如果使用 \multirow,则 \columncolor 在前景中

如果使用 \multirow,则 \columncolor 在前景中

似乎如果我使用>{\columncolor{green!30}}c 该列中有\multirow内容,则颜色位于前景中。

这两个表的唯一区别是,第二个表已>{\columncolor{green!30}}应用于第一列,而第一个表则没有。

在此处输入图片描述

代码:

\documentclass{article}
\usepackage{xcolor}
\usepackage{graphicx}
\usepackage{booktabs}
\usepackage{colortbl}
\usepackage{multirow}

\newcommand*{\MyTabelContent}{%
        \toprule
        &$+$ & 0 & 1 & 2 & 3 & 4 & 5 
        \\
        \multirow{6}{*}{\rotatebox{90}{Label}}
         &0 & & & & & &
        \\
         &1 & & & & & &
        \\
         &2 & & & & & &
        \\
         &3 & & & & & &
        \\
         &4 & & & & & &
        \\
         &5 & & & & & &
        \\
        \bottomrule
}

\begin{document}
\noindent
    \begin{tabular}{c >{\columncolor{cyan!30}}cccccc c @{}}
        \MyTabelContent
    \end{tabular}
    \quad
    \begin{tabular}{>{\columncolor{green!30}}c >{\columncolor{cyan!30}}cccccc c @{}}
        \MyTabelContent
    \end{tabular}%
\end{document}

答案1

\multirow您可以通过使用最底下的行并指定负数行来获得所需的内容。

\documentclass{article}
\usepackage[table]{xcolor} % also loads colortbl
\usepackage{graphicx}
\usepackage{booktabs}
\usepackage{multirow}

\newcommand*{\MyTabelContent}{%
        \toprule
        &$+$ & 0 & 1 & 2 & 3 & 4 & 5 
        \\
         &0 & & & & & &
        \\
         &1 & & & & & &
        \\
         &2 & & & & & &
        \\
         &3 & & & & & &
        \\
         &4 & & & & & &
        \\
        \multirow{-6}{*}{\rotatebox{90}{Label}}
         &5 & & & & & &
        \\
        \bottomrule
}

\begin{document}
\noindent
    \begin{tabular}{c >{\columncolor{cyan!30}}cccccc c @{}}
        \MyTabelContent
    \end{tabular}
    \quad
    \begin{tabular}{>{\columncolor{green!30}}c >{\columncolor{cyan!30}}cccccc c @{}}
        \MyTabelContent
    \end{tabular}%
\end{document}

在此处输入图片描述

答案2

使用{NiceTabular}nicematrix和键colortbl-like),您可以直接获得预期的结果。

\documentclass{article}
\usepackage{xcolor}
\usepackage{graphicx}
\usepackage{booktabs}
\usepackage{multirow}
\usepackage{nicematrix}

\newcommand*{\MyTabelContent}{%
        \toprule
        &$+$ & 0 & 1 & 2 & 3 & 4 & 5 
        \\
        \multirow{6}{*}{\rotatebox{90}{Label}}
         &0 & & & & & &
        \\
         &1 & & & & & &
        \\
         &2 & & & & & &
        \\
         &3 & & & & & &
        \\
         &4 & & & & & &
        \\
         &5 & & & & & &
        \\
        \bottomrule
}

\begin{document}
\noindent
    \begin{NiceTabular}{c >{\columncolor{cyan!30}}ccccccc@{}}[colortbl-like]
        \MyTabelContent
    \end{NiceTabular}
    \quad
    \begin{NiceTabular}{>{\columncolor{green!30}}c >{\columncolor{cyan!30}}ccccccc@{}}[colortbl-like]
        \MyTabelContent
    \end{NiceTabular}%
\end{document}

booktabs彩色面板延伸至符合设计的规则nicematrix

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

上述代码的输出

相关内容