![Espaçamento inconsistente com opção parskip de script KOMA e amsthm](https://rvso.com/image/286960/Espa%C3%A7amento%20inconsistente%20com%20op%C3%A7%C3%A3o%20parskip%20de%20script%20KOMA%20e%20amsthm.png)
Este problema é semelhante aPergunta 25346, porém a solução proposta não resolve meu problema.
\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}
produz espaçamento inconsistente:
Adicionando
\begingroup
\makeatletter
\@for\theoremstyle:=definition,remark,plain\do{%
\expandafter\g@addto@macro\csname th@\theoremstyle\endcsname{%
\addtolength\thm@preskip\parskip
}%
}
\endgroup
ao preâmbulo, como sugerido emPergunta 25346produz
mas este espaço agora é significativamente maior do que o salto de parágrafo. Eu gostaria que o salto de texto para teorema fosse idêntico em tamanho ao parskip. Obrigado!
Responder1
Seu código resulta essencialmente em dois \parskip
s antes e depois da definição. Antes do teorema, você pode definir o espaçamento \parskip
usando \setlength
em vez de \addtolength
no ajuste de \thm@preskip
. Pois depois do teorema a quantidade relevante é \thm@postskip
, mas esta precisa ser zerada, pois de \parskip
qualquer maneira surge:
\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}