Latex 表格单元格着色问题

Latex 表格单元格着色问题

编辑:显然,我不太清楚自己想要什么。我想要做的是在行之间交替使用灰色和白色。在这种情况下,第一行(标题)应该是灰色。使用 \multirow,如果没有颜色覆盖文本,则无法实现这一点,如标题 4 和标题 5 所示。

\multirow 文本被背景颜色覆盖。有人知道原因吗?我该如何修复?我已经尝试添加“-”, \multirow{-2}{*}{ \textbf{header1}}如下所示,但仍然不起作用。

测试表

 \usepackage{multirow}
 \usepackage{graphicx}
\begin{table}[t]
\centering
\scriptsize
\begin{tabular}{p{1.7 cm}|p{1.4cm}|p{1.9cm}|p{1.5cm}|p{1.1cm}|p{2.1cm}|p{1.55cm}|p{1.2cm}|p{1.4cm}}
\toprule
\rowcolor{Gainsboro!60}
 \multirow{-2}{*}{ \textbf{header1}} &
  \multicolumn{4}{c|}{\textbf{\begin{tabular}[c]{@{}c@{}}header2 \end{tabular}}} &
  \multicolumn{2}{c|}{\textbf{\begin{tabular}[c]{@{}c@{}}header 3.1 \\ \& header 3.2\end{tabular}}} &
   \multirow{2}{*}{\textbf{\begin{tabular}[l]{@{}l@{}}header \\ 4\end{tabular}}} &
  \multirow{2}{*}{\textbf{\begin{tabular}[l]{@{}l@{}}header \\ 5\end{tabular}}} \\
  \cline{2-7} 
  \rowcolor{Gainsboro!60}
 &
  \textbf{A} &
  \textbf{B} &
  \textbf{\begin{tabular}[l]{@{}l@{}}C\end{tabular}}&
  \textbf{D} &
  \textbf{\begin{tabular}[l]{@{}l@{}}E \end{tabular}} &
  \textbf{\begin{tabular}[l]{@{}l@{}}F\\ \end{tabular}}
  &   &  
   \\ \hline
\citet{Jung2014} &
 aaa &
  \begin{tabular}[l]{@{}l@{}}bbb\\ ccc\end{tabular} &
   &
  eee &
  fff &
  - &
  \_ &
  X \\ \hline
  \rowcolor{Gainsboro!60}
  \citet{CAO2020998} &
 aaa &
  \begin{tabular}[l]{@{}l@{}}bbb\\ ccc\\  ddd\\ kkk\end{tabular} &
   &
  eee &
  fff &
  ttt &
  \_ &
  X \\ 
  \bottomrule
\end{tabular}%

\caption[Caption for LOF]{Comparison Table of Usage Control Policies \protect\footnotemark}
\label{tab:specification}
\end{table} 

答案1

我猜你是在追求这个:

在此处输入图片描述

(红线表示页面布局的顶部)

tabularray使用基于 LaTeX3 的新表格包,您的表格的 MWE 可以是:

\documentclass{article}
\usepackage{geometry}
\usepackage[table, svgnames]{xcolor}
\usepackage{tabularray}
\usepackage{natbib}
%---------------- Show page layout. Don't use in a real document!
\usepackage{showframe}
\renewcommand\ShowFrameLinethickness{0.15pt}
\renewcommand*\ShowFrameColor{\color{red}}
%---------------------------------------------------------------%

\begin{document}
    \begin{table}[ht]
    \centering
    \small
\begin{tblr}{width=\linewidth,
             colspec = {X[1,l,m]X[1,l,m] X[1,l,m]X[1,l,m] X[1,l,m]X[1,l,m] X[1,l,m]X[1,l,m] X[1,l,m]},
             hlines,   vlines,
             hline{1,5}={1.2pt},
             hline{3}={0.8pt},
             colsep=4pt,
             row{even} = {bg=Gainsboro!60},
             row{1}   = {bg=Gainsboro!60,font=\bfseries},
             row{2}   = {font=\bfseries},
             rowsep=1pt,
             }
header1
    &   \multicolumn{4}{c}{header2}
        &   \multicolumn{2}{c}{{header 3.1 \\ \& header 3.2}}
            &   \multirow{2}{=}{header 4}
                &   \multirow{2}{=}{header 5}   \\
    & A & B & C & D & E & F &   &               \\
\citet{Jung2014}
    &   aaa
        &   {bbb\\ ccc}
            &   &   eee
                    &   fff
                        &   -
                            &   \_
                                &   X           \\
\citet{CAO2020998}
    &   aaa
        &   {bbb\\ ccc\\  ddd\\ kkk}
            &   &   eee
                    &   fff
                        &   ttt &   \_
                                    &   X       \\
\end{tblr}%

\caption[Caption for LOF]{Comparison Table of Usage Control Policies \protect\footnotemark}
\label{tab:specification}
    \end{table}
\end{document}

答案2

环境{NiceTabular}提供了一个命令,一个用于用交替颜色为行着色的nicematrix内置命令。\rowcolors

该命令有一个键respect-blocks。使用该键,将遵守(由该命令创建的)块\Block。这意味着您将拥有交替的颜色逻辑行(而不是表格的物理行)。

\documentclass{article}
\usepackage{geometry}
\usepackage[svgnames]{xcolor}
\usepackage{nicematrix,booktabs}

\begin{document}

\begin{table}[ht]
\centering
\small
\begin{NiceTabular}
   [hvlines-except-borders,cell-space-limits=1mm,color-inside]
   {*{9}{X[l,m]}}
\toprule
\rowcolors{Gainsboro!60}{}[respect-blocks]
\RowStyle[nb-rows=2]{\bfseries}
\Block{2-1}{header1}
    &   \Block{1-4}{header2}&&&
        &   \Block{1-2}{header 3.1 \\ \& header 3.2}
            &&   \Block{2-1}{header 4}
                &   \Block{2-1}{header 5}   \\
    & A & B & C & D & E & F &   &               \\
?
    &   aaa
        &   \Block{}{bbb\\ ccc}
            &   &   eee
                    &   fff
                        &   -
                            &   \_
                                &   X           \\
?
    &   aaa
        &   \Block{}{bbb\\ ccc\\  ddd\\ kkk}
            &   &   eee
                    &   fff
                        &   ttt &   \_
                                    &   X       \\
\bottomrule
\end{NiceTabular}

\caption[Caption for LOF]{Comparison Table of Usage Control Policies \protect\footnotemark}
\label{tab:specification}
\end{table}

\end{document}

然而,您需要多次编译。

上述代码的输出

相关内容