如何在每章开始时将计数器重置为 1?

如何在每章开始时将计数器重置为 1?

我希望定义、引理和定理的编号具有以下形式坐标,在哪里X是章节和表示自然顺序 1,2,3...我用计数器来表示这是我的代码,但发生了一些意想不到的事情。计数器在每个章节自动从 0 开始,但我希望它从 1 开始。我应该怎么做才能解决这个问题?谢谢!

\documentclass{book}
\newcounter{moon}[chapter]
\newtheorem{mydef}{Definition} 
\renewcommand{\themydef}{\thechapter.\arabic{moon}}
\def\endmydef{\stepcounter{moon}}
\newtheorem{mylem}{Lemma} 
\renewcommand{\themylem}{\thechapter.\arabic{moon}}
\def\endmylem{\stepcounter{moon}}
\newtheorem{mythm}{Theorem} 
\renewcommand{\themythm}{\thechapter.\arabic{moon}}
\def\endmythm{\stepcounter{moon}}

\begin{document}
\chapter{AlaAla...}
\begin{mydef}
   something
\end{mydef}
\begin{mylem}
   something
\end{mylem}  
\begin{mythm}
   something
\end{mythm}

\chapter{BlaBla...}
\begin{mydef}
    something
\end{mydef}
\begin{mylem}
something
\end{mylem}  
\begin{mythm}
something
\end{mythm}

\end{document}

在此处输入图片描述

在此处输入图片描述

答案1

一般答案
这(不容易)实现。更好的方法是在使用计数器之前移动计数器的步进。在 TeX 中,这种情况就是这么做的。因为如果您使用\refstepcounter而不是\stepcounter让这些计数器与\ref此一起工作,这是唯一的方法,让 TeX 知道计数器从哪里“活动”为标签。

然而你的情况解决方法是让这三个计数器互为“别名”,并使用可选参数来\newtheorem根据柜台内的柜台chapter

将您的定义更改为:

\newtheorem{mydef}{Definition}[chapter] % < counter within chapter counter
\newtheorem{mylem}{Lemma}
\newtheorem{mythm}{Theorem}
\makeatletter
   \let\c@mylem\c@mydef % make lem counter an alias for def counter
   \let\themylem\themydef % copy format of def counter in lem counter
   \let\c@mythm\c@mydef % make thm counter an alias for def counter
   \let\themythm\themydef % copy format of def counter in lem counter
\makeatother

顺便说一句:这不是一个好主意,\def\endmydef{\stepcounter{moon}}因为这将覆盖该部分中的所有其他内容\end……

答案2

只是阐明了我的评论。我所做的就是使用这个答案。当你编译它时,你会看到第二章中的引理和定理虽然没有定义,但已经按应有的方式编号了。

在此处输入图片描述

\documentclass{book}
\usepackage{amsthm}
\newtheorem{mydef}{Definition}[chapter] 
\newtheorem{mylem}[mydef]{Lemma} 
\newtheorem{mythm}[mydef]{Theorem} 

\begin{document}
\chapter{AlaAla...}
\begin{mydef}
   something
\end{mydef}
\begin{mylem}
   something
\end{mylem}  
\begin{mythm}
   something
\end{mythm}

\begin{mydef}
    something
\end{mydef}

\chapter{BlaBla...}
\begin{mylem}
something
\end{mylem}  
\begin{mythm}
something
\end{mythm}

\end{document}

相关内容