Mikrotypografie (microtype)

microtype ist das Paket, das Blocksatzabsätze sichtbar schöner macht. Es stammt von R. Schlicht. Seine Arbeit ist unspektakulär: Satzzeichen ragen einen Hauch über den Rand, Glyphenbreiten werden um Bruchteile eines Prozents gedehnt oder gestaucht. Auf den ersten Blick sieht man diese Korrekturen kaum, doch über eine Seite hinweg richten sie den rechten Rand aus, glätten Wortabstände und verringern weiße „Flüsse“ sowie überlaufende Zeilen. Meist genügt eine Zeile: \usepackage{microtype}. Diese Seite führt durch protrusion, expansion, tracking und weitere Funktionen — und durch den wichtigen Punkt, dass die verfügbaren Funktionen vom Engine abhängen.

Was microtype ist

TeX setzt bereits gut, doch microtype legt eine Schicht Mikrotypografie darüber — Feinkorrekturen auf der Ebene einzelner Zeichen und der Abstände zwischen ihnen. Diese Funktionen wurden ursprünglich in pdfTeX eingeführt und später teilweise auf LuaTeX und XeTeX übertragen. microtype ist die einheitliche LaTeX-Schnittstelle dazu und verbessert das Erscheinungsbild westlicher Texte in lateinischer Schrift.

Die wichtigsten Funktionen stehen unten. Die ersten beiden — protrusion und font expansion — bilden den Kern und werden standardmäßig aktiviert, sofern sie sicher funktionieren können. Die übrigen schaltet man nach Bedarf per Option ein.

  • Zeichenprotrusion (margin kerning): Satzzeichen und manche Buchstaben leicht über den Rand schieben, damit die Textkante optisch gerade wirkt.
  • Font expansion: Glyphenbreiten jeder Zeile minimal dehnen oder stauchen, Wortabstandsdehnung verringern und die „Farbe“ des Absatzes ausgleichen.
  • Tracking / letterspacing (\textls): Buchstaben eines Wortes oder Abschnitts gleichmäßig sperren — geeignet für Versalien und Kapitälchen.
  • Ligaturen deaktivieren (\DisableLigatures): Ligaturen pro Schrift abschalten; nützlich etwa für Schreibmaschinenschriften.
  • Wortabstands- und Zusatzkerning-Anpassung: die Optionen spacing / kerning (nur pdfTeX).

Beachte, dass dies Verfeinerungen für westlichen Text in lateinischer Schrift sind. Japanisch hat ein eigenes Satzmodell — Zeilenumbruchregeln, Abstände zwischen japanischen und westlichen Zeichen usw. — getrennt von protrusion und expansion und von Werkzeugen wie luatexja behandelt. Grundlegendere automatische westliche Verarbeitung wie Ligaturen und Kerning wird auf der Schwesterseite „Writing Western text“ behandelt.

Zeichenprotrusion

Protrusion (auch margin kerning) lässt Zeichen am Zeilenanfang oder -ende einen Hauch über den Rand hinausragen. Der Grund ist eine optische Täuschung. Setzt man Punkt, Komma oder Bindestrich — oder einen Buchstaben mit runder oder schräger Kontur wie o, A oder v — genau bündig an die Textkante, lässt der Seitenraum der Glyphe die Kante nach innen einsinken. Wenn solche Zeichen leicht hinausragen, wirkt der Rand des Textblocks optisch gerade.

Zeilenend-Satzzeichen vollständig in den Rand zu schieben ist die bekannte Idee der hanging punctuation. Man kann microtype-Protrusion als eine zurückhaltendere, zeichenweise und passend dosierte Variante davon verstehen. Am deutlichsten wirkt sie bei Satzzeichen sowie bei kleinen oder nicht flach konturierten Buchstaben. Protrusion funktioniert mit allen drei großen Engines — pdfTeX, LuaTeX und XeTeX gleichermaßen.

Protrusion wirkt in laufenden Absätzen von selbst, aber nicht dort, wo TeX keinen Rand sieht — etwa in itemize oder tabular. Um dort die erste oder letzte Glyphe hervortreten zu lassen, stellt microtype \leftprotrusion und \rightprotrusion bereit (diese feinere Steuerung benötigt die e-TeX-Erweiterungen).

