Beamer:将帧编号添加到页脚

Beamer:将帧编号添加到页脚

使用 beamer,我想将帧编号添加到页脚。我使用的是 texlive 20200327。

这是我的代码:

\documentclass{beamer}
\usetheme{Warsaw}
\title{Beamer Example}

% https://texblog.net/latex-archive/uncat ... me-number/
\newcommand*\oldmacro{}%
\let\oldmacro\insertshorttitle%
\renewcommand*\insertshorttitle{%
\oldmacro\hfill%
\insertframenumber\,/\,\inserttotalframenumber}

\begin{document}
\begin{frame}
\titlepage
\end{frame}
\section{First section}
\begin{frame}
abc
\end{frame}
\end{document}

输出中存在一个问题: 在此处输入图片描述

底部的框架编号“1/2”未与页面右侧对齐。

请问该如何修复?

谢谢。

此致。

答案1

编辑: @samcarter在下面的论坛主题中发布了一个带有可编译示例的优秀解决方案:

\setbeamertemplate{page number in head/foot}[totalframenumber]

这就足够了,您可以删除整个\insertshorttitle重新定义。我还使用 samcarter 的修复程序更新了您提到的旧博客文章。

因此,请考虑\@gobbletwo下面的修复,这只是快速修改现有代码的某种方法。


正如我已经写的回答Beamer:在 LaTeX.org 的页脚中添加帧编号

footline主题的模板包含split以下代码:

\insertshorttitle\nobreak\hfill

由于\hfill,右侧有空白。要删除该空格并使帧编号右对齐,您可以使用\@gobbletwo忽略接下来两个命令的命令\nobreak\hfill

\makeatletter
\renewcommand*\insertshorttitle{%
  \oldmacro\hfill%
  \insertframenumber\,/\,\inserttotalframenumber\@gobbletwo}
\makeatother

不过,这只是一个快速破解方法。请参阅上面的编辑。

答案2

我重新定义了模板的脚线,以便帧数和总帧数进一步向右移动。

\documentclass{beamer}
\usetheme{Warsaw}
\title{Beamer Example}

\setbeamertemplate{footline}{%
  \leavevmode%
  \hbox{\begin{beamercolorbox}[wd=.5\paperwidth,ht=2.5ex,dp=1.125ex,leftskip=.3cm plus1fil,rightskip=.3cm]{author in head/foot}%
    \mbox{}\hfill\insertshortauthor
  \end{beamercolorbox}%
  \begin{beamercolorbox}[wd=.5\paperwidth,ht=2.5ex,dp=1.125ex,leftskip=.3cm,rightskip=.3cm plus1fil]{title in head/foot}%
    \usebeamerfont{title in head/foot}\insertshorttitle \hfill \insertframenumber\,/\,\inserttotalframenumber%
  \end{beamercolorbox}}%
  \vskip0pt%
}
  
\begin{document}
\begin{frame}
\titlepage
\end{frame}
\section{First section}
\begin{frame}
abc
\end{frame}
\end{document}

在此处输入图片描述

相关内容