表格列宽不相等

表格列宽不相等

我正在尝试构建一个表,使用以下代码:

\begin{table}[]
\begin{tabular}{@{}lllll@{}}
\toprule
\multicolumn{3}{c}{gamma function} & \multicolumn{2}{c}{\begin{tabular}[c]{@{}c@{}}zeta and gamma \\ function\end{tabular}} \\ \midrule
1          & 1         & 1         & 1                                          & 1                                         \\
2          & 3         & 4         & 5                                          & 6                                         \\
4          & 7         & 8         & 43                                         & 21                                        \\ \bottomrule
\end{tabular}
\end{table}

但是第三列和第四列的宽度不同。我尝试为所有列设置相同的宽度,但没有成功。我该如何解决这个问题?

答案1

这是一个将所有五列设置为等宽的解决方案。它采用了包w提供的列类型。列内容通过列的第一个参数中的选项array居中设置。cw

在此处输入图片描述

\documentclass{article}
\usepackage{booktabs}
\usepackage{array}  % for "w" column type
\begin{document}
\begin{table}
\begin{tabular}{@{} *{5}{w{c}{11mm} }@{}}
\toprule
\multicolumn{3}{@{}c}{gamma function} & 
\multicolumn{2}{c}{\begin{tabular}[c]{@{}c@{}}
   zeta and gamma \\ function\end{tabular}} \\ 
\midrule
1 & 1 & 1 & 1  & 1  \\
2 & 3 & 4 & 5  & 6  \\
4 & 7 & 8 & 43 & 21 \\ 
\bottomrule
\end{tabular}
\end{table}
\end{document}

答案2

我建议,用一个空列来分隔各组,siunitxmakecell 作为列标题:

\documentclass{article}
\usepackage{makecell} 
\usepackage{booktabs}
\usepackage{siunitx} 

\begin{document}

\begin{table}
\sisetup{table-format=2.0, table-number-alignment=center}
\begin{tabular}{@{}SSSc@{\enspace}SS}
\toprule
\multicolumn{3}{@{}c}{\thead{gamma \\ function}} & & \multicolumn{2}{@{\enspace}c}{\makebox[0pt]{\thead{zeta and\\ gamma \\ functions}}} \\
\midrule
1 & 1 & 1 & & 1 & 1 \\
2 & 3 & 4 & & 5 & 6 \\
4 & 7 & 8 & & 43 & 21 \\
\bottomrule
\end{tabular}
\end{table}

\end{document} 

在此处输入图片描述

相关内容