Espaçamento inconsistente com opção parskip de script KOMA e amsthm

Espaçamento inconsistente com opção parskip de script KOMA e amsthm

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:


insira a descrição da imagem aqui


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


insira a descrição da imagem aqui


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 \parskips antes e depois da definição. Antes do teorema, você pode definir o espaçamento \parskipusando \setlengthem vez de \addtolengthno ajuste de \thm@preskip. Pois depois do teorema a quantidade relevante é \thm@postskip, mas esta precisa ser zerada, pois de \parskipqualquer maneira surge:

Exemplo de saída

\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}

informação relacionada