最近在学习研究一些算法,遇到很多数学公式。想到以前要在博客上写数学公式的时候,总是要在本地生成一张复杂公式的图片,再在博客上引用图片,这种方式显然满足不了「程序员」。遂折腾了一番。
下面推荐两种比较常用的方法。
使用Google的绘图服务
Google Chart API 是一个非常强大的工具,通过 API 接口,会动态生成一张 png 图片,当然也支持 LaTex 语言。
API 调用方式如下
http://chart.apis.google.com/chart?cht=tx&chl=E=mc^2
其中参数cht
表示图表类型, tx
表示图表类型为tex语言,chl
表示图表标注,E=mc^2
就是质能守恒方程的 LaTex 语句。在 markdown 中就可以通过引用图片的方式加入进来。
<img src="http://chart.apis.google.com/chart?cht=tx&chl=E=mc^2" />
或者
![](http://chart.apis.google.com/chart?cht=tx&chl=E=mc^2)
就能看到这样的图片效果:
但是第二种方法在某些情况下不太实用。例如在需要显示 $\frac{t^2}{\int(x+y)dxdy}$ 时,公式内容为\frac{t^2}{\int(x+y)dxdy}
,由于公式中带有)
,会提前闭包,所以公式会显示不全。在这种情况下,只能使用第一种调用方式。
使用MathJax库
MathJax 是一套开源 JavaScript 库,它并不是将公式转化为一个图片,而是在浏览器端通过位置控制、字体、大小来显示一个公式。已经支持 LaTeX、MathML、和 AsciiMath 数学公式。无需过多的设置、无需浏览器插件、无需安装字体。听起来好屌…
那么如何使用呢?
可以在官网上下载所需的 js 库,大约17M,解压后大约有130M(我了个去!)。我整个博客也就1M,这显然不太适用。
所以,MathJax 提供了另一种方式,直接使用他们的 CDN,这样就不用上传下载了。
对于 hexo 用户,可以修改themes/jacman/layout/_partial/after_footer.ejs
文件(不同主题的用户,文件位置可能不一样),在文件末尾添加下面的代码:
<script type="text/x-mathjax-config"> |
现在,就可以在 markdown 中随意调用 LaTex 公式了。
$ 表示行内公式:
质能守恒方程可以用一个很简洁的方程式 $E=mc^2$
来表达:$E=mc^2$ 。
$$ 表示整行公式:
$$\sum_{i=1}^n a_i=0$$
$$\sum^{j-1}_{k=0}{\widehat{\gamma}_{kj} z_k}$$
$$\sum_{i=1}^n a_i=0$$
$$f(x_1,x_x,\ldots,x_n) = x_1^2 + x_2^2 + \cdots + x_n^2 $$
更多使用方法请访问 MathJax 。
参考文献
- 如何在博客上手写复杂数学公式?
- LaTeX 在线编辑工具eqneditor。
- 简单的入门教程《LaTex 参考》。
- 数学函数参考手册《常用数学符号的 LaTeX 表示方法》。
PS:有任何关于 Hexo 的问题,欢迎来 Hexo 中文社区 咨询。