16

I'm using the beamer miniframes outer theme (with subsection=false). Currently the navigation shows navigation dots below each section name. I would prefer it if the dots came to the right the section name. Is this possible?

Right now it looks like:

Sec 1           Sec 2
o o o o         o o o o

But I want it to look like:

Sec 1 o o o o               Sec 2 o o o o

MWE:

\documentclass{beamer}  
\useoutertheme[subsection=false]{miniframes}  
\begin{document}  
\section{Sec 1}  
\subsection{}  
\begin{frame}[t]  
  hi  
\end{frame}  
\end{document}`
2
  • Please add a minimal working example (MWE) that illustrates your problem. It will be much easier for us to reproduce your situation and find out what the issue is when we see compilable code, starting with \documentclass{...} and ending with \end{document}. Commented Dec 25, 2012 at 23:38
  • Good point (edited!)
    – sam
    Commented Dec 25, 2012 at 23:44

1 Answer 1

20

This can be obtained by patching the internal beamer commands responsible for creating the mini frame navigation:

\documentclass[compress]{beamer}  
\useoutertheme[subsection=false]{miniframes}

\usepackage{etoolbox}
\makeatletter
\patchcmd{\slideentry}{\advance\beamer@tempdim by -.05cm}{\advance\beamer@tempdim by\beamer@vboxoffset\advance\beamer@tempdim by\beamer@boxsize\advance\beamer@tempdim by 1.2\pgflinewidth}{}{}
\patchcmd{\slideentry}{\kern\beamer@tempdim}{\advance\beamer@tempdim by 2pt\advance\beamer@tempdim by\wd\beamer@sectionbox\kern\beamer@tempdim}{}{}
\makeatother

\begin{document}
\section{Sec 1}
\subsection{}
\frame{}\frame{}\frame{}\frame{}
\section{Sec 2}
\subsection{}
\frame{}\frame{}\frame{}\frame{}
\end{document}

This hack moves the mini frames one line up* and (length of the section title + 2pt) units to the right, to end up in the desired position:

mini frame navigation for "Sec 1", with mini frames to the right of the section name

I have also added the compress option to the minimal working example, as if you have multiple subsections in your presentation, it may look strange if each subsection starts in a new line.

*To be more precise, it's one line plus 1.2\pgflinewidth: The default circular mini frames descend exactly the amount of \pfglinewidth below the baseline, so I raised them to be a tiny amount above the baseline. You may have to play around with this value a little, especially if you use another mini frame style (box, tick) than the default circle.

1
  • 1
    wow, I learned a lot from this answer!
    – sam
    Commented Dec 28, 2012 at 19:13

You must log in to answer this question.

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