5

I want to have per-subsection figure numbering in the appendix of the following MWE: it should read "Figure A.1" instead of "Figure 2".

\documentclass{article}

\usepackage{amsmath}  
\numberwithin{equation}{section}

\usepackage[demo]{graphicx}   
\usepackage{caption}
\captionsetup[figure]{figurewithin=section}

\newcommand*{\appheading}[1][Appendix]{%
  \setcounter{secnumdepth}{0}\section{#1}\setcounter{secnumdepth}{3}%
  \renewcommand*{\thesubsection}{\Alph{subsection}}
  \numberwithin{equation}{subsection}  
}

\begin{document}

\section{Foo} 

\begin{equation}
  x = 4
\end{equation}

\begin{figure}[htbp!]
  \centering
  \includegraphics{foo}
  \caption{Fooo}
\end{figure}

\appheading
\appendix
\subsection{Baz}

\begin{equation}
  y = 3
\end{equation}

\begin{figure}[htbp!]
  \centering
  \includegraphics{baz}
  \caption{Baz}
\end{figure}

\end{document}

I tried changing the thefigure counter and also using the chngcntr package but couldn't make it work.

2
  • 1
    Something like this should do what you want. \setcounter{figure}{0} \renewcommand{\thefigure}{Figure \Alph{chapter}.\arabic{figure}} May 31, 2013 at 21:25
  • figurewithin=section should be directly passed to the caption package, i.e. \usepackage[figurewithin=section]{caption} or \captionsetup{figurewithin=section} (without the [figure] stuff).
    – user2574
    Jun 1, 2013 at 12:23

2 Answers 2

5

Use \numberwithin instead of the figurewithin option:

\documentclass{article}

\usepackage{amsmath}  
\numberwithin{equation}{section}

\usepackage[demo]{graphicx}   
\usepackage{caption}
\numberwithin{figure}{section}

\newcommand*{\appheading}[1][Appendix]{%
  \setcounter{secnumdepth}{0}\section{#1}\setcounter{secnumdepth}{3}%
  \renewcommand*{\thesubsection}{\Alph{subsection}}
  \numberwithin{equation}{subsection}
  \numberwithin{figure}{subsection}
}

\begin{document}

\section{Foo} 

\begin{equation}
  x = 4
\end{equation}

\begin{figure}[htbp!]
  \centering
  \includegraphics{foo}
  \caption{Fooo}
\end{figure}

\appheading
\appendix
\subsection{Baz}

\begin{equation}
  y = 3
\end{equation}

\begin{figure}[htbp!]
  \centering
  \includegraphics{baz}
  \caption{Baz}
\end{figure}

\end{document}

enter image description here


Why don't you use \part* instead of those tricks?

\documentclass{article}

\usepackage{amsmath}  
\numberwithin{equation}{section}

\usepackage[demo]{graphicx}   
\usepackage{caption}
\numberwithin{figure}{section}

\newcommand*{\appheading}[1][Appendix]{%
  \part*{#1}
  \renewcommand*{\thesection}{\Alph{section}}
}

\begin{document}

\section{Foo} 

\begin{equation}
  x = 4
\end{equation}

\begin{figure}[htbp!]
  \centering
  \includegraphics{foo}
  \caption{Fooo}
\end{figure}

\appheading
\appendix
\section{Baz}

\begin{equation}
  y = 3
\end{equation}

\begin{figure}[htbp!]
  \centering
  \includegraphics{baz}
  \caption{Baz}
\end{figure}

\end{document}
1
  • I don't use part because: (i) with the tricks I can control pdf bookmarks easily (allowing them to go straight to the section heading) (ii) I like the appendix to be a section rather than a part. Excellent answer BTW. It never ceases to amaze me how much you know about TeX.
    – petobens
    May 31, 2013 at 21:51
3

insert these two lines immediately after the line \subsction{Baz}:

\setcounter{figure}{0}
\setcounter{section}{1}

You must log in to answer this question.

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