我想在我的“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}