似乎\theorempreskipamount
和\theorempostskipamount
不能在本地设置,这意味着它们将为所有定义的环境保留相同的值,即使用户可能希望定理、定义或证明具有不同的值。有没有办法避免这种情况?
答案1
例如,\theoremprework
你可以使用为特定组定理类结构设置这些长度:
\documentclass{scrreprt}
\usepackage{ntheorem}
\usepackage{lipsum}
\theoremprework{%
\setlength\theorempreskipamount{1ex}\setlength\theorempostskipamount{1ex}
}
\newtheorem{defi}{Definition}
\theoremprework{%
\setlength\theorempreskipamount{1cm}\setlength\theorempostskipamount{1cm}
}
\newtheorem{theo}{Theorem}
\begin{document}
\lipsum[1]
\begin{defi}
test
\end{defi}
\lipsum[1]
\begin{theo}
test
\end{theo}
\lipsum[1]
\end{document}
使用前端,您可以为、thmtools
定义具有自己值的自定义样式spaceabove
:spacebelow
\documentclass{scrreprt}
\usepackage{ntheorem}
\usepackage{thmtools}
\usepackage{lipsum}
\declaretheoremstyle[spaceabove=1ex, spacebelow=1ex]{styleone}
\declaretheorem[style=styleone]{theorem}
\declaretheoremstyle[spaceabove=1cm, spacebelow=1cm]{styletwo}
\declaretheorem[style=styletwo]{definition}
\begin{document}
\lipsum[1]
\begin{definition}
test
\end{definition}
\lipsum[1]
\begin{theorem}
test
\end{theorem}
\lipsum[1]
\end{document}