歴史的経緯
TeX/LaTeXは組版ソフトとして世界的に有名なソフトです。特に複雑な数式の入力・表示が容易なので、学術系でよく使われています。TeX/LaTeXには基本的な機能しか備わっていないので、よりヘヴィに使うためにはいろんなパッケージが必要です。それをひとまとめにしたTeXディストリビューションがteTeXであり、日本語を使えるようにしたのがアスキーのpTeXです。ところがteTeXは2006年以降アップデートされないことが発表されました。そこで最近はteTeXに代わるTeX Liveというディストリビューションが注目されています。teTeXに含まれるパッケージのライセンスの問題もあって、Debianでは徐々にTeXLiveに移行しつつあるようです(Ubuntuもそのうち?)。その辺りの詳しいことは、2006年4月に開催されたDebian Meetingの"Debian TeX Policy と Debian の LaTeX の日本語処理"に書いてあります。ただ、今のところTeX Liveは日本語の対応に難があるようです。
現状、Ubuntu 7.04(Feisty Fawn)において、日本語でTeXを使うためには三種類の方法が考えられます。
- pTeX/teTeXを使う
一番簡単で確実な方法。ただし今後この方法が通用するかは不明。xdviで日本語が表示できない問題は、Feistyで解決しました。文字コードはEUC-JPしか使えないので、コンパイル時のエラーメッセージのソース表示部分が化けます(端末の文字コードを変更すれば問題なし)。 - TeX Liveを使う
今後有望な方法。ネットでの日本語の情報が今一つないのが不安。UTF-8に対応とか各種パッケージのライセンス問題をクリアにするとか、心惹かれる話題もちらほらと。apt-line(universe)にパッケージが用意されているので、インストールだけなら簡単? - ptetexを使う
teTeXや各種ツールに日本語用パッチを当てたものなどをまとめたソフト。Vine 4.0でも採用されていて、UTF-8も使える上にUbuntuでの動作実績もあり(UTF-8のソースファイルも自動的にEUCなどに変換してくれるという意味。よってUnicodeの全ての文字が使えるというわけではない)。ただUbuntu用のバイナリパッケージは用意されていないので、ソースからビルドする必要あり(手順自体は簡単です)。
pTeXのインストール
この場合、このサイトにpTeXとdvipdfmxのインストール方法のほとんど全てが網羅されています。まずはpTeXのインストール。[アプリケーション] - [アクセサリ] - [端末]を開き、以下のコマンドを実行してください(コピー&ペースト+エンターでいけます)。
sudo apt-get install okumura-clsfiles xdvik-ja dvipsk-ja \ptexやtetexは依存関係に従って自動的にインストールされますので、このパッケージをインストールするだけで充分です。
dvi2ps-fontdesc-morisawa5 mendexk jmpost jbibtex-bin gv gnome-gv
sudo jisftconfig add
上記サイトではこの後、東風フォント(kochi-*.ttf)を削除してIPAモナーフォントへのリンクを張っていますがこれはどうなんでしょう。もっとスマートな方法がありそうな気がするのですが。/etc/texmf/texmf.d/ディレクトリ以下を編集して、フォントのサーチパスを編集し、update-texmfやmktexlsrを実行すればいいんでしょうか。
次にdvipdfmxのインストールです。[アプリケーション] - [アクセサリ] - [端末]を開き、以下のコマンドを実行してください(コピー&ペースト+エンターでいけます)。
sudo apt-get install dvipdfmx gs-cjk-resource cmap-adobe-cns1 \"No CIDSupplement specified for"というエラーが出ますが、どうやら気にしなくてもいいようです。あとは
cmap-adobe-gb1 cmap-adobe-japan1 cmap-adobe-japan2
sudo nano -w /etc/texmf/dvipdfm/dvipdfmx.cfgとして、ファイルの末尾に
f jis-cjk.mapを追加、Ctrl+Oでファイル名を指定して保存、Ctrl+Xで終了です。編集が完了したら
sudo update-texmfを実行して設定ファイルを反映させます。これで完了です。
あと、以前に書いたPDFにフォントを埋め込む話ですが、以前のエントリで書いた内容はptetex用です。pTeXの場合、まずフォントのパスを通す必要があります。件のエントリの参考リンクのやり方だとうまくいくと思います。
TeX Liveのインストール
これはEdgyの時の情報です、FeistyではTeX Liveのインストールを試していません。TeX LiveにはインストールCDが用意されているようなのですが、今回はapt-lineからインストールすることにしました。texlive-fullをインストールするとtexliveに関する全てのパッケージがインストールされます。ただ、ハードディスクを630MBも消費するようなので今回はパス。基本的なパッケージのみ(70MB消費)をインストールします。sudo apt-get install texlive texlive-doc-jatexlive-doc-jaは日本語マニュアルファイルっぽいのでこれも追加。texliveをインストールすると、tetexやptexに関するパッケージが削除されますので注意してください。
コマンドはlatexで、jarticleクラスがなくてarticleクラスにするぐらいで特に問題なく終了。xdviはTeX Liveに同梱されたものがインストールされます……が、表示できず。うーん、なんでだ。
ptetexのインストール
ptetexとは、teTeXに日本語パッチを当てたり、日本語の使えるpTeXを追加したりしてくれるパッチ集です。一連のコマンドを実行するだけで必要なものを全て用意してくれるのがポイント。Ubuntuの場合、ソースからビルドすることになるのでパッケージ管理ソフトの恩恵には預れませんが、TeXパッケージはアップデートがそれほど頻繁じゃありませんし、作成したファイルは特定のディレクトリにしかインストールしないのであまり気にしなくてもいいと思います。もちろん上でインストールしたpTeXとの共存も可能です。より詳しいことは公式Wikiにある、FAQを見るとよいでしょう。ここではptetex3-20070606をインストールします。Wikiの動作報告にはUbuntu 7.04 Feisty Fawnの動作報告が掲載されています(自分が書いたんすけど)。これを参考にしながら進めていきましょう。上記FAQにも書いてあるように、ビルドするためにいくつかのパッケージが必要となります。必要な理由はこのあたりが参考になるかと。まずflex、bison、build-essentialは開発環境のため必要です。それ以外に、ライブラリとしてlibncurses5-dev、x11proto-print-dev、libmotif-dev、libxaw6-dev、libxpm-dev、libfreetype6-dev、gsが必要なようです(libmotif-devはlesstif2-devでも可)。よって、[アプリケーション] - [アクセサリ] - [端末]の中で
sudo apt-get install flex bison build-essential \と入力してください。
libncurses5-dev x11proto-print-dev libmotif-dev \
libxaw6-dev libxpm-dev libfreetype6-dev gs
これでmakeすれば、必要なものはすべてそろっているはずですが、なんらかのエラーが出るかもしれません。その場合、上のリンク先などを参考に関係ありそうなパッケージをインストールしてください。その際、'make c'でコンパイルを中断したところから再開出来ます。しかし、'make distclean'と'make clean'をして最初からコンパイルを開始しないと問題を解決できない場合もあるようです。
パッケージが揃ったあとの詳しいインストール方法はREADMEファイルに書いてあります。自分の場合、ダウンロードしたファイルは~/downloadに一時的に保存するようにしています。今回はその下に~/download/src/ptetex3というディレクトリを作って、そこに三つの圧縮ファイルを保存。あとは上記READMEファイルの手順に沿って
tar xzvf ptetex3-20070606.tar.gzとすればインストール完了です。途中、
cd ptetex3-20070606
make
sudo make install
[-dNOKANJI] testと表示されてからえらい時間がかかりました(数十分間HDDにアクセスしっぱなし)。一応テストは問題なく終わるようですがちょっと気になるところです。
実行ファイルは/usr/local/teTeX/binに格納されるので、そこにパスを通す必要があります。ptetexを使うのがそのユーザだけなら~/.bashrcに、全ユーザがptetexを使うなら/etc/bash.bashrcの最後に
# for ptetex3を書き込みます。端末を再起動すればパスが通っているはずなのでwhichコマンドなどでplatexへの正しいパスが通っているか確認してみてください。
PATH=/usr/local/teTeX/bin:$PATH
platexコマンドは適切なオプションを指定することで、EUC-JP/Shift_JIS/UTF-8なTeXファイルに対応することが可能です。ビルド時に特定のオプションをあたえていない場合は、platexはTeXファイルの文字コードがEUC-JPだと考えて変換します。もし、UTF-8なファイルを変換したい場合は
platex --kanji=utf8 TeXファイル.texとしてください。以前のplatex-utf8とかのコマンドは廃止されました。
またdvipsやdvipdfmx、dvipngというコマンドも付属しているのでこれらも別途インストールする必要はありません。ただdvipsで変換したpsファイルは別にインストールしたgvからだと日本語を表示できなかったので正しく動作しているかは未確認です。同梱されているプレゼンテーション用のbeamerクラスはバージョンが古いため正しく動作しません。別途インストールする必要があるのですが、方法については別のエントリで。
ptetexをアンインストールする場合、Makefileが残っているなら
sudo make uninstallでできます。残っていないなら/usr/local/teTeX以下を削除すればOKです。
dvipdfmでPDFにフォントを埋め込む場合は、こちらのエントリを参考にしてください。
latex2htmlのインストール
インストールは簡単です。sudo apt-get install latex2htmlただし、一緒にteTeXもインストールされることに注意してください。ptetex3はaptからインストールされたteTeX環境と共存できるので特に問題はないはずです。どうも日本語化パッチはあたってないようなのですが、特に問題なく日本語も解します、不思議だ。
そのままだとteTeXのlatexコマンドとdvipsコマンドを使ってしまうので、jarticleなどの日本語クラスファイルを指定したTeXファイルだとエラーが起きて数式を画像に変換できません。よって設定ファイルを変更する必要があります。全体の設定ファイルである"/usr/share/latex2html/l2hconf.pm"を直接編集してもいいのですし、ホームディレクトリに".latex2html-init"を作って設定する方法もあります。
まず、雛型から".latex2html-init"を作成します。
cp /usr/share/latex2html/dot.latex2html-init ~/.latex2html-initその後、テキストエディタで"~/.latex2html-init"を開き、ファイルの最後の方が
}となるように、真ん中の三行を追加します。こうすれば、ptetex3をインストールしたときにパスの設定もしてあれば、TeX系のコマンドはptetex3のコマンドが使われます。'platex --kanji=utf8'としたのは、僕がTeXファイルをUTF-8で使うことが多いだろうなと思ったからです。ちなみにこの設定をしても、jarticleなどを指定したら警告が出ます(警告が出るだけでちゃんと変換されているので問題はないのですが)。
#For LaTeX commands
$LATEX = 'platex --kanji=utf8';
$DVIPS = 'dvips';
1; # This must be the last line
あとは
latex2html test.texなどとすれば、test.texからhtmlファイルが作成されます。ただし、日本語を含むhtmlファイルを作成しても、ブラウザが正しく文字コードを認識できない場合があります。よってできあがったhtmlファイル全部に、文字コードを指定するMETAタグを挿入するようなスクリプトを作っておくと便利かもしれません。実は上記LaTeXコマンドを指定したときと同様に、$CHARSETを指定すれば自動的にMETAタグが挿入されるらしいのですが、やってみたところ機能していませんでした。何か別の方法で指定できるかもしれません。
LyXのインストール
LyXはWYSIWYGに編集できるワードプロセッサーで、TeX形式に変換してくれる機能を持っています。TeXを使って何か書きたい。でもTeXソースを直接いじるのは大変って場合には便利かも。Ubuntuからもsudo apt-get install lyxとすればバージョン1.4.3(Feisty)をインストールできます。
ただし、日本語は使えませんでした。日本語を使いたい場合CJK-LyXなどを使えばいいようなのですが、リポジトリからは発見できず。どっかで1.4以降はUTF-8に対応して、CJK-LyXも取り込んだ〜とか読んだ気がするんだけどなぁ。LyXからはIMEが起動しないし、LyXファイルを直接編集して日本語(UTF-8/EUC-JP)を組み込んだものをLyXで表示すると化けるし……困ったもんだ。LyXが日本語に対応してくれたら、StellariumのUser's Guideの修正が簡単になるのですけれど。
次回は個人的にインストールしておくと便利なツールあれこれです。
タグ:ubuntu

