如何去掉proof环境中的“。”?

如何去掉proof环境中的“。”?

使用amsthm,是否可以在输入时删除点 \begin{proof}...\end{proof}?这将被排版为“证明”。如果你改变你的证明名称,\begin{proof}[Proof:]...\end{proof}你会得到“证明:”;但是排版没有点或冒号?

答案1

使用amsthm,您可以提供一个以 结尾的可选证明标题;在添加句点之前\nopunct会检查此设置。所以您可以输入,标题中的最后一项是冒号。或者您可以省略所有标点符号 - 但您必须使用该选项来提供文本。\@addpunct\begin{proof}[Proof:\nopunct] ... \end{proof}

\nopunct技术最初是为了处理标题以(比如说)问号结尾的情况而创建的,但由于它也适用于这种情况,...

答案2

一种方法是使用包thmtools

在此处输入图片描述

\documentclass{article} 
\usepackage{amsthm} 
\usepackage{thmtools}

\declaretheorem{theorem} 
\declaretheoremstyle[%
  spaceabove=-6pt,%
  spacebelow=6pt,%
  headfont=\normalfont\itshape,%
  postheadspace=1em,%
  qed=\qedsymbol,%
  headpunct={}
]{mystyle} 
\declaretheorem[name={Proof},style=mystyle,unnumbered,
]{Proof}

\begin{document}
\begin{proof}% Old
\end{proof}
%
\begin{Proof}% New
\end{Proof}
\end{document}

答案3

为了去掉字符串“Proof”后面的讨厌的标点符号,可以\renewenvironment证明环境(参见@lockstep 的回答),或者可以使用该包etoolbox来“修补”(在本例中为消除)证明环境中的单个命令:

\documentclass{article}
\usepackage{amsthm}   % amsthm defines the environment 'proof'
\usepackage{etoolbox} % etoolbox defines the command 'AtBeginEnvironment'
\makeatletter
\AtBeginEnvironment{proof}{\let\@addpunct\@gobble}
\makeatother

\begin{document}
\begin{proof} Hello World. \end{proof}
\end{document}

答案4

您可以使用以下方式重新定义输出:

\makeatletter
\let\@addpunct\@gobble
\makeatother

梅威瑟:

\documentclass{article}
\usepackage{amsthm}
\makeatletter
\let\@addpunct\@gobble
\makeatother
\begin{document}
\begin{proof}
Text
\end{proof}
\end{document}

相关内容