![如何去掉proof环境中的“。”?](https://linux22.com/image/241522/%E5%A6%82%E4%BD%95%E5%8E%BB%E6%8E%89proof%E7%8E%AF%E5%A2%83%E4%B8%AD%E7%9A%84%E2%80%9C%E3%80%82%E2%80%9D%EF%BC%9F.png)
使用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}