Ich verwende mdframed, um eine gerahmte Theoremumgebung zu erstellen, habe aber einige Probleme mit dem Abstand unter dem Theorem. Dies ist mein MWE:
\documentclass{article}
\usepackage{amsmath}
\usepackage[amsmath,thmmarks]{ntheorem}
\usepackage[ntheorem]{mdframed}
\mdfdefinestyle{thm}{ % saving some space
skipabove=3cm,
skipbelow=3cm,
splittopskip=\topskip,
splitbottomskip=\topskip
}
\newmdtheoremenv[style=thm]{thm}{Theorem}
\begin{document}
Text above.
\begin{thm}
A theorem.
\end{thm}
Text below.
\end{document}
Ich möchte, dass der Abstand über und unter dem Theorem derselbe ist, aber das ist nicht der Fall und eine Änderung skipbelow
scheint keine Wirkung zu haben.
Kann mir jemand erklären, warum das, was ich tue, falsch ist?
Antwort1
Hier ist eine alternative Lösung mit tcolorbox
.
\documentclass{article}
\usepackage{amsmath}
\usepackage[amsmath,thmmarks]{ntheorem}
\usepackage[theorems,breakable]{tcolorbox}%
%%% Defining through styles
\tcbset{
defstyle/.style={fonttitle=\bfseries\upshape, fontupper=\slshape,
arc=0mm, colback=blue!5!white,colframe=blue!75!black},
thmstyle/.style={fonttitle=\bfseries\upshape, fontupper=\slshape,
colback=red!10!white,colframe=red!75!black,before=\par\vspace{3cm}\noindent,after=\vspace{3cm}},
}
\newtcbtheorem[number within=subsection]{Definition}{Definition}{defstyle}{def}
\newtcbtheorem[use counter from=Definition]{thm}{Theorem}{thmstyle}{thm}
%% defining directly
\newtcbtheorem{lem}{Lemma}{%
theorem name,%
colback=green!5,%
colframe=green!35!black,%
fonttitle=\bfseries,title after break={Theorem -- \raggedleft Continued}%
}{lem}
\begin{document}
Text above.
\begin{thm}{A theorem.}{thm:mine}%
Some theorem here
\end{thm}
Text below.
\begin{lem}{A lemma.}{lem:mine}%
Some lemma here
\end{lem}
\end{document}
Ich bevorzuge es tcolorbox
, da es fortschrittlicher ist und über mehr Funktionen verfügt.