使用 only<.>{stuff}
在投影仪框架的末尾,可以将其放置stuff
在投影仪框架中的最后一个覆盖层。
现在,我想在到达最后一个覆盖时稍微改变一下页脚,例如在页码旁边放一个星号,或者将其变成红色。
通过合理的努力可以实现这一点吗?
答案1
根据‘合理’的定义,这是可以做到的。
一个选项是设置一个自定义的脚注线,其中包含颜色和附加文本命令,并在\only<.>
命令中设置这些命令的定义。在新的框架开始时,您可以将它们设置回原始值。问题没有说明使用哪个主题,所以我举了一个标准示例 - 您可能需要调整模板footline
以匹配您的演示文稿。
梅威瑟:
\documentclass[10pt,xcolor=dvipsnames]{beamer}
\usepackage{etoolbox}
\setbeamertemplate{navigation symbols}{}
\setbeamertemplate{footline}
{
\leavevmode%
\hbox{%
\begin{beamercolorbox}[wd=.4\paperwidth,ht=2.25ex,dp=1ex,center]{author in head/foot}%
\usebeamerfont{author in head/foot}\insertshortauthor
\end{beamercolorbox}%
\begin{beamercolorbox}[wd=.6\paperwidth,ht=2.25ex,dp=1ex,center]{title in head/foot}%
\usebeamerfont{title in head/foot}\insertshorttitle\hspace*{3em}%
% modification of the footline using \mycolor and \mysymbol here
\hfill \color{\mycolor}\mysymbol\insertframenumber{} / \inserttotalframenumber\hspace*{1ex}
\end{beamercolorbox}}%
\vskip0pt%
}
\setbeamerfont{footline}{size=\normalsize}
\author{John Doe}
\title{My presentation}
\def\mycolor{blue}
\def\mysymbol{\relax}
\BeforeBeginEnvironment{frame}{\gdef\mycolor{blue}\gdef\mysymbol{\relax}}
\def\setlast{\only<.>{\gdef\mycolor{red}\gdef\mysymbol{*}}}
\begin{document}
\begin{frame}
\begin{itemize}
\item<+-> one
\item<+-> two
\item<+-> three
\end{itemize}
\setlast
\end{frame}
\setbeamercolor{page number in head/foot}{fg=red}
\begin{frame}
\begin{itemize}
\item<+-> one one
\item<+-> two two
\item<+-> three three
\end{itemize}
\setlast
\end{frame}
\end{document}
\end{document}
结果:
请注意,您必须\setlast
在每一帧的末尾手动插入。我尝试过自动执行此操作,但我真的不知道从哪里开始 - 这可能可以改进。