Commits

Anonymous committed bb80403

added appendix command

Comments (0)

Files changed (7)

 2003-10-16 Till Tantau <tantau@cs.tu-berlin.de>
 
-	Version 0.83:
+	Version 0.90:
 	- Improved the installation procedure documentation.
 	- Added a \pictureframe command for creating frames that are
 	  completely filled with a picture. Navigation bars are
 	- Added nicer icons for the bibliography. These are now vector
 	  graphics that work nicely together with a background shading and
 	  can be zoomed arbitrarily.
+	- Fixed bug in overwritten \document.
+	- Added \appendix command.
 
 2003-10-13 Till Tantau <tantau@cs.tu-berlin.de>
 
-1)  More themes
-2)  Some themes more appropriate for presentations of lectures.
-3)  Use xcolor for better color management
-4)  Add an \appendix command.
-5)  Explain in the user guide, how hyperref can be used to create
-    non-linear talks.
-6)  Perhaps add an way of showing photos of the authors and the
-    institutes in a convenient way.
-7)  Add a FAQ section in User guide.
-8)  Make adding navigation buttons like a "back button" easy.
-9)  Put internal macros in beamer.cls into a namespace
-10) "Cleanup" beamer.cls
+1) More themes
+2) Some themes more appropriate for presentations of lectures.
+3) Use xcolor for better color management
+4) Explain in the user guide, how hyperref can be used to create
+   non-linear talks.
+5) Perhaps add an way of showing photos of the authors and the
+   institutes in a convenient way.
+6) Add a FAQ section in User guide.
+7) Make adding navigation buttons like a "back button" easy.
+8) Put internal macros in beamer.cls into a namespace
+9) "Cleanup" beamer.cls
 
   }
 \let\beamer@origdocument\document
 \def\document{%
+  \endgroup%
   \recalculatefoot%
   \recalculatehead%
   \AtBeginDocument{% fix french.ldf's meddling with \itemize and \trivlist
     \ifx\bbl@nonfrenchitemize\@undefined\else\bbl@nonfrenchitemize\fi%
     \ifx\bbl@nonfrenchlistspacing\@undefined\else\bbl@nonfrenchlistspacing\fi}%
-  \beamer@origdocument}
+  \begingroup\beamer@origdocument}
 
 \definecolor{alert}{rgb}{1,0,0}
 \definecolor{darkgreen}{rgb}{0.15,0.6,0.15}
   }
 \themecolor{0.2}{0.2}{0.7}
 
+%
+% Page where the appendix start.
+%
+\def\beamer@appendixstart{1}
 
 % Calculate number of sections/subsections
 \newcount\subsection@max
 
 \def\sectionentry#1#2#3#4{\ifnum\section@max<#1\relax\section@max=#1\fi}
 \def\slideentry#1#2#3#4#5{\ifnum\subsection@max<#2\relax\subsection@max=#2\fi}
