projektor/projektor.sty

68 lines
1.9 KiB
TeX

\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{projektor}[2023/04/29 Class who happen to use beamer]
% 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
]{metropolis}
\ifoption@dark
% Dark theme
\setbeamercolor{normal text}{fg=white,bg=black!90}
\setbeamercolor{structure}{fg=white}
\setbeamercolor{alerted text}{fg=red!85!black}
\setbeamercolor{item projected}{use=item,fg=black,bg=item.fg!35}
\setbeamercolor*{palette primary}{use=structure,fg=structure.fg}
\setbeamercolor*{palette secondary}{use=structure,fg=structure.fg!95!black}
\setbeamercolor*{palette tertiary}{use=structure,fg=structure.fg!90!black}
\setbeamercolor*{palette quaternary}{use=structure,fg=structure.fg!95!black,bg=black!80}
\fi
% Footer
\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[T1]{fontenc}
\RequirePackage{lmodern}
\renewcommand{\familydefault}{\sfdefault}
% 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
\RequirePackage{multicol} % liste sur plusieurs colonnes
\RequirePackage[figurename=]{caption} % nom des images