hexo中如何支持公式 mathjax

mathjax

Beautiful math in all browsers
A JavaScript display engine for mathematics that works in all browsers.
—— 来自www.mathjax.org

MathJax是一款运行在浏览器中的开源的数学符号渲染引擎,使用MathJax可以方便的在浏览器中显示数学公式,不需要使用图片。目前,MathJax可以解析Latex、MathML和ASCIIMathML的标记语言。 MathJax项目于2009年开始,发起人有American Mathematical Society, Design Science等,还有众多的支持者。

  • 无损缩放,支持多种方式的公式渲染(math-render)。(不采用图片、Flash)
    • CSS引擎:采用CSS生成数学公式
    • SVG引擎:采用SVG生成数学公式
    • MathML引擎
  • 源码拷贝。可以拷贝LaTeX、wiki等;
  • 输入形式可以是MathML、TeX或者ASCIImath

mathjax 如何工作的

mathjax就是个前端渲染引擎

或者拷贝以上代码,保存为math.html,双击打开就能看到渲染好的公式。

hexo中使用mathjax

同样很简单,仅需两步。

  1. 加载mathjax的cdn
  2. 博客中按照tex语法写公式即可

示例

markdown中书写:

1
$$x = {-b \pm \sqrt{b^2-4ac} \over 2a}.$$

会被自动渲染成以下公式:

\[x = {-b \pm \sqrt{b^2-4ac} \over 2a}.\]

hexo-theme-next中使用mathjax

NexT 提供两种数学公式渲染引擎,分别为 MathJaxKatex,默认为 MathJax。

如果你选择使用 MathJax 进行数学公式渲染,你需要使用 hexo-renderer-pandoc 或者 hexo-renderer-kramed 这两个渲染器的其中一个。

hexo-math插件

不推荐,竟然还支持math 的标签,我觉得多此一举。

疑问

雷军
`theme-next`为什么要限定markdown引擎?不应该和markdown引擎无关吗?
雷军
...

常用的公式