Categories

Calendar

October 2017
M T W T F S S
« Jun    
 1
2345678
9101112131415
16171819202122
23242526272829
3031  

Display Equation with MathJaX

之前一直用一个 LaTeX 的 WordPress 插件来显示公式,插件的工作原理很简单,把公式用 LaTeX 编译为 dvi ,然后用 dvi2png 之类的工具转换为图片,最后根据公式的文本内容算出一个 Hash 值,作为图片的文件名,缓存起来,下次遇到需要显示同样的公式的时候,如果文件已经存在的话,就不重新生成一遍了。

不过最近换成了用 MathJaX 来显示公式。这个东西易用性实在是非常好,安装配置基本上没有什么可说的,几乎是解压一下,然后把一条引用它脚本的语句加到 WordPress 的页面显示模版就可以了。和之前我使用的方式不同的是,这是一个 Javascript 插件,主要工作都在客户端完成,因此服务端基本上不需要做什么配置,所以不只是 WordPress ,配合几乎任何 web application 都是很简单的。

当然,由此也带来另外的问题:比如,如果不支持或者关闭了 Javascript 的浏览器,就不能显示公式了。不过我想这个问题应该不是很大,因为看不到公式的情况下会显示出 LaTeX 代码,使用这么原始的浏览器的人看个 LaTeX 代码格式的公式应该不成什么问题。不过还有一个情况就是通过 Google Reader 等方式来看文章的时候,也是看不到公式的了。我后来想了想,觉得应该也不是太大的问题,因为通常在 Google Reader 里都没有太多的耐心看一堆公式什么的,若是真的觉得有趣,通常会点过来看或者把网址记下来有时间的时候再仔细看,也就没有问题了。

当然另外一个促使我切换的原因是原来的插件写个公式太繁琐,inline 的公式要用 [ tex ] 这样的标签包起来,单行的公式则更麻烦了,虽然应该也是可以 hack 的,但是既然 MathJaX 提供了现成的解决方案,干嘛不用呢?现在只要像在写 LaTeX 文档那样用美元号就可以写 inline equation 了。另外 MathJaX 渲染出来的公式并不是整个是一个图片,而是文字的形式,这一点让人更加亲切一些,也和周围的文本结合得更紧密一些,不过也因此导致在不同的平台下面结果看上去可能就有些差别。比如我就觉得在 Windows 下的 Firefox 里看起来比较难看,不过在本地装了 STIX 字体之后,似乎好了不少。于是顺便再 8g 一句 STIX 吧,这个是一个野心勃勃的字体项目,目的是为了打造优良和完整的数学字体,当然,除了优良和完整之外,另一个重要的特性就是开放,嗯总之作为亲近 Open Source Community 的人来说,是很有亲和力的。最近(今年 5 月底)刚刚发布了可用的 1.0 版。

啊,总之呢,于是决定以后与时俱进用 MathJax 了,毕竟它的 Logo 也做得很 pp 啊! :p

7 comments to Display Equation with MathJaX

Leave a Reply

 

 

 

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>