LaTeXで otf.sty を使いつつUTF-8でファイルを編集する
(この記事は以前に http://nanatomo.com/program/latex/788 で公開されていたものです。)
Ubuntu 12.04 LTSに標準でインストールできる platex はUTF-8を直接扱えません。
nkfまたはiconvを使えばUTF-8→EUC-JPの変換ができます。ただしこれでは無論EUC-JPで表現できない文字は(たとえPDFに出力したとしても)表示することができません。大抵の場合は文字化けします。
そこで、OTF (otf.sty)を用いてEUC-JP外のUnicodeな文字を表示させることができます。しかし、たとえば「はしご高(髙)」を表示させる場合は \UTF{9AD9} と指定する必要があります。
これをその都度入力するのは非常に面倒くさく、UTF-8で書いているのにわざわざASCIIで記述するというのは、そもそもUTF-8で書いている利点を生かしきれません。
utf8toutf
そこで utf8toutf というものを使うことで「UTF-8からEUC-JPへの変換」「\UTFおよび\CIDへの置換」を一括して行うことができます。
utf8toutfはMakefileが付いているのでmakeだけで簡単にコンパイル、作成できます。
otf.styのインストール
その後は otf.sty をインストールしておきましょう。
$ wget http://ftp.kddilabs.jp/TeX/ptex-win32/current/otf.tar.xz $ tar xvf otf.tar.xz $ cd share/texmf/ $ sudo cp -Rv * /usr/local/share/texmf/ $ sudo mktexlsr
PDFの生成
あとは普通に使うだけです。適宜パスは通してください。私の場合はこれらの処理を一括にまとめたスクリプトで対応しています。
$ utf8toutf test.tex test.tex.tmp $ platex test.tex.tmp $ dvipdfmx -f jis-cjk -o test.pdf test.tex.dvi