CJK(pdfLaTeX / XeLaTeX)

日本語を組む道は、pTeX 系(pLaTeX/upLaTeX)と LuaLaTeX-ja だけではありません。pdfLaTeXXeLaTeX を使わざるを得ないとき——それらを要求するクラスを使う、あるいは多言語の CJK 文書を作るとき——には、専用パッケージがあります。古参の CJK パッケージ(pdfLaTeX 向け)と、xeCJK(XeLaTeX 向け)です。このページはその使い方と、いつ選ぶべきかを扱います。

pdfLaTeX で CJK — CJK パッケージ

CJK パッケージ(Werner Lemberg、1989 年頃〜)は、pdfLaTeX で中日韓の文字を組めるようにします。テキストを CJKCJK* 環境で囲み、エンコーディングとフォントファミリを指定します:\begin{CJK}{UTF8}{min} … \end{CJK}(UTF-8 なら CJKutf8 を読み込むのが簡単)。\CJKfamily{...} でファミリを切り替えます。ただし本パッケージは 保守モードで、ほぼ役目を終えています——現代の LuaTeX/XeTeX/upTeX は Unicode・CJK を本来的に、より良く扱えるからです。pdfLaTeX でより自然な日本語がほしいときは、CJK の上に作られた BXcjkjatype(ZR 氏)が、文書全体の自動処理や間隔調整を改善します。

latex
% 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 フォントを使いたいときの実用的な道です。

latex
% XeLaTeX + ZXjatype(xeCJK の上に)
\usepackage{zxjatype}
\setjamainfont{IPAexMincho}
\begin{document}
日本語のテキスト。
\end{document}

そもそも使うべきか

本格的な日本語組版では、禁則や JFM の成熟度から upLaTeX か LuaLaTeX-ja のほうが一般に有利 です。CJK/xeCJK を選ぶのは、pdfLaTeX/XeLaTeX に縛られている(指定のクラス・テンプレート)か、多言語の CJK を扱う場合に限られます。

  • 本格的な日本語upLaTeXLuaLaTeX-ja(→「日本語組版の方法」)。
  • どうしても pdfLaTeXCJK パッケージ(または BXcjkjatype)。旧来寄り。
  • XeLaTeX で OS フォントxeCJKZXjatype