![如何用背景颜色填充表格单元格?](https://linux22.com/image/231779/%E5%A6%82%E4%BD%95%E7%94%A8%E8%83%8C%E6%99%AF%E9%A2%9C%E8%89%B2%E5%A1%AB%E5%85%85%E8%A1%A8%E6%A0%BC%E5%8D%95%E5%85%83%E6%A0%BC%EF%BC%9F.png)
我想用背景颜色填充表格的单元格。该怎么做?
答案1
答案2
该软件包nicematrix
提供了用于为表格中的单元格背景着色的工具。使用这些工具,您将在 PDF 查看器中获得良好的输出:在某些缩放级别(例如 Adobe 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}