我发现在我的git页面中没有使用带有Jekyll的MathJax渲染一些乳胶语法。
例如,在this帖子中
这一行:$ z = \ overbrace {\ underbrace {x} \ text {real} + \ underbrace {iy} \ text {imaginary}} ^ \ text {complex number} $
应该是这样的
其他一些乳胶语法效果很好,比如this
我应该添加什么来解决这个问题?我猜MathJax没有加载所需的库(例如在上面的例子中是\ usepackage {amsmath})。
该页面的代码是here。
以下代码显示了我对matjax的配置。
<script type="text/x-mathjax-config"> MathJax.Hub.Config({ TeX: { equationNumbers: { autoNumber: "all" } } }); </script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
tex2jax: {
inlineMath: [ ['$','$'], ["\\(","\\)"] ],
processEscapes: true
}
});
</script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script>
请注意,在Jekyll的Markdown语法中,下划线用于表示斜体文本,因此Jekyll在<em>
周围插入\text{real} +\underbrace{iy}
标记,其中下划线(注意输出中缺少下划线并且文本以斜体显示)。 MathJax无法处理包含HTML标记的数学,因此会跳过此数学公式。
您需要确保Markdown不会干扰您的TeX表示法。这可以通过几种方式完成。您可以使用\_
而不是_
来防止下划线被解释为斜体。或者,您可以使用围绕内联数学的<span>...</span>
和围绕显示数学的<div>...</div>
,如here建议的那样。
只是预感但是看看你问题中发布的代码,我认为将所有MathJax相关内容保存在<script>
标签中可能会更好。我这样写是因为我还没有发现需要在<span>
中包装任何内容。
这是我的_includes/mathjax.html
文件看起来像是从docs拼凑两个块...
<script type="text/javascript" async
src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
MathJax.Hub.Config({
tex2jax: {
inlineMath: [['$','$'], ['\\(','\\)']],
processEscapes: true
}
});
</script>
......这就是我把它包括在内的方式......
---
layout: post
title: Some of Thing
---
{%- include mathjax.html -%}
Notes about $ \sum_{Thing} $
注意配置是如何在
<script>
标签内进行采购(src
="<url-or-path>"
),
为了完整性,post source与rendered post一起使用,它使用$$
方式在源的前30行中进行多行格式化,然后$
以第一个code
格式化块(在注释中)之后的行事方式)渲染版本。
并且(对于我认为的奖励积分),我认为纠正的代码可能看起来像问题。
<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript">
MathJax.Hub.Config({ TeX: { equationNumbers: { autoNumber: "all" } } });
MathJax.Hub.Config({
tex2jax: {
inlineMath: [ ['$','$'], ["\\(","\\)"] ],
processEscapes: true
}
});
</script>
另一个值得注意的事情,我发现我的测试是\(
... \sum_{Thing}
... \)
,内联语法没有触发任何预解析器Jekyll用于向这些东西添加html标签;换句话说,在为MathJax的$
ing添加任何配置之前,我不得不使用\sum_{Thing}
... $
... src
语法。
对于那些已经达到这个目标但希望因某种原因减少CDN使用量的人,你可能会对我发布的使用MathJax和Jekyll玩得很好的other answer感兴趣。