22. Les boites

Table des matières

Suivant

Précédent

 22.1 Le mode LR
 22.2 Le mode paragraphe
 22.3 Les boites noires
 22.4 Les boites décalées
 22.5 Sauvegarde

LaTeX considère certains éléments comme des objets qu'il ne peut diviser pour les placer correctement sur une ligne ou une page. Par exemple, lorsque l'on crée un tableau avec l'environnement tabular, celui-ci est considéré comme un seul bloc et le compilateur ne le coupera jamais en plusieurs parties. Il y a d'autres environnements et commandes qui permettent de créer également de tels objets que l'on appelle des boites. Remarquons donc qu'une boite peut être très grande mais ne pourra pas dépasser la taille d'un page.

Il existe tois sortes de boites suivant le mode de compilation du texte qui se trouve à l'intérieur. Lors de la compilation, LaTeX prend le style en cours pour le texte contenu dans une boite sauf si on se trouve en mode mathématique auquel cas il prend le style qui était en cours juste avant.

22.1 Le mode LR

Les commandes ci-dessous traitent le texte qui se trouve à l'intérieur en mode LR c'est-à-dire en mode texte où il ne peut y avoir de paragraphe. Ainsi, placer une telle commande en mode mathématique permet d'insérer quelques mots en mode texte. Remarquons que comme c'est une boite, ce texte doit tenir sur une seule ligne.

  • \makebox est la commande générale pour créer un boite. Elle prend deux arguments obligatoires plus un optionnel. La syntaxe est
     \makebox{length}[pos]{texte}

     length spécifie la longueur de la boite et doit être une unité de mesure. Par exemple 10mm .
     pos précise la position du texte au sein de la boite, le défaut étant centré, la lettre l l'alligne à gauche et r à droite.
     texte est le contenu de la boite qui sera compilé en mode texte.
  • \mbox est un identique à la première commande au fait pret qu'elle ne prend que le texte en argument. La longueur de la boite est calculée automatiquement pour être égale à la longeur du texte.
  • \framebox fonctionne comme \makebox mais insère un cadre autour de la boite.
  • \fbox est un raccourcis de \framebox fonctionnant de la même manière que \mbox pour \makebox .

Remarquons encore qu'un espace avant ou après ces commandes produit un espace comme entre deux mots. Il est également possible d'utiliser des boites de longeur 0 (en fait, il faut spécifier 0mm) pour aligner du texte dans un tableau par exemple ou placer un texte dans la marge.

22.2 Le mode paragaphe

Les deux commandes ci-dessous permettent de créer une boite dans laquelle le texte est compilé en mode paragraphe exactement comme dans le texte normal. Remarquons que les environnements flottants créent également de telles boites.

La commande parbox est le premier moyen de créer un telle boite et la syntaxe est
 \parbox[pos]{width}{texte}

  • width spécifie la largeur de la boite. C'est une longueur et elle doit être inférieure à la largeur de la page.
  • texte est le contenu de la boite qui sera compilé en mode paragraphe.
  • pos permet de préciser l'alignement du texte par rapport à la ligne de texte dans laquelle il se trouve. Par défaut, c'est centré mais si pos=t , la ligne supérieure du bloc est alignée avec le la ligne courante du texte et si pos=b , la ligne inférieure est alignée avec le texte. Remarquons que dans cette boite, il est possible de créer des paragraphes mais ils ne seront pas indentés comme dans le reste du texte. En effet, LaTeX change la valeur du paramète \parindent pour la mettre à zéro. Si on désire une indentation, il faut attribuer une nouvelle valeur à cette longueur.

L'environnement minipage est le second moyen de créer une boite compilée en mode paragraphe. Elle s'utilise un peu différement d'un environnement habituel car il faut lui préciser un argument obligatoire et éventuellement un facultatif de la manière suivante.
 \begin{minipage}[pos]{width}
  texte
 \end{minipage}
Les arguments ont la même signification que ci-dessus.

La différence entre les deux est l'utilisation des notes de bas de page. Dans une minipage, les notes de bas de page apparaissent dans le bloc de texte produit par l'environnement. De plus, dans cet environnement, on peut utiliser tous les autres environnements comme itemize,... ce qui n'est pas le cas dans une commande \parbox.

22.3 Les boites noires

LaTeX permet de créer des rectangles complètement noirs. Pour cela, on utilise la commande
 \rule[raise]{width}{height}

  • raise permet de spécifier le décalage par rapport à la ligne. Une valeur positive le place au dessus alors qu'une négative le place en dessous.
  • width est la largeur du rectangle.
  • height est sa hauteur.

La taille de la boite est précisée par les deux derniers arguments.

Il est possible de créer une boite noire de longeur 0 mais qui a une certaine hauteur. Lors de la compilation, LaTeX ajustera alors les espaces en tenant compte de cette contrainte bien qu'elle soit invisible dans le document.

22.4 Les boites décalées

Pour les boites noires, il est possible de préciser un paramètre de décalage du texte par rapport à la ligne courante. La commande vue dans cette section permet d'avoir une boite compilée en mode LR mais décalée sur la ligne. Elle permet également de modifier la taille du texte aux yeux de LaTeX.
\raisebox{raise}[above][below]{texte}
 où

  • raise spécifie le décalage verticale du texte par rapport à la ligne.
  • above est la taille que le compilateur considère comme étant au-dessus de la ligne même si effectivement ce n'est pas la réalité.
  • below fait de même mais en dessous de la ligne.
  • texte est le texte à écrire à cet endroit.

22.5 Sauvegarde

La définition de commandes permet de gagner du temps lors de la rédaction du document en raccourcissant le texte qu'il est nécessaire de taper. Cependant, à la compilation, ce texte doit chaque fois être recompilé ce qui peut occasionner une perte de temps spécialement si le texte est compliqué. C'est pourquoi LaTeX permet de sauvegarder des boites, c'est-à-dire non seulement le contenu mais également la manière de le présenter. Il le considère donc comme un seul caractère.

Il y a plusieurs étapes et commandes nécessaires pour ces opérations.

  1. Déclaration d'un nom
    La commande \newsavebox{name} permet de déclarer une variable name qui pourra contenir une boite. Le nom doit être un nom de commande non encore connu de LaTeX. C'est une commande dont l'effet est global c'est-à-dire que si on l'utilise au sein d'un environnement, elle est encore valable en dehors de celui-ci.
  2. Sauvegarde d'une boite
    Lorsque l'on a déclaré un nom de variable, il est possible de lui attribuer une boite au moyen de \savebox{name}[length]{texte}

     name est le nom de la variable dans laquelle on désire sauvegarder la boite.
     length est la longueur de la boite.
     texte est le contenu de la boite que l'on désire mémoriser. Cette commande a un effet local uniquement c'est-à-dire que si on l'utilise dans un environnement, la valeur mémorisée n'est valable que dans celui-ci et ceux inclus dans celui-ci.

    Il existe la commande \sbox qui est identique au fait près qu'elle n'a pas d'argument optionnel précisant la longueur.
  3. Utilisation d'une boite sauvegardée
    Après sauvegarde d'une boite dans une variable name, on peut l'utiliser au moyen de la commande \usebox{name}.

Table des matières

Précédent

Suivant

Conception et réalisation : Frédéric Geraerds
Consultez l'historique de ce guide.
Dernière modifcation le 29/09/97
Commentaire avec mention du site LaTeX.

Picture