e-upTeX と LuaTeX とを使ってみる

いままで TeX のタイプセットには platex を使ってきたのですが、そろそろ UTF-8 に対応しないとクニのおっかさんが心配するかなと思ったので処理系を変えることにしました。

TeX の処理系にはどんなものがあるかは この記事 がめちゃめちゃ分かりやすいのでぜひ参考にしてください。簡単にまとめるといまから始めるなら e-upTeX, XeTeX, LuaTeX のどれかを使っておけば問題ないということでしょう。今回はとりあえず platex の上位互換っぽい e-upTeX (uplatex) と、pdfTeX の上位互換っぽい LuaTeX とを使ってみることにしました。

e-upTeX (uplatex)

jsarticle を使っているなら、オプションに uplatex とつけてやってタイプセットするだけで OK っぽい。いくつか package も試してみたけど概ね使えそうです。hyperref では pdf:tounicode を指定してはいけない、とか細々とした修正は必要なようだけれど。

\documentclass[uplatex]{jsarticle}
\usepackage{amsmath}
\begin{document}
\begin{align}
    E = m c^2
\end{align}
「髙(はしごたか)」
\end{document}
$ uplatex document.tex
$ dvipdfmx document.dvi

もしくは ptex2pdf を用いて、

$ ptex2pdf -u -l hoge.tex

この ptex2pdf は別に必要に応じて TeX を2回実行してくれたりはしないようなのでふつうに latexmk で pdf まで作ったほうがいいと思います。

LuaTeX

LuaTeX にはこれ専用の jsarticle っぽいドキュメントクラス ltjsarticle が存在するのでこれを使う。日本語を使うなら \usepackage{luatexja} とする必要があるときもあるらしい。IPA フォントを使いたいときはプリセットがあるので下の例のように指定すればよい。

\documentclass{ltjsarticle}
\usepackage{luatexja} % ltjclasses, ltjsclasses を使うときはこの行不要
\usepackage[ipaex]{luatexja-preset}
\usepackage{amsmath}
\begin{document}
\begin{align}
    E = m c^2
\end{align}
「髙(はしごたか)」
\end{document}
$ lualatex document.tex

まとめ

とりあえずデフォルトの処理系を uplatex に変更して様子を見てみることにした。

それにしても、とくに何をインストールすることもなく簡単にいろんな処理系が使えるようなのでやっぱり TeX Live はすごいですね。TeX を動かすためだけに 2 GB 超の容量を要求する点を除けば。