Como posso fazer uma contagem regressiva no beamer?

Como posso fazer uma contagem regressiva no beamer?

Estou fazendo alguns slides de integração do Beamer, mas tenho problemas para criar um cronômetro. Preciso de um cronômetro de contagem regressiva para cada slide (digamos 2 minutos e 30 segundos) e ir automaticamente para o próximo slide quando o cronômetro acabar (o segundo slide é a resposta do primeiro slide). Depois de clicar no terceiro slide (próxima pergunta), a contagem regressiva foi reiniciada e começou automaticamente.

Procurei alguns exemplos no Overleaf, mas o modelo em si não apareceu corretamente no Overleaf. Não consigo encontrar nenhum outro suporte (todo o modelo de timer parece ter sido criado pelo mesmo cara), então estou aqui pedindo suporte.

Não é muito orgulhoso dizer isso em voz alta, sou iniciante no Beamer, então, por favor, deixe-me algum código. Seria fantástico se você desse um exemplo baseado no meu pedido. Além disso, como uso o Overleaf como meu compilador, às vezes um código que funciona em outro lugar (por exemplo, VS Code) pode não funcionar no Overleaf. Por favor, forneça-me a versão no verso, se houver alguma diferença. Obrigado ~

Responder1

Você pode criar sua própria pequena contagem regressiva usando \transdurationa macro do beamer para alternar automaticamente os slides (veja o pdf com o Adobe Reader no modo de apresentação):

\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}

insira a descrição da imagem aqui


Com quadros separados:

\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}

informação relacionada