Mediawiki 開發擴展

出自六年制學程
在2022年6月5日 (日) 14:15由丁志仁對話 | 貢獻所做的修訂版本

跳轉到: 導覽搜尋

texvc

  • 準備工作須先裝好以下軟件:
    1. ocaml
      • OCaml 下載:http://caml.inria.fr/pub/distrib/ocaml-3.11/ocaml-3.11.1.tar.gz
      • 下載後解壓,將整個目錄拷貝至/wiki/math/下,然後進入ocaml目錄編譯安裝:
        ./configure生成配置文件"Makefile", "m.h" and "s.h"
        make world(要等很久)
        make opt(要等很久)
        umask 022(這個很重要,讓make取得執行權,少這步不會成功)
        make install(現在才是安裝)
        make clean
      • 執行一下ocaml命令,能看到版本號就說明OK了。
    2. LaTeX and dvips
      • 有的Linux也有這個套件,不過我還是安裝了Tex Live 2008 ,免費的: http://www.tug.org/texlive/。按照提示安裝即可。
    3. imagemagick
  • 其他早期文件提到還要
    1. gs
    2. cjk-latex (now called latex-cjk-all)
    3. tetex-extra
    4. binutils (“/usr/bin/as” is needed by make job)
    5. gcc
  • cd 到 MediaWiki 安裝目錄下的 math/ 子目錄,執行 make 開始安裝 texvc。
  • 在 LocalSettings.php 中設置:
    $wgUseTeX = true;
    $wgEnableUploads = true;
  • chmod 777 images,apach就可以自動往image目錄裡放圖了

使用外部的 Mimetex

這種方法實質上是利用外部的 cgi 鏈接來幫我們生成公式圖片,比較靈活,我們可以使用自定義的標籤或者修改代碼來實現。

自定義標籤方法見:Extension:Mimetex alternative

修改代碼使 math 也能過濾到使用 mimetex 見:利用外鏈CGI為Mediawiki添加數學公式支援

第二種方法是修改 includes/Math.php 下的 renderMath 方法:

public static function renderMath( $tex, $params=array() ) {
#	global $wgUser;
#	$math = new MathRenderer( $tex, $params );
#	$math->setOutputMode( $wgUser->getOption('math'));
#	return $math->render();
	return "<img class='tex' src='http://www.forkosh.dreamhost.com/mathtex.cgi?".rawurlencode($tex)."' alt='LaTeX:".htmlspecialchars($tex)."'>";
}