+\def\appendixslideentry#1#2#3#4#5{\ifnum\subsection@max<#2\relax\subsection@max=#2\fi}
+\def\appendixsectionentry#1#2#3#4{\gdef\beamer@appendixstart{#3}}
 \dohead
 
 
 \def\beamer@title@#1{\beamer@title[#1]{#1}}
 \def\beamer@title[#1]#2{%
   \def\inserttitle{#2}%
-  \def\insertshorttitle{\def\\{}\hyperlink{Navigation1}{#1}}%
+  \def\insertshorttitle{\def\\{}%
+    \ifnum\thepage=1%
+    \edef\beamer@def{{Navigation\beamer@appendixstart}}%
+    \expandafter\hyperlink\beamer@def{#1}%
+    \else%
+    \hyperlink{Navigation1}{#1}%
+    \fi}%
   }
 \title{}
 
   {%
     \long\def\subsecname{#2}%
     \long\def\lastsubsection{#2}%
+    \ifbeamer@inappendix%
+    \addtocontents{toc}{\protect\appendixsubsectionintoc{\thesection}{\thesubsection}{#2}{\thepage}}%
+    \else%
     \addtocontents{toc}{\protect\subsectionintoc{\thesection}{\thesubsection}{#2}{\thepage}}%
+    \fi%
   }%
   \edef\subsectionlink{{Navigation\thepage}{\noexpand\subsecname}}%
   \def\insertsubsection{\expandafter\hyperlink\subsectionlink}
 
 
 %
+% Appendix stuff
+%
+\newif\ifbeamer@inappendix
+\def\appendix{%
+  \beamer@inappendixtrue%
+  \refstepcounter{section}%
+  \long\edef\secname{\appendixname}%
+  \addtocontents{toc}{\protect\appendixtoc{\thesubsection}{\appendixname}{\thepage}}
+  \addtocontents{head}{\protect\headcommand{\protect\appendixsectionentry{\thesection}{\secname}{\thepage}{\secname}}}%
+  \xdef\sectionlink{{Navigation\thepage}{\noexpand\secname}}%
+  \def\insertsection{\expandafter\hyperlink\sectionlink}%
+  \def\insertsubsection{}%
+  \def\lastsubsection{}%
+  \Hy@writebookmark{\thesection}{\secname}{Outline\thesection}{1}{toc}%
+  \hyper@anchorstart{Outline\thesection}\hyper@anchorend}%
+
+
+
+%
 %
 % Overlaying
 %
 \def\beamer@writeslidentry{%
   \expandafter\@ifempty\expandafter{\beamer@framestartpage}{}% nothing to do ...
   {%else
-    \addtocontents{head}%
-    {\protect\headcommand{%
-        \protect\slideentry{\thesection}{\thesubsection}{\thesubsectionslide}{\beamer@framestartpage/\beamer@frameendpage}{\lastsubsection}}}%
+    \ifbeamer@inappendix%
+      \addtocontents{head}%
+        {\protect\headcommand{% 
+            \protect\appendixslideentry{\thesection}{\thesubsection}{\thesubsectionslide}%
+            {\beamer@framestartpage/\beamer@frameendpage}{\lastsubsection}}}%
+    \else%
+      \addtocontents{head}%
+        {\protect\headcommand{%
+            \protect\slideentry{\thesection}{\thesubsection}{\thesubsectionslide}%
+            {\beamer@framestartpage/\beamer@frameendpage}{\lastsubsection}}}%
+    \fi%
     \clearpage%
   }
 }
       {\@decodeuntil}%
       {\@decodenumber}}}}
 \def\@decodeend!{}
-\def\@decodeall+,{\ifnum1>\serialnumber\global\@anotherslidetrue\@localanotherslidetrue\fi\gdef\dowhat{\doit}\@decode}
+\def\@decodeall+,{\ifnum1>\serialnumber%
+  \global\@anotherslidetrue%
+  \@localanotherslidetrue%
+  \fi%
+  \gdef\dowhat{\doit}\@decode}
 \def\@decodeuntil-#1,{%
   \ifnum#1>\serialnumber\global\@anotherslidetrue\@localanotherslidetrue\fi%
   \ifnum\serialnumber>#1\else\gdef\dowhat{\doit}\fi%
 \long\def\makeinvisible#1{\pgfsys@begininvisible#1\pgfsys@endinvisible}
 \long\def\fakeinvisible#1{\pgfsys@begininvisible\pgfsys@endinvisible#1\pgfsys@begininvisible\pgfsys@endinvisible}
 
+
+
 %
 % Overlay commands
 %
 \newbox\navigationbox
 \def\insertnavigation#1{%
   \vbox{%
+    \ifbeamer@inappendix%
+    \def\sectionentry##1##2##3##4{}%
+    \def\slideentry{\fakeslideentry}%
+    \else%
+    \def\appendixsectionentry##1##2##3##4{}%
+    \def\appendixslideentry{\fakeslideentry}%
+    \fi%
     \hbox to #1{\hskip.3cm\tiny\setbox\sectionbox=\hbox{}%
         \hskip0pt plus-1fill\dohead%
       \box\sectionbox\hfil\hskip.3cm}%
     \hyperlink{Navigation#3}{\@sectionheadnohilight}\fi}%
   \ignorespaces}
 
+\def\appendixsectionentry#1#2#3#4{% section name, section title, page
+  \box\sectionbox\hfill
+  \setbox\sectionbox=
+  \hbox{\def\insertsectionhead{#2}%
+    \ifnum\thesection=#1%
+    \hyperlink{Navigation#3}{\@sectionheadhilight}\else%
+    \hyperlink{Navigation#3}{\@sectionheadnohilight}\fi}%
+  \ignorespaces}
+
 \long\def\usesectionheadtemplate#1#2{\def\@sectionheadhilight{#1}\def\@sectionheadnohilight{#2}}
 
 
         }}}\hskip-10cm plus 1fil
   }\fi\fi\ignorespaces}
 
+\def\appendixslideentry#1#2#3#4#5{%
+  %section number, subsection number, slide number, first/last frame page number
+  \ifnum#2>0\ifnum#3>0%
+  \hbox to 0pt{%
+    \postemp=-#2\vboxoffset%
+    \advance\postemp by -#2\boxsize%
+    \advance\postemp by -.05cm%
+    \raise\postemp\hbox{%
+      \postemp=#3\boxsize%
+      \advance\postemp by -\boxsize%
+      \advance\postemp by 1pt%
+      \kern\postemp\hbox{\beamer@link(#4){%
+        \ifnum\thesection=#1\ifnum\thesubsection=#2\ifnum\thesubsectionslide=#3%
+        \@minislidehilight\else\@minisliderowhilight\fi\else\@minislide\fi\else\@minislide\fi%
+        }}}\hskip-10cm plus 1fil
+  }\fi\fi\ignorespaces}
+
+\def\fakeslideentry#1#2#3#4#5{%
+  \ifnum#2>0\ifnum#3>0%
+  \hbox to 0pt{\postemp=-#2\vboxoffset%
+    \advance\postemp by -#2\boxsize%
+    \advance\postemp by -.05cm%
+    \raise\postemp\hbox{}}\fi\fi\ignorespaces}
+  
+
 \def\beamer@link(#1/#2){%
   \def\beamer@goto{{Navigation#1}}% default: first slide of frame
   \ifnum\thepage<#2%
   \hbox to #1{%
     \vbox{%
      \vskip1.5pt%
-      \def\slideentry##1##2##3##4##5{}%
-      \def\sectionentry##1##2##3##4{\def\insertsectionhead{##4}%
-        \setbox\tempbox=\hbox{%
-          \hyperlink{Navigation##3}{\hbox to #1{%
-            \hskip0.3cm\ifnum\thesection=##1%
-            \@sectionheadhilight\else\@sectionheadnohilight\fi\hskip0.3cm}}}%
-        \ht\tempbox=4.5pt\dp\tempbox=2pt%        
-        \box\tempbox}%
-      \dohead\vskip1.5pt}\hfill}}
+     \def\slideentry##1##2##3##4##5{}%
+     \def\appendixslideentry##1##2##3##4##5{}%
+     \def\appendixsectionentry##1##2##3##4##5{%
+       \def\insertsectionhead{##4}%
+       \setbox\tempbox=\hbox{%
+         \hyperlink{Navigation##3}{\hbox to #1{%
+           \hskip0.3cm\ifnum\thesection=##1%
+           \@sectionheadhilight\else\@sectionheadnohilight\fi\hskip0.3cm}}}%
+       \ht\tempbox=4.5pt\dp\tempbox=2pt%        
+       \box\tempbox}%
+     \def\sectionentry##1##2##3##4{\def\insertsectionhead{##4}%
+       \setbox\tempbox=\hbox{%
+         \hyperlink{Navigation##3}{\hbox to #1{%
+           \hskip0.3cm\ifnum\thesection=##1%
+           \@sectionheadhilight\else\@sectionheadnohilight\fi\hskip0.3cm}}}%
+       \ht\tempbox=4.5pt\dp\tempbox=2pt%        
+       \box\tempbox}%
+     \ifbeamer@inappendix%
+     \def\sectionentry##1##2##3##4{}%
+     \else%
+     \def\appendixsectionentry##1##2##3##4{}%
+     \fi%
+     \dohead\vskip1.5pt}\hfill}}
 
 \newcount\currentsubsection
 \def\insertsubsectionnavigation#1{%
       \vskip1.5pt%
       \currentsubsection=1%
       \def\sectionentry##1##2##3##4{}%
