公開しているホスティング サーバで LaTeX の数式を扱えるように LaTeX と mathTeX をインストールする試みです。telnet や SSH でログインせずに FTP (SFTP) で環境を構築できるかどうか?
ローカルの仮想マシン (Ubuntu 10.04 desktop) に Linux 版の LaTeX を導入、WordPress のプラグインとして使うために mathTeX をコンパイルして導入することには成功しました。必要とした容量は約200 MB です。ローカルの仮想マシンにTeX Live (LaTeX) をインストール (2)
その仮想マシンから、インターネットに公開されているホスティング サーバに転送することで環境構築を試みます。
Linux で動く FTP・SFTP クライアントは何があるのだろうと検索したら、FileZilla が使えそうです。ターミナルからコマンドでアクセスしてもいいのですが、今回は Windows で慣れている FileZilla にしておきます。FileZilla のサイト (FileZilla – Client Download) に行ったら、Linux ではディストリビューションのパッケージ管理システムを使いましょうと書いてありました。 Ubuntu 10.04 desktop のアプリケーションから Ubuntu ソフトウェアセンターを開き、FTP または SFTP で検索すると FileZilla が見つかります。インストール実行。SFTP で接続できました。
どこに LaTeX と mathTeX と mimeTeX を置くか、ディレクトリ構造、将来的なパーマリンクを考慮して決定します。
まず、LaTeX (と dvipng)について、仮想マシンの TeX Live ディレクトリをそのままホスティング サーバに転送します。エラーもなく転送終了…が、転送結果を見ると、bin/i386/latex が存在しません! 仮想マシン側をよく見ると、なんと、latex は pdftex へのリンクでした。実は bin/i386-linux/ 以下の実行ファイルにはリンクが多いようで、FileZilla ではリンクは転送されないんですね。dvipng は実体がありました。
仮想マシン側で bin/i386-linux/sample.tex という LaTeX のファイルを用意して、 ./latex sample.tex のかわりに ./pdftex sample.tex を実行してみました。だめですね。呼び出されたファイル名によって処理を変えているのかもしれません。latex というリンクファイルの名前を変えておいて、cp pdftex latex と名前を変えてコピーしました。それから ./latex sample.tex を実行してみると、うまく動きました。リンクになっている実行ファイルは、リンクの実体をリンクの名前に変えてコピーしておく、これでどうにかなりそうです。
ということで、仮想マシン側で
cp pdftex latex
を実行します。新しくできた latex をホスティング サーバに転送、パーミッションを実行可にします。
ともかく、気を取り直して、bin/i386/ にある実行ファイルのパーミッションを実行可にしておきます。使いもしないファイルを実行可能にするのがまずいとしても、latex と dvipng の二つは実行可にする必要があります。
ホスティング サーバでの latex と dvipng のフルパスを確認し、mathTeX をコンパイルします。
- http://www.forkosh.com/mathtex.html → (4) Installation and Testing → (2) Compile mathTeX and test it from the Unix shell
cc mathtex.c -DLATEX=\”/インストール先へのパス/texlive/2010/bin/i386-linux/latex\” -DDVIPNG=\”/インストール先へのパス/texlive/2010/bin/i386-linux/dvipng\” -o mathtex.cgi
mathTeX のウェブサイトから cc の書式をコピー&ペーストしたら、コンパイルオプションを示す「-」が別の似た文字に化けていて、しばらくはまっていました….
コンパイルされた mathtex.cgi をホスティング サーバに転送します。ファイルのパーミッションを実行可に、ディレクトリを書き込み可にします。デフォルトではキャッシュ用のサブディレクトリが作られるので、ディレクトリが書き込み可となっている必要があります。
ブラウザで mathtex.cgi を引数なしで実行してみます。
https://www.makisima.org/v3/latex/mathtex.cgi
これで黒い文字で No expression supplied と表示されれば正常です。赤い文字でエラーメッセージが表示されたら、http://www.forkosh.com/mathtex.html の Run-time error messages… を参照して対処します。実は、latex がリンクになっていて転送されない、さらに、pdftex という名前では動かないというのは、このエラーメッセージ “(7) Can’t run latex program: check -DLATEX=\”path\”, etc. See mathtex.html#message7″ で気がついたのでした。
数式でも試してみます。
https://www.makisima.org/v3/latex/mathtex.cgi?y=x^2
数式画像が表示されました。
成功です。
SFTP で眺めると、 mathtex のディレクトリにサブディレクトリ mathtex ができて、ログとキャッシュ画像が生成されています。
ついでに WordPress の mimeTeX プラグインの http URL を mimeTeX から mathTeX に変えておきます。
この下に積分記号の式が表示されていれば、プラグインの設定も成功です。
- y = A ∫(0~π) sin x dx ・・・・・・・・・・ これは文字
- ・・・・・・・・・・ WordPress の プラグイン経由、[ tex ]…[ / tex ]
- ・・・・・・・・・・ LaTeX と mathTeX で生成、<img src=”…”> タグで直接表示
- ・・・・・・・・・・ mimeTeX で生成、<img src=”…”> タグで直接表示
- y=A\int_0^\pi \sin x \, dx ・・・・・・・・・・ LaTeX の表記
一旦、ローカルの仮想マシンに LaTeX と mathTeX の処理系をインストールし、それを FTP でホスティング サーバに転送することで、SSH やコンパイラが使えないサーバでも、LaTeX と mathTeX が動作可能なことが実証されました。
mimeTeX より LaTeX + mathTeX のほうが数式が美しいと思うのですが、いかがでしょうか。
(2010.11.18)