gpt4 book ai didi

ruby-on-rails - Mathjax 不渲染 latex 公式

转载 作者:行者123 更新时间:2023-12-02 01:46:37 25 4
gpt4 key购买 nike

在我的 Rails 应用程序中,我使用 mathjax (TEX-AMS_HTML) 来呈现 latex 公式。

在评论中输入公式时,我使用带有 TinyMCE 的 codecogs 公式编辑器。

我当前在 (TEX-AMS_HTML) 上的 mathjax 配置是:

        "HTML-CSS": {linebreaks: { automatic: true, width: "container" }},
displayAlign: "left",
extensions: ["tex2jax.js","MathMenu.js","MathZoom.js"],
jax: ["input/TeX","output/HTML-CSS"],
TeX: { extensions: ["AMSmath.js","AMSsymbols.js","noErrors.js","noUndefined.js"] },
tex2jax: { ignoreClass: "w1", processClass: "active|comments-content" }

我的问题是某些公式没有呈现出来,请考虑以下情况:

\[ foo\textup{bar} \]

这会呈现 foo \textup 栏。我还注意到一些符号以文本方式呈现,例如:

\[ \AE \SS \]

这将呈现 \AE\SS 而不是相应的符号。

我已经尝试切换到 SVG,调整内联/显示设置,但无法解决这个问题。

有人知道为什么会这样吗?

编辑:这是一个包含的例子

<!DOCTYPE HTML>
<html lang="en">
<head>
<title>Mathjax</title>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
"HTML-CSS": {linebreaks: { automatic: true, width: "container" }},
displayAlign: "left",
extensions: ["tex2jax.js","MathMenu.js","MathZoom.js"],
jax: ["input/TeX","output/HTML-CSS"],
TeX: { extensions: ["AMSmath.js","AMSsymbols.js","noErrors.js","noUndefined.js"] },
tex2jax: { ignoreClass: "w1", processClass: "active|comments-content" }
});
</script>
<script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML"></script>
</head>
<body>
<div id="wrapper">
<div id="main">
<div class="w1">
<div class="comments-content">
<p>\[foo\textup{bar}\AE\SS\]</p>
<p>\[K_{E}=\frac{1}{2}m(\frac{80}{3.6})^{2}\]</p>
</div>
</div>
</div>
</div>
</body>
</html>

呈现为:http://i.imgur.com/bUJXZPX.png

请注意,当 mathjax 正常工作并正确呈现第二行时,latex 的第一行没有转义。

EDIT2(22/06/2017):
“来自 future 的注意事项:cdn.mathjax.org 即将结束,请查看 mathjax.org/cdn-shutting-down 以获取迁移提示(并可能为 future 的读者更新您的答案)”- 感谢用户 Peter Krautzberger基本上,这意味着我的代码示例中使用的 cdn 需要替换为本地化版本的 mathjax。

最佳答案

\textup\AE\SS 不是默认 MathJax TeX 宏的一部分,也没有在您的内联配置,这就是图像中的渲染将它们标记为红色的原因。

如果从配置中删除 noundefinednoerrors 扩展,您将看到更具体的错误——它们也在 the combined configuration TeX-AMS_HTML 中。 ,所以你也需要放弃它;正如您从链接中看到的那样,您的内联配置需要所有 TeX-AMS_HTML。 (在生产中,最好使用组合配置文件,因为它们作为单个大文件加载。)

有关所有默认 MathJax 宏的列表,请参阅 http://docs.mathjax.org/en/latest/tex.html#supported-latex-commands .

有关如何在 MathJax 中定义宏,请参阅 https://tex.stackexchange.com/questions/139699/equivalent-of-mathup-for-upright-text-in-math-mode .从那里举个例子:

MathJax.Hub.Config({
TeX: {
Macros: {
RR: "{\\bf R}",
bold: ["{\\bf #1}",1]
}
}
});

即,将 Macros block 添加到配置中的 TeX block 。

(一个特殊情况是\textup,它是一个 LaTeX 文本模式宏,而 MathJax 专注于数学模式。取决于使用在这种情况下,数学等效项可能是 \text{}\mathrm{} 或其他内容,请参阅 this TeX.SE questions。当然,您可以定义 \textup 随心所欲,但将内容向后移植到真正的 TeX 时可能会遇到麻烦。

关于ruby-on-rails - Mathjax 不渲染 latex 公式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25320108/

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