两个换行符后面放错了 \noalign

两个换行符后面放错了 \noalign

为什么当命令位于至少两个换行符之后时会\noalign产生一个。! Misplaced \noalign

例如,此代码有效:

\documentclass[10pt,letterpaper]{article}
\begin{document}
\halign{\strut #\cr First row\cr
\noalign{\hrule}Second row\cr}
\end{document}

但是这个没有:

\documentclass[10pt,letterpaper]{article}
\begin{document}
\halign{\strut #\cr First row\cr

\noalign{\hrule}Second row\cr}
\end{document}

有什么原因吗?我尝试使用 catcodes 和角色进行游戏^^M,但没有成功。有什么方法可以解决这个问题吗?

答案1

您的第二个示例确实如此\cr\par\noalign\noalign命令必须紧跟在之后\cr\par令牌是第一列的第一个令牌,您不能\noalign在第一列中使用第二个令牌。

相关内容