0

How can I make Beamer only show the section overview/navigation/progress (the stuff shown on the top of every slide in for example the Warsaw theme) on specific slides? In particular, I'd like it to only appear on the slides starting new sections.

(This question seems very close to some that are already asked and answered, so I'm sorry if I overlooked something.)

1

I'm not sure I have understood the question, but have you tried something like that in the preamble ?

\AtBeginSection[] 
{%
\begin{frame} %% ToC
\tableofcontents[currentsection]
\end{frame}
}
  • Thanks, but I'm not talking about a big TOC. I'm talking about the little TOC/progress overview on the top of each slide in for example the Warsaw theme. – gspr Dec 3 '15 at 9:48
  • 1
    Ok. You can remove this small TOC with the [plain] option to the \begin{frame}[plain] \end{frame} command. – Jérôme Dequeker Dec 3 '15 at 12:21
0

This answer has some problems, but maybe someone can build upon this one, so I'll write what I've found.

The little TOC (as you call it) in Warsaw theme is defined in the outer theme shadow and, in particular, its headline template. This is defined in another theme (split) and modified, but for now we can just forget the modification and focus on the split theme version of the headline template.

In principle I toutght that it would be sufficient to set this template just before the slide where you want to show the "little TOC" and set the default one afterwards (assuming the default beamer theme, since you don't specify otherwise). I tried to do this and the result is that the headline and the frame title are superimposed (and if a background color is set for the frame title the header is covered).

To solve this problem I tried to force beamer to recompute the theight of the header (and footer) by using \beamer@calculateheadfoot. Now, the frame title is correctly shifted, but the new problem is that an empty frame is added after the current one and I don't know how to solve it.

Anyway, this is the code I've tried so far.

\documentclass{beamer}
\makeatletter
% This is to the headline template from beamerouterthemesplit.sty
\setbeamertemplate{section in head/foot}{\hfill\insertsectionhead}
\setbeamertemplate{section in head/foot shaded}{\hfill\color{fg!50!bg}\insertsectionhead}

\defbeamertemplate{headline}{split theme}
{%
  \leavevmode%
  \@tempdimb=2.4375ex%
  \ifnum\beamer@subsectionmax<\beamer@sectionmax%
        \multiply\@tempdimb by\beamer@sectionmax%
  \else%
    \multiply\@tempdimb by\beamer@subsectionmax%
  \fi%
  \ifdim\@tempdimb>0pt%
    \advance\@tempdimb by 1.825ex%
    \begin{beamercolorbox}[wd=.5\paperwidth,ht=\@tempdimb]{section in head/foot}%
      \vbox to\@tempdimb{\vfil\insertsectionnavigation{.5\paperwidth}\vfil}%
    \end{beamercolorbox}%
    \begin{beamercolorbox}[wd=.5\paperwidth,ht=\@tempdimb]{subsection in head/foot}%
      \vbox to\@tempdimb{\vfil\insertsubsectionnavigation{.5\paperwidth}\vfil}%
    \end{beamercolorbox}%
  \fi%
}

% New frame environment with the header
\newenvironment{framewithheader}{
\setbeamertemplate{headline}[split theme]%
% Without the following line the headline and frame title overlap
% but with it an empty extra frame is generated.
\beamer@calculateheadfoot%
\begin{frame}
}{
\end{frame}%
% Reset the previous template: this should be changed if a different theme is used
\setbeamertemplate{headline}[default]
}
\makeatother

\begin{document}
\section{Section Title}
\begin{frame}
  \frametitle{First frame}
  Sample text
\end{frame}

\section{Other Section}
\begin{framewithheader}
  \frametitle{Frame with header}
  Sample text
\end{framewithheader}

\begin{frame}
  \frametitle{Another frame}
  Sample text
\end{frame}
\end{document}

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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