我想调整 的一列table
,使标题居中,其余行左对齐,这是我自己管理的(见图)。现在,所有行都有一个附加属性(长度),我想将其推到每个单元格的最右侧。我尝试过\hfil
,但它们现在在空间中居中(未右对齐)。
我怎样才能做到这一点?
MWE补充道:
\documentclass{article}
\begin{document}
\begin{table}
\begin{tabular}{|c|l|} \hline
Item & \multicolumn{1}{c|}{Entries \hfil (length)} \\ \hline
1 & 1, 2, 3, 4, 5, 6, 7 \hfil (7) \\ \hline
2 & 1, 2, 3, 4, 5, 6, 7, 8, 9 \hfil (9) \\ \hline
3 & 1, 2, 3, 4 \hfil (4) \\ \hline
\end{tabular}
\end{table}
\end{document}
答案1
为什么不使用3
列?另外,您可以使用booktabs
包:没有垂直规则,行与行之间有更好的垂直间距。我给出了两者的示例:
\documentclass{article}
\usepackage{booktabs}
\begin{document}
\begin{table}
\begin{tabular}[b]{|c|lc|} \hline
Item & \multicolumn{1}{c}{Entries} & (length) \\ \hline
1 & 1, 2, 3, 4, 5, 6, 7 & (7) \\ \hline
2 & 1, 2, 3, 4, 5, 6, 7, 8, 9 & (9) \\ \hline
3 & 1, 2, 3, 4 & (4) \\ \hline
\end{tabular}
\end{table}
\mbox{}%\vskip1cm%
\begin{table}[! h]
\begin{tabular}[b]{@{}clc@{}}
Item & \multicolumn{1}{c}{Entries} & (length) \\\addlinespace[0.5ex] \toprule
1 & 1, 2, 3, 4, 5, 6, 7 & (7) \\ \addlinespace
2 & 1, 2, 3, 4, 5, 6, 7, 8, 9 & (9) \\ \addlinespace
3 & 1, 2, 3, 4 & (4) \\ \bottomrule
\end{tabular}
\end{table}
\end{document}
答案2
以下是我的做法:
\documentclass{article}
\usepackage{booktabs}
\begin{document}
\begin{table}
\centering
\begin{tabular}{clc}
\toprule
Item & \multicolumn{1}{c}{Entries} & (length) \\
\midrule
$1$ & $1,2,3,4,5,6,7$ & $(7)$ \\
$2$ & $1,2,3,4,5,6,7,8,9$ & $(9)$ \\
$3$ & $1,2,3,4$ & $(4)$ \\
\bottomrule
\end{tabular}
\end{table}
\end{document}
(我现在明白了,它与 Bernard 的最后一个解决方案类似,但在\toprule
表格上方,\midrule
在文本下方。)