Font expansion

Font expansion dehnt oder staucht die Glyphen jeder Zeile horizontal um einen winzigen Betrag (typisch von Bruchteilen eines Prozents bis zu wenigen Prozent), damit die Zeilen ins Maß passen. Im Blocksatz wird die Zeilenbreite normalerweise über Dehnen und Stauchen des interword glue erreicht; wenn eine leichte Anpassung der Glyphenbreiten einen Teil davon übernimmt, müssen die Wortabstände weniger stark variieren. Ergebnis sind geringere Abstandswechsel von Zeile zu Zeile und eine gleichmäßigere Absatz-„Farbe“.

Ein praktischer Vorteil sind weniger overfull und underfull boxes (Warnungen zu überlaufenden oder lückigen Zeilen) — der Satz wird eine Stufe glatter. Die Grenzen lassen sich mit stretch und shrink, die Schrittweite mit step einstellen; für den Anfang sind die Vorgaben aber in Ordnung.

Entscheidend ist: Expansion gibt es nur mit pdfTeX und LuaTeX, nicht mit XeTeX. Lädt man microtype unter XeTeX, erhält man weiterhin protrusion und tracking, doch expansion wird automatisch abgeschaltet (ohne Fehler, weil das Paket nur sicher verfügbare Funktionen aktiviert). Wer die vollständige Behandlung einschließlich expansion möchte, sollte zu LuaTeX wechseln.

Tracking und Letterspacing

Tracking (Letterspacing, Sperren) vergrößert die Abstände zwischen Buchstaben gleichmäßig. microtype realisiert tracking nicht durch eingefügte Abstände zwischen Zeichen, sondern durch Erweiterung der schrifteigenen Glyphenabstände; dadurch wird Silbentrennung nicht zerstört. So vermeidet man die Schwäche des klassischen Ansatzes, eigene \kerns im Wort zu verstreuen (was das Umbrechen des Wortes verhindert).

Für gelegentliches Letterspacing nutzt man \textls{...}. Es funktioniert unabhängig davon, ob die Option tracking aktiv ist, sogar im Mathematikmodus. Der Betrag wird in Tausendsteln angegeben (Vorgabe etwa 100/1000) und kann als optionales Argument gesetzt werden, etwa \textls[200]{...}. Für eine Folge nachfolgender Zeichen schaltet \lsstyle Letterspacing bis zum Gruppenende ein. Für Überschriften, bei denen vor und nach dem Text kein zusätzliches Kerning erwünscht ist, ist die Sternform \textls*{...} praktisch.

Für eine ganze Schriftgruppe schreibt man in der Präambel etwa \SetTracking{encoding=*, shape=sc}{40} (dieses Beispiel sperrt Kapitälchen um 40/1000). Eine Warnung: Letterspacing von Kleinbuchstaben gilt traditionell als hässlich. Auch das microtype-Handbuch sagt, man solle grundsätzlich nur Versalien oder Kapitälchen sperren. Tracking funktioniert mit pdfTeX, LuaTeX und XeTeX.

document.tex
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{microtype}
% space out small caps by 40/1000 wherever they appear
\SetTracking{encoding = *, shape = sc}{40}
\begin{document}
\textsc{Small Caps}, and ad-hoc \textls[200]{LETTERSPACED} capitals.
\end{document}

Weitere Funktionen und Konfiguration

Darüber hinaus kann microtype Ligaturen, zusätzliches Kerning und Wortabstände steuern. Zum Deaktivieren von Ligaturen nutzt man \DisableLigatures. Beispielsweise schaltet \DisableLigatures{encoding = T1, family = tt*} Ligaturen für die Schreibmaschinenfamilie in T1-Kodierung ab — nützlich etwa bei Code, wenn -- nicht zu einem Halbgeviertstrich verschmelzen soll. Beachte aber: Wer alle Ligaturen einer Schrift deaktiviert, schaltet auch ihr Kerning ab. Gibt man im optionalen Argument die Anfangszeichen der Ligaturen an, etwa [?,!], werden nur die ausgewählten Ligaturen deaktiviert. Der Befehl darf nur in der Präambel und nur einmal verwendet werden.

