Boîtes
Dans le fond, LaTeX met des choses dans des boîtes et ensuite met ces boîtes sur une page. Aussi les commandes qui suivent sont centrales.
De nombreux paquetages sur le CTAN sont utiles pour la manipulation de boîtes. Un ajout utile aux commandes décrites ici est adjustbox.

\mbox & \makebox
Synopsis, 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 :
c 	Centré (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.

\fbox & \framebox
Synopsis, l’un parmi :

\fbox{texte}
\framebox{texte}
\framebox[largeur]{texte}
\framebox[largeur][position]{texte}

Crée une boîte dans un cadre englobant, c.-à-d. quatre filets entourant le texte. Les commandes \fbox et \framebox sont similaires à \mbox et \makebox, au cadre près (voir \mbox & \makebox). La commande \fbox est robuste, la commande \framebox est fragile (voir \protect).
Dans l’exemple suivant

\fbox{Avertissement ! Tout devoir non rendu obtiendra une note de zéro.}

LaTeX met le texte dans une boîte, le texte ne peut subir de césure. Autour de la boîte, séparés d’elle par une petit écart, quatre filets forment un cadre.
Les deux premières invocations de la commande, \fbox{...} et \framebox{...}, sont sensiblement équivalentes. Quant aux troisième et quatrième invocations, les arguments optionnels permettent de spécifier la largeur de la boîte comme largeur (une longueur), et la position du texte au sein de la boîte comme position. Voir \mbox & \makebox, pour la description complète, mais ci-après suit un exemple créant une boîte vide de 0,75cm de large.

\setlength{\fboxsep}{0pt}\framebox[0.75cm]{\strut}}

Le \strut assure que la hauteur totale soit de \baselineskip (voir \strut).
Les paramètres suivant déterminent la disposition du cadre.
\fboxrule 	 L’épaisseur des filets autour de la boîte englobée. Par défaut elle vaut 0.2pt. On la change avec une commande telle que \setlength{\fboxrule}{0.8pt} (voir \setlength).
\fboxsep 	 La distance du cadre à la boîte englobée. Vaut par défaut 3pt. On la change avec une commande telle que \setlength{\fboxsep}{0pt} (voir \setlength). La régler à 0pt peut parfois être utile : cela met un cadre autour d’une image sans bordure blanche.

{\setlength{\fboxsep}{0pt}%
 \framebox{%
   \includegraphics[width=0.5\textwidth]{prudence.jpg}}}

Les accolades supplémentaires rendent local l’effet du \setlength.
Comme avec \mbox et \makebox, LaTeX ne fait pas de sauts de ligne au sein de texte. Mais l’exemple ci-dessous a pour effet que LaTeX effectue des sauts de ligne pour fabriquer un paragraphe, puis encadre le résultat.

\framebox{%
  \begin{minipage}{0.6\linewidth}
    « On va bien lentement dans ton pays ! Ici, vois-tu, on est obligé
    de courir tant qu’on peut pour rester au même endroit, dit la
    reine. Si tu veux te déplacer, tu dois courir au moins deux fois
    plus vite ! »
  \end{minipage}}

Voir Colored boxes, pour des couleurs autres que noir et blanc.
L’environnement picture a une version de la commande \framebox où les unités dépendent du \unitlength de picture (voir \framebox (picture)).

\parbox
Synopsis, l’un parmi les suivants :

\parbox{largeur}{contenu}
\parbox[position]{largeur}{contenu}
\parbox[position][hauteur]{largeur}{contenu}
\parbox[position][hauteur][pos-interne]{largeur}{contenu}

La commande \parbox produit une boîte de texte de largeur largeur. Cette commande peut être utilisée pour fabriquer une boîte à partir de petits morceaux de texte, et contenant un seul paragraphe. Cette commande est fragile (voir \protect).

\begin{picture}(0,0)
  ...
  \put(1,2){\parbox{4.5cm}{\raggedright Le graphique étant une
    droite sur une échelle logarithmique, la relation est
    exponentielle.}}
\end{picture}

