Blog-like notes

Présentation sur double écran avec Beamer

Je réalise le support de toutes mes présentations avec Beamer. Cette classe permet, entre autres fonctionnalités, de préparer un support affichant simultanément la diapositive à présenter et, sur un autre écran, des notes à destination de l’orateur.

La documentation de Beamer explique comment produire un tel support, ce qui est très simple au demeurant puisqu’il suffit d’ajouter les deux lignes suivantes dans le préambule :

\usepackage{pgfpages}
\setbeameroption{notes on second screen=left}

Les « pages » du fichier PDF résultant sont alors deux fois plus larges que celles d’une présentation normale, et contiennent chacune une diapositive sur la moitié droite, et les notes associées sur la partie gauche.

Malheureusement, avec les gestionnaires de fenêtres (Xfce et Awesome) et les lecteurs de PDF (Evince et Epdfview) que j’ai essayés, je ne suis pas parvenu à afficher un tel PDF sur deux écrans de telle sorte que les notes soient visibles sur l’un (l’écran de mon portable) et les diapositives sur l’autre (le vidéoprojecteur). Que ce soit avec Evince ou Epdfview, l’affichage en mode « plein écran » n’occupe obstinément qu’un seul des deux écrans.

Il est néanmoins possible de contourner le problème en jouant avec la configuration des écrans, et en tirant profit du fait que l’écran de mon ordinateur portable a une résolution de 1600×900.

L’idée consiste à afficher sur le vidéoprojecteur seulement une partie de ce qu’affiche l’écran interne, comme représenté sur la figure suivante :

Configuration des deux écrans

la partie foncée étant celle affichée par l’écran externe, tandis que l’écran interne affiche tout. En passant Evince ou Epdfview en mode « plein écran », on obtient donc, sur l’écran interne, l’affichage simultanée des notes (sur la moitié gauche) et des diapositives (sur la moitié droite), tandis que le vidéoprojecteur n’affiche que les diapositives.

Un tel affichage se configure en une seule ligne de commande avec XRandR :

$ xrandr --fb 1600x900 \
  --output LVDS1 --mode 1600x900 --primary \
  --output VGA1  --mode 800x600  --pos 800x150

cette commande pouvant presque littéralement se comprendre comme : définir la taille totale de l’affichage à 1600×900, afficher sur l’écran interne (la sortie LVDS1) la totalité de cette zone, afficher sur l’écran externe (la sortie VGA1) une région de 800×600 située à 800 pixels du bord gauche et 150 pixels du haut.