我希望能够在文档中编写引理和定理,以便我总是在它们支持的定理之前编写引理,并且这些引理根据它们支持的定理进行编号。我目前有以下设置:
\theoremstyle{plain}
\newtheorem{thrm}{Theorem}[section]
\newtheorem{lemm}{Lemma}[thrm]
例如,它产生如下的编号方案:
定理 1.1。 文字文字文字。
引理 1.1.1。 文字文字文字。
引理 1.1.2。 文字文字文字。
定理 1.2。 文字文字文字。
引理 1.1.1 和 1.1.2 将支持以下定理 1.2,但它们的编号方式使它们看起来像定理 1.1 的引理。相反,我希望将这些引理编号为 1.2.1 和 1.2.2。
我该如何解决这个问题?
答案1
如果引理总是在它们引用的定理之前,您只需在theorem
计数器的表示中添加一个即可:
\documentclass{article}
\usepackage{amsthm,xfp}
\theoremstyle{plain}
\newtheorem{theorem}{Theorem}[section]
\newtheorem{lemma}{Lemma}[theorem]
\renewcommand{\thelemma}{\thesection.\inteval{\value{theorem}+1}.\arabic{lemma}}
\begin{document}
\section{A section}
\begin{theorem}
This is the first theorem.
\end{theorem}
\begin{lemma}
This is the first lemma.
\end{lemma}
\begin{lemma}
This is the second lemma.
\end{lemma}
\begin{theorem}
This is the second theorem.
\end{theorem}
\end{document}