表格单元格颜色:有什么方法可以只绘制单元格的一部分吗?

表格单元格颜色:有什么方法可以只绘制单元格的一部分吗?

我有一张表格,其中单元格有边框和背景颜色。在某些 PDF 阅读器上,背景颜色有时会覆盖边框:问题说明

我一直无法解决这个问题,现在我正在考虑用其他方式来表示相同的数据。

许多地方建议尽可能避免使用水平线,所以我想知道是否应该通过删除所有水平线(以及非粗垂直线)来修改此表,并且我不会绘制整个单元格,而是在单元格中心绘制一个小正方形或圆圈。这样可以吗?

答案1

我的建议是:(a)使用booktabs包(b)代替垂直规则,在单元格之间使用一些水平空间(c)代替水平规则,使用一些类似的规则\addlinespace[.2em]以允许行之间有类似的空间。示例:

姆韦

\documentclass{article}
\usepackage[table]{xcolor}
\usepackage{booktabs,array}
\newcolumntype{K}{!{\color{white}\ }c}
\begin{document}
\begin{tabular}{cKKKKKK}\toprule
\multicolumn{2}{c}{Malware} & \multicolumn{3}{c}{Shareware} & \multicolumn{2}{c}{Etc...}\\\cmidrule(r){1-2}\cmidrule(rl){3-5}\cmidrule(l){6-7}
P1 & P2 & P3 & P4 & P5 & P6 & P7 \\\midrule
\rowcolor{yellow}
 &\cellcolor{red} & &  &  &  & \\\addlinespace[.25em]
\rowcolor{cyan}
& & &  &\cellcolor{olive}  &  & \\\addlinespace[.25em]
&  &  & \cellcolor{magenta}  &  &  & \\\addlinespace[.25em]
\rowcolor{gray!20}
&  &  & \cellcolor{magenta!20}  &  &  & \\\addlinespace[.25em]
& & & & & \cellcolor{magenta} & \cellcolor{magenta} \\\bottomrule
\end{tabular}
\end{document}

相关内容