summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex')
-rw-r--r--Master/texmf-dist/source/latex/ulthese/ulthese.dtx215
1 files changed, 130 insertions, 85 deletions
diff --git a/Master/texmf-dist/source/latex/ulthese/ulthese.dtx b/Master/texmf-dist/source/latex/ulthese/ulthese.dtx
index 2e8872573a5..93828c24597 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>
- [2012/09/30 v1.0 Classe pour les theses et memoires de l'Universite Laval]
+ [2013/01/13 v2.0 Classe pour les theses et memoires de l'Universite Laval]
%</class>
%<*driver>
\documentclass[11pt]{ltxdoc}
@@ -59,18 +59,21 @@
\end{document}
%</driver>
% \fi
-% \CheckSum{568}
+% \CheckSum{636}
% \DoNotIndex{\',\^,\`,\ ,\ae}
% \DoNotIndex{\RequirePackage,\ExecuteOptions,\ifthenelse,\ProcessOptions}
% \DoNotIndex{\newcommand,\newcommand*,\newboolean}
% \DoNotIndex{\setlength,\setboolean}
+% \changes{2.0}{2013-01-13}{Traitement automatique des longs titres}
+% \changes{1.0b}{2012-11-11}{Ajouts et corrections mineures dans la documentation}
+% \changes{1.0a}{2012-10-17}{Précisions dans la documentation}
% \changes{1.0}{2012-09-30}{Version initiale}
% \GetFileInfo{ulthese.dtx}
% \title{\textsf{ulthese}: une classe pour les thèses et mémoires de
% l'Université Laval\thanks{Ce document décrit la classe
% \textsf{ulthese}~\fileversion, datée du \filedate.}}
% \author{Faculté des études supérieures et postdoctorales\thanks{%
-% Cette classe et sa documentation ont été rédigés par Vincent
+% Cette classe et sa documentation ont été rédigées par Vincent
% Goulet~(Faculté des sciences et de génie) avec la collaboration de
% Koassi D'Almeida~(Faculté des études supérieures et postdoctorales) et
% Pierre Lasou~(Bibliothèque).}}
@@ -115,6 +118,12 @@
%
% \section{Installation}
%
+% La classe est distribuée sous forme d'une archive |ulthese.zip| via
+% le réseau de sites CTAN:
+% \begin{quote}
+% \url{http://www.ctan.org/pkg/ulthese}
+% \end{quote}
+%
% L'installation de la classe consiste à créer le fichier
% |ulthese.cls| et plusieurs gabarits |.tex| à partir du code source
% documenté se trouvant dans le fichier |ulthese.dtx|. Il est
@@ -160,8 +169,8 @@
% \textsf{memoir}.
% \end{description}
%
-% Si aucune taille de police n'est précisée, la classe utilisera une
-% taille par défaut de 11~points. La taille des polices de la page
+% 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.
@@ -198,32 +207,16 @@
% commande |\title| de {\LaTeX} pour ce faire.
%
% Un titre très long devra être coupé manuellement avec |\\| ou
-% |\newline|. Dans un tel cas, il est également nécessaire de
-% retrancher de l'espacement vertical pour éviter que les autres
-% éléments de la page titre ne soient poussés vers le bas. Pour ce
-% faire, ajouter la déclaration
-% \begin{quote}
-% |\vspace*{-|$n$|\baselineskip}|
-% \end{quote}
-% à la fin de la \emph{dernière} ligne de titre s'il y a $n + 1$
-% lignes de titre au total.
-%
-% Par exemple, la déclaration d'un titre d'une seule ligne est:
+% |\newline|. Par exemple, la déclaration d'un titre d'une seule
+% ligne est:
% \begin{quote}
% |\titre{Ceci est un titre d'une seule ligne}|
% \end{quote}
% Pour un titre de deux lignes, on écrira:
% \begin{quote}
% |\titre{Ceci est la première ligne d'un long titre \\| \\
-% | et ceci est la seconde \vspace*{-1\baselineskip}}|
-% \end{quote}
-% Pour un titre de trois lignes, c'est alors:
-% \begin{quote}
-% |\titre{Ceci est la première ligne d'un très long titre \\| \\
-% | pour lequel deux lignes ne suffisent pas \\| \\
-% | alors voici la troisième \vspace*{-2\baselineskip}}|
+% | et ceci est la seconde}|
% \end{quote}
-% Ainsi de suite.
% \end{DescribeMacro}
%
% \begin{DescribeMacro}{\soustitre}
@@ -459,9 +452,9 @@
% |scaled=0.92|. Consulter la section~\ref{sec:police} pour des
% informations additionnelles.
% \end{description}
-% La section~\ref{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.
+% L'annexe~\ref{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.
%
% \section{Français et autres langues}
% \label{sec:langues}
@@ -469,8 +462,8 @@
% Une complication additionnelle pour les auteurs rédigeant dans une
% langue autre que l'anglais consiste à adapter {\LaTeX} à leur
% langue, qu'il s'agisse des mots clés, de la typographie ou de la
-% césure des mots. La solution à ce problème provient du paquetage
-% standard \textsf{babel}. Celui-ci permet de combiner plusieurs
+% 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}.
%
@@ -506,15 +499,15 @@
% \label{sec:police}
%
% Les documents {\LaTeX} sont facilement reconnaissables par leur
-% police de caractère par défaut, Computer Modern. Avec toute
+% police de caractère 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 sans empattements
-% Helvetica pour composer la page titre.
+% \textsf{Helvetica} pour composer la page titre.
%
-% La FESP permet l'utilisation des polices Times et
+% La FESP permet l'utilisation des polices {\fontfamily{ptm}\selectfont Times} et
% Palatino\footnote{%
-% Police utilisée dans le présent document.} %
+% 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
@@ -718,13 +711,13 @@
% consulter en ligne} %
% sur CTAN.
%
-% De plus, Vincent Goulet a préparé la feuille de style
-% |francais.bst| compatible avec \textsf{natbib}; consulter la
-% section \href{http://vgoulet.act.ulaval.ca/latex/}{LaTeX en
-% français} de son site Web. La feuille de style permet de composer
-% des bibliographies auteur-année respectant les normes de typographie
-% française telles qu'édictées dans \cite{Malo:1996}. Pour utiliser ce
-% style, on spécifera dans le préambule du document LaTeX
+% De plus, Vincent Goulet a préparé 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
+% respectant les normes de typographie française proposées dans
+% \cite{Malo:1996}. Pour utiliser ce style, on spécifiera dans le
+% préambule du document LaTeX
% \begin{quote}
% |\bibliographystyle{francais}|
% \end{quote}
@@ -840,11 +833,12 @@
% \section{Aide additionnelle}
%
% Pour obtenir de l'aide additionnelle sur l'utilisation de la classe
-% \textsf{ulthese} (et sur celle de {\LaTeX} en général), prière de
-% consulter d'abord
+% \textsf{ulthese} (et non sur celle de {\LaTeX} en général), prière
+% de consulter d'abord
% \begin{enumerate}
% \item le \href{http://www.theses.ulaval.ca/wiki/}{WikiThèse} de
-% l'Université Laval;
+% l'Université Laval, en particulier la
+% \href{http://www.theses.ulaval.ca/wiki/index.php?title=FAQ}{Foire aux questions};
% \item les
% \href{http://listes.ulaval.ca/listserv/archives/ulthese-aide.html}{archives}
% de la liste de distribution \texttt{ulthese-aide}.
@@ -861,7 +855,7 @@
% \section{Mise en {\oe}uvre}
% \label{sec:meo}
%
-% Cette section passe en revue le code {\TeX} et {\LaTeX} de la
+% Cette annexe passe en revue le code {\TeX} et {\LaTeX} de la
% classe. Elle ne risque d'intéresser que les personnes qui souhaitent
% explorer comment la classe est programmée.
%
@@ -1064,24 +1058,27 @@
% \end{table}
%
% \begin{macrocode}
-\ifthenelse{\UL@ptsize=10}{%
+\ifnum\UL@ptsize=10\relax
\newcommand*{\UL@fonttitle}{\normalfont\Huge\bfseries\sffamily}
\newcommand*{\UL@fontsubtitle}{\normalfont\huge\bfseries\sffamily}
\newcommand*{\UL@fontauthor}{\normalfont\LARGE\bfseries\sffamily}
\newcommand*{\UL@fontprogram}{\UL@fontauthor}
- \newcommand*{\UL@fontbase}{\normalfont\LARGE\sffamily}}{}
-\ifthenelse{\UL@ptsize=11}{%
+ \newcommand*{\UL@fontbase}{\normalfont\LARGE\sffamily}
+\fi
+\ifnum\UL@ptsize=11\relax
\newcommand*{\UL@fonttitle}{\normalfont\huge\bfseries\sffamily}
\newcommand*{\UL@fontsubtitle}{\normalfont\LARGE\bfseries\sffamily}
\newcommand*{\UL@fontauthor}{\normalfont\Large\bfseries\sffamily}
\newcommand*{\UL@fontprogram}{\UL@fontauthor}
- \newcommand*{\UL@fontbase}{\normalfont\Large\sffamily}}{}
-\ifthenelse{\UL@ptsize=12}{%
+ \newcommand*{\UL@fontbase}{\normalfont\Large\sffamily}
+\fi
+\ifnum\UL@ptsize=12\relax
\newcommand*{\UL@fonttitle}{\normalfont\LARGE\bfseries\sffamily}
\newcommand*{\UL@fontsubtitle}{\normalfont\Large\bfseries\sffamily}
\newcommand*{\UL@fontauthor}{\normalfont\large\bfseries\sffamily}
\newcommand*{\UL@fontprogram}{\UL@fontauthor}
- \newcommand*{\UL@fontbase}{\normalfont\large\sffamily}}{}
+ \newcommand*{\UL@fontbase}{\normalfont\large\sffamily}
+\fi
% \end{macrocode}
%
% Définition de deux valeurs booléennes servant à adapter la
@@ -1212,22 +1209,43 @@
% \end{enumerate}
% À ces blocs s'ajoutent quatre grandes catégories de disposition des
% éléments sur la page titre selon le type de thèse ou de mémoire:
-% standard, multifacultaire, en cotutelle et en extension. Les
-% commandes internes ci-dessous prennent en compte toutes les
-% combinaisons possibles.
-%
-% \begin{macro}{\UL@title}
-% La commande |\UL@title| prépare le titre. Si le document ne
-% comporte pas de sous-titre, un espace est ajouté pour ne pas
-% décaler vers le haut les autres éléments de la page.
+% standard, multifacultaire, en cotutelle et en extension.
+%
+% \subsubsection{Titre et sous-titre}
+%
+% Le titre et le sous-titre peuvent s'étendre sur plus d'une ligne.
+% Sans traitement spécial, un long titre ou sous-titre aurait pour
+% impact de décaler vers le bas tous les autres éléments de la page
+% titre. Pour contrer ce phénomène, nous devrons mesurer la hauteur du
+% titre et du sous-titre pour ensuite ajuster en conséquence la
+% distance entre ce bloc et la mention du type de document.
+%
+% \begin{macro}{\UL@measuretitle}
+% On place le titre et le sous-titre dans des boîtes |\UL@titlebox|
+% et |\UL@subtitlebox|. La commande |\UL@measuretitle| permettra de
+% mesurer leur hauteur lorsque le titre sera créé avec |\pagetitre|,
+% plus bas. Un espacement vertical d'un demi interligne est ajouté
+% entre le titre et le sous-titre, le cas échéant.
% \begin{macrocode}
-\newcommand{\UL@title}{%
- {\UL@fonttitle\UL@maintitle\par}
- {\UL@fontsubtitle
- \ifthenelse{\boolean{UL@hassubtitle}}{\UL@subtitle}{%
- \vspace*{\baselineskip}}\par}}
+\newsavebox{\UL@titlebox}
+\newsavebox{\UL@subtitlebox}
+\newlength{\UL@titleboxtotht}
+\newlength{\UL@subtitleboxtotht}
+\newcommand{\UL@measuretitle}{%
+ \setbox\UL@titlebox=\vbox{%
+ \centering\UL@fonttitle\UL@maintitle}
+ \setlength{\UL@titleboxtotht}{%
+ \dimexpr\ht\UL@titlebox+\dp\UL@titlebox}
+ \ifthenelse{\boolean{UL@hassubtitle}}{%
+ \setbox\UL@subtitlebox=\vbox{%
+ \centering\vspace*{0.5\baselineskip}\UL@fontsubtitle\UL@subtitle}
+ \setlength{\UL@subtitleboxtotht}{%
+ \dimexpr\ht\UL@subtitlebox+\dp\UL@subtitlebox}}{}}
% \end{macrocode}
% \end{macro}
+%
+% \subsubsection{Type de document}
+%
% \begin{macro}{\Ul@docid}
% La commande |\Ul@docid| prépare la mention du type de document. La
% thèse ou le mémoire en cotutelle requiert un traitement différent
@@ -1238,6 +1256,9 @@
\ifnum\UL@typenum=2 \UL@program\par \fi}}
% \end{macrocode}
% \end{macro}
+%
+% \subsubsection{Détails sur les facultés}
+%
% \begin{macro}{\Ul@details}
% La commande |\Ul@details| est la plus complexe puisque la
% disposition des informations additionnelles sur le document
@@ -1281,26 +1302,51 @@
% \end{macro}
%
% \begin{macro}{\pagetitre}
-% Construction de la page titre. Le nom de l'auteur et la notice de
-% copyright sont insérées directement dans le code de la commande
-% |\pagetitre|. On doit rétablir sur la page titre l'interligne
-% simple et l'espacement nul entre les paragraphes (|\parskip|). La
-% page titre des thèses et mémoires en cotutelle ou en extension ne
-% comporte pas de logo de l'Université Laval.
+% Construction de la page titre. On doit rétablir sur la page titre
+% l'interligne simple et l'espacement nul entre les paragraphes
+% (|\parskip|). Ensuite, on doit ajuster la distance entre le bloc
+% de titre et le type de document (|\UL@docidspacing|) et celle
+% entre ce dernier et le nom de l'auteur (|\UL@authorspacing|). Cela
+% fait en sorte que les éléments de la page titre se retrouvent
+% (presque) toujours au même endroit sur la page. Une distance
+% minimale d'un interligne est conservée entre le bloc de titre et
+% le type de document (précaution nécessaire pour l'éventuel cas
+% d'un bloc de titre s'étendant sur plusieurs lignes).
+%
+% La page titre des thèses et mémoires en cotutelle ou en extension
+% ne comporte pas de logo de l'Université Laval.
+%
+% Le nom de l'auteur et la notice de copyright sont insérées
+% directement dans le code de la commande |\pagetitre|.
% \begin{macrocode}
+\newlength{\UL@docidspacing}
+\setlength{\UL@docidspacing}{82pt}
+\newlength{\UL@authorspacing}
+\setlength{\UL@authorspacing}{72pt}
\newcommand{\pagetitre}{{%
\clearpage
\thispagestyle{empty}
\SingleSpacing\setlength{\parskip}{0pt}
\centering
\UL@fontbase
- \ifthenelse{\UL@typenum > 1}{\vspace*{0pt}\par}{%
- \includegraphics[height=40px,keepaspectratio=true]{ul_p}\par}
- \vspace{72pt}
- \UL@title
- \vspace{48pt}
+ \UL@measuretitle
+ \addtolength{\UL@docidspacing}{-\UL@titleboxtotht}
+ \addtolength{\UL@docidspacing}{-\UL@subtitleboxtotht}
+ \ifdim\UL@docidspacing<\baselineskip\relax
+ \setlength{\UL@docidspacing}{\baselineskip}
+ \addtolength{\UL@authorspacing}{-\baselineskip}
+ \fi
+ \ifnum\UL@typenum>1\relax
+ \vspace*{0pt}\par
+ \else
+ \includegraphics[height=40px,keepaspectratio=true]{ul_p}\par
+ \fi
+ \vspace{82pt}
+ \box\UL@titlebox
+ \box\UL@subtitlebox
+ \vspace{\UL@docidspacing}
\UL@docid
- \vspace{72pt}
+ \vspace{\UL@authorspacing}
{\UL@fontauthor\UL@author}\par
\UL@details
\vfill
@@ -1405,7 +1451,7 @@
% \bibitem[{Malo(1996)}]{Malo:1996}
% \bibnamefont{Malo}, M. 1996, {\selectlanguage{francais}\emph{Guide de la
% communication écrite au cégep, à l'université et en entreprise}}, Québec
-% Amérique.
+% Amérique. ISBN~978-2-8903-7875-9.
% \end{thebibliography}
%
% \Finale
@@ -1463,20 +1509,19 @@
%% Déclarations de la page titre. Remplacer les éléments entre < >.
%% Supprimer les caractères < >. Couper un long titre ou un long
- %% sous-titre manuellement avec \\. Terminer une éventuelle deuxième
- %% ligne de titre ou de sous-titre avec \vspace*{-\baselineskip}.
+ %% sous-titre manuellement avec \\.
\titre{<Titre principal>}
% \titre{Ceci est un exemple de long titre \\
- % avec saut de ligne manuel \vspace*{-\baselineskip}}
+ % avec saut de ligne manuel}
% \soustitre{Sous-titre le cas échéant}
- % \soustitre{Ceci est un exemple de long-titre \\
- % avec saut de ligne manuel \vspace*{-\baselineskip}}
+ % \soustitre{Ceci est un exemple de long sous-titre \\
+ % avec saut de ligne manuel}
\auteur{<Prénom Nom>}
-%<phd&(standard|multifac|cotutelle)> \programme{Doctorat en <discipline> -- <majeure s'il y a lieu>}
-%<phd&mesure> \programme{Doctorat sur mesure en <discipline> -- <majeure s'il y a lieu>}
+%<phd&(standard|multifac|cotutelle)> \programme{Doctorat en <discipline> -- <majeure, s'il y a lieu>}
+%<phd&mesure> \programme{Doctorat sur mesure en <discipline> -- <majeure, s'il y a lieu>}
%<phd&(UdeS|UQO)> \programme{Doctorat en <discipline>}
-%<m&standard> \programme{Maîtrise en <discipline> -- <majeure s'il y a lieu>}
-%<m&mesure> \programme{Maîtrise sur mesure en <discipline> -- <majeure s'il y a lieu>}
+%<m&standard> \programme{Maîtrise en <discipline> -- <majeure, s'il y a lieu>}
+%<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