在第一个 \section 之前的新 \chapter 中重置计数器

在第一个 \section 之前的新 \chapter 中重置计数器
\newtheorem{lemma}{Lemma}[section]

\chapter{First chap}
\section{First sec}
\begin{lemma}
this one is correct.
\end{lemma}

\chapter{Second chap}
\begin{lemma}
This number is wrong.
\end{lemma}

\section{Second sec}
\begin{lemma}
this one is correct again.
\end{lemma}

显然,我希望第二章第二节之前的引理从零开始。但是如何做呢?

答案1

LaTeX <2015: 的数量lemma仅在section增加时重置,而不是chapter。如果增加,则\@addtoreset有助于重置:lemmachapter

\newtheorem{lemma}{Lemma}[section]

\makeatletter
\@addtoreset{lemma}{chapter}
\makeatother

在最近的 LaTeX 版本 2015/01/01 中,这不再是必要的,因为计数器重置是以传递方式实现的。

数字格式

如果需要抑制章节编号0,则以下重新定义会有所\thelemma帮助:

\renewcommand*{\thelemma}{%
  \ifnum\value{section}=0 %
    \thechapter
  \else
    \thesection
  \fi
  .\arabic{lemma}%
}

相关内容