这是我的代码:
\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 版本中。