From c7235aafe4ddb8f9800cdf784212d4c53bb53e32 Mon Sep 17 00:00:00 2001
From: Norbert Preining <norbert@preining.info>
Date: Tue, 14 Apr 2020 03:02:32 +0000
Subject: CTAN sync 202004140302

---
 macros/latex/contrib/yathesis/source/yathesis.dtx | 601 +++++++++-------------
 1 file changed, 243 insertions(+), 358 deletions(-)

(limited to 'macros/latex/contrib/yathesis/source/yathesis.dtx')

diff --git a/macros/latex/contrib/yathesis/source/yathesis.dtx b/macros/latex/contrib/yathesis/source/yathesis.dtx
index f273156bbe..984be7e0ae 100644
--- a/macros/latex/contrib/yathesis/source/yathesis.dtx
+++ b/macros/latex/contrib/yathesis/source/yathesis.dtx
@@ -23,7 +23,7 @@
 %<*readme>
 -----------------------------------------------------------------------
 
-- `yathesis` --- Yet Another Thesis Class, version 1.0.1
+- `yathesis` --- Yet Another Thesis Class, version 1.0.2
 - E-mail: `denis.bitouze@univ-littoral.fr`
 - Released under the LaTeX Project Public License v1.3c or later. See
   http://www.latex-project.org/lppl.txt
@@ -69,11 +69,15 @@ Typesetting the documentation of the class requires:
   \expandafter\begingroup
 \fi
 %</internal>
+%<*class|install>
+\def\yathesisfileversion{1.0.2}
+\def\yathesisfiledate{2020-04-13}
+%</class|install>
 %<*install>
 \input docstrip.tex
 \Msg{********************************************************}
 \Msg{* Installation}
-\Msg{* Class: yathesis 2020-03-28 v1.0.1}
+\Msg{* Class: yathesis \yathesisfiledate\space v\yathesisfileversion}
 \Msg{* that helps to write thesis following French rules (DB)}
 \Msg{********************************************************}
 \keepsilent
@@ -128,7 +132,7 @@ This work consists of the file  yathesis.dtx
 \def\YAD@treesample{\YAD@examples/\YAD@sample/en-arborescence}
 %</install>
 %<*install>
-\usedir{doc/latex/\YAD@classname/}
+\usedir{doc/latex/\YAD@classname}
 \generate{
   \nopreamble\nopostamble
   \file{README.md}{\from{\jobname.dtx}{readme}}
@@ -265,15 +269,7 @@ This work consists of the file  yathesis.dtx
 \fi
 %</internal>
 % \fi
-% \def\YADnblastversion{1.0.1}
-% \def\YADdatelastversion{\today}
-% \def\fileversion{v\YADnblastversion}
-% \def\filedate{\YADdatelastversion}
 % \iffalse
-%<*class>
-\def\fileversion{v1.0.1}
-\def\filedate{2020/03/28}
-%</class>
 %<*driver>
 \ProvidesFile{yathesis.dtx}
 \RequirePackage{scrlfile}
@@ -364,7 +360,7 @@ This work consists of the file  yathesis.dtx
 %
 %    \begin{macrocode}
 \NeedsTeXFormat{LaTeX2e}[1999/12/01]
-\ProvidesClass{yathesis}[\filedate\space\fileversion\space Yet another class for writing thesis (DB)]
+\ProvidesClass{yathesis}[\yathesisfiledate\space v\yathesisfileversion\space Yet another class for writing thesis (DB)]
 %    \end{macrocode}
 %
 % Pour pouvoir définir des macros dont les arguments puissent être
@@ -448,8 +444,10 @@ This work consists of the file  yathesis.dtx
 \newbool{YAD@valid@month}
 \newbool{YAD@valid@year}
 \newbool{YAD@mainmatter@used}
+\newbool{YAD@mainmatter}
 \newbool{YAD@backmatter}
 \newbool{YAD@localtocs}%
+\newbool{YAD@localbibs@used}%
 \newbool{YAD@nextwithlocaltoc}%
 \newbool{YAD@nonnumbered@chapter}%
 \newbool{YAD@nonnumbered@section}%
@@ -3080,7 +3078,6 @@ This work consists of the file  yathesis.dtx
       \cleardoublepage%
       \sethead[\thepage][][\nomname]{\nomname}{}{\thepage}\headrule%
       \YAD@ORI@printnomenclature%
-      \pagestyle{preliminary}%
     }%
   }{%
   }%
@@ -3124,8 +3121,7 @@ This work consists of the file  yathesis.dtx
 %   aux frontières des chapitres non numérotés ne soient pas
 %   erronés).
 %    \begin{macrocode}
-\xpretocmd{\pagestyle}{\cleardoublepage}{}{}%
-% \xapptocmd{\pagestyle}{\YAD@setfoot}{}{}%
+\pretocmd{\pagestyle}{\cleardoublepage}{}{}%
 %    \end{macrocode}
 % \end{macro}
 %
