Beamer et TikZ sont dans un bateau

, par Maïeul

Beamer est une classe LaTeX qui permet de préparer des diaporamas pour des exposés ou des conférences. Elle remplace utilement Powerpoint, OOO Impress et autre Keynote.

J’ai commencé à m’en servir pour préparer un exposé sur les apocryphes chrétiens. J’ai souhaité le combiner avec TikZ qui permet de faire des graphiques en LaTeX.

Cet article veut expliquer comment je me suis servi de Beamer pour faire apparaître mon graphisme par morceau.

Création du graphisme

Voici mon code départ, avec le résultat obtenu. Les commentaires dans le code devrait suffire à comprendre.

Il s’agit d’expliquer l’étymologie du mot apocryphe : de « Ἀπο », loin de, et « Κρύτω », cacher.

Un affichage différé

Pour donner plus de dynamisme à l’exposé, je souhaiterais que l’étymologie complète du mot n’apparaisse pas du premier coups. Je voudrais avoir d’abord le mot, puis ensuite l’étymologie de sa première partie, puis celle de la second partie.

Pour cela je vais utiliser une syntaxe très utile de Beamer, qui permet de dire qu’une diapositive se compose de plusieurs couches, qui apparaîtront au fur à mesure, et qui permet de préciser quels élèments appartiennent à quels couche.

La syntaxe est relativement simple :

\commandelatex<a-b>

où a est la couche de départ sur laquelle la commande est executée, et b la couche final.

Concrètement dans mon cas, cela donne :

On obtient ainsi, pour une même diapositive, 3 couches successives :

Problème d’affichage

Tout ceci est plutôt pas mal … mais on constate un problème : d’une fois sur l’autre, les mots ne sont pas alignés, ce qui produit un effet assez désagréable.

L’explication tient à TikZ. Un graphisme TikZ a pour largeur la largeur minimale nécéssaire à l’affichage de l’ensemble des éléments [1].

Hors sur la couche 1, la largeur minimale nécessaire est plus petite que sur les autres couches, puisqu’on a simplement le mot à définir.

Sur la couche 2, la largeur est plus importante que sur la couche 1, mais moins que sur la couche 3, puisque seul une partie de l’étymologie est affichée.

Comment faire ?

L’astuce consiste, tout simplement, à afficher ces morceaux d’étymologie dès le début, mais en blanc. On n’affichera en couleurs qu’au moment voulu.

Il faut utiliser l’environnement overprint comme expliqué dans mon nouvel article.

Je laisse ci dessous mon ancien code.

P.-S.

Pour débuter avec Beamer, voir ce tutoriel.

Notes

[1De même pour la hauteur