summaryrefslogtreecommitdiff
path: root/info/formation-latex-ul
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /info/formation-latex-ul
Initial commit
Diffstat (limited to 'info/formation-latex-ul')
-rw-r--r--info/formation-latex-ul/CONTRIBUTING.md47
-rw-r--r--info/formation-latex-ul/LICENSE427
-rw-r--r--info/formation-latex-ul/NEWS112
-rw-r--r--info/formation-latex-ul/README.md71
-rw-r--r--info/formation-latex-ul/doc/b-a-ba-math.tex57
-rw-r--r--info/formation-latex-ul/doc/console-screenshot.pdfbin0 -> 85081 bytes
-rw-r--r--info/formation-latex-ul/doc/emacs.tex49
-rw-r--r--info/formation-latex-ul/doc/exercice_classe+paquetages.tex31
-rw-r--r--info/formation-latex-ul/doc/exercice_commandes.tex24
-rw-r--r--info/formation-latex-ul/doc/exercice_complet.tex143
-rw-r--r--info/formation-latex-ul/doc/exercice_demo.tex1319
-rw-r--r--info/formation-latex-ul/doc/exercice_gabarit.tex14
-rw-r--r--info/formation-latex-ul/doc/exercice_include.tex28
-rw-r--r--info/formation-latex-ul/doc/exercice_mathematiques.tex76
-rw-r--r--info/formation-latex-ul/doc/exercice_minimal.tex19
-rw-r--r--info/formation-latex-ul/doc/exercice_parties.tex150
-rw-r--r--info/formation-latex-ul/doc/exercice_renvois.tex45
-rw-r--r--info/formation-latex-ul/doc/exercice_subcaption.tex47
-rw-r--r--info/formation-latex-ul/doc/exercice_trucs.tex102
-rw-r--r--info/formation-latex-ul/doc/exercice_ulthese.tex69
-rw-r--r--info/formation-latex-ul/doc/formation-latex-ul-diapos.pdfbin0 -> 1325892 bytes
l---------info/formation-latex-ul/doc/formation-latex-ul.bib1
-rw-r--r--info/formation-latex-ul/doc/formation-latex-ul.pdfbin0 -> 1616874 bytes
-rw-r--r--info/formation-latex-ul/doc/pagetitre.tex13
-rw-r--r--info/formation-latex-ul/doc/rpresentation.tex78
l---------info/formation-latex-ul/doc/ul_p.pdf1
-rw-r--r--info/formation-latex-ul/source/apparence-diapos.tex151
-rw-r--r--info/formation-latex-ul/source/apparence.tex576
-rw-r--r--info/formation-latex-ul/source/auxdoc/exemple-classe-article.pdfbin0 -> 15346 bytes
-rw-r--r--info/formation-latex-ul/source/auxdoc/exemple-classe-article.tex23
-rw-r--r--info/formation-latex-ul/source/auxdoc/exemple-classe-book.pdfbin0 -> 16639 bytes
-rw-r--r--info/formation-latex-ul/source/auxdoc/exemple-classe-book.tex23
-rw-r--r--info/formation-latex-ul/source/auxdoc/exemple-classe-report.pdfbin0 -> 13752 bytes
-rw-r--r--info/formation-latex-ul/source/auxdoc/exemple-classe-report.tex23
-rw-r--r--info/formation-latex-ul/source/auxdoc/exemple-renvoi-autoref.pdfbin0 -> 8053 bytes
-rw-r--r--info/formation-latex-ul/source/auxdoc/exemple-renvoi-autoref.tex24
-rw-r--r--info/formation-latex-ul/source/auxdoc/exemple-renvoi-hyperref.pdfbin0 -> 8057 bytes
-rw-r--r--info/formation-latex-ul/source/auxdoc/exemple-renvoi-hyperref.tex24
-rw-r--r--info/formation-latex-ul/source/auxdoc/exemple-renvoi.pdfbin0 -> 7712 bytes
-rw-r--r--info/formation-latex-ul/source/auxdoc/exemple-renvoi.tex23
-rw-r--r--info/formation-latex-ul/source/auxdoc/exemple-titre.pdfbin0 -> 19624 bytes
-rw-r--r--info/formation-latex-ul/source/auxdoc/exemple-titre.tex26
-rw-r--r--info/formation-latex-ul/source/auxdoc/exercice_commandes-solution.pdfbin0 -> 12597 bytes
-rw-r--r--info/formation-latex-ul/source/auxdoc/exercice_commandes-solution.tex31
-rw-r--r--info/formation-latex-ul/source/bases-diapos.tex169
-rw-r--r--info/formation-latex-ul/source/bases.tex1260
-rw-r--r--info/formation-latex-ul/source/bibliographie.tex879
-rw-r--r--info/formation-latex-ul/source/boites.tex496
-rw-r--r--info/formation-latex-ul/source/colophon-diapos.tex27
-rw-r--r--info/formation-latex-ul/source/colophon.tex36
-rw-r--r--info/formation-latex-ul/source/commandes.tex400
-rw-r--r--info/formation-latex-ul/source/couverture-arriere-diapos.tex35
-rw-r--r--info/formation-latex-ul/source/couverture-arriere.tex34
-rw-r--r--info/formation-latex-ul/source/couverture-avant-diapos.tex142
-rw-r--r--info/formation-latex-ul/source/couverture-avant.tex130
-rw-r--r--info/formation-latex-ul/source/formation-latex-ul-diapos.tex250
-rw-r--r--info/formation-latex-ul/source/formation-latex-ul.bib551
-rw-r--r--info/formation-latex-ul/source/formation-latex-ul.tex493
-rw-r--r--info/formation-latex-ul/source/francais.bst1739
-rw-r--r--info/formation-latex-ul/source/images/Meerkat_stare-diapos.jpgbin0 -> 452385 bytes
-rw-r--r--info/formation-latex-ul/source/images/Meerkat_stare.jpgbin0 -> 548678 bytes
-rw-r--r--info/formation-latex-ul/source/images/bibtex-texmaker.pngbin0 -> 25287 bytes
-rw-r--r--info/formation-latex-ul/source/images/bibtex-texshop.pngbin0 -> 20088 bytes
-rw-r--r--info/formation-latex-ul/source/images/by-sa.pdfbin0 -> 6761 bytes
-rw-r--r--info/formation-latex-ul/source/images/by.pdfbin0 -> 1605 bytes
-rw-r--r--info/formation-latex-ul/source/images/exemple-bibliographie-cropped-1.pdfbin0 -> 9441 bytes
-rw-r--r--info/formation-latex-ul/source/images/exemple-bibliographie-cropped-2.pdfbin0 -> 22292 bytes
-rw-r--r--info/formation-latex-ul/source/images/exemple-bibliographie-cropped-3.pdfbin0 -> 20997 bytes
-rw-r--r--info/formation-latex-ul/source/images/exercice_commandes-solution.pdfbin0 -> 12548 bytes
-rw-r--r--info/formation-latex-ul/source/images/formation-latex-ul.pngbin0 -> 778458 bytes
-rw-r--r--info/formation-latex-ul/source/images/knuth.jpgbin0 -> 50188 bytes
-rw-r--r--info/formation-latex-ul/source/images/ponctuation.pdfbin0 -> 13102 bytes
-rw-r--r--info/formation-latex-ul/source/images/sa.pdfbin0 -> 1732 bytes
-rw-r--r--info/formation-latex-ul/source/images/section-non-num.pdfbin0 -> 4788 bytes
-rw-r--r--info/formation-latex-ul/source/images/section-num.pdfbin0 -> 5124 bytes
-rw-r--r--info/formation-latex-ul/source/images/tdm-dans-pdf.pdfbin0 -> 167063 bytes
-rw-r--r--info/formation-latex-ul/source/images/ul_p.pdfbin0 -> 32140 bytes
-rw-r--r--info/formation-latex-ul/source/images/xyz-emph.pdfbin0 -> 4118 bytes
-rw-r--r--info/formation-latex-ul/source/images/xyz-math.pdfbin0 -> 3302 bytes
-rw-r--r--info/formation-latex-ul/source/introduction.tex170
-rw-r--r--info/formation-latex-ul/source/listings/exemple-bibliographie.bib16
-rw-r--r--info/formation-latex-ul/source/listings/exemple-bibliographie.tex20
-rw-r--r--info/formation-latex-ul/source/mathematiques-diapos.tex178
-rw-r--r--info/formation-latex-ul/source/mathematiques.tex2041
-rw-r--r--info/formation-latex-ul/source/notices-diapos.tex76
-rw-r--r--info/formation-latex-ul/source/notices.tex77
-rw-r--r--info/formation-latex-ul/source/organisation-diapos.tex154
-rw-r--r--info/formation-latex-ul/source/organisation.tex982
-rw-r--r--info/formation-latex-ul/source/prerequis-diapos.tex59
-rw-r--r--info/formation-latex-ul/source/presentation-diapos.tex182
-rw-r--r--info/formation-latex-ul/source/presentation.tex359
-rw-r--r--info/formation-latex-ul/source/solutions.tex30
-rw-r--r--info/formation-latex-ul/source/suite-diapos.tex42
-rw-r--r--info/formation-latex-ul/source/sweave-diapos.tex63
-rw-r--r--info/formation-latex-ul/source/tableaux+figures.tex1183
-rw-r--r--info/formation-latex-ul/source/tableaux-diapos.tex105
-rw-r--r--info/formation-latex-ul/source/trucs+astuces.tex989
-rw-r--r--info/formation-latex-ul/source/ulthese-diapos.tex57
-rw-r--r--info/formation-latex-ul/source/ulthese.tex59
99 files changed, 17330 insertions, 0 deletions
diff --git a/info/formation-latex-ul/CONTRIBUTING.md b/info/formation-latex-ul/CONTRIBUTING.md
new file mode 100644
index 0000000000..65baca10ac
--- /dev/null
+++ b/info/formation-latex-ul/CONTRIBUTING.md
@@ -0,0 +1,47 @@
+<!-- Emacs: -*- coding: utf-8; eval: (auto-fill-mode -1); eval: (visual-line-mode t) -*- -->
+
+# Collaborer au projet *Rédaction avec LaTeX*
+
+Le projet [Rédaction avec LaTeX](https://vigou3.gitlab.io/formation-latex-ul) est hébergé dans un [dépôt public GitLab](https://gitlab.com/vigou3/formation-latex-ul).
+
+La branche `master` du dépôt est réservée en écriture au gestionnaire du projet.
+
+Pour collaborer au projet, vous devez publier vos modifications dans une nouvelle branche et effectuer une demande de tirage (*pull request*) vers la branche `master`. La procédure à suivre à partir d'une interface en invite de commande (Git Bash sous Windows ou Terminal sous macOS) est la suivante.
+
+1. Si vous travaillez sur le code source pour la première fois, déplacez-vous avec la commande `cd` dans le répertoire dans lequel vous voulez enregistrer le code source du projet (le répertoire `formation-latex-ul` sera créé automatiquement), clonez le dépôt et déplacez-vous ensuite dans le dossier du code source.
+
+```
+git clone https://gitlab.com/vigou3/formation-latex-ul.git
+cd formation-latex-ul
+```
+
+**OU**
+
+1. Si vous avez déjà cloné le dépôt dans le passé et que vous voulez reprendre le travail sur le code source, déplacez-vous avec la commande `cd` dans le répertoire du code source, puis mettez à jour votre copie locale du dépôt depuis la branche `master`.
+
+```
+git checkout master
+git pull
+```
+
+2. Créez une branche (locale) pour vos modifications.
+
+```
+git checkout -b <nom_de_branche>
+```
+
+3. Effectuez maintenant vos modifications. Il y a un fichier par chapitre et son nom, avec une extension `.tex`, a un lien évident avec le titre du chapitre. N'effectuez des modifications que dans un seul fichier à la fois! Lorsque les modifications sont terminées, publiez le fichier modifié dans votre dépôt local avec un commentaire utile, mais bref, sur la nature des modifications.
+
+```
+git status
+git add <fichier>
+git commit -m "<commentaire>"
+```
+
+4. Créez un compte dans GitLab si vous n'en avez pas déjà un. Publiez ensuite la branche avec les modifications dans le dépôt GitLab.
+
+```
+git push -u origin <nom_de_branche>
+```
+
+5. Finalement, [connectez-vous](https://gitlab.com/users/sign_in) à l'interface graphique de GitLab et effectuez une demande de fusion (*Merge Request*) vers la branche `master` en sélectionnant l'option correspondante dans la barre latérale.
diff --git a/info/formation-latex-ul/LICENSE b/info/formation-latex-ul/LICENSE
new file mode 100644
index 0000000000..2e72ca1121
--- /dev/null
+++ b/info/formation-latex-ul/LICENSE
@@ -0,0 +1,427 @@
+Attribution-ShareAlike 4.0 International
+
+=======================================================================
+
+Creative Commons Corporation ("Creative Commons") is not a law firm and
+does not provide legal services or legal advice. Distribution of
+Creative Commons public licenses does not create a lawyer-client or
+other relationship. Creative Commons makes its licenses and related
+information available on an "as-is" basis. Creative Commons gives no
+warranties regarding its licenses, any material licensed under their
+terms and conditions, or any related information. Creative Commons
+disclaims all liability for damages resulting from their use to the
+fullest extent possible.
+
+Using Creative Commons Public Licenses
+
+Creative Commons public licenses provide a standard set of terms and
+conditions that creators and other rights holders may use to share
+original works of authorship and other material subject to copyright
+and certain other rights specified in the public license below. The
+following considerations are for informational purposes only, are not
+exhaustive, and do not form part of our licenses.
+
+ Considerations for licensors: Our public licenses are
+ intended for use by those authorized to give the public
+ permission to use material in ways otherwise restricted by
+ copyright and certain other rights. Our licenses are
+ irrevocable. Licensors should read and understand the terms
+ and conditions of the license they choose before applying it.
+ Licensors should also secure all rights necessary before
+ applying our licenses so that the public can reuse the
+ material as expected. Licensors should clearly mark any
+ material not subject to the license. This includes other CC-
+ licensed material, or material used under an exception or
+ limitation to copyright. More considerations for licensors:
+ wiki.creativecommons.org/Considerations_for_licensors
+
+ Considerations for the public: By using one of our public
+ licenses, a licensor grants the public permission to use the
+ licensed material under specified terms and conditions. If
+ the licensor's permission is not necessary for any reason--for
+ example, because of any applicable exception or limitation to
+ copyright--then that use is not regulated by the license. Our
+ licenses grant only permissions under copyright and certain
+ other rights that a licensor has authority to grant. Use of
+ the licensed material may still be restricted for other
+ reasons, including because others have copyright or other
+ rights in the material. A licensor may make special requests,
+ such as asking that all changes be marked or described.
+ Although not required by our licenses, you are encouraged to
+ respect those requests where reasonable. More_considerations
+ for the public:
+ wiki.creativecommons.org/Considerations_for_licensees
+
+=======================================================================
+
+Creative Commons Attribution-ShareAlike 4.0 International Public
+License
+
+By exercising the Licensed Rights (defined below), You accept and agree
+to be bound by the terms and conditions of this Creative Commons
+Attribution-ShareAlike 4.0 International Public License ("Public
+License"). To the extent this Public License may be interpreted as a
+contract, You are granted the Licensed Rights in consideration of Your
+acceptance of these terms and conditions, and the Licensor grants You
+such rights in consideration of benefits the Licensor receives from
+making the Licensed Material available under these terms and
+conditions.
+
+
+Section 1 -- Definitions.
+
+ a. Adapted Material means material subject to Copyright and Similar
+ Rights that is derived from or based upon the Licensed Material
+ and in which the Licensed Material is translated, altered,
+ arranged, transformed, or otherwise modified in a manner requiring
+ permission under the Copyright and Similar Rights held by the
+ Licensor. For purposes of this Public License, where the Licensed
+ Material is a musical work, performance, or sound recording,
+ Adapted Material is always produced where the Licensed Material is
+ synched in timed relation with a moving image.
+
+ b. Adapter's License means the license You apply to Your Copyright
+ and Similar Rights in Your contributions to Adapted Material in
+ accordance with the terms and conditions of this Public License.
+
+ c. BY-SA Compatible License means a license listed at
+ creativecommons.org/compatiblelicenses, approved by Creative
+ Commons as essentially the equivalent of this Public License.
+
+ d. Copyright and Similar Rights means copyright and/or similar rights
+ closely related to copyright including, without limitation,
+ performance, broadcast, sound recording, and Sui Generis Database
+ Rights, without regard to how the rights are labeled or
+ categorized. For purposes of this Public License, the rights
+ specified in Section 2(b)(1)-(2) are not Copyright and Similar
+ Rights.
+
+ e. Effective Technological Measures means those measures that, in the
+ absence of proper authority, may not be circumvented under laws
+ fulfilling obligations under Article 11 of the WIPO Copyright
+ Treaty adopted on December 20, 1996, and/or similar international
+ agreements.
+
+ f. Exceptions and Limitations means fair use, fair dealing, and/or
+ any other exception or limitation to Copyright and Similar Rights
+ that applies to Your use of the Licensed Material.
+
+ g. License Elements means the license attributes listed in the name
+ of a Creative Commons Public License. The License Elements of this
+ Public License are Attribution and ShareAlike.
+
+ h. Licensed Material means the artistic or literary work, database,
+ or other material to which the Licensor applied this Public
+ License.
+
+ i. Licensed Rights means the rights granted to You subject to the
+ terms and conditions of this Public License, which are limited to
+ all Copyright and Similar Rights that apply to Your use of the
+ Licensed Material and that the Licensor has authority to license.
+
+ j. Licensor means the individual(s) or entity(ies) granting rights
+ under this Public License.
+
+ k. Share means to provide material to the public by any means or
+ process that requires permission under the Licensed Rights, such
+ as reproduction, public display, public performance, distribution,
+ dissemination, communication, or importation, and to make material
+ available to the public including in ways that members of the
+ public may access the material from a place and at a time
+ individually chosen by them.
+
+ l. Sui Generis Database Rights means rights other than copyright
+ resulting from Directive 96/9/EC of the European Parliament and of
+ the Council of 11 March 1996 on the legal protection of databases,
+ as amended and/or succeeded, as well as other essentially
+ equivalent rights anywhere in the world.
+
+ m. You means the individual or entity exercising the Licensed Rights
+ under this Public License. Your has a corresponding meaning.
+
+
+Section 2 -- Scope.
+
+ a. License grant.
+
+ 1. Subject to the terms and conditions of this Public License,
+ the Licensor hereby grants You a worldwide, royalty-free,
+ non-sublicensable, non-exclusive, irrevocable license to
+ exercise the Licensed Rights in the Licensed Material to:
+
+ a. reproduce and Share the Licensed Material, in whole or
+ in part; and
+
+ b. produce, reproduce, and Share Adapted Material.
+
+ 2. Exceptions and Limitations. For the avoidance of doubt, where
+ Exceptions and Limitations apply to Your use, this Public
+ License does not apply, and You do not need to comply with
+ its terms and conditions.
+
+ 3. Term. The term of this Public License is specified in Section
+ 6(a).
+
+ 4. Media and formats; technical modifications allowed. The
+ Licensor authorizes You to exercise the Licensed Rights in
+ all media and formats whether now known or hereafter created,
+ and to make technical modifications necessary to do so. The
+ Licensor waives and/or agrees not to assert any right or
+ authority to forbid You from making technical modifications
+ necessary to exercise the Licensed Rights, including
+ technical modifications necessary to circumvent Effective
+ Technological Measures. For purposes of this Public License,
+ simply making modifications authorized by this Section 2(a)
+ (4) never produces Adapted Material.
+
+ 5. Downstream recipients.
+
+ a. Offer from the Licensor -- Licensed Material. Every
+ recipient of the Licensed Material automatically
+ receives an offer from the Licensor to exercise the
+ Licensed Rights under the terms and conditions of this
+ Public License.
+
+ b. Additional offer from the Licensor -- Adapted Material.
+ Every recipient of Adapted Material from You
+ automatically receives an offer from the Licensor to
+ exercise the Licensed Rights in the Adapted Material
+ under the conditions of the Adapter's License You apply.
+
+ c. No downstream restrictions. You may not offer or impose
+ any additional or different terms or conditions on, or
+ apply any Effective Technological Measures to, the
+ Licensed Material if doing so restricts exercise of the
+ Licensed Rights by any recipient of the Licensed
+ Material.
+
+ 6. No endorsement. Nothing in this Public License constitutes or
+ may be construed as permission to assert or imply that You
+ are, or that Your use of the Licensed Material is, connected
+ with, or sponsored, endorsed, or granted official status by,
+ the Licensor or others designated to receive attribution as
+ provided in Section 3(a)(1)(A)(i).
+
+ b. Other rights.
+
+ 1. Moral rights, such as the right of integrity, are not
+ licensed under this Public License, nor are publicity,
+ privacy, and/or other similar personality rights; however, to
+ the extent possible, the Licensor waives and/or agrees not to
+ assert any such rights held by the Licensor to the limited
+ extent necessary to allow You to exercise the Licensed
+ Rights, but not otherwise.
+
+ 2. Patent and trademark rights are not licensed under this
+ Public License.
+
+ 3. To the extent possible, the Licensor waives any right to
+ collect royalties from You for the exercise of the Licensed
+ Rights, whether directly or through a collecting society
+ under any voluntary or waivable statutory or compulsory
+ licensing scheme. In all other cases the Licensor expressly
+ reserves any right to collect such royalties.
+
+
+Section 3 -- License Conditions.
+
+Your exercise of the Licensed Rights is expressly made subject to the
+following conditions.
+
+ a. Attribution.
+
+ 1. If You Share the Licensed Material (including in modified
+ form), You must:
+
+ a. retain the following if it is supplied by the Licensor
+ with the Licensed Material:
+
+ i. identification of the creator(s) of the Licensed
+ Material and any others designated to receive
+ attribution, in any reasonable manner requested by
+ the Licensor (including by pseudonym if
+ designated);
+
+ ii. a copyright notice;
+
+ iii. a notice that refers to this Public License;
+
+ iv. a notice that refers to the disclaimer of
+ warranties;
+
+ v. a URI or hyperlink to the Licensed Material to the
+ extent reasonably practicable;
+
+ b. indicate if You modified the Licensed Material and
+ retain an indication of any previous modifications; and
+
+ c. indicate the Licensed Material is licensed under this
+ Public License, and include the text of, or the URI or
+ hyperlink to, this Public License.
+
+ 2. You may satisfy the conditions in Section 3(a)(1) in any
+ reasonable manner based on the medium, means, and context in
+ which You Share the Licensed Material. For example, it may be
+ reasonable to satisfy the conditions by providing a URI or
+ hyperlink to a resource that includes the required
+ information.
+
+ 3. If requested by the Licensor, You must remove any of the
+ information required by Section 3(a)(1)(A) to the extent
+ reasonably practicable.
+
+ b. ShareAlike.
+
+ In addition to the conditions in Section 3(a), if You Share
+ Adapted Material You produce, the following conditions also apply.
+
+ 1. The Adapter's License You apply must be a Creative Commons
+ license with the same License Elements, this version or
+ later, or a BY-SA Compatible License.
+
+ 2. You must include the text of, or the URI or hyperlink to, the
+ Adapter's License You apply. You may satisfy this condition
+ in any reasonable manner based on the medium, means, and
+ context in which You Share Adapted Material.
+
+ 3. You may not offer or impose any additional or different terms
+ or conditions on, or apply any Effective Technological
+ Measures to, Adapted Material that restrict exercise of the
+ rights granted under the Adapter's License You apply.
+
+
+Section 4 -- Sui Generis Database Rights.
+
+Where the Licensed Rights include Sui Generis Database Rights that
+apply to Your use of the Licensed Material:
+
+ a. for the avoidance of doubt, Section 2(a)(1) grants You the right
+ to extract, reuse, reproduce, and Share all or a substantial
+ portion of the contents of the database;
+
+ b. if You include all or a substantial portion of the database
+ contents in a database in which You have Sui Generis Database
+ Rights, then the database in which You have Sui Generis Database
+ Rights (but not its individual contents) is Adapted Material,
+
+ including for purposes of Section 3(b); and
+ c. You must comply with the conditions in Section 3(a) if You Share
+ all or a substantial portion of the contents of the database.
+
+For the avoidance of doubt, this Section 4 supplements and does not
+replace Your obligations under this Public License where the Licensed
+Rights include other Copyright and Similar Rights.
+
+
+Section 5 -- Disclaimer of Warranties and Limitation of Liability.
+
+ a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE
+ EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS
+ AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF
+ ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS,
+ IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION,
+ WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR
+ PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS,
+ ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT
+ KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT
+ ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU.
+
+ b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE
+ TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION,
+ NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT,
+ INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES,
+ COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR
+ USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN
+ ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR
+ DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR
+ IN PART, THIS LIMITATION MAY NOT APPLY TO YOU.
+
+ c. The disclaimer of warranties and limitation of liability provided
+ above shall be interpreted in a manner that, to the extent
+ possible, most closely approximates an absolute disclaimer and
+ waiver of all liability.
+
+
+Section 6 -- Term and Termination.
+
+ a. This Public License applies for the term of the Copyright and
+ Similar Rights licensed here. However, if You fail to comply with
+ this Public License, then Your rights under this Public License
+ terminate automatically.
+
+ b. Where Your right to use the Licensed Material has terminated under
+ Section 6(a), it reinstates:
+
+ 1. automatically as of the date the violation is cured, provided
+ it is cured within 30 days of Your discovery of the
+ violation; or
+
+ 2. upon express reinstatement by the Licensor.
+
+ For the avoidance of doubt, this Section 6(b) does not affect any
+ right the Licensor may have to seek remedies for Your violations
+ of this Public License.
+
+ c. For the avoidance of doubt, the Licensor may also offer the
+ Licensed Material under separate terms or conditions or stop
+ distributing the Licensed Material at any time; however, doing so
+ will not terminate this Public License.
+
+ d. Sections 1, 5, 6, 7, and 8 survive termination of this Public
+ License.
+
+
+Section 7 -- Other Terms and Conditions.
+
+ a. The Licensor shall not be bound by any additional or different
+ terms or conditions communicated by You unless expressly agreed.
+
+ b. Any arrangements, understandings, or agreements regarding the
+ Licensed Material not stated herein are separate from and
+ independent of the terms and conditions of this Public License.
+
+
+Section 8 -- Interpretation.
+
+ a. For the avoidance of doubt, this Public License does not, and
+ shall not be interpreted to, reduce, limit, restrict, or impose
+ conditions on any use of the Licensed Material that could lawfully
+ be made without permission under this Public License.
+
+ b. To the extent possible, if any provision of this Public License is
+ deemed unenforceable, it shall be automatically reformed to the
+ minimum extent necessary to make it enforceable. If the provision
+ cannot be reformed, it shall be severed from this Public License
+ without affecting the enforceability of the remaining terms and
+ conditions.
+
+ c. No term or condition of this Public License will be waived and no
+ failure to comply consented to unless expressly agreed to by the
+ Licensor.
+
+ d. Nothing in this Public License constitutes or may be interpreted
+ as a limitation upon, or waiver of, any privileges and immunities
+ that apply to the Licensor or You, including from the legal
+ processes of any jurisdiction or authority.
+
+
+=======================================================================
+
+Creative Commons is not a party to its public
+licenses. Notwithstanding, Creative Commons may elect to apply one of
+its public licenses to material it publishes and in those instances
+will be considered the “Licensor.” The text of the Creative Commons
+public licenses is dedicated to the public domain under the CC0 Public
+Domain Dedication. Except for the limited purpose of indicating that
+material is shared under a Creative Commons public license or as
+otherwise permitted by the Creative Commons policies published at
+creativecommons.org/policies, Creative Commons does not authorize the
+use of the trademark "Creative Commons" or any other trademark or logo
+of Creative Commons without its prior written consent including,
+without limitation, in connection with any unauthorized modifications
+to any of its public licenses or any other arrangements,
+understandings, or agreements concerning use of licensed material. For
+the avoidance of doubt, this paragraph does not form part of the
+public licenses.
+
+Creative Commons may be contacted at creativecommons.org.
diff --git a/info/formation-latex-ul/NEWS b/info/formation-latex-ul/NEWS
new file mode 100644
index 0000000000..f9e65f47b8
--- /dev/null
+++ b/info/formation-latex-ul/NEWS
@@ -0,0 +1,112 @@
+===
+=== Rédaction avec LaTeX (paquetage formation-latex-ul)
+===
+
+# 2019.03
+
+## Document de référence
+
+- Ajout de la liste des tableaux et de la liste des figures dans les
+ pages liminaires. Celles-ci ainsi que la table des matières
+ apparaissent dans la table des matières afin de faciliter l'accès
+ par la table des matières logique du document PDF.
+- L'introduction a été révisée et bonifiée pour mieux présenter les
+ fonctionnalités interactives du document, expliquer l'utilisation
+ des couleurs et présenter la signification de chacun des blocs
+ signalétiques.
+- Ajout de références vers *Paul à la campagne* (Rabagliati, 1999) et
+ le film *The Post* (2017) dans l'introduction du chapitre 1 pour de
+ bonnes illustrations du processus de création d'un document.
+- Sections 1.2 et 1.3 inversées.
+- Correction de la ligature des tirets dans le premier paragraphe de
+ la section 10.2.
+- Nouvelle façon de présenter les liens vers des vidéos à l'aide d'un
+ bloc signalétique.
+- Utilisation de Fira Sans comme police sans empattements. Il est plus
+ simple de se procurer cette police libre que Myriad Pro. En plus,
+ elle convient mieux à la police Lucida du texte principal.
+- Nouvelle image de couverture.
+- Vérification de la validé de tous les hyperliens du document.
+
+## Diapositives
+
+- Diapositives complètement révisées en vue d'une formation de 120
+ minutes plutôt que 180.
+- Diapositives dans le thème Metropolis et en format 16 x 9.
+- Nouvelles diapositives sur les tableaux.
+- Nouvelles diapositives sur la programmation lettrée avec Sweave.
+- Exercice sur les mathématiques.
+- Nouvelle image de couverture.
+
+## Général
+
+- L'historique des versions se trouve maintenant dans le fichier
+ `NEWS`.
+- Des instructions pour collaborer à l'amélioration du paquetage se
+ trouvent maintenant dans le fichier `CONTRIBUTING.md`.
+
+
+# 2016.11-3
+
+- Liens vers le code source modifiés suite au déplacement du projet
+ vers [Github](https://github.com/vigou3/formation-latex-ul).
+- Correction du numéro de version dans les documents PDF.
+
+
+# 2016.11-2
+
+- Incorporation des sources du document principal et des diapositives
+ dans la distribution tel que requis par TeX Live.
+- Retouches au fichier `README`.
+
+
+# 2016.11-1
+
+- Mise à jour des URL vers les vidéos dans YouTube. Celles-ci ont été
+ refaites avec le nouveau visuel de couverture.
+- Ajout d'un exercice au chapitre 1 tiré des pré-requis de la
+ formation, soit composer un document simple de type «Hello, World!».
+ Liens vers les vidéos explicatives dans YouTube.
+
+
+# 2016.11
+
+- Importante refonte de la documentation en un document unique. Les
+ diapositives ne sont plus qu'un support visuel pour la formation qui
+ couvre grosso modo les quatre premiers chapitre de l'ouvrage de
+ référence.
+- Nouveau visuel des couvertures. Trop cuuuute.
+- Nouveau mode de numérotation des versions.
+
+
+# 2016-04-04
+
+- Fichier `exercice_demo.tex`: utilisation du style de bibliographie
+ `plainnat` puisque le paquetage **francais-bst** ne fait pas partie de la
+ distribution standard de TeX Live 2015.
+- Fichiers d'exercices: utilisation systématique des options `og` et
+ `fg` dans `\frenchbsetup`.
+
+
+# 2016-03-24
+
+- Partie I: révision des diapositives pour baser davantage la
+ présentation sur des exemples de code source.
+- Partie I: ajout d'images dans les diapos.
+- Partie I: correction du fichier `exemple_demo.tex` qui ne compilait
+ pas correctement.
+- Partie II: ajout d'une introduction au chapitre 7 (tous les autres
+ en avaient une) ainsi qu'une nouvelle section 7.1 sur le contrôle
+ des sauts de ligne, sauts de page et coupures de mots.
+- Partie II: corrections mineures à l'index.
+- Fichiers d'exercices et gabarits: langue déclarée comme `french`
+ plutôt que `francais` et dans `\documentclass` plutôt que dans
+ `\usepackage`.
+- Fichiers d'exercices et gabarits: chargement du paquetage icomma
+ déplacé vers la fin de la liste, plus particulièrement après
+ fontspec.
+
+
+# 2015-03-18
+
+- Première publication sur CTAN.
diff --git a/info/formation-latex-ul/README.md b/info/formation-latex-ul/README.md
new file mode 100644
index 0000000000..727763684d
--- /dev/null
+++ b/info/formation-latex-ul/README.md
@@ -0,0 +1,71 @@
+# formation-latex-ul
+
+Package **formation-latex-ul** contains the supporting documentation,
+slides, exercise files and templates for an introductory LaTeX course
+(in French) prepared for Université Laval, Québec, Canada.
+
+## License
+
+Creative Commons Attribution-ShareAlike 4.0 International.
+
+## Version
+
+2019.03
+
+## Author
+
+Vincent Goulet <vincent.goulet@act.ulaval.ca>
+
+> The rest of this file is in French for the target audience.
+
+# formation-latex-ul
+
+Le paquetage **formation-latex-ul** propose une formation à
+l'utilisation de LaTeX développée à l'origine pour la Bibliothèque de
+l'[Université Laval](https://www.ulaval.ca).
+
+La formation est formée des éléments suivants:
+
+1. *Rédaction avec LaTeX*, un document de référence de près de
+ 200 pages; voir le fichier `doc/formation-latex-ul.pdf`;
+
+2. des diapositives pour une formation en classe couvrant grosso modo
+ les quatre premiers chapitres du document de référence; voir le
+ fichier `doc/formation-latex-ul-diapos.pdf`;
+
+3. les fichiers nécessaires pour compléter certains exercices, ainsi
+ qu'un gabarit pour composer les solutions des autres exercices; voir
+ le dossier `doc/`.
+
+Les quatre premiers chapitres du document de référence couverts par
+les diapositives traitent des concepts de base pour un nouvel
+utilisateur de LaTeX: processus d'édition, compilation, visualisation;
+séparation du contenu et de l'apparence du texte; mise en forme du
+texte; séparation du document en parties; rudiments du mode
+mathématique.
+
+Les six autres chapitres du document de référence visent à rendre
+l'utilisateur de LaTeX débutant ou intermédiaire autonome dans la
+rédaction de documents relativement complexes comportant des tableaux,
+des figures, des équations mathématiques élaborées, une bibliographie,
+etc.
+
+## Composition des documents
+
+Le dossier `source/` contient tous les fichiers nécessaires pour
+composer le document principal et les diapositives avec XeLaTeX. La
+compilation du document requiert les polices de caractères suivantes:
+
+- [Lucida Bright OT, Lucida Math OT et Lucida Mono DK](https://tug.org/store/lucida/).
+ Ces polices de très grande qualité sont payantes. La Bibliothèque de
+ l'Université Laval détient une licence d'utilisation de cette
+ police. Les étudiants et le personnel de l'Université peuvent s'en
+ procurer une copie gratuitement en écrivant à
+ [mailto:lucida@bibl.ulaval.ca].
+- [Fira Sans](https://www.fontsquirrel.com/fonts/fira-sans) (les
+ versions OpenType de Mozilla) en graisses *Book*, *Semi Bold*, *Book
+ Italic* et *Semi Bold Italic*.
+- [Font Awesome](https://fontawesome.com/). Cette police fournit une
+ multitude d'icônes et de symboles. Télécharger la plus récente
+ version de la distribution et installer la police
+ `fontawesome-webfont.ttf` du dossier `fonts`.
diff --git a/info/formation-latex-ul/doc/b-a-ba-math.tex b/info/formation-latex-ul/doc/b-a-ba-math.tex
new file mode 100644
index 0000000000..25e0f930ce
--- /dev/null
+++ b/info/formation-latex-ul/doc/b-a-ba-math.tex
@@ -0,0 +1,57 @@
+\chapter{B.a.-ba du mode mathématique}
+
+De manière générale, soit $x$ un nombre (entier pour le moment) dans
+la base de numération $b$ composé de $m$ chiffres ou symboles, c'est-à-dire
+\begin{equation*}
+ x = x_{m-1}x_{m-2} \cdots x_1x_0,
+\end{equation*}
+où $0 \leq x_i \leq b - 1$. On a donc
+\begin{equation}
+ \label{eq:ordinateurs:def_base}
+ x = \sum_{i = 0}^{m - 1} x_i b^i.
+\end{equation}
+
+Lorsque le contexte ne permet pas de déterminer avec certitude la base
+d'un nombre, celle-ci est identifiée en indice du nombre par un nombre
+décimal. Par exemple, $10011_2$ est le nombre binaire $10011$.
+
+Soit le nombre décimal $348$. Selon la notation ci-dessus, on a $x_0 =
+8$, $x_1 = 4$, $x_2 = 3$ et $b = 10$. En effet, et en conformité avec
+\eqref{eq:ordinateurs:def_base},
+\begin{displaymath}
+ 348 = 3 \times 10^2 + 4 \times 10^1 + 8 \times 10^0.
+\end{displaymath}
+Ce nombre a les représentations suivantes dans d'autres bases. En binaire:
+\begin{align*}
+ 101011100_{2}
+ &= 1 \times 2^8 + 0 \times 2^7 + 1 \times 2^6 \\
+ &\phantom{=} + 0 \times 2^5 + 1 \times 2^4 + 1 \times 2^3 \\
+ &\phantom{=} + 1 \times 2^2 + 0 \times 2^1 + 0 \times 2^0.
+\end{align*}
+En octal:
+\begin{equation*}
+ 534_{8} = 5 \times 8^2 + 3 \times 8^1 + 4 \times 8^0.
+\end{equation*}
+En hexadécimal:
+\begin{equation*}
+ 15\mathrm{C}_{16} = 1 \times 16^2 + 5 \times 16^1 + 12 \times 16^0.
+\end{equation*}
+Des représentations ci-dessus, l'hexadécimale est la plus compacte:
+elle permet de représenter avec un seul symbole un nombre binaire
+comptant jusqu'à quatre chiffres. C'est, entre autres, pourquoi
+c'est une représentation populaire en informatique.%
+
+Dans un ordinateur réel (par opposition à théorique), l'espace
+disponible pour stocker un nombre est fini, c'est-à-dire que $m <
+\infty$. Le plus grand nombre que l'on peut représenter avec $m$
+chiffres ou symboles en base $b$ est
+\begin{align*}
+ x_{\text{max}}
+ &= \sum_{i = 0}^{m - 1} (b - 1) b^i \\
+ &= (b - 1) \sum_{i = 0}^{m - 1} b^i \\
+ &= (b - 1)
+ \left(
+ \frac{b^m - 1}{b - 1}
+ \right) \\
+ &= b^m - 1.
+\end{align*}
diff --git a/info/formation-latex-ul/doc/console-screenshot.pdf b/info/formation-latex-ul/doc/console-screenshot.pdf
new file mode 100644
index 0000000000..12af29c73a
--- /dev/null
+++ b/info/formation-latex-ul/doc/console-screenshot.pdf
Binary files differ
diff --git a/info/formation-latex-ul/doc/emacs.tex b/info/formation-latex-ul/doc/emacs.tex
new file mode 100644
index 0000000000..68e1c2331e
--- /dev/null
+++ b/info/formation-latex-ul/doc/emacs.tex
@@ -0,0 +1,49 @@
+\chapter{GNU Emacs}
+\label{chap:emacs}
+
+Emacs est l'Éditeur de texte des éditeurs de texte. À l'origine un
+éditeur pour les programmeurs (avec des modes spéciaux pour une
+multitude de langages différents), Emacs est devenu au fil du temps un
+environnement logiciel en soi dans lequel on peut réaliser une foule
+de tâches différentes: rédiger des documents {\LaTeX}, interagir avec R,
+SAS ou un logiciel de base de données, consulter son courrier
+électronique, gérer son calendrier ou même jouer à Tetris!
+
+Cette annexe passe en revue les quelques commandes essentielles à
+connaître pour commencer à travailler avec GNU Emacs et le mode ESS.
+
+\section{Mise en contexte}
+\label{sec:emacs:contexte}
+
+Emacs est le logiciel étendard du projet GNU («\emph{GNU is not
+ Unix}»), dont le principal commanditaire est la \emph{Free Software
+ Foundation} (FSF) à l'origine de tout le mouvement du logiciel
+libre.
+\begin{itemize}
+\item Richard M.\ Stallman, président de la FSF et grand apôtre du
+ libre, a écrit la première version de Emacs et il continue à ce jour
+ à contribuer au projet.
+\item Les origines de Emacs remontent au début des années 1980, une
+ époque où les interfaces graphiques n'existaient pas, le parc
+ informatique était beaucoup plus hétérogène qu'aujourd'hui (les
+ claviers n'étaient pas les mêmes d'une marque d'ordinateur à une
+ autre) et les modes de communication entre les ordinateurs
+ demeuraient rudimentaires.
+\item L'âge vénérable de Emacs transparaît à plusieurs endroits,
+ notamment dans la terminologie inhabituelle, les raccourcis clavier
+ non conformes aux standards d'aujourd'hui ou la manipulation des
+ fenêtres qui ne se fait pas avec une souris.
+\end{itemize}
+
+Emacs s'adapte à différentes tâches par l'entremise de \emph{modes}
+qui modifient son comportement ou lui ajoutent des fonctionnalités.
+L'un de ces modes est ESS (\emph{Emacs Speaks Statistics}).
+\begin{itemize}
+\item ESS permet d'interagir avec des logiciels statistiques (en
+ particulier R, S+ et SAS) directement depuis Emacs.
+\item Quelques-uns des développeurs de ESS sont aussi des développeurs
+ de R, d'où la grande compatibilité entre les deux logiciels.
+\item Lorsque ESS est installé, le mode est activé automatiquement en
+ ouvrant dans Emacs un fichier dont le nom se termine par l'extension
+ \texttt{.R}.
+\end{itemize}
diff --git a/info/formation-latex-ul/doc/exercice_classe+paquetages.tex b/info/formation-latex-ul/doc/exercice_classe+paquetages.tex
new file mode 100644
index 0000000000..9a34f0f011
--- /dev/null
+++ b/info/formation-latex-ul/doc/exercice_classe+paquetages.tex
@@ -0,0 +1,31 @@
+\documentclass[10pt,french]{article}
+ \usepackage{babel}
+ %% Activer les lignes appropriées selon le moteur utilisé
+ \usepackage[utf8]{inputenc} % LaTeX
+ \usepackage[T1]{fontenc} % LaTeX
+ % \usepackage{fontspec} % XeLaTeX
+ % \usepackage{icomma} % charger vers la fin
+
+\begin{document}
+
+La longueur des lignes en {\LaTeX} est ajustée automatiquement en
+fonction de la taille de la police de manière à ce que le nombre de
+caractères par ligne demeure à peu près constant. Cela a pour but
+d'améliorer la lisibilité: lorsqu'une ligne de texte est trop longue,
+notre œil a plus de difficulté à suivre celle-ci de gauche à droite.
+
+En passant à une classe de document recto verso, vous remarquerez que
+les marges gauche et droite ne sont pas identiques. C'est afin de
+tenir compte de la marge de reliure.
+
+Le paquetage \textbf{babel} fournit les commandes \verb=\ier=,
+\verb=\iere=, \verb=\ieme= pour écrire «premier», «première»,
+«deuxième» en chiffres: 1{\ier}, 1{\iere}, 36{\ieme}.
+
+En typographie française, on doit utiliser la virgule comme séparateur
+décimal et l'espace fine comme séparateur des milliers.
+\begin{displaymath}
+ y = 1,2x + 5, \quad x = 0, 1, \dots, 10 000.
+\end{displaymath}
+
+\end{document}
diff --git a/info/formation-latex-ul/doc/exercice_commandes.tex b/info/formation-latex-ul/doc/exercice_commandes.tex
new file mode 100644
index 0000000000..7ff973ecc0
--- /dev/null
+++ b/info/formation-latex-ul/doc/exercice_commandes.tex
@@ -0,0 +1,24 @@
+\documentclass[12pt,french]{article}
+ \usepackage{babel}
+ %% Activer les lignes appropriées selon le moteur utilisé
+ \usepackage[utf8]{inputenc} % LaTeX
+ \usepackage[T1]{fontenc} % LaTeX
+ % \usepackage{fontspec} % XeLaTeX
+
+\begin{document}
+
+Les commandes \LaTeX débutent par le symbole \verb=\= et se
+terminent par le premier caractère autre qu'une lettre, y compris
+l'espace. Cela a pour conséquence qu'une espace immédiatement après
+une commande sans argument sera \emph{avalée} par la commande.
+
+La portée d'une commande est \bfseries limitée à la zone entre accolades.
+
+\begin{itemize}
+\item L'environnement \texttt{enumerate} permet de créer une liste
+ numérotée.
+\item Les environnements de listes sont parmi les plus utilisés en
+ \LaTeX.
+\end{itemize}
+
+\end{document}
diff --git a/info/formation-latex-ul/doc/exercice_complet.tex b/info/formation-latex-ul/doc/exercice_complet.tex
new file mode 100644
index 0000000000..09b0c9a75e
--- /dev/null
+++ b/info/formation-latex-ul/doc/exercice_complet.tex
@@ -0,0 +1,143 @@
+\documentclass[11pt,article,french]{memoir}
+ \usepackage{babel}
+ %% Activer les lignes appropriées selon le moteur utilisé
+ \usepackage[utf8]{inputenc} % LaTeX
+ \usepackage[T1]{fontenc} % LaTeX
+ % \usepackage{fontspec} % XeLaTeX
+ \usepackage[colorlinks]{hyperref}
+
+ \frenchbsetup{og=«,fg=»} % caractères « et » sont les guillemets
+ % \frenchbsetup{ItemLabeli=}
+
+\begin{document}
+
+\chapter{Présentation du langage R}
+\label{chap:rpresentation}
+
+\section{Bref historique}
+\label{sec:rpresentation:historique}
+
+À l'origine fut le S, un langage pour «programmer avec des données»
+développé chez Bell Laboratories à partir du milieu des années 1970
+par une équipe de chercheurs menée par John~M.\ Chambers. Au fil du
+temps, le S a connu quatre principales versions communément
+identifiées par la couleur du livre dans lequel elles étaient
+présentées: %
+version «originale», %
+version 2, %
+version 3 et %
+version 4; %
+voir aussi <citation> et <citation> pour plus de détails.
+
+Dès la fin des années 1980 et pendant près de vingt ans, le S a
+principalement été popularisé par une mise en {\oe}uvre commerciale
+nommée S-PLUS. En 2008, Lucent Technologies a vendu le langage S à
+Insightful Corporation, ce qui a effectivement stoppé le développement
+du langage par ses auteurs originaux. Aujourd'hui, le S est
+commercialisé de manière relativement confidentielle sous le nom
+Spotfire S$+$ par TIBCO Software.
+
+Ce qui a fortement contribué à la perte d'influence de S-PLUS, c'est
+une nouvelle mise en {\oe}uvre du langage développée au milieu des
+années 1990. Inspirés à la fois par le S et par Scheme (un dérivé du
+Lisp), Ross Ihaka et Robert Gentleman proposent un langage pour
+l'analyse de données et les graphiques qu'ils nomment R. À la
+suggestion de Martin Maechler de l'ETH de Zurich, les auteurs décident
+d'intégrer leur nouveau langage au projet GNU\footnote{%
+ \url{http://www.gnu.org}}, %
+faisant de R un logiciel libre.
+
+Ainsi disponible gratuitement et ouvert aux contributions de tous,
+R gagne rapidement en popularité là même où S-PLUS avait acquis ses
+lettres de noblesse, soit dans les milieux académiques. De simple
+dérivé «\emph{not unlike S}», R devient un concurrent sérieux à
+S-PLUS, puis le surpasse lorsque les efforts de développement se
+rangent massivement derrière le projet libre. D'ailleurs John Chambers
+place aujourd'hui ses efforts de réflexion et de développement dans le
+projet R.
+
+
+\section{Description sommaire de R}
+\label{sec:rpresentation:description}
+
+R est un environnement intégré de manipulation de données, de calcul
+et de préparation de graphiques. Toutefois, ce n'est pas seulement un
+«autre» environnement statistique (comme SPSS ou SAS, par exemple),
+mais aussi un langage de programmation complet et autonome.
+
+Tel que mentionné précédemment, le R est un langage principalement
+inspiré du S et de Scheme. Le S était à son tour inspiré de plusieurs
+langages, dont l'APL (autrefois un langage très prisé par les
+actuaires) et le Lisp. Comme tous ces langages, le R est
+\emph{interprété}, c'est-à-dire qu'il requiert un autre programme ---
+l'\emph{interprète} --- pour que ses commandes soient exécutées. Par
+opposition, les programmes de langages \emph{compilés}, comme le C ou
+le C++, sont d'abord convertis en code machine par le compilateur puis
+directement exécutés par l'ordinateur.
+
+Cela signifie donc que lorsque l'on programme en R, il n'est pas
+possible de plaider l'attente de la fin de la phase de compilation
+pour perdre son temps au travail. Désolé!
+
+Le programme que l'on lance lorsque l'on exécute R est en fait
+l'interprète. Celui-ci attend que l'on lui soumette des commandes dans
+le langage R, commandes qu'il exécutera immédiatement, une à une et
+en séquence.
+
+Par analogie, Excel est certes un logiciel de manipulation de données,
+de mise en forme et de préparation de graphiques, mais c'est aussi au
+sens large un langage de programmation interprété. On utilise le
+langage de programmation lorsque l'on entre des commandes dans une
+cellule d'une feuille de calcul. L'interprète exécute les commandes et
+affiche les résultats dans la cellule.
+
+Le R est un langage particulièrement puissant pour les applications
+mathématiques et statistiques (et donc actuarielles) puisque
+précisément développé dans ce but. Parmi ses caractéristiques
+particulièrement intéressantes, on note:
+\begin{itemize}
+\item langage basé sur la notion de vecteur, ce qui simplifie les
+ calculs mathématiques et réduit considérablement le recours aux
+ structures itératives (boucles \texttt{for}, \texttt{while}, etc.);
+\item pas de typage ni de déclaration obligatoire des variables;
+\item programmes courts, en général quelques lignes de code seulement;
+\item temps de développement très court.
+\end{itemize}
+
+
+
+\section{Interfaces}
+\label{sec:rpresentation:interfaces}
+
+R est d'abord et avant tout une application n'offrant qu'une invite de
+commande du type de celle présentée à la
+\autoref{fig:rpresentation:console}. En soi, cela n'est pas si
+différent d'un tableur tel que Excel: la zone d'entrée de texte dans
+une cellule n'est rien d'autre qu'une invite de commande\footnote{%
+ Merci à Markus Gesmann pour cette observation.}, par ailleurs aux
+capacités d'édition plutôt réduites.
+
+\begin{figure}
+ \centering
+ \fbox{image}
+ \caption{Fenêtre de la console sous macOS au démarrage de R}
+ \label{fig:rpresentation:console}
+\end{figure}
+
+\begin{itemize}
+\item Sous Unix et Linux, R n'est accessible que depuis la ligne de
+ commande du système d'exploitation (terminal). Aucune interface
+ graphique n'est offerte avec la distribution de base de R.
+\item Sous Windows, une interface graphique plutôt rudimentaire est
+ disponible. Elle facilite certaines opérations tel que
+ l'installation de packages externes, mais elle offre autrement peu
+ de fonctionnalités additionnelles pour l'édition de code R.
+\item L'interface graphique de R sous macOS est la plus élaborée.
+ Outre la console présentée à la
+ \autoref{fig:rpresentation:console}, l'application \texttt{R.app}
+ comporte de nombreuses fonctionnalités, dont un éditeur de code
+ assez complet.
+\end{itemize}
+
+
+\end{document}
diff --git a/info/formation-latex-ul/doc/exercice_demo.tex b/info/formation-latex-ul/doc/exercice_demo.tex
new file mode 100644
index 0000000000..16f36674e6
--- /dev/null
+++ b/info/formation-latex-ul/doc/exercice_demo.tex
@@ -0,0 +1,1319 @@
+\documentclass[letterpaper,11pt,english,french]{memoir}
+ \usepackage[utf8]{inputenc}
+ \usepackage{natbib,url}
+ \usepackage{babel}
+ \usepackage[autolanguage]{numprint}
+ \usepackage{amsmath,amsthm,amsfonts}
+ \usepackage{icomma}
+ \usepackage{fancyvrb}
+ \usepackage{soul}
+
+ %% Police de caractères
+ \usepackage{mathpazo} % texte et mathématiques en Palatino
+
+ %% Couleurs
+ \usepackage{xcolor}
+ \definecolor{comments}{rgb}{0.7,0,0}
+ \definecolor{shadecolor}{gray}{0}
+ \definecolor{link}{rgb}{0,0.4,0.6} % ~RoyalBlue de dvips
+ \definecolor{url}{rgb}{0.6,0,0} % rouge-brun
+ \definecolor{citation}{rgb}{0,0.5,0} % vert foncé
+
+ %% Hyperliens
+ \usepackage{hyperref}
+ \hypersetup{colorlinks, linktocpage,
+ urlcolor=url, linkcolor=link, citecolor=citation,
+ bookmarksopen, bookmarksnumbered, bookmarksdepth=subsubsection,
+ pdfauthor={Vincent Goulet}}
+ \renewcommand{\figureautorefname}{figure}
+ \renewcommand{\tableautorefname}{tableau}
+ \newcommand{\subtableautorefname}{tableau}
+ \newcommand{\exempleautorefname}{exemple}
+ \newcommand{\algorithmeautorefname}{algorithme}
+
+ \frenchbsetup{%
+ CompactItemize=false, % ne pas compacter les listes
+ ThinSpaceInFrenchNumbers=true, % espace fine dans les nombres
+ og=«, fg=» % guillemets français
+ }
+
+ %% Environnements d'exemples et al.
+ \theoremstyle{plain}
+ \newtheorem{algorithme}{Algorithme}[chapter]
+ \newtheorem{thm}{Théorème}[chapter]
+
+ \theoremstyle{definition}
+ \newtheorem{exemple}{Exemple}[chapter]
+ \newtheorem{definition}{Définition}[chapter]
+ \newtheorem*{astuce}{Astuce}
+
+ \theoremstyle{remark}
+ \newtheorem*{remarque}{Remarque}
+ \newenvironment{rem}{\begin{remarque} \mbox{}}{\end{remarque}}
+
+ %% Nouveaux environnements pour le code informatique R
+ \DefineVerbatimEnvironment{Sinput}{Verbatim}{fontshape=sl}
+ \DefineVerbatimEnvironment{Soutput}{Verbatim}{}
+ \DefineVerbatimEnvironment{Scode}{Verbatim}{fontshape=sl}
+ \newenvironment{Schunk}{}{}
+
+ %% Nouvelles commandes
+ \newcommand{\code}[1]{\texttt{#1}}
+ \newcommand{\ieee}[3]{\fbox{$#1$}\hspace{2pt}\fbox{$#2$}\hspace{2pt}\fbox{$#3$}}
+ \newcommand{\fl}{\mathrm{fl}}
+
+ %% Numéroter les sous-sections
+ \maxsecnumdepth{subsection}
+
+ %% Sous-tableaux et figures
+ \newsubfloat{table}
+
+ %% Style de la bibliographie.
+ \bibliographystyle{plainnat}
+
+ \title{Exemple de document élaboré}
+ \author{Vincent Goulet}
+
+\begin{document}
+
+\frontmatter % pages liminaires
+
+\maketitle % production de la page titre
+
+\tableofcontents % production de la TdM
+\cleardoublepage
+
+\mainmatter % corps du document
+
+\chapter{Arithmétique des ordinateurs}
+\label{chap:ordinateurs}
+
+\section{Les ordinateurs ne savent pas compter}
+\label{sec:ordinateurs:introduction}
+
+Le type de bogue le plus fréquemment rapporté dans les forums de
+discussion de R a trait au fait que le logiciel ne retourne
+pas le bon résultat lors d'opérations arithmétiques simples.
+
+On devine que les créateurs de R n'ont pas négligé une fonctionnalité
+aussi fondamentale pour un langage mathématique que le calcul
+arithmétique. Les supposées erreurs ci-dessus relèvent toutes de la
+représentation interne des nombres dans un ordinateur et d'erreurs
+d'arrondi inhérentes aux opérations arithmétiques avec ces nombres. En
+effet, un des plus célèbres principes de programmation proposés par
+\cite{Kernighan:style:1978} est:
+\begin{center}
+ \label{programming_principle}
+ $10,0$ fois $0,1$ ne donne jamais vraiment $1,0$.
+\end{center}
+D'ailleurs, les auteurs des faux rapports de bogues dans
+\texttt{r-help} sont invariablement renvoyés à l'\href{http://cran.r-project.org/doc/FAQ/R-FAQ.html#Why-doesn_0027t-R-think-these-numbers-are-equal_003f}{entrée 7.31} de la
+foire aux questions\footnote{%
+ \url{http://cran.r-project.org/doc/FAQ/R-FAQ.html}} %
+de R.
+
+Pour quiconque travaille régulièrement avec un ordinateur pour faire
+du calcul scientifique, connaitre globalement le fonctionnement
+interne d'un ordinateur peut s'avérer précieux pour les raisons
+suivantes, entre autres:
+\begin{itemize}
+\item éviter les erreurs d'arrondi et de troncature;
+\item éviter les dépassements et soupassements de capacité
+ (\emph{overflow} et \emph{underflow});
+\item optimiser le code informatique.
+\end{itemize}
+
+Ce chapitre se penche sur les grands principes de l'arithmétique des
+ordinateurs. En fait, les ordinateurs ne savent pas faire
+d'arithmétique à proprement parler. Ils ne connaissent que deux états:
+ouvert (1) et fermé (0). Nous en profiterons donc d'abord pour réviser
+la conversion des nombres décimaux vers, et de, n'importe quelle base.
+Après avoir, à la \autoref{sec:ordinateurs:unites}, introduit les
+principales unités de mesure en informatique, nous expliquerons la
+représentation interne des nombres dans un ordinateur en nous
+concentrant sur la double précision. Nous pourrons ainsi justifier que
+les ordinateurs ne peuvent représenter qu'un sous-ensemble des nombres
+réels, d'où les erreurs d'arrondi et de troncature. La
+\autoref{sec:ordinateurs:arithmetique} explique comment ces erreurs
+surviennent. On y donne également quelques pistes pour éviter ou pour
+diminuer l'impact de ces erreurs. Enfin, le chapitre se clôt par un
+survol d'un sujet quelque peu périphérique: la représentation interne
+des caractères.
+
+
+\section{Conversion de base}
+\label{sec:ordinateurs:conversion}
+
+La \emph{base}, dans un système de numération, est le nombre de
+symboles (habituellement les chiffres) qui pourront servir à exprimer
+des nombres. L'humain s'est habitué à compter en base $10$, le système
+\emph{décimal}, où les symboles sont $0, 1, \dots, 9$. De nos jours,
+la grande majorité des ordinateurs travaillent toutefois en base $2$, le
+système \emph{binaire}. Les autres système d'usage courant,
+principalement en informatique, sont l'\emph{octal} (base $8$) et
+l'\emph{hexadécimal} (base $16$). Dans ce dernier système, les symboles
+utilisés pour les nombres $10$--$15$ sont généralement les lettres A--F.
+(C'est pourquoi l'on retrouve ces six lettres sur le pavé des
+calculatrices scientifiques).
+
+Cette section étudie la conversion des nombres entre la base $10$ et une
+autre base quelconque.
+
+\subsection{Notation et définitions}
+\label{sec:ordinateurs:conversion:notation}
+
+De manière générale, soit $x$ un nombre (entier pour le moment) dans
+la base de numération $b$ composé de $m$ chiffres ou symboles, c'est-à-dire
+\begin{equation*}
+ x = x_{m-1}x_{m-2} \cdots x_1x_0,
+\end{equation*}
+où $0 \leq x_i \leq b - 1$. On a donc
+\begin{equation}
+ \label{eq:ordinateurs:def_base}
+ x = \sum_{i = 0}^{m - 1} x_i b^i.
+\end{equation}
+
+Lorsque le contexte ne permet pas de déterminer avec certitude la base
+d'un nombre, celle-ci est identifiée en indice du nombre par un nombre
+décimal. Par exemple, $10011_2$ est le nombre binaire $10011$.
+
+\begin{exemple}
+ Soit le nombre décimal $348$. Selon la notation ci-dessus, on a $x_0 =
+ 8$, $x_1 = 4$, $x_2 = 3$ et $b = 10$. En effet,
+ \begin{displaymath}
+ 348 = 3 \times 10^2 + 4 \times 10^1 + 8 \times 10^0.
+ \end{displaymath}
+ Ce nombre a les représentations suivantes dans d'autres bases. En binaire:
+ \begin{align*}
+ 101011100_{2}
+ &= 1 \times 2^8 + 0 \times 2^7 + 1 \times 2^6 \\
+ &\phantom{=} + 0 \times 2^5 + 1 \times 2^4 + 1 \times 2^3 \\
+ &\phantom{=} + 1 \times 2^2 + 0 \times 2^1 + 0 \times 2^0.
+ \end{align*}
+ En octal:
+ \begin{equation*}
+ 534_{8} = 5 \times 8^2 + 3 \times 8^1 + 4 \times 8^0.
+ \end{equation*}
+ En hexadécimal:
+ \begin{equation*}
+ 15\mathrm{C}_{16} = 1 \times 16^2 + 5 \times 16^1 + 12 \times 16^0.
+ \end{equation*}
+ Des représentations ci-dessus, l'hexadécimale est la plus compacte:
+ elle permet de représenter avec un seul symbole un nombre binaire
+ comptant jusqu'à quatre chiffres. C'est, entre autres, pourquoi
+ c'est une représentation populaire en informatique.%
+ \qed
+\end{exemple}
+
+Dans un ordinateur réel (par opposition à théorique), l'espace
+disponible pour stocker un nombre est fini, c'est-à-dire que $m <
+\infty$. Le plus grand nombre que l'on peut représenter avec $m$
+chiffres ou symboles en base $b$ est
+\begin{align*}
+ x_{\text{max}}
+ &= \sum_{i = 0}^{m - 1} (b - 1) b^i \\
+ &= (b - 1) \sum_{i = 0}^{m - 1} b^i \\
+ &= (b - 1)
+ \left(
+ \frac{b^m - 1}{b - 1}
+ \right) \\
+ &= b^m - 1.
+\end{align*}
+
+Par exemple, le plus grand nombre décimal représentable avec $m = 4$
+symboles est
+\begin{equation*}
+ x_{\text{max}} = \nombre{9999} = \nombre{10000} - 1 = 10^4 - 1,
+\end{equation*}
+alors que le plus grand nombre binaire est seulement
+\begin{equation*}
+ x_{\text{max}} = 1111 = 10000 - 1 = 2^4 - 1 = 15_{10}.
+\end{equation*}
+
+Par une extension naturelle de ce qui précède, un nombre composé de $m
+\geq 0$ symboles dans sa partie entière et $n \geq 0$ symboles dans sa
+partie fractionnaire est représenté en base $b$ comme
+\begin{align*}
+ x
+ &= x_{m-1}x_{m-2} \cdots x_1x_0,x_{-1}x_{-2} \cdots x_{-n} \\
+ &= \sum_{i = -n}^{m - 1} x_i b^i.
+\end{align*}
+Le symbole qui sépare les parties entière et fractionnaire du nombre
+est la \emph{séparation fractionnaire} (une virgule en français, un
+point en anglais).
+
+
+\subsection{Conversion vers une base quelconque}
+\label{sec:ordinateurs:conversion:10_vers_b}
+
+Avant de discuter de la conversion de nombres décimaux vers une base
+quelconque, il convient de définir les notions de \emph{quotient} et
+de \emph{reste} d'une division.
+
+Le quotient est la partie entière de la division de deux entiers $a$
+et $d$; sa représentation mathématique habituelle est
+\begin{equation}
+ \label{eq:ordinateurs:quotient}
+ q = \left\lfloor \frac{a}{d} \right\rfloor,
+\end{equation}
+où $\lfloor x \rfloor$ est la fonction qui retourne le plus grand
+entier inférieur ou égal à $x$. Le reste de la division est simplement
+la valeur
+\begin{equation}
+ \label{eq:ordinateurs:remainder}
+ r = a - d \left\lfloor \frac{a}{d} \right\rfloor.
+\end{equation}
+Évidemment, on a $r \in \{0, 1, \dots, d - 1\}$. Le reste est le
+résultat de l'opération modulo, notée $r = a \bmod d$.
+
+On remarquera que le premier chiffre en partant de la droite d'un
+entier décimal est le reste de la division de ce nombre par $10$, que le
+second chiffre est le reste de la division par $10$ du quotient de la
+division précédente, et ainsi de suite. La conversion d'un nombre
+décimal en une base $b$ implique simplement de diviser par $b$ plutôt
+que par $10$ et de déterminer le symbole dans la base $b$ correspondant
+au reste de chaque division.
+
+L'algorithme suivant reprend ses idées sous forme plus formelle et en
+ajoutant le traitement de la partie fractionnaire. Nous démontrerons
+plus loin qu'il n'est pas réellement nécessaire de savoir effectuer la
+conversion de la partie fractionnaire d'un nombre réel.
+
+\begin{algorithme}[Conversion de la base $10$ vers la base $b$]
+ \label{algo:ordinateurs:10_vers_b}
+ Soit $x$ un nombre réel en base $10$.
+ \begin{enumerate}
+ \item Poser $i \leftarrow 0$ et $v \leftarrow \lfloor x \rfloor$.
+ \item Répéter les étapes suivantes jusqu'à ce que $v = 0$:
+ \begin{enumerate}
+ \item Poser $d_i \leftarrow v \bmod b$ et trouver $x_i$, le
+ symbole dans la base $b$ correspondant à $d_i$;
+ \item Poser $v \leftarrow \lfloor v/b \rfloor$;
+ \item Poser $i \leftarrow i + 1$.
+ \end{enumerate}
+ \item Poser $i \leftarrow 1$ et $v \leftarrow x - \lfloor x
+ \rfloor$.
+ \item Répéter les étapes suivantes jusqu'à ce que $v = 0$ ou que $i
+ = n$ (le nombre voulu ou maximal de chiffres après la séparation
+ fractionnaire):
+ \begin{enumerate}
+ \item Poser $d_{-i} \leftarrow \lfloor bv \rfloor$ et trouver $x_{-i}$, le
+ symbole dans la base $b$ correspondant à $d_{-i}$;
+ \item Poser $v \leftarrow bv - d_{-i}$;
+ \item Poser $i \leftarrow i + 1$.
+ \end{enumerate}
+ \item Retourner
+ \begin{displaymath}
+ x_b = x_{m-1}x_{m-2} \cdots x_1x_0,x_{-1}x_{-2} \cdots x_{-n}.
+ \end{displaymath}
+ \end{enumerate}
+\end{algorithme}
+
+\begin{exemple}
+ \label{ex:ordinateurs:10_vers_b}
+ Soit le nombre décimal $23,31$ que l'on convertit en binaire (base
+ $2$) avec un maximum de cinq chiffres après la séparation
+ fractionnaire ($n = 5$). Le \autoref{tab:ordinateurs:10_vers_b}
+ montre le processus en suivant les étapes de
+ l'\autoref{algo:ordinateurs:10_vers_b}. On obtient le
+ résultat final en combinant la dernière colonne du
+ \autoref{tab:ordinateurs:10_vers_b:a} lue de bas en haut avec la
+ dernière colonne du \autoref{tab:ordinateurs:10_vers_b:b} lue de
+ haut en bas. Ainsi, la représentation binaire du $23,31$ limitée à
+ cinq chiffres après la virgule est $10111,01001$.
+
+ \begin{table}
+ \caption{Conversion du nombre décimal $23,31$ en binaire.}
+ \label{tab:ordinateurs:10_vers_b}
+ \begin{minipage}[t]{0.45\linewidth}
+ \subcaption{partie entière}
+ \label{tab:ordinateurs:10_vers_b:a}
+ \begin{tabular*}{\linewidth}{crrcc}
+ \toprule
+ $i$ & \multicolumn{1}{c}{$v$} & $\lfloor v/2 \rfloor$ & $v \bmod 2$ & $x_i$ \\
+ \midrule
+ $0$ & $23$ & $11$ & $1$ & $1$ \\
+ $1$ & $11$ & $5$ & $1$ & $1$ \\
+ $2$ & $5$ & $2$ & $1$ & $1$ \\
+ $3$ & $2$ & $1$ & $0$ & $0$ \\
+ $4$ & $1$ & $0$ & $1$ & $1$ \\
+ \bottomrule
+ \end{tabular*}
+ \end{minipage}
+ \hfill
+ \begin{minipage}[t]{0.45\linewidth}
+ \subcaption{partie fractionnaire}
+ \label{tab:ordinateurs:10_vers_b:b}
+ \begin{tabular*}{\linewidth}{ccccc}
+ \toprule
+ $i$ & $v$ & $2v$ & $\lfloor 2v \rfloor$ & $x_{-i}$ \\
+ \midrule
+ $1$ & $0,31$ & $0,62$ & $0$ & $0$ \\
+ $2$ & $0,62$ & $1,24$ & $1$ & $1$ \\
+ $3$ & $0,24$ & $0,48$ & $0$ & $0$ \\
+ $4$ & $0,48$ & $0,96$ & $0$ & $0$ \\
+ $5$ & $0,96$ & $1,92$ & $1$ & $1$ \\
+ \bottomrule
+ \end{tabular*}
+ \end{minipage}
+ \end{table}
+ \qed
+\end{exemple}
+
+\begin{exemple}
+ \label{ex:ordinateurs:10_vers_b:bis}
+ Soit de nouveau la conversion de $23,31$ en binaire avec une partie
+ fractionnaire d'au plus cinq chiffres. En suivant les étapes de la
+ remarque ci-dessus, on a:
+ \begin{enumerate}
+ \item $23,31 \times 2^5 = 23,31 \times 32 = 745,92$;
+ \item la représentation binaire de $745 = 2^9 + 2^7 + 2^6 + 2^5 +
+ 2^3 + 1$ est $1011101001$;
+ \item enfin, en déplaçant la virgule de cinq positions vers la
+ gauche, on obtient $10111,01001$, comme à
+ l'\autoref{ex:ordinateurs:10_vers_b}.
+ \end{enumerate}
+ \qed
+\end{exemple}
+
+On tire une conclusion intéressante de la procédure ci-dessus. S'il
+existe un entier $k \leq n$ tel que la partie fractionnaire de $x$ est
+un multiple de $1/b^k$, alors la multiplication de $x$ par $b^k$
+résultera en un entier. Par conséquent, la représentation de $x$ en
+base $b$ aura une partie fractionnaire de longueur finie. Ainsi, pour
+obtenir une représentation binaire finie, la partie fractionnaire d'un
+nombre réel doit être un multiple de $\frac{1}{2}, \frac{1}{4},
+\frac{1}{8}, \dots$ Ce n'était pas le cas à
+l'\autoref{ex:ordinateurs:10_vers_b:bis} (la partie fractionnaire
+étant $0,31$), d'où la nécessité de limiter le nombre de chiffres
+après la virgule.
+
+\subsection{Conversion en décimal}
+\label{sec:ordinateurs:conversion:b_vers_10}
+
+La conversion d'un nombre en base $b$ vers la base $10$ repose
+essentiellement sur la définition \eqref{eq:ordinateurs:def_base},
+mais avec chaque symbole $x_i$ remplacé pour son équivalent décimal.
+Un algorithme de conversion est le suivant.
+
+\begin{algorithme}[Conversion de la base $b$ vers la base $10$]
+ \label{algo:ordinateurs:b_vers_10}
+ Soit $x$
+ \begin{displaymath}
+ x_b = x_{m-1}x_{m-2} \cdots x_1x_0,x_{-1}x_{-2} \cdots x_{-n}
+ \end{displaymath}
+ un nombre réel en base $b$.
+ \begin{enumerate}
+ \item Poser $x \leftarrow 0$ et $y \leftarrow 0$.
+ \item Pour $i = m - 1, m - 2, \dots, 0$, faire les étapes suivantes:
+ \begin{enumerate}
+ \item Trouver $d_i$, le nombre décimal correspondant au symbole
+ $x_i$;
+ \item Poser $x \leftarrow x b + d_i$.
+ \end{enumerate}
+ \item Pour $i = -n, -n + 1, \dots, -1$, faire les étapes suivantes:
+ \begin{enumerate}
+ \item Trouver $d_i$, le nombre décimal correspondant au symbole
+ $x_i$;
+ \item Poser $y \leftarrow (y + d_i)/b$.
+ \end{enumerate}
+ \item Retourner $x + y$.
+ \end{enumerate}
+\end{algorithme}
+
+On peut, ici aussi, aisément éviter de devoir convertir la partie
+fractionnaire. Il suffit de déplacer la virgule de $n$ positions vers
+la droite dans le nombre $x_b$ de manière à obtenir un entier, de
+convertir ce nombre en décimal avec les étapes 1 et 2 de
+l'\autoref{algo:ordinateurs:b_vers_10} et, finalement, de
+diviser le nombre obtenu par $b^n$.
+
+\begin{exemple}
+ \label{ex:ordinateurs:b_vers_10}
+ On convertit le nombre binaire $101011,011$ en décimal. Le
+ \autoref{tab:ordinateurs:b_vers_10} illustre le processus de
+ conversion selon l'\autoref{algo:ordinateurs:b_vers_10} (le chiffre
+ en surbrillance est celui traité lors de chaque étape de
+ l'algorithme). Le résultat final est $43,375$.
+
+ De manière équivalente, mais plus simple, on peut déplacer la
+ virgule de trois positions vers la droite pour obtenir l'entier
+ binaire $101011011$. Ce nombre est $2^8 + 2^6 + 2^4 + 2^3 + 2 + 1 =
+ 347$ en décimal. Enfin, $347 \div 2^3 = 43,375$.%
+ \qed
+
+ \begin{table}
+ \caption{Conversion du nombre binaire $101011,011$ en décimal}
+ \label{tab:ordinateurs:b_vers_10}
+ \begin{minipage}[t]{0.45\linewidth}
+ \subcaption{partie entière}
+ \begin{tabular*}{\linewidth}{@{\extracolsep{\fill}}ccr}
+ \toprule
+ $i$ & $d_i$ & $x$ \\
+ \midrule
+ $5$ & \texthl{$1$}$01011,011$ & $ 1$ \\
+ $4$ & $1$\texthl{$0$}$1011,011$ & $ 2$ \\
+ $3$ & $10$\texthl{$1$}$011,011$ & $ 5$ \\
+ $2$ & $101$\texthl{$0$}$11,011$ & $10$ \\
+ $1$ & $1010$\texthl{$1$}$1,011$ & $21$ \\
+ $0$ & $10101$\texthl{$1$}$,011$ & $43$ \\
+ \bottomrule
+ \end{tabular*}
+ \end{minipage}
+ \hfill
+ \begin{minipage}[t]{0.45\linewidth}
+ \subcaption{partie fractionnaire}
+ \begin{tabular*}{\linewidth}{@{\extracolsep{\fill}}ccD{.}{,}{1.3}}
+ \toprule
+ $i$ & $d_{-i}$ & y \\
+ \midrule
+ $3$ & $101011,01$\texthl{$1$} & 0.5 \\
+ $2$ & $101011,0$\texthl{$1$}$1$ & 0.75 \\
+ $1$ & $101011,$\texthl{$0$}$11$ & 0.375 \\
+ \bottomrule
+ \end{tabular*}
+ \end{minipage}
+ \end{table}
+\end{exemple}
+
+
+\begin{exemple}
+ Soit le nombre hexadécimal $\mathrm{AC}2,3\mathrm{D}8$. On peut le
+ convertir en base $10$ à partir de la définition:
+ \begin{align*}
+ \mathrm{AC}2,3\mathrm{D}8
+ &= 10 \times 16^2 + 12 \times 16 + 2 + 3 \times 16^{-1} + 13
+ \times 16^{-2} + 8 \times 16^{-3} \\
+ &= \nombre{2754,240234375}.
+ \end{align*}
+ \qed
+\end{exemple}
+
+
+\subsection{Conversion avec des bases générales}
+\label{sec:ordinateurs:conversion:bases_generales}
+
+Il existe de nombreuses bases de numération d'usage courant où chaque
+symbole est (potentiellement) exprimé dans une base différente. On a
+qu'à penser à l'heure ou à l'ensemble du système de mesure impérial.
+Or, il peut s'avérer utile de savoir convertir de et vers une base
+quelconque. Le matériel de cette section se retrouve dans très peu
+d'ouvrages d'analyse numérique ou de statistique numérique. Pourtant,
+il existe quelques applications intéressantes de la conversion de et
+vers des bases générales, comme nous le verrons.
+
+On peut généraliser la notion de nombre présentée dans les sections
+précédentes à une collection de «symboles», chacun dans une base
+différente. On restreint la discussion aux entiers sans perte de
+généralité. On a donc
+\begin{displaymath}
+ x = x_{m-1}x_{m-2} \cdots x_1x_0,
+\end{displaymath}
+où $x_{m - 1}$ est un nombre en base $b_{m - 1}$, $x_{m - 2}$ est un
+nombre en base $b_{m - 2}$, etc. Nous dirons que le nombre $x$ est
+exprimé en base $[b_{m - 1}\; b_{m - 2}\; \dots\; b_0]$. On a alors
+\begin{equation}
+ \label{eq:ordinateurs:def_base_gen}
+ x = \sum_{i = 0}^{m - 1} x_i \prod_{j = -1}^{i - 1} b_j,
+\end{equation}
+avec $b_{-1} = 1$.
+
+Les algorithmes de conversion \ref{algo:ordinateurs:10_vers_b} et
+\ref{algo:ordinateurs:b_vers_10} demeurent essentiellement valides
+ici. Il suffit de remplacer chaque mention de $b$ par $b_i$.
+
+\begin{exemple}
+ Le jour de l'année et l'heure du jour est un «nombre» exprimé en
+ base $[365\; 24\; 60\; 60]$. En utilisant directement
+ l'équation~\eqref{eq:ordinateurs:def_base_gen}, le nombre de
+ secondes correspondant à 1~jour, 2~heures, 33~minutes et 20~secondes
+ est:
+ \begin{align*}
+ 1 \text{ j } 2 \text{ h } 33 \text{ min } 20 \text{ sec}
+ &= 1 \times (24)(60)(60) + 2 \times (60)(60) + 33 \times 60 + 20 \\
+ &= \nombre{95600} \text{ secondes}.
+ \end{align*}
+ Si l'on fait la conversion en sens inverse, le nombre de jours,
+ heures, minutes et secondes correspondant à \nombre{91492} secondes
+ est, en utilisant l'\autoref{algo:ordinateurs:10_vers_b} avec la
+ base $[365\; 24\; 60\; 60]$: 1~jour, 1~heure, 24~minutes et
+ 52~secondes (voir le \autoref{tab:ordinateurs:10_vers_generale} pour
+ les calculs).
+ \begin{table}
+ \caption{Conversion du nombre décimal $\nombre{91492}$ dans la
+ base générale $[365\; 24\; 60\; 60]$.}
+ \label{tab:ordinateurs:10_vers_generale}
+ \centering
+ \begin{tabular}{>{$}c<{$}>{$}r<{$}>{$}r<{$}>{$}r<{$}>{$}c<{$}>{$}c<{$}}
+ \toprule
+ i &
+ \multicolumn{1}{c}{$v$} &
+ \multicolumn{1}{c}{$b_i$} &
+ \lfloor v/b_i \rfloor & v \bmod b_i & x_i \\
+ \midrule
+ 0 & \nombre{91492} & 60 & \nombre{1524} & 52 & 52 \\
+ 1 & \nombre{1524} & 60 & 25 & 24 & 24 \\
+ 2 & 25 & 24 & 1 & 1 & 1 \\
+ 3 & 1 & 365 & 0 & 1 & 1 \\
+ \bottomrule
+ \end{tabular}
+ \end{table}
+ \qed
+\end{exemple}
+
+Les bases générales sont particulièrement utiles pour assigner ou
+extraire les éléments d'une matrice ou d'un tableau dans un ordre non
+séquentiel. Typiquement, l'index de l'élément à traiter est le
+résultat d'un calcul. L'exemple suivant illustre cette idée.
+
+\begin{exemple}
+ \label{ex:ordinateurs:position_dans_matrice}
+ Soit $\mathbf{A}$ une matrice $4 \times 5$ que l'on suppose remplie en
+ ordre lexicographique (par ligne). Il est simple de déterminer, ici,
+ que le 14{\ieme} élément est $a_{34}$. Or, on observe que la
+ conversion du nombre $14 - 1 = 13$ dans la base $[4\; 5]$ donne :
+ \begin{align*}
+ 13 \div 5 &= 2 \text{ reste } 3 \quad\Rightarrow\quad x_0 = 3 \\
+ 2 \div 4 &= 0 \text{ reste } 2 \quad\Rightarrow\quad x_1 = 2,
+ \end{align*}
+ soit le «nombre» $(2, 3)$. En additionnant $1$ à ce résultat, on
+ obtient précisément la position du 14{\ieme} élément dans la
+ matrice. Les opérations $-1$ et $+1$ sont rendues nécessaires par
+ le fait que les lignes et les colonnes sont numérotées à partir de
+ $1$, alors que les systèmes de numération débutent à $0$.%
+ \qed
+\end{exemple}
+
+
+
+\section{Unités de mesure}
+\label{sec:ordinateurs:unites}
+
+Les ordinateurs que nous utilisons couramment fonctionnent en base $2$.
+La plus petite quantité d'information qu'un ordinateur peut traiter
+est un \emph{bit} (compression de l'anglais \emph{binary digit}). En
+informatique, un bit est égal à \fbox{$0$} ou à \fbox{$1$}. Le symbole du
+bit est b.
+
+Un \emph{octet} (\emph{byte}) est un groupe de huit bits. Son symbole
+est o ou B. L'octet est l'unité de mesure la plus fréquemment utilisée
+en informatique, en grande partie parce que le codage d'un caractère
+dans la plupart des langues occidentales requiert un octet; voir la
+\autoref{sec:ordinateurs:codage}. Les termes pour de plus grandes
+quantités de bits ou d'octets utilisent généralement les préfixes
+usuels du système international d'unités. Par exemple:
+\begin{itemize}
+\item $1$ kilooctet (ko) est $2^{10} = \nombre{1 024}$ octets;
+\item $1$ mégaoctet (Mo) est $2^{20} = \nombre{1 048 576}$ octets;
+\item $1$ gigaoctet (Go) est $2^{30} = \nombre{1 073 741 824}$ octets.
+\end{itemize}
+On voit que cette pratique fort répandue entraine des distorsions par
+rapport aux définitions usuelles de kilo, méga, giga, etc., et que
+cette distorsion s'amplifie au fur et à mesure que l'on grimpe dans
+l'échelle des tailles d'objets. Pour cette raison, on a défini les
+préfixes kibi, mébi, gibi, etc., mais ceux-ci demeurent peu utilisés à
+ce jour.
+
+Dans l'industrie de l'informatique, on joue beaucoup avec les unités
+pour montrer son produit sous un jour favorable. Deux exemples:
+\begin{enumerate}
+\item Les fournisseurs d'accès Internet expriment la vitesse de
+ téléchargement en Mb/sec, alors que la taille des fichiers est
+ généralement affichée en octets. Il faut donc diviser par 8 la
+ vitesse annoncée pour avoir une idée plus juste du temps requis pour
+ télécharger un fichier.
+\item Les fabricants de disques durs divisent la capacité réelle de
+ leurs disques par $10^9$ pour l'exprimer en gigaoctets. Ainsi, un
+ disque dont la capacité annoncée est de $100$~Go ne peut contenir, en
+ fait, que $100 \times 10^9 \div 2^{30} = 93,132$~Go de données.
+ Cette confusion serait éliminée si les fabricants affichaient plutôt
+ une capacité de $93,132$ gibioctets. Moins vendeur\dots
+\end{enumerate}
+
+
+
+\section{Représentation en virgule flottante}
+\label{sec:ordinateurs:ieee}
+
+Cette section décrit la manière standard de représenter les nombres
+réels dans les ordinateurs d'usage courant. Il est utile de
+connaitre les grandes lignes afin de comprendre pourquoi les nombres
+réels n'ont pas tous une représentation exacte dans un ordinateur et
+comment surviennent et se propagent les erreurs d'arrondi. L'étude du
+sujet est également intéressante en soi pour constater comment les
+ingénieurs et les informaticiens sont parvenus à stocker un maximum
+d'information dans un espace limité.
+
+Tel que mentionné précédemment, la capacité de stockage d'un
+ordinateur, bien que vaste de nos jours, n'en demeure pas moins
+limitée. Par conséquent, les nombres y sont représentés par un
+ensemble de $m$ bits. Habituellement, $m$ est un multiple de $2$ et sa
+valeur détermine le type de nombre. Par exemple, des définitions
+usuelles sont $m = 2^4 = 16$ pour un entier, $m = 2^5 = 32$ pour un
+nombre réel en simple précision (\emph{float} dans plusieurs langages
+de programmation) et $m = 2^6 = 64$ pour un nombre réel en double
+précision (\emph{double}).
+
+Il existe deux grandes façons de représenter les nombres (réels) à
+l'aide de $m$ bits.
+\begin{description}
+\item[Virgule fixe] Dans cette représentation, la position de la
+ virgule dans le nombre est prédéterminée et, par conséquent, n'a pas
+ besoin d'être conservée en mémoire. On réserve alors $m_e$ positions
+ pour la partie entière et $m_f$ pour la partie fractionnaire (avec
+ $m = m_e + m_f$). La représentation en virgule fixe est
+ particulièrement utile dans les applications financières.
+\item[Virgule flottante] Dans la représentation des nombres en virgule
+ flottante, celle-ci peut être placée n'importe où dans le nombre.
+ L'étendue de cette représentation est beaucoup plus grande que la
+ virgule fixe, mais ceci au détriment de la précision puisque
+ quelques bits doivent être réservés pour stocker la position de la
+ virgule dans le nombre.
+\end{description}
+La représentation en virgule flottante est celle utilisée dans les
+applications scientifiques et celle sur laquelle nous nous concentrons
+dans la suite.
+
+La représentation en virgule flottante est analogue à la notation
+scientifique. Le nombre réel $x$ est entièrement défini par un bit de
+signe $S$, un exposant positif $E$ et une mantisse $M$ tel que
+\begin{equation}
+ \label{eq:ordinateurs:def_floating-point}
+ x = (-1)^S \times B^{E - e} \times M,
+\end{equation}
+où $B$ est la base de la représentation et $e$ est un entier
+prédéterminé appelé le décalage, ou le biais, de l'exposant. Le
+recours au décalage facilite les calculs internes et évite de devoir
+réserver un autre bit pour le signe de l'exposant en le stockant sous
+forme non signée (c'est-à-dire sous forme d'entier positif).
+
+La norme IEEE~754 définit la manière standard de représenter les
+nombres en virgule flottante dans les ordinateurs \citep[][pour une
+excellente présentation]{IEEE:754,Wikipedia:IEEE754}. En premier lieu,
+la norme stipule que la base dans la représentation est $B = 2$. Ceci
+est implicite et n'est pas stocké où que ce soit dans l'ordinateur. En
+second lieu, la norme suppose que, pour les nombres dits
+\emph{normalisés}, la mantisse est toujours de la forme $M = 1,F$, où
+$F$ est un entier binaire. Le bit à gauche de la virgule est appelé le
+\emph{bit caché} puisqu'il est lui aussi implicite et non stocké dans
+l'ordinateur.
+
+Nous décrivons plus en détail la norme pour les nombres réels en
+\emph{double précision} puisque c'est le type avec lequel R travaille
+toujours\footnote{%
+ \label{pg:arithmetique:entiers} Il est possible de créer des vrais
+ entiers dans R en ajoutant un suffixe \code{L} à un nombre entier.
+ Ainsi, \code{1L} est un nombre entier dans le sens où
+ \code{is.integer(1L)} est \code{TRUE}. Cela est relativement peu
+ utilisé en programmation normale.}. %
+Tout d'abord, un nombre en double précision est stocké dans un mot de
+$m = 64$~bits (8~octets) divisé ainsi de gauche à droite: $m_S = 1$ bit
+pour le signe, $m_E = 11$ bits pour l'exposant et $m_F = 52$ bits pour
+la partie fractionnaire de la mantisse. Le premier bit du mot utilisé
+pour le signe est appelé le \emph{bit fort}. Voir la
+\autoref{fig:ordinateurs:double} pour une représentation
+schématique.
+
+\begin{figure}
+ \centering
+ \begin{equation*}
+ \underbrace{
+ \underbrace{\fbox{\hspace{0.5pt} $S$ \hspace{0.5pt}}}_{m_S = 1}
+ \hspace{1pt}
+ \underbrace{\fbox{\hspace{17.5pt} $E$ \hspace{17.5pt}}}_{m_E = 11}
+ \hspace{1pt}
+ \underbrace{\fbox{\hspace{78pt} $F$ \hspace{78pt}}}_{m_F = 52}%
+ }_{m = 64}
+ \end{equation*}
+ \caption{Représentation schématique d'un nombre en double précision
+ dans la norme IEEE~754.}
+ \label{fig:ordinateurs:double}
+\end{figure}
+
+On remarque que le bit caché confère à la mantisse une longueur de mot
+effective (ou précision) de 53~bits.
+
+Le décalage est $e = 2^{m_e - 1} - 1 = 2^{10} - 1 = \nombre{1023}$.
+Avec une longueur de mot de 11~bits, les valeurs possibles de $E$ vont
+de $0$ à $2^{11} - 1 = \nombre{2047}$. Cependant, les valeurs $0$ et
+$\nombre{2047}$ sont réservées pour des usages spéciaux; voir le
+\autoref{tab:ordinateurs:special_values}. Par conséquent, les
+valeurs possibles de l'exposant (une fois décalé) pour les nombres en
+double précision vont de $-\nombre{1022}$ à $\nombre{1023}$.
+
+\begin{table}
+ \caption{Valeurs spéciales dans la norme IEEE~754}
+ \label{tab:ordinateurs:special_values}
+ \begin{tabular}{crccc}
+ \toprule
+ $S$ &
+ \multicolumn{1}{c}{$E$} &
+ $F$ & Représentation binaire & Valeur spéciale \\
+ \midrule
+ $0$ & $0$ & $0$ &
+ \ieee{0}{00000000000}{00 \cdots 00} & $0$ \\
+ $1$ & $0$ & $0$ &
+ \ieee{1}{00000000000}{00 \cdots 00} & $-0$ \\
+ $0$ & $\nombre{2047}$ & $0$ &
+ \ieee{0}{11111111111}{00 \cdots 00} & $+\infty$ \\
+ $1$ & $\nombre{2047}$ & $0$ &
+ \ieee{1}{11111111111}{00 \cdots 00} & $-\infty$ \\
+ $0 \text{ ou } 1$ & $\nombre{2047}$ & $F \neq 0$ &
+ \ieee{$S$}{11111111111}{\hspace{1.2em} $F$ \hspace{1.2em}} &
+ \code{NaN}$^a$ \\
+ \bottomrule
+ \end{tabular} \\
+ $^a$ \emph{Not a number}, par exemple $\frac{0}{0}$
+ ou $\frac{\infty}{\infty}$.
+\end{table}
+
+\begin{exemple}
+ Tel qu'expliqué à la
+ \autoref{sec:ordinateurs:conversion:10_vers_b}, le nombre
+ $\frac{1}{2}$ possède une représentation binaire exacte:
+ \begin{align*}
+ \frac{1}{2}
+ &= 2^{-1} \\
+ &= (-1)^0 \times 2^{\nombre{1022} - \nombre{1023}} \times 1,0.
+ \end{align*}
+ Puisque la représentation de l'exposant est $\nombre{1022}_{10} =
+ 1111111110_2$, la représentation interne de $\frac{1}{2}$ selon la
+ norme IEEE~754 est
+ \begin{center}
+ \ieee{0}{01111111110}{00 \cdots 00}.
+ \end{center}
+
+ En revanche, le nombre $\frac{1}{10}$ n'a pas une représentation
+ binaire finie. En utilisant
+ l'\autoref{algo:ordinateurs:10_vers_b}, on trouve (le côté
+ droit de l'égalité étant en binaire):
+ \begin{align*}
+ \frac{1}{10}
+ &= 0,0001100110011001100110011001\dots \\
+ &= 2^{-4} \times 1,1001100110011001\dots \\
+ &= (-1)^0 \times 2^{\nombre{1019} - \nombre{1023}} \times
+ 1,1001100110011001\dots
+ \end{align*}
+ Or, $\nombre{1019}_{10} = 1111111011_2$, d'où la représentation
+ interne finie de $\frac{1}{10}$ est
+ \begin{center}
+ \ieee{0}{01111111011}{1001 \cdots 1001}.
+ \end{center}
+ Si l'on reconvertit ce nombre en décimal, on obtient
+ \begin{equation*}
+ 2^{-4} \times
+ \left(
+ 1 + \sum_{k = 0}^{12} (2^{-4k - 1} + 2^{-4k - 4})
+ \right),
+ \end{equation*}
+ un nombre près de, mais pas exactement égal à, $\frac{1}{10}$ (le
+ programme de calcul en multiprécision \code{bc} donne
+ $0,09999999999999999166$). Dès lors, la multiplication de ce nombre
+ par $10$ ne donnera pas $1$. Voilà qui justifie le principe de
+ programmation énoncé à la page \pageref{programming_principle}.%
+ \qed
+\end{exemple}
+
+Les principales caractéristiques des nombres en double précision sont
+les suivantes.
+\begin{enumerate}
+\item Soit $x_{\text{max}}$ le plus grand nombre représentable. Parce
+ que l'exposant $E = \nombre{2047}$ est réservé, on a
+ \begin{align*}
+ x_{\text{max}}
+ &= \ieee{0}{11111111110}{11 \cdots 11} \\
+ &= (-1)^0 \times 2^{\nombre{1023}} \times 1,11\cdots11 \\
+ &= 2^{\nombre{1023}} \times (2 - 2^{-52}) \\
+ &= \nombre{1,797693} \times 10^{308}.
+ \end{align*}
+\item Soit $x_{\text{min}}$ le plus petit nombre normalisé
+ représentable. Parce que l'exposant $E = 0$ est réservé, on a
+ \begin{align*}
+ x_{\text{min}}
+ &= \ieee{0}{00000000001}{00 \cdots 00} \\
+ &= (-1)^0 \times 2^{\nombre{-1022}} \times 1,00\cdots00 \\
+ &= 2^{\nombre{-1022}} \\
+ &= \nombre{2,225074} \times 10^{-308}.
+ \end{align*}
+ Afin de rendre la transition vers $0$ moins abrupte, la norme
+ IEEE~754 définit également des nombres \emph{dénormalisés}. Ceux-ci
+ sont identifiés par $E = 0$ et une partie fractionnaire $F$ non
+ nulle. Cependant, par définition, les nombres dénormalisés ont $E -
+ e = -\nombre{1022}$ et leur bit caché est $0$. Par conséquent, le
+ plus petit nombre dénormalisé est stocké sous la forme
+ \begin{equation*}
+ \ieee{0}{00000000000}{00 \cdots 01}
+ \end{equation*}
+ et sa valeur est
+ \begin{align*}
+ x_{\text{min}}
+ &= (-1)^0 \times 2^{\nombre{-1022}} \times 0,00\cdots01 \\
+ &= 2^{\nombre{-1022}} \times 2^{-52} \\
+ &= 2^{-\nombre{1074}} \\
+ &= \nombre{4,940656} \times 10^{-324}.
+ \end{align*}
+\item On a la même étendue pour les nombres négatifs, soit
+ \begin{gather*}
+ [\nombre{-1,797693} \times 10^{308},\,
+ \nombre{-2,225074} \times 10^{-308}] \\
+ \intertext{ou}
+ [\nombre{-1,797693} \times 10^{308},\,
+ \nombre{-4,940656} \times 10^{-324}].
+ \end{gather*}
+ en considérant les nombres dénormalisés.
+\item Soit $\varepsilon$ la plus petite valeur tel que $1 +
+ \varepsilon \neq 1$ dans la représentation en virgule flottante.
+ Cette valeur est appelée l'\emph{epsilon de la machine} ou la
+ \emph{précision de la machine}. Or, puisque
+ \begin{equation*}
+ 1 = (-1)^0 \times 2^0 \times 1,00\cdots00,
+ \end{equation*}
+ le nombre suivant est
+ \begin{equation*}
+ (-1)^0 \times 2^0 \times 1,00\cdots01.
+ \end{equation*}
+ Par conséquent, on a $\varepsilon = 2^{-52} = \nombre{2,220446}
+ \times 10^{-16}$.
+\item Tout nombre $x$ représente en fait un intervalle de
+ $\mathbb{R}$. Par exemple, tout nombre dans l'intervalle $[1, 1 +
+ \varepsilon)$ est représenté par le nombre $1$ dans l'ordinateur.
+\item On a un ensemble fini de nombres pour représenter $\mathbb{R}$.
+ Or, cet ensemble est plus dense près de $0$ que pour les grandes
+ valeurs. En effet, le nombre suivant $x_{\text{min}}$ est
+ \begin{align*}
+ x_{\text{min}}^+
+ &= (1 + \varepsilon) \times 2^{-\nombre{1022}} \\
+ &= x_{\text{min}} + \varepsilon \times 2^{-\nombre{1022}} \\
+ &= x_{\text{min}} + 2^{-\nombre{1074}}, \\
+ \intertext{alors que le nombre précédant $x_{\text{max}}$ est}
+ x_{\text{max}}^-
+ &= (2 - 2^{-52} - \varepsilon) \times 2^{\nombre{1023}} \\
+ &= x_{\text{max}} - \varepsilon \times 2^{\nombre{1023}} \\
+ &= x_{\text{max}} - 2^{971}.
+ \end{align*}
+ L'écart entre les deux plus petits nombres représentables est donc de
+ $2^{-\nombre{1024}} \approx 10^{-324}$, alors que celui entre les deux plus
+ grands est de $2^{971} \approx 10^{292}$!
+\end{enumerate}
+
+Tout calcul impliquant un nombre $x > x_{\text{max}}$ ($x <
+-x_{\text{max}}$) entraine un \emph{dépassement de capacité}.
+Habituellement, cela entraine l'arrêt immédiat des calculs et un
+résultat de $+\infty$ ($-\infty$). À l'autre bout du spectre, un
+calcul impliquant un nombre $x < x_{\text{min}}$ entraine un
+\emph{soupassement de capacité} et le résultat est habituellement
+considéré égal à $0$.
+
+R conserve dans une liste nommée \code{.Machine} les
+valeurs mentionnées ci-dessus --- ainsi que plusieurs autres --- pour
+l'architecture de l'ordinateur courant. Par exemple, on confirme les
+valeurs de $\varepsilon_m$, $x_{\text{min}}$, $x_{\text{max}}$, $B$,
+$m_f$ et $m_e$, dans l'ordre, pour l'architecture x86:
+\begin{Schunk}
+\begin{Sinput}
+> .Machine[c(1, 3:6, 11)]
+\end{Sinput}
+\begin{Soutput}
+$double.eps
+[1] 2.220446e-16
+
+$double.xmin
+[1] 2.225074e-308
+
+$double.xmax
+[1] 1.797693e+308
+
+$double.base
+[1] 2
+
+$double.digits
+[1] 53
+
+$double.exponent
+[1] 11
+\end{Soutput}
+\end{Schunk}
+
+
+
+\section{Éléments d'arithmétique en virgule flottante}
+\label{sec:ordinateurs:arithmetique}
+
+La section précédente expliquait pourquoi les nombres stockés dans un
+ordinateur ne sont pas toujours ceux que l'on croit --- ou que l'on
+voudrait. Puisque l'ordinateur ne peut représenter tous les nombres
+réels, toute opération arithmétique avec des nombres en virgule
+flottante implique une erreur d'arrondi ou de troncature (selon
+l'architecture de l'ordinateur) dont il importe de tenir compte lors
+de la mise en oeuvre de certains algorithmes. Cette section présente
+quelques grands principes d'arithmétique en virgule flottante ainsi
+que de bons usages pour minimiser les erreurs d'arrondi. Consulter les
+ouvrages
+\cite{Monahan:numstat:2001,Burden:numerical:2011,Knuth:ACP:vol2:1997},
+entre autres, pour une discussion plus complète de ce vaste sujet.
+
+Aux fins de cette section, on note $\fl(x)$ la représentation en
+virgule flottante du nombre nombre $x$ et l'on définit la
+représentation simplifiée
+\begin{equation}
+ \label{eq:ordinateurs:fl(x)}
+ \fl(x) = (-1)^S \times 10^E \times 0,F,
+\end{equation}
+où $F$ compte cinq chiffres significatifs, dont le dernier est arrondi.
+Le \autoref{tab:arithmetic:simplified} fournit quelques exemples.
+
+\begin{table}
+ \caption{Représentation en virgule flottante simplifiée}
+ \label{tab:arithmetic:simplified}
+ \centering
+ \begin{tabular}{r@{,}lr@{,}l}
+ \toprule
+ \multicolumn{2}{c}{$x$} &
+ \multicolumn{2}{c}{$\fl(x)$} \\
+ \midrule
+ $2$&$5$ & $0$&$25000 \times 10^1$ \\
+ $-42$&$182$ & $-0$&$42182 \times 10^2$ \\
+ $0$&$214356$ & $0$&$21436 \times 10^0$ \\
+ \bottomrule
+ \end{tabular}
+\end{table}
+
+\begin{rem}
+ Dans la norme IEEE~754, les règles d'arrondi de base sont:
+ \begin{enumerate}
+ \item arrondir à la valeur la plus près ($0,14$ devient $0,1$ et
+ $\nombre{0,16}$ devient $0,2$);
+ \item arrondir un nombre exactement à mi-chemin au nombre avec un
+ dernier chiffre significatif pair ou nul ($0,05$ devient $0,0$
+ alors que $\nombre{0,15}$ devient $0,2$).
+ \end{enumerate}
+\end{rem}
+
+
+\subsection{Erreurs d'arrondi ou de troncature}
+\label{sec:ordinateurs:arithmetique:erreurs}
+
+Lors de l'addition et de la soustraction de nombres en virgule
+flottante, on rend les exposants égaux en déplaçant les bits de la
+mantisse du plus petit nombre vers la droite. Il en résulte une perte
+de bits significatifs et donc une \emph{erreur d'arrondi}. Dans les
+cas extrêmes où les deux opérandes sont de grandeur très différente,
+le plus petit opérande devient nul suite à la perte de tous ses bits
+significatifs.
+
+La situation pour la multiplication et la division est quelque peu
+différente, mais la source d'erreur d'arrondi demeure la même.
+
+À toute fin pratique, tout calcul fait naitre de l'erreur d'arrondi et
+celle-ci augmente avec le nombre d'opérations. Les quelques principes
+de programmation ci-dessous, lorsque suivis par le programmeur prudent
+et consciencieux, permettent d'atténuer l'impact de l'erreur
+d'arrondi.
+
+\begin{enumerate}
+\item L'addition et la soustraction en virgule flottante ne sont pas
+ associatives. Additionner les nombres en ordre croissant de grandeur
+ afin d'accumuler des bits significatifs.
+\item Éviter de soustraire un petit nombre d'un grand, ou alors le
+ faire le plus tard possible dans la chaine des calculs.
+\item Pour calculer une somme alternée, additionner tous les termes
+ positifs et tous les termes négatifs, puis faire la soustraction.
+\item Multiplier et diviser des nombres d'un même ordre de grandeur.
+ Si $x$ et $y$ sont presque égaux, le calcul $x/y$ sera plus précis
+ en virgule flottante que $y^{-1} x$.
+\end{enumerate}
+
+Les exemples ci-dessous illustrent ces principes.
+
+\begin{exemple}
+ Soit $x = 7$, $y = 4$ et $z = \nombre{100000}$. Dans la
+ représentation simplifiée \eqref{eq:ordinateurs:fl(x)}, on a $\fl(x)
+ = 0,70000 \times 10^1$, $\fl(y) = 0,40000 \times 10^1$ et $\fl(z) =
+ 0,10000 \times 10^6$. Or, $x + y + z = \nombre{100011}$ et
+ \begin{align*}
+ [\fl(x) + \fl(y)] + \fl(z)
+ &= (0,70000 \times 10^1 + 0,40000 \times 10^1)
+ + 0,10000 \times 10^6 \\
+ &= 0,11000 \times 10^2 + 0,10000 \times 10^6 \\
+ &= 0,00001 \times 10^6 + 0,10000 \times 10^6 \\
+ &= 0,10001 \times 10^6, \\
+ \intertext{soit un résultat raisonnablement précis. Cependant,}
+ \fl(x) + [\fl(y) + \fl(z)]
+ &= 0,70000 \times 10^1
+ + (0,00000 \times 10^6 + 0,10000 \times 10^6) \\
+ &= 0,00000 \times 10^6 + 0,10000 \times 10^6 \\
+ &= 0,10000 \times 10^6.
+ \end{align*}
+ En effectuant les opérations dans un mauvais ordre, on obtient $x +
+ y + z = z$ même si $x \neq 0$ et $y \neq 0$. %
+ \qed
+\end{exemple}
+
+\begin{exemple}
+ Soit $x = 7$, $y = \nombre{100006}$ et $z = \nombre{100002}$. On a
+ $z - y - x = -11$. Or,
+ \begin{align*}
+ \fl(z) - [\fl(y) + \fl(x)]
+ &= 0,10000 \times 10^6
+ - (0,10000 \times 10^6 + 0,00000 \times 10^6) \\
+ &= 0,00000 \times 10^0,
+ \intertext{alors que}
+ [\fl(z) - \fl(y)] - \fl(x)
+ &= (0,10000 \times 10^6 - 0,10000 \times 10^6) -
+ 0,70000 \times 10^1 \\
+ &= 0,00000 \times 10^1 - 0,70000 \times 10^1 \\
+ &= -0,70000 \times 10^1.
+ \end{align*}
+ \qed
+\end{exemple}
+
+L'exemple suivant est adapté de \cite{Monahan:numstat:2001}.
+
+\begin{exemple}
+ L'évaluation numérique de probabilités loin dans les queues d'une
+ fonction de répartition peut s'avérer imprécise selon la technique
+ employée. Par exemple, la fonction de répartition de la distribution
+ logistique est
+ \begin{equation*}
+ F(x) = (1 + e^{-x})^{-1}.
+ \end{equation*}
+ La vraie valeur de $\operatorname{Pr}[X > 6]$ est $1 - F(6) = 1 - (1
+ + e^{-6})^{-1} = \nombre{0,002472623}$. L'évaluation de cette
+ probabilité dans notre représentation en virgule flottante avec la
+ formule ci-dessus est
+ \begin{align*}
+ 1 - [1 \div (1 + \fl(e^{-6}))]
+ &= 1 - [1 \div (1 + 0,24788 \times 10^{-2})] \\
+ &= 1 - [0,10000 \times 10^1 \div 0,10025 \times 10^1)] \\
+ &= 1 - 0,99751 \times 10^0 \\
+ &= 0,10000 \times 10^1 - 0,09975 \times 10^1 \\
+ &= 0,25000 \times 10^{-2}.
+ \end{align*}
+ (Nous n'avons pas écrit les entiers en virgule flottante ci-dessus
+ pour alléger la notation.) Toutefois, si l'on utilise plutôt la
+ formule équivalente
+ \begin{align*}
+ 1 - F(6)
+ &= \frac{e^{-6}}{1 + e^{-6}} \\
+ &= \frac{1}{1 + e^6}
+ \end{align*}
+ dans laquelle l'opération de soustraction entre deux nombres presque
+ égaux est déjà effectuée, on obtient le résultat bien plus précis
+ \begin{align*}
+ 1 \div (1 + \fl(e^6))
+ &= 1 \div (1 + 0,40343 \times 10^3)) \\
+ &= 1 \div (0,00100 \times 10^3 + 0,40343 \times 10^3) \\
+ &= 1 \div 0,40443 \times 10^3 \\
+ &= 0,24726 \times 10^{-2}.
+ \end{align*}
+ \qed
+\end{exemple}
+
+Les deux principes ci-dessous permettent d'éviter des dépassements ou
+des soupassements de capacité et d'améliorer la précision des calculs.
+
+\begin{enumerate}
+\item Chercher des formules mathématiques équivalentes évitant de
+ devoir traiter des très grands ou des très petits nombres.
+\item Travailler en échelle logarithmique. Par exemple, le produit de
+ deux grands nombres $x$ et $y$ dépassera la capacité plus tard et
+ demeurera précis plus longtemps s'il est calculé sous la forme
+ $e^{\log x + \log y}$.
+\end{enumerate}
+
+\begin{exemple}
+ Soit $X_1, \dots, X_n$ un échantillon aléatoire tiré d'une
+ distribution de Pareto translatée, dont la fonction de répartition est
+ \begin{equation*}
+ F(x; \mu, \alpha) = 1 -
+ \left(
+ \frac{\mu}{x}
+ \right)^{\alpha}, \quad x > \mu.
+ \end{equation*}
+ On peut démontrer que l'estimateur du maximum de vraisemblance de
+ $\alpha$ est
+ \begin{equation*}
+ \hat{\alpha} = \frac{n}{\ln (X_1 \cdots X_n/X_{(1)}^n)},
+ \end{equation*}
+ où $X_{(1)} = \min (X_1, \dots, X_n)$. Soit \code{x} un objet R
+ contenant un échantillon de $\nombre{1000}$ valeurs d'une distribution
+ Pareto translatée de moyenne $\nombre{5000}$ (le contenu de cet objet
+ n'est pas affiché ici pour des raisons évidentes). Le calcul de
+ l'estimateur $\hat{\alpha}$ directement par la formule entraine
+ rapidement un dépassement de capacité, tant lors du produit $X_1
+ \cdots X_n$ que lors de l'opération $X_{(1)}^n$:
+\begin{Schunk}
+\begin{Sinput}
+> prod(x)
+\end{Sinput}
+\begin{Soutput}
+[1] Inf
+\end{Soutput}
+\begin{Sinput}
+> min(x)^length(x)
+\end{Sinput}
+\begin{Soutput}
+[1] Inf
+\end{Soutput}
+\end{Schunk}
+ Le résultat est donc \code{NaN}:
+\begin{Schunk}
+\begin{Sinput}
+> length(x)/log(prod(x)/min(x)^length(x))
+\end{Sinput}
+\begin{Soutput}
+[1] NaN
+\end{Soutput}
+\end{Schunk}
+ Selon la grandeur des données dans l'échantillon, la formule
+ équivalente
+ \begin{displaymath}
+ \hat{\alpha} = \frac{n}{\ln \prod_{i = 1}^n X_i/X_{(1)}}
+ \end{displaymath}
+ peut éviter le dépassement de capacité. Elle n'est toutefois d'aucun
+ secours dans le présent exemple:
+\begin{Schunk}
+\begin{Sinput}
+> length(x)/log(prod(x/min(x)))
+\end{Sinput}
+\begin{Soutput}
+[1] 0
+\end{Soutput}
+\end{Schunk}
+ On remarquera de plus que cette approche nécessite un grand nombre
+ de multiplications (voir la
+ \autoref{sec:ordinateurs:arithmetique:cout}), en plus d'ouvrir
+ la porte à des erreurs d'arrondi.
+
+ Pour obtenir une réponse on utilisera plutôt une autre formule
+ algébriquement équivalente:
+ \begin{displaymath}
+ \hat{\alpha} = \frac{n}{\sum_{i=1}^n \ln X_i - n \ln X_{(1)}}.
+ \end{displaymath}
+ On obtient alors
+\begin{Schunk}
+\begin{Sinput}
+> length(x)/(sum(log(x)) - length(x) * log(min(x)))
+\end{Sinput}
+\begin{Soutput}
+[1] 1.405529
+\end{Soutput}
+\end{Schunk}
+ Cet exemple illustre combien des calculs \emph{algébriquement}
+ équivalents ne sont pas nécessairement \emph{numériquement}
+ équivalents. %
+ \qed
+\end{exemple}
+
+
+\subsection{Cout des opérations}
+\label{sec:ordinateurs:arithmetique:cout}
+
+Les ordinateurs modernes disposent d'une unité de calcul en virgule
+flottante (FPU) intégrée au processeur. Cette unité est évidemment
+très optimisée et, par conséquent, elle accélère beaucoup le calcul en
+virgule flottante. Néanmoins, certaines opérations sont plus couteuses
+à réaliser que d'autres en termes de temps de calcul. À titre
+indicatif, on trouve au \autoref{tab:ordinateurs:cout} le cout
+relatif approximatif de quelques opérations en virgule flottante.
+\begin{table}
+ \centering
+ \caption{Cout relatif de quelques opérations en virgule flottante}
+ \label{tab:ordinateurs:cout}
+ \begin{tabular}{lr}
+ \toprule
+ Opération arithmétique & Cout relatif \\
+ \midrule
+ Addition et soustraction & $1,0$ \\
+ Multiplication & $1,3$ \\
+ Division & $3,0$ \\
+ Racine carrée & $4,0$ \\
+ Logarithme & $15,4$ \\
+ \bottomrule
+ \end{tabular}
+\end{table}
+
+À titre d'exemple, considérons le calcul d'une simple moyenne
+arithmétique
+\begin{equation*}
+ \bar{x} = \frac{1}{n} \sum_{i = 1}^n x_i.
+\end{equation*}
+Si l'on effectue le calcul tel qu'écrit ci-dessus, cela requiert $n -
+1$ additions et une division. En revanche, le calcul équivalent
+\begin{equation*}
+ \bar{x} = \sum_{i = 1}^n \frac{x_i}{n},
+\end{equation*}
+requiert $n - 1$ divisions et $n - 1$ additions. Pour $n$ grand
+utiliser la première approche plutôt que la seconde fera une
+différence.
+
+
+
+\section{Codage de caractères}
+\label{sec:ordinateurs:codage}
+
+Pendant que l'on discute de la représentation interne des nombres dans
+un ordinateur, on peut toucher un mot de la représentation interne, ou
+le codage, des caractères. Ce sujet demeure une cible mouvante puisque
+de nouveaux standards apparaissent encore après de nombreuses années
+de systèmes incompatibles et basés sur la langue anglaise.
+
+Peu importe le système retenu, les caractères doivent être codés en
+binaire dans l'ordinateur. La partie la plus difficile consiste à
+créer un système standard permettant aux ordinateurs et autres
+appareils numériques de communiquer entre eux. Le premier standard
+d'usage courant fut le Code américain normalisé pour l'échange
+d'information, mieux connu sous son acronyme ASCII \citep{ASCII}. La
+norme ASCII définit des codes numériques pour 128 caractères, soit 95
+affichables (lettres, chiffres, symboles divers et l'espace) et 33 non
+affichables (essentiellement des caractères de contrôle tels que saut
+de ligne, retour de chariot ou espacement arrière).
+
+À titre d'exemple, les lettres majuscules A--Z occupent les cases
+$65$--$90$ ($1000001$--$1011010$ en binaire) alors que les lettres
+minuscules a--z occupent les cases $97$--$122$ ($1100001$--$1101010$
+en binaire). On constate que les versions majuscule et minuscule d'une
+même lettre ne diffèrent, dans leur représentation binaire, que par
+leur second bit le plus significatif. Le changement de casse d'une
+lettre ou d'un mot est donc une opération très simple et rapide.
+
+La représentation ASCII ne requiert en soi que sept bits. Néanmoins,
+on a rapidement codé les caractères sur un octet (huit bits) puisqu'il
+s'agit du type de donnée natif des ordinateurs depuis les années 1970.
+L'ajout d'un bit a créé de l'espace pour 128 caractères additionnels
+(cases 128--255). Une myriade de systèmes de codage différents sont
+alors apparus pour supporter les caractères des langues autres que
+l'anglais (les caractères accentués, par exemple) ainsi que d'autres
+symboles graphiques. La norme ISO~8859-1, ou Latin~1
+\citep{ISO:8859-1}, a fini par s'imposer comme l'un des standards les
+plus répandus. Ces listes de codes fixes se révèlent toutefois
+problématiques lors de l'apparition d'un nouveau symbole. Par exemple,
+pour faire de la place pour le symbole de l'euro à la fin des années
+1990, il a fallu retirer un symbole de ISO~8859-1. Avec quelques
+autres changements, la nouvelle liste de code est devenue ISO~8859-15.
+De plus, comment doit-on traiter les langues CJC (chinois, japonais,
+coréen) qui comptent des milliers de symboles différents?
+
+Depuis le début des années 1990, la mondialisation de l'informatique a
+suscité un effort concerté de création d'un système de codage standard
+couvrant la presque totalité des systèmes d'écriture du monde. Le
+système devait aussi permettre la composition de textes en plusieurs
+langues, par exemple en français et dans une écriture de droite à
+gauche comme l'hébreu ou l'arabe. Le standard ainsi créé est Unicode
+\citep{Unicode:5.0}. Le plus populaire système de codage capable de
+représenter l'ensemble des caractères Unicode est \emph{Unicode
+ Transformation Format} 8~bits, ou UTF-8 \citep[section
+3.9]{Unicode:5.0}. Dans l'UTF-8, chaque caractère est codé sur une
+suite d'un à quatre octets et les premiers 128 caractères sont
+identiques à la norme ASCII. L'UTF-8 est le système de codage par
+défaut dans macOS et les plus récentes distributions GNU/Linux.
+
+Le système R supporte les caractères multi-octets de manière assez
+exhaustive. Sans doute aidés en cela par le fait qu'il s'agit d'un
+projet international, les développeurs de R ont mis beaucoup d'effort
+pour assurer l'internationalisation et la localisation du logiciel;
+voir \cite{Ripley:Rnews:2005a}.
+
+\bibliography{formation-latex-ul} % production de la bibliographie
+
+\end{document}
diff --git a/info/formation-latex-ul/doc/exercice_gabarit.tex b/info/formation-latex-ul/doc/exercice_gabarit.tex
new file mode 100644
index 0000000000..05b3670a3a
--- /dev/null
+++ b/info/formation-latex-ul/doc/exercice_gabarit.tex
@@ -0,0 +1,14 @@
+\documentclass[11pt,article,french]{memoir}
+ \usepackage{babel}
+ \usepackage[autolanguage]{numprint}
+
+ %% Activer les lignes appropriées selon le moteur utilisé
+ \usepackage[utf8]{inputenc} % LaTeX
+ \usepackage[T1]{fontenc} % LaTeX
+ % \usepackage{fontspec} % XeLaTeX
+
+\begin{document}
+
+
+
+\end{document}
diff --git a/info/formation-latex-ul/doc/exercice_include.tex b/info/formation-latex-ul/doc/exercice_include.tex
new file mode 100644
index 0000000000..1ce8197af7
--- /dev/null
+++ b/info/formation-latex-ul/doc/exercice_include.tex
@@ -0,0 +1,28 @@
+\documentclass[11pt,french]{memoir}
+ \usepackage{babel}
+ \usepackage{graphicx} % insertion de graphiques avec \includegraphics
+ \usepackage{url} % commande \url pour les... URL
+
+ %% Activer les lignes appropriées selon le moteur utilisé
+ \usepackage[utf8]{inputenc} % LaTeX
+ \usepackage[T1]{fontenc} % LaTeX
+ % \usepackage{fontspec} % XeLaTeX
+
+ \title{R et GNU Emacs}
+ \author{Vincent Goulet}
+ \date{Université Laval}
+
+\begin{document}
+
+\frontmatter
+
+\input{pagetitre}
+
+\tableofcontents*
+
+\mainmatter
+
+\include{rpresentation}
+\include{emacs}
+
+\end{document}
diff --git a/info/formation-latex-ul/doc/exercice_mathematiques.tex b/info/formation-latex-ul/doc/exercice_mathematiques.tex
new file mode 100644
index 0000000000..7fb190a4a1
--- /dev/null
+++ b/info/formation-latex-ul/doc/exercice_mathematiques.tex
@@ -0,0 +1,76 @@
+\documentclass[11pt,article,french]{memoir}
+ \usepackage{amsmath}
+ \usepackage{babel}
+ \usepackage[autolanguage]{numprint}
+
+ %% Activer les lignes appropriées selon le moteur utilisé
+ \usepackage[utf8]{inputenc} % LaTeX
+ \usepackage[T1]{fontenc} % LaTeX
+ % \usepackage{fontspec} % XeLaTeX
+
+\begin{document}
+
+Soit deux variables aléatoires stochastiquement indépendantes $X_1$ et
+$X_2$. La loi de la première est une exponentielle de paramètre $1$.
+Celle de la seconde est une gamma de paramètres $\alpha$ et $1$. Nous
+allons déterminer la loi de $Y = \theta (X_1/X_2)$.
+
+En premier lieu, la densité conjointe de $X_1$ et $X_2$ est
+simplement le produit des densités marginales:
+\begin{equation*}
+ f_{X_1 X_2}(x_1, x_2) = \frac{1}{\Gamma(\alpha)}
+ x_2^{\alpha - 1} e^{-(x_1 + x_2)}, \qquad
+ x_1 > 0, x_2 > 0.
+\end{equation*}
+
+Nous allons utiliser la méthode du changement de variable (ou du
+Jacobien). Pour ce faire, on pose les deux transformations
+\begin{equation*}
+ \begin{aligned}
+ Y_1 &= \theta \left( \frac{X_1}{X_2} \right) \\
+ Y_2 &= X_2
+ \end{aligned}
+ \qquad \Leftrightarrow \qquad
+ \begin{aligned}
+ X_1 &= \frac{Y_1 Y_2}{\theta} \\
+ X_2 &= Y_2
+ \end{aligned}
+\end{equation*}
+et donc
+\begin{align*}
+ \frac{\partial x_1}{\partial y_1} &= \frac{y_2}{\theta} &
+ \frac{\partial x_1}{\partial y_2} &= \frac{y_1}{\theta} \\
+ \frac{\partial x_2}{\partial y_1} &= 0 &
+ \frac{\partial x_2}{\partial y_2} &= 1,
+\end{align*}
+d'où le Jacobien de la transformation est
+\begin{equation*}
+ J =
+ \begin{vmatrix}
+ y_2/\theta & y_1/\theta \\
+ 0 & 1
+ \end{vmatrix}
+ = \frac{y_2}{\theta}.
+\end{equation*}
+Le domaine de $Y_1$ et de $Y_2$ est $R^+$. On a donc
+\begin{align*}
+ f_{Y_1 Y_2}(y_1, y_2)
+ &= f_{X_1 X_2}(y_1 y_2/\theta, y_2)\, \lvert y_2/\theta \rvert \\
+ &= \frac{1}{\theta \Gamma(\alpha)} y_2^\alpha
+ e^{-(y_1 y_2/\theta + y_2)}.
+\end{align*}
+Par conséquent,
+\begin{align*}
+ f_{Y_1}(y_1)
+ &= \int_0^\infty f_{Y_1 Y_2}(y_1, y_2)\, dy_2 \\
+ &= \frac{1}{\theta} \int_0^\infty
+ \frac{1}{\Gamma(\alpha)} y_2^{\alpha + 1 - 1}
+ e^{-[(y_1 + \theta)/\theta] y_2}\, dy_2 \\
+ &= \frac{1}{\theta}
+ \frac{\theta^{\alpha + 1}}{(y_1 + \theta)^{\alpha + 1}} \\
+ &= \frac{\theta^\alpha}{%
+ (y_1 + \theta)^{\alpha + 1}}, \qquad y_1 > 0,
+\end{align*}
+d'où la loi de $Y_1 = \theta (X_1/X_2)$ est une Pareto$(\alpha, \theta)$.
+
+\end{document}
diff --git a/info/formation-latex-ul/doc/exercice_minimal.tex b/info/formation-latex-ul/doc/exercice_minimal.tex
new file mode 100644
index 0000000000..52beff68ad
--- /dev/null
+++ b/info/formation-latex-ul/doc/exercice_minimal.tex
@@ -0,0 +1,19 @@
+\documentclass{article}
+
+\begin{document}
+
+Hello World!
+
+Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec quam
+nulla, bibendum vitae ipsum vel, fermentum pellentesque orci.
+Phasellus vitae ultrices erat.
+
+
+
+Etiam magna est, convallis et dapibus
+in, imperdiet eget magna. Donec pharetra neque ut aliquam finibus. Nam
+justo nunc, eleifend non suscipit eget, consectetur eu est. Proin ut
+sagittis mauris. Vestibulum ultrices, ipsum a ullamcorper consectetur,
+risus risus cursus nunc, eu porta augue nisl in leo.
+
+\end{document}
diff --git a/info/formation-latex-ul/doc/exercice_parties.tex b/info/formation-latex-ul/doc/exercice_parties.tex
new file mode 100644
index 0000000000..0125e721b0
--- /dev/null
+++ b/info/formation-latex-ul/doc/exercice_parties.tex
@@ -0,0 +1,150 @@
+\documentclass[11pt,french]{memoir}
+ \usepackage{babel}
+ %% Activer les lignes appropriées selon le moteur utilisé
+ \usepackage[utf8]{inputenc} % LaTeX
+ \usepackage[T1]{fontenc} % LaTeX
+ % \usepackage{fontspec} % XeLaTeX
+ \usepackage[colorlinks]{hyperref}
+
+ \title{}
+ \author{}
+
+\begin{document}
+
+\maketitle
+
+\frontmatter
+
+\tableofcontents
+
+\mainmatter
+
+\chapter{Présentation du langage R}
+\label{chap:rpresentation}
+
+\section{Bref historique}
+\label{sec:rpresentation:historique}
+
+À l'origine fut le S, un langage pour «programmer avec des données»
+développé chez Bell Laboratories à partir du milieu des années 1970
+par une équipe de chercheurs menée par John~M.\ Chambers. Au fil du
+temps, le S a connu quatre principales versions communément
+identifiées par la couleur du livre dans lequel elles étaient
+présentées: %
+version «originale», %
+version 2, %
+version 3 et %
+version 4; %
+voir aussi <citation> et <citation> pour plus de détails.
+
+Dès la fin des années 1980 et pendant près de vingt ans, le S a
+principalement été popularisé par une mise en {\oe}uvre commerciale
+nommée S-PLUS. En 2008, Lucent Technologies a vendu le langage S à
+Insightful Corporation, ce qui a effectivement stoppé le développement
+du langage par ses auteurs originaux. Aujourd'hui, le S est
+commercialisé de manière relativement confidentielle sous le nom
+Spotfire S$+$ par TIBCO Software.
+
+Ce qui a fortement contribué à la perte d'influence de S-PLUS, c'est
+une nouvelle mise en {\oe}uvre du langage développée au milieu des
+années 1990. Inspirés à la fois par le S et par Scheme (un dérivé du
+Lisp), Ross Ihaka et Robert Gentleman proposent un langage pour
+l'analyse de données et les graphiques qu'ils nomment R. À la
+suggestion de Martin Maechler de l'ETH de Zurich, les auteurs décident
+d'intégrer leur nouveau langage au projet GNU\footnote{%
+ \url{http://www.gnu.org}}, %
+faisant de R un logiciel libre.
+
+Ainsi disponible gratuitement et ouvert aux contributions de tous,
+R gagne rapidement en popularité là même où S-PLUS avait acquis ses
+lettres de noblesse, soit dans les milieux académiques. De simple
+dérivé «\emph{not unlike S}», R devient un concurrent sérieux à
+S-PLUS, puis le surpasse lorsque les efforts de développement se
+rangent massivement derrière le projet libre. D'ailleurs John Chambers
+place aujourd'hui ses efforts de réflexion et de développement dans le
+projet R.
+
+
+\section{Description sommaire de R}
+\label{sec:rpresentation:description}
+
+R est un environnement intégré de manipulation de données, de calcul
+et de préparation de graphiques. Toutefois, ce n'est pas seulement un
+«autre» environnement statistique (comme SPSS ou SAS, par exemple),
+mais aussi un langage de programmation complet et autonome.
+
+Tel que mentionné précédemment, le R est un langage principalement
+inspiré du S et de Scheme. Le S était à son tour inspiré de plusieurs
+langages, dont l'APL (autrefois un langage très prisé par les
+actuaires) et le Lisp. Comme tous ces langages, le R est
+\emph{interprété}, c'est-à-dire qu'il requiert un autre programme ---
+l'\emph{interprète} --- pour que ses commandes soient exécutées. Par
+opposition, les programmes de langages \emph{compilés}, comme le C ou
+le C++, sont d'abord convertis en code machine par le compilateur puis
+directement exécutés par l'ordinateur.
+
+Cela signifie donc que lorsque l'on programme en R, il n'est pas
+possible de plaider l'attente de la fin de la phase de compilation
+pour perdre son temps au travail. Désolé!
+
+Le programme que l'on lance lorsque l'on exécute R est en fait
+l'interprète. Celui-ci attend que l'on lui soumette des commandes dans
+le langage R, commandes qu'il exécutera immédiatement, une à une et
+en séquence.
+
+Par analogie, Excel est certes un logiciel de manipulation de données,
+de mise en forme et de préparation de graphiques, mais c'est aussi au
+sens large un langage de programmation interprété. On utilise le
+langage de programmation lorsque l'on entre des commandes dans une
+cellule d'une feuille de calcul. L'interprète exécute les commandes et
+affiche les résultats dans la cellule.
+
+Le R est un langage particulièrement puissant pour les applications
+mathématiques et statistiques (et donc actuarielles) puisque
+précisément développé dans ce but. Parmi ses caractéristiques
+particulièrement intéressantes, on note:
+\begin{itemize}
+\item langage basé sur la notion de vecteur, ce qui simplifie les
+ calculs mathématiques et réduit considérablement le recours aux
+ structures itératives (boucles \texttt{for}, \texttt{while}, etc.);
+\item pas de typage ni de déclaration obligatoire des variables;
+\item programmes courts, en général quelques lignes de code seulement;
+\item temps de développement très court.
+\end{itemize}
+
+
+
+\section{Interfaces}
+\label{sec:rpresentation:interfaces}
+
+R est d'abord et avant tout une application n'offrant qu'une invite de
+commande du type de celle présentée à la
+\autoref{fig:rpresentation:console}. En soi, cela n'est pas si
+différent d'un tableur tel que Excel: la zone d'entrée de texte dans
+une cellule n'est rien d'autre qu'une invite de commande\footnote{%
+ Merci à Markus Gesmann pour cette observation.}, par ailleurs aux
+capacités d'édition plutôt réduites.
+
+\begin{figure}
+ \centering
+ \fbox{image}
+ \caption{Fenêtre de la console sous macOS au démarrage de R}
+ \label{fig:rpresentation:console}
+\end{figure}
+
+\begin{itemize}
+\item Sous Unix et Linux, R n'est accessible que depuis la ligne de
+ commande du système d'exploitation (terminal). Aucune interface
+ graphique n'est offerte avec la distribution de base de R.
+\item Sous Windows, une interface graphique plutôt rudimentaire est
+ disponible. Elle facilite certaines opérations tel que
+ l'installation de packages externes, mais elle offre autrement peu
+ de fonctionnalités additionnelles pour l'édition de code R.
+\item L'interface graphique de R sous macOS est la plus élaborée.
+ Outre la console présentée à la
+ \autoref{fig:rpresentation:console}, l'application \texttt{R.app}
+ comporte de nombreuses fonctionnalités, dont un éditeur de code
+ assez complet.
+\end{itemize}
+
+\end{document}
diff --git a/info/formation-latex-ul/doc/exercice_renvois.tex b/info/formation-latex-ul/doc/exercice_renvois.tex
new file mode 100644
index 0000000000..e59a7d0e7a
--- /dev/null
+++ b/info/formation-latex-ul/doc/exercice_renvois.tex
@@ -0,0 +1,45 @@
+\documentclass[11pt,french]{memoir}
+ \usepackage{babel}
+ \usepackage[autolanguage]{numprint}
+ %% Activer les lignes appropriées selon le moteur utilisé
+ \usepackage[utf8]{inputenc} % LaTeX
+ \usepackage[T1]{fontenc} % LaTeX
+ % \usepackage{fontspec} % XeLaTeX
+ \usepackage{icomma}
+ %% Activer le paquetage hyperref ci-dessous
+ % \usepackage[colorlinks]{hyperref} % toujours charger en dernier
+
+ \title{Initiation au système de mise en page \LaTeX}
+ \author{Vincent Goulet}
+
+\begin{document}
+
+\maketitle
+
+\chapter{Classes et paquetages}
+
+\section{Marges variables}
+
+La longueur des lignes en {\LaTeX} est ajustée automatiquement en
+fonction de la taille de la police de manière à ce que le nombre de
+caractères par ligne demeure à peu près constant. Cela a pour but
+d'améliorer la lisibilité: lorsqu'une ligne de texte est trop longue,
+notre œil a plus de difficulté à suivre celle-ci de gauche à droite.
+
+\subsection{recto verso}
+
+En passant à une classe de document recto verso, vous remarquerez que
+les marges gauche et droite ne sont pas identiques. C'est afin de
+tenir compte de la marge de reliure.
+
+Le paquetage \textbf{babel} fournit les commandes \verb=\ier=,
+\verb=\iere=, \verb=\ieme= pour écrire «premier», «première»,
+«deuxième» en chiffres: 1{\ier}, 1{\iere}, 36{\ieme}.
+
+En typographie française, on doit utiliser la virgule comme séparateur
+décimal et l'espace fine comme séparateur des milliers.
+\begin{displaymath}
+ y = 1,2x + 5, \quad x = 0, 1, \dots, \nombre{10 000}.
+\end{displaymath}
+
+\end{document}
diff --git a/info/formation-latex-ul/doc/exercice_subcaption.tex b/info/formation-latex-ul/doc/exercice_subcaption.tex
new file mode 100644
index 0000000000..5f355bbfb1
--- /dev/null
+++ b/info/formation-latex-ul/doc/exercice_subcaption.tex
@@ -0,0 +1,47 @@
+\documentclass[11pt,article,french]{memoir}
+ \usepackage{babel}
+ \usepackage[autolanguage]{numprint}
+ %% Activer les lignes appropriées selon le moteur utilisé
+ \usepackage[utf8]{inputenc} % LaTeX
+ \usepackage[T1]{fontenc} % LaTeX
+ % \usepackage{fontspec} % XeLaTeX
+ \usepackage{icomma} % virgule intelligente en mathématiques
+
+ %% Sous-légendes dans les environnements 'table'
+ \newsubfloat{table}
+
+\begin{document}
+
+\begin{table}
+ \caption{Conversion du nombre décimal $23,31$ en binaire.}
+ \begin{minipage}[t]{0.45\linewidth}
+ \begin{tabular*}{\linewidth}{crrcc}
+ \toprule
+ $i$ & \multicolumn{1}{c}{$v$} & $\lfloor v/2 \rfloor$ & $v \bmod 2$ & $x_i$ \\
+ \midrule
+ $0$ & $23$ & $11$ & $1$ & $1$ \\
+ $1$ & $11$ & $5$ & $1$ & $1$ \\
+ $2$ & $5$ & $2$ & $1$ & $1$ \\
+ $3$ & $2$ & $1$ & $0$ & $0$ \\
+ $4$ & $1$ & $0$ & $1$ & $1$ \\
+ \bottomrule
+ \end{tabular*}
+ \end{minipage}
+ \hfill
+ \begin{minipage}[t]{0.45\linewidth}
+ \begin{tabular*}{\linewidth}{ccccc}
+ \toprule
+ $i$ & $v$ & $2v$ & $\lfloor 2v \rfloor$ & $x_{-i}$ \\
+ \midrule
+ $1$ & $0,31$ & $0,62$ & $0$ & $0$ \\
+ $2$ & $0,62$ & $1,24$ & $1$ & $1$ \\
+ $3$ & $0,24$ & $0,48$ & $0$ & $0$ \\
+ $4$ & $0,48$ & $0,96$ & $0$ & $0$ \\
+ $5$ & $0,96$ & $1,92$ & $1$ & $1$ \\
+ \bottomrule
+ \end{tabular*}
+ \end{minipage}
+\end{table}
+
+
+\end{document}
diff --git a/info/formation-latex-ul/doc/exercice_trucs.tex b/info/formation-latex-ul/doc/exercice_trucs.tex
new file mode 100644
index 0000000000..22cd1fe9fc
--- /dev/null
+++ b/info/formation-latex-ul/doc/exercice_trucs.tex
@@ -0,0 +1,102 @@
+\documentclass[11pt,french]{article}
+ \usepackage[utf8]{inputenc}
+ \usepackage[T1]{fontenc}
+ \usepackage{babel}
+ \usepackage[autolanguage]{numprint}
+ \usepackage{fontawesome} % icônes de la commande \doc
+ \usepackage{metalogo} % logo \XeLaTeX
+ \usepackage{hyperref} % hyperliens; chargé en dernier!
+
+ \newcommand{\class}[1]{\textsf{#1}}
+ \newcommand{\fichier}[1]{\texttt{#1}}
+
+ \newcommand{\link}[2]{\href{#1}{#2~\raisebox{-0.2ex}{\faExternalLink}}}
+ \newcommand{\doc}[3][documentation]{\link{#3}{#1}%
+ \marginpar[\hfill\faBookmark~\fichier{#2}]{\faBookmark~\fichier{#2}}}
+
+ \title{\class{ulthese}: la classe pour les thèses et mémoires de
+ l'Université Laval}
+ \author{Faculté des études supérieures et postdoctorales\thanks{%
+ Cette classe et sa documentation ont été rédigées par Vincent
+ Goulet~(Faculté des sciences et de génie) avec la collaboration de
+ Koassi D'Almeida~(Faculté des études supérieures et postdoctorales) et
+ Pierre Lasou~(Bibliothèque).}}
+
+\begin{document}
+
+\maketitle
+
+\tableofcontents
+
+\section{Introduction}
+
+La classe \class{ulthese} permet de composer avec {\LaTeX} ou
+{\XeLaTeX} des thèses et mémoires immédiatement conformes aux règles
+générales de présentation matérielle de la Faculté des études
+supérieures et postdoctorales (FESP) de l'Université Laval. Ces
+règles définissent principalement la présentation des pages de titre
+des thèses et mémoires ainsi que la disposition du texte sur la
+page. La classe en elle-même est donc relativement simple.
+
+La classe \class{ulthese} est basée sur la classe \class{memoir},
+une extension de la classe standard \class{book} facilitant à
+plusieurs égards la préparation de documents d'allure
+professionnelle dans {\LaTeX}. La classe \class{memoir} est très
+configurable et incorpore d'office plus de 30 des paquetages
+(\emph{packages}) les plus populaires\footnote{%
+Consulter la section~18.24 de la documentation de \class{memoir}
+pour la liste ou encore le fichier journal (\emph{log}) de la
+compilation d'un document utilisant la classe \class{ulthese}.}. %
+L'intégralité des fonctionnalités de \class{memoir} se retrouve donc
+disponible dans \class{ulthese}.
+
+La classe \class{memoir} fait partie des distributions
+{\LaTeX} modernes; elle devrait donc être installée et disponible
+sur votre système. La classe est livrée avec une %
+\doc{memman.pdf}{http://texdoc.net/pkg/memoir}\footnote{%
+Première occurence d'une convention de ce document quand il s'agit
+de documentation d'un paquetage: un hyperlien mène vers une version
+en ligne dans le site \href{http://texdoc.net}{TeXdoc Online} et on
+trouve dans la marge le nom du fichier correspondant sur un système
+doté d'une installation de {\TeX}~Live.} %
+exhaustive: le manuel d'instructions fait près de 600~pages! Il peut
+être utile de s'y référer de temps à autre pour réaliser une mise en
+page particulière.
+
+\section{Installation}
+
+La classe est livrée avec la distribution {\TeX}~Live. Si vous
+utilisez cette distribution et qu'elle est à jour, vous devriez
+pouvoir utiliser \class{ulthese} sans autre intervention. Dans ce
+cas, passez directement à la section suivante.
+
+Le reste de cette section explique comment installer la classe si
+elle n'est pas disponible sur votre système ou si la version n'est
+pas à jour.
+
+La classe est distribuée sous forme d'une archive
+\fichier{ulthese.zip} via le réseau de sites \emph{Comprehensive R
+ Archive Network} (CTAN):
+\begin{quote}
+ \url{http://www.ctan.org/pkg/ulthese}
+\end{quote}
+
+L'installation de la classe consiste à créer le fichier
+\fichier{ulthese.cls} et plusieurs gabarits \fichier{.tex} à partir du
+code source documenté se trouvant dans le fichier
+\fichier{ulthese.dtx}. Il est recommandé de simplement créer ces
+fichiers dans le dossier de travail de la thèse ou du mémoire.
+
+Pour procéder à l'installation, décompresser l'archive
+\fichier{ulthese.zip} dans le dossier de travail, puis compiler avec
+{\LaTeX} le fichier \fichier{ulthese.ins} en exécutant
+\begin{verbatim}
+latex ulthese.ins
+\end{verbatim}
+depuis une invite de commande. Si l'on est peu familier avec l'invite
+de commande, on peut aussi procéder comme avec tout document {\LaTeX},
+soit ouvrir le fichier \fichier{ulthese.ins} dans son éditeur de texte
+favori et lancer depuis celui-ci la compilation avec {\LaTeX},
+pdf{\LaTeX}, {\XeLaTeX} ou un autre moteur {\TeX}.
+
+\end{document}
diff --git a/info/formation-latex-ul/doc/exercice_ulthese.tex b/info/formation-latex-ul/doc/exercice_ulthese.tex
new file mode 100644
index 0000000000..40b6154c29
--- /dev/null
+++ b/info/formation-latex-ul/doc/exercice_ulthese.tex
@@ -0,0 +1,69 @@
+\documentclass[PhD,english,french]{ulthese}
+ %% Encodage utilisé pour les caractères accentués dans les fichiers
+ %% source du document. Les gabarits sont encodés en UTF-8. Inutile avec
+ %% XeLaTeX, qui gère Unicode nativement.
+ \ifxetex\else \usepackage[utf8]{inputenc} \fi
+
+ %% Charger ici les autres paquetages nécessaires pour le document.
+ %% Quelques exemples; décommenter au besoin.
+ %\usepackage{amsmath} % recommandé pour les mathématiques
+ %\usepackage{icomma} % gestion de la virgule dans les nombres
+
+ %% Utilisation d'une autre police de caractères pour le document.
+ %% - Sous LaTeX
+ %\usepackage{mathpazo} % texte et mathématiques en Palatino
+ %\usepackage{mathptmx} % texte et mathématiques en Times
+ %% - Sous XeLaTeX
+ %\setmainfont{TeX Gyre Pagella} % texte en Pagella (Palatino)
+ %\setmathfont{TeX Gyre Pagella Math} % mathématiques en Pagella (Palatino)
+ %\setmainfont{TeX Gyre Termes} % texte en Termes (Times)
+ %\setmathfont{TeX Gyre Termes Math} % mathématiques en Termes (Times)
+
+ %% Gestion des hyperliens dans le document. S'assurer que hyperref
+ %% est le dernier paquetage chargé.
+ \usepackage{hyperref}
+ \hypersetup{colorlinks,allcolors=ULlinkcolor}
+
+ %% Options de mise en forme du mode français de babel. Consulter la
+ %% documentation du paquetage babel pour les options disponibles.
+ %% Désactiver (effacer ou mettre en commentaire) si l'option
+ %% 'nobabel' est spécifiée au chargement de la classe.
+ \frenchbsetup{%
+ StandardItemizeEnv=true, % format standard des listes
+ ThinSpaceInFrenchNumbers=true, % espace fine dans les nombres
+ og=«, fg=» % caractères « et » sont les guillemets
+ }
+
+ %% Déclarations de la page titre. Remplacer les éléments entre < >.
+ %% Supprimer les caractères < >. Couper un long titre ou un long
+ %% sous-titre manuellement avec \\.
+ \titre{<Titre principal>}
+ % \titre{Ceci est un exemple de long titre \\
+ % avec saut de ligne manuel}
+ % \soustitre{Sous-titre le cas échéant}
+ % \soustitre{Ceci est un exemple de long sous-titre \\
+ % avec saut de ligne manuel}
+ \auteur{<Prénom Nom>}
+ \programme{Doctorat en <discipline> -- <majeure, s'il y a lieu>}
+ \annee{<20xx>}
+
+\begin{document}
+
+\frontmatter % pages liminaires
+
+\pagetitre % production de la page titre
+
+\tableofcontents % production de la TdM
+\cleardoublepage
+
+\listoftables % production de la liste des tableaux
+\cleardoublepage
+
+\listoffigures % production de la liste des figures
+\cleardoublepage
+
+\mainmatter % corps du document
+
+\include{b-a-ba-math}
+
+\end{document}
diff --git a/info/formation-latex-ul/doc/formation-latex-ul-diapos.pdf b/info/formation-latex-ul/doc/formation-latex-ul-diapos.pdf
new file mode 100644
index 0000000000..cc62ade050
--- /dev/null
+++ b/info/formation-latex-ul/doc/formation-latex-ul-diapos.pdf
Binary files differ
diff --git a/info/formation-latex-ul/doc/formation-latex-ul.bib b/info/formation-latex-ul/doc/formation-latex-ul.bib
new file mode 120000
index 0000000000..1d8a2af776
--- /dev/null
+++ b/info/formation-latex-ul/doc/formation-latex-ul.bib
@@ -0,0 +1 @@
+../source/formation-latex-ul.bib \ No newline at end of file
diff --git a/info/formation-latex-ul/doc/formation-latex-ul.pdf b/info/formation-latex-ul/doc/formation-latex-ul.pdf
new file mode 100644
index 0000000000..dace0b33a1
--- /dev/null
+++ b/info/formation-latex-ul/doc/formation-latex-ul.pdf
Binary files differ
diff --git a/info/formation-latex-ul/doc/pagetitre.tex b/info/formation-latex-ul/doc/pagetitre.tex
new file mode 100644
index 0000000000..5b68191278
--- /dev/null
+++ b/info/formation-latex-ul/doc/pagetitre.tex
@@ -0,0 +1,13 @@
+\begin{titlingpage}
+ \centering
+ \LARGE\bfseries%
+ \thetitle \\
+ \vfill
+ \Large
+ par \\
+ \vspace{1cm}
+ \theauthor
+ \vfill
+ \normalsize
+ \thedate
+\end{titlingpage} \ No newline at end of file
diff --git a/info/formation-latex-ul/doc/rpresentation.tex b/info/formation-latex-ul/doc/rpresentation.tex
new file mode 100644
index 0000000000..d4c6914727
--- /dev/null
+++ b/info/formation-latex-ul/doc/rpresentation.tex
@@ -0,0 +1,78 @@
+\chapter{Présentation du langage R}
+\label{chap:rpresentation}
+
+\section{Bref historique}
+\label{sec:rpresentation:historique}
+
+À l'origine fut le S, un langage pour «programmer avec des données»
+développé chez Bell Laboratories à partir du milieu des années 1970
+par une équipe de chercheurs menée par John~M.\ Chambers. Au fil du
+temps, le S a connu quatre principales versions communément
+identifiées par la couleur du livre dans lequel elles étaient
+présentées: %
+version «originale», %
+version 2, %
+version 3 et %
+version 4; %
+voir aussi <citation> et <citation> pour plus de détails.
+
+Dès la fin des années 1980 et pendant près de vingt ans, le S a
+principalement été popularisé par une mise en {\oe}uvre commerciale
+nommée S-PLUS. En 2008, Lucent Technologies a vendu le langage S à
+Insightful Corporation, ce qui a effectivement stoppé le développement
+du langage par ses auteurs originaux. Aujourd'hui, le S est
+commercialisé de manière relativement confidentielle sous le nom
+Spotfire S$+$ par TIBCO Software.
+
+Ce qui a fortement contribué à la perte d'influence de S-PLUS, c'est
+une nouvelle mise en {\oe}uvre du langage développée au milieu des
+années 1990. Inspirés à la fois par le S et par Scheme (un dérivé du
+Lisp), Ross Ihaka et Robert Gentleman proposent un langage pour
+l'analyse de données et les graphiques qu'ils nomment R. À la
+suggestion de Martin Maechler de l'ETH de Zurich, les auteurs décident
+d'intégrer leur nouveau langage au projet GNU\footnote{%
+ \url{http://www.gnu.org}}, %
+faisant de R un logiciel libre.
+
+Ainsi disponible gratuitement et ouvert aux contributions de tous,
+R gagne rapidement en popularité là même où S-PLUS avait acquis ses
+lettres de noblesse, soit dans les milieux académiques. De simple
+dérivé «\emph{not unlike S}», R devient un concurrent sérieux à
+S-PLUS, puis le surpasse lorsque les efforts de développement se
+rangent massivement derrière le projet libre. D'ailleurs John Chambers
+place aujourd'hui ses efforts de réflexion et de développement dans le
+projet R.
+
+
+\section{Interfaces}
+\label{sec:rpresentation:interfaces}
+
+R est d'abord et avant tout une application n'offrant qu'une invite de
+commande du type de celle présentée à la
+\ref{fig:rpresentation:console}. En soi, cela n'est pas si différent
+d'un tableur tel que Excel: la zone d'entrée de texte dans une cellule
+n'est rien d'autre qu'une invite de commande\footnote{%
+ Merci à Markus Gesmann pour cette observation.}, par ailleurs aux
+capacités d'édition plutôt réduites.
+
+\begin{figure}
+ \centering
+% \includegraphics[width=\textwidth]{console-screenshot}
+ \caption{Fenêtre de la console sous macOS au démarrage de R}
+ \label{fig:rpresentation:console}
+\end{figure}
+
+\begin{itemize}
+\item Sous Unix et Linux, R n'est accessible que depuis la ligne de
+ commande du système d'exploitation (terminal). Aucune interface
+ graphique n'est offerte avec la distribution de base de R.
+\item Sous Windows, une interface graphique plutôt rudimentaire est
+ disponible. Elle facilite certaines opérations tel que
+ l'installation de packages externes, mais elle offre autrement peu
+ de fonctionnalités additionnelles pour l'édition de code R.
+\item L'interface graphique de R sous Mac OS~X est la plus élaborée.
+ Outre la console présentée à la
+ \ref{fig:rpresentation:console}, l'application \texttt{R.app}
+ comporte de nombreuses fonctionnalités, dont un éditeur de code
+ assez complet.
+\end{itemize}
diff --git a/info/formation-latex-ul/doc/ul_p.pdf b/info/formation-latex-ul/doc/ul_p.pdf
new file mode 120000
index 0000000000..35498b3d52
--- /dev/null
+++ b/info/formation-latex-ul/doc/ul_p.pdf
@@ -0,0 +1 @@
+../source/images/ul_p.pdf \ No newline at end of file
diff --git a/info/formation-latex-ul/source/apparence-diapos.tex b/info/formation-latex-ul/source/apparence-diapos.tex
new file mode 100644
index 0000000000..8a6ad45712
--- /dev/null
+++ b/info/formation-latex-ul/source/apparence-diapos.tex
@@ -0,0 +1,151 @@
+%%% Copyright (C) 2018 Vincent Goulet
+%%%
+%%% Ce fichier fait partie du projet
+%%% «Rédaction avec LaTeX»
+%%% https://gitlab.com/vigou3/formation-latex-ul
+%%%
+%%% Cette création est mise à disposition sous licence
+%%% Attribution-Partage dans les mêmes conditions 4.0
+%%% International de Creative Commons.
+%%% https://creativecommons.org/licenses/by-sa/4.0/
+
+\section{Apparence et disposition du texte}
+
+\subsection{Police et style}
+
+\begin{frame}
+ \frametitle{Police de caractères}
+
+ Par défaut, {\LaTeX} compose les documents dans la police
+ {\CM Computer Modern}.
+
+ \begin{itemize}
+ \item Aujourd'hui plus facile d'utiliser d'autres polices, surtout
+ avec {\XeLaTeX}
+ \item \alert{Attention}: peu de polices adaptées pour les
+ mathématiques
+ \item Commandes pour modifier les \alert{attributs} de la police
+ (famille, forme, graisse)
+ \item Commandes pour modifier la \alert{taille} du texte (de
+ \cs{tiny} à \cs{Huge})
+ \end{itemize}
+\end{frame}
+
+\begin{frame}[fragile]
+ \frametitle{Italique}
+ \begin{itemize}
+ \item<1-> Une des propriétés les \emph{plus utilisées} dans le texte
+ \vfill
+ \item<1-> Commande sémantique:
+\begin{lstlisting}
+\emph`\marg{texte}'
+\end{lstlisting}
+ \vfill
+ \item<2-> Par défaut: texte en italique dans texte droit et vice versa
+ \begin{demo}
+ \small
+ \begin{texample}[0.48\linewidth]
+\begin{lstlisting}
+C'était un peu \emph{rough}
+par moments
+\end{lstlisting}
+ \producing
+ C'était un peu \emph{rough} par moments
+ \end{texample}
+
+ \begin{texample}[0.48\linewidth]
+\begin{lstlisting}
+Il m'a dit: «\emph{Enough
+\emph{poutine} for the
+week!}»
+\end{lstlisting}
+ \producing
+ Il m'a dit: «\emph{Enough \emph{poutine} for the week!}»
+ \end{texample}
+ \end{demo}
+ \item<3-> Pas de commande pour souligner en {\LaTeX\dots} et ce n'est
+ pas une omission!
+ \end{itemize}
+\end{frame}
+
+\subsection{Disposition du texte}
+
+\begin{frame}[fragile]
+ \frametitle{Listes}
+ \begin{itemize}
+ \item Deux principales sortes de listes:
+ \begin{enumerate}
+ \item \alert{à puce} avec environnement \texttt{itemize}
+ \item \alert{numérotée} avec environnement \texttt{enumerate}
+ \end{enumerate}
+ \item Possible de les imbriquer les unes dans les autres
+ \item Marqueurs adaptés automatiquement jusqu'à 4 niveaux
+ \end{itemize}
+ \pause
+
+\begin{lstlisting}
+\begin{itemize}
+\item Deux principales sortes de listes:
+ \begin{enumerate}
+ \item à puce avec environnement \texttt{itemize}
+ \item numérotée avec environnement \texttt{enumerate}
+ \end{enumerate}
+\item Possible de les imbriquer les unes dans les autres
+\item Marqueurs adaptés automatiquement jusqu'à 4 niveaux
+\end{itemize}
+\end{lstlisting}
+\end{frame}
+
+\begin{frame}[fragile]
+ \frametitle{Notes de bas de page}
+ \begin{itemize}
+ \item Note de bas de page insérée avec la commande
+\begin{lstlisting}
+\footnote`\marg{texte de la note}'
+\end{lstlisting}
+ \item Commande doit suivre immédiatement le texte à annoter
+ \item Numérotation et disposition automatiques
+ \end{itemize}
+\end{frame}
+
+\begin{frame}[fragile=singleslide]
+ \frametitle{Code source}
+ \begin{itemize}
+ \item Environnement \texttt{verbatim}
+\begin{lstlisting}
+\begin{verbatim}
+Texte disposé exactement tel qu'il est tapé
+dans une police à largeur fixe
+\end{verbatim}
+\end{lstlisting}
+ \item Pour usage plus intensif, utiliser le paquetage \pkg{listings}
+ \end{itemize}
+\end{frame}
+
+\subsection{[~Exercice~]}
+
+\begin{exercice}
+ Utiliser le fichier \fichier{exercice\_complet.tex}.
+
+ \begin{enumerate}
+ \item Étudier le code source du fichier, puis le compiler.
+ \item Supprimer l'option \texttt{article} au chargement de la classe
+ et compiler de nouveau le document. Observer l'effet de cette
+ option.
+ \item Effectuer les modifications suivantes au document.
+ \begin{enumerate}[a)]
+ \item Dernier paragraphe de la première section, placer toute la
+ phrase débutant par \texttt{«De simple dérivé»} à l'intérieur
+ d'une commande \cs{emph}.
+ \item Changer la puce des listes en spécifiant le symbole
+ \texttt{\$>\$} pour \texttt{ItemLabeli} dans la commande
+ \cs{frenchbsetup} du préambule.
+ \end{enumerate}
+ \end{enumerate}
+\end{exercice}
+
+%%% Local Variables:
+%%% TeX-master: "formation-latex-ul-diapos"
+%%% TeX-engine: xetex
+%%% coding: utf-8
+%%% End:
diff --git a/info/formation-latex-ul/source/apparence.tex b/info/formation-latex-ul/source/apparence.tex
new file mode 100644
index 0000000000..4c35253f0f
--- /dev/null
+++ b/info/formation-latex-ul/source/apparence.tex
@@ -0,0 +1,576 @@
+%%% Copyright (C) 2018 Vincent Goulet
+%%%
+%%% Ce fichier fait partie du projet
+%%% «Rédaction avec LaTeX»
+%%% https://gitlab.com/vigou3/formation-latex-ul
+%%%
+%%% Cette création est mise à disposition sous licence
+%%% Attribution-Partage dans les mêmes conditions 4.0
+%%% International de Creative Commons.
+%%% https://creativecommons.org/licenses/by-sa/4.0/
+
+\chapter{Apparence et disposition du texte}
+\label{chap:apparence}
+
+Les bonnes pratiques dictent de séparer le contenu du texte de son
+apparence lorsque l'on utilise un système de mise en page comme
+{\LaTeX}. Néanmoins, vient un moment où l'on peut souhaiter modifier
+l'apparence générale du document ou disposer le texte d'une manière
+particulière. {\LaTeX} offre toute la flexibilité voulue, que ce soit
+pour contrôler les attributs et la taille des polices de caractères,
+disposer du texte sous forme de liste numérotée ou à puce, centrer du
+texte ou créer des notes de base de page et des citations.
+
+\section{Police de caractères}
+\label{sec:apparence:police}
+
+Par défaut, tous les documents {\LaTeX} utilisent la même police de
+caractères\footnote{%
+ Donald~Knuth a créé la police en même temps que {\TeX}.}, %
+{\fontfamily{lmr}\selectfont Computer Modern}. Chose qui ne manquera
+pas de surprendre les utilisateurs débutants: le système n'a pas été
+conçu pour changer facilement la police du document!
+
+Cela dit, il est aujourd'hui devenu assez simple d'utiliser d'autres
+polices pour son document, surtout avec les moteurs
+{\TeX} modernes comme {\XeTeX}. La \autoref{sec:trucs:polices} traite
+du sujet plus en détail.
+
+Cette section se concentre plutôt sur le changement d'\emph{attribut}
+de la police du document, qu'il s'agisse de la famille (avec ou sans
+empattements, à largeur fixe ou variable), de la forme (droit,
+italique, penché) ou de la graisse (normal, gras). Le
+\autoref{tab:apparence:police} dresse la liste des commandes de
+changement d'attribut de la police.
+
+\begin{table}
+ \centering
+ \caption[Commandes de changement d'attribut de la police]{%
+ Commandes de changement d'attribut de la police. Les
+ commandes de la deuxième colonne s'appliquent à tout le texte qui
+ suit. Celles de la troisième colonne s'appliquent uniquement au
+ texte en argument.}
+ \label{tab:apparence:police}
+ \begin{tabularx}{0.9\linewidth}{p{0.35\linewidth}Xl}
+ \toprule
+ \textbf{Famille} \\
+ \textrm{romain} & \cmd{\rmfamily} & \cmd{\textrm}\marg{texte} \\
+ \texttt{largeur fixe} & \cmd{\ttfamily} & \cmd{\texttt}\marg{texte} \\
+ \textsf{sans empattements} & \cmd{\sffamily} & \cmd{\textsf}\marg{texte} \\
+ \addlinespace[6pt]
+ \textbf{Forme} \\
+ \textup{\rmfamily droit} & \cmd{\upshape} & \cmd{\textup}\marg{texte} \\
+ \textit{\rmfamily italique} & \cmd{\itshape} & \cmd{\textit}\marg{texte} \\
+ \textsl{penché}$^\dagger$ & \cmd{\slshape} & \cmd{\textsl}\marg{texte} \\
+ \textsc{\rmfamily petites capitales} & \cmd{\scshape} & \cmd{\textsc}\marg{texte} \\
+
+ \addlinespace[6pt]
+ \textbf{Série} \\
+ \textmd{\rmfamily moyen} & \cmd{\mdseries} & \cmd{\textmd}\marg{texte} \\
+ \textbf{\rmfamily gras} & \cmd{\bfseries} & \cmd{\textbf}\marg{texte} \\
+ \bottomrule
+ \end{tabularx} \\
+ \raggedright
+ \hspace*{3em}{\footnotesize $^\dagger$ diffère de l'italique selon
+ la police utilisée}
+\end{table}
+
+La commande
+\begin{lstlisting}
+\normalfont
+\end{lstlisting}
+permet de revenir d'un trait à la police par défaut, soit le romain,
+droit de graisse moyenne.
+
+\begin{exemple}
+ \label{ex:apparence:police}
+ La commande \cmd{\setsecheadstyle} de la classe \class{memoir}
+ permet de modifier facilement le style des titres de section pour
+ tout le document. Pour obtenir des titres de section en gras sans
+ empattements, on placera dans le préambule d'un document utilisant
+ cette classe la commande suivante:
+\begin{lstlisting}
+\setsecheadstyle{\normalfont\sffamily\bfseries}
+\end{lstlisting}
+ L'utilisation de \cmd{\normalfont} au début de la série de commandes
+ permet de réinitialiser le style des titres, question d'éviter
+ d'éventuels conflits avec une configuration antérieure. %
+ \qed
+\end{exemple}
+
+\section{Taille du texte}
+\label{sec:apparence:taille}
+
+On se souviendra que l'on règle la taille de base du texte au
+chargement de la classe du document, tel qu'expliqué à la
+\autoref{sec:bases:classes}. Les commandes du
+\autoref{tab:apparence:taille} permettent néanmoins de réduire ou
+d'agrandir la taille des caractères pour une section du texte. Les
+commandes servent également pour la configuration de l'apparence
+générale du document dans le préambule.
+
+La taille des car
+
+\begin{table}
+ \centering
+ \caption[Commandes de changement de la taille des caractères]{%
+ Commandes de changement de la taille des caractères. Toutes
+ les tailles sont relatives à celle de police de base du document.}
+ \label{tab:apparence:taille}
+ \begin{tabularx}{0.9\linewidth}{Xl}
+ \toprule
+ \cmd{\miniscule}$^\dagger$ & {\miniscule minuscule} \\
+ \cmd{\tiny} & {\tiny vraiment petit} \\
+ \cmd{\scriptsize} & {\scriptsize encore plus petit} \\
+ \cmd{\footnotesize} & {\footnotesize plus petit} \\
+ \cmd{\small} & {\small petit} \\
+ \cmd{\normalsize} & {\normalsize taille normale} \\
+ \cmd{\large} & {\large grand} \\
+ \cmd{\Large} & {\Large plus grand} \\
+ \cmd{\LARGE} & {\LARGE encore plus grand} \\
+ \cmd{\huge} & {\huge énorme} \\
+ \cmd{\Huge} & {\Huge encore plus énorme} \\
+ \cmd{\HUGE}$^\dagger$ & {\HUGE vraiment énorme} \\
+ \bottomrule
+ \end{tabularx} \\
+ \raggedright
+ \hspace*{3em}{\footnotesize $^\dagger$ ajout de la classe
+ \class{memoir} (et donc aussi de \class{ulthese})}
+\end{table}
+
+\begin{exemple}
+ \label{ex:taille-du-texte}
+ Les titres de sections sont généralement composés dans une taille
+ supérieure à celle du texte. La commande suivante permet d'augmenter
+ de deux échelons la taille des titres de
+ l'\autoref{ex:apparence:police}:
+\begin{lstlisting}
+\setsecheadstyle{\normalfont\Large\sffamily\bfseries}
+\end{lstlisting}
+ \qed
+\end{exemple}
+
+\section{Italique}
+
+L'italique est l'un des attributs de police les plus fréquemment
+employés dans le texte. Il sert, notamment, à insister sur des mots, à
+composer les expressions et locutions en langue étrangère ou à
+détacher les titres d'{\oe}uvres du fil du texte.
+
+Évidemment, il est possible d'obtenir de l'italique avec la commande
+\cmd{\textit} du \autoref{tab:apparence:police}. Cependant, nous
+recommandons plutôt d'utiliser une commande spécifiquement dédiée à
+mettre en évidence une portion de texte:
+\begin{lstlisting}
+\emph`\marg{texte}'
+\end{lstlisting}
+Par défaut, la commande \cmd{\emph} (pour \emph{emphasis}, «emphase»)
+placera \meta{texte} en italique dans du texte en romain (droit), ou
+encore en romain dans du texte déjà en italique.
+\begin{demo}
+ \begin{texample}
+\begin{lstlisting}
+C'était un peu \emph{rough}
+par moments.
+\end{lstlisting}
+ \producing
+ C'était un peu \emph{rough} par moments.
+ \end{texample}
+ \begin{texample}
+\begin{lstlisting}
+Il m'a dit: «\emph{Enough
+\emph{poutine} for the
+week!}»
+\end{lstlisting}
+ \producing
+ Il m'a dit: «\emph{Enough \emph{poutine} for the week!}»
+ \end{texample}
+\end{demo}
+
+\tipbox{Le soulignement\index{soulignement} servait pour remplacer
+ l'italique à l'ère des dactylos. C'est aujourd'hui une marque de
+ typographie très rarement utilisée, voire à éviter. Ce n'est donc
+ pas pour rien qu'il n'existe pas de commande de soulignement dans
+ les classes {\LaTeX} standards.}
+
+
+\section{Listes}
+\label{sec:apparence:listes}
+
+{\LaTeX} offre deux environnements principaux pour la composition de
+listes ou d'énumérations:
+\begin{demo}
+ \begin{minipage}{0.48\linewidth}
+\begin{lstlisting}
+\begin{itemize}
+\item `\meta{texte}'
+\item `\meta{texte}'
+...
+\end{itemize}
+\end{lstlisting}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{0.48\linewidth}
+\begin{lstlisting}
+\begin{enumerate}
+\item `\meta{texte}'
+\item `\meta{texte}'
+...
+\end{enumerate}
+\end{lstlisting}
+ \end{minipage}
+\end{demo}
+L'environnement \Ie{itemize} crée une liste à puce, alors que
+l'environnement \Ie{enumerate} crée une énumération. Il est possible
+d'imbriquer les listes les unes dans les autres, et ce, peu importe
+leur type. {\LaTeX} se chargera d'adapter les marqueurs ou la
+numérotation jusqu'à quatre niveaux de profondeur.
+
+Illustrons ces concepts par le biais d'un exemple.
+
+\begin{exemple}
+ La liste mixte suivante résume les étapes de création d'une liste
+ avec {\LaTeX}.
+ \begin{enumerate}
+ \item Décider s'il s'agit d'une liste à puce ou d'une énumération;
+ \begin{itemize}
+ \item pour une liste à puce utiliser environnement \Ie{itemize};
+ \begin{itemize}
+ \item chaque niveau d'une liste à puce possède un marqueur
+ différent;
+ \end{itemize}
+ \item pour une énumération utiliser environnement \Ie{enumerate};
+ \end{itemize}
+ \item Débuter chaque élément de la liste par la commande
+ \cmdprint{\item}.
+ \begin{enumerate}
+ \item utiliser simplement un autre environnement \Pe{itemize} ou
+ \Pe{enumerate} comme texte d'un élément pour créer des listes
+ imbriquées;
+ \item {\LaTeX} ajustera automatiquement les marqueurs;
+ \end{enumerate}
+ \item S'assurer de fermer tous les environnements dans le bon ordre
+ pour retourner au texte normal.
+ \end{enumerate}
+
+ On a composé la liste ci-dessus avec le texte suivant.
+ \begin{demo}
+\begin{lstlisting}[emph={enumerate,itemize}]
+\begin{enumerate}
+\item Décider s'il s'agit d'une liste à puce ou [...]
+ \begin{itemize}
+ \item pour une liste à puce utiliser [...]
+ \begin{itemize}
+ \item chaque niveau d'une liste à puce [...]
+ \end{itemize}
+ \item pour une énumération utiliser [...]
+ \end{itemize}
+\item Débuter chaque élément de la liste par la commande
+ \verb=\item=.
+ \begin{enumerate}
+ \item utiliser simplement un autre environnement [...]
+ \item {\LaTeX} ajustera automatiquement les marqueurs;
+ \end{enumerate}
+\item S'assurer de fermer tous les environnements [...]
+\end{enumerate}
+\end{lstlisting}
+ \end{demo}
+ \qed
+\end{exemple}
+
+{\LaTeX} permet de configurer à peu près toutes les facettes de la
+présentation des listes: puces, folios, alignement, espacement entre
+les éléments, etc. Cette grande flexibilité implique une certaine
+complexité et la configuration des listes dépasse le cadre du présent
+document. Plusieurs paquetages facilitent toutefois la configuration
+des listes; nous recommandons à ce titre le paquetage \pkg{enumitem}
+\citep{enumitem}.
+
+\tipbox{Le mode français de \pkg{babel} remplace les puces par défaut
+ en anglais ({\textbullet}, {\textendash}, $\ast$ et $.$ pour chacun
+ des quatre niveaux de l'environnement \Ie{itemize}) par le tiret
+ cadratin {\textemdash}.
+
+ On peut désactiver cette fonctionnalité de \pkg{babel} en entrant
+ l'option \code{StardardItemLabels=true} dans \cmd{\frenchbsetup}
+ (\autoref{sec:bases:francais:babel}).
+
+ De plus, il est possible de modifier le symbole utilisé comme puce
+ pour l'un, l'autre ou chacun des quatre niveaux en configurant,
+ toujours via \cmd{\frenchbsetup}, les options du paquetage
+ \code{ItemLabeli}, \code{ItemLabelii}, \code{ItemLabeliii} et
+ \code{ItemLabeliv}. La \emph{Comprehensive {\LaTeX} Symbol List}
+ \citep{comprehensive} propose une immense sélection de symboles
+ pouvant faire office de puces.}
+
+Il existe un troisième environnement, plus rarement utilisé, pour
+composer du texte sous une forme s'apparentant à une liste.
+L'environnement \Ie{description} permet d'associer des termes à une
+définition ou une description pour chacun.
+\begin{demo}
+ \begin{texample}
+\begin{lstlisting}
+\begin{description}
+\item[rouge] première couleur
+ primaire
+\item[vert] seconde couleur
+ primaire
+\item[bleu] troisième couleur
+ primaire
+\end{description}
+\end{lstlisting}
+ \producing
+\begin{description}
+\item[rouge] première couleur primaire
+\item[vert] seconde couleur primaire
+\item[bleu] troisième couleur primaire
+\end{description}
+ \end{texample}
+\end{demo}
+
+
+\section{Texte centré}
+\label{sec:apparence:centering}
+
+On obtient du texte centré avec l'environnement \Ie{center} ou à
+l'aide de la commande \cmd{\centering}. L'environnement sert
+principalement pour centrer un bloc de texte.
+\begin{demo}
+ \begin{eqxample}
+\begin{lstlisting}
+\begin{center}
+ Centrer un mot ou une
+ expression les met en
+ évidence.
+\end{center}
+\end{lstlisting}
+ \producing
+\begin{center}
+ Centrer un mot ou une expression
+ les met en évidence.
+\end{center}
+ \end{eqxample}
+\end{demo}
+On remarquera que le texte centré n'est pas placé en retrait des
+marges gauche et droite (illustrées par les lignes verticales
+ci-dessus). Lorsque le texte fait plus d'une ligne, on pourra
+souhaiter forcer des retours à la ligne avec la commande {\bs\bs}.
+\begin{demo}
+ \begin{eqxample}
+\begin{lstlisting}
+\begin{center}
+ Centrer un mot \\
+ ou une expression \\
+ les met en évidence.
+\end{center}
+\end{lstlisting}
+ \producing
+\begin{center}
+ Centrer un mot \\
+ ou une expression \\
+ les met en évidence.
+\end{center}
+ \end{eqxample}
+\end{demo}
+
+La commande \cmd{\centering} s'applique à tout le texte qui suit. Elle
+s'avère surtout utile à l'intérieur d'environnements comme \Pe{table}
+ou \Pe{figure} pour centrer un tableau ou une figure sur la page. On
+trouvera plusieurs exemples de son utilisation
+au \autoref{chap:tableaux}.
+
+
+\section{Citations}
+\label{sec:apparence:citations}
+
+Une citation est une reproduction d'un propos ou d'un écrit antérieur
+d'un auteur qui est habituellement mentionné. Il existe deux
+environnements dans {\LaTeX} pour composer les citations.
+
+\begin{quote}
+ L'environnement \Ie{quote} est utilisé pour les citations courtes.
+ Le texte est placé en retrait des marges gauche et droite. Le
+ présent texte a été placé dans cet environnement.
+\end{quote}
+
+\begin{quotation}
+ L'environnement \Ie{quotation}, lui, sert pour les citations plus
+ longues se comptant en paragraphes.
+
+ La principale différence par rapport à l'environnement \Pe{quote},
+ c'est que \Pe{quotation} prend aussi en charge les marques de
+ paragraphes.
+
+ Ce paragraphe et les deux précédents sont composés dans
+ un environnement \Pe{quotation}.
+\end{quotation}
+
+
+\section{Notes de bas de page}
+\label{sec:apparence:notes}
+
+Une note de bas de page --- ou tout simplement \emph{note},
+puisqu'elle peut apparaitre ailleurs qu'au bas de la page --- est un
+court texte qui sert à expliquer un mot ou une phrase du texte
+principal. L'\emph{appel de note} désigne le signe, le chiffre ou la
+lettre que l'on place après la partie à expliquer.
+
+La commande
+\begin{lstlisting}
+\footnote`\marg{texte de la note}'
+\end{lstlisting}
+insère un appel de note à l'endroit où la commande apparait dans le
+texte et affiche \meta{texte de la note} à l'endroit
+approprié\footnote{%
+ Au bas de la page par défaut, comme ici. La note est composée dans
+ un corps plus petit et elle est séparée du texte par un trait.}. %
+{\LaTeX} se charge automatiquement de la numérotation et de la
+disposition des notes.
+
+Pour éviter que l'appel de note ne soit séparé du texte à expliquer,
+la commande \cmd{\footnote} doit immédiatement suivre celui-ci. La
+gestion des espaces peut alors devenir délicate, surtout si l'appel de
+note se trouve en fin de phrase. Nous recommandons de faire bon usage
+du symbole \% pour délimiter le contenu de \cmdprint{\footnote} du
+texte courant.
+\begin{lstlisting}[emph=footnote]
+%% note en fin de phrase
+Nous remercions Pierre Lasou\footnote{%
+ Spécialiste en ressources documentaires.}. %
+Il fut d'une grande aide dans la préparation de ...
+\end{lstlisting}
+\begin{lstlisting}[emph=footnote]
+%% note au fil de la phrase
+Nous soulignons que Pierre Lasou\footnote{%
+ Spécialiste en ressources documentaires.} %
+fut d'une grande aide dans la préparation de ...
+\end{lstlisting}
+
+Les usages en matière de numérotation et de disposition des notes
+varient beaucoup d'une discipline à l'autre: numérotation consécutive
+pour tout le document, notes dans la marge plutôt qu'au bas de la
+page, notes rassemblées à la fin de chaque chapitre ou à la toute fin
+du document, etc. Différents paquetages permettent de réaliser ce type
+de disposition, notamment \pkg{footmisc} \citep{footmisc}. Les
+utilisateurs de la classe \class{ulthese} pourront également tirer
+profit des nombreuses fonctionnalités de la classe \class{memoir} pour
+la gestion des notes; consulter le chapitre~12 de la %
+\doc{memoir}{http://texdoc.net/pkg/memoir} de \class{memoir}.
+
+
+\section{Texte brut et code source}
+\label{sec::apparence:code}
+
+Il est parfois utile d'afficher du texte exactement comme il a été
+saisi dans un fichier, sans que {\LaTeX} n'interprète les commandes
+qui s'y trouvent ou n'en modifie la disposition. C'est ainsi que nous
+avons composé les nombreux extraits de code du présent document.
+
+L'environnement \Ie{verbatim} permet de présenter du texte tel qu'il
+est entré dans le code source du document.
+\begin{demo}
+ \begin{texample}
+\begin{lstlisting}
+\begin{verbatim}
+Texte disposé exactement tel
+qu'il est tapé et
+présenté dans une police
+à largeur fixe
+\end{verbatim}
+\end{lstlisting}
+ \producing
+\begin{verbatim}
+Texte disposé exactement tel
+qu'il est tapé et
+présenté dans une police
+à largeur fixe
+\end{verbatim}
+\end{texample}
+\end{demo}
+La variante \Ie{verbatim*} affiche les espaces de manière explicite en
+les remplaçant par le symbole \verb*| |. C'est surtout utile pour le
+code source de langages informatiques où le nombre d'espaces joue un rôle
+important.
+
+Pour afficher du texte brut ou une commande {\LaTeX} au fil du texte,
+on aura recours à la commande
+\cmd{\verb}. Sa syntaxe est un peu particulière:
+\begin{lstlisting}
+\verb`\meta{c}\meta{source}\meta{c}'
+\end{lstlisting}
+où \meta{c} est un symbole quelconque ne se trouvant pas dans
+\meta{source} et qui sert à délimiter le début et la fin de
+\meta{source}. La variante
+\cmd{\verb*} affiche elle aussi les espaces.
+\begin{demo}
+ \begin{texample}
+\begin{lstlisting}
+{\LaTeX} n'interprète pas la
+commande \verb=\bfseries=
+lorsqu'elle est placée
+dans \verb=\verb=.
+\end{lstlisting}
+ \producing
+ {\LaTeX} n'interprète pas la
+ commande \verb=\bfseries=
+ lorsqu'elle est placée
+ dans \verb=\verb=.
+ \end{texample}
+ \begin{texample}
+\begin{lstlisting}
+Le nombre d'espaces entre les
+mots ne compte pas dans
+{\LaTeX}: \verb*=a b= et
+\verb*=a b= donnent «a b».
+\end{lstlisting}
+ \producing
+ Le nombre d'espaces entre les mots ne
+ compte pas dans {\LaTeX}: \verb*=a b= et
+ \verb*=a b= donnent «a b».
+ \end{texample}
+\end{demo}
+
+Pour tout document comportant une grande quantité de texte brut ou de
+code source, nous recommandons d'avoir le paquetage \pkg{listings}
+\citep{listings}. La \autoref{sec:trucs:listings} approfondit le
+sujet.
+
+
+%%%
+%%% Exercices
+%%%
+
+\section{Exercice}
+\label{sec:apparence:exercices}
+
+% \Opensolutionfile{solutions}[solutions-apparence]
+
+% \begin{Filesave}{solutions}
+% \section*{Chapitre \ref*{chap:apparence}}
+% \addcontentsline{toc}{section}{Chapitre \protect\ref*{chap:apparence}}
+
+% \end{Filesave}
+
+\begin{exercice}[nosol]
+ \begin{enumerate}
+ \item Ouvrir le fichier \fichier{exercice\_complet.tex} et en
+ étudier le code source, puis le compiler.
+ \item Supprimer l'option \code{article} au chargement de la classe
+ et compiler de nouveau le document. Observer l'effet de cette
+ option de la classe \class{memoir}.
+ \item Au dernier paragraphe de la première section, placer toute la
+ phrase débutant par \code{«De simple dérivé»} à l'intérieur d'une
+ commande \cmd{\emph} et compiler de nouveau le document.
+ \item Changer la puce des listes pour le symbole \code{\$>\$} et
+ compiler de nouveau le document.
+ \end{enumerate}
+\end{exercice}
+
+% \Closesolutionfile{solutions}
+
+%%% Local Variables:
+%%% mode: latex
+%%% TeX-master: "formation-latex-ul"
+%%% TeX-engine: xetex
+%%% coding: utf-8
+%%% End:
diff --git a/info/formation-latex-ul/source/auxdoc/exemple-classe-article.pdf b/info/formation-latex-ul/source/auxdoc/exemple-classe-article.pdf
new file mode 100644
index 0000000000..9dea32d048
--- /dev/null
+++ b/info/formation-latex-ul/source/auxdoc/exemple-classe-article.pdf
Binary files differ
diff --git a/info/formation-latex-ul/source/auxdoc/exemple-classe-article.tex b/info/formation-latex-ul/source/auxdoc/exemple-classe-article.tex
new file mode 100644
index 0000000000..a4db55c67c
--- /dev/null
+++ b/info/formation-latex-ul/source/auxdoc/exemple-classe-article.tex
@@ -0,0 +1,23 @@
+\documentclass{article}
+ \usepackage{lipsum}
+
+\begin{document}
+
+\section{Lorem ipsum}
+
+\lipsum[1]
+
+\subsection{Nam dui ligula}
+
+\lipsum[2-3]
+
+\subsubsection{Fusce mauris}
+
+\lipsum[4-6]
+
+\end{document}
+
+%%% Local Variables:
+%%% mode: latex
+%%% TeX-master: t
+%%% End:
diff --git a/info/formation-latex-ul/source/auxdoc/exemple-classe-book.pdf b/info/formation-latex-ul/source/auxdoc/exemple-classe-book.pdf
new file mode 100644
index 0000000000..3470a22080
--- /dev/null
+++ b/info/formation-latex-ul/source/auxdoc/exemple-classe-book.pdf
Binary files differ
diff --git a/info/formation-latex-ul/source/auxdoc/exemple-classe-book.tex b/info/formation-latex-ul/source/auxdoc/exemple-classe-book.tex
new file mode 100644
index 0000000000..b3b74dfa9a
--- /dev/null
+++ b/info/formation-latex-ul/source/auxdoc/exemple-classe-book.tex
@@ -0,0 +1,23 @@
+\documentclass{book}
+ \usepackage{lipsum}
+
+\begin{document}
+
+\chapter{Lorem ipsum}
+
+\lipsum[1]
+
+\section{Nam dui ligula}
+
+\lipsum[2-3]
+
+\subsection{Fusce mauris}
+
+\lipsum[4-6]
+
+\end{document}
+
+%%% Local Variables:
+%%% mode: latex
+%%% TeX-master: t
+%%% End:
diff --git a/info/formation-latex-ul/source/auxdoc/exemple-classe-report.pdf b/info/formation-latex-ul/source/auxdoc/exemple-classe-report.pdf
new file mode 100644
index 0000000000..308a459cbb
--- /dev/null
+++ b/info/formation-latex-ul/source/auxdoc/exemple-classe-report.pdf
Binary files differ
diff --git a/info/formation-latex-ul/source/auxdoc/exemple-classe-report.tex b/info/formation-latex-ul/source/auxdoc/exemple-classe-report.tex
new file mode 100644
index 0000000000..8fe7a8947d
--- /dev/null
+++ b/info/formation-latex-ul/source/auxdoc/exemple-classe-report.tex
@@ -0,0 +1,23 @@
+\documentclass{report}
+ \usepackage{lipsum}
+
+\begin{document}
+
+\chapter{Lorem ipsum}
+
+\lipsum[1]
+
+\section{Nam dui ligula}
+
+\lipsum[2-3]
+
+\subsection{Fusce mauris}
+
+\lipsum[4-6]
+
+\end{document}
+
+%%% Local Variables:
+%%% mode: latex
+%%% TeX-master: t
+%%% End:
diff --git a/info/formation-latex-ul/source/auxdoc/exemple-renvoi-autoref.pdf b/info/formation-latex-ul/source/auxdoc/exemple-renvoi-autoref.pdf
new file mode 100644
index 0000000000..f3375c31be
--- /dev/null
+++ b/info/formation-latex-ul/source/auxdoc/exemple-renvoi-autoref.pdf
Binary files differ
diff --git a/info/formation-latex-ul/source/auxdoc/exemple-renvoi-autoref.tex b/info/formation-latex-ul/source/auxdoc/exemple-renvoi-autoref.tex
new file mode 100644
index 0000000000..33300d4146
--- /dev/null
+++ b/info/formation-latex-ul/source/auxdoc/exemple-renvoi-autoref.tex
@@ -0,0 +1,24 @@
+\documentclass[11pt]{article}
+ \usepackage{fontspec}
+ \usepackage[colorlinks]{hyperref}
+
+\begin{document}
+
+\section{Définitions}
+\label{sec:definitions}
+
+Lorem ipsum dolor sit amet, consectetur adipiscing elit.
+Duis in auctor dui. Vestibulum ut, placerat ac, adipiscing
+vitae, felis.
+
+\section{Historique}
+
+Tel que vu à la \autoref{sec:definitions}, on a...
+
+\end{document}
+
+%%% Local Variables:
+%%% mode: latex
+%%% TeX-engine: xetex
+%%% TeX-master: t
+%%% End:
diff --git a/info/formation-latex-ul/source/auxdoc/exemple-renvoi-hyperref.pdf b/info/formation-latex-ul/source/auxdoc/exemple-renvoi-hyperref.pdf
new file mode 100644
index 0000000000..037517fd9b
--- /dev/null
+++ b/info/formation-latex-ul/source/auxdoc/exemple-renvoi-hyperref.pdf
Binary files differ
diff --git a/info/formation-latex-ul/source/auxdoc/exemple-renvoi-hyperref.tex b/info/formation-latex-ul/source/auxdoc/exemple-renvoi-hyperref.tex
new file mode 100644
index 0000000000..c9ac17985c
--- /dev/null
+++ b/info/formation-latex-ul/source/auxdoc/exemple-renvoi-hyperref.tex
@@ -0,0 +1,24 @@
+\documentclass[11pt]{article}
+ \usepackage{fontspec}
+ \usepackage[colorlinks]{hyperref}
+
+\begin{document}
+
+\section{Définitions}
+\label{sec:definitions}
+
+Lorem ipsum dolor sit amet, consectetur adipiscing elit.
+Duis in auctor dui. Vestibulum ut, placerat ac, adipiscing
+vitae, felis.
+
+\section{Historique}
+
+Tel que vu à la section \ref{sec:definitions}, on a...
+
+\end{document}
+
+%%% Local Variables:
+%%% mode: latex
+%%% TeX-engine: xetex
+%%% TeX-master: t
+%%% End:
diff --git a/info/formation-latex-ul/source/auxdoc/exemple-renvoi.pdf b/info/formation-latex-ul/source/auxdoc/exemple-renvoi.pdf
new file mode 100644
index 0000000000..bad7115cbd
--- /dev/null
+++ b/info/formation-latex-ul/source/auxdoc/exemple-renvoi.pdf
Binary files differ
diff --git a/info/formation-latex-ul/source/auxdoc/exemple-renvoi.tex b/info/formation-latex-ul/source/auxdoc/exemple-renvoi.tex
new file mode 100644
index 0000000000..554377cb75
--- /dev/null
+++ b/info/formation-latex-ul/source/auxdoc/exemple-renvoi.tex
@@ -0,0 +1,23 @@
+\documentclass[11pt]{article}
+ \usepackage{fontspec}
+
+\begin{document}
+
+\section{Définitions}
+\label{sec:definitions}
+
+Lorem ipsum dolor sit amet, consectetur adipiscing elit.
+Duis in auctor dui. Vestibulum ut, placerat ac, adipiscing
+vitae, felis.
+
+\section{Historique}
+
+Tel que vu à la section \ref{sec:definitions}, on a...
+
+\end{document}
+
+%%% Local Variables:
+%%% mode: latex
+%%% TeX-engine: xetex
+%%% TeX-master: t
+%%% End:
diff --git a/info/formation-latex-ul/source/auxdoc/exemple-titre.pdf b/info/formation-latex-ul/source/auxdoc/exemple-titre.pdf
new file mode 100644
index 0000000000..562c3ff572
--- /dev/null
+++ b/info/formation-latex-ul/source/auxdoc/exemple-titre.pdf
Binary files differ
diff --git a/info/formation-latex-ul/source/auxdoc/exemple-titre.tex b/info/formation-latex-ul/source/auxdoc/exemple-titre.tex
new file mode 100644
index 0000000000..e0daeb5aa1
--- /dev/null
+++ b/info/formation-latex-ul/source/auxdoc/exemple-titre.tex
@@ -0,0 +1,26 @@
+\documentclass[11pt,french]{article}
+ \usepackage{fontspec}
+ \usepackage{babel}
+ \usepackage{lipsum}
+
+ \title{Lorem ipsum dolor sit amet}
+ \author{Vincent Goulet%
+ \thanks{Mauris pharetra leo lacus, et suscipit
+ nulla consequat eget.} \\
+ École d'actuariat \\
+ Université Laval}
+
+\begin{document}
+
+\maketitle
+
+\lipsum[1-2]
+
+\end{document}
+
+%%% Local Variables:
+%%% mode: latex
+%%% TeX-engine: xetex
+%%% coding: utf-8
+%%% TeX-master: t
+%%% End:
diff --git a/info/formation-latex-ul/source/auxdoc/exercice_commandes-solution.pdf b/info/formation-latex-ul/source/auxdoc/exercice_commandes-solution.pdf
new file mode 100644
index 0000000000..ee1b915890
--- /dev/null
+++ b/info/formation-latex-ul/source/auxdoc/exercice_commandes-solution.pdf
Binary files differ
diff --git a/info/formation-latex-ul/source/auxdoc/exercice_commandes-solution.tex b/info/formation-latex-ul/source/auxdoc/exercice_commandes-solution.tex
new file mode 100644
index 0000000000..7ccdf5b863
--- /dev/null
+++ b/info/formation-latex-ul/source/auxdoc/exercice_commandes-solution.tex
@@ -0,0 +1,31 @@
+\documentclass[12pt,french]{article}
+ \usepackage{babel}
+ %% Activer les lignes appropriées selon le moteur utilisé
+ % \usepackage[utf8]{inputenc} % LaTeX
+ % \usepackage[T1]{fontenc} % LaTeX
+ \usepackage{fontspec} % XeLaTeX
+
+\begin{document}
+
+%% La commande \LaTeX qui imprime le logo de LaTeX n'ayant pas
+%% d'argument, il faut l'écrire sous la forme {\LaTeX} ou \LaTeX{}
+%% pour éviter que l'espace qui suit ne soit avalé par la commande.
+Les commandes {\LaTeX} débutent par le symbole \verb=\= et se
+terminent par le premier caractère autre qu'une lettre, y compris
+l'espace. Cela a pour conséquence qu'une espace immédiatement après
+une commande sans argument sera \emph{avalée} par la commande.
+
+%% Il faut délimiter par { } la zone à laquelle la commande \bfseries
+%% doit s'appliquer.
+La portée d'une commande est {\bfseries limitée} à la zone entre accolades.
+
+%% Il faut utiliser l'environnement enumerate pour les listes
+%% numérotées. L'environnement itemize sert pour les listes à puces.
+\begin{enumerate}
+\item L'environnement \texttt{enumerate} permet de créer une liste
+ numérotée.
+\item Les environnements de listes sont parmi les plus utilisés en
+ \LaTeX.
+\end{enumerate}
+
+\end{document}
diff --git a/info/formation-latex-ul/source/bases-diapos.tex b/info/formation-latex-ul/source/bases-diapos.tex
new file mode 100644
index 0000000000..2b3bbbe66b
--- /dev/null
+++ b/info/formation-latex-ul/source/bases-diapos.tex
@@ -0,0 +1,169 @@
+%%% Copyright (C) 2018 Vincent Goulet
+%%%
+%%% Ce fichier fait partie du projet
+%%% «Rédaction avec LaTeX»
+%%% https://gitlab.com/vigou3/formation-latex-ul
+%%%
+%%% Cette création est mise à disposition sous licence
+%%% Attribution-Partage dans les mêmes conditions 4.0
+%%% International de Creative Commons.
+%%% https://creativecommons.org/licenses/by-sa/4.0/
+
+\section{Principes de base}
+
+\subsection{Règles de saisie}
+
+\begin{frame}[fragile=singleslide]
+ \frametitle{Rédaction}
+
+ L'apparence du document est prise en charge par {\LaTeX} et
+ il est généralement préférable de ne pas la modifier.
+
+ \begin{itemize}
+ \item On se concentre sur le \alert{contenu} et la \alert{structure} du
+ document
+ \bigskip
+ \begin{tabbing}
+ titre de section \qquad\= \faArrowRight \qquad\= \verb|\section{titre}| \\[6pt]
+ emphase \> \faArrowRight \> \verb|\emph{texte}|
+ \end{tabbing}
+ \bigskip
+ \item Mots séparés par une ou plusieurs \alert{espaces}
+ \item Paragraphes séparés par une ou plusieurs \alert{lignes blanches}
+ \item Utilisation de \alert{commandes} pour indiquer la structure du texte
+ \end{itemize}
+\end{frame}
+
+\begin{frame}[fragile=singleslide]
+ \frametitle{Caractères réservés}
+
+ \begin{itemize}
+ \item Caractères réservés par {\TeX}:
+ \begin{quote}
+ \verb=# $ & ~ _ ^ % { }=
+ \end{quote}
+ \item Pour les utiliser, précéder par \bs
+ \item On écrira donc
+ \begin{demo}
+ \begin{texample}
+\begin{lstlisting}
+L'augmentation de 2~\$
+représente une hausse
+de 5~\%.
+\end{lstlisting}
+ \producing
+ L'augmentation de 2~\$ représente une
+ hausse de 5~\%.
+ \end{texample}
+ \end{demo}
+ \end{itemize}
+\end{frame}
+
+\subsection{Structure d'un fichier}
+
+\begin{frame}[fragile]
+ \frametitle{Structure d'un document {\LaTeX}}
+
+ Un fichier source {\LaTeX} est toujours composé de deux parties.
+
+ \begin{minipage}{0.2\linewidth}
+ \color{alert}
+ \onslide<2->{
+ \begin{minipage}{\linewidth}
+ \hfill préambule \quad
+ \rule[-10mm]{2pt}{21mm}
+ \end{minipage} \\[5mm]
+ }
+ \onslide<3->{
+ \begin{minipage}{\linewidth}
+ \hfill corps \quad
+ \rule[-15mm]{2pt}{30mm}
+ \end{minipage}
+ }
+ \end{minipage}
+ \hfill
+ \begin{minipage}{0.75\linewidth}
+\begin{lstlisting}[emph={documentclass,begin,end,document}]
+\documentclass[11pt,french]{article}
+ \usepackage{babel}
+ \usepackage[autolanguage]{numprint}
+ \usepackage[utf8]{inputenc}
+ \usepackage[T1]{fontenc}
+
+\begin{document}
+
+Lorem ipsum dolor sit amet, consectetur
+adipiscing elit. Donec quam nulla, bibendum
+vitae ipsum vel, fermentum pellentesque orci.
+
+\end{document}
+\end{lstlisting}
+ \end{minipage}
+\end{frame}
+
+\subsection{Commandes et environnements}
+
+\begin{frame}[fragile=singleslide]
+ \frametitle{Commandes}
+ \begin{itemize}
+ \item Débutent toujours par \bs
+ \item Exemples de syntaxe
+\begin{lstlisting}
+\LaTeX % aucun argument
+\emph{toujours} % un argument obligatoire
+\section*{Introduction} % effet modifié
+\rule[6pt]{5mm}{2pt} % un argument optionnel, deux obligatoires
+\end{lstlisting}
+ \item Commande sans argument: le nom se termine par tout
+ caractère qui n'est \alert{pas une lettre} (y compris l'espace!)
+ \item Portée d'une commande limitée à la zone entre \verb={ }=
+ \end{itemize}
+\end{frame}
+
+\begin{frame}[fragile=singleslide]
+ \frametitle{Environnements}
+ \begin{itemize}
+ \item Délimités par
+\begin{lstlisting}
+\begin`\marg{environnement}'
+ ...
+\end`\marg{environnement}'
+ \end{lstlisting}
+ \item Contenu de l'environnement traité différemment du reste du texte
+ \item Changements s'appliquent uniquement à l'intérieur de
+ l'environnement
+ \end{itemize}
+\end{frame}
+
+\subsection{[~Exercice~]}
+
+\begin{exercice}
+ Modifier le fichier \fichier{exercice\_commandes.tex} afin de
+ produire le texte ci-dessous.
+
+ \bigskip
+ \centering
+ \fbox{\includegraphics[viewport=108 551 502 665,%
+ clip=true,width=0.9\linewidth]{auxdoc/exercice_commandes-solution}}
+\end{exercice}
+
+\begin{frame}[fragile]
+ \frametitle{{\LaTeX} en français}
+
+ Il faut charger un certain nombre de paquetages pour franciser \LaTeX.
+
+ \begin{itemize}
+ \item \pkg{babel}: traduction des mots-clés prédéfinis,
+ typographie française, coupure de mots, document multilingue
+ \item \pkg{inputenc} et \pkg{fontenc}: lettres accentuées dans le
+ code source (pdf{\LaTeX} seulement)
+ \item \pkg{icomma}: virgule comme séparateur décimal
+ \item \pkg{numprint}: espace comme séparateur des milliers
+ \end{itemize}
+\end{frame}
+
+%%% Local Variables:
+%%% TeX-master: "formation-latex-ul-diapos"
+%%% TeX-engine: xetex
+%%% coding: utf-8
+%%% End:
diff --git a/info/formation-latex-ul/source/bases.tex b/info/formation-latex-ul/source/bases.tex
new file mode 100644
index 0000000000..c87729d1f9
--- /dev/null
+++ b/info/formation-latex-ul/source/bases.tex
@@ -0,0 +1,1260 @@
+%%% Copyright (C) 2018 Vincent Goulet
+%%%
+%%% Ce fichier fait partie du projet
+%%% «Rédaction avec LaTeX»
+%%% https://gitlab.com/vigou3/formation-latex-ul
+%%%
+%%% Cette création est mise à disposition sous licence
+%%% Attribution-Partage dans les mêmes conditions 4.0
+%%% International de Creative Commons.
+%%% https://creativecommons.org/licenses/by-sa/4.0/
+
+\chapter{Principes de base}
+\label{chap:bases}
+
+Un système de mise en page tel que {\LaTeX} repose sur une logique de
+séparation entre l'apparence d'un document et sa structure. La
+personne habituée à utiliser un traitement de texte devra fort
+probablement se défaire d'une vilaine habitude: se préoccuper sans
+cesse, au moment de la rédaction, de la disposition du texte.
+
+Ce principe accepté, il faudra néanmoins indiquer au logiciel la
+structure du document. Avec {\LaTeX} cela s'effectue par le biais de
+diverses instructions que l'on insère au fil du texte. À la base, les
+logiciels de traitements de texte n'opèrent pas différemment, sauf
+qu'ils cachent les codes aux utilisateurs\footnote{%
+ Le leader du traitement de texte jusqu'au milieu des années 1990,
+ Word~Perfect, offrait l'option d'afficher l'ensemble des codes de
+ mise en page. C'est malheureusement une caractéristique brillante
+ que Microsoft Word et les autres progiciels développés depuis ont
+ choisi d'omettre.}. %
+Sous prétexte de simplicité d'utilisation, ils causent en fait bien
+des mots de tête. Qui ne s'est pas déjà demandé, en utilisant un
+traitement de texte moderne: «Pourquoi donc mon texte est-il
+soudainement en gras?»
+
+Ce chapitre explique comment aborder la rédaction d'un document avec
+{\LaTeX} ainsi que la syntaxe de base des différents types
+d'instructions que l'on peut insérer dans un texte pour en spécifier
+la structure et la mise en forme.
+
+
+\section{Séparation du contenu et de l'apparence}
+\label{sec:bases:separation}
+
+Lors de la rédaction avec un système de mise en page tel que {\LaTeX},
+on se concentre sur le contenu et la \emph{structure} du document, et
+non pas sur son \emph{apparence}. Par exemple:
+\begin{itemize}
+\item au lieu de prescrire qu'un titre de section doit être en gras
+ 14~points, on indique simplement à {\LaTeX} que le texte doit être
+ traité comme un titre de section;
+ \begin{demo}
+ \begin{minipage}{0.45\linewidth}
+\begin{lstlisting}
+\textbf{\large Titre}
+\end{lstlisting}
+ \end{minipage}
+ \hfill \faArrowRight \hfill
+ \begin{minipage}{0.45\linewidth}
+\begin{lstlisting}
+\section{Titre}
+\end{lstlisting}
+ \end{minipage}
+ \end{demo}
+\item au lieu de décider qu'un mot sur lequel l'on souhaite insister
+ sera en italique, on indique à {\LaTeX} de mettre de l'emphase sur
+ ce mot sans se soucier de la mise en forme.
+ \begin{demo}
+ \begin{minipage}{0.45\linewidth}
+\begin{lstlisting}
+\textit{texte}
+\end{lstlisting}
+ \end{minipage}
+ \hfill \faArrowRight \hfill
+ \begin{minipage}{0.45\linewidth}
+\begin{lstlisting}
+\emph{texte}
+\end{lstlisting}
+ \end{minipage}
+ \end{demo}
+\end{itemize}
+
+L'apparence du texte sera prise en charge par {\LaTeX}. Comme les
+gabarits sont l'{\oe}uvre de spécialistes en typographie, il est
+généralement préférable de ne pas les modifier. À titre d'exemple,
+{\LaTeX} détermine automatiquement la largeur des marges en fonction
+de la taille de la police de manière à ce que les lignes de texte
+comptent approximativement 70~caractères. La raison: lorsqu'une ligne
+de texte est trop longue, notre {\oe}il a de la difficulté à la suivre
+sur toute sa longueur. Il a tendance à passer à la ligne inférieure,
+ce qui rend la lecture plus difficile.
+
+
+\section{Règles de saisie}
+\label{sec:bases:saisie}
+
+Une fois le principe de séparation du contenu et de l'apparence
+compris et accepté, on veillera, lors de la saisie du texte, à
+respecter les règles simples suivantes.
+\begin{enumerate}
+\item On sépare les mots par une ou plusieurs \emph{espaces}. Qu'il y
+ en ait une ou un millier, seule la première compte et la mise en
+ page sera la même.
+ \begin{demo}
+ \begin{texample}
+\begin{lstlisting}
+Les espaces délimitent les
+mots. Leur nombre n'a pas
+d'importance.
+\end{lstlisting}
+ \producing
+ Les espaces délimitent les
+ mots. Leur nombre n'a pas
+ d'importance.
+ \end{texample}
+ \begin{texample}
+\begin{lstlisting}[showstringspaces=true]
+Les espaces délimitent
+les mots.
+Leur nombre n'a pas
+d'importance.
+\end{lstlisting}
+ \producing
+ Les espaces délimitent
+ les mots.
+ Leur nombre n'a pas
+ d'importance.
+ \end{texample}
+ \end{demo}
+%
+\item On sépare les paragraphes par une ou plusieurs lignes blanches.
+ Celles-ci n'apparaitront pas nécessairement dans le texte final; les
+ gabarits standards identifient les paragraphes par un retrait de
+ première ligne.
+ \begin{demo}
+ \begin{texample}
+\begin{lstlisting}
+Les lignes blanches
+délimitent les paragraphes.
+
+Une ou plusieurs, ça ne fait
+aucune différence!
+\end{lstlisting}
+ \producing
+Les lignes blanches
+délimitent les
+paragraphes.
+
+ Une ou plusieurs, ça ne fait aucune différence!
+ \end{texample}
+\begin{texample}
+\begin{lstlisting}
+Les lignes blanches
+délimitent les paragraphes.
+
+
+
+Une ou plusieurs, ça ne fait
+aucune différence!
+\end{lstlisting}
+ \producing
+ Les lignes blanches délimitent
+ les paragraphes.
+
+
+
+ Une ou plusieurs, ça ne fait aucune différence!
+ \end{texample}
+ \end{demo}
+%
+\item On utilise des \emph{commandes} pour indiquer la structure du
+ texte dans le texte. Celles-ci débutent presque toujours par
+ le symbole {\bs}. À la différence des logiciels de traitement de
+ texte, les instructions de mise en forme du document sont donc
+ toujours visibles et, par conséquent, modifiables facilement et sans
+ surprise (on ne se demande donc jamais où termine le gras).
+ \begin{demo}
+ \begin{texample}
+\begin{lstlisting}
+Les commandes sont visibles
+dans le \textbf{texte},
+mais évidemment pas dans le
+\emph{document} fini.
+\end{lstlisting}
+ \producing
+ Les commandes sont visibles
+ dans le \textbf{texte},
+ mais évidemment pas dans le
+ \emph{document} fini.
+ \end{texample}
+ \end{demo}
+\end{enumerate}
+
+
+\section{Structure d'un fichier}
+\label{sec:bases:structure}
+
+Un fichier source {\LaTeX} --- dont on trouvera un exemple simple à la
+\autoref{fig:bases:parties} --- est toujours composé de deux parties.
+
+\begin{figure}
+ \centering
+ \begin{minipage}{0.75\linewidth}
+\begin{lstlisting}[numbers=left, numberstyle=\tiny]
+\documentclass[11pt,french]{article} `\label{lst:bases:preambule_debut}'
+ \usepackage{babel}
+ \usepackage[autolanguage]{numprint}
+ \usepackage[utf8]{inputenc}
+ \usepackage[T1]{fontenc} `\label{lst:bases:preambule_fin}'
+
+\begin{document} `\label{lst:bases:corps_debut}'
+
+Lorem ipsum dolor sit amet, consectetur
+adipiscing elit. Donec quam nulla, bibendum
+vitae ipsum vel, fermentum pellentesque
+orci.
+
+\end{document} `\label{lst:bases:corps_fin}'
+\end{lstlisting}
+ \end{minipage}
+ \caption[Fichier source {\LaTeX} simple comportant les deux parties
+ obligatoires: le préambule et le corps du document]{%
+ Fichier source {\LaTeX} simple comportant les deux parties
+ obligatoires: le préambule (lignes
+ \ref*{lst:bases:preambule_debut}--\ref*{lst:bases:preambule_fin})
+ et le corps du document (lignes
+ \ref*{lst:bases:corps_debut}--\ref*{lst:bases:corps_fin}).}
+ \label{fig:bases:parties}
+\end{figure}
+
+\begin{description}
+\item[Préambule] Suite de commandes spécifiant la mise en forme
+ globale du document (format du papier, marges, entête et pied de
+ page, etc.). Il contient au minimum la commande
+ \cmd{\documentclass}. Les commandes contenues dans le préambule ont
+ un effet global sur le document.
+
+ Dans l'exemple de la \autoref{fig:bases:parties}, le préambule
+ s'étend de la ligne \ref*{lst:bases:preambule_debut} à la ligne
+ \ref*{lst:bases:preambule_fin}.
+\item[Corps du document] Contenu du document en tant que tel.
+ Il débute par \verb=\begin{document}= et se termine par
+ \verb=\end{document}=. Le corps du document peut aussi contenir
+ des commandes, mais l'effet de celles-ci demeure presque toujours local.
+
+ Les lignes \ref*{lst:bases:corps_debut}--\ref*{lst:bases:corps_fin}
+ du code de la \autoref{fig:bases:parties} forment le corps du
+ document.
+\end{description}
+
+
+\section{Classes et paquetages}
+\label{sec:bases:classes}
+
+La première commande du préambule est normalement la déclaration de la
+\emph{classe} du document. La forme de la déclaration est la suivante:
+\begin{lstlisting}
+\documentclass`\oarg{options}\marg{classe}'
+\end{lstlisting}
+Les classes standards de {\LaTeX} sont \class{article},
+\class{report}, \class{book}, \class{letter} et \class{slides}. La
+classe pour les thèses et mémoires de l'Université Laval se nomme
+\class{ulthese} \citep{ulthese}. Celle-ci se base sur la classe
+\class{memoir} et, par conséquent, elle hérite de toutes ses (nombreuses)
+fonctionnalités; consulter l'\autoref{chap:ulthese}. La
+\autoref{sec:organisation:classe} traite des différences entre les
+diverses classes et des \meta{options} disponibles.
+
+Les \emph{paquetages} permettent de modifier des commandes ou
+d'ajouter des fonctionnalités à {\LaTeX}. On charge les paquetages
+dans le préambule avec des commandes de la forme
+\begin{lstlisting}
+\usepackage`\marg{paquetage}'
+\usepackage`\oarg{options}\marg{paquetage}'
+\usepackage`\marg{paquetage1,paquetage2, ...}'
+\end{lstlisting}
+La première et la troisième forme permettent de charger un ou
+plusieurs paquetages sans options. La seconde permet de spécifier des
+\meta{options} au chargement du paquetage. Il n'est évidemment pas
+possible de préciser des options avec la troisième forme puisque
+{\LaTeX} ne saurait à quel paquetage celles-ci se rapportent.
+
+Certains paquetages permettent que leurs options apparaissent parmi
+les \meta{options} de la commande \cmdprint{\documentclass}. Elles
+sont ainsi plus «visibles» pour d'autres paquetages. Par exemple,
+l'option \code{french} que l'on retrouve dans la déclaration de la
+classe à la \autoref{fig:bases:parties} est en fait une option du
+paquetage \pkg{babel}.
+
+
+\section{Commandes}
+\label{sec:bases:commandes}
+
+Nous avons déjà fait référence à quelques reprises au concept de
+commande {\LaTeX}. Cette section se penche sur leur syntaxe.
+
+Les formes générales des commandes {\LaTeX} sont:
+\begin{lstlisting}
+\`\meta{nomcommande}\oarg{arg\_optionnel}\marg{arg\_obligatoire}'
+\`\meta{nomcommande}'*`\oarg{arg\_optionnel}\marg{arg\_obligatoire}'
+\end{lstlisting}
+Ici, \meta{nomcommande} est le nom de la commande. Il débute par le
+symbole {\bs} et est exclusivement formé de lettres, habituellement
+des minuscules ({\LaTeX} est sensible à la casse). La forme étoilée
+d'une commande réalise généralement une action légèrement différente
+de la version sans étoile. Par exemple, \cmd{\section} crée une
+nouvelle section numérotée, alors que \cmd{\section*} n'insère aucune
+numérotation.
+
+Lorsque la commande prend des arguments, les arguments obligatoires
+sont placés entre accolades \verb={ }= et les arguments optionnels
+sont placés entre crochets \verb=[ ]=.
+
+Certaines commandes n'ont aucun argument. Leur forme est alors
+\begin{lstlisting}
+\`\meta{nomcommande}
+\end{lstlisting}
+Dans ce cas, le nom de la commande se termine par tout symbole qui
+n'est pas une lettre --- y compris l'espace! Cette règle fait en sorte
+qu'une espace après le nom d'une commande est considérée comme un
+marqueur de la fin du nom de la commande. Cette règle joue parfois de
+vilains tours en «avalant» l'espace entre une commande et le mot qui
+suit; voir l'\autoref{exemple:base:commandes} et
+l'\autoref{ex:base:commandes}.
+
+La portée d'une commande est limitée à la zone entre accolades
+\verb={ }=, le cas échéant.
+
+\begin{exemple}
+ \label{exemple:base:commandes}
+ Voici trois exemples de commandes {\LaTeX}: une sans argument, une
+ avec un seul argument obligatoire et une commande avec deux
+ arguments obligatoires et un argument optionnel.
+ \begin{enumerate}
+ \item La commande \cmd{\LaTeX} permet de composer de logo {\LaTeX}.
+ \begin{demo}
+ \begin{texample}
+\begin{lstlisting}
+Apprendre \LaTeX c'est
+formidable!
+\end{lstlisting}
+ \producing
+ Apprendre \LaTeX c'est
+ formidable!
+ \end{texample}
+ \end{demo}
+ On constate ici l'effet de la règle mentionnée ci-dessus:
+ l'espace suivant le nom de la commande a été interprété par
+ {\LaTeX} comme un marqueur de la fin de la commande et il a été
+ supprimé du texte. Pour contourner ce problème, nous pouvons soit
+ fournir un argument vide à la commande, soit la placer en
+ accolades pour limiter sa portée à elle-même:
+ \begin{demo}
+ \begin{texample}
+\begin{lstlisting}
+Apprendre \LaTeX{} c'est
+formidable!
+\end{lstlisting}
+ \producing
+ Apprendre \LaTeX{} c'est
+ formidable!
+ \end{texample}
+ \begin{texample}
+\begin{lstlisting}
+Apprendre {\LaTeX} c'est
+formidable!
+\end{lstlisting}
+ \producing
+ Apprendre {\LaTeX} c'est
+ formidable!
+ \end{texample}
+ \end{demo}
+ %
+ \item La commande \cmd{\emph} met de l'emphase (en général sous
+ forme d'italique) sur le ou les mots en argument.
+ \begin{demo}
+ \begin{texample}
+\begin{lstlisting}
+Il est \emph{essentiel} de
+connaitre la syntaxe de
+{\LaTeX}.
+\end{lstlisting}
+ \producing
+ Il est \emph{essentiel} de
+ connaitre la syntaxe de
+ {\LaTeX}.
+ \end{texample}
+ \end{demo}
+ %
+ \item La commande \cmd{\rule} produit un rectangle plein. Elle a
+ deux arguments obligatoires: la longueur et la hauteur du
+ rectangle, dans l'ordre. Un argument optionnel permet de surélever
+ le rectangle au-dessus de la ligne de base (voir le
+ \autoref{chap:boites} pour plus de détails).
+ \begin{demo}
+ \begin{texample}
+\begin{lstlisting}
+Réglure de 1~cm de long et
+3~mm d'épais surélevée de
+2~points au-dessus de la
+ligne de base:
+\rule[2pt]{1cm}{3mm}.
+\end{lstlisting}
+ \producing
+ Réglure de $1$~cm de long et
+ $3$~mm d'épais surélevée de
+ $2$~points au-dessus de la
+ ligne de base: \rule[2pt]{1cm}{3mm}.
+ \end{texample}
+ \end{demo}
+ \end{enumerate}
+ \qed
+\end{exemple}
+
+\begin{exemple}
+ La commande \cmd{\bfseries} sélectionne une police
+ grasse pour tout le texte qui suit.
+ \begin{demo}
+ \begin{texample}
+\begin{lstlisting}
+En typographie, la \bfseries
+graisse est l'épaisseur d'un
+trait ou d'un caractère.
+\end{lstlisting}
+ \producing
+ En typographie, la \bfseries
+ graisse est l'épaisseur d'un
+ trait ou d'un caractère.
+ \end{texample}
+ \end{demo}
+ Pour limiter le changement à une zone de texte, il faut la délimiter
+ par des accolades.
+\begin{demo}
+ \begin{texample}
+\begin{lstlisting}
+En typographie, la {\bfseries
+graisse est l'épaisseur d'un
+trait} ou d'un caractère.
+\end{lstlisting}
+ \producing
+ En typographie, la {\bfseries
+ graisse est l'épaisseur d’un
+ trait} ou d’un caractère.
+ \end{texample}
+ \end{demo}
+ \qed
+\end{exemple}
+
+L'utilisateur de {\LaTeX} peut définir de nouvelles commandes à
+loisir. Ceci est expliqué au \autoref{chap:commandes}.
+
+
+\section{Environnements}
+\label{sec:bases:environnements}
+
+Un environnement {\LaTeX} est une zone de texte délimitée par une
+construction du type
+\begin{lstlisting}
+\begin`\marg{environnement}'
+ ...
+\end`\marg{environnement}'
+\end{lstlisting}
+Le contenu d'un environnement est traité différemment du reste du
+texte en fonction des paramètres de l'environnement. Par exemple, le
+texte à l'intérieur d'un environnement \Ie{center} est centré sur la
+page.
+
+Les changements induits par un environnement s'appliquent uniquement à
+l'intérieur de celui-ci. Il en va de même des commandes utilisées à
+l'intérieur d'un environnement.
+
+\begin{exemple}
+ L'environnement \Ie{quote} sert à composer des citations. Le texte à
+ l'intérieur de l'environnement sera placé dans un bloc séparé du
+ texte principal et en retrait des marges gauche et droite.
+ \begin{demo}
+ \begin{texample}
+\begin{lstlisting}
+La phrase
+\begin{quote}
+ Attention aux bogues dans
+ le code ci-dessus; je ne
+ l'ai pas testé, j'ai
+ seulement prouvé qu'il
+ était correct.
+\end{quote}
+est une citation célèbre du
+créateur de {\TeX}, Donald
+Knuth.
+\end{lstlisting}
+ \producing
+ La phrase
+ \begin{quote}
+ Attention aux bogues dans le code ci-dessus; je ne l'ai pas testé,
+ j'ai seulement prouvé qu'il était correct.
+ \end{quote}
+ est une citation célèbre du créateur de {\TeX}, Donald Knuth.
+ \end{texample}
+ \end{demo}
+ Si la citation est dans la langue originale, il est préférable de la
+ composer en italique.
+ \begin{demo}
+ \begin{texample}
+\begin{lstlisting}
+La phrase
+\begin{quote}
+ \itshape
+ Beware of bugs in the above
+ code; I have only proved it
+ correct, not tried it.
+\end{quote}
+est une citation célèbre du
+créateur de {\TeX}, Donald
+Knuth.
+\end{lstlisting}
+ \producing
+ La phrase
+ \begin{quote}
+ \itshape
+ Beware of bugs in the above code; I have only proved it
+ correct, not tried it.
+ \end{quote}
+ est une citation célèbre du créateur de {\TeX}, Donald Knuth.
+ \end{texample}
+ \end{demo}
+ On remarque que l'effet de la commande \cmdprint{\itshape} s'est
+ limité à l'environnement. %
+ \qed
+\end{exemple}
+
+
+\section{Longueurs}
+\label{sec:bases:longueurs}
+
+Plusieurs commandes {\LaTeX} requièrent en argument une mesure de
+largeur ou de hauteur. Dans la terminologie de {\LaTeX}, on parle plus
+généralement de longueur\index{longueur} (\emph{length}).
+
+Une longueur est un nombre positif, négatif ou nul
+\emph{obligatoirement} et \emph{immédiatement} suivi d'un symbole
+d'unité de mesure. Le \autoref{tab:bases:longueurs} présente les
+principales unités de mesure utilisées par {\LaTeX} et le symbole
+correspondant.
+
+\begin{table}
+ \caption{Principales unités de mesure pour les longueurs dans
+ {\LaTeX}}
+ \label{tab:bases:longueurs}
+ \centering
+ \begin{tabular}{lcl}
+ \toprule
+ Nom ou description & Symbole & Longueur équivalente \\
+ \midrule
+ millimètre & \texttt{mm} \\
+ centimètre & \texttt{cm} & $10$~mm \\
+ pouce & \texttt{in} & $2,54$~cm \\
+ point & \texttt{pt} & $1/72,27$~pouce \\
+ point PostScript & \texttt{bp} & $1/72$~pouce \\
+ largeur de la lettre M & \texttt{em} & fonction de la police \\
+ hauteur de la lettre x & \texttt{ex} & fonction de la police \\
+ \bottomrule
+ \end{tabular}
+\end{table}
+
+Il existe un certain nombre de longueurs prédéfinies. Les plus utiles
+sont:
+\begin{lstlisting}
+\linewidth
+\textwidth
+\end{lstlisting}
+La première contient la largeur de la ligne de texte courante et la
+seconde, la largeur de la page courante. Dans du texte normal, les
+deux mesures sont habituellement égales.
+
+
+\section{Commentaires}
+\label{sec:bases:commentaires}
+
+Le symbole \verb=%= indique un commentaire dans le code source: tout
+le texte après le symbole jusqu'à la fin de la ligne est ignoré par
+{\LaTeX}.
+\begin{demo}
+ \begin{texample}
+\begin{lstlisting}
+texte % ignoré par LaTeX
+\end{lstlisting}
+ \producing
+ texte % ignoré par LaTeX
+ \end{texample}
+\end{demo}
+
+
+\section{Caractères spéciaux}
+\label{sec:bases:caracteres}
+
+Les claviers d'ordinateur mettent à la disposition des auteurs toutes
+les lettres de l'alphabet (en versions minuscule et majuscule), les
+chiffres de 0 à 9, un certain nombre de symboles et, selon le clavier,
+des versions accentuées de certaines lettres. L'entrée des lettres et
+des chiffres ne pose pas de problème particulier pour {\LaTeX}, mais
+certains symboles sont réservés. De plus, certains symboles d'usage
+courant ne sont pas disponibles sur les claviers.
+
+\subsection{Espaces et retours à la ligne}
+\label{sec:bases:caracteres:espaces}
+
+Nous avons déjà mentionné à la \autoref{sec:bases:saisie} le
+traitement spécial réservé par {\LaTeX} aux espaces et aux retours à
+la ligne dans le code source. Ajoutons les précisions suivantes:
+\begin{itemize}
+\item seule la première espace entre deux éléments compte;
+\item les espaces en début de ligne sont ignorées;
+\item un retour à la ligne simple est traité comme une espace;
+\item il faut deux retours à la ligne consécutifs (ce qui résulte en
+ une ligne blanche dans le code source) pour identifier un changement
+ de paragraphe.
+\end{itemize}
+
+Pour forcer une espace à un endroit où {\LaTeX} la supprimerait
+normalement, utiliser la commande \verb*=\ = (le symbole \bs\ suivi
+d'une espace, représentée ici par le symbole \verb*| |.
+\begin{demo}
+ \begin{texample}
+\begin{lstlisting}
+Apprendre \LaTeX\ c'est
+formidable!
+\end{lstlisting}
+ \producing
+ Apprendre \LaTeX\ c'est
+ formidable!
+ \end{texample}
+\end{demo}
+
+Dans le même ordre d'idées, le symbole \verb=~= insère une espace
+insécable entre deux mots, de telle sorte que {\LaTeX} ne pourra
+placer les mots sur des lignes différentes. À utiliser dans les noms ou
+entre une quantité et son unité.
+\begin{demo}
+ \begin{texample}
+\begin{lstlisting}
+M.~Tremblay me doit au
+moins 200~\$.
+\end{lstlisting}
+ \producing
+ M.~Tremblay me doit au moins 200~\$.
+ \end{texample}
+\end{demo}
+
+Il arrive que l'espace générée par un retour à la ligne \emph{simple}
+s'avère indésirable. Dans de tels cas, placer un symbole de
+commentaire \verb=%= à la fin de la ligne.
+\begin{demo}
+ \begin{texample}
+\begin{lstlisting}
+Donald Knuth est un dieu
+\textsuperscript{[citation]}
+.
+\end{lstlisting}
+ \producing
+ Donald Knuth est un dieu
+ \textsuperscript{[citation]}
+ .
+ \end{texample}
+ \begin{texample}
+\begin{lstlisting}
+Donald Knuth est un dieu%
+\textsuperscript{[citation]}%
+.
+\end{lstlisting}
+ \producing
+ Donald Knuth est un dieu%
+ \textsuperscript{[citation]}%
+ .
+ \end{texample}
+\end{demo}
+
+\subsection{Caractères réservés}
+\label{sec:bases:caracteres:reserves}
+
+Comme à peu près tous les langages de programmation, {\TeX} réserve
+certains caractères pour son usage interne. Les caractères suivants sont
+interprétés comme des commandes:
+\begin{center}
+ \verb=# $ & ~ _ ^ % { }=
+\end{center}
+
+Pour utiliser les symboles ci-dessus tels quels dans le texte, il faut
+les précéder par le symbole {\bs}:
+\index{#@\cs{}\texttt{\#}}
+\index{$@\cs{}\texttt{\$}} %$
+\index{&@\cs{}\texttt{\&}}
+\index{_@\cs{}\texttt{\_}}
+\index{%@\cs{}\texttt{\%}}
+\begin{demo}
+ \begin{minipage}{0.15\linewidth}
+ \begin{texample}
+\begin{lstlisting}
+\#
+\end{lstlisting}
+ \producing\ \#
+ \end{texample}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{0.15\linewidth}
+ \begin{texample}
+\begin{lstlisting}
+\$
+\end{lstlisting}
+ \producing\ \$
+ \end{texample}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{0.15\linewidth}
+ \begin{texample}
+\begin{lstlisting}
+\&
+\end{lstlisting}
+ \producing\ \&
+ \end{texample}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{0.15\linewidth}
+ \begin{texample}
+\begin{lstlisting}
+\_
+\end{lstlisting}
+ \producing\rule{0pt}{1em}\ \_
+ \end{texample}
+ \end{minipage}
+ \\
+ \begin{minipage}{0.15\linewidth}
+ \begin{texample}
+\begin{lstlisting}[commentstyle=\mdseries]
+\%
+\end{lstlisting}
+ \producing\ \%
+ \end{texample}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{0.15\linewidth}
+ \begin{texample}
+\begin{lstlisting}
+\{
+\end{lstlisting}
+ \producing\ \{
+ \end{texample}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{0.15\linewidth}
+ \begin{texample}
+\begin{lstlisting}
+\}
+\end{lstlisting}
+ \producing\ \}
+ \end{texample}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{0.15\linewidth}
+ \mbox{}
+ \end{minipage}
+ \hfill
+\end{demo}
+(Les commandes \verb=\^= et \verb=\~= servent à créer des accents;
+voir la \autoref{sec:bases:caracteres:accents}.)
+
+\subsection{Guillemets}
+\label{sec:bases:caracteres:guillemets}
+
+L'usage des guillemets nécessite une attention particulière dans
+{\LaTeX}. On ne devrait pas utiliser dans le code source les
+guillemets doubles (\verb="=) que l'on trouve couramment sur les
+claviers d'ordinateurs.
+
+Pour obtenir les guillemets anglais, on utilisera deux symboles
+d'accent grave côte à côte pour les guillemets ouvrants (``) et deux
+apostrophes côte à côte pour les guillemets fermants ('').
+\begin{demo}
+ \begin{texample}
+\begin{lstlisting}[escapeinside={}]
+``guillemets anglais''
+\end{lstlisting}
+ \producing
+ ``guillemets anglais''
+ \end{texample}
+\end{demo}
+
+En typographie française, il convient d'utiliser les chevrons («\ »)
+comme guillemets. Avec la configuration appropriée de \pkg{babel}
+(voir la \autoref{sec:bases:francais}), il suffit d'utiliser dans le
+code source les symboles \,\verb=«=\, et \,\verb=»=\, que l'on
+retrouve normalement sur un clavier français. L'espacement requis
+autour des symboles est géré automatiquement.
+\begin{demo}
+ \begin{texample}
+\begin{lstlisting}
+«guillemets français»
+\end{lstlisting}
+ \producing
+ «guillemets français»
+ \end{texample}
+ \begin{texample}
+\begin{lstlisting}
+« guillemets français »
+\end{lstlisting}
+ \producing
+ « guillemets français »
+ \end{texample}
+\end{demo}
+En français, les guillemets anglais ne servent que pour les citations
+incluses, c'est-à-dire pour les citations à l'intérieur d'une
+citation.
+\begin{demo}
+ \begin{texample}
+\begin{lstlisting}[escapeinside={}]
+Elle m'a dit: «Laurent fait
+dire ``non merci''.»
+\end{lstlisting}
+ \producing
+ Elle m'a dit: «Laurent fait
+ dire ``non merci''.»
+ \end{texample}
+\end{demo}
+
+Les bons éditeurs de texte adaptés pour {\LaTeX} redéfinissent
+l'action de la touche %
+%% simili touche de clavier faite main à partir; utilisation de
+%% \ooalign tirée de comprehensive.pdf, section 10.3
+\raisebox{-2pt}{%
+ \ooalign{\hfil\Large\faSquareO\hfil\cr\hfil\ttfamily\textquotedbl\hfil}} %
+du clavier pour insérer les symboles appropriés selon la langue du
+document.
+
+Le paquetage \pkg{csquotes} \citep{csquotes} propose une autre approche
+pour la saisie des guillemets. Il fournit une commande
+\cmdprint{\enquote} qui entoure son argument des guillemets appropriés
+selon le contexte et la langue du texte. Cette solution peut s'avérer
+intéressante pour les nouveaux venus à {\LaTeX} qui n'ont pas encore
+pris l'habitude d'entrer directement les bons guillemets.
+
+\subsection{Trait d'union et tirets}
+\label{sec:bases:caracteres:tirets}
+
+On trouve en typographie soignée trois sortes de tirets de longueurs
+différentes:
+\begin{enumerate}
+\item le trait d'union (-) qui sert à relier des mots entre eux;
+\item le tiret demi-cadratin (--) qui sert à joindre deux éléments qui
+ comportent déjà des traits d'union (\emph{Trois-Rivières--Québec});
+\item le tiret cadratin (---) qui sert à identifier le changement
+ d'interlocuteur dans les dialogues ou qui remplacent parfois les
+ parenthèses dans du texte normal.
+\end{enumerate}
+
+S'il est simple d'entrer un trait d'union à l'ordinateur, il est rare
+que les claviers comportent des touches pour entrer les tirets
+demi-cadratin et cadratin (ou alors cela se fait via une obscure
+combinaison de touches). {\LaTeX} permet de créer facilement tous les
+tirets ci-dessus en répétant simplement le trait d'union deux ou trois
+fois.
+\begin{demo}
+ \begin{minipage}{0.2\linewidth}
+ \begin{texample}
+\begin{lstlisting}
+-
+\end{lstlisting}
+ \producing\ -
+ \end{texample}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{0.2\linewidth}
+ \begin{texample}
+\begin{lstlisting}
+--
+\end{lstlisting}
+ \producing\ --
+ \end{texample}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{0.2\linewidth}
+ \begin{texample}
+\begin{lstlisting}
+---
+\end{lstlisting}
+ \producing\ ---
+ \end{texample}
+ \end{minipage}
+\end{demo}
+
+\subsection{Accents et ligatures}
+\label{sec:bases:caracteres:accents}
+
+À la base, {\LaTeX} ne reconnait pas les lettres accentuées ni les
+ligatures comme {\ae} et {\oe} qui ne sont pas courantes en anglais.
+Néanmoins, il est possible de créer ces symboles avec des commandes.
+\begin{demo}
+ \begin{minipage}{0.2\linewidth}
+ \begin{texample}
+\begin{lstlisting}
+\'{o}
+\end{lstlisting}
+ \producing\ \'{o}
+ \end{texample}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{0.2\linewidth}
+ \begin{texample}
+\begin{lstlisting}[escapeinside={}]
+\`{o}
+\end{lstlisting}
+ \producing\ \`{o}
+ \end{texample}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{0.2\linewidth}
+ \begin{texample}
+\begin{lstlisting}
+\^{o}
+\end{lstlisting}
+ \producing\ \^{o}
+ \end{texample}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{0.2\linewidth}
+ \begin{texample}
+\begin{lstlisting}
+\"{o}
+\end{lstlisting}
+ \producing\ \"{o}
+ \end{texample}
+ \end{minipage} \\
+ \hfill
+ \begin{minipage}{0.2\linewidth}
+ \begin{texample}
+\begin{lstlisting}
+{\ae}
+\end{lstlisting}
+ \producing\ \ae
+ \end{texample}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{0.2\linewidth}
+ \begin{texample}
+\begin{lstlisting}
+{\AE}
+\end{lstlisting}
+ \producing\ \AE
+ \end{texample}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{0.2\linewidth}
+ \begin{texample}
+\begin{lstlisting}
+{\oe}
+\end{lstlisting}
+ \producing\ \oe
+ \end{texample}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{0.2\linewidth}
+ \begin{texample}
+\begin{lstlisting}
+{\OE}
+\end{lstlisting}
+ \producing\ \OE
+ \end{texample}
+ \end{minipage}
+\end{demo}
+
+Évidemment, entrer tous les accents d'un texte en français avec les
+commandes ci-dessus se révélerait un véritable cauchemar.
+Heureusement, avec la configuration appropriée, il est possible
+d'entrer directement les lettres accentuées que l'on trouve couramment
+sur un clavier, voire même certaines ligatures si l'on utilise
+l'encodage UTF-8. La \autoref{sec:bases:francais} fournit les détails.
+
+Les commandes pour les accents demeurent utiles pour composer les
+lettres accentuées des langues européennes autres que le français. On
+trouvera la liste de ces commandes, ainsi que celles pour composer une
+multitude d'autres symboles à la section~2 de la très utile %
+\doc[\emph{Comprehensive {\LaTeX} Symbol List}]{comprehensive}{http://texdoc.net/pkg/comprehensive} %
+\citep{comprehensive}.
+
+
+\section{{\LaTeX} en français}
+\label{sec:bases:francais}
+
+Par défaut, LaTeX prévoit la rédaction de documents en anglais.
+L'entrée de texte en français de façon simple et conviviale requiert
+de charger quelques paquetages bien choisis. Le choix dépend lui-même
+du moteur {\TeX} utilisé.
+
+\subsection{Moteur pdf\TeX}
+\label{sec:bases:francais:pdftex}
+
+Afin de pouvoir entrer directement les lettres accentuées dans le code
+source sans avoir recours aux commandes de la section précédente, il
+faut s'assurer que les lettres accentuées soient reconnues par
+{\LaTeX}. C'est le rôle du paquetage \pkg{inputenc} \citep{inputenc}.
+Il faut spécifier le type de codage utilisé, ce qui parfois demande
+quelques essais et erreurs. Le type de codage le plus universel en ce
+moment est l'Unicode \citep{Unicode:5.0}. C'est le type utilisé par
+défaut dans macOS et les distributions Linux; il est aussi
+disponible sous Windows. Si le fichier source est sauvegardé dans le
+format %
+\link{https://fr.wikipedia.org/wiki/UTF-8}{UTF-8} %
+de l'Unicode, on ajoutera dans le préambule la commande:
+\begin{lstlisting}
+\usepackage[utf8]{inputenc}
+\end{lstlisting}
+
+Les autres types de codage les plus répandus sont
+l'\link{https://fr.wikipedia.org/wiki/Iso_8859-1}{ISO 8859-1}, ou
+Latin-1, et l'\link{https://fr.wikipedia.org/wiki/Windows-1252}{ANSI}
+de Windows. Pour utiliser ces types, on remplacera \code{utf8}
+ci-dessus par, respectivement, \code{latin1} ou \code{ansiwin}.
+
+L'entrée du texte n'est pas tout, il faut également se soucier de la
+sortie, afin que les lettres accentuées apparaissent dans le document
+final. {\LaTeX} utilise par défaut un codage de sortie des caractères
+nommé OT1. Il est recommandé de ne pas utiliser ce codage pour les
+textes en français, notamment parce que la coupure automatique ne
+fonctionnera pas pour les mots contenant des lettres accentuées. On
+préférera donc le plus récent codage T1, que l'on active avec le
+paquetage \pkg{fontenc} \citep{fontenc}:
+\begin{lstlisting}
+\usepackage[T1]{fontenc}
+\end{lstlisting}
+
+La classe \class{ulthese} charge par défaut le paquetage \pkg{fontenc}
+avec l'option T1 et les gabarits de documents fournis avec la classe
+contiennent l'instruction pour charger \pkg{inputenc}.
+
+%% hyperref n'aime pas \XeTeX dans un titre. Je peux utiliser un titre
+%% court puisqu'il ne sera pas affiché dans la tdm (c'est une
+%% sous-section).
+\subsection[Moteur XeTeX]{Moteur \XeTeX}
+\label{sec:bases:francais:xetex}
+
+Le plus récent et moderne moteur {\XeTeX} utilise par défaut des
+fichiers source en format Unicode UTF-8. Il n'y a donc rien de spécial
+à faire pour l'entrée du texte avec ce moteur.
+
+Pour la sortie, le paquetage \pkg{fontspec} \citep{fontspec} est
+requis pour obtenir les lettres accentuées dans le fichier PDF. Cela ne
+représente pas véritablement une étape de configuration additionnelle
+puisque l'on charge normalement ce paquetage avec {\XeLaTeX} pour
+contrôler le chargement des polices de caractères (plus de détails à
+la \autoref{sec:trucs:polices}).
+
+La classe \class{ulthese} charge par défaut le paquetage
+\pkg{fontspec} avec {\XeLaTeX}.
+
+\subsection{Typographie et mots clés français}
+\label{sec:bases:francais:babel}
+
+Entrer du texte en français dans le code source n'est pas tout. Il
+faut adapter {\LaTeX} au français, qu'il s'agisse des mots clés (tels
+«Table des matières» ou «Bibliographie»), de la typographie ou de la
+coupure des mots. La solution standard provient du paquetage
+\pkg{babel} \citep{babel}. Celui-ci permet de combiner plusieurs
+langues dans un même document et de passer de l'une à l'autre
+facilement. Consulter la %
+\doc{frenchb}{http://texdoc.net/pkg/babel-french/} %
+pour connaitre toutes les adaptations au français offertes par ce
+paquetage incontournable.
+
+Il est possible de configurer plusieurs options de \pkg{babel} par
+l'entremise de la commande \cmd{\frenchbsetup}.
+
+Le paquetage \pkg{babel} est chargé par défaut par la classe
+\class{ulthese}.
+
+\subsection{Guillemets français}
+\label{sec:bases:francais:guillemets}
+
+Une espace fine devrait séparer les guillemets du ou des mots qu'ils
+entourent. Pour que l'espace autour des symboles soit géré
+automatiquement par \pkg{babel}, il suffit d'ajouter dans le préambule
+la commande
+\begin{lstlisting}
+\frenchbsetup{og=«, fg=»}
+\end{lstlisting}
+On trouve cette configuration dans les gabarits livrés avec la classe
+\class{ulthese}.
+
+\subsection{Séparateur décimal}
+\label{sec:bases:francais:virgule}
+
+Le séparateur décimal en français est la virgule et non le point. Or,
+en mode mathématique, LaTeX ajoute automatiquement une espace fine
+après une virgule comme s'il s'agissait d'une énumération.
+
+Afin de pouvoir utiliser de manière conviviale la virgule comme
+séparateur décimal en mode mathématique, on chargera le très pratique
+paquetage \pkg{icomma} \citep{icomma}. Avec ce paquetage, la virgule
+agira comme séparateur décimal en mode mathématique seulement
+lorsqu'elle est suivie d'un caractère autre que l'espace.
+\begin{demo}
+ \begin{minipage}{0.5\linewidth}
+ \begin{texample}[0.6\linewidth]
+\begin{lstlisting}
+% nombre décimal
+$x = 1,2$
+\end{lstlisting}
+ \producing
+ $x = 1,2$
+ \end{texample}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{0.5\linewidth}
+ \begin{texample}[0.6\linewidth]
+\begin{lstlisting}
+% énumération
+$x = 1, 2, 3$
+\end{lstlisting}
+ \producing
+ $x = 1, 2, 3$
+ \end{texample}
+ \end{minipage}
+\end{demo}
+
+\importantbox{Le paquetage \pkg{icomma} peut interagir avec d'autres.
+ Aussi est-il préférable de le charger parmi les derniers dans le
+ préambule, et certainement après les paquetages \pkg{fontspec} et
+ \pkg{unicode-math} avec {\XeLaTeX}.}
+
+\subsection{Séparateur des milliers}
+\label{sec:bases:francais:milliers}
+
+Le séparateur des milliers en français est l'espace. Lorsque le
+paquetage \pkg{numprint} \citep{numprint} est chargé, \pkg{babel}
+fournit la commande \cmd{\nombre} pour formater automatiquement les
+nombres.
+\begin{demo}
+ \begin{texample}
+\begin{lstlisting}
+\nombre{123456789}
+\end{lstlisting}
+ \producing
+ \nombre{123456789}
+ \end{texample}
+\end{demo}
+
+Le \autoref{tab:bases:francais} résume les divers enjeux liés à la
+rédaction en français avec {\LaTeX} et les paquetages qui offrent des
+solutions.
+
+\begin{table}
+ \centering
+ \caption{Principaux enjeux de rédaction en français et paquetages
+ offrant des solutions}
+ \label{tab:bases:francais}
+ \begin{tabularx}{1.0\linewidth}{Xl}
+ \toprule
+ Enjeu & Solution \\
+ \midrule
+ \addlinespace[0.5\normalbaselineskip]
+ Traduction des mots clés prédéfinis & \pkg{babel} \\
+ \addlinespace[0.5\normalbaselineskip]
+ Coupure de mots & \pkg{babel} \\
+ \addlinespace[0.5\normalbaselineskip]
+ Typographie française & \pkg{babel} \\
+ \addlinespace[0.5\normalbaselineskip]
+ Lettres accentuées dans source & \pkg{inputenc} (\LaTeX) \\
+ & source en UTF-8 (\XeLaTeX) \\
+ \addlinespace[0.5\normalbaselineskip]
+ Lettres accentuées dans sortie & \pkg{fontenc} (\LaTeX) \\
+ & \pkg{fontspec} (\XeLaTeX) \\
+ \addlinespace[0.5\normalbaselineskip]
+ Virgule comme séparateur décimal & \pkg{icomma} \\
+ \addlinespace[0.5\normalbaselineskip]
+ Espace comme séparateur des milliers & \pkg{numprint} et
+ \pkg{babel} \\
+ \bottomrule
+ \end{tabularx}
+\end{table}
+
+
+%%%
+%%% Exercices
+%%%
+
+\section{Exercices}
+\label{sec:bases:exercices}
+
+\Opensolutionfile{solutions}[solutions-bases]
+
+\begin{Filesave}{solutions}
+\section*{Chapitre \ref*{chap:bases}}
+\addcontentsline{toc}{section}{Chapitre \protect\ref*{chap:bases}}
+
+\end{Filesave}
+
+\begin{exercice}[nosol]
+ Utiliser le fichier \fichier{exercice\_minimal.tex}.
+ \begin{enumerate}
+ \item Compiler le document avec la classe \class{article}, puis avec
+ la classe \class{book}. Observer le résultat.
+ \item Ajouter du texte en français (avec accents), puis compiler et
+ observer le résultat.
+ \end{enumerate}
+\end{exercice}
+
+\begin{exercice}
+ \label{ex:base:commandes}
+ Modifier le fichier \fichier{exercice\_commandes.tex} afin
+ de produire le texte ci-dessous.
+ \begin{demo}
+ \fbox{\includegraphics[viewport=108 551 502 665,clip=true,width=0.98\linewidth]{auxdoc/exercice_commandes-solution}}
+ \end{demo}
+ \begin{sol}
+ Il y a trois modifications principales à apporter au fichier.
+ \begin{enumerate}[1.]
+ \item La commande {\LaTeX} qui imprime le logo de LaTeX n'ayant
+ pas d'argument, il faut l'écrire sous la forme
+ \verb={\LaTeX}= ou \verb=\LaTeX{}= pour éviter que l'espace
+ qui suit ne soit avalée par la commande.
+ \item Il faut délimiter par des accolades la zone à laquelle la
+ commande \cmdprint{\bfseries} doit s'appliquer:
+\begin{lstlisting}
+{\bfseries limitée}
+\end{lstlisting}
+ \item Il faut utiliser l'environnement \Pe{enumerate} pour les
+ listes numérotées. L'environnement \Pe{itemize} sert pour les
+ listes à puces.
+ \end{enumerate}
+ \end{sol}
+\end{exercice}
+
+\begin{exercice}[nosol]
+ \begin{enumerate}
+ \item Compiler le fichier \fichier{exercice\_classe+paquetages.tex}.
+ \item Changer la police du document pour 11~points, puis 12~points.
+ Observer l'effet sur les marges et sur la coupure automatique des
+ mots dans le document compilé.
+ \item Activer le paquetage \pkg{icomma} en supprimant le symbole
+ \% au début de la ligne dans le préambule. Compiler le document
+ et observer l'effet sur la formule mathématique.
+ \item Charger le paquetage \pkg{numprint} avec l'option
+ \verb=autolanguage= (\emph{après} le paquetage \pkg{babel}). Dans
+ le code source de la formule mathématique, changer
+\begin{lstlisting}
+10 000
+\end{lstlisting}
+ pour
+\begin{lstlisting}
+\nombre{10000}
+\end{lstlisting}
+ Compiler et observer le résultat.
+ \end{enumerate}
+\end{exercice}
+
+\Closesolutionfile{solutions}
+
+%%% Local Variables:
+%%% mode: latex
+%%% TeX-master: "formation-latex-ul"
+%%% TeX-engine: xetex
+%%% coding: utf-8
+%%% End:
diff --git a/info/formation-latex-ul/source/bibliographie.tex b/info/formation-latex-ul/source/bibliographie.tex
new file mode 100644
index 0000000000..f900df3b28
--- /dev/null
+++ b/info/formation-latex-ul/source/bibliographie.tex
@@ -0,0 +1,879 @@
+%%% Copyright (C) 2018 Vincent Goulet
+%%%
+%%% Ce fichier fait partie du projet
+%%% «Rédaction avec LaTeX»
+%%% https://gitlab.com/vigou3/formation-latex-ul
+%%%
+%%% Cette création est mise à disposition sous licence
+%%% Attribution-Partage dans les mêmes conditions 4.0
+%%% International de Creative Commons.
+%%% https://creativecommons.org/licenses/by-sa/4.0/
+
+\chapter{Bibliographie et citations}
+\label{chap:bibliographie}
+
+\nobibliography*
+
+La production de la bibliographie d'un ouvrage d'une certaine ampleur
+--- qu'il s'agisse d'un article scientifique, d'un mémoire, d'une
+thèse --- est une tâche d'une grande importance qui peut rapidement devenir
+laborieuse\dots\ lorsqu'elle n'est pas réalisée avec les outils appropriés.
+
+L'ordinateur est bien meilleur qu'un humain pour accomplir certaines
+opérations propres à la production d'une bibliographie. Un auteur ne
+devrait se préoccuper que de colliger les informations
+bibliographiques, puis de sélectionner les ouvrages à citer. La
+machine peut ensuite se charger:
+\begin{itemize}
+\item d'inclure dans la bibliographie tous les ouvrages cités dans le
+ document et seulement ceux-ci;
+\item de trier les entrées de la bibliographie;
+\item de composer les entrées de manière uniforme;
+\item de recommencer ces opérations autant de fois que nécessaire pour
+ un même document ou pour chaque nouveau document.
+\end{itemize}
+
+Avec en main une base de données bibliographique, la création de la
+bibliographie devient une tâche triviale qui ne prend guère plus que
+les quelques secondes de compilation nécessaires pour la composer.
+
+
+
+\section{Quel système utiliser?}
+\label{sec:bibliographie:systeme}
+
+La gestion des citations et la composition d'une bibliographie sont
+des tâches hautement spécialisées. Comme la plupart des traitements de
+texte, {\LaTeX} les confie donc à des outils externes. Reste à savoir
+lequel de ces outils utiliser.
+
+%% hack ici pour afficher le logo BibTeX en police sans serif qui n'a
+%% pas de version petites capitales tout en utilisant la commande
+%% usuelle dans la table des matières
+\subsection[{\BibTeX} et \pkg{natbib}]{%
+ {B\kern-.025em{\small I}\kern-.025em{\small B}\kern-.08em\TeX} %
+ et \pkg{natbib}}
+\label{sec:bibliographie:systeme:bibtex}
+
+Fort de plus de 25 années d'existence, {\BibTeX}\index{bibtex@\BibTeX}
+\citep{bibtex} est le système standard de traitement des
+bibliographies dans {\LaTeX}. Il est stable et prévisible --- ce que
+certains considéreraient des bogues passent pour des caractéristiques
+--- et, surtout, il existe un vaste catalogue de références
+bibliographiques en format {\BibTeX}. C'est généralement le seul
+format accepté par les revues scientifiques. Non qu'il s'agisse d'un
+argument massue, mais même Wikipedia, dans les rubriques «Citer cette
+page», et la Bibliothèque de l'Université Laval, dans les pages de
+notices bibliographiques, offrent les citations en format {\BibTeX}.
+
+{\BibTeX} est principalement un système de tri d'entrées
+bibliographiques et d'interface avec la base de données. La
+présentation des citations et de la bibliographie relève d'un
+\emph{style}. Les styles standards sont \code{plain}, \code{unsrt},
+\code{alpha} et \code{abbrv}; nous y reviendrons à la
+\autoref{sec:bibliographie:style}.
+
+Fonctionnant de pair --- et exclusivement --- avec {\BibTeX},
+\pkg{natbib} \citep{natbib} est un paquetage qui fournit des styles et
+des commandes pour composer des bibliographies dans le format
+auteur-année fréquemment utilisé dans les sciences naturelles et
+sociales\footnote{%
+ C'est le style utilisé dans le présent document.}. %
+Le paquetage est également compatible avec les styles de citation
+standards mentionnés ci-dessus.
+
+Parce qu'il est flexible et qu'il rend facile de produire des
+extensions compatibles, \pkg{natbib} est en quelque sorte devenu un
+standard \emph{de facto} pour la composition des bibliographies.
+D'ailleurs, la classe \class{ulthese} pour les thèses et mémoires de
+l'Université Laval charge par défaut le paquetage.
+
+Il existe plusieurs autres paquetages pour rencontrer des exigences
+particulières avec {\BibTeX}: bibliographies multiples, bibliographies
+par chapitre, etc. \citet{Mori:bibliographies:2009} en offre un bon
+survol. Consulter aussi la section \emph{Bibliographies and citations}
+de la formidable %
+\doc[\emph{UK List of {\TeX} Frequently Asked Questions}]{letterfaq}{http://www.tex.ac.uk/}.
+
+
+\subsection{Biber et biblatex}
+\label{sec:bibliographie:systeme:biblatex}
+
+Au moment d'écrire ces lignes, un nouveau système de traitement des
+bibliographies dans {\LaTeX} est en émergence. Il est formé du moteur
+de traitement Biber\index{Biber} \citep{biber} et du paquetage \pkg{biblatex}\index{biblatex}
+\citep{biblatex}. Ensemble, ils visent tout à la fois à remplacer
+l'infrastructure bâtie autour de {\BibTeX} et à proposer des
+fonctionnalités additionnelles. Citons le support natif des caractères
+UTF-8 et de nombreux modes de citation, dont le mode
+auteur-titre populaire en sciences humaines.
+
+Le duo Biber-\pkg{biblatex} bénéficie d'un développement récent en
+phase avec les technologies et les préoccupations actuelles. Certains
+enjoignent aux débutants de sauter dans ce train. Difficile,
+cependant, de dire si ce système saura s'établir comme nouveau
+standard, surtout compte tenu de la masse de matériel disponible pour
+{\BibTeX}.
+
+Pour de l'information additionnelle, consulter %
+\link{https://tex.stackexchange.com/q/25701}{cette entrée} %
+du site {\TeX}--{\LaTeX} Stack Exchange qui fournit un excellent
+sommaire des mérites et des inconvénients respectifs des deux systèmes
+de traitement de bibliographie.
+
+En l'absence d'un consensus clair, nous avons choisi de traiter dans
+ce chapitre à la fois du système le plus répandu et de celui avec
+lequel nous sommes le plus familier, soit la combinaison {\BibTeX} et
+\pkg{natbib}.
+
+\subsection{EndNote}
+\label{sec:bibliographie:systeme:endnote}
+
+EndNote\index{EndNote} est un logiciel commercial de gestion bibliographique très
+répandu dans certaines disciplines scientifiques. Il n'est donc pas
+rare que les nouveaux utilisateurs de {\LaTeX} demandent: «puis-je
+utiliser EndNote pour ma bibliographie?» La réponse courte est «Non»,
+car {\LaTeX} ne peut traiter directement les données bibliographiques
+de EndNote. La réponse plus longue est «Oui, indirectement»,
+car EndNote possède un filtre pour exporter ses données en format
+{\BibTeX}.
+
+Il est hors de la portée de ce document de traiter de la conversion
+des données bibliographiques de EndNote. Une simple recherche dans
+Internet sur «EndNote BibTeX» devrait fournir toute l'information
+nécessaire pour réaliser la conversion.
+
+
+\section{Processus de création d'une bibliographie}
+\label{sec:bibliographie:processus}
+
+La création d'une bibliographie compte plusieurs étapes. Nous les
+présentons ici afin d'en avoir une vue d'ensemble avant d'aborder les
+détails dans les sections suivantes.
+
+\begin{enumerate}
+\item Construire une ou plusieurs bases de données contenant les
+ informations bibliographiques. On utilise les mêmes bases de données
+ pour tous ses documents. Par conséquent, le temps consacré à cette
+ étape s'amenuise au fur et à mesure que l'on complète ses bases de
+ données.
+\item Choisir un style de citation et de présentation de la
+ bibliographie, généralement en se conformant aux us et coutumes dans
+ sa discipline scientifique ou aux instructions d'un éditeur.
+\item Insérer dans le texte de son document des références à des
+ ouvrages se trouvant dans ses bases de données bibliographiques.
+\item Insérer dans le code source du document les informations
+ relatives au style de bibliographie et aux bases de données à
+ utiliser, puis composer les références et la bibliographie avec
+ {\BibTeX}.
+\end{enumerate}
+
+
+\section{Création d'une base de données}
+\label{sec:bibliographie:bib}
+
+Il est tout à fait possible de citer des références et de construire
+une bibliographie avec {\LaTeX} sans avoir recours à une base de
+données bibliographiques et à {\BibTeX} pour traiter celles-ci. Nous
+recommandons toutefois fortement d'adopter cette approche.
+L'investissement requis en temps et en efforts demeure relativement
+faible, surtout au regard des avantages:
+\begin{itemize}
+\item on entre les informations dans une base de données une seule
+ fois pour ensuite les utiliser à répétition;
+\item le traitement automatisé des informations assure une
+ présentation uniforme de celles-ci;
+\item on peut changer le style de présentation de la bibliographie
+ sans pour autant toucher aux informations bibliographiques.
+\end{itemize}
+
+La base de données n'est en fait qu'un simple fichier texte dans
+lequel sont regroupées dans un format précis les informations
+bibliographiques. Le nom du fichier doit nécessairement comporter
+l'extension \code{.bib}.
+
+La base de données est composée d'entrées de divers \emph{types}:
+livre, article scientifique, thèse, etc. Chaque entrée comporte un
+certain nombre de \emph{champs}: titre, nom de l'auteur, date de
+publication, etc. Pour un type d'entrée donné, certains champs sont
+obligatoires, d'autres optionnels et d'autres simplement ignorés ou
+inactifs.
+
+La structure générale d'une entrée de base de données est la suivante:
+\begin{lstlisting}
+@`\meta{type\_entree}'{`\meta{clé}',
+ `\marg{champ}' = `\marg{valeur}',
+ ...,
+ `\marg{champ}' = `\marg{valeur}'}
+\end{lstlisting}
+Ci-dessus, \meta{clé} est un identifiant arbitraire, mais unique ---
+et idéalement mnémonique --- de l'entrée. C'est cette clé qui sera
+utilisée pour faire référence à l'entrée dans le code source du
+document.
+
+Il est beaucoup plus facile de comprendre ce dont il est question ici
+par le biais d'exemples. Des commentaires et précisions additionnels sur la
+préparation des entrées bibliographiques suivent l'\autoref*{ex:bibliographie:bib}.
+
+\begin{exemple}
+ \label{ex:bibliographie:bib}
+ On trouvera ci-dessous les entrées bibliographiques d'un livre
+ \citep{Kopka:latex:4e}, d'un article scientifique
+ \citep{Mori:bibliographies:2009} et d'un manuel générique, en
+ l'occurrence la documentation d'un paquetage \citep{natbib}. Pour
+ faciliter la comparaison, chaque entrée est immédiatement suivie du
+ texte de la notice tel qu'il apparait dans la bibliographie du
+ présent ouvrage.
+
+\begin{lstlisting}[language=]
+@Book{Kopka:latex:4e,
+ author = {Kopka, Helmut and Daly, Patrick W.},
+ title = {Guide to {\LaTeX}},
+ publisher = {Addison-Wesley},
+ year = 2003,
+ edition = 4,
+ isbn = {978-032117385-0},
+ language = {english}}
+\end{lstlisting}
+
+ \begin{framed}
+ \noindent \nolink{\bibentry{Kopka:latex:4e}}.
+ \end{framed}
+
+\begin{lstlisting}[language=]
+@Article{Mori:bibliographies:2009,
+ author = {Lapo F. Mori},
+ title = {Managing bibliographies with {\LaTeX}},
+ journal = {{TUG}boat},
+ year = 2009,
+ volume = 30,
+ number = 1,
+ pages = {36-48},
+ url = {https://www.tug.org/TUGboat/tb30-1/tb94mori.pdf},
+ language = {english}}
+\end{lstlisting}
+
+ \begin{framed}
+ \noindent \nolink{\bibentry{Mori:bibliographies:2009}}.
+ \end{framed}
+
+\begin{lstlisting}[language=]
+@Manual{natbib,
+ author = {Patrick W. Daly},
+ title = {Natural Sciences Citations and References},
+ year = 2010,
+ url = {https://www.ctan.org/pkg/natbib/},
+ language = {english}}
+\end{lstlisting}
+
+ \begin{framed}
+ \noindent \nolink{\bibentry{natbib}}.
+ \end{framed}
+ \qed
+\end{exemple}
+
+
+\begin{itemize}
+\item Les types d'entrée bibliographique dans l'exemple ci-dessus sont
+ \code{Book}, \code{Article} et \code{Manual}\footnote{%
+ Les identifiants des types d'entrée et des champs sont insensibles
+ à la casse. Par exemple, on pourrait tout aussi bien débuter une
+ entrée par \code{@Manual}, \code{@manual} ou \code{@MANUAL}.}. %
+ On remarquera que les champs utilisés sont différents d'un type à un
+ autre.
+
+ On trouvera la liste de tous les types d'entrée et des champs
+ obligatoires et optionnels pour chacun dans, entre autres, %
+ \doc[Wikipedia]{}{https://fr.wikipedia.org/wiki/BibTeX}, %
+ la %
+ \doc[documentation de {\BibTeX}]{btxdoc}{http://texdoc.net/pkg/btxdoc} %
+ ou la plupart des bons ouvrages de référence
+ \citep[comme][]{Kopka:latex:4e}.
+\item On entre le nom d'un auteur soit sous la forme \code{\{Prénom
+ Nom\}}, soit sous la forme \code{\{Nom, Prénom\}}. La seconde
+ forme est surtout utile pour distinguer explicitement le nom du
+ prénom, par exemple dans le cas de prénoms ou de noms multiples.
+\item Lorsqu'un ouvrage compte plusieurs auteurs, on distingue ceux-ci
+ en séparant le nom complet de \emph{chacun} des auteurs par le
+ mot-clé \code{and}.
+\item {\BibTeX} gère automatiquement les hauts et bas de
+ casse (majuscules et minuscules), en particulier dans les titres
+ d'ouvrages. Pour préserver une casse particulière, il suffit de
+ placer les lettres entre accolades.
+
+ Par exemple, dans la seconde entrée de
+ l'\autoref{ex:bibliographie:bib}, le titre du journal TUGboat est
+ inscrit sous la forme \code{\{\{TUG\}boat\}} pour éviter que {\BibTeX}
+ ne le transforme en «Tugboat».
+\item Les champs \code{isbn}, \code{url} et quelques autres
+ \citep[section~2.8]{natbib} sont fournis par le paquetage
+ \pkg{natbib}. Même si ces champs ne devaient pas s'afficher dans la
+ bibliographie pour le style choisi, c'est une bonne idée d'insérer
+ les informations dans la base de données pour référence future.
+\item Le champ \code{language}, introduit par \pkg{babel}, permet de
+ préciser la langue de l'entrée bibliographique. La césure de mots et
+ la composition de certains éléments seront ainsi adaptées en
+ conséquence.
+
+ Par exemple, si l'entrée d'un document comporte le champ
+ \code{edition = 2}, sa fiche bibliographique contiendra la mention
+ «2{\ieme} édition» ou «2\up{nd} edition» selon que l'on a précisé
+ que l'ouvrage est en français ou en anglais.
+\item {\BibTeX} supporte les lettres accentuées ou autres caractères
+ spéciaux dans le texte des champs seulement si le document utilisant
+ la bibliographie supporte lui-même ces caractères; voir la
+ \autoref{sec:bases:francais}. Autrement, il faut entrer les
+ caractères spéciaux avec les commandes {\LaTeX} de base tel
+ qu'expliqué sommairement à la \autoref{sec:bases:caracteres}.
+
+ Notre recommandation: éviter les lettres accentuées dans les
+ entrées susceptibles d'être utilisées dans un document entièrement
+ en anglais.
+\end{itemize}
+
+\tipbox{Entretenir une base de données bibliographiques unique peut
+ rapidement devenir pénible quand le nombre d'entrée devient grand.
+
+ Mieux vaut alors scinder ses références dans plusieurs fichiers par
+ thématique, un peu comme dans une bibliothèque:
+ droit, finance, informatique, mathématiques, etc.
+
+ On nommera ensuite les fichiers du nom de la thématique:
+ \code{droit.bib}, \code{finance.bib},
+ \code{informatique.bib}, etc.}
+
+
+
+\section{Style des citations et de la bibliographie}
+\label{sec:bibliographie:style}
+
+Il existe plusieurs manières différentes de présenter une
+bibliographie et {\LaTeX} sait s'adapter. Le format général de la
+bibliographie est contrôlé par un \emph{style} choisi avec la commande
+\cmd{\bibliographystyle}. Le style affecte habituellement deux
+composantes de la bibliographie:
+\begin{enumerate}
+\item le mode de citation dans le texte (numérique, alphanumérique,
+ auteur-année, etc.);
+\item la présentation des notices bibliographiques (ordre des
+ éléments, ponctuation, mise en forme des caractères, etc.).
+\end{enumerate}
+On trouvera des exemples de quelques styles de bibliographie dans le
+\autoref{tab:bibliographie:styles}.
+
+\begin{table}
+ \caption{Quelques styles de bibliographie et leur effet sur le mode de
+ citation et le format des notices bibliographiques}
+ \label{tab:bibliographie:styles}
+ \small
+ \textbf{Styles standards numériques et alphanumériques} \\[0.5\normalbaselineskip]
+ \begin{tabularx}{1.0\linewidth}{p{0.16\linewidth}p{0.35\linewidth}X}
+ \toprule
+ style & mode de citation & format de notice \\
+ \midrule
+ \code{plain} &
+ Un bon ouvrage de référence est [1] &
+ \begin{bibexample}
+ \item[{[1]}] Helmut Kopka and Patrick~W. Daly.
+ \emph{Guide to {\LaTeX}}. Addison-Wesley, 4 edition, 2003.
+ \end{bibexample}
+ \\ \addlinespace[8pt]
+ \code{plain-fr} &
+ Un bon ouvrage de référence est [1] &
+ \begin{bibexample}
+ \item[{[1]}] Helmut \textsc{Kopka} et Patrick~W. \textsc{Daly}:
+ \emph{Guide to {\LaTeX}}. Addison-Wesley, 4 édition, 2003.
+ \end{bibexample}
+ \\ \addlinespace[8pt]
+ \code{alpha-fr} &
+ Un bon ouvrage de référence est [KD03] &
+ \begin{bibexample}
+ \item[{[KD03]}] Helmut \textsc{Kopka} et Patrick~W. \textsc{Daly}:
+ \emph{Guide to {\LaTeX}}. Addison-Wesley, 4 édition, 2003.
+ \end{bibexample} \\
+ \end{tabularx} \\
+ \medskip
+
+ \textbf{Styles auteur-année avec \pkg{natbib}} \\[0.5\normalbaselineskip]
+ \begin{tabularx}{1.0\linewidth}{p{0.16\linewidth}p{0.35\linewidth}X}
+ \toprule
+ style & mode de citation & format de notice \\
+ \midrule
+ \code{plainnat-fr} &
+ Un bon ouvrage de référence est Kopka et Daly (2003) &
+ \begin{bibexample}
+ \item[] Helmut \textsc{Kopka} et Patrick~W. \textsc{Daly}:
+ \emph{Guide to {\LaTeX}}. Addison-Wesley, 4 édition, 2003.
+ \end{bibexample}
+ \\ \addlinespace[8pt]
+ \code{francais} &
+ Un bon ouvrage de référence est Kopka et Daly (2003) &
+ \begin{bibexample}
+ \item[] Kopka, H.\ et P.~W. Daly. 2003.
+ \emph{Guide to {\LaTeX}}, 4{\ieme} éd., Addison-Wesley.
+ \end{bibexample} \\
+ \bottomrule
+ \end{tabularx}
+\end{table}
+
+Les styles standards de {\LaTeX} sont \code{plain}, \code{unsrt},
+\code{alpha} et \code{abbrv}. Ces styles ont été développés pour des
+modes de citation numériques ou alphanumériques.
+
+Pour plus de flexibilité, nous recommandons d'utiliser le paquetage
+\pkg{natbib} pour la gestion des références et du style de la
+bibliographie. Entre autres choses, ce paquetage supporte le style de
+citation auteur-année fréquemment employé en sciences naturelles et
+sociales, plusieurs commandes de citation, un grand nombre de styles
+de bibliographie, ainsi que des entrées spécifiques pour les numéros
+ISBN et les URL. Le paquetage fournit des styles \code{plainnat},
+\code{unsrtnat} et \code{abbrvnat} similaires aux styles standards,
+mais plus complets. Il existe des %
+\doc[versions francisées]{}{https://mirrors.ctan.org/biblio/bibtex/contrib/bib-fr/} %
+de ces styles dans CTAN et dans {\TeX}~Live.
+Il est fortement recommandé de consulter la %
+\doc{natbib}{http://texdoc.net/pkg/natbib/} %
+de \pkg{natbib} pour les détails. On y trouvera également des
+informations sur l'utilisation de styles de citation autres que
+auteur-année.
+
+Également dans CTAN et dans {\TeX}~Live, le paquetage
+\pkg{francais-bst} \citep{francais-bst} fournit deux feuilles de style
+compatibles avec \pkg{natbib} permettant de composer des
+bibliographies auteur-année respectant les normes de typographie
+française proposées dans \citet{Malo:1996}; voir le dernier exemple du
+\autoref{tab:bibliographie:styles}.
+
+Le paquetage \pkg{natbib} est chargé par défaut par la classe
+\class{ulthese}; consulter la section~6.6 de la %
+\doc{ulthese}{http://texdoc.net/pkg/ulthese/} %
+de la classe pour plus d'information sur l'interaction entre le
+paquetage et celle-ci.
+
+En terminant, notons que la plupart des journaux scientifiques et des
+maisons d'édition ont leur propre style que les auteurs sont tenus
+d'utiliser. En ce qui a trait aux thèses et mémoires de l'Université
+Laval, la Faculté des études supérieures et postdoctorales n'impose
+aucun style de bibliographie particulier. Nous recommandons
+d'utiliser le style usuel dans sa discipline scientifique.
+
+
+
+\section{Insertion de références dans le texte}
+\label{sec:bibliographie:cite}
+
+La raison première d'une bibliographie, c'est évidemment d'y colliger
+les informations relatives aux ouvrages auxquels un document fait
+référence. Avant de penser créer une bibliographie, il faut donc
+savoir comment insérer des références dans le texte.
+
+La commande de base pour insérer une référence au fil du texte dans
+{\LaTeX} est
+\begin{lstlisting}
+\cite`\marg{clé}'
+\end{lstlisting}
+L'effet de la commande est double:
+\begin{enumerate}
+\item insérer une référence comme «\nolink{\citet{Mori:bibliographies:2009}}»
+ dans le texte;
+\item ajouter le document dans la bibliographie.
+\end{enumerate}
+En somme, outre la phase de compilation qui fait l'objet de la section
+suivante, c'est tout ce qu'il y a à faire pour construire sa
+bibliographie.
+
+Avec \pkg{natbib}, on utilisera plutôt les commandes
+\begin{lstlisting}
+\citet`\marg{clé}'
+\citep`\marg{clé}'
+\end{lstlisting}
+Dans le style de citation auteur-année, ces commandes permettent
+respectivement d'insérer une référence au fil de la phrase ou en
+aparté:
+\begin{demo}
+ \begin{texample}[0.55\linewidth]
+\begin{lstlisting}
+\citet{Mori:bibliographies:2009}
+en offre un bon survol.
+\end{lstlisting}
+ \producing
+ \citet{Mori:bibliographies:2009},
+ en offre un bon survol.
+ \end{texample}
+ \begin{texample}[0.55\linewidth]
+\begin{lstlisting}
+TUGboat a publié un bon survol
+\citep{Mori:bibliographies:2009}.
+\end{lstlisting}
+ \producing
+ TUGboat a publié un bon survol
+ \citep{Mori:bibliographies:2009}.
+ \end{texample}
+\end{demo}
+
+On ne devrait \emph{jamais} entrer directement dans le texte des
+informations bibliographiques, même partielles. Pour insérer dans le
+texte le nom d'un auteur ou l'année de publication d'un ouvrage,
+\pkg{natbib} offre les commandes:
+\begin{lstlisting}
+\citeauthor`\marg{clé}'
+\citeyear`\marg{clé}'
+\end{lstlisting}
+Avec ces commandes, pas de risque de mal orthographier un nom par
+inadvertance, ou d'oublier de modifier dans le texte une année de
+publication que l'on aura changé dans la base de données
+bibliographique.
+
+Le paquetage fournit plusieurs autres commandes pour manipuler les
+informations bibliographiques et contrôler leur présentation;
+consulter la %
+\doc{natbib}{http://texdoc.net/pkg/natbib} %
+de \pkg{natbib}.
+
+Il arrive que l'on souhaite inclure dans la bibliographie un ou
+plusieurs documents qui ne sont pas cités dans le texte. Pour ce
+faire, insérer dans le corps du document la commande
+\begin{lstlisting}
+\nocite`\marg{clé1,clé2,...}'
+\end{lstlisting}
+où \meta{clé1}, \meta{clé2}, \dots, sont les clés des documents à
+inclure dans la bibliographie.
+
+Le paquetage \pkg{hyperref} fait automatiquement d'une référence
+bibliographique un hyperlien vers l'entrée dans la bibliographie.
+C'est le cas dans le présent document. Or, il peut arriver que
+l'hyperlien soit superflu ou indésirable. Pour le supprimer pour une
+référence particulière, utiliser l'environnement \Ie{NoHyper}:
+\begin{lstlisting}
+\begin{NoHyper} \citet`\marg{clé}' \end{NoHyper}
+\end{lstlisting}
+
+
+\section{Composition de la bibliographie}
+\label{sec:bibliographie:bibtex}
+
+Les commandes de la section précédente servent à indiquer à {\LaTeX}
+les ouvrages à inclure dans la bibliographie. C'est toutefois l'outil
+externe {\BibTeX} qui se chargera de fournir à {\LaTeX} le texte des
+références ainsi que le contenu de la bibliographie.
+
+À la \autoref{sec:presentation:processus}, nous avons représenté
+schématiquement comme suit le processus de création d'un document avec
+pdf{\LaTeX} ou {\XeLaTeX}:
+\begin{center}
+ \sffamily
+ \begin{minipage}[t]{0.12\linewidth}
+ \centering
+ {\LARGE\faFileTextO} \\ \medskip
+ code source
+ \end{minipage}
+ \quad\faArrowRight\quad
+ \begin{minipage}[t]{0.12\linewidth}
+ \centering
+ {\LARGE\faCogs} \\ \medskip
+ \code{pdflatex} \\ \code{xelatex}
+ \end{minipage}
+ \quad\faArrowRight\quad
+ \begin{minipage}[t]{0.12\linewidth}
+ \centering
+ {\LARGE\faFilePdfO} \\ \medskip
+ fichier PDF
+ \end{minipage}
+\end{center}
+
+Pour créer ou mettre à jour la bibliographie, il s'ajoute au processus
+une étape de compilation du document avec {\BibTeX}:
+\begin{center}
+ \sffamily
+ \begin{minipage}[t]{0.12\linewidth}
+ \centering
+ {\LARGE\faFileTextO} \\ \medskip
+ code source
+ \end{minipage}
+ \quad\faArrowRight\quad
+ \begin{minipage}[t]{0.12\linewidth}
+ \centering
+ {\LARGE\faCogs} \\ \medskip
+ \code{pdflatex} \\ \code{xelatex}
+ \end{minipage}
+ \quad\faArrowRight\quad
+ \begin{minipage}[t]{0.12\linewidth}
+ \centering
+ {\LARGE\faCogs} \\ \medskip
+ \code{bibtex}
+ \end{minipage}
+ \quad\faArrowRight\quad
+ \begin{minipage}[t]{0.12\linewidth}
+ \centering
+ {\LARGE\faCogs}\;
+ \raisebox{-2pt}{\parbox[b]{1em}{\centering\large\faRepeat\tiny\\ $\times 2$}} \\ \medskip
+ \code{pdflatex} \\ \code{xelatex}
+ \end{minipage}
+ \quad\faArrowRight\quad
+ \begin{minipage}[t]{0.12\linewidth}
+ \centering
+ {\LARGE\faFilePdfO} \\ \medskip
+ fichier PDF
+ \end{minipage}
+\end{center}
+
+Plus en détails, le processus de préparation d'un document comprenant
+une bibliographie est le suivant.
+
+\begin{enumerate}
+\item Composer le texte et y insérer des références avec les commandes
+ de la section précédente.
+\item Ajouter dans le préambule ou près de la commande
+ \cmdprint{\bibliography} ci-dessous la commande
+\begin{lstlisting}
+\bibliographystyle`\marg{style}'
+\end{lstlisting}
+ où \meta{style} est un nom de style bibliographique.
+\item Ajouter dans le texte la commande
+\begin{lstlisting}
+\bibliography{`\meta{base\_donnees1}', `\meta{base\_donnees2}', ...}
+\end{lstlisting}
+ à l'endroit où l'on veut qu'apparaisse la bibliographie
+ (généralement à la fin du document). Les arguments
+ \meta{base\_donnees1}, \meta{base\_donnees2}, séparés par des
+ virgules, sont les noms (sans l'extension \code{.bib}) des fichiers
+ de données bibliographiques.
+\item \label{item:bibliographie:1} Compiler le document une première
+ fois avec un moteur {\TeX} afin que {\LaTeX} détecte les ouvrages à
+ insérer dans la bibliographie. À cette étape, les références dans le
+ texte apparaissent sous forme d'un point d'interrogation
+ «\textbf{?}».
+\item Compiler le document avec {\BibTeX} afin de préparer le texte
+ des références et composer la bibliographie.
+\item \label{item:bibliographie:2} Compiler à nouveau le document au
+ moins deux fois avec un moteur {\TeX} afin d'y insérer d'abord la
+ bibliographie, puis le texte des références.
+\end{enumerate}
+
+Il faut répéter les étapes
+\ref*{item:bibliographie:1}--\ref*{item:bibliographie:2} chaque fois
+qu'une nouvelle référence est ajoutée dans le document ou que l'entrée
+bibliographique est modifiée. Autrement, tant que la bibliographie
+demeure inchangée, une compilation standard avec seulement le moteur
+{\TeX} suffit.
+
+\begin{exemple}
+ La \autoref{fig:bibliographie:bibtex:1} présente le contenu d'un
+ fichier de base de données bibliographiques et le fichier source
+ d'un document simple contenant des références et une bibliographie.
+
+ \begin{itemize}
+ \item Le document utilise le mode de citation auteur-année de
+ \pkg{natbib}.
+ \item La présence du paquetage \pkg{fontspec} dans le préambule
+ indique que le document doit être compilé avec {\XeLaTeX}. Cela
+ fait en sorte que les lettres accentuées sont automatiquement
+ supportées tant dans le texte que dans les entrées de la
+ bibliographie.
+ \item Le paquetage \pkg{babel} est activé avec l'anglais et le
+ français, les deux langues utilisées dans la bibliographie. Nommé
+ en dernier dans les options de chargement de la classe, le
+ français est la langue par défaut du document.
+ \end{itemize}
+
+ Ces fichiers en main, les étapes de composition 1--3 sont
+ complétées. La \autoref{fig:bibliographie:bibtex:2} présente la zone
+ de texte principale du document après l'étape 4, puis après chacune
+ des deux compilations de l'étape 6. %
+ \qed
+ \begin{figure}
+ \centering
+ \code{exemple-bibliographie.bib}
+ \lstinputlisting[language=]{listings/exemple-bibliographie.bib}
+ \medskip
+ \code{exemple-bibliographie.tex}
+ \lstinputlisting[firstline=3]{listings/exemple-bibliographie.tex}
+ \caption[Code source d'un fichier de base de données et
+ d'un document simple]{%
+ Code source d'un fichier de base de données (haut) et
+ d'un document simple (bas)}
+ \label{fig:bibliographie:bibtex:1}
+ \end{figure}
+ \begin{figure}
+ \code{xelatex}
+ \begin{framed}
+ \includegraphics[width=\linewidth]{images/exemple-bibliographie-cropped-1}
+ \end{framed}
+ \code{xelatex} $\rightarrow$ \code{bibtex} $\rightarrow$ \code{xelatex}
+ \begin{framed}
+ \includegraphics[width=\linewidth]{images/exemple-bibliographie-cropped-2}
+ \end{framed}
+ \code{xelatex} $\rightarrow$ \code{bibtex} $\rightarrow$ \code{xelatex} $\rightarrow$ \code{xelatex}
+ \begin{framed}
+ \includegraphics[width=\linewidth]{images/exemple-bibliographie-cropped-3}
+ \end{framed}
+ \caption{Zone de texte du document aux diverses étapes de la
+ compilation des fichiers de la
+ \autoref{fig:bibliographie:bibtex:1} avec {\XeLaTeX} et
+ {\BibTeX}}
+ \label{fig:bibliographie:bibtex:2}
+ \end{figure}
+\end{exemple}
+
+\tipbox{Aux toutes dernières étapes avant de rendre un document, s'assurer
+ d'exécuter {\BibTeX} une dernière fois et de compiler avec
+ pdf{\LaTeX} ou {\XeLaTeX} au moins deux fois. Le journal de la
+ compilation (\emph{log file}) ne devrait pas rapporter de références
+ manquantes (\emph{undefined references}).}
+
+Les logiciels intégrés de rédaction offrent généralement des raccourcis pour exécuter la
+compilation avec {\BibTeX}.
+\begin{itemize}
+\item Dans TeXShop, on sélectionne un autre programme dans le menu à
+ côté du bouton «Composition».
+\item Dans Texmaker, on choisit le programme approprié dans le menu de
+ composition rapide.
+\item Dans GNU~Emacs, on choisit \code{BibTeX} dans le menu
+ \code{Command} ou après avoir lancé la commande
+ \code{TeX-command-master} avec \code{C-c C-c}.
+\end{itemize}
+La \autoref{fig:bibliographie:editeurs} présente les deux premières
+interfaces.
+
+\begin{figure}
+ \centering
+ \includegraphics[height=2.2cm]{images/bibtex-texshop}
+ \qquad
+ \includegraphics[height=2.2cm]{images/bibtex-texmaker}
+ \caption[Interfaces de sélection du programme {\BibTeX} dans TeXShop
+ et Texmaker]{%
+ Interfaces de sélection du programme {\BibTeX} dans TeXShop (à
+ gauche) et Texmaker (à droite)}
+ \label{fig:bibliographie:editeurs}
+\end{figure}
+
+On trouvera des informations additionnelles, notamment sur des sources
+de données bibliographiques et des outils de gestion des bases de
+données, dans la section %
+\doc[Gestion de la bibliographie]{}{https://fr.wikibooks.org/wiki/LaTeX/Gestion_de_la_bibliographie} %
+de \citeauthor{wikilivres:latex}.
+
+
+
+%%%
+%%% Exercices
+%%%
+
+\section{Exercices}
+\label{sec:bibliographie:exercices}
+
+\Opensolutionfile{solutions}[solutions-bibliographie]
+
+\begin{Filesave}{solutions}
+\section*{Chapitre \ref*{chap:bibliographie}}
+\addcontentsline{toc}{section}{Chapitre \protect\ref*{chap:bibliographie}}
+
+\end{Filesave}
+
+\begin{exercice}
+ Composer des entrées de base de données pour les références
+ bibliographiques suivantes.
+ \begin{enumerate}
+ \item \nolink{\bibentry{Mittelbach:floats:2014:nourl}}
+
+ \emph{Astuce}: cette entrée est un article tiré d'une revue
+ scientifique.
+
+ \item \nolink{\bibentry{memoir}}
+
+ \emph{Astuces}: traiter cette entrée comme un livre et utiliser le
+ champ \code{note} pour consigner la remarque qui se trouve à la
+ fin de la notice.
+
+ \item \nolink{\bibentry{pstricks}}
+
+ \emph{Astuces}: utiliser le type de document \code{Manual};
+ attention à la casse de certains mots; on obtient le symbole {\ss}
+ avec la commande \cmdprint{\ss}.
+ \end{enumerate}
+ \begin{sol}
+ On trouve les champs obligatoires et optionnels pour chaque type
+ d'entrée dans %
+ \doc[Wikipedia]{}{https://fr.wikipedia.org/wiki/BibTeX}. %
+ La clé est laissée vacante dans les réponses ci-dessous.
+ \begin{enumerate}
+ \item On utilise le type \code{Article} pour cette entrée.
+\begin{lstlisting}[language=]
+@Article{,
+ author = {Frank Mittelbach},
+ title = {How to Influence the Position of Float
+ Environments Like Figure and Table In
+ {\LaTeX}?},
+ journal = {{TUG}boat},
+ year = 2014,
+ volume = 35,
+ number = 3,
+ pages = {258-254},
+ language = {english}}
+\end{lstlisting}
+
+ \item On utilise le type \code{Book} pour cette entrée.
+\begin{lstlisting}[language=]
+@Book{,
+ author = {Peter Wilson},
+ title = {The Memoir Class for Configurable
+ Typesetting},
+ publisher = {The Herries Press},
+ year = 2013,
+ edition = 8,
+ note = {Maintained by Lars Madsen},
+ url = {https://www.ctan.org/pkg/memoir/},
+ language = {english}}
+\end{lstlisting}
+
+ \item La réponse ci-dessous contient les prénoms des auteurs,
+ simplement afin d'illustrer que {\BibTeX} sait les abréger au
+ moment de composer la notice bibliographique. Remarquer
+ l'utilisation des accolades \verb={ }= dans le titre pour
+ préserver la casse de «PSTricks» et de «PostScript».
+\begin{lstlisting}[language=]
+@Manual{,
+ author = {Timothy {V}an Zandt and Denis Girou and
+ Herbert Vo{\ss}},
+ title = {{PSTricks} --- {PostScript} Macros for
+ Generic {\TeX}},
+ year = 2014,
+ url = {https://www.ctan.org/pkg/pstricks-base/},
+ language = {english}}
+\end{lstlisting}
+ \end{enumerate}
+ \end{sol}
+\end{exercice}
+
+\begin{exercice}[nosol]
+ Utiliser pour cet exercice le fichier
+ \fichier{exercice\_gabarit.tex} ainsi que la base de données
+ bibliographique crée à l'exercice précédent.
+ \begin{enumerate}
+ \item Créer un document simple comprenant des références à une ou
+ plusieurs des entrées bibliographiques de l'exercice précédent.
+ Compiler le document en suivant les étapes mentionnées à la
+ \autoref{sec:bibliographie:bibtex} en utilisant tour à tour les
+ styles par défaut \code{plain}, \code{unsrt}, \code{alpha} et
+ \code{abbrv}.
+ \item Charger dans le document le paquetage \pkg{natbib} (avant
+ \pkg{babel}) et utiliser le style de bibliographie \code{francais}
+ fourni par \pkg{francais-bst} (installé par défaut dans
+ {\TeX}~Live). Recompiler le document et observer les différences
+ par rapport aux documents produit en a).
+ \end{enumerate}
+\end{exercice}
+
+\begin{exercice}[nosol]
+ À partir d'un gabarit fourni avec la classe \class{ulthese},
+ produire un document simple contenant une bibliographie.
+\end{exercice}
+
+\Closesolutionfile{solutions}
+
+%%% Local Variables:
+%%% mode: latex
+%%% TeX-master: "formation-latex-ul"
+%%% TeX-engine: xetex
+%%% coding: utf-8
+%%% End:
diff --git a/info/formation-latex-ul/source/boites.tex b/info/formation-latex-ul/source/boites.tex
new file mode 100644
index 0000000000..e11dee2e58
--- /dev/null
+++ b/info/formation-latex-ul/source/boites.tex
@@ -0,0 +1,496 @@
+%%% Copyright (C) 2018 Vincent Goulet
+%%%
+%%% Ce fichier fait partie du projet
+%%% «Rédaction avec LaTeX»
+%%% https://gitlab.com/vigou3/formation-latex-ul
+%%%
+%%% Cette création est mise à disposition sous licence
+%%% Attribution-Partage dans les mêmes conditions 4.0
+%%% International de Creative Commons.
+%%% https://creativecommons.org/licenses/by-sa/4.0/
+
+\chapter{Boites}
+\label{chap:boites}
+
+Il arrive que l'on doive traiter de manière spéciale une aire
+rectangulaire de texte; pour l'encadrer, la mettre en surbrillance ou
+la mettre en exergue, par exemple.
+
+Avec les traitements de texte, on aura souvent recours aux tableaux à
+de telles fins. Or, les tableaux devraient être réservés à la
+disposition d'information sous forme de lignes et de colonnes. Pour
+disposer et mettre en forme tout autre type contenu se présentant sous
+forme rectangulaire, {\LaTeX} offre la solution plus générale des
+«boites».
+
+Il existe trois sortes de boites en {\LaTeX}: les boites horizontales,
+dont le contenu est disposé exclusivement côte à côte; les boites
+verticales, qui peuvent contenir plusieurs lignes de contenu; les
+boites de réglure pour former des lignes pleines de largeur et de
+hauteur quelconques.
+
+Il n'est pas inutile de savoir, au passage, que {\TeX} ne manipule que
+cela, des boites. Pour {\TeX}, chaque caractère, chaque lettre n'est
+qu'un rectangle d'une certaine largeur qui s'élève au-dessus de la
+ligne de base (les lignes d'une feuille lignée) et qui, parfois, se
+prolonge sous la ligne de base (pensons aux lettres \emph{p}, \emph{y}
+ou \emph{Q}). La \autoref{fig:boites:glyphs} illustre cela.
+
+\begin{figure}[t]
+ \begin{minipage}{0.45\linewidth}
+ \centering\huge
+ fantastique
+ \end{minipage}
+ \hfill
+ \begin{minipage}{0.45\linewidth}
+ %% creéation de boites autour des caractères
+ %% https://tex.stackexchange.com/q/57812
+ \fboxrule=0.1pt
+ \fboxsep=-\fboxrule
+ \makeatletter
+ \def\SOUL@soeverytoken{%
+ \fbox{\color{white}\the\SOUL@token}}
+ \makeatother
+ \centering
+ \so{\huge fantastique}
+ \end{minipage}
+ \caption[Pour {\TeX}, un texte n'est qu'un alignement de boites]{%
+ Pour {\TeX}, un texte n'est qu'un alignement de boites. À gauche,
+ ce que nous voyons dans le document fini; à droite, ce que {\TeX}
+ manipule.}
+ \label{fig:boites:glyphs}
+\end{figure}
+
+Les commandes et environnements présentés ci-dessous permettent
+simplement de créer d'autres boites dont le contrôle des dimensions et
+du contenu est laissé à l'usager.
+
+Une fois créée, une boite ne peut être scindée en parties, notamment
+entre les lignes ou entre les pages.
+
+
+\section{Boites horizontales}
+\label{sec:boites:lrbox}
+
+Le concept de boite le plus simple dans {\LaTeX} est celui de boite
+«horizontale», c'est-à-dire dont le contenu est disposé latéralement
+de gauche à droite\footnote{%
+ D'où l'appellation \emph{LR (left-right) box} en anglais.}. %
+Le contenu est normalement du texte, mais conceptuellement ce pourrait
+être n'importe quoi, y compris d'autres boites.
+
+Les commandes de base pour créer des boites horizontales sont:
+\begin{lstlisting}
+\mbox`\marg{texte}'
+\fbox`\marg{texte}'
+\end{lstlisting}
+Elles produisent une boite de la largeur précise de \meta{texte}. Avec
+la commande \cmd{\fbox}, le texte est au surplus \fbox{encadré}.
+
+Il existe également des versions plus générales des commandes
+\cmd{\mbox} et \cmd{\fbox}:
+\begin{lstlisting}
+\makebox`\oarg{largeur}\oarg{pos}\marg{texte}'
+\framebox`\oarg{largeur}\oarg{pos}\marg{texte}'
+\end{lstlisting}
+Les arguments optionnels \meta{largeur} et \meta{pos} déterminent
+respectivement la largeur de la boite et la position du texte
+dans la boite. Les valeurs possibles de \meta{pos} sont: \code{l} pour
+du texte aligné à gauche, \code{r} pour du texte aligné à droite et
+\code{c} (la valeur par défaut) pour du texte centré. Ainsi, la commande
+\begin{lstlisting}
+\framebox[3.5cm][l]{aligné à gauche}
+\end{lstlisting}
+produit \framebox[3.5cm][l]{aligné à gauche}, alors que
+\begin{lstlisting}
+\makebox[3.5cm]{centré}
+\end{lstlisting}
+produit \makebox[3.5cm]{centré}.
+
+\tipbox{En usage courant, la commande \cmd{\mbox} sert principalement
+ à deux choses:
+ \begin{enumerate}
+ \item réunir en un bloc du texte que l'on ne veut pas voir scindé
+ entre les lignes ou entre les pages;
+ \item \label{item:boites:mbox} créer une boite vide avec
+ \cs{mbox\{\}} afin de laisser croire à {\TeX} que du contenu
+ apparait à un endroit, sans toutefois qu'il n'occupe aucun espace.
+ \end{enumerate}
+ La seconde utilisation fait l'objet de
+ l'\autoref{ex:boites:alignement-v}.}
+
+Il est parfois nécessaire d'ajuster le positionnement vertical
+d'éléments de contenu, notamment pour les symboles ou les images. La
+commande
+\begin{lstlisting}
+\raisebox`\marg{déplacement}\marg{texte}'
+\end{lstlisting}
+produit une boite horizontale dont le contenu \meta{texte} est
+surélevé de la longueur \meta{déplacement} par rapport à la ligne de
+base. Si \meta{déplacement} est négatif, la boite est positionnée sous
+la ligne de base.
+\begin{demo}
+ \begin{texample}[0.55\textwidth]
+\begin{lstlisting}
+Texte \raisebox{1ex}{au-dessus}
+de la ligne de base.
+\end{lstlisting}
+ \producing
+ Texte \raisebox{1ex}{au-dessus}
+ de la ligne de base.
+ \end{texample}
+
+ \begin{texample}[0.55\textwidth]
+\begin{lstlisting}
+Texte \raisebox{-1ex}{au-dessous}
+de la ligne de base.
+\end{lstlisting}
+ \producing
+ Texte \raisebox{-1ex}{au-dessous}
+ de la ligne de base.
+ \end{texample}
+\end{demo}
+
+Attention, toutefois, de ne pas utiliser \cmd{\raisebox} pour placer
+du texte en exposant ou en indice. Selon la nature du texte, employer
+plutôt les commandes \cmd{\textsuperscript} et \cmd{\textsubscript},
+les commandes de la famille \cmd{\ieme} de \pkg{babel} (section~1.1 de
+la %
+\doc{frenchb}{http://texdoc.net/pkg/babel-french/}) ou, pour des
+symboles mathématiques, les commandes d'exposant et d'indice
+spécifiques au mode mathématique (\autoref{sec:math:bases:exposants}).
+
+\section{Boites verticales}
+\label{sec:boites:parbox}
+
+Les boites verticales se distinguent des boites horizontales par le
+fait qu'elles peuvent contenir plusieurs lignes de contenu empilées
+les unes au-dessus des autres. Lorsque le contenu en question est du
+texte, on obtient des paragraphes\footnote{%
+ D'où l'appellation de \emph{paragraph boxes} en anglais
+ ou \emph{parboxes} dans le jargon {\LaTeX}.}. %
+
+La commande de base pour créer une boite verticale est:
+\begin{lstlisting}
+\parbox`\oarg{pos}\marg{largeur}\marg{texte}'
+\end{lstlisting}
+Ici, l'argument optionnel \meta{pos} permet d'ajuster l'alignement
+vertical de la boite avec la ligne de base: \code{b} ou \code{t} selon
+que l'on souhaite aligner, respectivement, le bas ou le haut de la
+boite avec la ligne de base. Par défaut, la boite est centrée avec la
+ligne de base. Cet argument n'a aucun effet si la boite est le seul
+élément de contenu du paragraphe.
+
+On remarquera que l'argument \meta{largeur} est ici obligatoire.
+Autrement dit, on doit nécessairement définir la largeur des boites
+verticales, un peu comme il faut bien définir la largeur de la page
+pour le texte normal (la classe se charge de ce détail).
+
+Les boites créées avec \cmd{\parbox} ne peuvent contenir de structures
+«complexes» comme des listes ou des tableaux. Parce que plus général,
+l'outil véritablement utile pour la création de boites verticales est
+l'environnement \Pe{minipage}. Cet environnement peut contenir à peu
+n'importe quel type de contenu. Comme son nom l'indique, c'est ni plus
+ni moins qu'une page miniature à l'intérieur de la page standard.
+
+La syntaxe de l'environnement \Ie{minipage} est la suivante:
+\begin{lstlisting}
+\begin{minipage}`\oarg{pos}\marg{largeur}'
+ `\meta{texte}'
+\end{minipage}
+\end{lstlisting}
+La signification des arguments \meta{largeur} et \meta{pos} est la
+même que pour la commande \cmd{parbox}.
+
+L'environnement \Pe{minipage} est fréquemment utilisé pour disposer
+des éléments de contenu de manière spécifique sur la page, notamment
+des tableaux ou des figures côte à côte ou en grille (voir
+l'\autoref{exemple:tableaux:grille} à la
+\autopageref{exemple:tableaux:grille}).
+
+\begin{exemple}
+ L'agencement de boites ci-dessous est produit avec le code qui suit
+ immédiatement. \\[0.5\baselineskip]
+ \begin{minipage}{\textwidth}
+ \makebox[0pt][l]{\color{lightgray}\rule{\textwidth}{0.7pt}}\relax
+ \fbox{\begin{minipage}[b]{0.3\textwidth} La ligne inférieure de
+ cette \emph{minipage} est alignée avec
+ \end{minipage}} \hfill \fbox{\parbox{0.3\textwidth}{le centre de
+ cette boite verticale, qui est à son tour alignée avec}}
+ \hfill \fbox{\begin{minipage}[t]{0.3\textwidth} la ligne
+ supérieure de cette \emph{minipage}. Le filet horizontal grisé
+ représente la ligne de base du paragraphe contenant les trois
+ boites.
+ \end{minipage}}
+ \end{minipage}
+\begin{lstlisting}
+\begin{minipage}[b]{0.3\textwidth}
+ La ligne inférieure de cette \emph{minipage} [...]
+\end{minipage}
+\hfill
+\parbox{0.3\textwidth}{le centre de cette boite [...] }
+\hfill
+\begin{minipage}[t]{0.3\textwidth}
+ la ligne supérieure de cette \emph{minipage}. [...]
+\end{minipage}
+\end{lstlisting}
+ \qed
+\end{exemple}
+
+La commande \cmd{\hfill} utilisée entre les boites dans l'exemple
+ci-dessus indique à {\LaTeX} d'insérer de l'espace entre les éléments
+de contenu de manière à remplir entièrement la ligne de texte. C'est
+une commande très utile pour disposer automatiquement des éléments à
+intervalles égaux sur la largeur du bloc de texte. Ainsi,
+\begin{lstlisting}
+\framebox[\linewidth]{gauche \hfill droite}
+\end{lstlisting}
+produit \\[0.5\baselineskip]
+\framebox[\linewidth]{gauche \hfill droite} \\[0.5\baselineskip]
+alors que
+\begin{lstlisting}
+\framebox[\linewidth]{gauche \hfill centre \hfill droite.}
+\end{lstlisting}
+produit \\[0.5\baselineskip]
+\framebox[\linewidth]{gauche \hfill centre \hfill droite.}
+
+
+
+\section{Boites de réglure}
+\label{sec:boites:rulebox}
+
+En imprimerie, une réglure est une ligne droite continue ou
+pointillée. Une ligne n'étant jamais rien d'autre qu'un rectangle
+plein, si mince fut-il, la réglure est le troisième type de
+boite\footnote{%
+ \emph{Rule box}, en anglais} %
+dans {\LaTeX}.
+
+La commande
+\begin{lstlisting}
+\rule`\oarg{déplacement}\marg{largeur}\marg{hauteur}'
+\end{lstlisting}
+crée une réglure de dimensions \meta{largeur} $\times$ \meta{hauteur}.
+Par défaut, la réglure s'appuie sur la ligne de base. Le résultat de
+\begin{lstlisting}
+\rule{2cm}{6pt}
+\end{lstlisting}
+est donc une ligne pleine de $2$~cm de long et de $6$~points d'épais:
+\rule{2cm}{6pt}.
+
+L'argument optionnel \meta{déplacement} permet de déplacer
+verticalement la réglure au-dessus ou au-dessous de la ligne de base
+selon que la longueur \meta{déplacement} est positive ou négative. Avec les deux
+commandes
+\begin{lstlisting}
+\rule[3pt]{2cm}{6pt}
+\rule[-3pt]{2cm}{6pt}
+\end{lstlisting}
+on crée respectivement les réglures \rule[3pt]{2cm}{6pt} et
+\rule[-3pt]{2cm}{6pt}.
+
+Un usage intéressant de la réglure consiste à faire croire à {\TeX}
+qu'une ligne est plus haute qu'il n'y parait en insérant dans celle-ci
+une réglure de largeur nulle. Par exemple, la distance entre
+\rule[-12pt]{0mm}{30pt}\relax la présente ligne et les autres du paragraphe est
+plus grande que la normale parce que nous y avons inséré une réglure
+invisible avec
+\begin{lstlisting}
+\rule[-12pt]{0mm}{30pt}
+\end{lstlisting}
+Ce truc est particulièrement utile pour augmenter la hauteur des
+lignes dans un tableau; voir la \autoref{sec:tableaux:tableaux}.
+
+
+
+%%%
+%%% Exercices
+%%%
+
+\section{Exercices}
+\label{sec:boites:exercices}
+
+\Opensolutionfile{solutions}[solutions-boites]
+
+\begin{Filesave}{solutions}
+\section*{Chapitre \ref*{chap:boites}}
+\addcontentsline{toc}{section}{Chapitre \protect\ref*{chap:boites}}
+
+\end{Filesave}
+
+\noindent%
+Utiliser comme canevas le fichier \fichier{exercice\_gabarit.tex} pour
+tous les exercices ci-dessous.
+
+\begin{exercice}
+ Une fois qu'une boite est définie, {\TeX} n'y voit qu'une unité de
+ contenu avec ses dimensions propres. Il est donc possible de définir
+ une boite à l'intérieur d'une autre, et ce, peu importe le type de
+ boite.
+
+ Avec ceci en tête, définir la boite suivante:
+ \begin{center}
+ \fbox{\fbox{%
+ \parbox{10cm}{Ce bloc de texte est une boite verticale de
+ 10~cm de large, doublement encadrée et centrée sur la
+ ligne.}}}
+ \end{center}
+
+ \begin{sol}
+ Une première boite verticale de 10~cm de large contient le texte:
+\begin{lstlisting}
+\parbox{10cm}{Ce bloc [...] la ligne.}
+\end{lstlisting}
+ Cette boite peut être placée dans une boite horizontale encadrée
+ avec \cmd{\fbox}. Celle-ci peut à son tour être placée dans une autre
+ boite horizontale encadrée, de manière à obtenir un cadrage
+ double. Pour centrer le tout sur la ligne, on a recours à
+ l'environnement \Ie{center}:
+\begin{lstlisting}
+\begin{center}
+ \fbox{\fbox{\parbox{10cm}{Ce bloc [...] la ligne.}}}
+\end{center}
+\end{lstlisting}
+ \end{sol}
+\end{exercice}
+
+\begin{exercice}
+ \label{ex:boites:alignement-v}
+ Réaliser l'agencement de boites verticales suivant:
+ \begin{center}
+ \begin{minipage}{0.8\linewidth}
+ \makebox[0pt][l]{\color{lightgray}\rule{\linewidth}{0.7pt}}\relax
+ \hfill
+ \begin{minipage}[b]{0.95\linewidth}
+ \small
+ \parbox[t]{0.45\linewidth}{Deux boites verticales de
+ hauteurs différentes placées côte à côte}
+ \hfill
+ \parbox[t]{0.45\linewidth}{alignées sur
+ leurs premières lignes et le bas de la boite
+ la plus haute alignée sur la ligne de base (représentée
+ ici par le filet horizontal grisé).} \\
+ \mbox{}
+ \end{minipage}
+ \hfill
+ \end{minipage}
+ \end{center}
+
+ La solution intuitive serait la suivante:
+\begin{lstlisting}
+\begin{minipage}[b]{...}
+ \parbox[t]{...}{...} \hfill \parbox[t]{...}{...}
+\end{minipage}
+\end{lstlisting}
+ Cependant, cette solution produit le résultat suivant (les boites
+ sont rendues visibles par des cadres):
+ \begin{center}
+ \begin{minipage}{0.8\linewidth}
+ \makebox[0pt][l]{\color{lightgray}\rule{\linewidth}{0.7pt}}\relax
+ \hfill
+ \fbox{%
+ \begin{minipage}[b]{0.95\linewidth}
+ \small
+ \fbox{%
+ \parbox[t]{0.45\linewidth}{Les deux boites sont
+ correctement alignées l'une par rapport à l'autre}} \hfill
+ \fbox{\parbox[t]{0.45\linewidth}{mais l'alignement avec la
+ ligne de base est incorrect.}}
+ \end{minipage}}
+ \hfill
+ \end{minipage}
+ \end{center}
+ La raison: pour {\TeX}, la \Ie{minipage} externe ne contient que
+ deux «caractères» sur une seule ligne de «texte». La \Pe{minipage}
+ est donc correctement alignée sur sa ligne du bas, mais celle-ci se
+ trouve aussi être la ligne du haut.
+
+ Pour parvenir au résultat escompté, utiliser la commande \cmd{\mbox}
+ pour créer une seconde ligne (vide) dans la \Pe{minipage} externe.
+ \begin{sol}
+ L'idée consiste à créer une seconde ligne dans la \Pe{minipage}
+ externe sans que celle-ci n'occupe aucun espace. Pour ce faire, on
+ insère du contenu vide avec \cs{mbox\{\}}, tel qu'expliqué à la
+ \autopageref{item:boites:mbox}. Le code
+\begin{lstlisting}
+\begin{minipage}[b]{...}
+ \parbox[t]{...}{...} \hfill \parbox[t]{...}{...} \\
+ \mbox{}
+\end{minipage}
+\end{lstlisting}
+ produit donc le résultat voulu:
+ \begin{center}
+ \begin{minipage}{0.8\linewidth}
+ \makebox[0pt][l]{\color{lightgray}\rule{\linewidth}{0.7pt}}\relax
+ \hfill
+ \fbox{%
+ \begin{minipage}[b]{0.95\linewidth}
+ \small
+ \fbox{%
+ \parbox[t]{0.45\linewidth}{Les boites sont rendues visibles
+ par des cadres}} \hfill
+ \fbox{\parbox[t]{0.45\linewidth}{et le filet horizontal grisé
+ représente la ligne de base du paragraphe courant.}} \\
+ \fbox{\mbox{}}
+ \end{minipage}}
+ \hfill
+ \end{minipage}
+ \end{center}
+ (Sans le cadre, la boite de la seconde ligne n'occupe aucun espace.)
+ \end{sol}
+\end{exercice}
+
+\begin{exercice}
+ Réaliser l'agencement de boites verticales ci-dessous. (La taille de
+ la police est \cs{footnotesize}.)
+ \begin{center}
+ \begin{minipage}{120mm}
+ \footnotesize
+ \begin{minipage}[b]{80mm}
+ \parbox[t]{30mm}{La première ligne de cette \emph{parbox} de
+ $30$~mm de large est alignée avec celle de la boite
+ voisine.}
+ \hfill
+ \parbox[t]{45mm}{Cette \emph{parbox} de $45$~mm de large est
+ positionnée de telle sorte que sa première ligne soit
+ alignée avec le haut de la boite à gauche et la dernière
+ avec le bas de la boite à droite. La solution intuitive
+ consistant à placer côte à côte trois boites avec des
+ arguments de positionnement \code{t}, \code{t} et \code{b}
+ ne fonctionne pas.} \\
+ \mbox{}
+ \end{minipage}
+ \hfill
+ \parbox[b]{35mm}{Pour parvenir à cette disposition, il faut
+ avoir recours à des lignes invisibles comme dans l'exercice
+ précédent.}
+ \end{minipage}
+ \end{center}
+ La troisième boite fait $35$~mm de large et l'espace entre les
+ boites, $5$~mm.
+ \begin{sol}
+ La solution la plus simple consiste à réunir les deux premières
+ boites dans une \Pe{minipage} dans laquelle les deux boites seront
+ alignées tel que désiré, puis à aligner la \Pe{minipage} avec la
+ troisième boite. Cependant, il faut insérer une seconde ligne
+ invisible dans la \Pe{minipage} afin de pouvoir l'aligner par le
+ bas avec la boite de droite:
+\begin{lstlisting}
+\begin{minipage}[b]{80mm}
+ \parbox[t]{30mm}{...} \hfill \parbox[t]{45mm}{...} \\
+ \mbox{}
+\end{minipage}
+\hfill
+\parbox[b]{35mm}{...}
+\end{lstlisting}
+ \end{sol}
+\end{exercice}
+
+\Closesolutionfile{solutions}
+
+%%% Local Variables:
+%%% mode: latex
+%%% TeX-master: "formation-latex-ul"
+%%% TeX-engine: xetex
+%%% coding: utf-8
+%%% End:
diff --git a/info/formation-latex-ul/source/colophon-diapos.tex b/info/formation-latex-ul/source/colophon-diapos.tex
new file mode 100644
index 0000000000..b19fd123bd
--- /dev/null
+++ b/info/formation-latex-ul/source/colophon-diapos.tex
@@ -0,0 +1,27 @@
+%%% Copyright (C) 2018 Vincent Goulet
+%%%
+%%% Ce fichier fait partie du projet
+%%% «Rédaction avec LaTeX»
+%%% https://gitlab.com/vigou3/formation-latex-ul
+%%%
+%%% Cette création est mise à disposition sous licence
+%%% Attribution-Partage dans les mêmes conditions 4.0
+%%% International de Creative Commons.
+%%% https://creativecommons.org/licenses/by-sa/4.0/
+
+\begin{frame}[plain]
+ \begin{adjustwidth}{20mm}{20mm}
+ \scriptsize \raggedright %
+ Ce document a été produit par le système de mise en page
+ {\XeLaTeX} avec la classe \textbf{beamer} et le thème Metropolis.
+ Les titres et le texte sont composés en Fira~Sans, les
+ mathématiques en Arev~Math et le code informatique en Fira~Mono.
+ Les icônes proviennent de la police Font~Awesome.
+ \end{adjustwidth}
+\end{frame}
+
+%%% Local Variables:
+%%% TeX-master: "formation-latex-ul-diapos"
+%%% TeX-engine: xetex
+%%% coding: utf-8
+%%% End:
diff --git a/info/formation-latex-ul/source/colophon.tex b/info/formation-latex-ul/source/colophon.tex
new file mode 100644
index 0000000000..56b213c3e2
--- /dev/null
+++ b/info/formation-latex-ul/source/colophon.tex
@@ -0,0 +1,36 @@
+%%% Copyright (C) 2019 Vincent Goulet
+%%%
+%%% Ce fichier fait partie du projet
+%%% «Rédaction avec LaTeX»
+%%% https://gitlab.com/vigou3/formation-latex-ul
+%%%
+%%% Cette création est mise à disposition sous licence
+%%% Attribution-Partage dans les mêmes conditions 4.0
+%%% International de Creative Commons.
+%%% https://creativecommons.org/licenses/by-sa/4.0/
+
+\thispagestyle{empty}
+\vspace*{\fill}
+
+\begingroup
+\calccentering{\unitlength}
+\begin{adjustwidth*}{\unitlength}{-\unitlength}
+ \begin{flushleft}
+ \small %
+ Ce document a été produit avec le système de mise en page
+ {\XeLaTeX} à partir de la classe \class{memoir}. Le texte
+ principal est en Lucida Bright~OT 11~points, les mathématiques en
+ Lucida Bright Math~OT, le code informatique en Lucida Grande
+ Mono~DK et les titres en Fira Sans. Les icônes proviennent
+ de la police Font~Awesome.
+ \end{flushleft}
+\end{adjustwidth*}
+\endgroup
+\vfill
+
+%%% Local Variables:
+%%% mode: latex
+%%% TeX-master: "formation-latex-ul"
+%%% TeX-engine: xetex
+%%% coding: utf-8
+%%% End:
diff --git a/info/formation-latex-ul/source/commandes.tex b/info/formation-latex-ul/source/commandes.tex
new file mode 100644
index 0000000000..7d2464334d
--- /dev/null
+++ b/info/formation-latex-ul/source/commandes.tex
@@ -0,0 +1,400 @@
+%%% Copyright (C) 2018 Vincent Goulet
+%%%
+%%% Ce fichier fait partie du projet
+%%% «Rédaction avec LaTeX»
+%%% https://gitlab.com/vigou3/formation-latex-ul
+%%%
+%%% Cette création est mise à disposition sous licence
+%%% Attribution-Partage dans les mêmes conditions 4.0
+%%% International de Creative Commons.
+%%% https://creativecommons.org/licenses/by-sa/4.0/
+
+\chapter{Commandes et environnements définis par l'usager}
+\label{chap:commandes}
+
+{\LaTeX} est un ensemble de macro-commandes conçu pour faciliter
+l'utilisation du système {\TeX}. Dès lors, il est assez naturel de
+permettre à l'usager de définir à son tour ses propres commandes. Il
+suffit généralement d'avoir rédigé quelques documents --- ou quelques
+chapitres d'un long document --- avec {\LaTeX} pour réaliser combien
+cette possibilité est de nature à faciliter le travail.
+
+La définition de nouvelles commandes et de nouveaux environnements
+peut servir à créer des extensions à {\LaTeX} --- c'est d'ailleurs ce
+que font plusieurs paquetages. Cependant, en usage courant, on fera
+principalement appel à ces fonctionnalités pour l'une ou l'autre des
+trois raisons suivantes:
+
+\begin{enumerate}
+\item créer des raccourcis pour de longues commandes utilisées
+ fréquemment;
+\item créer des commandes sémantiques afin d'uniformiser la
+ présentation du texte;
+\item modifier le comportement de commandes existantes --- car il est
+ également possible de redéfinir une commande existante.
+\end{enumerate}
+
+\begin{exemple}
+ \label{ex:commandes:intro}
+ Nous avons créé ou modifié des commandes pour chacune des raisons
+ ci-dessus dans la préparation du présent document.
+ \begin{enumerate}
+ \item Une nouvelle commande \cmdprint{\doc} facilite et systématise
+ l'insertion de liens vers la documentation. D'un seul appel, elle
+ crée un hyperlien dans le texte suivi de l'icône {\faExternalLink}
+ et elle ajoute le nom du fichier de documentation dans la marge
+ précédé de l'icône {\faBookmark}.
+ \item Une nouvelle commande sémantique \cmdprint{\pkg} sert pour la
+ mise en forme des noms de paquetages. Ainsi, leur présentation est
+ toujours la même et si nous souhaitons en changer, il suffit de
+ modifier la définition de la commande.
+ \item La redéfinition de la commande \cmd{\chaptitlefont} de la
+ classe \class{memoir} permet de modifier la police et la mise en
+ forme des titres de chapitres.
+ \end{enumerate}
+ Nous reviendrons sur les détails de ces exemples dans la suite du
+ chapitre. %
+ \qed
+\end{exemple}
+
+
+\section{Nouvelles commandes}
+\label{sec:commandes:commandes}
+
+Les commandes \cmd{\newcommand} et \cmd{\renewcommand} permettent
+respectivement de définir une nouvelle commande et de redéfinir une
+commande existante --- c'est-à-dire d'en modifier la définition. On
+place généralement les appels à ces commandes dans le préambule du
+document.
+
+\subsection{Commandes sans arguments}
+\label{sec:commandes:commandes:sans_arg}
+
+Certaines commandes ne requièrent pas d'argument; pensons à
+\cmdprint{\LaTeX} ou \cmdprint{\bfseries}. Ce sont les commandes les
+plus simples à créer. La syntaxe des commandes \cmd{\newcommand} et
+\cmd{\renewcommand} pour de tels cas est la suivante:
+\begin{lstlisting}
+\newcommand{`\bs\meta{nom\_commande}'}`\marg{définition}'
+\renewcommand{`\bs\meta{nom\_commande}'}`\marg{définition}'
+\end{lstlisting}
+Le premier argument, \bs\meta{nom\_commande}, est le nom de la
+commande, avec le symbole \bs. Ce nom doit être différent de celui
+de toute commande active\footnote{%
+ Les commandes actives dans un document sont les commandes de base de
+ {\TeX} et {\LaTeX} ainsi que les commandes de tous les paquetages
+ chargés dans le préambule.} %
+dans le document dans le cas de \cmdprint{\newcommand}. À l'inverse,
+une commande active doit nécessairement porter le même nom lorsque
+l'on fait appel à \cmdprint{\renewcommand}.
+
+Le second argument, \meta{définition}, contient la définition de la
+commande. Il peut s'agir de caractères à insérer dans le texte, de
+commandes à exécuter ou d'une combinaison de tout cela.
+
+\begin{exemple}
+ La commande \cmd{\mathbb}, présentée à la
+ \autoref{sec:math:symboles:mathcal}, permet de créer une lettre
+ majuscule ajourée pour représenter un ensemble de nombres en
+ mathématiques. Plutôt que de l'utiliser à divers endroits dans un
+ document, il est préférable de définir une commande sémantique comme
+ \cmdprint{\R} pour représenter l'ensemble des nombres réels:
+\begin{lstlisting}
+\newcommand{\R}{\mathbb{R}}
+\end{lstlisting}
+ Ainsi, si l'on souhaite pour une raison quelconque modifier la
+ représentation de l'ensemble des nombres réels, il suffit de
+ modifier la définition de la commande \cmdprint{\R} pour que le
+ changement prenne effet dans tout le document. %
+ \qed
+\end{exemple}
+
+\begin{exemple}
+ Tel que mentionné à l'\autoref{ex:commandes:intro}, nous avons
+ modifié la police des titres de chapitres dans le présent document
+ en redéfinissant la commande \cmdprint{\chaptitlefont} de la classe
+ \class{memoir}. Pour obtenir des titres de chapitres sans
+ empattements, en caractères gras, de dimension \cmdprint{\Huge} et
+ alignés à gauche, on trouve dans le préambule du document la
+ déclaration
+\begin{lstlisting}
+\renewcommand{\chaptitlefont}{\normalfont%
+ \sffamily\bfseries\Huge\raggedright}
+\end{lstlisting}
+ \qed
+\end{exemple}
+
+
+\subsection{Commandes avec arguments}
+\label{sec:commandes:commandes:avec_arg}
+
+Les commandes \cmdprint{\newcommand} et \cmdprint{\renewcommand} ont
+d'autres tours dans leur sac. Leur syntaxe étendue permet également de
+définir ou de redéfinir des commandes acceptant un ou plusieurs
+arguments:
+\begin{lstlisting}
+\newcommand{`\bs\meta{nom\_commande}'}`\oarg{narg}\marg{définition}'
+\renewcommand{`\bs\meta{nom\_commande}'}`\oarg{narg}\marg{définition}'
+\end{lstlisting}
+Le nouvel argument \meta{narg} est un nombre entre 1 et 9
+spécifiant le nombre d'arguments de la commande. La \meta{définition}
+de la commande doit alors contenir des jetons \code{\#1}, \code{\#2},
+\dots\ pour identifier les endroits où les arguments 1, 2, \dots\
+doivent apparaitre.
+
+\begin{exemple}
+ La nouvelle commande \cmdprint{\pkg} mentionnée à
+ l'\autoref{ex:commandes:intro} affiche les noms de paquetages en
+ caractères gras. La commande prend en argument le nom du paquetage.
+ Sa définition est donc
+\begin{lstlisting}
+\newcommand{\pkg}[1]{\textbf{#1}}
+\end{lstlisting}
+ Il s'agit encore d'une commande sémantique permettant de changer
+ aisément la mise en forme en modifiant une seule définition dans le
+ préambule du document. %
+ \qed
+\end{exemple}
+
+\begin{exemple}
+ \label{ex:commandes:doc}
+ La commande \cmdprint{\doc} mentionnée à
+ l'\autoref{ex:commandes:intro} requiert trois arguments:
+ \begin{enumerate}
+ \item le texte de l'hyperlien qui sera placé au fil du texte;
+ \item le nom du fichier de documentation à placer dans la marge dans
+ une police non proportionnelle;
+ \item l'URL vers le fichier de documentation en ligne.
+ \end{enumerate}
+ Voici une version simplifiée de la définition de la commande:
+\begin{lstlisting}
+\newcommand{\doc}[3]{%
+ \href{#3}{#1~\raisebox{-0.2ex}{\faExternalLink}}%
+ \marginpar{\faBookmark~\texttt{#2}}}
+\end{lstlisting}
+ La commande \cmd{\href} qui permet d'insérer un hyperlien dans le
+ texte provient du paquetage \pkg{hyperref} \citep{hyperref}. Les
+ commandes \cmdprint{\faEx\-ter\-nal\-Link} et \cmdprint{\faBookmark}
+ proviennent du paquetage \pkg{fontawesome} \citep{fontawesome}; elles
+ insèrent dans le texte des icônes de la police libre %
+ \link{https://fortawesome.com/}{Font~Awesome}. %
+
+ Avec la définition ci-dessus, la déclaration
+\begin{lstlisting}
+\doc{documentation}{hyperref}{%
+ http://texdoc.net/pkg/hyperref}
+\end{lstlisting}
+ produit: \doc{hyperref}{http://texdoc.net/pkg/hyperref}. %
+ \qed
+\end{exemple}
+
+
+\section{Nouveaux environnements}
+\label{sec:commandes:environnements}
+
+Tel que mentionné en introduction du chapitre, {\LaTeX} permet
+également à l'utilisateur de définir ou de modifier des
+environnements. La mécanique est similaire à celle de la définition de
+commandes, sauf qu'un environnement compte trois parties: le début,
+marqué par la déclaration \cmdprint{\begin\marg{...}} et, parfois, des
+ commandes de configuration de l'environnement; le contenu en tant
+ que tel; la fin, marquée par la déclaration
+ \cmdprint{\end\marg{...}}.
+
+On crée ou modifie des environnements avec les commandes
+\begin{lstlisting}
+\newenvironment`\marg{nom\_env}\oarg{narg}\marg{début\_déf}\marg{fin\_déf}'
+\renewenvironment`\marg{nom\_env}\oarg{narg}\marg{début\_déf}\marg{fin\_déf}'
+\end{lstlisting}
+Les nombreux arguments sont les suivants:
+\begin{list}{}{%
+ \setlength{\labelsep}{1.5ex}
+ \settowidth{\labelwidth}{\meta{début\_déf}}
+ \setlength{\leftmargin}{\labelwidth}
+ \addtolength{\leftmargin}{\labelsep}
+ \setlength{\parsep}{0.5ex plus0.2ex minus0.2ex}
+ \setlength{\itemsep}{0.3ex}
+ \renewcommand{\makelabel}[1]{\meta{#1}\hfill}}
+%
+
+\item[nom\_env] nom de l'environnement à créer ou à modifier.
+ Il est fortement recommandé de ne pas modifier les environnements de
+ base de {\LaTeX};
+\item[narg] un nombre entre 1 et 9 représentant le nombre
+ d'arguments de l'environnement, lorsqu'il y en a. Les arguments sont
+ utilisés de la même manière que dans les définitions de commandes;
+\item[début\_déf] commandes et texte à insérer au début de
+ l'environnement, lors de l'appel \cmdprint{\begin\marg{nom\_env}}.
+ C'est dans ce bloc que doivent se trouver les jetons \code{\#1},
+ \dots, \code{\#}\meta{narg} lorsque l'environnement a des
+ arguments.
+\item[fin\_déf] commandes et texte à insérer à la fin de
+ l'environnement, lors de l'appel \cmdprint{\end\marg{nom\_env}}.
+ \end{list}
+
+\begin{exemple}
+ \label{ex:commandes:citation}
+ On souhaite composer les citations hors paragraphe de la
+ manière suivante:
+ \begin{quote}
+ \small\itshape%
+ Texte en italique, dans une police de taille inférieure au texte
+ normal et en retrait des marges gauche et droite.
+ \end{quote}
+ Ceci est simple à réaliser en se basant sur l'environnement standard
+ \Ie{quote} et en modifiant les attributs de police:
+\begin{lstlisting}
+\begin{quote}
+ \small\itshape%
+ Texte en italique...
+\end{quote}
+\end{lstlisting}
+
+ Pour automatiquement composer toutes les citations de la même
+ manière, il suffit de créer un nouvel environnement \Ie{citation}:
+\begin{lstlisting}
+\newenvironment{citation}%
+ {\begin{quote}\small\itshape}%
+ {\end{quote}}
+\end{lstlisting}
+ Le bloc de code ci-dessus peut ensuite être remplacé par
+\begin{lstlisting}
+\begin{citation}
+ Texte en italique...
+\end{citation}
+\end{lstlisting}
+ \qed
+\end{exemple}
+
+\tipbox{N'hésitez pas à créer des nouvelles commandes et des nouveaux
+ environnements dès lors qu'une mise en forme particulière revient
+ plus d'une ou deux fois dans un document.}
+
+
+
+%%%
+%%% Exercices
+%%%
+
+\section{Exercices}
+\label{sec:commandes:exercices}
+
+\Opensolutionfile{solutions}[solutions-commandes]
+
+\begin{Filesave}{solutions}
+\section*{Chapitre \ref*{chap:commandes}}
+\addcontentsline{toc}{section}{Chapitre \protect\ref*{chap:commandes}}
+
+\end{Filesave}
+
+\begin{exercice}
+ Certains auteurs composent les sigles et les acronymes\footnote{%
+ Un sigle est une abréviation formée par une suite de lettres qui
+ sont les initiales d'un groupe de mots. Un acronyme est un sigle
+ qui se prononce comme un mot ordinaire.} %
+ en petites capitales, avec ou sans les points: \textsc{c.q.f.d.},
+ \textsc{nasa}.
+ \begin{enumerate}
+ \item Créer une commande \cmdprint{\NASA} qui insère l'acronyme
+ \textsc{nasa} dans le texte. Rappelons que l'on compose du texte en petites
+ capitales avec la commande \cmd{\textsc}.
+ \item Créer une commande plus générale \cmdprint{\sigle} qui affiche
+ son argument en petites capitales. La commande devra convertir
+ l'argument en minuscules avec \cmd{\MakeLowercase} afin que le
+ résultat soit toujours le même peu importe la casse utilisée dans
+ le code. Ainsi, \lstinline=\sigle{nasa}=, \lstinline=\sigle{Nasa}= et
+ \lstinline=\sigle{NASA}= donneront toujours
+ \textsc{nasa}.
+ \item Après avoir utilisé la commande \cmdprint{\sigle} à quelques
+ reprises dans un document, modifier sa définition pour plutôt
+ composer les sigles en majuscules.
+ \end{enumerate}
+ Utiliser le gabarit de document \fichier{exercice\_gabarit.tex} pour
+ créer et tester les commandes ci-dessus.
+ \begin{sol}
+ \begin{enumerate}
+ \item \lstinline=\newcommand{\NASA}{\textsc{nasa}}=
+ \item \lstinline=\newcommand{\sigle}[1]{\textsc{\MakeLowercase{#1}}}=
+ \item \lstinline=\newcommand{\sigle}[1]{\MakeUppercase{#1}}=
+ \end{enumerate}
+ \end{sol}
+\end{exercice}
+
+\begin{exercice}
+ Nous n'avons pas abordé dans le chapitre une fonctionnalité plus
+ avancée de \cmd{\newcommand} et \cmd{\renewcommand}, soit celle de
+ pouvoir définir des commandes dont un argument est optionnel ou,
+ plus précisément, de donner une valeur par défaut à un argument.
+
+ La syntaxe réellement complète de \cmd{\newcommand} et
+ \cmd{\renewcommand} est la suivante:
+\begin{lstlisting}
+\newcommand{`\bs\meta{nom\_commande}'}`\oarg{narg}\oarg{option}\marg{déf}'
+\renewcommand{`\bs\meta{nom\_commande}'}`\oarg{narg}\oarg{option}\marg{déf}'
+\end{lstlisting}
+ L'argument additionnel \meta{option} contient la valeur par défaut
+ du \emph{premier} argument de \bs\meta{nom\_commande}. Dès lors, la
+ commande ne compte plus \meta{narg} arguments obligatoires, mais
+ bien $\text{\meta{narg}} - 1$ arguments obligatoires et un optionnel.
+
+ Modifier la définition de la commande \cmdprint{\doc} de
+ l'\autoref{ex:commandes:doc} pour que «documentation» soit le texte
+ par défaut de l'hyperlien qui est placé au fil du texte.
+ \begin{sol}
+ Avec la définition
+\begin{lstlisting}
+\newcommand{\doc}[3][documentation]{%
+ \href{#3}{#1~\raisebox{-0.2ex}{\faExternalLink}}%
+ \marginpar{\faBookmark~\texttt{#2}}}
+\end{lstlisting}
+ la déclaration à deux arguments
+\begin{lstlisting}
+\doc{hyperref}{http://texdoc.net/pkg/hyperref}
+\end{lstlisting}
+ produit toujours \doc{hyperref}{http://texdoc.net/pkg/hyperref}.
+ \end{sol}
+\end{exercice}
+
+\begin{exercice}
+ Modifier l'environnement \Ie{citation} de
+ l'\autoref{ex:commandes:citation} afin de composer les citations
+ hors paragraphe comme suit:
+ \begin{quote}
+ \begin{tabularx}{\linewidth}{X}
+ \toprule
+ \small\sffamily%
+ La citation est toujours en retrait des marges gauche et droite,
+ mais également surmontée et suivie de filets horizontaux. Le
+ texte est en police de taille \cmdprint{\small}, droite et sans
+ empattements. \\
+ \bottomrule
+ \end{tabularx}
+ \end{quote}
+ \emph{Astuce}: utiliser un tableau pleine largeur à l'intérieur de
+ l'environnement \Pe{quote} pour disposer le texte et créer les
+ filets horizontaux.
+ \begin{sol}
+ La définition suivante donne les résultats demandés:
+\begin{lstlisting}
+\newcommand{citation}
+ {\begin{quote}
+ \begin{tabularx}{\linewidth}{X}
+ \toprule\small\sffamily}%
+ {\\ \bottomrule
+ \end{tabularx}
+ \end{quote}}
+\end{lstlisting}
+ On remarquera dans le troisième argument la présence de la
+ commande de fin de ligne {\bs\bs} qui doit absolument précéder
+ \cmdprint{\bottomrule}.
+ \end{sol}
+\end{exercice}
+
+\Closesolutionfile{solutions}
+
+%%% Local Variables:
+%%% mode: latex
+%%% TeX-master: "formation-latex-ul"
+%%% TeX-engine: xetex
+%%% coding: utf-8
+%%% End:
diff --git a/info/formation-latex-ul/source/couverture-arriere-diapos.tex b/info/formation-latex-ul/source/couverture-arriere-diapos.tex
new file mode 100644
index 0000000000..4b7003ee6d
--- /dev/null
+++ b/info/formation-latex-ul/source/couverture-arriere-diapos.tex
@@ -0,0 +1,35 @@
+%%% Copyright (C) 2019 Vincent Goulet
+%%%
+%%% Ce fichier fait partie du projet
+%%% «Rédaction avec LaTeX»
+%%% https://gitlab.com/vigou3/formation-latex-ul
+%%%
+%%% Cette création est mise à disposition sous licence
+%%% Attribution-Partage dans les mêmes conditions 4.0
+%%% International de Creative Commons.
+%%% https://creativecommons.org/licenses/by-sa/4.0/
+
+\begingroup
+\TPGrid{16}{64}
+\textblockorigin{0mm}{0mm}
+\setlength{\parindent}{0mm}
+\setlength{\bandeorwidth}{12.8125\TPVertModule} % == 4\logoheight
+\setlength{\banderougewidth}{\paperwidth}
+\addtolength{\banderougewidth}{-\bandeorwidth}
+\setlength{\bandeorheight}{\TPVertModule}
+\setlength{\banderougeheight}{\TPVertModule}
+
+%% bandeau identitaire arrière
+\begin{frame}[plain]
+ \begin{textblock*}{\paperwidth}[0,1](0mm,56\TPVertModule)
+ \textcolor{or}{\rule{\bandeorwidth}{\TPVertModule}}% % bande or
+ \textcolor{rouge}{\rule{\banderougewidth}{\TPVertModule}} % bande rouge
+ \end{textblock*}
+\end{frame}
+\endgroup
+
+%%% Local Variables:
+%%% TeX-master: "formation-latex-ul-diapos"
+%%% TeX-engine: xetex
+%%% coding: utf-8
+%%% End:
diff --git a/info/formation-latex-ul/source/couverture-arriere.tex b/info/formation-latex-ul/source/couverture-arriere.tex
new file mode 100644
index 0000000000..a24d65bf77
--- /dev/null
+++ b/info/formation-latex-ul/source/couverture-arriere.tex
@@ -0,0 +1,34 @@
+%%% Copyright (C) 2018 Vincent Goulet
+%%%
+%%% Ce fichier fait partie du projet
+%%% «Rédaction avec LaTeX»
+%%% https://gitlab.com/vigou3/formation-latex-ul
+%%%
+%%% Cette création est mise à disposition sous licence
+%%% Attribution-Partage dans les mêmes conditions 4.0
+%%% International de Creative Commons.
+%%% https://creativecommons.org/licenses/by-sa/4.0/
+
+\begingroup
+\TPGrid{8}{64}
+\textblockorigin{0mm}{0mm}
+\setlength{\parindent}{0mm}
+\setlength{\bandeorwidth}{12.8125\TPVertModule} % == 4\logoheight
+\setlength{\banderougewidth}{\paperwidth}
+\addtolength{\banderougewidth}{-\bandeorwidth}
+\setlength{\bandeorheight}{\TPVertModule}
+\setlength{\banderougeheight}{\TPVertModule}
+
+%% bandeau identitaire arrière
+\begin{textblock*}{\paperwidth}[0,1](0mm,56\TPVertModule)
+ \textcolor{or}{\rule{\bandeorwidth}{\TPVertModule}}% % bande or
+ \textcolor{rouge}{\rule{\banderougewidth}{\TPVertModule}} % bande rouge
+\end{textblock*}
+\endgroup
+
+%%% Local Variables:
+%%% mode: latex
+%%% TeX-master: "formation-latex-ul"
+%%% TeX-engine: xetex
+%%% coding: utf-8
+%%% End:
diff --git a/info/formation-latex-ul/source/couverture-avant-diapos.tex b/info/formation-latex-ul/source/couverture-avant-diapos.tex
new file mode 100644
index 0000000000..bca073983d
--- /dev/null
+++ b/info/formation-latex-ul/source/couverture-avant-diapos.tex
@@ -0,0 +1,142 @@
+%%% Copyright (C) 2019 Vincent Goulet
+%%%
+%%% Ce fichier fait partie du projet
+%%% «Rédaction avec LaTeX»
+%%% https://gitlab.com/vigou3/formation-latex-ul
+%%%
+%%% Cette création est mise à disposition sous licence
+%%% Attribution-Partage dans les mêmes conditions 4.0
+%%% International de Creative Commons.
+%%% https://creativecommons.org/licenses/by-sa/4.0/
+
+%% Normes de présentation visuelle 2018
+%%
+%% - grille de 8 unités de haut
+%% - 1 mesure = 1/8 d'unité
+%% - bande identitaire de 1 mesure placée au bas de la 7e unité
+%% - logo haut de 4 mesures avec blancs de deux mesures en haut et
+%% en bas
+%% - blanc équivalent à la largeur du blason à droite du logo
+%% - bande or de la largeur du logo + blanc à droite
+%%
+%% Dimensions du logo UL
+%%
+%% hauteur: 128
+%% largeur totale: 310
+%% largeur blason: 100
+%% valeur clé: (310 + 100)/128 = 3.2031125
+%%
+%% Dimensions de l'image
+%%
+%% hauteur: 55 mesures - 1pt (filet) = 54.9191919 mesures
+%% largeur: 160mm
+%% ratio largeur/hauteur: 160/77.23
+
+\begingroup
+\TPGrid{16}{64}
+\textblockorigin{0mm}{0mm}
+\setlength{\parindent}{0mm}
+\setlength{\imageheight}{54.9191919\TPVertModule}
+\setlength{\logoheight}{4\TPVertModule}
+\setlength{\bandeorwidth}{3.203125\logoheight}
+\setlength{\banderougewidth}{\paperwidth}
+\addtolength{\banderougewidth}{-\bandeorwidth}
+\setlength{\bandeorheight}{\TPVertModule}
+\setlength{\banderougeheight}{\TPVertModule}
+\setlength{\textwidth}{\paperwidth}
+\addtolength{\textwidth}{-2\TPHorizModule}
+
+\def\titlefmt{%
+ \titlefontOS\bfseries\fontsize{24}{24}\selectfont%
+ Rédaction avec
+ \lucida\mdseries%
+ {\textbackslash}title%
+ \raisebox{-6pt}{\fontsize{48}{48}\selectfont%
+ \{%
+ \fontsize{40}{40}\selectfont%
+ \LaTeX
+ \fontsize{48}{48}\selectfont%
+ \}\par}}
+\def\subtitlefmt{%
+ \titlefontOS\bfseries\fontsize{10}{11}\selectfont%
+ Premiers pas\par}
+\def\authorfmt{%
+ \titlefontOS\bfseries\fontsize{14}{14}\selectfont%
+ Vincent Goulet\par}
+\def\affiliation{%
+ \titlefontOS\mdseries\fontsize{10}{11}\selectfont%
+ Professeur titulaire \\
+ École d'actuariat, Université Laval}
+\def\edition{%
+ \titlefontOS\mdseries\fontsize{10}{11}\selectfont%
+ Édition {\titlefontFC\year}.\month}
+
+%%%
+%%% Page de titre
+%%%
+
+\begin{frame}[plain]
+ %% bandeau identitaire
+ \begin{textblock*}{\paperwidth}[0,1](0mm,56\TPVertModule)
+ \textcolor{rouge}{\rule{\banderougewidth}{\banderougeheight}}% % bande rouge
+ \textcolor{or}{\rule{\bandeorwidth}{\bandeorheight}} % bande or
+ \end{textblock*}
+
+ %% logo UL
+ \begin{textblock*}{\bandeorwidth}(\banderougewidth,58\TPVertModule)
+ \includegraphics[height=\logoheight,keepaspectratio=true]{ul_p}
+ \end{textblock*}
+
+ %% image de fond
+ \begin{textblock*}{\paperwidth}(0mm,0mm)
+ \includegraphics[height=\imageheight,width=\paperwidth]{images/Meerkat_stare-diapos}
+ \end{textblock*}
+
+ %% titre
+ \begin{textblock*}{\banderougewidth}(0.8\TPHorizModule,4\TPVertModule)
+ \textcolor{black!10}{\titlefmt}
+ \end{textblock*}
+
+ %% sous-titre (premiers pas)
+ \begin{textblock*}{\banderougewidth}(0.8\TPHorizModule,13\TPVertModule)
+ \textcolor{black!10}{\subtitlefmt}
+ \end{textblock*}
+\end{frame}
+
+%%%
+%%% Page frontispice
+%%%
+
+\begin{frame}[plain]
+ %% titre
+ \begin{textblock*}{\banderougewidth}(0.8\TPHorizModule,4\TPVertModule)
+ \titlefmt
+ \end{textblock*}
+
+ %% sous-titre
+ \begin{textblock*}{\banderougewidth}(0.8\TPHorizModule,13\TPVertModule)
+ \subtitlefmt
+ \end{textblock*}
+
+ %% auteur
+ \begin{textblock*}{\textwidth}(0.8\TPHorizModule,28\TPVertModule)
+ \authorfmt
+ \end{textblock*}
+
+ %% affiliation
+ \begin{textblock*}{\textwidth}(0.8\TPHorizModule,33\TPVertModule)
+ \affiliation
+ \end{textblock*}
+
+ %% édition
+ \begin{textblock*}{\textwidth}(0.8\TPHorizModule,58\TPVertModule)
+ \edition
+ \end{textblock*}
+\end{frame}
+\endgroup
+
+%%% Local Variables:
+%%% TeX-master: "formation-latex-ul-diapos"
+%%% TeX-engine: xetex
+%%% coding: utf-8
+%%% End:
diff --git a/info/formation-latex-ul/source/couverture-avant.tex b/info/formation-latex-ul/source/couverture-avant.tex
new file mode 100644
index 0000000000..8df0bd2616
--- /dev/null
+++ b/info/formation-latex-ul/source/couverture-avant.tex
@@ -0,0 +1,130 @@
+%%% Copyright (C) 2019 Vincent Goulet
+%%%
+%%% Ce fichier fait partie du projet
+%%% «Rédaction avec LaTeX»
+%%% https://gitlab.com/vigou3/formation-latex-ul
+%%%
+%%% Cette création est mise à disposition sous licence
+%%% Attribution-Partage dans les mêmes conditions 4.0
+%%% International de Creative Commons.
+%%% https://creativecommons.org/licenses/by-sa/4.0/
+
+%%%
+%%% Page de titre
+%%%
+
+%% Normes de présentation visuelle 2018
+%%
+%% - grille de 8 unités de haut
+%% - 1 mesure = 1/8 d'unité
+%% - bande identitaire de 1 mesure placée au bas de la 7e unité
+%% - logo haut de 4 mesures avec blancs de deux mesures en haut et
+%% en bas
+%% - blanc équivalent à la largeur du blason à droite du logo
+%% - bande or de la largeur du logo + blanc à droite
+%%
+%% Dimensions du logo UL
+%%
+%% hauteur: 128
+%% largeur totale: 310
+%% largeur blason: 100
+%% valeur clé: (310 + 100)/128 = 3.2031125
+%%
+%% Dimensions de l'image
+%%
+%% hauteur: 55 mesures - 1pt (filet) = 54.9191919 mesures
+%% largeur: 8.5in
+%% ratio largeur/hauteur: 8.5/9.4392
+
+\begingroup
+\TPGrid{8}{64}
+\textblockorigin{0mm}{0mm}
+\setlength{\parindent}{0mm}
+\setlength{\imageheight}{54.9191919\TPVertModule}
+\setlength{\logoheight}{4\TPVertModule}
+\setlength{\bandeorwidth}{3.203125\logoheight}
+\setlength{\banderougewidth}{\paperwidth}
+\addtolength{\banderougewidth}{-\bandeorwidth}
+\setlength{\bandeorheight}{\TPVertModule}
+\setlength{\banderougeheight}{\TPVertModule}
+\setlength{\textwidth}{\paperwidth}
+\addtolength{\textwidth}{-1.5\TPHorizModule}
+
+
+\def\titlefmt{\protect\raggedright%
+ \sffamily\bfseries
+ \fontsize{48}{48}\selectfont
+ Rédaction avec
+ \rmfamily\mdseries
+ \raisebox{10pt}{{\textbackslash}title}%
+ \fontsize{80}{70}\selectfont%
+ \{%
+ \fontsize{70}{70}\selectfont%
+ \LaTeX
+ \fontsize{80}{70}\selectfont%
+ \}}
+\def\authorfmt{%
+ \sffamily\bfseries\fontsize{28}{38}\selectfont\theauthor}
+\def\affiliation{%
+ \sffamily\mdseries\fontsize{16}{20}\selectfont
+ Professeur titulaire \\
+ École d'actuariat, Université Laval}
+\def\edition{%
+ \sffamily\mdseries\fontsize{16}{16}\selectfont
+ Édition {\fullcaps\year}.\month}
+
+%% bandeau identitaire
+\begin{textblock*}{\paperwidth}[0,1](0mm,56\TPVertModule)
+ \textcolor{rouge}{\rule{\banderougewidth}{\banderougeheight}}% % bande rouge
+ \textcolor{or}{\rule{\bandeorwidth}{\bandeorheight}} % bande or
+\end{textblock*}
+
+%% logo UL
+\begin{textblock*}{\bandeorwidth}(\banderougewidth,58\TPVertModule)
+ \includegraphics[height=\logoheight,keepaspectratio=true]{images/ul_p}
+\end{textblock*}
+
+%% image de fond
+\begin{textblock*}{\paperwidth}(0mm,0mm)
+ \includegraphics[height=\imageheight,keepaspectratio=true]{images/Meerkat_stare.jpg}
+\end{textblock*}
+
+%% titre
+%% [https://tex.stackexchange.com/a/49912]
+\begin{textblock*}{\textwidth}(0.75\TPHorizModule,4\TPVertModule)
+ {\par\color{black!10}\titlefmt\par}
+\end{textblock*}
+
+\null\cleardoublepage
+
+%%%
+%%% Page frontispice
+%%%
+
+%% titre
+\begin{textblock*}{\textwidth}(0.75\TPHorizModule,4\TPVertModule)
+ \titlefmt
+\end{textblock*}
+
+%% auteur
+\begin{textblock*}{\textwidth}(0.75\TPHorizModule,18.5\TPVertModule)
+ \authorfmt
+\end{textblock*}
+
+%% affiliation
+\begin{textblock*}{\textwidth}(0.75\TPHorizModule,22.5\TPVertModule)
+ \affiliation
+\end{textblock*}
+
+%% édition
+\begin{textblock*}{\textwidth}(0.75\TPHorizModule,58\TPVertModule)
+ \edition
+\end{textblock*}
+\endgroup
+
+%%% Local Variables:
+%%% mode: latex
+%%% TeX-master: "formation-latex-ul"
+%%% TeX-engine: xetex
+%%% coding: utf-8
+%%% End:
diff --git a/info/formation-latex-ul/source/formation-latex-ul-diapos.tex b/info/formation-latex-ul/source/formation-latex-ul-diapos.tex
new file mode 100644
index 0000000000..02ad816e1d
--- /dev/null
+++ b/info/formation-latex-ul/source/formation-latex-ul-diapos.tex
@@ -0,0 +1,250 @@
+%%% Copyright (C) 2019 Vincent Goulet
+%%%
+%%% Ce fichier fait partie du projet
+%%% «Rédaction avec LaTeX»
+%%% https://gitlab.com/vigou3/formation-latex-ul
+%%%
+%%% Cette création est mise à disposition sous licence
+%%% Attribution-Partage dans les mêmes conditions 4.0
+%%% International de Creative Commons.
+%%% https://creativecommons.org/licenses/by-sa/4.0/
+
+\documentclass[aspectratio=169,10pt,xcolor=x11names,french]{beamer}
+ \usepackage{babel}
+ \usepackage[autolanguage]{numprint}
+ \usepackage{amsmath}
+ \usepackage{changepage} % page licence
+ \usepackage{tabularx} % page licence
+ \usepackage{booktabs} % beaux tableaux
+ \usepackage{fontawesome} % icônes
+ \usepackage{awesomebox} % \tipbox et autres
+ \usepackage{listings} % code source
+ \usepackage[export]{adjustbox} % cadre autour image
+ \usepackage[overlay,absolute]{textpos} % couvertures
+ \usepackage{metalogo} % logo \XeLaTeX
+
+ %% ==========================================
+ %% Informations de publication
+ %% (titre et al. dans couverture-avant.tex)
+ %% ==========================================
+ \renewcommand{\year}{2019}
+ \renewcommand{\month}{03}
+ \newcommand{\ctanurl}{https://ctan.org/pkg/formation-latex-ul/}
+ \newcommand{\reposurl}{https://gitlab.com/vigou3/formation-latex-ul/}
+
+ %% =======================
+ %% Apparence du document
+ %% =======================
+
+ %% Thème Beamer
+ \usetheme{metropolis}
+ \metroset{subsectionpage=progressbar}
+
+ %% Polices de caractères pour les titres
+ \newfontfamily\titlefontOS{FiraSans}
+ [
+ Extension = .otf,
+ UprightFont = *-Book,
+ BoldFont = *-SemiBold,
+ BoldItalicFont = *-SemiBoldItalic,
+ Scale = 1.0,
+ Numbers = OldStyle
+ ]
+ \newfontfamily\titlefontFC{FiraSans}
+ [
+ Extension = .otf,
+ UprightFont = *-Book,
+ BoldFont = *-SemiBold,
+ BoldItalicFont = *-SemiBoldItalic,
+ Scale = 1.0,
+ Numbers = Uppercase
+ ]
+ \newfontfamily\lucida{Lucida Bright OT}
+ [
+ Scale=0.92
+ ]
+
+ %% Police Computer Modern pour exemple de police par défaut
+ \newfontfamily\CM{cmunrm.otf}
+
+ %% Mathématiques en arev et ajustement de la taille des autres
+ %% polices Fira; https://tex.stackexchange.com/a/405211/24355
+ \usepackage{arevmath}
+ \setsansfont[%
+ BoldFont = {Fira Sans SemiBold},
+ ItalicFont = {Fira Sans Book Italic},
+ BoldItalicFont = {Fira Sans SemiBold Italic}]{Fira Sans Book}
+
+ %% Couleurs
+ \definecolor{comments}{rgb}{0.7,0,0} % commentaires
+ \definecolor{link}{rgb}{0,0.4,0.6} % liens internes
+ \definecolor{url}{rgb}{0.6,0,0} % liens externes
+ \definecolor{codebg}{named}{LightYellow1} % fond code source
+ \definecolor{rouge}{rgb}{0.85,0,0.07} % rouge bandeau identitaire
+ \definecolor{or}{rgb}{1,0.8,0} % or bandeau identitaire
+ \colorlet{alert}{mLightBrown} % alias pour couleur Metropolis
+ \colorlet{dark}{mDarkTeal} % alias pour couleur Metropolis
+ \colorlet{shadecolor}{codebg}
+
+ %% Hyperliens
+ \hypersetup{%
+ pdfauthor = {Vincent Goulet},
+ pdftitle = {Rédaction avec LaTeX - Premiers pas},
+ colorlinks = true,
+ linktocpage = true,
+ urlcolor = {url},
+ linkcolor = {link},
+ citecolor = {citation},
+ pdfpagemode = {UseOutlines},
+ pdfstartview = {Fit}}
+ \setlength{\XeTeXLinkMargin}{1pt}
+
+ %% Affichage de la table des matières du PDF
+ \usepackage{bookmark}
+ \bookmarksetup{%
+ open = true,
+ depth = 3,
+ numbered = true}
+
+ %% Paramétrage de babel pour les guillemets
+ \frenchbsetup{og=«, fg=»}
+
+ %% Sections de code source
+ \lstloadlanguages{[LaTeX]TeX}
+ \lstset{language=[LaTeX]TeX,
+ escapeinside=`',
+ extendedchars=true,
+ inputencoding=utf8/latin1,
+ basicstyle=\small\ttfamily\NoAutoSpacing,
+ commentstyle=\color{comments},
+ keywordstyle=\mdseries,
+ emphstyle=\color{alert}\bfseries,
+ backgroundcolor=\color{LightYellow1},
+ frame=lr, rulecolor=\color{LightYellow1},
+ showstringspaces=false}
+
+ %%% =========================
+ %%% Nouveaux environnements
+ %%% =========================
+
+ %% Environnements pour les demo de code; tirés du document
+ %% principal. (L'environnement 'eqxample' ajoute des filets de part
+ %% et d'autre du bloc pour illustrer les marges.)
+ \newenvironment{demo}{%
+ \begin{beamercolorbox}[wd=\linewidth,sep=6pt]{block body example}}
+ {\end{beamercolorbox}}
+ \newenvironment{texample}[1][0.45\linewidth]{%
+ \noindent\begin{minipage}{#1}%
+ \def\producing{\end{minipage}\hfill\begin{minipage}{\dimexpr0.9\linewidth-#1}%
+ \hbox\bgroup\kern-.2pt%
+ \vbox\bgroup\parindent0pt\relax
+ % The 3pt is to cancel the -\lineskip from \displ@y
+ \abovedisplayskip3pt \abovedisplayshortskip\abovedisplayskip
+ \belowdisplayskip0pt \belowdisplayshortskip\belowdisplayskip
+ \noindent}
+ }{%
+ \par
+ % Ensure that a lonely \[\] structure doesn't take up width less than
+ % \hsize.
+ \hrule height0pt width\hsize
+ \egroup\kern-.2pt\egroup
+ \end{minipage}%
+ \par
+ }
+ \newenvironment{eqxample}{%
+ \noindent\begin{minipage}{.45\linewidth}%
+ \def\producing{\end{minipage}\hfill\begin{minipage}{.45\linewidth}%
+ \hbox\bgroup\kern-.2pt\vrule width.2pt%
+ \vbox\bgroup\parindent0pt\relax
+ % The 3pt is to cancel the -\lineskip from \displ@y
+ \abovedisplayskip3pt \abovedisplayshortskip\abovedisplayskip
+ \belowdisplayskip0pt \belowdisplayshortskip\belowdisplayskip
+ \noindent}
+ }{%
+ \par
+ % Ensure that a lonely \[\] structure doesn't take up width less than
+ % \hsize.
+ \hrule height0pt width\hsize
+ \egroup\vrule width.2pt\kern-.2pt\egroup
+ \end{minipage}%
+ \par
+ }
+
+ %% Simplfication de l'environnement 'quote' de beamer
+ \renewenvironment{quote}{%
+ \begin{beamercolorbox}[wd=\linewidth,sep=6pt]{block body example}}
+ {\end{beamercolorbox}}
+
+ %% Exercices
+ \newenvironment{exercice}{%
+ \begin{frame}[fragile=singleslide]
+ \frametitle{Exercice}}{\end{frame}}
+
+ %% Rubriques conseil du TeXpert
+ \newenvironment{conseil}{%
+ \begin{frame}[standout,fragile=singleslide]
+ \textcolor{alert}{Conseil du {\TeX}pert}\normalsize
+ \begin{block}{}}%
+ {\end{block}\end{frame}}
+
+ %% =====================
+ %% Nouvelles commandes
+ %% =====================
+
+ %% Noms de fonctions, code, environnement, etc.
+ \newcommand{\fichier}[1]{\texttt{#1}}
+ \newcommand{\class}[1]{\textbf{#1}}
+ \newcommand{\pkg}[1]{\textbf{#1}}
+ \newcommand{\link}[2]{\href{#1}{#2~\raisebox{-0.2ex}{\faExternalLink}}}
+
+ %% Pour documenter des commandes LaTeX; dérivé de memoir.cls
+ \def\bs{\texttt{\char`\\}}
+ \newcommand{\meta}[1]{%
+ \ensuremath\langle{\normalfont\itshape #1\/}\ensuremath\rangle}
+ \newcommand{\marg}[1]{%
+ {\ttfamily\char`\{}\meta{#1}{\ttfamily\char`\}}}
+ \newcommand{\oarg}[1]{%
+ {\ttfamily\char`\[}\meta{#1}{\ttfamily\char`\]}}
+ \newcommand{\cs}[1]{\texttt{\char`\\#1}}
+
+ %% Lien vers Gitlab dans la page de notices
+ \newcommand{\viewsource}[1]{%
+ \href{#1}{\faGitlab\ Voir sur GitLab}}
+
+ %%% =======
+ %%% Varia
+ %%% =======
+
+ %% Longueurs pour la composition des pages couvertures avant et
+ %% arrière.
+ \newlength{\banderougewidth} \newlength{\banderougeheight}
+ \newlength{\bandeorwidth} \newlength{\bandeorheight}
+ \newlength{\imageheight}
+ \newlength{\logoheight}
+
+\begin{document}
+
+\include{couverture-avant-diapos}
+\include{notices-diapos}
+\include{prerequis-diapos}
+
+\include{presentation-diapos}
+\include{bases-diapos}
+\include{organisation-diapos}
+\include{apparence-diapos}
+\include{tableaux-diapos}
+\include{mathematiques-diapos}
+\include{sweave-diapos}
+\include{ulthese-diapos}
+\include{suite-diapos}
+
+\include{colophon-diapos}
+\include{couverture-arriere-diapos}
+
+\end{document}
+
+%%% Local Variables:
+%%% TeX-master: t
+%%% TeX-engine: xetex
+%%% coding: utf-8
+%%% End:
diff --git a/info/formation-latex-ul/source/formation-latex-ul.bib b/info/formation-latex-ul/source/formation-latex-ul.bib
new file mode 100644
index 0000000000..d82a9f0693
--- /dev/null
+++ b/info/formation-latex-ul/source/formation-latex-ul.bib
@@ -0,0 +1,551 @@
+%%% Copyright (C) 2018 Vincent Goulet
+%%%
+%%% Ce fichier fait partie du projet
+%%% «Rédaction avec LaTeX»
+%%% http://github.com/vigou3/formation-latex-ul
+%%%
+%%% Cette création est mise à disposition selon le contrat
+%%% Attribution-Partage dans les mêmes conditions 4.0
+%%% International de Creative Commons.
+%%% http://creativecommons.org/licenses/by-sa/4.0/
+
+@Manual{ASCII,
+ title = {ANSI X3.4-1986: Coded Character Set. 7-Bit
+ {A}merican {S}tandard {C}ode for {I}nformation
+ {I}nterchange},
+ organization = {{A}merican {N}ational {S}tandards {I}nstitute},
+ key = {{ANSI}},
+ address = {New York},
+ year = 1986,
+ language = {english}
+}
+
+@Article{Beccari:ISO,
+ author = {Claudio Beccari},
+ title = {Typesetting Mathematics for Science and Technology According to {ISO} 31/{XI}},
+ journal = {{TUG}boat},
+ year = 1997,
+ volume = 18,
+ number = 1,
+ pages = {39-48},
+ url = {https://tug.org/TUGboat/tb18-1/tb54becc.pdf},
+ language = {english}
+}
+
+@Article{Beebe:keynote:2004,
+ author = {Beebe, Nelson H. F.},
+ title = {25 Years of {\TeX} and \textlogo{METAFONT}: Looking
+ Back and Looking Forward},
+ journal = {{TUG}boat},
+ year = 2004,
+ volume = 25,
+ number = 1,
+ pages = {7-30},
+ note = {{TUG} 2003 Keynote Address},
+ url = {https://www.tug.org/TUGboat/tb25-1/beebe-2003keynote.pdf},
+ language = {english}
+}
+
+@Book{Burden:numerical:2011,
+ author = {Burden, R. L. and Faires, J. D.},
+ title = {Numerical Analysis},
+ publisher = {Brooks/Cole},
+ year = {2011},
+ edition = 9,
+ isbn = {978-053873351-9},
+ language = {english}
+}
+
+@Manual{IEEE:754,
+ title = {754-1985 {IEEE} Standard for Binary Floating-Point
+ Arithmetic},
+ key = {{IEEE}},
+ organization = {{IEEE}},
+ address = {Piscataway, NJ},
+ year = 2003,
+ isbn = {978-155937653-2},
+ language = {english}
+}
+
+@Manual{ISO:8859-1,
+ title = {{ISO/IEC} 8859-1:1998. Information Technology -- 8-bit
+ Single-Byte Coded Graphic Character Sets -- {P}art 1:
+ Latin Alphabet No. 1},
+ organization = {{I}nternational {O}rganization for {S}tandardization},
+ key = {{ISO}},
+ address = {Geneva},
+ year = 1998,
+ language = {english}
+}
+
+@Book{Kernighan:style:1978,
+ author = {Kernighan, B. W. and Plauger, P. J.},
+ title = {The Elements of Programming Style},
+ publisher = {McGraw-Hill},
+ year = 1978,
+ edition = 2,
+ isbn = {0-07034207-5},
+ language = {english}
+}
+
+@Book{Knuth:ACP:vol2:1997,
+ author = {Knuth, D. E.},
+ title = {The Art of Computer Programming},
+ publisher = {Addison-Wesley},
+ year = 1997,
+ volume = {2, Seminumerical Algorithms},
+ address = {Reading, MA},
+ language = {english}
+}
+
+@Book{Kopka:latex:4e,
+ author = {Kopka, Helmut and Daly, Patrick W.},
+ title = {Guide to {\LaTeX}},
+ publisher = {Addison-Wesley},
+ year = 2003,
+ edition = 4,
+ isbn = {978-032117385-0},
+ language = {english}
+}
+
+@Book{Malo:1996,
+ author = {Malo, M.},
+ title = {Guide de la communication écrite au cégep, à
+ l'université et en entreprise},
+ publisher = {Québec Amérique},
+ year = 1996,
+ language = {french}
+}
+
+@Article{Mittelbach:floats:2014,
+ author = {Frank Mittelbach},
+ title = {How to Influence the Position of Float Environments
+ Like Figure and Table In {\LaTeX}?},
+ journal = {{TUG}boat},
+ year = 2014,
+ volume = 35,
+ number = 3,
+ pages = {258-254},
+ url = {https://www.tug.org/TUGboat/tb35-3/tb111mitt-float.pdf},
+ language = {english}
+}
+
+@Article{Mittelbach:floats:2014:nourl,
+ author = {Frank Mittelbach},
+ title = {How to Influence the Position of Float Environments
+ Like Figure and Table In {\LaTeX}?},
+ journal = {{TUG}boat},
+ year = 2014,
+ volume = 35,
+ number = 3,
+ pages = {258-254},
+ language = {english}
+}
+
+@Book{Monahan:numstat:2001,
+ author = {Monahan, J. F.},
+ title = {Numerical Methods of Statistics},
+ publisher = {Cambridge {U}niversity {P}ress},
+ year = 2001,
+ address = {Cambridge, UK},
+ isbn = {0-52179168-5},
+ language = {english}
+}
+
+@Article{Mori:bibliographies:2009,
+ author = {Lapo F. Mori},
+ title = {Managing bibliographies with {\LaTeX}},
+ journal = {{TUG}boat},
+ year = 2009,
+ volume = 30,
+ number = 1,
+ pages = {36-48},
+ url = {https://www.tug.org/TUGboat/tb30-1/tb94mori.pdf},
+ language = {english}
+}
+
+@Article{Ripley:Rnews:2005a,
+ author = {Brian D. Ripley},
+ title = {Internationalization Features of {R} 2.1.0},
+ journal = {R News},
+ year = 2005,
+ volume = 5,
+ number = 1,
+ pages = {2--7},
+ month = {May},
+ url = {https://cran.r-project.org/doc/Rnews/},
+ pdf = {https://cran.r-project.org/doc/Rnews/Rnews_2005-1.pdf},
+ language = {english}
+}
+
+@inproceedings{Sweave,
+ author = {Friedrich Leisch},
+ title = {Sweave: Dynamic Generation of Statistical Reports Using
+ Literate Data Analysis},
+ booktitle = {Compstat 2002 --- Proceedings in Computational
+ Statistics},
+ pages = {575--580},
+ year = 2002,
+ editor = {Wolfgang H{\"a}rdle and Bernd R{\"o}nz},
+ publisher = {Physica Verlag, Heidelberg},
+ isbn = {3-79081517-9},
+ url = {https://www.stat.uni-muenchen.de/~leisch/Sweave},
+ language = {english}
+}
+
+@Article{Thurnherr:class-options,
+ author = {Thomas Thurnherr},
+ title = {{\LaTeX} document class options},
+ journal = {{TUG}boat},
+ year = 2014,
+ volume = 35,
+ number = 3,
+ pages = {245-247},
+ url = {https://tug.org/TUGboat/tb35-3/tb111thurnherr.pdf},
+ language = {english}
+}
+
+@Book{Unicode:5.0,
+ author = {The {U}nicode {C}onsortium},
+ title = {The Unicode Standard, Version 5.0.0},
+ publisher = {Addison-Wesley},
+ year = 2007,
+ address = {Boston},
+ isbn = {0-32148091-0}
+}
+
+@Misc{Wikipedia:IEEE754,
+ author = {Wikipedia},
+ title = {{IEEE} 754-2008 --- {W}ikipedia{,}
+ The Free Encyclopedia},
+ year = 2012,
+ url = {https://en.wikipedia.org/wiki/IEEE_floating-point_standard},
+ language = {english}
+}
+
+@Manual{amsmath,
+ title = {User’s Guide for the \pkg{amsmath} Package},
+ author = {{A}merican {M}athematical {S}ociety},
+ year = 2002,
+ url = {https://www.ctan.org/pkg/amsmath/},
+ language = {english}
+}
+
+@Manual{babel,
+ author = {Johannes Braams and Javier Bezos},
+ title = {Babel},
+ year = 2016,
+ url = {https://www.ctan.org/pkg/babel/},
+ language = {english}
+}
+
+@Manual{beamer,
+ author = {Till Tantau and Joseph Wright and Vedran Mileti\'{c}},
+ title = {The \textsc{beamer} Class},
+ year = 2015,
+ url = {https://www.ctan.org/pkg/beamer/},
+ language = {english}
+}
+
+@Manual{biber,
+ author = {Philip Kline and Fran\c{c}ois Charette},
+ title = {biber --- A Backend Bibliography Processor for Biblatex},
+ year = 2015,
+ url = {https://www.ctan.org/pkg/biber/},
+ language = {english}
+}
+
+@Manual{biblatex,
+ author = {Philipp Lehman},
+ title = {The Biblatex Package --- Programmable Bibliographies and Citations},
+ year = 2015,
+ url = {https://www.ctan.org/pkg/biblatex/},
+ language = {english}
+}
+
+@Manual{bibtex,
+ author = {Oren Patasnik},
+ title = {{\BibTeX}ing},
+ year = 1988,
+ url = {https://www.ctan.org/pkg/bibtex/},
+ language = {english}
+}
+
+@Manual{bm,
+ author = {David Carlisle},
+ title = {The \pkg{bm} Package},
+ year = 2014,
+ url = {https://www.ctan.org/pkg/bm/},
+ language = {english}
+}
+
+@Manual{booktabs,
+ author = {Simon Fear},
+ title = {Publication quality tables in {\LaTeX}},
+ year = 2005,
+ url = {https://www.ctan.org/pkg/booktabs/},
+ language = {english}
+}
+
+@Manual{comprehensive,
+ author = {Scott Pakin},
+ title = {The Comprehensive {\LaTeX} Symbol List},
+ year = 2009,
+ url = {https://www.ctan.org/pkg/comprehensive/},
+ language = {english}
+}
+
+@Manual{csquotes,
+ author = {Philipp Lehman and Joseph Wright},
+ title = {The \pkg{csquotes} Package: Context Sensitive Quotation Facilities},
+ year = 2015,
+ url = {https://www.ctan.org/pkg/csquotes/},
+ language = {english}
+}
+
+@Manual{enumitem,
+ title = {Customizing lists with the \pkg{enumitem} package},
+ author = {Bezos, J.},
+ year = 2011,
+ url = {https://www.ctan.org/pkg/enumitem/},
+ language = {english}
+}
+
+@Manual{fontawesome,
+ title = {The \pkg{fontawesome} package. High quality web icons},
+ author = {Xavier Danaux and Dave Gandy},
+ year = 2015,
+ url = {https://www.ctan.org/pkg/fontawesome/},
+ language = {english}
+}
+
+@Manual{fontenc,
+ title = {{\LaTeX} font encodings},
+ author = {Frank Mittelbach and Robin Fairbairns and Werner Lemberg},
+ year = 2014,
+ url = {https://www.ctan.org/pkg/encguide/},
+ language = {english}
+}
+
+@Manual{fontspec,
+ title = {The \pkg{fontspec} package: Font selection for {\XeLaTeX} and {\LuaLaTeX}},
+ author = {Will Robertson and Khaled Hosny},
+ year = 2017,
+ url = {https://www.ctan.org/pkg/fontspec/},
+ language = {english}
+}
+
+@Manual{footmisc,
+ title = {\pkg{footmisc} --- a portmanteau package for
+ customising footnotes in {\LaTeX}},
+ author = {Fairbairns, R.},
+ year = 2011,
+ url = {https://www.ctan.org/pkg/footmisc},
+ language = {english}
+}
+
+@Misc{francais-bst,
+ author = {Vincent Goulet},
+ title = {Paquetage \pkg{francais-bst}},
+ year = 2013,
+ url = {https://www.ctan.org/pkg/francais-bst/},
+ language = {french}
+}
+
+@Book{git,
+ author = {Scott Chacon and Ben Straub},
+ title = {Pro {G}it},
+ publisher = {Apress},
+ year = 2014,
+ edition = 2,
+ note = {Version en ligne},
+ url = {https://git-scm.com/book/fr/v2},
+ language = {french}
+}
+
+@Manual{graphicx,
+ author = {David Carlisle and {The \LaTeX3\ Project}},
+ title = {Packages in the `graphics' Bundle},
+ year = 2016,
+ url = {https://www.ctan.org/pkg/graphics/},
+ language = {english}
+}
+
+@Manual{hyperref,
+ title = {Hypertext marks in {\LaTeX}: a manual for \pkg{hyperref}},
+ author = {Sebastian Rahtz and Heiko Oberdiek},
+ year = 2017,
+ url = {https://www.ctan.org/pkg/hyperref/},
+ language = {english}
+}
+
+@Manual{icomma,
+ title = {The \pkg{icomma} package for \LaTeX2e},
+ author = {Walter Schmidt},
+ year = 2002,
+ url = {https://www.ctan.org/pkg/icomma/},
+ language = {english}
+}
+
+@Manual{inputenc,
+ title = {inputenc.sty},
+ author = {Alan Jeffrey and Frank Mittelbach},
+ year = 2015,
+ url = {https://www.ctan.org/pkg/inputenc/},
+ language = {english}
+}
+
+@Misc{knitr,
+ author = {Yihui Xie},
+ title = {\pkg{knitr}: A General-Purpose Package for Dynamic
+ Report Generation in {R}},
+ year = 2016,
+ note = {{R} package version 1.12},
+ url = {https://cran.r-project.org/package=knitr},
+ language = {english}
+}
+
+@Manual{listings,
+ title = {The \pkg{listings} Package},
+ author = {Carsten Heinz and Brooks Moses and Jobst Hoffmann},
+ year = 2015,
+ url = {https://www.ctan.org/pkg/listings/},
+ language = {english}
+}
+
+@Book{memoir,
+ author = {Peter Wilson},
+ title = {The Memoir Class for Configurable Typesetting},
+ publisher = {The Herries Press},
+ year = 2016,
+ edition = 8,
+ note = {Maintained by Lars Madsen},
+ url = {https://www.ctan.org/pkg/memoir/},
+ language = {english}
+}
+
+@Manual{natbib,
+ author = {Patrick W. Daly},
+ title = {Natural Sciences Citations and References},
+ year = 2010,
+ url = {https://www.ctan.org/pkg/natbib/},
+ language = {english}
+}
+
+@Misc{noweb,
+ author = {Normand Ramsey},
+ title = {Noweb --- A Simple, Extensible Tool for Literate
+ Programming},
+ year = 2011,
+ url = {https://www.cs.tufts.edu/~nr/noweb/},
+ language = {english}
+}
+
+@Manual{numprint,
+ title = {The \pkg{numprint} package},
+ author = {Harald Harders},
+ year = 2012,
+ url = {https://www.ctan.org/pkg/numprint/},
+ language = {english}
+}
+
+@Manual{pdfpages,
+ author = {Andreas Matthias},
+ title = {The \pkg{pdfpages} Package},
+ year = 2015,
+ url = {https://www.ctan.org/pkg/pdfpages/},
+ language = {english}
+}
+
+@Manual{pstricks,
+ author = {Timothy {V}an Zandt and Denis Girou and Herbert Vo{\ss}},
+ title = {{PSTricks} --- {PostScript} Macros for Generic {\TeX}},
+ year = 2014,
+ url = {https://www.ctan.org/pkg/pstricks-base/},
+ language = {english}
+}
+
+@Book{rabagliati:1999:campagne,
+ author = {Michel Rabagliati},
+ title = {Paul à la campagne},
+ publisher = {La Pastèque},
+ year = 1999,
+ isbn = {978-2-92258501-8},
+ language = {french}
+}
+
+@Book{subversion,
+ author = {Collins-Sussman, Ben and Fitzpatrick, Brian W. and Pilato, C. Michael},
+ title = {Gestion de versions avec {S}ubversion},
+ publisher = {O'Reilly Media},
+ year = 2008,
+ note = {Version en ligne},
+ url = {https://svnbook.red-bean.com},
+ language = {french}
+}
+
+@Manual{tikz,
+ author = {Till Tantau},
+ title = {\textsc{pgf} and {Ti\textit{k}Z} --- {G}raphic System for {\TeX}},
+ year = 2014,
+ url = {https://www.ctan.org/pkg/pgf/},
+ language = {english}
+}
+
+@Manual{ulthese,
+ title = {{\class{ulthese}}: la classe pour les thèses et mémoires de l'{U}niversité {L}aval},
+ author = {Vincent Goulet},
+ organization = {Faculté des études supérieures et doctorales, Université Laval},
+ year = 2018,
+ url = {https://www.ctan.org/pkg/ulthese/},
+ language = {french}
+}
+
+@Manual{unicode-math,
+ title = {Experimental {U}nicode Mathematical Typesetting: The \pkg{unicode-math} Package},
+ author = {Will Robertson and Philipp Stephani and Khaled Hosny},
+ year = 2017,
+ url = {https://www.ctan.org/pkg/unicode-math/},
+ language = {english}
+}
+
+@Misc{wikibooks:latex,
+ author = {Wikibooks},
+ title = {{LaTeX}},
+ year = 2015,
+ url = {https://en.wikibooks.org/wiki/LaTeX},
+ language = {english}
+}
+
+@Misc{wikilivres:latex,
+ author = {Wikilivres},
+ title = {{LaTeX}},
+ year = 2015,
+ url = {https://fr.wikibooks.org/wiki/LaTeX},
+ language = {french}
+}
+
+@misc{wikipedia:bibtex,
+ author = {Wikipédia},
+ title = {{BibTeX}},
+ year = 2015,
+ url = {https://fr.wikipedia.org/wiki/BibTeX},
+ language = {french}
+}
+
+@misc{wikipedia:unicode-math,
+ author = {Wikipedia},
+ title = {Mathematical Operators and Symbols in {U}nicode},
+ year = 2015,
+ url = {https://en.wikipedia.org/wiki/Mathematical_operators_and_symbols_in_Unicode},
+ language = {english}
+}
+
+@Manual{xcolor,
+ title = {Extending {\LaTeX}’s color facilities: the \pkg{xcolor} package},
+ author = {Kern, Dr.\ Uwe},
+ year = 2016,
+ url = {https://www.ctan.org/pkg/xcolor/},
+ language = {english}
+}
+
diff --git a/info/formation-latex-ul/source/formation-latex-ul.tex b/info/formation-latex-ul/source/formation-latex-ul.tex
new file mode 100644
index 0000000000..0ad9f1cd4c
--- /dev/null
+++ b/info/formation-latex-ul/source/formation-latex-ul.tex
@@ -0,0 +1,493 @@
+%%% Copyright (C) 2019 Vincent Goulet
+%%%
+%%% Ce fichier fait partie du projet
+%%% «Rédaction avec LaTeX»
+%%% https://gitlab.com/vigou3/formation-latex-ul
+%%%
+%%% Cette création est mise à disposition sous licence
+%%% Attribution-Partage dans les mêmes conditions 4.0
+%%% International de Creative Commons.
+%%% https://creativecommons.org/licenses/by-sa/4.0/
+
+\documentclass[letterpaper,11pt,x11names,english,french]{memoir}
+ \usepackage{natbib,url,bibentry}
+ \usepackage{babel}
+ \usepackage[autolanguage]{numprint}
+ \usepackage{amsmath,amsthm}
+ \usepackage[shortlabels]{enumitem}
+ \usepackage{graphicx}
+ \usepackage{manfnt} % \mantriangleright (puce)
+ \usepackage{dirtree} % arbre pour exercice sur \include
+ \usepackage{metalogo} % logo de \XeLaTeX
+ \usepackage{mflogo} % logo de Metafont
+ \usepackage{fontawesome} % plusieurs icônes
+ \usepackage{awesomebox} % boites info, important, etc.
+ \usepackage{applekeys} % touches Mac
+ \usepackage{answers} % exercices et solutions
+ \usepackage{listings} % code informatique
+ \usepackage[absolute]{textpos} % disposition d'images
+ \usepackage{ifthen} % exécution conditionnelle
+ \usepackage{soul} % base pour boites autour des caractères
+
+
+ %%% =============================
+ %%% Informations de publication
+ %%% =============================
+ \title{Rédaction avec \LaTeX}
+ \author{Vincent Goulet}
+ \renewcommand{\year}{2019}
+ \renewcommand{\month}{03}
+ \newcommand{\ctanurl}{https://ctan.org/pkg/formation-latex-ul/}
+ \newcommand{\reposurl}{https://gitlab.com/vigou3/formation-latex-ul/}
+
+ %%% ===================
+ %%% Style du document
+ %%% ===================
+
+ %% Polices de caractères
+ \usepackage{fontspec}
+ \usepackage{unicode-math}
+ \defaultfontfeatures
+ {
+ Scale = 0.92
+ }
+ \setmainfont{Lucida Bright OT}
+ [
+ Ligatures = TeX,
+ Numbers = OldStyle
+ ]
+ \setmathfont{Lucida Bright Math OT}
+ \setmonofont{Lucida Grande Mono DK}
+ \setsansfont{FiraSans}
+ [
+ Extension = .otf,
+ UprightFont = *-Book,
+ ItalicFont = *-BookItalic,
+ BoldFont = *-SemiBold,
+ BoldItalicFont = *-SemiBoldItalic,
+ Scale = 0.95,
+ Numbers = OldStyle
+ ]
+ \newfontfamily\fullcaps{FiraSans}
+ [
+ Extension = .otf,
+ UprightFont = *-Book,
+ Scale = 0.95,
+ Numbers = Uppercase
+ ]
+ \usepackage[babel=true]{microtype}
+ \usepackage{icomma}
+
+ %% Polices additionnelles pour le chapitre trucs et astuces
+ \newfontfamily\CM[Ligatures=TeX]{cmunrm.otf} % Computer Modern
+ \newfontfamily\Times{texgyretermes-regular.otf} % Times
+ \newfontfamily\Palatino{texgyrepagella-regular.otf} % Palatino
+ \newfontfamily\Bookman{texgyrebonum-regular.otf} % Bookman
+ \newfontfamily\NewCent{texgyreschola-regular.otf} % New Cent. Sch.
+ \newfontfamily\Charter{XCharter-Roman.otf} % Charter
+ \newfontfamily\Helvet{texgyreheros-regular.otf} % Helvetica
+
+ %% Couleurs
+ \usepackage{xcolor}
+ \definecolor{comments}{rgb}{0.7,0,0} % rouge foncé
+ \definecolor{link}{rgb}{0,0.4,0.6} % ~RoyalBlue de dvips
+ \definecolor{url}{rgb}{0.6,0,0} % rouge-brun
+ \definecolor{citation}{rgb}{0,0.5,0} % vert foncé
+ \definecolor{ULlinkcolor}{rgb}{0,0,0.3} % de ulthese.cls
+ \definecolor{rouge}{rgb}{0.85,0,0.07} % rouge bandeau identitaire
+ \definecolor{or}{rgb}{1,0.8,0} % or bandeau identitaire
+
+ %% Hyperliens
+ \usepackage{hyperref}
+ \hypersetup{%
+ pdfauthor = \theauthor,
+ pdftitle = {Rédaction avec LaTeX},
+ colorlinks = {true},
+ linktocpage = {true},
+ urlcolor = {url},
+ linkcolor = {link},
+ citecolor = {citation},
+ pdfpagemode = {UseOutlines},
+ pdfstartview = {Fit}}
+ \setlength{\XeTeXLinkMargin}{1pt}
+
+ %% Affichage de la table des matières du PDF
+ \usepackage{bookmark}
+ \bookmarksetup{%
+ open = true,
+ depth = 3,
+ numbered = true}
+
+ %% Étiquettes de \autoref (redéfinitions compatibles avec babel).
+ %% Attention! Les % à la fin des lignes sont importants sinon des
+ %% blancs apparaissent dès que la commande \selectlanguage est
+ %% utilisée, notamment dans la bibliographie.
+ \addto\extrasfrench{%
+ \def\subsectionautorefname{section}%
+ \def\figureautorefname{figure}%
+ \def\tableautorefname{tableau}%
+ \def\exempleautorefname{exemple}%
+ \def\exerciceautorefname{exercice}%
+ \def\appendixautorefname{annexe}%
+ }
+
+ %% Table des matières et al. (inspiré de classicthesis.sty)
+ \renewcommand{\cftchapterleader}{\hspace{1.5em}}
+ \renewcommand{\cftchapterafterpnum}{\cftparfillskip}
+ \renewcommand{\cftsectionleader}{\hspace{1.5em}}
+ \renewcommand{\cftsectionafterpnum}{\cftparfillskip}
+ \renewcommand{\cfttableleader}{\hspace{1.5em}}
+ \renewcommand{\cfttableafterpnum}{\cftparfillskip}
+ \renewcommand{\cftfigureleader}{\hspace{1.5em}}
+ \renewcommand{\cftfigureafterpnum}{\cftparfillskip}
+ \setlength{\cftfigurenumwidth}{3.2em}
+
+ %% Titres des chapitres
+ \chapterstyle{hangnum}
+ \renewcommand{\chaptitlefont}{\normalfont\Huge\sffamily\bfseries\raggedright}
+
+ %% Marges, entêtes et pieds de page
+ \setlength{\marginparsep}{7mm}
+ \setlength{\marginparwidth}{20mm}
+ \setlength{\headwidth}{\textwidth}
+ \addtolength{\headwidth}{\marginparsep}
+ \addtolength{\headwidth}{\marginparwidth}
+ \addtolength{\marginparwidth}{15mm} % plus d'espace pour titres de documentation
+
+ %% Titres des sections et sous-sections
+ \setsecheadstyle{\normalfont\Large\sffamily\bfseries\raggedright}
+ \setsubsecheadstyle{\normalfont\large\sffamily\bfseries\raggedright}
+ \maxsecnumdepth{subsection}
+ \setsecnumdepth{subsection}
+
+ %% Listes. Paramétrage avec enumitem.
+ \setlist[enumerate]{leftmargin=*,align=left}
+ \setlist[enumerate,2]{label=\alph*),labelsep=*,leftmargin=1.5em}
+ \setlist[enumerate,3]{label=\roman*),labelsep=*,leftmargin=1.5em,align=right}
+ \setlist[itemize]{leftmargin=*,align=left}
+
+ %% Paramétrage de babel
+ \frenchbsetup{%
+ StandardItemizeEnv=true, % format standard des listes
+ ThinSpaceInFrenchNumbers=true, % espace fine dans les nombres
+ ItemLabeli=\mantriangleright, % puce premier niveau
+ ItemLabelii=\textendash, % puce second niveau
+ og=«, fg=» % caractères « et » sont les guillemets
+ }
+ \addto\captionsfrench{\def\figurename{{\scshape Fig.}}}
+ \addto\captionsfrench{\def\tablename{{\scshape Tab.}}}
+ \addto\captionsfrench{\def\listfigurename{Liste des figures}}
+
+ %% Sections de code source
+ \lstloadlanguages{[LaTeX]TeX}
+ \lstset{language=[LaTeX]TeX,
+ basicstyle=\ttfamily\NoAutoSpacing,
+ keywordstyle=\mdseries,
+ commentstyle=\color{comments}\slshape,
+ emphstyle=\bfseries,
+ escapeinside=`',
+ extendedchars=true,
+ showstringspaces=false,
+ backgroundcolor=\color{LightYellow1},
+ frame=leftline,
+ framerule=2pt,
+ framesep=5pt,
+ xleftmargin=7.4pt
+ }
+
+ %%% =========================
+ %%% Nouveaux environnements
+ %%% =========================
+
+ %% Exemples
+ \theoremstyle{definition}
+ \newtheorem{exemple}{Exemple}[chapter]
+
+ %% Exercices et réponses
+ \Newassociation{sol}{solution}{solutions}
+ \newcounter{exercice}[chapter]
+ \renewcommand{\theexercice}{\thechapter.\arabic{exercice}}
+ \newenvironment{exercice}[1][]{%
+ \begin{list}{}{%
+ \refstepcounter{exercice}
+ \ifthenelse{\equal{#1}{nosol}}{%
+ \renewcommand{\makelabel}{\bfseries\theexercice}}{%
+ \hypertarget{ex:\theexercice}{}
+ \Writetofile{solutions}{\protect\hypertarget{sol:\theexercice}{}}
+ \renewcommand{\makelabel}{%
+ \bfseries\protect\hyperlink{sol:\theexercice}{\theexercice}}}
+ \settowidth{\labelwidth}{\bfseries\theexercice}
+ \setlength{\leftmargin}{\labelwidth}
+ \addtolength{\leftmargin}{\labelsep}
+ \setlist[enumerate,1]{label=\alph*),labelsep=*,leftmargin=1.5em}
+ \setlist[enumerate,2]{label=\roman*),labelsep=0.5em,align=right}}
+ \item}
+ {\end{list}}
+ \renewenvironment{solution}[1]{%
+ \begin{list}{}{%
+ \renewcommand{\makelabel}{%
+ \bfseries\protect\hyperlink{ex:#1}{#1}}
+ \settowidth{\labelwidth}{\bfseries #1}
+ \setlength{\leftmargin}{\labelwidth}
+ \addtolength{\leftmargin}{\labelsep}
+ \setlist[enumerate,1]{label=\alph*),labelsep=*,leftmargin=1.5em}
+ \setlist[enumerate,2]{label=\roman*),labelsep=0.5em,align=right}}
+ \item}
+ {\end{list}}
+
+ %% Démo de code LaTeX. Le code de 'texample' et 'eqxample' est
+ %% repris de amsldoc.tex avec des petits ajustements.
+ \newenvironment{demo}{%
+ \begin{trivlist}\item}{%
+ \end{trivlist}}
+ \newenvironment{texample}[1][0.5\linewidth]{%
+ \noindent\begin{minipage}{#1}%
+ \def\producing{\end{minipage}\hfill\begin{minipage}{\dimexpr0.97\linewidth-#1}%
+ \hbox\bgroup\kern-.2pt%
+ \vbox\bgroup\parindent0pt\relax
+ % The 3pt is to cancel the -\lineskip from \displ@y
+ \abovedisplayskip3pt \abovedisplayshortskip\abovedisplayskip
+ \belowdisplayskip0pt \belowdisplayshortskip\belowdisplayskip
+ \noindent}
+ }{%
+ \par
+ % Ensure that a lonely \[\] structure doesn't take up width less than
+ % \hsize.
+ \hrule height0pt width\hsize
+ \egroup\kern-.2pt\egroup
+ \end{minipage}%
+ \par
+ }
+ \newenvironment{eqxample}{%
+ \noindent\begin{minipage}{.5\columnwidth}%
+ \def\producing{\end{minipage}\hfill\begin{minipage}{.45\columnwidth}%
+ \hbox\bgroup\kern-.2pt\vrule width.2pt%
+ \vbox\bgroup\parindent0pt\relax
+ % The 3pt is to cancel the -\lineskip from \displ@y
+ \abovedisplayskip3pt \abovedisplayshortskip\abovedisplayskip
+ \belowdisplayskip0pt \belowdisplayshortskip\belowdisplayskip
+ \noindent}
+ }{%
+ \par
+ % Ensure that a lonely \[\] structure doesn't take up width less than
+ % \hsize.
+ \hrule height0pt width\hsize
+ \egroup\vrule width.2pt\kern-.2pt\egroup
+ \end{minipage}%
+ \par
+ }
+
+ %% Un exemple du chapitre Trucs et astuces nécessite des
+ %% environnements 'lstlisting' imbriqués, ce que ne digère pas
+ %% LaTeX. La ruse consiste à définir un environnement équivalent qui
+ %% porte simplement un autre nom.
+ \lstnewenvironment{vglisting}{\lstset{deletetexcs={int,include}}}{}
+
+ %% Exemples de notices bibliographiques
+ \newenvironment{bibexample}[1][\linewidth]{%
+ \begin{minipage}[t]{#1}%
+ \begin{trivlist}}
+ {\end{trivlist}\end{minipage}}
+
+ %%% =======
+ %%% Index
+ %%% =======
+ \renewcommand{\preindexhook}{%
+ Cet index contient des références aux commandes et environnements
+ {\LaTeX}, ainsi qu'aux noms de paquetages et de classes. %
+ Le premier numéro indique habituellement, mais pas toujours,
+ la page où un concept est introduit, défini ou expliqué.%
+ \vskip\onelineskip}
+ \lstset{language=[AlLaTeX]TeX,
+ morekeywords={align,align*,aligned,bmatrix,cases,equation*,%
+ figure,gather,lstlisting,multline,quote,split,%
+ table,tabular,tabularx},
+ deletekeywords={document}, % répéter dans deletetexcs
+ moretexcs={toprule,midrule,bottomrule,%
+ includegraphics,reflectbox,resizebox,rotatebox,scalebox,%
+ includepdf,frenchfigurename,frenchtablename,%
+ newsubfloat,subcaption,%
+ bm,dfrac,tfrac,iint,text,mathcal,mathbb,eqref,symbf,%
+ citet,citep,citeauthor,citeyear,%
+ setmainfont,setsansfont,setmonofont,setmathfont,%
+ color,textcolor,definecolor,colorlet,hypersetup},
+ deletetexcs={document,documentclass,usepackage,begin,end,LaTeX,TeX,%
+ normalfont,bfseries,textbf,itshape,scshape,sffamily,ttfamily,texttt,%
+ emph,small,Huge,raggedright,%
+ hfill,def,a,b,c,d,em,i,j,l,r,t},
+ index=[1][keywords], % environnements
+ indexstyle=[1]\ixenv,
+ index=[2][texcs], % commandes
+ indexstyle=[2]\ixcmd}
+ \newcommand{\ixenv}[1]{\index{#1 env@\Pe{#1}}%
+ \index{environnement!#1@\Pe{#1}}}
+ \newcommand{\ixcmd}[1]{\index{#1@\string\cs{#1}}}
+ \makeindex
+
+ %%% =====================
+ %%% Nouvelles commandes
+ %%% =====================
+
+ %% Noms de fonctions, code, environnement, etc.
+ \newcommand{\code}[1]{\texttt{#1}}
+ \newcommand{\fichier}[1]{\texttt{#1}}
+ \newcommand{\class}[1]{\textsf{#1}\index{#1 class@\textsf{#1}}%
+ \index{classe!#1}}
+ \newcommand{\pkg}[1]{\textbf{#1}\index{#1 pkg@\textbf{#1}}%
+ \index{paquetage!#1}}
+ \newcommand{\Pe}[1]{\code{#1}} % tiré de la doc de memoir
+ \newcommand{\Ie}[1]{\Pe{#1}\ixenv{#1}} % idem
+ \newcommand{\mat}[1]{\symbf{#1}} % en mode mathématique
+
+ %% Modification de commandes tirées de memoir.cls servant à afficher
+ %% des noms de commandes.
+ %% - \cmdprint est modifiée pour que le nom de la commande ne soit
+ %% pas en italique;
+ %% - \cmd est modifiée pour utiliser @ comme séparateur dans \index
+ %% et pour utiliser \cs plutôt que \cmdprint pour afficher le nom de
+ %% la commande (afin d'obtenir le même format d'entrée d'index
+ %% qu'avec \ixcmd ci-dessus);
+ %% - \pixbsbs et \pixabang servent respectivement à afficher et
+ %% indexer \\ et \! ;
+ %% - \pixbar sert à afficher et indexer \| avec un hack pour
+ %% contourner un problème d'insertion de l'hyperlien vers le
+ %% numéro de page: l'entrée est triée sur le symbole [ plutôt que
+ %% sur |.
+ \renewcommand{\cmdprint}[1]{\textup{\texttt{\string#1}}}
+ \makeatletter
+ \renewcommand{\cmd}[1]{\cmdprint{#1}%
+ \index{\expandafter\@gobble\string#1@\string\cs{\expandafter\@gobble\string#1}}}
+ \makeatother
+ \newcommand*{\pixbsbs}{\cmdprint{\\}\index{"\ @\string\cs{}\bs}}
+ \newcommand*{\pixabang}{\cmdprint{\!}\index{"!@\string\cs{}\texttt{"!}}}
+ \newcommand*{\pixbar}{\cmdprint{\|}\index{[@\string\cs{}\texttt{\textbar}}}
+
+ %% Boite additionnelle (basée sur awesomebox.sty) pour liens vers
+ %% des vidéos
+ \newcommand{\videobox}[1]{%
+ \awesomebox{\faYoutubePlay}{\aweboxrulewidth}{url}{#1}}
+
+ %% Hyperlien avec symbole de lien externe juste après
+ \newcommand{\link}[2]{\href{#1}{#2~\raisebox{-0.2ex}{\faExternalLink}}}
+
+ %% Lien vers documentation dans la marge
+ %% usage: \doc[documentation]{nom_fichier}{url}
+ \newcommand{\doc}[3][documentation]{\link{#3}{#1}%
+ \ifthenelse{\equal{#2}{}}{}{\marginpar%
+ [\hfill\faBookmark~\fichier{#2}]%
+ {\faBookmark~\fichier{#2}}}}
+
+ %% Suppression de l'hyperlien
+ \newcommand{\nolink}[1]{\begin{NoHyper}#1\end{NoHyper}}
+
+ %% Lien vers Gitlab dans la page de notices
+ \newcommand{\viewsource}[1]{%
+ \href{#1}{\faGitlab\ Voir sur Gitlab}}
+
+ %% Pour le tableau des commandes d'espacement en mode mathématique.
+ %% Pris de la doc de amsmath.
+ \newcommand{\lspx}{\mathord{\dashv\mkern-3mu}}
+ \newcommand{\rspx}{\mathord{\mkern-2mu\vdash}}
+ \newcommand{\spx}[1]{$\lspx #1\rspx$}
+
+ %% Logo BIBTeX; tiré de https://bit.ly/1RQqUnG
+ \newcommand{\BibTeX}{\rmfamily B\kern-.05em{\scshape i\kern-.025em b}\kern-.08em \TeX}
+
+ %% Chapitre sur les bibliographies: des références bibliographiques
+ %% sont insérées dans le texte avec \bibentry. Certaines commandes
+ %% de francaisbst.tex sont alors utilisées, mais non encore
+ %% définies. Répétées ici. De plus, il faut définir ici la commande
+ %% \enquote plutôt que dans francais.bst. C'est pourquoi il y a une
+ %% version modifiée de ce fichier dans ces sources.
+ %% Voir https://bit.ly/1MORZmp
+ \global\def\bbland{et}
+ \global\def\bbledn{\'ed.}
+ \global\def\bblfourtho{4{\ieme}}
+ \global\def\bblth{{\ieme}}
+ \global\def\bblvol{vol.}
+ \def\bblno{\no{}}
+ \def\bblpp{p.}
+ \newcommand{\enquote}[1]{\guillemotleft#1\guillemotright}
+
+ %%% =======
+ %%% Varia
+ %%% =======
+
+ %% Style de la bibliographie
+ \bibliographystyle{francais}
+
+ %% Longueurs pour la composition des pages couvertures avant et
+ %% arrière.
+ \newlength{\banderougewidth} \newlength{\banderougeheight}
+ \newlength{\bandeorwidth} \newlength{\bandeorheight}
+ \newlength{\imageheight}
+ \newlength{\logoheight}
+ \newlength{\gapwidth}
+
+% \includeonly{}
+
+\begin{document}
+
+\frontmatter
+
+%% Page couverture avant.
+\pagestyle{empty}
+\input{couverture-avant}
+\null\cleardoublepage % cf. section 2.2 textpos.pdf
+
+%% Page de copyright
+\include{notices}
+\clearpage
+
+%% Corps du document
+\pagestyle{companion}
+
+\include{introduction}
+
+\cleartorecto
+\tableofcontents
+\cleartorecto
+\listoftables
+\cleartorecto
+\listoffigures
+
+\mainmatter
+
+\include{presentation}
+\include{bases}
+\include{organisation}
+\include{apparence}
+\include{boites}
+\include{tableaux+figures}
+\include{mathematiques}
+\include{bibliographie}
+\include{commandes}
+\include{trucs+astuces}
+
+\appendix
+\include{ulthese} % éléments spécifiques à ulthese
+\include{solutions}
+
+\bibliography{formation-latex-ul}
+
+\cleardoublepage
+\printindex
+
+\cleartoverso
+
+\input{colophon}
+
+\cleartoverso
+
+%% Page couverture arrière.
+\pagestyle{empty}
+\input{couverture-arriere}
+
+\end{document}
+
+%%% Local Variables:
+%%% mode: latex
+%%% TeX-engine: xetex
+%%% TeX-master: t
+%%% coding: utf-8
+%%% End:
diff --git a/info/formation-latex-ul/source/francais.bst b/info/formation-latex-ul/source/francais.bst
new file mode 100644
index 0000000000..e9cbaf4444
--- /dev/null
+++ b/info/formation-latex-ul/source/francais.bst
@@ -0,0 +1,1739 @@
+%%
+%% This is file `francais.bst',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% merlin.mbs (with options: `babel,ay,nat,lang,vonx,nm-rev1,jnrlst,blkyear,dt-beg,yr-per,note-yr,tit-qq,qt-g,qx,vnum-nr,volp-com,pgsep-s,jwdpg,pp-last,jwdvol,num-xser,numser,ser-vol,ser-ed,pg-bk,pre-edn,isbn,issn,agu-doi,doi,edby,blk-com,blknt,pp,ed,abr,ord,and-xcom,etal-xc,url,url-nt,nfss,')
+%%
+%% >> Style bibliographique compatible avec natbib permettant de composer
+%% >> des bibliographies en francais conformes aux regles de typographie
+%% >> enoncees dans
+%% >>
+%% >> Malo, M. "Guide de la communication ecrite", Quebec Amerique, 1996.
+%% >> ISBN 978-2-8903-7875-9.
+%% >>
+%% >> Style cree et maintenu par Vincent Goulet
+%% >> <vincent.goulet@act.ulaval.ca>.
+%% >>
+%% >> Version 1.1 2013-05-12
+%%
+%% Copyright 1994-2011 Patrick W Daly
+ % ===============================================================
+ % IMPORTANT NOTICE:
+ % This bibliographic style (bst) file has been generated from one or
+ % more master bibliographic style (mbs) files, listed above.
+ %
+ % This generated file can be redistributed and/or modified under the terms
+ % of the LaTeX Project Public License Distributed from CTAN
+ % archives in directory macros/latex/base/lppl.txt; either
+ % version 1 of the License, or any later version.
+ % ===============================================================
+ % Name and version information of the main mbs file:
+ % \ProvidesFile{merlin.mbs}[2011/11/18 4.33 (PWD, AO, DPC)]
+ % For use with BibTeX version 0.99a or later
+ %-------------------------------------------------------------------
+ % This bibliography style file requires a file named francaisbst.tex
+ % containing the definitions of word commands like \bbleditor, etc.
+ % This is an author-year citation style bibliography. As such, it is
+ % non-standard LaTeX, and requires a special package file to function properly.
+ % Such a package is natbib.sty by Patrick W. Daly
+ % The form of the \bibitem entries is
+ % \bibitem[Jones et al.(1990)]{key}...
+ % \bibitem[Jones et al.(1990)Jones, Baker, and Smith]{key}...
+ % The essential feature is that the label (the part in brackets) consists
+ % of the author names, as they should appear in the citation, with the year
+ % in parentheses following. There must be no space before the opening
+ % parenthesis!
+ % With natbib v5.3, a full list of authors may also follow the year.
+ % In natbib.sty, it is possible to define the type of enclosures that is
+ % really wanted (brackets or parentheses), but in either case, there must
+ % be parentheses in the label.
+ % The \cite command functions as follows:
+ % \citet{key} ==>> Jones et al. (1990)
+ % \citet*{key} ==>> Jones, Baker, and Smith (1990)
+ % \citep{key} ==>> (Jones et al., 1990)
+ % \citep*{key} ==>> (Jones, Baker, and Smith, 1990)
+ % \citep[chap. 2]{key} ==>> (Jones et al., 1990, chap. 2)
+ % \citep[e.g.][]{key} ==>> (e.g. Jones et al., 1990)
+ % \citep[e.g.][p. 32]{key} ==>> (e.g. Jones et al., 1990, p. 32)
+ % \citeauthor{key} ==>> Jones et al.
+ % \citeauthor*{key} ==>> Jones, Baker, and Smith
+ % \citeyear{key} ==>> 1990
+ %---------------------------------------------------------------------
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ doi
+ edition
+ editor
+ eid
+ howpublished
+ institution
+ isbn
+ issn
+ journal
+ key
+ language
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ url
+ volume
+ year
+ }
+ {}
+ { label extra.label sort.label short.list }
+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 {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+FUNCTION {fin.entry}
+{ add.period$
+ 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 {add.blank}
+{ " " * before.all 'output.state :=
+}
+
+FUNCTION {date.block}
+{
+ skip$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+FUNCTION {non.stop}
+{ duplicate$
+ "}" * add.period$
+ #-1 #1 substring$ "." =
+}
+
+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$ "" }
+ { "\emph{" swap$ * "}" * }
+ if$
+}
+FUNCTION {tie.or.space.prefix}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$
+}
+
+FUNCTION {capitalize}
+{ "\capitalize" swap$ * }
+
+FUNCTION {space.word}
+{ " " swap$ * " " * }
+ % Here are the language-specific definitions for explicit words.
+ % Each function has a name bbl.xxx where xxx is the English word.
+ % The BABEL language selection is made here; definitions in francaisbst.tex.
+FUNCTION {bbl.and}
+{ "\bbland{}"}
+
+FUNCTION {bbl.etal}
+{ "\bbletal{}"}
+
+FUNCTION {bbl.editors}
+{ "\bbleds{}" }
+
+FUNCTION {bbl.editor}
+{ "\bbled{}" }
+
+FUNCTION {bbl.edby}
+{ "\bbledby{}" }
+
+FUNCTION {bbl.edition}
+{ "\bbledn{}" }
+
+FUNCTION {bbl.volume}
+{ "\bblvol{}" }
+
+FUNCTION {bbl.of}
+{ "\bblof{}" }
+
+FUNCTION {bbl.number}
+{ "\bblno{}" }
+
+FUNCTION {bbl.nr}
+{ "\bblno{}" }
+
+FUNCTION {bbl.in}
+{ "\bblin{}" }
+
+FUNCTION {bbl.pages}
+{ "\bblpp{}" }
+
+FUNCTION {bbl.page}
+{ "\bblp{}" }
+
+FUNCTION {bbl.chapter}
+{ "\bblchap{}" }
+
+FUNCTION {bbl.techrep}
+{ "\bbltechrep{}" }
+
+FUNCTION {bbl.mthesis}
+{ "\bblmthesis{}" }
+
+FUNCTION {bbl.phdthesis}
+{ "\bblphdthesis{}" }
+
+FUNCTION {bbl.first}
+{ "\bblfirsto{}" }
+
+FUNCTION {bbl.second}
+{ "\bblsecondo{}" }
+
+FUNCTION {bbl.third}
+{ "\bblthirdo{}" }
+
+FUNCTION {bbl.fourth}
+{ "\bblfourtho{}" }
+
+FUNCTION {bbl.fifth}
+{ "\bblfiftho{}" }
+
+FUNCTION {bbl.st}
+{ "\bblst{}" }
+
+FUNCTION {bbl.nd}
+{ "\bblnd{}" }
+
+FUNCTION {bbl.rd}
+{ "\bblrd{}" }
+
+FUNCTION {bbl.th}
+{ "\bblth{}" }
+
+MACRO {jan} {"\bbljan{}"}
+
+MACRO {feb} {"\bblfeb{}"}
+
+MACRO {mar} {"\bblmar{}"}
+
+MACRO {apr} {"\bblapr{}"}
+
+MACRO {may} {"\bblmay{}"}
+
+MACRO {jun} {"\bbljun{}"}
+
+MACRO {jul} {"\bbljul{}"}
+
+MACRO {aug} {"\bblaug{}"}
+
+MACRO {sep} {"\bblsep{}"}
+
+MACRO {oct} {"\bbloct{}"}
+
+MACRO {nov} {"\bblnov{}"}
+
+MACRO {dec} {"\bbldec{}"}
+
+FUNCTION {eng.ord}
+{ duplicate$ "1" swap$ *
+ #-2 #1 substring$ "1" =
+ { bbl.th * }
+ { duplicate$ #-1 #1 substring$
+ duplicate$ "1" =
+ { pop$ bbl.st * }
+ { duplicate$ "2" =
+ { pop$ bbl.nd * }
+ { "3" =
+ { bbl.rd * }
+ { bbl.th * }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+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"}
+FUNCTION {bibinfo.check}
+{ swap$
+ duplicate$ missing$
+ {
+ pop$ pop$
+ ""
+ }
+ { duplicate$ empty$
+ {
+ swap$ pop$
+ }
+ { swap$
+ pop$
+ }
+ if$
+ }
+ if$
+}
+FUNCTION {bibinfo.warn}
+{ swap$
+ duplicate$ missing$
+ {
+ swap$ "missing " swap$ * " in " * cite$ * warning$ pop$
+ ""
+ }
+ { duplicate$ empty$
+ {
+ swap$ "empty " swap$ * " in " * cite$ * warning$
+ }
+ { swap$
+ pop$
+ }
+ if$
+ }
+ if$
+}
+INTEGERS { nameptr namesleft numnames }
+
+
+STRINGS { bibinfo}
+
+FUNCTION {format.names}
+{ 'bibinfo :=
+ duplicate$ empty$ 'skip$ {
+ 's :=
+ "" 't :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ duplicate$ #1 >
+ { "{f.~}{vv~}{ll}{, jj}" }
+ { "{vv~}{ll}{, f.}{, jj}" }
+ if$
+ format.name$
+ bibinfo bibinfo.check
+ 't :=
+ nameptr #1 >
+ {
+ namesleft #1 >
+ { ", " * t * }
+ {
+ s nameptr "{ll}" format.name$ duplicate$ "others" =
+ { 't := }
+ { pop$ }
+ if$
+ t "others" =
+ {
+ " " * bbl.etal *
+ }
+ {
+ bbl.and
+ space.word * t *
+ }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ } if$
+}
+FUNCTION {format.names.ed}
+{
+ 'bibinfo :=
+ duplicate$ empty$ 'skip$ {
+ 's :=
+ "" 't :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{f.~}{vv~}{ll}{, jj}"
+ format.name$
+ bibinfo bibinfo.check
+ 't :=
+ nameptr #1 >
+ {
+ namesleft #1 >
+ { ", " * t * }
+ {
+ s nameptr "{ll}" format.name$ duplicate$ "others" =
+ { 't := }
+ { pop$ }
+ if$
+ t "others" =
+ {
+
+ " " * bbl.etal *
+ }
+ {
+ bbl.and
+ space.word * t *
+ }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ } if$
+}
+FUNCTION {format.key}
+{ empty$
+ { key field.or.null }
+ { "" }
+ if$
+}
+
+FUNCTION {format.authors}
+{ author "author" format.names
+}
+FUNCTION {get.bbl.editor}
+{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ }
+
+FUNCTION {format.editors}
+{ editor "editor" format.names duplicate$ empty$ 'skip$
+ {
+ "," *
+ " " *
+ get.bbl.editor
+ *
+ }
+ if$
+}
+FUNCTION {format.book.pages}
+{ pages "pages" bibinfo.check
+ duplicate$ empty$ 'skip$
+ { " " * bbl.pages * }
+ if$
+}
+FUNCTION {format.isbn}
+{ isbn "isbn" bibinfo.check
+ duplicate$ empty$ 'skip$
+ {
+ "ISBN " swap$ *
+ }
+ if$
+}
+
+FUNCTION {format.issn}
+{ issn "issn" bibinfo.check
+ duplicate$ empty$ 'skip$
+ {
+ "ISSN " swap$ *
+ }
+ if$
+}
+
+FUNCTION {format.doi}
+{ doi empty$
+ { "" }
+ {
+ "\doi{" doi * "}" *
+ }
+ if$
+}
+FUNCTION {select.language}
+{ duplicate$ empty$
+ 'pop$
+ { language empty$
+ 'skip$
+ { "{\selectlanguage{" language * "}" * swap$ * "}" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.note}
+{
+ url empty$
+ 'skip$
+ { "\urlprefix\url{" url * "}" * output }
+ if$
+ note empty$
+ { "" }
+ { note #1 #1 substring$
+ duplicate$ "{" =
+ 'skip$
+ { output.state mid.sentence =
+ { "l" }
+ { "u" }
+ if$
+ change.case$
+ }
+ if$
+ note #2 global.max$ substring$ * "note" bibinfo.check
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title
+ duplicate$ empty$ 'skip$
+ { "t" change.case$ }
+ if$
+ "title" bibinfo.check
+ duplicate$ empty$ 'skip$
+ {
+ "\enquote{" swap$ *
+ "}, " *
+ select.language
+ }
+ if$
+}
+FUNCTION {end.quote.title}
+{ title empty$
+ 'skip$
+ { before.all 'output.state := }
+ if$
+}
+FUNCTION {format.full.names}
+{'s :=
+ "" 't :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{vv~}{ll}" format.name$
+ 't :=
+ nameptr #1 >
+ {
+ namesleft #1 >
+ { ", " * t * }
+ {
+ s nameptr "{ll}" format.name$ duplicate$ "others" =
+ { 't := }
+ { pop$ }
+ if$
+ t "others" =
+ {
+ " " * bbl.etal *
+ }
+ {
+ bbl.and
+ space.word * t *
+ }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {author.editor.key.full}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.full.names }
+ if$
+ }
+ { author format.full.names }
+ if$
+}
+
+FUNCTION {author.key.full}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { author format.full.names }
+ if$
+}
+
+FUNCTION {editor.key.full}
+{ editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.full.names }
+ if$
+}
+
+FUNCTION {make.full.names}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.full
+ { type$ "proceedings" =
+ 'editor.key.full
+ 'author.key.full
+ if$
+ }
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem[{" write$
+ label write$
+ ")" make.full.names duplicate$ short.list =
+ { pop$ }
+ { * }
+ if$
+ "}]{" * write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {if.digit}
+{ duplicate$ "0" =
+ swap$ duplicate$ "1" =
+ swap$ duplicate$ "2" =
+ swap$ duplicate$ "3" =
+ swap$ duplicate$ "4" =
+ swap$ duplicate$ "5" =
+ swap$ duplicate$ "6" =
+ swap$ duplicate$ "7" =
+ swap$ duplicate$ "8" =
+ swap$ "9" = or or or or or or or or or
+}
+FUNCTION {n.separate}
+{ 't :=
+ ""
+ #0 'numnames :=
+ { t empty$ not }
+ { t #-1 #1 substring$ if.digit
+ { numnames #1 + 'numnames := }
+ { #0 'numnames := }
+ if$
+ t #-1 #1 substring$ swap$ *
+ t #-2 global.max$ substring$ 't :=
+ numnames #5 =
+ { duplicate$ #1 #2 substring$ swap$
+ #3 global.max$ substring$
+ "\," swap$ * *
+ }
+ 'skip$
+ if$
+ }
+ while$
+}
+FUNCTION {n.dashify}
+{
+ n.separate
+ '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 {word.in}
+{ bbl.in
+ " " * }
+
+FUNCTION {format.date}
+{ year "year" bibinfo.check duplicate$ empty$
+ {
+ }
+ 'skip$
+ if$
+ extra.label *
+ before.all 'output.state :=
+ after.sentence 'output.state :=
+}
+FUNCTION {format.btitle}
+{ title "title" bibinfo.check
+ duplicate$ empty$ 'skip$
+ {
+ emphasize
+ select.language
+ }
+ if$
+}
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { bbl.volume volume tie.or.space.prefix
+ "volume" bibinfo.check * *
+ series "series" bibinfo.check
+ duplicate$ empty$ 'pop$
+ { emphasize ", " * swap$ * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { series empty$
+ { number "number" bibinfo.check }
+ { output.state mid.sentence =
+ { bbl.number }
+ { bbl.number capitalize }
+ if$
+ number tie.or.space.prefix "number" bibinfo.check * *
+ bbl.in space.word *
+ series "series" bibinfo.check *
+ }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+FUNCTION {is.num}
+{ chr.to.int$
+ duplicate$ "0" chr.to.int$ < not
+ swap$ "9" chr.to.int$ > not and
+}
+
+FUNCTION {extract.num}
+{ duplicate$ 't :=
+ "" 's :=
+ { t empty$ not }
+ { t #1 #1 substring$
+ t #2 global.max$ substring$ 't :=
+ duplicate$ is.num
+ { s swap$ * 's := }
+ { pop$ "" 't := }
+ if$
+ }
+ while$
+ s empty$
+ 'skip$
+ { pop$ s }
+ if$
+}
+
+FUNCTION {convert.edition}
+{ extract.num "l" change.case$ 's :=
+ s "first" = s "1" = or
+ { bbl.first 't := }
+ { s "second" = s "2" = or
+ { bbl.second 't := }
+ { s "third" = s "3" = or
+ { bbl.third 't := }
+ { s "fourth" = s "4" = or
+ { bbl.fourth 't := }
+ { s "fifth" = s "5" = or
+ { bbl.fifth 't := }
+ { s #1 #1 substring$ is.num
+ { s eng.ord 't := }
+ { edition 't := }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ t
+}
+
+FUNCTION {format.edition}
+{ edition duplicate$ empty$ 'skip$
+ {
+ convert.edition
+ output.state mid.sentence =
+ { "l" }
+ { "t" }
+ if$ change.case$
+ "edition" bibinfo.check
+ " " * bbl.edition *
+ }
+ 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 duplicate$ empty$ 'skip$
+ { duplicate$ multi.page.check
+ {
+ bbl.pages swap$
+ n.dashify
+ }
+ {
+ bbl.page swap$
+ }
+ if$
+ tie.or.space.prefix
+ "pages" bibinfo.check
+ * *
+ }
+ if$
+}
+FUNCTION {format.journal.pages}
+{ pages duplicate$ empty$ 'pop$
+ { swap$ duplicate$ empty$
+ { pop$ pop$ format.pages }
+ {
+ ", " *
+ swap$
+ n.dashify
+ pages multi.page.check
+ 'bbl.pages
+ 'bbl.page
+ if$
+ swap$ tie.or.space.prefix
+ "pages" bibinfo.check
+ * *
+ *
+ }
+ if$
+ }
+ if$
+}
+FUNCTION {format.journal.eid}
+{ eid "eid" bibinfo.check
+ duplicate$ empty$ 'pop$
+ { swap$ duplicate$ empty$ 'skip$
+ {
+ ", " *
+ }
+ if$
+ swap$ *
+ }
+ if$
+}
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ duplicate$ empty$ 'skip$
+ {
+ bbl.volume swap$ tie.or.space.prefix
+ "volume" bibinfo.check
+ * *
+ }
+ if$
+ number "number" bibinfo.check duplicate$ empty$ 'skip$
+ {
+ swap$ duplicate$ empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ swap$
+ ", " bbl.nr * number tie.or.space.prefix pop$ * swap$ *
+ }
+ if$ *
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ { "" }
+ { type empty$
+ { bbl.chapter }
+ { type "l" change.case$
+ "type" bibinfo.check
+ }
+ if$
+ chapter tie.or.space.prefix
+ "chapter" bibinfo.check
+ * *
+ }
+ if$
+}
+
+FUNCTION {format.booktitle}
+{
+ booktitle "booktitle" bibinfo.check
+ emphasize
+}
+FUNCTION {format.in.ed.booktitle}
+{ format.booktitle duplicate$ empty$ 'skip$
+ {
+ format.bvolume duplicate$ empty$ 'pop$
+ { ", " swap$ * * }
+ if$
+ editor "editor" format.names.ed duplicate$ empty$ 'pop$
+ {
+ bbl.edby
+ " " * swap$ *
+ swap$
+ "," *
+ " " * swap$
+ * }
+ if$
+ word.in swap$ *
+ }
+ if$
+}
+FUNCTION {format.thesis.type}
+{ type duplicate$ empty$
+ 'pop$
+ { swap$ pop$
+ "t" change.case$ "type" bibinfo.check
+ }
+ if$
+}
+FUNCTION {format.tr.number}
+{ number "number" bibinfo.check
+ type duplicate$ empty$
+ { pop$ bbl.techrep }
+ 'skip$
+ if$
+ "type" bibinfo.check
+ swap$ duplicate$ empty$
+ { pop$ "t" change.case$ }
+ { tie.or.space.prefix * * }
+ if$
+}
+FUNCTION {format.article.crossref}
+{
+ word.in
+ " \cite{" * crossref * "}" *
+}
+FUNCTION {format.book.crossref}
+{ volume duplicate$ empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ pop$ word.in
+ }
+ { bbl.volume
+ swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word *
+ }
+ if$
+ " \cite{" * crossref * "}" *
+}
+FUNCTION {format.incoll.inproc.crossref}
+{
+ word.in
+ " \cite{" * crossref * "}" *
+}
+FUNCTION {format.org.or.pub}
+{ 't :=
+ ""
+ address empty$ t empty$ and
+ 'skip$
+ {
+ t empty$
+ { address "address" bibinfo.check *
+ }
+ { t *
+ address empty$
+ 'skip$
+ { ", " * address "address" bibinfo.check * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+FUNCTION {format.publisher.address}
+{ publisher "publisher" bibinfo.warn format.org.or.pub
+}
+
+FUNCTION {format.organization.address}
+{ organization "organization" bibinfo.check format.org.or.pub
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.title "title" output.check
+ end.quote.title
+ crossref missing$
+ {
+ journal
+ "journal" bibinfo.check
+ emphasize
+ "journal" output.check
+ format.vol.num.pages output
+ format.doi output
+ }
+ { format.article.crossref output.nonnull
+ }
+ if$
+ eid empty$
+ { format.journal.pages }
+ { format.journal.eid }
+ if$
+ format.issn output
+ new.sentence
+ format.note output
+ fin.entry
+}
+FUNCTION {book}
+{ 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$
+ format.date "year" output.check
+ date.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.edition output
+ format.number.series output
+ format.publisher.address output
+ }
+ {
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.isbn output
+ format.book.pages output
+ format.doi output
+ new.sentence
+ format.note output
+ fin.entry
+}
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.title "title" output.check
+ end.quote.title
+ howpublished "howpublished" bibinfo.check output
+ address "address" bibinfo.check output
+ format.isbn output
+ format.book.pages output
+ format.doi output
+ new.sentence
+ format.note output
+ fin.entry
+}
+
+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$
+ format.date "year" output.check
+ date.block
+ format.btitle "title" output.check
+ crossref missing$
+ {
+ format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ format.edition output
+ format.number.series output
+ format.publisher.address output
+ }
+ {
+ format.chapter.pages "chapter and pages" output.check
+ format.book.crossref output.nonnull
+ }
+ if$
+ crossref missing$
+ { format.isbn output }
+ 'skip$
+ if$
+ format.pages "pages" output.check
+ format.doi output
+ new.sentence
+ format.note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.title "title" output.check
+ end.quote.title
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.edition output
+ format.chapter.pages output
+ format.number.series output
+ format.publisher.address output
+ format.isbn output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ format.pages "pages" output.check
+ format.doi output
+ new.sentence
+ format.note output
+ fin.entry
+}
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.title "title" output.check
+ end.quote.title
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.number.series output
+ publisher empty$
+ { format.organization.address output }
+ { organization "organization" bibinfo.check output
+ format.publisher.address output
+ }
+ if$
+ format.isbn output
+ format.issn output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ }
+ if$
+ format.pages "pages" output.check
+ format.doi output
+ new.sentence
+ format.note output
+ fin.entry
+}
+FUNCTION {conference} { inproceedings }
+FUNCTION {manual}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.btitle "title" output.check
+ organization "organization" bibinfo.check output
+ address "address" bibinfo.check output
+ format.edition output
+ format.doi output
+ new.sentence
+ format.note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.btitle
+ "title" output.check
+ bbl.mthesis format.thesis.type output.nonnull
+ school "school" bibinfo.warn output
+ address "address" bibinfo.check output
+ format.doi output
+ new.sentence
+ format.note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.title output
+ end.quote.title
+ howpublished "howpublished" bibinfo.check output
+ format.doi output
+ new.sentence
+ format.note output
+ fin.entry
+}
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.btitle
+ "title" output.check
+ bbl.phdthesis format.thesis.type output.nonnull
+ school "school" bibinfo.warn output
+ address "address" bibinfo.check output
+ format.doi output
+ new.sentence
+ format.note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ format.editors output
+ editor format.key output
+ format.date "year" output.check
+ date.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ publisher empty$
+ { format.organization.address output }
+ { organization "organization" bibinfo.check output
+ format.publisher.address output
+ }
+ if$
+ format.isbn output
+ format.issn output
+ format.doi output
+ new.sentence
+ format.note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.title
+ "title" output.check
+ end.quote.title
+ format.tr.number output.nonnull
+ institution "institution" bibinfo.warn output
+ address "address" bibinfo.check output
+ format.doi output
+ new.sentence
+ format.note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.title "title" output.check
+ end.quote.title
+ format.doi output
+ new.sentence
+ format.note "note" output.check
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+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$
+}
+FUNCTION {format.lab.names}
+{ 's :=
+ "" 't :=
+ s #1 "{vv~}{ll}" format.name$
+ s num.names$ duplicate$
+ #2 >
+ { pop$
+ " " * bbl.etal *
+ }
+ { #2 <
+ 'skip$
+ { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ {
+ " " * bbl.etal *
+ }
+ { bbl.and space.word * s #2 "{vv~}{ll}" format.name$
+ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ '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
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {calc.short.authors}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.label
+ 'author.key.label
+ if$
+ }
+ if$
+ 'short.list :=
+}
+
+FUNCTION {calc.label}
+{ calc.short.authors
+ short.list
+ "("
+ *
+ year duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+ *
+ 'label :=
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{ll{ }}{ f{ }}{ jj{ }}"
+ format.name$ 't :=
+ nameptr #1 >
+ {
+ " " *
+ namesleft #1 = t "others" = and
+ { "zzzzz" 't := }
+ 'skip$
+ if$
+ t sortify *
+ }
+ { 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$
+}
+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$
+ 'sort.label :=
+ sort.label
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+SORT
+STRINGS { last.label next.extra }
+INTEGERS { last.extra.num last.extra.num.extended last.extra.num.blank number.label }
+FUNCTION {initialize.extra.label.stuff}
+{ #0 int.to.chr$ 'last.label :=
+ "" 'next.extra :=
+ #0 'last.extra.num :=
+ "a" chr.to.int$ #1 - 'last.extra.num.blank :=
+ last.extra.num.blank 'last.extra.num.extended :=
+ #0 'number.label :=
+}
+FUNCTION {forward.pass}
+{ last.label label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num "z" chr.to.int$ >
+ { "a" chr.to.int$ 'last.extra.num :=
+ last.extra.num.extended #1 + 'last.extra.num.extended :=
+ }
+ 'skip$
+ if$
+ last.extra.num.extended last.extra.num.blank >
+ { last.extra.num.extended int.to.chr$
+ last.extra.num int.to.chr$
+ * 'extra.label := }
+ { last.extra.num int.to.chr$ 'extra.label := }
+ if$
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ label 'last.label :=
+ }
+ if$
+ number.label #1 + 'number.label :=
+}
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ extra.label 'next.extra :=
+ extra.label
+ duplicate$ empty$
+ 'skip$
+ { "{\natexlab{" swap$ * "}}" * }
+ if$
+ 'extra.label :=
+ label extra.label * 'label :=
+}
+EXECUTE {initialize.extra.label.stuff}
+ITERATE {forward.pass}
+REVERSE {reverse.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
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" number.label int.to.str$ * "}" *
+ write$ newline$
+ "\ProvideTextCommand{\guillemotleft}{OT1}{%"
+ write$ newline$
+ " \leavevmode\raise .27ex\hbox{$\scriptscriptstyle\ll$}}"
+ write$ newline$
+ "\ProvideTextCommand{\guillemotright}{OT1}{%"
+ write$ newline$
+ " \leavevmode\raise .27ex\hbox{$\scriptscriptstyle\gg$}}"
+ % write$ newline$
+ % "\newcommand{\enquote}[1]{\guillemotleft#1\guillemotright}"
+ write$ newline$
+ "\providecommand{\natexlab}[1]{#1}"
+ write$ newline$
+ "\providecommand{\url}[1]{\texttt{#1}}"
+ write$ newline$
+ "\providecommand{\urlprefix}{URL }"
+ write$ newline$
+ "\expandafter\ifx\csname urlstyle\endcsname\relax"
+ write$ newline$
+ " \providecommand{\doi}[1]{doi:\discretionary{}{}{}#1}\else"
+ write$ newline$
+ " \providecommand{\doi}{doi:\discretionary{}{}{}\begingroup \urlstyle{rm}\Url}\fi"
+ write$ newline$
+ "\providecommand{\selectlanguage}[1]{\relax}"
+ write$ newline$
+ "\input{francaisbst.tex}" write$ newline$
+ "\newcommand{\Capitalize}[1]{\uppercase{#1}}" write$ newline$
+ "\newcommand{\capitalize}[1]{\expandafter\Capitalize#1}" write$ newline$
+}
+EXECUTE {begin.bib}
+EXECUTE {init.state.consts}
+ITERATE {call.type$}
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+EXECUTE {end.bib}
+%% End of customized bst file
+%%
+%% End of file `francais.bst'.
diff --git a/info/formation-latex-ul/source/images/Meerkat_stare-diapos.jpg b/info/formation-latex-ul/source/images/Meerkat_stare-diapos.jpg
new file mode 100644
index 0000000000..80ef47482e
--- /dev/null
+++ b/info/formation-latex-ul/source/images/Meerkat_stare-diapos.jpg
Binary files differ
diff --git a/info/formation-latex-ul/source/images/Meerkat_stare.jpg b/info/formation-latex-ul/source/images/Meerkat_stare.jpg
new file mode 100644
index 0000000000..ca33487d9d
--- /dev/null
+++ b/info/formation-latex-ul/source/images/Meerkat_stare.jpg
Binary files differ
diff --git a/info/formation-latex-ul/source/images/bibtex-texmaker.png b/info/formation-latex-ul/source/images/bibtex-texmaker.png
new file mode 100644
index 0000000000..8df241da9c
--- /dev/null
+++ b/info/formation-latex-ul/source/images/bibtex-texmaker.png
Binary files differ
diff --git a/info/formation-latex-ul/source/images/bibtex-texshop.png b/info/formation-latex-ul/source/images/bibtex-texshop.png
new file mode 100644
index 0000000000..7fc6d4e446
--- /dev/null
+++ b/info/formation-latex-ul/source/images/bibtex-texshop.png
Binary files differ
diff --git a/info/formation-latex-ul/source/images/by-sa.pdf b/info/formation-latex-ul/source/images/by-sa.pdf
new file mode 100644
index 0000000000..575f606b78
--- /dev/null
+++ b/info/formation-latex-ul/source/images/by-sa.pdf
Binary files differ
diff --git a/info/formation-latex-ul/source/images/by.pdf b/info/formation-latex-ul/source/images/by.pdf
new file mode 100644
index 0000000000..3391984142
--- /dev/null
+++ b/info/formation-latex-ul/source/images/by.pdf
Binary files differ
diff --git a/info/formation-latex-ul/source/images/exemple-bibliographie-cropped-1.pdf b/info/formation-latex-ul/source/images/exemple-bibliographie-cropped-1.pdf
new file mode 100644
index 0000000000..aff22993ed
--- /dev/null
+++ b/info/formation-latex-ul/source/images/exemple-bibliographie-cropped-1.pdf
Binary files differ
diff --git a/info/formation-latex-ul/source/images/exemple-bibliographie-cropped-2.pdf b/info/formation-latex-ul/source/images/exemple-bibliographie-cropped-2.pdf
new file mode 100644
index 0000000000..22c84db319
--- /dev/null
+++ b/info/formation-latex-ul/source/images/exemple-bibliographie-cropped-2.pdf
Binary files differ
diff --git a/info/formation-latex-ul/source/images/exemple-bibliographie-cropped-3.pdf b/info/formation-latex-ul/source/images/exemple-bibliographie-cropped-3.pdf
new file mode 100644
index 0000000000..6b57f93cbc
--- /dev/null
+++ b/info/formation-latex-ul/source/images/exemple-bibliographie-cropped-3.pdf
Binary files differ
diff --git a/info/formation-latex-ul/source/images/exercice_commandes-solution.pdf b/info/formation-latex-ul/source/images/exercice_commandes-solution.pdf
new file mode 100644
index 0000000000..610fb0f805
--- /dev/null
+++ b/info/formation-latex-ul/source/images/exercice_commandes-solution.pdf
Binary files differ
diff --git a/info/formation-latex-ul/source/images/formation-latex-ul.png b/info/formation-latex-ul/source/images/formation-latex-ul.png
new file mode 100644
index 0000000000..2ba654ffb0
--- /dev/null
+++ b/info/formation-latex-ul/source/images/formation-latex-ul.png
Binary files differ
diff --git a/info/formation-latex-ul/source/images/knuth.jpg b/info/formation-latex-ul/source/images/knuth.jpg
new file mode 100644
index 0000000000..cfbfb4c1f4
--- /dev/null
+++ b/info/formation-latex-ul/source/images/knuth.jpg
Binary files differ
diff --git a/info/formation-latex-ul/source/images/ponctuation.pdf b/info/formation-latex-ul/source/images/ponctuation.pdf
new file mode 100644
index 0000000000..4af2c48d8d
--- /dev/null
+++ b/info/formation-latex-ul/source/images/ponctuation.pdf
Binary files differ
diff --git a/info/formation-latex-ul/source/images/sa.pdf b/info/formation-latex-ul/source/images/sa.pdf
new file mode 100644
index 0000000000..f8a641fb5e
--- /dev/null
+++ b/info/formation-latex-ul/source/images/sa.pdf
Binary files differ
diff --git a/info/formation-latex-ul/source/images/section-non-num.pdf b/info/formation-latex-ul/source/images/section-non-num.pdf
new file mode 100644
index 0000000000..4adf6b38bb
--- /dev/null
+++ b/info/formation-latex-ul/source/images/section-non-num.pdf
Binary files differ
diff --git a/info/formation-latex-ul/source/images/section-num.pdf b/info/formation-latex-ul/source/images/section-num.pdf
new file mode 100644
index 0000000000..d68033b259
--- /dev/null
+++ b/info/formation-latex-ul/source/images/section-num.pdf
Binary files differ
diff --git a/info/formation-latex-ul/source/images/tdm-dans-pdf.pdf b/info/formation-latex-ul/source/images/tdm-dans-pdf.pdf
new file mode 100644
index 0000000000..d3ebbfbe71
--- /dev/null
+++ b/info/formation-latex-ul/source/images/tdm-dans-pdf.pdf
Binary files differ
diff --git a/info/formation-latex-ul/source/images/ul_p.pdf b/info/formation-latex-ul/source/images/ul_p.pdf
new file mode 100644
index 0000000000..6535aad11f
--- /dev/null
+++ b/info/formation-latex-ul/source/images/ul_p.pdf
Binary files differ
diff --git a/info/formation-latex-ul/source/images/xyz-emph.pdf b/info/formation-latex-ul/source/images/xyz-emph.pdf
new file mode 100644
index 0000000000..cdd81fc175
--- /dev/null
+++ b/info/formation-latex-ul/source/images/xyz-emph.pdf
Binary files differ
diff --git a/info/formation-latex-ul/source/images/xyz-math.pdf b/info/formation-latex-ul/source/images/xyz-math.pdf
new file mode 100644
index 0000000000..54a5f038dd
--- /dev/null
+++ b/info/formation-latex-ul/source/images/xyz-math.pdf
Binary files differ
diff --git a/info/formation-latex-ul/source/introduction.tex b/info/formation-latex-ul/source/introduction.tex
new file mode 100644
index 0000000000..8454a22f1d
--- /dev/null
+++ b/info/formation-latex-ul/source/introduction.tex
@@ -0,0 +1,170 @@
+%%% Copyright (C) 2018 Vincent Goulet
+%%%
+%%% Ce fichier fait partie du projet
+%%% «Rédaction avec LaTeX»
+%%% https://gitlab.com/vigou3/formation-latex-ul
+%%%
+%%% Cette création est mise à disposition sous licence
+%%% Attribution-Partage dans les mêmes conditions 4.0
+%%% International de Creative Commons.
+%%% https://creativecommons.org/licenses/by-sa/4.0/
+
+\chapter{Introduction}
+\label{chap:introduction}
+
+Le présent ouvrage tire son origine d'une formation sur la rédaction
+de thèses et de mémoires avec {\LaTeX} développée pour la Bibliothèque
+de l'Université Laval. La formation aborde les concepts de base pour
+un nouvel utilisateur: processus d'édition, compilation,
+visualisation; séparation du contenu et de l'apparence du texte; mise
+en forme du texte; séparation du document en parties; rudiments du
+mode mathématique. Transformée en prose, la série de diapositives qui
+appuie la présentation correspond grosso modo aux quatre premiers
+chapitres de l'ouvrage.
+
+Les six autres chapitres visent à rendre l'utilisateur de {\LaTeX}
+débutant ou intermédiaire autonome dans la rédaction de documents
+relativement complexes comportant des tableaux, des figures, des
+équations mathématiques élaborées, une bibliographie, etc. Nous avons
+aussi émaillé le texte de conseils et d'astuces glanés au fil de nos
+vingt années d'utilisation du système de mise en page.
+
+Les nombreuses références à la classe de documents \class{ulthese}
+s'adressent au premier public de l'ouvrage: les étudiantes et
+étudiants de l'Université Laval occupés à la rédaction de leur thèse
+ou de leur mémoire. Ils devront utiliser cette classe pour composer un
+document conforme aux règles générales de présentation matérielle de
+la Faculté des études supérieures et postdoctorales. Les autres
+lecteurs pourront sans mal escamoter ces passages.
+
+Chaque chapitre comporte quelques exercices. Les solutions se trouvent
+en annexe.
+
+\section*{Fonctionnalités interactives}
+
+En consultation électronique, ce document se trouve enrichi de
+plusieurs fonctionnalités interactives.
+\begin{itemize}
+\item Intraliens entre le numéro d'un exercice et sa solution, et vice
+ versa. Ces intraliens sont aussi marqués par la couleur
+ \textcolor{link}{\rule{1.5em}{1.2ex}}.
+\item Intraliens entre les citations dans le texte et leur entrée dans
+ la bibliographie. Ces intraliens sont marqués par la couleur
+ \textcolor{citation}{\rule{1.5em}{1.2ex}}.
+\item Hyperliens vers des ressources externes marqués par le symbole
+ {\faExternalLink} et la couleur
+ \textcolor{url}{\rule{1.5em}{1.2ex}}.
+\item Table des matières, liste des tableaux et liste des figures
+ permettant d'accéder rapidement à des ressources du document.
+\item Index comprenant les références aux commandes et environnements
+ {\LaTeX}, ainsi qu'aux noms de paquetages et de classes.
+\end{itemize}
+
+\section*{Blocs signalétiques}
+
+Le document est parsemé de divers types de blocs signalétiques
+inspirés de
+\link{https://asciidoctor.org/docs/user-manual/\#admonition}{AsciiDoc}
+qui visent à attirer votre attention sur une notion.
+
+\tipbox{Astuce! Ces blocs contiennent un truc, une astuce, ou tout
+ autre type d'information utile.}
+\vspace{-\baselineskip}
+
+\importantbox{Important! Ces blocs contiennent les remarques les plus
+ importantes. Veillez à en tenir compte.}
+\vspace{-\baselineskip}
+
+\notebox{Ces blocs contiennent des remarques additionnelles sur
+ la matière ou des informations amusantes, mais non essentielles.}
+\vspace{-\baselineskip}
+
+\videobox{Ces blocs contiennent des renvois vers des vidéos dans la %
+ \link{https://www.youtube.com/channel/UCIQia52CHKSCQG3_mwLSNCA}{chaine
+ YouTube} liée ce document.}
+
+\section*{Liens vers la documentation}
+
+Parmi les hyperliens vers des ressources externes, le texte compte
+plusieurs renvois vers la documentation d'un paquetage ou d'une
+classe, par exemple vers la %
+\doc{memoir}{http://texdoc.net/pkg/memoir/} %
+de la classe \class{memoir}. L'hyperlien mène vers la documentation
+dans le site %
+\link{http://texdoc.net}{TeXdoc Online}. On trouve également dans la
+marge le nom du fichier correspondant (sans l'extension \code{.pdf})
+sur un système doté de {\TeX}~Live.
+
+La plupart des logiciels intégrés de rédaction {\LaTeX} offrent une
+interface pour accéder à cette documentation.
+\begin{itemize}
+\item TeXShop: menu \code{Aide|Afficher l'aide pour le
+ package} (\optkey\,\cmdkey\, I).
+\item Texmaker: menu \code{Aide|TeXDoc [selection]}.
+\item GNU~Emacs: commande \code{TeX-doc} (\code{C-c ?}) du mode
+ spécialisé AUC{\TeX}.
+\end{itemize}
+Le lecteur devrait consulter la rubrique d'aide de son éditeur pour
+savoir s'il offre une interface au système de gestion de la
+documentation Texdoc de {\TeX}~Live.
+
+\section*{Références additionnelles}
+
+L'ouvrage n'a aucune prétention d'exhaustivité. La consultation de
+documentation additionnelle pourra s'avérer nécessaire pour réaliser
+des mises en page plus élaborées. À cet égard, nous recommandons
+chaudement le livre de \citet{Kopka:latex:4e} --- il a servi
+d'inspiration pour ce document à maints endroits. La très complète
+documentation (plus de 600~pages!) de la classe \class{memoir}
+\citep{memoir} constitue une autre référence de choix. Nous
+recommandons également:
+\begin{itemize}
+\item \link{https://fr.wikibooks.org/wiki/LaTeX}{\emph{LaTeX} dans
+ Wikilivre} pour de la documentation en ligne, en français et
+ libre;
+\item le très actif forum de discussion
+ \link{https://tex.stackexchange.com}{{\TeX}--{\LaTeX} Stack Exchange}
+ (avant de penser y poser une question, vérifier que la réponse ne se trouve
+ pas déjà dans le forum\dots\ ce qui risque fort d'être le cas);
+\item la très complète
+ \link{http://www.tex.ac.uk/cgi-bin/texfaq2html}{%
+ \emph{foire aux questions}} (en anglais) du groupe des
+ utilisateurs de {\LaTeX} du Royaume-Uni.
+\end{itemize}
+
+\section*{Installation d'une distribution}
+
+L'utilisation de {\LaTeX} requiert évidemment une distribution du
+système. Nous recommandons la distribution {\TeX}~Live administrée par
+le {\TeX} Users Group.
+
+\videobox{Visionnez les vidéos qui expliquent comment installer la
+ distribution {\TeX}~Live \link{https://youtu.be/uJFbhQkDbU8}{sur
+ macOS} et \link{https://youtu.be/wO2FlNmye14}{sur Windows}.}
+
+\section*{Fichiers d'accompagnement}
+
+Ce document devrait être accompagné des fichiers nécessaires pour
+compléter certains exercices figurant à la fin des chapitres, ainsi
+que d'un gabarit \fichier{exercice\_gabarit.tex} pour composer les
+solutions des autres exercices. Si ce n'est pas le cas, récupérer les
+fichiers dans le site \link{\ctanurl}{\emph{Comprehensive TeX Archive
+ Network} (CTAN)}.
+
+\section*{Document libre}
+
+Tout comme {\TeX}, {\LaTeX} et l'ensemble des outils présentés dans ce
+document, le projet «Rédaction avec {\LaTeX}» s'inscrit dans le
+mouvement de
+l'\link{https://www.gnu.org/philosophy/free-sw.html}{informatique
+ libre}. Vous pouvez accéder à l'ensemble du code source en suivant
+le lien dans la page de copyright. Vous trouverez dans le fichier
+\code{README.md} toutes les informations utiles pour composer le
+document.
+
+%%% Local Variables:
+%%% mode: latex
+%%% TeX-master: "formation-latex-ul"
+%%% TeX-engine: xetex
+%%% encoding: utf-8
+%%% End:
diff --git a/info/formation-latex-ul/source/listings/exemple-bibliographie.bib b/info/formation-latex-ul/source/listings/exemple-bibliographie.bib
new file mode 100644
index 0000000000..2b6582280d
--- /dev/null
+++ b/info/formation-latex-ul/source/listings/exemple-bibliographie.bib
@@ -0,0 +1,16 @@
+@Book{Kopka:latex:4e,
+ author = {Kopka, Helmut and Daly, Patrick W.},
+ title = {Guide to {\LaTeX}},
+ publisher = {Addison-Wesley},
+ year = 2003,
+ edition = 4,
+ isbn = {978-0321173850},
+ language = {english}}
+
+@Book{Malo:1996,
+ author = {Malo, M.},
+ title = {Guide de la communication écrite au cégep,
+ à l'université et en entreprise},
+ publisher = {Québec Amérique},
+ year = 1996,
+ language = {french}}
diff --git a/info/formation-latex-ul/source/listings/exemple-bibliographie.tex b/info/formation-latex-ul/source/listings/exemple-bibliographie.tex
new file mode 100644
index 0000000000..2e42a3a9e9
--- /dev/null
+++ b/info/formation-latex-ul/source/listings/exemple-bibliographie.tex
@@ -0,0 +1,20 @@
+%%% -*- coding: utf-8; TeX-engine: xetex; mode: latex; -*-
+
+\documentclass[11pt,english,french]{article}
+ \usepackage{fontspec}
+ \usepackage{natbib}
+ \usepackage{babel}
+
+ \bibliographystyle{francais}
+
+\begin{document}
+
+Nous recommandons \citet{Kopka:latex:4e} comme ouvrage de
+référence sur {\LaTeX}.
+
+La bibliographie est mise en forme selon des normes de
+typographie française \citep{Malo:1996}.
+
+\bibliography{exemple-bibliographie}
+
+\end{document}
diff --git a/info/formation-latex-ul/source/mathematiques-diapos.tex b/info/formation-latex-ul/source/mathematiques-diapos.tex
new file mode 100644
index 0000000000..0c1986380a
--- /dev/null
+++ b/info/formation-latex-ul/source/mathematiques-diapos.tex
@@ -0,0 +1,178 @@
+%%% Copyright (C) 2018 Vincent Goulet
+%%%
+%%% Ce fichier fait partie du projet
+%%% «Rédaction avec LaTeX»
+%%% https://gitlab.com/vigou3/formation-latex-ul
+%%%
+%%% Cette création est mise à disposition sous licence
+%%% Attribution-Partage dans les mêmes conditions 4.0
+%%% International de Creative Commons.
+%%% https://creativecommons.org/licenses/by-sa/4.0/
+
+\section{B.a.-ba des mathématiques}
+
+\begin{frame}[fragile=singleslide]
+ \frametitle{Principes de base}
+ \begin{itemize}
+ \item Décrire des équations mathématiques requiert un «langage» spécial
+ \begin{itemize}
+ \item il faut informer {\LaTeX} que l'on passe à ce langage
+ \item par le biais de modes mathématiques
+ \end{itemize}
+ \item Important d'utiliser un mode mathématique
+ \begin{itemize}
+ \item règles de typographie spéciales
+ \item espaces gérées automatiquement
+ \end{itemize}
+ \item Vous voulez utiliser le paquetage \pkg{amsmath}
+\begin{lstlisting}
+\usepackage{amsmath}
+\end{lstlisting}
+ \end{itemize}
+\end{frame}
+
+\begin{frame}[fragile]
+ \frametitle{Modes mathématiques}
+ \begin{enumerate}[<+->]
+ \item «En ligne» directement dans le texte comme $(a + b)^2 = a^2 +
+ 2ab + b^2$ en plaçant l'équation entre \verb=$ $=
+\begin{lstlisting}
+«En ligne» directement dans le texte
+comme $(a + b)^2 = a^2 + 2ab + b^2$
+\end{lstlisting}
+ \item «Hors paragraphe» séparé du texte principal comme
+ \begin{equation*}
+ \int_0^\infty f(x)\, dx = \sum_{i = 1}^n \alpha_i e^{x_i} f(x_i)
+ \end{equation*}
+ en utilisant divers types d'environnements
+\begin{lstlisting}
+«Hors paragraphe» séparé du texte principal comme
+\begin{equation*}
+ \int_0^\infty f(x)\, dx =
+ \sum_{i = 1}^n \alpha_i e^{x_i} f(x_i)
+\end{equation*}
+\end{lstlisting}
+ \end{enumerate}
+\end{frame}
+
+
+\begin{conseil}
+ En ligne ou hors paragraphe, les équations font partie intégrante de
+ la phrase.
+
+ Les règles de ponctuation usuelles s'appliquent donc aux équations.
+
+ \bigskip
+ \fbox{\includegraphics[width=0.95\linewidth]{images/ponctuation}}
+\end{conseil}
+
+\begin{frame}[fragile]
+ \frametitle{Quelques règles de base}
+ \begin{itemize}
+ \item En mode mathématique, {\TeX} écrit automatiquement les
+ constantes en romain et les variables en italique
+ \begin{demo}
+ \begin{texample}
+\begin{lstlisting}
+$z = 2a + 3y$
+\end{lstlisting}
+ \producing
+ $z = 2a + 3y$
+ \end{texample}
+ \end{demo}
+ \item Espacement entre les éléments géré automatiquement, peu importe
+ le code source
+ \begin{demo}
+ \begin{texample}
+\begin{lstlisting}
+$z=2 a+3 y$
+\end{lstlisting}
+ \producing
+ $z=2 a+3 y$
+ \end{texample}
+ \end{demo}
+ \end{itemize}
+\end{frame}
+
+\begin{frame}[fragile]
+ \frametitle{Quelques règles de base (suite)}
+ \begin{itemize}
+ \item \alert{Ne pas} utiliser le mode mathématique pour obtenir du
+ texte en italique!
+ \begin{demo}
+ \begin{minipage}{0.45\linewidth}
+\begin{lstlisting}
+\emph{xyz}
+\end{lstlisting}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{0.45\linewidth}
+ \includegraphics[height=0.8\baselineskip,keepaspectratio]{images/xyz-emph}
+ \end{minipage}\par
+ \begin{minipage}{0.45\linewidth}
+\begin{lstlisting}
+$xyz$
+\end{lstlisting}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{0.45\linewidth}
+ \includegraphics[height=0.8\baselineskip,keepaspectratio]{images/xyz-math}
+ \end{minipage}
+ \end{demo}
+ \item Commande \cs{text} de \pkg{amsmath} pour texte à
+ l'intérieur du mode mathématique
+ \begin{demo}
+ \begin{texample}
+\begin{lstlisting}
+$x = 0 \text{ si } y < 2$
+\end{lstlisting}
+ \producing
+ $x = 0 \text{ si } y < 2$
+ \end{texample}
+ \end{demo}
+ \end{itemize}
+\end{frame}
+
+\begin{frame}[fragile]
+ \frametitle{Avant-gout}
+
+ Pouvez-vous interpréter ce code?
+\begin{lstlisting}
+\begin{equation*}
+ \Gamma(\alpha) =
+ \sum_{j = 0}^\infty \int_j^{j + 1}
+ x^{\alpha - 1} e^{-x}\, dx
+\end{equation*}
+\end{lstlisting}
+ \vspace{18pt}
+ \pause
+
+ Fort probablement!
+ \begin{equation*}
+ \Gamma(\alpha) =
+ \sum_{j = 0}^\infty \int_j^{j + 1} x^{\alpha - 1} e^{-x}\, dx
+ \end{equation*}
+\end{frame}
+
+\subsection{[~Exercice~]}
+
+\begin{exercice}
+ Utiliser le fichier \fichier{exercice\_mathematiques.tex}.
+
+ \begin{enumerate}
+ \item Étudier le code source du fichier, puis le compiler.
+ \item Charger le paquetage \pkg{amsfonts} dans le préambule, puis
+ remplacer \verb=$R^+$= par \verb=$\mathbb{R}^+$= à la ligne
+ débutant par «Le domaine».
+ \item À l'aide de la fonction Rechercher et remplacer de l'éditeur
+ de texte, remplacer toutes les occurrences du symbole $\theta$ par
+ $\lambda$.
+ \end{enumerate}
+\end{exercice}
+
+
+%%% Local Variables:
+%%% TeX-master: "formation-latex-ul-diapos"
+%%% TeX-engine: xetex
+%%% coding: utf-8
+%%% End:
diff --git a/info/formation-latex-ul/source/mathematiques.tex b/info/formation-latex-ul/source/mathematiques.tex
new file mode 100644
index 0000000000..ae522b6199
--- /dev/null
+++ b/info/formation-latex-ul/source/mathematiques.tex
@@ -0,0 +1,2041 @@
+%%% Copyright (C) 2018 Vincent Goulet
+%%%
+%%% Ce fichier fait partie du projet
+%%% «Rédaction avec LaTeX»
+%%% https://gitlab.com/vigou3/formation-latex-ul
+%%%
+%%% Cette création est mise à disposition sous licence
+%%% Attribution-Partage dans les mêmes conditions 4.0
+%%% International de Creative Commons.
+%%% https://creativecommons.org/licenses/by-sa/4.0/
+
+\chapter{Mathématiques}
+\label{chap:math}
+
+
+S'il est un domaine où {\LaTeX} brille particulièrement, c'est bien
+dans la préparation et la présentation d'équations mathématiques ---
+des plus simples aux plus complexes. Après tout, l'amélioration de la
+qualité typographique des équations mathématiques dans son ouvrage
+phare \emph{The Art of Computer Programming} figurait parmi les
+objectifs premiers de Knuth lorsqu'il a développé {\TeX}.
+
+
+\section{Principes de base du mode mathématique}
+\label{sec:math:base}
+
+La mise en forme d'équations mathématiques requiert d'indiquer à
+l'ordinateur, dans un langage spécial, le contenu des dites équations
+et la position des symboles: en exposant, en indice, sous forme de
+fraction, etc. L'ordinateur peut ensuite assembler le tout à partir de
+règles typographiques portant, par exemple, sur la représentation des
+variables et des constantes, l'espacement entre les symboles ou la
+disposition des équations selon qu'elles apparaissent au fil du texte
+ou hors d'un paragraphe.
+
+On indique à {\LaTeX} que l'on change de «langage», par l'utilisation
+d'un mode mathématique. Il y a deux grandes manière d'activer le mode
+mathématique:
+\begin{enumerate}
+\item en insérant le code entre les symboles \verb=$ $= pour générer
+ une équation «en ligne», ou au fil du texte;
+ \begin{demo}
+ \begin{texample}
+\begin{lstlisting}
+on sait que $(a + b)^2 =
+a^2 + 2ab + b^2$, d'où
+on obtient...
+\end{lstlisting}
+ \producing
+ on sait que $(a + b)^2 = a^2 + 2ab + b^2,$ d'où on obtient...
+ \end{texample}
+ \end{demo}
+\item en utilisant un environnement servant à créer une équation hors
+ paragraphe;
+ \begin{demo}
+ \begin{texample}
+\begin{lstlisting}
+on sait que
+\begin{equation*}
+ (a + b)^2
+ = a^2 + 2ab + b^2,
+\end{equation*}
+d'où on obtient...
+\end{lstlisting}
+ \producing
+ on sait que
+ \begin{equation*}
+ (a + b)^2 = a^2 + 2ab + b^2,
+ \end{equation*}
+ d'où on obtient...
+ \end{texample}
+ \end{demo}
+\end{enumerate}
+
+Dans l'exemple ci-dessus, l'environnement \Pe{equation*} (tiré du
+paquetage \pkg{amsmath}, voir la section suivante) crée une
+équation hors paragraphe, centrée sur la ligne et non numérotée. Avec
+l'environnement \Ie{equation} (donc sans \verb=*= dans le nom),
+{\LaTeX} ajoute automatiquement un numéro d'équation séquentiel aligné
+sur la marge de droite:
+\begin{demo}
+ \begin{texample}
+\begin{lstlisting}
+on sait que
+\begin{equation}
+ (a + b)^2 = a^2 + b^2,
+\end{equation}
+d'où on obtient...
+\end{lstlisting}
+ \producing
+ on sait que
+ \begin{equation}
+ (a + b)^2 = a^2 + b^2,
+ \end{equation}
+ d'où on obtient...
+ \end{texample}
+\end{demo}
+Cette disposition est la plus usuelle dans les ouvrages mathématiques.
+Le type de numérotation diffère selon qu'un document comporte des
+chapitres ou non.
+
+En mode mathématique, les chiffres sont automatiquement considérés
+comme des constantes, les lettres comme des variables et une suite de
+lettres comme un produit de variables (nous verrons plus loin comment
+représenter des fonctions mathématiques comme $\sin$, $\log$ ou
+$\lim$). Ceci a trois conséquences principales:
+\begin{enumerate}
+\item conformément aux conventions typographiques, les chiffres sont
+ représentés en caractère \textrm{romain} et les variables, en
+ italique;
+ \begin{demo}
+ \begin{texample}
+\begin{lstlisting}
+$123xyz$
+\end{lstlisting}
+ \producing
+ $123xyz$
+ \end{texample}
+ \end{demo}
+\item l'espace entre les constantes, les variables et les opérateurs
+ mathématiques est géré automatiquement;
+ \begin{demo}
+ \begin{texample}
+\begin{lstlisting}
+$z = 2 x + 3 x y$
+\end{lstlisting}
+ \producing
+ $z = 2 x + 3 x y$
+ \end{texample}
+ \end{demo}
+\item les espaces dans le code source n'ont aucun impact sur la
+ disposition d'une équation.
+ \begin{demo}
+ \begin{texample}
+\begin{lstlisting}
+$z=2x + 3xy$
+\end{lstlisting}
+ \producing
+ $z=2x + 3xy$
+ \end{texample}
+ \end{demo}
+\end{enumerate}
+
+Quant au langage retenu par {\LaTeX} pour décrire les équations
+mathématiques, il est très similaire à celui que l'on utiliserait pour
+le faire à voix haute. Il faut simplement recourir à des commandes
+pour identifier les symboles mathématiques que l'on ne retrouve pas
+sur un clavier usuel, comme les lettres grecques, les opérateurs
+d'inégalité ou les symboles de sommes et d'intégrales.
+
+
+\section{Un paquetage incontournable}
+\label{sec:math:amsmath}
+
+Le paquetage \pkg{amsmath} \citep{amsmath} produit par la prestigieuse
+\emph{American Mathematical Society} fournit diverses extensions à
+{\LaTeX} pour faciliter encore davantage la saisie d'équations
+mathématiques complexes et en améliorer la présentation. L'utilisation
+de ce paquetage doit être considérée incontournable pour tout document
+contenant plus que quelques équations très simples.
+
+Au chapitre des améliorations fournies par \pkg{amsmath}, notons
+particulièrement:
+\begin{itemize}
+\item plusieurs environnements pour les équations hors paragraphe, en
+ particulier pour les équations multilignes;
+\item une meilleure gestion de l'espacement autour des symboles de
+ relation (comme les signes d'égalité) dans les équations
+ multilignes;
+\item une commande pour faciliter l'entrée de texte à l'intérieur du
+ mode mathématique;
+\item un environnement pour la saisie des matrices et des coefficients
+ binomiaux;
+\item des commandes pour les intégrales multiples;
+\item la possibilité de définir de nouveaux opérateurs mathématiques.
+\end{itemize}
+Nous décrivons certaines de ces fonctionnalités dans la suite, mais
+tout utilisateur du paquetage devrait impérativement consulter sa %
+\doc[documentation complète]{amsldoc}{http://texdoc.net/pkg/amsmath}.
+
+
+\section{Principaux éléments du mode mathématique}
+\label{sec:math:bases}
+
+Cette section explique comment créer et assembler divers éléments
+d'une formule mathématique: exposants, indices, fractions, texte, etc.
+Les seuls symboles utilisés sont pour le moment les chiffres et les
+lettres latines. La présentation d'une partie de l'éventail de
+symboles mathématiques offerts par {\LaTeX} fera l'objet de la
+\autoref{sec:math:symboles}.
+
+\subsection{Exposants et indices}
+\label{sec:math:bases:exposants}
+
+{\LaTeX} permet de créer facilement et avec la bonne taille de
+symboles n'importe quelle combinaison d'exposants et d'indices.
+
+On place un caractère en \textsuperscript{exposant} avec la
+commande \cmd{^} et en \textsubscript{indice} avec la commande
+\cmd{_}. Les indices et exposants se combinent naturellement.
+\begin{demo}
+ \def\strut{\rule[-0.4ex]{0pt}{2ex}}
+ \begin{minipage}{0.3\linewidth}
+ \begin{texample}[0.6\linewidth]
+\begin{lstlisting}
+x^2
+\end{lstlisting}
+ \producing\strut $x^2$
+ \end{texample}
+ \end{minipage}
+ \quad
+ \begin{minipage}{0.3\linewidth}
+ \begin{texample}[0.6\linewidth]
+\begin{lstlisting}
+a_n
+\end{lstlisting}
+ \producing\strut $a_n$
+ \end{texample}
+ \end{minipage}
+ \quad
+ \begin{minipage}{0.3\linewidth}
+ \begin{texample}[0.67\linewidth]
+\begin{lstlisting}
+x_i^k
+\end{lstlisting}
+ \producing\strut $x_i^k$
+ \end{texample}
+ \end{minipage}
+\end{demo}
+(L'ordre de saisie n'a pas d'importance; le troisième exemple
+donnerait le même résultat avec \verb=x^k_i=.)
+
+Si l'exposant ou l'indice compte plus d'un caractère, il faut
+regrouper le tout entre accolades \verb={ }=.
+\begin{demo}
+ \begin{minipage}{0.3\linewidth}
+ \begin{texample}[0.6\linewidth]
+\begin{lstlisting}
+x^{2k + 1}
+\end{lstlisting}
+ \producing\strut $x^{2k + 1}$
+ \end{texample}
+ \end{minipage}
+ \quad
+ \begin{minipage}{0.3\linewidth}
+ \begin{texample}[0.6\linewidth]
+\begin{lstlisting}
+x_{i,j}
+\end{lstlisting}
+ \producing\strut $x_{i,j}$
+ \end{texample}
+ \end{minipage}
+ \quad
+ \begin{minipage}{0.3\linewidth}
+ \begin{texample}[0.67\linewidth]
+\begin{lstlisting}
+x_{ij}^{2n}
+\end{lstlisting}
+ \producing\strut $x_{ij}^{2n}$
+ \end{texample}
+ \end{minipage}
+\end{demo}
+
+Toutes les combinaisons d'exposants et d'indices sont possibles, y
+compris les puissances de puissances ou les indices d'indices.
+\begin{demo}
+ \begin{minipage}{0.3\linewidth}
+ \begin{texample}[0.6\linewidth]
+\begin{lstlisting}
+e^{-x^2}
+\end{lstlisting}
+ \producing\strut $e^{-x^2}$
+ \end{texample}
+ \end{minipage}
+ \quad
+ \begin{minipage}{0.6\linewidth}
+ \begin{texample}[0.6\linewidth]
+\begin{lstlisting}
+A_{i_s, k^n}^{y_i}
+\end{lstlisting}
+ \producing\strut $A_{i_s,k^n}^{y_i}$
+ \end{texample}
+ \end{minipage}
+ \quad \mbox{} % pour alignement avec bloc d'exemples ci-dessus
+\end{demo}
+
+\importantbox{Les commandes \cmd{^} et \cmd{_} sont permises dans le
+ mode mathématique seulement. En fait, si {\TeX} rencontre l'une de
+ ces commandes en mode texte, il tentera automatiquement de passer au
+ mode mathématique après avoir émis l'avertissement
+ \begin{trivlist} \item\ttfamily
+ ! Missing \$ inserted.
+ \end{trivlist}
+ Il est assez rare que le résultat soit celui souhaité.}
+
+\subsection{Fractions}
+\label{sec:math:bases:fractions}
+
+Il y a plusieurs façons de représenter une fraction selon qu'elle se
+trouve au fil du texte, dans une équation hors paragraphe ou à
+l'intérieur d'une autre fraction.
+
+Pour les fractions au fil du texte, il vaut souvent mieux utiliser
+simplement la barre oblique \verb=/= pour séparer le numérateur du
+dénominateur, quitte à utiliser des parenthèses. Ainsi, on utilise
+\verb=$(n + 1)/2$= pour obtenir $(n + 1)/2$.
+
+De manière plus générale, la commande
+\begin{lstlisting}
+\frac`\marg{numérateur}\marg{dénominateur}'
+\end{lstlisting}
+dispose \meta{numérateur} au-dessus de \meta{dénominateur}, séparé par
+une ligne horizontale. La taille des caractères s'ajuste
+automatiquement selon que la fraction se trouve au fil du texte ou
+dans une équation hors paragraphe, ainsi que selon la position de la
+fraction dans l'équation.
+\begin{demo}
+ \begin{texample}
+\begin{lstlisting}
+% taille au fil du texte
+On a $z_1 = \frac{x}{y}$ et
+$z_2 = xy$.
+\end{lstlisting}
+ \producing On a $z_1 = \frac{x}{y}$ et $z_2 = xy$.
+ \end{texample}
+
+ \begin{texample}
+\begin{lstlisting}
+% taille hors paragraphe
+On a
+\begin{equation*}
+ z_1 = \frac{x}{y}
+\end{equation*}
+et $z_2 = xy$.
+\end{lstlisting}
+ \producing On a
+ \begin{equation*}
+ z_1 = \frac{x}{y}
+ \end{equation*}
+ et $z_2 = xy$.
+ \end{texample}
+
+ \begin{texample}
+\begin{lstlisting}
+% deux tailles combinées
+Soit
+\begin{equation*}
+ z = \frac{\frac{x}{2}
+ + 1}{y}.
+\end{equation*}
+\end{lstlisting}
+ \producing Soit
+ \begin{equation*}
+ z = \frac{\frac{x}{2} + 1}{y}.
+ \end{equation*}
+ \end{texample}
+\end{demo}
+
+Les commandes
+\begin{lstlisting}
+\dfrac`\marg{numérateur}\marg{dénominateur}'
+\tfrac`\marg{numérateur}\marg{dénominateur}'
+\end{lstlisting}
+de \pkg{amsmath} permettent de forcer une fraction à adopter la taille
+d'une fraction hors paragraphe (\emph{displayed}) dans le cas de
+\cmd{\dfrac}, ou de celle d'une fraction au fil du texte (\emph{text})
+dans le cas de \cmd{\tfrac}. Consulter l'\autoref{ex:math:matrices} à
+la \autopageref{ex:math:matrices} pour visualiser l'effet de la
+commande \cmd{\dfrac}.
+
+\tipbox{Il est parfois visuellement plus intéressant, surtout au fil
+ du texte, d'écrire une fraction comme $1/x$ sous la forme $x^{-1}$.}
+
+\subsection{Racines}
+\label{sec:math:bases:racines}
+
+La commande
+\begin{lstlisting}
+\sqrt`\oarg{n}\marg{radicande}'
+\end{lstlisting}
+construit un symbole de radical autour de \meta{radicande}, par défaut
+la racine carrée. Si l'argument optionnel \meta{n} est spécifié, c'est
+plutôt un symbole de racine d'ordre $n$ qui est tracé. La longueur et
+la hauteur du radical s'adapte toujours à celles du radicande.
+\begin{demo}
+ \begin{minipage}{0.3\linewidth}
+ \begin{texample}[0.65\linewidth]
+\begin{lstlisting}
+\sqrt{2}
+\end{lstlisting}
+ \producing $\sqrt{2}$
+ \end{texample}
+ \end{minipage}
+ \quad
+ \begin{minipage}{0.3\linewidth}
+ \begin{texample}[0.67\linewidth]
+\begin{lstlisting}
+\sqrt{625}
+\end{lstlisting}
+ \producing
+ $\sqrt{625}$
+ \end{texample}
+ \end{minipage}
+ \quad
+ \begin{minipage}{0.3\linewidth}
+ \begin{texample}[0.67\linewidth]
+\begin{lstlisting}
+\sqrt[3]{8}
+\end{lstlisting}
+ \producing
+ $\sqrt[3]{8}$
+ \end{texample}
+ \end{minipage}
+
+ \begin{texample}[0.55\linewidth]
+\begin{lstlisting}
+\sqrt[n]{x + y + z}
+\end{lstlisting}
+ \producing
+ $\sqrt[n]{x + y + z}$
+ \end{texample}
+
+ \begin{texample}[0.55\linewidth]
+\begin{lstlisting}
+\sqrt{\frac{x + y}{x^2 - y^2}}
+\end{lstlisting}
+ \producing
+ $\displaystyle \sqrt{\frac{x + y}{x^2 - y^2}}$
+ \end{texample}
+\end{demo}
+
+\subsection{Sommes et intégrales}
+\label{sec:math:bases:sommes-et-integrales}
+
+Les sommes et les intégrales requièrent un symbole spécial ainsi que
+des limites inférieures et supérieures, le cas échéant.
+
+Les commandes \cmd{\sum} et \cmd{\int} servent respectivement à tracer
+les symboles de somme $\sum$ et d'intégrale $\int$. Le paquetage
+\pkg{amsmath} fournit également des commandes comme \cmd{\iint} et
+\cmd{\iiint} pour obtenir des symboles d'intégrales multiples finement
+disposés ($\iint$ et $\iiint$).
+
+On entre les éventuelles limites inférieures et supérieures comme des
+indices et des exposants.
+\begin{demo}
+ \begin{texample}
+\begin{lstlisting}
+\sum_{i = 0}^n x_i
+\end{lstlisting}
+ \producing $\displaystyle \sum_{i = 0}^n x_i$
+ \end{texample}
+
+ \begin{texample}
+\begin{lstlisting}
+\int_0^{10} f(x)\, dx
+\end{lstlisting}
+ \producing $\displaystyle \int_0^{10} f(x)\, dx$
+ \end{texample}
+
+ \begin{texample}
+\begin{lstlisting}
+\iint_D f(x, y)\, dx dy
+\end{lstlisting}
+ \producing $\displaystyle \iint_D f(x, y)\, dx dy$
+ \end{texample}
+\end{demo}
+
+La taille des symboles et la position des limites s'ajustent
+automatiquement selon le contexte. Au fil du texte, la somme et
+l'intégrale simple ci-dessus apparaitraient comme $\sum_{i = 0}^n x_i$
+et $\int_0^{10} f(x)\, dx$.
+
+Dans une intégrale il est recommandé de séparer l'intégrande de
+l'opérateur de différentiation $dx$ par une espace fine. C'est ce à
+quoi sert la commande \cmd{\,} ci-dessus; voir aussi le
+\autoref{tab:math:espaces} de la \autopageref{tab:math:espaces}.
+
+\subsection{Points de suspension}
+\label{sec:math:bases:dots}
+
+Les formules mathématiques comportent fréquemment des points de
+suspension dans des suites de variables ou d'opérations. On recommande
+d'éviter de les entrer comme trois points finaux consécutifs, car
+l'espacement entre les points sera trop petit et le résultat, jugé
+disgracieux\footnote{%
+ Le résultat exact dépend de la police utilisée.} %
+d'un point de vue typographique: $...$
+
+Le \autoref{tab:math:dots} fournit les commandes {\LaTeX} servant à
+générer divers types de points de suspension.
+
+\begin{table}
+ \caption{Points de suspension}
+ \label{tab:math:dots}
+ \centering
+ \begin{tabular}{lll}
+ \toprule
+ commande & type de points & exemple \\
+ \midrule
+ \cmd{\dots} & sélection automatique \\
+ \cmd{\ldots} & points à la ligne de base & $x_1, \ldots, x_n$ \\
+ \cmd{\cdots} & points centrés & $x_1 + \cdots + x_n$ \\
+ \addlinespace[0.5\normalbaselineskip]
+ \cmd{\vdots} & points verticaux & $
+ \begin{matrix}
+ x_1 \\ \vdots \\ x_n
+ \end{matrix}$ \\
+ \addlinespace[0.5\normalbaselineskip]
+ \cmd{\ddots} & points diagonaux & $
+ \begin{matrix}
+ x_1 &&\\ &\ddots& \\ && x_n
+ \end{matrix}$ \\
+ \bottomrule
+ \end{tabular}
+\end{table}
+
+Avec \pkg{amsmath}, la commande \cmd{\dots} tâche de sélectionner
+automatiquement entre les points à la ligne de base ou les points
+centrés selon le contexte. Comme le résultat est en général le bon,
+nous recommandons d'utiliser principalement cette commande pour
+insérer des points de suspension en mode mathématique.
+\begin{demo}
+ \begin{texample}
+\begin{lstlisting}
+$x_1, \dots, x_n$
+\end{lstlisting}
+ \producing $x_1, \dots, x_n$
+ \end{texample}
+
+ \begin{texample}
+\begin{lstlisting}
+$x_1, \ldots, x_n$
+\end{lstlisting}
+ \producing $x_1, \ldots, x_n$
+ \end{texample}
+
+ \begin{texample}
+\begin{lstlisting}
+$x_1 + \dots + x_n$
+\end{lstlisting}
+ \producing $x_1 + \dots + x_n$
+ \end{texample}
+
+ \begin{texample}
+\begin{lstlisting}
+$x_1 + \cdots + x_n$
+\end{lstlisting}
+ \producing $x_1 + \cdots + x_n$
+ \end{texample}
+\end{demo}
+Le paquetage définit également les commandes sémantiques suivantes:
+\begin{itemize}
+\item \cmd{\dotsc} pour des «points avec des virgules» (\emph{commas});
+\item \cmd{\dotsb} pour des «points avec des opérateurs binaires»;
+\item \cmd{\dotsm} pour des «points de multiplication»;
+\item \cmd{\dotsi} pour des «points avec des intégrales»;
+\item \cmd{\dotso} pour d'«autres points» (\emph{other}).
+\end{itemize}
+
+\subsection{Texte et espaces}
+\label{sec:math:bases:texte}
+
+On l'a vu, en mode mathématique {\LaTeX} traite les lettres comme des
+variables et gère automatiquement l'espacement entre les divers
+symboles. Or, il n'est pas rare que des formules mathématiques
+contiennent du texte (notamment des mots comme «où», «si», «quand»).
+De plus, il est parfois souhaitable de pouvoir ajuster les blancs
+entre des éléments.
+
+La commande de \pkg{amsmath}
+\begin{lstlisting}
+\text`\marg{texte}'
+\end{lstlisting}
+insère \meta{texte} dans une formule mathématique. Le texte est inséré
+tel quel, sans aucune gestion des espaces avant ou après le texte. Si
+des espaces sont nécessaires, ils doivent faire partie de
+\meta{texte}.
+\begin{demo}
+ \begin{texample}
+\begin{lstlisting}
+f(x) = a e^{-ax}
+\text{ pour } x > 0
+\end{lstlisting}
+ \producing $f(x) = a e^{-ax} \text{ pour } x > 0$
+ \end{texample}
+\end{demo}
+
+Les commandes
+\begin{lstlisting}
+\quad
+\qquad
+\end{lstlisting}
+insèrent un blanc de largeur variable selon la taille de la police en
+vigueur. La commande \cmd{\quad} insère un blanc de $1$~em (la largeur de
+la lettre M dans la police en vigueur), alors que \cmd{\qquad}
+insère le double de cette longueur\footnote{%
+ Bien qu'elles soient surtout utilisées dans le mode mathématique,
+ les commandes \cmd{\quad} et \cmd{\qquad} sont également valides
+ dans le mode texte.}.
+\begin{demo}
+ \begin{texample}
+\begin{lstlisting}
+f(x) = a e^{-ax},
+\quad x > 0
+\end{lstlisting}
+ \producing
+ $f(x) = a e^{-ax}, \quad x > 0$
+ \end{texample}
+\end{demo}
+
+Le \autoref{tab:math:espaces} répertorie et compare les différentes
+commandes qui permettent d'insérer des espaces plus ou moins fines
+entre des éléments dans le mode mathématique.
+
+\begin{table}
+ \caption{Espaces dans le mode mathématique}
+ \label{tab:math:espaces}
+ \centering
+ \begin{tabular}{lll}
+ \toprule
+ Commande & Longueur & Exemple \\
+ \midrule
+ & pas d'espace & \spx{} \\
+ \cmd{\,} & $3/18$ de \cmdprint{quad} & \spx{\,} \\
+ \cmd{\:} & $4/18$ de \cmdprint{quad} & \spx{\:} \\
+ \cmd{\;} & $5/18$ de \cmdprint{quad} & \spx{\;} \\
+ \pixabang & $-3/18$ de \cmdprint{quad} & \spx{\!} \\
+ \cmd{\quad} & $1$~em & \spx{\quad} \\
+ \cmd{\qquad} & $2$~em & \spx{\qquad} \\
+ \bottomrule
+ \end{tabular}
+\end{table}
+
+\subsection{Fonctions et opérateurs}
+\label{sec:math:bases:fonctions}
+
+Les règles de typographie pour les équations mathématiques exigent que
+les variables apparaissent en \textit{italique}, mais que les noms de
+fonctions, eux, apparaissent en \textrm{romain}, comme le texte
+standard. Pensons, ici, à des fonctions comme $\sin$ ou $\log$.
+
+On sait que {\LaTeX} interprétera un nom de fonction saisi tel quel
+comme un produit de variables:
+\begin{demo}
+ \begin{minipage}{0.45\linewidth}
+ \begin{texample}
+\begin{lstlisting}
+$2 sin 30$
+\end{lstlisting}
+ \producing
+ $2 sin 30$
+ \end{texample}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{0.45\linewidth}
+ \begin{texample}
+\begin{lstlisting}
+$3 log 2$
+\end{lstlisting}
+ \producing
+ $3 log 2$
+ \end{texample}
+ \end{minipage}
+\end{demo}
+La commande \cmdprint{\text} permettrait d'afficher les noms de
+fonction en romain, mais l'utiliser à répétition se révélerait
+rapidement peu pratique. De plus, un nom de fonction n'est pas du
+texte à proprement parler, mais plutôt un opérateur mathématique.
+
+La solution de {\LaTeX} consiste à définir des commandes pour un grand
+nombre de fonctions et d'opérateurs mathématiques standards:
+\begin{lstlisting}
+\arccos \cosh \det \inf \limsup \Pr \tan
+\arcsin \cot \dim \ker \ln \sec \tanh
+\arctan \coth \exp \lg \log \sin
+\arg \csc \gcd \lim \max \sinh
+\cos \deg \hom \liminf \min \sup
+\end{lstlisting}
+L'espacement autour des fonctions et opérateurs est géré par {\LaTeX}.
+\begin{demo}
+ \begin{minipage}{0.45\linewidth}
+ \begin{texample}
+\begin{lstlisting}
+$2 \sin30$
+\end{lstlisting}
+ \producing
+ $2 \sin30$
+ \end{texample}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{0.45\linewidth}
+ \begin{texample}
+\begin{lstlisting}
+$3 \log 2$
+\end{lstlisting}
+ \producing
+ $3 \log 2$
+ \end{texample}
+ \end{minipage}
+\end{demo}
+
+Certaines des fonctions ci-dessus, notamment \cmd{\lim}, acceptent des
+limites comme les symboles de somme et d'intégrale.
+\begin{demo}
+ \begin{texample}
+\begin{lstlisting}
+% au fil du texte
+\lim_{x \to 0} x = 0
+\end{lstlisting}
+ \producing $\lim_{x \to 0} x = 0$
+ \end{texample}
+
+ \begin{texample}
+\begin{lstlisting}
+% hors paragraphe
+\lim_{x \to 0} x = 0
+\end{lstlisting}
+ \producing $\displaystyle \lim_{x \to 0} x = 0$
+ \end{texample}
+\end{demo}
+
+La commande \cmd{\DeclareMathOperator} de \pkg{amsmath} permet de
+définir de nouveaux opérateurs mathématiques lorsque nécessaire;
+consulter la %
+\doc{amsldoc}{http://texdoc.net/pkg/amsmath} %
+du paquetage (section~5.1) pour les détails.
+
+
+\begin{exemple}
+ Le matériel passé en revue jusqu'à maintenant permet déjà
+ de composer des équations élaborées --- sous réserve qu'elles
+ tiennent sur une seule ligne comme dans le présent exemple.
+
+ On présente ci-dessous, pièce par pièce, le code {\LaTeX} pour créer
+ l'équation suivante:
+ \begin{equation*}
+ \int_x^\infty (y - x) f_{X|X > x}(y)\, dy =
+ \frac{1}{1 - F_X(x)} \int_x^\infty (y - x) f_X(y)\, dy.
+ \end{equation*}
+ \begin{demo}
+ \begin{texample}[0.58\linewidth]
+\begin{lstlisting}
+\begin{equation*}
+\end{lstlisting}
+ \producing
+ \emph{équation hors paragraphe}
+ \end{texample}
+
+ \begin{texample}[0.58\linewidth]
+\begin{lstlisting}
+\int_x^\infty
+\end{lstlisting}
+ \producing
+ $\displaystyle \int_x^\infty$
+ \end{texample}
+
+ \begin{texample}[0.58\linewidth]
+\begin{lstlisting}
+(y - x) f_{X|X > x}(y)\, dy =
+\end{lstlisting}
+ \producing
+ $(y - x) f_{X|X > x}(y)\, dy =$
+ \end{texample}
+
+ \begin{texample}[0.58\linewidth]
+\begin{lstlisting}
+\frac{1}{1 - F_X(x)}
+\end{lstlisting}
+ \producing
+ $\dfrac{1}{1 - F_X(x)}$
+ \end{texample}
+
+ \begin{texample}[0.58\linewidth]
+\begin{lstlisting}
+\int_x^\infty (y - x) f_X(y)\, dy
+\end{lstlisting}
+ \producing
+ $\displaystyle \int_x^\infty (y - x) f_X(y)\, dy$
+ \end{texample}
+
+ \begin{texample}[0.58\linewidth]
+\begin{lstlisting}
+\end{equation*}
+\end{lstlisting}
+ \producing
+ \emph{fin de l'environnement}
+ \end{texample}
+ \end{demo}
+ \qed
+\end{exemple}
+
+
+\section{Symboles mathématiques}
+\label{sec:math:symboles}
+
+Outre les chiffres et les lettres de l'alphabet, les claviers
+d'ordinateurs ne comptent normalement que les symboles
+mathématiques suivants:
+\begin{center}
+%\begin{verbatim}
+\verb0+ - = < > / : ! ' | [ ] ( ) { }0
+%\end{verbatim}
+\end{center}
+Ils s'emploient directement dans les équations, sauf les accolades
+\verb={ }= qui sont des symboles réservés par {\LaTeX}. Il faut donc
+entrer celles-ci avec \cmdprint{\{} et \cmdprint{\}}, comme dans du
+texte normal.
+
+Pour représenter les innombrables autres symboles mathématiques, on
+aura recours à des commandes qui débutent, comme d'habitude, par le
+symbole {\bs} et dont le nom est habituellement dérivé de la
+signification mathématique du symbole.
+
+Si un symbole mathématique a été utilisé quelque part dans une
+publication, il y a de fortes chances que sa version existe dans
+{\LaTeX}. Il serait donc utopique de tenter de faire ici une recension
+des symboles disponibles. Nous nous contenterons d'un avant-gout des
+principales catégories.
+
+L'ouvrage de référence pour connaitre les symboles disponibles dans
+{\LaTeX} est la bien nommée \emph{Comprehensive {\LaTeX} Symbol List}
+\citep{comprehensive}. La liste comprend près de \nombre{6000}
+symboles répartis sur plus de 160 pages! On y trouve de tout, des
+symboles mathématiques aux pictogrammes de météo ou d'échecs, en
+passant par\dots\ des figurines des Simpsons.
+
+\importantbox{Les moteurs {\XeTeX} et {\LuaTeX} supportent nativement le
+ code source en format Unicode UTF-8 \citep{Unicode:5.0}. Ce standard
+ contient des définitions pour plusieurs symboles mathématiques
+ \citep{wikipedia:unicode-math}. Cela signifie qu'il est possible
+ d'entrer une partie au moins des équations mathématiques avec des
+ caractères visibles à l'écran, plutôt qu'avec des commandes
+ {\LaTeX}. Nous ne saurions toutefois recommander cette pratique qui
+ rend les fichiers source moins compatibles d'un système à un autre.}
+
+\subsection{Lettres grecques}
+\label{sec:math:symboles:grecques}
+
+On obtient les lettres grecques en {\LaTeX} avec des commandes
+correspondant au nom de chaque lettre. Lorsque la commande débute par
+une capitale, on obtient une lettre grecque majuscule. Les commandes
+de certaines lettres grecques majuscules n'existent pas lorsque celles-ci
+sont identiques aux lettres romaines.
+
+Les tableaux \ref{tab:math:grecques} et \ref{tab:math:Grecques}
+présentent l'ensemble des lettres grecques disponibles dans {\LaTeX}.
+
+\begin{table}
+ \caption{Lettres grecques minuscules}
+ \label{tab:math:grecques}
+ \begin{tabularx}{1.0\linewidth}{lXlXlXlX}
+ $\alpha$ & \cmd{\alpha} & $\theta$ & \cmd{\theta} &
+ $o$ & o & $\tau$ & \cmd{\tau} \\
+ $\beta$ & \cmd{\beta} & $\vartheta$ & \cmd{\vartheta} &
+ $\pi$ & \cmd{\pi} & $\upsilon$ & \cmd{\upsilon} \\
+ $\gamma$ & \cmd{\gamma} & $\iota$ & \cmd{\iota} &
+ $\varpi$ & \cmd{\varpi} & $\phi$ & \cmd{\phi} \\
+ $\delta$ & \cmd{\delta} & $\kappa$ & \cmd{\kappa} &
+ $\rho$ & \cmd{\rho} & $\varphi$ & \cmd{\varphi} \\
+ $\epsilon$ & \cmd{\epsilon} & $\lambda$ & \cmd{\lambda} &
+ $\varrho$ & \cmd{\varrho} & $\chi$ & \cmd{\chi} \\
+ $\varepsilon$ & \cmd{\varepsilon} & $\mu$ & \cmd{\mu} &
+ $\sigma$ & \cmd{\sigma} & $\psi$ & \cmd{\psi} \\
+ $\zeta$ & \cmd{\zeta} & $\nu$ & \cmd{\nu} &
+ $\varsigma$ & \cmd{\varsigma} & $\omega$ & \cmd{\omega} \\
+ $\eta$ & \cmd{\eta} & $\xi$ & \cmd{\xi}
+ \end{tabularx}
+\end{table}
+
+\begin{table}
+ \caption{Lettres grecques majuscules}
+ \label{tab:math:Grecques}
+ \begin{tabularx}{1.0\linewidth}{lXlXlXlX}
+ $\Gamma$ & \cmd{\Gamma} &
+ $\Lambda$ & \cmd{\Lambda} &
+ $\Sigma$ & \cmd{\Sigma} &
+ $\Psi$ & \cmd{\Psi} \\
+ $\Delta$ & \cmd{\Delta} &
+ $\Xi$ & \cmd{\Xi} &
+ $\Upsilon$ & \cmd{\Upsilon} &
+ $\Omega$ & \cmd{\Omega} \\
+ $\Theta$ & \cmd{\Theta} &
+ $\Pi$ & \cmd{\Pi} &
+ $\Phi$ & \cmd{\Phi}
+ \end{tabularx}
+\end{table}
+
+\subsection{Lettres modifiées}
+\label{sec:math:symboles:mathcal}
+
+Les lettres de l'alphabet, principalement en majuscule, servent
+parfois en mathématiques dans des versions modifiées pour représenter
+des quantités, notamment les ensembles.
+
+La commande \cmd{\mathcal} permet de transformer un ou plusieurs
+caractères en version dite «calligraphique» dans le mode mathématique.
+\begin{demo}
+ \begin{texample}
+\begin{lstlisting}
+\mathcal{ABC\, xyz}
+\end{lstlisting}
+ \producing
+ %% pris de lucidaot.tex; apparemment lent
+ \setmathfont[RawFeature=+ss04]{Lucida Bright Math OT}
+ $\mathscr{ABC\, xyz}$
+ \end{texample}
+\end{demo}
+
+La commande \cmd{\mathbb} fournie par les paquetages \pkg{amsfonts} et
+\pkg{unicode-math}, entre autres, génère des versions majuscule
+ajourée (\emph{blackboard bold}) des lettres de l'alphabet. Elles sont
+principalement utilisée pour représenter les ensembles de nombres.
+\begin{demo}
+ \begin{texample}
+\begin{lstlisting}
+\mathbb{NZRC}
+\end{lstlisting}
+ \producing $\mathbb{NZRC}$
+ \end{texample}
+\end{demo}
+
+Le tableau~213 de la %
+\doc[\emph{Comprehensive {\LaTeX} Symbol List}]{comprehensive}{http://texdoc.net/pkg/comprehensive} %
+présente plusieurs autres alphabets spéciaux disponibles en mode
+mathématique.
+
+\tipbox{Certaines polices OpenType contiennent plusieurs versions des
+ symboles mathématiques. Par exemple, la police utilisée dans le
+ présent document contient deux versions de la police calligraphique,
+ celle présentée ci-contre et celle-ci: %
+ \setmathfont[RawFeature=-ss04]{Lucida Bright Math OT}
+ $\mathscr{ABC\, xyz}$. Consulter éventuellement la documentation de
+ la police pour les détails.}
+
+\subsection{Opérateurs binaires et relations}
+\label{sec:math:symboles:binaires+relations}
+
+Les opérateurs binaires combinent deux quantités pour en former une
+troisième; pensons simplement aux opérateurs d'addition $+$ et de
+soustraction $-$ que l'on retrouve sur un clavier d'ordinateur normal.
+Les relations, quant à elles, servent pour la comparaison entre deux
+quantités, comme $<$ et $>$. Le \autoref{tab:math:binaires}
+présente une sélection d'opérateurs binaires et
+le \autoref{tab:math:relations} une sélection de relations.
+
+La %
+\doc[\emph{Comprehensive {\LaTeX} Symbol List}]{}{http://texdoc.net/pkg/comprehensive} %
+consacre plus d'une dizaine de tableaux aux opérateurs binaires et
+près d'une quarantaine aux relations. C'est dire à quel point les
+tableaux \ref*{tab:math:binaires} et \ref*{tab:math:relations} de la
+\autopageref{tab:math:binaires} ne présentent que les principaux
+éléments à titre indicatif.
+
+Certaines relations existent directement en version opposée, ou
+négative (comme $\neq$ ou $\notin$) soit dans {\LaTeX} de base, soit
+avec \pkg{amsmath} ou un autre paquetage. Autrement, il est possible
+de préfixer toute relation de \cmd{\not} pour y superposer une barre
+oblique $/$.
+
+\begin{table}
+ \caption{Quelques opérateurs binaires}
+ \label{tab:math:binaires}
+ \begin{tabularx}{1.0\linewidth}{lXlXlXlX}
+ $\times$ & \cmd{\times} &
+ $\div$ & \cmd{\div} &
+ $\pm$ & \cmd{\pm} &
+ $\cdot$ & \cmd{\cdot} \\
+ $\cup$ & \cmd{\cup} &
+ $\cap$ & \cmd{\cap} &
+ $\setminus$ & \cmd{\setminus} &
+ $\circ$ & \cmd{\circ} \\
+ $\wedge$ & \cmd{\wedge} &
+ $\vee$ & \cmd{\vee} &
+ $\oplus$ & \cmd{\oplus} &
+ $\otimes$ & \cmd{\otimes} \\
+ $\ast$ & \cmd{\ast} &
+ $\star$ & \cmd{\star} &
+ $\boxplus$ & \cmd{\boxplus}$^\dagger$ &
+ $\boxtimes$ & \cmd{\boxtimes}$^\dagger$ \\
+ \addlinespace
+ \end{tabularx}
+ \hspace*{1em}{\footnotesize $^\dagger$ requiert \pkg{amsmath}}
+\end{table}
+
+\begin{table}
+ \caption{Quelques relations et leur négation}
+ \label{tab:math:relations}
+ \begin{tabularx}{1.0\linewidth}{lXlXlXlX}
+ $\leq$ & \cmd{\leq} &
+ $\geq$ & \cmd{\geq} &
+ $\neq$ & \cmd{\neq} &
+ $\equiv$ & \cmd{\equiv} \\
+ $\subset$ & \cmd{\subset} &
+ $\subseteq$ & \cmd{\subseteq} &
+ $\in$ & \cmd{\in} &
+ $\notin$ & \cmd{\notin} \\
+ $\nless$ & \cmd{\nless}$^\dagger$ &
+ $\ngtr$ & \cmd{\ngtr}$^\dagger$ &
+ $\nleq$ & \cmd{\nleq}$^\dagger$ &
+ $\ngeq$ & \cmd{\ngeq}$^\dagger$ \\
+ \addlinespace
+ \end{tabularx}
+ \hspace*{1em}{\footnotesize $^\dagger$ requiert \pkg{amsmath}}
+\end{table}
+
+\subsection{Flèches}
+\label{sec:math:symboles:fleches}
+
+Les flèches de différents types sont souvent utilisées en notation
+mathématique, notamment dans les limites ou pour les expressions
+logiques. Le \autoref{tab:math:fleches} en présente une sélection.
+
+On retrouve les flèches utilisables en notation mathématique dans les
+tableaux 102 à 119 de la %
+\doc[\emph{Comprehensive {\LaTeX} Symbol List}]{}{http://texdoc.net/pkg/comprehensive}. %
+Le document contient divers autres types de flèches, mais celles-ci ne
+sont généralement pas appropriées pour les mathématiques (pensons à
+{\manerrarrow} ou {\faArrowRight}).
+
+Le paquetage \pkg{amsmath} fournit plusieurs flèches additionnelles
+ainsi que la négation des plus communes. Ces dernières apparaissent
+d'ailleurs dans le \autoref{tab:math:fleches}.
+
+\begin{table}
+ \caption{Quelques flèches et leur négation}
+ \label{tab:math:fleches}
+ \begin{tabularx}{1.0\linewidth}{lXlX}
+ $\gets$ & \cmd{\leftarrow}\quad \cmd{\gets} &
+ $\longleftarrow$ & \cmd{\longleftarrow} \\
+ $\Leftarrow$ & \cmd{\Leftarrow} &
+ $\Longleftarrow$ & \cmd{\Longleftarrow} \\
+ $\to$ & \cmd{\rightarrow}\quad \cmd{\to} &
+ $\longrightarrow$ & \cmd{\longrightarrow} \\
+ $\Rightarrow$ & \cmd{\Rightarrow} &
+ $\Longrightarrow$ & \cmd{\Longrightarrow} \\
+ $\uparrow$ & \cmd{\uparrow} &
+ $\downarrow$ & \cmd{\downarrow} \\
+ $\Uparrow$ & \cmd{\Uparrow} &
+ $\Downarrow$ & \cmd{\Downarrow} \\
+ $\updownarrow$ & \cmd{\updownarrow} &
+ $\Updownarrow$ & \cmd{\Updownarrow} \\
+ $\leftrightarrow$ & \cmd{\leftrightarrow} &
+ $\longleftrightarrow$ & \cmd{\longleftrightarrow} \\
+ $\Leftrightarrow$ & \cmd{\Leftrightarrow} &
+ $\Longleftrightarrow$ & \cmd{\Longleftrightarrow} \\
+ $\nleftarrow$ & \cmd{\nleftarrow}$^\dagger$ &
+ $\nleftrightarrow$ & \cmd{\nleftrightarrow}$^\dagger$ \\
+ $\nrightarrow$ & \cmd{\nrightarrow}$^\dagger$ &
+ $\nLeftarrow$ & \cmd{\nLeftarrow}$^\dagger$ \\
+ $\nLeftrightarrow$ & \cmd{\nLeftrightarrow}$^\dagger$ &
+ $\nRightarrow$ & \cmd{\nRightarrow}$^\dagger$ \\
+ \addlinespace
+ \end{tabularx}
+ \hspace*{1em}{\footnotesize $^\dagger$ requiert \pkg{amsmath}}
+\end{table}
+
+\subsection{Accents et autres symboles utiles}
+\label{sec:math:symboles:autres}
+
+Le \autoref{tab:math:autres} présente quelques uns des accents
+disponibles dans le mode mathématique, ainsi que divers symboles
+fréquemment utilisés en mathématiques.
+
+Pour connaitre l'ensemble des accents du mode mathématique de
+{\LaTeX}, consulter le tableau~164 de la %
+\doc[\emph{Comprehensive {\LaTeX} Symbol List}]{}{http://texdoc.net/pkg/comprehensive}. %
+Les versions extensibles de certains accents se trouvent au
+tableau~169. Quant aux symboles mathématiques divers, on en trouve de
+toutes les sortes dans les tableaux 201--212.
+
+\begin{table}
+ \caption{Accents et symboles mathématiques divers}
+ \label{tab:math:autres}
+ \begin{tabularx}{1.0\linewidth}{lXlXlXlX}
+ $\hat{a}$ & \cmd{\hat}\verb={a}= &
+ $\bar{a}$ & \cmd{\bar}\verb={a}= &
+ $\tilde{a}$ & \cmd{\tilde}\verb={a}= &
+ $\ddot{a}$ & \cmd{\ddot}\verb={a}= \\
+ $\infty$ & \cmd{\infty} &
+ $\nabla$ & \cmd{\nabla} &
+ $\partial$ & \cmd{\partial} &
+ $\ell$ & \cmd{\ell} \\
+ $\forall$ & \cmd{\forall} &
+ $\exists$ & \cmd{\exists} &
+ $\emptyset$ & \cmd{\emptyset} &
+ $\prime$ & \cmd{\prime} \\
+ $\neg$ & \cmd{\neg} &
+ $\backslash$ & \cmd{\backslash} &
+ $\|$ & \pixbar &
+ $\angle$ & \cmd{\angle}
+ \end{tabularx}
+\end{table}
+
+
+\begin{exemple}
+ L'équation suivante contient plusieurs des éléments présentés dans
+ cette section et la précédente:
+ \begin{equation*}
+ \frac{\Gamma(\alpha)}{\lambda^\alpha} =
+ \sum_{j = 0}^\infty \int_j^{j + 1} x^{\alpha - 1} e^{-\lambda x}\,
+ dx,
+ \quad
+ \alpha > 0 \text{ et } \lambda > 0.
+ \end{equation*}
+ \begin{demo}
+ \begin{texample}[0.58\linewidth]
+\begin{lstlisting}
+\begin{equation*}
+\end{lstlisting}
+ \producing
+ \emph{équation hors paragraphe}
+ \end{texample}
+
+ \begin{texample}[0.58\linewidth]
+\begin{lstlisting}
+\frac{\Gamma(\alpha)}{
+ \lambda^\alpha} =
+\end{lstlisting}
+ \producing
+ $\dfrac{\Gamma(\alpha)}{\lambda^\alpha} =$
+ \end{texample}
+
+ \begin{texample}[0.58\linewidth]
+\begin{lstlisting}
+\sum_{j = 0}^\infty \int_j^{j + 1}
+\end{lstlisting}
+ \producing
+ $\displaystyle \sum_{j = 0}^\infty \int_j^{j + 1}$
+ \end{texample}
+
+ \begin{texample}[0.58\linewidth]
+\begin{lstlisting}
+x^{\alpha - 1} e^{-\lambda x}\, dx
+\end{lstlisting}
+ \producing
+ $\displaystyle x^{\alpha - 1} e^{-\lambda x}\, dx$
+ \end{texample}
+
+ \begin{texample}[0.58\linewidth]
+\begin{lstlisting}
+, \quad \alpha > 0 \text{ et }
+\lambda > 0.
+\end{lstlisting}
+ \producing
+ $, \quad \alpha > 0 \text{ et } \lambda > 0.$
+ \end{texample}
+
+ \begin{texample}[0.58\linewidth]
+\begin{lstlisting}
+\end{equation*}
+\end{lstlisting}
+ \producing
+ \emph{fin de l'environnement}
+ \end{texample}
+ \end{demo}
+ \qed
+\end{exemple}
+
+
+\section{Équations sur plusieurs lignes et numérotation}
+\label{sec:math:align}
+
+Dans ce qui précède, nous n'avons présenté que des équations tenant
+sur une seule ligne en mode hors paragraphe. Cette section se penche
+sur la manière de représenter des groupes d'équations du type
+\begin{align}
+ y &= 2x + 4 \\
+ y &= 6x - 1
+\end{align}
+ou des suites d'équations comme
+\begin{align*}
+ x_{\text{max}}
+ &= \sum_{i = 0}^{m - 1} (b - 1) b^i \\
+ &= (b - 1) \sum_{i = 0}^{m - 1} b^i \\
+ &= b^m - 1.
+\end{align*}
+
+Nous recommandons fortement les environnements de \pkg{amsmath} pour
+les équations sur plusieurs lignes: ils sont plus polyvalents, plus
+simples à utiliser et leur rendu est meilleur. Le
+\autoref{tab:math:displays} --- repris presque intégralement de la
+documentation de ce paquetage --- compare les différents
+environnements pour les équations hors paragraphe.
+
+\begin{table}[p]
+ \caption[Comparaison des environnements pour les équations hors
+ paragraphe de \pkg{amsmath}]{%
+ Comparaison des environnements pour les équations hors
+ paragraphe de \pkg{amsmath} (les lignes verticales indiquent les
+ marges logiques).}
+ \label{tab:math:displays}
+ \renewcommand{\theequation}{\arabic{equation}}
+ \begin{eqxample}
+\begin{lstlisting}
+\begin{equation*}
+ a = b
+\end{equation*}
+\end{lstlisting}
+ \producing
+ \begin{equation*}
+ a = b
+ \end{equation*}
+ \end{eqxample}
+
+ \begin{eqxample}
+\begin{lstlisting}
+\begin{equation}
+ a = b
+\end{equation}
+\end{lstlisting}
+ \producing
+ \begin{equation}
+ a = b
+ \end{equation}
+ \end{eqxample}
+
+ \begin{eqxample}
+\begin{lstlisting}
+\begin{equation}
+ \label{eq:5}
+ \begin{split}
+ a &= b + c - d \\
+ &\phantom{=} + e - f \\
+ &= g + h \\
+ &= i
+ \end{split}
+\end{equation}
+\end{lstlisting}
+ \producing
+ \begin{equation}\label{eq:math:5}
+ \begin{split}
+ a& =b+c-d\\
+ &\phantom{=} +e-f\\
+ & =g+h\\
+ & =i
+ \end{split}
+ \end{equation}
+ \end{eqxample}
+
+ \begin{eqxample}
+\begin{lstlisting}
+\begin{multline}
+ a + b + c + d + e + f \\
+ + i + j + k + l + m + n
+\end{multline}
+\end{lstlisting}
+ \producing
+ \begin{multline}
+ a+b+c+d+e+f\\
+ +i+j+k+l+m+n
+ \end{multline}
+ \end{eqxample}
+
+ \begin{eqxample}
+\begin{lstlisting}
+\begin{gather}
+ a_1 = b_1 + c_1 \\
+ a_2 = b_2 + c_2 - d_2 + e_2
+\end{gather}
+\end{lstlisting}
+ \producing
+ \begin{gather}
+ a_1=b_1+c_1\\
+ a_2=b_2+c_2-d_2+e_2
+ \end{gather}
+ \end{eqxample}
+
+ \begin{eqxample}
+\begin{lstlisting}
+\begin{align}
+ a_1 &= b_1+c_1 \\
+ a_2 &= b_2+c_2-d_2+e_2
+\end{align}
+\end{lstlisting}
+ \producing
+ \begin{align}
+ a_1& =b_1+c_1\\
+ a_2& =b_2+c_2-d_2+e_2
+ \end{align}
+ \end{eqxample}
+
+ \begin{eqxample}
+\begin{lstlisting}
+\begin{align}
+ a_{11} &= b_{11} &
+ a_{12} &= b_{12} \\
+ a_{21} &= b_{21} &
+ a_{22} &= b_{22} + c_{22}
+\end{align}
+\end{lstlisting}
+ \producing
+ \begin{align}
+ a_{11}& =b_{11}&
+ a_{12}& =b_{12}\\
+ a_{21}& =b_{21}&
+ a_{22}& =b_{22}+c_{22}
+ \end{align}
+ \end{eqxample}
+\end{table}
+
+\begin{itemize}
+\item L'environnement de base pour les équations alignées sur un
+ symbole de relation (en une ou plusieurs colonnes) est \Ie{align}.
+ C'est l'environnement le plus utilisé en mode mathématique hormis
+ \Pe{equation}.
+\item Les environnements \Pe{multline}, \Pe{gather} et \Pe{align}
+ existent également en version étoilée (\Ie{multline*}, \Ie{gather*},
+ \Ie{align*}) qui ne numérotent pas les équations.
+\item Dans les environnements \Pe{align} et \Ie{split}, les équations
+ successives sont alignées sur le caractère se trouvant immédiatement
+ après le marqueur de colonne \verb=&=.
+\item Comme dans les tableaux, la commande {\pixbsbs} sert à
+ délimiter les lignes de la suite d'équations.
+\item Remarquer, dans le troisième exemple du
+ \autoref{tab:math:displays}, comment la commande \cmd{\phantom} sert
+ à insérer un blanc exactement de la largeur du symbole $=$ au début
+ de la seconde ligne de la suite d'égalités.
+\item Pour supprimer la numérotation d'une ligne dans une série
+ d'équations numérotées, placer la commande \cmd{\notag} juste avant
+ la commande de changement de ligne {\bs\bs}.
+ \begin{demo}
+ \begin{texample}[0.53\linewidth]
+\begin{lstlisting}
+\begin{align}
+ a_1 &= b_1 + c_1 \notag \\
+ a_2 &= b_2 + c_2 - d_2 + e_2
+\end{align}
+\end{lstlisting}
+ \producing
+ \begin{align}
+ a_1& =b_1+c_1 \notag \\
+ a_2& =b_2+c_2-d_2+e_2
+ \end{align}
+ \end{texample}
+ \end{demo}
+\item Les renvois vers des équations numérotées fonctionnent, comme
+ partout ailleurs en {\LaTeX}, avec le système d'étiquettes et de
+ références (\autoref{sec:tableaux:floats}). Le paquetage
+ \pkg{amsmath} fournit également la pratique commande \cmd{\eqref}
+ qui place automatiquement le numéro d'équation entre parenthèses.
+ \begin{demo}
+ \begin{texample}
+\begin{lstlisting}
+L'équation \eqref{eq:5} du
+tableau `\ref*{tab:math:displays}' démontre que...
+\end{lstlisting}
+ \producing
+ L'équation \eqref{eq:math:5} du tableau
+ \ref*{tab:math:displays} démontre que\dots
+ \end{texample}
+ \end{demo}
+\item L'environnement \Ie{split} sert à apposer un seul numéro à une
+ équation affichée sur plusieurs lignes. Il doit être employé à
+ l'intérieur d'un autre environnement d'équations hors paragraphe.
+\end{itemize}
+Consulter le chapitre 3 de la %
+\doc{amsldoc}{http://texdoc.net/pkg/amsmath} %
+du paquetage \pkg{amsmath} pour les détails sur
+l'utilisation des environnements du \autoref*{tab:math:displays}.
+
+\tipbox{Veillez à respecter les règles suivantes pour la composition
+ des équations.
+ \begin{enumerate}
+ \item Qu'elles apparaissent en ligne ou hors paragraphe, les
+ équations font partie intégrante de la phrase. Ainsi, les règles
+ de ponctuation usuelles s'appliquent-elles aux équations.
+ \item Lorsqu'une équation s'étend sur plus d'une ligne, couper
+ chaque ligne \emph{avant} un opérateur de sorte que chaque ligne
+ constitue une expression mathématique complète (voir les troisième
+ et quatrième exemples du \autoref{tab:math:displays}).
+ \item Ne numéroter que les équations d'un document auxquelles le
+ texte fait référence.
+ \end{enumerate}}
+
+\begin{exemple}
+ Nous avons réalisé les deux suites d'équations au début de la
+ section avec les extraits de code ci-dessous, dans l'ordre.
+\begin{lstlisting}
+\begin{align}
+ y &= 2x + 4 \\
+ y &= 6x - 1
+\end{align}
+\end{lstlisting}
+\begin{lstlisting}
+\begin{align*}
+ x_{\text{max}}
+ &= \sum_{i = 0}^{m - 1} (b - 1) b^i \\
+ &= (b - 1) \sum_{i = 0}^{m - 1} b^i \\
+ &= b^m - 1.
+\end{align*}
+\end{lstlisting}
+ \qed
+\end{exemple}
+
+
+\section{Délimiteurs de taille variable}
+\label{sec:math:delimiteurs}
+
+Les délimiteurs en mathématiques sont des symboles généralement
+utilisés en paire tels que les parenthèses $(~)$, les crochets $[~]$
+ou les accolades $\{~\}$ et qui servent à regrouper des termes d'une
+équation. La taille des délimiteurs doit s'adapter au contenu entre
+ceux-ci afin d'obtenir, par exemple,
+\begin{equation*}
+ \left( 1 + \frac{1}{x} \right)
+\end{equation*}
+plutôt que la peu esthétique composition
+\begin{equation*}
+ (1 + \frac{1}{x}).
+\end{equation*}
+
+La paire de commandes
+\begin{lstlisting}
+\left`\meta{delim\_g}' ... \right`\meta{delim\_d}'
+\end{lstlisting}
+définit un délimiteur gauche \meta{delim\_g} et un délimiteur droit
+\meta{delim\_d} dont la taille s'ajustera automatiquement au contenu
+entre les deux commandes.
+\begin{demo}
+ \begin{texample}[0.55\linewidth]
+\begin{lstlisting}
+\left( 1 + \frac{1}{x} \right)
+\end{lstlisting}
+ \producing
+ \begin{equation*}
+ \left( 1 + \frac{1}{x} \right)
+ \end{equation*}
+ \end{texample}
+
+ \begin{texample}[0.55\linewidth]
+\begin{lstlisting}
+\left(
+ \sum_{i = 1}^n x_i^2
+\right)^{1/2}
+\end{lstlisting}
+ \producing
+ \begin{equation*}
+ \left(
+ \sum_{i = 1}^n x_i^2
+ \right)^{1/2}
+ \end{equation*}
+ \end{texample}
+\end{demo}
+Les commandes \cmd{\left} et \cmd{\right} doivent toujours former une
+paire, c'est-à-dire qu'à \emph{toute} commande \cmdprint{\left} doit
+absolument correspondre une commande \cmdprint{\right}. Cette
+contrainte est facile à oublier!
+
+\begin{itemize}
+\item Il est possible d'imbriquer des paires de commandes les unes à
+ l'intérieur des autres, pour autant que l'expression compte toujours
+ autant de \cmdprint{\left} que de \cmdprint{\right}.
+ \begin{demo}
+ \begin{texample}
+\begin{lstlisting}
+\left[
+ \int
+ \left(
+ 1 + \frac{x}{k}
+ \right) dx
+\right]
+\end{lstlisting}
+ \producing
+ \begin{equation*}
+ \left[
+ \int
+ \left(
+ 1 + \frac{x}{k}
+ \right) dx
+ \right]
+ \end{equation*}
+ \end{texample}
+ \end{demo}
+%
+\item Les symboles \meta{delim\_g} et \meta{delim\_d} n'ont pas à
+ former une paire logique; toute combinaison de délimiteurs est
+ valide.
+ \begin{demo}
+ \begin{texample}
+\begin{lstlisting}
+\int_0^1 x\, dx =
+\left[
+ \frac{x^2}{2}
+\right|_0^1
+\end{lstlisting}
+ \producing
+ \begin{equation*}
+ \int_0^1 x\, dx =
+ \left[
+ \frac{x^2}{2}
+ \right|_0^1
+ \end{equation*}
+ \end{texample}
+ \end{demo}
+%
+\item Il arrive qu'un seul délimiteur soit nécessaire. Pour respecter
+ la règle de la paire ci-dessus, on aura recours dans ce cas à un
+ délimiteur \emph{invisible} représenté par le caractère «\verb=.=».
+ \begin{demo}
+ \begin{texample}
+\begin{lstlisting}
+f(x) =
+\left\{
+ \begin{aligned}
+ 1 - x, &\quad x < 1 \\
+ x - 1, &\quad x \geq 1
+ \end{aligned}
+\right.
+\end{lstlisting}
+ \producing
+ \begin{equation*}
+ f(x) =
+ \left\{
+ \begin{aligned}
+ 1 - x, &\quad x < 1 \\
+ x - 1, &\quad x \geq 1
+ \end{aligned}
+ \right.
+ \end{equation*}
+ \end{texample}
+ \end{demo}
+ (L'environnement \Ie{aligned} utilisé ci-dessus provient de
+ \pkg{amsmath}.) On notera au passage que l'environnement \Ie{cases}
+ de \pkg{amsmath} rend plus simple la réalisation de constructions
+ comme celle ci-dessus.
+ \begin{demo}
+ \begin{texample}
+\begin{lstlisting}
+f(x) =
+\begin{cases}
+ 1 - x, & x < 1 \\
+ x - 1, & x \geq 1
+\end{cases}
+\end{lstlisting}
+ \producing
+ \begin{equation*}
+ f(x) =
+ \begin{cases}
+ 1 - x, & x < 1 \\
+ x - 1, & x \geq 1
+ \end{cases}
+ \end{equation*}
+ \end{texample}
+ \end{demo}
+%
+\item La règle de la paire est tout spécialement délicate dans les
+ équations sur plusieurs lignes car elle s'applique à chaque ligne
+ d'une équation. Par conséquent, si la paire de délimiteurs s'ouvre
+ sur une ligne et se referme sur une autre, il faudra ajouter un
+ délimiteur invisible à la fin de la première ligne ainsi qu'au début
+ de la seconde.
+ \begin{demo}
+ \begin{texample}
+\begin{lstlisting}
+\begin{align*}
+ a
+ &= \left(
+ b + \frac{c}{d}
+ \right. \\
+ &\phantom{=} \left.
+ + \frac{e}{d} - f
+ \right)
+\end{align*}
+\end{lstlisting}
+ \producing
+ \begin{align*}
+ a
+ &= \left(
+ b + \frac{c}{d}
+ \right. \\
+ &\phantom{=} \left.
+ + \frac{e}{d} - f
+ \right)
+ \end{align*}
+ \end{texample}
+ \end{demo}
+%
+\item Quand les choix de taille de délimiteurs de {\LaTeX} ne
+ conviennent pas pour une raison ou pour une autre, on peut
+ sélectionner leur taille avec les commandes %
+ \cmd{\big}, %
+ \cmd{\Big}, %
+ \cmd{\bigg} et %
+ \cmd{\Bigg}. %
+ Ces commandes s'utilisent comme \cmdprint{\left} et
+ \cmdprint{\right} en les faisant immédiatement suivre d'un
+ délimiteur. Le \autoref{tab:math:big_et_al} contient des exemples de
+ délimiteurs pour chaque taille.
+
+ \begin{table}
+ \centering
+ \caption{Tailles des délimiteurs mathématiques}
+ \label{tab:math:big_et_al}
+ \begin{tabular}{ll}
+ \toprule
+ taille standard & $(~) \quad [~] \quad \{~\}$ \\
+ \addlinespace[0.5\normalbaselineskip]
+ \cmd{\big} & $\big(~\big) \quad \big[~\big] \quad \big\{~\big\}$ \\
+ \addlinespace[0.5\normalbaselineskip]
+ \cmd{\Big} & $\Big(~\Big) \quad \Big[~\Big] \quad \Big\{~\Big\}$ \\
+ \addlinespace[0.5\normalbaselineskip]
+ \cmd{\bigg} & $\bigg(~\bigg) \quad \bigg[~\bigg] \quad \bigg\{~\bigg\}$ \\
+ \addlinespace[0.5\normalbaselineskip]
+ \cmd{\Bigg} & $\Bigg(~\Bigg) \quad \Bigg[~\Bigg] \quad \Bigg\{~\Bigg\}$ \\
+ \addlinespace[4pt]\bottomrule
+ \end{tabular}
+ \end{table}
+\end{itemize}
+
+La section~14 de la %
+\doc{amsldoc}{http://texdoc.net/pkg/amsmath} %
+de \pkg{amsmath} traite de divers enjeux typographiques en lien
+avec les délimiteurs et on y introduit des nouvelles commandes pour
+contrôler leur taille. C'est une lecture suggérée.
+
+\begin{exemple}
+ Le développement de la formule d'approximation de Simpson comporte
+ plusieurs des éléments discutés jusqu'à maintenant:
+ \begin{align*}
+ \int_a^b f(x)\, dx
+ &\approx \sum_{j = 0}^{n - 1}
+ \int_{x_{2j}}^{x_{2(j + 1)}} f(x)\, dx \\
+ &= \frac{h}{3} \sum_{j = 0}^{n - 1}
+ \left[
+ f(x_{2j}) + 4 f(x_{2j + 1}) + f(x_{2(j + 1)})
+ \right]
+ \displaybreak[0] \\
+ &= \frac{h}{3}
+ \left[
+ f(x_0) +
+ \sum_{j = 1}^{n - 1} f(x_{2j}) +
+ 4 \sum_{j = 0}^{n - 1} f(x_{2j + 1})
+ \right. \displaybreak[0] \\
+ &\phantom{=} + \left.
+ \sum_{j = 0}^{n - 2} f(x_{2(j + 1)}) +
+ f(x_{2n})
+ \right] \\
+ &= \frac{h}{3}
+ \left[
+ f(a) +
+ 2 \sum_{j = 1}^{n - 1} f(x_{2j}) +
+ 4 \sum_{j = 0}^{n - 1} f(x_{2j + 1}) +
+ f(b)
+ \right].
+ \end{align*}
+ On compose ce bloc d'équations avec le code source ci-dessous.
+\begin{lstlisting}
+\begin{align*}
+ \int_a^b f(x)\, dx
+ &\approx \sum_{j = 0}^{n - 1}
+ \int_{x_{2j}}^{x_{2(j + 1)}} f(x)\, dx \\
+ &= \frac{h}{3} \sum_{j = 0}^{n - 1}
+ \left[
+ f(x_{2j}) + 4 f(x_{2j + 1}) + f(x_{2(j + 1)})
+ \right] \\
+ &= \frac{h}{3}
+ \left[
+ f(x_0) +
+ \sum_{j = 1}^{n - 1} f(x_{2j}) +
+ 4 \sum_{j = 0}^{n - 1} f(x_{2j + 1})
+ \right. \\
+ &\phantom{=} + \left.
+ \sum_{j = 0}^{n - 2} f(x_{2(j + 1)}) +
+ f(x_{2n})
+ \right] \\
+ &= \frac{h}{3}
+ \left[
+ f(a) +
+ 2 \sum_{j = 1}^{n - 1} f(x_{2j}) +
+ 4 \sum_{j = 0}^{n - 1} f(x_{2j + 1}) +
+ f(b)
+ \right].
+\end{align*}
+\end{lstlisting}
+ \qed
+\end{exemple}
+
+\tipbox{De manière générale, il est déconseillé de scinder une suite
+ d'équations entre deux pages. Le chargement du paquetage
+ \pkg{amsmath} désactive d'ailleurs cette possibilité. Cependant,
+ c'est parfois inévitable pour les longs blocs d'équations.
+
+ La commande \cmd{\displaybreak}, placée immédiatement avant {\bs\bs}
+ dans un environnement comme \Ie{align} permet d'indiquer à {\LaTeX}
+ la possibilité d'insérer un saut de page après la ligne courante
+ dans le bloc d'équations.
+
+ La commande accepte en argument optionnel un entier entre $0$ et $4$
+ indiquant à quel point un saut de page est désiré:
+ \cmdprint{\displaybreak[0]} signifie «il est permis de changer de
+ page ici» sans que ce ne soit obligatoire;
+ \cmdprint{\displaybreak[4]} ou, de manière équivalente,
+ \cmdprint{\displaybreak} force un saut de page.
+
+ À moins d'en être vraiment aux toutes dernières étapes d'édition
+ d'un document, il est conseillé d'utiliser la commande
+ \cmdprint{\displaybreak} avec parcimonie et avec un argument
+ optionnel faible.}
+
+
+\section{Caractères gras en mathématiques}
+\label{sec:math:gras}
+
+Les caractères gras sont parfois utilisés en mathématiques,
+particulièrement pour représenter les vecteurs et les matrices:
+\begin{equation*}
+ \symbf{A} \symbf{x} = \symbf{b} \Leftrightarrow
+ \symbf{x} = \symbf{A}^{-1} \symbf{b}
+\end{equation*}
+
+Pourquoi consacrer une section spécialement à cette convention
+typographique? Parce que la création de symboles mathématiques en
+gras doit certainement figurer parmi les questions les plus
+fréquemment posées par les utilisateurs de {\LaTeX}\dots\ et que la
+réponse n'est pas unique!
+
+La commande
+\begin{lstlisting}
+\mathbf`\marg{symbole}'
+\end{lstlisting}
+place \meta{symbole} en caractère gras en mode mathématique. C'est
+donc l'analogue de la commande \cmd{\textbf} du mode texte. Dans
+{\LaTeX} de base, la commande n'a toutefois un effet que sur les
+lettres latines et, parfois, les lettres grecques majuscules.
+\begin{demo}
+ \begin{texample}[0.6\linewidth]
+\begin{lstlisting}
+\theta \mathbf{\theta} +
+\Gamma \mathbf{\Gamma} \mathbf{+}
+A \mathbf{A}
+\end{lstlisting}
+ \producing
+ %% ok, ici il faut vraiment tricher pour reproduire avec
+ %% unicode-math ce qui se produirait avec pdflatex standard
+ $\theta {\theta} + \Gamma \symbf{\Gamma} {+} A \symbfup{A}$
+ \end{texample}
+\end{demo}
+On remarquera aussi que \verb=\mathbf{A}= produit une lettre
+majuscule droite plutôt qu'en italique.
+
+La manière la plus standard et robuste d'obtenir des symboles
+mathématiques (autres que les lettres) en gras semble être, au moment
+d'écrire ces lignes, via la commande
+\begin{lstlisting}
+\bm`\marg{symbole}'
+\end{lstlisting}
+fournie par le paquetage \pkg{bm} \citep{bm}.
+\begin{demo}
+ \begin{texample}[0.6\linewidth]
+\begin{lstlisting}
+\theta \bm{\theta} +
+\Gamma \bm{\Gamma} \bm{+}
+A \bm{A}
+\end{lstlisting}
+ \producing
+ %% ok, ici il faut vraiment tricher pour reproduire avec
+ %% unicode-math ce qui se produirait avec pdflatex standard
+ $\theta \symbf{\theta} + \Gamma \symbfup{\Gamma} \symbf{+} A
+ \symbf{A}$
+ \end{texample}
+\end{demo}
+
+Les utilisateurs de {\XeLaTeX} chargent normalement le paquetage
+\pkg{unicode-math} \citep{unicode-math} pour sélectionner la police
+pour les mathématiques. Ce paquetage fournit la commande
+\begin{lstlisting}
+\symbf`\marg{symbole}'
+\end{lstlisting}
+pour placer un \meta{symbole} mathématique en gras. Le paquetage offre
+différentes combinaisons de lettres latines et grecques droites ou
+italiques en gras selon la valeur de l'option \code{bold-style};
+consulter la section~5 de la %
+\doc{unicode-math}{http://texdoc.net/pkg/unicode-math}. %
+\begin{demo}
+ \begin{texample}[0.6\linewidth]
+\begin{lstlisting}
+% XeLaTeX + paquetage unicode-math
+% avec l'option bold-style=ISO
+\theta \symbf{\theta} +
+\Gamma \symbf{\Gamma} \symbf{+}
+A \symbf{A}
+\end{lstlisting}
+ \producing
+ $\theta \symbf{\theta} + \Gamma \symbf{\Gamma} \symbf{+} A
+ \symbf{A}$
+ \end{texample}
+\end{demo}
+
+Si le gras est fréquemment utilisé dans un document pour une notation
+particulière, il est fortement recommandé de définir une nouvelle
+commande\footnote{%
+ La définition de nouvelles commandes est couvert plus en détail au
+ \autoref{chap:commandes}.} sémantique plutôt que d'utiliser à
+répétition l'une ou l'autre des commandes ci-dessus. Par exemple, si
+le gras est utilisé pour les vecteurs et matrices, on pourrait définir
+une nouvelle commande \cmdprint{\mat} en insérant dans le préambule du
+document
+\begin{lstlisting}
+\newcommand[1]{\mat}{\bm{#1}}
+\end{lstlisting}
+
+\begin{exemple}
+ \label{ex:math:matrices}
+ Le paquetage \pkg{amsmath} fournit quelques environnements qui
+ facilitent la mise en forme de matrices; ils diffèrent simplement
+ par le type de délimiteur autour de la matrice.
+
+ Considérer le bloc d'équations suivant:
+ \begin{align*}
+ \mat{J}(\mat{\theta})
+ &=
+ \begin{bmatrix}
+ \dfrac{\partial f_1(\mat{\theta})}{\partial \theta_1} &
+ \dfrac{\partial f_1(\mat{\theta})}{\partial \theta_2} \\[12pt]
+ \dfrac{\partial f_2(\mat{\theta})}{\partial \theta_1} &
+ \dfrac{\partial f_2(\mat{\theta})}{\partial \theta_2}
+ \end{bmatrix} \\
+ &=
+ \left[
+ \frac{\partial f_i(\mat{\theta})}{\partial \theta_j}
+ \right]_{2 \times 2}, \quad i, j = 1, 2.
+ \end{align*}
+ Le code pour composer ces équations est:
+\begin{lstlisting}
+\begin{align*}
+ \mat{J}(\mat{\theta})
+ &=
+ \begin{bmatrix}
+ \dfrac{\partial f_1(\mat{\theta})}{\partial \theta_1} &
+ \dfrac{\partial f_1(\mat{\theta})}{\partial \theta_2}
+ \\[12pt] % augmenter l'espace entre les lignes
+ \dfrac{\partial f_2(\mat{\theta})}{\partial \theta_1} &
+ \dfrac{\partial f_2(\mat{\theta})}{\partial \theta_2}
+ \end{bmatrix} \\
+ &=
+ \left[
+ \frac{\partial f_i(\mat{\theta})}{\partial \theta_j}
+ \right]_{2 \times 2}, \quad i, j = 1, 2.
+\end{align*}
+\end{lstlisting}
+ On remarquera l'utilisation de la commande \cmd{\dfrac}
+ (\autoref{sec:math:bases:fractions}) pour composer des grandes
+ fractions à l'intérieur des matrices. Nous avons également eu
+ recours à la commande \cmdprint{\mat} ci-dessus. %
+ \qed
+\end{exemple}
+
+
+\notebox{Le paquetage \pkg{unicode-math} offre l'option \code{ISO}
+ pour le traitement du gras dans les mathématiques. En fait, c'est
+ toute la composition des mathématiques qui fait l'objet d'un
+ standard ISO!
+
+ Plusieurs prescriptions du standard --- comme les noms de variables
+ en italique --- sont déjà prises en compte par {\LaTeX}. Le respect
+ de certaines autres règles est moins répandu, notamment celle qui
+ veut que les constantes mathématiques dont la valeur de change pas
+ (ce sont des constantes, après tout) soient représentées en police
+ droite. On pense, par exemple, au nombre d'Euler $\mathrm{e}$, au
+ nombre imaginaire $\mathrm{i} = \sqrt{-1}$. Même chose pour les
+ opérateurs mathématiques, dont le $\mathrm{d}$ dans les dérivées et
+ les intégrales.
+
+ Voici un exemple d'intégrale composée avec ces règles:
+ \begin{equation*}
+ \int_C \frac{\mathrm{e}^z}{z}\, \mathrm{d}z = 2 \pi \mathrm{i}.
+ \end{equation*}
+ Pour en savoir plus sur l'utilisation du standard ISO dans {\LaTeX},
+ consulter \citet{Beccari:ISO} ou, pour un sommaire rapide, l'%
+ \link{https://nickhigham.wordpress.com/2016/01/28/typesetting-mathematics-according-to-the-iso-standard/}{entrée de blogue} %
+ de Nick Higham.}
+
+
+%%%
+%%% Exercices
+%%%
+
+\section{Exercices}
+\label{sec:math:exercices}
+
+\Opensolutionfile{solutions}[solutions-mathematiques]
+
+\begin{Filesave}{solutions}
+\section*{Chapitre \ref*{chap:math}}
+\addcontentsline{toc}{section}{Chapitre \protect\ref*{chap:math}}
+
+\end{Filesave}
+
+\begin{exercice}
+ Utiliser le gabarit de document \fichier{exercice\_gabarit.tex} pour
+ reproduire le texte suivant:
+ \begin{quote}
+ La dérivée de la fonction composée $f \circ g(x) = f[g(x)]$ est
+ $\{f[g(x)]\}^\prime = f^\prime[g(x)] g^\prime(x)$. La dérivée
+ seconde du produit des fonctions $f$ et $g$ est
+ \begin{equation*}
+ [f(x) g(x)]^{\prime\prime} =
+ f^{\prime\prime}(x) g(x) + 2 f^\prime(x) g^\prime(x) +
+ f(x) g^{\prime\prime}(x).
+ \end{equation*}
+ \end{quote}
+ \begin{sol}
+ On trouve la commande pour produire le symbole $\circ$ dans le
+ \autoref{tab:math:binaires}. On peut produire les symboles de
+ dérivée $\prime$ avec la commande \cmd{\prime}
+ (\autoref{tab:math:autres}) ou simplement avec le caractère
+ \verb='=.
+\begin{lstlisting}
+La dérivée de la fonction composée $f \circ g(x) =
+f[g(x)]$ est $\{f[g(x)]\}^\prime = f^\prime[g(x)]
+g^\prime(x)$. La dérivée seconde du produit des
+fonctions $f$ et $g$ est
+\begin{equation*}
+ [f(x) g(x)]^{\prime\prime} =
+ f^{\prime\prime}(x) g(x) + 2 f^\prime(x) g^\prime(x) +
+ f(x) g^{\prime\prime}(x).
+\end{equation*}
+\end{lstlisting}
+ \end{sol}
+\end{exercice}
+
+\begin{exercice}
+ Composer l'équation suivante avec l'environnement \Pe{align*}:
+ \begin{align*}
+ f(x +& h, y + k)
+ = f(x, y) +
+ \left\{
+ \frac{\partial f(x, y)}{\partial x} h +
+ \frac{\partial f(x, y)}{\partial y} k
+ \right\} \\
+ &+
+ \frac{1}{2}
+ \left\{
+ \frac{\partial^2 f(x, y)}{\partial x^2} h^2 +
+ \frac{\partial^2 f(x, y)}{\partial x \partial y} kh +
+ \frac{\partial^2 f(x, y)}{\partial y^2} k^2
+ \right\} \\
+ &+
+ \frac{1}{6} \{\cdots\} + \dots + \frac{1}{n!} \{\cdots\} + R_n.
+ \end{align*}
+ Aligner les deuxième et troisième lignes de l'équation sur divers
+ caractères de la première ligne afin que l'équation ne dépasse pas
+ les marges du document.
+ \begin{sol}
+ Nous avons aligné les lignes de l'équation juste à droite du
+ premier symbole $+$ à la première ligne. Remarquer l'usage des
+ commandes \cmd{\cdots} et \cmd{\dots} dans la dernière ligne:
+ {\LaTeX} choisit correctement la position centrée des points entre les
+ opérateurs d'addition, mais pas entre les accolades.
+\begin{lstlisting}
+\begin{align*}
+ f(x +& h, y + k) = f(x, y) +
+ \left\{
+ \frac{\partial f(x,y)}{\partial x} h +
+ \frac{\partial f(x,y)}{\partial y} k
+ \right\} \\
+ &+
+ \frac{1}{2}
+ \left\{
+ \frac{\partial^2 f(x,y)}{\partial x^2} h^2 +
+ \frac{\partial^2 f(x,y)}{\partial x \partial y} kh +
+ \frac{\partial^2 f(x,y)}{\partial y^2} k^2
+ \right\} \\
+ &+
+ \frac{1}{6} \{\cdots\} + \dots +
+ \frac{1}{n!} \{\cdots\} + R_n.
+\end{align*}
+\end{lstlisting}
+ \end{sol}
+\end{exercice}
+
+\begin{exercice}
+ Composer à l'aide de l'environnement \Ie{cases}
+ (\autoref{sec:math:delimiteurs}) la définition de la fonction
+ $\tilde{f}(x)$:
+ \begin{equation*}
+ \tilde{f}(x) =
+ \begin{cases}
+ 0, & x \leq c_0\\
+ \dfrac{F_n(c_j) - F_n(c_{j-1})}{c_j - c_{j-1}} =
+ \dfrac{n_j}{n (c_j - c_{j - 1})}, & c_{j-1} < x \leq c_j\\
+ 0, & x > c_r.
+ \end{cases}
+ \end{equation*}
+ Il est nécessaire d'imposer la taille des fractions dans la seconde
+ branche de la définition à l'aide des fonctions de la
+ \autoref{sec:math:bases:fractions}.
+ \begin{sol}
+ Il faut utiliser \cmd{\dfrac} pour obtenir des fractions dans une
+ branche de \Pe{cases} de la même taille que dans une équation hors
+ paragraphe:
+\begin{lstlisting}
+\begin{equation*}
+ \tilde{f}(x) =
+ \begin{cases}
+ 0, & x \leq c_0\\
+ \dfrac{F_n(c_j) - F_n(c_{j-1})}{c_j - c_{j-1}} =
+ \dfrac{n_j}{n (c_j - c_{j - 1})}, &
+ c_{j-1} < x \leq c_j \\
+ 0, & x > c_r.
+ \end{cases}
+\end{equation*}
+\end{lstlisting}
+ \end{sol}
+\end{exercice}
+
+\begin{exercice}[nosol]
+ Le fichier \fichier{exercice\_mathematiques.tex} contient un exemple
+ complet de développement mathématique. Étudier le contenu du fichier
+ puis compiler celui-ci tel quel avec {pdf\LaTeX} ou {\XeLaTeX}.
+ Effectuer ensuite les modifications suivantes.
+ \begin{enumerate}
+ \item Charger le paquetage \pkg{amsfonts} dans le préambule, puis
+ remplacer \verb=$R^+$= par \verb=$\mathbb{R}^+$= à la ligne
+ débutant par «Le domaine».
+ \item Dans l'équation du Jacobien de la transformation, remplacer
+ successivement l'environnement \Ie{vmatrix} par %
+ \Ie{pmatrix}, %
+ \Ie{bmatrix}, %
+ \Ie{Bmatrix} et %
+ \Ie{Vmatrix}. Observer l'effet sur les délimiteurs de la matrice.
+ \item Toujours dans la même matrice, composer successivement les
+ deux fractions avec les commandes \cmd{\frac}, \cmd{\tfrac} et
+ \cmd{\dfrac}. Observer le résultat.
+ \item Réduire l'espacement de part et d'autre du symbole
+ $\Leftrightarrow$ dans la seconde équation hors paragraphe.
+ \item À l'aide de la fonction Rechercher et remplacer de l'éditeur
+ de texte, remplacer toutes les occurrences du symbole $\theta$ par
+ $\lambda$.
+ \end{enumerate}
+\end{exercice}
+
+\Closesolutionfile{solutions}
+
+%%% Local Variables:
+%%% mode: latex
+%%% TeX-master: "formation-latex-ul"
+%%% TeX-engine: xetex
+%%% coding: utf-8
+%%% End:
diff --git a/info/formation-latex-ul/source/notices-diapos.tex b/info/formation-latex-ul/source/notices-diapos.tex
new file mode 100644
index 0000000000..b9920b0165
--- /dev/null
+++ b/info/formation-latex-ul/source/notices-diapos.tex
@@ -0,0 +1,76 @@
+%%% Copyright (C) 2019 Vincent Goulet
+%%%
+%%% Ce fichier fait partie du projet
+%%% «Rédaction avec LaTeX»
+%%% https://gitlab.com/vigou3/formation-latex-ul
+%%%
+%%% Cette création est mise à disposition sous licence
+%%% Attribution-Partage dans les mêmes conditions 4.0
+%%% International de Creative Commons.
+%%% https://creativecommons.org/licenses/by-sa/4.0/
+
+\begin{frame}[t,plain,fragile=singleslide]
+ \tiny
+ \vspace*{10mm}
+
+ \begin{adjustwidth}{10mm}{10mm}
+ \raisebox{-1.4mm}{\includegraphics[height=4mm,keepaspectratio=true]{images/by-sa}} %
+ Vincent Goulet, {\year}
+
+ {\textcopyright} {\year} par Vincent Goulet. «Rédaction avec
+ {\LaTeX} --- Premiers pas» est mis à disposition sous licence
+ \href{https://creativecommons.org/licenses/by-sa/4.0/deed.fr}{%
+ Attribution-Partage dans les mêmes conditions 4.0 International}
+ de Creative Commons. En vertu de cette licence, vous êtes autorisé
+ à:
+ \begin{itemize}
+ \item \textbf{partager} --- copier, distribuer et communiquer le
+ matériel par tous moyens et sous tous formats;
+ \item \textbf{adapter} --- remixer, transformer et créer à partir du
+ matériel pour toute utilisation, y compris commerciale.
+ \end{itemize}
+ L'Offrant ne peut retirer les autorisations concédées par la licence
+ tant que vous appliquez les termes de cette licence.
+
+ Selon les conditions suivantes: \par
+ \begin{tabularx}{\linewidth}{@{}lX@{}}
+ \raisebox{-5.5mm}[0mm][10mm]{\includegraphics[height=7mm,keepaspectratio=true]{images/by}}
+ & \textbf{Attribution} --- Vous devez créditer l'œuvre, intégrer
+ un lien vers la licence et indiquer si des modifications ont été
+ effectuées à l'œuvre. Vous devez indiquer ces informations par
+ tous les moyens raisonnables, sans toutefois suggérer que
+ l'Offrant vous soutient ou soutient la façon dont vous avez utilisé
+ son œuvre. \\
+ \raisebox{-5.5mm}{\includegraphics[height=7mm,keepaspectratio=true]{images/sa}}
+ & \textbf{Partage dans les mêmes conditions} --- Dans le cas où vous
+ effectuez un remix, que vous transformez, ou créez à partir du
+ matériel composant l'œuvre originale, vous devez diffuser l'œuvre modifiée dans
+ les mêmes conditions, c'est-à-dire avec la même licence avec laquelle
+ l'œuvre originale a été diffusée.
+ \end{tabularx}
+
+ \textbf{Code source} \\
+ \viewsource{\reposurl}
+
+ \textbf{Couverture} \\
+ Suricate (\emph{Suricata suricatta}), parfois surnommé «sentinelle
+ du désert» (ici un spécimen du zoo de Newquay, en Cornouailles).
+ Ce petit carnivore vit dans le sud-ouest de l'Afrique. Très
+ prolifique, le suricate vit en grands groupes familiaux au sein
+ d'une colonie.
+
+ Crédit photo: {\textcopyright} Francis C.~Franklin
+ \href{https://creativecommons.org/licenses/by-sa/3.0/deed.fr}{CC
+ BY-SA 3.0} via
+ \href{https://commons.wikimedia.org/w/index.php?curid=31209438}{%
+ Wikimedia Commons}.
+
+ Concept original du titre: Marie-Ève Guérard.
+ \end{adjustwidth}
+\end{frame}
+
+%%% Local Variables:
+%%% TeX-master: "formation-latex-ul-diapos"
+%%% TeX-engine: xetex
+%%% coding: utf-8
+%%% End:
diff --git a/info/formation-latex-ul/source/notices.tex b/info/formation-latex-ul/source/notices.tex
new file mode 100644
index 0000000000..195c767f13
--- /dev/null
+++ b/info/formation-latex-ul/source/notices.tex
@@ -0,0 +1,77 @@
+%%% Copyright (C) 2019 Vincent Goulet
+%%%
+%%% Ce fichier fait partie du projet
+%%% «Rédaction avec LaTeX»
+%%% https://gitlab.com/vigou3/formation-latex-ul
+%%%
+%%% Cette création est mise à disposition sous licence
+%%% Attribution-Partage dans les mêmes conditions 4.0
+%%% International de Creative Commons.
+%%% https://creativecommons.org/licenses/by-sa/4.0/
+
+\begingroup
+\calccentering{\unitlength}
+\begin{adjustwidth*}{\unitlength}{-\unitlength}
+ \setlength{\parindent}{0pt}
+ \setlength{\parskip}{\baselineskip}
+
+ \raisebox{-2.5mm}{\includegraphics[height=7mm,keepaspectratio=true]{images/by-sa}} %
+ {\theauthor}, {\year}
+
+ {\textcopyright} {\year} par {\theauthor}. «\thetitle» est mis à
+ disposition sous licence
+ \href{https://creativecommons.org/licenses/by-sa/4.0/deed.fr}{%
+ Attribution-Partage dans les mêmes conditions 4.0 International}
+ de Creative Commons. En vertu de cette licence, vous êtes autorisé
+ à:
+ \begin{itemize}
+ \item \textbf{partager} --- copier, distribuer et communiquer le
+ matériel par tous moyens et sous tous formats;
+ \item \textbf{adapter} --- remixer, transformer et créer à partir du
+ matériel pour toute utilisation, y compris commerciale.
+ \end{itemize}
+ L'Offrant ne peut retirer les autorisations concédées par la licence
+ tant que vous appliquez les termes de cette licence.
+
+ Selon les conditions suivantes: \par
+ \begin{tabularx}{\linewidth}{@{}lX@{}}
+ \raisebox{-9mm}[0mm][13mm]{\includegraphics[height=11mm,keepaspectratio=true]{images/by}}
+ & \textbf{Attribution} --- Vous devez créditer l'œuvre, intégrer
+ un lien vers la licence et indiquer si des modifications ont été
+ effectuées à l'œuvre. Vous devez indiquer ces informations par
+ tous les moyens raisonnables, sans toutefois suggérer que
+ l'Offrant vous soutient ou soutient la façon dont vous avez utilisé
+ son œuvre. \\
+ \raisebox{-9mm}{\includegraphics[height=11mm,keepaspectratio=true]{images/sa}}
+ & \textbf{Partage dans les mêmes conditions} --- Dans le cas où vous
+ effectuez un remix, que vous transformez, ou créez à partir du
+ matériel composant l'œuvre originale, vous devez diffuser l'œuvre modifiée dans
+ les mêmes conditions, c'est-à-dire avec la même licence avec laquelle
+ l'œuvre originale a été diffusée.
+ \end{tabularx}
+
+ \textbf{Code source} \\
+ \viewsource{\reposurl}
+
+ \textbf{Couverture} \\
+ Suricate (\emph{Suricata suricatta}), parfois surnommé «sentinelle
+ du désert» (ici un spécimen du zoo de Newquay, en Cornouailles). Ce
+ petit carnivore vit dans le sud-ouest de l'Afrique. Très prolifique,
+ le suricate vit en grands groupes familiaux au sein d'une colonie.
+
+ Crédit photo: {\textcopyright} Francis C.~Franklin
+ \href{https://creativecommons.org/licenses/by-sa/3.0/deed.fr}{CC
+ BY-SA 3.0} via
+ \href{https://commons.wikimedia.org/w/index.php?curid=31209438}{%
+ Wikimedia Commons}.
+
+ Concept original du titre: Marie-Ève Guérard.
+\end{adjustwidth*}
+\endgroup
+
+%%% Local Variables:
+%%% mode: latex
+%%% TeX-master: "formation-latex-ul"
+%%% TeX-engine: xetex
+%%% coding: utf-8
+%%% End:
diff --git a/info/formation-latex-ul/source/organisation-diapos.tex b/info/formation-latex-ul/source/organisation-diapos.tex
new file mode 100644
index 0000000000..e798d71efb
--- /dev/null
+++ b/info/formation-latex-ul/source/organisation-diapos.tex
@@ -0,0 +1,154 @@
+%%% Copyright (C) 2018 Vincent Goulet
+%%%
+%%% Ce fichier fait partie du projet
+%%% «Rédaction avec LaTeX»
+%%% https://gitlab.com/vigou3/formation-latex-ul
+%%%
+%%% Cette création est mise à disposition sous licence
+%%% Attribution-Partage dans les mêmes conditions 4.0
+%%% International de Creative Commons.
+%%% https://creativecommons.org/licenses/by-sa/4.0/
+
+\section{Organisation d'un document}
+
+\begin{conseil}
+ Utilisez impérativement les commandes {\LaTeX} pour identifier les
+ différentes parties (la structure) d'un document.
+\end{conseil}
+
+\subsection{Parties d'un document}
+
+\begin{frame}[fragile]
+ \frametitle{Titre et page de titre}
+ {\LaTeX} peut composer une page de titre automatiquement à partir
+ des informations pertinentes.
+
+ \begin{lstlisting}
+%% préambule
+\title{`\meta{Titre du document}'}
+\author{`\meta{Prénom Nom}'}
+\date{`\meta{31 octobre 2014}'} % automatique si omis
+
+%% corps du document
+\maketitle
+ \end{lstlisting}
+\end{frame}
+
+\begin{frame}[fragile=singleslide]
+ \frametitle{Sections}
+ \begin{itemize}
+ \item Découpage du document en sections
+\begin{lstlisting}
+\part{`\meta{titre}'}
+\chapter{`\meta{titre}'}
+\section{`\meta{titre}'}
+\subsection{`\meta{titre}'}
+\end{lstlisting}
+ \item Numérotation automatique
+ \begin{demo}
+ \begin{minipage}{0.45\linewidth}
+\begin{lstlisting}
+\section{Hypothèses}
+\end{lstlisting}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{0.45\linewidth}
+ \includegraphics[height=0.8\baselineskip,keepaspectratio]{images/section-num}
+ \end{minipage}
+ \end{demo}
+ \item Sans la numérotation
+ \begin{demo}
+ \begin{minipage}{0.45\linewidth}
+\begin{lstlisting}
+\section*{Hypothèses}
+\end{lstlisting}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{0.45\linewidth}
+ \includegraphics[height=0.8\baselineskip,keepaspectratio]{images/section-non-num}
+ \end{minipage}
+ \end{demo}
+ \end{itemize}
+\end{frame}
+
+\begin{frame}[fragile=singleslide]
+ \frametitle{Annexes}
+
+ Les annexes sont des sections ou des chapitres avec une numérotation
+ alphanumérique (A, A.1, ...)
+ \begin{itemize}
+ \item \cs{appendix} identifie les sections suivantes comme des annexes
+ \item Dans le titre, «Chapitre» changé pour «Annexe» le cas échéant
+ \end{itemize}
+\end{frame}
+
+\begin{frame}[fragile=singleslide]
+ \frametitle{Table des matières}
+
+ La commande \cs{tableofcontents} produit automatiquement la table
+ des matières.
+
+ \begin{itemize}
+ \item Requiert plusieurs compilations
+ \item Sections non numérotées pas incluses
+ \item Avec \pkg{hyperref}, produit également la table des
+ matières du fichier PDF
+ \end{itemize}
+\end{frame}
+
+\subsection{Renvois automatiques}
+
+\begin{frame}
+ \frametitle{Étiquettes et renvois automatiques}
+
+ Ne \alert{jamais} renvoyer manuellement à un numéro de section,
+ d'équation, de tableau, etc.
+
+ \begin{itemize}
+ \item «Nommer» un élément avec \cs{label}
+ \item Faire référence par son nom avec \cs{ref}
+ \item Requiert 2 à 3 compilations
+ \end{itemize}
+\end{frame}
+
+\begin{frame}[fragile=singleslide]
+ \frametitle{Exemple (code source)}
+
+ \begin{lstlisting}[emph={\label,\ref}]
+\section{Définitions}
+\label{sec:definitions}
+
+Lorem ipsum dolor sit amet, consectetur
+adipiscing elit. Duis in auctor dui. Vestibulum
+ut, placerat ac, adipiscing vitae, felis.
+
+\section{Historique}
+
+Tel que vu à la section \ref{sec:definitions},
+on a...
+\end{lstlisting}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Exemple (résultat)}
+
+ \fbox{\includegraphics[viewport=124 550 484 664,clip=true,width=0.98\linewidth]{auxdoc/exemple-renvoi}}
+\end{frame}
+
+\subsection{[~Exercice~]}
+
+\begin{exercice}
+ Utiliser le fichier \fichier{exercice\_renvois.tex}.
+ \begin{enumerate}
+ \item Insérer dans le texte un renvoi au numéro d'une section.
+ \item Activer le paquetage \pkg{hyperref} avec l'option
+ \texttt{colorlinks} et comparer l'effet d'utiliser \cs{ref} ou
+ \cs{autoref} pour le renvoi.
+ \end{enumerate}
+\end{exercice}
+
+%%% Local Variables:
+%%% TeX-master: "formation-latex-ul-diapos"
+%%% TeX-engine: xetex
+%%% coding: utf-8
+%%% End:
diff --git a/info/formation-latex-ul/source/organisation.tex b/info/formation-latex-ul/source/organisation.tex
new file mode 100644
index 0000000000..a62f2693ed
--- /dev/null
+++ b/info/formation-latex-ul/source/organisation.tex
@@ -0,0 +1,982 @@
+%%% Copyright (C) 2018 Vincent Goulet
+%%%
+%%% Ce fichier fait partie du projet
+%%% «Rédaction avec LaTeX»
+%%% https://gitlab.com/vigou3/formation-latex-ul
+%%%
+%%% Cette création est mise à disposition sous licence
+%%% Attribution-Partage dans les mêmes conditions 4.0
+%%% International de Creative Commons.
+%%% https://creativecommons.org/licenses/by-sa/4.0/
+
+\chapter{Organisation d'un document}
+\label{chap:organisation}
+
+La maitrise des notions du chapitre précédent permet déjà de composer
+un document simple avec {\LaTeX}. Toutefois, la puissance du système
+de mise en page se manifeste vraiment lors de la préparation de
+documents élaborés comportant plusieurs divisions internes, une table
+des matières, des renvois, etc. Le présent chapitre aborde ces aspects
+d'organisation d'un document.
+
+\section{Choix d'une classe}
+\label{sec:organisation:classe}
+
+La toute première chose à faire au moment de se lancer dans la
+rédaction d'un document avec {\LaTeX} consiste normalement à choisir
+une classe. Nous avons déjà expliqué à la \autoref{sec:bases:classes}
+comment spécifier la classe à utiliser. Cette section présente les
+différences entre les classes ainsi que les principales options
+disponibles.
+
+Les classes standards sont \class{article}, \class{report},
+\class{book}, \class{letter} et \class{slides}.
+
+\begin{description}
+\item[\normalfont\class{article}] Articles scientifiques et autres
+ documents de longueur modérée ne nécessitant pas une mise en page
+ élaborée. Le folio (numéro de page) est placé au centre du pied de
+ page. Le titre apparait dans le haut de la première page,
+ immédiatement suivi du texte.
+\item[\normalfont\class{report}] Rapports et autres documents plus
+ longs pouvant être divisés en chapitres. Le titre apparait sur une
+ page de titre. La mise en page est autrement identique à celle de la
+ classe \class{article}.
+\item[\normalfont\class{book}] Longs documents divisés en chapitres.
+ La mise en page est conçue pour une impression recto verso. L'entête
+ de la page (autre que la première du chapitre) contient le folio sur
+ le bord extérieur et le titre de chapitre (page paire) ou le titre
+ de section (page impaire). Le titre apparait sur une page de titre.
+\item[\normalfont\class{letter}] Lettres et correspondance. Bien que
+ puissante, cette classe est plus rarement utilisée. Nous n'en traitons
+ pas davantage dans ce document.
+\item[\normalfont\class{slides}] Diapositives simples pour des
+ présentations. La \autoref{sec:trucs:diapositives} traite plus en
+ détail de la production de diapositives.
+\end{description}
+
+On trouvera un sommaire des principales caractéristiques des classes
+\class{article}, \class{report} et \class{book} dans le
+\autoref{tab:organisation:classes}. De plus, les figures
+\ref{fig:organisation:classes:article}--\ref{fig:organisation:classes:book}
+fournissent des exemples de mise en page pour ces trois classes.
+
+\begin{table}
+ \caption{Caractéristiques des principales classes standards}
+ \label{tab:organisation:classes}
+ \begin{tabularx}{1.0\linewidth}{XXXXX}
+ \toprule
+ Classe & Divisions & Disposition & Entête & Pied de page \\
+ \midrule
+ \class{article} & parties,\newline sections, \dots
+ & recto & vide & folio centré \\
+ \addlinespace[6pt]
+ \class{report} & parties,\newline chapitres,\newline sections, \dots
+ & recto & vide & folio centré \\
+ \addlinespace[6pt]
+ \class{book} & parties,\newline chapitres,\newline sections, \dots
+ & recto verso & folio, titres & vide \\
+ \bottomrule
+ \end{tabularx}
+\end{table}
+
+\begin{figure}
+ \begin{minipage}{0.49\linewidth}
+ \fbox{\includegraphics[page=1,width=0.95\linewidth]{auxdoc/exemple-classe-article}}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{0.49\linewidth}
+ \fbox{\includegraphics[page=2,width=0.95\linewidth]{auxdoc/exemple-classe-article}}
+ \end{minipage}
+ \caption{Exemple de mise en page avec la classe \class{article}}
+ \label{fig:organisation:classes:article}
+\end{figure}
+
+\begin{figure}
+ \begin{minipage}{0.49\linewidth}
+ \fbox{\includegraphics[page=1,width=0.95\linewidth]{auxdoc/exemple-classe-report}}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{0.49\linewidth}
+ \fbox{\includegraphics[page=2,width=0.95\linewidth]{auxdoc/exemple-classe-report}}
+ \end{minipage}
+ \caption{Exemple de mise en page avec la classe \class{report}}
+ \label{fig:organisation:classes:report}
+\end{figure}
+
+\begin{figure}
+ \begin{minipage}{0.49\linewidth}
+ \fbox{\includegraphics[page=1,width=0.95\linewidth]{auxdoc/exemple-classe-book}}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{0.49\linewidth}
+ \fbox{\includegraphics[page=2,width=0.95\linewidth]{auxdoc/exemple-classe-book}}
+ \end{minipage}
+ \caption{Exemple de mise en page avec la classe \class{book}}
+ \label{fig:organisation:classes:book}
+\end{figure}
+
+Cet ouvrage fait une large place à la classe \class{memoir}
+\citep{memoir}, une extension de la classe standard \class{book} qui
+facilite à plusieurs égards la préparation de documents d'allure
+professionnelle dans {\LaTeX}. Nous recommandons d'utiliser cette
+classe en lieu et place de la classe \class{book}, ou même de la
+classe \class{article} (voir ci-dessous).
+
+La classe \class{memoir} incorpore d'office plus de 30 des paquetages
+les plus populaires\footnote{%
+ Consulter la section~18.24 de la documentation de \class{memoir}
+ pour la liste ou encore le journal de la compilation (\emph{log})
+ d'un document utilisant la classe.}. %
+La classe fait partie des distributions {\LaTeX} modernes; elle
+devrait être installée et disponible sur tout système. Elle est livrée
+avec une %
+\doc{memoir}{http://texdoc.net/pkg/memoir} %
+exhaustive: le manuel d'instructions fait près de 600~pages! Il peut
+être utile de s'y référer de temps à autre pour réaliser une mise en
+page particulière.
+
+Les auteurs de thèses et de mémoires déposés à l'Université Laval
+doivent utiliser la classe \class{ulthese}; voir l'\autoref{chap:ulthese}.
+
+On rappelle que l'on charge une classe de document au début du
+préambule avec la commande
+\begin{lstlisting}
+\documentclass`\oarg{options}\marg{classe}'
+\end{lstlisting}
+Les \meta{options} disponibles varient d'une classe à l'autre. Les
+plus courantes sont les suivantes.
+\begin{description}
+\item[\mdseries \code{10pt}, \code{11pt}, \code{12pt}] Taille de la
+ police du document en points. La valeur par défaut est \code{10pt}.
+ Nous recommandons d'utiliser plutôt \code{11pt}. C'est la taille par
+ défaut avec la classe \class{ulthese}.
+\item[\mdseries \code{oneside}, \code{twoside}] Disposition du
+ document en recto seulement ou en recto verso. Ces options ne sont
+ utiles que pour modifier la disposition par défaut de la classe. Les
+ thèses et mémoires de l'Université Laval sont produits en recto
+ seulement.
+\item[\mdseries \code{openright}, \code{openany}] Position de la
+ première page des chapitres toujours à droite (page impaire) ou
+ immédiatement après la dernière page du chapitre précédent. Avec la
+ valeur par défaut, \code{openany}, {\LaTeX} insérera une page
+ blanche dans le document si un chapitre se termine sur une page
+ impaire.
+\item[\mdseries \code{article} (classe \class{memoir} seulement)] Mise
+ en page comme celle d'un article. Avec cette option, \class{memoir}
+ peut remplacer la classe \class{article}, ce qui permet d'utiliser
+ une seule et même classe pour les deux principaux types de document
+ (article et livre).
+\end{description}
+
+D'autres options permettent de contrôler la position du titre, la
+disposition en une ou deux colonnes, ou encore la position des
+équations hors paragraphe. \citet{Thurnherr:class-options} offre une
+présentation succincte des options standards. Le chapitre~1 de la %
+\doc{memoir}{http://texdoc.net/pkg/memoir} %
+de \class{memoir} traite en plus des ajouts propres à cette classe.
+
+
+
+\section{Parties d'un document}
+
+Tout document de plus de quelques pages est normalement divisé en
+chapitres, sections, sous-sections, etc. Il peut comporter une ou
+plusieurs annexes et débuter par un résumé, notamment s'il s'agit d'un
+article scientifique. Le document est habituellement coiffé d'un
+titre, mais celui-ci est parfois affiché sur une page de titre
+séparée.
+
+Toutes ces considérations relevant essentiellement de la mise en page,
+{\LaTeX} s'en charge pour nous. L'auteur n'a qu'à spécifier la
+strucure logique du document à l'aide des commandes de la présente
+section.
+
+\subsection{Titre et page de titre}
+\label{sec:organisation:parties:titre}
+
+{\LaTeX} rend très simple la composition du titre d'un article
+scientifique ou d'une page de titre simple (classes \class{report},
+\class{book}, \class{memoir}). En premier lieu, on spécifie,
+habituellement dans le préambule, le titre du document, le nom du ou
+des auteurs et la date de publication avec les commandes suivantes:
+\begin{lstlisting}
+\title`\marg{Titre du document}'
+\author`\marg{Prénom Nom {\bs\bs} Affiliation {\bs\bs} Adresse}'
+\date`\marg{Date ou autre texte}'
+\end{lstlisting}
+Un long titre sera scindé automatiquement. L'auteur peut aussi scinder
+le titre manuellement en insérant la commande {\bs\bs} aux points de
+coupure. %
+Si l'ouvrage comporte deux auteurs ou plus, on insère les informations
+dans la commande \cmd{\author} les unes après les autres en séparant
+chaque entrée par la commande \cmdprint{\and}. %
+La commande \cmd{\date} insère le texte donné en argument (qu'il
+s'agisse d'une date ou non) à l'endroit prévu à cet effet par
+{\LaTeX}. Si l'on omet la commande, {\LaTeX} insère la date du jour au
+moment de la compilation. Pour ne pas afficher la date, on laisse
+l'argument vide:
+\begin{lstlisting}
+\date{}
+\end{lstlisting}
+
+Dans les articles scientifiques, le nom d'un auteur est fréquemment
+suivi d'un appel de note renvoyant à des remerciements à un organisme
+subventionnaire ou à quelque autre information additionnelle sur
+l'auteur. On insère une telle note et son appel à l'endroit approprié
+dans les commandes \cmd{\title} ou \cmd{\author} avec la commande
+\begin{lstlisting}
+\thanks`\marg{Texte}'
+\end{lstlisting}
+
+Les commandes ci-dessus ne permettent que de saisir les informations
+relatives au titre. Pour produire le titre il faut, en second lieu,
+insérér dans le corps du document la commande
+\begin{lstlisting}
+\maketitle
+\end{lstlisting}
+
+\begin{exemple}
+ \label{ex:organisation:titre}
+ Le code ci-dessous permet de créer un titre d'article standard. La
+ page composée avec {\XeLaTeX} (puisque nous utilisons le paquetage
+ \pkg{fontspec}) se trouve à la \autoref{fig:organisation:titre}.
+ \begin{demo}
+ \lstinputlisting[lastline=19]{auxdoc/exemple-titre.tex}
+ \end{demo}
+
+ La date de publication apparaissant dans l'illustration de la
+ \autoref*{fig:organisation:titre} est celle de la compilation
+ puisque la commande \cmdprint{\date} n'apparait pas dans le code
+ source.
+
+ On remarquera également que nous avons placé un symbole de
+ commentaire \% immédiatement après le nom de l'auteur dans le code
+ source. Tel qu'expliqué à la \autoref{sec:bases:caracteres:espaces},
+ c'est pour éviter que {\LaTeX} ne transforme le retour à la ligne avant
+ la commande \cmd{\thanks} en une espace entre le nom et l'appel de
+ note.
+
+ (Le paquetage \pkg{lorem} utilisé dans cet exemple permet
+ d'insérer du faux texte \link{https://fr.lipsum.com}{Lorem Ipsum}
+ dans un document \LaTeX.)
+ \begin{figure}
+ \centering
+ \fbox{\includegraphics[width=0.7\linewidth]{auxdoc/exemple-titre}}
+ \caption{Illustration d'un titre d'article standard.}
+ \label{fig:organisation:titre}
+ \end{figure}
+ \qed
+\end{exemple}
+
+Nous avons mentionné plus haut que {\LaTeX} peut aussi produire
+automatiquement la page de titre d'un rapport ou d'un livre. Il est
+toutefois peu probable qu'elle convienne, surtout dans le cas d'un
+livre. Une option plus flexible existe: les environnements
+\Ie{titlepage} (classes standards) et \Ie{titlingpage} (classe
+\class{memoir}) permettent de définir librement une page de
+titre:
+\begin{demo}
+ \begin{minipage}{0.48\linewidth}
+\begin{lstlisting}
+\begin{titlepage}
+ `\meta{Texte de la page de titre}'
+\end{titlepage}
+\end{lstlisting}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{0.48\linewidth}
+\begin{lstlisting}
+\begin{titlingpage}
+ `\meta{Texte de la page de titre}'
+\end{titlingpage}
+\end{lstlisting}
+ \end{minipage}
+\end{demo}
+L'auteur contrôle alors entièrement la disposition et la
+composition des éléments de la page de titre. Nous renvoyons le
+lecteur au chapitre~4 de la %
+\doc{memoir}{http://texdoc.net/pkg/memoir} %
+de \class{memoir} pour une liste de bonnes pratiques en matière de
+composition de page de titre et pour des exemples détaillés.
+
+Comme c'est souvent le cas dans les universités, le format de la page
+de titre des thèses et mémoires de l'Université Laval est
+prédéterminé. La classe \class{ulthese} fournit donc ses propres
+commandes de composition; consulter sa %
+\doc{ulthese}{http://texdoc.net/pkg/ulthese}.
+
+\subsection{Résumé}
+\label{sec:organisation:parties:resume}
+
+Les articles scientifiques et les rapports comportent souvent un
+résumé, habituellement composé en retrait des marges gauche et droite
+et dans une police plus petite. On produit le résumé avec
+l'environnement \Ie{abstract} des classes \class{article},
+\class{report} ou \class{memoir}:
+\begin{lstlisting}
+\begin{abstract}
+ `\meta{Texte du résumé}'
+\end{abstract}
+\end{lstlisting}
+
+Il est plutôt rare que les livres comportent un résumé ou alors, comme
+pour les thèses et mémoires de l'Université Laval, celui-ci
+est simplement traité comme un chapitre normal non numéroté.
+
+\subsection{Sections}
+\label{sec:organisation:parties:sections}
+
+Les commandes ci-dessous servent à découper un document en sections
+qui seront automatiquement numérotées par {\LaTeX} de manière
+séquentielle:
+\begin{lstlisting}
+\part`\oarg{titre court}\marg{titre}'
+\chapter`\oarg{titre court}\marg{titre}'
+\section`\oarg{titre court}\marg{titre}'
+\subsection`\oarg{titre court}\marg{titre}'
+\subsubsection`\oarg{titre court}\marg{titre}'
+\paragraph`\oarg{titre court}\marg{titre}'
+\subparagraph`\oarg{titre court}\marg{titre}'
+\end{lstlisting}
+Les commandes forment, dans l'ordre où elles sont données, une
+hiérarchie des titres d'un document\footnote{%
+ Nous n'avons jamais utilisé les niveaux de division
+ \cmdprint{\paragraph} et \cmdprint{\subparagraph}.}. %
+Tel que mentionné précédemment, la commande \cmd{\chapter} n'est pas
+disponible avec la classe \class{article}.
+
+Chaque commande prend en argument obligatoire le \meta{titre} de la
+section. Si celui-ci est très long, il peut être utile de fournir en
+argument optionnel un \meta{titre court}; c'est ce dernier qui
+apparaitra dans la table des matières et dans les entêtes de page, le cas
+échéant.
+
+Toutes les commandes existent en version suivie d'une \verb=*= qui
+supprime la numérotation ainsi que l'insertion éventuelle dans la
+table des matières (plus de détails à la \autoref{sec:organisation:tdm}).
+
+\tipbox{Éviter d'utiliser des sous-sous-sections numérotées (commande
+ \cmdprint{\subsubsection}) dans un livre. Cela résulte en une
+ numérotation à quatre niveaux qui s'avère difficile à suivre pour le
+ lecteur.}
+
+\subsection{Annexes}
+\label{sec:organisation:parties:annexes}
+
+Les annexes sont des sections ou des chapitres avec une numérotation
+alphanumérique (A, A.1, ...) plutôt qu'entièrement numérique. On
+informe {\LaTeX} que les sections suivantes doivent être traitées
+comme des annexes en insérant dans le document la commande
+%% [hack ci-dessous pour cacher la commande \appendix à reftex]
+\begin{lstlisting}
+`\verb=\appendix='
+\end{lstlisting}
+En plus de modifier le style de numérotation, la commande a pour effet
+de changer le mot clé «Chapitre» pour «Annexe» dans les titres de
+chapitre.
+
+\subsection{Structure logique d'un livre}
+\label{sec:oganisation:parties:livre}
+
+Un livre se compose normalement de trois grandes parties logiques: les
+pages liminaires (avant-propos, table des matières, tout ce qui
+précède le chapitre premier); le corps du livre (chapitres et
+annexes); les parties en fin d'ouvrage (bibliographie, index). Les
+commandes
+\begin{lstlisting}
+\frontmatter
+\mainmatter
+\backmatter
+\end{lstlisting}
+qui sont disponibles avec les classes \class{book}, \class{memoir} et
+\class{ulthese}, permettent d'identifier ces trois parties. Le
+\autoref{tab:organisation:livre} résume l'effet de chaque commande.
+
+\begin{table}
+ \centering
+ \caption{Commandes d'identification de la structure logique d'un
+ livre et leurs effets}
+ \label{tab:organisation:livre}
+ \begin{tabular}{ll}
+ \toprule
+ Commande & Effets \\
+ \midrule
+ \cmd{\frontmatter} & numérotation des
+ pages en chiffres romains (i, ii, ...) \\
+ & chapitres non numérotés \\
+ \addlinespace[0.5\normalbaselineskip]
+ \cmd{\mainmatter} & numérotation des pages
+ à partir de 1 en chiffres arabes \\
+ & chapitres numérotés \\
+ \addlinespace[0.5\normalbaselineskip]
+ \cmd{\backmatter} & numérotation des pages
+ se poursuit \\
+ & chapitres non numérotés \\
+ \bottomrule
+ \end{tabular}
+\end{table}
+
+
+\section{Table des matières}
+\label{sec:organisation:tdm}
+
+Dans la mesure où l'on a bien identifié les différentes divisions d'un
+ouvrage avec les commandes mentionnées à la section précédente, la
+production de la table des matières est on ne peut plus simple avec
+{\LaTeX}: il suffit d'insérer la commande
+\begin{lstlisting}
+\tableofcontents
+\end{lstlisting}
+dans le corps du document à l'endroit où la table des matières doit
+apparaitre. C'est tout!
+
+Lorsque le paquetage \pkg{hyperref} \citep{hyperref} est chargé, la
+commande \cmdprint{\tableofcontents} produit également la table des
+matières du fichier PDF. Cela permet de naviguer dans le document
+directement depuis la visionneuse PDF. La
+\autoref{fig:organisation:tdm-dans-pdf} illustre cette fonctionnalité
+avec la visionneuse Aperçu de macOS.
+
+\begin{figure}
+ \resizebox{\textwidth}{!}{\includegraphics{images/tdm-dans-pdf}}
+ \caption[Consultation d'un document PDF avec la visionneuse Aperçu
+ de macOS]{%
+ Consultation d'un document PDF avec la visionneuse Aperçu
+ de macOS. La barre latérale de gauche affiche la table des
+ matières du fichier PDF, ce qui permet de naviguer dans le
+ document sans devoir revenir à celle du document.}
+ \label{fig:organisation:tdm-dans-pdf}
+\end{figure}
+
+\importantbox{La production initiale de la table des matières et la
+ prise en compte de toute modification requiert jusqu'à trois
+ compilations consécutives du document.}
+
+Par défaut, une section non numérotée ne figure pas dans la table des
+matières. Si l'on souhaite néanmoins l'y insérer, il faut utiliser la
+commande suivante:
+\begin{lstlisting}
+\addtocontentsline{toc}`\marg{niveau}\marg{titre}'
+\end{lstlisting}
+où \meta{niveau} est le nom de la commande de division sans le
+caractère {\bs} (\code{chapter}, \code{section}, etc.) et \meta{titre}
+est le texte qui apparaitra dans la table des matières.
+
+\begin{exemple}
+ Selon les normes de présentation visuelle de la Faculté des études
+ supérieures et postdoctorales pour les thèses et mémoires de
+ l'Université Laval, les résumés, la liste des abbréviations et des
+ sigles, les remerciements et l'avant-propos doivent être composés
+ comme des chapitres normaux non numérotés. Cependant, ils doivent
+ apparaitre dans la table des matières. Pour ce faire, les gabarits
+ fournis avec la classe \class{ulthese} comportent des lignes de la
+ forme:
+\begin{lstlisting}
+\chapter*{Résumé}
+\phantomsection\addcontentsline{toc}{chapter}{Résumé}
+\end{lstlisting}
+ La commande \cmd{\phantomsection} est rendue nécessaire (ou
+ recommandée) par le paquetage \pkg{hyperref} qui est chargé dans le
+ préambule. %
+ \qed
+\end{exemple}
+
+Outre une table des matières, les ouvrages scientifiques
+comportent parfois une liste des figures et une liste des tableaux. On
+obtient celles-ci avec les commandes
+\begin{lstlisting}
+\listoffigures
+\listoftables
+\end{lstlisting}
+
+Dans les classes \class{memoir} et \class{ulthese}, les commandes
+ci-dessus insèrent leur propre titre de section dans la table des
+matière (autrement dit, la table des matières apparait dans la table
+des matières). Les versions
+\begin{lstlisting}
+\tableofcontents*
+\listoffigures*
+\listoftables*
+\end{lstlisting}
+adoptent le comportement des classes standards, soit d'omettre ces
+parties dans la table des matières.
+
+
+\section{Renvois automatiques}
+\label{sec:organisation:renvois}
+
+Un document d'une certaine ampleur contiendra souvent des renvois à
+une section, un tableau, une équation, voire une page
+spécifique. Évidemment, le numéro de la section, du tableau, de
+l'équation ou de la page est susceptible de changer au fil de la
+rédaction du document. C'est pourquoi l'auteur ne devrait
+\emph{jamais} insérer les revois manuellement dans le texte. C'est une
+tâche qu'il vaut mieux confier à l'ordinateur.
+
+\subsection{Étiquettes et renvois}
+\label{sec:organisation:renvois:etiquettes}
+
+Les renvois automatiques dans {\LaTeX} reposent sur un système
+d'étiquettes attribuées à des éléments de contenu et de référencement
+par ces étiquettes. Ainsi, pour renvoyer le lecteur à un élément de
+contenu, il faut d'abord le nommer en insérant la commande
+\begin{lstlisting}
+\label`\marg{nom}'
+\end{lstlisting}
+à proximité de l'élément. Le choix du \meta{nom} est tout à fait libre. Il
+peut être constitué de toute combinaison de lettres, de chiffres et de
+symboles autres que les symboles réservés mentionnés à la
+\autoref{sec:bases:caracteres:reserves}.
+
+Ensuite, il devient possible d'insérer un renvoi à cet élément de contenu
+n'importe où dans le document avec la commande
+\begin{lstlisting}
+\ref`\marg{nom}'
+\end{lstlisting}
+Pour renvoyer à la page où se trouve l'élément, on utilise la commande
+\begin{lstlisting}
+\pageref`\marg{nom}'
+\end{lstlisting}
+
+\begin{exemple}
+ \label{ex:organisation:renvoi}
+ Le code ci-dessous permet d'insérer un renvoi automatique à un
+ numéro de section dans un document. Le résultat se trouve à la
+ \autoref{fig:organisation:renvoi}.
+\begin{lstlisting}[emph={\label,\ref}]
+\section{Définitions}
+\label{sec:definitions}
+
+Lorem ipsum dolor sit amet, consectetur adipiscing elit.
+Duis in auctor dui. Vestibulum ut, placerat ac, adipiscing
+vitae, felis.
+
+\section{Historique}
+
+Tel que vu à la section \ref{sec:definitions}, on a...
+\end{lstlisting}
+
+ \begin{figure}
+ \fbox{\includegraphics[viewport=124 550 484 664,clip=true,width=0.98\linewidth]{auxdoc/exemple-renvoi}}
+ \caption{Texte produit par le code de
+ l'\autoref{ex:organisation:renvoi} illustrant un renvoi
+ automatique standard}
+ \label{fig:organisation:renvoi}
+ \end{figure}
+ \qed
+\end{exemple}
+
+\tipbox{Un long document contiendra vraisemblablement un grand nombre
+ d'étiquettes et de renvois. Afin de s'y retrouver et pour éviter les
+ doublons, adopter une manière systématique et mnémotechnique de
+ nommer les éléments.
+
+ Pour le présent document, nous avons utilisé un système d'étiquettes
+ de la forme suivante:
+ \begin{itemize}
+ \item \cmdprint{chap:\meta{chapitre}} pour les chapitres;
+ \item \cmdprint{sec:\meta{chapitre}:\meta{section}} pour
+ les sections;
+ \item \cmdprint{tab:\meta{chapitre}:\meta{tableau}} pour
+ les tableaux;
+ \item \cmdprint{eq:\meta{chapitre}:\meta{equation}} pour
+ les équations.
+ \end{itemize}}
+
+\subsection{Production des renvois}
+\label{sec:organisation:renvois:production}
+
+La production des renvois requiert deux à trois compilations.
+Tant que {\LaTeX} n'a pas complété les renvois, le journal de
+compilation contient, vers la toute fin, le message
+\begin{verbatim}
+LaTeX Warning: Label(s) may have changed. Rerun to get
+cross-references right.
+\end{verbatim}
+
+On prendra également garde aux alertes suivantes dans le journal de
+compilation. Elles identifient des correctifs à apporter dans le
+système d'étiquettes et de renvois. D'abord, le message
+\begin{verbatim}
+LaTeX Warning: There were undefined references.
+\end{verbatim}
+indique qu'une ou plusieurs commandes \cmd{\ref} renvoient à un
+\meta{nom} qui n'est pas défini avec \cmd{\label}. On trouvera alors
+dans le document le caractère \textbf{?} en lieu et place du renvoi. À
+l'inverse, le message
+\begin{verbatim}
+LaTeX Warning: There were multiply-defined labels.
+\end{verbatim}
+indique que plusieurs commandes \cmdprint{\label} utilisent le même
+\meta{nom}. Cela est susceptible de causer des renvois vers le mauvais
+élément de contenu.
+
+\subsection{Renvois avec hyperliens}
+\label{sec:organisation:renvois:hyperliens}
+
+Lorsque chargé dans le document, le paquetage \pkg{hyperref} insère
+des hyperliens vers les renvois dans les fichiers PDF. C'est très
+pratique en consultation électronique d'un document.
+
+\begin{exemple}
+ \label{ex:organisation:renvoi-hyperref}
+ Avec l'ajout de
+\begin{lstlisting}
+\usepackage{hyperref}
+\end{lstlisting}
+ dans le préambule, le code de l'\autoref{ex:organisation:renvoi}
+ produit maintenant le type de renvoi illustré à la
+ \autoref{fig:organisation:renvoi-hyperref}. Le texte en couleur
+ contrastante est un hyperlien vers le titre de la section.
+
+ \begin{figure}
+ \centering
+ \fbox{\includegraphics[viewport=124 550 484 664,clip=true,width=0.98\linewidth]{auxdoc/exemple-renvoi-hyperref}}
+ \caption{Texte produit par le code de
+ l'\autoref{ex:organisation:renvoi} après l'ajout du paquetage
+ \pkg{hyperref}}
+ \label{fig:organisation:renvoi-hyperref}
+ \end{figure}
+ \qed
+\end{exemple}
+
+L'inconvénient avec la procédure illustrée dans l'exemple précédent,
+c'est que seul le numéro de la référence est transformé en hyperlien.
+La zone disponible pour cliquer s'en trouve plutôt restreinte. Une
+fonctionnalité du paquetage \pkg{hyperref} --- à laquelle nous avons eu
+recours dans le présent document --- permet d'agrandir cette zone. La
+commande
+\begin{lstlisting}
+\autoref`\marg{nom}'
+\end{lstlisting}
+permet de nommer automatiquement le type de renvoi (section, équation,
+tableau, etc.) et de transformer en hyperlien à la fois ce texte et le
+numéro du renvoi.
+
+\begin{exemple}
+ \label{ex:organisation:renvoi-autoref}
+ On reprend le texte de l'\autoref{ex:organisation:renvoi}, mais en
+ utilisant cette fois la commande \cmd{\autoref} pour insérer un
+ renvoi dans le texte. On remarque que le mot «section» a été
+ supprimé du code source pour laisser à la commande le soin d'insérer
+ le vocable approprié dans le document.
+\begin{lstlisting}[emph={\label,\autoref}]
+\section{Définitions}
+\label{sec:definitions}
+
+Lorem ipsum dolor sit amet, consectetur adipiscing elit.
+Duis in auctor dui. Vestibulum ut, placerat ac, adipiscing
+vitae, felis.
+
+\section{Historique}
+
+Tel que vu à la \autoref{sec:definitions}, on a...
+\end{lstlisting}
+ Comme on peut le voir à la
+ \autoref{fig:organisation:renvoi-autoref}, le mot «section» ainsi
+ que son numéro forment maintenant l'hyperlien.
+
+ \begin{figure}
+ \centering
+ \fbox{\includegraphics[viewport=124 550 484 664,clip=true,width=0.98\linewidth]{auxdoc/exemple-renvoi-autoref}}
+ \caption{Texte produit par le code de
+ l'\autoref{ex:organisation:renvoi-autoref}}
+ \label{fig:organisation:renvoi-autoref}
+ \end{figure}
+ \qed
+\end{exemple}
+
+La \autoref{sec:trucs:hyperliens} fournit des détails
+additionnels sur la gestion des hyperliens dans un document PDF.
+
+
+\section{Document contenu dans plusieurs fichiers}
+\label{sec:organisation:include}
+
+Lorsque le préambule et le corps du texte demeurent relativement
+courts (peu de commandes spéciales et moins d'une vingtaine de pages
+de texte), il demeure assez simple et convivial d'en faire l'édition
+dans un seul fichier à l'aide de son éditeur de texte favori.
+
+Cependant, si le préambule devient long et complexe ou, surtout,
+lorsque l'ampleur du document augmente jusqu'à compter un grand nombre
+de pages sur plusieurs chapitres, il convient de répartir les diverses
+parties du document dans des fichiers séparés.
+
+La segmentation en plusieurs fichiers rend l'édition du texte plus
+simple et plus efficace. De plus, durant la phase de rédaction, elle
+peut significativement accélérer la compilation des documents très
+longs ou comptant plusieurs images.
+
+\subsection{Insertion du contenu d'un autre fichier}
+\label{sec:organisation:include:input}
+
+La commande \cmd{\input} permet d'insérer le contenu d'un autre
+fichier dans un document {\LaTeX}. La syntaxe de la commande est
+\begin{lstlisting}
+\input`\marg{fichier}'
+\end{lstlisting}
+où le nom du fichier à insérer est \meta{fichier}\code{.tex}. On
+laisse donc tomber l'extension \code{.tex}, qui est implicite. Le
+contenu du fichier est inséré tel quel dans le document, comme s'il
+avait été saisi dans le fichier qui contient l'appel à \cmd{\input}.
+
+Le procédé est surtout utile pour sauvegarder séparément des bouts de
+code qui gênent l'édition du texte (figures, longs
+tableaux) ou qui sont communs entre plusieurs documents (licence
+d'utilisation, auteur et affiliation).
+
+La commande peut aussi être utilisée dans le préambule pour charger
+une partie ou l'ensemble de celui-ci. Cela permet de composer un même
+préambule pour plusieurs documents. Il suffit alors de faire
+d'éventuelles modifications à un seul endroit pour les voir prendre
+effet dans tous les documents.
+
+\subsection{Insertion de parties d'un document}
+\label{sec:organisation:include:include}
+
+Il est recommandé de segmenter tout document d'une certaine ampleur
+dans des fichiers \verb=.tex= distincts pour chaque partie ---
+habituellement un fichier par chapitre. Le document complet est
+composé à l'aide d'un fichier maitre qui contient le préambule
+{\LaTeX} et un ensemble d'appels à la commande \cmdprint{\include}
+pour réunir les parties dans un tout.
+
+La syntaxe de \cmd{\include} est
+\begin{lstlisting}
+\include`\marg{fichier}'
+\end{lstlisting}
+où le nom du fichier à insérer est \meta{fichier}\code{.tex}. Ici
+aussi on laisse tomber l'extension \code{.tex} qui est implicite.
+
+Comme \cmd{\input}, la commande \cmd{\include} insère le contenu d'un
+autre fichier dans un document. Toutefois, l'insertion d'un fichier
+avec \cmd{\include} débute toujours une nouvelle page. On utilisera
+donc cette commande principalement pour insérer des chapitres entiers
+plutôt que seulement des portions de texte. De plus, un fichier inséré
+avec \cmd{\include} peut contenir des appels à \cmd{\input}, mais pas
+à \cmd{\include}.
+
+\begin{exemple}
+ La \autoref{fig:organisation:maitre} présente un exemple type de
+ fichier maitre. On y utilise la commande \cmd{\include} pour
+ composer un document chapitre par chapitre.
+
+ \begin{figure}
+ \centering
+ \begin{minipage}{0.75\linewidth}
+\begin{lstlisting}[numbers=left, numberstyle=\tiny]
+\documentclass{ulthese}
+ [...]
+
+\begin{document}
+
+\frontmatter
+
+\include{introduction}
+\tableofcontents*
+
+\mainmatter
+\include{historique}
+\include{rappels}
+\include{modele}
+[...]
+
+\end{document}
+\end{lstlisting}
+ \end{minipage}
+ \caption[Structure type d'un fichier maitre]{%
+ Structure type d'un fichier maitre. Les fichiers
+ \code{historique.tex}, \code{rappels.tex} et \code{modele.tex}
+ contiennent le texte des trois premiers chapitres.}
+ \label{fig:organisation:maitre}
+ \end{figure}
+ \qed
+\end{exemple}
+
+Le principal avantage de \cmd{\include} par rapport à \cmd{\input}
+réside dans le fait que {\LaTeX} peut préserver entre les compilations
+les informations telles que les numéros de pages, de sections ou
+d'équations, ainsi que les renvois et les références bibliographiques.
+Cela permet, par exemple, de compiler le texte d'un seul chapitre ---
+plutôt que le document entier --- et néanmoins obtenir une image
+représentative du chapitre. Procéder ainsi accélère significativement
+la compilation des documents longs ou complexes.
+
+\subsection{Compilation partielle}
+\label{sec:organisation:include:compilation}
+
+La commande \cmd{\includeonly}, que l'on utilise exclusivement dans le
+préambule, sert à spécifier le ou les fichiers à compiler tout en
+préservant la numérotation et les références. Sa syntaxe est
+\begin{lstlisting}
+\includeonly`\marg{liste\_fichiers}'
+\end{lstlisting}
+où \meta{liste\_fichiers} contient les noms des fichiers à
+inclure dans la compilation, séparés par des virgules et sans
+l'extension \code{.tex}.
+
+\tipbox{Utiliser des noms de fichiers qui permettent de facilement
+ identifier leur contenu. Par exemple, un nom comme
+ \fichier{rappels.tex} identifie clairement le contenu du fichier et
+ il résiste mieux aux changements à l'ordre des chapitres que
+ \fichier{chapitre1.tex}.}
+
+Lors de l'utilisation de la commande \cmd{\includeonly}, toute la
+numérotation dans les fichiers \meta{liste\_fichiers} suivra celle
+établie lors de la compilation précédente. Si l'édition des fichiers
+de \meta{liste\_fichiers} cause des changements dans la numérotation
+et les références dans les autres parties du document, une nouvelle
+compilation de l'ensemble ou d'une partie de celui-ci s'avérera
+nécessaire.
+
+\begin{exemple}
+ Un document est composé en plusieurs parties avec les commandes
+ suivantes:
+\begin{lstlisting}
+\include{historique} % chapitre 1
+\include{rappels} % chapitre 2
+\include{modele} % chapitre 3
+\end{lstlisting}
+ Les chapitres débutent respectivement aux pages~1, 23 et 41.
+ \begin{itemize}
+ \item Si l'on ajoute au préambule du document la commande
+\begin{lstlisting}
+\includeonly{rappels}
+\end{lstlisting}
+ le numéro du chapitre sera toujours 2 et le folio de
+ la première page sera toujours 23, même si les 22 pages
+ précédentes ne se trouvent pas dans le document.
+ \item Si l'on modifie le fichier \fichier{rappels.tex} de telle
+ sorte que le chapitre se termine maintenant à la page 46, il
+ faudra recompiler le document avec au moins les fichiers
+ \fichier{rappels.tex} et \code{modele.tex} pour que les pages du
+ chapitre~3 soient numérotées à partir de 47.
+ \end{itemize}
+ \qed
+\end{exemple}
+
+L'\autoref{ex:include} illustre mieux le cycle typique
+d'utilisation des commandes \cmd{\include} et \cmd{\includeonly}.
+
+
+
+%%%
+%%% Exercices
+%%%
+
+\section{Exercices}
+\label{sec:organisation:exercices}
+
+\Opensolutionfile{solutions}[solutions-organisation]
+
+\begin{Filesave}{solutions}
+\section*{Chapitre \ref*{chap:organisation}}
+\addcontentsline{toc}{section}{Chapitre \protect\ref*{chap:organisation}}
+
+\end{Filesave}
+
+\begin{exercice}[nosol]
+ Utiliser le fichier \fichier{exercice\_parties.tex}.
+ \begin{enumerate}
+ \item Étudier la structure du document dans le code source.
+ \item Ajouter un titre et un auteur au document à l'aide des
+ commandes \cmdprint{\title} et \cmdprint{\author} se trouvant déjà
+ dans le préambule.
+ \item Créer la table des matières du document en le compilant deux à
+ trois fois.
+ \item Insérer deux ou trois titres de sections de différents niveaux
+ dans le document et recompiler.
+ \item La numérotation cesse à partir des sous-sections. C'est une
+ particularité de la classe \class{memoir}. Recompiler le document
+ après avoir ajouté au préambule la commande
+\begin{lstlisting}
+\maxsecnumdepth{subsection}
+\end{lstlisting}
+ \item Ajouter une annexe au document.
+ \end{enumerate}
+\end{exercice}
+
+\begin{exercice}[nosol]
+ Utiliser le fichier \fichier{exercice\_renvois.tex}.
+ \begin{enumerate}
+ \item Insérer dans le texte un renvoi au numéro d'une section.
+ \item Activer le paquetage \pkg{hyperref} avec l'option
+ \code{colorlinks} et comparer l'effet d'utiliser \cmd{\ref} ou
+ \cmd{\autoref} pour le renvoi.
+ \end{enumerate}
+\end{exercice}
+
+\begin{exercice}[nosol]
+ \label{ex:include}
+ Cet exercice fait appel au fichier maitre
+ \fichier{exercice\_include.tex} et à plusieurs fichiers auxiliaires.
+ Schématiquement, le document est composé ainsi:
+
+ \medskip
+ \begin{minipage}{\linewidth}
+ \dirtree{%
+ .1 exercice\_include.tex.
+ .2 {\textbackslash}input pagetitre.tex.
+ .2 {\textbackslash}include rpresentation.tex.
+ .3 {\textbackslash}includegraphics console-screenshot.pdf.
+ .2 {\textbackslash}include emacs.tex.
+ }
+ \end{minipage}
+ \medskip
+
+ La commande \cmd{\includegraphics} permet d'insérer une image dans
+ un document {\LaTeX}. Elle provient du paquetage \pkg{graphicx}.
+
+ \begin{enumerate}
+ \item Étudier le code source du fichier maitre, puis le compiler
+ deux à trois fois jusqu'à ce que tous les renvois soient à jour.
+ Il est normal à ce stade que la figure~1 du document soit vide.
+ \item Ajouter dans le préambule du fichier maitre la commande
+\begin{lstlisting}
+\includeonly{emacs}
+\end{lstlisting}
+ puis compiler le document.
+
+ Observer que, malgré l'absence du chapitre~1, la numérotation et
+ les références demeurent à jour, notamment la table des matières.
+ \item Remplacer la commande ajoutée en b) dans le préambule du
+ fichier maitre par la commande
+\begin{lstlisting}
+\includeonly{rpresentation}
+\end{lstlisting}
+ Vers la fin du fichier \fichier{rpresentation.tex}, activer la
+ commande
+\begin{lstlisting}
+\includegraphics[width=\textwidth]{console-screenshot}
+\end{lstlisting}
+ en supprimant le symbole \% au début de la ligne. Compiler de
+ nouveau le document deux fois.
+
+ Les modifications ont eu pour effet d'ajouter une page au
+ chapitre~1. Observer que, selon la table des matières, le
+ chapitre~2 débute toujours à la page~3 alors que celle-ci est
+ maintenant occupée par la figure~1.
+ \item Afin de corriger la table des matières, désactiver dans le
+ préambule du fichier maitre la commande \cmd{\includeonly}, puis
+ compiler de nouveau le document quelques fois.
+ \end{enumerate}
+\end{exercice}
+
+\begin{exercice}[nosol]
+ Déplacer dans un fichier \fichier{preambule.tex} toutes les lignes
+ du préambule du fichier \fichier{exercice\_include.tex} utilisé à
+ l'exercice précédent, à l'exception de celles relatives à la page
+ titre (titre, auteur, date). Insérer le préambule dans
+ \fichier{exercice\_include.tex} avec la commande \cmd{\input}.
+\end{exercice}
+
+\Closesolutionfile{solutions}
+
+%%% Local Variables:
+%%% mode: latex
+%%% TeX-master: "formation-latex-ul"
+%%% TeX-engine: xetex
+%%% coding: utf-8
+%%% End:
diff --git a/info/formation-latex-ul/source/prerequis-diapos.tex b/info/formation-latex-ul/source/prerequis-diapos.tex
new file mode 100644
index 0000000000..cc8b916bcc
--- /dev/null
+++ b/info/formation-latex-ul/source/prerequis-diapos.tex
@@ -0,0 +1,59 @@
+%%% Copyright (C) 2018 Vincent Goulet
+%%%
+%%% Ce fichier fait partie du projet
+%%% «Rédaction avec LaTeX»
+%%% https://gitlab.com/vigou3/formation-latex-ul
+%%%
+%%% Cette création est mise à disposition sous licence
+%%% Attribution-Partage dans les mêmes conditions 4.0
+%%% International de Creative Commons.
+%%% https://creativecommons.org/licenses/by-sa/4.0/
+
+\begin{frame}
+ \frametitle{Fichiers d'accompagnement}
+
+ \begin{adjustwidth}{10mm}{10mm}
+ Ce document devrait être accompagné des fichiers nécessaires pour
+ compléter les exercices.
+
+ Si vous n'avez pas obtenu ces fichiers avec le document, vous
+ pouvez les récupérer dans le site \emph{Comprehensive TeX Archive
+ Network} (CTAN).
+
+ \begin{center}
+ \link{\ctanurl}{Accéder aux fichiers dans CTAN}
+ \end{center}
+ \end{adjustwidth}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Prérequis à cette formation}
+
+ \begin{adjustwidth}{8mm}{10mm}
+ \begin{enumerate}
+ \item Installer une distribution {\LaTeX} sur votre poste de
+ travail; nous recommandons la distribution {\TeX}~Live
+ \begin{itemize}
+ \item \link{https://youtu.be/uJFbhQkDbU8}{%
+ Vidéo d'installation sur macOS}
+ \item \link{https://youtu.be/wO2FlNmye14}{%
+ Vidéo d'installation sur Windows}
+ \end{itemize}
+ \item Composer un premier document très simple de type \emph{Hello
+ World!}
+ \begin{itemize}
+ \normalsize
+ \item \link{https://youtu.be/1XKh0f6hFks}{%
+ Démonstration vidéo avec TeXShop sur macOS}
+ \item \link{https://youtu.be/EIwsQHJhpOQ}{%
+ Démonstration vidéo avec Texmaker sur Windows}
+ \end{itemize}
+ \end{enumerate}
+ \end{adjustwidth}
+\end{frame}
+
+%%% Local Variables:
+%%% TeX-master: "formation-latex-ul-diapos"
+%%% TeX-engine: xetex
+%%% coding: utf-8
+%%% End:
diff --git a/info/formation-latex-ul/source/presentation-diapos.tex b/info/formation-latex-ul/source/presentation-diapos.tex
new file mode 100644
index 0000000000..d08e4727d4
--- /dev/null
+++ b/info/formation-latex-ul/source/presentation-diapos.tex
@@ -0,0 +1,182 @@
+%%% Copyright (C) 2018 Vincent Goulet
+%%%
+%%% Ce fichier fait partie du projet
+%%% «Rédaction avec LaTeX»
+%%% https://gitlab.com/vigou3/formation-latex-ul
+%%%
+%%% Cette création est mise à disposition sous licence
+%%% Attribution-Partage dans les mêmes conditions 4.0
+%%% International de Creative Commons.
+%%% https://creativecommons.org/licenses/by-sa/4.0/
+
+\section{Présentation de {\TeX} et {\LaTeX}}
+
+\subsection{Description sommaire}
+
+\begin{frame}
+ \frametitle{Ce que c'est}
+ \begin{columns}
+ \begin{column}{.5\textwidth}
+ \begin{itemize}
+ \item {\TeX} est un système de mise en page (\emph{typesetting})
+ ou de préparation de documents
+ \item {\LaTeX} est un ensemble de macro-commandes pour faciliter
+ l'utilisation de {\TeX}
+ \item Langage de balisage (\emph{Markup Language}) pour indiquer
+ la mise en forme du texte
+ \item Accent mis sur la production de documents de grande
+ qualité à la typographie soignée (surtout pour les
+ mathématiques)
+ \end{itemize}
+ \end{column}
+ \begin{column}{.5\textwidth}
+ \centering
+ \includegraphics[width=\linewidth]{images/knuth} \\
+ \footnotesize Donald Knuth, créateur de \TeX
+ \end{column}
+ \end{columns}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Ce que ce n'est pas}
+ \begin{tabular}{lcl}
+ Un traitement de texte & \faArrowRight & priorité accordée
+ à la qualité de
+ la mise en page \\[6pt]
+ WYSIWYG & \faArrowRight & plutôt What You See Is What
+ You \emph{Mean} \\[6pt]
+ Incompatible & \faArrowRight & format identique sur tous
+ les systèmes d'exploitation \\[6pt]
+ Instable & \faArrowRight & noyau arrivé à maturité \\[6pt]
+ Imprévisible & \faArrowRight & {\LaTeX} fait ce qu'on
+ lui demande, ni plus, ni moins
+ \end{tabular}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Quelques choses simples à réaliser avec {\LaTeX}}
+
+ \begin{itemize}
+ \item Page de titre
+ \item Table des matières
+ \item Numérotation des pages
+ \item Figures et tableaux: disposition, numérotation, renvois
+ \item Équations mathématiques: disposition, numérotation, renvois
+ \item Citations et composition de la bibliographie
+ \item Coupure de mots
+ \item Document recto verso
+ \end{itemize}
+\end{frame}
+
+\subsection{Processus de création}
+
+\begin{frame}
+ \frametitle{Processus de création d'un document {\LaTeX}}
+ \Huge
+ \begin{minipage}[t]{0.6\linewidth}
+ \begin{minipage}[t]{0.4\textwidth}
+ \centering
+ \faFileTextO \\ \bigskip
+ \footnotesize
+ rédaction du texte et balisage avec un \emph{éditeur de texte}
+ \end{minipage}
+ \hfill\faArrowRight\hfill
+ \begin{minipage}[t]{0.4\textwidth}
+ \centering
+ \faCogs \\ \bigskip
+ \footnotesize
+ compilation avec un \emph{moteur} {\TeX} depuis la ligne de commande
+ \end{minipage} \\ \bigskip
+
+ \onslide<2>{%
+ \color{alert}
+ \rule[6pt]{\linewidth}{2pt} \\
+ \footnotesize\centering
+ facilité par l'utilisation d'un \\
+ logiciel intégré de rédaction \\
+ (Texmaker, TeXShop, Emacs, \dots)
+ }
+ \end{minipage}
+ \begin{minipage}[t]{0.35\linewidth}
+ \hfill\faArrowRight\hfill
+ \begin{minipage}[t]{0.7\textwidth}
+ \centering
+ \faFilePdfO \\ \bigskip
+ \footnotesize
+ visualisation avec visionneuse externe (Aperçu,
+ SumatraPDF, etc.)
+ \end{minipage}
+ \end{minipage}
+\end{frame}
+
+\subsection{[~Exercice~]}
+
+\begin{exercice}
+ Démarrer le logiciel \alert{Texmaker} (Windows), \alert{TeXShop}
+ (macOS) ou tout autre éditeur ou logiciel intégré de rédaction de
+ votre choix.
+
+ \begin{enumerate}
+ \item Ouvrir et compiler le fichier \fichier{exercice\_minimal.tex}.
+ \item Ajouter du texte en français (avec accents) et observer le
+ résultat.
+ \end{enumerate}
+\end{exercice}
+
+\subsection{Outils de production}
+
+\begin{frame}
+ \frametitle{Moteurs et formats}
+ \centering
+
+ \begin{tabular}{r}
+ \\ \addlinespace[8pt] \\ \\
+ \color{alert}\faArrowRight \\
+ \color{alert}\faArrowRight
+ \end{tabular}
+ \hspace{-4mm}
+ \begin{tabularx}{0.7\linewidth}{Xlc}
+ \toprule[2pt]
+ Moteur & Format & Fichier de sortie \\
+ \midrule
+ \texttt{tex} & plain \TeX & DVI \\
+ \texttt{tex} (\texttt{latex}) & \LaTeX & DVI \\
+ \texttt{pdftex} (\texttt{pdflatex}) & pdf\LaTeX & PDF \\
+ \texttt{xetex} (\texttt{xelatex}) & \XeLaTeX & PDF \\
+ \bottomrule[2pt]
+ \end{tabularx}
+\end{frame}
+
+\begin{frame}[fragile=singleslide]
+ \frametitle{Faits amusants}
+ \begin{itemize}
+ \item {\TeX} est aujourd'hui considéré exempt de bogue
+ \item Récompense si vous en trouvez un!
+ \item Numéro de version de {\TeX} converge vers $\pi$:
+\begin{lstlisting}
+$ tex --version
+TeX `\textbf{3.14159265}' (TeX Live 2018)
+kpathsea version 6.3.0
+Copyright 2018 D.E. Knuth.
+[...]
+\end{lstlisting} %$
+ \end{itemize}
+\end{frame}
+
+\subsection{[~Exercice~]}
+
+\begin{exercice}
+ Question de voir ce que {\LaTeX} peut faire, compiler le document
+ élaboré \fichier{exercice\_demo.tex} de la manière suivante:
+ \begin{enumerate}[i)]
+ \item une fois avec \texttt{LaTeX};
+ \item une fois avec \texttt{BibTeX};
+ \item deux à trois fois avec \texttt{LaTeX}.
+ \end{enumerate}
+\end{exercice}
+
+%%% Local Variables:
+%%% TeX-master: "formation-latex-ul-diapos"
+%%% TeX-engine: xetex
+%%% coding: utf-8
+%%% End:
diff --git a/info/formation-latex-ul/source/presentation.tex b/info/formation-latex-ul/source/presentation.tex
new file mode 100644
index 0000000000..067ec32683
--- /dev/null
+++ b/info/formation-latex-ul/source/presentation.tex
@@ -0,0 +1,359 @@
+%%% Copyright (C) 2018 Vincent Goulet
+%%%
+%%% Ce fichier fait partie du projet
+%%% «Rédaction avec LaTeX»
+%%% https://gitlab.com/vigou3/formation-latex-ul
+%%%
+%%% Cette création est mise à disposition sous licence
+%%% Attribution-Partage dans les mêmes conditions 4.0
+%%% International de Creative Commons.
+%%% https://creativecommons.org/licenses/by-sa/4.0/
+
+\chapter{Présentation de {\TeX} et {\LaTeX}}
+\label{chap:presentation}
+
+La production d'un document à l'aide d'un ordinateur comporte toujours
+trois grandes étapes:
+\begin{enumerate}
+\item la saisie du texte dans l'ordinateur;
+\item la composition du texte sur la page en lignes de longueur égale
+ et en paragraphes, ainsi que la disposition des éléments tels que les
+ figures et les tableaux;
+\item la production du document final pour consultation à l'écran ou
+ pour l'impression.
+\end{enumerate}
+Les logiciels de traitement de texte combinent les trois étapes de
+manière transparente pour l'utilisateur.
+
+Le système {\LaTeX}, lui, est un logiciel de mise en page qui se
+charge uniquement de la seconde étape de production, celle qui était
+autrefois réalisée à la main ou à l'aide d'une machine comme la
+\link{https://fr.wikipedia.org/wiki/Linotype}{Linotype} par les
+typographes.
+
+La préparation d'un document avec {\LaTeX} requiert d'utiliser trois
+outils bien différents, soit un pour chaque étape de production. Nous
+verrons rapidement que ce qui peut à priori sembler un inconvénient
+constitue en fait un grand avantage.
+
+{\LaTeX} est l'un des systèmes de mise en page les plus utilisés dans
+le monde, particulièrement dans la production de documents
+scientifiques intégrant de multiples équations mathématiques, des
+graphiques, du code informatique, etc. En fait, le nom {\LaTeX} sert
+généralement de terme générique pour toute une famille de programmes.
+Ce chapitre explique donc non seulement la philosophie derrière
+{\LaTeX}, mais également le lien qui unit ce programme aux autres dont
+on croise couramment le nom aujourd'hui: {\TeX}, pdf{\LaTeX},
+{\XeLaTeX}, {\LuaLaTeX}.
+
+Un peu de phonétique avant d'aller plus loin. La racine {\TeX} est une
+transcription en majuscules des lettres grecques $\tau\epsilon\chi$.
+La dernière lettre des acronymes ci-dessus n'est donc non pas un X
+latin, mais plutôt la lettre grecque khi majuscule, qui est
+visuellement identique. Pour cette raison, la terminaison des
+acronymes se prononce «tek». Voilà qui devrait déjà vous permettre de
+distinguer le système de mise en page du matériau élastique.
+
+\notebox{L'histoire courte \emph{Paul apprenti typographe} publiée
+ dans \citet{Rabagliati:1999:campagne} explique formidablement bien
+ le processus de composation d'un texte avec la Linotype. Quelques
+ séquences du très recommandable film \emph{The Post} (2017)
+ illustrent également la composition d'une page de journal.}
+
+
+\section{Description sommaire}
+\label{sec:presentation:description}
+
+À la base de {\LaTeX} et de ses dérivés, il y a toujours le système
+{\TeX} développé par Donald Knuth à partir de la fin des années 1970
+alors qu'il travaillait à la rédaction de son {\oe}uvre phare
+\emph{The Art of Computer Programming}. Comme il n'était pas satisfait
+de la qualité typographique des systèmes de mise en page alors
+disponibles, il a tout naturellement décidé d'en créer un à la hauteur
+de ses exigences!
+
+{\TeX} est un système de mise en page (\emph{typesetting}) ou de
+préparation de documents. De manière plus technique, {\TeX} est un
+langage de programmation spécialisé dans la disposition de caractères
+sur une page. Il met l'accent sur la production de documents de grande
+qualité à la typographie soignée, surtout pour les mathématiques.
+
+Comme le système et le langage {\TeX} ne sont pas des plus faciles à
+apprendre, Leslie Lamport a créé en 1983 un ensemble de
+macro-commandes baptisé {\LaTeX} pour faciliter l'utilisation de
+{\TeX}. Le terme en est venu, chez les utilisateurs, à nommer
+l'ensemble du système.
+
+{\TeX} et {\LaTeX} sont des langages de balisage (\emph{Markup
+ Languages}) qui indiquent la mise en forme du texte à l'intérieur de
+celui-ci par le biais de commandes spéciales.
+
+\begin{exemple}
+ Les traitements de texte sont d'abord et avant tout conçus pour
+ respecter le plus fidèlement possible ce que l'utilisateur produit
+ (d'où l'appellation \emph{What You See is What You Get}, WYSIWYG).
+ Les systèmes de mise en page, quant à eux, visent à maximiser la
+ qualité de la mise en page et de la typographie pour un texte donné.
+
+ Voici deux exemples de typographie soignée. D'abord, l'utilisation
+ de \emph{ligatures} (jonctions) entre certaines lettres. À gauche,
+ ce que produisent les traitements de texte, qui ne voient qu'une
+ série de lettres individuelles. À droite, le résultat avec {\LaTeX},
+ qui peut analyser le texte et identifier les ligatures.
+ \begin{demo}
+ \centering
+ \begin{minipage}{0.3\linewidth}
+ \rmfamily f\/f \quad f\/i \quad f\/l \quad f\/f\/i \quad
+ f\/f\/l
+ \end{minipage}
+ \qquad
+ \begin{minipage}{0.3\linewidth}
+ \rmfamily ff \quad fi \quad fl \quad ffi \quad ffl
+ \end{minipage}
+ \end{demo}
+
+ Ensuite, l'espacement entre les lettres, que {\LaTeX} ajustera selon
+ le contexte. Comparer la disposition pour du texte normal, à gauche,
+ à celle pour des mathématiques, à droite.
+ \begin{demo}
+ \centering
+ \begin{minipage}{0.3\linewidth}
+ \rmfamily xy \quad \emph{xy}
+ \end{minipage}
+ \qquad
+ \begin{minipage}{0.3\linewidth}
+ $xy$
+ \end{minipage}
+ \end{demo}
+ \qed
+\end{exemple}
+
+Nous pouvons étoffer ce portrait de {\LaTeX} en relevant ce que le
+système \emph{n'est pas}.
+
+\begin{itemize}
+\item Un traitement de texte --- {\LaTeX} impose un mode de travail
+ qui permet de séparer \emph{structure} et \emph{apparence} du texte.
+\item WYSIWYG --- un système de mise en page est davantage qualifié de
+ \emph{What You See is What You Mean}.
+\item Incompatible --- le code source {\LaTeX} peut être lu et le
+ document reproduit à l'identique sur tous les types de systèmes
+ informatiques.
+\item Instable --- le moteur {\TeX} est considéré exempt de bogues.
+\item Imprévisible --- {\LaTeX} fait uniquement et exactement ce que
+ nous lui demandons, sans prétendre pouvoir deviner ce que nous
+ voulons faire ou, pire, le savoir mieux que nous.
+\end{itemize}
+
+
+\section{Quelques choses simples à réaliser avec {\LaTeX}}
+
+Quiconque a travaillé un tant soit peu avec un logiciel de traitement
+de texte reconnaitra ci-dessous des éléments de mise en page qui ne
+sont pas toujours simples à réaliser. C'est tout le contraire avec
+{\LaTeX}: quand ce n'est pas le comportement par défaut, il suffit en
+général d'insérer une commande dans le code source pour obtenir le
+résultat souhaité.
+
+\begin{itemize}
+\item Page de titre standard avec le titre du document, le nom de
+ l'auteur et la date.
+\item Table des matières.
+\item Numérotation des pages.
+\item Disposition sur la page des figures et tableaux, numérotation et
+ renvois.
+\item Numérotation des équations mathématiques et renvois.
+\item Citations et composition de la bibliographie.
+\item Coupure de mots.
+\item Document recto verso avec marges distinctes pour le recto et le
+ verso.
+\end{itemize}
+
+
+\section{Processus de création d'un document}
+\label{sec:presentation:processus}
+
+Le processus de création d'un document {\LaTeX} compte trois phases:
+la rédaction, la compilation (ou composition par le système) et la
+visualisation du résultat. On peut le représenter schématiquement
+ainsi:
+\begin{center}
+ \begin{minipage}[t]{0.25\linewidth}
+ \centering
+ {\Huge\faFileTextO} \\ \medskip
+ rédaction du texte et balisage avec un \emph{éditeur de texte}
+ \end{minipage}
+ \quad{\Large\faArrowRight}\quad
+ \begin{minipage}[t]{0.25\linewidth}
+ \centering
+ {\Huge\faCogs} \\ \medskip
+ compilation avec un \emph{moteur} {\TeX} depuis la ligne de commande
+ \end{minipage}
+ \quad{\Large\faArrowRight}\quad
+ \begin{minipage}[t]{0.25\linewidth}
+ \centering
+ {\Huge\faFilePdfO} \\ \medskip
+ visualisation avec une visionneuse externe (Aperçu,
+ SumatraPDF, etc.)
+ \end{minipage}
+\end{center}
+
+Les logiciels de rédaction intégrés facilitent grandement les deux
+premières étapes --- certains intègrent même une visionneuse PDF pour
+englober le processus au complet. Il existe plusieurs de ces
+logiciels. Mentionnons, par exemple:
+\begin{itemize}
+\item \link{http://www.xm1math.net/texmaker/index_fr.html}{Texmaker}
+ (multiplateforme);
+\item \link{https://www.tug.org/texworks/}{TeXworks} (multiplateforme);
+\item \link{http://www.texshop.org/}{TeXShop} (macOS seulement);
+\item \link{http://www.winedt.com}{WinEdt} (Windows seulement);
+\item \link{https://kile.sourceforge.io}{Kile} (Linux);
+\item \link{https://www.gnu.org/software/emacs/}{GNU~Emacs}
+ (multiplateforme) et à peu près tous les bons éditeurs de texte pour
+ programmeur.
+\end{itemize}
+
+\videobox{Visionnez les vidéos qui illustrent comme composer un
+ document simple de type \emph{Hello, World!} avec
+ \link{https://youtu.be/1XKh0f6hFks}{TeXShop sur macOS} et avec
+ \link{https://youtu.be/EIwsQHJhpOQ}{Texmaker sur Windows}.}
+
+
+\section{Outils de production}
+\label{sec:presentation:outils}
+
+Un petit mot d'abord sur les arcanes de {\TeX}. Dans ce monde, il
+existe des \emph{moteurs} et des \emph{formats}. Un moteur {\TeX} est
+un programme informatique qui transforme du code source en
+représentation d'un document sur une page. Un format est simplement un
+ensemble de macro-commandes comprises par un moteur et qui est chargé
+par défaut lorsque le moteur est invoqué avec un nom de commande
+spécifique.
+
+Le \autoref{tab:presentation:moteurs} dresse la liste des divers
+\emph{moteurs} {\TeX} et des formats (ensembles de macro-commandes)
+couramment utilisés aujourd'hui.
+
+\begin{table}
+ \centering
+ \begin{tabular}{llc}
+ \toprule
+ Moteur & Format & Fichier de sortie \\
+ \midrule
+ \code{tex} & \emph{plain} \TeX & DVI \\
+ \code{tex} (\code{latex}) & \LaTeX & DVI \\
+ \code{pdftex} (\code{pdflatex}) & pdf\LaTeX & PDF \\
+ \code{xetex} (\code{xelatex}) & \XeLaTeX & PDF \\
+ \code{luatex} (\code{lualatex}) & \LuaLaTeX & PDF \\
+ \bottomrule
+ \end{tabular}
+ \caption{Moteurs et formats les plus courants}
+ \label{tab:presentation:moteurs}
+\end{table}
+
+\begin{itemize}
+\item Les formats les plus usuels sont pdf{\LaTeX} et {\XeLaTeX}.
+\item Le moteur \code{pdftex} est le moteur par défaut des
+ distributions {\LaTeX} modernes. Comme son nom l'indique, ce moteur
+ produit directement un fichier de sortie en format PDF. C'est la
+ principale différence par rapport au moteur \code{tex}.
+\item Le moteur \code{xetex} peut utiliser directement les polices de
+ caractères du système d'exploitation. La \autoref{sec:trucs:polices}
+ traite plus en détail de ce sujet.
+\item Le moteur \code{luatex} et le format {\LuaLaTeX} offrent les mêmes
+ avantages que \code{xetex} et {\XeLaTeX} en plus d'intégrer les
+ fonctionnalités du langage de programmation
+ \link{https://www.lua.org}{Lua}.
+\item Le format de fichier de sortie DVI, qui est antérieur aux
+ formats PostScript et PDF, permet de décrire la disposition d'un
+ document exactement telle qu'elle devrait apparaitre à l'écran ou à
+ l'impression. C'est un format aujourd'hui plus ou moins tombé en
+ désuétude depuis la standardisation autour du format PDF.
+\end{itemize}
+
+Le système {\LaTeX} est formé d'un grand nombre de composantes réunies
+sous forme d'une \emph{distribution}. La plus populaire distribution
+aujourd'hui est %
+\link{https://www.tug.org/texlive}{{\TeX}~Live}. %
+Elle est administrée par le {\TeX} Users Group. C'est la distribution que
+recommandent la Bibliothèque et la Faculté des études supérieures de
+l'Université Laval.
+
+La philosophie de {\TeX}~Live: tout installer. Cette façon de faire
+est aujourd'hui réalisable puisque l'espace disque est disponible à
+profusion dans les ordinateurs. C'est également la plus simple puisque
+à peu près tout ce que l'on est susceptible d'utiliser dans un système
+{\TeX} est déjà installé. Sur macOS, on installera plutôt la
+distribution %
+\link{https://www.tug.org/mactex/}{Mac{\TeX}}, %
+qui est étroitement dérivée de {\TeX}~Live.
+
+L'\hyperref[chap:introduction]{introduction} fournit des liens vers
+des vidéos expliquant comment installer la distribution {\TeX}~Live
+sur macOS et Windows.
+
+La distribution %
+\link{https://miktex.org}{MiK\TeX} %
+demeure également très populaire sur Windows.
+
+\notebox{%
+ Quelques faits amusants au sujet de {\TeX}.
+ \begin{itemize}
+ \item {\TeX} est aujourd'hui considéré exempt de bogue. D'ailleurs,
+ Donald Knuth vous offre une récompense (symbolique) si vous en
+ trouvez un!
+ \item Le numéro de version de {\TeX} converge vers $\pi$. Au moment
+ d'écrire ces lignes, le numéro de version était \code{3.14159265}.
+ \end{itemize}
+ Consultez les liens suivants pour en savoir plus.
+ \begin{itemize}
+ \item \link{https://www.tug.org/whatis.html}{Histoire de \TeX} sur
+ le site du {\TeX} Users Group (en anglais).
+ \item {\TeX} sur Wikipedia
+ (\link{https://fr.wikipedia.org/wiki/TeX}{version française};
+ \link{https://en.wikipedia.org/wiki/TeX}{version anglaise}, plus
+ complète).
+ \item
+ \link{https://www.tug.org/TUGboat/tb25-1/beebe-2003keynote.pdf}{Texte
+ de la conférence} de \citet{Beebe:keynote:2004} à l'occasion des
+ 25 ans de {\TeX} et \textlogo{METAFONT}.
+ \end{itemize}}
+
+
+%%%
+%%% Exercices
+%%%
+
+\section{Exercices}
+\label{sec:presentation:exercices}
+
+\begin{exercice}[nosol]
+ Composer un premier document très simple de type \emph{Hello World!}
+ tel qu'expliqué dans les vidéos mentionnées à la
+ \autoref{sec:presentation:outils}.
+\end{exercice}
+
+\begin{exercice}[nosol]
+ À l'aide d'un logiciel intégré de rédaction (Texmaker et
+ TeXShop\footnote{%
+ Avant d'ouvrir un premier fichier avec TeXShop, aller dans les
+ préférences de l'application et changer l'encodage par défaut pour
+ «Unicode (UTF-8)». Redémarrer ensuite l'application.}
+ constituent des bonnes options pour débuter), ouvrir et compiler le
+ fichier \fichier{exercice\_minimal.tex}.
+\end{exercice}
+
+\begin{exercice}[nosol]
+ Question de voir ce que {\LaTeX} peut faire, compiler le document
+ élaboré \fichier{exercice\_demo.tex} de la manière suivante: une
+ fois avec {\LaTeX}; une fois avec {\BibTeX}; deux à trois autres
+ fois avec {\LaTeX}.
+\end{exercice}
+
+%%% Local Variables:
+%%% mode: latex
+%%% TeX-master: "formation-latex-ul"
+%%% TeX-engine: xetex
+%%% coding: utf-8
+%%% End:
diff --git a/info/formation-latex-ul/source/solutions.tex b/info/formation-latex-ul/source/solutions.tex
new file mode 100644
index 0000000000..17ebe301c2
--- /dev/null
+++ b/info/formation-latex-ul/source/solutions.tex
@@ -0,0 +1,30 @@
+%%% Copyright (C) 2018 Vincent Goulet
+%%%
+%%% Ce fichier fait partie du projet
+%%% «Rédaction avec LaTeX»
+%%% https://gitlab.com/vigou3/formation-latex-ul
+%%%
+%%% Cette création est mise à disposition sous licence
+%%% Attribution-Partage dans les mêmes conditions 4.0
+%%% International de Creative Commons.
+%%% https://creativecommons.org/licenses/by-sa/4.0/
+
+\chapter{Solutions des exercices}
+\label{chap:solutions}
+
+\input{solutions-bases}
+% \input{solutions-organisation}
+% \input{solutions-apparence}
+\input{solutions-boites}
+\input{solutions-tableaux+figures}
+\input{solutions-mathematiques}
+\input{solutions-bibliographie}
+\input{solutions-commandes}
+\input{solutions-trucs+astuces}
+
+%%% Local Variables:
+%%% mode: latex
+%%% TeX-master: "formation-latex-ul"
+%%% TeX-engine: xetex
+%%% coding: utf-8
+%%% End:
diff --git a/info/formation-latex-ul/source/suite-diapos.tex b/info/formation-latex-ul/source/suite-diapos.tex
new file mode 100644
index 0000000000..e5dfa5aa4b
--- /dev/null
+++ b/info/formation-latex-ul/source/suite-diapos.tex
@@ -0,0 +1,42 @@
+%%% Copyright (C) 2018 Vincent Goulet
+%%%
+%%% Ce fichier fait partie du projet
+%%% «Rédaction avec LaTeX»
+%%% https://gitlab.com/vigou3/formation-latex-ul
+%%%
+%%% Cette création est mise à disposition sous licence
+%%% Attribution-Partage dans les mêmes conditions 4.0
+%%% International de Creative Commons.
+%%% https://creativecommons.org/licenses/by-sa/4.0/
+
+\section{Et la suite?}
+
+\begin{frame}
+ \frametitle{Pour en savoir plus}
+
+ \begin{columns}
+ \begin{column}{.6\textwidth}
+ Le document de référence fournit des détails additionnels et
+ couvre des concepts plus avancés:
+ \begin{itemize}
+ \small
+ \item boites, tableaux et figures
+ \item équations mathématiques élaborées
+ \item bibliographie et citations
+ \item commandes et environnement sur mesure
+ \item changement de police
+ \item diapositives
+ \item etc.
+ \end{itemize}
+ \end{column}
+ \begin{column}{.4\textwidth}
+ \includegraphics[height=0.8\textheight,frame]{images/formation-latex-ul}
+ \end{column}
+ \end{columns}
+\end{frame}
+
+%%% Local Variables:
+%%% TeX-master: "formation-latex-ul-diapos"
+%%% TeX-engine: xetex
+%%% coding: utf-8
+%%% End:
diff --git a/info/formation-latex-ul/source/sweave-diapos.tex b/info/formation-latex-ul/source/sweave-diapos.tex
new file mode 100644
index 0000000000..a18245ae26
--- /dev/null
+++ b/info/formation-latex-ul/source/sweave-diapos.tex
@@ -0,0 +1,63 @@
+%%% Copyright (C) 2018 Vincent Goulet
+%%%
+%%% Ce fichier fait partie du projet
+%%% «Rédaction avec LaTeX»
+%%% https://gitlab.com/vigou3/formation-latex-ul
+%%%
+%%% Cette création est mise à disposition sous licence
+%%% Attribution-Partage dans les mêmes conditions 4.0
+%%% International de Creative Commons.
+%%% https://creativecommons.org/licenses/by-sa/4.0/
+
+\section{Programmation lettrée}
+
+\begin{frame}[fragile=singleslide]
+ \frametitle{Document source combinant {\LaTeX} et code R}
+
+ \fichier{fichier.Rnw}
+\begin{lstlisting}[emph={Sexpr}]
+...
+
+L'utilisateur de R interagit avec l'interprète en entrant
+des commandes à l'invite de commande:
+<<echo=TRUE>>=
+2 + 3
+@
+La commande \verb=exp(1)= donne \Sexpr{exp(1)},
+la valeur du nombre $e$.
+
+...
+\end{lstlisting}
+\end{frame}
+
+\begin{frame}[fragile=singleslide]
+ \frametitle{Après traitement par Sweave dans R}
+
+ \texttt{Sweave("fichier.Rnw")}
+ $\rightarrow$ \fichier{fichier.tex}
+\begin{lstlisting}[emph={Schunk,Sinput,Soutput}]
+...
+
+L'utilisateur de R interagit avec l'interprète en entrant
+des commandes à l'invite de commande:
+\begin{Schunk}
+\begin{Sinput}
+> 2 + 3
+\end{Sinput}
+\begin{Soutput}
+[1] 5
+\end{Soutput}
+\end{Schunk}
+La commande \verb=exp(1)= donne 2.71828182845905,
+la valeur du nombre $e$.
+
+...
+\end{lstlisting}
+
+\end{frame}
+
+%%% Local Variables:
+%%% TeX-master: "formation-latex-ul-diapos"
+%%% TeX-engine: xetex
+%%% coding: utf-8
+%%% End:
diff --git a/info/formation-latex-ul/source/tableaux+figures.tex b/info/formation-latex-ul/source/tableaux+figures.tex
new file mode 100644
index 0000000000..8e8157db3e
--- /dev/null
+++ b/info/formation-latex-ul/source/tableaux+figures.tex
@@ -0,0 +1,1183 @@
+%%% Copyright (C) 2018 Vincent Goulet
+%%%
+%%% Ce fichier fait partie du projet
+%%% «Rédaction avec LaTeX»
+%%% https://gitlab.com/vigou3/formation-latex-ul
+%%%
+%%% Cette création est mise à disposition sous licence
+%%% Attribution-Partage dans les mêmes conditions 4.0
+%%% International de Creative Commons.
+%%% https://creativecommons.org/licenses/by-sa/4.0/
+
+\chapter{Tableaux et figures}
+\label{chap:tableaux}
+
+Les tableaux et graphiques ne sont pas les éléments de texte les plus
+simples et rapides à créer avec {\LaTeX}. Les traitements de texte
+brillent, ici, avec leurs interfaces graphiques permettant de composer
+un tableau ou un graphique simple pièce par pièce avec la souris.
+
+En revanche, pour ce type de contenu comme pour tout autre, {\LaTeX}
+fait ce qu'on lui demande, sans tenter de deviner notre pensée ou,
+pire, de prétendre savoir mieux que nous ce que nous voulons faire. À
+ce chapitre, les traitements de texte ne brillent plus! Quiconque a
+déjà eu de la difficulté à contrôler les bordures d'un tableau, la
+hauteur des lignes ou la largeur des colonnes dans un traitement de
+texte comprendra combien l'exercice de composition d'un tableau avec
+ces outils peut rapidement devenir frustrant.
+
+Avant de discuter de la création ou de l'insertion de tableaux, de
+graphiques et d'images dans un document {\LaTeX}, il convient de
+présenter très succinctement quelques règles à suivre pour concevoir
+des tableaux clairs et faciles à consulter.
+
+
+\section{De la conception de beaux tableaux}
+\label{sec:tableaux:booktabs}
+
+Les tableaux servent à disposer de l'information sous forme de
+grille. Par conséquent, le premier réflexe pour les mettre en forme
+consiste souvent à mettre en évidence cette grille par le biais de
+filets\footnote{%
+ Terme typographique pour ce qui est communément appelés des «lignes»
+ dans le langage courant ou des «bordures» dans les logiciels de
+ traitement de texte. Dans la documentation en anglais, on parle de
+ \emph{rules}.} %
+horizontaux et verticaux.
+
+C'est une mauvaise idée, une pratique à éviter. Vraiment!
+
+Comparer les deux tableaux ci-dessous. Le premier est mis en forme
+selon une approche classique supportée depuis toujours par {\LaTeX}:
+filets doubles en entête et en pied de tableau, filets simples entre
+chaque ligne et entre les colonnes.
+
+\begin{center}
+ \begin{tabular}{|>{$}c<{$}|>{$}r<{$}|>{$}r<{$}|>{$}r<{$}|>{$}c<{$}|>{$}c<{$}|}
+ \hline\hline
+ i &
+ \multicolumn{1}{c|}{$v$} &
+ \multicolumn{1}{c|}{$b_i$} &
+ \lfloor v/b_i \rfloor & v \bmod b_i & x_i \\
+ \hline
+ 0 & \nombre{91492} & 60 & \nombre{1524} & 52 & 52 \\
+ \hline
+ 1 & \nombre{1524} & 60 & 25 & 24 & 24 \\
+ \hline
+ 2 & 25 & 24 & 1 & 1 & 1 \\
+ \hline
+ 3 & 1 & 365 & 0 & 1 & 1 \\
+ \hline\hline
+ \end{tabular}
+\end{center}
+
+Le second tableau tire profit des fonctionnalités du paquetage
+\pkg{booktabs} \citep{booktabs} et des recommandations de son auteur:
+les filets horizontaux sont d'épaisseur différente selon qu'ils sont
+situés dans l'entête et dans le pied du tableau ou entre les lignes,
+l'espace autour des filets horizontaux est plus grand et, surtout, il
+n'y a pas de filets verticaux.
+
+\begin{center}
+ \begin{tabular}{>{$}c<{$}>{$}r<{$}>{$}r<{$}>{$}r<{$}>{$}c<{$}>{$}c<{$}}
+ \toprule
+ i &
+ \multicolumn{1}{c}{$v$} &
+ \multicolumn{1}{c}{$b_i$} &
+ \lfloor v/b_i \rfloor & v \bmod b_i & x_i \\
+ \midrule
+ 0 & \nombre{91492} & 60 & \nombre{1524} & 52 & 52 \\
+ 1 & \nombre{1524} & 60 & 25 & 24 & 24 \\
+ 2 & 25 & 24 & 1 & 1 & 1 \\
+ 3 & 1 & 365 & 0 & 1 & 1 \\
+ \bottomrule
+ \end{tabular}
+\end{center}
+
+La seconde version n'est-elle pas la plus aérée et la plus facile à
+consulter? N'est-ce pas que, contrairement à ce que l'on pourrait
+penser, les filets verticaux ne sont pas du tout requis pour bien
+délimiter les colonnes?
+
+Tel que mentionné ci-dessus, le paquetage \pkg{booktabs} ajoute des
+fonctionnalités à {\LaTeX} pour améliorer la qualité typographique des
+tableaux. Dans la %
+\doc{booktabs}{http://texdoc.net/pkg/booktabs} %
+du paquetage, son auteur énonce quelques règles à suivre pour la mise
+en forme des tableaux:
+\begin{enumerate}
+\item ne \emph{jamais} utiliser de filets verticaux. Si l'information
+ du côté gauche du tableau semble si différente de celle du côté
+ droit qu'un filet vertical apparait absolument nécessaire, scinder
+ simplement l'information dans deux tableaux;
+\item ne jamais utiliser de filets doubles;
+\item placer les unités (\$, cm, {\textdegree}C, etc.) dans le titre
+ de la colonne plutôt qu'après chaque valeur dans le corps du
+ tableau;
+\item toujours inscrire un chiffre du côté gauche du séparateur
+ décimal: $0,1$ et non $,1$ (pratique plus répandue en anglais, où le
+ séparateur décimal est le point);
+\item ne pas utiliser un symbole pour représenter une valeur
+ répétée (comme $''$ ou ---). Laisser un blanc ou répéter la
+ valeur s'il subsiste une ambiguïté.
+\end{enumerate}
+
+Nous recommandons évidemment de suivre ces règles et c'est pourquoi la
+présente documentation ainsi que les fichiers d'exemples font usage
+des commandes de \pkg{booktabs}.
+
+Les fonctionnalités de \pkg{booktabs} sont intégrées à la classe
+\class{memoir} et, par conséquent, à \class{ulthese}. Il n'est donc pas
+nécessaire de charger le paquetage avec ces deux classes.
+
+
+
+\section{Tableaux}
+\label{sec:tableaux:tableaux}
+
+Peu importe l'outil informatique utilisé, la création d'un tableau
+requiert toujours de préciser à l'ordinateur le nombre de colonnes que
+contiendra le tableau, l'entête du tableau le cas échéant et le contenu
+des différentes cellules. Cette dernière étape nécessite à son tour
+une convention pour indiquer les passages à la colonne suivante
+ainsi que le passage à la ligne suivante.
+
+On crée des tableaux dans {\LaTeX} principalement avec les
+environnements \Ie{tabular}, \Ie{tabular*} et \Ie{tabularx} (ce
+dernier fourni par le paquetage \pkg{tabularx} ou par la classe
+\class{memoir}). La syntaxe de ces environnements est:
+\begin{lstlisting}
+\begin{tabular}`\marg{format}' `\meta{lignes}' \end{tabular}
+\begin{tabular*}`\marg{largeur}\marg{format}' `\meta{lignes}' \end{tabular*}
+\begin{tabularx}`\marg{largeur}\marg{format}' `\meta{lignes}' \end{tabularx}
+\end{lstlisting}
+La signification des arguments\footnote{%
+ Nous avons omis un argument optionnel à peu près jamais utilisé
+ servant à spécifier l'alignement vertical du tableau par rapport à
+ la ligne de base externe.} %
+est la suivante. Nous ne traitons ici que les options les plus souvent
+utilisées. Pour une liste plus exhaustive, consulter la %
+\doc{memoir}{http://texdoc.net/pkg/memoir} %
+de la classe \class{memoir} (chapitre 11) ou %
+\citet[section
+\link{https://fr.wikibooks.org/wiki/LaTeX/Tableaux}{Tableaux}]{wikilivres:latex}.
+
+\begin{list}{}{%
+ \setlength{\labelsep}{1.5ex}
+ \settowidth{\labelwidth}{\meta{largeur}}
+ \setlength{\leftmargin}{\labelwidth}
+ \addtolength{\leftmargin}{\labelsep}
+ \setlength{\parsep}{0.5ex plus0.2ex minus0.2ex}
+ \setlength{\itemsep}{0.3ex}
+ \renewcommand{\makelabel}[1]{\meta{#1}\hfill}}
+%
+\item[largeur] Largeur hors tout d'un tableau avec les environnements
+ \Pe{tabular*} et \Pe{tabularx}. Autrement, avec l'environnement
+ \Pe{tabular}, la largeur d'un tableau est déterminée automatiquement
+ pour contenir tout le tableau, quitte à dépasser dans la marge de
+ droite.
+
+ La largeur du tableau est généralement exprimée en fraction de la
+ largeur du bloc de texte (longueur \cmd{!textwidth}). Par exemple,
+ les déclarations suivantes définissent respectivement des tableaux
+ occupant toute la largeur d'une page et 80~\% de la largeur de la
+ page:
+\begin{lstlisting}
+\begin{tabular*}{\textwidth}`\marg{format}'
+\end{lstlisting}
+\begin{lstlisting}
+\begin{tabularx}{0.8\textwidth}`\marg{format}'
+\end{lstlisting}
+ L'environnement \Ie{tabular*} joue sur l'espace entre les colonnes
+ pour parvenir à la largeur prescrite, alors que \Ie{tabularx} joue
+ sur la largeur des colonnes (voir ci-dessous).
+ %
+\item[format] Le format des colonnes et, par le fait même, le nombre
+ de colonnes puisque l'argument doit compter un symbole pour chaque
+ colonne du tableau. Les principaux symboles de mise en forme des
+ colonnes sont:
+ \begin{description}
+ \item[\normalfont\code{l}] contenu de la colonne aligné à gauche;
+ \item[\normalfont\code{r}] contenu de la colonne aligné à droite;
+ \item[\normalfont\code{c}] contenu de la colonne centré;
+ \item[\normalfont\code{p\marg{lgr}}] contenu de la
+ colonne traité comme un paragraphe de texte de largeur
+ \meta{lgr};
+ \item[\normalfont\code{X}] [environnement \Pe{tabularx} seulement]
+ colonne dont la largeur peut être ajustée pour obtenir un tableau
+ de la largeur prescrite; identique à \code{p} par ailleurs.
+ \end{description}
+ Par exemple, la déclaration
+\begin{lstlisting}
+\begin{tabular}{lrp{5cm}}
+\end{lstlisting}
+ définit un tableau à trois colonnes dont le contenu de la première
+ est aligné à gauche; celui de la seconde est aligné à droite; celui de
+ la troisième est en texte libre dans une cellule de 5~cm de largeur.
+
+ Avec la déclaration
+\begin{lstlisting}
+\begin{tabularx}{\textwidth}{lrX}
+\end{lstlisting}
+ la largeur de la troisième colonne sera plutôt adaptée
+ automatiquement pour que le tableau occupe toute la largeur de la
+ page.
+
+ Les symboles \verb=|= et \verb=||= dans \textit{format} servent à
+ insérer des filets verticaux simples et doubles entre les colonnes,
+ mais nous avons vu à la \autoref{sec:tableaux:booktabs} que c'est
+ une pratique à proscrire.
+ %
+\item[lignes] Le contenu des cellules du tableau. Les entrées des
+ cellules sont séparées par le symbole \verb=&= et les lignes par
+ {\pixbsbs}. Une cellule peut être vide.
+\end{list}
+
+Outre du texte, les lignes de contenu peuvent contenir certaines
+commandes spéciales pour contrôler la mise en forme du tableau. En
+premier lieu, la commande
+\begin{lstlisting}
+\multicolumn`\marg{n}\marg{fmt}\marg{texte}'
+\end{lstlisting}
+permet de fusionner les \meta{n} cellules suivantes en une seule de
+format \meta{fmt} et d'y placer \meta{texte}. Cette commande ne peut
+apparaitre qu'au début d'une ligne ou après un symbole de changement
+de colonne \verb=&=. Elle est souvent utilisée avec une valeur de
+\meta{n} égale à 1 pour changer le format d'une cellule, par exemple
+pour centrer le titre d'une colonne qui est autrement alignée à gauche
+ou à droite.
+
+Ensuite, les commandes suivantes\footnote{%
+ Ce sont les commandes de \pkg{booktabs} et \class{memoir} auxquelles
+ nous faisions référence à la \autoref{sec:tableaux:booktabs}.} %
+servent à insérer des filets horizontaux dans un tableau:
+\begin{lstlisting}
+\toprule
+\midrule
+\cmidrule`\marg{m-n}'
+\bottomrule
+\end{lstlisting}
+La commande \cmd{\toprule} insère un filet horizontal épais suivi d'un
+espace vertical au début d'un tableau; \cmd{\midrule} insère un filet
+horizontal mince précédé et suivi d'un espace vertical entre deux
+lignes; \cmd{\cmidrule}\marg{m-n} insère un filet horizontal comme
+\cmdprint{\midrule} de la gauche de la colonne \meta{m} à la droite de
+la colonne \meta{n}; enfin, \cmd{\bottomrule} insère un filet
+horizontal épais précédé d'un espace vertical à la fin d'un tableau.
+Une fin de ligne {\bs\bs} doit obligatoirement précéder chacune de ces
+commandes, sauf évidemment \cmdprint{\toprule}.
+
+La hauteur des lignes d'un tableau est déterminée automatiquement en
+fonction du contenu de celles-ci.
+
+\begin{exemple}
+ \label{exemple:tableaux:tabular:1}
+ Considérer le tableau suivant:
+ \begin{center}
+ \begin{tabular}{lrrr}
+ \toprule
+ Produit & Quantité & Prix unitaire (\$) & Prix (\$) \\
+ \midrule
+ Vis à bois & 2 & 9,90 & 19,80 \\
+ Clous vrillés & 5 & 4,35 & 21,75 \\
+ \midrule
+ TOTAL & 7 & & 41,55 \\
+ \bottomrule
+ \end{tabular}
+ \end{center}
+ La largeur du tableau est ajustée au contenu, la première colonne
+ est alignée à gauche et toutes les autres, à droite. Le code
+ ci-dessous permet de créer ce tableau. Remarquer comment les lignes
+ de contenu sont définies.
+\begin{lstlisting}
+\begin{tabular}{lrrr}
+ \toprule
+ Produit & Quantité & Prix unitaire (\$) & Prix (\$) \\
+ \midrule
+ Vis à bois & 2 & 9,90 & 19,80 \\
+ Clous vrillés & 5 & 4,35 & 21,75 \\
+ \midrule
+ TOTAL & 7 & & 41,55 \\
+ \bottomrule
+\end{tabular}
+\end{lstlisting}
+ \qed
+\end{exemple}
+
+\begin{exemple}
+ \label{exemple:tableaux:tabular:2}
+ On souhaite modifier le tableau de
+ l'\autoref{exemple:tableaux:tabular:1} pour obtenir le tableau
+ suivant:
+ \begin{center}
+ \begin{tabularx}{\textwidth}{Xrrr}
+ \toprule
+ \multicolumn{1}{c}{Produit} &
+ \rule[-8pt]{0mm}{24pt} Quantité & Prix unitaire (\$) & Prix (\$) \\
+ \midrule
+ Vis à bois & 2 & 9,90 & 19,80 \\
+ Clous vrillés & 5 & 4,35 & 21,75 \\
+ \midrule
+ TOTAL & 7 & & 41,55 \\
+ \bottomrule
+ \end{tabularx}
+ \end{center}
+ Le tableau occupe désormais toute la largeur de la page, la largeur
+ de la première colonne étant ajustée pour combler l'espace
+ nécessaire. De plus, le titre de la première colonne est centré et
+ la hauteur de l'entête est augmentée.
+
+ Le code suivant permet de réaliser cette mise en forme.
+\begin{lstlisting}
+\begin{tabularx}{\textwidth}{Xrrr}
+ \toprule
+ \multicolumn{1}{c}{Produit} &
+ \rule[-8pt]{0mm}{24pt} Quantité &
+ Prix unitaire (\$) & Prix (\$) \\
+ \midrule
+ Vis à bois & 2 & 9,90 & 19,80 \\
+ Clous vrillés & 5 & 4,35 & 21,75 \\
+ \midrule
+ TOTAL & 7 & & 41,55 \\
+ \bottomrule
+\end{tabularx}
+\end{lstlisting}
+ L'environnement \Ie{tabularx} sert à créer un tableau de largeur
+ définie et la commande \cmd{\multicolumn}, à centrer le titre de la
+ première colonne. On augmente la hauteur de l'entête à l'aide d'une
+ réglure invisible (\autoref{sec:boites:rulebox}). %
+ \qed
+\end{exemple}
+
+
+\section{Figures et graphiques}
+\label{sec:tableaux:figures}
+
+Il est possible de tracer des figures simples directement avec
+{\LaTeX}. Par «simple» on entend: des figures se limitant pour
+l'essentiel à du texte, des lignes, des flèches, des ronds et des
+ovales. C'est parfois amplement suffisant et, en définitive, assez
+pratique puisque le code source d'une figure se trouve alors dans le
+même format que le reste du document.
+
+Pour la création de figures et de graphiques plus complexes, on aura généralement
+recours à des logiciels spécialisés externes. {\LaTeX} est ensuite en
+mesure d'importer des graphiques dans les formats standards tels que PDF, JPEG
+ou PNG, voire même d'insérer dans un document une ou plusieurs pages
+d'un document PDF.
+
+Couvrir les détails de la création et de la manipulation d'images
+dépasse largement la portée du présent document. Le reste de cette
+section ne présente que les principales fonctionnalités. Le lecteur
+qui souhaite en savoir plus pourra se référer aux sources de documentation habituelles figurant à la
+bibliographie.
+
+
+\subsection{Figures {\LaTeX}}
+\label{sec:tableaux:figures:picture}
+
+L'environnement \Ie{picture} permet de tracer des figures simples
+comme des diagrammes à base de texte, des flux logiques ou des
+organigrammes. Quelques logiciels spécialisés de création de
+graphiques sont même en mesure d'exporter leurs graphiques dans le
+format de \Pe{picture}.
+
+Une fois conçues, les figures réalisées avec \Pe{picture} sont
+simples à modifier; nul besoin de recourir à un logiciel externe pour
+le moindre petit changement. Autre avantage: la police du texte
+de la figure sera le même que celle du document.
+
+Pour tracer une figure avec l'environnement \Pe{picture}, on crée
+d'abord une grille (invisible) d'une dimension quelconque dans l'unité
+de mesure de son choix (autrement dit: les lignes de la grille
+peuvent être distantes aussi bien de \code{1pt} que de \code{1cm}).
+Ensuite, on dispose des éléments sur la grille en donnant les
+coordonnées du point d'ancrage et, le cas échéant, les dimensions de
+l'élément, la distance à parcourir ou quelqu'autre information pour
+compléter l'élément. C'est souvent plus simple d'esquisser d'abord un modèle au
+crayon sur du papier quadrillé.
+
+La figure ci-dessous illustre ce qu'il est possible de faire avec
+l'environnement \Pe{picture}. La consultation du code commenté
+correspondant devrait permettre de comprendre les principes de base de
+la création de figures. Autrement, l'annexe~D de la %
+\doc{memoir}{http://texdoc.net/pkg/memoir} %
+de \class{memoir} fournit une bonne introduction à \Pe{picture}.
+
+(Nous avons tracé la grille en filigrane dans la figure afin de
+faciliter la comparaison entre le code et le résultat.)
+
+\setlength{\unitlength}{7mm}
+\begin{center}
+ \begin{picture}(15,9)
+ \linethickness{0.3pt} \color{lightgray}
+ \multiput(0,0)(1,0){16}{\line(0,1){9}}
+ \multiput(0,0)(0,1){10}{\line(1,0){15}}
+ \color{black}
+
+ %% boites
+ \put(0,7){%
+ \framebox(5,1.5){
+ \begin{minipage}{35mm}
+ \centering L'environnement \\ \texttt{picture}
+ \end{minipage}}}
+
+ \put(1,4.5){\circle{2}}
+ \put(1,4.5){\makebox(0,0){\small convient}}
+ \put(4,3){\circle{2}}
+ \put(4,3){\makebox(0,0){\small bien}}
+
+ \put(8.5,5.7){pour les diagrammes}
+
+ \thicklines
+ \put(8,1){\dashbox{0.2}(7,1.5){et autres figures simples.}}
+
+ %% lignes
+ \thinlines
+ \put(1,7){\vector(0,-1){1.5}}
+
+ \put(14,5.75){\circle*{0.1}}
+ \put(14,5.75){\vector(-1,-1){3.25}}
+
+ \thicklines
+ \put(1,3.5){\line(0,-1){0.5}}
+ \put(1,3){\vector(1,0){2}}
+
+ \qbezier(4,2)(5.5,-0.5)(7,4.25)
+ \qbezier(7,4.25)(8.5,9)(10,6.5)
+ \put(10,6.5){\vector(2,-3){0}}
+ \end{picture}
+\end{center}
+
+\begingroup
+ \small
+\begin{lstlisting}
+\setlength{\unitlength}{7mm} % unité de mesure
+\begin{picture}(15,9) % grille 15 x 9
+ %%%
+ %%% On trace d'abord toutes les boites
+ %%%
+ %% Rectangle "L'environnement picture"
+ \put(0,7){% % point d'ancrage (0, 7)
+ \framebox(5,1.5){% % rectangle 5 x 1,5 plein
+ \begin{minipage}{35mm} % contenu de la boite
+ \centering L'environnement \\ \texttt{picture}
+ \end{minipage}}}
+
+ %% Cercles "convient" et "bien"
+ \put(1,4.5){\circle{2}} % cercle diamètre 2
+ \put(1,4.5){\makebox(0,0){\small convient}} % texte centré
+ \put(4,3){\circle{2}} % autre cercle
+ \put(4,3){\makebox(0,0){\small bien}} % texte
+
+ %% Texte "pour les diagrammes"
+ \put(8.5,5.7){pour les diagrammes} % point d'ancrage (8,5, 5,7)
+
+ %% Rectangle pointillé "et autres figures simples."
+ \thicklines % lignes grasses
+ \put(8,1){\dashbox{0.2}(7,1.5){ % rectangle 7 x 1,5 pointillé
+ et autres figures simples.}}
+
+ %%%
+ %%% On trace ensuite les lignes entre les boites
+ %%%
+ %% De "L'environnement picture" à "convient"
+ \thinlines % retour aux lignes minces
+ \put(1,7){\vector(0,-1){1.5}} % flèche vers le bas longueur 1,5
+ % [couple (0,-1) donne la pente]
+
+ %% De "pour les diagrammes" à "et autres figures simples."
+ \put(14,5.75){\circle*{0.1}} % petit cercle plein
+ \put(14,5.75){\vector(-1,-1){3.25}} % flèche vers sud-ouest
+ % [3.25 = déplacement hor.]
+
+ %% Entre les deux cercles; requiert deux segments
+ \thicklines % lignes grasses
+ \put(1,3.5){\line(0,-1){0.5}} % courte ligne vert. sans flèche
+ \put(1,3){\vector(1,0){2}} % flèche horizontale
+
+ %% Entre "bien" et "pour les diagrammes"; requiert deux courbes
+ %% de Bézier placées bout à bout pour produire une courbe en S
+ \qbezier(4,2)(5.5,-0.5)(7,4.25) % bas du S
+ \qbezier(7,4.25)(8.5,9)(10,6.5) % haut du S
+ \put(10,6.5){\vector(2,-3){0}} % pointe de flèche seule
+\end{picture}
+\end{lstlisting}
+\endgroup
+
+
+Il existe quelques outils pour tracer des figures plus complexes
+directement avec {\TeX}, dont PSTricks \citep{pstricks}
+ou le système Ti\emph{k}Z/\textsc{pgf} \citep{tikz}.
+Ce dernier gagne beaucoup en popularité depuis quelques années.
+
+
+\subsection{Importation d'images}
+\label{sec:tableaux:figures:graphics}
+
+Il est aujourd'hui simple d'importer des images de source externes
+dans un document {\LaTeX} en utilisant l'un ou l'autre des paquetages
+\pkg{graphics} ou \pkg{graphicx} \citep{graphicx} en combinaison avec
+un moteur {\TeX} moderne tel que pdf{\LaTeX} ou {\XeLaTeX}. Les
+fonctionnalités des deux paquetages sont les mêmes, seules les
+syntaxes des commandes diffèrent. Nous présenterons les commandes de
+\pkg{graphicx}, plus modernes et conviviales.
+
+La commande de base pour importer des images dans un document {\LaTeX} est
+\begin{lstlisting}
+\includegraphics`\oarg{options}\marg{fichier}'
+\end{lstlisting}
+où \meta{fichier} est le nom du fichier à importer. Il n'est pas
+nécessaire de préciser l'extension dans le nom de fichier pour les
+types d'images usuelles. Avec les moteurs pdf{\LaTeX} et {\XeLaTeX},
+les types d'images automatiquement reconnus sont au moins PDF, JPEG et
+EPS.
+
+Les \meta{options} de \cmd{\includegraphics}, nombreuses, permettent
+de redimensionner une image, de la faire pivoter ou encore de n'en
+importer qu'une partie. L'exemple ci-dessous présente les principales
+fonctionnalités; consulter la %
+\doc{grfguide}{http://texdoc.net/pkg/graphics/} %
+pour les détails et d'autres options.
+
+\begin{exemple}
+ Le fichier \fichier{ul\_p.pdf} contenant le logo de l'Université
+ Laval en couleur et en format vectoriel est distribué avec la
+ présente documentation ainsi qu'avec la classe \class{ulthese}. La
+ simple commande
+\begin{lstlisting}
+\includegraphics{ul_p}
+\end{lstlisting}
+ insère le fichier en pleine grandeur dans le document:
+ \begin{demo}
+ \includegraphics{ul_p}
+ \end{demo}
+
+ On peut redimensionner l'image en valeur relative avec l'option
+ \code{scale} ou en valeur absolue avec les options \code{width} ou
+ \code{height}:
+ \begin{demo}
+ \begin{texample}[0.62\linewidth]
+\begin{lstlisting}
+%% réduction à 40 % de taille réelle
+\includegraphics[scale=0.4]{ul_p}
+\end{lstlisting}
+ \producing
+ \includegraphics[scale=0.4]{ul_p}
+ \end{texample}
+ \medskip
+
+ \begin{texample}[0.62\linewidth]
+\begin{lstlisting}
+%% réduction à 15 mm de haut
+\includegraphics[height=15mm]{ul_p}
+\end{lstlisting}
+ \producing
+ \includegraphics[height=15mm]{ul_p}
+ \end{texample}
+ \end{demo}
+ (Il est préférable d'utiliser une seule de \code{width} ou
+ \code{height}. Autrement, ajouter l'option
+ \lstinline|keepaspectratio=true| pour éviter de déformer l'image.)
+
+ L'option \code{angle} permet de faire pivoter l'image dans le sens
+ inverse des aiguilles d'une montre autour du coin inférieur gauche
+ de l'image:
+ \begin{demo}
+ \begin{texample}[0.72\linewidth]
+\begin{lstlisting}
+%% réduction à 25 %, rotation à 45 degrés
+\includegraphics[angle=45,scale=0.25]{ul_p}
+\end{lstlisting}
+ \producing
+ \includegraphics[angle=45,scale=0.25]{ul_p}
+ \end{texample}
+ \end{demo}
+
+ Enfin, il y a diverses manières de sélectionner une partie seulement
+ d'une image. L'option \code{bb} (pour \emph{Bounding Box}) prend
+ quatre mesures en points PostScript (\autoref{tab:bases:longueurs})
+ définissant le coin inférieur gauche et le coin supérieur droit de
+ la zone à inclure:
+ \begin{demo}
+ \begin{texample}[0.72\linewidth]
+\begin{lstlisting}
+%% extraction du logo seul et réduction
+\includegraphics[bb=0 0 102 129,clip=true,
+ scale=0.4]{ul_p}
+\end{lstlisting}
+ \producing
+ \includegraphics[bb=0 0 102 129, clip=true, scale=0.4]{ul_p}
+ \end{texample}
+ \end{demo}
+ \qed
+\end{exemple}
+
+La commande \cmd{\includegraphics} permet d'appliquer certaines
+transformations aux images importées. Ces transformations peuvent
+également s'effectuer à l'aide de commandes externes \emph{après}
+l'importation. L'avantage de ces commandes, c'est qu'elles sont
+valides tout autant pour du texte que pour des images.
+
+Le paquetage \pkg{graphicx} définit les commandes suivantes:
+\begin{lstlisting}
+\rotatebox`\oarg{options}\marg{angle}\marg{texte}'
+\scalebox`\marg{échelle-h}\oarg{échelle-v}\marg{texte}'
+\resizebox`\marg{dim-h}\marg{dim-v}\marg{texte}'
+\reflectbox`\marg{texte}'
+\end{lstlisting}
+Dans tous les cas, \meta{texte} peut être du simple texte ou une boite
+quelconque, y compris le résultat de \cmd{\includegraphics}. Ainsi,
+\begin{lstlisting}
+\rotatebox{45}{\includegraphics{ul_p}}
+\end{lstlisting}
+et
+\begin{lstlisting}
+\includegraphics[angle=45]{ul_p}
+\end{lstlisting}
+donnent le même résultat.
+
+Avec \cmd{\scalebox}, la mise à l'échelle \meta{échelle-h} s'applique
+par défaut autant à l'horizontale qu'à la verticale. Autrement,
+\meta{texte} est déformé. Avec \cmd{\resizebox}, on peut spécifier
+l'une de \meta{dim-h} ou \meta{dim-v} et \verb=!= pour l'autre valeur
+pour éviter de déformer \meta{texte}.
+
+\begin{exemple}
+ Voici des exemples d'utilisation des commandes \cmd{\rotatebox},
+ \cmd{\scalebox}, \cmd{\resizebox} et \cmd{\reflectbox} avec du texte:
+ \begin{demo}
+ \begin{texample}[0.55\linewidth]
+\begin{lstlisting}
+\rotatebox{135}{texte}
+\end{lstlisting}
+ \producing
+ \rotatebox{135}{texte}
+ \end{texample}
+
+ \begin{texample}[0.55\linewidth]
+\begin{lstlisting}
+\scalebox{1.5}{texte}
+\end{lstlisting}
+ \producing
+ \scalebox{1.5}{texte}
+ \end{texample}
+
+ \begin{texample}[0.55\linewidth]
+\begin{lstlisting}
+\scalebox{1.5}[0.75]{texte}
+\end{lstlisting}
+ \producing
+ \scalebox{1.5}[0.75]{texte}
+ \end{texample}
+
+ \begin{texample}[0.55\linewidth]
+\begin{lstlisting}
+\resizebox{3cm}{!}{texte}
+\end{lstlisting}
+ \producing
+ \resizebox{3cm}{!}{texte}
+ \end{texample}
+
+ \begin{texample}[0.55\linewidth]
+\begin{lstlisting}
+\reflectbox{texte}
+\end{lstlisting}
+ \producing
+ \reflectbox{texte}
+ \end{texample}
+ \end{demo}
+ \qed
+\end{exemple}
+
+
+
+\subsection{Insertion de documents PDF}
+\label{sec:tableaux:figures:pdfpages}
+
+Il est parfois utile d'insérer dans un document {\LaTeX} une ou
+plusieurs pages d'un autre document en format PDF, et ce, sans avoir à
+se soucier des marges respectives des deux documents. Si l'on utilise
+les moteurs pdf{\LaTeX} ou {\XeLaTeX}, le très pratique paquetage
+\pkg{pdfpages} \citep{pdfpages} fournit la commande
+\begin{lstlisting}
+\includepdf`\oarg{options}\marg{fichier}'
+\end{lstlisting}
+Les \meta{options} sont très nombreuses; consulter la %
+\doc{pdfpages}{http://texdoc.net/pkg/pdfpages/}.
+
+\begin{exemple}
+ Il n'est pas rare que les couvertures avant et arrière d'un document
+ soient réalisées dans un logiciel spécialisé de création graphique.
+ Supposons que les deux couvertures sont sauvegardées en format PDF
+ dans un fichier \fichier{couvertures.pdf}. Pour les utiliser dans le
+ document, il suffit de placer aux endroits appropriés les commandes
+\begin{lstlisting}
+\includepdf[pages=1]{couvertures}
+\includepdf[pages=2]{couvertures}
+\end{lstlisting}
+ \qed
+\end{exemple}
+
+
+
+\section{Éléments flottants}
+\label{sec:tableaux:floats}
+
+Dans la terminologie de {\LaTeX}, un élément flottant\footnote{%
+ \emph{Float} en anglais.} %
+est un bloc de contenu (une boite, en fait) que le logiciel pourra
+positionner sur la page et dans le document plus ou moins
+automatiquement en fonction d'un algorithme prédéfini. C'est une
+fonctionnalité très évoluée de {\LaTeX}.
+
+Pourquoi voudrait-on laisser {\LaTeX} décider où un élément de contenu
+devrait se retrouver dans notre document? D'abord et avant tout pour
+les tableaux et les figures.
+
+En effet, les tableaux et les figures occupent souvent beaucoup
+d'espace vertical dans la page. S'il ne reste plus assez de place pour
+y afficher un tel élément de contenu, {\LaTeX} devra le déplacer au
+début de la page suivante et cela risque de produire une page
+inesthétique car insuffisamment remplie\footnote{%
+ \emph{Underful \cs{vbox}} dans le jargon de {\TeX}.}. %
+Les traitements de texte génèrent sans rechigner des pages à demi
+remplies dans de telles situations.
+
+En définissant un élément comme flottant, on laisse plutôt à
+{\LaTeX} la possibilité de le disposer au meilleur endroit en fonction
+de la taille de l'élément, du contenu du document et de diverses
+règles typographiques.
+
+On crée des éléments flottants avec les environnements \Ie{table}
+et \Ie{figure}:
+\begin{lstlisting}
+\begin{table}`\oarg{pos}' `\meta{tableau}' \end{table}
+\begin{figure}`\oarg{pos}' `\meta{figure}' \end{figure}
+\end{lstlisting}
+Ci-dessus, \meta{tableau} et \meta{figure} représentent le code source
+d'un tableau ou d'une figure avec possiblement une commande
+\cmd{caption}, tel que traité plus loin.
+
+L'argument optionnel \meta{pos} permet d'indiquer à {\LaTeX}
+la ou les positions \emph{souhaitées} pour le tableau ou la figure dans la page.
+Lorsqu'il est question d'éléments flottants, il est très difficile de donner des
+ordres fermes à {\LaTeX} et l'effet de l'argument \meta{pos} est
+souvent déconcertant. Aussi vaut-il souvent mieux ne rien indiquer et
+laisser {\LaTeX} faire à sa guise. Le résultat demeure assez
+prévisible puisque {\LaTeX} tâchera d'insérer l'élément flottant dans
+le document \emph{dès que possible} sous réserve des conditions
+suivantes:
+\begin{itemize}
+\item l'élément flottant ne peut apparaitre dans le document avant la
+ page où l'élément est défini;
+\item l'élément sera placé de préférence dans le haut de la page
+ courante, puis dans le bas et enfin sur une page séparée ne pouvant
+ contenir que des éléments flottants, mais pas de texte.
+\end{itemize}
+
+Si la décision de {\LaTeX} ne convient pas, il est possible de
+l'infléchir avec une combinaison d'une ou plusieurs des lettres
+suivantes dans l'argument \meta{pos};
+\begin{description}
+\item[\normalfont\code{b}] placer l'élément au bas (\emph{bottom}) de la page;
+\item[\normalfont\code{h}] placer l'élément ici (\emph{here}), à
+ l'endroit où il est défini dans le code source;
+\item[\normalfont\code{p}] placer l'élément sur une page séparée;
+\item[\normalfont\code{t}] placer l'élément au haut (\emph{top}) de la page;
+\item[\normalfont\code{!}] essayer plus fort de placer l'élément à
+ l'endroit spécifié dans le reste de l'argument.
+\end{description}
+La valeur par défaut de l'argument \meta{pos} est \code{tbp}. La
+section~10.4 de la %
+\doc{memoir}{http://texdoc.net/pkg/memoir/} %
+de \class{memoir} explique plus en détail la signification des valeurs
+ci-dessus. Le lecteur qui voudrait vraiment \emph{tout} savoir sur la
+disposition des éléments flottants pourra consulter
+\cite{Mittelbach:floats:2014}.
+
+\begin{exemple}
+ On reprend le tableau de l'\autoref{exemple:tableaux:tabular:1}, mais cette
+ fois défini à l'intérieur d'un environnement \Pe{table}:
+\begin{lstlisting}
+\begin{table}
+ \centering
+ \begin{tabular}{lrrr}
+ \toprule
+ Produit & Quantité & Prix unitaire (\$) & Prix (\$) \\
+ \midrule
+ Vis à bois & 2 & 9,90 & 19,80 \\
+ Clous vrillés & 5 & 4,35 & 21,75 \\
+ \midrule
+ TOTAL & 7 & & 41,55 \\
+ \bottomrule
+ \end{tabular}
+\end{table}
+\end{lstlisting}
+ \begin{table}
+ \centering
+ \begin{tabular}{lrrr}
+ \toprule
+ Produit & Quantité & Prix unitaire (\$) & Prix (\$) \\
+ \midrule
+ Vis à bois & 2 & 9,90 & 19,80 \\
+ Clous vrillés & 5 & 4,35 & 21,75 \\
+ \midrule
+ TOTAL & 7 & & 41,55 \\
+ \bottomrule
+ \end{tabular}
+ \end{table}
+ Remarquer où {\LaTeX} a automatiquement placé le tableau dans le
+ document en fonction des règles précitées. %
+ \qed
+\end{exemple}
+
+Dans un document soigné, tout tableau et toute figure devrait
+comporter une légende ainsi qu'un numéro afin de pouvoir les
+annoncer et y faire référence dans le texte («comme l'illustre la
+figure~3\dots»). Cela
+permet à la fois de guider le lecteur au fil de sa lecture et de
+construire une liste des tableaux et des figures\footnote{%
+ Obtenues respectivement avec les commandes \cmd{\listoftables} et
+ \cmd{\listoffigures} mentionnées à la
+ \autoref{sec:organisation:tdm}.} %
+dans les pages liminaires d'un long document.
+
+Pour ajouter une légende à un tableau ou une figure, il suffit
+d'utiliser à l'intérieur des environnements \Pe{table} et \Pe{figure}
+la commande
+\begin{lstlisting}
+\caption`\oarg{texte\_court}\marg{texte}'
+\end{lstlisting}
+où \meta{texte} est le texte de la légende. Si celui-ci est long
+(plus d'une ligne), on peut en fournir une version abrégée dans
+l'argument optionnel \meta{texte\_court}. C'est cette version abrégée
+qui sera utilisée dans la liste des tableaux ou dans la liste des
+figures.
+
+La commande \cmd{\caption} insère, à l'endroit où elle
+apparait dans l'environnement, une légende de la forme «\textsc{Table}
+\emph{n}~--~\meta{texte}» pour un tableau ou «\textsc{Figure}
+\emph{n}~--~\meta{texte}» pour une figure. Le texte de la légende est
+centré sur la page lorsqu'il fait moins d'une ligne; dans le cas
+contraire il est disposé comme un paragraphe normal.
+
+\tipbox{Les anciennes version du style français de \pkg{babel} utilisaient
+ les étiquettes plus neutres «\textsc{Tab.}» et «\textsc{Fig.}»
+ dans les légendes des tableaux et figures. Pour utiliser --- comme
+ dans le présent document --- ces versions plutôt que les versions
+ par défaut ajouter dans le préambule les commandes de la
+ \autoref{fig:tableaux+figures:captionsfrench}.}
+
+\begin{figure}
+\begin{lstlisting}
+\addto\captionsfrench{%
+ \def\frenchtablename{{\scshape Tab.}}}
+\addto\captionsfrench{%
+ \def\frenchfigurename{{\scshape Fig.}}}
+\end{lstlisting}
+ \caption{Commandes pour modifier les étiquettes des tableaux et des
+ figures utilisées par \pkg{babel}}
+ \label{fig:tableaux+figures:captionsfrench}
+\end{figure}
+
+Pour faire référence à un tableau ou à une figure dans le texte, il
+faut utiliser le système de renvois automatiques de {\LaTeX}
+(\autoref{sec:organisation:renvois}). On attribue une étiquette à l'élément
+flottant en plaçant la commande \cmd{\label} dans le texte de la
+commande \cmd{\caption} ou dans son voisinage immédiat. Les commandes
+\cmd{\ref} ou \cmd{\autoref} servent ensuite à insérer des renvois dans
+le texte.
+
+L'exemple suivant présente finalement la recette complète pour composer
+un tableau et une figure dans {\LaTeX}, légende et renvoi inclus.
+
+\begin{exemple}
+ Le code source de la \autoref{fig:tableaux:captions} crée
+ le \autoref{tab:tableaux:captions}.
+ \begin{figure}
+\begin{lstlisting}
+\begin{table}
+ \centering
+ \caption{Tableau correspondant au code
+ de la \autoref{fig:[...]}}
+ \label{tab:[...]}
+ \begin{tabular}{lrrr}
+ \toprule
+ Produit & Quantité & Prix unitaire (\$) & Prix (\$) \\
+ \midrule
+ Vis à bois & 2 & 9,90 & 19,80 \\
+ Clous vrillés & 5 & 4,35 & 21,75 \\
+ \midrule
+ TOTAL & 7 & & 41,55 \\
+ \bottomrule
+ \end{tabular}
+\end{table}
+\end{lstlisting}
+ \caption{Code source pour créer le \autoref{tab:tableaux:captions}}
+ \label{fig:tableaux:captions}
+ \end{figure}
+ \begin{table}
+ \centering
+ \caption{Tableau correspondant au code de la \autoref{fig:tableaux:captions}}
+ \label{tab:tableaux:captions}
+ \begin{tabular}{lrrr}
+ \toprule
+ Produit & Quantité & Prix unitaire (\$) & Prix (\$) \\
+ \midrule
+ Vis à bois & 2 & 9,90 & 19,80 \\
+ Clous vrillés & 5 & 4,35 & 21,75 \\
+ \midrule
+ TOTAL & 7 & & 41,55 \\
+ \bottomrule
+ \end{tabular}
+ \end{table}
+ \qed
+\end{exemple}
+
+Les environnements \Pe{table} et \Pe{figure} créent des éléments
+flottants qui, par ailleurs, sont des boites verticales standards
+(\autoref{sec:boites:parbox}). Il est donc permis d'y mettre à peu
+près n'importe quoi, mais surtout plus d'un tableau ou plus d'une
+figure (ou même une combinaison des deux). Les environnements
+\Pe{minipage} (\autoref{sec:boites:parbox}) se révèlent alors
+particulièrement utiles pour disposer les éléments de contenu dans la
+boite.
+
+\begin{exemple}
+ \label{exemple:tableaux:grille}
+ La \autoref{fig:tableaux:grille} contient quatre images sous forme
+ de grille $2 \times 2$. Le code ci-dessous démontre comment parvenir
+ à cette disposition à l'aide de boites verticales créées avec
+ l'environnement \Pe{minipage}.
+ \begin{figure}
+ \fcolorbox{lightgray}{white}{\begin{minipage}{0.45\linewidth}
+ \includegraphics[scale=0.4]{ul_p}
+ \end{minipage}}
+ \hfill
+ \fcolorbox{lightgray}{white}{\begin{minipage}{0.45\linewidth}
+ \reflectbox{\includegraphics[scale=0.4]{ul_p}}
+ \end{minipage}}
+ \newline
+ \fcolorbox{lightgray}{white}{\begin{minipage}{0.45\linewidth}
+ \includegraphics[scale=0.4,angle=45]{ul_p}
+ \end{minipage}}
+ \hfill
+ \fcolorbox{lightgray}{white}{\begin{minipage}{0.45\linewidth}
+ \reflectbox{\includegraphics[scale=0.4,angle=45]{ul_p}}
+ \end{minipage}}
+ \caption[Exemple de disposition de plusieurs graphiques dans une
+ même figure flottante]{%
+ Exemple de disposition de plusieurs graphiques dans une
+ même figure flottante. Les rectangles en grisé indiquent les
+ limites des boites verticales.}
+ \label{fig:tableaux:grille}
+ \end{figure}
+\begin{lstlisting}
+\begin{figure}
+ \begin{minipage}{0.45\linewidth}
+ \includegraphics[scale=0.4]{ul_p}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{0.45\linewidth}
+ \reflectbox{\includegraphics[scale=0.4]{ul_p}}
+ \end{minipage}
+ \newline
+ \begin{minipage}{0.45\linewidth}
+ \includegraphics[scale=0.4,angle=45]{ul_p}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{0.45\linewidth}
+ \reflectbox{\includegraphics[scale=0.4,angle=45]{ul_p}}
+ \end{minipage}
+\end{figure}
+\end{lstlisting}
+ \qed
+\end{exemple}
+
+Lorsqu'une figure ou un tableau compte plusieurs éléments, comme à
+l'exemple précédent, il peut être souhaitable d'ajouter pour chacun
+une sous-légende. L'\autoref{ex:tableaux:subcaptions} explique
+comment y parvenir. La section~10.9 de la %
+ \doc{memoir}{http://texdoc.net/pkg/memoir} %
+de \class{memoir} comporte de nombreux détails additionnels sur les
+sous-légendes.
+
+
+%%%
+%%% Exercices
+%%%
+
+\section{Exercices}
+\label{sec:tableaux:exercices}
+
+\Opensolutionfile{solutions}[solutions-tableaux+figures]
+
+\begin{Filesave}{solutions}
+\section*{Chapitre \ref*{chap:tableaux}}
+\addcontentsline{toc}{section}{Chapitre \protect\ref*{chap:tableaux}}
+
+\end{Filesave}
+
+\begin{exercice}
+ Reproduire le tableau ci-dessous à l'aide d'un environnement
+ \Pe{tabular}. Utiliser le gabarit de document
+ \fichier{exercice\_gabarit.tex}.
+
+ La première colonne est alignée à gauche, la seconde est un bloc de
+ texte de $7,5$~cm et la troisième est alignée à droite. Le symbole
+ {\No} dans l'entête est produit par la commande \cmd{\No} de
+ \pkg{babel}. Le dernier prix est composé avec la commande
+ \cmd{\nombre} de \pkg{numprint}.
+ \begin{center}
+ \begin{tabular}{lp{7.5cm}r}
+ \toprule
+ {\No} lot & Description & Prix (\$) \\
+ \midrule
+ U-236 & Ordinateur portable MacBook Air 13~pouces mi-2013,
+ processeur 1,3~GHz, 8~Go RAM, disque SSD 250~Go & 998 \\
+ U-374 & Chaise de bureau ergonomique ajustable de 8 façons,
+ revêtement de tissu gris foncé & 275 \\
+ U-588 & Table de travail en L & \nombre{1125} \\
+ \bottomrule
+ \end{tabular}
+ \end{center}
+ \begin{sol}
+ Les paquetages \pkg{babel} et \pkg{numprint} étant chargés dans le
+ fichier de gabarit, le code pour créer le tableau est le suivant:
+\begin{lstlisting}
+\begin{tabular}{lp{7.5cm}r}
+ \toprule
+ {\No} lot & Description & Prix (\$) \\
+ \midrule
+ U-236 & Ordinateur [...] & 998 \\
+ U-374 & Chaise [...] & 275 \\
+ U-588 & Table [...] & \nombre{1125} \\
+ \bottomrule
+\end{tabular}
+\end{lstlisting}
+ \end{sol}
+\end{exercice}
+
+\begin{exercice}
+ Apporter au tableau de l'exercice précédent les modifications
+ suivantes: centrer le titre de la deuxième colonne; ajuster
+ automatiquement la largeur du tableau au bloc de texte sur la page
+ avec un environnement \Pe{tabularx}.
+ \begin{sol}
+ Pour effectuer les modifications demandées, il faut:
+ \begin{enumerate}[i)]
+ \item utiliser la commande \cmd{\multicolumn} dans l'entête du
+ tableau pour centrer le titre de la deuxième colonne sans
+ autrement centrer le contenu de la colonne;
+ \item remplacer l'environnement \Pe{tabular} par l'environnement
+ \Pe{tabularx} de \class{memoir}, spécifier une largeur de
+ tableau \cs{textwidth}, changer le format de la deuxième colonne
+ pour \code{X} afin que la largeur de celle-ci s'ajuste
+ automatiquement pour combler celle du tableau.
+ \end{enumerate}
+\begin{lstlisting}
+\begin{tabularx}{\textwidth}{lXr}
+ \toprule
+ {\No} lot & \multicolumn{1}{c}{Description}
+ & Prix (\$) \\
+ \midrule
+ U-236 & Ordinateur [...] & 998 \\
+ U-374 & Chaise [...] & 275 \\
+ U-588 & Table [...] & \nombre{1125} \\
+ \bottomrule
+\end{tabularx}
+\end{lstlisting}
+ \end{sol}
+\end{exercice}
+
+\begin{exercice}
+ \label{ex:tableaux:subcaptions}
+ L'\autoref{exemple:tableaux:grille} montre comment intégrer
+ plusieurs figures (ou tableaux) à l'intérieur d'un même
+ environnement flottant en les disposant dans des boites verticales.
+ Dans de tels cas, il peut être souhaitable de fournir une légende
+ pour l'ensemble du flottant, mais aussi des sous-légendes pour
+ chaque tableau ou figure.
+
+ Avec les classes \class{ulthese} et \class{memoir}, la production de
+ sous-légendes requiert d'abord de déclarer, dans le préambule du
+ document, son intention d'en créer pour les environnements flottants
+ \Pe{table} ou \Pe{figure} avec, selon le cas, les commandes
+\begin{lstlisting}
+\newsubfloat{table}
+\newsubfloat{figure}
+\end{lstlisting}
+ Ensuite, on utilise la commande
+\begin{lstlisting}
+\subcaption`\marg{texte}'
+\end{lstlisting}
+ de la même manière que \cmd{\caption}.
+
+ Le fichier \fichier{exercice\_subcaption.tex} contient la structure
+ de base pour composer deux tableaux côte à côte. Ajouter des
+ sous-légendes à l'intérieur de l'environnement flottant.
+ \begin{sol}
+ Tout d'abord, remarquer que la commande
+\begin{lstlisting}
+\newsubfloat{table}
+\end{lstlisting}
+ est déjà présente dans le préambule du fichier. Si l'on souhaite
+ placer des sous-légendes au-dessus de chacun des deux tableaux, le
+ code du tableau devient:
+\begin{lstlisting}
+\begin{table}
+ \caption{Conversion du nombre décimal $23,31$
+ en binaire.}
+ \begin{minipage}[t]{0.45\linewidth}
+ \subcaption`\marg{texte}' % ajout
+ \begin{tabular*}{\linewidth}{crrcc}
+ ...
+ \end{tabular*}
+ \end{minipage}
+ \hfill
+ \begin{minipage}[t]{0.45\linewidth}
+ \subcaption`\marg{texte}' % ajout
+ \begin{tabular*}{\linewidth}{ccccc}
+ ...
+ \end{tabular*}
+ \end{minipage}
+\end{table}
+\end{lstlisting}
+ \end{sol}
+\end{exercice}
+
+\begin{exercice}
+ Utiliser le fichier \fichier{exercice\_gabarit.tex} pour composer un
+ document qui insère, disons, la page couverture du présent document
+ à l'aide des fonctionnalités du paquetage \pkg{pdfpages} décrites à
+ la \autoref{sec:tableaux:figures:pdfpages}.
+ \begin{sol}
+ Le préambule du document devrait contenir la déclaration
+\begin{lstlisting}
+\usepackage{pdfpages}
+\end{lstlisting}
+ pour charger le paquetage \pkg{pdfpages}. Ensuite, à l'endroit où
+ l'on souhaite insérer la couverture du présent document dans le
+ document, il s'agit de placer la commande
+\begin{lstlisting}
+\includepdf[pages=1]{formation-latex-ul}
+\end{lstlisting}
+ \end{sol}
+\end{exercice}
+
+\begin{exercice}[nosol]
+ Le document \fichier{exercice\_demo.tex} contient plusieurs éléments
+ flottants, tableaux et figures. Examiner le code et modifier
+ l'argument optionnel de position d'un flottant pour voir son effet
+ sur la mise en page du document.
+\end{exercice}
+
+\Closesolutionfile{solutions}
+
+%%% Local Variables:
+%%% mode: latex
+%%% TeX-master: "formation-latex-ul"
+%%% TeX-engine: xetex
+%%% coding: utf-8
+%%% End:
diff --git a/info/formation-latex-ul/source/tableaux-diapos.tex b/info/formation-latex-ul/source/tableaux-diapos.tex
new file mode 100644
index 0000000000..03bc0c78d4
--- /dev/null
+++ b/info/formation-latex-ul/source/tableaux-diapos.tex
@@ -0,0 +1,105 @@
+%%% Copyright (C) 2018 Vincent Goulet
+%%%
+%%% Ce fichier fait partie du projet
+%%% «Rédaction avec LaTeX»
+%%% https://gitlab.com/vigou3/formation-latex-ul
+%%%
+%%% Cette création est mise à disposition sous licence
+%%% Attribution-Partage dans les mêmes conditions 4.0
+%%% International de Creative Commons.
+%%% https://creativecommons.org/licenses/by-sa/4.0/
+
+\section{Tableaux}
+
+\begin{frame}
+ \frametitle{De la conception de beaux tableaux}
+
+ Lequel de ces deux tableaux est le plus facile à consulter?
+ \begin{center}
+ \hfill
+ \begin{tabular}{|>{$}c<{$}|>{$}r<{$}|>{$}r<{$}|}
+ \hline\hline
+ i &
+ \multicolumn{1}{c|}{$v$} &
+ \multicolumn{1}{c|}{$b_i$} \\
+ \hline
+ 0 & \nombre{91492} & 60 \\
+ \hline
+ 1 & \nombre{1524} & 60 \\
+ \hline
+ 2 & 25 & 24 \\
+ \hline
+ 3 & 1 & 365 \\
+ \hline\hline
+ \end{tabular}
+ \hfill
+ \begin{tabular}{>{$}c<{$}>{$}r<{$}>{$}r<{$}}
+ \toprule
+ i &
+ \multicolumn{1}{c}{$v$} &
+ \multicolumn{1}{c}{$b_i$} \\
+ \midrule
+ 0 & \nombre{91492} & 60 \\
+ 1 & \nombre{1524} & 60 \\
+ 2 & 25 & 24 \\
+ 3 & 1 & 365 \\
+ \bottomrule
+ \end{tabular}
+ \hspace*{\fill}
+ \end{center}
+
+ \pause
+ Deux règles d'or:
+ \begin{enumerate}
+ \item \alert{jamais} de filets verticaux
+ \item pas de filets doubles
+ \end{enumerate}
+\end{frame}
+
+\begin{frame}[fragile=singleslide]
+ \frametitle{Paquetage essentiel}
+
+ \begin{itemize}
+ \item Vous voulez utiliser le paquetage \pkg{booktabs}
+\begin{lstlisting}
+\usepackage{booktabs}
+\end{lstlisting}
+ \item Fonctionnalités intégrées dans la classe \class{memoir}
+ \end{itemize}
+\end{frame}
+
+\begin{frame}[fragile=singleslide]
+ \frametitle{Exemple de tableau}
+
+ \begin{center}
+ \begin{tabular}{lcrr}
+ \toprule
+ Produit & Quantité & Prix unitaire (\$) & Prix (\$) \\
+ \midrule
+ Vis à bois & 2 & 9,90 & 19,80 \\
+ Clous vrillés & 5 & 4,35 & 21,75 \\
+ \midrule
+ TOTAL & 7 & & 41,55 \\
+ \bottomrule
+ \end{tabular}
+ \end{center}
+
+\begin{lstlisting}
+\begin{tabular}{lcrr}
+ \toprule
+ Produit & Quantité & Prix unitaire (\$) & Prix (\$) \\
+ \midrule
+ Vis à bois & 2 & 9,90 & 19,80 \\
+ Clous vrillés & 5 & 4,35 & 21,75 \\
+ \midrule
+ TOTAL & 7 & & 41,55 \\
+ \bottomrule
+\end{tabular}
+\end{lstlisting}
+\end{frame}
+
+%%% Local Variables:
+%%% TeX-master: "formation-latex-ul-diapos"
+%%% TeX-engine: xetex
+%%% coding: utf-8
+%%% End:
diff --git a/info/formation-latex-ul/source/trucs+astuces.tex b/info/formation-latex-ul/source/trucs+astuces.tex
new file mode 100644
index 0000000000..ba1d74450d
--- /dev/null
+++ b/info/formation-latex-ul/source/trucs+astuces.tex
@@ -0,0 +1,989 @@
+%%% Copyright (C) 2018 Vincent Goulet
+%%%
+%%% Ce fichier fait partie du projet
+%%% «Rédaction avec LaTeX»
+%%% https://gitlab.com/vigou3/formation-latex-ul
+%%%
+%%% Cette création est mise à disposition sous licence
+%%% Attribution-Partage dans les mêmes conditions 4.0
+%%% International de Creative Commons.
+%%% https://creativecommons.org/licenses/by-sa/4.0/
+
+\chapter{Trucs et astuces divers}
+\label{chap:trucs}
+
+En clôture de l'ouvrage, ce chapitre traite de différents sujets que
+même une personne débutant avec {\LaTeX} voudra assez rapidement
+aborder, comme le contrôle des sauts de ligne et des sauts de page, la
+modification de la police du document, l'utilisation de la couleur ou
+l'insertion d'hyperliens dans le fichier de sortie PDF. Nous offrons
+également de courtes introductions à des usages plus spécialisés de
+{\LaTeX} comme la mise en page de code informatique, la production de
+diapositives ou la programmation lettrée. Enfin, nous expliquons
+sommairement comme assurer de manière efficace la gestion des versions
+de ses documents, surtout dans un contexte de travail collaboratif.
+
+\section{Contrôle de la disposition du texte}
+\label{sec:trucs:controle}
+
+Des algorithmes élaborés permettent généralement à {\LaTeX} de
+disposer le texte harmonieusement sur la page. Néanmoins, il
+est parfois nécessaire d'effectuer soi-même de menus ajustements,
+notamment pour les sauts de page et la coupure de mots.
+
+\subsection{Sauts de ligne et de page}
+\label{sec:trucs:controle:sauts}
+
+Il est assez rarement nécessaire avec {\LaTeX} de devoir forcer les
+retours à la ligne. Chose certaine, l'on devrait toujours utiliser une
+ligne blanche dans le code source pour identifier un changement de
+paragraphe.
+
+Cela dit, les commandes suivantes permettent d'insérer un saut de
+ligne manuellement lorsque requis:
+\begin{lstlisting}
+\\
+\\`\oarg{longueur}'
+\newline
+\end{lstlisting}
+La commande {\pixbsbs} est connue: elle sert aussi à délimiter les
+lignes dans les tableaux (\autoref{sec:tableaux:tableaux}) et les lignes
+d'une suite d'équations (\autoref{sec:math:align}). L'argument optionnel
+\oarg{longueur} permet d'insérer un blanc entre les deux lignes; la
+\autoref{sec:bases:longueurs} explique comment spécifier une
+longueur.
+
+Généralement équivalente à {\bs\bs}, la commande \cmd{\newline} est
+parfois nécessaire, notamment pour insérer un changement de ligne à
+l'intérieur d'une cellule d'un tableau ou à l'intérieur d'un titre de
+section. Quand {\bs\bs} ne fonctionne pas, essayer
+\cmdprint{\newline}.
+
+\begin{exemple}
+ La commande {\bs\bs} est particulièrement utile --- voire nécessaire
+ --- pour disposer des boites à l'intérieur d'une figure.
+ L'utilisation de l'argument \meta{longueur} permet alors de
+ contrôler l'espacement vertical entre les éléments. Comparer les
+ deux exemples ci-dessous.
+ \begin{demo}
+ \begin{texample}[0.55\linewidth]
+\begin{lstlisting}
+\begin{minipage}{1.0\linewidth}
+ \framebox[\linewidth]{texte}
+\end{minipage} \\
+\begin{minipage}{1.0\linewidth}
+ \framebox[\linewidth]{texte}
+\end{minipage}
+\end{lstlisting}
+ \producing
+ \begin{minipage}{1.0\linewidth}
+ \framebox[\linewidth]{texte}
+ \end{minipage}
+ \begin{minipage}{1.0\linewidth}
+ \framebox[\linewidth]{texte}
+ \end{minipage}
+ \end{texample}
+
+ \begin{texample}[0.55\linewidth]
+\begin{lstlisting}
+\begin{minipage}{1.0\linewidth}
+ \framebox[\linewidth]{texte}
+\end{minipage} \\`\textbf{[6pt]}'
+\begin{minipage}{1.0\linewidth}
+ \framebox[\linewidth]{texte}
+\end{minipage}
+\end{lstlisting}
+ \producing
+ \begin{minipage}{1.0\linewidth}
+ \framebox[\linewidth]{texte}
+ \end{minipage} \\[6pt]
+ \begin{minipage}{1.0\linewidth}
+ \framebox[\linewidth]{texte}
+ \end{minipage}
+ \end{texample}
+ \end{demo}
+ \qed
+\end{exemple}
+
+Les commandes
+\begin{lstlisting}
+\newpage
+\clearpage
+\cleartorecto % classe memoir seulement
+\cleartoverso % classe memoir seulement
+\end{lstlisting}
+permettent d'insérer manuellement un saut de page pour éviter une
+coupure malheureuse. La commande de base pour insérer un saut
+n'importe où dans la page est \cmd{\newpage}. La commande
+\cmd{\clearpage}, quant à elle, va également s'assurer d'afficher tous
+les éléments flottants (\autoref{sec:tableaux:floats}) en attente de
+disposition.
+
+Les commandes \cmd{\cleartorecto} et \cmd{\cleartoverso}, propres à la
+classe \class{memoir} permettent respectivement de passer
+automatiquement à une page recto ou à une page verso. Évidemment, elles
+n'ont d'utilité que dans les documents recto verso.
+
+Moins directives, les commandes
+\begin{lstlisting}
+\pagebreak`\oarg{n}'
+\enlargethispage`\marg{longueur}'
+\end{lstlisting}
+permettent de seulement aider {\LaTeX} à gérer les sauts de page à un
+endroit précis. La commande \cmd{\pagebreak} est intéressante
+lorsque utilisée avec son argument optionnel \meta{n}: celui-ci
+indique, par le biais d'un nombre entier entre 0 et 4, à quel point
+nous \emph{recommandons} à {\LaTeX} d'insérer un saut de page à
+l'endroit où la commande apparait (0 étant une faible recommandation
+et 4, une forte).
+
+La commande \cmd{\enlargethispage}, comme son nom l'indique, permet
+d'allonger une page de \meta{longueur} pour y faire tenir plus de
+texte. C'est une commande particulièrement utile pour éviter que la
+toute dernière ligne d'un chapitre ou d'un document se retrouve seule sur
+une page.
+
+\subsection{Coupure de mots}
+\label{sec:trucs:controle:coupure}
+
+La coupure automatique des mots en fin de ligne est toujours active
+avec {\LaTeX}. C'est d'ailleurs pourquoi il importe d'indiquer à
+{\LaTeX} dans quelle langue est le texte (lorsque ce n'est pas en
+anglais) avec les commandes du paquetage \pkg{babel}.
+
+Il existe deux façons de contrôler la coupure de mots. La première,
+principalement utilisée lorsque {\LaTeX} refuse de couper un mot en
+fin de ligne, consiste à insérer des \emph{suggestions} d'endroits où
+couper le mot avec la commande \cmd{\-}. Par exemple, en écrivant
+\verb=vrai\-sem\-blance=, on indique à {\LaTeX} qu'il est possible de
+diviser le mot en \emph{vrai-semblance} ou \emph{vraisem-blance}.
+
+La seconde méthode, celle-là surtout utilisée lorsque {\LaTeX} ne
+reconnait pas des mots qui reviennent souvent dans le document,
+consiste à fournir dans le préambule une liste d'exceptions avec la
+commande
+\begin{lstlisting}
+\hyphenation`\marg{liste}'
+\end{lstlisting}
+La \meta{liste} est une suite de mots, séparés par des virgules, des
+blancs ou des retours à la ligne, dans lesquels les points de coupure
+sont identifiés par un trait d'union.
+
+\begin{exemple}
+ La commande suivante, insérée dans le préambule, permet d'ajouter
+ des points de coupure aux mots «puisque», «constante» et
+ «vraisemblance» pour l'ensemble du document.
+\begin{lstlisting}
+\hyphenation{puis-que,cons-tante,vrai-sem-blance}
+\end{lstlisting}
+ \qed
+\end{exemple}
+
+\importantbox{Règle générale, garder les opérations d'ajustements de
+ la mise en page --- position des éléments flottants, sauts de page,
+ lignes trop longues, etc. --- pour la toute fin de la rédaction.}
+
+
+\section{Au-delà de la police Computer Modern}
+\label{sec:trucs:polices}
+
+{\CM%
+ Les documents {\LaTeX} standards sont facilement reconnaissables par
+ leur police par défaut, Computer Modern --- celle utilisée dans ce
+ paragraphe. Pour qui souhaitait briser la relative monotonie induite
+ par cette uniformité, il a longtemps été difficile d'utiliser une
+ autre police. Fort heureusement, la situation a beaucoup évolué et
+ il est aujourd'hui assez simple de produire des documents {\LaTeX}
+ utilisant des polices variées.}
+
+Avant d'aller plus loin, une mise en garde: si un document contient
+plus que quelques équations mathématiques très simples, le choix de
+police devient très restreint. La raison: peu de polices comprennent
+des symboles mathématiques et les informations nécessaires pour les
+assembler selon les hauts standards qualité usuels de {\LaTeX}.
+
+Cela dit, pour qui souhaite aller au-delà de la police Computer Modern
+sans trop se compliquer la vie, il existe deux solutions principales.
+
+\begin{enumerate}
+\item Utiliser l'une ou l'autre des polices PostScript standards
+ convenant pour du texte normal
+ ({\Times Times}, %
+ {\Palatino Palatino}, %
+ {\Bookman Bookman}, %
+ {\Charter Charter}, %
+ {\NewCent New Century Schoolbook}, %
+ {\Helvet Helvetica}). %
+ C'est très simple avec toute distribution {\LaTeX} moderne: il
+ suffit de charger le paquetage approprié. Consulter la %
+ \doc{psnfss2e}{http://texdoc.net/pkg/psnfss/} %
+ de l'ensemble de paquetages PSNFSS.
+\item Utiliser une police OpenType ou TrueType présente sur son
+ système avec le moteur {\XeLaTeX}. Seule une poignée de ces polices
+ offre toutefois un support approprié pour les mathématiques. La
+ gestion des polices avec {\XeLaTeX} se fait avec le paquetage
+ standard \pkg{fontspec}; consulter sa %
+ \doc{fontspec}{http://texdoc.net/pkg/fontspec/}.
+\end{enumerate}
+
+Pour les thèses et mémoires de l'Université Laval, la Faculté des
+études supérieures et postdoctorales accepte les polices %
+\begin{quote}
+ \begin{tabbing}
+ Computer Modern \qquad \= ABCDEF abcdef 1234567890 \kill
+ {\CM Computer Modern} \> {\CM ABCDEF abcdef 1234567890} \\
+ {\Times Times} \> {\Times ABCDEF abcdef 1234567890} \\
+ {\Palatino Palatino} \> {\Palatino ABCDEF abcdef 1234567890}
+ \end{tabbing}
+\end{quote}
+Pour utiliser ces deux dernières avec pdf{\LaTeX}, charger
+respectivement les paquetages \pkg{mathptmx} ou \pkg{mathpazo}. Avec
+{\XeLaTeX}, utiliser les polices Termes et Pagella du projet %
+\link{http://www.gust.org.pl/projects/e-foundry/tex-gyre/}{TeX~Gyre}.
+Ce sont des polices très similaires à Times et Palatino, disponibles
+en version OpenType et qui fournissent un bon support pour les
+mathématiques via le projet frère %
+\link{http://www.gust.org.pl/projects/e-foundry/tg-math/}{TeX~Gyre
+ Math}.
+
+\begin{exemple}
+ \label{ex:trucs:palatino}
+ Pour utiliser la police PostScript classique Palatino avec {\LaTeX}
+ tant pour le texte que pour les mathématiques, il suffit d'insérer
+ dans le préambule de son document la commande
+\begin{lstlisting}
+\usepackage{mathpazo}
+\end{lstlisting}
+
+ Avec le moteur {\XeLaTeX}, il est possible d'utiliser n'importe
+ quelle police OpenType et TrueType installée dans le système
+ d'exploitation de l'ordinateur. Pour obtenir un résultat équivalent
+ à celui de \pkg{mathpazo}, installer les polices TeX~Gyre dans le
+ système, puis insérer dans le préambule les commandes
+\begin{lstlisting}
+\usepackage{fontspec}
+\setmainfont{TeX Gyre Pagella}
+\setmathfont{TeX Gyre Pagella Math}
+\end{lstlisting}
+ \qed
+\end{exemple}
+
+Le texte principal du présent document est en %
+\link{https://tug.org/store/lucida/}{Lucida Bright~OT}, %
+une police commerciale de très haute qualité offrant également un
+excellent support pour les mathématiques. Ses auteurs ont toujours été
+proches de la communauté {\LaTeX}. La Bibliothèque de l'Université
+Laval détient une licence d'utilisation de cette police. Les étudiants
+et le personnel de l'Université peuvent s'en procurer une copie
+gratuitement en écrivant à
+\href{mailto:lucida@bibl.ulaval.ca}{lucida@bibl.ulaval.ca}.
+
+
+
+\section{Couleurs}
+\label{sec:trucs:couleurs}
+
+L'utilisation de couleur dans un document {\LaTeX} requiert de charger
+le paquetage \pkg{xcolor} \citep{xcolor}. Celui-ci définit d'abord
+plusieurs couleurs que l'on peut utiliser directement; consulter la %
+\doc{xcolor}{http://texdoc.net/pkg/xcolor} %
+pour en connaitre les différentes listes. Le
+\autoref{tab:trucs:couleurs} fournit celle des couleurs toujours
+disponibles.
+
+\begin{table}
+ \centering
+ \caption{Couleurs toujours disponibles lorsque le paquetage
+ \pkg{xcolor} est chargé}
+ \label{tab:trucs:couleurs}
+ \begin{tabularx}{1.0\linewidth}{XlXll}
+ \toprule
+ \fcolorbox{black}{black}{\phantom{xx}}\, black &
+ \fcolorbox{black}{blue}{\phantom{xx}}\, blue &
+ \fcolorbox{black}{brown}{\phantom{xx}}\, brown &
+ \fcolorbox{black}{cyan}{\phantom{xx}}\, cyan &
+ \fcolorbox{black}{darkgray}{\phantom{xx}}\, darkgray \\
+ \addlinespace[3pt]
+ \fcolorbox{black}{gray}{\phantom{xx}}\, gray &
+ \fcolorbox{black}{green}{\phantom{xx}}\, green &
+ \fcolorbox{black}{lightgray}{\phantom{xx}}\, lightgray &
+ \fcolorbox{black}{lime}{\phantom{xx}}\, lime &
+ \fcolorbox{black}{magenta}{\phantom{xx}}\, magenta \\
+ \addlinespace[3pt]
+ \fcolorbox{black}{olive}{\phantom{xx}}\, olive &
+ \fcolorbox{black}{orange}{\phantom{xx}}\, orange &
+ \fcolorbox{black}{pink}{\phantom{xx}}\, pink &
+ \fcolorbox{black}{purple}{\phantom{xx}}\, purple &
+ \fcolorbox{black}{red}{\phantom{xx}}\, red \\
+ \addlinespace[3pt]
+ \fcolorbox{black}{teal}{\phantom{xx}}\, teal &
+ \fcolorbox{black}{violet}{\phantom{xx}}\, violet &
+ \fcolorbox{black}{white}{\phantom{xx}}\, white &
+ \fcolorbox{black}{yellow}{\phantom{xx}}\, yellow \\
+ \bottomrule
+ \end{tabularx}
+\end{table}
+
+Un peu comme pour les changements d'attributs de police, il existe
+deux commandes pour modifier la couleur du texte:
+\begin{lstlisting}
+\color`\marg{nom}'
+\textcolor`\marg{nom}\marg{texte}'
+\end{lstlisting}
+La première modifie la couleur de tout ce qui suit (à moins d'en
+limiter la portée avec des accolades) et la seconde, seulement pour
+\meta{texte}. Dans les deux cas, \meta{nom} est le nom d'une couleur.
+\begin{demo}
+ \begin{texample}
+\begin{lstlisting}
+texte {\color{red} en rouge}
+et \textcolor{blue}{en bleu}
+\end{lstlisting}
+ \producing
+ texte {\color{red} en rouge} et \textcolor{blue}{en bleu}
+ \end{texample}
+\end{demo}
+
+La commande \cmd{\definecolor} permet de définir de nouvelles couleurs
+selon plusieurs systèmes de codage. Le plus usuel demeure \emph{Rouge,
+ vert, bleu} (RVB ou RGB, en anglais) où une couleur est représentée
+par une combinaison de teintes --- exprimées par un nombre entre $0$
+et $1$ --- de rouge, de vert et de bleu. Dans ce cas, la syntaxe de
+\cmd{\definecolor} est
+\begin{lstlisting}
+\definecolor`\marg{nom}'{rgb}`\marg{valeur\_r,valeur\_v,valeur\_b}
+\end{lstlisting}
+où \meta{valeur\_r}, \meta{valeur\_v} et \meta{valeur\_b} sont
+respectivement les teintes de rouge, de vert et de bleu.
+
+\begin{exemple}
+ La commande
+\begin{lstlisting}
+\definecolor{acier}{rgb}{0.3,0.4,0.6}
+\end{lstlisting}
+ définit une nouvelle couleur nommée \code{acier} composée de rouge
+ 30~\%, de vert 40~\% et de bleu 60~\%: %
+ \fcolorbox{black}[rgb]{0.3,0,0}{\phantom{xx}} $+$ %
+ \fcolorbox{black}[rgb]{0,0.4,0}{\phantom{xx}} $+$ %
+ \fcolorbox{black}[rgb]{0,0,0.6}{\phantom{xx}} $=$ %
+ \fcolorbox{black}[rgb]{0.3,0.4,0.6}{\phantom{xx}}. %
+ Une fois la couleur \code{acier} définie dans le préambule, elle
+ devient disponible pour être utilisée dans les commandes
+ \cmdprint{\color} et \cmdprint{\textcolor}. %
+ \qed
+\end{exemple}
+
+La commande \cmd{\colorlet}, dont la syntaxe simplifiée est
+\begin{lstlisting}
+\colorlet`\marg{nom}\marg{couleur}'
+\end{lstlisting}
+permet de faire référence à la \meta{couleur} déjà existante par
+\meta{nom}. C'est pratique pour assigner un nom sémantique à une
+couleur.
+
+
+
+\section{Hyperliens et métadonnées de documents PDF}
+\label{sec:trucs:hyperliens}
+
+Nous en avons déjà traité à quelques reprises, notamment à la
+\autoref{sec:organisation:renvois}: le paquetage \pkg{hyperref}
+\citep{hyperref} permet de transformer les références dans le
+texte en hyperliens cliquables lorsque le document est produit avec
+pdf{\LaTeX} ou {\XeLaTeX}. C'est très pratique lors de la consultation
+électronique d'un document.
+
+Le paquetage offre une multitudes d'options de configuration; nous
+n'en présenterons que quelques unes. On accède aux options de
+configuration de \pkg{hyperref} via la commande \cmd{\hypersetup} dans
+le préambule. Celle-ci prend en arguments des paires
+\code{option=valeur} séparées par des virgules.
+
+Une des principales choses que l'on pourra souhaiter configurer, c'est
+le comportement et la couleur des divers types d'hyperliens. On
+trouvera ci-dessous les options de configuration pertinentes, leur
+valeur (avec en gras la valeur par défaut) ainsi qu'une brève
+explication de chacune.
+
+\begin{table}[h]
+ \begin{tabularx}{1.0\linewidth}{@{}p{7em}p{6em}X@{}}
+ \code{colorlinks} & \code{true}|\code{\textbf{false}} & colorer les
+ liens selon
+ leur type \\
+ \code{linktocpage} & \code{true}|\code{\textbf{false}} & faire du
+ numéro de
+ page
+ plutôt que
+ du titre l'hyperlien dans
+ la table
+ des
+ matières \\
+ \code{linkcolor} & \meta{couleur} & couleur des liens internes \\
+ \code{urlcolor} & \meta{couleur} & couleur des URL externes \\
+ \code{citecolor} & \meta{couleur} & couleur des citations \\
+ \code{allcolor} & \meta{couleur} & couleur pour tous les types d'hyperliens
+ \end{tabularx}
+\end{table}
+
+Lorsque la valeur admissible d'une option est \code{true} ou
+\code{false}, sa seule mention équivaut à \code{true}. La valeur
+\meta{couleur} est le nom d'une couleur telle que définie par
+\pkg{xcolor} (\autoref{sec:trucs:couleurs}).
+
+Les fichiers PDF peuvent contenir diverses métadonnées sur leur
+contenu. Le paquetage \pkg{hyperref} permet d'en définir certaines,
+notamment le titre ou l'auteur du document.
+
+\begin{table}[!h]
+ \begin{tabularx}{1.0\linewidth}{@{}p{7em}p{6em}X@{}}
+ \code{pdftitle} & texte & titre du document PDF \\
+ \code{pdfauthor} & texte & auteur du document PDF
+ \end{tabularx}
+\end{table}
+
+Consulter la section~3.7 de la %
+\doc{hyperref}{http://texdoc.net/pkg/hyperref} %
+de \pkg{hyperref} pour obtenir la liste complète des options de
+configuration des métadonnées.
+
+\begin{exemple}
+ \label{ex:trucs:couleurs}
+ Le présent document fait appel aux définitions de couleurs
+ et aux options de configuration de \pkg{hyperref} suivantes:
+\begin{lstlisting}
+\definecolor{link}{rgb}{0,0.4,0.6} % ~RoyalBlue de dvips
+\definecolor{url}{rgb}{0.6,0,0} % rouge foncé
+\definecolor{citation}{rgb}{0,0.5,0} % vert foncé
+\hypersetup{%
+ pdfauthor = {Vincent Goulet},
+ pdftitle = {Rédaction avec LaTeX},
+ colorlinks = true,
+ linktocpage = true,
+ urlcolor = url,
+ linkcolor = link,
+ citecolor = citation}
+\end{lstlisting}
+ \qed
+\end{exemple}
+
+\begin{exemple}
+ Les gabarits de thèses et de mémoires livrés avec la classe
+ \class{ulthese} contiennent dans le préambule la ligne suivante:
+\begin{lstlisting}
+\hypersetup{colorlinks,allcolors=ULlinkcolor}
+\end{lstlisting}
+ Tous les liens de la thèse ou du mémoire seront donc de la même
+ couleur, \code{ULlinkcolor} \fcolorbox{black}{ULlinkcolor}{\phantom{xx}},
+ une couleur définie par la classe. %
+ \qed
+\end{exemple}
+
+\tipbox{L'interaction du paquetage \pkg{hyperref} avec les autres est
+ parfois (voire souvent) délicate. Pour cette raison, il est
+ fortement recommandé que \pkg{hyperref} soit le tout dernier
+ paquetage chargé dans le préambule.}
+
+
+
+\section{Présentation de code informatique}
+\label{sec:trucs:listings}
+
+L'environnement standard \Ie{verbatim} de {\LaTeX} permet de présenter
+du texte tel qu'il est entré dans le code source du document. C'est un
+environnement particulièrement utile pour afficher du code
+informatique puisque le texte est composé en police non
+proportionnelle et que sa disposition exacte est respectée.
+
+\begin{demo}
+ \begin{texample}
+\begin{lstlisting}[deletetexcs={int,include}]
+\begin{verbatim}
+/* Hello World en C */
+#include <stdio.h>
+
+int main()
+{
+ printf("Hello world\n");
+ return 0;
+}
+\end{verbatim}
+\end{lstlisting}
+ \producing
+\begin{verbatim}
+/* Hello World en C */
+#include <stdio.h>
+
+int main()
+{
+ printf("Hello world\n");
+ return 0;
+}
+\end{verbatim}
+ \end{texample}
+\end{demo}
+
+Si un document doit contenir beaucoup de code informatique et que l'on
+souhaite exercer un fin contrôle sur sa disposition et sa mise en
+forme, il vaut mieux se tourner vers un paquetage spécialisé comme
+\pkg{listings} \citep{listings}. La %
+\doc{listings}{http://texdoc.net/pkg/listings} %
+du paquetage compare ses fonctionnalités à celles de plusieurs autres
+paquetages similaires.
+
+Le paquetage \pkg{listings} peut effectuer automatiquement le marquage
+des mots-clés de nombreux langages de programmation, ajouter des
+numéros de ligne, importer du code de fichiers externes ou même
+indexer les mots-clés des extraits de code. À titre d'illustration, en
+utilisant l'environnement \Ie{lstlisting} de \pkg{listings} plutôt que
+\Ie{verbatim}, l'extrait de code C ci-dessus pourrait se présenter
+ainsi:
+\begin{demo}
+ \begin{texample}
+ \begin{vglisting}
+\begin{lstlisting}
+/* Hello World en C */
+#include <stdio.h>
+
+int main()
+{
+ printf("Hello world\n");
+ return 0;
+}
+\end{lstlisting}
+ \end{vglisting}
+ \producing
+\begin{lstlisting}[language=C,%
+ deletetexcs={int,include},
+ frame=single,%
+ backgroundcolor=\color{Azure2},%
+ rulecolor=\color{black},%
+ framerule=0.4pt,%
+ numbers=left,%
+ numberstyle=\tiny\sffamily,%
+ stringstyle=\color{orange}\itshape,%
+ identifierstyle=\color{cyan}\mdseries,%
+ xleftmargin=12pt,%
+ keywordstyle=\color{blue}\bfseries,
+ index=]
+/* Hello World en C */
+#include <stdio.h>
+
+int main()
+{
+ printf("Hello world\n");
+ return 0;
+}
+\end{lstlisting}
+ \end{texample}
+\end{demo}
+
+Il serait trop long et nettement hors de la portée du présent ouvrage
+d'expliquer les nombreuses fonctionnalités de \pkg{listings}.
+Précisons simplement que le paquetage a servi pour composer ses
+extraits de code et pour construire une grande partie de son index.
+
+\begin{exemple}
+ \label{ex:trucs:listings}
+ Pour parvenir à la présentation des extraits de code source {\LaTeX}
+ de ce document, le paquetage \pkg{listings} est configuré dans le
+ préambule de la manière suivante:
+\begin{lstlisting}
+%% Couleurs
+\definecolor{comments}{rgb}{0.7,0,0}
+
+%% Configuration de listings
+\lstset{language = [LaTeX]TeX,
+ basicstyle = \ttfamily\NoAutoSpacing,
+ keywordstyle = \mdseries,
+ commentstyle = \color{comments}\slshape,
+ extendedchars = true,
+ showstringspaces = false,
+ backgroundcolor = \color{LightYellow1},
+ frame = lr,
+ rulecolor = \color{LightYellow1},
+ xleftmargin = 3.4pt,
+ xrightmargin = 3.4pt}
+\end{lstlisting}
+ (La couleur \code{LightYellow1} est définie par \pkg{xcolor} lorsque
+ le paquetage est chargé avec l'option \code{x11names}.)
+ \qed
+\end{exemple}
+
+
+
+\section{Production de rapports avec l'analyse intégrée}
+\label{sec:trucs:sweave}
+
+Les publications scientifiques reposent souvent sur une forme ou une
+autre d'analyse numérique ou statistique, la production de code
+informatique, une simulation stochastique, etc. La portion
+développement et analyse est alors produite avec un certain outil
+et la publication, avec un outil d'édition séparé --- {\LaTeX} dans le cas
+qui nous occupe. Or, tous les auteurs ont vécu cette situation: les
+résultats de l'analyse changent et il faut modifier le rapport en
+conséquence, refaire les tableaux et les graphiques, retracer cette
+valeur isolée au fil du texte directement tirée de l'analyse\dots\
+Seule la quantité de temps perdu rivalise avec le risque d'erreur.
+
+Il existe pourtant une meilleure façon de travailler.
+
+Cette meilleure façon de faire, tirée du concept de
+\emph{programmation lettrée}, consiste à combiner dans un seul et même
+document l'analyse et le rapport, puis de produire automatiquement une
+partie du second à partir de la première.
+
+Les utilisateurs du système statistique R bénéficient d'une mise en
+œuvre simple et élégante du concept ci-dessus avec l'outil Sweave
+\citep{Sweave}. Un fichier Sweave est à la base un document {\LaTeX}
+dans lequel on a inséré du code R à l'intérieur de balises spéciales
+\verb|<<>>=| et \verb|@| tirée de la syntaxe \code{noweb}
+\citep{noweb}, comme ceci:
+\begin{lstlisting}
+\section{Commandes R}
+
+L'utilisateur de R interagit avec l'interprète en entrant
+des commandes à l'invite de commande:
+<<>>=
+2 + 3
+pi
+cos(pi/4)
+@
+La commande \verb=exp(1)= donne \Sexpr{exp(1)},
+la valeur du nombre $e$.
+\end{lstlisting}
+
+Par convention, on enregistre un tel document sous un nom se terminant
+par l'extension \code{.Rnw}. Sa compilation s'effectue
+en deux étapes:
+\begin{enumerate}
+\item Le fichier \code{.Rnw} est passé à la commande \code{Sweave()}
+ de R. Celle-ci retrace les extraits de code et les remplace par des
+ environnements {\LaTeX} contenant, par défaut, les expressions R et
+ leur résultat dans des environnements \Ie{Sinput} et \Ie{Soutput}.
+ Elle évalue également les expressions R se trouvant dans les
+ commandes \cmd{\Sexpr} pour les remplacer par leur résultat. Cela
+ produit un fichier \code{.tex}:
+\begin{lstlisting}
+\section{Commandes R}
+
+L'utilisateur de R interagit avec l'interprète en entrant
+des commandes à l'invite de commande:
+\begin{Schunk}
+\begin{Sinput}
+> 2 + 3
+\end{Sinput}
+\begin{Soutput}
+[1] 5
+\end{Soutput}
+\begin{Sinput}
+> pi
+\end{Sinput}
+\begin{Soutput}
+[1] 3.141593
+\end{Soutput}
+\begin{Sinput}
+> cos(pi/4)
+\end{Sinput}
+\begin{Soutput}
+[1] 0.7071068
+\end{Soutput}
+\end{Schunk}
+La commande \verb=exp(1)= donne 2.71828182845905,
+la valeur du nombre $e$.
+\end{lstlisting}
+\item On compile le fichier \code{.tex} comme d'habitude.
+\end{enumerate}
+
+Sweave se révèle particulièrement utile pour créer des graphiques à
+partir de R: tout ce que l'on doit conserver dans son fichier
+\code{.Rnw}, c'est le code pour créer le graphique. Il est également
+possible de contrôler l'exécution des blocs de code et l'affichage du
+code source et des résultats par le biais d'options placées à
+l'intérieur de la balise d'ouverture \verb|<<>>=|. Consulter la %
+\link{https://leisch.userweb.mwn.de/Sweave/Sweave-manual.pdf}{documentation} %
+de Sweave pour les détails.
+
+\link{http://mpastell.com/pweave/}{Pweave} est un système similaire à
+Sweave pour le langage Python.
+
+Inspiré de Sweave, knitr \citep{knitr} permet également d'entrelacer
+du code {\LaTeX} et du code R. Cet outil offre plus d'options de
+traitement que Sweave, mais au prix d'une complexité accrue.
+
+En terminant, rappelons que Sweave n'est qu'un exemple de système de
+programmation lettrée. Il en existe plusieurs autres. Il appartient
+dès lors au lecteur de trouver le système qui correspond le mieux à
+ses besoins.
+
+\notebox{On doit le concept de programmation lettrée au créateur de
+ {\TeX}, Donald Knuth. En fait, tout le code source de {\TeX} est
+ écrit en programmation lettrée! La %
+ \link{https://fr.wikipedia.org/wiki/Programmation_lettrée}{page
+ Wikipedia} %
+ consacrée au sujet offre un très bon survol de l'historique et de la
+ nature du concept.
+
+ Le lecteur intéressé pourra consulter, par exemple, le %
+ \link{https://www.ctan.org/pkg/ulthese}{code source} %
+ de la classe \class{ulthese}. La documentation de la classe, le
+ code {\LaTeX}, les gabarits, tout se trouve entrelacé
+ dans le seul fichier \code{ulthese.dtx}.}
+
+
+\section{Diapositives}
+\label{sec:trucs:diapositives}
+
+Il n'est pas rare qu'une publication scientifique fasse l'objet d'une
+présentation dans le cadre d'un colloque ou d'un séminaire. Lorsque le
+texte a été rédigé avec {\LaTeX}, il est tout naturel de souhaiter le
+réutiliser pour la préparation de diapositives --- surtout si le texte
+comporte de nombreuses équations mathématiques qu'il serait
+extrêmement long de retranscrire dans un logiciel de présentation
+comme PowerPoint.
+
+Fort heureusement, il est tout à fait possible de composer ses
+diapositives avec {\LaTeX}. La classe standard \class{slides} produit
+des diapositives élégantes, quoique minimalistes, qui conviendront à
+l'auteur qui ne recherche rien de plus que du texte noir sur fond
+blanc.
+
+Cependant, l'outil devenu le standard \emph{de facto} pour la
+production de diapositives est la classe \class{beamer}
+\citep{beamer}. Celle-ci compte un grand nombre de thèmes et de
+gabarits élaborés, rend très simple l'insertion d'animations d'une
+diapositive à l'autre, gère automatiquement la table des matières
+et\dots\ produit des diapositives en couleur.
+
+Quelle que soit la classe utilisée, les diapositives produites avec
+{\LaTeX} se présentent sous forme de fichier PDF. On les projette avec
+une liseuse PDF en mode plein écran.
+
+Nous n'irons pas plus loin sur le sujet dans ce document. Consulter
+la %
+\doc{beamer}{http://texdoc.net/pkg/beameruserguide} %
+de \class{beamer} pour apprendre à utiliser la classe. Produire des
+diapositives de grande qualité avec les gabarits fournis avec la
+classe se révèle simple et rapide.
+
+
+
+\section{Gestion des versions et travail collaboratif}
+\label{sec:trucs:cvs}
+
+Plusieurs personnes travaillent sur un même fichier, ou encore, une
+seule personne y travaille, mais de plusieurs postes de travail
+différents. Quelle est la plus récente version du fichier? Un ajout
+fait hier dans le fichier a-t-il été pris en compte par une collègue
+aujourd'hui? Une modification apportée au fichier n'est plus
+nécessaire; comment retourner en arrière facilement?
+
+Les informaticiens ont résolu ce genre de problèmes il y a des
+dizaines d'années avec les systèmes de gestion de versions. Les
+systèmes les plus populaires en ce moment sont Subversion
+\citep{subversion} et Git \citep{git}.
+
+Bien que développés à l'origine pour la gestion du code source de
+logiciels, les systèmes de contrôle de versions conviennent
+parfaitement pour les sources {\LaTeX}. L'utilisation d'un tel système
+permet de:
+\begin{itemize}
+\item toujours savoir quelle est la plus récente version d'un fichier;
+\item travailler à plusieurs personnes simultanément sur un même
+ fichier;
+\item revenir aisément à une version antérieure d'un fichier;
+\item comparer deux versions d'un fichier pour connaitre les
+ modifications qui y ont été apportées;
+\item gérer automatiquement les éventuels conflits de modification
+ d'un fichier;
+\item disposer en tout temps d'une copie de secours de son travail
+ lorsque l'on a recours à un serveur central (obligatoire avec
+ Subversion; optionnel avec Git\footnote{%
+ Si ce n'est que pour le volet de sauvegarde, nous recommandons
+ d'utiliser avec Git un dépôt central tel que
+ \link{https://gitlab.com}{GitLab}, un serveur public qui héberge
+ déjà des millions de projets.}.)
+\end{itemize}
+Un système de gestion de versions est un outil qui permet d'augmenter
+considérablement sa productivité ou celle de son équipe de
+travail au moment de rédiger un ouvrage scientifique.
+
+La %
+\link{https://fr.wikipedia.org/wiki/Gestion_de_versions}{page Wikipedia} %
+sur le sujet offre une bonne introduction aux systèmes de gestion de
+versions. Les membres de la communauté de l'Université Laval qui
+souhaitent mettre sur pied un dépôt pour un projet pourront
+consulter leur équipe de soutien informatique facultaire.
+
+\notebox{La présente documentation est conservée dans un dépôt Git
+ public d'où l'on peut toujours obtenir la plus récente version.
+ Consulter la page des notices de copyright au début du document pour
+ accéder au dépôt.}
+
+
+
+%%%
+%%% Exercices
+%%%
+
+\section{Exercices}
+\label{sec:trucs:exercices}
+
+\Opensolutionfile{solutions}[solutions-trucs+astuces]
+
+\begin{Filesave}{solutions}
+\section*{Chapitre \ref*{chap:trucs}}
+\addcontentsline{toc}{section}{Chapitre \protect\ref*{chap:trucs}}
+
+\end{Filesave}
+
+\noindent%
+Pour les exercices
+\nolink{\ref{exercice:trucs:1}}--\nolink{\ref{exercice:trucs:n}},
+utiliser le fichier \fichier{exercice\_trucs.tex}. Celui-ci reprend
+une partie de la documentation de la classe \class{ulthese}. De plus,
+on remarquera que le document:
+\begin{itemize}
+\item doit être compilé avec pdf{\LaTeX} puisqu'il charge les
+ paquetages \pkg{inputenc} et \pkg{fontenc};
+\item définit des nouvelles commandes \cmdprint{\class} et
+ \cmdprint{\fichier} pour composer, respectivement, les noms de
+ classe et les noms de fichier;
+\item utilise la commande \cmdprint{\doc} de
+ l'\autoref{ex:commandes:doc};
+\item charge le paquetage \pkg{hyperref}, ce qui transforme les titres
+ de la table des matières, les renvois aux notes de bas de page et
+ les liens externes en hyperliens.
+\end{itemize}
+\medskip
+
+\begin{exercice}
+ \label{exercice:trucs:1}
+ Compiler et visualiser le fichier sans aucune modification. Le texte
+ est composé dans la police par défaut Computer Modern.
+
+ Ensuite, modifier le préambule du document pour composer le document
+ dans la police Palatino, tel qu'expliqué à
+ l'\autoref{ex:trucs:palatino}. Charger également le paquetage
+ \pkg{helvet} afin d'utiliser Helvetica pour le texte en police sans
+ empattements (\cmdprint{\textsf}).
+ \begin{sol}
+ On doit ajouter dans le préambule les commandes
+\begin{lstlisting}
+\usepackage{mathpazo}
+\usepackage{helvet}
+\end{lstlisting}
+ La police Helvetica est très grande. Tel que mentionné dans la %
+ \doc{psnfss2e}{http://texdoc.net/pkg/psnfss/} %
+ de PSNFSS (section~4), il est généralement préférable de charger
+ le paquetage \pkg{helvet} avec, par exemple,
+\begin{lstlisting}
+\usepackage[scaled=0.92]{helvet}
+\end{lstlisting}
+ pour que le texte en Helvetica se marie mieux à celui dans une
+ autre police.
+ \end{sol}
+\end{exercice}
+
+\begin{exercice}
+ Configurer le paquetage \pkg{hyperref} pour que les hyperliens dans
+ la table des matières soient ancrés aux numéros de page plutôt
+ qu'aux titres de section.
+ \begin{sol}
+ Tel qu'expliqué à la \autoref{sec:trucs:hyperliens}, on doit
+ insérer dans le préambule du document la commande
+\begin{lstlisting}
+\hypersetup{linktocpage=true}
+\end{lstlisting}
+ ou, plus simplement,
+\begin{lstlisting}
+\hypersetup{linktocpage}
+\end{lstlisting}
+ \end{sol}
+\end{exercice}
+
+\begin{exercice}
+ Charger le paquetage \pkg{xcolor} et ajouter l'option
+ \code{colorlinks} à \pkg{hyperref}, puis recompiler le document.
+ Observer les changements.
+ \begin{sol}
+ En conservant l'ajout de l'exercice précédent, on a dans le
+ préambule la commande
+\begin{lstlisting}
+\hypersetup{colorlinks, linktocpage}
+\end{lstlisting}
+ Les hyperliens se présentent maintenant en couleur selon les
+ paramètres par défaut de \pkg{hyperref}.
+ \end{sol}
+\end{exercice}
+
+\begin{exercice}
+ En s'inspirant de l'\autoref{ex:trucs:couleurs}, modifier la couleur
+ des liens internes et externes.
+ \begin{sol}
+ On peut soit utiliser des couleurs prédéfinies de \pkg{xcolor}
+ (\autoref{tab:trucs:couleurs}), soit en définir de nouvelles avec
+ \cmd{\definecolor}. On fait ensuite appel aux couleurs choisies
+ pour les options \code{linkcolor} (liens internes) et
+ \code{urlcolor} (liens externes) de \pkg{hyperref}.
+
+ Exemple utilisant des couleurs prédéfinies:
+\begin{lstlisting}
+\hypersetup{colorlinks, linktocpage,
+ linkcolor=brown, urlcolor=blue}
+\end{lstlisting}
+
+ Exemple avec de nouvelles couleurs:
+\begin{lstlisting}
+\definecolor{link}{rgb}{0,0.4,0.6}
+\definecolor{url}{rgb}{0.6,0,0}
+\hypersetup{colorlinks, linktocpage,
+ urlcolor=url, linkcolor=link}
+\end{lstlisting}
+ \end{sol}
+\end{exercice}
+
+\begin{exercice}
+ \label{exercice:trucs:n}
+ Charger le paquetage \pkg{listings} et modifier l'environnement
+ \Pe{verbatim} que l'on trouve dans le document pour un environnement
+ \Pe{lstlisting}. En s'inspirant de l'\autoref{ex:trucs:listings},
+ configurer la présentation des extraits de code pour utiliser une
+ police non proportionnelle (\cmdprint{\ttfamily}) et un arrière-plan
+ de la couleur standard \code{lightgray}.
+ \begin{sol}
+ S'il y avait plusieurs extraits de code dans le document, mieux
+ vaudrait les configurer tous à l'identique dans le préambule du
+ document avec
+\begin{lstlisting}
+\lstset{basicstyle=\ttfamily,
+ backgroundcolor=\color{lightgray}}
+\end{lstlisting}
+ Ensuite,
+\begin{vglisting}
+\begin{lstlisting}
+latex ulthese.ins
+\end{lstlisting}
+\end{vglisting}
+ donne le résultat demandé.
+
+ Pour un seul extrait, il est également possible de simplement
+ charger le paquetage dans le préambule et d'effectuer la
+ configuration à l'ouverture de l'environnement, comme ceci:
+\begin{vglisting}
+\begin{lstlisting}[basicstyle=\ttfamily,
+ backgroundcolor=\color{lightgray}]
+latex ulthese.ins
+\end{lstlisting}
+\end{vglisting}
+ \end{sol}
+\end{exercice}
+
+\Closesolutionfile{solutions}
+
+
+%%% Local Variables:
+%%% mode: latex
+%%% TeX-master: "formation-latex-ul"
+%%% TeX-engine: xetex
+%%% coding: utf-8
+%%% End:
diff --git a/info/formation-latex-ul/source/ulthese-diapos.tex b/info/formation-latex-ul/source/ulthese-diapos.tex
new file mode 100644
index 0000000000..5845fed19e
--- /dev/null
+++ b/info/formation-latex-ul/source/ulthese-diapos.tex
@@ -0,0 +1,57 @@
+%%% Copyright (C) 2018 Vincent Goulet
+%%%
+%%% Ce fichier fait partie du projet
+%%% «Rédaction avec LaTeX»
+%%% https://gitlab.com/vigou3/formation-latex-ul
+%%%
+%%% Cette création est mise à disposition sous licence
+%%% Attribution-Partage dans les mêmes conditions 4.0
+%%% International de Creative Commons.
+%%% https://creativecommons.org/licenses/by-sa/4.0/
+
+\section{Classe ulthese}
+
+\begin{frame}
+ \frametitle{Un document conforme en un tournemain}
+
+ \begin{itemize}
+ \item \class{ulthese} livrée dans {\TeX}~Live donc déjà
+ installée sur votre ordinateur
+ \item Mise en page conforme aux règles de présentation de la FESP
+ \item Basée sur la classe \class{memoir}
+ \item Quelques nouvelles commandes pour la création de la page de
+ titre
+ \item Partir d'un gabarit (classés avec la documentation dans
+ {\TeX}~Live)
+ \item Utiliser des fichiers séparés pour chaque chapitre de la thèse
+ ou du mémoire
+ \end{itemize}
+\end{frame}
+
+\subsection{[~Exercice~]}
+
+\begin{exercice}
+ Utiliser le fichier \fichier{exercice\_ulthese.tex} --- qui est basé
+ sur le gabarit \texttt{gabarit-doctorat.tex} livré avec
+ \class{ulthese}.
+
+ Ce fichier insère \fichier{b-a-ba-math.tex} dans le document avec la
+ commande \cs{include}.
+ \begin{enumerate}
+ \item Étudier le code source des deux fichiers et identifier à quel
+ endroit \texttt{b-a-ba-math.tex} est chargé dans le document.
+ \item Activer les paquetages \pkg{amsmath} et \pkg{icomma}, puis
+ compiler \texttt{exercice\_ulthese.tex}.
+ \item Modifier un environnement \texttt{align*} pour \texttt{align}
+ dans \texttt{b-a-ba-math.tex} et observer le résultat dans la
+ compilation de \texttt{exercice\_ulthese.tex}.
+ \item Compiler de nouveau le fichier en utilisant une police
+ différente.
+ \end{enumerate}
+\end{exercice}
+
+%%% Local Variables:
+%%% TeX-master: "formation-latex-ul-diapos"
+%%% TeX-engine: xetex
+%%% coding: utf-8
+%%% End:
diff --git a/info/formation-latex-ul/source/ulthese.tex b/info/formation-latex-ul/source/ulthese.tex
new file mode 100644
index 0000000000..2646c61c03
--- /dev/null
+++ b/info/formation-latex-ul/source/ulthese.tex
@@ -0,0 +1,59 @@
+%%% Copyright (C) 2018 Vincent Goulet
+%%%
+%%% Ce fichier fait partie du projet
+%%% «Rédaction avec LaTeX»
+%%% https://gitlab.com/vigou3/formation-latex-ul
+%%%
+%%% Cette création est mise à disposition sous licence
+%%% Attribution-Partage dans les mêmes conditions 4.0
+%%% International de Creative Commons.
+%%% https://creativecommons.org/licenses/by-sa/4.0/
+
+\chapter{Classe pour les thèses et mémoires de
+ l'Université Laval}
+\label{chap:ulthese}
+
+La classe \class{ulthese} \citep{ulthese} permet de composer des
+thèses et mémoires immédiatement conformes aux règles générales de
+présentation matérielle de la Faculté des études supérieures et
+postdoctorales de l'Université Laval. Ces règles définissent
+principalement la présentation des pages de titre des thèses et
+mémoires ainsi que la disposition du texte sur la page. La classe est
+compatible tant avec {\LaTeX} qu'avec {\XeLaTeX}.
+
+La classe \class{ulthese} est basée sur la classe \class{memoir}.
+L'intégralité des fonctionnalités de \class{memoir} se retrouve donc
+disponible dans \class{ulthese}. Les deux classes sont livrées avec la
+distribution {\TeX}~Live.
+
+Outre \class{memoir}, la classe charge par défaut un certain nombre de
+paquetages, notamment les essentiels pour la rédaction en français. Il
+n'est donc pas nécessaire de charger de nouveau les paquetages
+suivants: \pkg{babel}, \pkg{numprint}, \pkg{natbib} \pkg{fontspec}
+(moteur {\XeLaTeX} seulement), \pkg{graphicx}, \pkg{xcolor},
+\pkg{textcomp}. Le paquetage \pkg{geometry} est incompatible avec la
+classe à cause de sa mauvaise interaction avec \class{memoir}. Son
+chargement dans le préambule du document cause une erreur lors de la
+compilation.
+
+Afin de faciliter la rédaction, la classe est livrée avec un ensemble
+de gabarits sur lesquels se baser pour:
+\begin{itemize}
+\item les fichiers maitres de divers types de thèses et mémoires
+ (standard, sur mesure, en cotutelle, en bidiplomation, en
+ extension, etc.);
+\item les fichiers des parties les plus usuelles (résumés français
+ et anglais, avant-propos, introduction, chapitres, conclusion,
+ etc.).
+\end{itemize}
+Ces gabarits comportent des commentaires succincts pour guider
+l'utilisateur dans la préparation de son document. La
+\doc{ulthese}{http://texdoc.net/pkg/ulthese} %
+de la classe explique en détail le contenu des gabarits.
+
+%%% Local Variables:
+%%% mode: latex
+%%% TeX-master: "formation-latex-ul"
+%%% TeX-engine: xetex
+%%% coding: utf-8
+%%% End: