自定义环境编号

自定义环境编号

我正在努力实现一个目标极其类似于所要求的自定义定理编号。 那里egreg 解释道如何创建自定义定理环境。但是,必须指定它是定理、命题还是其他。他使用以下代码。

\usepackage{amsthm}

\newtheorem{innercustomgeneric}{\customgenericname}
\providecommand{\customgenericname}{}
\newcommand{\newcustomtheorem}[2]{%
  \newenvironment{#1}[1]
  {%
   \renewcommand\customgenericname{#2}%
   \renewcommand\theinnercustomgeneric{##1}%
   \innercustomgeneric
  }
  {\endinnercustomgeneric}
}

\newcustomtheorem{customthm}{Theorem}
\newcustomtheorem{customlemma}{Lemma}

我不想做这个最终决定,而是想要一个customgen在调用时title使用该标题的环境。考虑使用 egreg 的命令进行以下操作。

\begin{customthm}{CUSTOM_LABEL}
    This is Theorem CUSTOM_LABEL
\end{customthm}

这将创建一个环境,开始Theorem CUSTOM_LABEL。我想

\begin{customgen}{CUSTOM_TITLE}
   This may or may not be a theorem
\end{customgen}

开始CUSTOM_TITLE

我几乎可以通过用 替换 并注释掉命令 来实现这一点[2][1]但是\renewcommand\customgenericname{#2},左侧有多余的空格。我不知道如何摆脱它。

答案1

它比这简单多了。

\documentclass{article}
\usepackage{amsthm}

\newtheorem{customthminner}{\customthmname}[section]
\newcommand{\customthmname}{}
\newenvironment{customthm}[1]
 {\renewcommand{\customthmname}{#1}\customthminner}
 {\endcustomthminner}

\begin{document}

\section{Famous theorems}

\begin{customthm}{Gauss's lemma}
Blah blah
\end{customthm}

\begin{customthm}{Fermat's last theorem}
Blah blah
\end{customthm}

\end{document}

在此处输入图片描述

如果您不想编号,请使用\newtheorem*(并且没有可选参数)。

相关内容