Westlichen Text schreiben

Sie geben einfachen Text in lateinischer Schrift ein, und TeX setzt ihn mit überraschender Sorgfalt: Es verschmilzt fi und ff zu Ligaturen, erstellt Kernel-Paare wie AV automatisch, scannt den gesamten Absatz, um Zeilenumbrüche und Silbentrennungen auszuwählen, und richtet die Kanten aus. Auf dieser Seite werden die vier Mechanismen dahinter erläutert – Ligaturen, Unterschneidung, Zeilenumbruch mit Silbentrennung und microtype – mit den Dingen, die ein Autor wissen sollte, und den seltenen Fällen, in denen Sie eingreifen möchten. All dies betrifft westliche Texte; Japanisch hat sein eigenes Satzmodell.

Ligaturen

Eine Ligatur verschmilzt mehrere benachbarte Buchstaben zu einer einzigen Glyphe. Da der Überhang oben rechts eines f mit dem Punkt eines folgenden i oder der Oberlänge eines l kollidiert, werden die f-Ligaturen seit den Tagen der Metallschrift verwendet. TeX bildet sie automatisch. Die fünf, die standardmäßig erstellt werden, sind ff, fi, fl, ffi und ffl: Geben Sie einfach office oder fluffier ein und die entsprechenden Buchstaben werden durch eine Glyphe ersetzt.

Dieselbe Maschinerie erstellt auch Interpunktionsligaturen. Eine Reihe von Bindestrichen -- wird zu einem Gedankenstrich (–, für numerische Bereiche und dergleichen), und drei aufeinanderfolgende --- werden zu einem Gedankenstrich (–, für Umbrüche in Klammern). Zwei Backticks ` und zwei Apostrophe ''` werden zu richtigen öffnenden und schließenden doppelten Anführungszeichen. Diese Konvertierungen basieren auf den Western-Font-Metriken; Es ist kein spezieller Befehl erforderlich.

Aber wenn eine Ligatur über eine Morphemgrenze hinausgeht – die Nahtstelle, an der ein Wort aus Teilen gebildet wurde –, kann dies die Lesbarkeit beeinträchtigen. Das klassische Beispiel ist shelfful (shelf + ful): Durch die Fusion von ff wird die Verbindung zwischen shelf und ful ausgeblendet. Knuth zitiert genau dieses Wort in *The TeXbook* und sagt, es sollte als shelf\/ful festgelegt werden. halflife, offhand und wolffish sind von der gleichen Art. Im Japanischen gibt es dieses Problem nicht, aber es ist eine Gefahr, die man kennen sollte, wenn man ernsthaft westliche Texte vertont.

Es gibt drei traditionelle Möglichkeiten, eine unerwünschte Ligatur aufzubrechen. f\/f fügt zwischen den beiden fs eine kursive Korrektur \/ ein – einen winzigen Zwischenraum in der Größe des Buchstabenüberhangs (das hat Knuth verwendet). f{}f fügt eine leere Gruppe {} ein. f\kern0pt f fügt einen Kern mit der Breite Null ein. Alle drei entfernen die Ligatur, aber beachten Sie einen klassischen Fallstrick: Das Einfügen eines solchen Umbruchs in ein Wort kann die Silbentrennung für dieses Wort ausschalten. Bei kurzen Wörtern ist der praktische Schaden vernachlässigbar.

latex
shelf\/ful      % italic correction — Knuth's example
shelf{}ful      % empty group
shelf\kern0pt ful  % zero-width kern

Wenn Sie LuaLaTeX verwenden, ist das Paket selnolig die schönere Lösung. Es trägt englische Morphologie als Muster und unterdrückt automatisch unerwünschte Ligaturen in Wörtern wie shelfful oder wolffish – ohne Markup in Ihrem Text und unter Beibehaltung der Silbentrennung. Um umgekehrt *alle* Ligaturen zu deaktivieren, kann microtype (unten) sie pro Schriftart an einer Stelle deaktivieren.

Kerning

