Anonymous avatar Anonymous committed d9ee75f

version 0.90

Comments (0)

Files changed (47)

 
 	Version 0.90:
 	- Improved the installation procedure documentation.
-	- Added a \pictureframe command for creating frames that are
+	- Added a \plainframe command for creating frames that are
 	  completely filled with a picture. Navigation bars are
 	  suppressed. 
 	- Clicking on the current frame icon will advance to last slide of
 	- Fixed bug when using color options like "red".
 	- Added theme beamerthemesplitcondensed, adapted from a submission
 	  by Paul Gomme
+	- Added command \insertframenumber
+	- Added several new themes
+	- Fixed behaviour of split theme: optional arguments of \section
+	  and \subsection are now shown in navigation bars.
+	- Added side bar management.
 
 2003-10-13 Till Tantau <tantau@cs.tu-berlin.de>
 
-1)  More themes
-2)  Some themes more appropriate for presentations of lectures.
-3)  Use xcolor for better color management
-4)  Explain in the user guide, how hyperref can be used to create
+ 1) Add option to show covered stuff in a shaded way (instead of
+    completely hidden).
+ 2) Some themes more appropriate for presentations of lectures.
+ 3) Use xcolor for better color management
+ 4) Explain in the user guide, how hyperref can be used to create
     non-linear talks.
-5)  Perhaps add an way of showing photos of the authors and the
+ 5) Perhaps add an way of showing photos of the authors and the
     institutes in a convenient way.
-6)  Add a FAQ section in User guide.
-7)  Make adding navigation buttons like a "back button" easy.
-8)  Put internal macros in beamer.cls into a namespace
-9)  "Cleanup" beamer.cls
-10) Add an \insertframenumber command.
-12) Document some of the commands for creating headline and footlines.
+ 6) Add a FAQ section in User guide.
+ 7) Make adding navigation buttons like a "back button" easy.
+ 8) Put internal macros in beamer.cls into a namespace
+ 9) "Cleanup" beamer.cls
+10) Document some of the commands for creating headline and footlines.
 %
 % Fix for older versions of geometry
 %
-\ifx\ifGm@compatii\@undefined\else
-\def\Geom@lmargin{\Gm@lmargin}\def\Geom@rmargin{\Gm@rmargin}
-\geometry{includeheadfoot}\fi
+\ifx\ifGm@compatii\@undefined%
+\def\Gm@lmargin{\Geom@lmargin}\def\Gm@rmargin{\Geom@rmargin}
+\else
+\geometry{includeheadfoot}
+\fi
 
 
 %
 \DeclareOption{bigger}{\def\beamer@size{{size12.clo}}}
 \DeclareOption{smaller}{\def\beamer@size{{size10.clo}}}
 
+%
+%
+% Process Options
+%
+%
 \ExecuteOptions{sans,slidescentered}
 
 \ProcessOptions
 
 %
 %
+% Declarations used by beamer
+%
+%
+
+% Public
+\newdimen\headheight    % Height of the headline
+\newdimen\footheight    % Height of the footline
+\newdimen\sidebarheight % Height of the sidebars
+
+% Private (will all have prefix beamer@ in the future)
+\newdimen\beamer@tempdim
+\newdimen\beamer@finalheight
+\newdimen\beamer@animht
+\newdimen\beamer@animdp
+\newdimen\beamer@animwd
+\newdimen\beamer@leftmargin
+\newdimen\beamer@rightmargin
+\newdimen\beamer@leftsidebar
+\newdimen\beamer@rightsidebar
+\newdimen\tempheight
+\newdimen\beamer@boxsize
+\newdimen\vboxoffset
+\newdimen\postemp
+\newdimen\originalbaselineskip
+\newdimen\@descdefault
+\newdimen\@descdefaulttemp
+\newdimen\bibindent
+\newbox\beamer@areabox
+\newbox\beamer@animcurrent
+\newbox\beamer@animshowbox
+\newbox\beamer@tempbox
+\newbox\sectionbox
+\newbox\tempbox
+\newbox\navigationbox
+\newbox\logobox
+\newbox\linebox
+
+
+%
+%
 % Hyperlink fix for problem with empty test in pdfmark.def
 %
 %
