Commits

Anonymous committed 3dbdd35

worked on notes

Comments (0)

Files changed (17)

 	- Fixed bug with tabbing in beamerbaseboxes.
 	- Added work-around for problem with black background in older
 	  versions of acroread.
+	- Fixed problems with linebreak in short title and short author
+	  in sidebar themes. 
 
 	Added:
 	- Added placement options to columns and column commands.
 	  functionality in beamer.
 	- Added dark and tab options to beamerthemesidebar. Other sidebar
 	  themes no longer needed.
-
+	- Added \noteitem and \notes commands.
+	- Added templates for notes.
+	- Added notes=onlyframeswithnotes option for generating only
+	  frames that contain a note.
+	- Added options to all \insertshortxxx commands.
+	- Added option for passing arguments to color, xcolor, pgf, and
+	  hyperref. 
+	
 	Changed:
 	- Every frame is now put into a box internally. Slides will never
 	  be split over two pages.
 	- Renamed \original to \beameroriginal because of clash with
 	  lucidia font styles.
 	- "Streamlined" themes to use the same basic templates.
-
+	- \note command should be renamed to \notes outside frames (old
+	  behaviour tolerated)
+	- \nameslide command is now obsolete. Use the label= option
+	  instead.
+	- Removed notesonly option. Use notes=only.
+	- Themes beamerthemesidebartab, beamerthemesidebardark, and
+	  beamerthemesidebardarktab are now obsolete. Use
+	  beamerthesesidebar will appropriate options instead.
+	- Theme beamerthemetreebars obsolete. Use beamerthemetree with
+          option bars instead.
+	- Removed compressnotes option. Use \beamertemplatenotecompress
+	  instead. 
+	
 	Removed:
 	- Removed pauses environment (no longer needed).
 	- Improved pgf makes \pgfonly superfluous. Use \only instead.
 	- Removed \invisibleon command (was superfluous anyway).
 	- Removed \mixinon command (was not very useful and clashes with
 	  new \pause command; use \opaqueness instead).
-	- \nameslide command is now obsolete. Use the label= option
-	  instead.
-	- Themes beamerthemesidebartab, beamerthemesidebardark, and
-	  beamerthemesidebardarktab are no obsolete. Use
-	  beamerthesesidebar will appropriate options instead.
-
+	
+	
 	LyX:
 	- Added a big example file beamerlyxexample1.lyx.
 	- Changed \tableofcontents command so that options can be
 \DeclareOptionBeamer{leqno}{\input{leqno.clo}}
 \DeclareOptionBeamer{fleqn}{\input{fleqn.clo}}
 
