Der überdimensionierte Anfangsbuchstabe, der zu Kapitelbeginn in die ersten Zeilen hineinragt, heißt im Englischen drop cap und im Französischen lettrine. In LaTeX übernimmt das Paket, das genau diesen Namen trägt: lettrine von Daniel Flipo (v2.60 vom 2024-01-20 in TeX Live 2024). Der Zierrat wirkt wie eine reine Äußerlichkeit, doch die Umsetzung ist geradezu besessen genau: lettrine setzt tatsächlich eine vierbuchstabige Referenzzeichenkette EFTZ, misst deren Höhe und errechnet den Skalierungsfaktor mit \fpeval aus xfp. Gemessen: Bei einer Zielhöhe von 28.98666pt kam der Buchstabe auf 28.98679pt — Abweichung 0.00013pt. Diese Seite behandelt die beiden obligatorischen Argumente von \lettrine, die Optionen lines=, lhang=, loversize= und findent=, das darunterliegende \parshape mit \llap sowie das tatsächliche Verhalten in Listen, im Zweispaltensatz und im Japanischen.
\lettrine verwenden: zwei Argumente, kein Leerzeichen dazwischen
\usepackage{lettrine} in die Präambel schreiben und den Absatz mit \lettrine[Optionen]{T}{he rest} beginnen. Es gibt zwei obligatorische Argumente. Das erste, {T}, ist die abgesenkte Initiale selbst; das zweite, {he rest}, ist der anschließende Text, standardmäßig in Kapitälchen gesetzt. Der übrige Absatz umfließt die Initiale dann automatisch rechts. Zwischen {T} und {he rest} darf kein Leerzeichen stehen — der Rest des ersten Wortes gehört unmittelbar ins zweite Argument. Dieses darf leer sein: \lettrine{T}{} senkt nur die Initiale ab und beginnt das folgende Wort in der gewöhnlichen Schrift.
\documentclass{article}
\usepackage{lettrine}
\usepackage{lmodern} % a fully scalable font — see below
\begin{document}
\lettrine{L}{orem} ipsum dolor sit amet, consectetur
adipiscing elit, sed do eiusmod tempor incididunt ut
labore et dolore magna aliqua.
\end{document}Hier lauert eine Falle. Da lettrine die Initiale auf eine beliebige Größe skaliert, braucht es eine Schrift, die in jeder Größe verfügbar ist. Computer Modern (CM) und die EC-Fonts bringen von Haus aus nur eine feste Staffel von Graden mit; eine angeforderte Größe außerhalb der Staffel wird durch die nächstliegende ersetzt, und die Initiale füllt die gewünschte Zeilenzahl nicht mehr aus. Sicher ist es, \usepackage{lmodern} (Latin Modern) zu ergänzen oder eine PostScript-/OpenType-Schrift wie Palatino oder Times zu verwenden. Wer bei CM bleiben muss, lädt \usepackage{type1cm}, bei EC \usepackage{type1ec}. Ob eine Ersetzung stattfand, verrät das Log: Eine Zeile wie LaTeX Font Warning: Font shape ... in size <31.53638> not available (Font) size <24.88> substituted bedeutet, dass die Initiale kleiner ausfiel als beabsichtigt.
Was darunter geschieht: nicht \hangindent, sondern \parshape und \llap
lettrine verwendet kein \hangindent. Die übliche Beschreibung einer selbstgebauten Initiale — „die ersten Zeilen mit \hangindent und \hangafter einrücken und einen großen Buchstaben in die Lücke setzen“ — trifft auf lettrine.sty nicht zu. Es setzt die Initiale mit \sbox in eine Box, baut dann ein \parshape: eine Liste von (Einzug, Zeilenlänge)-Paaren, eines je Zeile, hebt den Absatzeinzug mit \noindent auf und schiebt die Box mit \llap zum linken Rand hinaus. Während \hangindent nur „ein fester Einzug für die ersten n Zeilen“ ausdrücken kann, erlaubt \parshape jeder Zeile einen eigenen Einzug. Genau deshalb kann die Option slope= die linke Textkante der schrägen Kontur eines A oder V folgen lassen.
Wer weiß, wie die Höhe zustande kommt, versteht lines= anders. lines=n heißt nicht „n mal \baselineskip“. Die Zielhöhe beträgt (n − 1) Zeilenabstände plus die x-Höhe der Anschlussschrift (\LettrineTextFont, voreingestellt \scshape). Gemessen in einem 10-pt-article: \baselineskip ist 12.0pt, die Höhe von \scshape x beträgt 4.98666pt; bei lines=3 steht im Log als Ziel 28.98666pt, also exakt 12 × 2 + 4.98666. Der tatsächlich erzeugte Buchstabe maß 28.98679pt. Diese beiden Zeilen werden bei jedem Lauf ins .log geschrieben — fällt eine Initiale falsch aus, sind sie die erste Anlaufstelle: Eine Fontersetzung zeigt sich als große Differenz zwischen Ziel und Ergebnis.
% lettrine reports both numbers in the .log on every run:
% Package lettrine.sty Info: Targeted height = 28.98666pt
% (lettrine.sty) (for loversize=0, accent excluded),
% (lettrine.sty) Lettrine height = 28.98679pt (L);
%
% Read them when an initial comes out the wrong size:
% pdflatex doc.tex && grep -A3 "Targeted height" doc.logDie wichtigen Optionen: lines=, lhang=, loversize=, findent=
Das Aussehen wird über kommagetrennte Optionen in den eckigen Klammern eingestellt. Vier davon leisten die Hauptarbeit: lines= bestimmt, über wie viele Zeilen die Initiale reicht, lhang=, wie weit sie in den linken Rand hineinragt, loversize=, wie stark sie über diese Zeilenzahl hinaus vergrößert wird, und findent= den Abstand zwischen Initiale und erster Textzeile. In der Praxis lohnt sich vor allem lhang=: Runde Buchstaben wie O und C wirken optisch besser ausgerichtet, wenn sie leicht überhängen dürfen (üblich sind 0,1 bis 0,2), ebenso ein T, dessen Querbalken oben links vorsteht. Buchstaben mit senkrechter linker Kante wie H oder N bleiben bei 0. Alle Werte sind Anteile der eigenen Breite oder Höhe des Buchstabens, das visuelle Verhältnis übersteht daher einen Schriftwechsel.
| Option | Bedeutung | Voreinstellung |
|---|---|---|
lines | Höhe der Initiale: (n−1) Zeilenabstände plus x-Höhe der Anschlussschrift | 2 |
lhang | Anteil der Buchstabenbreite, der in den linken Rand ragt (0–1); gut für O, C, T | 0 |
loversize | Anteil, um den die Zielhöhe vergrößert wird (−1 bis 1); 0,1 bedeutet 10 % höher | 0 |
lraise | Hebt die Initiale um diesen Anteil ihrer eigenen Höhe an | 0 |
findent | Abstand zwischen Initiale und erster Textzeile | 0pt |
nindent | Einzug der zweiten und folgenden Zeilen | 0.5em |
slope | Neigung der linken Textkante, für schräge Buchstaben wie A und V | 0pt |
depth | Wie viele Zeilen tiefer die Initiale als üblich reicht | 0 |
ante | Material unmittelbar vor der Initiale, etwa ein französisches Guillemet | keines |
image | Ein Bild als Initiale; benötigt graphicx, viewport= kann es beschneiden | false |
refstring | Ersetzt die Referenzzeichenkette für die Höhe, wenn EFTZ zu einer Zierschrift nicht passt | EFTZ |
Dieselben Schlüssel lassen sich beim Laden des Pakets angeben und werden dort zu dokumentweiten Voreinstellungen. \usepackage[lines=3]{lettrine} macht drei Zeilen zum Standard, während Optionen an einem einzelnen \lettrine[...] ihn lokal überschreiben. Braucht ein bestimmter Buchstabe stets dieselbe Behandlung, lässt sich mit \LettrineOptionsFor{O}{lhang=0.2} eine Voreinstellung je Buchstabe hinterlegen. Damit wird „die runden Buchstaben überhängen lassen“ zu einer einmaligen statt einer wiederkehrenden Arbeit.
Schrift und Farbe der Initiale: \LettrineFontHook richtig einsetzen
Die Schrift der Initiale wird gesetzt, indem \LettrineFontHook per \renewcommand neu definiert wird. Die Größe ergibt sich aus der Zeilenzahl; \LettrineFont muss man nicht anfassen. Der Hook nimmt systemnahe Fontbefehle auf: Mit \fontfamily{ppl}\fontseries{bx}\fontshape{sl} erscheint allein die Initiale in Palatino fett kursiv geneigt. Unter LuaLaTeX oder XeLaTeX führt der Weg über fontspec — \renewcommand{\LettrineFontHook}{\fontspec{LinLibertine_I.otf}} wechselt zu den Zierinitialen von Linux Libertine. Der Anschlusstext (das zweite Argument) hat einen eigenen Hook, \LettrineTextFont, voreingestellt auf \scshape. Sollen die Kapitälchen weg, genügt \renewcommand{\LettrineTextFont}{\rmfamily}.
Beim Ändern der Farbe kommt es auf die Klammerart an. Für Grau heißt es \renewcommand{\LettrineFontHook}{\color[gray]{0.5}}. Das häufig zu sehende \color{gray}{0.5} liefert ohne jede Fehlermeldung ein falsches Ergebnis: Setzt man es, wählt \color{gray} die benannte Farbe Grau, und das übrig gebliebene {0.5} wird als Text gesetzt — links unten neben der Initiale erscheint also ein kleines „0.5“. Der Inhalt des Hooks wird unmittelbar innerhalb der \sbox ausgeführt; alles, was Zeichen erzeugt, erzeugt eben Zeichen. Für eine benannte Farbe \color{gray}, für einen Graustufenwert \color[gray]{0.5} — eines von beiden, niemals vermischt.
% Palatino, bold, slanted — for the dropped capital only
\renewcommand{\LettrineFontHook}{\fontfamily{ppl}\fontseries{bx}\fontshape{sl}}
% Grey. NOT \color{gray}{0.5} — that silently prints "0.5" beside the cap.
\renewcommand{\LettrineFontHook}{\color[gray]{0.5}}
% Drop the small capitals on the run-on text
\renewcommand{\LettrineTextFont}{\rmfamily}
% Three lines tall, hanging 20% of its width into the margin
\lettrine[lines=3, lhang=0.2]{T}{his is} the opening paragraph of a chapter.
% A slanted letter wants its own contour:
\lettrine[lines=4, lraise=0.1, nindent=0em, slope=-.5em]{V}{oici} le texte.Wo es schiefgeht: mitten im Absatz, in Listen, im Zweispaltensatz
\lettrine muss den Absatz eröffnen; steht davor etwas Druckbares, geht es stillschweigend kaputt. Übersetzt man Some words come first. \lettrine{L}{orem} …, gibt es weder Fehler noch Warnung — doch „Some words come first.“ landet allein auf einer kurzen, eingezogenen Zeile, und Initiale samt Umfluss beginnen erst darunter. \lettrine setzt ein \parshape für den ganzen Absatz; vorangehendes Material bleibt schlicht außerhalb dieses Entwurfs. Ein vorangestelltes \noindent bricht dagegen nichts: lettrine.sty gibt selbst ein \noindent aus, ein zweites ist harmlos. Kaputt macht es nicht Leerraum, sondern druckbarer Inhalt.
In Listen lässt es sich nicht verwenden. Das sagt die Paketdokumentation ausdrücklich, und die Messung zeigt das Symptom deutlich. Schreibt man \lettrine{I}{nlist} unmittelbar nach einem \item in itemize, übersetzt es sich, warnt vor nichts, und der Umfluss sieht sogar plausibel aus — vergrößert man die Ausgabe jedoch, ist das Aufzählungszeichen über die linke obere Ecke der Initiale gedruckt. Der Grund ist einfach: Sowohl das \item-Label als auch die Initiale werden mit \llap an dieselbe Stelle neben dem linken Rand gesetzt. In quote, quotation und abstract funktioniert es korrekt, in center nur mit [lines=1]. Muss eine Liste innerhalb eines mit \lettrine begonnenen Absatzes stehen, verlangt die Dokumentation direkt nach dem Listenende ein \parshape=0 (ein Absatzwechsel vor oder nach der Liste tut es ebenfalls).
Im Zweispaltensatz wirkt derselbe lines=-Wert völlig anders. Gemessen: Ein Standard-article unter twocolumn behält \textwidth bei 469.0pt, gibt \columnwidth aber 229.5pt, bei \columnsep von 10.0pt. Die Satzbreite ist weniger als halb so groß, die Höhe der Initiale leitet sich jedoch aus \baselineskip ab und bleibt gleich. Der Anteil der Satzbreite, den die Initiale einnimmt, verdoppelt sich damit ungefähr; bei lines=4 werden die ersten vier Zeilen so kurz, dass sie mit auffälligen Wortlücken erscheinen. Im Zweispaltensatz bei lines=2 bleiben, loversize auf 0 lassen und lhang maßvoll halten. Zudem ragt lhang in der rechten Spalte nicht in den Seitenrand, sondern in den Bundsteg (\columnsep) — hier unbedingt mit dem Auge prüfen, dass die Initiale dem Text der Nachbarspalte nicht zu nahe kommt.
Den ersten Buchstaben japanischen Textes vergrößern: was tatsächlich passiert
Übergibt man \lettrine ein Kanji, übersetzt es sich, und die Initiale wird tatsächlich groß gesetzt — die Maße werden jedoch auf der lateinischen Seite berechnet. Mit upLaTeX und jsarticle gesetzt, erzeugte \lettrine{吾}{輩は猫である。} keinen Fehler, im Log stand aber LaTeX Font Warning: Font shape OT1/cmr/m/n in size <31.53638> not available (Font) size <24.88> substituted. lettrine leitet die Höhe aus \LettrineTestString (voreingestellt EFTZ) in der jeweils aktuellen lateinischen Schrift ab, nicht aus der japanischen. \usepackage{lmodern} bringt die Warnung zum Schweigen, doch die Einzüge des Umflusses passen weiterhin nicht zum quadratischen Schriftbild japanischer Zeichen. Hinzu kommt: Das voreingestellte \scshape für das zweite Argument bewirkt bei Kana und Kanji überhaupt nichts — die im Lateinischen selbstverständliche Übergabe von großer Initiale zu Kapitälchen existiert schlicht nicht.
Daraus folgt das praktische Urteil. Geht es nur darum, den ersten Buchstaben am japanischen Kapitelanfang hervorzuheben, ist es weit verlässlicher, das über Überschriftgrad, Zeilenzuteilung, Einzug und Weißraum zu lösen, als \lettrine mit Gewalt hindurchzuzwingen. Soll die abgesenkte Form dennoch sein, muss ein japanischer Schriftbefehl in \LettrineFontHook, die Höhenreferenz per refstring= auf das tatsächlich verwendete Zeichen umgestellt und nindent sowie findent von Hand nachgezogen werden. So oder so passt das quadratische Schriftbild japanischer Zeichen weit schlechter zu einer abgesenkten Initiale als eine lateinische Majuskel. Einen Andruck ausgeben und ansehen, bevor entschieden wird.
Wann einsetzen: nicht schmücken, bevor der Text steht
Eine Initiale ist keine Verständnishilfe, sondern Schmuck, der am Kapitelanfang die Stimmung setzt. Sie kommt daher zuletzt hinein. Die passenden Werte für lines und lhang hängen von der Absatzlänge und vom Zeilenfall ab, jeder hinzugefügte Absatz verlangt also eine erneute Prüfung. In Aufsätzen, Berichten oder Spezifikationen mit vorgeschriebener Form hat sie nichts zu suchen. Ihr Platz sind Essays, Broschüren und Kapitelanfänge von Büchern, deren Seitengestaltung Zierrat willkommen heißt. Und wenn die Entscheidung gefallen ist, gilt: eine Regel für das ganze Dokument — zwei Zeilen im einen, drei im anderen Kapitel ist der klassische Weg, einen Schmuck aufhören zu lassen, Schmuck zu sein.
- Nur im ersten Absatz eines Kapitelanfangs verwenden. Listen,
center(außer mit[lines=1]) und Absätze, die kürzer sind als die Initiale hoch, meiden. - Erst einsetzen, wenn der Text steht.
linesundlhanghängen von der Absatzlänge und vom Zeilenfall ab. - Immer eine skalierbare Schrift verwenden.
lmodernoder Vergleichbares laden und im.logprüfen, obTargeted heightundLettrine heightübereinstimmen. - Eine Buchstabeninitiale einer Bildinitiale vorziehen. So bleibt der Text durchsuchbar und kopierbar.
- Bei japanischen Kapitelanfängen zuerst entscheiden, ob eine westliche Initiale zur Seite passt. Wenn nicht, über Überschriftgrad und Weißraum lösen.