Estou usando mdframed para criar um ambiente de teorema emoldurado, mas estou tendo problemas com o espaçamento abaixo do teorema. Este é o meu 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}
Quero que o espaçamento acima e abaixo do teorema seja o mesmo, mas não é e a mudança skipbelow
não parece ter nenhum efeito.
Alguém pode me explicar por que o que estou fazendo é errado?
Responder1
Aqui está uma solução alternativa usando 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}
Eu prefiro tcolorbox
porque é mais avançado e rico em recursos.