表格中的多行颜色

表格中的多行颜色

我正在尝试为表格中的多行添加颜色,但至今尚未成功:

\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},然后使用\multirown 为第二行着色。注意-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}

输出是一样的。

相关内容