241

Some document elements (e.g., figures in the book class) are numbered per chapter (figure 1.1, 1.2, 2.1, ...). How can I achieve continuous numbering (figure 1, 2, 3, ...)?

And vice versa: Some document elements (e.g., figures in the article class) are numbered continuously. How can I achieve per-section numbering?

\documentclass{book}% for "vice versa" variant, replace `book` with `article`

\begin{document}

\chapter{foo}% for "vice versa" variant, replace `\chapter` with `\section`

\begin{figure}
\centering
\rule{1cm}{1cm}% placeholder for graphic
\caption{A figure}
\end{figure}

\end{document}

Bonus question: Is it possible to adjust the numbering of the sectioning headings themselves? Can I, e.g., switch from per-chapter to continuous numbering of sections in the book class?

4 Answers 4

237

Changing the numbering of (e.g.) figures involves two modifications:

  1. Redefining whether or not the figure counter will be reset whenever the chapter/section counter is incremented;

  2. Redefining the "appearance" of the figure counter (\thefigure), i.e., removing (or adding) the chapter/section prefix.

Standard solution: \counterwithout

The standard solution – which deals with modifications 1 and 2 mentioned above – is to use the \counterwithout and \counterwithin commands.

Since October 2018 the commands are in the LaTeX kernel; for earlier releases one needs \usepackage{chngcntr}

The following example shows how to achieve continuous figure numbering in the book class:

\documentclass{book}

\counterwithout{figure}{chapter}

\begin{document}

\chapter{foo}

\begin{figure}
\centering
\rule{1cm}{1cm}% placeholder for graphic
\caption{A figure}
\end{figure}

\end{document}

Conversely, here's how to achieve per-section figure numbering in the article class:

\documentclass{article}

\counterwithin{figure}{section}

\begin{document}

\section{foo}

\begin{figure}
\centering
\rule{1cm}{1cm}% placeholder for graphic
\caption{A figure}
\end{figure}

\end{document}

It works the same way for (e.g.) tables, custom-defined floats, equations, and footnotes. (Note that in many document classes featuring the \chapter command, footnotes are numbered per chapter even though the footnote counter does not show the chapter prefix.) The commands may also be used for theorem environments; it is easier, though, to specify the numbering of a new theorem environment when defining it:

\newtheorem{thm}{Theorem}% Continuous numbering
\newtheorem{prop}{Proposition}[section]% Per-section numbering

You may also customize the numbering of the sectioning headings themselves. To, say, accomplish continuous numbering of sections in the book class (by default, those are numbered per chapter), but per-part numbering of chapters (which are by default numbered continuously), your preamble should contain

\counterwithout{section}{chapter}
\counterwithin{chapter}{part}

To influence the resetting of counters without changing their appearance, use the starred macro versions \counterwithout* and \counterwithin*. E.g., for per-section numbering of figures in the article class – but without attaching a section prefix to \thefigure –, add the following to your preamble:

\counterwithin*{figure}{section}

It is also possible to redefine a counter's resetting and appearance any number of times in the document body. Note that \counterwithout, \counterwithin and their variants won't affect the counter's current value; to change the latter, use \setcounter{<counter>}{<new value>}.

AMSmath solution

The AMS classes and the amsmath package feature the \numberwithin macro which matches \counterwithin. However, there is no AMS equivalent to \counterwithout. Usage example: \numberwithin{equation}{section}. See the full example by cmhughes. If you use math, you may prefer loading amsmath anyway and using \numberwithin.

Other solutions

The caption package features the key–value options figurewithin and tablewithin which allow to change the numbering of (surprise) figures and tables. Permitted option values are chapter, section, and none. (For the first code example above, this translates into \usepackage[figurewithin=none]{caption}.)

The listings package uses \AtBeginDocument to define the lstlisting counter of the environment of the same name. To turn off the environment's per-chapter numbering for classes that feature \chapter, issue \lstset{numberbychapter=false} in the document preamble. To enable per-section numbering for classes without \chapter, add the following to your preamble:

\AtBeginDocument{\counterwithin{lstlisting}{section}}
6
  • 3
    How would I use the amsmath's numberwithin to achieve this numbering style on all defined theoremstyles? Sorry if this is answered above and I am just missing it.
    – BBischof
    Nov 5, 2011 at 16:54
  • 2
    @BBischof When you say \newtheorem{thm}{Theorem}[chapter], the thm environment will be numbered in the form <chapter>.<theorem>; a following \newtheorem{lem}[thm]{Lemma} will use the same counter for lemmas as for theorems.
    – egreg
    Nov 15, 2011 at 7:45
  • @egreg I'm sorry, but I don't really understand your comment. It seems helpful, but I am a little confused. Could you be a bit more verbose? :/
    – BBischof
    Nov 29, 2011 at 13:44
  • Can you add a package-free option here as well? Something using \@addtoreset?
    – Werner
    Jun 21, 2016 at 18:34
  • 3
    I believe since the 2018 release the macro \counterwithout` is integrated in the LaTeX kernel. It might be worth updating the answer.
    – campa
    Mar 29, 2019 at 14:55
16

Patryk's answer works perfectly. But you need to reset the counter of tables, figures, equations, etc. manually every time you want to start your object labels at "1" again. So it would be more suitable for e.g. a paper with some appendices than for a book with many chapters.

The \renewcommand line you only have to set once.

The advantage is that it is super simple and flexible.

Like this:

\setcounter{figure}{0}
\renewcommand{\thefigure}{A\arabic{section}.\arabic{figure}}

To create "Figure A1.1"

You could also do

\renewcommand{\thefigure}{Appendix~\arabic{section}.\arabic{figure}}

to obtain "Figure Appendix 1.1" (if you would feel the urge).

Or

\renewcommand{\thefigure}{A\arabic{section}.\arabic{subsection}.\arabic{figure}}

to obtain "Figure A1.1.1" for Figure 1 in subsection 1 of section A1.

7

Strangely enough, no one mentioned the package remreset and its \@removefromreset macro or the LaTeX - core macro \@addtoreset yet.

See for another version with xassoccnt at the bottom of this post.

\documentclass{book}

\usepackage{remreset}
\makeatletter
\@removefromreset{figure}{chapter}
\renewcommand{\thefigure}{\arabic{figure}}

\@addtoreset{figure}{section}
\makeatother


\begin{document}

\chapter{First}
\begin{figure}
\caption{First figure}
\end{figure}
\chapter{Second}

\begin{figure}
\caption{Second figure}
\end{figure}

\section{A section that causes resetting of figure}

\begin{figure}
\caption{Third figure}
\end{figure}


\end{document}

Using xassoccnt there is \RemoveFromReset and \AddToReset (without using \makeatletter...\makeatother

\documentclass{book}

\usepackage{xassoccnt}

\RemoveFromReset{figure}{chapter}
\AddToReset{figure}{section}
\renewcommand{\thefigure}{\arabic{figure}}


\begin{document}

\chapter{First}
\begin{figure}
\caption{First figure}
\end{figure}
\chapter{Second}

\begin{figure}
\caption{Second figure}
\end{figure}

\section{A section that causes resetting of figure}

\begin{figure}
\caption{Third figure}
\end{figure}


\end{document}

Please note that there is \RemoveFromFullReset as well, which removes the counter and its own reset list from the driver reset list.

Update Starting with version 1.3 of xassoccnt, \AddToReset, \RemoveFromReset support comma - separated list of counters to be added or removed from the driver counter reset list. Current version is 1.5, as of 2017/10/20.

3

You can also redefine thefigure command

\renewcommand{\thefigure}{\arabic{chapter}.\arabic{figure}}

and in article class

\renewcommand{\thefigure}{\arabic{section}.\arabic{figure}}
2
  • 4
    Only redefining \thefigure does nothing with regard to counter resetting and therefore may result, e.g., in figures in different chapters featuring the same name "Figure 1".
    – lockstep
    Oct 19, 2014 at 17:11
  • 1
    @Patryk, That worked awesome for me. Just as I wanted, I have Chapters in romans and I when I type an equation, it shows like (I.1), (Equation 1 for chapter I), when I did your command, I changed "\thefigure" for "\theequation" and "figure" for "equation" (in your first quote), and I got it just like I wanted, i.e. (1.1) (equation 1 for chapter I), without changing my chapters to arabic numbers. Thanks :)
    – Jorge V
    Oct 18, 2015 at 3:35

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .