如何在本地更改定理环境的显示名称?

如何在本地更改定理环境的显示名称?

我正在使用定理环境来编写定义,显示的文本为“定义”,但我想让其中一个显示为“定义”。这是我正在使用的代码。

\documentclass{article}

\usepackage{amsthm}
\theoremstyle{definition}
\newtheorem*{definition}{Definition}

\begin{document}
\begin{definition}
This is definition 1.
\end{definition}

\begin{definition} %I want it to say "Definitions" here.
This is definition 2. This is related definition 3.
\end{definition}
\end{document}

答案1

我只是定义

\newtheorem*{definitions}{Definitions}

变成definitiondefinitions需要添加两次s

一种可能的不同策略:

\documentclass{article}

\usepackage{amsthm}

\theoremstyle{definition}
\newtheorem*{definitioninner}{\definitionname}
\NewDocumentEnvironment{definition}{t+}{%
  \IfBooleanTF{#1}{%
    \renewcommand{\definitionname}{Definitions}%
  }{\renewcommand{\definitionname}{Definition}%
  }%
  \begin{definitioninner}%
}{\end{definitioninner}}
\NewDocumentCommand{\definitionname}{}{}% initialize

\begin{document}

\begin{definition}
This is definition 1.
\end{definition}

\begin{definition}+
This is definition 2. This is related definition 3.
\end{definition}

\end{document}

在此处输入图片描述

然而,我发现这个容易出错,并且可读性不如

\documentclass{article}

\usepackage{amsthm}

\theoremstyle{definition}
\newtheorem*{definition}{Definition}
\newtheorem*{definitions}{Definitions}

\begin{document}

\begin{definition}
This is definition 1.
\end{definition}

\begin{definitions}
This is definition 2. This is related definition 3.
\end{definitions}

\end{document}

相关内容