[Tex/LaTex] Beamer navigation symbols inside footline

beamernavigationoverlays

I am trying to get the navigation symbols placed inside a second footline that I added.

I created a second footline above the standard one, inspired by the infolines theme code. Inside this extra footline, I want to see the navigation symbols.

\addtobeamertemplate{footline}{
    \leavevmode%
    \hbox{%
    \begin{beamercolorbox}[wd=\paperwidth,ht=2.25ex,dp=1ex,right]{author in head/foot}%
    \end{beamercolorbox}%
    }%
    \vskip0.5pt%
}

When I do this, the navigation symbols are added above this extra footline. But I want them to be added on top of this extra line.

I tried doing this using a \vspace, but they ended up behind the footline:

% uncommented, because it doesn't work:
%\addtobeamertemplate{navigation symbols}{\vspace{-3.5ex}}

Rendering:
footline

\documentclass{beamer}
\mode<presentation>

\title[Beamer Sample]{Sample presentation using Beamer}
\institute[UoF]{University of Foo}
\author{derabbink}
\date{\today}

\usecolortheme{dolphin}
\useoutertheme{infolines}

\setbeamertemplate{headline}[default]

\addtobeamertemplate{footline}{
    \leavevmode%
    \hbox{%
    \begin{beamercolorbox}[wd=\paperwidth,ht=2.25ex,dp=1ex,right]{author in head/foot}%
    \end{beamercolorbox}%
    }%
    \vskip0.5pt%
}
%\addtobeamertemplate{navigation symbols}{\vspace{-3.5ex}}

\begin{document}

\frame{\titlepage}

\begin{frame}\frametitle{FooBar}
\begin{itemize}
    \item Foo
    \item Bar
\end{itemize}
\end{frame}

\end{document}

PS: I also noticed that when I add a background image, it will be visible in the 0.5pt space between both footlines. What would be the best way to make that space a white line?

Best Answer

First, you need to set the navigations symbol template to be empty:

\setbeamertemplate{navigation symbols}{}

And then you can insert the symbols in the additional footline using the appropriate inserts:

\insertslidenavigationsymbol%
\insertframenavigationsymbol%
\insertsubsectionnavigationsymbol%
\insertsectionnavigationsymbol%
\insertdocnavigationsymbol%
\insertbackfindforwardnavigationsymbol%

A complete example (I defined a new color for the additional color box, so the symbols are visible):

\documentclass{beamer}
\mode<presentation>

\title[Beamer Sample]{Sample presentation using Beamer}
\institute[UoF]{University of Foo}
\author{derabbink}
\date{\today}

\usecolortheme{dolphin}
\useoutertheme{infolines}

\setbeamertemplate{headline}[default]
\setbeamercolor{mycolor}{fg=white,bg=structure!30}
\setbeamertemplate{navigation symbols}{}
\addtobeamertemplate{footline}{
    \leavevmode%
    \hbox{%
    \begin{beamercolorbox}[wd=\paperwidth,ht=2.75ex,dp=.5ex,right,rightskip=1em]{mycolor}%
\usebeamercolor[fg]{navigation symbols}\insertslidenavigationsymbol%
\insertframenavigationsymbol%
\insertsubsectionnavigationsymbol%
\insertsectionnavigationsymbol%
\insertdocnavigationsymbol%
\insertbackfindforwardnavigationsymbol%
    \end{beamercolorbox}%
    }%
    \vskip0.5pt%
}{}

\begin{document}

\frame{\titlepage}

\begin{frame}\frametitle{FooBar}
\begin{itemize}
    \item Foo
    \item Bar
\end{itemize}
\end{frame}

\end{document}

enter image description here

For the second part of the question, instead of a vertical skip you can use another color box of the desired height; something like

\addtobeamertemplate{footline}{
    \leavevmode%
    \hbox{%
    \begin{beamercolorbox}[wd=\paperwidth,ht=2.75ex,dp=.5ex,right,rightskip=2em]{mycolor}%
\usebeamercolor[fg]{navigation symbols}\insertslidenavigationsymbol%
\insertframenavigationsymbol%
\insertsubsectionnavigationsymbol%
\insertsectionnavigationsymbol%
\insertdocnavigationsymbol%
\insertbackfindforwardnavigationsymbol%
    \end{beamercolorbox}%
    }\par%
    \begin{beamercolorbox}[wd=\paperwidth,ht=.5pt]{}%
    \end{beamercolorbox}%
}{}