\chapter{Personnalisation}\label{cha-configuration}

% Cette section passe en revue les outils de personnalisation propres ou pas à la
% \yatCl{} :
% \begin{enumerate}
% \item options de classe ;
% \item options de préambule ;
% \item commandes (et options de commandes) de la \yatCl{};
% \item packages chargés par la \yatCl{} ;
% \item packages chargés manuellement.
% \end{enumerate}

\section{Options de classe}\label{options-classe}
\index{option!de \yatcl{}|(}

Les \meta{options} de classe de la \yatCl{} sont à passer selon la syntaxe
usuelle :
\begin{preamblecode}
\documentclass["\meta{options}"]{yathesis}
\end{preamblecode}
% Tester et documenter la commande |\yasetup|.

% La \yatCl{} accepte, en sus des options qui lui sont propres, celles de la
% \Class{book} sur laquelle est elle basée.

\subsection{Options de la classe \textsf{book}}\label{sec-options-usuelles-de}
\index{option!de la \Class{book}}

Parmi les \meta{options} de \yatcl{} figurent celles de la \Class{book},
notamment :
\begin{itemize}
\item\index{taille des caractères}%
  \docAuxKey{10pt} (défaut), \docAuxKey{11pt}, \docAuxKey{12pt}, pour fixer
  la taille de base des caractères ;
\item éventuellement :
  \begin{itemize}
  \item\index{équation!numéro à gauche}%
    \docAuxKey{leqno} pour afficher les numéros d'équations à gauche ;
  \item\index{équation!alignement à gauche}%
    \docAuxKey{fleqn} pour que les équations hors texte soient toutes
    alignées à gauche avec un même retrait d'alinéa ;
  \item%
    \index{pagination}%
    \indexsee{recto}{pagination}%
    \indexsee{verso}{pagination}%
    \docAuxKey{oneside} pour une \gls{pagination} en recto
    seulement\footnote{Les chapitres commencent alors indifféremment sur une
      page paire ou impaire\index{page!paire/impaire} (c'est-à-dire sur une page
      de gauche ou de droite\index{page!gauche/droite}).}.
  \end{itemize}
\end{itemize}
\begin{dbwarning}{Options usuelles de la \Class{book} : à utiliser avec
    discernement}{}
  Dans le cadre d'un usage de la \yatCl{}, il est \emph{fortement} déconseillé de
  recourir à d'autres options usuelles de la \Class{book} que celles
  ci-dessus : cela risquerait de produire des résultats non souhaités.
\end{dbwarning}

% \subsection{Options de la \yatCl{}}\label{sec-options-yatCl{}}
%
% Les \meta{options} discutées dans cette section, propres à la \yatCl{},
% permettent de contrôler les grandes lignes du document.

\subsection{Langues (principale, secondaire, supplémentaires)}
\label{sec-langues}%
\index{langue}%
\index{langue!principale}%
\index{langue!secondaire}%
\indexsee{français}{langue}%
\indexsee{anglais}{langue}%

Par défaut, un mémoire créé avec la \yatCl{} est composé :
\begin{itemize}
\item en français comme langue principale;
\item en anglais comme langue secondaire\footnote{Utilisée ponctuellement pour
    des éléments supplémentaires tels qu'une page de titre, un résumé ou des
    mots clés.}.
\end{itemize}
%
\begin{docKey}{mainlanguage}{=\docValue{french}\textbar\docValue{english}}{pas
    de valeur par défaut, initialement \docValue{french}}
  \indexdef{langue!principale}%
  \indexdef{langue!secondaire}%
  Pour que la langue principale \aside{et activée par défaut} soit l'anglais, il
  suffit de le stipuler au moyen de l'option |mainlanguage=english|. Le français
  devient alors automatiquement la langue secondaire.
\end{docKey}

\begin{dbwarning}{Langues principales et secondaires prises en charge}{}
  Les seules langues \emph{principale} et \emph{secondaire} prises en charge
  par la \yatCl{} sont le français (\docValue{french}) et l'anglais
  (\docValue{english}).
\end{dbwarning}

\begin{dbremark}{Langues supplémentaires}{languessupplementaires}
  \index{langue!supplémentaire}%
  Il est cependant possible de faire usage de langues \emph{supplémentaires},
  autres que le français et l'anglais, en les stipulant en option de
  \docAuxCommand{documentclass}\footnote{Ces langues doivent être supportées par
    le \Package{babel}.} et en les employant selon la syntaxe du
  \Package*{babel}.
\end{dbremark}

\begin{dbexample}{Langue supplémentaire pour thèse
    multilingue principalement en français}{}
  \indexex{langue!supplémentaire}%
  Pour composer un mémoire ayant pour langue principale le français et
  supplémentaire l'espagnol \aside{cas par exemple d'une thèse en linguistique
    espagnole}, il suffit de passer l'option suivante à la \yatCl{}.
\begin{preamblecode}
\documentclass[spanish]{yathesis}
\end{preamblecode}
\end{dbexample}

\begin{dbexample}{Langue supplémentaire pour thèse
    multilingue principalement en anglais}{}
  \indexex{langue!principale}%
  \indexex{langue!secondaire}%
  \indexex{langue!supplémentaire}%
  Pour composer un mémoire ayant pour langue principale l'anglais (donc
  secondaire le français) et supplémentaire l'espagnol \aside{cas par exemple
    d'une thèse en linguistique espagnole}, il suffit de passer les options
  suivantes à la \yatCl{}.
\begin{preamblecode}
\documentclass[mainlanguage=english,spanish]{yathesis}
\end{preamblecode}
\end{dbexample}

\subsection{Tables des matières locales automatiques}
\label{sec-localtoc}%
\index{table des matières!locale}%

\subsubsection{Génération}
\label{sec:generation}

\changes{v0.99o}{2016-10-30}{Nouvelle option de classe \protect\refKey{localtocs}
  permettant de faire automatiquement débuter les chapitres par leurs \gls{tdml}}%

