2

Using only<.>{stuff} at the end of a beamer frame it is possible to place stuff at the very last overlay in a beamer frame.

Now, I would like to slightly alter the footline when I reach the last overlay, for example putting a star besides the page number, or turning it red.

Can this be done with a reasonable amount of effort?

1
  • It depends on how easy it is to modify the footline. If it simply a matter of overlaying something, no problem. May 17, 2019 at 12:30

1 Answer 1

0

Depending on the definition of 'reasonable', it can be done.

One option is to set a custom footline with color and additional text commands in it and set the definitions for these commands in \only<.> commands. At the start of a new frame you can set them back to the original values. The question did not say which theme is used so I took a standard example - you may need to adjust the footline template to match your presentation.

MWE:

\documentclass[10pt,xcolor=dvipsnames]{beamer}
\usepackage{etoolbox}
\setbeamertemplate{navigation symbols}{}

\setbeamertemplate{footline}
{
  \leavevmode%
  \hbox{%
  \begin{beamercolorbox}[wd=.4\paperwidth,ht=2.25ex,dp=1ex,center]{author in head/foot}%
    \usebeamerfont{author in head/foot}\insertshortauthor
  \end{beamercolorbox}%
  \begin{beamercolorbox}[wd=.6\paperwidth,ht=2.25ex,dp=1ex,center]{title in head/foot}%
    \usebeamerfont{title in head/foot}\insertshorttitle\hspace*{3em}%
    % modification of the footline using \mycolor and \mysymbol here
    \hfill \color{\mycolor}\mysymbol\insertframenumber{} / \inserttotalframenumber\hspace*{1ex}
  \end{beamercolorbox}}%
  \vskip0pt%
}
\setbeamerfont{footline}{size=\normalsize}
\author{John Doe}
\title{My presentation}
\def\mycolor{blue}
\def\mysymbol{\relax}
\BeforeBeginEnvironment{frame}{\gdef\mycolor{blue}\gdef\mysymbol{\relax}}
\def\setlast{\only<.>{\gdef\mycolor{red}\gdef\mysymbol{*}}}
\begin{document}

\begin{frame}
  \begin{itemize}
    \item<+-> one
    \item<+-> two 
    \item<+-> three
  \end{itemize}
\setlast
\end{frame}
\setbeamercolor{page number in head/foot}{fg=red}
\begin{frame}
  \begin{itemize}
    \item<+-> one one
    \item<+-> two two
    \item<+-> three three
  \end{itemize}

\setlast
\end{frame}

\end{document}
\end{document}

Result:

enter image description here

Note that you have to insert \setlast manually at the end of each frame. I tried to automate this but I'm not really sure where to hook into - this can probably be improved.

1
  • Feel free to add an improvement, but I find this a reasonably self-contained solution!
    – fosco
    May 18, 2019 at 16:41

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .