我正在尝试为表格中的多行添加颜色,但至今尚未成功:
\documentclass{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage{multirow}
\usepackage{hhline}
\usepackage{colortbl}
\usepackage{multicol}
\begin{document}
\begin{table}
\begin{tabular}{|l|c|c|c|c|}
\hline
\multicolumn{5}{|c|}{Type} \\
\hline
& A & B & C & D \\
\hline
X & 53,2\% & 51,6\% & \multirow{2}{*}{\cellcolor[gray]{.9}49\%} & \multirow{2}{*}{\cellcolor[gray]{0.9}49\% }\\
Y & 53,8\% & 52,2\% & & \\
\hline
\end{tabular}
\end{table}
\end{document}
我该怎么做,才能让最后两个多行单元格完全变成灰色?
答案1
\documentclass{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage{multirow}
\usepackage{hhline}
\usepackage{colortbl}
\usepackage{multicol}
\begin{document}
\begin{table}
\begin{tabular}{|l|c|c|c|c|}
\hline
\multicolumn{5}{|c|}{Type} \\
\hline
& A & B & C & D \\
\hline
X & 53,2\% & 51,6\% & \cellcolor[gray]{0.9} & \cellcolor[gray]{0.9}\\
Y & 53,8\% & 52,2\% & \multirow{-2}{*}{\cellcolor[gray]{.9}49\%} & \multirow{-2}{*}{\cellcolor[gray]{0.9}49\% }\\
\hline
\end{tabular}
\end{table}
\end{document}
首先通过发布为上部单元格着色\cellcolor[gray]{0.9}
,然后使用\multirow
n 为第二行着色。注意-2
。\multirow{-2}{*}{...}
这将使多行向上增长。
答案2
您可以使用 轻松做到这{NiceTabular}
一点nicematrix
。
\documentclass{scrartcl}
\usepackage{nicematrix}
\begin{document}
\begin{table}
\begin{NiceTabular}{lcccc}[hvlines]
\CodeBefore
\rectanglecolor[gray]{0.9}{3-4}{4-5}
\Body
\Block{1-5}{Type} \\
& A & B & C & D \\
X & 53,2\% & 51,6\% & \Block{2-1}{49\%} & \Block{2-1}{49\%} \\
Y & 53,8\% & 52,2\% & \\
\end{NiceTabular}
\end{table}
\end{document}
您需要两次编译。
在某些 PDF 查看器中,您不会看到像使用 工具创建的 PDF 那样的伪影
colortbl
。
也可以使用fill
命令的键\Block
。
\documentclass{scrartcl}
\usepackage{nicematrix}
\begin{document}
\begin{table}
\begin{NiceTabular}{lcccc}[hvlines,color-inside]
\Block{1-5}{Type} \\
& A & B & C & D \\
X & 53,2\% & 51,6\% & \Block[fill=[gray]{0.9}]{2-1}{49\%} & \Block[fill=[gray]{0.9}]{2-1}{49\%} \\
Y & 53,8\% & 52,2\% & \\
\end{NiceTabular}
\end{table}
\end{document}
输出是一样的。