summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/udes-genie-these
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2023-09-02 03:03:46 +0000
committerNorbert Preining <norbert@preining.info>2023-09-02 03:03:46 +0000
commit98a037aca7cbdaf681bc3fa10cbcdbbe52570599 (patch)
treeea60a91407486a9d33ffc9ece2c8331e30e10323 /macros/latex/contrib/udes-genie-these
parenta6340ee3ba0294ecd24259d39642d27d804187b2 (diff)
CTAN sync 202309020303
Diffstat (limited to 'macros/latex/contrib/udes-genie-these')
-rw-r--r--macros/latex/contrib/udes-genie-these/Exemple/acronymes.tex (renamed from macros/latex/contrib/udes-genie-these/acronymes.tex)0
-rw-r--r--macros/latex/contrib/udes-genie-these/Exemple/document.tex (renamed from macros/latex/contrib/udes-genie-these/document.tex)4
-rw-r--r--macros/latex/contrib/udes-genie-these/Exemple/lexique.tex (renamed from macros/latex/contrib/udes-genie-these/lexique.tex)0
-rw-r--r--macros/latex/contrib/udes-genie-these/Exemple/merci.tex (renamed from macros/latex/contrib/udes-genie-these/merci.tex)0
-rw-r--r--macros/latex/contrib/udes-genie-these/Exemple/references.bib (renamed from macros/latex/contrib/udes-genie-these/references.bib)0
-rw-r--r--macros/latex/contrib/udes-genie-these/Exemple/resume-anglais.tex (renamed from macros/latex/contrib/udes-genie-these/resume-anglais.tex)0
-rw-r--r--macros/latex/contrib/udes-genie-these/Exemple/resume-francais.tex (renamed from macros/latex/contrib/udes-genie-these/resume-francais.tex)0
-rw-r--r--macros/latex/contrib/udes-genie-these/Exemple/symboles.tex (renamed from macros/latex/contrib/udes-genie-these/symboles.tex)0
-rw-r--r--macros/latex/contrib/udes-genie-these/README.md2
-rw-r--r--macros/latex/contrib/udes-genie-these/udes-genie-these.dtx669
-rw-r--r--macros/latex/contrib/udes-genie-these/udes-genie-these.ins6
-rw-r--r--macros/latex/contrib/udes-genie-these/udes-genie-these.pdfbin129528 -> 180308 bytes
12 files changed, 360 insertions, 321 deletions
diff --git a/macros/latex/contrib/udes-genie-these/acronymes.tex b/macros/latex/contrib/udes-genie-these/Exemple/acronymes.tex
index 84eb09844d..84eb09844d 100644
--- a/macros/latex/contrib/udes-genie-these/acronymes.tex
+++ b/macros/latex/contrib/udes-genie-these/Exemple/acronymes.tex
diff --git a/macros/latex/contrib/udes-genie-these/document.tex b/macros/latex/contrib/udes-genie-these/Exemple/document.tex
index 66245c37d8..485226c152 100644
--- a/macros/latex/contrib/udes-genie-these/document.tex
+++ b/macros/latex/contrib/udes-genie-these/Exemple/document.tex
@@ -18,7 +18,9 @@
fichier-symboles = {symboles},
fichier-acronymes = {acronymes},
fichiers-references = {references},
+ %auto-bib,
%style-references = plain,
+ %legendes-min,
}
\TitreFrancais{CECI EST LE TITRE FRANÇAIS\\DU DOCUMENT}
@@ -36,7 +38,7 @@
\Evaluateur{Prénom5}{NOM5}
% Le contenu du document doit respecter le protocole de rédaction.
-% Le contenu fourni ici n'est qu'un exemple afin d'illustre l'utilisation de la classe.
+% Le contenu fourni ici n'est qu'un exemple afin d'illustrer l'utilisation de la classe.
\begin{document}
diff --git a/macros/latex/contrib/udes-genie-these/lexique.tex b/macros/latex/contrib/udes-genie-these/Exemple/lexique.tex
index 33f0ad57b7..33f0ad57b7 100644
--- a/macros/latex/contrib/udes-genie-these/lexique.tex
+++ b/macros/latex/contrib/udes-genie-these/Exemple/lexique.tex
diff --git a/macros/latex/contrib/udes-genie-these/merci.tex b/macros/latex/contrib/udes-genie-these/Exemple/merci.tex
index 1ca4d21385..1ca4d21385 100644
--- a/macros/latex/contrib/udes-genie-these/merci.tex
+++ b/macros/latex/contrib/udes-genie-these/Exemple/merci.tex
diff --git a/macros/latex/contrib/udes-genie-these/references.bib b/macros/latex/contrib/udes-genie-these/Exemple/references.bib
index 70583f06ac..70583f06ac 100644
--- a/macros/latex/contrib/udes-genie-these/references.bib
+++ b/macros/latex/contrib/udes-genie-these/Exemple/references.bib
diff --git a/macros/latex/contrib/udes-genie-these/resume-anglais.tex b/macros/latex/contrib/udes-genie-these/Exemple/resume-anglais.tex
index 8a9c6d6202..8a9c6d6202 100644
--- a/macros/latex/contrib/udes-genie-these/resume-anglais.tex
+++ b/macros/latex/contrib/udes-genie-these/Exemple/resume-anglais.tex
diff --git a/macros/latex/contrib/udes-genie-these/resume-francais.tex b/macros/latex/contrib/udes-genie-these/Exemple/resume-francais.tex
index 344f5cd372..344f5cd372 100644
--- a/macros/latex/contrib/udes-genie-these/resume-francais.tex
+++ b/macros/latex/contrib/udes-genie-these/Exemple/resume-francais.tex
diff --git a/macros/latex/contrib/udes-genie-these/symboles.tex b/macros/latex/contrib/udes-genie-these/Exemple/symboles.tex
index 923a1c85ef..923a1c85ef 100644
--- a/macros/latex/contrib/udes-genie-these/symboles.tex
+++ b/macros/latex/contrib/udes-genie-these/Exemple/symboles.tex
diff --git a/macros/latex/contrib/udes-genie-these/README.md b/macros/latex/contrib/udes-genie-these/README.md
index 82bbd5cff7..7682a7db62 100644
--- a/macros/latex/contrib/udes-genie-these/README.md
+++ b/macros/latex/contrib/udes-genie-these/README.md
@@ -5,7 +5,7 @@ The udes-genie-these class can be used for Ph.D. thesis, master's thesis and pro
The class file documentation is in French, the language of the typical user at the Université de Sherbrooke. An example of use is also distributed with the documentation.
-Copyright (C) 2017-2022 Charles-Antoine Brunet
+Copyright (C) 2017-2023 Charles-Antoine Brunet
## Class file (udes-genie-these.cls)
The class file (udes-genie-these.cls) is generated with the installation file (udes-genie-these.ins) with the following command:
diff --git a/macros/latex/contrib/udes-genie-these/udes-genie-these.dtx b/macros/latex/contrib/udes-genie-these/udes-genie-these.dtx
index 25fa39a50e..cdd6bdfe6e 100644
--- a/macros/latex/contrib/udes-genie-these/udes-genie-these.dtx
+++ b/macros/latex/contrib/udes-genie-these/udes-genie-these.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%% udes-genie-these.dtx
-%% Copyright 2022 Charles-Antoine Brunet
+%% Copyright 2023 Charles-Antoine Brunet
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
@@ -26,9 +26,9 @@
%<these|protocole>%%--- IDENTIFICATION ------------------------------------------------------
%<these|protocole>%%-----------------------------------------------------------------------------
%<these|protocole>
-%<these>\ProvidesExplClass{udes-genie-these}{2022/11/17}{3.0.1}
+%<these>\ProvidesExplClass{udes-genie-these}{2023/09/01}{3.1.0}
%<these> {Université de Sherbrooke, Faculté de génie: classe de document pour thèses, mémoires, DPR et essais}
-%<protocole>\ProvidesExplClass{udes-genie-protocole}{2022/11/17}{3.0.1}
+%<protocole>\ProvidesExplClass{udes-genie-protocole}{2023/09/01}{3.1.0}
%<protocole> {Université de Sherbrooke, Faculté de génie: classe de document pour le protocole de rédaction}
%<these|protocole>
%<*driver>
@@ -132,10 +132,11 @@
% \changes{v2.0.2}{2022-09-15}{Maintenance (LaTeX2e 2020-02-02 à 2022-06-01). Distribution sur CTAN. Adaptations à la documentation.}
% \changes{v3.0}{2022-09-19}{Support pour \pkg{biblatex}. Ajustements à la documentation.}
% \changes{v3.0.1}{2022-11-17}{Ajustements à la documentation et à l'exemple. Changements internes pour les formats LaTeX antérieurs à 2022-06-01.}
+% \changes{v3.1.0}{2023-09-01}{Ajout des champs auto-bib et legendes-min. Ajustements à la documentation. Correction de bugs. Format 2022-06-01 ou plus récent requis. Maintenance interne.}
%
% \GetFileInfo{udes-genie-these.dtx}
%
-% \title{CLASSE DE DOCUMENT \latex POUR LA RÉDACTION AUX ÉTUDES SUPÉRIEURES À LA FACULTÉ DE GÉNIE DE L'UNIVERSITÉ DE SHERBROOKE\\{\large \laclassetitre, version 3.0.1}}
+% \title{CLASSE DE DOCUMENT \latex POUR LA RÉDACTION AUX ÉTUDES SUPÉRIEURES À LA FACULTÉ DE GÉNIE DE L'UNIVERSITÉ DE SHERBROOKE\\{\large \laclassetitre, version 3.1.0}}
% \author{Charles-Antoine Brunet}
% \date{\today}
% \maketitle
@@ -158,7 +159,7 @@
% Le style de références est maintenant spécifié par le nouveau champ de configuration |style-references| et non plus dans le préambule avec la macro |\bibliographystyle|. Il faut donc retirer une macro du style |\bibliographystyle{AAA}| et la remplacer par un champ de configuration du genre |style-references = AAA|. C'est tout!
%
%\section{Installation et vérification}\label{sec:inst}
-% La classe \laclasse utilise des fonctionnalités récentes de \latex. Il faut donc vous assurer d'avoir une version à jour de votre distribution \latex (\texlive ou \miktex). Si vous utilisez \overleaf, il faut vous assurer que votre projet compile avec la version la plus récente de \texlive.
+% La classe \laclasse utilise des fonctionnalités récentes de \latex. Il faut donc vous assurer d'avoir une version à jour de votre distribution \latex (\texlive ou \miktex). Si vous utilisez \overleaf, il faut vous assurer que votre projet compile avec la version la plus récente de \texlive offerte.
%
% Selon votre distribution \latex, choisissez l'option qui vous convient.
% la classe
@@ -176,11 +177,11 @@
% \textbf{Court terme:}\\ Si vous pensez utiliser \laclasse à court terme, alors procédez comme avec \overleaf, comme ce qui suit.
%
% \subsection*{\overleaf}
-% Pour utiliser \laclasse, vous pouvez récupérer une archive sur l'intranet de la Faculté de génie qui contient tout ce qu'il faut pour compiler un document. L'archive contient aussi la documentation et un exemple d'utilisation. Il suffit d'extraire les fichiers de l'archive dans un répertoire et de compiler avec votre variante favorite de \latex. Cette méthode fonctionne pour \overleaf et aussi toutes les autres distributions \latex.
+% Cette méthode fonctionne pour \overleaf et aussi toutes les autres distributions \latex. Pour utiliser \laclasse, vous pouvez récupérer une archive sur l'intranet de la Faculté de génie qui contient tout ce qu'il faut pour compiler un document. Consultez le fichier |README| distribué pour la suite.
%
% Cette manière de fonctionner fait en sorte que vous êtes responsables de faire les mises à jour, car elles ne se feront pas automatiquement. Cela veut aussi dire qu'au cours du temps, si vous n'êtes pas vigilants, vous pourriez avoir plusieurs projets qui utilisent \laclasse, mais qui utilisent des versions différentes.
%
-% Dans \overleaf, la classe \laclasse ne fait pas partie des \packages préinstallés et il n'est pas possible non plus de l'installer de manière standard, comme avec les autres distributions \latex (\miktex et \texlive). Il reste deux options: avoir une copie de \laclasse présente dans chaque projet ou utiliser le mécanisme de partage de fichiers entre vos différents projets afin d'éviter d'en avoir plusieurs copies.
+% Dans \overleaf, pour l'instant, la classe \laclasse ne fait pas partie des \packages préinstallés et il n'est pas possible non plus de l'installer de manière standard, comme avec les autres distributions \latex (\miktex et \texlive). Selon les informations sur le site web d'\overleaf au moment de l'écriture de ces lignes, leur distribution \texlive est mise à jour une fois par année lorsque la nouvelle version de \texlive est disponible. Avec un peu de chance, \laclasse fera partie d'\overleaf lors de leur prochaine mise à jour. Même dans ce cas, cela veut dire que la classe \laclasse serait mise à jour qu'une seule fois par année.
%
% \subsection*{Vérification}
% Afin de vérifier que l'installation s'est bien passée, il vous est suggéré de compiler l'exemple distribué avec \laclasse. C'est le meilleur moyen de savoir si vous avez tout ce qu'il faut.
@@ -227,9 +228,11 @@
%%-----------------------------------------------------------------------------
%%--- DECLARATION DES VARIABLES -------------------------------------------
%%-----------------------------------------------------------------------------
+\bool_new:N \g_@@_autobib_bool
+\bool_new:N \g_@@_legendes_min_bool
\bool_new:N \g_@@_lignes_bool
-\bool_new:N \g_@@_listeDesFigures_bool
-\bool_new:N \g_@@_listeDesTableaux_bool
+\bool_new:N \g_@@_liste_figures_bool
+\bool_new:N \g_@@_liste_tableaux_bool
\clist_new:N \g_@@_dedicace_cl
\clist_new:N \g_@@_fichiers_references_cl
@@ -297,7 +300,7 @@
%%--- DECLARATION DES CONSTANTES ------------------------------------------
%%-----------------------------------------------------------------------------
\int_const:Nn \c_@@_max_pages_dprdoctorat_int {40}
-\int_const:Nn \c_@@_max_pages_dprmaitrise_int {30}
+\int_const:Nn \c_@@_max_pages_dprmaitrise_int {25}
\int_const:Nn \c_@@_max_pages_essai_int {70}
\int_const:Nn \c_@@_max_pages_memoire_int {120}
%<protocole>\int_const:Nn \c_@@_max_pages_protocole_int {10000}
@@ -344,6 +347,61 @@
\clist_gput_right:Nx \g_@@_specialite_cl
{\c_@@_type_memoire_tl, \c_@@_type_these_tl}
+%%-----------------------------------------------------------------------------
+%%--- MESSAGES D'ERREURS --------------------------------------------------
+%%-----------------------------------------------------------------------------
+\msg_new:nnnn {udesgeniethese}{erreur_format}{Un~LaTeX~plus~récent~est~nécessaire.~Veuillez~mettre~à~jour~votre~distribution~LaTeX.}{Le~format~2022-06-01~ou~un~plus~récent~est~nécessaire.}
+
+\msg_new:nnnn {udesgeniethese}{biblatex_en_trop}{Avec~l'option~bibtex,~il~ne~faut~pas~charger~le~package~biblatex.}{Consultez~la~documentation~de~la~classe.}
+
+\msg_new:nnnn {udesgeniethese}{biblatex_manquant}{L'option~biblatex~requiert~de~charger~le~package~biblatex~dans~le~preambule.}{Consultez~la~documentation~de~la~classe.}
+
+\msg_new:nnnn {udesgeniethese}{auteur_nom_vide}{Le~nom~de~l'auteur~du~document~n'est~pas~specifie.~Specifiez-le~avec~la~macro~\Auteur~dans~le~preambule.}{Consultez~la~documentation~de~la~classe.}
+
+\msg_new:nnnn {udesgeniethese}{auteur_prenom_vide}{Le~prenom~de~l'auteur~du~document~n'est~pas~specifie.~Specifiez-le~avec~la~macro~\Auteur~dans~le~preambule.}{Consultez~la~documentation~de~la~classe.}
+
+\msg_new:nnnn {udesgeniethese}{config_fichier_vide}{Le~fichier~pour~#1~n'est~pas~specifie.~Specifiez-le~avec~la~cle~'#2'~dans~la~configuration~du~document.}{Consultez~la~documentation~de~la~classe.}
+
+\msg_new:nnnn {udesgeniethese}{config_fichiers_vides}{Les~fichiers~pour~#1~ne~sont~pas~specifies.~Specifiez-les~avec~la~cle~'#2'~dans~la~configuration~du~document.}{Consultez~la~documentation~de~la~classe.}
+
+\msg_new:nnnn {udesgeniethese}{config_langue_vide}{La~langue~principale~du~document~n'est~pas~specifiee.~Specifiez-la~avec~la~cle~'langue'~dans~la~configuration~du~document.}{Consultez~la~documentation~de~la~classe.}
+
+\msg_new:nnnn {udesgeniethese}{config_programme_vide}{Le~programme~du~document~n'est~pas~specifie.~Specifiez-le~avec~la~cle~'programme'~dans~la~configuration~du~document.}{Consultez~la~documentation~de~la~classe.}
+
+\msg_new:nnnn {udesgeniethese}{config_type_vide}{Le~type~du~document~n'est~pas~specifie.~Specifiez-le~avec~la~cle~'type'~dans~la~configuration~du~document.}{Consultez~la~documentation~de~la~classe.}
+
+\msg_new:nnnn {udesgeniethese}{date_annee_vide}{L'annee~de~la~date~du~document~n'est~pas~specifiee.~Specifiez-la~avec~la~macro~\Date~dans~le~preambule.}{Consultez~la~documentation~de~la~classe.}
+
+\msg_new:nnnn {udesgeniethese}{date_mois_vide}{Le~mois~de~la~date~du~document~n'est~pas~specifie.~Specifiez-le~avec~la~macro~\Date~dans~le~preambule.}{Consultez~la~documentation~de~la~classe.}
+
+\msg_new:nnnn {udesgeniethese}{dprdoctorat_max_pages}{La~DPR~de~doctorat~semble~longue.~Le~protocole~exige~un~maximum~de~40~pages.}{Consultez~le~protocole~de~redaction.}
+
+\msg_new:nnnn {udesgeniethese}{dprmaitrise_max_pages}{La~DPR~de~maitrise~semble~longue.~Le~protocole~exige~un~maximum~de~25~pages.}{Consultez~le~protocole~de~redaction.}
+
+\msg_new:nnnn {udesgeniethese}{essai_max_pages}{L'essai~semble~long.~Le~protocole~exige~un~maximum~de~70~pages.}{Consultez~le~protocole~de~redaction.}
+
+\msg_new:nnnn {udesgeniethese}{memoire_max_pages}{Le~memoire~semble~long.~Le~protocole~exige~un~maximum~de~120~pages.}{Consultez~le~protocole~de~redaction.}
+
+\msg_new:nnnn {udesgeniethese}{mots_cles_anglais_vide}{Les~mots-cles~anglais~ne~sont~pas~specifies.~Specifiez-les~avec~la~macro~\MotsClesAnglais~dans~le~preambule.}{Consultez~la~documentation~de~la~classe.}
+
+\msg_new:nnnn {udesgeniethese}{mots_cles_francais_vide}{Les~mots-cles~francais~ne~sont~pas~specifies.~Specifiez-les~avec~la~macro~\MotsClesFrancais~dans~le~preambule.}{Consultez~la~documentation~de~la~classe.}
+
+\msg_new:nnnn {udesgeniethese}{remerciements_longs}{Les~remerciements~doivent~etre~d'une~page~maximum.}{Consultez~la~documentation~de~la~classe.}
+
+\msg_new:nnnn {udesgeniethese}{resume_anglais_long}{Le~resume~anglais~doit~etre~d'une~page~maximum,~incluant~les~mots-cles.}{Consultez~la~documentation~de~la~classe.}
+
+\msg_new:nnnn {udesgeniethese}{titre_resume_mots_cles_anglais}{Le~titre,~le~resume~et~les~mots-cles~anglais~doivent~etre~donnes.~On~ne~peut~donner~l'un~sans~les~autres.}{Consultez~la~documentation.}
+
+\msg_new:nnnn {udesgeniethese}{resume_francais_long}{Le~resume~francais~doit~etre~d'une~page~maximum,~incluant~les~mots-cles.}{Consultez~la~documentation~de~la~classe.}
+
+\msg_new:nnnn {udesgeniethese}{these_max_pages}{La~these~semble~longue.~Le~protocole~exige~un~maximum~de~250~pages}{Consultez~le~protocole~de~redaction.}
+
+\msg_new:nnnn {udesgeniethese}{titre_anglais_vide}{Le~titre~anglais~du~document~n'est~pas~specifie.~Specifiez-le~avec~la~macro~\TitreAnglais~dans~le~preambule.}{Consultez~la~documentation~de~la~classe.}
+
+\msg_new:nnnn {udesgeniethese}{titre_francais_vide}{Le~titre~francais~du~document~n'est~pas~specifie.~Specifiez-le~avec~la~macro~\TitreFrancais~dans~le~preambule.}{Consultez~la~documentation~de~la~classe.}
+
+\msg_new:nnnn {udesgeniethese}{aerospatial}{Le~type~du~document~doit~etre~essai~si~le~programme~est~aerospatial.~Specifiez-le~~bon~type~dans~la~configuration~du~document.}{Consultez~la~documentation~de~la~classe.}
+
%\end{implementation}
%
% \subsection{Options} \label{class-options}
@@ -365,40 +423,41 @@
%
% Si le choix est |bibtex|, le style bibliographique est spécifié avec le champ de configuration |style-references| et les fichiers de références utilisés par |bibtex| sont ceux spécifiés avec le champ |references| (voir la section~\ref{sec:config}). La liste des références est générée automatiquement par \laclasse avec la macro |\bibliography|.
%
-% Si le choix est de |biblatex|, la personne qui rédige le document est responsable de charger le \package |biblatex| avec la macro |\usepackage| dans le préambule, car trop de cas de figures peuvent survenir afin d'assurer un chargement correct. La liste des références est gérérée automatiquement par \laclasse avec la macro |\printbibliography| et les fichiers de références sont spécifiés avec le champs de configuration |references| (voir la section~\ref{sec:config}). Les fichiers de références sont fournis automatiquement par \laclasse avec la macro |\addbibresource|. Le champ de configuration |references-style| est ignoré, car le style est géré par la personne qui rédige avec avec l'aide de |biblatex|.
+% Si le choix est de |biblatex|, la personne qui rédige le document est responsable de charger le \package |biblatex| avec la macro |\usepackage| dans le préambule, car trop de cas de figures peuvent survenir afin d'assurer un chargement correct. La liste des références est gérérée automatiquement par \laclasse avec la macro |\printbibliography| et les fichiers de références sont spécifiés avec le champs de configuration |references| (voir la section~\ref{sec:config}). Les fichiers de références sont fournis automatiquement par \laclasse avec la macro |\addbibresource|. Le champ de configuration |style-references| est ignoré, car le style est géré par la personne qui rédige avec avec l'aide de |biblatex|.
%
%\end{variable}
%\begin{implementation}
%%-----------------------------------------------------------------------------
%%--- OPTIONS DE CLASSE ---------------------------------------------------
%%-----------------------------------------------------------------------------
-\keys_define:nn { udes-genie-these }
+\IfFormatAtLeastTF {2022-06-01}
+ {}{\msg_fatal:nn{udesgeniethese}{erreur_format}}
+
+\DeclareKeys
{
biblatex .code:n = {\tl_gset_eq:NN \g_@@_references_engin_tl \c_@@_references_biblatex_tl},
+ biblatex .usage:n = load,
bibtex .code:n = {\tl_gset_eq:NN \g_@@_references_engin_tl \c_@@_references_bibtex_tl},
+ bibtex .usage:n = load,
livre .code:n = {
\PassOptionsToClass{twoside,openright}{book}
\PassOptionsToPackage{twoside=true}{geometry}
\tl_gset_eq:NN \g_@@_format_tl \c_@@_format_livre_tl
},
+ livre .usage:n = load,
simple .code:n = {
\PassOptionsToClass{oneside,openany}{book}
\PassOptionsToPackage{twoside=false}{geometry}
\tl_gset_eq:NN \g_@@_format_tl \c_@@_format_simple_tl
},
+ simple .usage:n = load,
unknown .code:n = {\PassOptionsToClass{\CurrentOption}{book}},
}
-\keys_set:nn { udes-genie-these } {livre}
+\SetKeys{livre}
+
+\ProcessKeyOptions
-\IfFormatAtLeastTF {2022-06-01}
-{
- \ProcessKeyOptions[udes-genie-these]
-}
-{
- \RequirePackage {l3keys2e}
- \ProcessKeysOptions{udes-genie-these}
-}
%%-----------------------------------------------------------------------------
%%--- DEPENDANCES DE CLASSE -----------------------------------------------
@@ -414,27 +473,14 @@
%\end{implementation}
%
% \subsection{Configuration du document}\label{sec:config}
-% Le \protocole a des exigences au niveau de l'ordonnancement de certaines parties ou de certains éléments de présentation. Certaines de ces exigences sont gérées automatiquement en utilisant la macro de configuration du document, la macro |\ConfigurationDocument|. Cette macro est utilisée dans le préambule du document. Un exemple de configuration avec la description de chacun des champs suit. Vous devez évidemment adapter le contenu des champs de la configuration du document pour refléter vos besoins et les noms de vos fichiers. Il est à remarquer que chaque ligne qui spécifie un champ se termine par une virgule.
+% Le \protocole a des exigences au niveau de l'ordonnancement de certaines parties ou de certains éléments de présentation. Certaines de ces exigences sont gérées automatiquement en utilisant la macro de configuration du document, la macro |\ConfigurationDocument|. Cette macro est utilisée dans le préambule du document. L’exemple distribué avec \laclasse montre un exemple de configuration. Vous devez évidemment adapter le contenu des champs de la configuration du document pour refléter vos besoins et les noms de vos fichiers. Il est à remarquer que chaque ligne qui spécifie un champ se termine par une virgule.
%
%\begin{function}{\ConfigurationDocument}
%\begin{syntax}
%\begin{verbatim}
% \ConfigurationDocument
% {
-% langue = francais,
-% type = memoire,
-% programme = electrique,
-% lignes,
-% liste-figures,
-% liste-tableaux,
-% fichier-resume-francais = {resumef},
-% fichier-resume-anglais = {resumea},
-% fichier-remerciements = {merci},
-% fichier-lexique = {lexique},
-% fichier-symboles = {symboles},
-% fichier-acronymes = {acronymes},
-% fichiers-references = {journaux,conferences},
-% style-references = plain,
+% ...
% }
%\end{verbatim}
%\end{syntax}
@@ -508,6 +554,20 @@
% Ce champ spécifie le style bibliographique à utiliser pour la construction de la liste des références, tel que requis par \bibtex ou un autres engins bibliographiques équivalents. Comme ce champ spécifie le style à utiliser, il n'est pas nécessaire de mettre la macro |\bibliographystyle| dans le préambule, car la classe \laclasse automatise cette étape. Ce champ est ignoré, si l'option de classe |biblatex| a été spécifié (voir la section~\ref{class-options}). Consultez le protocole au sujet des styles bibliographiques. D'autres détails au sujet des références bibliographiques sont donnés dans la section~\ref{sec:refbib}.
%\end{variable}
%
+%\begin{variable}[added=2023-08-29]{auto-bib}
+%\begin{syntax}
+% |auto-bib =| \meta{valeur}
+%\end{syntax}
+% Ce champ est utilitaire et il est ignoré, sauf si l'option |biblatex| de classe a été spécifié (voir section~\ref{class-options}). Les choix pour \meta{valeur} sont |true| et |false|. Si ce champ est |true|, l'extension |bib| est ajoutée automatiquement à tous les fichiers spécifiés avec le champ |fichiers-references|. Ceci peut être pratique pour uniformiser les noms dans la liste des fichiers que \bibtex ou |biblatex| soit utilisé. Si la valeur de ce champ est |false|, rien n'est fait. Si ce champ est omis, la valeur par défaut est |false|. Il est possible aussi de spécifier uniquement |auto-bib| pour spécifier |true|.
+%\end{variable}
+%
+%
+%\begin{variable}[added=2023-08-30]{legendes-min}
+%\begin{syntax}
+% |legendes-min =| \meta{valeur}
+%\end{syntax}
+% Ce champ permet de spécifier si les mots \textit{figure} et \textit{tableau} des légendes sont écrits en style \textit{minuscule} ou non. Si ce champ est |true|, alors seule la première lettre du mot est en majuscule et ils sont écrits comme suit: Figure et Tableau. Si ce champ est |false|, alors le style est \textit{petites majuscules} et ils sont écrits comme suit: \textsc{Figure} et \textsc{Tableau}. La valeur par défaut de ce champ est |false|.
+%\end{variable}
%\begin{implementation}
\DeclareDocumentCommand \ConfigurationDocument { m }
{ \keys_set:nn { udes-genie-these } { #1 } }
@@ -524,9 +584,9 @@
programme .choices:nn = {electrique,mecanique,aerospatial,chimique,civil}
{\tl_gset_eq:NN \g_@@_programme_tl \l_keys_choice_tl},
programme .value_required:n = true,
- liste-figures .bool_gset:N = \g_@@_listeDesFigures_bool,
+ liste-figures .bool_gset:N = \g_@@_liste_figures_bool,
liste-figures .default:n = true,
- liste-tableaux .bool_gset:N = \g_@@_listeDesTableaux_bool,
+ liste-tableaux .bool_gset:N = \g_@@_liste_tableaux_bool,
liste-tableaux .default:n = true,
lignes .bool_gset:N = \g_@@_lignes_bool,
lignes .default:n = true,
@@ -546,6 +606,10 @@
fichiers-references .value_required:n = true,
style-references .tl_gset:N = \g_@@_style_references_tl,
style-references .value_required:n = true,
+ auto-bib .bool_gset:N = \g_@@_autobib_bool,
+ auto-bib .default:n = true,
+ legendes-min .bool_gset:N = \g_@@_legendes_min_bool,
+ legendes-min .default:n = true,
}
%\end{implementation}
@@ -732,7 +796,7 @@
foot=1.25cm,head=0.9cm,headsep=0.35cm,bindingoffset=0.5cm}
\captionsetup[table]{labelsep=quad,textformat=simple,font=normal,margin=5ex,position=top,skip=0.5ex}
\captionsetup[figure]{labelsep=quad,textformat=simple,font=normal,margin=5ex,position=bottom,skip=1ex}
-\frenchbsetup{ItemLabels=\textendash}
+\frenchsetup{ItemLabels=\textendash}
%%-----------------------------------------------------------------------------
%%--- REDEFINITION MACROS STANDARDS ------------------------------------
@@ -765,123 +829,6 @@
\secdef\@@_chapter\@@_schapter
}
-\addto\captionsfrench
-{
- \tl_gset:Nn \contentsname {TABLE~DES~MATIÈRES}
- \tl_gset:Nn \listfigurename {LISTE~DES~FIGURES}
- \tl_gset:Nn \listtablename {LISTE~DES~TABLEAUX}
- \tl_gset:Nn \chaptername {CHAPITRE}
- \tl_gset:Nn \bibname {LISTE~DES~RÉFÉRENCES}
- \tl_gset:Nn \appendixname {ANNEXE}
- \tl_gset:Nn \partname {PARTIE}
- \tl_gset:Nn \figurename {Figure}
- \tl_gset:Nn \tablename {Tableau}
- \tl_gset:Nn \glossaryname {LEXIQUE}
- \tl_gset:Nn \indexname {INDEX}
- \tl_gset:Nn \abstractname {RÉSUMÉ}
- \tl_gset:Nn \refname {LISTE~DES~RÉFÉRENCES}
- \tl_gset:Nn \prefacename {PRÉFACE}
- \tl_gset:Nn \CaptionSeparator {~~}
- \tl_gset:Nn \g_@@_listsymbolsname_tl {LISTE~DES~SYMBOLES}
- \tl_gset:Nn \g_@@_listacronymsname_tl {LISTE~DES~ACRONYMES}
- \tl_gset:Nn \g_@@_acknowledgementsname_tl {REMERCIEMENTS}
- \tl_gset:Nn \g_@@_udesname_tl {UNIVERSITÉ~DE~SHERBROOKE}
- \tl_gset:Nn \g_@@_facultyname_tl {Faculté~de~génie}
- \tl_gset:Nn \g_@@_specialityname_tl {Spécialité~:~}
- \tl_gset:Nn \g_@@_juryname_tl {MEMBRES~DU~JURY}
- \tl_gset:Nn \g_@@_adressname_tl {Sherbrooke~(Québec)~Canada}
- \tl_gset:Nn \g_@@_motsclesname_tl {Mots-clés~:}
- \tl_gset:Nn \g_@@_jury_codirname_tl {Codirecteur}
- \tl_gset:Nn \g_@@_jury_codirnamef_tl {Codirectrice}
- \tl_gset:Nn \g_@@_jury_dirname_tl {Directeur}
- \tl_gset:Nn \g_@@_jury_dirnamef_tl {Directrice}
- \tl_gset:Nn \g_@@_jury_evalname_tl {Évaluateur}
- \tl_gset:Nn \g_@@_jury_evalnamef_tl {Évaluatrice}
-}
-
-\addto\captionsenglish
-{
- \tl_gset:Nn \contentsname {TABLE~OF~CONTENTS}
- \tl_gset:Nn \listfigurename {LIST~OF~FIGURES}
- \tl_gset:Nn \listtablename {LIST~OF~TABLES}
- \tl_gset:Nn \chaptername {CHAPTER}
- \tl_gset:Nn \bibname {LIST~OF~REFERENCES}
- \tl_gset:Nn \appendixname {APPENDIX}
- \tl_gset:Nn \partname {PART}
- \tl_gset:Nn \figurename {Figure}
- \tl_gset:Nn \tablename {Table}
- \tl_gset:Nn \glossaryname {GLOSSARY}
- \tl_gset:Nn \indexname {INDEX}
- \tl_gset:Nn \abstractname {ABSTRACT}~
- \tl_gset:Nn \refname {REFERENCES}
- \tl_gset:Nn \prefacename {PREFACE}
- \tl_gset:Nn \CaptionSeparator {~~}
- \tl_gset:Nn \g_@@_listsymbolsname_tl {LIST~OF~SYMBOLS}
- \tl_gset:Nn \g_@@_listacronymsname_tl {LIST~OF~ACRONYMS}
- \tl_gset:Nn \g_@@_acknowledgementsname_tl {ACKNOWLEDGEMENTS}
- \tl_gset:Nn \g_@@_udesname_tl {UNIVERSITÉ~DE~SHERBROOKE}
- \tl_gset:Nn \g_@@_facultyname_tl {Faculté~de~génie}
- \tl_gset:Nn \g_@@_specialityname_tl {Specialité:~}
- \tl_gset:Nn \g_@@_juryname_tl {JURY~MEMBERS}
- \tl_gset:Nn \g_@@_adressname_tl {Sherbrooke~(Québec)~Canada}
- \tl_gset:Nn \g_@@_motsclesname_tl {Keywords:}
- \tl_gset:Nn \g_@@_jury_codirname_tl {Co-supervisor}
- \tl_gset:Nn \g_@@_jury_codirnamef_tl {Co-supervisor}
- \tl_gset:Nn \g_@@_jury_dirname_tl {Supervisor}
- \tl_gset:Nn \g_@@_jury_dirnamef_tl {Supervisor} %Directress
- \tl_gset:Nn \g_@@_jury_evalname_tl {Examiner} %Internal et external
- \tl_gset:Nn \g_@@_jury_evalnamef_tl {Examiner} %Internal et external
-}
-
-%%-----------------------------------------------------------------------------
-%%--- MESSAGES D'ERREURS --------------------------------------------------
-%%-----------------------------------------------------------------------------
-\msg_new:nnnn {udesgeniethese}{auteur_nom_vide}{Le~nom~de~l'auteur~du~document~n'est~pas~specifie.~Specifiez-le~avec~la~macro~\Auteur~dans~le~preambule.}{Consultez~la~documentation~de~la~classe.}
-
-\msg_new:nnnn {udesgeniethese}{auteur_prenom_vide}{Le~prenom~de~l'auteur~du~document~n'est~pas~specifie.~Specifiez-le~avec~la~macro~\Auteur~dans~le~preambule.}{Consultez~la~documentation~de~la~classe.}
-
-\msg_new:nnnn {udesgeniethese}{config_fichier_vide}{Le~fichier~pour~#1~n'est~pas~specifie.~Specifiez-le~avec~la~cle~'#2'~dans~la~configuration~du~document.}{Consultez~la~documentation~de~la~classe.}
-
-\msg_new:nnnn {udesgeniethese}{config_fichiers_vides}{Les~fichiers~pour~#1~ne~sont~pas~specifies.~Specifiez-les~avec~la~cle~'#2'~dans~la~configuration~du~document.}{Consultez~la~documentation~de~la~classe.}
-
-\msg_new:nnnn {udesgeniethese}{config_langue_vide}{La~langue~principale~du~document~n'est~pas~specifiee.~Specifiez-la~avec~la~cle~'langue'~dans~la~configuration~du~document.}{Consultez~la~documentation~de~la~classe.}
-
-\msg_new:nnnn {udesgeniethese}{config_programme_vide}{Le~programme~du~document~n'est~pas~specifie.~Specifiez-le~avec~la~cle~'programme'~dans~la~configuration~du~document.}{Consultez~la~documentation~de~la~classe.}
-
-\msg_new:nnnn {udesgeniethese}{config_type_vide}{Le~type~du~document~n'est~pas~specifie.~Specifiez-le~avec~la~cle~'type'~dans~la~configuration~du~document.}{Consultez~la~documentation~de~la~classe.}
-
-\msg_new:nnnn {udesgeniethese}{date_annee_vide}{L'annee~de~la~date~du~document~n'est~pas~specifiee.~Specifiez-la~avec~la~macro~\Date~dans~le~preambule.}{Consultez~la~documentation~de~la~classe.}
-
-\msg_new:nnnn {udesgeniethese}{date_mois_vide}{Le~mois~de~la~date~du~document~n'est~pas~specifie.~Specifiez-le~avec~la~macro~\Date~dans~le~preambule.}{Consultez~la~documentation~de~la~classe.}
-
-\msg_new:nnnn {udesgeniethese}{dprdoctorat_max_pages}{La~DPR~de~doctorat~semble~longue.~Le~protocole~suggere~de~25~a~40~pages.}{Consultez~le~protocole~de~redaction.}
-
-\msg_new:nnnn {udesgeniethese}{dprmaitrise_max_pages}{La~DPR~de~maitrise~semble~longue.~Le~protocole~suggere~de~20~a~30~pages.}{Consultez~le~protocole~de~redaction.}
-
-\msg_new:nnnn {udesgeniethese}{essai_max_pages}{L'essai~semble~long.~Le~protocole~exige~un~maximum~de~70~pages.}{Consultez~le~protocole~de~redaction.}
-
-\msg_new:nnnn {udesgeniethese}{memoire_max_pages}{Le~memoire~semble~long.~Le~protocole~exige~un~maximum~de~120~pages.}{Consultez~le~protocole~de~redaction.}
-
-\msg_new:nnnn {udesgeniethese}{mots_cles_anglais_vide}{Les~mots-cles~anglais~ne~sont~pas~specifies.~Specifiez-les~avec~la~macro~\MotsClesAnglais~dans~le~preambule.}{Consultez~la~documentation~de~la~classe.}
-
-\msg_new:nnnn {udesgeniethese}{mots_cles_francais_vide}{Les~mots-cles~francais~ne~sont~pas~specifies.~Specifiez-les~avec~la~macro~\MotsClesFrancais~dans~le~preambule.}{Consultez~la~documentation~de~la~classe.}
-
-\msg_new:nnnn {udesgeniethese}{remerciements_longs}{Les~remerciements~doivent~etre~d'une~page~maximum.}{Consultez~la~documentation~de~la~classe.}
-
-\msg_new:nnnn {udesgeniethese}{resume_anglais_long}{Le~resume~anglais~doit~etre~d'une~page~maximum,~incluant~les~mots-cles.}{Consultez~la~documentation~de~la~classe.}
-
-\msg_new:nnnn {udesgeniethese}{titre_resume_mots_cles_anglais}{Le~titre,~le~resume~et~les~mots-cles~anglais~doivent~etre~donnes.~On~ne~peut~donner~l'un~sans~les~autres.}{Consultez~la~documentation.}
-
-\msg_new:nnnn {udesgeniethese}{resume_francais_long}{Le~resume~francais~doit~etre~d'une~page~maximum,~incluant~les~mots-cles.}{Consultez~la~documentation~de~la~classe.}
-
-\msg_new:nnnn {udesgeniethese}{these_max_pages}{La~these~semble~longue.~Le~protocole~exige~un~maximum~de~250~pages}{Consultez~le~protocole~de~redaction.}
-
-\msg_new:nnnn {udesgeniethese}{titre_anglais_vide}{Le~titre~anglais~du~document~n'est~pas~specifie.~Specifiez-le~avec~la~macro~\TitreAnglais~dans~le~preambule.}{Consultez~la~documentation~de~la~classe.}
-
-\msg_new:nnnn {udesgeniethese}{titre_francais_vide}{Le~titre~francais~du~document~n'est~pas~specifie.~Specifiez-le~avec~la~macro~\TitreFrancais~dans~le~preambule.}{Consultez~la~documentation~de~la~classe.}
-
-\msg_new:nnnn {udesgeniethese}{aerospatial}{Le~type~du~document~doit~etre~essai~si~le~programme~est~aerospatial.~Specifiez-le~~bon~type~dans~la~configuration~du~document.}{Consultez~la~documentation~de~la~classe.}
-
%%-----------------------------------------------------------------------------
%%--- MACROS INTERNES --------------------------------------------------
%%-----------------------------------------------------------------------------
@@ -914,19 +861,19 @@
\newcommand*{\@@_makechapterhead}[1]
{
- {
- \parindent \z@ \normalfont % \raggedright
- \ifnum \c@secnumdepth >\m@ne
- \if@mainmatter
- \LARGE\sffamily\bfseries \chaptername\space \thechapter
- \par\nobreak
- \vskip 0\p@
- \fi
- \fi
- \interlinepenalty\@M
- \LARGE\sffamily\bfseries #1 \par\nobreak
- \vskip 30\p@
- }
+ \group_begin:
+ \parindent \z@ \normalfont % \raggedright
+ \ifnum \c@secnumdepth >\m@ne
+ \if@mainmatter
+ \LARGE\sffamily\bfseries \chaptername\space \thechapter
+ \par\nobreak
+ \vskip 0\p@
+ \fi
+ \fi
+ \interlinepenalty\@M
+ \LARGE\sffamily\bfseries #1 \par\nobreak
+ \vskip 30\p@
+ \group_end:
}
\newcommand*{\@@_schapter}[1]
@@ -941,12 +888,85 @@
\newcommand*{\@@_makeschapterhead}[1]
{
+ \group_begin:
+ \parindent \z@ \normalfont %\raggedright
+ \vskip 0\p@
+ \interlinepenalty\@M
+ \LARGE\sffamily\bfseries #1 \par\nobreak
+ \vskip 30\p@
+ \group_end:
+}
+
+\cs_new:Npn \@@_caption_fmt #1 { #1 }
+
+\cs_new:Npn \@@_setup_captions
+{
+ \addto\captionsfrench
{
- \parindent \z@ \normalfont %\raggedright
- \vskip 0\p@
- \interlinepenalty\@M
- \LARGE\sffamily\bfseries #1 \par\nobreak
- \vskip 30\p@
+ \tl_gset:Nn \contentsname {TABLE~DES~MATIÈRES}
+ \tl_gset:Nn \listfigurename {LISTE~DES~FIGURES}
+ \tl_gset:Nn \listtablename {LISTE~DES~TABLEAUX}
+ \tl_gset:Nn \chaptername {CHAPITRE}
+ \tl_gset:Nn \bibname {LISTE~DES~RÉFÉRENCES}
+ \tl_gset:Nn \appendixname {ANNEXE}
+ \tl_gset:Nn \partname {PARTIE}
+ \tl_gset:Nn \figurename {Figure}
+ \tl_gset:Nn \tablename {Tableau}
+ \tl_gset:Nn \glossaryname {LEXIQUE}
+ \tl_gset:Nn \indexname {INDEX}
+ \tl_gset:Nn \abstractname {RÉSUMÉ}
+ \tl_gset:Nn \refname {LISTE~DES~RÉFÉRENCES}
+ \tl_gset:Nn \prefacename {PRÉFACE}
+ \tl_gset:Nn \CaptionSeparator {~~}
+ \tl_gset:Nn \g_@@_listsymbolsname_tl {LISTE~DES~SYMBOLES}
+ \tl_gset:Nn \g_@@_listacronymsname_tl {LISTE~DES~ACRONYMES}
+ \tl_gset:Nn \g_@@_acknowledgementsname_tl {REMERCIEMENTS}
+ \tl_gset:Nn \g_@@_udesname_tl {UNIVERSITÉ~DE~SHERBROOKE}
+ \tl_gset:Nn \g_@@_facultyname_tl {Faculté~de~génie}
+ \tl_gset:Nn \g_@@_specialityname_tl {Spécialité~:~}
+ \tl_gset:Nn \g_@@_juryname_tl {MEMBRES~DU~JURY}
+ \tl_gset:Nn \g_@@_adressname_tl {Sherbrooke~(Québec)~Canada}
+ \tl_gset:Nn \g_@@_motsclesname_tl {Mots-clés~:}
+ \tl_gset:Nn \g_@@_jury_codirname_tl {Codirecteur}
+ \tl_gset:Nn \g_@@_jury_codirnamef_tl {Codirectrice}
+ \tl_gset:Nn \g_@@_jury_dirname_tl {Directeur}
+ \tl_gset:Nn \g_@@_jury_dirnamef_tl {Directrice}
+ \tl_gset:Nn \g_@@_jury_evalname_tl {Évaluateur}
+ \tl_gset:Nn \g_@@_jury_evalnamef_tl {Évaluatrice}
+ }
+
+ \addto\captionsenglish
+ {
+ \tl_gset:Nn \contentsname {TABLE~OF~CONTENTS}
+ \tl_gset:Nn \listfigurename {LIST~OF~FIGURES}
+ \tl_gset:Nn \listtablename {LIST~OF~TABLES}
+ \tl_gset:Nn \chaptername {CHAPTER}
+ \tl_gset:Nn \bibname {LIST~OF~REFERENCES}
+ \tl_gset:Nn \appendixname {APPENDIX}
+ \tl_gset:Nn \partname {PART}
+ \tl_gset:Nn \figurename {\_@@_caption_fmt{Figure}}
+ \tl_gset:Nn \tablename {\_@@_caption_fmt{Table}}
+ \tl_gset:Nn \glossaryname {GLOSSARY}
+ \tl_gset:Nn \indexname {INDEX}
+ \tl_gset:Nn \abstractname {ABSTRACT}~
+ \tl_gset:Nn \refname {LIST~OF~REFERENCES}
+ \tl_gset:Nn \prefacename {PREFACE}
+ \tl_gset:Nn \CaptionSeparator {~~}
+ \tl_gset:Nn \g_@@_listsymbolsname_tl {LIST~OF~SYMBOLS}
+ \tl_gset:Nn \g_@@_listacronymsname_tl {LIST~OF~ACRONYMS}
+ \tl_gset:Nn \g_@@_acknowledgementsname_tl {ACKNOWLEDGEMENTS}
+ \tl_gset:Nn \g_@@_udesname_tl {UNIVERSITÉ~DE~SHERBROOKE}
+ \tl_gset:Nn \g_@@_facultyname_tl {Faculté~de~génie}
+ \tl_gset:Nn \g_@@_specialityname_tl {Specialité:~}
+ \tl_gset:Nn \g_@@_juryname_tl {JURY~MEMBERS}
+ \tl_gset:Nn \g_@@_adressname_tl {Sherbrooke~(Québec)~Canada}
+ \tl_gset:Nn \g_@@_motsclesname_tl {Keywords:}
+ \tl_gset:Nn \g_@@_jury_codirname_tl {Co-supervisor}
+ \tl_gset:Nn \g_@@_jury_codirnamef_tl {Co-supervisor}
+ \tl_gset:Nn \g_@@_jury_dirname_tl {Supervisor}
+ \tl_gset:Nn \g_@@_jury_dirnamef_tl {Supervisor} %Directress
+ \tl_gset:Nn \g_@@_jury_evalname_tl {Examiner} %Internal et external
+ \tl_gset:Nn \g_@@_jury_evalnamef_tl {Examiner} %Internal et external
}
}
@@ -1024,47 +1044,47 @@
\tl_if_empty:NT \g_@@_date_mois_tl
{ \msg_error:nn {udesgeniethese}{date_mois_vide} }
- \tl_case:Nn \g_@@_langue_tl
+ \token_case_meaning:Nn \g_@@_langue_tl
{
\c_@@_langue_francais_tl
{
\tl_if_empty:NT \g_@@_titre_francais_tl
- { \msg_error:nn {udesgeniethese}{titre_francais_vide} }
+ { \msg_error:nn {udesgeniethese}{titre_francais_vide} }
%<*these>
- \tl_if_empty:NT \g_@@_mots_cles_francais_tl
+ \tl_if_empty:NT \g_@@_mots_cles_francais_tl
{ \msg_error:nn {udesgeniethese}{mots_cles_francais_vide} }
- \tl_if_empty:NT \g_@@_fichier_resume_francais_tl
+ \tl_if_empty:NT \g_@@_fichier_resume_francais_tl
{ \msg_error:nnnn {udesgeniethese}{config_fichier_vide}{le~resume~francais}{fichierResumeFrancais} }
- \int_zero:N \l_tmpa_int
- \tl_if_empty:NF \g_@@_titre_anglais_tl
+ \int_zero:N \l_tmpa_int
+ \tl_if_empty:NF \g_@@_titre_anglais_tl
{ \int_incr:N \l_tmpa_int }
- \tl_if_empty:NF \g_@@_fichier_resume_anglais_tl
+ \tl_if_empty:NF \g_@@_fichier_resume_anglais_tl
{ \int_incr:N \l_tmpa_int }
- \tl_if_empty:NF \g_@@_mots_cles_anglais_tl
+ \tl_if_empty:NF \g_@@_mots_cles_anglais_tl
{ \int_incr:N \l_tmpa_int }
- \int_case:nnF { \l_tmpa_int }
- { {0}{}{3}{} }
- {
- \msg_error:nn {udesgeniethese}{titre_resume_mots_cles_anglais}
- \tl_gclear:N \g_@@_fichier_resume_anglais_tl % resume pas genere
- }
+ \int_case:nnF { \l_tmpa_int }
+ { {0}{}{3}{} }
+ {
+ \msg_error:nn {udesgeniethese}{titre_resume_mots_cles_anglais}
+ \tl_gclear:N \g_@@_fichier_resume_anglais_tl % resume pas genere
+ }
}
\c_@@_langue_english_tl
{
- \tl_if_empty:NT \g_@@_titre_francais_tl
- { \msg_error:nn {udesgeniethese}{titre_francais_vide} }
- \tl_if_empty:NT \g_@@_mots_cles_francais_tl
- { \msg_error:nn {udesgeniethese}{mots_cles_francais_vide} }
- \tl_if_empty:NT \g_@@_fichier_resume_francais_tl
- { \msg_error:nnnn {udesgeniethese}{config_fichier_vide}{le~resume~francais}{fichierResumeFrancais} }
- \tl_if_empty:NT \g_@@_titre_anglais_tl
- { \msg_error:nn {udesgeniethese}{titre_anglais_vide} }
- \tl_if_empty:NT \g_@@_mots_cles_anglais_tl
- { \msg_error:nn {udesgeniethese}{mots_cles_anglais_vide} }
- \tl_if_empty:NT \g_@@_fichier_resume_anglais_tl
- { \msg_error:nnnn {udesgeniethese}{config_fichier_vide}{le~resume~anglais}{fichierResumeAnglais} }
+ \tl_if_empty:NT \g_@@_titre_francais_tl
+ { \msg_error:nn {udesgeniethese}{titre_francais_vide} }
+ \tl_if_empty:NT \g_@@_mots_cles_francais_tl
+ { \msg_error:nn {udesgeniethese}{mots_cles_francais_vide} }
+ \tl_if_empty:NT \g_@@_fichier_resume_francais_tl
+ { \msg_error:nnnn {udesgeniethese}{config_fichier_vide}{le~resume~francais}{fichierResumeFrancais} }
+ \tl_if_empty:NT \g_@@_titre_anglais_tl
+ { \msg_error:nn {udesgeniethese}{titre_anglais_vide} }
+ \tl_if_empty:NT \g_@@_mots_cles_anglais_tl
+ { \msg_error:nn {udesgeniethese}{mots_cles_anglais_vide} }
+ \tl_if_empty:NT \g_@@_fichier_resume_anglais_tl
+ { \msg_error:nnnn {udesgeniethese}{config_fichier_vide}{le~resume~anglais}{fichierResumeAnglais} }
%</these>
}
}
@@ -1111,7 +1131,6 @@
\@@_setup_mecanique
\tl_gset:Nn \g_@@_essai_tl
{GMC~809~Projet~en~génie~aérospatial}
-
\tl_if_eq:NNF \g_@@_type_tl \c_@@_type_essai_tl
{\msg_error:nn {udesgeniethese}{aerospatial}}
}
@@ -1154,7 +1173,7 @@
\cs_new:Npn \@@_setup
{
- \tl_case:Nn \g_@@_langue_tl
+ \token_case_meaning:Nn \g_@@_langue_tl
{
\c_@@_langue_francais_tl {
\selectlanguage{french}
@@ -1174,7 +1193,7 @@
\renewcommand{\footrulewidth}{0pt}
}
- \tl_case:Nn \g_@@_format_tl
+ \token_case_meaning:Nn \g_@@_format_tl
{
\c_@@_format_livre_tl
{
@@ -1191,134 +1210,134 @@
\cfoot{\thepage}
}
}
-
%<these>
%<these> \use:c {_@@_setup_ \g_@@_programme_tl}
}
\cs_new:Npn \@@_generer_page_titre
{
- {
- \begin{titlepage}
- \renewcommand*{\thepage}{T1}
- \vspace*{-0.5 in}
- \begin{center}
- \begin{tabular}{c}
- \Large \g_@@_udesname_tl \\
-%<protocole> \Large\g_@@_facultyname_tl
-%<these> \Large\g_@@_facultyname_tl\\
-%<these> \Large\g_@@_departement_tl\\[0.5ex]
- \end{tabular}
- \vfill
- \tl_case:Nn \g_@@_langue_tl
- {
- \c_@@_langue_francais_tl {
- {\huge\g_@@_titre_francais_tl\par}
- }
- \c_@@_langue_english_tl {
- \begin{otherlanguage}{french}
- {\huge\g_@@_titre_francais_tl}
- \end{otherlanguage}\par
- {\Large\g_@@_titre_anglais_tl\par}
- }
+ \group_begin:
+ \begin{titlepage}
+ \renewcommand*{\thepage}{T1}
+ \vspace*{-0.5 in}
+ \begin{center}
+ \begin{tabular}{c}
+ \Large \g_@@_udesname_tl \\
+%<protocole> \Large\g_@@_facultyname_tl
+%<these> \Large\g_@@_facultyname_tl\\
+%<these> \Large\g_@@_departement_tl\\[0.5ex]
+ \end{tabular}
+ \vfill
+ \token_case_meaning:Nn \g_@@_langue_tl
+ {
+ \c_@@_langue_francais_tl {
+ {\huge\g_@@_titre_francais_tl\par}
}
- \vfill
-%<these> \begin{tabular}{c}
-%<these> \Large \use:c {g_@@_ \g_@@_type_tl _tl}
-%<these> \clist_if_in:NVT \g_@@_specialite_cl \g_@@_type_tl
-%<these> {
-%<these> \\[0.5ex]\Large\g_@@_specialityname_tl\g_@@_specialite_tl
-%<these> }
-%<these> \end{tabular}
-%<these> \vfill
- \begin{tabular}{c}
- {\Large\g_@@_auteur_prenom_tl\ \g_@@_auteur_nom_tl}
- \end{tabular}
- \vfill
- {\Large \g_@@_adressname_tl \par \vspace{2ex}\g_@@_date_mois_tl\ \g_@@_date_annee_tl}
- \end{center}
- \end{titlepage}
- \clearpage
-%<protocole> \thispagestyle{empty}
-%<protocole> \renewcommand*{\thepage}{T2}
-%<protocole> \null\vfill
-%<protocole> \c_@@_protocole_notice_tl\par
-%<protocole> \textcopyright\g_@@_date_annee_tl\ \c_@@_protocole_droits_tl
-%<protocole> \cleardoublepage
-%<these> \clearpage
-%<these> \if@openright\null\thispagestyle{empty}\renewcommand*{\thepage}{T2}\cleardoublepage\fi
- }
+ \c_@@_langue_english_tl {
+ \begin{otherlanguage}{french}
+ {\huge\g_@@_titre_francais_tl}
+ \end{otherlanguage}\par
+ {\Large\g_@@_titre_anglais_tl\par}
+ }
+ }
+ \vfill
+%<these> \begin{tabular}{c}
+%<these> \Large \use:c {g_@@_ \g_@@_type_tl _tl}
+%<these> \clist_if_in:NVT \g_@@_specialite_cl \g_@@_type_tl
+%<these> {
+%<these> \\[0.5ex]\Large\g_@@_specialityname_tl\g_@@_specialite_tl
+%<these> }
+%<these> \end{tabular}
+%<these> \vfill
+ \begin{tabular}{c}
+ {\Large\g_@@_auteur_prenom_tl\ \g_@@_auteur_nom_tl}
+ \end{tabular}
+ \vfill
+ {\Large \g_@@_adressname_tl \par \vspace{2ex}\g_@@_date_mois_tl\ \g_@@_date_annee_tl}
+ \end{center}
+ \end{titlepage}
+%<protocole> \thispagestyle{empty}
+%<protocole> \renewcommand*{\thepage}{T2}
+%<protocole> \null\vfill
+%<protocole> \c_@@_protocole_notice_tl\par
+%<protocole> \textcopyright\g_@@_date_annee_tl\ \c_@@_protocole_droits_tl
+%<protocole> \cleardoublepage
+%<these> \clearpage
+%<these> \if@openright\null\thispagestyle{empty}\renewcommand*{\thepage}{T2}\cleardoublepage\fi
+ \group_end:
}
\cs_new:Npn \@@_generer_jury
{
- {
- {\centering\chapter*{\g_@@_juryname_tl}}
+ \group_begin:
+ {\centering\chapter*{\g_@@_juryname_tl}}
+
+ \begin{center}
+ \vspace{4ex}
+ \begin{tabular}{p{3in}}
+ \hfill\large\g_@@_jury_directeur_tl\hfill\null \\ \hline
+ \centering\small
+ \token_case_meaning:Nn \g_@@_jury_directeur_mf_tl
+ {
+ \c_@@_male_tl {\g_@@_jury_dirname_tl}
+ \c_@@_female_tl {\g_@@_jury_dirnamef_tl}
+ }
+ \end{tabular}\par
- \begin{center}
- \vspace{4ex}
+ \tl_if_empty:NF \g_@@_jury_codirecteurs_cl
+ { \vspace{6ex} }
+
+ \clist_map_inline:Nn \g_@@_jury_codirecteurs_cl
+ {
\begin{tabular}{p{3in}}
- \hfill\large\g_@@_jury_directeur_tl\hfill\null \\ \hline
+ \hfill\large ##1 \hfill\null \\ \hline
+ \seq_gpop_left:NN \g_@@_jury_codirecteurs_mf_seq \l_tmpa_tl
\centering\small
- \tl_case:Nn \g_@@_jury_directeur_mf_tl
+ \token_case_meaning:Nn \l_tmpa_tl
{
- \c_@@_male_tl {\g_@@_jury_dirname_tl}
- \c_@@_female_tl {\g_@@_jury_dirnamef_tl}
+ \c_@@_male_tl {\g_@@_jury_codirname_tl}
+ \c_@@_female_tl {\g_@@_jury_codirnamef_tl}
}
\end{tabular}\par
+ }
- \tl_if_empty:NF \g_@@_jury_codirecteurs_cl
- { \vspace{6ex} }
-
- \clist_map_inline:Nn \g_@@_jury_codirecteurs_cl
- {
- \begin{tabular}{p{3in}}
- \hfill\large ##1 \hfill\null \\ \hline
- \seq_gpop_left:NN \g_@@_jury_codirecteurs_mf_seq \l_tmpa_tl
- \centering\small
- \tl_case:Nn \l_tmpa_tl
- {
- \c_@@_male_tl {\g_@@_jury_codirname_tl}
- \c_@@_female_tl {\g_@@_jury_codirnamef_tl}
- }
- \end{tabular}\par
- }
-
- \tl_if_empty:NF \g_@@_jury_evaluateurs_cl
- { \vspace{6ex} }
+ \tl_if_empty:NF \g_@@_jury_evaluateurs_cl
+ { \vspace{6ex} }
- \clist_map_inline:Nn \g_@@_jury_evaluateurs_cl
- {
- \begin{tabular}{p{3in}}
- \hfill\large ##1 \hfill\null \\ \hline
- \seq_gpop_left:NN \g_@@_jury_evaluateurs_mf_seq \l_tmpa_tl
- \centering\small
- \tl_case:Nn \l_tmpa_tl
- {
- \c_@@_male_tl {\g_@@_jury_evalname_tl}
- \c_@@_female_tl {\g_@@_jury_evalnamef_tl}
- }
- \end{tabular}\par
- }
- \end{center}
+ \clist_map_inline:Nn \g_@@_jury_evaluateurs_cl
+ {
+ \begin{tabular}{p{3in}}
+ \hfill\large ##1 \hfill\null \\ \hline
+ \seq_gpop_left:NN \g_@@_jury_evaluateurs_mf_seq \l_tmpa_tl
+ \centering\small
+ \token_case_meaning:Nn \l_tmpa_tl
+ {
+ \c_@@_male_tl {\g_@@_jury_evalname_tl}
+ \c_@@_female_tl {\g_@@_jury_evalnamef_tl}
+ }
+ \end{tabular}\par
+ }
+ \end{center}
- \thispagestyle{empty}\clearpage
- \if@openright\null\thispagestyle{empty}\cleardoublepage\fi
- }
+ \thispagestyle{empty}\clearpage
+ \if@openright\null\thispagestyle{empty}\cleardoublepage\fi
+ \group_end:
}
\cs_new:Npn \@@_generer_dedicace
{
\tl_if_empty:NF \g_@@_dedicace_tl
{
- {\null\vfill\flushright
- \begin{minipage}{0.5\linewidth}
- \setlength{\parskip}{1.5ex}\setlength{\parindent}{0em}
- \g_@@_dedicace_tl
- \end{minipage}
- \vfill\vfill
- \thispagestyle{empty}\clearpage
- \if@openright\null\thispagestyle{empty}\cleardoublepage\fi}
+ \group_begin:
+ \null\vfill\flushright
+ \begin{minipage}{0.5\linewidth}
+ \setlength{\parskip}{1.5ex}\setlength{\parindent}{0em}
+ \g_@@_dedicace_tl
+ \end{minipage}
+ \vfill\vfill
+ \thispagestyle{empty}\clearpage
+ \if@openright\null\thispagestyle{empty}\cleardoublepage\fi
+ \group_end:
}
}
@@ -1383,7 +1402,7 @@
{ \@@_generer_jury }
\@@_generer_resume_francais
- \tl_case:Nn \g_@@_langue_tl
+ \token_case_meaning:Nn \g_@@_langue_tl
{
\c_@@_langue_francais_tl {
\tl_if_blank:VF \g_@@_fichier_resume_anglais_tl
@@ -1404,13 +1423,13 @@
\tableofcontents
\if@openright\cleardoublepage\else\clearpage\fi
- \bool_if:NT \g_@@_listeDesFigures_bool
+ \bool_if:NT \g_@@_liste_figures_bool
{
\listoffigures
\if@openright\cleardoublepage\else\clearpage\fi
}
- \bool_if:NT \g_@@_listeDesTableaux_bool
+ \bool_if:NT \g_@@_liste_tableaux_bool
{
\listoftables
\if@openright\cleardoublepage\else\clearpage\fi
@@ -1448,7 +1467,7 @@
\refstepcounter{chapter}
\addcontentsline{toc}{chapter}{\bibname}
- \tl_case:Nn \g_@@_references_engin_tl
+ \token_case_meaning:Nn \g_@@_references_engin_tl
{
\c_@@_references_bibtex_tl
{ \bibliography{\g_@@_fichiers_references_cl} }
@@ -1462,21 +1481,38 @@
%%-----------------------------------------------------------------------------
%%--- GESTION AUTOMATISEE -------------------------------------------------
%%-----------------------------------------------------------------------------
-\AtEndPreamble
+\AddToHook{begindocument/before}
{
- \tl_case:Nn \g_@@_references_engin_tl
+ \bool_if:NTF \g_@@_legendes_min_bool
+ {\frenchsetup{SmallCapsFigTabCaptions=false}}
+ {\cs_gset:Npn \@@_caption_fmt #1 { \textsc{#1} }}
+
+ \token_case_meaning:Nn \g_@@_references_engin_tl
{
\c_@@_references_bibtex_tl
- { \bibliographystyle{\g_@@_style_references_tl} }
+ {
+ \IfPackageLoadedTF{biblatex}
+ {\msg_error:nn {udesgeniethese}{biblatex_en_trop}}{}
+ \bibliographystyle{\g_@@_style_references_tl}
+ }
\c_@@_references_biblatex_tl
{
+ \IfPackageLoadedTF{biblatex}
+ {}{\msg_error:nn {udesgeniethese}{biblatex_manquant}}
+
\clist_map_inline:Nn \g_@@_fichiers_references_cl
- {\addbibresource{#1}}
+ {
+ \bool_if:nTF \g_@@_autobib_bool
+ { \addbibresource{#1.bib} }
+ { \addbibresource{#1} }
+ }
}
}
+ \@@_setup_captions
}
-\AfterEndPreamble{
+\AddToHook{begindocument/end}
+{
\@@_validation
\@@_setup
\frontmatter
@@ -1487,7 +1523,8 @@
\onehalfspacing
}
-\AtEndDocument{
+\AddToHook{enddocument}
+{
% Si pas eu d'annexes avec \appendix
\int_compare:nNnT {\g_@@_pages_int} = {0}
{ \int_gset:Nn \g_@@_pages_int {\value{page}} }
@@ -1500,5 +1537,5 @@
\@@_generer_liste_references
}
%\end{implementation}
-% \Finale
+%\Finale
\endinput
diff --git a/macros/latex/contrib/udes-genie-these/udes-genie-these.ins b/macros/latex/contrib/udes-genie-these/udes-genie-these.ins
index 2975ed180c..473fd9e0d2 100644
--- a/macros/latex/contrib/udes-genie-these/udes-genie-these.ins
+++ b/macros/latex/contrib/udes-genie-these/udes-genie-these.ins
@@ -1,5 +1,5 @@
%% udes-genie-these.dtx
-%% Copyright 2022 Charles-Antoine Brunet
+%% Copyright 2023 Charles-Antoine Brunet
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3
@@ -10,7 +10,7 @@
%% version 2005/12/01 or later.
%%
%% This work has the LPPL maintenance status `maintained'.
-%%
+%%
%% The Current Maintainer of this work is Charles-Antoine Brunet.
%%
%% This work consists of the files udes-genie-these.dtx and udes-genie-these.ins
@@ -22,7 +22,7 @@
\preamble
-Copyright 2022 Charles-Antoine Brunet
+Copyright 2023 Charles-Antoine Brunet
This work may be distributed and/or modified under the
conditions of the LaTeX Project Public License, either version 1.3
diff --git a/macros/latex/contrib/udes-genie-these/udes-genie-these.pdf b/macros/latex/contrib/udes-genie-these/udes-genie-these.pdf
index e834a41846..12bdda374b 100644
--- a/macros/latex/contrib/udes-genie-these/udes-genie-these.pdf
+++ b/macros/latex/contrib/udes-genie-these/udes-genie-these.pdf
Binary files differ