Source

beamer / doc / beamerug-tutorial.tex

Full commit
  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
% 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{Tutorial: Euclid's Presentation}
\label{section-tutorial}
 
This section presents a short tutorial that focuses on those features
of \beamer\ that you are likely to use when you start using
\beamer. It  leaves out all the glorious details that are explained
in great detail later on.



\subsection{Problem Statement}

We wish to help Prof.\ Euclid of the University of Alexandria to
create a presentation on his latest discovery: There are 
infinitely many prime numbers! Euclid wrote a paper on this and it got
accepted at the 27th International Symposium on Prime Numbers $-280$
(ISPN~'80). Euclid wishes to use the \beamer\ class
to create a presentation for the conference.
On the conference webpage he found out that he will have twenty
minutes for his talk, including questions.


\subsection{Solution Template}

The first thing Euclid should do is to look for a solution template
for his presentation. Having a look at
Section~\ref{section-solutions}, he finds that the file
\begin{verbatim}
beamer/solutions/conference-talks/conference-ornate-20min.en.tex
\end{verbatim}
might be appropriate. He creates a subdirectories |presentation| in
the directory that contains the actual paper and copies the solution
template to this subdirectory, renaming to |main.tex|.

\lyxnote
If Euclid uses \LyX, he would choose ``New from template'' and pick
the template file 
\begin{verbatim}
beamer/solutions/conference-talks/conference-ornate-20min.en.lyx
\end{verbatim}

He opens the file in his favorite editor. It starts
\begin{verbatim}
\documentclass{beamer}
\end{verbatim}
which Euclid finds hardly surprising. Next comes a line reading 
\begin{verbatim}
\mode<presentation>
\end{verbatim} 
which Euclid does not understand. Since he finds more stuff in the file
that he does not understand, he decides to ignore all of that for time
being, hoping that it all serves some good purpose. 


\subsection{Title Material}

The next thing that seems logical is the place where the |\title|
command is used. Naturally, he replaces it with
\begin{verbatim}
\title{There Is No Largest Prime Number}
\end{verbatim} 
since this was the title of the paper. He sees that the command
|\title| also takes an optional ``short'' argument in square brackets,
which is shown in places where there is little space, but he decides
that the title is short enough by itself.

Euclid next adjusts the |\author| and |\date| fields as follows:
\begin{verbatim} 
%\author{Euclid of Alexandria}
%\date[ISPN '80]{27th International Symposium of Prime Numbers}
\end{verbatim} 
For the date, he felt that the name was a little long, so a short 
version is given (|ISPN '80|). On second thought, Euclid decides to
add his email address and replaces the |\author| field as follows:
\begin{verbatim}
%\author[Euclid]{Eudlic of Alexandria \\ \texttt{euclid@alexandria.edu}}
\end{verbatim}
Somehow Euclid does not like the fact that there is no ``|\email|''
command in \beamer. He decides to write an email to \beamer's author,
asking him to fix this, but postpones this for later when the
presentation is finished. 

There are two fields that Euclid does not know, but whose meaning he
can guess: |\subtitle| and |\institute|. He adjusts them. (Euclid does
not need to use the |\and| command, which is 
used to separate several authors, nor the |\inst| command, which just
makes its argument a superscript).

\lyxnote
In \LyX, Euclid just edits the first lines having of the different
styles like Author or Title or Date. He deletes the optional short
fields.


\subsection{The Title Page Frame}

The next thing in the file that seems interesting is where the first
``frame'' is created, right after the |\||begin{document}|:

\begin{verbatim}
\begin{frame}
  \titlepage
\end{frame}
\end{verbatim}

In \beamer, a presentation consists of a series of frames. Each frame
in turn may consist of several slides (if there is more than one, they
are called overlays). Normally, everything between |\begin{frame}|
  and |\end{frame}| is put on a single slide. No page breaking is
performed. So Euclid infers that the first frame is ``filled'' by the
title page, which seems quite logical.

\lyxnote
The title page frame is created automatically by \LyX. All other
frames start with the style BeginFrame and end either with the style
EndFrame or, automatically, with the start of the next frame,
subsection, or section. 


\subsection{Creating the Presentation PDF File}

Eager to find out how the first page will
look, he invokes |pdflatex| on his file |main.tex| (twice). He could
also use |latex| (twice), followed by |dvips|, and then possibly
|ps2pdf|. Then he uses the Acrobat Reader or |xpdf| to view the
resulting |main.pdf|. Indeed, the first page contains all the
information Euclid has provided until now. It even looks quite
impressive with the colorful title and the rounded corners and the
shadows, but he is doubtful whether he should leave it like that. He
decides to address this problem later.

Euclid is delighted to find out that clicking on a section or
subsection in the navigation bar at the tops hyperjumps there. Also,
the small symbols at the bottom seem to be clickable. Toying around
with them for a while, he finds that clicking on the arrows left or
right of a symbols hyperjumps him backward or forward one slide~/
frame~/ subsection~/ section. Clicking on the left or right side of
the symbol hyperjumps to the beginning or end of the frame~/
subsection~/ section. He finds the symbols quite small, but decides
not write an email to \beamer's author since he also thinks that
bigger symbols would be distracting.

\lyxnote
Euclid chooses View $\to$ PDF to view the resulting presentation. On a
slow machine, this may take a while. See Section~\ref{section-speedup}
for ways of speeding up the compilation.


\subsection{The Table of Contents}

The next frame contains a table of contents:
\begin{verbatim}
\begin{frame}
  \frametitle{Outline}
  \tableofcontents
\end{frame}
\end{verbatim}
Furthermore, this frame has an individual title (Outline). A comment
in the frame says that Euclid might wish to try to add the
|[pausesections]| option. He tries this, changing the frame to:
\begin{verbatim}
\begin{frame}
  \frametitle{Outline}
  \tableofcontents[pausesections]
\end{frame}
\end{verbatim}
After re-pdf\LaTeX ing the presentation, he finds that instead of a
single slide, there are now two ``table of contents slides'' in the
presentation. On the first of these, only the first section is shown,
on the second both sections are shown (scanning down in the file,
Euclid finds that, indeed, there are |\section| commands introducing
these sections). The effect of the |pausesections| seems to be that
one can talk about the first section before the second one is
shown. Then, Euclid can press the down- or right-key, to show the
complete table of contents and can talk about the second section.


\subsection{Sections and Subsections}

The next commands Euclid finds are
\begin{verbatim}
\section{Motivation}
\subsection{The Basic Problem That We Studied}
\end{verbatim}
These commands are given \emph{outside} of frames. So Euclid assumes
that at the point of invocation they have no direct effect, they only
create entries in the table of contents. Having a ``Motivation''
section seems reasonable to Euclid, but he changes the |\subsection|
title.

As he looks at the presentation, he notices that his assumption was
not quite true: each |\subsection| command seems to insert a frame
containing a table of contents into the presentation. Doubling back he
finds the command that causes this: The |\AtBeginSubsection| inserts a
frame with only the current subsection hilighted at the beginning of
each section. If Euclid does not like this, he can just delete the
whole |\AtBeginSubsection| stuff and the table of contents at the
beginning of each subsection disappear. 

The |\section| and |\subsection| commands take optional short
arguments. These short arguments are used whenever a short form of the
section of subsection name is needed. While this is in keeping with
the way \beamer\ treats the optional arguments of things like
|\title|, it is \emph{different} from the usual way \LaTeX\ treats an
optional argument for sections (where the optional argument dictates
what is shown in the table of contents and the main argument dictates
what is shown everywhere else; in \beamer\ things are exactly the
other way round).



\subsection{Creating a Simple Frame}

Euclid then modifies the next frame, which is the first ``real'' frame
of the presentation, as follows:
\begin{verbatim}
\begin{frame}
  \frametitle{What Are Prime Numbers?}
  A prime number is a number that has exactly two divisors. 
\end{frame}
\end{verbatim}
This yields the desired result. It might be a good idea to put some
emphasis on the object being defined (prime numbers). Euclid tries
|\emph| but finds that too mild an emphasis. \beamer\ offers the
command |\alert|, which is used like |\emph| and, by default, typesets
its argument in bright red.
\lyxnote
The |\alert| command needs to be entered in \TeX-mode, which is
awkward. It's easier to just paint the text in red.

Next, Euclid decides to make it even clearer that he is giving a
definition by putting a |definition| environment around the
definition. 
\begin{verbatim}
\begin{frame}
  \frametitle{What Are Prime Numbers?}
  \begin{definition}
    A \alert{prime number} is a number that has exactly two divisors.
  \end{definition}
\end{frame}
\end{verbatim}
Other useful environments like |theorem|, |lemma|, |proof|,
|corollary|, or |example| are also predefined by \beamer. As in
|amsmath|, they take optional arguments that they show in
brackets. Indeed, |amsmath| is automatically loaded by \beamer.

Since it is always a good idea to add examples, Euclid decides to add
one:
\begin{verbatim}
\begin{frame}
  \frametitle{What Are Prime Numbers?}
  \begin{definition}
    A \alert{prime number} is a number that has exactly two divisors.
  \end{definition}
  \begin{example}
    \begin{itemize}
    \item 2 is prime (two divisors: 1 and 2).
    \item 3 is prime (two divisors: 1 and 3).
    \item 4 is not prime (\alert{three} divisors: 1, 2, and 4).
    \end{itemize}
  \end{example}
\end{frame}
\end{verbatim}


\subsection{Creating Simple Overlays}

The frame already looks quite nice, though, perhaps a bit colorful.
However, Euclid would now like to show the three items one after
another, not all three right away. To achieve this, he adds |\pause|
commands after the first and second items:
\begin{verbatim}
  \begin{itemize}
  \item 2 is prime (two divisors: 1 and 2).
    \pause
  \item 3 is prime (two divisors: 1 and 3).
    \pause
  \item 4 is not prime (\alert{three} divisors: 1, 2, and 4).
  \end{itemize}
\end{verbatim}

By showing them incrementally, he
hopes to focus the audience's attention on the item he is currently
talking about.

\lyxnote
You add a pause using the Pause style.

Euclid finds that he can also add a |\pause| between the definition
and the example. So, |\pause|s seem to transcede environments, which
Euclid finds quite useful. After some experimentation he finds that
|\pause| only does not work in |align| environments. He immediately
writes an email about this to \beamer's author, but recieves a polite
answer stating that the implementation of |align| does wicked things
and there is no fix for this. Also, Euclid is pointed to the last part
of the user's guide, where a workaround is described. 


\subsection{Using Overlay Specifications}

The next frame is to show his main argument and is put in a ``Results''
section. Euclid desires a more complicated overlay behavior for this
frame: In an enumeration of four points he 
wishes to uncover the points one-by-one, but he wishes the fourth
point to be shown at the same time as the first. The idea is to
illustrate his new proof method, namely proof by contradiction, where
a wrong assumption is brought to a contradiction at the end after a
number of intermediate steps that are not important at the
beginning. For this, Euclid uses \emph{overlay specifications}:
\begin{verbatim}
\begin{frame}
  \frametitle{There Is No Largest Prime Number}
  \framesubtitle{The proof uses \textit{reductio ad absurdum}.}

  \begin{theorem}
    There is no largest prime number.
  \end{theorem}
  \begin{proof}
    \begin{enumerate}
    \item<1-> Suppose $p$ were the largest prime number.
    \item<2-> Let $q$ be the product of the first $p$ numbers.
    \item<3-> Then $q + 1$ is not divisible by any of them.
    \item<1-> Thus $q + 1$ is also prime and greater than $p$.\qedhere
    \end{enumerate}      
  \end{proof}
  \uncover<4->{The proof used \textit{reductio ad absurdum}.}
\end{frame}
\end{verbatim}
The overlay specifications are given in pointed brackets. The
specification |<1->| means ``from slide 1 on.'' Thus, the first and
fourth item are shown on the first slide of the frame, but the other
two items are not shown. Rather, the second point is shown only from
the second slide onward. \beamer\ automatically computes the number of slides
needed for each frame. More generally, overlay specification are lists
of numbers or number ranges where the start or ending of a range can
be left open. For example |-3,5-6,8-| means ``on all slides, except
for slides 4 and~7.''

\lyxnote
You add overlay specifications to the items by entering \TeX-mode
(press on the little \TeX\ icon) and writing |<1->|. This \TeX-text
should be placed right at the beginning of the item.

The |\qedhere| is used to put the \textsc{qed} symbol at the end of
the line \emph{inside} the enumeration. Normally, the \textsc{qed}
symbol is automatically inserted at the end of a proof environment,
but that would be on an ugly empty line here.

The |\item| command is not the only command that takes overlay
specifications. Another useful command that takes one is the
|\uncover| command. It only shows its argument on the slides specified 
in the overlay specification. On all other slides, the argument is
hidden (though it still occupies space). The command |\only| is
similar and Euclid could also have tried
\begin{verbatim}
  \only<4->{The proof used \textit{reductio ad absurdum}.}
\end{verbatim}
On non-specified slides the |\only| command simply ``throws its
argument away'' and the argument does not occupy any space. This leads
to different heights of the text on the first three slides and of the
fourth slide. If the text is centered vertically, this will cause the
text to ``wobble'' and thus |\uncover| should be used. However, you
sometimes wish things to ``really disappear'' on some slides and then
|\only| is useful. Euclid could also have used the class option
|t|, which causes the text in frames to be vertically flushed
to the top. Then a differing text height does not cause
wobbling. Vertical flushing can also be achieved for only a single
frame be by giving the optional argument |[t]| like this to the
|frame| environment as in 
\begin{verbatim}
\begin{frame}[t]
  \frametitle{There Is No Largest Prime Number}
  ...
\end{frame}
\end{verbatim}
Vice versa, if the |t| class option is given, a frame can be
vertically centered using the |[c]| option for the frame.

It turns out that certain environments, including the |theorem| and
|proof| environments above, also take overlay specifications. If such
a specification is given, the whole theorem of proof is only shown on
the specified slides.


\subsection{Structuring a Frame}

On the next frame, Euclid wishes to contrast solved and open problems
on prime numbers. Since there is no ``Solved problem'' environment
similar to the |theorem| environment, Euclid decides to use the
|block| environment, which allows him to give an arbitrary title:
\begin{verbatim}
\begin{frame}
  \frametitle{What's Still To Do?}
  \begin{block}{Answered Questions}
    How many primes are there?
  \end{block}
  \begin{block}{Open Questions}
    Is every even number the sum of two primes?
  \end{block}
\end{frame}
\end{verbatim}
He could also have defined his own theorem-like environment by putting
the following in the preamble:
\begin{verbatim} 
%\newtheorem{answeredquestions}[theorem]{Answered Questions}
%\newtheorem{openquestions}[theorem]{Open Questions}
\end{verbatim}
The optional argument |[theorem]| ensures that these environments are 
numbered the same way as everything else. Since these numbers are not
shown anyway, it does not really matter whether they are given, but
it's a good practice and, perhaps, Euclid might need these numbers
some other time.

An alternative would be nested |itemize|:
\begin{verbatim}
\begin{frame}
  \frametitle{What's Still To Do?}
  \begin{itemize}
  \item Answered Questions
    \begin{itemize}
    \item How many primes are there?
    \end{itemize}
  \item Open Questions
    \begin{itemize}
    \item Is every even number the sum of two primes?
    \end{itemize}
  \end{itemize}
\end{frame}
\end{verbatim}
Pondering on the problem some more, Euclid decides that it would be
even nicer to have the ``Answered Questions'' on the left and the
``Open Questions'' on the right, so as to create a stronger visual
contrast. For this, he uses the |columns| environment. Inside this
environment, |\column| commands create new columns.
\begin{verbatim}
\begin{frame}
  \frametitle{What's Still To Do?}
  \begin{columns}
    \column{.5\textwidth}
      \begin{block}{Answered Questions}
        How many primes are there?
      \end{block}

    \column{.5\textwidth}
      \begin{block}{Open Questions}
        Is every even number the sum of two primes?
      \end{block}
  \end{columns}
\end{frame}
\end{verbatim}
Trying this, he is not quite satisfied with the result as the block on
the left has a different height than the one on the right. He thinks it
would be nicer if they were vertically top-aligned. So he adds the
|[t]| option to the |columns| environment. 

Euclid is somewhat please to find out that a |\pause| at the end of
the first column allows him to ``uncover'' the second columnn only on
the second slide of the frame.



\subsection{Adding References}

Euclid decides that he would like to add a citation to his open
questions list, since he would like to attribute the question to his
good old friend Christian. Euclid is not really sure whether using a
bibliography in his talk is a good idea, but he goes ahead anyway. 

To this end, he adds an entry to the bibliography, which he
fortunately already finds in the solution file. Having the
bibliography in the appendix does not quite suit Euclid, so he removes
the |\appendix| command. He also notices |<presentation>| overlay
specification and finds them a bit strange, but they do seem to hurt
either. Hopefully they do something useful. His bibliography looks
like this:
\begin{verbatim}
  \begin{thebibliography}{10}
  \bibitem{Goldback1742}[Goldbach, 1742]
    Christian Goldback.
    \newblock A problem we should try to solve before the ISPN '43 deadline, 
    \newblock \emph{Letter to Leonhard Euler}, 1742.
  \end{thebibliography}
\end{verbatim}
and he can then add a citation:
\begin{verbatim}
\begin{block}{Open Questions}
  Is every even number the sum of two primes?
  \cite{Goldbach1742}
\end{block}
\end{verbatim}





\subsection{Verbatim Text}

One another frame, Euclid would like to show a listing of an
algorithm his friend Eratosthenes has send him (saying he came up with
it while reorganizing his sieve collection). Euclid normally uses the
|verbatim| environment and sometimes also similar environments like
|lstlisting| to typeset listings. He can also use them in \beamer, but
he must add the |containsverbatim| option to the frame and he cannot
use overlays on frames typeset using this option:
\begin{verbatim}
\begin{frame}[containsverbatim]
  \frametitle{An Algorithm For Finding Primes Numbers.}

%\begin{verbatim} 
int main (void)
{
  std::vector<bool> is_prime (100, true);
  for (int i = 2; i < 100; i++)
    if (is_prime[i])
      {
        std::cout << i << " ";
        for (int j = i; j < 100; is_prime [j] = false, j+=i);
      }
  return 0;
} 
\end{verbatim}
\unskip{\MacroFont|\end{verbatim}|}
                                %\begin{verbatim}
\begin{verbatim}
\end{frame}
\end{verbatim}
Euclid is a bit alarmed that he cannot use verbatims together with
overlays directly. Fortunately, there exists a slightly more
complicated mechanism, where the verbatim text has to be ``declared''
before the frame, for using verbatims together with overlays.



\subsection{Changing the Way Things Look I: Theming}

With the contents of this talk fixed, Euclid decides to have a second
look at the way things look. He goes back to the beginning and finds
the line
\begin{verbatim}
\usetheme{Warsaw}
\end{verbatim}
By substituting other cities (he notices that these cities seem to
have in common that there has been a workshop or conference on
theoretical computer science there at which always the same person had
a paper, attended, or gave a talk) Euclid can change the way his
presentation is going to look. He decides to choose some theme that is
reasonably simple but, since his talk is not too short, shows a bit of
navigational information.

He settles on the |Frankfurt| theme but decides that the light-dark
contrast is too strong. He adds
\begin{verbatim}
\usecolortheme{seahorse}
\usecolortheme{rose} 
\end{verbatim}  
The result seems some more subdued to him.

Euclid decides that the font used for the titles is not quite
classical enough (classical fonts are the latest chic in
Alexandria). So, he adds
\begin{verbatim}
\usefonttheme[onlylarge]{structuresmallcapsserif}
\end{verbatim}

Euclid notices that the small fonts in the navigation bars
are a bit hard to read as they are so thin. Adding the following
helps:
\begin{verbatim}
\usefonttheme[onlysmall]{structurebold}
\end{verbatim}


\subsection{Changing the Way Things Look II: Colors and Fonts}

Since Euclid wants to give a \emph{perfect} talk, he decides that the
font used for the title simply has to be a serif italics. To change
only the font used for the title, Euclid uses the following command:
\begin{verbatim}
\setbeamerfont{title}{shape=\itshape,family=\rmfamily}
\end{verbatim}
He notices that the font is still quite large (which he likes), but
wonders why this is the case since he did not specify this. The reason
is that calls of |\setbeamerfont| accumulate and the size was already
set to |\large| by some font theme. Using the starred version of
|\setbeamerfont| ``resets'' the font.

Euclid decides that he would also like to change the color of the
title to a dashing red, though, perhaps, with a bit of black added. He
uses the following command:
\begin{verbatim}
\setbeamercolor{title}{fg=red!80!black}
\end{verbatim}
Trying the following command, Euclid is delighted to find that
specifying a background color also has an effect:
\begin{verbatim}
\setbeamercolor{title}{fg=red!80!black,bg=red!20!white}
\end{verbatim}


Finally, Euclid is satisfied with the presentation and goes ahead and
gives a great talk at the conference, making many new friends. He also
writes that email to \beamer's author containing that long list of
things that he missed in \beamer\ or that do not work. He is a bit
disappointed to learn that it might take till ISPN~'79 for all these
things to be taken care of, but he also understands that \beamer's
author also needs some time to do research or otherwise he would have
nothing to given presentations about.

%%% Local Variables: 
%%% mode: latex
%%% TeX-master: "beameruserguide"
%%% End: