%%% Copyright (C) 2020 Vincent Goulet
%%%
%%% Ce fichier fait partie du projet
%%% «Rédaction avec LaTeX»
%%% https://gitlab.com/vigou3/formation-latex-ul
%%%
%%% Cette création est mise à disposition sous licence
%%% Attribution-Partage dans les mêmes conditions 4.0
%%% International de Creative Commons.
%%% https://creativecommons.org/licenses/by-sa/4.0/

\documentclass[aspectratio=169,10pt,xcolor=x11names,french]{beamer}
  \usepackage{babel}
  \usepackage[autolanguage]{numprint}
  \usepackage{amsmath}
  \usepackage{changepage}                % page licence
  \usepackage{tabularx}                  % page licence
  \usepackage{booktabs}                  % beaux tableaux
  \usepackage{fontawesome5}              % icônes
  \usepackage{awesomebox}                % \tipbox et autres
  \usepackage{listings}                  % code source
  \usepackage[export]{adjustbox}         % cadre autour image
  \usepackage[overlay,absolute]{textpos} % couvertures
  \usepackage{metalogo}                  % logo \XeLaTeX

  %% ==========================================
  %%  Informations de publication
  %%  (titre et al. dans couverture-avant.tex)
  %% ==========================================
  \renewcommand{\year}{2020}
  \renewcommand{\month}{10}
  \newcommand{\ctanurl}{https://ctan.org/pkg/formation-latex-ul/}
  \newcommand{\reposurl}{https://gitlab.com/vigou3/formation-latex-ul/}

  %% =======================
  %%  Apparence du document
  %% =======================

  %% Thème Beamer
  \usetheme{metropolis}
  \metroset{subsectionpage=progressbar}

  %% Polices de caractères pour les titres
  \newfontfamily\titlefontOS{FiraSans}
  [
    Extension = .otf,
    UprightFont = *-Book,
    BoldFont = *-SemiBold,
    BoldItalicFont = *-SemiBoldItalic,
    Scale = 1.0,
    Numbers = OldStyle
  ]
  \newfontfamily\titlefontFC{FiraSans}
  [
    Extension = .otf,
    UprightFont = *-Book,
    BoldFont = *-SemiBold,
    BoldItalicFont = *-SemiBoldItalic,
    Scale = 1.0,
    Numbers = Uppercase
  ]
  \newfontfamily\lucida{Lucida Bright OT}
  [
    Scale=0.92
  ]

  %% Police Computer Modern pour exemple de police par défaut
  \newfontfamily\CM{cmunrm.otf}

  %% Mathématiques en arev et ajustement de la taille des autres
  %% polices Fira; https://tex.stackexchange.com/a/405211/24355
  \usepackage{arevmath}
  \setsansfont[%
    BoldFont = {Fira Sans SemiBold},
    ItalicFont = {Fira Sans Book Italic},
    BoldItalicFont = {Fira Sans SemiBold Italic}]{Fira Sans Book}

  %% Couleurs
  \definecolor{comments}{rgb}{0.5,0.55,0.6} % commentaires
  \definecolor{link}{rgb}{0,0.4,0.6}   % liens internes
  \definecolor{url}{rgb}{0.6,0,0}      % liens externes
  \colorlet{codebg}{LightYellow1}      % fond code R
  \definecolor{rouge}{rgb}{0.9,0,0.1}  % bandeau rouge UL
  \definecolor{or}{rgb}{1,0.8,0}       % bandeau or UL
  \colorlet{alert}{mLightBrown}        % alias de couleur Metropolis
  \colorlet{dark}{mDarkTeal}           % alias de couleur Metropolis
  \colorlet{code}{mLightGreen}         % alias de couleur Metropolis
  \colorlet{shadecolor}{codebg}

  %% Hyperliens
  \hypersetup{%
    pdfauthor = {Vincent Goulet},
    pdftitle = {Rédaction avec LaTeX - Premiers pas},
    colorlinks = true,
    linktocpage = true,
    urlcolor = {url},
    linkcolor = {link},
    citecolor = {citation},
    pdfpagemode = {UseOutlines},
    pdfstartview = {Fit}}
  \setlength{\XeTeXLinkMargin}{1pt}

  %% Affichage de la table des matières du PDF
  \usepackage{bookmark}
  \bookmarksetup{%
    open = true,
    depth = 3,
    numbered = true}

  %% Paramétrage de babel pour les guillemets
  \frenchbsetup{og=«, fg=»}

  %% Sections de code source
  \lstloadlanguages{[LaTeX]TeX}
  \lstset{language=[LaTeX]TeX,
    escapeinside=`',
    extendedchars=true,
    inputencoding=utf8/latin1,
    basicstyle=\small\ttfamily\NoAutoSpacing,
    commentstyle=\color{comments},
    keywordstyle=\mdseries,
    emphstyle=\color{alert}\bfseries,
    backgroundcolor=\color{LightYellow1},
    frame=lr, rulecolor=\color{LightYellow1},
    showstringspaces=false}

  %%% =========================
  %%%  Nouveaux environnements
  %%% =========================

  %% Environnements pour les demo de code; tirés du document
  %% principal. (L'environnement 'eqxample' ajoute des filets de part
  %% et d'autre du bloc pour illustrer les marges.)
  \newenvironment{demo}{%
    \begin{beamercolorbox}[wd=\linewidth,sep=6pt]{block body example}}
    {\end{beamercolorbox}}
  \newenvironment{texample}[1][0.45\linewidth]{%
    \noindent\begin{minipage}{#1}%
      \def\producing{\end{minipage}\hfill\begin{minipage}{\dimexpr0.9\linewidth-#1}%
        \hbox\bgroup\kern-.2pt%
        \vbox\bgroup\parindent0pt\relax
        % The 3pt is to cancel the -\lineskip from \displ@y
        \abovedisplayskip3pt \abovedisplayshortskip\abovedisplayskip
        \belowdisplayskip0pt \belowdisplayshortskip\belowdisplayskip
        \noindent}
    }{%
      \par
      % Ensure that a lonely \[\] structure doesn't take up width less than
      % \hsize.
      \hrule height0pt width\hsize
      \egroup\kern-.2pt\egroup
    \end{minipage}%
    \par
  }
  \newenvironment{eqxample}{%
    \noindent\begin{minipage}{.45\linewidth}%
      \def\producing{\end{minipage}\hfill\begin{minipage}{.45\linewidth}%
        \hbox\bgroup\kern-.2pt\vrule width.2pt%
        \vbox\bgroup\parindent0pt\relax
        % The 3pt is to cancel the -\lineskip from \displ@y
        \abovedisplayskip3pt \abovedisplayshortskip\abovedisplayskip
        \belowdisplayskip0pt \belowdisplayshortskip\belowdisplayskip
        \noindent}
    }{%
      \par
      % Ensure that a lonely \[\] structure doesn't take up width less than
      % \hsize.
      \hrule height0pt width\hsize
      \egroup\vrule width.2pt\kern-.2pt\egroup
    \end{minipage}%
    \par
  }

  %% Simplfication de l'environnement 'quote' de beamer
  \renewenvironment{quote}{%
    \begin{beamercolorbox}[wd=\linewidth,sep=6pt]{block body example}}
    {\end{beamercolorbox}}

  %% Exercices
  \newenvironment{exercice}{%
    \begin{frame}[fragile=singleslide]
      \frametitle{\faCogs\; Exercice}}{\end{frame}}

  %% =====================
  %%  Nouvelles commandes
  %% =====================

  %% Noms de fonctions, code, environnement, etc.
  \newcommand{\code}[1]{\textcolor{code}{\texttt{#1}}}
  \newcommand{\fichier}[1]{\code{#1}}
  \newcommand{\class}[1]{\textbf{#1}}
  \newcommand{\pkg}[1]{\textbf{#1}}
  \newcommand{\link}[2]{\href{#1}{#2~\raisebox{-0.2ex}{\faExternalLink*}}}

  %% Pour documenter des commandes LaTeX; dérivé de memoir.cls
  \def\bs{\code{\char`\\}}
  \newcommand{\meta}[1]{%
    \ensuremath\langle{\normalfont\itshape #1\/}\ensuremath\rangle}
  \newcommand{\marg}[1]{%
    {\ttfamily\char`\{}\meta{#1}{\ttfamily\char`\}}}
  \newcommand{\oarg}[1]{%
    {\ttfamily\char`\[}\meta{#1}{\ttfamily\char`\]}}
  \newcommand{\cs}[1]{\code{\char`\\#1}}

  %% Lien vers Gitlab dans la page de notices
  \newcommand{\viewsource}[1]{%
    \href{#1}{\faGitlab\ Voir sur GitLab}}

  %%% =======
  %%%  Varia
  %%% =======

  %% Longueurs pour la composition des pages couvertures avant et
  %% arrière.
  \newlength{\banderougewidth} \newlength{\banderougeheight}
  \newlength{\bandeorwidth}    \newlength{\bandeorheight}
  \newlength{\imageheight}
  \newlength{\logoheight}

\begin{document}

\include{couverture-avant-diapos}
\include{notices-diapos}
\include{prerequis-diapos}

\include{presentation-diapos}
\include{bases-diapos}
\include{organisation-diapos}
\include{apparence-diapos}
\include{tableaux-diapos}
\include{mathematiques-diapos}
\include{suite-diapos}

\include{colophon-diapos}
\include{couverture-arriere-diapos}

\end{document}

%%% Local Variables:
%%% TeX-master: t
%%% TeX-engine: xetex
%%% coding: utf-8
%%% End:
