summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/ulthese
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2014-01-20 23:17:55 +0000
committerKarl Berry <karl@freefriends.org>2014-01-20 23:17:55 +0000
commit2b5c60ccb1ed42479efd6b30e140b111770e7114 (patch)
tree3f3daa99c278d9dbb32508cf15701e8419f68525 /Master/texmf-dist/source/latex/ulthese
parentc4fc9d799a82b2e62e2c7982a6e461d3a7fea717 (diff)
ulthese (20jan14)
git-svn-id: svn://tug.org/texlive/trunk@32738 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/ulthese')
-rw-r--r--Master/texmf-dist/source/latex/ulthese/ulthese.dtx790
1 files changed, 479 insertions, 311 deletions
diff --git a/Master/texmf-dist/source/latex/ulthese/ulthese.dtx b/Master/texmf-dist/source/latex/ulthese/ulthese.dtx
index b80cbbc3c44..96d8c459814 100644
--- a/Master/texmf-dist/source/latex/ulthese/ulthese.dtx
+++ b/Master/texmf-dist/source/latex/ulthese/ulthese.dtx
@@ -29,7 +29,7 @@
%<class>\NeedsTeXFormat{LaTeX2e}[2009/09/24]
%<class>\ProvidesClass{ulthese}%
%<*class>
- [2013/01/16 v2.1 Classe pour les theses et memoires de l'Universite Laval]
+ [2014/01/20 v3.0 Classe pour les theses et memoires de l'Universite Laval]
%</class>
%<*driver>
\documentclass[11pt]{ltxdoc}
@@ -40,30 +40,41 @@
\usepackage[autolanguage]{numprint}
\usepackage{mathpazo}
\usepackage[scaled=0.92]{helvet}
- \usepackage{color,booktabs}
+ \usepackage{color,booktabs,metalogo}
\EnableCrossrefs
\CodelineIndex
\RecordChanges
- \definecolor{doclinkcolor}{rgb}{0,0,0.5}
+ \definecolor{link}{rgb}{0,0.4,0.6} % ~RoyalBlue de dvips
+ \definecolor{url}{rgb}{0.6,0,0} % rouge-brun
+ \definecolor{citation}{rgb}{0,0.5,0} % vert foncé
\usepackage{hyperref}
- \hypersetup{colorlinks,allcolors=doclinkcolor}
+ \hypersetup{colorlinks, linktocpage,
+ urlcolor=url, linkcolor=link, citecolor=citation,
+ bookmarksopen, bookmarksnumbered, bookmarksdepth=subsubsection.
+ pdftitle={Manuel de référence de la classe ulthese},
+ pdfauthor={Faculté des études supérieures et postdoctorales}}
+ \renewcommand{\appendixautorefname}{annexe}
+ \renewcommand{\tableautorefname}{tableau}
\frenchbsetup{%
CompactItemize=false, % ne pas compacter les listes
ThinSpaceInFrenchNumbers=true % espace fine dans les nombres
}
+ \addto\captionsfrench{\def\tablename{{\scshape Tab.}}}
+
\begin{document}
\DocInput{ulthese.dtx}
\end{document}
%</driver>
% \fi
-% \CheckSum{642}
+% \CheckSum{676}
% \DoNotIndex{\',\^,\`,\ ,\ae}
% \DoNotIndex{\RequirePackage,\ExecuteOptions,\ifthenelse,\ProcessOptions}
% \DoNotIndex{\newcommand,\newcommand*,\newboolean}
% \DoNotIndex{\setlength,\setboolean}
+% \changes{3.0}{2014-01-06}{Déclaration du grade en option de la classe. Moteur {\XeLaTeX} supporté; ajout de l'option \texttt{nobabel}}
% \changes{2.1}{2013-01-16}{Utilisation transparente de la police Helvetica pour la page titre}
% \changes{2.0}{2013-01-13}{Traitement automatique des longs titres}
% \changes{1.0b}{2012-11-11}{Ajouts et corrections mineures dans la documentation}
@@ -83,13 +94,13 @@
%
% \section{Introduction}
%
-% La classe \textsf{ulthese} permet de composer avec {\LaTeX} des thèses
-% et mémoires immédiatement conformes aux règles générales de
-% présentation matérielle de la Faculté des études supérieures et
-% postdoctorales (FESP) de l'Université Laval. Ces règles définissent
-% principalement la présentation de la page titre des thèses et mémoires
-% ainsi que la disposition du texte sur la page. La classe en elle-même
-% est donc relativement simple.
+% La classe \textsf{ulthese} permet de composer avec {\LaTeX} ou
+% {\XeLaTeX} des thèses et mémoires immédiatement conformes aux règles
+% générales de présentation matérielle de la Faculté des études
+% supérieures et postdoctorales (FESP) de l'Université Laval. Ces
+% règles définissent principalement la présentation de la page titre
+% des thèses et mémoires ainsi que la disposition du texte sur la
+% page. La classe en elle-même est donc relativement simple.
%
% Cependant, la classe \textsf{ulthese} est basée sur la classe
% \textsf{memoir}, une extension de la classe standard \textsf{book}
@@ -140,12 +151,15 @@
% depuis une invite de commande. Si l'on est peu familier avec
% l'invite de commande, on peut aussi procéder comme avec tout
% document {\LaTeX}, soit ouvrir le fichier |ulthese.ins| dans son
-% éditeur de texte favori et lancer la compilation avec {\LaTeX},
-% pdf{\TeX} ou pdf{\LaTeX} depuis celui-ci.
+% éditeur de texte favori et lancer depuis celui-ci la compilation avec {\LaTeX},
+% pdf{\LaTeX}, {\XeLaTeX} ou un autre moteur {\TeX}.
%
% \section{Utilisation}
%
-% La classe est chargée avec la commande
+% La classe est compatible avec les moteurs {\LaTeX} traditionnels
+% ainsi qu'avec le plus récent moteur {\XeLaTeX}.
+%
+% On charge la classe avec la commande
% \begin{quote}
% |\documentclass[|\meta{options}|]{ulthese}|
% \end{quote}
@@ -160,29 +174,98 @@
% Les \meta{options} que l'on peut spécifier au chargement de la classe
% sont les suivantes:
% \begin{description}
+% \item[|PhD, MSc, MA, ...|] déclaration du type de grade (consulter
+% le \autoref{tab:grades} pour la liste complète des options et
+% les grades correspondants);
+% \item[|multifacultaire|] déclaration d'une thèse multifacultaire;
+% \item[|cotutelle|] déclaration d'une thèse effectuée en cotutelle;
+% \item[|extensionUdeS|] déclaration d'une thèse ou d'un mémoire
+% réalisé en extension à l'Université de Sherbrooke;
+% \item[|extensionUQO|] déclaration d'une thèse ou d'un mémoire
+% réalisé en extension à l'Université du Québec en Outaouais;
+% \item[|extensionUQAC|] déclaration d'une thèse ou d'un mémoire
+% réalisé en extension à l'Université du Québec à Chicoutimi;
% \item[|10pt|] sélectionne une taille de police de 10~points;
% \item[|11pt|] sélectionne une taille de police de 11~points;
% \item[|12pt|] sélectionne une taille de police de 12~points;
-% \item[|nonatbib|] empêche de charger le paquetage \textsf{natbib} (voir
-% la section~\ref{sec:bibliographystyle});
+% \item[|nonatbib|] empêche le chargement du paquetage
+% \textsf{natbib};
+% \item[|nobabel|] empêche le chargement du paquetage \textsf{babel};
% \item[|english, francais, ...|] langues utilisées dans le document;
% \item[\mdseries\meta{options memoir}] autres options du paquetage
% \textsf{memoir}.
% \end{description}
%
+% \begin{table}
+% \centering
+% \begin{tabular}{lp{9cm}}
+% \toprule
+% Option & Nom du grade (sigle) \\
+% \midrule
+% |LLD|\index{LLD=\verb+\LLD+}
+% & Docteur en droit (L.L.D.) \\
+% |DPsy|\index{DPsy=\verb+\DPsy+}
+% & Docteur en psychologie (D.Psy.) \\
+% |DThP|\index{DThP=\verb+\DThP+}
+% & Docteur en théologie pratique (D.Th.P.) \\
+% |PhD|\index{PhD=\verb+\PhD+}
+% & Philosophi{\ae} doctor (Ph.D.) \\
+% \addlinespace[6pt]
+% |LLM|\index{LLM=\verb+\LLM+}
+% & Maître en droit (L.L.M.) \\
+% |MA|\index{MA=\verb+\MA+}
+% & Maître ès arts (M.A.) \\
+% |MMus|\index{MMus=\verb+\MMus+}
+% & Maître en musique (M.Mus.) \\
+% |MSc|\index{MSc=\verb+\MSc+}
+% & Maître ès sciences (M.Sc.) \\
+% |MServSoc|\index{MServSoc=\verb+\MServSoc+}
+% & Maître en service social (M.Serv.Soc.) \\
+% |MScGeogr|\index{MScGeogr=\verb+\MScGeogr+}
+% & Maître en sciences géographiques (M.Sc.Géogr.) \\
+% |MATDR|\index{MATDR=\verb+\MATDR+}
+% & Maître en aménagement du territoire et développement régional
+% (M.ATDR) \\
+% \bottomrule
+% \end{tabular}
+% \caption{Options de la classe pour la déclaration du grade et libellés
+% correspondants}
+% \label{tab:grades}
+% \end{table}
+%
+% La déclaration d'un type de grade est obligatoire.
+%
+% La déclaration d'une thèse multifacultaire nécessite d'utiliser la
+% commande |\faculteUL|. La déclaration d'une thèse réalisée en
+% cotutelle avec une autre université nécessite d'utiliser les
+% commandes |\univcotutelle| et |\gradecotutelle|. Les déclarations de
+% thèse ou de mémoire réalisé en extension dans une autre université
+% nécessitent d'utiliser les commandes |\faculteUL| et l'une ou
+% l'autre de |\faculteUdeS|, |\faculteUQO| ou |\faculteUQAC|, selon le
+% cas. L'ensemble de ces commandes sont décrites à la
+% \autoref{sec:commandes}.
+%
% Si aucune taille de police n'est précisée, la classe utilisera par
% défaut une police de 11~points. La taille des polices de la page
% titre n'est pas affectée par les options |10pt|, |11pt| et |12pt|.
%
-% Le paquetage \textsf{natbib} est normalement chargé par la classe.
-% L'option |nonatbib| permet d'empêcher le chargement en cas de
-% conflit avec un autre paquetage de mise en forme de la
-% bibliographie.
+% Le paquetage \textsf{natbib} est normalement chargé par la classe;
+% voir la \autoref{sec:bibliographystyle}. L'option |nonatbib| permet
+% d'empêcher le chargement en cas de conflit avec un autre paquetage
+% de mise en forme de la bibliographie.
%
-% Les langues sont passées au paquetage \textsf{babel}; voir la
-% section~\ref{sec:langues}. Leur libellé devrait donc correspondre
-% aux options de ce paquetage. La dernière langue spécifiée est la
-% langue active par défaut dans le document.
+% La classe utilise par défaut le paquetage \textsf{babel} pour le
+% traitement des langues dans le document; voir la
+% \autoref{sec:langues}. L'option |nobabel| permet d'empêcher son
+% chargement si un autre paquetage devait être utilisé --- on pense
+% ici principalement à \textsf{polyglossia} pour un document produit
+% avec le moteur {\XeLaTeX}.
+%
+% Les langues sont passées au paquetage \textsf{babel} (dans la mesure
+% où |nobabel| n'est pas spécifié, bien entendu). Le libellé des
+% langues devrait donc correspondre aux options de \textsf{babel}. La
+% dernière langue spécifiée est la langue active par défaut dans le
+% document.
%
% Toute autre option sera passée à la classe \textsf{memoir} dont,
% entre autres, le format du papier. Le format lettre nord-américain
@@ -192,13 +275,14 @@
% |twoside|, et |openright|.
%
% \subsection{Nouvelles commandes}
+% \label{sec:commandes}
%
% La classe \textsf{ulthese} définit quelques nouvelles commandes
% servant principalement à créer la page titre et des éléments des pages
% liminaires.
%
% \subsubsection{Commandes de la page titre}
-% \label{sec:commandes-pagetitre}
+% \label{sec:commandes:pagetitre}
%
% Les commandes ci-dessous servent à définir les divers éléments de la
% page titre et leur disposition sur la page.
@@ -242,98 +326,28 @@
% principal par un tiret demi-quadratin (obtenu avec |--|).
% \end{DescribeMacro}
%
-% \begin{DescribeMacro}{\PhD,}
-% \begin{DescribeMacro}{\MSc,}
-% \begin{DescribeMacro}{\MA, \dots}
-% Déclaration du type de grade auquel donne droit la thèse ou le
-% mémoire. Consulter le tableau~\ref{tab:grades} pour la liste
-% complète des commandes et des grades correspondants.
-% \end{DescribeMacro}
-% \end{DescribeMacro}
-% \end{DescribeMacro}
-%
-% \begin{table}
-% \centering
-% \begin{tabular}{lp{9cm}}
-% \toprule
-% Commande & Nom du grade (sigle) \\
-% \midrule
-% |\LLD|\index{LLD=\verb+\LLD+}
-% & Docteur en droit (L.L.D.) \\
-% |\DPsy|\index{DPsy=\verb+\DPsy+}
-% & Docteur en psychologie (D.Psy.) \\
-% |\DThP|\index{DThP=\verb+\DThP+}
-% & Docteur en théologie pratique (D.Th.P.) \\
-% |\PhD|\index{PhD=\verb+\PhD+}
-% & Philosophi{\ae} doctor (Ph.D.) \\
-% \addlinespace[6pt]
-% |\LLM|\index{LLM=\verb+\LLM+}
-% & Maître en droit (L.L.M.) \\
-% |\MA|\index{MA=\verb+\MA+}
-% & Maître ès arts (M.A.) \\
-% |\MMus|\index{MMus=\verb+\MMus+}
-% & Maître en musique (M.Mus.) \\
-% |\MSc|\index{MSc=\verb+\MSc+}
-% & Maître ès sciences (M.Sc.) \\
-% |\MServSoc|\index{MServSoc=\verb+\MServSoc+}
-% & Maître en service social (M.Serv.Soc.) \\
-% |\MScGeogr|\index{MScGeogr=\verb+\MScGeogr+}
-% & Maître en sciences géographiques (M.Sc.G\'eogr.) \\
-% |\MATDR|\index{MATDR=\verb+\MATDR+}
-% & Maître en aménagement du territoire et développement régional
-% (M.ATDR) \\
-% \bottomrule
-% \end{tabular}
-% \caption{Commandes de déclaration du grade et libellés correspondants}
-% \label{tab:grades}
-% \end{table}
-%
-% \begin{DescribeMacro}{\multifacultaire}
-% Déclaration d'une thèse ou d'un mémoire multifacultaire. Requiert
-% d'utiliser aussi la commande |\faculteUL| ci-dessous.
-% \end{DescribeMacro}
-%
-% \begin{DescribeMacro}{\cotutelle}
-% Déclaration d'une thèse ou d'un mémoire réalisé en cotutelle avec
-% une autre université. Requiert d'utiliser aussi les commandes
-% |\univcotutelle| et |\gradecotutelle| ci-dessous.
-% \end{DescribeMacro}
-%
% \begin{DescribeMacro}{\univcotutelle}
-% Nom, ville et pays de l'université de cotutelle, déclarés sous la
-% forme
+% Prend effet seulement lorsque la classe est chargée avec l'option
+% |cotutelle|. Nom, ville et pays de l'université de cotutelle,
+% déclarés sous la forme
% \begin{quote}
% |\univcotutelle{Nom de l'université \\ Ville, Pays}|
% \end{quote}
% \end{DescribeMacro}
%
% \begin{DescribeMacro}{\gradecotutelle}
-% Grade conféré par l'université de cotutelle, déclaré sous la forme
+% Prend effet seulement lorsque la classe est chargée avec l'option
+% |cotutelle|. Grade conféré par l'université de cotutelle, déclaré
+% sous la forme
% \begin{quote}
% |\gradecotutelle{Nom du grade (sigle)}|
% \end{quote}
% \end{DescribeMacro}
%
-% \begin{DescribeMacro}{\extensionUdeS}
-% Déclaration que la thèse est réalisée en extension à l'Université
-% de Sherbrooke. Requiert d'utiliser aussi les commandes
-% |\faculteUL| et |\faculteUdeS| ci-dessous.
-% \end{DescribeMacro}
-%
-% \begin{DescribeMacro}{\extensionUQO}
-% Déclaration que la thèse est réalisée en extension à l'Université du
-% Québec en Outaouais. Requiert d'utiliser aussi les commandes
-% |\faculteUL| et |\faculteUQO| ci-dessous.
-% \end{DescribeMacro}
-%
-% \begin{DescribeMacro}{\extensionUQAC}
-% Déclaration que le mémoire est réalisé en extension à l'Université
-% du Québec à Chicoutimi. Requiert d'utiliser aussi les commandes
-% |\faculteUL| et |\faculteUQAC| ci-dessous.
-% \end{DescribeMacro}
-%
% \begin{DescribeMacro}{\faculteUL}
-% Cette macro a deux usages:
+% Prend effet seulement lorsque la classe est chargée avec l'une ou
+% l'autre des options |multifacultaire|, |extensionUdeS|,
+% |extensionUQO| ou |extensionUQAR|. Cette macro a deux usages:
% \begin{enumerate}
% \item noms des facultés pour les thèses et mémoires
% multifacultaires, séparés par des commandes |\\|;
@@ -344,18 +358,21 @@
% \end{DescribeMacro}
%
% \begin{DescribeMacro}{\faculteUdeS}
-% Nom de la faculté de l'Université de Sherbrooke hébergeant la thèse
-% en extension.
+% Prend effet seulement lorsque la classe est chargée avec l'option
+% |extensionUdeS|. Nom de la faculté de l'Université de Sherbrooke
+% hébergeant la thèse en extension.
% \end{DescribeMacro}
%
% \begin{DescribeMacro}{\faculteUQO}
-% Nom de la faculté de l'Université du Québec en Outaouais hébergeant
-% la thèse en extension.
+% Prend effet seulement lorsque la classe est chargée avec l'option
+% |extensionUQO|. Nom de la faculté de l'Université du Québec en
+% Outaouais hébergeant la thèse en extension.
% \end{DescribeMacro}
%
% \begin{DescribeMacro}{\faculteUQAC}
-% Nom de la faculté de l'Université du Québec à Chicoutimi hébergeant
-% le mémoire en extension.
+% Prend effet seulement lorsque la classe est chargée avec l'option
+% |extensionUQAC|. Nom de la faculté de l'Université du Québec à
+% Chicoutimi hébergeant le mémoire en extension.
% \end{DescribeMacro}
%
% \begin{DescribeMacro}{\pagetitre}
@@ -392,12 +409,13 @@
% \subsection{Citations}
% \label{sec:citations}
%
+% {\LaTeX} offre deux environnements pour les citations dans le
+% texte: |quote| et |quotation|.
+%
% \begin{DescribeEnv}{quote}
-% {\LaTeX} offre deux environnements pour les citations dans le
-% texte: |quote| et |quotation|. Le premier sert pour les citations
-% «courtes», quelques lignes au plus. Dans la classe, le texte est
-% alors placé en retrait des marges normales de 10~mm à gauche et à
-% droite.
+% L'environnement |quote| sert pour les citations «courtes»,
+% quelques lignes au plus. Dans la classe, le texte est alors placé
+% en retrait des marges normales de 10~mm à gauche et à droite.
% \end{DescribeEnv}
%
% \begin{DescribeEnv}{quotation}
@@ -417,7 +435,7 @@
% obtenu avec la commande |\OnehalfSpacing| de \textsf{memoir}.
% L'interligne simple est automatiquement rétabli pour la page
% titre, la table des matières, la liste des tableaux, la liste
-% des figures et les longues citations (section~\ref{sec:citations}).
+% des figures et les longues citations (\autoref{sec:citations}).
% \end{DescribeMacro}
%
% \begin{DescribeMacro}{\SingleSpacing}
@@ -429,18 +447,25 @@
% \subsection{Autres paquetages chargés}
% \label{sec:paquetages}
%
-% Outre \textsf{memoir} et \textsf{babel}, la classe \textsf{ulthese}
-% charge pour son usage quelques paquetages qui peuvent aussi être
-% utiles pour l'utilisateur de la classe. Il n'est donc pas nécessaire
-% de charger de nouveau les paquetages suivants:
+% Outre \textsf{memoir}, la classe \textsf{ulthese} charge quelques
+% paquetages qui peuvent aussi être utiles pour l'utilisateur de la
+% classe. Il n'est donc pas nécessaire de charger de nouveau les
+% paquetages suivants:
% \begin{description}
+% \item[\normalfont\textsf{babel}] gestion des documents rédigés dans
+% une ou plusieurs langues autres que l'anglais (si l'option
+% |nobabel| de la classe est absente; voir aussi la
+% \autoref{sec:langues});
+% \item[\normalfont\textsf{numprint}] requis par la commande |\nombre|
+% de \textsf{babel}; le paquetage est donc chargé uniquement si
+% \textsf{babel} l'est. Permet de composer automatiquement des
+% nombres avec un séparateur toutes les trois positions (une espace
+% en français);
% \item[\normalfont\textsf{natbib}] gestion de la bibliographie (si
% l'option |nonatbib| de la classe est absente; voir aussi la
-% section~\ref{sec:bibliographystyle});
-% \item[\normalfont\textsf{numprint}] permet de composer
-% automatiquement des nombres avec un séparateur toutes les trois
-% positions (une espace en français). Requis par la commande
-% |\nombre| de \textsf{babel};
+% \autoref{sec:bibliographystyle});
+% \item[\normalfont\textsf{fontspec}] gestion des polices OpenType
+% sous {\XeLaTeX} (chargé avec ce moteur seulement);
% \item[\normalfont\textsf{graphicx}] support pour l'insertion et la
% manipulation de graphiques;
% \item[\normalfont\textsf{xcolor}] extension du paquetage
@@ -448,7 +473,7 @@
% \item[\normalfont\textsf{textcomp}] multitude de symboles spéciaux,
% dont un beau symbole de copyright, \textcopyright.
% \end{description}
-% L'annexe~\ref{sec:meo} sur la mise en {\oe}uvre de la classe fournit
+% L'\autoref{sec:meo} sur la mise en {\oe}uvre de la classe fournit
% plus de détails sur la liste des paquetages chargés et les raisons
% pour lesquelles ils sont requis dans la classe.
%
@@ -461,13 +486,13 @@
% césure des mots. La solution standard à ce problème provient du
% paquetage \textsf{babel}. Celui-ci permet de combiner plusieurs
% langues dans un même document et de passer de l'une à l'autre
-% facilement. Il est chargé par la classe \textsf{ulthese}.
+% facilement. Il est chargé par défaut par la classe \textsf{ulthese}.
%
% Aucune langue n'est spécifiée dans la classe. La plupart des auteurs
% auront recours à l'anglais et au français, ne serait-ce que pour les
% deux résumés demandés par la FESP. Les langues utilisées dans le
% document doivent être spécifiées comme options à la classe, tel que
-% mentionné à la section~\ref{sec:utilisation:options}. La
+% mentionné à la \autoref{sec:utilisation:options}. La
% \emph{dernière} langue spécifiée devient par défaut la langue active
% du document.
%
@@ -483,19 +508,31 @@
% les brefs changements de langue.
% \end{DescribeEnv}
%
-% Si vous n'êtes pas autrement familier avec le paquetage \textsf{babel},
-% consulter sa documentation, ne serait-ce que les chapitres consacrés
-% aux langues utilisées dans votre thèse ou mémoire. Rechercher sur
-% votre système le fichier |babel.pdf| ou le %
-% \href{http://mirrors.ctan.org/macros/latex/required/babel/babel.pdf}{%
-% consulter en ligne} %
-% sur CTAN.
-%
-% \section{Police de caractère du document}
+% Si vous n'êtes pas autrement familier avec le paquetage
+% \textsf{babel}, consulter sa documentation. Celle-ci est éclatée en un
+% document principal, |babel.pdf|, pour le c{\oe}ur du paquetage et plusieurs
+% autres pour les fonctionnalités propres à une langue (|english.pdf|,
+% |frenchb.pdf|, etc.). Consulter au moins les documents consacrés aux
+% langues utilisées dans votre thèse ou mémoire. Le plus simple
+% consiste sans doute à consulter en ligne sur CTAN la %
+% \href{http://mirrors.ctan.org/macros/latex/required/babel/base/babel.pdf}{%
+% documentation de base} %
+% et les
+% \href{http://mirrors.ctan.org/macros/latex/required/babel/contrib/}{%
+% documents spécifiques par langue}.
+%
+% Les utilisateurs de {\XeLaTeX} qui souhaiteraient plutôt utiliser le
+% plus récent paquetage \textsf{polyglossia} peuvent empêcher le
+% chargement de \textsf{babel} avec l'option |nobabel| de la classe.
+% Ils devront toutefois charger et configurer \textsf{polyglossia}
+% eux-mêmes dans l'entête de leur document. Ce paquetage est moins
+% évolué que \textsf{babel} pour la typographie française.
+%
+% \section{Police de caractères du document}
% \label{sec:police}
%
% Les documents {\LaTeX} sont facilement reconnaissables par leur
-% police de caractère par défaut, {\fontfamily{cmr}\selectfont
+% police de caractères par défaut, {\fontfamily{cmr}\selectfont
% Computer Modern}. Avec toute distribution {\LaTeX} moderne, il est
% maintenant simple d'utiliser l'une ou l'autre des polices Postscript
% standards. D'ailleurs la classe \textsf{ulthese} utilise la police
@@ -504,15 +541,29 @@
% La FESP permet l'utilisation des polices
% {\fontfamily{ptm}\selectfont Times} et Palatino\footnote{%
% Palatino est la police utilisée dans le présent document.} %
-% dans les thèse et mémoires {\LaTeX}. Pour utiliser ces polices,
-% charger les paquetages \textsf{mathptmx} ou \textsf{mathpazo},
-% respectivement. Pour les détails, consulter la documentation de
-% l'ensemble de paquetages PSNFSS. Rechercher sur votre système le
-% fichier |psnfss2e.pdf| ou le %
+% dans les thèse et mémoires {\LaTeX}. Pour utiliser ces polices avec
+% {\LaTeX}, charger les paquetages \textsf{mathptmx} ou
+% \textsf{mathpazo}, respectivement. Pour les détails, consulter la
+% documentation de l'ensemble de paquetages PSNFSS. Rechercher sur
+% votre système le fichier |psnfss2e.pdf| ou le %
% \href{http://mirrors.ctan.org/macros/latex/required/psnfss/psnfss2e.pdf}{%
% consulter en ligne} %
% sur CTAN.
%
+% Avec {\XeLaTeX}, on peut utiliser les polices
+% {\fontfamily{qtm}\selectfont Termes} et {\fontfamily{qpl}\selectfont
+% Pagella} du projet
+% \href{http://www.gust.org.pl/projects/e-foundry/tex-gyre/}{TeX
+% Gyre}. Ce sont des polices très similaires à Times et Palatino,
+% disponibles en version OpenType et qui fournissent un bon support
+% pour les mathématiques via le projet frère
+% \href{http://www.gust.org.pl/projects/e-foundry/tg-math/}{TeX Gyre
+% Math}. La gestion des polices de caractères avec {\XeLaTeX} se fait
+% avec le paquetage standard \textsf{fontspec} (documentation dans le
+% fichier |fontspec.pdf| ou %
+% \href{http://mirrors.ctan.org/macros/latex/contrib/fontspec/fontspec.pdf}{%
+% directement sur CTAN}).
+%
% \section{Gabarits}
%
% Il est recommandé de segmenter tout document d'une certaine ampleur
@@ -591,39 +642,51 @@
% \href{http://fr.wikipedia.org/wiki/Windows-1252}{Windows-1252} %
% (options |cp1252| ou |ansinew|).
%
+% La situation est plus simple avec le moteur {\XeLaTeX} puisqu'il
+% gère nativement Unicode. Le paquetage \textsf{inputenc} est non
+% seulement inutile, mais incompatible avec {\XeLaTeX}. C'est
+% pourquoi, dans les gabarits, \textsf{inputenc} est chargé seulement
+% lorsque {\XeLaTeX} n'est pas le moteur employé pour compiler le
+% document.
%
% \subsection{Paquetages additionnels}
%
-% Tel qu'explicité à la section~\ref{sec:paquetages}, la classe
+% Tel qu'explicité à la \autoref{sec:paquetages}, la classe
% charge déjà quelques paquetages. Cependant, il est fort probable que
% vous devrez en charger d'autres pour composer votre document. Les
% gabarits prévoient un endroit pour le chargement de paquetages
% additionnels. Il est recommandé d'inscrire vos commandes
% |\usepackage| à cet endroit afin de respecter un certain ordre de
-% chargement; voir la section suivante.
+% chargement; voir ci-dessous.
%
% Si vous utilisez un paquetage non standard dans les distributions
% courantes (MiK\TeX, \TeX~Live, Mac\TeX), vous devez le fournir avec
% le code source de votre document lors du dépôt final.
%
+% \subsection{Changement de police de caractères}
+%
+% Les gabarits comportent des déclarations types pour utiliser les
+% polices Palatino ou Times sous {\LaTeX} ou, sous {\XeLaTeX}, leurs
+% équivalents Pagella et Termes du projet TeX~Gyre.
+%
% \subsection{Hyperliens}
% \label{sec:hyperref}
%
% Le paquetage \textsf{hyperref} permet de transformer toutes les
-% références en hyperliens cliquables lorsque le document {\LaTeX} est
-% produit avec |pdflatex|. L'interaction de ce paquetage avec les autres
-% est parfois (voire souvent) délicate. Pour cette raison, il est
+% références en hyperliens cliquables lorsque le document est produit
+% avec pdf{\LaTeX}. L'interaction de ce paquetage avec les autres est
+% parfois (voire souvent) délicate. Pour cette raison, il est
% habituellement nécessaire de charger \textsf{hyperref} en tout
% dernier. C'est pourquoi il n'est pas chargé dans la classe, mais
-% plutôt dans les gabarits. Prendre soin de maintenir le dernier rang de
-% chargement lors de l'édition d'un gabarit.
+% plutôt dans les gabarits. Prendre soin de maintenir le dernier rang
+% de chargement lors de l'édition d'un gabarit.
%
% La configuration du paquetage dans les gabarits fait en sorte que
% les liens sont simplement signalés par une couleur de texte
% légèrement contrastante. L'utilisation de couleurs dans un document
% requiert le paquetage |xcolor|, chargé par la classe. La couleur de
% lien par défaut, |ULlinkcolor|, est définie dans la classe; voir la
-% section~\ref{sec:couleurs}.
+% \autoref{sec:couleurs}.
%
% \subsection{Options de \textsf{babel}}
%
@@ -646,11 +709,15 @@
% \end{enumerate}
% \begin{DescribeMacro}{\nombre}
% D'ailleurs, à ce sujet, le paquetage \textsf{numprint} étant
-% chargé dans la classe, on peut utiliser la commande |\nombre| pour
-% formater automatiquement les nombres. Par exemple, le résultat de
-% |\nombre{123456789}| est \nombre{123456789}.
+% chargé dans la classe avec \textsf{babel}, on peut utiliser la
+% commande |\nombre| pour formater automatiquement les nombres. Par
+% exemple, le résultat de |\nombre{123456789}| est
+% \nombre{123456789}.
% \end{DescribeMacro}
%
+% Ces ajustements doivent évidemment être désactivés si l'option
+% |nobabel| est spécifiée au chargement de la classe.
+%
% \subsection{Style de la bibliographie}
% \label{sec:bibliographystyle}
%
@@ -682,7 +749,7 @@
% consulter en ligne} %
% sur CTAN.
%
-% De plus, Vincent Goulet a préparé le paquetage
+% De plus, on trouve dans CTAN le paquetage
% \href{http://www.ctan.org/pkg/francais-bst/}{\textsf{francais-bst}}
% qui fournit une feuille de style compatible avec \textsf{natbib}.
% Celle-ci permet de composer des bibliographies auteur-année
@@ -703,7 +770,7 @@
% composer la page titre des divers types de thèse ou de mémoires.
% Vous devez remplacer les éléments se trouvant entre crochets <~> en
% respectant la forme indiquée. Assurez-vous de supprimer les
-% caractères < et > afin qu'il n'apparaissent pas sur la page titre de
+% caractères < et > afin qu'ils n'apparaissent pas sur la page titre de
% votre document.
%
% \subsection{Pages liminaires}
@@ -798,7 +865,7 @@
% code source.
% \end{DescribeMacro}
%
-% Consulter la section~\ref{sec:bibliographystyle} pour des
+% Consulter la \autoref{sec:bibliographystyle} pour des
% informations additionnelles sur la préparation de la bibliographie.
%
% \section{Aide additionnelle}
@@ -816,12 +883,13 @@
% \end{enumerate}
% Si la réponse à votre question ne se trouve ni dans le wiki, ni dans
% les archives, alors écrire à l'adresse
-% \href{mailto:ulthese-aide@bibl.ulaval.ca}{\url{ulthese-aide@bibl.ulaval.ca}}.
+% \href{mailto:ulthese-aide@listes.ulaval.ca}{\url{ulthese-aide@listes.ulaval.ca}}.
%
% \StopEventually{\PrintChanges\PrintIndex}
%
% ^^A Début du code de la classe
%
+% \newpage
% \appendix
% \section{Mise en {\oe}uvre}
% \label{sec:meo}
@@ -830,36 +898,56 @@
% classe. Elle ne risque d'intéresser que les personnes qui souhaitent
% explorer comment la classe est programmée.
%
+% \subsection{Tests}
+%
+% Les paquetages \textsf{ifthen} et \textsf{ifxetex} sont nécessaires
+% pour effectuer divers tests dans la classe.
+% \begin{macrocode}
+%<*class>
+\RequirePackage{ifthen}
+\RequirePackage{ifxetex}
+% \end{macrocode}
+%
% \subsection{Options de la classe}
%
-% Il y a deux options propres à la classe: la taille de la police de
-% caractères en points et la possibilité d'empêcher le chargement du
-% paquetage \textsf{natbib}.
+% Il y a quatre grandes catégories d'options propres à la classe: la
+% possibilité d'empêcher le chargement du paquetage \textsf{natbib};
+% la possibilité d'empêcher le chargement du paquetage \textsf{babel};
+% la taille de la police de caractères en points; le type de grade.
%
% \begin{macro}{nonatbib}
-% Pour des raisons de programmation, on traite l'option |nonatbib|
-% en premier. Celle-ci permet d'empêcher la classe de charger le
+% L'option |nonatbib| permet d'empêcher la classe de charger le
% paquetage \textsf{natbib} en cas d'incompatibilité avec d'autres
-% paquetages spécialisés de mise en forme de la bibliographie. Le
-% paquetage \textsf{ifthen} est nécessaire pour définir cette option
-% booléenne et pour plusieurs autres usages internes à la classe.
+% paquetages spécialisés de mise en forme de la bibliographie.
% \begin{macrocode}
-%<*class>
-\RequirePackage{ifthen}
\newboolean{UL@natbib}
\setboolean{UL@natbib}{true}
\DeclareOption{nonatbib}{\setboolean{UL@natbib}{false}}
% \end{macrocode}
% \end{macro}
%
-% Les valeurs possibles pour la taille de la police de caractères sont
-% |10pt|, |11pt| et |12pt|. Cette option est gérée au niveau de la
-% classe afin de s'assurer que les divers éléments sur la page titre
-% sont toujours de la même taille. La taille de la police par défaut
-% permet de déterminer si, par exemple, le titre du document doit être
-% dans la taille |\Huge|, |\huge| ou |\LARGE| de \textsf{memoir}.
+% \begin{macro}{nobabel}
+% L'option |nobabel| permet d'empêcher la classe de charger le
+% paquetage \textsf{babel}. Cette option peut s'avérer utile pour
+% les utilisateurs de {\XeLaTeX} qui souhaitent plutôt utiliser
+% \textsf{poyglossia} pour le traitement des langues dans leur
+% document.
+% \begin{macrocode}
+\newboolean{UL@babel}
+\setboolean{UL@babel}{true}
+\DeclareOption{nobabel}{\setboolean{UL@babel}{false}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{10pt,11pt,12pt}
+% Les valeurs possibles pour la taille de la police de caractères
+% sont |10pt|, |11pt| et |12pt|. Cette option est gérée au niveau de
+% la classe afin de s'assurer que les divers éléments sur la page
+% titre sont toujours de la même taille. La taille de la police par
+% défaut permet de déterminer si, par exemple, le titre du document
+% doit être dans la taille |\Huge|, |\huge| ou |\LARGE| de
+% \textsf{memoir}.
%
-% \begin{macro}{\UL@ptsize}
% La taille de la police est passée à \textsf{memoir} et la macro
% |\UL@ptsize| stocke la taille des caractères pour usage futur.
% \begin{macrocode}
@@ -876,17 +964,107 @@
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{PhD,MSc,MA,...}
+% Définition du type de grade et si la thèse ou le mémoire est
+% multifacultaire, effectué en cotutelle ou en extension. On définie
+% également une valeur booléennes servant à adapter la composition
+% de la page titre plus loin: est-ce que le type de programme
+% (doctorat ou maîtrise) est masculin ou non?
+% \begin{macrocode}
+\newboolean{UL@isprogmasc}
+\newcommand*{\UL@typenum}{}
+\DeclareOption{LLD}{%
+ \renewcommand*{\UL@typenum}{0}
+ \setboolean{UL@isprogmasc}{true}
+ \newcommand*{\UL@typeofdoc}{Th\`ese}
+ \newcommand*{\UL@degree}{Docteur en droit (L.L.D.)}}
+\DeclareOption{DPsy}{%
+ \renewcommand*{\UL@typenum}{0}
+ \setboolean{UL@isprogmasc}{true}
+ \newcommand*{\UL@typeofdoc}{Th\`ese}
+ \newcommand*{\UL@degree}{Docteur en psychologie (D.Psy.)}}
+\DeclareOption{DThP}{%
+ \renewcommand*{\UL@typenum}{0}
+ \setboolean{UL@isprogmasc}{true}
+ \newcommand*{\UL@typeofdoc}{Th\`ese}
+ \newcommand*{\UL@degree}{Docteur en th\'eologie pratique (D.Th.P.)}}
+\DeclareOption{PhD}{%
+ \renewcommand*{\UL@typenum}{0}
+ \setboolean{UL@isprogmasc}{true}
+ \newcommand*{\UL@typeofdoc}{Th\`ese}
+ \newcommand*{\UL@degree}{Philosophi{\ae} doctor (Ph.D.)}}
+\DeclareOption{LLM}{%
+ \renewcommand*{\UL@typenum}{0}
+ \setboolean{UL@isprogmasc}{false}
+ \newcommand*{\UL@typeofdoc}{M\'emoire}
+ \newcommand*{\UL@degree}{Ma\^itre en droit (L.L.M.)}}
+\DeclareOption{MA}{%
+ \renewcommand*{\UL@typenum}{0}
+ \setboolean{UL@isprogmasc}{false}
+ \newcommand*{\UL@typeofdoc}{M\'emoire}
+ \newcommand*{\UL@degree}{Ma\^itre \`es arts (M.A.)}}
+\DeclareOption{MMus}{%
+ \renewcommand*{\UL@typenum}{0}
+ \setboolean{UL@isprogmasc}{false}
+ \newcommand*{\UL@typeofdoc}{M\'emoire}
+ \newcommand*{\UL@degree}{Ma\^itre en musique (M.Mus.)}}
+\DeclareOption{MSc}{%
+ \renewcommand*{\UL@typenum}{0}
+ \setboolean{UL@isprogmasc}{false}
+ \newcommand*{\UL@typeofdoc}{M\'emoire}
+ \newcommand*{\UL@degree}{Ma\^itre \`es sciences (M.Sc.)}}
+\DeclareOption{MServSoc}{%
+ \renewcommand*{\UL@typenum}{0}
+ \setboolean{UL@isprogmasc}{false}
+ \newcommand*{\UL@typeofdoc}{M\'emoire}
+ \newcommand*{\UL@degree}{Ma\^itre en service social (M.Serv.Soc.)}}
+\DeclareOption{MScGeogr}{%
+ \renewcommand*{\UL@typenum}{0}
+ \setboolean{UL@isprogmasc}{false}
+ \newcommand*{\UL@typeofdoc}{M\'emoire}
+ \newcommand*{\UL@degree}{Ma\^itre en sciences g\'eographiques (M.Sc.G\'eogr.)}}
+\DeclareOption{MATDR}{%
+ \renewcommand*{\UL@typenum}{0}
+ \setboolean{UL@isprogmasc}{false}
+ \newcommand*{\UL@typeofdoc}{M\'emoire}
+ \newcommand*{\UL@degree}{Ma\^itre en am\'enagement du territoire et d\'eveloppement r\'egional (M.ATDR)}}
+\DeclareOption{multifacultaire}{%
+ \renewcommand*{\UL@typenum}{1}}
+\DeclareOption{cotutelle}{%
+ \renewcommand*{\UL@typenum}{2}
+ \protected@edef\UL@typeofdoc{\UL@typeofdoc\ en cotutelle}}
+\DeclareOption{extensionUdeS}{%
+ \renewcommand*{\UL@typenum}{3}
+ \newcommand*{\UL@extensionat}{Universit\'e de Sherbrooke}
+ \newcommand*{\UL@extensionloc}{Sherbrooke, Qu\'ebec}}
+\DeclareOption{extensionUQO}{%
+ \renewcommand*{\UL@typenum}{3}
+ \newcommand*{\UL@extensionat}{Universit\'e du Qu\'ebec en Outaouais}
+ \newcommand*{\UL@extensionloc}{Gatineau, Qu\'ebec}}
+\DeclareOption{extensionUQAC}{%
+ \renewcommand*{\UL@typenum}{3}
+ \newcommand*{\UL@extensionat}{Universit\'e du Qu\'ebec \`a Chicoutimi}
+ \newcommand*{\UL@extensionloc}{Chicoutimi, Qu\'ebec}}
+% \end{macrocode}
+% \end{macro}
+%
% \subsection{Chargement de la classe \textsf{memoir}}
%
% Toutes les options de la classe sont passées à \textsf{memoir}. Le
% format de papier et la taille de police par défaut sont, dans
-% l'ordre, |letterpaper| et |11pt|. Les options de \textsf{memoir}
-% |twoside| et |openright| sont explicitement déclarées afin d'éviter
-% toute tentative de passer outre à ces exigences de la FESP.
+% l'ordre, |letterpaper| et |11pt|. On vérifie qu'un type de grade a
+% bien été déclaré. Les options de \textsf{memoir} |twoside| et
+% |openright| sont explicitement déclarées afin d'éviter toute
+% tentative de passer outre à ces exigences de la FESP.
% \begin{macrocode}
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{memoir}}
\ExecuteOptions{11pt,letterpaper}
\ProcessOptions
+\ifx\UL@typenum\empty
+ \ClassError{ulthese}{%
+ No thesis type specified.}
+ {Declare the thesis type as a class option.}
+\fi
\LoadClass[twoside,openright]{memoir}
% \end{macrocode}
%
@@ -895,9 +1073,19 @@
% La classe s'efforce de charger un minimum de paquetages afin d'éviter
% les conflits potentiels.
%
-% Il est aujourd'hui préférable d'utiliser les polices T1.
+% {\XeLaTeX} requiert le paquetage \textsf{fontspec} pour le
+% traitement des polices. Le paquetage \textsf{unicode-math} facilite
+% également le traitement des polices et des symboles mathématiques
+% avec ce moteur. Sous {\LaTeX}, il est aujourd'hui préférable
+% d'utiliser les polices T1.
% \begin{macrocode}
-\RequirePackage[T1]{fontenc}
+\ifxetex
+ \RequirePackage{fontspec}
+ \RequirePackage{unicode-math}
+ \defaultfontfeatures{Ligatures=TeX}
+\else
+ \RequirePackage[T1]{fontenc}
+\fi
% \end{macrocode}
%
% Le paquetage \textsf{natbib} doit être chargé avant \textsf{babel}
@@ -909,20 +1097,22 @@
% \end{macrocode}
%
% Le support pour les langues autres que l'anglais est offert par le
-% paquetage \textsf{babel}. Les langues sont passées en option de la
-% classe, et non du paquetage. Le paquetage \textsf{numprint} est
-% requis par \textsf{babel} pour la définition de la commande de mise
-% en forme des nombres |\nombre|.
+% paquetage \textsf{babel} --- à moins que l'option |nobabel| n'ait
+% été spécifiée au chargement de la classe. Les langues sont passées
+% en option de la classe, et non du paquetage. Le paquetage
+% \textsf{numprint} est requis par \textsf{babel} pour la définition
+% de la commande de mise en forme des nombres |\nombre|.
% \begin{macrocode}
-\RequirePackage{babel}
-\RequirePackage[autolanguage]{numprint}
+\ifthenelse{\boolean{UL@babel}}{%
+ \RequirePackage{babel}
+ \RequirePackage[autolanguage]{numprint}}{}
% \end{macrocode}
%
% L'insertion du logo de l'Université sur la page titre requiert
% \textsf{graphicx}. On définit également une couleur pour les
% hyperliens dans le document (mais \textsf{hyperref} est chargé dans
% les gabarits afin de demeurer le dernier paquetage chargé; voir la
-% section~\ref{sec:hyperref}).
+% \autoref{sec:hyperref}).
% \begin{macrocode}
\RequirePackage{graphicx}
\RequirePackage{xcolor}
@@ -959,6 +1149,16 @@
\addtolength{\footskip}{-10mm}
% \end{macrocode}
%
+% Comme les thèses et mémoires comportent normalement plusieurs pages
+% liminaires, il arrive que des folios (en chiffres romains) dépassent
+% dans la marge de droite dans la table des matières. Pour régler ce
+% problème, nous augmentont la largeur de la boîte prévue pour les
+% imprimer.
+% \begin{macrocode}
+\renewcommand{\@pnumwidth}{3em}
+\renewcommand{\@tocrmarg}{4em}
+% \end{macrocode}
+%
% \subsection{Interligne}
%
% L'espacement entre les lignes est d'un interligne et demi.
@@ -1010,11 +1210,9 @@
% celle utilisée par Microsoft Word. Pour cette raison, les tailles
% utilisées dans la classe sont toutes quelques points inférieures à
% celles des gabarits Word.}%
-% et les graisses présentées au tableau~\ref{tab:polices}. Les
-% commandes sélectionnant ces polices sont adaptées selon la taille de
-% police choisie pour le document afin d'être toujours identiques.
-% Nous utilisons les déclarations de taille de police de la classe
-% \textsf{memoir}, présentées au tableau~3.9 de sa documentation.
+% et les graisses présentées au \autoref{tab:polices}. La
+% déclaration |\fontencoding{T1}| est nécessaire avec {\XeLaTeX} pour
+% explicitement charger la même police que sous {\LaTeX}.
%
% \begin{table}
% \centering
@@ -1035,7 +1233,14 @@
% \end{table}
%
% \begin{macrocode}
-\newcommand*{\UL@phvfamily}{\fontfamily{phv}\selectfont}
+\newcommand*{\UL@phvfamily}{\fontencoding{T1}\fontfamily{phv}\selectfont}
+% \end{macrocode}
+% Les commandes sélectionnant ces polices sont adaptées selon la
+% taille de police choisie pour le document afin d'être toujours
+% identiques. Nous utilisons les déclarations de taille de police de
+% la classe \textsf{memoir}, présentées au tableau~3.9 de sa
+% documentation.
+% \begin{macrocode}
\ifnum\UL@ptsize=10\relax
\newcommand*{\UL@fonttitle}{\normalfont\huge\bfseries\UL@phvfamily}
\newcommand*{\UL@fontsubtitle}{\normalfont\LARGE\bfseries\UL@phvfamily}
@@ -1059,17 +1264,6 @@
\fi
% \end{macrocode}
%
-% \subsubsection{Gestion des cas particuliers}
-%
-% Définition de deux valeurs booléennes servant à adapter la
-% composition de la page titre plus loin: y a-t-il un sous-titre ou
-% non et est-ce que le type de programme (doctorat ou maîtrise) est
-% masculin ou non?
-% \begin{macrocode}
-\newboolean{UL@hassubtitle}
-\newboolean{UL@isprogmasc}
-% \end{macrocode}
-%
% \subsubsection{Interfaces interne et externe}
%
% Définition des commandes permettant de construire la page titre.
@@ -1081,19 +1275,17 @@
\newcommand*{\UL@author}{}
\newcommand*{\UL@program}{}
\newcommand*{\UL@year}{}
-\newcommand*{\UL@typeofdoc}{}
-\newcommand*{\UL@degree}{}
\newcommand*{\UL@nameother}{}
\newcommand*{\UL@degreeother}{}
\newcommand*{\UL@facUL}{}
\newcommand*{\UL@facother}{}
-\newcommand*{\UL@extensionat}{}
-\newcommand*{\UL@extensionloc}{}
% \end{macrocode}
% Puis les commandes visibles pour les utilisateurs, qui redéfinissent
-% les commandes internes. Voir la
-% section~\ref{sec:commandes-pagetitre} pour leur signification.
+% les commandes internes. Voir la \autoref{sec:commandes} pour leur
+% signification. Nous aurons besoin d'une valeur booléenne pour
+% retenir si le document a un sous-titre ou non.
% \begin{macrocode}
+\newboolean{UL@hassubtitle}
\newcommand{\titre}[1]{\renewcommand{\UL@maintitle}{#1}}
\newcommand{\soustitre}[1]{%
\setboolean{UL@hassubtitle}{true}
@@ -1101,79 +1293,8 @@
\newcommand*{\auteur}[1]{\renewcommand*{\UL@author}{#1}}
\newcommand*{\annee}[1]{\renewcommand*{\UL@year}{#1}}
\newcommand*{\programme}[1]{\renewcommand*{\UL@program}{#1}}
-\newcommand*{\LLD}{%
- \newcommand*{\UL@typenum}{0}
- \setboolean{UL@isprogmasc}{true}
- \renewcommand*{\UL@typeofdoc}{Th\`ese}
- \renewcommand*{\UL@degree}{Docteur en droit (L.L.D.)}}
-\newcommand*{\DPsy}{%
- \newcommand*{\UL@typenum}{0}
- \setboolean{UL@isprogmasc}{true}
- \renewcommand*{\UL@typeofdoc}{Th\`ese}
- \renewcommand*{\UL@degree}{Docteur en psychologie (D.Psy.)}}
-\newcommand*{\DThP}{%
- \newcommand*{\UL@typenum}{0}
- \setboolean{UL@isprogmasc}{true}
- \renewcommand*{\UL@typeofdoc}{Th\`ese}
- \renewcommand*{\UL@degree}{Docteur en th\'eologie pratique (D.Th.P.)}}
-\newcommand*{\PhD}{%
- \newcommand*{\UL@typenum}{0}
- \setboolean{UL@isprogmasc}{true}
- \renewcommand*{\UL@typeofdoc}{Th\`ese}
- \renewcommand*{\UL@degree}{Philosophi{\ae} doctor (Ph.D.)}}
-\newcommand*{\LLM}{%
- \newcommand*{\UL@typenum}{0}
- \setboolean{UL@isprogmasc}{false}
- \renewcommand*{\UL@typeofdoc}{M\'emoire}
- \renewcommand*{\UL@degree}{Ma\^itre en droit (L.L.M.)}}
-\newcommand*{\MA}{%
- \newcommand*{\UL@typenum}{0}
- \setboolean{UL@isprogmasc}{false}
- \renewcommand*{\UL@typeofdoc}{M\'emoire}
- \renewcommand*{\UL@degree}{Ma\^itre \`es arts (M.A.)}}
-\newcommand*{\MMus}{%
- \newcommand*{\UL@typenum}{0}
- \setboolean{UL@isprogmasc}{false}
- \renewcommand*{\UL@typeofdoc}{M\'emoire}
- \renewcommand*{\UL@degree}{Ma\^itre en musique (M.Mus.)}}
-\newcommand*{\MSc}{%
- \newcommand*{\UL@typenum}{0}
- \setboolean{UL@isprogmasc}{false}
- \renewcommand*{\UL@typeofdoc}{M\'emoire}
- \renewcommand*{\UL@degree}{Ma\^itre \`es sciences (M.Sc.)}}
-\newcommand*{\MServSoc}{%
- \newcommand*{\UL@typenum}{0}
- \setboolean{UL@isprogmasc}{false}
- \renewcommand*{\UL@typeofdoc}{M\'emoire}
- \renewcommand*{\UL@degree}{Ma\^itre en service social (M.Serv.Soc.)}}
-\newcommand*{\MScGeogr}{%
- \newcommand*{\UL@typenum}{0}
- \setboolean{UL@isprogmasc}{false}
- \renewcommand*{\UL@typeofdoc}{M\'emoire}
- \renewcommand*{\UL@degree}{Ma\^itre en sciences géographiques (M.Sc.G\'eogr.)}}
-\newcommand*{\MATDR}{%
- \newcommand*{\UL@typenum}{0}
- \setboolean{UL@isprogmasc}{false}
- \renewcommand*{\UL@typeofdoc}{M\'emoire}
- \renewcommand*{\UL@degree}{Ma\^itre en am\'enagement du territoire et d\'eveloppement r\'egional (M.ATDR)}}
-\newcommand*{\multifacultaire}{\renewcommand*{\UL@typenum}{1}}
-\newcommand*{\cotutelle}{%
- \renewcommand*{\UL@typenum}{2}
- \edef\UL@typeofdoc{\UL@typeofdoc\ en cotutelle}}
\newcommand*{\univcotutelle}[1]{\renewcommand*{\UL@nameother}{#1}}
\newcommand*{\gradecotutelle}[1]{\renewcommand*{\UL@degreeother}{#1}}
-\newcommand*{\extensionUdeS}{%
- \renewcommand*{\UL@typenum}{3}
- \renewcommand*{\UL@extensionat}{Universit\'e de Sherbrooke}
- \renewcommand*{\UL@extensionloc}{Sherbrooke, Qu\'ebec}}
-\newcommand*{\extensionUQO}{%
- \renewcommand*{\UL@typenum}{3}
- \renewcommand*{\UL@extensionat}{Universit\'e du Qu\'ebec en Outaouais}
- \renewcommand*{\UL@extensionloc}{Gatineau, Qu\'ebec}}
-\newcommand*{\extensionUQAC}{%
- \renewcommand*{\UL@typenum}{3}
- \renewcommand*{\UL@extensionat}{Universit\'e du Qu\'ebec \`a Chicoutimi}
- \renewcommand*{\UL@extensionloc}{Chicoutimi, Qu\'ebec}}
\newcommand{\faculteUL}[1]{\renewcommand*{\UL@facUL}{#1}}
\newcommand*{\faculteUdeS}[1]{\renewcommand*{\UL@facother}{#1}}
\newcommand*{\faculteUQO}[1]{\renewcommand*{\UL@facother}{#1}}
@@ -1244,8 +1365,12 @@
%
% \begin{macro}{\Ul@details}
% La commande |\Ul@details| est la plus complexe puisque la
-% disposition des informations additionnelles sur le document
-% varie beaucoup selon le type de thèse ou de mémoire.
+% disposition des informations additionnelles sur le document varie
+% beaucoup selon le type de thèse ou de mémoire. Tel qu'expliqué à
+% la \autoref{sec:utilisation:options}, certains types de grade
+% requièrent expressément que certaines informations soient
+% fournies. Si un élément d'information manque, un avertissement
+% est émis.
% \begin{macrocode}
\newcommand{\UL@details}{%
\ifcase\UL@typenum\relax% 0 standard
@@ -1259,7 +1384,11 @@
{\UL@fontprogram\UL@program}\par
\UL@degree\par
\vspace{36pt}
- \UL@facUL\par
+ \ifx\UL@facUL\empty
+ \ClassWarningNoLine{ulthese}{UL faculty names missing.}
+ \else
+ \UL@facUL\par
+ \fi
\vspace{48pt}
Qu\'ebec, Canada\par
\or% 2 cotutelle
@@ -1267,8 +1396,16 @@
Universit\'e Laval\par Qu\'ebec, Canada\par
\UL@degree\par
\vspace{\baselineskip} et\par \vspace{\baselineskip}
- \UL@nameother\par
- \UL@degreeother\par
+ \ifx\UL@nameother\empty
+ \ClassWarningNoLine{ulthese}{Other university name and location missing}
+ \else
+ \UL@nameother\par
+ \fi
+ \ifx\UL@degreeother\empty
+ \ClassWarningNoLine{ulthese}{Other university degree missing}
+ \else
+ \UL@degreeother\par
+ \fi
\or% 3 extension
\vspace{48pt}
{\UL@fontprogram\UL@program\ de l'Universit\'e Laval\par
@@ -1277,9 +1414,20 @@
\vspace{36pt}
\UL@degree\par
\vspace{36pt}
- \UL@facother\par \UL@extensionat\par \UL@extensionloc\par
+ \ifx\UL@facother\empty
+ \ClassWarningNoLine{ulthese}{Other university faculty name missing}
+ \else
+ \UL@facother\par
+ \fi
+ \UL@extensionat\par
+ \UL@extensionloc\par
\vspace{\baselineskip}
- \UL@facUL\par Universit\'e Laval\par Qu\'ebec, Canada\par
+ \ifx\UL@facUL\empty
+ \ClassWarningNoLine{ulthese}{UL faculty name missing}
+ \else
+ \UL@facUL\par
+ \fi
+ Universit\'e Laval\par Qu\'ebec, Canada\par
\fi}
% \end{macrocode}
% \end{macro}
@@ -1324,7 +1472,7 @@
\ifnum\UL@typenum>1\relax
\vspace*{0pt}\par
\else
- \includegraphics[height=40px,keepaspectratio=true]{ul_p}\par
+ \includegraphics[height=15mm,keepaspectratio=true]{ul_p}\par
\fi
\vspace{82pt}
\box\UL@titlebox
@@ -1342,15 +1490,21 @@
%
% \subsection{Listes des figures et des tableaux}
%
-% Le paquetage \textsf{babel} définit comme titre pour la liste des
-% figures «Table des figures», alors que la liste des tableaux est
-% «Liste des tableaux». Pour une plus grande symétrie, la classe
-% redéfinit le titre correspondant à |\listoffigures|. La commande
-% |\addto| est nécessaire pour éviter que \textsf{babel} redéfinisse
-% le titre à |\begin{document}|.
+% \begin{macro}{\listfigurename}
+% Le paquetage \textsf{babel} définit comme titre pour la liste des
+% figures «Table des figures», alors que la liste des tableaux est
+% «Liste des tableaux». Pour une plus grande symétrie, la classe
+% redéfinit le titre correspondant à |\listoffigures|. La commande
+% |\addto| est nécessaire pour éviter que \textsf{babel} redéfinisse
+% le titre à |\begin{document}|.
% \begin{macrocode}
-\addto\captionsfrench{\renewcommand{\listfigurename}{Liste des figures}}
+\ifthenelse{\boolean{UL@babel}}{%
+ \addto\captionsfrench{\renewcommand{\listfigurename}{Liste des figures}}}{}
% \end{macrocode}
+% Si \textsf{babel} n'est pas chargé, ce sera à l'utilisateur de faire
+% une correction équivalente. Avec \textsf{polyglossia}, la commande à
+% insérer dans l'entête du document est la même que ci-dessus.
+% \end{macro}
%
% \subsection{Dédicace et épigraphe}
%
@@ -1457,18 +1611,37 @@
%%
%% [Ne pas hésiter à supprimer les commentaires après les avoir lus.]
%%
-%% Déclaration de la classe avec les langues les plus courantes. Le
-%% français sera la langue par défaut du document.
-\documentclass[11pt,english,francais]{ulthese}
+%% Déclaration de la classe avec le type de grade
+%<phd>%% [l'un de PhD, LLD, DPsy, DThP]
+%<m>%% [l'un de MSc, LLM, MA, MMus, MServSoc, MScGeogr, MATDR]
+%% et les langues les plus courantes. Le français sera la langue par
+%% défaut du document.
+%<phd&(standard|mesure)>\documentclass[PhD,english,francais]{ulthese}
+%<phd&multifac>\documentclass[PhD,multifacultaire,english,francais]{ulthese}
+%<phd&cotutelle>\documentclass[PhD,cotutelle,english,francais]{ulthese}
+%<phd&UdeS>\documentclass[PhD,extensionUdeS,english,francais]{ulthese}
+%<phd&UQO>\documentclass[PhD,extensionUQO,english,francais]{ulthese}
+%<m&(standard|mesure)>\documentclass[MSc,english,francais]{ulthese}
+%<m&UQAC>\documentclass[MSc,extensionUQAC,english,francais]{ulthese}
%% Encodage utilisé pour les caractères accentués dans les fichiers
- %% source du document. Les gabarits sont encodés en UTF-8.
- \usepackage[utf8]{inputenc}
+ %% source du document. Les gabarits sont encodés en UTF-8. Inutile avec
+ %% XeLaTeX, qui gère Unicode nativement.
+ \ifxetex\else \usepackage[utf8]{inputenc} \fi
%% Charger ici les autres paquetages nécessaires pour le document.
%% Quelques exemples; décommenter au besoin.
%\usepackage{amsmath} % recommandé pour les mathématiques
- %\usepackage{mathpazo} % texte en Palatino
- %\usepackage{mathptmx} % texte en Times
+ %\usepackage{icomma} % gestion de la virgule dans les nombres
+
+ %% Utilisation d'une autre police de caractères pour le document.
+ %% - Sous LaTeX
+ %\usepackage{mathpazo} % texte et mathématiques en Palatino
+ %\usepackage{mathptmx} % texte et mathématiques en Times
+ %% - Sous XeLaTeX
+ %\setmainfont{TeX Gyre Pagella} % texte en Pagella (Palatino)
+ %\setmathfont{TeX Gyre Pagella Math} % mathématiques en Pagella (Palatino)
+ %\setmainfont{TeX Gyre Termes} % texte en Termes (Times)
+ %\setmathfont{TeX Gyre Termes Math} % mathématiques en Termes (Times)
%% Gestion des hyperliens dans le document. S'assurer que hyperref
%% est le dernier paquetage chargé.
@@ -1477,6 +1650,8 @@
%% Options de mise en forme du mode français de babel. Consulter la
%% documentation du paquetage babel pour les options disponibles.
+ %% Désactiver (effacer ou mettre en commentaire) si l'option
+ %% 'nobabel' est spécifiée au chargement de la classe.
\frenchbsetup{%
CompactItemize=false, % ne pas compacter les listes
ThinSpaceInFrenchNumbers=true % espace fine dans les nombres
@@ -1502,16 +1677,9 @@
%<m&mesure> \programme{Maîtrise sur mesure en <discipline> -- <majeure, s'il y a lieu>}
%<m&UQAC> \programme{Maîtrise en <discipline>}
\annee{<20xx>}
-%<phd> \PhD % ou l'un de \LLD, \DPsy, \DThP
-%<m> \MSc % ou l'un de \LLM, \MA, \MMus, \MServSoc, \MScGeogr, \MATDR
-%<cotutelle> \cotutelle
%<cotutelle> \univcotutelle{<Université de cotutelle> \\ <Ville>, <Pays>}
%<cotutelle> \gradecotutelle{<Nom du grade> (<sigle du grade>)}
-%<multifac> \multifacultaire
%<multifac> \faculteUL{<Faculté 1> \\ <Faculté 2>}
-%<UdeS> \extensionUdeS
-%<UQO> \extensionUQO
-%<UQAC> \extensionUQAC
%<UdeS|UQO|UQAC> \faculteUL{<Nom de la faculté UL>}
%<UdeS> \faculteUdeS{<Nom de la faculté UdeS>}
%<UQO> \faculteUQO{<Nom de la faculté UQO>}