这个问题类似于6岁的MathJax问题; How to box a formula in MathJax?
如何使用KaTex实现\boxed{...}
?
意图输出如下;
KaTex代码显示some amsmath translations in environments.js,但它们只是从amsmath函数到现有 KaTex表达式的1:1转换。
KaTex好像utilize amsmath.sty,但我不知道如何应用它。
答案 0 :(得分:1)
我是KaTeX的开发人员之一。我们没有盒子。使用一些自定义CSS,在整个等式周围添加框不应该太难。例如,您可以使用KaTeX web page并输入公式c_i=\sum_jA_{ij}
。然后编辑该页面的CSS(使用浏览器中的Web开发工具或您自己的文件副本),为类.katex
添加两个样式:
.katex {
border: 0.0625em solid currentcolor;
padding: 0.5em;
}
现在公式已装箱。使用em
作为一切长度的单位与KaTeX&#39;其他CSS,这样做使得公式可以作为一个整体进行扩展,无论周围文本的字体大小如何。如果您只想装入一些公式,请将它们嵌套在某些<div class="boxedmath">
中,并将该嵌套用作其他CSS选择器。
有一些选项可以将其他类添加到顶级<span class="katex">
,这相当容易。如果您认为这样有用,请随意发布功能请求,甚至发布带有您自己实现的请求。
让\boxed
在数学模式下工作会更难。你基本上做了类似上面的事情,但是对于盒装部分有一个新引入的类。您还需要一些代码来根据内部框的内边距来计算框的外边距,这样代码就能完全匹配CSS。你应该计算出LaTeX使用的填充和线宽,以便KaTeX尽可能地匹配它。这就是看LaTeX实现发挥作用的地方。相当可行,但有些工作。如果你觉得它有用,那么再次值得一个功能请求或拉取请求。
严格遵循amsmath.sty
这样做会更难。 KaTeX仍然缺少许多通常用于这种可伸缩空间的间距基元。我强烈建议使用面向CSS的实现。
为了适当地支持所有用例,最好还是为盒子找到合适的MathML渲染。虽然KaTeX没有使用MathML来显示数学,但为了屏幕阅读器和类似的辅助技术的可访问性,它仍然包含MathML。