Commit 35fa977b authored by Cédric Ware's avatar Cédric Ware
Browse files

Document options via source comments and more demos in the presentation.

Clean up comments, fix typos.
parent 0319db20
\documentclass[aspectratio=169]{beamer}
% Codage. Ajuster en fonction de votre éditeur. Supprimer avec LuaTeX.
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{graphicx}
\usepackage[french]{babel}
% Thème Beamer Télécom Paris. Nombreuses options disponibles,
% cf. commentaires ci-dessous et slides de démonstration dans
% corps du document.
\mode<presentation>
\usetheme{tptnew}
\usepackage{booktabs}
% Quelle fontes de caractères
%\usepackage{lmodern}
\usepackage{inconsolata}
% Les options s'utilisent via \usetheme ci-dessus, ou bien via \tptthemekeys.
% P.ex. \tptthemekeys{visual} est équivalent à \usetheme[visual]{tptnew}.
%
% Options simples :
%
% • official (défaut) copie fidèlement la charte graphique officielle.
% • visual rend la charte plus lisible, notamment le contraste des gris.
% • slim réduit l'encombrement du titre des frames.
% • nohelvet garde les polices par défaut.
% • latex garde les polices par défaut et les symboles de navigation Beamer.
% pour insérer directement des fig
\usepackage{figlatex}
% où se trouvent les images
\graphicspath{{images/}{pdfs/}{figs/}{svgs/}{odgs/}}
% Gestion des fontes. (FIXME incompatible LuaTeX.)
\usepackage[T1]{fontenc}
%\usepackage{lmodern}% Recommandé si vous activez l'option latex ou nohelvet.
\usepackage{inconsolata}% Pour la police monospace (p.ex. pour l'adresse mail).
% pour ne pas mettre l'extension des images
% Gestion des images. Le thème a déjà chargé graphicx. Pour préciser
% les dossiers où se trouvent les images, et ne pas avoir à spécifier
% leur extension dans les noms de fichiers :
\graphicspath{{images/}{pdfs/}{figs/}{svgs/}{odgs/}}
\DeclareGraphicsExtensions{.fig,.pdf,.png,.jpg}
% Texte de remplissage.
\usepackage{lipsum}
% Pour insérer directement des images au format .fig :
\usepackage{figlatex}
% beamer theme
\mode<presentation>
% If you want headline with section list
%\usetheme[infolines]{tptnew}
% default without affiliations
%\usetheme{tptnew}
% If you want to add affiltation logos
%\usetheme[logosaclay]{tptnew}
\usetheme[logoipp]{tptnew}
% If tpt is affiliated to a new entity, just give the new logos
% You can also have custom versions
%\usetheme[affiliation, titleaffiliation]{tptnew}
%\affiliationlogoinfooter{logo-IPP-small-red}
%\affiliationlogointitle{logo-IPP-small-red}
%\affiliationlogointitle{logo-IPP-large}
% Divers : typographie française, gestion des tables, texte de remplissage.
\usepackage[french]{babel}
\usepackage{booktabs}
\usepackage{lipsum}
%%------------------------------------------------------------------------------
%% Faire apparaitre le plan à chaque section
% Faire apparaître le plan à chaque section et sous-section :
\AtBeginSection[]{
\contentsframe[currentsection]
}
......@@ -62,9 +63,10 @@
\author{Graba Tarik}
\email{tarik.graba@telecom-paris.fr}
\institute{COMELEC--SEN}
% Additional logo in the title page (conf, event...)
%\extralogo{\includegraphics[width=2cm]{logo-cnrs}}
\date{}
% Logo additionnel sur la page de titre (pour une conf ou un évènement).
%\extraLogo[width=2cm]{logo-cnrs}
%------------------------------------------------------------------------------
\begin{document}
......@@ -72,17 +74,103 @@
\begin{frame}
\frametitle{Présentation standard}
\lipsum[1]
\begin{itemize}
\item Charte graphique officielle :
\begin{itemize}
\item Boîtes en bas de page
\item Frise de titre du frame
\item Police Helvetica (ou FIXME)
\item Logo Télécom Paris + IP Paris
\end{itemize}
\item Rupture avec la tradition \LaTeX :
\begin{itemize}
\item Police imposée
\item Pas de symboles de navigation Beamer
\end{itemize}
\end{itemize}
\end{frame}
%% Stop ici pour la documentation (voir Makefile).
{
\tptthemekeys{latex,visual,slim,framecount}
\begin{frame}
\frametitle{Présentation \LaTeX{}ifiée et plus lisible}
\begin{itemize}
\item Option ``\texttt{latex}'' :
\begin{itemize}
\item Police Computer Modern ou Latin Modern
\item Symboles de navigation Beamer
\item Puces Beamer
\end{itemize}
\item Option ``\texttt{visual}'' :
\begin{itemize}
\item Gris plus foncé pour plus de contraste
\end{itemize}
\item Option ``\texttt{slim}'' :
\begin{itemize}
\item Réduit l'encombrement vertical
\end{itemize}
\item Option ``framecount'' :
\begin{itemize}
\item Affiche le nombre total de pages avec le nº
\end{itemize}
\item Autres options disponibles, voir la suite !
\end{itemize}
\end{frame}
}
% On doit recalculer les dimensions quand on a touché à l'en-tête
% ou au pied de page.
\tptcalculateheadfoot
%------------------------------------------------------------------------------
\section[Options]{Démonstration des options}
%------------------------------------------------------------------------------
\subsection[simples]{Options simples}
%------------------------------------------------------------------------------
{
\tptthemekeys{nohelvet,nonavsymbols}
\tptthemekeys{navsymbols=right}
\begin{frame}
\frametitle{Avec polices et sans symboles Beamer}
\frametitle{Avec polices symboles Beamer alignés à droite}
\lipsum[1]
\end{frame}
}
{
\tptthemekeys{infolines}
\setbeamercolor{section in head/foot}{bg=tptred!20!white}
\setbeamercolor{subsection in head/foot}{bg=gray!50!white}
\begin{frame}
\frametitle{Avec les sections en en-tête}
\framesubtitle{(Active automatiquement l'option \texttt{slim})}
\lipsum[2]
\end{frame}
}
{
\tptthemekeys{logosaclay}
\begin{frame}
\frametitle{Avec le logo de Paris-Saclay}
\framesubtitle{(Par exemple pour des masters partagés)}
\lipsum[3]
\end{frame}
}
{
\tptthemekeys{logoipp}
\begin{frame}
\frametitle{Avec le logo de l'IP Paris séparé}
\framesubtitle{(pour compatibilité ascendante)}
\lipsum[4]
\end{frame}
}
\tptcalculateheadfoot
%------------------------------------------------------------------------------
\subsection[complexes]{Options complexes}
%------------------------------------------------------------------------------
{
\tptthemekeys{bodyframecount}
\setlength{\tptbottomboxesheight}{10pt}
......@@ -99,7 +187,7 @@
\begin{frame}
\frametitle{Moins encombré, et avec le nombre de pages
(... et d'autres couleurs !)}
\lipsum[3]
\lipsum[5]
\end{frame}
}
\tptcalculateheadfoot
......@@ -110,46 +198,48 @@
\frametitle{Avec la frise alignée...}
\framesubtitle{... sur le sous-titre, voir la ligne%
\llap{\rule{20em}{0.4pt}}}
\lipsum[4]
\lipsum[6]
\end{frame}
}
%------------------------------------------------------------------------------
\section[1e] { 1e Section }
%------------------------------------------------------------------------------
\subsection[1su] { Sous section 1}
\subsection[1su] { Sous section 1 : texte}
%------------------------------------------------------------------------------
\begin{frame}
\frametitle{First Frame}
\begin{itemize}
\item bla bla bla
\item \lipsum[7][1]
\begin{itemize}
\item bla bla bla
\item bla bla bla
\item \lipsum[7][2]
\item \lipsum[7][3]
\end{itemize}
\item bla bla bla
\item \lipsum[7][4]
\end{itemize}
\end{frame}
%------------------------------------------------------------------------------
\begin{frame}
\frametitle{an other Frame}
\frametitle{Another Frame}
\framesubtitle{sub title}
\begin{itemize}
\item bla bla bla
\item \lipsum[8][1]
\begin{itemize}
\item bla bla bla
\item bla bla bla
\item \lipsum[8][2]
\item \lipsum[8][3]
\end{itemize}
\item bla bla bla
\item \lipsum[8][4]
\end{itemize}
\end{frame}
%------------------------------------------------------------------------------
\subsection { Sous section 2 : illustrations}
%------------------------------------------------------------------------------
\begin{frame}
\frametitle{an other Frame}
\frametitle{Another Frame}
\begin{center}
\includegraphics[width=\textwidth]{cycii_PLL}
......@@ -158,7 +248,7 @@
\end{frame}
%------------------------------------------------------------------------------
\begin{frame}
\frametitle{an other Frame from an \texttt{odg}}
\frametitle{Another Frame from an \texttt{odg}}
\begin{center}
\includegraphics[height=.8\textheight,width=\textwidth,keepaspectratio]{diag}
......@@ -175,10 +265,8 @@
\end{frame}
%------------------------------------------------------------------------------
\subsection { Sous section 2}
%------------------------------------------------------------------------------
\begin{frame}
\frametitle{an other Frame}
\frametitle{Another Frame : Fig illustration}
\begin{center}
\includegraphics[width=\textwidth]{fpga-dff}
......@@ -186,11 +274,12 @@
\end{frame}
%------------------------------------------------------------------------------
\section[2e] { 2e Section }
\section[2e] { 2e Section : blocs }
%------------------------------------------------------------------------------
\begin{frame}
\frametitle{First Frame}
\frametitle{Block Frame}
\begin{block}{This is a block}
\begin{itemize}
\item bla bla bla
\begin{itemize}
......@@ -199,14 +288,14 @@
\end{itemize}
\item bla bla bla
\end{itemize}
\end{block}
\end{frame}
%------------------------------------------------------------------------------
\subsection { Sous section 1}
%------------------------------------------------------------------------------
\begin{frame}
\frametitle{an other Frame}
\frametitle{AlertBlock Frame}
\begin{alertblock}{This is a block}
\begin{itemize}
\item bla bla bla
\begin{itemize}
......@@ -215,57 +304,59 @@
\end{itemize}
\item bla bla bla
\end{itemize}
\end{alertblock}
\end{frame}
%------------------------------------------------------------------------------
\subsection { Sous section 2}
%------------------------------------------------------------------------------
\begin{frame}
\frametitle{an other Frame}
\begin{itemize}
\item bla bla bla
\begin{itemize}
\item bla bla bla
\item bla bla bla
\end{itemize}
\item bla bla bla
\end{itemize}
\frametitle{Parfois le bloc dépasse...}
\begin{alertblock}{This is a block}
\lipsum[9-12]
\end{alertblock}
\end{frame}
%------------------------------------------------------------------------------
\section[3e] { 3e Section }
%------------------------------------------------------------------------------
\begin{frame}
\frametitle{Block Frame}
\begin{block}{This is a block}
\begin{itemize}
\item bla bla bla
\begin{itemize}
\item bla bla bla
\item bla bla bla
\end{itemize}
\item bla bla bla
\end{itemize}
\end{block}
\begin{frame}[plain]
\frametitle{... mais on peut toujours désactiver le pied de page}
\begin{alertblock}{This is a block}
\lipsum[13-16]
\end{alertblock}
\end{frame}
%------------------------------------------------------------------------------
\section{\appendixname : Documentation pour usage avancé}
%------------------------------------------------------------------------------
\appendix
\tptthemekeys{bodyframecount}
\begin{frame}
\frametitle{AlertBlock Frame}
\begin{alertblock}{This is a block}
\begin{itemize}
\item bla bla bla
\frametitle{Autres options}
\begin{itemize}
\item bla bla bla
\item bla bla bla
\item \texttt{bodyframecount} affiche le nombre total de pages
\emph{hors annexe} (regardez ci-dessous et le frame suivant
pour voir la différence).
\item \texttt{navsymbols=left|center|right} active les symboles de
navigation et spécifie leur alignement latéral (défaut \texttt{left}).
\item \texttt{nonavsymbols} désactive les symboles de navigation.
\item \texttt{align frametitle=}<\textrm{\textit{option}}> spécifie
l'alignement vertical du titre du frame par rapport à la frise :
\begin{itemize}
\item \texttt{baseline} : 1\textsuperscript{re} ligne du titre ;
\item \texttt{bottom baseline} : dernière ligne du titre ;
\item \texttt{bottom} : dessous du titre (pas pareil que la
baseline p.\,ex.\ avec un p ou un g) ;
\item \texttt{subtitle bottom, subtitle bottom baseline}
comme \texttt{bottom} et \texttt{bottom baseline} mais
avec le sous-titre.
\end{itemize}
\item \texttt{frametitle yshift=}<\textrm{\textit{dimension}}> :
ajuste l'alignement vertical du titre du frame.
\item \texttt{frametitle yshift if subtitle=}<\textrm{\textit{dimension}}> :
comme \texttt{frametitle yshift} mais seulement en présence
d'un sous-titre.
\end{itemize}
\item bla bla bla
\end{itemize}
\end{alertblock}
\end{frame}
\tptthemekeys{framecount}
\begin{frame}
\frametitle{Dimensions modifiables}
\end{frame}
\end{document}
......@@ -7,25 +7,66 @@
\newcommand\tptthemekeys[1]{\pgfqkeys{/tpt theme}{#1}}
\newcommand\tptthemevalueof[1]{\pgfkeysvalueof{/tpt theme/#1}}
\RequirePackage{pgffor}
\RequirePackage{graphicx}
\RequirePackage{xcolor}
% Police Helvetica par défaut, mais on sauve la police sans-serif d'avant
% s'il y en a une (sinon c'est cmss).
\let\tpt@save@sffamily=\sfdefault
\RequirePackage{helvet}
% On charge le thème infolines (puis on le désactive) pour que ses
% templates soient disponibles.
\RequirePackage{beamerouterthemeinfolines}
\setbeamertemplate{headline}[default]
\setbeamertemplate{footline}[default]
% Désactivation de la sidebar par défaut, packages divers.
\defbeamertemplate*{sidebar right}{tpt default}{}
\RequirePackage{pgffor}
\RequirePackage{graphicx}
\RequirePackage{xcolor}
% Options du package.
\newif\iftpt@infolines\tpt@infolinesfalse
\newif\iftpt@navsymbols\tpt@navsymbolstrue
\newif\iftpt@titleaffiliation\tpt@titleaffiliationfalse
\newif\iftpt@affiliation\tpt@affiliationfalse
\tptthemekeys{%
infolines/.code={%
\tpt@infolinestrue
\setlength{\tptframetitlefriezesep}{1.5mm}%
%
% On définit ici ce que font les options, mais on ne les traitera
% qu'à la fin du package : comme la plupart spécifient des macros
% ou templates Beamer non encore définis, on attend qu'ils le soient.
% Donc ne pas spécifier ici de valeurs par défaut pour celles-là.
%
% Option official par défaut : pas de symboles de navigation,
% logo Télécom avec endossement IP Paris, affiliation IMT dans
% la page de titre, pas de nombre total de pages.
official/.style={nonavsymbols,titleaffiliation,framecount=false,official@},
official@/.code={%
\MainLogo{logo-tp-ipp}%
\affiliationlogointitle{logo-IMT}%
},
%
% latex : garde les polices et symboles Beamer par défaut.
latex/.style={navsymbols,nohelvet,latex@},
latex@/.code={\setbeamertemplate{itemize items}[default]},
%
% visual : utilise un gris plus foncé pour les boîtes et sous-titre.
visual/.code={%
\colorlet{tptgray}{black!60}%
{\usebeamercolor{title in head/foot}}% Needed to reset frame title frieze.
},
%
% slim : réduit l'encombrement vertical des frames.
slim/.code={\setlength{\tptframetitlefriezesep}{1.5mm}},
%
% infolines : affiche les sections en en-tête. Utilise l'option slim.
infolines/.style={slim,infolines@},
infolines@/.code={%
\setbeamertemplate{headline}[infolines theme]%
\tptcalculateheadfoot
},
%
% Symboles de navigation. En plus de les activer ou les désactiver,
% on peut les aligner latéralement (met le contenu de "navsymbols align"
% comme option de la beamercolorbox qui contient les symboles).
navsymbols/.is choice,
navsymbols/.default=left,
navsymbols/left/.style={navsymbols enable,navsymbols align=left},
......@@ -35,36 +76,57 @@
navsymbols align={},
navsymbols enable/.code={%
\setbeamertemplate{navigation symbols}[default]%
\tpt@navsymbolstrue},
\tpt@navsymbolstrue
\tptcalculateheadfoot
},
nonavsymbols/.code={%
\setbeamertemplate{navigation symbols}{}%
\tpt@navsymbolsfalse},
\tpt@navsymbolsfalse
\tptcalculateheadfoot
},
%
% Logos et affiliations. Ces options contrôlent les logos de
% pied de page et de la page de titre.
titleaffiliation/.is if=tpt@titleaffiliation,
affiliation/.is if=tpt@affiliation,
logosaclay/.code={%
\affiliationlogoinfooter{logo-upsay-e}
\affiliationlogointitle{logo-upsay-violet}
\tpt@affiliationtrue
\tpt@titleaffiliationtrue
logosaclay/.style={affiliation,titleaffiliation,logosaclay@},
logosaclay@/.code={%
\affiliationlogoinfooter{logo-upsay-e}%
\affiliationlogointitle{logo-upsay-violet}%
\tptcalculateheadfoot
},
logoipp/.code={%
\affiliationlogoinfooter{logo-IPP-small}
\affiliationlogointitle{logo-IMT}
\tpt@affiliationtrue
\tpt@titleaffiliationtrue
%
% logoipp, pour la compatibilité ascendante, sépare les logos
% Télécom et IP Paris.
logoipp/.style={affiliation,titleaffiliation,logoipp@},
logoipp@/.code={%
\MainLogo{tp}%
\affiliationlogoinfooter{logo-IPP-small}%
\setlength{\footerlogoheight}{.05118\paperwidth}%
\tptcalculateheadfoot
},
%
% Police Helvetica (ou non).
helvet/.is choice,
helvet/.default=true,
helvet/false/.code={\let\sfdefault=\tpt@save@sffamily\normalfont},
helvet/true/.code={\renewcommand\sfdefault{phv}\normalfont},
nohelvet/.style={helvet=false},
%
% Affichage du nombre total de pages (framecount), éventuellement
% sans tenir compte des annexes (bodyframecount), avec le nº de page.
framecount/.is choice,
framecount/false/.code={\setbeamertemplate{page in head/foot}[plain]},
framecount/true/.code={\setbeamertemplate{page in head/foot}[total]},
framecount/body/.code={\setbeamertemplate{page in head/foot}[body]},
framecount/.default=true, % "framecount" seul veut dire "framecount=true"...
framecount=false, % ... mais par défaut il est mis à "false".
framecount/.default=true, % "framecount" seul veut dire "framecount=true".
bodyframecount/.style={framecount=body},
%
% Alignement du titre de frame sur la frise. Peut se faire sur
% la 1re ou la dernière ligne du titre (alignframetitle=baseline,
% ou =bottom baseline), ou le dessous du titre (=bottom), ou la
% dernière ligne ou le dessous du sous-titre (=subtitle bottom baseline,
% =subtitle bottom).
alignframetitle/.style={%
alignframetitle@template=#1,
frame title yshift=0pt,
......@@ -75,8 +137,16 @@
\setbeamertemplate{frametitle content box}[#1]%
},
alignframetitle@template/.value required,
%
% Alias pour ceux qui trouvent plus lisibles les espaces dans les options.
align frametitle/.style={alignframetitle=#1},
align frame title/.style={alignframetitle=#1},
%
% Ajustements fins de l'alignement du titre de frame :
% frametitleyshift=<dimension> décale le titre vers le haut,
% frametitleyshiftifsubtitle=<dimension> idem mais uniquement
% s'il y a un sous-titre. Des alias avec espaces sont fournis.
% Par défaut frametitleyshiftifsubtitle=8pt (défini plus bas).
frametitleyshift/.code={%
\setlength{\tptframetitleyshift}{#1}},
frametitleyshift/.value required,
......@@ -105,15 +175,7 @@
% Taille des logos en bas de page.
\tpt@deflength{\footerlogomargin}{1em}% Marge horizontale droite.
\tpt@deflength{\footerlogoheight}{.05118\paperwidth}% Hauteur des logos.
\AtEndOfPackage{%
% La hauteur est 5% de la page s'il y a des logos d'affiliation, 7,8% sinon.
% FIXME Est-ce vraiment ce qu'on veut ?
% FIXME Ne fonctionne pas si les logos sont modifiés au vol dans le document.
\ifx\insertAffLogo\@empty
\setlength{\footerlogoheight}{.07812\paperwidth}%
\fi
}
\tpt@deflength{\footerlogoheight}{.07812\paperwidth}% Hauteur des logos.
%
% Déclaration des logos.
......@@ -204,21 +266,22 @@
\definecolor{tptred}{RGB}{191,18,56}
\definecolor{tptbrown}{RGB}{109,80,71}
\colorlet{tptgray}{black!40}
\setbeamercolor{frametitle}{fg=tptred,bg=white}
\setbeamercolor{structure}{fg=tptred}
\setbeamercolor{title}{bg=white,fg=black}
\setbeamercolor{subtitle}{bg=white,fg=black!40}
\setbeamercolor{author in title frame}{bg=white,fg=black!40}
\setbeamercolor{mail in title frame}{bg=white,fg=black!40}
\setbeamercolor{date in title frame}{bg=white,fg=black!40}
\setbeamercolor{subtitle}{bg=white,fg=tptgray}
\setbeamercolor{author in title frame}{bg=white,fg=tptgray}
\setbeamercolor{mail in title frame}{bg=white,fg=tptgray}
\setbeamercolor{date in title frame}{bg=white,fg=tptgray}
\setbeamercolor{page in head/foot}{fg=white,bg=tptred}
\setbeamercolor{date in head/foot}{parent=page in head/foot}
\setbeamercolor{institute in head/foot}{fg=white,bg=black}
\setbeamercolor{author in head/foot}{fg=white,bg=tptbrown}
\setbeamercolor{section in head/foot}{bg=white,fg=tptred}
\setbeamercolor{subsection in head/foot}{bg=white,fg=tptbrown}
\setbeamercolor{title in head/foot}{fg=white,bg=gray}
\setbeamercolor{title in head/foot}{fg=white,bg=tptgray}
\setbeamercolor{block title}{parent=structure,bg=normal text.bg!75!tptbrown}
\setbeamercolor{block body}{bg=normal text.bg!98!tptbrown}
\setbeamercolor{block title alerted}{use={normal text,alerted text},fg=alerted text.fg!75!normal text.fg,bg=normal text.bg!75!tptred}
......@@ -236,7 +299,13 @@
\setbeamerfont{author in head/foot}{size*={6}{7},series=\sffamily}
\setbeamerfont{frametitle}{size*={14}{18},series=\bfseries}
% FIXME déplacer ailleurs et documenter.
%
% \tptfrieze[baseline]{largeur}{hauteur}{couleur1,couleur2,...,couleurN}
% génère une frise de N rectangles, chacun de la baseline, largeur,
% hauteur et couleur spécifiées.
%
% Sert pour la page de titre et le titre des frames.
%
\newcommand*\tptfrieze[4][0pt]{%
\foreach \tpt@color in {#4} {%
\textcolor{\tpt@color}{\rule[#1]{#2}{#3}}%
......@@ -245,7 +314,7 @@
%
% Title page.
% Page de titre.
%
\defbeamertemplate*{title page}{tpt default}%
{%
......@@ -308,9 +377,6 @@
}