我对 Latex 还很陌生,只是在学习一些东西,想了解为什么某些代码会这样运行。我似乎找不到有关此特定行为的文档。
本质上,我正在定义一些新的环境,并且发现除非我在它们之间添加一些空格,否则编译时会出现一堆错误。如果所有括号都正确关闭,我不会认为空格会相关。可能是一些错误的代码导致了这种情况?
该代码有效:
\newenvironment{summary}{\clearpage \thispagestyle{plain}}
\newenvironment{acknowledgements}{\clearpage \thispagestyle{plain}}
此代码不起作用:
\newenvironment{summary}{\clearpage \thispagestyle{plain}}
\newenvironment{acknowledgements}{\clearpage \thispagestyle{plain}}
此代码也不起作用:
\newenvironment{summary}{\clearpage \thispagestyle{plain}}
% comment
\newenvironment{acknowledgements}{\clearpage \thispagestyle{plain}}
答案1
语法\newenvironment
没有环境参数是
\newenvironment{envname}{begin code}{end code}
您需要 3 个{...}
论据组,您的所有示例都缺少明确的{end code}
论据。
第一个代码起作用的原因是两个\newenvironment
命令之间有一个空行,因此最后一个{}
(结束代码)被认为包含一个\par
(感谢@clemens 改进了我的陈述)
其他的都失败了,因为第一个\newenvironment
读\newenviroment{...}
作结束代码(这是可能的,但这里的语法是错误的)
尝试:
\newenvironment{summary}{\clearpage \thispagestyle{plain}}{}
\newenvironment{acknowledgements}{\clearpage \thispagestyle{plain}}{}