tuteurs.ens.fr/logiciels/latex/beamer.tml
2009-09-27 15:43:57 +02:00

365 lines
12 KiB
XML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?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ésentations</title>
</head>
<body>
<h1>Faire des présentations en LaTeX avec beamer</h1>
<h2>Introduction</h2>
<h3>Pourquoi faire une présentation en LaTeX plutô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é,
la portabilité, la possibilité d'entrer des formules (combien de gens
voit-on convertir en images des formules tapées en TeX, pour les inclure
dans du powerpoint...), sont tout aussi utiles pour une présentation que
pour un rapport. D'un autre côté, le fait que la préparation du document
n'est pas faite de manière visuelle est sans doute plus génante pour des
transparents, mais pas tant que ç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é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
évolués. Enfin est venu <kbd>beamer</kbd>, qui est nettement le meilleur
choix à 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ésente l'inconvénient de ne
tourner que sous unix, et de ne pas être bien standard (en général, on
doit se l'installer à la main).
</p>
<h3>Beamer</h3>
<p>
Beamer est donc un package LaTeX prévu pour faire des présentations. Il
est conç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 être visualisé avec n'importe
quel afficheur de pdf, comme Acrobat Reader.
</p>
<p>
Beamer vient avec une documentation très étoffée, accessible <a
href="../../noncvs/docs/beamer">ici</a>. Beamer possède également deux
sous-packages :
</p>
<dl>
<dt>pgf</dt>
<dd>
package permettant plein de grassouillitudes graphiques. Il
réimplémente une partie de pstricks (cela le rend inté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
href="../../noncvs/docs/pgf">Documentation de pgf.</a>
</dd>
<dt>xcolor</dt>
<dd>
package permettant de définir des couleurs, de manière très
sophistiquée  : mélange de couleurs, différents modèles de couleurs,
... <a
href="../../noncvs/docs/xcolor">Documentation de xcolor.</a>
</dd>
</dl>
<p>
Comme ils sont assez technique, et pas indispensable à maitriser pour une
utilisation simple de beamer, on ne les décrira pas plus avant ici, on
renvoie à leur documentation.
</p>
<p>
Beamer est installé sur les machines de l'É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écharger <a
href="http://sourceforge.net/projects/latex-beamer">ici</a>, il faut y
récupé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 :
</p>
<pre>
\documentclass{beamer}
\usepackage[latin1]{inputenc}
\usetheme{Warsaw}
\title{Hello World!}
\author{B. Meuhr}\institute{École Normale Supé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éret à passer en mode plein écran, pour ce faire, taper
<kbd>control L</kbd>).
</p>
<h3>Les points clefs</h3>
<p>
On commence par :
</p>
<pre>
\documentclass{beamer}
</pre>
<p class="continue">
ce qui charge beamer, et effectue les réglages de bases.
</p>
<p>
Ensuite, beamer étant très versatile, il faut le régler à son
gout. Souvent, on se contente de charger un thème préféfini, qui se
charge de définir l'apparence graphique de tous les éléments. Ici, on
utilise le thème « Warsaw » (il y en a beaucoup d'autres, ils sont
décrits dans le manuel de Beamer) :
</p>
<pre>
\usetheme{Warsaw}
</pre>
<p>
Une fois à l'intérieur du <kbd>\begin{document}</kbd>, on entre le texte
de la présentation. On doit diviser à la main son texte en pages (pour que
la présentation soit compréhensible, il important de faire la division
intelligement), et mettre chaque page dans un environnement
<kbd>frame</kbd>.
</p>
<h2>Fonctionalités plus avancées</h2>
<h3>Sectionnement</h3>
<p>
On peut (et c'est même recommandé) insérer des <kbd>\section</kbd>,
<kbd>\subsection</kbd> et cie. Certains thèmes (par exemple le
<kbd>Warsaw</kbd> utilisé ci-dessus) affichent un condensé de la table
des matières dans un panneau, ce qui, à l'affichage, permet de naviguer
facilement à travers le document en cliquant.
</p>
<h3>Animations</h3>
<p>
Beamer permet de définir des séquences de slides différant seulement par
des apparitions ou disparitions (ou mise en grisé) de morceaux de
texte. Par exemple, ce code :
</p>
<pre>
\begin{frame}
\begin{itemize}
\item&lt;13&gt; Ploum!
\item&lt;2-4&gt; Plim?
\item Plum...
\end{itemize}
\end{frame}
</pre>
<p class="continue">
va produire une séquence de 4 slides. Toutes les 4 auront un « Plum... »
sur la troisième ligne. La première ligne contiendra un « Ploum! » sur la
première et la troisième slide, tandis qu'elle sera vide sur la deuxième
et la quatrième. La deuxième ligne, elle, sera vide sur la première
slide, et contiendra « Plim? » sur les suivantes.
</p>
<p>
Comme le montre cet exemple, un certain nombre de commandes ont été
modifié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és
par un <kbd>-</kbd>), ou plusieurs nombres ou intervaux séparés par des
virgules. Ces nombres spécifient sur quelles slides de la séquence qui va
être créée la commande doit « avoir un effet ». 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 être effectué que sur les slides en question. Par
exemple, un :
</p>
<pre>
\textbf&lt;2&gt;{ploum}
</pre>
<p class="continue">
aura pour effet de mettre « ploum » en gras sur la deuxième slide, et en
normal sur la première.
</p>
<p>
L'argument optionel entre <kbd>&lt;&gt;</kbd> n'est pas un effet magique : les
auteurs de Beamer ont du modifier toutes les commandes ... qu'ils ont
modifiées. Pour les autres, il faut se débrouiller à 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écifiées. La
différence entre les deux est qu'avec <kbd>only</kbd>, le texte est jeté,
tandis qu'avec <kbd>uncover</kbd>, il occupe sa place mais est
transparent. Par exemple, avec :
</p>
<pre>
pif \uncover&lt;2&gt;{paf} Abcd-Efgh \only&lt;1&gt;{Ijklmn} ouais!
</pre>
<p class="continue">
on obtiendra :
</p>
<pre>
pif Abcd-Efgh Ijklmn ouais!
</pre>
<p class="continue">
sur la première slide, et :
</p>
<pre>
pif paf Abcd-Efgh ouais!
</pre>
<p class="continue">
sur la deuxième.
</p>
<p>
Par défaut, le texte caché est complètement invisible. Il est possible de
l'avoir en grisé en mettant un :
</p>
<pre>
\setbeamercovered{transparent}
</pre>
<h3>Customisations</h3>
<h4>Couleurs</h4>
<p>
Beamer permet de modifier les couleurs de beacoup de types d'élèments. Il
y a une « beamer color » associée à chaque type d'élément (elles sont
listées dans le manuel), et l'on peu modifier chaque couleur
indé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ème argument une spécification de couleur. Par
exemple :
</p>
<pre>
\setbeamercolor{normal text}{fg=red,bg=blue}
</pre>
<p class="continue">
fait en sorte que le texte ordinaire soit en rouge sur fond bleu. On peut
spécifier des couleurs définies à l'aide du package xcolor.
</p>
<h4>Templates</h4>
<p>
Les divers éléments répétitifs des slides sont définis à l'aide de
templates, qui sont du code évalué pour chaque slide. Par exemple,
l'arriè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 :
</p>
<pre>
\pgfdeclareimage[height=96mm,width=128mm]{nombidon}{ploum}
\setbeamertemplate{background}{\pgfuseimage{nombidon}}
</pre>
<p class="continue">
et tous les transparents suivants auront l'image en arrière-plan. On a
utilisé 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 également un mécanisme de « beamer font » qui fonctionne
similairement. Noter qu'il existe des thèmes définissant d'un coup tous les
templates, couleurs et polices. Souvent, il vaut mieux choisir un thè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ée et non globalement, on utilise le mécanisme classique des
groupes : 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ès l'accolade ouvrante.
</p>
<h3>Gadgets amusants</h3>
<p>
On peut aussi spécifier des effets graphique à 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 été 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 était à base de postscript : inclusion d'images eps,
pstricks, ... En compensation, pdflatex fournit pas mal de primitives
graphiques, qui suffisent 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 : Luc Habert.
Dernière modification le <date value="$Date: 2007-07-17 10:02:49 $" />.
</div>
</body>
</html>