透明表格单元格颜色

透明表格单元格颜色

我有一张简单的桌子

\documentclass{article}

\usepackage[table]{xcolor}
\usepackage{adjustbox}
\usepackage{booktabs}

\begin{document}

\begin{table}
\rowcolors{2}{}{gray!10}
\centering
\begin{adjustbox}{width=\textwidth}
\begin{tabular}{lrrrrrrrrr}
\toprule
  & A & B & C & D & E & F & G & H & I \\ \midrule
A & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
B & 0 & \cellcolor{green}1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
C & 0 & 0 & 1 & 0 & 1 & 0 & 0 & 0 & 0 \\
D & 1 & 0 & 1 & 1 & 0 & 1 & 0 & 0 & 0 \\
E & 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 \\
F & 0 & 0 & 0 & 1 & 0 & 1 & 0 & 0 & 0 \\
G & 1 & 1 & 0 & 1 & 0 & 1 & 1 & 1 & 0 \\
H & 1 & 0 & 1 & 1 & 1 & 0 & 1 & 1 & 1 \\
I & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 \\
\bottomrule
\end{tabular}
\end{adjustbox}
\end{table}

\end{document}

有结果

在此处输入图片描述

我认为绿色有点太多了。是否可以给它添加透明度,这样它就不会那么强大,而只是用绿色谨慎地突出显示单元格?

答案1

您可以混合其他颜色,例如green!50!black将黑色与绿色混合,每种颜色各占 50%。但由于您希望绿色更浅,因此您应该混合白色。

但是,这个命令更短,因为它默认会与白色混合,所以您可以写\cellcolor{green!30},结果颜色将是 70% 白色和 30% 绿色。

答案2

如果您确实想用透明颜色为表格单元格着色(也就是说为了看到表格单元格下背景的图形元素),您可以{NiceTabular}尝试nicematrix

\documentclass{article}
\usepackage{nicematrix,tikz}
\usepackage{lipsum}

\begin{document}

\lipsum[1]

\vspace{-4cm}

\renewcommand{\arraystretch}{2}
\begin{NiceTabular}{cccc}[hvlines,columns-width=2cm]
& & \Block[tikz={fill=blue!15,opacity=.5}]{1-1}{}& \\
\Block[tikz={fill=red!15,opacity = .5}]{2-2}{\Large A} 
& & & \\
& & & 
\end{NiceTabular}

\end{document}

您需要多次编译(因为nicematrix在后台使用 PGF/Tikz 节点)。

上述代码的输出

相关内容