基于mimeTex的数学公式WebService的部署和实现
通过Latex语法,实现生成数学公式的解决方案也很多。这里介绍一种方法,使用开源的mimeTex。该项目的官网地址如下:
http://www.forkosh.com/mimetex.html
网站主页有一个声明。如果你的服务器上已经安装了latex,那么推荐使用mathTex,因为mathTex基于真正的Latex,并且显示的图像质量高于mimeTex。但是mathTex只能在Linux环境部署,并且需要已安装了latex才行。而mimeTex则可以在Linux和Windows下都部署,并且不需要安装latex。
在Linux下的部署方式
首先,需要安装Apache等服务器,并且配置好cgi环境。不熟悉的点这里。
接下来,下载mimetex.zip下载地址如下: http://www.forkosh.com/mimetex.zip
下载完毕后,解压缩。
unzip mimetex.zip -d mimetex
然后编译
cc -DAA mimetex.c gifsave.c -lm -o mimetex.cgi
然后可以看到生成了一个mimietex.cgi文件
可以先测试一下这个文件,运行命令
./mimetex.cgi "x^2+y^2"
可以看到生成的点阵图。缩小了看可以隐约看到数学公式
说明生产的cgi文件很正常,把该cgi文件复制到Apache中设置的cgi-bin目录下,然后通过网址访问:
http://localhost:9000/cgi-bin/mimetex.cgi?x^2+y^2
可以看到图像
剩下的事情就是熟悉latex语法的问题了,关于语法可以从这里了解更多 http://www.forkosh.com/mimetexmanual.html
在Windows下的部署方式如下。
如果需要在Windows部署,根据官网的描述,可以通过Code Project中的项目eq2img实现,该项目地址http://www.codeproject.com/Articles/11406/Enable-Your-Users-to-Write-Math-Equations-in-Your
首先下载eq2img_all.zip,下载地址http://www.shitalshah.com/dev/eq2img_all.zip
该项目把基于unix下的c源码编译成了VC++的win32的dll,因此可以将该dll移植到.net环境中使用。(这个方式本人未做验证,但感觉比较复杂)。
事实上在Windows的IIS上实现CGI功能是更简单的方法,我们可以下载已经编译好的exe文件,在IIS中配置该文件作为CGI的运行程序。Windows下的exe文件的下载地址如下:
http://www.forkosh.com/mimetex.exe/Windows/mimetex.zip
下载后,解压缩,并且可以在控制台中验证该exe文件,输入命令行mimetex.exe "x^+y^2",同样可以看到点阵图,表面这个exe文件正确。
然后配置该文件处理作为cgi程序。
打开IIS7,在站点中,双击处理程序映射,点击添加脚本映射。如下图
确认之后,可以在处理程序映射列表中看到刚才的配置项
然后在IE中输入http://localhost/mimetex/.tex?x^2+y^2 (注意访问的后缀名是.tex)后,可以看到图像了。