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.
% 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.
% 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.
\ltjsetparameter{xkanjiskip=0.25\zw plus 1pt minus 1pt}Was soll man verwenden?
- Vorhandene Bestände, Geschwindigkeit, Standard für Aufsätze →
upLaTeX(jsclassesoderjlreq) +dvipdfmx. - Modern, OpenType-Schriften, direktes PDF →
LuaLaTeX-ja(ltjsclassesoderjlreq); 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.
jlreqfunktioniert mit pLaTeX, upLaTeX und LuaLaTeX gleichermaßen und eignet sich für ernsthaften JLReq-konformen Satz.