我听说tabular
tabularray
应该使用 而不是 。我认为这是对的,因为经典表格在与行颜色结合时会出现故障。但我实在搞不懂如何使用tabularray
。
在下面的代码中,我提供了使用 创建的主表tabular
和使用 创建的第二个表tabularray
,它们应该是第一个表的精确副本。问题是辅助表看起来不正确,甚至无法编译,因为出于未知原因tabularray
不支持标题。至少不是直接的,我确信可以添加标题,但这也是我无法做到的。
\documentclass{article}
\usepackage{graphicx}
\usepackage{xcolor,colortbl}
\usepackage{multirow}
\usepackage{hhline}
\definecolor{rowcol}{rgb}{0.7, 0.7, 0.7}
\usepackage{tabularray}
\title{TEST2}
\author{Anon}
\date{May 2023}
\begin{document}
\maketitle
\section{Introduction}
%main table
\begin{table}[!htbp]
\large
\begin{center}
\begin{tabular}{ |>{\centering\arraybackslash}m{2cm}||c|c|c| }
\hline
\multirow{2}{*}{} & \multicolumn{3}{c|}{Description} \\
\hhline{~---}
& 1 & 2 & 3 \\
\hline
\hline
\rowcolor{rowcol}
A & 11 & 11 & 11 \\
\hline
B & 12 & 11 & 12 \\
\hline
\rowcolor{rowcol}
C & 12 & 12 & 12 \\
\hline
\end{tabular}
\end{center}
\caption{Caption} \label{tablelabel}
\end{table}
%table above remake
\begin{table}
\begin{tblr}{
hlines, vlines,
colspec={X[l,m]|X[c,m] X[c,m] X[c,m]},
column{1}={font=\bfseries},
cell{1}{1,1} = {c=3}{c},
row{2}={bg=rowcol},
row{4}={bg=rowcol},
row{6}={bg=rowcol}
}
& Description \\
& 1 & 2 & 3 \\
A & 10 & 20 & 30 \\
B & 15 & 25 & 35 \\
C & 12 & 22 & 32 \\
\end{tblr}
\caption{Table 2}
\label{tablelabel2}
\end{table}
\end{document}
答案1
tabular
我无法重现您所给出的标题的问题,实际上,将 a或 a放在tabularray
a 内table
与 a 一起放置并不重要\caption
。无论如何,这应该是原始表格的正确重制(但在双单元格边框相接处有更好的间隙):
\documentclass{article}
\usepackage{xcolor}
\usepackage{tabularray}
\definecolor{rowcol}{rgb}{0.7, 0.7, 0.7}
\begin{document}
\begin{table}
\centering
\begin{tblr}{
colspec={ Q[c,m,wd=2cm] Q[c,m] Q[c,m] Q[c,m] },
cells={font=\large},
cell{1}{1}={r=2}{},
cell{1}{2}={c=3}{},
row{odd[3]}={bg=rowcol},
hline{1-Z}={1}{-}{leftpos=0, rightpos=0},
hline{3}={2}{-}{leftpos=0, rightpos=0},
vlines,
vline{2}={2}{-}{},
}
& Description \\
& 1 & 2 & 3 \\
A & 10 & 20 & 30 \\
B & 15 & 25 & 35 \\
C & 12 & 22 & 32 \\
\end{tblr}
\caption{Caption} \label{tablelabel2}
\end{table}
\end{document}
请注意,我用 替换了hlines
以hline{1-Z}={1}{-}{leftpos=0, rightpos=0}
实现更好的间隙。此外,使用row{odd[3]}={bg=rowcol}
,您可以一次性设置从第 3 行开始的所有奇数行的背景。并且正如 Zarko 所建议的那样,最好使用\centering
而不是嵌套center
环境。