Я использую mdframed для создания окружения рамочной теоремы, но у меня возникли некоторые проблемы с интервалом под теоремой. Это мой 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}
Я хочу, чтобы интервалы над и под теоремой были одинаковыми, но это не так, и изменение, skipbelow
похоже, не дает никакого эффекта.
Может ли кто-нибудь объяснить мне, почему то, что я делаю, неправильно?
решение1
Вот альтернативное решение с использованием 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}
Я предпочитаю его tcolorbox
, так как он более продвинутый и многофункциональный.