Nous allons voir dans cet article comment faire une présentation en Latex avec la très puissante classe Beamer. Si vous voulez faire une présentation sans contraintes et mettre en valeur vos travaux ou vos idées, alors c’est ici que vous trouverez votre bonheur !!! Bonne Lecture.

Installation de la classe Beamer

Vous avez besoin d’installer dans un premier temps le paquet Beamer. Sous Debian ou Ubuntu, vous pouvez utiliser la commande suivante:

apt-get install latex-beamer

Une fois que vous avez installé la classe latex Beamer, vous allez à  présent créer votre première présentation !!!

Présentation de base avec Beamer

\documentclass{beamer}
\usepackage[latin1]{inputenc}
\usetheme{Warsaw}
\title[Faire une présentation en Latex avec Beamer]{Introduction à  Beamer\\Comment faire une présentation en Latex?}
\author{Nadir Soualem -- Astozzia}
\institute{Math-linux.com}
\date{30 mai 2007}
\begin{document}

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


\begin{frame}{Introduction}
Ceci est une courte introduction à  la classe Beamer.
\end{frame}

\end{document}

Quelques explications:

\documentclass{beamer}

signifie que notre document est une présentation Beamer

\usepackage[latin1]{inputenc}

nous permet d’utiliser les caractères accentués, pour une présentation anglophone , cette commande n’est pas nécessaire

\usetheme{Warsaw}

Il s’agit d’un thème de présentation (couleur et arrière plan), évidemment il en existe d’autres que l’on peut consulter dans la documentation de beamer.

\title[Faire une présentation en Latex avec Beamer]{Introduction à  Beamer\\Comment faire une présentation en Latex?}

permet de définir le titre de la présentation. Vous pouvez constater qu’il y a deux titres:

  • le premier entre crochets [Faire une présentation en Latex avec Beamer] est un titre de subsitution, il apparait en bas de page, cela peut etre utile notamment lorsqu’on utilise un titre de présentation très long. Il s’agit d’une option, en cas de non spécification c’est le titre principal qui est utilisé en bas de page
  • le second entre accolades correspond au titre principal de la présentation La commande
\author{Nadir Soualem -- Astozzia}

définit Nadir Soualem et Astozzia comme auteurs de la présentation.

\institute{Math-linux.com}

définit le cadre ou le lieu de la présentation. Enfin on utilise

\date{30 mai 2007}

pour définir la date.

Pour définir le document, on utilise les balises

\begin{document}
...
\end{document}

Pour définir une page de présentation, on utilise les balises

\begin{frame}
...
\end{frame}

Pour expliciter un titre de page (frame), on le spécifie comme suit

\begin{frame}{Introduction}

Introduction sera le titre de la page. Pour définir la première page, contenant les différentes informations de type titre, auteur, date, etc … On utilise une frame dans laquelle on inclut la commande \titlepage

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

Pour définir une frame contenant le plan de la présentation, on procède comme suit

\AtBeginSubsection[]
{
  \begin{frame}<beamer>
    \frametitle{Plan}
    \tableofcontents[currentsection,currentsubsection]
  \end{frame}
}

Le plan de l’exposé sera alors appelé à  chaque section et sous-section de la présentation. A vous d’insérer \section et \subsection au cours de la présentation et cela en dehors des frames:

\section{Nom_de_la_section}
\begin{frame}
...
\end{frame}
...
\section{Nom_de_la_section}
\subsection{Nom_de_la_sous_section}
\begin{frame}
...
\end{frame}

Animations – Overlays

Un bon exposé est un exposé dynamique, un exposé qui attire l’attention des auditeurs. On a recours en général à  un type de présentation dynamique, autrement dit au moment où l’on parle on fait apparaitre un point essentiel de l’exposé, on en fait disparaitre un autre ou alors on garde certains points etc … Nous allons voir dans cette section comment fonctionne les animations sous Beamer.

Vue de listes point par point: commande \pause

Pour pouvoir visionner dans une page plusieurs points d’une liste on procède à  l’intérieur d’une frame comme suit:

\begin{itemize}
\pause \item Beamer est une classe géniale
\pause \item On peut faire des animations
\pause \item On utilise par exemple la commande \textbf{pause}
\pause \item pour dévoiler les points importants
\end{itemize}

on verra donc point par point les éléments de notre liste.

Vue de listes point par point: commande \item<n->

Une autre manière de voir point par point les éléments de notre liste est d’utiliser la commande \item<n-> où n est un entier désignant le transparent (slide) à  partir duquel le point apparait, comme ici

