Ich nutze einen Fortschrittsbalken in Beamer. Bis Folienanzahl 89 funktioniert alles tadellos, ab Folienanzahl 90 kommt die Fehlermeldung.

! Arithmetic overflow. \progressbar@progressbar ...progressbar@tmpcounta \divide \progressbar@tmpdi... l.45 \end{frame}}

\documentclass{beamer}
\usepackage{tikz}
\definecolor{pbbg}{RGB}{0,122,59}% filling color for the progress bar
\definecolor{pbfill}{RGB}{0,122,59}% background color for the progress bar
\makeatletter
\def\progressbar@progressbar{} % the progress bar
\newcount\progressbar@tmpcounta% auxiliary counter
\newcount\progressbar@tmpcountb% auxiliary counter
\newdimen\progressbar@pbht %progressbar height
\newdimen\progressbar@pbwd %progressbar width
\newdimen\progressbar@tmpdim % auxiliary dimension
\progressbar@pbwd=\paperwidth
\progressbar@pbht=0.5ex
% the progress bar
\def\progressbar@progressbar{%
    \progressbar@tmpcounta= \insertframenumber % max = ?
    \progressbar@tmpcountb=\inserttotalframenumber      
    \progressbar@tmpdim=.5\progressbar@pbwd
    \multiply\progressbar@tmpdim by \progressbar@tmpcounta
    \divide\progressbar@tmpdim by \progressbar@tmpcountb
    \progressbar@tmpdim=2\progressbar@tmpdim
  \begin{tikzpicture}[rounded corners=1.5pt,very thin]
  \shade[top color=pbbg!20,bottom color=pbbg!20,middle color=pbbg!50]
       (0pt, 0pt) rectangle ++ (\progressbar@pbwd, \progressbar@pbht);

       \shade[draw=pbfill,top color=pbfill!50,bottom color=pbfill!50,middle color=pbfill] %
         (0pt, 0pt) rectangle ++ (\progressbar@tmpdim, \progressbar@pbht);
    \draw[color=normal text.fg!50]
      (0pt, 0pt) rectangle (\progressbar@pbwd, \progressbar@pbht)
        node[pos=0.5,color=normal text.fg] {\textnormal{%
        }%
    };
  \end{tikzpicture}%
}
\addtobeamertemplate{footline}
{%
  \begin{beamercolorbox}[wd=\paperwidth,ht=2.0ex,center,dp=0ex]{white}%
    \progressbar@progressbar%
  \end{beamercolorbox}%
}
\makeatother   
\begin{document}
\foreach \x in {1,2,...,90} {\begin{frame}[label=test]{My frame}
    Test \x
\end{frame}}
\end{document}

gefragt 18 Jul, 14:53

Tischa's gravatar image

Tischa
1.2k1493110
Akzeptiert-Rate: 8%

Damit, dass es bis 89 funktioniert, meinst du doch die \foreach-schleife, richtig? Ich bekomme da schon ein "Dimension too large" mit \foreach \x in {1,2,...,45}. Ich denke, dass kommt davon, weil beim multiplizieren von der halben papierbreite mit der foliennummer eine zu große länge rauskommt. Ich habe irgendwo gelesen, dass das latex nur ungefähr 2m kann.

Außerdem gibt es aber ganz viele "pdfTeX warning (ext4): destination with the same identifier (name{test<1>}) has been already used, duplicate ignored \relax". Also stimmt noch mehr nicht.

(Gestern) huibub
Das erste sein, diese Frage zu beantworten!
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×127
×1
×1

gestellte Frage: 18 Jul, 14:53

Frage wurde gesehen: 90 Mal

zuletzt geändert: Gestern