Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

I want to use a trick I found in the question Beamer navigation circles without subsections? to suppress multiple lines of "frame dots" for each subsection in beamer's mini frame navigation. Instead, I want to have a line of frame dots for each section. This fails with the outer theme miniframe, but not with the outer theme smoothbars:

\documentclass{beamer}
\usepackage[latin1]{inputenc}
\usetheme{M21}
\title
{Long Title}  
\subtitle{Subtitle}
\author{Christoph}
\date{}
\subject{}
\begin{document}
\begin{frame}
  \titlepage
\end{frame}    
\section[One]{Sec 1}
\setcounter{subsection}{1}
\begin{frame}
  \frametitle{Some Frame}
  \framesubtitle{its subtitle}
  and some bla bla
\end{frame}
\begin{frame}
  \frametitle{More...}
  \framesubtitle{more subtitle}
  and some bla bla
\end{frame}
\begin{frame}
  \frametitle{Last Frame in Section}
  and some bla bla
\end{frame}

\section{Sec 2}
\setcounter{subsection}{1}
\begin{frame}
  \frametitle{Some Frame}
  \framesubtitle{its subtitle}
  and some bla bla
\end{frame}
\begin{frame}
  \frametitle{More...}
  \framesubtitle{more subtitle}
  and some bla bla
\end{frame}
\begin{frame}
  \frametitle{Last Frame in Section}
  and some bla bla
\end{frame}

\end{document}

My theme file beamerthemeM21.sty has the following content:

\usepackage{remreset}
\makeatletter
\@removefromreset{subsection}{section}
\makeatother

\mode<presentation>
\setbeamercovered{transparent}

\mode<all>
\useoutertheme[subsection=false]{smoothbars}
%\useoutertheme[subsection=false]{miniframes}

\setbeamertemplate{navigation symbols}{}

As it is now, the MWE should show correct dots, like so:

One        Sec 2
Ooo        ooo

If you comment smoothbars and activate miniframes, the line of dots is shifted to the right, and the shift amount increases for each section:

One        Sec 2
  Ooo          ooo

How can I avoid that? Where did I mess it up?

share|improve this question
add comment

1 Answer

The problem here is that the outer theme smoothbars uses the beamer option compress in order to get the mini frames into one single line, while miniframes doesn't do that by default. So in order to remove the spurious space, you need to activate this compression, which can be done by saying

\beamer@compresstrue

in beamerthemeM21.sty (enclosed in \makeatletter ... \makeatother, of course).

BTW: You don't need to use \setcounter{subsection}{1} in each section as in your MWE, doing this once (e. g. in your theme file) is enough.

So the corrected beamerthemeM21.sty looks like this:

\usepackage{remreset}
\makeatletter
\@removefromreset{subsection}{section}
\beamer@compresstrue
\makeatother
\setcounter{subsection}{1}

\mode<presentation>
\setbeamercovered{transparent}

\mode<all>
\useoutertheme[subsection=false]{miniframes}

\setbeamertemplate{navigation symbols}{}
share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.