我想要的

我想要的

我使用的是 Beamer 主题(新加坡),该主题使用 Miniframes 作为标题。此标题将包含部分名称,但不包含其编号。

我想要的

我想在章节名称旁边包含章节编号。

它看起来像这样:

First section    Second section    Another section
o o o o          o o o o           o o o   

我希望它看起来像这样:

1 First section    2 Second section    3 Another section
o o o o            o o o o             o o o   

我尝试过

我尝试查看它是如何完成的(在beamerouterthememiniframes.sty),这似乎是在 Miniframes 中定义标题的方式:

\defbeamertemplate*{headline}{miniframes theme}
{%
  \begin{beamercolorbox}[colsep=1.5pt]{upper separation line head}
  \end{beamercolorbox}
  \begin{beamercolorbox}{section in head/foot}
    \vskip2pt\insertnavigation{\paperwidth}\vskip2pt
  \end{beamercolorbox}%
  \ifbeamer@theme@subsection%
    \begin{beamercolorbox}[colsep=1.5pt]{middle separation line head}
    \end{beamercolorbox}
    \begin{beamercolorbox}[ht=2.5ex,dp=1.125ex,%
      leftskip=.3cm,rightskip=.3cm plus1fil]{subsection in head/foot}
      \usebeamerfont{subsection in head/foot}\insertsubsectionhead
    \end{beamercolorbox}%
  \fi%
  \begin{beamercolorbox}[colsep=1.5pt]{lower separation line head}
  \end{beamercolorbox}
}

如果我理解正确的话,这个\insertnavigation标签的作用是打印部分名称。我被困在这里,因为我不能直接添加部分编号(\thesection我认为)。

问题

如何在章节名称中包含章节编号?

答案1

您可以重新定义\sectionentry以包含数字:

\documentclass{beamer}

\usetheme{Singapore}

\makeatletter
\def\sectionentry#1#2#3#4#5{% section number, section title, page
  \beamer@xpos=0\relax%
  \beamer@ypos=1\relax%
  \beamer@ypos@offset=0\relax%
  \ifnum#5=\c@part%
  \beamer@section@set@min@width%
  \box\beamer@sectionbox\hskip1.875ex plus 1fill%
  \setbox\beamer@sectionbox=
  \hbox{\def\insertsectionhead{#1~#2}%
    \def\insertsectionheadnumber{#1}%
    \def\insertpartheadnumber{#5}%
    {%
      \usebeamerfont{section in head/foot}\usebeamercolor[fg]{section in head/foot}%
      \ifnum\c@section=#1%
        \hyperlink{Navigation#3}{{\usebeamertemplate{section in head/foot}}}%
      \else%
        \hyperlink{Navigation#3}{{\usebeamertemplate{section in head/foot shaded}}}%
      \fi}%
  }%
  \ht\beamer@sectionbox=1.875ex%
  \dp\beamer@sectionbox=0.75ex%
  \fi\ignorespaces}
\makeatother

\begin{document}

\section{title}
\begin{frame}
    abc
\end{frame} 

\section{title}
\begin{frame}
content...
\end{frame}
    
\end{document}

在此处输入图片描述

相关内容