Dieses Problem ähneltFrage 25346, die vorgeschlagene Lösung behebt mein Problem jedoch nicht.
\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}
erzeugt inkonsistente Abstände:
Hinzufügen
\begingroup
\makeatletter
\@for\theoremstyle:=definition,remark,plain\do{%
\expandafter\g@addto@macro\csname th@\theoremstyle\endcsname{%
\addtolength\thm@preskip\parskip
}%
}
\endgroup
zur Präambel, wie vorgeschlagen inFrage 25346produziert
aber dieser Platz ist jetzt deutlich größer als der Absatzsprung. Ich möchte, dass der Text-zu-Theorem-Sprung in der Größe mit dem Paraskip identisch ist. Danke!
Antwort1
Ihr Code ergibt im Wesentlichen zwei \parskip
s vor und nach der Definition. Vor dem Theorem können Sie den Abstand auf setzen, \parskip
indem Sie verwenden \setlength
, anstatt \addtolength
in der Anpassung von \thm@preskip
. Denn nach dem Theorem ist die relevante Größe \thm@postskip
, aber diese muss auf Null gesetzt werden, da sowieso ein kommt \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}