我发现问题如何用背景颜色填充表格单元格?,但文档链接对我根本没有帮助。
我想知道如何给表格上色柱子给出了我的列代码,但文档仅给出了命令的语法。它没有给出在哪里使用它的任何代码示例。
\usepackage{colortbl}
\begin{table}[h]
\centering
\begin{tabular}{|c|c|c|c|c|c|c|c|}
\hline
\cellcolor[gray]{0.8}128&64&32&16&8&4&2&1\\\hline
1&0&1&1&0&1&0&1\\\hline
\end{tabular}
\end{table}
如您所见,我开始\cellcolor
工作了,但我不想为单个单元格着色。我想为表格的整个列着色。有人知道我该怎么做吗?
答案1
这里有一个小例子,可能会对你有帮助。
- 使用定义自己的颜色
\definecolor{Gray}{gray}{0.85}
- 使用定义您自己的列
\newcolumntype{a}{>{\columncolor{Gray}}c}
- 您已准备好出发。
代码
\documentclass{article}
\usepackage{xcolor,colortbl}
\newcommand{\mc}[2]{\multicolumn{#1}{c}{#2}}
\definecolor{Gray}{gray}{0.85}
\definecolor{LightCyan}{rgb}{0.88,1,1}
\newcolumntype{a}{>{\columncolor{Gray}}c}
\newcolumntype{b}{>{\columncolor{white}}c}
\begin{document}
\begin{table}
\begin{tabular}{l | a | b | a | b}
\hline
\rowcolor{LightCyan}
\mc{1}{} & \mc{1}{x} & \mc{1}{y} & \mc{1}{w} & \mc{1}{z} \\
\hline
variable 1 & a & b & c & d \\
variable 2 & a & b & c & d \\ \hline
\end{tabular}
\end{table}
\end{document}
结果
答案2
您可以\columncolor
使用
\begin{tabular}{|>{\columncolor[gray]{0.8}}c|c|c|c|c|c|c|c|}
代码:
\documentclass{article}
\usepackage{colortbl}
\begin{document}
\begin{table}[h]
\centering
\begin{tabular}{|>{\columncolor[gray]{0.8}}c|c|c|c|c|c|c|c|}
\hline
128&64&32&16&8&4&2&1\\\hline
1&0&1&1&0&1&0&1\\\hline
1&0&1&1&0&1&0&1\\\hline
\end{tabular}
\end{table}
\end{document}
答案3
tblr
使用新 LaTeX3 包的环境可以轻松为单元格/行/列着色tabularray
:
\documentclass{article}
\usepackage{xcolor}
\usepackage{tabularray}
\begin{document}
\begin{table}[h]
\centering
\begin{tblr}{
colspec = {|c|c|c|c|c|c|c|c|},
row{2} = {purple7},
column{3} = {teal7},
cell{2}{3} = {yellow7},
}
\hline
128 & 64 & 32 & 16 & 8 & 4 & 2 & 1 \\
\hline
1 & 0 & 1 & 1 & 0 & 1 & 0 & 1 \\
\hline
1 & 0 & 1 & 1 & 0 & 1 & 0 & 1 \\
\hline
\end{tblr}
\end{table}
\end{document}
答案4
使用,您可以使用与(加载时)相同的语法为列着色,{NiceTabular}
其优点是您将获得完美的 PDF 输出:无论您使用什么 PDF 查看器,规则似乎都不会消失,也不会看到细白线。nicematrix
{tabular}
colortbl
\documentclass{article}
\usepackage{nicematrix}
\begin{document}
\begin{NiceTabular}{c|>{\columncolor{blue!15}}c|cc}[colortbl-like]
A & 1 & 2 & 3 \\
B & 4 & 5 & 10 \\
C & 9 & 12 & 15
\end{NiceTabular}
\end{document}
您需要多次编译(因为nicematrix
在后台使用 PGF/Tikz 节点)。
还可以指定对\CodeBefore
表格内容之前的列(或单元格、行等)进行颜色设置的指令。
\documentclass{article}
\usepackage{nicematrix}
\begin{document}
\begin{NiceTabular}{c|c|cc}
\CodeBefore
\columncolor{blue!15}{2}
\Body
A & 1 & 2 & 3 \\
B & 4 & 5 & 10 \\
C & 9 & 12 & 15
\end{NiceTabular}
\end{document}
输出是一样的。
更一般地,你可以用任何 Tikz 模式填充一列(或表格的任何区域)。
\documentclass{article}
\usepackage{nicematrix,tikz}
\begin{document}
\begin{NiceTabular}{c|c|cc}
A & \Block[tikz={top color=blue!15}]{*-1}{}
1 & 2 & 3 \\
B & 4 & 5 & 10 \\
C & 9 & 12 & 15
\end{NiceTabular}
\end{document}