需要帮助修复 LaTeX 表格中的高度差异

需要帮助修复 LaTeX 表格中的高度差异

为什么这些表格的高度不一样,即使行数相同?我试图将它们放入更大表格的单元格中,但由于某种原因,它们的高度不一样。您对如何解决此问题有什么想法吗?

在此处输入图片描述

\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。切勿这样做。显然,右侧表格比左侧表格略宽,因此缩小得更多。因此,其中的字体大小也更小。
  • 嵌套 minipagetabular不是一个好主意。相反,最好使用p{<width>}列类型。
  • 由于 的默认尺寸较小\textwidth,您需要将表格内的字体大小减小到\scriptsize。这会使表格难以阅读……看看您是否可以使用包更改页面布局geometry并增加\textwidth
  • 如果您喜欢使用minipages,请按照下面的 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}

在此处输入图片描述

相关内容