Le contenu est traité en mode texte (voir Modes) ainsi LaTeX fait des sauts de ligne de sorte à former un paragraphe. Mais il ne fabriquera pas plusieurs paragraphes ; pour cela, utilisez un environnement minipage (voir minipage).
Les options d’une \parbox (à l’exception du contenu) sont les mêmes que pour une minipage. Par commodité on rappelle ces options ici plus bas, mais se référer à minipage pour une description complète.
Il y a deux arguments obligatoires. La largeur est une longueur rigide (voir Lengths). Elle règle la largeur de la boîte dans laquelle LaTeX compose le contenu. Le contenu est le texte qui est placé dans cette boîte. Il ne devrait pas avoir de composants qui fabriquent des paragraphes.
Il y a trois arguments optionnels, position, hauteur, et pos-interne. La position donne l’alignement vertical de la parbox relativement au texte alentour. La valeurs prises en charge sont c ou m pour que le centre selon la dimension verticale de la parbox soit aligné avec le centre de la ligne de texte adjacente (c’est le réglage par défaut), ou t pour accorder la ligne du haut de la parbox avec la ligne de base du texte alentour, ou b pour accorder la ligne du bas.
L’argument optionnel hauteur l’emporte sur la hauteur naturelle de la boîte.
L’argument optionnel pos-interne contrôle la position du contenu au sein de la parbox. Sa valeur par défaut est la valeur de position. Les valeurs possibles sont : t pour placer le contenu en haut de la boîte, c pour le centrer verticalement, b pour le place en bas de la boîte, et s pour le dilater verticalement (pour cela, le texte doit contenir de l’espace vertical élastique).

\raisebox
Synopsis, l’un parmi les suivants :

\raisebox{distance}{texte}
\raisebox{distance}[hauteur]{texte}
\raisebox{distance}[hauteur][profondeur]{texte}

La commande \raisebox élève ou abaisse du texte. Cette commande est fragile (voir \protect).
L’exemple suivant fabrique une commande pour noter la restriction d’une fonction en abaissant le symbole barre verticale.

