|
Sunday, 19 November 2006 08:00 |
Mediawiki自带了一个Math.php用来显示数学公式,不过安装比较麻烦:
- 需要先安装ocaml和LaTex
- 然后进入math目录make,编译texvc
- 最后在LocalSettings.php文件里,把$wgUseTeX 设置为 true;
这里需要的ocaml和LaTex对于没有自己服务器的人来说都比较难安装。下面介绍我的方法,用mimetex来显示数学公式:
mimetex是一个CGI程序,根据tex语法来生成数学公式,他不需要像ocaml和Latex那样在服务器端安装。mimetex的设置这里就不罗嗦了,本文主要说的是mediawiki的修改。假设你已经有了mimetex.cgi程序,下面开始修改mediawiki:
- 首先进入include目录,备份math.php文件,
- 上传自己的math.php文件(下面会说怎么写)
- 修改mediawiki根目录下的Localsettings.php文件:
$wgUseTeX = true;
$wgMathPath = "MIMETEX URL";
- 上面的"MIMETEX URL"是你的mimetex的位置,比如本站的是http://www.bytea.net/cgi-bin/mimetex.cgi
下面说说math.php文件:
对于php4.x的同学,整个math.php文件是这样:
<?php function renderMath( $tex ){ global $wgMathPath; $url = htmlspecialchars( "$wgMathPath?$tex"); $alt = trim(str_replace("\n", ' ', htmlspecialchars( $tex ))); return "<img class='tex' src=\"$url\" alt=\"$alt\" />"; } ?>
对于php5.x的同学,整个math.php文件是这样:
<?php class MathRenderer { public static function renderMath( $tex ) { global $wgMathPath; $url = htmlspecialchars( "$wgMathPath?$tex"); $alt = trim(str_replace("\n", ' ', htmlspecialchars( $tex ))); return "<img class='tex' src=\"$url\" alt=\"$alt\" />"; } } ?>
好了,完成了,以后要在mediawiki中写公式,只要<math>公式</math>就可以了。
“公式”是tex格式的,当然除了公式,mimetex还可以显示很多其他的图案,大家可以参考mimetex的tutorial。
注意:本文仅供参考,我不为修改后造成的任何bug及其带来的损失负责。
当然如果有bug请留言或到bbs告诉我
|
1. 在下終於將 mimetex 的程式碼, 在 Winxp 下 comlipe 完成, 產生 mimetex.cgi
2. 在 WinXP下, 我使用 XAMPP 1.55(PHP5/MySQL5), 免安裝版來架站, 也順利安裝好mediawiki 1.82
3. 可是依照版主的說明, 含實際上有些出入, 所以http://localhost/mimetex.cgi?方式可以產生數學公式的 gif, 但是 mediawiki 內, 則無法正常顯示.
4. midiawiki/include 目錄下有 math.php, 但是在 mediawiki/mapth 目錄下則沒有 math.php?
5. 是完全取代原有的 math.php, 還是加入到 math.php 後面?