@@ -3143,9 +3139,8 @@ This work consists of the file  yathesis.dtx
           \let\YAD@ORI@tableofcontents\tableofcontents%
           \let\YAD@ORI@localtableofcontents\localtableofcontents%
           \renewcommand{\tableofcontents}{%
-            \pagestyle{preliminary}%
             \booltrue{YAD@tableofcontents@used}%
-            \cleardoublepage%
+            \pagestyle{preliminary}%
             \YAD@phantomsection%
             % \renewcommand{\contentsname}{\cmdKV@YAD@name}
             \@ifnextchar[{\tableofcontents@YAD@with@argument}{\tableofcontents@YAD@without@argument}%]
@@ -3158,6 +3153,16 @@ This work consists of the file  yathesis.dtx
             \let\cmdKV@YAD@depth\YAD@tocdepth%
             \let\cmdKV@YAD@name\contentsname%
             \YAD@localstyle % pour les local TOCs qui suivent
+            \ifbool{YAD@mainmatter}%
+            {%
+            \pagestyle{mainmatter}%
+            }{%
+            }%
+            \ifbool{YAD@backmatter}%
+            {%
+              \pagestyle{backmatter}%
+            }{%
+            }%
           }%
           \newcommand\tableofcontents@YAD@with@argument[1][]{%
             \yadsetup{#1}%
@@ -3183,6 +3188,16 @@ This work consists of the file  yathesis.dtx
             \let\cmdKV@YAD@depth\YAD@tocdepth%
             \let\cmdKV@YAD@name\contentsname%
             \YAD@localstyle % pour les local TOCs qui suivent
+            \ifbool{YAD@mainmatter}%
+            {%
+            \pagestyle{mainmatter}%
+            }{%
+            }%
+            \ifbool{YAD@backmatter}%
+            {%
+              \pagestyle{backmatter}%
+            }{%
+            }%
           }%
         }%
 %    \end{macrocode}
@@ -3273,7 +3288,7 @@ This work consists of the file  yathesis.dtx
 % \begin{macro}{\YAD@chapter@header}
 % Définition de titres courants
 %    \begin{macrocode}
