目录
[隐藏]

现在要讲的还是和我前面一篇的文章同样的一个主题,就是wordpress输出数学公式。其实前面的一篇文章的那个插件是比较推荐的,但是那个插件输出的是只对于那个插件而言的,但是更一般的,网页上输出数学公式还是通过TeX标记来处理数学公式。就比如说wiki这样的网站。 :angel: :angel:

基于Wordpress的Latex公式插件有两款:

WP LaTeX http://wordpress.org/extend/plugins/wp-latex/
Latex for WordPess http://wordpress.org/extend/plugins/latex/

两者都支持 使用WordPress.com's LaTeX公共服务,也都支持自建 LaTeX服务.  但是 前者自建LaTeX服务,需要主机支持dvipng 和 texlive-latex-base(包含在tetex-math-extra).   后者可以从 http://www.forkosh.com/mimetex.html 下载源代码自行编译部署来自建LaTeX服务(MimeTex服务). 所以一般就选择后者:   Latex for WordPess.
Latex for WordPess 还有一个好处是, 它支持图片缓存, 可以减少对LaTeX服务的查询量. :hot:

功能

在文章内输入latex公式,将自动生成公式图片。图片的alt属性使得即使插件运行不正常(比如CGI服务器中断服务),也不会影响文章的可读性。

latex公式指左右各两个美元$符号所包含的部分。

下面是两个例子:

  1. 行内公式: alpha+betageqgamma,源代码alpha+betageqgamma,类似于Latex中的。
  2. 行间公式(独立一行,居中显示):left{begin{array}{ccc}x_1+x_2&leq&2x_1-x_2&leq&3end{array}源代码:

    left{begin{array}{ccc}x_1+x_2&leq&2x_1-x_2& leq&3end{array}

    在源代码前面添加!号即表示此公式为一个行间公式,独立一行显示,等价于Latex中的。

  3. 如何显示源代码:要想显示latex源代码,不替换成图片怎么办?在公式的最后添加一个!号,比如要想直接显示1+1neq2,使用源代码\(1+1neq2\)
  4. 要想显示2个$号怎么办?不好意思,现在还没有解决办法,请尽量避免这样做。你说你没事写2个$干吗呢。或者用$$这样的HTML字符写法。
  5. wiki百科上有一页专门介绍了LaTeX公式,非常方便http://zh.wikipedia.org/wiki/Help:数学公式

原理

  • 利用正则表达式查找文章中的数学公式。
  • 查找此公式对应的公式图片是否存在,如果不存在,向MimeTex服务器请求图片,并缓存它。
  • 将数学公式替换成相应图片。

安装

  • 下载插件后上传到WordPress的插件目录。
  • 到管理员后台激活插件。
  • 在wp-content下新建cache文件夹,并赋予777权限。

注意事项

建立你自己的MimeTex服务

由于公用的MimeTex服务关掉了,现在插件里填写的是我能找到的公用服务器,随时有可能失效。请尽量使用自己的服务。

建立方法:到MimeTex首页下载源代码,按照它所给方法编辑,将编译后的mimetex.cgi文件放到你想要的文件夹,比如根目录的cgi-bin下,然后你便可以通过http://yourdomain/cgi-bin/mimetex.cgi?访问你的mimetex服务了。修改你的mimetex-plugin.php的$mimetex_server变量:

<?php
// change it to your server
$mimetex_server = "http://zhiqiang.org/cgi-bin/mimetex.cgi"
?>

你甚至不需要编译它,它的首页上直接提供编译好的版本下载:WindowsLinux (i386)FreeBSD (i386)NetBSD (i386)Sparc/Solaris8Alpha/VMSVAX/VMS

修改公式的tag:

这个插件默认的公式是两边各两个美元符号(与平时写latex文档一致),如果你喜欢的话,你也可以改成别的,到mimetex-plugin.php,修改$regex变量的值

<?php
// change it to
// $regex = '#

tex

(.*?)

/tex

#si';

// if you want your formula stype in your post
$regex = '#(.*?)#si';
?>

图片式样

所有生成图片都拥有class="tex",你可以到你的css文件设置它的式样。

via:http://zhiqiang.org/blog/plugin/mimetex

同上文介绍的那款数学公式插件比起来,这款插件要小的多,但是显然没有那个用起来方便。。。哈哈,这里的MimeTex服务我就不建了。。。有兴趣的自己去建的玩玩吧。。。 :yum: :sarcastic: :depressing: