我正在透過 Beamer 製作一些整合式蜜蜂幻燈片,但我在創建計時器時遇到了困難。我需要為每張投影片設定一個倒數計時器(例如 2 分 30 秒),並在計時器到時自動轉到下一張投影片(第二張投影片是第一張投影片的答案)。點擊第三張投影片(下一個問題)後,倒數計時器重設並自動開始。
我在 Overleaf 中搜尋了一些範例,但模板本身沒有在 Overleaf 中正確顯示。我找不到任何其他支援(所有計時器模板似乎都是由同一個人創建的),所以我在這裡尋求支援。
不過,大聲說出來並不是很自豪,我是 Beamer 的初學者,所以請給我留下一些程式碼。如果你能根據我的要求做一個例子那就太好了。另外,由於我使用 Overleaf 作為編譯器,有時在其他地方(例如 VS Code)工作的程式碼可能不適用於 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}