Beamer : modifier un thème
modifié le 22/12/2008
La beamercolorbox
Voir chapitre 12.5 du beameruserguide.pdf
Cette boîte de couleur est trés utilisée dans les thèmes externes et internes de beamer, elle est fournie par l'environnement suivant :
\begin{beamercolorbox}[options]{beamer color} Contenu de la boîte \end{beamercolorbox}
Si la couleur de fond de {beamer color} n'est pas précisée, c'est équivalent à un fond transparent
Les options peuvent être :
wd
=dimension : la largeur de la boîte (maximum affichable \textwidth)dp
=dimension : fixe la profondeur de la boîte (surclasse la profondeur "réelle")ht
=dimension : la hauteur de la boîte (n'inclut pas la profondeur)left
: texte aligné à gauche (défaut)right
: texte aligné à droitecenter
: texte centré dans la boîteleftskip
=dimension : espace inséré à gauche de chaque lignerightskip
=dimension : espace inséré à droite de chaque lignesep
=dimension : espace supplémentaire à gauche et à droite du texte (à l'intérieur de la boîte texte)colsep
=dimension : identique à sep mais uniquement si la boîte possède une coukeur de fondcolsep*
=dimension : identique à colsep mais à l'extérieur de la boîteshadow
=true ou false : ombrage. Par défaut =falserounded
=true ou false : coins arrondis. Par défaut =falseignorebg
: la couleur de fond est ignorée, comme un fond transparentvmode
: place TeX en mode vertical - réservé à ceux qui savent ce que cela veut dire :)
Si j'ai mal interprété certaines options, n'hésitez pas à me le signaler, merci.
L'exemple suivant permet de créer un entête de deux lignes, l'une avec le titre du document, l'autre contenant le nom de l'auteur :
\begin{beamercolorbox}[ht=2.5ex,dp=1ex,center]{title in head/foot} \usebeamerfont{title in head/foot} \insertshorttitle \end{beamercolorbox}% \begin{beamercolorbox}[ht=2.5ex,dp=1ex,center]{author in head/foot} \usebeamerfont{author in head/foot} \insertshortauthor \end{beamercolorbox}
On peut dire que la beamercolorbox
est intensément utilisée dans la création des en-têtes et pieds de page. Le pied de page en particulier en juxtapose plusieurs à l'horizontale comme le montre l'extrait (simplifié) du thème externe split
, la somme de leurs largeurs ne doit pas dépasser la largeur de \paperwidth
.
\defbeamertemplate*{footline}{split theme} {% \leavevmode% ***quitter le mode vertical, important !*** \begin{beamercolorbox}[wd=.5\paperwidth]{author in head/foot}% \insertshortauthor \end{beamercolorbox}% \begin{beamercolorbox}[wd=.5\paperwidth]{title in head/foot}% \insertshorttitle \end{beamercolorbox}% }
Bricolages
Bricolages avec le titre de page pour tester quelques effets. Dans l'ensemble, il m'a fallu pas mal tâtonner pour trouver les bonnes dimensions d'écart. Il y a sûrement une méthode plus rationnelle !
Beamerbox avec un dessin en fond de boîte
\defbeamertemplate*{frametitle}{inversevideo} { \begin{beamercolorbox}[sep=0ex,ht= 2.5ex, wd=\paperwidth]{} \vbox to 2.5ex{% \includegraphics[width=\paperwidth, height=3.5ex]{redrule2}% \vss \hspace{1ex}\insertframetitle{}% }% \end{beamercolorbox}% }
Beamerbox incluse dans une beamerbox
\defbeamertemplate*{frametitle}{inversevideo} {% \@tempdima=\textwidth% largeur boite interne \advance\@tempdima by -1ex \begin{beamercolorbox}[wd=\textwidth, ht=3.5ex, sep=0.1ex, rounded=true, center]{bordure} \begin{beamercolorbox}[colsep=0.1ex, sep=0.2ex, ht=2.5ex, wd=\@tempdima, rounded=true]{frametitle} \insertframetitle{} \end{beamercolorbox} \end{beamercolorbox} }
Beamerbox dans une beamerbox de même largeur
Ce qui donne un effet un peu curieux.
\defbeamertemplate*{frametitle}{inversevideo} {% \begin{beamercolorbox}[ht=3.4ex, rounded=true]{bordure} \begin{beamercolorbox}[colsep=0.3ex, ht=2.5ex, rounded=true]{frametitle} \insertframetitle{} \end{beamercolorbox} \end{beamercolorbox} }