I am preparing a presentation in Beamer using \useoutertheme{miniframes}
and \useinnertheme{circles}
, and my own modded version of the default colortheme.
I want to have a Frankfurt-like navigation bar in the top, but instead of setting a background color, I have an image providing the background for the top bar.
What I want is the current section title and subsection dots to be highlighted compared to the rest, like this:
…except this only works when I declare a background colour for "section in head/foot". When I set {bg=}
in that definition, it shades the active section and circles darker than the rest, which is the opposite of what I want:
If I set the fg
to be completely white, then everything gets white, no shading of inactive regions. What I want is the shading on the first image with the background of the second image.
How can I achieve this?
Edit: Minimal Working Example
Here's a minimal working example. To function, it needs a background image, I used this background image from The Internetz(TM).
The code for a minimal working example is below.
There are 3 different options for \setbeamercolor{section in head/foot}
; option 1 produces correct background with all-white navigation with no shading, option 2 provides correct background but wrong shading (the emphasized parts are darker on a dark background image), and option 3 provides correct shading but sets a solid background color covering the image.
What I want is the background image of option 1 and 2, but the shading of the navigation items of option3.
\documentclass[compress]{beamer}
\useoutertheme[footline=authortitle]{miniframes}
\usebackgroundtemplate{\includegraphics[height=\paperheight]{baggrund.jpg}}
\setbeamercolor{structure}{fg=white}
%\setbeamercolor{section in head/foot}{parent=structure}%, bg=black} %opt.1
\setbeamercolor{section in head/foot}{parent=structure,fg=white!70!black} %opt.2
%\setbeamercolor{section in head/foot}{parent=structure, bg=black} %opt.3
\setbeamercolor{normal text}{fg=white!80!blue}
\title{the title}
\author{John Doe}
\begin{document}
\section{S1}
\subsection{SS11}
\begin{frame}{Foo}
Some text
\end{frame}
\begin{frame}{Bar}
Some text
\end{frame}
\subsection{SS12}
\begin{frame}{Baz}
Some text
\end{frame}
\begin{frame}{Qux}
Some text
\end{frame}
\section{S2}
\subsection{SS21}
\begin{frame}{Buqz}
Some text
\end{frame}
\subsection{SS22}
\begin{frame}{Bao}
Some text
\end{frame}
\end{document}
Best Answer
To influence the colouring of the mini frames without changing the background colour of the header, you can use the beamer colour
mini frames
(by default, this just takes the colours fromsection in head/foot
, which is why changing this colour also influences the mini frames):However, this only solves half of your problem: while it gives correct colours for the mini frames itself, the section name colour is still wrong, as it is controlled by
section name in head/foot
:To fix this, you can patch the internal beamer commands to use the mini frame colour instead of the header colour for the section name:
Together, this gives the desired result: