Использовать общее количество страниц в проекторе в качестве счетчика

Использовать общее количество страниц в проекторе в качестве счетчика

Я пытаюсь установить счетчик в Latex для общего количества страниц:

\newcount\mypagecount
\mypagecount=\insertpresentationendpage

Но всякий раз, когда я это делаю, он автоматически "печатает" общее количество страниц вместо того, чтобы выставить число как счетчик. Есть ли способ установить его как счетчик?

Вот более конкретно то, что я пытаюсь сделать:

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

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

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

Я пробовал со счетчиками, но это тоже выдало ошибки:

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

Есть идеи, как мне выполнить деление в конце, если я не могу использовать эти числа и/или как вообще использовать эти числа?

решение1

Следующий код делает по сути то же самое, что и текущая версия of \insertpresentationendpage, beamerно таким образом, что ваш счетчик устанавливается вместо вывода результата. Я также включил вывод строки прогресса для проверки концепции.

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

Связанный контент