From 07801f7ec3e3482aba8553fd75f9f190ac3f9f0a Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Fri, 13 Aug 2021 03:00:43 +0000 Subject: CTAN sync 202108130300 --- macros/latex/contrib/geradwp/geradwp.dtx | 2092 ++++++++++++++++++++++++++++++ 1 file changed, 2092 insertions(+) create mode 100644 macros/latex/contrib/geradwp/geradwp.dtx (limited to 'macros/latex/contrib/geradwp/geradwp.dtx') diff --git a/macros/latex/contrib/geradwp/geradwp.dtx b/macros/latex/contrib/geradwp/geradwp.dtx new file mode 100644 index 0000000000..1f5de065b7 --- /dev/null +++ b/macros/latex/contrib/geradwp/geradwp.dtx @@ -0,0 +1,2092 @@ +% \iffalse +% +% Copyright 2021 GERAD, HEC Montreal +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3c +% of this license or (at your option) any later version. +% +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3c or later is part of all distributions of LaTeX +% version 2008/05/04 or later. +% +% This work has the LPPL maintenance status `maintained'. +% +% The Current Maintainer of this work is Benoit Hamel +% . +% +% This work consists of the files geradwp.dtx, gerad.ins +% and the derived files listed in the README file. +% +% \fi +% \iffalse +%<*dtx> +\ProvidesFile{geradwp.dtx} +% +%\NeedsTeXFormat{LaTeX2e} +%\ProvidesClass{geradwp}[2021/08/11 v1.0 Class for the Cahiers du GERAD series] +%<*driver> +\documentclass[10pt,oneside,french,english]{ltxdoc} +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\usepackage{babel} +\usepackage[autolanguage]{numprint} +\usepackage{fontawesome} +\usepackage{framed} +\usepackage{url} +\usepackage{color} +\usepackage{enumitem} +\usepackage{iflang} +\usepackage{makeidx} +\usepackage{tabularx} +\usepackage{listings} +\usepackage{hyperref} + +\newcommand{\frenchdoc}{% + \IfLanguageName{english}{0}{1} +} + +\EnableCrossrefs +\CodelineIndex +\RecordChanges + +\ifnum\frenchdoc=1 + \GlossaryPrologue{\section*{Historique des versions}% + \addcontentsline{toc}{section}{Historique des versions}} + \else + \GlossaryPrologue{\section*{Change History}% + \addcontentsline{toc}{section}{Change History}} +\fi + +\definecolor{liens}{rgb}{0,0.35,0.65} +\definecolor{shadecolor}{rgb}{0.93,0.97,0.99} +\definecolor{TFFrameColor}{rgb}{0,0.235,0.443} +\definecolor{TFTitleColor}{rgb}{1,1,1} +\hypersetup{ + colorlinks=true, + allcolors=liens, + pdftitle={Classe de documents LaTeX pour la collection des Cahiers du GERAD}, + pdfauthor={Benoit Hamel, HEC Montr\'{e}al} +} +\setlength{\parskip}{6pt} +\ifnum\frenchdoc=1 + \frenchbsetup{ + og=«, fg=» + } + + \addto\captionsfrench{% + \renewcommand{\tablename}{Tableau} + } +\fi +\MakeShortVerb{\+} +\lstset{% + basicstyle=\footnotesize\ttfamily, + stringstyle=\ttfamily, + numbers=left, + numberstyle=\footnotesize\ttfamily, + backgroundcolor=\color{shadecolor} +} +\ifnum\frenchdoc=1 + \renewcommand{\lstlistingname}{Code source} + \newcommand{\lstcaptionone}{Un exemple de liste d'auteurs} + \newcommand{\lstcaptiontwo}{Un exemple de liste d'affiliations} + \newcommand{\lstcaptionthree}{Un exemple de liste d'adresses courriel} +\else + \renewcommand{\lstlistingname}{Source Code} + \newcommand{\lstcaptionone}{Authors list example} + \newcommand{\lstcaptiontwo}{Affiliations list example} + \newcommand{\lstcaptionthree}{Email list example} +\fi + +\newcommand{\gdwp}{\texttt{geradwp}} +\newcommand{\cahiers}{\emph{Les Cahiers du GERAD}} +\newcommand{\lien}[2]{% + \href{#1}{\bfseries #2~\faExternalLink} +} +\newcommand{\oui}{\color{green}\faCheck} + +\makeglossary + +\begin{document} + \DocInput{geradwp.dtx} +\end{document} +% +% \fi +% \CheckSum{922} +% \changes{1.0}{2021-08-11}{Initial release} +% \ifnum\frenchdoc=1 +% \title{Classe de documents \LaTeX\ pour la collection \cahiers} +% \author{Benoit Hamel\thanks{Biblioth\`eque, HEC Montr\'eal} \and Karine Hébert\thanks{GERAD, HEC Montr\'eal}} +% \else +% \title{\LaTeX\ document class for \cahiers\ series} +% \author{% +% Benoit Hamel\thanks{Library, HEC Montr\'eal}% +% \and Karine Hébert\thanks{GERAD, HEC Montr\'eal}% +% \thanks{English translation by Jos\'ee Lafreni\`ere}% +% } +% \fi +% \date{\today} +% \maketitle +% +% \tableofcontents +% +% \begin{abstract} +% \ifnum\frenchdoc=1 +% La classe de documents \gdwp\ a \'et\'e con\c{c}ue dans le but de permettre aux chercheurs +% membres du \lien{https://www.gerad.ca/fr}{GERAD} de r\'ediger leurs documents de travail, +% leurs pr\'eimpressions et leurs rapports techniques selon les normes de pr\'esentation de la +% collection de rapports de recherche \cahiers. Cette classe et les fichiers associ\'es remplacent +% le gabarit initialement distribu\'e par le GERAD. +% \else +% The \gdwp\ document class was designed to allow researchers who are +% \lien{https://www.gerad.ca/fr}{GERAD} members to write +% their working papers, preprints and technical reports in line with the presentation +% standards of \cahiers\ working paper series. This class and the +% associated files replace the template that GERAD initially distributed. +% \fi +% \end{abstract} +% +% \ifnum\frenchdoc=1 +% \section{Installation de la classe} +% +% \subsection{Pr\'erequis} +% \else +% \section{Installing the class} +% +% \subsection{Prerequisites} +% \fi +% +% \ifnum\frenchdoc=1 +% L'utilisation de cette classe suppose que vous avez d\'ej\`a install\'e une distribution \TeX\ et +% un \'editeur de code int\'egr\'e. Pour la conception de \gdwp, la distribution +% \lien{https://www.tug.org/texlive/}{TeX Live 2020} et l'\'editeur de code +% \lien{https://www.texstudio.org/}{TeXstudio} ont \'et\'e utilis\'es. +% +% Si vous utilisez la distribution TeXLive ou \lien{http://www.tug.org/mactex/}{MacTeX} et que la compilation +% de votre document vous renvoie des bogues, assurez-vous que votre installation est à jour avant d'investiguer plus loin. +% +% Si vous utilisez la distribution \lien{https://miktex.org/}{MikTeX}, assurez-vous d'installer les derni\`eres versions des +% \emph{packages} indiqu\'es dans le \autoref{tab:pre-loaded-pkgs} avant d'utiliser la classe \gdwp. +% +% Les utilisateurs d'\lien{https://www.overleaf.com/}{Overleaf} peuvent \'egalement utiliser cette classe +% en r\'ecup\'erant les fichiers sur le \lien{https://www.gerad.ca/fr/cahiers-procedure}{site du GERAD}. +% \else +% Using this class assumes you’ve already installed a \TeX\ distribution with an integrated code editor. +% In designing \gdwp, the \lien{https://www.tug.org/texlive/}{TeX Live 2020} distribution and the +% \lien{https://www.texstudio.org/}{TeXstudio} editor were used. +% +% If you are using TeXLive or \lien{http://www.tug.org/mactex/}{MacTeX} and your document compilation +% is buggy, begin by making sure +% your installation is up to date before investigating any further. +% +% If you are using the \lien{https://miktex.org/}{MikTeX} distribution, make sure you install the latest +% versions of the packages +% indicated in \autoref{tab:pre-loaded-pkgs} before using the \gdwp\ class. +% +% Users of \lien{https://www.overleaf.com/}{Overleaf} can also use this class by downloading the necessary files from % the \lien{https://www.gerad.ca/fr/cahiers-procedure}{GERAD website}. +% \fi +% +% \subsection{Installation} +% +% \ifnum\frenchdoc=1 +% L'archive +.zip+ que vous avez t\'el\'echarg\'ee contient les fichiers suivants : +% +% \begin{enumerate} +% \item \textbf{geradwp.ins} : le fichier d'installation de la classe; +% \item \textbf{geradwp.dtx} : le code source document\'e de la classe; +% \item \textbf{geradwp.pdf} : la version anglaise de la documentation de la classe; +% \item \textbf{geradwp-fr.pdf} : la version fran\c{c}aise de la documentation de la classe; +% \item \textbf{README.md} : le fichier n\'ecessaire \`a l'affichage de la description de la classe +% sur le site du \lien{https://www.ctan.org/}{CTAN}. +%\end{enumerate} +% +% Suivez les \'etapes suivantes pour installer la classe sur votre poste de travail. +% +%\begin{enumerate} +% \item Cr\'eez-vous un r\'epertoire de travail; +% \item D\'ecompressez l'archive +.zip+ dans votre r\'epertoire de travail; +% \item Ouvrez un \'editeur de ligne de commande \`a partir du r\'epertoire; +% \item Saisissez la commande suivante dans l'\'{e}diteur : \\ +% \begin{shaded*} +% +latex geradwp.ins+ +% \end{shaded*} +% \end{enumerate} +% +% La commande cr\'eera le fichier de classe +geradwp.cls+ ainsi que le gabarit +geradwp.tex+ \`a +% partir duquel vous pourrez r\'ediger votre rapport de recherche. +% \else +% The +.zip+ archive you downloaded contains these files: +% +% \begin{enumerate} +% \item \textbf{geradwp.ins}: class installation file; +% \item \textbf{geradwp.dtx}: documented source code for the class; +% \item \textbf{geradwp.pdf}: the english version of the class' documentation; +% \item \textbf{geradwp-fr.pdf} : the french version of the class' documentation; +% \item \textbf{README.md}: file needed to display the class description on the +% \lien{https://www.ctan.org/}{CTAN} website. +%\end{enumerate} +% +% Follow these steps to install the class on your workstation. +% +%\begin{enumerate} +% \item Create a working directory; +% \item unzip the +.zip+ archive in your working directory; +% \item open a command line terminal from the directory; +% \item enter the following command: \\ +% \begin{shaded*} +% +latex geradwp.ins+ +% \end{shaded*} +% \end{enumerate} +% +% This command will create the +geradwp.cls+ class file and the +% +geradwp.tex+ template from which you can draft your working paper. +% \fi +% +% \ifnum\frenchdoc=1 +% \section{Utilisation de la classe} +% \else +% \section{Using the class} +% \fi +% +% \ifnum\frenchdoc=1 +% La classe \gdwp\ est d\'eriv\'ee de la classe de base \lien{https://www.ctan.org/pkg/article}{article}. +% Vous pouvez donc vous servir de toutes les fonctionnalit\'es de cette derni\`ere. Cependant, +% quelques options de la classe +article+ sont d\'efinies par d\'efaut dans la class \gdwp\ et +% celles-ci ne peuvent pas être modifi\'ees : +% +% \begin{itemize} +% \item La taille de la police de caract\`eres est de +10pt+; +% \item la taille du papier est +letterpaper+; +% \item l'impression est recto seulement (+oneside+) pour les versions +gdweb+ et +gdplain+ du gabarit; +% \item l'impression est recto-verso (+twoside+) pour la version +gdpaper+ du gabarit. +% \end{itemize} +% +% Ces options \'etant d\'efinies dans le fichier de classe, vous ne risquez pas de les supprimer de la +% commande +documentclass+ du gabarit. Assurez-vous seulement de ne pas y inscrire des options qui pourraient +% entrer en conflit avec les options ci-haut mentionn\'ees. +% \else +% The \gdwp\ class is derived from the basic \lien{https://www.ctan.org/pkg/article}{article} class. +% You can therefore use all of that +% class’ functionalities. However, a few of the article class options are defined by default in the +% \gdwp\ class and cannot be modified: +% +% \begin{itemize} +% \item The font size is +10pt+; +% \item the paper size is +letterpaper+; +% \item printing is one-sided only (+oneside+) for the +gdweb+ and +gdplain+ versions of the template; +% \item printing is two-sided (+twoside+) for the +gdpaper+ version of the template. +% \end{itemize} +% +% Since these options are defined in the class file, there is no risk of you deleting them from the +% template’s +documentclass+ command. Just make sure not to enter any options that might conflict with +% the above-mentioned options. +% \fi +% +% \subsection{Options} +% \ifnum\frenchdoc=1 +% Outre les options disponibles via la classe +article+, quelques options sont disponibles pour \gdwp. +% \else +% In addition to the options available via the +article+ class, there are a few options available for \gdwp. +% \fi +% +% \begin{DescribeMacro}{gdweb} +% \ifnum\frenchdoc=1 +% La version Web d'un cahier de recherche destin\'ee \`a \^etre publi\'ee sur le site Web du GERAD. L'option +% +oneside+ est pass\'ee \`a la classe +article+. +% \else +% The Web version of a paper that is to be posted on the GERAD website. The +oneside+ option is passed on to +% the +article+ class. +% \fi +% \end{DescribeMacro} +% +% \begin{DescribeMacro}{gdpaper} +% \ifnum\frenchdoc=1 +% La version papier d'un cahier de recherche destin\'ee \`a \^etre imprim\'ee et plac\'ee dans le centre +% de documentation du GERAD. L'option +twoside+ +% est pass\'ee \`a la classe +article+. +% \else +% The paper version of an article that is to be printed and placed in the GERAD documentation centre. +% The +twoside+ option is passed on to the article class. +% \fi +% \end{DescribeMacro} +% +% \begin{DescribeMacro}{gdplain} +% \ifnum\frenchdoc=1 +% La version sans mise en forme d'un cahier de recherche, semblable \`a un article \LaTeX\ de base et +% destin\'ee à la distribution par l'auteur. L'option +oneside+ est pass\'ee \`a la classe +article+. +% \else +% The unformatted version of a paper, similar to a basic \LaTeX\ article, that is to be distributed by +% the author. The +oneside+ option is passed on to the article class. +% \fi +% \end{DescribeMacro} +% +% \begin{DescribeMacro}{gdrevised} +% \ifnum\frenchdoc=1 +% Lorsqu'un cahier de recherche fait l'objet d'une r\'evision par ses auteurs, cette option +% est utilis\'ee pour afficher la date de r\'evision sur la page couverture du cahier. +% \else +% When a paper is revised by the authors, this option is used to display the revision date +% on the paper’s cover page. +% \fi +% \end{DescribeMacro} +% +% \begin{DescribeMacro}{gdfinal} +% \ifnum\frenchdoc=1 +% Pendant la r\'edaction et la r\'evision d'un cahier, une +overfullrule+ de 5pt s'affiche dans la +% marge de droite pour indiquer quels \'el\'ements du cahier d\'epassent de la marge. Une fois +% la r\'edaction et la r\'evision termin\'ees, cette option est utilis\'ee pour retirer l'+overfullrule+ +% du document. +% \else +% During the drafting and revision process, a 5 pt +overfullrule+ is printed in the right-hand +% margin to indicate any parts of the paper that go outside the margin. Once these two processes are +% done, this option is used to remove the document’s +overfullrule+. +% \fi +% \end{DescribeMacro} +% +% \begin{DescribeMacro}{gdsmallhead} +% \ifnum\frenchdoc=1 +% Certains \emph{packages} s'amusent \`a nos d\'epens en modifiant l'ent\^ete d'un cahier. L'option +% +gdsmallhead+ vient corriger cet affront en r\'etablissant l'ent\^ete voulu. +% \else +% Some packages have fun at our expense by modifying the paper’s header. The +% +gdsmallhead+ option corrects this by resetting the proper header. +% \fi +% \end{DescribeMacro} +% +% \begin{DescribeMacro}{gdpostpub} +% \ifnum\frenchdoc=1 +% Une fois le contenu du cahier de recherche publi\'e chez un \'editeur, le cahier lui-m\^eme doit +% \^etre mis \`a jour afin d'afficher ces nouvelles informations de publication sur la page +% couverture du cahier. L'option +gdpostpub+ substitue la citation officielle de l'\'editeur \`a +% celle du cahier et l'URL de l'article \`a celui du cahier. +% \else +% Once a paper’s content is published by a publisher, the paper must be updated to show the new +% publication’s information on the cover page. The +gdpostpub+ option swaps out the \emph{Cahier}’s +% citation for the publisher's official one and the article URL for the \emph{Cahier}’s +% \fi +% \end{DescribeMacro} +% +% \begin{DescribeMacro}{gdminitabs} +% \ifnum\frenchdoc=1 +% Il arrive parfois que des auteurs cr\'eent des tableaux si grands que ceux-ci d\'epassent d'une +% ou plusieurs marges. Dans de tels cas, l'option +gdneedsminitabs+ est utilis\'ee pour mettre les +% tableaux du document en +footnotesize+. +% \else +% Authors sometimes create tables so large that they extend beyond the margins. To solve this issue, +% the +gdneedsminitabs+ option can be used to set the tables in the document to +footnotesize+. +% \fi +% \end{DescribeMacro} +% +% \ifnum\frenchdoc=1 +% \subsection{Utilisation des \emph{packages}} +% +% Le but de cette classe \'etant d'assurer une coh\'esion dans la mise en forme des rapports de recherche, +% tr\`es peu de \emph{packages} sont pr\'echarg\'es --- le \autoref{tab:pre-loaded-pkgs} recense ceux-ci +% avec le fichier o\`u les trouver de m\^eme que leurs options, le cas \'ech\'eant --- et les chercheurs +% auront le loisir d'utiliser ceux dont ils auront besoin en prenant en compte les particularit\'es +% ci-dessous et en \'evitant de recharger des \emph{packages} ou d'en modifier les options par d\'efaut. +% \else +% \subsection{Using packages} +% +% Since the goal of this class is to make sure that working papers use a consistent layout, +% very few packages are preloaded. \autoref{tab:pre-loaded-pkgs} lists those that are preloaded, +% along with the files where you will find them (and their options, where applicable). Researchers +% can choose to use whichever packages they will need, taking into account their features (see below). Care should +% be taken not to reload any of them or to change any of the default options. +% \fi +% +% \begin{table}[tbh] +% \begin{tabularx}{\textwidth}{Xccl} +% \hline +% \ifnum\frenchdoc=1 +% \textbf{\emph{Package}} & \textbf{Fichier de classe} & \textbf{Gabarit} & \textbf{Options} \\ +% \else +% \textbf{Package} & \textbf{Class file} & \textbf{Template} & \textbf{Options} \\ +% \fi +% \hline +% amssymb & \oui & & \\ +% amsmath & \oui & & \\ +% amsfonts & \oui & & \\ +% latexsym & \oui & & \\ +% graphicx & \oui & & graphicspath=Figures \\ +% mathrsfs & \oui & & \\ +% geometry & \oui & & \\ +% fancyhdr & \oui & & \\ +% booktabs & \oui & & \\ +% multirow & \oui & & \\ +% array & \oui & & \\ +% caption & \oui & & font=\{footnotesize,bf,sf\} \\ +% color & \oui & & \\ +% enumitem & \oui & & \\ +% float & \oui & & \\ +% algorithm & & \oui & \\ +% algorithm2e & & \oui & \\ +% hyperref & & \oui & colorlinks \\ +% & & & citecolor=\{blue\} \\ +% & & & urlcolor=\{blue\} \\ +% & & & breaklinks=\{true\} \\ +% \hline +% \end{tabularx} +% \ifnum\frenchdoc=1 +% \caption{Liste des \emph{packages} pr\'echarg\'es avec la classe, leur localisation et leurs options} +% \else +% \caption{List of the class' preloaded packages along with their location and options} +% \fi +% \label{tab:pre-loaded-pkgs} +% \end{table} +% +% \subsubsection{babel} +% \ifnum\frenchdoc=1 +% L'auteur de ces lignes ayant \'et\'e inform\'e par la maintenanci\`ere du gabarit originel que l'utilisation de babel +% avec ce dernier causait de nombreux probl\`emes, il vous serait gr\'e de \textbf{ne pas utiliser le +% \emph{package} babel avec ce nouveau gabarit}, et ce, jusqu'\`a ce que lesdits probl\`emes lui soient pr\'esent\'es +% afin d'\^etre corrig\'es. Une version ult\'erieure de la classe vous permettra peut-\^etre de vous en servir. +% \else +% The person maintaining the original template advised the author of this document class that using babel with the template +% causes a number of problems, +% so \textbf{please do not use the babel package with this new template}, until these issues have been fixed. +% A future release of the class may allow you to use it. +% \fi +% +% \subsubsection{algorithm, algorithm2e} +% +% \ifnum\frenchdoc=1 +% \lien{https://www.ctan.org/pkg/algorithms}{algorithm} et \lien{https://www.ctan.org/pkg/algorithm2e}{algorithm2e} sont +% deux \emph{packages} ayant leurs aficionados respectifs parmi les auteurs de \emph{Cahiers du GERAD}. Tous deux sont +% accept\'es et charg\'es dans le pr\'eambule du gabarit. Il suffit de mettre en commentaire celui des deux qui ne +% sera pas utilis\'e. +% +% Les deux \emph{packages} ne peuvent cependant pas \^etre charg\'es ensemble puisqu'ils entrent en conflit et cr\'eent +% des bogues. +% \else +% \lien{https://www.ctan.org/pkg/algorithms}{algorithm} and \lien{https://www.ctan.org/pkg/algorithm2e}{algorithm2e} are +% two different packages, each of which has its fans among the \emph{Cahiers du GERAD} authors. Both are accepted and +% loaded in the preamble of the template. Simply comment out the one that will not be used. +% +% The two packages are mutually exclusive and cannot both be loaded at once without causing bugs. +% \fi +% +% \subsubsection{float} +% +% \ifnum\frenchdoc=1 +% Le \emph{package} +float+ est charg\'e avec la classe \textbf{uniquement lorsque l'option +gdminitabs+ est utilis\'ee}, et ce, +% afin de transformer les tableaux en +footnotesize+. Si vous avez besoin de ce \emph{package} et que vos tableaux +% sont raisonnablement petits, chargez-le dans le pr\'eambule de votre document. +% \else +% The +float+ package is loaded with the class \textbf{only when the +gdminitabs+ option is enabled}. When loaded, it resizes +% the tables in +footnotesize+. If you need this package and the tables are reasonably small, you can load it in the preamble +% of the document. +% \fi +% +% \subsubsection{cleveref} +% +% \ifnum\frenchdoc=1 +% Le gabarit inclut d\'ej\`a le package +amsthm+ pour permettre le r\'ef\'erencement des th\'eor\`emes. Toutefois, +% afin que ceux-ci apparaissent lorsqu’il y a utilisation du package +cleveref+, les d\'efinitions +\newtheorem+ doivent +% \^etre plac\'ees \textbf{apr\`es} que le package +cleveref+ ait \'et\'e charg\'e (tel que sp\'ecifi\'e dans la section 14.1 de la +% \lien{https://www.ctan.org/pkg/cleveref}{documentation de cleveref}). +% \else +% The template already includes the +amsthm+ package to allow referencing of theorems. However, in order for them to +% appear when using the +cleveref+ package, +\newtheorem+ definitions must be placed \textbf{after} the +cleveref+ package is loaded +% (as specified in Section 14.1 of the \lien{https://www.ctan.org/pkg/cleveref}{cleveref package documentation}). +% \fi +% +% \ifnum\frenchdoc=1 +% \subsection{Commandes} +% \else +% \subsection{Commands} +% \fi +% +% \ifnum\frenchdoc=1 +% Les quelques commandes publiques qui ont \'et\'e cr\'e\'ees pour cette classe ont deux fonctions : renseigner les +% m\'etadonn\'ees du cahier de recherche et faire de la mise en page. +% \else +% The handful of public commands that were created for this class have two purposes: formatting and filling in metadata +% for the working paper. +% \fi +% +% \ifnum\frenchdoc=1 +% \subsubsection{M\'etadonn\'ees} +% \else +% \subsubsection{Metadata} +% \fi +% \label{sec:metadonnees} +% +% \ifnum\frenchdoc=1 +% Toutes situ\'ees dans le pr\'eambule, les commandes de m\'etadonn\'ees permettent aux auteurs et \`a l'\'equipe du +% GERAD d'inscrire les informations bibliographiques qui se retrouveront sur la page couverture et la page titre +% du cahier. +% \else +% All located in the preamble, the metadata commands allow authors and the GERAD team to insert the bibliographical +% data that will be found on the cover and title pages of the paper. +% \fi +% +% \begin{DescribeMacro}{\GDtitre} +% \ifnum\frenchdoc=1 +% Le titre du cahier de recherche. Celui-ci se retrouve \`a la fois sur la page couverture et la page titre. +% \else +% Title of the working paper. The title is on both the cover and title pages. +% \fi +% \end{DescribeMacro} +% +% \begin{DescribeMacro}{\GDauteursCourts} +% \ifnum\frenchdoc=1 +% La liste des auteurs du cahier sous la forme \emph{[Initiale du pr\'enom]. [Nom de famille]} +% (ex. : B. Hamel, K. H\'ebert). Le contenu de cette commande se retrouve sur la page couverture, sous le titre. +% \else +% List of authors, formatted as \emph{[First initial]. [Last name]} (e.g.: B. Hamel, K. H\'ebert). +% The contents of this command will be found on the title page, under the title. +% \fi +% \end{DescribeMacro} +% +% \begin{DescribeMacro}{\GDauteursCopyright} +% \ifnum\frenchdoc=1 +% La liste des noms de famille des auteurs \`a la mention des droits d'auteurs au bas de la page titre. +% \else +% List of the authors’ last names for the authors’ copyright notice at the bottom of the title page. +% \fi +% \end{DescribeMacro} +% +% \begin{DescribeMacro}{\GDmois} +% \ifnum\frenchdoc=1 +% Le mois de publication du cahier de recherche dans ses formes fran\c{c}aise et anglaise. Le mois en fran\c{c}ais +% est inscrit entre les premi\`eres accolades, celui en anglais, entre les deuxi\`emes. +% \else +% Publication month of the working paper in both French and English. The month for the French version is in the +% first set of curly brackets and the English one in the second. +% \fi +% \end{DescribeMacro} +% +% \begin{DescribeMacro}{\GDannee} +% \ifnum\frenchdoc=1 +% L'ann\'ee de publication du cahier sous la forme \emph{AAAA}. +% \else +% The year the paper was published, formatted as YYYY. +% \fi +% \end{DescribeMacro} +% +% \begin{DescribeMacro}{\GDnumero} +% \ifnum\frenchdoc=1 +% Le num\'ero du cahier de recherche. Ce num\'ero est assign\'e par l'\'equipe du GERAD. +% \else +% Number assigned to the working paper by the GERAD team. +% \fi +% \end{DescribeMacro} +% +% \begin{DescribeMacro}{\GDrevised} +% \ifnum\frenchdoc=1 +% Lorsqu'un cahier de recherche fait l'objet d'une r\'evision par ses auteurs, la date de r\'evision +% est inscrite dans cette commande pour \^etre affich\'ee sur la page couverture. +% \else +% When a working paper is revised by its authors, this command is used to display the revision date +% on the cover page. +% \fi +% \end{DescribeMacro} +% +% \begin{DescribeMacro}{\GDpostpubcitation} +% \ifnum\frenchdoc=1 +% Lorsque le contenu du cahier de recherche est publi\'e chez un \'editeur, l'\'equipe du GERAD +% substitue la citation officielle de l'article \`a celle du cahier de recherche et l'URL de l'\'editeur +% \`a celle du site Web du GERAD en utilisant cette commande, la citation devant \^etre inscrite dans +% les premi\`eres accolades et l'URL, dans les secondes. +% \else +% When the working paper is officially published, the GERAD team will replace the \emph{Cahier}’s citation +% with the official journal citation and replace the link to the GERAD website with the URL from the +% publisher. The citation must be placed in the first set of curly brackets and the URL in the second. +% \fi +% \end{DescribeMacro} +% +% \ifnum\frenchdoc=1 +% \subsubsection{Mise en page} +% +% Afin de d\'esembourber le gabarit et d'\'eviter que des commandes essentielles de mise en page soient +% supprim\'ees par des auteurs, des commandes ont \'et\'e cr\'e\'ees. Celles-ci marquent en m\^eme temps +% les subdivisions du document. +% \else +% \subsubsection{Formatting} +% +% To keep the template from getting cluttered and to keep authors from deleting critical formatting commands, +% commands were created to mark each subdivision of the document. +% \fi +% +% \begin{DescribeMacro}{\GDpageCouverture} +% \ifnum\frenchdoc=1 +% Toute la page couverture d'un cahier de recherche est g\'en\'er\'ee \`a partir de cette commande. +% Elle est entre autres mise en forme avec les m\'etadonn\'ees des commandes cit\'ees \`a la +% \autoref{sec:metadonnees}. La page titre qui suit la page couverture est quant \`a elle g\'en\'er\'ee +% par l'environnement +GDpagetitre+ d\'ecrit \`a la \autoref{sec:environnements}. +% \else +% The entire cover page is generated with this command. It is largely formatted with the formatting +% commands listed in \autoref{sec:metadonnees}. The title page that follows the cover is generated +% by the +GDpagetitre+ environment described in \autoref{sec:environnements}. +% \fi +% \end{DescribeMacro} +% +% \begin{DescribeMacro}{\GDabstracts} +% \ifnum\frenchdoc=1 +% Cette commande repr\'esente le d\'ebut de la section \og contenu \fg\ du cahier de recherche, commen\c{c}ant +% avec les r\'esum\'es anglais et fran\c{c}ais. C'est elle +% qui configure les ent\^etes et pieds de pages qui seront effectifs jusqu'\`a la fin du cahier et qui +% comprennent, notamment, les m\'etadonn\'ees d\'ecrites \`a la \autoref{sec:metadonnees}. Les r\'esum\'es +% sont quant \`a eux r\'edig\'es \`a l'int\'erieur de l'environnement +GDabstract+ d\'ecrit \`a la +% \autoref{sec:environnements}. +% \else +% This command marks the beginning of the ``content'' section, beginning with the English and French abstracts. +% It configures the page headers and footers, which are used throughout the paper, including the metadata +% described in \autoref{sec:metadonnees}. The abstracts are written in the +GDabstract+ environment described +% in \autoref{sec:environnements}. +% \fi +% \end{DescribeMacro} +% +% \begin{DescribeMacro}{\GDarticlestart} +% \ifnum\frenchdoc=1 +% Le cahier de recherche en tant que tel d\'ebute \`a partir de cette commande. Celle-ci fait quelques derniers +% petits r\'eglages au niveau de la mise en page. +% \else +% The working paper begins with this command. It handles some final fine-tuning of the formatting settings. +% \fi +% \end{DescribeMacro} +% +% \ifnum\frenchdoc=1 +% \subsection{Environnements} +% \else +% \subsection{Environments} +% \fi +% \label{sec:environnements} +% +% \ifnum\frenchdoc=1 +% Les quelques environnements qui ont \'et\'e cr\'e\'es l'ont \'et\'e pour mettre en forme rapidement la page titre +% et la section des r\'esum\'es. +% \else +% A few environments were created to quickly format the title page and the abstracts section. +% \fi +% +% \ifnum\frenchdoc=1 +% \subsubsection{Page titre} +% \else +% \subsubsection{Title page} +% \fi +% +% \begin{DescribeEnv}{GDpagetitre} +% \ifnum\frenchdoc=1 +% Toute la page titre est g\'en\'er\'ee par le biais de cet environnement. Les auteurs n'ont qu'\`a inscrire +% leurs informations personnelles dans les environnements +GDauthlist+, +GDaffillist+ et +GDemaillist+ d\'ecrits +% ci-dessous pour compl\'eter la page. +% \else +% The entire title page is generated via this environment. To create the page, authors only need to type +% their personal information in the +GDauthlist+, +GDaffillist+, and +GDemaillist+ environments described below. +% \fi +% \end{DescribeEnv} +% +% \begin{DescribeEnv}{GDauthlist} +% \end{DescribeEnv} +% \begin{DescribeMacro}{\GDauthitem} +% \end{DescribeMacro} +% \begin{DescribeMacro}{\GDrefsep} +% \ifnum\frenchdoc=1 +% L'environnement +GDauthlist+ est une liste personnalis\'ee dans laquelle les auteurs y saisissent leur nom +% complet \`a l'aide de la commande +\GDauthitem+, \`a raison d'un auteur par ligne. Les auteurs peuvent y +% r\'ef\'erencer leurs affiliations avec la commande +\ref{}+, tel que d\'emontr\'e dans le \autoref{lst:gdauthlist}. +% Dans le cas o\`u un auteur a plus d'une affiliation, il doit saisir une commande +\ref{}+ +% par affiliation en s\'eparant chacune d'entre elles par la commande +\GDrefsep+. +% \else +% The +GDauthlist+ environment is a customized list in which the authors enter their full name using the +\GDauthitem+ +% command (NB: one author per line). The authors can link their affiliations with the +\ref{}+ command, as demonstrated +% in \autoref{lst:gdauthlist}. In the event that an author has more than one affiliation, they must use one +\ref{}+ +% command per affiliation, separating each one with a +\GDrefsep+ command. +% \fi +% \end{DescribeMacro} +% +% \iffalse +%<*exampleone> +% \fi +% \begin{lstlisting}[name=pgtitlelists,float=h,caption=\lstcaptionone,label=lst:gdauthlist] +\begin{GDauthlist} + \GDauthitem{Benoit Hamel\ref{affil:hec}} + \GDauthitem{Karine H\'ebert\ref{affil:gerad}\GDrefsep\ref{affil:hec}} +\end{GDauthlist} +\end{lstlisting} +% \iffalse +% +% \fi +% +% \begin{DescribeEnv}{GDaffillist} +% \end{DescribeEnv} +% \begin{DescribeMacro}{\GDaffilitem} +% \ifnum\frenchdoc=1 +% L'environnement +GDaffillist+ est une liste personnalis\'ee dans laquelle sont recens\'ees toutes les affiliations +% des auteurs sans aucun ordre d'importance pr\'ed\'efini. Chaque affiliation est inscrite dans une commande +% +\GDaffilitem+, le \emph{label} de l'affiliation \'etant inscrit entre les premi\`eres accolades, l'affiliation en tant que telle, +% entre les secondes, tel qu'illustr\'e dans le \autoref{lst:gdaffillist}. +% \else +% The +GDaffillist+ environment is a customized list of all the authors’ affiliations, in no predefined order of +% importance. Each affiliation is written with a +\GDaffilitem+ command with the label of the affiliation entered +% between the first set of curly brackets, and the affiliation itself in the second, as shown in \autoref{lst:gdaffillist}. +% \fi +% \end{DescribeMacro} +% +% \iffalse +%<*exampletwo> +% \fi +\begin{lstlisting}[name=pgtitlelists,float=h,caption=\lstcaptiontwo,label=lst:gdaffillist] +\begin{GDaffillist} + \GDaffilitem{affil:hec}{HEC Montr\'eal} + \GDaffilitem{affil:gerad}{GERAD} +\end{GDauthlist} +\end{lstlisting} +% \iffalse +% +% \fi +% +% \begin{DescribeEnv}{GDemaillist} +% \end{DescribeEnv} +% \begin{DescribeMacro}{\GDemailitem} +% \ifnum\frenchdoc=1 +% La derni\`ere liste personnalis\'ee cr\'e\'ee pour la page titre d'un cahier de recherche +% est l'environnement +GDemaillist+ dans lequel sont recens\'ees les adresses courriel des +% auteurs, \`a raison d'une adresse par commande +\GDemailitem+. +% \else +% The final customized list created for the title page of a \emph{Cahier} is the +GDemaillist+ environment, +% where the authors’ email addresses are listed, with one email address per +\GDemailitem+ command. +% \fi +% \end{DescribeMacro} +% +% \iffalse +%<*examplethree> +% \fi +\begin{lstlisting}[name=pgtitlelists,float=h,caption=\lstcaptionthree,label=lst:gdemaillist] +\begin{GDemaillist} + \GDemailitem{benoit.2.hamel@hec.ca} + \GDemailitem{karine.hebert@gerad.ca} +\end{GDauthlist} +\end{lstlisting} +% \iffalse +% +% \fi +% +% \ifnum\frenchdoc=1 +% \subsubsection{Section des r\'esum\'es} +% \else +% \subsubsection{Abstracts section} +% \fi +% +% \begin{DescribeEnv}{GDabstract} +% \ifnum\frenchdoc=1 +% \`A l'int\'erieur d'un cahier de recherche du GERAD, les r\'esum\'es fran\c{c}ais et anglais sont r\'edig\'es +% dans un +paragraph+. M\^eme s'il aurait \'et\'e plus simple de n'inscrire qu'une commande +\paragraph+ par +% r\'esum\'e dans le gabarit, les auteurs de cette classe ont choisi de conserver le format \og environnement \fg\ +% afin d'y ajouter de la mise en page et de reproduire le comportement de l'environnement +abstract+. +% \else +% In a GERAD working paper, the French and English abstracts are written in a single paragraph. +% Even though it would have been simpler to write only one +\paragraph+ command per abstract in the template, +% the authors of the class chose to use the ``environment'' format in order to add formatting and remain consistent +% with the behaviour of the abstract environment. +% \fi +% \end{DescribeEnv} +% +% \begin{DescribeEnv}{GDacknowledgements} +% \ifnum\frenchdoc=1 +% Dans les cahiers de recherche du GERAD, les remerciements sont un bloc de texte distinct qui ne correspond pas +% \`a ce que la commande +\thanks+ donne en terme de mise en forme. Les auteurs r\'edigent donc leurs +% remerciements dans leur ensemble dans l'environnement +GDacknowledgements+ et la classe \gdwp\ les +% disposera en fonction du type de version choisie. +% \else +% In a GERAD working paper, the acknowledgements are in a distinct block of text that does not match what the +% +\thanks+ command yields in terms of formatting. The authors therefore must write all their acknowledgements +% in the GDacknowledgements environment, and the \gdwp\ class will handle the layout according to the chosen version. +% \fi +% \end{DescribeEnv} +% +% \ifnum\frenchdoc=1 +% \section{Le gabarit \texttt{geradwp.tex}} +% \else +% \section{The \texttt{geradwp.tex} template} +% \fi +% \label{sec:gabarit} +% +% \ifnum\frenchdoc=1 +% Le gabarit +geradwp.tex+ a \'et\'e con\c{c}u afin d'\^etre le plus simple possible et divis\'e de sorte que +% le code source de chaque cahier soit uniforme. Voici une br\`eve pr\'esentation de ses diff\'erentes sections. +% \else +% The +geradwp.tex+ template was designed to be as simple as possible and is divided in a way that makes the +% source code of each paper uniform. Here is a brief presentation of the different sections. +% \fi +% +% \ifnum\frenchdoc=1 +% \subsection{\emph{Packages} par d\'efaut du cahier (lignes 104-117)} +% +% Tous les \emph{packages} qui ne sont pas charg\'es par d\'efaut dans le fichier de classe (voir le +% \autoref{tab:pre-loaded-pkgs}) sont charg\'es dans cette section. C'est dans cette section que vous pourrez +% choisir entre les \emph{packages} +algorithm+ et +algorithm2e+. C'est \'egalement ici que +% vous devrez charger les \emph{packages} qui ont tendance \`a ne pas fonctionner ad\'equatement s'ils sont +% charg\'es apr\`es le \emph{package} +hyperref+. +% \else +% \subsection{Default packages (lines 104-117)} +% +% All the packages that are not loaded by default in the class (see \autoref{tab:pre-loaded-pkgs}) +% are loaded in this section. It’s in this section that the choice between the +algorithm+ and +algorithm2e+ +% packages is made. Also, this is where you should load the packages that tend to malfunction if they are +% loaded after the +hyperref+ package. +% \fi +% +% \ifnum\frenchdoc=1 +% \subsection{Options par d\'efaut du cahier (lignes 118-132)} +% +% Si vous nommez le r\'epertoire dans lequel vous compilerez vos figures diff\'eremment que le nom que nous +% lui avons donn\'e par d\'efaut ou si vous avez plus d'un r\'epertoire de figures, vous pourrez inscrire +% ces informations ici. +% +% Si vous voulez ajouter des options de +hypersetup+, vous pouvez +% \'egalement les inscrire ici, en prenant soin de ne pas supprimer ou modifier celles d\'ej\`a inscrites. +% +% Dans tous les autres cas, veuillez ne pas modifier cette section. +% \else +% \subsection{Default options (lines 118-132)} +% +% If the name of your folder containing your paper’s figures is named differently than the default name, +% or if there are multiple folders with figures in them, this is where you can enter that information. +% +% If you want to add +hypersetup+ options without modifying or removing the default ones, you can do that here. +% +% In all other cases, this section should remain unchanged. +% \fi +% +% \ifnum\frenchdoc=1 +% \subsection{Commandes de l'auteur (lignes 133-141)} +% +% Cette section vous appartient enti\`erement. Vous pouvez y charger les \emph{packages} n\'ecessaires \`a +% votre r\'edaction de m\^eme que leurs options. +% +% C'est \'egalement dans cette section que vous pouvez inscrire vos commandes, environnements et +% th\'eor\`emes personnalis\'es. +% \else +% \subsection{Author commands (lines 133-141)} +% +% This section belongs entirely to the author. This is where all the packages needed for the paper can be loaded, +% as well as their options. +% +% This is also where customized commands, environments, and theorems can be entered. +% \fi +% +% \ifnum\frenchdoc=1 +% \subsection{Métadonn\'ees du cahier (lignes 143-155)} +% +% Cette section, dont une partie est à la fin du pr\'eambule et l'autre dans l'environnement +GDpagetitre+, au +% d\'ebut du document, est l'endroit o\`u vous devrez inscrire toutes les m\'etadonn\'ees bibliographiques +% de votre cahier. +% \else +% \subsection{Metadata (lines 143-155)} +% +% This section is divided in two: the first is at the end of the preamble, and the second in the +GDpagetitre+ +% environment located at the beginning of the document. This is where all the bibliographical metadata for the +% paper should be. +% \fi +% +% \ifnum\frenchdoc=1 +% \subsection{R\'esum\'es, mots-cl\'es, remerciements, article (lignes 156 et suivantes)} +% +% Ces deux derni\`eres sections sont, bien entendu, les endroits o\`u vous r\'edigerez votre cahier de +% recherche... +% \else +% \subsection{Abstracts, keywords, acknowledgements, article (starting at line 156)} +% +% These last two sections are, of course, where the body of the article will be. +% \fi +% +% \StopEventually{ +% \clearpage +% \PrintChanges +% } +% +% +% \appendix +% +% \ifnum\frenchdoc=1 +% \section{Code source de la classe} +% +% Vous retrouverez dans cette annexe le code source de la classe \gdwp. +% Si vous avez envie de voir comment elle est programm\'ee, d'aider \`a la d\'eboguer, +% \`a l'am\'eliorer, etc., cette section est pour vous! +% \else +% \section{Class source code} +% +% In this appendix, you will find the source code for the \gdwp\ class. +% If you’re interested to see how it’s programmed, or help with debugging or improving the class, +% this section is for you. +% \fi +% +% \ifnum\frenchdoc=1 +% \subsection{Tests et valeurs bool\'eennes} +% +% Pour effectuer les tests conditionnels, la classe utilise le \emph{package} +ifthen+. Les variables +% bool\'eennes servent \`a d\'eterminer quelle version d'un cahier on souhaite g\'en\'erer, \`a quelle +% \'etape de publication le cahier est rendu de m\^eme qu'\`a configurer des portions de mise en page. +% Une fois les variables cr\'e\'ees, des valeurs par d\'efaut leur sont attribu\'ees. +% \else +% \subsection{Tests and boolean values} +% +% To do conditional tests, the class uses the +ifthen+ package. The boolean variables +% identify which version of the paper to generate, how far in the publication process the paper is and +% it configures some parts of the formatting. Once the variables have been created, default values +% are set. +% \fi +% +% \begin{macrocode} +%<*class> +\RequirePackage{ifthen} + +% Booleans % +\newboolean{GD@isWebVersion} +\newboolean{GD@isPaperVersion} +\newboolean{GD@isPlainVersion} +\newboolean{GD@needsSmallHeadSep} +\newboolean{GD@isFinalImpression} +\newboolean{GD@isPostPublication} +\newboolean{GD@isRevised} +\newboolean{GD@needsminitabs} + +\setboolean{GD@isWebVersion}{false} +\setboolean{GD@isPaperVersion}{true} +\setboolean{GD@isPlainVersion}{false} +\setboolean{GD@needsSmallHeadSep}{false} +\setboolean{GD@isFinalImpression}{false} +\setboolean{GD@isPostPublication}{false} +\setboolean{GD@isRevised}{false} +\setboolean{GD@needsminitabs}{false} +% \end{macrocode} +% +% \ifnum\frenchdoc=1 +% \subsection{Options de la classe} +% +% Les quelques options de la classe sont d\'eclar\'ees ci-dessous. Elles servent essentiellement +% \`a changer des valeurs bool\'eennes et \`a passer des options \`a la classe +article+. +% \else +% \subsection{Class options} +% +% The few class options are declared here. They essentially change some boolean values +% and pass some options to the +article+ class. +% \fi +% +% \begin{macrocode} + +% Class Options % +\DeclareOption{gdweb}{% + \setboolean{GD@isWebVersion}{true} + \setboolean{GD@isPaperVersion}{false} + \setboolean{GD@isPlainVersion}{false} + \PassOptionsToClass{oneside}{article} +} +\DeclareOption{gdpaper}{% + \setboolean{GD@isWebVersion}{false} + \setboolean{GD@isPaperVersion}{true} + \setboolean{GD@isPlainVersion}{false} + \PassOptionsToClass{twoside}{article} +} +\DeclareOption{gdplain}{% + \setboolean{GD@isWebVersion}{false} + \setboolean{GD@isPaperVersion}{false} + \setboolean{GD@isPlainVersion}{true} + \PassOptionsToClass{oneside}{article} +} +\DeclareOption{gdsmallhead}{% + \setboolean{GD@needsSmallHeadSep}{true} +} +\DeclareOption{gdfinal}{% + \setboolean{GD@isFinalImpression}{true} +} +\DeclareOption{gdpostpub}{% + \setboolean{GD@isPostPublication}{true} +} +\DeclareOption{gdrevised}{% + \setboolean{GD@isRevised}{true} +} +\DeclareOption{gdminitabs}{% + \setboolean{GD@needsminitabs}{true} +} +% \end{macrocode} +% +% \ifnum\frenchdoc=1 +% \subsection{Chargement de la classe} +% +% La classe est charg\'ee dans le document avec toutes les options +% d\'eclar\'ees par l'utilisateur et celles par d\'efaut. +% \else +% \subsection{Loading the class} +% +% The class is loaded in the document with all the user-defined or default values. +% \fi +% +% \begin{macrocode} + +% Standard Class Loading % +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}} +\ProcessOptions\relax +\LoadClass[letterpaper,10pt]{article} +% \end{macrocode} +% +% \ifnum\frenchdoc=1 +% \subsection{\emph{Packages} charg\'es par d\'efaut et leurs options} +% +% Tr\`es peu de \emph{packages} sont charg\'es avec la classe afin de vous permettre +% de r\'ediger avec la plus grande flexibilit\'e possible. Ceux qui le sont, cependant, +% le sont pour des fins d'harmonisation entre les diff\'erents cahiers de la collection. +% \else +% \subsection{Defaut packages and their options} +% +% Very few packages are loaded with the class in order to allow the user to write with +% the greatest possible flexibility. The packages that are loaded, however, ensure that +% all the papers in the collection have consistent formatting. +% \fi +% +% \begin{macrocode} + +% Required Packages % +\RequirePackage{amssymb} +\RequirePackage{amsmath} +\RequirePackage{amsthm} +\RequirePackage{amsfonts} +\RequirePackage{latexsym} +\RequirePackage{graphicx} +\RequirePackage{mathrsfs} +\RequirePackage{geometry} +\RequirePackage{fancyhdr} +\RequirePackage{booktabs} +\RequirePackage{multirow} +\RequirePackage{array} +\RequirePackage[font={footnotesize,bf,sf}]{caption} +\RequirePackage{color} +\RequirePackage{enumitem} +\ifthenelse{\boolean{GD@needsminitabs}}{% + \RequirePackage{float} +}{} + +% Required Packages Setup % +\definecolor{gris}{rgb}{0.44,0.44,0.44} % color pkg setup +\captionsetup[table]{skip=5pt} % caption pkg setup +% \end{macrocode} +% +% \ifnum\frenchdoc=1 +% \subsection{Mise en page} +% +% Nous commen\c{c}ons d'abord par d\'efinir les \emph{lengths} du document. +% Celles-ci peuvent changer d'une version \`a l'autre d'un cahier. +% \else +% \subsection{Formatting} +% +% We begin by defining the lengths of the document. These can change from +% one version of the paper to another. +% \fi +% +% \begin{macrocode} + +% Lengths % +\newlength{\GD@authitemsep} +\newlength{\GD@authtopsep} +\newlength{\GD@affilitemsep} +\newlength{\GD@affiltopsep} +\newlength{\GD@titleminipage@hspace} +\ifthenelse{\boolean{GD@isPlainVersion}}{% + \setlength{\GD@authitemsep}{0pt} + \setlength{\GD@authtopsep}{12pt} + \setlength{\GD@affilitemsep}{0pt} + \setlength{\GD@affiltopsep}{9pt} +}{% + \setlength{\GD@authitemsep}{8pt} + \setlength{\GD@authtopsep}{24pt} + \setlength{\GD@affilitemsep}{6pt} + \setlength{\GD@affiltopsep}{9pt} +} +\ifthenelse{\boolean{GD@isPaperVersion}}{% + \setlength{\GD@titleminipage@hspace}{240pt} +}{} +\ifthenelse{\boolean{GD@isWebVersion}}{% + \setlength{\GD@titleminipage@hspace}{227pt} +}{} +% \end{macrocode} +% +% \ifnum\frenchdoc=1 +% Nous \'etablissons ensuite la g\'eom\'etrie du document, +% qui diff\`ere d'une version \`a l'autre. +% \else +% We then set up the geometry of the document, which varies from one version to another. +% \fi +% +% \begin{macrocode} + +% Geometry % +\ifthenelse{\boolean{GD@isWebVersion}}{% + \geometry{tmargin=1.5cm,% + bmargin=2cm,% + lmargin=3cm,% + rmargin=3cm,% + nofoot,% + headsep=30pt,% + includehead} +}{} +\ifthenelse{\boolean{GD@isPlainVersion}}{% + \geometry{tmargin=1.5cm,% + bmargin=2cm,% + lmargin=3cm,% + rmargin=3cm,% + nofoot,% + headsep=30pt,% + includehead} +}{} +\ifthenelse{\boolean{GD@isPaperVersion}}{% + \geometry{tmargin=1.5cm,% + bmargin=2cm,% + lmargin=3cm,% + rmargin=2cm,% + nofoot,% + headsep=30pt,% + includehead} +}{} +\ifthenelse{\boolean{GD@needsSmallHeadSep}}{% + \headsep=15pt +}{} +\parindent=15pt +\parskip=7pt plus 1pt minus 1pt +\g@addto@macro\@floatboxreset\centering +\widowpenalty=10000 +\clubpenalty=10000 +\raggedbottom +\allowdisplaybreaks +% \end{macrocode} +% +% \ifnum\frenchdoc=1 +% Nous ajoutons une touche d'uniformit\'e en modifiant les ent\^etes de sections, en descendant +% la hi\'erarchie jusqu'au +\paragraph+. Entres autres, nous assignons la police +\sffamily+ +% aux ent\^etes, police que nous utiliserons \'egalement pour les th\'eor\`emes et +proof+. +% \else +% We add a touch of consistency by modifying the section headers, going down the hierarchy all +% the way down to +\paragraph+. Among other changes, we assign the font +\sffamily+ to the headers, +% theorems, and proof. +% \fi +% +% \begin{macrocode} + +% Section headings % +\renewcommand{\section}{\@startsection {section}{1}{\z@}% + {-2ex \@plus -1ex \@minus -.2ex}% + {1ex \@plus.2ex}% + {\normalfont\Large\sffamily\bfseries}} +\renewcommand{\subsection}{\@startsection{subsection}{2}{\z@}% + {-1.25ex\@plus -1ex \@minus -.2ex}% + {.75ex \@plus .2ex}% + {\normalfont\large\sffamily\bfseries}} +\renewcommand{\subsubsection}{\@startsection{subsubsection}{3}% + {\z@}% + {-1.25ex\@plus -1ex \@minus -.2ex}% + {.75ex \@plus .2ex}% + {\normalfont\normalsize\sffamily\bfseries}} +\renewcommand{\paragraph}{\@startsection{paragraph}{4}{\z@}% + {-1.25ex \@plus 1ex \@minus -.2ex}% + {-.5em \@plus -.1em}% + {\normalfont\normalsize\sffamily\bfseries}} +\setlength{\partopsep}{.5ex \@plus .1ex} %% to reduce spaces +\def\@listI{\leftmargin\leftmargini %% above, between and under + \parsep .25ex \@plus .1ex %% lists - itemize + \topsep .25ex \@plus .1ex %% description - enumerate + \itemsep \parsep} +\let\@listi\@listI +\@listi +% \end{macrocode} +% +% \ifnum\frenchdoc=1 +% Nous redimensionnons les immenses tableaux qui dépassent des marges. +% \else +% We resize oversized tables that extend past the margins. +% \fi +% +% \begin{macrocode} + +% Resizing of huge tables % +\ifthenelse{\boolean{GD@needsminitabs}}{% + \floatstyle{plaintop} + \restylefloat{table} + \let\oldtabular\tabular + \renewcommand{\tabular}{\footnotesize\oldtabular} + \let\oldtable\table +}{} +% \end{macrocode} +% +% \ifnum\frenchdoc=1 +% Finalement, nous ajustons la mise en forme des th\'eor\`emes et de +% l'environnement +proof+ afin qu'elle soit uniforme avec tout le reste. +% \else +% Finally, we adjust the formatting of the theorems and of the +proof+ +% environment so they are consistent with everything else. +% \fi +% +% \begin{macrocode} + +% Theorems and proof layout % +\newtheoremstyle{gerad}% +{3pt}% Space above +{3pt}% Space below +{}{}% +{\sffamily\bfseries}% head font +{.}% Punctuation +{.5em}% Space after theorem head +{} +\theoremstyle{gerad} + +\renewenvironment{proof}[1][\proofname]{\par + \pushQED{\qed}% + \normalfont \topsep6\p@\@plus6\p@\relax + \trivlist + \item\relax + {\bfseries\sffamily + #1\@addpunct{.}}\hspace\labelsep\ignorespaces +}{% + \popQED\endtrivlist\@endpefalse +} +% \end{macrocode} +% +% \ifnum\frenchdoc=1 +% \subsection{Commandes privées de la classe} +% +% Les commandes priv\'ees jouent deux r\^oles distincts : 1) stocker et +% r\'eutiliser les m\'etadonn\'ees du document; 2) d\'ecortiquer de +% larges portions de codes afin d'en \'eviter la r\'ep\'etition. +% \else +% \subsection{Private class commands} +% +% Private commands play two separate roles: 1) storing and reusing the +% document’s metadata; 2) isolate large blocks of code to prevent code duplication. +% \fi +% +% \ifnum\frenchdoc=1 +% \subsubsection{M\'etadonn\'ees} +% \else +% \subsubsection{Metadata} +% \fi +% \label{ann:private-meta} +% +% \ifnum\frenchdoc=1 +% Les commandes ci-dessous stockent les m\'etadonn\'ees inscrites dans +% les commandes publiques correspondantes et populent diff\'erentes +% parties du cahier, comme les ent\^etes, la page couverture et la page +% titre. +% \else +% The following commands store the metadata in the associated public +% commands and populate different parts of the paper such as the headers, +% cover page and title page. +% \fi +% +% \begin{macrocode} + +% Class Private Commands % +% Metadata % +\newcommand{\gd@annee}{} +\newcommand{\gd@mois}{} +\newcommand{\gd@month}{} +\newcommand{\gd@numero}{} +\newcommand{\gd@titre}{} +\newcommand{\gd@auteurs@short}{} +\newcommand{\gd@auteurs@copyright}{} +\newcommand{\gd@postpubcitation}{} +\newcommand{\gd@postpubcitation@url}{} +\newcommand{\gd@revised}{} +% \end{macrocode} +% +% \ifnum\frenchdoc=1 +% \subsubsection{Page couverture et page titre} +% +% La page couverture et la page titre changent en fonction non seulement +% de la version du cahier qui est g\'en\'er\'ee, mais aussi en fonction +% de l'\'etape de publication. Plut\^ot que de r\'ep\'eter le m\^eme code +% plus d'une fois, les pages couverture et titre ont \'et\'e d\'cortiqu\'ees +% en sections qui sont appel\'ees en fonction des crit\`eres mentionn\'es +% ci-dessus. +% +% La page couverture s'affiche dans toutes les versions du cahier, \`a +% l'exception de +gdplain+. Les commandes suivantes servent \`a son affichage. +% La portion inf\'erieure de la page est diff\'erente si l'option +% +gdpostpub+ est utilis\'ee. +% \else +% \subsubsection{Cover and title pages} +% +% The cover page and the title page change according to the version of the +% paper being generated and its publication stage. Rather than duplicating +% code, the cover and title pages have been separated into sections that are +% called up with the criteria mentioned above. +% +% The cover page displays in every version of the paper except +gdplain+. +% The following commands define its appearance. The bottom part of the page +% is different if the +gdpostpub+ option is used. +% \fi +% +% \begin{macrocode} + +% Cover page +\newcommand{\GD@cover}{% + \ifthenelse{\boolean{GD@isFinalImpression}}{}{% + \overfullrule=5pt + } + + \pagestyle{empty} + \begin{titlepage} + \sffamily + \ifthenelse{\boolean{GD@needsSmallHeadSep}}{% + \vspace*{35pt} + }{} + + {\noindent{\large\bfseries Les Cahiers du GERAD}\hfill ISSN:\quad + 0711--2440} + \ifthenelse{\boolean{GD@isWebVersion}}{% + + \vspace*{54pt} + {\noindent\LARGE\bfseries \gd@titre\par} %Title + + \vspace*{18pt} + {\noindent\Large\gd@auteurs@short\par} + }{} + + \vfill + \hspace*{\GD@titleminipage@hspace} + \begin{minipage}[c][5.4cm][c]{7cm} + {\ifthenelse{\boolean{GD@isWebVersion}}% + {\GDcover@minipagetable@web}% + {\GDcover@minipagetable@paper}% + } + \end{minipage} + + \vfill + + \ifthenelse{\boolean{GD@isPostPublication}}{% + \GDcover@bottom@postpub + }{% + \GDcover@bottom@regular + } + \end{titlepage} +} + +% Cover page minipage table (web version) +\newcommand{\GDcover@minipagetable@web}{% + \begin{tabular}{p{.5cm}|p{5.5cm}} + & \normalsize G--\gd@annee--\gd@numero + \ifthenelse{\boolean{GD@needsminitabs}}% + {\\*[10pt]}% + {\\*[8pt]} + & \normalsize\gd@month\ \gd@annee + \ifthenelse{\boolean{GD@isRevised}}{% + \\ + &\normalsize Revised: \gd@revised + }{} + \end{tabular} +} + +% Cover page minipage table (paper version) +\newcommand{\GDcover@minipagetable@paper}{% + \begin{tabular}{p{.5cm}|p{5.5cm}} + \multicolumn{2}{p{6.5cm}}{\normalsize\bfseries \gd@titre + \ifthenelse{\boolean{GD@needsminitabs}}% + {\vspace*{12.5pt}}% + {\vspace*{10pt}}}\\ + & \normalsize\gd@auteurs@short \\ %Initials. Name + & \ifthenelse{\boolean{GD@needsminitabs}}% + {\\*[15pt]}% + {\\*[12pt]} + & \normalsize G--\gd@annee--\gd@numero + \ifthenelse{\boolean{GD@needsminitabs}}% + {\\*[10pt]}% + {\\*[8pt]} + & \normalsize\gd@month\ \gd@annee + \ifthenelse{\boolean{GD@isRevised}}{% + \\ + &\normalsize Revised: \gd@revised + }{} + \end{tabular} +} + +% Regular cover page bottom +\newcommand{\GDcover@bottom@regular}{% + \hrule + \smallskip + + \noindent\begin{minipage}[t][][l]{7.5cm} + \scriptsize + La collection \textit{Les Cahiers du GERAD} est constitu\'{e}e des + travaux de recherche men\'{e}s par nos membres. La plupart de ces + documents de travail a \'{e}t\'{e} soumis \`{a} des revues avec + comit\'{e} de r\'{e}vision. Lorsqu'un document est accept\'{e} et + publi\'{e}, le pdf original est retir\'{e} si c'est n\'{e}cessaire et + un lien vers l'article publi\'{e} est ajout\'{e}.\\ + + \medskip + \scriptsize + \textbf{Citation sugg\'{e}r\'{e}e :} \gd@auteurs@short~(\gd@mois\ + \gd@annee). \gd@titre, Rapport technique, Les Cahiers du GERAD G-- + \gd@annee--\gd@numero, GERAD, HEC Montr\'{e}al, Canada.\\ + + \textbf{Avant de citer ce rapport technique,} veuillez visiter notre + site Web (\url{https://www.gerad.ca/fr/papers/G-\gd@annee-\gd@numero}) + afin de mettre \`a jour vos donn\'ees de r\'ef\'erence, s'il a \'et\'e + publi\'e dans une revue scientifique.\par + \end{minipage} + \hfill + \begin{minipage}[t][][l]{7.5cm} + \scriptsize + The series \textit{Les Cahiers du GERAD} consists of working papers + carried out by our members. Most of these pre-prints have been submitted + to peer-reviewed journals. When accepted and published, if necessary, + the original pdf is removed and a link to the published article is + added.\\ \\ + + \scriptsize + \textbf{Suggested citation:} \gd@auteurs@short~(\gd@month\ \gd@annee). + \gd@titre, Technical report, Les Cahiers du GERAD G--\gd@annee--\gd@numero, + GERAD, HEC Montr\'{e}al, Canada.\\ + + \textbf{Before citing this technical report,} please visit our website + (\url{https://www.gerad.ca/en/papers/G-\gd@annee-\gd@numero}) to update + your reference data, if it has been published in a scientific journal. + \par + \end{minipage} + + \bigskip + \hrule + \smallskip + + \noindent\begin{minipage}[t][2.1cm][l]{7.5cm} + \scriptsize + La publication de ces rapports de recherche est rendue possible gr\^ace + au soutien de HEC Montr\'eal, Polytechnique Montr\'eal, Universit\'e + McGill, Universit\'e du Qu\'ebec \`a Montr\'eal, ainsi que du Fonds de + recherche du Qu\'ebec -- Nature et technologies. + + \medskip + D\'ep\^ot l\'egal -- Biblioth\`eque et Archives nationales du Qu\'ebec, + \gd@annee\\ + \phantom{Depot legal} -- Biblioth\`eque et Archives Canada, \gd@annee + \par + \end{minipage} + \hfill + \begin{minipage}[t][2.1cm][l]{7.5cm} + \scriptsize + The publication of these research reports is made possible + thanks to the support of HEC Montr\'eal, Polytechnique Montr\'eal, + McGill University, Universit\'e du Qu\'ebec \`a Montr\'eal, as well as + the Fonds de recherche du Qu\'ebec -- Nature et technologies. + + \medskip + Legal deposit -- Biblioth\`eque et Archives nationales du Qu\'ebec, + \gd@annee\\ + \phantom{Legal deposit} -- Library and Archives Canada, \gd@annee\par + \end{minipage} + + \hrule + \smallskip + + \noindent + \begin{minipage}[t][1cm][l]{7.5cm} + \begin{scriptsize}\raggedleft + \textbf{GERAD} HEC Montr\'eal + + 3000, chemin de la C\^ote-Sainte-Catherine + + Montr\'eal (Qu\'ebec) Canada H3T 2A7\par + \end{scriptsize} + \end{minipage} + \hspace*{.35cm}\vrule\hfill + \begin{minipage}[t][1cm][l]{7.5cm} + \begin{scriptsize} + \textbf{T\'el.\,: 514 340-6053} + + T\'el\'ec.\,: 514 340-5665 + + info@gerad.ca + + www.gerad.ca\par + \end{scriptsize} + \end{minipage} + + \bigskip + \hrule +} + +% Post-publication cover page bottom +\newcommand{\GDcover@bottom@postpub}{% + \hrule + \smallskip + + \noindent + \begin{minipage}[t][][l]{7.5cm} + \scriptsize + La collection \textit{Les Cahiers du GERAD} est constitu\'{e}e des + travaux de recherche men\'{e}s par nos membres. La plupart de ces + documents de travail a \'{e}t\'{e} soumis \`{a} des revues avec comit\'e + de r\'{e}vision. Lorsqu'un document est accept\'{e} et publi\'{e}, le + pdf original est retir\'{e} si c'est n\'{e}cessaire et un lien vers + l'article publi\'{e} est ajout\'{e}.\par + \end{minipage} + \hfill + \begin{minipage}[t][][l]{7.5cm} + \scriptsize + The series \textit{Les Cahiers du GERAD} consists of working papers + carried out by our members. Most of these pre-prints have been submitted + to peer-reviewed journals. When accepted and published, if necessary, + the original pdf is removed and a link to the published article is + added.\par + \end{minipage} + + \noindent + \begin{minipage}[t][][l]{\textwidth} + \footnotesize + \textbf{CITATION ORIGINALE / ORIGINAL CITATION} + \smallskip + + \gd@postpubcitation\ \url{\gd@postpubcitation@url}. + \end{minipage} + + \bigskip + + \hrule + \smallskip + + \noindent + \begin{minipage}[t][2.1cm][l]{7.5cm} + \scriptsize + \medskip + La publication de ces rapports de recherche est rendue possible gr\^ace + au soutien de HEC Montr\'eal, Polytechnique Montr\'eal, Universit\'e + McGill, Universit\'e du Qu\'ebec \`a Montr\'eal, ainsi que du Fonds de + recherche du Qu\'ebec -- Nature et technologies. + + \medskip + D\'ep\^ot l\'egal -- Biblioth\`eque et Archives nationales du Qu\'ebec, + 2020\\ + \phantom{Depot legal} -- Biblioth\`eque et Archives Canada, 2020\par + \end{minipage} + \hfill + \begin{minipage}[t][2.1cm][l]{7.5cm} + \scriptsize + \medskip + The publication of these research reports is made possible + thanks to the support of HEC Montr\'eal, Polytechnique Montr\'eal, + McGill University, Universit\'e du Qu\'ebec \`a Montr\'eal, as well as + the Fonds de recherche du Qu\'ebec -- Nature et technologies. + + \medskip + Legal deposit -- Biblioth\`eque et Archives nationales du Qu\'ebec, + 2020\\ + \phantom{Legal deposit} -- Library and Archives Canada, 2020\par + \end{minipage} + + \hrule + \smallskip + + \noindent + \begin{minipage}[t][1cm][l]{7.5cm} + \begin{scriptsize}\raggedleft + \textbf{GERAD} HEC Montr\'eal + + 3000, chemin de la C\^ote-Sainte-Catherine + + Montr\'eal (Qu\'ebec) Canada H3T 2A7\par + \end{scriptsize} + \end{minipage} + \hspace*{.35cm}\vrule\hfill + \begin{minipage}[t][1cm][l]{7.5cm} + \begin{scriptsize} + \textbf{T\'el.\,: 514 340-6053} + + T\'el\'ec.\,: 514 340-5665 + + info@gerad.ca + + www.gerad.ca\par + \end{scriptsize} + \end{minipage} + + \bigskip + \hrule +} +% \end{macrocode} +% +% \ifnum\frenchdoc=1 +% La page titre s'affiche dans toutes les versions du cahier, mais +% diffère en fonction des versions. Étant donné qu'elle est contenue +% dans l'environnement +GDpagetitre+, les commandes internes pour son +% affichage sont divisées en deux parties +@begin+ et +@end+. +% \else +% The title page appears in all versions of the paper, but it varies +% according to the version. Given that it is contained in the +GDpagetitre+ +% environment, the internal commands for the title page’s display are +% divided into two parts: +@begin+ and +@end+. +% \fi +% +% \begin{macrocode} + +% Regular title page +\newcommand{\GD@titlepage@begin}{% + \ifthenelse{\boolean{GD@isWebVersion}}{% + \newpage\clearpage + }{% + \ifthenelse{\boolean{GD@isPaperVersion}}{% + \newpage\cleardoublepage + }{} + } + \parindent=0pt + \sffamily + {\LARGE\bfseries \gd@titre\par} %Title + \begin{minipage}[t][10cm][l]{7.5cm} + \vspace*{55pt} +} + +\newcommand{\GD@titlepage@end}{% + \vfill +\end{minipage} +\vfill +{\bfseries \gd@month\ \gd@annee}\\* +\ifthenelse{\boolean{GD@isRevised}}% + {\\ \gd@revised \\}% + {} +{\bfseries Les Cahiers du GERAD}\\ +{\bfseries G--\gd@annee--\gd@numero}\\ +{\footnotesize Copyright \copyright\ \gd@annee\ GERAD, + \gd@auteurs@copyright} +\vspace*{0.05cm} + +\hrule +\smallskip + +\noindent +\begin{minipage}[t][][l]{7.5cm} + \begin{scriptsize} + Les textes publi\'es dans la s\'erie des rapports de recherche + \textit{Les Cahiers du GERAD} n'engagent que la responsabilit\'e de + leurs auteurs. Les auteurs conservent leur droit d'auteur et leurs + droits moraux sur leurs publications et les utilisateurs s'engagent \`a + reconna\^{\i}tre et respecter les exigences l\'{e}gales associ\'{e}es + \`{a} ces droits. Ainsi, les utilisateurs: + \begin {itemize} + \item Peuvent t\'{e}l\'{e}charger et imprimer une copie de toute + publication du portail public aux fins d'\'{e}tude ou de recherche + priv\'{e}e; + \item Ne peuvent pas distribuer le mat\'{e}riel ou l'utiliser pour une + activit\'{e} \`{a} but lucratif ou pour un gain commercial; + \item Peuvent distribuer gratuitement l'URL identifiant la publication. + \end{itemize} + Si vous pensez que ce document enfreint le droit d'auteur, contactez- + nous en fournissant des d\'etails. Nous supprimerons imm\'{e}diatement + l'acc\`es au travail et enqu\^{e}terons sur votre demande.\par +\end{scriptsize} +\end{minipage} +\hfill +\begin{minipage}[t][][l]{7.5cm} +\begin{scriptsize} + The authors are exclusively responsible for the content of their + research papers published in the series \textit{Les Cahiers du GERAD}. + Copyright and moral rights for the publications are retained by the + authors and the users must commit themselves to recognize and abide the + legal requirements associated with these rights. Thus, users: + \begin{itemize} + \item May download and print one copy of any publication from the public + portal for the purpose of private study or research; + \item May not further distribute the material or use it for any + profit-making activity or commercial gain; + \item May freely distribute the URL identifying the publication. + \end{itemize} + If you believe that this document breaches copyright please contact us + providing details, and we will remove access to the work immediately and + investigate your claim.\par +\end{scriptsize} +\end{minipage} + +\thispagestyle{empty} +\parindent=15pt +\newpage +} + +% Plain title page +\newcommand{\GD@plain@titlepage@begin}{% + \thispagestyle{empty} + \sffamily + {\sffamily\LARGE\bfseries\noindent\gd@titre\par} +} + +\newcommand{\GD@plain@pagetitle@end}{% + \vspace*{12pt} + {\noindent\gd@mois\ \gd@annee} + \vspace*{30pt} +} +% \end{macrocode} +% +% \ifnum\frenchdoc=1 +% \subsection{Commandes et environnements publics de la classe} +% +% Les commandes publiques sont celles directement accessibles à l'utilisateur. +% Cependant, elles sont toutes li\'ees \`a une partie du cahier et ne peuvent +% donc pas \^etre r\'eutilis\'ees ou d\'eplac\'ees. +% \else +% \subsection{Public class commands and environments} +% +% The public commands are those that can be directly accessed by the user. +% They are, however, each linked to a specific part of the paper, and thus +% cannot be reused or moved. +% \fi +% +% \ifnum\frenchdoc=1 +% \subsubsection{M\'etadonn\'ees} +% Les commandes suivantes sont celles o\`u l'utilisateur saisit les donn\'ees +% bibliographiques de son cahier. Elles modifient la valeur des commandes +% priv\'ees correspondantes (voir la \autoref{ann:private-meta}). +% \else +% \subsubsection{Metadata} +% The following commands are those users use to enter their paper’s +% bibliographical data. They modify the values of the corresponding private +% commands (see \autoref{ann:private-meta}). +% \fi +% +% \begin{macrocode} + +% Metadata public commands +\newcommand{\GDannee}[1]{% + \renewcommand{\gd@annee}{#1} +} +\newcommand{\GDmois}[2]{% + \renewcommand{\gd@mois}{#1} + \renewcommand{\gd@month}{#2} +} +\newcommand{\GDnumero}[1]{% + \renewcommand{\gd@numero}{#1} +} +\newcommand{\GDtitre}[1]{% + \renewcommand{\gd@titre}{#1} +} +\newcommand{\GDauteursCourts}[1]{% + \renewcommand{\gd@auteurs@short}{#1} +} +\newcommand{\GDauteursCopyright}[1]{% + \renewcommand{\gd@auteurs@copyright}{#1} +} +\newcommand{\GDpostpubcitation}[2]{% + \renewcommand{\gd@postpubcitation}{#1} + \renewcommand{\gd@postpubcitation@url}{#2} +} +\newcommand{\GDrevised}[1]{% + \renewcommand{\gd@revised}{#1} +} +% \end{macrocode} +% +% \ifnum\frenchdoc=1 +% \subsubsection{Subdivisions du document} +% +% Chaque partie d'un cahier de recherche a ses particularit\'es, tant au niveau +% de la géométrie que de la mise en page (ent\^etes, pieds de page, etc.) Plut\^ot +% que d'engorger le gabarit avec de multiples lignes de code, quelques commandes +% et environnements ont \'et\'e cr\'e\'es afin de les regrouper. +% \else +% \subsubsection{Document subdivisions} +% +% Each part of the paper has specific characteristics in terms of geometry and +% formatting (headers, footers, etc.). Rather than bloating the template with +% multiple lines of code, a few commands and environments were created to group them +% together. +% \fi +% +% \begin{macrocode} + +% Cover page +\newcommand{\GDpageCouverture}{% + \ifthenelse{\boolean{GD@isPlainVersion}}{}{\GD@cover} +} + +% Title page +\newenvironment{GDpagetitre}{ + \ifthenelse{\boolean{GD@isPlainVersion}}% + {\GD@plain@titlepage@begin}% + {\GD@titlepage@begin} +}{ + \ifthenelse{\boolean{GD@isPlainVersion}}% + {\GD@plain@pagetitle@end}% + {\GD@titlepage@end} +} + +% Title page lists and list items +\newlist{GDauthlist}{itemize}{1} +\setlist[GDauthlist]{label={},% + left=0pt .. 0pt,% + itemsep=\GD@authitemsep,% + topsep=\GD@authtopsep} +\newlist{GDaffillist}{enumerate}{1} +\setlist[GDaffillist]{label=\textsuperscript{\emph{\alph*}},% + ref=\textsuperscript{\emph{\alph*}},% + wide,% + left=0pt .. 1em,% + itemsep=\GD@affilitemsep,% + topsep=\GD@affiltopsep} +\newlist{GDemaillist}{itemize}{1} +\setlist[GDemaillist]{label={},% + left=0pt .. 0pt,% + itemsep=0pt,% + parsep=0pt} +\newcommand{\GDrefsep}{\textsuperscript{,\,}} +\newcommand{\GDauthitem}[1]{% + \ifthenelse{\boolean{GD@isPlainVersion}}{% + \item {\sffamily\large\bfseries #1} + }{% + \item {\Large\bfseries #1} + } +} +\newcommand{\GDaffilitem}[2]{\item \label{#1}{\itshape #2}} +\newcommand{\GDemailitem}[1]{\item {\small\ttfamily #1}} + +% Abstracts section +\newcommand{\GDabstracts}{% + \ifthenelse{\boolean{GD@isPlainVersion}}{}{% + \setcounter{page}{2} + \renewcommand{\thepage}{\roman{page}} + \pagestyle{fancy} + \lhead[ + \textcolor{gris}{\sffamily{\,}\thepage}\hfill + \textcolor{gris}{\sffamily G--\gd@annee--\gd@numero}\hfill % + \ifthenelse{\boolean{GD@isRevised}}% + {{ -- \itshape Revised}}% + {} + \textcolor{gris}{\sffamily Les Cahiers du GERAD} + {\large\strut}\color{gris}{\hrule} + ] + { + \textcolor{gris}{\sffamily{\,} Les Cahiers du GERAD}\hfill + \textcolor{gris}{\sffamily G--\gd@annee--\gd@numero}\hfill % + \ifthenelse{\boolean{GD@isRevised}}% + {{ -- \itshape Revised}}% + {} + \textcolor{gris}{\sffamily\thepage} + {\large\strut}\color{gris}{\hrule} + } + \chead[]{} + \rhead[]{} + \lfoot[]{} + \cfoot[]{} + \rfoot[]{} + \renewcommand{\headrulewidth}{0pt} + \renewcommand{\footrulewidth}{0pt} + \rmfamily + \vspace*{5pt} + } +} + +% Custom abstract environment +\newenvironment{GDabstract}[1]{% + \paragraph{#1 : } +}{% + \ifthenelse{\boolean{GD@isPlainVersion}}{}{\vspace*{2cm}} +} + +% Acknowledgements section +\newenvironment{GDacknowledgements}{% + \ifthenelse{\boolean{GD@isPlainVersion}}{% + \paragraph{Acknowledgements: } + }{% + \vfill + \hrule + \smallskip + \paragraph{Acknowledgements: } + } +}{} + +% Article section +\newcommand{\GDarticlestart}{% + \ifthenelse{\boolean{GD@isPlainVersion}}{}{% + \newpage + \setcounter{page}{1} + \renewcommand{\thepage}{\arabic{page}} + \baselineskip=12.5pt + \rmfamily + } +} +% +% \end{macrocode} +% +% ^^A Fin du code de la classe +% \Finale +% +% \iffalse +% ^^A Code du gabarit +%<*template> +%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% %%%%%%%%%% Notes pour les auteurs %%%%%%%%%%%%%%% +%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Inscrire tous les titres en minuscules (sauf la première lettre du +%% premier mot). +%% Section, Table, Figure prennent une majuscule en anglais, +%% mais pas en français. +%% Les tableaux se font avec Booktabs et ils sont écrits en \footnotesize. +%% (Booktabs crée des tableaux avec des lignes horizontales seulement et +%% plus d'espaces entre les lignes.) +%% Pour éviter que des références ne se retrouvent seules au début d'une ligne, +%% on doit faire précéder les "\ref{...}" par "~", donc "~\ref{...}". +%% On fait de même avec "\cite{...}" qui devrait plutôt s'écrire "~\cite{...}". +%% Vérifier que les chiffres (références ou non) n'apparaissent pas seuls +%% au début d'une ligne. +%% Enlever toutes les commandes d'espacement (\smallskip, \vspace, \\) à la fin +%% des lignes et des paragraphes. +%% "et al." ne s'écrit pas en italiques et a un point. +%% Les titres des figures, tableaux et algorithmes prennent un point ou non, +%% mais ils doivent être tous identiques. +%% Pour les Tables, les titres sont placés en haut. +%% Pour les Figures, les titres sont placés en-dessous. +%% S'assurer que le chiffre de la note de bas de page soit après la ponctuation +%% en anglais. +%% Bibliographie : ajouter "\small" après le \begin{thebibliography}. +%% Bibliographie : transférer le .bbl dans le fichier lui-même +%% s'il y a un fichier .bib. +%% Bibliographie : vérifier qu'il y a bien deux tirets (--) entre les numéros +%% de pages quand c'est nécessaire. +%% Bibliographie : éviter les caractères en italique et en gras. Enlever +%% les \em et \it. + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%% Notes for Authors %%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Write all titles in lowercase letters (aside from the first letter of the +%% first word). +%% Section, Table, Figure are capitalized in English, but not in French. +%% Tables are done with Booktabs and are written in \footnotesize. +%% (With Booktabs there's only horizontal lines and more space between +%% the lines). +%% To make sure references don't end up alone at the start of a line, +%% before each "\ref{...}" use "~", therefore: "~\ref{...}". +%% The same thing applies to "\cite{...}", which should instead +%% be written "~\cite{...}". +%% Check that numbers (references or other) do not appear by themselves +%% at the start of a line . +%% Remove all spacing commands (\smallskip, \vspace, \\) at the end of +%% lines and paragraphs. +%% "et al." must not be written in italics and must include a period after "al". +%% Figure, table and algorithm titles may use a period or not, but must do so +%% consistently throughout. +%% Table titles are placed above the table. +%% Figure titles are placed below the figure. +%% Make sure footnote numbers are positioned after the punctuation in English. +%% Bibliography: transfer the .bbl into the file itself if there is a .bib file. +%% Bibliography: add "\small" after \begin{thebibliography}. +%% Bibliography: check that there are two dashes (--) between page numbers where +%% necessary. +%% Bibliography: avoid using italics and bold. Remove instances of \em and \it. +\documentclass[gdweb]{geradwp} + +%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% %%% Packages par défaut du cahier %%%%%%%%%%%%%% +%% %%% ----- NE PAS MODIFIER! ------- %%%%%%%%%%%%%% +%% %%% Working paper default packages %%%%%%%%%%%%%% +%% %%% ----- DO NOT MODIFY! --------- %%%%%%%%%%%%%% +%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\PassOptionsToPackage{hyphens}{url} + +%% Choose one of the two following algorithm packages +%% \usepackage{algorithm} +\usepackage{algorithm2e} +\usepackage{hyperref} + +%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% %%% Options par défaut du cahier %%%%%%%%%%%%%%% +%% %%% ----- NE PAS MODIFIER! ------ %%%%%%%%%%%%%%% +%% %%% Working paper default options %%%%%%%%%%%%%%% +%% %%% ----- DO NOT MODIFY! -------- %%%%%%%%%%%%%%% +%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\graphicspath{{Figures/}} % graphicx pkg setup +\hypersetup{colorlinks,% + citecolor={blue}, % Change for "black" with natbib + urlcolor={blue}, + linkcolor={blue}, + breaklinks={true} +} + +%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% %%%%%% Début - commandes de l'auteur %%%%%%%%%%%% +%% %%%%%%%% Start of author commands %%%%%%%%%%%%%%% +%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% %%%%%%% Fin - commandes de l'auteur %%%%%%%%%%%%% +%% %%%%%%%%% End of author commands %%%%%%%%%%%%%%%% +%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% %%%%%%%%%% Métadonnées du cahier %%%%%%%%%%%%%%% +%% %%%%%%%%%% Working paper metadata %%%%%%%%%%%%%%% +%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\GDtitre{This is a title} +\GDmois{Mai}{May} +\GDannee{2021} +\GDnumero{XX} +\GDauteursCourts{B. Hamel, K. H\'ebert} +\GDauteursCopyright{Hamel, H\'ebert} +\GDpostpubcitation{Hamel, Benoit, Karine H\'ebert (2021). \og Un exemple de citation \fg, \emph{Journal of Journals}, vol. X issue Y, p. n-m}{https://www.gerad.ca/fr} +\GDrevised{Mai 2021} + +\begin{document} + + \GDpageCouverture + + \begin{GDpagetitre} + + \begin{GDauthlist} + \GDauthitem{Benoit Hamel \ref{affil:bib}} + \GDauthitem{Karine H\'ebert \ref{affil:gerad}\GDrefsep\ref{affil:hec}} + \end{GDauthlist} + + \begin{GDaffillist} + \GDaffilitem{affil:bib}{Biblioth\`eque, HEC Montr\'eal, Montr\'eal (Qc), Canada, H3T 2A7} + \GDaffilitem{affil:gerad}{GERAD, Montr\'eal (Qc), Canada, H3T 1J4} + \GDaffilitem{affil:hec}{HEC Montr\'eal, Montr\'eal (Qc), Canada, H3T 2A7} + \end{GDaffillist} + + \begin{GDemaillist} + \GDemailitem{benoit.2.hamel@hec.ca} + \GDemailitem{karine.hebert@gerad.ca} + \end{GDemaillist} + + \end{GDpagetitre} + +%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% %%%%%%%%% Résumés, mots-clés, remerciements %%%%%%%%%%% +%% %%%%%%% Abstract, keywords, acknowledgements %%%%%%%%%% +%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + \GDabstracts + + \begin{GDabstract}{Abstract} + Write your abstract here... + + \paragraph{Keywords: } + %Here + Here + \end{GDabstract} + + \begin{GDabstract}{R\'esum\'e} + R\'edigez votre r\'esum\'e ici... + + \paragraph{Mots cl\'es\,: } + %Here + Here + + \end{GDabstract} + + + \begin{GDacknowledgements} + Here + + \end{GDacknowledgements} + +%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% %%%%%%%%%%%%%%%% Article %%%%%%%%%%%%%%%%%%%%%%%% +%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + \GDarticlestart + %Here + Write your article article. + +\end{document} +% +% \fi \ No newline at end of file -- cgit v1.2.3