定理和 parskip

定理和 parskip

这是我的代码:

\documentclass[12pt, a4paper]{book}

\usepackage{parskip}    % paragraph spacing: without this command there is spacing between the paragraph and the proposition

\usepackage{amsthm}
\theoremstyle{plain}
\newtheorem{theorem}{Theorem}[section]
\newtheorem{proposition}{Proposition}[section]

\begin{document}
\chapter{Introduction}
This is some text

This is some other text in another paragraph

\begin{proposition}
This is the proposition
\end{proposition}

\end{document}

如果我评论这一行

\usepackage{parskip}  

那么和命题之间的间距This is some other text in another paragraph看起来没问题。相反,出于某种我无法理解的原因,当我使用时parskip,命题之前的间距消失了。

我该如何预防?

答案1

加载 amsthm 和 parskip 包后添加以下内容:

\usepackage{etoolbox}

\makeatletter

\patchcmd\deferred@thm@head
  {\addvspace{-\parskip}}
  {}
  {}{\typeout{\string\deferred@thm@head patch failed!}}

\makeatletter 

问题在于 parskip 包将列表(定理是列表)周围的空格减少到零(因为正数\parskip出现在顶部),但是 amsthm 明确删除了,\parskip 所以最终得到 0。

编辑

将检测和校正添加到parskip包中,因此它将出现在下一个 CTAN 版本中。

相关内容