我使用 mdframed 包定义了一个框架定理环境。
我遇到了以下问题:如果框架定理跨页面分布,则框架底部和下一段落的文本之间没有垂直跳跃。
以下是 MWE:
\documentclass{article}
\usepackage{lipsum}
\usepackage{mathtools}
\usepackage[amsmath,thmmarks]{ntheorem}%
\usepackage[framemethod=TikZ]{mdframed}
\mdfdefinestyle{mdfStyle}{%
innerleftmargin=0.5\parindent,%
innerrightmargin=0pt,%
innertopmargin=0.5\parindent,%
innerbottommargin=0.5\parindent,
topline=true,%
rightline=false,%
bottomline=true,%
leftline=true,%
roundcorner=3pt,%
linewidth=1pt,
linecolor=black,
ntheorem=true}
\newmdtheoremenv[style=mdfStyle]{theorem}{Theorem}
\begin{document}
\lipsum[1]
\begin{theorem}
\lipsum[2]
\end{theorem}
\begin{theorem}
\lipsum[3]
\end{theorem}
\lipsum[4]
\begin{theorem}
\lipsum[5]
\end{theorem}
\lipsum[6]
\end{document}
一个不怎么好的解决方法是更换
\mdfdefinestyle{mdfStyle}{%
innerleftmargin=0.5\parindent,%
innerrightmargin=0pt,%
innertopmargin=0.5\parindent,%
innerbottommargin=0.5\parindent,
topline=true,%
rightline=false,%
bottomline=true,%
leftline=true,%
roundcorner=3pt,%
linewidth=1pt,
linecolor=black,
ntheorem=true}
和
\mdfdefinestyle{mdfStyle}{%
innerleftmargin=0.5\parindent,%
innerrightmargin=0pt,%
innertopmargin=0.5\parindent,%
innerbottommargin=0.5\parindent,
topline=true,%
rightline=false,%
bottomline=true,%
leftline=true,%
roundcorner=3pt,%
linewidth=1pt,
linecolor=black,
ntheorem=true,%
afterlastframe={\vspace{\topsep}}}
问题1:这是一个bug吗?
问题 2:是否有更好的解决方法,仅在“需要”时添加垂直空间?
注意:如果没有 ntheorem 选项 thmmarks,则不会出现该问题。