Skip to content

WIP: Progress Bar: New Features

As tracked in issue #7, this implements a set of new features to extend the progress bar functionality.

The interface to the revamped progress bar is a set of PGF Keys in the progress bar family (inside of /beamerfzj for usage via \fzjset{}). Not ported to PGF Keys is the configuration of visibility of the progress bar and the configuration of the colors of the progress bar, because these two are using Beamer functionality (i.e. \setbeamertemplate{} and cousins).1

The tutorial is updated with a very short frame on the Progress Bar, and extended by a dedicated, feature show-off in the new tutorial/progressbar.tex file (with comments). Please note that for my other open merge requests, merging this current request last would probably enable fast-forward merges. I guess, at least; they are not connected at all.

Feature overview (given value to a key is always the current default):

  • \fzjset{progress bar/height=0.4pt}: Change the height of the progress bar. I kept the default of 0.4pt as before, but for my taste that is very thin.
  • \fzjset{progress bar/count overlays=false}: Per default, frames are counted. I like to count overlays, though, so this changes that. (In Beamer terminology the switch changes to count pages.)
  • \fzjset{progress bar/count titlepage=false}: Per default, the title page is not counted but skipped. I find it ugly to have a progress bar on the title page, but others might see that differently.
  • \fzjset{progress bar/count appendix=false}: One might want the progress bar to go to the very end of the slide deck, i.e. past the appendix. This switch can enable it.
  • \fzjset{progress bar/invert appendix=false}: Finally something new. If count appendix is set to false (and also count overlays=true), this will shrink the progress bar within the appendix from full width back to 0. Cute, right?
  • \fzjset{progress bar/show in handout=false} and \fzjset{progress bar/show in trans=false}: The old template disabled progress bars on handouts and transparents. These two keys make it easy to enable them for handout and transparents, while keeping the old default.

Behind the scenes, all the keys are binary operations (except for two, they are proper PGF Key .is ifs), which are resolved in the progress bar footer Beamer template. For the new calculations, I needed to go over to \pgfmathsetlength{}{} to allow for more complex arithmtics. I haven't found a performance regression because of this, though. The new macros needed are all within the pseudo-namespace of fzj@progressbar@*, to sort that a little clearly.

Some cases are not yet implemented, but they are either logically not possible or hard to implement. If someone needs a missing implementation, I'd fix that through the usual issue-fix-cycle. Best use the #7 issue.

  1. I could be convinced to expose the leftover Beamer functionality to PGF Keys as well; pro: one interface, con: hiding the flexibility of beamer templates users are used to behind potentially new pgfkeys syntax.

Merge request reports