This repository has been archived on 2023-06-07. You can view files and clone it, but cannot push or open issues or pull requests.
errsy/presentation/projektor.sty
2023-06-01 19:34:15 +02:00

116 lines
3 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}
\ProcessOptions
\ifoption@code
% Intégration code
\RequirePackage{minted}
\usemintedstyle{emacs}
\fi
\ifoption@fr
% Langue
\RequirePackage[french]{babel}
\fi
% Metropolis + barre de progression + numéro de page
\usetheme[
progressbar=frametitle,
numbering=fraction,
block=fill
]{metropolis}
\ifoption@dark
% Dark theme
\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{\metropolis@progressinheadfoot@linewidth}{0.8pt}
\fi
% Resolve issue with overfull vbox
\def\titlepage{\usebeamertemplate{title page}}
% Bas de page
\setbeamertemplate{frame footer}{
\insertsection \hfill\hspace{-4em} \insertshorttitle
}
\setbeamerfont{page number in head/foot}{size=\tiny}
\setbeamercolor{footline}{fg=gray}
% Enumerate au lieu d'itemize
\setbeamertemplate{section in toc}[sections numbered]
% Police
\RequirePackage{lmodern}
% Inverse titre court/titre long dans le plan
\RequirePackage{etoolbox}
\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}
% Support des sous-titres
\makeatletter
\newcommand\startsubtitle{
\renewcommand{\metropolis@frametitlestrut@start}{
\rule{0pt}{1ex +
\totalheightof{
\ifcsdef{metropolis@frametitleformat}{\metropolis@frametitleformat X}{X}
}
}
}
\renewcommand{\metropolis@frametitlestrut@end}{
\rule[-3ex]{0pt}{\metropolis@frametitle@padding}
}
}
\newcommand\stopsubtitle{
\renewcommand{\metropolis@frametitlestrut@start}{
\rule{0pt}{\metropolis@frametitle@padding +
\totalheightof{
\ifcsdef{metropolis@frametitleformat}{\metropolis@frametitleformat X}{X}
}
}
}
\renewcommand{\metropolis@frametitlestrut@end}{
\rule[-\metropolis@frametitle@padding]{0pt}{\metropolis@frametitle@padding}
}
}
\makeatother
\setbeamercolor{framesubtitle}{fg=white}
\setbeamerfont{framesubtitle}{series=\mdseries}
\addtobeamertemplate{frametitle}{
\ifx\insertframesubtitle\empty\else
\startsubtitle
\fi
}{
\ifx\insertframesubtitle\empty\else
\vspace{-4ex}
\usebeamerfont{framesubtitle}
\usebeamercolor[fg]{framesubtitle}
\insertframesubtitle
\stopsubtitle
\fi
}