-\def\beamer@currentmode{default}
+\def\beamer@currentmode{beamer}
 \DeclareOptionBeamer{handout}{\gdef\beamer@currentmode{handout}}
 \DeclareOptionBeamer{trans}{\gdef\beamer@currentmode{trans}}
 
 \DeclareOptionBeamer{notes}[show]{\csname beamer@notesaction@#1\endcsname}
 
-\def\beamer@notesaction@hide{\beamer@notesfalse}
-\def\beamer@notesaction@show{\beamer@notestrue}
-\def\beamer@notesaction@only{\beamer@notestrue\beamer@notesnormalsfalse}
-\def\beamer@notesaction@frameswithnotes{\beamer@notestrue\beamer@frameswithnotesonlytrue}
+\def\beamer@notesaction@hide{%
+  \beamer@notesfalse}
+\def\beamer@notesaction@show{%
+  \beamer@notestrue}
+\def\beamer@notesaction@only{%
+  \beamer@notestrue
+  \beamer@notesnormalsfalse
+  \nofiles
+}
+\def\beamer@notesaction@onlyslideswithnotes{%
+  \beamer@notestrue%
+  \beamer@frameswithnotesonlytrue%
+  \nofiles
+}
 
 \DeclareOptionBeamer{sans}{%
   \def\familydefault{\sfdefault}

base/beamerbasedecode.sty

 % As a side effect, \@another is called whenever the there is a number
 % in the list that is larger than the current serialnumber
 
-\def\beamer@decode{\global\beamer@minimum=10000\relax\gdef\beamer@decodefound{+}\beamer@@decodefind}
-\def\beamer@@decodefind{\futurelet\beamer@next\beamer@decodeinsertdefault}
-\def\beamer@decodeinsertdefault{\ifcat\beamer@next a%
-  \gdef\beamer@next{}%
-  \else%
-  \gdef\beamer@next{default:}%
-  \fi%
-  \expandafter\beamer@decodefind\beamer@next}
+\def\beamer@decode{%
+  \global\beamer@minimum=10000\relax%
+  \gdef\beamer@decodefound{+}%
+  \beamer@@decodefind}
+\def\beamer@@decodefind#1| {%
+  \beamer@@@decodefind#1:|}
+\def\beamer@@@decodefind#1:#2|{%
+  \beamer@ifempty{#2}%
+  {\beamer@decodefind beamer:#1:}%
+  {\beamer@decodefind #1:#2}}
 
+%
+%{\futurelet\beamer@next\beamer@decodeinsertdefault}
+%\def\beamer@decodeinsertdefault{\ifcat\beamer@next a%
+%  \gdef\beamer@next{}%
+%  \else%
+%  \gdef\beamer@next{beamer:}%
+%  \fi%
+%  \expandafter\beamer@decodefind\beamer@next}
+
+\def\beamer@default{default}
+\def\beamer@articlemode{article}
+\def\beamer@presentationmode{presentation}
 \def\beamer@modestop{stop}
 \def\beamer@modeall{all}
-\def\beamer@decodefind#1:#2| {%
+\def\beamer@decodefind#1:#2:{%
   \def\beamer@mode{#1}%
+  \beameratdecodeaction{#2}%
   \ifx\beamer@mode\beamer@modestop%
     \expandafter\beamer@@decode\beamer@decodefound,!%
     \let\beamer@next=\relax%
   \else
     \ifx\beamer@mode\beamer@currentmode%
-      \gdef\beamer@decodefound{#2}%
+      \beamer@@decodefound%
     \else%
       \ifx\beamer@mode\beamer@modeall%
-        \gdef\beamer@decodefound{#2}%
+        \beamer@@decodefound%
+      \else%
+        \ifx\beamer@mode\beamer@presentationmode%
+          \ifx\beamer@currentmode\beamer@articlemode\else%
+            \beamer@@decodefound%
+          \fi%
+        \fi%
       \fi%
     \fi%
     \let\beamer@next=\beamer@@decodefind%
   \fi%
   \beamer@next}
 
+\def\beamer@@decodefound{%
+  \ifx\beamer@action\beamer@currentaction%
+    \expandafter\gdef\expandafter\beamer@decodefound\expandafter{\beamer@spec}%
+  \fi}
+\def\beamer@currentaction{default}
+
+{
+\makeatother
+\gdef\beameratdecodeaction#1{%
+  \beameratdecodeactionb#1@:}
+\gdef\beameratdecodeactionb#1@#2:{%
+  \beameratdecodeactionc{#1}{#2}}
+\gdef\beameratgetridofat#1@{%
+  \gdef\beameratspec{#1}%
+}
+}
+
+\def\beameratdecodeactionc#1#2{%
+  \gdef\beamer@spec{#2}%
+  \ifx\beamer@spec\@empty%
+    \gdef\beamer@spec{#1}%
+    \gdef\beamer@action{default}%
+  \else%
+    \gdef\beamer@action{#1}%
+    \beameratgetridofat#2%
+    \expandafter\gdef\expandafter\beamer@spec\expandafter{\beameratspec}
+  \fi%
+}
+
+
+
+
 \def\beamer@doifnotinframe{}
 \def\beamer@@decode{%
   \@ifnextchar!%
 \def\alt{\beamer@parsebr\@alt}
 \long\def\@alt<#1>#2#3{%
   \def\beamer@doifnotinframe{#3}\def\beamer@doifinframe{#2}%
-  {\setbox0=\hbox{\beamer@decode#1| stop:| }}\beamer@donow}
+  {\setbox0=\hbox{\beamer@decode#1| stop:0| }}\beamer@donow}
+
+
+\def\beamer@plus{+}
+
+\def\action{\beamer@parsebr\beamer@parsedaction}
+\long\def\beamer@parsedaction<#1>#2{%
+  \def\beamer@doifnotinframe{}\def\beamer@doifinframe{}%
+  \gdef\beamer@todo{#2}%
+  {{\setbox0=\hbox{\beamer@decode#1| stop:0| }}%
+    \ifx\beamer@decodefound\beamer@plus\else\beamer@actionadd\uncover\fi}%
+  {\def\beamer@currentaction{alert}%
+    {\setbox0=\hbox{\beamer@decode#1| stop:0| }}%
+    \ifx\beamer@decodefound\beamer@plus\else\beamer@actionadd\alert\fi}%
+  {\def\beamer@currentaction{only}%
+    {\setbox0=\hbox{\beamer@decode#1| stop:0| }}%
+    \ifx\beamer@decodefound\beamer@plus\else\beamer@actionadd\only\fi}%
+  {\def\beamer@currentaction{visible}%
+    {\setbox0=\hbox{\beamer@decode#1| stop:0| }}%
+    \ifx\beamer@decodefound\beamer@plus\else\beamer@actionadd\visible\fi}%
+  {\def\beamer@currentaction{invisible}%
+    {\setbox0=\hbox{\beamer@decode#1| stop:0| }}%
+    \ifx\beamer@decodefound\beamer@plus\else\beamer@actionadd\invisible\fi}%
+  {\def\beamer@currentaction{uncover}%
+    {\setbox0=\hbox{\beamer@decode#1| stop:0| }}%
+    \ifx\beamer@decodefound\beamer@plus\else\beamer@actionadd\uncover\fi}%
+  \beamer@todo}
+
+\def\beamer@actionadd#1{%
+  \expandafter\beamer@toarg\expandafter{\beamer@todo}{#1}}
+\long\def\beamer@toarg#1#2{%
+  \expandafter\long\expandafter\gdef\expandafter\beamer@todo%
+  \expandafter{\expandafter#2\expandafter<\beamer@decodefound>{#1}}}
+
+
 
 \def\temporal{\beamer@parsebr\@temporal}
 \long\def\@temporal<#1>#2#3#4{% past, present, future
   \def\beamer@doifnotinframe{\beamer@picked}\def\beamer@doifinframe{#3}%
-  {\setbox0=\hbox{\beamer@localanotherslidefalse\beamer@decode#1| stop:|
+  {\setbox0=\hbox{\beamer@localanotherslidefalse\beamer@decode#1| stop:0|
       \ifbeamer@localanotherslide\gdef\beamer@picked{#2}\else\gdef\beamer@picked{#4}\fi}}\beamer@donow}
 
 \def\beameroriginal#1{\csname @orig\string#1\endcsname}

base/beamerbaseframe.sty

   \refstepcounter{framenumber}%
   {\let\@elt\beamer@savecounter\beamer@overlaycounterresets}
   \gdef\insertframetitle{}%
+  \gdef\beamer@shortframetitle{}%
   \gdef\beamer@framestartpage{}%
   \gdef\beamer@whichframes{#1}%
   \ifx\beamer@framerestriction\@undefined\else% restriction stuff
   \ifx\beamer@againname\@empty%
     \beamer@slideinframe=0\relax%
     \beamer@anotherslidefalse%
-    {\setbox0=\hbox{\expandafter\beamer@decode\beamer@whichframes| stop:| }}%
+    {\setbox0=\hbox{\expandafter\beamer@decode\beamer@whichframes| stop:0| }}%
     \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:| }}%
+      {\setbox0=\hbox{\expandafter\beamer@decode\beamer@whichframes| stop:0| }}%
       \ifbeamer@anotherslide%
         \let\beamer@howtotreatframe\beamer@doseveralframes%
       \else% single slide in frame
   \def\beamer@doifinframe{\begin{beamer@frameslide}%
     #1%
   \end{beamer@frameslide}}%
-  {\setbox0=\hbox{\expandafter\beamer@decode\beamer@whichframes| stop:| }}%
+  {\setbox0=\hbox{\expandafter\beamer@decode\beamer@whichframes| stop:0| }}%
   \beamer@donow%
   \ifbeamer@anotherslide
   \advance\beamer@slideinframe by 1\relax
     \refstepcounter{framenumber}%
     \beamer@slideinframe=0\relax%
     \beamer@anotherslidefalse%
-    {\setbox0=\hbox{\expandafter\beamer@decode#1| stop:| }}%
+    {\setbox0=\hbox{\expandafter\beamer@decode#1| stop:0| }}%
     \ifbeamer@anotherslide%
       \let\beamer@howtotreatframe\beamer@dosingleframe%
     \else% no slides in frame

base/beamerbaseframecomponents.sty

 %
 %
 
-\def\useleftsidebartemplate#1#2{% #1 = size, #2 = text
+\long\def\useleftsidebartemplate#1#2{% #1 = size, #2 = text
   \beamer@leftsidebar=#1\relax%
   % Reset left margin now
   \beamer@tempdim=\beamer@leftmargin%
   }}
 \useleftsidebartemplate{0cm}{}
   
-\def\userightsidebartemplate#1#2{% #1 = size, #2 = text
+\long\def\userightsidebartemplate#1#2{% #1 = size, #2 = text
   \beamer@rightsidebar=#1\relax%
   % Reset right margin now
   \beamer@tempdim=\beamer@rightmargin%

base/beamerbaselocalstructure.sty

 % The \frametitle command
 %
 %
-\long\def\frametitle#1{%
-  \beamer@ifempty{#1}{}{%
+\newcommand*\frametitle{\@dblarg\beamer@frametitle}
+\long\def\beamer@frametitle[#1]#2{%
+  \beamer@ifempty{#2}{}{%
   \vskip0pt plus -1fill%
-  {\gdef\insertframetitle{#1}\beamer@headrenderer}
+  {\gdef\insertframetitle{#2}\beamer@headrenderer}
+  \gdef\beamer@shortframetitle{#1}%
   \vskip0.25em%
   \ifbeamer@centered
   \vfill%
 
 \long\def\useframetitletemplate#1{\def\beamer@headrenderer{#1}}
 
+\newcommand\insertshortframetitle[1][]{%
+  {%
+    \beamer@setupshort{#1}%
+    \beamer@insertshort{\beamer@shortframetitle}%
+  }}
+
 
 \article
 {
-  \long\def\frametitle#1{\gdef\insertframetitle{#1}\beamer@headrenderer}
+  \newcommand*\frametitle[2][]{\gdef\insertframetitle{#2}\beamer@headrenderer}
   \long\def\useframetitletemplate#1{\def\beamer@headrenderer{#1}}
   \useframetitletemplate{\paragraph{\insertframetitle}\ \par}
 }

base/beamerbasemisc.sty

 \AtEndDocument{%
   \clearpage
   \beamer@tempcount=\c@page\advance\beamer@tempcount by -1%
-  \immediate\write\@auxout{\string\@writefile{nav}%
-    {\noexpand\headcommand{\noexpand\beamer@partpages{\the\beamer@partstartpage}{\the\beamer@tempcount}}}}%
-  \immediate\write\@auxout{\string\@writefile{nav}%
-    {\noexpand\headcommand{\noexpand\beamer@subsectionpages{\the\beamer@subsectionstartpage}{\the\beamer@tempcount}}}}%
-  \immediate\write\@auxout{\string\@writefile{nav}%
-    {\noexpand\headcommand{\noexpand\beamer@sectionpages{\the\beamer@sectionstartpage}{\the\beamer@tempcount}}}}%
-  \immediate\write\@auxout{\string\@writefile{nav}%
-    {\noexpand\headcommand{\noexpand\beamer@documentpages{\the\beamer@tempcount}}}}
-  \immediate\write\@auxout{\string\@writefile{nav}%
-    {\noexpand\headcommand{\noexpand\def\noexpand\inserttotalframenumber{\the\c@framenumber}}}}
-    \if@filesw
+  \if@filesw
+      \immediate\write\@auxout{\string\@writefile{nav}%
+        {\noexpand\headcommand{\noexpand\beamer@partpages{\the\beamer@partstartpage}{\the\beamer@tempcount}}}}%
+      \immediate\write\@auxout{\string\@writefile{nav}%
+        {\noexpand\headcommand{\noexpand\beamer@subsectionpages{\the\beamer@subsectionstartpage}{\the\beamer@tempcount}}}}%
+      \immediate\write\@auxout{\string\@writefile{nav}%
+        {\noexpand\headcommand{\noexpand\beamer@sectionpages{\the\beamer@sectionstartpage}{\the\beamer@tempcount}}}}%
+      \immediate\write\@auxout{\string\@writefile{nav}%
+        {\noexpand\headcommand{\noexpand\beamer@documentpages{\the\beamer@tempcount}}}}
+      \immediate\write\@auxout{\string\@writefile{nav}%
+        {\noexpand\headcommand{\noexpand\def\noexpand\inserttotalframenumber{\the\c@framenumber}}}}
       \newwrite\tf@nav
       \immediate\openout\tf@nav\jobname.nav\relax
       \newwrite\tf@toc
 \def\beamerline#1{%
   \hbox{\hskip-\Gm@lmargin#1\hskip-\Gm@rmargin}}
 
+%
+% Managing short inserts
+%
+
+
+\define@key{beamerst}{respectlinebreaks}[true]{%
+  \def\beamer@stlinebreakrule{}}
+\define@key{beamerst}{width}{%
+  \def\beamer@ststart{%
+    \begin{minipage}[t]{#1}%
+      \raggedright%
+      \beamer@stalign%
+      \beamer@stlinebreakrule%
+    }%
+  \def\beamer@stend{\end{minipage}}}
+\define@key{beamerst}{center}[true]{%
+  \def\beamer@stalign{\centering}}
+\define@key{beamerst}{spill}[true]{%
+  \def\beamer@stalign{\parshape...}}%
+\newcommand{\beamer@setupshort}[1]{%
+  \def\beamer@stlinebreakrule{\def\\{}}%
+  \def\beamer@stalign{}%
+  \def\beamer@ststart{\hbox\bgroup\def\\{}}%
+  \def\beamer@stend{\egroup}%
+  \setkeys{beamerst}{#1}}%
+\newcommand{\beamer@insertshort}[1]{%
+  \beamer@ststart#1\beamer@stend%
+}
+
+
 
 \common
 

base/beamerbasenotes.sty

 
 \presentation
 
+\newbox\beamer@frameboxcopy
+
 %
 % Notes
 %
 
-\long\def\note#1{%
+\long\def\notes#1{%
   \ifbeamer@notes
   \begingroup
     \useitemizeitemtemplate{\textbullet}
     \def\@oddfoot{}
     \let\@evenhead\@oddhead
     \let\@evenfoot\@oddfoot
-    \def\beamer@backgroundtemplate{}
-    \vbox to\textheight{%
+    \def\beamer@backgroundtemplate{}%
+    \nointerlineskip
+    \hbox{\hskip-\Gm@lmargin\hskip1cm\vbox to\textheight{%
+        %pretend to have in a ``standard'' margins
+        \def\Gm@lmargin{1cm}\def\Gm@rmargin{1cm}%
+      \textwidth=10.8cm\hsize=\textwidth%
       \vskip-\headheight%
       \def\insertnote{\vbox{}#1}%
       \beamer@notetemplate%
+      \vfil%
       \vskip-4pt% foot separator
-      \vskip-\footheight}%
+      \vskip-\footheight}\hskip-\Gm@lmargin\hskip1cm}%
     \clearpage
   \endgroup
   \fi}
 
-\long\def\noteitems#1{\note{\begin{enumerate}#1\end{enumerate}}}
-
+\long\def\noteitems#1{\notes{\begin{enumerate}\itemsep=0pt\parskip=0pt#1\end{enumerate}}}
 
 %
 % Notes in frames
 %
 
+\newoverlaycommand{\note}{\beamer@note}{\@gobble}
+\def\beamer@note#1{%
+  \expandafter\gdef\expandafter\beamer@notes\expandafter{\beamer@notes%
+    #1}}
+
+\let\beamer@noteorig=\note% will be reset at beginning of frame
+\def\note{\ClassWarning{beamer}{\noexpand\note should not be used outside frames. Use \noexpand\notes instead}\notes}
+
 \newoverlaycommand{\noteitem}{\beamer@noteitem}{\@gobble}
 \def\beamer@noteitem#1{%
   \expandafter\gdef\expandafter\beamer@noteitems\expandafter{\beamer@noteitems%
 
 \def\beamer@framenotesbegin{% at beginning of slide
   \gdef\beamer@noteitems{}%
+  \gdef\beamer@notes{}%
+  \let\note\beamer@noteorig%
 }
 \def\beamer@framenotesend
 {% at end of slide
+  \global\setbox\beamer@frameboxcopy=\copy\beamer@framebox%
   \ifx\beamer@noteitems\@empty%
-    % possibly suppress this slide
-    \ifbeamer@frameswithnotesonly
-      % suppress frame
-      \setbox\beamer@framebox=\box\voidb@x%
-    \fi%
-  \else
-    \gdef\beamer@notesactions{\noteitems{\beamer@noteitems}\gdef\beamer@notesactions{}}
+    \ifx\beamer@notes\@empty% 
+      % possibly suppress this slide
+      \ifbeamer@frameswithnotesonly
+        % suppress frame
+        \setbox\beamer@framebox=\box\voidb@x%
+      \fi%
+    \else%
+      \beamer@setupnote%
+    \fi
+  \else%
+    \beamer@setupnote%
   \fi
   \ifbeamer@notesnormals%
   \else%
   \fi%
 }
 
+\def\beamer@setupnote{%
+  \gdef\beamer@notesactions{%
+    \notes{%
+      \beamer@notes%
+      \ifx\beamer@noteitems\@empty\else
+      \begin{enumerate}\itemsep=0pt\parskip=0pt%
+        \beamer@noteitems%
+      \end{enumerate}%
+      \fi
+    }%
+    \gdef\beamer@notesactions{}%
+  }
+}
+
+  
+
 \def\beamer@notesactions{}  
 
+
+
+
+%
+% Note frame insert
+%
+
+\newcommand{\insertslideintonotes}[1]{%
+  \begin{pgfpicture}{0cm}{0cm}{#1\paperwidth}{#1\paperheight}
+    \begin{pgfmagnify}{#1}{#1}
+      \color[gray]{0.8}
+      \pgfrect[fill]{\pgforigin}{\pgfpoint{\paperwidth}{\paperheight}}
+      \normalcolor
+      \pgfputat{\pgfpoint{\Gm@lmargin}{\footheight}}{\pgfbox[left,bottom]{\copy\beamer@frameboxcopy}}
+    \end{pgfmagnify}
+  \end{pgfpicture}%
+  }
+
+
+
 %
 % Note templates
 %
 \newcommand{\usetemplatenote}[1]{\def\beamer@notetemplate{#1}}
 
 % Default:
-\usetemplatenote{\small
-  \let\\=\relax%
-  \insertvrule{6.75em}{white!90!black}
-  \vskip-6.75em
+\usetemplatenote{\scriptsize
+  \insertvrule{.25\paperheight}{white!90!black}
+  \vskip-.25\paperheight
   \nointerlineskip
   \vbox{
+    \hfill\insertslideintonotes{0.25}\hskip-\Gm@rmargin\hskip0pt%
+    \vskip-0.25\paperheight%
+    \nointerlineskip
   \begin{pgfpicture}{0cm}{0cm}{0cm}{0cm}
     \begin{pgfrotateby}{\pgfdegree{90}}
       \pgfputat{\pgfpoint{-2cm}{0.2cm}}%
     \end{pgfrotateby}
   \end{pgfpicture}}
   \nointerlineskip
-  \vbox to 6.75em{\vskip0.5em
-  \hbox{\begin{minipage}[t]{10cm}\insertshorttitle\end{minipage}}%
+  \vbox to .25\paperheight{\vskip0.5em
+  \hbox{\insertshorttitle[width=8cm]}%
   \setbox\beamer@tempbox=\hbox{\insertsection}%
   \hbox{\ifdim\wd\beamer@tempbox>1pt{\hskip4pt\raise3pt\hbox{\vrule
         width0.4pt height7pt\vrule width 9pt
-        height0.4pt}}\hskip1pt\hbox{\begin{minipage}[t]{10cm}\let\\=\space\insertsection\end{minipage}}\fi%
+        height0.4pt}}\hskip1pt\hbox{\begin{minipage}[t]{7.5cm}\def\breakhere{}\insertsection\end{minipage}}\fi%
   }%
   \setbox\beamer@tempbox=\hbox{\insertsubsection}%
   \hbox{\ifdim\wd\beamer@tempbox>1pt{\hskip17.4pt\raise3pt\hbox{\vrule
         width0.4pt height7pt\vrule width 9pt
-        height0.4pt}}\hskip1pt\hbox{\begin{minipage}[t]{10cm}\let\\=\space\insertsubsection\end{minipage}}\fi%
+        height0.4pt}}\hskip1pt\hbox{\begin{minipage}[t]{7.5cm}\def\breakhere{}\insertsubsection\end{minipage}}\fi%
   }%
-  \setbox\beamer@tempbox=\hbox{\insertframetitle}%
+  \setbox\beamer@tempbox=\hbox{\insertshortframetitle}%
   \hbox{\ifdim\wd\beamer@tempbox>1pt{\hskip30.8pt\raise3pt\hbox{\vrule
         width0.4pt height7pt\vrule width 9pt
-        height0.4pt}}\hskip1pt\hbox{\begin{minipage}[t]{10cm}\let\\=\space\insertframetitle\end{minipage}}\fi%
+        height0.4pt}}\hskip1pt\hbox{\insertshortframetitle[width=7cm]}\fi%
   }%
-  \vfil}
+  \vfil}%
+  \small
   \vskip.25em
   \nointerlineskip
   \insertnote
-  \vfill
 }
 
 
 \article
 {
   \long\def\note#1{}
+  \long\def\notes#1{}
   \long\def\noteitems#1{}
   \long\def\noteitem#1{}
 }

base/beamerbaseoverlay.sty

 %
 \def\beamer@actions#1#2{%
   \gdef\beamer@do{#1%
-  \expandafter\gdef\csname beamer@doafter\the\beamer@coveringdepth\endcsname{#2}}\ignorespaces}
+    \expandafter\gdef\csname beamer@doafter%
+    \the\beamer@coveringdepth\endcsname{#2}}\ignorespaces}
   
 \def\beamer@startcovered{%
   \global\advance\beamer@coveringdepth by 1\relax%
   \def\opaqueness<##1>##2{%
     \only<##1>{%
       \beamer@actions{%
-        \expandafter\xdef\csname beamer@oldcolorhook\the\beamer@coveringdepth\endcsname{\beamer@colorhook}%
-        \expandafter\xdef\csname beamer@oldpgfextension\the\beamer@coveringdepth\endcsname{\beamer@pgfextension}%
-        \expandafter\xdef\csname beamer@oldcurrent\the\beamer@coveringdepth\endcsname{\current@color}%
-        \globalcolorlet{beamer@freeze\the\beamer@coveringdepth}{averagebackgroundcolor}%
-        \xdef\beamer@colorhook{!##2!beamer@freeze\the\beamer@coveringdepth\beamer@colorhook}%
+        \expandafter\xdef\csname beamer@oldcolorhook%
+        \the\beamer@coveringdepth\endcsname{\beamer@colorhook}%
+        \expandafter\xdef\csname beamer@oldpgfextension%
+        \the\beamer@coveringdepth\endcsname{\beamer@pgfextension}%
+        \expandafter\xdef\csname beamer@oldcurrent%
+        \the\beamer@coveringdepth\endcsname{\current@color}%
+        \globalcolorlet{beamer@freeze\the\beamer@coveringdepth}%
+        {averagebackgroundcolor}%
+        \xdef\beamer@colorhook{!##2!beamer@freeze%
+          \the\beamer@coveringdepth\beamer@colorhook}%
         \def\beamer@pgfextension{!##2opaque}%
         \color{.}%
       }%
       {%
-        \xdef\beamer@colorhook{\csname beamer@oldcolorhook\the\beamer@coveringdepth\endcsname}%
-        \xdef\beamer@pgfextension{\csname beamer@oldpgfextension\the\beamer@coveringdepth\endcsname}%
+        \xdef\beamer@colorhook{\csname beamer@oldcolorhook%
+          \the\beamer@coveringdepth\endcsname}%
+        \xdef\beamer@pgfextension{\csname beamer@oldpgfextension%
+          \the\beamer@coveringdepth\endcsname}%
         \beamer@lastskip=\lastskip%
         \ifdim\beamer@lastskip=0pt\else\ifvmode\unskip\fi\fi%
         \color{.}%
 % Overlay commands
 %
 
+
 \common
 {
   \newcommand*\beamer@gobbleoptional[2][]{}

base/beamerbasesection.sty

   \def\insertsubsection{}%
   \def\lastsubsection{}%
   \def\insertpart{\expandafter\hyperlink\partlink}%
-  \def\insertshortpart{\expandafter\hyperlink\partlinkshort}%
   \beamer@atbeginpart%
   \beamer@resumemode}%
 \def\insertpart{}
-\def\insertshortpart{}
+\def\partlinkshort{{Navigation1}{}}
 
 \def\insertromanpartnumber{\@Roman\c@part}
 \def\insertpartnumber{\@arabic\c@part}
 
+\newcommand\insertshortpart[1][]{%
+  {%
+    \beamer@setupshort{#1}%
+    \beamer@insertshort{\expandafter\hyperlink\partlinkshort}%
+  }}
 
 \common
 {

base/beamerbasetemplates.sty

 % Note templates
 %
 
-\newcommand{\beamertemplatenoteempty}{
+\newcommand{\beamertemplatenoteplain}{
   \usetemplatenote{\small\insertnote}}
 
 \newcommand{\beamertemplatenotecompress}{
-\usetemplatenote{
+\usetemplatenote{\tiny
   \let\\=\relax%
-  \insertvrule{2.5em}{white!90!black}%
-  \vskip-2.25em
+  \insertvrule{0.125\paperheight}{white!90!black}%
+  \vskip-0.125\paperheight
   \nointerlineskip
-  \tiny
+  \vbox{\hfill\insertslideintonotes{0.125}\hskip-\Gm@rmargin\hskip0pt%
+    \vskip-0.125\paperheight\nointerlineskip}%
+  \nointerlineskip
+  \vbox to .125\paperheight{
   \setbox\beamer@tempbox=\hbox{\hbox{\insertsection}}%
   \ht\beamer@tempbox=1em
   \box\beamer@tempbox
   \ht\beamer@tempbox=1em
   \box\beamer@tempbox
   \nointerlineskip
-  \setbox\beamer@tempbox=\hbox{\hbox{\quad\quad\insertframetitle}}%
+  \setbox\beamer@tempbox=\hbox{\hbox{\quad\quad\insertshortframetitle}}%
   \ht\beamer@tempbox=1em
   \box\beamer@tempbox
-  \vskip1em
+  \vfil
+  }\vskip0.5em
   \small
   \nointerlineskip
   \insertnote

base/beamerbasetitle.sty

 % The \title command
 %
 %
-\def\title{\@ifnextchar[{\beamer@title}{\beamer@title@}}
-\def\beamer@title@#1{\beamer@title[#1]{#1}}
-\def\beamer@title[#1]#2{%
+\renewcommand*{\title}{\@dblarg\beamer@title}
+\long\def\beamer@title[#1]#2{%
   \def\inserttitle{#2}%
-  \def\insertshorttitle{\def\\{}%
-    \ifnum\c@page=1%
-    \hyperlinkpresentationend{#1}%
-    \else%
-    \hyperlinkpresentationstart{#1}%
-    \fi}
+  \def\beamer@shorttitle{#1}%
   }
 \title{}
 
+\newcommand\insertshorttitle[1][]{%
+  \beamer@setupshort{#1}%
+  \ifnum\c@page=1%
+    \hyperlinkpresentationend{\beamer@insertshort{\beamer@shorttitle}}%
+  \else%
+    \hyperlinkpresentationstart{\beamer@insertshort{\beamer@shorttitle}}%
+  \fi}
+
+
+
 \article
 {
   \let\beamer@origtitle=\title
 % The \date command
 %
 %
-\def\date{\@ifnextchar[{\beamer@date}{\beamer@date@}}
-\def\beamer@date@#1{\beamer@date[#1]{#1}}
-\def\beamer@date[#1]#2{%
+\def\date{\@dblarg\beamer@date}
+\long\def\beamer@date[#1]#2{%
   \def\insertdate{#2}%
-  \def\insertshortdate{#1}%
+  \def\beamer@shortdate{#1}%
   }
 \date{\today}
 
+
+\newcommand\insertshortdate[1][]{%
+  {%
+    \beamer@setupshort{#1}%
+    \beamer@insertshort{\beamer@shortdate}%
+  }}
+
+
 \article
 {
   \let\beamer@origdate=\date
 % The \author command
 %
 %
-\def\author{\@ifnextchar[{\beamer@author}{\beamer@author@}}
-\def\beamer@author@#1{\beamer@author[#1]{#1}}
+\def\author{\@dblarg\beamer@author}
 \def\beamer@author[#1]#2{%
   \def\insertauthor{\def\inst{\beamer@insttitle}\def\and{\beamer@andtitle}#2}%
-  \def\insertshortauthor{\def\inst{\beamer@instother}\def\and{\beamer@andother}#1}}
+  \def\beamer@shortauthor{#1}%
+}
 \author{}
 
 % Aux commands for \author
 \def\beamer@instother#1{}
 \def\beamer@andother{\unskip, }
 
+\newcommand\insertshortauthor[1][]{%
+  {%
+    \def\inst{\beamer@instother}\def\and{\beamer@andother}%
+    \beamer@setupshort{#1}%
+    \beamer@insertshort{\beamer@shortauthor}%
+  }}
+
+
 \article
 {
   \let\beamer@origauthor=\author
 % The \institute command
 %
 %
-\def\institute{\@ifnextchar[{\beamer@institute}{\beamer@institute@}}
-\def\beamer@institute@#1{\beamer@institute[#1]{#1}}
-\def\beamer@institute[#1]#2{%
+\def\institute{\@dblarg\beamer@institute}
+\long\def\beamer@institute[#1]#2{%
   \def\insertinstitute{\def\inst{\beamer@instinst}\def\and{\beamer@andinst}#2}%
-  \def\insertshortinstitute{\def\inst{\beamer@instother}\def\and{\beamer@andother}#1}}
+ \def\beamer@shortinstitute{#1}}
 \institute{}
 
 \def\beamer@instinst#1{$^{#1}$\ignorespaces}
 \def\beamer@andinst{\\[1em]}
 
+\newcommand\insertshortinstitute[1][]{%
+  {%
+    \def\inst{\beamer@instother}\def\and{\beamer@andother}%
+    \beamer@setupshort{#1}%
+    \beamer@insertshort{\beamer@shortinstitute}%
+  }}
+
+
 
 \article
 {

doc/beameruserguide.tex

 
 In order to create a line break in the table of contents (usually not
 a good idea), you can use the command |\breakhere|. Note that the
-standard command |\\| does not work.
+standard command |\\| does not work (actually, I do not really know
+why; comments would be appreciated).
 
 \begin{command}{\section\oarg{short section name}\marg{section name}}
   Starts a section. No heading is created. The \meta{section name}
 
 \subsection{Adding Notes}
 
-You can add notes to your slides using the command |\note|. A
-note is a reminder to yourself of what you should say or should keep in
-mind when presenting a frame. The |\note| command should be given
-after the frame to which the note applies. Here is a typical example.
+A \emph{note} is a small piece of paper that is intended as a reminder
+to yourself of what you should say or should keep in 
+mind when presenting a slide.
+
+\subsubsection{Specifying Note Contents}
+
+There are four commands for specifying what should be put on a note:
+ |\note|, |\noteitem|, |\notes|, and |\noteitems|. The first two
+commands can only be used \emph{inside} a frame, the last two only
+\emph{outside}.
+
+The effect of |\note|\meta{text} is the following: When you use it
+somewhere inside the frame on a specific slide, a note page is created
+after the slide, containing the \meta{text}. Since you can add an
+overlay specification to the |\note| command, you can specify after
+which slide the note should be shown. If you use multiple |\note|
+commands on one slide, they ``accumulate'' and are all shown on the
+same note.
+
+To make the accumulation of notes more convenient, you can use the
+|\noteitem| command. It does the same as the |\note| command, but all
+notes added using |\noteitem| are accumulated in a list that follows
+any text inserted using |\note|. Usually, it is better not to mix
+|\noteitem| and |\note| on a slide, but it is certainly possible.
+
+The following example will produce one note page that follows the
+second slide and has two entries. 
+
 \begin{verbatim}
 \frame{
   \begin{itemize}
   \item<1-> Eggs
   \item<2-> Plants
+    \noteitem<2>{Tell joke about plants.}
+    \noteitem<2>{Make it short.}
   \item<3-> Animals
   \end{itemize}
 }
-\note{Tell joke about eggs.}
 \end{verbatim}
-The note command will create a new page that contains your text plus
-some information that should make it easier to match the note to the
-frame while talking. 
-
-Since you normally do not wish the notes to be part of your
-presentation, you must explicitly specify the class option
-|notes| to include notes. If this option is not specified, notes
-are suppressed. If you specify |notesonly| instead of
-|notes|, only notes will be included and all normal frames are
-parsed, but not displayed. This is useful for printing the notes.
-
-By default, you can fit only little on each note (they are only
-intended to be reminders after all). Using the class option
-|compressnotes| will allow you to squeeze much more on each note
-card. 
-
-\begin{classoption}{notes}
-  Include notes in the output file. Normally, notes are not included.
-\end{classoption}
-
-\begin{classoption}{notesonly}
-  Include only the notes in the output file. Useful for printing them.
-\end{classoption}
-
-\begin{classoption}{compressnotes}
-  Squeezes as much text as possible on each note card.
-\end{classoption}
+
+\begin{command}{\note\sarg{overlay specification}\marg{note text}}
+  Addends to \meta{note text} to the note that follows the current
+  slide. Multiple uses of this command on a slide accumulate. If you
+  do not specify an \meta{overlay specification}, the 
+  note will be added to \emph{all} slides of the current frame. This
+  often not what you want, so adding a specification like |<1>| is
+  usually a good idea.
+  
+  \example|\note<2>{Do not talk longer than 2 minutes about this.}|
+\end{command}
+
+\begin{command}{\noteitem\sarg{overlay specification}\marg{note text}}
+  Appends an item in a list of note items with the given \meta{note
+  text} to the note following the current slide. If uses of |\note|
+  and |\noteitem| are mixed on a slide, the notes come first, followed
+  by the list of note items.
+  
+  \example|\noteitem<2>{Stress this.}|  
+\end{command}
+
+The commands |\notes| and |\noteitems| should be used outside
+frames. They create a single note page when they are used. They are
+``independent'' of any usage of the |\note| or |\noteitem| commands
+inside the previous frame. If you say |\note| inside a frame and
+|\notes| right after it, \emph{two} note pages are created.
+
+The only difference between |\notes| and |\noteitems| is that the
+latter commands installs an enumerate environment.
 
 \begin{command}{\note\marg{note text}}
-  Creates a note page. Should be given right after a frame.
-  \example|\note{Talk no more than 1 minute.}|
+  Creates a note page. Must be used outside frames. This command is
+  \emph{not} affected by the |notes=onlyframeswithnotes| option, see
+  below.
+  \example
+\begin{verbatim}
+\frame{some text}
+\note{Talk no more than 1 minute.}
+\end{verbatim}
 \end{command}
 
 \begin{command}{\noteitems\marg{list of item commands}}
-  Just like the |\note| command, except that an |itemize|
+  Just like the |\note| command, except that an |enumerate|
   environment is setup inside the note.
   \example
 \begin{verbatim}
 
 
 
+\subsubsection{Specifying Which Notes and Frames Are Shown}
+
+Since you normally do not wish the notes to be part of your
+presentation, you must explicitly specify the class option
+|notes| to include notes. If this option is not specified, notes
+are suppressed.
+
+The |notes| class option takes several parameters whose effects are
+explained in the following.
+
+
+If you specify |notesonly| instead of
+|notes|, only notes will be included and all normal frames are
+parsed, but not displayed. This is useful for printing the notes.
+
+By default, you can fit only little on each note (they are only
+intended to be reminders after all). Using the class option
+|compressnotes| will allow you to squeeze much more on each note
+card. 
+
+\begin{classoption}{notes=hide}
+  Notes are not shown. This is the default in a presentation.
+\end{classoption}
+
+\begin{classoption}{notes=show}
+  Include notes in the output file. Normal slides are also included. 
+\end{classoption}
+
+\begin{classoption}{notes=only}
+  Include only the notes in the output file and suppresses all
+  frames. Useful for printing them. If you specify this command, the
+  |.aux| and |.toc| files are \emph{not} updated. So, if you add a
+  section and re\TeX\ your presentation, this will not be reflected in
+  the navigation bars (which you do not see anyway since only notes
+  are output).
+\end{classoption}
+
+\begin{classoption}{notes=onlyslideswithnotes}
+  This includes all notes and those slides that contain a |\note| or a
+  |\noteitem| command. Frames that are just ``followed'' by a |\notes|
+  or a |\noteitems| command will not be included.
+
+  If you use only |\note| and |\noteitem| commands, this option will
+  cause the frames and the notes that apply to them to be nicely
+  paired. This is useful for printing.
+\end{classoption}
+
+
+
+
+\subsubsection{Changing the Appearance of Notes}
+
+By default, notes are put on a page that contains your text,
+some information that should make it easier to match the note to the
+frame while talking, and a little ``mini version'' of the slide coming
+before the note (this mini version contains only the body of the
+frame, the head line, foot line, and sidebars are not shown). 
+
+You can change this appearance by specifying a different template for
+note rendering, see Section~\ref{section-note-templates} for
+details. In most cases it will be sufficient to say either
+|\beamertemplatenoteplain| in your preamble, which will give you
+``plain'' notes without anything on them but your text, or
+|\beamertemplatenotecompress|, which will give you notes with more
+space on them.
+
+
+
 \subsection{Creating an Article Version}
 
 \label{section-article}
 \end{smallpackage}
 
 
-\begin{smallpackage}{{beamerthemesidebar}\opt{|[width=|\meta{sidebar
+\begin{package}{{beamerthemesidebar}\opt{|[width=|\meta{sidebar
         width}|,dark,tab]|}}
   The option |width| sets the width of the sidebar to \meta{sidebar
     width}. The option |dark| makes the side bar and the whole theme
   \example |\usepackage[dark,tab]{beamersidebar}|
 
   \pgfuseimage{themesidebardarktab}\quad\pgfuseimage{themesidebardarktab2}
-\end{smallpackage}
+\end{package}
 
 
 \begin{smallpackage}{{beamerthemeshadow}}
 \end{smallpackage}
 
 
-\begin{smallpackage}{{beamerthemetreebars}}
+\begin{smallpackage}{{beamerthemetree}\declare{|[bar]|}}
   \example
 
   \pgfuseimage{themetreebars}\quad\pgfuseimage{themetreebars2}
 \end{verbatim}
 \end{command}
 
-\begin{command}{\insertshortauthor}
-  Inserts the short version of the author into a template.
-\end{command}
-
-\begin{command}{\insertshortdate}
-  Inserts the short version of the date into a template.
-\end{command}
-
-\begin{command}{\insertshortinstitute}
-  Inserts the short version of the institute into a template.
-\end{command}
-
-\begin{command}{\insertshortpart}
-  Inserts the short version of the part name into a template.
-\end{command}
-
-\begin{command}{\insertshorttitle}
-  Inserts the short version of the document title into a template.
+\begin{command}{\insertshortauthor\oarg{options}}
+  Inserts the short version of the author into a template. The text
+  will be printed in one long line, line breaks introduced using the
+  |\\| command are suppressed.  The
+  following \meta{options} may be given:
+  \begin{itemize}
+  \item
+    \declare{|width=|\meta{width}}
+    causes the text to be put into a multi-line minipage of the given
+    size. Line breaks are still suppressed by default.
+  \item
+    \declare{|center|}
+    centers the text inside the minipage created using the |width|
+    option, rather than having it left aligned.
+  \item
+    \declare{|respectlinebreaks|}
+    causes line breaks introduced by the |\\| command to be honoured.    
+  \end{itemize}
+
+  \example |\insertauthor[width={3cm},center,respectlinebreaks]|
+\end{command}
+
+\begin{command}{\insertshortdate\oarg{options}}
+  Inserts the short version of the date into a template. The same
+  options as for |\insertshortauthor| may ge given. 
+\end{command}
+
+\begin{command}{\insertshortinstitute\oarg{options}}
+  Inserts the short version of the institute into a template. The same
+  options as for |\insertshortauthor| may ge given. 
+\end{command}
+
+\begin{command}{\insertshortpart\oarg{options}}
+  Inserts the short version of the part name into a template. The same
+  options as for |\insertshortauthor| may ge given. 
+\end{command}
+
+\begin{command}{\insertshorttitle\oarg{options}}
+  Inserts the short version of the document title into a template. Same
+  options as for |\insertshortauthor| may ge given. 
 \end{command}
 
 
 
 
 \paragraph{Inserts for these Templates}\
-
+ 
 \begin{command}{\insertcaption}
   Inserts the text of the current caption into a template.
 \end{command}
 
 
 
+\subsubsection{Typesetting Notes}
+
+\label{section-note-templates}
+
+\paragraph{Predefined Templates}\
+
+\begin{command}{\beamertemplatenoteplain}
+  Causes all note pages to contain only the note text.
+\end{command}
+
+\begin{command}{\beamertemplatenotecompress}
+  Causes the ``routing information'' at the top of a note to be
+  smaller. 
+\end{command}
+
+
+\paragraph{Template Installation Commands}\
+
+\begin{command}{\usetemplatenote\marg{note template}}
+  Each note is typeset by inserting the \meta{note template}. The
+  template should contain a mentioning of the insert |\insertnote|,
+  which will contain the note text.
+  
+  \example |\usetemplatenote{\tiny\insertnote}|
+\end{command}
+
+
+
+\paragraph{Inserts for these Templates}\
+
+\begin{command}{\insertnote}
+  Inserts the text of the current note into the template.
+\end{command}
+
+
+\begin{command}{\insertslideintonotes\marg{magnification}}
+  Inserts a ``mini picture'' of the last slide into the current
+  note. The slide will be scaled by the given magnification.
+
+  \example |\insertslideintonotes{0.25}|
+
+  This will give a mini slide whose width and height are one fourth of
+  the usual size.
+\end{command}
+
+
+
+
 \section{License: The GNU Public License, Version 2}
 
 The \beamer\ class is distributed under the \textsc{gnu} public

examples/beamerexample1.tex

-\documentclass{beamer}
+\documentclass[notes]{beamer}
 
 % Try the class options [notes], [notesonly], [trans], [handout],
 % [red], [compress], [draft] and see what happens!
 \usepackage[english]{babel}
 
 %\usepackage{lmodern}
-%\usepackage[T1]{fontenc}
+%\usepackage[T1]{fontenc} 
 
 %\usepackage{times}
 
   \begin{columns}
     
     \column{4.5cm}
+      \noteitem<1>{Point out that \$ is a marker symbol.}
       \begin{pgfpicture}{-0.5cm}{1cm}{4cm}{7cm}
         \only<1| trans:1>{
           \putmachine{\pgfxy(1.75,3)}{Turing machine}
         Input may be \alert{modified}
       \item
         Tape alphabet \alert{is larger than}\\ input alphabet
+        \noteitem<1>{Stress the larger tape alphabet.}
       \end{itemize}
       \end{block}
   \end{columns}
 } 
-\noteitems{
-\item Stress the large tape alphabet.    
-\item Point out that \$ is a marker symbol.}
 
 \frame
 {
     \pgfheaplabeledcentered{3.5cm}{3cm}{\raise10pt\hbox{}$\Class{DLINSPACE}$}
     \pgfheaplabeledcentered{5cm}{4cm}{\raise13pt\hbox{}$\Class{NLINSPACE} = \Class{CSL}$}
     \pgfheaplabeledcentered{6cm}{5cm}{$\Class{PSPACE}$}
-
+    \noteitem{Explain CSL.}
+    
     \pgfsetdash{{3pt}{3pt}}{0pt}
     \pgfheaplabeled{\pgfxy(0,3.3)}{\pgfxy(-5,6)}{\pgfxy(5,6)}{}%
     \pgfputat{\pgfxy(-4.6,5.75)}{\pgfbox[left,base]{$\Class{PSPACE}$-hard}}%      
   \end{pgfpicture}
+  \noteitem{Point out the connections to formal language theory.}
 }
-\noteitems{
-\item Explain CSL.
-\item Point out the connections to formal language theory.}
 
 
 \subsection[Our Model]{Our Model of Absolutely No Space Overhead}
         \end{alertblock}
       \end{overprint}
   \end{columns}
+  \noteitem<6>{Point out that no markers are used.}
 }
-\note{Point out that no markers are used.}
 
 \frame
 {
   \begin{Definition}
     A language $L \subseteq \Sigma^*$ is in
     \begin{description}
-    \item[\alert<1| handout:0| trans:0>{$\DOF$}]
+    \item[\alert<1| handout:0| trans:0>{$\DOF$}%
+      \noteitem<1>{Joke about German pronunciation}]
       if $L$ is accepted by a deterministic overhead-free machine with
       input alphabet~$\Sigma$,
       \pause
       \pause
     \item[\alert<3| handout:0| trans:0>{$\NOF$}]
       is the nondeterministic  version of $\DOF$,
+      \noteitem<3>{Stress meaning of D and N.}
       \pause
     \item[\alert<4| handout:0| trans:0>{$\NOFpoly$}]
       is the nondeterministic version of $\DOFpoly$. 
     \end{description}
   \end{Definition}
 }
-\noteitems{
-\item Joke about German pronunciation.
-\item Stress meaning of D and N.}
 
 \frame
 {
         
       \end{block}
   \end{columns}
+  \note<1>{Use 3 minutes.}
 }
-\note{Use 3 minutes.}
 
 \frame
 {
   \begin{Definition}<2->
     A grammar is \alert{deterministic} if\\ ``there is always only one
     rule that can be applied.''
+    \note<2>{Just explain intution.}
   \end{Definition}
 
   \begin{Example}<2->
     $G_2\colon S \to 0S10 \mid 0$ is \alert{not} deterministic.
   \end{Example} 
 }
-\note{Just explain intuition using the example.}
 
 \frame
 {
 
     \pgfputat{\pgfxy(0,0.6)}{\pgfbox[center,base]{linear}}
   \end{pgfpicture}
+  \noteitem{Skip next subsection if more than 18 minutes have passed.}
 }
-\note{Skip next subsection if more than 18 minutes have passed.}
 
 
 \subsection[Forbidden Subword]{Context-Free Languages with a Forbidden Subword}
       \alert{linear bounded automata with fixed alphabet} size.
     \end{itemize}
   \end{block}
+
+  \noteitem{Point out result concerning all context-free languages.}
+  \noteitem{Relationship to restart automata.}
 }
-\noteitems{
-\item Point out result concerning all context-free languages.
-\item Relationship to restart automata.}
+
 
 
 \subsection*{Further Reading}

themes/beamerthemesidebar.sty

 \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
-      \ifbeamer@sidebardark
-        \color{white}\bfseries\insertshorttitle%
-        \vskip.5em
-        \color{structure!50}\insertshortauthor
-      \else%
-        \color{structure}\insertshorttitle%
-        \vskip.5em
-        \color{black!75}\insertshortauthor
-      \fi%
-    \end{minipage}}%
-  \vskip1em
+  \advance\beamer@tempdim by -6pt%
+  \tiny
+  \ifbeamer@sidebardark
+    \hskip3pt\color{white}\bfseries\insertshorttitle%
+      [width=\beamer@tempdim,center,respectlinebreaks]\par%
+    \vskip1.5em
+    \hskip3pt\color{structure!50}\insertshortauthor%
+      [width=\beamer@tempdim,center,respectlinebreaks]\par
+  \else%
+    \hskip3pt\color{structure}\insertshorttitle%
+      [width=\beamer@tempdim,center,respectlinebreaks]\par%
+    \vskip1.5em
+    \hskip3pt\color{black!75}\insertshortauthor%
+      [width=\beamer@tempdim,center,respectlinebreaks]\par
+  \fi
+  \vskip1.5em
   \insertverticalnavigation{\beamer@sidebarwidth}%
   \vfill
   \hbox to \beamer@sidebarwidth{\hfil\insertnavigationsymbols\hskip3pt}

themes/beamerthemetree.sty

 \beamertemplatelargeblocks
 \beamertemplaterightsidebarlogonavigation
 
+
+\newif\ifbeamer@treebar
+\beamer@treebarfalse
+
+\DeclareOptionBeamer{bars}{\beamer@treebartrue}
+
+\ProcessOptionsBeamer
+
   
                                 % Head
+\ifbeamer@treebar
 \useheadtemplate{%
-  \setbox\beamer@logobox=\hbox{\insertlogo}%
+  \vbox{%
+    \tinycolouredline{black}{\color{white}\textbf{\insertshorttitle}\hfill}%
+    \setbox\beamer@tempbox=\hbox{\insertsection}%
+    \tinycolouredline{structure}{\color{black}\ifdim\wd\beamer@tempbox>1pt{\hskip2pt\raise1.9pt\hbox{\vrule width0.4pt height1.875ex\vrule width 5pt height0.4pt}}\hskip1pt\color{white}\textbf{\insertsection}\fi\hfill}%
+    \setbox\beamer@tempbox=\hbox{\insertsubsection}%
+    \tinycolouredline{structure!75}{\color{black}\ifdim\wd\beamer@tempbox>1pt{\hskip9.4pt\raise1.9pt\hbox{\vrule width0.4pt height1.875ex\vrule width 5pt height0.4pt}}\hskip1pt\color{white}\textbf{\insertsubsection}\fi\hfill}%
+    }%
+  }
+\else
+\useheadtemplate{%
   \vbox{%
     \vskip3pt%
     \tinyline{\color{structure}\insertshorttitle\hfill}%
     \setbox\beamer@tempbox=\hbox{\insertsection}%
     \tinyline{\color{structure}\ifdim\wd\beamer@tempbox>1pt{\hskip2pt\raise1.9pt\hbox{\vrule width0.4pt height1.875ex\vrule width 5pt height0.4pt}}\hskip1pt\insertsection\fi\hfill}%
     \setbox\beamer@tempbox=\hbox{\insertsubsection}%
-    \tinyline{\color{structure}\ifdim\wd\beamer@tempbox>1pt{\hskip9.4pt\raise1.9pt\hbox{\vrule width0.4pt height1.875ex\vrule width 5pt height0.4pt}}\hskip1pt\insertsubsection\fi\hfill\ht\beamer@logobox=0pt\box\beamer@logobox}%
+    \tinyline{\color{structure}\ifdim\wd\beamer@tempbox>1pt{\hskip9.4pt\raise1.9pt\hbox{\vrule width0.4pt height1.875ex\vrule width 5pt height0.4pt}}\hskip1pt\insertsubsection\fi\hfill}%
     \insertvrule{3pt}{structure!50!averagebackgroundcolor}%
     }}%
-
+\fi
 
                                 % Footline
 \usefoottemplate{}

themes/beamerthemetreebars.sty

 % of the LaTeX Project Public License Distributed from CTAN
 % archives in directory macros/latex/base/lppl.txt.
 
-\beamertemplatelargetitlepage
-\beamertemplatelargepartpage
-\beamertemplatelargeframetitle
-\beamertemplateplaintoc
-\beamertemplatelargeblocks
-\beamertemplaterightsidebarlogonavigation
 
-  
-                                % Head
-\useheadtemplate{%
-  \vbox{%
-    \tinycolouredline{black}{\color{white}\textbf{\insertshorttitle}\hfill}%
-    \setbox\beamer@tempbox=\hbox{\insertsection}%
-    \tinycolouredline{structure}{\color{black}\ifdim\wd\beamer@tempbox>1pt{\hskip2pt\raise1.9pt\hbox{\vrule width0.4pt height1.875ex\vrule width 5pt height0.4pt}}\hskip1pt\color{white}\textbf{\insertsection}\fi\hfill}%
-    \setbox\beamer@tempbox=\hbox{\insertsubsection}%
-    \tinycolouredline{structure!75}{\color{black}\ifdim\wd\beamer@tempbox>1pt{\hskip9.4pt\raise1.9pt\hbox{\vrule width0.4pt height1.875ex\vrule width 5pt height0.4pt}}\hskip1pt\color{white}\textbf{\insertsubsection}\fi\hfill}%
-    }%
-  }
+\ClassWarning{beamer}{beamerthemetreebars is obsolete. Use
+  \noexpand\usepackage[bars]{beamerthemetree} instead}
 
-                                % Footline
-\usefoottemplate{}
+\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{beamerthemetree}}
+
+\ProcessOptions
+
+\RequirePackage[bars]{beamerthemetree}