\begin{itemize}
\item<2-> apparait du slide 2 jusqu'à  la fin
\item<3-> apparait du slide 3 jusqu'à  la fin
\item<4-> apparait du slide 4 jusqu'à  la fin
\item<5-> apparait du slide 5 jusqu'à  la fin
\end{itemize}

Plages d’éléments d’une liste et éléments isolés: commandes \item<n-m> et \item<p>

Un exemple vaut mieux parfois qu’un long discours

\begin{itemize}
\item<2-> apparait du slide 2 jusqu'à  la fin
\item<2-4> apparait du slide 2 jusqu'au slide 4
\item<4> apparait au slide 4
\item<3-> apparait du slide 3 jusqu'à  la fin
\end{itemize}

\item<n-m> signifie que l’élément de la liste apparaitra du transparent (slide) n à  m; alors que \item<p> signifie que l’élément de la liste apparaitra lors du transparent (slide) p.

Vue de listes longues point par point: commande [<+->]

Il arrive parfois que les listes soient longues et qu’il soit pénible d’indiquer la commande \item<n->, on procède alors comme suit en utilsant [<+->]

\begin{itemize}[<+->]
\item L
\item A
\item T
\item E
\item X
\end{itemize}

Jusqu’ici nous travaillions sur des listes, à  présent nous allons voir comment procéder pour travailler avec du texte et des transparents.

Faire apparaitre et disparaitre du texte dans les slides: commandes \uncover<n->, \uncover<n-m> et \uncover<p>

\uncover<n-> fera apparaitre le texte depuis le slide n, \uncover<n-m> signifie que l’élément du texte apparaitra du transparent (slide) n à  m, enfin \uncover<p> signifie que le texte apparaitra lors du transparent (slide) p. Voici un exemple concret d’une page (frame) contenant la commande \uncover

\begin{frame}

\uncover<2->
{apparait du slide 2 jusqu'à  la fin\\}
\uncover<3-4>
{apparait du slide 2 jusqu'au slide 4\\}
\uncover<4>{apparait au slide 4\\}
\uncover<3->{apparait du slide 3 jusqu'à  la fin\\}

\end{frame}

Attention à  ne pas oublier les accolades apres la commande \uncover, la syntaxe est la suivante

\uncover<n>{...}
\uncover<n-m>{...}
\uncover<p>{...}

Faire apparaitre et disparaitre du texte dans les slides: commandes \only<n->, \only<n-m> et \only<p>

\only fonctionne comme \uncover excepté que la commande \only ne prend pas de place dans les transparents. Voici un exemple

\begin{frame}

\only<2->
{apparait du slide 2 jusqu'à  la fin\\}
\only<3-4>
{apparait du slide 2 jusqu'au slide 4\\}
\only<4>{apparait au slide 4\\}
\only<3->{apparait du slide 3 jusqu'à  la fin\\}

\end{frame}

Voici un autre exemple permettant de mieux appréhender les différences entre \only et \uncover

\begin{frame}

\begin{itemize}
\item Langage utilisé par Beamer: L\uncover<2->{A}TEX
\item Langage utilisé par Beamer: L\only<2->{A}TEX
\end{itemize}

\end{frame}

Rendre invisible du texte dans les slides: commandes \invisible

\invisible<n> rend invisible du texte au slide n

\begin{frame}

\invisible<2>{Ce texte sera invisible au slide 2 mais pas dans les autres}\\
Ce texte est visible tout le temps\\
\uncover<1->{Beamer} \uncover<2->{est}  \uncover<3->{super} \uncover<4->{puissant} 

\end{frame}

Offrir une alternative: commandes \alt<n>{…}{…}

Pour offrir une alternative, dans un slide on utilise \alt<n>{…}{…}. Le premier argument est la valeur au slide n, le second pour des valeurs différentes de n. Voici un exemple:

\alt<3>{Je suis au slide 3\\}{Je ne suis pas au slide 3\\}
\only<2->
{apparait du slide 2 jusqu'à  la fin\\}
\only<3-4>
{apparait du slide 2 jusqu'au slide 4\\}
\only<4>{apparait au slide 4\\}
\only<3->{apparait du slide 3 jusqu'à  la fin\\}

Mettre en rouge du texte à  un slide donné: commandes \alert<n>{…}

On utilise \alert<n>{…} pour faire apparaà®tre du texte en rouge au slide n, comme dans l’exemple ci dessous

\alert<1>{Ce texte} \alert<2>{est} \alert<3>{rouge}

Mettre en rouge successivement les éléments d’une liste donnée: commandes <+-| alert@+>

\begin{itemize}
\item <+-| alert@+> Robert De Niro
\item <+-| alert@+> Brian De Palma
\item <+-| alert@+> Gérard Depardieu
\item <+-| alert@+> Tux
\end{itemize}

Colorer du texte à  un slide donné: commandes \color<n->{…}{…}, \color<n-m>{…}{…} et \color<p>{…}{…}

Le premier argument est la couleur red, green, yellow, blue, etc … Le second est le texte à  colorier

Un peu de couleurs ...\\
\color<2>{green}{Couleur verte\\}
Super !!!

Créer des liens: commandes \hyperlink{…}{\beamergotobutton{…}}

Pour pouvoir définir des liens, il faut ajouter au préambule la commande suivante:

\usepackage{hyperref}

Ensuite on doit définir un label pointant sur le frame désiré par exemple:

\begin{frame}[label=MON_LABEL]
Le lien poitera vers ce frame
\end{frame}

à  vous de définir MON_LABEL ! Enfin, dans le frame où l’on veut créer le lien, on procède comme suit:

\hyperlink{MON_LABEL}{\beamergotobutton{Voir cette page}}

Là, c’est gagné puisqu’on voit apparaitre un bouton intitulé Voir cette page qui pointe vers le frame labélisé MON_LABEL.

\hyperlink{…}{\beamergotobutton{…}} prend pour premier argument le nom du label pointé et\beamergotobutton{…} prend donc pour argument le nom du bouton.

Définition de blocs à  l’intérieure des frames

Pour des objets importants, on peut définir des blocs comme suit:

\begin{block}{Titre du bloc}
Ceci est un block bleu
\end{block}

\begin{alertblock}{Titre du bloc alerte}
Ceci est un block rouge
\end{alertblock}

\begin{exampleblock}{Titre du bloc exemple}
Ceci est un block vert
\end{exampleblock}

Tout est dans l’exemple donc rien à  ajouter !!!

Affichage dynamique de tableaux: commandes \pause et \onslide<n->

Avant toute chose, il faut ajouter au préambule le package colortbl

\usepackage{colortbl}

Pour un affichage dynamique des lignes on utilisera la commande \pause comme dans l’exemple suivant:

\begin{tabular}{lcccc}
  Class & A & B & C & D \\\hline
  X     & 1 & 2 & 3 & 4 \pause\\
  Y     & 3 & 4 & 5 & 6 \pause\\
  Z     &5&6&7&8
\end{tabular}

Pour un affichage dynamique des colonnes, on utilisera \onslide<n-> comme suit

\begin{tabular}{lc<{\onslide<2->}c<{\onslide<3->}c<{\onslide<4->}c<{\onslide}c}
  Class & A & B & C & D \\
  X     & 1 & 2 & 3 & 4 \\
  Y     & 3 & 4 & 5 & 6 \\
  Z     &5&6&7&8
\end{tabular}

Écrire sur plusieurs colonnes: commandes \begin{columns}...\end{columns}

On procède comme suit pour deux colonnes:

\begin{columns}
\begin{column}[l]{5cm}
Première colonne
\end{column}
\begin{column}[r]{5cm}
Seconde colonne
\end{column}
\end{columns}

l,r,c désigne la position: left, right, center. La syntaxe est la suivante:

\begin{columns}
\begin{column}[position]{largeur de colonne}
...
\end{column}
\begin{column}[position]{largeur de colonne}
...
\end{column}
\end{columns}

Insérer une figure dans une présentation Beamer

Pour insérer une image ou une figure on procède comme en LateX, on utilise en l’occurence la commande \includegraphics. Voici un exemple:

\begin{figure}
   \includegraphics[options]{chemin_image}
\end{figure}

Sous Beamer il faut distinguer deux types de figures:

  • Type PS: .eps, .ps et type pspicture (LaTeX)
  • Type général: .pdf, .png, .jpg, .jpeg Cela va nous permettre de faire une transition sur la compilation d’un fichier de classe Beamer.

Compilation d’une présentation Beamer

Je suppose ici que le fichier sur lequel vous travaillez est fichier.tex. Suivant le type de figure que vous incluez, on aura deux types de compilation. Pour les figures de type PS, on utilisera les commandes suivantes pour la compilation

latex fichier.tex
latex fichier.tex
dvips fichier.dvi
ps2pdf fichier.ps

On obtiendra alors le fichier fichier.pdf.

Pour les figures de type général, on utilisera la commande

latex2pdf fichier.tex
latex2pdf fichier.tex

fichier.pdf sera alors généré.

Conclusion

Il serait bien trop long d’évoquer toutes les possibilités de Beamer, je vous renvoie donc à la documentation officielle.