\newenvironment 没有空格时出现奇怪的行为

\newenvironment 没有空格时出现奇怪的行为

我对 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}}{}

相关内容