-\newcommand*{\YAD@chapter@header}{%
+\DeclareRobustCommand{\YAD@chapter@header}{%
   \ifboolexpr{
     ((test {\ifnumcomp{\value{secnumdepth}}{>}{-1}} or (not bool
     {YAD@nonnumbered@chapter})) and test {\ifnumcomp{\value{chapter}}{>}{0}}) and
@@ -3289,11 +3304,20 @@ This work consists of the file  yathesis.dtx
 %
 % \begin{macro}{\YAD@section@header}
 %    \begin{macrocode}
-\newcommand*{\YAD@section@header}{%
+\DeclareRobustCommand{\YAD@section@header}{%
   \ifboolexpr{
-    ((test {\ifnumcomp{\value{secnumdepth}}{>}{0}} or (not bool
-    {YAD@nonnumbered@section})) and test {\ifnumcomp{\value{chapter}}{>}{0}}) and
-    (not bool {YAD@backmatter})%
+    (
+      (
+        test {\ifnumcomp{\value{secnumdepth}}{>}{0}}
+        or
+        (not bool {YAD@nonnumbered@section})
+      )
+      and
+      test {\ifnumcomp{\value{chapter}}{>}{0}})
+      and
+      (not bool {YAD@backmatter})
+      and
+      (not bool {YAD@localbibs@used})
   }{%
     \thesection.
   }{%
@@ -3311,6 +3335,22 @@ This work consists of the file  yathesis.dtx
     \boolfalse{YAD@localtocs}%
   }%
 %    \end{macrocode}
+%
+% Code de débogage pour localiser les styles de pages appliqués.
+%    \begin{macrocode}
+% \RequirePackage{background}
+% \xapptocmd{\pagestyle}{%
+%   \SetBgContents{#1}
+%   \SetBgScale{2}
+%   \SetBgAngle{0}
+%   \SetBgOpacity{1}
+%   \SetBgColor{blue}
+%   \SetBgPosition{current page.south west}
+%   \SetBgHshift{3cm}
+%   \SetBgVshift{1cm}
+% }{}{}%
+%    \end{macrocode}
+%
 % Définition du style de page des titres
 %    \begin{macrocode}
 \newpagestyle{titles}[]{%
@@ -3362,13 +3402,17 @@ This work consists of the file  yathesis.dtx
 % géométrie restaurée mais toujours pas de titres courants
 %    \begin{macrocode}
 \newpagestyle{prepreliminary}[]{%
+  \sethead{}{}{}%
+  \setfoot{}{}{}%
+  \setheadrule{0pt}%
+  \setfootrule{0pt}%
 %    \end{macrocode}
 % Dans la partie pré-préliminaire, aucun élément de structuration n'est
 % numéroté, les titres courants sont absents et la profondeur de la table des
 % matières est fixée à son niveau par défaut (sous-sections)
 %    \begin{macrocode}
   \setcounter{secnumdepth}{-10}%
-  \YAD@setfoot%
+  % \YAD@setfoot%
 }%
 %    \end{macrocode}
 % Définition du style de page de la partie préliminaire: début
@@ -3399,45 +3443,9 @@ This work consists of the file  yathesis.dtx
   \YAD@setfoot%
 }%
 %    \end{macrocode}
-% Définition du style de page de la partie liminaire
-%    \begin{macrocode}
-\newpagestyle{ordinary}[]{%
-  \sethead[\thepage]%
-  []%
-  [\YAD@chapter@header]%
-  {%
-    \ifthenelse{%
-      \equal{\sectiontitle}{}%
-    }{%
-      \YAD@chapter@header%
-    }{%
-      \YAD@section@header%
-    }%
-  }%
-  {}%
-  {\thepage}%
-  \headrule%
-%    \end{macrocode}
-% Dans la partie liminaire, aucun élément de structuration n'est
-% numéroté et la profondeur de la table des matières est fixée à son
-% niveau par défaut (sous-sections)
-%    \begin{macrocode}
-  \setcounter{secnumdepth}{-10}%
-  \YAD@setfoot%
-}%
-%    \end{macrocode}
 % Définition du style de page de la partie principale
 %    \begin{macrocode}
 \newpagestyle{mainmatter}[]{%
-  \ifthenelse{\equal{\YAD@interligne}{single}}{%
-    \singlespacing%
-  }{%
-    \ifthenelse{\equal{\YAD@interligne}{double}}{%
-      \doublespacing%
-    }{%
-      \onehalfspacing%
-    }%
-  }%
   \sethead[\thepage]%
   []%
   [\YAD@chapter@header]%
@@ -3467,12 +3475,22 @@ This work consists of the file  yathesis.dtx
 %    \begin{macrocode}
 \xapptocmd{\mainmatter}{%
   \booltrue{YAD@mainmatter@used}%
+  \booltrue{YAD@mainmatter}%
+  \pagestyle{mainmatter}%
   \ifbool{YAD@localtocs@classoption}%
   {%
     \booltrue{YAD@localtocs}%
   }{%
-  }
-  \pagestyle{mainmatter}%
+  }%
+  \ifthenelse{\equal{\YAD@interligne}{single}}{%
+    \singlespacing%
+  }{%
+    \ifthenelse{\equal{\YAD@interligne}{double}}{%
+      \doublespacing%
+    }{%
+      \onehalfspacing%
+    }%
+  }%
 }{}{}%
 %    \end{macrocode}
 % Vérification, en fin de document, de l'usage de la commande "\mainmatter" et
@@ -3493,89 +3511,50 @@ This work consists of the file  yathesis.dtx
   }%
 }%
 %    \end{macrocode}
-% Définition du style de page de la partie annexe
-%    \begin{macrocode}
-\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.\
-      }{%
-      }
-      \chaptertitle%
-    }{%
-      \YAD@section@header%
-    }%
-  }%
-  {}%
-  {\thepage}%
-  \headrule%
-%    \end{macrocode}
-% Dans la partie annexe, la numérotation des paragraphes est fixée à
-% son niveau par défaut (sous-sections)
-%    \begin{macrocode}
-  \YAD@phantomsection%
-  \YAD@setsecnumdepth{\YAD@secnumdepth}%
-  \YAD@bookmarksetup{startatroot}%
-  \YAD@setfoot%
-}%
-%    \end{macrocode}
-% Extension de la commande "\appendix" de sorte qu'elle applique le style de
-% page "appendix".
+% Pour que les bibliographies locales apparaissent automatiquement à chaque fin de
+% chapitre, la commande "\chapter" est redéfinie de manière à commencer par
+% l'insertion de la bibliographie locale ("\printlocalbibs") du, donc, chapitre
+% précédent (affichée seulement si celle-ci n'est pas vide). Ceci fonctionne
+% bien, sauf :
+% \begin{itemize}
+% \item pour les chapitres séparés par des commandes intermédiaires ("\part",
+%   "\mainmatter", "\appendix", etc.)
+% \item en fin de document ("\enddocument").
+% \end{itemize}
+% Il est donc nécessaire que ces commandes commencent donc elles-mêmes par
+% l'insertion de la bibliographie locale du chapitre précédent
+% ("\printlocalbibs"), commande assurant que les chapitres suivant
+% (éventuellement) ces commandes ne l'afficheront pas en double.
 % \begin{macro}{\appendix}
 %    \begin{macrocode}
-\xapptocmd{\appendix}{%
-  \pagestyle{appendix}%
-}{}{}%
-%    \end{macrocode}
-% \end{macro}
-% Définition du style de page de la partie biblio
-%    \begin{macrocode}
-\newpagestyle{biblio}[]{%
-%    \end{macrocode}
-% Dans la partie biblio, aucun élément de structuration n'est
-% numéroté
-%    \begin{macrocode}
-  \setcounter{secnumdepth}{-10}%
-%    \end{macrocode}
-%    \begin{macrocode}
-  \singlespacing%
-  \sethead[\thepage]%
-  []%
-  [\YAD@chapter@header]%
-  {\YAD@chapter@header}%
-  {}%
-  {\thepage}%
-  \headrule%
+\AtEndPreamble{%
+  \xpretocmd{\part}{%
+    \printlocalbibs{}%
+  }{}{}%
+  \pretocmd{\mainmatter}{%
+    \printlocalbibs{}%
+    \cleardoublepage%
+  }{}{}%
+  \pretocmd{\appendix}{%
+    \printlocalbibs{}%
+    \cleardoublepage%
+  }{}{}%
+  \pretocmd{\backmatter}{%
+    \printlocalbibs{}%
+    \cleardoublepage%
+  }{}{}%
+  \pretocmd{\enddocument}{%
+    \printlocalbibs{}%
+  }{}{}%
+}
 %    \end{macrocode}
-% On demande que la bibliographie apparaisse au plus haut niveau des
-% signets
+% Extension de la commande "\appendix" de sorte que les chapitres d'annexe
+% soient correctement nommés.
 %    \begin{macrocode}
-  % \cleardoublepage%
-  \YAD@phantomsection%
-  \YAD@bookmarksetup{startatroot}%
-  \YAD@setfoot%
-}%
+  \apptocmd{\appendix}{%
+    \renewcommand\chaptername{\appendixname}%
+    \singlespacing%
+  }{}{}%
 %    \end{macrocode}
 % Définition du style de page de la partie finale
 %    \begin{macrocode}
@@ -3617,73 +3596,6 @@ This work consists of the file  yathesis.dtx
 }{}{}%
 %    \end{macrocode}
 % \end{macro}
