我正在使用 amsmath、thmtools 和以下定义在浅蓝色框内获得漂亮的定理陈述:
\declaretheoremstyle[
shaded={bgcolor=blue!10},
numberwithin=section
]{mythmstyle}
\declaretheorem[style=mythmstyle]{theorem}
我的问题是,这些包含定理陈述的框不会在页面之间分割。由于我倾向于使用长语句,因此会产生很大的不可分割的块,并且页面格式很糟糕。
澄清一下:我想修改设置,以便页面格式可以在页面之间拆分定理,但目前似乎无法做到这一点。我该怎么做?
如果我删除“阴影”选项,中断就会恢复正常,所以这应该是罪魁祸首
编辑:解决方案是使用framed
包。使用 amsthm,我定义了一个预定理环境,以使计数器正确
\newtheorem{pretheorem}{Theorem}[section]
然后通过插入框架来定义真实定理环境,如下所示:
\newenvironment{theorem}
{\colorlet{shadecolor}{blue!15}
\begin{snugshade}\begin{pretheorem}}
{\end{pretheorem}\end{snugshade}}
虽然不是太优雅,但似乎有效。
答案1
您可以切换到tcolorbox
而不是 吗thmtools
?
\documentclass{article}
\usepackage{blindtext}
\usepackage{tcolorbox}
\tcbuselibrary{breakable,theorems}
\newtcbtheorem[number within=section]{mytheorem}{Theorem}{breakable,colback=teal!20,colframe=blue,fonttitle=\bfseries}{thm}
\begin{document}
\begin{mytheorem}{A theorem}{label}
\blindtext[5]
\end{mytheorem}
Refer it like this: Theorem \ref{thm:label}.
\end{document}
第 1 页:
第2页: