Agregar patrón a la celda de la tabla LaTeX

Agregar patrón a la celda de la tabla LaTeX

Creé mi horario usando el entorno tabular LaTeX y quiero agregar franjas diagonales a algunas celdas vacías, como se muestra en la siguiente imagen:

ingrese la descripción de la imagen aquí

Este es el patrón que me gustaría tener:

ingrese la descripción de la imagen aquí

¿Cómo puedo hacerlo? Aquí está el código que utilicé para generar la tabla:

\documentclass[landscape,a4paper]{article}
\usepackage{graphicx,caption,multirow}
\usepackage[top=0.5cm,bottom=3.8cm,right=2cm,left=2cm]{geometry}
\usepackage[table]{xcolor}
\captionsetup{labelformat=empty} 

\begin{document}

\begin{table}[ht]
  \large
  \centering
  \caption{{\Large 08/01/2024 $\rightarrow$ 13/01/2024}}
  \resizebox{0.8\textwidth}{!}{
    \setlength{\tabcolsep}{10pt}
    \renewcommand{\arraystretch}{2.5}
    \begin{tabular}{|>{\columncolor{cyan!30}}l|c|c|c|c|c|}
      \cline{2-6}
      \multicolumn{1}{c|}{} & \cellcolor{cyan!30}8:30-10:30 & \cellcolor{cyan!30}10:30-12:30 & \cellcolor{cyan!30}12:30-14:30 & \cellcolor{cyan!30}14:30-16:30                                                       & \cellcolor{cyan!30}16:30-18:30                                                \\ \hline
      Lundi                 &                               &                                &                                &                                                                                      &                                                                               \\ \hline
      Mardi                 &                               &                                &                                &                                                                                      &                                                                               \\ \hline
      Mercredi              &                               &                                &                                &                                                                                      & \cellcolor{red!30}\parbox[c]{3cm}{Droit\\{\small Ms Y}} \\ \hline
      Jeudi                 &                               &                                &                                &                                                                                      &                                                                               \\ \hline
      Vendredi              &                               &                                &                                &                                                                                      &                                                                               \\ \hline
      Samedi                &                               &                                &                                & \cellcolor{red!30}\parbox[c]{3cm}{Informatique\\{\small Mr X}} &                                                                               \\ \hline
    \end{tabular}}
\end{table}

\end{document}

Respuesta1

Con {NiceTabular}of nicematrixy TikZ para dibujar los patrones.

\documentclass[landscape,a4paper]{article}
\usepackage{graphicx,caption}
\usepackage[top=0.5cm,bottom=3.8cm,right=2cm,left=2cm]{geometry}
\usepackage{xcolor}
\captionsetup{labelformat=empty} 

\usepackage{nicematrix}
\usepackage{tikz}
\usetikzlibrary{patterns}

\newcommand{\MyBlock}{\Block[transparent,tikz={pattern = north west lines, pattern color = red}]}

\begin{document}

\begin{table}[ht]
\large
\centering
\caption{{\Large 08/01/2024 $\rightarrow$ 13/01/2024}}
\renewcommand{\arraystretch}{2.5}
\begin{NiceTabular}{|>{\columncolor{cyan!30}}X[l]X[c]X[c]X[c]X[c]X[c]}[hvlines,color-inside,width=0.8\textwidth]
  \rowcolor{cyan!30}
           & 8:30-10:30 & 10:30-12:30 & 12:30-14:30 & 14:30-16:30  & 16:30-18:30 \\ 
  Lundi    &            &             & \MyBlock{*-1}{}  \\
  Mardi    &            &             &             &              &             \\ 
  Mercredi &            &             &             & \MyBlock{}{} & \Block[fill=red!30]{}{Droit\\ \small Ms Y} \\ 
  Jeudi    &            &             &             &              &             \\ 
  Vendredi &            &             &             &              &             \\ 
  Samedi   &            &             &             & \Block[fill=red!30]{}{Informatique\\ \small Mr X} & \MyBlock{}{}\\
\end{NiceTabular}
\end{table}

\end{document}

Necesita varias compilaciones (porque nicematrixutiliza nodos PGF/TikZ bajo el capó).

Salida del primer código.


Aquí hay una versión con una esquina vacía en la posición NW (noroeste). La clave cornersde nicematrixha sido diseñada para ese trabajo pero, por motivos técnicos, no funciona con celdas de tipo X. Por eso he utilizado un tipo de columna lpara la primera columna.

\documentclass[landscape,a4paper]{article}
\usepackage{graphicx,caption}
\usepackage[top=0.5cm,bottom=3.8cm,right=2cm,left=2cm]{geometry}
\usepackage{xcolor}
\captionsetup{labelformat=empty} 

\usepackage{nicematrix}
\usepackage{tikz}
\usetikzlibrary{patterns}

\newcommand{\MyBlock}{\Block[transparent,tikz={pattern = north west lines, pattern color = red}]}

\begin{document}

\begin{table}[ht]
\large
\centering
\caption{{\Large 08/01/2024 $\rightarrow$ 13/01/2024}}
\renewcommand{\arraystretch}{2.5}
\begin{NiceTabular}{|>{\columncolor{cyan!30}}lX[c]X[c]X[c]X[c]X[c]}[hvlines,corners=NW,color-inside,width=0.8\textwidth]
  \rowcolor{cyan!30}
           & 8:30-10:30 & 10:30-12:30 & 12:30-14:30 & 14:30-16:30  & 16:30-18:30 \\ 
  Lundi    &            &             & \MyBlock{*-1}{}  \\
  Mardi    &            &             &             &              &             \\ 
  Mercredi &            &             &             & \MyBlock{}{} & \Block[fill=red!30]{}{Droit\\ \small Ms Y} \\ 
  Jeudi    &            &             &             &              &             \\ 
  Vendredi &            &             &             &              &             \\ 
  Samedi   &            &             &             & \Block[fill=red!30]{}{Informatique\\ \small Mr X} & \MyBlock{}{}\\
\end{NiceTabular}
\end{table}

\end{document}

Salida del segundo código.

información relacionada