2011年3月27日投稿.
xpWiki は私のホームページも動かしているオープンソースのコンテンツマネージメントシステム (CMS) Xoops Cube Legacy 用の pukiwiki モジュールです。その中で TeX を用いた数式を表示するために、これまでは mathTeX を用いていました。しかしよりきれいな数式が表示できること、基本的に TeX の書式がそのまま使えることなどのメリットを考えて MathJax を導入することにしました。
2017年4月17日追記:
MathJax の Content Distribution Network がこの4月末で閉鎖になるのを機に,CDN を使う方式に書き換えました.私のサーバー上の MathJax を呼び出すよりもこの方が表示が速いように思います.
xpWiki 用のプラグインの導入
MathJax の pukiwiki 用プラグインはないようですので、MathJax の前身である jsMath 用のプラグインを転用します。
- こちらに行って gontha さんの jsMath プラグインのソースコードをコピー、適当なエディターで
jsmath.inc.php
として保存します。
- jsmath.inc.php の変更
- 1行目にコメントが入っているとプラグインを xpWiki 用に変換できないそうです。そこで1行目を次のように改行:
<?php // -*- php -*- $Id: jsmath.inc.php,v 1.0 $
- 5行目に来る define( 以下の path-to-jsMath のところ
define("JSMATH_PATH", "path-to-jsMath");
を次のように新しい MathJax の CDN ホストに書き換えます.
define("JSMATH_PATH", "https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/");
- さらに10行目に来る $jspath= 以下
$jspath = 'http://'%20.%20JSMATH_PATH%20.%20'easy/load.js';
の最初の三角括弧の中身を次のように変更。
$jspath = 'http://'%20.%20JSMATH_PATH%20.%20'MathJax.js?config=TeX-MML-AM_CHTML';
ファイルを保存して閉じます.
- 1行目にコメントが入っているとプラグインを xpWiki 用に変換できないそうです。そこで1行目を次のように改行:
- Xoops Cube の「管理者メニュー」から「xpwiki」の「プラグイン変換ツール」を選びます.「Convert a plugin from PukiWiki 1.4 to xpWiki」で先の jsmath.inc.php を選択し,「Do convert & Download!」をクリックすれば,変換された xpwiki 用プラグインファイルがダウンロードされます.
- それを適当なエディタで開きます.11行目の $jspath= 以下が
$jspath = 'http://'%20.%20$this-cont%5B'JSMATH_PATH'%5D%20.%20'XpWikiMathJax.js?config=TeX-MML-AM_CHTML';
と変換されてしまうので,XpWikiMathJax.js を MathJax.js に戻します.
$jspath = 'http://'%20.%20$this-cont%5B'JSMATH_PATH'%5D%20.%20'MathJax.js?config=TeX-MML-AM_CHTML';
- ファイルを保存して閉じ,それを xoops_trust_path/modules/xpwiki/plugin/ に移動す れば,プラグイン導入完了です.
使い方
jsMath プラグインのようにページのどこかに
#jsmath
と入力すれば数式が表示されます.MathJax のデフォルトでインライン数式用のデリミターは \( \) です.