这是一个简单的例子:
\documentclass{report}
\usepackage{colortbl}
\usepackage{xcolor}
\begin{document}
\begin{table}[!h]
\begin{tabular}{|c|c|c|c|c|}
\hline
\rowcolor{lightgray} Week & Date & Topic & Pages & HW\\ \hline
& Date & Topic & Pages & HW\\ \cline{2-5}
1 & Date & Topic & Pages & HW\\ \cline{2-5}
& Date & Topic & Pages & HW\\ \hline
\rowcolor{lightgray} & Date & Topic & Pages & HW\\ \cline{2-5}
\rowcolor{lightgray} 2 & Date & Topic & Pages & HW\\ \cline{2-5}
\rowcolor{lightgray} & Date & Topic & Pages & HW\\ \hline
\end{tabular}
\end{table}
\end{document}
这是我编译时得到的图像:
正如您所见,浅灰色行之间看不到水平斜线。
为什么会发生这种情况?我该如何解决?
答案1
可能的解决方案是nicematrix
:
\documentclass{report}
\usepackage{colortbl}
\usepackage{xcolor}
\usepackage{nicematrix}
\begin{document}
\begin{table}[!h]
\begin{NiceTabular}{|c|c|c|c|c|}
\CodeBefore
\rowcolor{lightgray}{1,5,6,7}
\Body
\hline
Week & Date & Topic & Pages & HW\\ \hline
& Date & Topic & Pages & HW\\ \cline{2-5}
1 & Date & Topic & Pages & HW\\ \cline{2-5}
& Date & Topic & Pages & HW\\ \hline
& Date & Topic & Pages & HW\\ \cline{2-5}
2 & Date & Topic & Pages & HW\\ \cline{2-5}
& Date & Topic & Pages & HW\\ \hline
\end{NiceTabular}
\end{table}
\end{document}
答案2
我建议使用hhline
:
\documentclass{report}
\usepackage[table]{xcolor}
\usepackage{hhline}
\begin{document}
\begin{table}[!h]
\setlength{\extrarowheight}{2pt}
\begin{tabular}{|c|c|c|c|c|}
\hline
\rowcolor{lightgray} Week & Date & Topic & Pages & HW\\ \hline
& Date & Topic & Pages & HW\\ \cline{2-5}
1 & Date & Topic & Pages & HW\\ \cline{2-5}
& Date & Topic & Pages & HW\\ \hline
\rowcolor{lightgray} & Date & Topic & Pages & HW\\[-0.5pt] \hhline{|~|----}
\rowcolor{lightgray} 2 & Date & Topic & Pages & HW\\[-0.5pt] \hhline{|~|----}
\rowcolor{lightgray} & Date & Topic & Pages & HW\\ \hline
\end{tabular}
\end{table}
\end{document}
答案3
使用{NiceTabular}
,nicematrix
您将直接得到预期的结果。
\documentclass{report}
\usepackage{xcolor}
\usepackage{nicematrix}
\begin{document}
\begin{table}[!h]
\begin{NiceTabular}{|c|c|c|c|c|}[colortbl-like]
\hline
\rowcolor{lightgray} Week & Date & Topic & Pages & HW\\ \hline
& Date & Topic & Pages & HW\\ \cline{2-5}
1 & Date & Topic & Pages & HW\\ \cline{2-5}
& Date & Topic & Pages & HW\\ \hline
\rowcolor{lightgray} & Date & Topic & Pages & HW\\ \cline{2-5}
\rowcolor{lightgray} 2 & Date & Topic & Pages & HW\\ \cline{2-5}
\rowcolor{lightgray} & Date & Topic & Pages & HW\\ \hline
\end{NiceTabular}
\end{table}
\end{document}
您需要多次编译(因为nicematrix
在后台使用 PGF/Tikz 节点)。
答案4
使用我的新 LaTeX3 包的解决方案tabularray
:
\documentclass{report}
\usepackage{xcolor}
\usepackage{tabularray}
\begin{document}
\begin{table}[!h]
\begin{tblr}{
colspec={|c|c|c|c|c|},
row{1,5-7}={lightgray},
cell{2,5}{1} = {r=3}{m}, % multirow
hlines, vlines, % hlines can not cross multirow cells
}
Week & Date & Topic & Pages & HW \\
1 & Date & Topic & Pages & HW \\
& Date & Topic & Pages & HW \\
& Date & Topic & Pages & HW \\
2 & Date & Topic & Pages & HW \\
& Date & Topic & Pages & HW \\
& Date & Topic & Pages & HW \\
\end{tblr}
\end{table}
\end{document}