+      \def\appendixsectionentry##1##2##3##4{}%
       \def\slideentry##1##2##3##4##5{\ifnum##1=\thesection%
         \ifnum##2=\currentsubsection%
         \advance\currentsubsection by1%
           \@subsectionheadhilight\else\@subsectionheadnohilight\fi\hfil\hskip0.3cm}}}%
         \ht\tempbox=4.5pt\dp\tempbox=2pt%
         \box\tempbox\fi\fi}%
+      \def\appendixslideentry##1##2##3##4##5{%
+        \ifnum##2=\currentsubsection%
+        \advance\currentsubsection by1%
+        \def\insertsubsectionhead{##5}%
+        \setbox\tempbox=\hbox{\beamer@link(##4){%
+          \hbox to #1{\hskip0.3cm\ifnum\thesubsection=##2%
+          \@subsectionheadhilight\else\@subsectionheadnohilight\fi\hfil\hskip0.3cm}}}%
+        \ht\tempbox=4.5pt\dp\tempbox=2pt%
+        \box\tempbox\fi}%
+      \ifbeamer@inappendix%
+      \def\slideentry##1##2##3##4##5{}%
+      \else%
+      \def\appendixslideentry##1##2##3##4##5{}%
+      \fi%
       \dohead\vskip1.5pt}\hfill}}
 
 \long\def\usesubsectionheadtemplate#1#2{\def\@subsectionheadhilight{#1}\def\@subsectionheadnohilight{#2}}
 
 \newcommand\tableofcontents{%
   \@onlycurrentfalse%
-  \vspace*{-.5em}{\makeatletter\@input{\jobname.toc}\vfill}%
+  \vspace*{-.5em}{\makeatletter%
+    \ifbeamer@inappendix
+    \def\sectionintoc##1##2##3{}%
+    \def\subsectionintoc##1##2##3##4{}%
+    \else%
+    \def\appendixtoc##1##2##3{}%
+    \def\appendixsubsectionintoc##1##2##3##4{}%
+    \fi%
+    \@input{\jobname.toc}\vfill}%
   \color{black}
 }
 
 \newcommand\tableofcontentscurrent{%
   \@onlycurrenttrue%
-  \vspace*{-.5em}{\makeatletter\@input{\jobname.toc}\vfill}%
+  \vspace*{-.5em}{\makeatletter%
+    \ifbeamer@inappendix
+    \def\sectionintoc##1##2##3{}%
+    \def\subsectionintoc##1##2##3##4{}%
+    \else%
+    \def\appendixtoc##1##2##3{}%
+    \def\appendixsubsectionintoc##1##2##3##4{}%
+    \fi%
+    \@input{\jobname.toc}\vfill}%
   \color{black}
 }
 
 \def\sectionintoc#1#2#3{%
