我正在制作 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}