Ajuster les sauts de page

LaTeX examine l'ensemble du document et choisit les sauts de page pour vous, mais parfois vous souhaitez intervenir : « cassez la page ici », « n'arrachez pas ce titre de son texte », « une seule première ligne d'un paragraphe s'est retrouvée bloquée en bas ». Les outils se répartissent en trois familles : les commandes qui suggèrent ou forcent une rupture, les dispositifs qui empêchent une rupture et les pénalités qui découragent les veuves et orphelins. Cette page explique quand atteindre chacun.

Suggérer ou forcer une pause

Tout d'abord, les outils qui *changent* la page. La distinction clé ici est entre \pagebreak et \newpage. Les deux terminent la page à ce stade, mais ils traitent l’espace restant de manière opposée. \pagebreak étire l'espace vertical pour que le texte atteigne le bas de la page (la marge inférieure normale), étalant ainsi les choses. \newpage, en revanche, ne s'étire *pas* : il laisse le reste de la page vide et continue.

Le choix à utiliser dépend de l'intention. Pour compresser le texte naturellement vers le bas avant de le casser, utilisez \pagebreak; pour repartir à zéro sur une nouvelle page propre (la fin d'un chapitre, par exemple), utilisez \newpage. Notez, cependant, que \pagebreak peut supprimer le milieu du paragraphe comme effet secondaire. La référence officielle note également que, comme \pagebreak étend l'espace vertical de la page lorsque cela est possible, avec \flushbottom en vigueur, cela peut déclencher un avertissement de sous-boîte pleine ou paraître étrange.

\pagebreak prend un argument de force facultatif \pagebreak[n] (n de 0 à 4). Quatre est une exigence pure et simple et constitue également la valeur par défaut lorsque vous omettez l'argument ; les nombres inférieurs sont des demandes plus douces « si possible », avec \pagebreak[0] équivalant à une simple autorisation de s'interrompre ici. Il suit la même convention que \linebreak[n] pour les lignes : considérez-le comme son homologue au niveau de la page.

Flotteurs de rinçage avec clearpage

Un parent plus fort de \newpage est \clearpage. En plus de terminer la page et de continuer, il affiche d'abord tous les flottants en attente (figures et tableaux), puis s'interrompt. Étant donné que LaTeX fait flotter figure et table là où il le juge le mieux, ils peuvent atterrir sur une page ultérieure à celle où vous les avez écrits. Lorsqu'une section doit venir *après* ses chiffres, mettre \clearpage à la limite vide les flottants accumulés avant le début de la nouvelle page.

Pour l'impression recto verso, \cleardoublepage est utile. Comme \clearpage, il efface les flottants et, sous l'option twoside, il fait démarrer le contenu du corps suivant sur une page de droite, impaire, en insérant une page vierge au verso (pair) si nécessaire. Il s'agit du comportement familier des livres qui ouvrent chaque chapitre sur une page de droite (valeur par défaut dans la classe book). Notez également qu'en mode deux colonnes, \newpage termine uniquement la colonne actuelle — pour terminer la page entière, vous avez besoin de \clearpage ou \cleardoublepage.

Empêcher un saut de page

Maintenant, les outils pour le contraire : "ne vous interrompez pas ici". Le modèle de base est \nopagebreak[n], qui décourage les sauts de page à ce stade ; n définit son degré d'insistance (0 à 4, par défaut 4). \nopagebreak[0] est une suggestion pour éviter la rupture si possible, tandis que \nopagebreak[4] est une interdiction ferme. Placez-le à un endroit que vous ne voulez pas déchirer – entre un titre et le texte juste après, ou entre une figure et son explication.

Pour conserver un ensemble un peu plus grand sur une seule page, il existe la déclaration \samepage et l'environnement samepage du même nom. Il fonctionne en attribuant des pénalités infinies à chaque point de rupture possible à l'intérieur de la région fermée afin qu'il ne s'y introduise pas. Mais comme le prévient la FAQ TeX, ce n'est pas une panacée : pour continuer à exécuter du texte ensemble, vous devez terminer le paragraphe à l'intérieur de l'environnement, et si le matériel inclus émet ses propres indices de rupture, \samepage n'a aucun pouvoir sur eux.

