日本語を組む道は、pTeX 系(pLaTeX/upLaTeX)と LuaLaTeX-ja だけではありません。pdfLaTeX や XeLaTeX を使わざるを得ないとき——それらを要求するクラスを使う、あるいは多言語の CJK 文書を作るとき——には、専用パッケージがあります。古参の CJK パッケージ(pdfLaTeX 向け)と、xeCJK(XeLaTeX 向け)です。このページはその使い方と、いつ選ぶべきかを扱います。
pdfLaTeX で CJK — CJK パッケージ
CJK パッケージ(Werner Lemberg、1989 年頃〜)は、pdfLaTeX で中日韓の文字を組めるようにします。テキストを CJK/CJK* 環境で囲み、エンコーディングとフォントファミリを指定します:\begin{CJK}{UTF8}{min} … \end{CJK}(UTF-8 なら CJKutf8 を読み込むのが簡単)。\CJKfamily{...} でファミリを切り替えます。ただし本パッケージは 保守モードで、ほぼ役目を終えています——現代の LuaTeX/XeTeX/upTeX は Unicode・CJK を本来的に、より良く扱えるからです。pdfLaTeX でより自然な日本語がほしいときは、CJK の上に作られた BXcjkjatype(ZR 氏)が、文書全体の自動処理や間隔調整を改善します。
% pdfLaTeX + CJK パッケージ
\usepackage{CJKutf8}
\begin{document}
\begin{CJK}{UTF8}{min}
日本語のテキスト。
\end{CJK}
\end{document}XeLaTeX で CJK — xeCJK / ZXjatype
XeLaTeX は OS の OpenType/TrueType フォントを直接使え、xeCJK パッケージが CJK 組版を加えます。\setCJKmainfont{...}・\setCJKsansfont{...}・\setCJKmonofont{...} で和文フォントを指定します(IPAex 明朝・Noto CJK など)。さらに ZXjatype(ZR 氏)は xeCJK を 日本語向けに設定 し、日本語用のスケーリングを当てた \setjamainfont/\setjasansfont などを提供します。XeLaTeX で OS フォントを使いたいときの実用的な道です。
% XeLaTeX + ZXjatype(xeCJK の上に)
\usepackage{zxjatype}
\setjamainfont{IPAexMincho}
\begin{document}
日本語のテキスト。
\end{document}そもそも使うべきか
本格的な日本語組版では、禁則や JFM の成熟度から upLaTeX か LuaLaTeX-ja のほうが一般に有利 です。CJK/xeCJK を選ぶのは、pdfLaTeX/XeLaTeX に縛られている(指定のクラス・テンプレート)か、多言語の CJK を扱う場合に限られます。
- 本格的な日本語 →
upLaTeXかLuaLaTeX-ja(→「日本語組版の方法」)。 - どうしても pdfLaTeX →
CJKパッケージ(またはBXcjkjatype)。旧来寄り。 - XeLaTeX で OS フォント →
xeCJK+ZXjatype。