-% Définition du style de page de la table des matières
-%    \begin{macrocode}
-\newpagestyle{contents}[]{%
-  \cleardoublepage%
-  \YAD@phantomsection%
-  \YAD@bookmarksetup{startatroot}%
-  \singlespacing%
-  \sethead[\thepage]%
-  []%
-  [\cmdKV@YAD@name]%
-  {\cmdKV@YAD@name}%
-  {}%
-  {\thepage}%
-  \headrule%
-%    \end{macrocode}
-% Dans la partie glossaire, aucun élément de structuration n'est
-% numéroté
-%    \begin{macrocode}
-  \setcounter{secnumdepth}{-10}%
-  \YAD@setfoot%
-}%
-%    \end{macrocode}
-% Définition du style de page de la partie glossaire
-%    \begin{macrocode}
-\newpagestyle{glossaire}[]{%
-  \cleardoublepage%
-  \YAD@phantomsection%
-  \YAD@bookmarksetup{startatroot}%
-  \singlespacing%
-  \sethead[\thepage]%
-  []%
-  [\YAD@chapter@header]%
-  {\YAD@chapter@header}%
-  {}%
-  {\thepage}%
-  \headrule%
-%    \end{macrocode}
-% Dans la partie glossaire, aucun élément de structuration n'est
-% numéroté
-%    \begin{macrocode}
-  \setcounter{secnumdepth}{-10}%
-  \YAD@setfoot%
-}%
-%    \end{macrocode}
-% Définition du style de page de la partie index
-%    \begin{macrocode}
-\newpagestyle{index}[]{%
-  \singlespacing%
-  \sethead[\thepage]%
-  []%
-  [\YAD@chapter@header]%
-  {\YAD@chapter@header}%
-  {}%
-  {\thepage}%
-  \headrule%
-%    \end{macrocode}
-% Dans la partie index, aucun élément de structuration n'est
-% numéroté
-%    \begin{macrocode}
-  \setcounter{secnumdepth}{-10}%
-  \cleardoublepage%
-  \YAD@phantomsection%
-  \YAD@setsecnumdepth{\YAD@secnumdepth}%
-  \YAD@bookmarksetup{startatroot}%
-  \YAD@setfoot%
-}%
-%    \end{macrocode}
 % Définition du style de page de la partie \textquote{4\ieme{} de
 % couverture} (\emph{blub} en anglais).
 %    \begin{macrocode}
