我创建了一个单元格合并不均匀的表格:
\begin{table}
\centering
\begin{tabular}{|l|c|c|c|c|c|c|}
\hline
& A & B & C & D & E & F \\ \hline
\textsc{baris} & \multicolumn{2}{c|}{bar=is} & bar=o & bar=u & \multicolumn{2}{c|}{bar=um} \\ \hline
\textsc{torun} & tor=un & \multicolumn{2}{c|}{tor=e} & \multicolumn{2}{c|}{tor=us} & tor=um \\ \hline
… & … & … & … & … & … & … \\ \hline
\end{tabular}
\end{table}
结果如下:
如您所见,合并后的单元格中每隔一个单元格的宽度都会变短。有没有简单的方法可以让它们的宽度相同?
谢谢大家
答案1
\documentclass{article}
\usepackage{array}
\begin{document}
\begin{table}
\centering
\begin{tabular}{|l|*{6}{wc{1cm}|}}
\hline
& A & B & C & D & E & F \\ \hline
\textsc{baris} & \multicolumn{2}{c|}{bar=is} & bar=o & bar=u & \multicolumn{2}{c|}{bar=um} \\ \hline
\textsc{torun} & tor=un & \multicolumn{2}{c|}{tor=e} & \multicolumn{2}{c|}{tor=us} & tor=um \\ \hline
… & … & … & … & … & … & … \\ \hline
\end{tabular}
\end{table}
\end{document}
答案2
像这样,即所有列(第一列除外)都有相同的宽度?
\documentclass{article}
\usepackage{tabularx}
\newcolumntype{C}{>{\centering\arraybackslash}X}
\begin{document}
\begin{table}
\centering
\begin{tabularx}{0.9\linewidth}{|l|*{6}{C|} }
\hline
& A & B & C & D & E & F \\ \hline
\textsc{baris} & \multicolumn{2}{c|}{bar=is} & bar=o & bar=u & \multicolumn{2}{c|}{bar=um} \\ \hline
\textsc{torun} & tor=un & \multicolumn{2}{c|}{tor=e} & \multicolumn{2}{c|}{tor=us} & tor=um \\ \hline
… & … & … & … & … & … & … \\ \hline
\end{tabularx}
\end{table}
\end{document}
附录:表格的一些题外改进(单元格内容周围增加垂直空间、使用 选项表示\schape
文本、将 的新命令替换为\multicolumn{2}{c|}{...}
):...
\dots
\documentclass{article}
\usepackage{makecell, tabularx}
\newcolumntype{C}{>{\centering\arraybackslash}X}
\newcommand\mcc[1]{\multicolumn{2}{c|}{#1}}
\begin{document}
\begin{table}
\centering
\setcellgapes{2pt}
\makegapedcells
\begin{tabularx}{0.9\linewidth}{|>{\scshape}l|*{6}{C|} }
\hline
& A & B & C & D & E & F \\ \hline
baris & \mcc{bar=is} & bar=o & bar=u & \mcc{bar=um} \\ \hline
torun & tor=un & \mcc{tor=e} & \mcc{tor=us} & tor=um \\ \hline
\dots & \dots & \dots & \dots & \dots & \dots & \dots \\
\hline
\end{tabularx}
\end{table}
\end{document}