136 lines
3.6 KiB
TeX
136 lines
3.6 KiB
TeX
\NeedsTeXFormat{LaTeX2e}
|
|
|
|
\ProvidesPackage{projektor}[2023/04/29 Beamer template]
|
|
|
|
% Options
|
|
\newif\ifoption@code
|
|
\DeclareOption{code}{\option@codetrue}
|
|
\newif\ifoption@fr
|
|
\DeclareOption{fr}{\option@frtrue}
|
|
\newif\ifoption@dark
|
|
\DeclareOption{dark}{\option@darktrue}
|
|
\newif\ifoption@sec
|
|
\DeclareOption{sec}{\option@sectrue}
|
|
\newif\ifoption@subsec
|
|
\DeclareOption{subsec}{\option@subsectrue}
|
|
|
|
\ProcessOptions
|
|
\ifoption@code
|
|
% Intégration code
|
|
\RequirePackage{minted}
|
|
\usemintedstyle{emacs}
|
|
\fi
|
|
\ifoption@fr
|
|
% Langue
|
|
\RequirePackage[french]{babel}
|
|
\RequirePackage{csquotes}
|
|
\MakeOuterQuote{"}
|
|
\fi
|
|
|
|
% Moloch avec barre de progression
|
|
\usetheme[
|
|
progressbar=frametitle,
|
|
block=fill,
|
|
]{moloch}
|
|
|
|
% Renomme la table des matières
|
|
\AtBeginDocument{
|
|
\renewcommand{\contentsname}{Plan}
|
|
}
|
|
|
|
% Table des matières comme frame de nouvelle partie
|
|
\ifoption@sec
|
|
\AtBeginSection[]{
|
|
\begin{frame}[plain, noframenumbering]{\contentsname}
|
|
\tableofcontents[
|
|
currentsection,
|
|
subsectionstyle=shaded,
|
|
]
|
|
\end{frame}
|
|
}
|
|
\fi
|
|
|
|
% Table des matières comme frame de nouvelle sous-partie
|
|
\ifoption@subsec
|
|
\AtBeginSubsection[]{
|
|
\begin{frame}[plain, noframenumbering]{\contentsname}
|
|
\tableofcontents[
|
|
currentsubsection,
|
|
sectionstyle=show/shaded,
|
|
subsectionstyle=show/shaded,
|
|
]
|
|
\end{frame}
|
|
}
|
|
\fi
|
|
|
|
\ifoption@dark
|
|
% Thème sombre
|
|
\setbeamercolor{normal text}{fg=white,bg=black!90}
|
|
\setbeamercolor{alerted text}{fg=orange!65!white}
|
|
\setbeamercolor{progress bar}{bg=alerted text.fg!20!black!90}
|
|
\setbeamercolor{frametitle}{bg=black!92}
|
|
\setbeamercolor{palette primary}{use=structure,fg=structure.fg}
|
|
\else
|
|
% Augmente l'épaisseur de la barre de progression sur les diapos
|
|
\setlength{\moloch@progressinheadfoot@linewidth}{0.8pt}
|
|
|
|
% Couleur de la police
|
|
\setbeamercolor{normal text}{fg=black}
|
|
|
|
% Ne change pas les autres couleurs
|
|
\definecolor{mDarkTeal}{HTML}{23373b}
|
|
\setbeamercolor{palette primary}{bg=mDarkTeal}
|
|
\fi
|
|
|
|
% Point au lieu de carré dans les listes
|
|
\setbeamertemplate{itemize items}[circle]
|
|
|
|
% Numéros de pages
|
|
\setbeamertemplate{page number in head/foot}[appendixframenumber]
|
|
|
|
% Métadonnées
|
|
\hypersetup{
|
|
pdfsubject={Présentation},
|
|
pdfkeywords={presentation},
|
|
pdfcreator={LaTeX with Beamer class and projektor template}
|
|
}
|
|
|
|
% Bas de page
|
|
\setbeamertemplate{frame footer}{
|
|
\makebox[0pt][l]{\insertsection} \hfill
|
|
\makebox[0pt][c]{\insertshorttitle}
|
|
}
|
|
\setbeamerfont{page number in head/foot}{size=\tiny}
|
|
\setbeamercolor{footline}{fg=gray}
|
|
|
|
% Enumerate au lieu d'itemize, et itemize les sous sections
|
|
\setbeamertemplate{section in toc}[sections numbered]
|
|
\setbeamertemplate{subsection in toc}{\quad$\bullet$\enspace\inserttocsubsection\par}
|
|
|
|
% Police
|
|
\RequirePackage{microtype}
|
|
\RequirePackage{lmodern}
|
|
|
|
% Inverse titre court/titre long dans le plan
|
|
\makeatletter
|
|
\patchcmd{\beamer@section}{{#2}{\the\c@page}}{{#1}{\the\c@page}}{}{}
|
|
\patchcmd{\beamer@section}{{\the\c@section}{\secname}}{{\the\c@section}{#1}}{}{}
|
|
\makeatother
|
|
|
|
% Liste sur plusieurs colonnes
|
|
\RequirePackage{multicol}
|
|
|
|
% Pas de préfix pour les figures
|
|
\RequirePackage[figurename=]{caption}
|
|
|
|
% Sous-titres
|
|
\setbeamerfont{framesubtitle}{series=\mdseries}
|
|
|
|
% Souligne mieux les mots
|
|
\newcommand{\ul}[1]{\underline{\smash{#1}}}
|
|
|
|
% Met en surbrillance du texte
|
|
\newcommand{\hl}[2][yellow]{\fboxsep0pt{\pgfsetfillopacity{0.5}\colorbox{#1}{\pgfsetfillopacity{1}\strut#2}}}
|
|
|
|
% Avertissement par rapport à l'appendix
|
|
\renewcommand\appendixname{Appendix}
|