尝试创建一个带有合并单元格的表格。由于某种原因,有两个空行,并且数字超出边界?我应该如何让合并单元格从顶部开始,而不是从两个空行开始?
\begin{table}[]
\begin{tabular}{ccc}
\hline
& \textbf{Unqiue} & \textbf{Common} \\ \hline
C0 & \begin{tabular}[c]{@{}c@{}}
\\
1 \\
2 \\
3 \\
\\
\end{tabular}
& \multirow{2}{*}{
\begin{tabular}{c}
1 \\
2 \\
3 \\
4 \\
5 \\
6 \\
7 \\
8 \\
9
\end{tabular}
} \\
\cline{2-2}
C1 & \begin{tabular}[c]{@{}c@{}}
\\
1 \\
2 \\
\\
\end{tabular}
&
\\ \hline
\end{tabular}
\end{table}
答案1
在定义它时,您应该考虑它跨越了多少行相邻的文本。在您的例子中,有九行这样的文本(其中四行是空的)。不幸的是,这还不足以实现您的目标,您还需要将其内容向上移动约 的距离5ex
:
\begin{table}
\begin{tabular}{ccc}
\hline
& \textbf{Unqiue} & \textbf{Common} \\ \hline
C0 & \begin{tabular}{@{}c@{}}
\\
1 \\
2 \\
3 \\
\\
\end{tabular}
& \multirow{9}{*}[5ex]{ % <---
\begin{tabular}{c}
1 \\
2 \\
3 \\
4 \\
5 \\
6 \\
7 \\
8 \\
9
\end{tabular}
} \\
\cline{2-2}
C1 & \begin{tabular}{@{}c@{}}
\\
1 \\
2 \\
\\
\end{tabular}
&
\\ \hline
\end{tabular}
\end{table}
但是,使用该tabularray
包,您可以编写更简单的代码,从而获得更好的结果。使用它,您无需担心多行单元格跨越的行中有多少行:
\documentclass{article}
\usepackage{tabularray}
\begin{document}
\begin{table}[htb]
\begin{tblr}{hlines,
colspec = {*{3}{Q[c, m]}},
row{1} = {font=\bfseries},
vspan=even
}
& Unqiue & Common \\
%
C0 & { 1 \\
2 \\
3} & \SetCell[r=2]{} { 1 \\
2 \\
3 \\
4 \\
5 \\
6 \\
7 \\
8 \\
9} \\
C1 & { 1 \\
2 \\
} & \\
\end{tblr}
\end{table}
\end{document}
该tabularray
表的语法与“经典”表中使用的语法略有不同。有关详细信息,请参阅包文档。