Commits

Anonymous committed 1ecceca

see change log

  • Participants
  • Parent commits 33b4045

Comments (0)

Files changed (9)

+2003-10-28 Till Tantau <tantau@users.sourceforge.net>
+
+	- Added figure and table environments.
+	- Started switch over to xxcolor.
+	- Implemented transparency effects for covered items.
+	- Fixed problem with \label.
+	- Made \bibitem overlay-specification-aware.
+	- Added \transduration command.	
+
 2003-10-23 Till Tantau <tantau@users.sourceforge.net>
 
 	Version 0.91:

File art/beamericonarticle.tex

 \usepackage[papersize={11pt,14pt},hmargin=0pt,vmargin=0pt,headsep=0pt,nohead,nofoot]{geometry}
 
 \pagestyle{empty}
-\pgfdeclareverticalshading{shadow}{20pt}{%
-  rgb(0pt)=(.2,.2,.2);
-  rgb(11pt)=(1,1,1)}
-\pgfdeclareverticalshading{paper}{20pt}{%
-  rgb(0pt)=(0.8,0.8,0.5);
-  rgb(15pt)=(1,1,1)}
-\pgfdeclareverticalshading{pic}{2.5pt}{%
-  rgb(0pt)=(0.25,0.75,0.25);
-  rgb(1.5pt)=(0.75,0.25,0.25);
-  rgb(3.5pt)=(0.25,0.25,0.75)}
-\pgfdeclareverticalshading{corner}{2pt}{%
-  rgb(0pt)=(0.5,0.5,0);
-  rgb(2pt)=(0.8,0.8,0.8)}
 
 \begin{document}
-\noindent\hbox{%
-\begin{pgfpicture}{-1pt}{-2pt}{10pt}{12pt}
-    \pgfsetxvec{\pgfpoint{1pt}{0pt}}
-    \pgfsetyvec{\pgfpoint{0pt}{1pt}}
-    \pgfsetlinewidth{0.4pt}
+\begin{colormixin}{20}%
+  \pgfdeclareverticalshading{shadow}{20pt}{%
+    rgb(0pt)=(.2,.2,.2);
+    rgb(11pt)=(1,1,1)}%
+  \pgfdeclareverticalshading{paper}{20pt}{%
+    rgb(0pt)=(0.8,0.8,0.5);
+    rgb(15pt)=(1,1,1)}%
+  \pgfdeclareverticalshading{pic}{2.5pt}{%
+    rgb(0pt)=(0.25,0.75,0.25);
+    rgb(1.5pt)=(0.75,0.25,0.25);
+    rgb(3.5pt)=(0.25,0.25,0.75)}%
+  \pgfdeclareverticalshading{corner}{2pt}{%
+    rgb(0pt)=(0.5,0.5,0);
+    rgb(2pt)=(0.8,0.8,0.8)}%
+  \noindent\hbox{%
+    \begin{pgfpicture}{-1pt}{-2pt}{10pt}{12pt}
+      \pgfsetxvec{\pgfpoint{1pt}{0pt}}
+      \pgfsetyvec{\pgfpoint{0pt}{1pt}}
+      \pgfsetlinewidth{0.4pt}
 
-%    \begin{pgfscope}
-%      \color[gray]{0.7}
-%      \pgfmoveto{\pgfxy(0.6,-1)}
-%      \pgflineto{\pgfxy(9,-1)}
-%      \pgflineto{\pgfxy(9,8.2)}
-%      \pgflineto{\pgfxy(6.8,10.4)}
-%      \pgflineto{\pgfxy(0.6,10.4)}
-%      \pgfclip
+                                %    \begin{pgfscope}
+                                %      \color[gray]{0.7}
+                                %      \pgfmoveto{\pgfxy(0.6,-1)}
+                                %      \pgflineto{\pgfxy(9,-1)}
+                                %      \pgflineto{\pgfxy(9,8.2)}
+                                %      \pgflineto{\pgfxy(6.8,10.4)}
+                                %      \pgflineto{\pgfxy(0.6,10.4)}
+                                %      \pgfclip
 
-%      \pgfputat{\pgfxy(0.6,-10)}
-%      {%
-%        \begin{pgfrotateby}{\pgfdegree{45}}
-%          \pgfbox[left,base]{\pgfuseshading{shadow}}
-%        \end{pgfrotateby}
-%      }
-%    \end{pgfscope}      
+                                %      \pgfputat{\pgfxy(0.6,-10)}
+                                %      {%
+                                %        \begin{pgfrotateby}{\pgfdegree{45}}
+                                %          \pgfbox[left,base]{\pgfuseshading{shadow}}
+                                %        \end{pgfrotateby}
+                                %      }
+                                %    \end{pgfscope}      
 
-    \begin{pgfscope}
+      \begin{pgfscope}
+        \pgfmoveto{\pgfxy(0,0)}
+        \pgflineto{\pgfxy(8,0)}
+        \pgflineto{\pgfxy(8,9)}
+        \pgflineto{\pgfxy(6,9)}
+        \pgflineto{\pgfxy(6,11)}
+        \pgflineto{\pgfxy(0,11)}
+        \pgfclip
+
+        \pgfputat{\pgfxy(0,-10)}
+        {%
+          \begin{pgfrotateby}{\pgfdegree{45}}
+            \pgfbox[left,base]{\pgfuseshading{paper}}
+          \end{pgfrotateby}
+        }
+      \end{pgfscope}
+      
+      \begin{pgfscope}
+        \pgfmoveto{\pgfxy(8,9)}
+        \pgflineto{\pgfxy(6,9)}
+        \pgflineto{\pgfxy(6,11)}
+        \pgfclip
+
+        \pgfputat{\pgfxy(6,9)}{\pgfbox[left,base]{\pgfuseshading{corner}}}
+      \end{pgfscope}
+
       \pgfmoveto{\pgfxy(0,0)}
       \pgflineto{\pgfxy(8,0)}
       \pgflineto{\pgfxy(8,9)}
-      \pgflineto{\pgfxy(6,9)}
       \pgflineto{\pgfxy(6,11)}
       \pgflineto{\pgfxy(0,11)}
-      \pgfclip
+      \pgfclosepath
+      \pgfstroke
+      
+      \color[gray]{0.5}
+      \pgfxyline(1,9.5)(6,9.5)
+      \color[gray]{0.6}
+      \pgfxyline(2,8)(6,8)
+      \pgfxyline(2,7)(6,7)
+      
+      \color[gray]{0.7}
+      \pgfxyline(1,5.5)(3.5,5.5)
+      \pgfxyline(1,4.5)(3.5,4.5)
+      \pgfxyline(1,3.5)(3.5,3.5)
+      \pgfxyline(1,2.5)(3.5,2.5)
+      \pgfxyline(1,1.5)(3.5,1.5)
 
-      \pgfputat{\pgfxy(0,-10)}
-      {%
-        \begin{pgfrotateby}{\pgfdegree{45}}
-          \pgfbox[left,base]{\pgfuseshading{paper}}
-        \end{pgfrotateby}
-      }
-    \end{pgfscope}
-    
-    \begin{pgfscope}
+      \pgfputat{\pgfxy(4.5,2.25)}{\pgfbox[left,base]{\pgfuseshading{pic}}}
+      \pgfxyline(4.5,1.5)(7,1.5)
+
+      \color{black}
       \pgfmoveto{\pgfxy(8,9)}
       \pgflineto{\pgfxy(6,9)}
       \pgflineto{\pgfxy(6,11)}
-      \pgfclip
-
-      \pgfputat{\pgfxy(6,9)}{\pgfbox[left,base]{\pgfuseshading{corner}}}
-    \end{pgfscope}
-
-    \pgfmoveto{\pgfxy(0,0)}
-    \pgflineto{\pgfxy(8,0)}
-    \pgflineto{\pgfxy(8,9)}
-    \pgflineto{\pgfxy(6,11)}
-    \pgflineto{\pgfxy(0,11)}
-    \pgfclosepath
-    \pgfstroke
-    
-    \color[gray]{0.5}
-    \pgfxyline(1,9.5)(6,9.5)
-    \color[gray]{0.6}
-    \pgfxyline(2,8)(6,8)
-    \pgfxyline(2,7)(6,7)
-    
-    \color[gray]{0.7}
-    \pgfxyline(1,5.5)(3.5,5.5)
-    \pgfxyline(1,4.5)(3.5,4.5)
-    \pgfxyline(1,3.5)(3.5,3.5)
-    \pgfxyline(1,2.5)(3.5,2.5)
-    \pgfxyline(1,1.5)(3.5,1.5)
-
-    \pgfputat{\pgfxy(4.5,2.25)}{\pgfbox[left,base]{\pgfuseshading{pic}}}
-    \pgfxyline(4.5,1.5)(7,1.5)
-
-    \color{black}
-    \pgfmoveto{\pgfxy(8,9)}
-    \pgflineto{\pgfxy(6,9)}
-    \pgflineto{\pgfxy(6,11)}
-    \pgfstroke
-\end{pgfpicture}%
-}
+      \pgfstroke
+    \end{pgfpicture}%
+  }%
+\end{colormixin}%
 \end{document}

