如何在证明环境中将“。”替换为“:”?

如何在证明环境中将“。”替换为“:”?

我在这里看到过类似的帖子如何去掉proof环境中的“。”?。但我不知道如何修改答案.来 替换。:etoolbox

答案1

最简单的方法证明:(粗体斜体)就是说

\renewcommand{\proofname}{\bfseries Proof:}

\@addpunct如果命令前面有标点符号,则命令将不会添加其参数,因此不需要更改环境的定义proof

注意:斜体形状已选定,因此只需添加\bfseries。不需要括号,因为标题已排版为可选参数\item,它本身就形成一个组。

或者,也可以修补环境的定义,以便将其更改\@addpunct{.}\@addpunct{:}并添加\bfseries。使用修补环境etoolbox比较棘手,因为环境有一个可选参数:

\usepackage{etoolbox}
\makeatletter
\expandafter\patchcmd\csname\string\proof\endcsname{\@addpunct{.}}{\@addpunct{:}}{}{}
\expandafter\patchcmd\csname\string\proof\endcsname{\itshape}{\itshape\bfseries}{}{}
\makeatother

使用该xpatch软件包会更容易:

\usepackage{xpatch}
\makeatletter
\xpatchcmd\proof{\@addpunct{.}}{\@addpunct{:}}{}{}
\xpatchcmd\proof{\itshape}{\itshape\bfseries}{}{}
\makeatother

答案2

proof从以下来源获取环境代码阿姆斯特丹打包并进行相应修改。

\documentclass[11pt]{article}
\usepackage[T1]{fontenc}
\usepackage{mathtools}   % loads »amsmath«
\usepackage{amsthm}

\makeatletter
\renewenvironment{proof}[1][\proofname]{\par
  \pushQED{\qed}%
  \normalfont \topsep6\p@\@plus6\p@\relax
  \trivlist
  \item[\hskip\labelsep
        \itshape
    #1\@addpunct{:}]\ignorespaces
}{%
  \popQED\endtrivlist\@endpefalse
}
\makeatother

\begin{document}
  \begin{proof}
    This is a proof.
  \end{proof}
\end{document}

相关内容