>{\centering} 列时出现“放错 \omit”错误

>{\centering} 列时出现“放错 \omit”错误

首先,我查看了misplaced \omit...在此网站上找到的有关表格的所有其他错误问题,但没有一个与我的情况完全相关。 这是我能找到的最接近的,但它不太适合我的应用程序,解决方案涉及在我没有使用的单元格中使用\tabularnewlinevs。\\


我正在尝试制作一张看起来几乎像这样:

在此处输入图片描述

上述示例由以下内容生成。

\documentclass{article}
\usepackage{array}

\begin{document}
\begin{table}
\begin{tabular}{m{1in}m{1in}m{1in}}
\cline{1-1}
\multicolumn{1}{|m{1in}|}{\textbf{Caption}} & cell of muliline text to wrap & cell of muliline text to wrap \\ \cline{1-2}
\multicolumn{1}{m{1in}|}{cell of muliline text to wrap} & \multicolumn{1}{m{1in}|}{\textbf{Caption}} & cell of muliline text to wrap \\ \cline{2-3} 
cell of muliline text to wrap & \multicolumn{1}{m{1in}|}{cell of muliline text to wrap} & \multicolumn{1}{m{1in}|}{\textbf{Caption}} \\ \cline{3-3} 
\end{tabular}
\end{table}
\end{document}

但是,我希望列居中而不是对齐。我通常会通过将所有 替换为 来实现这一点m{1in}>{\centering}m{1in}但是当我这样做时,我收到以下错误。

! misplaced \omit.\@cline #1-#2\@nil -> ...

我如何重现上述表格格式但带有居中列?

答案1

\documentclass{article}
\usepackage{array}

\begin{document}
\begin{table}
\begin{tabular}{*{3}{>{\centering\arraybackslash}m{1in}}}
\cline{1-1}
\multicolumn{1}{|m{1in}|}{\textbf{Caption}} & cell of muliline text to wrap & cell of muliline text to wrap \\ \cline{1-2}
\multicolumn{1}{m{1in}|}{cell of muliline text to wrap} & \multicolumn{1}{m{1in}|}{\textbf{Caption}} & cell of muliline text to wrap \\ \cline{2-3} 
cell of muliline text to wrap & \multicolumn{1}{m{1in}|}{cell of muliline text to wrap} & \multicolumn{1}{m{1in}|}{\textbf{Caption}} \\ \cline{3-3} 
\end{tabular}
\end{table}
\end{document}

在 的范围内\centering\\被重新定义为强制居中换行,因此不再具有其“结束表格行”定义。您可以使用\arraybackslash重新声明 的表格定义\\,也可以使用\tabularnewline代替 ,\\后者是更长的形式,前提是 始终引用表格行的结尾。

相关内容