3

I want to change the caption name of a figure for an appendix. For example I have

\caption{This is a supplemental figure.}

and by default the caption appears as

Figure 1: This is a supplemental figure.

However I want

Figure S1 - This is a supplemental figure.

I tried this

\renewcommand{\figurename}{Figure S}

but it adds a space in between and results in

Figure S 1 - This is a supplemental figure.
lockstep
  • 250,273
Leosar
  • 457

3 Answers3

5

Add this to your document preamble:

\makeatletter
\g@addto@macto\appendix{\renewcommand{\thefigure}{S\arabic{figure}}}
\makeatother

A MWE:

\documentclass{report}

\makeatletter
\g@addto@macro\appendix{\renewcommand{\thefigure}{S\arabic{figure}}\setcounter{figure}{0}}
\makeatother

\begin{document}

\begin{figure}
\caption{Not in Appendix}
\end{figure}

\appendix

\begin{figure}
\caption{In Appendix}
\end{figure}


\end{document}
yo'
  • 51,322
3

I would put the letter into the number:

\renewcommand*{\thefigure}{S\arabic{figure}}

Then also referencing works. \ref reports the number including the letter.

Heiko Oberdiek
  • 271,626
0

This would work if using the appendices environment:

\g@addto@macro\appendices{\renewcommand{\thefigure}{S\arabic{figure}}\setcounter{figure}{0}}

Latex code below:

\documentclass{report}
\usepackage{appendix}

\makeatletter
\g@addto@macro\appendices{\renewcommand{\thefigure}{S\arabic{figure}}\setcounter{figure}{0}}
\makeatother

\begin{document}

\begin{figure}
\caption{Not in Appendix}
\end{figure}

\begin{appendices}

\begin{figure}
\caption{In Appendix}
\end{figure}

\end{appendices}
\end{document}