我重新定义了 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}