File art/beamericonbook.tex

 \documentclass[12pt]{article}
 
 \usepackage{pgf,pgfshade}
-\usepackage{color}
+\usepackage{xxcolor}
 
 \usepackage[papersize={14pt,12pt},hmargin=0pt,vmargin=0pt,headsep=0pt,nohead,nofoot]{geometry}
 
 \pagestyle{empty}
-\pgfdeclarehorizontalshading{cover}{20pt}{%
-  rgb(0pt)=(0.84,.5,.5);
-  rgb(1.8pt)=(0.82,.48,.48);
-  rgb(1.9pt)=(0.83,.66,.65);
-  rgb(2.1pt)=(0.83,.66,.65);
-  rgb(3pt)=(0.69,.25,.3);
-  rgb(8pt)=(0.45,0.05,0.05)}
 
-\pgfdeclareverticalshading{side}{10pt}{%
-  rgb(0pt)=(0.78,.78,.78);
-  rgb(2.5pt)=(0.60,.60,.60);
-  rgb(5pt)=(0.25,.25,.25)}
-
-\begin{document}
-\noindent\hbox{%
-\begin{pgfpicture}{0pt}{1pt}{14pt}{11pt}
-    \pgfsetxvec{\pgfpoint{1pt}{0pt}}
-    \pgfsetyvec{\pgfpoint{0pt}{1pt}}
-    \pgfsetlinewidth{0.4pt}
-    \pgfsetroundjoin
- 
-    \pgfsetlinewidth{0.8pt}
-    \color[gray]{0.5}
-    \pgfmoveto{\pgfxy(6.5,11.5)}
-    \pgflineto{\pgfxy(1,10.5)}
-    \pgfcurveto{\pgfxy(0.6,9.75)}{\pgfxy(0.6,8.75)}{\pgfxy(1,8)}
-    \pgflineto{\pgfxy(6.5,2)}
-    \pgflineto{\pgfxy(13,3)}
-    \pgfcurveto{\pgfxy(12,4)}{\pgfxy(12,5)}{\pgfxy(13,6)}
-    \pgfclosepath
-    
-    \pgfmoveto{\pgfxy(6.5,2)}  
-    \pgfcurveto{\pgfxy(6,3)}{\pgfxy(6,4)}{\pgfxy(6.5,5)}
-    \pgflineto{\pgfxy(13,6)}
-    \pgfstroke
-
-    \begin{pgfscope}
+\begin{document}%
+\begin{colormixin}{100}%
+  \pgfdeclarehorizontalshading{cover}{20pt}{%
+    rgb(0pt)=(0.84,.5,.5);
+    rgb(1.8pt)=(0.82,.48,.48);
+    rgb(1.9pt)=(0.83,.66,.65);
+    rgb(2.1pt)=(0.83,.66,.65);
+    rgb(3pt)=(0.69,.25,.3);
+    rgb(8pt)=(0.45,0.05,0.05)}%
+                                %
+  \pgfdeclareverticalshading{side}{10pt}{%
+    rgb(0pt)=(0.78,.78,.78);
+    rgb(2.5pt)=(0.60,.60,.60);
+    rgb(5pt)=(0.25,.25,.25)}%
+  \noindent\hbox{%
+    \begin{pgfpicture}{0pt}{1pt}{14pt}{11pt}
+      \pgfsetxvec{\pgfpoint{1pt}{0pt}}
+      \pgfsetyvec{\pgfpoint{0pt}{1pt}}
+      \pgfsetlinewidth{0.4pt}
+      \pgfsetroundjoin
+      
+      \pgfsetlinewidth{0.8pt}
+      \color[gray]{0.5}
       \pgfmoveto{\pgfxy(6.5,11.5)}
       \pgflineto{\pgfxy(1,10.5)}
       \pgfcurveto{\pgfxy(0.6,9.75)}{\pgfxy(0.6,8.75)}{\pgfxy(1,8)}
       \pgflineto{\pgfxy(6.5,2)}
-      \pgfcurveto{\pgfxy(6,3)}{\pgfxy(6,4)}{\pgfxy(6.5,5)}
-      \pgflineto{\pgfxy(13,6)}
+      \pgflineto{\pgfxy(13,3)}
+      \pgfcurveto{\pgfxy(12,4)}{\pgfxy(12,5)}{\pgfxy(13,6)}
       \pgfclosepath
-      \pgfclip
-
-      \pgfputat{\pgfxy(8.5,0)}
-      {%
-        \begin{pgfrotateby}{\pgfdegree{45}}
-          \pgfbox[left,base]{\pgfuseshading{cover}}
-        \end{pgfrotateby}
-      }
-    \end{pgfscope}      
-  
-    \begin{pgfscope}
+      
       \pgfmoveto{\pgfxy(6.5,2)}  
       \pgfcurveto{\pgfxy(6,3)}{\pgfxy(6,4)}{\pgfxy(6.5,5)}
       \pgflineto{\pgfxy(13,6)}
-      \pgfcurveto{\pgfxy(12,5)}{\pgfxy(12,4)}{\pgfxy(13,3)}
+      \pgfstroke
+
+      \begin{pgfscope}
+        \pgfmoveto{\pgfxy(6.5,11.5)}
+        \pgflineto{\pgfxy(1,10.5)}
+        \pgfcurveto{\pgfxy(0.6,9.75)}{\pgfxy(0.6,8.75)}{\pgfxy(1,8)}
+        \pgflineto{\pgfxy(6.5,2)}
+        \pgfcurveto{\pgfxy(6,3)}{\pgfxy(6,4)}{\pgfxy(6.5,5)}
+        \pgflineto{\pgfxy(13,6)}
+        \pgfclosepath
+        \pgfclip
+
+        \pgfputat{\pgfxy(8.5,0)}
+        {%
+          \begin{pgfrotateby}{\pgfdegree{45}}
+            \pgfbox[left,base]{\pgfuseshading{cover}}
+          \end{pgfrotateby}
+        }
+      \end{pgfscope}      
+      
+      \begin{pgfscope}
+        \pgfmoveto{\pgfxy(6.5,2)}  
+        \pgfcurveto{\pgfxy(6,3)}{\pgfxy(6,4)}{\pgfxy(6.5,5)}
+        \pgflineto{\pgfxy(13,6)}
+        \pgfcurveto{\pgfxy(12,5)}{\pgfxy(12,4)}{\pgfxy(13,3)}
+        \pgfclosepath
+        \pgfclip
+
+        \pgfputat{\pgfxy(7.5,0)}
+        {%
+          \begin{pgfrotateby}{\pgfdegree{30}}
+            \pgfbox[left,base]{\pgfuseshading{side}}
+          \end{pgfrotateby}
+        }
+      \end{pgfscope}      
+      
+      \pgfsetlinewidth{0.4pt}
+      \color[gray]{0.2}
+      \pgfmoveto{\pgfxy(6.5,11.5)}
+      \pgflineto{\pgfxy(1,10.5)}
+      \pgfcurveto{\pgfxy(0.6,9.75)}{\pgfxy(0.6,8.75)}{\pgfxy(1,8)}
+      \pgflineto{\pgfxy(6.5,2)}
+      \pgflineto{\pgfxy(13,3)}
+      \pgfcurveto{\pgfxy(12,4)}{\pgfxy(12,5)}{\pgfxy(13,6)}
       \pgfclosepath
-      \pgfclip
-
-      \pgfputat{\pgfxy(7.5,0)}
-      {%
-        \begin{pgfrotateby}{\pgfdegree{30}}
-          \pgfbox[left,base]{\pgfuseshading{side}}
-        \end{pgfrotateby}
-      }
-    \end{pgfscope}      
-  
-    \pgfsetlinewidth{0.4pt}
-    \color[gray]{0.2}
-    \pgfmoveto{\pgfxy(6.5,11.5)}
-    \pgflineto{\pgfxy(1,10.5)}
-    \pgfcurveto{\pgfxy(0.6,9.75)}{\pgfxy(0.6,8.75)}{\pgfxy(1,8)}
-    \pgflineto{\pgfxy(6.5,2)}
-    \pgflineto{\pgfxy(13,3)}
-    \pgfcurveto{\pgfxy(12,4)}{\pgfxy(12,5)}{\pgfxy(13,6)}
-    \pgfclosepath
-    
-    \pgfmoveto{\pgfxy(6.5,2)}  
-    \pgfcurveto{\pgfxy(6,3)}{\pgfxy(6,4)}{\pgfxy(6.5,5)}
-    \pgflineto{\pgfxy(13,6)}
-    \pgfstroke
-\end{pgfpicture}%
-}
+      
+      \pgfmoveto{\pgfxy(6.5,2)}  
+      \pgfcurveto{\pgfxy(6,3)}{\pgfxy(6,4)}{\pgfxy(6.5,5)}
+      \pgflineto{\pgfxy(13,6)}
+      \pgfstroke
+    \end{pgfpicture}%
+  }%
+\end{colormixin}%
 \end{document}
 \NeedsTeXFormat{LaTeX2e}[1995/12/01]
 \ProvidesClass{beamer}
