texlive[41349] Master: restore yathesis tex files

commits+karl at tug.org commits+karl at tug.org
Fri Jun 10 23:52:59 CEST 2016


Revision: 41349
          http://tug.org/svn/texlive?view=revision&revision=41349
Author:   karl
Date:     2016-06-10 23:52:58 +0200 (Fri, 10 Jun 2016)
Log Message:
-----------
restore yathesis tex files

Modified Paths:
--------------
    trunk/Master/tlpkg/libexec/ctan2tds

Added Paths:
-----------
    trunk/Master/texmf-dist/tex/latex/yathesis/
    trunk/Master/texmf-dist/tex/latex/yathesis/yathesis-demo.sty
    trunk/Master/texmf-dist/tex/latex/yathesis/yathesis.cls

Added: trunk/Master/texmf-dist/tex/latex/yathesis/yathesis-demo.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/yathesis/yathesis-demo.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/yathesis/yathesis-demo.sty	2016-06-10 21:52:58 UTC (rev 41349)
@@ -0,0 +1,99 @@
+%%
+%% 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 at 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 at YAD@with at argument}{\cleardoublepage\zlabel{tableofcontents-withargument}}{}{}
+  \xpretocmd{\tableofcontents at YAD@without at 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 at demo@chapter at ORI\chapter%
+  \RenewDocumentCommand\chapter{som}{%
+    \IfBooleanTF{#1}
+    {
+      \ifthenelse{\equal{#3}{Introduction g\IeC {\'e}n\IeC {\'e}rale}}{\cleardoublepage\zlabel{introduction}%
+      }{%
+      }%
+      \IfNoValueTF{#2}
+      {\YAD at demo@chapter at ORI*{#3}}
+      {\YAD at demo@chapter at 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 at demo@chapter at ORI{#3}}
+      {\YAD at demo@chapter at ORI[#2]{#3}}%
+    }
+  }
+  \ifcsdef{printglossary}{%
+    \LetLtxMacro{\YAD at printglossary@ORI}{\printglossary}
+    \renewcommand{\printglossary}[1][]{%
+      \ifthenelse{\isempty{#1}}{\cleardoublepage\zlabel{printglossary}%
+      }{%
+      }%
+      \YAD at 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,
+%%                                 and a number of configuration files.
+%%
+%% End of file `yathesis-demo.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/yathesis/yathesis-demo.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/latex/yathesis/yathesis.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/yathesis/yathesis.cls	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/yathesis/yathesis.cls	2016-06-10 21:52:58 UTC (rev 41349)
@@ -0,0 +1,3763 @@
+%%
+%% 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 at 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.99m}
+\def\filedate{2016/05/22}
+\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 at cosupervisor@or at comonitor}
+\newbool{YAD at inprogress@work at star}
+\newbool{YAD at inprogress@work}
+\newbool{YAD at submitted@work}
+\newbool{YAD at submitted@work at star}
+\newbool{YAD at final@work}
+\newbool{YAD at draft}
+\newbool{YAD at output@paper}
+\newbool{YAD at output@paper at star}
+\newbool{YAD at in@footnote}
+\newbool{YAD at second@title}
+\newbool{YAD at second@abstract}
+\newbool{YAD at maketitle@used}
+\newbool{YAD at keywords@used}
+\newbool{YAD at introduction@used}
+\newbool{YAD at introduction@empty}
+\newbool{YAD at conclusion@used}
+\newbool{YAD at conclusion@empty}
+\newbool{YAD at makeabstract@used}
+\newbool{YAD at second@abstract at used}
+\newbool{YAD at abstract@used}
+\newbool{YAD at main@abstract at empty}
+\newbool{YAD at second@abstract at empty}
+\newbool{YAD at tableofcontents@used}
+\newbool{YAD at printbibliography@used}
+\newbool{YAD at two@titles}
+\newbool{YAD at cover@page}
+\newbool{YAD at supervisor@specified}
+\newbool{YAD at symbols@isolated}
+\newbool{YAD at logo@before}
+\newbool{YAD at valid@day}
+\newbool{YAD at valid@month}
+\newbool{YAD at valid@year}
+\newbool{YAD at mainmatter@used}
+\newlength{\cmdKV at YAD@logoheight}
+\newlength{\YAD at max@logoheight}
+\newlength{\YAD at default@logoheight}
+\newlength{\YAD at titleboxheight}%
+\newlength{\YAD at titleboxwidth}%
+\newlength{\YAD at otherboxheight}%
+\newlength{\YAD at laboratory@width}%
+\setlength\YAD at default@logoheight{1.5cm}%
+\setlength\cmdKV at YAD@logoheight{\YAD at default@logoheight}%
+\setlength\YAD at max@logoheight{\cmdKV at YAD@logoheight}%
+\newsavebox{\YAD at titlebox}%
+\newsavebox{\YAD at beforetitlebox}%
+\newsavebox{\YAD at aftertitlebox}%
+\newsavebox{\YAD at abstract@mainlanguage}%
+\newsavebox{\YAD at abstract@secondarylanguage}%
+\newcounter{YAD at abstracts}%
+\newcounter{YAD at warnings}%
+\setcounter{YAD at abstracts}{0}%
+\setcounter{YAD at warnings}{0}%
+\def\YAD at mainlanguage{french}%
+\def\YAD at secondarylanguage{english}%
+\def\YAD at tocdepth{subsection}%
+\def\YAD at secnumdepth{subsection}%
+\def\YAD at mainkeywords{\YAD at generic@argument at translate{keywords}}%
+\def\YAD at secondarykeywords{\YAD at generic@argument at translate{keywords}}%
+\def\YAD at global@sepcorpaffil at french{}%
+\def\YAD at global@sepcorpaffil at english{}%
+\def\cmdKV at YAD@frametitle{fbox}%
+\newcommand{\YAD at generic@text}{%
+  Un texte generique risque d'etre affiche a la place.\MessageBreak%
+}%
+\newcommand{\YAD at 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 at extra@help at text}{%
+  \MessageBreak%
+  Consulter la documentation de la classe `yathesis'\MessageBreak%
+  pour plus de precisions.%
+}%
+\newcommand{\YAD at ClassError}{\@ifstar{\@tempswatrue\@YAD at ClassError}{\@tempswafalse\@YAD at ClassError}}
+\newcommand{\@YAD at ClassError}[3][]{%
+  \ifbool{YAD at noerror}{%
+  }{%
+    \ifboolexpr{%
+      bool {YAD at inprogress@work}%
+      or bool {YAD at inprogress@work at star}%
+      or bool {YAD at draft}%
+      or bool {YAD at noerror}%
+    }{%
+    }{%
+      \ifthenelse{\isempty{#1}}{%
+        \ClassError{yathesis}{%
+          #2%
+        }{%
+          #3%
+          \MessageBreak
+          \if at tempswa%
+          \else%
+          \YAD at generic@text%
+          \fi%
+          \YAD at extra@help at text%
+        }%
+      }{%
+        \ClassError{yathesis}{%
+          #2%
+        }{%
+          #3%
+          \MessageBreak
+          \if at tempswa%
+          \else%
+          \YAD at generic@text%
+          \fi%
+          \YAD at quiet@text{#1}%
+          \YAD at extra@help at text%
+        }%
+      }%
+    }%
+  }%
+}%
+\newcommand{\YAD at ClassWarningNoLine}[1]{%
+  \ifboolexpr{%
+    bool {YAD at inprogress@work}%
+    or bool {YAD at inprogress@work at star}%
+    or bool {YAD at draft}%
+    or bool {YAD at nowarning}%
+  }{%
+    \stepcounter{YAD at warnings}%
+  }{%
+    \ClassWarningNoLine{yathesis}{%
+      #1%
+    }%
+  }%
+}%
+\pgfkeys{/yad/.is family}
+\pgfkeys{/yad/.cd}
+\def\yadsetup{\pgfqkeys{/yad}}
+\newcommand{\YAD at 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 at create@boolean{nonamelink}%
+\YAD at create@boolean{noerror}%
+\YAD at create@boolean{nowarning}%
+\YAD at create@boolean{noauthor}%
+\YAD at create@boolean{notitle}%
+\YAD at create@boolean{noacademicfield}%
+\YAD at create@boolean{nodate}%
+\YAD at create@boolean{noinstitute}%
+\YAD at create@boolean{nodoctoralschool}%
+\YAD at create@boolean{nolaboratory}%
+\YAD at create@boolean{nolaboratoryadress}%
+\YAD at create@boolean{nosupervisor}%
+\YAD at create@boolean{nomaketitle}%
+\YAD at create@boolean{nokeywords}%
+\YAD at create@boolean{noabstract}%
+\YAD at create@boolean{nomakeabstract}%
+\YAD at create@boolean{notableofcontents}%
+\YAD at create@boolean{noprintbibliography}%
+\YAD at create@boolean{nofrontcover}%
+\YAD at create@boolean{hdr}%
+\yadsetup{noerror=true}%
+\booltrue{YAD at cover@page}%
+\YAD at create@boolean{nologo}%
+\YAD at create@boolean{professor}%
+\YAD at create@boolean{mcf}%
+\YAD at create@boolean{mcf*}%
+\YAD at create@boolean{juniorresearcher}%
+\YAD at create@boolean{juniorresearcher*}%
+\YAD at create@boolean{seniorresearcher}%
+\YAD at create@boolean{male}%
+\YAD at 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 at draft}%
+    \boolfalse{YAD at inprogress@work}%
+    \boolfalse{YAD at inprogress@work at star}%
+    \boolfalse{YAD at submitted@work}%
+    \boolfalse{YAD at submitted@work at star}%
+    \boolfalse{YAD at final@work}%
+    \ifthenelse{\equal{\@classoptionslist}{}}{%
+      \edef\@classoptionslist{draft}%
+    }{%
+      \edef\@classoptionslist{\@classoptionslist,draft}%
+    }%
+  },%
+  version/inprogress/.code={%
+    \boolfalse{YAD at draft}%
+    \booltrue{YAD at inprogress@work}%
+    \boolfalse{YAD at inprogress@work at star}%
+    \boolfalse{YAD at submitted@work}%
+    \boolfalse{YAD at submitted@work at star}%
+    \boolfalse{YAD at final@work}%
+  },%
+  version/inprogress*/.code={%
+    \boolfalse{YAD at draft}%
+    \boolfalse{YAD at inprogress@work}%
+    \booltrue{YAD at inprogress@work at star}%
+    \boolfalse{YAD at submitted@work}%
+    \boolfalse{YAD at submitted@work at star}%
+    \boolfalse{YAD at final@work}%
+  },%
+  version/submitted/.code={%
+    \boolfalse{YAD at nowarning}%
+    \boolfalse{YAD at noerror}%
+    \boolfalse{YAD at nowarning}%
+    \boolfalse{YAD at noerror}%
+    \boolfalse{YAD at draft}%
+    \boolfalse{YAD at inprogress@work}%
+    \boolfalse{YAD at inprogress@work at star}%
+    \booltrue{YAD at submitted@work}%
+    \boolfalse{YAD at submitted@work at star}%
+    \boolfalse{YAD at final@work}%
+  },%
+  version/submitted*/.code={%
+    \boolfalse{YAD at nowarning}%
+    \boolfalse{YAD at noerror}%
+    \boolfalse{YAD at draft}%
+    \boolfalse{YAD at inprogress@work}%
+    \boolfalse{YAD at inprogress@work at star}%
+    \boolfalse{YAD at submitted@work}%
+    \booltrue{YAD at submitted@work at star}%
+    \boolfalse{YAD at final@work}%
+  },%
+  version/final/.code={%
+    \boolfalse{YAD at nowarning}%
+    \boolfalse{YAD at noerror}%
+    \boolfalse{YAD at draft}%
+    \boolfalse{YAD at inprogress@work}%
+    \boolfalse{YAD at inprogress@work at star}%
+    \boolfalse{YAD at submitted@work}%
+    \boolfalse{YAD at submitted@work at star}%
+    \booltrue{YAD at final@work}%
+  },%
+  version/.initial=final%
+}%
+\yadsetup{version=inprogress}%
+\yadsetup{%
+  output/.is choice,%
+  output/paper/.code={\booltrue{YAD at output@paper}},%
+  output/paper*/.code={%
+    \booltrue{YAD at output@paper}%
+    \booltrue{YAD at output@paper at star}%
+  },%
+  output/screen/.code={},%
+  output/.initial=screen%
+}%
+\def\YAD at interligne{single}%
+\yadsetup{%
+  space/.is choice,%
+  space/single/.code={\def\YAD at interligne{single}},%
+  space/onehalf/.code={\def\YAD at interligne{onehalf}},%
+  space/double/.code={\def\YAD at interligne{double}},%
+  space/.initial=single%
+}%
+\yadsetup{%
+  mainlanguage/.store in=\YAD at mainlanguage,%
+  secnumdepth/.store in=\YAD at secnumdepth,%
+  sepcorpaffilfrench/.store in=\YAD at global@sepcorpaffil at french,%
+  sepcorpaffilenglish/.store in=\YAD at global@sepcorpaffil at english,%
+  % frametitle/.store in=\cmdKV at YAD@frametitle,%
+  chap-style/.code={%
+    \def\YAD at 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}}%
+}%
+\yadsetup{%
+  .unknown/.code ={\expandafter\PassOptionsToClass\expandafter{\pgfkeyscurrentname}{book}}%
+}%
+\ProcessPgfOptions{/yad}%
+\ifthenelse{\equal{\YAD at mainlanguage}{english}}{%
+  \def\YAD at secondarylanguage{french}%
+}{%
+}%
+\ifthenelse{\equal{\YAD at mainlanguage}{french}}{%
+  \def\YAD at secondarylanguage{english}%
+}{%
+}%
+\ifthenelse{\equal{\@classoptionslist}{}}{%
+  \edef\@classoptionslist{\YAD at secondarylanguage,\YAD at mainlanguage}%
+}{%
+  \edef\@classoptionslist{\YAD at secondarylanguage,\YAD at 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{iftex}[2013/04/04]%
+\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 at 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 at inprogress@work at star}{%
+    \RequirePackage{draftwatermark}[2006/06/30]%
+  }{%
+  }%
+}%
+\RequirePackage{babel}[2014/03/24]
+\RequirePackage{iflang}[2007/11/11]%
+\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 at href}[3][]{\href[#1]{#2}{#3}}%
+    \newcommand{\YAD at hypersetup}[1]{\hypersetup{#1}}%
+    \newcommand{\YAD at url}[1]{\url{#1}}%
+    \newcommand{\YAD at nolinkurl}[1]{\nolinkurl{#1}}%
+    \newcommand{\YAD at texorpdfstring}[2]{\texorpdfstring{#1}{#2}}%
+    \newcommand{\YAD at phantomsection}{\phantomsection}%
+  }{%
+    \newcommand{\YAD at href}[3][]{#3}%
+    \newcommand{\YAD at hypersetup}[1]{}%
+    \newcommand{\YAD at url}[1]{\texttt{#1}}%
+    \newcommand{\YAD at nolinkurl}[1]{\texttt{#1}}%
+    \newcommand{\YAD at texorpdfstring}[2]{#1}%
+    \newcommand{\YAD at phantomsection}{}%
+  }%
+  \@ifpackageloaded{bookmark}{%
+    \newcommand{\YAD at bookmarksetup}[1]{\bookmarksetup{#1}}%
+  }{%
+    \newcommand{\YAD at bookmarksetup}[1]{}%
+  }%
+}%
+\@ifpackagelater{babel}{2013/04/15}{%
+  \PassOptionsToPackage{main=\YAD at mainlanguage}{babel}%
+}{%
+  % \AtEndPreamble{%
+  \YAD at 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 at ifemptyorundef}[3]{%
+  \ifboolexpr{%
+    test {\ifundef{#1}} or %
+    test {\ifdefempty{#1}}%
+  }{%
+    #2%
+  }{%
+    #3%
+  }%
+}%
+\AfterEndDocument{%
+  \ifbool{YAD at nowarning}{%
+    \ifboolexpr{%
+      bool {YAD at inprogress@work}%
+      or bool {YAD at inprogress@work at star}%
+      or bool {YAD at draft}%
+    }{%
+    }{%
+      \ifnumgreater{\value{YAD at warnings}}{0}{%
+        % \immediate\write\YAD at file{%
+          \ClassWarningNoLine{yathesis}{%
+            L'option `nowarning' ayant ete utilisee,\MessageBreak%
+            \theYAD at warnings\space warning%
+            \ifnumequal{\value{YAD at warnings}}{1}{%
+              \space propre%
+            }{%
+              s propres%
+            }
+            %
+            a la classe `yathesis'\MessageBreak%
+            \ifnumequal{\value{YAD at 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 at warnings}}{1}{%
+              \space warning%
+            }{%
+              s warnings%
+            }
+            %
+            en supprimant\MessageBreak%
+            l'option `nowarning'%
+          }%
+        % }%
+      }{%
+      }%
+    }%
+  }{%
+  }%
+}%
+  \tcbuselibrary{skins}%
+\def\YAD at clearspread{\clearpage\if at twoside \ifodd\c at page
+  \hbox{}\newpage\if at twocolumn\hbox{}\newpage\fi\fi\fi}
+\renewenvironment{titlepage}
+{%
+  \cleardoublepage
+  \if at twocolumn
+  \@restonecoltrue\onecolumn
+  \else
+  \@restonecolfalse\newpage
+  \fi
+  \thispagestyle{empty}%
+}%
+{\if at restonecol\twocolumn \else \newpage \fi
+}%
+\newcommand*{\YAD at configuration@directory}{configuration}
+\newcommand*{\YAD at configuration@file}{thesis.cfg}
+\newcommand*{\YAD at characteristics@file}{characteristics.tex}
+\AtEndPreamble{%
+  \@ifpackageloaded{siunitx}{%
+    \sisetup{detect-all}%
+    \ifthenelse{\equal{\YAD at mainlanguage}{french}}{%
+      \sisetup{locale=FR}%
+    }{%
+      \sisetup{locale=UK}%
+    }%
+  }{%
+  }%
+}%
+\definecolor{YAD at configuration@file at color}{rgb}{0.5,0,0.5}%
+\definecolor{YAD at main@file at color}{rgb}{1,0.5,0}%
+\newcommand*{\YAD at reach@file}[2][\YAD at characteristics@file]{%
+  \ifdraft{%
+    \ifthenelse{\equal{\YAD at configuration@file}{#1}}{%
+      \YAD at hypersetup{%
+        urlbordercolor=YAD at configuration@file at color,%
+        urlcolor=YAD at configuration@file at color%
+      }%
+    }{%
+      \YAD at hypersetup{%
+        urlbordercolor=YAD at main@file at color,%
+        urlcolor=YAD at main@file at color%
+      }%
+    }%
+    \IfFileExists{\YAD at configuration@directory/#1}{%
+       \YAD at href{\YAD at configuration@directory/#1}{#2}%
+    }{%
+      \YAD at href{\jobname.tex}{#2}%
+    }
+  }{%
+    #2%
+  }%
+}%
+\ifbool{YAD at output@paper}{%
+  \AtEndPreamble{%
+    \@ifpackageloaded{hyperref}{%
+      \YAD at hypersetup{colorlinks=false}%
+      \renewcommand{\YAD at href}[3][]{#3}%
+      \let\YAD at ori@footnote\footnote%
+      \renewcommand{\footnote}[1]{\booltrue{YAD at in@footnote}\YAD at ori@footnote{#1}\boolfalse{YAD at in@footnote}}%
+      \renewcommand*\url[1]{\nolinkurl{#1}}%
+      \renewcommand*\href[3][]{%
+        \ifbool{YAD at in@footnote}{%
+          #3 (\url{#2}) }{%
+          #3\footnote{\url{#2}} }%
+      }%
+    }{%
+    }%
+  }%
+}{%
+}%
+\@ifpackageloaded{draftwatermark}{%
+  \SetWatermarkColor{gray!10}%
+}{%
+}%
+\ifbool{YAD at inprogress@work at star}{%
+  \SetWatermarkFontSize{3cm}%
+  \AfterEndPreamble{\translatelet\YAD at trinprogress{lbl-inprogress}}%
+  \SetWatermarkText{\MakeUppercase{\YAD at trinprogress}}%
+}{%
+}%
+\ifdraft{%
+  \AfterEndPreamble{\translatelet\YAD at trdraft{lbl-draft}}%
+  \SetWatermarkText{\MakeUppercase{\YAD at trdraft}}%
+}{%
+}%
+\newcommand*{\YAD at generic@argument}[1]{%
+  \bgroup\color{brown}\normalfont$\langle$\textsl{\texttt{#1}}$\rangle$\egroup%
+}%
+\newcommand*{\YAD at translation}[1]{%
+  \ifthenelse{\isempty{#1}}{%
+  }{%
+    \ifdraft{%
+      {%
+        \scriptsize%
+        \begin{tabular}{l}
+          {%
+            \normalfont\ttfamily\tiny%
+            (#1)%
+          }%
+          \\[-.3\baselineskip]
+          \YAD at reach@file[\YAD at configuration@file]{%
+            \translate{lbl-#1}%
+          }%
+        \end{tabular}
+      }%
+    }{%
+    \translate{lbl-#1}%
+    }%
+  }%
+}%
+\newcommand{\YAD at 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 at reach@file[\YAD at 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 at reach@file[\YAD at configuration@file]{\texttt{\YAD at configuration@file}}
+            et d'y ins\'erer
+            \begin{center}
+              \lstinline[morekeywords=expression]|\\expression\{|%
+              \YAD at meta{label}%
+              \lstinline|\}\{|%
+              \YAD at meta{valeur (en fran\c cais)}%
+              \lstinline|\}\{|%
+              \YAD at meta{valeur (en anglais)}%
+              \lstinline|\}|
+            \end{center}
+            pour lui donner une (nouvelle) \YAD at meta{valeur} (\'eventuellement
+            vide), \YAD at meta{label} \'etant son identifiant indiqu\'e au-dessus et
+            entre parenth\`eses\ifundef{\Fcolonspace}{\FBcolonspace}{\Fcolonspace};
+          \item une \YAD at 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 at reach@file{\texttt{\YAD at 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 at generic@argument at translate}[1]{%
+  \YAD at texorpdfstring{\YAD at generic@argument{\translate{meta-#1}}}{<#1>}%
+}%
+\newcommand{\cmdKV at YAD@numlaboratories}{1}%
+\yadsetup{%
+  role/.store in=\cmdKV at YAD@role,%
+  corporation/.store in=\cmdKV at YAD@corps,%
+  corps/.store in=\cmdKV at YAD@corps,%
+  url/.store in=\cmdKV at YAD@url,%
+  logo/.store in=\cmdKV at YAD@logo,%
+  address/.store in=\cmdKV at YAD@address,%
+  telephone/.store in=\cmdKV at YAD@telephone,%
+  fax/.store in=\cmdKV at YAD@fax,%
+  email/.store in=\cmdKV at YAD@email,%
+  affiliation/.store in=\cmdKV at YAD@affiliation,%
+  affiliationsecondary/.store in=\cmdKV at YAD@affiliationsecondary,%
+  sepcorpaffilfrench/.store in=\cmdKV at YAD@sepcorpaffilfrench,%
+  sepcorpaffilenglish/.store in=\cmdKV at YAD@sepcorpaffilenglish,%
+  name/.store in=\cmdKV at YAD@name,%
+  depth/.store in=\cmdKV at YAD@depth,%
+  frametitle/.store in=\cmdKV at YAD@frametitle,%
+  numlaboratories/.store in=\cmdKV at YAD@numlaboratories,%
+}%
+\yadsetup{%
+  logoheight/.code={%
+    \global\setlength\cmdKV at YAD@logoheight{#1}%
+    \ifdimgreater{\cmdKV at YAD@logoheight}{\YAD at max@logoheight}{%
+      \global\setlength\YAD at max@logoheight{\cmdKV at YAD@logoheight}%
+    }{%
+    }%
+  }%
+}%
+\yadsetup{sepcorpaffilfrench=\YAD at global@sepcorpaffil at french}%
+\yadsetup{sepcorpaffilenglish=\YAD at global@sepcorpaffil at 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 at staffs}%
+\DTLnewrow{YAD at staffs}%
+\DTLnewdbentry{YAD at staffs}{YAD at the@staff}{referees}%
+\DTLnewrow{YAD at staffs}%
+\DTLnewdbentry{YAD at staffs}{YAD at the@staff}{examiners}%
+\DTLnewrow{YAD at staffs}%
+\DTLnewdbentry{YAD at staffs}{YAD at the@staff}{guests}%
+\DTLnewrow{YAD at staffs}%
+\DTLnewdbentry{YAD at staffs}{YAD at the@staff}{supervisors-in-committee}%
+\DTLforeach{YAD at staffs}{%
+  \YAD at the@staff=YAD at the@staff}{%
+  \DTLnewdb{\YAD at the@staff}%
+}%
+\DTLnewdb{YAD at supervisors}%
+\DTLnewdb{dedications}%
+\DTLnewdb{frontepigraphs}%
+\newcommand*{\YAD at staff}[4][]{%
+  \dtlexpandnewvalue%
+  %
+  \yadsetup{#1}%
+  %
+  \ifbool{YAD at professor}{%
+    \ifboolexpr{%
+      bool {YAD at female} or %
+      not bool {YAD at male}%
+    }{%
+      \yadsetup{corps=professorfem,#1}%
+    }{%
+      \yadsetup{corps=professor,#1}%
+    }%
+  }{%
+  }%
+  \ifboolexpr{ bool {YAD at mcf} }{%
+    \yadsetup{corps=mcf,#1}%
+  }{%
+  }%
+  \ifboolexpr{ bool {YAD at mcf*} }{%
+    \yadsetup{corps=mcf*,#1}%
+  }{%
+  }%
+  \ifboolexpr{ bool {YAD at juniorresearcher} }{%
+    \ifboolexpr{%
+      bool {YAD at female} or %
+      not bool {YAD at male}%
+    }{%
+      \yadsetup{corps=juniorresearcherfem,#1}%
+    }{%
+      \yadsetup{corps=juniorresearcher,#1}%
+    }%
+  }{%
+  }%
+  \ifboolexpr{ bool {YAD at juniorresearcher*} }{%
+    \ifboolexpr{%
+      bool {YAD at female} or %
+      not bool {YAD at male}%
+    }{%
+      \yadsetup{corps=juniorresearcherfem*,#1}%
+    }{%
+      \yadsetup{corps=juniorresearcher*,#1}%
+    }%
+  }{%
+  }%
+  \ifboolexpr{ bool {YAD at seniorresearcher} }{%
+    \ifboolexpr{%
+      bool {YAD at female} or %
+      not bool {YAD at male}%
+    }{%
+      \yadsetup{corps=seniorresearcherfem,#1}%
+    }{%
+      \yadsetup{corps=seniorresearcher,#1}%
+    }%
+  }{%
+  }%
+  %
+  % \ifthenelse{\equal{\cmdKV at YAD@corporation}{}}{%
+  % }{%
+  %   \ifthenelse{\equal{\cmdKV at YAD@corps}{}}{%
+  %     \yadsetup{#1,corps=\cmdKV at YAD@corporation}%
+  %   }{%
+  %   }%
+  % }%
+  \DTLnewrow{#4}%
+  \DTLnewdbentry{#4}{firstname}{#2}%
+  \DTLnewdbentry{#4}{lastname}{#3}%
+  \YAD at ifemptyorundef{\cmdKV at YAD@role}{%
+    \DTLnewdbentry{#4}{role}{}%
+  }{%
+    \DTLnewdbentry{#4}{role}{\cmdKV at YAD@role}%
+  }%
+  \YAD at ifemptyorundef{\cmdKV at YAD@corps}{%
+    \DTLnewdbentry{#4}{corps}{}%
+  }{%
+    \DTLnewdbentry{#4}{corps}{\cmdKV at YAD@corps}%
+  }%
+  \YAD at ifemptyorundef{\cmdKV at YAD@sepcorpaffilfrench}{%
+    \DTLnewdbentry{#4}{sepcorpaffilfrench}{\YAD at global@sepcorpaffil at french}%
+  }{%
+    \DTLnewdbentry{#4}{sepcorpaffilfrench}{\cmdKV at YAD@sepcorpaffilfrench}%
+    \def\cmdKV at YAD@sepcorpaffilfrench{}%
+  }%
+  \YAD at ifemptyorundef{\cmdKV at YAD@sepcorpaffilenglish}{%
+    \DTLnewdbentry{#4}{sepcorpaffilenglish}{\YAD at global@sepcorpaffil at english}%
+  }{%
+    \DTLnewdbentry{#4}{sepcorpaffilenglish}{\cmdKV at YAD@sepcorpaffilenglish}%
+    \def\cmdKV at YAD@sepcorpaffilenglish{}%
+  }%
+  \YAD at ifemptyorundef{\cmdKV at YAD@affiliation}{%
+    \DTLnewdbentry{#4}{affiliation}{}%
+  }{%
+    \DTLnewdbentry{#4}{affiliation}{\cmdKV at YAD@affiliation}%
+  }%
+  \YAD at ifemptyorundef{\cmdKV at YAD@affiliationsecondary}{%
+    \YAD at ifemptyorundef{\cmdKV at YAD@affiliation}{%
+      \DTLnewdbentry{#4}{affiliationsecondary}{}%
+    }{%
+      \DTLnewdbentry{#4}{affiliationsecondary}{\cmdKV at YAD@affiliation}%
+    }%
+  }{%
+    \DTLnewdbentry{#4}{affiliationsecondary}{\cmdKV at YAD@affiliationsecondary}%
+  }%
+  \yadsetup{reinitialize person}%
+}%
+\newcommand{\YAD at error@firstlastnames at empty}[4]{%
+  \ifthenelse{\isempty{#2}}{%
+    \YAD at 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 at ClassError{%
+      Nom #1 non specifie%
+    }{%
+      Le 2e argument obligatoire de la commande \string#4\MessageBreak%
+      est vide (celui-ci doit etre renseigne).%
+    }%
+  }{%
+  }%
+}
+\newcommand*{\YAD at supervisors@in at committee}[3][]{%
+  \YAD at staff[#1]{#2}{#3}{supervisors-in-committee}%
+}%
+\newcommand{\supervisor}{%
+  \@ifstar{\@tempswatrue\YAD at supervisor}{\@tempswafalse\YAD at supervisor}%
+}
+\newcommand*{\YAD at supervisor}[3][]{%
+  \booltrue{YAD at supervisor@specified}%
+  \yadsetup{#1}%
+  \ifboolexpr{%
+    bool {YAD at female} or %
+    not bool {YAD at male}%
+  }{%
+    \YAD at error@firstlastnames at empty{de la directrice de these}{#2}{#3}{\supervisor}%
+    \YAD at staff[role=supervisorfem,#1]{#2}{#3}{YAD at supervisors}%
+  }{%
+    \YAD at error@firstlastnames at empty{du directeur de these}{#2}{#3}{\supervisor}%
+    \YAD at staff[role=supervisor,#1]{#2}{#3}{YAD at supervisors}%
+  }%
+  \if at tempswa%
+  \else%
+  \YAD at staff[role=supervisor,#1]{#2}{#3}{supervisors-in-committee}%
+  \fi%
+}%
+\newcommand{\cosupervisor}{%
+  \@ifstar{\@tempswatrue\YAD at cosupervisor}{\@tempswafalse\YAD at cosupervisor}%
+}
+\newcommand*{\YAD at cosupervisor}[3][]{%
+  \booltrue{YAD at supervisor@specified}%
+  \booltrue{YAD at cosupervisor@or at comonitor}%
+  \yadsetup{#1}%
+  \ifboolexpr{%
+    bool {YAD at female} or %
+    not bool {YAD at male}%
+  }{%
+    \YAD at error@firstlastnames at empty{de la co-directrice de these}{#2}{#3}{\cosupervisor}%
+    \YAD at staff[role=cosupervisorfem,#1]{#2}{#3}{YAD at supervisors}%
+  }{%
+    \YAD at error@firstlastnames at empty{du co-directeur de these}{#2}{#3}{\cosupervisor}%
+    \YAD at staff[role=cosupervisor,#1]{#2}{#3}{YAD at supervisors}%
+  }%
+  \if at tempswa%
+  \else%
+  \YAD at staff[role=cosupervisor,#1]{#2}{#3}{supervisors-in-committee}%
+  \fi%
+}%
+\newcommand{\comonitor}{%
+  \@ifstar{\@tempswatrue\YAD at comonitor}{\@tempswafalse\YAD at comonitor}%
+}
+\newcommand*{\YAD at comonitor}[3][]{%
+  \booltrue{YAD at supervisor@specified}%
+  \booltrue{YAD at cosupervisor@or at comonitor}%
+  \yadsetup{#1}%
+  \ifboolexpr{%
+    bool {YAD at female} or %
+    not bool {YAD at male}%
+  }{%
+    \YAD at error@firstlastnames at empty{de la co-encadrante de these}{#2}{#3}{\comonitor}%
+    \YAD at staff[role=comonitorfem,#1]{#2}{#3}{YAD at supervisors}%
+  }{%
+    \YAD at error@firstlastnames at empty{de co-encadrant de these}{#2}{#3}{\comonitor}%
+    \YAD at staff[role=comonitor,#1]{#2}{#3}{YAD at supervisors}%
+  }%
+  \if at tempswa%
+  \else%
+  \YAD at staff[role=comonitor,#1]{#2}{#3}{supervisors-in-committee}%
+  \fi%
+}%
+\newcommand*{\guest}[3][]{%
+  \YAD at staff[#1]{#2}{#3}{guests}%
+  \YAD at error@firstlastnames at empty{de l'invite}{#2}{#3}{\guest}%
+}%
+\newcommand*{\referee}[3][]{%
+  \yadsetup{#1}%
+  \ifboolexpr{%
+    bool {YAD at female} or %
+    not bool {YAD at male}%
+  }{%
+    \YAD at error@firstlastnames at empty{de la rapportrice}{#2}{#3}{\referee}%
+  }{%
+    \YAD at error@firstlastnames at empty{du rapporteur}{#2}{#3}{\referee}%
+  }%
+  \YAD at staff[#1]{#2}{#3}{referees}%
+}%
+\newcommand*{\examiner}[3][]{%
+  \yadsetup{#1}%
+  \YAD at staff[#1]{#2}{#3}{examiners}%
+  \ifboolexpr{%
+    test {\ifdefstring{\cmdKV at YAD@role}{committeepresident}} or %
+    test {\ifdefstring{\cmdKV at YAD@role}{committeepresidentfem}}%
+  }{%
+  }{%
+    \ifboolexpr{%
+      bool {YAD at female} or %
+      not bool {YAD at male} or %
+    }{%
+      \YAD at error@firstlastnames at empty{de l'examinatrice}{#2}{#3}{\examiner}%
+    }{%
+      \YAD at error@firstlastnames at empty{de l'examinateur}{#2}{#3}{\examiner}%
+    }%
+  }%
+}%
+\newcommand*{\committeepresident}[3][]{%
+  \yadsetup{#1}%
+  \ifboolexpr{%
+    bool {YAD at female} or %
+    not bool {YAD at male}%
+  }{%
+    \YAD at error@firstlastnames at empty{de la presidente du jury}{#2}{#3}{\committeepresident}%
+    \examiner[role=committeepresidentfem,#1]{#2}{#3}%
+  }{%
+    \YAD at error@firstlastnames at empty{du president du jury}{#2}{#3}{\committeepresident}%
+    \examiner[role=committeepresident,#1]{#2}{#3}%
+  }%
+}%
+\newcommand*{\YAD at al}{ \`a l'}%
+\newcommand*{\YAD at au}{ au }%
+\newcommand*{\YAD at del}{ de l'}%
+\newcommand*{\YAD at du}{ du }%
+\newcommand*{\YAD at if@starts at 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 at display@staff}[1]{%
+  \DTLforeach*{#1}{%
+    \YAD at committeemember@lastname=lastname,%
+    \YAD at committeemember@fistname=firstname,%
+    \YAD at committeemember@role=role,%
+    \YAD at committeemember@corps=corps,%
+    \YAD at committeemember@sepcorpaffil=%
+    \expandafter\IfLanguageName{french}{%
+      sepcorpaffilfrench%
+    }{%
+      sepcorpaffilenglish%
+    }%
+    ,%
+    \YAD at committeemember@affiliation=%
+    \IfLanguageName{french}{%
+      affiliation%
+    }{%
+      affiliationsecondary%
+    }%
+  }{%
+    % Nature des membres du jury
+    \DTLiffirstrow{%
+      \ifthenelse{\DTLrowcount{\YAD at the@staff}>1}{%
+        \ifboolexpr{%
+          bool {YAD at hdr} and test {\ifdefstring{\YAD at the@staff}{supervisors-in-committee}}%
+        }{%
+          \YAD at translation{\YAD at the@staff-pl-hdr}%
+        }{%
+          \YAD at translation{\YAD at the@staff-pl}%
+        }%
+      }{%
+        \ifboolexpr{%
+          bool {YAD at hdr} and test {\ifdefstring{\YAD at the@staff}{supervisors-in-committee}}%
+        }{%
+          \YAD at translation{\YAD at the@staff-hdr}%
+        }{%
+          \YAD at translation{\YAD at the@staff}%
+        }%
+      }%
+    }{%
+    }%
+    &
+    % Prénom
+    \YAD at reach@file{%
+      %
+      \ifthenelse{\DTLiseq{\YAD at committeemember@fistname}{}}{%
+        \YAD at generic@argument at translate{firstname}%
+      }{%
+        \YAD at committeemember@fistname%
+      }%
+    }
+    \YAD at reach@file{%
+      \ifthenelse{\DTLiseq{\YAD at committeemember@lastname}{}}{%
+        \YAD at generic@argument at translate{lastname}%
+      }{%
+        \textsc{\YAD at committeemember@lastname}%
+      }%
+    }%
+    &
+    \YAD at reach@file{%
+      \ifthenelse{\DTLiseq{\YAD at committeemember@corps}{}}{%
+        \ifdraft{%
+          \YAD at generic@argument at translate{corps}%
+        }{%
+        }%
+      }{%
+        \YAD at translation{%
+          \YAD at committeemember@corps%
+        }%
+      }%
+    }%
+    \YAD at reach@file{%
+      \ifthenelse{\DTLiseq{\YAD at committeemember@affiliation}{}}{%
+        \ifdraft{%
+          \YAD at generic@argument at translate{affiliation}%
+        }{%
+        }%
+      }{%
+        \ifthenelse{\DTLiseq{\YAD at committeemember@corps}{}}{%
+          \YAD at committeemember@affiliation%
+        }{%
+          \ifthenelse{\equal{\YAD at committeemember@sepcorpaffil}{}}{%
+            \YAD at if@starts at with@vowel{\YAD at committeemember@affiliation}{\YAD at al}{\YAD at au}\YAD at committeemember@affiliation%
+          }{%
+            \YAD at committeemember@sepcorpaffil\YAD at committeemember@affiliation%
+          }%
+        }%
+      }%
+    }%
+    &
+    \YAD at reach@file{%
+      \ifthenelse{\DTLiseq{\YAD at committeemember@role}{}}{%
+        \ifdraft{%
+          \YAD at generic@argument at translate{role}%
+        }{%
+        }%
+      }{%
+        \ifthenelse{\equal{\YAD at the@staff}{supervisors-in-committee}}{%
+        }{%
+          \YAD at translation{\YAD at committeemember@role}%
+        }%
+      }%
+    }%
+    \DTLiflastrow{%
+      \\[.15cm]
+    }{%
+      \\
+    }%
+  }%
+}%
+\newcommand*{\YAD at supervisors@tabular}{%
+  \small%
+  \DTLifdbempty{YAD at staffs}{}{%
+    \ifthenelse{\DTLrowcount{YAD at supervisors}>1}{%
+      \begin{tabular}[t]{>{\itshape}lll}
+      }{%
+        \begin{tabular}[t]{>{\itshape}l@{ }ll}
+        }%
+        \DTLforeach*{YAD at supervisors}{%
+          \YAD at committeemember@lastname=lastname,%
+          \YAD at committeemember@fistname=firstname,%
+          \YAD at committeemember@role=role%
+        }{%
+          % Nature des membres du jury
+          \DTLiffirstrow{%
+            \hspace{-\tabcolsep}%
+            \normalfont\bfseries%
+            \ifYAD at hdr%
+            \YAD at translation{supervisedby-hdr} %
+            \else%
+            \YAD at translation{supervisedby}%
+            \fi%
+          }{%
+          }%
+          &
+          % Prénom
+          \YAD at reach@file{%
+            %
+            \ifthenelse{\DTLiseq{\YAD at committeemember@fistname}{}}{%
+              \YAD at generic@argument at translate{firstname}%
+            }{%
+              \YAD at committeemember@fistname%
+            }%
+          }
+          % Nom
+          \YAD at reach@file{%
+            \ifthenelse{\DTLiseq{\YAD at committeemember@lastname}{}}{%
+              \YAD at generic@argument at translate{lastname}%
+            }{%
+              \textsc{\YAD at committeemember@lastname}%
+            }%
+          }%
+          &
+          % Fonction
+          \YAD at reach@file{%
+            \ifthenelse{\DTLiseq{\YAD at committeemember@role}{}}{%
+              \ifdraft{%
+                \YAD at generic@argument at translate{role}%
+              }{%
+              }%
+            }{%
+              \ifthenelse{\DTLrowcount{YAD at supervisors}>1}{%
+                \ifbool{YAD at cosupervisor@or at comonitor}{%
+                  \YAD at translation{\YAD at committeemember@role}%
+                }{%
+                }%
+              }{%
+              }%
+            }%
+          }%
+          % &
+          \DTLiflastrow{%
+            \\[.5cm]
+          }{%
+            \\
+          }%
+        }%
+      \end{tabular}
+    }{%
+    }%
+  }%
+\newcommand*{\YAD at committee@tabular}{%
+  \small%
+  \begin{tabular}[t]{>{\itshape}llp{5cm}l}
+    \multicolumn{4}{@{}l}{\bfseries\YAD at translation{committeemembers}}%
+    \\[.25cm]
+    \DTLforeach*{YAD at staffs}{%
+      \YAD at the@staff=YAD at the@staff%
+    }{%
+      %
+      \YAD at display@staff{\YAD at the@staff}%
+    }%
+  \end{tabular}
+}%
+\DeclareRobustCommand*\YAD at meta{\YAD at generic@argument}%
+        \newcommand*\YAD at logo{}%
+\newcommand*{\YAD at create@macro}[2][]{%
+  \ifthenelse{\isempty{#1}}{%
+    \csdef{#2}##1{%
+      \csdef{print#2}{%
+        \YAD at reach@file{%
+          \ifthenelse{\isempty{##1}}{%
+            \YAD at generic@argument at translate{#2}%
+          }{%
+            ##1%
+          }%
+        }%
+      }%
+    }%
+  }{%
+  }%
+  \ifthenelse{\equal{#1}{email}}{%
+    \csdef{#1#2}##1{%
+      \csdef{print#1#2}{%
+        \YAD at reach@file{%
+          \ifthenelse{\isempty{##1}}{%
+            % \ifbool{YAD at nolink}{%
+            %   \YAD at generic@argument at translate{#1#2}%
+            % }{%
+              \YAD at href{mailto:#1.#2 at institute.fr}{\YAD at generic@argument at translate{#1#2}}%
+            % }%
+          }{%
+            % \ifbool{YAD at nolink}{%
+            %   \YAD at nolinkurl{##1}%
+            % }{%
+              \YAD at href{mailto:##1}{\YAD at nolinkurl{##1}}%
+            % }%
+          }%
+        }%
+      }%
+    }%
+  }{%
+  }%
+  \ifthenelse{\equal{#1}{url}}{%
+    \csdef{#1#2}##1{%
+      \csdef{print#1#2}{%
+        \YAD at reach@file{%
+          \ifthenelse{\isempty{##1}}{%
+            % \ifbool{YAD at nolink}{%
+            %   \YAD at generic@argument at translate{#1#2}%
+            % }{%
+              \YAD at url{%
+                \YAD at generic@argument at translate{#1#2}%
+              }%
+            % }%
+          }{%
+            % \ifbool{YAD at nolink}{%
+            %   \YAD at nolinkurl{##1}%
+            % }{%
+              \YAD at url{##1}%
+            % }%
+          }%
+        }%
+      }%
+    }%
+  }{%
+  }%
+  \ifthenelse{\equal{#1}{entite}}{%
+    \expandafter\newcommand\expandafter{\csname #2\endcsname}[2][]{%
+     \csdef{YAD@#2}{##2}%
+     \ifthenelse{\isempty{##2}}{%
+       \YAD at 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 at print#2 at star}}{\csuse{YAD at print#2 at nostar}}%
+}%
+\csdef{YAD at print#2 at star}{%
+  \ifthenelse{\isempty{##2}}{%
+    \YAD at reach@file{\YAD at generic@argument at translate{#2}}%
+  }{%
+    \YAD at reach@file{##2}%
+  }%
+}%
+\csdef{YAD at print#2 at nostar}{%
+  \let\YAD at texte\relax%
+  \csdef{YAD at texte}{%
+    \ifthenelse{\isempty{##2}}{%
+      \YAD at reach@file{\YAD at generic@argument at translate{#2}}%
+    }{%
+      ##2%
+    }%
+  }%
+  % \boolfalse{YAD at nolink}%
+  \yadsetup{##1}%
+  \ifthenelse{\equal{\cmdKV at YAD@url}{}}{%
+    \ifdraft{%
+      \YAD at reach@file{%
+        \YAD at texte%
+      }%
+    }{%
+      % \ifbool{YAD at nolink}{%
+      \YAD at texte%
+      % }{%
+      %   \YAD at href{www.#2.fr}{\YAD at texte}%
+      % }%
+    }%
+  }{%
+    \ifdraft{%
+      \YAD at reach@file{%
+        \YAD at texte%
+      }%
+    }{%
+      % \ifbool{YAD at nolink}{%
+      %   \YAD at texte%
+      % }{%
+        \YAD at href{\cmdKV at YAD@url}{\YAD at texte}%
+      % }%
+    }%
+  }%
+}%
+      \csdef{print#2address}{%
+        \yadsetup{##1}%
+        \ifthenelse{\equal{\cmdKV at YAD@address}{}}{%
+          \YAD at reach@file{\YAD at generic@argument at translate{address#2}}%
+        }{%
+          \YAD at reach@file{\cmdKV at YAD@address}%
+        }%
+        %
+      }%
+      \csdef{print#2telephone}{%
+        \yadsetup{##1}%
+        \ifthenelse{\equal{\cmdKV at YAD@telephone}{}}{%
+          \YAD at reach@file{\YAD at generic@argument at translate{telephone#2}}%
+        }{%
+          \YAD at reach@file{\cmdKV at YAD@telephone}%
+        }%
+        %
+      }%
+      \csdef{print#2fax}{%
+        \yadsetup{##1}%
+        \ifthenelse{\equal{\cmdKV at YAD@fax}{}}{%
+          \YAD at reach@file{\YAD at generic@argument at translate{fax#2}}%
+        }{%
+          \YAD at reach@file{\cmdKV at YAD@fax}%
+        }%
+        %
+      }%
+\csdef{print#2email}{%
+  \YAD at reach@file{%
+    \ifthenelse{\equal{\cmdKV at YAD@email}{}}{%
+      % \ifbool{YAD at nolink}{%
+      %   \YAD at generic@argument at translate{#2email}%
+      % }{%
+        \YAD at href{mailto:#2 at institute.fr}{\YAD at generic@argument at translate{#2email}}%
+      % }%
+    }{%
+      % \ifbool{YAD at nolink}{%
+      %   \YAD at nolinkurl{\cmdKV at YAD@email}%
+      % }{%
+        \YAD at href{mailto:\cmdKV at YAD@email}{\YAD at nolinkurl{\cmdKV at YAD@email}}%
+      % }%
+    }%
+  }%
+}%
+      \ifbool{YAD at nologo}{%
+      }{%
+        \csdef{print#2logo}{%
+        \@ifstar{%
+        \@tempswatrue%
+        \csuse{YAD at starnostar@print#2logo}%
+        }{%
+        \@tempswafalse%
+        \csuse{YAD at starnostar@print#2logo}%
+        }%
+      }%
+      \csdef{YAD at starnostar@print#2logo}{%
+        \yadsetup{url=,##1}%
+        \renewcommand*\YAD at logo{%
+          \ifthenelse{\equal{\cmdKV at YAD@logo}{}}{%
+            \YAD at reach@file{\YAD at generic@argument at translate{logo#2}}%
+          }{%
+            \YAD at reach@file{%
+              \includegraphics[height=\cmdKV at YAD@logoheight]{\cmdKV at YAD@logo}%
+            }%
+          }%
+        }%
+        \if at tempswa%
+        \else%
+        % \ifbool{YAD at nolink}{%
+        %   \YAD at logo%
+        % }{%
+          \ifthenelse{\equal{\cmdKV at YAD@url}{}}{%
+            % \YAD at href{www.#2.fr}{
+              \YAD at logo%
+            % }%
+          }{%
+            \YAD at href{\cmdKV at YAD@url}{\YAD at logo}%
+          }%
+        % }%
+        \fi%
+        \setlength\cmdKV at YAD@logoheight{\YAD at default@logoheight}%
+      }%
+    }%
+  }%
+}{%
+}%
+\ifthenelse{\equal{#1}{bilingue}}{%
+  \ifthenelse{\isnamedefined{#2}}{%
+  }{%
+    \csdef{#2}{}%
+  }%
+  \expandafter\renewcommand\expandafter{\csname #2\endcsname}[2][]{%
+\ifthenelse{\isempty{##1}}{%
+  \csdef{YAD at meta#2}{%
+    ##2%
+  }%
+}{%
+  \csdef{YAD at meta#2}{%
+    ##2 (##1)%
+  }%
+}%
+\ifthenelse{\isempty{##2}}{%
+  \YAD at 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 at hypersetup{pdftitle=\YAD at metatitle}%
+}{%
+}%
+\ifundef{\YAD at metasubject}{%
+  \ifundef{\YAD at metaacademicfield}{%
+  }{%
+    \YAD at hypersetup{pdfsubject=\YAD at metaacademicfield}%
+  }%
+}{%
+  \YAD at hypersetup{pdfsubject=\YAD at metasubject}%
+}%
+\csdef{print#2}{%
+        \YAD at reach@file{%
+          \expandafter\IfLanguageName{\YAD at mainlanguage}{%
+            \ifthenelse{\isempty{##2}}{%
+              \YAD at reach@file{\YAD at generic@argument at translate{#2}}%
+            }{%
+              \YAD at reach@file{##2}%
+            }%
+          }{%
+            \ifthenelse{\isempty{##1}}{%
+              \ifbool{YAD at two@titles}{%
+                \YAD at 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 at reach@file{\YAD at generic@argument at translate{#2}}%
+              }{%
+              }%
+            }{%
+              \YAD at reach@file{##1}%
+            }%
+          }%
+        }%
+      }%
+      \ifthenelse{\isempty{##1}}{%
+      }{%
+        \ifthenelse{\equal{#2}{subject}}{%
+        }{%
+          \booltrue{YAD at two@titles}%
+        }%
+      }%
+    }%
+  }{%
+  }%
+}%
+\YAD at create@macro[entite]{pres}
+\YAD at create@macro[entite]{institute}
+\YAD at create@macro[entite]{coinstitute}
+\YAD at create@macro[entite]{company}
+\YAD at create@macro[entite]{cocompany}
+\YAD at create@macro[entite]{doctoralschool}
+\YAD at create@macro[bilingue]{academicfield}
+\YAD at create@macro[bilingue]{speciality}
+\YAD at create@macro[bilingue]{title}
+\YAD at create@macro[bilingue]{subtitle}
+\YAD at create@macro[bilingue]{subject}
+\YAD at create@macro{disclaimer}
+\newcommand{\ordernumber}{%
+  \@ifnextchar[{%
+    \YAD at ordernumber@with at argument%
+  }{%
+    \YAD at ordernumber@without at argument%
+  }%]
+}%
+\newcommand{\YAD at ordernumber@with at argument}[1][]{%
+  \csdef{printordernumber}{%
+    \ifthenelse{\isempty{#1}}{%
+      \YAD at reach@file{%
+        \YAD at generic@argument at translate{ordernumber}%
+      }%
+      \YAD at 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 at ordernumber@without at argument}{%
+  \csdef{printordernumber}{%
+    \hspace{2cm}%
+  }%
+}%
+\renewcommand*{\author}[3][]{%
+  \ifthenelse{\isempty{#2}}{%
+    \newcommand*\YAD at firstname@author{%
+      \YAD at generic@argument at translate{firstname}%
+    }%
+  }{%
+    \newcommand*\YAD at firstname@author{%
+      #2%
+    }%
+  }%
+  \ifthenelse{\isempty{#3}}{%
+    \newcommand*\YAD at lastname@author{%
+      \YAD at generic@argument at translate{lastname}%
+    }%
+  }{%
+    \newcommand*\YAD at lastname@author{%
+      #3%
+    }%
+  }%
+  \YAD at error@firstlastnames at empty{de l'auteur de la these}{#2}{#3}{\author}%
+  \YAD at hypersetup{pdfauthor=\YAD at firstname@author{} \YAD at lastname@author}%
+  \newcommand*\YAD at email@author{%
+    #1%
+  }%
+  \ifthenelse{\isempty{#2}\AND\isempty{#3}}{%
+    \newcommand*{\printauthor}{%
+      \ifdraft{%
+        \YAD at reach@file{%
+          \YAD at generic@argument at translate{firstname}
+          \YAD at generic@argument at translate{lastname}%
+        }%
+      }{%
+        \ifthenelse{\isempty{#1}}{%
+          \YAD at generic@argument at translate{firstname}
+          \YAD at generic@argument at translate{lastname}%
+        }{%
+          \YAD at href{mailto:\YAD at email@author}{%
+            \YAD at generic@argument at translate{firstname}
+            \YAD at generic@argument at translate{lastname}%
+          }%
+        }%
+      }%
+    }%
+  }{%
+    \newcommand*{\printauthor}{%
+      \ifdraft{%
+        \YAD at reach@file{\YAD at firstname@author{} \bsc{\YAD at lastname@author}}%
+      }{%
+        % \ifbool{YAD at nolink}{%
+        % \YAD at firstname@author{} \bsc{\YAD at lastname@author}%
+        % }{%
+        \ifthenelse{\isempty{#1}}{%
+          \YAD at firstname@author{} \bsc{\YAD at lastname@author}
+        }{%
+          \YAD at href{mailto:\YAD at email@author}{\YAD at firstname@author{} \bsc{\YAD at lastname@author}}%
+        }%
+        % }%
+      }%
+    }%
+  }%
+}%
+\csdef{YAD at checkdate}#1#2#3#4#5{%
+  \boolfalse{YAD at valid@day}%
+  \boolfalse{YAD at valid@month}%
+  \boolfalse{YAD at valid@year}%
+  %
+  \csxdef{YAD at daydate}{#1}%
+  \csxdef{YAD at monthdate}{#2}%
+  \csxdef{YAD at yeardate}{#3}%
+  % \ifboolexpr{%
+  %   bool {YAD at submitted@work}%
+  %   or bool {YAD at submitted@work at star}%
+  % }{%
+  % }{%
+    \ifboolexpr{%
+      not (test {\IfInteger{\YAD at daydate}})%
+    }{%
+      \YAD at ClassError[nodate]{%
+        Jour de la date de #5 non valide%
+      }{%
+        La commande \string#4{\YAD at daydate}{\YAD at monthdate}{\YAD at yeardate}\space\MessageBreak%
+        n'a pas ete correctement saisie car le\MessageBreak%
+        jour (`\YAD at daydate') n'est pas valide :\MessageBreak%
+        ce doit etre un nombre entier entre 1 et 31.%
+      }%
+    }{%
+      \IfDecimal{\YAD at daydate}{%
+        \csxdef{YAD at daydate}{\number\integerpart}%
+      }{%
+      }%
+      \ifboolexpr{%
+        test {\ifnumless{\YAD at daydate}{1}}%
+        or test {\ifnumgreater{\YAD at daydate}{31}}%
+      }{%
+        \YAD at ClassError[nodate]{%
+          Jour de la date de #5 non valide%
+        }{%
+          La commande \string#4{\YAD at daydate}{\YAD at monthdate}{\YAD at yeardate}\space\MessageBreak%
+          n'a pas ete correctement saisie car le\MessageBreak%
+          numero de jour (`\YAD at daydate') n'est pas valide :\MessageBreak%
+          ce doit etre un nombre entier entre 1 et 31.%
+        }%
+      }{%
+        \global\booltrue{YAD at valid@day}%
+      }%
+    }%
+    % month
+    \ifboolexpr{%
+      not (test {\IfInteger{\YAD at monthdate}})%
+    }{%
+      \YAD at ClassError[nodate]{%
+        Mois de la date de #5 non valide%
+      }{%
+        La commande \string#4{\YAD at daydate}{\YAD at monthdate}{\YAD at yeardate}\space\MessageBreak%
+        n'a pas ete correctement saisie car le\MessageBreak%
+        mois (`\YAD at monthdate') n'est pas valide :\MessageBreak%
+        ce doit etre un nombre entier entre\MessageBreak%
+        1 (janvier) et 12 (decembre).%
+      }%
+    }{%
+      \IfDecimal{\YAD at monthdate}{%
+        \csxdef{YAD at monthdate}{\number\integerpart}%
+      }{%
+      }%
+      \ifboolexpr{%
+        test {\ifnumless{\YAD at monthdate}{1}}%
+        or test {\ifnumgreater{\YAD at monthdate}{12}}%
+      }{%
+        \YAD at ClassError[nodate]{%
+          Mois de la date de #5 non valide%
+        }{%
+          La commande \string#4{\YAD at daydate}{\YAD at monthdate}{\YAD at yeardate}\space\MessageBreak%
+          n'a pas ete correctement saisie car le\MessageBreak%
+          numero de mois (`\YAD at monthdate') n'est pas valide :\MessageBreak%
+          ce doit etre un nombre entier entre\MessageBreak%
+          1 (janvier) et 12 (decembre).%
+        }%
+      }{%
+        \global\booltrue{YAD at valid@month}%
+      }%
+    }%
+    % year
+    \ifboolexpr{%
+      not (test {\IfInteger{\YAD at yeardate}})%
+    }{%
+      \YAD at ClassError[nodate]{%
+        Annee de la date de #5 non valide%
+      }{%
+        La commande \string#4{\YAD at daydate}{\YAD at monthdate}{\YAD at yeardate}\space\MessageBreak%
+        n'a pas ete correctement saisie car l'annee\MessageBreak%
+        (`\YAD at yeardate') n'est pas valide : ce doit etre\MessageBreak%
+        un nombre entier.%
+      }%
+    }{%
+      \global\booltrue{YAD at valid@year}%
+    }%
+  % }%
+}%
+\csdef{date}#1#2#3{%
+  \YAD at checkdate{#1}{#2}{#3}{\date}{soutenance}%
+  \ifboolexpr{%
+      bool {YAD at valid@day}%
+      and bool {YAD at valid@month}%
+      and bool {YAD at valid@year}%
+    }{%
+      \csdef{printdate}{%
+        \formatdate{\YAD at daydate}{\YAD at monthdate}{\YAD at yeardate}%
+      }%
+    }{%
+      \csdef{printdate}{%
+        \YAD at generic@argument at translate{date}%
+      }%
+    }%
+}%
+\csdef{submissiondate}#1#2#3{%
+  \YAD at checkdate{#1}{#2}{#3}{\submissiondate}{soumission}%
+  \ifboolexpr{%
+      bool {YAD at valid@day}%
+      and bool {YAD at valid@month}%
+      and bool {YAD at valid@year}%
+    }{%
+      \csdef{printsubmissiondate}{%
+        \formatdate{\YAD at daydate}{\YAD at monthdate}{\YAD at yeardate}%
+      }%
+    }{%
+      \csdef{printsubmissiondate}{%
+        \YAD at generic@argument at translate{submissiondate}%
+      }%
+    }%
+}%
+\AtEndDocument{%
+  \YAD at ifemptyorundef{\printdate}{%
+    \ifbool{YAD at nodate}{%
+    }{%
+      \ifboolexpr{%
+        bool {YAD at submitted@work}%
+        or bool {YAD at submitted@work at star}%
+      }{%
+      }{%
+        \YAD at 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 at mainlanguage]{%
+  \DTLnewrow{frontepigraphs}%
+  \DTLnewdbentry{frontepigraphs}{epigraphlanguage}{#1}%
+  \DTLnewdbentry{frontepigraphs}{epigraph}{#2}%
+  \DTLnewdbentry{frontepigraphs}{epigraphauthor}{#3}%
+}%
+\AtEndPreamble{%
+  \@ifpackageloaded{nomencl}{%
+    \let\YAD at ORI@printnomenclature\printnomenclature%
+    \renewcommand{\printnomenclature}{%
+      \cleardoublepage%
+      \sethead[\thepage][][\nomname]{\nomname}{}{\thepage}\headrule%
+      \YAD at ORI@printnomenclature%
+      \pagestyle{preliminary}%
+    }%
+  }{%
+  }%
+}%
+\ifboolexpr{%
+  bool {YAD at inprogress@work}%
+  or bool {YAD at inprogress@work at star}%
+}{%
+  \newcommand*{\YAD at setfoot}{%
+    \footrule%
+    \setfoot{}{\textsc{\translate{lbl-inprogressfoottext} \today}}{}%
+  }%
+}{%
+  \ifbool{YAD at submitted@work at star}{%
+    \newcommand*{\YAD at setfoot}{%
+      \footrule%
+      \YAD at ifemptyorundef{\printsubmissiondate}{%
+        \setfoot{}{\textsc{\translate{lbl-submittedfoottext} \today}}{}%
+      }{%
+        \setfoot{}{\textsc{\translate{lbl-submittedfoottext} \printsubmissiondate}}{}%
+      }%
+    }%
+  }{%
+    \newcommand*{\YAD at setfoot}{}%
+  }%
+}%
+\xpretocmd{\pagestyle}{\cleardoublepage}{}{}%
+\newcommand{\YAD at starttoctoc}{%
+  \begingroup
+    \if at filesw
+      \expandafter\newwrite\csname tf at toc\endcsname
+      \immediate\openout \csname tf at toc\endcsname \jobname.toc\relax
+    \fi
+    \@nobreakfalse
+  \endgroup}
+\AtEndDocument{\YAD at starttoctoc}
+\let\YAD at ORI@setcounter\setcounter%
+\let\YAD at ORI@tableofcontents\tableofcontents%
+\newif\if at YAD@knownsect%
+\def\shorttableofcontents#1#2{\bgroup\c at tocdepth=#2\@restonecolfalse
+  \if at tightshtoc
+     \parsep\z@
+  \fi
+  \if at twocolumn\@restonecoltrue\onecolumn\fi
+  \chapter*{#1}%
+  \@startshorttoc{toc}\if at restonecol\twocolumn\fi\egroup}
+\renewcommand{\tableofcontents}{%
+  \booltrue{YAD at tableofcontents@used}%
+  \cleardoublepage%
+  \YAD at phantomsection%
+  \let\cmdKV at YAD@name\contentsname%
+  \@ifnextchar[{\tableofcontents at YAD@with at argument}{\tableofcontents at YAD@without at argument}%]
+}%
+\newcommand\tableofcontents at YAD@without at argument{%
+  \YAD at ORI@tableofcontents%
+}%
+\newcommand\tableofcontents at YAD@with at argument[1][]{%
+  \yadsetup{#1}%
+  \renewcommand{\setcounter}[2]{}%
+  %
+  \ifthenelse{\equal{\cmdKV at YAD@depth}{none}}{%
+    \shorttableofcontents{\cmdKV at YAD@name}{-10}%
+    \@YAD at knownsecttrue%
+  }{%
+  }%
+  \ifthenelse{\equal{\cmdKV at YAD@depth}{part}}{%
+    \shorttableofcontents{\cmdKV at YAD@name}{-1}%
+    \@YAD at knownsecttrue%
+  }{%
+  }%
+  \ifthenelse{\equal{\cmdKV at YAD@depth}{chapter}}{%
+    \shorttableofcontents{\cmdKV at YAD@name}{0}%
+    \@YAD at knownsecttrue%
+  }{%
+  }%
+  \ifthenelse{\equal{\cmdKV at YAD@depth}{section}}{%
+    \shorttableofcontents{\cmdKV at YAD@name}{1}%
+    \@YAD at knownsecttrue%
+  }{%
+  }%
+  \ifthenelse{\equal{\cmdKV at YAD@depth}{subsection}}{%
+    \shorttableofcontents{\cmdKV at YAD@name}{2}%
+    \@YAD at knownsecttrue%
+  }{%
+  }%
+  \ifthenelse{\equal{\cmdKV at YAD@depth}{subsubsection}}{%
+    \shorttableofcontents{\cmdKV at YAD@name}{3}%
+    \@YAD at knownsecttrue%
+  }{%
+  }%
+  \ifthenelse{\equal{\cmdKV at YAD@depth}{paragraph}}{%
+    \shorttableofcontents{\cmdKV at YAD@name}{4}%
+    \@YAD at knownsecttrue%
+  }{%
+  }%
+  \ifthenelse{\equal{\cmdKV at YAD@depth}{subparagraph}}{%
+    \shorttableofcontents{\cmdKV at YAD@name}{5}%
+    \@YAD at knownsecttrue%
+  }{%
+  }%
+  \ifthenelse{\equal{\cmdKV at YAD@depth}{all}}{%
+    \shorttableofcontents{\cmdKV at YAD@name}{100}%
+    \@YAD at knownsecttrue%
+  }{%
+  }%
+  \if at YAD@knownsect%
+  \else%
+  \shorttableofcontents{\cmdKV at YAD@name}{3}%
+  \YAD at ClassWarningNoLine{%
+    La valeur (`\cmdKV at YAD@depth') passee a la cle `depth'\MessageBreak%
+    en argument de la commande \string\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 at ORI@setcounter%
+  \resettocdepth*%
+}%
+\AtBeginDocument{\maxtocdepth{\YAD at tocdepth}}%
+\AtBeginDocument{\maxsecnumdepth{\YAD at secnumdepth}}%
+\newcommand*{\YAD at chapter@header}{%
+  \ifthenelse{%
+    \value{secnumdepth}>-1
+    \and
+    \value{chapter}>0
+  }{%
+    \MakeUppercase\chaptername{}\ \thechapter.%
+  }{%
+  }
+  \chaptertitle%
+}%
+\newcommand*{\YAD at 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 at max@logoheight,margin=0.5cm,tmargin=\YAD at max@logoheight+1cm}%
+  }{%
+    \newgeometry{centering,nomarginpar,bottom=1cm,top=1cm,headheight=\YAD at max@logoheight,hmargin=2cm,includeall}%
+  }%
+  \sethead[]%
+  []%
+  []%
+  {%
+    \ifdef{\printpreslogo}{%
+      \printpreslogo%
+      \booltrue{YAD at logo@before}%
+    }{%
+    }%
+    \ifdef{\printinstitutelogo}{%
+      \ifbool{YAD at logo@before}{%
+        \hspace{\stretch{1}}%
+      }{%
+      }%
+      \printinstitutelogo%
+      \booltrue{YAD at logo@before}%
+    }{%
+    }%
+    \ifdef{\printcoinstitutelogo}{%
+      \ifbool{YAD at logo@before}{%
+        \hspace{\stretch{1}}%
+      }{%
+      }%
+      \printcoinstitutelogo%
+      \booltrue{YAD at logo@before}%
+    }{%
+    }%
+    \ifdef{\printcompanylogo}{%
+      \ifbool{YAD at logo@before}{%
+        \hspace{\stretch{1}}%
+      }{%
+      }%
+      \printcompanylogo%
+    }{%
+    }%
+  }%
+  {}%
+  {}%
+  \setfootrule{0pt}%
+  \setfoot{}{}{}%
+}%
+\newpagestyle{prepreliminary}[]{%
+  \restoregeometry%
+  \setsecnumdepth{none}%
+  \resettocdepth*%
+  \YAD at setfoot%
+}%
+\newpagestyle{preliminary}[]{%
+  \sethead[\thepage]%
+  []%
+  [\YAD at chapter@header]%
+  {%
+    \ifthenelse{%
+      \equal{\sectiontitle}{}%
+    }{%
+      \YAD at chapter@header%
+    }{%
+      \YAD at section@header%
+    }%
+  }%
+  {}%
+  {\thepage}%
+  \headrule%
+  \setsecnumdepth{none}%
+  \resettocdepth*%
+  \YAD at setfoot%
+}%
+\newpagestyle{ordinary}[]{%
+  \sethead[\thepage]%
+  []%
+  [\YAD at chapter@header]%
+  {%
+    \ifthenelse{%
+      \equal{\sectiontitle}{}%
+    }{%
+      \YAD at chapter@header%
+    }{%
+      \YAD at section@header%
+    }%
+  }%
+  {}%
+  {\thepage}%
+  \headrule%
+  \setsecnumdepth{none}%
+  \resettocdepth*%
+  \YAD at setfoot%
+}%
+\newpagestyle{mainmatter}[]{%
+  \ifthenelse{\equal{\YAD at interligne}{single}}{%
+    \singlespacing%
+  }{%
+    \ifthenelse{\equal{\YAD at interligne}{double}}{%
+      \doublespacing%
+    }{%
+      \onehalfspacing%
+    }%
+  }%
+  \sethead[\thepage]%
+  []%
+  [\YAD at chapter@header]%
+  {%
+    \ifthenelse{%
+      \equal{\sectiontitle}{}%
+    }{%
+      \YAD at chapter@header%
+    }{%
+      \YAD at section@header%
+    }%
+  }%
+  {}%
+  {\thepage}%
+  \headrule%
+  \resettocdepth*%
+  \setsecnumdepth{\YAD at secnumdepth}%
+  \YAD at setfoot%
+}%
+\xapptocmd{\mainmatter}{%
+  \booltrue{YAD at mainmatter@used}%
+  \pagestyle{mainmatter}%
+}{}{}%
+\AtEndDocument{%
+  \ifboolexpr{%
+    bool {YAD at mainmatter@used}%
+  }{%
+  }{%
+    \YAD at 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 at section@header%
+    }%
+  }%
+  {}%
+  {\thepage}%
+  \headrule%
+  \YAD at phantomsection%
+  \setsecnumdepth{\YAD at secnumdepth}%
+  \YAD at bookmarksetup{startatroot}%
+  \YAD at setfoot%
+}%
+\xapptocmd{\appendix}{%
+  \pagestyle{appendix}%
+}{}{}%
+\newpagestyle{biblio}[]{%
+  \setsecnumdepth{none}%
+  \singlespacing%
+  \sethead[\thepage]%
+  []%
+  [\YAD at chapter@header]%
+  {\YAD at chapter@header}%
+  {}%
+  {\thepage}%
+  \headrule%
+  \cleardoublepage%
+  \YAD at phantomsection%
+  \YAD at bookmarksetup{startatroot}%
+  \YAD at setfoot%
+}%
+\newpagestyle{backmatter}[]{%
+  \singlespacing%
+  \sethead[\thepage]%
+  []%
+  [\YAD at chapter@header]%
+  {%
+    \ifthenelse{%
+      \equal{\sectiontitle}{}%
+    }{%
+      \YAD at chapter@header%
+    }{%
+      \YAD at section@header%
+    }%
+  }%
+  {}%
+  {\thepage}%
+  \headrule%
+  \YAD at phantomsection%
+  \setsecnumdepth{none}%
+  \YAD at bookmarksetup{startatroot}%
+  \YAD at setfoot%
+}%
+\xapptocmd{\backmatter}{%
+  \pagestyle{backmatter}%
+}{}{}%
+\newpagestyle{contents}[]{%
+  \cleardoublepage%
+  \YAD at phantomsection%
+  \YAD at bookmarksetup{startatroot}%
+  \singlespacing%
+  \sethead[\thepage]%
+  []%
+  [\cmdKV at YAD@name]%
+  {\cmdKV at YAD@name}%
+  {}%
+  {\thepage}%
+  \headrule%
+  \setsecnumdepth{none}%
+  \YAD at setfoot%
+}%
+\newpagestyle{glossaire}[]{%
+  \cleardoublepage%
+  \YAD at phantomsection%
+  \YAD at bookmarksetup{startatroot}%
+  \singlespacing%
+  \sethead[\thepage]%
+  []%
+  [\YAD at chapter@header]%
+  {\YAD at chapter@header}%
+  {}%
+  {\thepage}%
+  \headrule%
+  \setsecnumdepth{none}%
+  \YAD at setfoot%
+}%
+\newpagestyle{index}[]{%
+  \singlespacing%
+  \sethead[\thepage]%
+  []%
+  [\YAD at chapter@header]%
+  {\YAD at chapter@header}%
+  {}%
+  {\thepage}%
+  \headrule%
+  \setsecnumdepth{none}%
+  \cleardoublepage%
+  \YAD at phantomsection%
+  \setsecnumdepth{\YAD at secnumdepth}%
+  \YAD at bookmarksetup{startatroot}%
+  \YAD at setfoot%
+}%
+\newpagestyle{backcover}[]{%
+  \singlespacing%
+  \YAD at clearspread%
+  \setlength{\footskip}{35pt}%
+  \setfootrule{0pt}%
+  \setfoot[%
+  \YAD at laboratory@abstract at page%
+  ][][]{}{}{}%
+  \sethead[]%
+  []%
+  []%
+  {}%
+  {}%
+  {}%
+  \setsecnumdepth{none}%
+}%
+\newcommand*{\printlaboratory}[2][]{%
+  \YAD at ifemptyorundef{#2}{%
+    \YAD at reach@file{\YAD at generic@argument at translate{laboratory}}%
+    \ifbool{YAD at nolaboratory}{%
+    }{%
+      \YAD at 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 at reach@file{%
+        #2%
+      }%
+    }{%
+      \ifboolexpr{%
+        test {\expandafter\ifstrempty\expandafter{#1}}
+        or %
+        test {\ifdefstring{\YAD at laboratory@nonamelink}{true}}%
+      }{%
+        #2%
+      }{%
+        \YAD at href{#1}{#2}%
+      }%
+    }%
+  }%
+}%
+\newcommand*{\printlaboratoryaddress}[1]{%
+  \ifundef{#1}{%
+    \YAD at reach@file{\YAD at generic@argument at translate{laboratoryaddress}}%
+    \ifbool{YAD at nolaboratoryadress}{%
+    }{%
+      \YAD at 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 at reach@file{#1}%
+  }%
+}%
+\renewcommand{\maketitle}[1][]{%
+  \booltrue{YAD at maketitle@used}%
+  \yadsetup{#1}
+  \setlength{\fboxsep}{10pt}%
+  \setlength{\YAD at titleboxwidth}{\linewidth-2\fboxsep-2\fboxrule}%
+  \renewcommand*{\do}[1]{%
+  \pagestyle{titles}%
+\begingroup%
+\expandafter\selectlanguage\expandafter{##1}%
+  \begin{lrbox}{\YAD at titlebox}
+    \ifthenelse{\equal{\cmdKV at YAD@frametitle}{none}}{%
+    }{%
+      \tcbset{colback=white,boxsep=3pt,boxrule=0.4pt,arc=0mm}%
+      \ifthenelse{\equal{\cmdKV at YAD@frametitle}{shadowbox}}{%
+        \tcbset{enhanced,drop shadow southeast={black,opacity=1}}%
+      }{%
+        \ifthenelse{\equal{\cmdKV at YAD@frametitle}{ovalbox}}{%
+          \tcbset{arc=3mm}%
+        }{%
+          \ifthenelse{\equal{\cmdKV at YAD@frametitle}{fbox}}{%
+          }{%
+            \tcbset{code={\expandafter\pgfkeysalsofrom{\cmdKV at YAD@frametitle}}}%
+          }%
+        }%
+      }%
+      \begin{tcolorbox}
+    }%
+    \noindent%
+    \begin{minipage}{\linewidth-2\fboxsep-2\fboxrule}
+      \onehalfspacing%
+      \noindent%
+      \ifthenelse{\equal{\cmdKV at YAD@frametitle}{none}}{%
+      }{%
+        \ifYAD at hdr
+        \YAD at translation{thesistitle-hdr}%
+        \else%
+        \YAD at translation{thesistitle}%
+        \fi
+      }%
+      \par%
+      \centering%
+      \Huge\bfseries%
+      \YAD at ifemptyorundef{\printtitle}{%
+        \YAD at generic@argument at translate{title}%
+        \ifbool{YAD at notitle}{%
+        }{%
+          \YAD at 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 at YAD@frametitle}{none}}{%
+    }{%
+    \end{tcolorbox}
+  }%
+  \end{lrbox}
+  \settototalheight{\YAD at titleboxheight}{\YAD at titlebox}%
+  \setlength{\YAD at otherboxheight}{0.3\paperheight-\YAD at titleboxheight}%
+  %\YAD at astuce@expressioncle%
+  \noindent%
+  \ifcsdef{printordernumber}{%
+  \ifboolexpr{%
+    bool {YAD at cover@page}%
+    or (bool {YAD at nofrontcover} and test {\IfLanguageName{\YAD at mainlanguage}})%
+  }{%
+    \ifdraft{}{\vspace*{\stretch{1}}}%
+    % \vspace*{\stretch{1}}%
+    \raggedleft{%
+      \itshape%
+      \sffamily%
+      \YAD at translation{ordernumber}%
+      \IfLanguageName{french}{%
+        \FBcolonspace%
+      }{%
+      }: \printordernumber%
+    }%
+  }{%
+  }%
+  \ifdraft{}{\vspace*{\stretch{.5}}}%
+  % \vspace*{\stretch{.5}}%
+  \par%
+}{%
+}%
+    % \begin{minipage}[c][\YAD at otherboxheight][c]{\YAD at titleboxwidth}
+    %   \ifdraft{}{\vspace*{\stretch{.25}}}%
+    \begin{center}
+      \YAD at ifemptyorundef{\printinstitute}{%
+        \YAD at generic@argument at translate{institute}%
+        \ifbool{YAD at noinstitute}{%
+        }{%
+          \YAD at 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 at translation{institute} \textbf{\textsc{\Large\printinstitute}}%
+      }%
+      \ifundef{\printcoinstitute}{%
+      }{%
+        \ifdraft{}{\vspace*{\stretch{.5}}}%
+        % \vspace*{\stretch{.5}}%
+        \par%
+        \YAD at translation{coinstitute} \textbf{\textsc{\Large\printcoinstitute}}%
+      }%
+      \ifundef{\printcompany}{%
+      }{%
+        \ifdraft{}{\vspace*{\stretch{.5}}}%
+        % \vspace*{\stretch{.5}}%
+        \par%
+        \YAD at translation{company} \textbf{\textsc{\Large\printcompany}}%
+      }%
+      \ifdraft{}{\vspace*{\stretch{1.5}}}%
+      % \vspace*{\stretch{1.5}}%
+      \par%
+      \YAD at translation{doctoralschool}
+      \YAD at ifemptyorundef{\printdoctoralschool}{%
+        \YAD at generic@argument at translate{doctoralschool}%
+        \ifbool{YAD at nodoctoralschool}{%
+        }{%
+          \YAD at 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 at translation{universitydepartment}
+      \ifdefstring{\YAD at main@laboratory at nonamelink}{true}{%
+        \textbf{\printlaboratory{\YAD at main@laboratory at name}}%
+      }{%
+        \textbf{\printlaboratory[\YAD at main@laboratory at url]{\YAD at main@laboratory at name}}%
+      }%
+      \ifdraft{}{\vspace*{\stretch{1.5}}}%
+      % \vspace*{\stretch{1.5}}%
+      \par%
+      {\large%
+        \ifYAD at hdr%
+        \YAD at translation{thesisdefendedby-hdr} %
+        \else%
+        \YAD at translation{thesisdefendedby} %
+        \fi%
+        \YAD at ifemptyorundef{\printauthor}{%
+          \YAD at generic@argument at translate{author}%
+          \ifbool{YAD at noauthor}{%
+          }{%
+            \YAD at 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 at submitted@work}%
+          or bool {YAD at submitted@work at star}%
+        }{%
+          % \ifdraft{}{\vspace*{\stretch{1}}}%
+          % \par%
+          % \YAD at translation{estimateddefensedate}
+          % \YAD at ifemptyorundef{\printdate}{%
+          %   \YAD at generic@argument at translate{date}%
+          % }{%
+          %   \textbf{\printdate}%
+          % }%
+        }{%
+          \ifdraft{}{\vspace*{\stretch{1}}}%
+          % \vspace*{\stretch{1}}%
+          \par%
+          \YAD at translation{defendedon}
+          \YAD at ifemptyorundef{\printdate}{%
+            \YAD at generic@argument at translate{date}%
+          }{%
+            \textbf{\printdate}%
+          }%
+        }%
+      }%
+      \ifYAD at hdr%
+      \else%
+      \ifdraft{}{\vspace*{\stretch{1}}}%
+      % \vspace*{\stretch{1}}%
+      \par%
+      \YAD at translation{aim}%
+      \ifundef{\printinstitute}{%
+        \YAD at generic@argument at translate{institute}%
+      }{%
+        \printinstitute*%
+      }%
+      \ifundef{\printcoinstitute}{%
+      }{%
+        \YAD at translation{aimand}%
+        \printcoinstitute*%
+      }%
+      \fi%
+      \ifdraft{}{\vspace*{\stretch{1}}}%
+      % \vspace*{\stretch{1}}%
+      \par%
+      \large%
+      \YAD at translation{academicfield}
+      %
+      \YAD at ifemptyorundef{\printacademicfield}{%
+        \YAD at generic@argument at translate{academicfield}%
+        \ifbool{YAD at noacademicfield}{%
+        }{%
+          \YAD at 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 at translation{speciality} \textbf{\printspeciality}%
+      }
+    \end{center}
+  % \end{minipage}%
+  \vspace*{\stretch{1}}%
+  \begin{center}
+    \ifthenelse{\equal{\cmdKV at YAD@frametitle}{none}}{%
+    }{%
+      \ifdraft{}{\vspace*{\stretch{2}}}%
+      % \vspace*{\stretch{2}}%
+    }{%
+      \ifdraft{}{\vspace*{\stretch{.25}}}%
+      % \vspace*{\stretch{.25}}%
+    }%
+    \usebox{\YAD at titlebox}%
+    % \ifdraft{}{\vspace*{\stretch{2}}}%
+    \vspace*{\stretch{2}}%
+  \end{center}
+  \noindent%
+  \begin{minipage}[c][\YAD at otherboxheight][c]{\YAD at titleboxwidth}
+    \YAD at supervisors@tabular%
+    \par%
+    \ifboolexpr{%
+      bool {YAD at submitted@work}%
+      or bool {YAD at submitted@work at star}%
+    }{%
+      \vphantom{\YAD at committee@tabular}%
+    }{%
+      \YAD at committee@tabular%
+    }%
+    \ifdraft{}{\vspace*{\stretch{.1}}}%
+    % \vspace*{\stretch{.1}}%
+  \end{minipage}
+  \ifthenelse{\equal{\cmdKV at YAD@frametitle}{none}}{%
+  }{%
+    % \ifdraft{}{\vspace*{\stretch{2}}}%
+    \vspace*{\stretch{2}}%
+  }{%
+  }%
+  \ifbool{YAD at supervisor@specified}{%
+  }{%
+    \ifbool{YAD at nosupervisor}{%
+    }{%
+      \YAD at 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 at cover@page}%
+}%
+\expandafter\docsvlist{\YAD at mainlanguage}%
+\ifbool{YAD at two@titles}{%
+  \booltrue{YAD at second@title}%
+  \ifthenelse{\equal{\YAD at mainlanguage}{french}}{%
+    \ifbool{YAD at nofrontcover}{%
+      \docsvlist{english}%
+    }{%
+      \docsvlist{french,english}%
+    }%
+  }{%
+    \ifbool{YAD at nofrontcover}{%
+      \docsvlist{french}%
+    }{%
+      \docsvlist{english,french}%
+    }%
+  }%
+}{%
+}%
+\ifthenelse{\equal{\cmdKV at YAD@frametitle}{shadowbox}}{%
+  \let\tcb at shadow@prepare=\origtcb at shadow@prepare%
+}{%
+}%
+\expandafter\selectlanguage\expandafter{\YAD at mainlanguage}%
+\pagestyle{preliminary}%
+}%
+\AtEndDocument{%
+  \ifboolexpr{%
+    bool {YAD at maketitle@used}%
+    or bool {YAD at nomaketitle}%
+  }{%
+  }{%
+    \YAD at 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 at keywords@used}%
+  \def\YAD at mainkeywords{#1}%
+  \def\YAD at secondarykeywords{#2}%
+  \ifthenelse{\isempty{#1}}{%
+  }{%
+    \ifthenelse{\isempty{#2}}{%
+      \YAD at hypersetup{pdfkeywords={#1}}%
+    }{%
+      \YAD at hypersetup{pdfkeywords={#1} ({#2})}%
+    }%
+  }%
+}%
+\csdef{printkeywords}{%
+  \expandafter\IfLanguageName{\YAD at mainlanguage}{%
+    \YAD at ifemptyorundef{\YAD at mainkeywords}{%
+      \YAD at generic@argument at translate{keywords}%
+    }{%
+      \MakeTextLowercase{\YAD at mainkeywords}%
+    }%
+  }{%
+    \YAD at ifemptyorundef{\YAD at secondarykeywords}{%
+      \YAD at generic@argument at translate{keywords}%
+    }{%
+      \MakeTextLowercase{\YAD at secondarykeywords}%
+    }%
+  }%
+}%
+\AtEndDocument{%
+  \notbool{YAD at keywords@used}{%
+    \ifbool{YAD at nokeywords}{%
+    }{%
+      \YAD at ClassError[nokeywords]{%
+        Commande \protect\keywords\space non utilisee%
+      }{%
+        La commande \protect\keywords\space n'a pas ete utilisee. Celle-ci est
+        requise.%
+      }%
+    }%
+  }{%
+    \ifdefempty{\YAD at mainkeywords}{%
+      \YAD at 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 at metakeywords}{\YAD at mainkeywords} }%
+    \ifdefempty{\YAD at secondarykeywords}{%
+      \YAD at 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 at metakeywords}{\YAD at mainkeywords (\YAD at secondarykeywords)}%
+    }%
+  }%
+}%
+\csdef{makekeywords}{%
+  \@ifstar{\@tempswatrue\csuse{YAD at starnostar@makekeywords}}{\@tempswafalse\csuse{YAD at starnostar@makekeywords}}%
+}%
+\csdef{YAD at starnostar@makekeywords}{%
+  \cleardoublepage%
+  \pagestyle{prepreliminary}%
+  % \YAD at astuce@expressioncle%
+  \if at tempswa%
+  \else%
+  \vspace*{\stretch{1}}%
+  \fi
+  \begin{flushleft}
+    \begin{description}
+      \renewcommand*{\do}[1]{%
+        \expandafter\selectlanguage\expandafter{##1}%
+      \item[\YAD at translation{keywords}\IfLanguageName{french}{\,}{}:]
+        \YAD at ifemptyorundef{\printkeywords}{%
+          \YAD at generic@argument at translate{keywords}%
+        }{%
+          \printkeywords%
+        }%
+      }%
+      \expandafter\docsvlist{\YAD at mainlanguage}%
+      \ifthenelse{\equal{\YAD at mainlanguage}{french}}{%
+        \docsvlist{english}%
+      }{%
+        \docsvlist{french}%
+      }%
+    \end{description}
+  \end{flushleft}
+  \if at tempswa%
+  \else%
+  \vspace*{\stretch{1}}%
+  \fi
+  \expandafter\selectlanguage\expandafter{\YAD at mainlanguage}%
+  \pagestyle{preliminary}%
+}%
+\DTLnewdb{laboratories}%
+\newcommand{\laboratory}[3][]{%
+  \DTLnewrow{laboratories}%
+  \dtlexpandnewvalue%
+  \yadsetup{%
+    #1%
+  }%
+  \DTLnewdbentry{laboratories}{name}{#2}%
+  \DTLnewdbentry{laboratories}{address}{#3}%
+  \ifbool{YAD at nolaboratory}{%
+  }{%
+    \ifthenelse{\isempty{#2}}{%
+      \YAD at 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 at 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 at ifemptyorundef{\cmdKV at YAD@logo}{%
+    \DTLnewdbentry{laboratories}{logo}{}%
+  }{%
+    \DTLnewdbentry{laboratories}{logo}{\cmdKV at YAD@logo}%
+  }%
+  \YAD at ifemptyorundef{\cmdKV at YAD@logoheight}{%
+    \DTLnewdbentry{laboratories}{logoheight}{\YAD at default@logoheight}%
+  }{%
+    \DTLnewdbentry{laboratories}{logoheight}{\cmdKV at YAD@logoheight}%
+  }%
+  \YAD at ifemptyorundef{\cmdKV at YAD@url}{%
+    \DTLnewdbentry{laboratories}{url}{}%
+  }{%
+    \DTLnewdbentry{laboratories}{url}{\cmdKV at YAD@url}%
+  }%
+  \YAD at ifemptyorundef{\cmdKV at YAD@telephone}{%
+    \DTLnewdbentry{laboratories}{telephone}{}%
+  }{%
+    \DTLnewdbentry{laboratories}{telephone}{\cmdKV at YAD@telephone}%
+  }%
+  \YAD at ifemptyorundef{\cmdKV at YAD@fax}{%
+    \DTLnewdbentry{laboratories}{fax}{}%
+  }{%
+    \DTLnewdbentry{laboratories}{fax}{\cmdKV at YAD@fax}%
+  }%
+  \YAD at ifemptyorundef{\cmdKV at YAD@email}{%
+    \DTLnewdbentry{laboratories}{email}{}%
+  }{%
+    \DTLnewdbentry{laboratories}{email}{\cmdKV at YAD@email}%
+  }%
+  \ifbool{YAD at nonamelink}{%
+    \DTLnewdbentry{laboratories}{nonamelink}{true}%
+  }{%
+    \DTLnewdbentry{laboratories}{nonamelink}{false}%
+  }%
+  %
+  \DTLgetvalue{\YAD at main@laboratory at name}{laboratories}{1}{\dtlcolumnindex{laboratories}{name}}%
+  \DTLgetvalue{\YAD at main@laboratory at address}{laboratories}{1}{\dtlcolumnindex{laboratories}{address}}%
+  \DTLgetvalue{\YAD at main@laboratory at url}{laboratories}{1}{\dtlcolumnindex{laboratories}{url}}%
+  \DTLgetvalue{\YAD at main@laboratory at nonamelink}{laboratories}{1}{\dtlcolumnindex{laboratories}{nonamelink}}%
+  %
+  \boolfalse{YAD at nonamelink}%
+  \yadsetup{%
+    logo=,%
+    url=,%
+    telephone=,%
+    fax=,%
+    email=,%
+  }%
+}%
+\csdef{makelaboratory}{%
+  \@ifstar{\@tempswatrue\csuse{YAD at starnostar@makelaboratory}}{\@tempswafalse\csuse{YAD at starnostar@makelaboratory}}%
+}%
+\csdef{YAD at starnostar@makelaboratory}{%
+  \cleardoublepage%
+  \pagestyle{prepreliminary}%
+  \if at tempswa%
+  \else%
+  \vspace*{\stretch{1}}%
+  \fi
+  \noindent%
+  \ifthenelse{\DTLrowcount{laboratories}>1}{%
+    \ifYAD at hdr
+    \YAD at translation{prepared-at-pl-hdr}%
+    \else%
+    \YAD at translation{prepared-at-pl}%
+    \fi
+  }{%
+    \ifYAD at hdr
+    \YAD at translation{prepared-at-hdr}%
+    \else%
+    \YAD at translation{prepared-at}%
+    \fi
+  }%
+  \if at tempswa%
+  \vspace*{\baselineskip}%
+  \else%
+  \vspace*{\stretch{.25}}%
+  \fi
+  \par%
+  \ifthenelse{\DTLrowcount{laboratories}<1}{%
+    \begin{minipage}[t]{\linewidth-\parindent}
+      \YAD at reach@file{\YAD at generic@argument at translate{laboratory}}%
+      \\[.1cm]
+      \YAD at reach@file{\YAD at generic@argument at translate{laboratoryaddress}}%
+    \end{minipage}
+  }{%
+  }%
+  \DTLforeach*{laboratories}{%
+    \YAD at laboratory@name=name,%
+    \YAD at laboratory@address=address,%
+    \YAD at laboratory@url=url,%
+    \YAD at laboratory@logo=logo,%
+    \YAD at laboratory@logoheight=logoheight,%
+    \YAD at laboratory@telephone=telephone,%
+    \YAD at laboratory@fax=fax,%
+    \YAD at laboratory@email=email,%
+    \YAD at laboratory@nonamelink=nonamelink%
+  }{%
+    \ifthenelse{\DTLiseq{\YAD at laboratory@logo}{}}{%
+      \setlength{\YAD at laboratory@width}{\linewidth-\parindent}%
+    }{%
+      \setlength{\YAD at laboratory@width}{.625\linewidth-\parindent}%
+    }%
+    \begin{minipage}[t]{\YAD at laboratory@width}
+      \textbf{\printlaboratory[\YAD at laboratory@url]{\YAD at laboratory@name}}%
+      \\[.1cm]
+      \printlaboratoryaddress{\YAD at laboratory@address}%
+      \\[.25cm]
+      \begin{tabular}{@{}ll}
+        \ifthenelse{\DTLiseq{\YAD at laboratory@telephone}{}}{%
+        }{%
+          \YAD at translation{phone} & \YAD at reach@file{\YAD at laboratory@telephone} \\%
+        }%
+        \ifthenelse{\DTLiseq{\YAD at laboratory@fax}{}}{%
+        }{%
+          \YAD at translation{fax}  & \YAD at reach@file{\YAD at laboratory@fax}      \\%
+        }%
+        \ifthenelse{\DTLiseq{\YAD at laboratory@email}{}}{%
+        }{%
+          \YAD at translation{email} &
+          \YAD at reach@file{%
+            \YAD at ifemptyorundef{\YAD at laboratory@email}{%
+              % \ifbool{YAD at nolink}{%
+                \YAD at generic@argument at translate{laboratoryemail}%
+              % }{%
+              %   \YAD at href{mailto:laboratory at institute.fr}{\YAD at generic@argument at translate{laboratoryemail}}%
+              % }%
+            }{%
+              % \ifbool{YAD at nolink}{%
+              %   \YAD at nolinkurl{\YAD at laboratory@email}%
+              % }{%
+                \YAD at href{mailto:\YAD at laboratory@email}{\YAD at nolinkurl{\YAD at laboratory@email}}%
+              % }%
+            }%
+          }%
+          \\%
+        }%
+        \ifthenelse{\DTLiseq{\YAD at laboratory@url}{}}{%
+        }{%
+          \YAD at translation{website} & % \printlaboratoryurl
+          \def\YAD at texteurl{%
+            \YAD at ifemptyorundef{\YAD at laboratory@url}{%
+              \YAD at reach@file{\YAD at generic@argument at translate{urllaboratory}}%
+            }{%
+              \YAD at reach@file{\YAD at nolinkurl{\YAD at laboratory@url}}%
+            }%
+          }%
+          \YAD at ifemptyorundef{\YAD at laboratory@url}{%
+            % \ifbool{YAD at nolink}{%
+            %   \YAD at texteurl%
+            % }{%
+              % \YAD at href{www.laboratory.fr}{%
+                \YAD at texteurl%
+              % }%
+            % }%
+          }{%
+            \ifdraft{%
+              \YAD at texteurl%
+            }{%
+              % \ifbool{YAD at nolink}{%
+              %   \YAD at nolinkurl{\YAD at laboratory@url}%
+              % }{%
+                \YAD at url{%
+                  \YAD at laboratory@url%
+                }%
+              % }%
+            }%
+          }%
+        }%
+      \end{tabular}%
+    \end{minipage}
+    \ifthenelse{\DTLiseq{\YAD at laboratory@logo}{}}{%
+    }{%
+      \hspace{\stretch{1}}%
+      \begin{minipage}[t]{.325\linewidth}
+        \def\YAD at logo{%
+          \YAD at ifemptyorundef{\YAD at laboratory@logo}{%
+            \YAD at reach@file{\YAD at generic@argument at translate{logolaboratory}}%
+          }{%
+            \YAD at reach@file{%
+              \includegraphics[height=\YAD at laboratory@logoheight,valign=t]{\YAD at laboratory@logo}%
+            }%
+          }%
+        }%
+        \if at tempswa%
+        \else%
+        \hspace{\stretch{1}}%
+        % \ifbool{YAD at nolink}{%
+        %   \YAD at logo%
+        % }{%
+          \YAD at ifemptyorundef{\YAD at laboratory@url}{%
+            % \YAD at href{www.laboratory.fr}{%
+              \YAD at logo%
+            % }%
+          }{%
+            \YAD at href{\YAD at laboratory@url}{\YAD at logo}%
+          }%
+        % }%
+        \fi%
+      \end{minipage}%
+    }%
+    \par%
+    \DTLiflastrow{%
+      \vspace*{\stretch{1}}%
+    }{%
+      \if at tempswa%
+      \vspace*{\baselineskip}%
+      \else%
+      \vspace*{\stretch{.25}}%
+      \fi%
+    }%
+    \setlength\cmdKV at YAD@logoheight{\YAD at default@logoheight}%
+  }%
+  \ifthenelse{\DTLrowcount{laboratories}<1}{%
+    \vspace*{\stretch{1}}%
+  }{%
+  }%
+  \pagestyle{preliminary}%
+}%
+\csgdef{YAD at abstractname@mainlanguage}{\abstractname}%
+\csgdef{YAD at abstractname@secondarylanguage}{\abstractname}%
+\newcommand{\YAD at abstract}[1]{%
+  \ifstrempty{#1}{%
+    \ifnumcomp{\value{YAD at abstracts}}{>}{0}{%
+      \global\booltrue{YAD at second@abstract at empty}%
+    }{%
+      \global\booltrue{YAD at main@abstract at empty}%
+    }%
+  }{%
+    \begin{minipage}{\linewidth}
+      \small%
+      #1%
+    \end{minipage}%
+  }%
+}
+\newenvironment{abstract}[1][\abstractname]{%
+  \global\booltrue{YAD at abstract@used}%
+  \ifnumcomp{\value{YAD at abstracts}}{>}{0}{%
+    \global\booltrue{YAD at second@abstract at used}%
+    \csgdef{YAD at abstractname@secondarylanguage}{#1}%
+    \lrbox{\YAD at abstract@secondarylanguage}%
+    \expandafter\selectlanguage\expandafter{\YAD at secondarylanguage}%
+  }{%
+    \csgdef{YAD at abstractname@mainlanguage}{#1}%
+    \lrbox{\YAD at abstract@mainlanguage}%
+  }%
+  \Collect at Body\YAD at abstract%
+}{%
+  \endlrbox%
+  \stepcounter{YAD at abstracts}%
+}%
+\newcommand{\YAD at abstract@page}{%
+  \bgroup%
+  \enlargethispage{2cm}%
+  \setlength{\parindent}{0pt}%
+  \begin{minipage}{\linewidth}
+    \small%
+    {%
+      \bfseries%
+      \YAD at ifemptyorundef{\printtitle}{%
+        \YAD at generic@argument at translate{title}%
+      }{%
+        \textsc{\printtitle}%
+      }%
+      \ifundef{\printsubtitle}{%
+      }{%
+        \newline%
+        \printsubtitle%
+      }%
+      \vspace{-.5em}%
+      \vspace{\z@}%
+      \begin{center}%
+        \YAD at abstractname@mainlanguage%
+      \end{center}%
+    }%
+    \par%
+    \ifboolexpr{%
+      bool {YAD at abstract@used}%
+      and not bool {YAD at main@abstract at empty}%
+    }{%
+      \usebox{\YAD at abstract@mainlanguage}%
+    }{%
+      \YAD at generic@argument at translate{abstract}%
+    }%
+    \ifundef{\printkeywords}{%
+    }{%
+      \vspace{.5em}%
+      \begin{description}
+      \item[\YAD at translation{keywords}\IfLanguageName{french}{\ifundef{\Fcolonspace}{\FBcolonspace}{\Fcolonspace}}{}:]
+        \printkeywords
+      \end{description}
+    }%
+  \end{minipage}%
+  \ifbool{YAD at second@abstract at used}{%
+    \expandafter\selectlanguage\expandafter{\YAD at secondarylanguage}%
+    \\[.5\baselineskip]%
+    \YAD at abstract@page at rule%
+    \\[.5\baselineskip]%
+    \begin{minipage}{\linewidth}
+      \small%
+      {%
+        \bfseries%
+        \YAD at ifemptyorundef{\printtitle}{%
+          \YAD at generic@argument at translate{title}%
+        }{%
+          \textsc{\printtitle}%
+        }%
+        \ifundef{\printsubtitle}{%
+        }{%
+          \newline%
+          \printsubtitle%
+        }%
+        \vspace{-.5em}%
+        \vspace{\z@}%
+        \begin{center}%
+          \YAD at abstractname@secondarylanguage%
+        \end{center}%
+      }%
+      \par%
+      \ifboolexpr{%
+        bool {YAD at abstract@used}%
+        and not bool {YAD at second@abstract at empty}%
+      }{%
+        \usebox{\YAD at abstract@secondarylanguage}%
+      }{%
+        \YAD at generic@argument at translate{abstract}%
+      }%
+      \ifundef{\printkeywords}{%
+      }{%
+        \vspace{.5em}%
+        \begin{description}
+        \item[\YAD at translation{keywords}\IfLanguageName{french}{\ifundef{\Fcolonspace}{\FBcolonspace}{\Fcolonspace}}{}:]
+          \textnormal{\printkeywords}
+        \end{description}
+      }%
+    \end{minipage}%
+  }{%
+  }%
+    \\[.5\baselineskip]%
+  \YAD at abstract@page at rule%
+  % \par%
+  % \textbf{\printlaboratory*}%
+  % \\%
+  % \let\YAD at ORI@doublebackslash\\%
+  % \renewcommand{\\}{ -- }%
+  % \printlaboratoryaddress%
+  % \let\\\YAD at ORI@doublebackslash%
+  \egroup%
+}%
+\newcommand{\YAD at laboratory@abstract at page}{%
+  \ifnumgreater{\cmdKV at YAD@numlaboratories}{0}{%
+    \begin{minipage}[t]{\linewidth}
+      \let\YAD at ORI@doublebackslash\\%
+      \renewcommand{\\}{ -- }%
+      \DTLforeach*{laboratories}{%
+        \YAD at laboratory@name=name,%
+        \YAD at laboratory@address=address%
+      }{%
+        \DTLiffirstrow{}{\newline}%
+        \textbf{\printlaboratory{\YAD at laboratory@name}}%
+        \ifnumgreater{\cmdKV at YAD@numlaboratories}{1}{%
+          \\%
+        }{%
+          \newline%
+        }
+        \printlaboratoryaddress{\YAD at laboratory@address}%
+        \ifthenelse{\value{DTLrowi}=\cmdKV at YAD@numlaboratories}{\dtlbreak}{}%
+      }%
+    \end{minipage}%
+  }{%
+  }%
+}%
+\newcommand{\makeabstract}{%
+  \ifbool{YAD at nomakeabstract}{%
+  }{%
+    \YAD at alarm@noabstract%
+  }%
+  \pagestyle{preliminary}%
+  \YAD at phantomsection%
+  \addcontentsline{toc}{chapter}{\abstractname}%
+  \booltrue{YAD at makeabstract@used}%
+  \bgroup%
+  \addtolength{\footskip}{6pt minus 6pt}%
+  \setfootrule{0pt}%
+  \setfoot[][%
+  \ifboolexpr{%
+    bool {YAD at inprogress@work}%
+    or bool {YAD at inprogress@work at star}%
+  }{%
+    \textsc{\translate{lbl-inprogressfoottext} \today}%
+  }{%
+    \ifboolexpr{%
+      bool {YAD at submitted@work at star}%
+    }{%
+      \textsc{\translate{lbl-submittedfoottext} \today}%
+    }{%
+    }%
+  }%
+  ][]{%
+    % \medskip\par%
+    \YAD at laboratory@abstract at page%
+  }{}{}%
+  \cleardoublepage%
+  \renewcommand{\YAD at chapter@header}{\abstractname}%
+  \renewcommand{\YAD at section@header}{\abstractname}%
+  \YAD at abstract@page%
+  \cleardoublepage%
+  \egroup%
+  \YAD at nolaboratorytrue%
+  \YAD at nolaboratoryadresstrue%
+}%
+\newcommand{\YAD at abstract@page at rule}[1][black]{\bgroup\color{#1}\noindent\rule[2pt]{\linewidth}{2pt}\egroup}
+\AtEndDocument{%
+  \ifbool{YAD at makeabstract@used}{%
+  }{%
+    \ifbool{YAD at nomakeabstract}{%
+    }{%
+      \YAD at 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 at alarm@noabstract}{%
+  \ifbool{YAD at abstract@used}{%
+    \ifbool{YAD at main@abstract at empty}{%
+      \ifnumcomp{\value{YAD at abstracts}}{>}{1}{%
+        \YAD at 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 at 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 at second@abstract at empty}{%
+      \YAD at 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 at noabstract}{%
+    }{%
+      \YAD at ClassError[noabstract]{%
+        Environnement `abstract' non utilise%
+      }{%
+        L'environnement `abstract' n'a pas ete utilise. Celui-ci est requis.%
+      }%
+    }%
+  }%
+}%
+\newcommand{\makebackcover}{%
+  \YAD at alarm@noabstract%
+  \cleardoublepage%
+  \pagestyle{backcover}%
+  \YAD at abstract@page%
+}%
+        \csdef{makededications}{%
+        \@ifstar{\@tempswatrue\csuse{YAD at starnostar@makededications}}{\@tempswafalse\csuse{YAD at starnostar@makededications}}%
+        }%
+        \csdef{YAD at starnostar@makededications}{%
+        \pagestyle{prepreliminary}%
+        \cleardoublepage%
+        \if at tempswa%
+        \else%
+        \vspace*{\stretch{2}}%
+        \fi%
+        \DTLifdbempty{dedications}{%
+        \YAD at generic@argument at translate{dedications}%
+        \YAD at 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 at dedication=dedication%
+          }{%
+            \YAD at ifemptyorundef{\YAD at dedication}{%
+              \YAD at generic@argument at translate{dedication}%
+              \YAD at ClassError{%
+                Dedicace vide%
+              }{%
+                L'argument obligatoire d'une commande \protect\dedication\space est
+                vide\MessageBreak%
+                (celui-ci doit etre renseigne).%
+              }%
+            }{%
+              \YAD at dedication%
+            }%
+            \par%
+            \DTLiflastrow{%
+            }{%
+              \if at tempswa%
+              \vspace*{\baselineskip}%
+              \else%
+              \vspace*{\stretch{1}}%
+              \fi
+            }%
+          }%
+        \end{flushright}
+        }%
+        \if at tempswa%
+        \else%
+        \vspace*{\stretch{2}}%
+        \fi
+        }%
+\csdef{makefrontepigraphs}{%
+  \@ifstar{\@tempswatrue\csuse{YAD at starnostar@makefrontepigraphs}}{\@tempswafalse\csuse{YAD at starnostar@makefrontepigraphs}}%
+}%
+\csdef{YAD at starnostar@makefrontepigraphs}{%
+  \patchcmd{\epigraphs}{\qitemlabel}{\qitemlabel\itemsep=1.5\baselineskip}{}{}%
+  \cleardoublepage%
+  \if at tempswa%
+  \else%
+  \vspace*{\stretch{2}}%
+  \fi
+  \DTLifdbempty{frontepigraphs}{%
+    \setlength\epigraphrule{0pt}%
+    \begin{epigraphs}
+      \qitem{\YAD at generic@argument at translate{epigraphs}}{}%
+    \end{epigraphs}
+    \YAD at 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 at epigraphlanguage=epigraphlanguage,%
+        \YAD at epigraph=epigraph,%
+        \YAD at epigraphauthor=epigraphauthor%
+      }{%
+        \YAD at ifemptyorundef{\YAD at epigraph}{%
+          \renewcommand{\YAD at epigraph}{%
+            \YAD at generic@argument at translate{epigraph}%
+          }%
+          \YAD at ClassError{%
+            Epigraphe vide%
+          }{%
+            L'argument obligatoire d'une commande \protect\frontepigraph\space
+            est vide\MessageBreak%
+            (celui-ci doit etre renseigne).%
+          }%
+        }{%
+        }%
+        \ifthenelse{\equal{\YAD at mainlanguage}{\YAD at epigraphlanguage}}{%
+          \qitem{\YAD at epigraph}{\YAD at epigraphauthor}%
+        }{%
+          \bgroup%
+          \expandafter\selectlanguage\expandafter{\YAD at epigraphlanguage}%
+          \qitem{\YAD at epigraph}{\YAD at epigraphauthor}%
+          \egroup%
+        }%
+        \DTLiflastrow{%
+        }{%
+          \if at tempswa%
+          % \vspace*{2cm}%
+          \else%
+          % \vspace*{\stretch{1}}%
+          \fi
+        }%
+      }%
+    \end{epigraphs}
+  }%
+  \if at tempswa%
+  \else%
+  \vspace*{\stretch{2}}%
+  \fi
+}%
+\newenvironment{epigraphspage}{%
+  \patchcmd{\epigraphs}{\qitemlabel}{\qitemlabel\itemsep=1.5\baselineskip}{}{}
+  \cleardoublepage%
+  \vspace*{\stretch{1}}%
+}{%
+  \vspace*{\stretch{1}}%
+}%
+\BeforeBeginEnvironment{epigraphspage}{%
+  \pagestyle{prepreliminary}%
+}%
+\AfterEndEnvironment{epigraphspage}{%
+  \pagestyle{preliminary}%
+}%
+\let\YAD at ORI@chapter\chapter%
+\AfterPreamble{% delay the redefinition when titlesec has done its own
+  \renewcommand\chapter{%
+    \cleardoublepage%
+    \YAD at phantomsection%
+    \ifbool{YAD at output@paper}{%
+    }{%
+      \YAD at bookmarksetup{startatroot}%
+    }%
+    \@ifstar{\YAD at starred@chapter}{\YAD at unstarred@chapter}%
+  }%
+  \newcommand{\YAD at starred@chapter}{%
+    \setsecnumdepth{none}%
+    \YAD at ORI@chapter%
+  }%
+  \newcommand{\YAD at unstarred@chapter}{%
+    \if at mainmatter%
+    \resetsecnumdepth*%
+    \fi%
+    \YAD at ORI@chapter%
+  }%
+  % \newcommand{\YAD at arg@chapter}[2][]{%
+  %   \ifthenelse{\isempty{#1}}{%
+  %     \YAD at ORI@chapter{#2}%
+  %     \def\chaptertitle{#2}%
+  %   }{%
+  %     \YAD at ORI@chapter[#1]{#2}%
+  %     \def\chaptertitle{#1}%
+  %   }%
+  % }%
+  % \newcommand{\YAD at noarg@chapter}[1]{%
+  %   \YAD at ORI@chapter{#1}%
+  %   \def\chaptertitle{#1}%
+  % }%
+  % \xpatchcmd{\tableofcontents}{\chapter}{\YAD at ORI@chapter}{}{}%
+  % \xpatchcmd{\shorttableofcontents}{\chapter}{\YAD at ORI@chapter}{}{}%
+  % \xpatchcmd{\listoftables}{\chapter}{\YAD at ORI@chapter}{}{}%
+  % \xpatchcmd{\listoffigures}{\chapter}{\YAD at ORI@chapter}{}{}%
+  \@ifpackageloaded{floatrow}{%
+    \xpatchcmd{\float at listhead}{\chapter}{\YAD at ORI@chapter}{}{}%
+  }{%
+  }%
+  \@ifpackageloaded{tocbibind}{%
+    \renewcommand{\toc at chapter}[1]{%
+      \chapter*{#1}\prw at mkboth{#1}%
+      % \addcontentsline{toc}{chapter}{#1}% < Suppression par rapport à l'original
+    }%
+  }{%
+  }%
+}%
+\xpretocmd{\part}{\setsecnumdepth{\YAD at secnumdepth}}{}{}%
+\disclaimer{%
+  \IfLanguageName{french}{%
+    \ifundef{\printinstitute}{%
+      L'\YAD at generic@argument at translate{institute}
+    }{%
+      \YAD at if@starts at with@vowel{\YAD at institute}{L'}{Le }\printinstitute*
+    }%
+    %
+    \ifundef{\printcoinstitute}{%
+      n'entend
+    }{%
+      et
+      \YAD at if@starts at with@vowel{\YAD at 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 at starnostar@makedisclaimer}}{\@tempswafalse\csuse{YAD at starnostar@makedisclaimer}}%
+}%
+\csdef{YAD at starnostar@makedisclaimer}{%
+  \pagestyle{prepreliminary}%
+  \if at tempswa%
+  \else%
+  \vspace*{\stretch{1}}%
+  \fi%
+  \printdisclaimer%
+  \if at tempswa%
+  \else%
+  \vspace*{\stretch{1}}%
+  \fi%
+  \pagestyle{preliminary}%
+}%
+\AtBeginDocument{%
+  \ifthenelse{\equal{\YAD at mainlanguage}{french}}{%
+    \YAD at hypersetup{pdflang=fr}%
+  }{%
+    \YAD at hypersetup{pdflang=en}%
+  }%
+}%
+\AtEndPreamble{%
+  \@ifpackageloaded{biblatex}{%
+    \defbibheading{bibintoc}[\bibname]{\chapter*{#1}}%
+    \defbibheading{subbibintoc}[\bibname]{\section{#1}}%
+    \@ifpackageloaded{csquotes}{%
+      \SetCiteCommand{\autocite}%
+    }{%
+    }%
+    \let\YAD at printbibliography@ORI\printbibliography%
+    \renewcommand{\printbibliography}[1][]{%
+      \booltrue{YAD at printbibliography@used}%
+      \pagestyle{biblio}%
+      \YAD at printbibliography@ORI[heading=bibintoc,#1]%
+      \pagestyle{ordinary}%
+    }%
+  }{%
+  }%
+}%
+\AtEndDocument{%
+  \ifbool{YAD at printbibliography@used}{%
+  }{%
+    \ifbool{YAD at noprintbibliography}{%
+    }{%
+      \YAD at ClassError*[noprintbibliography]{%
+        Commande \protect\printbibliography\space non utilisee%
+      }{%
+        La commande \protect\printbibliography\space n'a pas ete utilisee. Celle-ci est
+        requise.%
+      }%
+    }%
+  }%
+}%
+\hopatch at AfterPackage{glossaries}{%
+  \ifbool{YAD at output@paper}{%
+    \ifbool{YAD at output@paper at 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{%
+  \ifPDFTeX
+  \shorthandon{;:!?}%
+  \fi
+  \InputIfFileExists{\YAD at configuration@directory/\YAD at configuration@file}%
+  {\ClassInfo{yathesis}{%
+    Fichier de configuration local \YAD at configuration@file\space
+    trouve%
+    }%
+  }{%
+    % \YAD at ClassWarningNoLine{%
+    %   Fichier de configuration local
+    %   \YAD at configuration@file\space introuvable%
+    % }%
+  }%
+  \ifPDFTeX
+  \shorthandoff{;:!?}%
+  \fi
+}%
+\AtEndPreamble{%
+  \ifPDFTeX
+  \shorthandon{;:!?}%
+  \fi
+  \InputIfFileExists{\YAD at configuration@directory/\YAD at characteristics@file}%
+  {%
+    \ClassInfo{yathesis}{%
+      Fichier \YAD at characteristics@file\space des donnees du document trouve%
+    }%
+  }%
+  {%
+    % \YAD at ClassWarningNoLine{%
+    %   Fichier \YAD at characteristics@file\space des donnees du titre
+    %   introuvable.\MessageBreak%
+    %   Le fichier \YAD at characteristics@file\space n'a pas ete trouve\MessageBreak%
+    %   dans le dossier `\YAD at configuration@directory'.\MessageBreak Ce fichier
+    %   \YAD at characteristics@file\space peut faciliter l'usage\MessageBreak de la classe%
+    % }%
+  }%
+  \ifPDFTeX
+  \shorthandoff{;:!?}%
+  \fi
+}%
+\AtEndDocument{%
+  \ifbool{YAD at tableofcontents@used}{%
+  }{%
+    \ifbool{YAD at notableofcontents}{%
+    }{%
+      \YAD at 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}{defense date}
+\expression{meta-submissiondate}{date de la soumission}{submission date}
+\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 research 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 research 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 research 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 research's 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,
+%%                                 and a number of configuration files.
+%%
+%% End of file `yathesis.cls'.


Property changes on: trunk/Master/texmf-dist/tex/latex/yathesis/yathesis.cls
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/tlpkg/libexec/ctan2tds
===================================================================
--- trunk/Master/tlpkg/libexec/ctan2tds	2016-06-10 21:48:24 UTC (rev 41348)
+++ trunk/Master/tlpkg/libexec/ctan2tds	2016-06-10 21:52:58 UTC (rev 41349)
@@ -1215,6 +1215,7 @@
  'vhistory'             => '&PREHOOK_vhistory',
  'wasy'                 => '&PREHOOK_wasy',
  'wsuipa'               => '&PREHOOK_wsuipa',
+ 'yathesis'		=> '&PREHOOK_flatten1',
  'xepersian'            => '&PREHOOK_flatten1',
 );
 
@@ -1308,7 +1309,6 @@
  'xecyr'                => '&POSTxecyr',
  'xetex-pstricks'       => '&POSTxetexpstricks',
  'xymtex'               => '&POSTxymtex',
- 'yathesis'             => '&POSTyathesis',
  'zhmetrics'            => '&POSTzhmetrics',
 );
 
@@ -6113,14 +6113,6 @@
   }
 }
 
-sub POSTyathesis {
-  print "POST$package - move directories around"
-  &SYSTEM ("$MV source $DEST/source/latex/$package");
-  &SYSTEM ("$MV tex $DEST/tex/latex/$package");
-  unlink ("doc/README"); # turns out to be near-dup of top-level
-  &SYSTEM ("$MV doc/* .");
-}
-
 sub POSTzhmetrics {
   # source seems better than making a doc directory just for the map file.
   print "POST$package - move example ttfonts.map out of runtime\n";



More information about the tex-live-commits mailing list