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?

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

1 Answer 1

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)

6
  • 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, 2017 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). Nov 22, 2017 at 17:23
  • @Socob fixed the size problem, please see my edited code. Nov 22, 2017 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, 2017 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. Nov 23, 2017 at 15:20

You must log in to answer this question.

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