]> AND Private Git Repository - these_qian.git/blob - thloria.cls
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
add some sections to chapter 1.
[these_qian.git] / thloria.cls
1 %%
2 %% This is file `thloria.cls',
3 %% generated with the docstrip utility.
4 %%
5 %% The original source files were:
6 %%
7 %% thloria.dtx  (with options: `tlkernel,tlannex')
8 %%
9 %% IMPORTANT NOTICE:
10 %%
11 %% For the copyright see the source file.
12 %%
13 %% You are *not* allowed to modify this file.
14 %%
15 %% You are *not* allowed to distribute this file.
16 %% For distribution of the original source see
17 %% the terms for copying and modification in the file  thloria.dtx.
18 %%
19 \def\filedate{2005/06/17}
20 \def\fileversion{v0.94}
21 \def\docdate{17/06/2005}
22 %% \CharacterTable
23 %%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
24 %%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
25 %%   Digits        \0\1\2\3\4\5\6\7\8\9
26 %%   Exclamation   \!     Double quote  \"     Hash (number) \#
27 %%   Dollar        \$     Percent       \%     Ampersand     \&
28 %%   Acute accent  \'     Left paren    \(     Right paren   \)
29 %%   Asterisk      \*     Plus          \+     Comma         \,
30 %%   Minus         \-     Point         \.     Solidus       \/
31 %%   Colon         \:     Semicolon     \;     Less than     \<
32 %%   Equals        \=     Greater than  \>     Question mark \?
33 %%   Commercial at \@     Left bracket  \[     Backslash     \\
34 %%   Right bracket \]     Circumflex    \^     Underscore    \_
35 %%   Grave accent  \`     Left brace    \{     Vertical bar  \|
36 %%   Right brace   \}     Tilde         \~}
37 %%
38
39 \NeedsTeXFormat{LaTeX2e}[1995/12/01]
40 \ProvidesClass{thloria}[\filedate\space
41            LaTeX2e document class^^J
42 \space\space\space\space\space\space\space\space
43 \space\space\space\space\space\space\space\space\space
44 =======(\fileversion\space D. Roegel, LORIA)=======]
45 \newif\if@dont@load@french
46 \@dont@load@frenchfalse
47 \DeclareOption{nofrench}{\@dont@load@frenchtrue}
48 \newif\if@minfrench
49 \@minfrenchfalse
50 \DeclareOption{minfrench}{%
51      \if@dont@load@french
52        \ClassWarning*{thloria}%
53               {Option \string`nofrench\string' is ignored\MessageBreak
54                when \string`minfrench\string' is present.}
55      \else
56         \@dont@load@frenchtrue
57      \fi
58      \@minfrenchtrue}
59 \newif\if@mltex
60 \@mltexfalse
61 \DeclareOption{mltex}{\@mltextrue}
62 \newif\if@oti
63 \@otifalse
64 \DeclareOption{ot1}{\@otitrue}
65 \newif\if@no@printer@correction
66 \@no@printer@correctiontrue
67 \DeclareOption{printercorrection}{\@no@printer@correctionfalse}
68 \DeclareOption*{\PassOptionsToClass{\CurrentOption}{book}}
69 \ProcessOptions
70 \LoadClass[a4paper]{book}[1995/01/31]
71 \newcommand\@test@iffrench{%
72     \if@minfrench
73     \else
74        \ifx\noenglishdoublequotes\@undefined % french
75           \ifx\bbl@nonfrenchguillemets\@undefined % frenchb
76             \ClassWarning{thloria}%
77               {Beware! I think you have forgotten to load\MessageBreak
78                a francization package.}%
79           \fi
80        \fi
81     \fi
82     }
83 \AtBeginDocument{\@test@iffrench
84                  \let\annexe\Annexe
85                  \let\annexes\Annexes
86                 }
87 \if@mltex
88   \ifx\charsubdef\undefined
89      \ClassWarning{thloria}%
90          {mltex option has no use,\MessageBreak since you don't use MlTeX!}%
91      \RequirePackage[T1]{fontenc}
92   \fi
93 \else
94   \if@oti
95   \else
96     \RequirePackage[T1]{fontenc}
97   \fi
98 \fi
99 \if@dont@load@french
100   \if@minfrench
101     \RequirePackage[frenchb]{babel}
102     \frenchspacing
103     \def\pagename{page}%
104     \def\refname{R\'ef\'erences}%
105     \def\abstractname{R\'esum\'e}%
106     \def\bibname{Bibliographie}%
107     \def\listfigurename{Table des figures}%
108     \def\listtablename{Liste des tableaux}%
109     \def\indexname{Index}%
110     \def\seename{\emph{voir}}%
111     \def\seealsoname{\emph{voir aussi}}%
112     \def\figurename{\textsc{Fig.}}%
113     \def\tablename{\textsc{Tab.}}%
114     \def\partname{\protect\@RPt partie}%
115     \def\@RPt{{\ifcase\value{part}\or Premi\`ere\or Deuxi\`eme\or %
116               Troisi\`eme\or Quatri\`eme\or Cinqui\`eme\or Sixi\`eme\or %
117               Septi\`eme\or Huiti\`eme\or Neuvi\`eme\or Dixi\`eme\or %
118               Onzi\`eme\or Douzi\`eme\or Treizi\`eme\or Quatorzi\`eme\or %
119               Quinzi\`eme\or Seizi\`eme\or Dix-septi\`eme\or
120               Dix-huiti\`eme\or %
121               Dix-neuvi\`eme\or Vingti\`eme\fi}\space\def\thepart{}}%
122     \def\glossaryname{Glossaire}%
123     \def\chaptername{Chapitre}%
124     \def\appendixname{Annexe}%
125     \ifx\ier\undefined\def\ier{er}\fi
126     \def\today{\ifnum\day=1\relax 1\ier%
127                \else \number\day\fi%
128                \space\ifcase\month\or janvier\or f\'evrier\or mars\or %
129                avril\or mai\or juin\or juillet\or ao\^ut\or septembre\or %
130                octobre\or novembre\or d\'ecembre\fi \space\number\year}%
131   \fi
132 \else
133    \RequirePackage[frenchb]{babel}
134 \fi
135 \RequirePackage[utf8]{inputenc}
136 \newcommand{\@DFD}{D\'epartement informatique
137             \hfill\'Ecole doctorale SPIM}
138 \newcommand{\@TL@cmn@head}{\par\nointerlineskip\vskip1mm\noindent\hrulefill\\
139                           \@DFD}
140 \newcommand{\@INPLhe@d}{{\UseEntryFont{ThesisFirstPageHead}\noindent
141     \if@logo@inpl@
142          \setbox0=\hbox{$\lower2.4\baselineskip\hbox{\INPLLogotitle}$}%
143          \wd0=0pt$\smash{\copy0}$\hfill
144           \vtop{\hsize13.8cm\leftskip0pt plus1fill
145                 D\'epartement de formation doctorale en informatique%
146                 \vadjust{\vskip-2mm}\par
147                 \centerline{\hrulefill}%
148                 \'Ecole doctorale SPIM\par
149                 }%
150     \else
151       \centerline{Institut National Polytechnique de Lorraine}
152       \@TL@cmn@head\par
153     \fi
154          }%
155          }
156 \newcommand{\@NancyIhe@d}{{\UseEntryFont{ThesisFirstPageHead}\noindent
157     \centerline{\if@logo@uhp@
158                     {\setbox0=\hbox{$\raise2.5cm\hbox{\UHPLogo}$}%
159                      \ht0=\baselineskip\box0}\hfill
160                 \else
161                     Universit\'e Henri Poincar\'e -- Nancy 1%
162                 \fi}%
163     \@TL@cmn@head\\
164     UFR ST\par
165     }%
166     }
167 \newcommand{\@NancyIIhe@d}{{\UseEntryFont{ThesisFirstPageHead}\noindent
168     \if@logo@nancyii@
169          \setbox0=\hbox{$\raise2.6cm\hbox{\NancyIILogo}$}%
170          \wd0=0pt$\smash{\copy0}$\hfill
171           \vtop{\hsize14.5cm\leftskip0pt plus1fill
172                 \centerline{UFR math\'ematiques et informatique
173                 \hfill \'Ecole doctorale SPIM
174                 \vadjust{\vskip-2mm}}\par
175                 \centerline{\hrulefill}%
176                 D\'epartement informatique\par
177                 }%
178     \else
179         Universit\'e Nancy 2%
180         \hfill UFR math\'ematiques et informatique%
181         \@TL@cmn@head\par
182     \fi
183     }%
184     }
185 \newcommand{\@ThesisFirstPageFoot}%
186     {\hrule
187      \vskip2mm
188      \centerline{\UseEntryFont{ThesisFirstPageFoot}%
189                  Laboratoire d'Informatique de l'Universit\'e de Franche-Comt\'e (LIFC)}
190      \centerline{\if@logo@loria@
191                     $\raise\baselineskip\hbox{\LoriaLogo}$\hskip2.5cm%
192                  \fi}
193      \vskip2mm
194     }
195 \newcommand\ThesisFirstPageFoot[1]%
196          {\renewcommand{\@ThesisFirstPageFoot}{{#1}}}
197 \newcommand{\@ThesisFirstPageHead}{\@INPLhe@d}
198 \newcommand\ThesisFirstPageHead[1]%
199          {\renewcommand{\@ThesisFirstPageHead}{{#1}}}
200 \newcommand{\@ThesisTitle}%
201          {{\UseEntryFont{ThesisTitle}\fbox{\tt\char`\\ThesisTitle}\par}}
202 \newcommand\ThesisTitle[1]%
203          {\renewcommand{\@ThesisTitle}{{\UseEntryFont{ThesisTitle}#1\par}}}
204 \newcommand{\@ThesisKind}{{\UseEntryFont{ThesisKind}TH\`ESE}}
205 \newcommand\ThesisKind[1]%
206          {\renewcommand{\@ThesisKind}{{\UseEntryFont{ThesisKind}#1}}}
207 \newcommand{\@ThesisDate}{\fbox{{\tt\char`\\ThesisDate}}}
208 \newcommand\ThesisDate[1]{\renewcommand{\@ThesisDate}{#1}}
209 \newcommand{\@ThesisPresentedThe}{{\UseEntryFont{ThesisPresentedThe}%
210          pr\'esent\'ee et soutenue publiquement le \@ThesisDate}}
211 \newcommand\ThesisPresentedThe[1]%
212   {\renewcommand{\@ThesisPresentedThe}{{\UseEntryFont{ThesisPresentedThe}#1}}}
213 \newcommand{\@ThesisInOrderToGet}%
214         {{\UseEntryFont{ThesisInOrderToGet}pour l'obtention du}}
215 \newcommand\ThesisInOrderToGet[1]%
216   {\renewcommand{\@ThesisInOrderToGet}{{\UseEntryFont{ThesisInOrderToGet}#1}}}
217 \newcommand\ThesisINPL{\renewcommand{\@ThesisFirstPageHead}{\@INPLhe@d}%
218                        \ThesisDiploma{{\UseEntryFont{ThesisDiploma}%
219       Doctorat de l'Institut National Polytechnique de Lorraine\\[3mm]
220             {\UseEntryFont{ThesisSpecialty}(sp\'ecialit\'e informatique)}}}}
221 \newcommand\ThesisNancyI{\renewcommand{\@ThesisFirstPageHead}{\@NancyIhe@d}%
222                          \ThesisDiploma{{\UseEntryFont{ThesisDiploma}%
223                 Doctorat de l'Universit\'e de Franche-Comt\'e\\[3mm]
224             {\UseEntryFont{ThesisSpecialty}(sp\'ecialit\'e informatique)}}}}
225 \newcommand\ThesisNancyII{\renewcommand{\@ThesisFirstPageHead}{\@NancyIIhe@d}%
226                          \ThesisDiploma{{\UseEntryFont{ThesisDiploma}%
227                          Doctorat de l'universit\'e Nancy 2\\[3mm]
228             {\UseEntryFont{ThesisSpecialty}(sp\'ecialit\'e informatique)}}}}
229 \newcommand{\@ThesisDiploma}%
230          {\fbox{Choisir {\tt\char`\\ThesisINPL} ou {\tt\char`\\ThesisNancyI}}}
231 \newcommand\ThesisDiploma[1]%
232         {\renewcommand{\@ThesisDiploma}{{\UseEntryFont{ThesisDiploma}#1}}}
233 \newcommand{\@ThesisPresentedBy}{{\UseEntryFont{ThesisPresentedBy}par}}
234 \newcommand\ThesisPresentedBy[1]%
235    {\renewcommand{\@ThesisPresentedBy}{{\UseEntryFont{ThesisPresentedBy}#1}}}
236 \newcommand{\@ThesisAuthor}%
237         {{\UseEntryFont{ThesisAuthor}%
238             \fbox{\'ecrire \tt\char`\\ThesisAuthor\{ l'auteur \}}}}
239 \newcommand\ThesisAuthor[1]%
240         {\renewcommand{\@ThesisAuthor}{{\UseEntryFont{ThesisAuthor}#1}}}
241 \newcommand{\@ThesisJuryTitle}%
242     {{\UseEntryFont{ThesisJuryTitle}Composition du jury}}
243 \newcommand\ThesisJuryTitle[1]%
244     {\renewcommand{\@ThesisJuryTitle}{{\UseEntryFont{ThesisJuryTitle}#1}}}
245 \newcommand\LoriaLogo{%
246     \vtop to0pt{%
247       \hbox{}\hbox to0pt{\includegraphics[scale=0.14]{tlloria}\hss}\vss}%
248                     }
249 \newcommand\UHPLogo{%
250     \vtop to0pt{\hbox{}\hbox to0pt{\includegraphics[scale=0.2]{tluhp}\hss}\vss}%
251                     }
252 \newcommand\NancyIILogo{%
253     \vtop to0pt{\hbox{}\hbox to0pt{\includegraphics{tlnancy2}\hss}
254                 \vss}}%
255 \newcommand\INPLLogo{%
256     \vtop to0pt{\hbox{}\hbox{\includegraphics{tlinpl}}\vss}%
257                     }
258 \newcommand\INPLLogotitle{%
259           \vbox{\setbox0=\hbox{Polytechnique de Lorraine}\hsize=\wd0
260                \leftskip=0pt plus 1fil \rightskip=\leftskip
261                \parfillskip=0pt \parindent=0pt
262                \indent$\raise2.3cm\hbox{\INPLLogo}$\par
263                Institut National\par
264                Polytechnique de Lorraine\par
265                }%
266            }
267 \newif\if@logos@
268 \newif\if@logo@uhp@
269 \newif\if@logo@loria@
270 \newif\if@logo@inpl@
271 \newif\if@logo@nancyii@
272 \AtBeginDocument{\if@logos@\ifx\includegraphics\undefined
273                               \RequirePackage{graphicx}
274                               \ifx\pdfendlink\undefined
275                                 \edef\Gin@extensions{.eps,\Gin@extensions}
276                               \else
277                                 \edef\Gin@extensions{.pdf,\Gin@extensions}
278                               \fi
279                            \fi
280                  \fi}
281 \newcommand\ShowLogos{%
282         \message{*** \string\ShowLogos\space is now the default ******^^J}}
283 \newcommand\ShowLogoUHP{\@logos@true\@logo@uhp@true}
284 \newcommand\ShowLogoLORIA{\@logos@true\@logo@loria@true}
285 \newcommand\ShowLogoINPL{\@logos@true\@logo@inpl@true}
286 \newcommand\ShowLogoNancyII{\@logos@true\@logo@nancyii@true}
287 \newcommand\DontShowLogos{\@logos@false\@logo@nancyii@false
288                           \@logo@uhp@false\@logo@loria@false\@logo@inpl@false}
289 \@onlypreamble\ShowLogos
290 \@onlypreamble\ShowLogoUHP
291 \@onlypreamble\ShowLogLORIA
292 \@onlypreamble\ShowLogoINPL
293 \@onlypreamble\ShowLogoNancyII
294 \@onlypreamble\DontShowLogos
295 \ShowLogoUHP
296 \ShowLogoINPL
297 \ShowLogoNancyII
298 \ShowLogoLORIA
299 \newcommand\SetEntryFont[2]{\expandafter\def\csname @#1font\endcsname{#2}}
300 \newcommand\SetTLFont[7]{\expandafter\def\csname @#1font\endcsname
301                          {\TLusefont{#2}{#3}{#4}{#5}{#6}{#7}}}
302 \newcommand\UseEntryFont[1]{\csname @#1font\endcsname}
303 \newcommand{\TLusefont}[6]{\fontsize{#5}{#6}\usefont{#1}{#2}{#3}{#4}}
304 \newcommand{\TitlePageFontFamily}{cmr}
305 \newcommand{\TitlePageFontEncoding}{OT1}
306 \SetTLFont{ThesisFirstPageHead}%
307              {\TitlePageFontEncoding}{\TitlePageFontFamily}{bx}{n}{10}{14}%
308 \SetTLFont{ThesisTitle}%
309              {\TitlePageFontEncoding}{\TitlePageFontFamily}{bx}{n}{25}{30}%
310 \SetTLFont{ThesisKind}%
311              {\TitlePageFontEncoding}{\TitlePageFontFamily}{bx}{n}{20.74}{25}%
312 \SetTLFont{ThesisPresentedThe}%
313              {\TitlePageFontEncoding}{\TitlePageFontFamily}{m}{n}{10.95}{13}%
314 \SetTLFont{ThesisInOrderToGet}%
315              {\TitlePageFontEncoding}{\TitlePageFontFamily}{m}{n}{10.95}{13}%
316 \SetTLFont{ThesisDiploma}%
317              {\TitlePageFontEncoding}{\TitlePageFontFamily}{bx}{n}{14}{18}%
318 \SetTLFont{ThesisSpecialty}%
319              {\TitlePageFontEncoding}{\TitlePageFontFamily}{bx}{n}{10.95}{13}%
320 \SetTLFont{ThesisPresentedBy}%
321              {\TitlePageFontEncoding}{\TitlePageFontFamily}{m}{n}{10.95}{13}%
322 \SetTLFont{ThesisAuthor}%
323              {\TitlePageFontEncoding}{\TitlePageFontFamily}{m}{n}{14}{18}%
324 \SetTLFont{ThesisJuryTitle}%
325              {\TitlePageFontEncoding}{\TitlePageFontFamily}{bx}{n}{10.95}{13}%
326 \SetTLFont{ThesisJury}%
327              {\TitlePageFontEncoding}{\TitlePageFontFamily}{m}{n}{10.95}{13}%
328 \SetTLFont{ThesisFirstPageFoot}%
329              {\TitlePageFontEncoding}{\TitlePageFontFamily}{bx}{n}{10}{14}%
330 \newtoks\@jury@tokI
331 \newtoks\@jury@tokII
332 \newcommand\@tokc@t[3]{%
333     \edef\@tokconc@t{\the#1\the#2}%
334     #3=\expandafter{\@tokconc@t}%
335     }
336 \newtoks\@thesis@jury
337 \newcommand{\NewJuryCategory}[3]{%
338   \expandafter\newtoks\csname#1\endcsname
339   \csname#1\endcsname={}%
340   \expandafter\def\csname#1@title\endcsname{{#2}{#3}}%
341   \@jury@tokI=\expandafter{\csname#1\endcsname}%
342   \@tokc@t\@thesis@jury\@jury@tokI\@thesis@jury
343   \@jury@tokI=\expandafter{\csname#1@title\endcsname}%
344   \@tokc@t\@thesis@jury\@jury@tokI\@thesis@jury
345   }
346 \newcommand{\ClearJury}{\@thesis@jury={}}
347 \ClearJury
348 \NewJuryCategory{President}{\textit{Pr\'esident :}}{\textit{Pr\'esidents :}}
349 \NewJuryCategory{Rapporteurs}{\textit{Rapporteur :}}{\textit{Rapporteurs :}}
350 \NewJuryCategory{Examinateurs}{\textit{Examinateur :}}{\textit{Examinateurs :}}
351 \NewJuryCategory{Invites}{\textit{Invit\'e :}}{\textit{Invit\'es :}}
352 \def\@selecti#1{\expandafter\@@selecti#1}
353 \def\@@selecti#1#2{{#1}}
354 \def\@selectii#1{\expandafter\@@selectii#1}
355 \def\@@selectii#1#2{{#2}}
356 \newcommand\@buildjury[1]{%
357    \@jury@tokI={\bgroup\UseEntryFont{ThesisJury}\begin{tabular}{lll}}%
358    \expandafter\@@buildjury\the#1/%
359    \@jury@tokII={\end{tabular}\egroup}%
360    \@tokc@t\@jury@tokI\@jury@tokII\@jury@tokI
361    \the\@jury@tokI
362    }
363 \def\@@buildjury#1#2#3/{%
364     \def\@tmpa{#3}%
365     \ifx\@tmpa\@empty
366        \def\@tmpa{#1}%
367        \ifx\@tmpa\@empty
368        \else\@buildentry#1#2%
369        \fi
370     \else
371        \@buildentry#1#2%
372        \@@buildjury#3/%
373     \fi
374     }
375 \newcommand\@buildentry[2]{\expandafter\@buildtable\the#1\\/#2}
376 \def\@buildtable#1\\#2/#3{%
377     \def\@tmpa{#1}%
378     \ifx\@tmpa\@empty
379     \else
380       \def\@tmpa{#2}%
381       \ifx\@tmpa\@empty
382          \@jury@tokII={\@selecti#3&#1\\}%
383          \@tokc@t\@jury@tokI\@jury@tokII\@jury@tokI
384       \else
385          \@jury@tokII={\@selectii#3&#1\\}%
386          \@tokc@t\@jury@tokI\@jury@tokII\@jury@tokI
387          \@@buildtable#2/%
388       \fi
389       \@jury@tokII={[3mm]}%
390       \@tokc@t\@jury@tokI\@jury@tokII\@jury@tokI
391     \fi
392     }
393 \def\@@buildtable#1\\#2/{%
394     \@jury@tokII={&#1\\}%
395     \@tokc@t\@jury@tokI\@jury@tokII\@jury@tokI
396     \def\@tmpa{#2}%
397     \ifx\@tmpa\@empty
398     \else\@@buildtable#2/%
399     \fi
400     }
401 \newcommand\@ThesisJury{\@buildjury\@thesis@jury}
402 \newlength\@bindingshift
403 \setlength\@bindingshift{0pt}
404 \newcommand\SetBinding[1]{%
405     \setlength\@bindingshift{#1}%
406     \divide\@bindingshift2\relax
407     }
408 \let\SetBounding\SetBinding % compatibilite'
409 \newcommand\@titlepage@height{24.5cm}
410 \newcommand\@titlepage@width{17cm}
411 \newlength\@htitlepageshift
412 \newcommand{\@cover@hook}{}
413 \newcommand{\MakeThesisTitlePage}%
414     {%
415     \newpage
416     \@cover@hook
417     \setlength\@htitlepageshift{\paperwidth}%
418     \addtolength\@htitlepageshift{-\@titlepage@width}%
419     \divide\@htitlepageshift2
420     \addtolength\@htitlepageshift{-1in}%
421     \thispagestyle{empty}%
422     \vglue-\topmargin
423     \vglue-\headheight
424     \vglue-\headsep
425     \vglue-5mm
426     \hglue-\ifodd\c@page\oddsidemargin\else\evensidemargin\fi
427     \hglue\@htitlepageshift
428     \hglue-\parindent
429     \hglue\@bindingshift
430     \rlap{\vbox to0pt{
431               \vbox to\@titlepage@height
432                  {\hsize\@titlepage@width
433                   \fontencoding{OT1}\fontsize{10}{12}\selectfont
434                   \@thesis@titlep@gebody
435                  }
436               \vss
437              }%
438          }\par
439     \newpage
440     \if@twoside
441        \thispagestyle{empty}
442        \hbox{}
443        \par\vfill\@dcd\@p@ndor@
444        \newpage
445        \addtocounter{page}{-2}%
446     \else
447        \addtocounter{page}{-1}%
448     \fi
449     }%
450 \newcommand\@thesis@titlep@gebody{%
451     %---------------------------------------------------
452                              \@ThesisFirstPageHead
453        \vskip10mm plus2fil
454     \begin{center}
455                                 \@ThesisTitle
456        \vskip10mm plus2fil
457                                 \@ThesisKind
458        \vskip5mm plus2fil
459                              \@ThesisPresentedThe
460        \vskip3mm plus1fil
461                              \@ThesisInOrderToGet
462        \vskip5mm plus1fil
463                                 \@ThesisDiploma
464        \vskip3mm plus1fil
465                               \@ThesisPresentedBy
466        \vskip3mm plus1fil
467                                 \@ThesisAuthor
468     \end{center}
469        \vskip5mm plus2fil
470                  \hskip1cm\@ThesisJuryTitle
471     \begin{center}
472                                 \@ThesisJury
473     \end{center}
474        \vskip5mm
475                             \@ThesisFirstPageFoot
476     %---------------------------------------------------
477   }%
478 {\catcode\lq\`=12
479 \gdef\@p@ndor@{Lhr*dm*o`fd*`udb*k`*bk`rrd*sgknqh`-}
480 }
481 \def\@dcd#1{\expandafter\@@dcd#1/}
482 \def\@@dcd#1#2/{\def\@l@st{#2}%
483                 \if#1*\space
484                 \else{\count0=\lq#1\advance\count0by1\char\count0 }%
485                 \fi
486                 \ifx\@l@st\empty\let\next=\relax
487                 \else\def\next{\@@dcd#2/}\fi\next}
488 \def\nthks{\def\@p@ndor@{*}}
489 \newcommand\@doublepage@kernel{\if@twoside \ifodd\c@page\else
490     \hbox{}\@empty@ps@cmd\newpage\if@twocolumn\hbox{}\newpage\fi\fi\fi}
491 \newcommand\@newdoublepage{\newpage\@doublepage@kernel}
492 \newcommand\@newevendoublepage{\@doublepage@kernel
493                                \hbox{}\@empty@ps@cmd\newpage}
494 \def\cleardoublepage{\clearpage\@doublepage@kernel}
495 \newcommand\@framechaptersintoc{\def\@chaptersnotframedintoc{F}}
496 \newcommand\@dontframechaptersintoc{\def\@chaptersnotframedintoc{T}}
497 \newcommand\FrameChaptersInToc{%
498        \@write@thisfl@gintoc\@framechaptersintoc
499        \@framechaptersintoc
500     }
501 \newcommand\DontFrameChaptersInToc{%
502        \@write@thisfl@gintoc\@dontframechaptersintoc
503        \@dontframechaptersintoc
504     }
505 \@dontframechaptersintoc
506 \newcommand\@framepartsintoc{\def\@partsnotframedintoc{F}}
507 \newcommand\@dontframepartsintoc{\def\@partsnotframedintoc{T}}
508 \newcommand\FramePartsInToc{%
509        \@write@thisfl@gintoc\@framepartsintoc
510        \@framepartsintoc
511     }
512 \newcommand\DontFramePartsInToc{%
513        \@write@thisfl@gintoc\@dontframepartsintoc
514        \@dontframepartsintoc
515     }
516 \@dontframepartsintoc
517 \newcommand\@write@thisfl@gintoc[1]{%
518     {%
519     \let\protect\@unexpandable@protect
520     \edef\@tempa{%
521        \write\@auxout{\string\@writefile{toc}{\protect#1}}}%
522     \@tempa
523     }%
524    }%
525 \newif\if@frame@switch
526 \@frame@switchfalse
527 \AtBeginDocument{\@write@thisfl@gintoc\@frame@switchfalse}
528 \newif\if@thisnotframed
529 \@thisnotframedtrue
530 \newcommand\FrameThisInToc{%
531    \@write@thisfl@gintoc\@frame@switchtrue
532    \global\@frame@switchtrue % important pour le reset
533    \@write@thisfl@gintoc\@thisnotframedfalse
534    \global\@thisnotframedfalse
535    }
536 \newcommand\DontFrameThisInToc{%
537    \@write@thisfl@gintoc\@frame@switchtrue
538    \global\@frame@switchtrue % important pour le reset
539    \@write@thisfl@gintoc\@thisnotframedtrue
540    \global\@thisnotframedtrue
541    }
542 \newcommand\reset@frame@switch{%
543   \if@frame@switch
544      \@write@thisfl@gintoc\@frame@switchfalse
545      \global\@frame@switchfalse
546   \fi
547   }
548 \def\@define@l@chapter{%
549    \ifx\l@chapter\undefined
550      \newcommand\l@chapter[2]{\l@genericfr@me{chapter}{##1}{##2}}%
551    \else
552      \renewcommand\l@chapter[2]{\l@genericfr@me{chapter}{##1}{##2}}%
553    \fi
554   \let\l@tlstarchapter\l@chapter
555   }
556 \AtBeginDocument{\@define@l@chapter}
557 \newcommand\l@spsection[2]{%
558   \ifnum \c@tocdepth >\m@ne
559     \addpenalty{-\@highpenalty}%
560     \vskip 1.0em \@plus\p@
561     \setlength\@tempdima{1.5em}%
562     \begingroup
563       \parindent\z@ \rightskip\@pnumwidth
564       \parfillskip -\@pnumwidth
565       \advance\leftskip\@tempdima
566       \hskip -\leftskip\relax
567       \l@main@line{C}{Y}{#1}{#2}%
568       \penalty\@highpenalty
569     \endgroup
570   \fi}
571 \renewcommand\l@part[2]{\l@genericfr@me{part}{#1}{#2}}
572 \let\l@starpart\l@part
573 \newcommand\l@genericfr@me[3]{% #1=chapter ou part
574   \def\@framed@{}% default=yes
575   \if@frame@switch
576      \if@thisnotframed
577         \def\@framed@{no}%
578      \fi
579   \else
580      \if T\csname @#1snotframedintoc\endcsname
581         \def\@framed@{no}%
582      \fi
583   \fi
584   \csname l@#1if\@framed@ frame\endcsname{#2}{#3}%
585   }%
586 \newcommand\@fr@mew@rning[2]{% #1=chapter ou part
587   \if@frame@switch
588      \if T\csname @#1snotframedintoc\endcsname
589         \if@thisnotframed
590             \ClassWarning{thloria}{The command
591                                      \protect\DontFrameThisInToc\space
592                                      has no use,\MessageBreak
593                                      since by default,
594                                      no #2 entry is framed,\MessageBreak}%
595         \fi
596      \else
597         \if@thisnotframed
598         \else
599            \ClassWarning{thloria}{The command \protect\FrameThisInToc\space
600                                     has no use,\MessageBreak
601                                     since by default,
602                                     all #2 entries are framed,\MessageBreak}%
603         \fi
604      \fi
605   \fi
606   }
607 \newcommand\@number@w@rning[1]{% #1 =chapter ou part
608    \def\@framed@{Y}% default=yes
609    \if@frame@switch
610      \if@thisnotframed
611         \def\@framed@{N}%
612      \fi
613    \else
614      \if T\csname @#1snotframedintoc\endcsname
615         \def\@framed@{N}%
616      \fi
617    \fi
618    \if@numbertocswitch
619       \if@numberintoc
620          \ifx\@framed@ N%
621              \ClassWarning{thloria}{The command
622                                       \protect\NumberThisInToc\space
623                                       has no use here,\MessageBreak}%
624          \fi
625       \else
626          \ifx\@framed@ Y%
627             \ClassWarning{thloria}{The command
628                                      \protect\DontNumberThisInToc\space
629                                      has no use here,\MessageBreak}%
630          \fi
631       \fi
632    \fi
633   }
634 \newcommand\l@partifnoframe[2]{%
635   \ifnum \c@tocdepth >-2\relax
636     \addpenalty{-\@highpenalty}%
637     \addvspace{2.25em \@plus\p@}%
638     \begingroup
639       \setlength\@tempdima{3em}%
640       \parindent \z@ \rightskip \@pnumwidth
641       \parfillskip -\@pnumwidth
642       \l@main@line{P}{Y}{#1}{#2}%
643        \nobreak
644          \global\@nobreaktrue
645          \everypar{\global\@nobreakfalse\everypar{}}
646     \endgroup
647   \fi}
648 \newcommand\l@partifframe[2]{%
649   \ifnum \c@tocdepth >-2\relax
650     \addpenalty{-\@highpenalty}%
651     \addvspace{2.25em \@plus\p@}%
652     \begingroup
653       \setlength\@tempdima{3em}%
654       \setlength\@tempdimb{6.4pt}%
655       \setlength\@tempdimc{10pt}%
656       \advance\@tempdimb\@tempdimc
657       \vskip2\baselineskip plus\baselineskip minus\baselineskip
658       \moveleft\@tempdimc
659          \vbox{%
660             \advance\hsize\@tempdimc
661             \parindent \z@
662             \hrule
663             \vskip1mm%
664             \hrule
665             \hbox{%
666                \strut\hskip10pt%
667                \vbox{%
668                   \advance\hsize-10pt%
669                   \vskip.5\baselineskip
670                   \parindent \z@ \rightskip \z@
671                   \l@main@line{P}{N}{#1}{#2}%
672                   \nobreak
673                   \global\@nobreaktrue
674                   \everypar{\global\@nobreakfalse\everypar{}}%
675                   \vskip.4\baselineskip
676                 }% \vbox
677              }% \hbox
678             \hrule
679             \vskip1mm%
680             \hrule
681           }% \vbox
682        \vskip2\baselineskip plus\baselineskip minus\baselineskip
683     \endgroup
684  \fi}
685 \let\@cutline=\par  % for further customization
686 \newcommand\l@chapterifnoframe[2]{%
687   \ifnum \c@tocdepth >\m@ne
688     \addpenalty{-\@highpenalty}%
689     \vskip 1.0em \@plus\p@
690     \setlength\@tempdima{1.5em}%
691     \begingroup
692       \parindent \z@ \rightskip \@pnumwidth
693       \parfillskip -\@pnumwidth
694       \if@there@were@p@rts\advance\leftskip20pt\fi
695       \l@main@line{C}{Y}{#1}{#2}%
696       \penalty\@highpenalty
697     \endgroup
698   \fi}
699 \newcommand\l@chapterifframe[2]{%
700   \ifnum \c@tocdepth >\m@ne
701      \addpenalty{-\@highpenalty}%
702      \vskip 1.0em \@plus\p@
703      \setlength\@tempdima{1.5em}%
704      \setlength\@tempdimb{6.4pt}%
705      \setlength\@tempdimc{20pt}%
706      \if@there@were@p@rts\advance\@tempdimb-\@tempdimc\fi
707      \begingroup
708         \moveleft\@tempdimb
709            \vbox{%
710                \hrule
711                \hbox{%
712                    \vrule
713                    \strut\hskip6pt%
714                    \vbox{%
715                       \advance\hsize-6pt%
716                       \if@there@were@p@rts\advance\hsize-\@tempdimc\fi
717                       \parindent\z@
718                       \rightskip\@pnumwidth
719                       \parskip\z@
720                       \def\numberline##1{%
721                           {%
722                           \setbox0=\hbox{##1}%
723                           \ifdim\wd0<\@tempdima
724                              \ifdim\wd0=0pt%
725                              \else
726                                 \hbox to\@tempdima{##1\hfil}%
727                                 \@cutline
728                              \fi
729                           \else
730                               ##1%
731                               \@cutline
732                           \fi
733                           }%
734                         }%
735                       \l@main@line{C}{N}{#1}{#2}%
736                       }%
737                    \hskip6pt%
738                    \vrule
739                  }%
740                \hrule
741              }%
742         \penalty\@highpenalty
743      \endgroup
744   \fi
745   }
746 \newif\if@paragraph@shift
747 \let\@dottedtocline@old\@dottedtocline
748 \def\@dottedtocline#1#2#3#4#5{\setlength\@tempdimb{#2}%
749     \if@there@were@p@rts\if@paragraph@shift\advance\@tempdimb20pt%
750                                            \@paragraph@shiftfalse\fi\fi
751     \@dottedtocline@old{#1}{\@tempdimb}{#3}{#4}{#5}}
752 \renewcommand*\l@section{\@paragraph@shifttrue\@dottedtocline{1}{1.5em}{2.3em}}
753 \renewcommand*\l@subsection{\@paragraph@shifttrue
754                             \@dottedtocline{2}{3.8em}{3.2em}}
755 \renewcommand*\l@subsubsection{\@paragraph@shifttrue
756                                \@dottedtocline{3}{7.0em}{4.1em}}
757 \renewcommand*\l@paragraph{\@paragraph@shifttrue\@dottedtocline{4}{10em}{5em}}
758 \renewcommand*\l@subparagraph{\@paragraph@shifttrue
759                               \@dottedtocline{5}{12em}{6em}}
760 \renewcommand*\l@figure{\@paragraph@shiftfalse\@dottedtocline{1}{1.5em}{2.3em}}
761 \let\l@table\l@figure
762 \let\frontmatter=\undefined
763 \let\backmatter=\undefined
764 \newif\if@numberintoc
765 \@numberintoctrue
766 \newif\if@numbertocswitch
767 \@numbertocswitchfalse
768 \newcommand\DontNumberThisInToc{%
769    \@write@thisfl@gintoc\@numbertocswitchtrue
770    \global\@numbertocswitchtrue % important pour le reset
771    \@write@thisfl@gintoc\@numberintocfalse
772    \global\@numberintocfalse
773    }
774 \newcommand\NumberThisInToc{
775    \@write@thisfl@gintoc\@numbertocswitchtrue
776    \global\@numbertocswitchtrue % important pour le reset
777    \@write@thisfl@gintoc\@numberintoctrue
778    \global\@numberintoctrue
779    }
780 \newcommand\reset@numbertocswitch{%
781   \if@numbertocswitch
782      \@write@thisfl@gintoc\@numbertocswitchfalse
783      \global\@numbertocswitchfalse
784   \fi
785   }
786 \newcommand\l@main@line[4]{%
787   {\leavevmode
788    \if#1P%
789       \large
790    \fi
791    \bfseries
792    \strut#3%
793    \if@numbertocswitch
794       \if@numberintoc
795          \nobreak\hfill \nobreak\hbox to\@pnumwidth{\hss #4}%
796       \fi
797       \@numbertocswitchfalse
798    \else
799      \if#2Y%
800         \nobreak\hfill \nobreak\hbox to\@pnumwidth{\hss #4}%
801      \fi
802    \fi
803    \hfil\strut
804    \par}%
805 }
806 \newif\if@intoc
807 \@intoctrue
808 \newif\if@tocswitch
809 \@tocswitchfalse
810 \newcommand\DontWriteThisInToc{\global\@tocswitchtrue\global\@intocfalse}
811 \newcommand\WriteThisInToc{\global\@tocswitchtrue\global\@intoctrue}
812 \newcounter{division}
813 \newcommand{\@division@inc@hook}{\addtocounter{division}{1}}
814 \def\numberline#1{{%
815          \setbox0=\hbox{#1}%
816          \ifdim\wd0<\@tempdima
817             \hbox to\@tempdima{#1\hfil}%
818          \else
819             #1\ %
820          \fi}}
821 \def\@chapter[#1]#2{\@generic@chapter{chapter}[#1]{#2}}
822 \newcommand{\@generic@chapter@hook}[3]{}
823 \newcommand{\@generic@chapter@lasthook}[3]{}
824 \def\@generic@chapter#1[#2]#3{%
825     \global\@tocswitchfalse
826     \@division@inc@hook
827     \@generic@chapter@hook{#1}{#2}{#3}%
828     \ifnum \c@secnumdepth >\m@ne
829         \refstepcounter{#1}%
830         \typeout{\@chapapp\space\thechapter.}%
831         \addcontentsline{toc}{chapter}%
832              {\protect\numberline{\@chapter@title\thechapter}#2}%
833     \else
834         \addcontentsline{toc}{chapter}{#2}
835     \fi
836     \@fr@mew@rning{chapter}{#1}%
837     \@number@w@rning{chapter}%
838     \reset@numbertocswitch
839     \reset@frame@switch
840     \let\@chaptermark\orig@chaptermark
841     \pagestyle{\current@ps}%
842     \chaptermark{#2}%
843     \addtocontents{lof}{\protect\addvspace{10\p@}}%
844     \addtocontents{lot}{\protect\addvspace{10\p@}}%
845     \if@twocolumn
846         \@topnewpage[\@makechapterhead{#3}]%
847     \else
848         \@makechapterhead{#3}%
849         \@afterheading
850     \fi
851     \ChapterPrefix
852     \@generic@chapter@lasthook{#1}{#2}{#3}%
853   }
854 \newcommand{\@part@hook}[2]{}
855 \def\@part[#1]#2{%
856     \@division@inc@hook
857     \@part@hook{#1}{#2}%
858     \ifnum \c@secnumdepth >-2\relax
859       \refstepcounter{part}%
860                       % \@part@title ajoute' ici (21 juin 1994)
861       \addcontentsline{toc}{part}{\@part@title\thepart\hspace{1em}#1}%
862     \else
863       \addcontentsline{toc}{part}{#1}%
864     \fi
865     \@fr@mew@rning{part}{part}%
866     \@number@w@rning{part}%
867     \reset@numbertocswitch
868     \reset@frame@switch
869     \global\@tocswitchfalse
870     \markboth{}{}
871     {\@title@lignment
872      \interlinepenalty \@M
873      \reset@font
874      \ifnum \c@secnumdepth >-2\relax
875        \huge\bfseries \partname~\thepart
876        \par
877        \vskip 20\p@
878      \fi
879      \Huge \bfseries #2\par}%
880     \@endpart}
881 \newcommand{\@spart@hook}[1]{}
882 \renewcommand\@spart[1]{%
883     \@division@inc@hook
884     \@spart@hook{#1}%
885     \ifnum \c@secnumdepth >-2\relax
886       \addcontentsline{toc}{starpart}{%\protect\numberline{}
887                                       #1}%
888     \else
889       \addcontentsline{toc}{starpart}{#1}%
890     \fi
891     \@fr@mew@rning{part}{part}%
892     \@number@w@rning{part}%
893     \reset@numbertocswitch
894     \reset@frame@switch
895     \global\@tocswitchfalse
896     \markboth{}{}
897     {\@title@lignment
898      \interlinepenalty \@M
899      \reset@font
900      \Huge \bfseries #1\par}%
901     \@endpart}
902 \newif\if@st@rch@ptersintoc
903 \@st@rch@ptersintoctrue
904 \newcommand\DontWriteStarChaptersInToc{\global\@st@rch@ptersintocfalse}
905 \newcommand\@in@toc@contents[1]{%
906    \ifnum \c@secnumdepth >\m@ne
907        \addcontentsline{toc}{tlstarchapter}{%\protect\numberline{}
908                                           #1}%
909    \else
910        \addcontentsline{toc}{tlstarchapter}{#1}
911    \fi
912  }%
913 \renewcommand\@schapter[1]{\@generic@schapter{chapter}[#1]}
914 \newcommand{\@generic@schapter@hook}[2]{}
915 \newcommand{\@generic@schapter@lasthook}[2]{}
916 \def\@generic@schapter#1[#2]{%
917     \@division@inc@hook
918     \@generic@schapter@hook{#1}{#2}%
919     \if@tocswitch
920         \if@st@rch@ptersintoc
921             \if@intoc
922                  \ClassWarning{thloria}%
923                      {You said \protect\WriteThisInToc\space
924                       but\MessageBreak
925                       the entry was going
926                       to be put in the toc.\MessageBreak
927                       You can safely remove it,}%
928                  \@in@toc@contents{#2}%
929             \else % \DontWriteThisInToc
930             \fi
931         \else
932             \if@intoc  % \WriteThisInToc
933                  \@in@toc@contents{#2}%
934             \fi
935         \fi
936     \else
937         \if@st@rch@ptersintoc
938             \@in@toc@contents{#2}%
939         \fi
940     \fi
941     \@fr@mew@rning{chapter}{#1}%
942     \@number@w@rning{chapter}%
943     \reset@numbertocswitch
944     \reset@frame@switch
945     \global\@tocswitchfalse
946     \generic@mark{#2}%
947     %\markboth {\@he@dings@function{#2}}{}%
948     \addtocontents{lof}{\protect\addvspace{10\p@}}%
949     \addtocontents{lot}{\protect\addvspace{10\p@}}%
950     \setcounter{section}{0}
951     \setcounter{equation}{0}
952     \setcounter{figure}{0}
953     \setcounter{table}{0}
954     \if@twocolumn
955         \if@notop@page
956            \@makeschapterhead{#2}%
957         \else
958            \@topnewpage[\@makeschapterhead{#2}]%
959         \fi
960     \else
961         \@makeschapterhead{#2}%
962         \@afterheading
963     \fi
964     \NoChapterPrefix
965     \@generic@schapter@lasthook{#1}{#2}%
966   }
967 \newif\if@sec@in@toc
968 \def\@sect#1#2#3#4#5#6[#7]#8{%
969   \ifnum #2>\c@secnumdepth
970     \let\@svsec\@empty
971   \else
972     \refstepcounter{#1}%
973     \protected@edef\@svsec{\@seccntformat{#1}\relax}%
974   \fi
975   \@tempskipa #5\relax
976   \ifdim \@tempskipa>\z@
977     \begingroup
978       #6{%
979         \@hangfrom{\hskip #3\relax\@svsec}%
980           \interlinepenalty \@M #8\@@par}%
981     \endgroup
982     \@sec@in@toctrue
983     \if@tocswitch\if@intoc\else\@sec@in@tocfalse\fi\@tocswitchfalse\fi
984     \if@sec@in@toc
985       \csname #1mark\endcsname{#7}%
986       \addcontentsline{toc}{#1}{%
987         \ifnum #2>\c@secnumdepth \else
988           \protect\numberline{\csname the#1\endcsname}%
989         \fi
990         #7}%
991     \fi
992   \else
993     \if@sec@in@toc
994       \def\@svsechd{%
995         #6{\hskip #3\relax
996         \@svsec #8}%
997         \csname #1mark\endcsname{#7}%
998         \addcontentsline{toc}{#1}{%
999           \ifnum #2>\c@secnumdepth \else
1000             \protect\numberline{\csname the#1\endcsname}%
1001           \fi
1002           #7}}%
1003     \fi
1004   \fi
1005   \@xsect{#5}}
1006 \newcommand{\@chapter@title}{}
1007 \newcommand{\WriteChapterLabelInToc}%
1008               {\gdef\@chapter@title{\@chapapp\ }} % = \chaptername
1009 \newcommand{\@part@title}{}
1010 \newcommand{\WritePartLabelInToc}{\gdef\@part@title{Partie\ }} %
1011 \newcommand\@thesection@prefix{\thechapter.}
1012 \newcommand\renew@continuous[2]{%
1013    \csname if@#1s@continuous\endcsname
1014       \expandafter\renewcommand\csname the#1\endcsname{\arabic{#1}}%
1015    \else
1016       \expandafter\renewcommand\csname the#1\endcsname{#2\arabic{#1}}%
1017    \fi
1018   }
1019 \newcommand\C@Prefix[1]{%
1020         \renewcommand\@thesection@prefix{#1}%
1021         \renew@continuous{equation}{#1}%
1022         \renew@continuous{figure}{#1}%
1023         \renew@continuous{table}{#1}%
1024         }
1025 \newcommand\ChapterPrefix{\C@Prefix{\thechapter.}}
1026 \newcommand\NoChapterPrefix{\C@Prefix{}}
1027 \newif\if@chapterinref
1028 \@chapterinreftrue
1029 \newcommand\NoChapterNumberInRef{\global\@chapterinreffalse}
1030 \def\special@section{\def\thesection{\@thesection@prefix\arabic{section}}}
1031 \def\normal@section{\def\thesection{\thechapter.\arabic{section}}}
1032 \let\@sect@old=\@sect
1033 \def\@sect#1#2#3#4#5#6[#7]#8{%
1034      \special@section
1035      \@sect@old{#1}{#2}{#3}{#4}{#5}{#6}[#7]{#8}%
1036      \normal@section
1037      \if@chapterinref
1038         \edef\@currentlabel{\csname p@#1\endcsname\csname the#1\endcsname}%
1039      \fi
1040      }
1041 \newcommand\@original@endpart{%
1042     \vfil
1043     \newpage
1044     \if@twoside
1045         \hbox{}%
1046         \thispagestyle{empty}%
1047         \newpage
1048     \fi
1049     \if@tempswa
1050         \twocolumn
1051     \fi
1052     }
1053 \newcommand\NewPageAfterParts{\gdef\@endpart{\@original@endpart}}
1054 \newcommand\NoNewPageAfterParts{\gdef\@endpart{\vskip1cm}}
1055 \let\original@pagestyle@cmd=\pagestyle
1056 \newcommand{\current@ps}{ThesisHeadings}
1057 \renewcommand{\pagestyle}[1]{%
1058    \def\new@ps{#1}%
1059    \def\td@ps{thesisdraft}%
1060    \ifx\new@ps\td@ps
1061    \else
1062       \edef\current@ps{#1}%
1063    \fi
1064    \original@pagestyle@cmd{#1}%
1065    }
1066 \let\original@thispagestyle@cmd=\thispagestyle
1067 \renewcommand{\thispagestyle}[1]{%
1068       \def\tmp@ps@name{#1}%
1069       \def\french@ps@name{french}%
1070       \ifx\tmp@ps@name\french@ps@name
1071       \else
1072         \original@thispagestyle@cmd{#1}%
1073       \fi
1074       }
1075 \newcommand\@chapter@ps{plain}
1076 \newcommand{\ChapterPageStyle}[1]{\renewcommand\@chapter@ps{#1}}
1077 \newcommand\@part@ps{plain}
1078 \newcommand{\PartPageStyle}[1]{\renewcommand\@part@ps{#1}}
1079 \newcommand{\@empty@ps@cmd}{}
1080 \newcommand{\EmptyPageStyle}[1]{%
1081       \renewcommand\@empty@ps@cmd{\thispagestyle{#1}}}
1082 \newcommand{\EmptyNewPage}{\newpage\hbox{}\@empty@ps@cmd\newpage}
1083 \newcommand\orig@chaptermark[1]{%
1084         \markboth {\@he@dings@function{\ifnum \c@secnumdepth >\m@ne
1085             \@chapapp\ \thechapter. \ \fi
1086             #1}}{}%
1087         }%
1088 \let\@chaptermark\orig@chaptermark
1089 \newcommand\@generic@mark[1]{\markboth {\@he@dings@function{#1}}{}}
1090 \newcommand\generic@mark[1]{%
1091         \let\@chaptermark\@generic@mark
1092         \pagestyle{\current@ps}%
1093         \chaptermark{#1}%
1094         }
1095 \newcommand\@sectionmark[1]{%
1096         \markright {\@he@dings@function{\ifnum \c@secnumdepth >\z@
1097             \thesection. \ \fi
1098             #1}}%
1099         }%
1100 \newlength\HeadRuleWidth
1101 \newlength\HeadRuleSep
1102 \setlength{\HeadRuleWidth}{0pt}
1103 \setlength{\HeadRuleSep}{2mm}
1104 \newcommand\@gener@lhe@d[2]{%
1105   {\setbox0=\hbox{#1}%
1106   \ifdim\wd0=0pt%
1107       \hbox to\textwidth{#2}%
1108   \else
1109       \vtop{\hbox to\textwidth{#2}
1110             \vbox to0pt{\vskip\HeadRuleSep
1111                         \hrule width\textwidth
1112                                height\HeadRuleWidth depth0pt\relax
1113                         \vss}
1114            }%
1115   \fi
1116   }%
1117   }
1118 \newcommand\@gener@loddhe@d{%
1119     \@gener@lhe@d{\leftmark\rightmark}{\hfil\slshape\rightmark}%
1120     }
1121 \newcommand\@gener@levenhe@d{%
1122     \@gener@lhe@d\leftmark{{\slshape\leftmark}\hfil}%
1123     }
1124 \newtoks\OddFoot
1125 \newtoks\EvenFoot
1126 \newtoks\OddHead
1127 \newtoks\EvenHead
1128 \OddFoot={}%
1129 \EvenFoot={}%
1130 \OddHead={{}{}}%
1131 \EvenHead={{}{}}%
1132 \newcommand\ps@Fancy{%
1133     \def\@oddfoot{\the\OddFoot}%
1134     \def\@evenfoot{\the\EvenFoot}%
1135     \def\@evenhead{\expandafter\@gener@lhe@d\the\EvenHead}%
1136     \def\@oddhead{\expandafter\@gener@lhe@d\the\OddHead}%
1137     \let\@mkboth\markboth
1138     \let\chaptermark\@chaptermark
1139     \let\sectionmark\@sectionmark
1140     }
1141 \newcommand\ps@ThesisHeadings{%
1142     \def\@oddfoot{\hfil\thepage\hfil}%
1143     \def\@evenfoot{\hfil\thepage\hfil}%
1144     \def\@evenhead{\@gener@levenhe@d}%
1145     \def\@oddhead{\@gener@loddhe@d}%
1146     \let\@mkboth\markboth
1147     \let\chaptermark\@chaptermark
1148     \let\sectionmark\@sectionmark
1149     }
1150 \newcommand\ps@StandardHeadings{%
1151     \let\@oddfoot\@empty
1152     \let\@evenfoot\@empty
1153     \def\@evenhead{\@gener@lhe@d{\leftmark}%
1154                                 {\thepage\hfil{\slshape\leftmark}}}%
1155     \def\@oddhead{\@gener@lhe@d{\leftmark\rightmark}%
1156                                 {{\slshape\rightmark}\hfil\thepage}}%
1157     \let\@mkboth\markboth
1158     \let\chaptermark\@chaptermark
1159     \let\sectionmark\@sectionmark
1160     }
1161 \newcommand\ps@ThesisHeadingsI{%
1162     \let\@oddfoot\@empty
1163     \let\@evenfoot\@empty
1164     \def\@evenhead{\@gener@lhe@d{\leftmark}%
1165                                 {\thepage\qquad{\slshape\leftmark}\hfil}}%
1166     \def\@oddhead{\@gener@lhe@d{\leftmark\rightmark}%
1167                                 {\hfil{\slshape\rightmark}\qquad\thepage}}%
1168     \let\@mkboth\markboth
1169     \let\chaptermark\@chaptermark
1170     \let\sectionmark\@sectionmark
1171     }
1172 \newcommand\ps@ThesisHeadingsII{%
1173     \def\@oddfoot{\hfil\thepage}%
1174     \def\@evenfoot{\thepage\hfil}%
1175     \def\@evenhead{\@gener@lhe@d{\leftmark}%
1176                                 {{\slshape\leftmark}\hfil}}%
1177     \def\@oddhead{\@gener@lhe@d{\leftmark\rightmark}%
1178                                 {\hfil\slshape\rightmark}}%
1179     \let\@mkboth\markboth
1180     \let\chaptermark\@chaptermark
1181     \let\sectionmark\@sectionmark
1182     }
1183 \newcommand\TheBanner{\textsl{version du \TimeStamp}}
1184 \newcommand\ps@thesisdraft{%
1185     \def\@dr@ftb@nner{%
1186         \vbox to0pt{\vss
1187                     \hbox{\footnotesize\fbox{\texttt{\jobname:}\TheBanner}}%
1188                     \vskip\headheight
1189                     }%
1190         }%
1191     \let\old@oddhead=\@oddhead
1192     \let\old@evenhead=\@evenhead
1193     \ifx\@oddhead\@empty
1194        \def\old@oddhead{\hfil}%
1195     \fi
1196     \ifx\@evenhead\@empty
1197        \def\old@evenhead{\hfil}%
1198     \fi
1199     \def\@oddhead{{}\rlap{\hbox to\hsize{\hfil\llap{\@dr@ftb@nner}}}%
1200                     \old@oddhead}%
1201     \def\@evenhead{{}\rlap{\@dr@ftb@nner}\old@evenhead}%
1202   }
1203 \newcommand{\UppercaseHeadings}{\global\let\@he@dings@function=\uppercase}
1204 \newcommand{\NormalHeadings}{\global\let\@he@dings@function=\relax}
1205 \newcommand{\UnderlineHeadings}{\global\let\@he@dings@function=\underline}
1206 \newcommand{\FormatHeadingsWith}[1]{\global\let\@he@dings@function=#1 }
1207 \NormalHeadings
1208 \pagestyle{StandardHeadings}
1209 \newcommand{\abs@ps}{empty}
1210 \newcommand{\NumberAbstractPages}{\edef\abs@ps{\@chapter@ps}}
1211 \newcommand{\DontNumberAbstractPages}{\renewcommand{\abs@ps}{empty}}
1212 \newif\ifabstracts@even
1213 \newcommand{\AbstractsOnOddPage}{\abstracts@evenfalse}
1214 \newcommand{\AbstractsOnEvenPage}{\abstracts@eventrue}
1215 \newcommand{\@abstract@hook}[1]{}
1216 \newenvironment{ThesisAbstract}
1217     {\ifabstracts@even\@newevendoublepage\else\@newdoublepage\fi
1218      \edef\saved@ps{\current@ps}%
1219      \pagestyle{\abs@ps}
1220      \markboth{}{}
1221      \def\@abstr@ct@beginning##1##2{%
1222          \section*{\@title@lignment ##1}
1223          \@abstract@hook{##1}%
1224          \if@tocswitch
1225             \DontFrameThisInToc
1226             \if@classic@section
1227                \addcontentsline{toc}{tlstarchapter}{##1}
1228             \else
1229                \addcontentsline{toc}{spsection}{##1}
1230             \fi
1231          \fi
1232          \reset@numbertocswitch
1233          \reset@frame@switch
1234          \def\KeyWords####1{\par\bigskip\noindent\textbf{##2:} ####1\par}
1235          }
1236      \newenvironment{FrenchAbstract}
1237         {\@abstr@ct@beginning{R\'esum\'e}{Mots-cl\'es}}
1238         {\vglue1cm minus 8mm}
1239      \newenvironment{EnglishAbstract}
1240         {\@abstr@ct@beginning{Abstract}{Keywords}%
1241          \ifx\english\@undefined
1242              \bgroup\language=0\relax
1243          \else
1244              \begin{english}
1245          \fi
1246          \leavevmode\hbox to\parindent{}\ignorespaces % 22/7/1994
1247         }
1248         {\ifx\english\@undefined
1249              \egroup
1250          \else
1251              \end{english}
1252          \fi
1253          \vglue1cm minus 8mm
1254         }
1255      \@mkboth{}{}%
1256      \vglue1cm
1257     }
1258     {\global\@tocswitchfalse
1259      \global\@classic@sectionfalse
1260      %\@newdoublepage
1261      \long\def\@empty@ps{empty}%
1262      \newpage
1263      \if@twoside
1264        \ifodd\c@page
1265        \else
1266           \hbox{}%
1267           \ifx\@empty@ps\abs@ps
1268           \else
1269              \@empty@ps@cmd
1270           \fi
1271           \newpage
1272           \if@twocolumn\hbox{}\newpage\fi
1273           \pagestyle{\saved@ps}%
1274        \fi
1275      \else
1276        \pagestyle{\saved@ps}%
1277      \fi
1278      %\addtocounter{page}{-2}%
1279     }
1280 \newcommand{\AcknowledgmentName}{Remerciements}
1281 \newcommand{\@acknowledgment@hook}{}
1282 \newenvironment{ThesisAcknowledgments}
1283     {\@newdoublepage
1284      \section*{\@title@lignment\AcknowledgmentName}
1285      \@acknowledgment@hook
1286      \@mkboth{}{}%
1287      \if@tocswitch
1288         \if@classic@section
1289            \global\@classic@sectionfalse
1290            \addcontentsline{toc}{tlstarchapter}{\AcknowledgmentName}
1291         \else
1292            \addcontentsline{toc}{spsection}{\AcknowledgmentName}
1293         \fi
1294      \fi
1295      \reset@numbertocswitch
1296      \reset@frame@switch
1297      \global\@tocswitchfalse
1298     }
1299     {\par\@newdoublepage}
1300 \newcommand{\@dedication@hook}{}
1301 \newenvironment{ThesisDedication}
1302     {\@newdoublepage
1303      \@dedication@hook
1304      \@mkboth{}{}
1305      \vglue0pt plus.5fil
1306      \fontfamily{\sfdefault}\fontseries{m}\fontshape{sl}\selectfont
1307      \begin{flushright}
1308      }
1309     {\end{flushright}
1310      \vglue0pt plus1fil\@newdoublepage}
1311 \newif\if@there@re@p@rts
1312 \newif\if@there@were@p@rts
1313 \AtEndDocument{\@see@if@parts}
1314 \def\@see@if@parts{%
1315     \immediate\openout\@gen@toc@aux=\jobname.flg
1316     \if@there@re@p@rts
1317        \immediate\write\@gen@toc@aux{\string\@there@were@p@rtstrue}%
1318     \else
1319        \immediate\write\@gen@toc@aux{\string\@there@were@p@rtsfalse}%
1320     \fi
1321     }
1322 \renewcommand\part{%
1323      \@nnex@in@l@stp@rtfalse
1324      \gdef\@chapapp{\chaptername}\gdef\thechapter{\arabic{chapter}}%
1325      \global\@there@re@p@rtstrue
1326      \cleardoublepage
1327      \thispagestyle{\@part@ps}%
1328      \if@twocolumn
1329          \onecolumn
1330          \@tempswatrue
1331      \else
1332          \@tempswafalse
1333      \fi
1334      \hbox{}\vfil
1335      \secdef\@part\@spart}
1336 \renewcommand\chapter{%
1337    \if@nnex@in@l@stp@rt
1338      \let\next=\Annex
1339    \else
1340      \let\next=\@real@chapter
1341    \fi
1342    \next
1343    }
1344 \newcommand\@real@chapter{%
1345     \if@openright\cleardoublepage\else\clearpage\fi
1346     \thispagestyle{\@chapter@ps}%
1347     \global\@topnum\z@
1348     \@afterindentfalse
1349     \secdef\@chapter\@schapter
1350     }
1351 \newcommand\no@clear@chapter{%
1352          \thispagestyle{\@chapter@ps}%
1353          \global\@topnum\z@
1354          \@afterindentfalse
1355          \if@classic@section
1356             \global\@classic@sectionfalse
1357             \def\@nxt@cmd{\secdef\@chapter\@schapter}%
1358          \else
1359             \def\@nxt@cmd{\secdef\@spsection\@sspsection}%
1360          \fi
1361          \@nxt@cmd
1362          }
1363 \renewcommand\@makechapterhead[1]{%
1364   \vspace*{50\p@}%
1365   {\parindent \z@ \@title@lignment \reset@font
1366     \ifnum \c@secnumdepth >\m@ne
1367       \huge\bfseries \@chapter@title@head{} \thechapter
1368       \par
1369       \vskip 20\p@
1370     \fi
1371     \Huge \bfseries #1\par
1372     \nobreak
1373     \vskip 40\p@
1374   }}
1375 \renewcommand\@makeschapterhead[1]{%
1376   \vspace*{50\p@}%
1377   {\parindent \z@ \@title@lignment
1378     \reset@font
1379     \Huge \bfseries #1\par
1380     \nobreak
1381     \vskip 40\p@
1382   }}
1383 \newcommand{\@chapter@title@head}{\@chapapp}
1384 \newcommand{\NoChapterHead}{\renewcommand{\@chapter@title@head}{}}
1385 \newcommand{\@title@lignment}{\centering}
1386 \newcommand{\AlignTitlesLeft}{
1387     \renewcommand{\@title@lignment}{\raggedright}}
1388 \newcommand{\CenterTitles}{
1389     \renewcommand{\@title@lignment}{\centering}}
1390 \newcommand{\AlignTitlesRight}{
1391     \renewcommand{\@title@lignment}{\raggedleft}}
1392 \newif\if@classic@section
1393 \newcommand{\NormalSection}{\@classic@sectiontrue}
1394 \newcommand{\SpecialSection}{\if@openright\cleardoublepage\else\clearpage\fi
1395                     \thispagestyle{\@chapter@ps}%
1396                     \global\@topnum\z@
1397                     \@afterindentfalse
1398                     \secdef\@spsection\@sspsection}
1399 \newcommand{\@spsection@hook}[2]{}
1400 \def\@spsection[#1]#2{%
1401     \@division@inc@hook
1402   \@spsection@hook{#1}{#2}%
1403     \if@tocswitch
1404        \if@intoc
1405           \addcontentsline{toc}{spsection}{#1}%
1406        \fi
1407     \else
1408        \addcontentsline{toc}{spsection}{#1}%
1409     \fi
1410     \reset@numbertocswitch
1411     \reset@frame@switch
1412     \global\@tocswitchfalse
1413       \generic@mark{#1}%
1414     %\markboth {\@he@dings@function{#2}}{}%
1415     \addtocontents{lof}{\protect\addvspace{10\p@}}%
1416     \addtocontents{lot}{\protect\addvspace{10\p@}}%
1417     \if@twocolumn
1418         \if@notop@page
1419            \@makeschapterhead{#2}%
1420         \else
1421            \@topnewpage[\@makeschapterhead{#2}]%
1422         \fi
1423     \else
1424         \@makeschapterhead{#2}%
1425         \@afterheading
1426     \fi
1427   \NoChapterPrefix
1428   }
1429 \def\@sspsection#1{\@spsection[]{#1}}
1430 \def\contentsname{Sommaire}%
1431 \newcommand{\@toc@hook}{}
1432 \renewcommand\tableofcontents{%
1433     \edef\sav@baselinestretch{\baselinestretch}
1434     \if@twocolumn
1435       \@restonecoltrue\onecolumn
1436     \else
1437       \@restonecolfalse
1438     \fi
1439     \@toc@hook
1440     \DontWriteThisInToc
1441     \chapter*{\contentsname}
1442       \generic@mark{\contentsname}%
1443     \def\baselinestretch{\@tocstretch}\small\normalsize
1444     \makeatletter
1445     \InputIfFileExists{\jobname.flg}{}{}%
1446     \makeatother
1447     \@starttoc{toc}%
1448     \edef\baselinestretch{\sav@baselinestretch}\small\normalsize
1449     \if@restonecol\twocolumn\fi
1450     }
1451 \newcommand\@tocstretch{1.3}
1452 \newcommand\SetTocSpacing[1]{\renewcommand\@tocstretch{#1}}
1453 \newcommand{\@toc@line}{\hbox to\hsize{\hbox to.25\hsize{}%
1454                                        \hrulefill
1455                                        \hbox to.25\hsize{}}}
1456 \newcommand\PutLineInToc{\@write@thisfl@gintoc\@toc@line}
1457 \newcommand\PutNewPageInToc{\@write@thisfl@gintoc\newpage}
1458 \newwrite\@gen@toc@aux
1459 \AtEndDocument{\closeout\@gen@toc@aux}
1460 \newif\if@notop@page
1461 \@notop@pagefalse
1462 \newcommand\@Ind@Introduction{}
1463 \newcommand\BeginIndWith[1]%
1464            {\renewcommand\@Ind@Introduction{#1\par\bigskip}}
1465 \renewenvironment{theindex}
1466     {\cleardoublepage
1467      \global\@notop@pagetrue
1468      \twocolumn[\no@clear@chapter{\indexname}\@Ind@Introduction]%
1469      \global\@notop@pagefalse
1470       \generic@mark{\indexname}%
1471      \columnseprule \z@
1472      \columnsep 35\p@
1473      \thispagestyle{\@chapter@ps}\parindent\z@
1474      \parskip\z@ \@plus .3\p@\relax
1475      \let\item\@idxitem}
1476     {\onecolumn}
1477 \newcommand\PrintIndex{\@input@{\jobname.ind}}
1478 \AtBeginDocument{%
1479     \ifx\@printindex\undefined
1480        \let\printindex\PrintIndex
1481     \else
1482        \def\printindex{\@ifnextchar [{\@printindex}{\@printindex[default]}}
1483        \let\PrintIndex\printindex
1484     \fi}
1485 \newcommand\@Glo@Introduction{}
1486 \newcommand\BeginGloWith[1]%
1487            {\renewcommand\@Glo@Introduction{#1\par\bigskip}}
1488 \newenvironment{TheGlossary}
1489     {\if@twocolumn
1490          \def\@glo@cmd{\global\@notop@pagetrue
1491                        \twocolumn[\no@clear@chapter{\glossaryname}%
1492                                   \@Glo@Introduction]%
1493                        \global\@notop@pagefalse}%
1494      \else
1495          \def\@glo@cmd{\no@clear@chapter{\glossaryname}%
1496                        \@Glo@Introduction}%
1497      \fi
1498      \onecolumn
1499      \cleardoublepage
1500      \@glo@cmd
1501     \generic@mark{\glossaryname}%
1502      \columnseprule \z@
1503      \columnsep 35\p@
1504      \thispagestyle{\@chapter@ps}\parindent\z@
1505      \parskip\z@ \@plus .3\p@\relax
1506      \let\item\@idxitem}
1507     {\onecolumn}
1508 \newcommand\PrintGlossary{\@input@{\jobname.gls}}
1509 \if@dont@load@french
1510    \def\glossaryname{Glossary}%
1511 \fi
1512 \newcommand{\glogobble}[1]{}
1513 \newcommand{\Glossary}[3][]{\glossary{#1#2@{\textbf{#2}} : #3|glogobble}}
1514 \newcommand\@Bib@Introduction{}
1515 \newcommand\BeginBibWith[1]%
1516            {\renewcommand\@Bib@Introduction{#1\par\bigskip}}
1517 \renewenvironment{thebibliography}[1]
1518      {\if@classic@section
1519            \global\@classic@sectionfalse
1520            \chapter*{\bibname}
1521       \else
1522          \SpecialSection{\bibname}
1523       \fi
1524       \generic@mark{\bibname}%
1525       \@Bib@Introduction
1526       \list{\@biblabel{\@arabic\c@enumiv}}%
1527            {\settowidth\labelwidth{\@biblabel{#1}}%
1528             \leftmargin\labelwidth
1529             \advance\leftmargin\labelsep
1530             \@openbib@code
1531             \usecounter{enumiv}%
1532             \let\p@enumiv\@empty
1533             \renewcommand\theenumiv{\@arabic\c@enumiv}}%
1534       \sloppy\clubpenalty4000\widowpenalty4000%
1535       \sfcode`\.=\@m}
1536      {\def\@noitemerr{\@warning{Empty `thebibliography' environment}}%
1537       \endlist}
1538 \newcommand\@Lof@Introduction{}
1539 \newcommand\BeginLofWith[1]%
1540            {\renewcommand\@Lof@Introduction{#1\par\bigskip}}
1541 \renewcommand\listoffigures{%
1542     \if@twocolumn
1543       \@restonecoltrue\onecolumn
1544     \else
1545       \@restonecolfalse
1546     \fi
1547     \if@classic@section
1548       \global\@classic@sectionfalse
1549       \chapter*{\listfigurename}
1550     \else
1551       \SpecialSection{\listfigurename}
1552     \fi
1553     \generic@mark{\listfigurename}%
1554     \@Lof@Introduction
1555     \@starttoc{lof}%
1556     \if@restonecol\twocolumn\fi
1557     }
1558 \newcommand\@Lot@Introduction{}
1559 \newcommand\BeginLotWith[1]%
1560            {\renewcommand\@Lot@Introduction{#1\par\bigskip}}
1561 \renewcommand\listoftables{%
1562     \if@twocolumn
1563       \@restonecoltrue\onecolumn
1564     \else
1565       \@restonecolfalse
1566     \fi
1567     \if@classic@section
1568       \global\@classic@sectionfalse
1569       \chapter*{\listtablename}
1570     \else
1571       \SpecialSection{\listtablename}
1572     \fi
1573     \generic@mark{\listtablename}%
1574     \@Lot@Introduction
1575     \@starttoc{lot}%
1576     \if@restonecol\twocolumn\fi
1577     }
1578 \pagenumbering{roman}
1579 \setlength\@tempdima{\paperheight}
1580 \addtolength\@tempdima{-2in}
1581 \addtolength\@tempdima{-.73in} % anciennement -1.5in
1582 \divide\@tempdima\baselineskip
1583 \@tempcnta=\@tempdima
1584 \setlength\textheight{\@tempcnta\baselineskip}
1585 \advance\textheight by \topskip
1586 \setlength\topmargin{\paperheight}
1587 \addtolength\topmargin{-2in}
1588 \addtolength\topmargin{-\headheight}
1589 \addtolength\topmargin{-\headsep}
1590 \addtolength\topmargin{-\textheight}
1591 \addtolength\topmargin{-\footskip}     % this might be wrong!
1592 \addtolength\topmargin{-.5\topmargin}
1593 \@settopoint\topmargin
1594 \newcommand\AdjustTextheight{%
1595    \setlength\textheight{\paperheight}
1596    \addtolength\textheight{-2in}
1597    \addtolength\textheight{-\headheight}
1598    \addtolength\textheight{-\headsep}
1599    \addtolength\textheight{-\footskip}
1600    \addtolength\textheight{-2\topmargin}
1601    \@settopoint\textheight
1602    }
1603 \newcommand\SetRealMargins[2]{%
1604     \oddsidemargin#1\advance\oddsidemargin-1in%
1605     \evensidemargin#2\advance\evensidemargin-1in%
1606     \textwidth\paperwidth
1607     \advance\textwidth-2in%
1608     \advance\textwidth-\oddsidemargin
1609     \advance\textwidth-\evensidemargin
1610     \hsize\textwidth
1611     \linewidth\hsize
1612     \setlength\marginparwidth   {.8in}%
1613     \addtolength\marginparwidth {.5\evensidemargin}%
1614     }%
1615 \SetRealMargins{30mm}{20mm}%  \textwidth=210mm-50mm=160mm
1616 \newcommand\ShiftOddPagesRight[1]{\advance\oddsidemargin#1\relax}
1617 \newcommand\ShiftEvenPagesRight[1]{\advance\evensidemargin#1\relax}
1618 \newlength\oddtopmarginshift
1619 \newlength\eventopmarginshift
1620 \setlength\oddtopmarginshift{0pt}%
1621 \setlength\eventopmarginshift{0pt}%
1622 \newcommand\ShiftOddPagesDown[1]{\setlength\oddtopmarginshift{#1}}
1623 \newcommand\ShiftEvenPagesDown[1]{\setlength\eventopmarginshift{#1}}
1624 \def\@supposed@outputpage{%
1625 \begingroup           % the \endgroup is put in by \aftergroup
1626   \let \protect \noexpand
1627   \@resetactivechars
1628   \@parboxrestore
1629   \shipout \vbox{%
1630     \set@typeset@protect
1631     \aftergroup \endgroup
1632     \aftergroup \set@typeset@protect
1633                                 % correct? or just restore by ending
1634                                 % the group?
1635   \if@specialpage
1636     \global\@specialpagefalse\@nameuse{ps@\@specialstyle}%
1637   \fi
1638   \if@twoside
1639     \ifodd\count\z@ \let\@thehead\@oddhead \let\@thefoot\@oddfoot
1640          \let\@themargin\oddsidemargin
1641     \else \let\@thehead\@evenhead
1642        \let\@thefoot\@evenfoot \let\@themargin\evensidemargin
1643     \fi
1644   \fi
1645   \reset@font
1646   \normalsize
1647 %%%%%%%%%%%%%%%%%%
1648   \normalsfcodes
1649 %%%%%%%%%%%%%%%%%%
1650   \let \label \@gobble
1651   \let \index \@gobble
1652   \let \glossary \@gobble
1653 %%%%%%%%%%%%%%%%%%
1654   \baselineskip\z@skip \lineskip\z@skip \lineskiplimit\z@
1655     \@begindvi
1656     \vskip \topmargin
1657     \moveright\@themargin \vbox {%
1658       \setbox\@tempboxa \vbox to\headheight{%
1659         \vfil
1660         \color@hbox
1661           \normalcolor
1662           \hb@xt@\textwidth{\@thehead}%
1663         \color@endbox
1664         }%
1665       \dp\@tempboxa \z@
1666       \box\@tempboxa
1667       \vskip \headsep
1668       \box\@outputbox
1669       \baselineskip \footskip
1670       \color@hbox
1671         \normalcolor
1672         \hb@xt@\textwidth{\@thefoot}%
1673       \color@endbox
1674       }%
1675     }%
1676   \global \@colht \textheight
1677   \stepcounter{page}%
1678   \let\firstmark\botmark}
1679 \newif\if@draft
1680 \@draftfalse
1681 \if@no@printer@correction
1682 \else
1683   \ifx\@supposed@outputpage\@outputpage
1684   \else
1685     \ClassError{thloria}%
1686            {Mismatch in \protect\@outputpage\space command.\MessageBreak
1687             Please, report this problem.}%
1688            {Try to proceed, but there may be problems...}
1689   \fi
1690   \def\@supposed@outputpage{}
1691 \def\@outputpage{%
1692 \begingroup           % the \endgroup is put in by \aftergroup
1693   \let \protect \noexpand
1694   \@resetactivechars
1695   \@parboxrestore
1696   \shipout \vbox{%
1697     \set@typeset@protect
1698     \aftergroup \endgroup
1699     \aftergroup \set@typeset@protect
1700                                 % correct? or just restore by ending
1701                                 % the group?
1702   \if@specialpage
1703     \global\@specialpagefalse\@nameuse{ps@\@specialstyle}%
1704                              \if@draft\@nameuse{ps@thesisdraft}\fi
1705   \fi
1706   \if@twoside
1707     \ifodd\count\z@ \let\@thehead\@oddhead \let\@thefoot\@oddfoot
1708          \let\@themargin\oddsidemargin
1709     \else \let\@thehead\@evenhead
1710        \let\@thefoot\@evenfoot \let\@themargin\evensidemargin
1711     \fi
1712   \fi
1713   \reset@font
1714   \normalsize
1715 %%%%%%%%%%%%%%%%%%
1716   \normalsfcodes
1717 %%%%%%%%%%%%%%%%%%
1718   \let \label \@gobble
1719   \let \index \@gobble
1720   \let \glossary \@gobble
1721 %%%%%%%%%%%%%%%%%%
1722   \baselineskip\z@skip \lineskip\z@skip \lineskiplimit\z@
1723     \@begindvi
1724     \vskip \topmargin
1725     \vskip\ifodd\c@page\oddtopmarginshift\else\eventopmarginshift\fi
1726     \moveright\@themargin \vbox {%
1727       \setbox\@tempboxa \vbox to\headheight{%
1728         \vfil
1729         \color@hbox
1730           \normalcolor
1731           \hb@xt@\textwidth{\@thehead}%
1732         \color@endbox
1733         }%
1734       \dp\@tempboxa \z@
1735       \box\@tempboxa
1736       \vskip \headsep
1737       \box\@outputbox
1738       \baselineskip \footskip
1739       \color@hbox
1740         \normalcolor
1741         \hb@xt@\textwidth{\@thefoot}%
1742       \color@endbox
1743       }%
1744     }%
1745   \global \@colht \textheight
1746   \stepcounter{page}%
1747   \let\firstmark\botmark}
1748 \fi
1749 \newif\if@nnex@in@l@stp@rt
1750 \@nnex@in@l@stp@rtfalse
1751 \newcommand\Annexe{\global\@nnex@in@l@stp@rttrue
1752                    \@TLann{\appendixname}}
1753 \newcommand\Annexes{\global\@nnex@in@l@stp@rttrue
1754                     \@TLann{\appendixname s}}
1755 \newcommand{\@tlann@hook}[1]{}
1756 \newcommand{\@tlann@lasthook}[1]{}
1757 \def\@TLann#1{%
1758     \par
1759     \setcounter{section}{0}%
1760     \def\@chapapp{\appendixname}\def\thechapter{\Alph{annex}}%
1761     \cleardoublepage
1762     \@tlann@hook{#1}%
1763     \addcontentsline{toc}{tlstarchapter}{\protect#1}%
1764     \@tlann@lasthook{#1}%
1765     }%
1766 \newcommand{\ThesisDraft}{%
1767    \if@draft
1768    \else
1769       \pagestyle{thesisdraft}%
1770       \@drafttrue
1771       \let\@old@ps=\pagestyle
1772       \def\pagestyle##1{%
1773          \@old@ps{##1}%
1774          \if@draft
1775             \@old@ps{thesisdraft}%
1776          \fi
1777          }%
1778    \fi
1779    }
1780 \newcount\tl@hour \newcount\tl@minute
1781 \tl@hour=\time  \divide \tl@hour by 60
1782 \tl@minute=\time
1783 \loop \ifnum \tl@minute > 59 \advance \tl@minute by -60 \repeat
1784 \newcommand\now{\number\tl@hour\ h
1785          \ifnum \tl@minute<10 0\fi
1786          \number\tl@minute
1787         }
1788 \newcommand\@le@pye@r{%
1789    \def\@leapye@rcorrection{\count6 }%
1790    \def\@scratch{\count8 }%
1791    \@leapye@rcorrection=0\relax
1792    \ifnum\@month>2\relax
1793      \@scratch\@year
1794      \divide\@scratch4\multiply\@scratch4\relax
1795      \ifnum\@scratch=\@year
1796        \divide\@scratch100\multiply\@scratch100\relax
1797        \ifnum\@scratch=\@year
1798           \divide\@scratch400 \multiply\@scratch400\relax
1799           \ifnum\@scratch=\@year
1800              \@leapye@rcorrection=1\relax
1801           \else
1802              \@leapye@rcorrection=0\relax
1803           \fi
1804        \else
1805           \@leapye@rcorrection=1\relax
1806        \fi
1807      \else
1808           \@leapye@rcorrection=0\relax
1809      \fi
1810    \fi
1811   }%
1812 \newcommand\@weekday{%
1813    \@le@pye@r
1814    \advance\@year-1201\relax
1815    \def\@dayselapsed{\count10 }%
1816    \@dayselapsed=\@year
1817    \multiply\@dayselapsed365\relax
1818    \@scratch\@year
1819    \divide\@scratch4
1820    \advance\@dayselapsed\@scratch\relax
1821    \@scratch\@year
1822    \divide\@scratch100
1823    \advance\@dayselapsed-\@scratch\relax
1824    \@scratch\@year
1825    \divide\@scratch400
1826    \advance\@dayselapsed\@scratch
1827    \advance\@dayselapsed
1828      \ifcase\@month\or
1829           0\relax\or   31\relax\or  59\relax\or   90\relax\or
1830         120\relax\or  151\relax\or 181\relax\or  212\relax\or
1831         243\relax\or  273\relax\or 304\relax\or  334\relax
1832      \fi
1833    \advance\@dayselapsed\@day
1834    \advance\@dayselapsed\@leapye@rcorrection
1835    \@scratch=-\@dayselapsed
1836    \divide\@scratch7\relax
1837    \multiply\@scratch7\relax
1838    \advance\@dayselapsed\@scratch
1839   }
1840 \newcommand\@day@of@week{}
1841 \newcommand\WeekDay[3]{%  jour 1--31, mois 1--12,  annee
1842   \@WeekDay{#1}{#2}{#3}%
1843   \@day@of@week
1844   }
1845 \newcommand\@WeekDay[3]{%  jour 1--31, mois 1--12,  annee
1846     {%
1847     \def\@day{\count0 }%
1848     \def\@month{\count2 }%
1849     \def\@year{\count4 }%
1850     \@day=#1\relax
1851     \@month=#2\relax
1852     \@year=#3\relax
1853     \@weekday
1854     \xdef\@day@of@week{%
1855         \ifcase\@dayselapsed
1856            dimanche\or
1857            lundi\or
1858            mardi\or
1859            mercredi\or
1860            jeudi\or
1861            vendredi\or
1862            samedi%
1863         \fi}%
1864     }%
1865   }
1866 \newcommand\@timest@mp{}
1867 \newcommand\TimeStamp{%
1868     \long\def\@empty{}%
1869     \ifx\@timest@mp\@empty
1870         \@WeekDay{\day}{\month}{\year}%
1871         \let\@@protect=\protect
1872         \def\protect{\noexpand\protect\noexpand}%
1873         \xdef\@timest@mp{\@day@of@week\ \today\ \`a \now}%
1874         \let\protect=\@@protect
1875     \fi
1876     \def\@empty{}%
1877     \@timest@mp
1878     }
1879 \newcommand\not@implemented{%
1880      \message{***You tried to use a command******^^J}%
1881      \message{***which has not yet been implemented.***^^J}%
1882      }
1883 \def\@g@g@r{\ifx\@fguills\undefined\guillemotright\else\@fguills\fi}
1884 \def\@g@g@l{\ifx\@oguills\undefined\guillemotleft\else\@oguills\fi}
1885 \DeclareInputText{"AB}{\@g@g@l\nobreak\kern+0.13em\nobreak\ignorespaces}
1886 \DeclareInputText{"BB}{\unskip\kern+0.13em\nobreak\@g@g@r}
1887 \newcommand{\TL}{{\normalfont\textsf{thloria}}}
1888 \errorcontextlines5
1889 \newcommand\@removefromreset[2]{\let\@tempb\@elt
1890    \def\@tempa#1{@&#1}\expandafter\let\csname @*#1*\endcsname\@tempa
1891    \def\@elt##1{\expandafter\ifx\csname @*##1*\endcsname\@tempa\else
1892                 \noexpand\@elt{##1}\fi}%
1893    \expandafter\xdef\csname cl@#2\endcsname{\csname cl@#2\endcsname}%
1894    \let\@elt\@tempb
1895    \expandafter\let\csname @*#1*\endcsname\@undefined}
1896 \newcommand\ResetChaptersAtParts{%
1897     %\@addtoreset{chapter}{part}%
1898     \@addtoreset{annex}{part}%
1899     }
1900 \@removefromreset{footnote}{chapter}
1901 \newcommand\ResetFootnotesAtChapters{%
1902     \@addtoreset{footnote}{chapter}%
1903     \@addtoreset{footnote}{annex}%
1904     }
1905 \newif\if@equations@continuous
1906 \newif\if@figures@continuous
1907 \newif\if@tables@continuous
1908 \newcommand\ContinuousNumbering[1]{%
1909   \@removefromreset{#1}{chapter}%
1910   \csname @#1s@continuoustrue\endcsname
1911   }
1912 \newcommand\@redefGOfrench{%
1913    \ifx\GOfrench\undefined
1914    \else
1915       \let\TL@GOfrench\GOfrench
1916       \gdef\GOfrench{\TL@GOfrench
1917                      \@removefromreset{chapter}{part}%
1918                      }
1919    \fi
1920    }
1921 \AtBeginDocument{\@redefGOfrench}%
1922 \newcounter {annex}
1923 \def\theannex{\thechapter}
1924 \@addtoreset{section}{annex}
1925 \@addtoreset{equation}{annex}
1926 \@addtoreset{figure}{annex}
1927 \@addtoreset{table}{annex}
1928 \newcommand\Annex{%
1929    \if@openright\cleardoublepage\else\clearpage\fi
1930    \thispagestyle{\@chapter@ps}%
1931    \global\@topnum\z@
1932    \@afterindentfalse
1933    \gdef\@chapapp{\appendixname}%
1934    \gdef\thechapter{\Alph{annex}}%
1935    \secdef\@annex\@sannex
1936    }
1937 \def\@annex[#1]#2{\ifx\dominitoc\@undefined\else\stepcounter{mtc}\fi
1938                   \@generic@chapter{annex}[#1]{#2}}
1939 \newcommand\@sannex[1]{\@generic@schapter{annex}[#1]}
1940 \endinput
1941 %%
1942 %% End of file `thloria.cls'.