如何修改证明风格?

如何修改证明风格?

我知道 latex 中预定义了“proof”。但是 proof 的内容前后都有额外的空行。如何减少 proof 前后的空行?

我只是使用以下内容:

\begin{proof}

This is the proof.

\end{proof}

从图中可以看出,证明前的空间对我来说有点大。我想将其缩小到正常空间。

在此处输入图片描述

答案1

正如 @Werner 在评论中指出的那样,proof环境不是由 LaTeX 内核定义的。而是由amsthm包定义的——可能还有其他一些包。

假设您的文档采用amsthm包,您可以通过在序言中放置以下代码块来实现格式化目标——amsthm当然是加载了。

\makeatletter
\renewenvironment{proof}[1][\proofname]{\par
  \pushQED{\qed}%
  %% Replace "\topsep6\p@\@plus6\p@" with "\topsep0\p@"
  %% (or, using LaTeX-like syntax: '\setlength{\topsep}{0pt}')
  \normalfont \topsep0\p@\relax
  \trivlist
  \item[\hskip\labelsep\itshape#1\@addpunct{.}]\ignorespaces}{%
  \popQED\endtrivlist\@endpefalse
}
\makeatother

需要注意的是参数\topsep不仅控制插入的垂直空白量多于proof,以及插入的垂直空白量以下环境proof..

完整的 MWE(最小工作示例及其输出):

在此处输入图片描述

\documentclass{article}
\usepackage{amsthm} % for 'proof' environment
\usepackage{lipsum} % for filler text

\makeatletter
\renewenvironment{proof}[1][\proofname]{\par
  \pushQED{\qed}%
  %% Replace "\topsep6\p@\@plus6\p@" with "\topsep0\p@"
  %% (or, using LaTeX-like syntax: '\setlength\topsep{0pt}')
  \normalfont \topsep0\p@\relax
  \trivlist
  \item[\hskip\labelsep\itshape#1\@addpunct{.}]\ignorespaces}{%
  \popQED\endtrivlist\@endpefalse
}
\makeatother

\begin{document}
\lipsum[2] % filler text
\hrule
\begin{proof}
\lipsum[2] % filler text
\end{proof}
\hrule
\lipsum[2] % filler text
\end{document}

相关内容