如何防止自定义环境出现分页符?

如何防止自定义环境出现分页符?

我使用以下自定义环境电子邮件标题用于格式化电子邮件标题的宏(版权归埃格尔)。

\definecolor{emailHeaderBackground}{RGB}{225,225,225}
\usepackage[framemethod=tikz]{mdframed}
\newmdenv[
  skipabove=0em,
  skipbelow=1em,
  hidealllines=true,
  backgroundcolor=emailHeaderBackground,
  roundcorner=3pt]
  {emailHeader}

在文档中...

\begin{emailHeader}
  \emailFrom[John Doe]{[email protected]}
  \emailSubject{Re: Please do break apart}
  \emailDate{Wed, 22 Aug 2012 12:23:18 +0200}
  \emailTo[Jane Doe]{[email protected]}
  \begin{emailsCc}
    \email[Barack Obama]{[email protected]}
    \email[Michelle Robinson]{[email protected]}
  \end{emailsCc}
\end{emailHeader}

输出如下所示...

电子邮件标题

我在文档中多次使用了该环境。有时电子邮件标题位于页面的末尾或开头。然后,它会分成几行。如您所见,该环境不是逐字我找到了可以避免分页符的设置环境。

问题:

如何防止上述环境出现分页符?
我希望将命令添加到环境定义中。我不想编辑所有使用命令集的地方。

答案1

为了防止由 创建的任何环境mdframed分裂,您可以使用选项nobreak=true。在您的例子中,将 的定义更改emailHeader为:

\definecolor{emailHeaderBackground}{RGB}{225,225,225}
\usepackage[framemethod=tikz]{mdframed}
\newmdenv[
  skipabove=0em,
  skipbelow=1em,
  hidealllines=true,
  backgroundcolor=emailHeaderBackground,
  roundcorner=3pt,
  nobreak=true]%
  {emailHeader}

相关内容