编辑:

编辑:

我在表格环境中制作表格,列宽出现了一些奇怪的问题。在此示例中,第一行使用多列按 2 个组合并单元格。然后下一行有 2 个单独的单元格。我希望它在第一行标题下方均匀划分这些单元格,而不是为第一个条目 (A) 设置最小宽度,并用第二个条目 (B) 填充其余空间。

\begin{table}
\caption{Caption.}
\centering
\begin{tabular}{c|c|c|c|c|c}
    \hline \hline
    \multicolumn{2}{c|}{Long Header 1} & \multicolumn{2}{c|}{Long Header 2} & \multicolumn{2}{c}{Long Header 3} \\
    \hline
    A & B & A & B & A & B \\
    \hline \hline
\end{tabular}
\end{table} 

答案1

tabularx您可以使用的列类型的居中版本X

在此处输入图片描述

\documentclass{article}

\usepackage{tabularx}
\newcolumntype{C}{>{\centering\arraybackslash}X}

\begin{document}
\begin{table}
\caption{Caption.}
\centering
\begin{tabularx}{0.7\textwidth}{C|C|C|C|C|C}
    \hline \hline
    \multicolumn{2}{c|}{Long Header 1} & \multicolumn{2}{c|}{Long Header 2} & \multicolumn{2}{c}{Long Header 3} \\
    \hline
    A & B & A & B & A & B \\
    \hline \hline
\end{tabularx}
\end{table}
\end{document}

编辑:

为了使其与不同的标题一起工作,您必须告知tabularx您正在使用\multicolumn

\documentclass{article}

\usepackage{tabularx}

\newcolumntype{C}{>{\centering\arraybackslash}X}
% Number of multicolumns      here ↓   and ↓ here (source: https://tex.stackexchange.com/a/236156/134574)
\newcolumntype{D}{>{\hsize=\dimexpr2\hsize+2\tabcolsep+\arrayrulewidth\relax}C}

\begin{document}
\begin{table}
\caption{Caption.}
\centering
\begin{tabularx}{0.85\textwidth}{C|C|C|C|C|C}
    \hline \hline
    \multicolumn{2}{D|}{This is a very, very long Header 1} & \multicolumn{2}{D|}{Long Header 2} & \multicolumn{2}{D}{Long Header 3} \\
    \hline
    A & B & A & B & A & B \\
    \hline \hline
\end{tabularx}
\end{table}
\end{document}

在此处输入图片描述

编辑2:

我对此并不感到自豪……

如果你坚持用一行代码,那么可以使用同一张表中的两个 tabularx 来实现更 hack 的版本。你没看错,Jimmy,两个!

在此处输入图片描述

\documentclass{article}

\usepackage{tabularx}
\newcolumntype{C}{>{\centering\arraybackslash}X}
\newcolumntype{D}{>{\hsize=\dimexpr2\hsize+2\tabcolsep+\arrayrulewidth\relax}C}

\begin{document}
\begin{table}
\caption{Caption.}
\centering
\begin{tabularx}{0.5\textwidth}{C|C|}
    \hline \hline
    \multicolumn{2}{D|}{This is a very, very long Header 1}\\
    \hline
    A & B\\
    \hline \hline
\end{tabularx}%
\begin{tabularx}{0.5\textwidth}{C|C|C|C}
    \hline \hline
    \multicolumn{2}{c|}{Long Header 2} & \multicolumn{2}{c}{Long Header 3} \\
    \hline
    A & B & A & B \\
    \hline \hline
\end{tabularx}
\end{table}
\end{document}

相关内容