我正在尝试创建一个多列表格来提供一些数据摘要,下面的代码是我目前拥有的。
\begin{figure}[H]
\begin{center}
\begin{tabularx}{0.5\textwidth}{|l||ll||ll|}
\hline
& \multicolumn{2}{l}{Top Column 1} & \multicolumn{2}{l}{Top Column 2} \\ \hline
ROW 1 & & & & \\ \hline
ROW 2 & & & & \\ \hline
ROW 3 & & & & \\ \hline
ROW 4 & & & & \\ \hline
ROW 5 & & & & \\ \hline
ROW 6 & & & & \\ \hline
\end{tabularx}
\end{center}
\caption{}
\end{figure}
但是在结果表中,水平线没有跨越整行。
我怀疑这是由于我的标题(即使用“l”和分隔符)造成的,但我尽管仔细查看也找不到解决方案。为什么水平线没有跨越整个行长?
答案1
尝试这个:
\begin{center}
\begin{tabular}{|c||p{1cm}|p{1cm}||p{1cm}|p{1cm}|}\hline %\cline{2-5}
& \multicolumn{2}{c||}{Top Column 1}&\multicolumn{2}{c|}{Top Column 2}\\\hline
Row 1 & Yes & No & Yes & No \\ \hline
Row 2 & 124 & 6 & 124 & 6 \\ \hline
Row 3 & 124 & 6 & 124 & 6 \\ \hline
Row 4 & 124 & 6 & 124 & 6 \\ \hline
Row 5 & 124 & 6 & 124 & 6 \\ \hline
Row 6 & 124 & 6 & 124 & 6 \\ \hline
\end{tabular}
\end{center}
也许它更适合你;)
答案2
- 正如评论所指出的那样大卫·卡莱尔上面的评论
tabularx
必须至少有一X
列: - 不要用于
H
表格放置,它可能会导致表格页面底部的空白无法浮动,从而产生意外问题 - 不要
\begin{center} ... \end{center}
在浮动环境中使用。它会在表格上方和下方添加不必要的垂直空间 - 我建议从包中省略垂直规则和水平使用规则
booktabs
\documentclass{article}
\usepackage{booktabs, tabularx}
\begin{document}
\begin{figure}[htb]
\centering
\begin{tabularx}{0.6\linewidth}{@{}l *{4}{>{\centering\arraybackslash}X}@{}}
\toprule
& \multicolumn{2}{c}{Top Column 1}
&\multicolumn{2}{c}{Top Column 2} \\
\cmidrule(lr){2-3}\cmidrule(lr){4-5}
Row 1 & Yes & No & Yes & No \\
\midrule
Row 2 & 124 & 6 & 124 & 6 \\
Row 3 & 124 & 6 & 124 & 6 \\
Row 4 & 124 & 6 & 124 & 6 \\
Row 5 & 124 & 6 & 124 & 6 \\
Row 6 & 124 & 6 & 124 & 6 \\
\bottomrule
\end{tabularx}
\end{figure}
\end{document}