@@ -3774,11 +3686,15 @@ This work consists of the file  yathesis.dtx
   \yadsetup{#1}
   \setlength{\fboxsep}{10pt}%
   \setlength{\YAD@titleboxwidth}{\linewidth-2\fboxsep-2\fboxrule}%
-  \renewcommand*{\do}[1]{%
-%    \end{macrocode}
 % Appel du style de page propre au(x) titre(s)
 %    \begin{macrocode}
   \pagestyle{titles}%
+%    \end{macrocode}
+  \renewcommand*{\do}[1]{%
+%    \end{macrocode}
+% Chaque nouvelle page de titre commence en page impaire.
+%    \begin{macrocode}
+    \cleardoublepage%
 %    \end{macrocode}
 % On passe dans la langue choisie en option (en français si rien n'est
 % spécifié).
@@ -3810,7 +3726,7 @@ This work consists of the file  yathesis.dtx
     }%
     \noindent%
     \begin{minipage}{\linewidth-2\fboxsep-2\fboxrule}
-      \onehalfspacing%
+      % \onehalfspacing%
       \noindent%
       \ifthenelse{\equal{\cmdKV@YAD@frametitle}{none}}{%
       }{%
@@ -3840,8 +3756,10 @@ This work consists of the file  yathesis.dtx
       }%
       \ifundef{\printsubtitle}{%
       }{%
-        \ifdraft{}{\vspace*{\stretch{.15}}}%
-        % \vspace*{\stretch{.15}}%
+        \ifdraft{}{%
+          \vskip0.5em%
+          % \vspace*{\stretch{.15}}%
+        }%
         \par%
         \centering%
         \Large\printsubtitle%
@@ -4291,7 +4209,6 @@ This work consists of the file  yathesis.dtx
   \@ifstar{\@tempswatrue\csuse{YAD@starnostar@makekeywords}}{\@tempswafalse\csuse{YAD@starnostar@makekeywords}}%
 }%
 \csdef{YAD@starnostar@makekeywords}{%
-  \cleardoublepage%
 %    \end{macrocode}
 % Appel du style de page propre à la partie préliminaire
 %    \begin{macrocode}
@@ -4324,8 +4241,8 @@ This work consists of the file  yathesis.dtx
   \else%
   \vspace*{\stretch{1}}%
   \fi
-  \expandafter\selectlanguage\expandafter{\YAD@mainlanguage}%
   \pagestyle{preliminary}%
+  \expandafter\selectlanguage\expandafter{\YAD@mainlanguage}%
 }%
 %    \end{macrocode}
 % \end{macro}
@@ -4424,7 +4341,6 @@ This work consists of the file  yathesis.dtx
   \@ifstar{\@tempswatrue\csuse{YAD@starnostar@makelaboratory}}{\@tempswafalse\csuse{YAD@starnostar@makelaboratory}}%
 }%
 \csdef{YAD@starnostar@makelaboratory}{%
-  \cleardoublepage%
 %    \end{macrocode}
 % Appel du style de page propre à la partie préliminaire
 %    \begin{macrocode}
@@ -4795,36 +4711,19 @@ This work consists of the file  yathesis.dtx
 % Page de présentation (résumés)
 %    \begin{macrocode}
 \newcommand{\makeabstract}{%
+  \pagestyle{preliminary}%
+  \bgroup%
   \ifbool{YAD@nomakeabstract}{%
   }{%
     \YAD@alarm@noabstract%
   }%
-  \pagestyle{preliminary}%
   \YAD@phantomsection%
   \addcontentsline{toc}{chapter}{\abstractname}%
-  \booltrue{YAD@makeabstract@used}%
-  \bgroup%
   \addtolength{\footskip}{6pt minus 6pt}%
   \setfootrule{0pt}%
-  \setfoot[][%
-  \ifboolexpr{%
-    bool {YAD@inprogress@work}%
-    or bool {YAD@inprogress@work@star}%
-  }{%
-    \textsc{\translate{lbl-inprogressfoottext} \today}%
-  }{%
-    \ifboolexpr{%
-      bool {YAD@submitted@work@star}%
-    }{%
-      \textsc{\translate{lbl-submittedfoottext} \today}%
-    }{%
-    }%
-  }%
-  ][]{%
-    % \medskip\par%
+  \setfoot[][][]{%
     \YAD@laboratory@abstract@page%
   }{}{}%
-  \cleardoublepage%
   \renewcommand{\YAD@chapter@header}{\abstractname}%
   \renewcommand{\YAD@section@header}{\abstractname}%
   \YAD@abstract@page%
@@ -4838,6 +4737,8 @@ This work consists of the file  yathesis.dtx
 %    \begin{macrocode}
   \YAD@nolaboratorytrue%
   \YAD@nolaboratoryaddresstrue%
+%
+  \booltrue{YAD@makeabstract@used}%
 }%
 %    \end{macrocode}
 % \end{macro}
@@ -4918,6 +4819,7 @@ This work consists of the file  yathesis.dtx
 % Éléments communs de la page de présentation
 %    \begin{macrocode}
 \newcommand{\makebackcover}{%
+  \printlocalbibs{}%
   \pagestyle{backcover}%
 %    \end{macrocode}
 % On insère le code pour l'éventuel colophon
@@ -4942,7 +4844,6 @@ This work consists of the file  yathesis.dtx
         }%
         \csdef{YAD@starnostar@makededications}{%
         \pagestyle{prepreliminary}%
-        \cleardoublepage%
         \if@tempswa%
         \else%
         \vspace*{\stretch{2}}%
@@ -4958,9 +4859,6 @@ This work consists of the file  yathesis.dtx
         permettant de préparer des dédicaces, n'a pas été utilisée.%
         }%
         }{%
-%    \end{macrocode}
-% Appel du style de page propre à la partie préliminaire
-%    \begin{macrocode}
         \begin{flushright}
           \itshape%
           \DTLforeach*{dedications}{%
@@ -4994,6 +4892,7 @@ This work consists of the file  yathesis.dtx
         \else%
         \vspace*{\stretch{2}}%
         \fi
+        \pagestyle{preliminary}%
         }%
 %    \end{macrocode}
 % \end{macro}
@@ -5006,7 +4905,7 @@ This work consists of the file  yathesis.dtx
 }%
 \csdef{YAD@starnostar@makefrontepigraphs}{%
   \patchcmd{\epigraphs}{\qitemlabel}{\qitemlabel\itemsep=1.5\baselineskip}{}{}%
-  \cleardoublepage%
+  \pagestyle{prepreliminary}%
   \if@tempswa%
   \else%
   \vspace*{\stretch{2}}%
@@ -5027,9 +4926,6 @@ This work consists of the file  yathesis.dtx
     }{%
     }%
   }{%
-%    \end{macrocode}
-% Appel du style de page propre à la partie préliminaire
-%    \begin{macrocode}
     \begin{epigraphs}
       \DTLforeach*{frontepigraphs}{%
         \YAD@epigraphlanguage=epigraphlanguage,%
@@ -5072,39 +4968,10 @@ This work consists of the file  yathesis.dtx
   \else%
   \vspace*{\stretch{2}}%
   \fi
-}%
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{environment}{epigraphspage}
-% Environnement de la page des épigraphes globales à la thèse
-%    \begin{macrocode}
-\newenvironment{epigraphspage}{%
-%    \end{macrocode}
-% Redéfinition locale de la commande d'épigraphe
-%    \begin{macrocode}
-  \patchcmd{\epigraphs}{\qitemlabel}{\qitemlabel\itemsep=1.5\baselineskip}{}{}
-  \cleardoublepage%
-  \vspace*{\stretch{1}}%
-}{%
-  \vspace*{\stretch{1}}%
-}%
-%    \end{macrocode}
-% Appel du style de page propre à la partie préliminaire du
-% document, notamment début de l'insertion des titres courants (on
-% ajoute le style de page "prepreliminary" avant que l'environnement
-% "epigraphspage" ne débute, de sorte que sa portée ne soit pas
-% limitée à cet environnement).
-%    \begin{macrocode}
-\BeforeBeginEnvironment{epigraphspage}{%
-  \pagestyle{prepreliminary}%
-}%
-\AfterEndEnvironment{epigraphspage}{%
   \pagestyle{preliminary}%
 }%
 %    \end{macrocode}
-% \end{environment}
-%
+% \end{macro}
 %
 %\section{Commandes et styles pour les tables des matières locales}
 %
@@ -5411,6 +5278,24 @@ This work consists of the file  yathesis.dtx
 }{}{}%
 %    \end{macrocode}
 % \end{environment}
