`parskip` 会删除 `amsthm` 定理环境之前的空格吗?

`parskip` 会删除 `amsthm` 定理环境之前的空格吗?

我遇到了间距问题。每当我添加一个定理环境时,\begin{theorem}\end{theorem}定理就会出现在前一行附近。间距比行之间的正常间距小得多。有人知道如何改变这种情况吗?我不会\vskip在每个定理环境中临时添加。

最小不起作用的示例:

\documentclass[12pt,letterpaper]{article}

\usepackage{lmodern}
\usepackage[T1]{fontenc}

\usepackage{amsmath} % AMS mathmode stuff
\usepackage{amsthm}
\usepackage{parskip} % remove auto-indentation of paragraphs with \setlength{\parindent}{0pt}

\newtheorem{thm}{Theorem}
\newenvironment{theorem}[1][]{\begin{thm}[#1]\upshape}{\end{thm}}

\begin{document}

 \section{Test}

 Let there be nice spacing.

 \begin{theorem}
  No space for you!
 \end{theorem}

\end{document}

它产生以下输出:

在此处输入图片描述

注释掉\usepackage{parskip}会导致产生以下输出:

在此处输入图片描述

答案1

将以下代码放入序言中:

\makeatletter
\def\thm@space@setup{%
  \thm@preskip=\parskip \thm@postskip=0pt
}
\makeatother

问题是阿姆斯特丹设置\thm@preskip\topsep,其被归零为帕斯基普

相关内容