Comment diviser une cellule par une diagonale?

Avec l'extension “diagbox”

L'extension diagbox fournit la commande \diagbox qui prend deux arguments. Cette commande 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. En voici un exemple :

\documentclass{article}
  \usepackage{diagbox}
 
\begin{document}
\begin{tabular}{|l|c|c|c|c|c|c|}
\hline
\diagbox{qui}{quoi} & 
 voiture & tente & corde \\ 
\hline
Nico   & 1 & 1 & 1 \\ \hline
Hélène &   &   & 1 \\ \hline
Tof    &   & 1 & 1 \\ \hline
Xav    & 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 \\ 
\hline
Nico   & 1 & 1 & 1 \\ \hline
Hélène &   &   & 1 \\ \hline
Tof    &   & 1 & 1 \\ \hline
Xav    & 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|}
\hline
\diagbox{qui}{quoi} & 
 \begin{turn}{90}voiture\end{turn} &
 \begin{turn}{90}tente\end{turn} &
 \begin{turn}{90}corde\end{turn}
\\ \hline
Nico   & 1 & 1 & 1 \\ \hline
Hélène &   &   & 1 \\ \hline
Tof    &   & 1 & 1 \\ \hline
Xav    & 1 &   &   \\ \hline
\end{tabular}
\end{document}

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

\begin{document}
\begin{tabular}{|l|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}
\\ \hline
Nico   & 1 & 1 & 1 \\ \hline
Hélène &   &   & 1 \\ \hline
Tof    &   & 1 & 1 \\ \hline
Xav    & 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”

:!: L’extension slashbox est classée comme obsolète. Ce qui suit est informatif.

L'extension slashbox fournit la commande \backslashbox, qui a la même syntaxe que \diagbox ci-dessus, avec deux arguments. Elle est toujours disponible dans CTAN mais n'est plus distribuée dans \TeX live.

L'extension diagbox 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/11/27 14:08 de yannick.tanguy
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0