Beamer - 如何添加子帧编号?

Beamer - 如何添加子帧编号?

我有以下用于计算页数的代码:

\setbeamertemplate{navigation symbols}{
    \usebeamercolor[fg]{title}
    \hspace{1em}
    \large\insertframenumber/\inserttotalframenumber
}

已添加到序言中。

我想知道我是否可以添加一些内容,以便当我循环单个帧时它也计算在内,例如我希望显示以下内容:

所有帧均为 1a/1 、 1b/1 、 1c/1 ,而不是 1/1 。

\documentclass[demo]{beamer}

\setbeamertemplate{navigation symbols}{
    \usebeamercolor[fg]{title}
    \hspace{1em}
    \large\insertframenumber/\inserttotalframenumber
}

\begin{document}

    \begin{frame}{Title}
        \begin{itemize}
            \item<1-> stuff
            \item<2-> stuff
            \item<3-> stuff
        \end{itemize}
    \end{frame}

\end{document}

答案1

有一种可能性是:

\documentclass[demo]{beamer}
\usepackage{tikz}

\makeatletter
\def\c@slideinframe{\beamer@slideinframe}
\def\beamerslideinframe{\beamer@slideinframe}
\makeatother

\addtobeamertemplate{frametitle}{}{%
\begin{tikzpicture}[remember picture,overlay]
  \node[inner sep=0pt,font=\large,anchor=south east] 
    at ([xshift=-0.5em]current page.south east)       
    {\insertframenumber-(\alph{slideinframe})/\inserttotalframenumber};%
\end{tikzpicture}
}
\setbeamertemplate{navigation symbols}{}

\begin{document}

    \begin{frame}{Title}
    \frametitle{Slide \arabic{slideinframe}}
        \begin{itemize}
            \item<1-> stuff
            \item<2-> stuff
            \item<3-> stuff
        \end{itemize}
    \end{frame}

\end{document}

结果:

在此处输入图片描述

必须仔细选择添加幻灯片编号信息的模板;在一些“后期”模板(例如navigation symbols)中footline,幻灯片编号的值会受到覆盖规范的影响,因此我不得不使用“早期”模板(例如),frametitle并使用 TikZ 将数字放在所需的位置。

该代码需要运行两到三次才能稳定下来。

相关内容