Suivant: \fbox & \framebox, Monter: Boxes [Table des matières][Index]
\mbox & \makeboxSynopsis, l’un parmi les suivants :
\mbox{texte}
\makebox{texte}
\makebox[largeur]{texte}
\makebox[largeur][position]{texte}
La commande \mbox crée un boîte, un conteneur pour de la
matière. Le texte est composé en mode LR (voir Modes) ainsi il
n’est pas coupé en plusieurs lignes. La commande \mbox est
robuste, alors que \makebox est fragile (voir \protect).
Comme texte n’est pas coupé en plusieurs lignes, on peut utiliser
\mbox pour empêcher une césure. Dans l’exemple suivant, LaTeX
ne peut pas faire de césure dans le nom du char,
‘T-34’.
Le char soviétique \mbox{T-34} est l'un des symboles de la victoire
sur le nazisme.
Dans les deux premières versions du synopsis, \mbox et
\makebox sont sensiblement équivalentes. Elles créent une boîte
juste assez large pour contenir le texte. (Elle sont comme le
\hbox du TeX de base).
Dans la troisième version l’argument optionnel largeur spécifie la largeur de la boîte. Notez que l’espace occupé par le texte n’est pas nécessairement équivalent à la largeur de la boîte. D’une part, texte peut être trop petit ; l’exemple suivant crée une boîte d’une ligne entière de largeur :
\makebox[\linewidth]{Examen du chapitre}
où ‘Examen du chapitre’ est centré. Mais texte peut aussi être trop large pour largeur. Voir l’exemple plus bas pour des boîtes de largeur nulle.
Au sein de l’argument largeur vous pouvez utiliser les longueurs
suivantes qui font référence aux dimensions de la boîte que LaTeX
obtient en composant texte : \depth, \height,
\width, \totalheight (la somme de la hauteur et de la
profondeur de la boîte). Par exemple, pour fabriquer une boîte où le
texte est dilaté au double de sa largeur naturelle vous pouvez écrire
ceci :
\makebox[2\width]{Get a stretcher}
Pour la quatrième version du synopsis, la position du texte au sein de la boîte est déterminée par l’argument optionnel position qui peut prendre l’une des valeurs suivantes :
cCentré (par défaut).
l(Left) fer à gauche.
r(Right) fer à droite.
s(Stretch) dilate l’espace inter-mot dans texte sur la
largeur entière ; texte doit contenir de l’espace dilatable
pour que cela marche. Par exemple, ceci pourrait être le libellé d’un
communiqué de presse :
\noindent\makebox[\textwidth][s]{\large\hfil DÉPÊCHE\hfil
IMMÉDIATE\hfil}
Une utilisation courante de \makebox est de fabriquer des boîtes
de texte de largeur nulle. Dans l’exemple suivant on place dans un
questionnaire la valeur des questions à leur gauche.
\newcommand{\pts}[1]{\makebox[0em][r]{#1 points\hspace*{1em}}}
\pts{10}Quelle est la vitesse aérodynamique d'une hirondelle à vide ?
\pts{90}Une hirondelle africaine ou européenne ?
Le bord droit de la sortie ‘10 points ’ (notez l’espace finale
après ‘points’) est juste avant le ‘Quelle’. Vous pouvez
utiliser \makebox de la même manière quand vous faites des
graphiques, comme en TikZ ou Asymptote, où vous mettez le
bord du texte à une position connue, quelle que soit la longueur de ce
texte.
Pour des boîtes avec cadre voir \fbox & \framebox. Pour des boîtes de couleurs voir Colored boxes.
Il y a une version apparentée de \makebox qui utilisée au sein de
l’environnement picture, où la longueur est données en termes
d’\unitlength (voir \makebox (picture)).
Comme texte est composé en mode LR, ni une double controblique
\\, ni \par ne produisent un saut de ligne ; par exemple
\makebox{abc def \\ ghi} produit en sortie ‘abc defghi’
alors que \makebox{abc def \par ghi} produit ‘abc def
ghi’, tout deux sur une seule ligne. Pour obtenir des lignes multiples
voir \parbox et minipage.
Suivant: \fbox & \framebox, Monter: Boxes [Table des matières][Index]