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

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

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.