Le package needspace est plus fiable. Après \usepackage{needspace}, écrire \needspace{3\baselineskip} signifie « s'il n'y a pas 3 lignes d'espace entre ici et le bas de la page, commencez une nouvelle page » — en d'autres termes, continuez si trois lignes tiennent, sinon passez à une nouvelle page. C'est la solution idéale pour garder un en-tête et ses premières lignes ensemble. Exprimer la longueur sous la forme d'un multiple de \baselineskip (l'interligne) est un choix intuitif, bien que pt ou cm fonctionnent également. Il y a aussi \Needspace{...}, qui réserve l'espace plus précisément, et \Needspace*{...}, qui fait une courte page affleurante sous \flushbottom (ces deux derniers sont utilisés entre les paragraphes).

Veuves et orphelins

Un orphelin est la première ligne isolée d'un paragraphe laissée tout en bas d'une page ; une veuve est la dernière ligne solitaire d'un paragraphe se trouvant seule en haut de la page suivante. Les deux lisent mal et sont le genre de mauvaise composition que la composition essaie d’éviter. (La terminologie varie selon les sources, mais la FAQ TeX définit un orphelin comme « la première ligne d'un paragraphe à la fin d'une page » et une veuve comme « la dernière ligne d'un paragraphe au début d'une page. »)

Deux pénalités entières les retiennent. \clubpenalty régit les orphelins (suppression *après* la première ligne d'un paragraphe) et \widowpenalty régit les veuves (suppression *avant* la dernière ligne). Plus la valeur est grande, plus LaTeX juge qu'une pause n'en vaut pas la peine et l'évite. La valeur par défaut de la classe standard est 150 (léger découragement). Selon la FAQ TeX, il n'y a en réalité que deux paramètres significatifs : fini (150 ou 500 — peu importe lequel) pour autoriser les veuves et les orphelins, et infini (10 000 ou plus) pour les interdire.

Pour les interdire, définissez les deux au maximum dans le préambule. L'incantation habituelle est :

latex
\clubpenalty=10000
\widowpenalty=10000

Mais une interdiction générale a un coût. Pour éviter une mauvaise coupure, LaTeX supprime une ligne de la page, de sorte que le bas des pages ne s'aligne plus – ils deviennent irréguliers. C'est exactement pourquoi la valeur par défaut s'arrête à « léger découragement ». En pratique, plutôt que de tout épingler à 10 000, vous obtenez un résultat de meilleure qualité en corrigeant manuellement uniquement les points incriminés lors de la relecture finale. Le correctif ciblé classique est \enlargethispage{\baselineskip}, qui agrandit temporairement le \textheight de la page actuelle uniquement pour admettre une ligne supplémentaire ; allonger le paragraphe du bas d'une ligne ramène la dernière ligne renversée sur la page et efface la veuve. Lorsque vous devez insérer une ligne même au prix de resserrer l'espacement, utilisez le \enlargethispage*{\baselineskip} étoilé.

Référence rapide des commandes

Voici un aperçu des principales commandes et paramètres de saut de page. Les commandes needspace nécessitent le chargement de ce package ; le reste est standard LaTeX.

CommandeCe qu'il fait
\pagebreak[n]Suggérer/forcer une pause (n=0–4, par défaut 4) ; étend l'espace vertical vers le basPeut rompre le milieu du paragraphe
\newpageTerminez la page maintenant ; pas d'étirement, reste laissé videEn deux colonnes, termine uniquement la colonne
\clearpageTerminez la page et videz d'abord tous les flottants en attente, puis interrompezPermet de conserver une section après ses chiffres
\cleardoublepageComme clearpage, mais sous le recto verso commence sur une page de droite (impaire), en insérant un blanc si nécessairePour les livres ouvrant les chapitres à droite
\nopagebreak[n]Décourager une pause à ce stade (n=0–4, par défaut 4)Conserver un titre avec son texte
\samepagePénalités infinies sur les ruptures à l'intérieur de la région pour la tenir sur une seule page (environnement aussi)Pas infaillible ; fin des paragraphes à l'intérieur
\needspace{N\baselineskip}Pause à moins qu'il ne reste que N lignes d'espace (paquet needspace)Conserver un titre avec ses premières lignes
\clubpenaltyEntier décourageant les orphelins (une première ligne bloquée) ; par défaut 150, interdire avec 10000Plus élevé signifie plus évité
\widowpenaltyEntier décourageant les veuves (une dernière ligne échouée) ; par défaut 150, interdire avec 10000Plus élevé signifie plus évité
\enlargethispage{\baselineskip}Agrandit uniquement la hauteur du texte de la page actuelle, en y ajoutant une ligne supplémentaireLe formulaire étoilé insère une ligne

Utilisation pratique

La règle cardinale est de régler les sauts de page en dernier. L'ajout ou la suppression d'un seul caractère décale chaque saut ultérieur, donc saupoudrer les commandes manuelles \newpage en cours de route laisse des espaces gênants à chaque fois que vous modifiez ultérieurement le texte. Terminez d'abord le contenu, puis inspectez la pagination à l'étape finale. Pour les veuves et les orphelins également, plutôt que de s’appuyer entièrement sur une interdiction générale dans le préambule, corriger individuellement les endroits les plus visibles – avec \enlargethispage et autres – est le chemin le plus sûr vers des pages dont le bas s’aligne proprement.

Le saut de page est un calque distinct du saut de ligne (\linebreak ou \\), et il interagit étroitement avec le placement de figure et table. Pour le réglage des lignes, voir « Régler les sauts de ligne », pour les paragraphes eux-mêmes, voir « Sauts de ligne et de paragraphe » et pour le positionnement des flottants, voir « Placement des flottants ».

Flux de travail de vérification de la pagination

La preuve de pagination ne commence qu'une fois le corps, les flottants et la bibliographie en place. Vérifiez d'abord si les flotteurs sauvegardent avec \clearpage ; Protégez ensuite les titres qui resteraient seuls en bas de page avec needspace ; corrigez enfin les veuves et les orphelins remarquables avec des outils tels que \enlargethispage. Conservez les commandes \newpage dispersées uniquement là où la structure des chapitres en a vraiment besoin.

  • Limites des chapitres et des annexes : utilisez \clearpage ou \cleardoublepage pour que les flottants ne dérivent pas vers la partie suivante.
  • Après les titres : réservez quelques lignes avec quelque chose comme \needspace{3\baselineskip} pour éviter un titre bloqué en bas de page.
  • Veuves ou orphelins sur une seule ligne : inspectez les espaces blancs et l'alignement du bas avant d'appliquer \enlargethispage localement.
  • Laissez un commentaire pour chaque correctif manuel afin que vous puissiez savoir plus tard s'il doit être supprimé après les modifications du texte.