在我的Rails应用程序中,我使用MathJax(TEX-AMS_HTML)来呈现Latex公式。
在评论中输入公式时,我使用Codecogs方程编辑器与TinyMCE。
我的当前MathJax配置在(TEX-AMS_HTML)的基础上是:
"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 bar渲染出来。我还注意到一些符号以文本方式呈现,例如:
\[ \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的第一行未被转义。
编辑2(2017年6月22日):
“来自未来的注释:cdn.mathjax.org接近生命周期的结束,请检查mathjax.org/cdn-shutting-down以获取迁移提示(也许需要为未来的读者更新答案)”-感谢用户Peter Krautzberger。
基本上这意味着在我的代码示例中使用的cdn需要替换为本地化的Mathjax版本。
inlineMath: [["\[","\]"]
- gab06inlineMath
中使用各种参数。试试看吧 :) 使用它作为inlineMath: [["\\[","\\]"]
。 - gab06