[Tex/LaTex] beamer: footnote text collides with navigation symbols

beamerfootnotesnavigationpositioning

Footnotes in presentations are "usually not a good idea" (beamer manual, p. 130). Suppose, however, I have a valid reason to use the \footnote command in a beamer document (e.g., for printing a full citation similar to a bibliography entry). Many beamer themes include navigation symbols, and to my dismay I noticed that footnotes will be placed at the very bottom of a frame where they are likely to collide with any navigation symbols present. I tried to put the contents of a frame inside a minipage, but this will make footnotes (too) closely aligned to the text.

\documentclass{beamer}

\useoutertheme{infolines}

\author{Author}
\institute{Institute}
\date{\today}

% Remove footnote rule
\renewcommand*{\footnoterule}{}

\begin{document}

\begin{frame}{Frame 1}

Some text.\footnote{A long footnote that partially overwrites the navigation symbols.}

\end{frame}

\begin{frame}{Frame 2}

\begin{minipage}{\textwidth}

Some text.\footnote{A footnote that is closely aligned to the text.}

\end{minipage}

\end{frame}

\end{document}

How can I place footnotes at the bottom of a frame excluding the vertical space claimed by navigation symbols?

EDIT: Stefan's answer made me realize that the problem is more complicated. I'm looking for a solution that also works with beamer themes which include information about author, institute etc. in the footline (and the navigation symbols immediately above this information). I edited my code example accordingly.

EDIT2: Following Stefan's suggestion to "just insert the navigation symbols", this is what I came up with (to be added to the preamble of my code example):

\makeatletter
\setbeamertemplate{sidebar right}{}
\setbeamertemplate{footline}
{
  \leavevmode%
% Begin of additions - note that this is pure guesswork
  \vskip2pt%
  \begin{beamercolorbox}[wd=0.9925\paperwidth,right]{}
  \usebeamertemplate***{navigation symbols}%
  \end{beamercolorbox}
  \vskip2pt%
% End of additions
  \hbox{%
  \begin{beamercolorbox}[wd=.333333\paperwidth,ht=2.25ex,dp=1ex,center]{author in head/foot}%
    \usebeamerfont{author in head/foot}\insertshortauthor~~\beamer@ifempty{\insertshortinstitute}{}{(\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

To rephrase my original question once more: Is there a solution that doesn't depend on which beamer themes are used? E.g., adding vertical space after the last (!) footnote on a frame if navigation symbols are present?

Best Answer

You can achieve that by placing the navigation symbols in the footline instead of the default position in the right sidebar:

\setbeamertemplate{sidebar right}{}
\setbeamertemplate{footline}{\hfill\usebeamertemplate***{navigation symbols}}

The original definition uses \llap and the sidebar, that's why it may be overwritten:

% From beamerouterthemedefault.sty:
\defbeamertemplate*{sidebar right}{default}
{
  \vfill%
  \llap{\insertlogo\hskip0.1cm}%
  \vskip2pt%
  \llap{\usebeamertemplate***{navigation symbols}\hskip0.1cm}%
  \vskip2pt%
}

In response to locksteps edit: this tiny example used the complete footline for demonstration. If there's already a footline present, I would modify this footline inserting \usebeamertemplate***{navigation symbols} therein, so it may become a footline with a height of two lines. This cannot be accidentally overwritten.

Seeing locksteps last edit now: for example, using Matthew's suggestion \addtobeamertemplate on the footline instead of the footnote brings us to:

\setbeamertemplate{sidebar right}{}% or get rid of navigation entries there somehow
\addtobeamertemplate{footline}{\hfill\usebeamertemplate***{navigation symbols}%
    \hspace*{0.1cm}\par\vskip 2pt}{}

This reserves the space and works with or without an existing footline, no matter if that footline is one or more lines tall. I've tested it with the themes Berlin, Singapore and Madrid.