![Código](https://rvso.com/image/305774/C%C3%B3digo.png)
Estoy haciendo una presentación usando beamer y es bastante larga. Es dividendo por secciones y al final de cada sección haré un descanso. En consecuencia, me gustaría tener un contador doble de la diapositiva actual. Por ejemplo: Supongamos que actualmente estoy en la tercera diapositiva de la sección 2 (hecha de 20 diapositivas) y la sección 1 está hecha de 50 diapositivas, el primer contador será 3/20 mientras que el segundo 53/70 (si solo hay dos secciones). ).
Este es mi entorno de trabajo:
\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}
¿Alguna ayuda?
Respuesta1
No se necesitan nuevos contadores, sólo un poco de cálculo. Beamer almacena los números de página donde comienza y termina una sección en macros \insertsectionstartpage
y archivos \insertsectionendpage
. Por tanto, el número de páginas de una sección se puede calcular mediante
\insertsectionendpage-\insertsectionstartpage+1
El número de página dentro de una sección es
\insertframenumber-\insertsectionstartpage+1
donde \insertframenumber
almacena el número de página del marco actual.
Parchee estos usando \patchcmd
del paquete etoolbox
al comando Beamer que inserta la línea de pie \beamer@@tmpl@footline
, y tendrá un contador de páginas de sección a la izquierda y un contador de páginas general a la derecha en la línea de pie.
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}