背景:
以下是我在页面中包含MathJax库的方法:
<script src='https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.4/MathJax.js?config=TeX-MML-AM_CHTML' async></script>
问题:
MathJax字符串(我相信)将显示我想要的内容:
$$\sum_{s=1}^{1000} p_s \sum_{c=1}^{4} x_c$$
我可以使用的最接近的MathJax字符串(正确显示):
$$\sum_{s=1}^{1000} p_s \sum_c^{4} x_c$$
作为调试的一部分,我已将第二个求和简化为'x_c',但它仍然不起作用。这让我相信问题是由第二个求和索引定义引起的。当我尝试将'c = 1'位添加到第二个求和符号时,似乎MathJax将不再渲染等式。这种行为似乎很奇怪,因为第一次求和可以具有定义的索引(例如,'i = 1')。任何想法在这一点上受到赞赏。
正如@Peter_Krautzberger所指出的那样,Markdown解析器看起来已经将一些文本转换为斜体。这可能导致问题。
以下代码段用于验证问题不在MathJax中。
<script async src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML-full&latest"></script>
$$\sum_{s=1}^{1000} p_s \sum_{c=1}^{4} x_c$$
根据https://divadnojnarg.github.io/blog/mathjax/ MathJax \sum_
在markdown中无法正常工作,你必须使用\sum\_
。
Latex渲染错误与经典Latex表达式和在markdown文档中使用的语法存在一些差异。例如,\ sum_不会使用Hugo呈现,您应该使用\ sum_代替(注意下划线之前的第二个反斜杠)。
尝试逃避下划线。
或者:
$$\sum\_{s=1}^{1000} p\_s \sum\_{c=1}^{4} x\_c$$
要么
$$\sum\_{s=1}^{1000} p_s \sum\_{c=1}^{4} x_c$$
可以做到这一点。
还可能需要在文章中提到一些额外的配置:
<script type="text/javascript" async
src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
MathJax.Hub.Config({
tex2jax: {
inlineMath: [['$','$'], ['\\(','\\)']],
displayMath: [['$$','$$']],
processEscapes: true,
processEnvironments: true,
skipTags: ['script', 'noscript', 'style', 'textarea', 'pre'],
TeX: { equationNumbers: { autoNumber: "AMS" },
extensions: ["AMSmath.js", "AMSsymbols.js"] }
}
});
MathJax.Hub.Queue(function() {
// https://github.com/mojombo/jekyll/issues/199
var all = MathJax.Hub.getAllJax(), i;
for(i = 0; i < all.length; i += 1) {
all[i].SourceElement().parentNode.className += ' has-jax';
}
});
MathJax.Hub.Config({
// Autonumbering by mathjax
TeX: { equationNumbers: { autoNumber: "AMS" } }
});
</script>