+    \def\inserttocsection{\hyperlink{Navigation#3}{#2}}%
+    \ifsubsectionshide
+    \vskip1.5em
+    \else
+    \vfill
+    \fi
+    \if@onlycurrent%
+      \ifnum\thesection=#1%
+        \hbox{\vbox{\sectiontemplate}}%
+      \else%
+        \hbox{\vbox{\sectiontemplateshaded}}%
+      \fi%
+    \else%
+      \hbox{\vbox{\sectiontemplate}}%
+    \fi
+    \par}
+
+\def\appendixtoc#1#2#3{%
   \def\inserttocsection{\hyperlink{Navigation#3}{#2}}%
-  \ifsubsectionshide
-  \vskip1.5em
-  \else
   \vfill
-  \fi
-  \if@onlycurrent%
-    \ifnum\thesection=#1%
-      \hbox{\vbox{\sectiontemplate}}%
-    \else%
-      \hbox{\vbox{\sectiontemplateshaded}}%
-    \fi%
-  \else%
-    \hbox{\vbox{\sectiontemplate}}%
-  \fi
-  \par}
+  \hbox{\vbox{\sectiontemplate}}%
+  \par%
+}
 
 \long\def\usetemplatetocsection#1#2{
   \def\sectiontemplate{\def\@breakhere{\\}#1}
   \def\sectiontemplateshaded{\def\@breakhere{\\}#2}}
 
 \long\def\subsectionintoc#1#2#3#4{%
-  \def\inserttocsubsection{\hyperlink{Navigation#4}{#3}}%
-  \ifsubsectionshide
-    \ifnum\thesection=#1
-      {\@subsectiontemplate}
-    \fi
-  \else
-    \if@onlycurrent
+    \def\inserttocsubsection{\hyperlink{Navigation#4}{#3}}%
+    \ifsubsectionshide
       \ifnum\thesection=#1
         {\@subsectiontemplate}
-      \else
-        {\@subsectiontemplateshaded}
       \fi
     \else
-      \ifsubsectionsshaded
-        {\@subsectiontemplateshaded}
+      \if@onlycurrent
+        \ifnum\thesection=#1
+          {\@subsectiontemplate}
+        \else
+          {\@subsectiontemplateshaded}
+        \fi
       \else
-        {\@subsectiontemplate}
+        \ifsubsectionsshaded
+          {\@subsectiontemplateshaded}
+        \else
+          {\@subsectiontemplate}
+        \fi
       \fi
-    \fi
-  \fi
+    \fi%
+}
+
+\long\def\appendixsubsectionintoc#1#2#3#4{%
+  \def\inserttocsubsection{\hyperlink{Navigation#4}{#3}}%
+  {\@subsectiontemplate}
 }
 
 \long\def\usetemplatetocsubsection#1#2{

doc/beamerexample.pdf

Binary file modified.

doc/beamerexample.tex

 
 
 % Try this:
-%\beamertemplateshadingbackground{1,0.9,0.9}{0.9,0.9,1}
+\beamertemplateshadingbackground{1,0.9,0.9}{0.9,0.9,1}
 
 \begin{document}
 
     $\Class{PSPACE}$. 
   \end{Theorem}
   \vskip1em
-  
-  The proof is based on the fact that for every $L \in
-  \Class{DLINSPACE}$ there exists an isometric homomorphism~$h$ such
-  that $h(L) \in \DOF$. 
+
+  \hyperlink{proofdetails}{Go to proof details.}
+  \hypertarget{backfromproofdetails}{}
 }
 
 
   \end{thebibliography}
 }
 
+
+
+
+%
+% The following appendix material is not shown in the normal course of
+% the presentation 
+%
+
+\appendix
+
+\frame{\tableofcontents}
+
+\subsection{Overhead Freeness and Completeness}
+
+\frame{
+  \frametitle{Overhead-Free Languages can be PSPACE-Complete}
+
+  \hypertarget{proofdetails}{}
+  \begin{Theorem}
+    $\DOF$ contains languages that are complete for
+    $\Class{PSPACE}$. 
+  \end{Theorem}
+
+  \begin{proof}
+    \begin{itemize}
+    \item
+      Let $A \in \Class{DLINSPACE}$ be $\Class{PSPACE}$-complete.\\
+      Such languages are known to exist.
+    \item
+      Let $M$ be a linear space machine that accepts~$A \subseteq
+      \Set{0,1}^*$ with tape alphabet~$\Gamma$.
+    \item
+      Let $h \colon \Gamma \to \Set{0,1}^*$ be an isometric, injective
+      homomorphism.
+    \item
+      Then $h(L)$ is in $\Class{DOF}$ and it is
+      $\Class{PSPACE}$-complete. 
+    \end{itemize}
+  \end{proof}
+
+  \hfill\hyperlink{backfromproofdetails}{return}
+}
+
+\subsection{Improvements for Context-Free Languages}
+
+\frame{
+  \frametitle{Improvements}
+
+  \begin{theorem}
+    \begin{enumerate}
+    \item
+      $\Class{DCFL} \subseteq \DOFpoly$.
+    \item
+      $\Class{CFL} \subseteq \NOFpoly$.
+    \end{enumerate}
+  \end{theorem}
+}
+  
 \end{document}
 
 

doc/beameruserguide.pdf

Binary file modified.

doc/beameruserguide.tex

 
 \begin{document}
 
-\title{User's Guide to the Beamer Class, Version 0.83\\
+\title{User's Guide to the Beamer Class, Version 0.90\\
 \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}}}
 
 \subsection{Commands and Environments for Creating Global Structure}
 
-\subsubsection{Title Page}
+
+\subsubsection{Adding a Title Page}
 
 You can use the \verb!\titlepage! command to insert a title page into
 a frame. 
 
 The \verb!\titlepage! command will arrange the following elements on
 the title page: the document title, the author(s)'s names, their
-affiliation, a title graphic, and a date. Before you invoke the title
-page command, you must specify all elements you wish to be shown. This
-is done using the following commands:
+affiliation, a title graphic, and a date.
+
+\Command{titlepage}
+\Description{Inserts the text of a title page into the current frame.}
+\Example \verb!\frame{\titlepage}!
+\vskip1em
+
+Before you invoke the title page command, you must specify all
+elements you wish to be shown. This is done using the following
+commands: 
 
 \Command{title}
 \Parameters{
 
 
 
-\subsubsection{Table of Contents}
+\subsubsection{Adding Table of Contents}
 
 The two commands for creating a table of contents are
 \verb!\tableofcontents! and \verb!\tableofcontentscurrent!. The
 
 
 
-\subsubsection{Sections and Subsections}
+\subsubsection{Adding Sections and Subsections}
 
 You can structure your text using the commands \verb!\section! and
 \verb!\subsection!. Unlike standard \LaTeX, these commands will not
 
 
 
-\subsubsection{Bibliography}
+\subsubsection{Adding a Bibliography}
 
 You can use the bibliography environment and the \verb!\cite! commands
 of \LaTeX\ in a \beamer\ presentation. However, there are a few things
 
 
 
-
-\subsection{Using the Navigation Bars}
+\subsubsection{Adding an Appendix}
+
+You can add an appendix to your talk by using the \verb!\appendix!
+command. You should put frames and perhaps whole subsections into the
+appendix that you do not intend to show during your presentation, but
+which might be useful to answer a question. 
+
+The appendix acts like an additional section with subsections
+all of its own, but it is not shown in the normal table of contents or
+in the navigation bars. Thus, it is kept perfectly separate of your
+actual talk. However, once you ``enter'' the slides that make up the
+appendix (either by continuing past the last slide of the actual talk
+or by using a hyper-jump), the navigation bars show (only) the
+contents of the appendix and the table of contents commands (only)
+show the subsections of the appendix.
+
+Inside the appendix, you should not use the \verb!\section! command,
+but you can use the \verb!\subsection! command to structure the
+appendix. Use the \verb!\tableofcontents! command to insert a table of
+contents of the appendix into the current frame.
+
+\Command{appendix}
+\Description{
+  Starts the appendix. All frames and all \texttt{subsection} commands
+  used after this command will not be shown as part of the normal
+  navigation bars.
+}
+\Example
+
+\begin{verbatim}
+\begin{document}
+\frame{\titlepage}
+\section[Outline]{}
+\frame{\tableofcontents}
+\section{Main Text}
+\frame{Some text}
+\section[Summary]{}
+\frame{Summary text}
+
+\appendix
+\frame{\tableofcontents}
+\subsection{Additional material}
+\frame{Details}
+\frame{Text omitted in main talk.}
+\subsection{Even more additional material}
+\frame{More details}
+\end{document}
+\end{verbatim}
+
+
+
+
+
+
+
+
+\subsection{The Navigation Bars}
 
 Most themes that come along with the \beamer\ class show some kind of
 navigation bar during your talk. Although these navigation bars take
   has asked about.
 \end{itemize}
 
+
+\subsubsection{Using the Navigation Bars to Navigate Between Frames}
+
 When you click on one of the icons representing a frame (by default
 this is icon is a small circle), the following happens:
 \begin{itemize}
 \item
   If you click on the current frame and you are on the last slide, you
   will jump to the first slide of the frame.
-\item
-  If you click on the document title, you will jump to the first slide
-  (usually the title page).
 \end{itemize}
 By the above rules you can:
 \begin{itemize}
   Skip the rest of the current frame by clicking on it once.
 \end{itemize}
 
-I also considered tried making a jump to an already-visited slide jump
-automatically to the last slide. However, this turned out to be
-more confusing than helpful. With the current implementation a
-double-click always brings you to the end of a slide, regardless from
-where you ``come.''
+I also tried making a jump to an already-visited frame jump
+automatically to the last slide of this frame. However, this turned
+out to be more confusing than helpful. With the current implementation
+a double-click always brings you to the end of a slide, regardless
+from where you ``come.''
+
+
+\subsubsection{Using the Navigation Bars to Navigate Between Sections}
+
+By clicking on a section or subsection in the navigation bar, you will
+jump to that section. Clicking on a section is particularly useful if
+the section starts with a \verb!\tableofcontentscurrent!, since you
+can use it to jump to the different subsections.
+
+By clicking on the document title in a navigation bar (not all themes
+show it), you will jump to the first slide of your presentation
+(usually the title page) \emph{except} if you are already at the first
+slide. On the first slide, clicking on the document title will jump to
+the appendix, if there is one. Thus by \emph{double} clicking the
+document title in a navigation bar, you can jump to the appendix.