【编程】几种网页中显示数学公式的方法

网站终于又龟速更新了,这段时间应该被很多访客强烈地鄙视了吧,Pavel实在是很抱歉!个中原因太多了,不想解释了,罗里啰嗦像个老太太。但是心里其实也挺高兴的,毕竟有这么多朋友在关注着我,感谢你们的的不抛弃、不放弃!

毕业设计差不多做完了,要求实现一个数学教学类的网站,要求必须具备的一个功能是可以通过网页显示数学公式,当时琢磨了老半天,最终整理出了以下三条比较有效的方法,在这里一一给大家列出来,希望会对一些同样需要实现该功能的童鞋有所帮助!

1.利用PHP自带的COM组件来实现。

由于网站是用PHP做的,所以就只介绍用PHP来实现的方法。这个方法的原理很简单,就是先上传排版好的数学文章(包含数学公式,都知道word的公式编辑器还是很好用的),然后利用PHP自带的COM组件调用Microsoft Word 的应用程序(word.application)将word文档转化为Html文档,最后在网页中调用该Html文档。具体操作是先将word文档上传到目标位置(上传的文件代码略),然后再实例化一个对象:

$word = new COM(“word.application”) or die(“启动Word失败!请检查您是否正确安装!”);

然后设置一下已经上传了的word文档的路径,我这儿设置的是:

$path=$_SERVER[‘DOCUMENT_ROOT’].”/ Mysite/ upload/word/(word的文件名,不要忘了扩展名)”;

然后打开该文件:

$word->Documents->Open($path ,False, True);

接着“另存为”:

$word->Documents[1]->SaveAs($path.”/Mysite/jpkc_admin/upload/word/(转化成的Html文档名称,扩展名为.html)”,8);

OK了,退出word:

$word->Quit();
$word->Release();

这样你网站的指定目录下就会产生一个Html文档和一个相应的文件夹,最好将该文档的url地址存到数据库或变量中中,方便在前台调用。

这样就间接的实现了网页显示数学公式功能了,其实可以按照这个思路实现更多的功能,如转化PPT文档为Html格式等,可以发挥你自己的想象力。缺点是在进行文档转化过程中会给服务器带来一定压力,因此不宜转化较大的文档,否则可能会因为响应时间过长导致服务器中断请求。

2.使用NicTeX网络公式编辑器

NicTeX可在线对数学方程式进行可视化编辑。编辑后有三种输出方式,一是将数学公式生成图片,放在网站服务器上,然后在网页中嵌入该公式图片;二是直接生成静态网页,当访客打开含有数学公式的静态网页时,通过激发服务器上的CGI将数学公式生成图片输出;三是将编辑好的数学公式的TeX/LaTeX指令与网页一起存于数据库中,在访客打开PHP页面时自动生成图片并输出网页。

对于初学者而言不需要精通TeX/LaTeX语法,只需将nictex.exe放在服务端的cgi-bin目录下,并打开此目录的执行权限,即可测试。如在浏览器地址栏输入:

http://127.0.0.1/cgi-bin/nictex.exe?\ large y=ax^2+bx+c

就可显示对应公式,效果如下:

Pavel目前也属于初学者(汗~~),更多的具体的功能和用法还在探索中,有了结果会跟大家分享的。这种方式最大的优点是直观易用、所见即所得,熟练之后对于编写公式是很方便的,缺点是执行nictex.exe需要一定的权限,而且需要先了解简单的TeX/LaTeX语法,如:y=ax^2+bx+c这种形式。

NicTeX下载地址(点击下载)

3.使用可以集成到FCKEditor中的数学公式编辑器插件

插件作者为admans,严格来说该工具为网页公式编辑器,但Pavel发现还是将其嵌入到FCKEditor中更好用一些,并且许多网站都是以FCKEditor为文本编辑器的,无论从功能需求还是使用方式都是很让人满意的。

使用方法如下:

1)进入FCKeditor编辑器目录下的editor/plugins目录,将插件文件复制到该目录下;

2)在Fckeditor的目录下找到“fckconfig.js”,这是fckeditor的设置文件。找到

FCKConfig.PluginsPath = FCKConfig.BasePath + ‘plugins/’

添加如下代码:

FCKConfig.Plugins.Add(‘mathformula’);

然后在“FCKConfig.ToolbarSets[“Default”]=..”中的”[]”中随便添加’mathformula’ (注意包含引号)。如:

‘Bold’,’Italic’,’Underline’,’StrikeThrough’,’-‘,’Subscript’,’Superscript’,’mathformula’]

OK…!配置完成了;

3)在要显示公式的页面加载js/formulae.js文件,结束安装工作。

该插件的最大缺点是,无论是网站管理员还是访客都需要安装客户端程序(MathPlayerSetup.exe,在下边的压缩包中提供了该程序)才能正常查看公式。

使用效果如下:

编辑器插件下载地址(点击下载)

以上三种方式个人还是比较倾向第一种,不需要借助任何工具(word除外),并且还省去了公式排版的时间。

先写这么多吧,不知道有没有介绍详尽,有不明白的或发现什么问题都可以给我留言^_^