TeX/LaTeX und Japanisch

TeX wurde für westliche Texte entwickelt, daher sind für die Verwendung von Japanisch spezielle Erweiterungen erforderlich. Die Geschichte ließ mehrere Familien zur Auswahl, aber die kurze Antwort lautet: Verwenden Sie für neue Arbeiten LuaLaTeX, speichern Sie Ihre Quelle als UTF-8 und verwenden Sie die Klasse jlreq. Auf dieser Seite wird erläutert, warum Japanisch etwas Besonderes ist und welche Familie Sie auswählen sollten.

Warum Japanisch eine besondere Behandlung braucht

Der ursprüngliche TeX konnte nur 256 Zeichen pro Schriftart adressieren (128 in seinen Anfängen). Das Einpassen der Tausenden japanischer Zeichen erforderte Tricks wie das Aufteilen einer Schriftart in Subfonts mit 256 Glyphen – genau aus diesem Grund wurden japanisch-fähige Engines entwickelt.

Auch die Satzregeln unterscheiden sich. Japanisch braucht Kinsoku – Satzzeichen, schließende Klammern und den mittleren Punkt am Anfang einer Zeile und öffnende Klammern am Ende einer Zeile – plus eine gemessene Lücke zwischen japanischem und westlichem Text (\xkanjiskip), Metriken und Satzzeichenabstände in voller Breite und sogar vertikale Schrift. Die pTeX-Familie bewältigt all dies, indem sie jeden möglichen Umbruch bewertet (so viele Strafpunkte, wenn dieser Charakter an einem Zeilenanfang oder -ende landet usw.) und das Layout wählt, das die Gesamtstrafe minimiert.

Die japanischen Motorenfamilien

Die ernsthafte japanische Unterstützung begann mit pTeX, einer Engine der ehemaligen ASCII Corporation. Takuji Tanaka erweiterte es dann auf Japanisch Unicode als upTeX. Setzt man LaTeX darüber, erhält man pLaTeX / upLaTeX, die beide den traditionellen Weg nutzen: eine DVI-Datei erstellen und diese dann mit dvipdfmx in PDF konvertieren (heute von der japanischen TeX-Entwicklungsgemeinschaft verwaltet).

Moderne Motoren, die sich international verbreiten, kommen mittlerweile auch mit Japanern zurecht. Das wichtigste ist LuaLaTeX + luatexja, das den Schriftsatz von pTeX auf LuaLaTeX portiert, Lua-Skripte und OpenType/TrueType-Schriftarten direkt verwendet und PDF ohne DVI ausgibt. XeLaTeX verwendet xeCJK und sogar pdfLaTeX kann mit dem Paket CJK (CJKutf8) grundlegende Japanischeinstellungen festlegen.

MotorKlasse / PaketNotizen
upLaTeX / pLaTeXjsarticle, jlreqÜber DVI; vertikales Schreiben; traditionell; wird oft von Zeitschriften verlangt
LuaLaTeXltjsarticle, jlreq + luatexjaDirekt PDF, Systemschriftarten, Unicode. Beste Standardeinstellung für neue Arbeiten
XeLaTeXxeCJK + bxjsarticle usw.Einfache OpenType-Schriftarten
pdfLaTeXarticle + CJKutf8Minimal; Text in \begin{CJK}{UTF8}{min} umbrechen

Kurse und Pakete

Die modernste Wahl ist die Klasse jlreq von Noriyuki Abe. Entwickelt nach den „Anforderungen für japanisches Textlayout (JLReq)“ des W3C, benötigt es nur \documentclass{jlreq} und läuft auf LuaLaTeX, pLaTeX oder upLaTeX gleichermaßen (die Engine wird automatisch erkannt, oder Sie können platex/uplatex/lualatex als Klassenoption übergeben).

latex
\documentclass{jlreq}          % LuaLaTeX / upLaTeX / pLaTeX で動く
\begin{document}
こんにちは、\LaTeX! これは日本語の組版です。
\end{document}

In der traditionellen Familie ist jsclasses (jsarticle, jsbook, für pLaTeX/upLaTeX) der Standard und ltjsclasses (ltjsarticle usw.) das Gegenstück zu LuaLaTeX. Um die japanischen Schriftarten unter LuaLaTeX zu ändern, verwenden Sie luatexja-fontspec.

latex
\usepackage{luatexja-fontspec}
\setmainjfont{Noto Serif CJK JP}   % 明朝
\setsansjfont{Noto Sans CJK JP}    % ゴシック

Zeichenkodierung

Speichern Sie Ihre Quelle als UTF-8 – das ist heute der Standard. EUC-JP, Shift_JIS und ISO-2022-JP waren in der Vergangenheit üblich (konvertiert mit Tools wie nkf), aber jetzt ist es die sichere Wahl, bei UTF-8 zu bleiben. upTeX und LuaTeX sind Unicode-nativ, und das moderne pLaTeX geht auch von UTF-8-Eingaben aus. Achten Sie auf gemischte Zeilenenden (LF vs. CRLF).

Was man wählen soll

  • Neu anfangen? LuaLaTeX + jlreq (oder ltjsarticle). System-Schriftarten OpenType, direkt PDF, stark Unicode.
  • Möchten Sie Geschwindigkeit oder verfügen Sie über vorhandene Ressourcen? upLaTeX + jsarticle. Schnelle Builds und eine lange Erfolgsbilanz für Japanisch.
  • Wenn Ihr Veranstaltungsort pLaTeX vorschreibt, befolgen Sie diese. Einige Zeitschriftenklassen setzen pLaTeX voraus.
  • Hauptsächlich Englisch mit ein wenig Japanisch? XeLaTeX + xeCJK oder pdfLaTeX + CJK können ausreichen.

Ein sicheres Start-Setup

Für ein neues japanisches Dokument besorgen Sie sich zunächst ein PDF mit UTF-8-Quelle, LuaLaTeX und jlreq. Wechseln Sie nur dann zu upLaTeX oder pLaTeX, wenn Sie einen konkreten Grund haben: Ein Veranstaltungsort erfordert pLaTeX, Sie haben eine alte jsarticle-Quelle geerbt oder Sie benötigen eine detaillierte vertikale Schreibsteuerung. Es geht nicht darum, gleichzeitig mit dem Schreiben der Arbeit gegen „Japanisch lässt sich nicht drucken“ anzukämpfen.

  • Schreiben Sie keinen japanischen Fließtext mit pdfLaTeX; Wenn Sie Fehler oder Mojibake sehen, überprüfen Sie zuerst den Compiler.
  • Wenn Sie ltjsarticle oder jlreq für LuaLaTeX verwenden, stellen Sie sicher, dass der Compiler auch LuaLaTeX ist.
  • Notieren Sie bei gemeinsam verfassten Arbeiten die Engine, Codierung und Klasse in einer Zeile des README.