如何在表格中划分相等大小的列

如何在表格中划分相等大小的列

下面是我的代码片段。我想让所有列的大小相等。“XYZ”列的大小与其他列的大小不同。相同的代码适用于\documentclass[conference]{IEEEtran} 类文件。

\documentclass[runningheads,a4paper]{llncs}
\usepackage{latexsym}
\usepackage{bm,array}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{amsmath}
\begin{document}
%-------------------------------------------------------------
\newcolumntype{C}{>{\centering\arraybackslash}p{2em}}
%-------------------------------------------------------------
\begin{center}
\begin{tabular}{|C|C|C|C|C|C|C|C|C|C|C|}
\hline
head &\multicolumn{2}{|c}{First method} &
\multicolumn{4}{c|}{Second method} &
\multicolumn{4}{c|}{Third method} \\
\hline
 0 & A & XYZ & \multicolumn{2}{c|}{CDE} & \multicolumn{2}{c|}{FGH} &\multicolumn{2}{c|}{JKL}  &\multicolumn{2}{c|}{MNO}\\
\hline
1&2&3&4&5&6&7&8&8&9&0\\
\hline
\end{tabular}
\end{center}
\end{document}

答案1

(此答案适用于llncs.cls从中提取的文档类文件llncs2e.zip,该文件是我从http://www.springer.com/computer/lncs/lncs+authors?SGWID=0-40209-0-0-0

我建议您(a)切换到tabularx环境(宽度设置为\textwidth)并且(b)使用居中版本的列类型X而不是固定宽度的p列。

幸运的是,llncs文档类对该参数使用了异常小的默认值\tabcolsep(1.4pt,而一般的默认值为 6pt),因此\tabcolsep不需要进一步调整。

您还需要更改\multicolumn{2}{|c}{First method}\multicolumn{2}{c|}{First method}

在此处输入图片描述

\documentclass[runningheads,a4paper]{llncs}
\usepackage{bm,amsfonts,amssymb,amsmath}
\usepackage{tabularx} % <-- new
\newcolumntype{C}{>{\centering\arraybackslash}X} % <-- modified
\begin{document}

\noindent
\begin{tabularx}{\textwidth}{|*{11}{C|}}
\hline
head &\multicolumn{2}{c|}{First method} 
     &\multicolumn{4}{c|}{Second method} 
     &\multicolumn{4}{c|}{Third method} \\
\hline
0 & A & XYZ 
 &\multicolumn{2}{c|}{CDE} 
 &\multicolumn{2}{c|}{FGH} 
 &\multicolumn{2}{c|}{JKL}  
 &\multicolumn{2}{c|}{MNO}\\
\hline
1&2&3&4&5&6&7&8&9&10&11\\
\hline
\end{tabularx}

\end{document}

附录,由OP的后续评论提示:如果您需要允许在组合单元格中换行,您可以通过替换所有

\multicolumn{n}{c|}

零件

\multicolumn{n}{>{\hsize=n\hsize}C|}

其中“ n”为24。例如:

在此处输入图片描述

\documentclass[runningheads,a4paper]{llncs}
\usepackage{tabularx} 
\newcolumntype{C}{>{\centering\arraybackslash}X} 
\setlength\extrarowheight{3pt} % provide a bit of visual "breathing space"
\begin{document}

\noindent
\begin{tabularx}{\textwidth}{|*{11}{C|}}
\hline
head &\multicolumn{2}{>{\hsize=2\hsize}C|}{First method} 
     &\multicolumn{4}{>{\hsize=4\hsize}C|}{Second method} 
     &\multicolumn{4}{>{\hsize=4\hsize}C|}{Third method} \\
\hline
0 & AA BB CC & UV WX YZ  
 &\multicolumn{2}{>{\hsize=2\hsize}C|}{CDE} 
 &\multicolumn{2}{>{\hsize=2\hsize}C|}{FGH} 
 &\multicolumn{2}{>{\hsize=2\hsize}C|}{JKL}  
 &\multicolumn{2}{>{\hsize=2\hsize}C|}{MNO}\\
\hline
1&2&3&4&5&6&7&8&9&10&11\\
\hline
\end{tabularx}

\end{document}

相关内容