AccueilParagraphesretour

Espaces, blancs et ressorts

Introduction

Caractères

Maths

Fontes

Tables

Structure

Paragraphes

Espaces

Unités de longueur

Espacements horizontaux

fixes

élastiques ("ressorts")

Espacements verticaux

prédéfinis

fixes

ressorts verticaux

Contrôle de la page

empêcher un saut

agrandir la page

Unités de longueur

LATEX comprend les unités suivantes, lorsqu'il s'agit d'exprimer des espaces :

unité symbole valeur
  scaled point sp   1 pt = 65536 sp
  point [1] pt   72,27 pt = 1 in
  big point bp   72 bp = 1 in
  didot dd   1 dd = 0,376 mm
  millimètre mm  
  pica pc   1 pc = 12 pt
  cicero cc   1 cc = 12 dd
  centimètre cm  
  pouce in   1 in = 2,54 mm

D'une manière générale, pour écrire une longueur en LATEX, on accolle le nom de l'unité à la mesure. P. ex., une longueur de 12 mm serait codée :

12mm

haut de page


Espacements horizontaux

LATEX contrôle lui-même l'espacement en général. Cela veut dire que, contrairement aux traitements de texte, il ne sert à rien d'enchaîner deux, trois, ou davantage d'espaces dans le fichier source (.tex). Elles seront rendues par une espace unique dans le fichier de sortie.

Espacements fixes

Pour obtenir un blanc contrôlé, on utilisera la commande

\hspace[*]{longueur}

longueur est exprimée dans toute unité ci-dessus [1].

LATEX produit un blanc de la longueur spécifiée, mais seulement s'il ne tombe pas à l'extrémité d'une ligne. Pour que le blanc soit ajouté en toutes circonstances, on emploiera l'argument optionnel *.

À noter : on peut spécifier un espacement négatif. Il suffit de faire précéder longueur du signe -. Cela produit l'équivalent d'un retour arrière, et permet donc éventuellement d'écrire en surimpression du texte déjà tapé.

haut de page

Espacements élastiques ("ressorts" [2])

Pour obtenir un blanc élastique remplissant "tout le reste" d'une ligne, on utilisera :

\hfill

Le blanc remplira tout ce qui, sur la ligne, n'est pas occupé par du texte. Par exemple, pour faire figurer une date alignée sur la marge droite, on pourrait coder

\hfill \today

ce qui est plus simple que d'entrer dans un environnement flushright.

Plusieurs \hfill peuvent figurer sur une même ligne : le résultat sera un blanc également réparti entre les éléments de texte, comme dans

\texte \'a gauche \hfill texte au milieu \hfill texte \`a droite

Mais on peut aussi remplir avec autre chose que du blanc :

Pour remplir avec des pointillés, la commande à employer est \dotfill plutôt que \hfill.

Pour remplir avec une ligne horizontale, on utilisera \hrulefill. Notons que \hrulefill, seule sur une ligne, peut être utilisée pour produire un trait horizontal de la largeur du texte sur la page.

haut de page


Espacements verticaux

Espacements verticaux prédéfinis

Bien que LATEX ajuste en général avec pertinence l'espace entre les paragraphes et les sections, on peut juger utile de séparer davantage.

LATEX propose trois sauts verticaux prédéfinis :

  • un petit : \smallskip ;
  • un moyen : \medskip ;
  • un grand : \bigskip.

haut de page

Espacements verticaux fixes

Pour obtenir un blanc vertical contrôlé, on utilisera :

\vspace[*]{hauteur}

qui fonctionne comme \hspace. Notamment, sans l'argument optionnel *, l'espace ne sera pas produit à la fin d'une page. Au contraire, si l'on inclut *, LATEX ne le supprimera en aucun cas.

hauteur  peut être exprimée dans toute unité reconnue par LATEX. 

haut de page

Ressorts verticaux

Pour un blanc vertical élastique remplissant tout le reste de la page, on utilisera la commande 

\vfill

On peut faire à ce sujet les mêmes remarques que pour \hfill. En particulier, il est possible d'employer plusieurs \vfill sur la même page. Mais il n'est pas dans l'esprit de LATEX de triturer ainsi la mise en page.

Les commandes \dotfill et \hrulefill n'ont pas d'équivalent vertical.

haut de page


Contrôle de la page 

On a dit ici comment obtenir des sauts de lignes ou de pages "facultatifs" à l'aide des instructions \linebreak et \pagebreak.

Empêcher un saut de ligne, de page

On peut aussi "déconseiller" à LATEX de passer à la ligne ou de changer de page :

  • pour dissuader LATEX de passer à la ligne, utiliser la commande \nolinebreak[nombre] ;
  • pour dissuader LATEX de changer de page, utiliser la commande \nolinebreak[nombre].

Dans les deux cas, nombre est un entier entre 1 et 4. Plus il est élevé, plus la requête est insistante.

haut de page

Agrandir la page

Parfois on n'est pas satisfait de l'endroit où LATEX coupe une page. On aimerait caser une ou deux lignes de plus. 

La commande

\enlargethispage[*]{hauteur}

ajoute la hauteur spécifiée à la hauteur de texte normale d'une page (\textheight). Par exemple, pour ajouter exactement une ligne à la capacité de la page, on coderait

\enlargethispage{\baselineskip}

La forme étoilée (avec l'argument optionnel *) essaie en outre de compresser au maximum le texte (dans les limites permises par LATEX, compatibles avec une typographie de qualité). Après cette commande, on explicite normalement le changement de page à l'endroit désiré avec une commande \pagebreak.

haut de page


Notes

[1]  Le point (pt) est l'unité par défaut, celle qu' emploiera LATEX si aucune n'est spécifiée (non sans émettre un avertissement).

[2]  Dans la terminologie originale de D. Knuth, de la "colle" (glue).

haut de page