
Estoy intentando establecer un recuento en látex del número total de páginas:
\newcount\mypagecount
\mypagecount=\insertpresentationendpage
Pero cada vez que hago esto, "imprime" automáticamente el número total de páginas en lugar de poner el número como recuento. ¿Hay alguna manera de configurarlo como recuento?
Esto es más precisamente lo que estoy tratando de hacer:
\newcount\mypagenum
\newcount\mypagecount
\newdimen\barwidth
\mypagenum=\insertpagenumber
\mypagecount=\insertpresentationendpage
\barwidth=\paperwidth
\multiply\barwidth by \mypagenum
\divide\barwidth by \mypagecount
Lo intenté con contadores, pero eso también arrojó errores:
\newcounter{mypagecount}
\setcounter{mypagecount}{\insertpresentationendpage}
¿Alguna idea de cómo puedo hacer la división al final si no puedo usar estos números y/o cómo usarlos realmente?
Respuesta1
Lo siguiente hace esencialmente lo mismo que la versión actual de \insertpresentationendpage
of beamer
, pero de tal manera que se configura el contador en lugar del resultado impreso. También incluí una salida de barra de progreso de prueba de concepto.
\documentclass[]{beamer}
\newlength\barwidth
\newlength\tmpbarwidth
\newcount\mypagecount
\makeatletter
\newcommand*\progressbar
{%
\ifnum\mypagecount=0
\ifx\beamer@startpageofappendix\@empty
\mypagecount=\beamer@endpageofdocument\relax
\else
\mypagecount=\beamer@startpageofappendix\relax
\advance\mypagecount\m@ne
\fi
\ifnum\mypagecount=0
\global\mypagecount=1
\else
\global\mypagecount=\mypagecount
\fi
\fi
\begingroup
\tmpbarwidth\insertpagenumber\barwidth
\divide\tmpbarwidth\mypagecount
\rule{\tmpbarwidth}{5pt}%
\advance\barwidth-\tmpbarwidth
\textcolor{gray}{\rule{\barwidth}{5pt}}%
\endgroup
}
\makeatother
\setlength\barwidth{5cm}
\begin{document}
\begin{frame}
\progressbar
\end{frame}
\begin{frame}
\progressbar
\end{frame}
\begin{frame}
\progressbar
\end{frame}
\begin{frame}
\progressbar
\end{frame}
\end{document}