Use o número total de páginas no beamer como contador

Use o número total de páginas no beamer como contador

Estou tentando definir uma contagem em látex do número total de páginas:

\newcount\mypagecount
\mypagecount=\insertpresentationendpage

Mas sempre que faço isso, ele "imprime" automaticamente o número total de páginas em vez de colocar o número como uma contagem. Existe uma maneira de defini-lo como uma contagem?

Aqui está mais precisamente o que estou tentando fazer:

\newcount\mypagenum
\newcount\mypagecount
\newdimen\barwidth

\mypagenum=\insertpagenumber
\mypagecount=\insertpresentationendpage
\barwidth=\paperwidth

\multiply\barwidth by \mypagenum                                       
\divide\barwidth by \mypagecount

Tentei com contadores, mas também gerou erros:

\newcounter{mypagecount}
\setcounter{mypagecount}{\insertpresentationendpage}

Alguma idéia de como posso fazer a divisão no final se não posso usar esses números e/ou como realmente usar esses números?

Responder1

O seguinte faz essencialmente o mesmo que a versão atual de \insertpresentationendpageof beamer, mas de uma forma que seu contador seja definido em vez do resultado impresso. Também incluí uma prova de conceito da barra de progresso.

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

informação relacionada