210 lines
4.4 KiB
TeX
210 lines
4.4 KiB
TeX
\ProvidesClass{rapstage}[2024/02/06 Rapport de stage de Paris Cité]
|
|
|
|
\LoadClass[12pt]{article}
|
|
|
|
% Options
|
|
\newif\ifoption@code
|
|
\DeclareOption{code}{\option@codetrue}
|
|
\newif\ifoption@f
|
|
\DeclareOption{f}{\option@ftrue}
|
|
\newif\ifoption@n
|
|
\DeclareOption{n}{\option@ntrue}
|
|
|
|
\newcommand{\@student}{Étudiant}
|
|
|
|
\ProcessOptions
|
|
\ifoption@code
|
|
% Intégration code
|
|
\RequirePackage{minted}
|
|
\usemintedstyle{emacs}
|
|
\fi
|
|
\ifoption@f
|
|
% Mode féminin
|
|
\renewcommand{\@student}{Étudiante}
|
|
\fi
|
|
\ifoption@n
|
|
% Mode neutre
|
|
\renewcommand{\@student}{Étudiant·e}
|
|
\fi
|
|
|
|
% Encodage
|
|
\RequirePackage[T1]{fontenc}
|
|
|
|
% Polices
|
|
\RequirePackage{microtype}
|
|
\RequirePackage{mathptmx} % Times New Roman
|
|
\RequirePackage{fontspec} % Arial
|
|
\setmainfont{Times New Roman}
|
|
|
|
\RequirePackage[french]{babel} % langage
|
|
\frenchsetup{SmallCapsFigTabCaptions=false}
|
|
|
|
% Change page dimensions
|
|
\RequirePackage[a4paper]{geometry}
|
|
|
|
% Style de bibliographie
|
|
\addto{\extrasfrench}{\renewcommand\refname{Bibliographie}}
|
|
\bibliographystyle{unsrt}
|
|
|
|
% TODO : Autoriser des commandes sans mail
|
|
|
|
% Auteur
|
|
\newcommand{\me}[3]{
|
|
\gdef\@mef{#1} % first name
|
|
\gdef\@mel{#2} % last name
|
|
\gdef\@mail{mailto:#3} % mail
|
|
}
|
|
\newcommand{\@mef}{Alice}
|
|
\newcommand{\@mel}{Dubois}
|
|
\newcommand{\@mail}{mailto:alice.dubois@example.com}
|
|
|
|
% Titre
|
|
\renewcommand{\title}[1]{\gdef\@title{#1}}
|
|
\renewcommand{\@title}{TITRE DU RAPPORT}
|
|
|
|
% Date
|
|
\renewcommand{\date}[1]{\gdef\@date{#1}}
|
|
\renewcommand{\@date}{AAAA/AAAA}
|
|
|
|
% Tuteur pédagogique
|
|
\newcommand{\tuteurpedago}[2]{
|
|
\gdef\@tpn{#1} % nom
|
|
\gdef\@tpm{mailto:#2} % mail
|
|
}
|
|
\newcommand{\@tpn}{John Doe}
|
|
\newcommand{\@tpm}{mailto:john.doe@example.com}
|
|
|
|
% Tuteur entreprise
|
|
\newcommand{\tuteurentreprise}[2]{
|
|
\gdef\@ten{#1} % nom
|
|
\gdef\@tem{mailto:#2} % mail
|
|
}
|
|
\newcommand{\@ten}{Bob Dupont}
|
|
\newcommand{\@tem}{mailto:bob.dupont@example.com}
|
|
|
|
% Directeurice université
|
|
\newcommand{\directeur}[1]{\gdef\@directeur{#1}}
|
|
\newcommand{\@directeur}{Carole \textsc{Delporte}}
|
|
|
|
% Sous-titre
|
|
\newcommand{\subtitle}[1]{\gdef\@subtitle{#1}}
|
|
\newcommand{\@subtitle}{Rapport de Stage de Master 2}
|
|
|
|
% Fichier de la bibliographie
|
|
\newcommand{\bibliofile}[1]{\gdef\@refile{#1}}
|
|
|
|
% Mise en page
|
|
\RequirePackage{sectsty}
|
|
\sectionfont{\setmainfont{Arial}\LARGE\bfseries}
|
|
\subsectionfont{\setmainfont{Arial}\Large\bfseries\itshape}
|
|
|
|
% Point après numéro dans le titre
|
|
\RequirePackage{titlesec}
|
|
\titlelabel{\thetitle.\quad}
|
|
|
|
% Interligne
|
|
\RequirePackage{setspace}
|
|
\setstretch{1.15}
|
|
|
|
% Page current/max
|
|
\RequirePackage[page]{totalcount}
|
|
\RequirePackage{fancyhdr}
|
|
\pagestyle{fancy}
|
|
\fancyhf{}
|
|
\cfoot{\thepage/\totalpages}
|
|
\renewcommand{\headrulewidth}{0pt}
|
|
|
|
% Liens cliquable et métadonnées
|
|
\RequirePackage{hyperref}
|
|
\AtBeginDocument{
|
|
\hypersetup{
|
|
pdfauthor={\@mef~\@mel},
|
|
pdftitle={\@title},
|
|
pdfkeywords={rapport, stage},
|
|
pdfsubject={Rapport de stage pour l'Université Paris Cité},
|
|
pdfcreator={LaTeX with rapstage class and hyperref package},
|
|
hidelinks,
|
|
}
|
|
}
|
|
|
|
% Images
|
|
\RequirePackage{graphicx,float}
|
|
|
|
% Figures
|
|
\usepackage[font=it,labelsep=colon]{caption}
|
|
\addto\captionsfrench{\renewcommand{\figurename}{Illustration}}
|
|
|
|
\renewcommand{\maketitle}{
|
|
\begin{titlepage}
|
|
\begin{center}
|
|
\includegraphics[height=3.5cm]{images/logo.png}
|
|
|
|
{
|
|
\setmainfont{Arial}
|
|
\LARGE
|
|
Université de Paris\\
|
|
}
|
|
|
|
\vspace{1cm}
|
|
|
|
\Large
|
|
\textsc{Faculté de Sciences}\\
|
|
|
|
\vspace{3mm}
|
|
|
|
UFR d'Informatique\\
|
|
Directrice : \@directeur\\
|
|
|
|
\vspace{15mm}
|
|
\textsc{\@subtitle}\\
|
|
|
|
\LARGE
|
|
\textsc{\textbf{\underline{\@title}}}
|
|
|
|
\vspace{25mm}
|
|
\Large
|
|
\begin{tabular}{ll}
|
|
\itshape
|
|
Tuteur pédagogique : & \itshape\href{\@tpm}{\@tpn} \\
|
|
|
|
\itshape
|
|
Tuteur en entreprise : & \itshape\href{\@tem}{\@ten} \\
|
|
\end{tabular}
|
|
|
|
\vspace{1cm}
|
|
|
|
\hfill
|
|
\textit{\@student : \href{\@mail}{\@mef~\textsc{\@mel}}}
|
|
|
|
\vfill
|
|
\textsc{Année universitaire \@date}
|
|
\end{center}
|
|
\end{titlepage}
|
|
|
|
% Nouvelle page vierge
|
|
\setcounter{page}{3}
|
|
\shipout\null
|
|
|
|
\newgeometry{
|
|
left=4cm,
|
|
right=2cm,
|
|
top=3.51cm,
|
|
bottom=3.51cm,
|
|
}
|
|
}
|
|
|
|
% Permet d'ajouter la bibliographie
|
|
\newcommand{\reference}{
|
|
\newpage
|
|
\pagestyle{empty}
|
|
\addcontentsline{toc}{section}{\refname}
|
|
\bibliography{\@refile}
|
|
}
|
|
|
|
% Souligne mieux les mots
|
|
\newcommand{\ul}[1]{\underline{\smash{#1}}}
|
|
|
|
% Ne déborde pas sur la marge
|
|
\AtBeginDocument{
|
|
\sloppy
|
|
}
|