Commit 0319db20 authored by Cédric Ware's avatar Cédric Ware
Browse files

Rationalize logo handling.

parent d0163bd7
......@@ -119,35 +119,78 @@
% Déclaration des logos.
%
% le logo de la page de titre
\pgfdeclareimage[width=\titlelogowidth]{LogoFirst}{logo-tp-ipp.pdf}
% pour positionner ce logo par rapport au coin sup. gauche
% Macro auxiliaire pour définir une macro de définition de logo pouvant
% utiliser \includegraphics ou du code arbitraire :
% \tpt@deflogographics{nomdu}{espace}{arg-défaut} définit
% \nomduLogo[arg-défaut]{contenu (nom de fichier} et
% \nomduLogo*{contenu (code brut)}, lesquelles définissent
% \insertnomduLogo = soit le code brut (pour \nomduLogo*),
% soit \hspace*{espace}\includegraphics[arg-défaut]{contenu (nom de fichier)}
% (pour \nomduLogo).
%
% De plus, \tpt@deflogographics* fait la même chose mais en utilisant
% une définition globale (avec \gdef) alors que \tpt@deflogographics
% fait des définitions locales (avec \def).
\newcommand*\tpt@deflogographics{%
\@ifstar{\tpt@deflogographics@def{\gdef}}{\tpt@deflogographics@def{\def}}%
}
\newcommand*\tpt@deflogographics@def[4]{%
%
% Différenciation entre \nomdulogo et \nomdulogo*.
\expandafter\def\csname #2Logo\endcsname{%
\@ifstar{%
\csname tpt@#2@logo\endcsname}{%
\csname tpt@#2@logo@graphics\endcsname}%
}%
%
% \nomdulogo*{...} est prise en charge par \tpt@nomdu@logo,
% laquelle définit directement \insertnomdulogo à {...}.
\expandafter\newcommand\csname tpt@#2@logo\endcsname[1]{%
% Ici #1 est le paramètre de la macro externe, donc \def ou \gdef ;
% et ##1 est le paramètre qu'on donne à \nomdulogo, donc le contenu.
\expandafter #1\csname insert#2Logo\endcsname{##1}%
}%
%
% \nomdulogo[arg]{...} est prise en charge par \tpt@nomdu@logo@graphics,
% laquelle relaie à \tpt@nomdu@logo, avec pour contenu :
% l'espace donné dans #3 + \includegraphics.
\expandafter\newcommand\csname tpt@#2@logo@graphics\endcsname[2][#4]{%
\csname tpt@#2@logo\endcsname{%
\hspace*{#3}\includegraphics[##1]{##2}%
}%
}%
}
%
% Logos de la page de titre : principal et éventuellement extra en-dessous.
\tpt@deflogographics{title}{0pt}{width=\titlelogowidth}
\titleLogo{logo-tp-ipp.pdf}
\tpt@deflogographics{extra}{0pt}{width=\titlelogowidth}
\newcommand\extralogo{\extraLogo*}% Compatibilité ascendante.
\extralogo{}
% Pour positionner ce logo par rapport au coin supérieur gauche.
\newcommand\logoskipv{.12\paperheight}
\newcommand\logoskiph{.10\paperwidth}
% Pour ajouter quelque chose sous le logo de la page de titre
\newcommand\extralogo[1]{\gdef\insertextralogo{#1}}
\extralogo{}
% Pour modifier les logos des affiliations.
% FIXME rationaliser.
% Logo de l'affiliation.
\tpt@deflogographics{TitleAff}{0pt}{width=\titleaffiliationlogowidth}
\TitleAffLogo*{}
% Au cas où le nom du fichier contiendrait des _ on passe par une macro pour modifier
% son interprétation
\def\affiliationlogoinfooter{\begingroup\catcode`\_=12 \@REALaffiliationlogoinfooter}
\newcommand*\@REALaffiliationlogoinfooter[2][height=\footerlogoheight]{%
\gdef\insertAffLogo{\includegraphics[#1]{#2}}%
\endgroup%
}
\def\insertAffLogo{}
%
% Logos de bas de page : principal et éventuellement affiliation supplémentaire.
\tpt@deflogographics{Main}{0pt}{height=\footerlogoheight}
\MainLogo{logo-tp-ipp}
\tpt@deflogographics{Aff}{1em}{height=\footerlogoheight}
\AffLogo*{}
\def\affiliationlogointitle{\begingroup\catcode`\_=12 \@REALaffiliationlogointitle}
\newcommand\@REALaffiliationlogointitle[2][width=\titleaffiliationlogowidth]{%
\gdef\insertTitleAffLogo{\includegraphics[#1]{#2}}%
\endgroup%
}
\def\insertTitleAffLogo{}
% Compatibilité ascendante.
\newcommand\affiliationlogoinfooter\AffLogo
\newcommand\affiliationlogointitle\TitleAffLogo
\logo{\includegraphics[height=\footerlogoheight]{logo-tp-ipp}}
% Ensemble des logos de bas de page.
\logo{\insertMainLogo\iftpt@affiliation\insertAffLogo\fi}
% .3 cm pour un beamer standard de 9.6cm de haut
\newcommand\footlineheight{0.03125\paperheight}
......@@ -210,10 +253,10 @@
\begin{column}{.4\paperwidth}
\begin{minipage}[t][\paperheight][t]{\textwidth}%
\vspace{\logoskipv}\par%
\hspace{\logoskiph}\pgfuseimage{LogoFirst}\par%
\hspace{\logoskiph}\inserttitleLogo\par%
\vspace{4mm}%
\hspace{\logoskiph}\usebeamercolor[fg]{title}\usebeamerfont{title}{%
\insertextralogo
\insertextraLogo
}\par%
\vfill{}\vfill{}%
\iftpt@titleaffiliation
......@@ -355,7 +398,7 @@
\defbeamertemplate*{footline}{tpt default}{%
%
% On commence par typesetter le logo pour calculer la largeur restante.
\sbox\tpt@tempbox{\insertlogo\iftpt@affiliation\hspace{1em}\insertAffLogo\fi}%
\sbox\tpt@tempbox{\insertlogo}%
\setlength\@tempdima{\dimexpr \paperwidth - \wd\tpt@tempbox \relax}%
%
% Une petite marge verticale entre le corps du texte et le bas de page.
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment