如何用背景颜色填充表格单元格?

如何用背景颜色填充表格单元格?

我想用背景颜色填充表格的单元格。该怎么做?

答案1

彩色支持以多种模式对表格行进行着色。彩色表格可以为行、列、单元格和规则着色。

有一个不错的文章Lapo Filippo Mori 在 PracTeX Journal 中介绍了这两个软件包的用法。向下滚动到第 4 部分。

答案2

该软件包nicematrix提供了用于为表格中的单元格背景着色的工具。使用这些工具,您将在 PDF 查看器中获得良好的输出:在某些缩放级别(例如 Adob​​e Reader)下,规则似乎不会在这些 PDF 查看器中消失,并且您不会看到某些 PDF 查看器(例如 Sumatra PDF)中出现的细白线。

首先,有语法为 的工具colortbl

\documentclass{article}

\usepackage{nicematrix}

\begin{document}

\begin{NiceTabular}{ccc>{\columncolor{blue!15}}c}[hvlines,colortbl-like]
\rowcolor{red!15}1 & 22 & 34 & 2346 \\
2346 & 2 & 246  & 2 \\
1 & 34 & 2346111 & 1 \\
\cellcolor{yellow!50}1222 & 0 & 34 & 463
\end{NiceTabular}

\end{document}

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

第一个代码的输出

如果您希望在主数组之外使用格式化指令,那么也可以使用 中的指令\CodeBefore

 \documentclass{article}

 \usepackage{nicematrix}

 \begin{document}

 \begin{NiceTabular}{cccc}[hvlines,colortbl-like]
 \CodeBefore
   \columncolor{blue!15}{3}
   \rowcolor{red!15}{1}
   \cellcolor{yellow!50}{4-1}
 \Body
 1 & 22 & 34 & 2346 \\
 2346 & 2 & 246  & 2 \\
 1 & 34 & 2346111 & 1 \\
 1222 & 0 & 34 & 463
 \end{NiceTabular}

 \end{document}

第二段代码的输出

还有一个命令\Block(最初设计用于合并单元格),可用于为数组中的区域着色。

\documentclass{article}
\usepackage{nicematrix}

\begin{document}

\begin{NiceTabular}{cccc}
\Block[fill=red!15,rounded-corners]{1-*}{}1 & 22 & 34 & 2346 \\
2346 & 2 & 246  & 2 \\
\Block[fill=yellow!50,rounded-corners]{2-2}{0} & & 2346111 & 1 \\
& & 34 & 463
\end{NiceTabular}

\end{document}

第三个代码的输出

nicematrix最后,如果您有特殊的东西要绘制,您可以使用 Tikz 和数组下创建的 PGF/Tikz 节点。

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

\begin{document}

\begin{NiceTabular}{cccc}
\CodeBefore
  \tikz \fill [red!15] (1-|1) -- (5-|3) -- (1-|4) -- cycle ;
\Body
1 & 22 & 34 & 2346 \\
2346 & 2 & 246  & 2 \\
1 & 34 & 2346111 & 1 \\
1222 & 0 & 34 & 463
\end{NiceTabular}

\end{document}

上述代码的输出

相关内容