Introduction▲
Le but de ce petit texte est de regrouper au même endroit ce que j'ai cherché à droite à gauche sur internet pour faire ma première présentation avec Beamer. Sur internet il existe des choses beaucoup plus complètes, notamment le manuel (250 pages), et beaucoup plus détaillées. Ce document contient les commandes que j'ai utilisées et quelques exemples qui j'espère, aideront à faire une première présentation avec beamer. Il nécessite tout de même d'être familier avec les bases de latex.
Il est possible de compiler le fichier TeX avec latex ou pdflatex qui présente le double avantage de supporter les formats images bitmaps, jpeg, png, pdf et de créer directement un fichier pdf.
1. Le préambule ▲
1-1. Déclaration de la classe beamer▲
\documentclass
[9pt]{beamer}
A savoir que :
- La classe beamer crée une page en format paysage de 128mm de large sur 96mm de haut.
- La taille de police agit sur l'ensemble des éléments : titre de la présentation, titre des diapositives etc ...
- On peut rajouter des options comme draft pour accélérer la compilation.
1-2. Choix du thème▲
Le thème définit le jeu de couleurs et la présentation de la page qui seront utilisés pour la présentation. On peut soit utiliser un thème global qui définira l'allure de l'ensemble de la présentation, soit préciser l'utilisation d'un thème différent pour chaque élément :
Thème | Commentaire | utilisation |
---|---|---|
Global | Pour l'ensemble des éléments de la présentation | \usepackage{beamerthemeWarsaw} |
Les couleurs | Pour les couleurs ... | \usecolortheme{seagull} |
Les polices | Pour les polices ... | \usefonttheme{serif} |
innertheme | Thème pour l'intérieur de la diapositive : liste, block, tableau etc ... | \useinnertheme{circle} |
outertheme | Thème pour l'extérieur de la diapositive : Titre de la diapositive, entête, pied de page etc ... | \useoutertheme{shadow} |
L'ensemble des thèmes disponible se trouve dans le dossier où beamer est installé. Par exemple dans le dossier
/usr/share/texmf/tex/latex/beamer/themes/
1-3. Page de titre▲
La première page de la présentation (la page de titre) est créée par la commande :
\titlepage
Dans le préambule on peut définir les éléments suivant qui apparaitront sur la page de titre :
\title
[titre court]{titre long}
\author
[court]{long}
\institute
{ Université ...} % votre labo, entreprise etc ...
\date
{ 1er mai } % une date ou \today pour la date du jour
Le titre long est sur la page de titre (la première diapositive de la présentation) et le titre court sera dans les pieds de page sur toutes les autres (en fonction du thème choisi).
Pour les auteurs c'est le même principe que le titre long et le titre court. Cela permet par exemple de différencier le nom de celui qui présente (écrit sur toutes les diapositives) et des gens qui ont participé au travail (écrit sur la première diapositive).
1-4. Définition d'un logo▲
Il est possible de définir une image en tant que logo qui sera présent sur toutes les diapositives à un endroit qui va dépendre du thème choisi.
\logo
{\includegraphics
[height=5mm]{img/logo.png}}
1-5. Divers▲
Les packages usuels de latex fonctionnent avec beamer. Voici par exemple quelques packages classiques utiles :
\usepackage
[T1]{fontenc}
\usepackage
[utf8]{inputenc} % pour les accents (mettre latin1 pour windows au lieu de utf8)
\usepackage
[frenchb]{babel} % le documents est en français
\usepackage
{amsmath} % un packages mathématiques
\usepackage
{xcolor} % pour définir plus de couleurs
\usepackage
{graphicx} % pour insérer des figures
2. Créer la présentation▲
2-1. Créer une diapositive▲
Chaque diapositive est simplement définie par l'environnement frame. Par exemple, les deux premières diapositives sont construites par le code :
% page de titre
\begin
{frame}
\titlepage
\end
{frame}
% deuxième frame
\begin
{frame}
\frametitle
{La deuxième diapositive}
\begin
{center} bla bla bla .... \end
{center}
\end
{frame}
...
La commande \frametitle{ ... } permet de définir le titre de la diapositive. Par défaut les diapositives sont centrées verticalement. Ainsi "bla bla bla ..." apparaîtra au centre de la diapositive.
2-2. Remplir les diapositives▲
Les diapositives peuvent contenir tout ce que vous avez l'habitude de mettre dans un document latex classique : tableau, listes, image ...
2-2-1. Les Listes▲
Les listes itemize ont des items spécifiques à beamer dont la couleur peut varier en fonction du thème choisi : défaut (triangle), triangle, square, ball, circle. On peut choisir les items ainsi que les sous items en les définissant dans le préambule de la façon suivante :
\setbeamertemplate
{itemize item}[ball]
\setbeamertemplate
{itemize subitem}[triangle]
\setbeamertemplate
{itemize subsubitem}[circle]
...
Voici un exemple des différentes puces disponibles :
type | Rendu |
---|---|
triangle | |
ball | |
circle | |
square |
Un exemple des autres listes :
Code | Rendu |
---|---|
Liste enumerate Sélectionnez
|
|
Liste description Sélectionnez
|
2-2-2. Les blocks▲
Beamer propose un environnement block qui permet de mettre des éléments en valeur. Il existe trois environnements blocks différents, les blocks simples block, alerte alertblock et exemple exampleblock. Ils s'utilisent simplement de la façon suivante :
\begin
{block}{ titre du block }
Texte, équations, image, tableau etc ...
\end
{block}
\begin
{alertblock}{ titre du block }
Texte, équations, image, tableau etc ...
\end
{block}
Pour avoir des blocks arrondis avec une ombre, il faut rajouter la commande suivante dans le préambule :
\setbeamertemplate
{blocks}[rounded][shadow=true]
Quelques exemples :
On peut modifier les couleurs des blocks en indiquant le code suivant soit dans le préambule, soit localement avant d'utiliser un block :
\setbeamercolor
{block title}{fg=black,bg=blue1} % titre block normal
\setbeamercolor
{block body}{fg=black,bg=bleu1!50} % corps block normal
\setbeamercolor
{block body alerted}{fg=white,bg=red} % idem pour un block alerte
Le !70 permet d'ajuster la couleur, de foncé (100) à plus clair (0).
Il n'est pas obligatoire de donner un titre au block, ce qui permet d'encadrer un mot ou une phrase. On peut contrôler la largeur des block en les insérant dans une boite (textblock ou minipage). Voici un exemple avec le block alerte dans une minipage :
\setbeamercolor
{block body alerted}{fg=white,bg=red}
\begin
{minipage}{50mm}
\begin
{alertblock}{}
\begin
{center}
\textbf
{Très important}
\end
{center}
\end
{alertblock}
\end
{minipage}
L'utilisation de textblock permet en plus de positionner le block où on le veut sur la page.
2-3. Overlay - Apparition progressive du contenu d'une frame▲
Lors d'une présentation, il est souvent préférable de faire afficher les éléments au fur et à mesure à l'aide des overlay. Il faut alors faire une différence entre une frame et une diapositive. Les overlays permettent d'afficher en plusieurs fois le contenu d'une frame (délimité par l'environnement frame) en créant plusieurs diapositives. Pour cela, la classe beamer met à disposition plusieurs commandes : \uncover<>, \(in)visible<> et \only<>. Entre les < >, il faut indiquer l'ordre d'apparition des éléments. Beamer construira ensuite le nombre de diapositives nécessaire en faisant apparaître progressivement les éléments.
<1-> | de la 1ère diapositive de la frame et jusqu'à la dernière. |
<2-> | à partir de la deuxième diapositive et jusqu'à la fin. |
<-3> | de la première diapositive de la frame jusqu'à la troisième diapositive. |
<2> | uniquement sur la deuxième diapositive. |
<3-5> | de la troisième à la cinquième diapositive. |
... | ainsi de suite |
Le décompte des diapositives est remis à zéro pour chaque nouvelle frame.
Pour que le texte, présent sur une frame mais qui ne s'affiche pas sur les premières diapositives, apparaisse en beaucoup plus clair et soit peu lisible, il faut rajouter la commande suivante dans le préambule :
\beamertemplatetransparentcovered
2-3-1. Les différentes commandes▲
uncover<n->{texte} | affiche les éléments entre { } à partir de la diapositive n |
only<n->{texte} | affiche les éléments entre { } à partir de la diapositive n mais la place prise par le texte n'était pas réservée sur les diapositives précédentes. La mise en page est réorganisée pour faire apparaître le texte. |
(in)visible<-n>{texte} | idem que uncover (ou inverse). |
alert<4->{texte} | le texte entre { } sera en rouge à partir de la quatrième diapositives. |
Pour certains éléments (comme des figures ou des textblocks) uncover ne fonctionne pas et
il faut utiliser (in)visible à la place. D'autre part si on a choisi que le texte s'affiche en plus clair et peu
lisible avant qu'il soit réellement présent, il faut utiliser uncover. En effet, l'utilisation de (in)visible
le fait complètement disparaître.
Toutes ces commandes fonctionnent très bien pour du texte, mais elles peuvent également agir sur des figures, des lignes
ou colonnes d'un tableau etc ... Lorsqu'on utilise des boites (, parbox, minipage etc ...)
il est préférable de les mettre à l'intérieur de la boîte pour qu'elles agissent directement sur le contenu et pas sur
la boite.
\alt
<3>{Je suis sur la diapositive 3}{Je ne suis pas sur la diapositive 3}
2-3-2. Cas particulier des listes▲
Pour les listes, on peut utiliser les commandes précédentes mais d'autres sont disponibles. Les deux codes suivants produisent la même chose. Beamer fabrique 4 diapositives en faisant successivement apparaître les 4 items.
Sélectionnez
|
Sélectionnez
|
La première version (gauche) code pour un affichage séquentiel de manière automatique. La seconde offre plus de souplesse dans l'ordre d'apparition et de disparition des éléments.
2-4. Organiser la présentation et faire un plan▲
Comme dans un document latex classique une présentation beamer peut être divisée en section, subsection ... La syntaxe est la même que pour un document latex. On place tout simplement ces commandes entre les frames pour diviser la présentation.
\section
[titre court1]{titre long long long 1}
\begin
{frame}
\frametitle
{frame1}
\end
{frame}
\section
[titre court2]{titre long long long 2}
\subsection
[titre court1]{titre long long long 1}
\begin
{frame}
\frametitle
{frame2}
\end
{frame}
\subsection
[titre court2]{titre long long long 2}
\begin
{frame}
\frametitle
{frame3}
\end
{frame}
\subsection
[titre court3]{titre long long long 3}
\begin
{frame}
\frametitle
{frame4}
\end
{frame}
\section
[titre court3]{titre long long long 3}
\begin
{frame}
\frametitle
{frame5}
\end
{frame}
Comme pour le titre de la présentation ou les auteurs, on peut définir un titre long et un titre court. Le titre long sera affiché dans le plan ou la table des matières ; Le titre court, suivant le thème choisi, sera affiché dans l'entête des diapositives ou sur le côté avec un résumé du plan. Le titre des frames n'est pas automatiquement défini par la section qui les contient.
Pour afficher le plan, on crée une table des matières avec la commande \tableofcontents[...]. Si on ne veut pas donner tous les détails, l'option hideallsubsections permet de n'afficher que les sections.
\begin
{frame}
\begin
{center}{\Large
Plan }\end
{center}
\tableofcontents
[hideallsubsections]
\end
{frame}
Il est parfois utile de rappeler au début de chaque section le plan de la présentation. Le code suivant, à placer dans le préambule, permet de générer au début de chaque section une frame qui contient le plan. Celui-ci n'affiche que les subsection de la section en cours. Les autres sections sont affichées en gris et peu lisible.
% Faire apparaître un sommaire avant chaque section
\AtBeginSection
[]{
\begin
{frame}
\begin
{center}{\Large
Plan }\end
{center}
%%% affiche en début de chaque section, les noms de sections et
%%% noms de sous-sections de la section en cours.
\tableofcontents
[currentsection,hideothersubsections]
\end
{frame}
}
3. Boite à outils▲
3-1. Package xcolor▲
Ce package (références) donne accès à plus de couleurs disponibles et permet d'en définir de nouvelles en utilisant les codes RVB, CYMK, ou HTML avec les syntaxes suivantes :
\definecolor
{monred}{HTML}{9D0909}
\definecolor
{monbleu}{RVB}{0,0,1}
3-2. Package animate▲
Ce package (références) permet d'insérer des animations dans un document pdf. D'une manière simple, l'animation est créée comme une succession d'images, comme un dessin animé. Cependant, le package permet aussi d'insérer des vidéos mais celles-ci ne sont pas directement encapsulées dans le pdf et doivent donc être accessibles. Voici un exemple de l'utilisation de animate :
\animategraphics
[autoplay,loop,height=10mm]{10}{tux_
ask}{1}{2}
L'animation est créée à l'aide de deux images tux_ask1.jpg et tux_ask2.jpg. L'option autoplay fait démarrer l'animation toute seule, et loop permet de jouer l'animation en boucle. Le chiffre 10 est la vitesse d'enchaînement des images (normalement en nombre d'images par seconde). On donne ensuite la racine du nom des images (ici tux_ask) et le numéro des images, ici de 1 à 2. L'animation est encapsulée dans le pdf qui est donc auto-suffisant.
Une petite contrainte, il est nécessaire d'utiliser acrobat reader pour que ça fonctionne.
3-3. Package textpos▲
Ce package (références) est très utile pour préparer sa présentation car il permet, à l'aide de coordonnées (x,y), de positionner des objets là où on le souhaite sur la page. Il s'utilise de manière simple avec un environnement textblock* qui s'utilise un peu comme une minipage ou une parbox. Pour l'utiliser il faut mettre ceci dans le préambule :
\usepackage
[absolute,showboxes,overlay]{textpos} % déclaration du package
\textblockorigin
{x}{y} % origine des positions
\TPshowboxestrue
% affiche le contour des textblock
\TPshowboxesfalse
% n'affiche pas le contour des textblock
L'origine des coordonnées est donnée par rapport au coin supérieur gauche de la page. L'option absolute permet de placer tous les textblocks de la page par rapport à cette origine. Ainsi, si on déplace quelque chose dans la page les autres textblocks ne sont pas déplacés.
L'option overlay permet aux différents textblocks ou autres éléments de la page de se superposer. Cette option est vraiment nécessaire, si on ne la met pas et que deux textblocks se superposent, l'un d'eux sera invisible.
L'option showboxes en relation avec les commandes \TPshowboxes(false)true permet de faire afficher ou non une bordure autour des textblocks. Cela peut être utile pendant la conception des diapositives pour mieux se rendre compte de là où se placent les textblocks.
Il suffit ensuite d'utiliser l'environnement textblock* dont la syntaxe générale est :
\begin
{textblock*}{largeur}[h,v](x,y)
tout ce qu'
on veut !!
\end
{textblock*}
Les paramètres sont assez explicite, largeur est la largeur du textblock. x,y sont les coordonnées du textblock par rapport à l'origine, elles sont données entre parenthèses. Entre crochets, h et v définissent le point du textblock qui aura les coordonnées x et y. Il n'est pas obligatoire de les préciser. Par défaut h et v valent zéro et définissent le point en haut à gauche du textblock. Ces grandeurs sont relatives, par exemple le centre du textblock est défini par [0.5,0.5], le coin en bas à gauche par [0,1] et ainsi de suite.
L'avantage d'utiliser l'environnement textblock*, avec une *, est que la largeur et les coordonnées x et y sont directement données dans l'unité désirée. Si on utilise l'environnement textblok qui a la même syntaxe, il faut définir des unités dans le préambule avec les commandes suivantes :
\setlength
{\TPHorizModule
}{1mm}
\setlength
{\TPVertModule
}{\TPHorizModule
}
La largeur et les coordonnées x et y sont alors données comme multiples de TPHorizmodule et TPVertModule.
Les textblocks ne prennent pas de place sur la page. Si on place un textblock en haut à gauche et qu'avant ou après on écrit du texte, le textblock et le texte seront superposés. Pour placer le texte en dessous du textblock il faut soit le placer lui aussi dans un textblock, soit utiliser la commande \rule{largeur}{hauteur} ou \vskip pour décaler le texte verticalement.
Si on place plusieurs textblock* sur la page, qu'ils se superposent et que leur contenu n'est pas transparent, c'est le premier textblock qui sera par dessus les autres et ainsi de suite.
3-4. Package hyperref▲
Le package hyperref () s'utilise comme dans un document LaTeX classique et offre les mêmes fonctionnalités.
3-5. Le package picture▲
Ce package () s'utilise comme dans un document LaTeX classique et permet notamment de faire des flèches et des lignes. On peut ensuite positionner ces éléments sur la page en insérant l'environnement picture dans un environnement . Voici la syntaxe générale de l'environnement picture (c'est un environnement très riche il est conseillé de consulter sa documentation pour faire des choses plus élaborées) :
\begin
{picture}(largeur,hauteur)
\thicklines
\put
(0,0){\line
(1,0){10}}
\put
(10,0){\vector
(0,1){10}}
\end
{picture}
La largeur et la hauteur, ainsi que toutes les dimensions ou coordonnées à l'intérieur sont des multiples d'une longueur définies dans le préambule par :
\setlength
{\unitlength
}{1mm}
La commande put(x,y){objet} place l'objet au point de coordonnées x et y, l'origine étant en bas à gauche de la boite picture. L'objet \line(x,y){longueur} crée une ligne de longueur longueur et dont la direction est donnée par le vecteur de coordonnées (x,y). Par exemple (0,1) définit une ligne verticale et (1,1) une ligne oblique à 45°. L'objet \vector est identique à \line dans son utilisation mais il crée une flèche à la place. La commande \color{couleur} permet de choisir la couleur des objetsb
3-6. La barre de navigation▲
Vous avez sans doute remarqué que les présentations Beamer affichent (souvent en bas à droite) une série de petites icônes permettant de se déplacer d'une diapositive à une autre. On peut supprimer l'un ou l'autre de ces icônes en commentant les lignes voulues dans le code suivant à placer dans le préambule :
\setbeamertemplate
{navigation symbols}{
\insertslidenavigationsymbol
\insertframenavigationsymbol
\insertsubsectionnavigationsymbol
\insertsectionnavigationsymbol
\insertdocnavigationsymbol
\insertbackfindforwardnavigationsymbol
}
3-7. Option pdf▲
Voici une série de commandes, à mettre dans le préambule, qui permettent de définir différents paramètres du fichier pdf.
\hypersetup
{
pdfpagemode = FullScreen,% afficher le pdf en plein écran
pdfauthor = {auteur(s)},%
pdftitle = {Titre ...},%
pdfsubject = {Sujet ...},%
pdfkeywords = {Mots clés séparés par des virgules},%
pdfcreator = {PDFLaTeX},%
pdfproducer = {PDFLaTeX}%
}
Références▲
- Beamer home page, le manuel officiel de beamer et le package pour l'installation.
- La FAQ LaTeX grappa de l'université de Lille.
- Un site de l'ens avec une aide sur LaTeX et beamer, tuteur ens.
- Le site de Mc Collilieux sur beamer, introbeamer.
- Le package xcolor et le manuel.
- Le package animate et le manuel
- Le package textpos qui permet de placer des textblock là où on le souhaite sur la page et son manuel manuel