thmtools + scrbook + parskip=half 的问题

thmtools + scrbook + parskip=half 的问题

我想在我的“thmtools”定理周围画一个框架。定理应该看起来像第一个例子。问题是有时我的定理变得很长,应该跨越两页。这只有在我使用 mdframed=... 参数定义框架时才有效(示例 2)。

到目前为止一切顺利...问题是我将 KOMA-Script 与“parskip=half”参数一起使用,如果我使用 mdframes=... 绘制框架,顶部规则会删除第一行文本。我该如何解决这个问题?如果我删除 parskip=half,它就可以正常工作,但我并不想这样。

\documentclass[parskip=half]{scrbook}
\usepackage{blindtext}
\usepackage{amsthm}
\usepackage{thmtools}

\declaretheoremstyle[
    shaded={rulecolor=black, bgcolor={rgb}{1,1,1}, rulewidth=1pt}
]{mystylea}

\declaretheoremstyle[
    mdframed={backgroundcolor=white, innertopmargin=0pt, innerbottommargin=1pt, innerleftmargin=1pt, innerrightmargin=1pt, skipabove=1em, skipbelow=1pt, splittopskip=10pt, splitbottomskip=6pt}
]{mystyleb}

\declaretheorem[style=mystylea]{definitiona}
\declaretheorem[style=mystyleb]{definitionb}


\begin{document}
\blindtext
\begin{definitiona}[Definition 1]
  \blindtext
\end{definitiona}
\blindtext
\begin{definitionb}[Definition 2]
  \blindtext
\end{definitionb}
\blindtext
\end{document}

答案1

您可以innertopmargin=\parskip使用\declaretheoremstyle

\documentclass[parskip=half-]{scrbook}
\usepackage{blindtext}
\usepackage{amsthm}
\usepackage{thmtools}

\declaretheoremstyle[
    shaded={rulecolor=black, bgcolor={rgb}{1,1,1}, rulewidth=1pt}
]{mystylea}

\declaretheoremstyle[
    mdframed={backgroundcolor=white,
      innertopmargin=\parskip, 
      innerbottommargin=1pt, innerleftmargin=1pt, innerrightmargin=1pt, 
      skipabove=1em, skipbelow=1pt, 
      splittopskip=10pt, splitbottomskip=6pt}
]{mystyleb}

\declaretheorem[style=mystylea]{definitiona}
\declaretheorem[style=mystyleb]{definitionb}


\begin{document}
\blindtext
\begin{definitiona}[Definition 1]
  \blindtext
\end{definitiona}
\begin{definitionb}[Definition 2]
  \blindtext
\end{definitionb}
\blindtext
\end{document}

在此处输入图片描述

相关内容