如何使表格中的单元格宽度相同?

如何使表格中的单元格宽度相同?

我的问题代码如下:

\begin{table}[]
\begin{tabular}{|c|c|c|}
\hline
\multirow{2}{*}{a} & \multicolumn{2}{c|}{bcbcbcbc} \\ \cline{2-3} 
                   & d          & e                \\ \hline
\end{tabular}
\end{table}

结果如下:

数字

我想让 d 和 e 框的宽度相同。我该怎么做?

答案1

这里有一个解决方案,可以保证组合标题单元格的宽度(当前包含bcbcbcbc,但通常可能更具信息量)是最小,即组合单元格任一边缘的空白填充等于\tabcolsep。请注意,解决方案使用w列类型而不是c第 2 列和第 3 列的列类型;w列类型允许您声明所需的宽度。

在此处输入图片描述

\documentclass{article}
\usepackage{multirow,calc}

\usepackage{array} % for 'w' column type
\newlength\lenA \newlength\lenB
% Retrieve the usable width of the combined header cell:
\settowidth\lenA{bcbcbcbc} 
% Compute the usable width of the underlying columns:
\setlength\lenB{(\lenA-2\tabcolsep-\arrayrulewidth)/2} 

\begin{document}

\begin{table}
\begin{tabular}{ | c *{2}{w{c}{\lenB}|} }
  \hline
  \multirow{2}{*}{a} & \multicolumn{2}{c|}{bcbcbcbc} \\ 
  \cline{2-3} 
                     & d & e \\ 
  \hline
\end{tabular}
\end{table}
\end{document}

答案2

这个常见问题...请尝试以下方法:

\begin{table}[ht]
\begin{tabular}{|c|*{2}{>{\centering\arraybackslash}p{3em}| }
\hline
\multirow{2}{*}{a} & \multicolumn{2}{c|}{bcbcbcbc} \\ \cline{2-3} 
                   & d          & e                \\ \hline
\end{tabular}
\end{table}

在此处输入图片描述

在序言中你应该有

\usepackage{array, multirow}

相关内容