这个问题类似于问题 25346但是提出的解决方案并不能解决我的问题。
\documentclass[parskip=full]{scrreprt}
\usepackage{amsmath, amsthm}
\theoremstyle{definition}
\newtheorem{definition}{Definition}[chapter]
\begin{document}
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
\begin{definition}
In luctus mattis felis ac tristique.
\end{definition}
Nunc vulputate lectus at eros vehicula.
Aliquam fermentum eu justo in lobortis.
\end{document}
产生不一致的间距:
添加
\begingroup
\makeatletter
\@for\theoremstyle:=definition,remark,plain\do{%
\expandafter\g@addto@macro\csname th@\theoremstyle\endcsname{%
\addtolength\thm@preskip\parskip
}%
}
\endgroup
序言部分,正如问题 25346生产
但是这个空间现在比段落跳过大得多。我希望 text-to-theorem-skip 的大小与 parskip 的大小相同。谢谢!
答案1
您的代码在定义之前和之后本质上产生了两个s。在定理之前,您可以使用而不是 来\parskip
将间距设置为。对于定理之后,相关量是,但需要将其设置为零,因为无论如何都会出现:\parskip
\setlength
\addtolength
\thm@preskip
\thm@postskip
\parskip
\documentclass[parskip=full]{scrreprt}
\usepackage{amsmath, amsthm}
\begingroup
\makeatletter
\@for\theoremstyle:=definition,remark,plain\do{%
\expandafter\g@addto@macro\csname th@\theoremstyle\endcsname{%
\setlength\thm@preskip\parskip
\setlength\thm@postskip{0pt}
}%
}
\endgroup
\theoremstyle{definition}
\newtheorem{definition}{Definition}[chapter]
\begin{document}
\show\definition
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
\begin{definition}
In luctus mattis felis ac tristique.
\end{definition}
Nunc vulputate lectus at eros vehicula.
Aliquam fermentum eu justo in lobortis.
\end{document}