【问题标题】:An Latex Equation Would Not Render in Jekyll (kramdown engine)乳胶方程不会在 Jekyll(kramdown 引擎)中呈现
【发布时间】:2016-02-24 20:21:39
【问题描述】:

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

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

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

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

谢谢!

【问题讨论】:

  • kramdown 从中产生了什么,即 html 是什么样的?
  • 一个代码库 url 很有用。

标签: jekyll mathjax kramdown


【解决方案1】:

我正在尝试回答我自己的问题。钻研了MathJax和Kramdown的指导方针,做了一些实验,发现问题所在,和kramdown无关。

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

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

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

【讨论】:

    猜你喜欢
    • 2015-08-29
    • 2015-07-30
    • 2016-02-03
    • 2018-12-03
    • 2019-10-07
    • 2010-11-29
    • 1970-01-01
    • 1970-01-01
    • 2021-07-05
    相关资源
    最近更新 更多