\changes*{v1.0.6}{2021-03-23}{La correction du bug
  \href{https://github.com/dbitouze/yathesis/issues/81}{81} a nécessité de
  remplacer une section non numérotée par une émulation de
  celle-ci}

\begin{docKey}[][doc new=2016-10-30]{localtocs}{}{par défaut \docValue{true},
    initialement \docValue{false}}
  \indexdef{table des matières!locale}%
  Cette clé fait automatiquement débuter les chapitres de la partie
  principale\footnote{C'est-à-dire entre \refCom{mainmatter} et
    \refCom{backmatter}.} par leurs \gls{tdml}.
\end{docKey}

Ces \gls{tdml} sont introduites par une (émulation de) section
non numérotée, intitulée \translateexpression{localtocname}.

\subsubsection{Profondeur}
\label{sec:profondeur}

Par défaut, les \gls{tdml} générées grâce à la clé
\refKey{localtocs} ont comme \enquote{niveau de profondeur} les
sous-sections\footnote{Ce niveau est donc par défaut identique à celui des
  \hyperref[sec-table-des-matieres]{tables des matières
    \enquote{globales}}.}. Il est possible d'en spécifier un autre grâce à la
clé \refKey{localtocs/depth}.

{%
  \tcbset{before lower=\vspace*{.5\baselineskip}\par}
  \begin{docKey}[][doc
    new=2016-10-30]{localtocs/depth}{=\docValue{section}\textbar\docValue{subsection}\textbar\docValue{subsubsection}\textbar\docValue{paragraph}\textbar\docValue{subparagraph}}{par
      défaut \docValue{subsection}, pas de valeur initiale}
    \index{table des matières!locale!profondeur}%
    \index{profondeur!table des matières!locale}%
    Cette clé :
    \begin{enumerate}
    \item actionne la clé \refKey{localtocs} ;
    \item modifie le \enquote{niveau de profondeur} des \gls{tdml},
      respectivement jusqu'aux : sections, sous-sections, sous-sous-sections,
      paragraphes, sous-paragraphes\footnote{La clé \refKey{localtocs/depth} ne
        peut pas prendre comme valeurs \docValue{part} ou \docValue{chapter}
        puisque les \gls{tdm} \emph{locales aux chapitres} ne peuvent
        être de \enquote{niveau de profondeur} \emph{supérieur ou égal} aux
        chapitres.}.
    \end{enumerate}

\end{docKey}
}

\begin{dbexample}{\gls{tdml} automatiques}{}
  \indexex{table des matières!locale}%
  Pour que chaque chapitre de la partie principale du mémoire débute
  automatiquement par sa \gls{tdml}, il suffit de passer l'option suivante à la
  \yatCl{}.
\begin{preamblecode}
\documentclass[localtocs]{yathesis}
\end{preamblecode}

  Dans l'exemple précédent (illustré \zvref{fig-introduction}), les \gls{tdml}
  vont jusqu'aux sous-sections. Pour qu'elles aillent par exemple jusqu'aux
  sous-sous-sections, on recourra à :
\begin{preamblecode}
\documentclass[localtocs/depth=subsubsection]{yathesis}
\end{preamblecode}
\end{dbexample}

La \yatCl{} fournit aussi des commandes permettant d'activer ou de désactiver
semi-globalement ou localement l'insertion automatique de \gls{tdml} et ce,
indépendamment du recours à l'option \refKey{localtocs}.

\begin{docCommand}[doc new=2016-10-30]{startlocaltocs}{}
  \index{table des matières!locale}%
  Cette commande est une bascule \emph{activant} jusqu'à nouvel ordre
  l'insertion automatique de \gls{tdml}.
\end{docCommand}

\begin{docCommand}[doc new=2016-10-30]{stoplocaltocs}{}
  \index{table des matières!locale}%
  Cette commande est une bascule \emph{désactivant} jusqu'à nouvel ordre
  l'insertion automatique de \gls{tdml}.
\end{docCommand}

\begin{docCommand}[doc new=2016-10-30]{nextwithlocaltoc}{}
  \index{table des matières!locale}%
  Cette commande \emph{active}, pour le \emph{chapitre suivant seulement},
  l'insertion automatique de \gls{tdml}.
\end{docCommand}

\begin{docCommand}[doc new=2016-10-30]{nextwithoutlocaltoc}{}
  \index{table des matières!locale}%
  Cette commande \emph{désactive}, pour le \emph{chapitre suivant seulement},
  l'insertion automatique de \gls{tdml}.
\end{docCommand}

\subsubsection{Texte introductif}
\label{sec:texte-introductif}

\changes{v1.0.6}{2021-03-23}{Nouvelle commande \protect\refCom{leadchapter}
  permettant, pour chaque chapitre, de spécifier un texte inséré entre sa tête
  et son éventuelle \gls{tdml} automatique.}%

Les chapitres voient leurs têtes automatiquement et immédiatement suivies par
leur éventuelle \gls{tdml}. La commande \refCom{leadchapter} suivante offre la
possibilité d'insérer entre les deux un texte introductif\footnote{À voir comme
  une sorte de
  \href{https://fr.wikipedia.org/wiki/Chapeau_(presse)}{\enquote{chapeau}} de chapitre.}.

\begin{docCommand}[doc new=2021-03-23]{leadchapter}{\marg{texte}}
  % \indexsee{chapeau}{texte introductif}%
  \index{table des matières!locale!texte introductif}%
  Cette commande permet, pour chaque chapitre, de spécifier un \meta{texte}
  (introductif) inséré (automatiquement) entre sa tête et son éventuelle
  \gls{tdml} automatique.
\end{docCommand}

\begin{dbwarning}{Commande \protect\refCom*{leadchapter} à insérer (juste)
    avant le chapitre souhaité}{}
  La commande \refCom{leadchapter} peut être employée autant de fois que
  souhaité. Chacune de ses occurrences doit être insérée (de préférence juste)
  avant le chapitre souhaité.
\end{dbwarning}

\subsection{Bibliographies locales automatiques}
\label{sec-localbibs}%
\index{bibliographie!locale}%

%
\changes{v0.99o}{2016-10-30}{Nouvelle option de classe
  \protect\refKey{localbibs} permettant de faire automatiquement finir les
  chapitres par leurs bibliographies locales}%

\begin{docKey}[][doc new=2016-10-30]{localbibs}{}{par défaut \docValue{true},
    initialement \docValue{false}}
  \indexdef{bibliographie!locale}%
  Cette clé fait automatiquement finir les chapitres (contenant au moins une
  référence bibliographique) par leurs bibliographies locales\footnote{Pour
    éviter de pénibles occurrences multiples d'un avertissement inutile dans ce
    cas (à la fois bibliographies par chapitres et bibliographie globale), la
    commande \docAuxCommand*{BiblatexSplitbibDefernumbersWarningOff} (liée
    à l'option \docAuxKey*{defernumbers}, cf. ci-après) est alors
    automatiquement insérée.}.
\end{docKey}

\begin{docKey}[][doc new=2016-10-30]{localbibs*}{}{par défaut \docValue{true},
    initialement \docValue{false}}
  \indexdef{bibliographie!locale}%
  Cette clé a le même effet que \refKey{localbibs} sauf que l'option
  \docAuxKey{defernumbers} du \Package*{biblatex} est alors
  activée\footnote{\label{defernumbers}Cf. la documentation de
    \package*{biblatex} pour plus de détails sur l'option
    \docAuxKey*{defernumbers}, et éventuellement des discussions sur ses
    avantages et inconvénients
    à \url{https://tex.stackexchange.com/q/332431/18401} et
    à \url{https://github.com/plk/biblatex/issues/493}.}.
\end{docKey}

\begin{dbwarning}{Package \package*{biblatex} nécessaire pour les bibliographies
    locales}{}
  Cette fonctionnalité d'ajout automatique des bibliographies locales en fin de
  chapitres repose sur le \Package{biblatex} (cf. \zvref{sec-refer-bibl}) :
  \begin{itemize}
  \item donc nécessite, pour la bibliographie de la thèse, le recours à ce
    package \alert{à l'exclusion de tout autre outil de production de
      bibliographie} (notamment \hologo{BibTeX}) ;
  \item notamment sur sa notion de segments de bibliographies et plus
    particulièrement sur l'option |refsegment=chapter| qui devra être prise
    compte si d'autres segments sont souhaités.
  \end{itemize}
\end{dbwarning}

\changes*{v1.0.8}{2021-07-13}{Commande \docAuxCommand{includeonly} inopérante en
  cas de bibliographies locales}%
\begin{dbwarning}{\docAuxCommand{includeonly} inopérante en cas de
    bibliographies locales}{}
  Pour des raisons techniques, la commande \docAuxCommand{includeonly} est
  inopérante lorsque l'option \refKey{localbibs} est utilisée. Le seul moyen de
  temporairement ne compiler que certains fichiers inclus est alors de
  temporairement commenter l'inclusion des autres.
\end{dbwarning}

\begin{dbexample}{Bibliographies locales automatiques}{}
  \indexex{bibliographie!locale}%
  Pour que chaque chapitre finisse automatiquement par sa bibliographie locale
  il suffit de passer l'option suivante à la \yatCl{}.
\begin{preamblecode}
\documentclass[localbibs]{yathesis}
\end{preamblecode}
\end{dbexample}

Les bibliographies locales sont introduites par une section (non numérotée)
intitulée \translateexpression{localbibname}.

La \zvref{fig-localbib} illustre cette fonctionnalité.
\begin{figure}[htbp]
  \centering
  \screenshot{localbib}
  \caption{Bibliographie locale}
  \label{fig-localbib}
\end{figure}

\subsection{Versions du mémoire}\label{sec-versions}
\index{version du mémoire}%

Au moyen de la clé \refKey{version}, la \yatCl{} permet de facilement produire
différentes versions du document : \enquote{intermédiaire} (par défaut),
\enquote{à soumettre}, \enquote{finale} et \enquote{brouillon}.

{\tcbset{before lower=\vspace*{.5\baselineskip}\par}
  \begin{docKey}{version}{=\docValue{inprogress}\textbar\docValue{inprogress*}\textbar\docValue{submitted}\textbar\docValue{submitted*}\textbar\docValue{final}\textbar\docValue{draft}}{pas
      de valeur par défaut, initialement \docValue{inprogress}}
    \indexdef{version du mémoire}%
    Cette clé permet, au moyen des valeurs suivantes, de spécifier la version du
    document à produire.
    \begin{description}
    \item[\docValue{inprogress}.]%
      \indexdef{version du mémoire!intermédiaire}%
      Cette valeur produit une version
      \enquote{intermédiaire} du document\footnote{Une telle version est
        éventuellement destinée à être diffusée à des relecteurs.}. Ses
      caractéristiques sont les suivantes.
      \begin{enumerate}
      \item\label{item:inprogress:1} Pour indiquer clairement qu'il s'agit d'une
        version \enquote{intermédiaire}, (presque) tous les pieds de
        page\index{pied de page} contiennent en petites capitales la mention
        \translateexpression{inprogressfoottext}.
      \item\label{item:inprogress:2} Aucun élément \enquote{obligatoire}
        (cf. \zvref{sec-comm-oblig}) manquant n'est signalé.
      \end{enumerate}
    \item[\docValue{inprogress*}.]%
      \indexdef{version du mémoire!intermédiaire}%
      Cette valeur produit le même effet que la valeur \docValue{inprogress}
      sauf que le caractère non définitif de la version est renforcé par la
      mention \translateexpression{inprogress}, figurant en
      filigrane\index{filigrane} et en capitales sur toutes les pages.
    \item[\docValue{submitted}.]%
      \indexdef{version du mémoire!soumise aux rapporteurs}%
      Cette valeur produit une version du document
      destinée à être \enquote{soumise} aux rapporteurs. \emph{Contrairement à}
      la version par défaut :
      \begin{enumerate}
      \item l'affichage en pied de page\index{pied de page} de la mention
        \enquote{Version intermédiaire en date du \meta{date du jour}} ou
        \foreignquote{english}{Work in progress as of \meta{date du jour}} est
        désactivé ;
      \item \changes*{v0.99f}{2014-07-11}{En versions \enquote{à soumettre},
          date de soutenance et composition du jury absentes des pages de titre
          (et non obligatoires)}%
        %
        sur les pages de titre, la composition du jury est masquée et la date de
        soutenance est supprimée\footnote{En versions soumises aux rapporteurs,
          le doctorant ne peut préjuger ni d'un jury ni d'une date de
          soutenance, ne sachant pas encore s'il va être autorisé à soutenir.} ;
      \item tout élément \enquote{obligatoire} (cf. \zvref{sec-comm-oblig})
        manquant est signalé par une erreur de compilation\footnote{La date de
          soutenance est normalement \enquote{obligatoire}, sauf dans les
          versions soumises aux rapporteurs où elle ne figure nulle part.}.
      \end{enumerate}
    \item[\docValue{submitted*}.] %
      \indexdef{version du mémoire!soumise aux rapporteurs}%
      %
      Cette valeur produit le même effet que la valeur \docValue{submitted} sauf
      que le caractère \enquote{à soumettre} de la version est renforcé par
      l'affichage, sur (presque) tous les pieds de pages\index{pied de page} et
      en petites capitales, de la mention \enquote{Version soumise en date du
        \meta{date}} ou \translateexpression{submittedfoottext}. Ici, la
      \meta{date} est par défaut celle du jour, mais il est possible d'en
      spécifier une autre au moyen de la commande \refCom{submissiondate}.
    \item[\docValue{final}.]
      \indexdef{version du mémoire!finale}%
      Cette valeur produit une version \enquote{finale}
      du document. \emph{Contrairement à} la version par défaut :
      \begin{enumerate}
      \item l'affichage en pied de page\index{pied de page} de la mention
        \enquote{Version intermédiaire en date du \meta{date du jour}} ou
        \foreignquote{english}{Work in progress as of \meta{date du jour}} est
        désactivé ;
      \item si un élément \enquote{obligatoire} (cf. \zvref{sec-comm-oblig})
        manque, une erreur de compilation signale l'omission.
      \end{enumerate}
    \item[\docValue{draft}.]
      \indexdef{version du mémoire!brouillon}%
      Cette valeur produit une version
      \enquote{brouillon} du document\footnote{Une telle version est \emph{a
          priori} à usage exclusif de l'utilisateur et n'est en particulier pas
        destinée à être diffusée.}. Ses caractéristiques sont les suivantes :
      \begin{itemize}
      \item \emph{comme} la version par défaut, si un élément
        \enquote{obligatoire} (cf. \zvref{sec-comm-oblig}) manque, aucune erreur
        de compilation ne signale l'omission ;
      \item \emph{contrairement à} la version par défaut, la mention
        \enquote{Version intermédiaire en date du \meta{date du jour}} ou
        \foreignquote{english}{Work in progress as of \meta{date du jour}} ne
        figure pas ;
      \item \emph{en plus de} la version par défaut :
        \begin{enumerate}
        \item Les différentes zones de la page, notamment celle allouée au
          texte, sont matérialisées et les dépassements de marges sont signalés
          par une barre verticale noire dans la marge.
        \item La mention \translateexpression{draft} figure en
          filigrane\index{filigrane} (et en capitales) sur toutes les pages du
          document.
        \item Sur certaines pages, notamment celles de titre :
          \begin{enumerate}
          \item les données caractéristiques de la thèse\footnote{Auteur,
              (sous-)titre, institut(s), directeurs, rapporteurs, examinateurs,
              etc.} sont des hyperliens vers le fichier de configuration de la
            thèse\footnote{Cf. \zvref{sec-lieu-de-saisie}.} où il est possible de
            les (re)définir (cf. \zvref{sec-expressions-cles});
          \item\label{item-expression} les expressions fournies par la
            \yatCl{}\footnote{\enquote{Thèse présentée par},
              \foreignquote{english}{In order to become Doctor from},
              \foreignquote{english}{draft}, \enquote{Version intermédiaire en
                date du}, etc. insérées de façon automatique sur certaines pages
              du mémoire.} sont :
            \begin{itemize}
            \item estampillées du label qui les identifie;
            \item des hyperliens vers le fichier de configuration de la thèse
              (cf.  \zvref{rq-configurationfile}) où il est possible de les
              (re)définir (cf. \zvref{sec-expressions-cles}).
            \end{itemize}
          \end{enumerate}
          Si le système d'exploitation est correctement configuré, un simple
          clic sur ces hyperliens ouvre le fichier correspondant dans l'éditeur
          de texte \LaTeX{} par défaut.
        \end{enumerate}
      \end{itemize}
    \end{description}
  \end{docKey}
}

Les versions \enquote{à soumettre} et \enquote{finale} d'un mémoire de thèse ne
sont à produire qu'exceptionnellement, en toute fin de rédaction. De ce fait :
\begin{dbwarning}{Par défaut, documents en version intermédiaire}{}
  Un document composé avec la \yatCl{} est par défaut en version
  \emph{intermédiaire}. Autrement dit, la clé \refKey{version} a pour valeur
  initiale \docValue*{inprogress}.
\end{dbwarning}

\subsection{Formats de sortie}
\label{sec-formats-de-sortie}
\index{format du mémoire}%

Les documents composés avec la \yatCl{} peuvent avoir deux formats de sortie :
\enquote{écran} (par défaut) et \enquote{papier}, stipulés au moyen de la clé
\refKey{output}.

\begin{docKey}{output}{=\docValue{screen}\textbar\docValue{paper}\textbar\docValue{paper*}}{pas
    de valeur par défaut, initialement \docValue{screen}}
  \indexdef{format du mémoire}%
  Cette clé permet, au moyen des valeurs suivantes, de spécifier le format de
  sortie du document.
  \begin{description}
  \item[\docValue{screen}.]%
    \indexdef{format du mémoire!écran}%
    Avec cette valeur, le document a un format de sortie destiné à être
    visualisé à l'écran. Ce format ne présente pas de spécificités
    particulières.
  \item[\docValue{paper}.]%
    \indexdef{format du mémoire!papier}%
    Avec cette valeur, le document a un format de sortie
    destiné à être imprimé sur papier. Les différences par rapport au format
    \enquote{écran} sont les suivantes :
    \begin{enumerate}
    \item%
      \index{lien hypertexte}%
      si le \Package{hyperref} est chargé par l'utilisateur,
      \begin{enumerate}
      \item\label{item-paper-1}%
        sa commande |\href{|\meta{\normalfont\ttfamily\glsxtrshort*{url}}|}{|\meta{texte}|}| est
        automatiquement remplacée par :
        \lstset{deletekeywords={url},deletekeywords={[2]url}}%
        \begin{itemize}
        \item
          \meta{texte}\lstinline+\footnote{\url{+\meta{\normalfont\ttfamily\glsxtrshort*{url}}|}}|
          %
          si elle figure dans le texte ordinaire ;
        \item \meta{texte}
          \lstinline+(\url{+\meta{\normalfont\ttfamily\glsxtrshort*{url}}|})|
          si elle figure en note de bas de page ;
        \end{itemize}
      \item les liens hypertextes sont systématiquement matérialisés comme le
        fait par défaut le \Package{hyperref}, c'est-à-dire par des cadres
        rectangulaires de couleurs (qui ne figurent pas sur le document
        papier). Ainsi, si l'utilisateur recourt à la commande
        |\hypersetup{colorlinks=true}| pour que, en sortie \enquote{écran}, les
        hyperliens soient composés en couleur et non pas encadrés, il n'a pas
        besoin de modifier ce choix pour que, en sortie \enquote{papier}, cette
        coloration soit désactivée ;
      \end{enumerate}
    \item%
      \label{item-paper-2}%
      les barres de navigation affichées par certains styles de
      glossaires\footnote{Telles qu'on peut en voir
        \zvref{fig-printabbreviations,fig-printglossary}.} \emph{sont} masquées.
    \end{enumerate}
  \item[\docValue{paper*}.]%
    \indexdef{format du mémoire!papier}%
    Cette valeur produit le même effet que la valeur \docValue{paper} sauf que
    son \zvref{item-paper-2} est inversé : les barres de navigation \emph{ne}
    sont \emph{pas} masquées.
  \end{description}
\end{docKey}

\begin{dbwarning}{Mises en page éventuellement différentes en formats
    \enquote{écran} et \enquote{papier}}{}
  Du fait des \zvref{item-paper-1,item-paper-2} précédents, les mises en page des
  formats \enquote{écran} et \enquote{papier} peuvent être différentes, et il
  pourra être opportun de les comparer, par exemple à l'aide d'un logiciel
  comparateur de fichiers \glsxtrshort{pdf}. Si on souhaite que les sorties
  \enquote{écran} et \enquote{papier} soient absolument identiques, il suffit
  d'imprimer la première ; mais il faut avoir conscience du fait que, dans ce
  cas, si le mémoire contient des références vers des \glsxtrshort{url} (par
  exemple fournies par
  |\href{|\meta{\normalfont\ttfamily\glsxtrshort*{url}}|}{|\meta{texte}|}|), leurs
  cibles ne figureront nulle part en sortie \enquote{papier}.
\end{dbwarning}

\subsection{Profondeur de la numérotation}\label{sec-profondeur-de-la}
\index{profondeur!numérotation des unités}%
\index{numérotation!des unités!profondeur}%

Par défaut, la numérotation des unités a pour \enquote{niveau de
  profondeur} les sous-sections. Autrement dit, seuls les titres des parties
(éventuelles), chapitres, sections et sous-sections sont numérotés.  L'option
\refKey{secnumdepth} suivante permet de spécifier un autre niveau de
profondeur.
%
{%
  \tcbset{before lower=\vspace*{.5\baselineskip}\par}
  \begin{docKey}{secnumdepth}{=\docValue{part}\textbar\docValue{chapter}\textbar\docValue{section}\textbar\docValue{subsection}\textbar\docValue{subsubsection}\textbar\docValue{paragraph}\textbar\docValue{subparagraph}}{pas
      de valeur par défaut, initialement \docValue{subsection}}
    \indexdef{profondeur!numérotation des unités}%
    \indexdef{numérotation!des unités!profondeur}%
    Cette clé permet de modifier le \enquote{niveau de profondeur} de la
    numérotation des unités jusqu'aux, respectivement : parties,
    chapitres, sections, sous-sections, sous-sous-sections, paragraphes,
    sous-paragraphes.
  \end{docKey}
}

\subsection{Espace interligne}\label{sec-interligne}
\index{espace!interligne}%

L'interligne du document est par défaut \enquote{simple} mais, au moyen de
l'option \refKey{space} suivante, il est possible de spécifier un interligne
\enquote{un et demi} ou \enquote{double}.

\begin{docKey}{space}{=\docValue{single}\textbar\docValue{onehalf}\textbar\docValue{double}}{pas de valeur par défaut,
    initialement \docValue{single}}
  \indexdef{espace!interligne}%
  Cette clé permet de spécifier un interligne \docValue{single} (simple),
  \docValue{onehalf} (un et demi) ou \docValue{double} (double).
\end{docKey}

\begin{dbwarning}{Option d'interligne : seulement dans la partie
    principale}{space-setspace}
  Contrairement à l'option \refKey{setspace} qui a un effet (semi-)global et
  prend effet dès le début du document, l'option \refKey{space} ne prend effet
  qu'à la partie principale du document (cf. \zvref{cha-corps}) et se termine
  avec elle, avant la partie annexe (cf. \zvref{cha-annexes}).
\end{dbwarning}

Si on souhaite changer d'interligne ailleurs dans le mémoire, on recourra aux
commandes du \Package*{setspace} \aside*{chargé par la \yatCl{}}.

\subsection{Style des têtes de chapitres}\label{sec-style-des-tetes}

Pour gérer les têtes de chapitres, la \yatCl{} s'appuie sur le
\Package*{fncychap}, par défaut chargé avec le style \docValue{PetersLenny}. La
clé \refKey{fncychap} suivante permet de spécifier un autre style de ce
package\footnote{Par souci de compatibilité ascendante, la clé désormais
  obsolète \docAuxKey{chap-style} est un alias de la clé
  \refKey{fncychap}.}.%
%
{%
  \tcbset{before lower=\vspace*{.5\baselineskip}\par}
  \begin{docKey}{fncychap}{=\docValue{Sonny}\textbar\docValue{Lenny}\textbar\docValue{Glenn}\textbar\docValue{Conny}\textbar\docValue{Rejne}\textbar\docValue{Bjarne}\textbar\docValue{PetersLenny}\textbar\docValue{Bjornstrup}\textbar\docValue{none}}{pas
      de valeur par défaut, initialement \docValue{PetersLenny}}
    \index{chapitre!style de tête}%
    \index{style!de tête de chapitre}%
    \changes{v0.99g}{2014-07-13}{Clé \protect\refAux{chap-style} remplacée par
      (et alias de) la clé \protect\refKey{fncychap}}%
    %
    Cette clé permet de spécifier un autre style du \Package{fncychap}.

    Le \enquote{style} supplémentaire \docValue{none} permet de désactiver le
    chargement de \package{fncychap} pour retrouver comme style des têtes de
    chapitres celui usuel de la \Class{book}.
  \end{docKey}
}

\subsection{Colophon}
\label{sec-coloplhon}
\index{colophon}%
\indexsee{achevé d'imprimer}{colophon}%

De manière générale, un colophon (ou achevé d'imprimer) est une note indiquant
le plus souvent le titre de l'œuvre, son auteur, l'imprimeur et la date
d'impression. Figurant autrefois à la fin d'un imprimé, il se trouve désormais
souvent au début.

\changes{v1.0.0}{2020-03-26}{Désormais, colophon automatiquement ajouté au
  mémoire.}%
%
La \yatCl{} insère automatiquement un colophon tel que celui de la
\zvref{fig-colophon}.
\begin{figure}[htbp]
  \centering
  \screenshot{colophon}%
  \caption{Colophon}
  \label{fig-colophon}
\end{figure}

Par défaut, ce colophon se trouve en 2\ieme{} de couverture, est intitulé
\enquote{Colophon} et a pour contenu une phrase semblable à\selonlangue{} :
\begin{displayquote}
  Mémoire de thèse intitulé \frquote{\meta{titre}}, écrit par \meta{auteur},
  achevé le \meta{date du jour de la compilation}, composé au moyen du système
  de préparation de document \LaTeX{} et de la \yatCl{} dédiée aux thèses
  préparées en France.
\end{displayquote}
ou :
\begin{foreigndisplayquote}{english}
  Doctoral dissertation entitled “\meta{titre}”, written by \meta{auteur},
  completed on \meta{date du jour de la compilation}, typeset with the document
  preparation system \LaTeX{} and the \yatCl{} dedicated to theses prepared in
  France.
\end{foreigndisplayquote}
où le \meta{titre} et l'\meta{auteur} sont ceux définis par les commandes
\refCom{title} et \refCom{author}.

Ce colophon peut être personnalisé au moyen de l'option
\refKey{colophon-location} et de la commande \refCom{colophontext} suivantes.

{\tcbset{before lower=\vspace*{.5\baselineskip}\par}
  \begin{docKey}[][doc
    new=2020-03-26]{colophon-location}{=\docValue{verso-frontcover}\textbar\docValue{recto-backcover}\textbar\docValue{nowhere}}{pas
      de valeur par défaut, initialement \docValue{verso-frontcover}}
    %
    \changes{v1.0.0}{2020-03-26}{Nouvelle option de classe
      \protect\refKey{colophon-location} permettant de modifier l'emplacement par
      défaut (en 2\ieme{} de couverture) du colophon ou de le
      supprimer\protect\footnote{Pour retrouver le comportement antérieur (pas
        de colophon), il suffit de spécifier \protect\lstinline|colophon-location=nowhere|.}.}%
    %
    Cette clé permet, au moyen des valeurs suivantes, de spécifier l'emplacement
    du colophon dans le mémoire.
  \begin{description}
    \indexdef{colophon!emplacement}%
  \item[\docValue{verso-frontcover}.]%
    \indexdef{colophon!emplacement!2\ieme{} de couverture}%
    Avec cette valeur, le colophon apparaît en 2\ieme{} de couverture,
    c'est-à-dire au dos :
    \begin{itemize}
    \item soit de la 1\iere{} de couverture ;
    \item soit de la (1\iere{}) page de titre (en l'absence de 1\iere{} de
      couverture, cf. \refKey{nofrontcover}).
    \end{itemize}
  \item[\docValue{recto-backcover}.]%
    \indexdef{colophon!emplacement!3\ieme{} de couverture}%
    Avec cette valeur, le colophon apparaît en 3\ieme{} de couverture (sous
    réserve de 4\ieme{} de couverture, cf. \refCom{makebackcover}).
  \item[\docValue{nowhere}.]%
    \indexdef{colophon!suppression}%
    Avec cette valeur, le colophon ne figure nulle part dans le mémoire.
  \end{description}
\end{docKey}
}

\begin{docCommand}[doc new=2020-03-26]{colophontext}{\marg{texte}}
  \index{colophon!modification du texte}%
  \changes{v1.0.0}{2020-03-26}{Nouvelle commande \protect\refCom{colophontext}
    permettant de modifier le texte par défaut du colophon.}%
  %
  Cette commande permet de redéfinir le \meta{texte} par défaut du colophon.

  \begin{dbwarning}{Commande \protect\refCom{colophontext} : dans le corps du
      et document avant \protect\refCom{maketitle}}{}
    Pour qu'elle soit opérationnelle, la commande \refCom{colophontext} doit
    être employée entre \lstinline+\begin{document}+ et \refCom{maketitle}.
  \end{dbwarning}
\end{docCommand}

La \yatCl{} s'appuie sur le \Package{colophon} pour composer le colophon. De ce
fait, ce dernier peut être davantage personnalisé au moyen des commandes de ce
package.

\begin{dbwarning}{Commandes du \Package{colophon} : à utiliser avec
    discernement}{}
  Dans le cadre d’un usage de la \yatCl{}, il est fortement déconseillé de
  recourir aux commandes \docAuxCommand{colophonpagestyle},
  \docAuxCommand{colophonclrpg}, \docAuxCommand{colophontopspace} et
  \docAuxCommand{colophonbotspace} du \Package{colophon} : cela risquerait de
  produire des résultats non souhaités.
\end{dbwarning}

\subsection{Habilitations à diriger les recherches}
\label{sec-hdr}%
% \index{hdr (habilitation)@\glsxtrshort{hdr} (habilitation)}%

Grâce à sa clé \refKey{hdr}, la \yatCl{} peut être utilisée pour les
\glspl{hdr}.

\begin{docKey}{hdr}{=\docValue{true}\textbar\docValue{false}}{par défaut
    \docValue{true}, initialement \docValue{false}}
  % \indexdef{hdr (habilitation)@\glsxtrshort{hdr} (habilitation)}%
  \changes{v0.99f}{2014-07-11}{Nouvelle clé \protect\refKey{hdr} permettant de
    d'utiliser la \yatCl{} pour une habilitation à diriger les recherches}%
  %
  Cette clé spécifie que le mémoire est pour une \gls{hdr}.
\end{docKey}

Les seuls effets de la clé \refKey{hdr} sont :
\begin{itemize}
\item d'adapter un certain nombre d'expressions clés de la \yatCl{}, en
  remplaçant par exemple
  \enquote{\foreignlanguage{french}{\translate{thesisdefendedby}}} par
  \enquote{\foreignlanguage{french}{\translate{thesisdefendedby-hdr}}}. Les
  expressions propres aux habilitations à diriger les recherches sont celles
  dont les labels sont suffixés par \enquote{\texttt{-hdr}} dans le
  \zvref{tab-expressions-cles} ;
\item de ne pas rendre \enquote{obligatoire} (cf. \zvref{sec-comm-oblig}), la
  spécification de l'école doctorale\footnote{Les \glspl{hdr} ne sont pas
    préparées sous l'égide d'écoles doctorales (cf.
    \url{https://www.legifrance.gouv.fr/loda/id/JORFTEXT000000298904}).}
  (commande \refCom{doctoralschool}) ;
\item de masquer sur la ou les pages de titre tout ce qui aurait pu être
  spécifié au moyen de \refCom{doctoralschool}.
\end{itemize}

\subsection{Expressions séparant corporations et affiliations des membres du jury}
\label{sec-expr-separ-les}%
\index{expression!séparant corporation et affiliation}%

Sur les pages de titre, chaque membre du jury peut être précisé notamment par :
\begin{itemize}
\item sa corporation, cf. \refKey{professor}, \refKey{associateprofessor},
  \refKey{associateprofessor*}, \refKey{seniorresearcher},
  \refKey{juniorresearcher} et \refKey{juniorresearcher*} ;
\item son affiliation, cf. \refKey{affiliation}.
\end{itemize}
Comme illustré \zvref{fig-maketitle}, si ces deux précisions sont présentes,
elles sont par défaut séparées :
\begin{description}
\item[en français] par l'une des deux expressions contextuelles suivantes :
  \begin{itemize}
  \item \enquote{\textvisiblespace{}à l'}\footnote{Le symbole
      \enquote{\textvisiblespace{}} matérialise une espace.} ;
  \item \enquote{\textvisiblespace{}au\textvisiblespace{}} ;
  \end{itemize}
  où l'article défini est automatiquement élidé selon l'initiale (voyelle ou
  consonne) de l'affiliation ;
\item[en anglais] par l'expression fixe (non contextuelle)
  \enquote{\textvisiblespace{}at\textvisiblespace{}}.
\end{description}

\begin{dbwarning}{Élision automatique non robuste}{elision-separateurs}
  \index{expression!élision}%
  L'élision automatique des expressions contextuelles en français n'est pas
  robuste : elle peut en effet ne pas donner le résultat escompté si la valeur
  de la clé \refKey{affiliation}, définissant l'affiliation, a pour initiale :
  \begin{itemize}
  \item une consonne, mais est de genre féminin ;
  \item une voyelle, mais par le truchement d'une commande\commandeacronyme, et
    non pas \enquote{directement}.
  \end{itemize}
\end{dbwarning}

Au moyen des clés \refKey{sepcorpaffilfrench} et \refKey{sepcorpaffilenglish}
suivantes, les expressions séparatrices en français et en anglais peuvent être
redéfinies, globalement ou localement.

\begin{docKey}{sepcorpaffilfrench}{=\meta{expression}}{pas de valeur par défaut,
    initialement \lstinline[showspaces]+\ +\texttt{à}\lstinline[showspaces]+\ +\texttt{l'} ou
    \lstinline[showspaces]+\ au\ +}
  \indexdef{expression!séparant corporation et affiliation}%
  Cette option permet de redéfinir l'\meta{expression} employée en français pour
  séparer les corporations et affiliations des membres du jury. Elle peut être
  employée :
  \begin{description}
  \item[globalement:] elle est alors à spécifier en option de la classe de
    document ;
  \item[localement:] elle est alors à spécifier en option de l'une des
    commandes de définition des membres du jury (cf.
    \zvref{sec-definition-jury}).
  \end{description}
\end{docKey}

\begin{docKey}{sepcorpaffilenglish}{=\meta{expression}}{pas valeur par
    défaut, initialement \lstinline[showspaces]+\ at\ +}
  \indexdef{expression!séparant corporation et affiliation}%
  Cette option, analogue à \refKey{sepcorpaffilfrench}, permet de redéfinir
  l'\meta{expression} employée en anglais pour séparer les corporations et
  affiliations des membres du jury.
\end{docKey}

\begin{dbwarning}{Expressions séparatrices débutant ou finissant par un espace}{}
  Si les valeurs des clés \refKey{sepcorpaffilfrench} ou
  \refKey{sepcorpaffilenglish} doivent \emph{débuter} ou \emph{finir} par un
  espace, celui-ci doit être saisi au moyen de
  %
  \lstinline[showspaces]+\ +
  %
  % ou de
  %
  % \lstinline[deletekeywords={[2]space}]+\space+,
  %
  et non pas seulement de
  %
  \lstinline[showspaces]+ +.
  %
\end{dbwarning}

\begin{dbexample}{Redéfinition (globale) de l'expression séparant corporations
    et affiliations}{}
  \indexex{expression!séparant corporation et affiliation}%
  L'exemple suivant montre comment remplacer l'expression (par défaut) séparant
  corporations et affiliations par une virgule, et ce :
  \begin{itemize}
  \item globalement pour tous les membres du jury;
  \item en anglais.
  \end{itemize}
\begin{preamblecode}[listing options={showspaces}]
\documentclass[sepcorpaffilenglish={,\ }]{yathesis}
\end{preamblecode}
\end{dbexample}

\begin{dbexample}{Redéfinition (locale) de l'expression séparant corporation et
    affiliation}{}
  \indexex{expression!séparant corporation et affiliation}%
  L'exemple suivant montre comment remplacer l'expression séparant corporation et
  affiliation par \enquote{\textvisiblespace{}à la\textvisiblespace{}}, et ce :
  \begin{itemize}
  \item localement (pour un membre du jury particulier);
  \item en français.
  \end{itemize}
\begin{bodycode}[listing options={showspaces}]
\referee[professor,sepcorpaffilfrench=\ à la\ ,affiliation=Cité des sciences]{René}{Descartes}
\end{bodycode}
\end{dbexample}

\subsection{Nombre de laboratoires sur les pages de résumés et de 4\ieme{} de couverture}
\label{sec-nombre-de-labor}
\index{résumé}%
\index{quatrième de couverture}%

Par défaut, seul le laboratoire principal (avec son adresse) est affiché sur les
pages de résumés et de 4\ieme{} de couverture (cf. \zvref{sec-abstract,sec-quatr-de-couv}). Mais la clé
\refKey{numlaboratories} suivante permet de faire figurer un nombre arbitraire
de laboratoires parmi ceux définis au moyen de la commande \refCom{laboratory}.%
%
\changes{v0.99j}{2014-07-18}{Nouvelle clé \protect\refKey{numlaboratories}
  permettant de spécifier le nombre ($\geqslant 0$) de laboratoires devant
  figurer sur les pages de résumés et de 4\ieme{} de couverture}%

\begin{docKey}{numlaboratories}{=\meta{nombre}}{pas de valeur par
    défaut, initialement \docValue*{1}}
  \index{laboratoire!multiple!nombre}%
  Cette clé permet de spécifier le \meta{nombre} (entier positif ou nul) de
  laboratoires dont les noms et adresses doivent figurer sur la page de résumés
  et de 4\ieme{} de couverture. Ces laboratoires sont pris dans l'ordre de
  leurs définitions au moyen de la commande \refCom{laboratory}.
\end{docKey}

Pour gagner de la place sur les pages concernées, la composition des noms et
adresses des laboratoires est un peu condensée si \meta{nombre} dépasse $1$.

\section{Options à passer aux packages chargés par la \yatCl{}}
\label{sec-options-passer-aux}%
\index{option!de package chargé par \yatcl{}}%

\changes{v0.99g}{2014-07-13}{Possibilité de passer des options aux packages
  chargés par \yat{}}%
%
Pour plusieurs de ses fonctionnalités, la \yatCl{} s'appuie sur des packages
(listés \zvref{sec-packages-charges-par}) qu'elle charge automatiquement. Aussi
son comportement par défaut et sa personnalisation sont-ils également gouvernés
par le comportement par défaut et la personnalisation de ces packages.

\begin{dbwarning}{Packages automatiquement chargés à ne pas charger
    manuellement}{packages-a-ne-pas-charger}
  Les packages qui sont automatiquement chargés par la \yatCl{} ne doivent pas
  être chargés manuellement (au moyen de la commande
  \docAuxCommand{usepackage}), sous peine de provoquer des conflits d'options
  (tel que signalé à la \zvref{faq-option-clash}).
\end{dbwarning}

De ce fait, la personnalisation des packages automatiquement chargés par le
biais d'arguments optionnels passés à la commande \docAuxCommand{usepackage}
n'est pas possible. Pour pallier cela, \yat{} fournit des options de classe
permettant de passer à certains de ces packages une ou plusieurs options sous
la forme d'une liste de clés/valeurs. Les packages concernés sont précisément
ceux :
\begin{itemize}
\item (éventuellement) utiles à l'utilisateur final ;
\item dont la personnalisation se fait habituellement par le biais d'options
  à passer en argument optionnel de la commande \docAuxCommand{usepackage} (et
  seulement par ce biais-là\footnote{En particulier, ne sont pas concernés les
    packages dont les options peuvent être passées indifféremment en argument
    optionnel de \protect\docAuxCommand{usepackage} ou au moyen d'une commande
    de configuration propre ; il en est ainsi du \Package{bookmark} qui dispose
    de la commande \protect\docAuxCommand*{bookmarksetup}.}).
\end{itemize}
Ces options, qui ont même nom que celui du package concerné, sont les suivantes
(charge à l'utilisateur de consulter la documentation des packages concernés
pour savoir s'ils peuvent lui être utiles et, le cas échéant, quelles valeurs
peuvent être passées à leurs options).

\begin{docKey}{graphicx}{=\marg{option(s)}}{pas valeur par défaut,
    initialement vide}
  \index{option!de package chargé par \yatcl{}!graphicx@\package*{graphicx}}%
  Cette option permet de passer une ou plusieurs \meta{option(s)} au
  \Package{graphicx}.
\end{docKey}
\begin{docKey}{adjustbox}{=\marg{option(s)}}{pas valeur par défaut,
    initialement \docValue*{export}}
  \index{option!de package chargé par \yatcl{}!adjustbox@\package*{adjustbox}}%
  Cette option permet de passer une ou plusieurs \meta{option(s)} au
  \Package{adjustbox}.
\end{docKey}
\begin{docKey}{setspace}{=\marg{option(s)}}{pas valeur par défaut,
    initialement vide}
  \index{option!de package chargé par \yatcl{}!setspace@\package*{setspace}}%
  Cette option permet de passer une ou plusieurs \meta{option(s)} au
  \Package{setspace}.

  Contrairement à l'option \refKey{space} qui ne prend effet qu'à la partie
  principale du document et se termine avec elle, l'option \refKey{setspace}
  a un effet (semi-)global et prend effet dès le début du document
  (cf. \zvref{wa-space-setspace}).
\end{docKey}
\begin{docKey}{xcolor}{=\marg{option(s)}}{pas valeur par défaut,
    initialement vide}
  \index{option!de package chargé par \yatcl{}!xcolor@\package*{xcolor}}%
  Cette option permet de passer une ou plusieurs \meta{option(s)} au
  \Package{xcolor}.
\end{docKey}
\begin{docKey}{datatool}{=\marg{option(s)}}{pas valeur par défaut,
    initialement vide}
  \index{option!de package chargé par \yatcl{}!datatool@\package*{datatool}}%
  Cette option permet de passer une ou plusieurs \meta{option(s)} au
  \Package{datatool}.
\end{docKey}
\begin{docKey}{titlesec}{=\marg{option(s)}}{pas valeur par défaut, initialement
    vide}
  \index{option!de package chargé par \yatcl{}!titlesec@\package*{titlesec}}%
  Cette option permet de passer une ou plusieurs \meta{option(s)} au
  \Package{titlesec}.
\end{docKey}
\begin{docKey}{draftwatermark}{=\marg{option(s)}}{pas valeur par défaut,
    initialement vide}
  \index{option!de package chargé par
    \yatcl{}!draftwatermark@\package*{draftwatermark}}%
  Cette option permet de passer une ou plusieurs \meta{option(s)} au
  \Package{draftwatermark}.
\end{docKey}
\begin{docKey}{babel}{=\marg{option(s)}}{pas valeur par défaut,
    initialement vide}
  \index{option!de package chargé par \yatcl{}!babel@\package*{babel}}%
  Cette option permet de passer une ou plusieurs \meta{option(s)} au
  \Package{babel}.
\end{docKey}
\begin{docKey}{datetime2}{=\marg{option(s)}}{pas valeur par défaut,
    initialement \docValue*{nodayofweek}}
  \index{option!de package chargé par \yatcl{}!datetime2@\package*{datetime2}}%
  Cette option permet de passer une ou plusieurs \meta{option(s)} au
  \Package{datetime2}.
\end{docKey}
%
\changes*{v0.99k}{2014-10-01}{%
  Option de classe \protect\docAuxKey*{bookmark} supprimée%
}%

\begin{dbexample}{Passage d'options à un package  automatiquement chargés par \yat}{}
  L'exemple suivant montre comment passer au \Package{xcolor} les options
  \docValue*{dvipsnames} et \docValue*{table}.
\begin{preamblecode}[listing options={showspaces}]
\documentclass[xcolor={dvipsnames,table}]{yathesis}
\end{preamblecode}
\end{dbexample}

% \section{Options de préambule}
% \label{sec-options-de-preambule}
%
% Pour des raisons techniques, les options de la \yatCl{} listées à la
% \zvref{options-classe}, ne peuvent être passées qu'en argument optionnel de
% \docAuxCommand{documentclass}. Les options de la présente section peuvent être
% passées indifféremment :
% \begin{itemize}
% \item en argument optionnel de \docAuxCommand{documentclass} ;
% \item en préambule, en argument de la commande \refCom{yadsetup}.
% \end{itemize}
%
% \begin{docCommand}{yadsetup}{\marg{options}}
%   Cette commande permet de spécifier certaines \meta{options} de la \yatCl{}.
% \end{docCommand}
%
% \subsection{Profondeur de la numérotation}\label{sec-profondeur-de-la}
% \index{profondeur!numérotation des unités}%
% \index{numérotation!des unités!profondeur}%
%
% Par défaut, la numérotation des unités a pour \enquote{niveau de
%   profondeur} les sous-sections. Autrement dit, seuls les titres des parties
% (éventuelles), chapitres, sections et sous-sections sont numérotés.  L'option
% \refKey{secnumdepth} suivante permet de spécifier un autre niveau de
% profondeur.
% %
% {%
%   \tcbset{before lower=\vspace*{\baselineskip}\par}
%   \begin{docKey}{secnumdepth}{=\docValue{part}\textbar\docValue{chapter}\textbar\docValue{section}\textbar\docValue{subsection}\textbar\docValue{subsubsection}\textbar\docValue{paragraph}\textbar\docValue{subparagraph}}{pas
%       de valeur par défaut, initialement \docValue{subsection}}
%     \indexdef{profondeur!numérotation des unités}%
%     \indexdef{numérotation des unités!profondeur}%
%     Cette clé permet de modifier le \enquote{niveau de profondeur} de la
%     numérotation des unités jusqu'aux, respectivement : parties,
%     chapitres, sections, sous-sections, sous-sous-sections, paragraphes,
%     sous-paragraphes.
%   \end{docKey}
% }
%
% \subsection{Espace interligne}\label{sec-interligne}
% \index{espace!interligne}%
%
% L'interligne du document est par défaut \enquote{simple} mais, au moyen de
% l'option \refKey{space} suivante, il est possible de spécifier un interligne
% \enquote{un et demi} ou \enquote{double}.
%
% \begin{docKey}{space}{=\docValue{single}\textbar\docValue{onehalf}\textbar\docValue{double}}{pas de valeur par défaut,
%     initialement \docValue{single}}
%   \indexdef{espace!interligne}%
%   Cette clé permet de spécifier un interligne \docValue{single} (simple),
%   \docValue{onehalf} (un et demi) ou \docValue{double} (double).
% \end{docKey}
%
% \begin{dbwarning}{Option d'interligne : seulement dans la partie
%     principale}{space-setspace}
%   Contrairement à l'option \refKey{setspace} qui a un effet (semi-)global et
%   prend effet dès le début du document, l'option \refKey{space} ne prend effet
%   qu'à la partie principale du document (cf. \zvref{cha-corps}) et se termine
%   avec elle, avant la partie annexe (cf. \zvref{cha-annexes}).
% \end{dbwarning}
%
% Si on souhaite changer d'interligne ailleurs dans le mémoire, on recourra aux
% commandes du \Package*{setspace} \aside*{chargé par la \yatCl{}}.

\section{Commandes et options de commandes de la \yatCl{}}
\index{commandes de personnalisation!lieu de spécification}%
\index{option!de \yatcl{}!lieu de spécification}%

\begin{dbremark}{Lieu des commandes de personnalisation}{configurationfile}
  Les commandes de personnalisation listées dans cette section (et donc propres
  à \yatCl{}) ou fournies par les packages chargés manuellement peuvent être
  saisies :
  \begin{itemize}
  \item soit directement dans le (préambule du) fichier (parent) de la thèse ;
  \item%
    \index{fichier!de configuration de \yatcl{}}%
    \index{dossier!de configuration}%
    soit dans un fichier (prévu à cet effet) à nommer \file{\configurationfile}
    et à placer dans un sous-dossier (prévu à cet effet) à nommer
    \folder{\configurationdirectory}\footnote{Ces fichier et sous-dossier sont
      à créer au besoin mais le canevas de thèse \enquote{en arborescence} livré
      avec la \yatCl{}, décrit \zvref{sec-canevas-arborescence}, les fournit.}.
  \end{itemize}
\end{dbremark}

\begin{dbwarning}{Fichier de configuration à ne pas importer manuellement}{}
  Le \File{\configurationfile} est \emph{automatiquement} importé par la
  \yatCl{} et il doit donc \emph{ne pas} être explicitement importé : on
  \emph{ne} recourra donc \emph{pas} à la commande
  |\input{|\file{\configurationfile}|}| (ou autre commande d'importation
  similaire à \docAuxCommand{input}).
\end{dbwarning}

\subsection{(Re)Définition des expressions de la
  thèse}\label{sec-expressions-cles}%
\index{expression!(re)définition}%

Un mémoire de thèse composé avec la \yatCl{} est émaillé d'expressions insérées
de façon automatique sur certaines pages (titre, mots clés, laboratoire,
résumés, etc.). Que ces expressions soient définies par la \yatCl{} ou bien
standard, il est possible de les redéfinir.

\subsubsection{Expressions définies par la classe}
\label{sec-expr-defin-par}%
\index{expression!redéfinition}%

Les expressions \meta{en français} et \meta{en anglais} définies par la \yatCl{}
sont listées\footnote{Et classées par ordre alphabétique des expressions
  \meta{en français}.} dans le \zvref{tab-expressions-cles} et y sont identifiées
par un \meta{label} permettant de les redéfinir (voire de les définir, cf.
\zvref{ex-doctor}) au moyen de la commande \refCom{expression} suivante.
%
%
\changes*{v0.99u}{2019-03-28}{Expressions clés \enquote{Titre de la thèse} et
  \enquote{Titre de l’habilitation à diriger les recherches} (et équivalents en
  anglais) désormais vides}%
\changes*{v0.99u}{2019-03-28}{Les expressions clés \enquote{Directeurs} et
  \enquote{Supervisors} introduisant la liste des directeurs d'une
  \protect\glsxtrshort*{hdr} désormais remplacées par \enquote{Habilitation
    dirig\'ee par} et \enquote{Habilitation supervised by}}%
%
\begin{docCommand}{expression}{\marg{label}\marg{en français}\marg{en anglais}}
  \indexdef{expression!redéfinition}%
  Cette commande permet de redéfinir les valeurs \meta{en français} et
  \meta{en anglais} de l'expression identifiée par \meta{label}.
\end{docCommand}
%
\bgroup
\newtoggle{YAD@firstline}
\renewcommand{\expression}[3]{%
  \iftoggle{YAD@firstline}{}{\\}%
  \global\togglefalse{YAD@firstline}%
  \ifthenelse{\isempty{#2}}{%
    \meta{vide}%
  }{%
    #2%
  }%
  &
  \ifthenelse{\isempty{#3}}{%
    \meta{vide}%
  }{%
    #3%
  }%
  &
  #1%
  % \midrule%
}
%
% \footnotesize%
\small%
\LTXtable{\textwidth}{tableaux/expressions}%
\egroup
%
\begin{dbexample}{Modification d'expression définie par la classe}{}
  \indexex{expression!redéfinition}%
  Pour remplacer l'expression en français \enquote{Unit\'e de recherche} (dont le label est
  |universitydepartment|) par \enquote{Laboratoire}, il suffit de
  saisir :
  %
\begin{preamblecode}[title=Par exemple dans le \File{\configurationfile}]
\expression{universitydepartment}{Laboratoire}{University Department}
\end{preamblecode}
\end{dbexample}
%
\begin{dbexample}{Suppression d'expression définie par la classe}{}
  \indexex{expression!redéfinition}%
  Si on souhaite supprimer des pages de titre les mentions \enquote{Thèse présentée par} et \foreignquote{english}{Thesis defended by} (expressions dont le label
  est |thesisdefendedby|), il suffit de saisir :
\begin{preamblecode}[title=Par exemple dans le \File{\configurationfile}]
\expression{thesisdefendedby}{}{}
\end{preamblecode}
\end{dbexample}

\begin{dbremark}{Modification d'expressions facilitée par la version
    \enquote{brouillon}}{}
  On a vu \zvref{sec-versions} que l'option
  \lstinline[deletekeywords={version}]|version=draft| permet de facilement
  retrouver les labels des expressions et atteindre le \File{\configurationfile}
  pour y modifier celles-ci.
\end{dbremark}

\subsubsection{Expressions standard}
\label{sec-expressions-standard}%
\index{expression!redéfinition}%

Le \zvref{tab-expressions-standard} liste les expressions \LaTeX{} standard
telles que traduites par la \yatCl{}. Il s'agit en fait des traductions en
français et en anglais fournies par les modules \package*+{babel-french} et
\package*+{english} du \Package{babel}, à l'exception de l'expression française
figurant en légende des tableaux flottants (\enquote{Table} est remplacée par
\enquote{Tableau}).%
\changes*{v0.99j}{2014-07-18}{Les légendes des tableaux flottants sont
  introduites par l'expression \enquote{\textsc{Tableau}} et non plus plus
  \enquote{\textsc{Table}}}%

Si on souhaite redéfinir ces expressions, il suffit de recourir aux commandes
|\addto|, |\captionsfrench| et |\captionsenglish| du \Package{babel} au moyen
de la syntaxe suivante.

\begin{preamblecode}[title=Par exemple dans le \File{\configurationfile}]
\addto\captionsfrench{\def\"\meta{commande}"{"\meta{en français}"}}
\addto\captionsenglish{\def\"\meta{commande}"{"\meta{en anglais}"}}
\end{preamblecode}
\begin{table}[hb]
  \centering
  \caption{Valeurs et commandes d'expressions \LaTeX{} standard fournies par la \yatCl{}}
  \label{tab-expressions-standard}
  \input{tableaux/expressions-standard}
\end{table}
%
\begin{dbexample}{Redéfinition d'expressions du \Package{babel}}{}
  \indexex{expression!redéfinition}%
  \indexex{nom!résumé}%
\begin{preamblecode}[title=Redéfinition des expressions pour les résumés]
\addto\captionsfrench{\def\abstractname{Aperçu de notre travail}}
\addto\captionsenglish{\def\abstractname{Overview of our work}}
\end{preamblecode}
\end{dbexample}

En cas d'usage des packages \package{glossaries-extra} et \package{biblatex}, la
syntaxe précédente est inopérante avec les commandes
\docAuxCommand{glossaryname} et \docAuxCommand{bibname} (ainsi que
\docAuxCommand{refname}). Dans ce cas, pour donner un \meta{titre} (ou
\meta{nom}) \meta{alternatif} :
\begin{itemize}
\item%
  \index{nom!glossaire}%
  \index{nom!liste d'acronymes}%
  \index{nom!liste de symboles}%
  aux glossaire(s), liste d'acronymes et liste de symboles, on recourra
  à l'une ou l'autre des instructions suivantes :
\begin{bodycode}[listing options={morekeywords={[2]title}}]
\printglossary[title="\meta{titre alternatif}"]
\printglossaries[title="\meta{titre alternatif}"]
\printabbreviations[title="\meta{titre alternatif}"]
\printsymbols[title="\meta{titre alternatif}"]
\end{bodycode}
\item%
  \index{nom!bibliographie}%
  à la bibliographie, on recourra à :
\begin{bodycode}[listing options={morekeywords={[2]title}}]
\printbibliography[title="\meta{titre alternatif}"]
\end{bodycode}
\end{itemize}

En outre, en cas d'usage du \Package*{listings}, un \meta{titre alternatif}
pourra être donné à la liste des listings, au moyen de:
\begin{preamblecode}[title=Par exemple dans le \File{\configurationfile}]
\renewcommand\lstlistingname{"\meta{titre alternatif}"}
\end{preamblecode}

\subsection{Nouvelles corporations}\label{sec-nouveaux-corps}
\index{corporation!non prédéfinie}%
\index{expression!définition!corporation}%

On a vu \zvref{sec-jury} que des options des commandes définissant les
directeurs de thèse et membres du jury permettent de spécifier si ceux-ci
appartiennent aux corporations \emph{prédéfinies} :
\begin{itemize}
\item des professeurs ou des maîtres de conférences (\glspl{hdrpeople} ou pas) des
  universités ;
\item des directeurs de recherche ou des chargé(e)s de recherche (\glspl{hdrpeople} ou
  pas) du \gls{cnrs}.
\end{itemize}
La clé \refKey{corps} suivante permet de spécifier de \emph{nouvelles}
corporations (ou nouveaux corps) à \emph{définir} au moyen de la commande
\refCom{expression}.

\begin{docKey}{corps}{=\meta{label}}{pas de valeur par défaut, initialement
    vide}
  \indexdef{expression!définition!corporation}%
  \changes{v0.99e}{2014-06-15}{Clé \protect\refAux{corporation} remplacée par
    (et alias de) la clé \protect\refKey{corps}}%
  %
  L'option |corps=|\meta{label} permet de stipuler une \meta{corporation en
    français} et une \meta{corporation en anglais} où \meta{label} identifie une
  expression listée au \zvref{tab-expressions-cles} ou à définir au moyen de la
  commande \refCom{expression}.
\end{docKey}

\begin{dbexample}{Nouvelle corporation}{doctor}
  \indexex{expression!définition}%
  \indexex{expression!non prédéfinie}%
  \indexex{corporation!non prédéfinie}%
  Si on souhaite spécifier que certains membres du jury sont docteurs, il
  suffit de définir \aside{une seule fois} l'expression suivante de label (par
  exemple) |doctor| :
\begin{preamblecode}[title=Par exemple dans le \File{\configurationfile}]
\expression{doctor}{docteur}{Doctor}
\end{preamblecode}
  pour pouvoir ensuite l'utiliser \aside{autant de fois que souhaité}, par
  exemple ainsi :
\begin{bodycode}
\examiner[corps=doctor]{Joseph}{Fourier}
\examiner[corps=doctor]{Paul}{Verlaine}
\end{bodycode}
\end{dbexample}

\subsection{Nouveaux rôles}\label{sec-nouveaux-roles}
\index{rôle!non prédéfini}%
\index{expression!définition!rôle}%

On a pu noter \zvref{sec-jury} que des rôles, figurant automatiquement sur les
pages de titre, sont attachés :
\begin{itemize}
\item aux directeurs de thèse définis au moyen des commandes
  \refCom{supervisor}, \refCom{cosupervisor} et \refCom{comonitor} :
  \enquote{directeur}, \enquote{co-directeur} et \enquote{co-encadrant} ;
\item au président du jury défini au moyen de la commande
  \refCom{committeepresident} : \enquote{président du jury}.
\end{itemize}
La clé \refKey{role} suivante permet de spécifier de \emph{nouveaux} rôles
à \emph{définir} au moyen de la commande \refCom{expression}.

% Il est même possible de \emph{définir} de \emph{nouveaux} rôles au moyen
% de la commande \refCom{expression}.

\begin{docKey}{role}{=\meta{label}}{pas de valeur par défaut, initialement
    vide}
  \indexdef{expression!définition!rôle}%
  \changes{v0.99f}{2014-07-11}{Nouvelle clé \protect\refKey{role} permettant de
    spécifier ou définir de nouveaux rôles pour les personnes}%
  %
  L'option |role=|\meta{label} permet de stipuler un \meta{rôle en français} et
  un \meta{rôle en anglais} où \meta{label} identifie une expression listée au
  \zvref{tab-expressions-cles} ou à définir au moyen de la commande
  \refCom{expression}.
\end{docKey}
\index{option!de \yatcl{}|)}

\section{Packages chargés manuellement}
\label{sec-options-de-classes}
Si on souhaite recourir à des packages qui ne sont pas appelés par la \yatCl{},
on les chargera manuellement, par exemple en préambule du fichier (parent) de
la thèse.

%%% Local Variables:
%%% mode: latex
%%% TeX-master: "../yathesis-fr"
%%% End:
