如何在 beamer 中自定义新加坡主题标题中的导航栏?

如何在 beamer 中自定义新加坡主题标题中的导航栏?

我在我的 Beamer 演示文稿中使用新加坡主题,我想删除非活动部分的项目符号,如下图所示。

在此处输入图片描述

这是最少的代码

\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

要找到新加坡主题定义其标题的位置,请打开beamerthemeSingapore.sty并找到outer加载的主题。您将看到行\useoutertheme[subsection=false]{miniframes},因此它是beamerouterthememiniframes.sty。在那里我们需要找到headline模板,它定义如下:

\defbeamertemplate*{headline}{miniframes theme}

作为Singapore集合[subsection=false],我们不需要该\ifbeamer部分。我们可以保留其他部分,重要的是\insertnavigation{\paperwidth}打印导航部分。但是你想要的是,\insertsectionnavigationhorizontal{\paperwidth}{}{}因为这只会水平打印部分。总的来说,这导致:

\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}

从视觉上看,它变成了:

在此处输入图片描述

相关内容