证明前有空格

证明前有空格

我正在尝试让 LaTeX 在定理和证明之间不添加额外的空格。这是我的代码:

\newtheorem*{pr3}{Theorem}
\begin{pr3}
   foo                                             
\end{pr3}
\begin{proof}[Proof:]
   bar
\end{proof}

有没有办法只用amsthm/来实现这一点amsmath,怎么做?我想更新环境证明,但我找不到最好的方法。所以如果有人能告诉我在哪里可以找到这样的信息(这也可以算是第一个问题的答案),那就太好了。

答案1

你可能不想删除证明后的空格,所以方法应该是

\makeatletter
\renewenvironment{proof}[1][\proofname]{\par
  \vspace{-\topsep}% remove the space after the theorem
  \pushQED{\qed}%
  \normalfont
  \topsep0pt \partopsep0pt % no space before
  \trivlist
  \item[\hskip\labelsep
        \itshape
    #1\@addpunct{.}]\ignorespaces
}{%
  \popQED\endtrivlist\@endpefalse
  \addvspace{6pt plus 6pt} % some space after
}
\makeatother

然而,如果proof环境前面没有定理,则会排版错误。

答案2

你可以在定理和证明之间放置一个负垂直空间,如下所示:

\newtheorem*{pr3}{Theorem}
\begin{pr3}
   foo                                             
\end{pr3}
\vspace{-1.5em}
\begin{proof}[Proof:]
   bar
\end{proof}

你可以把所有内容包装成新命令\theoremproof{定理主体}{证明主体}。

相关内容