我有一张表格,我想用多种颜色填充,每个单元格可能都不同。这意味着,我不能使用例如\columncolor
(如这邮政)。
而没有任何颜色的表格看起来也很好(代码在最后):
...具有一个或多个已填充单元格的表格将覆盖表格网格。
我的问题是:有没有办法,例如在填充单元格后重新绘制网格或类似的东西?
这是我的代码:
\documentclass[11pt]{article}
\usepackage{color}
\usepackage{colortbl}
\usepackage{multirow}
\newlength{\Oldarrayrulewidth}
% Cline redefining to add line thickness
\newcommand{\Cline}[2]{%
\noalign{\global\setlength{\Oldarrayrulewidth}{\arrayrulewidth}}%
\noalign{\global\setlength{\arrayrulewidth}{#1}}\cline{#2}%
\noalign{\global\setlength{\arrayrulewidth}{\Oldarrayrulewidth}}
}
\definecolor{intnull}{RGB}{213,229,255}
\definecolor{inteins}{RGB}{128,179,255}
\definecolor{intzwei}{RGB}{42,127,255}
\definecolor{intdrei}{RGB}{0,85,212}
\definecolor{intvier}{RGB}{0,51,128}
\definecolor{intfunf}{RGB}{0,34,85}
\begin{document}
% Empty table
\begin{tabular}{*{5}{!{\vrule width 1.5pt}p{1.5cm}}!{\vrule width 1.5pt}l}
\centering 4 &
\centering 10 &
\centering 24 &
\centering 48 &
\centering 72 &\\ \Cline{1.5pt}{0-4}
& & & & & Optic tectum \\ \Cline{1.5pt}{3-5}
& & & & & Retina \\ \Cline{1.5pt}{3-5}
& & & & & Myomeres \\ \Cline{1.5pt}{0-4}
& & & & & Arches \\ \Cline{1.5pt}{0-4}
\end{tabular} \\
\hspace*{1cm}
% Partically filled table
\begin{tabular}{*{5}{!{\vrule width 1.5pt}p{1.5cm}}!{\vrule width 1.5pt}l}
\centering 4 &
\centering 10 &
\centering 24 &
\centering 48 &
\centering 72 &\\ \Cline{1.5pt}{0-4}
& \cellcolor{intnull} & & \cellcolor{intvier} & & Optic tectum \\ \Cline{1.5pt}{3-5}
& \cellcolor{intnull} & & \cellcolor{intnull} & & Retina \\ \Cline{1.5pt}{3-5}
& \cellcolor{intnull} & & \cellcolor{intdrei} & & Myomeres \\ \Cline{1.5pt}{0-4}
& \cellcolor{inteins} & & \cellcolor{inteins} & & Arches \\ \Cline{1.5pt}{0-4}
\end{tabular}
\end{document}
答案1
请不要仅发布无法运行的代码片段,请始终发布完整的小文档。
修复方法应与另一个问题完全相同。正如文档所述,colortbl
与不兼容\cline
,您需要改用\hhline
。单元格背景颜色不同这一事实与包含负间距的问题无关,\cline
因此它属于颜色。
答案2
只需将命令放在\cellcolor[]{}
括号 {} 内,它就不会像这样覆盖表格行
\hline
{\cellcolor[gray]{.8}} Chapter & Title \\
\hline