带有列表的定理标题的分页

带有列表的定理标题的分页

当我有多个部分定理时,我会在定理环境中使用枚举环境。但是,我不喜欢列表从与定理标题相同的级别开始,因为这会产生难看的缩进,而且部分 (1) 永远不会与其他部分对齐。所以我将其排版如下:

\begin{theorem}
\
  \begin{enumerate}
    \item First item.
    \item Second item.
  \end{enumerate}
\end{enumerate}

问题是,如果定理出现在页面底部附近,LaTeX 会在定理标题之后立即断页,产生如下内容

定理1。


  1. 第一项
  2. 第二项

有什么方法可以防止这种情况发生?(我不关心分页符是在定理标题之前发生还是在第一项之后发生。)也许我应该使用除“\”之外的其他东西?非常感谢您的帮助。

答案1

你可以使用\Needspace*needspace包的宏来告诉 LaTeX,以下材料需要在当前页面上至少留出一定量的空间,否则会强制分页。这个量3\baselineskip意味着至少有三行,即定理标题、分隔线和第一行。

另请参阅如何避免成为孤儿?这可能是重复的。

\documentclass{article}
\usepackage{amsthm}
\usepackage{lipsum}
\usepackage{needspace}
\newtheorem{theorem}{Theorem}
\newenvironment{Theorem}{%
    \Needspace*{3\baselineskip}%
    \theorem
}{\endtheorem}


\begin{document}
\lipsum[1-10]

\begin{Theorem}
  \ 
  \begin{enumerate}
    \item First item.
    \item Second item.
  \end{enumerate}
\end{Theorem}
\end{document}

答案2

不需要新定理环境名称的已接受答案的替代方法如下:

\documentclass{article}
\usepackage{amsthm}
\usepackage{lipsum}
\usepackage{needspace}
\newtheorem{theorem}{Theorem}

\let\ORGtheorem\theorem
\def\theorem{%
  \Needspace*{3\baselineskip}
  \ORGtheorem
}
\let\ORGendtheorem\endtheorem
\def\endtheorem{%
   \ORGendtheorem
}

\begin{document}
\lipsum[1-10]

\begin{Theorem}
  \ 
  \begin{enumerate}
    \item First item.
    \item Second item.
  \end{enumerate}
\end{Theorem}
\end{document}

如果您正在为现有文档创建样式文件,此解决方案可能会很有用。

相关内容