我正在使用乳胶中的投影仪文档类进行演示。我将有许多备用幻灯片供离线查看、参考等。Beamer 有一个功能,可以在每张幻灯片上以 {page#}/{total pages} 的形式显示演示的进度。如果 {total pages} 等于我的总页数(不包括备份幻灯片),我真的很高兴(我不想在第一页阻止我的观众!)。有谁知道如何做到这一点?
9 回答
现在可以在所有“备份”幻灯片上使用以下选项来实现这一点:
\begin{frame}[noframenumbering]{My Title}
\end{frame}
这将导致最终数字(例如 25/25)显示在此类页面上。
一如既往,口味问题。
这可以通过appendixnumberbeamer包来完成。只需添加\usepackage{appendixnumberbeamer}
到序言并\appendix
在第一张备用幻灯片之前使用。
我已经定义了两个命令来做到这一点:
\newcommand{\beginbackup}{
\newcounter{framenumbervorappendix}
\setcounter{framenumbervorappendix}{\value{framenumber}}
}
\newcommand{\backupend}{
\addtocounter{framenumbervorappendix}{-\value{framenumber}}
\addtocounter{framenumber}{\value{framenumbervorappendix}}
}
然后,您可以使用备份幻灯片之前和之后调整幻灯片的数量\beginbackup
。\backupend
对于我的投影仪模板,我还想添加
\setbeamertemplate{footline}{
\leavevmode%
\hbox{%
\begin{beamercolorbox}[wd=.333333\paperwidth,ht=2.25ex,dp=1ex,center]{author in head/foot}%
\usebeamerfont{author in head/foot}\insertshortauthor~~(\insertshortinstitute)
\end{beamercolorbox}%
\begin{beamercolorbox}[wd=.333333\paperwidth,ht=2.25ex,dp=1ex,center]{title in head/foot}%
\usebeamerfont{title in head/foot}\insertshorttitle
\end{beamercolorbox}%
\begin{beamercolorbox}[wd=.333333\paperwidth,ht=2.25ex,dp=1ex,right]{date in head/foot}%
\usebeamerfont{date in head/foot}\insertshortdate{}\hspace*{2em}
\insertframenumber{} \hspace*{2ex} % hier hat's sich geändert
\end{beamercolorbox}}%
\vskip0pt%
}
在\beginbackup
命令的定义中隐藏到备份幻灯片中的总页码,否则你会得到类似“24/18”的东西。
使用所有这些,您的幻灯片将在备份之前为所有幻灯片编号为“x/Y”,其中 Y 是第一张备份幻灯片之前的幻灯片总数,备份幻灯片将继续之前幻灯片的编号。
要手动将总帧数固定为某个数字,例如 25,您可以添加以下命令
\renewcommand{\inserttotalframenumber}{25}
在 \begin{document} 命令之后。
您还可以在备份幻灯片的开头添加 \appendix 命令,以便相应的部分/小节不会出现在目录/导航结构中。
应该可以调整上面的 renewcommand 以便它自动使用附录之前的最后一个帧号,但我不知道该怎么做。
只需插入
\renewcommand{\inserttotalframenumber}{\pageref{lastslide}}
在\begin{document}之后,并放置标记
\label{lastslide}
在你的最后一张幻灯片上。
您可以将所有备份幻灯片放在附录中并使用该appendixnumberbeamer
包。
\documentclass[12pt]{beamer}
\usepackage{appendixnumberbeamer}
\begin{document}
\begin{frame}{Frames that counts}
\end{frame}
\appendix
\begin{frame}{Backup slides}
\end{frame}
\end{document}
Fanfan,谢谢你的回答,你的回答引导我找到这个 sty 文件,它可以包含在一个 beamer 文档类中,它会自动计算附录之前的帧数,然后重新开始对附录幻灯片的单独计数,漂亮整洁的。
http://www.ensta.fr/~lelong/Latex/appendixnumberbeamer.sty
还要感谢 Jérôme LELONG 在线提供此功能。
伟大的命令 \insertpresentationendpage 将解决您的问题。只需将 \appendix 放在备份幻灯片的开头即可。
\documentclass[t]{beamer}
\usepackage[absolute,overlay]{textpos}
\setbeamertemplate{navigation symbols}{}
\def\insertpresentationendframe{\inserttotalframenumber}
\makeatletter
\g@addto@macro{\appendix}{\immediate\write\@auxout{\string\@writefile{nav}{\noexpand\headcommand{\noexpand\def\noexpand\insertpresentationendframe{\the\c@framenumber}}}}}
\makeatother
\setbeamertemplate{footline}{%
\begin{picture}(54,12.5)(0,0)
\put(0.9,0.52){%
\begin{minipage}[b][12.5mm][c]{112.5mm}
\raggedleft
\insertframenumber/\insertpresentationendframe
\end{minipage}
}
\end{picture}
}
\begin{document}
\begin{frame}
slide in the main part
\only<2>{blub}
\end{frame}
\appendix
\section*{Backup}
\begin{frame}
\frametitle{backup}
not counting in the total frame number
\end{frame}
\end{document}
另一种可能性 - 最近添加到 beamer - 是使用appendixframenumber
模板:
\documentclass[t]{beamer}
\setbeamertemplate{footline}{
\hfill%
\usebeamercolor[fg]{page number in head/foot}%
\usebeamerfont{page number in head/foot}%
\setbeamertemplate{page number in head/foot}[appendixframenumber]%
\usebeamertemplate*{page number in head/foot}\kern1em\vskip2pt%
}
\begin{document}
\begin{frame}
slide in the main part
\only<2>{blub}
\end{frame}
\appendix
\section*{Backup}
\begin{frame}
\frametitle{backup}
not counting in the total frame number
\end{frame}
\end{document}