发送信号通知 Beamer 帧中的最后一个覆盖层

发送信号通知 Beamer 帧中的最后一个覆盖层

使用 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在每一帧的末尾手动插入。我尝试过自动执行此操作,但我真的不知道从哪里开始 - 这可能可以改进。

相关内容