Méthodes de composition japonaise

Le japonais demande des traitements que les textes occidentaux n’ont pas : écriture verticale, règles de coupure de ligne (*kinsoku*, caractères interdits en début ou fin de ligne) et espacement entre japonais et latin. TeX propose deux voies mûres : pLaTeX / upLaTeX, établi de longue date (via DVI et dvipdfmx), et LuaLaTeX-ja, plus moderne (PDF direct, polices OpenType). Cette page donne la carte d’ensemble et montre comment démarrer avec chacune.

Le paysage TeX japonais

La composition japonaise repose d’abord sur le moteur pTeX, développé par ASCII Corporation, qui a introduit dans TeX l’écriture verticale, le *kinsoku* et l’espacement entre japonais et latin. Le LaTeX construit dessus est pLaTeX. Sont ensuite arrivés upTeX / upLaTeX, aux internals Unicode, puis LuaTeX-ja, qui porte la composition japonaise sur le moteur LuaTeX moderne. En pratique, trois choix dominent : pLaTeX, upLaTeX et LuaLaTeX-ja (pour les moteurs eux-mêmes, voir « La famille pTeX »).

Composer avec pLaTeX / upLaTeX

Commencez par choisir une classe de document japonaise : les jsclasses très utilisées (jsarticle, jsbook, par Haruhiko Okumura), ou la classe moderne jlreq, conforme à JLReq. Avec upLaTeX, passez l’option de classe uplatex. Le build est uplatex → DVI → dvipdfmx (ou ptex2pdf -l -u en une commande). upLaTeX gère tout Unicode, alors que pLaTeX simple se limite à JIS X 0208.

latex
% upLaTeX。uplatex main.tex && dvipdfmx main
\documentclass[uplatex]{jsarticle}
\begin{document}
日本語と English の混植。
\end{document}

Composer avec LuaLaTeX-ja

La voie moderne est LuaTeX-ja : composition japonaise sur LuaLaTeX, avec Unicode natif, polices OpenType/système et sortie PDF directe (sans étape DVI). Utilisez une classe LuaTeX-ja (ltjsarticle, ou jlreq sous lualatex) et définissez les polices japonaises avec \setmainjfont / \setsansjfont de luatexja-fontspec. La compilation se fait avec lualatex.

latex
% LuaLaTeX-ja。lualatex main.tex
\documentclass{ltjsarticle}
\usepackage{luatexja-fontspec}
\setmainjfont{Noto Serif CJK JP}
\begin{document}
日本語と English の混植。
\end{document}

La composition japonaise insère de petits espacements (glue) entre les caractères : kanjiskip entre caractères japonais, et xkanjiskip aux frontières japonais–occidental (le petit espace autour de « 日本語 and abc »). Dans LuaTeX-ja, on les règle avec \ltjsetparameter{...} ; dans pLaTeX/upLaTeX, les classes définissent des valeurs par défaut raisonnables.

latex
\ltjsetparameter{xkanjiskip=0.25\zw plus 1pt minus 1pt}

Lequel utiliser

  • Documents existants, vitesse, standard des articlesupLaTeX (jsclasses ou jlreq) + dvipdfmx.
  • Moderne, polices OpenType, PDF directLuaLaTeX-ja (ltjsclasses ou jlreq) ; de plus en plus courant pour les nouveaux travaux.
  • pLaTeX simple est limité à JIS X 0208 ; pour un nouveau document, préférez donc la voie fondée sur upTeX ou LuaTeX.
  • jlreq fonctionne avec pLaTeX, upLaTeX et LuaLaTeX, et convient à une composition sérieuse conforme à JLReq.