+%
+% Le code pour l'affichage des bibliographies locales, utilisé à plusieurs
+% endroits, est stocké dans une macro.
+%    \begin{macrocode}
+\newcommand{\printlocalbibs}{%
+  \ifbool{YAD@localbibs}{%
+    \ifbool{YAD@localbibs@used}{%
+    }{%
+      \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%
+      \booltrue{YAD@localbibs@used}%
+    }%
+  }{%
+  }%
+}%
+%    \end{macrocode}
 % On redéfinit la commande "\chapter" de sorte que, dans un chapitre non
 % numéroté ("\chapter*") :
 % \begin{itemize}
@@ -5431,14 +5316,10 @@ This work consists of the file  yathesis.dtx
 \LetLtxMacro{\YAD@ORI@chapter}{\chapter}%
 \AfterPreamble{% delay the redefinition when titlesec has done its own
   \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%
-    }{%
-    }
+    \printlocalbibs{}%
+    \boolfalse{YAD@localbibs@used}%
     \cleardoublepage%
+    \renewcommand{\sectiontitle}{}%
     \YAD@phantomsection%
     \ifbool{YAD@output@paper}{%
     }{%
@@ -5487,7 +5368,7 @@ This work consists of the file  yathesis.dtx
     \boolfalse{YAD@nonnumbered@paragraph}%
     \boolfalse{YAD@nonnumbered@subparagraph}%
     \if@mainmatter%
-    \YAD@setsecnumdepth{\YAD@secnumdepth}
+    \YAD@setsecnumdepth{\YAD@secnumdepth}%
     \fi%
     \YAD@tmp@chapter[#1][#2]{#3}%
   }%
@@ -5514,7 +5395,7 @@ This work consists of the file  yathesis.dtx
 % tables des matières.
 % \end{itemize}
 %    \begin{macrocode}
-\LetLtxMacro{\YAD@ORI@section}{\section}
+\LetLtxMacro{\YAD@ORI@section}{\section}%
 \renewcommand\section{%
   \if@mainmatter%
   \ifbool{YAD@nonnumbered@chapter}{%
@@ -5523,7 +5404,7 @@ This work consists of the file  yathesis.dtx
   }%
   \fi%
   \@ifstar{\YAD@starred@section}{\YAD@unstarred@section}%
-}
+}%
 \newcommandtwoopt*{\YAD@tmp@section}[3][][]{%
   \ifthenelse{\isempty{#1}}{%
     \ifthenelse{\isempty{#2}}{%
@@ -5575,7 +5456,7 @@ This work consists of the file  yathesis.dtx
 % "\section".
 % \end{itemize}
 %    \begin{macrocode}
-\LetLtxMacro{\YAD@ORI@subsection}{\subsection}
+\LetLtxMacro{\YAD@ORI@subsection}{\subsection}%
 \renewcommand\subsection{%
   \if@mainmatter%
   \ifbool{YAD@nonnumbered@section}{%
@@ -5584,7 +5465,7 @@ This work consists of the file  yathesis.dtx
   }%
   \fi%
   \@ifstar{\YAD@starred@subsection}{\YAD@unstarred@subsection}%
-}
+}%
 \newcommand*{\YAD@tmp@subsection}[2][]{%
   \ifthenelse{\isempty{#1}}{%
     \YAD@ORI@subsection{#2}%
@@ -5613,7 +5494,7 @@ This work consists of the file  yathesis.dtx
   \YAD@tmp@subsection[#1]{#2}%
 }%
 %
-\LetLtxMacro{\YAD@ORI@subsubsection}{\subsubsection}
+\LetLtxMacro{\YAD@ORI@subsubsection}{\subsubsection}%
 \renewcommand\subsubsection{%
   \if@mainmatter%
   \ifbool{YAD@nonnumbered@subsection}{%
@@ -5622,7 +5503,7 @@ This work consists of the file  yathesis.dtx
   }%
   \fi%
   \@ifstar{\YAD@starred@subsubsection}{\YAD@unstarred@subsubsection}%
-}
+}%
 \newcommand*{\YAD@tmp@subsubsection}[2][]{%
   \ifthenelse{\isempty{#1}}{%
     \YAD@ORI@subsubsection{#2}%
@@ -5649,7 +5530,7 @@ This work consists of the file  yathesis.dtx
   \YAD@tmp@subsubsection[#1]{#2}%
 }%
 %
-\LetLtxMacro{\YAD@ORI@paragraph}{\paragraph}
+\LetLtxMacro{\YAD@ORI@paragraph}{\paragraph}%
 \renewcommand\paragraph{%
   \if@mainmatter%
   \ifbool{YAD@nonnumbered@subsubsection}{%
@@ -5658,7 +5539,7 @@ This work consists of the file  yathesis.dtx
   }%
   \fi%
   \@ifstar{\YAD@starred@paragraph}{\YAD@unstarred@paragraph}%
-}
+}%
 \newcommand*{\YAD@tmp@paragraph}[2][]{%
   \ifthenelse{\isempty{#1}}{%
     \YAD@ORI@paragraph{#2}%
@@ -5683,7 +5564,7 @@ This work consists of the file  yathesis.dtx
   \YAD@tmp@paragraph[#1]{#2}%
 }%
 %
-\LetLtxMacro{\YAD@ORI@subparagraph}{\subparagraph}
+\LetLtxMacro{\YAD@ORI@subparagraph}{\subparagraph}%
 \renewcommand\subparagraph{%
   \if@mainmatter%
   \ifbool{YAD@nonnumbered@paragraph}{%
@@ -5692,7 +5573,7 @@ This work consists of the file  yathesis.dtx
   }%
   \fi%
   \@ifstar{\YAD@starred@subparagraph}{\YAD@unstarred@subparagraph}%
-}
+}%
 \newcommand*{\YAD@tmp@subparagraph}[2][]{%
   \ifthenelse{\isempty{#1}}{%
     \YAD@ORI@subparagraph{#2}%
@@ -6124,7 +6005,7 @@ This work consists of the file  yathesis.dtx
     \defbibheading{YAD@localbibs@heading}[\translate{lbl-localbibname}]{%
       \renewcommand\addcontentsline[3]{}%
       \section*{#1}%
-      \let\addcontentsline\YAD@addcontentsline
+      \let\addcontentsline\YAD@addcontentsline%
     }%
 %    \end{macrocode}
 %
@@ -6145,20 +6026,24 @@ This work consists of the file  yathesis.dtx
       \booltrue{YAD@printbibliography@used}%
 %    \end{macrocode}
 %
-% Hack aimablement fourni par samcarter
+% Un hack aimablement fourni par samcarter
 % (\url{https://texnique.fr/osqa/questions/6977/header-avec-biblatex/6978})
-% qui évite que l'entête de la bibliographie, en dernière page de celle-ci, ne
-% contienne pas seulement \enquote{Bibliographie} mais \enquote{CHAPITRE
-% XXX. Bibliographie}.
+% a permis d'éviter que l'entête de la bibliographie, en dernière page de
+% celle-ci, ne  contienne pas seulement \enquote{Bibliographie} mais
+% \enquote{CHAPITRE XXX. Bibliographie}.
 %    \begin{macrocode}
-      \pagestyle{biblio}%
+      \singlespace%
       \chapter*{\bibname}%
-      \begingroup%
-      \let\cleardoublepage\relax%
       \YAD@printbibliography@ORI[heading=none,#1]%
-      \endgroup%
+      \endsinglespace%
     }%
   }{%
+    \BeforeBeginEnvironment{thebibliography}{%
+      \singlespacing%
+    }%
+    \AtEndEnvironment{thebibliography}{%
+      \clearpage%
+    }%
   }%
 }%
 %    \end{macrocode}
@@ -6301,6 +6186,26 @@ This work consists of the file  yathesis.dtx
 }%
 %    \end{macrocode}
 %
+% Le code suivant, aimablement fourni par touhami
+% (\url{https://texnique.fr/osqa/questions/8358/packages-glossaries-et-yathesis-pepin-de-forme-plurielle-glspl})
+% perme tque, dans le cas d'un mémoire en anglais (option
+% "mainlanguage=english"), les règles s'appliquant aux glossaires et acronymes
+% soient bien celles de l'anglais (et non du français).
+%    \begin{macrocode}
+\AtEndPreamble{%
+  \@ifpackageloaded{glossaries}{%
+    \IfLanguageName{english}{%
+      \makeatletter
+      \let\glossariescaptionsenglish\undefined
+      \input{glossaries-english.ldf}
+      \makeatother
+    }{%
+    }%
+  }{%
+  }%
+}%
+%    \end{macrocode}
+%
 % \subsection{Fichiers importés par la classe}
 %
 % La \yatcl charge les fichiers de configuration locale et de données
@@ -6571,49 +6476,48 @@ This work consists of the file  yathesis.dtx
 %
 %    \begin{macrocode}
 # mode: yathesis.cls
-# denisbitouze, 2020-03-26
+# denisbitouze, 2020-04-05
 #
-#include:class-book
-#include:latex-document
-#include:latex-mathsymbols
-#include:tex
-#include:pgfopts
+#include:adjustbox
+#include:array
+#include:babel
+#include:biblatex
+#include:bookmark
+#include:colophon
+#include:csquotes
+#include:datatool
+#include:datetime
+#include:draftwatermark
+#include:environ
+#include:epigraph
+#include:etoc
 #include:etoolbox
-#include:xpatch
-#include:morewrites%
 #include:filehook
-#include:hopatch
-#include:xifthen
-#include:xkeyval%
+#include:fncychap
 #include:geometry
 #include:graphicx
-#include:environ
-#include:adjustbox
-#include:array
-#include:xstring
-#include:textcase
-#include:translator
+#include:hopatch
+#include:hypcap
+#include:ifdraft
+#include:iflang
 #include:iftex
-#include:epigraph
-#include:tcolorbox
+#include:letltxmacro
 #include:marvosym
+#include:morewrites
+#include:nonumonpart
+#include:pgfopts
 #include:setspace
-#include:etoc
+#include:tcolorbox
+#include:textcase
+#include:titleps
 #include:tocbibind
-#include:nonumonpart
+#include:translator
+#include:twoopt
 #include:xcolor
-#include:datatool
-#include:fncychap
-#include:titleps
-#include:ifdraft
-#include:colophon
-#include:draftwatermark
-#include:babel
-#include:iflang
-#include:datetime
-#include:hypcap
-#include:bookmark
-#include:glossaries-babel
+#include:xifthen
+#include:xkeyval
+#include:xpatch
+#include:xstring
 #
 # Document class
 #keyvals:\documentclass/yathesis
@@ -6704,39 +6608,17 @@ datetime
 \doctoralschool[%<précision(s)%>]{nom de l'école doctorale%text}#n
 \laboratory[%<précision(s)%>]{%<nom du laboratoire%>}{%<adresse du laboratoire%>}#n
 #
-#keyvals:\pres
-logo=
-logoheight=
-url=
-#endkeyvals
-#keyvals:\comue
-logo=
-logoheight=
-url=
-#endkeyvals
-#keyvals:\institute
-logo=
-logoheight=
-url=
-nologo
-#endkeyvals
-#keyvals:\coinstitute
+#keyvals:\pres,\comue,\doctoralschool
 logo=
 logoheight=
 url=
-nologo
 #endkeyvals
-#keyvals:\company
+#keyvals:\institute,\coinstitute,\company
 logo=
 logoheight=
 url=
 nologo
 #endkeyvals
-#keyvals:\doctoralschool
-logo=
-logoheight=
-url=
-#endkeyvals
 #keyvals:\laboratory
 logo=
 logoheight=
@@ -6993,7 +6875,7 @@ name=
 \AfterEndPreamble{
   \pretocmd{\tableofcontents@YAD@without@argument}{\cleardoublepage\zlabel{tableofcontents-withoutargument}}{}{}
   \pretocmd{\tableofcontents@YAD@with@argument}{\cleardoublepage\zlabel{tableofcontents-withargument}}{}{}
-  \pretocmd{\YAD@insert@colophon}{\clearpage\zlabel{colophon}}{}{}
+  \pretocmd{\printcolophontext}{\zlabel{colophon}}{}{}
   \pretocmd{\maketitle}{\zlabel{fr-title}}{}{}%
   \pretocmd{\makedisclaimer}{\cleardoublepage\zlabel{disclaimer}}{}{}
   \pretocmd{\makekeywords}{\cleardoublepage\zlabel{keywords}}{}{}
@@ -7019,6 +6901,9 @@ name=
       \ifthenelse{\equal{#3}{Introduction générale}}{\cleardoublepage\zlabel{introduction}%
       }{%
       }%
+      \ifthenelse{\equal{#3}{Développement}}{\zlabel{localbib}%
+      }{%
+      }%
       \ifthenelse{\equal{#3}{Contexte du chaos du rire}}{\cleardoublepage\zlabel{chapter}%
       }{%
       }%
-- 
cgit v1.2.3

