给出定义和例子相同的计数器

给出定义和例子相同的计数器

我希望示例的编号与当前定义相同。因此,如果最后一个定义是定义 2,则示例应该是示例 2。(这是个好主意吗?)。目前,以下代码是定义 2 的示例 2.1。(我不认为我会为一个定义设置多个示例)。

\documentclass[]{scrbook}

\usepackage[T1]{fontenc}
\usepackage[english]{babel}
\usepackage[utf8]{inputenc}

\usepackage{lipsum}
\usepackage{amsthm}

\usepackage[english]{cleveref}

% Config
\theoremstyle{definition}
\newtheorem{definition}{Definition}

\theoremstyle{definition}
\newtheorem{example}{Example}[definition]

\theoremstyle{plain}
\newtheorem{theorem}{Theorem}[section]

\begin{document}
\begin{definition}[Foo]\label{def:foo}
    \lipsum[2]
\end{definition}
\begin{example}[Example for Foo]\label{ex:foo}
    \lipsum[2]
\end{example}

% But: not every example needs a definition.
\begin{definition}[Bar]
    \lipsum[2]
\end{definition}

% The numbering should depend on the definition here, which it does.
\begin{definition}[FooBar]
    \lipsum[2]
\end{definition}
\begin{example}[Example for FooBar]
    \lipsum[2]
\end{example}

\end{document}

它给出了输出(除了 cref 行,这是另一篇文章):

编号

答案1

如果您的示例始终与定义相关,那么它就非常简单:定义example为未编号的类似定理的环境。

% Config
\theoremstyle{definition}
\newtheorem{definition}{Definition}
\newtheorem*{example}{Example \thedefinition}

如果您需要参考一些示例,我会发现一些明显的问题。

然而,我会避免对示例进行编号:重复编号会造成混淆。

答案2

也许你可以创建一个新的环境,将定义计数器和示例计数器链接起来,就像这样

\documentclass[]{scrbook}

\usepackage[T1]{fontenc}
\usepackage[english]{babel}
\usepackage[utf8]{inputenc}

\usepackage{lipsum}
\usepackage{amsthm}

\usepackage[english]{cleveref}

% Config
\theoremstyle{definition}
\newtheorem{definition}{Definition}

\theoremstyle{definition}
\newtheorem{example}{Example}

\theoremstyle{plain}
\newtheorem{theorem}{Theorem}[section]

\newenvironment{definit}{\setcounter{example}{\thedefinition}\begin{definition}}{\end{definition}}

\begin{document}
\begin{definit}[Foo]\label{def:foo}
    \lipsum[2]
\end{definit}
\begin{example}[Example for Foo]\label{ex:foo}
    \lipsum[2]
\end{example}

% But: not every example needs a definition.
\begin{definit}[Bar]
    \lipsum[2]
\end{definit}

% The numbering should depend on the definition here, which it does.
\begin{definit}[FooBar]
    \lipsum[2]
\end{definit}
\begin{example}[Example for FooBar]
    \lipsum[2]
\end{example}

\end{document}

相关内容