如何对 Beamer 主题 Hannover 中的幻灯片进行编号?

如何对 Beamer 主题 Hannover 中的幻灯片进行编号?

我使用该包beamer outer theme split numbered为带导航的主题制作了它。但主题Hannover不同。重新定义脚注是唯一的选择,还是有其他方便的方法?

更新:解决方案如下

\useoutertheme{infolines}

或者

\setbeamertemplate{footline}{\insertframenumber/\inserttotalframenumber}

两者都可以完成工作,但不如我期望的那么优雅。它们都会破坏汉诺威的布局。最好将页码放在左栏底部,或导航行左侧。

答案1

如果您只想在页脚中显示幻灯片编号,我使用这个(我改编了 Matthews 代码):

\documentclass{beamer}
\title{Test of Hannover with slide numbers}
\usetheme{Hannover}
\setbeamertemplate{footline}[frame number]

\begin{document}
\begin{frame}
\maketitle
\end{frame}

\begin{frame}
\begin{itemize}
\item Abel
\item Baker
\item Charlie
\end{itemize}
\end{frame}

\end{document}

有关如何修改 beamer 模板的更多详细信息,您还可以查看Beamer 用户指南

答案2

我终于找到了办法。这不是一个轻松的解决方案,但看起来更好。

汉诺威与幻灯片编号

我的代码如下。也许其他人也需要它。

\documentclass{beamer}
\title[Hack Hannover]{Hannover with slide numbers}
\author[Beamer]{Beamer}
\usetheme{Hannover}
\def\swidth{1.6cm}
\setbeamersize{sidebar width left=\swidth}
\setbeamertemplate{sidebar left}
{
  {\usebeamerfont{title in sidebar}%
    \vskip1.5em%
    \usebeamercolor[fg]{title in sidebar}%
    \insertshorttitle[width=\swidth,center,respectlinebreaks]\par%
    \vskip1.25em%
  }%
  {%
    \usebeamercolor[fg]{author in sidebar}%
    \usebeamerfont{author in sidebar}%
    \insertshortauthor[width=\swidth,center,respectlinebreaks]\par%
    \vskip1.25em%
  }%
  \hbox to2cm{\hss\insertlogo\hss}
  \vskip1.25em%
  \insertverticalnavigation{\swidth}%
  \vfill
  \hbox to2cm{\hskip0.6cm\usebeamerfont{subsection in
      sidebar}\strut\usebeamercolor[fg]{subsection in
      sidebar}\inserttotalframenumber-\insertframenumber\hfill}%
  \vskip3pt%
}%

\begin{document}
\begin{frame}
\maketitle
\end{frame}

\section{Introduction}
\begin{frame}
\begin{itemize}
\item Abel
\item Baker
\item Charlie
\end{itemize}
\end{frame}

\section{Conclusions}
\begin{frame}
\begin{itemize}
\item Abel
\item Baker
\item Charlie
\end{itemize}
\end{frame}

\end{document}

答案3

您可以在完整主题上安装外部主题,如下所示:

\documentclass{beamer}
\title{Test of Hannover with slide numbers}
\usetheme{Hannover}
\useoutertheme{infolines}
\setbeamertemplate{headline}{} % removes the headline that infolines inserts

\begin{document}
\begin{frame}
\maketitle
\end{frame}

\begin{frame}
\begin{itemize}
\item Abel
\item Baker
\item Charlie
\end{itemize}
\end{frame}

\begin{frame}
\begin{itemize}
\item Abel
\item Baker
\item Charlie
\end{itemize}
\end{frame}

\end{document}

示例代码

答案4

作为一个选项,您可以修改beamerouterthemesidebar.sty以在侧边栏底部包含当前/总帧数。以下是相关差异:

--- beamerouterthemesidebar.sty  2018-02-22 02:34:07.000000000 +0300
+++ beamerouterthemesidebarnumbered.sty   2018-12-27 01:29:49.915745978 +0300
 \newdimen\beamer@sidebarwidth
 \newdimen\beamer@headheight
 \usebeamerfont{frametitle}
@@ -151,6 +140,16 @@
     }%
     \insertverticalnavigation{\beamer@sidebarwidth}%
     \vfill
+    {\usebeamerfont{footline}%
+      \hskip3pt%
+      \usebeamercolor[fg]{footline}%
+      \begin{minipage}[c]{\beamer@tempdim}
+        \begin{center}
+          \insertframenumber{} / \inserttotalframenumber \par
+        \end{center}
+      \end{minipage}
+      \vskip0.75em%
+    }
     \ifx\beamer@sidebarside\beamer@lefttext%
     \else%
       \usebeamercolor{normal text}%

带有页码的外部主题侧边栏

相关内容