代码:

代码:

我发现问题如何用背景颜色填充表格单元格?,但文档链接对我根本没有帮助。

我想知道如何给表格上色柱子给出了我的列代码,但文档仅给出了命令的语法。它没有给出在哪里使用它的任何代码示例。

\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}

上述代码的输出

相关内容