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:
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.
\documentclass{...}
and ending with\end{document}
.