我有一张简单的桌子
\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 节点)。