梅花花样示例(无 n 定理)

梅花花样示例(无 n 定理)

我想要一个根据定理编号的示例环境(例如定理 1、示例 2、定理 3、示例 4,...)并以梅花结结尾。我已经看过这个了解决方案但我宁愿有一个不使用该ntheorem包的环境;要么创建一个新环境,要么重写现有环境(例如证明环境)。我对 LaTex 不是特别熟悉,所以我问这个。

这是我拥有的代码,因此我可以开始使用。我现在可以忍受错误。

\documentclass{amsart}

% \usepackage[utf8]{inputenc}
\usepackage{amsthm}

\newtheorem{theorem}{Theorem}[section]
\newtheorem{example}[theorem]{Example}
\newenvironment{example}{\paragraph{Example:}}{\hfill$\clubsuit$\vspace{10pt}}
% produces Error: Command \example already defined.

它基本上是有效的。它根据定理进行编号,并以梅花结束:

\begin{example}
    First example.
\end{example}

第一个例子

但是,也存在一些问题,如下所示:

\begin{example}
    Second example.
\end{example}
Line after second example breaks it.

在此处输入图片描述 可以通过添加如下新行来解决此问题:

\begin{example}
    Third example.
\end{example}

A line after a newline after the third example is okay.

在此处输入图片描述 但我宁愿一开始就不必进行此修复。此外,该环境不适用于方程式。

\begin{example}
    Example ending on an equation (qedhere does not work)
    \begin{equation*}
        a = b.
    \end{equation*}
\end{example}

在此处输入图片描述 与环境不同proof\qedhere不起作用。 itemize/enumerate 也存在类似的问题。总之,我想要一个最小的、非ntheorem基于的example环境,它本质上是证明环境的副本,但 QED 符号被替换为一个俱乐部套装(这样命令\qedhere或等效命令可以将俱乐部套装带入结束方程)。我相信有比我拥有的更简单的解决方案。


更新。以下解决方案改编自这里非常接近我想要的:

\newcommand{\newmarkedtheorem}[1]{%
  \newenvironment{#1}
    {\pushQED{\hfill$\clubsuit$}\csname inner@#1\endcsname}
    {\popQED\csname endinner@#1\endcsname}%
  \newtheorem{inner@#1}%
}
\newmarkedtheorem{example}[theorem]{Example}

equation但是,和环境仍然存在问题align

\begin{example}
    Example ending in align environment:
    \begin{align*}
        1 + 1 + 1 &= 1 + 2\\
        &= 3.\qedhere
    \end{align*}
\end{example}

在此处输入图片描述

答案1

问题在于\pushQED{\hfill$\clubsuit$}。您确实需要\pushQED{\qed}或定义类似于的其他内容\qed

最简单的方法是为要使用的符号添加一个可选参数。

\documentclass{article}
\usepackage{amsmath}
\usepackage{amsthm}

\newcommand{\newmarkedtheorem}[2][\openbox]{%
  \newenvironment{#2}
    {\renewcommand{\qedsymbol}{#1}\pushQED{\qed}\csname inner@#2\endcsname}
    {\popQED\csname endinner@#2\endcsname}%
  \newtheorem{inner@#2}%
}

\newtheorem{theorem}{Theorem}
\newmarkedtheorem[$\clubsuit$]{example}[theorem]{Example}
\newmarkedtheorem[$\diamondsuit$]{exercise}{Exercise}

\begin{document}

\begin{example}
An example.
\end{example}

\begin{exercise}
An exercise.
\end{exercise}

\begin{example}
    Example ending in align environment:
    \begin{align*}
        1 + 1 + 1 &= 1 + 2\\
        &= 3.\qedhere
    \end{align*}
\end{example}

\end{document}

在此处输入图片描述

不使用可选参数将默认为标准\openbox

相关内容