いままで 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 超の容量を要求する点を除けば。