环境造成不必要的分页符

环境造成不必要的分页符

我对 LaTeX 中的用户定义环境有疑问。尽管环境的内容似乎合适,但有时 LaTeX 还是会做出不必要的分页符。

这是我的 MWE:

\documentclass{article}

\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\usepackage[ngerman]{babel}

\usepackage{lmodern}



\newenvironment{testenviron}
{}
{}



\begin{document}
\begin{testenviron}
Irgendein Text\dots

\vspace{17.5cm}

\dots und am Ende eine Formel:
\[f(x)=x\]
\end{testenviron}
\end{document}

为了简单起见,环境有一个空的前缀和邮政编码。此外,\vspace{17.5cm}代表任何此长度的文本。但由于某些无法解释的原因,pdfLaTeX 在其后放置了一个空白页。所以我的问题是:我做错了什么,我误解了什么?如果我不使用环境而直接编写前缀和邮政编码,则不会出现其他页面 - 这有点奇怪。

答案1

通过在和处插入替换文本(一个空组{}),您将获得相同的结果。我假设您只是注释掉了这些行,从而生成一份 1 页的文档。testenviron\begin{testenviron}\end{testenviron}

使用显示方程式结束您的环境会导致任何\end{testenviron}内容都被设置在新行上,即使它是一个空组。

您将如何修复它?这取决于您在 中包含的内容testenviron,或者您​​通常是否以显示方程式结束您的环境。在这种情况下,最简单的方法是使用以下方法忽略末尾的空白空间:

\newenvironment{testenviron}
  {}% \begin{testenviron}
  {\ignorespacesafterend}% \end{testenviron}

相关内容