1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845
|
% $Header: /cvsroot/latex-beamer/latex-beamer/doc/beamerug-animations.tex,v 1.3 2004/10/07 20:53:04 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{Animations, Sounds, and Slide Transitions}
\subsection{Animations}
\subsubsection{Including External Animation Files}
\label{section-multimedia}
If you have created an animation using some external
program (like a renderer), you can use the capabilities of the
presentation program (like the Acrobat Reader) to show the
animation. Unfortunately, currently there is no portable way of doing
this and even the Acrobat Reader does not support this feature on all
platforms.
To include an animation in a presentation, you can use, for example,
the package |multimedia.sty| which is part of the \beamer\
package. You have to include this package explicitly. Despite being
distributed as part of the \beamer\ distribution, this package is
perfectly self-sufficient and can be used independently of \beamer.
\begin{package}{{multimedia}}
A stand-alone package that implements several commands for including
external animation and sound files in a \pdf\ document. The package
can be used together with both |dvips| plus |ps2pdf| and |pdflatex|,
though the special sound support is available only in |pdflatex|.
When including this package, you must also include the |hyperref|
package. Since you will typically want to include |hyperref| only at
the very end of the preamble, |multimedia| will not include
|hyperref| itself. However, |multimedia| can be included both before
and after |hyperref|. Since \beamer\ includes |hyperref|
automatically, you need not worry about this when creating a
presentation using \beamer.
\end{package}
For including an animation in a \pdf\ file, you can use the command
|\movie|, which is explained below. Depending on the used options,
this command will either setup the \pdf\ file such that the viewer
application (like the Acrobat Reader) itself will try to play the
movie or that an external program will be called. The latter approach,
though much less flexible, must be taken if the viewer application is
unable to display the movie itself.
\begin{command}{\movie\oarg{options}\marg{poster text}\marg{movie
filename}}
This command will insert the movie with the filename \meta{movie
filename} into the \pdf\ file. The movie file must reside at some
place where the viewer application will be able to find it,
which is typically only the directory in which the final \pdf\ file
resides. The movie file will \emph{not} be embedded into the \pdf\
file in the sense that the actual movie data is part of the
|main.pdf| file. The movie file must hence be copied and passed
along with the \pdf\ file. (Nevertheless, one often says that the
movie is ``embedded'' in the document, but that just means that one can
click on the movie when viewing the document and the movie will
start to play.)
The movie will use a rectangular area whose size is determined
either by the |width=| and |height=| options or by the size of the
\meta{poster text}. The \meta{poster text} can be any \TeX\ text;
for example, it might be a |\pgfuseimage| command or an
|\includegraphics| command or a |pgfpicture| environment or just
plain text. The \meta{poster text} is typeset in a box, the box is
inserted into the normal text, and the movie rectangle is put
exactly over this box. Thus, if the \meta{poster text} is an image
from the movie, this image will be shown until the movie is started,
when it will be exactly replaced by the movie itself. However, there
is also a different, sometimes better, way of creating a poster image,
namely by using the |poster| option as explained later on.
The aspect ratio of the movie will \emph{not} be corrected
automatically if the dimension of the \meta{poster text} box does
not have the same aspect ratio. Most movies have an aspect ratio of
4:3 or 16:9.
Despite the name, a movie may consist only of sound with no
images. In this case, the \meta{posert text} might be a symbol
representing the sound. There is also a different, dedicated
command for including sounds in a \pdf\ file, see the |\sound|
command in Section~\ref{section-sound}.
Unless further options are given, the movie will start only when the
user clicks on it. Whether the viewer application can actually
display the movie depends on the application and the version. For
example, the Acrobat Reader up to version~5 does not seem to be able
to display any movies or sounds on Linux. On the other hand, the
Acrobat Reader Version~6 on MacOS is able to display anything that
QuickTime can display, which is just about everything. Embedding
movies in a \pdf\ document is provided for by the \pdf\ standard and
is not a peculiarity of the Acrobat Reader. In particular, one might
expect other viewers like |xpdf| to support embedded movies in the
future.
\example
|\movie{\pgfuseimage{myposterimage}}{mymovie.avi}|
\example
|\movie[width=3cm,height=2cm,poster]{}{mymovie.mpg}|
If your viewer application is not able to render your movie, but
some external application is, you must use the |externalviewer|
option. This will ask the viewer application to launch an
application for showing the movie instead of displaying it
itself. Since this application is started in a new window, this not
nearly as nice as having the movie be displayed directly by the
viewer (unless you use evil trickery to suppress the frame of the
viewer application). Which application is chosen is left to the
discreetion of the viewer application, which tries to make its
choice according to the extension of the \meta{movie filename} and
according to some mapping table for mapping extensions
to viewer applications. How this mapping table can be modified
depends on the viewer application, please see the release notes of
your viewer.
The following \meta{options} may be given:
\begin{itemize}
\item
\declare{|autostart|}. Causes the movie to start playing immediately
when the page is shown. At most one movie can be started in this
way. The viewer application will typically be able to show only at
most one movie at the same time anyway. When the page is no longer
shown, the movie immediately stops. This can be a problem if you
use the |\movie| command to include a sound that should be played
on after the page has been closed. In this case, the |\sound|
command must be used.
\item
\declare{|borderwidth=|}\meta{\TeX\ dimension}. Causes a border of
thickness \meta{\TeX\ dimension} to be drawn around the
movie. Some versions of the Acrobat Reader seem to have a bug and
do not display this border if is smaller than 0.5bp (about
0.51pt).
\item
\declare{|depth=|}\meta{\TeX\ dimension}. Overrides the depth of the
\meta{poster text} box and sets it to the given dimension.
\item
\declare{|duration=|}\meta{time}|s|. Specifies in seconds how long
the movie should be shown. The \meta{time} may be a fractional
value and must be followed by the letter |s|. For example,
|duration=1.5s| will show the movie for one and a half seconds. In
conjunction with the |start| option, you can ``cut out'' a part of
a movie for display.
\item
\declare{|externalviewer|}. As explained above, this causes an
external application to be launched for displaying the movie in a
separate window. Most options, like |duration| or |loop|, have no
effect since they are not passed along to the viewer application.
\item
\declare{|height=|}\meta{\TeX\ dimension}. Overrides the height of the
\meta{poster text} box and sets it to the given dimension.
\item
\declare{|label=|}\meta{movie label}. Assigns a label to the movie
such that it can later be referenced by the command
|\hyperlinkmovie|, which can be used to stop the movie or to show
a different part of it. The \meta{movie label} is not a normal
label. It should not be too fancy, since it is inserted literally
into the \pdf\ code. In particular, it should not contain closing
parentheses.
\item
\declare{|loop|}. Causes the movie to start again when the end has
been reached. Normally, the movie just stops at the end.
\item
\declare{|once|}. Causes the movie to just stop at the end. This is
the default.
\item
\declare{|palindrome|}. Causes the movie to start playing backwards
when the end has been reached, and to start playing forward once
more when the beginning is reached, and so on.
\item
\declare{|poster|}. Asks the viewer application to show the first
image of the movie when the movie is not playing. Normally,
nothing is shown when the movie is not playing (and thus the box
containing the \meta{poster text} is shown). For a movie that does
not have any images (but sound) or for movies with an
uninformative first image this option is not so useful.
\item
\declare{|repeat|} is the same as |loop|.
\item
\declare{|showcontrols=|}\meta{true or false}. Causes a control bar
to be displayed below the movie while it is playing. Instead of
|showcontrols=true| you can also just say |showcontrols|. By
default, no control bar is shown.
\item
\declare{|start=|}\meta{time}|s|. Causes the first
\meta{time} seconds of the movie to be skipped. For example,
|start=10s,duration=5s| will show seconds 10 to 15 of the movie,
when you play the movie.
\item
\declare{|width=|}\meta{\TeX dimension} works like the |height|
option, only for the width of the poster box.
\end{itemize}
\example The following example creates a ``background sound'' for
the slide.
\begin{verbatim}
\movie[autostart]{}{test.wav}
\end{verbatim}
\example A movie with two extra buttons for showing different parts
of the movie.
\begin{verbatim}
\movie[label=cells,width=4cm,height=3cm,poster,showcontrols,duration=5s]{}{cells.avi}
\hyperlinkmovie[start=5s,duration=7s]{cells}{\beamerbutton{Show the middle stage}}
\hyperlinkmovie[start=12s,duration=5s]{cells}{\beamerbutton{Show the late stage}}
\end{verbatim}
\end{command}
A movie can serve as the destination of a special kind of hyperlink,
namely a hyperlink introduced using the following command:
\begin{command}{\hyperlinkmovie\oarg{options}\marg{movie
label}\marg{text}}
Causes the \meta{text} to become a movie hyperlink. When you click
on the \meta{text}, the movie with the label \meta{movie label} will
start to play (or stop or pause or resume, depending on the
\meta{options}). The movie must be on the same page as the
hyperlink.
The following \meta{options} may be given, many of which are the
same as for the |\movie| command; if a different option is given for
the link than for the movie itself, the option for the link takes precedence:
\begin{itemize}
\item
\declare{|duration=|}\meta{time}|s|. As for |\movie|, this causes
the movie to be played only for the given number of seconds.
\item
\declare{|loop|} and \declare{|repeat|}. As for |\movie|, this causes
the movie to loop.
\item
\declare{|once|}. As for |\movie|, this causes
the movie to played only once.
\item
\declare{|palindrome|}. As for |\movie|, this causes
the movie to be played forth and back.
\item
\declare{|pause|}. Causes the playback of the movie to be paused, if
the movie was currently playing. If not, nothing happens.
\item
\declare{|play|}. Causes the movie to be played from whatever start
position is specified. If the movie is already playing, it will be
stopped and restarted at the starting position. This is the default.
\item
\declare{|resume|}. Resumes playback of the movie, if it has
previously been paused. If has not been paused, but not started or
is already playing, nothing happens.
\item
\declare{|showcontrols=|}\meta{true or false}. As for |\movie|, this
causes a control bar to be shown or not shown during playback.
\item
\declare{|start=|}\meta{time}|s|. As for |\movie|, this causes
the given number of seconds to be skipped at the beginning of the
movie if |play| is used to start the movie.
\item
\declare{|stop|}. Causes the playback of the movie to be stopped.
\end{itemize}
\end{command}
\subsubsection{Animations Created by Showing Slides in Rapid Succession}
You can create an animation in a portable way by using the
overlay commands of the \beamer\ package to create a series of slides
that, when shown in rapid succession, present an animation. This is a
flexible approach, but such animations will typically be rather static
since it will take some time to advance from one slide to the
next. This approach is mostly useful for animations where you want
to explain each ``picture'' of the animation.
When you advance slides ``by hand,'' that is, by pressing a forward
button, it typically takes at least a second for the next slide to
show.
More ``lively'' animations can be created by relying on a capability
of the viewer program. Some programs support
showing slides only for a certain number of seconds during a
presentation (for the Acrobat Reader this works only in full-screen
mode). By setting the number of seconds to zero, you can create a
rapid succession of slides.
To facilitate the creation of animations using this feature, the
following commands can be used: |\animate| and |\animatevalue|.
\begin{command}{\animate\ssarg{overlay specification}}
The slides specified by \meta{overlay specification} will be shown
only as shortly as possible.
\example
\begin{verbatim}
\begin{frame}
\frametitle{A Five Slide Animation}
\animate<2-4>
The first slide is shown normally. When the second slide is shown
(presumably after pressing a forward key), the second, third, and
fourth slides ``flash by.'' At the end, the content of the fifth
slide is shown.
... code for creating an animation with five slides ...
\end{frame}
\end{verbatim}
\articlenote
This command is ignored in |article| mode.
\end{command}
\begin{command}{\animatevalue|<|\meta{start slide}|-|\meta{end slide}|>|%
\marg{name}\marg{start value}\marg{end value}}
The \meta{name} must be the name of a counter or a dimension.
It will be varied between two values. For the slides in the
specified range, the counter or dimension is set to an interpolated
value that depends on the current slide number. On slides before the
\meta{start slide}, the counter or dimension is set to \meta{start
value}; on the slides after the \meta{end slide} it is set to
\meta{end value}.
\example
\begin{verbatim}
\newcount\opaqueness
\begin{frame}
\animate<2-10>
\animatevalue<1-10>{\opaqueness}{100}{0}
\begin{colormixin}{\the\opaqueness!averagebackgroundcolor}
\frametitle{Fadeout Frame}
This text (and all other frame content) will fade out when the
second slide is shown. This even works with
{\color{green!90!black}colored} \alert{text}.
\end{colormixin}
\end{frame}
\newcount\opaqueness
\newdimen\offset
\begin{frame}
\frametitle{Flying Theorems (You Really Shouldn't!)}
\animate<2-14>
\animatevalue<1-15>{\opaqueness}{100}{0}
\animatevalue<1-15>{\offset}{0cm}{-5cm}
\begin{colormixin}{\the\opaqueness!averagebackgroundcolor}
\hskip\offset
\begin{minipage}{\textwidth}
\begin{theorem}
This theorem flies out.
\end{theorem}
\end{minipage}
\end{colormixin}
\animatevalue<1-15>{\opaqueness}{0}{100}
\animatevalue<1-15>{\offset}{-5cm}{0cm}
\begin{colormixin}{\the\opaqueness!averagebackgroundcolor}
\hskip\offset
\begin{minipage}{\textwidth}
\begin{theorem}
This theorem flies in.
\end{theorem}
\end{minipage}
\end{colormixin}
\end{frame}
\end{verbatim}
\articlenote
This command is ignored in |article| mode.
\end{command}
If your animation ``graphics'' reside in individual external graphic
files, you might also consider using the |\multiinclude| command,
which is explained in Section~\ref{section-mpmulti}, together with
|\animate|. For example, you might create an animation like this,
assuming you have created graphic files named |animation.1| through to
|animation.10|:
\begin{verbatim}
\begin{frame}
\animate<2-9>
\multiinclude[start=1]{animation}
\end{frame}
\end{verbatim}
\subsubsection{Including External Animations Residing in Multiple
Image Files}
\label{section-xmpmulti}
\label{section-mpmulti}
Some animations reside in external files in the following way: For
each stage of the animation there is an image file containing
an image for this stage. You can include such a series of images
conveniently by using the style |mpmulti.sty| from the ppower4
package. This style, written by Klaus Guntermann,
introduces a command called |\multiinclude| that takes the base name
of a graphic file like |mygraphic| and will then search for files
called |mygraphic.0|, |mygraphic.1|, and so on, till no more files are
found. It will then include these graphics files using the
|\includegraphics| command, but will put these graphics ``on top of
each other.'' Furthermore, and this is the important part,
it inserts a |\pause| command after each graphic. This command is
defined in the ppower4 package and has the same effect as the |\pause|
command of \beamer. For this reason, both ppower4 and also \beamer\
will first display the basic graphic and will then additionally show
the next graphic on each slide.
If you try to use |mpmulti.sty| directly, you will run into the
problem that it includes a file called |pause.sty|, which is part of
the ppower4 package.
You might also consider using the style |xmpmulti.sty| that comes with
\beamer. This file is mainly identical to |mpmulti|, except for two
differences: First, it does not include |pause.sty|, a style that
conceptually clashes with \beamer, although \beamer\ contains a
workaround that sidesteps the problem. Second, it extends the
|\multiinclude| command by allowing a special default overlay
specification to be given. The effect of this is explained below.
\begin{package}{{xmpmulti}}
Defines the command |\multiinclude|. The code of this package is
due to Klaus Guntermann with some additions of mine. It can used
together with \beamer\ and with ppower4, i.\,e., it can be used as a
replacement for |mpmulti| if the |pause| package is also included in
a ppower4-presentation.
\end{package}
\begin{command}{\multiinclude\opt{|[<|\meta{default overlay
specification}|>]|}\oarg{options}\marg{base file name}}
Except for the possibility of specifying a \meta{default overlay
specification}, this command is identical to the |\multiinclude|
command from the ppower4 package.
If no overlay specification is given, the command will search for
files called \meta{base file name}|.|\meta{number} for increasing
numbers \meta{number}, starting with zero. As long as it finds these
files, it issues an |\includegraphics| command on them. The files
following the first one are put ``on top'' of the first one. Between
any two invocations of |\includegraphics|, a |\pause| command is
inserted. You can modify this behaviour is different ways by given
suitable \meta{options}, see below.
\example Assume that MetaPost has created files called |gra.0|,
|gra.1|, and |gra.2|. You can then create frame consisting of three
slides that incrementally show the graphic as follows:
\begin{verbatim}
\begin{frame}
\multiinclude{gra}
\end{frame}
\end{verbatim}
The effect of providing a \meta{default overlay specification} is
the following: First, no |\pause| command is inserted between
graphics. Instead, each graphic is surrounded by an |actionenv|
environment with the overlay specification set to \meta{default
overlay specification}.
\example You can create the same effect as in the previous example
using |\multiinclude[<+->]{gra}|.
\example For a more interesting usage of the \meta{default overlay
specification}, consider the following usage:
\begin{verbatim}
\multiinclude[<alert@+| +->]{gra}
\end{verbatim}
This will always paint the most recently added part of the graphic
in red (assuming you do not use special colors in the graphic
itself).
\example In order to have each graphic completely \emph{replace} the
previous one, you could use |\multiinclude[<+>]{gra}|.
The following \meta{options} may be given (these are the same as for
the original command from the ppower4 package):
\begin{itemize}
\item
\declare{|pause=|\meta{command}} replaces the default pausing
command |\pause| by \meta{command}. If a \meta{default overlay
specification} is given, the default pausing command is empty;
otherwise it is |\pause|. Note that commands like |\pauselevel|
are not available in |\beamer|.
\item
\declare{|graphics=|\meta{options}} passes the \meta{options} to
the |\includegraphics| command.
\example |\multiinclude[graphics={height=5cm}]{gra}|
\item
\declare{|format=|\meta{extension}} will cause the file names for
which we search change from \meta{base file name}|.|\meta{number}
to \meta{base file name}|-|\meta{number}|.|\meta{extension}. Note
the change from the dot to a hyphen. This option allows you to
include, say, |.jpg| files.
\item
\declare{|start=|\meta{number}} specifies the start
\meta{number}. The default is zero.
\item
\declare{|end=|\meta{number}} specifies the end
\meta{number}. The default is infinity.
\end{itemize}
\end{command}
Note that, if you do not use the |format=| option, the
|\includegraphics| command will be somewhat at a loss in which format
your graphic file actually is. After all, it end with the cryptic
``format suffix'' |.0| or |.1|. You can tell |\includegraphics| that
any file having a suffix it knows nothing about is actually in format,
say, |.mps|, using the following command:
\begin{verbatim}
\DeclareGraphicsRule{*}{mps}{*}{}
\end{verbatim}
\subsection{Sounds}
\label{section-sound}
You can include sounds in a presentation. Such sound can be played
when you open a slide or when a certain button is clicked. The
commands for including sounds are defined in the package |multimedia|,
which is introduced in Section~\ref{section-multimedia}.
As was already pointed out in Section~\ref{section-multimedia}, a
sound can be included in a \pdf\ presentation by treating it as a
movie and using the |\movie| command. While this is perfectly
sufficient in most cases, there are two cases where this approach is
not satisfactory:
\begin{enumerate}
\item
When a page is closed, any playing movie is immediately
stopped. Thus, you cannot use the |\movie| command to create sounds
that persist for a longer time.
\item
You cannot play two movies at the same time.
\end{enumerate}
The \pdf\ specification introduces special sound objects, which are
treated quite differently from movie objects. You can create a sound
object using the command |\sound|, which is somewhat similar to
|\movie|. There also exists a |\hyperlinksound| command, which is
similar to |\hyperlinkmovie|. While it is conceptually better to use
|\sound| for sounds, there are a number of this to consider before
using it:
\begin{itemize}
\item
Several sounds \emph{can} be played at the same time. In particular,
it is possible to play a general sound in parallel to a (hopefully
silent) movie.
\item
A sound playback \emph{can} persist after the current page is closed
(though it need not).
\item
The data of a sound file \emph{can} be completely embedded in a
\pdf\ file, obliberating the need to ``carry around'' other files.
\item
The sound objects do \emph{not} work together with |dvips| and
|ps2pdf|. They only work with |pdflatex|.
\item
There is much less control over what part of a sound should be
played. In particular, no control bar is shown and you can
specify neither the start time nor the duration.
\item
A bug in some versions of the Acrobat Reader makes it necessary to
provide very exact details on the encoding of the sound file. You
have to provide the sampling rate, the number of channels (mono or
stereo), the number of bits per sample, and the sample encoding
method (raw, signed, Alaw or $\mu$law). If you do not know this data
or provide it incorrectly, the sound will be played incorrectly.
\item
It seems that you can only include uncompressed sound data,
which can easily become huge. This is not required by the
specification, but I have been unable to make the Acrobat Reader
play any compressed data. Data formats that \emph{do} work are
|.aif| and |.au|.
\end{itemize}
\begin{command}{\sound\oarg{options}\marg{sound poster text}\marg{sound
filename}}
This command will insert the sound with the filename \meta{sound
filename} into the \pdf\ file. As for |\movie|, the file must be
accessible when the sound is to be played. Unlike |\movie|, you can
however use the option |inlinesound| to actually embed the sound
data in the \pdf\ file.
Also as for a movie, the \meta{sound poster text} will be be put in
a box that, when clicked on, will start playing the movie. However,
you might also leave this box empty and only use the |autostart|
option. Once playback of a sound has started, it can only be stopped
by starting the playback of a different sound or by use of the
|\hyperlinkmute| command.
The supported sound formats depend on the viewer application. My
version of the Acrobat Reader supports |.aif| and |.au|. I also need
to specify information like the sampling rate, even though this
information could be extracted from the sound file and even though
the \pdf\ standard specifies that the viewer application should do
so. In this regard, my version of the Acrobat Reader seems to be
non-standard-conforming.
This command only works together with |pdflatex|. If you use
|dvips|, the poster is still shown, but clicking it has no effect
and no sound is embedded in any way.
\example
|\sound[autostart,samplingrate=22050]{}{applause.au}|
The following \meta{options} may be given:
\begin{itemize}
\item
\declare{|autostart|}. Causes the sound to start playing immediately
when the page is shown.
\item
\declare{|automute|}. Causes all sounds to be muted when the current
page is left.
\item
\declare{|bitspersample=|}\meta{8 or 16}. Specifies the number of
bits per sample in the sound file. If this number is 16, this
option need not be specified.
\item
\declare{|channels=|}\meta{1 or 2}. Specifies whether the sound is
mono or stereo. If the sound is mono, this option need not be specified.
\item
\declare{|depth=|}\meta{\TeX\ dimension}. Overrides the depth of the
\meta{sound poster text} box and sets it to the given dimension.
\item
\declare{|encoding=|}\meta{method}. Specifies the encoding method,
which may be |Raw|, |Signed|, |muLaw|, or |ALaw|. If the method is
|muLaw|, this option need not be specified.
\item
\declare{|height=|}\meta{\TeX\ dimension}. Overrides the height of the
\meta{sound poster text} box and sets it to the given dimension.
\item
\declare{|inlinesound|} causes the sound data to be stored directly
in the \pdf-file.
\item
\declare{|label=|}\meta{sound label}. Assigns a label to the sound
such that it can later be referenced by the command
|\hyperlinksound|, which can be used to start a sound. The
\meta{sound label} is not a normal label.
\item
\declare{|loop|} or \declare{|repeat|}. Causes the sound to start
again when the end has been reached.
\item
\declare{|mixsound=|}\meta{true or false}. If set to |true|, the
sound is played in addition to any sound that is already
playing. If set to |false| all other sounds (though not sound from
movies) are stopped before the the sound is played. The default is
|false|.
\item
\declare{|samplingrate=|}\meta{number}. Specifies the number of
samples per second in the sound file. If this number is 44100,
this option need not be specified.
\item
\declare{|width=|}\meta{\TeX\ dimension} works like the |height|
option, only for the width of the poster box.
\end{itemize}
\example The following example creates a ``background sound'' for
the slide, assuming that |applause.au| is encoded correctly (44100
samples per second, mono, $\mu$law encoded, 16 bits per sample).
\begin{verbatim}
\sound[autostart]{}{applause.au}
\end{verbatim}
\end{command}
Just like movies, sounds can also serve as destinations of special
sound hyperlinks.
\begin{command}{\hyperlinksound\oarg{options}\marg{sound
label}\marg{text}}
Causes the \meta{text} to become a sound hyperlink. When you click
on the \meta{text}, the sound with the label \meta{sound label} will
start to play.
The following \meta{options} may be given:
\begin{itemize}
\item
\declare{|loop|} or \declare{|repeat|}. Causes the sound to start
again when the end has been reached.
\item
\declare{|mixsound=|}\meta{true or false}. If set to |true|, the
sound is played in addition to any sound that is already
playing. If set to |false| all other sounds (though not sound from
movies) is stopped before the the sound is played. The default is
|false|.
\end{itemize}
\end{command}
Since there is no direct way of stopping the playback of a sound, the
following command is useful:
\begin{command}{\hyperlinkmute\marg{text}}
Causes the \meta{text} to become a hyperlink that, when clicked,
stops the playback of all sounds.
\end{command}
\subsection{Slide Transitions}
\textsc{pdf} in general, and the Acrobat Reader in particular, offer a
standardized way of defining \emph{slide transitions}. Such a
transition is a visual effect that is used to show the slide. For
example, instead of just showing the slide immediately, whatever was
shown before might slowly ``dissolve'' and be replaced by the slide's
content.
There are a number of commands that can be used to specify what effect
should be used when the current slide is presented. Consider the
following example:
\begin{verbatim}
\frame{\pgfuseimage{youngboy}}
\frame{
\transdissolve
\pgfuseimage{man}
}
\end{verbatim}
The command |\transdissolve| causes the slide of the
second frame to be shown in a ``dissolved way.'' Note that the
dissolving is a property of the second frame, not of the first one. We
could have placed the command anywhere on the frame.
The transition commands are overlay-specification-aware. We could
collapse the two frames into one frame like this:
\begin{verbatim}
\begin{frame}
\only<1>{\pgfuseimage{youngboy}}
\only<2>{\pgfuseimage{man}}
\transdissolve<2>
\end{frame}
\end{verbatim}
This states that on the first slide the young boy should be shown, on
the second slide the old man should be shown, and when the second
slide is shown, it should be shown in a ``dissolved way.''
In the following, the different commands for creating transitional
effects are listed. All of them take an optional argument that may
contain a list of \meta{key}|=|\meta{value} pairs. The following
options are possible:
\begin{itemize}
\item
|duration=|\meta{seconds}. Specifies the number of \meta{seconds}
the transition effect needs. Default is one second, but often a
shorter one (like 0.2 seconds) is more appropriate. Viewer
applications, especially Acrobat, may interpret this option in
slightly strange ways.
\item
|direction=|\meta{degree}. For ``directed'' effects, this option
specifies the effect's direction. Allowed values are |0|, |90|,
|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.
\example|\transblindshorizontal|
\end{command}
\begin{command}{\transblindsvertical\sarg{overlay specification}\oarg{options}}
Show the slide as if vertical blinds where pulled away.
\example|\transblindsvertical<2,3>|
\end{command}
\begin{command}{\transboxin\sarg{overlay specification}\oarg{options}}
Show the slide by moving to the center from all four sides.
\example|\transboxin<1>|
\end{command}
\begin{command}{\transboxout\sarg{overlay specification}\oarg{options}}
Show the slide by showing more and more of a rectangular area that
is centered on the slide center.
\example|\transboxout|
\end{command}
\begin{command}{\transdissolve\sarg{overlay specification}\oarg{options}}
Show the slide by slowly dissolving what was shown before.
\example|\transdissolve[duration=0.2]|
\end{command}
\begin{command}{\transglitter\sarg{overlay specification}\oarg{options}}
Show the slide with a glitter effect that sweeps in the specified
direction.
\example|\transglitter<2-3>[direction=90]|
\end{command}
\begin{command}{\transsplitverticalin\sarg{overlay specification}\oarg{options}}
Show the slide by sweeping two vertical lines from the sides inward.
\example|\transsplitverticalin|
\end{command}
\begin{command}{\transsplitverticalout\sarg{overlay specification}\oarg{options}}
Show the slide by sweeping two vertical lines from the center outward.
\example|\transsplitverticalout|
\end{command}
\begin{command}{\transsplithorizontalin\sarg{overlay specification}\oarg{options}}
Show the slide by sweeping two horizontal lines from the sides inward.
\example|\transsplithorizontalin|
\end{command}
\begin{command}{\transsplithorizontalout\sarg{overlay specification}\oarg{options}}
Show the slide by sweeping two horizontal lines from the center outward.
\example|\transsplithorizontalout|
\end{command}
\begin{command}{\transwipe\sarg{overlay specification}\oarg{options}}
Show the slide by sweeping a single line in the specified direction,
thereby ``wiping out'' the previous contents.
\example|\transwipe[direction=90]|
\end{command}
You can also specify how \emph{long} a given slide should be shown,
using the following overlay-specification-aware command:
\begin{command}{\transduration\sarg{overlay specification}\marg{number of seconds}}
In full screen mode, show the slide for \meta{number of seconds}.
In zero is specified, the slide is shown as short as possible. This
can be used to create interesting pseudo-animations.
\example|\transduration<2>{1}|
\end{command}
%%% Local Variables:
%%% mode: latex
%%% TeX-master: "beameruserguide"
%%% End:
|