将displayMath分隔符重新定义为$$…$$对于MathJax,使用Jekyll和Github页面不起作用

将displayMath分隔符重新定义为$$…$$对于MathJax,使用Jekyll和Github页面不起作用,jekyll,github-pages,mathjax,Jekyll,Github Pages,Mathjax,我设法设置了jekyll来提供页面服务,使用kramdown作为标记处理器,使用MathJax来显示latex方程 一切正常,因此我继续尝试将MathJax使用的默认分隔符更改为使用$$用于内联和$$$$用于显示模式 为此,我按照相关文档上的说明进行操作,因此现在我的.md文件包含以下内容: <script type="text/x-mathjax-config"> MathJax.Hub.Config({ extensions: ["tex2jax.js"],

我设法设置了
jekyll
来提供页面服务,使用
kramdown
作为标记处理器,使用
MathJax
来显示latex方程

一切正常,因此我继续尝试将MathJax使用的默认分隔符更改为使用
$$用于内联和
$$$$用于显示模式

为此,我按照相关文档上的说明进行操作,因此现在我的
.md
文件包含以下内容:

<script type="text/x-mathjax-config">
  MathJax.Hub.Config({
    extensions: ["tex2jax.js"],
    jax: ["input/TeX", "output/HTML-CSS"],
    tex2jax: {
      inlineMath: [ ['$','$'], ["\\(","\\)"] ],
      displayMath: [ ['$$','$$'], ["\\[","\\]"] ],
      processEscapes: true
    },
    "HTML-CSS": { availableFonts: ["TeX"] }
  });
</script>
<script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script>


# Stuff
Correct inline text: $2+\frac{1}{2}$ other text.

Should have been in display mode: $$2+\frac{1}{2}$$ other text.

End

MathJax.Hub.Config({
扩展:[“tex2jax.js”],
jax:[“输入/文本”,“输出/HTML-CSS”],
tex2jax:{
inlineMath:[['$','$'],[“\\(“,“\\)”],
displayMath:[['$','$$'],[“\\[”,“\\]”],
processEscapes:正确
},
“HTML-CSS”:{availableFonts:[“TeX”]}
});
#东西
正确的内联文本:$2+\frac{1}{2}$其他文本。
应处于显示模式:$$2+\frac{1}{2}$$其他文本。
终点
虽然内联分隔符现在已正确设置为
$$,双美元不生成显示模式,如您在上面生成的页面中所见:


我错过了什么?

编辑:似乎这种行为实际上不是由MathJax造成的,而是由kramdown造成的,请参见(感谢提供的信息)


答案很简单,但我没有在相关的文档页面中找到明确的解释。 与常规latex不同,MathJax仅在数学块上方和下方有空行的情况下在显示模式下解析数学:

# Stuff
Correct inline text: $$\sum_{k=1}^2 a_k$$ other text.

Should have been in display mode: 

$$\sum_{k=1}^2 a_k$$

other text.
正确产生:


这是不正确的。早在MathJax发现之前,kramdown解析器就是导致这种行为的原因。@PeterKrautzberger感谢您的评论。你知道有什么办法可以避免吗?我假设它是MathJax,因为它似乎受到提供给它的选项的影响(尽管我知道它不是),我认为没有办法。看见请注意,稍后可能会选择其他分隔符,但TeX将不会与markdown解析器很好地隔离。请注意,从未来来看:cdn.mathjax.org的生命即将结束,请查看迁移提示。