Help us understand the problem. What is going on with this article?

MediaWikiで数式を表示させるプラグインを導入する

More than 3 years have passed since last update.

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の末尾に次のように追記します:

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です)。

suzusime
巫女みならいです。
https://xn--kst.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away