\ProvidesPackage{beamerouterthemeprogressbar}[2007/06/21] % Beamer theme by Sylvain Bouveret % jun. 2007 version 0.32 % % based on the LaTeX-Beamer package : % Copyright 2003 by Till Tantau % % This program can be redistributed and/or modified under the terms % of the GNU Public License, version 2. \RequirePackage{tikz} \makeatletter %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % Some color definitions... % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \setbeamercolor{progressbar primary}{parent=palette primary} \setbeamercolor{progressbar secondary}{parent=palette secondary} \setbeamercolor{progressbar tertiary}{parent=palette tertiary} \setbeamercolor{progressbar quaternary}{parent=palette quaternary} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % Some computations dedicated to the progressbar... % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \newdimen\progressbar@currentbarlength \newdimen\progressbar@framenumberrectangle \newdimen\progressbar@titlerectangle \newdimen\progressbar@leftbar \newcount\progressbar@tmpresult \newcount\progressbar@numer \newcount\progressbar@denom \newcount\progressbar@barlength \progressbar@framenumberrectangle=\paperwidth \progressbar@titlerectangle=\paperwidth \advance\progressbar@framenumberrectangle by -0.9cm \advance\progressbar@titlerectangle by -1.1cm \progressbar@barlength=115 % (in millimeters) \progressbar@leftbar=\progressbar@titlerectangle \advance\progressbar@leftbar by -\progressbar@barlength mm \def\insertprogressbar{ \ifnum\inserttotalframenumber=1\else \progressbar@numer=\insertframenumber \advance\progressbar@numer by -1 \progressbar@denom=\inserttotalframenumber \advance\progressbar@denom by -1 \progressbar@tmpresult=\progressbar@barlength \multiply\progressbar@tmpresult by \progressbar@numer \divide\progressbar@tmpresult by \progressbar@denom \progressbar@currentbarlength=\progressbar@tmpresult mm \begin{tikzpicture} \shade[top color=bg, bottom color=bg!80!fg] (0, 0) rectangle (\paperwidth, 0.6cm); \shade[left color=bg,right color=bg!70!fg] (.5\paperwidth, 0.2cm) rectangle (\paperwidth, 0.22cm); \draw (\progressbar@framenumberrectangle, 0.21cm) node [anchor=mid west, draw=bg!70!fg, fill=bg] {\color{structure.fg!70!bg}\insertframenumber~/~\inserttotalframenumber}; \draw (\progressbar@titlerectangle, 0.32cm) node [anchor=south east] {\color{bg!70!fg}\inserttitle}; \fill (\progressbar@leftbar, 0.12cm) [fill=bg, rounded corners=0.1cm] rectangle (\progressbar@titlerectangle, 0.3cm); \ifnum\insertframenumber=1\else \shade[left color=progressbar primary.fg!10!bg, right color=progressbar primary.fg!20!bg, rounded corners=0.1cm] (\progressbar@leftbar, 0.12cm) rectangle ++(\progressbar@currentbarlength, 0.2cm); \fi \draw (\progressbar@leftbar, 0.11cm) [draw=bg!70!fg, rounded corners=0.1cm] rectangle ++(\progressbar@barlength mm, 0.2cm); \end{tikzpicture} \fi } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % Definition of the customized templates... % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \mode \newlength\progressbar@sectionboxwidth \newlength\progressbar@sectionboxheight \newbox\progressbar@sectionbox \newbox\progressbar@sectionboxbox \usesectionheadtemplate {\hfill \setbox\progressbar@sectionbox=\hbox{\insertsectionhead}% \progressbar@sectionboxwidth=\wd\progressbar@sectionbox \advance\progressbar@sectionboxwidth by 4pt \setbox\progressbar@sectionbox=\hbox{\pgfinterruptpicture t \endpgfinterruptpicture}% \progressbar@sectionboxheight=\ht\progressbar@sectionbox \advance\progressbar@sectionboxheight by 4pt \begin{tikzpicture} \useasboundingbox (-0.5\progressbar@sectionboxwidth, 0pt) rectangle (0.5\progressbar@sectionboxwidth, \progressbar@sectionboxheight); \draw[anchor=base] (0pt, 2pt) node {\color{structure.fg!80!bg} \insertsectionhead}; \draw[rounded corners=3pt, draw=structure.fg!80!bg] (-0.5\progressbar@sectionboxwidth, 0pt) rectangle (0.5\progressbar@sectionboxwidth, \progressbar@sectionboxheight); \end{tikzpicture} } {\hfill \setbox\progressbar@sectionbox=\hbox{\pgfinterruptpicture\insertsectionhead\endpgfinterruptpicture}% \progressbar@sectionboxwidth=\wd\progressbar@sectionbox \advance\progressbar@sectionboxwidth by 4pt \setbox\progressbar@sectionboxbox=\hbox{\pgfinterruptpicture t \endpgfinterruptpicture}% \progressbar@sectionboxheight=\ht\progressbar@sectionboxbox \advance\progressbar@sectionboxheight by 4pt \begin{tikzpicture} \useasboundingbox (-0.5\progressbar@sectionboxwidth, 0pt) rectangle (0.5\progressbar@sectionboxwidth, \progressbar@sectionboxheight); \draw[anchor=base] (0pt, 2pt) node {\color{structure.fg!50!bg} \insertsectionhead}; \end{tikzpicture} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % Headline... % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \defbeamertemplate*{headline}{progressbar theme} {% \leavevmode% \begin{beamercolorbox}[wd=\paperwidth,ht=4ex,dp=1.125ex]{section in head/foot}% \insertsectionnavigationhorizontal{\paperwidth}{}{}%\hskip0pt plus1filll}{}% \end{beamercolorbox}% } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % Footline... % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \defbeamertemplate*{footline}{progressbar theme}{ \begin{beamercolorbox}[wd=\paperwidth,ht=0.6cm,dp=0ex]{progressbar in head/foot}% \insertprogressbar \end{beamercolorbox}% } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % Title page... % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %\institute{(void)} \defbeamertemplate*{title page}{progressbar theme}{ \pgfdeclarehorizontalshading{separationtitlepagelineshading}{0.5pt}{color(0cm)=(bg); color(0.5\textwidth)=(structure.fg); color(\textwidth)=(bg)} \makeatletter \begin{center} \textbf{\textcolor{structure.fg}\large\inserttitle} \pgfuseshading{separationtitlepagelineshading} \vskip\baselineskip \footnotesize\insertauthor\\[\baselineskip] \ifx\insertinstitute\@empty \else\tiny\insertinstitute\\[\baselineskip]\fi \insertlogo \vskip\baselineskip \pgfuseshading{separationtitlepagelineshading} \vfill \footnotesize \insertdate \end{center} \makeatother } \setbeamertemplate{title page}[mytitlepage] %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % Background... % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \defbeamertemplate*{background canvas}{progressbar theme}{\pgfuseshading{background shading}}%[action] \AtBeginDocument{% { \usebeamercolor{progressbar primary} \pgfdeclareverticalshading{background shading}{\the\paperwidth}{color(0cm)=(normal text.bg); color(0.8\paperheight)=(normal text.bg); color(0.95\paperheight)=(progressbar primary.bg); color(\paperheight)=(progressbar primary.bg) } } } \mode \makeatother