版权声明: 本文由 一只博客 发表于 bloghome博客

文章链接: https://www.bloghome.com.cn/user/cnn237111

通过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"

可以看到生成的点阵图。缩小了看可以隐约看到数学公式

基于mimeTex的数学公式Webservice的部署和实现_linux

说明生产的cgi文件很正常,把该cgi文件复制到Apache中设置的cgi-bin目录下,然后通过网址访问:

http://localhost:9000/cgi-bin/mimetex.cgi?x^2+y^2

可以看到图像

基于mimeTex的数学公式Webservice的部署和实现_数学公式_02

剩下的事情就是熟悉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,在站点中,双击处理程序映射,点击添加脚本映射。如下图

基于mimeTex的数学公式Webservice的部署和实现_数学公式_03

确认之后,可以在处理程序映射列表中看到刚才的配置项

基于mimeTex的数学公式Webservice的部署和实现_数学公式_04

然后在IE中输入http://localhost/mimetex/.tex?x^2+y^2 (注意访问的后缀名是.tex)后,可以看到图像了。

基于mimeTex的数学公式Webservice的部署和实现_linux_05