Methoden für japanischen Satz

Japanisch braucht Dinge, die westlicher Text nicht kennt: vertikale Schrift, Zeilenumbruchregeln (*kinsoku*, Zeichen, die nicht am Zeilenanfang oder -ende stehen dürfen) und Abstände zwischen japanischem und lateinischem Text. TeX bietet zwei ausgereifte Wege: das seit Langem etablierte pLaTeX / upLaTeX (über DVI und dvipdfmx) und das moderne LuaLaTeX-ja (direktes PDF, OpenType-Schriften). Diese Seite gibt den Überblick und zeigt, wie man mit beiden beginnt.

Die japanische TeX-Landschaft

Die Grundlage des japanischen Schriftsatzes ist die von ASCII Corporation entwickelte pTeX-Engine; sie brachte vertikale Schrift, *kinsoku* und die Abstände zwischen japanischem und lateinischem Text nach TeX. LaTeX darauf ist pLaTeX. Später kamen upTeX / upLaTeX mit Unicode-Interna hinzu, danach LuaTeX-ja, das japanischen Schriftsatz auf die moderne LuaTeX-Engine überträgt. Praktisch hat man drei Optionen: pLaTeX, upLaTeX und LuaLaTeX-ja (zu den Engines selbst siehe „Die pTeX-Familie“).

Mit pLaTeX / upLaTeX setzen

Zuerst wählt man eine japanische Dokumentklasse: die verbreiteten jsclasses (jsarticle, jsbook, von Haruhiko Okumura) oder das moderne, JLReq-konforme jlreq. Für upLaTeX übergibt man die Klassenoption uplatex. Der Build läuft als uplatex → DVI → dvipdfmx (oder mit ptex2pdf -l -u in einem Schritt). upLaTeX verarbeitet ganz Unicode, während einfaches pLaTeX auf den Bereich JIS X 0208 beschränkt ist.

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

Mit LuaLaTeX-ja setzen

Der moderne Weg ist LuaTeX-ja: japanischer Schriftsatz auf LuaLaTeX mit nativem Unicode, OpenType-/Systemschriften und direkter PDF-Ausgabe (ohne DVI-Schritt). Verwende eine LuaTeX-ja-Klasse (ltjsarticle oder jlreq unter lualatex) und setze japanische Schriften mit \setmainjfont / \setsansjfont aus luatexja-fontspec. Kompiliert wird mit lualatex.

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

Japanischer Satz fügt feinen Leim zwischen Zeichen ein: kanjiskip zwischen japanischen Zeichen und xkanjiskip an japanisch-westlichen Grenzen (der kleine Abstand um „日本語 and abc“). In LuaTeX-ja stellt man diese Werte mit \ltjsetparameter{...} ein; in pLaTeX/upLaTeX setzen die Klassen sinnvolle Vorgaben.

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

Was soll man verwenden?

  • Vorhandene Bestände, Geschwindigkeit, Standard für AufsätzeupLaTeX (jsclasses oder jlreq) + dvipdfmx.
  • Modern, OpenType-Schriften, direktes PDFLuaLaTeX-ja (ltjsclasses oder jlreq); bei neuen Arbeiten immer häufiger.
  • Einfaches pLaTeX ist auf JIS X 0208 beschränkt; für neue Dokumente sollte man daher die up- oder Lua-basierte Route wählen.
  • jlreq funktioniert mit pLaTeX, upLaTeX und LuaLaTeX gleichermaßen und eignet sich für ernsthaften JLReq-konformen Satz.