1

I don't understand why "noframenumbering" does not work in my example. I just want to blend out framenumbering when needed. Anyone has a solution?

\documentclass[9pt]{beamer}
\setbeamertemplate{navigation symbols}{}

\setbeamertemplate{footline}{\hfill \color{black!85}\insertframenumber \hspace*{6mm}\vspace*{3pt}}

\begin{document}
\begin{frame}[c,noframenumbering]
Text
\end{frame}
\end{document}
1

You can redefine the \insertframenumber macro to be empty or \relax.

To keep the redefinition local (i.e., only for the current slide) you need to put the slide in a group that starts with \begingroup and ends with \endgroup (or equivalent put an extra pair of {} around the redefinition+the frame).

MWE:

\documentclass[9pt]{beamer}
\setbeamertemplate{navigation symbols}{}

\setbeamertemplate{footline}{\hfill \color{black!85}\insertframenumber \hspace*{6mm}\vspace*{3pt}}

\begin{document}
\begin{frame}[c]
Text
\end{frame}

\begingroup
\def\insertframenumber{\relax}
\begin{frame}[c]
Text
\end{frame}
\endgroup

\begin{frame}[c]
Text
\end{frame}

\end{document}

Note that as a side effect the number is also removed from the slide overview pane in some viewers (for example Adobe Reader and Evince) but not others (for example Okular), which may or may not be a problem - if you just present the slides somewhere then it is probably fine, but if you distribute the slides afterwards and you want people to be impressed by your LaTeX skills then maybe it is an issue. A solution is to use \texorpdfstring, which prints the first argument to the pdf itself and the second argument to the PDF metadata. Code:

\documentclass[9pt]{beamer}
% store original definition of \insertframenumber
\let\sidepanenumber\insertframenumber
[...] % lots of code here
\begingroup
% empty in the main document, original definition in the pdf metadata
\def\insertframenumber{\texorpdfstring{\relax}{\sidepanenumber}}
[...]
0

The noframenumbering option actually tells beamer not to step the framenumber counter, it is not meant to hide the frame number. To hide the frame number from a frame, you could use the plain option.

To hide the frame number, you could also change how the footline is produced on the corresponding frames using \setbeamertemplate. For example,

\documentclass[9pt]{beamer}
\setbeamertemplate{navigation symbols}{}
\setbeamertemplate{footline}{\hfill \color{black!85}\insertframenumber \hspace*{6mm}\vspace*{3pt}}
\newenvironment{nonumberframe}{%
    \setbeamertemplate{footline}{}
    \begin{frame}[c,noframenumbering] %Remove the noframenumbering option if you want the counter to be increased on a frame that is not numbered.
    }{%
    \end{frame}
    \setbeamertemplate{footline}{\hfill \color{black!85}\insertframenumber \hspace*{6mm}\vspace*{3pt}}
}
\begin{document}
\begin{frame}[c]
Text
\end{frame}
\begin{nonumberframe}
Text
\end{nonumberframe}
\begin{frame}[c]
Text
\end{frame}
\end{document}

give something like that (I just increased the font size to produce this image):

2
  • Thanks for the reply. Is there a way to have a solution without plain since it blends out everything?
    – kilsen
    Jan 17 '20 at 8:35
  • I added something which should be easily adapted to more contexts.
    – Vincent
    Jan 17 '20 at 16:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.