Suivant: , Précédent: , Monter: Spaces   [Table des matières][Index]


19.13 \strut

Synopsis :

\strut

Étai. Assure que la ligne courante a une hauteur d’au moins 0.7\baselineskip et une profondeur d’au moins 0.3\baselineskip. Pour l’essentiel, LaTeX insère dans la ligne un rectangle de largeur nulle, \rule[-0.3\baselineskip]{0pt}{\baselineskip} (voir \rule). Le \baselineskip change avec la fonte courante ou sa taille.

Dans l’exemple suivant le \strut empêche la boîte d’avoir une hauteur nulle.

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

L’exemple suivant comprend quatre listes. Dans la première il y a un espace bien plus large entre les articles 2 et 3 qu’il n’y a entre les articles 1 et 2. La seconde liste répare cela avec un \strut à la fin de la deuxième ligne du premier article.

\setlength{\fboxsep}{0pt}
\noindent\begin{minipage}[t]{0.2\linewidth}
\begin{enumerate}
  \item \parbox[t]{15pt}{test \\ test}
  \item test
  \item test
\end{enumerate}
\end{minipage}%
\begin{minipage}[t]{0.2\linewidth}
\begin{enumerate}
  \item \parbox[t]{15pt}{test \\ test\strut}
  \item test
  \item test
\end{enumerate}
\end{minipage}%
\begin{minipage}[t]{0.2\linewidth}
\begin{enumerate}
  \item \fbox{\parbox[t]{15pt}{test \\ test}}
  \item \fbox{test}
  \item \fbox{test}
\end{enumerate}
\end{minipage}%
\begin{minipage}[t]{0.2\linewidth}
\begin{enumerate}
  \item \fbox{\parbox[t]{15pt}{test \\ test\strut}}
  \item \fbox{test}
  \item \fbox{test}
\end{enumerate}
\end{minipage}%

Les deux dernières listes utilisent \fbox pour montrer ce qui se passe. La \parbox du premier article de la troisième liste ne va que jusqu’au bas du second ‘test’, or ce mot ne comprend aucun caractère descendant sous la ligne de base. Le \strut ajouté dans la quatrième liste donne sous la ligne de base l’espace supplémentaire requis.

La commande \strut est souvent utile pour les graphiques, comme en TikZ ou Asymptote. Par exemple, vous pourriez avoir une commande telle que \graphnode{nom-nœud} qui ajuste un cercle autour de nom-nœud. Toutefois, à moins que vous preniez certaines précautions, prendre ‘x’ ou ‘y’ pour nom-nœud produit des cercles de diamètres différents parce que les caractères ont des tailles différentes. Une précaution possible contre cela serait que \graphnode insère \strut juste avant nom-nœud, et ne dessine le cercle qu’après cela.

L’approche générale d’utiliser une \rule de largeur nulle est utile dans de nombreuses circonstances. Dans le tableau ci-dessous, le filet de largeur nulle empêche le haut de la première intégrale de taper dans la \hline. De même, le second filet empêche la seconde intégrale de taper sur la première.

\begin{tabular}{rl}
  \textsc{Intégrale}   &\textsc{Valeur}           \\
  \hline
  $\int_0^x t\, dt$   &$x^2/2$  \rule{0em}{2.5ex} \\
  $\int_0^x t^2\, dt$ &$x^3/3$  \rule{0em}{2.5ex}
\end{tabular}

(Bien que la commande double controblique de terminaison de ligne dispose d’un argument optionnel pour changer la valeur de l’interligne correspondant, cela ne fonctionne pas pour résoudre ce problème. Changer la première double controblique en quelque chose du genre de \\[2.5ex] augmente l’espace entre la ligne d’en-têtes de colonne et le filet \hline, et l’intégrale de la deuxième ligne taperait encore dans le filet).


Suivant: , Précédent: , Monter: Spaces   [Table des matières][Index]