0

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

这是我插入方程式的方法:

$$S_S \to (([tdh],)^{*} [tdh]&)^{?} [tdh]$$

我需要配置 kramdown 的一些设置吗?我已经在 MathJax 网站演示中尝试过这段代码,并且渲染得很好。

谢谢!

4

1 回答 1

0

我试图回答我自己的问题。在深入研究了 MathJax 和 Kramdown 的指导方针,并做了一些实验后,我发现了问题所在,并且与 kramdown 无关。

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

解决方案是转义与符号,即 write \&,并且为了双重保险,将其用空格包围,以便浏览器将其视为普通文本。

其他在 html 中具有特殊含义的字符也会出现类似的问题,例如<>. 同样的解决方案也适用,即字符必须被转义,或者如果不可能,则以其他方式表达。

于 2016-02-26T06:58:03.130 回答