我遇到了一个问题,\cline
似乎在表格颜色的填充下绘制了颜色。
和\hline
和\cline
(删除我想要空白的单元格上方的行)
线条仍然存在,只是非常非常细。它并不总是显示或打印。有什么简单的方法可以解决这个问题吗?
这是我的示例的来源:
\documentclass{article}
\usepackage[table]{xcolor}
%odd/eaven colours for tables
\rowcolors{2}{gray!10}{white}
%to change cells of the title row
\newcommand{\titlecol}{\cellcolor{gray!30}}
\begin{document}
\begin{table}[!ht]
\centering
\begin{tabular}{|l| c c | c c |}
\cline{2-5}
%\hline
\rowcolor{white} %first cell is excluded from the table
\multicolumn{1}{c|}{} & \multicolumn{2}{c|}{\titlecol Title1} & \multicolumn{2}{c|}{\titlecol Title2} \\
\hline
A & 0 & 1 & 2 & 3 \\
B & 0 & 1 & 2 & 3 \\
C & 0 & 1 & 2 & 3 \\
D & 0 & 1 & 2 & 3 \\
\hline
\end{tabular}
\caption{Caption.}
\label{mytable}
\end{table}
\end{document}
答案1
感谢大家的回答和评论!
还有这个,现在我知道要搜索什么了:彩色表格和 cline/hhline
这就是我最终得到的结果(使用\hhline{~|--|--|}
):
我只是简单地看了一眼,但看起来 hline 中的角色的作用如下:
~
一个单元格没有线|
水平线和垂直线之间的角,虽然我不确定是否需要中间的角-
单元格线
\documentclass{article}
\usepackage[table]{xcolor}
\usepackage{hhline}
%odd/eaven colours for tables
\rowcolors{2}{gray!10}{white}
\newcommand{\titlecol}{\cellcolor{gray!30}}
\begin{document}
\begin{table}[!ht]
\centering
\begin{tabular}{|l| c c | c c |}
\hhline{~|*4{-}|}
%\cline{2-5}
%\hline
\rowcolor{white}
\multicolumn{1}{c|}{} & \multicolumn{2}{c|}{\titlecol Title1} & \multicolumn{2}{c|}{\titlecol Title2} \\
\hline
A & 0 & 1 & 2 & 3 \\
B & 0 & 1 & 2 & 3 \\
C & 0 & 1 & 2 & 3 \\
D & 0 & 1 & 2 & 3 \\
\hline
\end{tabular}
\caption{Caption.}
\label{mytable}
\end{table}
\end{document}
答案2
我发现:线条不是太细,只是被填充的单元格覆盖了。一些 pdf 阅读器注意到 y 值的细微差异并绘制线条,而其他则没有。
这里有人问过类似的问题:
我建议您使用该问题的扩展答案中列出的建议方法之一来解决此问题。
答案3
{NiceTabular}
供参考,这里是使用构建该表的(简单)方法nicematrix
。
在该环境中,有一个关键点corners
是计算表格的空角(此处为西北角)。然后,规则不会在角落中绘制,并且颜色指令不会为角落中的单元格着色。
\documentclass{article}
\usepackage{nicematrix}
\begin{document}
\begin{table}[!ht]
\centering
\begin{NiceTabular}{|l|cc|cc|}[color-inside,corners=NW] % NW : north-west
\Hline
\rowcolor{gray!30}
& \Block{1-2}{Title1} && \Block{1-2}{Title2} \\
\Hline
\rowcolors{gray!10}{}
A & 0 & 1 & 2 & 3 \\
B & 0 & 1 & 2 & 3 \\
C & 0 & 1 & 2 & 3 \\
D & 0 & 1 & 2 & 3 \\
\Hline
\end{NiceTabular}
\caption{Caption.}
\label{mytable}
\end{table}
\end{document}
您需要进行多次编译(因为nicematrix
在后台使用了 PGF/TikZ 节点)。