summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/yathesis/yathesis.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex/yathesis/yathesis.dtx')
-rw-r--r--Master/texmf-dist/source/latex/yathesis/yathesis.dtx503
1 files changed, 392 insertions, 111 deletions
diff --git a/Master/texmf-dist/source/latex/yathesis/yathesis.dtx b/Master/texmf-dist/source/latex/yathesis/yathesis.dtx
index 710516d793a..8c1309da9e9 100644
--- a/Master/texmf-dist/source/latex/yathesis/yathesis.dtx
+++ b/Master/texmf-dist/source/latex/yathesis/yathesis.dtx
@@ -23,7 +23,7 @@
%<*readme>
-----------------------------------------------------------------------
-- `yathesis` --- Yet Another Thesis Class, version 0.99o
+- `yathesis` --- Yet Another Thesis Class, version 0.99p
- E-mail: `denis.bitouze@lmpa.univ-littoral.fr`
- Released under the LaTeX Project Public License v1.3c or later. See
http://www.latex-project.org/lppl.txt
@@ -55,19 +55,12 @@ Typesetting the documentation of the class requires:
with `yathesis-demo` package load at first place. If `latexmk` is available,
it is easier to run:
- latexmk -g -pdf -jobname=these -pdflatex="pdflatex %O '\RequirePackage{etoolbox}\AtEndPreamble{\RequirePackage{yathesis-demo}}\input{%S}'" these.tex
+ latexmk -g -norc -r ./latexmkrc -jobname=these -pdflatex="pdflatex %O '\RequirePackage{etoolbox}\AtEndPreamble{\RequirePackage{yathesis-demo}}\input{%S}'" these.tex
- to compile `yathesis.tex` to be found in the
`.../yathesis/doc/latex/yathesis/documentation/french` directory as follows:
- pdflatex yathesis-fr.tex
- biber yathesis-fr.tex
- makeglossaries yathesis-fr
- texindy -L french -M denisbdoc-chng.xdy yathesis-fr-changes.idx
- texindy -M denisbdoc.xdy -L french commands.idx
- texindy -M denisbdoc.xdy -L french yathesis-fr.idx
- pdflatex yathesis-fr.tex
- pdflatex yathesis-fr.tex
+ latexmk -norc -r ./latexmkrc yathesis-fr
%</readme>
%<*internal>
\fi
@@ -80,7 +73,7 @@ Typesetting the documentation of the class requires:
\input docstrip.tex
\Msg{********************************************************}
\Msg{* Installation}
-\Msg{* Class: yathesis 2016-10-30 v0.99o}
+\Msg{* Class: yathesis 2016-12-08 v0.99p}
\Msg{* that helps to write thesis following French rules (DB)}
\Msg{********************************************************}
\keepsilent
@@ -135,7 +128,7 @@ This work consists of the file yathesis.dtx
\def\YAD@treesample{\YAD@examples/\YAD@sample/en-arborescence}
%</install>
%<*install>
-\usedir{/}
+\usedir{doc/latex/\YAD@classname/}
\generate{
\nopreamble\nopostamble
\file{README.md}{\from{\jobname.dtx}{readme}}
@@ -144,6 +137,7 @@ This work consists of the file yathesis.dtx
\generate{%
\file{\YAD@classname.cls}{\from{\jobname.dtx}{class}}
\file{\YAD@classname-demo.sty}{\from{\jobname.dtx}{demopkg}}
+ \file{\YAD@classname-translations.tex}{\from{\jobname.dtx}{translations}}
}%
%</install>
%<install>\endbatchfile
@@ -153,12 +147,6 @@ This work consists of the file yathesis.dtx
\file{\YAD@classname.ins}{\from{\jobname.dtx}{install}}
\file{\YAD@classname.drv}{\from{\jobname.dtx}{driver}}%
}%
-\usedir{doc/latex/\YAD@classname/french/\YAD@documentation}
-\generate{
- \nopreamble\nopostamble
- % \file{latexmkrc}{\from{\jobname.dtx}{class-latexmkrc}}
- \file{translations.tex}{\from{\jobname.dtx}{translations}}
-}%
\usedir{doc/latex/\YAD@classname/french/\YAD@flattemplate}
\generate{
\nopreamble\nopostamble
@@ -277,14 +265,14 @@ This work consists of the file yathesis.dtx
\fi
%</internal>
% \fi
-% \def\YADnblastversion{0.99o}
+% \def\YADnblastversion{0.99p}
% \def\YADdatelastversion{\today}
% \def\fileversion{v\YADnblastversion}
% \def\filedate{\YADdatelastversion}
% \iffalse
%<*class>
-\def\fileversion{v0.99o}
-\def\filedate{2016/10/30}
+\def\fileversion{v0.99p}
+\def\filedate{2016/12/08}
%</class>
%<*driver>
\ProvidesFile{yathesis.dtx}
@@ -410,6 +398,14 @@ This work consists of the file yathesis.dtx
\RequirePackage{filehook}[2011/10/12]%
\RequirePackage{hopatch}[2012/05/28]%
% \end{macrocode}
+% Assignation "\let" pour macros à arguments optionnels améliorée
+% \begin{macrocode}
+\RequirePackage{letltxmacro}[2010/09/02]%
+% \end{macrocode}
+% Definitions with two optional arguments
+% \begin{macrocode}
+\RequirePackage{twoopt}[1999/04/12]%
+% \end{macrocode}
% Pour la gestion des tests conditionnels
% \begin{macrocode}
\RequirePackage{xifthen}[2009/04/17]%
@@ -454,6 +450,12 @@ This work consists of the file yathesis.dtx
\newbool{YAD@mainmatter@used}
\newbool{YAD@localtocs}%
\newbool{YAD@nextwithlocaltoc}%
+\newbool{YAD@nonnumbered@chapter}%
+\newbool{YAD@nonnumbered@section}%
+\newbool{YAD@nonnumbered@subsection}%
+\newbool{YAD@nonnumbered@subsubsection}%
+\newbool{YAD@nonnumbered@paragraph}%
+\newbool{YAD@nonnumbered@subparagraph}%
%
\newlength{\cmdKV@YAD@logoheight}
\newlength{\YAD@max@logoheight}
@@ -1066,7 +1068,7 @@ This work consists of the file yathesis.dtx
% \end{macrocode}
% Pour gérer les titres courants (entêtes) et bas de page
% \begin{macrocode}
-\RequirePackage{titleps}[2011/12/15]%
+\RequirePackage[nopatches]{titleps}[2011/12/15]%
% \end{macrocode}
% Pour supprimer le numéro de page sur la page de titre d'une partie
% \begin{macrocode}
@@ -1356,6 +1358,14 @@ This work consists of the file yathesis.dtx
% \end{macrocode}
% \end{macro}
%
+% On définit la macro privée où est stocké le nom du fichier contenant
+% les traductions de la classe.
+% \begin{macro}{\YAD@characteristics@file}
+% \begin{macrocode}
+\newcommand*{\YAD@translations@file}{yathesis-translations.tex}
+% \end{macrocode}
+% \end{macro}
+%
% \begin{macrocode}
%</class>
% \end{macrocode}
@@ -1412,7 +1422,7 @@ This work consists of the file yathesis.dtx
\YAD@href{\YAD@configuration@directory/#1}{#2}%
}{%
\YAD@href{\jobname.tex}{#2}%
- }
+ }%
}{%
#2%
}%
@@ -1508,7 +1518,7 @@ This work consists of the file yathesis.dtx
\YAD@reach@file[\YAD@configuration@file]{%
\translate{lbl-#1}%
}%
- \end{tabular}
+ \end{tabular}%
}%
}{%
\translate{lbl-#1}%
@@ -1557,7 +1567,7 @@ This work consists of the file yathesis.dtx
\end{enumerate}
Pour plus de d\'etails, consulter la documentation de la
classe \textsl{yathesis}.%
- \end{minipage}
+ \end{minipage}%
}%
\end{center}
}{%
@@ -2053,7 +2063,7 @@ This work consists of the file yathesis.dtx
\newcommand{\YAD@display@staff}[1]{%
\DTLforeach*{#1}{%
\YAD@committeemember@lastname=lastname,%
- \YAD@committeemember@fistname=firstname,%
+ \YAD@committeemember@firstname=firstname,%
\YAD@committeemember@role=role,%
\YAD@committeemember@corps=corps,%
\YAD@committeemember@sepcorpaffil=%
@@ -2095,10 +2105,10 @@ This work consists of the file yathesis.dtx
% Prénom
\YAD@reach@file{%
%
- \ifthenelse{\DTLiseq{\YAD@committeemember@fistname}{}}{%
+ \ifthenelse{\DTLiseq{\YAD@committeemember@firstname}{}}{%
\YAD@generic@argument@translate{firstname}%
}{%
- \YAD@committeemember@fistname%
+ \YAD@committeemember@firstname%
}%
% \end{macrocode}
% L'accolade suivante ne doit pas être suivie d'un "%" sans quoi il
@@ -2173,14 +2183,14 @@ This work consists of the file yathesis.dtx
\small%
\DTLifdbempty{YAD@staffs}{}{%
\ifthenelse{\DTLrowcount{YAD@supervisors}>1}{%
- \newcolumntype{u}{>{\itshape}lll}
+ \newcolumntype{u}{>{\itshape}lll}%
}{%
- \newcolumntype{u}{>{\itshape}l@{ }ll}
+ \newcolumntype{u}{>{\itshape}l@{ }ll}%
}%
\begin{tabular}[t]{u}
\DTLforeach*{YAD@supervisors}{%
\YAD@committeemember@lastname=lastname,%
- \YAD@committeemember@fistname=firstname,%
+ \YAD@committeemember@firstname=firstname,%
\YAD@committeemember@role=role%
}{%
% Nature des membres du jury
@@ -2198,10 +2208,10 @@ This work consists of the file yathesis.dtx
% Prénom
\YAD@reach@file{%
%
- \ifthenelse{\DTLiseq{\YAD@committeemember@fistname}{}}{%
+ \ifthenelse{\DTLiseq{\YAD@committeemember@firstname}{}}{%
\YAD@generic@argument@translate{firstname}%
}{%
- \YAD@committeemember@fistname%
+ \YAD@committeemember@firstname%
}%
}
% Nom
@@ -2237,7 +2247,7 @@ This work consists of the file yathesis.dtx
\\
}%
}%
- \end{tabular}
+ \end{tabular}%
}{%
}%
}%
@@ -2253,7 +2263,7 @@ This work consists of the file yathesis.dtx
%
\YAD@display@staff{\YAD@the@staff}%
}%
- \end{tabular}
+ \end{tabular}%
}%
% \end{macrocode}
%
@@ -2734,7 +2744,7 @@ This work consists of the file yathesis.dtx
% \YAD@firstname@author{} \bsc{\YAD@lastname@author}%
% }{%
\ifthenelse{\isempty{#1}}{%
- \YAD@firstname@author{} \bsc{\YAD@lastname@author}
+ \YAD@firstname@author{} \bsc{\YAD@lastname@author}%
}{%
\YAD@href{mailto:\YAD@email@author}{\YAD@firstname@author{} \bsc{\YAD@lastname@author}}%
}%
@@ -3015,8 +3025,8 @@ This work consists of the file yathesis.dtx
\YAD@globalstyle
\YAD@computenumwidths\relax%
\etoctableofcontents%
- \etocsetnexttocdepth{\YAD@tocdepth}
- \let\cmdKV@YAD@depth\YAD@tocdepth
+ \etocsetnexttocdepth{\YAD@tocdepth}%
+ \let\cmdKV@YAD@depth\YAD@tocdepth%
\let\cmdKV@YAD@name\contentsname%
\YAD@localstyle % pour les local TOCs qui suivent
}%
@@ -3040,8 +3050,8 @@ This work consists of the file yathesis.dtx
\YAD@computenumwidths\relax% note: a effet global
\etocsetnexttocdepth{\cmdKV@YAD@depth}% on doit le répéter, car c'est un truc à un coup seulement
\etoctableofcontents%
- \etocsettocdepth{\YAD@tocdepth}
- \let\cmdKV@YAD@depth\YAD@tocdepth
+ \etocsettocdepth{\YAD@tocdepth}%
+ \let\cmdKV@YAD@depth\YAD@tocdepth%
\let\cmdKV@YAD@name\contentsname%
\YAD@localstyle % pour les local TOCs qui suivent
}%
@@ -3120,10 +3130,10 @@ This work consists of the file yathesis.dtx
% Globalement dans le document, la table des matières et la
% numérotation des paragraphes vont jusqu'aux sous-sections
% \begin{macrocode}
- \etocsettocdepth{\YAD@tocdepth}
+ \etocsettocdepth{\YAD@tocdepth}%
\AtBeginDocument{%
% \yadsetup{#1}%
- \YAD@setsecnumdepth{\YAD@secnumdepth}
+ \YAD@setsecnumdepth{\YAD@secnumdepth}%
}
% \renewcommand{\setcounter}[2]{}%
%
@@ -3400,6 +3410,7 @@ This work consists of the file yathesis.dtx
\MakeUppercase\appendixname{} \thechapter.\
}{%
}
+ \chaptertitle%
}{%
\YAD@section@header%
}%
@@ -3726,9 +3737,9 @@ This work consists of the file yathesis.dtx
\end{minipage}%
\ifthenelse{\equal{\cmdKV@YAD@frametitle}{none}}{%
}{%
- \end{tcolorbox}
+ \end{tcolorbox}%
}%
- \end{lrbox}
+ \end{lrbox}%
\settototalheight{\YAD@titleboxheight}{\YAD@titlebox}%
\setlength{\YAD@otherboxheight}{0.3\paperheight-\YAD@titleboxheight}%
% \end{macrocode}
@@ -3959,7 +3970,7 @@ This work consists of the file yathesis.dtx
}%
\ifdraft{}{\vspace*{\stretch{.1}}}%
% \vspace*{\stretch{.1}}%
- \end{minipage}
+ \end{minipage}%
\ifthenelse{\equal{\cmdKV@YAD@frametitle}{none}}{%
}{%
% \ifdraft{}{\vspace*{\stretch{2}}}%
@@ -4294,7 +4305,7 @@ This work consists of the file yathesis.dtx
\YAD@reach@file{\YAD@generic@argument@translate{laboratory}}%
\\[.1cm]
\YAD@reach@file{\YAD@generic@argument@translate{laboratoryaddress}}%
- \end{minipage}
+ \end{minipage}%
}{%
}%
\DTLforeach*{laboratories}{%
@@ -4380,7 +4391,7 @@ This work consists of the file yathesis.dtx
}%
}%
\end{tabular}%
- \end{minipage}
+ \end{minipage}%
\ifthenelse{\DTLiseq{\YAD@laboratory@logo}{}}{%
}{%
\hspace{\stretch{1}}%
@@ -4616,7 +4627,7 @@ This work consists of the file yathesis.dtx
\\%
}{%
\newline%
- }
+ }%
\printlaboratoryaddress{\YAD@laboratory@address}%
\ifthenelse{\value{DTLrowi}=\cmdKV@YAD@numlaboratories}{\dtlbreak}{}%
}%
@@ -4843,7 +4854,7 @@ This work consists of the file yathesis.dtx
\setlength\epigraphrule{0pt}%
\begin{epigraphs}
\qitem{\YAD@generic@argument@translate{epigraphs}}{}%
- \end{epigraphs}
+ \end{epigraphs}%
\YAD@ClassError{%
\protect\makefrontepigraphs\space utilisee/\protect\frontepigraph\space
non utilisee%
@@ -5027,6 +5038,7 @@ This work consists of the file yathesis.dtx
% \end{macrocode}
% style pour les local TOCs
% \begin{macrocode}
+\let\YAD@addcontentsline\addcontentsline
\newcommand\YAD@localstyle {%
\etocsettocstyle {%
\if@twocolumn
@@ -5038,11 +5050,20 @@ This work consists of the file yathesis.dtx
\setbox\YAD@leaderbox\hbox to \YAD@leaderboxwidth{\hss.\hss}%
\parindent\z@
\dimen@ 2.25em % soon to be \leftskip
+% \end{macrocode}
+% We don't want the "section" containing the localtoc to be itself in (global
+% or local) TOCs. For this, it is enough to \enquote{relax} "\addcontentsline".
+% \begin{macrocode}
+ \renewcommand\addcontentsline[3]{}%
\section *{\kern\dimen@ % \dimen@ works here by sheer luck
% \contentsname%
% \@mkboth{\MakeUppercase\contentsname}{\MakeUppercase\contentsname}%
\large\textbf{\translate{lbl-localtocname}}%
}%
+% \end{macrocode}
+% We restore the original behavior of "\addcontentsline".
+% \begin{macrocode}
+ \let\addcontentsline\YAD@addcontentsline
\parskip \z@skip \vspace{-1.25\baselineskip}% somewhat ad hoc
\leftskip 2.25em \rightskip 4.5em \advance\rightskip-\YAD@rightmargin\relax
\leavevmode\leaders\hrule\@height\p@\hfill\kern\z@\par
@@ -5187,7 +5208,7 @@ This work consists of the file yathesis.dtx
\boolfalse{YAD@nextwithlocaltoc}%
% \boolfalse{YAD@localtocs@classoption}%
}{%
- }
+ }%
}{%
}%
}{}{}%
@@ -5199,20 +5220,31 @@ This work consists of the file yathesis.dtx
% \item les (sous-(sous-))sections n'aient pas besoin d'être étoilées à leur
% tour pour être non numérotées ;
% \item il ne soit pas nécessaire de faire appel aux commandes cryptiques
-% "\addcontentsline{toc}{...}{...}" ;
+% "\addcontentsline{toc}{...}{...}" pour que ce qui est non numéroté figure
+% dans la (les) table(s) des matières ;
% \item les titres courants soient corrects (par défaut, les titres courants
% des chapitres et sections non numérotés sont ceux des chapitre et section
-% numérotés les précédant).
+% numérotés les précédant) ;
+% \item elle dispose d'un argument optionnel supplémentaire permettant de
+% spécifier un titre courant différent des titres du texte et de la (des)
+% tables des matières.
% \end{itemize}
% \begin{macrocode}
-\let\YAD@ORI@chapter\chapter%
+% \let\YAD@ORI@chapter\chapter%
+\LetLtxMacro{\YAD@ORI@chapter}{\chapter}%
\AfterPreamble{% delay the redefinition when titlesec has done its own
- \renewcommand\chapter
- {%
+ \renewcommand\chapter{%
+ \boolfalse{YAD@nonnumbered@chapter}%
+ \boolfalse{YAD@nonnumbered@section}%
+ \boolfalse{YAD@nonnumbered@subsection}%
+ \boolfalse{YAD@nonnumbered@subsubsection}%
+ \boolfalse{YAD@nonnumbered@paragraph}%
+ \boolfalse{YAD@nonnumbered@subparagraph}%
+ %
\ifbool{YAD@localbibs}{%
\let\YAD@ORI@blx@warn@bibempty\blx@warn@bibempty%
\def\blx@warn@bibempty{}%
- \YAD@printbibliography@ORI[segment=\therefsegment,heading=YAD@localbibs@heading]%
+ \YAD@printbibliography@ORI[segment=\therefsegment,heading=YAD@localbibs@heading]%
\let\blx@warn@bibempty\YAD@ORI@blx@warn@bibempty%
}{%
}
@@ -5224,9 +5256,32 @@ This work consists of the file yathesis.dtx
}%
\@ifstar{\YAD@starred@chapter}{\YAD@unstarred@chapter}%
}%
- \newcommand{\YAD@starred@chapter}{%
- \setcounter{secnumdepth}{-10}%
- \YAD@ORI@chapter%
+ \newcommandtwoopt{\YAD@tmp@chapter}[3][][]{%
+ \ifthenelse{\isempty{#1}}{%
+ \ifthenelse{\isempty{#2}}{%
+ \YAD@ORI@chapter{#3}%
+ }{%
+ \YAD@ORI@chapter{#3}%
+ \chaptermark{#2}%
+ }%
+ }{%
+ \ifthenelse{\isempty{#2}}{%
+ \YAD@ORI@chapter[#1]{#3}%
+ }{%
+ \YAD@ORI@chapter[#1]{#3}%
+ \chaptermark{#2}%
+ }%
+ }%
+ }%
+ \newcommandtwoopt{\YAD@starred@chapter}[3][][]{%
+ \booltrue{YAD@nonnumbered@chapter}%
+ \booltrue{YAD@nonnumbered@section}%
+ \booltrue{YAD@nonnumbered@subsection}%
+ \booltrue{YAD@nonnumbered@subsubsection}%
+ \booltrue{YAD@nonnumbered@paragraph}%
+ \booltrue{YAD@nonnumbered@subparagraph}%
+ \YAD@setsecnumdepth{none}%
+ \YAD@tmp@chapter[#1][#2]{#3}%
}%
% \end{macrocode}
% La numérotation des chapitres non étoilés au niveau initial
@@ -5234,11 +5289,11 @@ This work consists of the file yathesis.dtx
% ("\mainmatter"), sans quoi les (sous-)sections de la partie "\frontmatter"
% sont numérotées, alors que rien ne doit l'être dans cette partie.
% \begin{macrocode}
- \newcommand{\YAD@unstarred@chapter}{%
+ \newcommandtwoopt{\YAD@unstarred@chapter}[3][][]{%
\if@mainmatter%
\YAD@setsecnumdepth{\YAD@secnumdepth}
\fi%
- \YAD@ORI@chapter%
+ \YAD@tmp@chapter[#1][#2]{#3}%
}%
% \end{macrocode}
% On ne veut pas utiliser cette nouvelle définition de "\chapter*" pour
@@ -5257,6 +5312,188 @@ This work consists of the file yathesis.dtx
\xpretocmd{\printindex}{\renewcommand{\YAD@localtoc}{}}{}{}%
\xapptocmd{\printindex}{\renewcommand{\YAD@localtoc}{\YAD@default@localtoc}}{}{}%
% \end{macrocode}
+% On redéfinit la commande "\section" de sorte que, comme la commande
+% "\chapter", elle dispose d'un argument optionnel supplémentaire permettant de
+% spécifier un titre courant différent des titres du texte et de la (des)
+% tables des matières.
+% \end{itemize}
+% \begin{macrocode}
+\LetLtxMacro{\YAD@ORI@section}{\section}
+\renewcommand\section{%
+ % \boolfalse{YAD@nonnumbered@section}%
+ % \boolfalse{YAD@nonnumbered@subsection}%
+ % \boolfalse{YAD@nonnumbered@subsubsection}%
+ % \boolfalse{YAD@nonnumbered@paragraph}%
+ % \boolfalse{YAD@nonnumbered@subparagraph}%
+ \if@mainmatter%
+ \ifbool{YAD@nonnumbered@chapter}{%
+ }{%
+ \YAD@setsecnumdepth{\YAD@secnumdepth}%
+ }%
+ \fi%
+ \@ifstar{\YAD@starred@section}{\YAD@unstarred@section}%
+}
+\newcommandtwoopt*{\YAD@tmp@section}[3][][]{%
+ \ifthenelse{\isempty{#1}}{%
+ \ifthenelse{\isempty{#2}}{%
+ \YAD@ORI@section{#3}%
+ }{%
+ \let\YAD@ORI@sectionmark\sectionmark%
+ \renewcommand\sectionmark[1]{}%
+ \YAD@ORI@section{#3}%
+ \YAD@ORI@sectionmark{#2}%
+ \let\sectionmark\YAD@ORI@sectionmark%
+ }%
+ }{%
+ \ifthenelse{\isempty{#2}}{%
+ \YAD@ORI@section[#1]{#3}%
+ }{%
+ \let\YAD@ORI@sectionmark\sectionmark%
+ \renewcommand\sectionmark[1]{}%
+ \YAD@ORI@section[#1]{#3}%
+ \YAD@ORI@sectionmark{#2}%
+ \let\sectionmark\YAD@ORI@sectionmark%
+ }%
+ }%
+}%
+\newcommandtwoopt{\YAD@starred@section}[3][][]{%
+ \booltrue{YAD@nonnumbered@section}%
+ \booltrue{YAD@nonnumbered@subsection}%
+ \booltrue{YAD@nonnumbered@subsubsection}%
+ \booltrue{YAD@nonnumbered@paragraph}%
+ \booltrue{YAD@nonnumbered@subparagraph}%
+ \YAD@setsecnumdepth{none}%
+ \YAD@tmp@section[#1][#2]{#3}%
+}%
+\newcommandtwoopt{\YAD@unstarred@section}[3][][]{%
+ \YAD@tmp@section[#1][#2]{#3}%
+}%
+% \end{macrocode}
+% On redéfinit la commande "\subsection" de sorte que sa version étoilée dispose
+% des mêmes facilités que les versions étoilées des commandes "\chapter" et
+% "\section".
+% \end{itemize}
+% \begin{macrocode}
+\LetLtxMacro{\YAD@ORI@subsection}{\subsection}
+\renewcommand\subsection{%
+ % \boolfalse{YAD@nonnumbered@subsection}%
+ % \boolfalse{YAD@nonnumbered@subsubsection}%
+ % \boolfalse{YAD@nonnumbered@paragraph}%
+ % \boolfalse{YAD@nonnumbered@subparagraph}%
+ \if@mainmatter%
+ \ifbool{YAD@nonnumbered@section}{%
+ }{%
+ \YAD@setsecnumdepth{\YAD@secnumdepth}%
+ }%
+ \fi%
+ \@ifstar{\YAD@starred@subsection}{\YAD@unstarred@subsection}%
+}
+\newcommand*{\YAD@tmp@subsection}[2][]{%
+ \ifthenelse{\isempty{#1}}{%
+ \YAD@ORI@subsection{#2}%
+ }{%
+ \YAD@ORI@subsection[#1]{#2}%
+ }%
+}%
+\newcommand{\YAD@starred@subsection}[2][]{%
+ \booltrue{YAD@nonnumbered@subsection}%
+ \booltrue{YAD@nonnumbered@subsubsection}%
+ \booltrue{YAD@nonnumbered@paragraph}%
+ \booltrue{YAD@nonnumbered@subparagraph}%
+ \YAD@setsecnumdepth{none}%
+ \YAD@tmp@subsection[#1]{#2}%
+}%
+\newcommand{\YAD@unstarred@subsection}[2][]{%
+ \YAD@tmp@subsection[#1]{#2}%
+}%
+%
+\LetLtxMacro{\YAD@ORI@subsubsection}{\subsubsection}
+\renewcommand\subsubsection{%
+ % \boolfalse{YAD@nonnumbered@subsubsection}%
+ % \boolfalse{YAD@nonnumbered@paragraph}%
+ % \boolfalse{YAD@nonnumbered@subparagraph}%
+ \if@mainmatter%
+ \ifbool{YAD@nonnumbered@subsection}{%
+ }{%
+ \YAD@setsecnumdepth{\YAD@secnumdepth}%
+ }%
+ \fi%
+ \@ifstar{\YAD@starred@subsubsection}{\YAD@unstarred@subsubsection}%
+}
+\newcommand*{\YAD@tmp@subsubsection}[2][]{%
+ \ifthenelse{\isempty{#1}}{%
+ \YAD@ORI@subsubsection{#2}%
+ }{%
+ \YAD@ORI@subsubsection[#1]{#2}%
+ }%
+}%
+\newcommand{\YAD@starred@subsubsection}[2][]{%
+ \booltrue{YAD@nonnumbered@subsubsection}%
+ \booltrue{YAD@nonnumbered@paragraph}%
+ \booltrue{YAD@nonnumbered@subparagraph}%
+ \YAD@setsecnumdepth{none}%
+ \YAD@tmp@subsubsection[#1]{#2}%
+}%
+\newcommand{\YAD@unstarred@subsubsection}[2][]{%
+ \YAD@tmp@subsubsection[#1]{#2}%
+}%
+%
+\LetLtxMacro{\YAD@ORI@paragraph}{\paragraph}
+\renewcommand\paragraph{%
+ % \boolfalse{YAD@nonnumbered@paragraph}%
+ % \boolfalse{YAD@nonnumbered@subparagraph}%
+ \if@mainmatter%
+ \ifbool{YAD@nonnumbered@subsubsection}{%
+ }{%
+ \YAD@setsecnumdepth{\YAD@secnumdepth}%
+ }%
+ \fi%
+ \@ifstar{\YAD@starred@paragraph}{\YAD@unstarred@paragraph}%
+}
+\newcommand*{\YAD@tmp@paragraph}[2][]{%
+ \ifthenelse{\isempty{#1}}{%
+ \YAD@ORI@paragraph{#2}%
+ }{%
+ \YAD@ORI@paragraph[#1]{#2}%
+ }%
+}%
+\newcommand{\YAD@starred@paragraph}[2][]{%
+ \booltrue{YAD@nonnumbered@paragraph}%
+ \booltrue{YAD@nonnumbered@subparagraph}%
+ \YAD@setsecnumdepth{none}%
+ \YAD@tmp@paragraph[#1]{#2}%
+}%
+\newcommand{\YAD@unstarred@paragraph}[2][]{%
+ \YAD@tmp@paragraph[#1]{#2}%
+}%
+%
+\LetLtxMacro{\YAD@ORI@subparagraph}{\subparagraph}
+\renewcommand\subparagraph{%
+ % \boolfalse{YAD@nonnumbered@subparagraph}%
+ \if@mainmatter%
+ \ifbool{YAD@nonnumbered@paragraph}{%
+ }{%
+ \YAD@setsecnumdepth{\YAD@secnumdepth}%
+ }%
+ \fi%
+ \@ifstar{\YAD@starred@subparagraph}{\YAD@unstarred@subparagraph}%
+}
+\newcommand*{\YAD@tmp@subparagraph}[2][]{%
+ \ifthenelse{\isempty{#1}}{%
+ \YAD@ORI@subparagraph{#2}%
+ }{%
+ \YAD@ORI@subparagraph[#1]{#2}%
+ }%
+}%
+\newcommand{\YAD@starred@subparagraph}[2][]{%
+ \booltrue{YAD@nonnumbered@subparagraph}%
+ \YAD@setsecnumdepth{none}%
+ \YAD@tmp@subparagraph[#1]{#2}%
+}%
+\newcommand{\YAD@unstarred@subparagraph}[2][]{%
+ \YAD@tmp@subparagraph[#1]{#2}%
+}%
+% \end{macrocode}
% Si le \Package{floatrow} est chargé, on doit aussi ne pas utiliser cette
% nouvelle définition de "\chapter*" pour les listes de flottants personnalisés
% qui peuvent être créées.
@@ -5638,11 +5875,10 @@ This work consists of the file yathesis.dtx
\AtEndPreamble{%
\@ifpackageloaded{biblatex}{%
\defbibheading{bibintoc}[\bibname]{\chapter*{#1}}%
- % \defbibheading{subbibintoc}[\bibname]{\section*{#1}}%
\defbibheading{YAD@localbibs@heading}[\translate{lbl-localbibname}]{%
- % \YAD@setsecnumdepth{none}%
+ \renewcommand\addcontentsline[3]{}%
\section*{#1}%
- % \YAD@setsecnumdepth{\YAD@secnumdepth}%
+ \let\addcontentsline\YAD@addcontentsline
}%
% \end{macrocode}
%
@@ -5951,12 +6187,25 @@ This work consists of the file yathesis.dtx
\expression{meta-ordernumber}{num\'ero d'ordre}{order number}%
% \end{macrocode}
%
+% The following translations are gathered in the
+% \file{yathesis-translations.tex} file that has to be input in the class.
+% \begin{macrocode}
+\InputIfFileExists{\YAD@translations@file}{}{%
+ \ClassError{%
+ Fichier \`YAD@translations@file' non trouve%
+ }{%
+ Le fichier \`YAD@translations@file' n'a pas ete trouve.\MessageBreak%
+ Veuillez verifier votre installation de la classe `yathesis'.%
+ }%
+}
+% \end{macrocode}
+%
% \begin{macrocode}
%</class>
% \end{macrocode}
%
% \begin{macrocode}
-%<*class|translations>
+%<*translations>
% \end{macrocode}
% Traduction des expressions clés de la thèse.
% \begin{macrocode}
@@ -6025,31 +6274,29 @@ This work consists of the file yathesis.dtx
\expression{referees}{Rapporteur}{Referee}%
\expression{referees-pl}{Rapporteurs}{Referees}%
\expression{website}{Site}{Web Site}%
-\expression{localtocname}{Sommaire du pr\'esent chapitre}{Outline of the current chapter}%
+\expression{localtocname}{Sommaire du pr\'esent chapitre}{Outline of the current
+ chapter}%
\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}{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{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}%
-%<!translations>\expression{versiondate}{Version interm\'ediaire en date
-%<!translations>du}{Work in progress as of}%
-%<translations>\expression{inprogressfoottext}{Version interm\'ediaire en
-%<translations>date du}{Work in progress as of}%
-%<class>\expression{inprogressfoottext}{\translate{lbl-versiondate}}{\translate{lbl-versiondate}}%
-\expression{submittedfoottext}{Version soumise en date du}{Submitted work
- as of}%
+\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}%
% \end{macrocode}
%
% \begin{macrocode}
-%</class|translations>
+%</translations>
% \end{macrocode}
%
% \chapter{Fichier de complétion}
@@ -6061,7 +6308,7 @@ This work consists of the file yathesis.dtx
%
% \begin{macrocode}
# mode: yathesis.cls
-# denisbitouze, 30.10.2016
+# denisbitouze, 2016-12-01
#
#include:class-book
#include:latex-document
@@ -6161,34 +6408,35 @@ datetime
\author[%<email%>]{%<prénom%>}{%<nom%>}#n
#
# Title, etc.
-\title[%<titre dans la langue secondaire%>]{%<titre dans la langue principale%>}#n
-\subtitle[%<sous-titre dans la langue secondaire%>]{%<sous-titre dans la langue principale%>}#n
-\academicfield[%<discipline dans la langue secondaire%>]{%<discipline dans la langue principale%>}#n
-\speciality[%<spécialité dans la langue secondaire%>]{%<spécialité dans la langue principale%>}#n
-\subject[%<sujet dans la langue secondaire%>]{%<sujet dans la langue principale%>}#n
+\title[titre dans la langue secondaire%text]{titre dans la langue principale%text}#n
+\subtitle[sous-titre dans la langue secondaire%text]{sous-titre dans la langue principale%text}#n
+\academicfield[discipline dans la langue secondaire%text]{discipline dans la langue principale%text}#n
+\speciality[spécialité dans la langue secondaire%text]{spécialité dans la langue principale%text}#n
+\subject[sujet dans la langue secondaire%text]{sujet dans la langue principale%text}#n
#
-\title{%<titre%>}#n
-\subtitle{%<sous-titre%>}#n
-\academicfield{%<discipline%>}#n
-\speciality{%<spécialité%>}#n
-\subject{%<sujet%>}#n
+\title{titre%text}#n
+\subtitle{sous-titre%text}#n
+\academicfield{discipline%text}#n
+\speciality{spécialité%text}#n
+\subject{sujet%text}#n
\date{%<jour%>}{%<mois%>}{%<année%>}#n
+\submissiondate{%<jour%>}{%<mois%>}{%<année%>}#n
#
# Institute and entities
\pres{%<nom du PRES%>}#n
\comue{%<nom de la ComUE%>}#n
-\institute{%<nom de l'institut%>}#n
-\coinstitute{%<nom de l'institut de cotutelle%>}#n
+\institute{nom de l'institut%text}#n
+\coinstitute{nom de l'institut de cotutelle%text}#n
\company{%<nom de l'entreprise%>}#n
-\doctoralschool{%<nom de l'école doctorale%>}#n
-\laboratory{%<nom du laboratoire%>}{adresse du laboratoire%>}#n
+\doctoralschool{nom de l'école doctorale%text}#n
+\laboratory{%<nom du laboratoire%>}{%<adresse du laboratoire%>}#n
#
\pres[%<précision(s)%>]{%<nom du PRES%>}#n
\comue[%<précision(s)%>]{%<nom de la ComUE%>}#n
-\institute[%<précision(s)%>]{%<nom de l'institut%>}#n
-\coinstitute[%<précision(s)%>]{%<nom de l'institut de cotutelle%>}#n
+\institute[%<précision(s)%>]{nom de l'institut%text}#n
+\coinstitute[%<précision(s)%>]{nom de l'institut de cotutelle%text}#n
\company[%<précision(s)%>]{%<nom de l'entreprise%>}#n
-\doctoralschool[%<précision(s)%>]{%<nom de l'école doctorale%>}#n
+\doctoralschool[%<précision(s)%>]{nom de l'école doctorale%text}#n
\laboratory[%<précision(s)%>]{%<nom du laboratoire%>}{%<adresse du laboratoire%>}#n
#
#keyvals:\pres
@@ -6329,23 +6577,22 @@ juniorresearcher*
# Misc
\ordernumber[%<numéro d'ordre%>]#n
\ordernumber#n*
-\submissiondate{%<jour%>}{%<mois%>}{%<année%>}#n
#
-# Preliminary pages
+# Preliminary part
#
-\disclaimer{%<clause%>}#n
+\disclaimer{clause%text}#n
\makedisclaimer#n
\makedisclaimer*#n
-\keywords{%<mots clés dans la langue principale%>}{%<mots clés dans la langue secondaire%>}#n
+\keywords{mots clés dans la langue principale%text}{mots clés dans la langue secondaire%text}#n
\makekeywords#n
\makekeywords*#n
\makelaboratory#n
\makelaboratory*#n
-\dedication{%<dédicace%>}#n
+\dedication{dédicace%text}#n
\makededications#n
\makededications*#n
-\frontepigraph{%<épigraphe%>}{%<auteur%>}
-\frontepigraph[%<langue%>]{%<épigraphe%>}{%<auteur%>}
+\frontepigraph{épigraphe%text}{%<auteur%>}
+\frontepigraph[%<langue%>]{épigraphe%text}{%<auteur%>}
#keyvals:\frontepigraph
afrikaans
bahasa
@@ -6393,11 +6640,11 @@ welsh
\makefrontepigraphs#n
\makefrontepigraphs*#n
\begin{abstract}#n
-\begin{abstract}[%<intitulé alternatif%>]#n*
+\begin{abstract}[intitulé alternatif%text]#n*
\end{abstract}#n
\makeabstract#n
-\newglssymbol{%<label%>}{%<symbole%>}{%<nom%>}{%<description%>}#n
-\newglssymbol[%<classement%>]{%<label%>}{%<symbole%>}{%<nom%>}{%<description%>}#n
+\newglssymbol{%<label%>}{%<symbole%>}{%<nom%>}{description%text}#n
+\newglssymbol[%<classement%>]{%<label%>}{%<symbole%>}{%<nom%>}{description%text}#n
\tableofcontents#n*
\tableofcontents[%<précision(s)%>]#n*
#
@@ -6406,17 +6653,51 @@ depth=#part,chapter,section,subsection,subsubsection,paragraph,subparagraph
name=
#endkeyvals
#
-# Main pages
+# Main part
#
-# Appendix pages
+\chapter{titre%title}#L1
+\chapter*{titre%title}#L1
+\chapter[titre alt. pour TdM et entête%short title]{titre%title}#L1
+\chapter*[titre alt. pour TdM et entête%short title]{titre%title}#L1
+\chapter[titre alt. pour TdM%short title][titre alt. pour entête%short title]{titre%title}#L1
+\chapter*[titre alt. pour TdM%short title][titre alt. pour entête%short title]{titre%title}#L1
+\section{titre%title}#L2
+\section*{titre%title}#L2
+\section[titre alt. pour TdM et entête%short title]{titre%title}#L2
+\section*[titre alt. pour TdM et entête%short title]{titre%title}#L2
+\section[titre alt. pour TdM%short title][titre alt. pour entête%short title]{titre%title}#L2
+\section*[titre alt. pour TdM%short title][titre alt. pour entête%short title]{titre%title}#L2
+\subsection{titre%title}#L3
+\subsection*{titre%title}#L3
+\subsection[titre alt. pour TdM et entête%short title]{titre%title}#L3
+\subsection*[titre alt. pour TdM et entête%short title]{titre%title}#L3
+\subsubsection{titre%title}#L4
+\subsubsection*{titre%title}#L4
+\subsubsection[titre alt. pour TdM et entête%short title]{titre%title}#L4
+\subsubsection*[titre alt. pour TdM et entête%short title]{titre%title}#L4
+\paragraph{titre%title}#L5
+\paragraph*{titre%title}#L5
+\paragraph[titre alt. pour TdM et entête%short title]{titre%title}#L5
+\paragraph*[titre alt. pour TdM et entête%short title]{titre%title}#L5
+\subparagraph{titre%title}#L6
+\subparagraph[titre alt. pour TdM et entête%short title]{titre%title}#L6
#
-# Back matter pages
+# Appendix part
+#
+# Back matter part
#
\makebackcover
#
+# All parts
+#
+\startlocaltocs
+\stoplocaltocs
+\nextwithlocaltoc
+\nextwithoutlocaltoc
+#
# Customization
#
-\expression{%<label%>}{%<valeur (en français)%>}{%<valeur (en anglais)%>}#n*
+\expression{%<label%>}{valeur (en français)%text}{valeur (en anglais)%text}#n*
% \end{macrocode}
%
% \begin{macrocode}