summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/beamer/beamerug-overlays.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc/latex/beamer/beamerug-overlays.tex')
-rw-r--r--Master/texmf-dist/doc/latex/beamer/beamerug-overlays.tex1123
1 files changed, 1123 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/beamer/beamerug-overlays.tex b/Master/texmf-dist/doc/latex/beamer/beamerug-overlays.tex
new file mode 100644
index 00000000000..0888a59ddb2
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/beamer/beamerug-overlays.tex
@@ -0,0 +1,1123 @@
+% $Header: /cvsroot/latex-beamer/latex-beamer/doc/beamerug-overlays.tex,v 1.11 2004/12/08 11:21:23 tantau Exp $
+
+% Copyright 2003, 2004 by Till Tantau <tantau@users.sourceforge.net>.
+%
+% This program can be redistributed and/or modified under the terms
+% of the GNU Public License, version 2.
+
+\section{Creating Overlays}
+
+\label{section-overlay}
+
+
+
+\subsection{The Pause Commands}
+
+The |pause| command offers an easy, but not very flexible
+way of creating frames that are uncovered piecewise. If you say
+|\pause| somewhere in a frame, only the text on the frame up to the
+|\pause| command is shown on the first slide. On the
+second slide, everything is shown up to the second |\pause|, and
+so forth. You can also use |\pause| inside environments; its effect
+will last after the environment. However, taking this to
+extremes and use |\pause| deeply within a nested environment may not
+have the desired result.
+
+A much more fine-grained control over what is shown on each slide can
+be attained using overlay specifications, see the next
+sections. However, for many simple cases the |\pause|
+command is sufficient.
+
+The effect of |\pause| lasts till the next |\pause|, |\onslide|, or
+the end of the frame.
+
+\begin{verbatim}
+\begin{frame}
+ \begin{itemize}
+ \item
+ Shown from first slide on.
+ \pause
+ \item
+ Shown from second slide on.
+ \begin{itemize}
+ \item
+ Shown from second slide on.
+ \pause
+ \item
+ Shown from third slide on.
+ \end{itemize}
+ \item
+ Shown from third slide on.
+ \pause
+ \item
+ Shown from fourth slide on.
+ \end{itemize}
+
+ Shown from fourth slide on.
+
+ \begin{itemize}
+ \onslide
+ \item
+ Shown from first slide on.
+ \pause
+ \item
+ Shown from fifth slide on.
+ \end{itemize}
+\end{frame}
+\end{verbatim}
+
+\begin{command}{\pause\oarg{number}}
+ This command causes the text following it to be shown only from the
+ next slide on, or, if the optional \meta{number} is given,
+ from the slide with the number \meta{number}. If the optional
+ \meta{number} is given, the counter |beamerpauses| is set to this
+ number. This command uses the |\onslide| command, internally.
+ This command does \emph{not} work inside |amsmath| environments like
+ |align|, since these do really wicked things.
+
+ \example
+\begin{verbatim}
+\begin{frame}
+ \begin{itemize}
+ \item
+ A
+ \pause
+ \item
+ B
+ \pause
+ \item
+ C
+ \end{itemize}
+\end{frame}
+\end{verbatim}
+
+ \articlenote
+ This command is ignored.
+
+ \lyxnote
+ Use the ``Pause'' style with an empty line to insert a pause.
+\end{command}
+
+To ``unpause'' some text, that is, to temporarily suspend pausing, use
+the command |\onslide|, see below.
+
+
+
+
+
+
+\subsection{The General Concept of Overlay Specifications}
+
+\label{section-concept-overlays}
+
+The approach taken by most presentation classes to overlays is
+somewhat similar to the above |\pause| command. These commands get a
+certain slide number as input and 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: |\onslide<2->| will have the
+same effect as |\FromSlide{2}|, except that |\onslide| transcends
+environments; likewise, |\pause| is internally mapped to a command
+with an appropriate overlay specifications). 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 cases \beamer\ also allows overlay specification to be
+given a little later. In the simplest case, the specification contains
+just a number. 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}
+\begin{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{frame}
+\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}
+\begin{frame}
+ \only<1>{This line is inserted only on slide 1.}
+ \only<2>{This line is inserted only on slide 2.}
+\end{frame}
+\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 the next section. However, it is quite
+easy to redefine an existing command such that it becomes ``overlay
+specification aware,'' see also
+Section~\ref{section-overlay-commands}.
+
+The syntax of (basic) overlay specifications is the following: They
+are comma-separated lists of slides and ranges. Ranges are specified
+like this: |2-5|, which means slide two through to five. The start or
+the end 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 selects 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 may be ``escaped'' by
+\LyX, though this will not happen in all versions). 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.
+
+
+\subsection{Commands with Overlay Specifications}
+\label{section-overlay-commands}
+
+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 should directly follow the command as in
+the following example (but there are exceptions to this rule):
+\begin{verbatim}
+\begin{frame}
+ \color<2-3>[rgb]{1,0,0} This text is red on slides 2 and 3, otherwise black.
+\end{frame}
+\end{verbatim}
+
+For the following commands, the effect of an overlay specification is
+special:
+
+\begin{command}{\onslide\opt{\meta{modifier}}\sarg{overlay specification}\opt{\marg{text}}}
+ The behaviour of this command depends on whether the optional
+ argument \meta{text} is given or not (note that the optional
+ argument is given in \emph{normal} braces, not in square
+ brackets). If present, the \meta{modifier} can be either a~|+| or
+ a~|*|.
+
+ If no \meta{text} is given, the following happens: All text
+ following this command will only be shown (uncovered) on the
+ specified slides. On non-specified slides, the text still
+ occupies space. If no slides are specified, the following
+ text is always shown. You need not call this command in the same
+ \TeX\ group, its effect transcends block groups. However, this
+ command has a \emph{different} effect inside an |overprint|
+ environment, see the description of |overprint|.
+
+ If the \meta{modifier} is |+|, hidden text will not be treated
+ as covered, but as invisible. The difference is the same as the
+ difference between |\uncover| and |\visible|. The modifier |*| may
+ not be given if no \meta{text} argument is present.
+
+ \example
+\begin{verbatim}
+\begin{frame}
+ Shown on first slide.
+ \onslide<2-3>
+ Shown on second and third slide.
+ \begin{itemize}
+ \item
+ Still shown on the second and third slide.
+ \onslide+<4->
+ \item
+ Shown from slide 4 on.
+ \end{itemize}
+ Shown from slide 4 on.
+ \onslide
+ Shown on all slides.
+\end{frame}
+\end{verbatim}
+
+ If a \meta{text} argument is present, |\onslide| (without a
+ \meta{modifier}) is mapped to |\uncover|, |\onslide+|
+ is mapped to |\visible|, and |\onslide*| is mapped to |\only|.
+
+ \example
+\begin{verbatim}
+\begin{frame}
+ \onslide<1>{Same effect as the following command.}
+ \uncover<1>{Same effect as the previous command.}
+
+ \onslide+<2>{Same effect as the following command.}
+ \visible<2>{Same effect as the previous command.}
+
+ \onslide*<3>{Same effect as the following command.}
+ \only<3>{Same effect as the previous command.}
+\end{frame}
+\end{verbatim}
+\end{command}
+
+
+\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.}|
+
+ 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}}}
+\begin{frame}
+ \myblue<2> This text is blue only on slide 2.
+\end{frame}
+\end{verbatim}
+\end{command}
+
+
+\begin{command}{\uncover\sarg{overlay specification}\marg{text}}
+ If the \meta{overlay specification} is present, the \meta{text} is
+ shown (``uncovered'') only on the specified slides. On other slides, the
+ text still occupies space and it is still typeset, but it is not
+ shown or only shown as if transparent. For details on how to specify
+ 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}}
+ This command does almost the same as |\uncover|. The only difference
+ is that if the text is not shown, it is never shown in a transparent
+ way, but rather it is not shown at all. Thus, for this command the
+ 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}}
+ This command is the opposite of |\visible|.
+
+ \example |\invisible<-2>{Text shown from slide 3 on.}|
+\end{command}
+
+\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.}|
+
+ 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}}
+ This command alternates between three different texts, depending on
+ whether the current slide is temporally before the specified
+ slides, is one of the specified slides, or comes after them. If the
+ \meta{overlay specification} is not an interval (that is, if it has
+ a ``hole''), the ``hole'' is considered to be part of the before slides.
+ \example
+\begin{verbatim}
+ \temporal<3-4>{Shown on 1, 2}{Shown on 3, 4}{Shown 5, 6, 7, ...}
+ \temporal<3,5>{Shown on 1, 2, 4}{Shown on 3, 5}{Shown 6, 7, 8, ...}
+\end{verbatim}
+
+ As a possible application of the |\temporal| command consider the
+ following example:
+ \example
+\begin{verbatim}
+\def\colorize<#1>{%
+ \temporal<#1>{\color{red!50}}{\color{black}}{\color{black!50}}}
+
+\begin{frame}
+ \begin{itemize}
+ \colorize<1> \item First item.
+ \colorize<2> \item Second item.
+ \colorize<3> \item Third item.
+ \colorize<4> \item Fourth item.
+ \end{itemize}
+\end{frame}
+\end{verbatim}
+\end{command}
+
+
+\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-action-specifications}.
+
+ \example
+\begin{verbatim}
+\begin{frame}
+ \begin{itemize}
+ \item<1-> First point, shown on all slides.
+ \item<2-> Second point, shown on slide 2 and later.
+ \item<2-> Third point, also shown on slide 2 and later.
+ \item<3-> Fourth point, shown on slide 3.
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \begin{enumerate}
+ \item<3-| alert@3>[0.] A zeroth point, shown at the very end.
+ \item<1-| alert@1> The first and main point.
+ \item<2-| alert@2> The second point.
+ \end{enumerate}
+\end{frame}
+\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|.
+
+\begin{command}{\label\sarg{overlay specification}\marg{label name}}
+ If the \meta{overlay specification} is present, the label is only
+ inserted on the specified slide. Inserting a label on more than one
+ slide will cause a `multiple labels' warning. \emph{However}, if no
+ overlay specification is present, the specification is automatically
+ set to just `1' and the label is thus inserted only on the first
+ slide. This is typically the desired behaviour since it does not
+ really matter on which slide the label is inserted, \emph{except} if
+ you use an |\only| command and \emph{except} if you wish to use that
+ label as a hyperjump target. Then you need to specify a slide.
+
+ Labels can be used as target of hyperjumps. A convenient way of
+ labelling a frame is to use the |label=|\meta{name} option of the
+ |frame| environment. However, this will cause the whole frame to be
+ kept in memory till the end of the compilation, which may pose a
+ problem.
+ \example
+\begin{verbatim}
+\begin{frame}
+ \begin{align}
+ a &= b + c \label{first}\\ % no specification needed
+ c &= d + e \label{second}\\% no specification needed
+ \end{align}
+
+ Blah blah, \uncover<2>{more blah blah.}
+
+ \only<3>{Specification is needed now.\label<3>{mylabel}}
+\end{frame}
+\end{verbatim}
+\end{command}
+
+
+
+\subsection{Environments with Overlay Specifications}
+
+Environments can also be equipped with overlay specifications. For
+most of the predefined environments, see Section~\ref{predefined},
+adding an overlay specification causes the whole environment to be
+uncovered only on the specified slides. This is useful for showing
+things incrementally as in the following example.
+
+\begin{verbatim}
+\begin{frame}
+ \frametitle{A Theorem on Infinite Sets}
+
+ \begin{theorem}<1->
+ There exists an infinite set.
+ \end{theorem}
+
+ \begin{proof}<3->
+ This follows from the axiom of infinity.
+ \end{proof}
+
+ \begin{example}<2->
+ The set of natural numbers is infinite.
+ \end{example}
+\end{frame}
+\end{verbatim}
+In the example, the first slide only contains the theorem, on the
+second slide an example is added, and on the third slide the proof is
+also shown.
+
+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. 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}
+\begin{frame}
+ This line is always shown.
+ \begin{onlyenv}<2>
+ This line is inserted on slide 2.
+ \end{onlyenv}
+\end{frame}
+\end{verbatim}
+\end{environment}
+
+
+\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}
+\begin{frame}
+ This
+ \begin{altenv}<2>{(}{)}{[}{]}
+ word
+ \end{uncoverenv}
+ is in round brackets on slide 2 and in square brackets on slide 1.
+\end{frame}
+\end{verbatim}
+\end{environment}
+
+
+\subsection{Dynamically Changing Text or Images}
+
+You may sometimes wish to have some part of a frame change dynamically
+from slide to slide. On each slide of the frame, something different
+should be shown inside this area. You could achieve the effect of
+dynamically changing text by giving a list of |\only| commands like this:
+\begin{verbatim}
+ \only<1>{Initial text.}
+ \only<2>{Replaced by this on second slide.}
+ \only<3>{Replaced again by this on third slide.}
+\end{verbatim}
+The trouble with this approach is that it may lead to slight, but
+annoying differences in the heights of the lines, which may cause the
+whole frame to ``whobble'' from slide to slide. This problem becomes
+much more severe if the replacement text is several lines long.
+
+To solve this problem, you can use two environments:
+|overlayarea| and |overprint|. The first is more flexible,
+but less user-friendly.
+
+\begin{environment}{{overlayarea}\marg{area width}\marg{area height}}
+ Everything within the environment will be placed in a rectangular
+ area of the specified size. The area will have the same size on all
+ slides of a frame, regardless of its actual contents.
+ \example
+\begin{verbatim}
+\begin{overlayarea}{\textwidth}{3cm}
+ \only<1>{Some text for the first slide.\\Possibly several lines long.}
+ \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}}
+ The \meta{area width} defaults to the text width.
+ Inside the environment, use |\onslide| commands to specify
+ different things that should be shown for this environment on
+ different slides. The |\onslide| commands are used like
+ |\item| commands. Everything within the environment will be
+ placed in a rectangular area of the specified width. The height and
+ depth of the area are chosen large enough to accommodate the largest
+ contents of the area. The overlay specifications of the
+ |\onslide| commands must be disjoint. This may be a problem for
+ handouts, since, there, all overlay specifications default to |1|. If
+ you use the option |handout|, you can disable all but one
+ |\onslide| by setting the others to |0|.
+ \example
+\begin{verbatim}
+\begin{overprint}
+ \onslide<1| handout:1>
+ Some text for the first slide.\\
+ Possibly several lines long.
+ \onslide<2| handout:0>
+ 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}
+
+
+A similar need for dynamical changes arises when you have, say, a
+series of pictures named |first.pdf|, |second.pdf|, and |third.pdf|
+that show different stages of some process. To make a frame that shows
+these pictures on different slides, the following code might be used:
+
+\begin{verbatim}
+\begin{frame}
+ \frametitle{The Three Process Stages}
+
+ \includegraphics<1>{first.pdf}
+ \includegraphics<2>{second.pdf}
+ \includegraphics<3>{third.pdf}
+\end{frame}
+\end{verbatim}
+
+The above code uses the fact the \beamer\ makes the |\includegraphics|
+command overlay-specification-aware. It works nicely, but only if each
+|.pdf| file contains the complete graphic to be shown. However, some
+programs, like |xfig|, sometimes also produce series of graphics in
+which each file just contains the \emph{additional} graphic elements
+to be shown on the next slide. In this case, the first graphic must be
+shown not on overlay~1, but from overlay~1 on, and so on. While this
+is easy to achieve by changing the overlay specification |<1>| to
+|<1->|, the graphics must also be shown \emph{on top of each
+ other}. An easy way to achieve this is to use \TeX's |\llap|
+command like this:
+
+\begin{verbatim}
+\begin{frame}
+ \frametitle{The Three Process Stages}
+
+ \includegraphics<1->{first.pdf}%
+ \llap{\includegraphics<2->{second.pdf}}%
+ \llap{\includegraphics<3->{third.pdf}}
+\end{frame}
+\end{verbatim}
+
+or like this:
+
+\begin{verbatim}
+\begin{frame}
+ \frametitle{The Three Process Stages}
+
+ \includegraphics{first.pdf}%
+ \pause%
+ \llap{\includegraphics{second.pdf}}%
+ \pause%
+ \llap{\includegraphics{third.pdf}}
+\end{frame}
+\end{verbatim}
+
+A more convenient way is to use the |\multiinclude| command, see
+Section~\ref{section-xmpmulti} for details.
+
+
+
+
+\subsection{Advanced Overlay Specifications}
+
+\subsubsection{Making Commands and Environments Overlay-Specification-Aware}
+
+This section 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.
+
+\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
+ occurrences 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 is 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}}
+
+\begin{frame}
+ \begin{myboldblock}<2>
+ This theorem is shown only on the second slide.
+ \end{myboldblock}
+\end{frame}
+\end{verbatim}
+
+ \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}
+\renewenvironment<>{verse}
+{\begin{actionenv}#1\begin{originalverse}}
+{\end{originalverse}\end{actionenv}}
+\end{verbatim}
+\end{command}
+
+The following two commands can be used to ensure that a certain
+counter is automatically reset on subsequent slides of a frame. This
+is necessary for example for the equation count. You might want this
+count to be increased from frame to frame, but certainly not from
+overlay slide to overlay slide. For equation counters and footnote
+counters (you should not use footnotes), these commands have already
+been invoked.
+
+\begin{command}{\resetcounteronoverlays\marg{counter name}}
+ After you have invoked this command, the value of the specified
+ counter will be the same on all slides of every frame.
+ \example |\resetcounteronoverlays{equation}|
+\end{command}
+
+\begin{command}{\resetcountonoverlays\marg{count register name}}
+ The same as |\resetcounteronoverlays|, except that this
+ command should be used with counts that have been created using the
+ \TeX\ primitive |\newcount| instead of \LaTeX's |\definecounter|.
+ \example
+\begin{verbatim}
+\newcount\mycount
+\resetcountonoverlays{mycount}
+\end{verbatim}
+\end{command}
+
+
+
+
+
+
+\subsubsection{Mode Specifications}
+
+This section 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}
+
+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 slide.''
+
+Mode specifications 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>|.)
+
+As if all this were not already complicated enough, there is another
+mode that behaves in a special way: the mode |second|. For this mode a
+special rule applies: An overlay specification for mode |beamer| also
+applies to mode |second| (but not the other way round). Thus, if we
+are in mode |second|, the specification |<second:2>| means ``on slide
+2'' and |<beamer:2>| also means ``on slide 2''. To get a slide that is
+typeset in |beamer| mode, but not in |second| mode, you can use,
+|<second:0>|.
+
+
+
+\subsubsection{Action Specifications}
+\label{section-action-specifications}
+
+This section also introduces a rather advanced concept. You may
+also wish to skip it on first reading.
+
+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 invisible 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{\setbeamertemplate{itemize item}{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}|>| at the
+ beginning of the environment and the text |\end{|\meta{action}|env}|
+ at the end. If there are 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}.
+
+ If the so called \emph{default overlay specification} is not empty,
+ it will be used in case no \meta{action specification} is given. The
+ default overlay specification is usually just empty, but it may be
+ set either by providing an additional optional argument to the
+ command |\frame| or to the environments |itemize|, |enumerate|, or
+ |description| (see these for details). Also, the default action
+ specification can be set using the command
+ |\beamerdefaultoverlayspecification|, see below.
+
+ \example
+\begin{verbatim}
+\begin{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{frame}
+\end{verbatim}
+\end{environment}
+
+\begin{command}{\action\sarg{action specification}\marg{text}}
+ This has the same effect as putting \meta{text} in an |actionenv|.
+
+ \example |\action<alert@2>{Could also have used \alert<2>{}.}|
+\end{command}
+
+\begin{command}{\beamerdefaultoverlayspecification\marg{default
+ overlay specification}}
+ Locally sets the default overlay specification to the given
+ value. This overlay specification will be used in every |actionenv|
+ environment and every |\item| that does not have its own overlay
+ specification. The main use of this command is to install an
+ incremental overlay specification like |<+->| or
+ \verb/<+-| alert@+>/, see Section~\ref{section-incremental}.
+
+ Usually, the default overlay specification is installed
+ automatically by the optional arguments to |\frame|, |frame|,
+ |itemize|, |enumerate|, and |description|. You will only have to use
+ this command if you wish to do funny things.
+
+ If given outside any frame, this command sets the default overlay
+ specification for all following frames for which you do not override
+ the default overlay specification.
+
+ \example |\beamerdefaultoverlayspecification{<+->}|
+
+ \example |\beamerdefaultoverlayspecification{}| clears the default
+ overlay specification. (Actually, it installs the default overlay
+ specification |<*>|, which just means ``always,'' but the
+ ``portable'' way of clearing the default overlay specification is
+ this call.)
+\end{command}
+
+
+
+\subsubsection{Incremental Specifications}
+\label{section-incremental}
+
+This section is mostly important for people who have already used
+overlay specifications a lot and have grown tired of writing things
+like |<1->|, |<2->|, |<3->|, and so on again and again. You should
+skip this section on first reading.
+
+Often you want to have overlay specifications that follow a pattern
+similar to the following:
+\begin{verbatim}
+\begin{itemize}
+\item<1-> Apple
+\item<2-> Peach
+\item<3-> Plum
+\item<4-> Orange
+\end{itemize}
+\end{verbatim}
+The problem starts if you decide to insert a new fruit, say, at the
+beginning. In this case, you would have to adjust all of the overlay
+specifications. Also, if you add a |\pause| command before the
+|itemize|, you would also have to update the overlay specifications.
+
+\beamer\ offers a special syntax to make creating lists as the one
+above more ``robust.'' You can replace it by the following list of
+\emph{incremental overlay specifications}:
+\begin{verbatim}
+\begin{itemize}
+\item<+-> Apple
+\item<+-> Peach
+\item<+-> Plum
+\item<+-> Orange
+\end{itemize}
+\end{verbatim}
+The effect of the |+|-sign is the following: You can use it in any
+overlay specification at any point where you would usually use a
+number. If a |+|-sign is encountered, it is replaced by the current
+value of the \LaTeX\ counter |beamerpauses|, which is 1 at the
+beginning of the frame. Then the counter is increased by 1, though it
+is only increased once for every overlay specification, even if the
+specification contains multiple |+|-signs (they are replaced by the
+same number).
+
+In the above example, the first specification is replaced by
+|<1->|. Then the second is replaced by |<2->| and so forth. We can now
+easily insert new entries, without having to change anything. We might
+also write the following:
+\begin{verbatim}
+\begin{itemize}
+\item<+-| alert@+> Apple
+\item<+-| alert@+> Peach
+\item<+-| alert@+> Plum
+\item<+-| alert@+> Orange
+\end{itemize}
+\end{verbatim}
+This will alert the current item when it is uncovered. For example,
+the first specification \verb/<+-| alert@+>/ is replaced by
+\verb/<1-| alert@1>/, the second is replaced by \verb/<2-| alert@2>/, and so on.
+Since the |itemize| environment also allows you to specify a default
+overlay specification, see the documentation of that environment, the
+above example can be written even more economically as follows:
+\begin{verbatim}
+\begin{itemize}[<+-| alert@+>]
+\item Apple
+\item Peach
+\item Plum
+\item Orange
+\end{itemize}
+\end{verbatim}
+
+The |\pause| command also updates the counter |beamerpauses|. You can
+change this counter yourself using the normal \LaTeX\ commands
+|\setcounter| or |\addtocounter|.
+
+Any occurence of a |+|-sign may be followed by an \emph{offset} in
+round brackets. This offset will be added to the value of
+|beamerpauses|. Thus, if |beamerpauses| is 2, then |<+(1)->| expands to
+|<3->| and |<+(-1)-+>| expands to |<1-2>|.
+
+There is another special sign you can use in an overlay specification
+that behaves similarly to the |+|-sign: a dot. When you write |<.->|,
+a similar thing as in |<+->| happens \emph{except that the counter
+ |beamerpauses| is not incremented} and \emph{except that you get the
+ value of |beamerpauses| decreased by one}. Thus a dot, possibly
+followed by an offset, just expands to the current value of the
+counter |beamerpauses| minus one, possibly offset. This dot notation
+can be useful in case like the following:
+\begin{verbatim}
+\begin{itemize}[<+->]
+\item Apple
+\item<.-> Peach
+\item Plum
+\item Orange
+\end{itemize}
+\end{verbatim}
+In the example, the second item is shown at the same time as the first
+one since it does not update the counter.
+
+In the following example, each time an item is uncovered, the
+specified text is alerted. When the next item is uncovered, this
+altering ends.
+\begin{verbatim}
+\begin{itemize}[<+->]
+\item This is \alert<.>{important}.
+\item We want to \alert<.>{highlight} this and \alert<.>{this}.
+\item What is the \alert<.>{matrix}?
+\end{itemize}
+\end{verbatim}
+
+
+
+
+
+
+%%% Local Variables:
+%%% mode: latex
+%%% TeX-master: "beameruserguide"
+%%% End: