我已经定义了一个环境
\newenvironment{definiere}{\begin{leftbar} \textbf{Definition:}\newline }{\end{leftbar}}
不幸的是,有时这种环境会分布在两页上,其中左侧栏长约 2 厘米,标题为“定义”,但实际定义本身在下一页。
我使用这个环境大多是这样的:
\begin{definiere}
\begin{equation}
WMC=\sum_{i=1}^n {c_i} \label{eq:WMC}
\end{equation}
\end{definiere}
我可以通过将段落移到定义下方或上方来避免这种行为,但有时它不再有意义。我的问题是,有人能找到更优雅的解决方案来满足我的需求吗?
答案1
您的\textbf{Definition}
标题类似于章节标题。 抑制分页符,如下\section
所示:
\makeatletter
\newenvironment{definiere}
{\begin{leftbar}%
\textbf{Definition:}\par\nobreak\@afterheading}
{\end{leftbar}}
\makeatother
答案2
Ulrike 的回答可能是做类似事情的正确方法。另一种方法似乎对我有用---您可以将所有内容打包到迷你页面中。希望其他人可以确切解释它为什么有效。
\newenvironment{definiere}{\begin{minipage}{\textwidth}\begin{leftbar} \textbf{Definition:}\newline }{\end{leftbar}\end{minipage}}