-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathULrapport.cls
293 lines (258 loc) · 11.6 KB
/
ULrapport.cls
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
%!TEX encoding = IsoLatin
%
% Classe de document "ULrapport"
% par Pierre Tremblay, Universite Laval
% modifiee par Christian Gagne, Universite Laval
% Version 1.1h, 14/01/2011
%
%
% Historique des versions
%
% 2011/01/14 - version 1.1h
% Correction du répertoire de figures: répertoire fig pour toutes figures.
% Ne pas spécifier les extensions, laisser LaTeX choisir le format approprié.
% Ajout d'information sur l'encodage des fichier pour TeXshop (Mac).
% Mise-à-jour du rapport exemple en conséquence.
% Formatage plus léger des commentaires de la classe et des exemples
%
% 2008/03/28 - version 1.1g
% Repositionnement de "\addcontentsline" pour assurer un hyperlien correct (3 fois)
% par Jean-Dominic Laroche (GLO)
% Ajout du package "url" avec option "hyphens" pour faciliter la cesure des urls
% Ajout de la commande "\raggedright" a la bibliographie pour faciliter la mise en page
% et eliminer les nombreux "underfull" autrement generes
%
% 2008/02/08 - version 1.1f
% Utilisation de \parbox pour presenter les titres longs avec un espacement correct
%
% 2007/12/02 - version 1.1e
% Ajout de la bibliographie et des listes a la table des matieres par l'environnement
% "thebibliographyUL"
% Ajout de l'historique des versions
%
% 2007/05/05 - version 1.1d
% Ajout des compteurs "tocdepth" et "secnumdepth" pour la numerotation des sections
% Ajout des flags logiques pour l'insertion facultative des listes (figures, tableaux)
%
% 2007/04/12 - version 1.1c
% Changement de "\theEquipe" pour "\theNumeroEquipe" et "\theNomEquipe"
% Ajout des flags logiques pour l'insertion facultative des listes (figures, tableaux)
%
% 2007/02/01 - version 1.1b
% Retrait de l'option d'hyperref "pdfpagelables=true", car deja par defaut
%
% 2007/01/17 - version 1.1a
% Ajout de "\renewcommand{\arraystretch}{1.5}" a la page titre
%
% 2007/01/16 - version 1.1
% Mise a jour complete
%
% 2006/03/01 - version 1.0
% Creation
%
%--------------------------------------------------------------------------------------
%----------------------------------- identification -----------------------------------
%--------------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{ULrapport}%
[2011/01/14 v1.1h Classe de rapport technique - Universite Laval]
%--------------------------------------------------------------------------------------
%------------------------------------ initial code ------------------------------------
%--------------------------------------------------------------------------------------
% Flags logiques permettant l'insertion des listes des figures et des tableaux
\RequirePackage{ifthen}
\newboolean{InsererListeDesFigures}
\newboolean{InsererListeDesTableaux}
%--------------------------------------------------------------------------------------
%------------------------------- declaration of options -------------------------------
%--------------------------------------------------------------------------------------
\DeclareOption{ULlof}{\setboolean{InsererListeDesFigures}{true}}
\DeclareOption{ULlot}{\setboolean{InsererListeDesTableaux}{true}}
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{report}}
%--------------------------------------------------------------------------------------
%-------------------------------- execution of options --------------------------------
%--------------------------------------------------------------------------------------
\ProcessOptions \relax
%--------------------------------------------------------------------------------------
%----------------------------------- package loading ----------------------------------
%--------------------------------------------------------------------------------------
\LoadClass{report}
\RequirePackage{geometry}
\RequirePackage{lmodern}
\RequirePackage[T1]{fontenc}
\RequirePackage[USenglish,french]{babel}
\RequirePackage{caption}
\RequirePackage{textcomp} % pour \textcelsius, \textmu, \textohm
\RequirePackage{array}
\RequirePackage{amstext} % pour \text
\RequirePackage{tabularx}
\RequirePackage{colortbl}
\RequirePackage{longtable}
\RequirePackage{graphicx}
\RequirePackage{rotating}
% \RequirePackage{mathabx} % pour \second (peut etre remplace par "\prime\prime")
% \RequirePackage{color}
\RequirePackage[hyphens]{url}
\RequirePackage{hyperref}
%--------------------------------------------------------------------------------------
%-------------------------------------- main code -------------------------------------
%--------------------------------------------------------------------------------------
% Definitions des parametres du package hyperref
\hypersetup{plainpages=false,%
breaklinks=false,%
colorlinks=true}
% Definitions des dimensions de la page (package geometry)
\geometry{letterpaper,%
centering,%
hmargin={2.5cm,2.5cm},%
vmargin={2.5cm,2.5cm},%
heightrounded,%
includehead}
% Utilisation du package "caption" pour
% - redefinit le caractere de separation dans les legendes comme "babel" le definit,
% car "caption" (ou "float", le cas echeant) le redefinit comme ":"
% - uniformise les legendes entre table, longtable et supertabular
% - specifie que la legende des tableaux sera placee en haut,
% donc intervertit les dimensions d'espacements (avant et apres la legende)
\DeclareCaptionLabelSeparator{as-Babel-french}{\space\textendash\space}
\captionsetup{margin=0.1\textwidth,labelsep=as-Babel-french}
\captionsetup[table]{position=top}
% Redefinition de l'environnement "thebibliography" afin que son existence soit
% mentionnee a la table des matieres
\newenvironment{thebibliographyUL}[1]%
{\clearpage%
\begin{thebibliography}{#1}%
\addcontentsline{toc}{chapter}{\bibname}%
\raggedright%
}%
{\end{thebibliography}}
% En-tete et bas de page par defaut
\pagestyle{headings}
% Definitions pour l'inclusion de graphiques
% - des repertoires par defaut
% - des extensions supportees
\graphicspath{{./fig/}}
% Definitions de la page titre
\renewcommand{\maketitle}{%
\thispagestyle{empty}%
\pagenumbering{roman}%
\begin{titlepage}%
\setcounter{page}{999}% % associe le numero "0" a la page titre
\begin{flushleft}
\includegraphics[width=12em]{ul_logo}
\end{flushleft}\par
\vspace*{\stretch{2}}
\begin{center}
\parbox{\textwidth}{\centering\Large\bfseries \theTitreProjet} \\[5ex]
\parbox{\textwidth}{\centering\large\bfseries \theTitreRapport} \\
\vspace*{\stretch{2}}
pr\'{e}sent\'{e} \`{a} \\[1ex]
\textbf{\theDestinataire} \\
\vspace*{\stretch{1}}
par \\[1ex]
{\large \'{E}quipe \theNumeroEquipe} \\[1ex]
\end{center}
\renewcommand{\arraystretch}{1.5} % plus d'espace pour les signatures
\begin{tabularx}{\textwidth}%
{|l|>{\raggedright\arraybackslash}X|>{\raggedright\arraybackslash}X|}
\hline
\multicolumn{1}{|c|}{\emph{matricule}}
& \multicolumn{1}{c|}{\emph{nom}}
\\\hline
\theTableauMembres
\end{tabularx}\par
\vspace*{\stretch{1}}
\begin{center}
{\large Universit\'{e} Laval} \\
\theDateRemise
\end{center}
\end{titlepage}%
\clearpage%
\let\maketitle\relax%
}
% Definitions des fonctions permettant de definir les parametres de la page titre
%
%\newcommand{\theTitreProjet}{\foreignlanguage{french}{Titre du projet}} % Titre du projet
%\newcommand{\TitreProjet}[1]{\renewcommand{\theTitreProjet}{\foreignlanguage{french}{#1}}} % Titre du projet
\def\TitreProjet#1{\def\theTitreProjet{#1}} % Titre du projet
\def\TitreRapport#1{\def\theTitreRapport{#1}} % Titre du rapport
\def\Destinataire#1{\def\theDestinataire{#1}} % Nom(s) du destinataire
\def\NumeroEquipe#1{\def\theNumeroEquipe{#1}} % Numero de l'equipe
\def\NomEquipe#1{\def\theNomEquipe{#1}} % Nom de l'equipe
\def\TableauMembres#1{\def\theTableauMembres{#1}} % Tableau des membres de l'equipe
\def\DateRemise#1{\def\theDateRemise{#1}} % Date de remise
%\def\HistoriqueVersions#1%
% {\def\theHistoriqueVersions{#1}} % Historique des versions
% Definitions des parametres par defaut de la page titre
\def\theTitreProjet{TP2} % Titre du projet
\def\theTitreRapport{Gestion de projets informatiques} % Titre du rapport
\def\theDestinataire{Jean-François Couturier} % Nom(s) du destinataire
\def\theNumeroEquipe{4} % Numero de l'equipe
\def\theNomEquipe{Concept solution} % Nom de l'equipe
\def\theTableauMembres{111 134 720&Ouellet, Jean-Francois\\\hline111 180 896& Laverdiere, Jean \\\hline111 182 569&Sohouli, Jean Marc \\\hline 111 183 657&Bourgault, Jean Christophe \\\hline111 186 807&Perez Sanchez, Jesus \\\hline111 187 013&Cot\'{e}, Jordan \\\hline} % Tableau des membres de l'equipe
\def\theDateRemise{18 novembre 2019} % Date de remise
%\def\theHistoriqueVersions%
% {0 & 2 f\'{e}vrier 2018 & Introduction et description \\
% \hline 1 & 23 f\'{e}vrier 2018 & Besoins et objectifs, cahier de charges \\ \hline 2 & 23 mars 2018 & Conceptualisation et analyse de faisabilit\'{e} \\\hline
% 3 & 20 Avril 2018 & \'{E}tude pr\'{e}liminaire et concept retenu\\}
% Historique des versions
% Definition du niveau hierarchique maximum couvert par la table des matieres
\setcounter{tocdepth}{3} % default = 2
% Definition du niveau hierarchique maximum ayant une numerotation
\setcounter{secnumdepth}{3} % default = 2
% Definitions des parametres du package hyperref - details propres au rapport
\AtBeginDocument{%
\hypersetup{pdftitle={\theTitreProjet},%
pdfsubject={\theTitreRapport},%
pdfauthor={\'{E}quipe \theNumeroEquipe\ - \theNomEquipe}}%
}
% Selection de la langue "babel" par defaut
\AtBeginDocument{%
\selectlanguage{french}%
}
% Changement des mots utilises par "babel" par defaut (figure et table)
\AtBeginDocument{%
\renewcommand{\figurename}{\textsc{Figure}}%
\renewcommand{\tablename}{\textsc{Tableau}}%
}
% Generation de la page titre
\AtBeginDocument{%
\maketitle
}
% Generation de la page d'historique des versions ("Document Change Record")
%\AtBeginDocument{%
% \thispagestyle{empty}%
% \setcounter{page}{0}%
% \noindent%
% \begin{tabularx}{\textwidth}%
% {|c|l|>{\raggedright\arraybackslash}X|}
% \hline\hline
% \multicolumn{3}{|c|}{\large\rule[-2.25ex]{0ex}{6ex}%
% \textsf{Historique des versions}}
% \\\hline
% \multicolumn{1}{|c|}{\emph{version}}
% & \multicolumn{1}{c|}{\emph{date}}
% & \multicolumn{1}{c|}{\emph{description}}
% \\\hline
% \theHistoriqueVersions\hline
% \end{tabularx}\par
% \clearpage
%}
% Generation de la table des matieres, de la liste des figures, de la liste des tableaux
\AtBeginDocument{%
\tableofcontents
\ifthenelse{\boolean{InsererListeDesFigures}}%
{\clearpage%
\listoffigures%
\addcontentsline{toc}{chapter}{\listfigurename}}{}
\ifthenelse{\boolean{InsererListeDesTableaux}}%
{\clearpage%
\listoftables%
\addcontentsline{toc}{chapter}{\listtablename}}{}
}
% Reinitialisation du compteur "page" (valeur et style)
\AtBeginDocument{%
\cleardoublepage%
\setcounter{page}{1}%
\pagenumbering{arabic}%
}