放错位置的 \noalign

放错位置的 \noalign

不幸的是我无法自己解决 noalign 的错误:

! Misplaced \noalign.
\hline ->\noalign 
                  {\ifnum 0=`}\fi \hrule \@height \arrayrulewidth \futurelet...
l.12 ... & \centering{B} & \centering{C} \\ \hline

I expect to see \noalign only after the \cr of
an alignment. Proceed, and I'll ignore this case.

我已经尝试过\cline,但这也没用。通过搜索网络,我发现在所有情况下\\,行尾都缺少。但是,我\\在行尾有一个:

\documentclass[12pt,a4paper]{article}
\usepackage{multicol}
\usepackage{multirow}

\begin{document}

\begin{tabular}{|p{40pt} p{60pt}|p{120pt}|}
\hline
\multicolumn{3}{|p{220pt}|}{\multirow{2}{220pt}{\centering{\textbf{Title}}}} \\
\multicolumn{3}{|c|}{} \\ \hline
\centering{A} & \centering{B} & \centering{C} \\ \hline
\end{tabular}

\end{document}

我将非常感激您的帮助。

答案1

\centering不接受参数,因此当您使用它时,它的范围会达到单元格的末尾,但它重新定义\\为居中新行,因此您可以使用数组行分隔符的明确形式:\tabularnewline

\documentclass[12pt,a4paper]{article}
\usepackage{multicol}
\usepackage{multirow}

\begin{document}

\begin{tabular}{|p{40pt} p{60pt}|p{120pt}|}
\hline
\multicolumn{3}{|p{220pt}|}{\multirow{2}{220pt}{\centering \textbf{Title}}} \tabularnewline
\multicolumn{3}{|c|}{} \\ \hline
\centering A & \centering B & \centering C \tabularnewline \hline
\end{tabular}

\end{document}

标题 ABC

答案2

这似乎是由\centering表格最后一个单元格中的 引起的。我不知道为什么会失败,但如果你手动居中C,问题就会消失。

\documentclass[12pt,a4paper]{article}
\usepackage{multicol}
\usepackage{multirow}

\begin{document}

\begin{tabular}{|p{40pt} p{60pt}|p{120pt}|}
\hline
\multicolumn{3}{|p{220pt}|}{\multirow{2}{220pt}{\centering{\textbf{Title}}}} \\
\multicolumn{3}{|c|}{} \\ \hline
\centering{A} & \centering{B} & \hfil C \hfil \\ \hline

\end{tabular}

\end{document}

相关内容