Commits

Till Tantau  committed a3a89bd

*** empty log message ***

  • Participants
  • Parent commits c0d8566

Comments (0)

Files changed (26)

File base/beamerbaseauxtemplates.sty

 
 
 
+% Headline
+
+\defbeamertemplate{headline}{text line}[1]
+{\hskip\Gm@lmargin\hbox to\@tempdima{\textwidth=\@tempdima\hsize=\textwidth\relax#1\hfil}\hskip\Gm@rmargin}
+
+
+% Footline
+
+\defbeamertemplate{footline}{text line}[1]
+{\hskip\Gm@lmargin\hbox to\@tempdima{\textwidth=\@tempdima\hsize=\textwidth\relax#1\hfil}\hskip\Gm@rmargin}
+
+\defbeamertemplate{footline}{page number}
+{%
+  \hfill%
+  \usebeamercolor[fg]{page number in head/foot}%
+  \usebeamerfont{page number in head/foot}%
+  \insertpagenumber\,/\,\insertpresentationendpage\kern1em\vskip2pt%
+}
+
+\defbeamertemplate{footline}{frame number}
+{
+  \hfill%
+  \usebeamercolor[fg]{page number in head/foot}%
+  \usebeamerfont{page number in head/foot}%
+  \insertframenumber\,/\,\inserttotalframenumber\kern1em\vskip2pt%
+}
+
+
 
 
 %
 
 
 %
-% Head templates
-%
-
-\newcommand{\beamertemplateheadempty}{\useheadtemplate{}}
-
-
-%
 % Headline stuff
 %
 
 }
 
 
-%
-% Foot templates
-%
-
-\newcommand{\beamertemplatefootempty}{\usefoottemplate{}}
-
-\newcommand{\beamertemplatefootpagenumber}{%
-  \usefoottemplate{%
-  \hfil{\color{.!50!bg}\insertpagenumber}}}
-
-
 \newcommand{\beamertemplatecircleminiframe}{
   \def\beamer@sphereradius{0.05cm}
   \useminislidetemplate

File base/beamerbasecompatibility.sty

   \setbeamertemplate{abstract body end}{#2}}
 \def\usetemplateverse#1#2{\setbeamertemplate{verse begin}{#1}\setbeamertemplate{verse end}{#2}}
 \def\usetemplatenote{\setbeamertemplate{note page}}
+\def\useheadtemplate{\@ifstar{\beamer@useheads}{\beamer@usehead}}
+\def\beamer@usehead{\setbeamertemplate{headline}[text line]}
+\def\beamer@useheads{\setbeamertemplate{headline}}
+\def\addtoheadtemplate{\addtobeamertemplate{headline}}
+\def\addtofoottemplate{\addtobeamertemplate{footline}}
+\def\usefoottemplate{\@ifstar{\beamer@usefoots}{\beamer@usefoot}}
+\def\beamer@usefoot{\setbeamertemplate{footline}[text line]}
+\def\beamer@usefoots{\setbeamertemplate{footline}}
+
 
 
 
   \setbeamertemplate{quote begin}{#1}
   \setbeamertemplate{quotation end}{#2}
   \setbeamertemplate{quote end}{#2}}
+\def\beamertemplateheadempty{\setbeamertemplate{headline}{}}
+\def\beamertemplatefootempty{\setbeamertemplate{fotoline}{}}
+\def\beamertemplatefootpagenumber{\setbeamertemplate{footline}[page number]}
 
 \mode
 <all>
 {
+  \def\beamersetleftmargin#1{\setbeamermargin{left=#1}}
+  \def\beamersetrightmargin#1{\setbeamermargin{right=#1}}
   \long\def\useframetemplate#1#2{\setbeamertemplate{frame begin}{#1}\setbeamertemplate{frame end}{#2}}
   \def\usebackgroundtemplate{\setbeamertemplate{background canvas}}
   \def\beamertemplatesolidbackgroundcolor#1{\setbeamercolor{normal text}{bg=#1}}

File base/beamerbaseframecomponents.sty

   % Reset left margin now
   \beamer@tempdim=\beamer@leftmargin%
   \advance\beamer@tempdim by\beamer@leftsidebar%
-  \geometry{left=\the\beamer@tempdim}%
+  \edef\beamer@changegeometryleft{\noexpand\geometry{left=\the\beamer@tempdim}}%
 }
 \define@key{beamer@margin}{right}{%
   \beamer@rightmargin=#1\relax%
   % Reset right margin now
   \beamer@tempdim=\beamer@rightmargin%
   \advance\beamer@tempdim by\beamer@rightsidebar%
-  \geometry{right=\the\beamer@tempdim}%
+  \edef\beamer@changegeometryright{\noexpand\geometry{right=\the\beamer@tempdim}}%
 }
 
 
-\newcommand{\setbeamermargin}[1]{\setkeys{beamer@margin}{#1}}
+\newcommand{\setbeamermargin}[1]{
+  \setkeys{beamer@margin}{#1}%
+  \csname beamer@changegeometryleft\endcsname%
+  \csname beamer@changegeometryright\endcsname%
+}
 
 \mode
 <article>
 }
 
 
-\mode
-<all>
-{
-  \def\beamersetleftmargin#1{\setbeamermargin{left=#1}}
-  \def\beamersetrightmargin#1{\setbeamermargin{right=#1}}
-}
-
 
 %
 %
           \wd\beamer@tempbox=0pt\ht\beamer@tempbox=0pt\dp\beamer@tempbox=0pt%
           \box\beamer@tempbox%
         }%
-        \normalcolor{\beamer@headtemplate}\hfil%
+        \beamer@typesetheadorfoot{headline}%
       }%
       \hfil}%
     \endgroup}
-  \def\@oddfoot{\vbox{\offinterlineskip\hbox{\normalcolor{\beamer@foottemplate}%
+  \def\@oddfoot{\vbox{\offinterlineskip\hbox{\beamer@typesetheadorfoot{footline}%
         \hypertarget{Navigation\the\c@page}{}%
         \hypertarget{page.\the\c@page}{}\hfil}\hbox{}}\hfil}
   \let\@evenhead\@oddhead
   \let\@evenfoot\@oddfoot}
 \pagestyle{navigation}
 
+\def\beamer@typesetheadorfoot#1{% typeset the head or footline
+  {\parskip0pt\offinterlineskip%
+    \hbox{%
+      \hskip-\Gm@lmargin%
+      \hbox{%
+        \vbox{%
+          \@tempdima=\textwidth%
+          \textwidth=\paperwidth%
+          \hsize=\textwidth%
+          \def\\{,}%
+          \usebeamertemplate***{#1}%
+        }}%
+      \hskip-\Gm@rmargin%
+    }}\hfil%
+}
+
 %
 % Patch empty page style, so that transitions and navigation still works
 %
 \def\ps@empty{%
   \let\@mkboth\@gobbletwo%
   \def\@oddhead{\begingroup%
-    \setbox\beamer@tempbox=\hbox{{\beamer@backgroundtemplate}\hyper@pagetransition\hyper@pageduration}%
+    \setbox\beamer@tempbox=\hbox{\usebeamertemplate***{background canvas}\hyper@pagetransition\hyper@pageduration}%
     \beamer@tempdim=\ht\beamer@tempbox%
     \setbox\beamer@tempbox=\hbox{\lower\beamer@tempdim\hbox{\box\beamer@tempbox}}%
     \wd\beamer@tempbox=0pt\ht\beamer@tempbox=0pt\dp\beamer@tempbox=0pt%
-    \vbox{\hbox{\hskip-\Gm@lmargin\raise\headheight\box\beamer@tempbox}\hfil}%
+    \setbox\@tempboxa=\hbox{\usebeamertemplate***{background}}%
+    \beamer@tempdim=\ht\@tempboxa%
+    \setbox\@tempboxa=\hbox{\lower\beamer@tempdim\hbox{\box\@tempboxa}}%
+    \wd\@tempboxa=0pt\ht\@tempboxa=0pt\dp\@tempboxa=0pt%
+    \vbox{\hbox{\hskip-\Gm@lmargin\raise\headheight\box\beamer@tempbox\box\beamer@tempboxa}\hfil}%
     \endgroup%
   }
   \def\@oddfoot{\normalcolor{\hypertarget{Navigation\the\c@page}{}\hfil%
   \let\@evenhead\@oddhead\let\@evenfoot\@oddfoot}
 
 \def\beamer@calculateheadfoot{%
-  \setbox\beamer@tempbox=\hbox{{\beamer@foottemplate}}%
+  \setbox\beamer@tempbox=\hbox{{\beamer@typesetheadorfoot{footline}}}%
   \footheight=\ht\beamer@tempbox%
   \advance\footheight by \dp\beamer@tempbox%
   \advance\footheight by 4pt%
-  \setbox\beamer@tempbox=\hbox{{\beamer@headtemplate}}%
+  \setbox\beamer@tempbox=\hbox{{\beamer@typesetheadorfoot{headline}}}%
   \headheight=\ht\beamer@tempbox%
   \headdp=\dp\beamer@tempbox%
   \advance\headheight by\headdp%
 }
 
 
- 
-  
-\def\usefoottemplate{\@ifstar{\beamer@usefoots}{\beamer@usefoot}}
-
-\newcommand{\beamer@usefoot}[1]{
-  \long\def\beamer@@foottemplate{#1}
-  \def\beamer@foottemplate{\parskip0pt\offinterlineskip{\usebeamerfont*{footline}\def\\{,}\beamer@@foottemplate}}}%
-
-\newcommand{\beamer@usefoots}[1]{
-  \long\def\beamer@@foottemplate{#1}
-  \def\beamer@foottemplate{%
-    \offinterlineskip{\parskip0pt%
-      \hbox{\hskip-\Gm@lmargin\hbox{\vbox{\hsize=\paperwidth\textwidth=\paperwidth%
-            \usebeamerfont*{footline}\def\\{,}\beamer@@foottemplate%
-            }}\hskip-\Gm@rmargin%
-    }}}}%
-
-\newcommand\addtofoottemplate[2]{%
-  \long\def\beamer@temp{#1}%
-  \def\beamer@@temp{\long\def\beamer@@foottemplate}
-  \expandafter\expandafter\expandafter\beamer@@temp\expandafter\expandafter\expandafter{\expandafter\beamer@temp\beamer@@foottemplate#2}
-  }
-
-
-
-\def\useheadtemplate{\@ifstar{\beamer@useheads}{\beamer@usehead}}
-
-\newcommand{\beamer@usehead}[1]{
-  \long\def\beamer@@headtemplate{#1}
-  \def\beamer@headtemplate{\offinterlineskip{\parskip0pt\usebeamerfont*{headline}\beamer@@headtemplate}}}%
-
-\newcommand{\beamer@useheads}[1]{
-  \long\def\beamer@@headtemplate{#1}
-  \def\beamer@headtemplate{%
-    \offinterlineskip{\parskip0pt%
-      \hbox{\hskip-\Gm@lmargin\hbox{\vbox{\hsize=\paperwidth\textwidth=\paperwidth%
-            \usebeamerfont*{headline}\beamer@@headtemplate%
-            }}\hskip-\Gm@rmargin%
-    }}}}%
-
-\newcommand\addtoheadtemplate[2]{%
-  \long\def\beamer@temp{#1}%
-  \def\beamer@@temp{\long\def\beamer@@headtemplate}
-  \expandafter\expandafter\expandafter\beamer@@temp\expandafter\expandafter\expandafter{\expandafter\beamer@temp\beamer@@headtemplate#2}
-  }
-
 \def\insertpagenumber{\thepage}
 
 

File base/beamerbaselocalstructure.sty

 
 \newenvironment<>{abstract}%
 {\actionenv#1%
-  \beamercolorbox[vmode]{abstract}%
+  \usebeamertemplate{abstract begin}%
   \usebeamerfont{abstract}%
-  \usebeamertemplate**{abstract title}%
-  \usebeamertemplate{abstract body begin}}%
-{\usebeamertemplate{abstract body end}\endbeamercolorbox\endactionenv}
+  \usebeamercolor{abstract}%
+  \usebeamertemplate**{abstract title}}%
+{\usebeamertemplate{abstract end}\endactionenv}
 
   
 %
 
 \newenvironment<>{verse}
 {\actionenv#1%
-  \beamercolorbox[vmode]{verse}%
+  \usebeamertemplate{verse begin}%
   \usebeamerfont{verse}%
+  \usebeamercolor{verse}%
   \let\\\@centercr%
   \list{}{\itemsep      \z@
     \itemindent   -1.5em%
     \rightmargin  \leftmargin
     \advance\leftmargin 1.5em
     \parsep       .75em plus .25em minus.25em}%
-\item\relax%
-  \usebeamertemplate{verse begin}}
-{\usebeamertemplate{verse end}\endlist\endbeamercolorbox\endactionenv}
+\item\relax}
+{\endlist\usebeamertemplate{verse end}\endactionenv}
 
                
 \newenvironment<>{quotation}
 {\actionenv#1%
-  \beamercolorbox[vmode]{quotation}%
+  \usebeamertemplate{quotation begin}
   \usebeamerfont{quotation}%
+  \usebeamercolor{quotation}%
   \list{}{\listparindent 1.5em%
     \itemindent    \listparindent
     \rightmargin   \leftmargin
     \parsep        \z@ \@plus\p@}%
-\item\relax%
-  \usebeamertemplate{quotation begin}}
-{\usebeamertemplate{quotation end}\endlist\endbeamercolorbox\endactionenv}
+\item\relax}
+{\endlist\usebeamertemplate{quotation end}\endactionenv}
       
 \newenvironment<>{quote}
 {\actionenv#1%
-  \beamercolorbox[vmode]{quote}%
+  \usebeamertemplate{quote begin}%
   \usebeamerfont{quote}%
+  \usebeamercolor{quote}%
   \list{}{\rightmargin   \leftmargin}
-\item\relax%
-  \usebeamertemplate{quote begin}}
-{\usebeamertemplate{quote end}\endlist\endbeamercolorbox\endactionenv}
+\item\relax}
+{\endlist\usebeamertemplate{quote end}\endactionenv}
 
 
 \mode

File base/beamerbasetemplates.sty

 
 \def\setbeamertemplate#1{%
   \@ifnextchar[{\beamer@sbtchoose{#1}}{\beamer@sbtexec{#1}}}
-\def\beamer@sbtexec#1#2{%
+\long\def\beamer@sbtexec#1#2{%
   \expandafter\long\expandafter\def\csname beamer@@tmpl@#1\endcsname{#2}%
   \expandafter\ifx\csname beamer@@tmpgrp@#1\endcsname\relax%
   \else%
     \@for\beamer@templ:=\beamer@sbt@group\do{\expandafter\setbeamertemplate\expandafter{\beamer@templ}{#2}}%
   \fi%
 }
-\def\beamer@sbtchoose#1[#2]{\def\beamer@@sbt@option{#2}%
+\long\def\beamer@sbtchoose#1[#2]{\def\beamer@@sbt@option{#2}%
   \expandafter\ifx\csname beamer@@tmpop@#1@#2\endcsname\relax%
     \expandafter\let\expandafter\beamer@@next\csname beamer@@tmpop@#1@*\endcsname%
   \else%

File doc/Makefile

 
 all: $(doc).pdf
 
-beameruserguide.pdf: $(doc).tex \
+beameruserguide.ind: beameruserguide.idx 
+	makeindex $(doc).idx
+
+beameruserguide.pdf: $(doc).tex $(doc).ind \
  $(themes:%=beamerugtheme%.pdf) \
  $(fontthemes:%=beamerugfonttheme%.pdf) \
  $(colorthemes:%=beamerugcolortheme%.pdf) \
  $(innerthemes:%=beameruginnertheme%.pdf) \
  $(outerthemes:%=beamerugoutertheme%.pdf) 
 	pdflatex $(doc).tex
-	makeindex beameruserguide.idx
 	(egrep -q $(rerun) $(doc).log && pdflatex $(doc).tex) || true
 
 beamerugtheme%.pdf: beamerthemeexample.tex beamerthemeexamplebase.tex ../themes/theme/beamertheme%.sty

File doc/beamerug-customization.tex

 
 
 
-\subsection{Headlines and Footlines}
+%% \subsection{Headlines and Footlines}
 
-\label{section-head-templates}
+%% \label{section-head-templates}
 
-\paragraph{Predefined Templates}\ 
+%% \paragraph{Predefined Templates}\ 
 
-\begin{command}{\beamertemplateheadempty}
-  Makes the headline empty.
-\end{command}
+%% \begin{command}{\beamertemplateheadempty}
+%%   Makes the headline empty.
+%% \end{command}
 
-\begin{command}{\beamertemplatefootempty}
-  Makes the footline empty.
-\end{command}
+%% \begin{command}{\beamertemplatefootempty}
+%%   Makes the footline empty.
+%% \end{command}
 
-\begin{command}{\beamertemplatefootpagenumber}
-  Shows only the page number in the footline.
-\end{command}
+%% \begin{command}{\beamertemplatefootpagenumber}
+%%   Shows only the page number in the footline.
+%% \end{command}
 
 
 
-\paragraph{Template Installation Commands}\ 
+%% \paragraph{Template Installation Commands}\ 
 
-\begin{command}{\usefoottemplate\marg{footline template}}
-  The final height of the footline is calculated by invoking this
-  template just before the beginning of the document and by setting
-  the footline height to the height of the template.
-  \example
-\begin{verbatim}
-\usefoottemplate{\hfil\tiny{\color{black!50}\insertpagenumber}}
-\end{verbatim}
-or
-\begin{verbatim}
-\usefoottemplate{%
-  \vbox{%
-    \tinycolouredline{structure!75}%
-      {\color{white}\textbf{\insertshortauthor\hfill\insertshortinstitute}}%
-    \tinycolouredline{structure}%
-      {\color{white}\textbf{\insertshorttitle}\hfill}%
-    }}
-\end{verbatim}
-\end{command}
+%% \begin{command}{\usefoottemplate\marg{footline template}}
+%%   The final height of the footline is calculated by invoking this
+%%   template just before the beginning of the document and by setting
+%%   the footline height to the height of the template.
+%%   \example
+%% \begin{verbatim}
+%% \usefoottemplate{\hfil\tiny{\color{black!50}\insertpagenumber}}
+%% \end{verbatim}
+%% or
+%% \begin{verbatim}
+%% \usefoottemplate{%
+%%   \vbox{%
+%%     \tinycolouredline{structure!75}%
+%%       {\color{white}\textbf{\insertshortauthor\hfill\insertshortinstitute}}%
+%%     \tinycolouredline{structure}%
+%%       {\color{white}\textbf{\insertshorttitle}\hfill}%
+%%     }}
+%% \end{verbatim}
+%% \end{command}
 
-\begin{command}{\addtofoottemplate\marg{before}\marg{after}}
-  Prepends the text \meta{before} to the current foot template and
-  appends the text \meta{after}. This command is useful for adding
-  something to a foot template that is installed by some theme.
-  \example
-\begin{verbatim}
-\addtoheadtemplate
-  {\vbox\bgroup}
-  {%
-    \vskip-.5cm%
-    \includegraphics[height=.5cm]{myimage.pdf}%
-  \egroup}
-\end{verbatim}
-\end{command}
+%% \begin{command}{\addtofoottemplate\marg{before}\marg{after}}
+%%   Prepends the text \meta{before} to the current foot template and
+%%   appends the text \meta{after}. This command is useful for adding
+%%   something to a foot template that is installed by some theme.
+%%   \example
+%% \begin{verbatim}
+%% \addtoheadtemplate
+%%   {\vbox\bgroup}
+%%   {%
+%%     \vskip-.5cm%
+%%     \includegraphics[height=.5cm]{myimage.pdf}%
+%%   \egroup}
+%% \end{verbatim}
+%% \end{command}
 
 
-\begin{command}{\useheadtemplate\marg{headline template}}
-  See |\usefoottemplate|.
-  \example
-\begin{verbatim}
-\useheadtemplate{%
-  \vbox{%
-  \vskip3pt%
-  \beamerline{\insertnavigation{\paperwidth}}%
-  \vskip1.5pt%
-  \insertvrule{0.4pt}{structure!50}}%
-}
-\end{verbatim}
-\end{command}
+%% \begin{command}{\useheadtemplate\marg{headline template}}
+%%   See |\usefoottemplate|.
+%%   \example
+%% \begin{verbatim}
+%% \useheadtemplate{%
+%%   \vbox{%
+%%   \vskip3pt%
+%%   \beamerline{\insertnavigation{\paperwidth}}%
+%%   \vskip1.5pt%
+%%   \insertvrule{0.4pt}{structure!50}}%
+%% }
+%% \end{verbatim}
+%% \end{command}
 
-\begin{command}{\addtoheadtemplate\marg{before}\marg{after}}
-  See |\addtofoottemplate|.
-\end{command}
+%% \begin{command}{\addtoheadtemplate\marg{before}\marg{after}}
+%%   See |\addtofoottemplate|.
+%% \end{command}
 
 
-\paragraph{Inserts for these Templates}\ 
+%% \paragraph{Inserts for these Templates}\ 
 
-\begin{command}{\insertframenumber}
-  Inserts the number of the current frame (not slide) into a template.
-\end{command}
+%% \begin{command}{\insertframenumber}
+%%   Inserts the number of the current frame (not slide) into a template.
+%% \end{command}
 
-\begin{command}{\inserttotalframenumber}
-  Inserts the total number of the frames (not slides) into a
-  template. The number is only correct on the second run of \TeX\ on
-  your document.
-\end{command}
+%% \begin{command}{\inserttotalframenumber}
+%%   Inserts the total number of the frames (not slides) into a
+%%   template. The number is only correct on the second run of \TeX\ on
+%%   your document.
+%% \end{command}
 
-\begin{command}{\insertlogo}
-  Inserts the logo(s) into a template.
-\end{command}
+%% \begin{command}{\insertlogo}
+%%   Inserts the logo(s) into a template.
+%% \end{command}
 
-\begin{command}{\insertnavigation\marg{width}}
-  Inserts a horizontal navigation bar of the given \meta{width} into a
-  template. The bar lists the sections and below them mini frames for
-  each frame in that section.
-\end{command}
+%% \begin{command}{\insertnavigation\marg{width}}
+%%   Inserts a horizontal navigation bar of the given \meta{width} into a
+%%   template. The bar lists the sections and below them mini frames for
+%%   each frame in that section.
+%% \end{command}
 
-\begin{command}{\insertpagenumber}
-  Inserts the current page number into a template.
-\end{command}
+%% \begin{command}{\insertpagenumber}
+%%   Inserts the current page number into a template.
+%% \end{command}
 
-\begin{command}{\insertsection}
-  Inserts the current section into a template.
-\end{command}
+%% \begin{command}{\insertsection}
+%%   Inserts the current section into a template.
+%% \end{command}
 
-\begin{command}{\insertsectionnavigation\marg{width}}
-  Inserts a vertical navigation bar containing all sections, with the
-  current section hilighted.
-\end{command}
+%% \begin{command}{\insertsectionnavigation\marg{width}}
+%%   Inserts a vertical navigation bar containing all sections, with the
+%%   current section hilighted.
+%% \end{command}
 
-\begin{command}{\insertsectionnavigationhorizontal\marg{width}%
-    \marg{left insert}\marg{right insert}}
-  Inserts a horizontal navigation bar containing all sections, with
-  the current section hilighted. The \meta{left insert} will be
-  inserted to the left of the sections, the \marg{right insert} to the
-  right. By inserting a triple fill (a
-  |filll|) you can flush the bar to the left or right.
-  \example
-\begin{verbatim}
-\insertsectionnavigationhorizontal{.5\textwidth}{\hskip0pt plus1filll}{}
-\end{verbatim}
-\end{command}
+%% \begin{command}{\insertsectionnavigationhorizontal\marg{width}%
+%%     \marg{left insert}\marg{right insert}}
+%%   Inserts a horizontal navigation bar containing all sections, with
+%%   the current section hilighted. The \meta{left insert} will be
+%%   inserted to the left of the sections, the \marg{right insert} to the
+%%   right. By inserting a triple fill (a
+%%   |filll|) you can flush the bar to the left or right.
+%%   \example
+%% \begin{verbatim}
+%% \insertsectionnavigationhorizontal{.5\textwidth}{\hskip0pt plus1filll}{}
+%% \end{verbatim}
+%% \end{command}
 
-\begin{command}{\insertshortauthor\oarg{options}}
-  Inserts the short version of the author into a template. The text
-  will be printed in one long line, line breaks introduced using the
-  |\\| command are suppressed.  The
-  following \meta{options} may be given:
-  \begin{itemize}
-  \item
-    \declare{|width=|\meta{width}}
-    causes the text to be put into a multi-line minipage of the given
-    size. Line breaks are still suppressed by default.
-  \item
-    \declare{|center|}
-    centers the text inside the minipage created using the |width|
-    option, rather than having it left aligned.
-  \item
-    \declare{|respectlinebreaks|}
-    causes line breaks introduced by the |\\| command to be honored.    
-  \end{itemize}
+%% \begin{command}{\insertshortauthor\oarg{options}}
+%%   Inserts the short version of the author into a template. The text
+%%   will be printed in one long line, line breaks introduced using the
+%%   |\\| command are suppressed.  The
+%%   following \meta{options} may be given:
+%%   \begin{itemize}
+%%   \item
+%%     \declare{|width=|\meta{width}}
+%%     causes the text to be put into a multi-line minipage of the given
+%%     size. Line breaks are still suppressed by default.
+%%   \item
+%%     \declare{|center|}
+%%     centers the text inside the minipage created using the |width|
+%%     option, rather than having it left aligned.
+%%   \item
+%%     \declare{|respectlinebreaks|}
+%%     causes line breaks introduced by the |\\| command to be honored.    
+%%   \end{itemize}
 
-  \example |\insertauthor[width={3cm},center,respectlinebreaks]|
-\end{command}
+%%   \example |\insertauthor[width={3cm},center,respectlinebreaks]|
+%% \end{command}
 
-\begin{command}{\insertshortdate\oarg{options}}
-  Inserts the short version of the date into a template. The same
-  options as for |\insertshortauthor| may be given. 
-\end{command}
+%% \begin{command}{\insertshortdate\oarg{options}}
+%%   Inserts the short version of the date into a template. The same
+%%   options as for |\insertshortauthor| may be given. 
+%% \end{command}
 
-\begin{command}{\insertshortinstitute\oarg{options}}
-  Inserts the short version of the institute into a template. The same
-  options as for |\insertshortauthor| may be given. 
-\end{command}
+%% \begin{command}{\insertshortinstitute\oarg{options}}
+%%   Inserts the short version of the institute into a template. The same
+%%   options as for |\insertshortauthor| may be given. 
+%% \end{command}
 
-\begin{command}{\insertshortpart\oarg{options}}
-  Inserts the short version of the part name into a template. The same
-  options as for |\insertshortauthor| may be given. 
-\end{command}
+%% \begin{command}{\insertshortpart\oarg{options}}
+%%   Inserts the short version of the part name into a template. The same
+%%   options as for |\insertshortauthor| may be given. 
+%% \end{command}
 
-\begin{command}{\insertshorttitle\oarg{options}}
-  Inserts the short version of the document title into a template. Same
-  options as for |\insertshortauthor| may be given. 
-\end{command}
+%% \begin{command}{\insertshorttitle\oarg{options}}
+%%   Inserts the short version of the document title into a template. Same
+%%   options as for |\insertshortauthor| may be given. 
+%% \end{command}
 
-\begin{command}{\insertshortsubtitle\oarg{options}}
-  Inserts the short version of the document subtitle. Same
-  options as for |\insertshortauthor| may be given. 
-\end{command}
+%% \begin{command}{\insertshortsubtitle\oarg{options}}
+%%   Inserts the short version of the document subtitle. Same
+%%   options as for |\insertshortauthor| may be given. 
+%% \end{command}
 
-\begin{command}{\insertsubsection}
-  Inserts the current subsection into a template.
-\end{command}
+%% \begin{command}{\insertsubsection}
+%%   Inserts the current subsection into a template.
+%% \end{command}
 
-\begin{command}{\insertsubsectionnavigation\marg{width}}
-  Inserts a vertical navigation bar containing all subsections of the
-  current section, with the current subsection hilighted.
-\end{command}
+%% \begin{command}{\insertsubsectionnavigation\marg{width}}
+%%   Inserts a vertical navigation bar containing all subsections of the
+%%   current section, with the current subsection hilighted.
+%% \end{command}
 
-\begin{command}{\insertsubsectionnavigationhorizontal\marg{width}%
-    \marg{left insert}\marg{right insert}}
-  See |\insertsectionnavigationhorizontal|.
-\end{command}
+%% \begin{command}{\insertsubsectionnavigationhorizontal\marg{width}%
+%%     \marg{left insert}\marg{right insert}}
+%%   See |\insertsectionnavigationhorizontal|.
+%% \end{command}
 
 
-\begin{command}{\insertverticalnavigation\marg{width}}
-  Inserts a vertical navigation bar of the given \meta{width} into a
-  template. The bar shows a little table of contents. The individual
-  lines are typeset using the templates
-  |\usesectionsidetemplate| and |\usesubsectionsidetemplate|.
-\end{command}
+%% \begin{command}{\insertverticalnavigation\marg{width}}
+%%   Inserts a vertical navigation bar of the given \meta{width} into a
+%%   template. The bar shows a little table of contents. The individual
+%%   lines are typeset using the templates
+%%   |\usesectionsidetemplate| and |\usesubsectionsidetemplate|.
+%% \end{command}
 
-\begin{command}{\insertframestartpage}
-  Inserts the page number of the first page of the current frame.
-\end{command}
+%% \begin{command}{\insertframestartpage}
+%%   Inserts the page number of the first page of the current frame.
+%% \end{command}
 
-\begin{command}{\insertframeendpage}
-  Inserts the page number of the last page of the current frame.
-\end{command}
+%% \begin{command}{\insertframeendpage}
+%%   Inserts the page number of the last page of the current frame.
+%% \end{command}
 
-\begin{command}{\insertsubsectionstartpage}
-  Inserts the page number of the first page of the current subsection.
-\end{command}
+%% \begin{command}{\insertsubsectionstartpage}
+%%   Inserts the page number of the first page of the current subsection.
+%% \end{command}
 
-\begin{command}{\insertsubsectionendpage}
-  Inserts the page number of the last page of the current subsection.
-\end{command}
+%% \begin{command}{\insertsubsectionendpage}
+%%   Inserts the page number of the last page of the current subsection.
+%% \end{command}
 
-\begin{command}{\insertsectionstartpage}
-  Inserts the page number of the first page of the current section.
-\end{command}
+%% \begin{command}{\insertsectionstartpage}
+%%   Inserts the page number of the first page of the current section.
+%% \end{command}
 
-\begin{command}{\insertsectionendpage}
-  Inserts the page number of the last page of the current section.
-\end{command}
+%% \begin{command}{\insertsectionendpage}
+%%   Inserts the page number of the last page of the current section.
+%% \end{command}
 
-\begin{command}{\insertpartstartpage}
-  Inserts the page number of the first page of the current part.
-\end{command}
+%% \begin{command}{\insertpartstartpage}
+%%   Inserts the page number of the first page of the current part.
+%% \end{command}
 
-\begin{command}{\insertpartendpage}
-  Inserts the page number of the last page of the current part.
-\end{command}
+%% \begin{command}{\insertpartendpage}
+%%   Inserts the page number of the last page of the current part.
+%% \end{command}
 
-\begin{command}{\insertpresentationstartpage}
-  Inserts the page number of the first page of the presentation.
-\end{command}
+%% \begin{command}{\insertpresentationstartpage}
+%%   Inserts the page number of the first page of the presentation.
+%% \end{command}
 
-\begin{command}{\insertpresentationendpage}
-  Inserts the page number of the last page of the presentation
-  (excluding the appendix).
-\end{command}
+%% \begin{command}{\insertpresentationendpage}
+%%   Inserts the page number of the last page of the presentation
+%%   (excluding the appendix).
+%% \end{command}
 
 
-\begin{command}{\insertappendixstartpage}
-  Inserts the page number of the first page of the appendix. If there
-  is no appendix, this number is the last page of the document.
-\end{command}
+%% \begin{command}{\insertappendixstartpage}
+%%   Inserts the page number of the first page of the appendix. If there
+%%   is no appendix, this number is the last page of the document.
+%% \end{command}
 
-\begin{command}{\insertappendixendpage}
-  Inserts the page number of the last page of the appendix. If there
-  is no appendix, this number is the last page of the document.
-\end{command}
+%% \begin{command}{\insertappendixendpage}
+%%   Inserts the page number of the last page of the appendix. If there
+%%   is no appendix, this number is the last page of the document.
+%% \end{command}
 
-\begin{command}{\insertdocumentstartpage}
-  Inserts 1.
-\end{command}
+%% \begin{command}{\insertdocumentstartpage}
+%%   Inserts 1.
+%% \end{command}
 
-\begin{command}{\insertdocumentendpage}
-  Inserts the page number of the last page of the document (including
-  the appendix).
-\end{command}
+%% \begin{command}{\insertdocumentendpage}
+%%   Inserts the page number of the last page of the document (including
+%%   the appendix).
+%% \end{command}
 
 
 

File doc/beamerug-elements.tex

 the frametitle without having to mess with the code used to typeset
 it.
 
-
-
-
-
-
-
-In the following subsections all commands for changing templates are
-listed, like the above-mentioned command
-|\useframetitletemplate|. Inside these commands, you should use
-the |\insertxxxx| commands, which are listed following the template
-changing commands. Although the |\insertxxxx| commands are listed
-alongside the templates for which they make the most sense, you can
-(usually) also use them in all other templates.
-
 \articlenote
 In |article| mode, most of the template mechanism is switched off and
 has no effect. However, a few templates are also available. If this is
 the case, it is specially indicated.
 \smallskip
 
-Some of the below subsections start with commands for using
-\emph{predefined} templates. Calling one of them will change a template in
-a predefined way, making it unnecessary to worry about how exactly one
-creates, say, these cute little balls in different sizes. Using them,
-you can use, for example, your favorite theme together with a
-shading background and a numbered table of contents.
-
-Here are a few hints that might be helpful when you wish to redefine a
+Here are a few hints that might be helpful when you wish to set a
 template: 
 \begin{itemize}
 \item
   Usually, you might wish to copy code from an existing template. The
   code often takes care of some things that you may not yet have
-  thought about. The file |beamerbasetemplates| might be useful
-  starting point.
+  thought about. The default inner and outer themes might be useful 
+  starting points. Also, the file |beamerbaseauxtemplates.sty|
+  contains interesting ``auxilliary'' templaets.
 \item
   When copying code from another template and when inserting this code
   in the preamble of your document (not in another style file), you may
   have to ``switch on'' the at-character (|@|). To do so, add the
-  command |\makeatletter| before the |\usexxxtemplate| command and the
+  command |\makeatletter| before the |\setbeamertemplate| command and the
   command |\makeatother| afterward.
 \item
   Most templates having to do with the frame components (headlines,
   been loaded and even \emph{after} these have executed their
   |\AtBeginDocument| initialization. 
 \item
-  The left and right margins of the head- and footline templates are
-  the same as of the normal text. In order to start the headline and
-  footline at the page margin, you must insert a negative
-  horizontal skip using |\hskip-\Gm@lmargin|. You may wish to add a
-  |\hskip-\Gm@rmargin| at the end to avoid having \TeX\ complain about
-  overfull boxes.
-\item
   Getting the boxes right inside any template is often a bit of a
   hassle. You may wish to consult the \TeX\ book for the glorious
   details on ``Making Boxes.'' If your headline is simple, you might

File doc/beamerug-frames.tex

 
 The headline of a frame is the area at the top of the frame. If it is
 not empty, it should show some information that helps the audience
-orientate itself during your talk.
+orientate itself during your talk. Likewise, the footline is the area
+at the bottom of the frame.
 
-The headline 
+\beamer\ does not use the standard \LaTeX\ mechanisms for typesetting
+the headline and the footline. Instead, the special |headline| and
+|footline| templates are used to typeset them.
+
+The size of the headline and the footline is determined as follows:
+Their width is always the paper width. Their height is determined by
+tentatively typesetting the headline and the footline right after the
+|\begin{document}| command. The head of the headline and the footline
+at that point is ``frozen'' and will be used throughout the whole
+document, even if the headline and footline vary in height later on
+(which they should not).
+
+The appearance of the headline and footline is determined by the
+following templates:
+
+\begin{element}{headline}\yes\yes\yes
+  This template is used to typeset the headline. The \beamer-color and
+  -font |headline| are installed at the beginning. The background of
+  the \beamer-color is not used by default, that is, no background
+  rectangle is drawn behind the headline and footline (this may change
+  in the future with the introduction of a headline and a footline
+  canvas).
+
+  The width of the headline is the whole paper width. The height is
+  determined automatically as described above. The headline is typeset
+  in vertical mode with interline skip turned off and the paragraph
+  skip set to zero.
+
+  Inside this template, the |\\| command is changed such that it
+  inserts a comma instead.
+
+  \example
+\begin{verbatim}
+\setbeamertemplate{headline}
+{%
+  \begin{beamercolorbox}{section in head/foot}
+    \vskip2pt\insertnavigation{\paperwidth}\vskip2pt
+  \end{beamercolorbox}%
+}
+\end{verbatim}
+
+  \begin{templateoptions}
+    \itemoption{default}{}
+    The default is just an empty headline. To get the default headline
+    of earlier versions of the \beamer\ class, use the |compatibility|
+    theme.
+    \itemoption{infolines theme}{}
+    This option becomes available (and is used) if the |infolines|
+    outer theme is loaded. The headline shows current section and subsection.
+    \itemoption{miniframes theme}{}
+    This option becomes available (and is used) if the |miniframes|
+    outer theme is loaded. The headline shows the sections with small
+    clickable mini frames below them.    
+    \itemoption{sidebar theme}{}
+    This option becomes available (and is used) if the |sidebar|
+    outer theme is loaded and if the head height (and option of the
+    |sidebar| theme) is not zero. In this case, the headline is an
+    empty bar of the background color |frametitle| with the logo to
+    the left or right of this bar. 
+    \itemoption{smoothtree theme}{}
+    This option becomes available (and is used) if the |smoothtree|
+    outer theme is loaded. A ``smoothed'' navigation
+    tree is shown in the headline.
+    \itemoption{smoothbars theme}{}
+    This option becomes available (and is used) if the |smoothbars|
+    outer theme is loaded. A ``smoothed'' version of the
+    |miniframes| headline is shown.
+    \itemoption{tree}{}
+    This option becomes available (and is used) if the |tree|
+    outer theme is loaded. A navigational tree is shown in the headline.
+    \itemoption{split}{}
+    This option becomes available (and is used) if the |split|
+    outer theme is loaded. The headline is split into a left part
+    showing the sections and a right part showing the subsections.
+    \itemoption{text line}{\marg{text}}
+    The headline is typeset more or less as if it were a normal text
+    line with the \meta{text} as contents. The left and right margin
+    are setup such that they are the same as the margins of normal
+    text. The \meta{text} is typeset inside an |\hbox|, while the
+    headline is normally typeset in vertical mode.
+  \end{templateoptions}
+
+  Inside the template numerous inserts can be used:
+  \begin{itemize}
+    \iteminsert{\insertlogo}
+    Inserts the logo(s) into a template.
+
+    \iteminsert{\insertnavigation\marg{width}}
+    Inserts a horizontal navigation bar of the given \meta{width} into a
+    template. The bar lists the sections and below them mini frames for
+    each frame in that section.
+
+    \iteminsert{\insertpagenumber}
+    Inserts the current page number into a template.
+
+    \iteminsert{\insertsection}
+    Inserts the current section into a template.
+
+    \iteminsert{\insertsectionnavigation}\marg{width}
+    Inserts a vertical navigation bar containing all sections, with the
+    current section hilighted.
+
+    \iteminsert{\insertsectionnavigationhorizontal}\marg{width}\marg{left insert}\marg{right insert}
+    Inserts a horizontal navigation bar containing all sections, with
+    the current section hilighted. The \meta{left insert} will be
+    inserted to the left of the sections, the \marg{right insert} to the
+    right. By inserting a triple fill (a
+    |filll|) you can flush the bar to the left or right.
+    \example
+\begin{verbatim}
+\insertsectionnavigationhorizontal{.5\textwidth}{\hskip0pt plus1filll}{}
+\end{verbatim}
+
+    \iteminsert{\insertshortauthor}\oarg{options}
+    Inserts the short version of the author into a template. The text
+    will be printed in one long line, line breaks introduced using the
+    |\\| command are suppressed.  The
+    following \meta{options} may be given:
+    \begin{itemize}
+    \item
+      \declare{|width=|\meta{width}}
+      causes the text to be put into a multi-line minipage of the given
+      size. Line breaks are still suppressed by default.
+    \item
+      \declare{|center|}
+      centers the text inside the minipage created using the |width|
+      option, rather than having it left aligned.
+    \item
+      \declare{|respectlinebreaks|}
+      causes line breaks introduced by the |\\| command to be honored.    
+    \end{itemize}
+
+    \example |\insertauthor[width={3cm},center,respectlinebreaks]|
+
+    \iteminsert{\insertshortdate}\oarg{options}
+    Inserts the short version of the date into a template. The same
+    options as for |\insertshortauthor| may be given. 
+
+    \iteminsert{\insertshortinstitute}\oarg{options}
+    Inserts the short version of the institute into a template. The same
+    options as for |\insertshortauthor| may be given. 
+
+    \iteminsert{\insertshortpart}\oarg{options}
+    Inserts the short version of the part name into a template. The same
+    options as for |\insertshortauthor| may be given. 
+
+    \iteminsert{\insertshorttitle}\oarg{options}
+    Inserts the short version of the document title into a template. Same
+    options as for |\insertshortauthor| may be given. 
+
+    \iteminsert{\insertshortsubtitle}\oarg{options}
+    Inserts the short version of the document subtitle. Same
+    options as for |\insertshortauthor| may be given. 
+
+    \iteminsert{\insertsubsection}
+    Inserts the current subsection into a template.
+
+    \iteminsert{\insertsubsectionnavigation}\marg{width}
+    Inserts a vertical navigation bar containing all subsections of the
+    current section, with the current subsection hilighted.
+
+    \iteminsert{\insertsubsectionnavigationhorizontal}\marg{width}\marg{left
+      insert}\marg{right insert}
+    
+    See |\insertsectionnavigationhorizontal|.
+
+    \iteminsert{\insertverticalnavigation}\marg{width}
+    Inserts a vertical navigation bar of the given \meta{width} into a
+    template. The bar shows a little table of contents. The individual
+    lines are typeset using the templates
+    |\usesectionsidetemplate| and |\usesubsectionsidetemplate|.
+
+    \iteminsert{\insertframenumber}
+    Inserts the number of the current frame (not slide) into a template.
+
+    \iteminsert{\inserttotalframenumber}
+    Inserts the total number of the frames (not slides) into a
+    template. The number is only correct on the second run of \TeX\ on
+    your document.
+
+    \iteminsert{\insertframestartpage}
+    Inserts the page number of the first page of the current frame.
+
+    \iteminsert{\insertframeendpage}
+    Inserts the page number of the last page of the current frame.
+
+    \iteminsert{\insertsubsectionstartpage}
+    Inserts the page number of the first page of the current subsection.
+
+    \iteminsert{\insertsubsectionendpage}
+    Inserts the page number of the last page of the current subsection.
+
+    \iteminsert{\insertsectionstartpage}
+    Inserts the page number of the first page of the current section.
+
+    \iteminsert{\insertsectionendpage}
+    Inserts the page number of the last page of the current section.
+
+    \iteminsert{\insertpartstartpage}
+    Inserts the page number of the first page of the current part.
+
+    \iteminsert{\insertpartendpage}
+    Inserts the page number of the last page of the current part.
+
+    \iteminsert{\insertpresentationstartpage}
+    Inserts the page number of the first page of the presentation.
+
+    \iteminsert{\insertpresentationendpage}
+    Inserts the page number of the last page of the presentation
+    (excluding the appendix).
+
+
+    \iteminsert{\insertappendixstartpage}
+    Inserts the page number of the first page of the appendix. If there
+    is no appendix, this number is the last page of the document.
+
+    \iteminsert{\insertappendixendpage}
+    Inserts the page number of the last page of the appendix. If there
+    is no appendix, this number is the last page of the document.
+
+    \iteminsert{\insertdocumentstartpage}
+    Inserts 1.
+
+    \iteminsert{\insertdocumentendpage}
+    Inserts the page number of the last page of the document (including
+    the appendix).
+  \end{itemize}
+\end{element}
+
+\begin{element}{footline}\yes\yes\yes
+  This template behaves exactly the same way as the headline. Note
+  that, sometimes quite annoyingly, \beamer\ currently adds a space of
+  4pt between the bottom of the frame's text and the top of the
+  footline.  
+
+  \begin{templateoptions}
+    \itemoption{default}{}
+    The default is an empty footline. Note that the navigational
+    symbols are \emph{not} part of the footline by default. Rather,
+    they are part of an (invisible) right sidebar.
+    \itemoption{infolines theme}{}
+    This option becomes available (and is used) if the |infolines|
+    outer theme is loaded. The footline shows things like the author's
+    name and the title of the talk.
+    \itemoption{miniframes theme}{}
+    This option becomes available (and is used) if the |miniframes|
+    outer theme is loaded. Depending on the exact options that are
+    used when the |miniframes| theme is loaded, different things can
+    be shown in the footline.
+    \itemoption{page number}{}
+    Shows the current page number in the footline.
+    \itemoption{frame number}{}
+    Shows the current frame number in the footline.
+    \itemoption{split}{}
+    This option becomes available (and is used) if the |split|
+    outer theme is loaded. The footline (just like the headline) is
+    split into a left part showing the author's name and a right part
+    showing the talk's title.
+    \itemoption{text line}{\marg{text}}
+    The footline is typeset more or less as if it were a normal text
+    line with the \meta{text} as contents. The left and right margin
+    are setup such that they are the same as the margins of normal
+    text. The \meta{text} is typeset inside an |\hbox|, while the
+    headline is normally typeset in vertical mode. Using the |\strut|
+    command somewhere in such a line might be a good idea.
+  \end{templateoptions}
+
+  The same inserts as for headlines can be used.
+
+  \begin{element}{page number in head/foot}\no\yes\yes
+    These \beamer-color and -font are used to typeset the page number
+    or frame number in the footline.
+  \end{element}
+\end{element}
+
 
 
 \subsubsection{The Sidebars}
     \TeX-box is then magically put back to the top of the frame.
 
     \begin{templateoptions}
-      \itemoption{default}{\oarg{orientation}}
+      \itemoption{default}{\oarg{alignment}}
       The frame is typeset using the \beamer-color |frametitle| and the
       \beamer-font |frametitle|. The subtitle is put below using the
       color and font |framesubtitle|. If the color |frametitle| has a
       background, a background bar stretching the whole frame width is put
       behind the title. A background color of the subtitle is ignored. The
-      \meta{orientation} is passed on to the |beamercolorbox|
+      \meta{alignment} is passed on to the |beamercolorbox|
       environment. In particular, useful options are |left|, |center|, and
       |right|. As a special case, the |right| option causes the left
       border of the frame title to be somewhat larger than normal so that

File doc/beamerug-globalstructure.tex

     This template is invoked when the |\titlepage| command is used.
 
     \begin{templateoptions}
-      \itemoption{default}{\oarg{orientation}}
+      \itemoption{default}{\oarg{alignment}}
       The title page is typeset showing the title, followed by the
       author, his or her affiliation, the date, and a titlegraphic. If
       any of these are missing, they are not shown. Except for the
       spanning the text width. The corresponding \beamer-fonts are used
       for these entries.
 
-      The \meta{orientation} option is passed on the |beamercolorbox|
+      The \meta{alignment} option is passed on the |beamercolorbox|
       and can be used, for example, to flush the title page to the left
       by specifying |left| here.
     \end{templateoptions}
     This template is invoked when the |\partpage| command is used.
 
     \begin{templateoptions}
-      \itemoption{default}{\oarg{orientation}}
+      \itemoption{default}{\oarg{alignment}}
       The part page is typeset showing the current part number and,
       below, the current part title. The \beamer-color and -font
       |part page| are used, including the background color of
       |part page|. As for the |title page| template, the
-      \meta{orientation} option is passed on the |beamercolorbox|.
+      \meta{alignment} option is passed on the |beamercolorbox|.
     \end{templateoptions}
 
     The following commands are useful for this template:

File doc/beamerug-localstructure.tex

 \begin{environment}{{abstract}\sarg{action specification}}
   You can use this environment to typeset an abstract.
 
-  \begin{element}{abstact}\no\yes\yes
+  \begin{element}{abstract}\no\yes\yes
     These \beamer-color and -font are used to typeset the abstract. If
     a background color is set, this background color is used as
-    background for the whole abstract.
+    background for the whole abstract by default.
   \end{element}
 
   \begin{element}{abstract title}\yes\yes\yes
     the word |\abstractname|, centered. The background color is ignored.
   \end{element}
 
-  \begin{element}{abstract body begin}\yes\no\no
-    This template is inserted at the beginning of the abstract, after the
-    abstract title has been inserted, but before the \meta{environment
-    contents}.
+  \begin{element}{abstract begin}\yes\no\no
+    This template is inserted at the very beginning of the abstract,
+    before the abstract title and the \meta{environment
+    contents} is inserted.
   \end{element}
 
-  \begin{element}{abstract body end}\yes\no\no
+  \begin{element}{abstract end}\yes\no\no
     This template is inserted at the end of the abstract, after the
     \meta{environment contents}.
   \end{element}

File doc/beamerug-themes.tex

   For this theme, you can specify an arbitrary number of templates for
   the boxes in the headline and in the footline. You can add a
   template for another box by using the following commands.
+
+  \begin{command}{\addheadbox\marg{beamer color}\marg{box template}}
+    Each time this command is invoked, a new box is added to the head
+    line, with the first added box being shown on the left. All boxes
+    will have the same size.
+
+    The \meta{beamer color} will be used to setup the foreground and
+    background colors of the box.
+    \example
+\begin{verbatim}
+\addheadbox{section in head/foot}{\tiny\quad 1. Box}
+\addheadbox{structure}{\tiny\quad 2. Box}
+\end{verbatim}
+
+    A similar effect as the above commands can be achieved by directly
+    installing a head template that contains two |beamercolorbox|es:
+\begin{verbatim}
+\setbeamertemplate{headline}
+{\leavevmode
+\begin{beamercolorbox}[width=.5\paperwidth]{section in head/foot}
+  \tiny\quad 1. Box
+\end{beamercolorbox}%
+\begin{beamercolorbox}[width=.5\paperwidth]{structure}
+  \tiny\quad 2. Box
+\end{beamercolorbox}
+}
+\end{verbatim}
+    While being more complicated, the above commands offer more
+    flexibility.     
+  \end{command}
+
+  \begin{command}{\addfootbox\marg{beamer color}\marg{box template}}
+    \example
+\begin{verbatim}
+\addfootbox{section in head/foot}{\tiny\quad 1. Box}
+\addfootbox{structure}{\tiny\quad 2. Box}
+\end{verbatim}
+  \end{command}
 \end{themeexample}
 
-\begin{command}{\addheadboxtemplate%
-    \marg{background color command}\marg{box template}}
-  Each time this command is invoked, a new box is added to the head
-  line, with the first added box being shown on the left. All boxes
-  will have the same size.
-  \example
-\begin{verbatim}
-\addheadboxtemplate{\color{black}}{\color{white}\tiny\quad 1. Box}
-\addheadboxtemplate{\usebeamercolor[bg]{normal text}}
-  {\usebeamercolor[fg]{structure}\tiny\quad 2. Box}
-\end{verbatim}
-\end{command}
-
-\begin{command}{\addfootboxtemplate%
-    \marg{background color command}\marg{box template}}
-  \example
-\begin{verbatim}
-\addfootboxtemplate{\color{black}}{\color{white}\tiny\quad 1. Box}
-\addheadboxtemplate{\usebeamercolor[bg]{normal text}}
-  {\usebeamercolor[fg]{structure}\tiny\quad 2. Box}
-\end{verbatim}
-\end{command}
-
 
 \begin{themeexample}[\oarg{options}]{Madrid}
   A theme giving much information on little space. The present form

File themes/color/beamercolorthemedefault.sty

 \setbeamercolor{lower separation line foot}{parent=separation line}
 
 \setbeamercolor{abstract}{}
-\setbeamercolor{abstract title}{parent=titlelike}
+\setbeamercolor{abstract title}{parent=structure}
 
 \setbeamercolor{verse}{}
 
 \setbeamercolor{quotation}{}
 \setbeamercolor{quote}{parent=quotation}
 
+\setbeamercolor{page number in head/foot}{fg=fg!50!bg}
+
 \mode
 <all>

File themes/inner/beamerinnerthemedefault.sty

 \defbeamertemplate*{abstract title}{default}
 {%
   \begin{center}%
-    \abstractname\vspace{-.5em}\vspace{0pt}%
+    \abstractname
   \end{center}%
 }
 
-\defbeamertemplate*{abstract body begin}{default}
-{\list{}{\rightmargin\leftmargin}\item\relax\usebeamerfont*{abstract}}
+\defbeamertemplate*{abstract begin}{default}
+{\beamercolorbox[vmode]{abstract}\leftskip2em\rightskip2em plus 1fill\usebeamerfont*{abstract}}
 
-\defbeamertemplate*{abstract body end}{default}
-{\endlist}
+\defbeamertemplate*{abstract end}{default}
+{\medskip\endbeamercolorbox}
 
 
+% Verse
+
+\defbeamertemplate*{verse begin}{default}
+{\beamercolorbox[vmode]{verse}}
+
+\defbeamertemplate*{verse end}{default}
+{\endbeamercolorbox}
+
+
+% Quotation
+
+\defbeamertemplate*{quotation begin}{default}
+{\beamercolorbox[vmode]{quotation}}
+
+\defbeamertemplate*{quotation end}{default}
+{\endbeamercolorbox}
+
+
+% Quote
+
+\defbeamertemplate*{quote begin}{default}
+{\beamercolorbox[vmode]{quote}}
+
+\defbeamertemplate*{quote end}{default}
+{\endbeamercolorbox}
 
 
 \beamertemplatedefaultblocks

File themes/outer/beamerouterthemedefault.sty

 
 \beamertemplatedefaultsectionheads
 \beamertemplatecircleminiframe
-\beamertemplateheadempty
-\beamertemplatefootempty
+
+% Headline and footline
+
+\defbeamertemplate*{headline}{default}
+{}
+
+\defbeamertemplate*{footline}{default}
+{}
+
 
 % background
 

File themes/outer/beamerouterthemeinfolines.sty

 \setbeamercolor*{section in head/foot}{parent=palette ternary}
 \setbeamercolor*{subsection in head/foot}{parent=palette primary}
 
-\usefoottemplate*{
+\defbeamertemplate*{footline}{infolines theme}
+{
   \leavevmode%
   \hbox{%
   \begin{beamercolorbox}[wd=.333333\paperwidth,ht=2.25ex,dp=1ex,center]{author in head/foot}%
     \insertframenumber{} / \inserttotalframenumber\hspace*{2ex} 
   \end{beamercolorbox}}%
   \vskip0pt%
-  }
+}
 
-\useheadtemplate*{
+\defbeamertemplate*{headline}{infolines theme}
+{
   \leavevmode%
   \hbox{%
   \begin{beamercolorbox}[wd=.5\paperwidth,ht=2.25ex,dp=1ex,right]{section in head/foot}%
     \usebeamerfont{subsection in head/foot}\hspace*{2ex}\insertsubsection
   \end{beamercolorbox}}%
   \vskip0pt%
-  }
+}
+
+
 
 \usesidebartemplate[right]{0cm}{%
   \vskip2pt%
   \llap{\insertnavigationsymbols\hskip0.1cm}%
   \vskip2pt}
 
-\beamersetleftmargin{1em}
-\beamersetrightmargin{1em}
-
+\setbeamermargin{left=1em,right=1em}
 
 \mode
 <all>

File themes/outer/beamerouterthememiniframes.sty

 
 \def\beamer@theme@footline@empty{}
 \def\beamer@theme@footline@authorinstitute{
-  \usefoottemplate*{%
+  \defbeamertemplate*{footline}{miniframes theme}
+  {%
     \begin{beamercolorbox}[colsep=1.5pt]{upper separation line foot}
     \end{beamercolorbox}
     \begin{beamercolorbox}[ht=2.5ex,dp=1.125ex,%
   }
 }
 \def\beamer@theme@footline@authortitle{
-  \usefoottemplate*{%
+  \defbeamertemplate*{footline}{miniframes theme}
+  {%
     \begin{beamercolorbox}[colsep=1.5pt]{upper separation line foot}
     \end{beamercolorbox}
     \begin{beamercolorbox}[ht=2.5ex,dp=1.125ex,%
   }
 }
 \def\beamer@theme@footline@institutetitle{
-  \usefoottemplate*{%
+  \defbeamertemplate*{footline}{miniframes theme}
+  {%
     \begin{beamercolorbox}[colsep=1.5pt]{upper separation line foot}
     \end{beamercolorbox}
     \begin{beamercolorbox}[ht=2.5ex,dp=1.125ex,%
   }
 }
 \def\beamer@theme@footline@authorinstitutetitle{
-  \usefoottemplate*{%
+  \defbeamertemplate*{footline}{miniframes theme}
+  {%
     \begin{beamercolorbox}[colsep=1.5pt]{upper separation line foot}
     \end{beamercolorbox}
     \begin{beamercolorbox}[ht=2.5ex,dp=1.125ex,%
 \mode<presentation>
 
                                 % Head
-\useheadtemplate*{%
+\defbeamertemplate*{headline}{miniframes theme}
+{%
   \begin{beamercolorbox}[colsep=1.5pt]{upper separation line head}
   \end{beamercolorbox}
   \begin{beamercolorbox}[wd=\paperwidth]{section in head/foot}

File themes/outer/beamerouterthemeshadow.sty

     color(4pt)=(black!50!bg)}
 }
 
-\addtoheadtemplate{}{%
+\addtobeamertemplate{headline}
+{}
+{%
   \vskip-0.2pt
   \pgfuseshading{beamer@topshade}
   \vskip-2pt

File themes/outer/beamerouterthemesidebar.sty

     }%
   }
 
-  \useheadtemplate*{%
+  \defbeamertemplate*{headline}{sidebar theme}
+  {%
     \begin{beamercolorbox}[wd=\paperwidth]{frametitle}
       \ifx\beamer@sidebarside\beamer@lefttext%
       \else%
   \beamer@sidebarformat{5pt}{subsection in sidebar}{\insertsubsectionhead}%
 }
 
-                                % Foot
-\usefoottemplate{}
 
 
 \ifdim\beamer@sidebarwidth>0pt
       {
         {
           \usebeamercolor{sidebar top}
-%          {\globalcolorstrue\colorlet{sidebar top.bg}{bg}}
           \usebeamercolor{sidebar bottom}
-%          {\globalcolorstrue\colorlet{sidebar bottom.bg}{bg}}
         }
         \beamertemplatesidebarverticalshading[\beamer@sidebarside]{sidebar bottom.bg}{sidebar top.bg}
       }
       \vskip2pt}
   \fi
                                 % Margins
-  \beamersetleftmargin{0.5cm}
-  \beamersetrightmargin{0.5cm}
+  \setbeamermargin{left=0.5cm,right=0.5cm}
 \fi
 
 \mode

File themes/outer/beamerouterthemesmoothbars.sty

   {
     \usebeamerfont*{headline}
     \colorlet{global.bg}{bg}
+    \usebeamercolor{subsection in head/foot}
+    \usebeamercolor{section in head/foot}
+    \usebeamercolor{frametitle}
 
     \ifbeamer@sb@subsection
-      \usebeamercolor{subsection in head/foot}
-      \colorlet{ssec.bg}{bg}
-      \usebeamercolor{section in head/foot}
       \pgfdeclareverticalshading{beamer@barshade}{\the\paperwidth}{%
          color(0ex)=(global.bg);%
-         color(1ex)=(ssec.bg);%
-         color(3.25ex)=(ssec.bg);%
-         color(4.25ex)=(bg);%
-         color(9.75ex)=(bg)%
+         color(1ex)=(subsection in head/foot.bg);%
+         color(3.25ex)=(subsection in head/foot.bg);%
+         color(4.25ex)=(section in head/foot.bg);%
+         color(9.75ex)=(section in head/foot.bg)%
        }
-       \usebeamercolor{frametitle}
        \pgfdeclareverticalshading{beamer@aboveframetitle}{\the\paperwidth}{%
-         color(0ex)=(bg);%
-         color(1ex)=(bg);%
-         color(2ex)=(ssec.bg)
+         color(0ex)=(frametitle.bg);%
+         color(1ex)=(frametitle.bg);%
+         color(2ex)=(subsection in head/foot.bg)
        }
     \else
-      \usebeamercolor{section in head/foot}
-      \colorlet{sec.bg}{bg}
       \pgfdeclareverticalshading{beamer@barshade}{\the\paperwidth}{%
          color(0ex)=(global.bg);%
-         color(1ex)=(bg);%
-         color(7ex)=(bg)%
+         color(1ex)=(section in head/foot.bg);%
+         color(7ex)=(section in head/foot.bg)%
        }
-     \usebeamercolor{frametitle}
-       \pgfdeclareverticalshading{beamer@aboveframetitle}{\the\paperwidth}{%
-         color(0ex)=(bg);%
-         color(1ex)=(bg);%
-         color(2ex)=(sec.bg)
+     \pgfdeclareverticalshading{beamer@aboveframetitle}{\the\paperwidth}{%
+         color(0ex)=(frametitle.bg);%
+         color(1ex)=(frametitle.bg);%
+         color(2ex)=(section in head/foot.bg)
        }
-     \fi  
+    \fi  
 
     \pgfdeclareverticalshading{beamer@belowframetitle}{\the\paperwidth}{%
       color(0ex)=(global.bg);%
-      color(1ex)=(bg)
+      color(1ex)=(frametitle.bg)
     }
   }
 }
 
                                 % Head
-\useheadtemplate*{%
+\defbeamertemplate*{headline}{smoothbars theme}
+{%
   \pgfuseshading{beamer@barshade}%
   \ifbeamer@sb@subsection%
     \vskip-9.75ex%

File themes/outer/beamerouterthemesmoothtree.sty

   }
 }
 
-\useheadtemplate*{%
+\defbeamertemplate*{headline}{smoothtree theme}
+{%
   \pgfuseshading{beamer@treeshade}%
   \vskip-10.25ex%
   \begin{beamercolorbox}[wd=\paperwidth,ht=2.125ex,dp=1.125ex,ignorebg,%

File themes/outer/beamerouterthemesplit.sty

 
 
 
-
-
 \usesectionheadtemplate
   {\hfill\insertsectionhead}
   {\hfill\color{fg!50!bg}\insertsectionhead}
                                 % Head
 \ifbeamer@compress
 
-\useheadtemplate*{%
+\defbeamertemplate*{headline}{split theme}
+{%
   \leavevmode%
   \begin{beamercolorbox}[wd=.5\paperwidth,ht=2.5ex,dp=1.125ex]{section in head/foot}%
     \insertsectionnavigationhorizontal{.5\paperwidth}{\hskip0pt plus1filll}{}%
 
 \else
 
-\useheadtemplate*{%
+\defbeamertemplate*{headline}{split theme}
+{%
   \leavevmode%
   \@tempdimb=2.4375ex%
   \ifnum\beamer@subsectionmax<\beamer@sectionmax%
 \fi
 
 
-\usefoottemplate*{%
+\defbeamertemplate*{footline}{split theme}
+{%
   \leavevmode%
   \hbox{\begin{beamercolorbox}[wd=.5\paperwidth,ht=2.5ex,dp=1.125ex,leftskip=.3cm plus1fill,rightskip=.3cm]{author in head/foot}%
     \usebeamerfont{author in head/foot}\insertshortauthor

File themes/outer/beamerouterthemetree.sty

 
 \mode<presentation>
 
-\useheadtemplate*{%
+\defbeamertemplate*{headline}{tree theme}
+{%
     \begin{beamercolorbox}[wd=\paperwidth,colsep=1.5pt]{upper separation line head}
     \end{beamercolorbox}
     \begin{beamercolorbox}[wd=\paperwidth,ht=2.5ex,dp=1.125ex,%

File themes/theme/beamerthemeMadrid.sty

 \useinnertheme[shadow]{rounded}
 \useoutertheme{infolines}
 
-\ifbeamer@secheader\else\useheadtemplate{}\fi
+\ifbeamer@secheader\else\setbeamertemplate{headline}[default]\fi
 
 % Tills' opinion: should be done in an inner theme, not here.
 

File themes/theme/beamerthemeboxes.sty

   \divide\beamer@headboxsizes by\beamer@headboxes
 }
 
-\useheadtemplate{%
-  \vbox{%
-    \hbox{%
-      \hskip-\Gm@lmargin%
-    \hbox{%
-    \beamer@currentbox=0\relax%
-    \loop%
-    \ifnum\beamer@currentbox<\beamer@headboxes%
-    \hbox to\beamer@headboxsizes{%
-     % Background
-      {%
-        \csname beamer@headbg\the\beamer@currentbox\endcsname%
-        \vrule width\beamer@headboxsizes height\beamer@boxheadheight%
-        \hskip-\beamer@headboxsizes%
-      }%
-      % Box
-      {%
-        \setbox\beamer@tempbox=\hbox to\beamer@headboxsizes{%
-          \csname beamer@headbox\the\beamer@currentbox\endcsname\hfil}%
-        \dp\beamer@tempbox=0pt%
-        \setbox\beamer@tempbox=\hbox{\vbox{\box\beamer@tempbox\vskip3pt}}%
-        \ht\beamer@tempbox=\beamer@boxheadheight%
-        \dp\beamer@tempbox=0pt%
-        \box\beamer@tempbox%
-      }}%
-    \advance\beamer@currentbox by 1%
-    \repeat%
+\def\addheadbox#1#2{\addheadboxtemplate{\usebeamercolor[bg]{#1}}{\usebeamercolor[fg]{#1}#2}}
+
+
+\defbeamertemplate*{headline}{boxes theme}
+{%
+  \leavevmode
+  \beamer@currentbox=0\relax%
+  \loop%
+  \ifnum\beamer@currentbox<\beamer@headboxes%
+  \hbox to\beamer@headboxsizes{%
+   % Background
+    {%
+      \csname beamer@headbg\the\beamer@currentbox\endcsname%
+      \vrule width\beamer@headboxsizes height\beamer@boxheadheight%
+      \hskip-\beamer@headboxsizes%
     }%
-    \hskip-\Gm@rmargin%
-    }%
-}}
+    % Box
+    {%
+      \setbox\beamer@tempbox=\hbox to\beamer@headboxsizes{%
+        \csname beamer@headbox\the\beamer@currentbox\endcsname\hfil}%
+      \dp\beamer@tempbox=0pt%
+      \setbox\beamer@tempbox=\hbox{\vbox{\box\beamer@tempbox\vskip3pt}}%
+      \ht\beamer@tempbox=\beamer@boxheadheight%
+      \dp\beamer@tempbox=0pt%
+      \box\beamer@tempbox%
+    }}%
+  \advance\beamer@currentbox by 1%
+  \repeat%
+}%
+
 
                                 % Foot
 \newcount\beamer@footboxes
   \divide\beamer@footboxsizes by\beamer@footboxes
 }
 
-\usefoottemplate{%
-  \vbox{%
-    \hbox{%
-    \hskip-\Gm@lmargin%
-    \hbox{%
-    \beamer@currentbox=0\relax%
-    \loop%
-    \ifnum\beamer@currentbox<\beamer@footboxes%
-    \hbox to\beamer@footboxsizes{%
-       % Background
-      {%
-        \csname beamer@footbg\the\beamer@currentbox\endcsname%
-        \vrule width\beamer@footboxsizes height\beamer@boxfootheight%
-        \hskip-\beamer@footboxsizes%
-      }%
-      % Box
-      {%
-        \setbox\beamer@tempbox=\hbox to\beamer@footboxsizes{%
-          \csname beamer@footbox\the\beamer@currentbox\endcsname\hfil}%
-        \dp\beamer@tempbox=0pt%
-        \setbox\beamer@tempbox=\hbox{\vbox{\box\beamer@tempbox\vskip3pt}}%
-        \ht\beamer@tempbox=\beamer@boxfootheight%
-        \dp\beamer@tempbox=0pt%
-        \box\beamer@tempbox%
-      }%
+\def\addfootbox#1#2{\addfootboxtemplate{\usebeamercolor[bg]{#1}}{\usebeamercolor[fg]{#1}#2}}
+
+\defbeamertemplate*{fotoline}{boxes theme}
+{%
+  \beamer@currentbox=0\relax%
+  \loop%
+  \ifnum\beamer@currentbox<\beamer@footboxes%
+  \hbox to\beamer@footboxsizes{%
+                                % Background
+    {%
+      \csname beamer@footbg\the\beamer@currentbox\endcsname%
+      \vrule width\beamer@footboxsizes height\beamer@boxfootheight%
+      \hskip-\beamer@footboxsizes%
     }%
-    \advance\beamer@currentbox by 1%
-    \repeat%
+                                % Box
+    {%
+      \setbox\beamer@tempbox=\hbox to\beamer@footboxsizes{%
+        \csname beamer@footbox\the\beamer@currentbox\endcsname\hfil}%
+      \dp\beamer@tempbox=0pt%
+      \setbox\beamer@tempbox=\hbox{\vbox{\box\beamer@tempbox\vskip3pt}}%
+      \ht\beamer@tempbox=\beamer@boxfootheight%
+      \dp\beamer@tempbox=0pt%
+      \box\beamer@tempbox%
     }%
-    \hskip-\Gm@rmargin%
-    }%
-}}
+  }%
+  \advance\beamer@currentbox by 1%
+  \repeat%
+}%
+
 
 \mode
 <all>

File themes/theme/compatibility/beamerthemecompatibility.sty

 \setbeamerfont{frametitle}{series=\bfseries}
 
 \useoutertheme[subsection=false]{miniframes}
-\addtoheadtemplate{}{%
+\addtobeamertemplate{headline}
+{}
+{%
   \begin{beamercolorbox}[wd=\paperwidth,colsep=0.2pt]{fine separation line}
   \end{beamercolorbox}%
 }