pTeX.app と LaTeXiT で日本語を使う

結論から言えば、 LaTeXiT で日本語を使うには、 環境設定で latex+dvipdf オプションを選択して、 platex の引数に -kanji=utf8 を指定すればよい。

Drag & Drop pTeX (pTeX.app) の中にあった日本語 pLaTeX のドキュメント pldoc.texコンパイルして PDF にしたものを参照していると、 時々実際にレイアウトした表示はどうなるのか試してみたくなった。 こういうときは TeXShop よりも LaTeXiT の方がファイル名を考えなくてすむ分簡単そうだと思って試してみることにした。 試したかったのは \rensuji コマンド。 後ろに続く半角数字を横書きに変換してくれるコマンドだ。 つまり縦書きモードの時に限る。 なので次のようなソースを書いた。

\parbox<t>{3cm}{Year: \rensuji{2010}}

しかし 「Missing number, treat as zero.」 とか 「Undefined control sequence.」 とかいうエラーになる。 どうも 「<t>」 と 「\rensuji」 コマンドを認識していない様子。

そこでプリアンブルで \usepackage{plext} として plext.sty を読み込ませた。

ところが今度は plext.sty が見つからないというエラー。

デフォルトでは LaTeXiT は pdflatex を使っているので当たり前だ。 platex + dvipdfmx を使うようにしなければならない。 これは環境設定のプログラムタブで設定できる。 まず、 コマンドタブの中の 「pdflatex」 ラジオボタンを 「latex+dvipdf」 に変更する。 すると 「LaTeX」 と 「dvipdf」 に入力ができるようになるので、 それぞれ 「platex」 と 「dvipdfmx」 を設定する。 例えば 「platex」 なら 「/Applications/pTeX.app/teTeX/bin/platex」 を、 「dvipdfmx」 なら 「/Applications/pTeX.app/teTeX/bin/dvipdfmx」 を指定する。

さて、 上のようなソースでは実際に縦書きになっているのかどうか判断しづらいので、 次のようなソースで確かめることにした。

\begin{minipage}<t>{6zw}
これはテストではありません\\
\kansuji 2010
\end{minipage}

しかしこれもエラーになってしまう。

どうやら LaTeXiT はソースを UTF-8 で一時ファイルに保存して platex に渡すようになっているようだが、 Drag & Drop pTeXplatex はデフォルトが SJIS になっている様子。 そこで LaTeXiT の環境設定で、 platex の引数に -kanji=utf8 オプションを指定するようにした。 これは LaTeX のボックスの右横の歯車アイコンをクリックすると設定することができる。

これで LaTeXiT で日本語を表示できるようになった。

LaTeXiT で日本語を縦書きで表示したところのキャプチャ画面