考虑以下 MWE:
\documentclass{article}
\usepackage{amsthm}
\usepackage[framemethod=tikz]{mdframed}
\usepackage{lipsum}
%\usepackage[parfill]{parskip}
\newtheorem{theo}{Theorem}
\surroundwithmdframed[outerlinewidth=0.5pt,
innerlinewidth=0.5pt,
middlelinewidth=1.5pt,
middlelinecolor=white,
innertopmargin=0]{theo}
\begin{document}
\lipsum[4]
\begin{theo}
\lipsum[4]
\end{theo}
\lipsum[4]
\end{document}
一切看起来都很棒:定理有一个很好的内边距,并且上下的间距非常相等。
现在,我想使用 parskip 包,但是当我启用它时,我得到了这个丑陋的结果:
我可以尝试分别调整所有这些边距,看看哪个看起来最好(例如我会使用innertopmargin=12pt
),但从长远来看这似乎不是一个很好的解决方案。
我怎样才能恢复之前正确的间距?
答案1
使用mdfsetup
而不是 就surroundwithmdframed
可以达到目的:
\documentclass{article}
\usepackage{amsthm}
\usepackage[framemethod=tikz]{mdframed}
\usepackage{lipsum}
\usepackage[parfill]{parskip}
\mdfsetup{
outerlinewidth=0.5pt,
innerlinewidth=0.5pt,
middlelinewidth=1.5pt,
middlelinecolor=white,
innertopmargin=\topskip,
skipabove=\baselineskip,
skipbelow=0,
nobreak=true
}
\newmdtheoremenv{theo}{Theorem}
\begin{document}
\lipsum[4]
\begin{theo}
\lipsum[4]
\end{theo}
\lipsum[4]
\end{document}