乳胶方程不会在 Jekyll 中呈现(kramdown 引擎)
An Latex Equation Would Not Render in Jekyll (kramdown engine)
我正在使用 Jekyll + kramdown 来呈现我的博客。但是我发现这个特定的方程式不可渲染,它要么出现在原始乳胶代码中,要么只是空白,这取决于我在美元符号周围放置了多少个空格。所有其他方程式都已得到很好的渲染。
下面是我如何插入等式:
$$S_S \to (([tdh],)^{*} [tdh]&)^{?} [tdh]$$
是不是kramdown的一些设置需要配置?
我已经在 MathJax 网站演示上尝试了这段代码,它呈现得很好。
谢谢!
我正在尝试回答我自己的问题。在深入研究了MathJax和Kramdown的指南后,做了一些实验,我发现了问题所在,而且与kramdown无关。
问题是由&符号引起的:&
。在 LaTeX 中,除了在特殊环境中,写一个 & 字符是有效的,并且它会被正确渲染。然而,在 markdown 博客中,源代码在数学渲染器之前由浏览器处理,因此 &
字符被误解,导致 MathJax 无法正确读取它。我在生活中主要使用 LaTeX,所以我认为有效的 LaTeX 表达式也应该是有效的降价数学块,并且在我问这个问题时忽略了问题特殊字符。在线 MathJax 渲染器可以正确渲染裸 &
,可能是因为浏览器没有首先处理输入的文本。
解决方法是把&符号转义,即写成\&
,为了双重保险,用空格包围,这样浏览器会把它当作普通文本。
其他在html中具有特殊含义的字符也会出现类似的问题,如<
和>
。同样的解决方案适用,字符必须被转义,或者如果不可能,则以其他方式表示。
我正在使用 Jekyll + kramdown 来呈现我的博客。但是我发现这个特定的方程式不可渲染,它要么出现在原始乳胶代码中,要么只是空白,这取决于我在美元符号周围放置了多少个空格。所有其他方程式都已得到很好的渲染。
下面是我如何插入等式:
$$S_S \to (([tdh],)^{*} [tdh]&)^{?} [tdh]$$
是不是kramdown的一些设置需要配置? 我已经在 MathJax 网站演示上尝试了这段代码,它呈现得很好。
谢谢!
我正在尝试回答我自己的问题。在深入研究了MathJax和Kramdown的指南后,做了一些实验,我发现了问题所在,而且与kramdown无关。
问题是由&符号引起的:&
。在 LaTeX 中,除了在特殊环境中,写一个 & 字符是有效的,并且它会被正确渲染。然而,在 markdown 博客中,源代码在数学渲染器之前由浏览器处理,因此 &
字符被误解,导致 MathJax 无法正确读取它。我在生活中主要使用 LaTeX,所以我认为有效的 LaTeX 表达式也应该是有效的降价数学块,并且在我问这个问题时忽略了问题特殊字符。在线 MathJax 渲染器可以正确渲染裸 &
,可能是因为浏览器没有首先处理输入的文本。
解决方法是把&符号转义,即写成\&
,为了双重保险,用空格包围,这样浏览器会把它当作普通文本。
其他在html中具有特殊含义的字符也会出现类似的问题,如<
和>
。同样的解决方案适用,字符必须被转义,或者如果不可能,则以其他方式表示。