我正在使用 mdframed 包的开发版本 (1.9d) 以以下方式自定义证明环境。我希望从单词“证明”向下延伸一行,并且证明文本相应地缩进。为此,我使用了 mdframed 环境,其中只有左边缘可见并且顶部边距为负数(请参阅下面的 MWE)。但是,当需要分页符时,环境每次都会从新页面开始。
情况非常类似拆分 mdframed 环境偶尔会跳过页面和mdframed 无法在页面之间正确分割但是,第一个问题只提供了用 Tikz 获取“开销文本”时的解决方案,第二个问题提供的解决方案(使用 skipabove)在我的情况下似乎不起作用。
我尝试过 skipabove、splitbottomskip、splittopskip 等选项,并使用 beforebreak 添加更多空格,但都没有成功。
这是一个最小的工作示例:
\documentclass{memoir}
\usepackage[english]{babel}
\usepackage{amsfonts,lipsum, mdframed}
\newmdenv[hidealllines=true,leftline=true,linewidth=1.5pt,innerleftmargin = 10pt,
innertopmargin=-1.1\baselineskip]{np}
\newenvironment{niceproof}{
\hangindent5pt\hangafter0
\begin{np}\hspace{-15pt}\textit{Proof.}~}
{\hfill$\square$\end{np}}
\begin{document}
If it fits in one page, everything works as intended.
\begin{niceproof}
\lipsum[1-4]
\end{niceproof}
\clearpage{}
But if we add a little more text, it starts on the next page
(even though the box is cut in two properly):
\begin{niceproof}
\lipsum[1-5]
\end{niceproof}
\end{document}
如果不推荐这种自定义证明环境的方式,我愿意听取任何其他建议。特别是,如果只使用 newmdenv 就能得到这样的结果,我会很高兴。
编辑:编译 MWE 后的结果。如您所见,第一个 Proof 环境显示正确,但第二个环境在显示前跳过了一页,尽管中断是好的(我没有显示第 4 页,其中包含 Lorem Ipsum 的其余部分)。
MWE 编译后的结果 http://www.latp.univ-mrs.fr/~hellouin/Capture.png