% vim:ft=plaintex: % % Written and (C) by Jérôme Lelong % 2007 - 2012 % % This program is free software; you can redistribute it and/or modify it % under the terms of the GNU General Public License as published by the % Free Software Foundation; either version 3 of the License, or (at your % option) any later version. % % This program is distributed in the hope that it will be useful, but % WITHOUT ANY WARRANTY; without even the implied warranty of % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU % General Public License for more details. % % You should have received a copy of the GNU General Public License along % with this program. If not, see . % % This small piece of code fixes the frame numbering in beamer when using % an appendix such that the slides of the appendix are not counted in the % total framenumber of the main part of the document. The total % framenumber counter is reset to 0 and starts counting again when % entering the appendix. % % Usage: \usepackage{appendixnumberbeamer} % and declare the appendix as usual using the \appendix command. \makeatletter \let\appendixtotalframenumber\empty \def\mainend{-1} \let\appendixorig\appendix % Redefine the \appendix command: % - it resets the framenumber counter % - freezes the total framenumber for this first part of the document \def\appendix{ \edef\mainend{\theframenumber} \immediate\write\@auxout{\string\global\string\@namedef{mainendframenumber}{\mainend}} \appendixorig \def\inserttotalframenumber{\appendixtotalframenumber}% \setcounter{framenumber}{0} } % To be called at the end of document to fix the total framenumber in the % main document and in the appendix. \def\pageatend{ \edef\appendixend{\theframenumber} \ifnum\mainend>0% \immediate\write\@auxout{\string\global\string\@namedef{appendixtotalframenumber}{\appendixend}}% \immediate\write\@auxout{\string\global\string\@namedef{inserttotalframenumber}{\mainend}}% \immediate\write\@auxout{\string\@writefile{nav}{\noexpand \headcommand {% \noexpand \def\noexpand \inserttotalframenumber{\mainend}}}}% \immediate\write\@auxout{\string\@writefile{nav}{\noexpand \headcommand {% \noexpand \def\noexpand \appendixtotalframenumber{\appendixend}}}}% \else \fi } \AtEndDocument{\pageatend} \makeatother