
私は LaTeX 表形式環境を使用してタイムテーブルを作成しましたが、下の図に示すように、いくつかの空のセルに斜めのストリップを追加したいと考えています。
私が希望するパターンは次のとおりです。
どうすればいいでしょうか? テーブルを生成するために使用したコードは次のとおりです:
\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}
答え1
{NiceTabular}
ofと TikZ を使用してnicematrix
パターンを描画します。
\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}
複数のコンパイルが必要です (nicematrix
内部で PGF/TikZ ノードが使用されるため)。
これは、NWの位置に空のコーナーがあるバージョンです(北西corners
)。のキーはnicematrix
その目的のために設計されていますが、技術的な理由により、 タイプのセルでは機能しませんX
。そのため、l
最初の列には列タイプを使用しました。
\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}