MediaWikiで数式を表示させるためにMathプラグインを導入する方法についてのメモです。
わりと大変でした。
Mathプラグインのインストール
https://www.mediawiki.org/wiki/Extension:Math の指示にあるようにtarボールをダウンロードしてwikiのフォルダにあるextensionsのなかに解凍します。
これは簡単です。
Mathoidのインストール
Mathプラグインだけでは数式を描画できるわけではないようで、別途数式を描画するためのソフトが必要になります。
代表的なものはTeXでしょうが、どうも今はMathoidというものが推奨されているようなので、これをインストールします。
Mathoidはサーバーとして動作し、MediaWikiのほうからはcurlでアクセスして情報を取得するようです。
Mathoidはnode.jsで動くものなので、node.jsがない場合はインストールしておきます。
Mathoidのインストール作業は次の通り:
$ mkdir methoid-server
$ cd methoid-server
$ npm install methoid
$ cd node_modules/mathoid
$ cp config.dev.yaml config.yaml
$ vim config.yaml #設定を編集。
設定の編集に関してはコメントによればよいでしょうが、一箇所
module: ./app.js
という行に関してはどうもこれでは一階層上を参照してしまうらしく、
module: ./mathoid/app.js
と修正する必要があります。
あとは
$ ./server.js
でmathoidのサーバーが起動します。
$ curl -d 'q=E=mc^2' http://localhost:10044
でそれらしい結果が返ってきていれば成功です。
永続的に起動しておくために公式サイトではscreenを使った方法が紹介されていますが、折角node.jsを使っているので、foreverを使えばよいのではないでしょうか:
$ npm install -g forever
$ forever start ./server.js
LocalSettings.phpの編集
MediaWikiのLocalSettings.phpの末尾に次のように追記します:
wfLoadExtension( 'Math' );
$wgMathValidModes[] = 'mathml';
$wgDefaultUserOptions['math'] = 'mathml';
$wgMathFullRestbaseURL = 'https://api.formulasearchengine.com/';
$wgMathMathMLUrl = 'http://localhost:10044/'; # IP of Mathoid server
その他
基本的には以上なのですが、私の環境では500エラーが出て動きませんでした。エラーの原因はphp5からcurlを使うための拡張がインストールされていなかったことで、
$ sudo apt-get install php5-curl
で入れるとエラーが出ずに動くようになりました(環境はdebianです)。