Estou fazendo uma apresentação usando o beamer e é bem longa. É dividendo em seções e no final de cada seção farei uma pausa. Consequentemente, eu gostaria de ter um contador duplo do slide atual. Por exemplo: Suponha que eu esteja atualmente no 3º slide da seção 2 (composto por 20 slides) e a seção 1 seja composta por 50 slides, o primeiro contador será 3/20 enquanto o segundo 53/70 (se houver apenas duas seções ).
Este é o meu ambiente de trabalho:
\documentclass[t,10pt,xcolor=dvipsnames]{beamer}
\mode<presentation>
{
\usetheme{AnnArbor}
\setbeamercovered{transparent}
\useinnertheme{rounded}
\usecolortheme{spruce}
}
\setbeamercolor{section in head/foot}{fg=White}
\section{Sec1}
\subsection{Sub 1}
\begin{frame}{Fra 1}
\end{frame}
\begin{frame}{Fra 2}
\end{frame}
\begin{frame}{Fra 3}
\end{frame}
\section{Sec2}
\subsection{Sub 1}
\begin{frame}{Fra 1}
\end{frame}
\begin{frame}{Fra 2}
\end{frame}
\end{document}
Qualquer ajuda?
Responder1
Não são necessários novos contadores, apenas um pouco de cálculo. O Beamer armazena os números das páginas onde uma seção começa e termina em macros \insertsectionstartpage
e arquivos \insertsectionendpage
. Assim, o número de páginas em uma seção pode ser calculado por
\insertsectionendpage-\insertsectionstartpage+1
O número da página dentro de uma seção é
\insertframenumber-\insertsectionstartpage+1
onde \insertframenumber
armazena o número da página do quadro atual.
Corrija-os usando \patchcmd
from package etoolbox
para o comando Beamer que insere o rodapé \beamer@@tmpl@footline
e você terá o contador de páginas da seção à esquerda e o contador de páginas geral à direita no rodapé.
Código
\documentclass[t,10pt,xcolor=dvipsnames]{beamer}
\usepackage{etoolbox}
\mode<presentation>
{
\usetheme{AnnArbor}
\setbeamercovered{transparent}
\useinnertheme{rounded}
\usecolortheme{spruce}
}
\setbeamercolor{section in head/foot}{fg=White}
\makeatletter
% change author box alignment
\patchcmd{\beamer@@tmpl@footline}% <cmd>
{center}% <search>
{left}% <replace>
{}% <success>
{}% <failure>
% add page to author box
\patchcmd{\beamer@@tmpl@footline}% <cmd>
{\usebeamerfont{author in head/foot}\insertshortauthor\expandafter\beamer@ifempty\expandafter{\beamer@shortinstitute}{}{~~(\insertshortinstitute)}}% <search>
{\def\sectotpage{\number\numexpr\insertsectionendpage-\insertsectionstartpage+1}%
\def\pageinsec{\number\numexpr\insertframenumber-\insertsectionstartpage+1}%
\rlap{\hspace*{2ex}\pageinsec{} / \sectotpage} \hfill
\usebeamerfont{author in head/foot}\insertshortauthor\expandafter\beamer@ifempty\expandafter{\beamer@shortinstitute}{}{~~(\insertshortinstitute)}}% <replace>
{}% <success>
{}% <failure>
\makeatother
\author{Author}
\begin{document}
\newcommand\nf{\frame{Frame in Section~\thesection.}}
\section{Sec 1}
\nf\nf\nf\nf\nf
\section{Sec 2}
\nf\nf\nf\nf\nf\nf
\section{Sec 3}
\nf\nf\nf\nf\nf\nf\nf
\end{document}