diff options
author | Karl Berry <karl@freefriends.org> | 2006-01-09 00:44:40 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2006-01-09 00:44:40 +0000 |
commit | b4fc5f639874db951177ec539299d20908adb654 (patch) | |
tree | 52f08823ca58fffe3db6a9b075635038c567626c /Master/texmf-dist/doc/latex/beamer/beamerug-interaction.tex | |
parent | dec3d98ebe442d7ea93efbaa8dd2e2be8149a467 (diff) |
doc 4
git-svn-id: svn://tug.org/texlive/trunk@80 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/latex/beamer/beamerug-interaction.tex')
-rw-r--r-- | Master/texmf-dist/doc/latex/beamer/beamerug-interaction.tex | 478 |
1 files changed, 478 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/beamer/beamerug-interaction.tex b/Master/texmf-dist/doc/latex/beamer/beamerug-interaction.tex new file mode 100644 index 00000000000..0ba748867c1 --- /dev/null +++ b/Master/texmf-dist/doc/latex/beamer/beamerug-interaction.tex @@ -0,0 +1,478 @@ +% $Header: /cvsroot/latex-beamer/latex-beamer/doc/beamerug-interaction.tex,v 1.8 2004/11/01 16:18:44 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{Structuring a Presentation: The Interactive Global Structure} + +\label{section-nonlinear} + + +\subsection{Adding Hyperlinks and Buttons} + +To create anticipated nonlinear jumps in your talk structure, you +can add hyperlinks to your presentation. A hyperlink is a text +(usually rendered as a button) that, when you click on it, jumps the +presentation to some other slide. Creating such a button is a +three-step process: +\begin{enumerate} +\item + You specify a target using the command |\hypertarget| or (easier) + the command |\label|. In some cases, see below, this step may be + skipped. +\item + You render the button using |\beamerbutton| or a similar + command. This will \emph{render} the button, but clicking it will + not yet have any effect. +\item + You put the button inside a |\hyperlink| command. Now clicking it + will jump to the target of the link. +\end{enumerate} + +\begin{command}{\hypertarget\sarg{overlay specification}% + \marg{target name}\marg{text}} + If the \meta{overlay specification} is present, the \meta{text} is + the target for hyper jumps to \meta{target name} only on the + specified slide. On all other slides, the text is shown + normally. Note that you \emph{must} add an overlay specification to + the |\hypertarget| command whenever you use it on frames that have + multiple slides (otherwise |pdflatex| rightfully complains + that you have defined the same target on different slides). + \example +\begin{verbatim} +\begin{frame} + \begin{itemize} + \item<1-> First item. + \item<2-> Second item. + \item<3-> Third item. + \end{itemize} + + \hyperlink{jumptosecond}{\beamergotobutton{Jump to second slide}} + \hypertarget<2>{jumptosecond}{} +\end{frame} +\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 +|label=|\meta{name} option of the |\frame| command creates a label +named \meta{name}|<|\meta{slide number}|>| for each slide of the frame +as a side-effect. Thus the above example could be written more easily +as: +\begin{verbatim} +\begin{frame}[label=threeitems] + \begin{itemize} + \item<1-> First item. + \item<2-> Second item. + \item<3-> Third item. + \end{itemize} + + \hyperlink{threeitems<2>}{\beamergotobutton{Jump to second slide}} +\end{frame} +\end{verbatim} + + + +The following commands can be used to specify in an abstract way what +a button will be used for. + +\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. + + \begin{element}{button}\yes\yes\yes + When the |\beamerbutton| command is called, this template is used + to render the button. Inside the template you can use the command + |\insertbuttontext| to insert the argument that was passed to + |\beamerbutton|. + \begin{templateoptions} + \itemoption{default}{} + Typesets the button with rounded corners. The fore- and + background of the \beamer-color |button| are used and also the + \beamer-font |button|. The border of the button gets the + foreground of the \beamer-color |button border|. + \end{templateoptions} + The following inserts are useful for this element: + \begin{itemize} + \iteminsert{\insertbuttontext} inserts the text of the current + button. Inside ``Goto-Buttons'' (see below) this text is + prefixed by the insert |\insertgotosymbol| and similarly for + skip and return buttons. + + \iteminsert{\insertgotosymbol} This text is inserted at the + beginning of goto buttons. Redefine this command to change the + symbol. + \example + |\renewcommand{\insertgotosymbol}{\somearrowcommand}| + + \iteminsert{\insertskipsymbol} This text is inserted at the + beginning of skip buttons. + + \iteminsert{\insertreturnsymbol} This text is inserted at the + beginning of return buttons. + \end{itemize} + \end{element} + + \begin{element}{button border}\no\yes\no + The foreground of this color is used to render the border of + buttons. + \end{element} +\end{command} + +\begin{command}{\beamergotobutton\marg{button text}} + Draws a button with the given \meta{button text}. Before the text, a + small symbol (usually a right-pointing arrow) is inserted that + indicates that pressing this button will jump to another ``area'' of + the presentation. + + \example |\hyperlink{detour}{\beamergotobutton{Go to detour}}| +\end{command} + +\begin{command}{\beamerskipbutton\marg{button text}} + The symbol drawn for this button is usually a double right + arrow. Use this button if pressing it will skip over a + well-defined part of your talk. + + \example +\begin{verbatim} +\frame{ + \begin{theorem} + ... + \end{theorem} + + \begin{overprint} + \onslide<1> + \hfill\hyperlinkframestartnext{\beamerskipbutton{Skip proof}} + \onslide<2> + \begin{proof} + ... + \end{proof} + \end{overprint} +} +\end{verbatim} +\end{command} + +\begin{command}{\beamerreturnbutton\marg{button text}} + The symbol drawn for this button is usually a left-pointing + arrow. Use this button if pressing it will return from a detour. + + \example +\begin{verbatim} +\frame<1>[label=mytheorem] +{ + \begin{theorem} + ... + \end{theorem} + + \begin{overprint} + \onslide<1> + \hfill\hyperlink{mytheorem<2>}{\beamergotobutton{Go to proof details}} + \onslide<2> + \begin{proof} + ... + \end{proof} + \hfill\hyperlink{mytheorem<1>}{\beamerreturnbutton{Return}} + \end{overprint} +} +\appendix +\againframe<2>{mytheorem} +\end{verbatim} +\end{command} + +To make a button ``clickable'' you must place it in a command like +|\hyperlink|. The command |\hyperlink| is a standard command of the +|hyperref| package. The \beamer\ class defines a whole bunch of other +hyperlink commands that you can also use. + +\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}. If an \meta{overlay specification} is present, the + hyperlink (including the \meta{link text}) is completely + suppressed on the non-specified slides. +\end{command} + +The following commands have a predefined target; otherwise they behave +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\sarg{overlay specification}\marg{link text}} + Clicking the text jumps one slide forward. +\end{command} + +\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\sarg{overlay specification}\marg{link text}} + Clicking the text jumps to the last slide of the current frame. +\end{command} + +\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\sarg{overlay specification}\marg{link text}} + Clicking the text jumps to the last slide of the previous frame. +\end{command} + +The previous four command exist also with ``|frame|'' replaced by +``|subsection|'' everywhere, and also again with ``|frame|'' replaced +by ``|section|''. + +\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\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\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\sarg{overlay specification}\marg{link text}} + Clicking the text jumps to the last slide of the appendix. +\end{command} + +\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\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} + + + + +\subsection{Repeating a Frame at a Later Point} + +Sometimes you may wish some slides of a frame to be shown in your main +talk, but wish some ``supplementary'' slides of the frame to be shown +only in the the appendix. In this case, the |\againframe| commands is +useful. + + +\begin{command}{\againframe\sarg{overlay + specification}\opt{|[<|\meta{default 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 + can use this command to ``continue'' a frame that has been + interrupted by another frame. The effect of this command is to call + the |\frame| command with the given \meta{overlay specification}, + \meta{default overlay specification} (if present), and + \meta{options} (if present) and with the original frame's contents. + + \example +\begin{verbatim} +\frame<1-2>[label=myframe] +{ + \begin{itemize} + \item<alert@1> First subject. + \item<alert@2> Second subject. + \item<alert@3> Third subject. + \end{itemize} +} + +\frame +{ + Some stuff explaining more on the second matter. +} + +\againframe<3>{myframe} +\end{verbatim} + The effect of the above code is to create four slides. In the first + two, the items 1 and~2 are hilighted. The third slide contains the + text ``Some stuff explaining more on the second matter.'' The fourth + slide is identical to the first two slides, except that the third + point is now hilighted. + + \example +\begin{verbatim} +\frame<1>[label=Cantor] +{ + \frametitle{Main Theorem} + + \begin{Theorem} + $\alpha < 2^\alpha$ for all ordinals~$\alpha$. + \end{Theorem} + + \begin{overprint} + \onslide<1> + \hyperlink{Cantor<2>}{\beamergotobutton{Proof details}} + + \onslide<2-> + % this is only shown in the appendix, where this frame is resumed. + \begin{proof} + As shown by Cantor, ... + \end{proof} + + \hfill\hyperlink{Cantor<1>}{\beamerreturnbutton{Return}} + \end{overprint} +} + +... +\appendix + +\againframe<2>{Cantor} +\end{verbatim} + 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 in |article| mode. + + \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 precede the label name. +\end{command} + + + +\subsection{Adding Anticipated Zooming} + +\label{section-zooming} + + +Anticipated zooming is necessary when you have a very complicated +graphic that you are not willing to simplify since, indeed, all the +complex details merit an explanation. In this case, use the command +|\framezoom|. It allows you to specify that clicking on a certain area +of a frame should zoom out this area. You can then explain the +details. Clicking on the zoomed out picture will take you back to the +original one. + +\begin{command}{\framezoom\ssarg{button overlay + specification}\ssarg{zoomed overlay + specification}\oarg{options}\\|(|\meta{upper left x}|,|\meta{upper + left y}|)(|\meta{zoom area width}|,|\meta{zoom area depth}|)|} + This command should be given somewhere at the beginning of a + frame. When given, two different things will happen, depending on + whether the \meta{button overlay specification} applies to the + current slide of the frame or whether the \meta{zoomed overlay + specification} applies. These overlay specifications should not + overlap. + + If the \meta{button overlay specification} applies, a clickable area + is created inside the frame. The size of this area is given by + \meta{zoom area width} and \meta{zoom area depth}, which are two + normal \TeX\ dimensions (like |1cm| or |20pt|). The upper left + corner of this area is given by \meta{upper left x} and \meta{upper + left y}, which are also \TeX\ dimensions. They are measures + \emph{relative to the place where the first normal text of a + frame would go}. Thus, the location |(0pt,0pt)| is at the + beginning of the normal text (which excludes the headline and also + the frame title). + + By default, the button is clickable, but it will not be indicated in + any special way. You can draw a border around the button by using + the following \meta{option}: + \begin{itemize} + \item \declare{|border|}\opt{|=|\meta{width in pixels}} will draw + a border around the specified button area. The default width is 1 + pixel. The color of this button is the |linkbordercolor| of + |hyperref|. \beamer\ sets this color to a 50\% gray by default. To + change this, you can use the command + |\hypersetup{linkbordercolor={|\meta{red}| |\meta{green}| |\meta{blue}|}}|, + where \meta{red}, \meta{green}, and \meta{blue} are values between + 0 and 1. + \end{itemize} + + When you press the button created in this way, the viewer + application will hyperjump to the first of the frames specified by + the \meta{zoomed overlay specification}. For the slides to which + this overlay specification applies, the following happens: + + The exact same area as the one specified before is ``zoomed out'' to + fill the whole normal text area of the frame. Everything else, + including the sidebars, the headlines and footlines, and even the + frame title retain their normal size. The zooming is performed in + such a way that the whole specified area is completely shown. The + aspect ratio is kept correct and the zoomed area will possibly show + more than just the specified area if the aspect ratio of this area + and the aspect ratio of the available text area do not agree. + + Behind the whole text area (which contains the zoomed area) a big + invisible ``Back'' button is put. Thus clicking anywhere on the text + area will jump back to the original (unzoomed) picture. + + You can specify several zoom areas for a single frame. In this case, + you should specify different \meta{zoomed overlay specification}, + but you can specify the same \meta{button overlay + specification}. You cannot nest zoomings in the sense that you + cannot have a zoom button on a slide that is in some \meta{zoomed + overlay specification}. However, you can have overlapping and even + nested \meta{button overlay specification}. When clicking on an area + that belongs to several buttons, the one given last will ``win'' (it + should hence be the smallest one). + + If you do not wish to have the frame title shown on a zoomed slide, + you can add an overlay specification to the |\frametitle| command + that simply suppresses the title for the slide. Also, by using the + |plain| option, you can have the zoomed slide fill the whole page. + + \example A simple case +\begin{verbatim} +\begin{frame} + \frametitle{A Complicated Picture} + + \framezoom<1><2>(0cm,0cm)(2cm,1.5cm) + \framezoom<1><3>(1cm,3cm)(2cm,1.5cm) + \framezoom<1><4>(3cm,2cm)(3cm,2cm) + + \pgfimage[height=8cm]{complicatedimagefilename} +\end{frame} +\end{verbatim} + + \example A more complicate case in which the zoomed parts completely + fill the frames. +\begin{verbatim} +\begin{frame}<1>[label=zooms] + \frametitle<1>{A Complicated Picture} + + \framezoom<1><2>[border](0cm,0cm)(2cm,1.5cm) + \framezoom<1><3>[border](1cm,3cm)(2cm,1.5cm) + \framezoom<1><4>[border](3cm,2cm)(3cm,2cm) + + \pgfimage[height=8cm]{complicatedimagefilename} +\end{frame} +\againframe<2->[plain]{zooms} +\end{verbatim} +\end{command} + + + + + + +%%% Local Variables: +%%% mode: latex +%%% TeX-master: "beameruserguide" +%%% End: |