[Tex/LaTex] Continuous v. per-chapter/section numbering of figures, tables, and other document elements

countersfloatsnumberingsectioning

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?

Best Answer

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}}
Related Question