-[2003/10/23 v0.91 Class for Typesetting a Beamer Presentation]
+[2003/10/23 v0.91-dev Class for Typesetting a Beamer Presentation]
 
 % Copyright 2003 by Till Tantau <tantau@cs.tu-berlin.de>.
 %
 \RequirePackage{pgf}
 % For all sorts of things...
 
-\RequirePackage{color}
+\RequirePackage{xxcolor}
 % For color management.
 
 \RequirePackage{amssymb}
 }
 \def\strip@pt@and@otherjunk#1{\expandafter\rem@ptetc\the#1!}
 
-
+%
+% Make the effect of pdfpagetransition and duration global, not local
+%
+\define@key{Hyp}{pdfpagetransition}{\gdef\@pdfpagetransition{#1}}
+\define@key{Hyp}{pdfpageduration}{\gdef\@pdfpageduration{#1}}
 
 %
 %
   \hypersetup{pdfpageduration=}%
   \xdef\beamer@frameendpage{\thepage}% every time
   \beamer@entrycode\vspace*{-\baselineskip}\vfill}%
-  {\beamer@exitcode\vskip0pt plus 1.5fill%
-  % ``Globalize'' pdfpagetransition and pdfpageduration
-  \expandafter\gdef\expandafter\@pdfpagetransition\expandafter{\@pdfpagetransition}%
-  \expandafter\gdef\expandafter\@pdfpageduration\expandafter{\@pdfpageduration}%
-  }
+  {\beamer@exitcode\vskip0pt plus 1.5fill}
 
 \def\frametitle#1{%
   \vskip0pt plus -1fill%
 % Uncovering management
 %
 \def\beamer@spacingcover{\pgfsys@begininvisible\pgfsys@endinvisible}%for spacing reasons
-\def\beamer@startcovered{\pgfsys@begininvisible}
-\def\beamer@endcovered{\pgfsys@endinvisible}
+\def\beamer@startcovered{%
+  \gdef\beamer@do{\aftergroup\pgfsys@endinvisible\pgfsys@begininvisible}%
+  \def\mixinon<##1>##2{\only<##1>{\gdef\beamer@do{\XXC@@beginmixinblock{##2}}}\ignorespaces}%
+  \def\invisibleon<##1>{\only<##1>{\gdef\beamer@do{\aftergroup\pgfsys@endinvisible\pgfsys@begininvisible}}\ignorespaces}%
+  \ifnum\serialnumber<\beamer@minimum%ok, at beginning
+  {%
+    \beamer@saveanother%
+    \advance\beamer@minimum by-\serialnumber%
+    \serialnumber=\beamer@minimum%
+    \beamer@uncoverbeforeactions%
+    \beamer@restoreanother%
+  }%
+  \else%
+  {%
+    \beamer@saveanother%
+    \advance\serialnumber by-\beamer@minimum%
+    \beamer@uncoverafteractions%
+    \beamer@restoreanother%
+  }%
+  \fi%
+  \begingroup\beamer@do}
+\def\beamer@endcovered{\endgroup}%
+\def\beamer@saveanother{\let\beamer@savedif=\if@anotherslide}
+\def\beamer@restoreanother{\global\let\if@anotherslide=\beamer@savedif}
 
-\definecolor{back}{rgb}{0.95,0.9,0.95}
+\def\beamersetuncovermixins#1#2{%
+  \gdef\beamer@uncoverbeforeactions{\ignorespaces#1}%
+  \gdef\beamer@uncoverafteractions{\ignorespaces#2}}
+
+\beamersetuncovermixins{}{}
+
+
+
+
 
   
 %
 \newcounter{framenumber}
 \def\insertframenumber{\@arabic\c@framenumber}
 
-\def\frame{\@ifnextchar[{\@frame}{\@frame[+]}}
-\def\@frame[#1]{%
+\def\frame{\@ifnextchar[{\beamer@frame}{\beamer@frame[+]}}
+\def\beamer@frame{\begingroup\catcode`:=12\catcode`|=12\beamer@@frame}% Hackery for french style
+\def\beamer@@frame[#1]{\endgroup%
   \refstepcounter{framenumber}%
   {\let\@elt\@savecounter\@overlaycounterresets}
   \gdef\insertframetitle{}%
 % As a side effect, \@another is called whenever the there is a number
 % in the list that is larger than the current serialnumber
 
-\def\decode{\gdef\@decodefound{+}\@@decodefind}
+\def\decode{\global\beamer@minimum=10000\relax\gdef\@decodefound{+}\@@decodefind}
 \def\@@decodefind{\futurelet\@next\@decodeinsertdefault}
 \def\@decodeinsertdefault{\ifcat\@next a%
   \gdef\@next{}%
   \fi%
   \@next}
 
+\newcount\beamer@minimum
+
 \def\dowhat{}
 \def\@decode{%
   \@ifnextchar!%
       {\@decodeuntil}%
       {\@decodenumber}}}}
 \def\@decodeend!{}
-\def\@decodeall+,{\ifnum1>\serialnumber%
+\def\@decodeall+,{%
+  \ifnum1<\beamer@minimum\global\beamer@minimum=1\fi%
+  \ifnum1>\serialnumber%
   \global\@anotherslidetrue%
   \@localanotherslidetrue%
   \fi%
   \gdef\dowhat{\doit}\@decode}
 \def\@decodeuntil-#1,{%
+  \ifnum1<\beamer@minimum\global\beamer@minimum=1\fi%
   \ifnum#1>\serialnumber\global\@anotherslidetrue\@localanotherslidetrue\fi%
   \ifnum\serialnumber>#1\else\gdef\dowhat{\doit}\fi%
   \@decode}
   {\@decodeto{#1}}%
   {\@decodebetween{#1}}}
 \def\@decodeto#1,{%
+  \ifnum#1<\beamer@minimum\global\beamer@minimum=#1\fi%
   \ifnum#1>\serialnumber\global\@anotherslidetrue\@localanotherslidetrue\fi%
   \ifnum#1>\serialnumber\else\gdef\dowhat{\doit}\fi%
   \@decode}
 \def\@decodebetween#1#2,{%
+  \ifnum#1<\beamer@minimum\global\beamer@minimum=#1\fi%
   \ifnum#1>\serialnumber\global\@anotherslidetrue\@localanotherslidetrue\fi%
   \ifnum#2>\serialnumber\global\@anotherslidetrue\@localanotherslidetrue\fi%
   \ifnum#1>\serialnumber\else\ifnum#2<\serialnumber\else\gdef\dowhat{\doit}\fi\fi%
   \@decode}
 \def\@decodeone#1,{%
+  \ifnum#1<\beamer@minimum\global\beamer@minimum=#1\fi%
   \ifnum#1>\serialnumber\global\@anotherslidetrue\@localanotherslidetrue\fi%
   \ifnum#1=\serialnumber\gdef\dowhat{\doit}\fi%
   \@decode}
 \def\@structure#1{\def\insertstructure{#1}\@structuretemplate}
 
 \long\def\usealerttemplate#1{%
-  \def\@alerttemplate{#1}}
+  \gdef\@alerttemplate{#1}}
 \long\def\usestructuretemplate#1{%
-  \def\@structuretemplate{#1}}
+  \gdef\@structuretemplate{#1}}
 
 \usealerttemplate{{\color{red}\insertalert}}
 \usestructuretemplate{{\color{structure}\insertstructure}}
   \beamer@tempdim=\beamer@leftmargin%
   \advance\beamer@tempdim by\beamer@leftsidebar%
   \geometry{left=\the\beamer@tempdim}%
-  \def\beamer@leftsidebartemplate{%
+  \gdef\beamer@leftsidebartemplate{%
     \vbox to \sidebarheight{%
       #2\vfil%
     }%
   \beamer@tempdim=\beamer@rightmargin%
   \advance\beamer@tempdim by\beamer@rightsidebar%
   \geometry{right=\the\beamer@tempdim}%
-  \def\beamer@rightsidebartemplate{%
+  \gdef\beamer@rightsidebartemplate{%
     \vbox to \sidebarheight{%
       #2\vfil%
     }%
 
 
 \def\userightsidebarbackgroundtemplate#1{
-  \def\beamer@rightsidebarbackground{%
+  \gdef\beamer@rightsidebarbackground{%
     \vbox to \sidebarheight{%
       #1\vfil%
     }}}
   \userightsidebarbackgroundtemplate{\pgfuseshading{beamer@rightsidebar}}}
 
 
+
+
+%
+%
+% Background management
+%
+%
+\long\def\usebackgroundtemplate#1{%
+  \gdef\@backgroundtemplate{#1}}
+
+\def\beamersetaveragebackground#1{%
+  \colorlet{averagebackgroundcolor}{#1}}
+
+\beamersetaveragebackground{white}
+
+
+
+
 %
 %
 % Head Navigation Format
   \def\@oddfoot{\hypertarget{Navigation\thepage}{}\hfil}
   \let\@evenhead\@oddhead\let\@evenfoot\@oddfoot}
 
-\long\def\usebackgroundtemplate#1{%
-  \def\@backgroundtemplate{#1}}
-
 \def\recalculatefoot{%
   \setbox\tempbox=\hbox{\@foottemplate}%
   \footheight=\ht\tempbox%
   \advance\footheight by -4pt}%
 
 \long\def\usefoottemplate#1{%
-  \def\@foottemplate{\offinterlineskip\reset@font\def\\{,}#1}%
+  \gdef\@foottemplate{\offinterlineskip\reset@font\def\\{,}#1}%
   \recalculatefoot}
 \def\insertpagenumber{\thepage}
 
 \long\def\useheadtemplate#1{%
-  \def\@headtemplate{\offinterlineskip\reset@font#1}%
+  \gdef\@headtemplate{\offinterlineskip\reset@font#1}%
   \recalculatehead} 
 
 \def\insertvrule#1#2{%
     \hyperlink{Navigation#3}{\@sectionheadnohilight}\fi}%
   \ignorespaces}
 
-\long\def\usesectionheadtemplate#1#2{\def\@sectionheadhilight{#1}\def\@sectionheadnohilight{#2}}
-\long\def\usesectionsidetemplate#1#2{\def\@sectionsidehilight{#1}\def\@sectionsidenohilight{#2}}
+\long\def\usesectionheadtemplate#1#2{\gdef\@sectionheadhilight{#1}\gdef\@sectionheadnohilight{#2}}
+\long\def\usesectionsidetemplate#1#2{\gdef\@sectionsidehilight{#1}\gdef\@sectionsidenohilight{#2}}
 
 \def\insertverticalnavigation#1{%
   \vbox{%
   \expandafter\hyperlink\beamer@goto}
 
 
-\long\def\useminislidetemplate#1#2#3#4#5{\def\@minislidehilight{#1}\def\@minisliderowhilight{#2}\def\@minislide{#3}
+\long\def\useminislidetemplate#1#2#3#4#5{\gdef\@minislidehilight{#1}\gdef\@minisliderowhilight{#2}\gdef\@minislide{#3}
 \beamer@boxsize=#4\vboxoffset=#5}
 
 \def\insertsectionnavigation#1{%
     \box\sectionbox\hfil\hskip.3cm%
     #3}}
 
-\long\def\usesubsectionheadtemplate#1#2{\def\@subsectionheadhilight{#1}\def\@subsectionheadnohilight{#2}}
-\long\def\usesubsectionsidetemplate#1#2{\def\@subsectionsidehilight{#1}\def\@subsectionsidenohilight{#2}}
+\long\def\usesubsectionheadtemplate#1#2{\gdef\@subsectionheadhilight{#1}\gdef\@subsectionheadnohilight{#2}}
+\long\def\usesubsectionsidetemplate#1#2{\gdef\@subsectionsidehilight{#1}\gdef\@subsectionsidenohilight{#2}}
 
 
 %
 %
 
 \long\def\useblocktemplate#1#2{%
-  \def\@beginblocktemplate{#1}
-  \def\@endblocktemplate{#2}}
+  \gdef\@beginblocktemplate{#1}
+  \gdef\@endblocktemplate{#2}}
 
 \long\def\usealertblocktemplate#1#2{%
-  \def\@beginalertblocktemplate{#1}
-  \def\@endalertblocktemplate{#2}}
+  \gdef\@beginalertblocktemplate{#1}
+  \gdef\@endalertblocktemplate{#2}}
 
 \long\def\useexampleblocktemplate#1#2{%
-  \def\@beginexampleblocktemplate{#1}
-  \def\@endexampleblocktemplate{#2}}
+  \gdef\@beginexampleblocktemplate{#1}
+  \gdef\@endexampleblocktemplate{#2}}
 
 \newoverlayenvironment{block}[1]{%
   \def\insertblockname{#1}%
   \def\insertfootnotemark{\@makefnmark}%
   \footnotetemplate}
 \def\usefootnotetemplate#1{%
-  \def\footnotetemplate{#1}}
+  \gdef\footnotetemplate{#1}}
 
 \usefootnotetemplate{
   \parindent 1em\noindent%
 }
 
 \long\def\usetemplatetocsection#1#2{
-  \def\sectiontemplate{\def\@breakhere{\\}#1}
-  \def\sectiontemplateshaded{\def\@breakhere{\\}#2}}
+  \gdef\sectiontemplate{\def\@breakhere{\\}#1}
+  \gdef\sectiontemplateshaded{\def\@breakhere{\\}#2}}
 
 \long\def\subsectionintoc#1#2#3#4{%
     \def\inserttocsubsection{\hyperlink{Navigation#4}{#3}}%
 }
 
 \long\def\usetemplatetocsubsection#1#2{
-  \def\@subsectiontemplate{\def\@breakhere{\\}#1}
-  \def\@subsectiontemplateshaded{\def\@breakhere{\\}#2}}
+  \gdef\@subsectiontemplate{\def\@breakhere{\\}#1}
+  \gdef\@subsectiontemplateshaded{\def\@breakhere{\\}#2}}
 
   
 \DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm}
 \def\enditemize{\endlist\csname\@itemctr endtemplate\endcsname}
 
 \def\useenumerateitemtemplate#1{% 
-  \def\labelenumi{\def\insertenumlabel{\theenumi}#1}}
+  \gdef\labelenumi{\def\insertenumlabel{\theenumi}#1}}
 
 \def\useenumeratetemplate#1#2{% before and after
-  \def\enumistarttemplate{#1}%
-  \def\enumiendtemplate{#2}}
+  \gdef\enumistarttemplate{#1}%
+  \gdef\enumiendtemplate{#2}}
 
 \def\usesubenumerateitemtemplate#1{%
-  \def\labelenumii{\def\insertenumlabel{\theenumi}\def\insertsubenumlabel{\theenumii}#1}}
+  \gdef\labelenumii{\def\insertenumlabel{\theenumi}\def\insertsubenumlabel{\theenumii}#1}}
 
 \def\usesubenumeratetemplate#1#2{% before and after
-  \def\enumiistarttemplate{#1}%
-  \def\enumiiendtemplate{#2}}
+  \gdef\enumiistarttemplate{#1}%
+  \gdef\enumiiendtemplate{#2}}
 
 
 \def\useitemizeitemtemplate#1{%
-  \def\labelitemi{#1}}%itemilabeltemplate{#1}}
+  \gdef\labelitemi{#1}}%itemilabeltemplate{#1}}
 
 \def\useitemizetemplate#1#2{% before and after
-  \def\itemistarttemplate{#1}%
-  \def\itemiendtemplate{#2}}
+  \gdef\itemistarttemplate{#1}%
+  \gdef\itemiendtemplate{#2}}
 
 \def\usesubitemizeitemtemplate#1{%
-  \def\labelitemii{#1}}%itemiilabeltemplate{#1}}
+  \gdef\labelitemii{#1}}%itemiilabeltemplate{#1}}
 
 \def\usesubitemizetemplate#1#2{% before and after
-  \def\itemiistarttemplate{#1}%
-  \def\itemiiendtemplate{#2}}
+  \gdef\itemiistarttemplate{#1}%
+  \gdef\itemiiendtemplate{#2}}
 
 
 \def\description{\@ifnextchar[{\@description}{\@descdefault\@descdefaulttemp\@@description}}
 \long\def\@descriptionitem#1{\def\insertdescriptionitem{#1}%
   \hfil\hspace\labelsep\normalfont\descriptionitemtemplate}
 
-\def\usedescriptionitemtemplate#1#2{\def\descriptionitemtemplate{#1}\@descdefaulttemp=#2%
-  \advance\@descdefaulttemp by \labelsep}
+\def\usedescriptionitemtemplate#1#2{\gdef\descriptionitemtemplate{#1}\global\@descdefaulttemp=#2%
+  \global\advance\@descdefaulttemp by \labelsep}
 \usedescriptionitemtemplate{\color{structure}\insertdescriptionitem}{2cm}
 
 
 \def\beamerline#1{%
   \hbox{\hskip-\Gm@lmargin#1\hskip-\Gm@rmargin}}
 
+%
+% Label hackery (for using labels in overlays)
+%
+\AtBeginDocument{%
+  \let\beamer@origlabel\label
+  \def\label{\@ifnextchar<{\beamer@label}{\beamer@label<1>}}
+  \def\beamer@label<#1>#2{\alt<#1>{\beamer@origlabel{#2}}{}}
+
+  \let\beamer@origlabel@in@display\label@in@display
+  \def\label@in@display{\@ifnextchar<{\beamer@label@in@display}{\beamer@label@in@display<1>}}
+  \def\beamer@label@in@display<#1>#2{\alt<#1>{\beamer@origlabel@in@display{#2}}{}}  
+}
+
 
 %
 % Bibliography code
 
 \long\def\@biblabeltemplate#1{\def\insertbiblabel{#1}\biblabeltemplate\hfil}
 
-\let\@oldlbibitem\@lbibitem
-\def\@lbibitem[#1]#2{\@oldlbibitem[#1]{#2}\def\newblock{\@newblock}\newblock\hbox{}}
-\let\@oldbibitem\@bibitem
-\def\@bibitem#1{\@oldbibitem{#1}\def\newblock{\@newblock}\newblock}
+\def\bibitem{\@ifnextchar<{\beamer@bibitem@store}{\gdef\beamer@bibstore{}\beamer@plainbibitem}}
+\def\beamer@bibitem@store<#1>{\gdef\beamer@bibstore{<#1>}\beamer@plainbibitem}
+\def\beamer@plainbibitem{\@ifnextchar[\@lbibitem\@bibitem}
+\def\@lbibitem[#1]#2{\expandafter\item\beamer@bibstore[\@biblabel{#1}\hfill]%
+  \@ifundefined{beamerbib@#2@\the\c@framenumber}{\if@filesw
+    {\let\protect\noexpand
+      \immediate
+      \write\@auxout{\string\bibcite{#2}{#1}}}\fi%
+    \global\@namedef{beamerbib@#2@\the\c@framenumber}{\relax}}{}%
+  \def\newblock{\@newblock}\newblock\hbox{}\ignorespaces}
+\def\@bibitem#1{\expandafter\item\beamer@bibstore\@ifundefined{beamerbib@#1@\the\c@framenumber}%
+  {\if@filesw \immediate\write\@auxout
+    {\string\bibcite{#1}{\the\value{\@listctr}}}\fi\global\@namedef{beamerbib@#1@\the\c@framenumber}{\relax}}%
+  {}%
+  \def\newblock{\@newblock}\newblock\ignorespaces}
 
 \def\@newblock{\firstblocktemplate%
   \def\newblock{\secondblocktemplate%
   \setbox\tempbox=\hbox{\ }\hskip-\wd\tempbox\setbox\tempbox=\hbox{}\ht\tempbox=1.5em\box\tempbox}
 
 \long\def\usebibitemtemplate#1{%
-  \def\biblabeltemplate{#1}}
+  \gdef\biblabeltemplate{#1}}
 
 \long\def\usebibliographyblocktemplate#1#2#3#4{%
-  \def\firstblocktemplate{#1}%
-  \def\secondblocktemplate{#2}%
-  \def\thirdblocktemplate{#3}%
-  \def\otherblocktemplate{#4}}
+  \gdef\firstblocktemplate{#1}%
+  \gdef\secondblocktemplate{#2}%
+  \gdef\thirdblocktemplate{#3}%
+  \gdef\otherblocktemplate{#4}}
 
 \pgfdeclareimage{beamericonarticle}{11pt}{14pt}{beamericonarticle}
+\pgfdeclareimage{beamericonarticleshaded}{11pt}{14pt}{beamericonarticle.20}
+\pgfaliasimage{beamericonarticle!20!averagebackgroundcolor}{beamericonarticleshaded}
+\pgfaliasimage{beamericonarticle!15!averagebackgroundcolor}{beamericonarticleshaded}
+\pgfaliasimage{beamericonarticle!10!averagebackgroundcolor}{beamericonarticleshaded}
+\pgfaliasimage{beamericonarticle!5!averagebackgroundcolor}{beamericonarticleshaded}
+\pgfaliasimage{beamericonarticle!2!averagebackgroundcolor}{beamericonarticleshaded}
 \usebibitemtemplate{\lower3pt\hbox{\hskip1.5pt\pgfuseimage{beamericonarticle}}}
 \usebibliographyblocktemplate
   {\color{structure}}
 \def\@transglitter#1{\hypersetup{pdfpagetransition={Glitter /Di #1}}}
 \def\@transwipe#1{\hypersetup{pdfpagetransition={Wipe /Di #1}}}
 
-  
-  
+\newoverlaycommand{\transduration}{\@transdur}{\gobble}
+\def\@transdur#1{\hypersetup{pdfpageduration=#1}}
+
+
+%
+% Floats and tables
+%
+
+\def\figure{\@ifnextchar[{\@figure}{\@figure[]}}
+\def\@figure[#1]{% ignores placement specification!
+  \def\@captype{figure}%
+  \begin{center}}
+\def\endfigure{\end{center}}
+\newcounter{figure}
+\renewcommand\thefigure{\@arabic\c@figure}
+
+\def\table{\@ifnextchar[{\@table}{\@table[]}}
+\def\@table[#1]{% ignores placement specification!
+  \def\@captype{table}%
+  \begin{center}}
+\def\endtable{\end{center}}
+\newcounter{table}
+\renewcommand\thetable{\@arabic\c@table}
+
+\newlength\abovecaptionskip
+\newlength\belowcaptionskip
+\setlength\abovecaptionskip{7pt}
+\setlength\belowcaptionskip{7pt}
+
+\def\caption{
+  \ifx\@captype\@undefined
+    \@latex@error{\noexpand\caption outside figure or table}\@ehd
+    \expandafter\@gobble
+ \else
+   \refstepcounter\@captype
+   \expandafter\@firstofone
+ \fi
+ {\@dblarg{\@caption\@captype}}%
+}
+\long\def\@caption#1[#2]#3{% second argument ignored
+  \par
+  \begingroup
+    \@parboxrestore
+    \if@minipage
+      \@setminipage
+    \fi
+    \normalsize
+    \@makecaption{#1}{\ignorespaces #3}\par
+    \endgroup}
+\long\def\@makecaption#1#2{%
+  \def\insertcaptionname{\csname#1name\endcsname}%
+  \def\insertcaptionnumber{\csname the#1\endcsname}%
+  \def\insertcaption{#2}%
+  \vskip\abovecaptionskip
+  \sbox\@tempboxa{\beamer@captiontemplate}%
+  \ifdim \wd\@tempboxa >\hsize
+    \beamer@captiontemplate\par
+  \else
+    \global \@minipagefalse
+    \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%
+  \fi
+  \vskip\belowcaptionskip}
+
+\long\def\usecaptiontemplate#1{%
+  \gdef\beamer@captiontemplate{#1}}
+\usecaptiontemplate{%
+  {\small\structure{\insertcaptionname~\insertcaptionnumber:}
+  \insertcaption}}
+
+
 
 %
 % Notes
 
 
 
+%
+%
+% Just for fun! Not really meant seriously... But give it a try with
+% the Acrobat Reader in Fullscreen...
+%
+%
+\def\fadeoutframe#1{%
+  \frame[all:1]{#1}
+  \frame[all:1]{\transduration{0}\begin{colormixin}{80!averagebackgroundcolor}#1\end{colormixin}}
+  \frame[all:1]{\transduration{0}\begin{colormixin}{60!averagebackgroundcolor}#1\end{colormixin}}
+  \frame[all:1]{\transduration{0}\begin{colormixin}{40!averagebackgroundcolor}#1\end{colormixin}}
+  \frame[all:1]{\transduration{0}\begin{colormixin}{20!averagebackgroundcolor}#1\end{colormixin}}
+  \frame[all:1]{\transduration{0}\begin{colormixin}{5!averagebackgroundcolor}#1\end{colormixin}}}
+\def\fadeinframe#1{%
+  \frame[all:1]{\transduration{0}\begin{colormixin}{5!averagebackgroundcolor}#1\end{colormixin}}
+  \frame[all:1]{\transduration{0}\begin{colormixin}{20!averagebackgroundcolor}#1\end{colormixin}}
+  \frame[all:1]{\transduration{0}\begin{colormixin}{40!averagebackgroundcolor}#1\end{colormixin}}
+  \frame[all:1]{\transduration{0}\begin{colormixin}{60!averagebackgroundcolor}#1\end{colormixin}}
+  \frame[all:1]{\transduration{0}\begin{colormixin}{80!averagebackgroundcolor}#1\end{colormixin}}
+  \frame[all:1]{#1}}
+\def\fadeinoutframe#1{%
+  \frame[all:1]{\transduration{0}\begin{colormixin}{5!averagebackgroundcolor}#1\end{colormixin}}
+  \frame[all:1]{\transduration{0}\begin{colormixin}{20!averagebackgroundcolor}#1\end{colormixin}}
+  \frame[all:1]{\transduration{0}\begin{colormixin}{40!averagebackgroundcolor}#1\end{colormixin}}
+  \frame[all:1]{\transduration{0}\begin{colormixin}{60!averagebackgroundcolor}#1\end{colormixin}}
+  \frame[all:1]{\transduration{0}\begin{colormixin}{80!averagebackgroundcolor}#1\end{colormixin}}
+  \frame[all:1]{#1}
+  \frame[all:1]{\transduration{0}\begin{colormixin}{80!averagebackgroundcolor}#1\end{colormixin}}
+  \frame[all:1]{\transduration{0}\begin{colormixin}{60!averagebackgroundcolor}#1\end{colormixin}}
+  \frame[all:1]{\transduration{0}\begin{colormixin}{40!averagebackgroundcolor}#1\end{colormixin}}
+  \frame[all:1]{\transduration{0}\begin{colormixin}{20!averagebackgroundcolor}#1\end{colormixin}}
+  \frame[all:1]{\transduration{0}\begin{colormixin}{5!averagebackgroundcolor}#1\end{colormixin}}}
 
 %
 %

File beamertemplates.sty

 % Background templates
 %
 
+\newcommand{\beamertemplatesolidbackgroundcolor}[1]{
+  \usebackgroundtemplate{\color{#1}\vrule width \paperwidth height\paperwidth}
+  \beamersetaveragebackground{#1}
+  }
+  
 \newcommand{\beamertemplateshadingbackground}[2]{
   \RequirePackage{pgfshade}
   \pgfdeclareverticalshading{background}{\the\paperwidth}%
   {rgb(0cm)=(#1); rgb(\the\paperheight)=(#2)}
 
-  \usebackgroundtemplate{\pgfuseshading{background}}  
+  \usebackgroundtemplate{\pgfuseshading{background}}%
+  \definecolor{beamer@backgroundshadestart}{rgb}{#1}%
+  \definecolor{beamer@backgroundshadeend}{rgb}{#2}%
+  \beamersetaveragebackground{beamer@backgroundshadestart!50!beamer@backgroundshadeend}%
   }
   
 \newcommand{\beamertemplategridbackground}{
 %
 
 \pgfdeclareimage{beamericonbook}{14pt}{12pt}{beamericonbook}
-
+\pgfdeclareimage{beamericonbookshaded}{14pt}{12pt}{beamericonbook.20}
+\pgfaliasimage{beamericonbook!20!averagebackgroundcolor}{beamericonbookshaded}
+\pgfaliasimage{beamericonbook!15!averagebackgroundcolor}{beamericonbookshaded}
+\pgfaliasimage{beamericonbook!10!averagebackgroundcolor}{beamericonbookshaded}
+\pgfaliasimage{beamericonbook!5!averagebackgroundcolor}{beamericonbookshaded}
+\pgfaliasimage{beamericonbook!2!averagebackgroundcolor}{beamericonbookshaded}
 \newcommand{\beamertemplatebookbibitems}{
   \usebibitemtemplate{\lower2pt\hbox{\pgfuseimage{beamericonbook}}}
 }
 \newcommand{\beamertemplatearrowbibitems}{
   \usebibitemtemplate{\color{structure}\scriptsize\raise1.25pt\hbox{$\blacktriangleright$}}
 }
+
+
+%
+% Commands for making covered items transparent
+%
+\newcommand{\beamertemplatetransparentcovereddynamic}{
+  \beamersetuncovermixins
+  {\mixinon<1>{15!averagebackgroundcolor}%
+    \mixinon<2>{10!averagebackgroundcolor}%
+    \mixinon<3>{5!averagebackgroundcolor}%
+    \mixinon<4->{2!averagebackgroundcolor}}%
+  {\mixinon<1>{15!averagebackgroundcolor}%
+    \mixinon<2>{10!averagebackgroundcolor}%
+    \mixinon<3>{5!averagebackgroundcolor}%
+    \mixinon<4->{2!averagebackgroundcolor}}}
+
+\newcommand{\beamertemplatetransparentcovered}{
+  \beamersetuncovermixins%
+  {\mixinon<1->{15!averagebackgroundcolor}}
+  {\mixinon<1->{15!averagebackgroundcolor}}}

File doc/beamerexample.pdf

Binary file modified.

File doc/beamerexample.tex

 \usepackage{pgf,pgfarrows,pgfnodes,pgfautomata,pgfheaps,pgfshade}
 \usepackage{amsmath,amssymb}
 \usepackage[latin1]{inputenc}
+\usepackage{colortbl}
 
 %
 % The following defintions are peculiar to this particular
 \date[DLT 2003]{Developments in Language Theory Conference, 2003}
 
 % Try this:
-\beamertemplateshadingbackground{1,0.9,0.9}{0.9,0.9,1}
+%\beamertemplateshadingbackground{1,0.9,0.9}{0.9,0.9,1}
+\beamertemplatetransparentcoveredchanging
 
 \begin{document}
 
 \frame{\titlepage}
+% Try this instead: \fadeoutframe{\titlepage}
 
 \section[Outline]{}
 
-\makeatletter
-\frame{\transdissolve\tableofcontents}
+\frame{\tableofcontents}
+% Try this instead: \fadeinframe{\tableofcontents}
 \note{At most 1 minute for the outline.}
 
 \section[Models]{The Model of Overhead-Free Computation}
 
-\frame[handout:0]{\tableofcontentscurrent}
+\frame[handout:0]{\transdissolve\tableofcontentscurrent}
 
 \subsection[Standard Model]{The Standard Model of Linear Space}
 
 {
   \frametitle{A Review of Linear Grammars}
 
-  \begin{Definition}
+  \begin{Definition}<1>
     A grammar is \alert{linear} if it is context-free and\\ there is
     only one nonterminal per right-hand side.
   \end{Definition}
 
-  \begin{Example}
+  \begin{Example}<1>
     $G_1\colon S \to 00S0 \mid 1$.
     
     $G_2\colon S \to 0S10 \mid 0$.
 \frame
 {
   \frametitle{Definition of Almost-Overhead-Free Computations}
- 
+
   \begin{Definition}
     A Turing machine is \alert{almost-overhead-free} if
     \begin{itemize}
   
   \begin{thebibliography}{10}
     
-  \bibitem{sal:b:formal-languages}
+  \bibitem<2->{sal:b:formal-languages}
     A.~Salomaa.
     \newblock {\em Formal Languages}.
     \newblock Academic Press, 1973.
 
-    \beamertemplatearticlebibitems
-
-  \bibitem{dij:j:smoothsort}
+  \beamertemplatearticlebibitems
+  \bibitem<3->{dij:j:smoothsort}
     E.~Dijkstra.
     \newblock Smoothsort, an alternative for sorting in situ.
     \newblock {\em Science of Computer Programming}, 1(3):223--233, 1982.
 
-  \bibitem{FeldmanO1973}
+  \bibitem<4->{FeldmanO1973}
     E.~Feldman and J.~Owings, Jr.
     \newblock A class of universal linear bounded automata.
     \newblock {\em Information Sciences}, 6:187--190, 1973.
 
-  \bibitem{JancarMPV1995}
+  \bibitem<5->{JancarMPV1995}
     P.~Jan{\v c}ar, F.~Mr{\'a}z, M.~Pl{\'a}tek, and J.~Vogel.
     \newblock Restarting automata.
     \newblock {\em FCT Conference 1995}, LNCS 985, pages
     282--292. 1995.
-
   \end{thebibliography}
 }
 
 
-
-
 %
 % The following appendix material is not shown in the normal course of
 % the presentation 
     \end{enumerate}
   \end{theorem}
 }
-  
+
+\makeatletter
+\subsection{Abbreviations}
+
+\frame{
+  \frametitle{Explanation of Different Abbreviations}
+
+  \begin{table}
+    \rowcolors[]{1}{structure!25!averagebackgroundcolor}{structure!10!averagebackgroundcolor}
+    \begin{tabular}{ll}
+      \structure{$\DOF$} & \structure{D}eterministic \structure{O}verhead-\structure{F}ree.\\
+      \structure{$\NOF$} & \structure{N}ondeterministic \structure{O}verhead-\structure{F}ree.\\
+      \structure{$\DOFpoly$} & \structure{D}eterministic
+      \structure{O}verhead-\structure{F}ree, \structure{poly}nomial time.\\
+      \structure{$\DOFpoly$} & \structure{N}ondeterministic \structure{O}verhead-\structure{F}ree, \structure{poly}nomial time.
+    \end{tabular}
+    \caption{Explanation of what different abbreviations mean.}
+  \end{table}
+}
+
+
+
 \end{document}
 
 

File doc/beameruserguide.pdf

Binary file modified.

File doc/beameruserguide.tex

 \pgfdeclareimage{themetreebars2}{6.66666cm}{5cm}{themetreebars2}
 
 \def\beamer{\textsc{beamer}}
+\def\pdf{\textsc{pdf}}
 \def\pgf{\textsc{pgf}}
 \def\pstricks{\textsc{pstricks}}
 \def\bs{$\backslash$}
 
 \begin{document}
 
-\title{User's Guide to the Beamer Class, Version 0.91\\
+\title{User's Guide to the Beamer Class, Version 0.91-dev\\
 \Large\href{http://latex-beamer.sourceforge.net}{\texttt{http://latex-beamer.sourceforge.net}}}
 \author{Till Tantau\\
   \href{mailto:tantau@users.sourceforge.net}{\texttt{tantau@users.sourceforge.net}}}
 }
 \end{verbatim}
 
+The related command \verb!\bibitem! is also overlay-specification-aware
+in the same way as \verb!\item!.
+
 \Command{hypertarget}
 \Parameters{
 \item a target name
 \end{verbatim}
 
 
+\Command{label}
+\Parameters{
+\item a target
+}
+\Description{
+  If an overlay specification is present, the label is only inserted
+  on the specified slide. Inserting a label on more than one slide
+  will cause a `multiple labels' warning. \emph{However}, if no
+  overlay specification is present, the specification is automatically
+  set to just `1' and the label is thus inserted only on the first
+  slide. This is typically the desired behaviour since it does not
+  really matter on which slide the label is inserted, \emph{except} if
+  you use an \texttt{only} command. Then you need to specifiy a slide.
+}
+\Example
+\begin{verbatim}
+\frame
+{
+  \begin{align}
+    a &= b + c   \label{first}\\ % no specification needed
+    c &= d + e   \label{second}\\% no specification needed
+  \end{align}
+
+  Blah blah, \uncover<2>{more blah blah.}
+
+  \only<3>{Specification is needed now.\label<3>{mylabel}}
+}
+\end{verbatim}
+
+
 \subsection{Environments with Overlay Specifications}
 
 Environments can also be equipped with overlay specifications. For
 \Description{
   Adds a reference item to the bibliography. Use \texttt{newblock}
   commands to  separate the authors's names, the title, the
-  book/journal reference, and any notes. 
+  book/journal reference, and any notes. If an overlay specification
+  is present, it must come directly after the word
+  \texttt{bibitem}. If present, the entry will only be shown on the
+  specified slides.
 }
 \Example
 
   \newblock {\em Science of Computer Programming}, 1(3):223--233, 1982.
 \end{verbatim}
 
-
 Note that, unlike normal \LaTeX, the default template for the
 bibliography does not repeat the citation text (like ``[Dijkstra,
 1982]'') before each item in the bibliography. Instead, a cute, small
 
 
 
-\section{Graphics, Animations, and Special Effects}
+\section{Graphics, Colors, Animations, and Special Effects}
 
 \subsection{Graphics}
 \label{section-graphics}
 easy to use, but it should be sufficient in most cases.
 
 
+
+
+
+\subsection{Color Management}
+
+The color management of the \beamer\ class relies on the packages
+\texttt{xcolor}, which is an extension of the \texttt{color} package,
+and on \texttt{xxcolor}, which in turn is an extension of
+\texttt{xcolor}. Hopefully, in the future \texttt{xxcolor} and
+\texttt{xcolor} will merge into one package and perhaps they will
+someday also merge together with \texttt{color}.
+
+
+\subsubsection{The Average Background Color}
+
+
+\subsubsection{Transparency Effects}
+
+By default, \emph{covered} items are not shown during a
+presentation. Thus if you write \verb!\uncover<2>{Text.}!, the text
+is not shown on any but the second slide. Note that the text is not
+simply printed using the background color -- it is not shown at
+all. This effect is most useful if your background does not have a
+uniform color.
+
+Sometimes however, you might prefer that covered items are not
+completely covered. Rather, you would like them to be shown already in
+a very dim or shaded way. This allows your audience to get a feeling
+for what is yet to come, without getting distracted by it. Also, you
+might wish text that is covered ``once more'' still to be visible to
+some degree.
+
+Ideally, there would be an option to make covered text
+``transparent.'' This would mean that when covered text is shown, it
+would instead be mixed with the background behind it. Unfortunately,
+this is more or less impossible to implement since neither PostScript
+nor \pdf\ currently support this.
+
+Nevertheless, you can come ``quite close'' to transparent text using
+the special command
+\begin{verbatim}
+\beamersetuncovermixins{#1}{#2}
+\end{verbatim}
+This commands allows you 
+to specify in a quite general way, how a covered item should be
+rendered. You can even specify different ways of rendering the item,
+depending on how long it will take before this item is shown or for
+how long it has already been covered once more. The transparency
+effect will automatically apply to all colors, \emph{except} for the
+colors in images and shadings. For images there is an awkward
+workaround, see the documentation of the \pgf\ package.
+
+As a convenience, two commands are defined in \texttt{beamertemplates}
+that install a predefined uncovering behavior.
+
+\Command{beamertemplatetransparentcovered}
+\Description{
+  Makes all covered text transparent. 
+}
+
+\Command{beamertemplatetransparentcovereddynamic}
+\Description{
+  Makes all covered text transparent, but is a dynamic way. The longer
+  it will take till the text is uncovered, the stronger the
+  transparency. 
+}
+
+\Command{beamersetuncovermixins}
+\Parameters{
+\item
+  A specification of how to render covered items that have \emph{not
+  yet} been uncovered.
+\item
+  A specification of how to render covered items that have \emph{once
+  more} been covered.
+}
+\Description{
+  The format of the specifications is explained below. If you leave
+one of the specifications empty, the corresponding covered items are
+completely covered, that is, they are invisible.
+}
+\Example
+\begin{verbatim}
+\beamersetuncovermixins
+  {\mixinon<1>{15!averagebackgroundcolor}
+    \mixinon<2>{10!averagebackgroundcolor}
+    \mixinon<3>{5!averagebackgroundcolor}
+    \mixinon<4->{2!averagebackgroundcolor}}
+  {\mixinon<1->{15!averagebackgroundcolor}}
+\end{verbatim}
+
+The specifications passed to \verb!\beamersetuncovermixins! can
+contain any number of the following two commands:
+
+\Command{mixinon}
+\Parameters{
+\item
+  An overlay specification given in brackets.
+\item
+  A mix-in specification.
+}
+\Description{
+  The overlay specification specifies on which slides the second
+parameter should be applied to all colors. Unlike other overlay
+specifications, the first parameter is a ``relative'' overlay
+specification. For example, the specification ``3'' here means
+``things that will be uncovered three slides ahead,'' respectively
+``things that have once more been covered for three slides.'' More
+precisely, if an item is uncovered for more than one slide and then
+covered once more, only the ``first moment of uncovering'' is used for
+the calculation of how long the item has been covered once more.
+
+  A \emph{mix-in} specification is a concept introduced by the
+\texttt{xcolor} package. A mix-in specification specifies how colors
+should be altered by adding another color to them. The specification
+consists of two parts, separated by an exclamation mark. The first
+part is a number between 0 and 100, where 0 means ``do not mix in the
+text color at all'' and 100 means ``use only the text color''. The
+second part is the color that should be mixed in. This second part may
+be omitted (along with the exclamation mark), in which case ``white''
+is used as mix-in color. Any color that has been defined using the
+\texttt{definecolor} command is permissible as a mix-in color.
+}
+\Example
+\begin{verbatim}
+\mixinon<1>{15!averagebackgroundcolor}
+\end{verbatim}
+For all items that become uncovered on the next slide or that have
+just been covered on the previous slide (depending on whether this
+command is used as part of the first or second parameter of the command
+\verb!\beamersetuncovermixins!), use only 15\% of the actual color and
+85\% of the average background color.
+
+\Command{invisibleon}
+\Parameters{
+\item
+  An overlay specification given in brackets.
+}
+\Description{
+  Text that is covered on the specified slides (once more,
+  relative to the current slide), is not shown at all.}
+\Example
+\begin{verbatim}
+\invisibleon<2->
+\end{verbatim}
+Makes everything totally covered that is not shown next or has just
+been shown.
+
+
+
 \subsection{Animations}
 
 There are two ways of creating animations. One way is to use the
 overlay commands of the \beamer\ package to create a series of slides
 that, when shown in rapid succession, present an animation. This is a
 flexible approach, but such animations will typically be rather static
-since it will take at least one second to advance from one slide to
-the next. This approach is mostly useful for animations where you want
+since it will take some time to advance from one slide to the
+next. This approach is mostly useful for animations where you want
 to explain each ``picture'' of the animation.
 
+When you advance ``by hand,'' that is, by pressing a forward
+button, it typically takes at least a second for the next slide to
+show. If you use the command \verb!\transduration{0}!, see the
+next subsection, you can create a much more rapid succession of
+slides. Note however, that each additional slide enlarges the final
+\texttt{.pdf} file quite a bit.
+
 A second way is to include an animation generated using some external
 program (like a renderer) and to then use the capabilities of the
 presentation program (like the Acrobat Reader) to show the
 content.
 
 Slide transitions should be used with great care. Most of the time,
-they only distract. However, they can be useful in a limited number of
-situations: For example, you might show a young boy on a slide
-and might wish to dissolve this slide into slide showing a grown man
-instead. In this case, the dissolving gives the audience visual
-feedback that the young boy ``slowly becomes'' the man.
+they only distract. However, they can be useful in some situations:
+For example, you might show a young boy on a slide and might wish to
+dissolve this slide into slide showing a grown man instead. In this
+case, the dissolving gives the audience visual feedback that the young
+boy ``slowly becomes'' the man.
 
 There are a number of commands that can be used to specify what effect
 should be used when the current slide is presented. Consider the
   thereby ``wiping out'' the previous contents.
 }
 \Example\verb!\transwipe{90}!
-  
+
+
+
+You can also specify how \emph{long} a given slide should be shown,
+using the following overlay-specification-aware command:
+
+\Command{transduration}
+\Parameters{
+\item
+  a number of seconds
+}
+\Description{
+  In full screen mode, show the slide the specified number of seconds.
+  In zero is specified, the slide is shown as short as possible. This
+  can be used to create interesting pseudo-animations.
+}
+\Example\verb!\transduration<2>{1}!
+