thmtools + scrbook + parskip=half の問題

thmtools + scrbook + parskip=half の問題

「thmtools」定理の周囲にフレームを描画します。定理は最初の例のようになります。問題は、定理が長くなりすぎて、2 ページにまたがる必要がある場合があることです。これは、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}

ここに画像の説明を入力してください

関連情報