CatCoding

Jekyll 使用 MathJax 来显示数学式

2013-03-03

使用 Jekyll 写作文章的时候有可能需要内嵌一些数学公式,MathJax就是用来干这个的,试用了一下感觉非常方便。步骤如下:

  • 修改 html 头部。

    在每个页面开头加上这么一句,在 Jekyll 下可以通过修改 default.html 加上。

<script type="text/javascript"
 src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
</script>
  • 本地安装 kramdown。

    因为 rdiscount 和默认的 markdown 在解析带公式文件的时候都会出现一些问题,所以最简单办法还是安装 kramdown。
    $ gem install kramdown

  • 修改_config.yml,把 markdown 选项修改为:

    markdown: kramdown


然后在发布的时候就可以使用$$来把需要显示的数学式子扩起来。像这样:

$$a^2 + b^2 = c^2$$

发布出来就是漂亮的公式了。

$$a^2 + b^2 = c^2$$

$$x^my + a^2 + b^2 = c^2$$

$$x_\mu$$

一些更酷的例子:

$$ J_\alpha(x) = \sum\limits_{m=0}^\infty \frac{(-1)^m}{m! \, \Gamma(m + \alpha + 1)}{\left({\frac{x}{2}}\right)}^{2 m + \alpha} $$

$$ \frac{1}{\Bigl(\sqrt{\phi \sqrt{5}}-\phi\Bigr) e^{\frac25 \pi}} =
1+\frac{e^{-2\pi}} {1+\frac{e^{-4\pi}} {1+\frac{e^{-6\pi}}
{1+\frac{e^{-8\pi}} {1+\ldots} } } } $$

$$ \left( \sum_{k=1}^n a_k b_k \right)^2 \leq \left( \sum_{k=1}^n a_k^2 \right) \left( \sum_{k=1}^n b_k^2 \right)$$

$$
\begin{aligned}
\nabla \times \vec{\mathbf{B}} -\, \frac1c\, \frac{\partial\vec{\mathbf{E}}}{\partial t} = \frac{4\pi}{c}\vec{\mathbf{j}} \ \nabla \cdot \vec{\mathbf{E}} = 4 \pi \rho \
\nabla \times \vec{\mathbf{E}}\, +\, \frac1c\, \frac{\partial\vec{\mathbf{B}}}{\partial t} = \vec{\mathbf{0}} \
\nabla \cdot \vec{\mathbf{B}} = 0 \end{aligned}
$$

不过我可能永远用不到这么复杂的表达式 :).

另外今天找了一个markdown-mode.el,在 Emacs 下编辑 Markdown 文件又方便了不少。
Mac 下的 Markdown 编辑器Mou也是非常不错的。

公号同步更新,欢迎关注👻
Tags: Jekyll