Ein Kern passt den Abstand zwischen einem bestimmten Paar benachbarter Buchstaben an – er schließt oder öffnet ihn, sodass der Abstand gleichmäßig aussieht. Die Standardbeispiele sind Paare wie AV, To, Wa und LT, die aufgrund der Schräg- und Seitenneigungen der Buchstaben ohne Hilfe lückenhaft aussehen. TeX macht dies auch automatisch. Jede Western-Schriftart liefert eine Tabelle mit Kerning-Paaren – „Schließe dieses Paar um so viel, öffne dieses“ – in ihren Schriftmetriken (eine .tfm-Datei in der pdfLaTeX-Welt oder eine Tabelle innerhalb der Schriftart für OpenType-Gesichter), und TeX liest sie, um den Abstand festzulegen.

Der entscheidende Punkt: Sowohl Ligaturen als auch Kerning sind in Ihrer Quelle unsichtbar und werden automatisch von den Schriftartmetriken angewendet. Normalerweise müssen Sie darüber überhaupt nicht nachdenken. Nur wenn Sie eine Lücke manuell verschieben möchten, fügen Sie mit \kern und einer expliziten Länge ein kleines Leerzeichen (oder ein negatives Leerzeichen zum Verkleinern) hinzu. Und um ein ganzes Wort gleichmäßig zu verfolgen oder mit Buchstaben zu versehen, verteilen Sie Ihre eigenen \kerns nicht – verwenden Sie microtypes \textls (unten), damit die Silbentrennung funktioniert.

Wortabstände, Blocksatz und Silbentrennung

Was die Einstellung von TeX besonders schön macht, ist, dass sie Zeilenumbrüche auswählt, indem sie den gesamten Absatz auf einmal betrachtet. Während viele Textverarbeitungsprogramme eine Zeile nach der anderen korrigieren, verwendet TeX den Knuth-Plass-Algorithmus, um ganze Kombinationen von Haltepunkten auszuwerten und die Unterteilung auszuwählen, die minimiert, wie sehr sich die Wortzwischenräume über den Absatz hinweg ausdehnen oder verkleinern müssen. Die Ausrichtung wird in diesem Prozess durch Dehnen und Schrumpfen des Zwischenwortklebers erreicht, sodass die Linien die gleiche Breite erreichen.

Um Zeilen gut zu packen, trennt TeX Wörter automatisch an Silbengrenzen mit sprachspezifischen Silbentrennungsmustern. Die entscheidende Tatsache ist, dass Muster sprachabhängig sind: Das Brechen von Deutsch oder Französisch nach englischen Regeln führt zu falschen Ergebnissen. Sie deklarieren also die Sprache des Dokuments mit babel (oder polyglossia für LuaLaTeX/XeLaTeX), wodurch die richtigen Muster dafür geladen werden. Dies ist eine Voraussetzung für die korrekte Textsetzung, keine Dekoration.

Die automatische Silbentrennung ist clever, kann aber dazu führen, dass Eigennamen und Fachbegriffe falsch eingeschätzt werden. Die Heilmittel gibt es in drei Stufen. (1) Damit ein bestimmtes Wort immer nur an ausgewählten Stellen umbricht, listen Sie es in der Präambel in \hyphenation{...} auf und markieren Sie die zulässigen Stellen mit - (durch Leerzeichen getrennte Wörter). (2) Für einen einmaligen Haltepunkt fügen Sie \- (einen freiwilligen Bindestrich) in das Wort ein – aber beachten Sie, dass das Hinzufügen von \- bedeutet, dass das Wort dann nur dort umgebrochen werden kann. (3) Um das Umbrechen eines Wortes überhaupt zu verhindern, schließen Sie es in \mbox{...} ein.

latex
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[english]{babel}  % load English hyphenation patterns
\hyphenation{FORTRAN manu-script data-base}  % global exceptions
\begin{document}
We rewrote the man\-u\-script in \mbox{FORTRAN} overnight.
\end{document}

Sie können die Dichte eines Absatzes mit zwei Deklarationen einstellen. \sloppy toleriert größere Abstände zwischen Wörtern, um zu vermeiden, dass Zeilen den Rand überschreiten (überfüllte Kästchen), während \fussy (die Standardeinstellung) die Abstände strikt einhält, allerdings auf Kosten weiterer Überschreitungen (die Warnung „Overfull \hbox“). Um nur einen Absatz zu lockern, packen Sie ihn in die sloppypar-Umgebung ein. Da \sloppy jedoch häufig Lücken in den Zeilen hinterlässt, führt eine Überarbeitung des Wortlauts oder das Hinzufügen eines einzelnen \- normalerweise zu einem schöneren Ergebnis.

