xcolor 包;颜色多行

xcolor 包;颜色多行

请考虑下表:

\documentclass[a4paper]{report}

\usepackage{multirow}
\usepackage[table]{xcolor}

\begin{document}

\begin{table}
  \rowcolors{1}{gray!15}{gray!15}
  \centering
    \begin{tabular}{rrrrr}
    \rowcolor{gray!50}
    Header & 1     & 2     & 3     & 4 \\
    Row1  & a     & b     & c     & d \\
    \multicolumn{1}{c}{\multirow{2}[0]{*}{Multirow1}} & a1    & b1    & c1    & d1 \\
    \multicolumn{1}{c}{} & a2    & b2    & c2    & d2 \\
    Row2  & aa    & ab    & ac    & ad \\
    \end{tabular}
\end{table}

\end{document}

让我不满意的是“Multirow1”现在半隐藏了。此外,我想使用 RGB 值而不是颜色。但不知道该怎么做gray!15gray!50

答案1

我猜想在创建 后,下方单元格会填充颜色multirow,从而掩盖其内容。如果您将 移至multirow最底行,并使用-2代替2,效果会更好。

要使用 RGB 值定义颜色,请使用

\definecolor{<name of colour>}{rgb}{<red>, <green>, <blue>}

其中<color>在区间 [0,1] 内,或者

\definecolor{<name of colour>}{RGB}{<red>, <green>, <blue>}

其中<color>是区间 [0,255] 内的整数。

在此处输入图片描述

\documentclass[a4paper]{report}

\usepackage{multirow}
\usepackage[table]{xcolor}
\definecolor{MyColor}{rgb}{0.8, 0.8, 0.8}
\begin{document}

\begin{table}
  \rowcolors{1}{gray!15}{gray!15}
  \centering
    \begin{tabular}{rrrrr}
    \rowcolor{MyColor}
    Header & 1     & 2     & 3     & 4 \\
    Row1  & a     & b     & c     & d \\
    \multicolumn{1}{c}{} & a1    & b1    & c1    & d1 \\
    \multicolumn{1}{c}{\multirow{-2}[0]{*}{Multirow1}} & a2    & b2    & c2    & d2 \\
    Row2  & aa    & ab    & ac    & ad \\
    \end{tabular}
\end{table}

\end{document}

答案2

这是实现此目的的一种方法nicematrix(您至少需要 2021-03-23 的 v. 5.13)。

在某些缩放级别下,您将不会看到colortbl在某些 PDF 查看器(例如 SumatraPDF)中看到的细白线。

\documentclass{article}
\usepackage{nicematrix}

\begin{document}

\begin{table}
   \centering
   \begin{NiceTabular}{rrrrr}
   \CodeBefore
     \arraycolor{gray!15}
     \rowcolor{gray!30}{1}
   \Body
   Header & 1     & 2     & 3     & 4  \\
   Row1   & a     & b     & c     & d  \\
   \Block{2-1}{Multirow1}
          & a1    & b1    & c1    & d1 \\
          & a2    & b2    & c2    & d2 \\
   Row2   & aa    & ab    & ac    & ad \\
   \end{NiceTabular}
\end{table}

\end{document}

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

上述代码的输出

相关内容