summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/beamer/beamerug-tricks.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc/latex/beamer/beamerug-tricks.tex')
-rw-r--r--Master/texmf-dist/doc/latex/beamer/beamerug-tricks.tex271
1 files changed, 271 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/beamer/beamerug-tricks.tex b/Master/texmf-dist/doc/latex/beamer/beamerug-tricks.tex
new file mode 100644
index 00000000000..888f0b3987d
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/beamer/beamerug-tricks.tex
@@ -0,0 +1,271 @@
+% $Header: /cvsroot/latex-beamer/latex-beamer/doc/beamerug-tricks.tex,v 1.6 2004/11/01 16:18:45 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{How To Uncover Things Piecewise}
+
+
+\subsection{Uncovering an Enumeration Piecewise}
+
+A common usage of overlays is to show a list of points in an
+enumeration in a piecewise fashion. The easiest and most flexible way
+to do this is the following:
+
+\begin{verbatim}
+\begin{itemize}
+\item<1-> First point.
+\item<2-> Second point.
+\item<3-> Third point.
+\end{itemize}
+\end{verbatim}
+
+The advantage of this approach is that you retain total control over
+the order in which items are shown. By changing, for example, the last
+specification to |<2->|, you can have the last two points uncovered at
+the same time.
+
+A disadvantage of the approach is that you will have to renumber
+everything if you add a new item. This is usually not such a big
+problem, but it can be a nuisance.
+
+To automatize the uncovering, you can use the following code:
+
+\begin{verbatim}
+\begin{itemize}[<+->]
+\item First point.
+\item Second point.
+\item Third point.
+\end{itemize}
+\end{verbatim}
+
+The effect of the |[<+->]| is to install a \emph{default overlay
+ specification}, see the definition of |itemize| for details.
+
+Now, suppose you wish the second and third point to be shown at the
+same time. You could achieve this by adding the specification |<2->|
+to either the second or third |\item| command. However, then you still
+have to do some renumbering if you add a new item at the beginning. A
+better approach is to temporarily use a different overlay
+specification and the dot-notation:
+
+\begin{verbatim}
+\begin{itemize}[<+->]
+\item First point.
+\item[<.->] Second point.
+\item Third point.
+\end{itemize}
+\end{verbatim}
+
+You might wish to build your own macros based on these ideas (like an
+|itemstep| environment or a |\itemlikeprevious| command).
+
+
+
+\subsection{Hilighting the Current Item in an Enumeration}
+
+If you uncover an enumeration piecewise, it is sometimes a good idea
+to hilight the last uncovered point to draw the audience's attention
+to it. This is best achieved as follows:
+
+
+\begin{verbatim}
+\begin{itemize}
+\item<1-| alert@1> First point.
+\item<2-| alert@2> Second point.
+\item<3-| alert@3> Third point.
+\end{itemize}
+\end{verbatim}
+
+or
+
+\begin{verbatim}
+\begin{itemize}[<+-| alert@+>]
+\item First point.
+\item Second point.
+\item Third point.
+\end{itemize}
+\end{verbatim}
+
+Note that this will draw the little item symbol also in red.
+
+
+
+\subsection{Changing Symbol Before an Enumeration}
+
+When uncovering a list of tasks or problems, you may desire that the
+symbol in front of the last uncovered symbol is, say, a ballot~X,
+while for the previous items it is a check mark (you'll find these
+characters in some Dingbats fonts).
+
+The best way to achieve this is to implement a new action
+environment. If this action is activated, it temporarily changes the
+item symbol template to the other symbol:
+
+\begin{verbatim}
+\newenvironment{ballotenv}
+{\only{%
+ \setbeamertemplate{itemize item}{code for showing a ballot}%
+ \setbeamertemplate{itemize subitem}{code for showing a smaller ballot}%
+ \setbeamertemplate{itemize subsubitem}{code for showing a smaller ballot}}}
+{}
+
+\setbeamertemplate{itemize item}{code for showing a check mark}
+\setbeamertemplate{itemize subitem}{code for showing a smaller check mark}
+\setbeamertemplate{itemize subsubitem}{code for showing a smaller check mark}
+\end{verbatim}
+
+The effect of the code is to install a check mark as the default
+template. If the action |ballot| is now requested for some item, this
+template will temporarily be replaced by the ballot templates.
+
+Note that the |ballotenv| is invoked with the overlay specification
+given for the action directly following it. This causes the |\only| to
+be invoked exactly for the specified overlays.
+
+Here are example usages:
+
+\begin{verbatim}
+\begin{itemize}
+\item<1-| ballot@1> First point.
+\item<2-| ballot@2> Second point.
+\item<3-| ballot@3> Third point.
+\end{itemize}
+\end{verbatim}
+
+and
+
+\begin{verbatim}
+\begin{itemize}[<+-| ballot@+>]
+\item First point.
+\item Second point.
+\item Third point.
+\end{itemize}
+\end{verbatim}
+
+In the following example, more and more items become ``checked'' from
+slide to slide:
+
+\begin{verbatim}
+\begin{itemize}[<ballot@+-| visible@1-,+(1)>]
+\item First point.
+\item Second point.
+\item Third point.
+\end{itemize}
+\end{verbatim}
+
+The important point is |ballot@+|. The funny |visible@1-,+(1)| has the
+following effect: Although it has no effect with respect to what is
+shown (after all, it applies to all slides), it ensures that in
+the enumeration the slide number 4 is mentioned. Thus there will also
+be a slide in which all three points are checked.
+
+
+\subsection{Uncovering Tagged Formulas Piecewise}
+
+Suppose you have a three-line formula as the following:
+\begin{verbatim}
+\begin{align}
+ A &= B \\
+ &= C \\
+ &= D
+\end{align}
+\end{verbatim}
+
+Uncovering this formula line-by-line is a little tricky. A first idea
+is to use the |\pause| or |\onslide| commands. Unfortunately, these do
+not work since |align| internally reprocesses its input several times,
+which messes up the delicate internals of the commands. The next idea
+is the following, which works a little better:
+\begin{verbatim}
+\begin{align}
+ A &= B \\
+ \uncover<2->{&= C \\}
+ \uncover<3->{&= D}
+\end{align}
+\end{verbatim}
+Unfortunately, this does not work in the presence of tags (so it works
+for the |align*| environment). What happens is that the tag of the
+last line is shown on all slides. The problem here is that the tag is
+created when |\\| is encountered or when |\end{align}| is
+encountered. In the last line these are already ``behind'' the
+|\uncover|.
+
+To solve this problem, you can add an empty line without a tag and then
+insert a negative vertical skip to undo the last line:
+\begin{verbatim}
+\begin{align}
+ A &= B \\
+ \uncover<2->{&= C \\}
+ \uncover<3->{&= D \\}
+ \notag
+ \end{align}
+\vskip-1.5em
+\end{verbatim}
+
+
+\subsection{Uncovering a Table Rowwise}
+
+When you wish to uncover a table line-by-line, you will run into all
+sorts of problems if there are vertical and horizontal lines in the
+table. The reason is that the first vertical line at the left end is
+drawn before the line is even read (and thus, in particular, before
+any |\onslide| command can be read). However, placing a |\pause| or
+|\uncover| at the end of the line before is also not helpful since it
+will then suppress the horizontal line below the last uncovered line.
+
+A possible way to solve this problem is not to use either horizontal
+or vertical lines. Instead, colouring the lines using the |colortbl|
+package is a good alternative to structure the table. Here is an
+optically pleasing example, where the table is uncovered line-wise:
+
+\begin{verbatim}
+\rowcolors[]{1}{blue!20}{blue!10}
+\begin{tabular}{l!{\vrule}cccc}
+ Class & A & B & C & D \\\hline
+ X & 1 & 2 & 3 & 4 \pause\\
+ Y & 3 & 4 & 5 & 6 \pause\\
+ Z & 5 & 6 & 7 & 8
+\end{tabular}
+\end{verbatim}
+
+By using |\onslide| instead of |\pause|, you can get more fine-grained
+control over which line is shown on which slide.
+
+
+\subsection{Uncovering a Table Columnwise}
+
+The same problems as for uncovering a table linewise arise for
+uncovering it columnwise.
+
+Once more, using the |colortbl| package offers a solution. In the
+following example, the |tabular| header is used to insert |\onslide|
+commands, one for each column, that cover the entries in the column
+from a certain slide on. At the end of the last column, the |\onslide|
+without a specification ensures that the first column on the next row
+is once more shown normally.
+
+Inserting a horizontal line is tricky since it will protrude over the
+full width of the table also in the covered version. The best idea is
+just not to use horizontal bars.
+
+\begin{verbatim}
+\rowcolors[]{1}{blue!20}{blue!10}
+\begin{tabular}{l!{\vrule}c<{\onslide<2->}c<{\onslide<3->}c<{\onslide<4->}c<{\onslide}c}
+ Class & A & B & C & D \\
+ X & 1 & 2 & 3 & 4 \\
+ Y & 3 & 4 & 5 & 6 \\
+ Z & 5 & 6 & 7 & 8
+\end{tabular}
+\end{verbatim}
+
+
+
+%%% Local Variables:
+%%% mode: latex
+%%% TeX-master: "beameruserguide"
+%%% End: