\ProvidesPackage{titlepage}[
Sherbrooke Engineering Title Page by Benjamin Chausse
]
\RequirePackage{setspace}
\RequirePackage{tabularx}
\RequirePackage[french]{babel}

%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%
%                             Plain Definitions                              %
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%
\newcommand*{\institution}[1]{\gdef\@institution{#1}}
\newcommand*{\faculty}[1]{\gdef\@faculty{#1}}
\newcommand*{\department}[1]{\gdef\@department{#1}}
\renewcommand*{\title}[1]{\gdef\@title{#1}}
\newcommand*{\class}[1]{\gdef\@class{#1}}
\newcommand*{\classnb}[1]{\gdef\@classnb{#1}}
\newcommand*{\presentation}[1]{\gdef\@presentation{#1}}
\newcommand*{\teacher}[1]{\gdef\@teacher{#1}}
\renewcommand*{\author}[1]{\gdef\@author{#1}}
\newcommand*{\location}[1]{\gdef\@location{#1}}

%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%
%                           Templated Definitions                            %
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%
\newcommand*{\@institution}{Université de Sherbrooke}
\newcommand*{\@faculty}{Faculté de génie}
\newcommand*{\@department}{Département de génie électrique et de génie informatique}
\renewcommand*{\@title}{Titre du document}
\newcommand*{\@class}{Mathématiques des circuits logiques}
\newcommand*{\@classnb}{GEN420}
\newcommand*{\@presentation}{Présenté à}
\newcommand*{\@teacher}{Prénom Nom}
\renewcommand*{\@author}{Prénom Nom -- CIP}
\newcommand*{\@location}{Sherbrooke}

% Simple Macro
\newcommand{\usp}{\unskip\strut\par}

%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%
%                        Updated Title Page Template                         %
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%
\renewcommand*{\maketitle}{
\begin{titlepage}
  % \centering\LARGE\setstretch{.7}
  \centering\normalsize

  {\MakeUppercase{\@institution}\usp}
  {\@faculty\usp}
  {\@department}
  \vfill

  {\LARGE{\@title}}
  \vfill

  {\@class\usp}
  {\@classnb}
  \vfill

  {\@presentation\usp}
  {\@teacher}
  \vfill

  {Présenté par\usp}
  {\@author}
  \vfill

  {\large \@location\ -- \@date\usp}
\end{titlepage}
}
