La présentation de Jules César

Nous allons voir les principales fonctionnalités que vous utiliserez pour créer une présentation Beamer. Dans la suite, faites toutes les actions qui sont proposées pour voir le résultat final.

Le problème

Vous allez aider Jules César de l'Université de Rome à créer une présentation sur sa dernière trouvaille pour conquérir le village d'irréductibles gaulois. Il compte présenter cette trouvaille à la 23ème Conférence sur l'Empire Romain.

Le modèle

César va faire comme d'habitude lorsqu'il rédige un document LaTeX : il se base sur un modèle déjà existant pour créer sa présentation : exemple_beamer.tex. Il télécharge ce modèle dans le dossier "Mes Documents" et le renomme en presentation.tex. Il ouvre ensuite le fichier avec Texmaker.

Le fichier commence par :
\documentclass{beamer}
ce qui n'est pas très surprenant ... Sur la ligne suivante, César trouve :
\mode<presentation>
ce qu'il ne comprend pas. Il trouve encore d'autres commandes dont il ne connait pas le comportement. Il décide de les ignorer, en supposant qu'elles servent à quelque chose.

Le titre

La chose qui paraît logique est la manière dont le titre est renseigné, à l'aide de la commande \title. Il décide de la remplacer par :
\title{Comment conquérir ce village d'irréductibles gaulois ?}
La commande \title semble prendre un argument "court" entre crochets, mais César décide de ne pas définir de titre court.
César ajuste ensuite les champs \author et \date comme suit :
\author{J.~César de Rome}
\date[CER 50]{23\ieme\ Conférence sur l'Empire Romain, 50 ap. J.C.}
Pour la date, César pense que le nom de la conférence est un peu long, alors il décide de renseigner la version courte (CER 50). Il décide d'autre part d'ajouter son adresse mail. Il remplace donc la commande \author précédente par la suivante :
\author{J.~César de Rome\\ \texttt{cesar@empereur.it}}
Il y a ensuite deux champs dont il déduit rapidement le sens : \subtitle et \institute. Il ne remplit que le champ \institute car son exposé n'a pas de sous-titre. Pour cela, il supprime tout le bloc commençant par \institute et se terminant par Université d'Ailleurs} et le remplace par le bloc suivant :
\institute[Univ. Rome]
{
  Département de l'Empereur\\
  Université de Rome
}

La page de titre

La chose suivante qui semble intéressante est l'endroit où le premier transparent ("frame") est créé, juste après \begin{document}:
\begin{frame}
\titlepage
\end{frame}
Avec Beamer, une présentation consiste en une série de transparents ("frame" en anglais), chacun des transparents pouvant être composé de plusieurs couches ("overlays" en anglais).
Normalement, entre \begin{frame} et \end{frame}, se trouve un unique transparent. Aucun saut de page ne peut s'y trouver.
Vous venez de le comprendre : un transparent se trouve à l'intérieur d'un environnement frame. Ne mettez donc jamais du texte qui doit se trouver sur un transparent à l'extérieur de \begin{frame} ... \end{frame}.
Jules César conclut donc que le premier transparent est rempli par le titre, ce qui semble logique.

Créer une présentation en PDF

Plutôt que d'imaginer à quoi va ressembler la première page, César décide de compiler le document pour visualiser le rendu final.

Effectivement, la première page contient toutes les informations que Jules César avait renseignées. Il est impressionné par les couleurs, les coins arrondis, les ombres, ... mais il se demande s'il doit garder ce style ou en changer. Il reporte le problème à plus tard.

Jules se rend compte qu'il est possible de cliquer sur les titres de sections / sous-sections dans la barre de navigation. Il joue également avec les petits symboles cliquables en bas de chaque transparent.

La table des matières

Retour au document .tex. Le prochain transparent contient la table des matières :
\begin{frame}
\frametitle{Plan}
\tableofcontents
\end{frame}
Ce transparent possède un titre (Plan). Un commentaire invite César à ajouter l'option [pausesections]. Il teste donc :
\begin{frame}
\frametitle{Plan}
\tableofcontents[pausesections]
\end{frame}
Après avoir recompilé, il trouve, à la place d'un simple transparent, deux transparents : sur le premier, seule la première section apparaît ; sur le second, les deux apparaissent (en parcourant le document .tex, Jules trouvent effectivement plusieurs commandes \section qui introduisent les différentes sections). L'effet de l'option [pausesections] semble être le fait de pouvoir parler de la première section avant que la deuxième n'apparaisse.

Sections et sous-sections

Les commandes que César trouve ensuite sont :
\section{Motivation}
\subsection{Le problème étudié}
Ces commandes apparaissent à l'extérieur des transparents (i.e. en dehors d'un \begin{frame}...\end{frame}). Rappel : tout ce qui se trouve à l'extérieur de \begin{frame}...\end{frame} ne sera pas affiché sur un transparent. César en déduit que ces commandes n'ont pas d'effet direct, elles créent seulement des entrées dans la table des matières.
Il se rend compte rapidement que ce qu'il pensait n'est pas tout à fait correct : chaque commande \subsection semble insérer dans le document un transparent contenant la table des matières. En remontant dans le document, il en identifie la cause : la commande \AtBeginSubsection insère un transparent avec pour seule sous-section active, la sous-section courante. Jules César n'aime pas ce comportement : il décide de supprimer tout simplement tout le bloc \AtBeginSubsection.

Créer un simple transparent

Jules modifie le transparent suivant qui devient le "vrai" premier transparent de la présentation :
\begin{frame}
  \frametitle{Toute la Gaule n'est occupée par les Romains !}

  Un village peuplé d'irréductibles Gaulois résiste encore et
 toujours à l'envahisseur.
 
  Parmi ces gaulois, plusieurs sont à craindre :

  \begin{itemize}
  \item Astérix,
  \item Obélix,
  \item Panoramix.
  \end{itemize}

  Il faut conquérir ce village !
\end{frame}
César souhaite mettre en avant le fait qu'il faut absolument conquérir ce village en utilisant la commande \emph :
Il faut \emph{conquérir} ce village !
Il trouve cependant ceci trop "fade". Beamer offre la commande \alert qui par défaut met le texte en rouge.
Il faut \alert{conquérir} ce village !

Créer des couches (overlays) simplement

Le transparent semble convenir à César. Il souhaiterait malgré tout que les trois items de sa liste apparaissent l'un après l'autre, afin de pouvoir parler sur chacun avant que les suivants ne s'affichent. Il va donc créer des couches successives à l'aide de la commande \pause, en l'insérant entre les items :
\begin{itemize}
  \item Astérix, \pause
  \item Obélix, \pause
  \item Panoramix.
\end{itemize}
En  les faisant apparaître l'un après l'autre, il espère concentrer l'attention de l'audience sur chacun des items.
Jules César se rend également compte qu'il peut ajouter \pause n'importe où dans le transparent, par exemple entre la première et la deuxième phrase.

Utiliser les spécifications de couches

Son transparent suivant est destiné à montrer que son travail pour conquérir le village de gaulois est bien avancé, puisque ce dernier est déjà encerclé par quatre camps de romains :
\begin{frame}
\frametitle{L'encerclement}

Nous avons déjà commencé à encercler ce village par quatre camps :

\begin{itemize}
\item Babaorum (500 légionnaires),
\item Aquarium (800 légionnaires),
\item Laudanum (500 légionnaires),
\item Petibonum (650 légionnaires),
\item soit un total de 2450 légionnaires ! 
\end{itemize}

Avec ce nombre de légionnaires, nous ne pouvons que les vaincre !

\end{frame}
   
Jules César souhaite obtenir un comportement des couches un peu plus compliqué que précédemment. En effet, il souhaiterait voir apparaître le nom des camps un par un, mais souhaiterait aussi que le dernier item indiquant le nombre total de légionnaires soit apparent tout le temps. Il modifie donc son précédent transparent afin d'obtenir le suivant :
\begin{frame}
\frametitle{L'encerclement}

Nous avons déjà commencé à encercler ce village par quatre camps :

\begin{itemize}
\item<1-> Babaorum (500 légionnaires),
\item<2-> Aquarium (800 légionnaires),
\item<3-> Laudanum (500 légionnaires),
\item<4-> Petibonum (650 légionnaires),
\item<1-> soit un total de 2450 légionnaires ! 
\end{itemize}

Avec ce nombre de légionnaires, nous ne pouvons que les vaincre !

\end{frame}
   
Les spécifications  des couches sont données entre chevrons ("<" et ">"). La spécification "<1->" signifie "apparaît à partir de la couche n°1 jusqu'à la fin". Ainsi, le premier et le cinquième item apparaissent sur la première couche, les autres items n'apparaissant pas encore. Le second item apparait uniquement à partir de la deuxième couche et ainsi de suite. Beamer calcule automatiquement le nombre de couches nécessaires pour chaque transparent. Il existe plusieurs manières de définir les spécifications des couches ; nous le verrons plus tard.
La commande \item n'est pas la seule à prendre des spécifications de couches en paramètres. La commande \only permet de n'afficher une partie du texte que sur certaines couches. Faites un essai en ne faisant apparaitre la dernière phrase du transparent précédent qu'à partir de la 5ème couche :
\only<5->{Avec ce nombre de légionnaires, nous ne pouvons que les vaincre !}
Ainsi, la phrase ci-dessus n'apparaît que sur les couches n°5 et suivantes (s'il y en a plus). Sur les autres couches, la phrase est toute simplement absente : Beamer fait comme si le texte n'existait pas. Ceci conduit à la chose suivante : la hauteur du texte sur les couches n°1, 2, 3 et 4 n'est pas la même que sur la couche n°5. Vu que le texte est centré verticalement, ce dernier va "bouger" à l'apparition de la couche n°5. Vérifiez-le !
Une solution : Jules César peut utiliser l'option [t] qui permet de ne plus aligner le texte verticalement, mais de le faire apparaître en haut du transparent ("top") :
\begin{frame}[t]
\frametitle{L'encerclement}

...

\end{frame}
   

Structurer un transparent

Sur le transparent suivant, Jules César veut faire ressortir le premier résultat de ses investigations : comment préparer la potion magique. Il décide d'utiliser un environnement block, qui lui permet de mettre un titre de son choix :
\begin{frame}
\frametitle{La Potion Magique}
 
Nous avons obtenu quelques informations sur la potion
magique.

\begin{block}{Les ingrédients}
   \begin{itemize}
   \item du gui (cueilli avec une serpe d'or) \pause
   \item des fleurs des champs \pause
   \item un trèfle à quatre feuilles \pause
   \item un peu de poisson, raisonnablement frais \pause
   \item de l'huile de roche (une seule goutte suffit) \pause
   \end{itemize}
\end{block}
\end{frame}
Nous verrons plus tard comment modifier la couleur des blocs.

Plusieurs colonnes

César souhaite inclure, dans le transparent qu'il vient de réaliser, une image de la potion magique à côté du texte. Il passe par son moteur de recherche préféré pour trouver une image de la potion magique. Il utilise ensuite l'environnement columns. À l'intérieur de cet environnement, la commande \column{largeur} crée une nouvelle colonne de taille largeur :
\begin{frame}
\frametitle{La Potion Magique}
\begin{columns}
  \column{.5\textwidth}
  Nous avons obtenu quelques informations sur la
  potion magique.

  \includegraphics[width=\textwidth]{potion}

  \column{.5\textwidth}
  \begin{block}{Les ingrédients}
   \begin{itemize}
   \item du gui (cueilli avec une serpe d'or) \pause
   \item du sel \pause
   \item des fleurs des champs \pause
   \item un trèfle à quatre feuilles \pause
   \item un peu de poisson, raisonnablement frais \pause
   \item de l'huile de roche (une seule goutte suffit)
   \end{itemize}
  \end{block}
\end{columns}
\end{frame}
Jules César remarque que les commandes déjà vues telles que \pause ou \only fonctionnent ici aussi et permettent d'afficher chaque colonne une par une. 

Ajouter des références

Jules décide d'ajouter des références à un vieux grimoire dans lequel il a trouvé certaines données importantes concernant la potion magique, ainsi qu'à un article publié dans la gazette romaine. Il s'inspire de l'exemple de bibliographie donné dans le modèle beamer qu'il a récupéré au début.
Il remarque qu'avant de citer un livre, il est préférable de faire appel à la commande \beamertemplatebookbibitems afin de faire apparaitre l'icône d'un livre devant la citation. César devine rapidement que la commande \beamertemplatearticlebibitems doit être utilisée avant les articles afin de faire apparaitre l'icône d'un article.
Il remarque l'option [allowframebreaks] et il en déduit de suite son utilité : si le texte présent sur le transparent est trop long pour entrer sur un seul transparent, Beamer va créer plusieurs couches successives. César remarque également que si le transparent possède un titre, chaque couche possèdera ce titre agrémenté d'une note indiquant sur quelle couche nous nous trouvons. Vérifiez que c'est bien le cas sur la bibliographie fictive qui est fournie en exemple dans exemple_beamer.tex.
Il modifie donc la bibliographie fictive afin de produire sa propre bibliographie :
\begin{frame}[allowframebreaks]
\frametitle{Quelques lectures utiles}
\begin{thebibliography}{10}

\beamertemplatebookbibitems
\bibitem{grim}
Grossebaf Olaf, le mage
\newblock Le Grimoire de sorcellerie sacré,
\newblock \emph{Éditions magiques}, 20 av. J.C.

\beamertemplatearticlebibitems
\bibitem{gazette}
Bonus Ca\"ius
\newblock Les secrets de la potion gauloise dévoilés
\newblock \emph{La Gazette Romaine}, \textbf{vol. 1276}, octobre 18 av. J.C.
\end{thebibliography}
\end{frame}

Changer l'apparence : le thème

César a maintenant terminé sa présentation. Il décide de s'intéresser à l'apparence de ses transparents. En revenant au début du fichier .tex, il remarque la ligne suivante :
\usetheme{Warsaw}
Les thèmes préexistants portent des noms de villes. Les autres thèmes disponibles sont : AnnArbor, Antibes, Bergen, Berkeley, Berlin, Boadilla, CambridgeUS, Copenhagen, Darmstadt, Dresden, Frankfurt, Goettingen, Hannover, Ilmeneau, JuanLesPins, Madrid, Malmoe, Marburg, Montpellier, PaloAlto, Pittsburg, Rochester, Singapore, Szeged et Warsaw. Vous pouvez avoir une idée de l'apparence de la majeure partie de ces styles sur cette page http://mcclinews.free.fr/latex/beamergalerie/completsdetails1.html ou celle-là https://www.hartwork.org/beamer-theme-matrix/.
Chacun de ces thèmes prend des options diverses et variées. César s'appuie donc le manuel d'utilisation de Beamer, page 136 et suivantes, pour savoir quelles sont les options disponibles.
Il teste chacun des thèmes et choisit Goettingen. Le résultat lui convient.

Nous allons revenir sur l'utilisation des thèmes plus tard.

Le résultat

À ce point, la présentation de César ressemble à la présentation suivante. Et la vôtre ?