4

I wish to remove the bullet corresponding to the last slide of my presentation from the top navigation bar, like this:

What I want

To that end, I've attempted to use an empty section \section{} as recommended in this thread.

MCVE

\documentclass[handout]{beamer}
\usetheme[compress]{Singapore}

\begin{document}

    \begin{frame}[plain]
        \titlepage
    \end{frame}

    \begin{frame}{Introduction}
    \end{frame}

    \section{Section 1}
    \begin{frame}{Slide 1a}    
    \end{frame}
    \begin{frame}{Slide 1b}    
    \end{frame}

    \section{Section 2}
    \begin{frame}{Slide 2a}    
    \end{frame}
    \begin{frame}{Slide 2b}    
    \end{frame}

    \section{}
    \begin{frame}{Recapitulation}
    \end{frame}

\end{document}

But the unwanted bullet is still there:

What I get

How could I get around this?

3

Edit: The header would still be "focused" on the "section 2" text. To prevent this, I added \section*{} right after \bulletoff.

The "bullet system" is called miniframes, and are generated via a .nav file. The command responsible for writing to that file is the \beamer@writeslidentry. We can make this do nothing for a temporary amount of time:

\makeatletter
% Remember the way beamer did it before
\let\beamer@old@writeslidentry\beamer@writeslidentry
% Tell it to do nothing with the slides entry
\newcommand\bulletoff{\let\beamer@writeslidentry\relax}
% Reset it to the old ways
\newcommand\bulleton{\let\beamer@writeslidentry\beamer@old@writeslidentry}
\makeatother

Your entire code becomes then

\documentclass[handout]{beamer}
\usetheme[compress]{Singapore}
\begin{document}
    \makeatletter
    % Remember the way beamer did it before
    \let\beamer@old@writeslidentry\beamer@writeslidentry
    % Tell it to do nothing with the slides entry
    \newcommand\bulletoff{\let\beamer@writeslidentry\relax}
    % Reset it to the old ways
    \newcommand\bulleton{\let\beamer@writeslidentry\beamer@old@writeslidentry}
  \makeatother
    \begin{frame}[plain]
        \titlepage
    \end{frame}

    \begin{frame}{Introduction}
    \end{frame}

    \section{Section 1}
     \begin{frame}{Slide 1a}
     \end{frame}
     \begin{frame}{Slide 1b}
     \end{frame}

    \section{Section 2}
     \begin{frame}{Slide 2a}
     \end{frame}
     \begin{frame}{Slide 2b}
     \end{frame}

     \bulletoff\section*{}
     \begin{frame}{Recapitulation}
      No bullet here :)
     \end{frame}
\end{document}

This produces exactly the image you presented:

enter image description here


Note that if you use the \bulleton command, it will behave differently if you do \clearpage prior to it. If you don't do \clearpage the bullet will be filled.

| improve this answer | |

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.