创建一个与 amsthm 的证明环境结构完全相同的示例环境

创建一个与 amsthm 的证明环境结构完全相同的示例环境

我想为示例创建一个环境,其结构与\begin{proof}...\end{proof}环境完全相同,即以斜体“示例”开头,继续在同一行,并以最右边的特定符号结尾,例如\clubsuit

编辑:我正在使用amsthm包。

我该怎么做呢,即在开头要插入什么代码?

答案1

这个例子说明了我所说的“克隆”环境。当环境以列表或显示数学结束时,它保留了“将结束符号向上移动”的amsthm proof能力。\qedhere

\documentclass{article}
\usepackage{amsthm}

\makeatletter
\providecommand{\examplesymbol}{\ensuremath\clubsuit}
\newenvironment{example}[1][\examplename]{\par
  \pushQED{\qed}%
  \normalfont \topsep6\p@\@plus6\p@\relax
  \begingroup
  \let\qedsymbol\examplesymbol
      \trivlist

  \item[\hskip\labelsep
        \itshape
    #1\@addpunct{.}]\ignorespaces
}{%
  \popQED\endtrivlist\@endpefalse
  \endgroup
}
\providecommand{\examplename}{Example}
\makeatother

\begin{document}

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

\begin{example}
This is an example.  It looks like a proof.
\end{example}


\begin{example}
This example ends with a list.
\begin{itemize}
\item item 1;
\item item 2. \qedhere
\end{itemize}
\end{example}

\begin{example}
This example ends with display math.
\[
x + y = z
\qedhere
\]
\end{example}

\begin{proof}
Another proof
\end{proof}

\end{document}

在此处输入图片描述

还有其他方法可以做到这一点,但它们是手动的。其中一种方法是使用proof环境的“可选标题”功能,并在使用之前重置结束符号。

\begin{proof}[Example]
[...]
\let\qedsymbol\examplesymbol
\end{proof}

如果\qedhere需要,则直接在\let\qedsymbol替换之前进行。

相关内容