gpt4 book ai didi

javascript - 如何在 KaTex 中对公式进行装箱?

转载 作者:太空宇宙 更新时间:2023-11-04 15:32:42 25 4
gpt4 key购买 nike

这个问题与 6 年前的 MathJax 问题类似; How to box a formula in MathJax?

如何使用 KaTex 实现 \boxed{...}

预期输出如下;

enter image description here

KaTex 代码显示 some amsmath translations in environments.js ,但它们只是从 amsmath 函数到现有 KaTex 表达式的 1:1 转换。

KaTex 似乎 utilize amsmath.sty但我不知道如何应用它。

最佳答案

我是 KaTeX 的开发人员之一。我们没有盒子。使用一些自定义 CSS 在整个方程周围添加框应该不会太难。例如,您可以采用 KaTeX web page并输入您的公式,c_i=\sum_jA_{ij} 。然后编辑该页面的 CSS(使用浏览器中的 Web 开发工具或您自己的此文件副本)以向类 .katex 添加另外两个样式。 :

.katex {
border: 0.0625em solid currentcolor;
padding: 0.5em;
}

Snapshot

现在公式已被装箱。使用em因为所有内容的长度单位都与 KaTeX 的其他 CSS 一致,这样做可以使公式作为一个整体缩放,无论周围文本的字体大小如何。如果您只想装箱一些公式,请将它们嵌套在一些 <div class="boxedmath"> 中并将该嵌套用作附加 CSS 选择器。

有一些选项可以很容易地将其他类添加到顶层 <span class="katex"> 。如果您认为这有用,请随时发布功能请求,甚至是带有您自己的实现的拉取请求。

拥有\boxed在数学模式下工作会更困难。您基本上会执行与上面类似的操作,但为盒装部分添加了一个新引入的类。您还需要一些代码来根据内框的外边距计算框的外边距,以便代码与 CSS 完全匹配。你应该计算出 LaTeX 使用的填充和线宽,以便 KaTeX 尽可能匹配。这就是 LaTeX 实现发挥作用的地方。相当可行,但有些工作。如果您认为有用,再次值得提出功能请求或拉取请求。

严格遵循amsmath.sty来做到这一点会更难。 KaTeX 仍然缺乏许多通常用于此目的的间距基元,特别是可拉伸(stretch)空间。我强烈建议使用面向 CSS 的实现。

为了正确支持所有用例,最好也找到适合盒子的 MathML 渲染。虽然 KaTeX 不使用 MathML 来显示数学,但为了屏幕阅读器和类似辅助技术的可访问性,它仍然包含 MathML。

关于javascript - 如何在 KaTex 中对公式进行装箱?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44667064/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com