Unter den Seitenumbruch-Befehlen von LaTeX unterscheiden sich \newpage und \pagebreak in latex.ltx um genau ein \vfil. \newpage lautet \vfil \penalty -10000, \pagebreak ist dasselbe \penalty -10000 ohne das \vfil. Dieser eine unendlich dehnbare Zwischenraum entscheidet darüber, ob der Rest der Seite als Weiß verworfen oder der Text bis zum unteren Rand gedehnt wird. \clearpage geht noch einen Schritt weiter und setzt \penalty -10001 — einen Wert, der um eins größer ist als die Unendlichkeit von TeX, und genau das treibt die wartenden Gleitobjekte hinaus. Diese Seite behandelt \pagebreak[n], \newpage, \clearpage, \cleardoublepage, \nopagebreak[n], \samepage, needspace und \enlargethispage — samt den Ergebnissen tatsächlicher Testläufe.
Zunächst die Ebene klarstellen. Diese Seite behandelt die Befehle, die vor Ort in einen Seitenumbruch eingreifen. Der dokumentweite Rhythmus — \widowpenalty und \clubpenalty (in den Standardklassen beide voreingestellt auf 150), die Wahl zwischen \raggedbottom und \flushbottom, der Seitenanteil für Gleitobjekte sowie die Diagnose, warum eine Seite gerade dort endete — wird auf der Seite zum Entwurf von Seitenumbrüchen ausführlich behandelt. Deren Grundregel gilt auch hier: Seitenumbrüche zuletzt abstimmen. Ein einziges zusätzliches Zeichen verschiebt alle folgenden Umbrüche; wer \newpage verstreut, bevor der Text steht, hinterlässt nach jeder Überarbeitung seltsame Lücken. Alles Folgende ist Werkzeug für den letzten Arbeitsgang.
\pagebreak und \newpage: den Rest dehnen oder verwerfen
Beide beenden die Seite an dieser Stelle, behandeln den verbleibenden vertikalen Raum aber gegensätzlich. \newpage setzt vor dem Umbruch ein \vfil, und dieser unendlich dehnbare Raum saugt alles Übrige auf — der Fuß der Seite bleibt schlicht weiß. \pagebreak setzt kein \vfil, also wird die ohnehin vorhandene Glue der Seite (Durchschuss und Ähnliches) gedehnt und der Text reicht bis zum unteren Rand. Die Wahl: \newpage, wenn „hier ist Schluss“ gemeint ist, etwa am Kapitelende; \pagebreak, wenn lieber der Durchschuss ein wenig aufgeht, als dass die Seite kurz bleibt. Eine Nebenwirkung: \pagebreak kann mitten im Absatz umbrechen.
Das n in \pagebreak[n] nutzt exakt dieselbe Mechanik wie \linebreak[n] auf der Zeilenseite: Es läuft durch \@getpen in latex.ltx und übersetzt sich mit den Werten aus article.cls in 0, 51, 151, 301 und 10000. \pagebreak setzt sie negativ, \nopagebreak positiv; ohne Argument gilt bei beiden 4, also ∓10000. Es genügt zu merken: [0] ist die Erlaubnis, hier zu brechen, und nur [4] ist ein Befehl. In einem Dokument unter \flushbottom — einem twoside-article oder book in der Voreinstellung — kann \pagebreak dazu führen, dass die Seite nicht gefüllt werden kann: Underfull \vbox (badness 10000) has occurred while \output is active. Gemessen: Diese Zeile erschien im Log, sobald in einem twoside-article ein \pagebreak mitten in einem Absatz stand. Unter \raggedbottom bleibt die Warnung aus, weil eine kurze Seite erlaubt ist.
\clearpage und \newpage: warum eine Abbildung im nächsten Abschnitt strandet
\clearpage gibt sämtliche wartenden Gleitobjekte (figure und table) aus, bevor es umbricht; \newpage tut das nicht. Wie viel das ausmacht, zeigt eine Messung. Ein Dokument aus Fließtext, Abbildung A, Abbildung B und anschließend einem \section* wurde dreimal übersetzt. Ohne Zusatz trägt Seite 1 die Überschrift und Abbildung A, Seite 2 Abbildung B. Mit \newpage bleibt es bei zwei Seiten, aber Überschrift und Abbildung B teilen sich nun Seite 2 — der Abschnitt, der nach den Abbildungen kommen sollte, ist vor Abbildung B gerutscht. Mit \clearpage werden es drei Seiten: Abbildung A auf Seite 1, Abbildung B auf Seite 2, und erst dann die Überschrift auf Seite 3. Trägt die Reihenfolge der Abbildungen Bedeutung, gehört an die Abschnittsgrenze ein \clearpage.
\begin{figure}[b]\centering\rule{4cm}{3cm}\caption{Figure A}\end{figure}
\begin{figure}[b]\centering\rule{4cm}{3cm}\caption{Figure B}\end{figure}
% \newpage -> heading and Figure B end up together on page 2
% \clearpage -> Figure A p.1, Figure B p.2, heading p.3
\clearpage
\section*{This section must come after its figures}Der Kniff steckt in der Definition selbst. \clearpage ruft \newpage auf und setzt danach \write\m@ne{}, eine leere \vbox{} und \penalty -\@Mi. \@Mi ist 10001 — um eins größer als die Unendlichkeit von TeX —, was die Ausgaberoutine ein weiteres Mal laufen lässt und die Warteschlange der zurückgestellten Gleitobjekte leert. Eine Warnung dazu: Im Zweispaltensatz beendet \newpage nur die Spalte. Gemessen: In einem twocolumn-article fiel der Text nach einem \newpage in die rechte Spalte derselben Seite, die Seite wechselte nicht; erst \clearpage im selben Dokument sprang auf die nächste Seite. Für einen echten Seitenwechsel im Zweispaltensatz also \clearpage oder \cleardoublepage.
\cleardoublepage: ein Kapitel stets auf einer rechten Seite beginnen
\cleardoublepage führt \clearpage aus und fügt dann, nur unter twoside, eine leere Seite ein, damit der folgende Text auf einer ungeraden (rechten) Seite beginnt. Die Definition ist kurz genug, um sie vorzulesen: nach \clearpage, falls twoside gilt und die Seitenzahl gerade ist, \hbox{}\newpage. Dieses \hbox{} lässt die Seite nicht leer erscheinen; ohne es würde die Leerseite verworfen statt ausgegeben. Im Zweispaltensatz wird der Schritt zweimal ausgeführt. Das ist der Mechanismus hinter gebundenen Büchern, deren Kapitel stets rechts beginnen; \chapter der Klasse book ruft ihn voreingestellt auf. Im einseitigen Druck trifft die Bedingung nie zu, das Verhalten entspricht dann \clearpage.
Hier keinen Seitenumbruch: \nopagebreak wirkt, \samepage nicht
\samepage kann aufeinanderfolgende Absätze nicht zusammenhalten. Die Messung ist unnachsichtig, deshalb zuerst: In einem Dokument mit sechs einzeiligen Absätzen nahe dem Seitenfuß landen ohne Zutun BLOCK1–4 auf Seite 1 und BLOCK5–6 auf Seite 2. Schließt man die sechs Absätze in \begin{samepage} … \end{samepage} ein oder gruppiert sie als {\samepage …}, ist die Aufteilung exakt dieselbe. Die Definition erklärt es: \samepage ist eine Deklaration, die neun Parameter — \interlinepenalty, \predisplaypenalty, \postdisplaypenalty, \interdisplaylinepenalty, \@beginparpenalty, \@endparpenalty, \@itempenalty, \@secpenalty und \interfootnotelinepenalty — auf \@M (10000) setzt, und keiner dieser neun regelt die Naht zwischen zwei Absätzen. Geschützt sind das Absatzinnere, die Abstände zwischen Listeneinträgen und der Bereich um abgesetzte Formeln; ein gewöhnlicher Absatzwechsel geht ungehindert durch.
Soll genau eine Naht geschützt werden, ist \nopagebreak[n] die richtige Antwort. Im selben Versuch verschob ein \nopagebreak an der Grenze BLOCK4/BLOCK5 den Umbruch zwischen 3 und 4, und BLOCK4 wanderte mit BLOCK5 und 6 auf die nächste Seite. Ob unmittelbar vor oder nach dem Absatz gesetzt, machte keinen Unterschied. \nopagebreak setzt lediglich eine Penalty an dieser Stelle — im horizontalen Modus über \vadjust, im vertikalen direkt — und ist damit das verlässlichste Werkzeug, wenn feststeht, welche Naht nicht reißen darf: zwischen einer Überschrift und dem folgenden Text oder zwischen einer Abbildung und ihrer Erläuterung. Für die andere Bitte „diesen ganzen Block von N Zeilen zusammenhalten“ eignet sich das nachfolgende needspace besser.
% Measured: six one-line paragraphs at the foot of a page split 4 | 5.
% \samepage around all six changes nothing.
% \nopagebreak at the seam moves the split to 3 | 4.
BLOCK4\par\nopagebreak
BLOCK5\par
% Reserve room instead of forbidding a break:
\usepackage{needspace}
\needspace{6\baselineskip}
% Or make just this one page one line taller:
\enlargethispage{\baselineskip}Das Paket needspace: „neue Seite, wenn keine sechs Zeilen mehr passen“
\needspace{6\baselineskip} ist eine Bedingung: „Bleibt von hier bis zum Seitenfuß keine Höhe von sechs Zeilen mehr, dann brich jetzt um.“ Ergänzt man das Experiment, an dem \samepage scheiterte, um \usepackage{needspace} und setzt \needspace{6\baselineskip} vor die sechs Absätze, so wandern BLOCK1 bis 6 vollständig auf Seite 2. Da es Platz reserviert statt einen Umbruch zu verbieten, versagt es nie stillschweigend wie \samepage. Die Länge als Vielfaches von \baselineskip zu schreiben ist am anschaulichsten, pt oder cm gehen ebenso. Daneben gibt es \Needspace{...}, das den Platz genauer reserviert, und \Needspace*{...}, das unter \flushbottom eine kurze Seite am Fuß bündig hält; diese beiden werden zwischen Absätzen verwendet. Es ist der geradlinigste Weg, eine allein am Seitenfuß gestrandete Überschrift zu verhindern.
\enlargethispage: nur diese eine Seite um eine Zeile höher
\enlargethispage{\baselineskip} vergrößert vorübergehend nur die \textheight der aktuellen Seite, sodass eine Zeile mehr hineinpasst. Die Wirkung lässt sich abzählen. In einem article mit 120 einzeiligen Absätzen endete Seite 1 unverändert bei LINE46. Mit \enlargethispage{\baselineskip} wird daraus LINE47, mit {2\baselineskip} LINE48, und eine negative Länge {-\baselineskip} schrumpft die Seite auf LINE45. Genau das Gewünschte. Die Umsetzung ist erfrischend ehrlich: latex.ltx täuscht die Zielhöhe der Seite, indem es ein negatives \vskip in einen Insert namens \@kludgeins schiebt — LaTeX selbst nennt den Mechanismus einen Kludge, was einiges über den Charakter des Befehls verrät. Muss eine Zeile auch um den Preis engerer Abstände hinein, nimmt man die Sternform \enlargethispage*{\baselineskip}.
Der übliche Anlass für diesen Befehl ist das Aufräumen einer gestrandeten Zeile. Bleibt die letzte Zeile eines Absatzes allein oben auf der Folgeseite stehen — ein Hurenkind —, holt \enlargethispage{\baselineskip} sie zurück, indem es jene Seite um eine Zeile erhöht. Man kann Hurenkinder auch dokumentweit verbieten, indem man \widowpenalty auf 10000 setzt; der Preis dafür — nicht mehr fluchtende Seitenfüße und ein Underfull \vbox unter \flushbottom — wird auf der Seite zum Entwurf von Seitenumbrüchen mit Messungen verglichen. Die Regel für den letzten Durchgang lautet: die Mehrheit über eine globale Einstellung erledigen, die wenigen Überlebenden dann einzeln mit \enlargethispage. Neben eine von Hand gesetzte Zeile gehört immer ein Kommentar. Nach einer Textüberarbeitung sagt einem nur dieser Kommentar, ob die Korrektur inzwischen schadet.
| Befehl | Was er tut | Vorsicht |
|---|---|---|
\pagebreak[n] | Setzt Penalty −(0/51/151/301/10000); kein \vfil, der Text wird bis zum Fuß gedehnt | Kann mitten im Absatz brechen; unter \flushbottom droht Underfull \vbox |
\newpage | \vfil \penalty -10000; lässt den Rest der Seite weiß | Im Zweispaltensatz endet nur die Spalte; Gleitobjekte bleiben liegen |
\clearpage | \newpage plus \penalty -10001; gibt vor dem Umbruch alle wartenden Gleitobjekte aus | Gehört an eine Abschnittsgrenze; mitten im Text bleibt ein großes Loch |
\cleardoublepage | \clearpage, dann unter twoside Fortsetzung auf ungerader (rechter) Seite, ggf. mit Leerseite | Unter oneside identisch zu \clearpage; im Zweispaltensatz zweimal ausgeführt |
\nopagebreak[n] | Setzt an dieser Stelle Penalty +(0/51/151/301/10000) | Am verlässlichsten bei einer bestimmten Naht – Überschrift und zugehöriger Text |
\samepage | Deklaration, die neun Penalties auf 10000 setzt (auch als gleichnamige Umgebung nutzbar) | Wirkt nicht zwischen Absätzen. Gemessen: Der Umbruch BLOCK4/5 blieb bestehen |
\needspace{N\baselineskip} | Bricht um, wenn keine N Zeilen Platz mehr bleiben (Paket needspace) | Reserviert, statt zu verbieten – ideal, um eine Überschrift bei ihrem Text zu halten |
\enlargethispage{\baselineskip} | Vergrößert vorübergehend nur die \textheight dieser Seite; gemessen wurde aus LINE46 LINE47 | Negative Länge verkleinert; die Sternform presst eine Zeile hinein |
Der Umbruchdurchgang: was in welcher Reihenfolge zu prüfen ist
Der Umbruchdurchgang beginnt erst, wenn Text, Gleitobjekte und Literaturverzeichnis vollständig stehen. Es gibt eine Reihenfolge. Zuerst prüfen, ob sich Gleitobjekte stauen, und sie nötigenfalls mit \clearpage ausspülen. Dann jede Überschrift schützen, die am Seitenfuß zu stranden droht — mit needspace. Zuletzt die auffälligen gestrandeten Zeilen einzeln mit \enlargethispage behandeln. \newpage nur dort verstreuen, wo die Kapitelstruktur es wirklich verlangt. Zu jedem Eingriff gehört ein Kommentar mit der Begründung — in einem halben Jahr weiß niemand mehr, warum dieses \enlargethispage dort steht.
- An Kapitel- und Anhangsgrenzen
\clearpageoder\cleardoublepage. Das verhindert, dass Abbildungen in den nächsten Teil abdriften; im Zweispaltensatz genügt\newpagenicht. - Vor einer Überschrift etwa
\needspace{3\baselineskip}reservieren. Platz reservieren statt Umbruch verbieten — und sich nicht auf\samepageverlassen. - Steht eine bestimmte Naht auf dem Spiel,
\nopagebreak. Eine Abbildung und ihre Erläuterung; eine Überschrift und ihr erster Absatz. - Für eine einzelne gestrandete Zeile
\enlargethispage{\baselineskip}. Vor dem Eingriff sowohl die Weißmenge als auch die Flucht der Seitenfüße prüfen. - Jeden von Hand gesetzten Umbruch kommentieren. Nur diese eine Zeile verrät später, ob er nach einer Textänderung wieder verschwinden muss.