\newcommand*\restreinte[1]{\raisebox{-.5ex}{$|$}_{#1}}
$f\restreinte{A}$

Le premier argument obligatoire spécifie la longueur dont le texte doit être élevé. C’est une longueur rigide (voir Lengths). Si elle est négative alors texte est abaissé. Le texte lui-même est traité en mode LR, aussi il ne doit pas contenir de saut de ligne (voir Modes).
Les arguments optionnels hauteur et profondeur sont des dimensions. S’ils sont spécifiés, ils l’emportent sur les hauteur et profondeur naturelles de la boîte que LaTeX obtient en composant texte.
Au sein des arguments distance, hauteur, et profondeur vous pouvez utiliser les longueurs suivantes qui font référence à la dimension de la boîte que LaTeX obtient en composant texte : \depth, \height, \width, \totalheight (qui est la somme de la hauteur et de la profondeur de la boîte).
L’exemple suivant aligne deux graphiques sur leur bord supérieur (voir Graphics).

\usepackage{graphicx,calc}  % dans le préambule
   ...
\begin{center}
  \raisebox{1ex-\height}{%
    \includegraphics[width=0.4\linewidth]{lion.png}}
  \qquad
  \raisebox{1ex-\height}{%
    \includegraphics[width=0.4\linewidth]{meta.png}}
\end{center}

Le premier \height est la hauteur de lion.png alors que le second est celle de meta.png.

\sbox & \savebox
Synopsis, l’un parmi les suivants :

\sbox{cmd-boîte}{texte}
\savebox{cmd-boîte}{texte}
\savebox{cmd-boîte}[largeur]{texte}
\savebox{cmd-boîte}[largeur][pos]{texte}

Cette commande compose texte dans une boîte de la même façon qu’avec \makebox (voir \mbox & \makebox), à ceci près qu’au lieu de sortir la boîte résultante, elle la sauvegarde dans un registre boîte référencé par la variable nommée cmd-boîte. Le nom de variable cmd-boîte commence avec une controblique, \. Vous devez préalablement avoir alloué le registre boîte cmd-boîte avec avec \newsavebox (voir \newsavebox). La commande \sbox est robuste, alors que \savebox est fragile (voir \protect).
L’exemple suivant crée et utilise un registre boîte.

\newsavebox{\nomcomplet}
\sbox{\nomcomplet}{Cadet Rousselle}
  ...
\usebox{\nomcomplet} a trois maisons qui n'ont ni poutres, ni chevrons !
C'est pour loger les hirondelles,
Que direz-vous d'\usebox{\nomcomplet} ?

Un avantage de l’usage répété d’un registre boîte par rapport à une variable macro \newcommand est l’efficacité, c.-à-d. que LaTeX n’a pas besoin de répéter la composition du contenu. Voir l’exemple plus bas.
Les deux invocations de commande \sbox{cmd-boîte}{texte} et \savebox{cmd-boîte}{texte} sont sensiblement équivalentes. Quant aux troisième et quatrième, les arguments optionnels vous permettent de spécifier la largeur de la boîte comme largeur, et la position du texte au sein de cette boîte comme position. Voir \mbox & \makebox, pour une description complète.
Dans les commandes \sbox et \savebox le texte est composé en mode LR, aussi il n’a pas de sauts de lignes (voir Modes). Si vous utilisez ce qui suit alors LaTeX ne produit pas d’erreur mais ignore ce que vous voulez faire : si vous entrez \sbox{\nouvreg}{test \\ test} et \usebox{\nouvreg} alors vous obtenez ‘testtest’, et si vous entrez \sbox{\nouvreg}{test \par test} et \usebox{\nouvreg} alors vous obtenez ‘test test’, mais ni erreur ni avertissement. La solution est d’utiliser une \parbox ou une minipage comme dans l’exemple qui suit :

\newsavebox{\unreg}
\savebox{\unreg}{%
  \begin{minipage}{\linewidth}
    \begin{enumerate}
      \item Premier article
      \item Second article
    \end{enumerate}
  \end{minipage}}
  ...
\usebox{\unreg}

En exemple de l’efficacité de réutiliser le contenu d’un registre boîte, ce qui suit place la même image sur chaque page du document en le plaçant dans l’en-tête. LaTeX ne la compose qu’une fois.

\usepackage{graphicx}  % tout cela dans le préambule
\newsavebox{\cachetreg}
\savebox{\cachetreg}{%
  \setlength{\unitlength}{2.5cm}%
  \begin{picture}(0,0)%
     \put(1.5,-2.5){%
       \begin{tabular}{c}
          \includegraphics[height=5cm]{companylogo.png} \\
          Bureau du Président
       \end{tabular}}
  \end{picture}%
}
\markright{\usebox{\cachetreg}}
\pagestyle{headings}

L’environnement picture est bien adapté pour régler finement le placement.
Si le registre \noreg n’a pas déjà été défini alors vous obtenez quelque chose du genre de ‘Undefined control sequence. <argument> \noreg’.

lrbox
Synopsis :

\begin{lrbox}{cmd-boîte}
  texte 
\end{lrbox}

Ceci est la forme par environnement des commandes \sbox et \savebox, et leur est équivalente. Voir \sbox & \savebox, pour une description complète.
Le texte au sein de l’environnement est sauvegardé dans un registre boîte auquel la variable cmd-boîte fait référence. Le nom de variable cmd-boîte doit commencer par une controblique, \. Vous devez avoir alloué ce registre boîte préalablement avec \newsavebox (voir \newsavebox). Dans l’exemple suivant l’environnement est commode pour entrer le tabular :

\newsavebox{\jhreg}
\begin{lrbox}{\jhreg}
  \begin{tabular}{c}
    \includegraphics[height=1in]{jh.png} \\
    Jim Hef{}feron
  \end{tabular}
\end{lrbox}
  ...
\usebox{\jhreg}

\usebox
Synopsis :

\usebox{cmd-boîte}

La commande \usebox produit la boîte la plus récemment sauvegardée dans le registre boîte cmd-boîte par une commande \sbox ou \savebox, ou l’environnement lrbox. Voir \sbox & \savebox, pour plus ample information et des exemples. (Notez que le nom de la variable cmd-boîte commence par une controblique, \). Cette commande est robuste (voir \protect).