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}

在此輸入影像描述

相關內容