ローカルの仮想マシンにTeX Live (LaTeX) をインストール (2)

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)

投稿者: librarian

http://makisima.org/ の librarian です。マキシマ文庫=書斎 の主。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください