Comment diviser une cellule par une diagonale?

$\Reponse$ L'extension diagbox fournit la commande \diagbox, qui prend deux arguments, et sépare la cellule courante en deux, par un trait diagonal du coin supérieur gauche vers le coin inférieur droit, place son premier argument sous ce trait et son deuxième argument au-dessus.

Exemple :

\documentclass{article}
  \usepackage{diagbox}
 
\begin{document}
\begin{tabular}{|l|c|c|c|c|c|c|}
\hline
\diagbox{qui}{quoi} & 
 voiture & tente &
 corde   & dégaines &
 casque  & baudrier \\ \hline
Nico & 1 & 1 & 1 & 24 & 1 & 1 \\ \hline
Hélène &  &  & 1 & 10 & 1 & 1 \\ \hline
Tof &  & 1 & 1 & 15 &  & 1 \\ \hline
Xav & 1 &  &  &  &   & 1 \\ \hline
\end{tabular}
\end{document}

\documentclass{article}
  \usepackage{diagbox}
  \pagestyle{empty}

\begin{document}
\begin{tabular}{|l|c|c|c|c|c|c|}
\hline
\diagbox{qui}{quoi} & 
 voiture & tente &
 corde   & dégaines &
 casque  & baudrier \\ \hline
Nico & 1 & 1 & 1 & 24 & 1 & 1 \\ \hline
Hélène &  &  & 1 & 10 & 1 & 1 \\ \hline
Tof &  & 1 & 1 & 15 &  & 1 \\ \hline
Xav & 1 &  &  &  &   & 1 \\ \hline
\end{tabular}
\end{document}
Si la première ligne est trop haute, diagbox n'arrivera pas à s'aligner sur le coin supérieur gauche, et s'alignera uniquement sur le coin inférieur droit. Le résultat reste généralement acceptable:
\documentclass{article}
  \usepackage{diagbox}
  \usepackage{rotating}
 
\begin{document}
\begin{tabular}{|l|c|c|c|c|c|c|}
\hline
\diagbox{qui}{quoi} & 
 \begin{turn}{90}voiture\end{turn} &
 \begin{turn}{90}tente\end{turn} &
 \begin{turn}{90}corde\end{turn} &
 \begin{turn}{90}dégaines\end{turn} &
 \begin{turn}{90}casque\end{turn} &
 \begin{turn}{90}baudrier\end{turn} \\ \hline
Nico & 1 & 1 & 1 & 24 & 1 & 1 \\ \hline
Hélène &  &  & 1 & 10 & 1 & 1 \\ \hline
Tof &  & 1 & 1 & 15 &  & 1 \\ \hline
Xav & 1 &  &  &  &   & 1 \\ \hline
\end{tabular}
\end{document}

\documentclass{article}
  \usepackage{diagbox}
  \usepackage{rotating}
  \pagestyle{empty}

\begin{document}
\begin{tabular}{|l|c|c|c|c|c|c|}
\hline
\diagbox{qui}{quoi} & 
 \begin{turn}{90}voiture\end{turn} &
 \begin{turn}{90}tente\end{turn} &
 \begin{turn}{90}corde\end{turn} &
 \begin{turn}{90}dégaines\end{turn} &
 \begin{turn}{90}casque\end{turn} &
 \begin{turn}{90}baudrier\end{turn} \\ \hline
Nico & 1 & 1 & 1 & 24 & 1 & 1 \\ \hline
Hélène &  &  & 1 & 10 & 1 & 1 \\ \hline
Tof &  & 1 & 1 & 15 &  & 1 \\ \hline
Xav & 1 &  &  &  &   & 1 \\ \hline
\end{tabular}
\end{document}

Il est également possible de passer trois argument à \diagbox, pour dessiner deux lignes obliques:

\begin{tabular}{|l|c|c|c|}
\hline
\diagbox{heure}{Bureau 1}{jour} &
 Lundi & Mardi & Mercredi \\ \hline
9h -- 12h  & occupé & occupé &  \\ \hline
14h -- 17h &  & occupé & occupé \\ \hline
\end{tabular}

\documentclass{article}
  \usepackage{diagbox}
  \pagestyle{empty}

\begin{document}
\begin{tabular}{|l|c|c|c|}
\hline
\diagbox{heure}{Bureau 1}{jour} &
 Lundi & Mardi & Mercredi \\ \hline
 9h -- 12h  & occupé & occupé &  \\ \hline
 14h -- 17h &  & occupé & occupé \\ \hline
\end{tabular}
\end{document}

Extension “slashbox”

$\Reponse$ L'extension slashbox fournit la commande \backslashbox, qui a la même syntaxe que \diagbox ci-dessus, avec deux arguments, mais elle est considérée comme obsolète. Elle est toujours disponible dans CTAN, mais plus distribuée dans \TeX live.

Il vaut mieux lui préférer diagbox, qui fournit d'ailleurs les commandes compatibles \backslashbox et '\slashbox pour permettre une transition facile entre les deux extensions.


Source: Diagonal separation in corner cells of tables.

3_composition/tableaux/cellules/diviser_une_cellule_en_diagonale.txt · Dernière modification: 2021/03/14 23:54 par jejust
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0