我正在撰写一篇研究论文,其中有一个很长的变量词汇表。该文档只有一列,因此我使用该包将表格分成两列multicol
。
\documentclass[11pt]{report}
\usepackage{multicol}
\begin{document}
\begin{table}
\vspace*{0.5cm}
\centering
\begin{multicols}{2}
\begin{tabular}{p{2cm} p{3cm}}
\hline \hline
ABC & 123 \\
ABC & 123 \\
\hline \hline
Subtitle 0 & \\ \hline
C & 1234 \\
D & 1243 \\
E & 1234 \\
F & 1234 \\
G & 1234 \\
H & 1234 \\
\hline
\end{tabular}
\begin{tabular}{p{2cm} p{3cm}}
\hline \hline
Subtitle 1 & \\ \hline
A & 1234 \\
\vspace*{1cm}
\rule{\linewidth}{0.4pt}
Subtitle 2 & \\ \hline
B & 1234 \\
C & 1234 \\
D & 1234 \\
\hline
\end{tabular}
\end{multicols}
\end{table}
\end{document}
到目前为止这种方法是有效的,但我希望两个底线规则能够完全一致。
我尝试过使用\vfill
但这会产生错误消息。
到目前为止,最好的解决方案是使用\vspace*{}
和设置手动空间,但我更喜欢无需猜测和检查即可保证对齐的解决方案。
此解决方案\vfill 使双列表格中的间距均匀很接近,但我希望两列之间有空白间隙。
答案1
您可以使用嵌套表:
\documentclass[11pt]{report}
\begin{document}
\begin{table}
\vspace*{0.5cm}
\centering
\begin{tabular}{
@{}c@{}
p{16pt}% horizontal space between the tables
@{}c@{}
}
\begin{tabular}[t]{p{2cm}p{3cm}}% <- option t added
\hline\hline
ABC & 123 \\
ABC & 123 \\
\hline \hline
Subtitle 0 & \\ \hline
C & 1234 \\
D & 1243 \\
E & 1234 \\
F & 1234 \\
G & 1234 \\
H & 1234 \\
\end{tabular}
&&
\begin{tabular}[t]{p{2cm} p{3cm}}% <- option t added
\hline \hline
Subtitle 1 & \\ \hline
A & 1234 \\
%\vspace*{1cm}
\rule{\linewidth}{0.4pt}
Subtitle 2 & \\ \hline
B & 1234 \\
C & 1234 \\
D & 1234 \\
\end{tabular}\\
\cline{1-1}\cline{3-3}
\end{tabular}
\end{table}
\end{document}
关于以下评论:
环境的可选参数tabular
声明了表格的垂直位置。默认情况下,表格的垂直中心位于周围文本的基线。因此,值c
是此可选参数的默认值。值t
将表格的顶行与周围文本对齐,并将b
底行对齐。
因为示例中的两个内部表都有t
可选参数,所以表的顶部规则彼此对齐。