-\let\@orig@hyperlink\hyperlink
-\newbox\beamer@linkbox
-\def\hyperlink#1#2{%
-  \setbox\beamer@linkbox=\hbox{#2}%
-  \@orig@hyperlink{#1}{\box\beamer@linkbox}}
-
+\let\beamer@orighyperlink\hyperlink
+\def\hyperlink#1#2{\beamer@orighyperlink{#1}{\relax#2}}
 
 
 % Hyperlinks must be suspended until document starts - they are used
   \@ifempty{#2}{\long\def\subsecname{#1}\long\def\lastsubsection{#1}}
   {%
     \long\def\subsecname{#2}%
-    \long\def\lastsubsection{#2}%
+    \long\def\lastsubsection{#1}%
     \ifbeamer@inappendix%
     \addtocontents{toc}{\protect\appendixsubsectionintoc{\thesection}{\thesubsection}{#2}{\thepage}}%
     \else%
 
 \def\beamer@reseteecodes{\gdef\beamer@entrycode{}\gdef\beamer@exitcode{}\pagestyle{navigation}\thispagestyle{navigation}}
 
-\def\pictureframe{%
+\def\plainframe{%
   \def\beamer@entrycode{\vspace*{-\headheight}}%
   \def\beamer@exitcode{\vspace*{-\footheight}\thispagestyle{empty}}\frame}
 
 
 % Insert area
 
-\newbox\areabox
-\newdimen\finalheight
 \newenvironment{overlayarea}[2]{%
-  \finalheight=#2\relax%
-  \advance\finalheight by-\baselineskip%
-  \setbox\areabox=\hbox\bgroup%
+  \beamer@finalheight=#2\relax%
+  \advance\beamer@finalheight by-\baselineskip%
+  \setbox\beamer@areabox=\hbox\bgroup%
   \begin{minipage}[t]{#1}%
   }
   {
   \end{minipage}%
   \egroup%
-  \ht\areabox=0pt%
-  \dp\areabox=\finalheight%
-  \box\areabox%
+  \ht\beamer@areabox=0pt%
+  \dp\beamer@areabox=\beamer@finalheight%
+  \box\beamer@areabox%
 }
 
-\newbox\@animcurrent
-\newbox\@animshowbox
-\newdimen\@animht
-\newdimen\@animdp
-\newdimen\@animwidth
 \def\overprint{\@ifnextchar[{\@overprint}{\@overprint[\textwidth]}}
 \def\@overprint[#1]{%
-  \@animht=0pt%
-  \@animdp=0pt%
-  \@animwidth=#1\relax%
-  \setbox\@animcurrent=\box\@animshowbox% makes animshowbox empty
-  \setbox\@animcurrent=\hbox{}%
+  \beamer@animht=0pt%
+  \beamer@animdp=0pt%
+  \beamer@animwd=#1\relax%
+  \setbox\beamer@animcurrent=\box\beamer@animshowbox% makes animshowbox empty
+  \setbox\beamer@animcurrent=\hbox{}%
   \def\@endaction{}%
 }
 \def\endoverprint{%
   \@endaction%
-  \ifvoid\@animshowbox\setbox\@animshowbox=\hbox{}\fi%
-  \ht\@animshowbox=\@animht%
-  \dp\@animshowbox=\@animdp%
-  \wd\@animshowbox=\@animwidth%
-  \box\@animshowbox%
+  \ifvoid\beamer@animshowbox\setbox\beamer@animshowbox=\hbox{}\fi%
+  \ht\beamer@animshowbox=\beamer@animht%
+  \dp\beamer@animshowbox=\beamer@animdp%
+  \wd\beamer@animshowbox=\beamer@animwd%
+  \box\beamer@animshowbox%
 }
 
 \def\onslide<#1>{%
   \@endaction%
   \alt<#1>{%
-    \ifvoid\@animshowbox\else\ClassError{beamer}{Overprints may not overlap}{}\fi%
+    \ifvoid\beamer@animshowbox\else\ClassError{beamer}{Overprints may not overlap}{}\fi%
     \def\@endaction{%
     \end{minipage}%
     \egroup%
-      \ifdim\@animht<\ht\@animcurrent\@animht=\ht\@animcurrent\fi%
-      \ifdim\@animdp<\dp\@animcurrent\@animdp=\dp\@animcurrent\fi%
-      \setbox\@animshowbox=\copy\@animcurrent}
+      \ifdim\beamer@animht<\ht\beamer@animcurrent\beamer@animht=\ht\beamer@animcurrent\fi%
+      \ifdim\beamer@animdp<\dp\beamer@animcurrent\beamer@animdp=\dp\beamer@animcurrent\fi%
+      \setbox\beamer@animshowbox=\copy\beamer@animcurrent}
   }%
   {\def\@endaction{%
     \end{minipage}%
     \egroup%
-      \ifdim\@animht<\ht\@animcurrent\@animht=\ht\@animcurrent\fi%
-      \ifdim\@animdp<\dp\@animcurrent\@animdp=\dp\@animcurrent\fi}%
+      \ifdim\beamer@animht<\ht\beamer@animcurrent\beamer@animht=\ht\beamer@animcurrent\fi%
+      \ifdim\beamer@animdp<\dp\beamer@animcurrent\beamer@animdp=\dp\beamer@animcurrent\fi}%
   }%
-  \setbox\@animcurrent=\vbox\bgroup\begin{minipage}[t]{\@animwidth}%
+  \setbox\beamer@animcurrent=\vbox\bgroup\begin{minipage}[t]{\beamer@animwd}%
 }
 
 
 %
 %
+% Setting the left and right margin
+%
+%
+\beamer@leftmargin=1cm
+\beamer@rightmargin=1cm
+
+\def\beamersetleftmargin#1{%
+  \beamer@leftmargin=#1\relax%
+  % Reset left margin now
+  \beamer@tempdim=\beamer@leftmargin%
+  \advance\beamer@tempdim by\beamer@leftsidebar%
+  \geometry{left=\the\beamer@tempdim}%
+  }
+\def\beamersetrightmargin#1{%
+  \beamer@rightmargin=#1\relax%
+  % Reset right margin now
+  \beamer@tempdim=\beamer@rightmargin%
+  \advance\beamer@tempdim by\beamer@rightsidebar%
+  \geometry{right=\the\beamer@tempdim}%
+  }
+
+
+%
+%
+% Sidebars
+%
+%
+
+\def\useleftsidebartemplate#1#2{% #1 = size, #2 = text
+  \beamer@leftsidebar=#1\relax%
+  % Reset left margin now
+  \beamer@tempdim=\beamer@leftmargin%
+  \advance\beamer@tempdim by\beamer@leftsidebar%
+  \geometry{left=\the\beamer@tempdim}%
+  \def\beamer@leftsidebartemplate{%
+    \vbox to \sidebarheight{%
+      #2\vfil%
+    }%
+  }}
+\useleftsidebartemplate{0cm}{}
+  
+\def\userightsidebartemplate#1#2{% #1 = size, #2 = text
+  \beamer@rightsidebar=#1\relax%
+  % Reset right margin now
+  \beamer@tempdim=\beamer@rightmargin%
+  \advance\beamer@tempdim by\beamer@rightsidebar%
+  \geometry{right=\the\beamer@tempdim}%
+  \def\beamer@rightsidebartemplate{%
+    \vbox to \sidebarheight{%
+      #2\vfil%
+    }%
+  }}
+\userightsidebartemplate{0cm}{}
+  
+\def\useleftsidebarbackgroundtemplate#1{
+  \def\beamer@leftsidebarbackground{%
+    \vbox to \sidebarheight{%
+      #1\vfil%
+    }}}
+\useleftsidebarbackgroundtemplate{}
+
+% Sets the background of the side bar to a monotone color
+% Usage: usesidebarcolortemplate{\color{red}}
+\def\useleftsidebarcolortemplate#1{
+  \useleftsidebarbackgroundtemplate{#1\vrule height\paperheight width\beamer@leftsidebar}}
+
+% Sets the background of the side bar to a vertical shading ranging
+% between the parameter colors, given as rgb triples.
+% Example: usesidebarverticalshadingtemplate{\theshadedthemecolor}{1,1,1}
+\def\useleftsidebarverticalshadingtemplate#1#2{%
+  \pgfdeclareverticalshading{beamer@leftsidebar}{\beamer@leftsidebar}{rgb(0cm)=(#1); rgb(\paperheight)=(#2)}%
+  \useleftsidebarbackgroundtemplate{\pgfuseshading{beamer@leftsidebar}}}
+
+% Sets the background of the side bar to a horizontal shading ranging
+% between the parameter colors, given as rgb triples.
+% Example: \usesidebarhorizontalshadingtemplate{\theshadedthemecolor}{1,1,1}
+\def\useleftsidebarhorizontalshadingtemplate#1#2{%
+  \pgfdeclarehorizontalshading{beamer@leftsidebar}{\textheight}{rgb(0cm)=(#1); rgb(\beamer@leftsidebar)=(#2)}%
+  \useleftsidebarbackgroundtemplate{\pgfuseshading{beamer@leftsidebar}}}
+
+
+\def\userightsidebarbackgroundtemplate#1{
+  \def\beamer@rightsidebarbackground{%
+    \vbox to \sidebarheight{%
+      #1\vfil%
+    }}}
+\userightsidebarbackgroundtemplate{}
+
+% Sets the background of the side bar to a monotone color
+% Usage: usesidebarcolortemplate{\color{red}}
+\def\userightsidebarcolortemplate#1{
+  \userightsidebarbackgroundtemplate{#1\vrule height\paperheight width\beamer@rightsidebar}}
+
+% Sets the background of the side bar to a vertical shading ranging
+% between the parameter colors, given as rgb triples.
+% Example: usesidebarverticalshadingtemplate{\theshadedthemecolor}{1,1,1}
+\def\userightsidebarverticalshadingtemplate#1#2{%
+  \pgfdeclareverticalshading{beamer@rightsidebar}{\beamer@rightsidebar}{rgb(0cm)=(#1); rgb(\paperheight)=(#2)}%
+  \userightsidebarbackgroundtemplate{\pgfuseshading{beamer@rightsidebar}}}
+
+% Sets the background of the side bar to a horizontal shading ranging
+% between the parameter colors, given as rgb triples.
+% Example: \usesidebarhorizontalshadingtemplate{\theshadedthemecolor}{1,1,1}
+\def\userightsidebarhorizontalshadingtemplate#1#2{%
+  \pgfdeclarehorizontalshading{beamer@rightsidebar}{\textheight}{rgb(0cm)=(#1); rgb(\beamer@rightsidebar)=(#2)}%
+  \userightsidebarbackgroundtemplate{\pgfuseshading{beamer@rightsidebar}}}
+
+
+%
+%
 % Head Navigation Format
 %
 %
 
-
-\newbox\sectionbox
-
-\newbox\tempbox
-\newdimen\tempheight
-
 \let\@mkboth\@gobbletwo
 \def\ps@navigation{
   \def\@oddhead{\setbox\tempbox=\hbox{\@backgroundtemplate\hyper@pagetransition\hyper@pageduration}%
     \tempheight=\ht\tempbox%
     \setbox\tempbox=\hbox{\lower\tempheight\hbox{\box\tempbox}}\wd\tempbox=0pt\ht\tempbox=0pt\dp\tempbox=0pt%
-    \vbox{\hbox{\hskip-\Geom@lmargin\box\tempbox}\hbox{\@headtemplate}\hfil}}
+    \vbox{\hbox{\hskip-\Gm@lmargin\box\tempbox}%
+      \hbox{%
+        {%
+          \setbox\tempbox=\hbox{\hskip-\Gm@lmargin%
+            {\setbox\tempbox=\hbox{\beamer@leftsidebarbackground}%
+              \wd\tempbox=0pt\ht\tempbox=0pt\dp\tempbox=0pt%
+              \box\tempbox}%
+            \beamer@leftsidebartemplate}%
+          \tempheight=\ht\tempbox%
+          \setbox\tempbox=\hbox{{\lower\tempheight\hbox{\box\tempbox}}}%
+          \wd\tempbox=0pt\ht\tempbox=0pt\dp\tempbox=0pt%
+          \box\tempbox%
+        }%        
+        {% print right sidebar first, since it should be overwritten by headline
+          \setbox\tempbox=\hbox{\hskip\textwidth\hskip\beamer@rightmargin%
+            {\setbox\tempbox=\hbox{\beamer@rightsidebarbackground}%
+              \wd\tempbox=0pt\ht\tempbox=0pt\dp\tempbox=0pt%
+              \box\tempbox}%
+            \beamer@rightsidebartemplate}%
+          \tempheight=\ht\tempbox%
+          \setbox\tempbox=\hbox{{\lower\tempheight\hbox{\box\tempbox}}}%
+          \wd\tempbox=0pt\ht\tempbox=0pt\dp\tempbox=0pt%
+          \box\tempbox%
+        }%
+        \@headtemplate\hfil%
+        }\hfil}}
   \def\@oddfoot{\@foottemplate\hypertarget{Navigation\thepage}{}\hfil}
   \let\@evenhead\@oddhead
   \let\@evenfoot\@oddfoot}
 %
 \def\ps@empty{%
   \let\@mkboth\@gobbletwo%
-  \def\@oddhead{\hyper@pagetransition\hyper@pageduration}
+  \def\@oddhead{\setbox\tempbox=\hbox{\@backgroundtemplate\hyper@pagetransition\hyper@pageduration}%
+    \tempheight=\ht\tempbox%
+    \setbox\tempbox=\hbox{\lower\tempheight\hbox{\box\tempbox}}\wd\tempbox=0pt\ht\tempbox=0pt\dp\tempbox=0pt%
+    \vbox{\hbox{\hskip-\Gm@lmargin\raise\headheight\box\tempbox}\hfil}}
   \def\@oddfoot{\hypertarget{Navigation\thepage}{}\hfil}
   \let\@evenhead\@oddhead\let\@evenfoot\@oddfoot}
 
   \def\@backgroundtemplate{#1}}
 
 \def\recalculatefoot{%
-    \setbox\tempbox=\hbox{\@foottemplate}%
-    \footheight=\ht\tempbox%
-    \advance\footheight by \dp\tempbox%
-    \advance\footheight by 4pt%
-    \geometry{foot=\the\footheight}}
+  \setbox\tempbox=\hbox{\@foottemplate}%
+  \footheight=\ht\tempbox%
+  \advance\footheight by \dp\tempbox%
+  \advance\footheight by 4pt%
+  \geometry{foot=\the\footheight}%
+  \sidebarheight=\paperheight%
+  \advance\sidebarheight by-\headheight%
+  \advance\sidebarheight by-\footheight%
+  \advance\footheight by -4pt}
 \def\recalculatehead{%
   \setbox\tempbox=\hbox{\@headtemplate}%
   \headheight=\ht\tempbox%
   \advance\headheight by\dp\tempbox%
-  \geometry{head=\the\headheight}}%
+  \geometry{head=\the\headheight}%
+  \sidebarheight=\paperheight%
+  \advance\sidebarheight by-\headheight%
+  \advance\sidebarheight by-\footheight%
+  \advance\footheight by -4pt}%
 
 \long\def\usefoottemplate#1{%
   \def\@foottemplate{\offinterlineskip\reset@font\def\\{,}#1}%
   \recalculatehead} 
 
 \def\insertvrule#1#2{%
-  \hbox{\color{#2}\hskip-\Geom@lmargin\vrule width \paperwidth
-    height #1\hskip-\Geom@rmargin}}
+  \hbox{\color{#2}\hskip-\Gm@lmargin\vrule width \paperwidth
+    height #1\hskip-\Gm@rmargin}}
 
-\newbox\navigationbox
 \def\insertnavigation#1{%
   \vbox{%
     \ifbeamer@inappendix%
   \ignorespaces}
 
 \long\def\usesectionheadtemplate#1#2{\def\@sectionheadhilight{#1}\def\@sectionheadnohilight{#2}}
+\long\def\usesectionsidetemplate#1#2{\def\@sectionsidehilight{#1}\def\@sectionsidenohilight{#2}}
 
-
-\newdimen\boxsize
-\newdimen\vboxoffset
-\newdimen\postemp
-\newdimen\headheight
-\newdimen\footheight
+\def\insertverticalnavigation#1{%
+  \vbox{%
+    \def\sectionentry##1##2##3##4{%
+      \def\insertsectionhead{##2}%
+      \hbox{\hyperlink{Navigation##3}{%
+          \ifnum\thesection=##1%
+            \ifnum\thesubsection=0\relax%
+              \@sectionsidehilight%
+            \else%
+              \@sectionsidenohilight%
+            \fi%
+          \else
+            \@sectionsidenohilight%
+          \fi}}%
+      \currentsubsection=1\relax}%
+    \def\slideentry##1##2##3##4##5{%
+      \ifnum##2=\currentsubsection%
+      \advance\currentsubsection by1%
+      \def\insertsubsectionhead{##5}%
+      \hbox{\beamer@link(##4){%
+          \ifnum\thesection=##1%
+            \ifnum\thesubsection=##2%
+              \@subsectionsidehilight%
+            \else%
+              \@subsectionsidenohilight%
+            \fi%
+          \else%
+            \@subsectionsidenohilight%
+          \fi}}%
+      \fi}%
+    \let\appendixsectionentry=\sectionentry%
+    \let\appendixslideentry=\slideentry%
+    \ifbeamer@inappendix%
+    \def\sectionentry##1##2##3##4{}%
+    \def\slideentry##1##2##3##4##5{}%
+    \else%
+    \def\appendixsectionentry##1##2##3##4{}%
+    \def\appendixslideentry##1##2##3##4##5{}%
+    \fi%
+    \currentsubsection=1\relax%
+    \dohead%
+  }}
 
 \def\slideentry#1#2#3#4#5{%
   %section number, subsection number, slide number, first/last frame page number
   \ifnum#2>0\ifnum#3>0%
   \hbox to 0pt{%
     \postemp=-#2\vboxoffset%
-    \advance\postemp by -#2\boxsize%
+    \advance\postemp by -#2\beamer@boxsize%
     \advance\postemp by -.05cm%
     \raise\postemp\hbox{%
-      \postemp=#3\boxsize%
-      \advance\postemp by -\boxsize%
+      \postemp=#3\beamer@boxsize%
+      \advance\postemp by -\beamer@boxsize%
       \advance\postemp by 1pt%
       \kern\postemp\hbox{\beamer@link(#4){%
         \ifnum\thesection=#1\ifnum\thesubsection=#2\ifnum\thesubsectionslide=#3%
   \ifnum#2>0\ifnum#3>0%
   \hbox to 0pt{%
     \postemp=-#2\vboxoffset%
-    \advance\postemp by -#2\boxsize%
+    \advance\postemp by -#2\beamer@boxsize%
     \advance\postemp by -.05cm%
     \raise\postemp\hbox{%
-      \postemp=#3\boxsize%
-      \advance\postemp by -\boxsize%
+      \postemp=#3\beamer@boxsize%
+      \advance\postemp by -\beamer@boxsize%
       \advance\postemp by 1pt%
       \kern\postemp\hbox{\beamer@link(#4){%
         \ifnum\thesection=#1\ifnum\thesubsection=#2\ifnum\thesubsectionslide=#3%
 \def\fakeslideentry#1#2#3#4#5{%
   \ifnum#2>0\ifnum#3>0%
   \hbox to 0pt{\postemp=-#2\vboxoffset%
-    \advance\postemp by -#2\boxsize%
+    \advance\postemp by -#2\beamer@boxsize%
     \advance\postemp by -.05cm%
     \raise\postemp\hbox{}}\fi\fi\ignorespaces}
   
 
 
 \long\def\useminislidetemplate#1#2#3#4#5{\def\@minislidehilight{#1}\def\@minisliderowhilight{#2}\def\@minislide{#3}
-\boxsize=#4\vboxoffset=#5}
+\beamer@boxsize=#4\vboxoffset=#5}
 
 \def\insertsectionnavigation#1{%
   \hbox to #1{%
      \def\slideentry##1##2##3##4##5{}%
      \def\appendixslideentry##1##2##3##4##5{}%
      \def\appendixsectionentry##1##2##3##4##5{%
-       \def\insertsectionhead{##4}%
+       \def\insertsectionhead{##2}%
        \setbox\tempbox=\hbox{%
          \hyperlink{Navigation##3}{\hbox to #1{%
            \hskip0.3cm\ifnum\thesection=##1%
            \@sectionheadhilight\else\@sectionheadnohilight\fi\hskip0.3cm}}}%
        \ht\tempbox=4.5pt\dp\tempbox=2pt%        
        \box\tempbox}%
-     \def\sectionentry##1##2##3##4{\def\insertsectionhead{##4}%
+     \def\sectionentry##1##2##3##4{\def\insertsectionhead{##2}%
        \setbox\tempbox=\hbox{%
          \hyperlink{Navigation##3}{\hbox to #1{%
            \hskip0.3cm\ifnum\thesection=##1%
     #3}}
 
 \long\def\usesubsectionheadtemplate#1#2{\def\@subsectionheadhilight{#1}\def\@subsectionheadnohilight{#2}}
+\long\def\usesubsectionsidetemplate#1#2{\def\@subsectionsidehilight{#1}\def\@subsectionsidenohilight{#2}}
 
 
 %
 
 \newenvironment{columns}{%
   \leavevmode%
-  \hskip-\Geom@lmargin%
+  \hskip-\beamer@leftmargin%
   \nobreak%
-  \hbox to\paperwidth\bgroup%
+  \beamer@tempdim=\textwidth%
+  \advance\beamer@tempdim by\beamer@leftmargin%
+  \advance\beamer@tempdim by\beamer@rightmargin%
+  \hbox to\beamer@tempdim\bgroup%
   \hbox{}\hfill\ignorespaces}%
   {\egroup%
     \nobreak%
-    \hskip-\Geom@rmargin}
+    \hskip-\beamer@rightmargin}
   
 \newenvironment{columnsonlytextwidth}%
   {\leavevmode\hbox to\textwidth\bgroup\ignorespaces}
 \onecolumn
 \clubpenalty=2000
 \widowpenalty=900
-\newdimen\originalbaselineskip
 \originalbaselineskip=\baselineskip
 
 \def\enumerate{%
   \def\itemiiendtemplate{#2}}
 
 
-\newdimen\@descdefault
-\newdimen\@descdefaulttemp
 \def\description{\@ifnextchar[{\@description}{\@descdefault\@descdefaulttemp\@@description}}
 \def\@description[#1]{\setbox\tempbox=\hbox{\def\insertdescriptionitem{#1}\descriptionitemtemplate}%
   \@descdefault\wd\tempbox\advance\@descdefault by \labelsep\@@description}
 
 \raggedright
 
-\newbox\logobox
-
-\newbox\linebox
 \def\tinyline#1{%
-  \setbox\linebox=\hbox to\textwidth{\hskip-\Geom@lmargin\hskip0.3cm\tiny{#1}\hskip-\Geom@rmargin\hskip0.3cm}%
+  \setbox\linebox=\hbox to\textwidth{\hskip-\Gm@lmargin\hskip0.3cm\tiny{#1}\hskip-\Gm@rmargin\hskip0.3cm}%
   \ht\linebox=5.5pt%
   \dp\linebox=0pt%
   \box\linebox%
   \vskip3pt}
 \def\tinycolouredline#1#2{%
   \hbox{%
-    \setbox\linebox=\hbox to\textwidth{\hskip-\Geom@lmargin\hskip0.3cm\tiny{#2}\hskip-\Geom@rmargin\hskip0.3cm}%
+    \setbox\linebox=\hbox to\textwidth{\hskip-\Gm@lmargin\hskip0.3cm\tiny{#2}\hskip-\Gm@rmargin\hskip0.3cm}%
     \ht\linebox=7pt%
     \dp\linebox=0pt%
     \setbox\linebox=\vbox{\box\linebox\vskip3pt}%
-    {\color{#1}\hskip-\Geom@lmargin\vrule width\paperwidth
-      height\ht\linebox\hskip-\paperwidth\hskip\Geom@lmargin}%
+    {\color{#1}\hskip-\Gm@lmargin\vrule width\paperwidth
+      height\ht\linebox\hskip-\paperwidth\hskip\Gm@lmargin}%
     \box\linebox}%
   }
 \def\colouredline#1#2{%
   \hbox{%
-    \setbox\linebox=\hbox to\textwidth{\hskip-\Geom@lmargin\hskip0.3cm{#2}\hskip-\Geom@rmargin\hskip0.3cm}%
+    \setbox\linebox=\hbox to\textwidth{\hskip-\Gm@lmargin\hskip0.3cm{#2}\hskip-\Gm@rmargin\hskip0.3cm}%
     \setbox\linebox=\vbox{\vskip2pt\box\linebox\vskip2pt}%
-    {\color{#1}\hskip-\Geom@lmargin\vrule width\paperwidth
-      height\ht\linebox\hskip-\paperwidth\hskip\Geom@lmargin}%
+    {\color{#1}\hskip-\Gm@lmargin\vrule width\paperwidth
+      height\ht\linebox\hskip-\paperwidth\hskip\Gm@lmargin}%
     \box\linebox}%
   }
 \def\beamerline#1{%
-  \hbox{\hskip-\Geom@lmargin#1\hskip-\Geom@rmargin}}
+  \hbox{\hskip-\Gm@lmargin#1\hskip-\Gm@rmargin}}
 
 
 %
 % Bibliography code
 %
 
-\newdimen\bibindent
 \setlength\bibindent{1.5em}
 \newenvironment{thebibliography}[1]
 {%\leavevmode\unskip%
 \useheadtemplate{%
   \vbox{%
   \vskip3pt%
-  \hbox{\hskip-\Geom@lmargin\insertnavigation{\paperwidth}\hskip-\Geom@rmargin}%
+  \beamerline{\insertnavigation{\paperwidth}}%
   \vskip1.5pt%
   \insertvrule{0.4pt}{structureshaded}}%
 }

beamertemplates.sty

 \newcommand{\beamertemplatearrowbibitems}{
   \usebibitemtemplate{\color{structure}\scriptsize\raise1.25pt\hbox{$\blacktriangleright$}}
 }
-
-

beamerthemebars.sty

                                 % Frametitles
 \useframetitletemplate{%
   \vskip8pt
-  {\leftskip-\Geom@lmargin\advance\leftskip by0.3cm%
-   \rightskip-\Geom@rmargin plus1fil\advance\rightskip by0.3cm\leavevmode
+  {\leftskip-\beamer@leftmargin\advance\leftskip by0.3cm%
+   \rightskip-\beamer@rightmargin plus1fil\advance\rightskip by0.3cm\leavevmode
     \color{structure}
     \Large\insertframetitle\par}
   }

beamerthemeboxes.sty

+\ProvidesPackage{beamerthemeboxes}[2003/10/22 ver 0.1]
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+
+% Copyright 2003 by Till Tantau <tantau@cs.tu-berlin.de>.
+%
+% This program can be redistributed and/or modified under the terms
+% of the LaTeX Project Public License Distributed from CTAN
+% archives in directory macros/latex/base/lppl.txt.
+
+\RequirePackage{keyval}[1997/11/10]
+
+\def\ProcessOptionsWithKV#1{%
+  \let\@tempa\@empty
+  \@for\CurrentOption:=\@classoptionslist\do{%
+    \@ifundefined{KV@#1@\CurrentOption}%
+    {}{\edef\@tempa{\@tempa,\CurrentOption,}}}%
+  \edef\@tempa{%
+    \noexpand\setkeys{#1}{\@tempa\@ptionlist{\@currname.\@currext}}}%
+  \@tempa
+  \AtEndOfPackage{\let\@unprocessedoptions\relax}}
+
+\newdimen\beamer@boxheadheight
+\newdimen\beamer@boxfootheight
+\beamer@boxheadheight=10pt
+\beamer@boxfootheight=10pt
+\define@key{BeamerBoxes}{headheight}{\beamer@boxheadheight=#1}
+\define@key{BeamerBoxes}{footheight}{\beamer@boxfootheight=#1}
+\ProcessOptionsWithKV{BeamerBoxes}
+
+                                % Title page  
+\usetitlepagetemplate{
+  \vbox{}
+  \vfill
+  \begin{centering}
+    \Large\structure{\inserttitle}
+    \vskip1em\par
+    \normalsize\insertauthor\vskip1em\par
+    {\scriptsize\insertinstitute\par}\par\vskip1em
+    \insertdate\par\vskip1.5em
+    \inserttitlegraphic
+  \end{centering}
+  \vfill
+  }
+
+                                % Frametitles
+\useframetitletemplate{%
+  {\leftskip-\beamer@leftmargin\advance\leftskip by0.3cm%
+   \rightskip-\beamer@rightmargin plus1fil\advance\rightskip by0.3cm\leavevmode
+    \color{structure}
+    \Large\insertframetitle\par}%
+  }
+
+
+                                % Sections in headline
+\usesectionheadtemplate
+{\hfill\color{white}\tiny\textbf{\insertsectionhead}}
+{\hfill\color{shaded}\tiny\textbf{\insertsectionhead}}
+
+\usesubsectionheadtemplate
+{\color{white}\tiny\textbf{\insertsubsectionhead}}
+{\color{structureshaded}\tiny\textbf{\insertsubsectionhead}}
+
+                                % Entries in table of contents
+\usetemplatetocsection
+{{\large\color{structure}\inserttocsection}}
+{{\large\color{structureshaded}\inserttocsection}}
+
+                                % Entries in table of contents
+\usetemplatetocsubsection
+{\leavevmode\leftskip=1.5em\color{black}\inserttocsubsection\par}
+{\leavevmode\leftskip=1.5em\color{shaded}\inserttocsubsection\par}
+
+
+                                % Head
+\newcount\beamer@headboxes
+\newdimen\beamer@headboxsizes
+\newcount\beamer@currentbox
+\def\addheadboxtemplate#1#2{
+  \expandafter\def\csname beamer@headbox\the\beamer@headboxes\endcsname{#2}
+  \expandafter\def\csname beamer@headbg\the\beamer@headboxes\endcsname{#1}
+  \advance\beamer@headboxes by 1\relax
+  \beamer@headboxsizes=\paperwidth
+  \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%
+    }%
+    \hskip-\Gm@rmargin%
+    }%
+}}
+
+                                % Foot
+\newcount\beamer@footboxes
+\newdimen\beamer@footboxsizes
+\def\addfootboxtemplate#1#2{
+  \expandafter\def\csname beamer@footbox\the\beamer@footboxes\endcsname{#2}
+  \expandafter\def\csname beamer@footbg\the\beamer@footboxes\endcsname{#1}
+  \advance\beamer@footboxes by 1\relax
+  \beamer@footboxsizes=\paperwidth
+  \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%
+      }%
+    }%
+    \advance\beamer@currentbox by 1%
+    \repeat%
+    }%
+    \hskip-\Gm@rmargin%
+    }%
+}}
+
+                                % Background
+\usebackgroundtemplate{}
+
+                                % Blocks
+\useblocktemplate{\medskip{\color{blockstructure}\large\insertblockname}\par}{\medskip}
+\usealertblocktemplate{\medskip{\alert{\large\insertblockname}}\par}{\medskip}
+\useexampleblocktemplate{\medskip\begingroup\color{darkgreen}{\large\insertblockname}\par}{\endgroup\medskip}
+ 
+
+% For example:
+%\addheadboxtemplate{\color{black}}{\hfill\tiny\color{white}\textbf{\insertshorttitle}\hskip0.3cm}
+%\addheadboxtemplate{\color{structure}}{\hskip0.3cm\tiny\color{white}\textbf{\insertshortauthor}}
+
+%\addfootboxtemplate{\color{black}}{\hfill\tiny\color{white}\textbf{\insertshortinstitute}\hskip0.3cm}
+%\addfootboxtemplate{\color{structure}}{}
+%\addfootboxtemplate{\color{black}}{\hfill\tiny\color{white}\textbf{\insertframenumber}\hskip0.3cm}

beamerthemeclassic.sty

                                 % Frametitles
 \useframetitletemplate{%
   \vskip1.5em
-  {\leftskip-\Geom@lmargin plus1fill\advance\leftskip by0.3cm%
-   \rightskip-\Geom@rmargin plus1fill\advance\rightskip by0.3cm\leavevmode
+  {\leftskip-\beamer@leftmargin plus1fill\advance\leftskip by0.3cm%
+   \rightskip-\beamer@rightmargin plus1fill\advance\rightskip by0.3cm\leavevmode
     \color{structure}\Large\textrm{\textit{{\insertframetitle}}}\par}
   }
 

beamerthemelined.sty

                                 % Frametitles
 \useframetitletemplate{%
   \vskip4pt
-  {\leftskip-\Geom@lmargin\advance\leftskip by0.3cm%
-   \rightskip-\Geom@rmargin plus1fil\advance\rightskip by0.3cm\leavevmode
+  {\leftskip-\beamer@leftmargin\advance\leftskip by0.3cm%
+   \rightskip-\beamer@rightmargin plus1fil\advance\rightskip by0.3cm\leavevmode
     \color{structure}
     \Large\insertframetitle\par}
   }
 \useheadtemplate{%
   \vbox{%
     \vskip3pt%
-    \hbox{\hskip-\Geom@lmargin\insertnavigation{\paperwidth}\hskip-\Geom@rmargin}%
+    \beamerline{\insertnavigation{\paperwidth}}%
     \vskip1.5pt%
     \insertvrule{0.4pt}{structureshaded}%
     \vskip1.5pt%

beamerthemeplain.sty

                                 % Frametitles
 \useframetitletemplate{%
   \vskip1.5em
-  {\leftskip-\Geom@lmargin plus1fill\advance\leftskip by0.3cm%
-   \rightskip-\Geom@rmargin plus1fill\advance\rightskip by0.3cm\leavevmode
+  {\leftskip-\beamer@leftmargin plus1fill\advance\leftskip by0.3cm%
+   \rightskip-\beamer@rightmargin plus1fill\advance\rightskip by0.3cm\leavevmode
     \color{structure}\Large\textrm{\textit{{\insertframetitle}}}\par}
   }
 

beamerthemesidebar.sty

+\ProvidesPackage{beamerthemesidebar}[2003/10/22 ver 0.1]
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+
+% Copyright 2003 by Till Tantau <tantau@cs.tu-berlin.de>.
+%
+% This program can be redistributed and/or modified under the terms
+% of the LaTeX Project Public License Distributed from CTAN
+% archives in directory macros/latex/base/lppl.txt.
+
+\RequirePackage{pgfshade}
+\RequirePackage{keyval}[1997/11/10]
+
+\def\ProcessOptionsWithKV#1{%
+  \let\@tempa\@empty
+  \@for\CurrentOption:=\@classoptionslist\do{%
+    \@ifundefined{KV@#1@\CurrentOption}%
+    {}{\edef\@tempa{\@tempa,\CurrentOption,}}}%
+  \edef\@tempa{%
+    \noexpand\setkeys{#1}{\@tempa\@ptionlist{\@currname.\@currext}}}%
+  \@tempa
+  \AtEndOfPackage{\let\@unprocessedoptions\relax}}
+
+\newdimen\beamer@sidebarwidth
+\beamer@sidebarwidth=2.5cm
+\define@key{Side}{width}{\beamer@sidebarwidth=#1}
+\ProcessOptionsWithKV{Side}
+
+                                % Title page  
+\usetitlepagetemplate{
+  \vbox{}
+  \vfill
+  \begin{centering}
+    \Large\structure{\inserttitle}
+    \vskip1em\par
+    \normalsize\insertauthor\vskip1em\par
+    {\scriptsize\insertinstitute\par}\par\vskip1em
+    \insertdate\par\vskip1.5em
+    \inserttitlegraphic
+  \end{centering}
+  \vfill
+  }
+                                % Frametitles
+\useframetitletemplate{%
+  {\leftskip-\beamer@leftmargin\advance\leftskip by0.3cm%
+   \rightskip-\beamer@rightmargin plus1fil\advance\rightskip by0.3cm\vskip0.3cm\leavevmode
+    \color{structure}
+    \Large\insertframetitle\par}%
+  }
+
+
+                                % Sections in headline
+\usesectionsidetemplate
+{%
+  \setbox\tempbox=\hbox{\color{black}\tiny{\kern3pt\insertsectionhead}}%
+  \ht\tempbox=8pt%
+  \dp\tempbox=2pt%
+  \wd\tempbox=\beamer@sidebarwidth%
+  \box\tempbox%
+}
+{%
+  \setbox\tempbox=\hbox{\color{structuremedium}\tiny{\kern3pt\insertsectionhead}}%
+  \ht\tempbox=8pt%
+  \dp\tempbox=2pt%
+  \wd\tempbox=\beamer@sidebarwidth%
+  \box\tempbox%
+}
+
+\usesubsectionsidetemplate
+{%
+  \setbox\tempbox=\hbox{\color{black}\tiny{\kern6pt\insertsubsectionhead}}%
+  \ht\tempbox=4.5pt%
+  \dp\tempbox=2pt%
+  \wd\tempbox=\beamer@sidebarwidth%
+  \box\tempbox%
+}
+{%
+  \setbox\tempbox=\hbox{\color{shaded}\tiny{\kern6pt\insertsubsectionhead}}%
+  \ht\tempbox=4.5pt%
+  \dp\tempbox=2pt%
+  \wd\tempbox=\beamer@sidebarwidth%
+  \box\tempbox%
+}
+
+                                % Head
+\useheadtemplate{}
+
+                                % Foot
+\usefoottemplate{}
+
+                                % Sidebar
+\userightsidebartemplate{\beamer@sidebarwidth}{%
+  \vskip1em
+  \beamer@tempdim=\beamer@sidebarwidth%
+  \advance\beamer@tempdim by -3pt%
+  \hbox{%
+    \hskip 3pt%
+    \begin{minipage}{\beamer@tempdim}
+      \leftskip0pt plus1fill%
+      \rightskip0pt plus1fill%
+      \tiny\color{structure}\insertshorttitle%
+      \vskip.5em
+      \color{black}\insertshortauthor
+    \end{minipage}}%
+  \vskip1em
+  \insertverticalnavigation{\beamer@sidebarwidth}%
+  \vfill
+  \hbox to \beamer@sidebarwidth{\hfil\insertlogo\hskip3pt}
+  \vskip3pt
+}
+
+                                % Side bar background
+\userightsidebarverticalshadingtemplate{1,1,1}{\theshadedthemecolor}
+
+                                % Background
+\usebackgroundtemplate{}
+
+                                % Blocks
+\useblocktemplate{\medskip{\color{blockstructure}\large\insertblockname}\par}{\medskip}
+\usealertblocktemplate{\medskip{\alert{\large\insertblockname}}\par}{\medskip}
+\useexampleblocktemplate{\medskip\begingroup\color{darkgreen}{\large\insertblockname}\par}{\endgroup\medskip}
+ 
+                                % Margins
+\beamersetleftmargin{0.5cm}
+\beamersetrightmargin{0.5cm}

beamerthemesidebardark.sty

+\ProvidesPackage{beamerthemesidebardark}[2003/10/22 ver 0.1]
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+
+% Copyright 2003 by Till Tantau <tantau@cs.tu-berlin.de>.
+%
+% This program can be redistributed and/or modified under the terms
+% of the LaTeX Project Public License Distributed from CTAN
+% archives in directory macros/latex/base/lppl.txt.
+
+\RequirePackage{pgfshade}
+\RequirePackage{keyval}[1997/11/10]
+
+\def\ProcessOptionsWithKV#1{%
+  \let\@tempa\@empty
+  \@for\CurrentOption:=\@classoptionslist\do{%
+    \@ifundefined{KV@#1@\CurrentOption}%
+    {}{\edef\@tempa{\@tempa,\CurrentOption,}}}%
+  \edef\@tempa{%
+    \noexpand\setkeys{#1}{\@tempa\@ptionlist{\@currname.\@currext}}}%
+  \@tempa
+  \AtEndOfPackage{\let\@unprocessedoptions\relax}}
+
+\newdimen\beamer@sidebarwidth
+\beamer@sidebarwidth=2.5cm
+\define@key{Side}{width}{\beamer@sidebarwidth=#1}
+\ProcessOptionsWithKV{Side}
+
+                                % Title page  
+\usetitlepagetemplate{
+  \vbox{}
+  \vfill
+  \begin{centering}
+    \Large\structure{\bfseries\inserttitle}
+    \vskip1em\par
+    \normalsize\insertauthor\vskip1em\par
+    {\scriptsize\insertinstitute\par}\par\vskip1em
+    \insertdate\par\vskip1.5em
+    \inserttitlegraphic
+  \end{centering}
+  \vfill
+}
+
+                                % Frametitles
+\useframetitletemplate{%
+  {\leftskip-\beamer@leftmargin\advance\leftskip by0.3cm%
+   \rightskip-\beamer@rightmargin plus1fil\advance\rightskip by0.3cm\vskip0.3cm\leavevmode
+    \color{structure}
+    \Large\bfseries\insertframetitle\par}%
+  }
+
+
+                                % Head and foot are empty
+\useheadtemplate{}
+\usefoottemplate{}
+                                % Entries in table of contents
+\usetemplatetocsection
+{\color{structure}\textbf{\inserttocsection}}
+{\color{structureshaded}\textbf{\inserttocsection}}
+
+                                % Sidebar
+\userightsidebartemplate{\beamer@sidebarwidth}{%
+  \vskip1em
+  \beamer@tempdim=\beamer@sidebarwidth%
+  \advance\beamer@tempdim by -3pt%
+  \hbox{%
+    \hskip 3pt%
+    \begin{minipage}{\beamer@tempdim}
+      \leftskip0pt plus1fill%
+      \rightskip0pt plus1fill%
+      \tiny\color{white}\bfseries\insertshorttitle%
+      \vskip.5em
+      \color{structureshaded}\insertshortauthor
+    \end{minipage}}%
+  \vskip1em
+  \insertverticalnavigation{\beamer@sidebarwidth}%
+  \vfill
+  \hbox to \beamer@sidebarwidth{\hfil\insertlogo\hskip3pt}
+  \vskip3pt
+}
+
+                                % Sidebar Background
+\userightsidebarverticalshadingtemplate{\thethemecolor}{0,0,0}
+
+                                % Sections in headline
+\usesectionsidetemplate
+{%
+  \setbox\tempbox=\hbox{\color{white}\tiny{\kern3pt\bfseries\insertsectionhead}}%
+  \ht\tempbox=8pt%
+  \dp\tempbox=2pt%
+  \wd\tempbox=\beamer@sidebarwidth%
+  \box\tempbox%
+}
+{%
+  \setbox\tempbox=\hbox{\color{structuremedium}\tiny{\kern3pt\bfseries\insertsectionhead}}%
+  \ht\tempbox=8pt%
+  \dp\tempbox=2pt%
+  \wd\tempbox=\beamer@sidebarwidth%
+  \box\tempbox%
+}
+
+\usesubsectionsidetemplate
+{%
+  \setbox\tempbox=\hbox{\color{white}\tiny{\kern6pt\bfseries\insertsubsectionhead}}%
+  \ht\tempbox=4.5pt%
+  \dp\tempbox=2pt%
+  \wd\tempbox=\beamer@sidebarwidth%
+  \box\tempbox%
+}
+{%
+  \setbox\tempbox=\hbox{\color{shaded}\tiny{\kern6pt\bfseries\insertsubsectionhead}}%
+  \ht\tempbox=4.5pt%
+  \dp\tempbox=2pt%
+  \wd\tempbox=\beamer@sidebarwidth%
+  \box\tempbox%
+}
+
+
+                                % Background
+\usebackgroundtemplate{}
+
+                                % Blocks
+\useblocktemplate{\medskip{\color{blockstructure}\bfseries\insertblockname}\par}{\medskip}
+\usealertblocktemplate{\medskip{\alert{\bfseries\insertblockname}}\par}{\medskip}
+\useexampleblocktemplate{\medskip\begingroup\color{darkgreen}{\bfseries\insertblockname}\par}{\endgroup\medskip}
+ 
+ 
+                                % Margins
+\beamersetleftmargin{0.5cm}
+\beamersetrightmargin{0.5cm}

beamerthemesidebardarktab.sty

+\ProvidesPackage{beamerthemesidebardarktab}[2003/10/22 ver 0.1]
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+
+% Copyright 2003 by Till Tantau <tantau@cs.tu-berlin.de>.
+%
+% This program can be redistributed and/or modified under the terms
+% of the LaTeX Project Public License Distributed from CTAN
+% archives in directory macros/latex/base/lppl.txt.
+
+\RequirePackage{keyval}[1997/11/10]
+\RequirePackage{pgfshade}
+
+\def\ProcessOptionsWithKV#1{%
+  \let\@tempa\@empty
+  \@for\CurrentOption:=\@classoptionslist\do{%
+    \@ifundefined{KV@#1@\CurrentOption}%
+    {}{\edef\@tempa{\@tempa,\CurrentOption,}}}%
+  \edef\@tempa{%
+    \noexpand\setkeys{#1}{\@tempa\@ptionlist{\@currname.\@currext}}}%
+  \@tempa
+  \AtEndOfPackage{\let\@unprocessedoptions\relax}}
+
+\newdimen\beamer@sidebarwidth
+\beamer@sidebarwidth=2.5cm
+\define@key{Side}{width}{\beamer@sidebarwidth=#1}
+\ProcessOptionsWithKV{Side}
+
+                                % Title page  
+\usetitlepagetemplate{
+  \vbox{}
+  \vfill
+  \begin{centering}
+    \Large\structure{\bfseries\inserttitle}
+    \vskip1em\par
+    \normalsize\insertauthor\vskip1em\par
+    {\scriptsize\insertinstitute\par}\par\vskip1em
+    \insertdate\par\vskip1.5em
+    \inserttitlegraphic
+  \end{centering}
+  \vfill
+}
+
+\pgfdeclarehorizontalshading{beamer@tabmain}{6.5pt}{rgb(0pt)=(1,1,1); rgb(\beamer@sidebarwidth)=(\theshadedthemecolor)}
+\pgfdeclarehorizontalshading{beamer@tab}{6.5pt}{%
+  rgb(0pt)=(1,1,1);
+  rgb(9pt)=(\theshadedthemecolor);
+  rgb(\beamer@sidebarwidth)=(\thethemecolor)}
+
+                                % Frametitles
+\useframetitletemplate{%
+  {\leftskip-\beamer@leftmargin\advance\leftskip by0.3cm%
+   \rightskip-\beamer@rightmargin plus1fil\advance\rightskip by0.3cm\vskip0.3cm\leavevmode
+    \color{structure}
+    \Large\bfseries\insertframetitle\par}%
+  }
+
+                                % Sections in headline
+\usesectionsidetemplate
+{%
+  \setbox\tempbox=\hbox{%
+    \color[gray]{0.3}\lower1pt\hbox{\pgfuseshading{beamer@tab}}%\vrule width\beamer@sidebarwidth height 6.5pt}%
+    \hskip-\beamer@sidebarwidth%
+    \color{structure}\tiny{\kern3pt\bfseries\insertsectionhead}}%
+  \ht\tempbox=8pt%
+  \dp\tempbox=2pt%
+  \wd\tempbox=\beamer@sidebarwidth%
+  \box\tempbox%
+}
+{%
+  \setbox\tempbox=\hbox{\color{structure}\tiny{\kern3pt\bfseries\insertsectionhead}}%
+  \ht\tempbox=8pt%
+  \dp\tempbox=2pt%
+  \wd\tempbox=\beamer@sidebarwidth%
+  \box\tempbox%
+}
+
+\usesubsectionsidetemplate
+{%
+  \setbox\tempbox=\hbox{%
+    \color[gray]{0.3}\lower1pt\hbox{\pgfuseshading{beamer@tab}}%\vrule width\beamer@sidebarwidth height 6.5pt}%
+    \hskip-\beamer@sidebarwidth%
+    \color{white}\tiny{\kern6pt\bfseries\insertsubsectionhead}}%
+  \ht\tempbox=5pt%
+  \dp\tempbox=2pt%
+  \wd\tempbox=\beamer@sidebarwidth%
+  \box\tempbox%
+}
+{%
+  \setbox\tempbox=\hbox{\color{white}\tiny{\kern6pt\bfseries\insertsubsectionhead}}%
+  \ht\tempbox=5pt%
+  \dp\tempbox=2pt%
+  \wd\tempbox=\beamer@sidebarwidth%
+  \box\tempbox%
+}
+                                % Entries in table of contents
+\usetemplatetocsection
+{\color{structure}\textbf{\inserttocsection}}
+{\color{structureshaded}\textbf{\inserttocsection}}
+
+                                % Head
+\useheadtemplate{}
+
+                                % Foot
+\usefoottemplate{}
+
+                                % Sidebar
+\userightsidebartemplate{\beamer@sidebarwidth}{%
+  \vskip1em
+  \beamer@tempdim=\beamer@sidebarwidth%
+  \advance\beamer@tempdim by -3pt%
+  \hbox{%
+    \hskip 3pt%
+    \begin{minipage}{\beamer@tempdim}
+      \leftskip0pt plus1fill%
+      \rightskip0pt plus1fill%
+      \tiny\color{white}\bfseries\insertshorttitle%
+      \vskip.5em
+      \color{structureshaded}\insertshortauthor
+    \end{minipage}}%
+  \vskip1em
+  \insertverticalnavigation{\beamer@sidebarwidth}%
+  \vfill
+  \hbox to \beamer@sidebarwidth{\hfil\insertlogo\hskip3pt}
+  \vskip3pt
+}
+
+                                % Sidebar Background
+\userightsidebarverticalshadingtemplate{\thethemecolor}{0,0,0}
+
+                                % Background
+\usebackgroundtemplate{}
+
+                                % Blocks
+\useblocktemplate{\medskip{\color{blockstructure}\bfseries\insertblockname}\par}{\medskip}
+\usealertblocktemplate{\medskip{\alert{\bfseries\insertblockname}}\par}{\medskip}
+\useexampleblocktemplate{\medskip\begingroup\color{darkgreen}{\bfseries\insertblockname}\par}{\endgroup\medskip}
+ 
+                                % Margins
+\beamersetleftmargin{0.5cm}
+\beamersetrightmargin{0.5cm}

beamerthemesidebartab.sty

+\ProvidesPackage{beamerthemesidebartab}[2003/10/22 ver 0.1]
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+
+% Copyright 2003 by Till Tantau <tantau@cs.tu-berlin.de>.
+%
+% This program can be redistributed and/or modified under the terms
+% of the LaTeX Project Public License Distributed from CTAN
+% archives in directory macros/latex/base/lppl.txt.
+
+\RequirePackage{keyval}[1997/11/10]
+\RequirePackage{pgfshade}
+
+\def\ProcessOptionsWithKV#1{%
+  \let\@tempa\@empty
+  \@for\CurrentOption:=\@classoptionslist\do{%
+    \@ifundefined{KV@#1@\CurrentOption}%
+    {}{\edef\@tempa{\@tempa,\CurrentOption,}}}%
+  \edef\@tempa{%
+    \noexpand\setkeys{#1}{\@tempa\@ptionlist{\@currname.\@currext}}}%
+  \@tempa
+  \AtEndOfPackage{\let\@unprocessedoptions\relax}}
+
+\newdimen\beamer@sidebarwidth
+\beamer@sidebarwidth=2.5cm
+\define@key{Side}{width}{\beamer@sidebarwidth=#1}
+\ProcessOptionsWithKV{Side}
+
+                                % Title page  
+\usetitlepagetemplate{
+  \vbox{}
+  \vfill
+  \begin{centering}
+    \Large\structure{\inserttitle}
+    \vskip1em\par
+    \normalsize\insertauthor\vskip1em\par
+    {\scriptsize\insertinstitute\par}\par\vskip1em
+    \insertdate\par\vskip1.5em
+    \inserttitlegraphic
+  \end{centering}
+  \vfill
+  }
+                                % Frametitles
+\useframetitletemplate{%
+  {\leftskip-\beamer@leftmargin\advance\leftskip by0.3cm%
+   \rightskip-\beamer@rightmargin plus1fil\advance\rightskip by0.3cm\vskip0.3cm\leavevmode
+    \color{structure}
+    \Large\insertframetitle\par}%
+  }
+
+                                % Sections in headline
+\usesectionsidetemplate
+{%
+  \setbox\tempbox=\hbox{%
+    \color{lightgray}\lower1pt\hbox{\vrule width\beamer@sidebarwidth height 6.5pt}%
+    \hskip-\beamer@sidebarwidth%
+    \color{structure}\tiny{\kern3pt\insertsectionhead}}%
+  \ht\tempbox=8pt%
+  \dp\tempbox=2pt%
+  \wd\tempbox=\beamer@sidebarwidth%
+  \box\tempbox%
+}
+{%
+  \setbox\tempbox=\hbox{\color{structure}\tiny{\kern3pt\insertsectionhead}}%
+  \ht\tempbox=8pt%
+  \dp\tempbox=2pt%
+  \wd\tempbox=\beamer@sidebarwidth%
+  \box\tempbox%
+}
+
+\usesubsectionsidetemplate
+{%
+  \setbox\tempbox=\hbox{%
+    \color{lightgray}\lower1pt\hbox{\vrule width\beamer@sidebarwidth height 6.5pt}%
+    \hskip-\beamer@sidebarwidth%
+    \color{black}\tiny{\kern6pt\insertsubsectionhead}}%
+  \ht\tempbox=5pt%
+  \dp\tempbox=2pt%
+  \wd\tempbox=\beamer@sidebarwidth%
+  \box\tempbox%
+}
+{%
+  \setbox\tempbox=\hbox{\color{black}\tiny{\kern6pt\insertsubsectionhead}}%
+  \ht\tempbox=5pt%
+  \dp\tempbox=2pt%
+  \wd\tempbox=\beamer@sidebarwidth%
+  \box\tempbox%
+}
+
+                                % Head
+\useheadtemplate{}
+
+                                % Foot
+\usefoottemplate{}
+
+                                % Sidebar
+\userightsidebartemplate{\beamer@sidebarwidth}{%
+  \vskip1em
+  \beamer@tempdim=\beamer@sidebarwidth%
+  \advance\beamer@tempdim by -3pt%
+  \hbox{%
+    \hskip 3pt%
+    \begin{minipage}{\beamer@tempdim}
+      \leftskip0pt plus1fill%
+      \rightskip0pt plus1fill%
+      \tiny\color{structure}\insertshorttitle%
+      \vskip.5em
+      \color{black}\insertshortauthor
+    \end{minipage}}%
+  \vskip1em
+  \insertverticalnavigation{\beamer@sidebarwidth}%
+  \vfill
+  \hbox to \beamer@sidebarwidth{\hfil\insertlogo\hskip3pt}
+  \vskip3pt
+}
+
+                                % Side bar background
+\userightsidebarverticalshadingtemplate{\thethemecolor}{1,1,1}
+
+                                % Background
+\usebackgroundtemplate{}
+
+                                % Blocks
+\useblocktemplate{\medskip{\color{blockstructure}\large\insertblockname}\par}{\medskip}
+\usealertblocktemplate{\medskip{\alert{\large\insertblockname}}\par}{\medskip}
+\useexampleblocktemplate{\medskip\begingroup\color{darkgreen}{\large\insertblockname}\par}{\endgroup\medskip}
+ 
+                                % Margins
+\beamersetleftmargin{0.5cm}
+\beamersetrightmargin{0.5cm}

beamerthemesplit.sty

 
                                 % Frametitles
 \useframetitletemplate{%
-  {\leftskip-\Geom@lmargin\advance\leftskip by0.3cm%
-   \rightskip-\Geom@rmargin plus1fil\advance\rightskip by0.3cm\leavevmode
+  {\leftskip-\beamer@leftmargin\advance\leftskip by0.3cm%
+   \rightskip-\beamer@rightmargin plus1fil\advance\rightskip by0.3cm\leavevmode
     \color{structure}
     \Large\insertframetitle\par}%
   }
 
+
                                 % Sections in headline
 \usesectionheadtemplate
 {\hfill\color{white}\tiny\textbf{\insertsectionhead}}
 {\leavevmode\leftskip=1.5em\color{black}\inserttocsubsection\par}
 {\leavevmode\leftskip=1.5em\color{shaded}\inserttocsubsection\par}
 
-\newbox\subsectionsbox
-\newbox\sectionsbox
-
 \newdimen\tempdimen
                                 % Head
 \useheadtemplate{%
       \vbox to \tempdimen{\vfil\insertsectionnavigation{.5\paperwidth}\vfil}%
       \vbox to \tempdimen{\vfil\insertsubsectionnavigation{.5\paperwidth}\vfil}\hfill}%
     \hbox to\textwidth{%
-      {\color{black}\hskip-\Geom@lmargin\vrule width.5\paperwidth
+      {\color{black}\hskip-\Gm@lmargin\vrule width.5\paperwidth
       height\ht\linebox\color{structure}\vrule width.5\paperwidth
-      height\ht\linebox\hskip-\paperwidth\hskip\Geom@lmargin}%
-     \hskip-\Geom@lmargin\box\linebox\hfill\hskip-\Geom@rmargin%
+      height\ht\linebox\hskip-\paperwidth\hskip\Gm@lmargin}%
+     \hskip-\Gm@lmargin\box\linebox\hfill\hskip-\Gm@rmargin%
       }%
   }%
 }
     \ht\linebox=7pt%
     \dp\linebox=0pt%
     \setbox\linebox=\vbox{\box\linebox\vskip3pt}%
-    \color{black}\hskip-\Geom@lmargin\vrule width.5\paperwidth
+    \color{black}\hskip-\Gm@lmargin\vrule width.5\paperwidth
     height\ht\linebox\color{structure}\vrule width.5\paperwidth
     height\ht\linebox\hskip-\paperwidth% 
-    \hbox{\box\linebox\hfill}\hfill\hskip-\Geom@rmargin}}
+    \hbox{\box\linebox\hfill}\hfill\hskip-\Gm@rmargin}}
 
 \def\logo#1{%
   \def\insertlogo{#1}%
   \usefoottemplate{%
     \vbox{%
-      \hbox to\textwidth{\hfill\setbox\logobox=\hbox{\insertlogo}\ht\logobox=0pt\box\logobox\hskip-\Geom@rmargin\hskip0.3cm}\vskip2pt%
+      \hbox to\textwidth{\hfill\setbox\logobox=\hbox{\insertlogo}\ht\logobox=0pt\box\logobox\hskip-\Gm@rmargin\hskip0.3cm}\vskip2pt%
     \hbox{%
     \setbox\linebox=\hbox to\paperwidth{%
       \hbox to.5\paperwidth{\hfill\tiny\color{white}\textbf{\insertshortauthor}\hskip.3cm}%
     \ht\linebox=7pt%
     \dp\linebox=0pt%
     \setbox\linebox=\vbox{\box\linebox\vskip3pt}%
-    \color{black}\hskip-\Geom@lmargin\vrule width.5\paperwidth
+    \color{black}\hskip-\Gm@lmargin\vrule width.5\paperwidth
     height\ht\linebox\color{structure}\vrule width.5\paperwidth
     height\ht\linebox\hskip-\paperwidth% 
-    \hbox{\box\linebox\hfill}\hfill\hskip-\Geom@rmargin}}}}
+    \hbox{\box\linebox\hfill}\hfill\hskip-\Gm@rmargin}}}}
 
 
                                 % Background

beamerthemesplitcondensed.sty

   \vbox{}
   \vfill
   \begin{centering}
-    \Large\structure{\bfseries\inserttitle}
+    \Large\structure{\inserttitle}
     \vskip1em\par
     \normalsize\insertauthor\vskip1em\par
     {\scriptsize\insertinstitute\par}\par\vskip1em
 
                                 % Frametitles
 \useframetitletemplate{%
-  {\leftskip-\Geom@lmargin\advance\leftskip by0.3cm%
-   \rightskip-\Geom@rmargin plus1fil\advance\rightskip by0.3cm\leavevmode
+  {\leftskip-\beamer@leftmargin\advance\leftskip by0.3cm%
+   \rightskip-\beamer@rightmargin plus1fil\advance\rightskip by0.3cm\leavevmode
     \color{structure}
     \Large\insertframetitle\par}%
   }
 
+
                                 % Sections in headline
 \usesectionheadtemplate
 {\color{white}\tiny\textbf{\insertsectionhead}}
 {\leavevmode\leftskip=1.5em\color{black}\inserttocsubsection\par}
 {\leavevmode\leftskip=1.5em\color{shaded}\inserttocsubsection\par}
 
-\useframetitletemplate{%
-  {\leftskip-\Geom@lmargin\advance\leftskip by0.3cm%
-   \rightskip-\Geom@rmargin plus1fil\advance\rightskip by0.3cm\leavevmode
-    \color{structure}
-    \Large\textbf{\insertframetitle}\par}%
-  }
-
                                 % Head
 \useheadtemplate{%
   \vbox{%
     \ht\linebox=7pt%
     \dp\linebox=0pt%
     \setbox\linebox=\vbox{\box\linebox\vskip3pt}%
-    \color{black}\hskip-\Geom@lmargin\vrule width.5\paperwidth
+    \color{black}\hskip-\Gm@lmargin\vrule width.5\paperwidth
     height\ht\linebox\color{structure}\vrule width.5\paperwidth
     height\ht\linebox\hskip-\paperwidth% 
-    \hbox{\box\linebox\hfill}\hfill\hskip-\Geom@rmargin}}
+    \hbox{\box\linebox\hfill}\hfill\hskip-\Gm@rmargin}}
 
 \def\logo#1{%
   \def\insertlogo{#1}%
   \usefoottemplate{%
     \vbox{%
-      \hbox to\textwidth{\hfill\setbox\logobox=\hbox{\insertlogo}\ht\logobox=0pt\box\logobox\hskip-\Geom@rmargin\hskip0.3cm}\vskip2pt%
+      \hbox to\textwidth{\hfill\setbox\logobox=\hbox{\insertlogo}\ht\logobox=0pt\box\logobox\hskip-\Gm@rmargin\hskip0.3cm}\vskip2pt%
     \hbox{%
     \setbox\linebox=\hbox to\paperwidth{%
       \hbox to.5\paperwidth{\hfill\tiny\color{white}\textbf{\insertshortauthor}\hskip.3cm}%
     \ht\linebox=7pt%
     \dp\linebox=0pt%
     \setbox\linebox=\vbox{\box\linebox\vskip3pt}%
-    \color{black}\hskip-\Geom@lmargin\vrule width.5\paperwidth
+    \color{black}\hskip-\Gm@lmargin\vrule width.5\paperwidth
     height\ht\linebox\color{structure}\vrule width.5\paperwidth
     height\ht\linebox\hskip-\paperwidth% 
-    \hbox{\box\linebox\hfill}\hfill\hskip-\Geom@rmargin}}}}
+    \hbox{\box\linebox\hfill}\hfill\hskip-\Gm@rmargin}}}}
 
                                 % Background
 \usebackgroundtemplate{}

beamerthemetree.sty

 
                                 % Frametitles
 \useframetitletemplate{%
-  {\leftskip-\Geom@lmargin\advance\leftskip by0.3cm%
-   \rightskip-\Geom@rmargin plus 1fil\advance\rightskip by0.3cm\leavevmode
+  {\leftskip-\beamer@leftmargin\advance\leftskip by0.3cm%
+   \rightskip-\beamer@rightmargin plus1fil\advance\rightskip by0.3cm\leavevmode
     \color{structure}
     \Large\insertframetitle\par}%
   }
 
+
   
                                 % Sections in headline
 \usesectionheadtemplate

beamerthemetreebars.sty

 
                                 % Frametitles
 \useframetitletemplate{%
-  {\leftskip-\Geom@lmargin\advance\leftskip by0.3cm%
-   \rightskip-\Geom@rmargin plus 1fil\advance\rightskip by0.3cm\leavevmode
+  {\leftskip-\beamer@leftmargin\advance\leftskip by0.3cm%
+   \rightskip-\beamer@rightmargin plus1fil\advance\rightskip by0.3cm\leavevmode
     \color{structure}
     \Large\insertframetitle\par}%
   }

Binary file modified.

doc/beamerexample.tex

 % of the LaTeX Project Public License Distributed from CTAN
 % archives in directory macros/latex/base/lppl.txt.
 
-\usepackage{beamerthemesplitcondensed,beamertemplates}
+\usepackage{beamerthemesplit}
+\usepackage{beamertemplates}
 \usepackage[english]{babel}
 \usepackage{pgf,pgfarrows,pgfnodes,pgfautomata,pgfheaps,pgfshade}
 \usepackage{amsmath,amssymb}
   pdfsubject={Theoretical Computer Science},
   pdfkeywords={overhead-free, context-free, linear space}}
 
-\title{Computation with Absolutely No Space Overhead}
+\title[Computation with Absolutely No~Space~Overhead]{Computation~with Absolutely~No~Space~Overhead}
 \author{%
-  Lane Hemaspaandra\inst{1} \and
-  Proshanto Mukherji\inst{1} \and
-  Till Tantau\inst{2}}
+  Lane~Hemaspaandra\inst{1} \and
+  Proshanto~Mukherji\inst{1} \and
+  Till~Tantau\inst{2}}
 \institute[Universities of Rochester and Berlin]{
   \inst{1}%
   Department of Computer Science\\
   Technical University of Berlin}
 \date[DLT 2003]{Developments in Language Theory Conference, 2003}
 
+% Try this:
+\beamertemplateshadingbackground{1,0.9,0.9}{0.9,0.9,1}
 
-% Try this:
-%\beamertemplateshadingbackground{1,0.9,0.9}{0.9,0.9,1}
+
 
 \begin{document}
 
 \frame{\titlepage}
 
+
 \section[Outline]{}
 
 \frame{\tableofcontents}
 \note{At most 1 minute for the outline.}
 
-\section[Our Model]{The Model of Overhead-Free Computation}
+\section[Models]{The Model of Overhead-Free Computation}
 
 \frame{\tableofcontentscurrent}
 
-\subsection{The Standard Model of Linear Space}
+\subsection[Standard Model]{The Standard Model of Linear Space}
 
 \frame
 {
 \item Explain CSL.
 \item Point out the connections to formal language theory.}
 
-\subsection{Our Model of Absolutely No Space Overhead}
+\subsection[Our Model]{Our Model of Absolutely No Space Overhead}
 
 \frame
 {
 \note{Skip next subsection if more than 18 minutes have passed.}
 
 
-\subsection{Context-Free Languages with a Forbidden Subword}
+\subsection[Forbidden Subword]{Context-Free Languages with a Forbidden Subword}
 
 \frame
 {
   \end{pgfpicture}
 }
 
-\subsection{Languages Complete for Polynomial Space}
+\subsection[Complete Languages]{Languages Complete for Polynomial Space}
 
 \frame
 {
 
 \frame{\tableofcontentscurrent}
 
-\subsection{Linear Space is Strictly More Powerful}
+\subsection[Strict Inclusion]{Linear Space is Strictly More Powerful}
 
 \frame
 {
Add a comment to this file

doc/beameruserguide.pdf

Binary file modified.

doc/beameruserguide.tex

 
 \pgfdeclareimage{themebars}{6.66666cm}{5cm}{themebars}
 \pgfdeclareimage{themebars2}{6.66666cm}{5cm}{themebars2}
+\pgfdeclareimage{themeboxes}{6.66666cm}{5cm}{themeboxes}
+\pgfdeclareimage{themeboxes2}{6.66666cm}{5cm}{themeboxes2}
 \pgfdeclareimage{themeclassic}{6.66666cm}{5cm}{themeclassic}
 \pgfdeclareimage{themeclassic2}{6.66666cm}{5cm}{themeclassic2}
 \pgfdeclareimage{themelined}{6.66666cm}{5cm}{themelined}
 \pgfdeclareimage{themelined2}{6.66666cm}{5cm}{themelined2}
 \pgfdeclareimage{themeplain}{6.66666cm}{5cm}{themeplain}
 \pgfdeclareimage{themeplain2}{6.66666cm}{5cm}{themeplain2}
+\pgfdeclareimage{themesidebar}{6.66666cm}{5cm}{themesidebar}
+\pgfdeclareimage{themesidebar2}{6.66666cm}{5cm}{themesidebar2}
+\pgfdeclareimage{themesidebardark}{6.66666cm}{5cm}{themesidebardark}
+\pgfdeclareimage{themesidebardark2}{6.66666cm}{5cm}{themesidebardark2}
+\pgfdeclareimage{themesidebartab}{6.66666cm}{5cm}{themesidebartab}
+\pgfdeclareimage{themesidebartab2}{6.66666cm}{5cm}{themesidebartab2}
+\pgfdeclareimage{themesidebardarktab}{6.66666cm}{5cm}{themesidebardarktab}
+\pgfdeclareimage{themesidebardarktab2}{6.66666cm}{5cm}{themesidebardarktab2}
 \pgfdeclareimage{themesplit}{6.66666cm}{5cm}{themesplit}
 \pgfdeclareimage{themesplit2}{6.66666cm}{5cm}{themesplit2}
+\pgfdeclareimage{themesplitcondensed}{6.66666cm}{5cm}{themesplitcondensed}
+\pgfdeclareimage{themesplitcondensed2}{6.66666cm}{5cm}{themesplitcondensed2}
 \pgfdeclareimage{themetree}{6.66666cm}{5cm}{themetree}
 \pgfdeclareimage{themetree2}{6.66666cm}{5cm}{themetree2}
 \pgfdeclareimage{themetreebars}{6.66666cm}{5cm}{themetreebars}
 a series of slides. You create a frame using the command
 \verb!\frame!. This command takes one parameter, namely the
 contents of the frame. All of this text that is not tagged by overlay
-specifications is shown on all slides of the frame. 
+specifications (see Section~\ref{subsection-overlay}) is shown on all
+slides of the frame.  
 
 \Command{frame}
 \Parameters{
 }
 \end{verbatim}
 
-\Command{pictureframe}
+\Command{plainframe}
 \Parameters{
 \item
   optional parameter in square brackets: a specification of slides to
   the frame's contents.
 }
 \Description{
-  This command creates a frame that can be used to show a big picture
-  that completely fills the frame. All head and foot lines will be
-  suppressed. 
+  This command creates a frame in which the head lines, foot lines,
+  and side bars are suppressed. This is useful for creating single
+  frames with different head and foot lines or for creating frames
+  showing big pictures that completely fill the frame.
   }
-\Example
+\Example A frame with a picture completely filling the frame:  
 \begin{verbatim}
 \pgfdeclareimage{bigimage}{}{9.6cm}{bigimagefilename}
-\pictureframe{\hfill\pgfuseimage{bigimage}\hfill}
+\plainframe{\hfill\pgfuseimage{bigimage}\hfill}
 \end{verbatim}
 
-
-
-
-\subsection{Frame Titles}
-
-Each frame typically has an individual frame title, which is shown
-prominently at the top of the frame. This title is created using
-the command \verb!\frametitle!.
+\Example A title page, in which the head and foot lines are replaced
+by two graphics.
+\begin{verbatim}
+\usetitlepagetemplate{
+  \beamerline{\pgfuseimage{toptitle}}
+  \vskip0pt plus 1filll
+
+  \begin{centering}
+    \Large{\textbf{\inserttitle}}
+    
+    \insertdate
+  \end{centering}
+
+  \vskip0pt plus 1filll
+  \beamerline{\pgfuseimage{bottomtitle}}
+}
+
+\begin{document}
+\plainframe{\titlepage}
+\end{verbatim}
+
+
+\subsection{Components of a Frame}
+
+Each frame consists of up to six components:
+\begin{enumerate}\itemsep=0pt\parskip=0pt
+\item a head line,
+\item a foot line,
+\item a left side bar,
+\item a right side bar,
+\item a frame title, and
+\item some frame contents.
+\end{enumerate}
+
+A frame need not have all of these components. Usually, the first four
+components are automatically setup by the theme you are
+using. To change them, you must install an appropriate template, see
+Section~\ref{section-head-templates} for the head and foot lines and
+Section~\ref{section-sidebar-templates} for the side bars.
+
+The frame title is shown prominently at the top of the frame. To
+specify the title, use the command \verb!\frametitle!. You should end
+the frame title with a period, if the title is a proper
+sentence. Otherwise, there should not be a period.
 
 \Command{frametitle}
 \Parameters{
 \item a title for the frame.
 }
-\Example \verb!\frametitle{A Frame Title is Important.}!
+\Example
+\begin{verbatim}
+\frame{
+  \frametitle{A Frame Title is Important.}
+
+  Frame contents.
+}
+\end{verbatim}
 
 
 
 \subsection{Commands with Overlay Specifications}
+\label{subsection-overlay}
 
 The number of slides in a frame is calculated automatically from the
 overlay specifications inside the frame, but see below for how to
 
 You should refrain from changing the ``paper size.'' However, you
 \emph{can} change the size of the left and right margins, which
-default to 1cm. To change them, use the command \verb!\geometry!. For
-example, to set the left margin to 0.5cm and the right margin to
-0.25cm, use
-\begin{verbatim}
-\geometry{left=0.5cm,right=0.25cm}
-\end{verbatim}
-somewhere in the preamble. You can also specify the margins
-differently, see the documentation of the \verb!geometry! package for
-details on the different ways. 
+default to 1cm. To change them, you should use the following two
+commands:
+
+\Command{beamersetleftmargin}
+\Parameters{
+\item a new left margin, \emph{excluding} the left side bar, if present.
+  }
+\Description{
+  Sets a new left margin. This excludes the left side bar. Thus, it is
+the distance between the right edge of the left side bar and the left
+edge of the text. This command can only be used in the preamble
+(before the \texttt{document} environment is used).
+  }
+\Example \verb!\beamersetleftmargin{1cm}!
+
+\Command{beamersetrightmargin}
+\Parameters{
+\item a new right margin, excluding the right side bar, if present.
+  }
+\Description{
+  Like \texttt{beamersetleftmargin}, only for the right margin.
+  }
+\Example \verb!\beamersetleftmargin{1cm}!
+
+For more information on side bars, see Section~\ref{section-sidebar-templates}.
 
 
 
 Themes are used by including an appropriate \LaTeX\ style file, using
 the standard \verb!\usepackage! command.
 
+
+\subsection{Bars Theme}
+
+\Theme{beamerthemebars}
+\Parameters{
+\item Package option \texttt{headheight}, which specifies the height
+of the head line. Specified in a key~=~value fashion.
+\item Package option \texttt{footheight}, which specifies the height
+of the foot line. Specified in a key~=~value fashion.
+}
+\Example
+\begin{verbatim}
+\usepackage[headheight=2cm,footheight=1cm]{beamerthemeboxes}
+\end{verbatim}
+
+\Example
+
+\hbox{\pgfuseimage{themebars}\quad\pgfuseimage{themebars2}}
+
+
+\subsection{Boxes Theme}
+
 \vbox{
-\Theme{beamerthemebars}
+\Theme{beamerthemeboxes}
 
 \Example
 
-\hbox{\pgfuseimage{themebars}\quad\pgfuseimage{themebars2}}
+\hbox{\pgfuseimage{themeboxes}\quad\pgfuseimage{themeboxes2}}
 }
 
+For this theme, you can specify an arbitrary number of templates for
+the boxes in the head line and in the foot line. You can add a
+template for another box by using the following commands.
+
+\Command{addheadboxtemplate}
+\Parameters{
+\item a color command for the background of the box
+\item a template for a new box
+  }
+\Description{
+  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 Left Box}
+\addheadboxtemplate{\color{black}}{\color{white}\tiny\quad Right Box}
+\end{verbatim}
+
+\Command{addfootboxtemplate}
+\Parameters{
+\item a color command for the background of the box
+\item a template for a new box
+  }
+\Example
+\begin{verbatim}
+\addheadfoottemplate{\color{black}}{\color{white}\tiny\quad Big Box}
+\end{verbatim}
+
+
+
+
+\subsubsection{Classic Theme}
+
 \vbox{
 \Theme{beamerthemeclassic}
 
 \hbox{\pgfuseimage{themeclassic}\quad\pgfuseimage{themeclassic2}}
 }
 
+
+\subsubsection{Lined Theme}
+
 \vbox{
 \Theme{beamerthemelined}
 
 \hbox{\pgfuseimage{themelined}\quad\pgfuseimage{themelined2}}
 }
 
+
+
+
+\subsubsection{Plain Theme}
+
 \vbox{
 \Theme{beamerthemeplain}
 
 \hbox{\pgfuseimage{themeplain}\quad\pgfuseimage{themeplain2}}
 }
 
+
+\subsubsection{Side Bar Themes}
+
+\Theme{beamerthemesidebar}
+\Parameters{
+\item Package option \texttt{width}, which specifies the width of 
+of the side bar. Specified in a key~=~value fashion.
+}
+\Example
+\begin{verbatim}
+\usepackage[width=3cm]{beamerthemesidebar}
+\end{verbatim}
+
+\Example
+
+\hbox{\pgfuseimage{themesidebar}\quad\pgfuseimage{themesidebar2}}
+
+
+The following themes take the same parameter as the normal side bar
+theme. They only differ in the coloring of the side bar.
+
+\vbox{
+\Theme{beamerthemesidebartab}
+
+\Example
+
+\hbox{\pgfuseimage{themesidebartab}\quad\pgfuseimage{themesidebartab2}}
+}
+
+\vbox{
+\Theme{beamerthemesidebardark}
+
+\Example
+
+\hbox{\pgfuseimage{themesidebardark}\quad\pgfuseimage{themesidebardark2}}
+}
+
+\vbox{
+\Theme{beamerthemesidebartabdark}
+
+\Example
+
+\hbox{\pgfuseimage{themesidebardarktab}\quad\pgfuseimage{themesidebardarktab2}}
+}
+
+
+\subsubsection{Split Theme}
+
 \vbox{
 \Theme{beamerthemesplit}
 
 \hbox{\pgfuseimage{themesplit}\quad\pgfuseimage{themesplit2}}
 }
 
+
+\subsubsection{Condensed Split Theme}
+
+\vbox{
+\Theme{beamerthemesplitcondensed}
+
+\Example
+
+\hbox{\pgfuseimage{themesplitcondensed}\quad\pgfuseimage{themesplitcondensed2}}
+}
 \vbox{
 \Theme{beamerthemetree}
 
+
+
+\subsubsection{Tree Themes}
+
 \Example
 
 \hbox{\pgfuseimage{themetree}\quad\pgfuseimage{themetree2}}
 }
 
 
-\subsection{Predefined Templates}
+\subsection{Templates}
 \label{section-templates}
 
 If you only wish to modify a small part of how your presentation is
 every occurrence of \verb!\insertframetitle! by the current frame
 title.
 
-In the next subsection predefined commands are listed that change one
-or more templates. In the two subsequent subsection, complete listings
-of all templates are given and the different \verb!\insertxxxx!
-commands are explained.
-
-
-
-
-\subsubsection{Backgrounds}
-
-Just as there exist predefined themes, there exist predefined
-templates. They are defined in the package \verb!beamertemplates!.
-Calling one of the following commands will change a template in a
-predefined way. Using them, you can use, for example, your favorite
+In the following subsections all commands for changing templates are
+listed, like the above-mentioned command
+\verb!\useframetitletemplate!. Inside these commands, you should use
+the \verb!\insertxxxx! commands listed in 
+the next subsection. 
+
+Some of the below subsections start with commands for using
+\emph{predefined} templates. These commands are defined in the package
+\verb!beamertemplates!. Calling one of them will change a template in
+a predefined way. Using them, you can use, for example, your favorite
 theme together with a predefined background.
 
 
-\Command{beamertemplateshadingbackground}
-\Parameters{
-\item A comma-separated rgb triple specifying the color at the page
-  bottom.
-\item A comma-separated rgb triple specifying the color at the top of
-  the page.  
-  }
-\Description{Installs a vertically shaded background such that the
-  specified bottom color changes smoothly to the specified top
-  color. \textbf{Use with care: Background shadings are often
-    distracting!} However, a very light shading with warm colors can
-  make a presentation more lively.}
-\Example
-\begin{verbatim}
-\beamertemplateshadingbackground{1,0.9,0.9}{0.9,0.9,1}
-% Bottom is light red, top is light blue
-\end{verbatim}
-
-
-\Command{beamertemplategridbackground}
-\Description{Installs a light grid as background.}
-
-
-
-\subsubsection{Head and Foot Lines}
-
-\Command{beamertemplateheadempty}
-\Description{Makes the head line empty.}
-
-\Command{beamertemplatefootempty}
-\Description{Makes the foot line empty.}
-
-\Command{beamertemplatefootpagenumber}
-\Description{Shows only the page number in the foot line.}
-
-
-
-\subsubsection{Itemizing}
-
-\Command{beamertemplatedotitem}
-\Description{Changes the symbols shown in an \texttt{itemize}
-  environment to dots.}
-
-\Command{beamertemplateballitem}
-\Description{Changes the symbols shown in an \texttt{itemize}
-  environment to small plastic balls.}
-
-
-
-\subsubsection{Bibliography}
-
-\label{section-bib-templates}
-
-\Command{beamertemplatetextbibitems}
-\Description{Shows the citation text in front of references in a
-  bibliography instead of a small symbol.} 
-
-\Command{beamertemplatearrowbibitems}
-\Description{Changes the symbol before references in a bibliography to
-  a small arrow.}
-
-\Command{beamertemplatebookbibitems}
-\Description{Changes the symbol before references in a bibliography to
-  a small book icon.}
-
-\Command{beamertemplatearticlebibitems}
-\Description{Changes the symbol before references in a bibliography to