I've used the following macros for this purpose:
\newcommand{\backupbegin}{
\newcounter{framenumberappendix}
\setcounter{framenumberappendix}{\value{framenumber}}
}
\newcommand{\backupend}{
\addtocounter{framenumberappendix}{-\value{framenumber}}
\addtocounter{framenumber}{\value{framenumberappendix}}
}
The bonus slides are then put between the two commands:
\appendix
\backupbegin
\frame{\frametitle{One more thing}}
\backupend
This will get you the desired numbering, too.
Here's one way to remove the slide numbering from the Appendix slide, via the etoolbox
package. The idea being that you replace the insertion of the frame in the footline
template with a \phantom
version of itself:

\documentclass{beamer}% http://ctan.org/pkg/beamer
\usepackage{lmodern}% http://ctan.org/pkg/lm
\usepackage{etoolbox}% http://ctan.org/pkg/etoolbox
\mode<presentation>
\usetheme{Warsaw}
\usetheme{CambridgeUS}
\begin{document}
\section{Section}
\subsection{}
\begin{frame}
\frametitle{Slide Title}
Slide 1
\end{frame}
\begin{frame}
\frametitle{Slide Title}
Slide 2
\hspace{0.01cm}\hyperlink{eab<1>}{\beamergotobutton{Literature}}
\end{frame}
\begin{frame}
\frametitle{Slide Title}
Slide 3
\end{frame}
\section*{}
% Remove <frame #> / <total frame #> from footline template
\makeatletter
\patchcmd{\beamer@@tmpl@footline}% <cmd>
{\insertframenumber{} / \inserttotalframenumber}% <search>
{\phantom{\insertframenumber{} / \inserttotalframenumber}}% <replace>
{}% <success>
{}% <failure>
\makeatother
\begin{frame}[label=eab]
\frametitle{Appendix Material}
Appendix Material here.
{\tiny\hfill\Acrobatmenu{GoBack}{\beamerreturnbutton{}}}
\end{frame}
\addtocounter{framenumber}{-1}% Correct total frame count
\end{document}
The beamer
footline
template is stored in beamer@@tmpl@footline
. It's just easier replacing (or patching) the necessary commands rather than redefining it all over again.
A similar approach can be used to repeat the frame number of some other slide. One way is to "capture" the frame number in a different counter, and then patch the footline
to display that number rather than the regular framenumber
counter (via \insertframenumber
). Here is a complete minimal example:
\documentclass{beamer}% http://ctan.org/pkg/beamer
\usepackage{lmodern}% http://ctan.org/pkg/lmodern
\usepackage{etoolbox}% http://ctan.org/pkg/etoolbox
\newcounter{captureframe}
\mode<presentation>
\usetheme{Warsaw}
\usetheme{CambridgeUS}
\begin{document}
\section{Section}
\subsection{}
\begin{frame}
\frametitle{Slide Title}
Slide 1
\end{frame}
\begin{frame}
\frametitle{Slide Title}
Slide 2
\hspace{0.01cm}\hyperlink{eab<1>}{\beamergotobutton{Literature}}
\end{frame}
\setcounter{captureframe}{\value{framenumber}}% Store/capture current frame
\begin{frame}
\frametitle{Slide Title}
Slide 3
\end{frame}
\section*{}
% Replace <frame #> in footline template
\makeatletter
\patchcmd{\beamer@@tmpl@footline}% <cmd>
{\insertframenumber}% <search>
{\thecaptureframe}% <replace>
{}% <success>
{}% <failure>
\makeatother
\begin{frame}[label=eab]
\frametitle{Appendix Material}
Appendix Material here.
{\tiny\hfill\Acrobatmenu{GoBack}{\beamerreturnbutton{}}}
\end{frame}
\addtocounter{framenumber}{-1}% Correct total frame count
\end{document}
The frame number is captured via
\setcounter{captureframe}{\value{framenumber}}
after defining the new counter captureframe
. In the patch to the footline
template, \insertframenumber
is replaced with \thecaptureframe
(which defaults to an \arabic
presentation of the counter).
Both of the above solutions will impact all slides/frames following the patch. So, if a modification should be made temporarily, some more work is required (but is not difficult).
Based on certain assumptions, an elementary method using macros (that does not require etoolbox
) can be established to reference slides. The assumptions are
- There is a clear separation between "frontmatter" and "backmatter" slides. The former contain slides that could be "referenced" while the latter contains the "referenced" slides.
- Manual usage of certain macros are required before every "backmatter" slide in order to maintain an accurate count of the total frame number.
Here is an MWE:
\documentclass{beamer}% http://ctan.org/pkg/beamer
\usepackage{lmodern}% http://ctan.org/pkg/lmodern
\makeatletter
\newcommand{\saveframenumber}[1]{%
\expandafter\edef\csname r@#1\endcsname{\theframenumber}% Store frame number
}
\newcommand{\useframenumber}[1]{%
\addtocounter{framenumber}{-1}% Decrease framenumber counter
\renewcommand{\insertframenumber}{%
\csname r@#1\endcsname%
}%
}
\makeatother
\newcommand{\restoreframenumberdefault}{%
\renewcommand{\insertframenumber}{%
\arabic{framenumber}%
}%
}
\mode<presentation>
\usetheme{Warsaw}
\usetheme{CambridgeUS}
\begin{document}
\section{Section}
\subsection{}
\begin{frame}
\frametitle{Slide Title}
Slide 1
\end{frame}
\begin{frame}
\frametitle{Slide Title}
Slide 2
\hspace{0.01cm}\hyperlink{eab<1>}{\beamergotobutton{Literature}}
\end{frame}
\saveframenumber{myslide}% Save this slide number as <myslide>
\begin{frame}
\frametitle{Slide Title}
Slide 3
\end{frame}
\section*{}
\useframenumber{myslide}% Use the same number as on <myslide>
\begin{frame}[label=eab]
\frametitle{Appendix Material}
Appendix Material here.
{\tiny\hfill\Acrobatmenu{GoBack}{\beamerreturnbutton{}}}
\end{frame}
\end{document}
The usage is:
- After a slide that you want to reference in the "backmatter", you place
\saveframenumber{<name>}
. This stores the value of the current frame in \r@<name>
.
- Before every "backmatter" slide that uses the "referenced" slide in the "frontmatter", you place
\useframenumber{<name>}
.
Best Answer
This is so, because
\insertsectionnumber
is defined as (in the filebeamerbasesection.sty
)And
\appendix
doesn't change this;so the counter will appear using arabic representation.
You can change this, redefining
\insertsectionnumber
in the proper location:Perhaps you want to let \appendix do this change: