Apache2 が動いているローカルの仮想マシンに LaTeX と mathTeX をインストールしてみます。
LaTeX のインストール
まず、「ローカルの仮想マシンにTeX Live (LaTeX) をインストール (1)」を参考にしながら LaTeX を入れます。多少条件を変えました。
適当なディレクトリで、
wget http://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz
tar zxvf install-tl-unx.tar.gz
./install-tl -portable
で TeX Live のインストーラを USB などで持ち歩くためのモードで起動します。
メインメニューで、
<S> installation scheme
から、詳細メニュー Select scheme: で
a [ ] basic scheme (plain and LaTeX)
を選択します。メインメニューに戻って、
<C> standard collections
の詳細メニュー Select collections: では
a [X] Essential programs and files
o [X] Basic LaTeX packages
の二つが [X] で選択状態なので、 dvipng が含まれる c を追加します。
c [X] TeX auxiliary programs
メインメニューに戻り、
<D> directories:
詳細メニュー Directories setup: の
<1> TEXDIR: /usr/local/texlive
以下を書き換えます。<1> を入力すると、<2>~<4> は自動的に書き換わります。<5>~<7>は -portable ではパス指定がないので、デフォルトのままです。仮に /home/makisima/texlive/2010 にインストールするなら、
<1> TEXDIR: /home/makisima/texlive/2010
<2> TEXMFLOCAL: /home/makisima/texlive/texmf-local
<3> TEXMFSYSVAR: /home/makisima/texlive/2010/texmf-var
<4> TEXMFSYSCONFIG: /home/makisima/texlive/2010/texmf-config
<5> TEXMFVAR: $TEXMFSYSVAR
<6> TEXMFCONFIG: $TEXMFSYSCONFIG
<7> TEXMFHOME: $TEXMFLOCAL
これでインストールオプションの設定が終わったので、メインメニューの I でインストールを開始します。
Actions:
<I> start installation to hard disk
ダウンロードしながらインストールが行われます。
インストールが終わっても、./install-tl -portable のときは、環境変数をどう設定するかという指示は表示されません。
LaTeX や dvipng が動くかどうか確認するため、フルパスまたは相対パスを指定して実行します。
find / -name latex
find / -name dvipng
でフルパスがわかります。
ちなみに、 dvipng は TeX Live のインストールオプションとしてインストールしなくても、実行ファイル単体ひとつだけを latex と同じディレクトリにコピーすれば動きます。
mathTeX のコンパイル
LaTeX のインストールが終わったら、mathTeX にとりかかります。LaTeX を web から利用する方法は様々にあると思いますが、 mimeTeX との互換性から mathTeX を選びました。mimeTeX が動いている環境なら、mimetex.cgi へのパスを mathtex.cgi に書き換えるだけで、プラグインも同じプラグインで動きます。
まず、
の download mathTeX リンクから、仮想マシンの適当なフォルダにダウンロードします。今回は Ubuntu 10.10 desktop です。
mathTeX のページの指示に従い、コンパイルします。latex と dvipng へのパスは、実行ファイル名まで必要です(複数の LaTeX 処理系のどれかを任意に選べる)。また、それぞれの二重引用符の前には\が必要です(忘れるとコンパイルエラーになる)。上に述べてきたような設定で、デフォルトのオプションでコンパイルするときは次のようになります。デフォルトでは GIF 画像が生成されるようになります。
cc -DLATEX=\”/home/makisima/texlive/2010/bin/i386-linux/latex\” -DDVIPNG=\”/home/makisima/texlive/2010/bin/i386-linux/dvipng\” mathtex.c -o mathtex.cgi
mathTeX で LaTeX を動かすときに環境変数はどうするのだろうかと疑問だったのですが、コンパイル時に cgi に組み込んでしまうんですね。したがって、配布用の実行ファイルも存在しないということになります。
できた mathtex.cgi をターミナルで実行できるかどうか確認します。たとえば、
./mathtex.cgi “x^2+y^2” -o equation1
生成された equation1.gif が予想どおりの画像なら mathtex.cgi は正常です。ファイル・ブラウザですぐに確認できます。
Apache の設定
できた mathtex.cgi を apache2 で動かす設定です。
Ubuntu 10.04 desktop に apache2 を入れると、デフォルトでは、ウェブのルートは /var/www です。今回は http://localhost/mathtex/mathtex.cgi に置くことにしたので、/var/www/mathtex/ に mathtex.cgi をコピーしました。なお、apache の設定次第で、どのディレクトリに置いても //localhost/mathtex に見せることは可能です。
Apache2 mod_rewrite と AllowOverride
のときの設定を流用して、/etc/apache2/sites-available/default を
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews +ExecCGI
#Options Indexes FollowSymLinks MultiViews
# AllowOverride None
AllowOverride All
Order allow,deny
allow from all
</Directory>
と書き換えました。公開するわけではないので、とりあえず動けばいいという設定です。apache2 を再起動します。
$ sudo /etc/init.d/apache2 restart
ブラウザで、
http://localhost/mathtex/mathtex.cgi
を開いて
No expression supplied
などと表示すれば動いています。
http://localhost/mathtex/mathtex.cgi?y=x^2
のように ? の後に LaTeX の式を入れて数式画像が表示されれば正常です。
赤字でエラーメッセージが表示されたら
http://www.forkosh.com/mathtex.html の Run-time error messages… の項を参照して対処します。
たとえば、cache ディレクトリ mathtex が作れないと言ってきたら、mathtex ディレクトリのパーミッションを
sudo chmod 777 /var/www/mathtex
といった具合です。
デフォルトのコンパイル オプションでは、 mathtex.cgi のあるディレクトリに mathtex というサブディレクトリを作って、一度生成した画像をキャッシュとして置いておくようになっています。
プラグインの設定
ここまでの設定で、HTML の <img > タグに mathtex.cgi を指定すれば LaTeX 画像を表示できます。たとえば、
<img src=”http://localhost/mathtex/mathtex.cgi?y=x^2″ alt=”y=x^2″ />
WordPress などではプラグインを使うと便利です。mathTeX は mimeTeX と入替えて使えるので、プラグインの mimeTeX への http パスを mathTeX のものに書き換えるだけです。
ちなみに、 mathTeX の配布先に公開サーバがあるので、http のパスをそちらに接続すれば品質確認できます。
mimeTeX から mathTeX に切り替えたとき、そのままでは数式画像が表示されず、WordPress でページを編集→更新すると表示されるという現象が発生しました。このあたりの動作についてはどうなっているのかよくわかりません。
(2010.11.17)