From 0323535daa1e21c9a417b171362b62e0c3e09adc Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sat, 26 Jul 2014 23:10:32 +0000 Subject: yathesis (26jul14) git-svn-id: svn://tug.org/texlive/trunk@34737 c570f23f-e606-0410-a88d-b1316a301751 --- .../tex/latex/yathesis/yathesis-demo.sty | 100 + Master/texmf-dist/tex/latex/yathesis/yathesis.cls | 3799 ++++++++++++++++++++ 2 files changed, 3899 insertions(+) create mode 100644 Master/texmf-dist/tex/latex/yathesis/yathesis-demo.sty create mode 100644 Master/texmf-dist/tex/latex/yathesis/yathesis.cls (limited to 'Master/texmf-dist/tex/latex/yathesis') diff --git a/Master/texmf-dist/tex/latex/yathesis/yathesis-demo.sty b/Master/texmf-dist/tex/latex/yathesis/yathesis-demo.sty new file mode 100644 index 00000000000..f5d8daa5872 --- /dev/null +++ b/Master/texmf-dist/tex/latex/yathesis/yathesis-demo.sty @@ -0,0 +1,100 @@ +%% +%% This is file `yathesis-demo.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% yathesis.dtx (with options: `demopkg') +%% ----------------------------------------------------------------------- +%% yathesis --- Yet Another Thesis Class +%% E-mail: denis.bitouze@lmpa.univ-littoral.fr +%% Released under the LaTeX Project Public License v1.3c or later +%% See http://www.latex-project.org/lppl.txt +%% ----------------------------------------------------------------------- +\RequirePackage{xpatch} +\RequirePackage{xstring} +\RequirePackage{xparse} +\RequirePackage{letltxmacro} +\RequirePackage{xifthen} +\RequirePackage[user,abspage]{zref} +\AtEndPreamble{% + \xpretocmd{\tableofcontents@YAD@with@argument}{\cleardoublepage\zlabel{tableofcontents-withargument}}{}{} + \xpretocmd{\tableofcontents@YAD@without@argument}{\cleardoublepage\zlabel{tableofcontents-withoutargument}}{}{} +} +\AfterEndPreamble{% + \xpretocmd{\maketitle}{\zlabel{fr-title}}{}{}% + \xpretocmd{\makedisclaimer}{\cleardoublepage\zlabel{disclaimer}}{}{} + \xpretocmd{\makekeywords}{\cleardoublepage\zlabel{keywords}}{}{} + \xpretocmd{\makelaboratory}{\cleardoublepage\zlabel{laboratory}}{}{} + \xpretocmd{\makededications}{\cleardoublepage\zlabel{dedications}}{}{} + \xpretocmd{\makefrontepigraphs}{\cleardoublepage\zlabel{frontepigraphs}}{}{} + \xpretocmd{\acknowledgements}{\cleardoublepage\zlabel{acknowledgements}}{}{} + \xpretocmd{\caution}{\cleardoublepage\zlabel{caution}}{}{} + \xpretocmd{\makeabstract}{\cleardoublepage\zlabel{abstract}}{}{} + \xpretocmd{\foreword}{\cleardoublepage\zlabel{foreword}}{}{} + \let\YAD@demo@chapter@ORI\chapter% + \RenewDocumentCommand\chapter{som}{% + \IfBooleanTF{#1} + { + \ifthenelse{\equal{#3}{Introduction g\IeC {\'e}n\IeC {\'e}rale}}{\cleardoublepage\zlabel{introduction}% + }{% + }% + \IfNoValueTF{#2} + {\YAD@demo@chapter@ORI*{#3}} + {\YAD@demo@chapter@ORI*[#2]{#3}}% + } + {% + \ifthenelse{\equal{#3}{Introduction g\IeC {\'e}n\IeC {\'e}rale}}{\cleardoublepage\zlabel{introduction}% + }{% + }% + \ifthenelse{\equal{#3}{Contexte du chaos du rire}}{\cleardoublepage\zlabel{chapter}% + }{% + }% + \ifthenelse{\equal{#3}{Documents juridiques}}{\cleardoublepage\zlabel{appendix}% + }{% + }% + \IfNoValueTF{#2} + {\YAD@demo@chapter@ORI{#3}} + {\YAD@demo@chapter@ORI[#2]{#3}}% + } + } + \ifcsdef{printglossary}{% + \LetLtxMacro{\YAD@printglossary@ORI}{\printglossary} + \renewcommand{\printglossary}[1][]{% + \ifthenelse{\isempty{#1}}{\cleardoublepage\zlabel{printglossary}% + }{% + }% + \YAD@printglossary@ORI[{#1}]% + } + \xpretocmd{\printacronyms}{\cleardoublepage\zlabel{printacronyms}}{}{} + \xpretocmd{\printsymbols}{\cleardoublepage\zlabel{printsymbols}}{}{} + }{% + } + \xpretocmd{\conclusion}{\cleardoublepage\zlabel{conclusion}}{}{} + \xpretocmd{\conclusion*}{\cleardoublepage\zlabel{conclusion}}{}{} + \xpretocmd{\printbibliography}{\cleardoublepage\zlabel{printbibliography}}{}{} + \xpretocmd{\printindex}{\cleardoublepage\zlabel{printindex}}{}{} + \xapptocmd{\makebackcover}{\zlabel{makebackcover}}{}{} + \let\include\input +} +%% ---------------------------------------------------------------------------------- +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3 +%% of this license or (at your option) any later version. +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of LaTeX +%% version 2005/12/01 or later. +%% +%% This work has the LPPL maintenance status `maintained'. +%% +%% The Current Maintainer of this work is Denis Bitouz'e. +%% +%% This work consists of the file yathesis.dtx +%% and the derived files yathesis.cls, +%% yathesis.ins, +%% yathesis.pdf, +%% yathesisdoc.sty, +%% and a number of configuration files. +%% +%% End of file `yathesis-demo.sty'. diff --git a/Master/texmf-dist/tex/latex/yathesis/yathesis.cls b/Master/texmf-dist/tex/latex/yathesis/yathesis.cls new file mode 100644 index 00000000000..441fb009aaf --- /dev/null +++ b/Master/texmf-dist/tex/latex/yathesis/yathesis.cls @@ -0,0 +1,3799 @@ +%% +%% This is file `yathesis.cls', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% yathesis.dtx (with options: `class') +%% ----------------------------------------------------------------------- +%% yathesis --- Yet Another Thesis Class +%% E-mail: denis.bitouze@lmpa.univ-littoral.fr +%% Released under the LaTeX Project Public License v1.3c or later +%% See http://www.latex-project.org/lppl.txt +%% ----------------------------------------------------------------------- +\def\fileversion{v0.99j} +\def\filedate{2014/07/17} +\NeedsTeXFormat{LaTeX2e}[1999/12/01] +\ProvidesClass{yathesis}[\filedate\space\fileversion\space Yet another class for writing thesis (DB)] +\RequirePackage{pgfopts}[2011/06/02]% +\RequirePackage{etoolbox}[2011/01/03]% +\RequirePackage{xpatch}[2012/10/02]% +\AtEndPreamble{% + \RequirePackage{morewrites}% +}% +\RequirePackage{filehook}[2011/10/12]% +\RequirePackage{hopatch}[2012/05/28]% +\RequirePackage{xifthen}[2009/04/17]% +\newbool{YAD@cosupervisor@or@comonitor} +\newbool{YAD@inprogress@work@star} +\newbool{YAD@inprogress@work} +\newbool{YAD@submitted@work} +\newbool{YAD@submitted@work@star} +\newbool{YAD@final@work} +\newbool{YAD@draft} +\newbool{YAD@output@paper} +\newbool{YAD@output@paper@star} +\newbool{YAD@in@footnote} +\newbool{YAD@second@title} +\newbool{YAD@second@abstract} +\newbool{YAD@maketitle@used} +\newbool{YAD@keywords@used} +\newbool{YAD@introduction@used} +\newbool{YAD@introduction@empty} +\newbool{YAD@conclusion@used} +\newbool{YAD@conclusion@empty} +\newbool{YAD@makeabstract@used} +\newbool{YAD@second@abstract@used} +\newbool{YAD@abstract@used} +\newbool{YAD@main@abstract@empty} +\newbool{YAD@second@abstract@empty} +\newbool{YAD@tableofcontents@used} +\newbool{YAD@printbibliography@used} +\newbool{YAD@two@titles} +\newbool{YAD@cover@page} +\newbool{YAD@supervisor@specified} +\newbool{YAD@symbols@isolated} +\newbool{YAD@logo@before} +\newbool{YAD@valid@day} +\newbool{YAD@valid@month} +\newbool{YAD@valid@year} +\newbool{YAD@mainmatter@used} +\newlength{\cmdKV@YAD@logoheight} +\newlength{\YAD@max@logoheight} +\newlength{\YAD@default@logoheight} +\newlength{\YAD@titleboxheight}% +\newlength{\YAD@titleboxwidth}% +\newlength{\YAD@otherboxheight}% +\newlength{\YAD@laboratory@width}% +\setlength\YAD@default@logoheight{1.5cm}% +\setlength\cmdKV@YAD@logoheight{\YAD@default@logoheight}% +\setlength\YAD@max@logoheight{\cmdKV@YAD@logoheight}% +\newsavebox{\YAD@titlebox}% +\newsavebox{\YAD@beforetitlebox}% +\newsavebox{\YAD@aftertitlebox}% +\newsavebox{\YAD@abstract@mainlanguage}% +\newsavebox{\YAD@abstract@secondarylanguage}% +\newcounter{YAD@abstracts}% +\newcounter{YAD@warnings}% +\newcounter{datetoday} +\setcounter{YAD@abstracts}{0}% +\setcounter{YAD@warnings}{0}% +\def\YAD@mainlanguage{french}% +\def\YAD@secondarylanguage{english}% +\def\YAD@tocdepth{subsection}% +\def\YAD@secnumdepth{subsection}% +\def\YAD@mainkeywords{\YAD@generic@argument@translate{keywords}}% +\def\YAD@secondarykeywords{\YAD@generic@argument@translate{keywords}}% +\def\YAD@global@sepcorpaffil@french{}% +\def\YAD@global@sepcorpaffil@english{}% +\def\cmdKV@YAD@frametitle{fbox}% +\newcommand{\YAD@generic@text}{% + Un texte generique risque d'etre affiche a la place.\MessageBreak% +}% +\newcommand{\YAD@quiet@text}[1]{% + Pour ne plus etre importune par la presente erreur,\MessageBreak% + on peut passer l'option\MessageBreak% + \space\space`#1'\MessageBreak% + a la classe `yathesis', mais cela peut serieusement\MessageBreak% + alterer son fonctionnement : option a utiliser\MessageBreak% + \space\space\space\space/a ses risques et perils !/% +}% +\newcommand{\YAD@extra@help@text}{% + \MessageBreak% + Consulter la documentation de la classe `yathesis'\MessageBreak% + pour plus de precisions.% +}% +\newcommand{\YAD@ClassError}{\@ifstar{\@tempswatrue\@YAD@ClassError}{\@tempswafalse\@YAD@ClassError}} +\newcommand{\@YAD@ClassError}[3][]{% + \ifbool{YAD@noerror}{% + }{% + \ifboolexpr{% + bool {YAD@inprogress@work}% + or bool {YAD@inprogress@work@star}% + or bool {YAD@draft}% + or bool {YAD@noerror}% + }{% + }{% + \ifthenelse{\isempty{#1}}{% + \ClassError{yathesis}{% + #2% + }{% + #3% + \MessageBreak + \if@tempswa% + \else% + \YAD@generic@text% + \fi% + \YAD@extra@help@text% + }% + }{% + \ClassError{yathesis}{% + #2% + }{% + #3% + \MessageBreak + \if@tempswa% + \else% + \YAD@generic@text% + \fi% + \YAD@quiet@text{#1}% + \YAD@extra@help@text% + }% + }% + }% + }% +}% +\newcommand{\YAD@ClassWarningNoLine}[1]{% + \ifboolexpr{% + bool {YAD@inprogress@work}% + or bool {YAD@inprogress@work@star}% + or bool {YAD@draft}% + or bool {YAD@nowarning}% + }{% + \stepcounter{YAD@warnings}% + }{% + \ClassWarningNoLine{yathesis}{% + #1% + }% + }% +}% +\pgfkeys{/yad/.is family} +\pgfkeys{/yad/.cd} +\def\yadsetup{\pgfqkeys{/yad}} +\newcommand{\YAD@create@boolean}[1]{% + % \yadsetup{#1/.is if = #1} + \newbool{YAD@#1}% + \yadsetup{% + #1/.is choice, + #1/true/.code={% + \booltrue{YAD@#1}% + }, + #1/false/.code={% + \boolfalse{YAD@#1}% + }, + #1/.initial=false, + #1/.default=true, + }% + % }{% + % \ClassWarningNoLine{yathesis}{% + % Valeur passee a la cle `#1' non valide :\MessageBreak% + % cette valeur ne peut etre que `true' ou `false'% + % }% + % }% +}% +\YAD@create@boolean{nonamelink}% +\YAD@create@boolean{noerror}% +\YAD@create@boolean{nowarning}% +\YAD@create@boolean{noauthor}% +\YAD@create@boolean{notitle}% +\YAD@create@boolean{noacademicfield}% +\YAD@create@boolean{nodate}% +\YAD@create@boolean{noinstitute}% +\YAD@create@boolean{nodoctoralschool}% +\YAD@create@boolean{nolaboratory}% +\YAD@create@boolean{nolaboratoryadress}% +\YAD@create@boolean{nosupervisor}% +\YAD@create@boolean{nomaketitle}% +\YAD@create@boolean{nokeywords}% +\YAD@create@boolean{noabstract}% +\YAD@create@boolean{nomakeabstract}% +\YAD@create@boolean{notableofcontents}% +\YAD@create@boolean{noprintbibliography}% +\YAD@create@boolean{nofrontcover}% +\YAD@create@boolean{hdr}% +\yadsetup{noerror=true}% +\booltrue{YAD@cover@page}% +\YAD@create@boolean{nologo}% +\YAD@create@boolean{professor}% +\YAD@create@boolean{mcf}% +\YAD@create@boolean{mcf*}% +\YAD@create@boolean{juniorresearcher}% +\YAD@create@boolean{juniorresearcher*}% +\YAD@create@boolean{seniorresearcher}% +\YAD@create@boolean{male}% +\YAD@create@boolean{female}% +\yadsetup{% + nologo=false,% + professor=false,% + mcf=false,% + mcf*=false,% + juniorresearcher=false,% + juniorresearcher*=false,% + seniorresearcher=false,% + male=true,% + female=false,% +}% +\yadsetup{% + version/.is choice,% + version/draft/.code={% + \booltrue{YAD@draft}% + \boolfalse{YAD@inprogress@work}% + \boolfalse{YAD@inprogress@work@star}% + \boolfalse{YAD@submitted@work}% + \boolfalse{YAD@submitted@work@star}% + \boolfalse{YAD@final@work}% + \ifthenelse{\equal{\@classoptionslist}{}}{% + \edef\@classoptionslist{draft}% + }{% + \edef\@classoptionslist{\@classoptionslist,draft}% + }% + },% + version/inprogress/.code={% + \boolfalse{YAD@draft}% + \booltrue{YAD@inprogress@work}% + \boolfalse{YAD@inprogress@work@star}% + \boolfalse{YAD@submitted@work}% + \boolfalse{YAD@submitted@work@star}% + \boolfalse{YAD@final@work}% + },% + version/inprogress*/.code={% + \boolfalse{YAD@draft}% + \boolfalse{YAD@inprogress@work}% + \booltrue{YAD@inprogress@work@star}% + \boolfalse{YAD@submitted@work}% + \boolfalse{YAD@submitted@work@star}% + \boolfalse{YAD@final@work}% + },% + version/submitted/.code={% + \boolfalse{YAD@nowarning}% + \boolfalse{YAD@noerror}% + \boolfalse{YAD@nowarning}% + \boolfalse{YAD@noerror}% + \boolfalse{YAD@draft}% + \boolfalse{YAD@inprogress@work}% + \boolfalse{YAD@inprogress@work@star}% + \booltrue{YAD@submitted@work}% + \boolfalse{YAD@submitted@work@star}% + \boolfalse{YAD@final@work}% + },% + version/submitted*/.code={% + \boolfalse{YAD@nowarning}% + \boolfalse{YAD@noerror}% + \boolfalse{YAD@draft}% + \boolfalse{YAD@inprogress@work}% + \boolfalse{YAD@inprogress@work@star}% + \boolfalse{YAD@submitted@work}% + \booltrue{YAD@submitted@work@star}% + \boolfalse{YAD@final@work}% + },% + version/final/.code={% + \boolfalse{YAD@nowarning}% + \boolfalse{YAD@noerror}% + \boolfalse{YAD@draft}% + \boolfalse{YAD@inprogress@work}% + \boolfalse{YAD@inprogress@work@star}% + \boolfalse{YAD@submitted@work}% + \boolfalse{YAD@submitted@work@star}% + \booltrue{YAD@final@work}% + },% + version/.initial=final% +}% +\yadsetup{version=inprogress}% +\yadsetup{% + output/.is choice,% + output/paper/.code={\booltrue{YAD@output@paper}},% + output/paper*/.code={% + \booltrue{YAD@output@paper}% + \booltrue{YAD@output@paper@star}% + },% + output/screen/.code={},% + output/.initial=screen% +}% +\def\YAD@interligne{single}% +\yadsetup{% + space/.is choice,% + space/single/.code={\def\YAD@interligne{single}},% + space/onehalf/.code={\def\YAD@interligne{onehalf}},% + space/double/.code={\def\YAD@interligne{double}},% + space/.initial=single% +}% +\yadsetup{% + mainlanguage/.store in=\YAD@mainlanguage,% + secnumdepth/.store in=\YAD@secnumdepth,% + sepcorpaffilfrench/.store in=\YAD@global@sepcorpaffil@french,% + sepcorpaffilenglish/.store in=\YAD@global@sepcorpaffil@english,% + % frametitle/.store in=\cmdKV@YAD@frametitle,% + chap-style/.code={% + \def\YAD@fncychapstyle{#1}% + \PassOptionsToPackage{#1}{fncychap}% + },% +}% +\yadsetup{fncychap/.style={chap-style=#1}} +\yadsetup{% + sepcorpaffilenglish={\ at\ },% + chap-style=PetersLenny,% +}% +\PassOptionsToPackage{a4paper}{geometry}% +\PassOptionsToPackage{nodayofweek}{datetime}% +\PassOptionsToPackage{export}{adjustbox}% +\PassOptionsToPackage{numbered}{bookmark}% +\PassOptionsToPackage{% + final,% + unicode,% + hyperfootnotes=false,% + hyperindex=false,% + plainpages=false,% + breaklinks,% + pdfpagemode=UseOutlines,% + pdfpagelayout=TwoPageRight% +}{hyperref}% +\yadsetup{% + graphicx/.code={\PassOptionsToPackage{#1}{graphicx}},% + adjustbox/.code={\PassOptionsToPackage{#1}{adjustbox}},% + setspace/.code={\PassOptionsToPackage{#1}{setspace}},% + xcolor/.code={\PassOptionsToPackage{#1}{xcolor}},% + datatool/.code={\PassOptionsToPackage{#1}{datatool}},% + titleps/.code={\PassOptionsToPackage{#1}{titleps}},% + titlesec/.code={\PassOptionsToPackage{#1}{titlesec}},% + draftwatermark/.code={\PassOptionsToPackage{#1}{draftwatermark}},% + babel/.code={\PassOptionsToPackage{#1}{babel}},% + datetime/.code={\PassOptionsToPackage{#1}{datetime}},% + bookmark/.code={\PassOptionsToPackage{#1}{bookmark}},% +}% +\yadsetup{% + .unknown/.code ={\expandafter\PassOptionsToClass\expandafter{\pgfkeyscurrentname}{book}}% +}% +\ProcessPgfOptions{/yad}% +\ifthenelse{\equal{\YAD@mainlanguage}{english}}{% + \def\YAD@secondarylanguage{french}% +}{% +}% +\ifthenelse{\equal{\YAD@mainlanguage}{french}}{% + \def\YAD@secondarylanguage{english}% +}{% +}% +\ifthenelse{\equal{\@classoptionslist}{}}{% + \edef\@classoptionslist{\YAD@secondarylanguage,\YAD@mainlanguage}% +}{% + \edef\@classoptionslist{\YAD@secondarylanguage,\YAD@mainlanguage,\@classoptionslist}% +}% +\LoadClass{book}% +\RequirePackage{xkeyval}% +\RequirePackage{geometry}[2010/09/12]% +\RequirePackage{graphicx}[1999/02/16]% +\RequirePackage{environ}[2013/04/01]% +\RequirePackage{adjustbox}[2012/05/21]% +\RequirePackage{array}[2008/09/09]% +\RequirePackage{xstring}[2013/10/13]% +\RequirePackage{textcase}[2004/10/07]% +\RequirePackage{translator}[2010/06/12]% +\RequirePackage{fixltx2e}[2006/09/13]% +\RequirePackage{epigraph}[2009/09/02]% +\RequirePackage{tcolorbox}[2014/03/31]% +\RequirePackage{marvosym}[2011/07/20]% +\RequirePackage{setspace}[2011/12/19]% +\RequirePackage{shorttoc}[2002/08/20]% +\RequirePackage{tocvsec2}[2014/03/10]% +\RequirePackage{tocbibind}[2010/10/13]% +\ifthenelse{\equal{\YAD@fncychapstyle}{none}}{% +}{% + \RequirePackage{fncychap}[2007/07/30]% +}% +\RequirePackage{titleps}[2011/12/15]% +\RequirePackage{nonumonpart}[2011/04/15]% +\RequirePackage{xcolor}[2007/01/21]% +\RequirePackage{datatool}[2014/03/08]% +\RequirePackage{ifdraft}[2008/08/11]% +\ifdraft{% + \RequirePackage{draftwatermark}[2006/06/30]% + \geometry{showframe}% + \setlength\overfullrule{5pt}% +}{% + \ifbool{YAD@inprogress@work@star}{% + \RequirePackage{draftwatermark}[2006/06/30]% + }{% + }% +}% +\RequirePackage{babel}[2014/03/24] +\RequirePackage{iflang}[2007/11/11]% +\let\@modulo@SAVED\@modulo +\RequirePackage{datenumber}[2001/08/06]% +\let\DATENUMBER@modulo\@modulo +\def\setdaynamebynumber#1{% + \@tempcnta=#1\relax + \ifnum\the@startyear=1800\advance \@tempcnta by 1\fi + \ifnum\the@startyear=1900\advance \@tempcnta by 6\fi + \ifnum\the@startyear=2000\advance \@tempcnta by 4\fi + \DATENUMBER@modulo{\the\@tempcnta}{7}% + \setcounter{datedayname}{\the\@den}% + \addtocounter{datedayname}{1}% + \setdayname{\thedatedayname}% +} +\def\ifleapyear#1{%#1 year + \ifnum#1>1500 + \DATENUMBER@modulo{#1}{100}% + \ifnum\@den=0 + \DATENUMBER@modulo{#1}{400}% + \else + \DATENUMBER@modulo{#1}{4}% + \fi + \else + \DATENUMBER@modulo{#1}{4}% + \fi + \ifnum\@den=0 +} +\let\@modulo\@modulo@SAVED +\RequirePackage{datetime}[2013/09/10]% +\AtEndPreamble{% + \@ifpackageloaded{hyperref}{% + \RequirePackage[all]{hypcap}[2011/02/16]% + }{% + }% +}% +\AtEndPreamble{% + \@ifpackageloaded{hyperref}{% + \RequirePackage[numbered]{bookmark}[2011/12/02]% + }{% + }% +}% +\AtEndPreamble{% + \@ifpackageloaded{hyperref}{% + \newcommand{\YAD@href}[3][]{\href[#1]{#2}{#3}}% + \newcommand{\YAD@hypersetup}[1]{\hypersetup{#1}}% + \newcommand{\YAD@url}[1]{\url{#1}}% + \newcommand{\YAD@nolinkurl}[1]{\nolinkurl{#1}}% + \newcommand{\YAD@texorpdfstring}[2]{\texorpdfstring{#1}{#2}}% + \newcommand{\YAD@phantomsection}{\phantomsection}% + }{% + \newcommand{\YAD@href}[3][]{#3}% + \newcommand{\YAD@hypersetup}[1]{}% + \newcommand{\YAD@url}[1]{\texttt{#1}}% + \newcommand{\YAD@nolinkurl}[1]{\texttt{#1}}% + \newcommand{\YAD@texorpdfstring}[2]{#1}% + \newcommand{\YAD@phantomsection}{}% + }% + \@ifpackageloaded{bookmark}{% + \newcommand{\YAD@bookmarksetup}[1]{\bookmarksetup{#1}}% + }{% + \newcommand{\YAD@bookmarksetup}[1]{}% + }% +}% +\@ifpackagelater{babel}{2013/04/15}{% + \PassOptionsToPackage{main=\YAD@mainlanguage}{babel}% +}{% + % \AtEndPreamble{% + \YAD@ClassWarningNoLine{% + La version de `babel' utilisee est obsolete.\MessageBreak% + La classe `yathesis' va essayer de faire son possible\MessageBreak% + mais il est possible qu'elle produise des resultats\MessageBreak% + non prevus. Il est conseille de mettre a jour sa\MessageBreak% + distribution TeX% + }% + % }% +}% +\addto\captionsfrench{\def\tablename{{\scshape Tableau}}}% +\newcommand{\YAD@ifemptyorundef}[3]{% + \ifboolexpr{% + test {\ifundef{#1}} or % + test {\ifdefempty{#1}}% + }{% + #2% + }{% + #3% + }% +}% +\AfterEndDocument{% + \ifbool{YAD@nowarning}{% + \ifboolexpr{% + bool {YAD@inprogress@work}% + or bool {YAD@inprogress@work@star}% + or bool {YAD@draft}% + }{% + }{% + \ifnumgreater{\value{YAD@warnings}}{0}{% + % \immediate\write\YAD@file{% + \ClassWarningNoLine{yathesis}{% + L'option `nowarning' ayant ete utilisee,\MessageBreak% + \theYAD@warnings\space warning% + \ifnumequal{\value{YAD@warnings}}{1}{% + \space propre% + }{% + s propres% + } + % + a la classe `yathesis'\MessageBreak% + \ifnumequal{\value{YAD@warnings}}{1}{% + a ete masque% + }{% + ont ete masques% + } + % + dans ce fichier de log.\MessageBreak% + Il est fortement conseille de reactiver\MessageBreak% + l'affichage de ce% + \ifnumequal{\value{YAD@warnings}}{1}{% + \space warning% + }{% + s warnings% + } + % + en supprimant\MessageBreak% + l'option `nowarning'% + }% + % }% + }{% + }% + }% + }{% + }% +}% + \tcbuselibrary{skins}% +\def\YAD@clearspread{\clearpage\if@twoside \ifodd\c@page + \hbox{}\newpage\if@twocolumn\hbox{}\newpage\fi\fi\fi} +\renewenvironment{titlepage} +{% + \cleardoublepage + \if@twocolumn + \@restonecoltrue\onecolumn + \else + \@restonecolfalse\newpage + \fi + \thispagestyle{empty}% +}% +{\if@restonecol\twocolumn \else \newpage \fi +}% +\patchcmd{\chapter}{plain}{empty}{}{}% +\newcommand*{\YAD@configuration@directory}{configuration} +\newcommand*{\YAD@configuration@file}{thesis.cfg} +\newcommand*{\YAD@characteristics@file}{characteristics.tex} +\AtEndPreamble{% + \@ifpackageloaded{siunitx}{% + \sisetup{detect-all}% + \ifthenelse{\equal{\YAD@mainlanguage}{french}}{% + \sisetup{locale=FR}% + }{% + \sisetup{locale=UK}% + }% + }{% + }% +}% +\definecolor{YAD@configuration@file@color}{rgb}{0.5,0,0.5}% +\definecolor{YAD@main@file@color}{rgb}{1,0.5,0}% +\newcommand*{\YAD@reach@file}[2][\YAD@characteristics@file]{% + \ifdraft{% + \ifthenelse{\equal{\YAD@configuration@file}{#1}}{% + \YAD@hypersetup{% + urlbordercolor=YAD@configuration@file@color,% + urlcolor=YAD@configuration@file@color% + }% + }{% + \YAD@hypersetup{% + urlbordercolor=YAD@main@file@color,% + urlcolor=YAD@main@file@color% + }% + }% + \IfFileExists{\YAD@configuration@directory/#1}{% + \YAD@href{\YAD@configuration@directory/#1}{#2}% + }{% + \YAD@href{\jobname.tex}{#2}% + } + }{% + #2% + }% +}% +\ifbool{YAD@output@paper}{% + \AtEndPreamble{% + \@ifpackageloaded{hyperref}{% + \YAD@hypersetup{colorlinks=false}% + \renewcommand{\YAD@href}[3][]{#3}% + \let\YAD@ori@footnote\footnote% + \renewcommand{\footnote}[1]{\booltrue{YAD@in@footnote}\YAD@ori@footnote{#1}\boolfalse{YAD@in@footnote}}% + \renewcommand*\url[1]{\nolinkurl{#1}}% + \renewcommand*\href[3][]{% + \ifbool{YAD@in@footnote}{% + #3 (\url{#2}) }{% + #3\footnote{\url{#2}} }% + }% + }{% + }% + }% +}{% +}% +\@ifpackageloaded{draftwatermark}{% + \SetWatermarkColor{gray!10}% +}{% +}% +\ifbool{YAD@inprogress@work@star}{% + \SetWatermarkFontSize{3cm}% + \AfterEndPreamble{\translatelet\YAD@trinprogress{lbl-inprogress}}% + \SetWatermarkText{\MakeUppercase{\YAD@trinprogress}}% +}{% +}% +\ifdraft{% + \AfterEndPreamble{\translatelet\YAD@trdraft{lbl-draft}}% + \SetWatermarkText{\MakeUppercase{\YAD@trdraft}}% +}{% +}% +\newcommand*{\YAD@generic@argument}[1]{% + \bgroup\color{brown}\normalfont$\langle$\textsl{\texttt{#1}}$\rangle$\egroup% +}% +\newcommand*{\YAD@translation}[1]{% + \ifthenelse{\isempty{#1}}{% + }{% + \ifdraft{% + {% + \scriptsize% + \begin{tabular}{l} + {% + \normalfont\ttfamily\tiny% + (#1)% + }% + \\[-.3\baselineskip] + \YAD@reach@file[\YAD@configuration@file]{% + \translate{lbl-#1}% + }% + \end{tabular} + }% + }{% + \translate{lbl-#1}% + }% + }% +}% +\newcommand{\YAD@astuce@expressioncle}{% + \ifdraft{% + \begin{center} + \footnotesize% + \fboxrule4pt% + \fcolorbox{red}{white}{% + \begin{minipage}{.9\linewidth} + \selectlanguage{french}% + Sur cette page, il est simple de (re)d\'efinir\ifundef{\Fcolonspace}{\FBcolonspace}{\Fcolonspace}: + \begin{enumerate} + \item une + \YAD@reach@file[\YAD@configuration@file]{expression + cl\'e}\ifundef{\Fcolonspace}{\FBcolonspace}{\Fcolonspace}: + il suffit de cliquer sur le cadre de couleur orange qui + l'entoure pour atteindre le fichier + \YAD@reach@file[\YAD@configuration@file]{\texttt{\YAD@configuration@file}} + et d'y ins\'erer + \begin{center} + \lstinline[morekeywords=expression]|\\expression\{|% + \YAD@meta{label}% + \lstinline|\}\{|% + \YAD@meta{valeur (en fran\c cais)}% + \lstinline|\}\{|% + \YAD@meta{valeur (en anglais)}% + \lstinline|\}| + \end{center} + pour lui donner une (nouvelle) \YAD@meta{valeur} (\'eventuellement + vide), \YAD@meta{label} \'etant son identifiant indiqu\'e au-dessus et + entre parenth\`eses\ifundef{\Fcolonspace}{\FBcolonspace}{\Fcolonspace}; + \item une \YAD@reach@file{donn\'ee}\ifundef{\Fcolonspace}{\FBcolonspace}{\Fcolonspace}: il + suffit de cliquer sur le cadre de couleur pourpre qui l'entoure + pour atteindre le fichier + \YAD@reach@file{\texttt{\YAD@configuration@file}} o\`u elle est + d\'efinie. + \end{enumerate} + Pour plus de d\'etails, consulter la documentation de la + classe \textsl{yathesis}.% + \end{minipage} + }% + \end{center} + }{% + }% +}% +\newcommand{\expression}[3]{% + \AtBeginDocument{% + \deftranslation[to=French]{lbl-#1}{#2}% + \deftranslation[to=English]{lbl-#1}{#3}% + \deftranslation[to=French]{#1}{#2}% + \deftranslation[to=English]{#1}{#3}% + }% +}% +\newcommand*{\YAD@generic@argument@translate}[1]{% + \YAD@texorpdfstring{\YAD@generic@argument{\translate{meta-#1}}}{<#1>}% +}% +\newcommand{\cmdKV@YAD@numlaboratories}{1}% +\yadsetup{% + role/.store in=\cmdKV@YAD@role,% + corporation/.store in=\cmdKV@YAD@corps,% + corps/.store in=\cmdKV@YAD@corps,% + url/.store in=\cmdKV@YAD@url,% + logo/.store in=\cmdKV@YAD@logo,% + address/.store in=\cmdKV@YAD@address,% + telephone/.store in=\cmdKV@YAD@telephone,% + fax/.store in=\cmdKV@YAD@fax,% + email/.store in=\cmdKV@YAD@email,% + affiliation/.store in=\cmdKV@YAD@affiliation,% + affiliationsecondary/.store in=\cmdKV@YAD@affiliationsecondary,% + sepcorpaffilfrench/.store in=\cmdKV@YAD@sepcorpaffilfrench,% + sepcorpaffilenglish/.store in=\cmdKV@YAD@sepcorpaffilenglish,% + name/.store in=\cmdKV@YAD@name,% + depth/.store in=\cmdKV@YAD@depth,% + frametitle/.store in=\cmdKV@YAD@frametitle,% + numlaboratories/.store in=\cmdKV@YAD@numlaboratories,% +}% +\yadsetup{% + logoheight/.code={% + \global\setlength\cmdKV@YAD@logoheight{#1}% + \ifdimgreater{\cmdKV@YAD@logoheight}{\YAD@max@logoheight}{% + \global\setlength\YAD@max@logoheight{\cmdKV@YAD@logoheight}% + }{% + }% + }% +}% +\yadsetup{sepcorpaffilfrench=\YAD@global@sepcorpaffil@french}% +\yadsetup{sepcorpaffilenglish=\YAD@global@sepcorpaffil@english}% +\yadsetup{name=\contentsname}% +\yadsetup{depth=subsubsection}% +\yadsetup{reinitialize person/.style={% + corps=,% + role=,% + affiliation=,% + affiliationsecondary=,% + female=false,% + male=true,% + professor=false,% + mcf=false,% + mcf*=false,% + juniorresearcher=false,% + juniorresearcher*=false,% + seniorresearcher=false,% + }% +}% +\DTLnewdb{YAD@staffs}% +\DTLnewrow{YAD@staffs}% +\DTLnewdbentry{YAD@staffs}{YAD@the@staff}{referees}% +\DTLnewrow{YAD@staffs}% +\DTLnewdbentry{YAD@staffs}{YAD@the@staff}{examiners}% +\DTLnewrow{YAD@staffs}% +\DTLnewdbentry{YAD@staffs}{YAD@the@staff}{guests}% +\DTLnewrow{YAD@staffs}% +\DTLnewdbentry{YAD@staffs}{YAD@the@staff}{supervisors-in-committee}% +\DTLforeach{YAD@staffs}{% + \YAD@the@staff=YAD@the@staff}{% + \DTLnewdb{\YAD@the@staff}% +}% +\DTLnewdb{YAD@supervisors}% +\DTLnewdb{dedications}% +\DTLnewdb{frontepigraphs}% +\newcommand*{\YAD@staff}[4][]{% + \dtlexpandnewvalue% + % + \yadsetup{#1}% + % + \ifbool{YAD@professor}{% + \ifboolexpr{% + bool {YAD@female} or % + not bool {YAD@male}% + }{% + \yadsetup{corps=professorfem,#1}% + }{% + \yadsetup{corps=professor,#1}% + }% + }{% + }% + \ifboolexpr{ bool {YAD@mcf} }{% + \yadsetup{corps=mcf,#1}% + }{% + }% + \ifboolexpr{ bool {YAD@mcf*} }{% + \yadsetup{corps=mcf*,#1}% + }{% + }% + \ifboolexpr{ bool {YAD@juniorresearcher} }{% + \ifboolexpr{% + bool {YAD@female} or % + not bool {YAD@male}% + }{% + \yadsetup{corps=juniorresearcherfem,#1}% + }{% + \yadsetup{corps=juniorresearcher,#1}% + }% + }{% + }% + \ifboolexpr{ bool {YAD@juniorresearcher*} }{% + \ifboolexpr{% + bool {YAD@female} or % + not bool {YAD@male}% + }{% + \yadsetup{corps=juniorresearcherfem*,#1}% + }{% + \yadsetup{corps=juniorresearcher*,#1}% + }% + }{% + }% + \ifboolexpr{ bool {YAD@seniorresearcher} }{% + \ifboolexpr{% + bool {YAD@female} or % + not bool {YAD@male}% + }{% + \yadsetup{corps=seniorresearcherfem,#1}% + }{% + \yadsetup{corps=seniorresearcher,#1}% + }% + }{% + }% + % + % \ifthenelse{\equal{\cmdKV@YAD@corporation}{}}{% + % }{% + % \ifthenelse{\equal{\cmdKV@YAD@corps}{}}{% + % \yadsetup{#1,corps=\cmdKV@YAD@corporation}% + % }{% + % }% + % }% + \DTLnewrow{#4}% + \DTLnewdbentry{#4}{firstname}{#2}% + \DTLnewdbentry{#4}{lastname}{#3}% + \YAD@ifemptyorundef{\cmdKV@YAD@role}{% + \DTLnewdbentry{#4}{role}{}% + }{% + \DTLnewdbentry{#4}{role}{\cmdKV@YAD@role}% + }% + \YAD@ifemptyorundef{\cmdKV@YAD@corps}{% + \DTLnewdbentry{#4}{corps}{}% + }{% + \DTLnewdbentry{#4}{corps}{\cmdKV@YAD@corps}% + }% + \YAD@ifemptyorundef{\cmdKV@YAD@sepcorpaffilfrench}{% + \DTLnewdbentry{#4}{sepcorpaffilfrench}{\YAD@global@sepcorpaffil@french}% + }{% + \DTLnewdbentry{#4}{sepcorpaffilfrench}{\cmdKV@YAD@sepcorpaffilfrench}% + \def\cmdKV@YAD@sepcorpaffilfrench{}% + }% + \YAD@ifemptyorundef{\cmdKV@YAD@sepcorpaffilenglish}{% + \DTLnewdbentry{#4}{sepcorpaffilenglish}{\YAD@global@sepcorpaffil@english}% + }{% + \DTLnewdbentry{#4}{sepcorpaffilenglish}{\cmdKV@YAD@sepcorpaffilenglish}% + \def\cmdKV@YAD@sepcorpaffilenglish{}% + }% + \YAD@ifemptyorundef{\cmdKV@YAD@affiliation}{% + \DTLnewdbentry{#4}{affiliation}{}% + }{% + \DTLnewdbentry{#4}{affiliation}{\cmdKV@YAD@affiliation}% + }% + \YAD@ifemptyorundef{\cmdKV@YAD@affiliationsecondary}{% + \YAD@ifemptyorundef{\cmdKV@YAD@affiliation}{% + \DTLnewdbentry{#4}{affiliationsecondary}{}% + }{% + \DTLnewdbentry{#4}{affiliationsecondary}{\cmdKV@YAD@affiliation}% + }% + }{% + \DTLnewdbentry{#4}{affiliationsecondary}{\cmdKV@YAD@affiliationsecondary}% + }% + \yadsetup{reinitialize person}% +}% +\newcommand{\YAD@error@firstlastnames@empty}[4]{% + \ifthenelse{\isempty{#2}}{% + \YAD@ClassError{% + Prenom #1 non specifie% + }{% + Le 1er argument obligatoire de la commande \string#4\MessageBreak% + est vide (celui-ci doit etre renseigne).% + }% + }{% + }% + \ifthenelse{\isempty{#3}}{% + \YAD@ClassError{% + Nom #1 non specifie% + }{% + Le 2e argument obligatoire de la commande \string#4\MessageBreak% + est vide (celui-ci doit etre renseigne).% + }% + }{% + }% +} +\newcommand*{\YAD@supervisors@in@committee}[3][]{% + \YAD@staff[#1]{#2}{#3}{supervisors-in-committee}% +}% +\newcommand{\supervisor}{% + \@ifstar{\@tempswatrue\YAD@supervisor}{\@tempswafalse\YAD@supervisor}% +} +\newcommand*{\YAD@supervisor}[3][]{% + \booltrue{YAD@supervisor@specified}% + \yadsetup{#1}% + \ifboolexpr{% + bool {YAD@female} or % + not bool {YAD@male}% + }{% + \YAD@error@firstlastnames@empty{de la directrice de these}{#2}{#3}{\supervisor}% + \YAD@staff[role=supervisorfem,#1]{#2}{#3}{YAD@supervisors}% + }{% + \YAD@error@firstlastnames@empty{du directeur de these}{#2}{#3}{\supervisor}% + \YAD@staff[role=supervisor,#1]{#2}{#3}{YAD@supervisors}% + }% + \if@tempswa% + \else% + \YAD@staff[role=supervisor,#1]{#2}{#3}{supervisors-in-committee}% + \fi% +}% +\newcommand{\cosupervisor}{% + \@ifstar{\@tempswatrue\YAD@cosupervisor}{\@tempswafalse\YAD@cosupervisor}% +} +\newcommand*{\YAD@cosupervisor}[3][]{% + \booltrue{YAD@supervisor@specified}% + \booltrue{YAD@cosupervisor@or@comonitor}% + \yadsetup{#1}% + \ifboolexpr{% + bool {YAD@female} or % + not bool {YAD@male}% + }{% + \YAD@error@firstlastnames@empty{de la co-directrice de these}{#2}{#3}{\cosupervisor}% + \YAD@staff[role=cosupervisorfem,#1]{#2}{#3}{YAD@supervisors}% + }{% + \YAD@error@firstlastnames@empty{du co-directeur de these}{#2}{#3}{\cosupervisor}% + \YAD@staff[role=cosupervisor,#1]{#2}{#3}{YAD@supervisors}% + }% + \if@tempswa% + \else% + \YAD@staff[role=cosupervisor,#1]{#2}{#3}{supervisors-in-committee}% + \fi% +}% +\newcommand{\comonitor}{% + \@ifstar{\@tempswatrue\YAD@comonitor}{\@tempswafalse\YAD@comonitor}% +} +\newcommand*{\YAD@comonitor}[3][]{% + \booltrue{YAD@supervisor@specified}% + \booltrue{YAD@cosupervisor@or@comonitor}% + \yadsetup{#1}% + \ifboolexpr{% + bool {YAD@female} or % + not bool {YAD@male}% + }{% + \YAD@error@firstlastnames@empty{de la co-encadrante de these}{#2}{#3}{\comonitor}% + \YAD@staff[role=comonitorfem,#1]{#2}{#3}{YAD@supervisors}% + }{% + \YAD@error@firstlastnames@empty{de co-encadrant de these}{#2}{#3}{\comonitor}% + \YAD@staff[role=comonitor,#1]{#2}{#3}{YAD@supervisors}% + }% + \if@tempswa% + \else% + \YAD@staff[role=comonitor,#1]{#2}{#3}{supervisors-in-committee}% + \fi% +}% +\newcommand*{\guest}[3][]{% + \YAD@staff[#1]{#2}{#3}{guests}% + \YAD@error@firstlastnames@empty{de l'invite}{#2}{#3}{\guest}% +}% +\newcommand*{\referee}[3][]{% + \yadsetup{#1}% + \ifboolexpr{% + bool {YAD@female} or % + not bool {YAD@male}% + }{% + \YAD@error@firstlastnames@empty{de la rapportrice}{#2}{#3}{\referee}% + }{% + \YAD@error@firstlastnames@empty{du rapporteur}{#2}{#3}{\referee}% + }% + \YAD@staff[#1]{#2}{#3}{referees}% +}% +\newcommand*{\examiner}[3][]{% + \yadsetup{#1}% + \YAD@staff[#1]{#2}{#3}{examiners}% + \ifboolexpr{% + test {\ifdefstring{\cmdKV@YAD@role}{committeepresident}} or % + test {\ifdefstring{\cmdKV@YAD@role}{committeepresidentfem}}% + }{% + }{% + \ifboolexpr{% + bool {YAD@female} or % + not bool {YAD@male} or % + }{% + \YAD@error@firstlastnames@empty{de l'examinatrice}{#2}{#3}{\examiner}% + }{% + \YAD@error@firstlastnames@empty{de l'examinateur}{#2}{#3}{\examiner}% + }% + }% +}% +\newcommand*{\committeepresident}[3][]{% + \yadsetup{#1}% + \ifboolexpr{% + bool {YAD@female} or % + not bool {YAD@male}% + }{% + \YAD@error@firstlastnames@empty{de la presidente du jury}{#2}{#3}{\committeepresident}% + \examiner[role=committeepresidentfem,#1]{#2}{#3}% + }{% + \YAD@error@firstlastnames@empty{du president du jury}{#2}{#3}{\committeepresident}% + \examiner[role=committeepresident,#1]{#2}{#3}% + }% +}% +\newcommand*{\YAD@al}{ \`a l'}% +\newcommand*{\YAD@au}{ au }% +\newcommand*{\YAD@del}{ de l'}% +\newcommand*{\YAD@du}{ du }% +\newcommand*{\YAD@if@starts@with@vowel}[3]{% + \ifboolexpr{% + test {\IfBeginWith{#1}{a}} or % + test {\IfBeginWith{#1}{e}} or % + test {\IfBeginWith{#1}{i}} or % + test {\IfBeginWith{#1}{o}} or % + test {\IfBeginWith{#1}{u}} or % + test {\IfBeginWith{#1}{y}} or % + test {\IfBeginWith{#1}{\`a}} or % + test {\IfBeginWith{#1}{\^a}} or % + test {\IfBeginWith{#1}{\"a}} or % + test {\IfBeginWith{#1}{\'e}} or % + test {\IfBeginWith{#1}{\`e}} or % + test {\IfBeginWith{#1}{\^e}} or % + test {\IfBeginWith{#1}{\"e}} or % + test {\IfBeginWith{#1}{\^i}} or % + test {\IfBeginWith{#1}{\"i}} or % + test {\IfBeginWith{#1}{\^o}} or % + test {\IfBeginWith{#1}{\"o}} or % + test {\IfBeginWith{#1}{\`u}} or % + test {\IfBeginWith{#1}{\^u}} or % + test {\IfBeginWith{#1}{\"u}} or % + test {\IfBeginWith{#1}{\"y}} or % + test {\IfBeginWith{#1}{A}} or % + test {\IfBeginWith{#1}{E}} or % + test {\IfBeginWith{#1}{I}} or % + test {\IfBeginWith{#1}{O}} or % + test {\IfBeginWith{#1}{U}} or % + test {\IfBeginWith{#1}{Y}} or % + test {\IfBeginWith{#1}{\`A}} or % + test {\IfBeginWith{#1}{\^A}} or % + test {\IfBeginWith{#1}{\"A}} or % + test {\IfBeginWith{#1}{\'E}} or % + test {\IfBeginWith{#1}{\`E}} or % + test {\IfBeginWith{#1}{\^E}} or % + test {\IfBeginWith{#1}{\"E}} or % + test {\IfBeginWith{#1}{\^I}} or % + test {\IfBeginWith{#1}{\"I}} or % + test {\IfBeginWith{#1}{\^O}} or % + test {\IfBeginWith{#1}{\"O}} or % + test {\IfBeginWith{#1}{\`U}} or % + test {\IfBeginWith{#1}{\^U}} or % + test {\IfBeginWith{#1}{\"U}} or % + test {\IfBeginWith{#1}{\"Y}} or % + test {\IfBeginWith{#1}{\ae}} or % + test {\IfBeginWith{#1}{\oe}} or % + test {\IfBeginWith{#1}{\AE}} or % + test {\IfBeginWith{#1}{\OE}}% + }{% + #2% + }{% + #3% + }% +}% +\newcommand{\YAD@display@staff}[1]{% + \DTLforeach*{#1}{% + \YAD@committeemember@lastname=lastname,% + \YAD@committeemember@fistname=firstname,% + \YAD@committeemember@role=role,% + \YAD@committeemember@corps=corps,% + \YAD@committeemember@sepcorpaffil=% + \expandafter\IfLanguageName{french}{% + sepcorpaffilfrench% + }{% + sepcorpaffilenglish% + }% + ,% + \YAD@committeemember@affiliation=% + \IfLanguageName{french}{% + affiliation% + }{% + affiliationsecondary% + }% + }{% + % Nature des membres du jury + \DTLiffirstrow{% + \ifthenelse{\DTLrowcount{\YAD@the@staff}>1}{% + \ifboolexpr{% + bool {YAD@hdr} and test {\ifdefstring{\YAD@the@staff}{supervisors-in-committee}}% + }{% + \YAD@translation{\YAD@the@staff-pl-hdr}% + }{% + \YAD@translation{\YAD@the@staff-pl}% + }% + }{% + \ifboolexpr{% + bool {YAD@hdr} and test {\ifdefstring{\YAD@the@staff}{supervisors-in-committee}}% + }{% + \YAD@translation{\YAD@the@staff-hdr}% + }{% + \YAD@translation{\YAD@the@staff}% + }% + }% + }{% + }% + & + % Prénom + \YAD@reach@file{% + % + \ifthenelse{\DTLiseq{\YAD@committeemember@fistname}{}}{% + \YAD@generic@argument@translate{firstname}% + }{% + \YAD@committeemember@fistname% + }% + } + \YAD@reach@file{% + \ifthenelse{\DTLiseq{\YAD@committeemember@lastname}{}}{% + \YAD@generic@argument@translate{lastname}% + }{% + \textsc{\YAD@committeemember@lastname}% + }% + }% + & + \YAD@reach@file{% + \ifthenelse{\DTLiseq{\YAD@committeemember@corps}{}}{% + \ifdraft{% + \YAD@generic@argument@translate{corps}% + }{% + }% + }{% + \YAD@translation{% + \YAD@committeemember@corps% + }% + }% + }% + \YAD@reach@file{% + \ifthenelse{\DTLiseq{\YAD@committeemember@affiliation}{}}{% + \ifdraft{% + \YAD@generic@argument@translate{affiliation}% + }{% + }% + }{% + \ifthenelse{\DTLiseq{\YAD@committeemember@corps}{}}{% + \YAD@committeemember@affiliation% + }{% + \ifthenelse{\equal{\YAD@committeemember@sepcorpaffil}{}}{% + \YAD@if@starts@with@vowel{\YAD@committeemember@affiliation}{\YAD@al}{\YAD@au}\YAD@committeemember@affiliation% + }{% + \YAD@committeemember@sepcorpaffil\YAD@committeemember@affiliation% + }% + }% + }% + }% + & + \YAD@reach@file{% + \ifthenelse{\DTLiseq{\YAD@committeemember@role}{}}{% + \ifdraft{% + \YAD@generic@argument@translate{role}% + }{% + }% + }{% + \ifthenelse{\equal{\YAD@the@staff}{supervisors-in-committee}}{% + }{% + \YAD@translation{\YAD@committeemember@role}% + }% + }% + }% + \DTLiflastrow{% + \\[.15cm] + }{% + \\ + }% + }% +}% +\newcommand*{\YAD@supervisors@tabular}{% + \small% + \DTLifdbempty{YAD@staffs}{}{% + \ifthenelse{\DTLrowcount{YAD@supervisors}>1}{% + \begin{tabular}[t]{>{\itshape}lll} + }{% + \begin{tabular}[t]{>{\itshape}l@{ }ll} + }% + \DTLforeach*{YAD@supervisors}{% + \YAD@committeemember@lastname=lastname,% + \YAD@committeemember@fistname=firstname,% + \YAD@committeemember@role=role% + }{% + % Nature des membres du jury + \DTLiffirstrow{% + \hspace{-\tabcolsep}% + \normalfont\bfseries% + \ifYAD@hdr% + \YAD@translation{supervisedby-hdr} % + \else% + \YAD@translation{supervisedby}% + \fi% + }{% + }% + & + % Prénom + \YAD@reach@file{% + % + \ifthenelse{\DTLiseq{\YAD@committeemember@fistname}{}}{% + \YAD@generic@argument@translate{firstname}% + }{% + \YAD@committeemember@fistname% + }% + } + % Nom + \YAD@reach@file{% + \ifthenelse{\DTLiseq{\YAD@committeemember@lastname}{}}{% + \YAD@generic@argument@translate{lastname}% + }{% + \textsc{\YAD@committeemember@lastname}% + }% + }% + & + % Fonction + \YAD@reach@file{% + \ifthenelse{\DTLiseq{\YAD@committeemember@role}{}}{% + \ifdraft{% + \YAD@generic@argument@translate{role}% + }{% + }% + }{% + \ifthenelse{\DTLrowcount{YAD@supervisors}>1}{% + \ifbool{YAD@cosupervisor@or@comonitor}{% + \YAD@translation{\YAD@committeemember@role}% + }{% + }% + }{% + }% + }% + }% + % & + \DTLiflastrow{% + \\[.5cm] + }{% + \\ + }% + }% + \end{tabular} + }{% + }% + }% +\newcommand*{\YAD@committee@tabular}{% + \small% + \begin{tabular}[t]{>{\itshape}llp{5cm}l} + \multicolumn{4}{@{}l}{\bfseries\YAD@translation{committeemembers}}% + \\[.25cm] + \DTLforeach*{YAD@staffs}{% + \YAD@the@staff=YAD@the@staff% + }{% + % + \YAD@display@staff{\YAD@the@staff}% + }% + \end{tabular} +}% +\DeclareRobustCommand*\YAD@meta{\YAD@generic@argument}% + \newcommand*\YAD@logo{}% +\newcommand*{\YAD@create@macro}[2][]{% + \ifthenelse{\isempty{#1}}{% + \csdef{#2}##1{% + \csdef{print#2}{% + \YAD@reach@file{% + \ifthenelse{\isempty{##1}}{% + \YAD@generic@argument@translate{#2}% + }{% + ##1% + }% + }% + }% + }% + }{% + }% + \ifthenelse{\equal{#1}{email}}{% + \csdef{#1#2}##1{% + \csdef{print#1#2}{% + \YAD@reach@file{% + \ifthenelse{\isempty{##1}}{% + % \ifbool{YAD@nolink}{% + % \YAD@generic@argument@translate{#1#2}% + % }{% + \YAD@href{mailto:#1.#2@institute.fr}{\YAD@generic@argument@translate{#1#2}}% + % }% + }{% + % \ifbool{YAD@nolink}{% + % \YAD@nolinkurl{##1}% + % }{% + \YAD@href{mailto:##1}{\YAD@nolinkurl{##1}}% + % }% + }% + }% + }% + }% + }{% + }% + \ifthenelse{\equal{#1}{url}}{% + \csdef{#1#2}##1{% + \csdef{print#1#2}{% + \YAD@reach@file{% + \ifthenelse{\isempty{##1}}{% + % \ifbool{YAD@nolink}{% + % \YAD@generic@argument@translate{#1#2}% + % }{% + \YAD@url{% + \YAD@generic@argument@translate{#1#2}% + }% + % }% + }{% + % \ifbool{YAD@nolink}{% + % \YAD@nolinkurl{##1}% + % }{% + \YAD@url{##1}% + % }% + }% + }% + }% + }% + }{% + }% + \ifthenelse{\equal{#1}{entite}}{% + \expandafter\newcommand\expandafter{\csname #2\endcsname}[2][]{% + \csdef{YAD@#2}{##2}% + \ifthenelse{\isempty{##2}}{% + \YAD@ClassError[no#2]{% + Argument obligatoire de \csuse{#2}\space vide% + }{% + L'argument obligatoire de la commande \csuse{#2}\MessageBreak% + est vide (celui-ci doit etre renseigne).% + }% + }{% + }% +\csdef{print#2}{% + \@ifstar{\csuse{YAD@print#2@star}}{\csuse{YAD@print#2@nostar}}% +}% +\csdef{YAD@print#2@star}{% + \ifthenelse{\isempty{##2}}{% + \YAD@reach@file{\YAD@generic@argument@translate{#2}}% + }{% + \YAD@reach@file{##2}% + }% +}% +\csdef{YAD@print#2@nostar}{% + \let\YAD@texte\relax% + \csdef{YAD@texte}{% + \ifthenelse{\isempty{##2}}{% + \YAD@reach@file{\YAD@generic@argument@translate{#2}}% + }{% + ##2% + }% + }% + % \boolfalse{YAD@nolink}% + \yadsetup{##1}% + \ifthenelse{\equal{\cmdKV@YAD@url}{}}{% + \ifdraft{% + \YAD@reach@file{% + \YAD@texte% + }% + }{% + % \ifbool{YAD@nolink}{% + \YAD@texte% + % }{% + % \YAD@href{www.#2.fr}{\YAD@texte}% + % }% + }% + }{% + \ifdraft{% + \YAD@reach@file{% + \YAD@texte% + }% + }{% + % \ifbool{YAD@nolink}{% + % \YAD@texte% + % }{% + \YAD@href{\cmdKV@YAD@url}{\YAD@texte}% + % }% + }% + }% +}% + \csdef{print#2address}{% + \yadsetup{##1}% + \ifthenelse{\equal{\cmdKV@YAD@address}{}}{% + \YAD@reach@file{\YAD@generic@argument@translate{address#2}}% + }{% + \YAD@reach@file{\cmdKV@YAD@address}% + }% + % + }% + \csdef{print#2telephone}{% + \yadsetup{##1}% + \ifthenelse{\equal{\cmdKV@YAD@telephone}{}}{% + \YAD@reach@file{\YAD@generic@argument@translate{telephone#2}}% + }{% + \YAD@reach@file{\cmdKV@YAD@telephone}% + }% + % + }% + \csdef{print#2fax}{% + \yadsetup{##1}% + \ifthenelse{\equal{\cmdKV@YAD@fax}{}}{% + \YAD@reach@file{\YAD@generic@argument@translate{fax#2}}% + }{% + \YAD@reach@file{\cmdKV@YAD@fax}% + }% + % + }% +\csdef{print#2email}{% + \YAD@reach@file{% + \ifthenelse{\equal{\cmdKV@YAD@email}{}}{% + % \ifbool{YAD@nolink}{% + % \YAD@generic@argument@translate{#2email}% + % }{% + \YAD@href{mailto:#2@institute.fr}{\YAD@generic@argument@translate{#2email}}% + % }% + }{% + % \ifbool{YAD@nolink}{% + % \YAD@nolinkurl{\cmdKV@YAD@email}% + % }{% + \YAD@href{mailto:\cmdKV@YAD@email}{\YAD@nolinkurl{\cmdKV@YAD@email}}% + % }% + }% + }% +}% + \ifbool{YAD@nologo}{% + }{% + \csdef{print#2logo}{% + \@ifstar{\@tempswatrue\csuse{YAD@starnostar@print#2logo}}{\@tempswafalse\csuse{YAD@starnostar@print#2logo}}% + }% + \csdef{YAD@starnostar@print#2logo}{% + \yadsetup{url=,##1}% + \renewcommand*\YAD@logo{% + \ifthenelse{\equal{\cmdKV@YAD@logo}{}}{% + \YAD@reach@file{\YAD@generic@argument@translate{logo#2}}% + }{% + \YAD@reach@file{% + \includegraphics[height=\cmdKV@YAD@logoheight]{\cmdKV@YAD@logo}% + }% + }% + }% + \if@tempswa% + \else% + % \ifbool{YAD@nolink}{% + % \YAD@logo% + % }{% + \ifthenelse{\equal{\cmdKV@YAD@url}{}}{% + % \YAD@href{www.#2.fr}{ + \YAD@logo% + % }% + }{% + \YAD@href{\cmdKV@YAD@url}{\YAD@logo}% + }% + % }% + \fi% + \setlength\cmdKV@YAD@logoheight{\YAD@default@logoheight}% + }% + }% + }% +}{% +}% +\ifthenelse{\equal{#1}{bilingue}}{% + \ifthenelse{\isnamedefined{#2}}{% + }{% + \csdef{#2}{}% + }% + \expandafter\renewcommand\expandafter{\csname #2\endcsname}[2][]{% +\ifthenelse{\isempty{##1}}{% + \csdef{YAD@meta#2}{% + ##2% + }% +}{% + \csdef{YAD@meta#2}{% + ##2 (##1)% + }% +}% +\ifthenelse{\isempty{##2}}{% + \YAD@ClassError[no#2]{% + Argument obligatoire de \csuse{#2}\space vide% + }{% + L'argument obligatoire de la commande \csuse{#2}\MessageBreak% + est vide (celui-ci doit etre renseigne).% + }% +}{% +}% +\ifthenelse{\equal{#2}{title}}{% + \YAD@hypersetup{pdftitle=\YAD@metatitle}% +}{% +}% +\ifundef{\YAD@metasubject}{% + \ifundef{\YAD@metaacademicfield}{% + }{% + \YAD@hypersetup{pdfsubject=\YAD@metaacademicfield}% + }% +}{% + \YAD@hypersetup{pdfsubject=\YAD@metasubject}% +}% +\csdef{print#2}{% + \YAD@reach@file{% + \expandafter\IfLanguageName{\YAD@mainlanguage}{% + \ifthenelse{\isempty{##2}}{% + \YAD@reach@file{\YAD@generic@argument@translate{#2}}% + }{% + \YAD@reach@file{##2}% + }% + }{% + \ifthenelse{\isempty{##1}}{% + \ifbool{YAD@two@titles}{% + \YAD@ClassError[no#2]{% + Argument optionnel de \csuse{#2}\space vide% + }{% + La commande \csuse{#2}\space a ete utilisee\MessageBreak% + mais avec un argument optionnel vide : celui-ci doit\MessageBreak% + etre soit non vide soit pas utilise% + }% + \YAD@reach@file{\YAD@generic@argument@translate{#2}}% + }{% + }% + }{% + \YAD@reach@file{##1}% + }% + }% + }% + }% + \ifthenelse{\isempty{##1}}{% + }{% + \ifthenelse{\equal{#2}{subject}}{% + }{% + \booltrue{YAD@two@titles}% + }% + }% + }% + }{% + }% +}% +\YAD@create@macro[entite]{pres} +\YAD@create@macro[entite]{institute} +\YAD@create@macro[entite]{coinstitute} +\YAD@create@macro[entite]{company} +\YAD@create@macro[entite]{cocompany} +\YAD@create@macro[entite]{doctoralschool} +\YAD@create@macro[bilingue]{academicfield} +\YAD@create@macro[bilingue]{speciality} +\YAD@create@macro[bilingue]{title} +\YAD@create@macro[bilingue]{subtitle} +\YAD@create@macro[bilingue]{subject} +\YAD@create@macro{disclaimer} +\newcommand{\ordernumber}{% + \@ifnextchar[{% + \YAD@ordernumber@with@argument% + }{% + \YAD@ordernumber@without@argument% + }%] +}% +\newcommand{\YAD@ordernumber@with@argument}[1][]{% + \csdef{printordernumber}{% + \ifthenelse{\isempty{#1}}{% + \YAD@reach@file{% + \YAD@generic@argument@translate{ordernumber}% + }% + \YAD@ClassError{% + Argument optionnel de \protect\ordernumber\space vide% + }{% + La commande \protect\ordernumber\space a ete + utilisee\MessageBreak% + mais avec un argument optionnel vide : celui-ci doit\MessageBreak% + etre soit non vide soit pas utilise.% + }% + }{% + #1% + }% + }% +}% +\newcommand{\YAD@ordernumber@without@argument}{% + \csdef{printordernumber}{% + \hspace{2cm}% + }% +}% +\renewcommand*{\author}[3][]{% + \ifthenelse{\isempty{#2}}{% + \newcommand*\YAD@firstname@author{% + \YAD@generic@argument@translate{firstname}% + }% + }{% + \newcommand*\YAD@firstname@author{% + #2% + }% + }% + \ifthenelse{\isempty{#3}}{% + \newcommand*\YAD@lastname@author{% + \YAD@generic@argument@translate{lastname}% + }% + }{% + \newcommand*\YAD@lastname@author{% + #3% + }% + }% + \YAD@error@firstlastnames@empty{de l'auteur de la these}{#2}{#3}{\author}% + \YAD@hypersetup{pdfauthor=\YAD@firstname@author{} \YAD@lastname@author}% + \newcommand*\YAD@email@author{% + #1% + }% + \ifthenelse{\isempty{#2}\AND\isempty{#3}}{% + \newcommand*{\printauthor}{% + \ifdraft{% + \YAD@reach@file{% + \YAD@generic@argument@translate{firstname} + \YAD@generic@argument@translate{lastname}% + }% + }{% + \ifthenelse{\isempty{#1}}{% + \YAD@generic@argument@translate{firstname} + \YAD@generic@argument@translate{lastname}% + }{% + \YAD@href{mailto:\YAD@email@author}{% + \YAD@generic@argument@translate{firstname} + \YAD@generic@argument@translate{lastname}% + }% + }% + }% + }% + }{% + \newcommand*{\printauthor}{% + \ifdraft{% + \YAD@reach@file{\YAD@firstname@author{} \bsc{\YAD@lastname@author}}% + }{% + % \ifbool{YAD@nolink}{% + % \YAD@firstname@author{} \bsc{\YAD@lastname@author}% + % }{% + \ifthenelse{\isempty{#1}}{% + \YAD@firstname@author{} \bsc{\YAD@lastname@author} + }{% + \YAD@href{mailto:\YAD@email@author}{\YAD@firstname@author{} \bsc{\YAD@lastname@author}}% + }% + % }% + }% + }% + }% +}% +\setmydatenumber{datetoday}{\the\year}{\the\month}{\the\day} +\csdef{date}#1#2#3{% + \csxdef{YAD@daydate}{#1}% + \csxdef{YAD@monthdate}{#2}% + \csxdef{YAD@yeardate}{#3}% + \ifboolexpr{% + bool {YAD@submitted@work}% + or bool {YAD@submitted@work@star}% + }{% + }{% + \ifboolexpr{% + not (test {\IfInteger{\YAD@daydate}})% + }{% + \YAD@ClassError[nodate]{% + Jour de la date de soutenance non valide% + }{% + La commande \protect\date{\YAD@daydate}{\YAD@monthdate}{\YAD@yeardate}\space\MessageBreak% + n'a pas ete correctement saisie car le\MessageBreak% + jour (`\YAD@daydate') n'est pas valide :\MessageBreak% + ce doit etre un nombre entier entre 1 et 31.% + }% + }{% + \IfDecimal{\YAD@daydate}{% + \csxdef{YAD@daydate}{\number\integerpart}% + }{% + }% + \ifboolexpr{% + test {\ifnumless{\YAD@daydate}{1}}% + or test {\ifnumgreater{\YAD@daydate}{31}}% + }{% + \YAD@ClassError[nodate]{% + Jour de la date de soutenance non valide% + }{% + La commande \protect\date{\YAD@daydate}{\YAD@monthdate}{\YAD@yeardate}\space\MessageBreak% + n'a pas ete correctement saisie car le\MessageBreak% + numero de jour (`\YAD@daydate') n'est pas valide :\MessageBreak% + ce doit etre un nombre entier entre 1 et 31.% + }% + }{% + \booltrue{YAD@valid@day}% + }% + }% + % month + \ifboolexpr{% + not (test {\IfInteger{\YAD@monthdate}})% + }{% + \YAD@ClassError[nodate]{% + Mois de la date de soutenance non valide% + }{% + La commande \protect\date{\YAD@daydate}{\YAD@monthdate}{\YAD@yeardate}\space\MessageBreak% + n'a pas ete correctement saisie car le\MessageBreak% + mois (`\YAD@monthdate') n'est pas valide :\MessageBreak% + ce doit etre un nombre entier entre\MessageBreak% + 1 (janvier) et 12 (decembre).% + }% + }{% + \IfDecimal{\YAD@monthdate}{% + \csxdef{YAD@monthdate}{\number\integerpart}% + }{% + }% + \ifboolexpr{% + test {\ifnumless{\YAD@monthdate}{1}}% + or test {\ifnumgreater{\YAD@monthdate}{12}}% + }{% + \YAD@ClassError[nodate]{% + Mois de la date de soutenance non valide% + }{% + La commande \protect\date{\YAD@daydate}{\YAD@monthdate}{\YAD@yeardate}\space\MessageBreak% + n'a pas ete correctement saisie car le\MessageBreak% + numero de mois (`\YAD@monthdate') n'est pas valide :\MessageBreak% + ce doit etre un nombre entier entre\MessageBreak% + 1 (janvier) et 12 (decembre).% + }% + }{% + \booltrue{YAD@valid@month}% + }% + }% + % year + \ifboolexpr{% + not (test {\IfInteger{\YAD@yeardate}})% + }{% + \YAD@ClassError[nodate]{% + Annee de la date de soutenance non valide% + }{% + La commande + \protect\date{\YAD@daydate}{\YAD@monthdate}{\YAD@yeardate}\space\MessageBreak% + n'a pas ete correctement saisie car l'annee\MessageBreak% + (`\YAD@yeardate') n'est pas valide : ce doit etre\MessageBreak% + un nombre entier.% + }% + }{% + % \IfDecimal{\YAD@yeardate}{% + % \csxdef{YAD@yeardate}{\number\integerpart}% + % }{% + % }% + % \ifnumless{\YAD@yeardate}{\number\year}{% + % \YAD@ClassError[nodate]{% + % Annee de la date de soutenance non valide% + % }{% + % La commande \protect\date{#1}{#2}{#3}\space\MessageBreak% + % n'a pas ete correctement saisie car le numero de\MessageBreak% + % l'annee (`#3') n'est pas valide : ce doit etre\MessageBreak% + % un nombre entier (superieur ou egal a \number\year).% + % }% + % }{% + \booltrue{YAD@valid@year}% + % }% + }% + \ifboolexpr{% + bool {YAD@valid@day}% + and bool {YAD@valid@month}% + and bool {YAD@valid@year}% + }{% + \csdef{printdate}{% + % \setdatenumber{\YAD@yeardate}{\YAD@monthdate}{\YAD@daydate}% + % \ifnumgreater{\value{datetoday}}{\value{datenumber}}{% + % \YAD@generic@argument@translate{date}% + % \YAD@ClassError[nodate]{% + % Date de soutenance non valide% + % }{% + % La date saisie + % (`\protect\date{\YAD@daydate}{\YAD@monthdate}{\YAD@yeardate}') n'est + % pas\MessageBreak% + % correcte car elle ne doit pas etre anterieure\MessageBreak% + % a la date du jour + % (\protect\date{\number\day}{\number\month}{\number\year}).% + % }% + % }{% + \formatdate{\YAD@daydate}{\YAD@monthdate}{\YAD@yeardate}% + % }% + }% + }{% + \csdef{printdate}{% + \YAD@generic@argument@translate{date}% + }% + }% + \boolfalse{YAD@valid@day}% + \boolfalse{YAD@valid@month}% + \boolfalse{YAD@valid@year}% + }% +}% +\AtEndDocument{% + \YAD@ifemptyorundef{\printdate}{% + \ifbool{YAD@nodate}{% + }{% + \ifboolexpr{% + bool {YAD@submitted@work}% + or bool {YAD@submitted@work@star}% + }{% + }{% + \YAD@ClassError[nodate]{% + Date de soutenance non specifiee% + }{% + La commande \protect\date\space n'a pas ete utilisee\MessageBreak% + (celle-ci est requise).% + }% + }% + }% + }{% + }% +}% +\newcommand{\dedication}[1]{% + \DTLnewrow{dedications}% + \DTLnewdbentry{dedications}{dedication}{#1}% +}% +\newcommand{\frontepigraph}[3][\YAD@mainlanguage]{% + \DTLnewrow{frontepigraphs}% + \DTLnewdbentry{frontepigraphs}{epigraphlanguage}{#1}% + \DTLnewdbentry{frontepigraphs}{epigraph}{#2}% + \DTLnewdbentry{frontepigraphs}{epigraphauthor}{#3}% +}% +\AtEndPreamble{% + \@ifpackageloaded{nomencl}{% + \let\YAD@ORI@printnomenclature\printnomenclature% + \renewcommand{\printnomenclature}{% + \cleardoublepage% + \sethead[\thepage][][\nomname]{\nomname}{}{\thepage}\headrule% + \YAD@ORI@printnomenclature% + \pagestyle{preliminary}% + }% + }{% + }% +}% +\let\YAD@ORI@cleardoublepage\cleardoublepage +\newcommand*{\YAD@clearemptydoublepage}{% + \clearpage% + {% + \pagestyle{empty}% + \YAD@ORI@cleardoublepage% + }% +}% +\ifboolexpr{% + bool {YAD@inprogress@work}% + or bool {YAD@inprogress@work@star}% +}{% + \newcommand*{\YAD@setfoot}{% + \footrule% + \setfoot{}{\textsc{\translate{lbl-inprogressfoottext} \today}}{}% + }% +}{% + \ifboolexpr{% + bool {YAD@submitted@work@star}% + }{% + \newcommand*{\YAD@setfoot}{% + \footrule% + \setfoot{}{\textsc{\translate{lbl-submittedfoottext} \today}}{}% + }% + }{% + \newcommand*{\YAD@setfoot}{}% + }% +}% +\xpretocmd{\pagestyle}{\cleardoublepage}{}{}% +\newcommand{\YAD@starttoctoc}{% + \begingroup + \if@filesw + \expandafter\newwrite\csname tf@toc\endcsname + \immediate\openout \csname tf@toc\endcsname \jobname.toc\relax + \fi + \@nobreakfalse + \endgroup} +\AtEndDocument{\YAD@starttoctoc} +\let\YAD@ORI@setcounter\setcounter% +\let\YAD@ORI@tableofcontents\tableofcontents% +\newif\if@YAD@knownsect% +\def\shorttableofcontents#1#2{\bgroup\c@tocdepth=#2\@restonecolfalse + \if@tightshtoc + \parsep\z@ + \fi + \if@twocolumn\@restonecoltrue\onecolumn\fi + \chapter*{#1}% + \@startshorttoc{toc}\if@restonecol\twocolumn\fi\egroup} +\renewcommand{\tableofcontents}{% + \booltrue{YAD@tableofcontents@used}% + \YAD@clearemptydoublepage% + \YAD@phantomsection% + \let\cmdKV@YAD@name\contentsname% + \@ifnextchar[{\tableofcontents@YAD@with@argument}{\tableofcontents@YAD@without@argument}%] +}% +\newcommand\tableofcontents@YAD@without@argument{% + \YAD@ORI@tableofcontents% +}% +\newcommand\tableofcontents@YAD@with@argument[1][]{% + \yadsetup{#1}% + \renewcommand{\setcounter}[2]{}% + % + \ifthenelse{\equal{\cmdKV@YAD@depth}{none}}{% + \shorttableofcontents{\cmdKV@YAD@name}{-10}% + \@YAD@knownsecttrue% + }{% + }% + \ifthenelse{\equal{\cmdKV@YAD@depth}{part}}{% + \shorttableofcontents{\cmdKV@YAD@name}{-1}% + \@YAD@knownsecttrue% + }{% + }% + \ifthenelse{\equal{\cmdKV@YAD@depth}{chapter}}{% + \shorttableofcontents{\cmdKV@YAD@name}{0}% + \@YAD@knownsecttrue% + }{% + }% + \ifthenelse{\equal{\cmdKV@YAD@depth}{section}}{% + \shorttableofcontents{\cmdKV@YAD@name}{1}% + \@YAD@knownsecttrue% + }{% + }% + \ifthenelse{\equal{\cmdKV@YAD@depth}{subsection}}{% + \shorttableofcontents{\cmdKV@YAD@name}{2}% + \@YAD@knownsecttrue% + }{% + }% + \ifthenelse{\equal{\cmdKV@YAD@depth}{subsubsection}}{% + \shorttableofcontents{\cmdKV@YAD@name}{3}% + \@YAD@knownsecttrue% + }{% + }% + \ifthenelse{\equal{\cmdKV@YAD@depth}{paragraph}}{% + \shorttableofcontents{\cmdKV@YAD@name}{4}% + \@YAD@knownsecttrue% + }{% + }% + \ifthenelse{\equal{\cmdKV@YAD@depth}{subparagraph}}{% + \shorttableofcontents{\cmdKV@YAD@name}{5}% + \@YAD@knownsecttrue% + }{% + }% + \ifthenelse{\equal{\cmdKV@YAD@depth}{all}}{% + \shorttableofcontents{\cmdKV@YAD@name}{100}% + \@YAD@knownsecttrue% + }{% + }% + \if@YAD@knownsect% + \else% + \shorttableofcontents{\cmdKV@YAD@name}{3}% + \YAD@ClassWarningNoLine{% + La valeur (`\cmdKV@YAD@depth') passee a la cle `depth'\MessageBreak% + en argument de la commande \protect\tableofcontents\space n'est + pas\MessageBreak% + un des niveaux de sectionnement connus (`part', `chapter',\MessageBreak% + `section', `subsection', `subsubsection', `paragraph',\MessageBreak% + `subparagraph' et `all').\MessageBreak% + Le niveau `subsection' va etre utilise\MessageBreak% + a la place% + }% + \fi% + \let\setcounter\YAD@ORI@setcounter% + \resettocdepth*% +}% +\AtBeginDocument{\maxtocdepth{\YAD@tocdepth}}% +\AtBeginDocument{\maxsecnumdepth{\YAD@secnumdepth}}% +\newcommand*{\YAD@chapter@header}{% + \ifthenelse{% + \value{secnumdepth}>-1 + \and + \value{chapter}>0 + }{% + \MakeUppercase\chaptername{}\ \thechapter.% + }{% + } + \chaptertitle% +}% +\newcommand*{\YAD@section@header}{% + \ifthenelse{% + \value{secnumdepth}>0 + \and + \value{chapter}>0 + }{% + \thesection.% + }{% + } + \sectiontitle% +}% + \AtBeginDocument{% + \setsecnumdepth{none}% + \frontmatter% + }% +\newpagestyle{titles}[]{% + % \settocdepth{none}% + \setsecnumdepth{none}% + \ifdraft{% + \newgeometry{centering,nomarginpar,bottom=1cm,top=1cm,headheight=\YAD@max@logoheight,margin=0.5cm,tmargin=\YAD@max@logoheight+1cm}% + }{% + \newgeometry{centering,nomarginpar,bottom=1cm,top=1cm,headheight=\YAD@max@logoheight,hmargin=2cm,includeall}% + }% + \sethead[]% + []% + []% + {% + \ifdef{\printpreslogo}{% + \printpreslogo% + \booltrue{YAD@logo@before}% + }{% + }% + \ifdef{\printinstitutelogo}{% + \ifbool{YAD@logo@before}{% + \hspace{\stretch{1}}% + }{% + }% + \printinstitutelogo% + \booltrue{YAD@logo@before}% + }{% + }% + \ifdef{\printcoinstitutelogo}{% + \ifbool{YAD@logo@before}{% + \hspace{\stretch{1}}% + }{% + }% + \printcoinstitutelogo% + \booltrue{YAD@logo@before}% + }{% + }% + \ifdef{\printcompanylogo}{% + \ifbool{YAD@logo@before}{% + \hspace{\stretch{1}}% + }{% + }% + \printcompanylogo% + }{% + }% + }% + {}% + {}% + \setfootrule{0pt}% + \setfoot{}{}{}% +}% +\newpagestyle{prepreliminary}[]{% + \restoregeometry% + \setsecnumdepth{none}% + \resettocdepth*% + \YAD@setfoot% +}% +\newpagestyle{preliminary}[]{% + \sethead[\thepage]% + []% + [\YAD@chapter@header]% + {% + \ifthenelse{% + \equal{\sectiontitle}{}% + }{% + \YAD@chapter@header% + }{% + \YAD@section@header% + }% + }% + {}% + {\thepage}% + \headrule% + \setsecnumdepth{none}% + \resettocdepth*% + \YAD@setfoot% +}% +\newpagestyle{ordinary}[]{% + \sethead[\thepage]% + []% + [\YAD@chapter@header]% + {% + \ifthenelse{% + \equal{\sectiontitle}{}% + }{% + \YAD@chapter@header% + }{% + \YAD@section@header% + }% + }% + {}% + {\thepage}% + \headrule% + \setsecnumdepth{none}% + \resettocdepth*% + \YAD@setfoot% +}% +\newpagestyle{mainmatter}[]{% + \ifthenelse{\equal{\YAD@interligne}{single}}{% + \singlespacing% + }{% + \ifthenelse{\equal{\YAD@interligne}{double}}{% + \doublespacing% + }{% + \onehalfspacing% + }% + }% + \sethead[\thepage]% + []% + [\YAD@chapter@header]% + {% + \ifthenelse{% + \equal{\sectiontitle}{}% + }{% + \YAD@chapter@header% + }{% + \YAD@section@header% + }% + }% + {}% + {\thepage}% + \headrule% + \resettocdepth*% + \setsecnumdepth{\YAD@secnumdepth}% + \YAD@setfoot% +}% +\xapptocmd{\mainmatter}{% + \booltrue{YAD@mainmatter@used}% + \pagestyle{mainmatter}% +}{}{}% +\AtEndDocument{% + \ifboolexpr{% + bool {YAD@mainmatter@used}% + }{% + }{% + \YAD@ClassError*{% + Commande \protect\mainmatter\space non utilisee% + }{% + La commande \protect\mainmatter\space introduisant la partie principale + du document\MessageBreak% + n'a pas ete utilisee. Celle-ci est requise.% + }% + }% +}% +\newpagestyle{appendix}[]{% + \singlespacing% + \sethead[\thepage]% + []% + [% + \ifthenelse{% + \value{secnumdepth}>-1 + \and + \value{chapter}>0 + }{% + \MakeUppercase\appendixname{} \thechapter.\ + }{% + } + \chaptertitle% + ]% + {% + \ifthenelse{% + \equal{\sectiontitle}{}% + }{% + \ifthenelse{% + \value{secnumdepth}>-1 + \and + \value{chapter}>0 + }{% + \MakeUppercase\appendixname{} \thechapter.\ + }{% + } + }{% + \YAD@section@header% + }% + }% + {}% + {\thepage}% + \headrule% + \YAD@phantomsection% + \setsecnumdepth{\YAD@secnumdepth}% + \YAD@bookmarksetup{startatroot}% + \YAD@setfoot% +}% +\xapptocmd{\appendix}{% + \pagestyle{appendix}% +}{}{}% +\newpagestyle{biblio}[]{% + \setsecnumdepth{none}% + \singlespacing% + \sethead[\thepage]% + []% + [\YAD@chapter@header]% + {\YAD@chapter@header}% + {}% + {\thepage}% + \headrule% + \YAD@clearemptydoublepage% + \YAD@phantomsection% + \YAD@bookmarksetup{startatroot}% + \YAD@setfoot% +}% +\newpagestyle{backmatter}[]{% + \singlespacing% + \sethead[\thepage]% + []% + [\YAD@chapter@header]% + {% + \ifthenelse{% + \equal{\sectiontitle}{}% + }{% + \YAD@chapter@header% + }{% + \YAD@section@header% + }% + }% + {}% + {\thepage}% + \headrule% + \YAD@phantomsection% + \setsecnumdepth{none}% + \YAD@bookmarksetup{startatroot}% + \YAD@setfoot% +}% +\xapptocmd{\backmatter}{% + \pagestyle{backmatter}% +}{}{}% +\newpagestyle{contents}[]{% + \YAD@clearemptydoublepage% + \YAD@phantomsection% + \YAD@bookmarksetup{startatroot}% + \singlespacing% + \sethead[\thepage]% + []% + [\cmdKV@YAD@name]% + {\cmdKV@YAD@name}% + {}% + {\thepage}% + \headrule% + \setsecnumdepth{none}% + \YAD@setfoot% +}% +\newpagestyle{glossaire}[]{% + \YAD@clearemptydoublepage% + \YAD@phantomsection% + \YAD@bookmarksetup{startatroot}% + \singlespacing% + \sethead[\thepage]% + []% + [\YAD@chapter@header]% + {\YAD@chapter@header}% + {}% + {\thepage}% + \headrule% + \setsecnumdepth{none}% + \YAD@setfoot% +}% +\newpagestyle{index}[]{% + \singlespacing% + \sethead[\thepage]% + []% + [\YAD@chapter@header]% + {\YAD@chapter@header}% + {}% + {\thepage}% + \headrule% + \setsecnumdepth{none}% + \YAD@clearemptydoublepage% + \YAD@phantomsection% + \setsecnumdepth{\YAD@secnumdepth}% + \YAD@bookmarksetup{startatroot}% + \YAD@setfoot% +}% +\newpagestyle{backcover}[]{% + \singlespacing% + \YAD@clearspread% + \setlength{\footskip}{35pt}% + \setfootrule{0pt}% + \setfoot[% + \YAD@laboratory@abstract@page% + ][][]{}{}{}% + \sethead[]% + []% + []% + {}% + {}% + {}% + \setsecnumdepth{none}% +}% +\newcommand*{\printlaboratory}[2][]{% + \YAD@ifemptyorundef{#2}{% + \YAD@reach@file{\YAD@generic@argument@translate{laboratory}}% + \ifbool{YAD@nolaboratory}{% + }{% + \YAD@ClassError[nolaboratory]{% + Nom du laboratoire de la these non specifie ou vide% + }{% + La commande \protect\laboratory\space n'a pas ete utilisee\MessageBreak% + (celle-ci est requise) ou son 1er argument est vide\MessageBreak% + (celui-ci doit etre renseigne).% + }% + }% + }{% + \ifdraft{% + \YAD@reach@file{% + #2% + }% + }{% + \ifboolexpr{% + test {\expandafter\ifstrempty\expandafter{#1}} + or % + test {\ifdefstring{\YAD@laboratory@nonamelink}{true}}% + }{% + #2% + }{% + \YAD@href{#1}{#2}% + }% + }% + }% +}% +\newcommand*{\printlaboratoryaddress}[1]{% + \ifundef{#1}{% + \YAD@reach@file{\YAD@generic@argument@translate{laboratoryaddress}}% + \ifbool{YAD@nolaboratoryadress}{% + }{% + \YAD@ClassError[nolaboratoryadress]{% + Adresse du laboratoire non specifiee ou vide% + }{% + La commande \protect\laboratory\space n'a pas ete utilisee\MessageBreak% + (celle-ci est requise) ou son 2e argument est vide\MessageBreak% + (celui-ci doit etre renseigne).% + }% + }% + }{% + \YAD@reach@file{#1}% + }% +}% +\let\origtcb@shadow@prepare=\tcb@shadow@prepare% +\def\tcb@shadow@prepare#1#2{% + \origtcb@shadow@prepare{#1}{#2}% + \let\tcb@shadow@arc=\tcb@zpt% +}% +\renewcommand{\maketitle}[1][]{% + \booltrue{YAD@maketitle@used}% + \yadsetup{#1} + \setlength{\fboxsep}{10pt}% + \setlength{\YAD@titleboxwidth}{\linewidth-2\fboxsep-2\fboxrule}% + \renewcommand*{\do}[1]{% + \pagestyle{titles}% +\begingroup% +\expandafter\selectlanguage\expandafter{##1}% + \begin{lrbox}{\YAD@titlebox} + \ifthenelse{\equal{\cmdKV@YAD@frametitle}{none}}{% + }{% + \tcbset{colback=white,boxsep=3pt,boxrule=0.4pt,arc=0mm}% + \ifthenelse{\equal{\cmdKV@YAD@frametitle}{shadowbox}}{% + \tcbset{enhanced,drop shadow southeast={black,opacity=1}}% + }{% + \ifthenelse{\equal{\cmdKV@YAD@frametitle}{ovalbox}}{% + \tcbset{arc=3mm}% + }{% + \ifthenelse{\equal{\cmdKV@YAD@frametitle}{fbox}}{% + }{% + \tcbset{code={\expandafter\pgfkeysalsofrom{\cmdKV@YAD@frametitle}}}% + }% + }% + }% + \begin{tcolorbox} + }% + \noindent% + \begin{minipage}{\linewidth-2\fboxsep-2\fboxrule} + \onehalfspacing% + \noindent% + \ifthenelse{\equal{\cmdKV@YAD@frametitle}{none}}{% + }{% + \ifYAD@hdr + \YAD@translation{thesistitle-hdr}% + \else% + \YAD@translation{thesistitle}% + \fi + }% + \par% + \centering% + \Huge\bfseries% + \YAD@ifemptyorundef{\printtitle}{% + \YAD@generic@argument@translate{title}% + \ifbool{YAD@notitle}{% + }{% + \YAD@ClassError[notitle]{% + Titre de la these non specifie% + }{% + La commande \protect\title\space n'a pas ete utilisee\MessageBreak% + (celle-ci est requise) ou son argument obligatoire est vide\MessageBreak% + (celui-ci doit etre renseigne).% + }% + }% + }{% + \printtitle% + }% + \ifundef{\printsubtitle}{% + }{% + \ifdraft{}{\vspace*{\stretch{.15}}}% + % \vspace*{\stretch{.15}}% + \par% + \centering% + \Large\printsubtitle% + }% + \end{minipage}% + \ifthenelse{\equal{\cmdKV@YAD@frametitle}{none}}{% + }{% + \end{tcolorbox} + }% + \end{lrbox} + \settototalheight{\YAD@titleboxheight}{\YAD@titlebox}% + \setlength{\YAD@otherboxheight}{0.3\paperheight-\YAD@titleboxheight}% + %\YAD@astuce@expressioncle% + \noindent% + \ifcsdef{printordernumber}{% + \ifboolexpr{% + bool {YAD@cover@page}% + or (bool {YAD@nofrontcover} and test {\IfLanguageName{\YAD@mainlanguage}})% + }{% + \ifdraft{}{\vspace*{\stretch{1}}}% + % \vspace*{\stretch{1}}% + \raggedleft{% + \itshape% + \sffamily% + \YAD@translation{ordernumber}% + \IfLanguageName{french}{% + \FBcolonspace% + }{% + }: \printordernumber% + }% + }{% + }% + \ifdraft{}{\vspace*{\stretch{.5}}}% + % \vspace*{\stretch{.5}}% + \par% +}{% +}% + % \begin{minipage}[c][\YAD@otherboxheight][c]{\YAD@titleboxwidth} + % \ifdraft{}{\vspace*{\stretch{.25}}}% + \begin{center} + \YAD@ifemptyorundef{\printinstitute}{% + \YAD@generic@argument@translate{institute}% + \ifbool{YAD@noinstitute}{% + }{% + \YAD@ClassError[noinstitute]{% + Institut de la these non specifie% + }{% + La commande \protect\institute\space n'a pas ete + utilisee\MessageBreak% + (celle-ci est requise) ou son argument obligatoire est + vide\MessageBreak% + (celui-ci doit etre renseigne).% + }% + }% + }{% + \YAD@translation{institute} \textbf{\textsc{\Large\printinstitute}}% + }% + \ifundef{\printcoinstitute}{% + }{% + \ifdraft{}{\vspace*{\stretch{.5}}}% + % \vspace*{\stretch{.5}}% + \par% + \YAD@translation{coinstitute} \textbf{\textsc{\Large\printcoinstitute}}% + }% + \ifundef{\printcompany}{% + }{% + \ifdraft{}{\vspace*{\stretch{.5}}}% + % \vspace*{\stretch{.5}}% + \par% + \YAD@translation{company} \textbf{\textsc{\Large\printcompany}}% + }% + \ifdraft{}{\vspace*{\stretch{1.5}}}% + % \vspace*{\stretch{1.5}}% + \par% + \YAD@translation{doctoralschool} + \YAD@ifemptyorundef{\printdoctoralschool}{% + \YAD@generic@argument@translate{doctoralschool}% + \ifbool{YAD@nodoctoralschool}{% + }{% + \YAD@ClassError[nodoctoralschool]{% + Ecole doctorale de la these non specifiee% + }{% + la commande \protect\doctoralschool\space n'a pas ete + utilisee\MessageBreak% + (celle-ci est requise) ou son argument obligatoire est + vide\MessageBreak% + (celui-ci doit etre renseigne).% + }% + }% + }{% + \textbf{\printdoctoralschool}% + }% + \ifdraft{}{\vspace*{\stretch{.5}}}% + % \vspace*{\stretch{.5}}% + \par% + \YAD@translation{universitydepartment} + \ifdefstring{\YAD@main@laboratory@nonamelink}{true}{% + \textbf{\printlaboratory{\YAD@main@laboratory@name}}% + }{% + \textbf{\printlaboratory[\YAD@main@laboratory@url]{\YAD@main@laboratory@name}}% + }% + \ifdraft{}{\vspace*{\stretch{1.5}}}% + % \vspace*{\stretch{1.5}}% + \par% + {\large% + \ifYAD@hdr% + \YAD@translation{thesisdefendedby-hdr} % + \else% + \YAD@translation{thesisdefendedby} % + \fi% + \YAD@ifemptyorundef{\printauthor}{% + \YAD@generic@argument@translate{author}% + \ifbool{YAD@noauthor}{% + }{% + \YAD@ClassError[noauthor]{% + Auteur de la these non specifie% + }{% + La commande \protect\author\space n'a pas ete utilisee (celle-ci + est requise)\MessageBreak% + ou ses 2 premiers arguments obligatoires sont vides\MessageBreak% + (ceux-ci doivent etre renseignes).% + }% + }% + }{% + \textbf{\printauthor}% + }% + \ifboolexpr{% + bool {YAD@submitted@work}% + or bool {YAD@submitted@work@star}% + }{% + % \ifdraft{}{\vspace*{\stretch{1}}}% + % \par% + % \YAD@translation{estimateddefensedate} + % \YAD@ifemptyorundef{\printdate}{% + % \YAD@generic@argument@translate{date}% + % }{% + % \textbf{\printdate}% + % }% + }{% + \ifdraft{}{\vspace*{\stretch{1}}}% + % \vspace*{\stretch{1}}% + \par% + \YAD@translation{defendedon} + \YAD@ifemptyorundef{\printdate}{% + \YAD@generic@argument@translate{date}% + }{% + \textbf{\printdate}% + }% + }% + }% + \ifYAD@hdr% + \else% + \ifdraft{}{\vspace*{\stretch{1}}}% + % \vspace*{\stretch{1}}% + \par% + \YAD@translation{aim}% + \ifundef{\printinstitute}{% + \YAD@generic@argument@translate{institute}% + }{% + \printinstitute*% + }% + \ifundef{\printcoinstitute}{% + }{% + \YAD@translation{aimand}% + \printcoinstitute*% + }% + \fi% + \ifdraft{}{\vspace*{\stretch{1}}}% + % \vspace*{\stretch{1}}% + \par% + \large% + \YAD@translation{academicfield} + % + \YAD@ifemptyorundef{\printacademicfield}{% + \YAD@generic@argument@translate{academicfield}% + \ifbool{YAD@noacademicfield}{% + }{% + \YAD@ClassError[noacademicfield]{% + Champ disciplinaire de la these non specifie% + }{% + La commande \protect\academicfield\space n'a pas ete utilisee + (celle-ci est requise)\MessageBreak% + ou son argument obligatoire est vide (celui-ci doit etre renseigne).% + }% + }% + }{% + \textbf{\printacademicfield}% + }% + \ifundef{\printspeciality}{% + }{% + \ifdraft{}{\vspace*{\stretch{.5}}}% + % \vspace*{\stretch{.5}}% + \par% + \large% + \YAD@translation{speciality} \textbf{\printspeciality}% + } + \end{center} + % \end{minipage}% + \vspace*{\stretch{1}}% + \begin{center} + \ifthenelse{\equal{\cmdKV@YAD@frametitle}{none}}{% + }{% + \ifdraft{}{\vspace*{\stretch{2}}}% + % \vspace*{\stretch{2}}% + }{% + \ifdraft{}{\vspace*{\stretch{.25}}}% + % \vspace*{\stretch{.25}}% + }% + \usebox{\YAD@titlebox}% + % \ifdraft{}{\vspace*{\stretch{2}}}% + \vspace*{\stretch{2}}% + \end{center} + \noindent% + \begin{minipage}[c][\YAD@otherboxheight][c]{\YAD@titleboxwidth} + \YAD@supervisors@tabular% + \par% + \ifboolexpr{% + bool {YAD@submitted@work}% + or bool {YAD@submitted@work@star}% + }{% + \vphantom{\YAD@committee@tabular}% + }{% + \YAD@committee@tabular% + }% + \ifdraft{}{\vspace*{\stretch{.1}}}% + % \vspace*{\stretch{.1}}% + \end{minipage} + \ifthenelse{\equal{\cmdKV@YAD@frametitle}{none}}{% + }{% + % \ifdraft{}{\vspace*{\stretch{2}}}% + \vspace*{\stretch{2}}% + }{% + }% + \ifbool{YAD@supervisor@specified}{% + }{% + \ifbool{YAD@nosupervisor}{% + }{% + \YAD@ClassError*[nosupervisor]{% + Directeur de these non specifie% + }{% + La commande \protect\supervisor\space n'a pas ete utilisee\MessageBreak% + (celle-ci est requise) ou ses arguments obligatoires sont + vides\MessageBreak% + (ceux-ci doivent etre renseignes).% + }% + }% + }% +\endgroup% +\boolfalse{YAD@cover@page}% +}% +\expandafter\docsvlist{\YAD@mainlanguage}% +\ifbool{YAD@two@titles}{% + \booltrue{YAD@second@title}% + \ifthenelse{\equal{\YAD@mainlanguage}{french}}{% + \ifbool{YAD@nofrontcover}{% + \docsvlist{english}% + }{% + \docsvlist{french,english}% + }% + }{% + \ifbool{YAD@nofrontcover}{% + \docsvlist{french}% + }{% + \docsvlist{english,french}% + }% + }% +}{% +}% +\ifthenelse{\equal{\cmdKV@YAD@frametitle}{shadowbox}}{% + \let\tcb@shadow@prepare=\origtcb@shadow@prepare% +}{% +}% +\expandafter\selectlanguage\expandafter{\YAD@mainlanguage}% +\pagestyle{preliminary}% +}% +\AtEndDocument{% + \ifboolexpr{% + bool {YAD@maketitle@used}% + or bool {YAD@nomaketitle}% + }{% + }{% + \YAD@ClassError*[nomaketitle]{% + Commande \protect\maketitle\space non utilisee% + }{% + La commande \protect\maketitle\space n'a pas ete utilisee. Celle-ci est + requise.% + }% + }% +}% +\newcommand{\keywords}[2]{% + \booltrue{YAD@keywords@used}% + \def\YAD@mainkeywords{#1}% + \def\YAD@secondarykeywords{#2}% + \ifthenelse{\isempty{#1}}{% + }{% + \ifthenelse{\isempty{#2}}{% + \YAD@hypersetup{pdfkeywords={#1}}% + }{% + \YAD@hypersetup{pdfkeywords={#1} ({#2})}% + }% + }% +}% +\csdef{printkeywords}{% + \expandafter\IfLanguageName{\YAD@mainlanguage}{% + \YAD@ifemptyorundef{\YAD@mainkeywords}{% + \YAD@generic@argument@translate{keywords}% + }{% + \MakeTextLowercase{\YAD@mainkeywords}% + }% + }{% + \YAD@ifemptyorundef{\YAD@secondarykeywords}{% + \YAD@generic@argument@translate{keywords}% + }{% + \MakeTextLowercase{\YAD@secondarykeywords}% + }% + }% +}% +\AtEndDocument{% + \notbool{YAD@keywords@used}{% + \ifbool{YAD@nokeywords}{% + }{% + \YAD@ClassError[nokeywords]{% + Commande \protect\keywords\space non utilisee% + }{% + La commande \protect\keywords\space n'a pas ete utilisee. Celle-ci est + requise.% + }% + }% + }{% + \ifdefempty{\YAD@mainkeywords}{% + \YAD@ClassError[nokeywords]{% + Mots cles dans la langue principale non specifies% + }{% + Les mots cles dans la langue principale\MessageBreak% + (1er argument de la commande \protect\keywords) n'ont\MessageBreak% + pas ete specifies. Ceux-ci sont requis.% + }% + }{% + \csdef{YAD@metakeywords}{\YAD@mainkeywords} }% + \ifdefempty{\YAD@secondarykeywords}{% + \YAD@ClassError[nokeywords]{% + Mots cles dans la langue secondaire non specifies% + }{% + Les mots cles dans la langue secondaire\MessageBreak% + (2e argument de la commande \protect\keywords) n'ont\MessageBreak% + pas ete specifies. Ceux-ci sont requis.% + }% + }{% + \csdef{YAD@metakeywords}{\YAD@mainkeywords (\YAD@secondarykeywords)}% + }% + }% +}% +\csdef{makekeywords}{% + \@ifstar{\@tempswatrue\csuse{YAD@starnostar@makekeywords}}{\@tempswafalse\csuse{YAD@starnostar@makekeywords}}% +}% +\csdef{YAD@starnostar@makekeywords}{% + \YAD@clearemptydoublepage% + \pagestyle{prepreliminary}% + % \YAD@astuce@expressioncle% + \if@tempswa% + \else% + \vspace*{\stretch{1}}% + \fi + \begin{flushleft} + \begin{description} + \renewcommand*{\do}[1]{% + \expandafter\selectlanguage\expandafter{##1}% + \item[\YAD@translation{keywords}\IfLanguageName{french}{\,}{}:] + \YAD@ifemptyorundef{\printkeywords}{% + \YAD@generic@argument@translate{keywords}% + }{% + \printkeywords% + }% + }% + \expandafter\docsvlist{\YAD@mainlanguage}% + \ifthenelse{\equal{\YAD@mainlanguage}{french}}{% + \docsvlist{english}% + }{% + \docsvlist{french}% + }% + \end{description} + \end{flushleft} + \if@tempswa% + \else% + \vspace*{\stretch{1}}% + \fi + \expandafter\selectlanguage\expandafter{\YAD@mainlanguage}% + \pagestyle{preliminary}% +}% +\DTLnewdb{laboratories}% +\newcommand{\laboratory}[3][]{% + \DTLnewrow{laboratories}% + \dtlexpandnewvalue% + \yadsetup{% + #1% + }% + \DTLnewdbentry{laboratories}{name}{#2}% + \DTLnewdbentry{laboratories}{address}{#3}% + \ifbool{YAD@nolaboratory}{% + }{% + \ifthenelse{\isempty{#2}}{% + \YAD@ClassError[nolaboratory]{% + Nom du laboratoire de la these vide% + }{% + Le 1er argument obligatoire de la commande + \protect\laboratory\MessageBreak% + est vide (celui-ci doit etre renseigne).% + }% + }{% + }% + \ifthenelse{\isempty{#3}}{% + \YAD@ClassError[nolaboratory]{% + Adresse du laboratoire de la these vide% + }{% + Le 2e argument obligatoire de la commande + \protect\laboratory\MessageBreak% + est vide (celui-ci doit etre renseigne).% + }% + }{% + }% + }% + \YAD@ifemptyorundef{\cmdKV@YAD@logo}{% + \DTLnewdbentry{laboratories}{logo}{}% + }{% + \DTLnewdbentry{laboratories}{logo}{\cmdKV@YAD@logo}% + }% + \YAD@ifemptyorundef{\cmdKV@YAD@logoheight}{% + \DTLnewdbentry{laboratories}{logoheight}{\YAD@default@logoheight}% + }{% + \DTLnewdbentry{laboratories}{logoheight}{\cmdKV@YAD@logoheight}% + }% + \YAD@ifemptyorundef{\cmdKV@YAD@url}{% + \DTLnewdbentry{laboratories}{url}{}% + }{% + \DTLnewdbentry{laboratories}{url}{\cmdKV@YAD@url}% + }% + \YAD@ifemptyorundef{\cmdKV@YAD@telephone}{% + \DTLnewdbentry{laboratories}{telephone}{}% + }{% + \DTLnewdbentry{laboratories}{telephone}{\cmdKV@YAD@telephone}% + }% + \YAD@ifemptyorundef{\cmdKV@YAD@fax}{% + \DTLnewdbentry{laboratories}{fax}{}% + }{% + \DTLnewdbentry{laboratories}{fax}{\cmdKV@YAD@fax}% + }% + \YAD@ifemptyorundef{\cmdKV@YAD@email}{% + \DTLnewdbentry{laboratories}{email}{}% + }{% + \DTLnewdbentry{laboratories}{email}{\cmdKV@YAD@email}% + }% + \ifbool{YAD@nonamelink}{% + \DTLnewdbentry{laboratories}{nonamelink}{true}% + }{% + \DTLnewdbentry{laboratories}{nonamelink}{false}% + }% + % + \DTLgetvalue{\YAD@main@laboratory@name}{laboratories}{1}{\dtlcolumnindex{laboratories}{name}}% + \DTLgetvalue{\YAD@main@laboratory@address}{laboratories}{1}{\dtlcolumnindex{laboratories}{address}}% + \DTLgetvalue{\YAD@main@laboratory@url}{laboratories}{1}{\dtlcolumnindex{laboratories}{url}}% + \DTLgetvalue{\YAD@main@laboratory@nonamelink}{laboratories}{1}{\dtlcolumnindex{laboratories}{nonamelink}}% + % + \boolfalse{YAD@nonamelink}% + \yadsetup{% + logo=,% + url=,% + telephone=,% + fax=,% + email=,% + }% +}% +\csdef{makelaboratory}{% + \@ifstar{\@tempswatrue\csuse{YAD@starnostar@makelaboratory}}{\@tempswafalse\csuse{YAD@starnostar@makelaboratory}}% +}% +\csdef{YAD@starnostar@makelaboratory}{% + \YAD@clearemptydoublepage% + \pagestyle{prepreliminary}% + \if@tempswa% + \else% + \vspace*{\stretch{1}}% + \fi + \noindent% + \ifthenelse{\DTLrowcount{laboratories}>1}{% + \ifYAD@hdr + \YAD@translation{prepared-at-pl-hdr}% + \else% + \YAD@translation{prepared-at-pl}% + \fi + }{% + \ifYAD@hdr + \YAD@translation{prepared-at-hdr}% + \else% + \YAD@translation{prepared-at}% + \fi + }% + \if@tempswa% + \vspace*{\baselineskip}% + \else% + \vspace*{\stretch{.25}}% + \fi + \par% + \ifthenelse{\DTLrowcount{laboratories}<1}{% + \begin{minipage}[t]{\linewidth-\parindent} + \YAD@reach@file{\YAD@generic@argument@translate{laboratory}}% + \\[.1cm] + \YAD@reach@file{\YAD@generic@argument@translate{laboratoryaddress}}% + \end{minipage} + }{% + }% + \DTLforeach*{laboratories}{% + \YAD@laboratory@name=name,% + \YAD@laboratory@address=address,% + \YAD@laboratory@url=url,% + \YAD@laboratory@logo=logo,% + \YAD@laboratory@logoheight=logoheight,% + \YAD@laboratory@telephone=telephone,% + \YAD@laboratory@fax=fax,% + \YAD@laboratory@email=email,% + \YAD@laboratory@nonamelink=nonamelink% + }{% + \ifthenelse{\DTLiseq{\YAD@laboratory@logo}{}}{% + \setlength{\YAD@laboratory@width}{\linewidth-\parindent}% + }{% + \setlength{\YAD@laboratory@width}{.625\linewidth-\parindent}% + }% + \begin{minipage}[t]{\YAD@laboratory@width} + \textbf{\printlaboratory[\YAD@laboratory@url]{\YAD@laboratory@name}}% + \\[.1cm] + \printlaboratoryaddress{\YAD@laboratory@address}% + \\[.25cm] + \begin{tabular}{@{}ll} + \ifthenelse{\DTLiseq{\YAD@laboratory@telephone}{}}{% + }{% + \YAD@translation{phone} & \YAD@reach@file{\YAD@laboratory@telephone} \\% + }% + \ifthenelse{\DTLiseq{\YAD@laboratory@fax}{}}{% + }{% + \YAD@translation{fax} & \YAD@reach@file{\YAD@laboratory@fax} \\% + }% + \ifthenelse{\DTLiseq{\YAD@laboratory@email}{}}{% + }{% + \YAD@translation{email} & + \YAD@reach@file{% + \YAD@ifemptyorundef{\YAD@laboratory@email}{% + % \ifbool{YAD@nolink}{% + \YAD@generic@argument@translate{laboratoryemail}% + % }{% + % \YAD@href{mailto:laboratory@institute.fr}{\YAD@generic@argument@translate{laboratoryemail}}% + % }% + }{% + % \ifbool{YAD@nolink}{% + % \YAD@nolinkurl{\YAD@laboratory@email}% + % }{% + \YAD@href{mailto:\YAD@laboratory@email}{\YAD@nolinkurl{\YAD@laboratory@email}}% + % }% + }% + }% + \\% + }% + \ifthenelse{\DTLiseq{\YAD@laboratory@url}{}}{% + }{% + \YAD@translation{website} & % \printlaboratoryurl + \def\YAD@texteurl{% + \YAD@ifemptyorundef{\YAD@laboratory@url}{% + \YAD@reach@file{\YAD@generic@argument@translate{urllaboratory}}% + }{% + \YAD@reach@file{\YAD@nolinkurl{\YAD@laboratory@url}}% + }% + }% + \YAD@ifemptyorundef{\YAD@laboratory@url}{% + % \ifbool{YAD@nolink}{% + % \YAD@texteurl% + % }{% + % \YAD@href{www.laboratory.fr}{% + \YAD@texteurl% + % }% + % }% + }{% + \ifdraft{% + \YAD@texteurl% + }{% + % \ifbool{YAD@nolink}{% + % \YAD@nolinkurl{\YAD@laboratory@url}% + % }{% + \YAD@url{% + \YAD@laboratory@url% + }% + % }% + }% + }% + }% + \end{tabular}% + \end{minipage} + \ifthenelse{\DTLiseq{\YAD@laboratory@logo}{}}{% + }{% + \hspace{\stretch{1}}% + \begin{minipage}[t]{.325\linewidth} + \def\YAD@logo{% + \YAD@ifemptyorundef{\YAD@laboratory@logo}{% + \YAD@reach@file{\YAD@generic@argument@translate{logolaboratory}}% + }{% + \YAD@reach@file{% + \includegraphics[height=\YAD@laboratory@logoheight,valign=t]{\YAD@laboratory@logo}% + }% + }% + }% + \if@tempswa% + \else% + \hspace{\stretch{1}}% + % \ifbool{YAD@nolink}{% + % \YAD@logo% + % }{% + \YAD@ifemptyorundef{\YAD@laboratory@url}{% + % \YAD@href{www.laboratory.fr}{% + \YAD@logo% + % }% + }{% + \YAD@href{\YAD@laboratory@url}{\YAD@logo}% + }% + % }% + \fi% + \end{minipage}% + }% + \par% + \DTLiflastrow{% + \vspace*{\stretch{1}}% + }{% + \if@tempswa% + \vspace*{\baselineskip}% + \else% + \vspace*{\stretch{.25}}% + \fi% + }% + \setlength\cmdKV@YAD@logoheight{\YAD@default@logoheight}% + }% + \ifthenelse{\DTLrowcount{laboratories}<1}{% + \vspace*{\stretch{1}}% + }{% + }% + \pagestyle{preliminary}% +}% +\csgdef{YAD@abstractname@mainlanguage}{\abstractname}% +\csgdef{YAD@abstractname@secondarylanguage}{\abstractname}% +\newcommand{\YAD@absract}[1]{% + \ifthenelse{\isempty{#1}}{ + \ifnumcomp{\value{YAD@abstracts}}{>}{0}{% + \global\booltrue{YAD@second@abstract@empty}% + }{% + \global\booltrue{YAD@main@abstract@empty}% + }% + }{% + \begin{minipage}{\linewidth} + \small% + #1% + \end{minipage}% + }% +} +\newenvironment{abstract}[1][\abstractname]{% + \global\booltrue{YAD@abstract@used}% + \ifnumcomp{\value{YAD@abstracts}}{>}{0}{% + \global\booltrue{YAD@second@abstract@used}% + \csgdef{YAD@abstractname@secondarylanguage}{#1}% + \lrbox{\YAD@abstract@secondarylanguage}% + \expandafter\selectlanguage\expandafter{\YAD@secondarylanguage}% + }{% + \csgdef{YAD@abstractname@mainlanguage}{#1}% + \lrbox{\YAD@abstract@mainlanguage}% + }% + \Collect@Body\YAD@absract% +}{% + \endlrbox% + \stepcounter{YAD@abstracts}% +}% +\newcommand{\YAD@abstract@page}{% + \bgroup% + \enlargethispage{2cm}% + \setlength{\parindent}{0pt}% + \begin{minipage}{\linewidth} + \small% + {% + \bfseries% + \YAD@ifemptyorundef{\printtitle}{% + \YAD@generic@argument@translate{title}% + }{% + \textsc{\printtitle}% + }% + \ifundef{\printsubtitle}{% + }{% + \newline% + \printsubtitle% + }% + \vspace{-.5em}% + \vspace{\z@}% + \begin{center}% + \YAD@abstractname@mainlanguage% + \end{center}% + }% + \par% + \ifboolexpr{% + bool {YAD@abstract@used}% + and not bool {YAD@main@abstract@empty}% + }{% + \usebox{\YAD@abstract@mainlanguage}% + }{% + \YAD@generic@argument@translate{abstract}% + }% + \ifundef{\printkeywords}{% + }{% + \vspace{.5em}% + \begin{description} + \item[\YAD@translation{keywords}\IfLanguageName{french}{\ifundef{\Fcolonspace}{\FBcolonspace}{\Fcolonspace}}{}:] + \printkeywords + \end{description} + }% + \end{minipage}% + \ifbool{YAD@second@abstract@used}{% + \expandafter\selectlanguage\expandafter{\YAD@secondarylanguage}% + \\[.5\baselineskip]% + \YAD@abstract@page@rule% + \\[.5\baselineskip]% + \begin{minipage}{\linewidth} + \small% + {% + \bfseries% + \YAD@ifemptyorundef{\printtitle}{% + \YAD@generic@argument@translate{title}% + }{% + \textsc{\printtitle}% + }% + \ifundef{\printsubtitle}{% + }{% + \newline% + \printsubtitle% + }% + \vspace{-.5em}% + \vspace{\z@}% + \begin{center}% + \YAD@abstractname@secondarylanguage% + \end{center}% + }% + \par% + \ifboolexpr{% + bool {YAD@abstract@used}% + and not bool {YAD@second@abstract@empty}% + }{% + \usebox{\YAD@abstract@secondarylanguage}% + }{% + \YAD@generic@argument@translate{abstract}% + }% + \ifundef{\printkeywords}{% + }{% + \vspace{.5em}% + \begin{description} + \item[\YAD@translation{keywords}\IfLanguageName{french}{\ifundef{\Fcolonspace}{\FBcolonspace}{\Fcolonspace}}{}:] + \textnormal{\printkeywords} + \end{description} + }% + \end{minipage}% + }{% + }% + \\[.5\baselineskip]% + \YAD@abstract@page@rule% + % \par% + % \textbf{\printlaboratory*}% + % \\% + % \let\YAD@ORI@doublebackslash\\% + % \renewcommand{\\}{ -- }% + % \printlaboratoryaddress% + % \let\\\YAD@ORI@doublebackslash% + \egroup% +}% +\newcommand{\YAD@laboratory@abstract@page}{% + \ifnumgreater{\cmdKV@YAD@numlaboratories}{0}{% + \begin{minipage}[t]{\linewidth} + \let\YAD@ORI@doublebackslash\\% + \renewcommand{\\}{ -- }% + \DTLforeach*{laboratories}{% + \YAD@laboratory@name=name,% + \YAD@laboratory@address=address% + }{% + \DTLiffirstrow{}{\newline}% + \textbf{\printlaboratory{\YAD@laboratory@name}}% + \ifnumgreater{\cmdKV@YAD@numlaboratories}{1}{% + \\% + }{% + \newline% + } + \printlaboratoryaddress{\YAD@laboratory@address}% + \ifthenelse{\value{DTLrowi}=\cmdKV@YAD@numlaboratories}{\dtlbreak}{}% + }% + \end{minipage}% + }{% + }% +}% +\newcommand{\makeabstract}{% + \ifbool{YAD@nomakeabstract}{% + }{% + \YAD@alarm@noabstract% + }% + \pagestyle{preliminary}% + \YAD@phantomsection% + \addcontentsline{toc}{chapter}{\abstractname}% + \booltrue{YAD@makeabstract@used}% + \bgroup% + % \setlength{\footskip}{-15pt}% + \setfootrule{0pt}% + \setfoot[][% + \ifboolexpr{% + bool {YAD@inprogress@work}% + or bool {YAD@inprogress@work@star}% + }{% + \textsc{\translate{lbl-inprogressfoottext} \today}% + }{% + \ifboolexpr{% + bool {YAD@submitted@work@star}% + }{% + \textsc{\translate{lbl-submittedfoottext} \today}% + }{% + }% + }% + ][]{% + \YAD@laboratory@abstract@page% + }{}{}% + \YAD@clearemptydoublepage% + \renewcommand{\YAD@chapter@header}{\abstractname}% + \renewcommand{\YAD@section@header}{\abstractname}% + \YAD@abstract@page% + \YAD@clearemptydoublepage% + \egroup% + \YAD@nolaboratorytrue% + \YAD@nolaboratoryadresstrue% +}% +\newcommand{\YAD@abstract@page@rule}[1][black]{\bgroup\color{#1}\noindent\rule[2pt]{\linewidth}{2pt}\egroup} +\AtEndDocument{% + \ifbool{YAD@makeabstract@used}{% + }{% + \ifbool{YAD@nomakeabstract}{% + }{% + \YAD@ClassError*[nomakeabstract]{% + Commande \protect\makeabstract\space non utilisee% + }{% + La commande \protect\makeabstract\space n'a pas ete\MessageBreak% + utilisee. Celle-ci est requise.% + }% + }% + }% +}% +\newcommand{\YAD@alarm@noabstract}{% + \ifbool{YAD@abstract@used}{% + \ifbool{YAD@main@abstract@empty}{% + \ifnumcomp{\value{YAD@abstracts}}{>}{1}{% + \YAD@ClassError[noabstract]{% + Contenu de la 1re occurrence de `abstract' vide% + }{% + La 1re occurrence de l'environnement `abstract' a ete + utilisee\MessageBreak% + avec un contenu vide. Un contenu non vide est requis.% + }% + }{% + \YAD@ClassError[noabstract]{% + Contenu de l'environnement `abstract' vide% + }{% + L'environnement `abstract' a ete utilise mais avec un contenu + vide.\MessageBreak% + Un contenu non vide est requis.% + }% + }% + }{% + }% + \ifbool{YAD@second@abstract@empty}{% + \YAD@ClassError[noabstract]{% + Contenu de la 2e occurrence de `abstract' vide% + }{% + La 2e occurrence de l'environnement `abstract' a ete + utilisee\MessageBreak% + avec un contenu vide. Un contenu non vide est requis.% + }% + }{% + }% + }{% + \ifbool{YAD@noabstract}{% + }{% + \YAD@ClassError[noabstract]{% + Environnement `abstract' non utilise% + }{% + L'environnement `abstract' n'a pas ete utilise. Celui-ci est requis.% + }% + }% + }% +}% +\newcommand{\makebackcover}{% + \YAD@alarm@noabstract% + \YAD@clearemptydoublepage% + \pagestyle{backcover}% + \YAD@abstract@page% +}% +\csdef{makededications}{% + \@ifstar{\@tempswatrue\csuse{YAD@starnostar@makededications}}{\@tempswafalse\csuse{YAD@starnostar@makededications}}% +}% +\csdef{YAD@starnostar@makededications}{% + \pagestyle{prepreliminary}% + \YAD@clearemptydoublepage% + \if@tempswa% + \else% + \vspace*{\stretch{2}}% + \fi \DTLifdbempty{dedications}{% + \YAD@generic@argument@translate{dedications}% + \YAD@ClassError{% + \protect\makededications\space utilisee/\protect\dedication\space non + utilisee% + }{% + La commande \protect\makededications\space a ete utilisee mais la + commande \protect\dedication,\MessageBreak% + permettant de preparer des dedicaces, n'a pas ete utilisee.% + }% + }{% + \begin{flushright} + \itshape% + \DTLforeach*{dedications}{% + \YAD@dedication=dedication% + }{% + \YAD@ifemptyorundef{\YAD@dedication}{% + \YAD@generic@argument@translate{dedication}% + \YAD@ClassError{% + Dedicace vide% + }{% + L'argument obligatoire d'une commande \protect\dedication\space est + vide\MessageBreak% + (celui-ci doit etre renseigne).% + }% + }{% + \YAD@dedication% + }% + \par% + \DTLiflastrow{% + }{% + \if@tempswa% + \vspace*{\baselineskip}% + \else% + \vspace*{\stretch{1}}% + \fi + }% + }% + \end{flushright} + }% + \if@tempswa% + \else% + \vspace*{\stretch{2}}% + \fi +}% +\csdef{makefrontepigraphs}{% + \@ifstar{\@tempswatrue\csuse{YAD@starnostar@makefrontepigraphs}}{\@tempswafalse\csuse{YAD@starnostar@makefrontepigraphs}}% +}% +\csdef{YAD@starnostar@makefrontepigraphs}{% + \patchcmd{\epigraphs}{\qitemlabel}{\qitemlabel\itemsep=1.5\baselineskip}{}{}% + \YAD@clearemptydoublepage% + \if@tempswa% + \else% + \vspace*{\stretch{2}}% + \fi + \DTLifdbempty{frontepigraphs}{% + \setlength\epigraphrule{0pt}% + \begin{epigraphs} + \qitem{\YAD@generic@argument@translate{epigraphs}}{}% + \end{epigraphs} + \YAD@ClassError{% + \protect\makefrontepigraphs\space utilisee/\protect\frontepigraph\space + non utilisee% + }{% + La commande \protect\makefrontepigraphs\space a ete utilisee mais la + commande\MessageBreak% + \protect\frontepigraph, permettant de preparer des epigraphes, n'a pas + ete utilisee.% + }{% + }% + }{% + \begin{epigraphs} + \DTLforeach*{frontepigraphs}{% + \YAD@epigraphlanguage=epigraphlanguage,% + \YAD@epigraph=epigraph,% + \YAD@epigraphauthor=epigraphauthor% + }{% + \YAD@ifemptyorundef{\YAD@epigraph}{% + \renewcommand{\YAD@epigraph}{% + \YAD@generic@argument@translate{epigraph}% + }% + \YAD@ClassError{% + Epigraphe vide% + }{% + L'argument obligatoire d'une commande \protect\frontepigraph\space + est vide\MessageBreak% + (celui-ci doit etre renseigne).% + }% + }{% + }% + \ifthenelse{\equal{\YAD@mainlanguage}{\YAD@epigraphlanguage}}{% + \qitem{\YAD@epigraph}{\YAD@epigraphauthor}% + }{% + \bgroup% + \expandafter\selectlanguage\expandafter{\YAD@epigraphlanguage}% + \qitem{\YAD@epigraph}{\YAD@epigraphauthor}% + \egroup% + }% + \DTLiflastrow{% + }{% + \if@tempswa% + % \vspace*{2cm}% + \else% + % \vspace*{\stretch{1}}% + \fi + }% + }% + \end{epigraphs} + }% + \if@tempswa% + \else% + \vspace*{\stretch{2}}% + \fi +}% +\newenvironment{epigraphspage}{% + \patchcmd{\epigraphs}{\qitemlabel}{\qitemlabel\itemsep=1.5\baselineskip}{}{} + \YAD@clearemptydoublepage% + \vspace*{\stretch{1}}% +}{% + \vspace*{\stretch{1}}% +}% +\BeforeBeginEnvironment{epigraphspage}{% + \pagestyle{prepreliminary}% +}% +\AfterEndEnvironment{epigraphspage}{% + \pagestyle{preliminary}% +}% +\let\YAD@ORI@chapter\chapter% +\AfterPreamble{% delay the redefinition when titlesec has done its own + \renewcommand\chapter{% + \YAD@clearemptydoublepage% + \YAD@phantomsection% + \ifbool{YAD@output@paper}{% + }{% + \YAD@bookmarksetup{startatroot}% + }% + \@ifstar{\YAD@starred@chapter}{\YAD@unstarred@chapter}% + }% + \newcommand{\YAD@starred@chapter}{% + \setsecnumdepth{none}% + \YAD@ORI@chapter% + }% + \newcommand{\YAD@unstarred@chapter}{% + \if@mainmatter% + \resetsecnumdepth*% + \fi% + \YAD@ORI@chapter% + }% + % \newcommand{\YAD@arg@chapter}[2][]{% + % \ifthenelse{\isempty{#1}}{% + % \YAD@ORI@chapter{#2}% + % \def\chaptertitle{#2}% + % }{% + % \YAD@ORI@chapter[#1]{#2}% + % \def\chaptertitle{#1}% + % }% + % }% + % \newcommand{\YAD@noarg@chapter}[1]{% + % \YAD@ORI@chapter{#1}% + % \def\chaptertitle{#1}% + % }% + % \xpatchcmd{\tableofcontents}{\chapter}{\YAD@ORI@chapter}{}{}% + % \xpatchcmd{\shorttableofcontents}{\chapter}{\YAD@ORI@chapter}{}{}% + % \xpatchcmd{\listoftables}{\chapter}{\YAD@ORI@chapter}{}{}% + % \xpatchcmd{\listoffigures}{\chapter}{\YAD@ORI@chapter}{}{}% + \@ifpackageloaded{floatrow}{% + \xpatchcmd{\float@listhead}{\chapter}{\YAD@ORI@chapter}{}{}% + }{% + }% + \@ifpackageloaded{tocbibind}{% + \renewcommand{\toc@chapter}[1]{% + \chapter*{#1}\prw@mkboth{#1}% + % \addcontentsline{toc}{chapter}{#1}% < Suppression par rapport à l'original + }% + }{% + }% +}% +\xpretocmd{\part}{\setsecnumdepth{\YAD@secnumdepth}}{}{}% +\disclaimer{% + \IfLanguageName{french}{% + \ifundef{\printinstitute}{% + L'\YAD@generic@argument@translate{institute} + }{% + \YAD@if@starts@with@vowel{\YAD@institute}{L'}{Le }\printinstitute* + }% + % + \ifundef{\printcoinstitute}{% + n'entend + }{% + et + \YAD@if@starts@with@vowel{\YAD@coinstitute}{l'}{le }\printcoinstitute* + n'entendent + }% + % + donner aucune approbation ni improbation aux opinions \'emises dans les + th\`eses : ces opinions devront \^etre consid\'er\'ees comme propres \`a + leurs auteurs.% + }{% + The \printinstitute{} + % + \ifundef{\printcoinstitute}{}{and the \printcoinstitute{}} + % + neither endorse nor censure authors' opinions expressed in the theses: + these opinions must be considered to be those of their authors.% + }% +}% +\csdef{makedisclaimer}{% + \@ifstar{\@tempswatrue\csuse{YAD@starnostar@makedisclaimer}}{\@tempswafalse\csuse{YAD@starnostar@makedisclaimer}}% +}% +\csdef{YAD@starnostar@makedisclaimer}{% + \pagestyle{prepreliminary}% + \if@tempswa% + \else% + \vspace*{\stretch{1}}% + \fi% + \printdisclaimer% + \if@tempswa% + \else% + \vspace*{\stretch{1}}% + \fi% + \pagestyle{preliminary}% +}% +\AtBeginDocument{% + \ifthenelse{\equal{\YAD@mainlanguage}{french}}{% + \YAD@hypersetup{pdflang=fr}% + }{% + \YAD@hypersetup{pdflang=en}% + }% +}% +\AtEndPreamble{% + \@ifpackageloaded{biblatex}{% + \defbibheading{bibintoc}[\bibname]{\chapter*{#1}}% + \defbibheading{subbibintoc}[\bibname]{\section{#1}}% + \@ifpackageloaded{csquotes}{% + \SetCiteCommand{\autocite}% + }{% + }% + \let\YAD@printbibliography@ORI\printbibliography% + \renewcommand{\printbibliography}[1][]{% + \booltrue{YAD@printbibliography@used}% + \pagestyle{biblio}% + \YAD@printbibliography@ORI[heading=bibintoc,#1]% + \pagestyle{ordinary}% + }% + }{% + }% +}% +\AtEndDocument{% + \ifbool{YAD@printbibliography@used}{% + }{% + \ifbool{YAD@noprintbibliography}{% + }{% + \YAD@ClassError*[noprintbibliography]{% + Commande \protect\printbibliography\space non utilisee% + }{% + La commande \protect\printbibliography\space n'a pas ete utilisee. Celle-ci est + requise.% + }% + }% + }% +}% +\hopatch@AfterPackage{glossaries}{% + \ifbool{YAD@output@paper}{% + \ifbool{YAD@output@paper@star}{% + }{% + \renewcommand{\glsnavigation}{}% + }% + }{% + }% + \newcommand{\newglssymbol}[5][]{% + \@ifpackageloaded{glossaries}{% + \ifthenelse{\isempty{#1}}{% + \newglossaryentry{#2}{% + type=symbols,% + symbol={#3},% + name={#4},% + description={#5},% + sort={#2}% + }% +}{% + \newglossaryentry{#2}{% + type=symbols,% + symbol={#3},% + name={#4},% + description={#5},% + sort={#1}% + }% +}% +}{% + \ClassError{yathesis}{}{% + Commande \protect\newglssymbol\space utilisee sans que 'glossaries' soit + charge% + }{% + La commande \protect\newglssymbol ne peut etre\MessageBreak% + utilisee que si le package 'glossaries' est charge% + }% +}% +}% +\newglossarystyle{yadsymbolstyle}{% + % put the glossary in the itemize environment: + \renewenvironment{theglossary}% + {\begin{description}}{\end{description}}% + % have nothing after \begin{theglossary}: + \renewcommand*{\glossaryheader}{}% + % have nothing between glossary groups: + \renewcommand*{\glsgroupheading}[1]{}% + \renewcommand*{\glsgroupskip}{}% + % set how each entry should appear: + \renewcommand*{\glossentry}[2]{% + \item[\textmd{\glossentrysymbol{##1}}] + \glstarget{##1}{\glossentryname{##1}}% the entry name + \ifthenelse{\equal{\glossentrydesc{##1}}{}}{% + }{% + \space (\glossentrydesc{##1})% the description + }% + \hfill ##2% the number list in square brackets + }% + % set how sub-entries appear: + \renewcommand*{\subglossentry}[3]{% + \glossentry{##2}{##3}}% +}% +\ifundef{\printsymbols}{% + \newcommand{\printsymbols}[1][]{% + \printglossary[type=symbols,style=yadsymbolstyle,#1]% + }% +}{% + \renewcommand{\printsymbols}[1][]{% + \printglossary[type=symbols,style=yadsymbolstyle,#1]% + }% +}% +\AtEndPreamble{% + \@ifpackageloaded{glossaries}{% + \RequirePackage{glossaries-babel}% + }{% + }% +}% +}% +\AtEndPreamble{% + \shorthandon{;:!?}% + \InputIfFileExists{\YAD@configuration@directory/\YAD@configuration@file}% + {\ClassInfo{yathesis}{% + Fichier de configuration local \YAD@configuration@file\space + trouve% + }% + }{% + % \YAD@ClassWarningNoLine{% + % Fichier de configuration local + % \YAD@configuration@file\space introuvable% + % }% + }% + \shorthandoff{;:!?}% +}% +\AtEndPreamble{% + \shorthandon{;:!?}% + \InputIfFileExists{\YAD@configuration@directory/\YAD@characteristics@file}% + {% + \ClassInfo{yathesis}{% + Fichier \YAD@characteristics@file\space des donnees du document trouve% + }% + }% + {% + % \YAD@ClassWarningNoLine{% + % Fichier \YAD@characteristics@file\space des donnees du titre + % introuvable.\MessageBreak% + % Le fichier \YAD@characteristics@file\space n'a pas ete trouve\MessageBreak% + % dans le dossier `\YAD@configuration@directory'.\MessageBreak Ce fichier + % \YAD@characteristics@file\space peut faciliter l'usage\MessageBreak de la classe% + % }% + }% + \shorthandoff{;:!?}% +}% +\AtEndDocument{% + \ifbool{YAD@tableofcontents@used}{% + }{% + \ifbool{YAD@notableofcontents}{% + }{% + \YAD@ClassError*[notableofcontents]{% + Commande \protect\tableofcontents\space non utilisee% + }{% + La commande \protect\tableofcontents\space n'a pas ete utilisee. Celle-ci + est requise.% + }% + }% + }% +}% +\expression{meta-logopres}{logo PRES}{logo PRES} +\expression{meta-logoinstitute}{logo de l'institut}{logo de l'institut} +\expression{meta-institute}{institut principal}{institut principal} +\expression{meta-coinstitute}{institut de cotutelle}{institut de cotutelle} +\expression{meta-logocoinstitute}{logo de l'institut de cotutelle}{logo de l'institut de cotutelle} +\expression{meta-doctoralschool}{\'ecole doctorale}{\'ecole doctorale} +\expression{meta-laboratory}{nom du laboratoire}{nom du laboratoire} +\expression{meta-logolaboratory}{logo du laboratoire}{logo du laboratoire} +\expression{meta-author}{pr\'enom et nom de l'auteur}{pr\'enom et nom de l'auteur} +\expression{meta-date}{date de la soutenance}{date de la soutenance} +\expression{meta-academicfield}{discipline}{academic field} +\expression{meta-speciality}{sp\'ecialit\'e}{speciality} +\expression{meta-title}{titre du m\'emoire de th\`ese}{thesis title} +\expression{meta-subtitle}{sous-titre du m\'emoire de th\`ese}{thesis subtitle} +\expression{meta-firstname}{Pr\'enom}{Pr\'enom} +\expression{meta-lastname}{Nom}{Nom} +\expression{meta-role}{fonction}{fonction} +\expression{meta-corporation}{corporation}{corporation} +\expression{meta-corps}{corps}{corps} +\expression{meta-affiliation}{affiliation}{affiliation} +\expression{meta-introduction}{introduction}{introduction}% +\expression{meta-conclusion}{conclusion}{conclusion}% +\expression{meta-keywords}{mot(s) cl\'e(s) de la th\`ese}{thesis keyword(s)} +\expression{meta-laboratoryaddress}{adresse du laboratoire}{adresse du laboratoire} +\expression{meta-laboratorytelephone}{t\'el\'ephone du laboratoire}{t\'el\'ephone du laboratoire} +\expression{meta-laboratoryfax}{fax du laboratoire}{fax du laboratoire} +\expression{meta-laboratoryemail}{email du laboratoire}{email du laboratoire} +\expression{meta-urllaboratory}{URL du laboratoire}{URL du laboratoire} +\expression{meta-dedication}{d\'edicace}{dedication} +\expression{meta-dedications}{d\'edicaces}{dedications} +\expression{meta-epigraph}{\'epigraphe}{epigraph} +\expression{meta-epigraphs}{\'epigraphes}{epigraphs} +\expression{meta-abstract}{r\'esum\'e}{abstract}% +\expression{meta-ordernumber}{num\'ero d'ordre}{order number}% +\expression{coinstitute}{}{}% +\expression{company}{}{}% +\expression{institute}{}{}% +\expression{email}{\Email}{\Email}% +\expression{phone}{\Telefon}{\Telefon}% +\expression{fax}{\Fax}{\Fax}% +\expression{caution}{Avertissement}{Caution}% +\expression{draft}{brouillon}{draft}% +\expression{prepared-at}{Cette th\`ese a \'et\'e pr\'epar\'ee au}{This + thesis has been prepared at}% +\expression{prepared-at-pl}{Cette th\`ese a \'et\'e pr\'epar\'ee dans les + laboratoires suivants.}{This thesis has been prepared at the following + research units.}% +\expression{prepared-at-hdr}{Cette \textsc{hdr} a \'et\'e pr\'epar\'ee au}{This + habilitation to conduct researches has been prepared at}% +\expression{prepared-at-pl-hdr}{Cette \textsc{hdr} a \'et\'e pr\'epar\'ee dans + les laboratoires suivants.}{This habilitation to conduct researches has been + prepared at the following research units.}% +\expression{juniorresearcher}{charg\'e de recherche}{Junior Researcher}% +\expression{juniorresearcherfem}{charg\'ee de recherche}{Junior Researcher}% +\expression{juniorresearcher*}{charg\'e de recherche + \textsc{hdr}}{\textsc{hdr} Junior Researcher}% +\expression{juniorresearcherfem*}{charg\'ee de recherche + \textsc{hdr}}{\textsc{hdr} Junior Researcher}% +\expression{cosupervisor}{co-directeur}{Co-Supervisor}% +\expression{cosupervisorfem}{co-directrice}{Co-Supervisor} +\expression{comonitor}{co-encadrant}{Co-Monitor}% +\expression{comonitorfem}{co-encadrante}{Co-Monitor} +\expression{committeemembers}{Composition du jury}{Committee members}% +\expression{estimateddefensedate}{Date de soutenance pr\'evue le}{Defense + date scheduled on}% +\expression{supervisor}{directeur}{Supervisor}% +\expression{supervisorfem}{directrice}{Supervisor} +\expression{seniorresearcher}{directeur de recherche}{Senior Researcher}% +\expression{seniorresearcherfem}{directrice de recherche}{Senior Researcher}% +\expression{supervisors-in-committee}{Directeur de th\`ese}{Supervisor}% +\expression{supervisors-in-committee-pl}{Directeurs de th\`ese}{Supervisors}% +\expression{supervisors-in-committee-hdr}{Directeur}{Supervisor}% +\expression{supervisors-in-committee-pl-hdr}{Directeurs}{Supervisors}% +\expression{academicfield}{Discipline}{Academic Field}% +\expression{doctoralschool}{\'Ecole doctorale}{Doctoral School}% +\expression{aim}{En vue de l'obtention du grade de docteur de l'}{In order + to become Doctor from }% +\expression{aimand}{ et de l'}{ and from }% +\expression{examiners}{Examinateur}{Examiner}% +\expression{examiners-pl}{Examinateurs}{Examiners}% +\expression{guests}{Invit\'e}{Guest}% +\expression{guests-pl}{Invit\'es}{Guests}% +\expression{mcf}{\textsc{mcf}}{Lecturer}% +\expression{mcf*}{\textsc{mcf} \textsc{hdr}}{\textsc{hdr} Lecturer}% +\expression{keywords}{Mots cl\'es}{Keywords}% +\expression{ordernumber}{Num\'ero d'ordre}{Order Number}% +\expression{committeepresident}{pr\'esident du jury}{Committee President}% +\expression{committeepresidentfem}{pr\'esidente du jury}{Committee President}% +\expression{professor}{professeur}{Professor}% +\expression{professorfem}{professeure}{Professor}% +\expression{referees}{Rapporteur}{Referee}% +\expression{referees-pl}{Rapporteurs}{Referees}% +\expression{website}{Site}{Web Site}% +\expression{defendedon}{Soutenue le}{Defended on}% +\expression{speciality}{Sp\'ecialit\'e}{Speciality}% +\expression{supervisedby}{Th\`ese dirig\'ee par}{Thesis supervised by}% +\expression{supervisedby-hdr}{Directeurs}{Supervisors}% +\expression{thesisdefendedby}{Th\`ese pr\'esent\'ee par}{Thesis defended + by}% +\expression{thesisdefendedby-hdr}{Habilitation \`a diriger les recherches + pr\'esent\'ee par}{Habilitation to conduct researches defended by}% +\expression{thesistitle}{Titre de la th\`ese}{Thesis Title}% +\expression{thesistitle-hdr}{Titre de l'habilitation \`a diriger les recherches}{Habilitation to conduct researches Title}% +\expression{inprogress}{travail en cours}{work in progress}% +\expression{universitydepartment}{Unit\'e de recherche}{University + Department}% +\expression{versiondate}{Version interm\'ediaire en date +du}{Work in progress as of}% +\expression{inprogressfoottext}{\translate{lbl-versiondate}}{\translate{lbl-versiondate}}% +\expression{submittedfoottext}{Version soumise en date du}{Submitted work + as of}% +%% ---------------------------------------------------------------------------------- +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3 +%% of this license or (at your option) any later version. +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of LaTeX +%% version 2005/12/01 or later. +%% +%% This work has the LPPL maintenance status `maintained'. +%% +%% The Current Maintainer of this work is Denis Bitouz'e. +%% +%% This work consists of the file yathesis.dtx +%% and the derived files yathesis.cls, +%% yathesis.ins, +%% yathesis.pdf, +%% yathesisdoc.sty, +%% and a number of configuration files. +%% +%% End of file `yathesis.cls'. -- cgit v1.2.3