Beamer - 按字母格式编号帧

Beamer - 按字母格式编号帧

我重新定义了 beamer 中附录帧的 footline。现在附录之后的帧显示从 1 开始的帧号。以下是使用的代码:

\documentclass[•]{beamer}
\def\insertpresentationendframe{\inserttotalframenumber}
\makeatletter
\g@addto@macro{\appendix}{\immediate\write\@auxout{\string\@writefile{nav}{\noexpand\headcommand{\noexpand\def\noexpand\insertpresentationendframe{\the\c@framenumber}}}}}
\makeatother

\begin{document}
\begin{frame}
The frame before appendix\\
Frame number = 1
\end{frame}

\appendix
\setbeamertemplate{footline}{\number\numexpr\insertframenumber-\insertpresentationendframe}
\begin{frame}
First frame of appendix\\
Actual frame number=2\\
What is now printed = 1
\end{frame}
\end{document}

我的问题是,如何以字母模式打印脚注的帧编号?我尝试了这个:

\setbeamertemplate{footline}{\alph{\number\numexpr\insertframenumber-\insertpresentationendframe}} 

但代码无法编译。有人知道如何修复这个问题吗?请注意,我不想重新定义帧编号(因为这会导致我的自定义主题出现问题),而是打印不同的帧编号(即帧编号 - 演示结束帧的编号)。

提前致谢。

答案1

我希望我能正确理解你的问题。

\documentclass[¥]{beamer}
\def\insertpresentationendframe{\inserttotalframenumber}
\newcounter{fakepage}
\makeatletter
\g@addto@macro{\appendix}{\immediate\write\@auxout{\string\@writefile{nav}{\noexpand\headcommand{\noexpand\def\noexpand\insertpresentationendframe{\the\c@framenumber}}}}}
\makeatother

\begin{document}
\begin{frame}
The frame before appendix\\
Frame number = 1
\end{frame}

\appendix
\setbeamertemplate{footline}{\setcounter{fakepage}{\number\numexpr\insertframenumber-\insertpresentationendframe}
\alph{fakepage}}
\begin{frame}
First frame of appendix\\
Actual frame number=2\\
What is now printed = 1
\end{frame}
\end{document}

相关内容