有没有办法避免类似定理的环境跨页面分割?

有没有办法避免类似定理的环境跨页面分割?

article课堂上,有时我们的定义或定理(类定理环境)可能会被分成两部分,分布在两页上。我想知道有没有办法避免这种情况发生,而无需手动清除页面?

答案1

下面是一个使用的示例mdframed。您将看到第一页上的段落被拉长,因为定理环境不允许中断。

如果是双面书,最好的解决方案可能是有一个系统,允许从左手页面换到右手页面,但不能反过来。如果tcolorbox没有类似的东西我会感到惊讶。

\documentclass[a4paper]{memoir}

% standard packages
\usepackage{amsmath,amssymb,amsthm,mathtools,bm}

\usepackage{mdframed}
\usepackage{kantlipsum}

\mdfdefinestyle{myenvs}{%
  hidealllines=true,%
  nobreak=true, % comment this to allow breaking
  leftmargin=0pt,
  rightmargin=0pt,
  innerleftmargin=0pt,
  innerrightmargin=0pt,
}

\newmdtheoremenv[style=myenvs]{theorem}{Theorem}


\begin{document}

\kant[1-3]
\begin{theorem}
  \kant[1-2]
\end{theorem}
\kant


\end{document}

答案2

正如@daleif 所怀疑的那样,还有一种tcolorbox方法可以回答这个问题。

最基本的答案假设 OP 只希望现有的定理环境变得牢不可破。让我们将此环境命名为theorem。它通过以下方式变得牢不可破:

\tcolorboxenvironment{theorem}{blanker,before skip=10pt,after skip=10pt}

可以根据需要调整跳过值。完整的建议答案是:

\documentclass{article}

\usepackage{amsmath,amssymb,amsthm}

\usepackage[skins]{tcolorbox}
\usepackage{lipsum}

\theoremstyle{plain}% from amsthm
\newtheorem{theorem}{Theorem}% from amsthm

\tcolorboxenvironment{theorem}{blanker,before skip=10pt,after skip=10pt}

\begin{document}

\lipsum[1-4]
\begin{theorem}
  \lipsum[1]
\end{theorem}
\lipsum[2]

\end{document}

当然,如果需要的话,有很多方法可以让盒子变得色彩缤纷和花哨。此外,tcolorbox还提供自己的定理环境,但这是另一个故事。

为了完整性:mdframed与修补现有环境具有相同的机制\surroundwithmdframed。您可以抛硬币来决定使用哪个包 :-)

答案3

如果没有这个图,它就会被分成多页。

\documentclass{article}
\usepackage{mathtools}
\usepackage{lipsum}

\newtheorem{thm}{Theorem}

\begin{document}

\lipsum[1-4]

\begin{figure}[thb]
\begin{thm}
\lipsum[5-6]
\end{thm}
\end{figure}

\lipsum[7-10]
\end{document}

相关内容