Die Optionen kerning und spacing aktivieren zusätzliches Kerning bzw. Wortabstands-Anpassung, sind aber nur für pdfTeX gedacht (unter LuaTeX oder XeTeX bewirken sie nichts). Beide sind standardmäßig aus; aktiviere sie nur bei Bedarf ausdrücklich, etwa mit \usepackage[kerning=true,spacing=true]{microtype}.

Um Einstellungen nach dem Laden zu ändern, verwendet man \microtypesetup{...}. Soll etwa protrusion nur während der Erzeugung des Inhaltsverzeichnisses aus sein, klammere den Abschnitt mit \microtypesetup{protrusion=false} und \microtypesetup{protrusion=true} ein. Für abweichende Einstellungen in einem Dokumentteil schaltet man mit \microtypecontext{...} (oder der Umgebung microtypecontext) den Kontext um. Die Option draft deaktiviert die Mikrotypografie insgesamt und ist nützlich für Vorher-nachher-Vergleiche.

Engine-Unterstützung

Welche Funktionen verfügbar sind, hängt vom TeX-Engine ab. microtype aktiviert automatisch nur das, was auf deinem Engine sicher läuft; daher führt das Laden ohne Optionen nicht zu Fehlern. Trotzdem ist es hilfreich zu wissen, was wirkt und was nicht. Zwei Punkte sind zentral: Expansion gibt es nicht mit XeTeX, und Wortabstand sowie zusätzliches Kerning sind pdfTeX-exklusiv.

FunktionpdfTeXLuaTeXXeTeX
protrusionProtrusionJaJaJa
expansionFont expansionJaJaNein
trackingTracking (Letterspacing)JaJaJa
ligaturesLigaturen deaktivierenJaJaNein
kerningZusätzliches KerningJaNeinNein
spacingWortabstandJaNeinNein

Zusammengefasst ist pdfTeX am leistungsfähigsten (protrusion + expansion + tracking + kerning + spacing), danach LuaTeX (protrusion + expansion + tracking, aber kein kerning oder spacing), und XeTeX bietet nur protrusion und tracking (keine expansion).

Verwendung

Der Grundfall ist nur eine Zeile: \usepackage{microtype}. Damit werden protrusion und expansion (wo der Engine sie unterstützt) standardmäßig aktiviert, und die meisten Dokumente gewinnen sichtbar. microtype ist stabil und fast frei von Nebenwirkungen — es schadet selten, es hinzuzufügen. Für ernsthaften westlichen Satz ist es praktisch Standard, ein nahezu obligatorisches Qualitätsupgrade. Häufig wird es mit fontenc kombiniert ([T1] bei den pdfTeX-Engines).

Hier ist eine etwas ausführlichere Präambel. Sie aktiviert protrusion und expansion ausdrücklich (activate), sperrt Kapitälchen leicht mit \SetTracking und deaktiviert Ligaturen nur für die Schreibmaschinenfamilie, die zur Codeanzeige dient. Die Kommentare zeigen, wofür jede Option gedacht ist.

document.tex
\documentclass{article}
\usepackage[T1]{fontenc}
% protrusion + expansion explicitly on; "final" forces them in draft mode too
\usepackage[activate={true,nocompatibility},final]{microtype}
% letterspace small caps a little (40/1000)
\SetTracking{encoding = *, shape = sc}{40}
% in code, keep "--" as two hyphens (also turns off kerning for this font)
\DisableLigatures{encoding = T1, family = tt*}
\begin{document}
Justified paragraphs look more even, \textsc{small caps} are gently
letterspaced, and \texttt{a--b} stays as two hyphens in code.
\end{document}

Die Korrekturen sind subtil und fallen auf den ersten Blick vielleicht nicht auf. Blättert man aber weiter, sieht man einen ruhigeren rechten Rand, gleichmäßigere Wortabstände und weniger Trennungen oder Überläufe. Als letzte Veredelung gehört microtype unbedingt in den Werkzeugkasten.