乳胶方程式不会在Jekyll(kramdown引擎)中渲染

乳胶方程式不会在Jekyll(kramdown引擎)中渲染,jekyll,mathjax,kramdown,Jekyll,Mathjax,Kramdown,我正在使用Jekyll+kramdown来呈现我的博客。但我发现这个特殊的等式不可渲染,它要么出现在原始的latex代码中,要么只是空白,这取决于我在美元符号周围放置了多少空格。所有其他方程式都已绘制好 下面是我如何插入公式的: $$S_S \to (([tdh],)^{*} [tdh]&)^{?} [tdh]$$ 我需要配置kramdown的一些设置吗? 我已经在MathJax网站演示上尝试了这段代码,结果很好 谢谢 我想回答我自己的问题。在深入研究了MathJax和Kramdown

我正在使用Jekyll+kramdown来呈现我的博客。但我发现这个特殊的等式不可渲染,它要么出现在原始的latex代码中,要么只是空白,这取决于我在美元符号周围放置了多少空格。所有其他方程式都已绘制好

下面是我如何插入公式的:

$$S_S \to (([tdh],)^{*} [tdh]&)^{?} [tdh]$$
我需要配置kramdown的一些设置吗? 我已经在MathJax网站演示上尝试了这段代码,结果很好


谢谢

我想回答我自己的问题。在深入研究了MathJax和Kramdown的指导方针并做了一些实验之后,我发现了这个问题,它与Kramdown无关

问题是由符号和字符引起的:
&
。在LaTeX中,除非在特殊环境中,否则写一个符号和字符是有效的,并且它将被正确渲染。但是,正如在markdown博客中一样,源代码在数学渲染器之前由浏览器处理,因此
&
字符被误解,导致MathJax无法正确读取。在我的生活中,我主要使用LaTeX,所以我认为一个有效的LaTeX表达式也应该是一个有效的标记数学块,当我问这个问题时,忽略了特殊字符的问题。在线MathJax渲染器可以正确渲染裸
&
,这可能是因为浏览器没有首先处理输入的文本

解决方案是避开符号,即写入
\&
,对于双重保险,用空格将其包围,以便浏览器将其视为普通文本


类似的问题也会出现在html中具有特殊含义的其他字符上,如
。同样的解决方案也适用,即必须转义字符,或者如果无法转义,则以其他方式表示。

kramdown由此产生了什么,即html是什么样子的?代码库url是有用的。