![Непоследовательный интервал с опцией parskip скрипта KOMA и amsthm](https://rvso.com/image/286960/%D0%9D%D0%B5%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9%20%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D0%B2%D0%B0%D0%BB%20%D1%81%20%D0%BE%D0%BF%D1%86%D0%B8%D0%B5%D0%B9%20parskip%20%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D0%B0%20KOMA%20%D0%B8%20amsthm.png)
Эта проблема похожа наВопрос 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
Ваш код приводит по сути к двум \parskip
s до и после определения. Перед теоремой вы можете установить интервал \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}