summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/yathesis
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2016-10-30 23:24:44 +0000
committerKarl Berry <karl@freefriends.org>2016-10-30 23:24:44 +0000
commitcee03f86bc1e1bba870c662fda9a558feef0a522 (patch)
tree9dbf5be871f92a0a4b1ca18d3527af4de6eee78d /Master/texmf-dist/tex/latex/yathesis
parentff92b49544c8c965204c0ed92da48b35d350e2e5 (diff)
yathesis (30oct16)
git-svn-id: svn://tug.org/texlive/trunk@42393 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/yathesis')
-rw-r--r--Master/texmf-dist/tex/latex/yathesis/yathesis-demo.sty30
-rw-r--r--Master/texmf-dist/tex/latex/yathesis/yathesis.cls681
2 files changed, 529 insertions, 182 deletions
diff --git a/Master/texmf-dist/tex/latex/yathesis/yathesis-demo.sty b/Master/texmf-dist/tex/latex/yathesis/yathesis-demo.sty
index d0a056e141b..b85a0747879 100644
--- a/Master/texmf-dist/tex/latex/yathesis/yathesis-demo.sty
+++ b/Master/texmf-dist/tex/latex/yathesis/yathesis-demo.sty
@@ -17,21 +17,19 @@
\RequirePackage{letltxmacro}
\RequirePackage{xifthen}
\RequirePackage[user,abspage]{zref}
-\AtEndPreamble{%
- \xpretocmd{\tableofcontents@YAD@with@argument}{\cleardoublepage\zlabel{tableofcontents-withargument}}{}{}
- \xpretocmd{\tableofcontents@YAD@without@argument}{\cleardoublepage\zlabel{tableofcontents-withoutargument}}{}{}
-}
-\AfterEndPreamble{%
- \xpretocmd{\maketitle}{\zlabel{fr-title}}{}{}%
- \xpretocmd{\makedisclaimer}{\cleardoublepage\zlabel{disclaimer}}{}{}
- \xpretocmd{\makekeywords}{\cleardoublepage\zlabel{keywords}}{}{}
- \xpretocmd{\makelaboratory}{\cleardoublepage\zlabel{laboratory}}{}{}
- \xpretocmd{\makededications}{\cleardoublepage\zlabel{dedications}}{}{}
- \xpretocmd{\makefrontepigraphs}{\cleardoublepage\zlabel{frontepigraphs}}{}{}
- \xpretocmd{\acknowledgements}{\cleardoublepage\zlabel{acknowledgements}}{}{}
- \xpretocmd{\caution}{\cleardoublepage\zlabel{caution}}{}{}
- \xpretocmd{\makeabstract}{\cleardoublepage\zlabel{abstract}}{}{}
- \xpretocmd{\foreword}{\cleardoublepage\zlabel{foreword}}{}{}
+\AfterEndPreamble{
+ \pretocmd{\tableofcontents@YAD@without@argument}{\cleardoublepage\zlabel{tableofcontents-withoutargument}}{}{}
+ \pretocmd{\tableofcontents@YAD@with@argument}{\cleardoublepage\zlabel{tableofcontents-withargument}}{}{}
+ \pretocmd{\maketitle}{\zlabel{fr-title}}{}{}%
+ \pretocmd{\makedisclaimer}{\cleardoublepage\zlabel{disclaimer}}{}{}
+ \pretocmd{\makekeywords}{\cleardoublepage\zlabel{keywords}}{}{}
+ \pretocmd{\makelaboratory}{\cleardoublepage\zlabel{laboratory}}{}{}
+ \pretocmd{\makededications}{\cleardoublepage\zlabel{dedications}}{}{}
+ \pretocmd{\makefrontepigraphs}{\cleardoublepage\zlabel{frontepigraphs}}{}{}
+ \pretocmd{\acknowledgements}{\cleardoublepage\zlabel{acknowledgements}}{}{}
+ \pretocmd{\caution}{\cleardoublepage\zlabel{caution}}{}{}
+ \pretocmd{\makeabstract}{\cleardoublepage\zlabel{abstract}}{}{}
+ \pretocmd{\foreword}{\cleardoublepage\zlabel{foreword}}{}{}
\let\YAD@demo@chapter@ORI\chapter%
\RenewDocumentCommand\chapter{som}{%
\IfBooleanTF{#1}
@@ -88,7 +86,7 @@
%%
%% This work has the LPPL maintenance status `maintained'.
%%
-%% The Current Maintainer of this work is Denis Bitouz'e.
+%% The Current Maintainer of this work is Denis Bitouzé.
%%
%% This work consists of the file yathesis.dtx
%% and the derived files yathesis.cls,
diff --git a/Master/texmf-dist/tex/latex/yathesis/yathesis.cls b/Master/texmf-dist/tex/latex/yathesis/yathesis.cls
index 0710f2ac921..3ea917408c7 100644
--- a/Master/texmf-dist/tex/latex/yathesis/yathesis.cls
+++ b/Master/texmf-dist/tex/latex/yathesis/yathesis.cls
@@ -11,8 +11,8 @@
%% 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}
+\def\fileversion{v0.99o}
+\def\filedate{2016/10/30}
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
\ProvidesClass{yathesis}[\filedate\space\fileversion\space Yet another class for writing thesis (DB)]
\RequirePackage{pgfopts}[2011/06/02]%
@@ -58,6 +58,8 @@
\newbool{YAD@valid@month}
\newbool{YAD@valid@year}
\newbool{YAD@mainmatter@used}
+\newbool{YAD@localtocs}%
+\newbool{YAD@nextwithlocaltoc}%
\newlength{\cmdKV@YAD@logoheight}
\newlength{\YAD@max@logoheight}
\newlength{\YAD@default@logoheight}
@@ -200,12 +202,16 @@
\YAD@create@boolean{noprintbibliography}%
\YAD@create@boolean{nofrontcover}%
\YAD@create@boolean{hdr}%
+\YAD@create@boolean{localtocs@classoption}%
+\YAD@create@boolean{localbibs}%
\yadsetup{noerror=true}%
\booltrue{YAD@cover@page}%
\YAD@create@boolean{nologo}%
\YAD@create@boolean{professor}%
\YAD@create@boolean{mcf}%
\YAD@create@boolean{mcf*}%
+\YAD@create@boolean{associateprofessor}%
+\YAD@create@boolean{associateprofessor*}%
\YAD@create@boolean{juniorresearcher}%
\YAD@create@boolean{juniorresearcher*}%
\YAD@create@boolean{seniorresearcher}%
@@ -216,6 +222,8 @@
professor=false,%
mcf=false,%
mcf*=false,%
+ associateprofessor=false,%
+ associateprofessor*=false,%
juniorresearcher=false,%
juniorresearcher*=false,%
seniorresearcher=false,%
@@ -298,6 +306,82 @@
output/screen/.code={},%
output/.initial=screen%
}%
+\def\YAD@localtocsdepth{\YAD@tocdepth}%
+\yadsetup{%
+ localtocs/.is family,%
+ localtocs/.code={%
+ \booltrue{YAD@localtocs@classoption}%
+ },%
+ localtocs/depth/.code={%
+ \pgfkeysalso{localtocs}%
+ \ifboolexpr{%
+ test {\ifstrempty{#1}}
+ or %
+ test {\ifstrequal{#1}{part}}
+ or %
+ test {\ifstrequal{#1}{chapter}}
+ }{%
+ \def\YAD@localtocsdepth{\YAD@tocdepth}%
+ }{%
+ \def\YAD@localtocsdepth{#1}%
+ }%
+ \ifboolexpr{%
+ test {\@ifundefined {Etoc@\YAD@localtocsdepth @@}}
+ or %
+ test {\ifstrequal{#1}{part}}
+ or %
+ test {\ifstrequal{#1}{chapter}}
+ }{%
+ \YAD@ClassWarningNoLine{%
+ La valeur (`#1') passee a la cle\MessageBreak%
+ `localtocs/depth'\MessageBreak%
+ en option de classe n'est pas un des niveaux de\MessageBreak%
+ sectionnement acceptes :\MessageBreak%
+ `section', `subsection',`subsubsection',\MessageBreak%
+ `paragraph', `subparagraph'.\MessageBreak%
+ Le niveau `\YAD@tocdepth' va etre utilise a la place%
+ }%
+ }{%
+ }%
+ },%
+}%
+\newcommand\YAD@localbibs@common@code[1]{%
+ \booltrue{YAD@localbibs}%
+ \AtEndPreamble{%
+ \@ifpackageloaded{biblatex}{%
+ }{%
+ \@ifpackageloaded{csquotes}{%
+ }{%
+ \RequirePackage{csquotes}%
+ }%
+ \YAD@ClassWarningNoLine{%
+ L'ajout automatique des bibliographies locales en fin\MessageBreak%
+ de chapitres fourni par l'option de classe\MessageBreak%
+ `localbibs' repose sur le package `biblatex'\MessageBreak%
+ que vous n'avez pas charge.\MessageBreak%
+ La classe `yathesis' va le faire pour vous mais\MessageBreak%
+ le recours a ce package pour la bibliographie sera\MessageBreak%
+ alors necessaire et exclura tout autre outil\MessageBreak%
+ de production de la bibliographie\MessageBreak%
+ (notamment `BibTeX')%
+ }%
+ \RequirePackage{biblatex}%
+ }%
+ \ExecuteBibliographyOptions{%
+ refsegment=chapter,%
+ defernumbers=#1%
+ }%
+ \AfterEndPreamble{\newrefsegment}%
+ }%
+}
+\yadsetup{%
+ localbibs*/.code={%
+ \YAD@localbibs@common@code{true}%
+ },%
+ localbibs/.code={%
+ \YAD@localbibs@common@code{false}%
+ }%
+}
\def\YAD@interligne{single}%
\yadsetup{%
space/.is choice,%
@@ -374,15 +458,11 @@
\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@fncychapstyle}{none}}{%
}{%
@@ -404,7 +484,9 @@
}%
}%
\RequirePackage{babel}[2014/03/24]
+\RequirePackage{etoc}[2016/09/29]%
\RequirePackage{iflang}[2007/11/11]%
+\RequirePackage{translator}[2010/06/12]%
\RequirePackage{datetime}[2013/09/10]%
\AtEndPreamble{%
\@ifpackageloaded{hyperref}{%
@@ -717,6 +799,8 @@
professor=false,%
mcf=false,%
mcf*=false,%
+ associateprofessor=false,%
+ associateprofessor*=false,%
juniorresearcher=false,%
juniorresearcher*=false,%
seniorresearcher=false,%
@@ -754,12 +838,20 @@
}%
}{%
}%
- \ifboolexpr{ bool {YAD@mcf} }{%
- \yadsetup{corps=mcf,#1}%
+ \ifboolexpr{
+ bool {YAD@mcf}
+ or
+ bool {YAD@associateprofessor}
+ }{%
+ \yadsetup{corps=associateprofessor,#1}%
}{%
}%
- \ifboolexpr{ bool {YAD@mcf*} }{%
- \yadsetup{corps=mcf*,#1}%
+ \ifboolexpr{
+ bool {YAD@mcf*}
+ or
+ bool {YAD@associateprofessor*}
+ }{%
+ \yadsetup{corps=associateprofessor*,#1}%
}{%
}%
\ifboolexpr{ bool {YAD@juniorresearcher} }{%
@@ -1151,11 +1243,12 @@
\small%
\DTLifdbempty{YAD@staffs}{}{%
\ifthenelse{\DTLrowcount{YAD@supervisors}>1}{%
- \begin{tabular}[t]{>{\itshape}lll}
- }{%
- \begin{tabular}[t]{>{\itshape}l@{ }ll}
- }%
- \DTLforeach*{YAD@supervisors}{%
+ \newcolumntype{u}{>{\itshape}lll}
+ }{%
+ \newcolumntype{u}{>{\itshape}l@{ }ll}
+ }%
+ \begin{tabular}[t]{u}
+ \DTLforeach*{YAD@supervisors}{%
\YAD@committeemember@lastname=lastname,%
\YAD@committeemember@fistname=firstname,%
\YAD@committeemember@role=role%
@@ -1232,7 +1325,7 @@
\end{tabular}
}%
\DeclareRobustCommand*\YAD@meta{\YAD@generic@argument}%
- \newcommand*\YAD@logo{}%
+\newcommand*\YAD@logo{}%
\newcommand*{\YAD@create@macro}[2][]{%
\ifthenelse{\isempty{#1}}{%
\csdef{#2}##1{%
@@ -1514,6 +1607,7 @@
}%
}%
\YAD@create@macro[entite]{pres}
+\YAD@create@macro[entite]{comue}
\YAD@create@macro[entite]{institute}
\YAD@create@macro[entite]{coinstitute}
\YAD@create@macro[entite]{company}
@@ -1722,7 +1816,7 @@
and bool {YAD@valid@year}%
}{%
\csdef{printdate}{%
- \formatdate{\YAD@daydate}{\YAD@monthdate}{\YAD@yeardate}%
+ \formatdate{#1}{#2}{#3}%
}%
}{%
\csdef{printdate}{%
@@ -1738,7 +1832,7 @@
and bool {YAD@valid@year}%
}{%
\csdef{printsubmissiondate}{%
- \formatdate{\YAD@daydate}{\YAD@monthdate}{\YAD@yeardate}%
+ \formatdate{#1}{#2}{#3}%
}%
}{%
\csdef{printsubmissiondate}{%
@@ -1811,103 +1905,121 @@
}%
}%
\xpretocmd{\pagestyle}{\cleardoublepage}{}{}%
-\newcommand{\YAD@starttoctoc}{%
- \begingroup
- \if@filesw
- \expandafter\newwrite\csname tf@toc\endcsname
- \immediate\openout \csname tf@toc\endcsname \jobname.toc\relax
- \fi
- \@nobreakfalse
- \endgroup}
-\AtEndDocument{\YAD@starttoctoc}
-\let\YAD@ORI@setcounter\setcounter%
-\let\YAD@ORI@tableofcontents\tableofcontents%
-\newif\if@YAD@knownsect%
-\def\shorttableofcontents#1#2{\bgroup\c@tocdepth=#2\@restonecolfalse
- \if@tightshtoc
- \parsep\z@
- \fi
- \if@twocolumn\@restonecoltrue\onecolumn\fi
- \chapter*{#1}%
- \@startshorttoc{toc}\if@restonecol\twocolumn\fi\egroup}
-\renewcommand{\tableofcontents}{%
- \booltrue{YAD@tableofcontents@used}%
- \cleardoublepage%
- \YAD@phantomsection%
- \let\cmdKV@YAD@name\contentsname%
- \@ifnextchar[{\tableofcontents@YAD@with@argument}{\tableofcontents@YAD@without@argument}%]
-}%
-\newcommand\tableofcontents@YAD@without@argument{%
- \YAD@ORI@tableofcontents%
-}%
-\newcommand\tableofcontents@YAD@with@argument[1][]{%
- \yadsetup{#1}%
- \renewcommand{\setcounter}[2]{}%
- %
- \ifthenelse{\equal{\cmdKV@YAD@depth}{none}}{%
- \shorttableofcontents{\cmdKV@YAD@name}{-10}%
- \@YAD@knownsecttrue%
- }{%
- }%
- \ifthenelse{\equal{\cmdKV@YAD@depth}{part}}{%
- \shorttableofcontents{\cmdKV@YAD@name}{-1}%
- \@YAD@knownsecttrue%
- }{%
- }%
- \ifthenelse{\equal{\cmdKV@YAD@depth}{chapter}}{%
- \shorttableofcontents{\cmdKV@YAD@name}{0}%
- \@YAD@knownsecttrue%
- }{%
- }%
- \ifthenelse{\equal{\cmdKV@YAD@depth}{section}}{%
- \shorttableofcontents{\cmdKV@YAD@name}{1}%
- \@YAD@knownsecttrue%
- }{%
- }%
- \ifthenelse{\equal{\cmdKV@YAD@depth}{subsection}}{%
- \shorttableofcontents{\cmdKV@YAD@name}{2}%
- \@YAD@knownsecttrue%
- }{%
- }%
- \ifthenelse{\equal{\cmdKV@YAD@depth}{subsubsection}}{%
- \shorttableofcontents{\cmdKV@YAD@name}{3}%
- \@YAD@knownsecttrue%
- }{%
- }%
- \ifthenelse{\equal{\cmdKV@YAD@depth}{paragraph}}{%
- \shorttableofcontents{\cmdKV@YAD@name}{4}%
- \@YAD@knownsecttrue%
- }{%
- }%
- \ifthenelse{\equal{\cmdKV@YAD@depth}{subparagraph}}{%
- \shorttableofcontents{\cmdKV@YAD@name}{5}%
- \@YAD@knownsecttrue%
- }{%
- }%
- \ifthenelse{\equal{\cmdKV@YAD@depth}{all}}{%
- \shorttableofcontents{\cmdKV@YAD@name}{100}%
- \@YAD@knownsecttrue%
- }{%
- }%
- \if@YAD@knownsect%
- \else%
- \shorttableofcontents{\cmdKV@YAD@name}{3}%
- \YAD@ClassWarningNoLine{%
- La valeur (`\cmdKV@YAD@depth') passee a la cle `depth'\MessageBreak%
- en argument de la commande \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@ORI@setcounter%
- \resettocdepth*%
-}%
-\AtBeginDocument{\maxtocdepth{\YAD@tocdepth}}%
-\AtBeginDocument{\maxsecnumdepth{\YAD@secnumdepth}}%
+ \AfterEndPreamble{%
+ \let\YAD@ORI@tableofcontents\tableofcontents%
+ \let\YAD@ORI@localtableofcontents\localtableofcontents%
+ \renewcommand{\tableofcontents}{%
+ \pagestyle{preliminary}%
+ \booltrue{YAD@tableofcontents@used}%
+ \cleardoublepage%
+ \YAD@phantomsection%
+ % \renewcommand{\contentsname}{\cmdKV@YAD@name}
+ \@ifnextchar[{\tableofcontents@YAD@with@argument}{\tableofcontents@YAD@without@argument}%]
+ }%
+ \newcommand\tableofcontents@YAD@without@argument{%
+ \YAD@globalstyle
+ \YAD@computenumwidths\relax%
+ \etoctableofcontents%
+ \etocsetnexttocdepth{\YAD@tocdepth}
+ \let\cmdKV@YAD@depth\YAD@tocdepth
+ \let\cmdKV@YAD@name\contentsname%
+ \YAD@localstyle % pour les local TOCs qui suivent
+ }%
+ \newcommand\tableofcontents@YAD@with@argument[1][]{%
+ \yadsetup{#1}%
+ \@ifundefined {Etoc@\cmdKV@YAD@depth @@}
+ {%
+ \YAD@ClassWarningNoLine{%
+ La valeur (`\cmdKV@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 :\MessageBreak%
+ `part', `chapter', `section', `subsection',\MessageBreak%
+ `subsubsection', `paragraph', `subparagraph', `none' et `all'.\MessageBreak%
+ Le niveau `\YAD@tocdepth' va etre utilise a la place%
+ }%
+ \let\cmdKV@YAD@depth\YAD@tocdepth
+ }{%
+ }%
+ \YAD@globalstyle
+ \etocsetnexttocdepth{\cmdKV@YAD@depth}%
+ \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
+ \let\cmdKV@YAD@name\contentsname%
+ \YAD@localstyle % pour les local TOCs qui suivent
+ }%
+ }%
+ \newcommand{\YAD@setsecnumdepth}[1]{%
+ \newif\if@YAD@knownsect%
+ \ifthenelse{\equal{#1}{none}}{%
+ \setcounter{secnumdepth}{-10}%
+ \@YAD@knownsecttrue%
+ }{%
+ }%
+ \ifthenelse{\equal{#1}{part}}{%
+ \setcounter{secnumdepth}{-1}%
+ \@YAD@knownsecttrue%
+ }{%
+ }%
+ \ifthenelse{\equal{#1}{chapter}}{%
+ \setcounter{secnumdepth}{0}%
+ \@YAD@knownsecttrue%
+ }{%
+ }%
+ \ifthenelse{\equal{#1}{section}}{%
+ \setcounter{secnumdepth}{1}%
+ \@YAD@knownsecttrue%
+ }{%
+ }%
+ \ifthenelse{\equal{#1}{subsection}}{%
+ \setcounter{secnumdepth}{2}%
+ \@YAD@knownsecttrue%
+ }{%
+ }%
+ \ifthenelse{\equal{#1}{subsubsection}}{%
+ \setcounter{secnumdepth}{3}%
+ \@YAD@knownsecttrue%
+ }{%
+ }%
+ \ifthenelse{\equal{#1}{paragraph}}{%
+ \setcounter{secnumdepth}{4}%
+ \@YAD@knownsecttrue%
+ }{%
+ }%
+ \ifthenelse{\equal{#1}{subparagraph}}{%
+ \setcounter{secnumdepth}{5}%
+ \@YAD@knownsecttrue%
+ }{%
+ }%
+ \ifthenelse{\equal{#1}{all}}{%
+ \setcounter{secnumdepth}{100}%
+ \@YAD@knownsecttrue%
+ }{%
+ }%
+ \if@YAD@knownsect%
+ \else%
+ \setcounter{secnumdepth}{3}%
+ \YAD@ClassWarningNoLine{%
+ La valeur (`\YAD@secnumdepth') passee a la cle `secnumdepth'\MessageBreak%
+ en argument de la commande \string\documentclass\space n'est
+ pas\MessageBreak%
+ un des niveaux de sectionnement connus (`part', `chapter',\MessageBreak%
+ `section', `subsection', `subsubsection', `paragraph',\MessageBreak%
+ `subparagraph', `none' et `all').\MessageBreak%
+ Le niveau `subsection' va etre utilise\MessageBreak%
+ a la place%
+ }%
+ \fi%
+ }
+ \etocsettocdepth{\YAD@tocdepth}
+ \AtBeginDocument{%
+ % \yadsetup{#1}%
+ \YAD@setsecnumdepth{\YAD@secnumdepth}
+ }
+ % \renewcommand{\setcounter}[2]{}%
+ %
\newcommand*{\YAD@chapter@header}{%
\ifthenelse{%
\value{secnumdepth}>-1
@@ -1931,12 +2043,13 @@
\sectiontitle%
}%
\AtBeginDocument{%
- \setsecnumdepth{none}%
+ \setcounter{secnumdepth}{-10}%
\frontmatter%
+ \boolfalse{YAD@localtocs}%
}%
\newpagestyle{titles}[]{%
% \settocdepth{none}%
- \setsecnumdepth{none}%
+ \setcounter{secnumdepth}{-10}%
\ifdraft{%
\newgeometry{centering,nomarginpar,bottom=1cm,top=1cm,headheight=\YAD@max@logoheight,margin=0.5cm,tmargin=\YAD@max@logoheight+1cm}%
}{%
@@ -1951,6 +2064,11 @@
\booltrue{YAD@logo@before}%
}{%
}%
+ \ifdef{\printcomuelogo}{%
+ \printcomuelogo%
+ \booltrue{YAD@logo@before}%
+ }{%
+ }%
\ifdef{\printinstitutelogo}{%
\ifbool{YAD@logo@before}{%
\hspace{\stretch{1}}%
@@ -1985,8 +2103,7 @@
}%
\newpagestyle{prepreliminary}[]{%
\restoregeometry%
- \setsecnumdepth{none}%
- \resettocdepth*%
+ \setcounter{secnumdepth}{-10}%
\YAD@setfoot%
}%
\newpagestyle{preliminary}[]{%
@@ -2005,8 +2122,7 @@
{}%
{\thepage}%
\headrule%
- \setsecnumdepth{none}%
- \resettocdepth*%
+ \setcounter{secnumdepth}{-10}%
\YAD@setfoot%
}%
\newpagestyle{ordinary}[]{%
@@ -2025,8 +2141,7 @@
{}%
{\thepage}%
\headrule%
- \setsecnumdepth{none}%
- \resettocdepth*%
+ \setcounter{secnumdepth}{-10}%
\YAD@setfoot%
}%
\newpagestyle{mainmatter}[]{%
@@ -2054,12 +2169,16 @@
{}%
{\thepage}%
\headrule%
- \resettocdepth*%
- \setsecnumdepth{\YAD@secnumdepth}%
+ \YAD@setsecnumdepth{\YAD@secnumdepth}%
\YAD@setfoot%
}%
\xapptocmd{\mainmatter}{%
\booltrue{YAD@mainmatter@used}%
+ \ifbool{YAD@localtocs@classoption}%
+ {%
+ \booltrue{YAD@localtocs}%
+ }{%
+ }
\pagestyle{mainmatter}%
}{}{}%
\AtEndDocument{%
@@ -2111,7 +2230,7 @@
{\thepage}%
\headrule%
\YAD@phantomsection%
- \setsecnumdepth{\YAD@secnumdepth}%
+ \YAD@setsecnumdepth{\YAD@secnumdepth}%
\YAD@bookmarksetup{startatroot}%
\YAD@setfoot%
}%
@@ -2119,7 +2238,7 @@
\pagestyle{appendix}%
}{}{}%
\newpagestyle{biblio}[]{%
- \setsecnumdepth{none}%
+ \setcounter{secnumdepth}{-10}%
\singlespacing%
\sethead[\thepage]%
[]%
@@ -2151,12 +2270,13 @@
{\thepage}%
\headrule%
\YAD@phantomsection%
- \setsecnumdepth{none}%
+ \setcounter{secnumdepth}{-10}%
\YAD@bookmarksetup{startatroot}%
\YAD@setfoot%
}%
\xapptocmd{\backmatter}{%
\pagestyle{backmatter}%
+ \boolfalse{YAD@localtocs}%
}{}{}%
\newpagestyle{contents}[]{%
\cleardoublepage%
@@ -2170,7 +2290,7 @@
{}%
{\thepage}%
\headrule%
- \setsecnumdepth{none}%
+ \setcounter{secnumdepth}{-10}%
\YAD@setfoot%
}%
\newpagestyle{glossaire}[]{%
@@ -2185,7 +2305,7 @@
{}%
{\thepage}%
\headrule%
- \setsecnumdepth{none}%
+ \setcounter{secnumdepth}{-10}%
\YAD@setfoot%
}%
\newpagestyle{index}[]{%
@@ -2197,10 +2317,10 @@
{}%
{\thepage}%
\headrule%
- \setsecnumdepth{none}%
+ \setcounter{secnumdepth}{-10}%
\cleardoublepage%
\YAD@phantomsection%
- \setsecnumdepth{\YAD@secnumdepth}%
+ \YAD@setsecnumdepth{\YAD@secnumdepth}%
\YAD@bookmarksetup{startatroot}%
\YAD@setfoot%
}%
@@ -2218,7 +2338,7 @@
{}%
{}%
{}%
- \setsecnumdepth{none}%
+ \setcounter{secnumdepth}{-10}%
}%
\newcommand*{\printlaboratory}[2][]{%
\YAD@ifemptyorundef{#2}{%
@@ -2344,20 +2464,23 @@
%\YAD@astuce@expressioncle%
\noindent%
\ifcsdef{printordernumber}{%
+ \newcommand\YAD@printedordernumber{%
+ \itshape%
+ \sffamily%
+ \YAD@translation{ordernumber}%
+ \IfLanguageName{french}{%
+ \FBcolonspace%
+ }{%
+ }: \printordernumber%
+ }
+ \ifdraft{}{\vspace*{\stretch{1}}}%
\ifboolexpr{%
bool {YAD@cover@page}%
or (bool {YAD@nofrontcover} and test {\IfLanguageName{\YAD@mainlanguage}})%
}{%
- \ifdraft{}{\vspace*{\stretch{1}}}%
% \vspace*{\stretch{1}}%
\raggedleft{%
- \itshape%
- \sffamily%
- \YAD@translation{ordernumber}%
- \IfLanguageName{french}{%
- \FBcolonspace%
- }{%
- }: \printordernumber%
+ \YAD@printedordernumber%
}%
}{%
}%
@@ -3363,9 +3486,232 @@
\AfterEndEnvironment{epigraphspage}{%
\pagestyle{preliminary}%
}%
+\def\YAD@leftmargin {0pt}
+\def\YAD@rightmargin {2.55em}% like LaTeX’s \@tocrmarg
+\newbox\YAD@leaderbox
+\def\YAD@leaderboxwidth {0.7777em}% about like what standard classes do
+\def\YAD@verysmallvskip {0pt plus .2pt}
+\def\YAD@globalmedvskip {1em plus 1pt}
+\def\YAD@localmedvskip {.25em plus .25pt}
+\def\YAD@bigvskip {2.25em plus 1pt}
+\def\YAD@numwidthB {1.5em} % chapter
+\def\YAD@numwidthC {2.278em}% section, I think default is 2.3em
+\def\YAD@numwidthD {3.056em}% analog in standard class is 3.2em
+\def\YAD@numwidthE {3.833em}% analog in standard class is 4.1em
+\def\YAD@numwidthF {4.611em}% analog in standard class is 5em
+\def\YAD@numwidthG {5.389em}% analog in standard class is 6em
+\newcommand\YAD@setlinestyle [2]{% #1= unit, #2= numwidth as macro
+ \etocsetstyle{#1}
+ {\advance\leftskip#2\relax}
+ {\vskip \YAD@verysmallvskip\relax
+ \leavevmode
+ {\interlinepenalty\@M
+ \etocifnumbered
+ {\llap{\makebox[#2][l]{\etocnumber}}}{\advance\leftskip-#2\relax}%
+ \etocname
+ \nobreak\leaders \copy\YAD@leaderbox
+ \hfil\makebox[-\parfillskip][r]{\etocpage}%
+ \par }%
+ }
+ {}
+ {\advance\leftskip-#2\relax}%
+}
+\newcommand\YAD@globalstyle {% encapsule le style pour les global TOCs
+ \etocsettocstyle {\if@twocolumn \@restonecoltrue \onecolumn \else
+ \@restonecolfalse \fi
+ \parindent\z@ \leftskip\z@skip \rightskip \z@skip
+ \setbox\YAD@leaderbox\hbox to \YAD@leaderboxwidth{\hss.\hss}%
+ \chapter *[\cmdKV@YAD@name]{\noindent\kern\YAD@leftmargin\relax % uses "pt"...
+ \cmdKV@YAD@name%
+ }%
+ \rightskip \YAD@rightmargin\relax
+ \parfillskip -\rightskip % or a smaller value if desired
+ \leftskip \YAD@leftmargin \relax } {\if@restonecol \twocolumn
+ \fi\cleardoublepage}%
+ %
+ \etocsetstyle{part} {} {\addpenalty {-\@highpenalty}%
+ \addvspace \YAD@bigvskip \leavevmode {\large
+ \bfseries % use a group to limit font change
+ \interlinepenalty\@M \etocifnumbered{\etocnumber\hspace{1em}}{}%
+ \etocname \nobreak\hfil\makebox[-\parfillskip][r]{\etocpage}}\par
+ \nobreak } {} {}
+ %
+ \etocsetstyle{chapter} {\advance\leftskip\YAD@numwidthB\relax} {\addpenalty
+ {-\@highpenalty }%
+ \vskip \YAD@globalmedvskip\relax \leavevmode {\interlinepenalty\@M \etocifnumbered
+ {\llap{\makebox[\YAD@numwidthB][l]{\bfseries\etocnumber}}}
+ {\advance\leftskip-\YAD@numwidthB\relax}%
+ \bfseries\etocname
+ \nobreak\hfil\makebox[-\parfillskip][r]{\etocpage}\par }%
+ \penalty \@highpenalty } {} {\advance\leftskip-\YAD@numwidthB\relax}
+ %
+ \YAD@setlinestyle {section}{\YAD@numwidthC}%
+ \YAD@setlinestyle {subsection}{\YAD@numwidthD}%
+ \YAD@setlinestyle {subsubsection}{\YAD@numwidthE}%
+ \YAD@setlinestyle {paragraph}{\YAD@numwidthF}%
+ \YAD@setlinestyle {subparagraph}{\YAD@numwidthG}%
+}
+\newcommand\YAD@localstyle {%
+ \etocsettocstyle {%
+ \if@twocolumn
+ \@restonecoltrue
+ \onecolumn
+ \else
+ \@restonecolfalse
+ \fi%
+ \setbox\YAD@leaderbox\hbox to \YAD@leaderboxwidth{\hss.\hss}%
+ \parindent\z@
+ \dimen@ 2.25em % soon to be \leftskip
+ \section *{\kern\dimen@ % \dimen@ works here by sheer luck
+ % \contentsname%
+ % \@mkboth{\MakeUppercase\contentsname}{\MakeUppercase\contentsname}%
+ \large\textbf{\translate{lbl-localtocname}}%
+ }%
+ \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
+ \rightskip 4.5em
+ \parfillskip -\YAD@rightmargin\relax%
+ }{%
+ \nobreak\vskip-.5\baselineskip
+ \leavevmode\leaders\hrule\@height\p@\hfill\kern\z@\par
+ \bigskip \if@restonecol \twocolumn \fi
+ }
+ % %
+ \etocsetstyle{section} {%
+ \advance\leftskip\YAD@numwidthC\relax%
+ } {%
+ \addpenalty
+ \@secpenalty \etociffirst{}{\addvspace{\YAD@localmedvskip}}%
+ \leavevmode {%
+ \interlinepenalty\@M \bfseries%
+ \etocifnumbered
+ {%
+ \llap{%
+ \makebox[\YAD@numwidthC][l]{\etocnumber}%
+ }%
+ }
+ {%
+ \advance\leftskip-\YAD@numwidthC%
+ }%
+ \etocname\nobreak\hfil\makebox[-\parfillskip][r]{\etocpage}\par%
+ }%
+ \penalty \@highpenalty%
+ }
+ {} {%
+ \advance\leftskip-\YAD@numwidthC\relax%
+ }
+ % %
+ \YAD@setlinestyle {subsection}{\YAD@numwidthD}%
+ \YAD@setlinestyle {subsubsection}{\YAD@numwidthE}%
+ \YAD@setlinestyle {paragraph}{\YAD@numwidthF}%
+ \YAD@setlinestyle {subparagraph}{\YAD@numwidthG}%
+}
+\newcommand*\YAD@computenumwidths@ [2] {% #1 pour `etoc' ou `local', #2=pour le
+ % \kern
+ \begingroup
+ \def\YAD@numwidthB {0pt}%
+ \def\YAD@numwidthC {0pt}%
+ \def\YAD@numwidthD {0pt}%
+ \def\YAD@numwidthE {0pt}%
+ \def\YAD@numwidthF {0pt}%
+ \def\YAD@numwidthG {0pt}%
+ \etocsetstyle{part}{}{}{}{}%
+ \etocsetstyle{chapter}{}
+ {\setbox0\hbox{\bfseries\etocthenumber\kern#2}}
+ {\ifdim\wd0>\YAD@numwidthB\edef\YAD@numwidthB{\the\wd0}\fi}{}%
+ \etocsetstyle{section}{}
+ {\setbox0\hbox{\bfseries\etocthenumber\kern#2}}
+ {\ifdim\wd0>\YAD@numwidthC\edef\YAD@numwidthC{\the\wd0}\fi}{}%
+ \etocsetstyle{subsection}{}
+ {\setbox0\hbox{\etocthenumber\kern#2}}
+ {\ifdim\wd0>\YAD@numwidthD\edef\YAD@numwidthD{\the\wd0}\fi}{}%
+ \etocsetstyle{subsubsection}{}
+ {\setbox0\hbox{\etocthenumber\kern#2}}
+ {\ifdim\wd0>\YAD@numwidthE\edef\YAD@numwidthE{\the\wd0}\fi}{}%
+ \etocsetstyle{paragraph}{}
+ {\setbox0\hbox{\etocthenumber\kern#2}}
+ {\ifdim\wd0>\YAD@numwidthF\edef\YAD@numwidthF{\the\wd0}\fi}{}%
+ \etocsetstyle{subparagraph}{}
+ {\setbox0\hbox{\etocthenumber\kern#2}}
+ {\ifdim\wd0>\YAD@numwidthG\edef\YAD@numwidthG{\the\wd0}\fi}{}%
+ %
+ \etocsettocstyle{}
+ {\global\let\YAD@numwidthB\YAD@numwidthB
+ \global\let\YAD@numwidthC\YAD@numwidthC
+ \global\let\YAD@numwidthD\YAD@numwidthD
+ \global\let\YAD@numwidthE\YAD@numwidthE
+ \global\let\YAD@numwidthF\YAD@numwidthF
+ \global\let\YAD@numwidthG\YAD@numwidthG}%
+ \etocnopar
+ \csname YAD@ORI@#1tableofcontents\endcsname
+ \endgroup
+}%
+\newcommand*\YAD@computenumwidths [1][0.5em]{%
+ \YAD@computenumwidths@ {}{#1}%
+}
+\newcommand*\YAD@computelocalnumwidths [1][0.5em]{%
+ \YAD@computenumwidths@ {local}{#1}%
+}
+\etocchecksemptiness
+\newcommand{\YAD@default@localtoc}{%
+ \ifbool{YAD@localtocs}%
+ {%
+ \bgroup
+ \YAD@localstyle%
+ \YAD@computelocalnumwidths\relax%
+ \@ifundefined {Etoc@\YAD@localtocsdepth @@}
+ {%
+ }{%
+ \etocsetnexttocdepth{\YAD@localtocsdepth}%
+ }
+ \localtableofcontents%
+ \YAD@globalstyle
+ \egroup
+ }{%
+ }%
+}
+\newcommand{\YAD@localtoc}{\YAD@default@localtoc}
+\newcommand{\stoplocaltocs}{%
+ \boolfalse{YAD@localtocs}%
+}
+\newcommand{\startlocaltocs}{%
+ \booltrue{YAD@localtocs}%
+}
+\newcommand{\nextwithoutlocaltoc}{%
+ \renewcommand{\YAD@localtoc}{}%
+}
+\newcommand{\nextwithlocaltoc}{%
+ \renewcommand{\YAD@localtoc}{\YAD@default@localtoc}%
+ \booltrue{YAD@localtocs}%
+ \booltrue{YAD@nextwithlocaltoc}%
+}
+\apptocmd{\@makechapterhead}{%
+ \ifbool{YAD@localtocs}%
+ {%
+ \YAD@localtoc%
+ \renewcommand{\YAD@localtoc}{\YAD@default@localtoc}%
+ \ifbool{YAD@nextwithlocaltoc}%
+ {%
+ \boolfalse{YAD@localtocs}%
+ \boolfalse{YAD@nextwithlocaltoc}%
+ % \boolfalse{YAD@localtocs@classoption}%
+ }{%
+ }
+ }{%
+ }%
+}{}{}%
\let\YAD@ORI@chapter\chapter%
\AfterPreamble{% delay the redefinition when titlesec has done its own
- \renewcommand\chapter{%
+ \renewcommand\chapter
+ {%
+ \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]%
+ \let\blx@warn@bibempty\YAD@ORI@blx@warn@bibempty%
+ }{%
+ }
\cleardoublepage%
\YAD@phantomsection%
\ifbool{YAD@output@paper}{%
@@ -3375,32 +3721,27 @@
\@ifstar{\YAD@starred@chapter}{\YAD@unstarred@chapter}%
}%
\newcommand{\YAD@starred@chapter}{%
- \setsecnumdepth{none}%
+ \setcounter{secnumdepth}{-10}%
\YAD@ORI@chapter%
}%
\newcommand{\YAD@unstarred@chapter}{%
\if@mainmatter%
- \resetsecnumdepth*%
+ \YAD@setsecnumdepth{\YAD@secnumdepth}
\fi%
\YAD@ORI@chapter%
}%
- % \newcommand{\YAD@arg@chapter}[2][]{%
- % \ifthenelse{\isempty{#1}}{%
- % \YAD@ORI@chapter{#2}%
- % \def\chaptertitle{#2}%
- % }{%
- % \YAD@ORI@chapter[#1]{#2}%
- % \def\chaptertitle{#1}%
- % }%
- % }%
- % \newcommand{\YAD@noarg@chapter}[1]{%
- % \YAD@ORI@chapter{#1}%
- % \def\chaptertitle{#1}%
- % }%
- % \xpatchcmd{\tableofcontents}{\chapter}{\YAD@ORI@chapter}{}{}%
- % \xpatchcmd{\shorttableofcontents}{\chapter}{\YAD@ORI@chapter}{}{}%
- % \xpatchcmd{\listoftables}{\chapter}{\YAD@ORI@chapter}{}{}%
- % \xpatchcmd{\listoffigures}{\chapter}{\YAD@ORI@chapter}{}{}%
+\xpretocmd{\tableofcontents}{\renewcommand{\YAD@localtoc}{}}{}{}%
+\xapptocmd{\tableofcontents}{\renewcommand{\YAD@localtoc}{\YAD@default@localtoc}}{}{}%
+\xpretocmd{\listoftables}{\renewcommand{\YAD@localtoc}{}}{}{}%
+\xapptocmd{\listoftables}{\renewcommand{\YAD@localtoc}{\YAD@default@localtoc}}{}{}%
+\xpretocmd{\listoffigures}{\renewcommand{\YAD@localtoc}{}}{}{}%
+\xapptocmd{\listoffigures}{\renewcommand{\YAD@localtoc}{\YAD@default@localtoc}}{}{}%
+\xpretocmd{\printbibliography}{\renewcommand{\YAD@localtoc}{}}{}{}%
+\xapptocmd{\printbibliography}{\renewcommand{\YAD@localtoc}{\YAD@default@localtoc}}{}{}%
+\xpretocmd{\printglossary}{\renewcommand{\YAD@localtoc}{}}{}{}%
+\xapptocmd{\printglossary}{\renewcommand{\YAD@localtoc}{\YAD@default@localtoc}}{}{}%
+\xpretocmd{\printindex}{\renewcommand{\YAD@localtoc}{}}{}{}%
+\xapptocmd{\printindex}{\renewcommand{\YAD@localtoc}{\YAD@default@localtoc}}{}{}%
\@ifpackageloaded{floatrow}{%
\xpatchcmd{\float@listhead}{\chapter}{\YAD@ORI@chapter}{}{}%
}{%
@@ -3413,7 +3754,7 @@
}{%
}%
}%
-\xpretocmd{\part}{\setsecnumdepth{\YAD@secnumdepth}}{}{}%
+\xpretocmd{\part}{\YAD@setsecnumdepth{\YAD@secnumdepth}}{}{}%
\disclaimer{%
\IfLanguageName{french}{%
\ifundef{\printinstitute}{%
@@ -3468,7 +3809,12 @@
\AtEndPreamble{%
\@ifpackageloaded{biblatex}{%
\defbibheading{bibintoc}[\bibname]{\chapter*{#1}}%
- \defbibheading{subbibintoc}[\bibname]{\section{#1}}%
+ % \defbibheading{subbibintoc}[\bibname]{\section*{#1}}%
+ \defbibheading{YAD@localbibs@heading}[\translate{lbl-localbibname}]{%
+ % \YAD@setsecnumdepth{none}%
+ \section*{#1}%
+ % \YAD@setsecnumdepth{\YAD@secnumdepth}%
+ }%
\@ifpackageloaded{csquotes}{%
\SetCiteCommand{\autocite}%
}{%
@@ -3630,6 +3976,7 @@
}%
}%
\expression{meta-logopres}{logo PRES}{logo PRES}
+\expression{meta-logocomue}{logo ComUE}{logo ComUE}
\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}
@@ -3671,6 +4018,7 @@
\expression{phone}{\Telefon}{\Telefon}%
\expression{fax}{\Fax}{\Fax}%
\expression{caution}{Avertissement}{Caution}%
+\expression{localbibname}{Bibliographie du pr\'esent chapitre}{Bibliography of the current chapter}%
\expression{draft}{brouillon}{draft}%
\expression{prepared-at}{Cette th\`ese a \'et\'e pr\'epar\'ee au}{This
thesis has been prepared at}%
@@ -3712,8 +4060,8 @@
\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{associateprofessor}{\textsc{mcf}}{Associate Professor}%
+\expression{associateprofessor*}{\textsc{mcf} \textsc{hdr}}{\textsc{hdr} Associate Professor}%
\expression{keywords}{Mots cl\'es}{Keywords}%
\expression{ordernumber}{Num\'ero d'ordre}{Order Number}%
\expression{committeepresident}{pr\'esident du jury}{Committee President}%
@@ -3723,6 +4071,7 @@
\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{defendedon}{Soutenue le}{Defended on}%
\expression{speciality}{Sp\'ecialit\'e}{Speciality}%
\expression{supervisedby}{Th\`ese dirig\'ee par}{Thesis supervised by}%
@@ -3752,7 +4101,7 @@ du}{Work in progress as of}%
%%
%% This work has the LPPL maintenance status `maintained'.
%%
-%% The Current Maintainer of this work is Denis Bitouz'e.
+%% The Current Maintainer of this work is Denis Bitouzé.
%%
%% This work consists of the file yathesis.dtx
%% and the derived files yathesis.cls,