From fb2d3756bfa1f561cfa7af9815acee2bd0ec9dde Mon Sep 17 00:00:00 2001 From: deguilardi Date: Tue, 30 Mar 2021 18:21:14 -0400 Subject: [PATCH] changed to match 2021 rules --- LICENSE | 201 ++++ Readme.md | 7 +- biblio-articles.bib | 14 + biblio-books.bib | 14 + biblio-papers.bib | 16 + biblio-sites.bib | 15 + chapitre1.tex | 160 --- chapitre2.tex | 126 -- chapter1-introduction/chapter.tex | 3 + chapter1-introduction/images/README.md | 1 + chapter2-background/chapter.tex | 3 + chapter2-background/images/README.md | 1 + conclusion.tex | 20 - introduction.tex | 38 - uqac-these.cls | 58 +- uqac.bst | 1507 ++++++++++++++++++++++++ uqac.tex | 198 ++++ 17 files changed, 2001 insertions(+), 381 deletions(-) create mode 100644 LICENSE create mode 100644 biblio-articles.bib create mode 100644 biblio-books.bib create mode 100644 biblio-papers.bib create mode 100644 biblio-sites.bib delete mode 100644 chapitre1.tex delete mode 100644 chapitre2.tex create mode 100644 chapter1-introduction/chapter.tex create mode 100644 chapter1-introduction/images/README.md create mode 100644 chapter2-background/chapter.tex create mode 100644 chapter2-background/images/README.md delete mode 100644 conclusion.tex delete mode 100644 introduction.tex create mode 100644 uqac.bst create mode 100644 uqac.tex diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..261eeb9 --- /dev/null +++ b/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/Readme.md b/Readme.md index 086923f..04fe927 100644 --- a/Readme.md +++ b/Readme.md @@ -1,7 +1,8 @@ Gabarit de mémoire, thèse et essai pour l'UQAC ============================================== -par Sylvain Hallé +Official rules, +adapted from https://github.com/sylvainhalle/uqac-these Comment utiliser ce modèle -------------------------- @@ -122,7 +123,7 @@ L'UQAC demande à ce que le PDF final soit au format [Guide de création des fichiers pour le dépôt final](http://services.uqac.ca/decanat-des-etudes/files/2014/09/GuideCr%C3%A9ationFichiers_DepotFinal2018.pdf). Comme vous utilisez LaTeX, vous êtes épargné du processus fastidieux décrit dans ce document (et qui s'applique aux utilisateurs de Word). Vous n'avez -qu'à décommenter cette ligne dans `these.tex` pour produire votre dernier +qu'à décommenter cette ligne dans `uqac.tex` pour produire votre dernier fichier: \usepackage[a-1b]{pdfx} @@ -145,6 +146,4 @@ soit installé. Consultez les commentaires du code source de `uqac-these.cls` pour plus d'information sur la création de cette classe. -2017-12-24 - diff --git a/biblio-articles.bib b/biblio-articles.bib new file mode 100644 index 0000000..5eddd27 --- /dev/null +++ b/biblio-articles.bib @@ -0,0 +1,14 @@ +% Encoding: UTF-8 + +% This is just an example +% Add your article references here in this file following this pattern +@article{measurementTheoryInSoftware, + author = {Briand, Lionel and El Emam, Khaled and Morasca, Sandro}, + title = {On the Application of Measurement Theory in Software Engineering}, + journal = {Empirical Software Engineering}, + year = {1996}, + pages = {61–88}, + doi = {10.1007/BF00125812}, + type = {Journal Article}, + volume = {1}, +} \ No newline at end of file diff --git a/biblio-books.bib b/biblio-books.bib new file mode 100644 index 0000000..87e392b --- /dev/null +++ b/biblio-books.bib @@ -0,0 +1,14 @@ +% Encoding: UTF-8 + +% This is just an example +% Add your book references here in this file following this pattern +@book{experimentationInSoftware, + author = {Wohlin, Claes and Runeson, Per and Höst, Martin and Ohlsson, Magnus and Regnel, Björn and Wesslén, Anders}, + title = {Experimentation in Software Engineering}, + year = {2000}, + edition = {1\textsuperscript{er}}, + publisher = {Springer science + business media}, + isbn = {9783642290442}, + address = {Heidelberg, Germany}, + pages = {10-41}, +} \ No newline at end of file diff --git a/biblio-papers.bib b/biblio-papers.bib new file mode 100644 index 0000000..122f63a --- /dev/null +++ b/biblio-papers.bib @@ -0,0 +1,16 @@ +% Encoding: UTF-8 + +% This is just an example +% Add your paper references here in this file following this pattern +@inproceedings{AreAppsReady, + author = {Guilardi, Demetrio and Nicacio, Jalves and Napoleao, Bianca and Petrillo, Fabio}, + title = {Are apps ready for new Android Releases?}, + booktitle = {IEEE/ACM 7th International Conference on Mobile Software Engineering and Systems}, + year = {2020}, + pages = {66-76}, + publisher = {IEEE}, + month = {7}, + doi = {10.1145/3387905.3388598}, + address = {Seoul, Republic of Korea}, + issn = {null} +} \ No newline at end of file diff --git a/biblio-sites.bib b/biblio-sites.bib new file mode 100644 index 0000000..9fd17c5 --- /dev/null +++ b/biblio-sites.bib @@ -0,0 +1,15 @@ +% Encoding: UTF-8 + +% This is just an example +% Add your site references here in this file following this pattern +@online{android-founder-interview, + author = {Jay Alabaster}, + title = {Android founder: We aimed to make a camera OS}, + date = {2013-04-16}, + type = {Web Page}, + url = {https://www.pcworld.com/article/2034723/android-founder-we-aimed-to-make-a-camera-os.html}, + year = {2013}, + month = {4}, + lastaccessed = {11 février 2020}, + addendum = {Repéré le 11/2/2020}, +} \ No newline at end of file diff --git a/chapitre1.tex b/chapitre1.tex deleted file mode 100644 index c38631b..0000000 --- a/chapitre1.tex +++ /dev/null @@ -1,160 +0,0 @@ -\chapter{Titre d'un chapitre} - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla pellentesque -ante ut velit tincidunt rhoncus. Ut aliquam consectetur tempor. Nulla luctus -nisl at urna placerat tristique. Suspendisse tempus iaculis nisl at -suscipit. Class aptent taciti sociosqu ad litora torquent per conubia -nostra, per inceptos himenaeos. Nulla vel libero placerat enim scelerisque -interdum quis nec tortor. Quisque fermentum rhoncus dolor sodales -sollicitudin. Donec quis mi nisi, quis blandit nulla. Pellentesque varius -ipsum ut tortor pretium vel eleifend diam iaculis. Aenean nulla ligula, -congue in placerat non, varius ut nibh. - -Exemples de citations: blabla la théorie des types -\citep{DBLPjournals/jsyml/Turing48,DBLPjournals/ai/Lenat82}. Si on mentionne -le nom, ne pas le répéter dans la citation: comme le disait -\citet{DBLPjournals/jsyml/Turing48}, ou même -\citet{DBLPconf/afips/SolomonP76}. - -\section{Une première section} - -Praesent diam libero, tincidunt vel interdum at, luctus id nisl. Ut egestas -nisi a elit ullamcorper tempus. Sed nisl enim, fermentum et consequat ac, -aliquam quis diam. Nulla elementum, purus nec fermentum vestibulum, justo -ligula tempus orci, non dignissim ligula orci id nulla. Integer placerat -posuere quam sit amet congue. Proin eleifend, turpis mollis gravida -tristique, justo nisl semper nunc, quis pellentesque neque ligula eu quam. -Cras a felis urna. Suspendisse dui sem, ullamcorper sed viverra a, varius id -odio. Nullam in nisi id massa tempor varius cursus id neque. Curabitur -ultrices fermentum purus tempor scelerisque. Maecenas in iaculis tellus. -Nulla et sollicitudin quam. Pellentesque sed mi at massa facilisis auctor. -Quisque non metus massa. - -\subsection{Un sous-titre} - -Fusce et dui at mi semper aliquam in sed ipsum. Etiam in urna enim. -Vestibulum arcu tellus, venenatis ac sollicitudin vel, sagittis eget nisl. -Mauris ut nunc ipsum. Phasellus ut magna a nisi aliquam scelerisque ut a -sapien. Ut lectus leo, faucibus vitae sagittis ac, sagittis posuere tortor. -Nulla id odio dui, eu pharetra massa. Etiam bibendum posuere elit, sit amet -tristique leo blandit sed. Voyez par exemple la figure \ref{fig:formes}. - -\begin{figure} - \begin{center} - \includegraphics[width=3in]{carre-et-cercle} - \end{center} - \caption{Des formes géométriques} - \label{fig:formes} -\end{figure} - -Pellentesque molestie laoreet gravida. Curabitur egestas mollis libero, in -posuere turpis malesuada at. Donec egestas nunc sed justo eleifend -tincidunt. Vestibulum dignissim lobortis nisl, quis gravida tortor pulvinar -id. In ac nisi metus, in varius felis. Morbi semper aliquam turpis sed -vehicula. Nam neque libero, condimentum sed gravida ut, egestas ut nibh. -Lorem ipsum dolor sit amet, consectetur adipiscing elit. - -\subsection{Un autre sous-titre} - -Sed lacus mi, aliquet et elementum id, tincidunt in leo. Donec id ligula -erat, sit amet condimentum justo. Aliquam mi risus, molestie quis egestas -id, consequat nec erat. Aenean hendrerit augue quis massa consequat eu -ultricies lorem tincidunt. Lorem ipsum dolor sit amet, consectetur -adipiscing elit. Donec ornare ligula quis nunc tincidunt euismod. Phasellus -eget mi elit. Suspendisse neque est, placerat ac tincidunt ut, dapibus non -ante. Morbi varius, orci sed interdum euismod, risus purus dapibus magna, -non convallis augue augue eget elit. Comme le dit le tableau -\ref{tab:villes}. Duis ut feugiat massa. Duis at nunc non lacus rhoncus -porta vitae vel felis. Etiam eu euismod libero. Vestibulum ante ipsum primis -in faucibus orci luctus et ultrices posuere cubilia Curae; Fusce facilisis -dui eu augue ultrices non venenatis lectus viverra. - -\begin{table} - \caption{Un tableau avec un titre} - \begin{center} - \begin{tabular}{|c|c|c|} - \hline - Ville & Année & Naissance \\ - \hline\hline - Chicoutimi & 2000 & 1936 \\ - \hline - Jonquière & 2001 & 1944 \\ - \hline - La Baie & 2002 & 1952 \\ - \hline - \end{tabular} - \label{tab:villes} - \end{center} -\end{table} - -\section{Une seconde section} - -Curabitur quis arcu urna, sed laoreet magna. Proin ut sollicitudin arcu. -Suspendisse rhoncus, mauris sit amet lacinia interdum, justo erat auctor -nisi, at eleifend orci neque id ipsum. Aliquam rutrum accumsan dolor, sit -amet elementum mauris gravida vel. In hac habitasse platea dictumst. Mauris -sit amet diam velit, non rhoncus lorem. Suspendisse pulvinar, dolor a tempor -cursus, nibh nisl tincidunt augue, non aliquet mauris enim vitae massa. -Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere -cubilia Curae; Suspendisse potenti. Nullam rutrum, dolor quis molestie -sollicitudin, ipsum orci condimentum nibh, nec tincidunt sem nisi eget leo. -Ut porta metus neque, id tincidunt est. Phasellus mollis porta euismod. - -\[ - \sum_{i=0}^n i = \frac{n(n+1)}{2} -\] - -Morbi pellentesque, urna in gravida porta, neque nisl imperdiet lorem, at -molestie lacus dolor aliquam eros. Duis vel interdum ante. Aenean dignissim, -dolor sed accumsan vulputate, elit ipsum mollis mauris, ultricies cursus -lorem enim sit amet elit. Suspendisse congue dolor vel urna semper at mattis -leo cursus. Phasellus cursus, odio ut gravida auctor, nisi lacus iaculis -erat, in interdum elit dolor et est. Nunc eleifend ullamcorper erat, lacinia -suscipit augue luctus vel. Etiam quis nisl vel turpis sodales bibendum vitae -ac velit. Pellentesque accumsan lacus massa. Nunc sollicitudin massa -adipiscing neque placerat vestibulum. - -\subsection{Un sous-titre} - -Quisque a lorem sit amet diam sollicitudin lobortis vitae ac massa. Mauris -id eros sed enim egestas eleifend at vel nunc. Vivamus risus erat, pretium -quis convallis sit amet, pellentesque id sem. Cras massa metus, luctus eu -molestie adipiscing, condimentum sit amet mauris. Sed euismod consectetur -blandit. Nunc et nunc sed nunc tempor aliquam. Class aptent taciti sociosqu -ad litora torquent per conubia nostra, per inceptos himenaeos. Vestibulum -rhoncus feugiat orci, non venenatis mauris lobortis quis. Aenean -sollicitudin tempor diam, at feugiat leo adipiscing ut. Vivamus fermentum -semper diam vitae ultrices. Nulla consequat ullamcorper nulla ac consequat. - -\subsection{Un dernier sous-titre} - -\begin{lstlisting}[caption=Exemple de code] -for (i=0; i < 10; ++i) { - // code -} -\end{lstlisting} - -Duis sed augue et sem tempus tempor. Fusce ut bibendum diam. In orci tellus, -porttitor ut euismod porttitor, lacinia in lacus. Aenean augue sem, porta -eget ultricies id, ornare a purus. Nulla facilisi. Donec non dignissim -purus. Nam arcu velit, placerat ut convallis at, laoreet nec sem. Phasellus -ac nisl et tellus adipiscing varius. Phasellus consequat tristique est, at -mattis magna ullamcorper at. Donec bibendum, arcu ac scelerisque vulputate, -massa erat porta sapien, a iaculis erat ligula aliquam ligula. Nam eget elit -lacus. Donec vel arcu ut dolor consequat pretium. Suspendisse gravida -vestibulum arcu, sit amet viverra sem feugiat consequat. Aliquam ultrices -gravida condimentum. Sed turpis magna, blandit in porttitor quis, interdum -eu erat. - -Etiam tincidunt arcu sed nulla adipiscing vel tempus erat luctus. Nulla -convallis hendrerit feugiat. Curabitur et vehicula ante. Mauris mattis enim -et lorem consectetur venenatis sollicitudin sapien pharetra. Nulla dictum -mattis tincidunt. Nullam urna ipsum, aliquet consequat semper eu, vestibulum -at dolor. Morbi libero tellus, dignissim ut elementum a, rutrum nec lacus. -Pellentesque id venenatis turpis. Pellentesque habitant morbi tristique -senectus et netus et malesuada fames ac turpis egestas. Nunc rutrum mollis -sodales. Cum sociis natoque penatibus et magnis dis parturient montes, -nascetur ridiculus mus. Fusce urna ante, facilisis sit amet posuere vitae, -interdum quis felis. Quisque sollicitudin, urna et vestibulum feugiat, elit -lectus egestas tellus, a ultrices nulla tellus mattis mi. Vivamus id tellus -ac quam aliquet vestibulum vehicula non dui. diff --git a/chapitre2.tex b/chapitre2.tex deleted file mode 100644 index ed2e941..0000000 --- a/chapitre2.tex +++ /dev/null @@ -1,126 +0,0 @@ -\chapter{Titre d'un autre chapitre} - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla pellentesque -ante ut velit tincidunt rhoncus. Ut aliquam consectetur tempor. Nulla luctus -nisl at urna placerat tristique. Suspendisse tempus iaculis nisl at -suscipit. Class aptent taciti sociosqu ad litora torquent per conubia -nostra, per inceptos himenaeos. Nulla vel libero placerat enim scelerisque -interdum quis nec tortor. Quisque fermentum rhoncus dolor sodales -sollicitudin. Donec quis mi nisi, quis blandit nulla. Pellentesque varius -ipsum ut tortor pretium vel eleifend diam iaculis. Aenean nulla ligula, -congue in placerat non, varius ut nibh. - -Exemples de citations: blabla la théorie des types -\citep{DBLPjournals/jsyml/Turing48}. Si on mentionne le nom, ne pas le -répéter dans la citation: comme le disait -\citet{DBLPjournals/jsyml/Turing48}. - -\section{Une première section} - -Praesent diam libero, tincidunt vel interdum at, luctus id nisl. Ut egestas -nisi a elit ullamcorper tempus. Sed nisl enim, fermentum et consequat ac, -aliquam quis diam. Nulla elementum, purus nec fermentum vestibulum, justo -ligula tempus orci, non dignissim ligula orci id nulla. Integer placerat -posuere quam sit amet congue. Proin eleifend, turpis mollis gravida -tristique, justo nisl semper nunc, quis pellentesque neque ligula eu quam. -Cras a felis urna. Suspendisse dui sem, ullamcorper sed viverra a, varius id -odio. Nullam in nisi id massa tempor varius cursus id neque. Curabitur -ultrices fermentum purus tempor scelerisque. Maecenas in iaculis tellus. -Nulla et sollicitudin quam. Pellentesque sed mi at massa facilisis auctor. -Quisque non metus massa. - -\subsection{Un sous-titre} - -Fusce et dui at mi semper aliquam in sed ipsum. Etiam in urna enim. -Vestibulum arcu tellus, venenatis ac sollicitudin vel, sagittis eget nisl. -Mauris ut nunc ipsum. Phasellus ut magna a nisi aliquam scelerisque ut a -sapien. Ut lectus leo, faucibus vitae sagittis ac, sagittis posuere tortor. -Nulla id odio dui, eu pharetra massa. Etiam bibendum posuere elit, sit amet -tristique leo blandit sed. - -Pellentesque molestie laoreet gravida. Curabitur egestas mollis libero, in -posuere turpis malesuada at. Donec egestas nunc sed justo eleifend -tincidunt. Vestibulum dignissim lobortis nisl, quis gravida tortor pulvinar -id. In ac nisi metus, in varius felis. Morbi semper aliquam turpis sed -vehicula. Nam neque libero, condimentum sed gravida ut, egestas ut nibh. -Lorem ipsum dolor sit amet, consectetur adipiscing elit. - -\subsection{Un autre sous-titre} - -Sed lacus mi, aliquet et elementum id, tincidunt in leo. Donec id ligula -erat, sit amet condimentum justo. Aliquam mi risus, molestie quis egestas -id, consequat nec erat. Aenean hendrerit augue quis massa consequat eu -ultricies lorem tincidunt. Lorem ipsum dolor sit amet, consectetur -adipiscing elit. Donec ornare ligula quis nunc tincidunt euismod. Phasellus -eget mi elit. Suspendisse neque est, placerat ac tincidunt ut, dapibus non -ante. Morbi varius, orci sed interdum euismod, risus purus dapibus magna, -non convallis augue augue eget elit. Duis ut feugiat massa. Duis at nunc non -lacus rhoncus porta vitae vel felis. Etiam eu euismod libero. Vestibulum -ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; -Fusce facilisis dui eu augue ultrices non venenatis lectus viverra. - -\section{Une seconde section} - -Curabitur quis arcu urna, sed laoreet magna. Proin ut sollicitudin arcu. -Suspendisse rhoncus, mauris sit amet lacinia interdum, justo erat auctor -nisi, at eleifend orci neque id ipsum. Aliquam rutrum accumsan dolor, sit -amet elementum mauris gravida vel. In hac habitasse platea dictumst. Mauris -sit amet diam velit, non rhoncus lorem. Suspendisse pulvinar, dolor a tempor -cursus, nibh nisl tincidunt augue, non aliquet mauris enim vitae massa. -Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere -cubilia Curae; Suspendisse potenti. Nullam rutrum, dolor quis molestie -sollicitudin, ipsum orci condimentum nibh, nec tincidunt sem nisi eget leo. -Ut porta metus neque, id tincidunt est. Phasellus mollis porta euismod. - -\[ - \sum_{i=0}^n i = \frac{n(n+1)}{2} -\] - -Morbi pellentesque, urna in gravida porta, neque nisl imperdiet lorem, at -molestie lacus dolor aliquam eros. Duis vel interdum ante. Aenean dignissim, -dolor sed accumsan vulputate, elit ipsum mollis mauris, ultricies cursus -lorem enim sit amet elit. Suspendisse congue dolor vel urna semper at mattis -leo cursus. Phasellus cursus, odio ut gravida auctor, nisi lacus iaculis -erat, in interdum elit dolor et est. Nunc eleifend ullamcorper erat, lacinia -suscipit augue luctus vel. Etiam quis nisl vel turpis sodales bibendum vitae -ac velit. Pellentesque accumsan lacus massa. Nunc sollicitudin massa -adipiscing neque placerat vestibulum. - -\subsection{Un sous-titre} - -Quisque a lorem sit amet diam sollicitudin lobortis vitae ac massa. Mauris -id eros sed enim egestas eleifend at vel nunc. Vivamus risus erat, pretium -quis convallis sit amet, pellentesque id sem. Cras massa metus, luctus eu -molestie adipiscing, condimentum sit amet mauris. Sed euismod consectetur -blandit. Nunc et nunc sed nunc tempor aliquam. Class aptent taciti sociosqu -ad litora torquent per conubia nostra, per inceptos himenaeos. Vestibulum -rhoncus feugiat orci, non venenatis mauris lobortis quis. Aenean -sollicitudin tempor diam, at feugiat leo adipiscing ut. Vivamus fermentum -semper diam vitae ultrices. Nulla consequat ullamcorper nulla ac consequat. - -\subsection{Un dernier sous-titre} - -Duis sed augue et sem tempus tempor. Fusce ut bibendum diam. In orci tellus, -porttitor ut euismod porttitor, lacinia in lacus. Aenean augue sem, porta -eget ultricies id, ornare a purus. Nulla facilisi. Donec non dignissim -purus. Nam arcu velit, placerat ut convallis at, laoreet nec sem. Phasellus -ac nisl et tellus adipiscing varius. Phasellus consequat tristique est, at -mattis magna ullamcorper at. Donec bibendum, arcu ac scelerisque vulputate, -massa erat porta sapien, a iaculis erat ligula aliquam ligula. Nam eget elit -lacus. Donec vel arcu ut dolor consequat pretium. Suspendisse gravida -vestibulum arcu, sit amet viverra sem feugiat consequat. Aliquam ultrices -gravida condimentum. Sed turpis magna, blandit in porttitor quis, interdum -eu erat. - -Etiam tincidunt arcu sed nulla adipiscing vel tempus erat luctus. Nulla -convallis hendrerit feugiat. Curabitur et vehicula ante. Mauris mattis enim -et lorem consectetur venenatis sollicitudin sapien pharetra. Nulla dictum -mattis tincidunt. Nullam urna ipsum, aliquet consequat semper eu, vestibulum -at dolor. Morbi libero tellus, dignissim ut elementum a, rutrum nec lacus. -Pellentesque id venenatis turpis. Pellentesque habitant morbi tristique -senectus et netus et malesuada fames ac turpis egestas. Nunc rutrum mollis -sodales. Cum sociis natoque penatibus et magnis dis parturient montes, -nascetur ridiculus mus. Fusce urna ante, facilisis sit amet posuere vitae, -interdum quis felis. Quisque sollicitudin, urna et vestibulum feugiat, elit -lectus egestas tellus, a ultrices nulla tellus mattis mi. Vivamus id tellus -ac quam aliquet vestibulum vehicula non dui. diff --git a/chapter1-introduction/chapter.tex b/chapter1-introduction/chapter.tex new file mode 100644 index 0000000..3d60aa1 --- /dev/null +++ b/chapter1-introduction/chapter.tex @@ -0,0 +1,3 @@ +\graphicspath{{chapter1-introduction/images/}} +\chapter{Introduction} +\label{sec:introduction} \ No newline at end of file diff --git a/chapter1-introduction/images/README.md b/chapter1-introduction/images/README.md new file mode 100644 index 0000000..d488ec0 --- /dev/null +++ b/chapter1-introduction/images/README.md @@ -0,0 +1 @@ +Add your chapter images here \ No newline at end of file diff --git a/chapter2-background/chapter.tex b/chapter2-background/chapter.tex new file mode 100644 index 0000000..4e9c76f --- /dev/null +++ b/chapter2-background/chapter.tex @@ -0,0 +1,3 @@ +\graphicspath{{chapter2-background/images/}} +\chapter{Contexte} +\label{sec:background} \ No newline at end of file diff --git a/chapter2-background/images/README.md b/chapter2-background/images/README.md new file mode 100644 index 0000000..d488ec0 --- /dev/null +++ b/chapter2-background/images/README.md @@ -0,0 +1 @@ +Add your chapter images here \ No newline at end of file diff --git a/conclusion.tex b/conclusion.tex deleted file mode 100644 index a588438..0000000 --- a/conclusion.tex +++ /dev/null @@ -1,20 +0,0 @@ -%% La conclusion n'est pas numérotée -\chapter*{Conclusion} - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean ac -ullamcorper mi. Vivamus non turpis odio. Cras vel mauris mauris. Vivamus -augue justo, fringilla vitae placerat a, rutrum placerat mi. Mauris in -ligula in velit aliquam sodales eu ac est. Phasellus elementum interdum -lectus id congue. Nullam eget rutrum augue. - -Quisque ut tellus nulla. Phasellus ut turpis quis erat semper pharetra. -Donec consectetur vehicula dui id pretium. In et massa lectus. Nulla mattis -pulvinar convallis. Etiam at odio velit. Phasellus eleifend, neque vel -euismod rutrum, turpis orci gravida velit, vel placerat arcu lectus quis -nisl. Vivamus vel mauris justo. Donec facilisis facilisis sem, in vestibulum -quam imperdiet eget. Sed tortor justo, adipiscing a tincidunt at, pharetra -vitae felis. Ut quis orci leo, id suscipit leo. Maecenas tincidunt lectus et -risus tempus non tristique libero tempor. In arcu sapien, suscipit ac tempor -eu, venenatis ut tellus. Nullam metus felis, tempor id scelerisque tempor, -fermentum non nisl. Nulla viverra ultricies neque sit amet facilisis. - diff --git a/introduction.tex b/introduction.tex deleted file mode 100644 index 3a5f405..0000000 --- a/introduction.tex +++ /dev/null @@ -1,38 +0,0 @@ -%% L'introduction n'est pas numérotée mais elle apparaît dans la table -%% des matières -\chapter*{Introduction} - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean ac -ullamcorper mi. Vivamus non turpis odio. Cras vel mauris mauris. Vivamus -augue justo, fringilla vitae placerat a, rutrum placerat mi. Mauris in -ligula in velit aliquam sodales eu ac est. Phasellus elementum interdum -lectus id congue. Nullam eget rutrum augue. - -Quisque ut tellus nulla. Phasellus ut turpis quis erat semper pharetra. -Donec consectetur vehicula dui id pretium. In et massa lectus. Nulla mattis -pulvinar convallis. Etiam at odio velit. Phasellus eleifend, neque vel -euismod rutrum, turpis orci gravida velit, vel placerat arcu lectus quis -nisl. Vivamus vel mauris justo. Donec facilisis facilisis sem, in vestibulum -quam imperdiet eget. Sed tortor justo, adipiscing a tincidunt at, pharetra -vitae felis. Ut quis orci leo, id suscipit leo. Maecenas tincidunt lectus et -risus tempus non tristique libero tempor. In arcu sapien, suscipit ac tempor -eu, venenatis ut tellus. Nullam metus felis, tempor id scelerisque tempor, -fermentum non nisl. Nulla viverra ultricies neque sit amet facilisis. - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean ac -ullamcorper mi. Vivamus non turpis odio. Cras vel mauris mauris. Vivamus -augue justo, fringilla vitae placerat a, rutrum placerat mi. Mauris in -ligula in velit aliquam sodales eu ac est. Phasellus elementum interdum -lectus id congue. Nullam eget rutrum augue. - -Quisque ut tellus nulla. Phasellus ut turpis quis erat semper pharetra. -Donec consectetur vehicula dui id pretium. In et massa lectus. Nulla mattis -pulvinar convallis. Etiam at odio velit. Phasellus eleifend, neque vel -euismod rutrum, turpis orci gravida velit, vel placerat arcu lectus quis -nisl. Vivamus vel mauris justo. Donec facilisis facilisis sem, in vestibulum -quam imperdiet eget. Sed tortor justo, adipiscing a tincidunt at, pharetra -vitae felis. Ut quis orci leo, id suscipit leo. Maecenas tincidunt lectus et -risus tempus non tristique libero tempor. In arcu sapien, suscipit ac tempor -eu, venenatis ut tellus. Nullam metus felis, tempor id scelerisque tempor, -fermentum non nisl. Nulla viverra ultricies neque sit amet facilisis. - diff --git a/uqac-these.cls b/uqac-these.cls index f20d70c..219a010 100644 --- a/uqac-these.cls +++ b/uqac-these.cls @@ -1,6 +1,10 @@ %% -------------------------------------------------------------------------- -%% Classe essai/mémoire/thèse UQAC +%% This is an adaptation of: +%% http://www.labmath.uqam.ca/presentation-de-la-classe-memoireuqam1-3/telecharger-la-classe-memoireuqam-1-3/ +%% And: +%% https://github.com/sylvainhalle/uqac-these %% +%% All UQAC current rules are applied to this template (2021/04) %% uqac-these.cls %% Copyright 2012-2018 Sylvain Hallé %% @@ -66,7 +70,7 @@ \DeclareOption{essai}{% \def\@uqacpdcessai{true} } -\def\@uqacpdcmemoire{false} %% Mémoire +\def\@uqacpdcmemoire{true} %% Mémoire \DeclareOption{memoire}{% \def\@uqacpdcmemoire{true} } @@ -78,7 +82,7 @@ \DeclareOption{propositionprojet}{% \def\@uqacpdcproposition{true} } -\def\@uqacpdcthese{true} %% Thèse = valeur par défaut +\def\@uqacpdcthese{false} %% Thèse = valeur par défaut \DeclareOption{these}{% \def\@uqacpdcthese{true} } @@ -182,22 +186,22 @@ %% En français: les paragraphes n'ont pas d'alinéa et sont séparés %% par une ligne vide %% ------------------------ -\setlength{\parindent}{0pt} -\setlength{\parskip}{10pt} +\setlength{\parindent}{40pt} +\setlength{\parskip}{15pt} %% ------------------------ %% Marges de la page et interligne %% ------------------------ -\geometry{hmargin={3.5cm,2.5cm},vmargin={3.4cm,3cm}} +\geometry{hmargin={2.5cm,2.5cm},vmargin={3.4cm,3.4cm}} %% ------------------------ %% Style de la page %% ------------------------ -\fancyhead[LO,RE]{} -\fancyhead[RO,LE]{\thepage} +\fancyhead{} \renewcommand{\footrulewidth}{0pt} \renewcommand{\headrulewidth}{0pt} \fancyfoot{} +\fancyfoot[R]{\thepage} \pagestyle{fancy} %% On redéfinit le style plain pour ne pas avoir de numéros de page %% à la première page des chapitres @@ -251,23 +255,13 @@ \captionsetup[table]{name=Tableau} \renewcommand{\captionfont}{\normalfont\small\bfseries} -%% ------------------------ -%% Style de la table des matières -%% ------------------------ -\renewcommand{\cfttoctitlefont}{\hfill\normalfont\bfseries\MakeUppercase} -\renewcommand{\cftaftertoctitle}{\hfill} -\renewcommand{\cftloftitlefont}{\hfill\normalfont\bfseries\MakeUppercase} -\renewcommand{\cftafterloftitle}{\hfill} -\renewcommand{\cftlottitlefont}{\hfill\normalfont\bfseries\MakeUppercase} -\renewcommand{\cftafterlottitle}{\hfill} +% Add dots to all sections, including i, ii, ... +\renewcommand{\cftpartleader}{\cftdotfill{\cftdotsep}} +\renewcommand{\cftchapleader}{\cftdotfill{\cftdotsep}} +\renewcommand{\cftsecleader}{\cftdotfill{\cftdotsep}} -\setcounter{tocdepth}{1} -\renewcommand{\cftchapfont}{\normalfont\bfseries} -%% ------------------------ -%% Style de la page couverture -%% ------------------------ -\renewcommand{\maketitle}{% +\renewcommand{\maketitle}{ \begin{titlepage} \begin{center} \begin{spacing}{2} @@ -275,25 +269,23 @@ \vfill -\textbf{\MakeTextUppercase{\@uqacpdcnomdoc{}}}\\ -\MakeTextUppercase{présenté\@uqacpdcaccord{} à}\\ -\MakeTextUppercase{l'Université du Québec à Chicoutimi}\\ -\MakeTextUppercase{comme exigence partielle}\\ -\MakeTextUppercase{\@uqacpdcnomprogramme}\\ +\textbf{\@title} \vfill -\textbf{\MakeTextUppercase{par}}\\ -\MakeTextUppercase{\@author} \\ -%B.A.A. +\textbf{par \@author} \vfill -\textbf{\MakeTextUppercase{\@title}} +\textbf{\@uqacpdcnomdoc{} présenté à l’Université du Québec à Chicoutimi +eu vue de l'obtention du grade de Maître ès Sciences en Informatique} +\linebreak +\linebreak +Québec, Canada \vfill -\MakeTextUppercase{\@date} +\textbf{© \MakeTextUppercase{\@author}, \UqacTheseDate{}} \end{spacing} \end{center} \end{titlepage} diff --git a/uqac.bst b/uqac.bst new file mode 100644 index 0000000..a10848d --- /dev/null +++ b/uqac.bst @@ -0,0 +1,1507 @@ +% +% This file is an adaptation of: +% http://www.labmath.uqam.ca/presentation-de-la-classe-memoireuqam1-3/telecharger-la-classe-memoireuqam-1-3/ +% +% Not all types are tested. +% + +ENTRY + { address + author + booktitle + chapter + doi + edition + editor + howpublished + institution + journal + key + lastaccessed +% month not used in apalike + note + number + organization + pages + publisher + school + series + support + title + type + url + urldate % ajout G.L. 2/11/2016 + volume + year + } + {} + { label extra.label sort.label } +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% +%% C'est ici que je definis les "traductions". Normalement, y a +%% que ca a changer pour franciser le style... +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +FUNCTION{fr.and}{ %% le "et" entre les deux derniers auteurs +" \& " +} + +FUNCTION{fr.editeur}{ %% ", \'editeur" au singulier, ou " (\'editeur)"... +" (dir.)" +} + +FUNCTION{fr.editeurs}{ %% ", \'editeurs" au pluriel, ou " (\'editeurs)"... +" (dir.)" +} + +FUNCTION{fr.et.al}{ %% " et~al." +" \emph{et~al.}" +} + +FUNCTION{fr.in}{ %% "Dans " +"Dans " +} + +FUNCTION{fr.in.spc}{ %% " de " (ou " de la s\'erie ") +" de " +} + +FUNCTION{fr.of}{ %% " de " +" de " +} + +FUNCTION{fr.number}{ %% "num{\'e}ro " +"num\'ero " +} + +FUNCTION{fr.number.maj}{ %% "Num\'ero " +"Num\'ero " +} + +FUNCTION{fr.volume}{ %% "volume" +"volume" +} + +FUNCTION{fr.volume.maj}{ %% "Volume" +"Volume" +} + +FUNCTION{fr.edition}{ %% " \'edition" +"éd." +} + +FUNCTION{fr.pages}{ %% "pages" +"" +} + +FUNCTION{fr.page}{ %% "page" +"pp.~" +} + +FUNCTION{fr.chapter}{ %% "chapitre" +"chapitre" +} + +FUNCTION{fr.tech.rep}{ %% "Rapport Technique" +"Rapport technique" +} + +FUNCTION{fr.master}{ %% "M\'emoire de maîtrise." +"(M\'emoire de ma\^itrise)" +} + +FUNCTION{fr.phd}{ %% "Th\`ese de doctorat" +"(Th\`ese de doctorat)" +} + +FUNCTION{sans.date}{ %% "sans date" +"s.d." +} + +STRINGS { urlintro doiprefix doiurl } + +FUNCTION{init.variables} +{ + "Rep\'er\'e" 'urlintro := % prefix before URL; typically "Available from:" or "URL": + "http://dx.doi.org/" 'doiurl := % prefix to make URL from DOI + "doi:" 'doiprefix := % text prefix printed before DOI ref; typically "doi:" +} + +MACRO {jan} {"janvier"} +MACRO {feb} {"f\'evrier"} +MACRO {mar} {"mars"} +MACRO {apr} {"avril"} +MACRO {may} {"mai"} +MACRO {jun} {"juin"} +MACRO {jul} {"juillet"} +MACRO {aug} {"ao\^ut"} +MACRO {sep} {"septembre"} +MACRO {oct} {"octobre"} +MACRO {nov} {"novembre"} +MACRO {dec} {"d\'ecembre"} + +INTEGERS { output.state before.all mid.sentence after.sentence after.block } + +FUNCTION {init.state.consts} +{ #0 'before.all := + #1 'mid.sentence := + #2 'after.sentence := + #3 'after.block := +} + +STRINGS { s t } + +FUNCTION {output.nonnull} +{ 's := + output.state mid.sentence = + { ", " * write$ } + { output.state after.block = + { add.period$ write$ + newline$ + "\newblock " write$ + } + { output.state before.all = + 'write$ + { add.period$ " " * write$ } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} + +FUNCTION {eho.special.output.nonnull} +{ 's := + output.state mid.sentence = + { " " * write$ } + { output.state after.block = + { % add.period$ write$ + ": " write$ + newline$ + "\newblock " write$ + } + { output.state before.all = + 'write$ + { % add.period$ " " * write$ + ": " * write$ + } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} + +FUNCTION {eho.special.output} +{ duplicate$ empty$ + 'pop$ + 'eho.special.output.nonnull + if$ +} + +%% Added by Eric Ho on Wed Jan 10 20:13:56 1990 +%% A special patch for output.nonnull in book environment. + +FUNCTION {eho.output.nonnull} +{ 's := + output.state mid.sentence = + { ": " * write$ } + { output.state after.block = + { add.period$ write$ + newline$ + "\newblock " write$ + } + { output.state before.all = + 'write$ + { add.period$ " " * write$ } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} + +FUNCTION {output.nonnull.point} +{ 's := + output.state mid.sentence = + { ". " * write$ } + { output.state after.block = + { add.period$ write$ + newline$ + "\newblock " write$ + } + { output.state before.all = + 'write$ + { add.period$ " " * write$ } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} + +FUNCTION {output} +{ duplicate$ empty$ + 'pop$ + 'output.nonnull + if$ +} + +%% Added by Eric Ho on Wed Jan 10 20:13:56 1990 +%% A special patch for output in book environment. + +FUNCTION {eho.output} +{ duplicate$ empty$ + 'pop$ + 'eho.output.nonnull + if$ +} + +FUNCTION {output.point} +{ duplicate$ empty$ + 'pop$ + 'output.nonnull.point + if$ +} + +FUNCTION {output.check} +{ 't := + duplicate$ empty$ + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull + if$ +} + +%% Added by Eric Ho on Wed Jan 10 20:13:56 1990 +%% A special patch for output.check in book environment. + +FUNCTION {eho.output.check} +{ 't := + duplicate$ empty$ + { pop$ "empty " t * " in " * cite$ * warning$ } + 'eho.output.nonnull + if$ +} + +% apalike needs this function because +% the year has special punctuation; +% apalike ignores the month +FUNCTION {output.year.check} +{ year empty$ + { "empty year in " cite$ * warning$ } + { write$ + year sans.date = %UQAM G.L. 28/08/2013 + { % + " [" sans.date * "]" * % + } % + { + " (" year * extra.label * ")" * + } + if$ + mid.sentence 'output.state := + } + if$ +} + +FUNCTION {output.bibitem} +{ newline$ + "\bibitem[" write$ + label write$ + "]{" write$ + cite$ write$ + "}" write$ + newline$ + "" + before.all 'output.state := +} + +FUNCTION {not} +{ { #0 } + { #1 } + if$ +} + +FUNCTION {and} +{ 'skip$ + { pop$ #0 } + if$ +} + +FUNCTION {or} +{ { pop$ #1 } + 'skip$ + if$ +} + +FUNCTION {fin.entry} +{doi empty$ %UQAM G.L. 28/08/2013 + url empty$ % + and % + {add.period$} + {skip$} + if$ + write$ + newline$ +} + +FUNCTION {new.block} +{ output.state before.all = + 'skip$ + { after.block 'output.state := } + if$ +} + +FUNCTION {new.sentence} +{ output.state after.block = + 'skip$ + { output.state before.all = + 'skip$ + { after.sentence 'output.state := } + if$ + } + if$ +} + + + +FUNCTION {new.block.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.block + if$ +} + +FUNCTION {field.or.null} +{ duplicate$ empty$ + { pop$ "" } + 'skip$ + if$ +} + +FUNCTION {emphasize} +{ duplicate$ empty$ + { pop$ "" } + { "{\em " swap$ * "}" * } + if$ +} + +INTEGERS { nameptr namesleft numnames } + +FUNCTION {format.names} +{ 's := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr "{vv~}{ll}{, jj}{, f.}" format.name$ 't := % last name first + nameptr #1 > + { namesleft #1 > + { ", " * t * } + { numnames #2 = %UQAM pas de virgule devant "et" s'il reste 2 auteurs G.L. 03/09/2013 + { " " * } %UQAM G.L. 03/09/2013 + 'skip$ + if$ + t "others" = + { fr.et.al * } %UQAM G.L. 28/08/2013 + { fr.and * t * } % + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +%% Added by Fri Jan 12 19:03:22 1990 on Fri Jan 12 19:03:27 1990 +%% Mainly to make sure that editors have initials before last names. + +FUNCTION {eho.format.names} +{ 's := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr "{f.} {vv~}{ll}{, jj}" format.name$ 't := %% initials first. + nameptr #1 > + { namesleft #1 > + { ", " * t * } + { numnames #2 > + { "," * } + 'skip$ + if$ + t "others" = + { fr.et.al * } %UQAM G.L. 28/08/2013 + { fr.and * t * } % changed from " and " for names -- BJR 10/5/89 + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {format.authors} +{ author empty$ + { "" } + { author format.names } + if$ +} + +FUNCTION {format.key} % this function is just for apalike +{ empty$ + { key field.or.null } + { "" } + if$ +} + +FUNCTION {format.editors} +{ editor empty$ + { "" } + { editor format.names + editor num.names$ #1 > + { fr.editeurs * } %UQAM G.L. 28/08/2013 + { fr.editeur * } %UQAM G.L. 28/08/2013 + if$ + } + if$ +} + +FUNCTION {format.publisher} +{ publisher empty$ + { "" } + { ": " publisher } + if$ * * +} + +%% Added by Eric Ho Fri Jan 12 19:11:12 1990 +%% Mainly to call eho.format.names instead of format.names and +%% to make Eds or Ed to be surrounded by pararentheses instead of preceeded by +%% a comma. + +FUNCTION {eho.format.editors} +{ editor empty$ + { "" } + { editor eho.format.names + editor num.names$ #1 > + { fr.editeurs * } %UQAM G.L. 28/08/2013 + { fr.editeur * } %UQAM G.L. 28/08/2013 + if$ + } + if$ +} + + +FUNCTION {format.doi} +{ + doi empty$ + { "" } + {doiprefix doi} + if$ * +} + +FUNCTION {format.url} +{ url empty$ + { "" } + { urlintro + lastaccessed empty$ + { "there is url but no lastaccessed in " cite$ * warning$ } + { + "~le " * lastaccessed * + } + if$ + %" à \url{" * url * "}" * } + " à " * url * } + if$ +} + + +FUNCTION {format.support} +{ support empty$ + { "" } + { " [" support * "]" *} + if$ +} + +FUNCTION {format.title} +{ title empty$ + { "" } + { title "t" change.case$ } + if$ +} + +FUNCTION {n.dashify} +{ 't := + "" + { t empty$ not } + { t #1 #1 substring$ "-" = + { t #1 #2 substring$ "--" = not + { "--" * + t #2 global.max$ substring$ 't := + } + { { t #1 #1 substring$ "-" = } + { "-" * + t #2 global.max$ substring$ 't := + } + while$ + } + if$ + } + { t #1 #1 substring$ * + t #2 global.max$ substring$ 't := + } + if$ + } + while$ +} + +FUNCTION {format.btitle} +{ title emphasize +} + +FUNCTION {tie.or.space.connect} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ * * +} + + +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} + +FUNCTION {format.bvolume} +{ volume empty$ + { "" } + { fr.volume volume tie.or.space.connect %UQAM G.L. 28/08/2013 + series empty$ + 'skip$ + { fr.of * series emphasize * } %UQAM G.L. 28/08/2013 + if$ + "volume and number" number either.or.check + } + if$ +} + +FUNCTION {format.number.series} +{ volume empty$ + { number empty$ + { series field.or.null } + { output.state mid.sentence = + { fr.number } %UQAM G.L. 28/08/2013 + { fr.number.maj } %UQAM G.L. 28/08/2013 + if$ + number tie.or.space.connect + series empty$ + { "there's a number but no series in " cite$ * warning$ } + { fr.in.spc * series * } %UQAM G.L. 28/08/2013 + if$ + } + if$ + } + { "" } + if$ +} + +FUNCTION {format.edition} +{ edition empty$ + { "" } + { output.state mid.sentence = + { " (" edition "l" change.case$ * " " * fr.edition * ")" * } %UQAM G.L. 28/08/2013 + { " (" edition "t" change.case$ * " " * fr.edition * ")" * } %UQAM G.L. 28/08/2013 + if$ * + } + if$ +} + +FUNCTION {format.book.edition} +{ edition empty$ + { "" } + { output.state mid.sentence = + { " (" edition "l" change.case$ * " " * fr.edition * ", pp. " * format.pages pages * ")" } + { " (" edition "t" change.case$ * " " * fr.edition * ", pp. " * format.pages pages * ")" } + if$ * + } + if$ +} + +INTEGERS { multiresult } + +FUNCTION {multi.page.check} +{ 't := + #0 'multiresult := + { multiresult not + t empty$ not + and + } + { t #1 #1 substring$ + duplicate$ "-" = + swap$ duplicate$ "," = + swap$ "+" = + or or + { #1 'multiresult := } + { t #2 global.max$ substring$ 't := } + if$ + } + while$ + multiresult +} + +FUNCTION {format.pages} +{ pages empty$ + { "" } + { pages multi.page.check + { fr.pages pages n.dashify tie.or.space.connect } %UQAM G.L. 28/08/2013 + { fr.page pages tie.or.space.connect } %UQAM G.L. 28/08/2013 + if$ + "." * %UQAM retirer ")" G.L. 28/08/2013 + } + if$ +} + +FUNCTION {format.pages.inbook} %UQAM G.L. 02/06/2015 +% +{ pages empty$ + { "" } + { pages multi.page.check + { " (" fr.page * pages n.dashify tie.or.space.connect ")" } + { " (" fr.page * pages tie.or.space.connect ")" } + if$ + * * " " + } + if$ +} + +FUNCTION {format.vol.num.pages} +{ volume emphasize field.or.null %UQAM Vol en italique G.L. 28/08/2013 + number empty$ + 'skip$ + { "(" number * ")" * * + volume empty$ + { "there's a number but no volume in " cite$ * warning$ } + 'skip$ + if$ + } + if$ + pages empty$ + 'skip$ + { duplicate$ empty$ + { pop$ format.pages } + { ", " * pages n.dashify * } % changed from ":" for vol,pgs -- BJR 10/5/89 + if$ + } + if$ +} + +FUNCTION {format.chapter.pages} +{ chapter empty$ + 'format.pages + { type empty$ + { fr.chapter } %UQAM G.L. 28/08/2013 + { type "l" change.case$ } + if$ + chapter tie.or.space.connect + pages empty$ + 'skip$ + { ", " * format.pages * } + if$ + } + if$ +} + +FUNCTION {format.in.ed.booktitle} +{ booktitle empty$ + { "" } + { editor empty$ + { fr.in booktitle emphasize * } %UQAM G.L. 28/08/2013 + { fr.in eho.format.editors * ". " * booktitle emphasize * } %UQAM remplace "," par "." G.L. 28/08/2013 + if$ + } + if$ +} + +%% Added by Eric Ho Fri Jan 12 19:17:37 1990 +%% Primarily to call eho.format.editors instead of format.editors. + +FUNCTION {eho.format.in.ed.booktitle} +{ booktitle empty$ + { "" } + { editor empty$ + { "In " booktitle emphasize * } + { "In " eho.format.editors * ", " * booktitle emphasize * } + if$ + } + if$ +} + +FUNCTION {format.thesis.type} +{ + type empty$ + 'skip$ + { pop$ + "(" type "t" change.case$ * ")" * %UQAM ajout "(" ")" G.L. 28/08/2013 + } + if$ +} + +FUNCTION {format.tr.number} +{ type empty$ + { fr.tech.rep } %UQAM G.L. 28/08/2013 + 'type + if$ + number empty$ + { "t" change.case$ } + { number tie.or.space.connect } + if$ +} + +FUNCTION {format.article.crossref} +{ fr.in %UQAM terme francais G.L. 28/08/2013 + " \cite{" * crossref * "}" * +} + +FUNCTION {format.book.crossref} +{ volume empty$ + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ + fr.in %UQAM terme francais G.L. 28/08/2013 + } + { "Volume" volume tie.or.space.connect + fr.of * %UQAM terme francais G.L. 28/08/2013 + } + if$ + "\cite{" * crossref * "}" * % this is for apalike +} + +FUNCTION {format.incoll.inproc.crossref} +{ fr.in %UQAM terme francais G.L. 28/08/2013 + " \cite{" * crossref * "}" * +} + +FUNCTION {article} +{ output.bibitem + format.authors "author" output.check + author format.key output % special for + output.year.check % apalike + new.block + format.title "title" output.check + format.support output.point %UQAM ajout support G.L. 28/08/2013 + new.block + crossref missing$ + { journal emphasize "journal" output.check + format.vol.num.pages output + } + { format.article.crossref output.nonnull + format.pages output + } + if$ + new.block + note output + format.doi output %UQAM ajout doi G.L. 28/08/2013 + new.block + format.url output %UQAM ajout url G.L. 28/08/2013 + fin.entry +} + +%% Modified by Eric Ho on Wed Jan 10 20:30:11 1990 +%% Making it to call eho.output.check instead of output.check and eho.output +%% instead of output. + +FUNCTION {book} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check + editor format.key output + } + { + %UQAM ajout add.period$ dans le cas o l'auteur est un D.B. ou site web G.L. 03/09/2013 + format.authors add.period$ output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + output.year.check % special for apalike + new.block + format.btitle "title" output.check + %format.edition eho.special.output + format.book.edition output + %pages output + format.support output.point % UQAM ajout support G.L. 28/08/2013 + crossref missing$ + { format.bvolume output + new.block + format.number.series output + new.sentence + address eho.output % Using eho.output instead of output. + publisher "publisher" eho.output.check % Using eho.output.check + % instead of output.check. + } + { new.block + format.book.crossref output.nonnull + } + if$ + new.block + note output + %format.doi output %UQAM ajout doi G.L. 28/08/2013 + %new.block + %format.url output %UQAM ajout url G.L. 28/08/2013 + fin.entry +} + +FUNCTION {booklet} +{ output.bibitem + format.authors output + author format.key output % special for + output.year.check % apalike + new.block + format.title "title" output.check + new.block + howpublished output + address output + new.block + note output + format.doi output %UQAM ajout doi G.L. 28/08/2013 + new.block + format.url output %UQAM ajout url G.L. 28/08/2013 + + fin.entry +} + +FUNCTION {database} { book } + +FUNCTION {electronic} { book } + +%% Modified by Eric Ho on Wed Jan 10 20:27:26 1990 +%% Making it to call eho.output.check instead of output.check and eho.output +%% instead of output. + +FUNCTION {inbook} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check + editor format.key output + } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + output.year.check % special for apalike + new.block + format.btitle "title" output.check + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check % UQAM titre du livre 02/06/2015 + format.support output.point % UQAM ajout support apres titre G.L. 28/08/2013 + format.bvolume output + format.pages.inbook "chapter and pages" output.check %UQAM G.L. Mise en forme des pages 02/06/2015 + new.block + format.number.series output + new.sentence + publisher "publisher" eho.output.check % Using eho.output.check instead + % of output.check. + address eho.output % Using eho.output instead of output. + } + { format.chapter.pages "chapter and pages" output.check + new.block + format.book.crossref output.nonnull + } + if$ + format.edition output + new.block + note output + fin.entry +} + +%% Modified by Eric Ho on Wed Jan 10 20:27:26 1990 +%% Making it to call eho.output.check instead of output.check and eho.output +%% instead of output. Also modified by Eric Ho on Fri Jan 12 +%% 19:21:59 1990 so as to call eho.format.in.ed.booktitle instead of the old +%% format.in.ed.booktitle. + +FUNCTION {incollection} +{ output.bibitem + format.authors "author" output.check + author format.key output % special for + output.year.check % apalike + new.block + format.title "title" output.check + new.block + crossref missing$ + { eho.format.in.ed.booktitle "booktitle" output.check + % The above line is changed by Eric Ho on Fri Jan 12 + % 19:20:28 1990 so that it'll call eho.format.in.ed.booktitle instead + % of format.in.ed.booktitle. + + format.bvolume output + format.number.series output + format.chapter.pages eho.special.output + new.sentence +% publisher "publisher" output.check +% address output +% switched order of publisher and address for incollection -- BJR 1/3/90 + address eho.output % Use eho.output instead of output. + publisher "publisher" eho.output.check % Use eho.output.check instead + % of output.check. + format.edition output + } + { format.incoll.inproc.crossref output.nonnull + format.chapter.pages output + } + if$ + new.block + note output + fin.entry +} + +FUNCTION {inproceedings} +{ output.bibitem + format.authors "author" output.check + author format.key output % special for + output.year.check % apalike + new.block + format.title "title" output.check + new.block + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.support output.point % UQAM ajout support apres titre G.L. 28/08/2013 + format.bvolume output + format.number.series output + format.pages.inbook output + new.sentence + address output % for apalike + new.sentence % there's no year + organization output % here so things + %format.publisher output % are simpler + } + { format.incoll.inproc.crossref output.nonnull + format.pages output + } + if$ + new.block + note output + format.doi output % UQAM ajout doi G.L. 28/08/2013 + new.block + format.url output % UQAM ajout url G.L. 28/08/2013 + fin.entry +} + +FUNCTION {conference} { inproceedings } + +FUNCTION {manual} +{ output.bibitem + format.authors output + author format.key output % special for + output.year.check % apalike + new.block + format.btitle "title" output.check + organization address new.block.checkb + organization output + address output + format.edition output + new.block + note output + fin.entry +} + +FUNCTION {mastersthesis} +{ output.bibitem + format.authors "author" output.check + author format.key output % special for + output.year.check % apalike + new.block + format.btitle "title" output.check % UQAM Titre en italique G.L. 28/08/2013 + new.block + fr.master format.thesis.type output.nonnull % UQAM terme francais G.L. 28/08/2013 + format.support output.point % UQAM ajout support G.L. 28/08/2013 + new.block + school "school" output.check + address output + new.block + note output + format.doi output % UQAM ajout doi G.L. 28/08/2013 + new.block + format.url output % UQAM ajout url G.L. 28/08/2013 + fin.entry +} + +FUNCTION {misc} +{ output.bibitem + format.authors output + author format.key output % special for + output.year.check % apalike + new.block + format.title output + new.block + howpublished output + new.block + format.support output.point % UQAM support url G.L. 28/08/2013 + new.block + note output + format.doi output % UQAM ajout doi G.L. 28/08/2013 + new.block + format.url output % UQAM ajout url G.L. 28/08/2013 + fin.entry +} + +FUNCTION {online} +{ output.bibitem + format.authors output + author format.key output % special for + output.year.check % apalike + new.block + format.title output + new.block + howpublished output + new.block + format.support output.point % UQAM support url G.L. 28/08/2013 + new.block + note output + %format.doi output % UQAM ajout doi G.L. 28/08/2013 + new.block + format.url output % UQAM ajout url G.L. 28/08/2013 + fin.entry +} + +FUNCTION {phdthesis} +{ output.bibitem + format.authors "author" output.check + author format.key output % special for + output.year.check % apalike + new.block + format.btitle "title" output.check + new.block + fr.phd format.thesis.type output.nonnull % UQAM terme francais G.L. 28/08/2013 + format.support output.point % UQAM ajout support G.L. 28/08/2013 + new.block + school "school" output.check + address output + new.block + note output + format.doi output % UQAM ajout doi G.L. 28/08/2013 + new.block + format.url output % UQAM ajout url G.L. 28/08/2013 + fin.entry +} + +FUNCTION {proceedings} +{ output.bibitem + format.editors output + editor format.key output % special for + output.year.check % apalike + new.block + format.btitle "title" output.check + format.bvolume output + format.number.series output + address output % for apalike + new.sentence % we always output + organization output % a nonempty organization + publisher output % here + new.block + note output + format.doi output % UQAM ajout doi G.L. 28/08/2013 + new.block + format.url output % UQAM ajout url G.L. 28/08/2013 + fin.entry +} + +FUNCTION {software} { book } + + +FUNCTION {techreport} +{ output.bibitem + format.authors "author" output.check + author format.key output % special for + output.year.check % apalike + new.block +% format.title "title" output.check + format.btitle "title" output.check % change to ital title -- BJR + new.block + format.tr.number output.nonnull + institution "institution" output.check + address output + new.block + note output + fin.entry +} + +FUNCTION {unpublished} +{ output.bibitem + format.authors "author" output.check + author format.key output % special for + output.year.check % apalike + new.block + format.title "title" output.check + new.block + note "note" output.check + fin.entry +} + +FUNCTION {webpage} { book } + +FUNCTION {default.type} { misc } + +MACRO {acmcs} {"ACM Computing Surveys"} + +MACRO {acta} {"Acta Informatica"} + +MACRO {cacm} {"Communications of the ACM"} + +MACRO {ibmjrd} {"IBM Journal of Research and Development"} + +MACRO {ibmsj} {"IBM Systems Journal"} + +MACRO {ieeese} {"IEEE Transactions on Software Engineering"} + +MACRO {ieeetc} {"IEEE Transactions on Computers"} + +MACRO {ieeetcad} + {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"} + +MACRO {ipl} {"Information Processing Letters"} + +MACRO {jacm} {"Journal of the ACM"} + +MACRO {jcss} {"Journal of Computer and System Sciences"} + +MACRO {scp} {"Science of Computer Programming"} + +MACRO {sicomp} {"SIAM Journal on Computing"} + +MACRO {tocs} {"ACM Transactions on Computer Systems"} + +MACRO {tods} {"ACM Transactions on Database Systems"} + +MACRO {tog} {"ACM Transactions on Graphics"} + +MACRO {toms} {"ACM Transactions on Mathematical Software"} + +MACRO {toois} {"ACM Transactions on Office Information Systems"} + +MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"} + +MACRO {tcs} {"Theoretical Computer Science"} + +READ + +FUNCTION {sortify} +{ purify$ + "l" change.case$ +} + +INTEGERS { len } + +FUNCTION {chop.word} +{ 's := + 'len := + s #1 len substring$ = + { s len #1 + global.max$ substring$ } + 's + if$ +} + +% There are three apalike cases: one person (Jones), +% two (Jones and de~Bruijn), and more (Jones et~al.). +% This function is much like format.crossref.editors. +% +FUNCTION {format.lab.names} +{ 's := + s #1 "{vv~}{ll}" format.name$ + s num.names$ duplicate$ + #2 > + { pop$ fr.et.al * } % UQAM terme francais G.L. 28/08/2013 + { #2 < + 'skip$ + { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { fr.et.al * } % UQAM terme francais G.L. 28/08/2013 + { fr.and * s #2 "{vv~}{ll}" format.name$ * } % " and " -- BJR 10/5/89 + if$ + } + if$ + } + if$ +} + +FUNCTION {author.key.label} +{ author empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key % apalike uses the whole key + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {author.editor.key.label} +{ author empty$ + { editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key % apalike uses the whole key + if$ + } + { editor format.lab.names } + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {editor.key.label} +{ + editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key % apalike uses the whole key, no organization + if$ + } + { editor format.lab.names } + if$ + +} + + +FUNCTION {calc.label} +{ + type$ "book" = + type$ "inbook" = + or + 'author.editor.key.label + { type$ "proceedings" = + 'editor.key.label % apalike ignores organization + 'author.key.label + if$ + } + if$ + ", " % these three lines are + * % for apalike, which + year field.or.null purify$ #-1 #4 substring$ % uses all four digits + * + 'label := +} + +FUNCTION {sort.format.names} +{ 's := + #1 'nameptr := + "" + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { nameptr #1 > + { " " * } + 'skip$ + if$ % apalike uses initials + s nameptr "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" format.name$ 't := % <= here + nameptr numnames = t "others" = and + { fr.et.al * } % UQAM terme francais G.L. 28/08/2013 + { t sortify * } + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {sort.format.title} +{ 't := + "A " #2 + "An " #3 + "The " #4 t chop.word + chop.word + chop.word + sortify + #1 global.max$ substring$ +} + +FUNCTION {author.sort} +{ author empty$ + { key empty$ + { "to sort, need author or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {author.editor.sort} +{ author empty$ + { editor empty$ + { key empty$ + { "to sort, need author, editor, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ + } + { author sort.format.names } + if$ +} + + +FUNCTION {editor.sort} +{ + editor empty$ + { key empty$ + { "to sort, need editor or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ +} + +% apalike uses two sorting passes; the first one sets the +% labels so that the `a's, `b's, etc. can be computed; +% the second pass puts the references in "correct" order. +% The presort function is for the first pass. It computes +% label, sort.label, and title, and then concatenates. +FUNCTION {presort} +{ + calc.label + + label sortify + " " + * + type$ "book" = + type$ "inbook" = + or + 'author.editor.sort + { type$ "proceedings" = + 'editor.sort + 'author.sort + if$ + } + if$ + #1 entry.max$ substring$ % for + 'sort.label := % apalike + sort.label % style + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} + +ITERATE {presort} + +SORT % by label, sort.label, title---for final label calculation + +STRINGS { last.label next.extra } % apalike labels are only for the text; + +INTEGERS { last.extra.num } % there are none in the bibliography + +FUNCTION {initialize.extra.label.stuff} % and hence there is no `longest.label' +{ #0 int.to.chr$ 'last.label := + "" 'next.extra := + #0 'last.extra.num := +} + +FUNCTION {forward.pass} +{ last.label label = + { last.extra.num #1 + 'last.extra.num := + last.extra.num int.to.chr$ 'extra.label := + } + { "a" chr.to.int$ 'last.extra.num := + "" 'extra.label := + label 'last.label := + } + if$ +} + +FUNCTION {reverse.pass} +{ next.extra "b" = + { "a" 'extra.label := } + 'skip$ + if$ + label extra.label * 'label := + extra.label 'next.extra := +} + +EXECUTE {initialize.extra.label.stuff} + +ITERATE {forward.pass} + +REVERSE {reverse.pass} + +% Now that the label is right we sort for real, +% on sort.label then year then title. This is +% for the second sorting pass. +FUNCTION {bib.sort.order} +{ sort.label + " " + * + year field.or.null sortify + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} + +ITERATE {bib.sort.order} + +SORT % by sort.label, year, title---giving final bibliography order + +FUNCTION {begin.bib} +{ preamble$ empty$ % no \etalchar in apalike + 'skip$ + { preamble$ write$ newline$ } + if$ + "\begin{thebibliography}{}" write$ newline$ % no labels in apalike +} + +EXECUTE {begin.bib} +EXECUTE {init.variables} % urlbst UQAM initialisation francais G.L. 28/08/2013 +EXECUTE {init.state.consts} + +ITERATE {call.type$} + +FUNCTION {end.bib} +{ newline$ + "\end{thebibliography}" write$ newline$ +} + +EXECUTE {end.bib} diff --git a/uqac.tex b/uqac.tex new file mode 100644 index 0000000..77b597b --- /dev/null +++ b/uqac.tex @@ -0,0 +1,198 @@ +%% ----------------------------------------------------------------------- +%% Modèle de thèse/mémoire/essai UQAC +%% +%% Options de la classe: +%% - times: pour utiliser Times/Helvetica plutôt que Computer Modern +%% - these, memoire, essai, projetthese: crée une page titre libellée +%% "thèse" (resp. "mémoire", "essai", etc.) +%% - Toutes les options de la classe "book" +%% ----------------------------------------------------------------------- +\documentclass[times,oneside,these,hidelinks]{uqac-these} + +%% Pour utiliser les caractères accentués. Assurez-vous que +%% votre éditeur texte sauvegarde les fichiers en utilisant l'encodage UTF-8 +\usepackage[utf8]{inputenc} + +%% ------------------------ +%% Quelques définitions +%% ------------------------ + +%% Titre du document. Ne pas l'écrire tout en majuscules! +\newcommand{\UqacTheseTitre}{Évaluation de l’état de préparation des applications Android} + +%% Auteur du document +\newcommand{\UqacTheseAuteur}{Guilardi Demetrio} + +%% Date (mois année) du document +\newcommand{\UqacTheseDate}{2021} + +% Cette ligne évite une panoplie de warnings de pdflatex si on inclut +% des figures PDF récentes (version 1.6 et supérieures) +\pdfminorversion=7 + +% On ignore les warnings de pdflatex sur les "PDF page groups" +% (n'a aucun effet dans notre cas) +\pdfsuppresswarningpagegroup=1 + +%% ------------------------ +%% Packages usuels +%% ------------------------ + +%% Pour les citations de type (Auteur, année) plutôt que [numéro]. +%% Attention: la clé des références ne doit *pas* contenir le caractère ":" +%% (bug du package natbib) +\usepackage{natbib} +% \usepackage[backend=bibtex,style=authoryear,natbib=true]{biblatex} % Use the bibtex backend with the authoryear citation style (which resembles APA) + +%% Pour interligne simple dans les listes (table des matières, etc.) et +%% double dans le reste +\usepackage{setspace} + +%% Pour générer des PDF/A (le format demandé par l'UQAC lors du dépôt +%% final). Il est recommandé de décommenter cette ligne seulement pour +%% la production de l'ultime PDF du dépôt final. +%\usepackage[a-1b]{pdfx} + +%% Pour ajouter des méta-données PDF et des hyperliens +\usepackage{hyperref} + +%% Pour inclure des graphiques (via la commande \includegraphics) +\usepackage{graphicx} +\graphicspath{{fig/}} + +%% Pour inclure des listings de code source +\usepackage{listings} + +% Pour l'index +\makeindex + +%% ------------------------ +%% Création des méta-données PDF +%% ------------------------ +\makeatletter +\newcommand{\UqacTheseVersion}{\@uqactheseversion} +\makeatother +\hypersetup{% + pdfauthor = {\UqacTheseAuteur}, + pdftitle = {\UqacTheseTitre}, + pdfproducer = {Package uqac-these V\UqacTheseVersion} +} + + + +% custom packages +\usepackage{longtable} +\usepackage{enumitem} +\usepackage{float} +\usepackage{tcolorbox} +\usepackage[linesnumbered,ruled,vlined]{algorithm2e} +\usepackage{afterpage} + + + + +% custom commands +\newcommand{\toolname}{\textit{AndroidPropTracker} } +\newcommand{\buildgradle}{\textit{build\allowbreak.gradle} } +\newcommand{\manifest}{\textit{AndroidManifest\allowbreak.xml} } +\newcommand\blankpage{% + \null + \thispagestyle{empty}% + \addtocounter{page}{-1}% + \newpage} + + + +% configure algo package +\newcommand\mycommfont[1]{\footnotesize\ttfamily\textcolor{blue}{#1}} +\SetCommentSty{mycommfont} +\SetKwInput{KwInput}{Input} +\SetKwInput{KwOutput}{Output} + + +% configuration of Listing package +\definecolor{codegreen}{rgb}{0,0.6,0} +\definecolor{codegray}{rgb}{0.5,0.5,0.5} +\definecolor{codepurple}{rgb}{0.58,0,0.82} +\definecolor{backcolour}{rgb}{0.95,0.95,0.92} +\lstdefinestyle{mystyle}{ + backgroundcolor=\color{backcolour}, + commentstyle=\color{codegreen}, + keywordstyle=\color{magenta}, + numberstyle=\tiny\color{codegray}, + stringstyle=\color{codepurple}, + basicstyle=\ttfamily\footnotesize, + breakatwhitespace=false, + breaklines=true, + captionpos=b, + keepspaces=true, + numbers=left, + numbersep=5pt, + showspaces=false, + showstringspaces=false, + showtabs=false, + tabsize=2 +} +\lstset{style=mystyle} + +\begin{document} + +\afterpage{\blankpage} + +%% ------------------------ +%% Création de la page titre +%% ------------------------ +\title{\UqacTheseTitre} +\author{\UqacTheseAuteur} +\date{\UqacTheseDate} +\thispagestyle{empty} +\maketitle + +%% ------------------------ +%% Pages préliminaires +%% ------------------------ + +\frontmatter +\singlespacing +\include{resume} % <-- Ne pas effacer! Cette section est *obligatoire* à l'UQAC! +\cleardoublepage +\addcontentsline{toc}{chapter}{\contentsname} +\tableofcontents +\cleardoublepage +\addcontentsline{toc}{chapter}{\listfigurename} +\listoffigures +\cleardoublepage +\addcontentsline{toc}{chapter}{\listtablename} +\listoftables +\cleardoublepage +\addcontentsline{toc}{chapter}{\lstlistlistingname} +\lstlistoflistings + +%% ------------------------ +%% Document principal +%% ------------------------ + +\mainmatter +\doublespacing +\include{chapter1-introduction/chapter} +\include{chapter2-background/chapter} +% Add new chapters here + +%% ------------------------ +%% Pages liminaires +%% ------------------------ +\backmatter +%% Style des références bibliographiques +\bibliographystyle{uqac} + +%% Liste des fichiers source pour la bibliograhpie. +%% On peut inclure plus d'un fichier en séparant leurs noms par des +%% virgules. +\bibliography{biblio-articles, biblio-books, biblio-papers, biblio-sites} + +% \printbibliography + + +%% Décommenter cette ligne pour afficher l'index +% \printindex +\end{document} \ No newline at end of file