Polieren mit microtype

Schließlich ist microtype das Paket, das den westlichen Schriftsatz sichtbar verbessert. Eine einzelne Zeile, \usepackage{microtype}, schaltet standardmäßig die beiden mikrotypografischen Verfeinerungen ein, die pdfTeX bietet. Eine davon ist Zeichenvorsprung (Randkerning): Satzzeichen am Zeilenende und runde oder schräge Buchstaben wie o und A werden um Haaresbreite über den rechten Rand hinausgeschoben, sodass der Rand optisch gleichmäßig aussieht. Die andere ist die Schrifterweiterung: Die Glyphen jeder Zeile werden um einen winzigen Betrag (einen Bruchteil eines Prozents) gedehnt oder gestaucht, wodurch ein Teil der Arbeit des Zwischenwortklebers übernommen wird und ein einheitlicherer, fester gesetzter Absatz entsteht.

Darüber hinaus bietet das Paket auch Anpassung des Wortabstands, zusätzliches Kerning, getrennte Buchstabenabstände (\textls{...}) und die Deaktivierung von Ligaturen. Welche Funktionen verfügbar sind hängt von der Engine ab. Protrusion funktioniert mit pdfTeX, LuaTeX und XeTeX; Die Erweiterung funktioniert nur mit pdfTeX und LuaTeX (nicht mit XeTeX); Das Deaktivieren von Ligaturen funktioniert mit pdfTeX und LuaTeX. Das Paket aktiviert standardmäßig nur das, was sicher auf Ihrer Engine ausgeführt werden kann. Daher reicht es aus, es ohne Optionen zu laden, um zu starten.

latex
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{microtype}  % protrusion + expansion, on by default
\begin{document}
Long justified paragraphs look noticeably more even with microtype:
fewer rivers of white space, tidier right margins, and \textls{LETTERSPACED}
small caps when you ask for them.
\end{document}

Die Anpassungen sind subtil – nicht auf den ersten Blick erkennbar – aber auf einer Seite zeigen sie sich als weniger Leerzeichenflüsse, gleichmäßigere Zeilenabschlüsse und weniger Silbentrennung. Für ernsthafte westliche Schriftsätze ist das Hinzufügen von microtype praktisch eine Standardmaßnahme – eine nahezu obligatorische Qualitätsverbesserung. Und diese Effekte gelten wiederum für westlichen (lateinischen) Text. Japanisch verfügt über ein eigenes Satzmodell, das sich von Vorsprung und Ausdehnung unterscheidet und von Tools wie luatexja verwaltet wird.

Erstellen Sie einen Proof-Pass für westliche Texte

Selbst in Manuskripten mit Schwerpunkt auf Japanisch sorgt ein spezieller Korrekturdurchlauf für westliche Überschriften, Bibliografieeinträge, URLs, Namen und Paketnamen für ein stabileres Finish. Überprüfen Sie in diesem westlichen Textdurchlauf Eigennamen, bei denen Ligaturen unterdrückt werden sollten, technische Begriffe, die getrennt werden können, und überfüllte Zeilen, die nach microtype verbleiben. Im Gegensatz zur Absatzplanung ist diese Arbeit gegen Ende am effizientesten, wenn der Text größtenteils fertig ist.

  • Eigennamen: Entscheiden Sie, ob Ligaturen wie ff und fi in Logos oder Personennamen unterdrückt werden sollen, und brechen Sie sie nur dort, wo sie benötigt werden, lokal mit {} oder \kern0pt auf.
  • Technische Begriffe: Fügen Sie \hyphenation{...} oder \- für wiederkehrende lange Wörter hinzu, damit Sie nicht jede Zeile manuell ausbessern.
  • Körperqualität: Beurteilen Sie den Absatz nach dem Laden von \usepackage{microtype}. Wenn Sie zuerst zu \sloppy springen, wird der Abstand häufig gelockert.
  • Japanischer Schriftsatz: Optimieren Sie ihn über die Engine und das japanische Paketmodell, nicht über microtype.