为什么这些表格的高度不一样,即使行数相同?我试图将它们放入更大表格的单元格中,但由于某种原因,它们的高度不一样。您对如何解决此问题有什么想法吗?
\documentclass{article}
\usepackage{booktabs}
\usepackage{multicol}
\usepackage{graphicx}
\usepackage{bm}
\begin{document}
\begin{tabular}[t]{cc}
\begin{minipage}[t]{0.45\textwidth}
\resizebox{\textwidth}{!}{\begin{tabular}[t]{cllcc}
\toprule
\textbf{ID} & \multicolumn{1}{c}{$\bm{Type_\mathrm{A}}$} & \multicolumn{1}{c}{$\bm{Type_\mathrm{B}}$} & \textbf{Length} & \textbf{Weight}\\
\midrule
1 & A-1, A-2 & B-1, B-2, B-3 & 10.5 & 1.2 \\
2 & A-3, A-4 & B-4, B-5, B-6 & 8.2 & 0.9 \\
3 & A-2, A-4 & B-2, B-4, B-6 & 9.6 & 1.1 \\
\bottomrule
\end{tabular}
}
\end{minipage} &
\begin{minipage}[t]{0.45\textwidth}
\resizebox{\textwidth}{!}{\begin{tabular}[t]{cllcc}
\toprule
\textbf{ID} & \multicolumn{1}{c}{$\bm{Type_\mathrm{A}}$} & \multicolumn{1}{c}{$\bm{Type_\mathrm{B}}$} & \textbf{Length} & \textbf{Weight}\\
\midrule
4 & A-5 & B-7, B-8, B-9 & 12.1 & 1.5 \\
5 & A-1, A-4 & B-2, B-5, B-8 & 11.3 & 1.3 \\
6 & A-3 & B-1, B-3, B-6, B-9 & 7.8 & 0.8 \\
\bottomrule
\end{tabular}
}
\end{minipage}
\end{tabular}
\end{document}
答案1
像这样:
您的 MWE 存在几个问题:
- 使用
\resizebox
。切勿这样做。显然,右侧表格比左侧表格略宽,因此缩小得更多。因此,其中的字体大小也更小。 - 嵌套 minipage
tabular
不是一个好主意。相反,最好使用p{<width>}
列类型。 - 由于 的默认尺寸较小
\textwidth
,您需要将表格内的字体大小减小到\scriptsize
。这会使表格难以阅读……看看您是否可以使用包更改页面布局geometry
并增加\textwidth
。 - 如果您喜欢使用
minipage
s,请按照下面的 MWE 中所做的那样删除外表并将其用于tabular*
内表。
生成如上所示表格的 MWE:
\documentclass{article}
\usepackage{booktabs}
\usepackage{graphicx}
\usepackage{bm}
\begin{document}
\begin{table}
\setlength\tabcolsep{0pt}
\scriptsize
\begin{minipage}[t]{0.49\textwidth}
\begin{tabular*}{\linewidth}{@{\extracolsep{\fill}} cllcc}
\toprule
\textbf{ID} & \multicolumn{1}{c}{$\bm{Type_\mathrm{A}}$} & \multicolumn{1}{c}{$\bm{Type_\mathrm{B}}$} & \textbf{Length} & \textbf{Weight}\\
\midrule
1 & A-1, A-2 & B-1, B-2, B-3 & 10.5 & 1.2 \\
2 & A-3, A-4 & B-4, B-5, B-6 & 8.2 & 0.9 \\
3 & A-2, A-4 & B-2, B-4, B-6 & 9.6 & 1.1 \\
\bottomrule
\end{tabular*}%
\end{minipage}
\hfill
\begin{minipage}[t]{0.49\textwidth}
\begin{tabular*}{\linewidth}{@{\extracolsep{\fill}} cllcc}
\toprule
\textbf{ID} & \multicolumn{1}{c}{$\bm{Type_\mathrm{A}}$} & \multicolumn{1}{c}{$\bm{Type_\mathrm{B}}$} & \textbf{Length} & \textbf{Weight}\\
\midrule
4 & A-5 & B-7, B-8, B-9 & 12.1 & 1.5 \\
5 & A-1, A-4 & B-2, B-5, B-8 & 11.3 & 1.3 \\
6 & A-3 & B-1, B-3, B-6, B-9 & 7.8 & 0.8 \\
\bottomrule
\end{tabular*}
\end{minipage}
\end{table}
\end{document}
编辑:
- 但是,对于您的表格,您根本不需要迷你页面。表格主体可以如下:
\begin{table}
\setlength\tabcolsep{0pt}
\scriptsize
\begin{tabular*}{0.49\linewidth}[t]{@{\extracolsep{\fill}} cllcc}
\toprule
\textbf{ID} & \multicolumn{1}{c}{$\bm{Type_\mathrm{A}}$} & \multicolumn{1}{c}{$\bm{Type_\mathrm{B}}$} & \textbf{Length} & \textbf{Weight}\\
\midrule
1 & A-1, A-2 & B-1, B-2, B-3 & 10.5 & 1.2 \\
2 & A-3, A-4 & B-4, B-5, B-6 & 8.2 & 0.9 \\
3 & A-2, A-4 & B-2, B-4, B-6 & 9.6 & 1.1 \\
\bottomrule
\end{tabular*}
\hfill
\begin{tabular*}{0.49\linewidth}[t]{@{\extracolsep{\fill}} cllcc}
\toprule
\textbf{ID} & \multicolumn{1}{c}{$\bm{Type_\mathrm{A}}$} & \multicolumn{1}{c}{$\bm{Type_\mathrm{B}}$} & \textbf{Length} & \textbf{Weight}\\
\midrule
4 & A-5 & B-7, B-8, B-9 & 12.1 & 1.5 \\
5 & A-1, A-4 & B-2, B-5, B-8 & 11.3 & 1.3 \\
6 & A-3 & B-1, B-3, B-6, B-9 & 7.8 & 0.8 \\
\bottomrule
\end{tabular*}
\end{table}
结果表与以前相同。
答案2
使用标准字体且没有缩放时,第一个表格的宽度为 228.30536pt,第二个表格的宽度为 249.83318pt(我删除了两个表格两侧的填充)。
在\scriptsize
(真的很小)处,我得到 190.83781pt 和 208.06706pt。
因此,如果您想将它们并排放置,则需要至少 400pt 的文本宽度,略大于 14 厘米(5.5 英寸)。
这是将文本宽度设置为 6 英寸时的输出。
\documentclass{article}
\usepackage{booktabs}
\usepackage{geometry}
\geometry{textwidth=6in}
\begin{document}
\begin{center}
\scriptsize
\begin{tabular}[t]{@{}cllcc@{}}
\toprule
\textbf{ID} &
\multicolumn{1}{c}{\boldmath$\mathit{Type}_{\mathrm{A}}$} &
\multicolumn{1}{c}{\boldmath$\mathit{Type}_{\mathrm{B}}$} &
\textbf{Length} &
\textbf{Weight}\\
\midrule
1 & A-1, A-2 & B-1, B-2, B-3 & 10.5 & 1.2 \\
2 & A-3, A-4 & B-4, B-5, B-6 & 8.2 & 0.9 \\
3 & A-2, A-4 & B-2, B-4, B-6 & 9.6 & 1.1 \\
\bottomrule
\end{tabular}\hfill
\begin{tabular}[t]{@{}cllcc@{}}
\toprule
\textbf{ID} &
\multicolumn{1}{c}{\boldmath$\mathit{Type}_{\mathrm{A}}$} &
\multicolumn{1}{c}{\boldmath$\mathit{Type}_{\mathrm{B}}$} &
\textbf{Length} &
\textbf{Weight}\\
\midrule
4 & A-5 & B-7, B-8, B-9 & 12.1 & 1.5 \\
5 & A-1, A-4 & B-2, B-5, B-8 & 11.3 & 1.3 \\
6 & A-3 & B-1, B-3, B-6, B-9 & 7.8 & 0.8 \\
\bottomrule
\end{tabular}
\end{center}
\end{document}
注意我如何解决粗体标题没有 \bm
。
在我看来,一个更好的想法是将两个表格排版为一个在另一个之上(并作为一个表格)。
\documentclass{article}
\usepackage{booktabs}
\usepackage{array}
\begin{document}
\begin{center}
\begin{tabular}{@{}cllcc@{}}
\toprule
\textbf{ID} &
\multicolumn{1}{c}{\boldmath$\mathit{Type}_{\mathrm{A}}$} &
\multicolumn{1}{c}{\boldmath$\mathit{Type}_{\mathrm{B}}$} &
\textbf{Length} &
\textbf{Weight}\\
\midrule
1 & A-1, A-2 & B-1, B-2, B-3 & 10.5 & 1.2 \\
2 & A-3, A-4 & B-4, B-5, B-6 & 8.2 & 0.9 \\
3 & A-2, A-4 & B-2, B-4, B-6 & 9.6 & 1.1 \\
\midrule[\heavyrulewidth]
\addlinespace[\normalbaselineskip]
\midrule[\heavyrulewidth]
\textbf{ID} &
\multicolumn{1}{c}{\boldmath$\mathit{Type}_{\mathrm{A}}$} &
\multicolumn{1}{c}{\boldmath$\mathit{Type}_{\mathrm{B}}$} &
\textbf{Length} &
\textbf{Weight}\\
\midrule
4 & A-5 & B-7, B-8, B-9 & 12.1 & 1.5 \\
5 & A-1, A-4 & B-2, B-5, B-8 & 11.3 & 1.3 \\
6 & A-3 & B-1, B-3, B-6, B-9 & 7.8 & 0.8 \\
\bottomrule
\end{tabular}
\end{center}
\end{document}