我希望示例的编号与当前定义相同。因此,如果最后一个定义是定义 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}