下面是一个递归排版的简单例子,运行代码时出现(a)(b)(c)(d)
错误信息,这是哪里出了问题?ERROR: LaTeX Error: \begin{document} ended by \end{)}.
\documentclass{article}
\begin{document}
\newcommand\RecursiveTraversal[1]{(#1)\RecursiveTraversal}
\RecursiveTraversal{a}{b}{c}{d}\relax
\end{document}
答案1
答案2
请注意,您应该始终查看来自 TeX 的实际错误消息,而不是来自编辑器的一些损坏的“摘要”,因为 TeX 提供了更多信息。
错误是
! LaTeX Error: \begin{document} ended by \end{)}.
See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...
l.5 \end
{document}
?
在出现错误时显示 TeX 已经读取\end
(但还没有读取)。{document}
正如 campa 所示,你还没有终止递归,所以最终你已经达到了
\RecursiveTraversal\end{document}
所以#1
也是\end
如此
(\end)\RecursiveTraversal
(
然后执行 \end)
此typesets\end{)}
并引发
! LaTeX Error: \begin{document} ended by \end{)}.