我怎样才能在 Beamer 中制作倒计时器?

我怎样才能在 Beamer 中制作倒计时器?

我正在制作 Beamer 的一些积分蜜蜂幻灯片,但我无法创建计时器。我需要为每张幻灯片设置一个倒计时器(例如 2 分 30 秒),并在计时器到时自动转到下一张幻灯片(第二张幻灯片是第一张幻灯片的答案)。在我单击第三张幻灯片(下一个问题)后,倒计时器重置并自动开始。

我在 Overleaf 中搜索了一些示例,但模板本身在 Overleaf 中无法正确显示。我找不到任何其他支持(所有计时器模板似乎都是由同一个人创建的),所以我来这里寻求支持。

不过,说出来并不光彩,我是 Beamer 的初学者,所以请给我留一些代码。如果你能根据我的要求做一个示例就太好了。另外,由于我使用 Overleaf 作为编译器,有时在其他地方(比如 VS Code)能用的代码可能不适用于 Overleaf。如果有任何差异,请给我 Overleaf 版本。谢谢~

答案1

您可以使用 beamer 的宏来创建自己的小倒计时\transduration以自动切换幻灯片(在演示模式下使用 adobe reader 查看 pdf):

\documentclass{beamer}

\usepackage{pgffor}
\makeatletter
\newcommand{\countdown}[1]{
  \transduration<1-#1>{1}
  \foreach \macro in {#1,...,1}{\only<+>{\pgfmathparse{int((\macro-mod(\macro,60))/60)}\pgfmathresult:\pgfmathparse{int(mod(\macro,60))}\two@digits{\pgfmathresult}}}
}
\makeatother

\begin{document}

\begin{frame}
  Problem 
  
  \countdown{150}
  
  \only<+->{Solution}
\end{frame}

\end{document}

在此处输入图片描述


使用单独的框架:

\documentclass{beamer}

\usepackage{pgffor}
\makeatletter
\newcommand{\countdown}[1]{
  \begin{frame}
  \transduration<1->{1}
  \foreach \macro in {#1,...,1}{\only<+>{\pgfmathparse{int((\macro-mod(\macro,60))/60)}\pgfmathresult:\pgfmathparse{int(mod(\macro,60))}\two@digits{\pgfmathresult}}}
  \end{frame}
}
\makeatother

\begin{document}

\begin{frame}
\transduration<1->{1}
  Problem 
\end{frame}
\countdown{150}

\begin{frame}
  Solution
\end{frame}

\end{document}

相关内容