diff options
Diffstat (limited to 'info/latex2e-help-texinfo-fr/latex2e-fr.dbk')
-rw-r--r-- | info/latex2e-help-texinfo-fr/latex2e-fr.dbk | 6836 |
1 files changed, 5631 insertions, 1205 deletions
diff --git a/info/latex2e-help-texinfo-fr/latex2e-fr.dbk b/info/latex2e-help-texinfo-fr/latex2e-fr.dbk index 8771be8b35..70a500266a 100644 --- a/info/latex2e-help-texinfo-fr/latex2e-fr.dbk +++ b/info/latex2e-help-texinfo-fr/latex2e-fr.dbk @@ -4,16 +4,26 @@ <!ENTITY latex "LaTeX"> ]> <book id="latex2e-fr.dbk" lang="fr"> -<title>manuel de référence officieux de &latex;2e (Août 2017)</title> +<!-- $Id: common.texi 729 2018-11-13 23:22:27Z karl $ --> +<!-- Public domain. --> + +<title>Manuel de référence officieux de &latex;2e (Septembre 2020)</title> <!-- % ** fin de tête (c'est pour courir Texinfo sur une région.) --> <!-- latex 2.09 commandes devraient tous être présents maintenant, --> +<!-- xx À faire: --> +<!-- - -shell-escape & -file-line-no pris en charge par MiKTeX --> +<!-- - exemple pdflatex -interaction=nonstopmode -file-line-error '\documentclass{minimal}\begin{document}\errmessage{Foirage}Salut\end{document}' --> +<!-- => le jobname est minimal, créer un nœud sur jobname --> +<!-- => style de message d'erreur traditionnel, car on n'est pas dans un fichier --> +<!-- => ajouter un nœud sur \errmessage --> +<!-- --> +<!-- - ajouter @node Colon character & \colon --> +<!-- --> <!-- xx mais LaTeX2e substance est manquant. --> <!-- xx une liste aléatoire de quelques items manquant est à la fin de ce fichier --> +<!-- xx Lire le fichier NEWS pour les choses à mettre à jour. --> <!-- --> -<!-- xx misc commands from clsguide.pdf: MakeUpperCase, \ignorespacesafterend, --> -<!-- \normalsfcodes --> -<!-- xx color (include info from clsguide.pdf) --> <!-- xx ending a run with errors --> <!-- xx ctan, distributions, composant de TeX --> <!-- xx mention \nocorr, \textit et ic --> @@ -25,10 +35,21 @@ <!-- xx fusionner style mathématique hors texte --> <!-- xx mode veritical, mode horizontal --> <!-- --> +<!-- --> +<!-- --> +<!-- xx Notes de P. Bideault --> +<!-- --> +<!-- xx Le sommaire précède immédiatement la table des matières. C'est curieux, --> +<!-- xx C'est curieux, et perturbant. --> +<!-- xx Cette table des matières ne serait-elle mieux située en fin de document ? --> +<!-- --> +<!-- --> +<!-- --> <!-- xx Le source2e typographie a un index avec tous noyau --> <!-- commandes xx, même si certains sont internes et ne devraient pas être inclus. --> <!-- xx classes.dtx et al. définir des commandes supplémentaires. --> <!-- xx Voir aussi http://ctan.org/pkg/macros2e. --> +<!-- xx Tous les caractères spéciaux devraient une fois pour toute être dérits --> <!-- --> <!-- packages xx - requis, plus, utile; Oberdiek; polices --> @@ -40,32 +61,32 @@ <!-- --> <!-- Autres ressources: --> <!-- https://www.latex-project.org/help/books/lc2fr-apb.pdf --> +<!-- http://mirror.ctan.org/info/impatient/fr/fbook.pdf --> <bookinfo><legalnotice><para>Ce document est un manuel de référence officieux pour &latex;, un -système de préparation de documents, version « Août 2017 ». +système de préparation de documents, version « Septembre 2020 ». </para> <para>Ce manuel a été traduit du fichier <filename>LATEX.HLP</filename> v1.0a de la -bibliothèque d’aide VMS. La version pré-traduction a été rédigé par -George D. Greenwade de Sam Houston State University. La version +bibliothèque d’aide VMS. La version pré-traduction a été rédigée par +George D. Greenwade de l’université d’État Sam Houston, au Texas (USA). La version &latex; 2.09 a été rédigée par Stephen Gilmore. La version &latex;2e a -été adapté à partir de cellce-ci par Torsten Martinsen. Karl Berry a +été adaptée à partir de celle-ci par Torsten Martinsen. Karl Berry a fait d’autres mises à jour et ajouts, et reconnaît avec gratitude avoir utilisé <citetitle>Hypertext Help with &latex;</citetitle>, de Sheldon Green, et <citetitle>&latex; Command Summary</citetitle> (pour &latex;2.09) de L. Botway et C. Biemesderfer (publié par le &tex; Users Group en tant que -<citetitle>&tex;niques</citetitle> numéro 10), il l’a utilisé en tant que matériel de -référence (aucun texte n’était directement copié). +<citetitle>&tex;niques</citetitle> numéro 10) ; il a utilisé ces documents en tant que matériel de +référence et n’en a copié aucun texte directement. </para> -<para>Tous droits réservés © 2015-2017 Vincent Belaïche — traduction. +<para>Tous droits réservés © 2015-2020 Vincent Belaïche — traduction. -Tous droits réservés © 2007, 2008, 2009, 2010, 2011, 2012, 2013, -2014, 2015, 2016, 2017 Karl Berry. +Tous droits réservés © 2007-2020 Karl Berry. Tous droits réservés © 1988, 1994, 2007 Stephen Gilmore. Tous droits réservés © 1994, 1995, 1996 Torsten Martinsen. </para> -<para>Ci-après se trouve la licence sous laquelle est distribuée ce manuel, +<para>Ci-après se trouve la licence sous laquelle est distribuée ce manuel ; une traduction en est donnée en annexe, voir <link linkend="License-translation">License translation</link>. </para> <!-- start of License --> @@ -86,30 +107,29 @@ into another language, under the above conditions for modified versions. <para>Ce document est un manuel de référence officieux pour &latex;, un -système de préparation de documents, version « Août 2017 ». +système de préparation de documents, version « Septembre 2020 ». </para> <para>Ce manuel a été traduit du fichier <filename>LATEX.HLP</filename> v1.0a de la -bibliothèque d’aide VMS. La version pré-traduction a été rédigé par -George D. Greenwade de Sam Houston State University. La version +bibliothèque d’aide VMS. La version pré-traduction a été rédigée par +George D. Greenwade de l’université d’État Sam Houston, au Texas (USA). La version &latex; 2.09 a été rédigée par Stephen Gilmore. La version &latex;2e a -été adapté à partir de cellce-ci par Torsten Martinsen. Karl Berry a +été adaptée à partir de celle-ci par Torsten Martinsen. Karl Berry a fait d’autres mises à jour et ajouts, et reconnaît avec gratitude avoir utilisé <citetitle>Hypertext Help with &latex;</citetitle>, de Sheldon Green, et <citetitle>&latex; Command Summary</citetitle> (pour &latex;2.09) de L. Botway et C. Biemesderfer (publié par le &tex; Users Group en tant que -<citetitle>&tex;niques</citetitle> numéro 10), il l’a utilisé en tant que matériel de -référence (aucun texte n’était directement copié). +<citetitle>&tex;niques</citetitle> numéro 10) ; il a utilisé ces documents en tant que matériel de +référence et n’en a copié aucun texte directement. </para> -<para>Tous droits réservés © 2015-2017 Vincent Belaïche — traduction. +<para>Tous droits réservés © 2015-2020 Vincent Belaïche — traduction. -Tous droits réservés © 2007, 2008, 2009, 2010, 2011, 2012, 2013, -2014, 2015, 2016, 2017 Karl Berry. +Tous droits réservés © 2007-2020 Karl Berry. Tous droits réservés © 1988, 1994, 2007 Stephen Gilmore. Tous droits réservés © 1994, 1995, 1996 Torsten Martinsen. </para> -<para>Ci-après se trouve la licence sous laquelle est distribuée ce manuel, +<para>Ci-après se trouve la licence sous laquelle est distribuée ce manuel ; une traduction en est donnée en annexe, voir <link linkend="License-translation">License translation</link>. </para> <!-- start of License --> @@ -131,12 +151,11 @@ into another language, under the above conditions for modified versions. <!-- Best Effort Symbol --> - <chapter label="" id="Top"> <title>&latex;2e : un manuel de référence officieux</title> <para>Ce document est un manuel de référence officieux pour &latex;2e, un -système de préparation de document, dans sa version « Août 2017 ». +système de préparation de document, dans sa version « Septembre 2020 ». </para> @@ -144,14 +163,14 @@ système de préparation de document, dans sa version « Août 2017 ». <chapter label="1" id="About-this-document"> <title>À propos de ce document</title> -<indexterm role="fn"><primary><ulink url="http://puszcza.gnu.org.ua/software/latexrefman/">http://puszcza.gnu.org.ua/software/latexrefman/</ulink> page d’accueil</primary></indexterm> +<indexterm role="fn"><primary><ulink url="https://latexref.xyz">https://latexref.xyz</ulink> page d’accueil</primary></indexterm> <para>Ceci est un manuel de référence officieux pour le système &latex;2e de -préparation de document, ce système est mis en oeuvre sous forme d’un +préparation de document. Ce système est mis en œuvre sous forme d’un paquet de macros pour le programme de composition &tex; -(voir <link linkend="Overview">Overview</link>). La page d’accueil de ce document est -<ulink url="http://puszcza.gnu.org.ua/software/latexrefman/">http://puszcza.gnu.org.ua/software/latexrefman/</ulink>. Cette page contient des liens vers -les produits courants de fabrication du document dans différents -formats, les sources, les listes de diffusion, et d’autres +(see <link linkend="Overview">Overview</link>). La page d’accueil de ce document est +<ulink url="https://latexref.xyz">https://latexref.xyz</ulink>. Cette page contient des liens vers +différentes versions de ce document, dans différents +formats et langues, mais aussi vers ses sources, vers les archives des listes de diffusion qui lui sont consacrées ainsi que vers d’autres infrastructures. </para> <indexterm role="cp"><primary>&latex; ou &latex;2e, que choisir ?</primary></indexterm> @@ -172,11 +191,14 @@ par les mainteneurs de &latex;. <indexterm role="cp"><primary>bogues, rapports</primary></indexterm> <indexterm role="cp"><primary>anomalies, rapports</primary></indexterm> Ne leur envoyez donc pas de rapports d’anomalie ou quoi que ce soit -d’autre. Au lieu de cela, s’il vous plaît envoyez tous commentaires à +d’autre. +</para> +<para>En revanche, n’hésitez pas à adresser vos commentaires à <email>latexrefman@tug.org</email>. </para> -<para>Ce document est un manuel de référence. Il y a une vaste gamme d’autres sources d’information sur -&latex;, de tous niveaux. Voici quelques introductions : +<para>Ce document est un manuel de référence. Il y a d’autres sources d’information sur +&latex; : elles sont très nombreuses, et s’adressent à des utilisateurs de tous niveaux. +Voici quelques introductions : </para> <!-- voir http://mirror.ctan.org/help/ctan/CTAN-upload-addendum.html#urls --> <variablelist><varlistentry><term><ulink url="http://ctan.org/pkg/latex-doc-ptr">http://ctan.org/pkg/latex-doc-ptr</ulink> @@ -215,28 +237,34 @@ est un. <indexterm role="cp"><primary>Knuth, Donald E.</primary></indexterm> <indexterm role="cp"><primary>Lamport, Leslie</primary></indexterm> <indexterm role="cp"><primary>&latex; aperçu</primary></indexterm> -<para>&latex; est un système de composition de document. Il fut à l’origine -créé par Leslie Lamport et est desormais maintenu par un groupe de +<para>&latex; est un système de composition de documents. Il fut à l’origine +créé par Leslie Lamport ; il est désormais maintenu par un groupe de volontaires (<ulink url="http://latex-project.org">http://latex-project.org</ulink>). Il est largement utilisé, en particulier pour les documents complexes et techniques, tels que ceux impliquant des mathématiques. </para> +<!-- - Au début, ajout de « à l'aide d'un simple éditeur de texte ». --> +<!-- - Emploi d'italiques pour les notions principales. --> +<!-- - À la fin, ajout de « qui contient son texte mis en page ». --> <indexterm role="cp"><primary>paquet de macro, &latex; en tant que</primary></indexterm> -<para>Un utilisateur &latex; écrit un fichier d’entrée contenant le texte -d’un document avec des commandes qui y sont intercalées pour décrire -comment le texte doit être formaté. &latex; est mis en œuvre comme un +<para>À l’aide d’un simple éditeur de texte, +un utilisateur &latex; écrit un fichier, dit <emphasis>fichier d’entrée</emphasis>, +qui contient son texte ; des <emphasis>commandes</emphasis> y sont intercalées : +ce sont des instructions servant à décrire la manière dont le texte +doit être formaté. En effet, &latex; est mis en œuvre comme un ensemble de commandes liées s’interfaçant avec le programme de composition &tex; de Donald E. Knuth (le terme technique est que &latex; est un <firstterm>paquet de macros</firstterm> pour le moteur &tex;). -L’utilisateur produit le document de sortie en donnant ce fichier -d’entrée au moteur &tex;. +En donnant le fichier d’entrée au moteur &tex;, +l’utilisateur produit le <emphasis>document de sortie</emphasis> +qui contient son texte mis en page. </para> <!-- - Les fichiers @LaTeX{} sont des fichiers texte ordinaires qui --> <!-- - peuvent être écrits avec n'importe quel éditeur de texte aux --> <!-- - performances raisonnables. --> <para>Le terme &latex; est aussi parfois utilisé pour signifier le langage à -balises dans lequel le code source du document est écrit, c.-à-d. pour +balises dans lequel le code source du document est écrit, c’est-à-dire pour signifier l’ensemble des commandes à la disposition d’un utilisateur de &latex;. </para> @@ -245,7 +273,7 @@ signifier l’ensemble des commandes à la disposition d’un utilisateu <para>Le nom &latex; est l’abréviation de “Lamport &tex;”. On le prononce LA-TÈQUE. Au sein du document, on produit le logo avec <literal>\LaTeX</literal>. Là où l’utilisation du logo n’est pas raisonnable, comme dans du texte -brut, écrivez le ‘<literal>LaTeX</literal>’. +brut, écrivez-le ‘<literal>LaTeX</literal>’. </para> @@ -258,7 +286,8 @@ brut, écrivez le ‘<literal>LaTeX</literal>’. <indexterm role="cp"><primary>Bonjour le monde</primary></indexterm> <para>Les fichiers &latex; ont une structure globale simple, avec un début et -une fin standards. Voici un exemple « Bonjour le monde » : +une fin standards. Voici un exemple : il s’agit d’obtenir un document +contenant la phrase « Bonjour le monde ». </para> <screen>\documentclass{article} \begin{document} @@ -266,11 +295,11 @@ Bonjour le monde \LaTeX. \end{document} </screen> <indexterm role="cp"><primary>classe de document, définition</primary></indexterm> -<para>Ici ‘<literal>article</literal>’ et ce qu’on appelle la <firstterm>classe de document</firstterm>, -implémentée dans une fichier <filename>article.cls</filename>. N’importe quelle classe +<para>Ici ‘<literal>article</literal>’ est ce que l’on appelle la <firstterm>classe de document</firstterm> ; +elle est implémentée dans une fichier <filename>article.cls</filename>. N’importe quelle classe de document peut être utilisée. Quelques classes de document sont définies par &latex; lui-même, et un grand nombre d’autres sont -largement disponibles. Voir <link linkend="Document-classes">Document classes</link>. +largement disponibles. See <link linkend="Document-classes">Document classes</link>. </para> <indexterm role="cp"><primary>préambule, définition</primary></indexterm> <para>Vous pouvez inclure d’autres commandes &latex; entre les commandes @@ -281,12 +310,13 @@ appelée le <firstterm>préambule</firstterm>). <indexterm role="cp"><primary>environnement</primary></indexterm> appelle un <firstterm>environnement</firstterm> ; l’environnement ‘<literal>document</literal>’ (et aucun autre) est obligatoire dans tous les documents &latex; -(voir <link linkend="document">document</link>). &latex; fournit lui-même beaucoup +(see <link linkend="document">document</link>). &latex; fournit lui-même beaucoup d’environnements, et bien plus encore sont définis séparément. -Voir <link linkend="Environments">Environments</link>. +See <link linkend="Environments">Environments</link>. </para> -<para>Les rubriques suivantes discutent de la façon de produire des PDF et -d’autres format de sortie à partir d’un fichier d’entrée &latex;. +<para>Les rubriques suivantes sont consacrées aux façons de produire, +à partir d’un fichier d’entrée &latex;, des documents PDF ou +d’autres formats. </para> </sect1> @@ -304,25 +334,25 @@ soit en <filename>.dvi</filename> soit en <filename>.pdf</filename>. <indexterm role="fn"><primary>commande dvips</primary></indexterm> <indexterm role="fn"><primary>commande dvipdfmx</primary></indexterm> <indexterm role="fn"><primary>commande dvitype</primary></indexterm> -<para>Si il est invoqué avec la commande système <command>latex</command>, alors il +<para>S’il est invoqué avec la commande système <command>latex</command>, alors il produit un fichier « DeVice Independent<footnote><para>Indépendant du périphérique de sortie, ce n’est toutefois pas un format portable de document</para></footnote> » (<filename>.dvi</filename>). Vous pouvez visualiser ce fichier avec une commande comme <command>xdvi</command>, ou le convertir en fichier PostScript <literal>.ps</literal> avec <command>dvips</command> ou en fichier « Portable Document Format<footnote><para>Format portable de document</para></footnote> » <literal>.pdf</literal> avec -<command>dvipdfmx</command>. Un grand nombre d’autres progammes utilitaires DVI -sont disponibles (<ulink url="http://mirror.ctan.org/dviware">http://mirror.ctan.org/dviware</ulink>). +<command>dvipdfmx</command>. Un grand nombre d’autres progammes utilitaires +pour fichiers DVI sont disponibles (<ulink url="http://mirror.ctan.org/dviware">http://mirror.ctan.org/dviware</ulink>). </para> </listitem></varlistentry><varlistentry><term><literal>.pdf</literal> </term><listitem><indexterm role="fn"><primary>.pdf fichier</primary></indexterm> <indexterm role="cp"><primary>pdf&tex;</primary></indexterm> <indexterm role="fn"><primary>commande pdflatex</primary></indexterm> <para>Si &latex; est invoqué avec la commande système <command>pdflatex</command>, -parmi d’autres commandes (voir <link linkend="TeX-engines">&tex; engines</link>), alors la sortie -principale est un fichier “Portable Document Format” +alors la sortie principale est un fichier “Portable Document Format” (<filename>.pdf</filename>). Typiquement, il s’agit d’un fichier autonome, avec toutes les polices et images incorporées. +D’autres commandes (see <link linkend="TeX-engines">&tex; engines</link>) produisent des fichiers PDF. </para> <!-- - Cela peut être très utile, mais cela rend le fichier de sortie beaucoup --> <!-- - plus grand que le fichier @file{.dvi} produit à partir du même document. --> @@ -351,7 +381,7 @@ les polices et images incorporées. informations sommaires telles que la liste des paquetages chargés. Il contient aussi des messages de diagnostic <!-- - pour toutes les erreurs découvertes dans le fichier d'entrée. --> -et possiblement des informations supplémentaires concernant toutes +et, possiblement, des informations supplémentaires concernant toutes erreurs. </para> </listitem></varlistentry><varlistentry><term><literal>.aux</literal> @@ -363,12 +393,12 @@ erreurs. <para>De l’information auxiliaire est utilisée par &latex; pour des choses telles que les doubles renvois. Par exemple, la première fois que &latex; trouve un renvoi en aval — une double référence à -quelque-chose qui n’est pas encore apparu dans le code source — il +quelque chose qui n’est pas encore apparu dans le code source — il apparaîtra dans la sortie comme un double point d’interrogation <literal>??</literal>. Quand l’endroit auquel le renvoi fait référence finit par -appraître dans le code source, alors &latex; écrit son information de +apparaître dans le code source, alors &latex; écrit son information de localisation dans ce fichier <literal>.aux</literal>. À l’invocation suivante, -&latex; lit l’inforlation de localisation à partir de ce fichier et +&latex; lit l’information de localisation à partir de ce fichier et l’utilise pour résoudre le renvoi, en remplaçant le double point d’interrogation avec la localisation mémorisée. </para> @@ -402,9 +432,9 @@ fin définie. <indexterm role="cp"><primary>entrée Unicode, native</primary></indexterm> <indexterm role="cp"><primary>polices TrueType</primary></indexterm> <indexterm role="cp"><primary>polices OpenType</primary></indexterm> -<para>&latex; est défini comme un ensemble de commande qui sont exécutées par -une implémentation &tex; (voir <link linkend="Overview">Overview</link>). Cette section donne une -vue d’ensemble laconique des principaux programmes. +<para>&latex; est défini comme un ensemble de commandes qui sont exécutées par +une implémentation &tex; (see <link linkend="Overview">Overview</link>). Cette section donne une +brève vue d’ensemble des principaux programmes. </para> <variablelist><varlistentry><term><literal>latex</literal> </term><term><literal>pdflatex</literal> @@ -437,9 +467,9 @@ l’hyptohèse que les extension e-&tex; sont disponibles en &latex;. <para>Si &latex; est invoqué avec la commandes systèmes <command>lualatex</command>, alors le moteur Lua&tex; est exécuté (<ulink url="http://ctan.org/pkg/luatex">http://ctan.org/pkg/luatex</ulink>). Ce programme permet que du code -écrit dans le langage script Lua (<ulink url="http://luatex.org">http://luatex.org</ulink>) intéragisse +écrit dans le langage script Lua (<ulink url="http://luatex.org">http://luatex.org</ulink>) interagisse avec la compostion faite par &tex;. Lua&tex; traite nativement -l’entrée en Unicode UTF-8, peut traiter les polices OpenType et +l’entrée en codage Unicode UTF-8, peut traiter les polices OpenType et TrueType, et produit un fichier <filename>.pdf</filename> par défaut. Il y a aussi <command>dvilualatex</command> pour produire un fichier <filename>.dvi</filename>, mais cela est rarement utilisé. @@ -451,10 +481,10 @@ est rarement utilisé. <indexterm role="fn"><primary>xdvipdfmx</primary></indexterm> <para>Si &latex; est invoqué avec la commandes système <command>xelatex</command>, le moteur Xe&tex; est exécuté (<ulink url="http://tug.org/xetex">http://tug.org/xetex</ulink>). Comme -Lua&tex;, Xe&tex; prend en charge nativement UTF-8 Unicode et les -polices TrueType et OpenType, bien que l’implementation soit -complètement différente, utilisant principalement des bibliothèque -externe plutôt que du code interne. Xe&tex; produit un fichier <filename>.pdf</filename> +Lua&tex;, Xe&tex; prend en charge nativement le codage Unicode UTF-8 et les +polices TrueType et OpenType, bien que leur implémentation soit +complètement différente, en utilisant principalement des bibliothèques +externes plutôt que du code interne. Xe&tex; produit un fichier <filename>.pdf</filename> en sortie ; il ne prend pas en charge la sortie DVI. </para> <para>En interne, Xe&tex; crée un fichier <literal>.xdv</literal> file, une variante de @@ -463,8 +493,8 @@ programme (<literal>x</literal>)<literal>dvipdfmx</literal>, mais ce processus e Le fichier <literal>.xdv</literal> n’est utile que pour le débogage. </para> </listitem></varlistentry></variablelist> -<para>D’autres vairantes de &latex; et &tex; existent, par ex. pour fournir -une prise en charge supplémentaires du japonais des d’autres langages +<para>D’autres variantes de &latex; et &tex; existent, par exemple pour fournir +une prise en charge supplémentaire du japonais et d’autres langages ([u]p&tex;, <ulink url="http://ctan.org/pkg/ptex">http://ctan.org/pkg/ptex</ulink>, <ulink url="http://ctan.org/pkg/uptex">http://ctan.org/pkg/uptex</ulink>). </para> @@ -478,41 +508,53 @@ une prise en charge supplémentaires du japonais des d’autres langages <indexterm role="fn"><primary>[...] pour les arguments optionnels</primary></indexterm> <indexterm role="fn"><primary>{...} pour les arguments obligatoires</primary></indexterm> <para>Dans le fichier d’entrée &latex;, un nom de commande commence avec une -contr’oblique, <literal>\</literal>. Le nom lui-même consiste soit en (a) une -chaîne de lettres ou (b) une unique non-lettre. +contre-oblique, <literal>\</literal>. Le nom lui-même consiste soit en (a) une +chaîne de lettres ou (b) un unique caractère, qui dans ce cas n’est pas une lettre. </para> <para>Les noms de commandes &latex; sont sensibles à la casse de sorte que <literal>\pagebreak</literal> diffère de <literal>\Pagebreak</literal> (ce dernier n’est pas une -commande standarde). La plupart des noms de commandes sont en bas de -casse, mais en tout cas vous devez saisir toutes les commandes dans la -même casse où elles sont définies. +commande standard). La plupart des noms de commandes sont en bas de +casse, mais elles sont sensibles à la casse : vous devez toujours saisir +les commandes en respectant la casse où elles ont été définies. </para> <para>Une commande peut être suivie de zéro, un ou plus d’arguments. Ces arguments peuvent être soit obligatoires, soit optionnels. Les arguments obligatoires sont entre accolades, <literal>{...}</literal>. Les -arguments optionnels sont entre crochets, <literal>[...]</literal>. En général, -mais ce n’est pas universel, si la commande prend un argument optionnel, +arguments optionnels sont entre crochets, <literal>[...]</literal>. En général +(mais ce n’est pas universel), si la commande prend un argument optionnel, il vient en premier, avant tout argument obligatoire. </para> <para>Au sein d’un argument optionnel, pour utiliser le crochet -fermant (<literal>]</literal>) cachez le au sein d’accolades, comme +fermant (<literal>]</literal>) cachez-le au sein d’accolades, comme dans <literal>\item[crochet fermant {]}]</literal>. De même, si un argument optionnel vient en dernier, sans argument obligatoire à sa suite, alors -pour qie le premier caractère dans le texte suivant soit un crochet -ouvrant, cachez le entre accolades. +pour que le premier caractère dans le texte suivant soit un crochet +ouvrant, cachez-le entre accolades. </para> -<para>&latex; a la convetion que certaines commandes ont une forme en a -<literal>*</literal> qui est en relation avec la forme sans le <literal>*</literal>, telles que +<para>&latex; obéit à la convention selon laquelle certaines commandes ont une forme étoilée +(<literal>*</literal>) qui est en relation avec la forme sans le <literal>*</literal>, telles que <literal>\chapter</literal> et <literal>\chapter*</literal>. La différence exacte de comportement dépend de la commande. </para> -<para>Ce manuel décrit toutes les options accepté et les formes en <literal>*</literal> -pour les commandes dont il traite (à l’exeption des omissions -involontaires, ou bogues de ce manuel). +<para>Ce manuel décrit toutes les options acceptées et les formes en <literal>*</literal> +pour les commandes dont il traite (à l’exception des omissions +involontaires ou bogues de ce manuel). </para> +<!-- xxx Revoir le menu --> + -<sect2 label="2.4.1" id="Environment"> +<sect2 label="2.4.1" id="Declaration"> +<title>Les déclarations de commandes</title> + +<para>Certaines commandes changent la valeur ou la signification d’une +autre commande ou d’un paramètre. Par exemple, la commande <literal>\mainmatter</literal> +change le réglage de la numérotation des pages en passant de chiffres +romains à des chiffres arabes. +</para> +</sect2> +</sect1> +<sect1 label="2.5" id="Environment"> <title>Les environnements</title> <para>Synopsis : @@ -526,376 +568,64 @@ comportement différent. Par exemple, pour la poésie en &latex; mettez les lignes entre <literal>\begin{verse}</literal> et <literal>\end{verse}</literal>. </para> <screen>\begin{verse} - There once was a man from Nantucket \\ + Plus ne suis ce que j'ai été \\ ... \end{verse} </screen> <para>Voir <link linkend="Environments">Environments</link> pour une liste des environnements. </para> -<para>Le <replaceable>nom environnement</replaceable> au début doit s’accorder exactement avec -celui à la fin. Ceci comprend le cas où <replaceable>nom environnement</replaceable> se -termine par une étoile(<literal>*</literal>) ; l’argument à la fois de +<para>Le <replaceable>nom environnement</replaceable> du début doit s’accorder exactement avec +celui de la fin. Cela vaut aussi dans le cas où <replaceable>nom environnement</replaceable> se +termine par une étoile (<literal>*</literal>) ; l’argument à la fois de <literal>\begin</literal> et <literal>\end</literal> doit comprendre l’étoile. </para> <para>Les environnements peuvent avoir des arguments, y compris des arguments optionnels. L’exemple ci-dessous produit un tableau. Le premier -argument est optionnel (et implique de la table est alignée -verticalement sur sa première ligne) alors que le second argument et -obligatoire (il spécifie le format des colonnes). +argument est optionnel (il aligne verticalement le tableau +sur sa première ligne) alors que le second argument est +obligatoire (il spécifie le format des colonnes du tableau). </para> <screen>\begin{tabular}[t]{r|l} ... lignes du tableau ... \end{tabular} </screen> +</sect1> +<sect1 label="2.6" id="CTAN"> +<title>CTAN : The Comprehensive &tex; Archive Network</title> -</sect2> -<sect2 label="2.4.2" id="Declaration"> -<title>Les déclarations de commandes</title> - -<para>Une commande qui change la valeur, ou change la signification, d’une -autre commande ou paramètre. Par exemple, la commande <literal>\mainmatter</literal> -change le réglage de la numérotation des pages en passant de numéros -romains à des numéros arabes. -</para> -</sect2> -<sect2 label="2.4.3" id="_005cmakeatletter-and-_005cmakeatother"> -<title><literal>\makeatletter</literal> et <literal>\makeatother</literal></title> - -<para>Synopsis : -</para> -<screen>\makeatletter - ... définition de commande comprenant @ dans leur nom .. -\makeatother -</screen> -<para>Utilisé pour redéfinir des commandes internes de &latex;. -<literal>\makeatletter</literal> a pour effet que le caractère arobe <literal>@</literal> ait -le code de catégorie des lettres, c.-à-d. 11. <literal>\makeatother</literal> -règle de code de catégorie de <literal>@</literal> à 12, sa valeur d’origine. -</para> -<para>À mesure que chaque caractère est lu par &tex; pour &latex;, un code -de catégorie lui est assigné. On appelle aussi ce code -<indexterm role="cp"><primary>catcode</primary></indexterm> -<indexterm role="cp"><primary>code de catégorie de caractère</primary></indexterm> -<indexterm role="cp"><primary>catégorie, code de … de caractère</primary></indexterm> -<firstterm>catcode</firstterm> pour faire court. Par exemple, la contr’oblique <literal>\</literal> -reçoit le catcode 0, qui correspond aux catactères qui commencent une -commande. Ces deux commandes altèrent le catcode assigné à <literal>@</literal>. -</para> -<para>Cette altération est nécessaire parce que beaucoup des commandes de -&latex; utilisent <literal>@</literal> dans leur nom, de sorte à empécher les -utilisateurs de définir accidentellement une commande qui remplacerait -l’une des commandes privées de &latex;. Les noms de commandes -consistent en un caractère de catégorie 0, d’ordinaire une -contr’oblique, suivi de lettres, c.-à-d. des caractères de -catégorie 11 (à ceci près q’un nom de commande peut aussi consister d’un -catactère de catégorie 0 suivi d’un seul symbole non-lettre). Ainsi sous -le régime par défaut de codes de catégorie, les commandes définies par -l’utilisateur ne peuvent pas contenir de <literal>@</literal>. Mais -<literal>\makeatletter</literal> et <literal>\makeatother</literal> permettent aux utilisateurs -de définir et re-définir des commandes dont le nom comprend un -<literal>@</literal>. -</para> -<para>À utiliser dans un fichier <filename>.tex</filename>, dans le préambule. Ne pas -utiliser dans des fichiers <filename>.sty</filename> ou <filename>.cls</filename> puisque les -commandes <literal>\usepackage</literal> et <literal>\documentclass</literal> règlent le code de -catégorie de l’arobe à celui d’une lettre. -</para> -<indexterm role="fn"><primary>paquetage <literal>macros2e</literal></primary></indexterm> -<indexterm role="fn"><primary><literal>macros2e</literal>, paquetage</primary></indexterm> -<para>Pour une liste complète des macros contenant un arobe dans leur nom, -voir le document <ulink url="http://ctan.org/pkg/macros2e">http://ctan.org/pkg/macros2e</ulink>. Ces macros sont -surtout à l’intention des auteurs de classes et de paquetages. -</para> -<!-- xxxx TODO : ajouter une avertissement sur cet exemple. --> -<para>L’exemple ci-après est typique. Une commande -<literal>\these@nomuniversite</literal> se trouve dans le fichier de classe de -l’utilisateur. L’utilisateur veut changer sa définition. Pour cela, il -suffit d’insérer les trois lignes suivantes dans le préambule, avant le -<literal>\begin{document}</literal> : -</para> -<screen>\makeatletter -\renewcommand{\these@nomuniversite}{Université Lyon III Jean Moulin} -\makeatother -</screen> - - - -<sect3 label="2.4.3.1" id="_005c_0040startsection"> -<title><literal>\@startsection</literal></title> +<indexterm role="cp"><primary>CTAN</primary></indexterm> -<para>Synopsis : +<para>Le «Comprehensive &tex; Archive +Network», ou CTAN, est le dépôt de matériel libre de la +communauté &tex; et &latex;. C’est un ensemble de sites Internet +réparti dans le monde qui offre de télécharger du matériel en relation +avec &latex;. Visitez CTAN sur la Toile à l’adresse +<ulink url="https://ctan.org">https://ctan.org</ulink>. </para> -<screen>\@startsection{<replaceable>nom</replaceable>}{<replaceable>niveau</replaceable>}{<replaceable>retrait</replaceable>}{<replaceable>avant</replaceable>}{<replaceable>après</replaceable>}{<replaceable>style</replaceable>} -</screen> -<para>Cette commande permet de redéfinir les commandes de rubricage telles que <literal>\section</literal> ou <literal>\subsection</literal>. +<para>Ce matériel est organisé en paquetages, des paquets discrets qui offrent +typiquement une fonctionalité cohérente et sont maintenus par une +personne ou un petit nombre de personnes. Par exemple, beaucoup +d’organismes d’édition on un paquetage qui permet aux auteurs de +formater leurs articles conformément aux spécification de cet organisme. </para> -<para>Notez que le paquetage <filename>titlesec</filename> rend la manipulation du rubricage -plus facile. De plus, bien que la plupart des exigences concernant les -commandes de rubricage peuvent être remplies avec -<literal>\@startsection</literal>, ce n’est pas le cas de toutes. Par exemple, -dans les classes &latex; standardes <literal>book</literal> et <literal>report</literal> les -commandes <literal>\chapter</literal> et <literal>\report</literal> ne sont pas construite de -cette manière. Pour fabriquer une telle commande il est possible -d’utiliser la commande <literal>\secdef</literal>. -<!-- xx define, and make a cross reference to, secdef. --> +<para>En plus des resources massives, le site <literal>ctan.org</literal> offre des fonctions telles que +la recherche par nom ou par fonctionalité. </para> -<para>Techniquement, cette commande a la forme : -</para><screen>\@startsection{<replaceable>nom</replaceable>}{<replaceable>niveau</replaceable>}{<replaceable>retrait</replaceable>}{<replaceable>avant</replaceable>}{<replaceable>après</replaceable>}{<replaceable>style</replaceable>} - *[<replaceable>titretdm</replaceable>]{<replaceable>titre</replaceable>} -</screen><para>de sorte que faire : -</para><screen>\renewcommand{\section}{\@startsection{<replaceable>nom</replaceable>}{<replaceable>niveau</replaceable>}{<replaceable>retrait</replaceable>}% - {<replaceable>avant</replaceable>}{<replaceable>après</replaceable>}{<replaceable>style</replaceable>}} -</screen><para>redéfinit <literal>\section</literal> en gardant sa forme standarde d’appel -<literal>\section*[<replaceable>titretdm</replaceable>]{<replaceable>titre</replaceable>}</literal>. Voir <link linkend="Sectioning">Sectioning</link> et -les exemples plus bas. -</para> - -<variablelist> -<varlistentry><term><replaceable>nom</replaceable> -</term><listitem><anchor id="_005c_0040startsection_002fname"/><para>Nom du compteur (qui doit être défini -séparément) utilisé pour numéroter le titre de rubrique. Ceux le plus -communément utilisés sont <literal>section</literal>, <literal>subsection</literal>, ou -<literal>paragraph</literal>. Bien que dans ces trois cas le nom du compteur soit le -même que celui de la commande elle-même, utiliser le même nom n’est pas -exigé. -</para> -<para>Alors <literal>\the</literal><replaceable>name</replaceable> affiche le numéro de titre, et -<literal>\</literal><replaceable>name</replaceable><literal>mark</literal> sert aux en-têtes de page. -</para> -</listitem></varlistentry><varlistentry><term><replaceable>niveau</replaceable> -</term><listitem><anchor id="_005c_0040startsection_002flevel"/><para>Un entier donnant la profondeur de la -commande de rubricage, par ex. 0 pour <literal>chapter</literal> (ceci ne -s’applique qu’aux classes standardes <literal>book</literal> et <literal>report</literal>), 1 -pour <literal>section</literal>, 2 pour <literal>subsection</literal>, 3 pour -<literal>subsubsection</literal>, 4 pour <literal>paragraph</literal> et 5 pour -<literal>subparagraph</literal>. Dans les classes <literal>book</literal> et <literal>report</literal>, -<literal>part</literal> a pour niveau -1, alors que dans la classe <literal>article</literal>, -<literal>part</literal> a pour niveau 0. -</para> -<para>Si <replaceable>niveau</replaceable> est inférieur ou égal à la valeur de <literal>secnumdepth</literal> -alors les titres pour cette commande de rubricage sont numérotés. Par -ex. dans un <literal>article</literal>, si <literal>secnumdepth</literal> vaut 1 alors une -commande <literal>\section{Introduction}</literal> produira en sortie quelque -chose du genre de <literal>1 Introduction</literal> alors que -<literal>\subsection{Historique}</literal> produit en sortie quelque chose du -genre de <literal>Historique</literal>, sans numéro en -préfixe. Voir <link linkend="Sectioning_002fsecnumdepth">Sectioning/secnumdepth</link>. -</para> -<para>Si <replaceable>niveau</replaceable> est inférieur ou égal à la valeur de <literal>secnumdepth</literal> -alors la table des matières aura un article pour cette rubrique. Par -exemple, dans un <literal>article</literal>, si <literal>tocdepth</literal> vaut 1 alors la -table des matières listera les <literal>section</literal>s, mais pas les -<literal>subsection</literal>s. +<indexterm role="cp"><primary>DANTE e.V.</primary></indexterm> +<para>CTAN n’est pas un site unique, mais au lieu de cela un ensemble de +sites. L’un des ces sites est le cœur. Ce site gère activement le +matériel, par exemple en acceptant les téléversements de matériel +nouveau ou mis à jour. Il est hébergé par le groupe &tex; allemand +DANTE e.V. </para> - -</listitem></varlistentry><varlistentry><term><replaceable>retrait</replaceable> -</term><listitem><anchor id="_005c_0040startsection_002findent"/><para>Une longueur donnant le renfoncement de -toutes les lignes du titre relativement à la marge. Pour un -renfoncement nul, utilisez <literal>0pt</literal>. -<!-- vous pouvez utiliser la macro @code{\z@@} définie à @code{0pt} pour --> -<!-- que le code soit plus efficace --> -Une valeur négative telle que <literal>-1em</literal> cause un débord du titre dans -la marge. -</para> -</listitem></varlistentry><varlistentry><term><replaceable>avant</replaceable> -</term><listitem><anchor id="_005c_0040startsection_002fbeforeskip"/><para>Longueur dont la valeur absolue est -la longueur de l’espace vertical à insérer avant le titre de la -rubrique. Cet espacement est ignoré si la rubrique commence au début -d’une page. Si en plus <replaceable>avant</replaceable> est négatif, alors le premier -paragraphe suivant immédiatement le titre n’est pas renfoncé, s’il est -positif ou nul il l’est. (Notez que l’opposé de <literal>1pt plus 2pt -minus 3pt</literal> est <literal>-1pt plus -2pt minus -3pt</literal>). +<indexterm role="cp"><primary>mirrors of CTAN</primary></indexterm> +<para>D’autres sites autour du monde apportent leur aide en miroitant, c’est à +dire en synchronisant automatiquement leurs collections sur le site +maître et en rendant à leur tour leurs copies publiquement +disponibles. Ceci donne aux utilisateurs géographiquement proches un +meilleur accès et allège la charge sur le site maître. La liste des +miroirs se trouve à <ulink url="https://ctan.org/mirrors">https://ctan.org/mirrors</ulink>. </para> -<para>Par exemple si <replaceable>avant</replaceable> vaut <literal>-3.5ex plus -1ex minus -0.2ex</literal> -alors pour commencer la nouvelle rubrique, &latex; ajoute environ 3,5 -fois la hauteur d’une lettre x en espace veritical, et le premier -paragraphe de la rubrique n’est pas renfoncé. Utiliser une longueur -élastique, c.-à-d. comprenant <literal>plus</literal> et <literal>minus</literal>, est une -bonne pratique ici car cela donne à &latex; plus de latitude lors de la -fabrication de la page. -</para> -<para>La quantité totale d’espace vertical entre la ligne de base de la ligne -précédant le titre de cette rubrique est la ligne de base du titre est -la somme du <literal>\parskip</literal> dans la police du corps de texte, du -<literal>\baselineskip</literal> de la police du titre, et de la valeur absolue de -l’argument <replaceable>avant</replaceable>. Cet espace est typiquement élastique et peut se -dilater ou se contracter. (Si la rubrique commence en début d’une page -de sorte que cet espace soit ignoré, alors la ligne de base du titre -correspond à la ligne de base qu’aurait la première ligne de texte sur -cette page si celle-ci commençait par du texte). -</para> -</listitem></varlistentry><varlistentry><term><replaceable>après</replaceable> -</term><listitem><anchor id="_005c_0040startsection_002fafterskip"/><para>Longueur. Lorsque elle est positive -ou nulle, il s’agit de l’espace vertical à insérer après le titre de la -rubrique. Lorsque elle est négative, alors le titre fait corps avec le -paragraphe le suivant immédiatement. Dans ce cas la valeur absolue de -la longueur donne l’espace horizontal entre la fin du titre et le début -du paragraphe suivant. (Notez que l’opposé de <literal>1pt plus 2pt minus -3pt</literal> est <literal>-1pt plus -2pt minus -3pt</literal>). -</para> -<para>Comme c’est le cas avec <replaceable>avant</replaceable>, utiliser une longueur élastique -avec des composantes <literal>plus</literal> et <literal>minus</literal> est une bonne pratique -ici puisque elle donne à &latex; plus de latitude pour assembler la -page. -</para> -<para>Si <replaceable>après</replaceable> est positif ou nul alors la quantité totale d’espace -vertical entre la ligne de base du titre de la rubrique et la ligne de -base de la première ligne du paragraphe suivant est la somme du -<literal>\parskip</literal> de la police du titre, de <literal>\baselineskip</literal> de la -police du corps de texte, et de la valeur de <replaceable>après</replaceable>. Cet espace est -typiquement élastique de sorte qu’il puisse se dilater ou se -contracter. (Notez que du fait que le signe d’<replaceable>après</replaceable> contrôle que -le titre soit indépendant du texte le suivant, ou fasse corps avec lui, -vous ne pouvez pas utiliser un <replaceable>après</replaceable> négatif pour annuler une -partie du <literal>\parskip</literal>). -</para> -</listitem></varlistentry><varlistentry><term><replaceable>style</replaceable> -</term><listitem><anchor id="_005c_0040startsection_002fstyle"/><para>Contrôle le style du titre, voir les -exemples plus bas. Les commandes typiquement utilisées ici sont -<literal>\centering</literal>, <literal>\raggedright</literal>, <literal>\normalfont</literal>, -<literal>\hrule</literal>, ou <literal>\newpage</literal>. La dernière commande au sein de -<replaceable>style</replaceable> peut être une commande prenant un argument, telle que -<literal>\MakeUppercase</literal> ou <literal>\fbox</literal>. Le titre de la rubrique est passé -en argument à cette commande. Par exemple régler <replaceable>style</replaceable> à -<literal>\bfseries\MakeUppercase</literal> a pour effet de produire des titres gras -et en capitales. -</para></listitem></varlistentry></variablelist> -<para>Voici des exemples. Pour les utiliser mettez les soit au sein d’un -fichier de paquetage ou de classe, ou placez les dans le préambule d’un -document &latex; entre des commandes <literal>\makeatletter</literal> et -<literal>\makeatother</literal>. (Le message d’erreur <literal>You can't use -`\spacefactor' in vertical mode.</literal> est le plus probable lorsque on -oublie de faire cela). Voir <link linkend="_005cmakeatletter-and-_005cmakeatother">\makeatletter and \makeatother</link>. -</para> -<para>L’exemple suivant redéfinit la commande de rubricage <literal>\section</literal> -pour qu’elle centre le titre et le mette en gras : -</para> -<screen>\renewcommand\section{% - \@startsection{section}% <link linkend="_005c_0040startsection_002fname"><replaceable>nom</replaceable></link>. - {1}% <link linkend="_005c_0040startsection_002flevel"><replaceable>niveau</replaceable></link>. - {0pt}% <link linkend="_005c_0040startsection_002findent"><replaceable>retrait</replaceable></link>. - {-3.5ex plus -1ex minus -.2ex}% <link linkend="_005c_0040startsection_002fbeforeskip"><replaceable>avant</replaceable></link>. - {2.3ex plus.2ex}% <link linkend="_005c_0040startsection_002fafterskip"><replaceable>après</replaceable></link>. - {\centering\normalfont\Large\bfseries}}% <link linkend="_005c_0040startsection_002fstyle"><replaceable>style</replaceable></link>. -</screen> -<para>Cet exemple met les titres de <literal>subsection</literal> en petites capitales, et -leur fait faire corps avec le paragraphe suivant. -</para> -<screen>\renewcommand\subsection{% - \@startsection{subsection}% <link linkend="_005c_0040startsection_002fname"><replaceable>nom</replaceable></link>. - {2}% <link linkend="_005c_0040startsection_002flevel"><replaceable>niveau</replaceable></link>. - {0em}% <link linkend="_005c_0040startsection_002findent"><replaceable>retrait</replaceable></link>. - {-1ex plus 0.1ex minus -0.05ex}% <link linkend="_005c_0040startsection_002fbeforeskip"><replaceable>avant</replaceable></link>. - {-1em plus 0.2em}% <link linkend="_005c_0040startsection_002fafterskip"><replaceable>après</replaceable></link>. - {\scshape}% <link linkend="_005c_0040startsection_002fstyle"><replaceable>style</replaceable></link>. - } -</screen> -<para>Les exemples précédents redéfinissait les commandes de titre de -rubriques existantes. celui-ci en définit une nouvelle, illustrant la -nécessité d’un compteur et de macros pour son affichage. -</para> -<!-- From https://groups.google.com/forum/#!searchin/comp.text.tex/startsection%7Csort:relevance/comp.text.tex/sB-nTS-oL08/ZZeKYdG0llMJ --> -<screen>\setcounter{secnumdepth}{6}% affiche les compteur justqu'à ce niveau -\newcounter{subsubparagraph}[subparagraph]% compteur pour la - % numérotation -\renewcommand{\thesubsubparagraph}% - {\thesubparagraph.\@arabic\c@subsubparagraph}% comment afficher - % la numérotation -\newcommand{\subsubparagraph}{\@startsection - {subsubparagraph}% - {6}% - {0em}% - {\baselineskip}% - {0.5\baselineskip}% - {\normalfont\normalsize}} -\newcommand*\l@subsubparagraph% - {\@dottedtocline{6}{10em}{5em}}% pour la table des matières -\newcommand{\subsubparagraphmark}[1]{}% pour les en-têtes de page -</screen> - - -</sect3> -<sect3 label="2.4.3.2" id="_005c_0040ifstar"> -<title><literal>\@ifstar</literal></title> - -<indexterm role="fn"><primary>\@ifstar</primary></indexterm> -<indexterm role="cp"><primary>commandes, variantes étoilées</primary></indexterm> -<indexterm role="cp"><primary>étoilées, variantes de commandes</primary></indexterm> - - -<!-- Inpirée des trucs & astuces de Manuel Pégourié-Gonnard --> -<!-- (https://elzevir.fr/imj/latex/tips.html#stared) --> - -<para>Vous l’avez sans doute remarqué, beaucoup d’environnements ou commandes -standards de &latex; existent sous une variante étoilée. Vous pouvez avoir -envie de reprendre cette idée quand vous définissez vos commandes et arguments. -</para> -<para>Si vous avez lu <link linkend="_005cnewenvironment-_0026-_005crenewenvironment">\newenvironment & \renewenvironment</link>, vous aurez compris -que c’est immédiat pour les environnements car l’étoile est un caractère -autorisé dans les noms d’environnements. Il vous suffit donc de faire -<literal>\newenvironment{<replaceable>monenv</replaceable>}</literal> et -<literal>\newenvironment{<replaceable>monenv</replaceable>*}</literal> avec les définitions souhaitées. -</para> -<para>Pour les commandes, c’est plus compliqué car l’étoile ne peut pas faire partie -du nom de la commande. Il y aura donc une première commande, qui devra être -capable de regarder si elle est ou non suivie d’une étoile et d’adapter son -comportement en conséquence. Cette première commande ne pourra pas accepter -d’argument, mais pourra faire appel à des commandes qui en acceptent. Par -ailleurs, on utilise la commande <literal>\@ifstar</literal> interne du noyau &latex; et -vous pouvez vous reportez à « <link linkend="_005cmakeatletter-and-_005cmakeatother">\makeatletter and \makeatother</link> » pour -comprendre pourquoi cela implique l’usage d’un bloc -<literal>\makeatletter...\makeatother</literal>. -</para> -<para>Dans cet exemple, on définit <literal>\ciel</literal> comme une commande avec un -argument obligatoire et admettant une variante étoilée <literal>\ciel*</literal> -également avec un argument obligatoire : -</para> -<screen>\makeatletter -\newcommand*\ciel@starred[1]{ciel #1 étoilé} -\newcommand*\ciel@unstarred[1]{ciel #1 non étoilé} -\newcommand\ciel{\@ifstar{\ciel@starred}{\ciel@unstarred}} -\makeatother -</screen> -<para>ainsi, <literal>\ciel{bleu}</literal> composera « ciel bleu non étoilé » tandis que -<literal>\ciel*{nocturne}</literal> composera « ciel nocturne étoilé ». -</para> -<para>Notez que les commandes intermédiaires <literal>\ciel@starred</literal> et -<literal>\ciel@unstarred</literal> comportent un <literal>@</literal> dans leur nom ce qui est -possible puisque elles apparaissent au sein d’un bloc -<literal>\makeatletter...\makeatother</literal>. Ceci assure qu’elles ne puissent pas être -utilisées directement dans le document. L’utilisation de @ dans le nom -comporte certes un risque de collision avec une commande interne du noyeau -&latex;, mais une telle collision est facile à détecter et corriger car -<literal>\newcommand*{\<replaceable>cmd</replaceable>}</literal> vérifie que si la commande <literal>\<replaceable>cmd</replaceable></literal> -n’est pas déjà définie et génère une erreur si c’est le cas. -</para> -<para>Voici un autre exemple où la commande <literal>\agentsecret</literal> comporte deux -arguments et sa variante étoilée <literal>\agentsecret*</literal> un seul : -</para> -<screen>\makeatletter -\newcommand*\agentsecret@starred[1]{\textsc{#1}} -\newcommand*\agentsecret@unstarred[2]{\textit{#1} \textsc{#2}} -\newcommand\agentsecret{\@ifstar{\agentsecret@starred}{\agentsecret@unstarred}} -\makeatother -</screen> -<para>Avec cette définition la célèbre réplique de l’agent 007 : -</para> -<screen>Je m'appelle \agentsecret*{Bond}, \agentsecret{James}{Bond}. -</screen> -<para>est équivalente à : -</para> -<screen>Je m'appelle \textsc{Bond}, \textit{James} textsc{Bond}. -</screen> -<para>Un dernier mot : contrairement aux noms d’environnement où l’étoile fait partie -du nom lui-même, et pourrait donc être à n’importe quelle position, dans le nom -d’une commande l’étoile est comme une sorte d’argument optionnel. D’un point de -vue purement &tex;nique il est donc possible de mettre un nombre indéfini -d’espaces entre la commande et l’étoile. Ainsi <literal>\agentsecret*{Bond}</literal> et -<literal>\agentsecret *{Bond}</literal> sont équivalents. Toutefois la pratique commune -est de ne jamais insérer de tels espaces. -</para> -</sect3> -</sect2> </sect1> </chapter> <chapter label="3" id="Document-classes"> @@ -904,7 +634,8 @@ est de ne jamais insérer de tels espaces. <indexterm role="cp"><primary>classes de documents</primary></indexterm> <indexterm role="fn"><primary>\documentclass</primary></indexterm> -<para>La classe d’un document donné est définie avec la commande: +<para>La classe globale d’un document est définie avec cette commande, c’est +normalement la première commande dans une fichier source &latex;. </para> <screen>\documentclass[<replaceable>options</replaceable>]{<replaceable>classe</replaceable>} </screen> @@ -916,14 +647,37 @@ fichier source &latex;. <indexterm role="fn"><primary>classe book</primary></indexterm> <indexterm role="fn"><primary>classe letter</primary></indexterm> <indexterm role="fn"><primary>classe slides</primary></indexterm> -<para>Les noms de <replaceable>classe</replaceable> &latex; encastrés sont (beaucoup d’autres -classes de documents sont disponibles en modules ; voir <link linkend="Overview">Overview</link>): +<para>Les noms de <replaceable>classe</replaceable> de document incorporés à &latex;. (Beaucoup +de classes de document sont disponibles dans des paquetages séparés ; +see <link linkend="Overview">Overview</link>.) +</para> +<variablelist><varlistentry><term><literal>article</literal> +</term><listitem><anchor id="document-classes-article"/><para>Pour un article de journal, une présentation, et diverses utilisations +générales. +</para> +</listitem></varlistentry><varlistentry><term><literal>book</literal> +</term><listitem><anchor id="document-classes-book"/> +<para>Des livres complets, y compris des chapitres et possiblement incluant +des pièces préliminaires telles qu’une préface, et postliminaires telles +qu’un appendice (see <link linkend="Front_002fback-matter">Front/back matter</link>). +</para> +</listitem></varlistentry><varlistentry><term><literal>letter</literal> +</term><listitem><anchor id="document-classes-letter"/><para>Courrier, incluant optionnellement des étiquettes pour enveloppes +(see <link linkend="Letters">Letters</link>). +</para> +</listitem></varlistentry><varlistentry><term><literal>report</literal> +</term><listitem><anchor id="document-classes-report"/><para>Pour des documents de longueur entre celle d’un <literal>article</literal> et celle +d’un <literal>book</literal>, tels que des rapports techniques ou des thèses, et qui +peuvent contenir plusieurs chapitres. +</para> +</listitem></varlistentry><varlistentry><term><literal>slides</literal> +</term><listitem><anchor id="document-classes-slides"/><para>Pour des présentations de diapositive — rarement utilisé de nos jours. +À sa place la classe <literal>beamer</literal> est sans doute celle dont l’usage est +le plus répendu (<ulink url="https://ctan.org/pkg/beamer">https://ctan.org/pkg/beamer</ulink>). See <link linkend="beamer-template">beamer +template</link>, pour un petit partron de document beamer. </para> -<screen>article report book letter slides -</screen> -<!-- xx décrire brièvement chacun --> - -<para>Les <replaceable>options</replaceable> standardes sont décrites ci-dessous. +</listitem></varlistentry></variablelist> +<para>Les <replaceable>options</replaceable> standardes sont décrites dans les rubriques suivantes. </para> <sect1 label="3.1" id="Document-class-options"> @@ -982,13 +736,17 @@ taille du papier (ci-après hauteur sur largeur) : <indexterm role="fn"><primary>\pdfpagewidth</primary></indexterm> <indexterm role="fn"><primary>\pdfpageheight</primary></indexterm> <indexterm role="fn"><primary>paquetage <literal>geometry</literal></primary></indexterm> -<indexterm role="fn"><primary><literal>geometry</literal>, paquetage Lorsque on utilise l'un des moteurs pdf&latex;,</primary></indexterm> -<para>Lua&latex;, ou Xe&latex; (voir <link linkend="TeX-engines">&tex; engines</link>), les options autres +<indexterm role="fn"><primary><literal>geometry</literal>, paquetage</primary></indexterm> +<para>Lorsque on utilise l’un des moteurs pdf&latex;, +Lua&latex;, ou Xe&latex; (see <link linkend="TeX-engines">&tex; engines</link>), les options autres que <literal>letterpaper</literal> règlent la zone d’impression mais vous devez également régler la taille du papier physique. Un méthode pour faire cela est de placer <literal>\pdfpagewidth=\paperwidth</literal> et <literal>\pdfpageheight=\paperheight</literal> dans le préambule de votre document. -Le paquetage <literal>geometry</literal> fournit des méthodes flexibles pour régler +<indexterm role="fn"><primary>paquetage <literal>geometry</literal></primary></indexterm> +<indexterm role="fn"><primary><literal>geometry</literal>, paquetage</primary></indexterm> +</para> +<para>Le paquetage <literal>geometry</literal> fournit des méthodes flexibles pour régler la zone d’impression et la taille du papier physique. </para> <indexterm role="fn"><primary>option draft</primary></indexterm> @@ -1093,7 +851,7 @@ pourriez créer une nouvelle classe <literal>cmsnote.cls</literal> et commencer documents par <literal>\documentclass{cmsnote}</literal>. </para> <para>Ce qui distingue un paquetage d’une classe de document c’est que les -commandes d’une paquatage sont utilisables pour différentes classes +commandes d’une paquetage sont utilisables pour différentes classes alors que celles dans une classes de document sont spécifiques à cette classes. Ainsi, une commande qui permet de régler les en-têtes de pages irait dans un paquetage alors qu’une commande intitulant en-têtes de @@ -1102,10 +860,10 @@ une classe. <indexterm role="cp"><primary>classe et paquetage, différence</primary></indexterm> <indexterm role="cp"><primary>différence entre classe et paquetage</primary></indexterm> </para> -<para>Au sein d’un fichier classe pour paquetate on peu utiliser l’arobe +<para>Au sein d’un fichier classe ou paquetage on peut utiliser l’arobe <literal>@</literal> comme un caractère dans les noms de commande sans avoir à entourer le code contenant la commande en question par -<literal>\makeatletter</literal> et <literal>\makeatother</literal>. Voir <link linkend="_005cmakeatletter-and-_005cmakeatother">\makeatletter and +<literal>\makeatletter</literal> et <literal>\makeatother</literal>. See <link linkend="_005cmakeatletter-_0026-_005cmakeatother">\makeatletter & \makeatother</link>. Ceci permet de créer des commandes que les utilisateurs ne risquent pas de redéfinir accidentellement. Une autre technique est de préfixer les commandes spécifiques à une classe ou paquetage avec une @@ -1208,7 +966,7 @@ d’appel. Voir aussi <link linkend="_005cAtBeginDocument">\AtBeginDocument </term><listitem><indexterm role="fn"><primary>\CheckCommand</primary></indexterm> <indexterm role="fn"><primary>\CheckCommand*</primary></indexterm> <indexterm role="cp"><primary>nouvelle commande, vérification</primary></indexterm> -<para>Similaire à <literal>\newcommand</literal> (voir <link linkend="_005cnewcommand-_0026-_005crenewcommand">\newcommand & \renewcommand</link>) +<para>Similaire à <literal>\newcommand</literal> (see <link linkend="_005cnewcommand-_0026-_005crenewcommand">\newcommand & \renewcommand</link>) mais ne définit pas <replaceable>cmd</replaceable> ; à la place vérifie que la définition actuelle de <replaceable>cmd</replaceable> est exactement celle donnée par <replaceable>définition</replaceable> et est ou n’est pas <firstterm>longue</firstterm> selon ce que l’on attend. @@ -1270,10 +1028,10 @@ uniquement être utilisé au sein de l’argument <replaceable>code</replace </term></varlistentry><varlistentry><term><literal>\DeclareOption*{<replaceable>option</replaceable>}{<replaceable>code</replaceable>}</literal> </term><listitem><indexterm role="fn"><primary>\DeclareOption</primary></indexterm> <indexterm role="fn"><primary>\DeclareOption*</primary></indexterm> -<indexterm role="cp"><primary>class options</primary></indexterm> -<indexterm role="cp"><primary>package options</primary></indexterm> -<indexterm role="cp"><primary>options, class</primary></indexterm> -<indexterm role="cp"><primary>options, package</primary></indexterm> +<indexterm role="cp"><primary>classe, options</primary></indexterm> +<indexterm role="cp"><primary>paquetage, options</primary></indexterm> +<indexterm role="cp"><primary>options de classe</primary></indexterm> +<indexterm role="cp"><primary>options de paquetage</primary></indexterm> <para>Rend un option <replaceable>option</replaceable> disponible pour l’utilisateur, de sorte à ce qu’il puisse la passer à leur commande <literal>\documentclass</literal>. Par exemple, la classe <literal>notecms</literal> pourrait avoir une option <literal>logo</literal> @@ -1311,9 +1069,9 @@ l’option à la classe <literal>article</literal>. <indexterm role="fn"><primary>\DeclareRobustCommand*</primary></indexterm> <indexterm role="cp"><primary>nouvelle commande, définition</primary></indexterm> <para>Similaire à <literal>\newcommand</literal> et <literal>\newcommand*</literal> -(voir <link linkend="_005cnewcommand-_0026-_005crenewcommand">\newcommand & \renewcommand</link>) mais déclare une commande robuste, +(see <link linkend="_005cnewcommand-_0026-_005crenewcommand">\newcommand & \renewcommand</link>) mais déclare une commande robuste, même si <replaceable>définition</replaceable> comprend du code fragile. (Pour une discussion -sur les commandes robustes et fragiles voir <link linkend="_005cprotect">\protect</link>). Utilisez ces +sur les commandes robustes et fragiles see <link linkend="_005cprotect">\protect</link>). Utilisez ces commande pour définir de nouvelles commandes robustes, ou redéfinir des commandes existantes en les rendant robustes. Contrairement à <literal>\newcommand</literal> elle ne produisent pas d’ereru si la macro <replaceable>cmd</replaceable> @@ -1326,13 +1084,14 @@ le contenu de la commande soit fragile et que la commande soit utilisée au sein d’un argument mouvant, utilisez <literal>\newcommand</literal>. </para> <indexterm role="fn"><primary>paquetage <literal>etoolbox</literal></primary></indexterm> -<indexterm role="fn"><primary><literal>etoolbox</literal>, paquetage Le paquetage <literal>etoolbox</literal> offre les commandes</primary></indexterm> -<para><literal>\newrobustcmd</literal>, <literal>\newrobustcmd*</literal>, <literal>\renewrobustcmd</literal>, +<indexterm role="fn"><primary><literal>etoolbox</literal>, paquetage</primary></indexterm> +<para>Le paquetage <literal>etoolbox</literal> offre les commandes +<literal>\newrobustcmd</literal>, <literal>\newrobustcmd*</literal>, <literal>\renewrobustcmd</literal>, <literal>\renewrobustcmd*</literal>, <literal>\providerobustcmd</literal>, et <literal>\providrobustcmd*</literal> qui sont similaire aux commandes standardes <literal>\newcommand</literal>, <literal>\newcommand*</literal>, <literal>\renewcommand</literal>, <literal>\renewcommand*</literal>, <literal>\providecommand</literal>, et -<literal>\providcommand*</literal>, mais définissent une commande <replaceable>cmd</replaceable> robuste +<literal>\providecommand*</literal>, mais définissent une commande <replaceable>cmd</replaceable> robuste avec deux advanges par rapport à <literal>\DeclareRobustCommand</literal> : </para><orderedlist numeration="arabic"><listitem><para>Elle utilisent un mécanisme de protection de bas niveau d’e-&tex; au lieu du mécanisme de plus au niveau de &latex; utilisant @@ -1412,7 +1171,7 @@ et le plus souvent elle est utilisée de cette façon : classe est traité, le nom du format donné ici doit s’accorder avec le format qui est en cours d’exécution (y compris le fait que la chaîne <replaceable>format</replaceable> est sensible à la casse). Si il ne s’y accorde pas alors -l’exécution est interrompue par une erruer du genre de ‘<literal>This file +l’exécution est interrompue par une erreur du genre de ‘<literal>This file needs format `LaTeX2e' but this is `xxx'.</literal>’ </para> <para>Pour spécifier une version du format dont vous savez qu’elle prend en @@ -1479,9 +1238,9 @@ option. L’utilisateur peut commencer son fichier &latex; avec </term></varlistentry><varlistentry><term><literal>\ProcessOptions*<replaceable>\@options</replaceable></literal> </term><listitem><indexterm role="fn"><primary>\ProcessOptions</primary></indexterm> <indexterm role="fn"><primary>\ProcessOptions*</primary></indexterm> -<para>Exécute le code associé à chaque option que l’utilisateur a invoquée. À -include dans le fichier classe sous la forme -<literal>\ProcessOptions\relax</literal> (à cause de l’existance de la variant +<para>Exécute le code pour chaque option que l’utilisateur a invoquée. À +inclure dans le fichier classe sous la forme +<literal>\ProcessOptions\relax</literal> (à cause de l’existence de la variante étoilée de la commande). </para> <para>Les options tombent dans deux catégories. Les <firstterm>options locales</firstterm> @@ -1578,10 +1337,10 @@ essai.cls</literal>’. </term><listitem><indexterm role="fn"><primary>\RequirePackage</primary></indexterm> <indexterm role="fn"><primary>\RequirePackageWithOptions</primary></indexterm> <para>Charge un paquetage, comme la commande <literal>\usepackage</literal> pour les -auteurs de documents. Voir <link linkend="Additional-packages">Additional packages</link>. Voici un exemple : +auteurs de documents. See <link linkend="Additional-packages">Additional packages</link>. Voici un exemple : <literal>\RequirePackage[landscape,margin=1in]{geometry}</literal>. Notez que l’équipe de développement de &latex; recommande fortement l’utilisation -de ces commande de préférence à l’<literal>\input</literal> de Plain &tex; ; +de ces commandes de préférence à l’<literal>\input</literal> de &tex; de base ; voir le « Class Guide ». </para> <para>La <replaceable>liste d’options</replaceable>, si présente, est une liste ponctuée de @@ -1696,7 +1455,7 @@ environnement ; par exemple, <literal>\begin{ttfamily} … </listitem></varlistentry><varlistentry><term><literal>\texttt (\ttfamily)</literal> </term><listitem><indexterm role="fn"><primary>\texttt</primary></indexterm> <indexterm role="fn"><primary>\ttfamily</primary></indexterm> -<para>Machine à écrire. +<para>Tapuscrit, encore appelé « machine à écrire ». </para> </listitem></varlistentry><varlistentry><term><literal>\textnormal (\normalfont)</literal> </term><listitem><indexterm role="fn"><primary>\textnormal</primary></indexterm> @@ -1717,7 +1476,7 @@ environnement ; par exemple, <literal>\begin{ttfamily} … </para> </listitem></varlistentry><varlistentry><term><literal>\mathtt</literal> </term><listitem><indexterm role="fn"><primary>\mathtt</primary></indexterm> -<para>Machine à écrire, pour une utilisation en mode mathématique. +<para>Tapuscrit, pour une utilisation en mode mathématique. </para> </listitem></varlistentry><varlistentry><term><literal>\mathit</literal> </term><term><literal>(\mit)</literal> @@ -1745,6 +1504,7 @@ formules. <literal>\mathversion{normal}</literal> restaure la valeur par défaut <indexterm role="cp"><primary>chiffres de revêtement</primary></indexterm> <indexterm role="fn"><primary>paquetage <literal>textcomp</literal></primary></indexterm> <indexterm role="fn"><primary><literal>textcomp</literal>, paquetage</primary></indexterm> + <para>Enfin, la commande <literal>\oldstylenums{<replaceable>chiffres</replaceable>}</literal> sert à composer des chiffres dits de “à l’ancienne”, qui ont des hauteurs et profondeur (et parfois largeurs) distincts de l’alignement standard des @@ -1800,8 +1560,9 @@ l’une avec l’autre. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\tt</primary></indexterm><literal>\tt</literal> </term><listitem><indexterm role="cp"><primary>police machine à écrire</primary></indexterm> +<indexterm role="cp"><primary>police tapuscrit</primary></indexterm> <indexterm role="cp"><primary>police de largeur fixe</primary></indexterm> -<para>Machine à écrire (largeur fixe). +<para>Tapuscrit, encore appelé « Machine à écrire » (largeur fixe). </para> </listitem></varlistentry></variablelist> <para>Certaines personnes considèrent que les commandes commutation @@ -1810,7 +1571,7 @@ inconditionnelles de polices, comme <literal>\tt</literal>, sont obsolète et qu utilisées. Je (Karl) ne suis pas d’accord. il y a situations tout à fait raisonnables quand un commutateur de police inconditionnelle est précisément ce dont vous avez besoin pour obtenir le résultat souhaité ; -pour un exemple, voir <link linkend="description"><literal>description</literal></link>. Les deux +pour un exemple, see <link linkend="description"><literal>description</literal></link>. Les deux ensembles de commandes ont leur place. </para> </sect1> @@ -1820,11 +1581,11 @@ ensembles de commandes ont leur place. <indexterm role="cp"><primary>tailles des polices de caractères</primary></indexterm> <indexterm role="cp"><primary>tailles de texte</primary></indexterm> -<para>Les commandes de type de taille standard suivants sont pris en charge +<para>Les commandes de type de taille standardes suivantes sont pris en charge par &latex;. Le tableau indique le nom de la commande et taille utilisée (en points) correspondant réellement pour la police avec les options ‘<literal>10pt</literal>’, ‘<literal>11pt</literal>’, et ‘<literal>12pt</literal>’ de classe de document, -respectivement (voir <link linkend="Document-class-options">Document class options</link>). +respectivement (see <link linkend="Document-class-options">Document class options</link>). </para> <indexterm role="fn"><primary>\tiny</primary></indexterm> <indexterm role="fn"><primary>\scriptsize</primary></indexterm> @@ -1860,13 +1621,37 @@ respectivement (voir <link linkend="Document-class-options">Document class optio </para></entry></row><row><entry><para><literal>\Huge</literal> </para></entry><entry><para>24.88 </para></entry><entry><para>24.88 </para></entry><entry><para>24.88 </para></entry></row></tbody></tgroup></informaltable> -<para>Les commandes énumérées ici sont des “forme déclaratives”. La portée -d’une forme déclarative s’étend jusqu’à la prochaine la commande de type -style ou la fin du groupe courant. Vous pouvez également utiliser la -“forme d’environnement” de ces commandes ; par exemple, -<literal>\begin{tiny} ... \end{tiny}</literal>. +<indexterm role="cp"><primary>déclarative, forme des commandes de contrôle de la taille de police</primary></indexterm> +<indexterm role="cp"><primary>forme déclarative des commandes de contrôle de la taille de police</primary></indexterm> +<para>Les commandes énumérées ici sont des <firstterm>formes déclaratives</firstterm>. On est +utilise en les déclarant comme dans l’exemple qui suit : +</para> +<screen>\begin{quotation} \small + Le Tao que l'on peut nommer n'est pas le Tao. +\end{quotation} +</screen> +<para>Dans ce qui précède, la portée de <literal>\small</literal> s’étend jusqu’à la fin +de l’environnement <literal>quotation</literal>. Elle s’arrêterait également à la +prochaine commande de style ou à la fin du groupe courant, de sorte +qu’on aurait pu la mettre entre accolades <literal>{\small Ce texte est en +petits caractères.}</literal>. +</para> +<indexterm role="cp"><primary>forme par environnement des commandes</primary></indexterm> +<para>Une <firstterm>forme par environnement</firstterm> de chacune de ces commandes est également +définie ; par exemple, <literal>\begin{tiny}...\end{tiny}</literal>. Toutefois, +en pratique cette forme peut aisément mener à des espaces indésirables au +début et/ou à la fin de d’environnement si on n’y prête pas attention, +ainsi on risque en général moins de faire d’erreur si on s’en tient à la +forme déclarative. +</para> +<para>(Digression : techniquement, vu la façon dont &latex; définit +<literal>\begin</literal> et <literal>\end</literal>, presque toutes les commandes qui ne +prennent pas d’argument on une forme par environnement. Mais dans +presque tous les cas ce serait juste une source de confusion de +l’utiliser. La raison pour mentionner en particulier la forme par +environnement des déclarations de taille de police est que leur +utilisation s’avère assez courante, en dépit des problèmes qu’il pose). </para> - </sect1> <sect1 label="4.3" id="Low_002dlevel-font-commands"> <title>commandes de fontes de bas niveau</title> @@ -1876,91 +1661,226 @@ style ou la fin du groupe courant. Vous pouvez également utiliser la <para>Ces commandes sont principalement destinés aux auteurs de macros et paquetages. Les commandes indiquées ici sont seulement un sous-ensemble de celles disponibles. +<!-- xx but it should be complete --> +<!-- xx something about ultimately reading ENCFAM.fd? --> </para> <variablelist><varlistentry><term><literal>\fontencoding{codage}</literal> </term><listitem><indexterm role="fn"><primary>\fontencoding</primary></indexterm> -<para>Sélectionnez le codage de police. Les codages valides comprennent <literal>OT1</literal> et <literal>T1</literal>. -</para> -</listitem></varlistentry><varlistentry><term><literal>\fontfamily{famille}</literal> +<para>Sélectionne le codage de police, le codage de la police utilisée en +sortie. Il y a un grand nombre de codages valides. Les plus usuels sont +<literal>OT1</literal>, le codage original de D. Knuth pour la police Computer +Modern (la police par défaut), et <literal>T1</literal>, également désigné par +codage Cork, qui prend en charage les caractères accentués utilisés par +les langues européennes les plus parlées (allemand, français, italien, +polonais et d’autres encore), ce qui permet à &tex; de faire la césure +des mots contenant des lettres accentuées. Pour plus d’information, voir +<ulink url="https://ctan.org/pkg/encguide">https://ctan.org/pkg/encguide</ulink>. +</para> +</listitem></varlistentry><varlistentry><term><literal>\fontfamily{<replaceable>famille</replaceable>}</literal> </term><listitem><indexterm role="fn"><primary>\fontfamily</primary></indexterm> -<para>Sélectionnez la famille de polices. Familles valides sont : -</para> -<itemizedlist><listitem><para><literal>cmr</literal> pour Computer Modern Roman -</para></listitem><listitem><para><literal>cmss</literal> pour Computer Modern Sans Serif -</para></listitem><listitem><para><literal>cmtt</literal> pour Computer Modern Typewriter -</para></listitem></itemizedlist> -<para>et de nombreuses autres. -</para> -</listitem></varlistentry><varlistentry><term><literal>\fontseries{série}</literal> +<indexterm role="cp"><primary>famille de polices</primary></indexterm> +<indexterm role="cp"><primary>polices, catalogue</primary></indexterm> +<para>Sélectionne la famille de polices. La page web +<ulink url="https://www.tug.dk/FontCatalogue/">https://www.tug.dk/FontCatalogue/</ulink> donne un moyen de naviguer +facilement à travers un grand nombre des polices utilisées avec +&latex;. Voici des exemples de quelques-unes des familles les plus +usuelles : +</para> +<informaltable><tgroup cols="2"><colspec colwidth="4*"></colspec><colspec colwidth="31*"></colspec><tbody><row><entry><para><literal>pag</literal> +</para></entry><entry><para>Avant Garde +</para></entry></row><row><entry><para><literal>fvs</literal> +</para></entry><entry><para>Bitstream Vera Sans +</para></entry></row><row><entry><para><literal>pbk</literal> +</para></entry><entry><para>Bookman +</para></entry></row><row><entry><para><literal>bch</literal> +</para></entry><entry><para>Charter +</para></entry></row><row><entry><para><literal>ccr</literal> +</para></entry><entry><para>Computer Concrete +</para></entry></row><row><entry><para><literal>cmr</literal> +</para></entry><entry><para>Computer Modern +</para></entry></row><row><entry><para><literal>cmss</literal> +</para></entry><entry><para>Computer Modern Sans Serif +</para></entry></row><row><entry><para><literal>cmtt</literal> +</para></entry><entry><para>Computer Modern Typewriter +</para></entry></row><row><entry><para><literal>pcr</literal> +</para></entry><entry><para>Courier +</para></entry></row><row><entry><para><literal>phv</literal> +</para></entry><entry><para>Helvetica +</para></entry></row><row><entry><para><literal>fi4</literal> +</para></entry><entry><para>Inconsolata +</para></entry></row><row><entry><para><literal>lmr</literal> +</para></entry><entry><para>Latin Modern +</para></entry></row><row><entry><para><literal>lmss</literal> +</para></entry><entry><para>Latin Modern Sans +</para></entry></row><row><entry><para><literal>lmtt</literal> +</para></entry><entry><para>Latin Modern Typewriter +</para></entry></row><row><entry><para><literal>pnc</literal> +</para></entry><entry><para>New Century Schoolbook +</para></entry></row><row><entry><para><literal>ppl</literal> +</para></entry><entry><para>Palatino +</para></entry></row><row><entry><para><literal>ptm</literal> +</para></entry><entry><para>Times +</para></entry></row><row><entry><para><literal>uncl</literal> +</para></entry><entry><para>Uncial +</para></entry></row><row><entry><para><literal>put</literal> +</para></entry><entry><para>Utopia +</para></entry></row><row><entry><para><literal>pzc</literal> +</para></entry><entry><para>Zapf Chancery +</para></entry></row></tbody></tgroup></informaltable> +</listitem></varlistentry><varlistentry><term><literal>\fontseries{<replaceable>série</replaceable>}</literal> </term><listitem><indexterm role="fn"><primary>\fontseries</primary></indexterm> -<para>Sélectionnez série de police. Les séries valides sont : -</para> -<itemizedlist><listitem><para><literal>m</literal> Moyen (normal) -</para></listitem><listitem><para><literal>b</literal> Gras -</para></listitem><listitem><para><literal>c</literal> condensé -</para></listitem><listitem><para><literal>bc</literal> condensé Gras -</para></listitem><listitem><para><literal>bx</literal> Gras étendu -</para></listitem></itemizedlist> -<para>et diverses autres combinaisons. +<indexterm role="cp"><primary>séries de polices</primary></indexterm> +<para>Sélectionne une série de police. Une <firstterm>série</firstterm> combine une +<firstterm>graisse</firstterm> et une <firstterm>largeur</firstterm>. Typiquement, une police prend en +charge seulement quelques-unes des combinaisons possibles. Les +combinaisons de valeurs de séries comprennent notamment : +</para> +<informaltable><tgroup cols="2"><colspec colwidth="2*"></colspec><colspec colwidth="16*"></colspec><tbody><row><entry><para><literal>m</literal> +</para></entry><entry><para>Moyen (normal) +</para></entry></row><row><entry><para><literal>b</literal> +</para></entry><entry><para>Gras +</para></entry></row><row><entry><para><literal>c</literal> +</para></entry><entry><para>Condensé +</para></entry></row><row><entry><para><literal>bc</literal> +</para></entry><entry><para>Condensé Gras +</para></entry></row><row><entry><para><literal>bx</literal> +</para></entry><entry><para>Gras étendu +</para></entry></row></tbody></tgroup></informaltable> + +<indexterm role="cp"><primary>graisses de police</primary></indexterm> +<para>Les valeurs possibles de graisses, considérées individuellement, sont : +</para> +<informaltable><tgroup cols="2"><colspec colwidth="2*"></colspec><colspec colwidth="28*"></colspec><tbody><row><entry><para><literal>ul</literal> +</para></entry><entry><para>Ultra maigre +</para></entry></row><row><entry><para><literal>el</literal> +</para></entry><entry><para>Extra maigre +</para></entry></row><row><entry><para><literal>l</literal> +</para></entry><entry><para>Maigre (<emphasis role="bold">L</emphasis>ight) +</para></entry></row><row><entry><para><literal>sl</literal> +</para></entry><entry><para>Semi maigre +</para></entry></row><row><entry><para><literal>m</literal> +</para></entry><entry><para>Demi-gras (<emphasis role="bold">M</emphasis>edium, normal) +</para></entry></row><row><entry><para><literal>sb</literal> +</para></entry><entry><para>Semi gras +</para></entry></row><row><entry><para><literal>b</literal> +</para></entry><entry><para>Gras (<emphasis role="bold">B</emphasis>old) +</para></entry></row><row><entry><para><literal>eb</literal> +</para></entry><entry><para>Extra gras +</para></entry></row><row><entry><para><literal>ub</literal> +</para></entry><entry><para>Ultra gras +</para></entry></row></tbody></tgroup></informaltable> + +<indexterm role="cp"><primary>Largeurs de police</primary></indexterm> +<para>La valeurs possibles de largeur, considérées individuellement sont : +</para> +<informaltable><tgroup cols="2"><colspec colwidth="2*"></colspec><colspec colwidth="16*"></colspec><tbody><row><entry><para><literal>uc</literal> +</para></entry><entry><para>Ultra condensé +</para></entry></row><row><entry><para><literal>ec</literal> +</para></entry><entry><para>Extra condensé +</para></entry></row><row><entry><para><literal>c</literal> +</para></entry><entry><para>Condensé +</para></entry></row><row><entry><para><literal>sc</literal> +</para></entry><entry><para>Semi condensé +</para></entry></row><row><entry><para><literal>m</literal> +</para></entry><entry><para>Moyen +</para></entry></row><row><entry><para><literal>sx</literal> +</para></entry><entry><para>Semi étendu +</para></entry></row><row><entry><para><literal>x</literal> +</para></entry><entry><para>étendu +</para></entry></row><row><entry><para><literal>ex</literal> +</para></entry><entry><para>Extra étendu +</para></entry></row><row><entry><para><literal>ux</literal> +</para></entry><entry><para>Ultra étendu +</para></entry></row></tbody></tgroup></informaltable> +<para>Quand Lorsqu’on forme la chaîne de caractères <replaceable>série</replaceable> à partir de la +graisse et de la largeur, on laisse tomber le <literal>m</literal> qui signifie +medium concernant la graisse ou la largeur, auquel cas on en utilise +juste un (‘<literal><literal>m</literal></literal>’). </para> -</listitem></varlistentry><varlistentry><term><literal>\fontshape{forme}</literal> +</listitem></varlistentry><varlistentry><term><literal>\fontshape{<replaceable>allure</replaceable>}</literal> </term><listitem><indexterm role="fn"><primary>\fontshape</primary></indexterm> -<para>Sélectionnez l’allure de police. Les allures valides sont : -</para> -<itemizedlist><listitem><para><literal>n</literal> Droit (normal) -</para></listitem><listitem><para><literal>it</literal> Italique -</para></listitem><listitem><para><literal>sl</literal> Incliné (oblique) -</para></listitem><listitem><para><literal>sc</literal> Petites capitales -</para></listitem><listitem><para><literal>ui</literal> Italique droit -</para></listitem><listitem><para><literal>ol</literal> Plan -</para></listitem></itemizedlist> +<indexterm role="cp"><primary>allure de police</primary></indexterm> +<para>Sélectionne l’allure de police. Les allures valides sont : +</para> +<informaltable><tgroup cols="2"><colspec colwidth="2*"></colspec><colspec colwidth="19*"></colspec><tbody><row><entry><para><literal>n</literal> +</para></entry><entry><para>Droit (normal) +</para></entry></row><row><entry><para><literal>it</literal> +</para></entry><entry><para>Italique +</para></entry></row><row><entry><para><literal>sl</literal> +</para></entry><entry><para>Incliné (oblique) +</para></entry></row><row><entry><para><literal>sc</literal> +</para></entry><entry><para>Petites capitales +</para></entry></row><row><entry><para><literal>ui</literal> +</para></entry><entry><para>Italique droit +</para></entry></row><row><entry><para><literal>ol</literal> +</para></entry><entry><para>Plan +</para></entry></row></tbody></tgroup></informaltable> <para>Les deux dernières allures ne sont pas disponibles pour la plupart des -familles de polices. +familles de polices, et les petites capitales sont aussi souvent +absentes. </para> -</listitem></varlistentry><varlistentry><term><literal>\fontsize{taille}{interligne}</literal> +</listitem></varlistentry><varlistentry><term><literal>\fontsize{<replaceable>taille</replaceable>}{<replaceable>interligne</replaceable>}</literal> </term><listitem><indexterm role="fn"><primary>\fontsize</primary></indexterm> <indexterm role="fn"><primary>\baselineskip</primary></indexterm> -<para>Réglage de la taille de police. Le premier paramètre est la taille de la -police pour basculer et le deuxième est l’espacement d’interligne ; ceci -est stocké dans un paramètre nommé <literal>\baselineskip</literal>. L’unité des -deux paramètres est par défaut le <literal>pt</literal>. La valeur par défaut de -<literal>\baselineskip</literal> pour la police Computer Modern est 1,2 fois le -<literal>\fontsize</literal>. -</para> -<indexterm role="fn"><primary>\baselinestretch</primary></indexterm> +<para>Réglage de la taille de police et de l’espacement d’interligne. L’unité +des deux paramètres est par défaut le point (<literal>pt</literal>). L’espaceement +d’interligne est l’espace vertiical nominal entre ligne, de ligne de +base à ligne de base. Il est stocké dans le paramètre +<literal>\baselineskip</literal>. La valeur par défaut de <literal>\baselineskip</literal> pour +la police Computer Modern est 1,2 fois le <literal>\fontsize</literal>. Changer +directement <literal>\baselineskip</literal> est déconseillé dans la mesuure où sa +valeur est réinitialisée à chaque fois qu’un changement de taille se +produit ; voir ensuite <literal>\baselinestretch</literal>. +</para> +</listitem></varlistentry><varlistentry><term><literal>\baselinestretch</literal> +</term><listitem><indexterm role="fn"><primary>\baselinestretch</primary></indexterm> +<para>L’espacement des lignes est également multiplié par la valeur du +paramètre <literal>\baselinestretch</literal> ; la valeur par défaut est 1. Tout +changement prend effet losque <literal>\selectfont</literal> (voir plus bas) est +appelé. Vous pouvez modifier l’interligne pour tout le document en +faisant, par ex. pour le doubler, +<literal>\renewcommand{\baselinestretch}{2.0}</literal> dans le préambule, +</para> <indexterm role="fn"><primary>paquetage <literal>setspace</literal></primary></indexterm> <indexterm role="fn"><primary><literal>setspace</literal>, paquetage</primary></indexterm> -<indexterm role="cp"><primary>interligne double</primary></indexterm> -<para>L’espacement des lignes est également multiplié par la valeur du -paramètre <literal>\baselinestretch</literal> en cas de changement de taille de -type ;<!-- vincentb1: Je ne comprends pas when the type size changes --> -la valeur défaut est 1. Cependant, la meilleure façon de mettre -un document en “espacement double”, si vous avez la malchance d’avoir -à produire une telle chose, est d’utiliser le paquetage -<literal>setspace</literal> ; voir -<ulink url="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=linespace">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=linespace</ulink>. -</para> -<indexterm role="fn"><primary>\linespread</primary></indexterm> +<indexterm role="cp"><primary>interligne double</primary></indexterm> +<para>Cependant, la meilleure façon de mettre un document en « espacement +double » est d’utiliser le paquetage <literal>setspace</literal>. En plus de +proposer une pluralité d’options d’espacement, ce paquetage conserve un +interligne simple là où c’est typiquement désirable, comme dans les +notes de bas de page et dans les légendes de figure. Voir la +documentation du paquetage. +</para> </listitem></varlistentry><varlistentry><term><literal>\linespread{<replaceable>facteur</replaceable>}</literal> -</term><listitem><para>Est équivalent à +</term><listitem><indexterm role="fn"><primary>\linespread</primary></indexterm> +<para>Est équivalent à <literal>\renewcommand{\baselinestretch}{<replaceable>facteur</replaceable>}</literal>, et doit donc être suivie par <literal>\selectfont</literal> pour avoir un effet. Il vaut mieux que ce soit dans le préambule, ou utiliser le paquetage <literal>setspace</literal>, -comme décrit juste au-dessus. +comme on vient de le décrire. </para> -<indexterm role="fn"><primary>\selectfont</primary></indexterm> +</listitem></varlistentry><varlistentry><term><literal>\selectfont</literal> +</term><listitem><indexterm role="fn"><primary>\selectfont</primary></indexterm> <para>Les modifications apportées en appelant les commandes de polices décrites ci-dessus n’entrent en vigueur qu’après que <literal>\selectfont</literal> -est appelé. +est appelé, comme dans +<literal>\fontfamily{<replaceable>nomfamille</replaceable>}\selectfont</literal>. La plupart du temps +il est plus pratique de mettre cela dans une macro : +<literal>\newcommand*{\mapolice}{\fontfamily{<replaceable>nomfamille</replaceable>}\selectfont}</literal> + +(see <link linkend="_005cnewcommand-_0026-_005crenewcommand">\newcommand & \renewcommand</link>). </para> -</listitem></varlistentry><varlistentry><term><literal>\usefont{codage}{famille}{série}{forme}</literal> + +</listitem></varlistentry><varlistentry><term><literal>\usefont{<replaceable>codage</replaceable>}{<replaceable>famille</replaceable>}{<replaceable>série</replaceable>}{<replaceable>allure</replaceable>}</literal> </term><listitem><indexterm role="fn"><primary>\usefont</primary></indexterm> <para>Revient à la même chose que d’invoquer <literal>\fontencoding</literal>, <literal>\fontfamily</literal>, <literal>\fontseries</literal> et <literal>\fontshape</literal> avec les -paramètres donnés, suivi par <literal>\selectfont</literal>. +paramètres donnés, suivi par <literal>\selectfont</literal>. Par exemple : </para> +<screen>\usefont{ot1}{cmr}{m}{n} +</screen> </listitem></varlistentry></variablelist> </sect1> @@ -1969,7 +1889,7 @@ paramètres donnés, suivi par <literal>\selectfont</literal>. <title>Mise en page</title> <indexterm role="cp"><primary>commandes de mise en page</primary></indexterm> -<para>Diverses commandes pour contrôler la disposition générale de la page. +<para>Commandes pour contrôler la disposition générale de la page. </para> @@ -2049,7 +1969,7 @@ même hauteur, en ajoutant de k’espace vertical supplémentaire si nécessaire pour remplir le page. </para> <para>C’est la valeur par défaut si le mode <literal>twocolumn</literal> est sélectionné -(voir <link linkend="Document-class-options">Document class options</link>). +(see <link linkend="Document-class-options">Document class options</link>). </para> </sect1> <sect1 label="5.4" id="_005craggedbottom"> @@ -2091,9 +2011,9 @@ classe <literal>book</literal> où elle varie avec la taille de la police. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\linewidth</primary></indexterm><literal>\linewidth</literal> </term><listitem><para>Largeur de la ligne actuelle, diminuée pour chaque <literal>list</literal> imbriquée -(voir <link linkend="list">list</link>). Plus précisément, elle est inférieure à +(see <link linkend="list">list</link>). Plus précisément, elle est inférieure à <literal>\textwidth</literal> par la somme de <literal>\leftmargin</literal> et -<literal>\rightmargin</literal> (voir <link linkend="itemize">itemize</link>). La valeur par défaut varie en +<literal>\rightmargin</literal> (see <link linkend="itemize">itemize</link>). La valeur par défaut varie en fonction de la taille de la police, la largeur du papier, le mode à deux colonnes, etc. Pour un document de classe <literal>article</literal> en taille de police ‘<literal>10pt</literal>’, elle vaut ‘<literal>345pt</literal>’ ; dans le mode à deux @@ -2112,13 +2032,13 @@ une classe <literal>book</literal>, elle vaut ‘<literal>41\baselineskip</l </term><listitem><para>La hauteur du papier, à ne pas confondre avec la hauteur de la zone d’impression. Elle est normalement réglée avec une option de classe de document, comme dans <literal>\documentclass[a4paper]{article}</literal> -(voir <link linkend="Document-class-options">Options de classe de document</link>). +(see <link linkend="Document-class-options">Options de classe de document</link>). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\paperwidth</primary></indexterm><literal>\paperwidth</literal> </term><listitem><para>La largeur du papier, à ne pas confondre avec la largeur de la zone d’impression. Elle est normalement réglée avec une option de classe de document, comme dans <literal>\documentclass[a4paper]{article}</literal> -(voir <link linkend="Document-class-options">Options de classe de document</link>). +(see <link linkend="Document-class-options">Options de classe de document</link>). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\textwidth</primary></indexterm><literal>\textwidth</literal> </term><listitem><para>La largeur horizontale totale de l’ensemble du corps de la page; la @@ -2130,15 +2050,15 @@ taille de police, ‘<literal>360pt</literal>’ à ‘<literal>11pt </para> <para>En sortie multi-colonne, <literal>\textwidth</literal> reste de la largeur de tout le corps de la page, tandis que <literal>\columnwidth</literal> est la largeur d’une -colonne (voir <link linkend="_005ctwocolumn">\twocolumn</link>). +colonne (see <link linkend="_005ctwocolumn">\twocolumn</link>). </para> -<para>Dans les listes (voir <link linkend="list">list</link>), <literal>\textwidth</literal> est le reste la +<para>Dans les listes (see <link linkend="list">list</link>), <literal>\textwidth</literal> est le reste la largeur du corps corps de la page entière (et <literal>\columnwidth</literal> est la largeur d’une colonne entière), alors que <literal>\linewidth</literal> peut diminuer au sein de listes imbriquées. </para> -<para>À l’intérieur d’une minipage (voir <link linkend="minipage">minipage</link> ) ou <literal>\parbox</literal> -(voir <link linkend="_005cparbox">\parbox</link>), tous les paramètres liés à la largeur sont mis à la +<para>À l’intérieur d’une minipage (see <link linkend="minipage">minipage</link> ) ou <literal>\parbox</literal> +(see <link linkend="_005cparbox">\parbox</link>), tous les paramètres liés à la largeur sont mis à la largeur spécifiée, et de reviennent à leurs valeurs normales à la fin du <literal>minipage</literal> ou <literal>\parbox</literal>. </para> @@ -2170,8 +2090,8 @@ composés en dehors du flux normal du texte, par exemple flottant au sommet d’une page ultérieure </para> <para>&latex; sait gérer plusieurs classes de matériel flottant. Il y a deux -classes définies par défaut, <literal>figure</literal> (voir <link linkend="figure">figure</link>) et -<literal>table</literal> (voir <link linkend="table">table</link>), mais vous pouvez créer une nouvelle +classes définies par défaut, <literal>figure</literal> (see <link linkend="figure">figure</link>) et +<literal>table</literal> (see <link linkend="table">table</link>), mais vous pouvez créer une nouvelle classes avec le paquetage <filename>float</filename>. </para> <para>Au sein d’une même classe flottante &latex; respecte l’ordre, de sorte @@ -2221,6 +2141,7 @@ autorisé en soi-même ; <literal>t</literal> est ajouté automatiquement. <indexterm role="cp"><primary>ici, placer les flottants</primary></indexterm> <indexterm role="fn"><primary>paquetage <literal>float</literal></primary></indexterm> <indexterm role="fn"><primary><literal>float</literal>, paquetage</primary></indexterm> + <para>Pour forcer à tout prix un flottant à apparaître « ici », vous pouvez charger le paquetage <filename>float</filename> et le spécificateur <literal>H</literal> qui y est défini. Pour plus ample discussion, voir l’entrée de FAQ à @@ -2260,6 +2181,7 @@ non placés. </para> <indexterm role="fn"><primary>paquetage <literal>flafter</literal></primary></indexterm> <indexterm role="fn"><primary><literal>flafter</literal>, paquetage</primary></indexterm> + <para>&latex; peut composer un flottant avant l’endroit où il apparaît dans le code source (quoique sur la même page de sortie) s’il y a un spécificateur <literal>t</literal> au sein du paramètre <replaceable>placement</replaceable>. Si ceci @@ -2344,111 +2266,1037 @@ infuence the position of float environments like figure and table in </sect1> </chapter> <chapter label="6" id="Sectioning"> -<title>Des rubriques</title> +<title>Rubricage</title> + +<indexterm role="cp"><primary>rubricage, commandes</primary></indexterm> +<indexterm role="cp"><primary>commandes de rubricage,</primary></indexterm> +<indexterm role="cp"><primary><literal>part</literal></primary></indexterm> +<indexterm role="cp"><primary>partie</primary></indexterm> +<indexterm role="cp"><primary><literal>chapter</literal></primary></indexterm> +<indexterm role="cp"><primary>chapitre</primary></indexterm> +<indexterm role="cp"><primary>section</primary></indexterm> +<indexterm role="cp"><primary><literal>subsection</literal></primary></indexterm> +<indexterm role="cp"><primary>sous-section</primary></indexterm> +<indexterm role="cp"><primary><literal>subsubsection</literal></primary></indexterm> +<indexterm role="cp"><primary>sous-sous-section</primary></indexterm> +<indexterm role="cp"><primary><literal>paragraph</literal></primary></indexterm> +<indexterm role="cp"><primary>paragraphe</primary></indexterm> +<indexterm role="cp"><primary><literal>subparagraph</literal></primary></indexterm> +<indexterm role="cp"><primary>sous-paragraphe</primary></indexterm> +<indexterm role="fn"><primary>\part</primary></indexterm> +<indexterm role="fn"><primary>\chapter</primary></indexterm> +<indexterm role="fn"><primary>\section</primary></indexterm> +<indexterm role="fn"><primary>\subsection</primary></indexterm> +<indexterm role="fn"><primary>\subsubsection</primary></indexterm> +<indexterm role="fn"><primary>\paragraph</primary></indexterm> +<indexterm role="fn"><primary>\subparagraph</primary></indexterm> + +<para>Structure votre texte en rubriques : parties, chapitres, sections, +etc. Toutes les commandes de rubricage ont la même forme, l’une parmi : +</para> +<screen><replaceable>cmd-de-rubricage</replaceable>{<replaceable>titre</replaceable>} +<replaceable>cmd-de-rubricage</replaceable>*{<replaceable>titre</replaceable>} +<replaceable>cmd-de-rubricage</replaceable>[<replaceable>titre-tdm</replaceable>]{<replaceable>titre</replaceable>} +</screen> +<para>Par exemple, déclarez le début d’une sous-section comme dans +<literal>\subsection{Motivation}</literal>. +</para> +<para>Le tableau suivant comprend chacune des commandes <replaceable>cmd-de-rubricage</replaceable> +de &latex;. Toutes sont disponibles dans toutes les classes de +document standardes de &latex; <literal>book</literal>, <literal>report</literal>, +et <literal>article</literal>, à ceci près que <literal>\chapter</literal> n’est pas disponible +dans <literal>article</literal>. +</para> +<informaltable><tgroup cols="3"><colspec colwidth="25*"></colspec><colspec colwidth="25*"></colspec><colspec colwidth="40*"></colspec><thead><row><entry><para>Type de rubrique </para></entry><entry><para>Commande </para></entry><entry><para>Niveau +</para></entry></row></thead><tbody><row><entry><para>Part +</para></entry><entry><para><literal>\part</literal> </para></entry><entry><para>-1 (<literal>book</literal>, <literal>report</literal>), 0 (<literal>article</literal>) +</para></entry></row><row><entry><para>Chapter +</para></entry><entry><para><literal>\chapter</literal> </para></entry><entry><para>0 +</para></entry></row><row><entry><para>Section +</para></entry><entry><para><literal>\section</literal> </para></entry><entry><para>1 +</para></entry></row><row><entry><para>Subsection +</para></entry><entry><para><literal>\subsection</literal> </para></entry><entry><para>2 +</para></entry></row><row><entry><para>Subsubsection +</para></entry><entry><para><literal>\subsubsection</literal> </para></entry><entry><para>3 +</para></entry></row><row><entry><para>Paragraph +</para></entry><entry><para><literal>\paragraph</literal> </para></entry><entry><para>4 +</para></entry></row><row><entry><para>Subparagraph +</para></entry><entry><para><literal>\subparagraph</literal> </para></entry><entry><para>5 +</para></entry></row></tbody></tgroup></informaltable> + +<indexterm role="cp"><primary><literal>*</literal>, forme en <literal>*</literal> des commandes de rubricage</primary></indexterm> +<indexterm role="cp"><primary>étoilée, forme des commandes de rubricage</primary></indexterm> +<indexterm role="cp"><primary>forme étoilée de commandes de rubricage</primary></indexterm> +<indexterm role="cp"><primary>forme en * de commandes de rubricage</primary></indexterm> +<para>Toutes ces commandes ont une forme en <literal>*</literal>, aussi appelée étoilée, +qui imprime <replaceable>titre</replaceable> comme d’habitude mais sans le numéroter et sans +fabriquer une entrée dans la table des matières. Un exemple +d’utilisation est pour un appendice dans un <literal>article</literal>. Entrer le +code <literal>\appendix\section{Appendice}</literal> donne en sortie ‘<literal>A +Appendix</literal>’ (see <link linkend="_005cappendix">\appendix</link>). Vous pouvez ôter le numéro ‘<literal>A</literal>’ en +entrant à la place <literal>\section*{Appendice}</literal> (les articles omettent +couramment d’avoir une table des matières et ont des en-têtes de pages +simples alors les autres différences de la commande <literal>\section</literal> +peuvent être négligées). +</para> +<para>Le titre <replaceable>titre</replaceable> fournit la rubrique en tant que titre dans le texte +principal, mais il peut également apparaître dans la table des matières +et le haut et le bas de bage (see <link linkend="Page-styles">Page styles</link>). Vous pourriez +désirer un texte différent à ces endroits que dans le texte principal. +Toute ces commandes ont un argument optionnel <replaceable>tdm-titre</replaceable> destiné à +ces autres endroits. +</para> +<para>Le numéro dans la colonne «Niveau» de la +table ci-dessus détermine quelles rubriques sont numérotées, et +lesquelles apparaissent dans la table des matières. Si le <replaceable>niveau</replaceable> +de la commande de rubricage est inférieur ou égal à la valeur du +compteur <literal>secnumdepth</literal> alors les rubriques correspondant à ces +commandes de rubricage sont numérotées (see <link linkend="Sectioning_002fsecnumdepth">Sectioning/secnumdepth</link>). +Et, si <replaceable>niveau</replaceable> est inférieur ou égal à la valeur du compteur +<literal>tocdepth</literal> alors la table des matières comprend une entrée pour +cette rubrique (see <link linkend="Sectioning_002ftocdepth">Sectioning/tocdepth</link>). +</para> +<para>&latex; s’attend que avant d’avoir une <literal>\subsection</literal> vous ayez une + <literal>\section</literal> et, dans un document de classe <literal>book</literal>, qu’avant + une <literal>\section</literal> vous ayez un <literal>\chapter</literal>. Autrement vous + pourriez obtenir quelque-chose comme une sous-sesction numérotée + ‘<literal>3.0.1</literal>’. +</para> +<indexterm role="fn"><primary>paquetage <literal>titlesec</literal></primary></indexterm> +<indexterm role="fn"><primary><literal>titlesec</literal>, paquetage</primary></indexterm> + +<para>&latex; vous permet de changer l’apparence des rubriques. Un exemple +simple de ceci est que vous pouvez mettre le numéro de rubrique de type +section en lettres majuscules avec +<literal>\renewcommand\thesection{\Alph{section}}</literal> dans le préambule +(see <link linkend="_005calph-_005cAlph-_005carabic-_005croman-_005cRoman-_005cfnsymbol">\alph \Alph \arabic \roman \Roman \fnsymbol</link>). Le CTAN a +beaucoup de paquetages rendant ce genre d’ajustement plus facile, +notamment <filename>titlesec</filename>. +</para> +<para>Deux compteurs sont en relation avec l’apparence des rubriques fabriquées +par les commandes de rubricage. +</para> +<variablelist><varlistentry><term><indexterm role="fn"><primary>secnumdepth</primary></indexterm><literal>secnumdepth</literal> +</term><listitem><indexterm role="fn"><primary>secnumdepth compteur</primary></indexterm> +<indexterm role="cp"><primary>numéros de rubrique, composition</primary></indexterm> +<anchor id="sectioning-secnumdepth"/><anchor id="Sectioning_002fsecnumdepth"/><para>Le compteur <literal>secnumdepth</literal> contrôle quels titres de rubriques sont +numérotés. Régler le compteur avec +<literal>\setcounter{secnumdepth}{<replaceable>niveau</replaceable>}</literal> supprime la +numérotation des rubriques à toute profondeur supérieure à <replaceable>niveau</replaceable> +(See <link linkend="_005csetcounter">\setcounter</link>). Voir la table plus haut pour la valeur des +niveaux. Par exemple, si le <literal>secnumdepth</literal> vaut 1 dans un +<literal>article</literal> alors la commande <literal>\section{Introduction}</literal> produit +en sortie quelque-chose comme ‘<literal>1 Introduction</literal>’ alors que +<literal>\subsection{Discussion}</literal> produit quelque-chose comme +‘<literal>Discussion</literal>’, sans numéro. La valeur par défaut de &latex; pour +<literal>secnumdepth</literal> vaut 3 dans la classe <filename>article</filename> et 2 dans les +classes <filename>book</filename> et <filename>report</filename>. +</para> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>tocdepth</primary></indexterm><literal>tocdepth</literal> +</term><listitem><indexterm role="fn"><primary>tocdepth counter</primary></indexterm> +<indexterm role="cp"><primary>table des matières, impression des numéros de rubrique</primary></indexterm> +<anchor id="sectioning-tocdepth"/><anchor id="Sectioning_002ftocdepth"/><para>Contrôle quelles rubriques sont listées dans la table des matières. +Régler <literal>\setcounter{tocdepth}{<replaceable>niveau</replaceable>}</literal> a pour effet que +les rubriques au niveau <replaceable>niveau</replaceable> sont celles de plus petit niveau à +être listées (see <link linkend="_005csetcounter">\setcounter</link>). Voir la table ci-dessus pour les +numéros de niveau. Par exemple, if <literal>tocdepth</literal> vaut 1 alors la table +des matières contiendra les rubriques issues de <literal>\section</literal>, mais pas +celles de <literal>\subsection</literal>. La valeur par défaut de &latex; pour +<literal>tocdepth</literal> vaut 3 dans la classe <filename>article</filename> et 2 dans les +classes <filename>book</filename> et <filename>report</filename>. +</para></listitem></varlistentry></variablelist> + -<indexterm role="cp"><primary>rubricage</primary></indexterm> -<para>Les commandes de rubricage fournissent les moyens de structurer -votre texte en unités sectionnelles, ou rubriques : +<sect1 label="6.1" id="_005cpart"> +<title><literal>\part</literal></title> + +<indexterm role="fn"><primary>\part</primary></indexterm> +<indexterm role="cp"><primary>part</primary></indexterm> +<indexterm role="cp"><primary>rubricage, part</primary></indexterm> + +<para>Synopsis, l’un parmi : </para> -<variablelist><varlistentry><term><indexterm role="fn"><primary>\part</primary></indexterm><literal>\part</literal> -</term></varlistentry><varlistentry><term><indexterm role="fn"><primary>\chapter (seulement pour classes <literal>report</literal> et <literal>book</literal>)</primary></indexterm><literal>\chapter (seulement pour classes <literal>report</literal> et <literal>book</literal>)</literal> -</term></varlistentry><varlistentry><term><indexterm role="fn"><primary>\section</primary></indexterm><literal>\section</literal> -</term></varlistentry><varlistentry><term><indexterm role="fn"><primary>\paragraph</primary></indexterm><literal>\paragraph</literal> -</term></varlistentry><varlistentry><term><indexterm role="fn"><primary>\subsubsection</primary></indexterm><literal>\subsubsection</literal> -</term></varlistentry><varlistentry><term><indexterm role="fn"><primary>\paragraph</primary></indexterm><literal>\paragraph</literal> -</term></varlistentry><varlistentry><term><indexterm role="fn"><primary>\alinea</primary></indexterm><literal>\alinea</literal> -</term></varlistentry></variablelist> -<para>Toutes les commandes ont la même forme générale, par exemple, +<screen>\part{<replaceable>titre</replaceable>} +\part*{<replaceable>titre</replaceable>} +\part[<replaceable>tdm-titre</replaceable>]{<replaceable>titre</replaceable>} +</screen> +<para>Début une partie de document. Les classes standarde &latex; +<literal>book</literal>, <literal>report</literal>, et <literal>article</literal> offrent toutes cette +commande. </para> -<screen>\chapter[<replaceable>titretdm</replaceable>]{<replaceable>titre</replaceable>} +<para>L’exemple suivant produit une partie de document dans un livre : +</para> +<!-- xxx à traduire --> +<screen>\part{VOLUME I \\ + PERSONAL MEMOIRS OF U.\ S.\ GRANT} +\chapter{ANCESTRY--BIRTH--BOYHOOD.} +My family is American, and has been for generations, +in all its branches, direct and collateral. </screen> -<para>En plus de fournir le titre de rubrique <replaceable>titre</replaceable> dans le texte -principal, le titre peut apparaître dans deux autres endroits : +<para>Dans chaque classe standarde la commande <literal>\part</literal> produit en sortie +un numéro de partie tel que ‘<literal>Première partie</literal>’, seul sur sa ligne, +en caractère gras, et en gros caractères. Ensuite &latex; produit en +sortie <replaceable>titre</replaceable>, également seule sur sa ligne, en caractère gras et +en caractères encore plus gros. +Dans la classe <literal>book</literal>, le comportement par défaut de &latex; est +de mettre chaque titre de partie seule sur sa propre page. Si le livre +est en recto-verso alors &latex; saute une page si nécessaire pour que +la nouvelle partie commence sur une page à numéro impair. Dans un +<literal>report</literal> il est également seul sur une page, mais &latex; ne force +pas qu’elle soit de numéro impair. Dans un <literal>article</literal> &latex; ne +le place pas sur une nouvelle page, mais au lieu de cela produit en +sortie le numéro de partie et le titre de partie sur la même page que le +document principal. </para> -<orderedlist numeration="arabic"><listitem><para>La table des matières. -</para></listitem><listitem><para>L’en-tête en cours de traitement en haut de la page. -</para></listitem></orderedlist> -<para>Vous ne voudrez peut-être pas le même texte dans ces endroits que dans -le texte principal. Pour gérer cela, les commandes de rubricage ont -un argument optionnel <replaceable>titretdm</replaceable> qui, lorsqu’il est fourni, précise -le texte de ces autres endroits. +<para>La forme en <literal>*</literal> imprime <replaceable>titre</replaceable> mais n’imprime pas le numéro de +partie, et n’incrémente pas le compteur <literal>part</literal>, et ne produit +aucune entrée dans la table des matières. </para> -<indexterm role="cp"><primary>forme étoilée de commandes de rubricage</primary></indexterm> -<indexterm role="cp"><primary>forme en * de commandes de rubricage</primary></indexterm> -<para>En outre, toutes les commandes de rubricage ont des formes en -<literal>*</literal>, aussi appelée étoilée, qui compose <replaceable>titre</replaceable> comme -d’habitude, mais ne comprennent pas de numéro et ne produisent pas -d’entrée dans la table des matières. Par exemple : +<para>L’argument optionnel <replaceable>tdm-titre</replaceable> apparaît comme le titre de la +partie dans la table des matières (see <link linkend="Table-of-contents-etc_002e">Table of contents etc.</link>) et +dans les hauts de pages (see <link linkend="Page-styles">Page styles</link>). S’il n’est pas présent +alors <replaceable>titre</replaceable> est utilisé à sa place. Dans l’exemple suivante on met +un saut de ligne dans <replaceable>titre</replaceable> mais on l’enlève dans la table des +matière. +</para> +<screen>\part[Up from the bottom; my life]{Up from the bottom\\ my life} +</screen> +<para>Pour déterminer quelles rubrique sont numéroté et lesquelles +apparaissent dans la table des matières, le numéro de niveau d’une +partie vaut -1 (see <link linkend="Sectioning_002fsecnumdepth">Sectioning/secnumdepth</link> et +see <link linkend="Sectioning_002ftocdepth">Sectioning/tocdepth</link>). +</para> +<indexterm role="fn"><primary>paquetage <literal>indentfirst</literal></primary></indexterm> +<indexterm role="fn"><primary><literal>indentfirst</literal>, paquetage</primary></indexterm> + + +<para>Dans la classe <literal>article</literal>, si un paragraphe suit immédiatement le +titre de partie alors il n’est pas renfoncé. Pour obtenir un +renfoncement vous pouvez utiliser le paquetage <filename>indentfirst</filename>. +</para> +<indexterm role="fn"><primary>paquetage <literal>titlesec</literal></primary></indexterm> +<indexterm role="fn"><primary><literal>titlesec</literal>, paquetage</primary></indexterm> + +<para>Un paquetage pour changer le comportement de <literal>\part</literal> est +<filename>titlesec</filename>. Voir sa documentation sur le CTAN. +</para> + +</sect1> +<sect1 label="6.2" id="_005cchapter"> +<title><literal>\chapter</literal></title> + +<indexterm role="fn"><primary>\chapter</primary></indexterm> +<indexterm role="cp"><primary>chapitre</primary></indexterm> + +<para>Synopsis, l’un parmi : +</para> +<screen>\chapter{<replaceable>titre</replaceable>} +\chapter*{<replaceable>titre</replaceable>} +\chapter[<replaceable>tdm-titre</replaceable>]{<replaceable>titre</replaceable>} +</screen> +<para>Commence un chapitre. Les classes standardes &latex; <literal>book</literal> et +<literal>report</literal> ont cette commande, mais <literal>article</literal> non. +</para> +<para>L’exemple suivant produit un chapitre. +</para> +<screen>\chapter{Mirages} +Appelez moi Ismaël. +Voici quelques années --- peu importe combien --- le porte-monnaie vide +ou presque, rien ne me retenant à terre, je songeai à naviguer un peu et +à voir l'étendue liquide du globe. +</screen> +<para>Le comportement par défaut de &latex; est de commence chaque chapitre +sur une page neuve, une page à numéro impair si le document est en +recto-verso. Il produit un numéro de chapitre tel que ‘<literal>Chapitre 1</literal>’ +en gros caractère gras (la taille est <literal>\huge</literal>). Ensuite il place le +<replaceable>titre</replaceable> sur une nouvelle ligne, en caractère gras encore plus gros +(taille <literal>\Huge</literal>). Il incrémente également le compteur +<literal>chapter</literal>, ajoute une entrée à la table des matières (see <link linkend="Table-of-contents-etc_002e">Table +of contents etc.</link>), et règle l’information de haut de page (see <link linkend="Page-styles">Page +styles</link>). +</para> +<para>La forme étoilée, ou forme en <literal>*</literal>, affiche <replaceable>titre</replaceable> sur une +nouvelle ligne, en caractère gras. Mais elle n’affiche pas le numéro de +chapitre, ni n’incrément le compteur <literal>chapter</literal>, et ne produit +aucune entrée dans la table des matières, et n’affecte pas le haut de +page. (Si vous utilise le style de page <literal>headings</literal> dans un +document recto-version alors le haut de page sera dérivé du chapitre +précédent). Voici un exemple illustrant cela : +</para> +<screen>\chapter*{Préambule} +</screen> +<para>L’argument optionnel <replaceable>tdm-titre</replaceable> apparaît comme titre de chapitre +dans la tabvle des matières (see <link linkend="Table-of-contents-etc_002e">Table of contents etc.</link>) et dans les +hauts de page (see <link linkend="Page-styles">Page styles</link>). Si il n’est pas présent alors +<replaceable>titre</replaceable> sera à la place. L’exemple suivant montre le nom complet +dans le titre de chapitre, +</para> +<screen>\chapter[Weyl]{Hermann Klaus Hugo (Peter) Weyl (1885--1955)} +</screen> +<para>mais seulement ‘<literal>Weyl</literal>’ sur la page de table des matières. L’exemple +suivant place un saut de ligne dans le titre, mais ceci ne fonctionne +pas bien avec les haut de page, alors il omet le saut dans la table des +matières +</para> +<screen>\chapter[J'ai tout donné ; mon histoire]{J'ai tout donné\\ mon histoire} +</screen> +<para>Pour déterminer quelles rubriques sont numérotées et lesquelles +apparaissent dans la table des matières, le numéro de niveau d’un +chapitre est 0 (see <link linkend="Sectioning_002fsecnumdepth">Sectioning/secnumdepth</link> et +see <link linkend="Sectioning_002ftocdepth">Sectioning/tocdepth</link>). +</para> +<indexterm role="fn"><primary>paquetage <literal>indentfirst</literal></primary></indexterm> +<indexterm role="fn"><primary><literal>indentfirst</literal>, paquetage</primary></indexterm> + +<!-- French version only --> +<para>Lorsque chargez un paquetage d’internationalisation tel que +<filename>babel</filename>, <filename>mlp</filename> ou <filename>polyglossia</filename>, et que la langue +sélectionnée est le français, alors le premier paragraphe après le titre +est normalement renfoncé, comme c’est la convention en typographie +française. Par contre, si vous restez en langue par défaut, +c-à-d. en anglo-américain, +<!-- End French version only --> +le paragraphe qui suit le titre de chapitre n’est pas renfoncé, étant donné que c’est +<!-- French version only --> +pour l’anglo-américain +<!-- End French version only --> +une pratique typographique standarde. Pour obtenir un renfoncement +<!-- French version only --> +dans ce cas +<!-- End French version only --> +utilisez le paquetage <filename>indentfirst</filename>. +</para> +<para>Vous pouvez changer ce qui est affiché pour le numéro de chapitre. Pour +le changer en quelque-chose du genre de ‘<literal>Cours 1</literal>’, placez dans le +préambule soit <literal>\renewcommand{\chaptername}{Cours}</literal>, soit +cela (see <link linkend="_005cmakeatletter-_0026-_005cmakeatother">\makeatletter & \makeatother</link>) : </para> -<screen>\section*{Préambule} +<screen>\makeatletter +\renewcommand{\@chapapp}{Cours} +\makeatother </screen> +<indexterm role="fn"><primary>paquetage <literal>babel</literal></primary></indexterm> +<indexterm role="fn"><primary><literal>babel</literal>, paquetage</primary></indexterm> + +<para>Pour que cela soit fonction de la langue principale du document, voir le paquetage <filename>babel</filename>. +</para> +<para>Dans un document recto-verso &latex; commence les chapitres sur des +pages de numéro impair, en laissant si nécessaire une page de numéro +pair blanche à l’exception d’un éventuel haut de page. Pour que cette +page soit complètement blanche, voir <link linkend="_005cclearpage-_0026-_005ccleardoublepage">\clearpage & +\cleardoublepage</link>. +</para> +<indexterm role="fn"><primary>paquetage <literal>titlesec</literal></primary></indexterm> +<indexterm role="fn"><primary><literal>titlesec</literal>, paquetage</primary></indexterm> + +<para>Pour changer le comportement de la commande <literal>\chapter</literal>, vous pouvez +copier sa définition depuis le fichier de format &latex; et faire des +ajustements. Mais il y a aussi beaucoup de paquetage sur le CTAN qui +traitent de cela. L’un d’eux est <filename>titlesec</filename>. Voir sa +documentation, mais l’exemple ci-dessous donne un aperçu de ce qu’il +peut faire. +</para> +<screen>\usepackage{titlesec} % dans le préambule +\titleformat{\chapter} + {\Huge\bfseries} % format du titre + {} % étiquette, tel que 1.2 pour une sous-section + {0pt} % longueur de séparation entre l'étiquette et le titre + {} % code crochet exécuté avant +</screen> +<para>Ceci omet le numéro de chapitre ‘<literal>Chapitre 1</literal>’ de la page, mais +contrairement à <literal>\chapter*</literal> cela conserve le chapitre dans la table +des matière et dans les hauts de page. +</para> + +</sect1> +<sect1 label="6.3" id="_005csection"> +<title><literal>\section</literal></title> + +<indexterm role="fn"><primary>\section</primary></indexterm> +<indexterm role="cp"><primary>section</primary></indexterm> + +<para>Synopsis, l’un parmi : +</para> +<screen>\section{<replaceable>titre</replaceable>} +\section*{<replaceable>titre</replaceable>} +\section[<replaceable>tdm-titre</replaceable>]{<replaceable>titre</replaceable>} +</screen> +<para>Commence une section. Les classes &latex; standardes <literal>article</literal>, +<literal>book</literal>, et <literal>report</literal> ont toutes cette commande. +</para> +<para>L’exemple suivant produit une section : +</para> +<screen>Dans cette partie nous nous intéressons plutôt à la fonction, au +comportement d'entrée-sortie, qu'aux détails de la réalisation de ce +comportement. + +\section{Machines de Turing} +En dépit de ce désir de rester évasif sur l'implémentation, nous suivons +l'approche d'A.~Turing selon laquelle la première étape pour définir +l'ensemble des fonctions calculables est de réflechir au détails de ce +que des mécanismes peuvent faire. +</screen> +<para>Pour les classes standardes &latex; <literal>book</literal> et <literal>report</literal> la +sortie par défaut est du genre de ‘<literal>1.2 <replaceable>titre</replaceable></literal>’ (pour +chapitre 1, section 2), seul sur sa ligne et fer à gauche, en caractères +gras et plus gros (la taille de police est <literal>\Large</literal>). La même +chose vaut pour <literal>article</literal> à ceci près qu’il n’y a pas de chapitre +dans cette classe, et donc cela ressemble à ‘<literal>2 <replaceable>titre</replaceable></literal>’. +</para> +<para>La forme en <literal>*</literal> affiche <replaceable>titre</replaceable>. Mais elle n’affiche pas le +numéro de section, ni n’incrémente le compteur <literal>section</literal>, ne +produit aucune entrée dans la table des matière, et n’affecte pas le +haut de page. (Si vous utilisez le style de page <literal>headings</literal> dans +un document recto-verso, alors le titre de haut de page sera celui de la +rubrique précédente). +</para> +<para>L’argument optionnel <replaceable>tdm-titre</replaceable> apparaît comme titre de section +dans la table des matières (see <link linkend="Table-of-contents-etc_002e">Table of contents etc.</link>) et dans les +titres de haut de page (see <link linkend="Page-styles">Page styles</link>). S’il n’est pas présent +alors <replaceable>titre</replaceable> est à la place. L’exemple suivant montre le nom +complet dans le titre de la section, +</para> +<screen>\section[Elisabeth~II]{Elisabeth deux, + Reine par la grâce de Dieu du Royaume Uni, + du Canada et de ses autres Royaumes et Territoires, + Chef du Commonwealth, Défenseur de la Foi.} +</screen> +<para>mais seulement ‘<literal>Elisabeth II</literal>’ dans la table de matière et sur les +hauts de page. Dans l’exemple suivant il y a un saut de ligne dans +<replaceable>titre</replaceable> mais ça ne fonctionne pas pour la table des matières alors +il est omis de la table des matières et des titres de hauts de page. +</para> +<screen>\section[La vérité c'est que j'ai menti ; histoire de ma vie]{La vérité +c'est que j'ai menti\\ histoire de ma vie} +</screen> +<para>Pour déterminer quelles rubriques sont numérotées et lesquelles +apparaissent dans la table des matières, le numéro de niveau d’une +section est 1 (see <link linkend="Sectioning_002fsecnumdepth">Sectioning/secnumdepth</link> et +see <link linkend="Sectioning_002ftocdepth">Sectioning/tocdepth</link>). +</para> +<indexterm role="fn"><primary>paquetage <literal>indentfirst</literal></primary></indexterm> +<indexterm role="fn"><primary><literal>indentfirst</literal>, paquetage</primary></indexterm> + +<!-- French version only --> +<para>Lorsque chargez un paquetage d’internationalisation tel que +<filename>babel</filename>, <filename>mlp</filename> ou <filename>polyglossia</filename>, et que la langue +sélectionnée est le français, alors le premier paragraphe après le titre +est normalement renfoncé, comme c’est la convention en typographie +française. Par contre, si vous restez en langue par défaut, +c-à-d. en anglo-américain, +<!-- End French version only --> +le paragraphe qui suit le titre de section n’est pas renfoncé, étant donné que c’est +<!-- French version only --> +pour l’anglo-américain +<!-- End French version only --> +une pratique typographique standarde. Pour obtenir un renfoncement +<!-- French version only --> +dans ce cas +<!-- End French version only --> +utilisez le paquetage <filename>indentfirst</filename>. +</para> +<indexterm role="fn"><primary>paquetage <literal>titlesec</literal></primary></indexterm> +<indexterm role="fn"><primary><literal>titlesec</literal>, paquetage</primary></indexterm> + +<para>En général, pour changer le comportement de la commande <literal>\section</literal>, +il y a diverses options. L’une d’elles et la commande +<literal>\@startsection</literal> (see <link linkend="_005c_0040startsection">\@startsection</link>). Il y a aussi un grand +nombre de paquetages sur le CTAN traitant de cela, dont +<filename>titlesec</filename>. Voir sa +documentation, mais l’exemple ci-dessous donne un aperçu de ce qu’il +peut faire. +</para> +<!-- credit: egreg https://groups.google.com/forum/#!topic/comp.text.tex/tvc8oM5P4y4 --> +<screen>\usepackage{titlesec} % dans le préambule +\titleformat{\section} + {\normalfont\Large\bfseries} % format du titre + {\makebox[1pc][r]{\thesection\hspace{1pc}}} % étiquette + {0pt} % longueur de séparation entre l'étiquette et le titre + {} % code crochet exécuté avant +\titlespacing*{\section} + {-1pc}{18pt}{10pt}[10pc] +</screen> +<para>Cela met le numéro de section dans la marge. +</para> + +</sect1> +<sect1 label="6.4" id="_005csubsection"> +<title><literal>\subsection</literal></title> + +<indexterm role="fn"><primary>\subsection</primary></indexterm> +<indexterm role="cp"><primary>subsection</primary></indexterm> + +<para>Synopsis, l’un parmi : +</para> +<screen>\subsection{<replaceable>titre</replaceable>} +\subsection*{<replaceable>titre</replaceable>} +\subsection[<replaceable>tdm-titre</replaceable>]{<replaceable>titre</replaceable>} +</screen> +<para>Commence une sous-section. Les classes &latex; standardes <literal>article</literal>, +<literal>book</literal>, et <literal>report</literal> ont toutes cette commande. +</para> +<para>L’exemple suivant produit une sous-section : +</para> +<screen>Nous allons montrer qu'il y a plus de fonction que de machines de Turing +et donc que certaines fonctions n'ont pas de machine associée. + +\subsection{Cardinal} Nous allons commencer par deux paradoxes qui +mettent en scène le défi que pose à notre intuition la comparaison des +tailles d'ensembles infinis. +</screen> +<para>Pour les classes &latex; standardes <literal>book</literal> et <literal>report</literal> la +sortie par défaut est du genre de ‘<literal>1.2.3 <replaceable>titre</replaceable></literal>’ (pour +chapitre 1, section 2, sous-section 3), seul sur sa ligne et fer à +gauche, en caractère gras et un peu plus gros (la taille de police est +<literal>\large</literal>). La même chose vaut dans <literal>article</literal> à ceci près +qu’il n’y a pas de chapitre dans cette classe, alors cela ressemble à +‘<literal>2.3 <replaceable>titre</replaceable></literal>’. +</para> +<para>La forme en <literal>*</literal> affiche <replaceable>titre</replaceable>. Mais elle n’affiche pas le +numéro de sous-section, ni n’incrémente le compteur <literal>subsection</literal>, +et ne produit aucune entrée dans la table des matières. +</para> +<!-- continuer la trad. --> +<para>L’argument optionnel <replaceable>tdm-titre</replaceable> apparaît comme le titre de +sous-section dans la table des matières (see <link linkend="Table-of-contents-etc_002e">Table of contents +etc.</link>). S’il n’est pas présent alors <replaceable>titre</replaceable> est à la place. +L’exemple suivant montre le texte complet dans le titre de sous-section, +</para> +<screen>\subsection[$\alpha,\beta,\gamma$ paper]{\textit{The Origin of + Chemical Elements} by R.A.~Alpher, H.~Bethe, and G.~Gamow} +</screen> +<para>mais seulement ‘<literal>03B1,03B2,03B3 +paper</literal>’ dans la table des matières. +</para> +<para>Pour déterminer quelles rubriques sont numérotées et lesquelles +apparaissent dans la table des matières, le numéro de niveau d’une +sous-section est 2 (see <link linkend="Sectioning_002fsecnumdepth">Sectioning/secnumdepth</link> et +see <link linkend="Sectioning_002ftocdepth">Sectioning/tocdepth</link>). +</para> +<indexterm role="fn"><primary>paquetage <literal>indentfirst</literal></primary></indexterm> +<indexterm role="fn"><primary><literal>indentfirst</literal>, paquetage</primary></indexterm> + +<!-- French version only --> +<para>Lorsque chargez un paquetage d’internationalisation tel que +<filename>babel</filename>, <filename>mlp</filename> ou <filename>polyglossia</filename>, et que la langue +sélectionnée est le français, alors le premier paragraphe après le titre +est normalement renfoncé, comme c’est la convention en typographie +française. Par contre, si vous restez en langue par défaut, +c-à-d. en anglo-américain, +<!-- End French version only --> +le paragraphe qui suit le titre de sous-section n’est pas renfoncé, étant donné que c’est +<!-- French version only --> +pour l’anglo-américain +<!-- End French version only --> +une pratique typographique standarde. Pour obtenir un renfoncement +<!-- French version only --> +dans ce cas +<!-- End French version only --> +utilisez le paquetage <filename>indentfirst</filename>. +</para> +<indexterm role="fn"><primary>paquetage <literal>titlesec</literal></primary></indexterm> +<indexterm role="fn"><primary><literal>titlesec</literal>, paquetage</primary></indexterm> + +<!-- --> +<para>Il y a diverses façon de changer le comportement de la commande +<literal>\subsection</literal>. L’une d’elles et la commande <literal>\@startsection</literal> +(see <link linkend="_005c_0040startsection">\@startsection</link>). Il y a aussi divers paquetages sur le CTAN +traitant de cela, dont <filename>titlesec</filename>. Voir sa documentation, mais +l’exemple ci-dessous donne un aperçu de ce qu’il peut faire. +</para> +<screen>\usepackage{titlesec} % dans le préambule +\titleformat{\subsection}[runin] + {\normalfont\normalsize\bfseries} % format du titre + {\thesubsection} % étiquette + {0.6em} % espacement entre l'étiquette et le titre + {} % code crochet exécuté avant +</screen> +<para>Cela place le numéro de sous-section et <replaceable>titre</replaceable> sur la première +ligne de texte. +</para> + +</sect1> +<sect1 label="6.5" id="_005csubsubsection-_0026-_005cparagraph-_0026-_005csubparagraph"> +<title><literal>\subsubsection</literal>, <literal>\paragraph</literal>, <literal>\subparagraph</literal></title> + +<indexterm role="fn"><primary>\subsubsection</primary></indexterm> +<indexterm role="cp"><primary>subsubsection</primary></indexterm> +<indexterm role="fn"><primary>\paragraph</primary></indexterm> +<indexterm role="cp"><primary>paragraph</primary></indexterm> +<indexterm role="fn"><primary>\subparagraph</primary></indexterm> +<indexterm role="cp"><primary>subparagraph</primary></indexterm> + +<para>Synopsis, l’un parmi les suivant : +</para> +<screen>\subsubsection{<replaceable>titre</replaceable>} +\subsubsection*{<replaceable>titre</replaceable>} +\subsubsection[<replaceable>titre-tdm</replaceable>]{<replaceable>titre</replaceable>} +</screen> +<para>ou l’un parmi : +</para> +<screen>\paragraph{<replaceable>titre</replaceable>} +\paragraph*{<replaceable>titre</replaceable>} +\paragraph[<replaceable>titre-tdm</replaceable>]{<replaceable>titre</replaceable>} +</screen> +<para>ou l’un parmi : +</para> +<screen>\subparagraph{<replaceable>titre</replaceable>} +\subparagraph*{<replaceable>titre</replaceable>} +\subparagraph[<replaceable>titre-tdm</replaceable>]{<replaceable>titre</replaceable>} +</screen> +<para>Débute une rubrique de type sous-sous-section, paragraphe, ou +sous-paragraphe. Les classes &latex; standardes <literal>article</literal>, +<literal>book</literal>, et <literal>report</literal> disposent toutes de ces commandes, bien +que leur utilisation n’est pas courante. +</para> +<para>L’exemple suivant produit une sous-sous-section : +</para> +<!-- xxx À traduire --> +<screen>\subsubsection{Piston ring compressors: structural performance} +Provide exterior/interior wall cladding assemblies +capable of withstanding the effects of load and stresses from +consumer-grade gasoline engine piston rings. +</screen> +<para>La sortie produite par défaut de chacune de ces trois commande est la +même pour les classes &latex; standarde <literal>article</literal>, <literal>book</literal>, et +<literal>report</literal>. Pour <literal>\subsubsection</literal> le <replaceable>titre</replaceable> est seul sur +sa ligne, en caractères gras avec la taille normale de police. Pour +<literal>\paragraph</literal> le <replaceable>titre</replaceable> est sur la même ligne que le texte qui +suit, sans renfoncement, en caractères gras avec la taille normale de +police. Pour <literal>\subparagraph</literal> le <replaceable>titre</replaceable> est sur la même ligne +que la texte qui suit, avec un renfoncement de paragraphe, en caractère +gras et avec la taille normale de police (comme les documents de classe +<literal>article</literal> n’ont pas de chapitre, leurs sous-sous-sections sont +numérotées et donc cela ressemble à ‘<literal>1.2.3 <replaceable>titre</replaceable></literal>’, pour +section 1, sous-section 2, et sous-sous-section 3. Les deux autres +subdivisions ne sont pas numérotées). +</para> +<para>La forme en <literal>*</literal> affiche <replaceable>titre</replaceable>. Mais elle n’incrémente pas le +compteur associé et ne produit pas d’entrée dans la table des matières +(et le titre produit pas <literal>\subsubsection</literal> n’a pas de numéro). +</para> +<para>L’argument optionnel <replaceable>titre-tdm</replaceable> apparaît comme le titre de la +rubrique dans la table des matières (see <link linkend="Table-of-contents-etc_002e">Table of contents etc.</link>). +S’il est omis, alors <replaceable>titre</replaceable> est utilisé à la place. +</para> +<para>Pour déterminer quelles rubriques sont numérotées et lesquelles +apparaissent dans la table des matières, le numéro de nuveau d’une +sous-sous-section est 3, celui d’un paragraphe est 4, et celui d’un +sous-paragraphe est 5 (see <link linkend="Sectioning_002fsecnumdepth">Sectioning/secnumdepth</link> et +see <link linkend="Sectioning_002ftocdepth">Sectioning/tocdepth</link>). +</para> +<indexterm role="fn"><primary>paquetage <literal>indentfirst</literal></primary></indexterm> +<indexterm role="fn"><primary><literal>indentfirst</literal>, paquetage</primary></indexterm> + +<!-- French version only --> +<para>Lorsque chargez un paquetage d’internationalisation tel que +<filename>babel</filename>, <filename>mlp</filename> ou <filename>polyglossia</filename>, et que la langue +sélectionnée est le français, alors le premier paragraphe après le titre +est normalement renfoncé, comme c’est la convention en typographie +française. Par contre, si vous restez en langue par défaut, +c-à-d. en anglo-américain, +<!-- End French version only --> +le paragraphe qui suit le titre de chapitre n’est pas renfoncé, étant donné que c’est +<!-- French version only --> +pour l’anglo-américain +<!-- End French version only --> +une pratique typographique standarde. Une façon d’obtenir un renfoncement +<!-- French version only --> +dans ce cas +<!-- End French version only --> +est d’utiliser le paquetage <filename>indentfirst</filename>. +</para> +<indexterm role="fn"><primary>paquetage <literal>titlesec</literal></primary></indexterm> +<indexterm role="fn"><primary><literal>titlesec</literal>, paquetage</primary></indexterm> + +<para>Il y a de nombreuses manières de changer le comportement de ces +commandes. L’une est la commande <literal>\@startsection</literal> +(see <link linkend="_005c_0040startsection">\@startsection</link>). Il y a aussi un grand nombre de paquetages +sur le CTAN traitant de cela, dont <filename>titlesec</filename>. Voir sa +documentation sur le CTAN. +</para> +</sect1> + +<sect1 label="6.6" id="_005cappendix"> +<title><literal>\appendix</literal></title> + <indexterm role="fn"><primary>\appendix</primary></indexterm> -<indexterm role="cp"><primary>annexe, création</primary></indexterm> -<para>La commande <literal>\appendix</literal> modifie la façon dont les unités -sectionnelles suivantes sont numérotées. La commande <literal>\appendix</literal> -elle-même ne génère aucun texte et n’affecte pas la numérotation des -parties. L’utilisation normale de cette commande est quelque chose comme -cela : -</para> -<screen>\chapter{Un chapitre} -… +<indexterm role="cp"><primary>appendix</primary></indexterm> +<indexterm role="cp"><primary>appendices</primary></indexterm> + +<para>Synopsis : +</para> +<screen>\appendix +</screen> +<para>Ne produit pas directement quelque chose en sortie. Mais dans un +document <literal>book</literal> ou <literal>report</literal> cela déclare que toute commande +<literal>\chapter</literal> qui suit commence une annexe. Pour les documents +<literal>article</literal> cela fait la même chose mais avec les commandes +<literal>\section</literal>. Remet également à zéro les compteurs <literal>chapter</literal> et +<literal>section</literal> dans un document <literal>book</literal> ou <literal>report</literal>, et dans un +<literal>article</literal> les compteurs <literal>section</literal> et <literal>subsection</literal>. +</para> +<para>Dans ce document de classe <literal>book</literal> : +</para> +<screen>\chapter{Un} ... +\chapter{Deux} ... + ... \appendix -\chapter{La première annexe } +\chapter{Trois} ... +\chapter{Quatre} ... +</screen> +<para>les deux premières commandes produisent en sortie ‘<literal>Chapitre 1</literal>’ and +‘<literal>Chapitre 2</literal>’. Après la commande <literal>\appendix</literal> la numérotation devient +‘<literal>Annexe A</literal>’ et ‘<literal>Annexe B</literal>’. See <link linkend="Larger-book-template">Larger book template</link> +pour un autre exemple. +</para> +<indexterm role="fn"><primary>paquetage <literal>appendix</literal></primary></indexterm> +<indexterm role="fn"><primary><literal>appendix</literal>, paquetage</primary></indexterm> + +<para>Le paquetage <filename>appendix</filename> ajoute la commande <literal>\appendixpage</literal> +pour créer une page de titre de partie intitulée ‘<literal>Appendices</literal>’ dans +le corps du document avant la première annexe, ainsi que la +commande <literal>\addappheadtotoc</literal> pour créer l’entrée correspondante dans +la table des matières. On peut régler le nom ‘<literal>Appendices</literal>’ avec une +commande comme <literal>\renewcommand{\appendixname}{Annexes}</literal>, et il y +a plusieurs autres fonctions. Voir la documentation sur le CTAN. +</para> +</sect1> +<sect1 label="6.7" id="_005cfrontmatter-_0026-_005cmainmatter-_0026-_005cbackmatter"> +<title><literal>\frontmatter</literal>, <literal>\mainmatter</literal>, <literal>\backmatter</literal></title> + +<indexterm role="fn"><primary>\frontmatter</primary></indexterm> +<indexterm role="cp"><primary>book, pièces préliminaires</primary></indexterm> +<indexterm role="cp"><primary>livre, pièces préliminaires</primary></indexterm> +<indexterm role="fn"><primary>\mainmatter</primary></indexterm> +<indexterm role="cp"><primary>book, pièces principales</primary></indexterm> +<indexterm role="cp"><primary>livre, pièces principales</primary></indexterm> +<indexterm role="fn"><primary>\backmatter</primary></indexterm> +<indexterm role="cp"><primary>book, pièces postliminaires</primary></indexterm> +<indexterm role="cp"><primary>book, annexes</primary></indexterm> +<indexterm role="cp"><primary>livre, pièces postliminaires</primary></indexterm> +<indexterm role="cp"><primary>livre, annexes</primary></indexterm> + +<para>Synopsis, l’un parmi : +</para> +<screen>\frontmatter +\mainmatter +\backmatter +</screen> +<para>Formate un document de classe <literal>book</literal> différemment selon la partie +du document en cours de production. Les trois commandes sont toutes +optionnelles. +</para> +<para>Traditionnellement, les pièces préliminaires (<literal>\frontmatter</literal>) d’un +livre comprennent des choses telles que la page de titre, un abrégé, une +table des matières, une préface, une liste des notations, une liste des +figures et une liste des tableaux. (Certaines des pages des pièces +préliminaires, telles que la page de titres, traditionnellement ne sont +pas numérotée). Les pièces postliminaires (<literal>\backmatter</literal>) peuvent +contenir des choses telles qu’un glossaire, une bibliographie, et un +index. +</para> +<para>La déclaration <literal>\frontmatter</literal> rend les numéros de page en chiffres +romains bas de casse, et rend les chapitres non numérotés, bien que les +titres de chaque chapitre apparaissent dans la table des matières ; si +vous utilisez là aussi d’autres commandes de rubricage, alors utilisez +la version en <literal>*</literal> (see <link linkend="Sectioning">Sectioning</link>). La commande +<literal>\mainmatter</literal> permet de revenir au comportement attendu, et +réinitialise le numéro de page. La commande <literal>\backmatter</literal> +n’affecte pas la numérotation des pages, mais commute de nouveau les +chapitres en mode sans numéros. See <link linkend="Larger-book-template">Larger book template</link> pour un +exemple d’usage des trois commandes. +</para> + +</sect1> +<sect1 label="6.8" id="_005c_0040startsection"> +<title><literal>\@startsection</literal>, composer les rubriques.</title> + +<indexterm role="fn"><primary>\@startsection</primary></indexterm> +<indexterm role="cp"><primary>section, redéfinir</primary></indexterm> + +<para>Synopsis : +</para> +<screen>\@startsection{<replaceable>nom</replaceable>}{<replaceable>niveau</replaceable>}{<replaceable>retrait</replaceable>}{<replaceable>avant</replaceable>}{<replaceable>après</replaceable>}{<replaceable>style</replaceable>} </screen> -<indexterm role="fn"><primary>secnumdepth counter</primary></indexterm> -<indexterm role="cp"><primary>numéros de rubrique, composition</primary></indexterm> -<anchor id="Sectioning_002fsecnumdepth"/><para>Le compteur <literal>secnumdepth</literal> contrôle la composition des numéros de -rubrique. le paramètre +<para>Utilisé pour aider à redéfinir le comportement des commandes de +rubricage telles que <literal>\section</literal> ou <literal>\subsection</literal>. </para> -<screen>\setcounter{secnumdepth}{<replaceable>niveau</replaceable>} +<para>Notez que le paquetage <filename>titlesec</filename> rend la manipulation du rubricage +plus facile. De plus, bien que la plupart des exigences concernant les +commandes de rubricage peuvent être remplies avec +<literal>\@startsection</literal>, ce n’est pas le cas de certaines d’entre elles. Par exemple, +dans les classes &latex; standardes <literal>book</literal> et <literal>report</literal>, les +commandes <literal>\chapter</literal> et <literal>\report</literal> ne sont pas construites de +cette manière. Pour fabriquer une telle commande, il est possible +d’utiliser la commande <literal>\secdef</literal>. +<!-- xx define, and make a cross reference to, secdef. --> +</para> +<para>Techniquement, cette commande a la forme suivante : +</para><screen>\@startsection{<replaceable>nom</replaceable>} + {<replaceable>niveau</replaceable>} + {<replaceable>retrait</replaceable>} + {<replaceable>avant</replaceable>} + {<replaceable>après</replaceable>} + {<replaceable>style</replaceable>}*[<replaceable>titretdm</replaceable>]{<replaceable>titre</replaceable>} +</screen><para>de sorte que faire : +</para><screen>\renewcommand{\section}{\@startsection{<replaceable>nom</replaceable>} + {<replaceable>niveau</replaceable>} + {<replaceable>retrait</replaceable>} + {<replaceable>avant</replaceable>} + {<replaceable>après</replaceable>} + {<replaceable>style</replaceable>}} +</screen><para>redéfinit <literal>\section</literal> en gardant sa forme standarde d’appel +<literal>\section*[<replaceable>titretdm</replaceable>]{<replaceable>titre</replaceable>}</literal> (dans laquelle on +rappelle que l’étoile <literal>*</literal> est optionnelle). +See <link linkend="Sectioning">Sectioning</link>. Ceci implique que quand vous écrivez une commande +comme <literal>\renewcommand{\section}{...}</literal>, le +<literal>\@startsection{...}</literal> doit venir en dernier dans la définition. +Voir les exemples ci-dessous. +</para> +<variablelist> +<varlistentry><term><replaceable>nom</replaceable> +</term><listitem><anchor id="startsection-name"/><anchor id="_005c_0040startsection_002fname"/><para>Nom du compteur utilisé pour numéroter les titres de rubrique. Ce +compteur doit être défini séparément. Ceux qui sont utilisés le plus +communément sont <literal>section</literal>, <literal>subsection</literal>, ou +<literal>paragraph</literal>. Bien que dans ces cas-là le nom du compteur soit +identique à celui de la commande elle-même, utiliser le même nom n’est +pas obligatoire. +</para> +<para>Alors <literal>\the</literal><replaceable>name</replaceable> affiche le numéro de titre, et +<literal>\</literal><replaceable>name</replaceable><literal>mark</literal> sert aux en-têtes de page. Voir le +troisième exemple plus bas. +</para> +</listitem></varlistentry><varlistentry><term><replaceable>niveau</replaceable> +</term><listitem><anchor id="startsection-level"/><anchor id="_005c_0040startsection_002flevel"/><para>Entier donnant la profondeur de la commande de +rubricage. See <link linkend="Sectioning">Sectioning</link> pour une liste des numéros standards de +niveaux. +</para> +<para>Si <replaceable>niveau</replaceable> est inférieur ou égal à la valeur du compteur +<literal>secnumdepth</literal>, alors les titres pour cette commande de rubricage +sont numérotés (see <link linkend="Sectioning_002fsecnumdepth">Sectioning/secnumdepth</link>). Par exemple : dans un +<literal>article</literal>, si <literal>secnumdepth</literal> vaut 1, alors une commande +<literal>\section{Introduction}</literal> produira en sortie une chaîne du type +« <literal>1 Introduction</literal> », alors que <literal>\subsection{Historique}</literal> +produira en sortie une chaîne sans numéro de préfixe : +« <literal>Historique</literal> ». +</para> +<para>Si <replaceable>niveau</replaceable> est inférieur ou égal à la valeur du compteur +<literal>tocdepth</literal>, alors la table des matières aura un article pour cette +rubrique. Par exemple, dans un <literal>article</literal>, si <literal>tocdepth</literal> vaut +1, la table des matières listera les <literal>section</literal>s, mais pas les +<literal>subsection</literal>s. +</para> +</listitem></varlistentry><varlistentry><term><replaceable>retrait</replaceable> +</term><listitem><anchor id="startsection-indent"/><anchor id="_005c_0040startsection_002findent"/> +<para>Une longueur donnant le renfoncement de toutes les lignes du titre par +rapport à la marge de gauche. Pour un renfoncement nul, utilisez <literal>0pt</literal>. +<!-- xx à insérer : --> +<!-- vous pouvez utiliser la macro @code{\z@@} définie à @code{0pt} pour --> +<!-- que le code soit plus efficace --> +Une valeur négative telle que <literal>-1em</literal> cause un débord du titre dans +la marge de gauche. +</para> +</listitem></varlistentry><varlistentry><term><replaceable>avant</replaceable> +</term><listitem><anchor id="startsection-beforeskip"/><anchor id="_005c_0040startsection_002fbeforeskip"/><para>Longueur dont la valeur absolue est la longueur de l’espace vertical +inséré avant le titre de la rubrique. Cet espacement est ignoré si la +rubrique commence au début d’une page. Si ce nombre est négatif, alors +le premier paragraphe suivant le titre n’est pas renfoncé, s’il est +positif ou nul il l’est. (Notez que l’opposé de <literal>1pt plus 2pt minus +3pt</literal> est <literal>-1pt plus -2pt minus -3pt</literal>). +</para> +<para>Par exemple si <replaceable>avant</replaceable> vaut <literal>-3.5ex plus -1ex minus -0.2ex</literal> +alors pour commencer la nouvelle rubrique, &latex; ajoute environ 3,5 +fois la hauteur d’une lettre x en espace vertical, et le premier +paragraphe de la rubrique n’est pas renfoncé. Utiliser une longueur +élastique, c.-à-d. comprenant <literal>plus</literal> et <literal>minus</literal>, est une +bonne pratique ici car cela donne à &latex; plus de latitude lors de la +fabrication de la page (see <link linkend="Lengths">Lengths</link>). +</para> +<para>La quantité totale d’espace vertical entre la ligne de base de la ligne +précédant cette rubrique et la ligne de base du titre de la rubrique est +la somme du <literal>\parskip</literal> dans la police du corps de texte, du +<literal>\baselineskip</literal> de la police du titre, et de la valeur absolue de +l’argument <replaceable>avant</replaceable>. Cet espace est typiquement élastique de sorte à +pouvoir se dilater ou se contracter. (Si la rubrique commence en début +d’une page de sorte que cet espace soit ignoré, alors la ligne de base +du titre correspond à la ligne de base qu’aurait la première ligne de +texte sur cette page si celle-ci commençait par du texte). +</para> +</listitem></varlistentry><varlistentry><term><replaceable>après</replaceable> +</term><listitem><anchor id="startsection-afterskip"/><anchor id="_005c_0040startsection_002fafterskip"/><para>Longueur. Lorsque <replaceable>après</replaceable> est positif ou nul, il s’agit de l’espace +vertical à insérer après le titre de la rubrique. Lorsque elle est +négative, alors le titre fait corps avec le paragraphe le suivant +immédiatement. Dans ce cas la valeur absolue de la longueur donne +l’espace horizontal entre la fin du titre et le début du paragraphe +suivant. (Notez que l’opposé de <literal>1pt plus 2pt minus 3pt</literal> est +<literal>-1pt plus -2pt minus -3pt</literal>). +</para> +<para>Comme c’est le cas avec <replaceable>avant</replaceable>, utiliser une longueur élastique +avec des composantes <literal>plus</literal> et <literal>minus</literal> est une bonne pratique +ici puisque elle donne à &latex; plus de latitude pour assembler la +page. +</para> +<para>Si <replaceable>après</replaceable> est positif ou nul, la quantité totale d’espace vertical +entre la ligne de base du titre de la rubrique et la ligne de base de la +première ligne du paragraphe suivant est la somme du <literal>\parskip</literal> de +la police du titre, de <literal>\baselineskip</literal> de la police du corps de +texte, et de la valeur de <replaceable>après</replaceable>. Cet espace est typiquement +élastique de sorte qu’il puisse se dilater ou se contracter. (Notez que, +du fait que le signe d’<replaceable>après</replaceable> contrôle que le titre soit +indépendant du texte qui le suit ou faisant corps avec lui, vous ne +pouvez pas utiliser un <replaceable>après</replaceable> négatif pour annuler une partie du +<literal>\parskip</literal>). +</para> +</listitem></varlistentry><varlistentry><term><replaceable>style</replaceable> +</term><listitem><anchor id="startsection-style"/><anchor id="_005c_0040startsection_002fstyle"/><para>Contrôle le style du titre : voir les exemples plus bas. Les commandes +typiquement utilisées ici sont <literal>\centering</literal>, <literal>\raggedright</literal>, +<literal>\normalfont</literal>, <literal>\hrule</literal>, ou <literal>\newpage</literal>. La dernière +commande au sein de <replaceable>style</replaceable> peut être une commande prenant un +argument, telle que <literal>\MakeUppercase</literal> ou <literal>\fbox</literal>. Le titre de +la rubrique est passé en argument à cette commande. Par exemple régler +<replaceable>style</replaceable> à <literal>\bfseries\MakeUppercase</literal> a pour effet de produire +des titres gras et en capitales. +</para></listitem></varlistentry></variablelist> +<para>Voici les réglages par défaut de &latex; pour les trois premiers +niveaux de rubricage qui sont définis par <literal>\@startsection</literal>, pour +les classes <filename>article</filename>, <filename>book</filename>, et <filename>report</filename>. +</para><itemizedlist><listitem><para>Pour section, le <replaceable>niveau</replaceable> vaut 1, le <replaceable>retrait</replaceable> vaut 0pt, +le <replaceable>avant</replaceable> vaut <literal>-3.5ex plus -1ex minus -0.2ex</literal>, le <replaceable>après</replaceable> +vaut <literal>2.3ex plus 0.2ex</literal>, et le <replaceable>style</replaceable> vaut +<literal>\normalfont\Large\bfseries</literal>. +</para></listitem><listitem><para>Pour subsection, le <replaceable>niveau</replaceable> +vaut 2, le <replaceable>retrait</replaceable> vaut 0pt, le <replaceable>avant</replaceable> vaut +<literal>-3.25ex plus -1ex minus -0.2ex</literal>, le <replaceable>après</replaceable> vaut <literal>1.5ex +plus 0.2ex</literal>, et le <replaceable>style</replaceable> vaut <literal>\normalfont\large\bfseries</literal>. +</para></listitem><listitem><para>Pour subsubsection, le <replaceable>niveau</replaceable> vaut 3, le <replaceable>retrait</replaceable> vaut +0pt, le <replaceable>avant</replaceable> vaut <literal>-3.25ex plus -1ex minus -0.2ex</literal>, le +<replaceable>après</replaceable> vaut <literal>1.5ex plus 0.2ex</literal>, et le <replaceable>style</replaceable> vaut +<literal>\normalfont\normalsize\bfseries</literal>. +</para></listitem></itemizedlist> + +<para>Voici des exemples. Pour les utiliser, mettez-les soit au sein d’un +fichier de paquetage ou de classe, soit dans le préambule d’un document +&latex;. Si vous les mettez dans le préambule, elle doivent être entre +une commande <literal>\makeatletter</literal> et une commande <literal>\makeatother</literal>. +(Le message d’erreur <literal>You can't use `\spacefactor' in vertical +mode.</literal> est le plus probable lorsque on oublie de faire +cela). See <link linkend="_005cmakeatletter-_0026-_005cmakeatother">\makeatletter & \makeatother</link>. +</para> +<para>L’exemple ci-dessous centre les titres de section et les met en gros +caractères gras. Il le fait avec <literal>\renewcommand</literal> parce que les +classes standardes de &latex; ont déjà une commande <literal>\section</literal> de +définie. Pour la même raison il ne définit ni un compteur +<literal>section</literal>, ni les commandes <literal>\thesection</literal> et +<literal>\l@section</literal>. +</para> +<screen>\renewcommand\section{% + \@startsection{section}% <link linkend="_005c_0040startsection_002fname"><replaceable>nom</replaceable></link>. + {1}% <link linkend="_005c_0040startsection_002flevel"><replaceable>niveau</replaceable></link>. + {0pt}% <link linkend="_005c_0040startsection_002findent"><replaceable>retrait</replaceable></link>. + {-3.5ex plus -1ex minus -.2ex}% <link linkend="_005c_0040startsection_002fbeforeskip"><replaceable>avant</replaceable></link>. + {2.3ex plus.2ex}% <link linkend="_005c_0040startsection_002fafterskip"><replaceable>après</replaceable></link>. + {\centering\normalfont\Large\bfseries}}% <link linkend="_005c_0040startsection_002fstyle"><replaceable>style</replaceable></link>. </screen> -<para>supprime le numéros de rubrique à n’importe quelle profondeur <inlineequation><mathphrase>> <replaceable>niveau</replaceable></mathphrase></inlineequation>, où -<literal>chapter</literal> est le niveau zéro. (Voir <link linkend="_005csetcounter">\setcounter</link>.) + +<para>L’exemple ci-dessous met les titres de <literal>subsection</literal> en petites +capitales, et leur fait faire corps avec le paragraphe suivant. +</para> +<screen>\renewcommand\subsection{% + \@startsection{subsection}% <link linkend="_005c_0040startsection_002fname"><replaceable>nom</replaceable></link>. + {2}% <link linkend="_005c_0040startsection_002flevel"><replaceable>niveau</replaceable></link>. + {0em}% <link linkend="_005c_0040startsection_002findent"><replaceable>retrait</replaceable></link>. + {-1ex plus 0.1ex minus -0.05ex}% <link linkend="_005c_0040startsection_002fbeforeskip"><replaceable>avant</replaceable></link>. + {-1em plus 0.2em}% <link linkend="_005c_0040startsection_002fafterskip"><replaceable>après</replaceable></link>. + {\scshape}% <link linkend="_005c_0040startsection_002fstyle"><replaceable>style</replaceable></link>. + } +</screen> + +<para>Les exemples précédents redéfinissaient les commandes de titre de +rubriques existantes. L’exemple suivant définit une nouvelle commande, +illustrant la nécessité d’un compteur et de macros pour son affichage. </para> +<!-- From https://groups.google.com/forum/#!searchin/comp.text.tex/startsection%7Csort:relevance/comp.text.tex/sB-nTS-oL08/ZZeKYdG0llMJ --> +<screen>\setcounter{secnumdepth}{6}% affiche les compteurs justqu'à ce niveau +\newcounter{subsubparagraph}[subparagraph]% compteur pour la + % numérotation +\renewcommand{\thesubsubparagraph}% + {\thesubparagraph.\@arabic\c@subsubparagraph}% comment afficher + % la numérotation +\newcommand{\subsubparagraph}{\@startsection + {subsubparagraph}% + {6}% + {0em}% + {\baselineskip}% + {0.5\baselineskip}% + {\normalfont\normalsize}} +\newcommand*\l@subsubparagraph% + {\@dottedtocline{6}{10em}{5em}}% pour la table des matières +\newcommand{\subsubparagraphmark}[1]{}% pour les en-têtes de page +</screen> +</sect1> </chapter> <chapter label="7" id="Cross-references"> -<title>Des références croisées</title> -<indexterm role="cp"><primary>références croisées</primary></indexterm> +<title>Des renvois</title> +<indexterm role="cp"><primary>renvois</primary></indexterm> <para>Une des raisons pour numéroter des choses telles que les figures ou les équations est d’indiquer au lecteur une référence vers elles, comme dans « Voir la figure 3 pour plus de détails. » </para> <indexterm role="cp"><primary>étiquette</primary></indexterm> -<para>Inclure le numéro de figure dans le code source est une mauvaise -pratique puisque ce si ce noméro change avec l’évolution du document, -alors on doit penser à mettre à jour cet référence manuellement. Au lieu -de cela, &latex; vous fait écrire une <firstterm>étiquette</firstterm> du genre -<literal>\label{eq:ThmGreens}</literal> et lui faire référence avec <literal>Voir -l'équation~\ref{eq:ThmGreens}</literal>. -</para> -<para>&latex; écrit l’information provenant des étiquettes dans un fichier -avec le même nom que le fichier conteant le <literal>\label{...}</literal> mais -avec une extension <filename>.aux</filename>. (L’information a le format -<literal>\newlabel{<replaceable>étiquette</replaceable>}{{<replaceable>étiquette-courante</replaceable>}{<replaceable>numéro-de-page</replaceable>}}</literal> -où <replaceable>étiquette-courante</replaceable> est la valeur de la macro -<literal>\@currentlabel</literal> qui est d’ordinaire mise à jour à chaque vous que -that is vous appelez <literal>\refstepcounter{<replaceable>compteur</replaceable>}</literal>.) +<para>Souvent on désire écrire quelque chose du genre de ‘<literal>Voir +théorème~31</literal>’. Mais Inclure manuellement le numéro est une mauvaise +pratique. Au lieu de cela, il vaut mieux écrire une <firstterm>étiquette</firstterm> du +genre <literal>\label{eq:ThmGreens}</literal> puis lui <firstterm>faire référence</firstterm> avec +<literal>Voir l'équation~\ref{eq:ThmGreens}</literal>. &latex; se charge de +déterminer automatiquement le numéro, de le produire en sortie, et de le +changer par la suite si besoin est. +</para> +<screen>Cela apparaîtra avec le théorème~\ref{th:ThmGreens}. % référence déclarée en aval +... +\begin{theorem} \label{th:ThmGreens} + ... +\end{theorem} +... +Voir le théorème~\ref{th:ThmGreens} page~\pageref{th:ThmGreens}. +</screen> + +<para>&latex; garde trace de l’information de renvoi dans un +fichier avec le même nom de base que le fichier contenant le +<literal>\label{...}</literal> mais avec une extension <filename>.aux</filename>. Ainsi si +<literal>\label</literal> est dans <filename>calcul.tex</filename> alors cette information est +dans <filename>calcul.aux</filename>. &latex; met cette information dans ce fichier à +chaque fois qu’il rencontre un <literal>\label</literal>. </para> + <indexterm role="cp"><primary>référence déclarée en aval</primary></indexterm> <indexterm role="cp"><primary>aval, référence déclarée en</primary></indexterm> <indexterm role="cp"><primary>déclaration en aval de référence</primary></indexterm> <para>L’effet secondaire le plus courant du paragraphe précédent se produit lorsque votre document a une <firstterm>référence déclarée en aval</firstterm>, c.-à-d. -un <literal>\ref{<replaceable>clef</replaceable>}</literal> qui apparaît avant le -<literal>\label{<replaceable>clef</replaceable>}</literal> associé ; voir l’exemple dans la description -de <literal>\pageref{...}</literal>. &latex; obtient les référence à partir du -fichier <filename>.aux</filename>. Si c’est la première fois que vous compilez le -document alors vous obtiendrez un message <literal>LaTeX Warning: Label(s) -may have changed. Rerun to get cross references right.</literal> et dans la -sortie la référence apparaîtra comme deux points -d’interrogration ‘<literal>??</literal>’ en caractères gras. Ou, si vous modifiez le -document de telle façon que les références changent alors vous -obtiendrez le même avertissement et la sortie contiendra l’information -de référence de la fois précédente. La solution dans les deux cas est -juste de re-compiler le document encore une fois. +un <literal>\ref</literal> qui apparaît avant le <literal>\label</literal> associé. Si c’est la +première fois que vous compilez le document alors vous obtiendrez un +message <literal>LaTeX Warning: Label(s) may have changed. Rerun to get +cross references right.</literal> et dans la sortie la référence apparaîtra comme +deux points d’interrogration ‘<literal>??</literal>’ en caractères gras. Ou, si vous +modifiez le document de telle façon que les références changent alors +vous obtiendrez le même avertissement et la sortie contiendra +l’information de référence de la fois précédente. La solution dans les +deux cas est juste de re-compiler le document encore une fois. </para> +<indexterm role="fn"><primary>paquetage <literal>cleveref</literal></primary></indexterm> +<indexterm role="fn"><primary><literal>cleveref</literal>, paquetage</primary></indexterm> + + +<para>Le paquetage <literal>cleveref</literal> élargit les possibilités de faire des +renvois de &latex;. Vous pouvez faire en sorte que si vous saisissez +<literal>\begin{thm}\label{th:Nerode}...\end{thm}</literal> alors +<literal>\cref{th:Nerode}</literal> produit en sortie ‘<literal>théorème 3.21</literal>’, sans +que vous ayez à saisir le mot « théorème ». +</para> + <sect1 label="7.1" id="_005clabel"> @@ -2465,7 +3313,7 @@ de la rubrique courante. Au sein d’un environnement numéroté, tel que l’environnement <literal>table</literal> ou <literal>theorem</literal>, <literal>\label{<replaceable>clef</replaceable>}</literal> attribue le numéro de cet environnement à <replaceable>clef</replaceable>. On retire le numéro attribué avec la commande -<literal>\ref{<replaceable>clef</replaceable>}</literal> (voir <link linkend="_005cref">\ref</link>). +<literal>\ref{<replaceable>clef</replaceable>}</literal> (see <link linkend="_005cref">\ref</link>). </para> <para>Le nom <replaceable>clef</replaceable> peut se composer de n’importe quelle séquence de lettres, chiffres, ou caractères de ponctuation ordinaires. Il est @@ -2510,8 +3358,8 @@ Voir Figure~\ref{fig:test}. <sect1 label="7.2" id="_005cpageref"> <title><literal>\pageref{<replaceable>clef</replaceable>}</literal></title> <indexterm role="fn"><primary>\pageref</primary></indexterm> -<indexterm role="cp"><primary>référence croisée avec numéro de page</primary></indexterm> -<indexterm role="cp"><primary>numéro de page, référence croisée</primary></indexterm> +<indexterm role="cp"><primary>renvoi avec numéro de page</primary></indexterm> +<indexterm role="cp"><primary>numéro de page, renvoi</primary></indexterm> <para>Synopsis : </para> @@ -2536,18 +3384,18 @@ page~\pageref{eq:principale}. <sect1 label="7.3" id="_005cref"> <title><literal>\ref{<replaceable>clef</replaceable>}</literal></title> <indexterm role="fn"><primary>\ref</primary></indexterm> -<indexterm role="cp"><primary>référence croisée, symbolique</primary></indexterm> -<indexterm role="cp"><primary>numéro de rubrique, référence croisée</primary></indexterm> -<indexterm role="cp"><primary>numéro d’équation, référence croisée</primary></indexterm> -<indexterm role="cp"><primary>numéro de figure, référence croisée</primary></indexterm> -<indexterm role="cp"><primary>numéro de note en bas de page, référence croisée</primary></indexterm> +<indexterm role="cp"><primary>renvoi, symbolique</primary></indexterm> +<indexterm role="cp"><primary>numéro de rubrique, renvoi</primary></indexterm> +<indexterm role="cp"><primary>numéro d’équation, renvoi</primary></indexterm> +<indexterm role="cp"><primary>numéro de figure, renvoi</primary></indexterm> +<indexterm role="cp"><primary>numéro de note en bas de page, renvoi</primary></indexterm> <para>Synopsis : </para> <screen>\ref{<replaceable>clef</replaceable>} </screen> <para>Produit le numéro de la rubrique, équation, note en bas de page, figure, -…, de la commande correspondante <literal>\label</literal> (voir <link linkend="_005clabel">\label</link>). +…, de la commande correspondante <literal>\label</literal> (see <link linkend="_005clabel">\label</link>). Elle ne produit aucun texte, tel que le mot ‘<literal>Section</literal>’ ou ‘<literal>Figure</literal>’, juste le numéro lui-même sans plus. </para> @@ -2572,7 +3420,7 @@ que ceci est une référence déclarée en aval puisque elle est faite avant <indexterm role="fn"><primary>\begin</primary></indexterm> <indexterm role="fn"><primary>\end</primary></indexterm> -<para>&latex; fournit beacoup d’environnements pour baliser un certain texte. +<para>&latex; fournit beaucoup d’environnements pour baliser un certain texte. Chaque environnement commence et se termine de la même manière : </para> <screen>\begin{<replaceable>nomenv</replaceable>} @@ -2586,6 +3434,7 @@ Chaque environnement commence et se termine de la même manière : <indexterm role="fn"><primary>environnement <literal>abstract</literal></primary></indexterm> <indexterm role="fn"><primary><literal>abstract</literal>, environnement</primary></indexterm> + <indexterm role="cp"><primary>résumé</primary></indexterm> <para>Synopsis : @@ -2595,12 +3444,12 @@ Chaque environnement commence et se termine de la même manière : </screen> <para>Produit un résumé, potentiellement contenant plusieurs paragraphes. Cet environnement n’est défini que dans les classes de document -<literal>article</literal> et <literal>report</literal> (voir <link linkend="Document-classes">Document classes</link>). +<literal>article</literal> et <literal>report</literal> (see <link linkend="Document-classes">Document classes</link>). </para> <para>Utiliser l’exemple ci-dessous au sein de la classe <literal>article</literal> produit un paragraphe détaché. L’option <literal>titlepage</literal> de la classe de document a pour effet que le résumé soit sur une page séparée -(voir <link linkend="Document-class-options">Document class options</link>) ; ceci est le comportement par défaut +(see <link linkend="Document-class-options">Document class options</link>) ; ceci est le comportement par défaut selement dans la classe <literal>report</literal>. </para> <screen>\begin{abstract} @@ -2641,6 +3490,7 @@ en deux-colonne (pour plus solution plus flexible, utilisez le paquetage <title><literal>array</literal></title> <indexterm role="fn"><primary>environnement <literal>array</literal></primary></indexterm> <indexterm role="fn"><primary><literal>array</literal>, environnement</primary></indexterm> + <indexterm role="cp"><primary>tableaux mathématiques</primary></indexterm> <para>Synopsis : @@ -2659,9 +3509,9 @@ en deux-colonne (pour plus solution plus flexible, utilisez le paquetage </screen> <para>Les tableaux mathématiques sont produits avec l’environnement <literal>array</literal>, normalement au sein d’un environnement <literal>equation</literal> -(voir <link linkend="equation">equation</link>). Les entrées dans chaque colonne sont séparées avec +(see <link linkend="equation">equation</link>). Les entrées dans chaque colonne sont séparées avec une esperluette (<literal>&</literal>). Les lignes sont terminées par une double -contr’oblique (voir <link linkend="_005c_005c">\\</link>). +contr’oblique (see <link linkend="_005c_005c">\\</link>). </para> <para>L’argument obligatoire <replaceable>patron</replaceable> décrit le nombre de colonnes, l’alignement en leur sein, et le formatage des régions @@ -2684,6 +3534,7 @@ colonnes. La valeur par défaut est ‘<literal>5pt</literal>’. </para> <indexterm role="fn"><primary>paquetage <literal>amsmath</literal></primary></indexterm> <indexterm role="fn"><primary><literal>amsmath</literal>, paquetage</primary></indexterm> + <para>Pour otenir des tableaux entre accolades la méthode standarde est d’utiliser le paquetage <literal>amsmath</literal>. Il comprend les environnements <literal>pmatrix</literal> pour un tableau entre parenthèses <literal>(...)</literal>, @@ -2760,6 +3611,7 @@ preambule : <indexterm role="fn"><primary>environnement <literal>center</literal></primary></indexterm> <indexterm role="fn"><primary><literal>center</literal>, environnement</primary></indexterm> + <indexterm role="cp"><primary>centrer du texte, environnement pour</primary></indexterm> <para>Synopsis : @@ -2813,44 +3665,71 @@ second line \\ <indexterm role="fn"><primary>environnement <literal>description</literal></primary></indexterm> <indexterm role="fn"><primary><literal>description</literal>, environnement</primary></indexterm> + <indexterm role="cp"><primary>lists étiquetée, créer</primary></indexterm> <indexterm role="cp"><primary>listes de description, créer</primary></indexterm> <para>Synopsis : </para> <screen>\begin{description} -\item [<replaceable>étiquette1</replaceable>] <replaceable>article1</replaceable> -\item [<replaceable>étiquette2</replaceable>] <replaceable>article2</replaceable> +\item [<replaceable>étiquette du 1er article</replaceable>] <replaceable>texte du 1er article</replaceable> +\item [<replaceable>étiquette du 2e article</replaceable>] <replaceable>texte du 2e article</replaceable> ... \end{description} </screen> <indexterm role="fn"><primary>\item</primary></indexterm> <para>L’environnement <literal>description</literal> est utilisé pour fabriquer des listes d’articles étiquetés. Chaque <replaceable>étiquette</replaceable> d’article est composée en -gras, alignée à gauche. Bien que les étiquettes sur les articles sont -optionnelles il n’y a pas de valeur par défaut sensée, c’est pourquoi -tous les articles devraient avoir une étiquette. +gras, alignée à gauche de sorte que les étiquettes longues continuent +sur la première lgne du texte de l’article. Il doit y avoir au moins un +article ; sans cela provoque l’erreur &latex; ‘<literal>Something's +wrong--perhaps a missing \item</literal>’. +</para> +<para>Cet exemple montre l’environnement utilisé pour une séquence de +définitions. Les étiquettes ‘<literal>lama</literal>’ et ‘<literal>llama</literal>’ ressortent en +gras avec leur bords gauches alignés sur la marge de gauche. </para> +<screen>\begin{definition} + \item[lama] Un prêtre. + \item[lame] Une pièce coupante. +</screen> <indexterm role="fn"><primary>\item</primary></indexterm> -<para>La liste consiste en au moins un article ; voir <link linkend="_005citem">\item</link> (l’absence -d’article cause l’erreur &latex; ‘<literal>Something's wrong--perhaps a -missing \item</literal>’). Chaque article est produit avec une commande -<literal>\item</literal>. +<para>Faites démarrer la liste d’articles avec la commande <literal>\item</literal> +(see <link linkend="_005citem">\item</link>). Utilisez l’étiquette optionnelle, comme dans +<literal>\item[Point principal]</literal>, en effet il n’y a pas de valeur par +défaut sensée. Après le <literal>\item</literal> se trouve du texte optionnel +pouvant contenir plusieurs paragraphes. </para> -<!-- où ça va ?=> Le texte @var{article} peut contenir plusieurs paragraphes. --> - +<indexterm role="cp"><primary>gras machine à écrire, éviter</primary></indexterm> <indexterm role="cp"><primary>gras tapuscrit, éviter</primary></indexterm> +<indexterm role="cp"><primary>étiquette machine à écrire dans les listes</primary></indexterm> <indexterm role="cp"><primary>étiquette tapuscrite dans les listes</primary></indexterm> -<para>Une autre variation : puisque le style gras est appliqué aux étiquettes, -si vous composez une étiquette en style tapuscrit avec <literal>\texttt</literal>, -vous obtiendrez du gras tapuscrit : <literal>\item[\texttt{gras et -tapuscrit}]</literal>. C’est peut-être trop gras, entre autres problèmes. Pour -obtenir juste le style tapuscrit, utilisez <literal>\tt</literal>, ce qui -reinitialise toutes les autres variations de style : <literal>\item[{\tt -tapuscrit de base}]</literal>. +<para>Comme les étiquettes sont en gras, si le texte de l’étiquette appelle un +changement de police effectué dans la forme à argument (voir <link linkend="Font-styles">styles des polices</link>) alors il ressortira en gras. Par exemple, +si le texte de l’étiquette est en police machine à écrire comme dans +<literal>\item[\texttt{texte étiquette}]</literal> alors il apparaîtra en +tapuscrit gras, si cela est disponible. La méthode la plus simple pour +obtenir la police tapuscrit non grasse est d’utiliser la forme +déclarative : <literal>\item[{\tt texte étiquette}]</literal>. De la même façon, +obtenez la police romaine standarde avec <literal>\item[{\rm texte +étiquette}]</literal>. +</para> +<para>En ce qui concerne les autres principaux environnements de liste à +étiquettes de &latex;, voir <link linkend="itemize">itemize</link> et <link linkend="enumerate">enumerate</link>. +Contrairement à ces environnements, imbriquer les environnement +<literal>description</literal> ne change pas l’étiquette par défaut ; elle est en +gras et alignée à gauche à tous les niveaux. </para> -<para>Pour les détails concernant l’espacement des listes, voir <link linkend="itemize">itemize</link>. +<para>Pour plus d’information sur les paramètres de disposition de liste, y +compris les valeurs par défaut, et sur la personnalisation de la +disposition de liste, voir <link linkend="list">list</link>. Le paquetage <filename>enumitem</filename> est +utile pour personnaliser les listes. </para> +<para>Cet exemple met les étiquettes de description en petites capitales. +</para> +<screen>\renewcommand{\descriptionlabel}[1]{% + {\hspace{\labelsep}\textsc{#1}}} +</screen> </sect1> <sect1 label="8.5" id="displaymath"> @@ -2860,6 +3739,7 @@ tapuscrit de base}]</literal>. <indexterm role="fn"><primary>environnement <literal>displaymath</literal></primary></indexterm> <indexterm role="fn"><primary><literal>displaymath</literal>, environnement</primary></indexterm> + <para>Synopsis : </para> <screen>\begin{displaymath} @@ -2873,29 +3753,35 @@ justifie les équations à gauche ; voir <link linkend="Document-class-options" </para> <para>Aucun numéro d’équation n’est ajouté au texte de texte <literal>displaymath</literal> ; pour obtenir un numéro d’équation, vous pouvez -utiliser l’environnement <literal>equation</literal> (voir <link linkend="equation">equation</link>). +utiliser l’environnement <literal>equation</literal> (see <link linkend="equation">equation</link>). </para> <para>&latex; ne fait pas de saut de ligne au sein de <replaceable>des maths</replaceable>. </para> <indexterm role="fn"><primary>paquetage <literal>amsmath</literal></primary></indexterm> <indexterm role="fn"><primary><literal>amsmath</literal>, paquetage</primary></indexterm> + <para>Notez que le paquetage <filename>amsmath</filename> comprend des possibilités beaucoup plus vastes en matière d’affichage d’équations. Par exemple, il offre plusieurs altenatives pour effectuer des sauts de lignes au sein de texte en mode mathématique. </para> -<para>La construction <literal>\[<replaceable>des maths</replaceable>\]</literal> est essentiellement un -synonyme de <literal>\begin{displaymath}<replaceable>des +<indexterm role="fn"><primary>\[...\] displaymath</primary></indexterm> +<para>La construction <literal>\[<replaceable>des maths</replaceable>\]</literal> est un synonyme de +l’environnement <literal>\begin{displaymath}<replaceable>des maths</replaceable>\end{displaymath}</literal>, mais ce dernier est plus pratique à -manipuler dans le code source ; par exemple la recherche d’un caractère -crochet <literal>]</literal> peut donner des faux positifs, alors qu’il est plus -probable que le mot <literal>displaymath</literal> soit unique. (La construction -<literal>$$<replaceable>des maths</replaceable>$$</literal> tirée du language &tex; de base est souvent -utilisée à tort comme un synonyme de <literal>displaymath</literal>. Ce n’en est -pas un, parce que l’environnement <literal>displaymath</literal> vérifie qu’il ne -commence pas en mode mathérmatique, parce qu’il gère l’espacement -verticial environment différemment, et parce qu’il honore l’option -<literal>fleqn</literal>.) +manipuler dans le fichier source ; par exemple la recherche d’un +caractère crochet <literal>]</literal> peut donner des faux positifs, alors qu’il +est plus probable que le mot <literal>displaymath</literal> soit unique. +</para> + +<indexterm role="fn"><primary>$$...$$ displaymath, forme approchée en &tex; de base</primary></indexterm> +<para>(Digression : la construction <literal>$$<replaceable>des maths</replaceable>$$</literal> tirée du +language &tex; de base est souvent utilisée à tort comme un synonyme +de <literal>displaymath</literal>. Elle n’en est pas un, et n’est pas du tout +officiellement prise en charge par &latex; ; <literal>$$</literal> ne prend pas en +charge <literal>fleqn</literal> (see <link linkend="Document-class-options">Document class options</link>), gère l’espacement +verticial environment différemment, et n’effectue pas de vérification de +cohérence). </para> <para>Le texte composé par cet exemple est centré et seul sur sa ligne. </para><screen>\begin{displaymath} @@ -2911,8 +3797,9 @@ ligne <literal>\( \int_1^2 x^2\,dx=7/3 \)</literal> produit. <indexterm role="fn"><primary>environnement <literal>document</literal></primary></indexterm> <indexterm role="fn"><primary><literal>document</literal>, environnement</primary></indexterm> + <para>L’environnement <literal>document</literal> entoure le corps entier d’un document. -Il est obligatoire dans tout document &latex;. Voir <link linkend="Starting-and-ending">Starting and +Il est obligatoire dans tout document &latex;. See <link linkend="Starting-and-ending">Starting and ending</link>. </para> @@ -2961,6 +3848,7 @@ successives sont exécutée dans l’ordre de passage à la commande. <indexterm role="fn"><primary>environnement <literal>enumerate</literal></primary></indexterm> <indexterm role="fn"><primary><literal>enumerate</literal>, environnement</primary></indexterm> + <indexterm role="cp"><primary>lists of items, numbered</primary></indexterm> <para>Synopsis : @@ -2991,8 +3879,8 @@ marathon olympique de 1908 : <para>Les énumerations peuvent être imbriquées les unes dans les autres, jusqu’à une profondeur de quatre niveaux. Elles peuvent aussi être imbriquées au sein d’autres environnements fabriquant des paragraphes, -tels que <literal>itemize</literal> (voir <link linkend="itemize">itemize</link>) et <literal>description</literal> -(voir <link linkend="description">description</link>). +tels que <literal>itemize</literal> (see <link linkend="itemize">itemize</link>) et <literal>description</literal> +(see <link linkend="description">description</link>). Le format de l’étiquette produite dépend du niveau d’imbrication de la liste. Voici les valeurs par défaut de &latex; pour le format à chaque niveau d’imbrication (où 1 est le niveau le plus externe) : @@ -3008,9 +3896,9 @@ niveau d’imbrication (où 1 est le niveau le plus externe) : <indexterm role="fn"><primary>\enumiii</primary></indexterm> <indexterm role="fn"><primary>\enumiv</primary></indexterm> <para>L’environnement <literal>enumerate</literal> utilise les compteurs <literal>\enumi</literal>, -…, <literal>\enumiv</literal> (voir <link linkend="Counters">Counters</link>). Si vous utilisez l’argument +…, <literal>\enumiv</literal> (see <link linkend="Counters">Counters</link>). Si vous utilisez l’argument optionnel d’<literal>\item</literal> alors le compteur n’est pas incrementé pour cet -article (voir <link linkend="_005citem">\item</link>). +article (see <link linkend="_005citem">\item</link>). </para> <indexterm role="fn"><primary>\labelenumi</primary></indexterm> <indexterm role="fn"><primary>\labelenumii</primary></indexterm> @@ -3019,7 +3907,7 @@ article (voir <link linkend="_005citem">\item</link>). <para>L’environnement <literal>enumerate</literal> utilise les commandes de <literal>\labelenumi</literal> jusqu’à <literal>\labelenumiv</literal> pour produire l’étiquette par défaut. Ainsi, vous pouvez utiliser <literal>\renewcommand</literal> pour -chancher le format des étiquettes (voir <link linkend="_005cnewcommand-_0026-_005crenewcommand">\newcommand & +chancher le format des étiquettes (see <link linkend="_005cnewcommand-_0026-_005crenewcommand">\newcommand & \renewcommand</link>). Par exemple, cette liste de premier niveau va être étiquettée avec des lettres capitales, en gras, non suivies point : </para> @@ -3047,6 +3935,7 @@ cela. <indexterm role="fn"><primary>environnement <literal>eqnarray</literal></primary></indexterm> <indexterm role="fn"><primary><literal>eqnarray</literal>, environnement</primary></indexterm> + <indexterm role="cp"><primary>équations, aligner</primary></indexterm> <indexterm role="cp"><primary>aligner des équations</primary></indexterm> @@ -3098,6 +3987,7 @@ et le justifie à gauche dans une boîte de largeur nulle. <indexterm role="fn"><primary>environnement <literal>equation</literal></primary></indexterm> <indexterm role="fn"><primary><literal>equation</literal>, environnement</primary></indexterm> + <indexterm role="cp"><primary>équations, environnement pour</primary></indexterm> <indexterm role="cp"><primary>formules, environnement pour</primary></indexterm> @@ -3108,7 +3998,7 @@ et le justifie à gauche dans une boîte de largeur nulle. \end{equation} </screen> <para>L’environnement <literal>equation</literal> commence un environnement en -<literal>displaymath</literal> (voir <link linkend="displaymath">displaymath</link>), par ex. en centrant le texte +<literal>displaymath</literal> (see <link linkend="displaymath">displaymath</link>), par ex. en centrant le texte <replaceable>math</replaceable> sur la page, et aussi en plaçant un numéro d’équation dans la marge de droite. </para> @@ -3118,6 +4008,7 @@ marge de droite. <title><literal>figure</literal></title> <indexterm role="fn"><primary>environnement <literal>figure</literal></primary></indexterm> <indexterm role="fn"><primary><literal>figure</literal>, environnement</primary></indexterm> + <indexterm role="cp"><primary>inserer des figures</primary></indexterm> <indexterm role="cp"><primary>figures, insertion</primary></indexterm> @@ -3135,9 +4026,9 @@ marge de droite. <replaceable>corpsfigure</replaceable> \caption[<replaceable>titreldf</replaceable>]{<replaceable>texte</replaceable>} \label{<replaceable>étiquette}</replaceable> -\end{figure} +\end{figure*} </screen> -<para>Une classe de flottant (voir <link linkend="Floats">Floats</link>). Parce qu’elles ne peuvent pas +<para>Une classe de flottant (see <link linkend="Floats">Floats</link>). Parce qu’elles ne peuvent pas être coupées à cheval sur plusieurs pages, elles ne sont pas composées en séquence avec le texte normal, mais au contraire sont “flottées” vers un endroit convenable, tel que le sommet d’une page suivante. @@ -3146,7 +4037,7 @@ vers un endroit convenable, tel que le sommet d’une page suivante. l’algorithme de placement des flottants, voir <link linkend="Floats">Floats</link>. </para> <para>La version étoilée <literal>figure*</literal> est utilisée quand un document est en -mode double-colonne (voir <link linkend="_005ctwocolumn">\twocolumn</link>). elle produit une figure qui +mode double-colonne (see <link linkend="_005ctwocolumn">\twocolumn</link>). elle produit une figure qui s’étend sur les deux colonnes, au sommet de la page. Pour ajouter la possibiltié de la placer à un bas de page voir la discussion de <replaceable>placement</replaceable> <literal>b</literal> dans <link linkend="Floats">Floats</link>. @@ -3156,12 +4047,12 @@ possibiltié de la placer à un bas de page voir la discussion de etc. </para> <para>L’étiquette est optionnelle ; elle est utilisée pour les double renvois -(voir <link linkend="Cross-references">Cross references</link>). +(see <link linkend="Cross-references">Cross references</link>). <indexterm role="fn"><primary>\caption</primary></indexterm> La commande <literal>\caption</literal> spécifie la légende <replaceable>texte</replaceable> pour la figure. La légende est numérotée par défaut. Si <replaceable>titreldf</replaceable> est présent, il est utilisé dans la liste des figures au lieu de <replaceable>texte</replaceable> -(voir <link linkend="Tables-of-contents">Tables of contents</link>). +(see <link linkend="Table-of-contents-etc_002e">Table of contents etc.</link>). </para> <para>Cet exemple fabrique une figure à partir d’un graphique. Il nécessite l’un des paquetage <filename>graphics</filename> ou <filename>graphicx</filename>. Le graphique, @@ -3180,42 +4071,68 @@ fin du document, sur une page de flottants. <title><literal>filecontents</literal>: Écrire un fichier externe</title> <indexterm role="fn"><primary>environnement <literal>filecontents</literal></primary></indexterm> <indexterm role="fn"><primary><literal>filecontents</literal>, environnement</primary></indexterm> + <indexterm role="fn"><primary>environnement <literal>filecontents*</literal></primary></indexterm> <indexterm role="fn"><primary><literal>filecontents*</literal>, environnement</primary></indexterm> + <indexterm role="cp"><primary>fichier externe, écrire</primary></indexterm> <indexterm role="cp"><primary>écrire un fichier externe</primary></indexterm> <para>Synopsis : </para> -<screen>\begin{filecontents}{<replaceable>nomfichier</replaceable>} +<screen>\begin{filecontents}[<replaceable>option</replaceable>]{<replaceable>nomfichier</replaceable>} <replaceable>texte</replaceable> \end{filecontents} </screen> <para>ou </para> -<screen>\begin{filecontents*}{<replaceable>nomfichier</replaceable>} +<screen>\begin{filecontents*}[<replaceable>option</replaceable>]{<replaceable>nomfichier</replaceable>} <replaceable>texte</replaceable> \end{filecontents*} </screen> -<para>Crée un fichier nommé <replaceable>nomfichier</replaceable> et le remplit de <replaceable>texte</replaceable>. La -version non étoilée de l’environnement <literal>filecontent</literal> préfixe le -contenu du ficher crée d’une en-tête ; voir l’exemple ci-dessous. La -version étoilée <literal>filecontent*</literal> n’inclut par l’en-tête. -</para> -<para>Cet environnement peut être utilisé n’importe-où dans le préambule, bien -qu’elle apparaisse en général avant la commande -<literal>\documentclass</literal>. Elle est typiquement utilisée quand une fichier -source a besoin d’un fichier non standard de style ou de -classe. L’environnement permet d’écrire ce fichier dans le répertoire -contenant ce fichier et ainsi de rendre le code source autonome. Une -autre utilisation est d’inclure des référence au format <literal>bib</literal> dans -le fichier source, de même pour le rendre autonome. -</para> -<para>L’environnement vérifie si un fichier de même nom existe déjà, et si -oui, ne fait rien. Il y a un paquetage <filename>filecontents</filename> qui redéfinit -l’environnement <literal>filecontents</literal> de sorte qu’au lieu de ne rien faire -dans ce cas, il écrase le fichier existant. +<para>Crée un fichier nommé <replaceable>nomfichier</replaceable> dans le répertoire courant (ou +dans le répertoire de sortie s’il a été spécifié ; see <link linkend="output-directory">output +directory</link>) et y écrit <replaceable>texte</replaceable>. Par défaut un fichier déjà existant +n’est pas écrasé. +</para> +<para>La version non étoilée de l’environnement <literal>filecontent</literal> préfixe le +contenu du ficher créé d’une en-tête de commentaires &tex; ; voir +l’exemple ci-dessous. La version étoilée <literal>filecontent*</literal> n’inclut +par l’en-tête. </para> +<para>Les options possibles sont : +</para> +<variablelist><varlistentry><term><literal>force</literal> +</term><term><literal>overwrite</literal> +</term><listitem><indexterm role="cp"><primary><literal>force</literal>, option de <literal>filecontents</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>overwrite</literal>, option de <literal>filecontents</literal></primary></indexterm> +<para>Écrase le fichier s’il existe. +</para> +</listitem></varlistentry><varlistentry><term><literal>noheader</literal> +</term><listitem><indexterm role="cp"><primary><literal>noheader</literal>, option de <literal>filecontents</literal></primary></indexterm> +<para>Omet l’en-tête. Équivalent à utiliser <literal>filecontents*</literal>. +</para> +</listitem></varlistentry><varlistentry><term><literal>nosearch</literal> +</term><listitem><indexterm role="cp"><primary><literal>nosearch</literal>, option de <literal>filecontents</literal></primary></indexterm> +<para>Vérifie uniquement si un fichier existe dans le répertoire courant (et +le répertoire de sortie, s’il a été spécifié), non dans le chemin +complet de recherche. +</para> + +</listitem></varlistentry></variablelist> +<para>Ces options ont été ajoutées à la parution 2019 de &latex;. +</para> +<indexterm role="cp"><primary>sources autonomes</primary></indexterm> +<indexterm role="cp"><primary>fichiers source, rendre autonomes</primary></indexterm> +<para>Cet environnement peut être utilisé n’importe où dans le préambule, bien +qu’il apparaisse souvent avant la commande <literal>\documentclass</literal>. Elle +est classiquement utilisée pour créer un fichier <literal>.bib</literal> ou d’autre +fichier de données similaire à partir du document source principale, de +sorte à rendre le fichier source autonome. De même, il peut être utilisé +pour créer un fichier personnalisé de style ou de classe, rendant ainsi +encore le source autonome. +</para> + <para>Par exemple, ce document : </para> <screen>\documentclass{article} @@ -3227,7 +4144,7 @@ dans ce cas, il écrase le fichier existant. Un article de \monnom. \end{document} </screen> -<para>produit ce fichier <filename>JH.sty</filename>. +<para>produit ce fichier <filename>JH.sty</filename> : </para> <screen>%% LaTeX2e file `JH.sty' %% generated by the `filecontents' environment @@ -3241,6 +4158,7 @@ Un article de \monnom. <title><literal>flushleft</literal></title> <indexterm role="fn"><primary>environnement <literal>flushleft</literal></primary></indexterm> <indexterm role="fn"><primary><literal>flushleft</literal>, environnement</primary></indexterm> + <indexterm role="cp"><primary>jsutifier à gauche du texte, environnement pour</primary></indexterm> <indexterm role="cp"><primary>texte fer à gauche, environnement pour</primary></indexterm> <indexterm role="cp"><primary>texte ferré à gauche, environnement pour</primary></indexterm> @@ -3289,6 +4207,7 @@ l’unité de paragraphe. <title><literal>flushright</literal></title> <indexterm role="fn"><primary>environnement <literal>flushright</literal></primary></indexterm> <indexterm role="fn"><primary><literal>flushright</literal>, environnement</primary></indexterm> + <indexterm role="cp"><primary>texte drapeau gauche, environnement pour</primary></indexterm> <indexterm role="cp"><primary>justifier à droite, environnement pour</primary></indexterm> @@ -3332,6 +4251,7 @@ termine l’unité de paragraphe. <title><literal>itemize</literal></title> <indexterm role="fn"><primary>environnement <literal>itemize</literal></primary></indexterm> <indexterm role="fn"><primary><literal>itemize</literal>, environnement</primary></indexterm> + <indexterm role="fn"><primary>\item</primary></indexterm> <indexterm role="cp"><primary>listes d’articles</primary></indexterm> <indexterm role="cp"><primary>listes non ordonnées</primary></indexterm> @@ -3349,7 +4269,7 @@ termine l’unité de paragraphe. puces ». Les environnement <literal>itemize</literal> peuvent être imbriqués l’un dans l’autre, jusqu’à quatre niveaux de profondeur. Ils peuvent aussi être imbriqués avec d’autre environnements fabriquant des paragraphes, -comme <literal>enumerate</literal> (voir <link linkend="enumerate">enumerate</link>). +comme <literal>enumerate</literal> (see <link linkend="enumerate">enumerate</link>). </para> <para>Chaque article d’une liste <literal>itemize</literal> commence avec une commande <literal>\item</literal>. Il doit y avoir au moins une commande <literal>\item</literal> au @@ -3387,19 +4307,30 @@ utilise des losanges : <indexterm role="fn"><primary>\leftmarginiv</primary></indexterm> <indexterm role="fn"><primary>\leftmarginv</primary></indexterm> <indexterm role="fn"><primary>\leftmarginvi</primary></indexterm> - -<para>Les paramètres de <literal>\leftmargini</literal> jusqu’à <literal>\leftmarginvi</literal> +<anchor id="itemize-leftmargin"/><anchor id="itemize-leftmargini"/><anchor id="itemize-leftmarginii"/><anchor id="itemize-leftmarginiii"/><anchor id="itemize-leftmarginiv"/><anchor id="itemize-leftmarginv"/><anchor id="itemize-leftmarginvi"/><para>Les paramètres de <literal>\leftmargini</literal> jusqu’à <literal>\leftmarginvi</literal> définissent la distance entre la marge de gauche de l’environnement -surjacent et la marge de gauche de la liste. Par convention, -<literal>\leftmargin</literal> est réglée à la <literal>\leftmargin<replaceable>N</replaceable></literal> appropriée -quand on entre dans un nouveau niveau d’imbrication. +surjacent et la marge de gauche de la liste. (Notez la convention de +nommage de la commande avec un nombre romain en bas de casse à la fin +pour désigner le niveau d’imbrication). Les valeurs par défaut sont : +<literal>2.5em</literal> pour le niveau 1 (<literal>2em</literal> en mode deux-colonnes), +<literal>2.2em</literal> pour le niveau 2, <literal>1.87em</literal> pour le niveau 3 et +<literal>1.7em</literal> pour le niveau 4, avec des valeurs plus petites pour les +niveaux plus profondément imbriqués. </para> -<para>Les valeurs par défaut varient de ‘<literal>.5em</literal>’ (pour les niveaux -d’imbrication les plus élevés) jusqu’à ‘<literal>2.5em</literal>’ (premier niveau), et -sont légèrement réduits en mode deux-colonnes. Cet exemple réduit -grandement l’espace de marge pour la liste la plus extérieure : +<indexterm role="fn"><primary>paquetage <literal>enumitem</literal></primary></indexterm> +<indexterm role="fn"><primary><literal>enumitem</literal>, paquetage</primary></indexterm> + +<para>Pour les autres environnements majeurs de listes à étiquettes de +&latex;, voir <link linkend="description">description</link> et <link linkend="enumerate">enumerate</link>. Pour des +informations concernant les paramètres de contrôle de la disposition des +listes, y compris les valeurs par défaut, ainsi que la personalisaton de +la disposition, voir <link linkend="list">list</link>. La paquetage <filename>enumitem</filename> est utile +pour personaliser les listes. </para> -<screen>\setlength{\leftmargini}{1.25em} % par défaut 2.5em +<para>Dans cet exemple on réduit grandement l’espace de marge pour la liste à +puces la plus externe~: +</para> +<screen>\setlength{\leftmargini}{1.25em} % valeur par défaut 2.5em </screen> <!-- xx should be in its own generic section --> <para>Quelques paramètres qui affectent le formatage des listes : @@ -3463,7 +4394,7 @@ désirable d’élider l’espace entre les articles. Voici un exemple définissant un environnement <literal>itemize*</literal> sans espacement supplémentaire entre les articles, ni entre les paragraphes au sein d’un seul article (<literal>\parskip</literal> n’est pas spécifique aux listes, -voir <link linkend="_005cparskip">\parskip</link>): +see <link linkend="_005cparindent-_0026-_005cparskip">\parindent & \parskip</link>): </para> <screen>\newenvironment{itemize*}% {\begin{itemize}% @@ -3479,7 +4410,8 @@ voir <link linkend="_005cparskip">\parskip</link>): <indexterm role="fn"><primary>environnement <literal>letter</literal></primary></indexterm> <indexterm role="fn"><primary><literal>letter</literal>, environnement</primary></indexterm> -<para>Cet environnement est utilisé pour créer des lettres. Voir <link linkend="Letters">Letters</link>. + +<para>Cet environnement est utilisé pour créer des lettres. See <link linkend="Letters">Letters</link>. </para> </sect1> @@ -3487,35 +4419,333 @@ voir <link linkend="_005cparskip">\parskip</link>): <title><literal>list</literal></title> <indexterm role="fn"><primary>environnement <literal>list</literal></primary></indexterm> <indexterm role="fn"><primary><literal>list</literal>, environnement</primary></indexterm> + <indexterm role="cp"><primary>listes d’articles, générique</primary></indexterm> -<para>L’environnement <literal>list</literal> est un environnement générique qui est -utilisé pour définir beaucoup des environnements plus spécifiques. Il -est rarement utilisé dans des documents, mais souvant dans des macros. +<para>Synopsis : </para> -<screen>\begin{list}{<replaceable>étiquettage</replaceable>}{<replaceable>espacement</replaceable>} -\item <replaceable>item1</replaceable> -\item <replaceable>item2</replaceable> +<screen>\begin{list}{<replaceable>étiquetage</replaceable>}{<replaceable>espacement</replaceable>} +\item[<replaceable>étiquette optionnelle du premier article</replaceable>] texte du premier article +\item[<replaceable>étiquette optionnelle du deuxième article</replaceable>] texte du deuxième aticle ... \end{list} </screen> -<para>L’argument obligatoire <replaceable>étiquettage</replaceable> spécifie comment les articles -doivent être étiquetés (à moins que son argument optionnel soit fourni à -<literal>\item</literal>). Cet argument est un morceau de texte qui est inséré dans -une boîte pour former l’étiquette. Il peut contenir, et d’habitude c’est -le cas, d’autres commandes &latex;. +<para>L’environnement <literal>list</literal> est un environnement générique qui est +utilisé pour construire des listes plus spécialisées. On l’utilise la +plupart du temps pour créer des listes via les environnements +<literal>description</literal>, <literal>enumerate</literal>, et <literal>itemize</literal> +(see <link linkend="description">description</link>, <link linkend="enumerate">enumerate</link>, et <link linkend="itemize">itemize</link>). Par ailleurs, +beaucoup d’environnements standards de &latex; qui visuellement ne sont +pas des listes sont construits en utilisant <literal>list</literal>, ceci comprend +<literal>quotation</literal>, <literal>quote</literal>, <literal>center</literal>, <literal>verbatim</literal>, et bien +d’autres (see <link linkend="quotation-_0026-quote">quotation & quote</link>, see <link linkend="center">center</link>, +see <link linkend="flushright">flushright</link>). +</para> +<para>Ici, on décrit l’environnement <literal>list</literal> en définissant un +nouvel environnement personnalisé. +</para> +<screen>\newcounter{compteurlistenommage} % numérotes les articles +\newenvironment{nommage} + {\begin{list} + {Article~\Roman{compteurlistenommage}.} % argument d'étiquetage + {\usecounter{compteurlistenommage} % argument d'espacement + \setlength{\leftmargin}{3.5em}} % ...suite argument d'espacement + } + {\end{list}} + +\begin{nommage} + \item Apparaît comme « Article~I. » + \item[Étiquette spéciale.] Apparaît comme « Étiquette spéciale. » + \item Apparaît comme « Article~II. » +\end{nommage} +</screen> +<para>L’argument obligatoire <replaceable>étiquetage</replaceable>, qui est le premier argument de +l’environnement <literal>list</literal>, spécifie comment les articles doivent être +étiquetés par défaut. Il peut contenir du texte et des commandes +&latex;, comme dans l’exemple précédent où il contient à la fois +‘<literal>Article</literal>’ et ‘<literal>\Roman{…}</literal>’. &latex; forme l’étiquette +en mettant l’argument <replaceable>étiquetage</replaceable> dans une boîte de largeur +<literal>\labeidth</literal>. Si l’étiquette est plus large que cela, le matériel +supplémentaire s’étend sur la droite. Lorsque vous fabriquez une +instance de <literal>list</literal> vous pouvez l’emporter sur l’étiquetage par +défaut en donnant à <literal>\item</literal> un argument optionnel avec des crochets +et le texte, comme dans l’exemple précédent <literal>\item[Étiquette +spéciale.]</literal> ; see <link linkend="_005citem">\item</link>. +</para> +<para>Le second argument obligatoire <replaceable>espacement</replaceable> prend une liste de +commandes. L’une de celle qu’on y retrouve est +<literal>\usecounter{<replaceable>nomcompteur</replaceable>}</literal> (see <link linkend="_005cusecounter">\usecounter</link>). Utilisez +la pour dire à &latex; de numéroter les article en utilisant le +compteur fourni. Ce compteur est remis à zéro chaque fois que &latex; +entre dans l’environnement, et le compteiur est incrémenté par un chaque +fois que &latex; rencontre une commande <literal>\item</literal>. +</para> +<indexterm role="fn"><primary>\makelabel</primary></indexterm> +<para>Une autre commande qu’on retrouve dans <replaceable>espacement</replaceable> est +<literal>\makelabel</literal>, pour construire la boîte de l’étiquette. Par défaut +elle positionne le contenu fer à droite. Elle prend un argument, +l’étiquette. Elle compose sont contenu en mode LR. Un exemple de +changement de sa définition consiste dans l’exemple précédent +<literal>nommage</literal> à ajouter avant la définition de l’environnement +<literal>\newcommand{\namedmakelabel}[1]{\textsc{#1}}</literal>, et entre la +commande <literal>\setlength</literal> et la parenthèse cloturant l’argument +<replaceable>espacmeent</replaceable> à ajouter aussi <literal>\let\makelabel\namedmakelabel</literal>. +Ceci composera les étiquette en petites capitales. De même, en +remplaçant cette seconde ligne de code par <literal>\let\makelabel\fbox</literal> on +met les étiquettes dans une boîte encadrée. Ci-après voici un autre +exemple de la commande <literal>\makelabel</literal>, dans la définition de +l’énvironnement <literal>etiquetterouge</literal>. +</para> +<para>De même on trouve souvent au sein de <replaceable>espacement</replaceable> des commandes pour +redéfinir l’espacement de la liste. Ci dessous on listes les paramètres +d’espacement et leur valeurs par défaut. (Il se peut que les valeurs par +défaut pour les environnements dérivés tels que <literal>itemize</literal> soient +différentes des valeurs exposées ici). Voir aussi la figure qui suit la +liste. Chaque paramètre est une longueur (see <link linkend="Lengths">Lengths</link>). Les espaces +verticaux sont d’ordinaire des longueurs élastiques, avec une composante +en <literal>plus</literal> ou en <literal>minus</literal>, pour donner à &tex; de la +flexibilité dans le réglage de la page. On change chaque paramètre avec +une commande du genre de as <literal>\setlength{itemsep}{2pt plus1pt +minus1pt}</literal>. Pour obtenir certains effets, ces longueurs doivent être +mise à zéro, ou à une valeur négative. +</para> +<variablelist><varlistentry><term><indexterm role="fn"><primary>\itemindent</primary></indexterm><literal>\itemindent</literal> +</term><listitem><para>Espace supplémentaire horizontal de renfoncement, ajouté à de +<literal>leftmargin</literal>, de la première ligne de chaque article. Sa valeur par +défaut est <literal>0pt</literal>. +</para> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\itemsep</primary></indexterm><literal>\itemsep</literal> +</term><listitem><para>Espace vertical entre les articles, ajouté à <literal>\parsep</literal>. Les +valeurs par défaut pour les trois premiers niveaux dans les classes de +&latex; ‘<literal>article</literal>’, ‘<literal>book</literal>’, et ‘<literal>report</literal>’ à la taille de 10 +point sont : <literal>4pt plus2pt minus1pt</literal>, <literal>\parsep</literal> (c-à-d. +<literal>2pt plus1pt minus1pt</literal>), et <literal>\topsep</literal> (c-à-d. <literal>2pt +plus1pt minus1pt</literal>). Les valeurs par défaut à 11 points sont : +<literal>4.5pt plus2pt minus1pt</literal>, <literal>\parsep</literal> (c-à-d. <literal>2pt +plus1pt minus1pt</literal>), et <literal>\topsep</literal> (c-à-d. <literal>2pt plus1pt +minus1pt</literal>). Les valeurs par défaut à 12 points sont : <literal>5pt +plus2.5pt minus1pt</literal>, <literal>\parsep</literal> (c-à-d. <literal>2.5pt plus1pt +minus1pt</literal>), et <literal>\topsep</literal> (c-à-d. <literal>2.5pt plus1pt minus1pt</literal>). +</para> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\labelsep</primary></indexterm><literal>\labelsep</literal> +</term><listitem><para>Espace horizontal entre l’étiquette et le texte d’un article. La valeur +par défaut pour les classes &latex; ‘<literal>article</literal>’, ‘<literal>book</literal>’, et +‘<literal>report</literal>’ est de <literal>0.5em</literal>. </para> -<para>L’argument obligatoire <replaceable>espacement</replaceable> contient des commandes pour -changer les paramètres d’espacement pour la liste. Cet argument est le -plus souvent vide, c.-à-d. <literal>{}</literal>, ce qui laisse l’espacement -par défaut. +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\labelwidth</primary></indexterm><literal>\labelwidth</literal> +</term><listitem><para>Largueur horizontale. La boîte contenant l’étiquette est nominalement de +cette largeur. Si <literal>\makelabel</literal> renvoie un texte qui est plus larget +que cela, alors le renfoncement de la première ligne de l’article sera +augmenté pour créer l’espace nécessaire à ce matériel supplémentaire. +Si <literal>\makelabel</literal> renvoie un texte de largeur inférieur ou égale à +<literal>\labelwidth</literal> alors le comportement par défaut de &latex; est que +l’étiquette est composé fer à droite dans une boîte de cette largeur. +</para> +<para>Le bord de gauche de la boîte de l’étiquette est à +<literal>\leftmargin</literal>+<literal>\itemindent</literal>-<literal>\labelsep</literal>-<literal>\labelwidth</literal> +de la marge de gauche de l’environnement enveloppant. +</para> +<para>La valeur par défaut pour les classe &latex; ‘<literal>article</literal>’, +‘<literal>book</literal>’, et ‘<literal>report</literal>’ pour les liste de premier niveau vaut +<literal>\leftmargini</literal>-<literal>\labelsep</literal>, (c-à-d. <literal>2em</literal> en mode à une +colonne et <literal>1.5em</literal> en mode à deux colonnes). Au deuxième niveau, +c’est <literal>\leftmarginii</literal>-<literal>\labelsep</literal>, et au troisième niveau +<literal>\leftmarginiii</literal>-<literal>\labelsep</literal>. Ces définitions ont pour effet +que le bord de gauche de l’étiquette coïncide avec la marge dee gauche +de l’environnement enveloppant. +</para> +<para>r</para></listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\leftmargin</primary></indexterm><literal>\leftmargin</literal> +</term><listitem><para>Espace horizontal entre la marge de gauche de l’environnement envelopant +(ou la marge de gauche de la page pour une liste de premier niveau), et +la marge de gauche de cette liste. Doit être positif ou nul. +</para> +<para>Dans les classes de document &latex; standardes, ce paramètre est réglé +à la valeur <literal>\leftmargini</literal> pour une liste de premier niveau, alors +que pour une liste de deuxième niveau, c’est à dire imbriquée dans une +liste de premier niveau, il est réglé à <literal>\leftmarginii</literal>. Pour les +listes aux niveaux d’imbrication suivants les valeurs de +<literal>\leftmarginiii</literal> à <literal>\leftmarginvi</literal> sont utilisées. (Imbriquer +des liste au delà de cinq niveaux produit le message d’erreur ‘<literal>Too +deeply nested</literal>’). +</para> +<para>Les valeurs par défaut des trois premiers niveaux dans les classes +&latex; ‘<literal>article</literal>’, ‘<literal>book</literal>’, et ‘<literal>report</literal>’ sont les +suivantes : <literal>\leftmargini</literal> vaut <literal>2.5em</literal> (ou <literal>2em</literal> en mode +à deux colonnes), <literal>\leftmarginii</literal> vaut <literal>2.2em</literal>, et +<literal>\leftmarginiii</literal> vaut <literal>1.87em</literal>. +</para> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\listparindent</primary></indexterm><literal>\listparindent</literal> +</term><listitem><para>Espace horizontal de renfoncement supplémentaire, en plus de +<literal>\leftmargin</literal>, pour le deuxième paragraphes et les suivants au sein +d’un article de liste. A negative value makes this an “outdent”. Its +default value is <literal>0pt</literal>. +</para> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\parsep</primary></indexterm><literal>\parsep</literal> +</term><listitem><anchor id="list-parsep"/><para>Espace vertical entre les paragraphe d’un article. +Les valeurs par défaut pour les trois premierss niveaux dans les classes +&latex; ‘<literal>article</literal>’, ‘<literal>book</literal>’ et ‘<literal>report</literal>’ à la taille de 10 +point sont : <literal>4pt plus2pt minus1pt</literal>, <literal>2pt plus1pt minus1pt</literal>, +and <literal>0pt</literal>. La valeurs par défaut à la taille de 11 point sont : +<literal>4.5pt plus2pt minus1pt</literal>, <literal>2pt plus1pt minus1pt</literal>, et +<literal>0pt</literal>. La valeurs par défaut à la taille de 12 point sont : +<literal>5pt plus2.5pt minus1pt</literal>, <literal>2.5pt plus1pt minus1pt</literal>, and +<literal>0pt</literal>. +</para> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\partopsep</primary></indexterm><literal>\partopsep</literal> +</term><listitem><anchor id="list-partopsep"/><para>Espace vertical ajouté, en plus de +<literal>\topsep</literal>+<literal>\parskip</literal>, en haut et en bas de l’environnement +tout entier lorsque la liste considérée est précédée d’une ligne à +blanc. (Une ligne à blanc dans le source &latex; avant la liste change +l’espacement à la fois en haut et en bas de la liste ; que la ligne +suivant la liste soit à blanc est sans importance). +</para> +<para>Les valeurs par défaut pour les trois premiers niveaux dans les classes +&latex; ‘<literal>article</literal>’, ‘<literal>book</literal>’, anet ‘<literal>report</literal>’ à la taille de +point sont : <literal>2pt plus1 minus1pt</literal>, <literal>2pt plus1pt minus1pt</literal>, et +<literal>1pt plus0pt minus1pt</literal>. Les valeurs par défaut à la taille de 11 +point sont : <literal>3pt plus1pt minus1pt</literal>, <literal>3pt plus1pt minus1pt</literal>, +et <literal>1pt plus0pt minus1pt</literal>). Les valeurs par défaut à la taille de +12 point sont : <literal>3pt plus2pt minus3pt</literal>, <literal>3pt plus2pt +minus2pt</literal>, et <literal>1pt plus0pt minus1pt</literal>. +</para> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\rightmargin</primary></indexterm><literal>\rightmargin</literal> +</term><listitem><anchor id="list-rightmargin"/> +<para>Espace horizontal entre la marge de droite de la liste et la marge de +droite de l’environnement l’englobant. Horizontal space between the right margin of the list +and the right margin of the enclosing environment. Its default value is +<literal>0pt</literal>. It must be non-negative. </para> -<para>L’argument utilisé pour composer les articles de la liste est spécifiée -par <literal>\linewidth</literal> (voir <link linkend="Page-layout-parameters">Page layout parameters</link>). +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\topsep</primary></indexterm><literal>\topsep</literal> +</term><listitem><anchor id="list-topsep"/><para>Espace vertical ajouté aussi bien au haut qu’au bas +de la lise, en plus de <literal>\parskip</literal> (see <link linkend="_005cparindent-_0026-_005cparskip">\parindent & \parskip</link>). +Les valeurs par défaut pour les trois premiers niveaux dans les classes +&latex; ‘<literal>book</literal>’, anet ‘<literal>report</literal>’ à la taille de 10 point sont : +<literal>8pt plus2pt minus4pt</literal>, <literal>4pt plus2pt minus1pt</literal>, and <literal>2pt +plus1pt minus1pt</literal>. Les valeurs par défaut à la taille de 11 point +sont : <literal>9pt plus3pt minus5pt</literal>, <literal>4.5pt plus2pt minus1pt</literal>, and +<literal>2pt plus1pt minus1pt</literal>. Les valeurs par défaut à la taille de 12 +point sont : <literal>10pt plus4pt minus6pt</literal>, <literal>5pt plus2.5pt +minus1pt</literal>, and <literal>2.5pt plus1pt minus1pt</literal>. +</para> +</listitem></varlistentry></variablelist> +<para>La figure suivante illustre les distances horizontales et verticales. +</para> +<informalfigure><mediaobject><imageobject><imagedata fileref="latex2e-figures/list.eps" format="EPS"></imagedata></imageobject><imageobject><imagedata fileref="latex2e-figures/list.pdf" format="PDF"></imagedata></imageobject><imageobject><imagedata fileref="latex2e-figures/list.png" format="PNG"></imagedata></imageobject><textobject><literallayout>....................................................................... +..............Surrounding environment, preceding material.............. - + | v0 + |---h0--|-h1-| | + ..Label.. .....First item..................................... - + ............................................................ + ............................................................ - + | v1 + ........First item, second paragraph .................. - + |-h2-| | v2 + | + ..Label.. .....Second item.................................... - + ............................................................ + ............................................................ - +|-h3--|-h4-| |-h5-| |v3 + | +..............Surrounding environment, following material.............. - +.......................................................................</literallayout></textobject></mediaobject></informalfigure> + +<para>Les longueurs illustrées sont listées ci-dessous. La relation clef est +que le bord droit du crochet pour <replaceable>h1</replaceable> est à la même position +horizontale que le bord droit du crochet pour <replaceable>h4</replaceable>, de sorte que le +bord de gauche de la boîte de l’étiquette est à +<replaceable>h3</replaceable>+<replaceable>h4</replaceable>-(<replaceable>h0</replaceable>+<replaceable>h1</replaceable>). +</para> +<variablelist><varlistentry><term><replaceable>v0</replaceable> +</term><listitem><para>vaut <inlineequation><mathphrase><literal>\topsep</literal> + <literal>\parskip</literal></mathphrase></inlineequation> si l’environnement +<literal>list</literal> ne commence pas un nouveau paragraphe, et +<literal>\topsep</literal>+<literal>\parskip</literal>+<literal>\partopsep</literal> sinon +</para> +</listitem></varlistentry><varlistentry><term><replaceable>v1</replaceable> +</term><listitem><para><literal>\parsep</literal> +</para> +</listitem></varlistentry><varlistentry><term><replaceable>v2</replaceable> +</term><listitem><para><literal>\itemsep</literal>+<literal>\parsep</literal> +</para> +</listitem></varlistentry><varlistentry><term><replaceable>v3</replaceable> +</term><listitem><para>Même valeur que <replaceable>v0</replaceable>. (Cet espace est affecté selon qu’une ligne à +blanc apparaît dans le source au dessus de l’environnemnt ; la présence +d’une ligne à blanc au dessous de l’environnement est sans effet.) +</para> +</listitem></varlistentry><varlistentry><term><replaceable>h0</replaceable> +</term><listitem><para><literal>\labelwidth</literal> +</para> +</listitem></varlistentry><varlistentry><term><replaceable>h1</replaceable> +</term><listitem><para><literal>\labelsep</literal> +</para> +</listitem></varlistentry><varlistentry><term><replaceable>h2</replaceable> +</term><listitem><para><literal>\listparindent</literal> +</para> +</listitem></varlistentry><varlistentry><term><replaceable>h3</replaceable> +</term><listitem><para><literal>\leftmargin</literal> +</para> +</listitem></varlistentry><varlistentry><term><replaceable>h4</replaceable> +</term><listitem><para><literal>\itemindent</literal> +</para> +</listitem></varlistentry><varlistentry><term><replaceable>h5</replaceable> +</term><listitem><para><literal>\rightmargin</literal> +</para> +</listitem></varlistentry></variablelist> +<para>The list’s left and right margins, shown above as <replaceable>h3</replaceable> and <replaceable>h5</replaceable>, +are with respect to the ones provided by the surrounding environment, or +with respect to the page margins for a top-level list. The line width +used for typesetting the list items is <literal>\linewidth</literal> (see <link linkend="Page-layout-parameters">Page +layout parameters</link>). For instance, set the list’s left margin to be one +quarter of the distance between the left and right margins of the +enclosing environment with +<literal>\setlength{\leftmargin}{0.25\linewidth}</literal>. +</para> +<para>Page breaking in a list structure is controlled by the three +parameters below. For each, the &latex; default is +<literal>-\@lowpenalty</literal>, that is, <literal>-51</literal>. Because it is negative, +it somewhat encourages a page break at each spot. Change it with, +e.g., <literal>\@beginparpenalty=9999</literal>; a value of 10000 prohibits a +page break. +</para> +<variablelist><varlistentry><term><indexterm role="fn"><primary>\@beginparpenalty</primary></indexterm><literal>\@beginparpenalty</literal> +</term><listitem><para>The page breaking penalty for breaking before the list (default <literal>-51</literal>). +</para> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\@itempenalty</primary></indexterm><literal>\@itempenalty</literal> +</term><listitem><para>The page breaking penalty for breaking before a list item (default <literal>-51</literal>). +</para> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\@endparpenalty</primary></indexterm><literal>\@endparpenalty</literal> +</term><listitem><para>The page breaking penalty for breaking after a list (default <literal>-51</literal>). </para> +</listitem></varlistentry></variablelist> +<indexterm role="fn"><primary>paquetage <literal>enumitem</literal></primary></indexterm> +<indexterm role="fn"><primary><literal>enumitem</literal>, paquetage</primary></indexterm> + +<para>Le paquetage <literal>enumitem</literal> est utile pour personaliser les +listes. +</para> +<para>Dans l’exemple suivant les étiquettes sont en rouge. Elles sont +numérotées, et le bord gauche des étiquettes est aligné avalt le bord +gauche du texte des articles. See <link linkend="_005cusecounter">\usecounter</link>. +</para> +<screen>\usepackage{color} +\newcounter{cnt} +\newcommand{\makeredlabel}[1]{\textcolor{red}{#1.}} +\newenvironment{redlabel} + {\begin{list} + {\arabic{cnt}} + {\usecounter{cnt} + \setlength{\labelwidth}{0em} + \setlength{\labelsep}{0.5em} + \setlength{\leftmargin}{1.5em} + \setlength{\itemindent}{0.5em} % equals \labelwidth+\labelsep + \let\makelabel=\makeredlabel + } + } +{\end{list} } +</screen> -<anchor id="_005citem"/> +<sect2 label="8.16.1" id="_005citem"> +<title><literal>\item</literal>: Une entrée dans une liste</title> <para>Synopsis : </para> @@ -3532,7 +4762,7 @@ de crochets (<literal>[</literal> et <literal>]</literal>), pour utiliser des c sein de l’argument optionnel vous devez les cacher entre accolades, comme dans <literal>\item[Crochet fermant, {]}]</literal>. De même, pour utiliser un crochet ouvrant comme premier caractère du texte d’un article, cachez le -aussi au sein d’accolade. Voir <link linkend="LaTeX-command-syntax">&latex; command syntax</link>. +aussi au sein d’accolade. See <link linkend="LaTeX-command-syntax">&latex; command syntax</link>. </para> <para>Dans cet exemple la liste <literal>enumerate</literal> a deux articles qui utilise l’étiquette par défaut et une qui utilise l’étiquette optionnelle. @@ -3548,11 +4778,55 @@ l’étiquette par défaut et une qui utilise l’étiquette optionnelle ‘<literal>2.</literal>’ (notez que, à cause de l’étiquette optionnelle dans le second article, le troisième article ne reçoit pas l’étiquette ‘<literal>3.</literal>’). </para> +</sect2> +<sect2 label="8.16.2" id="trivlist"> +<title><literal>trivlist</literal>: Une forme restreinte de <literal>list</literal></title> + +<para>Synopsis : +</para> +<screen>\begin{trivlist} + ... +\end{trivlist} +</screen> +<para>Une version restreinte de l’environnement <literal>list</literal> dans laquelle les +marges sont sans renfoncement et <literal>\item</literal> sans l’argument optionnel +ne produit pas de texte. Elle est utilisée le plus souvent au sein de +macros, de sorte à définir un environnement où la commande <literal>\item</literal> +fait partie de la définition de l’environnement. Par exemple, +l’environnement <literal>center</literal> est défini pour l’essentiel comme ceci : +</para> +<screen>\newenvironment{center} + {\begin{trivlist}\centering\item\relax} + {\end{trivlist}} +</screen> +<para>Utiliser <literal>trivlist</literal> de la sorte permet à la macro d’hériter du code +mutualisé : combiner l’espace vertical provenant de deux environnement +adjacent ; détecter si le texte suivant l’environement doit être +considéré comme un nouveau paragraphe ou la suite du paragraphe +précédent ; ajuster les marges de gauche et de droit pour d’éventuels +environnements de liste imbriqués. +</para> +<para>En particulier, <literal>trivlist</literal> utilise les valeurs courantes des +paramètres de liste (see <link linkend="list">list</link>), à ceci près que <literal>\parsep</literal> est +réglé à la valeur de <literal>\parskip</literal>, et que <literal>\leftmargin</literal>, +<literal>\labelwidth</literal>, et <literal>\itemindent</literal> sont réglés à zéro. +</para> +<para>Cet exemple produit les articles comme deux paragraphes, à ceci près que +(par défaut) ils n’ont pas de renfoncement de paragraphe et sont séparés +verticalement. +</para> +<screen>\begin{trivlist} +\item C'est un fameux trois-mâts, fin comme un oiseau +\item Hisse et ho, Santiano. +\end{trivlist} +</screen> +</sect2> </sect1> <sect1 label="8.17" id="math"> <title><literal>math</literal></title> <indexterm role="fn"><primary>environnement <literal>math</literal></primary></indexterm> <indexterm role="fn"><primary><literal>math</literal>, environnement</primary></indexterm> + <indexterm role="cp"><primary>formules en ligne</primary></indexterm> <para>Synopsis : @@ -3561,69 +4835,228 @@ article, le troisième article ne reçoit pas l’étiquette ‘<literal <replaceable>maths</replaceable> \end{math} </screen> +<indexterm role="fn"><primary>$ en ligne, math</primary></indexterm> +<indexterm role="fn"><primary>\(...\) en ligne, math</primary></indexterm> <para>L’environnement <literal>math</literal> insert les <replaceable>maths</replaceable> donnés au sein du texte en cours. <literal>\(...\))</literal> et <literal>$...$</literal> sont des synonymes. -Voir <link linkend="Math-formulas">Math formulas</link>. +See <link linkend="Math-formulas">Math formulas</link>. </para> </sect1> <sect1 label="8.18" id="minipage"> <title><literal>minipage</literal></title> <indexterm role="fn"><primary>environnement <literal>minipage</literal></primary></indexterm> <indexterm role="fn"><primary><literal>minipage</literal>, environnement</primary></indexterm> + <indexterm role="cp"><primary>minipage, créer une</primary></indexterm> +<para>Synopsis : +</para> +<screen>\begin{minipage}{<replaceable>largeur</replaceable>} + <replaceable>matière</replaceable> +\end{minipage} +</screen> +<para>ou +</para> <screen>\begin{minipage}[<replaceable>position</replaceable>][<replaceable>hauteur</replaceable>][<replaceable>pos-interne</replaceable>]{<replaceable>largeur</replaceable>} -<replaceable>texte</replaceable> +<replaceable>matière</replaceable> \end{minipage} </screen> -<para>L’environnement <literal>minipage</literal> compose son corps <replaceable>texte</replaceable> dans un -bloc qui ne peut pas être coupé sur plusieurs pages. C’est similaire à -la commande <literal>\parbox</literal> (voir <link linkend="_005cparbox">\parbox</link>), mais contrairement à -<literal>\parbox</literal>, d’autres environnements de production de paragraphe -peuvent être utilisés au sein d’une minipage. +<para>Place <replaceable>matière</replaceable> dans une boîte qui est <replaceable>largeur</replaceable> de large. C’est +comme une version réduite d’une page ; elle peut contenir ses propres +notes en bas de page, listes à puces, etc. (Il y a quelques +restrictions, notamment qu’elle ne peut pas avoir de flottants). Cette +boîte ne peut pas être coupé sur plusieurs pages. Ainsi <literal>minipage</literal> +est similaire à la commande <literal>\parbox</literal> (see <link linkend="_005cparbox">\parbox</link>), mais +contrairement à <literal>\parbox</literal>, d’autres environnements de production de +paragraphe peuvent être utilisés au sein d’une minipage. This example +will be 3 inches wide, and has two paragraphs. +</para> +<screen>\begin{minipage}{3in} + Stephen Kleene fut un fondateur de la théorie de la récursivité. + + Il fut l'élève de Church, l'auteur de trois textes qui firent autorité, + et le président de l'Association for Symbolic Logic, et il fut + récompensé par la National Medal of Science. + \end{minipage} +</screen> +<para>Voir plus bas pour une discussion sur le renfoncement de paragraphe au +sein d’une <literal>minipage</literal>. +</para> +<para>L’argument obligatoire <replaceable>largeur</replaceable> est une longueur rigide (see <link linkend="Lengths">Lengths</link>). +Il donne la largeur de la boîte dans laquelle <replaceable>matière</replaceable> est composée. </para> -<!-- (xxref positions) --> -<para>Les arguments sont les mêmes que pour <literal>\parbox</literal> (voir <link linkend="_005cparbox">\parbox</link>). +<para>Il y a trois arguments optionnels, <replaceable>position</replaceable>, <replaceable>hauteur</replaceable>, et +<replaceable>pos-interne</replaceable>. Il n’est pas nécessaire de fournir les trois à la +fois. Par exemple, obtenez les valeur par défaut pour <replaceable>position</replaceable> et +réglez <replaceable>hauteur</replaceable> avec <literal>\begin{minipage}[c][2.54cm] +<replaceable>matière</replaceable> \end{minipage}</literal>. (Obtenez la hauteur naturelle avec un +argument vide, <literal>[]</literal>). +</para> +<para>L’argument optionnel <replaceable>position</replaceable> gouverne la façon dont la +<literal>minipage</literal> s’aligne verticalement avec la matière l’entourant. +</para> +<variablelist><varlistentry><term><literal>c</literal> +</term><listitem><!-- xx Clarify what it means when adjacent text lines do not have aligned --> +<!-- vertical center with each other --> +<para>(Synonyme <literal>m</literal>) Valeur par défaut. Positionne la <literal>minipage</literal> de +sorte que son centre vertical soit aligné avec le centre des lignes de +texte adjacentes. +</para> +</listitem></varlistentry><varlistentry><term><literal>t</literal> +</term><listitem><indexterm role="fn"><primary>\vtop &tex; de base</primary></indexterm> +<para>Aligne la ligne du haut de la <literal>minipage</literal> sur la ligne de base du +texte l’entourant (comme <literal>\vtop</literal> en &tex; de base). +</para> +</listitem></varlistentry><varlistentry><term><literal>b</literal> +</term><listitem><indexterm role="fn"><primary>\vbox &tex; de base</primary></indexterm> +<para>Aligne la ligne du bas de <literal>minipage</literal> avec la ligne de base du texte +l’entourant (comme <literal>\vbox</literal> en &tex; de base). +</para></listitem></varlistentry></variablelist> +<para>Pour voir l’effet de ces options, comparez le résultat de la compilation de +</para> +<screen>---\begin{minipage}[c]{0.25in} + first\\ second\\ third +\end{minipage} +</screen> +<para>avec ce qui se passe en remplaçant <literal>c</literal> par <literal>b</literal> ou <literal>t</literal>. +</para> +<para>L’argument optionnel <replaceable>hauteur</replaceable> est une longueur rigide +(see <link linkend="Lengths">Lengths</link>). Il règle la hauteur de la <literal>minipage</literal>. Vous +pouvez donner n’importe quelle valeur supérieure, égale ou inférieure à +la hauteur naturelle de la <literal>minipage</literal> sans que &latex; ne produise +une erreur ou un avertissement. Vous pouvez aussi la régler à une +hauteur de valeur nulle ou négative. +</para> +<para>L’argument optionnel final <replaceable>pos-interne</replaceable> contrôle la disposition de +<replaceable>matière</replaceable> au sein de la boîte. Voici les valeurs possibles (la +valeur par défaut est la valeur de l’argument <replaceable>position</replaceable>). +</para> +<variablelist><varlistentry><term><literal>t</literal> +</term><listitem><para>Place <replaceable>matière</replaceable> en haut de la boîte. +</para> +</listitem></varlistentry><varlistentry><term><literal>c</literal> +</term><listitem><para>Centre <replaceable>matière</replaceable> verticalement. +</para> +</listitem></varlistentry><varlistentry><term><literal>b</literal> +</term><listitem><para>Place <replaceable>matière</replaceable> en bas de la boîte. </para> -<indexterm role="cp"><primary>Renfoncement des paragraphes, au sein d’une minipage</primary></indexterm> +</listitem></varlistentry><varlistentry><term><literal>s</literal> +</term><listitem><para>Dilate <replaceable>matière</replaceable> verticalement ; elle doit contenir de l’espace +dilatable verticalement. +</para> +</listitem></varlistentry></variablelist> +<para>L’argument <replaceable>pos-interne</replaceable> a un sens quand l’option <replaceable>hauteur</replaceable> est +réglée à une valeur supérieure à la hauteur naturelle de la +<literal>minipage</literal>. Pour voir l’effet des options, exécutez l’exemple +suivant avec les différents choix possibles au lieu de <literal>b</literal>. +</para> +<screen>Texte avant +\begin{center} + ---\begin{minipage}[c][8cm][b]{0.25\textwidth} + premier\\ deuxième\\ troisième + \end{minipage} +\end{center} +Texte après +</screen> +<indexterm role="cp"><primary>renfoncement des paragraphes, au sein d’une minipage</primary></indexterm> +<indexterm role="cp"><primary>paragraphes, renfoncement au sein d’une minipage</primary></indexterm> <indexterm role="fn"><primary>\parindent</primary></indexterm> <para>Par défaut, les paragraphes ne sont pas renfoncés au sein d’un -environnement <literal>minipage</literal>. Vous pouvez restaurer le renfoncement avec -une commande telle que <literal>\setlength{\parindent}{1pc}</literal>. +environnement <literal>minipage</literal>. Vous pouvez restaurer le renfoncement +avec une commande telle que <literal>\setlength{\parindent}{1pc}</literal> placé +au début de <replaceable>matière</replaceable>. </para> <indexterm role="cp"><primary>notes en bas de page au sein des figures</primary></indexterm> <indexterm role="cp"><primary>figures, notes en bas de page au sein des</primary></indexterm> <para>Les notes en bas de page au sein d’un environnement <literal>minipage</literal> sont -gérées d’une façon qui est particulièrement utiles pour mettre des notes +gérées d’une façon qui est particulièrement utile pour mettre des notes en bas de page dans des figures ou des tableaux. Une commande -<literal>\footnote</literal> <literal>\footnotetext</literal> met la note en bas de page au bas +<literal>\footnote</literal> ou <literal>\footnotetext</literal> met la note en bas de page au bas de la minipage au lieu de la mettre au bas de la page, et elle utilise le compteur <literal>\mpfootnote</literal> au lieu du compteur ordinaire -<literal>footnote</literal> (voir <link linkend="Counters">Counters</link>). +<literal>footnote</literal> (see <link linkend="Counters">Counters</link>). +</para> +<para>L’exemple ci-dessous place la note argument de <literal>\footnote</literal> en bas +de la table, et non en bas de la page. +</para> +<screen>\begin{center} % centre la minipage sur la ligne +\begin{minipage}{6.5cm} + \begin{center} % centre la table au sein de la minipage + \begin{tabular}{ll} + \textsc{Monarque} &\textsc{Reigne} \\ \hline + Elizabeth II &63 ans\footnote{à ce jour} \\ + Victoria &63 ans \\ + George III &59 ans + \end{tabular} + \end{center} +\end{minipage} +\end{center} +</screen> +<para>Si vous imbriquez des minipages, alors il y a une bizarrerie dans +l’utilisation des note <literal>\footnote</literal>. Les notes apparaissement au bas +du texte terminé par la prochaine <literal>\end{minipage}</literal> ce qui n’est +peut-être pas leur place logique. </para> -<para>Cependant, ne mettez pas une minipage à l’intérieur d’une autre si vous -utilisez les note en bas de page ; elles pourraient terminer en bas de -la mauvaise minipage. +<para>L’exemple suivant place un tableau de données côte à côte d’un +graphique. Ils sont verticalement centrés. </para> +<indexterm role="fn"><primary>paquetage <literal>siunitx</literal></primary></indexterm> +<indexterm role="fn"><primary><literal>siunitx</literal>, paquetage</primary></indexterm> + +<screen>% siunitx permet d'avoir le type de colonne S dans les tableaux, pour l'alignement +% et le séparateur décimal +\usepackage[output-decimal-marker={,}]{siunitx} +\newcommand*{\vcenteredhbox}[1]{\begin{tabular}{@{}c@{}}#1\end{tabular}} + ... +\begin{center} + \vcenteredhbox{\includegraphics[width=0.3\textwidth]{nyc.png}} + \hspace{0.1\textwidth} + \begin{minipage}{0.5\textwidth} + \begin{tabular}{r|S} + \multicolumn{1}{r}{Quartier} &Pop. (million) \\ \hline + The Bronx &1.5 \\ + Brooklyn &2.6 \\ + Manhattan &1.6 \\ + Queens &2.3 \\ + Staten Island &0.5 + \end{tabular} + \end{minipage} +\end{center} +</screen> </sect1> <sect1 label="8.19" id="picture"> <title><literal>picture</literal></title> <indexterm role="fn"><primary>environnement <literal>picture</literal></primary></indexterm> <indexterm role="fn"><primary><literal>picture</literal>, environnement</primary></indexterm> + <indexterm role="cp"><primary>créer des images</primary></indexterm> <indexterm role="cp"><primary>images, créer</primary></indexterm> +<para>Synopsis : +</para> +<screen>\begin{picture}(<replaceable>largeur</replaceable>,<replaceable>hauteur</replaceable>) +… <replaceable>commandes picture</replaceable> … +\end{picture} +</screen> +<para>ou +</para> <screen>\begin{picture}(<replaceable>largeur</replaceable>,<replaceable>hauteur</replaceable>)(<replaceable>décalagex</replaceable>,<replaceable>décalagey</replaceable>) … <replaceable>commandes picture</replaceable> … \end{picture} </screen> <indexterm role="fn"><primary>\unitlength</primary></indexterm> -<para>L’environnement <literal>picture</literal> vous permet de créer toute sorte de -dessin dans lequel vous voulez du texte, des lignes, des flèches et des -cercles. Vous dîtes à &latex; où mettre les chose dans le dessin en -spécifiant leur coordonnées. Une coordonnée est un nombre qui peut avoir -une séparateur décimal (point et non virgule) et un signe moins — un +<para>L’environnement <literal>picture</literal> vous permet de créer des dessins simples +contenant des lignes, des flèches, des boîtes, des cercles, et du texte. +Cet environnement n’est pas obsolète, mais les nouveaux documents +utilisent typiquelent des systèmes de création de graphiques bien plus +puissants tels que TikZ, PStricks, MetaPost, ou Asymptote. Ceux-ci ne +sont pas couverts dans ce documents ; voir le CTAN. +</para> +<!-- xxx Revoir la trad. --> +<para>Vous dîtes à &latex; où mettre les chose dans le dessin en spécifiant +leur coordonnées. Une coordonnée est un nombre qui peut avoir une +séparateur décimal (point et non virgule) et un signe moins — un nombre comme <literal>5</literal>, <literal>0.3</literal> ou <literal>-3.1416</literal>. Une coordonnées spécifie une longueur en multiples de l’unité de longueur <literal>\unitlength</literal>, ainsi si <literal>\unitlength</literal> a été réglée à @@ -3636,6 +5069,7 @@ commande <literal>\setlength</literal>, en dehors d’un environnement </para> <indexterm role="fn"><primary>paquetage <literal>picture</literal></primary></indexterm> <indexterm role="fn"><primary><literal>picture</literal>, paquetage</primary></indexterm> + <para>Le paquetage <literal>picture</literal> redéfinit l’environnement <literal>picture</literal> de sorte qu’où que soit utilisé un nombre au sein de <replaceable>commandes picture</replaceable> pour spécifier une coordonnée, on puisse alternativement utiliser une @@ -3692,7 +5126,7 @@ référence des divers objets sont décrits plus bas. </para> <indexterm role="fn"><primary>lR box</primary></indexterm> <para>La commande <literal>\put</literal> crée une <firstterm>LR box</firstterm>. Vous pouvez mettre tout -ce qui peut aller dans une <literal>\mbox</literal> (voir <link linkend="_005cmbox">\mbox</link>) dans l’argument +ce qui peut aller dans une <literal>\mbox</literal> (see <link linkend="_005cmbox">\mbox</link>) dans l’argument texte de la commande <literal>\put</literal>. Quand vous faites cela, le point de référence devient le coin inférieur gauche de la boîte . </para> @@ -3745,7 +5179,7 @@ spécificateurs parmi les suivants : </term><listitem><para>Place l’article sur la droite. </para> </listitem></varlistentry></variablelist> -<para>Voir <link linkend="_005cmakebox">\makebox</link>. +<para>See <link linkend="_005cmakebox">\makebox</link>. </para> </sect2> @@ -3810,18 +5244,70 @@ cadre. Aucun espace supplémentaire n’est mis entre le cadre et l’ob <para>Synopsis : </para> -<screen>\line(<replaceable>xpente</replaceable>,<replaceable>ypente</replaceable>){<replaceable>longueur</replaceable>} -</screen> -<para>La commande <literal>\line</literal> dessine un ligne avec la <replaceable>longueur</replaceable> donnée -et la pente <replaceable>xpente</replaceable>/<replaceable>ypente</replaceable>. -</para> -<para>De base &latex; peut seulement dessiner des ligne dont la -<inlineequation><mathphrase><replaceable>pente</replaceable> = x/y</mathphrase></inlineequation>, où <inlineequation><mathphrase>x</mathphrase></inlineequation> et <inlineequation><mathphrase>y</mathphrase></inlineequation> prennent des valeurs -entières de −6 jusqu’à 6. Pour des ligne de pente -quelconque, sans parler d’autres formes, voir le paquetage -<literal>curve2e</literal> et bien d’autres sur le CTAN. +<screen>\line(<replaceable>xpente</replaceable>,<replaceable>ypente</replaceable>){<replaceable>excursion</replaceable>} +</screen> +<para>Dessine une ligne. Sa pente est telle que la ligne monte de <replaceable>ypente</replaceable> +verticalement pour toute avancée horizontale de +<replaceable>xpente</replaceable>. L’<replaceable>excursion</replaceable> est le déplacement horizontal total — +ce n’est pas la longueur du vecteur, mais la variation en <inlineequation><mathphrase>x</mathphrase></inlineequation>. Da,s +me cas spécial des ligne vertical, où (<replaceable>xpente</replaceable>,<replaceable>ypente</replaceable>)=(0,1), +l’<replaceable>excursion</replaceable> donne le déplacement en <inlineequation><mathphrase>y</mathphrase></inlineequation>. +</para> +<para>L’exemple suivant dessine une ligne commençant aux coordonnées (1,3). +</para> +<screen>\put(1,3){\line(2,5){4}} +</screen> +<para>Pour toute avancée de 2 vers la droite, cette ligne monte de 5. Parce +que <replaceable>excursion</replaceable> spécifie qu’elle avance de 4, elle monte en tout +de 10. De sorte que son extrémité finale est +<inlineequation><mathphrase>(1,3)+(4,10)=(5,13)</mathphrase></inlineequation>. En particulier, notez que +<inlineequation><mathphrase><replaceable>excursion</replaceable>=4</mathphrase></inlineequation> n’est pas la longueur de la ligne, mais c’est +son déplacement en <inlineequation><mathphrase>x</mathphrase></inlineequation>. +</para> +<para>Les arguments <replaceable>xpente</replaceable> et <replaceable>ypente</replaceable> sont des entiers qui peuvent +être positifs, negatifs, ou nuls zero (si les deux valent 0, alors +&latex; traite le second comme 1). Avec +<literal>\put(<replaceable>x_init</replaceable>,<replaceable>y_init</replaceable>){\line(<replaceable>xpente</replaceable>,<replaceable>ypente</replaceable>){<replaceable>travel</replaceable>}}</literal>, +si <replaceable>xpente</replaceable> est négatif alors l’extrémté finale d ela ligne a sa +première coordonnée inférieure à <replaceable>x_init</replaceable>. Si <replaceable>ypente</replaceable> est +negatif alors l’extrémité finale a sa seconde coordonnées inférieure à +<replaceable>y_init</replaceable>. +</para> +<para>Si <replaceable>excursion</replaceable> est négatif alors vous obtenez <literal>LaTeX Error: Bad \line or +\vector argument.</literal> +</para> +<indexterm role="cp"><primary><literal>pict2e</literal>, paquetage</primary></indexterm> +<indexterm role="cp"><primary>graphiques, paquetages</primary></indexterm> +<indexterm role="fn"><primary>paquetage <literal>pict2e</literal></primary></indexterm> +<indexterm role="fn"><primary><literal>pict2e</literal>, paquetage</primary></indexterm> + +<indexterm role="fn"><primary>paquetage <literal>TikZ</literal></primary></indexterm> +<indexterm role="fn"><primary><literal>TikZ</literal>, paquetage</primary></indexterm> + +<indexterm role="fn"><primary>paquetage <literal>PSTricks</literal></primary></indexterm> +<indexterm role="fn"><primary><literal>PSTricks</literal>, paquetage</primary></indexterm> + +<indexterm role="fn"><primary>paquetage <literal>MetaPost</literal></primary></indexterm> +<indexterm role="fn"><primary><literal>MetaPost</literal>, paquetage</primary></indexterm> + +<indexterm role="fn"><primary>paquetage <literal>Asymptote</literal></primary></indexterm> +<indexterm role="fn"><primary><literal>Asymptote</literal>, paquetage</primary></indexterm> + +<para>De base &latex; peut seulement dessiner des lignes avec une plage +limitées de pentes parce que ces lignes sont constituées par la +juxtaposition de petits segments de droite issus de polices +préfabriquées. Les deux nombres <replaceable>xpente</replaceable> et <replaceable>ypente</replaceable> prennent +des valeurs entières de −6 jusqu’à 6. De plus ils doivent être +premiers entre eux, de sorte que (<replaceable>xpente</replaceable>, <replaceable>ypente</replaceable>)=(2,1) est +licite, mais pas (<replaceable>xpente</replaceable>, <replaceable>ypente</replaceable>)=(4,2) (is vous choisissez +cette dernière forme alors au lieu de lignes vous obtiendrez des +séquences de têtes de flèches ; la solution est de revenir à la première +forme). Pour obtenir des lignes de pente arbitraire et plein d’autres +formes dans un système tel que <literal>picture</literal>, voir le paquetage +<filename>pict2e</filename> (<ulink url="https://ctan.org/pkg/pict2e">https://ctan.org/pkg/pict2e</ulink>). Une autre solution +est d’utiliser un système graphique complet tel que TikZ, PSTricks, +MetaPost, ou Asymptote. </para> - </sect2> <sect2 label="8.19.7" id="_005clinethickness"> <title><literal>\linethickness</literal></title> @@ -3829,10 +5315,11 @@ quelconque, sans parler d’autres formes, voir le paquetage <para>La commande <literal>\linethickness{<replaceable>dim</replaceable>}</literal> déclare que l’épaisseur des lignes horizontales et verticales dans un environnement <literal>picture</literal> -environnement vaut <replaceable>dim</replaceable>, qui doit être une longueur positive. +vaut <replaceable>dim</replaceable>, ce qui doit être une longueur positive. </para> -<para><literal>\linethickness</literal> n’affecte pas l’épaisseur des lignes obliques, -cercles, ou quarts de cercles dessinés par <literal>\oval</literal>. +<para>Elle diffère de <literal>\thinlines</literal> et <literal>\thicklines</literal> en ce qu’elle +n’affecte pas l’épaisseur des lignes obliques, cercles, ou quarts de +cercles dessinés par <literal>\oval</literal>. </para> </sect2> @@ -3949,16 +5436,18 @@ doivent être comprises entre −4 and +4 y compris. </sect2> </sect1> -<sect1 label="8.20" id="quotation-and-quote"> +<sect1 label="8.20" id="quotation-_0026-quote"> <title><literal>quotation</literal> et <literal>quote</literal></title> <indexterm role="fn"><primary>environnement <literal>quotation</literal></primary></indexterm> <indexterm role="fn"><primary><literal>quotation</literal>, environnement</primary></indexterm> + <indexterm role="cp"><primary>citation</primary></indexterm> <indexterm role="cp"><primary>texte cité avec renfoncement des paragraphes, affichage</primary></indexterm> <indexterm role="cp"><primary>afficher du texte cité avec renfoncement de paragraphe</primary></indexterm> <indexterm role="cp"><primary>renfoncement des paragraphes dans du texte cité</primary></indexterm> <indexterm role="fn"><primary>environnement <literal>quote</literal></primary></indexterm> <indexterm role="fn"><primary><literal>quote</literal>, environnement</primary></indexterm> + <indexterm role="cp"><primary>texte cité sans renfoncement des paragraphes, affichage</primary></indexterm> <indexterm role="cp"><primary>afficher un texte cité sans renfoncement de paragraphe</primary></indexterm> <indexterm role="cp"><primary>renfoncement des paragraphes dans un texte cité, omettre</primary></indexterm> @@ -3977,20 +5466,20 @@ doivent être comprises entre −4 and +4 y compris. </screen> <para>Cite du texte. </para> -<para>Dans les deux environnement, les marges sont renfoncées à la fois sur la +<para>Dans les deux environnements, les marges sont renfoncées à la fois sur la gauche et la droite. Le texte est justifié des deux côtés sur la marge. De même que dans le texte principal, laisser une ligne à blanc au sein du texte produit un nouveau paragraphe. </para> <para>Pour comparer les deux : dans l’environnement <literal>quotation</literal>, les paragraphes sont renfoncés de 1,5em et l’espace entre les -paragraphe est petit, <literal>0pt plus 1pt</literal>. Dans l’environnement -<literal>quote</literal>, les paragraphes ne sont pas renfoncés et il y a une espace -verticale entre les paragraphes (c’est la longueur elastique +paragraphes est petit, <literal>0pt plus 1pt</literal>. Dans l’environnement +<literal>quote</literal>, les paragraphes ne sont pas renfoncés et il y a un espace +vertical entre les paragraphes (c’est la longueur élastique <literal>\parsep</literal>). Ainsi, l’environnement <literal>quotation</literal> convient mieux -environm aux documents où les nouveaux paragraphes sont marqués par un +aux documents où les nouveaux paragraphes sont marqués par un renfoncement plutôt que par une séparation verticale. De plus, -<literal>quote</literal> convient meieux pour des citations courtes ou une suite de +<literal>quote</literal> convient mieux pour des citations courtes ou une suite de citations courtes. </para> <screen>\begin{quotation} @@ -4005,7 +5494,8 @@ citations courtes. <indexterm role="fn"><primary>environnement <literal>tabbing</literal></primary></indexterm> <indexterm role="fn"><primary><literal>tabbing</literal>, environnement</primary></indexterm> -<indexterm role="cp"><primary>taquets des tabulation, utiliser</primary></indexterm> + +<indexterm role="cp"><primary>taquets de tabulation, utiliser</primary></indexterm> <indexterm role="cp"><primary>aligner du texte en utilisant des taquets de tabulation</primary></indexterm> <indexterm role="cp"><primary>alignement au moyen de tabbing</primary></indexterm> @@ -4013,67 +5503,193 @@ citations courtes. </para> <screen>\begin{tabbing} <replaceable>row1col1</replaceable> \= <replaceable>row1col2</replaceable> \= <replaceable>row1col3</replaceable> \= <replaceable>row1col4</replaceable> \\ -<replaceable>row2col1</replaceable> \> \> <replaceable>row2col3</replaceable> \\ +<replaceable>row2col1</replaceable> \> \> <replaceable>row2col3</replaceable> \\ ... \end{tabbing} </screen> - - <para>L’environnement <literal>tabbing</literal> fournit une technique pour aligner du -texte en colonnes. Il fonctionne en réglant des taquet et en tabulant -jusqu’à eux bien comme on le ferait sur une machine à écrire. Il -convient le mieux pour les cas où la largeur de chaque colonnne est -constante et connue d’avance. +texte en colonnes. Il fonctionne en réglant des taquets et en tabulant +jusqu’à eux à la façon dont on le faisait avec une machine à écrire +ordinaire. Il convient le mieux pour les cas où la largeur de chaque +colonne est constante et connue d’avance. </para> <para>Cet environnement peut être rompu entre plusieurs pages, contrairement à l’environnement <literal>tabular</literal>. </para> -<para>Les commandes suivante peuvent être utilisée au sein d’un environnement <literal>tabbing</literal> : +<indexterm role="cp"><primary>ligne tabulée, tabbing</primary></indexterm> +<para>L’environnement <literal>tabbing</literal> contient une suite de <firstterm>lignes +tabulées</firstterm>, la première ligne tabulée commence immédiatement après +<literal>\begin{tabbing}</literal> et chaque ligne se termine par <literal>\\</literal> ou +<literal>\kill</literal>. Il est possible de terminer la dernière ligne juste par +<literal>\end{tabbing}</literal>, ce qui est équivalent à +<literal>\\\end{tabbing}</literal>. +</para> +<indexterm role="cp"><primary>motif courant de taquets de tabulation, tabbing</primary></indexterm> +<para>L’environnement <literal>tabbing</literal> a un <firstterm>motif courant de taquets de +tabulation</firstterm> qui est une séquence de <replaceable>n</replaceable> taquets, avec <inlineequation><mathphrase><replaceable>n</replaceable> > +0</mathphrase></inlineequation>, ce qui crée <replaceable>n</replaceable> colonnes correspondantes. Immédiatement après +<literal>\begin{tabbing}</literal> on a <inlineequation><mathphrase><replaceable>n</replaceable>=1</mathphrase></inlineequation>, c.-à-d. le motif +courant de taquets contient une seul taquet, désigné comme le taquet +N°0, et dont la position est le début de ligne, c.-à-d. que la +première colonne commence au début de la ligne. +</para> +<indexterm role="cp"><primary>taquet courant, tabbing</primary></indexterm> +<para>L’un des taquets du motif courant ayant été réglé comme le <firstterm>taquet +courant</firstterm>, par défaut tout texte composé par la suite au sein de +l’envionnement <literal>tabbing</literal> est composé en drapeau droit avec le fer à +gauche sur ce taquet, c’est à dire qu’il est aligné à gauche dans la +colonne courante. La composition est faite en mode LR. +</para> +<indexterm role="cp"><primary>taquet de début de ligne courant, tabbing</primary></indexterm> +<para>Par ailleurs l’environnement <literal>tabbing</literal> a un <firstterm>taquet de début de +ligne courant</firstterm>. Par défaut, immédiatement après <literal>\begin{tabbing}</literal> +c’est le taquet N°0, mais cela peut être changé avec les commandes +<literal>\+</literal> et <literal>\-</literal>. Au début de chaque ligne tabulée, le taquet +courant est initalement égal au taquet de début de ligne courant. +</para> +<para>La marge de droite de l’environnement <literal>tabbing</literal> est la fin de +ligne, c.-à-d. que la largeur de l’environnement est de longueur +<literal>\linewidth</literal>. Il n’y a pas par défaut de taquet correspondant à la +marge de droite, même s’il serait possible avec un peu de calcul d’en +définir un à cette position (voir exemples ci-après). +</para> +<para>En ce qui concerne la marge de gauche, ou autrement dit le taquet N°0, +contrairement à l’environnement <literal>tabular</literal>, il n’est pas nécessaire +de mettre un <literal>\noindent</literal> devant <literal>\begin{tabbing}</literal> pour +éviter un renfoncement : un environnement <literal>tabbing</literal> commence +toujours un nouveau paragraphe sans renfoncement. De plus il est inutile +d’étoiler une commande <literal>\hspace</literal> en début de ligne tabulée pour que +l’espace soit pris en compte. +</para> +<para>Les commandes suivantes peuvent être utilisées au sein d’un +environnement <literal>tabbing</literal> : </para> <variablelist><varlistentry><term><indexterm role="fn"><primary>\\ (tabbing)</primary></indexterm><literal>\\ (tabbing)</literal> -</term><listitem><para>Finit une ligne. +</term><listitem><para>Finit une ligne tabulée et la compose. Après cette commande une nouvelle +ligne tabulée commence, et donc le taquet courant redevient le taquet +courant de début de ligne. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\= (tabbing)</primary></indexterm><literal>\= (tabbing)</literal> -</term><listitem><para>Règle un taquet à la position courante. +</term><listitem><para>Règle un taquet à la position courante. La <replaceable>n</replaceable>ième commande +<literal>\=</literal> de la ligne tabulée courante définit le taquet N°<replaceable>n</replaceable>, ou +le redéfinit s’il avait été déjà défini dans une ligne tabulée +précédente. Lorsque le nombre de taquets dans le motif courant est +<inlineequation><mathphrase>(<replaceable>n</replaceable>+1)</mathphrase></inlineequation>, c’est à dire qu’on a des taquets N°0 à N°<replaceable>n</replaceable>, +alors la <inlineequation><mathphrase>(<replaceable>n</replaceable>+1)</mathphrase></inlineequation>ième commande <literal>\=</literal> définit le taquet +N°<inlineequation><mathphrase><replaceable>n</replaceable>+1</mathphrase></inlineequation>, ce qui porte le nombre de taquets à +<inlineequation><mathphrase><replaceable>n</replaceable>+2</mathphrase></inlineequation>. La position des taquets peut être définie avec plus de +liberté que ce qui se passait avec un machine à écrire ordinaire. En +effet il est possible de définir à la même position deux taquets de +numéros N°<replaceable>n</replaceable> et N°<replaceable>m</replaceable> distincts, voire de faire en sorte que +les taquets N°<replaceable>n</replaceable> et N°<replaceable>m</replaceable>, avec <inlineequation><mathphrase><replaceable>n</replaceable><<replaceable>m</replaceable></mathphrase></inlineequation>, soient +à des positions telles que le taquet N°<replaceable>m</replaceable> soit avant le taquet +N°<replaceable>n</replaceable>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\> (tabbing)</primary></indexterm><literal>\> (tabbing)</literal> </term><listitem><indexterm role="fn"><primary>\></primary></indexterm> -<para>Avance au taquet suivant. +<para>Change le taquet courant au taquet suivant dans l’ordre logique, +c.-à-d. si le taquet courant est le taquet N°<replaceable>n</replaceable>, alors, en +supposant qu’il y ait au moins <inlineequation><mathphrase><replaceable>n</replaceable>+2</mathphrase></inlineequation> taquets définis, on +passe au taquets N°<inlineequation><mathphrase><replaceable>n</replaceable>+1</mathphrase></inlineequation>, sinon cette commande provoque une +erreur. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\<</primary></indexterm><literal>\<</literal> -</term><listitem><para>Place le texte qui suit à la gauche de la marge locale (sans changer -cette marge). Ne peut être utilisé qu’au début d’une ligne. +</term><listitem><para>Change le taquet courant au taquet précédent dans l’ordre logique. Cette +commande ne peut être utilisée qu’au début d’une ligne tabulée, et que +lorsque le taquet de début de ligne courant est le taquet N°<replaceable>n</replaceable> avec +<inlineequation><mathphrase><replaceable>n</replaceable>>0</mathphrase></inlineequation>. Le taquet courant devient alors le taquet +N°<inlineequation><mathphrase><replaceable>n</replaceable>-1</mathphrase></inlineequation>. +</para> +<para>Il est en fait possible d’avoir <replaceable>m</replaceable> commandes <literal>\<</literal> consécutives +à condition que <inlineequation><mathphrase><replaceable>m</replaceable>≤<replaceable>n</replaceable></mathphrase></inlineequation>, le taquet courant devient +alors le taquet N°<inlineequation><mathphrase>(<replaceable>n</replaceable>-<replaceable>m</replaceable>)</mathphrase></inlineequation>. Si par contre +<inlineequation><mathphrase><replaceable>m</replaceable>><replaceable>n</replaceable></mathphrase></inlineequation>, alors la <inlineequation><mathphrase><replaceable>n</replaceable>+1</mathphrase></inlineequation> commande <literal>\<</literal> +provoque une erreur. +</para> +<para>Il est possible, même si c’est absurde, d’avoir ensuite des commandes +<literal>\></literal> qui défont ce qu’on fait les commandes <literal>\<</literal>. Ainsi en +supposant qu’au début d’une ligne tabulée le taquet de début de ligne +courant soit le taquet N°2, faire commencer la ligne par <literal>\<\<\>\></literal> +n’a aucun effet. Par contre, <literal>\<\<\<\>\>\></literal> provoquera une erreur, +parce que la troisième commande <literal>\<</literal> est illicite. Dans les mêmes +conditions faire <literal>\<\>\<\></literal> provoque également une erreur, car la +seconde commande <literal>\<</literal> n’est pas consécutive de la première, elle +n’est donc pas, au sens où on l’entend, utilisée en début de ligne. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\+</primary></indexterm><literal>\+</literal> -</term><listitem><para>Déplace la marge de gauche d’un taquet vers la droite pour la ligne -suivante et toutes celles qui suivent. +</term><listitem><para>Change le taquet de début de ligne courant au taquet suivant dans +l’ordre logique pour la ligne tabulée suivante, et toutes celles qui +suivent tant qu’une autre commande ne vient pas le modifier. La notion +de taquet suivant dans l’ordre logique suit le même principe que pour la +commande <literal>\></literal>, c’est à dire que s’il n’y a que <inlineequation><mathphrase><replaceable>n</replaceable>+1</mathphrase></inlineequation> +taquets défini, et que le taquet de début de ligne courant est le taquet +N°<replaceable>n</replaceable>, alors cette commande provoque une erreur. La commande +<literal>\+</literal> peut être invoquée n’importe où dans la ligne tabulée, et on +peut avoir plusieurs commandes <literal>\+</literal> au sein de la même ligne, du +moment que pour chacune d’elle un nombre suffisant de taquets est déjà +défini. Par exemple le code suivant provoque une erreur parce que bien +qu’à la fin de la première on ait trois taquets définis, au moment où la +commande <literal>\+</literal> est invoquée le nombre de taquets définis ne vaut que +1, on ne peut donc pas passer du taquet N°0 au taquet N°1 : +</para><screen>\begin{tabbing} +Vive \+\=la \=France\\ +Vive \>la\>République\\ +\end{tabbing} +</screen><para>En revanche le code suivant fonctionne, car lorsque la commande +<literal>\+</literal> est passée on a trois taquets définis, les taquets N°0 à 2, on +peut donc passer du taquet N°0 au taquet N°1. +</para><screen>\begin{tabbing} +Vive \=la \=France\+\\ +Vive \>la\>République\\ +\end{tabbing} +</screen><para>C’est pourquoi l’usage est que la ou les commandes <literal>\+</literal> sont +toujours invoquées juste avant la fin de ligne <literal>\\</literal> ou <literal>\kill</literal>. </para> +<para>Il est possible, même si cela est absurde, d’avoir sur la même ligne à +la fois des commandes <literal>\+</literal> et <literal>\-</literal> s’annulant l’une l’autre, +du moment qu’aucune d’elle ne fasse passer sur un taquet non défini. +</para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\-</primary></indexterm><literal>\-</literal> -</term><listitem><para>Déplace la marge de gauche d’un taquet vers la gauche pour la ligne -suivante et toutes celles qui suivent. +</term><listitem><para>Change le taquet de début de ligne courant au taquet précédent dans +l’ordre logique pour la ligne tabulée suivante, et toutes celles qui +suivent tant qu’une autre commande ne vient pas le modifier. C’est à +dire que si le taquet de début de ligne courant est le taquet N°<replaceable>n</replaceable>, +et qu’on a <replaceable>m</replaceable> commandes <literal>\-</literal> avec <inlineequation><mathphrase><replaceable>m</replaceable>≥<replaceable>n</replaceable></mathphrase></inlineequation>, +alors le taquet de début de ligne courant de la ligne suivante devient +le taquet N°<inlineequation><mathphrase><replaceable>n</replaceable>-<replaceable>m</replaceable></mathphrase></inlineequation>. Par contre, si +<inlineequation><mathphrase><replaceable>m</replaceable>><replaceable>n</replaceable></mathphrase></inlineequation>, alors la <inlineequation><mathphrase>(<replaceable>n</replaceable>+1)</mathphrase></inlineequation>ième commande +<literal>\+</literal> provoque une erreur. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\' (tabbing)</primary></indexterm><literal>\' (tabbing)</literal> </term><listitem><para>Déplace tout ce que vous avez tapé jusqu’alors dans la colonne courante, c.-à-d. tout ce qui suit la plus récente commande <literal>\></literal>, -<literal>\<</literal>, <literal>\'</literal>, <literal>\\</literal>, ou <literal>\kill</literal>, à la droite de la -colonne précédente, aligné à droite sur le taquet de la colonne -courante. +<literal>\<</literal>, <literal>\'</literal>, <literal>\\</literal>, ou <literal>\kill</literal>, aligné à droite dans +la colonne précédente, le fer à droite étant espacé du taquet courant +d’une longueur <literal>\tabbingsep</literal>. Voir aussi <literal>\`</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\` (tabbing)</primary></indexterm><literal>\` (tabbing)</literal> -</term><listitem><para>Vous perme de placer du texte justifié à droite sur n’importe quel -taquet, y compris le taquet 0. Toutefois, ne peut pas placer du texte à -la droite de la dernière colonne parce qu’il n’y a pas de taquet à cet -endroit. La commande <literal>\`</literal> déplace tout le texte qui la suit, -jusqu’à la commande <literal>\\</literal> ou <literal>\end{tabbing}</literal> qui termine la -ligne. -</para> +</term><listitem><para>Vous permet de placer du texte justifié à droite en face de n’importe +quel taquet, y compris le taquet 0. Les commandes <literal>\`</literal> et <literal>\'</literal> +alignent toutes deux le texte à droite, toutefois elles se distinguent +fortement par deux aspects : +</para><itemizedlist><listitem><para>Tout d’abord le texte qui est déplacé est, dans le cas de <literal>\`</literal>, le +texte qui suit la commande <literal>\`</literal> et qui va jusqu’à la fin de la +ligne tabulée, c.-à-d. jusqu’à <literal>\\</literal> ou <literal>\end{tabbing}</literal>. +Il ne doit y avoir aucune commande <literal>\></literal> ou <literal>\'</literal> entre le +<literal>\`</literal> et la commande <literal>\\</literal> ou <literal>\end{tabbing}</literal> qui termine +la ligne. Dans le cas de la commande <literal>\'</literal> au contraire, c’est le +texte qui précède la commande <literal>\'</literal>. +</para></listitem><listitem><para>Par ailleurs, avec <literal>\'</literal> l’alignement se fait sur un taquet et avec +un espacement relatif de <literal>\tabbingspace</literal>, alors qu’avec <literal>\`</literal> +l’alignement se fait sur la marge de droite et sans espacement relatif. +</para></listitem></itemizedlist> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\a (tabbing)</primary></indexterm><literal>\a (tabbing)</literal> -</term><listitem><indexterm role="fn"><primary>\a' (acute accent in tabbing)</primary></indexterm> -<indexterm role="fn"><primary>\a` (grave accent in tabbing)</primary></indexterm> -<indexterm role="fn"><primary>\a= (macron accent in tabbing)</primary></indexterm> +</term><listitem><indexterm role="fn"><primary>\a' (aigu, accent dans tabbing)</primary></indexterm> +<indexterm role="fn"><primary>\a` (grave, accent dans tabbing)</primary></indexterm> +<indexterm role="fn"><primary>\a= (macron, accent dans tabbing)</primary></indexterm> <para>Dans un environnement <literal>tabbing</literal>, les commandes <literal>\=</literal>, <literal>\'</literal> et <literal>\`</literal> ne produisent pas d’accents comme d’habitude -(voir <link linkend="Accents">Accents</link>). À leur place, on utilise les commandes <literal>\a=</literal>, +(see <link linkend="Accents">Accents</link>). À leur place, on utilise les commandes <literal>\a=</literal>, <literal>\a'</literal> et <literal>\a`</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\kill</primary></indexterm><literal>\kill</literal> @@ -4088,44 +5704,131 @@ produire une sortie. L’effet de toute commande <literal>\=</literal>, <lit <literal>\pushtabs</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\pushtabs</primary></indexterm><literal>\pushtabs</literal> -</term><listitem><para>Sauvegarde positions courantes de tous les taquets. C’est utile pour -changer temporairement les positions de taquets au milieu d’un -environnement <literal>tabbing</literal>. -</para> +</term><listitem><para>Sauvegarde dans une pile dédiée à cet effet le motif courant de taquets +de tabulation. C’est utile pour changer temporairement les positions de +taquets au milieu d’un environnement <literal>tabbing</literal>. Après un +<literal>\pushtabs</literal>, on a un nouveau motif vierge, c.-à-d. ne contenant +qu’un seul taquet, le taquet N°0 à la position de début de ligne. Pour +toute commande <literal>\pushtabs</literal> il doit y avoir une commande +<literal>\poptabs</literal> avant la fin de l’environnement, c’est à dire que la +pile doit être explicitement vidée avant le <literal>end{tabbing}</literal>. +</para> + </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\tabbingsep</primary></indexterm><literal>\tabbingsep</literal> -</term><listitem><para>Distance à la gauche d’un taquet déplacé par <literal>\'</literal>. +</term><listitem><para>Distance du texte déplacé par <literal>\'</literal> à la gauche du taquet courant. </para> </listitem></varlistentry></variablelist> -<para>Cet exemple compose un fonction en Pascal function dans un format -traditionnel : -</para> -<screen>\begin{tabbing} -function \= fact(n : integer) : integer;\\ - \> begin \= \+ \\ - \> if \= n $>$ 1 then \+ \\ - fact := n * fact(n-1) \- \\ - else \+ \\ - fact := 1; \-\- \\ +<para>Il est à noter que les espaces en début de ligne, où après <literal>\=</literal>, +<literal>\></literal> ou <literal>\<</literal> sont gobés, qu’il s’agisse d’espaces produits par +la macro <literal>\space</literal> ou par le caractère espace. Par contre l’espace +produit par la le caractère de contrôle espace (<literal>\ <!-- /@w --></literal>, c.-à-d. +une contr’oblique suivie d’un caractère espace) n’est pas gobé. +</para> +<para>Cet exemple compose un fonction en Pascal dans un format traditionnel : +</para> +<screen>{\ttfamily +\begin{tabbing} +function \= fact(n : integer) : integer;\+\\ + begin \=\+\\ + if \= n $>$ 1 then\+\\ + fact := n * fact(n-1)\-\\ + else\+\\ + fact := 1;\-\-\\ end;\\ -\end{tabbing} -</screen> +\end{tabbing}} +</screen> +<para>Le résultat ressemble à cela : +</para><screen>function fact(n : integer) : integer; + begin + if n > 1 then + fact := n * fact(n-1); + else + fact := 1; + end; +</screen> +<indexterm role="fn"><primary>paquetage <literal>algorithm2e</literal></primary></indexterm> +<indexterm role="fn"><primary><literal>algorithm2e</literal>, paquetage</primary></indexterm> + +<indexterm role="fn"><primary>paquetage <literal>listings</literal></primary></indexterm> +<indexterm role="fn"><primary><literal>listings</literal>, paquetage</primary></indexterm> + +<para>Ceci n’était qu’un exemple illustrant <literal>tabbing</literal>, pour formatter du +code considérez plutôt les paquetages <filename>algorithm2e</filename> pour du +pseudo-code, et <literal>listings</literal> pour du vrai code. +</para> +<para>Voici un autre exemple où le taquet N°2 est entre le taquet N°0 et le +taquet N°1 : +</para> +<screen>{\ttfamily +\begin{tabbing} + 12\=34\=\kill + 12345678\=9\\ + 1\>2\>3\\ +\end{tabbing}} +</screen> +<para>Le résultat ressemble à cela : +</para><screen>123456789 +1 3 2 +</screen> +<para>Voici un exemple où les taquets N°0 et N°1 sont confondus, ainsi que les +taquets N°2 et N°3, ce qui permet de superposer le texte aux taquets +impairs sur celui au taquets pairs, par exemple pour souligner ou barrer +comme avec une machine à écrire, en superposant un caractère <literal>_</literal> ou +un caractère <literal>−</literal>. Evidemment ce n’est qu’une illustration de +la flexivilité des taquets, et non une méthode convenable pour souligner +ou barrer un mot, d’un part parce que <literal>tabbing</literal> en soi commençant +un nouveau paragraphe ne permet pas d’agir sur un seul mot, et d’autre +part, parce que le paquetage <literal>soul</literal> fait cela beaucoup mieux. +<indexterm role="fn"><primary>paquetage <literal>soul</literal></primary></indexterm> +<indexterm role="fn"><primary><literal>soul</literal>, paquetage</primary></indexterm> +</para> + +<screen>{\ttfamily +\begin{tabbing} + \=souligne \=\=\kill + soulign\a'e\> + \_{}\_{}\_{}\_{}\_{}\_{}\_{}\_{}\> + barr\a'e\>{--}{--}{--}{--}{--}{--}\\ +\end{tabbing}} +</screen> + +<para>Finalement, voici un exemple où on a placé le taquet N°5 décalé d’une +longueur <literal>\tabbingsep</literal> à droite de la marge de droite. +</para> +<screen>{\ttfamily +\begin{tabbing} +\hspace{1cm}\=\hspace{1cm}\=\hspace{1cm}\=\hspace{1cm}\= + \hspace{\dimexpr\linewidth-4cm+\tabbingsep}\=\kill +1\>2\>X\'3\>4\>5\>\a`a gauche de de la marge de droite + avec \textbackslash'\'\\ +1\>2\>X\'3\>4\>5\`\a`a gauche de de la marge de droite + avec \textbackslash`\\ +\end{tabbing}} +</screen> +<para>Le résultat ressemble à cela : +</para> +<screen><!-- 012345678901234567890123456789012345678901234567890123456789 --> +1 2 X 3 4 5 à gauche de la marge de droite avec \' +1 2 X 3 4 5 à gauche de la marge de droite avec \` +</screen> </sect1> <sect1 label="8.22" id="table"> <title><literal>table</literal></title> <indexterm role="fn"><primary>environnement <literal>table</literal></primary></indexterm> <indexterm role="fn"><primary><literal>table</literal>, environnement</primary></indexterm> + <indexterm role="cp"><primary>tableaux, créer</primary></indexterm> <indexterm role="cp"><primary>créer des tableaux</primary></indexterm> <para>Synopsis : </para> <screen> \begin{table}[<replaceable>placement</replaceable>] - <replaceable>corps-du-talbeau</replaceable> + <replaceable>corps-du-tableau</replaceable> \caption[<replaceable>titreldt</replaceable>]{<replaceable>titre</replaceable>} \end{table} </screen> -<para>Une classe de flottants (voir <link linkend="Floats">Floats</link>). Parce qu’ils ne peuvent pas +<para>Une classe de flottants (see <link linkend="Floats">Floats</link>). Parce qu’ils ne peuvent pas être coupés à cheval sur plusieurs pages, il ne sont pas composés en séquence avec le texte normale, mais à la place sont « flottés » vers un endroit convenable, tel que le sommet d’une page suivante. @@ -4138,12 +5841,12 @@ l’algorithme de placement des flottants, voir <link linkend="Floats">Float etc. </para> <para>L’étiquette est optionnelle ; elle est utilisée pour les double renvois -(voir <link linkend="Cross-references">Cross references</link>). +(see <link linkend="Cross-references">Cross references</link>). <indexterm role="fn"><primary>\caption</primary></indexterm> La commande <literal>\caption</literal> spécifie la légende <replaceable>texte</replaceable> pour la figure. La légende est numérotée par défaut. Si <replaceable>titreldt</replaceable> est -présent, il est utilisé dans la liste des talbeaux au lieu de <replaceable>titre</replaceable> -(voir <link linkend="Tables-of-contents">Tables of contents</link>). +présent, il est utilisé dans la liste des tableaux au lieu de <replaceable>titre</replaceable> +(see <link linkend="Table-of-contents-etc_002e">Table of contents etc.</link>). </para> <screen>\begin{table}[b] \centering @@ -4162,6 +5865,7 @@ présent, il est utilisé dans la liste des talbeaux au lieu de <replaceable>tit <title><literal>tabular</literal></title> <indexterm role="fn"><primary>environnement <literal>tabular</literal></primary></indexterm> <indexterm role="fn"><primary><literal>tabular</literal>, environnement</primary></indexterm> + <indexterm role="cp"><primary>lignes dans des tableaux</primary></indexterm> <indexterm role="cp"><primary>aligner du texte dans des tableaux</primary></indexterm> @@ -4193,9 +5897,9 @@ beaucoup des caractéristiques. </screen> <para>Le format vertical de deux colonnes alignées à gauche, avec une barre verticales entre elles, est spécifié par l’argument <literal>{l|l}</literal> de <literal>tabular</literal>. -<indexterm role="fn"><primary>&</primary></indexterm> +<indexterm role="fn"><primary>& pour cellules de tableau</primary></indexterm> Les colonnes sont séparées avec une esperluette <literal>&</literal>. On crée un -filet horizontal entre deux ligne avec <literal>\hline</literal>. +filet horizontal entre deux lignes avec <literal>\hline</literal>. <indexterm role="fn"><primary>\\ pour <literal>tabular</literal></primary></indexterm> La fin de chaque ligne est marquée avec une double-contr’oblique <literal>\\</literal>. Cette <literal>\\</literal> est optionnelle après @@ -4249,7 +5953,7 @@ de l’environnement. </listitem></varlistentry><varlistentry><term><literal>@{<replaceable>texte ou espace</replaceable>}</literal> </term><listitem><para>Ceci insère <replaceable>texte ou espace</replaceable> à cette position dans chaque ligne. Le matériel <replaceable>texte ou espace</replaceable> est composé en mode LR. Ce texte est -fragile (voir <link linkend="_005cprotect">\protect</link>). +fragile (see <link linkend="_005cprotect">\protect</link>). </para> <para>Ce spécificateur est optionnel : à moins que vous mettiez dans votre propre @-expression alors les classes <literal>book</literal>, <literal>article</literal> et @@ -4319,8 +6023,8 @@ sont pas permis au sein d’une telle cellule, sauf à l’intérieur d& environnement comme <literal>minipage</literal>, <literal>array</literal>, ou <literal>tabular</literal>, ou à l’intérieur d’une <literal>\parbox</literal> explicite, ou dans la portée d’une déclaration <literal>\centering</literal>, <literal>\raggedright</literal>, ou -<literal>\raggedleft</literal> (quand elles sont utilisée au sein d’une cellule de -colonne en <literal>p</literal> ces déclaration doivent apparaître entre accolade, +<literal>\raggedleft</literal> (quand elles sont utilisées au sein d’une cellule de +colonne en <literal>p</literal> ces déclarations doivent apparaître entre accolades, comme dans <literal>{\centering .. \\ ..}</literal>. Sans quoi &latex; prendra la double contr’oblique comme une fin de ligne. </para> @@ -4344,7 +6048,7 @@ peut la changer comme dans </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\arraystretch</primary></indexterm><literal>\arraystretch</literal> </term><listitem><para>Un facteur par lequel l’espacement entre les lignes au sein des -environnement <literal>tabular</literal> et <literal>array</literal> est multiplié. La valeur +environnements <literal>tabular</literal> et <literal>array</literal> est multiplié. La valeur par défaut est ‘<literal>1</literal>’ pour aucune dilatation/contraction. On peut la changer comme dans <literal>\renewcommand{\arraystretch}{1.2}</literal>. </para> @@ -4504,6 +6208,7 @@ utilisée dans une expression <literal>@{…}</literal>. <indexterm role="fn"><primary>environnement <literal>thebibliography</literal></primary></indexterm> <indexterm role="fn"><primary><literal>thebibliography</literal>, environnement</primary></indexterm> + <indexterm role="cp"><primary>bibliography, creating (manually)</primary></indexterm> <para>Synopsis : @@ -4516,14 +6221,31 @@ utilisée dans une expression <literal>@{…}</literal>. <para>L’environnement <literal>thebibliography</literal> produit une bibliographie ou une liste de références. </para> -<para>Dans la classe <literal>article</literal>, cette liste de références est intitulée -« Réferences » ; dans la classe <literal>report</literal>, elle est intitulée -« Bibliographie ». Vous pouvez changer le titre (dans les classes standardes) -en redéfinissant la commande <literal>\refname</literal>. Par exemple, cela -l’élimine complètement : +<para>Dans la classe <literal>article</literal>, cette liste de références est intitulée +‘<literal>Références</literal>’ et ce titre est stocké dans la macro <literal>\refname</literal> ; +dans la classe <literal>report</literal>, elle est intitulée ‘<literal>Bibliographie</literal>’ et +ce titre est stocké dans la macro <literal>\bibname</literal>. +</para> +<para>Vous pouvez changer le titre en redéfinissant celle des commandes +<literal>\refname</literal> ou <literal>\bibname</literal> qui est applicable selon la classe : +</para> +<itemizedlist><listitem><indexterm role="fn"><primary>\bibname</primary></indexterm> +<para>Pour les classes standardes dont le niveau le plus élevé de rubricage +est <literal>\chapter</literal> le titre est dans la macro <literal>\bibname</literal>, par +exemple les classes <filename>book</filename> et <filename>report</filename> tombent dans cette +catégorie. +</para></listitem><listitem><indexterm role="fn"><primary>\refname</primary></indexterm> +<para>Pour les classes standardes dont le niveau le plus élevé de rubricage +est <literal>\section</literal> le titre est dans la macro <literal>\refname</literal>, par +exemple la classe <filename>article</filename> tombe dans cette catégorie. +</para></listitem></itemizedlist> +<indexterm role="fn"><primary>paquetage <literal>babel</literal></primary></indexterm> +<indexterm role="fn"><primary><literal>babel</literal>, paquetage</primary></indexterm> + +<para>Typiquement il n’est ni nécessaire ni désirable de redéfinir directement +<literal>\refname</literal> ou <literal>\bibname</literal> ; les paquetages linguistiques comme +<filename>babel</filename> s’en chargent. </para> -<screen>\renewcommand{\refname}{} -</screen> <para>L’argument obligatoire <replaceable>étiquette-la-plus-large</replaceable> est un texte qui, lorsqu’il est composé, est aussi large que la plus large des étiquettes d’article produit pas les commandes <literal>\bibitem</literal>. C’est typiquement @@ -4555,7 +6277,7 @@ entrée contient les <replaceable>étiquette</replaceable> et <replaceable>clef_ considéré. Lorsque le fichier <filename>.aux</filename> est lu par la commande <literal>\begin{document}</literal>, l’<replaceable>étiquette</replaceable> de l’article est associée à sa <replaceable>clef_de_cite</replaceable>, ce qui a pour effet que toute référence à -<replaceable>clef_de_cite</replaceable> avec une commande <literal>\cite</literal> (voir <link linkend="_005ccite">\cite</link>) +<replaceable>clef_de_cite</replaceable> avec une commande <literal>\cite</literal> (see <link linkend="_005ccite">\cite</link>) produit l’<replaceable>étiquette</replaceable> associée. </para> @@ -4570,7 +6292,7 @@ produit l’<replaceable>étiquette</replaceable> associée. <screen>\cite[<replaceable>subcite</replaceable>]{<replaceable>clefs</replaceable>} </screen> <para>L’argument <replaceable>clefs</replaceable> est une liste d’une ou plus de clefs de -références bibliographiques (voir <link linkend="_005cbibitem">\bibitem</link>), séparées par des +références bibliographiques (see <link linkend="_005cbibitem">\bibitem</link>), séparées par des virgules. Cette commande génère une référence bibliographique au sein du textes contenant les étiquettes associées aux clefs contenues dans <replaceable>clefs</replaceable> par les entrées respectives au sein du fichier <filename>.aux</filename>. @@ -4608,7 +6330,7 @@ bibliograhique dans le fichier <filename>.aux</filename>. fortement recommandé si vous avez besoin d’une bibliographie de plus d’un ou deux titre) pour mainteninr votre bibliographie, vous n’utilisez pas l’environnement <literal>thebibliography</literal> -(voir <link linkend="thebibliography">thebibliography</link>). Au lieu de cela, vous incluez les lignes : +(see <link linkend="thebibliography">thebibliography</link>). Au lieu de cela, vous incluez les lignes : </para> <screen>\bibliographystyle{<replaceable>stylebib</replaceable>} \bibliography{<replaceable>ficbib1</replaceable>,<replaceable>ficbib2</replaceable>} @@ -4650,6 +6372,7 @@ ou <literal>\nocite</literal> sont listées dans la bibliographie. <indexterm role="fn"><primary>environnement <literal>theorem</literal></primary></indexterm> <indexterm role="fn"><primary><literal>theorem</literal>, environnement</primary></indexterm> + <indexterm role="cp"><primary>théorèmes, composition des</primary></indexterm> <para>Synopsis : @@ -4660,7 +6383,7 @@ ou <literal>\nocite</literal> sont listées dans la bibliographie. </screen> <para>L’environnement <literal>theorem</literal> produit « Théorème <replaceable>n</replaceable> » en gras suivi de <replaceable>texte-théorème</replaceable>, où les possibilité de numérotation pour -<replaceable>n</replaceable> sont décrites par <literal>\newtheorem</literal> (voir <link linkend="_005cnewtheorem">\newtheorem</link>). +<replaceable>n</replaceable> sont décrites par <literal>\newtheorem</literal> (see <link linkend="_005cnewtheorem">\newtheorem</link>). </para> </sect1> @@ -4669,6 +6392,7 @@ suivi de <replaceable>texte-théorème</replaceable>, où les possibilité de nu <indexterm role="fn"><primary>environnement <literal>titlepage</literal></primary></indexterm> <indexterm role="fn"><primary><literal>titlepage</literal>, environnement</primary></indexterm> + <indexterm role="cp"><primary>fabriquer une page de titre</primary></indexterm> <indexterm role="cp"><primary>pages de titre, création</primary></indexterm> @@ -4682,9 +6406,9 @@ suivi de <replaceable>texte-théorème</replaceable>, où les possibilité de nu une page sur laquelle ne sont inscrit aucun numéro de page ou libellé de rubrique. Il entraîne aussi que la page suivante a le numéro un. Le formatage de la page de titre vous est laissé. La commande <literal>\today</literal> -peut être utile sur les pages de titre (voir <link linkend="_005ctoday">\today</link>). +peut être utile sur les pages de titre (see <link linkend="_005ctoday">\today</link>). </para> -<para>Vous pouvez utiliser la commande <literal>\maketitle</literal> (voir <link linkend="_005cmaketitle">\maketitle</link>) +<para>Vous pouvez utiliser la commande <literal>\maketitle</literal> (see <link linkend="_005cmaketitle">\maketitle</link>) pour produire une page de titre standarde sans utiliser l’environnement <literal>titlepage</literal>. </para> @@ -4695,6 +6419,7 @@ pour produire une page de titre standarde sans utiliser l’environnement <indexterm role="fn"><primary>environnement <literal>verbatim</literal></primary></indexterm> <indexterm role="fn"><primary><literal>verbatim</literal>, environnement</primary></indexterm> + <indexterm role="cp"><primary>texte verbatim</primary></indexterm> <indexterm role="cp"><primary>simuler du texte tapuscrit</primary></indexterm> <indexterm role="cp"><primary>texte tapuscrit, simulation de</primary></indexterm> @@ -4713,8 +6438,8 @@ par exemple le caractère <literal>\</literal> produit ‘<literal>\</litera fait de &latex; une machine à écrire, c.-à-d. que le retour chariot et les blancs y ont un tel effet. </para> -<para>L’environnement <literal>verbatim</literal> utilise une police de type machine à -écrire à chasse fixe (<literal>\tt</literal>). +<para>L’environnement <literal>verbatim</literal> utilise une police de type tapuscrit +(encore appelé « machine à écrire ») à chasse fixe (<literal>\tt</literal>). </para> <sect2 label="8.27.1" id="_005cverb"> @@ -4746,6 +6471,7 @@ sont tapés avec un caractère « espace visible ». <title><literal>verse</literal></title> <indexterm role="fn"><primary>environnement <literal>verse</literal></primary></indexterm> <indexterm role="fn"><primary><literal>verse</literal>, environnement</primary></indexterm> + <indexterm role="cp"><primary>poésie, un environnement pour la</primary></indexterm> <para>Synopsis : @@ -4815,7 +6541,7 @@ environnement <literal>tabular</literal> ou <literal>array</literal>. <para>Dans des circonstances ordinaires (par ex. en dehors d’une colonne spécifiée par <literal>p{...}</literal> dans un environnement <literal>tabular</literal>) la commande <literal>\newline</literal> est un synonyme de <literal>\\</literal> -(voir <link linkend="_005cnewline">\newline</link>). +(see <link linkend="_005cnewline">\newline</link>). </para> <para>En plus de commencer une nouvelle ligne, la forme étoilée <literal>\\*</literal> dit à &latex; de ne pas commencer une nouvelle page entre les deux lignes, @@ -4850,7 +6576,7 @@ ligne. <indexterm role="cp"><primary>saut de ligne</primary></indexterm> <para>Dans du texte ordinaire ceci est équivalent à une double-contr’oblique -(voir <link linkend="_005c_005c">\\</link>) ; cela rompt la ligne, sans dilatation du texte le +(see <link linkend="_005c_005c">\\</link>) ; cela rompt la ligne, sans dilatation du texte le précéndent. </para> <para>Au sein d’un environnement <literal>tabular</literal> ou <literal>array</literal>, dans une @@ -4901,7 +6627,7 @@ dans les cas où ne suffisent ni le contrôle standard de la césure fait l’algorithme de césure de &tex; et les règles de césures données par les paquetages de gestion linguistiques, ni les moyens de contrôle explicites offerts par les commandes <literal>\hyphenation</literal> -(voir <link linkend="_005chyphenation">\hyphenation</link>) et <literal>\-</literal> (voir <link linkend="_005c_002d-_0028hyphenation_0029">\- (césure +(see <link linkend="_005chyphenation">\hyphenation</link>) et <literal>\-</literal> (see <link linkend="_005c_002d-_0028hyphenation_0029">\- (césure à gré)</link>). </para> <para><literal>\discretionary</literal> indique qu’un saut de ligne est possible à cet @@ -4951,7 +6677,7 @@ effet que &tex; fait le difficile à propos des saut de ligne. Ceci d’occasionnellement une boîte trop pleine (‘<literal>overfull \hbox</literal>’). </para> <para>Cette commande annule l’effet d’une commande <literal>\sloppy</literal> précédente -(voir <link linkend="_005csloppy">\sloppy</link>). +(see <link linkend="_005csloppy">\sloppy</link>). </para> </sect1> @@ -4962,7 +6688,7 @@ d’occasionnellement une boîte trop pleine (‘<literal>overfull \hbox difficile à propos des sauts de ligne. Ceci evite les boîtes trop pleines, au prix d’un espacement lâche entre les mots. </para> -<para>L’effet dure jusqu’à la prochaine commande <literal>\fussy</literal> (voir <link linkend="_005cfussy">\fussy</link>). +<para>L’effet dure jusqu’à la prochaine commande <literal>\fussy</literal> (see <link linkend="_005cfussy">\fussy</link>). </para> </sect1> @@ -5024,11 +6750,15 @@ désirer influencer les sauts. </para> -<sect1 label="10.1" id="_005ccleardoublepage"> -<title><literal>\cleardoublepage</literal></title> +<sect1 label="10.1" id="_005cclearpage-_0026-_005ccleardoublepage"> +<title><literal>\clearpage</literal> & <literal>\cleardoublepage</literal></title> +<!-- xx Revoir la traduction --> <indexterm role="fn"><primary>\cleardoublepage</primary></indexterm> <indexterm role="cp"><primary>commencer une page de droite</primary></indexterm> +<indexterm role="fn"><primary>\clearpage</primary></indexterm> +<indexterm role="cp"><primary>débourrer les flottant et commencer une page</primary></indexterm> +<indexterm role="cp"><primary>commencer une nouvelles page et débourrer les flottant</primary></indexterm> <para>La commande <literal>\cleardoublepage</literal> finit la page courante et fait que &latex; imprime tous les flottants, tableaux et figures, qui sont @@ -5038,12 +6768,6 @@ et une page de droite (numérotée impaire), en produisant si nécessaire une page à blanc. </para> -</sect1> -<sect1 label="10.2" id="_005cclearpage"> -<title><literal>\clearpage</literal></title> -<indexterm role="fn"><primary>\clearpage</primary></indexterm> -<indexterm role="cp"><primary>débourrer les flottant et commencer une page</primary></indexterm> -<indexterm role="cp"><primary>commencer une nouvelles page et débourrer les flottant</primary></indexterm> <para>La commande <literal>\clearpage</literal> finit la page actuelle et fait que &latex; imprime tous les flottants, tableaux et figures, qui sont @@ -5051,18 +6775,48 @@ apparus en entrée jusqu’à ce point et sont en attente. </para> </sect1> -<sect1 label="10.3" id="_005cnewpage"> +<sect1 label="10.2" id="_005cnewpage"> <title><literal>\newpage</literal></title> <indexterm role="fn"><primary>\newpage</primary></indexterm> <indexterm role="cp"><primary>nouvelle page, commencer</primary></indexterm> <indexterm role="cp"><primary>commencer une nouvelle page</primary></indexterm> -<para>La commande <literal>\newpage</literal> finit la page courante, mais ne débourre pas -tous les flottants (voir <link linkend="_005cclearpage">\clearpage</link>). +<para>Synopsis : +</para> +<screen>\newpage +</screen> +<para>La commande <literal>\newpage</literal> finit la page courante. Cette commande est +robuste (see <link linkend="_005cprotect">\protect</link>). +</para> +<para>Les sauts de page de &latex; sont optimisés de sorte que d’ordinaire on +n’utilise cette commande dans le corps d’un document que pour les +finitions sur la version finale, ou à l’interieur de commandes. +</para> +<para>Alors que les commandes <literal>\clearpage</literal> et <literal>\cleardoublepage</literal> +finissent également la page courante, en plus de cela elles débourrent +les flottants pendants (see <link linkend="_005cclearpage-_0026-_005ccleardoublepage">\clearpage & \cleardoublepage</link>). Et, si +&latex; est en mode à deux colonne alors <literal>\clearpage</literal> et +<literal>\cleardoublepage</literal> finissent las page courante en laissant +possiblement une colonne vide, alors que <literal>\newpage</literal> finit seulement +la colonne courante. +</para> +<para>Contrairement à <literal>\pagebreak</literal> (see <link linkend="_005cpagebreak-_0026-_005cnopagebreak">\pagebreak & \nopagebreak</link>), +la commande <literal>\newpage</literal> n’a pas pour effet que la nouvelle page +commence exactement là où la requête est faite. Dans l’exemple suivant +</para> +<screen>Four score and seven years ago our fathers brought forth on this +continent, +\newpage +\noindent a new nation, conceived in Liberty, and dedicated to the +proposition that all men are created equal. +</screen> +<para>la nouvelle page commence après ‘<literal>continent</literal>’, et la ligne où se +produit le saut n’est pas justifiée à droite. De plus, <literal>\newpage</literal> +n’étire pas verticalement la page, contrairement à <literal>\pagebreak</literal>. </para> </sect1> -<sect1 label="10.4" id="_005cenlargethispage"> +<sect1 label="10.3" id="_005cenlargethispage"> <title><literal>\enlargethispage</literal></title> <indexterm role="fn"><primary>\enlargethispage</primary></indexterm> <indexterm role="cp"><primary>agrandir la page courante</primary></indexterm> @@ -5081,7 +6835,7 @@ possible. Ceci est normalement utilisé en même temps qu’un </para> </sect1> -<sect1 label="10.5" id="_005cpagebreak-_0026-_005cnopagebreak"> +<sect1 label="10.4" id="_005cpagebreak-_0026-_005cnopagebreak"> <title><literal>\pagebreak</literal> & <literal>\nopagebreak</literal></title> <indexterm role="fn"><primary>\pagebreak</primary></indexterm> <indexterm role="fn"><primary>\nopagebreak</primary></indexterm> @@ -5157,7 +6911,7 @@ contraire. <para>Changez l’aspect que &latex; donne au compteur de note en bas de page avec quelque chose du genre de <literal>\renewcommand{\thefootnote}{\fnsymbol{footnote}}</literal>, ce qui -utilise une séquence de symboles (voir <link linkend="_005calph-_005cAlph-_005carabic-_005croman-_005cRoman-_005cfnsymbol">\alph \Alph \arabic \roman +utilise une séquence de symboles (see <link linkend="_005calph-_005cAlph-_005carabic-_005croman-_005cRoman-_005cfnsymbol">\alph \Alph \arabic \roman \Roman \fnsymbol</link>). Pour rendre ce changement global mettez cela dans le préambule. Si vous faite ce changement local alors vous désirerez sans doute réinitialiser le compte avec @@ -5199,7 +6953,7 @@ rubriques suivantes. utilise le compteur <literal>mpfootnote</literal> au lieu de <literal>footnote</literal>, de sorte que les notes sont numérotéee indépendemment. Elles apparaissent au bas de l’environnement, et non au bas de la page. Et par défaut -elles apparaissent alphabétiquement. Voir <link linkend="minipage">minipage</link>. +elles apparaissent alphabétiquement. See <link linkend="minipage">minipage</link>. </para> </sect1> @@ -5215,7 +6969,7 @@ elles apparaissent alphabétiquement. Voir <link linkend="minipage">minipage</li <para>Sans l’argument optionnel, la commande <literal>\footnotemark</literal> place dans le texte le numéro de la note courante. Cette commande peut être utilisée en mode paragraphe interne. Vous pouvez donner le texte de la -note séparéement la commande <literal>\footnotetext</literal>. +note séparément la commande <literal>\footnotetext</literal>. </para> <para>Cette commande pour produire plusieurs marque de note en bas de page faisant référence à la même note avec @@ -5265,7 +7019,7 @@ dans la cellule du tableau mais rien n’est composé en bas de la page. \end{center} </screen> <para>La solution est d’entourer l’environnement the <literal>tabular</literal> d’un environnement -<literal>minipage</literal>, comme ci-après (voir <link linkend="minipage">minipage</link>). +<literal>minipage</literal>, comme ci-après (see <link linkend="minipage">minipage</link>). </para> <screen>\begin{center} \begin{minipage}{.5\textwidth} @@ -5274,7 +7028,7 @@ dans la cellule du tableau mais rien n’est composé en bas de la page. \end{center} </screen> <para>La même technique marche au sein d’un environnement <literal>table</literal> -flottant (voir <link linkend="table">table</link>). To get the footnote at the bottom of the page +flottant (see <link linkend="table">table</link>). To get the footnote at the bottom of the page use the <filename>tablefootnote</filename> package, comme illustré dans l’exemple ci-apès. Si vous placez <literal>\usepackage{tablefootnote}</literal> dans le préambule et utilisez le code source ci-dessous, alors la note @@ -5306,6 +7060,7 @@ les autres notes en bas de page. </screen> <indexterm role="fn"><primary>paquetage <literal>footmisc</literal></primary></indexterm> <indexterm role="fn"><primary><literal>footmisc</literal>, paquetage</primary></indexterm> + <indexterm role="cp"><primary><literal>stable</literal>, option du paquetage <literal>footmisc</literal></primary></indexterm> <indexterm role="cp"><primary>option <literal>stable</literal> du paquetage <literal>footmisc</literal></primary></indexterm> <para>a pour effet que la note en bas de page apparaît à la fois en bas de la @@ -5340,7 +7095,7 @@ n’apparaît pas). </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\footnotesep</primary></indexterm><literal>\footnotesep</literal> </term><listitem><para>La hauteur de l’étai placé au début de la note en bas de page. Par défaut, c’est réglé à l’étai nomal pour des police de taille -<literal>\footnotesize</literal> (voir <link linkend="Font-sizes">Font sizes</link>), donc il n’y a pas d’espace +<literal>\footnotesize</literal> (see <link linkend="Font-sizes">Font sizes</link>), donc il n’y a pas d’espace supplémentaire entre les notes. Cela vaut ‘<literal>6.65pt</literal>’ pour des polices à ‘<literal>10pt</literal>’, ‘<literal>7.7pt</literal>’ pour ‘<literal>11pt</literal>’, et ‘<literal>8.4pt</literal>’ pour ‘<literal>12pt</literal>’. @@ -5377,11 +7132,18 @@ des genres. \newcommand*{\<replaceable>cmd</replaceable>}[<replaceable>nargs</replaceable>][<replaceable>optargdéfaut</replaceable>]{<replaceable>défn</replaceable>} \renewcommand*{\<replaceable>cmd</replaceable>}[<replaceable>nargs</replaceable>][<replaceable>optargdéfaut</replaceable>]{<replaceable>défn</replaceable>} </screen> +<!-- xxx Revoir la trad. --> +<para>Définit ou redéfinit une commande (voir aussi la discussion de +<literal>\DeclareRobustCommand</literal> dans <link linkend="Class-and-package-commands">Class and package commands</link>). +</para> <indexterm role="cp"><primary>forme en *, définir de nouvelles commandes</primary></indexterm> <indexterm role="cp"><primary>forme étoilée, définir de nouvelles commandes</primary></indexterm> -<para>La forme étoilée (en <literal>*</literal>) de ces commandes exige que les arguments -ne contiennent pas de paragraphes de texte (la commande n’est pas -<literal>\long</literal>, dans la terminologie de &tex; de base). +<indexterm role="fn"><primary>\long</primary></indexterm> +<para>La forme étoilée (en <literal>*</literal>) de ces commandes interdit que les +arguments contiennent une multiplicité de paragraphes de texte (la +commande n’est pas <literal>\long</literal>, dans la terminologie de +&tex; de base). Avec la forme par défaut, il est possible qu’un +argument soit une multiplicité de paragraphes. </para> <variablelist><varlistentry><term><replaceable>cmd</replaceable> </term><listitem><para>Obligatoire ; <literal>\<replaceable>cmd</replaceable></literal> est le nom de la commande. Pour @@ -5416,10 +7178,10 @@ cas, tout argument obligatoire sera désigné en commençant par <literal>#2</li <para>Omettre <literal>[<replaceable>maval</replaceable>]</literal> dans un appel n’est pas la même chose qu’avoir les crochets ne contenant rien, comme dans <literal>[]</literal>. Dans le premier cas le paramètre <literal>#1</literal> se développe en <replaceable>optargdéfaut</replaceable> ; -alors que dans le secon <literal>#1</literal> se développe en une chaîne vide. +alors que dans le second <literal>#1</literal> se développe en une chaîne vide. </para> </listitem></varlistentry><varlistentry><term><replaceable>défn</replaceable> -</term><listitem><para>Le texte par lequel substituer chaque occurrence de \<literal>cmd</literal> ; le +</term><listitem><para>Le texte par lequel substituer chaque occurrence de <literal>\<replaceable>cmd</replaceable></literal> ; le paramètre positionnel <literal>#<replaceable>n</replaceable></literal> au sein de <replaceable>défn</replaceable> est remplacée par le texte passé comme <replaceable>n</replaceable>ième argument. </para> @@ -5472,17 +7234,183 @@ la définition et par conséquent définissent bien un groupe. -<!-- xx \providecommand, * forme (non-\long) --> +</sect1> +<sect1 label="12.2" id="_005cprovidecommand"> +<title><literal>\providecommand</literal></title> + +<indexterm role="fn"><primary>\providecommand</primary></indexterm> +<indexterm role="cp"><primary>commandes, définir de nouvelles</primary></indexterm> +<indexterm role="cp"><primary>définir une nouvelle commande</primary></indexterm> +<indexterm role="cp"><primary>nouvelles commandes, définir</primary></indexterm> + +<para>Définit une commande, du moment qu’aucune commande de même nom n’existe déjà. +</para> +<para>Synopsis : +</para> +<screen>\providecommand{<replaceable>cmd</replaceable>}[<replaceable>nargs</replaceable>][<replaceable>optargdéfaut</replaceable>]{<replaceable>defn</replaceable>} +\providecommand*{<replaceable>cmd</replaceable>}[<replaceable>nargs</replaceable>][<replaceable>optargdéfaut</replaceable>]{<replaceable>defn</replaceable>} +</screen> +<para>Si aucune commande de ce nom n’existe alors ceci a le même effet que +<literal>\newcommand</literal> (see <link linkend="_005cnewcommand-_0026-_005crenewcommand">\newcommand & \renewcommand</link>). Si une +commande de ce nom existe déjà alors cette définition est sans +effet. Ceci est particulièrement utile dans un fichier de style, ou dans +tout fichier susceptible d’être chargé plus d’une fois. +</para> +</sect1> +<sect1 label="12.3" id="_005cmakeatletter-_0026-_005cmakeatother"> +<title><literal>\makeatletter</literal> et <literal>\makeatother</literal></title> + +<para>Synopsis : +</para> +<screen>\makeatletter + ... définition de commande comprenant @ dans leur nom .. +\makeatother +</screen> +<para>Utilisez cette paire de commande quand vous redéfinissser les commandes +&latex; dont le nom comprend un caractère arobe <literal>@</literal>. La +déclaration <literal>\makeatletter</literal> a pour effet que le caractère +arobase <literal>@</literal> ait le code de catégorie des lettres, c.-à-d. 11. La +déclaration <literal>\makeatother</literal> règle de code de catégorie de <literal>@</literal> +à 12, sa valeur d’origine. +</para> +<para>À mesure que chaque caractère est lu par &tex; pour &latex;, un code +de catégorie lui est assigné. On appelle aussi ce code +<indexterm role="cp"><primary>catcode</primary></indexterm> +<indexterm role="cp"><primary>code de catégorie de caractère</primary></indexterm> +<indexterm role="cp"><primary>catégorie, code de caractère</primary></indexterm> +<firstterm>catcode</firstterm> pour faire court. Par exemple, la contre-oblique <literal>\</literal> +reçoit le catcode 0. Les noms de commande consistent en un caractère de +catégorie 0, d’ordinaire une contr’oblique, suivi par des lettres, +c-à-d. des caractères de catégorie 11 (à ceci près qu’une commande +peut également consister en un caractère de catégorie 0 suivi d’un +unique caractère qui n’est pas une lettre). +</para> +<para>Le code source de &latex; suit la convention que certaines commandes +utilisent <literal>@</literal> dans leur nom. Ces commandes sont principalement +destinées aux auteurs de paquetages ou de classes. Cette convention +empèche les auteurs qui sont juste utilisateurs d’un paquetage ou d’une +classe de remplacer accidentellement une telle commande par une commande +définie par eux, puisque par défaut l’arobe a le catcode 12 (other). +</para> +<para>Utilisez la paire <literal>\makeatletter</literal> et <literal>\makeatother</literal> au sein +d’un fichier <filename>.tex</filename>, typiquement dans le préambule, quand vous +définissez ou redéfinissez des commandes dont le nom comprend <literal>@</literal>, +en entourant votre définition par elles. Ne les utilisez pas au sein de +fichiers <filename>.sty</filename> ou <filename>.cls</filename> puisque les commandes +<literal>\usepackage</literal> et <literal>\documentclass</literal> font déjà le nécessaire pour +que l’arobe ait le catcode d’une lettre, à savoir 11. +</para> +<indexterm role="fn"><primary>paquetage <literal>macros2e</literal></primary></indexterm> +<indexterm role="fn"><primary><literal>macros2e</literal>, paquetage</primary></indexterm> + +<para>Pour une liste complète des macros contenant une arobase dans leur nom, +voir le document <ulink url="http://ctan.org/pkg/macros2e">http://ctan.org/pkg/macros2e</ulink>. +<!-- xx pourquoi est-ce que ceci a été enlevé : --> +<!-- xx Ces macros sont surtout à l'intention des auteurs de classes et de --> +<!-- xx paquetages. --> +</para> +<para>Dans l’exemple suivant une commande <literal>\these@nomuniversite</literal> se +trouve dans le fichier de classe, et l’utilisateur veut changer sa +définition. Pour cela, il suffit d’insérer les trois lignes suivantes +dans le préambule, avant le <literal>\begin{document}</literal> : +</para> +<screen>\makeatletter +\renewcommand{\these@nomuniversite}{Université Lyon III Jean Moulin} +\makeatother +</screen> + +</sect1> +<sect1 label="12.4" id="_005c_0040ifstar"> +<title><literal>\@ifstar</literal></title> + +<indexterm role="fn"><primary>\@ifstar</primary></indexterm> +<indexterm role="cp"><primary>commandes, variantes étoilées</primary></indexterm> +<indexterm role="cp"><primary>étoilées, variantes de commandes</primary></indexterm> + + +<!-- Inpirée des trucs & astuces de Manuel Pégourié-Gonnard --> +<!-- (https://elzevir.fr/imj/latex/tips.html#stared) --> +<para>Vous l’avez sans doute remarqué, beaucoup d’environnements ou commandes +standards de &latex; existent sous une variante étoilée. Vous pouvez avoir +envie de reprendre cette idée quand vous définissez vos commandes et arguments. +</para> +<para>Si vous avez lu <link linkend="_005cnewenvironment-_0026-_005crenewenvironment">\newenvironment & \renewenvironment</link>, vous aurez compris +que c’est immédiat pour les environnements car l’étoile est un caractère +autorisé dans les noms d’environnements. Il vous suffit donc de faire +<literal>\newenvironment{<replaceable>monenv</replaceable>}</literal> et +<literal>\newenvironment{<replaceable>monenv</replaceable>*}</literal> avec les définitions souhaitées. +</para> +<para>Pour les commandes, c’est plus compliqué car l’étoile ne peut pas faire partie +du nom de la commande. Il y aura donc une première commande, qui devra être +capable de regarder si elle est ou non suivie d’une étoile et d’adapter son +comportement en conséquence. Cette première commande ne pourra pas accepter +d’argument, mais pourra faire appel à des commandes qui en acceptent. Par +ailleurs, on utilise la commande <literal>\@ifstar</literal> interne du noyau &latex; et +vous pouvez vous reportez à « <link linkend="_005cmakeatletter-_0026-_005cmakeatother">\makeatletter & \makeatother</link> » pour +comprendre pourquoi cela implique l’usage d’un bloc +<literal>\makeatletter...\makeatother</literal>. +</para> +<para>Dans cet exemple, on définit <literal>\ciel</literal> comme une commande avec un +argument obligatoire et admettant une variante étoilée <literal>\ciel*</literal> +également avec un argument obligatoire : +</para> +<screen>\makeatletter +\newcommand*\ciel@starred[1]{ciel #1 étoilé} +\newcommand*\ciel@unstarred[1]{ciel #1 non étoilé} +\newcommand\ciel{\@ifstar{\ciel@starred}{\ciel@unstarred}} +\makeatother +</screen> +<para>ainsi, <literal>\ciel{bleu}</literal> composera « ciel bleu non étoilé » tandis que +<literal>\ciel*{nocturne}</literal> composera « ciel nocturne étoilé ». +</para> +<para>Notez que les commandes intermédiaires <literal>\ciel@starred</literal> et +<literal>\ciel@unstarred</literal> comportent un <literal>@</literal> dans leur nom ce qui est +possible puisque elles apparaissent au sein d’un bloc +<literal>\makeatletter...\makeatother</literal>. Ceci assure qu’elles ne puissent pas être +utilisées directement dans le document. L’utilisation de @ dans le nom +comporte certes un risque de collision avec une commande interne du noyeau +&latex;, mais une telle collision est facile à détecter et corriger car +<literal>\newcommand*{\<replaceable>cmd</replaceable>}</literal> vérifie que si la commande <literal>\<replaceable>cmd</replaceable></literal> +n’est pas déjà définie et génère une erreur si c’est le cas. +</para> +<para>Voici un autre exemple, où la commande <literal>\agentsecret</literal> comporte deux +arguments, tandis que sa variante étoilée <literal>\agentsecret*</literal> n’en présente qu’un seul : +</para> +<screen>\makeatletter +\newcommand*\agentsecret@starred[1]{\textsc{#1}} +\newcommand*\agentsecret@unstarred[2]{\textit{#1} \textsc{#2}} +\newcommand\agentsecret{\@ifstar{\agentsecret@starred} +                                        {\agentsecret@unstarred}} +\makeatother +</screen> +<para>Avec cette définition, la célèbre réplique de l’agent 007 : +</para> +<screen>Je m'appelle \agentsecret*{Bond}, \agentsecret{James}{Bond}. +</screen> +<para>est équivalente à : +</para> +<screen>Je m'appelle \textsc{Bond}, \textit{James} textsc{Bond}. +</screen> +<para>Un dernier mot : +dans le nom d’une commande, l’étoile est comme une sorte d’argument optionnel. +Ceci est différent des noms d’environnement, où l’étoile fait partie +du nom lui-même, et peut donc être à n’importe quelle position ! +D’un point de vue purement &tex;nique il est donc possible de mettre un nombre indéfini +d’espaces entre la commande et l’étoile. Ainsi <literal>\agentsecret*{Bond}</literal> et +<literal>\agentsecret *{Bond}</literal> sont équivalents. Toutefois la pratique commune +est de ne jamais insérer de tels espaces. +</para> </sect1> -<sect1 label="12.2" id="_005cnewcounter"> -<title><literal>\newcounter</literal></title> +<sect1 label="12.5" id="_005cnewcounter"> +<title><literal>\newcounter</literal> : allouer un compteur</title> <indexterm role="fn"><primary>\newcounter</primary></indexterm> <indexterm role="cp"><primary>compteurs, définir de nouveaux</primary></indexterm> <para>Synopsis : </para> -<screen>\newcounter{<replaceable>nomcompteur</replaceable>}[<replaceable>super</replaceable>] +<screen>\newcounter{<replaceable>nomcompteur</replaceable>} +\newcounter{<replaceable>nomcompteur</replaceable>}[<replaceable>super</replaceable>] </screen> <para>La commande <literal>\newcounter</literal> définit un nouveau compteur nommé <replaceable>nomcompteur</replaceable>. Le nouveau compteur est initialisé à zéro. @@ -5491,50 +7419,57 @@ Le nouveau compteur est initialisé à zéro. <replaceable>nomcompteur</replaceable> est réinitialisé à chaque incrémentation du compteur nommé <replaceable>super</replaceable>. </para> -<para>Voir <link linkend="Counters">Counters</link>, pour plus d’information à propos des compteurs. +<para>See <link linkend="Counters">Counters</link>, pour plus d’information à propos des compteurs. </para> </sect1> -<sect1 label="12.3" id="_005cnewlength"> -<title><literal>\newlength</literal></title> +<sect1 label="12.6" id="_005cnewlength"> +<title><literal>\newlength</literal> : allouer une longueur</title> <indexterm role="fn"><primary>\newlength</primary></indexterm> -<indexterm role="cp"><primary>longueurs, définir de nouvelles</primary></indexterm> +<indexterm role="cp"><primary>longueurs, allouer de nouvelles</primary></indexterm> +<indexterm role="cp"><primary>longueurs élastiques, définir de nouvelles</primary></indexterm> +<indexterm role="cp"><primary>élastiques, définir de nouvelles longueurs</primary></indexterm> +<indexterm role="cp"><primary>pas, registre de, &tex; de base</primary></indexterm> +<indexterm role="cp"><primary>ressort, registre de, &tex; de base</primary></indexterm> -<para>Synopsis : +<para>Alloue un nouveau registre de <firstterm>longueur</firstterm>. Synopsis : </para> <screen>\newlength{\<replaceable>arg</replaceable>} </screen> -<para>La commande <literal>\newlength</literal> définit l’argument obligatoire comme une -commande de <firstterm>longueur</firstterm> avec une valeur de <literal>0mm</literal>. L’argument -doit être une séquence de contrôle, comme dans -<literal>\newlength{\foo}</literal>. Une erreur se produit si <literal>\foo</literal> est déjà -défini. +<para>Cette commande prnedre un argument obligatoire qui doit commencer par +une contr’oblique (‘<literal>\</literal>’). Elle crée un nouveau registre de longueur +nommé <literal>\<replaceable>arg</replaceable></literal>, ce qui constitue un emplacement où détenir des +longueurs (élastiques) telles que <literal>1in plus.2in minus.1in</literal> (ce que +&tex; de base appelle un registre <literal>skip</literal>, ou regristre de +pas). Le registre est crée avec une valeur initiale de zéro. La séquence +de contrôle <literal>\<replaceable>arg</replaceable></literal> doit ne pas être déjà définie. </para> -<para>Voir <link linkend="Lengths">Lengths</link>, pour comment régler la nouvelle longeur à une valeur non -nulle, et pour plus d’information à propos des longueurs en général. +<para>See <link linkend="Lengths">Lengths</link>, pour plus d’information à propos des longueurs. </para> </sect1> -<sect1 label="12.4" id="_005cnewsavebox"> -<title><literal>\newsavebox</literal></title> +<sect1 label="12.7" id="_005cnewsavebox"> +<title><literal>\newsavebox</literal> : allouer une boîte</title> + <indexterm role="fn"><primary>\newsavebox</primary></indexterm> +<indexterm role="cp"><primary>boîte, allouer une nouvelle</primary></indexterm> -<para>Synopsis : +<para>Alloue un « baquet » pour détenir une boîte. Synopsis : </para> <screen>\newsavebox{\<replaceable>cmd</replaceable>} </screen> -<para>Définit <literal>\<replaceable>cmd</replaceable></literal> pour se référer à un nouveau bac pour stocker +<para>Définit <literal>\<replaceable>cmd</replaceable></literal> pour se référer à un nouveau baquet pour stocker des boîtes. Une telle boîte sert à détenir du matériel composé, pour -l’utiliser plusieurs fois (voir <link linkend="Boxes">Boxes</link>) ou pour le mesurer ou le +l’utiliser plusieurs fois (see <link linkend="Boxes">Boxes</link>) ou pour le mesurer ou le manipuler. Le nom <literal>\<replaceable>cmd</replaceable></literal> doit commencer par une contr’oblique, et ne doit pas être déjà défini. </para> <para>L’allocation d’une boîte est globale. Cette commande est fragile -(voir <link linkend="_005cprotect">\protect</link>). +(see <link linkend="_005cprotect">\protect</link>). </para> </sect1> -<sect1 label="12.5" id="_005cnewenvironment-_0026-_005crenewenvironment"> +<sect1 label="12.8" id="_005cnewenvironment-_0026-_005crenewenvironment"> <title><literal>\newenvironment</literal> & <literal>\renewenvironment</literal></title> <indexterm role="fn"><primary>\newenvironment</primary></indexterm> <indexterm role="fn"><primary>\renewenvironment</primary></indexterm> @@ -5592,7 +7527,7 @@ utilisé avec des crochets à la suite, comme dans être suivi de crochet, alors, au sein de <replaceable>défdébut</replaceable>, le <indexterm role="cp"><primary>paramètre positionnel</primary></indexterm> paramètre positionnel <literal>#1</literal> se développe en la valeur par défaut, -c.-à-d. <replaceable>optargdefault</replaceable>. Dans les deux cas, le premier paramètre +c.-à-d. <replaceable>optargdéfaut</replaceable>. Dans les deux cas, le premier paramètre positionnel faisant référence à argument obligatoire est <literal>#2</literal>. </para> <para>Omettre <literal>[<replaceable>maval</replaceable>]</literal> dans l’appel est différent d’avoir des @@ -5648,7 +7583,7 @@ Dans le document, utilisez l’environnement comme ceci : </screen> <para>Ce dernier exemple montre comment sauvegarder la valeur d’un argument pour l’utiliser dans <replaceable>déffin</replaceable>, dans ce cas dans une boîte -(voir <link linkend="_005csbox">\sbox</link>). +(see <link linkend="_005csbox">\sbox</link>). </para> <screen>\newsavebox{\quoteauthor} \newenvironment{citequote}[1][Corneille]{% @@ -5661,7 +7596,7 @@ pour l’utiliser dans <replaceable>déffin</replaceable>, dans ce cas dans </screen> </sect1> -<sect1 label="12.6" id="_005cnewtheorem"> +<sect1 label="12.9" id="_005cnewtheorem"> <title><literal>\newtheorem</literal></title> <indexterm role="fn"><primary>\newtheorem</primary></indexterm> <indexterm role="cp"><primary>théorèmes, définition</primary></indexterm> @@ -5702,9 +7637,9 @@ fois. <para>Cette commande crée un compteur nommé <replaceable>name</replaceable>. De plus, à moins que l’argument optionnel <replaceable>numéroté_comme</replaceable> soit utilisé, la valeur courrante de <literal>\ref</literal> est celle de -<literal>\the<replaceable>numéroté_au_sein_de</replaceable></literal> (voir <link linkend="_005cref">\ref</link>). +<literal>\the<replaceable>numéroté_au_sein_de</replaceable></literal> (see <link linkend="_005cref">\ref</link>). </para> -<para>Cette déclaration est globale. Elle est fragile (voir <link linkend="_005cprotect">\protect</link>). +<para>Cette déclaration est globale. Elle est fragile (see <link linkend="_005cprotect">\protect</link>). </para> <variablelist><varlistentry><term><replaceable>nom</replaceable> </term><listitem><para>Le nom de l’environnement. Il ne doit pas commencer avec une @@ -5789,7 +7724,7 @@ utilise le même compteur que <literal>defn</literal>. Cela donne </screen> </sect1> -<sect1 label="12.7" id="_005cnewfont"> +<sect1 label="12.10" id="_005cnewfont"> <title><literal>\newfont</literal>: définit une nouvelle police (obsolète)</title> <indexterm role="fn"><primary>\newfont</primary></indexterm> <indexterm role="cp"><primary>polices, commandes pour déclarer de nouvelles</primary></indexterm> @@ -5816,7 +7751,7 @@ exemple, d’associer un gras et un romain) au travers de ce qu’il est convenu de nommer le « Nouveau Plan de Sélection de Polices de caractère », soit en utilisant des fichier <filename>.fd</filename> ou à travers l’utilisation d’un moteur qui sait accéder au système de polices de -caractère, tel que Xe&latex; (voir <link linkend="TeX-engines">Les moteurs +caractère, tel que Xe&latex; (see <link linkend="TeX-engines">Les moteurs &tex;</link>). <!-- xx explain nfss somewhere --> </para> @@ -5842,7 +7777,7 @@ caractères dans chacune d’elles : </screen> </sect1> -<sect1 label="12.8" id="_005cprotect"> +<sect1 label="12.11" id="_005cprotect"> <title><literal>\protect</literal></title> <indexterm role="fn"><primary>\protect</primary></indexterm> @@ -5868,11 +7803,11 @@ comme la table des matières. On appelle <firstterm>argument mouvant</firstterm> tout argument qui est développé en interne par &latex; sans être directement composé en sortie. Une commande est dite fragile si elle se développe pendant ce processus en un code &tex; non -valide. Certains exemples d’arguments mouvants sont ceut qui apparaissent -au sein des commande <literal>\caption{...}</literal> (voir <link linkend="figure">figure</link>), dans la -commande <literal>\thanks{...}</literal> (voir <link linkend="_005cmaketitle">\maketitle</link>), et dans les +valide. Certains exemples d’arguments mouvants sont ceux qui apparaissent +au sein des commandes <literal>\caption{...}</literal> (see <link linkend="figure">figure</link>), dans la +commande <literal>\thanks{...}</literal> (see <link linkend="_005cmaketitle">\maketitle</link>), et dans les expression en @ des environnements <literal>tabular</literal> et <literal>array</literal> -(voir <link linkend="tabular">tabular</link>). +(see <link linkend="tabular">tabular</link>). </para> <para>Si vous obtenez des erreurs étranges de commandes utilisées au sein d’arguments mouvants, essayez des les précéder d’un <literal>\protect</literal>. Il @@ -5896,7 +7831,7 @@ mystérieuse <para>Dans l’exemple suivant la commande <literal>\tableofcontents</literal> produit une erreur à cause du <literal>\(..\)</literal> dans le titre de section qui se développe en code incorrect &tex; dans le fichier <filename>.toc</filename>. Vous -pouvez résoudre ceci en remplaçat <literal>\(..\)</literal> +pouvez résoudre ceci en remplaçant <literal>\(..\)</literal> par <literal>\protect\(..\protect\)</literal>. </para> <screen>\begin{document} @@ -5997,12 +7932,29 @@ pour numéroter les articles de la liste. </para> <screen>\value{<replaceable>compteur</replaceable>} </screen> -<para>La commande <literal>\value</literal> produit la valeur de <replaceable>compteur</replaceable>. Ça peut -être utilisé partout là où &latex; attend un nombre, par exemple : +<para>Cette commande se développe en la valeur de <replaceable>compteur</replaceable>. Elle est +souvent utilisé dans <literal>\setcounter</literal> ou <literal>\addtocoutner</literal>, mais +<literal>\value</literal> peut être utilisé partout là où &latex; attend un +nombre. Elle ne doit pas être précédée par <literal>\protect</literal> +(see <link linkend="_005cprotect">\protect</link>). +</para> +<para>La commande <literal>\value</literal> n’est pas utiliser pour composer la valeur du +compteur. See <link linkend="_005calph-_005cAlph-_005carabic-_005croman-_005cRoman-_005cfnsymbol">\alph \Alph \arabic \roman \Roman \fnsymbol</link>. +</para> +<para>Cet exemple produit en sortie ‘<literal>Le compteur essai vaut 6. Le +compteur autre vaut 5</literal>’. </para> -<screen>\setcounter{moncompteur}{3} -\addtocounter{moncompteur}{1} -\hspace{\value{moncompteur}\parindent} +<screen>\newcounter{essai} \setcounter{essai}{5} +\newcounter{autre} \setcounter{autre}{\value{essai}} +\addtocounter{essai}{1} + +Le comppteur essai vaut \arabic{essai}. +Le compteur autre vaut \arabic{autre}. +</screen> +<para>Cet exemple insère <literal>\hspace{4\parindent}</literal>. +</para> +<screen>\setcounter{moncptr}{3} \addtocounter{moncptr}{1} +\hspace{\value{moncptr}\parindent} </screen> </sect1> @@ -6035,7 +7987,7 @@ quantité spécifiée par l’argument <replaceable>valeur</replaceable>, qu <indexterm role="fn"><primary>\refstepcounter</primary></indexterm> <para>La commande <literal>\refstepcounter</literal> fonctionne de la même façon que -<literal>\stepcounter</literal> Voir <link linkend="_005cstepcounter">\stepcounter</link>, à ceci près qu’elle définit +<literal>\stepcounter</literal> See <link linkend="_005cstepcounter">\stepcounter</link>, à ceci près qu’elle définit également la valeur courante de <literal>\ref</literal> comme le résultat de <literal>\thecounter</literal>. </para> @@ -6063,7 +8015,7 @@ re-initialise tous les compteurs subsidiaires. pas remis à jour pendant que le traitement par &tex; progresse. </para> <para>En relation avec ces compteurs, la commande <literal>\today</literal> produit une -chaîne représentant le jour courant (voir <link linkend="_005ctoday">\today</link>). +chaîne représentant le jour courant (see <link linkend="_005ctoday">\today</link>). </para> </sect1> @@ -6072,10 +8024,118 @@ chaîne représentant le jour courant (voir <link linkend="_005ctoday">\today</l <title>Longueurs</title> <indexterm role="cp"><primary>longueurs, définir et utiliser</primary></indexterm> -<indexterm role="cp"><primary>longueur</primary></indexterm> -<para>Une <firstterm>longeur</firstterm> est une mesure de distance. Beaucoup de commandes +<para>Une <firstterm>longueur</firstterm> est une mesure de distance. Beaucoup de commandes &latex; prennent une longueur en argument. </para> +<indexterm role="cp"><primary>rigides, longueurs</primary></indexterm> +<indexterm role="cp"><primary>élastiques, longueurs</primary></indexterm> +<indexterm role="cp"><primary>dimen &tex; de base</primary></indexterm> +<indexterm role="cp"><primary>skip &tex; de base</primary></indexterm> +<indexterm role="cp"><primary>glue &tex; de base</primary></indexterm> +<para>Il y a deux types de longueur. Une <firstterm>longueur rigide</firstterm> telle que +<literal>10pt</literal> ne contient pas de composante en <literal>plus</literal> ou +<literal>minus</literal>. (En &tex; de base on appelle cela une <firstterm>dimen</firstterm>). +Une <firstterm>longueur élastique</firstterm> (ce qu’en &tex; de base on appel un +<firstterm>skip</firstterm> ou une <firstterm>glue</firstterm>) telle que dans <literal>1cm plus0.05cm +minus0.01cm</literal> peut contenir l’un ou l’autre de ces composantes ou les +deux. Dans cette longueur élastique, le <literal>1cm</literal> est la <firstterm>longueur +naturelle</firstterm> alors que les deux autres, les composantes en <literal>plus</literal> et +<literal>minus</literal>, permette à &tex; à dilater ou contracter la longueur pour +optimiser la disposition. +</para> +<para>Les exemples qui suivent utilisent ces deux commandes. +</para> +<screen>% Fait une barre noire de 10pt de haut et #1 de large +\newcommand{\blackbar}[1]{\rule{#1}{10pt}} + +% Fait une boîte autour de #2 qui est #1 de large (sans la bordure) +\newcommand{\showhbox}[2]{% + \fboxsep=0pt\fbox{\hbox to #1{#2}}} +</screen> +<para>Cet exemple utilise ces commandes pour afficher une barre noire de +100 points de long entre ‘<literal>XXX</literal>’ et ‘<literal>YYY</literal>’. Cette longueur est +rigide. +</para> +<screen>XXX\showhbox{100pt}{\blackbar{100pt}}YYY +</screen> +<para>Quant au longueur élastiques, la contraction est le plus simple des +deux : avec <literal>1cm minus 0.05cm</literal>, la longueur naturelle est 1cm +mais &tex; peut la contracter jusqu’à 0,95cm. &tex; refuse de +contracter plus que cela. Ainsi, ci-dessous le premier <literal>\showhbox</literal> +fonctionne bien, un espace de 98 points étant produit entre les deux +barres. +</para> +<screen>XXX\showhbox{300pt}{% + \blackbar{101pt}\hspace{100pt minus 2pt}\blackbar{101pt}}YYY + +XXX\showhbox{300pt}{% + \blackbar{105pt}\hspace{100pt minus 1pt}\blackbar{105pt}}YYY +</screen> +<para>Mais le second produit un avertissement du genre de ‘<literal>Overfull +\hbox (1.0pt too wide) detected at line 17</literal>’. En sortie le premier +‘<literal>Y</literal>’ est écrasé par la fin de la barre noire, parce que la matière +contenue par la boîte est plus large que les 300pt alloués, et que +&tex; a refusé de contracter le total en deçà de 309 points. +</para> +<para>Dilater est similaire à contracter, à ceci près que si &tex; doit +dilater plus que la quantité disponible, alors il le fait. Ci-dessous +la première ligne fonctionne bien, et produit un espace de 110 points +entre les barres. +</para> +<screen>XXX\showhbox{300pt}{% + \blackbar{95pt}\hspace{100pt plus 10pt}\blackbar{95pt}}YYY + +XXX\showhbox{300pt}{% + \blackbar{95pt}\hspace{100pt plus 1pt}\blackbar{95pt}}YYY +</screen> +<para>Dans la seconde ligne &tex; a besoin de dilater de 10 points alors que +seulement 1 point a été spécifié. &tex; dilate l’espace jusqu’à la +longueur requise mais il produit un avertissement du genre de +‘<literal>Underfull \hbox (badness 10000) detected at line 22</literal>’. (On ne +discute pas ici de ce que signifie « badness »). +</para> +<para>Il est possible de mettre à la fois de la dilatation et de la +contraction dans la même longueur, comme dans <literal>1ex plus 0.05ex +minus 0.02ex</literal>. +</para> +<para>Si &tex; ajuste plus d’une longueur élastique alors il alloue la +dilatation ou la contraction proportionnellement. +</para> +<screen>XXX\showhbox{300pt}{% + \blackbar{100pt}% gauche + \hspace{0pt plus 50pt}\blackbar{80pt}\hspace{0pt plus 10pt}% milieu + \blackbar{100pt}}YYY % droite +</screen> +<para>Les barres de gauche et de droite prennent 100 points, de sorte que celle +du milieu a besoin également de 100. La barre du milieu fait 80 points +et donc les deux <literal>\hspace</literal> doivent se dilater de 20 points. +Comme les deux sont <literal>plus 50pt</literal> et <literal>plus 10pt</literal>, &tex; obtient +5/6 de la dilatation du premier espace et 1/6 du second. +</para> +<para>La composante <literal>plus</literal> ou <literal>minus</literal> d’une longueur élastique peut +contenir un composante en <firstterm>fill</firstterm>, comme dans <literal>1in plus2fill</literal>. +Cela donne à la longueur une dilatabilité ou contractabilité infinie de +sorte que &tex; puisse l’ajuster à n’importe quelle distance. Dans +l’exemple suivant les deux figures sont également espacées +horizontalement sur la page. +</para> +<screen>\begin{minipage}{\linewidth} + \hspace{0pt plus 1fill}\includegraphics{godel.png}% + \hspace{0pt plus 1fill}\includegraphics{einstein.png}% + \hspace{0pt plus 1fill} +\end{minipage} +</screen> +<para>&tex; en réalité a trois niveaux d’infinité pour les composantes +élastiques : <literal>fil</literal>, <literal>fill</literal>, et <literal>filll</literal> dans l’ordre +d’infinité croissante. D’ordinaire les auteurs de documents n’utilisent +que celle du milieu (see <link linkend="_005chfill">\hfill</link> et see <link linkend="_005cvfill">\vfill</link>). +</para> +<para>Multiplier une longueur élastique par un nombre la transforme en une +longueur rigide, de sorte qu’après <literal>\setlength{\ylength}{2.5cm +plus 0.5cm}</literal> et <literal>\setlength{\zlength}{3\ylength}</literal> alors la +valeur de <literal>\zlength</literal> est <literal>2.5cm</literal>. +</para> + <sect1 label="14.1" id="Units-of-length"> <title>Unités de longueur</title> @@ -6159,7 +8219,7 @@ points. <para>En mode mathématique, beaucoup de définitions sont exprimées dans l’unité mathématique <firstterm>mu</firstterm> donnée par 1em = 18mu, où le em est pris de la famille courante des symboles mathématiques. -Voir <link linkend="Spacing-in-math-mode">Spacing in math mode</link>. +See <link linkend="Spacing-in-math-mode">Spacing in math mode</link>. </para> </sect1> @@ -6252,7 +8312,7 @@ longueur <literal>\<replaceable>longueur</replaceable></literal> à la largeur <indexterm role="fn"><primary>\totalheight</primary></indexterm> </para> <para>Ces paramètres de longueur peuvent être utilisés au sein des arguments -des commandes de fabrication de boîte (voir <link linkend="Boxes">Boxes</link>). Il spécifient la +des commandes de fabrication de boîte (see <link linkend="Boxes">Boxes</link>). Il spécifient la largeur naturelle, etc., du texte dans la boîte. <literal>\totalheight</literal> vaut <inlineequation><mathphrase><literal>\height</literal> + <literal>\depth</literal></mathphrase></inlineequation>. Pour frabriquer une boîte dont le texte @@ -6316,8 +8376,8 @@ supprimé. </para> </sect1> -<sect1 label="15.3" id="_005cparskip"> -<title><literal>\parskip</literal></title> +<sect1 label="15.3" id="_005cparindent-_0026-_005cparskip"> +<title><literal>\parindent</literal> & <literal>\parskip</literal></title> <indexterm role="fn"><primary>\parskip</primary></indexterm> <indexterm role="cp"><primary>espace vertical avant les paragraphes</primary></indexterm> @@ -6401,10 +8461,13 @@ les notes de déborder hors du bas de la page. <indexterm role="cp"><primary>mode mathématique, entrer</primary></indexterm> <indexterm role="fn"><primary>environnement <literal>math</literal></primary></indexterm> <indexterm role="fn"><primary><literal>math</literal>, environnement</primary></indexterm> + <indexterm role="fn"><primary>environnement <literal>displaymath</literal></primary></indexterm> <indexterm role="fn"><primary><literal>displaymath</literal>, environnement</primary></indexterm> + <indexterm role="fn"><primary>environnement <literal>equation</literal></primary></indexterm> <indexterm role="fn"><primary><literal>equation</literal>, environnement</primary></indexterm> + <para>Il y a trois environnements qui mettent &latex; en mode mathématique : </para> <variablelist><varlistentry><term><literal>math</literal> @@ -6458,9 +8521,9 @@ dessus et en dessous le signe de sommation. Par exemple <title>Indices inférieurs & supérieurs</title> <indexterm role="cp"><primary>indice supérieur</primary></indexterm> <indexterm role="cp"><primary>indice inférieur</primary></indexterm> +<indexterm role="fn"><primary>^ indice supérieur</primary></indexterm> +<indexterm role="fn"><primary>_ indice inférieur</primary></indexterm> <indexterm role="cp"><primary>exposant</primary></indexterm> -<indexterm role="fn"><primary>_</primary></indexterm> -<indexterm role="fn"><primary>^</primary></indexterm> <para>En mode mathématique, utilisez le caractère caret <literal>^</literal> pour qu’une expression <replaceable>exp</replaceable> apparaisse en indice supérieur, c.-à-d. tapez @@ -6521,7 +8584,6 @@ le mode, voir <link linkend="_005censuremath">\ensuremath</link>. </para> <!-- xx Add Negation: @code{} for negations of relevant symbols --> <!-- Useful: http://www.w3.org/TR/WD-math-970515/section6.html --> - <variablelist><varlistentry><term><indexterm role="fn"><primary>\|</primary></indexterm><literal>\|</literal> </term><listitem><para>∥ Parallèle (relation). Synonyme : <literal>\parallel</literal>. </para> @@ -7524,7 +9586,7 @@ police romaine et avec l’espacement adéquat. <para>&latex; fournit diverse commandes pour produire des lettres accentuées en math. Elles diffèrent de celles concernant les accents en texte normal -(voir <link linkend="Accents">Accents</link>). +(see <link linkend="Accents">Accents</link>). </para> <variablelist><varlistentry><term><indexterm role="fn"><primary>\acute</primary></indexterm><literal>\acute</literal> </term><listitem><indexterm role="cp"><primary>accent aigu en math</primary></indexterm> @@ -7612,7 +9674,7 @@ normales pour les textes mathématiques. </para> <para>En mode mathématique, beaucoup de définitions sont exprimées dans l’unité mathématique <firstterm>mu</firstterm> donnée par 1 em = 18 mu, où le em est pris -de la famille courante des symboles mathématiques (voir <link linkend="Units-of-length">Units of length</link>). +de la famille courante des symboles mathématiques (see <link linkend="Units-of-length">Units of length</link>). </para> <variablelist><varlistentry><term><literal>\;</literal> </term><listitem><indexterm role="cp"><primary>thickspace</primary></indexterm> @@ -7634,7 +9696,7 @@ de la famille courante des symboles mathématiques (voir <link linkend="Units-of <indexterm role="fn"><primary>\,</primary></indexterm> <indexterm role="fn"><primary>\thinspace</primary></indexterm> <para>Normalement <literal>3mu</literal>. Le nom long est <literal>\thinspace</literal>. Utilisable à -la fois en mode mathématique et en mode texte. Voir <link linkend="_005cthinspace">\thinspace</link>. +la fois en mode mathématique et en mode texte. See <link linkend="_005cthinspace">\thinspace</link>. </para> </listitem></varlistentry><varlistentry><term><literal>\!</literal> </term><listitem><indexterm role="fn"><primary>\!</primary></indexterm> @@ -8007,7 +10069,7 @@ change en <replaceable>style</replaceable> pour la page courante seulement. </para> <para>Une autre commande produisant de l’espace est <literal>\,</literal> pour produire une espace « fine » (d’habitude 1/6quad). Elle peut être utilisée en -mode texte, mais est le plus souvent utile en mode math (voir <link linkend="Spacing-in-math-mode">Espacement en mode mathématique</link>). +mode texte, mais est le plus souvent utile en mode math (see <link linkend="Spacing-in-math-mode">Espacement en mode mathématique</link>). </para> <!-- --> <!-- --> @@ -8022,7 +10084,7 @@ mode texte, mais est le plus souvent utile en mode math (voir <link linkend="Spa </screen> <para>La commande <literal>\hspace</literal> ajoute de l’espace horizontal. L’argument <replaceable>longueur</replaceable> peut être exprimé en toute unité que &latex; comprend : -points, pouces, etc. C’est une longueur elastique. Vous pouvez +points, pouces, etc. C’est une longueur élastique. Vous pouvez ajouter aussi bien de l’espace négatif que de l’espace positif avec une commande <literal>\hspace</literal> ; ajouter de l’espace negatif revient à retourner en arrière. @@ -8061,7 +10123,7 @@ une abréviation. <para>Par défaut, lorsque &latex; justifie une ligne il ajuste l’espace après le point final de chaque phrase (ou le point d’interrogation, la virgule, ou le deux-points) plus que pour l’espace inter-mot -(voir <link linkend="_005cfrenchspacing">\frenchspacing</link>). &latex; suppose que le point finit une phrase +(see <link linkend="_005cfrenchspacing">\frenchspacing</link>). &latex; suppose que le point finit une phrase à moins qu’il soit précédé d’une lettre capitale, dans quel cas il considère que ce point fait partie d’une abréviation. Il est à noter que si un point final de phrase est immédiatement suivit d’une parenthèse ou @@ -8075,7 +10137,7 @@ contr’oblique-espace (<literal>\ </literal>), où d’un tilde (<liter exemples : <literal>Nat.\ Acad.\ Science</literal>, et <literal>Mr.~Bean</literal>, et <literal>(du fumier, etc.)\ à vendre</literal>. </para> -<para>Pour une autre utilisation de <literal>\ </literal>, voir <link linkend="_005c_0028SPACE_0029-after-control-sequence"><literal>\ </literal> après une séquence de contrôle</link>. +<para>Pour une autre utilisation de <literal>\ </literal>, see <link linkend="_005c_0028SPACE_0029-after-control-sequence"><literal>\ </literal> après une séquence de contrôle</link>. </para> <para>Dans la situation opposée, si vous avez une lettre capitale suivi d’un point qui finit la phrase, alors placez <literal>\@</literal> avant ce point. Par ex., @@ -8108,6 +10170,7 @@ d’un signe de ponctuation. Comparez : <indexterm role="fn"><primary>paquetage <literal>xspace</literal></primary></indexterm> <indexterm role="fn"><primary><literal>xspace</literal>, paquetage</primary></indexterm> + <para>Certaines commandes, notamment celles définies avec le paquetage <literal>xspace</literal>, ne suivent pas ce comportement standard. </para> @@ -8137,7 +10200,7 @@ la même façon. <title><literal>\thinspace</literal></title> <indexterm role="fn"><primary>\thinspace</primary></indexterm> -<para><literal>\thinspace</literal> produit une espace insécable et non-elastique qui vaut +<para><literal>\thinspace</literal> produit une espace insécable et non-élastique qui vaut 1/6 d’em. C’est l’espace adéquate entre des guillemets anglais simples emboîtés, comme dans ’”.<!-- Abuse @dmn, which is a thin --> <!-- space in Texinfo. --> @@ -8166,7 +10229,7 @@ avec <emphasis>f: f;</emphasis>. <para>Lorsque on change de fontes avec des commandes telles que <literal>\textit{italic text}</literal> ou <literal>{\itshape italic text}</literal>, &latex; insère automatiquement une correction italique appropriée si -nécessaire (voir <link linkend="Font-styles">Font styles</link>). +nécessaire (see <link linkend="Font-styles">Font styles</link>). </para> <para>Malgré leur nom, les caractères romains peuvent aussi avoir une correction italique. Comparez : @@ -8183,7 +10246,7 @@ l’espacement y est fait d’une façon différente. <indexterm role="fn"><primary>\hrulefill</primary></indexterm> <indexterm role="fn"><primary>\dotfill</primary></indexterm> -<para>Produit une longueur elastique infinie (voir <link linkend="Lengths">Lengths</link>) remplie avec un +<para>Produit une longueur élastique infinie (see <link linkend="Lengths">Lengths</link>) remplie avec un filled filet horizontal (c.-à-d. une ligne) ou avec des pointillés, au lieu de just de l’espace blanche. </para> @@ -8216,7 +10279,7 @@ défaut de 0.33em à 1.00em. <para><literal>\addvspace{<replaceable>length</replaceable>}</literal> </para> <para>Ajoute un espace vertical de longeur <replaceable>length</replaceable>, ce qui est une -longueur élatsique (voir <link linkend="Lengths">Lengths</link>). Toutefois, si l’espace vertical a +longueur élatsique (see <link linkend="Lengths">Lengths</link>). Toutefois, si l’espace vertical a déjà été ajouté au même point de la sortie par une commande <literal>\addvspace</literal> précédente, alors cette commande n’ajoutera pas plus d’espace que nécessaire à fabriquer la longeur naturelle de l’espace @@ -8228,7 +10291,7 @@ exemple, un environnement Theorem est défini pour commencer et finir en <literal>\addvspace{..}</literal> de sorte que deux Theorem consécutifs sont séparés par un espace vertical, et non deux.) </para> -<para>Cette commande est fragile (voir <link linkend="_005cprotect">\protect</link>). +<para>Cette commande est fragile (see <link linkend="_005cprotect">\protect</link>). </para> <para>L’erreur ‘<literal>Something's wrong--perhaps a missing \item</literal>’ signifie que vous n’étiez pas en mode vertical quand vous avez invoqué cette @@ -8273,15 +10336,15 @@ rétrécissement (la valeur par défaut pour les classes <literal>book</literal> <indexterm role="cp"><primary>dilatation verticale infinie</primary></indexterm> <indexterm role="cp"><primary>verticale infinie, dilatation</primary></indexterm> -<para>Finit le paragraphe courante et insère une longueur elastique verticale -(voir <link linkend="Lengths">Lengths</link>) qui est infinie, de sorte qu’elle puisse se dilater ou -that is se rétrécire autant que nécessaire. +<para>Finit le paragraphe courant et insère une longueur élastique verticale +(see <link linkend="Lengths">Lengths</link>) qui est infinie, de sorte qu’elle puisse se dilater ou +se rétrécir autant que nécessaire. </para> <para>On l’utilise souvent de la même façon que <literal>\vspace{\fill}</literal>, à ceci près que <literal>\vfill</literal> finit le paragraphe courant, tandis que -<literal>\vspace{\fill}</literal> ajoute une espace verticale infinin sous sa +<literal>\vspace{\fill}</literal> ajoute un espace vertical infini sous sa ligne sans tenir compte de la structure du paragraphe. Dans les deux -cas cette espace disparaît à la fin de la page ; pour éviter cela +cas cet espace disparaît à la fin de la page ; pour éviter cela voir <link linkend="_005cvspace">\vspace</link>. </para> <para>Dans l’exemple qui suit la page est remplie, de sorte que les lignes en @@ -8310,7 +10373,7 @@ Chien perdu ! \vspace*{<replaceable>longueur</replaceable>} </screen> <para>Ajout l’espace verticale <replaceable>longueur</replaceable>. Celle-ci peut-être négative ou positive, -et c’est une longueur élastique (voir <link linkend="Lengths">Lengths</link>). +et c’est une longueur élastique (see <link linkend="Lengths">Lengths</link>). </para> <para>&latex; enlève l’espace verticale provenant de <literal>\vspace</literal> aux sauts de page, c.-à-d. au sommet et au bas des pages. La version étoilée @@ -8339,7 +10402,7 @@ chacune d’elle. <title>Boîtes</title> <indexterm role="cp"><primary>boîtes</primary></indexterm> -<para>Tous les paramètres de longueurs prédéfinies (voir <link linkend="Predefined-lengths">Predefined lengths</link>) +<para>Tous les paramètres de longueurs prédéfinies (see <link linkend="Predefined-lengths">Predefined lengths</link>) peuvent être utilisés au sein des arguments des commandes de fabrication de boîtes. </para> @@ -8383,7 +10446,7 @@ la largeur de la boîte avec l’argument optionnel <replaceable>largeur</re (valant par défaut ‘<literal>.4pt</literal>’), et laisse un espace de <literal>\fboxsep</literal> (valant par défaut ‘<literal>3pt</literal>’) entre le filet et le contenu de la boîte. </para> -<para>Voir <link linkend="_005cframebox-_0028picture_0029">\framebox (picture)</link>, pour la commande <literal>\framebox</literal> dans +<para>See <link linkend="_005cframebox-_0028picture_0029">\framebox (picture)</link>, pour la commande <literal>\framebox</literal> dans l’environnement <literal>picture</literal>. </para> @@ -8431,62 +10494,72 @@ texte au sein de la boîte est determinée par l’argument optionnel contenir de l’espace dilatable pour que cela marche. </para></listitem></varlistentry></variablelist> <para><literal>\makebox</literal> est aussi utilisé au sein de l’environnement <literal>picture</literal>, -voir <link linkend="_005cmakebox-_0028picture_0029">\makebox (picture)</link>. +see <link linkend="_005cmakebox-_0028picture_0029">\makebox (picture)</link>. </para> </sect1> <sect1 label="20.5" id="_005cparbox"> <title><literal>\parbox</literal></title> <indexterm role="fn"><primary>\parbox</primary></indexterm> +<indexterm role="cp"><primary>paragraphe, mode</primary></indexterm> +<indexterm role="cp"><primary>paragraphe, dans une boîte</primary></indexterm> -<para>Synopsis : + +<para>Synopsis, l’un parmi les suivants : </para> -<screen>\parbox[<replaceable>position</replaceable>][<replaceable>hauteur</replaceable>][<replaceable>pos-interne</replaceable>]{<replaceable>largeur</replaceable>}{<replaceable>texte</replaceable>} +<screen>\parbox{<replaceable>largeur</replaceable>}{<replaceable>contenu</replaceable>} +\parbox[<replaceable>position</replaceable>]{<replaceable>largeur</replaceable>}{<replaceable>contenu</replaceable>} +\parbox[<replaceable>position</replaceable>][<replaceable>hauteur</replaceable>]{<replaceable>largeur</replaceable>}{<replaceable>contenu</replaceable>} +\parbox[<replaceable>position</replaceable>][<replaceable>hauteur</replaceable>][<replaceable>pos-interne</replaceable>]{<replaceable>largeur</replaceable>}{<replaceable>contenu</replaceable>} </screen> <indexterm role="cp"><primary>mode paragraphe</primary></indexterm> <indexterm role="cp"><primary>paragraphe, mode</primary></indexterm> -<para>La commande <literal>\parbox</literal> produit une boîte dont le contenu est créé en -<firstterm>mode paragraphe</firstterm>. On devrait l’utiliser pour fabriquer une boîte à -partir de petits moreaux de texte, avec rien de trop élaboré à -l’intérieur. En particulier, vous ne devriez utiliser aucun -environnement de fabrication de paragraphe au sein de l’argument -<replaceable>texte</replaceable> d’une <literal>\parbox</literal>. Pour des morceaux de texte de plus -grande taille, y compris ceux comprenant un environnement de -fabrication de paragraphe, vous devriez utiliser un environnement -<literal>minipage</literal> (voir <link linkend="minipage">minipage</link>). -</para> -<para><literal>\parbox</literal> a deux arguments obligatoires : -</para> -<variablelist><varlistentry><term><replaceable>largeur</replaceable> -</term><listitem><para>la largeur de la parbox; -</para></listitem></varlistentry><varlistentry><term><replaceable>texte</replaceable> -</term><listitem><para>le texte qui à mettre dans la parbox. -</para></listitem></varlistentry></variablelist> -<para>Par défault &latex; positionne verticallement un parbox de sorte que -son centre soit aligné avec le centre de la ligne de texte -alentour. Lorsque l’argument optionnel <replaceable>position</replaceable> est présent et -vaut soit ‘<literal>t</literal>’ soit ‘<literal>b</literal>’, cela vous permet respectivement -d’aligner soit la ligne du haut, soit la ligne du bas de la parbox avec -la ligne de base du texte alentour. Il est possible de spécifier -<replaceable>position</replaceable> à ‘<literal>m</literal>’ pour avoir le comportement par défaut. +<para>La commande <literal>\parbox</literal> produit une boîte de texte de largeur +<literal>largeur</literal>. Cette commande peut être utilisée pour fabriquer une +boîte à partir de petits morceaux de texte, et contenant un seul +paragraphe. Cette commande est fragile (see <link linkend="_005cprotect">\protect</link>). </para> -<para>L’argument optionnel <replaceable>hauteur</replaceable> l’emporte sur la hauteur naturelle de la -boîte. -</para> -<para>L’argument <replaceable>pos-interne</replaceable> contrôle la position du texte au sein de la -boîte, comme suit ; s’il n’est pas spécifié, <replaceable>position</replaceable> est utilisé. +<screen>\begin{picture}(0,0) + ... + \put(1,2){\parbox{4.5cm}{\raggedright Le graphique étant une + droite sur une échelle logarithmique, la relation est + exponentielle.}} +\end{picture} +</screen> +<para>Le <replaceable>contenu</replaceable> est taité en mode texte (see <link linkend="Modes">Modes</link>) ainsi +&latex; fait des sauts de ligne de sorte à former un paragraphe. Mais +il ne fabriquera pas plusieurs paragraphes ; pour cela, utilisez un +environnement <literal>minipage</literal> (see <link linkend="minipage">minipage</link>). +</para> +<para>Les options d’une <literal>\parbox</literal> (à l’exception du <replaceable>contenu</replaceable>) sont +les mêmes que pour une <literal>minipage</literal>. Par commodité on rappelle ces +options ici plus bas, mais se référer à <link linkend="minipage">minipage</link> pour une +description complète. +</para> +<para>Il y a deux arguments obligatoires. La <replaceable>largeur</replaceable> est une longueur +rigide (see <link linkend="Lengths">Lengths</link>). Elle règle la largeur de la boîte dans +laquelle &latex; compose le <literal>contenu</literal>. Le <literal>contenu</literal> est le +texte qui est placé dans cette boîte. Il ne devrait pas avoir de +composants qui fabriquent des paragraphes. +</para> +<para>Il y a trois arguments optionnels, <replaceable>position</replaceable>, <replaceable>hauteur</replaceable>, et +<replaceable>pos-interne</replaceable>. La <replaceable>position</replaceable> donne l’alignement vertical de la +<firstterm>parbox</firstterm> relativement au texte alentour. La valeurs prises en charge +sont <literal>c</literal> ou <literal>m</literal> pour que le centre selon la dimension +verticale de la parbox soit aligné avec le centre de la ligne de texte +adjacente (c’est le réglage par défaut), ou <literal>t</literal> pour s’accorder la +ligne du haut de la parbox avec la ligne de base du texte alentour, ou +<literal>b</literal> pour accorder la ligne du bas. +</para> +<para>L’argument optionnel <replaceable>hauteur</replaceable> l’emporte sur la hauteur naturelle de +la boîte. +</para> +<para>L’argument optionnel <replaceable>pos-interne</replaceable> contrôle la position du +<replaceable>contenu</replaceable> au sein de la parbox. Les valeurs possibles sont : +<literal>t</literal> pour le centrer verticalement, <literal>b</literal> pour le place en bas de +la boîte, et <literal>s</literal> pour le dilater verticalement (pour cela, le texte +doit contenir de l’espace vertical eslastique). </para> -<variablelist><varlistentry><term><literal>t</literal> -</term><listitem><para>le texte est placé en haut de la boîte. -</para></listitem></varlistentry><varlistentry><term><literal>c</literal> -</term><listitem><para>le texte est centré dans la boîte. -</para></listitem></varlistentry><varlistentry><term><literal>b</literal> -</term><listitem><para>le texte est placé en bas de la boîte. -</para></listitem></varlistentry><varlistentry><term><literal>s</literal> -</term><listitem><para>dilatation (stretch) verticale ; le texte doit contenir de l’espaces -dilatable verticalement pour que cela fonctionne. -</para></listitem></varlistentry></variablelist> - </sect1> <sect1 label="20.6" id="_005craisebox"> <title><literal>\raisebox</literal></title> @@ -8518,10 +10591,10 @@ profondeur naturelles. <screen>\savebox{<replaceable>\boxcmd</replaceable>}[<replaceable>largeur</replaceable>][<replaceable>pos</replaceable>]{<replaceable>texte</replaceable>} </screen> <para>Cette commande compose <replaceable>texte</replaceable> dans une boîte de la même façon -qu’avec <literal>\makebox</literal> (voir <link linkend="_005cmakebox">\makebox</link>), à ceci près qu’au lieu +qu’avec <literal>\makebox</literal> (see <link linkend="_005cmakebox">\makebox</link>), à ceci près qu’au lieu d’imprimer la boîte résultante, elle la sauvegarde dans une boîte étiquettée <replaceable>\boxcmd</replaceable>, ce qui doit avoir été déclaré avec -<literal>\newsavebox</literal> (voir <link linkend="_005cnewsavebox">\newsavebox</link>). +<literal>\newsavebox</literal> (see <link linkend="_005cnewsavebox">\newsavebox</link>). </para> </sect1> @@ -8534,10 +10607,10 @@ d’imprimer la boîte résultante, elle la sauvegarde dans une boîte <screen>\sbox{<replaceable>\boxcmd</replaceable>}{<replaceable>texte</replaceable>} </screen> <para><literal>\sbox</literal> tape <replaceable>texte</replaceable> au sein d’une boîte tout comme <literal>\mbox</literal> -(voir <link linkend="_005cmbox">\mbox</link>) à ceci près qu’au lieu que la boîte résultante soit +(see <link linkend="_005cmbox">\mbox</link>) à ceci près qu’au lieu que la boîte résultante soit incluse dans la sortie normale, elle est sauvegardée dans la boîte étiquetée <replaceable>\boxcmd</replaceable>. <replaceable>\boxcmd</replaceable> doit avoir été préalablement -déclarée avec <literal>\newsavebox</literal> (voir <link linkend="_005cnewsavebox">\newsavebox</link>). +déclarée avec <literal>\newsavebox</literal> (see <link linkend="_005cnewsavebox">\newsavebox</link>). </para> </sect1> @@ -8550,12 +10623,1227 @@ déclarée avec <literal>\newsavebox</literal> (voir <link linkend="_005cnewsave <screen>\usebox{<replaceable>\boxcmd</replaceable>} </screen> <para><literal>\usebox</literal> produit la boîte la plus récemment sauvegardée dans le -bac <replaceable>\boxcmd</replaceable> par une commande <literal>\savebox</literal> (voir <link linkend="_005csavebox">\savebox</link>). +bac <replaceable>\boxcmd</replaceable> par une commande <literal>\savebox</literal> (see <link linkend="_005csavebox">\savebox</link>). +</para> +</sect1> +</chapter> +<chapter label="21" id="Color"> +<title>Couleur</title> + +<indexterm role="cp"><primary>couleur</primary></indexterm> + +<para>Vous pouvez colorer du texte, des filets, etc. Vous pouvez également +colorer l’intérieur d’une boîte ou une page entière et écrire du texte +par dessus. </para> +<para>La prise en charge des couleurs se fait via un paquetage +supplementaire. Aussi, toutes les commandes qui suivent ne fonctionnent +que si le préambule de votre document contient +<literal>\usepackage{color}</literal>, qui fournit le paquetage standard. +</para> +<para>Beaucoup d’autres paquetages complémentent également les possibilité de +&latex; en matière de couleurs. Notamment <filename>xcolor</filename> est largement +utilisé et étend significativement les possibilités décrites ici, y +compris par l’ajout des modèles de couleur ‘<literal>HTML</literal>’ et ‘<literal>Hsb</literal>’. +</para> + + +<sect1 label="21.1" id="Color-package-options"> +<title>Options du paquetage <literal>color</literal></title> +<indexterm role="cp"><primary>color options du paquetage</primary></indexterm> +<indexterm role="cp"><primary>options, paquetage color</primary></indexterm> + +<para>Synopsis (à mettre dans le préambule du document) : +</para> +<screen>\usepackage[<replaceable>liste d'option séparées par des virgules</replaceable>]{color} +</screen> +<para>Quand vous chargez le paquetage <filename>color</filename> il y a deux types d’options +disponbiles. +</para> +<para>Le premier spécifie le <firstterm>pilote d’impression</firstterm>. &latex; ne contient +pas d’information sur les diférents système de sortie, mais au lieu de +cela dépend de l’information stockée dans un fichier. Normalement vous +ne devriez pas spécifier les options de pilote dans le document, mais au +lieu de cela vous vous reposez sur les valeurs par défaut de votre +système. Un avantage de procéder ainsi est que cela rend votre document +portable entre systèmes. Pour être complet nous incluons une liste des +pilotes. Ceux présentement pertinents sont : <filename>dvipdfmx</filename>, +<filename>dvips</filename>, <filename>dvisvgm</filename>, <filename>luatex</filename>, <filename>pdftex</filename>, +<filename>xetex</filename>. Les deux pilotes <filename>xdvi</filename> et <filename>oztex</filename> sont pour +l’essentiel des alias de <filename>dvips</filename> (et <filename>xdvi</filename> est monochrome). +Ceux qui ne devraient pas être utilisés pour de nouveaux systèmes récent +sont : <filename>dvipdf</filename>, <filename>dvipdfm</filename>, <filename>dviwin</filename>, <filename>dvipsone</filename>, +<filename>emtex</filename>, <filename>pctexps</filename>, <filename>pctexwin</filename>, <filename>pctexhp</filename>, +<filename>pctex32</filename>, <filename>truetex</filename>, <filename>tcidvi</filename>, <filename>vtex</filename> (et +<filename>dviwindo</filename> est un alias de <filename>dvipsone</filename>). +</para> +<para>Les options du second type, autres que les pilotes, sont listées ci-dessous. +</para> +<variablelist> +<varlistentry><term><literal>monochrome</literal> +</term><listitem><para>Désactive les commande de couleur, de sorte qu’elles ne produisent pas +d’erreur, mais ne produisent pas non plus de couleurs. +</para> +</listitem></varlistentry><varlistentry><term><literal>dvipsnames</literal> +</term><listitem><para>Rend disponible une liste de 68 noms de couleur qui sont d’usage +fréquent, en particulier dans des documents qui ne sont pas modernes. +Ces noms de couelurs étaient à l’origine fournis par le pilote +<filename>dvips</filename>, d’où le nom de l’option. +</para> +</listitem></varlistentry><varlistentry><term><literal>nodvipsnames</literal> +</term><listitem><para>Ne charge pas cette liste de noms de couleur, faisant faire à &latex; +une toute petite économie d’espace mémoire. +</para> +</listitem></varlistentry></variablelist> + +</sect1> +<sect1 label="21.2" id="Color-models"> +<title>Modèles de couleur</title> + +<indexterm role="cp"><primary>modèles de couleur</primary></indexterm> + +<para>Un <firstterm>modèle de couleur</firstterm> est une façon de représenter les couleurs. +Les possibilité de &latex; dépendent du pilote d’impression. Toutefois, +les pilotes <filename>pdftex</filename>, <filename>xetex</filename>, et <filename>luatex</filename> sont de nos +jours de loin les plus largement utilisés. Les modèles ci-après +fonctionnent pour ces pilotes. À une exception près ils sont également +pris en charge par tous les autre pilotes d’impression utilisés +aujourd’hui. +</para> +<para>Il est à noter qu’une combinaison de couleur peut être additive, ou +soustractive. Les combinaisons additives mélangent les couleurs de la +lumière, de sorte que par exemple combiner des instensités pleines de +rouge, vert et bleu produit du blanc. Les combinaisons soustractives +mélangent les pigments, tels que les encres, de sorte que combiner des +intensités pleine de cyan, magenta et jaune produit du noir. +</para> +<variablelist><anchor id="color-models-cmyk"/><varlistentry><term><literal>cmyk</literal> +</term><listitem><para>Un liste séparée de virgule avec quatre nombres réel compris entre 0 et +1 inclus. Le premier nombre est l’intensité du cyan, le deuxième celle +du magenta, et les autres celle du jaune et du noir. Un valeur du +nombre de 0 signifie l’intensité minimale, alors que 1 correspond à +l’intensité pleine. Ce modèle est fréquemment utilisé pour l’impression +de couleur. C’est un modèle soustractif. +</para> +<anchor id="color-models-gray"/></listitem></varlistentry><varlistentry><term><literal>gray</literal> +</term><listitem><para>Un unique nombre réèl compris entre 0 et 1 inclus. Les couleurs sont +des nuances de gris. Le nombre 0 produit du noir, alors que le 1 donne +du blanc. +<anchor id="color-models-rgb"/></para></listitem></varlistentry><varlistentry><term><literal>rgb</literal> +</term><listitem><para>Une liste séparée de virgules avec trois nombres réèls compris entre 0 +et 1, inclusive. Le premier nombre est l’intensité de la composante +rouge, la deuxième correspond au vert, et la troisière au bleu. Une +valeur de 0 donnée au nombre signifie qu’en rien cette composante n’est +ajouté à la couleur, alors que 1 signifie que cela est fait à pleine +intensité. C’est un modèle additif. +</para> +<anchor id="color-models-RGB"/></listitem></varlistentry><varlistentry><term><literal>RGB</literal> +</term><listitem><para>(pilotes <filename>pdftex</filename>, <filename>xetex</filename>, <filename>luatex</filename>) Une liste séparée +par des vidugles avec trois entiers compris entre 0 et 255 inclus. Ce +modèle est une commodité pour utiliser <literal>rgb</literal> étant donnée qu’en +dehors de &latex; les couleurs sont souvent décrites dans un modèle +rouge-vert-bleu utilisant des nombres dans cette plage. Les valeurs +entrées sont converties vers le modèle <literal>rgb</literal> en divisant par 255. +</para> +<anchor id="color-models-named"/></listitem></varlistentry><varlistentry><term><literal>named</literal> +</term><listitem><para>On accède au couleur par des noms tels que ‘<literal>PrussianBlue</literal>’. La +liste des noms dépend du pilote, mais tous prennennt en charge les noms +‘<literal>black</literal>’, ‘<literal>blue</literal>’, ‘<literal>cyan</literal>’, ‘<literal>green</literal>’, ‘<literal>magenta</literal>’, +‘<literal>red</literal>’, ‘<literal>white</literal>’, et ‘<literal>yellow</literal>’ (Voir l’option +<literal>dvipsnames</literal> dans <link linkend="Color-package-options">Color package options</link>). +</para> +</listitem></varlistentry></variablelist> </sect1> +<sect1 label="21.3" id="Commands-for-color"> +<title>Commandes pour <literal>color</literal></title> + +<indexterm role="cp"><primary>color, commandes du paquetage</primary></indexterm> + +<para>Voici les commandes disponibles avec le paquetage <filename>color</filename>. +</para> + + +<sect2 label="21.3.1" id="Define-colors"> +<title>Definir des couleurs</title> + +<indexterm role="cp"><primary>couleur</primary></indexterm> +<indexterm role="cp"><primary>définir une couleur</primary></indexterm> +<indexterm role="cp"><primary>couleur, définir</primary></indexterm> + +<para>Synopsis : +</para> +<screen>\definecolor{<replaceable>nom</replaceable>}{<replaceable>model</replaceable>}{<replaceable>spécification</replaceable>} +</screen> +<para>Donne le nom <replaceable>nom</replaceable> à la couleur. Par exemple, après +<literal>\definecolor{silver}{rgb}{0.75,0.75,0.74}</literal> vous pouvez +utiliser cette couleur avec <literal>Hé ho, +\textcolor{silver}{Silver}~!</literal>. +</para> +<para>Cet exemple donne à la couleur un nom plus abstrait, de sort qu’on +puisse la changer sans que cela prête à confusion. +</para> +<screen>\definecolor{logocolor}{RGB}{145,92,131} % RGB nécessite pdflatex +\newcommand{\logo}{\textcolor{logocolor}{Les Brioches de Robert}} +</screen> +<para>Il est fréquent que les couleurs d’un document soient définies dans son +préambule, ou dans sa classe +<!-- différence entre classe et style ? --> +ou style, plutôt que dans le corps du document. +</para> +</sect2> +<sect2 label="21.3.2" id="Colored-text"> +<title>Mettre du texte en couleur</title> + +<indexterm role="cp"><primary>couleur</primary></indexterm> +<indexterm role="cp"><primary>coloré, texte</primary></indexterm> +<indexterm role="cp"><primary>texte en couleur</primary></indexterm> + +<para>Synopsis : +</para> +<screen>\textcolor{<replaceable>nom</replaceable>}{...} +\textcolor[<replaceable>modèle de couleur</replaceable>]{<replaceable>spécification de couleur</replaceable>}{...} +</screen> +<para>ou +</para> +<screen>\color{<replaceable>nom</replaceable>} +\color[<replaceable>modèle de couleur</replaceable>]{<replaceable>spécification</replaceable>} +</screen> +<para>Le texte affecté prend la couleur correspondante. La ligne suivante +</para> +<screen>\textcolor{magenta}{Je suis Ozymandias, roi des rois~:} Voyez mon œuvre, ô puissants, et desespérez~! +</screen> +<para>met la première moitié en magenta alors que le reste est en noir. Vous +pouvez utiliser une couleur déclarée avec <literal>\definecolor</literal> exactement +de la même façon dont nous venons d’utiliser la couleur prédéfinie +‘<literal>magenta</literal>’. +</para> +<screen>\definecolor{CriseDeLaQuarantaine}{rgb}{1.0,0.11,0.0} +Je considère l'idée de m'acheter une \textcolor{CriseDeLaQuarantaine}{voiture de sport}. +</screen> +<para>Les deux formes de commandes <literal>\textcolor</literal> et <literal>\color</literal> +diffèrent en ce que la première forme prend le texte à colorer en +argument. Ceci est souvent plus commode, ou tout du moins plus +explicite. La seconde forme est une déclaration, comme dans <literal>La +lune est composé de fromage {\color{vert}}</literal>, de sorte qu’elle est en +vigueur jusqu’à la fin du groupe ou de l’environnement courant. Ceci +est parfois utile quand on écrit des macros, ou comme ci-dessous où on +colore tout le contenu de l’environnement <literal>center</literal>, y compris les +lignes verticales et horizontales. +</para> +<screen>\begin{center} \color{blue} + \begin{tabular}{l|r} + HG &HD \\ \hline + BG &BD + \end{tabular} +\end{center} +</screen> +<para>Vous pouvez utiliser des couleurs dans les équations. Un document peut +avoir <literal>\definecolor{couleurvedette}{RGB}{225,15,0}</literal> dans le +préambule, et ensuite contenir cette équation : +</para> +<screen>\begin{equation} + \int_a^b \textcolor{couleurvedette}{f'(x)}\,dx=f(b)-f(a) +\end{equation} +</screen> +<para>Typiquement les couleurs utilisées dans un document sont déclarée dans +une classe ou dans un style mais il arrive qu’on désire fonctionner au +coup par coup. C’est le cas d’usage des secondes forme du synopsis. +</para> +<screen>Des couleurs de \textcolor[rgb]{0.33,0.14,0.47}{violet} et {\color[rgb]{0.72,0.60,0.37}doré} pour l'équipe +</screen> +<para>Le format de <replaceable>spécification de couleur</replaceable> dépend du modèle de couleur +(see <link linkend="Color-models">Color models</link>). Par exemple, alors que <literal>rgb</literal> prend trois +nombbres, <literal>gray</literal> n’en prend qu’un. +</para> +<screen>La sélection a été \textcolor[gray]{0.5}{grisée}. +</screen> +<para>Des couleurs au sein d’autres couleurs ne se combinent pas. Ainsi +</para> +<screen>\textcolor{green}{une sorte de \textcolor{blue}{bleu}} +</screen> +<para>se termine par un mot en bleu, et non pas dans une combinaison de bleu +et de vert. +</para> +<!-- xx address coloring a line of a table? --> + + +</sect2> +<sect2 label="21.3.3" id="Colored-boxes"> +<title>Faire des boîtes en couleur</title> + +<indexterm role="cp"><primary>couleur</primary></indexterm> +<indexterm role="cp"><primary>colorées, boîtes</primary></indexterm> +<indexterm role="cp"><primary>boîtes colorées</primary></indexterm> + +<para>Synopsis : +</para> +<screen>\colorbox{<replaceable>nom</replaceable>}{...} +\colorbox[<replaceable>nom modèle</replaceable>]{<replaceable>spécification couleur arrière-plan boîte</replaceable>}{...} +</screen> +<para>ou +</para> +<screen>\fcolorbox{<replaceable>couleur cadre</replaceable>}{<replaceable>couleur arrière-plan boîte</replaceable>}{...} +\fcolorbox[<replaceable>nom modèle</replaceable>]{<replaceable>spécification couleur cadre</replaceable>}{<replaceable>spécification arrière-plan boîte</replaceable>}{...} +</screen> +<para>Fabrique une boite avec la couleur d’arrière-plan indiquée. La commande <literal>\fcolorbox</literal> +place un cadre autour de la boîte. Par exemple ceci : +</para> +<screen>Nom~:~\colorbox{cyan}{\makebox[5cm][l]{\strut}} +</screen> +<para>fabrique une boîte de couleur cyanqui fait cinqu centimètres de long et +dont la profondeur et la hauteur sont déterminées par le <literal>\strut</literal> +(de sorte que la profondeur est <literal>-.3\baselineskip</literal> et la hauteur +est <literal>\baselineskip</literal>). Ceci met un texte blanc sur un arrière plan +bleu : +</para> +<screen>\colorbox{blue}{\textcolor{white}{Welcome to the machine.}} +</screen> +<para>La commande <literal>\fcolorbox</literal> utilise les mêmes paramètres que +<literal>\fbox</literal> (see <link linkend="_005cfbox-and-_005cframebox">\fbox and \framebox</link>), à savoir <literal>\fboxrule</literal> et +<literal>\fboxsep</literal>, pour régler l’épaisseur du filet et de la séparation +entre l’intérieur de la boîte et le filet l’entourant. Les valeurs par +défaut de &latex; sont <literal>0.4pt</literal> et <literal>3pt</literal> respectivement. +</para> +<para>L’exemple suivant change l’épaisseur de la bordure en 0,8 points. +Notez qu’il est entre accolades de sorte que le changement cesse d’être +en vigueur à la fin de la seconde ligne. +</para> +<screen>{\setlength{\fboxrule}{0.8pt} +\fcolorbox{black}{red}{En aucun cas ne tournez cette poignée.}} +</screen> +</sect2> +<sect2 label="21.3.4" id="Colored-pages"> +<title>Faire des pages en couleur</title> + +<indexterm role="cp"><primary>couleur</primary></indexterm> +<indexterm role="cp"><primary>colorée, page</primary></indexterm> +<indexterm role="cp"><primary>page colorée</primary></indexterm> +<indexterm role="cp"><primary>arrière-plan coloré</primary></indexterm> + +<para>Synopsis : +</para> +<screen>\pagecolor{<replaceable>nom</replaceable>} +\pagecolor[<replaceable>modèle de couleur</replaceable>]{<replaceable>spécification de couleur</replaceable>} +\nopagecolor +</screen> +<para>Les deux premières commandes règlent l’arrière-plan de la page, et de +toutes les pages suivantes, à la couleur indiquée. Pour une explication +de la spécification dans la seconde forme see <link linkend="Colored-text">Colored text</link>. La +troisième fait revenir l’arrière-plan à la normale, c-à-d. un +arrière-plan transparent. (Si cela n’est pas pris en charge, alors +utilisez <literal>\pagecolor{white}</literal>, bien que cela produit un +arrière-plan blanc au lieu de l’arrière-plan transparent par défaut.) +</para> +<screen> ... +\pagecolor{cyan} + ... +\nopagecolor +</screen> + +</sect2> +</sect1> </chapter> -<chapter label="21" id="Special-insertions"> +<chapter label="22" id="Graphics"> +<title>Graphiques</title> + +<indexterm role="cp"><primary>graphiques</primary></indexterm> +<indexterm role="cp"><primary>graphics, paquetage</primary></indexterm> + +<para>Vous pouvez utiliser des graphiques tel que des fichier PNG ou PDF dans +vos documents &latex;. Vous aurez besoin d’un paquetage supplémentaire +standard de &latex;. Cet exemple montre en bref comment : +</para> +<screen>\include{graphicx} % dans le préambule + ... +\includegraphics[width=0.5\linewidth]{graphique.pdf} +</screen> +<para>Pour utiliser les commandes décrite ici, le préambule de votre document +doit contenir soit <literal>\usepackage{graphicx}</literal>, soit +<literal>\usepackage{graphics}</literal>. (Le plus souvent, c’est <filename>graphicx</filename> +qui est préférable.) +</para> +<para>Les graphiques peuvent être de deux types, matriciels ou vectoriels. +&latex; peut utiliser les deux. Dans les graphiques matriciels le +fichier comprend pour chaque position dans un tableau une entrée +décrivant la couleur de celle-ci. Un exemple de ceci est une +photograpgie en format JPG. Dans une graphique vectoriel, le fichier +contient une liste d’instructions telles que ‘<literal>dessin un cercle avec +tel rayon et tel centre</literal>’. Un exemple de ceci est le dessin d’une ligne +produit par le programme Asymptote en format PDF. En général les +graphiques vectoriel sont plus utiles car on peut les redimensionner +sans pixélisation ou autres problèmes, et parce que la plupart du temps +ils ont une taille plus petites. +</para> +<para>Il y a des systèmes particulièrement bien adapté pour produire des +graphiques pour un document &latex;. Par exemple, qui vous permettent +d’utiliser les mêmes polices que dans votre document. &latex; comprend +un environnement <literal>picture</literal> (see <link linkend="picture">picture</link>) qui a des possibilités +de base. En plus de cela, il y a d’autres façons d’inclure des +commandes de production de graphiques dans le document. Deux systèmes +pour cela sont les paquetages PSTricks et TikZ. Il y a aussi des +systèmes externe à &latex; qui génèrent un graphique qu’on peut inclure +en utilisant les commandes de ce chapitre. Il y a aussi deux autres +systèmes qui utilisent un langage de programmation : Asymptote et +MetaPost. Encore un autre système qui utilise une interface graphique : +Xfig. Une description complète des ces systèmes est hors du champ +d’application de ce document ; reportez vous à leur documentation sur le +CTAN. +</para> + + +<sect1 label="22.1" id="Graphics-package-options"> +<title>Options du paquetage <literal>graphics</literal></title> + +<indexterm role="cp"><primary>graphics, options du paquetage</primary></indexterm> +<indexterm role="cp"><primary>options, paquetage graphics</primary></indexterm> + +<para>Synopsis (à placer dans le préambule du document) : +</para> +<screen>\usepackage[<replaceable>liste d'option séparée par des virgules</replaceable>]{graphics} +</screen> +<para>ou +</para> +<screen>\usepackage[<replaceable>liste d'option séparée par des virgules</replaceable>]{graphicx} +</screen> +<para>Le paquetage <literal>graphicx</literal> a un format pour les arguments optionnels +passés à <literal>\includegraphics</literal> qui est commode (c’est le format +clef/valeur), ainsi c’est le meilleur des deux choix pour les nouveaux +documents. Quand vous chargez les paquetages <filename>graphics</filename> ou +<literal>graphicx</literal> avec <literal>\usepackage</literal> il y a deux sortes d’options +disponibles. +</para> +<para>La première est que &latex; ne contient pas d’information concernant +les différents systèmes de sortie, mais au lieu de cela dépend de +l’informtion stockée dans un fichier <firstterm>pilote d’impression</firstterm>. +Normalment vous ne devriez pas spécifier l’option de pilote dans le +document, mais au lieu de cela vous reposer sur les valeurs par défaut +du système. Un avantage de procéder ainsi et que cela rend les documents +portables entre systèmes. +</para> +<para>Pour être complet voici une liste des pilotes. Ceux qui sont +actuellement pertinents sont : <filename>dvipdfmx</filename>, <filename>dvips</filename>, +<filename>dvisvgm</filename>, <filename>luatex</filename>, <filename>pdftex</filename>, <filename>xetex</filename>. Les deux +pilotes <filename>xdvi</filename> and <filename>oztex</filename> sont essentiellement des alias de +<filename>dvips</filename> (et <filename>xdvi</filename> est monochrome). Ceux qu’on ne devrait pas +utiliser pour de nouveaux systèmes sont : <filename>dvipdfmx</filename>, <filename>dvips</filename>, +<filename>dvisvgm</filename>, <filename>luatex</filename>, <filename>pdftex</filename>, <filename>xetex</filename>. Les deux +pilotes <filename>xdvi</filename> et <filename>oztex</filename> sont essentiellement des alias de +<filename>dvips</filename> (et <filename>xdvi</filename> est monochrome). Ceux qui ne devraient pas +être utilisés pour de nouveaux systèmes sont : <filename>dvipdf</filename>, +<filename>dvipdfm</filename>, <filename>dviwin</filename>, <filename>dvipsone</filename>, <filename>emtex</filename>, +<filename>pctexps</filename>, <filename>pctexwin</filename>, <filename>pctexhp</filename>, <filename>pctex32</filename>, +<filename>truetex</filename>, <filename>tcidvi</filename>, <filename>vtex</filename> (et <filename>dviwindo</filename> est un +alias de <filename>dvipsone</filename>). Ces pilotes sont stockés dans des fichiers +avec une extension <filename>.def</filename>, tels que <filename>pdftex.def</filename>. +</para> +<para>La seconde sorte d’options est décrite ci-après. +</para> +<variablelist><varlistentry><term><literal>demo</literal> +</term><listitem><para>Au lieu d’un fichier d’image, &latex; met un rectangle de 150 pt +sur 100 pt (à moins qu’une autre taille soit spécifiée dans la +commande <literal>\includegraphics</literal>). +</para> +</listitem></varlistentry><varlistentry><term><literal>draft</literal> +</term><listitem><para>Aucun des fichier grahpique n’est affiché, mais au lieu de cela le nom +du fichier est imprimé au sein d’une boîte de la bonne taille. De sorte +à ce que la taille soit déterminée, le fichier doit être présent. +</para> +</listitem></varlistentry><varlistentry><term><literal>final</literal> +</term><listitem><para>(Option par défaut) L’emporte sur toute options <literal>draft</literal> précédente, +de sorte que le document afficher le contenu des fichiers graphiques. +</para> +</listitem></varlistentry><varlistentry><term><literal>hiderotate</literal> +</term><listitem><para>Ne montre pas le texte ayant subi une rotation. (Ceci permet d’utiliser +une visionneuse ne prenant pas en charge le texte ayant subi une +rotation). +<!-- what does it show? --> +</para> +</listitem></varlistentry><varlistentry><term><literal>hidescale</literal> +</term><listitem><para>Ne montre pas le texte rétréci/dilaté. (Ceci permet d’utiliser une +visionneuse ne prenant pas en charge le texte ayant subi un +rétrécissment/une dilatation.) +<!-- what does it show? --> +</para> +</listitem></varlistentry><varlistentry><term><literal>hiresbb</literal> +</term><listitem><para>Dans un fichier PS ou EPS la taille du graphique peut être spécifiée de +deux façons. Les lignes <literal>%%BoundingBox</literal> décrivent la taille du +graphique en utilisant des multiples entiers d’un point PostScript, +c-à-d. des multiples entiers d’ 1/72 de pouce. Une addition plus +récente au langage PostScript autorise les multiples décimaux, tel que +1.23, dans les lignes <literal>%%HiResBoundingBox</literal>. Cette option fait que +&latex; lit la taille à partir de <literal>%%HiResBoundingBox</literal> plutôt que +de <literal>%%BoundingBox</literal>. +</para> +</listitem></varlistentry></variablelist> +</sect1> +<sect1 label="22.2" id="Graphics-package-configuration"> +<title>Configuration du paquetage <literal>graphics</literal></title> + +<indexterm role="cp"><primary>graphics</primary></indexterm> +<indexterm role="cp"><primary>graphics, paquetage</primary></indexterm> +<indexterm role="cp"><primary>configuration du paquetage graphics</primary></indexterm> +<indexterm role="cp"><primary>EPS, fichiers</primary></indexterm> +<indexterm role="cp"><primary>JPEG, fichiers</primary></indexterm> +<indexterm role="cp"><primary>JPG, fichiers</primary></indexterm> +<indexterm role="cp"><primary>PDF, fichiers graphiques</primary></indexterm> +<indexterm role="cp"><primary>PNG, fichiers</primary></indexterm> + +<para>Ces commandes configurent la façon dont &latex; recherche le graphique +dans le système le fichier. +</para> +<para>Le comportement du code de recherche dans le système de fichier dépend +nécessairement de la plateforme. Dans ce document nous couvrons +GNU/Linux, Macintosh, et Windows, étant donné que ces systèmes ont des +configurations typiques. Pour les autres situations consultez la +documentation dans <filename>grfguide.pdf</filename>, ou le source &latex;, ou la +documentationn de votre distribution &tex;. +</para> + + +<sect2 label="22.2.1" id="_005cgraphicspath"> +<title><literal>\graphicspath</literal></title> + +<indexterm role="fn"><primary>\graphicspath</primary></indexterm> + +<para>Synopsis : +</para> +<screen>\graphicspath{<replaceable>liste des répertoires entre les accolades</replaceable>} +</screen> +<para>Déclare une liste de répertoires dans lesquels rechercher des fichiers +graphiques. Ceci permet d’écrire plus tard quelque chose du genre de +<literal>\includegraphics{lion.png}</literal> au lieu de donner son chemin. +</para> +<para>&latex; recherche toujours en premier les fichiers graphiques dans le +répertoire courant (et dans le répertoire de sortie, si spécifié ; +see <link linkend="output-directory">output directory</link>). La déclaration ci-dessous dit au système de +regarder ensuite dans le sous-répertoire <filename>img</filename>, et ensuite +<filename>../img</filename>. +</para> +<screen>\usepackage{graphicx} % ou graphics; à mettre dans le préambule + ... +\graphicspath{ {img/} {../img/} } +</screen> +<para>La déclaration <literal>\graphicspath</literal> est optionnelle. Si vous ne +l’incluez pas, alors le comportement par défaut de &latex; est de +rechercher dans tous les endroits où il recherche d’habitude un fichier +(il utilise la commande <literal>\input@path</literal> de &latex;). En +particulier, dans ce cas l’un l’un des endroit où il regarde est le +répertoire courant. +</para> +<para>Mettez chaque nom de répertoire entre accolades ; en particulier, +ci-dessus on a écrit ‘<literal><literal>{img}</literal></literal>’. Faites ainsi même si il n’y +a qu’un seul répertoire. Chaque nom de répertoire doit se terminer par +une oblique vers l’avant <filename>/</filename>. Ceci est vrai même sur Windows, où +la bonne pratique est d’utilise des obliques vers l’avant pour tous les +séparateur de répertoire puisque cela rend le document portable vers +d’autres plateformes. Si vous avez des espace dans votre nom de +répertoire alors utilisez des guillemets anglais, comme dans +<literal>{"mes docs/"}</literal>. Enfreindre l’une de ces règles aura pour effet +que &latex; rapportera une erreur <literal>Error: File `<replaceable>filename</replaceable>' not found</literal>. +</para> +<para>Pour faire simple, l’algorithme est que dans l’exemple qui suit, après +avoir regardé dans le répertoire courant, +</para> +<screen>\graphicspath{ {img/} {../img/} } +... +\usepackage{lion.png} +</screen> +<para>pour chacun des répertoires listés, &latex; le concatène avec le nom du +fichier et recherche le fichier ainsi nommé, eh cherchant +<filename>img/lion.png</filename> et puis <filename>../img/lion.png</filename>. Cet algorithme +signifie que la commande <literal>\graphicspath</literal> ne recherche pas +récursivement dans les sous-répertoires : si vous faites +<literal>\graphicspath{{a/}}</literal> et que le graphique est dans +<filename>a/b/lion.png</filename> alors &latex; ne le trouvera pas. Cela signifie +aussi que vous pouvez utiliser des chemins absolus tels que +<literal>\graphicspath{{/home/jim/logos/}}</literal> ou +<literal>\graphicspath{{C:/Users/Albert/Pictures/}}</literal>. Toutefois, faire +cela rend votre document non portable. (Vous pourriez préserver la +portabilité en ajustant vos le paramètre <literal>TEXINPUTS</literal> du fichier de +configuration des réglages système &tex; ; voir la documentation de +votre système). +</para> +<para>Vous pouvez utiliser <literal>\graphicspath</literal> n’improte-où dans le +document. Vous pouvez l’utiliser plus d’une fois. Sa valeur peut être +affichée avec <literal>\makeatletter\typeout{\Ginput@path}\makeatother</literal>. +</para> +<para>Les répertoires sont à donner relativement au fichier de base. Pour +faire clair, supposez que vous travaillez sur un document basé sur +<filename>livre/livre.tex</filename> et qu’il contienne +<literal>\include{chapitres/chap1}</literal>. Si dans <filename>chap1.tex</filename> vous +mettez <literal>\graphicspath{{graphiques/}}</literal> alors &latex; ne +cherchera pas les graphiques dans <filename>livre/chapitres/graphiques</filename>, +mais dans <filename>livre/graphiques</filename>. +</para> + +</sect2> +<sect2 label="22.2.2" id="_005cDeclareGraphicsExtensions"> +<title><literal>\DeclareGraphicsExtensions</literal></title> + +<indexterm role="fn"><primary>\DeclareGraphicsExtensions</primary></indexterm> + +<para>Synopsis : +</para> +<screen>\DeclareGraphicsExtensions{<replaceable>liste séparée par des virgules d'extentions de fichier</replaceable>} +</screen> +<para>Déclare les extensions de nom de fichier à essayer. Ceci vous permet de +spécifier l’ordre dans lequel les formats graphiques sont choisis quant +les fichiers graphiques sont inclus en donnant le nom de fichier sans +l’extension, comme dans <literal>\includegraphics{courbe_de_fonction}</literal>. +</para> +<para>Dans l’exemple qui suit, &latex; trouve les fichiers au format PNG +avant les fichiers PDF. +</para> +<screen>\DeclareGraphicsExtensions{.png,PNG,.pdf,.PDF} + ... +\includegraphics{lion} % trouve <filename>lion.png</filename> avant <filename>lion.pdf</filename> +</screen> +<para>Du fait que le nom <filename>lion</filename> ne contient pas de point, &latex; +utilise la liste d’extension. Pour chacun des répertoires dans la liste +de chemins graphiques (see <link linkend="_005cgraphicspath">\graphicspath</link>), &latex; essaie les +extensions dans l’ordre donné. S’il ne trouve aucun fichier +correspondant après avoir essayé tous les répertoires et toutes les +extensions, alors il renvoie une erreur ‘<literal>! LaTeX Error: File +`<filename>lion</filename>' not found</literal>’. Notez que vous devez inclure le point au +début de chaque extension. +</para> +<para>Du fait que les noms de fichiers sous GNU/Linux et Macintosh sont +sensibles à la casse, la liste des extensions de fichier est sensible à +la casse sur ces plateformes. La plateforme Windows n’est pas sensible +à la casse. +</para> +<para>Vous n’êtes pas tenu d’inclure <literal>\DeclareGraphicsExtensions</literal> dans +votre document ; le pilote d’impression a une valeur par défaut +raisonnable. Par exemple, la version la plus récente de +<filename>pdftex.def</filename> a cette liste d’extensions. +</para> +<screen>.png,.pdf,.jpg,.mps,.jpeg,.jbig2,.jb2,.PNG,.PDF,.JPG,.JPEG,.JBIG2,.JB2 +</screen> +<para>Vous pouvez utiliser cette commande n’importe où dans le document. Vous +pouvez l’utiliser plus d’une fois. On peut afficher la valeur courante +avec <literal>\makeatletter\typeout{\Gin@extensions}\makeatother</literal>. +</para> + +</sect2> +<sect2 label="22.2.3" id="_005cDeclareGraphicsRule"> +<title><literal>\DeclareGraphicsRule</literal></title> + +<indexterm role="fn"><primary>\DeclareGraphicsRule</primary></indexterm> + +<para>Synopsis : +</para> +<screen>\DeclareGraphicsRule{<replaceable>extension</replaceable>}{<replaceable>type</replaceable>}{<replaceable>extension taille-fic</replaceable>}{<replaceable>commande</replaceable>} +</screen> +<para>Declare comment gérer les fichiers graphiques dont le nom se termine en +<replaceable>extension</replaceable>. +</para> +<para>L’exemple suivant déclare que tous le fichiers dont ele est de la forme +<filename>nomfichier-sans-point.mps</filename> doivent être traité comme une sortie de +MetaPost, ce qui signifie que le pilote d’impression utilisera son code +de gestion MetaPost pour traiter le fichier en entrée. +</para> +<screen>\DeclareGraphicsRule{.mps}{mps}{.mps}{} +</screen> +<para>La déclaration suivante +</para> +<screen>\DeclareGraphicsRule{*}{mps}{*}{} +</screen> +<para>dit à &latex; qu’il doit traiter comme une sortie MetaPost tout fichier +avec extension non couverte par une autre règle, ainsi il couvre +<filename>nomfichier.1</filename>, <filename>nomfichier.2</filename>, etc. +</para> +<para>Ici on décrit les quatre arguments. +</para> +<variablelist><varlistentry><term><replaceable>extension</replaceable> +</term><listitem><para>L’extension de nom de fichier à laquelle la règle considérée +s’applique. L’extension commence au premier point dans le nom de +fichier, en incluant le point. Utiliser l’astérisque, <literal>*</literal>, pour +désigner la comportement par défaut pour toutes les extensions non +déclarées. +</para> +</listitem></varlistentry><varlistentry><term><replaceable>type</replaceable> +</term><listitem><para>Le type du fichier considéré. Ce type est une chaîne de caractères qui +doit être définie dans le pilote d’impression. Par exemple, les fichiers +avec les extensions <filename>.ps</filename>, <filename>.eps</filename>, ou <filename>.ps.gz</filename> peuvent +tous être classifiés sous le type <literal>eps</literal>. Tous les fichiers de même +type sont traités en entrée avec la même commande interne par le pilote +d’impression. Par exemple, les types de fichiers reconnus par +<filename>pdftex</filename> sont : <literal>jpg</literal>, <literal>jbig2</literal>, <literal>mps</literal>, <literal>pdf</literal>, +<literal>png</literal>, <literal>tif</literal>. +</para> +</listitem></varlistentry><varlistentry><term><replaceable>extension taille-fic</replaceable> +</term><listitem><para>L’extension du fichier à lire pour déterminer la taille du graphique, si +un tel fichier existe. Elle peut être la même que <replaceable>extension</replaceable> mais +aussi être différente. +</para> +<para>Considérons par exemple un graphique PostScript. Pour le rendre plus +petit, il peut être compressé en un fichier <filename>.ps.gz</filename>. Les fichiers +compressé ne sont pas lu simplement par &latex; aussi vous pouvez +mettre l’information de boîte englobante dans une fichier séparé. Si +<replaceable>extension taille-fic</replaceable> est vide, alors vous devez spécifier +l’information de taill dans les arguments de <literal>\includegraphics</literal>. +</para> +<para>Si le fichier pilote a un procédure pour lire les tailles de fichier +pour <literal>type</literal> alors elle est utilisée, sinon il utilise la procédure +pour lire les fichiers <filename>.eps</filename>. (Ainsi vous pourriez spécifier la +taille d’un fichier bitmap dans un fichier avec une ligne +<literal>%%BoundingBox</literal> de style PostScript style si aucun autre format +n’est disponible). +</para> +</listitem></varlistentry><varlistentry><term><replaceable>commande</replaceable> +</term><listitem><para>Une commande à appliquer au fichier. La plupart du temps on laisse cet +argument vide. Cette commande doit commencer avec un caractère accent +grave. Ainsi, +<literal>\DeclareGraphicsRule{.eps.gz}{eps}{.eps.bb}{`gunzip -c +#1}</literal> spécifie que tout fichier ayant une extension <filename>.eps.gz</filename> doit +être traité comme un fichier <literal>eps</literal>, avec l’information de boîte +englobante stockée dans le fichier ayant l’extension <filename>.eps.bb</filename>, et +que la commande <literal>gunzip -c</literal> sera exécuté sur votre plateforme pour +décompresser le fichier. +</para> +<para>Une telle commande est spécifique à votre plateforme. De plus, votre +système &tex; doit autoriser l’exécution de commandes externes ; par +mesure de sécurité les système moderne restreigne l’exécution de +commandes à moins que vous l’autorisiez explicitement. Se référer à la +documentation de votre distribution &tex;. +</para> +</listitem></varlistentry></variablelist> +</sect2> +</sect1> +<sect1 label="22.3" id="Commands-for-graphics"> +<title>Commandes du paquetage <literal>graphics</literal></title> + +<indexterm role="cp"><primary>graphics, commandes du paquetage</primary></indexterm> +<indexterm role="cp"><primary>commandes, paquetage graphics</primary></indexterm> + +<para>Voici les commandes disponibles dans les paquetages <filename>graphics</filename> et +<filename>graphicx</filename>. +</para> + + +<sect2 label="22.3.1" id="_005cincludegraphics"> +<title><literal>\includegraphics</literal></title> + +<indexterm role="cp"><primary>graphiques</primary></indexterm> +<indexterm role="cp"><primary>graphics, paquetage</primary></indexterm> +<indexterm role="cp"><primary>inclure des graphiques</primary></indexterm> +<indexterm role="cp"><primary>importer des graphiques</primary></indexterm> +<indexterm role="cp"><primary>EPS, fichiers</primary></indexterm> +<indexterm role="cp"><primary>JPEG, fichiers</primary></indexterm> +<indexterm role="cp"><primary>JPG, fichiers</primary></indexterm> +<indexterm role="cp"><primary>PDF, fichiers graphiques</primary></indexterm> +<indexterm role="cp"><primary>PNG, fichiers</primary></indexterm> +<indexterm role="fn"><primary>\includegraphics</primary></indexterm> + +<para>Synopsis pour le paquetage <filename>graphics</filename> : +</para> +<screen>\includegraphics{<replaceable>nomfichier</replaceable>} +\includegraphics[<replaceable>urx</replaceable>,<replaceable>ury</replaceable>]{<replaceable>nomfichier</replaceable>} +\includegraphics[<replaceable>llx</replaceable>,<replaceable>lly</replaceable>][<replaceable>urx</replaceable>,<replaceable>ury</replaceable>]{<replaceable>nomfichier</replaceable>} +\includegraphics*{<replaceable>nomfichier</replaceable>} +\includegraphics*[<replaceable>urx</replaceable>,<replaceable>ury</replaceable>]{<replaceable>nomfichier</replaceable>} +\includegraphics*[<replaceable>llx</replaceable>,<replaceable>lly</replaceable>][<replaceable>urx</replaceable>,<replaceable>ury</replaceable>]{<replaceable>nomfichier</replaceable>} +</screen> +<para>Synopsis pour le paquetage <filename>graphicx</filename> : +</para> +<screen>\includegraphics{<replaceable>nomfichier</replaceable>} +\includegraphics[<replaceable>liste-à-clefs-valeurs</replaceable>]{<replaceable>nomfichier</replaceable>} +\includegraphics*{<replaceable>nomfichier</replaceable>} +\includegraphics*[<replaceable>liste-à-clefs-valeurs</replaceable>]{<replaceable>nomfichier</replaceable>} +</screen> +<para>Inclut un fichier graphique. La forme étoilée <literal>\includegraphics*</literal> +rogne le graphique à la taille spécifiée, alors que pour la forme +non-étoilée toute partie du graphiqe en dehors de la boîte de la taille +spécifiée se superpose à ce qui l’entoure. +</para> +<para>Dans cet exemple +</para> +<screen>\usepackage{graphicx} % dans le préambule + ... +\begin{center} + \includegraphics{trace.pdf} +\end{center} +</screen> +<para>on incorpore dans le document le graphique dans <filename>plot.pdf</filename>, centré +et à sa taille nominale. Vous pouvez aussi donner un chemin au fichier, +comme dans <literal>\includegraphics{graphiques/trace.pdf}</literal>. Pour +spécifier une liste de répertoire ou rechercher le fichier, +see <link linkend="_005cgraphicspath">\graphicspath</link>. +</para> +<para>Si votre nom de fichier comprend des espaces, alors placer le entre +guillemets anglais. Par exemple comme dans +<literal>\includegraphics{"image complementaire.jpg"}</literal>. +</para> +<para>La commande <literal>\includegraphics{<replaceable>nomfichier</replaceable>}</literal> décide du type +de graphique en segmentant <replaceable>nomfichier</replaceable> sur le premier point +(‘<literal>.</literal>’). Vous pouvez utiliser <replaceable>nomfichier</replaceable> sans extension de nom +de fihcier, comme dans <literal>\includegraphics{turing}</literal> et &latex; +essaie une séquence d’extension telle que <literal>.png</literal> et <literal>.pdf</literal> +jusqu’à ce qu’il trouve un fichier avec cette extension +(see <link linkend="_005cDeclareGraphicsExtensions">\DeclareGraphicsExtensions</link>). +</para> +<para>Si votre fichier comprend des points avantr l’extension alors vous +pouvez les cacher avec des accolades, comme dans +<literal>\includegraphics{{plot.2018.03.12.a}.pdf}</literal>. Ou, si vous +utilisez le paquetage <filename>graphicx</filename> alors vous pouvez utiliser les +options <literal>type</literal> et <literal>ext</literal> ; voir plus bas. Ces problèmes de +noms de fichiers, et d’autres sont aussi traités par le paquetage +<filename>grffile</filename>. +</para> +<para>L’exemple ci-après place un graphique dans un environnement +<literal>figure</literal> de sorte que &latex; puisse le déplacer sur la page +suivante si le faire rentrer dans la page courante rend mal +(see <link linkend="figure">figure</link>). +</para> +<screen>\begin{figure} + \centering + \includegraphics[width=3cm]{rayonxpoumon.jpg} + \caption{Ça saute aux yeux : vous ne devriez arrêter de fumer} \label{fig:rayon-x} +\end{figure} +</screen> +<para>L’exemple suivant place un graphique non flottant, de sorte +à garantir qu’il apparaisse à ce point-ci du document même si cela +oblige &latex; à dilater le texte ou à recourir à des zones blanche sur +la page. Le graphique est centré est a une légende. +</para> +<screen>\usepackage{caption} % dans le préambule + ... +\begin{center} + \includegraphics{sans/images.png} + \captionof{figure}{L'esprit de la nuit} \label{sans:images} % optionnel +\end{center} +</screen> +<para>L’exemple suivant place une boîte avec un graphique le long d’une autre +boîte contenant du texte, les deux boîtes étant verticalement centrées : +</para> +<screen>\newcommand*{\vcenteredhbox}[1]{\begin{tabular}{@{}c@{}}#1\end{tabular}} + ... +\begin{center} + \vcenteredhbox{\includegraphics[width=0.4\textwidth]{trace}} + \hspace{1em} + \vcenteredhbox{\begin{minipage}{0.4\textwidth} + \begin{displaymath} + f(x)=x\cdot \sin (1/x) + \end{displaymath} + \end{minipage}} +\end{center} +</screen> +<para>Si vous utilisez le paquetage <filename>graphics</filename> alors les seules options +disponibles concernent la taille du graphique (mais voir +<link linkend="_005crotatebox">\rotatebox</link> et <link linkend="_005cscalebox">\scalebox</link>). Quand un argument optionnel est +présent alors c’est <literal>[<replaceable>urx</replaceable>,<replaceable>ury</replaceable>]</literal> et il donne les +coordonnées du coin en haut à droite de l’image, comme une paire de +dimensions &tex; (see <link linkend="Units-of-length">Units of length</link>). Si les unités sont omises, +alors par défaut l’unité considérée est le <literal>bp</literal>. Dans ce cas, le +coin en bas à gaéuche de l’image est supposée être à (0,0). Si deux +arguments optionnels sont présents alors le premier est +<literal>[<replaceable>llx</replaceable>,<replaceable>lly</replaceable>]</literal>, et il spécifie les coordonnées du coin en +bas à gauche de l’image. Ainsi, +<literal>\includegraphics[1in,0.618in]{...}</literal> demande que le graphique +soit placé de sorte a avoir 1 inch de largeur et 0,618 inches de hauteur +et donc son origine est à (0,0). +</para> +<para>Le paquetage <filename>graphicx</filename> vous offre beaucoup plus d’options. +Spécifiez les sous la forme de paires clef-valeur, comme ci-après : +</para> +<screen>\begin{center} + \includegraphics[width=3cm,angle=90]{lion} + \hspace{2em} + \includegraphics[angle=90,width=3cm]{lion} +\end{center} +</screen> +<para>Les options sont lues de gauche à doite. Ainsi le premier graphique +ci-dessus est dilaté à une largeur de 3cm, et ensuite subit une +rotation de 90degrés, alors que le second subit la rotation en +premier et ensuite est dilaté à 3cm de largeur. Ainsi, à moins +que le graphique soit parfaitement carré, à la fin les deux n’ont pas +les mêmes largeurs et hauteurs. +</para> +<para>Il y a beaucoup d’options. Les principales sont listées en premier. +</para> +<indexterm role="cp"><primary>boîte englobante</primary></indexterm> +<indexterm role="cp"><primary>englobante, boîte</primary></indexterm> +<para>Notez qu’un graphique est placé par &latex; dans une boîte, qu’on +désigne traditionnellement comme sa <firstterm>boîte englobante</firstterm> (distincte de +la BoundingBox PostScript décrite plus bas). La zone sur laquelle le +graphique s’imprime peut aller au delà de cette boîte, ou s’inscrire +dans cette boîte, mais quand &latex; fabrique une page il assemble des +boîtes, et celle-ci est la boîte allouée pour le graphique. +</para> +<variablelist><anchor id="includegraphics-width"/><varlistentry><term><literal>width</literal> +</term><listitem><para>Le graphique est affiché de sorte que sa boîte englobante ait cette +largeur. Un exemple est <literal>\includegraphics[width=2.5cm]{trace}</literal>. +Vous pouvez utiliser les unités de longueur standardes de &tex; +(see <link linkend="Units-of-length">Units of length</link>) et également il est commode d’utiliser +<literal>\linewidth</literal>, ou, dans un document recto-verso, <literal>\columnwidth</literal> +(see <link linkend="Page-layout-parameters">Page layout parameters</link>). Un exemple est qu’en utilisant le +paquetage <filename>calc</filename> vous pouvez rendre le graphique 1cm plus +étroit que la largeur du texte avec +<literal>\includegraphics[width=\linewidth-1.0cm]{hefferon.jpg}</literal>. +</para> +</listitem></varlistentry><varlistentry><term><literal>height</literal> +</term><listitem><anchor id="includegraphics-height"/> +<para>Le graphique est affiché de sorte que sa boîte englobante est de cette +hauteur. Vous pouvez utiliser les unités de longueur standardes de +&tex; (see <link linkend="Units-of-length">Units of length</link>), et également il est commode d’utiliser +<literal>\pageheight</literal> et <literal>\textheight</literal> (see <link linkend="Page-layout-parameters">Page layout +parameters</link>). Par exemple, la commande +<literal>\includegraphics[height=0.25\textheight]{godel}</literal> rend le +graphique d’une hauteur d’un quart de celle de la zone de texte. +</para> +</listitem></varlistentry><varlistentry><term><literal>totalheight</literal> +</term><listitem><anchor id="includegraphics-totalheight"/> +<para>Le graphique est affiché de sorte que sa boîte englobante ait cette +hauteur plus profondeur. Ceci diffère de la hauteur si le graphique a +subi une rotation. Par exemple, s’il a subi une rotation de -90 degrès +alors il a une hauteur nulle mais une grande profondeur. +</para> +</listitem></varlistentry><varlistentry><term><literal>keepaspectratio</literal> +</term><listitem><anchor id="includegraphics-keepaspectratio"/><para>Si réglé à <literal>true</literal>, ou juste spécifié comme ci-dessous +</para> +<screen><literal>\includegraphics[...,keepaspectratio,...]{...}</literal> +</screen> +<para>et que vous donnez en option à la fois <literal>width</literal> et <literal>height</literal> (ou +<literal>totalheight</literal>), alors &latex; rendra le graphique aussi grand que +possible sans le déformer. C’est à dire que &latex; assure que le +graphique n’est ni plus large que <literal>width</literal> ni plus haut que +<literal>height</literal> (ou <literal>totalheight</literal>). +</para> +</listitem></varlistentry><varlistentry><term><literal>scale</literal> +</term><listitem><para>Facteur par lequel dilater/contracter le graphique. On peut rendre + graphique à deux fois sa taille nominale avec + <literal>\includegraphics[scale=2.0]{...}</literal>. Ce nombre peut prendre + n’importe quelle valeur ; un nombre entre 0 et 1 contracte le graphique + et un nombre négatif lui applique une réflexion. +</para> +</listitem></varlistentry><varlistentry><term><literal>angle</literal> +</term><listitem><para>Applique une rotation au graphique. L’angle est exprimé en degrès et +dans le sens anti-horaire. La rotation est effectuée autour de +l’origine donnée par l’option <literal>origin</literal> ; s’y référer. Pour une +descrition complète de la compositiion de matériel ayant subi une +rotation, see <link linkend="_005crotatebox">\rotatebox</link>. +</para> +</listitem></varlistentry><varlistentry><term><literal>origin</literal> +</term><listitem><para>Le point du graphique autour duquel la rotation s’effectue. Les valeurs +possibles sont toute chaîne contenant un ou deux caractères parmi : +<literal>l</literal> pour gauche (left), <literal>r</literal> pour droite (right), <literal>b</literal> pour +bas, <literal>c</literal> pour centré, <literal>t</literal> pour haut (top), et <literal>B</literal> pour +ligne de base. Ainsi, saisir la commande +<literal>\includegraphics[angle=180,origin=c]{moon}</literal> a pour effet de +mettre la figure tête en bas en tournant autour du centre de l’image, +alors que la commande +<literal>\includegraphics[angle=180,origin=lB]{LeBateau}</literal> fait la +rotation autour du point gauche de la ligne de base. (Le caractère +<literal>c</literal> désigne le centre horizontal dans <literal>bc</literal> ou <literal>tc</literal>, mais +le centre vertical dans <literal>lc</literal> <literal>rc</literal>). Le réglage par défaut est +<literal>lB</literal>. +</para> +<para>Pour faire une rotation autour d’un point arbitraire, +see <link linkend="_005crotatebox">\rotatebox</link>. +</para> +</listitem></varlistentry></variablelist> +<para>Voici maintenant des options moins usuelles. +</para> +<variablelist><anchor id="includegraphics-viewport"/><varlistentry><term><literal>viewport</literal> +</term><listitem><para>Désigne une sous-région du graphique à afficher. Prend quatre +arguments, séparés par des espaces et exprimés comme des dimensions +&tex;, comme dans <literal>\includegraphics[.., viewport=0in 0in 1in +0.618in]{...}</literal>. Quand l’unité est omise, les dimensions sont par +défaut en big points, <literal>bp</literal>. Elle sont prises relativement à +l’origine spécifiée par la boîte englobante. Voir aussi l’option +<literal>trim</literal>. +</para> +<anchor id="includegraphics-trim"/></listitem></varlistentry><varlistentry><term><literal>trim</literal> +</term><listitem><para>Désigne les parties du graphique à ne pas afficher. Prend quatre +arguments, séparés par des espaces, et exprimés comme des dimensions +&tex; dimensions, comme dans <literal>\includegraphics[.., trim= 0in 0.1in +0.2in 0.3in, ...]{...}</literal>. Ceci donne la quantité du graphique à ne pas +afficher, c-à-d. que &latex; rogne l’image de 0 pouce sur la gauche +left, 0.1 pouce sur la bas, 0.2 pouce sur la droite, et 0.3 pouce sur le +haut. Voir aussi l’option <literal>viewport</literal>. +</para> +<anchor id="includegraphics-clip"/></listitem></varlistentry><varlistentry><term><literal>clip</literal> +</term><listitem><para>Si réglé à <literal>true</literal>, ou juste spécifié comme ci-dessous +</para> +<screen>\includegraphics[...,clip,...]{...} +</screen> +<para>alors le graphique est rogné à sa boîte englobante. Ceci revient au +même que d’utiliser la forme étoilée de la commande, +<literal>\includegraphics*[...]{...}</literal>. +</para> +<anchor id="includegraphics-page"/></listitem></varlistentry><varlistentry><term><literal>page</literal> +</term><listitem><para>Donne le numéro de page pour un fichier PDF multi-page. La valeur par +défaut est <literal>page=1</literal>. +</para> +<anchor id="includegraphics-pagebox"/></listitem></varlistentry><varlistentry><term><literal>pagebox</literal> +</term><listitem><para>Spécifie quelle boîte englobante utiliser pour les fichier PDF parmi les +suivantes <literal>mediabox</literal>, <literal>cropbox</literal>, <literal>bleedbox</literal>, +<literal>trimbox</literal>, ou <literal>artbox</literal>. Les fichier PDF n’ont pas la +BoundingBox que les fichiers PostScript ont, mais peuvent spécifier +jusqu’à quatre rectangle prédéfinis. La boîte MediaBox donne les +frontière du médium physique. La boîte CropBox est la région à laquelle +le contenu de la page devrait être épinglé quand il est affiché. La +boite BleedBox la région à laqeulle le contenu de la page devrait être +épinglé en production. La boîte TrimBox est correspond au dimensions +désirée de la page finie. La boîte ArtBox est l’étendu du contenu de la +page ayant du sens. Le pilote règle la taille de l’image en se basant +sur la CropBox si elle est présente, sinon il n’utilise pas les autres, +avec un ordre de préférence propre au pilote. La MediaBox est toujours +présente. +</para> +<anchor id="includegraphics-interpolate"/></listitem></varlistentry><varlistentry><term><literal>interpolate</literal> +</term><listitem><para>Active ou désactive l’interpolation des images matricielles par la +visionneuse. On peut régler l’option avec <literal>interpolate=true</literal> ou +juste comme ci-dessous : +</para> +<screen>\includegraphics[...,interpolate,...]{...} +</screen> +<anchor id="includegraphics-quiet"/></listitem></varlistentry><varlistentry><term><literal>quiet</literal> +</term><listitem><para>N’écrit pas d’information dans le journal. On peut régler l’option avec +<literal>quiet=true</literal> ou juste en la spécifiant avec +<literal>\includegraphics[...,quiet,...]{...}</literal>, +</para> +<anchor id="includegraphics-draft"/></listitem></varlistentry><varlistentry><term><literal>draft</literal> +</term><listitem><para>Lorsqu’on règle l’option avec <literal>draft=true</literal> ou juste ainsi +</para> +<screen>\includegraphics[...,draft,...]{...} +</screen> +<para>alors le graphique n’apparaît pas dans le document, ce qui permet +éventuellement d’économiser l’imprimante couleur. À la place &latex; +place une boîte vide de la bonne taille avec le nom du fichier imprimé +dedans. +</para> +</listitem></varlistentry></variablelist> +<para>Les options suivantes traitent de la boîte englobante pour les fichiers +graphique de type PostScript Encapsulé, leur taille est spécifié avec +une ligne <literal>%%BoundingBox</literal> qui apparaît dans le fichier. Elle a +quatre valeurs donant la coordonnée <inlineequation><mathphrase>x</mathphrase></inlineequation> inférieure, la coordonnée +<inlineequation><mathphrase>y</mathphrase></inlineequation> inférieure, la coordonnée <inlineequation><mathphrase>x</mathphrase></inlineequation> supérieure, et la coordonnée +<inlineequation><mathphrase>y</mathphrase></inlineequation> supérieure. L’unité est le point PostScript, équivalent au big +point de &tex;, à savoir 1/72 de pouce. Par exemple, si un fichier +<filename>.eps</filename> a la ligne <literal>%%BoundingBox 10 20 40 80</literal> alors sa taille +naturelle est 30/72 de pouche de large pour 60/72 de pouce de haut. +</para> +<variablelist><anchor id="includegraphics-bb"/><varlistentry><term><literal>bb</literal> +</term><listitem><para>Spécifie la boîte englobante de la région affichée. L’argument est +constitué de quatre dimensions séparées par des espaces, comme dans +<literal>\includegraphics[.., bb= 0in 0in 1in 0.618in]{...}</literal>. +D’ordinaire <literal>\includegraphics</literal> lit les ces nombre BoundingBox dans +le fichier EPS automatiqument, de sorte que cette option n’est utile que +si la définition de la boîte englobante est absente du fihcier ou si +vous désirez la changer. +</para> +<anchor id="includegraphics-bbllx"/><anchor id="includegraphics-bblly"/><anchor id="includegraphics-bburx"/><anchor id="includegraphics-bbury"/></listitem></varlistentry><varlistentry><term><literal>bbllx, bblly, bburx, bbury</literal> +</term><listitem><para>Règke la boîte englobante box. Ces quatre options là sont obsolète, +mais existent encore pour maintenir la rétrocompatibilité avec des +paquetages anciens. +</para> +<anchor id="includegraphics-natwidth"/><anchor id="includegraphics-natheight"/></listitem></varlistentry><varlistentry><term><literal>natwidth, natheight</literal> +</term><listitem><para>Une alternative à <literal>bb</literal>. Régler +</para> +<screen>\includegraphics[...,natwidth=1in,natheight=0.618in,...]{...} +</screen> +<para>revient au même que régler <literal>bb=0 0 1in 0.618in</literal>. +</para> +<anchor id="includegraphics-hiresbb"/></listitem></varlistentry><varlistentry><term><literal>hiresbb</literal> +</term><listitem><para>Si réglé à <literal>true</literal>, ou juste spécifié comme dans +</para> +<screen>\includegraphics[...,hiresbb,...]{...} +</screen> +<para>alors &latex; recherche la ligne <literal>%%HiResBoundingBox</literal> plutôt que +la ligne <literal>%%BoundingBox</literal>. (La ligne <literal>BoundingBox</literal> n’utilise +que des nombres entiers naturels alors que la ligne +<literal>HiResBoundingBox</literal> utilise des décimaux ; les deux utilisent une +unité équivalente au big point de &tex;, 1/72 de pouce). Pour +l’emporter sur un réglage précédent à <literal>true</literal>, on peut la régler à +<literal>false</literal>. +</para> +</listitem></varlistentry></variablelist> +<para>Les options suivantes permettent à l’utilisateur de l’emporter sur la +méthode par laquelle &latex; choisit le type d’un graphique en fonction +de son extension de nom de fichier. Par exemple avec +<literal>\includegraphics[type=png,ext=.xxx,read=.xxx]{lion}</literal> le fichier +<filename>lion.xxx</filename> est lu comme s’il s’agissait de <filename>lion.png</filename>. Pour +plus ample information, see <link linkend="_005cDeclareGraphicsRule">\DeclareGraphicsRule</link>. +</para> +<variablelist><anchor id="includegraphics-type"/><varlistentry><term><literal>type</literal> +</term><listitem><para>Spécifie le type de graphique. +</para> +<anchor id="includegraphics-ext"/></listitem></varlistentry><varlistentry><term><literal>ext</literal> +</term><listitem><para>Spécifie l’extension du graphique. À n’utiliser qu’en conjonction avec +l’option <literal>type</literal>. +</para> +<anchor id="includegraphics-read"/></listitem></varlistentry><varlistentry><term><literal>read</literal> +</term><listitem><para>Spécifie l’extension du fichier lu. À n’utiliser qu’en conjonction avec +l’option <literal>type</literal>. +</para> +<anchor id="includegraphics-command"/></listitem></varlistentry><varlistentry><term><literal>command</literal> +</term><listitem><para>Spécifie une commande à appliquer à ce fichier. À n’utiliser qu’en +conjonction avec l’option <literal>type</literal>. See <link linkend="Command-line-options">Command line options</link>, +pour une discussion sur l’activation de la fonctionalité <literal>\write18</literal> +pour exécuter des commandes externes. +</para> +</listitem></varlistentry></variablelist> + +</sect2> +<sect2 label="22.3.2" id="_005crotatebox"> +<title><literal>\rotatebox</literal></title> + +<indexterm role="cp"><primary>rotation</primary></indexterm> +<indexterm role="cp"><primary>rotating graphics</primary></indexterm> +<indexterm role="cp"><primary>rotating text</primary></indexterm> +<indexterm role="fn"><primary>\rotatebox</primary></indexterm> + +<para>Synopsis for <filename>graphics</filename> package: +</para> +<screen>\rotatebox{<replaceable>angle</replaceable>}{<replaceable>material</replaceable>} +</screen> +<para>Synopses for <filename>graphicx</filename> package: +</para> +<screen>\rotatebox{<replaceable>angle</replaceable>}{<replaceable>material</replaceable>} +\rotatebox[<replaceable>liste-à-clefs-valeurs</replaceable>]{<replaceable>angle</replaceable>}{<replaceable>material</replaceable>} +</screen> +<para>Put <replaceable>material</replaceable> in a box and rotate it <replaceable>angle</replaceable> degrees counterclockwise. +</para> +<para>This example rotates the table column heads forty five degrees. +</para> +<screen>\begin{tabular}{ll} + \rotatebox{45}{Character} &\rotatebox{45}{NATO phonetic} \\ + A &AL-FAH \\ + B &BRAH-VOH +\end{tabular} +</screen> +<para>The <replaceable>material</replaceable> can be anything that goes in a box, including a graphic. +</para> +<screen> \rotatebox[origin=c]{45}{\includegraphics[width=1in]{lion}} +</screen> +<para>You can get the same effect using the <filename>graphicx</filename> package alone +(see <link linkend="_005cincludegraphics">\includegraphics</link>). +</para> +<para>To place the rotated material, the first step is that &latex; sets +<replaceable>material</replaceable> in a box, with a reference point on the left baseline. +The second step is the rotation, by default about the reference point. +The third step is that &latex; computes a box to bound the rotated +material. Fourth, &latex; moves this box horizontally so that the left +edge of this new bounding box coincides with the left edge of the box +from the first step (they need not coincide vertically). This new +bounding box, in its new position, is what &latex; uses as the box when +typesetting this material. +</para> +<para>If you use the <filename>graphics</filename> package then the rotation is about the +reference point of the box. If you use <filename>graphicx</filename> then these are +the options that can go in the <replaceable>liste-à-clefs-valeurs</replaceable>. +</para> +<variablelist><varlistentry><term><literal>origin</literal> +</term><listitem><para>The point of the <replaceable>material</replaceable>’s box about which the rotation happens. +Possible values are any string containing one or two of: <literal>l</literal> for +left, <literal>r</literal> for right, <literal>b</literal> for bottom, <literal>c</literal> for center, +<literal>t</literal> for top, and <literal>B</literal> for baseline. Thus, +<literal>\includegraphics[angle=180,origin=c]{moon}</literal> will turn the +picture upside down from the center, while +<literal>\includegraphics[angle=180,origin=lB]{LeBateau}</literal> will turn its +picture upside down about its left baseline. (The character <literal>c</literal> +gives the horizontal center in <literal>bc</literal> or <literal>tc</literal> but gives the +vertical center in <literal>lc</literal> or <literal>rc</literal>.) The default is <literal>lB</literal>. +</para> +</listitem></varlistentry><varlistentry><term><literal>x, y</literal> +</term><listitem><para>Specify an arbitrary point of rotation with +<literal>\rotatebox[x=<replaceable>&tex; dimension</replaceable>,y=<replaceable>&tex; +dimension</replaceable>]{...}</literal> (see <link linkend="Units-of-length">Units of length</link>). These give the offset +from the box’s reference point. +</para> +</listitem></varlistentry><varlistentry><term><literal>units</literal> +</term><listitem><para>This key allows you to change the default of degrees counterclockwise. +Setting <literal>units=-360</literal> changes the direction to degrees clockwise and +setting <literal>units=6.283185</literal> changes to radians counterclockwise. +</para> +</listitem></varlistentry></variablelist> + +</sect2> +<sect2 label="22.3.3" id="_005cscalebox"> +<title><literal>\scalebox</literal></title> + +<indexterm role="cp"><primary>graphics, scaling</primary></indexterm> +<indexterm role="cp"><primary>graphics, resizing</primary></indexterm> +<indexterm role="cp"><primary>scaling</primary></indexterm> +<indexterm role="cp"><primary>resizing</primary></indexterm> +<indexterm role="cp"><primary>text, scaling</primary></indexterm> +<indexterm role="cp"><primary>text, resizing</primary></indexterm> +<indexterm role="fn"><primary>\scalebox</primary></indexterm> +<indexterm role="fn"><primary>\reflectbox</primary></indexterm> + +<para>Synopses: +</para> +<screen>\scalebox{<replaceable>horizontal factor</replaceable>}{<replaceable>material</replaceable>} +\scalebox{<replaceable>horizontal factor</replaceable>}[<replaceable>vertical factor</replaceable>]{<replaceable>material</replaceable>} +\reflectbox{<replaceable>material</replaceable>} +</screen> +<para>Scale the <replaceable>material</replaceable>. +</para> +<para>This example halves the size, both horizontally and vertically, of the +first text and doubles the size of the second. +</para> +<screen>\scalebox{0.5}{DRINK ME} and \scalebox{2.0}{Eat Me} +</screen> +<para>If you do not specify the optional <replaceable>vertical factor</replaceable> then it +defaults to the same value as the <replaceable>horizontal factor</replaceable>. +</para> +<para>You can use this command to resize a graphic, as with +<literal>\scalebox{0.5}{\includegraphics{lion}}</literal>. If you use the +<filename>graphicx</filename> package then you can accomplish the same thing with +optional arguments to <literal>\includegraphics</literal> +(see <link linkend="_005cincludegraphics">\includegraphics</link>). +</para> +<para>The <literal>\reflectbox</literal> command abbreviates +<literal>\scalebox{-1}[1]{<replaceable>material</replaceable>}</literal>. Thus, <literal>Able was +I\reflectbox{Able was I}</literal> will show the phrase ‘<literal>Able was I</literal>’ +immediately followed by its mirror reflection. +</para> + +</sect2> +<sect2 label="22.3.4" id="_005cresizebox"> +<title><literal>\resizebox</literal></title> + +<indexterm role="cp"><primary>graphics, scaling</primary></indexterm> +<indexterm role="cp"><primary>graphics, resizing</primary></indexterm> +<indexterm role="cp"><primary>scaling</primary></indexterm> +<indexterm role="cp"><primary>resizing</primary></indexterm> +<indexterm role="cp"><primary>text, scaling</primary></indexterm> +<indexterm role="cp"><primary>text, resizing</primary></indexterm> +<indexterm role="fn"><primary>\resizebox</primary></indexterm> + +<para>Synopses: +</para> +<screen>\resizebox{<replaceable>horizontal length</replaceable>}{<replaceable>vertical length</replaceable>}{<replaceable>material</replaceable>} +\resizebox*{<replaceable>horizontal length</replaceable>}{<replaceable>vertical length</replaceable>}{<replaceable>material</replaceable>} +</screen> +<para>Given a size, such as <literal>3cm</literal>, transform <replaceable>material</replaceable> to make it +that size. If either <replaceable>horizontal length</replaceable> or <replaceable>vertical length</replaceable> +is an exclamation point <literal>!</literal> then the other argument is used +to determine a scale factor for both directions. +</para> +<para>This example makes the graphic be a half inch wide and scales it +vertically by the same factor to keep it from being distorted. +</para> +<screen>\resizebox{0.5in}{!}{\includegraphics{lion}} +</screen> +<para>The unstarred form <literal>\resizebox</literal> takes <replaceable>vertical length</replaceable> to be +the box’s height while the starred form <literal>\resizebox*</literal> takes it to +be height+depth. For instance, make the text have a height+depth of a +quarter inch with <literal>\resizebox*{!}{0.25in}{\parbox{1in}{This +box has both height and depth.}}</literal>. +</para> +<para>You can use <literal>\depth</literal>, <literal>\height</literal>, <literal>\totalheight</literal>, and +<literal>\width</literal> to refer to the original size of the box. Thus, make the +text two inches wide but keep the original height with +<literal>\resizebox{2in}{\height}{Two inches}</literal>. +</para> + +</sect2> +</sect1> +</chapter> +<chapter label="23" id="Special-insertions"> <title>Insertions spéciales</title> <para>&latex; fournit des commandes pour insérer les caractères qui ont une @@ -8564,7 +11852,7 @@ que vous pouvez taper. </para> -<sect1 label="21.1" id="Reserved-characters"> +<sect1 label="23.1" id="Reserved-characters"> <title>Caractères réservés</title> <indexterm role="cp"><primary>caractères réservés</primary></indexterm> <indexterm role="cp"><primary>réservés, caractères</primary></indexterm> @@ -8573,7 +11861,8 @@ que vous pouvez taper. <para>&latex; réserve les caractères suivant à un usage spécial (par exemple, le signe pourcent <literal>%</literal> sert aux commentaires) c’est pourquoi on les -appelle <firstterm>caractères réservés</firstterm> ou <firstterm>caractères spéciaux</firstterm>. +appelle <firstterm>caractères réservés</firstterm> ou <firstterm>caractères spéciaux</firstterm>. Ils sont +chacun l’objet d’une discussion ailleurs dans ce manuel. </para> <screen># $ % & { } _ ~ ^ \ </screen> @@ -8584,7 +11873,7 @@ appelle <firstterm>caractères réservés</firstterm> ou <firstterm>caractères <indexterm role="fn"><primary>\_</primary></indexterm> <indexterm role="fn"><primary>\{</primary></indexterm> <indexterm role="fn"><primary>\}</primary></indexterm> -<para>Si vous voulez qu’un caractère réservés soit imprimé comme lui-même, +<para>Si vous voulez qu’un caractère réservé soit imprimé comme lui-même, dans la même police que le corps du texte, alors pour tous les caractères hormis les trois derniers de cette liste il suffit de les faire précéder d’une contr’oblique <literal>\</literal>. Ainsi <literal>\$1.23</literal> @@ -8600,8 +11889,9 @@ un accent circonflexe dans la police du corps du texte utilisez <literal>\^{}</literal>. Une contr’oblique dans la police du corps de texte se fait avec <literal>\textbackslash{}</literal>. </para> -<para>Pour produire les caractères réservé dans la police d’une machine à écrire utilisez -<literal>\verb!!</literal> comme ci-dessous : +<para>Pour produire les caractères réservés dans la police tapuscrite utilisez +<literal>\verb!!</literal> comme ci-dessous (la double contr’oblique <literal>\\</literal> n’est +là que pour aller à la ligne en sortie) : </para> <screen>\begin{center} \# \$ \% \& \{ \} \_ \~{} \^{} \textbackslash \\ @@ -8613,7 +11903,79 @@ sauter à la ligne. </para> </sect1> -<sect1 label="21.2" id="Symbols-by-font-position"> +<sect1 label="23.2" id="Upper-and-lower-case"> +<title>Capitales et bas de casse</title> + +<indexterm role="cp"><primary>Capitales</primary></indexterm> +<indexterm role="cp"><primary>Bas de casse</primary></indexterm> +<indexterm role="cp"><primary>Casse de caractères</primary></indexterm> +<indexterm role="cp"><primary>Changer la casse de caractères</primary></indexterm> + +<para>Synopsis : +</para> +<screen>\uppercase{<replaceable>texte</replaceable>} +\lowercase{<replaceable>texte</replaceable>} +\MakeUppercase{<replaceable>texte</replaceable>} +\MakeLowercase{<replaceable>texte</replaceable>} +</screen> +<para>Change la casse des caractères. Les commandes primitives de &tex; +<literal>\uppercase</literal> et <literal>\lowercase</literal> ne fonctionnent que pour les +26 lettres sans diacritiques a-z et A-Z. Les commandes &latex; +<literal>\MakeUppercase</literal> et <literal>\MakeLowercase</literal> changent aussi les +caractères accessibles par des commandes telles que <literal>\ae</literal> ou +<literal>\aa</literal>. Ces commandes <literal>\MakeUppercase</literal> et +<literal>\MakeLowercase</literal> sont robustes, mais elles ont des arguments +mouvants (see <link linkend="_005cprotect">\protect</link>). +</para> +<para>Ces commandes ne changent pas la casse des lettres utilisées dans le nom +d’une commande au sein de <replaceable>texte</replaceable>. Mais par contre elles changent la +casse de tout autre lettre latine au sein de l’argument <replaceable>texte</replaceable>. +Ainsi, <literal>\MakeUppercase{Soit $y=f(x)$</literal>} produit ‘<literal>SOIT +Y=F(X)</literal>’. Un autre exemple est que le nom de tout environnement est +changé, de sorte que <literal>\MakeUppercase{\begin{tabular} +... \end{tabular}}</literal> produit une erreur puisque la première moitié est +changée en <literal>\begin{TABULAR}</literal>. +</para> +<para>&latex; utilise la même table pour changer la casse tout au long du +document. La table utilisée est conçue pour le codage T1 ; ceci +fonctionne bien avec les polices standardes de &tex; pour tous les +alphabets latins, mais cause des problèmes avec d’autres alphabets. +</para> +<para>Pour changer la casse du texte qui résulte d’une macro au sein de +<replaceable>texte</replaceable> il est nécessaire de faire un développement. Dans l’exemple +qui suit la macro <literal>\Nomecole</literal> produit ‘<literal>UNIVERSITÉ DE MATHÉMATIQUES</literal>’. +</para> +<screen>\newcommand{\nomecole}{Universit\'e de math\'ematiques} +\newcommand{\Nomecole}{\expandafter\MakeUppercase\expandafter{\nomecole}} +</screen> +<indexterm role="fn"><primary>paquetage <literal>textcase</literal></primary></indexterm> +<indexterm role="fn"><primary><literal>textcase</literal>, paquetage</primary></indexterm> + +<para>Le paquetage <filename>textcase</filename> comble certaines des lacunes des commandes +standardes <literal>\MakeUppercase</literal> et <literal>\MakeLowerCase</literal> de &latex;. +</para> +<indexterm role="fn"><primary>paquetage <literal>mfirstuc</literal></primary></indexterm> +<indexterm role="fn"><primary><literal>mfirstuc</literal>, paquetage</primary></indexterm> + +<para>Pour mettre en capitale seulement la première lettre d’un mot, on peut +utiliser le paquetage <filename>mfirstuc</filename>. +</para> +<indexterm role="fn"><primary>paquetage <literal>expl3</literal></primary></indexterm> +<indexterm role="fn"><primary><literal>expl3</literal>, paquetage</primary></indexterm> + +<indexterm role="cp"><primary>Wright, Joseph</primary></indexterm> + +<para>Gérer toutes les règles concernant la casse spécifiée par Unicode, par +ex. pour les scripts non latins, est une tâche bien plus conséquente que +ce qui avait été considéré dans les &tex; et &latex; d’origine. Cela +a été implémenté dans le paquetage <literal>expl3</literal> à compter de +2020. L’article « Case changing: From &tex; primitives to the Unicode +algorithm », (Joseph Wright, <citetitle>TUGboat</citetitle> 41:1, +<ulink url="https://tug.org/TUGboat/tb41-1/tb127wright-case.pdf">https://tug.org/TUGboat/tb41-1/tb127wright-case.pdf</ulink>), donne un bon +aperçu du sujet, passé et présent. +</para> +</sect1> +<sect1 label="23.3" id="Symbols-by-font-position"> <title>Symboles appelés par leur position dans une police</title> <indexterm role="fn"><primary>\symbol</primary></indexterm> @@ -8633,7 +11995,7 @@ comme <literal>\symbol{'40}</literal> ou <literal>\symbol{"20}</literal>. </para> </sect1> -<sect1 label="21.3" id="Text-symbols"> +<sect1 label="23.4" id="Text-symbols"> <title>Symboles en texte</title> <indexterm role="cp"><primary>symboles texte</primary></indexterm> @@ -8724,7 +12086,7 @@ utilisés en mode mathématique. <indexterm role="cp"><primary>fermant, guillemet-apostrophe simple</primary></indexterm> <indexterm role="cp"><primary>droite, guillemet anglais simple</primary></indexterm> <indexterm role="cp"><primary>fermant, guillemet anglais simple</primary></indexterm> -<para>Guillemet-apostrophe simple de gauche (fermant) : ’. +<para>Guillemet-apostrophe simple de droite (fermant) : ’. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\S</primary></indexterm><literal>\S</literal> </term><listitem><para>\itemx \textsection @@ -8928,12 +12290,12 @@ hauteur de capitale de la fonte, alors que la forme </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\textvisiblespace</primary></indexterm><literal>\textvisiblespace</literal> </term><listitem><indexterm role="cp"><primary>visible, symbole espace, dans le texte</primary></indexterm> <indexterm role="cp"><primary>espace visible, symbole, dans le texte</primary></indexterm> -<para>Symbol espace visible. +<para>Symbole espace visible. </para> </listitem></varlistentry></variablelist> </sect1> -<sect1 label="21.4" id="Accents"> +<sect1 label="23.5" id="Accents"> <title>Accents</title> <indexterm role="cp"><primary>accents</primary></indexterm> @@ -8970,7 +12332,7 @@ disponible avec l’OT1. <indexterm role="cp"><primary>diacrtique accent aigu</primary></indexterm> <para>Produit un accent aigu, comme dans ó. Dans l’environnement <literal>tabbing</literal>, pousse la colonne courante à droite de la colonne -précédente (voir <link linkend="tabbing">tabbing</link>). +précédente (see <link linkend="tabbing">tabbing</link>). </para> </listitem></varlistentry><varlistentry><term><literal>\.</literal> </term><listitem><indexterm role="fn"><primary>\. (dot-over accent)</primary></indexterm> @@ -9011,7 +12373,7 @@ dans ō. <indexterm role="cp"><primary>grave accent</primary></indexterm> <para>Produit un accent grave suscrit à la lettre qui suit, comme dans ò. Au sein de l’environnement <literal>tabbing</literal>, déplace le texte qui -suit à la marge de droite (voir <link linkend="tabbing">tabbing</link>). +suit à la marge de droite (see <link linkend="tabbing">tabbing</link>). </para> </listitem></varlistentry><varlistentry><term><literal>\~</literal> </term><term><literal>\capitaltilde</literal> @@ -9134,9 +12496,9 @@ sorte elle traverse les descentes. Voir aussi <literal>\underline</literal> dan </listitem></varlistentry></variablelist> </sect1> -<sect1 label="21.5" id="Non_002dEnglish-characters"> +<sect1 label="23.6" id="Additional-Latin-letters"> <title>Lettres latines supplémentaires</title> - +<anchor id="Non_002dEnglish-characters"/> <indexterm role="cp"><primary>caractères speciaux</primary></indexterm> <indexterm role="cp"><primary>speciaux, caractères</primary></indexterm> <indexterm role="cp"><primary>caractères latins non diacrités</primary></indexterm> @@ -9240,7 +12602,7 @@ autre codage de police, tel que T1. </listitem></varlistentry></variablelist> </sect1> -<sect1 label="21.6" id="_005crule"> +<sect1 label="23.7" id="_005crule"> <title><literal>\rule</literal></title> <indexterm role="fn"><primary>\rule</primary></indexterm> @@ -9262,7 +12624,7 @@ un rectangle. Les arguments sont : </para></listitem></varlistentry></variablelist> </sect1> -<sect1 label="21.7" id="_005ctoday"> +<sect1 label="23.8" id="_005ctoday"> <title><literal>\today</literal></title> <indexterm role="fn"><primary>\today</primary></indexterm> <indexterm role="cp"><primary>date d’aujourd’hui</primary></indexterm> @@ -9270,7 +12632,7 @@ un rectangle. Les arguments sont : <para>La commande <literal>\today</literal> produit la date d’aujourd’hui, par défaut dans le format ‘<literal><replaceable>mois</replaceable> <replaceable>jj</replaceable>, <replaceable>aaaa</replaceable></literal>’ ; par exemple, ‘July 4, 1976’. Elle utilise les compteurs prédéfinis <literal>\day</literal>, -<literal>\month</literal>, et <literal>\year</literal> (voir <link linkend="_005cday-_005cmonth-_005cyear">\day \month \year</link>) pour faire +<literal>\month</literal>, et <literal>\year</literal> (see <link linkend="_005cday-_005cmonth-_005cyear">\day \month \year</link>) pour faire cela. Elle n’est pas mise à jour durant l’execution de la compilation. </para> <para>Les extensions multilingues comme entre autres le paquetage <filename>babel</filename> @@ -9287,75 +12649,253 @@ suivant produit ‘<literal>4 juillet 1976</literal>’ : <indexterm role="fn"><primary>paquetage <literal>datetime</literal></primary></indexterm> <indexterm role="fn"><primary><literal>datetime</literal>, paquetage</primary></indexterm> + <para>Le paquetage <literal>datetime</literal>, entre autres, produit un large choix d’autres formats de date. </para> </sect1> </chapter> -<chapter label="22" id="Splitting-the-input"> +<chapter label="24" id="Splitting-the-input"> <title>Partitionner le fichier d’entrée</title> <indexterm role="cp"><primary>partitionner le fichier d’entrée</primary></indexterm> <indexterm role="cp"><primary>fichier d’entrée</primary></indexterm> -<para>Un document de grande taille nécessite beaucoup de données en -entrée. Plutôt que de mettre toutes les entrées dans un seul grand -fichier, il est plus efficace de les partitionner en plusieurs fichiers -plus petits. Indépendamment du nombre de fichiers distincts que vous -utilisez, il y en a un seul qui est le +<para>&latex; vous permet de partitionner un document de grande taille en +plusieurs plus petits. Ceci peut simplifier son édition et permette à +plusieurs auteurs d’y travailler. Cela peut aussi accélerer le +traitement. +</para> +<para>Indépendamment du nombre de fichiers distincts que vous +utilisez, il y a toujours un seul <indexterm role="cp"><primary>racine, fichier</primary></indexterm> <indexterm role="cp"><primary>fichier racine</primary></indexterm> -<firstterm>fichier racine</firstterm> ; c’est le fichier dont vous passer le nom à la -ligne de commande quand vous exécutez &latex;. +<firstterm>fichier racine</firstterm> sur lequel la compilation &latex; +démarre. L’exemple ci-dessous illuste un tel fichier avec cinq fichiers +inclus. +</para> +<screen>\documentclass{book} +\includeonly{ + % mettre en commentaire les lignes ci-dessous pour ne pas compiler le fichier + pref, + chap1, + chap2, + append, + bib + } +\begin{document} +\frontmatter +\include{pref} +\mainmatter +\include{chap1} +\include{chap2} +\appendix +\include{append} +\backmatter +\include{bib} +\end{document} +</screen> +<para>Dans cet example on prend le matériel de <filename>pref.tex</filename>, +<filename>chap1.tex</filename>, <filename>chap2.tex</filename>, <filename>append.tex</filename>, et +<filename>bib.tex</filename>. Si vous compilez ce fichier, et ensuite mettez en +commentaire toutes les lignes au sein de <literal>\includeonly{...}</literal> +hormis <literal>chap1</literal>, et compilez de nouveau, alors &latex; traite +seulement le matériel du premier chapitre. Ainsi, la sortie apparaît +plus rapidement et est plus courte à imprimer. Cependant, l’avantage +de la commande <literal>\includeonly</literal> est que &latex; retient les numéros +de page et toute l’information de renvoi des autres parties du document +de sorte qu’elles apparaissent correctement en sortie. </para> -<para>Voir <link linkend="filecontents">filecontents</link>, pour un environnement qui permet de grouper un -fichier externe à créer avec le document principal. +<para>See <link linkend="Larger-book-template">Larger book template</link> pour un autre exemple de <literal>\includeonly</literal>. </para> +<!-- xxx Pourquoi avoir supprimer cette ref. --> +<!-- @xref{filecontents}, pour un environnement qui permet de grouper un --> +<!-- fichier externe à créer avec le document racine. --> -<sect1 label="22.1" id="_005cinclude"> -<title><literal>\include</literal></title> -<indexterm role="fn"><primary>\include</primary></indexterm> + +<sect1 label="24.1" id="_005cendinput"> +<title><literal>\endinput</literal></title> + +<indexterm role="fn"><primary>\endinput</primary></indexterm> <para>Synopsis : </para> -<screen>\include{<replaceable>fichier</replaceable>} +<screen>\endinput </screen> -<para>Si aucune commande <literal>\includeonly</literal> n’est présente, la commande -<literal>\include</literal> exécute un <literal>\clearpage</literal> pour commencer une nouvelle -page (voir <link linkend="_005cclearpage">\clearpage</link>), puis elle lit <replaceable>fichier</replaceable>, et ensuite fait -encore un <literal>\clearpage</literal>. +<para>Quand vous écrivez <literal>\include{nomfichier}</literal>, alors au sein de +<filename>nomfichier.tex</filename> le matériel qui vient après <literal>\endinput</literal> n’est +pas inclus. Cette commande est optionnelle ; si <filename>nomfichier.tex</filename> +ne comprend pas de <literal>\endinput</literal> alors &latex; lit tout le fichier. </para> -<para>Précédé d’une commande <literal>\includeonly</literal>, les actions de -<literal>\include</literal> ne sont exécutées que si <replaceable>fichier</replaceable> est un élément des -fichiers listés en argument de l’<literal>\includeonly</literal>. Voir <link linkend="_005cincludeonly">\includeonly</link>. +<para>Par exemple, supposons que le fichier racine d’un document a un +<literal>\input{chap1}</literal> que ce le contenu de <filename>chap1.tex</filename> est ce qui +suit : </para> -<indexterm role="cp"><primary><literal>\include</literal> emboîtés interdits</primary></indexterm> -<para>La commande <literal>\include</literal> ne doit apparaître ni dans le préambule, ni -au sein d’un fichier lu par une autre commande <literal>\include</literal>. +<screen>\chapter{One} Ce matériel apparaît dans le document. \endinput Ceci +n'apparaît pas. +</screen> +<para>Ceci peut être utile pour placer de la documentation ou des commentaire +à la fin d’un fichier, ou pour éviter des caractères indésirable qui +pourraît s’ajouter si le fichier est transmis dans le corps d’un +courriel. C’est également utile pour déboguer : une stratégie pour +localiser des erreurs est de placer un <literal>\endinput</literal> à mi-chemin en +cours des fichiers inclus et de voir si l’erreur disparaît. Ensuite, +sachant quelle moitié contient l’erreur, en déplaçant le +<literal>\endinput</literal> à mi-chemin de cette zone circonscrit de plus près +l’endroit où elle se trouve. Ainsi on trouve rapidement la ligne +fautive. +</para> +<para>Après avoir lu <literal>\endinput</literal>, &latex; continue à lire jusqu’à la fin +de la ligne, ansi il est possible de faire suivre cette ligne par +quelque-chose qui sera tout de même lu. Ceci vous permet entre autre de +fermer un <literal>\if...</literal> par un <literal>\fi</literal>. </para> - </sect1> -<sect1 label="22.2" id="_005cincludeonly"> -<title>\<literal>includeonly</literal></title> +<sect1 label="24.2" id="_005cinclude-_0026-_005cincludeonly"> +<title><literal>\include</literal> & <literal>\includeonly</literal></title> +<indexterm role="fn"><primary>\include</primary></indexterm> <indexterm role="fn"><primary>\includeonly</primary></indexterm> <para>Synopsis : </para> -<screen>\includeonly{<replaceable>fichier1</replaceable>,<replaceable>fichier2</replaceable>,...} +<screen>\includeonly{ % dans le préambule du document + ... + <replaceable>nomfichier</replaceable>, + ... + } + ... +\include{<replaceable>nomfichier</replaceable>} % dans le corps du document +</screen> +<para>Apporte du matériel d’un fichier externe <filename><replaceable>nomfichier</replaceable>.tex</filename> +dans un document &latex;. +</para> +<para>La commande <literal>\include</literal> fait trois choses : elle exécute +<literal>\clearpage</literal> (see <link linkend="_005cclearpage-_0026-_005ccleardoublepage">\clearpage & \cleardoublepage</link>), puis elle +insère le matériel à partir du fichier <filename><replaceable>nomfichier</replaceable>.tex</filename> dans +le document, ensuite fait encore un <literal>\clearpage</literal>. Cette commande ne +peut apparaître que dans le corps du document. +</para> +<para>La commande <literal>\includeonly</literal> contrôle quels fichiers seront lus par +&latex; lors des commandes <literal>\include</literal> suivantes. Sa liste de noms +de fichier est séparée par des virgules, et la commande ne peut +apparaître que dans le préambule, ou même plus tôt, par ex. dans la +ligne de commande : elle ne peut pas apparaître dans le corps du +document. +</para> +<para>Dans le document racine en exemple ci-dessous, <filename>constitution.tex</filename>, on +inclut trois fichiers, <filename>preambule.tex</filename>, <filename>articles.tex</filename>, et +<filename>amendements.tex</filename>. +</para> +<screen>\documentclass{book} +\includeonly{ + preambule, + articles, + amendements + } +\begin{document} +\include{preambule} +\include{articles} +\include{amendements} +\end{document} </screen> -<para>La commande <literal>\includeonly</literal> contrôle quels fichiers sont lisible par -toute commande <literal>\include</literal> venant ensuite. La liste des noms de -fichier est à éléments séparés par des virgules. Chaque élément -<replaceable>fichier1</replaceable>, <replaceable>fichier2</replaceable>, … doit exactement correspondre à -un nom de fichier spécifié en argument d’une commande <literal>\include</literal> -pour que la sélection soit effective. +<para>Le fichier <filename>preambule.tex</filename> ne contient aucun code spécial ; vous +avez juste extrait ce chapitre de <filename>consitution.tex</filename> pour le mettre +dans un fichier séparé pour rendre son édition plus commode. +</para> +<screen>\chapter{Préambule} +Le peuple français proclame solennellement son attachement aux Droits de +l’Homme et aux principes de la souveraineté nationale tels qu’ils ont +été définis par la Déclaration de 1789, ... +</screen> +<para>Exécuter &latex; sur <filename>constitution.tex</filename> fait apparaître le +matériel issu de ces trois fichiers dans le document mais génère +également les fichiers auxiliaires <filename>preamble.aux</filename>, +<filename>articles.aux</filename>, et <filename>amendements.aux</filename>. Ceux-ci contiennent de +l’information telle que les numéros de page et les renvois (see <link linkend="Cross-references">Cross +references</link>). Si maintenant vous mettez en commentaire les lignes de +<literal>\includeonly</literal> contenant <literal>preambule</literal> et <literal>amendements</literal> et +exécutez &latex; de nouveau alors le document résultant ne contiendra +que le matériel issu de <filename>articles.tex</filename>, mais pas celui de +<filename>preamblue.tex</filename> ni de <filename>amendements.tex</filename>. Néanmois, la +totalité de l’information auxiliaire issue des fichiers omis est +toujours là, y compris le numéro de la page où commence le chapitre. +</para> +<para>S’il n’y a pas de <literal>\includeonly</literal> dans le préambule du document, +alors &latex; inclut tous les fichiers demandés par des commandes +<literal>\include</literal>. +</para> +<para>La commande <literal>\include</literal> fabrique une nouvelle page. Pour éviter +cela, voir <link linkend="_005cinput">\input</link> (ce qui, cependant, ne retient pas l’information +auxiliaire). +</para> +<para>See <link linkend="Larger-book-template">Larger book template</link> pour un autre exemple utilisant +<literal>\include</literal> et <literal>\includeonly</literal>. Cet exemple utilise également +<literal>\input</literal> pour certain matériel qui ne débute pas nécessairement sur +une nouvelle page. +</para> +<para>Les noms de fichiers peuvent impliquer un chemin. </para> -<para>Cette commande ne peut apparaître que dans le préambule. +<screen>\documentclass{book} +\includeonly{ + chapitres/chap1, + } +\begin{document} +\include{chapitres/chap1} +\end{document} +</screen> +<para>Pour rendre votre document portable vis à vis des diverses distributions +et plateformes vous devriez éviter les espaces dans les noms de +fichier. Traditionnnelement on utilise des tirets de 6 ou de 8 à la +place. Néanmoins, pour le nom ‘<literal>amo amas amat</literal>’, ce qui suit +fonctionne sous &tex; Live sur GNU/Linux: </para> +<screen>\documentclass{book} +\includeonly{ + "amo\space amas\space amat" + } +\begin{document} +\include{"amo\space amas\space amat"} +\end{document} +</screen> +<para>et ceci fonctionne sous MiK&tex; sur Windows: +</para> +<screen>\documentclass{book} +\includeonly{ + {"amo amas amat"} + } +\begin{document} +\include{{"amo amas amat"}} +\end{document} +</screen> +<indexterm role="cp"><primary><literal>\include</literal> imbriqués non autorisés</primary></indexterm> +<indexterm role="cp"><primary>imbrication de <literal>\include</literal> non autorisée</primary></indexterm> +<para>Vous ne pouvez pas utiliser <literal>\include</literal> au sein d’un fichier qui +lui-même est inclus via <literal>\include</literal>, sans quoi vous obtenez l’erreur +‘<literal>LaTeX Error: \include cannot be nested</literal>’. La commande +<literal>\include</literal> ne peut pas apparaître dans le préambule ; sans quoi +vous obtenez l’erreur ‘<literal>LaTeX Error: Missing \begin{document}</literal>’. +</para> +<para>Si un fichier que vous incluez par <literal>\include</literal> n’existe pas, par +exemple si vous tapez la commande <literal>\include{athiesme}</literal> par erreur +à la place de <literal>\include{atheisme}</literal>, alors &latex; ne produit pas +une erreur mais un avertissement ‘<literal>No file athiesme.tex.</literal>’ (Il crée +également le fichier <filename>athiesme.aux</filename>). +</para> +<para>Si vous faites un <literal>\include</literal> du fichier racine dans lui-même alors +vous obtenez tout d’abord ‘<literal>LaTeX Error: Can be used only in +preamble</literal>’. Les exécutions suivantes donnent ‘<literal>TeX capacity +exceeded, sorry [text input levels=15]</literal>’. Pour réparer cela, vous devez +enlever l’inclusion <literal>\include{<replaceable>racine</replaceable>}</literal> mais aussi détruire +le fichier <filename><replaceable>racine</replaceable>.aux</filename> et exécuter de nouveau &latex;. +</para> + +<!-- xxx \includeonly omis = mettre plus haut dans le nœeud, pour la --> +<!-- xxx progressivité de l'exposé. --> + </sect1> -<sect1 label="22.3" id="_005cinput"> +<sect1 label="24.3" id="_005cinput"> <title>\input</title> <indexterm role="fn"><primary>\input</primary></indexterm> @@ -9375,45 +12915,147 @@ n’est trouvé avec ce nom, alors on essaie le <replaceable>nomfichier</rep </para> </sect1> </chapter> -<chapter label="23" id="Front_002fback-matter"> -<title>Prologue et épilogue</title> +<chapter label="25" id="Front_002fback-matter"> +<title>Parties pré/post-liminaires</title> -<sect1 label="23.1" id="Tables-of-contents"> -<title>Tables des matières</title> +<sect1 label="25.1" id="Table-of-contents-etc_002e"> +<title>Table des matières etc.</title> <indexterm role="cp"><primary>table des matière, création</primary></indexterm> <indexterm role="fn"><primary>\tableofcontents</primary></indexterm> <indexterm role="fn"><primary>.toc, fichier</primary></indexterm> -<para>On produit une table des matières avec la commande -<literal>\tableofcontents</literal>. Placez la commande à l’endroit même où vous -voulez que la table des matière apparaisse ; &latex; fera le reste pour -vous. Une seconde compilation est nécessaire pour qu’un fichier -<filename>.toc</filename> ait été produit à la précédente. -</para> -<para>La commande <literal>\tableofcontents</literal> produit un titre, mais il ne produit -pas automatiquement un début de nouvelle page. Si vous voulez une -nouvelle page après la table des matières, mettez une commande -<literal>\newpage</literal> après la commande <literal>\tableofcontents</literal>. -</para> <indexterm role="fn"><primary>\listoffigures</primary></indexterm> <indexterm role="fn"><primary>\listoftables</primary></indexterm> -<para>Les commandes analogues <literal>\listoffigures</literal> et <literal>\listoftables</literal> -produisent respectivement une liste des figures et une listes des -tableaux. Le fonctionnement est exactement le même que pour la table des matières. +<indexterm role="fn"><primary>.lof fichier</primary></indexterm> +<indexterm role="fn"><primary>.lot fichier</primary></indexterm> + +<para>Synopsis, l’un parmi ceux qui suivent : </para> -<indexterm role="fn"><primary>\nofiles</primary></indexterm> -<para>La commande <literal>\nofiles</literal> l’emporte sur ces commandes, et -<emphasis>empèche</emphasis> la génération de ces listes. +<screen>\tableofcontents +\listoffigures +\listoftables +</screen> +<para>Produit une table des matières, ou une liste des figures, ou une liste +des tableaux. Placez la commande à l’endroit même où vous voulez que la +table ou liste apparaisse. Vous n’avez pas à la renseigner ; par +exemple, typiquement les entrées de la table des matières sont +automatiquement générées à partir des commandes de rubricage +<literal>\chapter</literal>, etc. +</para> +<para>L’exemple ci-dessous illustre la première commande, +<literal>\tableofcontents</literal>. &latex; produit une table des matières sur la +première page du livre. +</para> +<screen>\documentclass{book} +% \setcounter{tocdepth}{1} +\begin{document} +\tableofcontents\newpage + ... +\chapter{...} + ... +\section{...} + ... +\subsection{...} + ... +\end{document} +</screen> +<para>En décommentant la deuxième ligne on peut limiter la table à ne lister +que les rubriques issues de <literal>\chapter</literal> et <literal>\section</literal>, mais pas +celle issue de <literal>\subsection</literal>, parce que la commande <literal>\section</literal> +a pour niveau 1. See <link linkend="Sectioning">Sectioning</link> pour les numéros de niveaux des +rubriques. Pour plus ample information sur <literal>tocdepth</literal> +see <link linkend="Sectioning_002ftocdepth">Sectioning/tocdepth</link>. +</para> +<para>Un autre exemple de l’utilisation de <literal>\tableofcontents</literal> est dans +<link linkend="Larger-book-template">Larger book template</link>. +</para> +<para>Si vous désirez un saut de page après la table des matières, insérez une commande +<literal>\newpage</literal> après la commande <literal>\tableofcontents</literal>, comme ci-dessus. +</para> +<para>Pour fabriquer la table des matières, &latex; stocke l’information dans +un fichier auxiliaire nommé <filename><replaceable>fichier-racine</replaceable>.toc</filename> +(see <link linkend="Splitting-the-input">Splitting the input</link>). Par exemple, le fichier +&latex; <filename>test.tex</filename> ci-dessous : +</para> +<screen>\documentclass{article} +\begin{document} +\tableofcontents\newpage +\section{Premièrement} +\subsection{Deuxièmement} + ... +</screen> +<para>écrit la ligne suivante dans <filename>test.toc</filename> : +</para> +<screen>\contentsline {section}{\numberline {1}Premièrement}{2} +\contentsline {subsection}{\numberline {1.1}Deuxièmement}{2} +</screen> +<para>L’indication <literal>section</literal> ou <literal>subsection</literal> donne le type de +rubrique. Le crochet <literal>\numberline</literal> vous permet de changer la façon +dont l’information apparaît au sein de la table des matières. Son +unique argument, <literal>1</literal> ou <literal>1.1</literal>, est le numéro de la rubrique +alors que le reste du deuxième argument de <literal>\contentsline</literal>, +<literal>Premièrement</literal> ou <literal>Deuxièmement</literal>, est le titre. Finalement, +le troisième argument, <literal>2</literal>, est le numéro de la page à laquelle les +rubriques débutent. +</para> +<para>Une conséquence de cette stratégie de stockage de fichier auxiliaire est +que pour obtenir correctement la page de table des matières vous devez +exécuter &latex; deux fois, une fois pour stocker l’information et une +fois pour l’obtenir. +<!-- xxx Et avec les .lot et .lof c'est aussi 2 fois, mais parce que le --> +<!-- .aux est relu avant le .lot/.lof --> +En particulier, la première fois que vous exécutez &latex; sur un +nouveau document, la page de table des matières est vide hormis le titre +‘<literal>Table des matières</literal>’. Il suffit de l’exécuter de nouveau. +</para> +<!-- xxx ajouter que les fichier .lot et .lof sont renseignés par la commande \caption --> +<para>Les commandes <literal>\listoffigures</literal> et <literal>\listoftables</literal> produisent +une liste des figures et une liste des tables. Elles fonctionnent de la +même façon que les commandes pour la table des martières ; notamment +elles fonctionnent avec l’information stockée dans des fichiers +<filename>.lof</filename> et <filename>.lot</filename>. +</para> +<para>Pour modifier le titre de la page de table des matières, inspirez vous +la la première ligne de l’exemple suivant : +</para> +<screen>\renewcommand{\contentsname}{Table des matières} +\renewcommand{\listfigurename}{Tracé de courbes} +\renewcommand{\listtablename}{Tableaux} +</screen> +<para><indexterm role="fn"><primary>paquetage <literal>babel</literal></primary></indexterm> +<indexterm role="fn"><primary><literal>babel</literal>, paquetage</primary></indexterm> +</para> +<indexterm role="fn"><primary>paquetage <literal>polyglossia</literal></primary></indexterm> +<indexterm role="fn"><primary><literal>polyglossia</literal>, paquetage</primary></indexterm> + +<para>De même, les deux autres lignes s’occupent des deux autres. Des +paquetages d’internationalisation tels que <filename>babel</filename> ou +<filename>polyglossia</filename> modifient les titres en fonction de la langue de base +sélectionnée. +</para> +<indexterm role="fn"><primary>paquetage <literal>tocloft</literal></primary></indexterm> +<indexterm role="fn"><primary><literal>tocloft</literal>, paquetage</primary></indexterm> + +<indexterm role="fn"><primary>paquetage <literal>tocbibbind</literal></primary></indexterm> +<indexterm role="fn"><primary><literal>tocbibbind</literal>, paquetage</primary></indexterm> + +<para>Le CTAN a beaucoup de paquetages traitant de la table des matières et +des listes de figures et de tableaux. L’un d’eux bien commode pour +ajuster certains aspects du traitement par défaut, tels que +l’espacement, est <filename>tocloft</filename>. Et <filename>tocbibbind</filename> permet d’ajouter +automatiquement la bibliograpghie, les indexes, etc. à la table des +matières. </para> -<sect2 label="23.1.1" id="_005caddcontentsline"> +<sect2 label="25.1.1" id="_005caddcontentsline"> <title><literal>\addcontentsline</literal></title> <indexterm role="fn"><primary>\addcontentsline{<replaceable>ext</replaceable>}{<replaceable>unit</replaceable>}{<replaceable>texte</replaceable>}</primary></indexterm> -<indexterm role="cp"><primary>table of contents entry, manually adding</primary></indexterm> +<indexterm role="cp"><primary>table des matières, ajouter manuellement un article</primary></indexterm> +<!-- xx Revoir la trad. --> <para>Synopsis : </para> @@ -9454,7 +13096,7 @@ suivantes, selon la valeur de l’argument <replaceable>ext</replaceable> : </sect2> -<sect2 label="23.1.2" id="_005caddtocontents"> +<sect2 label="25.1.2" id="_005caddtocontents"> <title><literal>\addtocontents</literal></title> <indexterm role="fn"><primary>\addtocontents{<replaceable>ext</replaceable>}{<replaceable>texte</replaceable>}</primary></indexterm> @@ -9472,10 +13114,39 @@ figures), ou <filename>lot</filename> (liste des tableaux). </listitem></varlistentry><varlistentry><term><replaceable>texte</replaceable> </term><listitem><para>Le texte à écrire. </para></listitem></varlistentry></variablelist> +</sect2> +<sect2 label="25.1.3" id="_005cnofiles"> +<title><literal>\nofiles</literal></title> + +<indexterm role="fn"><primary>\nofiles</primary></indexterm> + +<para>Synopsis : +</para> +<screen>\nofiles +</screen> +<para>Empêche &latex; d’écrire quelque fichier auxiliaire que ce soit. Les +seules sorites seront les fichiers <filename>.log</filename> et <filename>.pdf</filename> (ou +<filename>.dvi</filename>). Cette commande ne peut être placée que dans le preambule. +</para> +<para>À cause de la commande <literal>\nofiles</literal> dans cet exemple aucun fichier +<filename>.toc</filename> n’est produit. +</para> +<screen>\documentclass{book} +\nofiles +\begin{document} +\tableofcontents\newpage +\chapter{...} + ... +</screen> +<para>&latex; n’efface pas les fichiers auxiliaires existants, de sorte que +si vous insérer la commande <literal>\nofiles</literal> après avoir compilé le +fichier et obtenu un fichier <filename>.toc</filename> alors la page de table des +matières contiendra l’ancienne information. +</para> </sect2> </sect1> -<sect1 label="23.2" id="Glossaries"> +<sect1 label="25.2" id="Glossaries"> <title>Glossaires</title> <indexterm role="cp"><primary>glossaires</primary></indexterm> @@ -9496,9 +13167,9 @@ est la valeur courante de <literal>\thepage</literal>. <para>Le paquetage <literal>glossary</literal> disponible sur le CTAN fournit une prise en charge de glossaires plus élaborée. </para> - +<!-- Revoir la trad. --> </sect1> -<sect1 label="23.3" id="Indexes"> +<sect1 label="25.3" id="Indexes"> <title>Index</title> <indexterm role="cp"><primary>index</primary></indexterm> @@ -9517,7 +13188,8 @@ préambule. <literal>\indexentry{<replaceable>texte</replaceable>}{<replaceable>numpage</replaceable>}</literal>, où <replaceable>numpage</replaceable> est la valeur courante de <literal>\thepage</literal>. </para> -<indexterm role="cp"><primary>« Voir » et « Voir aussi », article d’index</primary></indexterm> +<indexterm role="cp"><primary>Voir et Voir aussi, article d’index</primary></indexterm> +<indexterm role="cp"><primary>article d’index, « Voir » et « Voir aussi »</primary></indexterm> <para>Pour générer un article d’index pour « toto » qui dit « Voir titi », utilisez une barre verticale : <literal>\index{toto|see{titi}}</literal>. Utilisez <literal>seealso</literal> au lieu de <literal>see</literal> pour fabriquer un article @@ -9525,6 +13197,11 @@ en « Voir aussi ». </para> <indexterm role="fn"><primary>\seename</primary></indexterm> <indexterm role="fn"><primary>\alsoname</primary></indexterm> +<indexterm role="fn"><primary>paquetage <literal>babel</literal></primary></indexterm> +<indexterm role="fn"><primary><literal>babel</literal>, paquetage</primary></indexterm> +<indexterm role="fn"><primary>paquetage <literal>polyglossia</literal></primary></indexterm> +<indexterm role="fn"><primary><literal>polyglossia</literal>, paquetage</primary></indexterm> + <para>Le texte « Voir » est défini par la macro <literal>\seename</literal>, et le texte « Voir aussi » par la macro <literal>\alsoname</literal>. Ils peuvent être redéfinis pour d’autres langages. @@ -9542,6 +13219,7 @@ pour composer l’index. <indexterm role="fn"><primary>\printindex</primary></indexterm> <indexterm role="fn"><primary>paquetage <literal>makeidx</literal></primary></indexterm> <indexterm role="fn"><primary><literal>makeidx</literal>, paquetage</primary></indexterm> + <para>L’index est d’ordinaire généré avec la commande <literal>\printindex</literal>. Celle-ci est définie dans le paquetage <literal>makeidx</literal>, ainsi vous devez mettre <literal>\usepackage{makeidx}</literal> dans le préambule. @@ -9553,12 +13231,14 @@ nouvelle lettre dans l’index imprimé ; sa valeur par défaut est </para> <indexterm role="fn"><primary>paquetage <literal>showidx</literal></primary></indexterm> <indexterm role="fn"><primary><literal>showidx</literal>, paquetage</primary></indexterm> + <para>Le paquetage <literal>showidx</literal> a pour effet que chaque article de l’index est affiché dans la marge de la page où l’article apparaît. Ceci peut aider à la préparation de l’index. </para> <indexterm role="fn"><primary>paquetage <literal>multind</literal></primary></indexterm> <indexterm role="fn"><primary><literal>multind</literal>, paquetage</primary></indexterm> + <para>Le paquetage <literal>multind</literal> prend en charge la pluralité des index. Voir aussi l’article de la FAQ &tex; FAQ à ce propos, <ulink url="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=multind">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=multind</ulink>. @@ -9566,7 +13246,7 @@ Voir aussi l’article de la FAQ &tex; FAQ à ce propos, </sect1> </chapter> -<chapter label="24" id="Letters"> +<chapter label="26" id="Letters"> <title>Des lettres</title> <indexterm role="cp"><primary>lettres, écrire des</primary></indexterm> <indexterm role="cp"><primary>écrire des lettres</primary></indexterm> @@ -9662,7 +13342,7 @@ I ne suis pas intéressé à faire affaire avec vous. </para> -<sect1 label="24.1" id="_005caddress"> +<sect1 label="26.1" id="_005caddress"> <title><literal>\address</literal></title> <indexterm role="fn"><primary>\address</primary></indexterm> @@ -9681,14 +13361,14 @@ individuel. </para> <para>Cette commande est optionnelle : sans la déclaration <literal>\address</literal> la lettre est formatée avec un espace à blanc en haut de sorte à pouvoir -être imprimée sur du papier à en-tête pré-imprimé. (Voir <link linkend="Overview">Overview</link>, +être imprimée sur du papier à en-tête pré-imprimé. (See <link linkend="Overview">Overview</link>, pour les détails concernant votre implémentation locale). Avec la déclaration <literal>\address</literal>, elle est formatée comme une lettre personnelle. </para> </sect1> -<sect1 label="24.2" id="_005ccc"> +<sect1 label="26.2" id="_005ccc"> <title><literal>\cc</literal></title> <indexterm role="fn"><primary>\cc</primary></indexterm> @@ -9710,7 +13390,7 @@ les avec une double contr’oblique <literal>\\</literal>, comme dans : </sect1> -<sect1 label="24.3" id="_005cclosing"> +<sect1 label="26.3" id="_005cclosing"> <title><literal>\closing</literal></title> <indexterm role="fn"><primary>\closing</primary></indexterm> @@ -9733,7 +13413,7 @@ optionnelle). Par exemple : </screen> </sect1> -<sect1 label="24.4" id="_005cencl"> +<sect1 label="26.4" id="_005cencl"> <title><literal>\encl</literal></title> <indexterm role="fn"><primary>\encl</primary></indexterm> @@ -9747,7 +13427,7 @@ optionnelle). Par exemple : </para> </sect1> -<sect1 label="24.5" id="_005clocation"> +<sect1 label="26.5" id="_005clocation"> <title><literal>\location</literal></title> <indexterm role="fn"><primary>\location</primary></indexterm> @@ -9760,7 +13440,7 @@ seulement si le style de la page est <literal>firstpage</literal>. </para> </sect1> -<sect1 label="24.6" id="_005cmakelabels"> +<sect1 label="26.6" id="_005cmakelabels"> <title><literal>\makelabels</literal></title> <indexterm role="fn"><primary>\makelabels</primary></indexterm> @@ -9812,7 +13492,7 @@ préambule : </screen> </listitem></orderedlist> </sect1> -<sect1 label="24.7" id="_005cname"> +<sect1 label="26.7" id="_005cname"> <title><literal>\name</literal></title> <indexterm role="fn"><primary>\name</primary></indexterm> @@ -9823,7 +13503,7 @@ retour. </para> </sect1> -<sect1 label="24.8" id="_005copening"> +<sect1 label="26.8" id="_005copening"> <title><literal>\opening{<replaceable>texte</replaceable>}</literal></title> <indexterm role="fn"><primary>\opening</primary></indexterm> <indexterm role="cp"><primary>lettres, commencer</primary></indexterm> @@ -9841,7 +13521,7 @@ texte d’<firstterm>appel</firstterm> de votre lettre. Par exemple : </screen> </sect1> -<sect1 label="24.9" id="_005cps"> +<sect1 label="26.9" id="_005cps"> <title><literal>\ps</literal></title> <indexterm role="fn"><primary>\ps</primary></indexterm> <indexterm role="cp"><primary>postscriptum, dans une lettre</primary></indexterm> @@ -9856,7 +13536,7 @@ texte d’<firstterm>appel</firstterm> de votre lettre. Par exemple : </para> </sect1> -<sect1 label="24.10" id="_005csignature"> +<sect1 label="26.10" id="_005csignature"> <title><literal>\signature{<replaceable>texte</replaceable>}</literal></title> <indexterm role="fn"><primary>\signature</primary></indexterm> @@ -9915,7 +13595,7 @@ le préambule). </sect1> -<sect1 label="24.11" id="_005ctelephone"> +<sect1 label="26.11" id="_005ctelephone"> <title><literal>\telephone</literal></title> <indexterm role="fn"><primary>\telephone</primary></indexterm> @@ -9933,13 +13613,137 @@ il apparaît en bas à droite de la page. </sect1> </chapter> -<chapter label="25" id="Terminal-input_002foutput"> +<chapter label="27" id="Terminal-input_002foutput"> <title>Entrée/sortie console</title> <indexterm role="cp"><primary>entrée/sortie console</primary></indexterm> +<sect1 label="27.1" id="_005copenin-_0026-_005copenout"> +<title><literal>\openin</literal> & <literal>\openout</literal></title> + +<indexterm role="fn"><primary>\openin</primary></indexterm> +<indexterm role="fn"><primary>\openout</primary></indexterm> +<indexterm role="fn"><primary>\closein</primary></indexterm> +<indexterm role="fn"><primary>\closeout</primary></indexterm> +<indexterm role="cp"><primary>file, opening</primary></indexterm> +<indexterm role="cp"><primary>file, closing</primary></indexterm> +<indexterm role="cp"><primary>open a file</primary></indexterm> + +<para>Synopsis : +</para> +<screen>\openin <replaceable>numéro</replaceable>=<replaceable>nomfichier</replaceable> +</screen> +<para>ou : +</para> +<screen>\openout <replaceable>numéro</replaceable>=<replaceable>nomfichier</replaceable> +</screen> +<para>Ouvre un fichier pour y lire, ou pour y écrire. Le <replaceable>numéro</replaceable> doit +être entre 0 et 15, comme dans <literal>\openin3</literal> (dans Lua&latex; <replaceable>numéro</replaceable> +peut être entre 0 et 255). +</para> +<para>Ici &tex; ouvre le fichier le fichier <filename>presidents.tex</filename> en lecture. +</para> +<screen>\newread\fichierpresidents +\openin\fichierpresidents=presidents +\typeout{fichierpresidents vaut \the\fichierpresidents} +\read\fichierpresidents to\presidentligne +\typeout{\presidentligne} +</screen> +<para>La commande <literal>\newread</literal> alloue des numéros de flux d’entrée de 0 +à 15 (il y a aussi une commande <literal>\newwrite</literal>). La variable +<literal>\fichierpresidents</literal> est plus facile à mémoriser mais sous le capot +ce n’est rien de plus qu’un numéro ; le premier <literal>\typeout</literal> donne +queleque-chose du genre de ‘<literal>fichierpresidents vaut 1</literal>’. De plus, +<literal>\newread</literal> garde la trace de l’allocation de sorte que si vous en +utilisez trop alors vous obtiendrez une erreur du genre de ‘<literal>! No +room for a new \read</literal>’. Le second <literal>\typeout</literal> produit la première +ligne du fihcier, quelque-chose du genre de ‘<literal>1 Bonaparte, +Louis-Napoléon</literal>’. +</para> +<para>D’ordinaire &tex; n’essaie pas d’ouvrir le fichier jusqu’à la prochaine +éjection de page. Pour changer cela, utilisez +<literal>\immediate\openin <replaceable>numéro</replaceable>=<replaceable>nomfichier</replaceable></literal> ou +<literal>\immediate\openout <replaceable>numéro</replaceable>=<replaceable>nomfichier</replaceable></literal>. +</para> +<para>Fermez les fichiers avec <literal>\closein <replaceable>numéro</replaceable></literal> et +<literal>\closeout <replaceable>numéro</replaceable></literal>. +</para> +<para>La façon dont &latex; manipule les noms de fichiers varie selon les +distributions, et peut même varier d’une version à l’autre d’une même +distribution. Si le nom de fichier n’a pas d’extension alors &tex; y +ajoute un <filename>.tex</filename>. L’exemple suivant crée <filename>presidents.tex</filename>, y +écrit une ligne, et le ferme. +</para> +<screen>\newwrite\fichierpresidents +\openout\fichierpresidents=presidents +\write\fichierpresidents{1 Bonaparte, Louis-Napoléon} +\closeout\fichierpresidents +</screen> +<para>Mais les noms de fichier avec un point peuvent causer des problèmes : si +&tex; tombe sur un <replaceable>nomfichier</replaceable> comme <filename>presidents.dat</filename> il se +peut qu’il cherche d’abord <filename>presidents.dat.tex</filename> et ensuite +<filename>presidents.dat</filename>, ou bien le contraire. La documentation de votre +distribution devrait en dire plus, et si cela fonctionne pour vous tant +mieux, mais pour assurer une portabilité complète le mieux et d’utiliser +des noms de fichier ne contenant que les vingt-six lettres ASCII +(insensible à la casse case-sensitive) et les dix chiffres, ainsi que +les tiret de 8 ‘<literal>_</literal>’ et de 6 ‘<literal>-</literal>’, et en particulier sans point +ni espace. +</para> +<para>Pour <literal>\openin</literal>, si &tex; ne peut pas trouver le fichier alors il +ne produit pas une erreur. Il ne fait que considérer que ce flux n’est +pas ouvert (ce qu’on peut vérifier avec <literal>\ifeof</literal> ; on peut +également recourir à la commande <literal>\InputIfFileExists</literal>, see <link linkend="Class-and-package-commands">Class +and package commands</link>). Si vous essayer d’utiliser le même numéro deux +fois, &latex; ne produit pas d’erreur. Si vous essayer d’utiliser un +mauvais numéro, alors vous obtiendrez un message d’erreur du genre de +‘<literal>! Bad number (16). <to be read again> = l.30 \openin16=test.jh</literal>’. +</para> +</sect1> +<sect1 label="27.2" id="_005cread"> +<title><literal>\read</literal></title> + +<indexterm role="fn"><primary>\read</primary></indexterm> +<indexterm role="cp"><primary>fichier, lecture d’un</primary></indexterm> +<indexterm role="cp"><primary>lire un fichier</primary></indexterm> +<indexterm role="cp"><primary>lecture d’un fichier</primary></indexterm> -<sect1 label="25.1" id="_005ctypein"> +<para>Synopsis : +</para> +<screen>\read <replaceable>numéro</replaceable> to<replaceable>macro</replaceable> +</screen> +<para>Fait que la commande <replaceable>macro</replaceable> contienne la ligne suivante d’entrée du +flux de texte <replaceable>numéro</replaceable>, comme dans <literal>\read5 to\data</literal>. +</para> +<para>L’exemple suivant ouvre le fichier <filename>mel.tex</filename> en lecture, me le +contenu de la première ligne dans la commande <literal>\courriel</literal>, et +ensuite ferme le fichier. +</para> +<screen>\newread\fichierreception +\openin\fichierreception=mel +\read\fichierreception to\courriel +\typeout{Adresse mél : \courriel} +\closein\fichierreception +</screen> +<para>Si <replaceable>numéro</replaceable> est hors de l’intervalle de 0 à 15 ou si aucun fichier +avec ce numéro n’est ouvert, ou si le fichier est à sa fin, alors +<literal>\read</literal> prend son entrée à partir du terminal. Notez, cependant, +que la méthode naturelle en &latex; de prendre en entrée à partir du +terminal est <literal>\typein</literal> (see <link linkend="_005ctypein">\typein</link>). +</para> +<para>Pour lire un fichier entier en une fois utilisez <literal>\input</literal> +(see <link linkend="_005cinput">\input</link>) ou <literal>\include</literal> (see <link linkend="_005cinclude-_0026-_005cincludeonly">\include & \includeonly</link>). +</para> +<indexterm role="fn"><primary>paquetage <literal>datatool</literal></primary></indexterm> +<indexterm role="fn"><primary><literal>datatool</literal>, paquetage</primary></indexterm> + + +<para>Une raison usuelle de vouloir lire d’un fichier de données est de faire +du publipostage. CTAN a plusieurs paquetage pour cela ; parmi lesquels +<filename>datatool</filename>. +</para> +</sect1> +<sect1 label="27.3" id="_005ctypein"> <title><literal>\typein[<replaceable>cmd</replaceable>]{<replaceable>msg</replaceable>}</literal></title> <indexterm role="fn"><primary>\typein</primary></indexterm> @@ -9958,7 +13762,7 @@ le texte en entrée qui a été tapé. </para> </sect1> -<sect1 label="25.2" id="_005ctypeout"> +<sect1 label="27.4" id="_005ctypeout"> <title><literal>\typeout{<replaceable>msg</replaceable>}</literal></title> <indexterm role="fn"><primary>\typeout</primary></indexterm> @@ -9978,41 +13782,661 @@ commande s’appliquent à <literal>msg</literal>. Une commande <literal>\sp l’entourent. Un <literal>^^J</literal> dans <literal>msg</literal> tape un saut à la ligne. </para> </sect1> +<sect1 label="27.5" id="_005cwrite"> +<title><literal>\write</literal></title> + +<indexterm role="fn"><primary>\write</primary></indexterm> + +<para>Synopsis : +</para> +<screen>\write <replaceable>numéro</replaceable>{<replaceable>chaîne</replaceable>} +</screen> +<para>Écrit <replaceable>chaîne</replaceable> vers le fichier journal (<filename>.log</filename>), vers le +terminal, ou vers un fichier ouvert par <literal>\openout</literal>. Par exemple, +<literal>\write6</literal> écrit vers le flux textuel numéro 6 +</para> +<para>Si le code suivant apparaît dans le fichier <filename><replaceable>fichierbase</replaceable>.tex</filename> +alors cela ouvre le fichier <filename><replaceable>fichierbase</replaceable>.jh</filename>, y écrit +‘<literal>Bonjour tout le monde !</literal>’ et un saut le ligne, et ferme ce fichier. +</para> +<screen>\newwrite\monfichier +\immediate\openout\monfichier=\jobname.jh % \jobname est le nom de base fichier racine +... +\immediate\write\monfichier{Bonjour tout le monde !} + ... +\immediate\closeout\monfichier +</screen> +<indexterm role="fn"><primary>\newwrite</primary></indexterm> +<para>Le <literal>\newwrite</literal> alloue un numéro de flux, en lui donnant un nom +symbolique pour se faciliter la vie, de sorte que <literal>flux +\newwrite\monfichier\the\monfichier</literal> produit quelque-chose du genre de +‘<literal>flux 3</literal>’. Ensuite <literal>\openout</literal> associe le numéro de flux avec +le nom de fichier fourni. Et puis à la fin &tex; exécute +<literal>\write3</literal> ce qui place la chaîne dans le fichier. +</para> +<indexterm role="cp"><primary>journal, écrire vers le fichier</primary></indexterm> +<indexterm role="cp"><primary>terminal, écrire vers le</primary></indexterm> +<indexterm role="cp"><primary><inlineequation><mathphrase>-1</mathphrase></inlineequation>, écrire dans le flux numéro</primary></indexterm> +<para>Typiquement <replaceable>numéro</replaceable> est compris entre 0 et 15, parce que typiquement +les auteurs &latex; suivent l’exemple précédent et le numéro est alloué +par le système. Si <replaceable>numéro</replaceable> est hors de l’intervalle de 0 à 15 ou +si il n’est pas associé à un fichier ouvert alors &latex; écrit +<replaceable>chaîne</replaceable> vers le fichier journal. Si <replaceable>numéro</replaceable> est positif alors +ne plus &latex; écrit <replaceable>chaîne</replaceable> vers le terminal. Ainsi, <literal>test +\write-1{Bonjour tout le monde !}</literal> place ‘<literal>Bonjour tout le +monde !</literal>’ suivi d’un saut de ligne dans le fichier journal (c’est cez que +la commande <literal>\wlog</literal> fait ; see <link linkend="_005cwlog">\wlog</link>). Et +<literal>\write100{Bonjour tout le monde !}</literal> met la même chose dans le +fichier jornal mais aussi met ‘<literal>Bonjour tout le monde !</literal>’ suivi d’un +saut de ligne dans la sortie terminal. (Mais 16, 17, et 18 sont des +valeurs spéciales de <replaceable>numéro</replaceable> ; voir ci-dessous.) +</para> +<indexterm role="cp"><primary>Lua&tex;, 256 flux de sortie dans</primary></indexterm> +<para>Dans Lua&tex;, au lieu de 16 flux de sortie il y en a 256 +(see <link linkend="TeX-engines">&tex; engines</link>). +</para> +<indexterm role="fn"><primary>\@auxout</primary></indexterm> +<indexterm role="fn"><primary>\@mainaux</primary></indexterm> +<para>Utilisez <literal>\write\@auxout{<replaceable>chaîne</replaceable>}</literal> pour écrire vers le +fichier <filename>.aux</filename> courant qui est associé soit au fichier racine soit +au fichier inclus courant ; et utilisez +<literal>\write\@mainaux{<replaceable>chaîne</replaceable>}</literal> pour écrire le fichier +<filename>.aux</filename> principal. Ces noms symboliques sont définis par &latex;. +</para> +<!-- credit: David Carlisle https://tex.stackexchange.com/a/115933/121234 --> +<para>Par défaut &latex; n’écrit pas <replaceable>chaîne</replaceable> vers le fichier +immediatement. C’est ainsi parce que, par exemple, vous pourriez avoir +besoin de <literal>\write</literal> pour sauvegarder le numéro de page courant, mais +au moment où &tex; rencontre une commande <literal>\write</literal> tpyiquement il +ne connaît pas quel est le numéro de page, puisque il n’a pas encore +découpé la sortie en pages. Ainsi, vous utilisez <literal>\write</literal> dans +l’un des trois contextes suivants : +</para> +<screen>\immediate\write\@auxout{<replaceable>chaîne</replaceable>} %1 +\write\@auxout{<replaceable>chaîne</replaceable>} %2 +\protected@write\@auxout{}{<replaceable>chaîne</replaceable>} %3 +</screen> +<orderedlist numeration="arabic"><listitem><indexterm role="cp"><primary><literal>\write</literal> immédiat</primary></indexterm> +<indexterm role="fn"><primary>\immediate\write</primary></indexterm> +<para>Avec le premier, &latex; écrit <replaceable>chaîne</replaceable> vers le fichier +immédiatement. Toutes les macros dans <replaceable>chaîne</replaceable> sont développées à +fond (exactement comme dans <literal>\edef</literal> de sorte que pour empêcher le +développement vous devez utiliser <literal>\noexpand</literal>, un <literal>toks</literal>, etc. +mais avec la différence que vous devez utiliser <literal>#</literal> au lieu de +<literal>##</literal>). +</para> +</listitem><listitem><indexterm role="cp"><primary><literal>\write</literal> retardé</primary></indexterm> +<indexterm role="cp"><primary>élément extraordinaire</primary></indexterm> +<indexterm role="fn"><primary>\shipout et développement</primary></indexterm> +<para>Avec le deuxième, <replaceable>chaîne</replaceable> est stocké dans la liste courante des +choses (comme un élémént « extraordinaire » de &tex;) et conservé +jusqu’à ce que la page soit éjectée et de la même manière les macros ne +sont pas développées jusqu’à l’éjection (<literal>\shipout</literal>). Au moment du +<literal>\shipout</literal>, <replaceable>chaîne</replaceable> est développée à fond. +</para> +</listitem><listitem><indexterm role="fn"><primary>\protected@write</primary></indexterm> +<para>Le troisième, <literal>\protected@write</literal>, est sembable au deuxième sauf +que vous pouvez utiliser <literal>\protect</literal> pour éviter le +développement. Le premier argument qui est en plus vous permet d’insérer +locallement des définitions supplémentaires pour que plus de macros +soient protégées ou pour avoir d’autres définitions spéciales pendant +l’écriture. +</para></listitem></orderedlist> + +<para>Voici un exemple simple de développement avec <literal>\write</literal> dans lequel +<replaceable>chaîne</replaceable> contient une séquence de contrôle <literal>\triplex</literal> que l’on +a définie comme le texte ‘<literal>XYZ</literal>’ : +</para> +<screen>\newwrite\fichierjh +\openout\fichierjh=test.jh +\newcommand{\triplex}{XYZ} +\write\fichierjh{test \triplex test} +</screen> +<para>Ceci résulte en ce que le fichier <filename>test.jh</filename> contienne le texte +‘<literal>test XYZtest</literal>’ suivi d’un saut de ligne. +</para> +<indexterm role="cp"><primary><literal>\write</literal>, flux 16, 17, 18</primary></indexterm> +<para>Les cas où <replaceable>numéro</replaceable> vaut 16, 17, ou 18 sont spéciaux. À cause du +comportement de <literal>\write</literal> quand <replaceable>numéro</replaceable> est hors de +l’intervalle de 0 à 15 qu’on a déjà décrit plus haut, dans Plain &tex; +<literal>\write16</literal> et <literal>\write17</literal> étaient parfois utilisés pour écrire +dans le fichier journal et le terminal ; toutefois, dans &latex;, la +façon naturelle de faire ceci est d’utiliser <literal>\typeout</literal> +(see <link linkend="_005ctypeout">\typeout</link>). La commande <literal>\write18</literal> est encore plus +spéciale ; les systèmes &tex; modernes l’utilisent pour passer des +commandes au système d’exploitation (see <link linkend="_005cwrite18">\write18</link>). +</para> +<indexterm role="cp"><primary>saut de ligne, dans <literal>\write</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>^^J</literal>, dans <literal>\write</literal></primary></indexterm> +<para>D’ordinaire <literal>\write</literal> produit en sortie une unique ligne. On peut y +insérer un saut de ligne avec <literal>^^J</literal>. Ainsi, l’exemple suivant +produit deux lignes dans le fichier journal : +</para> +<screen>\wlog{Les lignes parallèles ont beaucoup en commun.^^JMais elles ne se +rencontrent jamais.} +</screen> +<indexterm role="fn"><primary>paquetage <literal>answers</literal></primary></indexterm> +<indexterm role="fn"><primary><literal>answers</literal>, paquetage</primary></indexterm> + +<para>Un cas usuel dans lequel des auteurs tentent d’écrire dans leur propre +fichier est pour les réponses à des exerccies, ou dans quelque autre +situation où vous désirer écrire en sortie verbatim, sans développer les +macros. CTAN a plusieurs paquetages pour cela ; parmi lesquels +<filename>answers</filename>. +</para> + +<sect2 label="27.5.1" id="_005cwrite-and-security"> +<title><literal>\write</literal> et la sécurité</title> + +<indexterm role="cp"><primary>securité et <literal>\write</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>\write</literal> et sécurité</primary></indexterm> + +<para>La possibilité d’écrire dans des fichier soulève des problèmes de +sécurtié. Si vous compilez un fichier &latex; téléchargé et qu’il +écrase votre fichier de mots de passe alors vous serez à juste titre +embêté. +</para> +<para>Ainsi par défaut les systèmes &tex; ne vous autorisent à ouvrir en +écriture que les fichiers qui sont dans le répertoire courant ou dans un +sousrépertoire. L’exemple suivant +</para> +<screen>\newwrite\fichierjh +\openout\fichierjh=../test.jh +</screen> +<para>produit une erreur du genre de : +</para><screen>Not writing to ../test.jh (openout_any = p). +! I can't write on file `../test.jh' +</screen> +<indexterm role="cp"><primary>répertoires parents, impossible d’écrire vers</primary></indexterm> +<para>Il est possible d’avoir une telle erreur lorsqu’on essaie d’utiliser une +commande telle que <literal>\include{../nomfichier}</literal> puisque &latex; va +essayer d’ouvrir <filename>../filename.aux</filename>. La solution la plus simple est +de placer les fichiers inclus dans le même répertoire que le fichier +racine, ou dans des sous-répertoires. +</para> +</sect2> +<sect2 label="27.5.2" id="_005cmessage"> +<title><literal>\message</literal></title> + +<indexterm role="fn"><primary>\message</primary></indexterm> + +<para>Synopsis : +</para> +<screen>\message{<replaceable>chaîne</replaceable>} +</screen> +<para>Écrit <replaceable>chaîne</replaceable> vers le fichier journal en <filename>.log</filename> et le +terminal. +</para> +<para>Typiquement, les auteurs &latex; utilisent <literal>\typeout</literal> +(see <link linkend="_005ctypeout">\typeout</link>) qui permet d’utiliser <literal>\protect</literal> sur toute +commande fragile au sein de <replaceable>chaîne</replaceable> (see <link linkend="_005cprotect">\protect</link>). Mais la +commande <literal>\typeout</literal> insère un saut de ligne à la fin de +<replaceable>chaîne</replaceable> contrairement à <literal>\message</literal>, aussi cette dernière peut +être utile. +</para> +<para>Dans l’exemple ci-dessous dans le corps du document +</para> +<screen>avant\message{Un Deux}\message{Trois}\message{Quatre^^JLes} +\message{pouces vont se battre.}Après +</screen> +<para>dans certaines circonstances (voir ci-dessous) &latex; écrit ce qui suit +à la fois vers le terminal et le fichier journal. +</para> +<screen>Un Deux Trois Quatre +Les pouces vont se battre. +</screen> +<para>Un <literal>^^J</literal> produit un saut de ligne. Aussi, dans le document +en sortie, on a entre ‘<literal>avant</literal>’ et ‘<literal>Après</literal>’ un seul espace (issu +de la fin de ligne suivant ‘<literal>Les}</literal>’). +</para> +<para>Alors que <literal>\message</literal> vous permet de mieux contrôler le formatage, +un truc à piger c’est que &latex; peut très bien bousiller ce formatage +là en insérant des sauts de ligne selon ce qu’il a déjà sorti. Comparez +ce corps de document, où le ‘<literal>Deux</literal>’ a été déplacé, à celui donné en +exemple plus haut. +</para> +<screen>avant\message{Un}\message{Deux Trois}\message{Quatre^^JLes} +\message{pouces vont se battre.}Après +</screen> +<para>La chose suivante peut se produire : lorsque &latex; produit les +messages en sortie vers le terminal, le message avec ‘<literal>Un</literal>’ désormais +plus court tient à la fin de la ligne de terminal, et du coup &latex; +saute de ligne juste après lui et avant le ‘<literal>Deux Trois</literal>’. Ce saut +de ligne apparaît également dans le fichier journal. Cette insertion de +saut de ligne peut déprendre de, par exemple, la longueur des noms +complet des fichiers inclus. C’est pourquoi il est difficile de produire +des lignes formatées précisément et d’une façon qui soit portable, et de +même de demander que votre message commence au début d’une ligne. +</para> + +</sect2> +<sect2 label="27.5.3" id="_005cwlog"> +<title><literal>\wlog</literal></title> + +<indexterm role="fn"><primary>\wlog</primary></indexterm> + +<para>Synopsis : +</para> +<screen>\wlog{<replaceable>chaîne</replaceable>} +</screen> +<para>Écrit <replaceable>chaîne</replaceable> vers le fichier journal <filename>.log</filename>. +</para> +<screen>\wlog{Pour tout n différent de 0, et tout x, (sin x)/n vaut six.} +\wlog{Ben oui, il suffit de simplifier par n.} +</screen> +<para>D’ordinaire <replaceable>chaîne</replaceable> apparaît sur une seule ligne séparée. Utilisez +<literal>^^J</literal> pour insérer un saut de ligne. +</para> +<screen>\wlog{C'est Helvetica qui téléphone à Times Roman :} +\wlog{Change de ligne !^^JJe t'entends très mal.} +</screen> + +</sect2> +<sect2 label="27.5.4" id="_005cwrite18"> +<title><literal>\write18</literal></title> +<indexterm role="fn"><primary>\write18</primary></indexterm> +<indexterm role="cp"><primary>externes, commandes</primary></indexterm> +<indexterm role="cp"><primary>commandes exécutées depuis &latex;</primary></indexterm> +<indexterm role="cp"><primary>système, commandes exécutées depuis &latex;</primary></indexterm> +<indexterm role="cp"><primary>interpréteur de commandes du système d’exploitation, accès à</primary></indexterm> +<!-- Derived from: Joseph Wright: https://tex.stackexchange.com/a/20446/121234 --> + +<para>Synopsis : +</para> +<screen>\write18{<replaceable>commande_shell</replaceable>} +</screen> +<para>Émet une commande vers l’interpréteur du système d’exploitation. Le +système d’exploitation exécute la commande et l’exécution de &latex; +est bloquée jusqu’à ce que cela soit fini. +</para> +<indexterm role="fn"><primary>paquetage <literal>Asymptote</literal></primary></indexterm> +<indexterm role="fn"><primary><literal>Asymptote</literal>, paquetage</primary></indexterm> + +<para>La séquence suivante (sur Unix) +</para> +<screen>\usepackage{graphicx} % dans le préambule + ... +\newcommand{\numerofig}{1} +\immediate\write18{cd pix && asy figure\numerofig} +\includegraphics{pix\figure\numerofig.pdf} +</screen> +<para>exécute Asymptote (le programme <literal>asy</literal>) sur le fichier +<filename>pix/figure1.asy</filename>, de sorte que le document peut par la suite lire +le graphique en résultant (see <link linkend="_005cincludegraphics">\includegraphics</link>). Comme pour tout +<literal>\write</literal>, ici &latex; développe les macros contenues dans +<replaceable>commande_shell</replaceable> de sorte que <literal>\numerofig</literal> est remplacé par +‘<literal>1</literal>’. +</para> +<para>Un autre exemple est que vous pouvez exécuter automatiquement Bib&tex; +au début de chaque exécution de &latex; (see <link linkend="Using-BibTeX">Using BibTeX</link>) en +incluant <literal>\immediate\write18{bibtex8 \jobname}</literal> comme première +ligne du fichier. Notez que <literal>\jobname</literal> se développe par défaut en +le nom de base du fichier racine, ou bien l’argument de l’option +<literal>--jobname</literal> si celle-ci est passée sur la ligne de commande. +</para> +<para>Il peut arriver que vous ayez besoin de plusieurs étapes pour obtenir +l’information désirée. L’exemple suivant insère en entrée une liste de +tous les fichiers PDF du répertoire courant (voir aussi +<filename>texosquery</filename> plus bas) : +</para> +<screen>\immediate\write18{ls *.pdf > tmp.dat} +\input{tmp.dat} +</screen> +<para>Le comportement standard de tout <literal>\write</literal> est d’attendre jusqu’à la +prochaine éjection de page avant de développer les macros ou d’écrire +dans le flux (see <link linkend="_005cwrite">\write</link>). Mais il se peut que vous désiriez que +cela soit immédiat. Pour cela, utilisez +<literal>\immediate\write18{<replaceable>commande_shell</replaceable>}</literal>. +</para> +<para>Autoriser l’usage de commandes système au sein d’un fichier &latex; +pose des problème de sécurité évidents. Si vous télécharger un fichier +depuis la Toile et qu’il contient des commandes pour détruire tous vos +fichier, cela vous rendrait bien malheureux. Le réglage standard dans +les distributions modernes est d’interdire l’accès complet à +l’interpréteur de commande du système d’exploitation. Vous pouvez +l’autoriser, si vous êtes sûr qu’il n’y a pas de danger, en compilant +avec <literal>latex --enable-write18 <replaceable>nomfichier</replaceable></literal> (see <link linkend="Command-line-options">Command line +options</link>). (L’option <literal>--shell-escape</literal> est un synonyme dans &tex; +Live.) +</para> +<indexterm role="cp"><primary>restreint, accès shell</primary></indexterm> +<indexterm role="cp"><primary>restreint, accès interpréteur de commande du système d’exploitation</primary></indexterm> +<para>Au lieu de l’accès complet, les distributions modernes par défaut +utilisent une version restreinte qui permet à certaines commandes de +fonctionner, telles que celles qui font tourner Metafont pour générer +les polices manquantes, même si vous n’utilisez pas l’option +<literal>enable-write18</literal>. Par défaut cette liste de commandes autorisées +est courte et ne fait figurer que les commandes qui sont sous contrôle +des mainteneurs de la distribution (see <link linkend="Command-line-options">Command line options</link>). +</para> +<para>Certains paquetage ont besoin d’exécuter des commandes système +externes. Par exemple <filename>sagetex</filename> vous permet de faire faire des +calcul ou tracer des graphiques au logiciel de mathématiques <emphasis>Sage</emphasis>, +puis d’incorporer ces sorties dans votre document. Pour cela vous devez +exécuter &latex; avec la fonction <literal>\write18</literal> pleinement débridée. +</para> +<indexterm role="fn"><primary>/bin/sh, utilisé par <literal>\write18</literal></primary></indexterm> +<indexterm role="fn"><primary>sh, utilisé par <literal>\write18</literal></primary></indexterm> +<indexterm role="fn"><primary>cmd.exe, utilisé par <literal>\write18</literal></primary></indexterm> +<indexterm role="fn"><primary>SHELL, environnement, variables de</primary></indexterm> +<indexterm role="fn"><primary>SHELL, variables d’environnement</primary></indexterm> +<para>Le texte <replaceable>commande_shell</replaceable> est toujours passé à <filename>/bin/sh</filename> sur +les systèmes d’exploitation unixiens, et à l’interpréteur de commande DOS +<filename>cmd.exe</filename> sur Windows. &latex; ignore tout réglage d’un autre +interpréteur de commande par l’utilisateur, ainsi que la variable +d’environnement <literal>SHELL</literal>. +</para> +<indexterm role="fn"><primary>paquetage <literal>texosquery</literal></primary></indexterm> +<indexterm role="fn"><primary><literal>texosquery</literal>, paquetage</primary></indexterm> + +<indexterm role="cp"><primary>système, information</primary></indexterm> +<indexterm role="cp"><primary>exploitation, information système de</primary></indexterm> +<indexterm role="cp"><primary>locale, information, du système</primary></indexterm> +<indexterm role="cp"><primary>répertoire, listage, du système</primary></indexterm> +<para>Si votre besoin c’est d’avoir de l’information sur le système, comme le +nom du système d’exploitation, celui de la locale, ou le contenu d’un +répertoire, alors jeter un coup d’œil au paquetage <filename>texosquery</filename> qui +fournit une interface commode et sûre pour cela, contrairement aux +exemples donnés plus haut utilisant <literal>\write18</literal> à l’état brut : +<ulink url="https://ctan.org/pkg/texosquery">https://ctan.org/pkg/texosquery</ulink>. +</para> +</sect2> +</sect1> </chapter> -<chapter label="26" id="Command-line"> +<chapter label="28" id="Command-line"> <title>Ligne de commande</title> <indexterm role="cp"><primary>ligne de commande</primary></indexterm> -<para>La spécification du fichier d’entrée indique le fichier à être formaté ; -&tex; utilise <filename>.tex</filename> comme extension de fichier par défaut. Si -vous omettez complètment le fichier d’entrée, &tex; accèpte en entrée -les caractères saisis à partir de la console. Vous spécifiez les -options de commande en fournissant une chaîne en paramètre de la -commande ; par ex. +<para>Synopsis (depuis la ligne de commande d’un terminal) : +</para> +<screen>pdflatex <replaceable>options</replaceable> <replaceable>argument</replaceable> +</screen> +<para>Exécute &latex; sur <replaceable>argument</replaceable>. À la place de <command>pdflatex</command> +vous pouvez aussi utiliser <command>xelatex</command>, ou <command>lualatex</command>, ou +<command>latex</command>. +</para> +<para>L’exemple suivant exécute &latex; sur le fichier <filename>these.tex</filename> +produisant en sortie <filename>these.pdf</filename>. +</para> +<screen>pdflatex these +</screen> +<para><indexterm role="fn"><primary>.tex, extension par défaut</primary></indexterm> +Notez que <filename>.tex</filename> est l’extension par défault des noms de fichier. +</para> +<para>pdf&tex; est une évolution du programme original &tex;, comme le sont +Xe&tex; et Lua&tex; (see <link linkend="TeX-engines">&tex; engines</link>). Ils sont complètement +rétrocompatibles. Mais le programme original avait son propre format de +sortie, DVI, alors que les plus récents peuvent produire directement un +PDF en sortie. Ceci leur permet de profiter des fonctions +supplémentaires des PDF tels que les hyperliens, la prise en charge de +formats modernes d’images tels que JPG et PNG, et les programmes de +visionnage que l’on trouve de partout. En bref, si vous exécutez +<command>pdflatex</command> ou <command>xelatex</command> ou <command>lualatex</command> alors par +défaut vous obtenez un PDF et avez accès à toutes ses fonctions +modernes. Si vous exécutez <command>latex</command>, ou <literal>dvilualatex</literal>, +alors vous obtenez un DVI. La description faite ici suppose +pdf&latex;. +</para> +<para>See <link linkend="Command-line-options">Command line options</link>, pour une sélection des options de ligne de +commande les plus utiles. Quant à <replaceable>argument</replaceable>, le cas habituel est +qu’il ne commence pas par une contr’oblique, dans ce cas le système le +prend pour un nom de fichier, et compile ce fichier. Si <replaceable>argument</replaceable> +commence avec une contr’oblique, alors le système l’interprète comme une +ligne d’entrée à &latex;, ce qui peut être utilisé pour obtenir +certains effets spéciaux (see <link linkend="Command-line-input">Command line input</link>). +</para> +<para>Si vous ne donnez aucun arguments ni options alors <command>pdflatex</command> +invite à saisir à partir du terminal. Vous pouvez vous échapper de cela +en entrant <userinput>CTRL-D</userinput>. +</para> +<para>Si &latex; trouve une erreur dans votre document alors par défaut il +s’arrête et vous interroge à ce propos. See <link linkend="Recovering-from-errors">Recovering from errors</link> +pour un aperçu de quoi faire. +</para> + + +<sect1 label="28.1" id="Command-line-options"> +<title>Options passées à la ligne de commande</title> + +<indexterm role="cp"><primary>options passée à la ligne de commande</primary></indexterm> + +<para>On décrit ici les options de ligne de commande qui sont pertinentes pour +rédaction ordinaire de documents. Pour une liste complète, essayez +d’exécuter ‘<literal>latex --help</literal>’ depuis la ligne de commande. +</para> +<para>Les implementations permettent en général de spécifier les options de +ligne de commande avec un prefixe ‘<literal>-</literal>’ ou ‘<literal>--</literal>’. C’est le cas à +la fois pour &tex; Live (et Mac&tex;) et MiK&tex;. Ici on utilise +les deux conventions indistinctement. +</para> +<variablelist><indexterm role="fn"><primary>--version ligne de commande, option</primary></indexterm> +<varlistentry><term><literal>-version</literal> +</term><listitem><para>Affiche la version courante, comme ‘<literal>pdfTeX 3.14159265-2.6-1.40.16 +(TeX Live 2015/Debian)</literal>’ ainsi qu’une petite quantité d’information +supplémentaire, et se termine. +</para> +<indexterm role="fn"><primary>--help ligne de commande, option</primary></indexterm> +</listitem></varlistentry><varlistentry><term><literal>-help</literal> +</term><listitem><para>Produit un message bref d’utilisation servant d’aide-mémoire et se +termine. +</para> +<anchor id="interaction-modes"/><indexterm role="fn"><primary>--interaction ligne de commande, option</primary></indexterm> +</listitem></varlistentry><varlistentry><term><literal>-interaction=<replaceable>mode</replaceable></literal> +</term><listitem><indexterm role="cp"><primary>batchmode</primary></indexterm> +<indexterm role="cp"><primary>scrollmode</primary></indexterm> +<indexterm role="cp"><primary>errorstopmode</primary></indexterm> +<indexterm role="cp"><primary>nonstopmode</primary></indexterm> +<para>z&tex; compile un document en l’un parmi quatre modes possibles +d’interaction : <literal>batchmode</literal>, <literal>nonstopmode</literal>, <literal>scrollmode</literal>, +<literal>errorstopmode</literal>. Dans le mode <firstterm>errorstopmode</firstterm> (le mode par +défaut), &tex; s’arrête à chaque erreur et demande une intervention de +l’utilisateur. Dans le mode <firstterm>batchmode</firstterm> il n’imprime rien sur le +terminal, on défile sur les erreurs comme si l’utilisateur appuyait +<userinput>RETURN</userinput> à chaque erreur, et les fichiers manquants entrainent la +terminaison de la tâche. Dans le mode <firstterm>nonstopmode</firstterm>, les messages de +diagnostic apparaissent sur le terminal mais comme dans le mode batch il +n’y as pas d’interaction avec l’utilisateur. Dans le mode +<firstterm>scrollmode</firstterm>, &tex; s’arrête en cas de fichiers manquants ou +d’entrée clavier, mais pour nulle autre raison. +</para> +<para>Par exemple, en démarrant &latex; avec cette ligne de commande : +</para> +<screen>pdflatex -interaction=batchmode <replaceable>nomfichier</replaceable> +</screen> +<para>on élimine la plupart des sorties terminal. +</para> +<indexterm role="cp"><primary>jobname</primary></indexterm> +<indexterm role="cp"><primary>nom de fichier de la tâche courante</primary></indexterm> +<indexterm role="fn"><primary>--jobname ligne de commande, option</primary></indexterm> +</listitem></varlistentry><varlistentry><term><literal>-jobname=<replaceable>chaîne</replaceable></literal> +</term><listitem><para>Règle la valeur du <firstterm>nom de tâche</firstterm> de &tex; à la chaîne de +caractères <replaceable>chaîne</replaceable>. Le fichier journal et le fichier de sortie +s’appeleront <filename><replaceable>chaîne</replaceable>.log</filename> et <filename><replaceable>chaîne</replaceable>.pdf</filename>. +</para> +<para>Quand vous exécutez <literal><command>pdflatex</command> <replaceable>options</replaceable> +<replaceable>argument</replaceable></literal>, si <replaceable>argument</replaceable> ne commence pas par une contr’oblique +alors &tex; considère que c’est le nom d’un fichier à lire en +entrée. Autrement il attend la première instruction <literal>\input</literal> et le +nom du fichier en entrée devient le nom de tâche +(<literal>\jobname</literal>). Celui-ci est utilisé pour nommer le fichier journal +et le fichier de sortie. L’option <literal>jobname</literal> l’emporte et spécifie +directement le nom. See <link linkend="Command-line-input">Command line input</link>, pour un examples +d’usage. +</para> +<anchor id="output-directory"/><indexterm role="cp"><primary>répertoire de sortie pour tous les fichiers externes</primary></indexterm> +<indexterm role="cp"><primary>sortie, pour tous les fichiers externes, répertoire de</primary></indexterm> +<indexterm role="fn"><primary>--output-directory ligne de commande, option</primary></indexterm> +</listitem></varlistentry><varlistentry><term><literal>-output-directory=<replaceable>répertoire</replaceable></literal> +</term><listitem><para>Écrit les fichiers dans le répertoire <replaceable>répertoire</replaceable>. Il doit déjà +exister. Ceci s’applique à tous les fichiers externes créés par &tex; +ou &latex;, tels que le fichier <filename>.log</filename> de l’exécution, les +fichiers <filename>.aux</filename>, <filename>.toc</filename>, etc., créés par &latex;, de même que +le fichier de sortie principal <filename>.pdf</filename> ou <filename>.dvi</filename> lui-même. +</para> +<para>Lorsqu’il est spécifié, le répertoire de sortie <replaceable>répertoire</replaceable> est +aussi vérifié en premier automatiquement pour tout fichier lu en entrée, +de sorte que les fichiers externes peuvent être relus en entrée, si +désiré. Le vrai répertoire courant (dans lequel &latex; été lancé) +demeure inchangé, et est également vérifié pour trouver les fichiers en +entrée. +</para> +<indexterm role="cp"><primary>shell escape</primary></indexterm> +<indexterm role="cp"><primary><literal>\write18</literal>, activation</primary></indexterm> +<indexterm role="fn"><primary>--enable-write18 ligne de commande, option</primary></indexterm> +<indexterm role="fn"><primary>--disable-write18 ligne de commande, option</primary></indexterm> +<indexterm role="fn"><primary>--shell-escape ligne de commande, option</primary></indexterm> +<indexterm role="fn"><primary>--no-shell-escape ligne de commande, option</primary></indexterm> +</listitem></varlistentry><varlistentry><term><literal>--enable-write18</literal> +</term><term><literal>--disable-write18</literal> +</term><term><literal>--shell-escape</literal> +</term><term><literal>--no-shell-escape</literal> +</term><listitem><para>Activation et desactivation <literal>\write18{<replaceable>commande_shell</replaceable>}</literal> +(see <link linkend="_005cwrite18">\write18</link>). Les deux premières options sont prises en charge à +la fois par &tex; Live et MiK&tex;, alors que les deux suivantes sont +des synonymes pris en charge par &tex; Live. +</para> +<para>Activer cette fonction a des implications lourdes de sécurité, puisque +cela permet à un fichier &latex; d’exécuter n’importe quelle commande. +Ainsi, par défaut, le <literal>\write18</literal> non restreint n’est pas autorisé. +(Le réglage par défaut de &tex; Live, Mac&tex;, et MiK&tex; est +d’autoriser l’exécution d’un nombre limité de programmes en relation +avec &tex;, et qu’elles distribuent). +</para> +<para>Pa exemple, si vous invoquez &latex; avec l’option +<literal>no-shell-escape</literal>, et que dans votre document vous appelez +<literal>\write18{ls -l}</literal>, alors vous n’obtenez pas d’erreur mais votre +fichier journal dit ‘<literal>runsystem(ls -l)...disabled</literal>’. +</para> +<indexterm role="fn"><primary>--halt-on-error ligne de commande, option</primary></indexterm> +</listitem></varlistentry><varlistentry><term><literal>-halt-on-error</literal> +</term><listitem><para>Arrête le traitement sur la première erreur. +</para> +<indexterm role="fn"><primary>--file-line-error ligne de commande, option</primary></indexterm> +<indexterm role="fn"><primary>--no-file-line-error ligne de commande, option</primary></indexterm> +</listitem></varlistentry><varlistentry><term><literal>-file-line-error</literal> +</term></varlistentry><varlistentry><term><literal>-no-file-line-error</literal> +</term><listitem><para>Active ou désactive le style +<literal><replaceable>nomfichier</replaceable>:<replaceable>numéroligne</replaceable>:<replaceable>erreur</replaceable></literal> des messages +d’erreur. Ces options ne sont disponibles qu’avec &tex; Live ou +Mac&tex;. +</para></listitem></varlistentry></variablelist> + +</sect1> +<sect1 label="28.2" id="Command-line-input"> +<title>Spécifier du code LaTeX sur la ligne de commande</title> + +<indexterm role="cp"><primary>code entré sur la ligne de commande</primary></indexterm> +<indexterm role="cp"><primary>entré, code sur la ligne de commande</primary></indexterm> + +<para>Au sein de l’invocation de ligne de commande <literal>pdflatex +<replaceable>options</replaceable> <replaceable>argument</replaceable></literal> vous pouvez spécifier du code &latex; +arbitraire en entrée en commençant <replaceable>argument</replaceable> par une +contr’oblique. Ceci permet de faire certains effet spéciaux. +</para> +<indexterm role="fn"><primary>paquetage <literal>hyperref</literal></primary></indexterm> +<indexterm role="fn"><primary><literal>hyperref</literal>, paquetage</primary></indexterm> + +<!-- --> +<para>Par exemple, ce fichier (qui utilise le paquetage <filename>hyperref</filename> pour +les hyperliens) peut produire deux types de sortie, l’un pour +l’impression papier et l’autre pour une consultation PDF. +</para> +<screen>\ifdefined\paperversion % dans le préambule +\newcommand{\urlcolor}{black} +\else +\newcommand{\urlcolor}{blue} +\fi +\usepackage[colorlinks=true,urlcolor=\urlcolor]{hyperref} + ... +\href{https://www.ctan.org}{CTAN} % dans le corps + ... +</screen> +<para>Lorsqu’on compile ce document <filename>book.tex</filename> avec la ligne de commande +<literal>pdflatex book</literal> le lien ‘<literal>CTAN</literal>’ sera en bleu. Mais si on le +compile avec <literal>pdflatex "\def\paperversion{}\input book.tex"</literal>, +alors le lien sera en noir. (Notez l’utilise des guillemets anglais +pour empécher l’interpretation des symboles par l’interpréteur de ligne +de commande ; votre système fait peut-être cela différemment). +</para> +<para>De même, à partir d’un seul fichier <filename>principal.tex</filename> vous pouvez +compiler deux versions distinctes. </para> -<screen>latex '\nonstopmode\input foo.tex' +<!-- credit Paul Gaborit: https://tex.stackexchange.com/a/220101/121234 --> +<screen>pdflatex -jobname=etudiants "\def\etudiants{}\input{principal}" +pdflatex -jobname=professeurs "\def\profs{}\input{principal}" </screen> -<para>Traitera <filename>foo.tex</filename> sans faire de pause après chaque erreur. +<para>L’option <literal>jobname</literal> est là parce que sinon les deux fichiers en +sortie s’appeleraient <filename>principal.pdf</filename> et le second écraseraient le +premier. +</para> +<para>Dans ce dernier exemple on charge le paquetage <filename>graphicx</filename> avec l’option +<literal>draft</literal> +</para> +<!-- credit Herbert Voss: https://tex.stackexchange.com/a/17236/121234 --> +<screen>pdflatex -jobname=aa "\RequirePackage[draft]{graphicx}\input{aa.tex}" +</screen> +<para>de sorte que les fichiers graphiques ne sont lus que pour l’information +de dimension de boîte englobante, mais non incorporés dans le PDF. +(L’option <literal>jobname</literal> est la parce que sinon autrement le fichier de +sortie s’appelerait <filename>graphicx.pdf</filename>, comme <literal>\RequirePackage</literal> +fait lui-même un <literal>\input</literal>). +</para> + +</sect1> +<sect1 label="28.3" id="Recovering-from-errors"> +<title>Quand quelque chose se passe mal</title> + +<para>Si &latex; trouve une erreur dans votre document alors il vous produit +un message d’erreur et vous invite à la saisie par un point +d’interrogation, <literal>?</literal>. Par exemple, exécuter &latex; sur ce fichier +</para> +<screen>\newcommand{\NP}{\ensuremath{\textbf{NP}}} +Le problème \PN{} est mis à prix à un million de dollars. +</screen> +<para>a pour effet qu’il affiche ceci, et attende une saisie : +</para> +<screen>! Undefined control sequence. +l.5 Le problème \PN + {} est mis à prix à un million de dollars. +? +</screen> +<para>Le plus simple est de saisir <userinput>x</userinput> et <userinput>RETURN</userinput> et de corriger la +coquille. Alternativement vous pourriez saisir <userinput>?</userinput> et <userinput>RETURN</userinput> +pour voir les autres options. </para> -<indexterm role="cp"><primary>invite ‘<literal>*</literal>’</primary></indexterm> <indexterm role="cp"><primary>‘<literal>*</literal>’, invite</primary></indexterm> +<indexterm role="cp"><primary>invite ‘<literal>*</literal>’</primary></indexterm> <indexterm role="fn"><primary>\stop</primary></indexterm> -<para>Si &latex; s’arrête au milieu du document et vous fait une invite en -‘<literal>*</literal>’, c’est qu’il attend que vous saisissiez quelque chose. Vous -pouvez taper <literal>\stop</literal> (et retour-chariot) et il terminera -prématurément le document. +<para>Il y a deux autres scénarios. Le premier est que vous ayez omis le +<literal>\end{document}</literal> ou fait une faute de frappe dessus. Dans ce cas +&latex; produit en invite ‘<literal>*</literal>’. Vous pouvez revenir à la ligne de +commande en tapant <userinput>\stop</userinput> et <userinput>RETURN</userinput>. </para> -<para>Voir <link linkend="TeX-engines">&tex; engines</link>, pour les autres commandes système invoquant &latex;. +<para>Le dernier scénario est que vous ayez fait une faute de frappe sur le +nom de fichier. Par exemple, au lieu de <literal>pdflatex test</literal> vous +auriez tapé <literal>pdflatex tste</literal>. +</para> +<screen>! I can't find file `tste'. +<*> tste + +(Press Enter to retry, or Control-D to exit) +Please type another input file name: +</screen> +<para>Le plus simple est de saisir <userinput>CTRL D</userinput> (en appuyant sur les touches +Control et d simultannément), et d’ensuite retaper la ligne de commande +correcte. </para> + +</sect1> </chapter> <appendix label="A" id="Document-templates"> <title>Patrons de documents</title> <indexterm role="cp"><primary>patron de document</primary></indexterm> <indexterm role="cp"><primary>modèle de document</primary></indexterm> -<para>Bien que ce ne soit pas un matériel de référence, peut-être que ces -patrons de document vous seront utiles. Davantage de resources de -patrons sont listé à <ulink url="http://tug.org/interest.html#latextemplates">http://tug.org/interest.html#latextemplates</ulink>. +<para>Bien qu’ils soient illustratifs, ces patrons de document vous seront +put-être utiles. Davantage de ressources de patrons sont listées à +<ulink url="https://tug.org/interest.html#latextemplates">https://tug.org/interest.html#latextemplates</ulink>. </para> @@ -10021,6 +14445,9 @@ patrons sont listé à <ulink url="http://tug.org/interest.html#latextemplates"> <indexterm role="cp"><primary><literal>beamer</literal> patron et classe</primary></indexterm> <indexterm role="cp"><primary>patron, <literal>beamer</literal></primary></indexterm> +<indexterm role="fn"><primary>paquetage <literal>beamer</literal></primary></indexterm> +<indexterm role="fn"><primary><literal>beamer</literal>, paquetage</primary></indexterm> + <para>La classe <literal>beamer</literal> crée des présentations en diapositives. Elle a de très nombreuses possibilités, mais voici un patron de base : @@ -10030,7 +14457,7 @@ de très nombreuses possibilités, mais voici un patron de base : \title{Patron pour la classe Beamer} \author{Alex L'Auteur} -\date{31 juillet 2007} +\date{31 juillet 2020} \begin{document} @@ -10048,17 +14475,44 @@ de très nombreuses possibilités, mais voici un patron de base : \end{document} </screen> -<para>Une ressource web pour cela : -<ulink url="http://robjhyndman.com/hyndsight/beamer/">http://robjhyndman.com/hyndsight/beamer/</ulink>. +<para>Le paquetage Beamer sur le CTAN : +<ulink url="https://ctan.org/pkg/beamer">https://ctan.org/pkg/beamer</ulink>. +</para> +</sect1> +<sect1 label="A.2" id="article-template"> +<title>Patron <literal>article</literal></title> + +<indexterm role="cp"><primary>patron (simple), <literal>article</literal></primary></indexterm> + +<para>Un patron simple pour un article. </para> +<screen>\documentclass{article} +\title{Patron de la classe article} +\author{Alex Author} + +\begin{document} +\maketitle + +\section{Première section} +Du texte. +\subsection{Première section, première sous-section} +Encore du texte. + +\section{Deuxième section} +Et du texte. + +\end{document} +</screen> </sect1> -<sect1 label="A.2" id="book-template"> +<sect1 label="A.3" id="book-template"> <title>Un patron <literal>book</literal></title> <indexterm role="cp"><primary>patron, <literal>book</literal></primary></indexterm> - +<para>Voici un patron simple pour un livre. See <link linkend="Larger-book-template">Larger book template</link> pour +un patron plus élaboré. +</para> <screen>\documentclass{book} \title{Le Patron de la classe book} \author{Alex L'Auteur} @@ -10074,100 +14528,72 @@ Et du texte. \section{Un sujet secondaire} La fin. + \end{document} </screen> </sect1> -<sect1 label="A.3" id="tugboat-template"> -<title>Un patron <literal>tugboat</literal></title> +<sect1 label="A.4" id="Larger-book-template"> +<title>Un patron <literal>book</literal> plus élaboré</title> -<indexterm role="cp"><primary>patron, TUGboat</primary></indexterm> -<indexterm role="cp"><primary>classe <literal>ltugboat</literal></primary></indexterm> +<indexterm role="cp"><primary>patron <literal>book</literal></primary></indexterm> -<para><citetitle>TUGboat</citetitle> est la revue du groupe des utilisateur de &tex; (&tex; -Users Group), <ulink url="http://tug.org/TUGboat">http://tug.org/TUGboat</ulink>. +<para>Voici un patron quelque peu élaboré pour un livre. See <link linkend="book-template">book template</link> +pour un patron plus simple. </para> -<screen>\documentclass{ltugboat} -\usepackage{graphicx} -\usepackage{ifpdf} -\ifpdf -\usepackage[breaklinks,hidelinks]{hyperref} -\else -\usepackage{url} -\fi - -\title{Exemple d'article \TUB} +<para>Ce patron utilise un <literal>\frontmatter</literal>, <literal>\mainmatter</literal>, et +<literal>\backmatter</literal> pour contrôler la typographie des trois zones +principales d’un livre (see <link linkend="_005cfrontmatter-_0026-_005cmainmatter-_0026-_005cbackmatter">\frontmatter & \mainmatter & +\backmatter</link>). Le livre a une bibliographie et un index. +</para> +<para>Il est également à noter qu’il utilise <literal>\include</literal> et +<literal>\includeonly</literal> (see <link linkend="Splitting-the-input">Splitting the input</link>). Lorsque vous +travaillez sur un chapitre vous pouvez ne pas compiler tous les autres +chapitres en mettant en commentaire les entrées correspondantes dans les +arguments de <literal>\includeonly</literal>. Ceci accélère la compilation sans +perdre aucune information telle que les renvois. (Le matériel qu’il +n’est pas nécessaire de mettre sur une nouvelle page est inclus avec +<literal>\input</literal> au lieu de <literal>\include</literal> ; mais ceci au dépens du +bénéfice de maintenir les valeurs de renvois). +</para> +<screen>\documentclass[titlepage]{book} +\usepackage{makeidx}\makeindex -% répétez l'information pour chaque auteur. -\author{Prénom Nom} -\address{Voie\\ Ville, Code postal \\ Pays} -\netaddress{user (at) exemple dot org} -\personalURL{http://exemple.org/~user/} +\title{Book Class Template} +\author{Alex Author} - %%% Fin des métadonnées %%% +\includeonly{% + frontcover, + preface, + chap1, + ... + } \begin{document} +\frontmatter +\include{frontcover} + % maybe comment out while drafting: +\maketitle \input{dedication} \input{copyright} +\tableofcontents +\include{preface} -\maketitle - -\begin{abstract} -Ceci est un exemple d'article pour le \TUB{}. -Prière d'écrire un abrégé. -\end{abstract} - -\section{Introduction} - -Ceci est un exemple d'article pour le \TUB, à partir du lien -\url{http://tug.org/TUGboat/location.html}. - -Nous recommandons le paquetage graphicx pour les inclusionj d'iimage, et -le paquetage hyperref pour des adresses réticulaires (url) actives (dans -la sortie \acro{PDF}). De nos jour le \TUB\ est produit en utilisant -exclusivement des fichiers \acro{PDF}. - -La classe \texttt{ltugboat} fournit ces abréviations (et bien d'autres) : - -% verbatim blocks are often better in \small -\begin{verbatim}[\small] -\AllTeX \AMS \AmS \AmSLaTeX \AmSTeX \aw \AW -\BibTeX \CTAN \DTD \HTML -\ISBN \ISSN \LaTeXe -\mf \MFB -\plain \POBox \PS -\TUB \TUG \tug -\UNIX \XeT \WEB \WEAVE - -\, \bull \Dash \dash \hyph - -\acro{FRED} -> {\small[er] fred} % prière d'utiliser ! -\cs{fred} -> \fred -\meta{fred} -> <fred> -\nth{n} -> 1st, 2nd, ... -\sfrac{3/4} -> 3/4 -\booktitle{Book of Fred} -\end{verbatim} - -Pour faire référence à d'autre numéros du \TUB\, veuillez utiliser le -format \textsl{volno:issno}, par ex., ``\TUB\ 32:1'' pour notre numéro -\nth{100}. - -Ce fichier n'est qu'un patron. La documentation du style \TUB\ est dans -le document \texttt{ltubguid} se trouvant à -\url{http://ctan.org/pkg/tugboat}. (Pour les références au \CTAN\ nous -recommandons cette forme d'URL utilisant \texttt{/pkg/} quand cela fait -sens ; ou, si vous avez besoin de faire référence spécifiquement à une -localisation : \texttt{http://mirror.ctan.org/\textsl{chemin}}.) - -Écrivez par mél à \verb|tugboat@tug.org| en cas de problèmes ou -questions. - -\bibliographystyle{plain} % nous recommandons le style de bibliographie plain -\nocite{book-minimal} % pour forcer la bibliographie à ne pas être vide -\bibliography{xampl} % xampl.bib est compris dans BibTeX +\mainmatter +\include{chap1} +... +\appendix +\include{appena} +... -\makesignature +\backmatter +\bibliographystyle{apalike} +\addcontentsline{toc}{chapter}{Bibliography} +\bibliography +\addcontentsline{toc}{chapter}{Index} +\printindex +\include{backcover} \end{document} -</screen></sect1> +</screen> +</sect1> </appendix> <!-- node-name, next, previous, up --> <appendix label="B" id="License-translation"> |