%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Classe pour les rapports %%
%% Thomas Pelletier         %%
%% thomas@pelletier.im      %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\NeedsTeXFormat{LaTeX2e}
 
\ProvidesClass{thomas}[2010/01/02 Classe de rapport Thomas Pelletier, V1.0]
 
% classe de base
 
\LoadClass[a4paper, 12pt]{article}
 
% extensions

% Inclusion des paquets
\RequirePackage[utf8x]{inputenc} % Parce qu'il faut pas déconner non plus
\RequirePackage{fancyhdr} % Pour les entetes et bas de pages perso
\RequirePackage{lastpage} % Pour afficher le numéro de la dernière page
\RequirePackage[frenchb]{babel} % Pour les guillemets français
\RequirePackage{enumerate} % Pour changer la numérotation des listes
\RequirePackage{color} % C'est mieux avec ça
\RequirePackage{framed} % Pour pouvoir définir les citations
\RequirePackage{newcent} % New Century Schoolbook, Avant Garde, Courier
\RequirePackage{geometry} % Pour changer les marges de la page
\RequirePackage{perpage} % Pour remettre à zéro la numérotation des notes de bas de page à chaque changement de page
\RequirePackage{graphicx} % Pour inserer des images
\RequirePackage{url} % Pour utiliser des URLs comyfault

% Redéfinition des marges de page
\geometry{ hmargin=2.5cm, vmargin=2.5cm }

% Remise à zéro de la numérotation des notes de bas de page à chaque changement de page
\MakePerPage{footnote}

% Définition des couleurs
\definecolor{gris70}{gray}{0.70}
\definecolor{couleurcitation}{gray}{0.95}
\definecolor{couleurbordurecitation}{gray}{0.5}

% Définition du mode bas+haut de page
\pagestyle{fancy}
\fancyhf{}
\fancyhead[L]{\small\textcolor{gris70}{Thomas Pelletier}} % TODO Utiliser les méta-données
\fancyhead[R]{\small\textcolor{gris70}{TS°1}}
\fancyfoot[C]{\small\textcolor{gris70}{\thepage{} / \pageref{LastPage}}}
\renewcommand{\headrulewidth}{0pt}

% Supprime la numération des sections (document trop petit pour que ce soit utile)
\setcounter{secnumdepth}{-1} 

% Change l'espace entre les paragraphes
\setlength{\parskip}{1em}

% Paramètre de style des URL (un style qu'on va appeler leo tiens)
\makeatletter
\def\url@leostyle{%
  \@ifundefined{selectfont}{\def\UrlFont{\sf}}{\def\UrlFont{\scriptsize\ttfamily}}}
\makeatother
\urlstyle{leo}

% Création d'une commande pour inclure des images
\newcommand{\insererimage}[2]{ 
\begin{figure}[htbp]
  \centering
  \fcolorbox{couleurbordurecitation}{couleurcitation}{
    \begin{minipage}{13 cm}
      \includegraphics[width=13cm]{#1}
      \vspace{-25pt}
      \caption{\tiny#2}
      \vspace{5pt}
    \end{minipage}
  }
\end{figure}   
}

% Correction de la légende de l'image
\makeatletter
\renewcommand{\fnum@figure}{\tiny{\figurename~\thefigure}}
\makeatother

% Création d'un environnement pour les citations
\newsavebox{\auteurcitation} % Création d'une zone mémoire pour stocker la source
\newsavebox{\boitecitation} % Création d'une zone mémoire pour stocker la citation elle-même
\newenvironment{citationi}[1]{% Partie supèrieure de l'environnement
    \savebox{\auteurcitation}{\tiny\emph{#1}} % On sauve l’argument 1 pour l’auteur
    \begin{lrbox}{\boitecitation} % Là commence la citation elle-même
        \begin{minipage}{1\linewidth} % Création d'une minipage pour ne pas être coupé
            \leftskip10pt % Marge interne gauche à 10 pt
            \rightskip\leftskip % Marge interne droite à la même valeur que celle de gauche
            \vspace{10pt} % Marge interne haut à 10 pt
            }% Fin de la partie supèrieure de l'env
    {% Début de la partie inférieure de l'env
        \vspace{10pt} % Marge interne bas à 10 pt
        \end{minipage} % Fin de notre minimage
    \end{lrbox}  % Fin de la boite de citation
    
    \begin{center} % On centre notre citation dans la page
        \vspace{-10pt}
        % Création d'une boîte colorée (fcolorbox) dans laquelle on inclu notre citation
        \fcolorbox{couleurbordurecitation}{couleurcitation}{\usebox{\boitecitation}}
    \end{center} % Fin du centrage
        \begin{minipage}{1\linewidth} % Début d'une minipage pour l'auteur
            \vspace{-20pt} % Pour coller un peu plus l'auteur à la citation
            \par \hfill \usebox{\auteurcitation} % Nom de l'auteur aligné à droite
        \end{minipage} % Fin de la minipage pour l'auteur
        \vspace{-1em}
} % Fin de l'environnement