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'm writing a presentation using the Darmstadt theme which uses the smoothbars outer theme which is itself just a mild variation of miniframes.

In a couple of my sections, I have so many frames that the dots in the navigation bar (which I very much like) "overflow" horizontally and appear under the next section's header.

I have seen some presentations where the dots appear on a second line once they hit the width of the text for the section header. How can I do this?

share|improve this question
    
I have a solution that is working only with miniframes and not with smoothbars, the difference is that miniframes have no shading. Are you interested in that? –  tohecz Jan 23 '12 at 13:01
add comment

1 Answer

beamer can't automatically wrap the mini frames into a new line if they don't fit into a single one. Instead, a new line is started for each subsection when using with the miniframes theme:

headline produced by miniframes, with three lines of mini frames

Unfortunately this doesn't work for the Darmstadt theme you are using. The reason for this is that Darmstadt loads the outer theme smoothbars, which is very similar to the miniframes theme, but installs smooth shaded transitions between the header and the content. However, it also uses beamer's compress option to get all the mini frames into a single line, so using multiple subsections doesn't work here. Removing this option is not a good idea, though, because the shading is hard-coded into the theme, so the header can't change its height automatically and will overflow if you use multiple lines for the mini frames:

headline produced by smoothbars, with overflowing mini frames

So the only thing you can do is to replace the smoothbars outer theme with miniframes (producing the headline shown in the first image):

\documentclass{beamer}
\usetheme{Darmstadt}
\useoutertheme{miniframes}
\makeatletter
  \beamer@compressfalse
\makeatother
\begin{document}
\section{Section 1}
\subsection{Subsection 1}
\frame{}\frame{}\frame{}
\subsection{Subsection 2}
\frame{}\frame{}\frame{}\frame{}
\subsection{Subsection 3}
\frame{}
\end{document}

Like this, you can wrap the mini frames into several lines by using multiple subsections, as shown in the example code.

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.