声明不会“破坏”的环境

声明不会“破坏”的环境

在 LaTeX 中是否有一种方法可以声明一个命令或环境,除非绝对必要,否则它将“拒绝”跨页面中断?

用例:我有许多文档项目(全部通过 Doxygen 的 XML 生成),其中几个只有几行。在某些情况下,一页 (A4) 最多可以容纳四个这样的项目。

现在,一个这样的文档项目开始一个新的\section\subsection(取决于上下文),并且它不应该在(子)部分标题和内容之间中断。也就是说,标题和内容必须始终保持在同一页上。该规则的唯一例外是,如果标题和内容合在一起,它们将不适合一个页面,如果它们在新的页面上开始。

我想我所寻找的可以描述为“垂直不良度”值,并且我需要一种方法来垂直测量项目并在必要时让它们流到下一页。

答案1

我认为您的请求没有好的答案。正如 David Carlise 所说,章节标题和后续文本始终在同一页上,而 JouleV 建议将您的文本放入框中。请考虑以下内容(不包括我的任何拼写错误):

\documentclass{article}
\newcommand{\stuff}{Bunch of stuff \\ more stuff \\ yet more.}
\begin{document} 
\mbox{}
\vspace{0.85\textheight} % move near bottom of page
\section{One}
\begin{minipage}{\textwidth}  % box some text
  \stuff
\end{minipage}

\clearpage % next page

\mbox{}
\vspace{0.85\textheight}
\section{two}
  \stuff

\end{document}

在第一部分中,文本被框起来并保留在同一页上,但在第二部分中,文本没有被框起来并继续在下一页上。如果您将更改为,\vspaceo.86\textheight第一部分从第二页开始,并且第 1 页为空。

本质上只需使用:

\section{...}
 your text

相关内容