2

In the beamer class, the footline is inserted after, i. e. on top of the frame contents. This means that, if the frame content is very tall or, in any case, frame content is positioned in the same area as the footline, the footline will print over the frame content (i. e. the content will be hidden behind the opaque parts of the footline).

Is there any way to change this so that the footline will behave like background material?

  • 1
    use \begin{frame}[plain]{...} ... \end{frame} for a too large contents. Makes more sense than overwriting the footline – user2478 Nov 22 '17 at 17:36
  • @Herbert That hides the headline as well, so not a solution. – Socob Nov 23 '17 at 15:10
3

Instead of using the footline layer, you could add the content of the footline to another layer which is behind the normal text. For example if your theme does not use the left sidebar, you could do:

\documentclass{beamer}
\usetheme{Madrid}

\setbeamertemplate{footline}{}
\setbeamertemplate{navigation symbols}{}

\makeatletter
\setbeamertemplate{sidebar canvas left}
  {%
  \tiny%
  \leavevmode%
  \hbox{%
  \rule{0pt}{.99\paperheight}%
  \begin{beamercolorbox}[wd=.333333\paperwidth,ht=2.25ex,dp=1ex,center]{author in head/foot}%
    \usebeamerfont{author in head/foot}\insertshortauthor\expandafter\ifblank\expandafter{\beamer@shortinstitute}{}{~~(\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{} / \inserttotalframenumber\hspace*{2ex} 
  \end{beamercolorbox}%
        }%
  \vskip0pt%
  }
\makeatother

\begin{document}
\begin{frame}
\color{red}
x\newline x\newline x\newline x\newline x\newline x\newline x\newline x\newline x\newline x\newline x\newline x\newline x\newline x\newline x\newline x\newline x\newline x\newline x\newline x\newline x\newline 
\end{frame}
\end{document}

enter image description here

(see How does beamer build the frame? for more available layers)

  • Can you explain this a bit more? 1.) Why does the \rule have a height of exactly .99\paperheight? 2.) What is the purpose of \leavevmode at the beginning and \vskip0pt at the end? 3.) What about setting the height of the actual footline (\setbeamertemplate{footline})? Does this have to be taken into account in some way? – Socob Nov 22 '17 at 17:18
  • @Socob The rule is just a quick hack to push the content down to the bottom of the page. The rest of the code is more or less copied from the original definition of the footline from the infolines theme (you did not specify any theme in your question, so I took one at random). – samcarter is at topanswers.xyz Nov 22 '17 at 17:23
  • @Socob fixed the size problem, please see my edited code. – samcarter is at topanswers.xyz Nov 22 '17 at 17:34
  • OK, so .99\paperheight was just the height that happened to work? Do you know why (e.g. why not the full \paperheight)? And can you say anything about 3.)? Your code sets an empty footline – shouldn’t it (nominally) have some invisible contents so that its height can affect the positioning of the frame contents? – Socob Nov 23 '17 at 15:13
  • @Socob The .99 worked, so I did not put more effort into this. Concerning 3. you could do \setbeamertemplate{footline}{\rule{0pt}{0.32cm}}, the effect is very small. – samcarter is at topanswers.xyz Nov 23 '17 at 15:20

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.