[Tex/LaTex] Beamer – customising the Frankfurt theme

beamermini-frames

I use beamer together with \usetheme{Frankfurt}.
My slides look like this:

enter image description here

Is that possible to change the color of the bullet in the header?

\documentclass[compress]{beamer}

\usepackage[english]{babel}
\usepackage[utf8x]{inputenc}
\usepackage{lmodern}


\usetheme{Frankfurt}
\useinnertheme{default}
\useoutertheme{default}
\usecolortheme{default}       
\usefonttheme{professionalfonts}  

\setbeamercolor{title}{bg=white, fg=red}
\setbeamercolor{frametitle}{bg=white, fg=red}
\setbeamercolor{section in head/foot}{fg=black, bg=white}

\begin{document}

\section{Section 1}
\stepcounter{subsection}
\begin{frame}
\frametitle{Slide 1}
\end{frame}

\begin{frame}
\frametitle{Slide 2}
\end{frame}

\end{document}

Best Answer

You can change the PGF code that is used to draw the circle. The filled circle is drawn in the beamer template mini frame.

By adding

\pgfsetcolor{<color>}

or

\pgfsetfillcolor{<color>}

to the PGF picture code one can set the <color> to be used for the whole circle or only the filling. (There’s also \pgfsetstrokecolor.)

I have used an additional color bullet that is let to red.

The starred version of \defbeamertemplate also activated the defined template so the second argument (Frankfurt) can be anything (except default).

I’m sure one can exploit all the possibilities a beamer template offers after reading the section 16.3 “Changing the Templates Used for Different Elements of a Presentation” of the beamer manual


The Frankfurt theme loads internally

\useoutertheme[subsection=false]{smoothbars}
\useinnertheme[shadow=true]{rounded}
\usecolortheme{orchid}
\usecolortheme{whale}

I do not see the point of additionally loading the default inner, outer and color theme. The output does not change anyway.

Code

\documentclass[compress]{beamer}

\usepackage[english]{babel}
\usepackage[utf8x]{inputenc}
\usepackage{lmodern}


\usetheme{Frankfurt}
\usefonttheme{professionalfonts}  

\setbeamercolor{title}{bg=white, fg=red}
\setbeamercolor{frametitle}{bg=white, fg=red}
\setbeamercolor{section in head/foot}{fg=black, bg=white}
\colorlet{bullet}{red}
\defbeamertemplate*{mini frame}{Frankfurt}
{%
  \begin{pgfpicture}{0pt}{0pt}{0.1cm}{0.1cm}
%    \pgfsetcolor{bullet}% draw and fill in red
    \pgfsetfillcolor{bullet}% only fill in red
    \pgfpathcircle{\pgfpoint{0.05cm}{0.05cm}}{0.05cm}
    \pgfusepath{fill,stroke}
  \end{pgfpicture}%
}
[action]
{ \setbeamersize{mini frame size=.14cm,mini frame offset=.03cm} }

\begin{document}

\section{Section 1}
\stepcounter{subsection}
\begin{frame}
\frametitle{Slide 1}
\end{frame}

\begin{frame}
\frametitle{Slide 2}
\end{frame}
\end{document}

Output

enter image description here