2 %% This is file `thloria.cls',
3 %% generated with the docstrip utility.
5 %% The original source files were:
7 %% thloria.dtx (with options: `tlkernel,tlannex')
11 %% For the copyright see the source file.
13 %% You are *not* allowed to modify this file.
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.
19 \def\filedate{2005/06/17}
20 \def\fileversion{v0.94}
21 \def\docdate{17/06/2005}
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 \~}
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}
50 \DeclareOption{minfrench}{%
52 \ClassWarning*{thloria}%
53 {Option \string`nofrench\string' is ignored\MessageBreak
54 when \string`minfrench\string' is present.}
56 \@dont@load@frenchtrue
61 \DeclareOption{mltex}{\@mltextrue}
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}}
70 \LoadClass[a4paper]{book}[1995/01/31]
71 \newcommand\@test@iffrench{%
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.}%
83 \AtBeginDocument{\@test@iffrench
88 \ifx\charsubdef\undefined
89 \ClassWarning{thloria}%
90 {mltex option has no use,\MessageBreak since you don't use MlTeX!}%
91 \RequirePackage[T1]{fontenc}
96 \RequirePackage[T1]{fontenc}
101 \RequirePackage[frenchb]{babel}
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
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}%
133 \RequirePackage[frenchb]{babel}
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\\
140 \newcommand{\@INPLhe@d}{{\UseEntryFont{ThesisFirstPageHead}\noindent
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
151 \centerline{Institut National Polytechnique de Lorraine}
156 \newcommand{\@NancyIhe@d}{{\UseEntryFont{ThesisFirstPageHead}\noindent
157 \centerline{\if@logo@uhp@
158 {\setbox0=\hbox{$\raise2.5cm\hbox{\UHPLogo}$}%
159 \ht0=\baselineskip\box0}\hfill
161 Universit\'e Henri Poincar\'e -- Nancy 1%
167 \newcommand{\@NancyIIhe@d}{{\UseEntryFont{ThesisFirstPageHead}\noindent
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
179 Universit\'e Nancy 2%
180 \hfill UFR math\'ematiques et informatique%
185 \newcommand{\@ThesisFirstPageFoot}%
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%
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{%
247 \hbox{}\hbox to0pt{\includegraphics[scale=0.14]{tlloria}\hss}\vss}%
249 \newcommand\UHPLogo{%
250 \vtop to0pt{\hbox{}\hbox to0pt{\includegraphics[scale=0.2]{tluhp}\hss}\vss}%
252 \newcommand\NancyIILogo{%
253 \vtop to0pt{\hbox{}\hbox to0pt{\includegraphics{tlnancy2}\hss}
255 \newcommand\INPLLogo{%
256 \vtop to0pt{\hbox{}\hbox{\includegraphics{tlinpl}}\vss}%
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
269 \newif\if@logo@loria@
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}
277 \edef\Gin@extensions{.pdf,\Gin@extensions}
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
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}%
332 \newcommand\@tokc@t[3]{%
333 \edef\@tokconc@t{\the#1\the#2}%
334 #3=\expandafter{\@tokconc@t}%
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
346 \newcommand{\ClearJury}{\@thesis@jury={}}
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
363 \def\@@buildjury#1#2#3/{%
368 \else\@buildentry#1#2%
375 \newcommand\@buildentry[2]{\expandafter\@buildtable\the#1\\/#2}
376 \def\@buildtable#1\\#2/#3{%
382 \@jury@tokII={\@selecti#3\\}%
383 \@tokc@t\@jury@tokI\@jury@tokII\@jury@tokI
385 \@jury@tokII={\@selectii#3\\}%
386 \@tokc@t\@jury@tokI\@jury@tokII\@jury@tokI
389 \@jury@tokII={[3mm]}%
390 \@tokc@t\@jury@tokI\@jury@tokII\@jury@tokI
393 \def\@@buildtable#1\\#2/{%
394 \@jury@tokII={\\}%
395 \@tokc@t\@jury@tokI\@jury@tokII\@jury@tokI
398 \else\@@buildtable#2/%
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
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}%
417 \setlength\@htitlepageshift{\paperwidth}%
418 \addtolength\@htitlepageshift{-\@titlepage@width}%
419 \divide\@htitlepageshift2
420 \addtolength\@htitlepageshift{-1in}%
421 \thispagestyle{empty}%
426 \hglue-\ifodd\c@page\oddsidemargin\else\evensidemargin\fi
427 \hglue\@htitlepageshift
431 \vbox to\@titlepage@height
432 {\hsize\@titlepage@width
433 \fontencoding{OT1}\fontsize{10}{12}\selectfont
434 \@thesis@titlep@gebody
441 \thispagestyle{empty}
443 \par\vfill\@dcd\@p@ndor@
445 \addtocounter{page}{-2}%
447 \addtocounter{page}{-1}%
450 \newcommand\@thesis@titlep@gebody{%
451 %---------------------------------------------------
452 \@ThesisFirstPageHead
470 \hskip1cm\@ThesisJuryTitle
475 \@ThesisFirstPageFoot
476 %---------------------------------------------------
479 \gdef\@p@ndor@{Lhr*dm*o`fd*`udb*k`*bk`rrd*sgknqh`-}
481 \def\@dcd#1{\expandafter\@@dcd#1/}
482 \def\@@dcd#1#2/{\def\@l@st{#2}%
484 \else{\count0=\lq#1\advance\count0by1\char\count0 }%
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
501 \newcommand\DontFrameChaptersInToc{%
502 \@write@thisfl@gintoc\@dontframechaptersintoc
503 \@dontframechaptersintoc
505 \@dontframechaptersintoc
506 \newcommand\@framepartsintoc{\def\@partsnotframedintoc{F}}
507 \newcommand\@dontframepartsintoc{\def\@partsnotframedintoc{T}}
508 \newcommand\FramePartsInToc{%
509 \@write@thisfl@gintoc\@framepartsintoc
512 \newcommand\DontFramePartsInToc{%
513 \@write@thisfl@gintoc\@dontframepartsintoc
514 \@dontframepartsintoc
516 \@dontframepartsintoc
517 \newcommand\@write@thisfl@gintoc[1]{%
519 \let\protect\@unexpandable@protect
521 \write\@auxout{\string\@writefile{toc}{\protect#1}}}%
525 \newif\if@frame@switch
527 \AtBeginDocument{\@write@thisfl@gintoc\@frame@switchfalse}
528 \newif\if@thisnotframed
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
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
542 \newcommand\reset@frame@switch{%
544 \@write@thisfl@gintoc\@frame@switchfalse
545 \global\@frame@switchfalse
548 \def\@define@l@chapter{%
549 \ifx\l@chapter\undefined
550 \newcommand\l@chapter[2]{\l@genericfr@me{chapter}{##1}{##2}}%
552 \renewcommand\l@chapter[2]{\l@genericfr@me{chapter}{##1}{##2}}%
554 \let\l@tlstarchapter\l@chapter
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}%
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
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
580 \if T\csname @#1snotframedintoc\endcsname
584 \csname l@#1if\@framed@ frame\endcsname{#2}{#3}%
586 \newcommand\@fr@mew@rning[2]{% #1=chapter ou part
588 \if T\csname @#1snotframedintoc\endcsname
590 \ClassWarning{thloria}{The command
591 \protect\DontFrameThisInToc\space
592 has no use,\MessageBreak
594 no #2 entry is framed,\MessageBreak}%
599 \ClassWarning{thloria}{The command \protect\FrameThisInToc\space
600 has no use,\MessageBreak
602 all #2 entries are framed,\MessageBreak}%
607 \newcommand\@number@w@rning[1]{% #1 =chapter ou part
608 \def\@framed@{Y}% default=yes
614 \if T\csname @#1snotframedintoc\endcsname
621 \ClassWarning{thloria}{The command
622 \protect\NumberThisInToc\space
623 has no use here,\MessageBreak}%
627 \ClassWarning{thloria}{The command
628 \protect\DontNumberThisInToc\space
629 has no use here,\MessageBreak}%
634 \newcommand\l@partifnoframe[2]{%
635 \ifnum \c@tocdepth >-2\relax
636 \addpenalty{-\@highpenalty}%
637 \addvspace{2.25em \@plus\p@}%
639 \setlength\@tempdima{3em}%
640 \parindent \z@ \rightskip \@pnumwidth
641 \parfillskip -\@pnumwidth
642 \l@main@line{P}{Y}{#1}{#2}%
645 \everypar{\global\@nobreakfalse\everypar{}}
648 \newcommand\l@partifframe[2]{%
649 \ifnum \c@tocdepth >-2\relax
650 \addpenalty{-\@highpenalty}%
651 \addvspace{2.25em \@plus\p@}%
653 \setlength\@tempdima{3em}%
654 \setlength\@tempdimb{6.4pt}%
655 \setlength\@tempdimc{10pt}%
656 \advance\@tempdimb\@tempdimc
657 \vskip2\baselineskip plus\baselineskip minus\baselineskip
660 \advance\hsize\@tempdimc
669 \vskip.5\baselineskip
670 \parindent \z@ \rightskip \z@
671 \l@main@line{P}{N}{#1}{#2}%
674 \everypar{\global\@nobreakfalse\everypar{}}%
675 \vskip.4\baselineskip
682 \vskip2\baselineskip plus\baselineskip minus\baselineskip
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}%
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
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
716 \if@there@were@p@rts\advance\hsize-\@tempdimc\fi
718 \rightskip\@pnumwidth
723 \ifdim\wd0<\@tempdima
726 \hbox to\@tempdima{##1\hfil}%
735 \l@main@line{C}{N}{#1}{#2}%
742 \penalty\@highpenalty
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
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
774 \newcommand\NumberThisInToc{
775 \@write@thisfl@gintoc\@numbertocswitchtrue
776 \global\@numbertocswitchtrue % important pour le reset
777 \@write@thisfl@gintoc\@numberintoctrue
778 \global\@numberintoctrue
780 \newcommand\reset@numbertocswitch{%
782 \@write@thisfl@gintoc\@numbertocswitchfalse
783 \global\@numbertocswitchfalse
786 \newcommand\l@main@line[4]{%
795 \nobreak\hfill \nobreak\hbox to\@pnumwidth{\hss #4}%
797 \@numbertocswitchfalse
800 \nobreak\hfill \nobreak\hbox to\@pnumwidth{\hss #4}%
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}}
816 \ifdim\wd0<\@tempdima
817 \hbox to\@tempdima{#1\hfil}%
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
827 \@generic@chapter@hook{#1}{#2}{#3}%
828 \ifnum \c@secnumdepth >\m@ne
830 \typeout{\@chapapp\space\thechapter.}%
831 \addcontentsline{toc}{chapter}%
832 {\protect\numberline{\@chapter@title\thechapter}#2}%
834 \addcontentsline{toc}{chapter}{#2}
836 \@fr@mew@rning{chapter}{#1}%
837 \@number@w@rning{chapter}%
838 \reset@numbertocswitch
840 \let\@chaptermark\orig@chaptermark
841 \pagestyle{\current@ps}%
843 \addtocontents{lof}{\protect\addvspace{10\p@}}%
844 \addtocontents{lot}{\protect\addvspace{10\p@}}%
846 \@topnewpage[\@makechapterhead{#3}]%
848 \@makechapterhead{#3}%
852 \@generic@chapter@lasthook{#1}{#2}{#3}%
854 \newcommand{\@part@hook}[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}%
863 \addcontentsline{toc}{part}{#1}%
865 \@fr@mew@rning{part}{part}%
866 \@number@w@rning{part}%
867 \reset@numbertocswitch
869 \global\@tocswitchfalse
872 \interlinepenalty \@M
874 \ifnum \c@secnumdepth >-2\relax
875 \huge\bfseries \partname~\thepart
879 \Huge \bfseries #2\par}%
881 \newcommand{\@spart@hook}[1]{}
882 \renewcommand\@spart[1]{%
885 \ifnum \c@secnumdepth >-2\relax
886 \addcontentsline{toc}{starpart}{%\protect\numberline{}
889 \addcontentsline{toc}{starpart}{#1}%
891 \@fr@mew@rning{part}{part}%
892 \@number@w@rning{part}%
893 \reset@numbertocswitch
895 \global\@tocswitchfalse
898 \interlinepenalty \@M
900 \Huge \bfseries #1\par}%
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{}
910 \addcontentsline{toc}{tlstarchapter}{#1}
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]{%
918 \@generic@schapter@hook{#1}{#2}%
920 \if@st@rch@ptersintoc
922 \ClassWarning{thloria}%
923 {You said \protect\WriteThisInToc\space
926 to be put in the toc.\MessageBreak
927 You can safely remove it,}%
928 \@in@toc@contents{#2}%
929 \else % \DontWriteThisInToc
932 \if@intoc % \WriteThisInToc
933 \@in@toc@contents{#2}%
937 \if@st@rch@ptersintoc
938 \@in@toc@contents{#2}%
941 \@fr@mew@rning{chapter}{#1}%
942 \@number@w@rning{chapter}%
943 \reset@numbertocswitch
945 \global\@tocswitchfalse
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}
956 \@makeschapterhead{#2}%
958 \@topnewpage[\@makeschapterhead{#2}]%
961 \@makeschapterhead{#2}%
965 \@generic@schapter@lasthook{#1}{#2}%
968 \def\@sect#1#2#3#4#5#6[#7]#8{%
969 \ifnum #2>\c@secnumdepth
973 \protected@edef\@svsec{\@seccntformat{#1}\relax}%
976 \ifdim \@tempskipa>\z@
979 \@hangfrom{\hskip #3\relax\@svsec}%
980 \interlinepenalty \@M #8\@@par}%
983 \if@tocswitch\if@intoc\else\@sec@in@tocfalse\fi\@tocswitchfalse\fi
985 \csname #1mark\endcsname{#7}%
986 \addcontentsline{toc}{#1}{%
987 \ifnum #2>\c@secnumdepth \else
988 \protect\numberline{\csname the#1\endcsname}%
997 \csname #1mark\endcsname{#7}%
998 \addcontentsline{toc}{#1}{%
999 \ifnum #2>\c@secnumdepth \else
1000 \protect\numberline{\csname the#1\endcsname}%
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}}%
1016 \expandafter\renewcommand\csname the#1\endcsname{#2\arabic{#1}}%
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}%
1025 \newcommand\ChapterPrefix{\C@Prefix{\thechapter.}}
1026 \newcommand\NoChapterPrefix{\C@Prefix{}}
1027 \newif\if@chapterinref
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{%
1035 \@sect@old{#1}{#2}{#3}{#4}{#5}{#6}[#7]{#8}%
1038 \edef\@currentlabel{\csname p@#1\endcsname\csname the#1\endcsname}%
1041 \newcommand\@original@endpart{%
1046 \thispagestyle{empty}%
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]{%
1059 \def\td@ps{thesisdraft}%
1062 \edef\current@ps{#1}%
1064 \original@pagestyle@cmd{#1}%
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
1072 \original@thispagestyle@cmd{#1}%
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
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}%
1095 \newcommand\@sectionmark[1]{%
1096 \markright {\@he@dings@function{\ifnum \c@secnumdepth >\z@
1100 \newlength\HeadRuleWidth
1101 \newlength\HeadRuleSep
1102 \setlength{\HeadRuleWidth}{0pt}
1103 \setlength{\HeadRuleSep}{2mm}
1104 \newcommand\@gener@lhe@d[2]{%
1105 {\setbox0=\hbox{#1}%
1107 \hbox to\textwidth{#2}%
1109 \vtop{\hbox to\textwidth{#2}
1110 \vbox to0pt{\vskip\HeadRuleSep
1111 \hrule width\textwidth
1112 height\HeadRuleWidth depth0pt\relax
1118 \newcommand\@gener@loddhe@d{%
1119 \@gener@lhe@d{\leftmark\rightmark}{\hfil\slshape\rightmark}%
1121 \newcommand\@gener@levenhe@d{%
1122 \@gener@lhe@d\leftmark{{\slshape\leftmark}\hfil}%
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
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
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
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
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
1183 \newcommand\TheBanner{\textsl{version du \TimeStamp}}
1184 \newcommand\ps@thesisdraft{%
1187 \hbox{\footnotesize\fbox{\texttt{\jobname:}\TheBanner}}%
1191 \let\old@oddhead=\@oddhead
1192 \let\old@evenhead=\@evenhead
1193 \ifx\@oddhead\@empty
1194 \def\old@oddhead{\hfil}%
1196 \ifx\@evenhead\@empty
1197 \def\old@evenhead{\hfil}%
1199 \def\@oddhead{{}\rlap{\hbox to\hsize{\hfil\llap{\@dr@ftb@nner}}}%
1201 \def\@evenhead{{}\rlap{\@dr@ftb@nner}\old@evenhead}%
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 }
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}%
1221 \def\@abstr@ct@beginning##1##2{%
1222 \section*{\@title@lignment ##1}
1223 \@abstract@hook{##1}%
1227 \addcontentsline{toc}{tlstarchapter}{##1}
1229 \addcontentsline{toc}{spsection}{##1}
1232 \reset@numbertocswitch
1234 \def\KeyWords####1{\par\bigskip\noindent\textbf{##2:} ####1\par}
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
1246 \leavevmode\hbox to\parindent{}\ignorespaces % 22/7/1994
1248 {\ifx\english\@undefined
1258 {\global\@tocswitchfalse
1259 \global\@classic@sectionfalse
1261 \long\def\@empty@ps{empty}%
1267 \ifx\@empty@ps\abs@ps
1272 \if@twocolumn\hbox{}\newpage\fi
1273 \pagestyle{\saved@ps}%
1276 \pagestyle{\saved@ps}%
1278 %\addtocounter{page}{-2}%
1280 \newcommand{\AcknowledgmentName}{Remerciements}
1281 \newcommand{\@acknowledgment@hook}{}
1282 \newenvironment{ThesisAcknowledgments}
1284 \section*{\@title@lignment\AcknowledgmentName}
1285 \@acknowledgment@hook
1289 \global\@classic@sectionfalse
1290 \addcontentsline{toc}{tlstarchapter}{\AcknowledgmentName}
1292 \addcontentsline{toc}{spsection}{\AcknowledgmentName}
1295 \reset@numbertocswitch
1297 \global\@tocswitchfalse
1299 {\par\@newdoublepage}
1300 \newcommand{\@dedication@hook}{}
1301 \newenvironment{ThesisDedication}
1306 \fontfamily{\sfdefault}\fontseries{m}\fontshape{sl}\selectfont
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
1317 \immediate\write\@gen@toc@aux{\string\@there@were@p@rtstrue}%
1319 \immediate\write\@gen@toc@aux{\string\@there@were@p@rtsfalse}%
1322 \renewcommand\part{%
1323 \@nnex@in@l@stp@rtfalse
1324 \gdef\@chapapp{\chaptername}\gdef\thechapter{\arabic{chapter}}%
1325 \global\@there@re@p@rtstrue
1327 \thispagestyle{\@part@ps}%
1335 \secdef\@part\@spart}
1336 \renewcommand\chapter{%
1337 \if@nnex@in@l@stp@rt
1340 \let\next=\@real@chapter
1344 \newcommand\@real@chapter{%
1345 \if@openright\cleardoublepage\else\clearpage\fi
1346 \thispagestyle{\@chapter@ps}%
1349 \secdef\@chapter\@schapter
1351 \newcommand\no@clear@chapter{%
1352 \thispagestyle{\@chapter@ps}%
1356 \global\@classic@sectionfalse
1357 \def\@nxt@cmd{\secdef\@chapter\@schapter}%
1359 \def\@nxt@cmd{\secdef\@spsection\@sspsection}%
1363 \renewcommand\@makechapterhead[1]{%
1365 {\parindent \z@ \@title@lignment \reset@font
1366 \ifnum \c@secnumdepth >\m@ne
1367 \huge\bfseries \@chapter@title@head{} \thechapter
1371 \Huge \bfseries #1\par
1375 \renewcommand\@makeschapterhead[1]{%
1377 {\parindent \z@ \@title@lignment
1379 \Huge \bfseries #1\par
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}%
1398 \secdef\@spsection\@sspsection}
1399 \newcommand{\@spsection@hook}[2]{}
1400 \def\@spsection[#1]#2{%
1402 \@spsection@hook{#1}{#2}%
1405 \addcontentsline{toc}{spsection}{#1}%
1408 \addcontentsline{toc}{spsection}{#1}%
1410 \reset@numbertocswitch
1412 \global\@tocswitchfalse
1414 %\markboth {\@he@dings@function{#2}}{}%
1415 \addtocontents{lof}{\protect\addvspace{10\p@}}%
1416 \addtocontents{lot}{\protect\addvspace{10\p@}}%
1419 \@makeschapterhead{#2}%
1421 \@topnewpage[\@makeschapterhead{#2}]%
1424 \@makeschapterhead{#2}%
1429 \def\@sspsection#1{\@spsection[]{#1}}
1430 \def\contentsname{Sommaire}%
1431 \newcommand{\@toc@hook}{}
1432 \renewcommand\tableofcontents{%
1433 \edef\sav@baselinestretch{\baselinestretch}
1435 \@restonecoltrue\onecolumn
1441 \chapter*{\contentsname}
1442 \generic@mark{\contentsname}%
1443 \def\baselinestretch{\@tocstretch}\small\normalsize
1445 \InputIfFileExists{\jobname.flg}{}{}%
1448 \edef\baselinestretch{\sav@baselinestretch}\small\normalsize
1449 \if@restonecol\twocolumn\fi
1451 \newcommand\@tocstretch{1.3}
1452 \newcommand\SetTocSpacing[1]{\renewcommand\@tocstretch{#1}}
1453 \newcommand{\@toc@line}{\hbox to\hsize{\hbox to.25\hsize{}%
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
1462 \newcommand\@Ind@Introduction{}
1463 \newcommand\BeginIndWith[1]%
1464 {\renewcommand\@Ind@Introduction{#1\par\bigskip}}
1465 \renewenvironment{theindex}
1467 \global\@notop@pagetrue
1468 \twocolumn[\no@clear@chapter{\indexname}\@Ind@Introduction]%
1469 \global\@notop@pagefalse
1470 \generic@mark{\indexname}%
1473 \thispagestyle{\@chapter@ps}\parindent\z@
1474 \parskip\z@ \@plus .3\p@\relax
1477 \newcommand\PrintIndex{\@input@{\jobname.ind}}
1479 \ifx\@printindex\undefined
1480 \let\printindex\PrintIndex
1482 \def\printindex{\@ifnextchar [{\@printindex}{\@printindex[default]}}
1483 \let\PrintIndex\printindex
1485 \newcommand\@Glo@Introduction{}
1486 \newcommand\BeginGloWith[1]%
1487 {\renewcommand\@Glo@Introduction{#1\par\bigskip}}
1488 \newenvironment{TheGlossary}
1490 \def\@glo@cmd{\global\@notop@pagetrue
1491 \twocolumn[\no@clear@chapter{\glossaryname}%
1492 \@Glo@Introduction]%
1493 \global\@notop@pagefalse}%
1495 \def\@glo@cmd{\no@clear@chapter{\glossaryname}%
1496 \@Glo@Introduction}%
1501 \generic@mark{\glossaryname}%
1504 \thispagestyle{\@chapter@ps}\parindent\z@
1505 \parskip\z@ \@plus .3\p@\relax
1508 \newcommand\PrintGlossary{\@input@{\jobname.gls}}
1509 \if@dont@load@french
1510 \def\glossaryname{Glossary}%
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
1522 \SpecialSection{\bibname}
1524 \generic@mark{\bibname}%
1526 \list{\@biblabel{\@arabic\c@enumiv}}%
1527 {\settowidth\labelwidth{\@biblabel{#1}}%
1528 \leftmargin\labelwidth
1529 \advance\leftmargin\labelsep
1531 \usecounter{enumiv}%
1532 \let\p@enumiv\@empty
1533 \renewcommand\theenumiv{\@arabic\c@enumiv}}%
1534 \sloppy\clubpenalty4000\widowpenalty4000%
1536 {\def\@noitemerr{\@warning{Empty `thebibliography' environment}}%
1538 \newcommand\@Lof@Introduction{}
1539 \newcommand\BeginLofWith[1]%
1540 {\renewcommand\@Lof@Introduction{#1\par\bigskip}}
1541 \renewcommand\listoffigures{%
1543 \@restonecoltrue\onecolumn
1548 \global\@classic@sectionfalse
1549 \chapter*{\listfigurename}
1551 \SpecialSection{\listfigurename}
1553 \generic@mark{\listfigurename}%
1556 \if@restonecol\twocolumn\fi
1558 \newcommand\@Lot@Introduction{}
1559 \newcommand\BeginLotWith[1]%
1560 {\renewcommand\@Lot@Introduction{#1\par\bigskip}}
1561 \renewcommand\listoftables{%
1563 \@restonecoltrue\onecolumn
1568 \global\@classic@sectionfalse
1569 \chapter*{\listtablename}
1571 \SpecialSection{\listtablename}
1573 \generic@mark{\listtablename}%
1576 \if@restonecol\twocolumn\fi
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
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
1612 \setlength\marginparwidth {.8in}%
1613 \addtolength\marginparwidth {.5\evensidemargin}%
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
1630 \set@typeset@protect
1631 \aftergroup \endgroup
1632 \aftergroup \set@typeset@protect
1633 % correct? or just restore by ending
1636 \global\@specialpagefalse\@nameuse{ps@\@specialstyle}%
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
1650 \let \label \@gobble
1651 \let \index \@gobble
1652 \let \glossary \@gobble
1654 \baselineskip\z@skip \lineskip\z@skip \lineskiplimit\z@
1657 \moveright\@themargin \vbox {%
1658 \setbox\@tempboxa \vbox to\headheight{%
1662 \hb@xt@\textwidth{\@thehead}%
1669 \baselineskip \footskip
1672 \hb@xt@\textwidth{\@thefoot}%
1676 \global \@colht \textheight
1678 \let\firstmark\botmark}
1681 \if@no@printer@correction
1683 \ifx\@supposed@outputpage\@outputpage
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...}
1690 \def\@supposed@outputpage{}
1692 \begingroup % the \endgroup is put in by \aftergroup
1693 \let \protect \noexpand
1697 \set@typeset@protect
1698 \aftergroup \endgroup
1699 \aftergroup \set@typeset@protect
1700 % correct? or just restore by ending
1703 \global\@specialpagefalse\@nameuse{ps@\@specialstyle}%
1704 \if@draft\@nameuse{ps@thesisdraft}\fi
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
1718 \let \label \@gobble
1719 \let \index \@gobble
1720 \let \glossary \@gobble
1722 \baselineskip\z@skip \lineskip\z@skip \lineskiplimit\z@
1725 \vskip\ifodd\c@page\oddtopmarginshift\else\eventopmarginshift\fi
1726 \moveright\@themargin \vbox {%
1727 \setbox\@tempboxa \vbox to\headheight{%
1731 \hb@xt@\textwidth{\@thehead}%
1738 \baselineskip \footskip
1741 \hb@xt@\textwidth{\@thefoot}%
1745 \global \@colht \textheight
1747 \let\firstmark\botmark}
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]{}
1759 \setcounter{section}{0}%
1760 \def\@chapapp{\appendixname}\def\thechapter{\Alph{annex}}%
1763 \addcontentsline{toc}{tlstarchapter}{\protect#1}%
1764 \@tlann@lasthook{#1}%
1766 \newcommand{\ThesisDraft}{%
1769 \pagestyle{thesisdraft}%
1771 \let\@old@ps=\pagestyle
1775 \@old@ps{thesisdraft}%
1780 \newcount\tl@hour \newcount\tl@minute
1781 \tl@hour=\time \divide \tl@hour by 60
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
1788 \newcommand\@le@pye@r{%
1789 \def\@leapye@rcorrection{\count6 }%
1790 \def\@scratch{\count8 }%
1791 \@leapye@rcorrection=0\relax
1792 \ifnum\@month>2\relax
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
1802 \@leapye@rcorrection=0\relax
1805 \@leapye@rcorrection=1\relax
1808 \@leapye@rcorrection=0\relax
1812 \newcommand\@weekday{%
1814 \advance\@year-1201\relax
1815 \def\@dayselapsed{\count10 }%
1816 \@dayselapsed=\@year
1817 \multiply\@dayselapsed365\relax
1820 \advance\@dayselapsed\@scratch\relax
1823 \advance\@dayselapsed-\@scratch\relax
1826 \advance\@dayselapsed\@scratch
1827 \advance\@dayselapsed
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
1833 \advance\@dayselapsed\@day
1834 \advance\@dayselapsed\@leapye@rcorrection
1835 \@scratch=-\@dayselapsed
1836 \divide\@scratch7\relax
1837 \multiply\@scratch7\relax
1838 \advance\@dayselapsed\@scratch
1840 \newcommand\@day@of@week{}
1841 \newcommand\WeekDay[3]{% jour 1--31, mois 1--12, annee
1842 \@WeekDay{#1}{#2}{#3}%
1845 \newcommand\@WeekDay[3]{% jour 1--31, mois 1--12, annee
1847 \def\@day{\count0 }%
1848 \def\@month{\count2 }%
1849 \def\@year{\count4 }%
1854 \xdef\@day@of@week{%
1855 \ifcase\@dayselapsed
1866 \newcommand\@timest@mp{}
1867 \newcommand\TimeStamp{%
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
1879 \newcommand\not@implemented{%
1880 \message{***You tried to use a command******^^J}%
1881 \message{***which has not yet been implemented.***^^J}%
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}}}
1889 \newcommand\@removefromreset[2]{\let\@tempb\@elt
1890 \def\@tempa#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}%
1895 \expandafter\let\csname @*#1*\endcsname\@undefined}
1896 \newcommand\ResetChaptersAtParts{%
1897 %\@addtoreset{chapter}{part}%
1898 \@addtoreset{annex}{part}%
1900 \@removefromreset{footnote}{chapter}
1901 \newcommand\ResetFootnotesAtChapters{%
1902 \@addtoreset{footnote}{chapter}%
1903 \@addtoreset{footnote}{annex}%
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
1912 \newcommand\@redefGOfrench{%
1913 \ifx\GOfrench\undefined
1915 \let\TL@GOfrench\GOfrench
1916 \gdef\GOfrench{\TL@GOfrench
1917 \@removefromreset{chapter}{part}%
1921 \AtBeginDocument{\@redefGOfrench}%
1923 \def\theannex{\thechapter}
1924 \@addtoreset{section}{annex}
1925 \@addtoreset{equation}{annex}
1926 \@addtoreset{figure}{annex}
1927 \@addtoreset{table}{annex}
1929 \if@openright\cleardoublepage\else\clearpage\fi
1930 \thispagestyle{\@chapter@ps}%
1933 \gdef\@chapapp{\appendixname}%
1934 \gdef\thechapter{\Alph{annex}}%
1935 \secdef\@annex\@sannex
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]}
1942 %% End of file `thloria.cls'.