Commits

Anonymous committed 12c9c9b

*** empty log message ***

  • Participants
  • Parent commits 3c00f07

Comments (0)

Files changed (10)

 2004-01-19 Till Tantau <tantau@users.sourceforge.net>
 
 	Bugfixes:
-	- Fixed bug with "jumping" blocks in overlays.
+	- Fixed bugs with "jumping" blocks in overlays.
 	- Fixed bug with tabbing in beamerbaseboxes.
 	- Added work-around for problem with black background in older
 	  versions of acroread.
 	  new \pause command; use \opaqueness instead).
 	- Removed \newoverlaycommand and \renewoverlaycommand. Can be
 	  better implemented using \newcommand<>.
+	- Removed beamer/lyx/doc. Documentation is now incorporated in
+	  the main user's guide.
 	
 	LyX:
 	- Added a big example file beamerlyxexample1.lyx.
 	- Added \againframe command.
 	- Changed beamer.layout to use new command \column. Old environment
  	  no longer supported in lyx.
+	- Added TitleGraphic command.
+	- New frame, new section, and new subsection automatically end
+	  previous frame.
+	- Documented the LyX interface in beameruserguide.pdf.
+	
 
 2004-01-19 Till Tantau <tantau@users.sourceforge.net>
 
  1) Some commands for creating a lecture title page.
  2) Perhaps add an way of showing photos of the authors and the
     institutes in a convenient way.
- 3) Improve \article mode.
- 4) Add more artwork.
- 5) Add an faq section.
- 6) Better color management.
- 7) Add miniframes and list of frames.
- 8) Add commands for zooming out parts of complex slides.
- 9) Make \note command also work on a per-slide basis.
-10) Add a note template.
-11) Explain nodefaultblocks.
-12) Make \cite commands hyperlink.
+ 3) Add more artwork.
+ 4) Add an faq section.
+ 5) Better color management.
+ 6) Add miniframes and list of frames.
+ 7) Add commands for zooming out parts of complex slides.
+ 8) Make \cite commands hyperlink.
+ 9) Make section and subsections breakable in sidebars.
+10) Add \lecture and \includeonlylecture commands.

base/beamerbasecolor.sty

 
     \colorlet{beameralert}{alert}
     \colorlet{beamerexample}{green!50!black}
-    \colorlet{structure}{black}
+    \colorlet{beamerstructure}{black}
+    \colorlet{structure}{beamerstructure}
   \fi
     
 }

base/beamerbaselocalstructure.sty

 % Alerting
 %
 
+\mode
+<all>
+{
 \newenvironment{alertenv}{\begin{altenv}%
     {\beamer@templatestartalert}
     {\beamer@templateendalert}{}{}}{\end{altenv}}
   \def\beamer@templatestartalert{#1}\def\beamer@templateendalert{#2}}
 \long\def\usestructuretemplate#1#2{%
   \def\beamer@templatestartstructure{#1}\def\beamer@templateendstructure{#2}}
+}
 
+
+\mode
+<presentation>
+{
 \usealerttemplate{%
   \def\bmb@scheme{alert}%
   \colorlet{beamerstructure}{beameralert!85!beamerstructure}%
   \colorlet{beamerexample}{beameralert!85!beamerexample}%
   \color{beameralert}}{}
 \usestructuretemplate{\color{beamerstructure}}{}
-
+}
 
 \mode
 <article>
 {
-  \newenvironment{alertenv}{\begin{altenv}%
-    {\begin{itshape}}{\end{itshape}}{}{}}{\end{altenv}}
-  \newenvironment{structureenv}{\begin{structureenv}%
-    {\begin{bfseries}}{\end{bfseries}}{}{}}{\end{altenv}}
-  
-  \newcommand{\alert}{\only{\emph}}
-  \newcommand{\structure}{\only{\textbf}}
+  \usealerttemplate{\begin{itshape}}{\end{itshape}}
+  \usestructuretemplate{\begin{bfseries}}{\end{bfseries}}
 }
 
 

base/beamerbasemodes.sty

 {\catcode`\^^M=12\endlinechar=-1%
   \long\gdef\beamer@processline#1^^M{%
     \def\beamer@test{#1}%
+    \ifx\beamer@test\beamer@stopmodestar%
+      \let\next=\beamer@modeoutsideframe%
+    \else%
     \ifx\beamer@test\beamer@stopmode%
       \let\next=\mode%
     \else%
         \fi%
       \fi%
     \fi%
+    \fi%
     \next}
 }
 
 \def\beamer@closer{}
 {\escapechar=-1\relax%
   \xdef\beamer@stopmode{\string\\mode}
+  \xdef\beamer@stopmodestar{\string\\mode*}
   \xdef\beamer@stoparticle{\string\\article}
   \xdef\beamer@stoppresentation{\string\\presentation}
   \xdef\beamer@stopcommon{\string\\common}

base/beamerbasenotes.sty

 %
 
 \long\def\notes#1{%
+  \beamer@savemode%
   \ifbeamer@notes
   \begingroup
     \useitemizeitemtemplate{\textbullet}
       \vskip-\footheight}\hskip-\Gm@lmargin\hskip1cm}%
     \clearpage
   \endgroup
-  \fi}
+  \fi%
+  \beamer@resumemode}
 
 \long\def\noteitems#1{\notes{\begin{enumerate}\itemsep=0pt\parskip=0pt#1\end{enumerate}}}
 

doc/beameruserguide.tex

 \providecommand{\LyX}{L\kern-.1667em\lower.25em\hbox{Y}\kern-.125emX\@}
 
 
+\newcommand{\beamernote}{\par\noindent\llap{\color{blue}\textsc{beamer}\ \ }}
+\newcommand{\articlenote}{\par\smallskip\noindent\llap{\color{blue}\textsc{article}\ \ }}
+\newcommand{\lyxnote}{\par\smallskip\noindent\llap{\color{blue}\textsc{lyx}\ \ }}
+
+
+
 
 \begin{document}
 
 description, the described command, environment, or option is printed 
 in red. Text shown in green is optional and can be left out.
 
+You will sometimes find one of the words \textsc{beamer},
+\textsc{article}, or \textsc{lyx} in blue in some description of a
+command or environment. The first indicates that the description
+applies only to ``normal beamer operation in \LaTeX.'' The word
+\textsc{article} describes some behaviour that is special for the
+|article| mode. The word \textsc{lyx} describes behaviour that is
+special when you use \LyX\ to prepare your presentation.  
 
 
 
 \textsc{xcolor} package, which can also be found at that place
 (although the version on CTAN might be newer).
 
+\lyxnote
+For usage with \LyX,  version 1.3.3 of \LyX and higher are known to
+work (I have not tried earlier versions; they might also work). 
+
 In all cases, the packages contain a bunch of files (for the \beamer\
 class, |beamer.cls| is one of these files and happens to be the
 most important one, for the \textsc{pgf} package |pgf.sty| is
 running the command  |texhash| or |mktexlsr| (they are
 the same). In MikTeX, there is a menu option to do this.
 
+\lyxnote
+For usage of the \beamer\ class with \LyX, you have to do all of the
+above. Then you also have to make \LyX\ aware of the file
+|beamer/lyx/layouts/beamer.layout|. To do so, link (or, not
+so good in case of updates, copy) this file to the directory
+|.lyx/layouts| in your home directory. Then use \LyX's Reconfigure
+option to make it aware of this file.
+
 \vskip1em
 For a more detailed explanation of the standard installation process
 of packages, you might wish to consult
 \end{package}
 
 \begin{package}{{CJK}}
-  When using the |CJK| package, you must use the class option
-  \declare{|CJK|}. See |beamerexample4.tex| for an example.
+  When using the |CJK| package for using Asian fonts, you must use the
+  class option \declare{|CJK|}. See |beamerexample4.tex| for an
+  example. 
 \end{package}
 
 \begin{package}{{deluxetable}}
 
     \example |\documentclass[hyperref={bookmarks=false}]{beamer}|
   \end{classoption}
+
+  Alternatively, you can also use the |\hypersetup| command.
 \end{package}
 
 \begin{package}{{inputenc}|[|\declare{|utf8|}|]|}
 
 \subsection{Step One: Setup the Files}
 
+\beamernote
 It is advisable that you create a folder for each
 presentation. Even though your presentation will usually reside in a
 single file, \TeX\ produces so many extra files that things can easily
 setup a more elaborate file scheme. See
 Section~\ref{section-article-version-workflow} for details.
 
+\lyxnote
+You can either open a new file and then select |beamer| as the
+document class or you say ``New from template'' and then use a
+template from the directory |beamer/lyx/templates|.
 
 
 
 
 \subsection{Step Three: Creating a PDF or PostScript File}
 
+\beamernote
 Once a first version of the structure is finished, you should create a
 first PDF or PostScript file of your (still empty) talk. This file
 will only contain the title page and the table of contents. The file
 \end{document}
 \end{verbatim}
 
+\lyxnote
+Use ``View'' to check whether the presentation compiles fine. Note
+that you must put the table of contents inside a frame, but that the
+titlepage is created automatically.
 
 
 \subsubsection{Creating PDF}
 
+\beamernote
 To create a |PDF| version of this file, run the program
 |pdflatex| on |main.tex| at least twice. Your need to run it twice, so
 that \TeX\ can create the table of contents. (It may even be necessary
 or to enlarge the slides, you can use the program |pdfnup|. Also, many
 commercial programs can perform this task.
 
+\lyxnote
+Chose ``View pdf'' to view your presentation.
 
 
 \subsubsection{Creating PostScript}
 \label{section-postscript}
 
+\beamernote
 To create a PostScript version, you should first ascertain that the
 \textsc{hyperref} package (which is automatically loaded by the
 \beamer\ class) uses the option |dvips| or some compatible
 \end{verbatim}
 
 
+\lyxnote
+Use ``View Postscript'' to view the PostScript version.
+
 
 \subsection{Step Four: Create Frames}
 
 it when you ignore a rule and you should be able to justify it to
 yourself. 
 
+\lyxnote
+To create a frame, use the style ``BeginFrame''. The frame title
+is given on the line of this style. The frame ends automatically with
+the start of the next frame, with a section or subsection command, and
+with an empyt line in the sylte ``EndFrame''. Note that the last frame
+of your presentation must be ended using ``EndFrame'' and that the
+last frame before the appendix must be ended this way.
 
 \subsubsection{Guidelines on What to Put on a Frame}
 
 setup the article version can be found in
 Section~\ref{section-article}.  
 
+\lyxnote
+Creating an article version is not possible in \LyX.
 
 
 
 
 \label{section-overlay}
 
+This section explains how you can create frames and overlays. It
+starts with a description of a general concept, calls \emph{overlay
+specifications}. Nearly all of \beamer's commands for creating frames
+and overlays are based on this concept, except for the simple |\pause|
+command (though it is internally also mapped to this concept).
+
+
+\subsection{The Concept of Overlay Specifications}
+
+\label{section-concept-overlays}
+
+\subsubsection{The General Concept}
+
+When creating overlays, how do you specify on which slides of a
+series of slides a certain text should be shown? (Such a series is
+called a \emph{frame} in \beamer.) The approach taken by most
+presentation classes is to introduce new commands, which get a certain
+slide number as input and which affect the text on the slide following
+this command in a certain way. For example, \textsc{prosper}'s
+|\fromSlide{2}| command causes all text following this command to be
+shown only from the second slide on.
+
+The \beamer\ class uses a different approach (though the
+abovementioned command is also available: |\pause[2]| will have the
+same effect as |\fromSlide{2}|, expect that |\pause| trancedes
+environments). The idea is to add \emph{overlay specifications} to
+certain commands. These specifications are always given in pointed
+brackets and follow the command ``as soon as possible,'' though in
+certain causes \beamer\ also allows that overlay specification to be
+given a little later. In the simplest case, the specification contains
+just a numbers. A command with an overlay
+specification following it will only have ``effect'' on the slide(s)
+mentioned in the specification. What exactly ``having an effect''
+means, depends on the command. Consider the following example.
+
+\begin{verbatim}
+\frame
+{
+  \textbf{This line is bold on all three slides.}
+  \textbf<2>{This line is bold only on the second slide.}
+  \textbf<3>{This line is bold only on the third slide.}
+}
+\end{verbatim}
+
+For the command |\textbf|, the overlay specification causes the
+text to be set in boldface only on the specified slides. On all other
+slides, the text is set in a normal font.
+
+For a second example, consider the following frame:
+\begin{verbatim}
+\frame
+{
+  \only<1>{This line is inserted only on slide 1.}
+  \only<2>{This line is inserted only on slide 2.}
+}
+\end{verbatim}
+
+The command |\only|, which is introduced by \beamer, normally simply
+inserts its parameter into the current frame. However, if an
+overlay-specification is present, it ``throws away'' its parameter on
+slides that are not mentioned. 
+
+Overlay specifications can only be written behind certain commands,
+not every command. Which commands you can use and which effects this
+will have is explained in Section~\ref{section-overlay}. However, it
+is quite easy to redefine an existing command such that it becomes
+``overlay specification aware,'' see also Section~\ref{section-overlay}.
+
+The syntax of (basic) overlay specifications is the following: They
+are comma-separated list of slides and ranges. Ranges are specified
+like this: |2-5|, which means slide two through to five. The start or
+the beginning of a range can be omitted. For example, |3-| means
+``slides three, four, five, and so on'' and |-5| means the same as
+|1-5|. A complicated example is |-3,6-8,10,12-15|, which selected the 
+slides 1, 2, 3, 6, 7, 8, 10, 12, 13, 14, and 15.
+
+
+\lyxnote
+Overlay specifications can also be given in \LyX. You must give them
+in \TeX-mode (otherwise the pointed brackets will be ``escaped'' by
+\LyX). For example, to add an overlay specification to an item, simply
+insert a \TeX-mode text like |<3>| as the first thing in that
+item. Likewise, you can add an overlay specification to environments
+like |{theorem}| by giving them in \TeX-mode right at the start of the
+environment. 
+
+
+\subsubsection{Mode Specifications}
+
+This subsection is only important, if you use \beamer's mode mechanism
+to create different versions of your presentation. If you are not
+familiar with \beamer's modes, please skip this section or read
+Section~\ref{section-modes} first.
+
+In certain cases you may wish to have different overlay specifications
+to apply to a command in different modes.
+For example, you might wish a certain text to appear only from the
+third slide on during your presentation, but in a handout for the
+audience there should be no second slide and the text should appear
+already on the second slide. In this case you could write
+\begin{verbatim}
+\only<3| handout:2>{Some text}
+\end{verbatim}
+                                %\begin{verbatim}
+
+The vertical bar, which must be followed by a (white) space, separates
+the two different specifications |3| and |handout:2|. By writing a
+mode name before a colon, you specify that the following specification
+only applies to that mode. If no mode is given, as in |3|, the mode
+|beamer| is automatically added. For this reason, if you write
+|\only<3>{Text}| and you are in |handout| mode, the text will be shown
+on all slides since there is no restriction specified for handouts and
+since the |3| is the same as |beamer:3|.
+
+It is also possible to give an overlay specification that contains
+only a mode name (or several, separated by vertical bars):
+\begin{verbatim}
+\only<article>{This text is shown only in article mode.}
+\end{verbatim}
+An overlay specification that does not contain any slide numbers is
+called a (pure) \emph{mode specification}. If a mode specification is
+given, all modes that are not mentioned are automatically
+suppressed. Thus |<beamer:1->| means ``on all slides in |beamer| mode
+and also on all slides in all other modes, since nothing special is
+specified for them,'' whereas |<beamer>| means ``on all slides in
+|beamer| mode and not on any other slides.''
+
+Mode specification can also be used outside frames as in the following
+examples:
+\begin{verbatim}
+\section<presentation>{This section exists only in the presentation modes}
+\section<article>{This section exists only in the article mode}
+\end{verbatim}
+
+You can also mix pure mode specifications and overlay specifications,
+although this can get confusing: 
+\begin{verbatim}
+\only<article| beamer:1>{Riddle}
+\end{verbatim}
+
+This will cause the text |Riddle| to be inserted in |article| mode and
+on the first slide of a frame in |beamer| mode, but not at all in
+|handout| or |trans| mode. (Try to find out how
+\verb/<beamer| beamer:1>/ differs from |<beamer>| and from
+|<beamer:1>|.)
+
+
+\subsubsection{Action Specifications}
+\label{section-alert-specifications}
+
+
+Some overlay-specification-aware commands cannot only handle normal
+overlay specifications, but also so called \emph{action
+specifications}. In an action specification, the list of slide numbers
+and ranges is prefixed by \meta{action}|@|, where \meta{action} is the
+name of a certain action to be taken on the specified slides:
+\begin{verbatim}
+\item<3-| alert@3> Shown from slide 3 on, alerted on slide 3. 
+\end{verbatim}
+In the above example, the |\item| command, which allows actions to be
+specified, will uncover the item text from slide three on and it will,
+additionally, alert this item exactly on slide 3.
+
+Not all commands can take an action specification. Currently, only
+|\item| (though not in |article| mode currently), |\action|, the
+environment |actionenv|, and the block environments (like |block| or
+|theorem|) handle them. 
+
+By default, the following actions are available:
+\begin{itemize}
+\item \declare{|alert|} alters the item or block.
+\item \declare{|uncover|} uncovers the item or block (this is
+  the default, if no action is specified).
+\item \declare{|only|} causes the whole item or block
+  to be inserted only on the specified slides.
+\item \declare{|visible|} causes the text to become visible only on
+  the specified slides (the difference between |uncover| and
+  |visible| is the same as between |\uncover| and |\visible|).
+\item \declare{|invisible|} causes the text to become invisble on the
+  specified slides.
+\end{itemize}
+
+The rest of this section explains how you can add your own actions and
+make commands action-specification-aware. You may wish to skip it upon
+first reading.
+
+You can easily add your own actions: An action specification like
+\meta{action}|@|\meta{slide numbers} simply inserts an environment
+called \meta{action}|env| around the |\item| or parameter of
+|\action| with |<|\meta{slide numbers}|>| as overlay
+specification. Thus, by defining a new overlay-specification-aware
+environment named \meta{my action name}|env|, you can add your own
+action:
+\begin{verbatim}
+\newenvironment{checkenv}{\only{\useitemizeitemtemplate{X}}}{}
+\end{verbatim}
+You can then  write
+\begin{verbatim}
+\item<beamer:check@2> Text.
+\end{verbatim}
+This will change the itemization symbol before |Text.| to |X| on
+slide~2 in |beamer| mode. The definition of |checkenv| used the fact
+that |\only| also accepts an overlay-specification given after its
+argument. 
+
+The whole action mechanism is base on the following environment:
+
+\begin{environment}{{actionenv}\sarg{action specification}}
+  This environment extracts all actions from the \meta{action
+    specification} for the current mode. For each action of the form
+  \meta{action}|@|\meta{slide numbers}, it inserts the following text:
+  |\begin{|\meta{action}|env}<|\meta{slide number}|>| and the
+  beginning of the environment and the text |\end{|\meta{action}|env}|
+  at the end. If there several action specifications, several
+  environments are opened (and closed in the appropriate order). An
+  \meta{overlay specification} without an action is promoted to
+  |uncover@|\meta{overlay specification}.
+ 
+  \example 
+
+\begin{verbatim} 
+\frame 
+{
+  \begin{actionenv}<2-| alert@3-4,6>
+    This text is shown the same way as the text below.
+  \end{actionenv}
+
+  \begin{uncoverenv}<2->
+    \begin{alertenv}<3-4,6>
+      This text is shown the same way as the text above.
+    \end{alertenv}
+  \end{uncoverenv}
+}
+\end{verbatim}
+                                %\begin{verbatim}
+\end{environment} 
+ 
+\begin{command}{\action\sarg{action specification}\marg{text}}
+  This has the same effect as putting \meta{text} in an |alertenv|.
+
+  \example |\action<alert@2>{Could also have used \alert<2>{}.}|
+\end{command}
+
+
+
+
+
+
 \subsection{Frames}
 
 \subsubsection{Frame Creation}
 a series of slides. You create a frame using the command
 |\frame|. This command takes one parameter, namely the
 contents of the frame. All of this text that is not tagged by overlay
-specifications (see Section~\ref{subsection-overlay}) is shown on all
-slides of the frame.  
-
-\begin{command}{\frame\sarg{overlay specification}\oarg{options}\marg{frame text}}
+specifications is shown on all slides of the frame. If a frame
+contains commands that have an overlay specification, the frame will
+contain multiple slides; otherwise it contains only one slide.
+
+\begin{command}{\frame\sarg{overlay
+      specification}\oarg{options}\marg{frame text}}
   The \meta{overlay specification} dictates which slides of a frame are
-  to be shown, see Section~\ref{subsection-restriction} for details. 
+  to be shown. If left out, the number is calculated automatically.
   The \meta{frame text} can be normal \LaTeX\ text, but may not contain
   |\verb| commands or |verbatim| environments, unless special
   precautions are taken, see Section~\ref{section-verbatim}.
   
   \example
-  \begin{verbatim}
+\begin{verbatim}
 \frame
 {
   \frametitle{A title}
   Some content.
 }
 \end{verbatim}
-
+  
+  \example
+\begin{verbatim}
+\frame<beamer>  % frame is only shown in beamer mode
+{
+  \frametitle{Outline}
+  \tabelofcontent[current]
+}
+\end{verbatim}
+
+ 
   The following \meta{options} may be given:
   \begin{itemize}
   \item
     to the same slide). Note that labels in general, and these labels
     in particular, can be used as targets for hyperlinks. 
   \end{itemize}
+
+  \lyxnote
+  Use the style ``BeginFrame'' to start a frame and the style
+  ``EndFrame'' to end it. A frame is automatically ended by the start
+  of a new frame and by the start of a new section or subsection (but
+  not by the end of the document!).
+
+  You can pass options and an overlay specification to a frame by
+  giving these in \TeX-mode as the first thing in the frame
+  title. (Some magic is performed to extract them in \LyX\ mode from
+  there.)
+
+  The style ``BeginPlainFrame'' is included as a convenience. It
+  passes the |plain| option to the frame. To pass further options to a
+  plain frame, you should use the normal ``BeginFrame'' style and
+  specify all options (include |plain| at once).
 \end{command}
 
 
 
 \begin{command}{\againframe\sarg{overlay
       specification}\oarg{options}\marg{name}}
+  \beamernote
   Resumes a frame that was previously created using |\frame|
   with the option |label=|\meta{name}. You must have used this option,
   just placing a label inside a frame ``by hand'' is not enough. You
 \frame<1-2>[label=myframe]
 {
   \begin{itemize}
-  \item \alert<1>{First subject.}
-  \item \alert<2>{Second subject.}
-  \item \alert<3>{Third subject.}
+  \item<alert@1> First subject.
+  \item<alert@2> Second subject.
+  \item<alert@3> Third subject.
   \end{itemize}
 }
 
   In this example, the proof details are deferred to a slide in the
   appendix. Hyperlinks are setup, so that one can jump to the proof
   and go back.
+
+  \articlenote
+  This command is ignored.
+
+  \lyxnote
+  Use the style ``AgainFrame'' to insert an |\againframe| command. The
+  \meta{label name} is the text on following the style name
+  and is \emph{not} put in \TeX-mode. However, an overlay specification
+  must be given in \TeX-mode and it must preceed the label name.
 \end{command}
 
 
 \begin{verbatim}
 \pgfdeclareimage[height=0.5cm]{logo}{tu-logo}
 \logo{\pgfuseimage{logo}}
-\end{verbatim}  
+\end{verbatim}
+
+  \articlenote This command has no effect.
 \end{command}
 
 The frame title is shown prominently at the top of the frame and can
 be specified with the following command:
 
-\begin{command}{\frametitle\marg{frame title text}}
+\begin{command}{\frametitle\sarg{overlay specification}\oarg{short
+  frame title}\marg{frame title text}} 
   You should end the \meta{frame title text} with a period, if the title is a
-  proper sentence. Otherwise, there should not be a period.
+  proper sentence. Otherwise, there should not be a period. The
+  \meta{short frame title} is normally not shown, but its available
+  via the |\insertshortframetitle| command. The \meta{overlay
+  specification} is mostly useful for suppressing the frame title in
+  |article| mode.
 \example
 \begin{verbatim}
 \frame{
   Frame contents.
 }
 \end{verbatim}
+
+  \articlenote
+  By default, this command creates a new paragraph in |article| mode,
+  entitled \meta{frame title text}. Using the \meta{overlay
+    specification} makes it easy to suppress the frame title.
+
+  \lyxnote
+  The frame title is the text that follows on the line of the
+  ``BeginFrame'' style.
 \end{command}
 
 Be default, all material for a slide is vertically centered. You can
 A useful specification is just |<0>|, which causes the frame to
 have to no slides at all. For example, |\frame<handout:0>| causes
 the frame to be suppressed in the handout version, but to be shown
-normally in all other versions.
+normally in all other versions. Another useful specification is
+|<beamer>|, which causes the frame to be shown normally in |beamer|
+mode, but to be suppressed in all other versions.
 
 
 \subsubsection{Verbatim Commands and Listings inside Frames}
   }
 \end{verbatim}
 \unskip{\MacroFont|\end{verbatim}|}
+                                %\begin{verbatim}
 \begin{verbatim}
 }
 \end{verbatim}
   \algorithmB
 }
 \end{verbatim}
-\end{command}
+%\begin{verbatim}
+\end{command}
+
 
 
 \subsection{Overlays}
   \end{itemize}
 }
 \end{verbatim}
-\end{command}
+
+  \articlenote
+  This command is ignored.
+
+  \lyxnote
+  Use the ``Pause'' style with an empty line to insert a pause.
+\end{command}
+
+
+\begin{command}{\unpause}
+  Stops the covering induced by the previous |\pause| command.
+\end{command}
+
 
 
 \subsubsection{Commands with Overlay Specifications}
 \label{subsection-overlay}
 
-An overlay specification is a comma-separated list of slides and
-ranges. Ranges are specified like this: |2-5|, which
-means slide two through to five. The start or the beginning of a range
-can be omitted. For example, |3-| means ``slides three, four,
-five, and so on'' and |-5| means the same as |1-5|. A
-complicated example is |-3,6-8,10,12-15|, which selected the
-slides 1, 2, 3, 6, 7, 8, 10, 12, 13, 14, and 15.
-
-Overlay specifications can be written behind certain commands. If such
-an overlay specification is present, the command will only ``take
-effect'' on the specified slides. What exactly ``take effect'' means
-depends on the command. Consider the following example.
-
-\begin{verbatim}
-\frame
-{
-  \textbf{This line is bold on all three slides.}
-  \textbf<2>{This line is bold only on the second slide.}
-  \textbf<3>{This line is bold only on the third slide.}
-}
-\end{verbatim}
-
-For the command |\textbf|, the overlay specification causes the
-text to be set in boldface only on the specified slides. On all other
-slides, the text is set in a normal font.
-
-You cannot add an overlay specification to every command, but only to
-those listed in the following. However, it is quite easy to redefine a
-command such that it becomes ``overlay specification aware.''
+A much more powerful and flexible way of specifying overlays uses
+overlay specifications, see Section~\ref{section-concept-overlays} for
+an introduction to this concept. In this subsection, the
+basic commands that take overlay specifications are described.
 
 For the following commands, adding an overlay specification causes the
 command to be simply ignored on slides that are not included in the
 specification: |\textbf|, |\textit|, |\textsl|,
 |\textrm|, |\textsf|, |\color|, |\alert|,
 |\structure|. If a command takes several arguments, like
-|\color|, the specification directly follows the command as in
-the following example.
-
+|\color|, the specification should directly follow the command as in
+the following example (but there are exceptions to this rule):
 \begin{verbatim}
 \frame
 {
 For the following commands, the effect of an overlay specification is
 special:
 
-\begin{command}{\only\sarg{overlay specification}\marg{text}}
-  If the \meta{overlay specification} is present, the \meta{text} is
-  inserted only into the specified slides. For other slides, the text
-  is simply thrown away. In particular, it occupies no space.
+\begin{command}{\only\sarg{overlay
+      specification}\marg{text}\sarg{overlay specification}}
+  If either \meta{overlay specification} is present (though only one
+  may be present), the \meta{text} is inserted only into the specified
+  slides. For other slides, the text is simply thrown away. In
+  particular, it occupies no space.
+  
   \example |\only<3->{Text inserted from slide 3 on.}|
-\end{command}
+
+  Since the overlay specification may also be given after the text,
+  you can often use |\only| to make other commands
+  overlay-specification-aware in a simple manner:
+
+  \example
+\begin{verbatim}
+\newcommand{\myblue}{\only{\color{blue}}}
+\frame
+{
+  \myblue<2> This text is blue only on slide 2.
+}
+\end{verbatim}
+\end{command}
+
 
 \begin{command}{\uncover\sarg{overlay specification}\marg{text}}
   If the \meta{overlay specification} is present, the \meta{text} is
   whether the text is invisible or just transparent, see
   Section~\ref{section-transparent}. 
   \example |\uncover<3->{Text shown from slide 3 on.}|
+
+  \articlenote
+  This command has the same effect as |\only|.
 \end{command}
 
 \begin{command}{\visible\sarg{overlay specification}\marg{text}}
   transparency settings have no effect.
   
   \example |\visible<2->{Text shown from slide 2 on.}|
+
+  \articlenote
+  This command has the same effect as |\only|.
 \end{command}
 
 \begin{command}{\invisible\sarg{overlay specification}\marg{text}}
   \example |\invisible<-2>{Text shown from slide 3 on.}|
 \end{command}
 
-\begin{command}{\alt\ssarg{overlay specification}%
-    \marg{default text}\marg{alternative text}}
+\begin{command}{\alt\sarg{overlay specification}%
+    \marg{default text}\marg{alternative text}\sarg{overlay specification}}
+  Only one \meta{overlay specification} may be given. 
   The default text is shown on the specified slides, otherwise the
   alternative text. The specification must always be present.
   \example |\alt<2>{On Slide 2}{Not on slide 2.}|
-\end{command}
-
+
+  Once more, giving the overlay specification at the end is useful
+  when the command is used inside other commands.
+  
+  \example Here is the definition of |\uncover|:
+\begin{verbatim}
+\newcommand{\uncover}{\alt{\@firstofone}{\makeinvisible}}
+\end{verbatim}
+\end{command}
 
 \begin{command}{\temporal\ssarg{overlay specification}%
     \marg{before slide text}\marg{default text}\marg{after slide text}}
 \end{command}
 
 
-\begin{command}{\item\sarg{uncover overlay specification}\sarg{alert
-      overlay specification}\oarg{item label}} 
-  Adding an \meta{uncover overlay specification} to an item in a list
-  causes this item to be uncovered only on the specified slides. This
-  is useful for creating lists that are uncovered piecewise. Note that
-  you are not required to stick to an order in which items are
-  uncovered. You can \emph{additionally} add a second \meta{alert
-    overlay specification}. This overlay specification will hilight
-  uncovered items on the specificed slides. If only one specification
-  is given, it always refers to uncovering. So, in order to alert an
-  item on, say, slide 5, but have it uncovered on all slides, you
-  would have to write |\item<1-><5>|.
-
-  The optional \meta{item label} may also be given before the overlay
-  specifications. 
+\begin{command}{\item\sarg{alert specification}\oarg{item
+      label}\sarg{alert specification}}
+  \beamernote
+  Only one \meta{alert specification} may be given. The effect of
+  \meta{alert specification} is described in
+  Section~\ref{section-alert-specifications}. 
   
   \example
 \begin{verbatim}
 \frame
 {
   \begin{enumerate}
-  \item<3->[0.] A zeroth point, shown at the very end.
-  \item<1-> The first an main point.
-  \item<2-> The second point.
+  \item<3-| alert@3>[0.] A zeroth point, shown at the very end.
+  \item<1-| alert@1> The first an main point.
+  \item<2-| alert@2> The second point.
   \end{enumerate}
 }
 \end{verbatim}
   \end{enumerate}
 }
 \end{verbatim}
+
+  \articlenote
+  The \meta{action specification} is currently completely ignored.
+
+  \lyxnote
+  The \meta{action specification} must be given in \TeX-mode and it
+  must be given at the very start of the item.
 \end{command}
 
 The related command |\bibitem| is also overlay-specification-aware
-in the same way as |\item|, but no alert specification may be given. 
+in the same way as |\item|.
 
 \begin{command}{\label\sarg{overlay specification}\marg{label name}}
   If the \meta{overlay specification} is present, the label is only
 second slide an example is added, and on the third slide the proof is
 also shown.
 
-The two special environments |onlyenv| and |uncoverenv| are
-``environment versions'' of the commands |\only| and |\uncover|.
-
+For each of the basic commands |\only|, |\alt|, |\visible|,
+|\uncover|, and |\invisible| there exists 
+``environment versions'' |onlyenv|, |altenv|, |visibleenv|,
+|uncoverenv|, and |invisibleenv|. Except for |altenv|
+and |onlyenv|, these environments do the same as the commands.
 
 \begin{environment}{{onlyenv}\sarg{overlay specification}}
   If the \meta{overlay specification} is given, the contents of the
-  environment is inserted into the text only on the specified slides. 
+  environment is inserted into the text only on the specified
+  slides. The difference to |\only| is, that the text is actually
+  typeset inside a box that is then thrown away, whereas |\only|
+  immediately throws away its contents. If the text is not
+  ``typesettable,'' the |onlyenv| may produce an error where |\only|
+  would not.
   \example
 \begin{verbatim}
 \frame
 \end{environment}
 
 
-\begin{environment}{{uncoverenv}\sarg{overlay specification}}
-  If the \meta{overlay specification} is given, the contents of the
-  environment is shown only on the specified slides. It still occupies
-  space on the other slides.
+\begin{environment}{{altenv}\sarg{overlay specification}\marg{begin
+text}\marg{end text}\marg{alternate begin text}\marg{alternate end
+text}\sarg{overlay specification}}
+  Only one \meta{overlay specification} may be given. On the specified
+  slides, \meta{begin text} will be inserted at the beginning of the
+  environment and \meta{end text} will be inserted at the end. On all
+  other slides, \meta{alternate begin text} and \meta{alternate end
+    text} will be used.
+  
   \example
 \begin{verbatim}
 \frame
 {
-  This word is 
-  \begin{uncoverenv}<2>
-    visible
+  This 
+  \begin{altenv}<2>{(}{)}{[}{]}
+    word
   \end{uncoverenv}
-  only on slide 2.
+  is in round brackets on slide 2 and in square brackets on slide 1.
 }
 \end{verbatim}
 \end{environment}
   \only<2>{Replacement on the second slide.}
 \end{overlayarea}
 \end{verbatim}
+
+  \lyxnote
+  Use the style ``OverlayArea'' to insert an overlay area.
 \end{environment}
 
 \begin{environment}{{overprint}\oarg{area width}}
     Replacement on the second slide. Supressed for handout.
 \end{overprint}
 \end{verbatim}
+
+  \lyxnote
+  Use the style ``Overprint'' to insert an |overprint|
+  environment. You have to use \TeX-mode to insert the |\onslide|
+  commands. 
 \end{environment}
 
 
 
 \subsection{Making Commands and Environments Overlay-Specification-Aware}
 
-This subsection explains how you can make your own commands
+This subsection explains how to define new commands that are 
 overlay-specification-aware. Also, it explains how to setup counters
 correctly that should be increased from frame to frame (like equation
 numbering), but not from slide to slide. You may wish to skip this
 section, unless you  want to write your own extensions to the \beamer\
 class. 
- 
-You can define a new command that is overlay-specification-aware using
-the following command.
-
-\begin{command}{\newoverlaycommand\marg{command name}%
-    \marg{default text}\marg{alternative text}}
-  Declares the new command named \meta{command name}. If this command is
-  encountered by \TeX, it is checked whether an overlay specification
-  follows. If not, the \meta{default text} is inserted. If there is a
-  specification, the \meta{default text} is also inserted if the current slide
-  is specified, otherwise the  \meta{alternative text} is inserted.
-  \example
-\begin{verbatim}
-\newoverlaycommand{\SelectRedAsColor}{\color[rgb]{1,0,0}}{}
+
+\beamer\ extends the syntax of \LaTeX's standard command
+|\newcommand|:
+
+
+\begin{command}{\newcommand\declare{|<>|}\marg{command name}%
+    \oarg{argument number}\oarg{default optional value}\marg{text}}
+  Declares the new command named \meta{command name}. The \meta{text}
+  should contain the body of this command and it may contain
+  occurences of parameters like |#|\meta{number}. Here \meta{number}
+  may be between 1 and $\mbox{\meta{argument number}}+1$. The
+  additionally allowed argument is the overlay specification.
+
+  When \meta{command name} is used, it will scan as many as
+  \meta{argument number} arguments. While scanning them, it will look
+  for an overlay specification, which may be given between any two
+  arguments, before the first argument, or after the last argument. If
+  it finds an overlay specification like |<3>|, it will call
+  \meta{text} with arguments 1 to \meta{argument number} set to the
+  normal arguments and the argument number $\mbox{\meta{argument
+      number}}+1$ set to |<3>| (including the pointed brackets). If no
+  overlay specification is found, the extra argument is empty.
+
+  If the \meta{default optional value} is provided, the first argument
+  of \meta{command name} is optional. If no optional argument is
+  specified in square brackets, the \meta{default optional value} is
+  used.
+  
+  \example The following command will typeset its argument in red on
+  the specified slides:
+\begin{verbatim}
+\newcommand<>{\makered}[1]{{\color#2{red}#1}}
+\end{verbatim}
+  
+  \example Here is \beamer's definition of |\emph|:
+\begin{verbatim}
+\newcommand<>{\emph}[1]{{\only#2{\itshape}#1}}
+\end{verbatim}
+
+  
+  \example Here is \beamer's definition of |\transdissolve| (the
+  command |\beamer@dotrans| mainly passes its argument to |hyperref|):
+\begin{verbatim}
+\newcommand<>{\transdissolve}[1][]{\only#2{\beamer@dotrans[#1]{Dissolve}}}
+\end{verbatim}
+\end{command}
+
+\begin{command}{\renewcommand\declare{|<>|}\marg{existing command name}%
+    \oarg{argument number}\oarg{default optional value}\marg{text}}
+  Redeclares a command that already exists in the same way as
+  |\newcommand<>|. Inside \meta{text}, you can 
+  still access to original definitions using the command
+  |\beameroriginal|, see the example.
+  \example This command is used in \beamer\ to make |\hyperlink| overlay-specification-aware:
+\begin{verbatim}
+\renewcommand<>{\hyperlink}[2]{\only#3{\beameroriginal{\hyperlink}{#1}{#2}}}
+\end{verbatim}
+\end{command}
+
+
+\begin{command}{\newenvironment\declare{|<>|}\marg{environment name}%
+    \oarg{argument number}\oarg{default optional value}\\\marg{begin
+    text}\marg{end text}}
+  Declares a new environment that is overlay-specification-aware. If
+  this environment encountered, the same algorithm as for
+  |\newcommand<>| is used to parse the arguments and the overlay
+  specification.
+
+  Note that, as always, the \meta{end text} may not contain any
+  arguments like |#1|. In particular, you do not have access to the
+  overlay specification. In this case, it is usually a good idea to
+  use |altenv| environment in the \meta{begin text}.
+  
+  \example Declare your own action block:
+\begin{verbatim}
+\newenvironment<>{myboldblock}[1]{%
+  \begin{actionenv}#2%
+    \textbf{#1}
+    \par}
+  {\par%
+  \end{actionenv}}
 
 \frame
 {
-  \SelectRedAsColor<2>
-  The second slide of this frame is all in red. 
+  \begin{myboldblock}<2>
+    This theorem is shown only on the second slide.
+  \end{myboldblock}
 }
 \end{verbatim}
-\end{command}
-
-\begin{command}{\renewoverlaycommand\marg{existing command name}%
-    \marg{default text}\marg{alternative text}}
-  Redeclares a command that already exists in the same way as
-  |\newoverlaycommand|. Inside the parameters, you can 
-  still access to original definitions using the command
-  |\beameroriginal|, see the example.
+
+  \example Text in the following environment is normally bold and
+  italic on non-specified slides: 
+\begin{verbatim}
+\newenvironment<>{boldornormal}
+  {\begin{altenv}#1
+    {\begin{bfseries}}{\end{bfseries}}
+    {}{}}
+  {\end{altenv}}
+\end{verbatim}
+
+  Incidentally, since |altenv| also accepts its argument at the end,
+  the same effect could have been achieved using just 
+  \begin{verbatim}
+\newenvironment{boldornormal}
+  {\begin{altenv}
+    {\begin{bfseries}}{\end{bfseries}}
+    {}{}}
+  {\end{altenv}}
+\end{verbatim}
+\end{command}
+
+\begin{command}{\renewenvironment\declare{|<>|}\marg{existing environment name}%
+    \oarg{argument number}\oarg{default optional value}\\
+    \marg{begin
+    text}\marg{end text}}
+  Redefines an existing environment. The original environment is still
+  available under the name |original|\meta{existing environment name}.
+
   \example
 \begin{verbatim}
-\renewoverlaycommand{\tiny}{\beameroriginal{\tiny}}{}
-
-\frame
-{
-  \tiny<2>This text is tiny on slide 2.
-}
-\end{verbatim}
-\end{command}
-
-
-\begin{command}{\newoverlayenvironment\marg{environment name}%
-    \oarg{parameter number}%
-    \marg{default begin}\marg{default end}\\
-    \marg{alternative begin}\marg{alternative end}}
-  Declares a new environment that is overlay specification aware. If
-  this environment encountered, it is 
-  checked whether an overlay specification follows. If not or if it is
-  found and the current slide is specified, the default begin and end
-  are used. Otherwise, the alternative begin and end are used.
-
-  If the \meta{parameter number} is specified, it must currently
-  be~1. In this case, the begin commands must take one parameter. This
-  parameter will \emph{preceed} the overlay specification, see the
-  examples. 
-  \example
-\begin{verbatim}
-\newoverlayenvironment{mytheorem}{\alert{Theorem}:}{}{Theorem:}{}
-
-\frame
-{
-  \begin{mytheorem}<2>
-    This theorem is hilighted on the second slide.
-  \end{mytheorem}
-}
-\end{verbatim}
-
-\begin{verbatim}
-\newoverlayenvironment{mytheorem}[1]{\alert{Theorem #1}:}{}{Theorem #1:}{}
-
-\frame
-{
-  \begin{mytheorem}{of Tantau}<2>
-    This theorem is hilighted on the second slide.
-  \end{mytheorem}
-}
+\renewenvironment<>{verse}
+{\begin{actionenv}#1\begin{originalverse}}
+{\end{originalverse}\end{actionenv}}
 \end{verbatim}
 \end{command}
 
 \begin{command}{\titlepage}
   Inserts the text of a title page into the current frame.
   \example |\frame{\titlepage}|
+
+  \lyxnote
+  If you use the ``Title'' style in your presentation, a title page is
+  automatically inserted.
 \end{command}
 
 For compatibility with other classes in article mode, the following
 \title{The Beamer Class}
 \title[Short Version]{A Very Long Title\\Over Several Lines}
 \end{verbatim}
+
+  \articlenote
+  The short form is ignored in |article| mode.
 \end{command}
 
 \begin{command}{\author\oarg{short author names}\marg{author names}}
   they should be suffixed by the command |\inst| with different
   parameters.
   \example|\author[Hemaspaandra et al.]{L. Hemaspaandra\inst{1} \and T. Tantau\inst{2}}|
+
+  \articlenote
+  The short form is ignored in |article| mode.
 \end{command}
 
 \begin{command}{\institute\oarg{short institute}\marg{institute}}
   \inst{2}Fakult\"at f\"ur Elektrotechnik und Informatik\\
   Technical University of Berlin}
 \end{verbatim}
+
+  \articlenote
+  The short form is ignored in |article| mode. The long form is also
+  ignored, except if the document class (like |llncs|) defines it.
 \end{command}
 
 \begin{command}{\date\oarg{short date}\marg{date}}
   \example|\date{\today}| or |\date[STACS 2003]{STACS Conference, 2003}|.
+
+  \articlenote
+  The short form is ignored in |article| mode.
 \end{command}
 
 \begin{command}{\titlegraphic\marg{text}}
   The \meta{text} is shown as title graphic. Typically, a picture
   environment is used as \meta{text}.
   \example|\titlegraphic{\pgfuseimage{titlegraphic}}|
+
+  \articlenote
+  The command is  ignored in |article| mode.
 \end{command}
 
 
 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}}
+\begin{command}{\section\sarg{mode specification}\oarg{short section name}\marg{section name}}
   Starts a section. No heading is created. The \meta{section name}
   is shown in the table of contents and in the navigation bars, except
   if \meta{short section name} is specified. In this case, \meta{short
-    section name} is used in the navigation bars instead.
+    section name} is used in the navigation bars instead. If a
+    \meta{mode specification} is given, the command only has an effect
+    for the specified modes.
+    
   \example|\section[Summary]{Summary of Main Results}|
-\end{command}
-
-\begin{command}{\section\declare{|*|}\marg{section name}}
+
+  \articlenote
+  Then \meta{mode specification} allows you to provide an alternate
+  section command in |article| mode. This is necessary for example if
+  the \meta{short section name} is unsuitable for the table of
+  contents:
+
+  \example
+\begin{verbatim}
+\section<presentation>[Results]{Results on the Main Problem}
+\section<article>{Results on the Main Problem}
+\end{verbatim}
+\end{command}
+
+\begin{command}{\section\sarg{mode specification}\declare{|*|}\marg{section name}}
   Starts a section without an entry in the table of contents. No
   heading is created, but the \meta{section name} is shown in the
   navigation bar. 
   \example|\section*{Outline}|
-\end{command}
-
-\begin{command}{\subsection\oarg{short subsection name}\marg{subsection name}}
+  \example|\section<beamer>*{Outline}|
+\end{command}
+
+\begin{command}{\subsection\sarg{mode specification}\oarg{short
+  subsection name}\marg{subsection name}} 
   This command works the same way as the |\section| command.
   \example|\subsection[Applications]{Applications to the Reduction of Pollution}|
 \end{command}
 
-\begin{command}{\subsection\declare{|*|}\marg{subsection name}}
+\begin{command}{\subsection\sarg{mode specification}\declare{|*|}\marg{subsection name}} 
   Starts a subsection without an entry in the table of contents. No
   heading is created, but the \meta{subsection name} is shown in the
   navigation bar, \emph{except} if \meta{subsection name} is empty. In
   are shown in the navigation bar.
 
   \example
+\begin{verbatim}
 \section{Summary}
 
   \frame{This frame is not shown in the navigation bar}
 
   \frame{Normal frame, shown in navigation bar. The subsection name is
     also shown in the navigation bar, but not in the table of contents.} 
+\end{verbatim}
 \end{command}
 
 Often, you may want a certain type of frame to be shown directly after
   }
 }
 \end{verbatim}
+
+  \articlenote
+  This command has no effect in |article| mode.
+
+  \lyxnote
+  You have to insert this command using a \TeX-mode text.
 \end{command}
 
 
   \end{itemize}
   The last two commands are useful if you do not wish to show too many
   details when presenting the talk outline.
+
+  \articlenote
+  The options are ignored in |article| mode.
+
+  \lyxnote
+  You can give options to the |\tableofcontents| command by 
+  inserting a \TeX-mode text with the options in square brackets
+  directly after the table of contents.
 \end{command}
 
 
 Like other parts, the appendix is kept separate of your actual
 talk.
 
-\begin{command}{\appendix}
-  Starts the appendix. All frames, all |\subsection| commands, and all
-   |\section| commands used after this command will not be shown as
-   part of the normal navigation bars.
+\begin{command}{\appendix\sarg{mode specification}}
+  Starts the appendix in the specified modes. All frames, all
+  |\subsection| commands, and all |\section| commands used after this
+  command will not be shown as part of the normal navigation bars.
   \example
 \begin{verbatim}
 \begin{document}
   \hypertarget<2>{jumptosecond}{}
 }
 \end{verbatim}
+
+  \articlenote
+  You must say |\usepackage{hyperref}| in your preamble to use this
+  command in |article| mode.
 \end{command}
 
 The |\label| command creates a hypertarget as a side-effect and the
 \begin{command}{\beamerbutton\marg{button text}}
   Draws a button with the given \meta{button text}.
   \example |\hyperlink{somewhere}{\beamerbutton{Go somewhere}}|
+
+  \articlenote
+  This command (and the following) just insert their argument in
+  |article| mode.
 \end{command}
 
 \begin{command}{\beamergotobutton\marg{button text}}
 |hyperref| package. The \beamer\ class defines a whole bunch of other
 hyperlink commands that you can also use.
 
-\begin{command}{\hyperlink\marg{target name}\marg{link text}}
+\begin{command}{\hyperlink\sarg{overlay specification}\marg{target
+      name}\marg{link text}\sarg{overlay specification}}
+  Only one \meta{overlay specification} may be given.
   The \meta{link text} is typeset in the usual way. If you click
   anywhere on this text, you will jump to the slide on which the
   |\hypertarget| command was used with the parameter \meta{target
-    name}. 
+    name}. If an \meta{overlay specification} is present, the
+    hyperlink (including the \meta{link text}) is completely
+    suppressed on the non-specificed slides.
 \end{command}
 
 The following commands have a predefined target; otherwise they behave
-exactly like |\hyperlink|.
-
-\begin{command}{\hyperlinkslideprev\marg{link text}}
+exactly like |\hyperlink|. In particular, they all also accept an
+overlay specification and they also accept it at the end, rather than
+at the beginning.
+
+\begin{command}{\hyperlinkslideprev\sarg{overlay specification}\marg{link text}}
   Clicking the text jumps one slide back.
 \end{command}
 
-\begin{command}{\hyperlinkslidenext\marg{link text}}
+\begin{command}{\hyperlinkslidenext\sarg{overlay specification}\marg{link text}}
   Clicking the text jumps one slide forward.
 \end{command}
   
-\begin{command}{\hyperlinkframestart\marg{link text}}
+\begin{command}{\hyperlinkframestart\sarg{overlay specification}\marg{link text}}
   Clicking the text jumps to the first slide of the current frame.
 \end{command}
 
-\begin{command}{\hyperlinkframeend\marg{link text}}
+\begin{command}{\hyperlinkframeend\sarg{overlay specification}\marg{link text}}
   Clicking the text jumps to the last slide of the current frame.
 \end{command}
 
-\begin{command}{\hyperlinkframestartnext\marg{link text}}
+\begin{command}{\hyperlinkframestartnext\sarg{overlay specification}\marg{link text}}
   Clicking the text jumps to the first slide of the next frame.
 \end{command}
 
-\begin{command}{\hyperlinkframeendprev\marg{link text}}
+\begin{command}{\hyperlinkframeendprev\sarg{overlay specification}\marg{link text}}
   Clicking the text jumps to the last slide of the previous frame.
 \end{command}
 
 ``|subsection|'' everywhere, and also again with  ``|frame|'' replaced
 by ``|section|''.
 
-\begin{command}{\hyperlinkpresentationstart\marg{link text}}
+\begin{command}{\hyperlinkpresentationstart\sarg{overlay specification}\marg{link text}}
   Clicking the text jumps to the first slide of the presentation.
 \end{command}
 
-\begin{command}{\hyperlinkpresentationend\marg{link text}}
+\begin{command}{\hyperlinkpresentationend\sarg{overlay specification}\marg{link text}}
   Clicking the text jumps to the last slide of the presentation. This
   \emph{excludes} the appendix.
 \end{command}
 
-\begin{command}{\hyperlinkappendixstart\marg{link text}}
+\begin{command}{\hyperlinkappendixstart\sarg{overlay specification}\marg{link text}}
   Clicking the text jumps to the first slide of the appendix. If there
   is no appendix, this will jump to the last slide of the document.
 \end{command}
 
-\begin{command}{\hyperlinkappendixend\marg{link text}}
+\begin{command}{\hyperlinkappendixend\sarg{overlay specification}\marg{link text}}
   Clicking the text jumps to the last slide of the appendix.
 \end{command}
 
-\begin{command}{\hyperlinkdocumentstart\marg{link text}}
+\begin{command}{\hyperlinkdocumentstart\sarg{overlay specification}\marg{link text}}
   Clicking the text jumps to the first slide of the presentation.
 \end{command}
 
-\begin{command}{\hyperlinkdocumentend\marg{link text}}
+\begin{command}{\hyperlinkdocumentend\sarg{overlay specification}\marg{link text}}
   Clicking the text jumps to the last slide of the presentation or, if
   an appendix is present, to the last slide of the appendix.
 \end{command}
 \item Second Roman point.
 \end{enumerate}
 \end{verbatim}
+
+  \articlenote
+  To use the \meta{mini template}, you have to include the package
+  |enumerate|.  
 \end{environment}
 
 
 \item<3->[long label] Some text.
 \end{description}
 \end{verbatim}
+
+  \lyxnote
+  Since you cannot specify the optional argument in \LyX, if you wish
+  to specify the width, you must use the command
+  |\usedescriptionitemofwidthas|, which you must insert in \TeX-mode
+  shortly before the environment.
 \end{environment}
 
 
   the \meta{overlay specification} is present, the command only has an
   effect on the specified slides.
   \example |This is \alert{important}.|
+
+  \articlenote
+  Alerted text is typeset as emphasized text. This can be changed by
+  specifying another template.
+
+  \lyxnote
+  You need to use \TeX-mode to insert this command.
 \end{command}
 
 \begin{command}{\structure\sarg{overlay specification}\marg{text}}
     specification} is present, the command only has an effect on the
   specified slides.
   \example|\structure{Paragraph Heading.}|
+
+  \articlenote
+  Structure text is typeset as bold text. This can be changed by
+  specifying another template.
+
+  \lyxnote
+  You need to use \TeX-mode to insert this command.
 \end{command}
 
 \begin{environment}{{block}\marg{block title}\sarg{overlay specification}}
     A \alert{set} consists of elements.
   \end{block}
 \end{verbatim}
+
+  \articlenote
+  The block name is typeset in bold.
+
+  \lyxnote
+  The argument of the block must (currently) be given in
+  \TeX-mode. More precisely, there must be an opening brace in
+  \TeX-mode and a closing brace in \TeX-mode around it. The text
+  inbetween can also be typeset using \LyX. I hope to get rid of this
+  some day.
 \end{environment}
 
 
     $1=2$.
   \end{alertblock}
 \end{verbatim}
+
+  \articlenote
+  The block name is typeset in bold and is emphasized.
+
+  \lyxnote
+  Same applies as for |block|.
 \end{environment}
 
 \begin{environment}{{exampleblock}\marg{block title}\sarg{overlay specification}}
     The set $\{1,2,3,5\}$ has four elements.
   \end{exampleblock}
 \end{verbatim}
+
+  \articlenote
+  The block name is typeset in italics.
+
+  \lyxnote
+  Same applies as for |block|.
 \end{environment}
   
 Predefined English block environments, that is, block environments
 |Problem|, |Loesung|, |Definition|, |Satz|,
 |Beweis|, |Folgerung|, |Lemma|, |Fakt|,
 |Beispiel|, and |Beispiele|. See the following example for
-their usage.
+their usage. 
 
 \begin{verbatim}
 \frame
 \end{verbatim}
 
 
+\lyxnote
+Overlay specifications must be given right at the beginning of the
+environments and in \TeX-mode.
+
+\articlenote
+The predefined environments are typeset using the package
+|amsthm| when using |beamerbasearticle|. For various reasons, you may
+wish to define them differently yourself. In this case, you can use
+the following option:
+
+\begin{package}{{beamerbasearticle}\opt{|[|\declare{|nodefaultblocks|}|]|}}
+  Causes the definition of the predefined blocks to be suppressed.
+\end{package}
+
+
 \subsubsection{Framed Text}
 
 In order to draw a frame (a rectangle) around some text, you can use
   $A = B$.
 \end{beamerboxesrounded}
 \end{verbatim}
+
+  \articlenote
+  This environment is not available in |article| mode.
 \end{environment}
 
 \begin{command}{\beamerboxesdeclarecolorscheme\marg{scheme
   Declares a color scheme for later use in a |beamerboxesrounded|
   environment.
   \example |\beamerboxesdeclarecolorscheme{alert}{red}{red!15!averagebackgroundcolor}|
+
+  \articlenote
+  This environment is not available in |article| mode.
 \end{command}
 
 
     One line (but aligned).
 \end{columns}
 \end{verbatim}
+
+  \articlenote
+  This environment is ignored in |article| mode.
+  
+  \lyxnote
+  Use ``Columns'' or ``ColumnsTopAligned'' to create a |columns|
+  environment. To pass options, insert then in \TeX-mode right at the
+  beginning of the environment in square brackets.
 \end{environment}
 
 To create a column, you can either use the |column| environment or the
   \end{column}
 \end{columns}
 \end{verbatim}
+  \articlenote
+  This command is ignored in |article| mode.
+
+  \lyxnote
+  The ``Column'' styles insert the command version, see below.
 \end{environment}
 
 \begin{command}{{\column}\oarg{placement}\marg{column width}}
     One line (but aligned).
 \end{columns}
 \end{verbatim}
-\end{command}
+  \articlenote
+  This command is ignored in |article| mode.
+
+  \lyxnote
+  In a ``Column'' style, the width of the column must be given as
+  normal text, not in \TeX-mode.
+\end{command}
+
+
+
+\subsubsection{Positioning Text and Graphics Absolutely}
+
+Normally, \beamer\ uses \TeX's normal typesetting mechanism to
+position text and graphics on the page. In certain situtation you may
+instead wish a certain text or graphi to appear at a
+page position that is specified \emph{absolutely}. This means that the
+position is specified relative to the upper left corner of the slide.
+
+The package |textpos| provides several commands for positioning text
+absolutely and it works together with \beamer. When using this
+package, you will typically have to specify the options |overlay| and
+perhaps |absolute|. For details on how to use the package, please see
+its documentation.
+
 
 
 
 read by \emph{both} |pdflatex| \emph{and} |dvips|.
 
 
+\lyxnote
+You can use the usual ``Insert Graphic'' command to insert a graphic.
+
 
 \subsubsection{Inlining Graphic Commands}
 
 out above, this is because of rather fundamental reasons) and not as
 easy to use, but it should be sufficient in most cases.
 
+\lyxnote
+Inlined graphics must currently by inserted in a large \TeX-mode
+box. This is not very convenient.
 
 
 
 |xcolor| will merge into one package and perhaps they will
 someday also merge together with |color|.
 
+Since the |color| package and the |xcolor| package are loaded already
+by the \beamer\ class, in order to pass options to these classes, you
+need to use the class options |color={|\meta{options for color}|}| or
+|xcolor={|\meta{options for xcolor}|}| to pass options to these
+classes.
 
 \subsubsection{Colors of Main Text Elements}
 
   ... code for creating an animation with five slides ...
 }
 \end{verbatim}
+
+  \articlenote
+  This command is ignored in |article| mode.
 \end{command}
 
 \begin{command}{\animatevalue|<|\meta{start slide}|-|\meta{end slide}|>|%
   \end{colormixin}
 }
 \end{verbatim}
+
+  \articlenote
+  This command is ignored in |article| mode.
 \end{command}
 
 
   |180|, |270|, and for the glitter effect also |315|.
 \end{itemize}
 
+\articlenote
+All of these commands are ignored in |article| mode.
+
+\lyxnote
+You must insert these commands using \TeX-mode.
 
 \begin{command}{\transblindshorizontal\sarg{overlay specification}\oarg{options}}
   Show the slide as if horizontal blinds where pulled away.
 
 
 
+
+
+
 \section{Managing Non-Presentation Versions and Material}
 
+\label{section-modes}
+
 The \beamer\ package offers different ways of creating special
 versions of your talk and adding material that are not shown during
 the presentation. You can create a \emph{handout} version of the
 file. 
 
 
+
+
+
+
 \subsection{Creating Handouts}
 
 \label{handout}
 
-A \emph{handout} is a version of a presentation that is printed on
-paper and handed out to the audience before or after the talk. (See
-Section~\ref{section-postscript} for how to place numerous frames on one
-pages, which is very useful for handouts.)  For the handout you
-typically want to produce as few slides as possible per frame. In
-particular, you do not want to print a new slide for each slide of a
-frame. Rather, only the ``last'' slide should be printed. 
+A \emph{handout} is a version of a presentation in which the slides
+are printed on paper and handed out to the audience before or after
+the talk. (See Section~\ref{section-postscript} for how to place
+numerous frames on one pages, which is very useful for handouts.)  For
+the handout you typically want to produce as few slides as possible
+per frame. In particular, you do not want to print a new slide for
+each slide of a frame. Rather, only the ``last'' slide should be
+printed.  
 
 In order to create a handout, specify the class option
 |handout|. If you do not specify anything else, this will cause
 slides in the handout.
 
 For a fine-grained control of what is shown on a handout, you can use
-\emph{alternate overlay specifications}. They specify which slides
+\emph{mode specifications}. They specify which slides
  of a frame should be shown for a special version, for example for the
-handout version. An alternate overlay specification is written
+handout version. As explained in
+Section~\ref{section-concept-overlays}, a mode specification is written
 alongside the normal overlay specification inside the pointed
 brackets. It is separated from the normal specification by a vertical
-bar and a space. The version to which the alternate specification
-applies is written first, followed by a colon. Here is an example:
+bar and a space. Here is an example:
 \begin{verbatim}
   \only<1-3,5-9| handout:2-3,5>{Text}
 \end{verbatim}
-This specification says: ``Normally, insert the text on slides 1--3
-and 5--9. For the handout version, insert the text only on slides
-2,~3, and~5.'' If no alternate overlay specification is given for
-handouts, the default is ``always.'' This causes the desirable effect
-that if you do not specify anything, the overlay specification is
-effectively suppressed for the handout.
+This specification says: ``Normally (in |beamer| mode), insert the
+text on slides 1--3 and 5--9. For the handout version, insert the text
+only on slides 2,~3, and~5.'' If no special mode specification is
+given for handouts, the default is ``always.'' This causes the
+desirable effect that if you do not specify anything, the overlay
+specification is effectively suppressed for the handout.
 
 An especially useful specification is the following:
 \begin{verbatim}
 \verb!\alert<3| handout:0>{Text}! will not alert the text on a
 handout.
 
-You can also use an alternate overlay specification for the optional
-argument of the frame command as in the following example.
+You can also use a mode specification for the overlay specification
+of the |\frame| command as in the following example.
 \begin{verbatim}
 \frame<1-| handout:0>{Text...}
 \end{verbatim}
 
 
 
+
+
 \subsection{Creating an Article Version}
 
 \label{section-article}
 
 
 
-\subsubsection{Article, Common, and Presentation Mode}
+\subsubsection{Starting the Article Mode}
 
 The class option |class=|\meta{class name}, where
 \meta{class name} is the name of another document class like
 |article| or |report|, causes the |beamer| class to transfer control
 almost immediately to the class named \meta{class name}. None of the
 normal commands defined by the beamer class will be 
-defined, except for the three commands listed in the following. All
+defined, except for one: |\mode|. All
 class options passed to the beamer class will be passed on to the
 class \meta{class name}, \emph{except}, naturally, for the option
 |class=|\meta{class name} itself.
 \begin{classoption}{class={\normalfont\meta{another class
         name}}{\opt{,{\normalfont\meta{options for another class}}}}}
   Transfer control to document class \meta{another class name} with
-  the options \meta{options for another class}. See
-  Section~\ref{section-article} for details.
+  the options \meta{options for another class}.
+  
   \example
 \begin{verbatim}
 \documentclass[class=article,a4paper]{beamer}
   |a4paper|.
 \end{classoption}
 
-You can use three commands to specify which part of your text belong
-to the article version, which belongs to the actual presentation, and
-which belongs to both. These command switch between three different
-modes: article mode, presentation mode, and common mode. While \TeX\
-scans text in the article mode, this text is read normally when an
-article is requested, but thrown away if a presentation is
-requested. In presentation mode, the behavior is the other way
-round. In common mode, the text is always inserted.
-
-Right after the |\documentclass| command and right after the
-|\begin{document}| (provided it is the sole entry on a line with no
-comments following and no leading spaces), \TeX\ is always in common
-mode. If you do not wish this to be the case, simply append a comment
-to the line.
-
-If you use |\input| or |\include| or a related command to include
-another file, make sure that when \TeX\ reaches the end of this file,
-it is in common mode.
-  
-\begin{command}{\article}
-  All text following this command will only be present in the article
-  version. For the presentation version, this text will be completely
-  ignored. This command must be the only command in a line and it must
-  start the line.
-\end{command}
-
-\begin{command}{\presentation}
-  All text following this command will only be present in the
-  presentation version. For the article version, the text will be
-  completely ignored. This command must be the only command in a line
-  and it must start the line.
-\end{command}
-
-\begin{command}{\common}
-  All text following this command will be present in both the article
-  and the presentation version. This command must be the only command in
-  a line and it must start the line.
-\end{command}
+Since \beamer\ gives over control to another class almost immediately,
+none of the usual commands like |\frame| and so on are defined in
+|article| mode initially. The only command that is guaranteed to be
+defined is |\mode|; which can be used to ``comment out'' all of
+\beamer's commands. For example, in your preamble you might write
+things like
+\begin{verbatim}
+\mode<presentation>{\usepackage{beamerthemeshadow}}
+\mode<article>{\usepackage{fullpage}}
+\mode<all>{
+  \usepackage{times}
+  \newcommand{\myfavoritecommand}{...}
+}
+\end{verbatim}
+
+However, for the main text this is very bothersome and there is a much
+better way: 
+You can include the package |beamerbasearticle|. This package will
+define virtually all of \beamer's commands in a way that is sensible
+for the |article| mode. Also, overlay specifications can be given to
+commands like |\textbf| or |\item| once |beamerbasearticle| has been
+loaded. Note that, except for |\item| these overlay specifications
+also work: by writing |\section<presentation>{Name}| you will suppress
+this section command in the article version. For the exact effects
+overlay specifications have in |article| mode, please see the
+descriptions of the commands to which you wish to apply them.
+
+\begin{package}{{beamerbasearticle}\opt{|[|\meta{options}|]|}}
+  Makes most \beamer\ commands available for an article.
+
+  The following \meta{options} may be given:
+  \begin{itemize}
+  \item
+    \declare{|nodefaultblocks|} will suppress the definition of
+    environments like |theorem|. You must then define the environments
+    you use yourself.
+  \item
+    \declare{|noxcolor|} will suppress the loading of the |xcolor|
+    package. No colors will be defined.
+  \end{itemize}
+\end{package}
+
+There is one remaining problem: While the |article| version can easily
+\TeX\ the whole file, even in the presence of commands like
+|\frame<2>|, we do not want the special article text to be inserted
+into out original beamer presentations. That means, we would like all
+text \emph{between} frames to be suppressed. More precisely, we want
+all text except for commands like |\section| and so on to be
+suppressed. This behaviour can be enforced by specifying the option
+|ignorenonframetext| in the presentation version. The option will
+insert a |\mode*| at the beginning of your presentation. 
+
+The following example shows a simple usage of the article mode:
 
 \begin{verbatim}
 \documentclass[class=article,a4paper]{beamer}
-%\documentclass[red]{beamer}
-
-\article
-\usepackage{fullpage}
-
-\common
+%\documentclass[ignorenonframetext,red]{beamer}
+
+\mode<article>{\usepackage{fullpage}}
+\mode<presentation>{\usepackage{beamerthemesplit}}
+
+% everyone:
 \usepackage[english]{babel}
 \usepackage{pgf}
 
-\presentation
-\usepackage{beamerthemesplit}
+\pgfdeclareimage[height=1cm]{myimage}{filename}
 
 \begin{document}
 
-\pgfdeclareimage[height=1cm]{myimage}{filename}
-
-\presentation
-  \frame{
-
-\common
-    \begin{figure}
-      \pgfuseimage{myimage}
-    \end{figure}
-  
-\presentation
-    }
+\section{Introduction}
+
+This is the introduction text. This text is not shown in the
+presentation, but will be part of the article.
+
+\frame{
+  \begin{figure}
+    % In the article, this is a floating figure,
+    % In the presentation, this figure is shown in the first frame
+    \pgfuseimage{myimage}
+  \end{figure}
+}
+
+This text is once more not shown in the presentation.
+
+\section{Main Part}
+
+While this text is not shown in the presentation, the section command
+also applies to the presentation.
+
+We can add a subsection that is only part of the article like this:
+
+\subsection<article>{Article-Only Section}
+
+With some more text.
+
+\frame{
+  This text is part both of the article and of the presentation.
+  \begin{itemize}
+  \item This stuff is also shown in both version.
+  \item This too.
+  \only<article>{\item This particular item is only part
+      of the article version.}
+  \item<presentation:only@0> This text is also only part of the article.
+  \end{itemize}
+}
 \end{document}
 \end{verbatim}
 
-The above commands cannot be used inside macros (they are implemented
-similarly to |verbatim| environments, only that the contents is
-sometimes thrown away instead of rendered). However, there is one
-exception: Inside a |\frame|, these commands can be used,
-provided they ``balance'' inside the frame and provided you switch
-back to presentation mode by the end of the frame (as in the above
-example). If you have problems with these commands inside