KOMA 脚本和 amsthm 的 parskip 选项间距不一致

KOMA 脚本和 amsthm 的 parskip 选项间距不一致

这个问题类似于问题 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}

相关内容