表格列有不同的宽度

表格列有不同的宽度

我有以下简单的表格环境:

\begin{center}
\small
\begin{tabular}{|c|c|c|}
\hline
\multirow{2}{*}{$cm(ag)$}  & \multicolumn{2}{|c|}{Number of agents in}\\ \cline{2-3}
 & $\mathcal{B}_i(\alpha)$ & $\mathcal{B}'_i(\alpha)$ \\ \hline
HA & 10& 0 \\ \hline
AD & 5 & 2 \\ \hline
H  & 0 & 3 \\ \hline
\end{tabular}
\end{center}

结果如下:

在此处输入图片描述

为什么图中的两列不是等宽的(人们会认为这是自然发生的)?

答案1

第三列特别宽,因为它已被多列条目拉伸。最好确保跨越单元格的自然宽度小于它跨越的列的宽度。

请注意,即使没有跨越头,第三列也会比第二列宽,因为标题更宽,因为'

在多列中,仅使用|正确的单元格的边缘(第一列除外),否则您将得到如图像中所示的重复的双粗线。

我离开了$cm$,因为我不知道它的意思,但它看起来有点奇怪:如果cm要将其读作一个单词而不是 c 乘以 m,那么它应该是\mathit{cm}

在这里我用来dcolumn对齐数字的数字并强制列的自然宽度大于标题。

我还添加了一些额外的填充以使水平规则远离文本。

在此处输入图片描述

\documentclass{article}
\usepackage{dcolumn,multirow}
\begin{document}

\begin{center}
\small
\setlength\extrarowheight{2pt}
\begin{tabular}{|c|D{.}{}{5.5}|D{.}{}{5.5}|}
\hline
\multirow{2}{*}{$cm(ag)$}  & \multicolumn{2}{c|}{Number of agents in}\\ \cline{2-3}
 & \multicolumn{1}{c|}{$\mathcal{B}_i(\alpha)$} & 
\multicolumn{1}{c|}{$\mathcal{B}'_i(\alpha)$} \\ \hline
HA & 10& 0 \\ \hline
AD & 5 & 2 \\ \hline
H  & 0 & 3 \\ \hline
\end{tabular}
\end{center}
\end{document}

答案2

您注意到的问题是因为第 2 列和第 3 列的自然宽度非常小,并且组合标题“代理数量”的宽度是每个单独列宽度的两倍多。

解决这种不平衡的一种方法是强制下一对标题单元格$\mathcal{B}_i(\alpha)$^和的宽度$\mathcal{B}'_i(\alpha)$超过列的自然宽度;此外,将宽度设置为相等也是一个好主意(可能?!)。为了生成下面显示的第一个表格,我设置了一个小型实用程序宏,名为,\mybox将其参数排版在宽度为 1.25 厘米的“框”中居中。(您显然可以自由选择不同的宽度,但我不会低于 1.0 厘米。)

您的表格目前定义的另一个问题是,它不太易读:大量的线条主要导致混乱,而不是清晰。 (i) 删除所有垂直线和两条水平线以及 (ii) 使用包的规则绘制宏booktabs而不是基本 LaTeX\hline\cline宏的结果显示在下面的第二个表中。我希望您同意我的观点,即它至少与第一个表格一样易读。 :-)

在此处输入图片描述

\documentclass{article}
\usepackage{multirow,booktabs}
\newcommand{\mybox}[1]{\parbox{1.25cm}{\centering #1}}
\begin{document}
\begin{table}
\centering
\small
\begin{tabular}{|c|c|c|}
\hline
\multirow{2}{*}{$cm(ag)$}  & \multicolumn{2}{c|}{Number of agents in}\\ 
\cline{2-3}
 & \mybox{$\mathcal{B}_i(\alpha)$} 
 & \mybox{$\mathcal{B}'_i(\alpha)$} \\ \hline
HA & 10& 0 \\ \hline
AD & 5 & 2 \\ \hline
H  & 0 & 3 \\ \hline
\end{tabular}

\bigskip\bigskip
\begin{tabular}{lcc}
\toprule
$cm(ag)$  & \multicolumn{2}{c}{Number of agents in}\\
\cmidrule(l){2-3}
 & \mybox{$\mathcal{B}_i(\alpha)$}
 & \mybox{$\mathcal{B}'_i(\alpha)$} \\ \midrule
HA & 10& 0 \\ 
AD & 5 & 2 \\ 
H  & 0 & 3 \\ 
\bottomrule
\end{tabular}
\end{table}
\end{document}

相关内容