1

I use the Singapore theme in my beamer presentation, I want to remove the bullet of the inactive sections as in the next picture.

enter image description here

Here is minimal code

\documentclass{beamer}
\usetheme[compress]{Singapore}
\begin{document}
\section{section 1}
\begin{frame}
   test
\end{frame}
\subsection{Test subsection}
\begin{frame}
   test
\end{frame}
\subsection{Test subsection}
\begin{frame}
   test
\end{frame}
\subsection{Test subsection}
\begin{frame}
   test
\end{frame}
\section{section 2}
\begin{frame}
  test
\end{frame}
\subsection{Test subsection}
\begin{frame}
  test
\end{frame}
\subsection{Test subsection}
\begin{frame}
  test
\end{frame}
\subsection{Test subsection}
\begin{frame}
 test
\end{frame}
\subsection{Test subsection}
\begin{frame}
  test
\end{frame}
\subsection{Test subsection}
\begin{frame}
  test
\end{frame}
\section{section 3}
\begin{frame}
  test
\end{frame}
\subsection{Test subsection}
\begin{frame}
  test
\end{frame}
\subsection{Test subsection}
\begin{frame}
  test
\end{frame}
\begin{frame}
   test
\end{frame}
\subsection{Test subsection}
\begin{frame}
   test
\end{frame}
\subsection{Test subsection}
\begin{frame}
  test
\end{frame}
\end{document}

1 Answer 1

1

To find where the Singapore theme defines its headline, open beamerthemeSingapore.sty and find what outer theme is loaded. You will see the line \useoutertheme[subsection=false]{miniframes} and hence it is beamerouterthememiniframes.sty. In there we need to find the headline template, it is defined below:

\defbeamertemplate*{headline}{miniframes theme}

As Singapore sets [subsection=false], we don't need the \ifbeamer part. We can leave the other parts, what is important is \insertnavigation{\paperwidth} which prints the navigation part. However what you want there is \insertsectionnavigationhorizontal{\paperwidth}{}{} because this prints only sections horizontally. Altogether this results in:

\documentclass{beamer}
\useoutertheme{infolines}
\usetheme[compress]{Singapore}

\defbeamertemplate*{headline}{miniframes theme sections only}
{%
    \begin{beamercolorbox}[colsep=1.5pt]{upper separation line head}
    \end{beamercolorbox}
    \begin{beamercolorbox}{section in head/foot}
        \vskip2pt\insertsectionnavigationhorizontal{\paperwidth}{}{}\vskip2pt
    \end{beamercolorbox}%
    \begin{beamercolorbox}[colsep=1.5pt]{lower separation line head}
    \end{beamercolorbox}
}

\begin{document}
\section{section 1}
\begin{frame}
   test
\end{frame}
\subsection{Test subsection}
\begin{frame}
   test
\end{frame}
\subsection{Test subsection}
\begin{frame}
   test
\end{frame}
\subsection{Test subsection}
\begin{frame}
   test
\end{frame}
\section{section 2}
\begin{frame}
  test
\end{frame}
\subsection{Test subsection}
\begin{frame}
  test
\end{frame}
\subsection{Test subsection}
\begin{frame}
  test
\end{frame}
\subsection{Test subsection}
\begin{frame}
 test
\end{frame}
\subsection{Test subsection}
\begin{frame}
  test
\end{frame}
\subsection{Test subsection}
\begin{frame}
  test
\end{frame}
\section{section 3}
\begin{frame}
  test
\end{frame}
\subsection{Test subsection}
\begin{frame}
  test
\end{frame}
\subsection{Test subsection}
\begin{frame}
  test
\end{frame}
\begin{frame}
   test
\end{frame}
\subsection{Test subsection}
\begin{frame}
   test
\end{frame}
\subsection{Test subsection}
\begin{frame}
  test
\end{frame}
\end{document}

And visually it becomes:

enter image description here

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .