web-dev-qa-db-fra.com

Ignorer les numéros de page dans les diapositives de sauvegarde

J'utilise la classe de documents beamer en latex pour faire une présentation. J'aurai un certain nombre de diapositives de sauvegarde qui sont là pour une consultation hors ligne, une référence, etc. J'aimerais vraiment que {total pages} soit équivalent à mon nombre total de pages sans compter les diapositives de sauvegarde (je ne veux pas décourager mon public sur la première page!). Est-ce que quelqu'un sait comment cela peut être fait?

56
mwlebour

Cela peut maintenant être réalisé avec l'option suivante sur toutes les diapositives de "sauvegarde":

\begin{frame}[noframenumbering]{My Title}
\end{frame}

Source

Cela entraînera l'affichage du numéro final (par exemple 25/25) sur ces pages.

Comme toujours, une question de goût.

47
Lenna

J'ai défini deux commandes pour ce faire:

\newcommand{\beginbackup}{
   \newcounter{framenumbervorappendix}
   \setcounter{framenumbervorappendix}{\value{framenumber}}
}
\newcommand{\backupend}{
   \addtocounter{framenumbervorappendix}{-\value{framenumber}}
   \addtocounter{framenumber}{\value{framenumbervorappendix}} 
}

Vous pouvez ensuite utiliser \beginbackup et \backupend avant et après votre diapositive de sauvegarde pour régler le nombre de diapositives.

Pour mon modèle de beamer, j'aime aussi ajouter

\setbeamertemplate{footline}{
  \leavevmode%
  \hbox{%
  \begin{beamercolorbox}[wd=.333333\paperwidth,ht=2.25ex,dp=1ex,center]{author in head/foot}%
    \usebeamerfont{author in head/foot}\insertshortauthor~~(\insertshortinstitute)
  \end{beamercolorbox}%
  \begin{beamercolorbox}[wd=.333333\paperwidth,ht=2.25ex,dp=1ex,center]{title in head/foot}%
    \usebeamerfont{title in head/foot}\insertshorttitle
  \end{beamercolorbox}%
  \begin{beamercolorbox}[wd=.333333\paperwidth,ht=2.25ex,dp=1ex,right]{date in head/foot}%
    \usebeamerfont{date in head/foot}\insertshortdate{}\hspace*{2em}
    \insertframenumber{} \hspace*{2ex} % hier hat's sich geändert
  \end{beamercolorbox}}%
  \vskip0pt%
}

dans la définition du \beginbackup commande pour masquer le nombre total de pages dans les diapositives de sauvegarde, sinon vous obtiendrez quelque chose comme "24/18".

En utilisant tout cela, vos diapositives seront numérotées comme "x/Y" pour toutes les diapositives avant la sauvegarde, où Y est le nombre total de diapositives avant la première diapositive de sauvegarde, et les diapositives de sauvegarde continueront la numérotation des diapositives précédentes.

24
fuenfundachtzig

Cela peut être fait avec le package appendixnumberbeamer . Ajoutez simplement \usepackage{appendixnumberbeamer} au préambule et utilisez \appendix avant la première diapositive de sauvegarde.

21
Partha

Pour fixer manuellement le nombre total de trames à un certain nombre, disons 25, vous pouvez ajouter la commande suivante

\renewcommand{\inserttotalframenumber}{25}

juste après la commande\begin {document}.

Vous pouvez également ajouter la commande\appendix juste avant le début de vos diapositives de sauvegarde, afin que les sections/sous-sections correspondantes n'apparaissent pas dans la table des matières/la structure de navigation.

Il devrait être possible de modifier la commande de renouvellement ci-dessus afin qu'elle utilise automatiquement le dernier numéro de trame avant l'annexe, mais je ne sais pas comment le faire.

11
Fanfan

Insérez simplement

\renewcommand{\inserttotalframenumber}{\pageref{lastslide}}

après \ begin {document}, et placez le marqueur

\label{lastslide}

sur votre dernière diapositive.

9
aslan

Fanfan, merci pour votre réponse, votre réponse m'a orienté vers ce fichier sty que l'on peut inclure dans une classe de document beamer qui ne comptera automatiquement que le nombre d'images avant l'annexe, puis redémarrera le compte séparé pour les diapositives de l'annexe, assez soigné.

http://www.ensta.fr/~lelong/Latex/appendixnumberbeamer.sty

Merci également à Jérôme LELONG de l'avoir mis en ligne.

7
mwlebour

Vous pouvez mettre toutes vos diapositives de sauvegarde en annexe et utiliser le package appendixnumberbeamer.

\documentclass[12pt]{beamer}
\usepackage{appendixnumberbeamer}
\begin{document}
\begin{frame}{Frames that counts}
\end{frame}
\appendix
\begin{frame}{Backup slides}
\end{frame}
\end{document}
5
xuhdev

La grande commande\insertpresentationendpage s'occupe de votre problème. Placez simplement\annexe au début de vos diapositives de sauvegarde.

\documentclass[t]{beamer}

\usepackage[absolute,overlay]{textpos}
\setbeamertemplate{navigation symbols}{}

\def\insertpresentationendframe{\inserttotalframenumber}
\makeatletter
\g@addto@macro{\appendix}{\immediate\write\@auxout{\string\@writefile{nav}{\noexpand\headcommand{\noexpand\def\noexpand\insertpresentationendframe{\the\c@framenumber}}}}}
\makeatother

\setbeamertemplate{footline}{%
    \begin{picture}(54,12.5)(0,0)
    \put(0.9,0.52){%
        \begin{minipage}[b][12.5mm][c]{112.5mm}
        \raggedleft
        \insertframenumber/\insertpresentationendframe
        \end{minipage}
    }
    \end{picture}
}

\begin{document}

    \begin{frame}
        slide in the main part
        \only<2>{blub}
    \end{frame}

    \appendix
    \section*{Backup}

    \begin{frame}
        \frametitle{backup}
        not counting in the total frame number
    \end{frame}

\end{document}

enter image description here

4
samcarter

Une autre possibilité - qui a été récemment ajoutée à beamer - est d'utiliser le modèle appendixframenumber:

\documentclass[t]{beamer}

\setbeamertemplate{footline}{
  \hfill%
  \usebeamercolor[fg]{page number in head/foot}%
  \usebeamerfont{page number in head/foot}%
  \setbeamertemplate{page number in head/foot}[appendixframenumber]%
  \usebeamertemplate*{page number in head/foot}\kern1em\vskip2pt%
}

\begin{document}

    \begin{frame}
        slide in the main part
        \only<2>{blub}
    \end{frame}

    \appendix
    \section*{Backup}

    \begin{frame}
        \frametitle{backup}
        not counting in the total frame number
    \end{frame}

\end{document}
1
samcarter