Suivant: , Précédent: , Monter: Spacing in math mode   [Table des matières][Index]


16.6.2 \phantom & \vphantom & \hphantom

Synopsis :

\phantom{sous-formule}

ou

\vphantom{sous-formule}

ou

\hphantom{sous-formule}

La commande \phantom crée une boîte de la même hauteur, profondeur et largeur que sous-formule, mais vide. c.-à-d. qu’avec cette commande LaTeX compose l’espace mais ne le remplit pas avec la matière. Dans l’exemple ci-dessous LaTeX met un espace blanc de la largeur correcte pour la réponse, mais il n’affiche pas la réponse.

\begin{displaymath}
  \int x^2\,dx=\mbox{\underline{$\phantom{(1/3)x^3+C}$}} 
\end{displaymath}

La variante \vphantom produit une boîte invisible de la même taille verticale que sous-formule, la même hauteur et profondeur, mais ayant une largeur nulle. Et \hphantom fabrique une boîte avec la même largeur que sous-formule mais de hauteur et profondeur nulles.

Dans l’exemple suivant, la tour des exposants dans l’expression second opérande de la somme est si haute que TeX place cette expression plus bas qu’il ne le ferait par défaut. Sans ajustement, les deux expressions opérandes de la somme seraient à des niveaux différents. Le \vphantom dans la première expression dit à TeX de laisser autant de place verticalement qu’il fait pour la tour, de sorte que les deux expressions ressortent au même niveau.

\begin{displaymath}
    \sum_{j\in\{0,\ldots\, 10\}\vphantom{3^{3^{3^j}}}}
      \sum_{i\in\{0,\ldots\, 3^{3^{3^j}}\}} i\cdot j
\end{displaymath}

Ces commandes sont souvent utilisées conjointement avec \smash. Voir \smash, ce qui inclut un autre exemple d’usage de \vphantom.

Les trois commandes en phantom apparaissent souvent mais notez que LaTeX fournit nombre d’autres commandes affectant les tailles de boîtes qui pourraient être plus commodes, notamment \makebox (voir \mbox & \makebox) et également \settodepth (voir \settodepth), \settoheight (voir \settoheight), et \settowidth (voir \settowidth). De plus, le paquetage mathtools a beaucoup de commandes qui offrent un contrôle fin de l’espacement.

Les trois commandes produisent une boîte ordinaire, sans aucun statut mathématique spécial. Ainsi pour faire quelque chose comme attacher un indice supérieur vous avez à donner un tel statut, par exemple avec la commande \operatorname du paquetage amsmath.

Alors que la plupart du temps on les utilise en mathématiques, ces trois commandes peuvent apparaître dans d’autres contextes. Toutefois, elles ne provoquent pas le passage de LaTeX en mode horizontal. Ainsi si l’une de ces commandes débute un paragraphe alors vous avez typiquement à la précéder d’un \leavevmode.


Suivant: , Précédent: , Monter: Spacing in math mode   [Table des matières][Index]