今年もあと残すところ2時間半ですが、年越しで宿題を残したくないので、まとめておきましょう。

奥村先生のTeX Wikiに下記のような解説があります。
TeX Wiki:TeX を Web 上で提供する方法

WEBサーバを利用して、TeXの数式を使ったPDFファイルが作れるという便利なものです。外部向けに公開してもいいのですが、ローカルLANでも1台1台にTeXをインストールする必要がないので、様々な教育関係の機関や企業でも内部LANで共有でき、非常に役立つと思います。

tex-pdf-server使い方はTeXのソースを書いて「PDF生成」ボタンをクリックするだけです。textエリアにプリアンブルを含めた完全な形のTeXのソースを記述できますので、picture環境で図も描けます。

導入環境

UbuntuやFedoraでもできないことはないのですが、UTF8に対応したTeXでないと、PDF作成の際にエラーになります。そこで、今回はUTF8に対応したTeXが簡単に導入できるVine Linux 5.2を利用しました。インストール用のDVDイメージからフルインストールすると、Apache2や日本語TeXの一式が入ります。新たに加える必要があるのは、php5とphp5-apache2のみで、設定の変更も不要です。

$ su
# apt-get install php5 php5-apache2


(注) VineLinuxは、Fedoraベースなのでパッケージはrpmですが、パッケージマネージャにはSynapticパッケージマネージャが採用されており、インストール用のコマンドはyumではなく、aptが使われます。
[訂正] 以前はRed Hat Linuxの派生でしたが、現在はProject Vineのメンバーを中心に独自に開発が進められています。

システムをインストールする

本来はドキュメントルートを変更したり、アクセス権を適切に設定するなどして、セキュリティー対策を施しておく必要がありますが、ここでは簡単のため、フルアクセス可能な形でのインストールを行ないます(ローカルで実験的に使うことを前提とします)。

■ STEP 1
次のコマンドでドキュメントルートの/var/www/htmlに誰でもアクセスできるようにしておきます。

$ su
# chmod 777 /var/www/html

■ STEP 2
前出の下記サイトの「■スクリプトの準備」のところにある「index.php」と「do.php」 のリンク先をクリックしてダウンロードします。普通に右クリックで保存すると、「index_php.txt」と「do_php.txt」という名前になりますが、それぞれ「index.php」と「do.php」という名前に変更して/var/www/htmlの中に保存します。

TeX Wiki:TeX を Web 上で提供する方法

■ STEP 3
/var/www/htmlの中に「count.txt」というテキストファイルを作成し、中身は「0」(半角数字のゼロ)だけを書いておきます。これはファイル名の数字を更新するために必要なファイルです。

■ STEP 4
/var/www/htmlの中に「work」という名前で空のディレクトリを作成しておきます。ここにTeXのソースや変換後のPDFファイルが保存されます。

■ STEP 5
do.phpを次のように書き換えます。これは、ドキュメントルートをApache2のデフォルト(/var/www/html)とし、VineLinuxのデフォルトのTeXを使った場合の設定です。platexとdvipdfmxを自前でコンパイルした場合は、インストールした場所をそれぞれ指定して下さい。

23行目
[変更前]
$f = popen("HOME=/tmp; cd work; ulimit -t 10 -f 2048; /usr/local/texlive/p2009/bin/x86_64-unknown-linux-gnu/platex -kanji=utf8 -interaction=nonstopmode $count.tex", "r");
[変更後]
$f = popen("HOME=/var/www/html; cd work; ulimit -t 10 -f 2048; /usr/bin/platex -kanji=utf8 -interaction=nonstopmode $count.tex", "r");

41行目
[変更前]
$f = popen("HOME=/tmp; cd work; ulimit -t 10 -f 2048; /usr/local/texlive/p2009/bin/x86_64-unknown-linux-gnu/dvipdfmx $count.dvi 2>&1", "r");
[変更後]
$f = popen("HOME=/var/www/html; cd work; ulimit -t 10 -f 2048; /usr/bin/dvipdfmx $count.dvi 2>&1", "r");

以上で設定は終了です。

システムへアクセスする

WEBブラウザ(Vineではfxという名称になっていますが実体はFirefox)で、次のURLにアクセスします。

http://localhost

これで、記事の冒頭の画像のような画面になれば成功です。また、他のPCからはサーバ本体のIPアドレスを指定してアクセスします。

http://(サーバ本体のIPアドレス)


emathの導入

算数や数学の教材に利用するには、下記のサイトのemathを追加しておくといいでしょう。
LaTeX 初等数学プリント作成マクロ emath

emath-sampleemathのサンプル。頂点とサイズを指定する程度の労力でこのような図形を容易に描くことができる。


Vine Linuxへのインストール方法はこちらのサイトで詳細に紹介されています。なお、emathの本体は前出のemathの本家サイトで入手しておく必要があります。

ちなみに、Ubuntu 10.04では、emathf051107c.zipを使って、下記の手順でインストールできました。

$ unzip emathf051107c.zip
$ sudo mv sty.zip /usr/share/texmf/ptex/platex/misc/
$ cd /usr/share/texmf/ptex/platex/misc/
$ sudo unzip sty.zip
$ sudo rm sty.zip
$ sudo wget http://members.jcom.home.ne.jp/nob.asaoka/kpic/eepic.lzh
$ sudo wget http://members.jcom.home.ne.jp/nob.asaoka/kpic/eclarith.lzh
$ sudo wget http://members.jcom.home.ne.jp/nob.asaoka/kpic/epic.lzh
$ sudo wget http://members.jcom.home.ne.jp/nob.asaoka/kpic/kpic1985.lzh
$ for i in *.lzh; do sudo lha -e $i; done
$ sudo mktexlsr


久々にvine_userらしい記事になりました(笑
今年の記事は以上です。よいお年を!!