Cacher des frames dans Beamer

Lors d’une présentation, il est toujours bien d’anticiper les questions ; mais il est encore mieux de préparer les réponses. Pour faire bon genre, il est très apprécié de préparer des slides « au cas où ». Je vais vous donner ici la méthode pour ajouter des slides dans Beamer, sans pour autant qu’ils ne viennent impacter le nombre total apparent.

Afficher le numéro de la frame courante

Pour commencer, il faut quand même afficher le numéro de la frame courante, sans quoi ce billet n’a pas son intérêt… Si le thème que vous utilisez par défaut ne l’affiche pas, le plus simple est d’utiliser la commande suivante :

\setbeamertemplate{footline}[frame number]

Mais si, comme moi, vous trouvez que par défaut la police utilisée est peu visible, vous pouvez personnaliser le style, comme ci-après :

\setbeamertemplate{footline}{
  \vspace{-1cm}\small{\insertframenumber/\inserttotalframenumber}
}

Tant qu’on y est, on peut supprimer aussi les boutons de navigation Beamer, facilement dispensables :

\beamertemplatenavigationsymbolsempty

Créer les frames non numérotées

La difficulté n’est pas de supprimer l’affichage de la numérotation sur les frames cachées (pour ça on peut réutiliser la commande précédente), mais bien de ne pas les prendre en compte pour le décompte total.

Dans le préambule, commencez par définir les deux commandes suivantes :

\newcommand{\backupbegin}{
  \newcounter{framenumberappendix}
  \setcounter{framenumberappendix}{\value{framenumber}}
  \setbeamertemplate{footline}{}
}
\newcommand{\backupend}{
  \addtocounter{framenumberappendix}{-\value{framenumber}}
  \addtocounter{framenumber}{\value{framenumberappendix}}
  \setbeamertemplate{footline}{
    \vspace{-1cm}\small{\insertframenumber/\inserttotalframenumber}
  }
}

Dans le corps du document, il ne vous reste plus qu’à placer les frames cachées entres les deux commandes nouvellement créées :

\backupbegin
  \begin{frame}
    \label{fr:cachee}
    \frametitle{La frame cachée !}
    Une explication détaillée en cas de question.
  \end{frame}
\backupend

Libre à vous de placer cette frame où vous voulez : à la fin, ou même au milieu des autres (avec le risque de la spoiler un peu lors du défilement des pages pendant la présentation…). On a pris le soin de donner un label à la frame cachée, ainsi on peut discrètement mettre des liens vers celle-ci ailleurs dans le document :

\hyperlink{fr:cachee}{plus de détails ici}

 

Pour résumer

Voici donc un exemple minimal illustrant le comportement souhaité :

\documentclass{beamer}
\usetheme{JuanLesPins}
\usepackage[utf8]{inputenc}
\usepackage[francais]{babel}
\usepackage{blindtext}
 
\title{Un beamer comme les autres}
\author{Dorian Depriester}
 
\newcommand{\backupbegin}{
   \newcounter{framenumberappendix}
   \setcounter{framenumberappendix}{\value{framenumber}}
   \setbeamertemplate{footline}{}
 
}
\newcommand{\backupend}{
   \addtocounter{framenumberappendix}{-\value{framenumber}}
   \addtocounter{framenumber}{\value{framenumberappendix}} 
   \setbeamertemplate{footline}{\vspace{-1cm}\small{\insertframenumber/\inserttotalframenumber}}
}
\beamertemplatenavigationsymbolsempty
 
\begin{document}
	\begin{frame}
		\maketitle
	\end{frame}
 
	\setbeamertemplate{footline}{
                \vspace{-1cm}\small{
                    \insertframenumber/\inserttotalframenumber
                 }}
 
	\begin{frame}
		\blindtext, dans lequel on peut cacher un lien vers \hyperlink{fr:cachee}{la frame chachée !}
	\end{frame}
 
	\backupbegin
		\begin{frame}
			\label{fr:cachee}
			\frametitle{La frame cachée !}
				Une explication détaillée en cas de question.
		\end{frame}
	\backupend
 
	\begin{frame}
		\blindtext
	\end{frame}
\end{document}

Bonne compilation !