tuteurs.ens.fr/logiciels/latex/beamer.tml

366 lines
12 KiB
Text
Raw Normal View History

2005-09-06 17:23:33 +02:00
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html
PUBLIC "-//ENS/Tuteurs//DTD TML 1//EN"
"tuteurs://DTD/tml.dtd">
<html>
<head>
<title>Pr<50>sentations</title>
</head>
<body>
<h1>Faire des pr<70>sentations en LaTeX avec beamer</h1>
<h2>Introduction</h2>
<h3>Pourquoi faire une pr<70>sentation en LaTeX plut<75>t qu'avec Powerpoint?</h3>
<p>
Les arguments sont essentiellement les m<>mes que pour LaTeX vs Word. En
faveur de latex, entre autres, la rigueur du rendu, la programmabilit<69>,
la portabilit<69>, la possibilit<69> d'entrer des formules (combien de gens
voit-on convertir en images des formules tap<61>es en TeX, pour les inclure
dans du powerpoint...), sont tout aussi utiles pour une pr<70>sentation que
pour un rapport. D'un autre c<>t<EFBFBD>, le fait que la pr<70>paration du document
n'est pas faite de mani<6E>re visuelle est sans doute plus g<>nante pour des
transparents, mais pas tant que <20>a en fait. Enfin, Powerpoint propose
tout plein d'effets graphiques (animations...), domaine dans lequel les
packages LaTeX sont un peu plus pauvres (mais certainement pas indigents,
et suffisants pour la plupart des usages).
</p>
<h3>Les packages LaTeX pour faire des pr<70>sentations</h3>
<p>
Historiquement, il y avait les classes <kbd>slides</kbd>, et
<kbd>seminar</kbd> qui sont beaucoup trop basiques. Ensuite sont apparus
<kbd>pdfscreen</kbd> et <kbd>prosper</kbd>, qui sont beaucoup plus
<20>volu<6C>s. Enfin est venu <kbd>beamer</kbd>, qui est nettement le meilleur
choix <20> l'heure actuelle. C'est de lui que traitera le reste de
l'article. Mentionnons enfin <a
href="http://pauillac.inria.fr/advi">advi</a>, qui est un viewer de dvi
avec plein de fonctions graphiques grassouilles (par exemple, on peut
faire se balader du texte sur la page). Il pr<70>sente l'inconv<6E>nient de ne
tourner que sous unix, et de ne pas <20>tre bien standard (en g<>n<EFBFBD>ral, on
doit se l'installer <20> la main).
</p>
<h3>Beamer</h3>
<p>
Beamer est donc un package LaTeX pr<70>vu pour faire des pr<70>sentations. Il
est con<6F>u pour produire du pdf. Pour ce faire, on compile le fichier
<kbd>.tex</kbd> en utilisant <kbd>pdflatex</kbd> au lieu de
<kbd>latex</kbd>. Le pdf obtenu peut alors <20>tre visualis<69> avec n'importe
quel afficheur de pdf, comme Acrobat Reader.
</p>
<p>
Beamer vient avec une documentation tr<74>s <20>toff<66>e, accessible <a
href="../../noncvs/docs/beamer">ici</a>. Beamer poss<73>de <20>galement deux
sous-packages<65>:
</p>
<dl>
<dt>pgf</dt>
<dd>
package permettant plein de grassouillitudes graphiques. Il
r<>impl<70>mente une partie de pstricks (cela le rend int<6E>ressant en
lui-m<>me, puisque pstricks ne marche pas avec pdflatex). On vera ici un
exemple d'utilisation de pgf pour inclure des images. <a
2005-09-06 17:23:33 +02:00
href="../../noncvs/docs/pgf">Documentation de pgf.</a>
</dd>
<dt>xcolor</dt>
<dd>
package permettant de d<>finir des couleurs, de mani<6E>re tr<74>s
sophistiqu<71>e <20>: m<>lange de couleurs, diff<66>rents mod<6F>les de couleurs,
... <a
href="../../noncvs/docs/xcolor">Documentation de xcolor.</a>
</dd>
</dl>
<p>
Comme ils sont assez technique, et pas indispensable <20> maitriser pour une
utilisation simple de beamer, on ne les d<>crira pas plus avant ici, on
renvoie <20> leur documentation.
</p>
<p>
Beamer est install<6C> sur les machines de l'<27>cole, et est inclus dans de
plus en plus de distributions de TeX. Si n<>anmoins vous ne l'avez pas sur
la votre, vous pouvez le t<>l<EFBFBD>charger <a
href="http://sourceforge.net/projects/latex-beamer">ici</a>, il faut y
r<>cup<75>rer les versions les plus r<>centes de <kbd>latex-beamer</kbd>,
<kbd>pgf</kbd> et <kbd>xcolor</kbd>.
</p>
<h2>Un exemple de base</h2>
<h3>Le .tex</h3>
<p>
Soit le fichier <kbd>b.tex</kbd> suivant<6E>:
</p>
<pre>
\documentclass{beamer}
\usepackage[latin1]{inputenc}
\usetheme{Warsaw}
\title{Hello World!}
\author{B. Meuhr}\institute{<7B>cole Normale Sup<75>rieure, d<>partement de pipologie}
\begin{document}
\begin{frame}
\titlepage
\end{frame}
\begin{frame}
\textsc{Beamer}, c'est vachement tout beau!
\end{frame}
\begin{frame}
Et c'est facile.
\end{frame}
\end{document}
</pre>
<p>
On le compile avec la commande <kbd>pdflatex b.tex</kbd>, et l'on obtient
alors un joli fichier <kbd>b.pdf</kbd>, que l'on peut afficher avec Acrobat
Reader (on a int<6E>ret <20> passer en mode plein <20>cran, pour ce faire, taper
<kbd>control L</kbd>).
</p>
<h3>Les points clefs</h3>
<p>
On commence par<61>:
</p>
<pre>
\documentclass{beamer}
</pre>
2005-09-09 17:22:28 +02:00
<p class="continue">
2005-09-06 17:23:33 +02:00
ce qui charge beamer, et effectue les r<>glages de bases.
</p>
<p>
Ensuite, beamer <20>tant tr<74>s versatile, il faut le r<>gler <20> son
gout. Souvent, on se contente de charger un th<74>me pr<70>f<EFBFBD>fini, qui se
charge de d<>finir l'apparence graphique de tous les <20>l<EFBFBD>ments. Ici, on
utilise le th<74>me <20><>Warsaw<61><77> (il y en a beaucoup d'autres, ils sont
d<>crits dans le manuel de Beamer)<29>:
</p>
<pre>
\usetheme{Warsaw}
</pre>
<p>
Une fois <20> l'int<6E>rieur du <kbd>\begin{document}</kbd>, on entre le texte
de la pr<70>sentation. On doit diviser <20> la main son texte en pages (pour que
la pr<70>sentation soit compr<70>hensible, il important de faire la division
intelligement), et mettre chaque page dans un environnement
<kbd>frame</kbd>.
</p>
<h2>Fonctionalit<69>s plus avanc<6E>es</h2>
<h3>Sectionnement</h3>
<p>
On peut (et c'est m<>me recommand<6E>) ins<6E>rer des <kbd>\section</kbd>,
<kbd>\subsection</kbd> et cie. Certains th<74>mes (par exemple le
<kbd>Warsaw</kbd> utilis<69> ci-dessus) affichent un condens<6E> de la table
des mati<74>res dans un panneau, ce qui, <20> l'affichage, permet de naviguer
facilement <20> travers le document en cliquant.
</p>
<h3>Animations</h3>
<p>
Beamer permet de d<>finir des s<>quences de slides diff<66>rant seulement par
des apparitions ou disparitions (ou mise en gris<69>) de morceaux de
texte. Par exemple, ce code<64>:
</p>
<pre>
\begin{frame}
\begin{itemize}
\item&lt;13&gt; Ploum!
\item&lt;2-4&gt; Plim?
\item Plum...
\end{itemize}
\end{frame}
</pre>
2005-09-09 17:22:28 +02:00
<p class="continue">
2005-09-06 17:23:33 +02:00
va produire une s<>quence de 4 slides. Toutes les 4 auront un <20><>Plum...<2E><>
sur la troisi<73>me ligne. La premi<6D>re ligne contiendra un <20><>Ploum!<21><> sur la
premi<6D>re et la troisi<73>me slide, tandis qu'elle sera vide sur la deuxi<78>me
et la quatri<72>me. La deuxi<78>me ligne, elle, sera vide sur la premi<6D>re
slide, et contiendra <20><>Plim?<3F><> sur les suivantes.
</p>
<p>
Comme le montre cet exemple, un certain nombre de commandes ont <20>t<EFBFBD>
modifi<66>es pour prendre un argument optionel entre <kbd>&lt;&gt;</kbd>. Dans cet
argument on peut mettre un nombre, un intervalle (deux nombres s<>par<61>s
par un <kbd>-</kbd>), ou plusieurs nombres ou intervaux s<>par<61>s par des
virgules. Ces nombres sp<73>cifient sur quelles slides de la s<>quence qui va
<20>tre cr<63><72>e la commande doit <20><>avoir un effet<65><74>. Pour <kbd>\item</kbd>,
cela veut dire afficher la bille et le texte qui en d<>pend. Mais pour les
commandes de changement de police ou de couleur, cela veut dire que le
changement ne doit <20>tre effectu<74> que sur les slides en question. Par
exemple, un<75>:
</p>
<pre>
\textbf&lt;2&gt;{ploum}
</pre>
2005-09-09 17:22:28 +02:00
<p class="continue">
2005-09-06 17:23:33 +02:00
aura pour effet de mettre <20><>ploum<75><6D> en gras sur la deuxi<78>me slide, et en
normal sur la premi<6D>re.
</p>
<p>
L'argument optionel entre <kbd>&lt;&gt;</kbd> n'est pas un effet magique<75>: les
auteurs de Beamer ont du modifier toutes les commandes ... qu'ils ont
modifi<66>es. Pour les autres, il faut se d<>brouiller <20> la main. On dispose
des commandes <kbd>\only</kbd> et <kbd>\uncover</kbd> qui prennent un
argument entre <kbd>&lt;&gt;</kbd>, puis un argument normal entre
<kbd>{}</kbd>, qu'elles n'affichent que sur les slides sp<73>cifi<66>es. La
diff<66>rence entre les deux est qu'avec <kbd>only</kbd>, le texte est jet<65>,
tandis qu'avec <kbd>uncover</kbd>, il occupe sa place mais est
transparent. Par exemple, avec<65>:
</p>
<pre>
pif \uncover&lt;2&gt;{paf} Abcd-Efgh \only&lt;1&gt;{Ijklmn} ouais!
</pre>
2005-09-09 17:22:28 +02:00
<p class="continue">
2005-09-06 17:23:33 +02:00
on obtiendra<72>:
</p>
<pre>
pif Abcd-Efgh Ijklmn ouais!
</pre>
2005-09-09 17:22:28 +02:00
<p class="continue">
2005-09-06 17:23:33 +02:00
sur la premi<6D>re slide, et<65>:
</p>
<pre>
pif paf Abcd-Efgh ouais!
</pre>
2005-09-09 17:22:28 +02:00
<p class="continue">
2005-09-06 17:23:33 +02:00
sur la deuxi<78>me.
</p>
<p>
Par d<>faut, le texte cach<63> est compl<70>tement invisible. Il est possible de
l'avoir en gris<69> en mettant un<75>:
</p>
<pre>
\setbeamercovered{transparent}
</pre>
<h3>Customisations</h3>
<h4>Couleurs</h4>
<p>
Beamer permet de modifier les couleurs de beacoup de types d'<27>l<EFBFBD>ments. Il
y a une <20><>beamer color<6F><72> associ<63>e <20> chaque type d'<27>l<EFBFBD>ment (elles sont
list<73>es dans le manuel), et l'on peu modifier chaque couleur
ind<6E>pendament des autres. Cela se fait avec la commande
<kbd>\setbeamercolor</kbd> qui prend en premier argument le nom de la
couleur, et en deuxi<78>me argument une sp<73>cification de couleur. Par
exemple<6C>:
</p>
<pre>
\setbeamercolor{normal text}{fg=red,bg=blue}
</pre>
2005-09-09 17:22:28 +02:00
<p class="continue">
2005-09-06 17:23:33 +02:00
fait en sorte que le texte ordinaire soit en rouge sur fond bleu. On peut
sp<73>cifier des couleurs d<>finies <20> l'aide du package xcolor.
</p>
<h4>Templates</h4>
<p>
Les divers <20>l<EFBFBD>ments r<>p<EFBFBD>titifs des slides sont d<>finis <20> l'aide de
templates, qui sont du code <20>valu<6C> pour chaque slide. Par exemple,
l'arri<72>re-plan des slides est d<>finie par le template
<kbd>background</kbd>. Supposons que l'on veuille mettre l'image
<kbd>ploum.jpg</kbd> comme fond de transparents. Il suffit de faire<72>:
</p>
<pre>
\pgfdeclareimage[height=96mm,width=128mm]{nombidon}{ploum}
\setbeamertemplate{background}{\pgfuseimage{nombidon}}
</pre>
2005-09-09 17:22:28 +02:00
<p class="continue">
2005-09-06 17:23:33 +02:00
et tous les transparents suivants auront l'image en arri<72>re-plan. On a
utilis<69> ici les commandes graphiques du package pgf. 96mm et 128mm sont
les dimensions par d<>faut de la page pour beamer (le viewer de pdf fait
un zoom, il est donc inutile et m<>me nuisible de changer la taille de la
page).
</p>
<h4>Conclusion</h4>
<p>
Il existe <20>galement un m<>canisme de <20><>beamer font<6E><74> qui fonctionne
similairement. Noter qu'il existe des th<74>mes d<>finissant d'un coup tous les
templates, couleurs et polices. Souvent, il vaut mieux choisir un th<74>me, et
faire juste une ou deux modifications de d<>tail...
</p>
<p>
Enfin, pour modifier une couleur, un template ou une police sur une zone
limit<69>e et non globalement, on utilise le m<>canisme classique des
groupes<65>: il suffit d'encadrer entre accolades la zone du texte o<> l'on
veut que le changement ait un effet, et de mettre le
<kbd>\setbeamertemplate</kbd>, <kbd>\setbeamercolor</kbd> ou
<kbd>\setbeamerfont</kbd> juste apr<70>s l'accolade ouvrante.
</p>
<h3>Gadgets amusants</h3>
<p>
On peut aussi sp<73>cifier des effets graphique <20> effectuer lors d'un
changement de page, inclure des sons, des videos... Tout cela est d<>crit
dans le chapitre 13 du <a
href="../../noncvs/docs/beamer/beameruserguide.pdf">manuel</a>.
</p>
<h2>Note sur pdflatex</h2>
<p>
Comme il a <20>t<EFBFBD> dit, pdflatex est une variante de latex qui pond du pdf au
lieu de sortir du dvi. Cela a certains effets secondaires au niveau de la
gestion de tout ce qui est graphique. En particulier, on ne peut plus
utiliser tout ce qui <20>tait <20> base de postscript<70>: inclusion d'images eps,
pstricks, ... En compensation, pdflatex fournit pas mal de primitives
graphiques, qui suffise dans la plupart des cas. En particulier, on peut
inclure directement (alors qu'avec latex, il faut les convertir en eps)
des images dans les formats bitmaps jpg et png. Pour des dessins
vectoriels, il vaut mieux les fournir directement au format pdf pour
l'inclusion. On peut convertir un eps en pdf avec la commande
<kbd>epstopdf</kbd>.
</p>
<div class="metainformation">
Auteur<75>: Luc Habert.
Derni<6E>re modification le <date value="$Date: 2006-04-23 11:42:53 $" />.
2005-09-06 17:23:33 +02:00
</div>
</body>
</html>