为什么当命令位于至少两个换行符之后时会\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
在第一列中使用第二个令牌。