Commits

Anonymous committed 6b817b3

*** empty log message ***

Comments (0)

Files changed (15)

-2003-01-19 Till Tantau <tantau@users.sourceforge.net>
+2004-01-19 Till Tantau <tantau@users.sourceforge.net>
 
+	- Fixed bug with "jumping" blocks in overlays.
 	- Added placement options to columns and column commands.
 	- Added \column command.
-	- Changed lyx layout to use new command \column.
+	- Added \resumeframe command for resuming a frame later on.
+	- Added \AtBeginSection, \AtBeginSubsection, and \AtBeginPart
+	  commands 
+	- Renamed \original to \beameroriginal because of clash with
+	  lucidia font styles.
+	- Added suppression of font replacement for serif math minion
+	  fonts.
+	- Changed file names of .jpg and .png images to start with beamer-
+	  to avoid name clashes.
+	- LyX: Added an example.
+	- LyX: Changed tableofcontents command so that options can be
+	  given. 
+	- LyX: Added overprint and overlayarea environments.
+	- LyX: Changed beamer.layout to use new command \column. Old environment
+ 	  no longer supported in lyx.
 
-2003-01-19 Till Tantau <tantau@users.sourceforge.net>
+2004-01-19 Till Tantau <tantau@users.sourceforge.net>
 
 	Version 1.21
 	- Fixed bug in \insertverticalnavigation that made sidebar themes
 beamer/examples/beamerexample5.tex
 beamer/examples/beamerexample6.pdf
 beamer/examples/beamerexample6.tex
-beamer/examples/computer.jpg
-beamer/examples/computerred.jpg
-beamer/examples/computer.mask.jpg
-beamer/examples/g4.jpg
-beamer/examples/g4red.jpg
-beamer/examples/g4.mask.jpg
-beamer/examples/ram.jpg
-beamer/examples/ram.mask.jpg
-beamer/examples/tu-logo.jpg
-beamer/examples/ur-logo.jpg
-beamer/examples/tu-logo.mask.jpg
-beamer/examples/ur-logo.mask.jpg
+beamer/examples/beamer-computer.jpg
+beamer/examples/beamer-computerred.jpg
+beamer/examples/beamer-computer-mask.jpg
+beamer/examples/beamer-g4.jpg
+beamer/examples/beamer-g4red.jpg
+beamer/examples/beamer-g4-mask.jpg
+beamer/examples/beamer-ram.jpg
+beamer/examples/beamer-ram-mask.jpg
+beamer/examples/beamer-tu-logo.jpg
+beamer/examples/beamer-ur-logo.jpg
+beamer/examples/beamer-tu-logo-mask.jpg
+beamer/examples/beamer-ur-logo-mask.jpg
 beamer/FILES
 beamer/lyx/doc/beamerlyxguide.lyx
 beamer/lyx/doc/beamerlyxguide.pdf
+beamer/lyx/examples/beamerlyxexample1.lyx
+beamer/lyx/examples/beamer-icsi-logo.pdf
+beamer/lyx/examples/beamer-knight1.png
+beamer/lyx/examples/beamer-knight1-mask.png
+beamer/lyx/examples/beamer-knight2.png
+beamer/lyx/examples/beamer-knight2-mask.png
+beamer/lyx/examples/beamer-knight3.png
+beamer/lyx/examples/beamer-knight3-mask.png
+beamer/lyx/examples/beamer-knight4.png
+beamer/lyx/examples/beamer-knight4-mask.png
 beamer/lyx/layouts/beamer.layout
 beamer/lyx/templates/beamerpresentation.lyx
 beamer/INSTALL
  2) Perhaps add an way of showing photos of the authors and the
     institutes in a convenient way.
  3) Improve \article mode.
- 4) Add command for creating a frame "out of order".
- 5) Add more artwork.
- 6) Add an faq section.
- 7) Better color management.
-10) Add miniframes and list of frames.
-11) Change \nameslide into normal \label.
-12) Add commands for zooming out parts of complex slides.
+ 4) Add more artwork.
+ 5) Add an faq section.
+ 6) Better color management.
+ 7) Add miniframes and list of frames.
+ 8) Change \nameslide into normal \label.
+ 9) Add commands for zooming out parts of complex slides.

base/beamerbasearticle.sty

   \ifx\jobnamebeamerversion\@empty%
   \ClassError{beamer}{Invoke macro "setjobnamebeamerversion" first}{}%
   \else%
-  \pgfimage[#1,page=\csname beamer@slide#2\endcsname]{\jobnamebeamerversion}
+  \edef\beamer@args{[#1,page=\csname beamer@slide#2\endcsname]{\jobnamebeamerversion}}
+  \expandafter\pgfimage\beamer@args%
   \fi}
 
 \def\setjobnamebeamerversion#1{%

base/beamerbasecolor.sty

 %
 \definecolor{alert}{rgb}{1,0,0}
 
+\colorlet{beameralert}{alert}
+\colorlet{beamerexample}{green!50!black}
+
 
 
 %

base/beamerbasecompatibility.sty

 \def\bigskip{\vskip\bigskipamount}
 
 
+%
+% Obsolete commands from old versions of beamer
+%
+\def\plainframe{\frame[plain]}
+
+
+
 %%% Local Variables: 
 %%% mode: latex
 %%% TeX-master: ../examples/beamerexample1.tex

base/beamerbasefont.sty

 % supress for standard cm
 \ifx\beamer@fmdef\beamer@cmr\beamer@suppressreplacementstrue\fi
 
-% supress for mathtime serif
+% supress for mathtime serif and math minion serif
 \@ifpackageloaded{mathtime}{\ifbeamer@sansmath\else\beamer@suppressreplacementstrue\fi}{}
+\@ifpackageloaded{mathpmnt}{\if@sansmath\else\@suppressreplacementstrue\fi}{}
+
 \ifbeamer@suppressreplacements\else
   \DeclareSymbolFont{numbers}{\encodingdefault}{\mathfamilydefault}{m}{n}
   \DeclareSymbolFont{pureletters}{\encodingdefault}{\mathfamilydefault}{m}{it}

base/beamerbaseframe.sty

   \xdef\beamer@frameendpage{\thepage}% every time
   \beamer@setuplinks%
   \let\beamer@startcomment=\beamer@startcommentinframe%
+  \ifx\beamer@resumename\@empty\else%
+  \label<\the\beamer@slideinframe>{\beamer@resumename<\the\beamer@slideinframe>}%
+  \fi%
   \beamer@entrycode\vspace*{-\baselineskip}\begin{pauses}\vfill}%
   {\beamer@exitcode\vskip0pt plus 1.5fill\end{pauses}}
 
 %
 % Keys
 %
+\define@key{beamerframe}{label}{\def\beamer@resumename{#1}}
 \define@key{beamerframe}{plain}[true]{\def\beamer@frametheme{\beamer@frametheme@plain}}
 \define@key{beamerframe}{theme}{%
   \edef\beamer@frametheme{\expandafter\noexpand\csname beamer@frametheme@#1\endcsname}}
   \@ifnextchar[{\beamer@@@frame<#1>}{\beamer@@@frame<#1>[]}}
 \def\beamer@@@frame<#1>[#2]{%
   \def\beamer@frametheme{}%
+  \def\beamer@resumename{}%
   \setkeys{beamerframe}{#2}%
   \beamer@frametheme%
   \refstepcounter{framenumber}%
   \gdef\insertframetitle{}%
   \gdef\beamer@framestartpage{}%
   \gdef\beamer@whichframes{#1}%
-  \beamer@slideinframe=0\relax%
-  \beamer@anotherslidefalse%
-  {\setbox0=\hbox{\expandafter\beamer@decode\beamer@whichframes| stop:| }}%
-  \ifbeamer@anotherslide%
-  \beamer@slideinframe=2\relax%
-  \def\beamer@doifnotinframe{}%
-  \def\beamer@doifinframe{\let\howtotreatframe\doseveralframes}%
-  \beamer@anotherslidefalse%
-  {\setbox0=\hbox{\expandafter\beamer@decode\beamer@whichframes| stop:| }}%
-  \ifbeamer@anotherslide%
-  \let\howtotreatframe\doseveralframes\else%
-  \let\howtotreatframe\dosingleframe%
+  \ifx\beamer@resumename\@empty%
+    \beamer@slideinframe=0\relax%
+    \beamer@anotherslidefalse%
+    {\setbox0=\hbox{\expandafter\beamer@decode\beamer@whichframes| stop:| }}%
+    \ifbeamer@anotherslide%
+      \beamer@slideinframe=2\relax%
+      \def\beamer@doifnotinframe{}%
+      \def\beamer@doifinframe{\let\beamer@howtotreatframe\beamer@doseveralframes}%
+      \beamer@anotherslidefalse%
+      {\setbox0=\hbox{\expandafter\beamer@decode\beamer@whichframes| stop:| }}%
+      \ifbeamer@anotherslide%
+        \let\beamer@howtotreatframe\beamer@doseveralframes%
+      \else% single slide in frame
+        \let\beamer@howtotreatframe\beamer@dosingleframe%
+      \fi%
+      \beamer@donow%
+    \else% no slides in frame
+      \let\beamer@howtotreatframe\beamer@donoframe%
+    \fi%
+  \else% resume mode
+    \let\beamer@howtotreatframe\beamer@doseveralframes%
   \fi%
-  \beamer@donow%
-  \else%
-  \let\howtotreatframe\donoframe%
-  \fi%
-  \ifbeamer@notesnormals\else\let\howtotreatframe\donoframe\fi%
-  \howtotreatframe}
-\long\def\donoframe{%
-  \beamer@slideinframe=1\relax%
+  \ifbeamer@notesnormals\else\let\beamer@howtotreatframe\beamer@donoframe\fi%
+  \beamer@howtotreatframe}
+\long\def\beamer@donoframe{%
   \beamer@slideinframe=1\relax%
   \setbox\beamer@tempbox\vbox\bgroup\leavevmode\def\pause{}\afterassignment\beamer@checknoslide\let\beamer@next}
 \def\beamer@checknoslide{%
   \beamer@do}
 \def\beamer@noframesingletoken{\beamer@next\egroup\beamer@reseteecodes}
 
-\long\def\doseveralframes#1{%
+\long\def\beamer@doseveralframes#1{%
+  \ifx\beamer@resumename\@empty\else%
+    % Resume stuff
+    \expandafter \gdef\csname beamer@resume@\beamer@resumename\endcsname{{#1}}%
+  \fi%
   \beamer@slideinframe=1\relax%
   \loop%
   \beamer@anotherslidefalse%
   \def\beamer@doifinframe{\begin{beamer@frameslide}%
     #1%
   \end{beamer@frameslide}}%
-  \beamer@slideinframe=\beamer@slideinframe%
   {\setbox0=\hbox{\expandafter\beamer@decode\beamer@whichframes| stop:| }}%
   \beamer@donow%
   \ifbeamer@anotherslide
   \beamer@writeslidentry%
   \beamer@reseteecodes}
 
-\def\dosingleframe{\begin{beamer@frameslide}\bgroup\aftergroup\beamer@endslide\afterassignment\beamer@checkslide\let\beamer@next}
+\def\beamer@dosingleframe{%
+  \beamer@slideinframe=1\relax%
+  \begin{beamer@frameslide}%
+    \bgroup\aftergroup\beamer@endslide\afterassignment\beamer@checkslide\let\beamer@next}
 \def\beamer@checkslide{%
   \ifcat\bgroup\noexpand\beamer@next%
   \let\beamer@do\relax%
 \def\beamer@writeslidentry{%
   \expandafter\beamer@ifempty\expandafter{\beamer@framestartpage}{}% nothing to do ...
   {%else
-    \addtocontents{head}%
+    \addtocontents{nav}%
       {\protect\headcommand{%
           \protect\slideentry{\thesection}{\thesubsection}{\thesubsectionslide}%
           {\beamer@framestartpage/\beamer@frameendpage}{\lastsubsection}{\thepart}}}%
-    \addtocontents{head}%
+    \addtocontents{nav}%
       {\protect\headcommand{% 
         \protect\beamer@framepages{\beamer@framestartpage}{\beamer@frameendpage}}}%
     \clearpage%
   }
 }
-
-
 \def\beamer@reseteecodes{\gdef\beamer@entrycode{}\gdef\beamer@exitcode{}}
 
-\def\plainframe{\frame[plain]}%
+
+
+%
+% Plain frames
+%
 
 \def\beamer@frametheme@plain{%
   \def\beamer@entrycode{\vspace*{-\headheight}}%
 
 
 %
-% Names slides
+% Resume frame
 %
 
-\def\beamer@nameslide#1{%
-  \addtocontents{snm}{\protect\beamer@slide{#1}{\thepage}}%
-  \hypertarget{#1}{}}
-\def\beamer@slide#1#2{\expandafter\def\csname beamer@hyperlink#1\endcsname{%
-  \hyperlink{Navigation#2}}}
-
+\def\resumeframe{\@ifnextchar<{\begingroup\catcode`:=12\catcode`|=12\beamer@resumeframe}{\beginroup\beamer@resumeframe<+>}}
+\def\beamer@resumeframe<#1>{\endgroup\@ifnextchar[{\beamer@@resumeframe<#1>}{\beamer@@resumeframe<#1>[]}}
+\def\beamer@@resumeframe<#1>[#2]#3{%
+  \@ifundefined{beamer@resume@#3}%
+  {\ClassError{beamer}{No frame has been designated to resume under
+      the name "#3"}{}}%
+  {%
+  \def\beamer@temp{\frame<#1>[#2,label=#3]}%
+  \expandafter\let\expandafter\beamer@templet\csname beamer@resume@#3\endcsname%
+  \expandafter\beamer@temp\beamer@templet}%
+}
 
 %
 % Notes

base/beamerbaselocalstructure.sty

   \gdef\beamer@endexampleblocktemplate{#2}}
 
 \newoverlayenvironment{block}[1]{%
-  \def\insertblockname{#1}%
+  \beamer@spacingcover\def\insertblockname{#1}%
   \par%
-  \beamer@beginblocktemplate}{\par\beamer@endblocktemplate}%
+  \beamer@beginblocktemplate}{\par\beamer@endblocktemplate\beamer@spacingcover}%
   {\beamer@startcovered%
   \def\insertblockname{#1}%
   \par%
   \beamer@beginblocktemplate}{\par\beamer@endblocktemplate\beamer@endcovered}
 
 \newoverlayenvironment{alertblock}[1]{%
-  \def\insertblockname{#1}%
+  \beamer@spacingcover\def\insertblockname{#1}%
   \par%
-  \beamer@beginalertblocktemplate}{\par\beamer@endalertblocktemplate}%
+  \beamer@beginalertblocktemplate}{\par\beamer@endalertblocktemplate\beamer@spacingcover}%
   {\beamer@startcovered%
   \def\insertblockname{#1}%
   \par%
   \beamer@beginalertblocktemplate}{\par\beamer@endalertblocktemplate\beamer@endcovered}
 
 \newoverlayenvironment{exampleblock}[1]{%
-  \def\insertblockname{#1}%
+  \beamer@spacingcover\def\insertblockname{#1}%
   \par%
-  \beamer@beginexampleblocktemplate}{\par\beamer@endexampleblocktemplate}%
+  \beamer@beginexampleblocktemplate}{\par\beamer@endexampleblocktemplate\beamer@spacingcover}%
   {\beamer@startcovered%
   \def\insertblockname{#1}%
   \par%
   \global\advance\beamer@descdefaulttemp by \labelsep}
 \usedescriptionitemtemplate{\color{structure}\insertdescriptionitem}{2cm}
 
+\def\usedescriptionitemofwidthas#1{%
+  \setbox\beamer@tempbox=\hbox{\def\insertdescriptionitem{#1}\descriptionitemtemplate}%
+  \beamer@descdefault\wd\beamer@tempbox\advance\beamer@descdefault by
+  \labelsep%
+  \beamer@descdefaulttemp=\beamer@descdefault}
+
 \let\beamer@itemize\itemize
 
     

base/beamerbasemisc.sty

 \AtEndDocument{%
   \clearpage
   \beamer@tempcount=\c@page\advance\beamer@tempcount by -1%
-  \immediate\write\@auxout{\string\@writefile{head}%
+  \immediate\write\@auxout{\string\@writefile{nav}%
     {\noexpand\headcommand{\noexpand\beamer@partpages{\the\beamer@partstartpage}{\the\beamer@tempcount}}}}%
-  \immediate\write\@auxout{\string\@writefile{head}%
+  \immediate\write\@auxout{\string\@writefile{nav}%
     {\noexpand\headcommand{\noexpand\beamer@subsectionpages{\the\beamer@subsectionstartpage}{\the\beamer@tempcount}}}}%
-  \immediate\write\@auxout{\string\@writefile{head}%
+  \immediate\write\@auxout{\string\@writefile{nav}%
     {\noexpand\headcommand{\noexpand\beamer@sectionpages{\the\beamer@sectionstartpage}{\the\beamer@tempcount}}}}%
-  \immediate\write\@auxout{\string\@writefile{head}%
+  \immediate\write\@auxout{\string\@writefile{nav}%
     {\noexpand\headcommand{\noexpand\beamer@documentpages{\the\beamer@tempcount}}}}
-  \immediate\write\@auxout{\string\@writefile{head}%
+  \immediate\write\@auxout{\string\@writefile{nav}%
     {\noexpand\headcommand{\noexpand\def\noexpand\inserttotalframenumber{\the\c@framenumber}}}}
     \if@filesw
-      \newwrite\tf@head
-      \immediate\openout\tf@head\jobname.nav\relax
+      \newwrite\tf@nav
+      \immediate\openout\tf@nav\jobname.nav\relax
       \newwrite\tf@toc
       \immediate\openout\tf@toc\jobname.toc\relax
       \newwrite\tf@snm

base/beamerbasenavigation.sty

 \def\usesubsectionsidetemplate#1#2{\gdef\beamer@subsectionsidehilight{#1}\gdef\beamer@subsectionsidenohilight{#2}}
 
 
+%
+% Name slides
+%
+
+\def\beamer@nameslide#1{%
+  \addtocontents{snm}{\protect\beamer@slide{#1}{\thepage}}%
+  \hypertarget{#1}{}}
+\def\beamer@slide#1#2{\expandafter\def\csname beamer@hyperlink#1\endcsname{%
+  \hyperlink{Navigation#2}}}
+
+
+
 %%% Local Variables: 
 %%% mode: latex
 %%% TeX-master: ../examples/beamerexample1.tex

base/beamerbaseoverlay.sty

   {\setbox0=\hbox{\beamer@localanotherslidefalse\beamer@decode#1| stop:|
       \ifbeamer@localanotherslide\gdef\beamer@picked{#2}\else\gdef\beamer@picked{#4}\fi}}\beamer@donow}
 
-\def\original#1{\csname @orig\string#1\endcsname}
+\def\beameroriginal#1{\csname @orig\string#1\endcsname}
 
 \long\def\newoverlaycommand#1#2#3{% In slides, #1 does #2, otherwise #3
   \def#1{\@ifnextchar<{\@overlayparse{#2}{#3}}{#2}}}
 
 \long\def\renewoverlaycommand#1#2#3{% In slides, #1 does #2, otherwise #3
-  \edef\@name{\original#1}
+  \edef\@name{\beameroriginal#1}
   \expandafter\let\@name=#1\relax%
   \def#1{\@ifnextchar<{\@overlayparse{#2}{#3}}{#2}}}
 
 \let\beamer@origitem=\item
 \def\item{%
   \beamer@closeitem\gdef\beamer@closeitem{}%
-  \@ifnextchar<{\beamer@parseitem}{\beamer@origitem}}
+  \@ifnextchar<{\beamer@parseitem}{\beamer@itemcheckopt}}
+\def\beamer@itemcheckopt{\@ifnextchar[{\beamer@itemcheckopta}{\beamer@origitem}}
+\def\beamer@itemcheckopta[#1]{\@ifnextchar<{\beamer@itemreverse[#1]}{\beamer@origitem[#1]}}
+\def\beamer@itemreverse[#1]<#2>{\beamer@parseitem<#2>[#1]}
 \def\beamer@closeitem{}
 \def\beamer@parseitem<#1>{%
   \alt<#1>{\beamer@spacingcover%for spacing reasons
 \newoverlaycommand{\only}{}{\@gobble}
 \newoverlaycommand{\uncover}{\fakeinvisible}{\makeinvisible}
 \newoverlaycommand{\invisible}{\beamer@reallymakeinvisible}{\fakeinvisible}
-\renewoverlaycommand{\textbf}{\original{\textbf}}{}
-\renewoverlaycommand{\textit}{\original{\textit}}{}
-\renewoverlaycommand{\textsl}{\original{\textsl}}{}
-\renewoverlaycommand{\textsf}{\original{\textsf}}{}
-\renewoverlaycommand{\textrm}{\original{\textrm}}{}
-\renewoverlaycommand{\color}{\original{\color}}{\beamer@gobbleoptional}
-\newoverlayenvironment{uncoverenv}{}{}{\beamer@startcovered}{\beamer@endcovered}
+\renewoverlaycommand{\textbf}{\beameroriginal{\textbf}}{}
+\renewoverlaycommand{\textit}{\beameroriginal{\textit}}{}
+\renewoverlaycommand{\textsl}{\beameroriginal{\textsl}}{}
+\renewoverlaycommand{\textsf}{\beameroriginal{\textsf}}{}
+\renewoverlaycommand{\textrm}{\beameroriginal{\textrm}}{}
+\renewoverlaycommand{\color}{\beameroriginal{\color}}{\beamer@gobbleoptional}
+\newoverlayenvironment{uncoverenv}{\beamer@spacingcover}{\beamer@spacingcover}{\beamer@startcovered}{\beamer@endcovered}
 \newoverlayenvironment{onlyenv}{}{}{\begingroup\setbox0=\hbox\bgroup}{\egroup\endgroup}
-\renewoverlaycommand{\hypertarget}{\original{\hypertarget}}{\@gobble}
+\renewoverlaycommand{\hypertarget}{\beameroriginal{\hypertarget}}{\@gobble}
 
 \newoverlaycommand{\emph}{\@emph}{}
 \def\@emph#1{{\itshape#1}}
 
 
 %
-% Label hackery (for using labels in overlays)
+% 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}}{}}  
 }
 
 
+\def\beamer@label<#1>#2{\alt<#1>{\beamer@origlabel{#2}\beamer@nameslide{#2}}{}}
+\def\beamer@label@in@display<#1>#2{\alt<#1>{\beamer@origlabel@in@display{#2}\beamer@nameslide{#2}}{}}  
+
 
 %%% Local Variables: 
 %%% mode: latex

base/beamerbasesection.sty

   \refstepcounter{part}%
   \def\beamer@partname{#2}%
   \def\beamer@partnameshort{#1}%
-  \addtocontents{head}{\protect\headcommand{\protect\partentry{#2}{\thepart}}}%
+  \addtocontents{nav}{\protect\headcommand{\protect\partentry{#2}{\thepart}}}%
   \xdef\partlink{{Navigation\thepage}{\noexpand\beamer@partname}}%
   \xdef\partlinkshort{{Navigation\thepage}{\noexpand\beamer@partnameshort}}%
   \beamer@tempcount=\c@page\advance\beamer@tempcount by -1%
-  \addtocontents{head}{\protect\headcommand{\protect\beamer@partpages{\the\beamer@partstartpage}{\the\beamer@tempcount}}}%
-  \addtocontents{head}{\protect\headcommand{\protect\beamer@sectionpages{\the\beamer@sectionstartpage}{\the\beamer@tempcount}}}%
-  \addtocontents{head}{\protect\headcommand{\protect\beamer@subsectionpages{\the\beamer@subsectionstartpage}{\the\beamer@tempcount}}}%
+  \addtocontents{nav}{\protect\headcommand{\protect\beamer@partpages{\the\beamer@partstartpage}{\the\beamer@tempcount}}}%
+  \addtocontents{nav}{\protect\headcommand{\protect\beamer@sectionpages{\the\beamer@sectionstartpage}{\the\beamer@tempcount}}}%
+  \addtocontents{nav}{\protect\headcommand{\protect\beamer@subsectionpages{\the\beamer@subsectionstartpage}{\the\beamer@tempcount}}}%
   \beamer@partstartpage=\c@page%
   \beamer@sectionstartpage=\c@page%
   \beamer@subsectionstartpage=\c@page%
   \def\insertsubsection{}%
   \def\lastsubsection{}%
   \def\insertpart{\expandafter\hyperlink\partlink}%
-  \def\insertshortpart{\expandafter\hyperlink\partlinkshort}}%
+  \def\insertshortpart{\expandafter\hyperlink\partlinkshort}%
+  \beamer@atbeginpart}%
 \def\insertpart{}
 \def\insertshortpart{}
 
 \def\insertromanpartnumber{\@Roman\c@part}
 \def\insertpartnumber{\@arabic\c@part}
 
+
+\long\def\AtBeginPart#1{%
+  \def\beamer@atbeginpart{#1}}
+\AtBeginPart{}
+
+
 %
 % Section Definitions
 %
   {\advance\beamer@tocsectionnumber by 1\relax%
    \long\def\secname{#2}\addtocontents{toc}{\protect\beamer@sectionintoc{\thesection}{#2}{\thepage}{\thepart}%
       {\the\beamer@tocsectionnumber}}}%
-  \addtocontents{head}{\protect\headcommand{\protect\sectionentry{\thesection}{#1}{\thepage}{\secname}{\thepart}}}%
+  \addtocontents{nav}{\protect\headcommand{\protect\sectionentry{\thesection}{#1}{\thepage}{\secname}{\thepart}}}%
   {\let\\=\relax\xdef\sectionlink{{Navigation\thepage}{\noexpand\secname}}}%
   \beamer@tempcount=\c@page\advance\beamer@tempcount by -1%
-  \addtocontents{head}{\protect\headcommand{\protect\beamer@sectionpages{\the\beamer@sectionstartpage}{\the\beamer@tempcount}}}%
-  \addtocontents{head}{\protect\headcommand{\protect\beamer@subsectionpages{\the\beamer@subsectionstartpage}{\the\beamer@tempcount}}}%
+  \addtocontents{nav}{\protect\headcommand{\protect\beamer@sectionpages{\the\beamer@sectionstartpage}{\the\beamer@tempcount}}}%
+  \addtocontents{nav}{\protect\headcommand{\protect\beamer@subsectionpages{\the\beamer@subsectionstartpage}{\the\beamer@tempcount}}}%
   \beamer@sectionstartpage=\c@page%
   \beamer@subsectionstartpage=\c@page%
   \def\insertsection{\expandafter\hyperlink\sectionlink}%
   \def\insertsubsection{}%
   \def\lastsubsection{}%
   \Hy@writebookmark{\thesection}{\secname}{Outline\thesection}{1}{toc}%
-  \hyper@anchorstart{Outline\thesection}\hyper@anchorend}%
+  \hyper@anchorstart{Outline\thesection}\hyper@anchorend%
+  \beamer@ifempty{#2}{\beamer@atbeginsections}{\beamer@atbeginsection}}%
 \def\insertsection{}
 \def\lastsubsection{}
 
 \def\beamer@breakhere{}
 
 
+\def\AtBeginSection{\@ifnextchar[{\beamer@AtBeginSection}{\beamer@@AtBeginSection}}
+\long\def\beamer@@AtBeginSection#1{\beamer@AtBeginSection[#1]{#1}}
+\long\def\beamer@AtBeginSection[#1]#2{%
+  \def\beamer@atbeginsection{#2}%
+  \def\beamer@atbeginsections{#1}}
+\AtBeginSection{}
+
 
 %
 % Subsection Definitions
     \addtocontents{toc}{\protect\beamer@subsectionintoc{\thesection}{\thesubsection}{#2}{\thepage}{\thepart}{\the\beamer@tocsectionnumber}}%
   }%
   \beamer@tempcount=\c@page\advance\beamer@tempcount by -1%
-  \addtocontents{head}{\protect\headcommand{\protect\beamer@subsectionpages{\the\beamer@subsectionstartpage}{\the\beamer@tempcount}}}%
+  \addtocontents{nav}{\protect\headcommand{\protect\beamer@subsectionpages{\the\beamer@subsectionstartpage}{\the\beamer@tempcount}}}%
   \beamer@subsectionstartpage=\c@page%
   \edef\subsectionlink{{Navigation\thepage}{\noexpand\subsecname}}%
   \def\insertsubsection{\expandafter\hyperlink\subsectionlink}
   \Hy@writebookmark{\thesubsection}{#1}{Outline\thesection.\thesubsection.\thepage}{2}{toc}%
-  \hyper@anchorstart{Outline\thesection.\thesubsection.\thepage}\hyper@anchorend}
+  \hyper@anchorstart{Outline\thesection.\thesubsection.\thepage}\hyper@anchorend%
+  \beamer@ifempty{#2}{\beamer@atbeginsubsections}{\beamer@atbeginsubsection}}
 
 \def\untitledsubsection{%
   \refstepcounter{subsection}%
   \def\lastsubsection{}}
 \def\insertsubsection{}
 
+\def\AtBeginSubsection{\@ifnextchar[{\beamer@AtBeginSubsection}{\beamer@@AtBeginSubsection}}
+\long\def\beamer@@AtBeginSubsection#1{\beamer@AtBeginSubsection[#1]{#1}}
+\long\def\beamer@AtBeginSubsection[#1]#2{%
+  \def\beamer@atbeginsubsection{#2}%
+  \def\beamer@atbeginsubsections{#1}}
+\AtBeginSubsection{}
+
 
 
 %
 %
 \def\appendix{%
   \part{\appendixname}
-  \addtocontents{head}{\protect\headcommand{\protect\beamer@appendixpages{\the\c@page}}}}
+  \addtocontents{nav}{\protect\headcommand{\protect\beamer@appendixpages{\the\c@page}}}}
 
 
 %%% Local Variables: 

base/beamerbasetemplates.sty

 
 \newcommand{\beamertemplatesetupshadings}{
   \beamerboxessetupshadows
-  \colorlet{beamerdarkgreen}{green!50!black}
   \beamerboxesdeclarecolorscheme{block}{structure!75!averagebackgroundcolor}{structure!10!averagebackgroundcolor}
   \beamerboxesdeclarecolorscheme{alert}{alert!75!averagebackgroundcolor}{alert!10!averagebackgroundcolor}
-  \beamerboxesdeclarecolorscheme{example}{beamerdarkgreen!75!averagebackgroundcolor}{beamerdarkgreen!10!averagebackgroundcolor}
+  \beamerboxesdeclarecolorscheme{example}{beamerexample!75!averagebackgroundcolor}{beamerexample!10!averagebackgroundcolor}
 }
 
 \newcommand{\beamertemplateroundedblocks}{

doc/beameruserguide.pdf

Binary file modified.