summaryrefslogtreecommitdiff
path: root/info/latex2e-help-texinfo-fr/latex2e-fr.texi
diff options
context:
space:
mode:
Diffstat (limited to 'info/latex2e-help-texinfo-fr/latex2e-fr.texi')
-rw-r--r--info/latex2e-help-texinfo-fr/latex2e-fr.texi3185
1 files changed, 2343 insertions, 842 deletions
diff --git a/info/latex2e-help-texinfo-fr/latex2e-fr.texi b/info/latex2e-help-texinfo-fr/latex2e-fr.texi
index 4920fd29e7..7de536acce 100644
--- a/info/latex2e-help-texinfo-fr/latex2e-fr.texi
+++ b/info/latex2e-help-texinfo-fr/latex2e-fr.texi
@@ -4,7 +4,7 @@
@setfilename latex2e-fr.info
@documentlanguage fr
@documentencoding UTF-8
-@set UPDATED Septembre 2020
+@set UPDATED Décembre 2020
@include common.texi
@settitle Manuel de référence officieux de @LaTeX{}2e (@value{UPDATED})
@comment % ** fin de tête (c'est pour courir Texinfo sur une région.)
@@ -33,8 +33,28 @@
@c xx fusionner latex manuel de la savane
@c xx fusionner style mathématique hors texte
@c xx mode veritical, mode horizontal
+@c xx check recent ltnews for (lots of) changes
+@c xx \write of non-ASCII chars (vincent mail of 14 Mar 2020 21:39:41)
+@c xx \nonstopmode etc., if they are officially supported by LaTeX?
+@c xx JH explain nfss somewhere
+@c xx JH expand BiBTeX
+@c xx JH expand theorem, AMS math
+@c xx JH something on code listings
+@c xx JH ligatures
+@c xx JH \xspace
+@c xx JH \stretch
+@c xx JH \mathstrut
+@c xx JH \phantom https://tex.stackexchange.com/questions/4519/how-do-i-create-an-invisible-character
+@c xx JH \baselineskip https://texfaq.org/FAQ-baselinepar
+@c xx JH \contentsline, \@@dottedtocline?
+@c xx JH \numexpr, \dimexpr, \glueexpr, \muexpr
@c
-@c
+@c xx The typeset source2e has an index with all kernel
+@c xx commands, though some are internal and shouldn't be included.
+@c xx classes.dtx et al. define additional commands.
+@c xx See also http://ctan.org/pkg/macros2e.
+@c
+@c xx All the special characters should be definitively described.
@c
@c xx Notes de P. Bideault
@c
@@ -50,7 +70,7 @@
@c xx Voir aussi http://ctan.org/pkg/macros2e.
@c xx Tous les caractères spéciaux devraient une fois pour toute être dérits
@c
-@c packages xx - requis, plus, utile; Oberdiek; polices
+@c xx packages & classes -- requis, plus, utiles; Oberdiek; polices
@c ressources pour les termes typographiques en français:
@c http://david.carella.free.fr/fr/typographie/glossaire-typographique.html
@@ -62,6 +82,8 @@
@c https://www.latex-project.org/help/books/lc2fr-apb.pdf
@c http://mirror.ctan.org/info/impatient/fr/fbook.pdf
+@set ITEM_BULLET1 --
+@set ITEM_BULLET2 --
@copying
Ce document est un manuel de référence officieux pour @LaTeX{}, un
système de préparation de documents, version « @value{UPDATED} ».
@@ -156,6 +178,16 @@ into another language, under the above conditions for modified versions.
@findex @code{\pkg\}, @r{paquetage}
@end macro
+@iftex
+@macro Num {x}
+N@kern -.2em °\x\
+@end macro
+@end iftex
+@ifnottex
+@macro Num {x}
+№ \x\
+@end macro
+@end ifnottex
@set PlainTeX @TeX{} de base
@set NotInPlainTeX Ceci n'est pas disponible en @value{PlainTeX}.
@set NeedsAMSSymb @value{NotInPlainTeX} En @LaTeX{} vous devez charger le paquetage @file{amssymb}.
@@ -195,7 +227,7 @@ système de préparation de document, dans sa version « @value{UPDATED} ».
* Parties pré/post-liminaires: Front/back matter. Table des matières, glossaires, index.
* Lettres: Letters. La classe @code{letter}.
* Entrée / sortie du terminal: Terminal input/output. Interaction avec l'utilisateur.
-* La ligne de commande: Command line. Comportement indépendant du système de la ligne de commande.
+* La ligne de commande: Command line interface. Comportement indépendant du système de la ligne de commande.
* Patrons de document: Document templates. Patron pour commencer diverses classes de documents.
* Traduction de la licence: License translation. Une traduction à titre informatif de la licence.
* Index des Concepts: Concept Index. Index général.
@@ -378,7 +410,7 @@ d'autres formats.
@section Fichiers de sortie
@LaTeX{} produit un fichier de sortie principal et au moins deux
-fichiers accessoires. Le nom du fichier de sortie principal se termine
+fichiers auxiliaires. Le nom du fichier de sortie principal se termine
soit en @file{.dvi} soit en @file{.pdf}.
@table @code
@@ -389,6 +421,7 @@ soit en @file{.dvi} soit en @file{.pdf}.
@findex @r{commande} dvips
@findex @r{commande} dvipdfmx
@findex @r{commande} dvitype
+@anchor{output files dvi}
S'il est invoqué avec la commande système @command{latex}, alors il
produit un fichier « DeVice Independent@footnote{Indépendant du
périphérique de sortie, ce n'est toutefois pas un format portable de
@@ -403,6 +436,7 @@ pour fichiers DVI sont disponibles (@url{http://mirror.ctan.org/dviware}).
@findex .pdf @r{fichier}
@cindex pdf@TeX{}
@findex @r{commande} pdflatex
+@anchor{output files pdf}
Si @LaTeX{} est invoqué avec la commande système @command{pdflatex},
alors la sortie principale est un fichier ``Portable Document Format''
(@file{.pdf}). Typiquement, il s'agit d'un fichier autonome, avec toutes
@@ -427,13 +461,14 @@ D'autres commandes (@pxref{@TeX{} engines}) produisent des fichiers PDF.
@c - Beaucoup d'autres variantes moins courantes de @LaTeX{} (et @TeX{}) existent, qui
@c - peuvent produire du HTML, XML, et d'autres choses.
-@LaTeX{} produit aussi au moins deux fichier supplémentaires.
+@LaTeX{} produit toujours au moins deux fichier supplémentaires.
@table @code
@item .log
@cindex fichier de transcription
@cindex fichier journal
@findex @r{fichier} .log
+@anchor{output files log}
Ce fichier de transcription, ou @dfn{fichier journal}, contient des
informations sommaires telles que la liste des paquetages chargés. Il
contient aussi des messages de diagnostic
@@ -447,6 +482,7 @@ erreurs.
@cindex double renvoi, résolution
@cindex renvoi en aval, résolution
@cindex renvoi, résolution
+@anchor{output files aux}
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 à
@@ -475,9 +511,9 @@ d'interrogation avec la localisation mémorisée.
terminaison du nom de fichier. Ceux-ci incluent un fichier @code{.lof}
qui est utilisé pour fabriquer la liste des figures, un fichier
@code{.lot} utilisé pour fabriquer une liste des tableaux, et un fichier
-@code{.toc} utilisé pour fabriquer une table des matières. Une classe
-de document particulière peut en créer d'autres ; cette liste n'a pas de
-fin définie.
+@code{.toc} utilisé pour fabriquer une table des matières (@pxref{Table
+of contents etc.}). Une classe de document particulière peut en créer
+d'autres ; cette liste n'a pas de fin définie.
@node @TeX{} engines
@@ -489,17 +525,29 @@ fin définie.
@cindex entrée Unicode, native
@cindex polices TrueType
@cindex polices OpenType
-@LaTeX{} est défini comme un ensemble de commandes qui sont exécutées par
-une implémentation @TeX{} (@pxref{Overview}). Cette section donne une
-brève vue d'ensemble des principaux programmes.
+@cindex @TeX{}, format
+@cindex format @TeX{}, fichier (@code{.fmt})
+@cindex format @LaTeX{}, fichier (@code{.fmt})
+@cindex @LaTeX{}, format, fichier (@code{.fmt})
+@cindex fichier format @TeX{}
+@findex .fmt, @r{fichier}
+@LaTeX{} est un vaste ensemble de commandes qui sont exécuté par un
+programme @TeX{} (@pxref{Overview}). Un tel ensemble de commande est
+appelé un @dfn{format}, et peut être matérialisé dans un fichier binaire
+@code{.fmt}, ce qui permet qu'il soit lu bien plus rapidement que le
+source @TeX{} correspondant.
+
+Cette rubrique donne une brève vue d'ensemble des programmes @TeX{}
+les plus répandus (voir aussi @ref{Command line interface}).
-@table @code
+@ftable @code
@item latex
@itemx pdflatex
+@findex etex, @r{commande}
@cindex pdf@TeX{}, moteur
@cindex moteur pdf@TeX{}
-@findex etex, @r{commande}
@cindex e-@TeX{}
+@anchor{tex engines latex}
Dans @TeX{} Live (@url{http://tug.org/texlive}, si @LaTeX{} est invoqué
avec les commandes système @command{latex} ou @command{pdflatex}, alors
le moteur pdf@TeX{} est exécuté (@url{http://ctan.org/pkg/pdftex}).
@@ -522,6 +570,7 @@ l'hyptohèse que les extension e-@TeX{} sont disponibles en @LaTeX{}.
@item lualatex
@findex lualatex @r{commande}
@cindex Lua@TeX{}
+@anchor{tex engines lualatex}
Si @LaTeX{} est invoqué avec la commandes systèmes @command{lualatex},
alors le moteur Lua@TeX{} est exécuté
(@url{http://ctan.org/pkg/luatex}). Ce programme permet que du code
@@ -529,14 +578,14 @@ alors le moteur Lua@TeX{} est exécuté
avec la compostion faite par @TeX{}. Lua@TeX{} traite nativement
l'entrée en codage Unicode UTF-8, peut traiter les polices OpenType et
TrueType, et produit un fichier @file{.pdf} par défaut. Il y a aussi
-@command{dvilualatex} pour produire un fichier @file{.dvi}, mais cela
-est rarement utilisé.
+@command{dvilualatex} pour produire un fichier @file{.dvi}.
@item xelatex
@findex xelatex @r{commande}
@cindex Xe@TeX{}
@findex .xdv @r{fichier}
@findex xdvipdfmx
+@anchor{tex engines xelatex}
Si @LaTeX{} est invoqué avec la commandes système @command{xelatex}, le
moteur Xe@TeX{} est exécuté (@url{http://tug.org/xetex}). Comme
Lua@TeX{}, Xe@TeX{} prend en charge nativement le codage Unicode UTF-8 et les
@@ -550,13 +599,46 @@ DVI, et traduit cela en PDF en utilisant le
programme (@code{x})@code{dvipdfmx}, mais ce processus est automatique.
Le fichier @code{.xdv} n'est utile que pour le débogage.
-@end table
+@item platex
+@itemx uplatex
+Ces commandes fournissent une prise en charge significativement plus riche du Japanese et d'autres langues ; la variant en @file{u} prend en charge l'Unicode. Voir
+@url{https://ctan.org/pkg/ptex} et @url{https://ctan.org/pkg/uptex}.
+@end ftable
-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{}, @url{http://ctan.org/pkg/ptex},
-@url{http://ctan.org/pkg/uptex}).
+Depuis 2019, il y a une commande companion en @code{-dev} et un format
+pour tous les moteur cités plus hauts :
+@ftable @code
+@item dvilualatex-dev
+@itemx latex-dev
+@itemx lualatex-dev
+@itemx pdflatex-dev
+@itemx platex-dev
+@itemx uplatex-dev
+@itemx xelatex-dev
+@cindex parution, candidats
+@cindex avant parution, essais
+Ce sont les candidats pour une parution de @LaTeX{} à venir. L'usage
+principal est de découvrir et traiter les problèmes de compatibilité
+avant la parution officielle.
+
+Ces format en @code{-dev} rendent facile pour quiconque d'aider à
+l'essai des documents et du code : vous pouvez exécutez, dison,
+@code{pdflatex-dev} au lieu de @code{pdflatex}, sans changer quoi que ce
+soit d'autre dans votre environnement. En réalité, le plus facile et
+utile est de toujours exécuter les versions en @code{-dev} au lieu de
+s'embêter à basculer entre les deux. Pendant les périodes calmes après une
+parution, ces commandes seront équivalentes.
+
+Ce ne sont pas des échantillons quotidiens de code de développement non
+testé. L'équipe @LaTeX{} fait subir à ces commandes les mêmes essais
+étendus de non régression avant leur parution.
+
+Pour plus ample information, voir ``The @LaTeX{} release workflow and the
+@LaTeX{} @code{dev} formats'' par Frank Mittelbach, @cite{TUGboat} 40:2,
+@url{https://tug.org/TUGboat/tb40-2/tb125mitt-dev.pdf}.
+
+@end ftable
@node @LaTeX{} command syntax
@section Syntaxe des commandes @LaTeX{}
@@ -571,15 +653,15 @@ chaîne de lettres ou (b) un unique caractère, qui dans ce cas n'est pas une l
Les noms de commandes @LaTeX{} sont sensibles à la casse de sorte que
@code{\pagebreak} diffère de @code{\Pagebreak} (ce dernier n'est pas une
-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.
+commande standarde). La plupart des noms de commandes sont en bas de
+casse, mais quoi qu'il en soit vous devez saisir toute commande en
+respectant la casse dans laquelle elle est définie.
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, @code{@{...@}}. Les
-arguments optionnels sont entre crochets, @code{[...]}. En général
-(mais ce n'est pas universel), si la commande prend un argument optionnel,
+arguments optionnels sont entre crochets, @code{[...]}. 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.
Au sein d'un argument optionnel, pour utiliser le crochet
@@ -598,30 +680,15 @@ Ce manuel décrit toutes les options acceptées et les formes en @code{*}
pour les commandes dont il traite (à l'exception des omissions
involontaires ou bogues de ce manuel).
-@c xxx Revoir le menu
-@menu
-* Déclaration: Declaration. Changer la valeur ou la signification d'une commande.
-@end menu
-
-
-
-@node Declaration
-@subsection Les déclarations de commandes
-
-Certaines commandes changent la valeur ou la signification d'une
-autre commande ou d'un paramètre. Par exemple, la commande @code{\mainmatter}
-change le réglage de la numérotation des pages en passant de chiffres
-romains à des chiffres arabes.
-
@node Environment
@section Les environnements
Synopsis :
@example
-\begin@{@var{nom environnement}@}
+\begin@{@var{nom-environnement}@}
...
-\end@{@var{nom environnement}@}
+\end@{@var{nom-environnement}@}
@end example
Une zone du code source @LaTeX{}, au sein de laquelle il y a un
@@ -635,10 +702,13 @@ les lignes entre @code{\begin@{verse@}} et @code{\end@{verse@}}.
\end@{verse@}
@end example
-Voir @ref{Environments} pour une liste des environnements.
+@xref{Environments}, pour une liste d'environnements. En
+particulier, il est à noter que tout document @LaTeX{} doit avoir un
+environnement @code{document} : une paire @code{\begin@{document@}
+... \end@{document@}}.
-Le @var{nom environnement} du début doit s'accorder exactement avec
-celui de la fin. Cela vaut aussi dans le cas où @var{nom environnement} se
+Le @var{nom-environnement} du début doit s'accorder exactement avec
+celui de la fin. Cela vaut aussi dans le cas où @var{nom-environnement} se
termine par une étoile (@code{*}) ; l'argument à la fois de
@code{\begin} et @code{\end} doit comprendre l'étoile.
@@ -877,16 +947,12 @@ Composer en une ou deux colonnes ; le défaut est @code{onecolumn}.
@findex \evensidemargin
@findex \oddsidemargin
Sélectionne la disposition en recto simple ou recto-verso ; le défaut
-est @code{oneside} pour recto, sauf pour la classe @code{book}.
+est @code{oneside} pour recto simple, sauf pour la classe @code{book}.
Le paramètre @code{\evensidemargin} (@code{\oddsidemargin}) détermine la
-distance sur les pages de numéro pair (impair) entre le côté gauche de
-la page et la marge gauche du texte. Les valeurs par défaut varient en
-fonction de la taille du papier, de la disposition recto ou
-recto-verso sélectionnée. Pour une impression en recto le texte est
-centré, pour recto-verso, @code{\oddsidemargin} vaut 40% de la
-différence entre @code{\paperWidth} et @code{\textwidth},
-@code{\evensidemargin} valant le reste.
+distance sur les pages de numéro pair (impair) entre le côté gauche
+de la page et la marge gauche du texte. Voir @ref{page layout
+parameters oddsidemargin}.
@item openright
@itemx openany
@@ -1140,7 +1206,7 @@ Si vous invoquez une option qui n'a pas été déclarée, par défaut cela
produit une avertissement semblable à @code{Unused global option(s):
[badoption].} Vous pouvez changer ce comportement avec la version
étoilée @code{\DeclareOption*@{@var{code}@}}. Par exemple, beaucoup de
-classeq étendent une classe existante en utilisant une déclaration du
+classeq étendent une classe existante en utilisant une commande du
genre @code{\LoadClass@{article@}}, et pour passer les options
suppémentaires à la classe sous-jascente utilisent un code tel que
celui-ci :
@@ -1498,15 +1564,21 @@ pour ce faire sont décrites ci-après.
Les commandes de styles suivantes sont prises en charge par @LaTeX{}.
-Ce premier groupe de commandes est généralement utilisé avec un
-argument, comme dans @code{\textit@{texte en italique@}}. Dans le
-tableau ci-dessous, la commande correspondante entre parenthèses est la
-« forme déclarative », qui ne prend pas arguments. La portée la forme
-déclarative s'étend jusqu'à la prochaine commande de type style ou
-jusqu'à la fin du groupe actuel.
-
-Ces commandes, à la fois dans la forme à argument et dans la forme
-déclarative, sont cumulatives ; par exemple, vous pouvez dire aussi bien
+@cindex forme déclarative des commandes de style de police
+@cindex déclarative, forme des commandes de style de police
+Dans le tableau ci-dessous listant des commandes, les commandes en
+@code{\text…} sont utilisées avec un argument, comme dans
+@code{\textit@{texte@}}. C'est la forme préférée. Mais affichée à sa
+suite, entre parenthèses, est la @dfn{forme déclarative} correspondante,
+qui est souvant utile. Cette forme ne prend pas arguments comme dans
+@code{@{\itshape @var{texte}@}}. La portée la forme déclarative s'étend
+jusqu'à la prochaine commande de type style ou jusqu'à la fin du groupe
+actuel. De plus, chacun a une forme par environnement comme
+@code{\begin@{itshape@}…\end@{itshape@}}, que l'ont décrit plus
+amplement à la fin de cette rubrique.
+
+Ces commandes, dans n'importe laquelle des trois formes, sont
+cumulatives ; par exemple, vous pouvez dire aussi bien
@code{\sffamily\bfseries} que @code{\bfseries\sffamily} pour obtenir du
gras sans serif.
@@ -1616,15 +1688,16 @@ formules. @code{\mathversion@{normal@}} restaure la valeur par défaut.
@PkgIndex{textcomp}
Enfin, la commande @code{\oldstylenums@{@var{chiffres}@}} sert à
composer des chiffres dits de ``à l'ancienne'', qui ont des hauteurs et
-profondeur (et parfois largeurs) distincts de l'alignement standard des
-chiffres. Les polices @LaTeX{} par défaut prennent en charge cela, et
-respecteront @code{\textbf} (mais pas les autres styles, il n'y a pas de
-style à l'ancienne italique pour les chiffres en Computer
-Modern). Beaucoup d'autres polices ont des chiffre à l'ancienne aussi;
-parfois le paquetage @code{textcomp} doit être chargé, et parfois des
-options de paquet sont mises à disposition pour en faire le style par
-défaut. Entrée de FAQ :
-@url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=osf}.
+profondeurs (et parfois largeurs) distincts de l'alignement standard des
+chiffres qui ont tous la même hauteur que les lettres capitales.
+Les polices @LaTeX{} par défaut prennent en charge cela, et respecteront
+@code{\textbf} (mais pas les autres styles, il n'y a pas de style à
+l'ancienne italique pour les chiffres en Computer Modern). Beaucoup
+d'autres polices ont des chiffre à l'ancienne aussi ; parfois le
+paquetage @code{textcomp} doit être chargé, et parfois des options de
+paquet sont mises à disposition pour en faire le style par défaut.
+Entrée de FAQ :
+@url{https://www.texfaq.org/FAQ-osf}.
@LaTeX{} fournit également les commandes suivantes, qui font passer
inconditionnellement à un style donné, c.-à-d.@: @emph{ne} sont
@@ -1677,10 +1750,10 @@ Tapuscrit, encore appelé « Machine à écrire » (largeur fixe).
@end ftable
Certaines personnes considèrent que les commandes commutation
-inconditionnelles de polices, comme @code{\tt}, sont obsolète et que
+inconditionnelles de polices, comme @code{\tt}, sont obsolètes et que
@emph{seulement} les commandes cumulatives (@code{\texttt}) doivent être
utilisées. Je (Karl) ne suis pas d'accord. il y a situations tout à fait
-raisonnables quand un commutateur de police inconditionnelle est
+raisonnables quand un commutateur inconditionnel de police est
précisément ce dont vous avez besoin pour obtenir le résultat souhaité ;
pour un exemple, @pxref{description, @code{description}}. Les deux
ensembles de commandes ont leur place.
@@ -1735,8 +1808,9 @@ respectivement (@pxref{Document class options}).
@cindex déclarative, forme des commandes de contrôle de la taille de police
@cindex forme déclarative des commandes de contrôle de la taille de police
-Les commandes énumérées ici sont des @dfn{formes déclaratives}. On est
-utilise en les déclarant comme dans l'exemple qui suit :
+Les commandes énumérées ici sont des formes déclaratives (non des formes
+par environnement), vu que c'est ainsi qu'on les utilise
+typiquement. Comme dans l'exemple qui suit :
@example
\begin@{quotation@} \small
@@ -1751,7 +1825,7 @@ prochaine commande de style ou à la fin du groupe courant, de sorte
qu'on aurait pu la mettre entre accolades @code{@{\small Ce texte est en
petits caractères.@}}.
-@cindex forme par environnement des commandes
+@cindex forme par environnement des commandes de contrôle de la taille de police
Une @dfn{forme par environnement} de chacune de ces commandes est également
définie ; par exemple, @code{\begin@{tiny@}...\end@{tiny@}}. Toutefois,
en pratique cette forme peut aisément mener à des espaces indésirables au
@@ -1763,9 +1837,9 @@ forme déclarative.
@code{\begin} et @code{\end}, 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).
+l'utiliser. La raison pour mentionner spécifiquement la forme par
+environnement des déclarations de taille de police est que cet usage
+particulier n'est pas rare).
@node Low-level font commands
@section commandes de fontes de bas niveau
@@ -1779,6 +1853,7 @@ de celles disponibles.
@c xx something about ultimately reading ENCFAM.fd?
@table @code
+@anchor{low level font commands fontencoding}
@item \fontencoding@{codage@}
@findex \fontencoding
Sélectionne le codage de police, le codage de la police utilisée en
@@ -1792,6 +1867,7 @@ des mots contenant des lettres accentuées. Pour plus d'information, voir
@url{https://ctan.org/pkg/encguide}.
@item \fontfamily@{@var{famille}@}
+@anchor{low level font commands fontfamily}
@findex \fontfamily
@cindex famille de polices
@cindex polices, catalogue
@@ -1845,6 +1921,7 @@ usuelles :
@end multitable
@item \fontseries@{@var{série}@}
+@anchor{low level font commands fontseries}
@findex \fontseries
@cindex séries de polices
Sélectionne une série de police. Une @dfn{série} combine une
@@ -1923,6 +2000,7 @@ juste un (@samp{@code{m}}).
@item \fontshape@{@var{allure}@}
@findex \fontshape
@cindex allure de police
+@anchor{low level font commands fontshape}
Sélectionne l'allure de police. Les allures valides sont :
@multitable {xx} {Incliné (oblique)xx}
@@ -1946,6 +2024,7 @@ absentes.
@item \fontsize@{@var{taille}@}@{@var{interligne}@}
+@anchor{low level font commands fontsize}
@findex \fontsize
@findex \baselineskip
Réglage de la taille de police et de l'espacement d'interligne. L'unité
@@ -1959,6 +2038,7 @@ valeur est réinitialisée à chaque fois qu'un changement de taille se
produit ; voir ensuite @code{\baselinestretch}.
@item \baselinestretch
+@anchor{low level font commands baselinestretch}
@findex \baselinestretch
L'espacement des lignes est également multiplié par la valeur du
paramètre @code{\baselinestretch} ; la valeur par défaut est 1. Tout
@@ -1977,6 +2057,7 @@ notes de bas de page et dans les légendes de figure. Voir la
documentation du paquetage.
@item \linespread@{@var{facteur}@}
+@anchor{low level font commands linespread}
@findex \linespread
Est équivalent à
@code{\renewcommand@{\baselinestretch@}@{@var{facteur}@}}, et doit donc
@@ -1985,6 +2066,7 @@ que ce soit dans le préambule, ou utiliser le paquetage @code{setspace},
comme on vient de le décrire.
@item \selectfont
+@anchor{low level font commands selectfont}
@findex \selectfont
Les modifications apportées en appelant les commandes de polices
décrites ci-dessus n'entrent en vigueur qu'après que @code{\selectfont}
@@ -1996,6 +2078,7 @@ il est plus pratique de mettre cela dans une macro :
@item \usefont@{@var{codage}@}@{@var{famille}@}@{@var{série}@}@{@var{allure}@}
+@anchor{low level font commands usefont}
@findex \usefont
Revient à la même chose que d'invoquer @code{\fontencoding},
@code{\fontfamily}, @code{\fontseries} et @code{\fontshape} avec les
@@ -2041,59 +2124,139 @@ une sortie à colonne unique. C'est la valeur par défaut.
Synopsis :
@example
-\twocolumn [@var{texte1col}]
+\twocolumn [@var{texte1col préliminaire}]
@end example
-La déclaration @code{\twocolumn} commence une nouvelle page et produit
-sortie à deux colonnes. Si l'argument optionnel @var{texte1col} est
-présent, il est composée dans le mode à une colonne avant que la
-composition à deux colonnes ne commence.
+Commence une nouvelle page et produit une sortie en deux colonnes. Si on
+a passé l'option de classe @code{twocolumn} au document alors c'est le
+comportement par défaut (@pxref{Document class options}). Cette commande
+est fragile (@pxref{\protect}).
-Les paramètres ci-après contrôlent la composition de la production de deux
+Si l'argument optionnel @var{texte1col préliminaire} est présent, il est
+composé dans le mode à une colonne avant que la composition à deux
+colonnes ne commence.
+
+Les paramètres ci-après contrôlent la composition de la sortie en deux
colonnes :
@ftable @code
@item \columnsep
-La distance entre les colonnes (35pt par défaut).
+@anchor{twocolumn columnsep}
+La distance entre les colonnes. Vaut 35pt par défaut. Changer la valeur
+avec une commande telle que
+@code{\setlength@{\columnsep@}@{40pt@}}. Vous devez faire le changement
+avant que le mode en deux colonnes ne commence ; le préambule est
+une bonne place pour le faire.
@item \columnseprule
-La largeur du filet entre les colonnes ; la valeur par défaut est 0pt,
-de sorte qu'il n'y a pas de filet.
+@anchor{twocolumn columnseprule}
+La largeur du filet entre les colonnes. La valeur par défaut est 0pt, de
+sorte qu'il n'y a pas de filet. Autrement, le filet apparaît à mi-chemin
+entre les deux colonnes. Changez la valeur avec une commande telle que
+@code{\setlength@{\columnseprule@}@{0.4pt@}}, avant que le mode en deux
+colonnes ne commence.
@item \columnwidth
-La largeur de la colonne en cours ; il est égal à @code{\textwidth} dans
-le cas d'un texte composé en une seule colonne.
+@anchor{twocolumn columnwidth}
+La largeur d'une colonnne. En mode à une colonne ceci vaut
+@code{\textwidth}. En mode à deux colonnes par défaut @LaTeX{} règle la
+largeur de chacune des deux colonnes, @code{\columnwidth}, à la moitié
+de @code{\textwidth} moins @code{\columnsep}.
@end ftable
-Les paramètres ci-après contrôlent le comportement des flottants en cas de production
-à deux colonnes :
+Dans un document en deux colonnes, les environnements étoilés
+@code{table*} et @code{figure*} s'étendent en largeur sur deux colonnes,
+alors que les environnements non étoilés @code{table} et @code{figure}
+n'occupe qu'une colonne (@pxref{figure} et @pxref{table}). @LaTeX{}
+place les flottants étoilés au somme d'une page.
+Les paramètres ci-après contrôlent le comportement des flottants en cas
+de sortie à deux colonnes :
@ftable @code
@item \dbltopfraction
+@anchor{twocolumn dbltopfraction}
Fraction maximale au sommet d'une page sur deux colonnes qui peut être
-occupée par des flottants. Par défaut vaut @samp{0,7}, peut être
-utilement redéfini en (par exemple) @samp{0,9} pour aller moins tôt sur
-des pages de flottants.
+occupée par des flottants s'étendant sur deux colonnes en largeur. Par
+défaut vaut 0,7, ce qui signifie que la hauteur d'un environnement
+@code{table*} ou @code{figure*} ne doit pas excéder
+@code{0.7\textheight}. Si la hauteur de vos environnement flottant
+excède cela alors vous pouvez prendre l'une des actions suivante pour
+l'empêcher de flotter jusqu'à la fin du document :
+
+@itemize @value{ITEM_BULLET2}
+@item
+Utiliser le spécificateur de localisation @code{[tp]} pour dire à
+@LaTeX{} d'essayer de placer le flottant volumineux sur une page dédiée,
+ou de même au sommet d'une page.
+
+@item
+Utiliser le spécificateur de localisation @code{[t!]} pour l'emporter
+sur l'effet de @code{\dbltopfraction} pour ce flottant en particulier.
+
+@item
+Augmenter la valeur de @code{\dbltopfraction} à un nombre de grandeur
+adéquate, pour éviter de faire flotter les pages si tôt.
+@end itemize
+
+
+Vous pouvez le redéfinir, comme dans
+@code{\renewcommand@{\dbltopfraction@}@{0.9@}}.
@item \dblfloatpagefraction
-La fraction minimum d'une page de flottants qui doit être occupée par
-des flottants, pour une page à flottant à deux colonnes. Par défaut vaut
-@samp{0,5}.
+@anchor{twocolumn dblfloatpagefraction}
+Pour une page de flottants s'étendant sur deux colonnes en largeur,
+c'est la fraction minimum de la page qui doit être occupée par les
+flottants. La valeur par défaut de @LaTeX{} est @samp{0.5}. Se change
+avec @code{\renewcommand}.
@item \dblfloatsep
-Distance entre les flottants en haut ou en bas d'une page de flottants à
-deux colonnes. Par défaut vaut @samp{12pt plus2pt minus2pt} pour des
+@anchor{twocolumn dblfloatsep}
+Sur une page de flottants s'étendant sur deux colonnes en largeur, cette
+longueur est la distance entre les flottants à la fois en haut et en bas
+de la page. Par défaut vaut @samp{12pt plus2pt minus2pt} pour des
documents en @samp{10pt} ou @samp{11pt}, et @samp{14pt plus2pt minus4pt}
pour @samp{12pt}.
@item \dbltextfloatsep
-Distance entre un flottant multi-colonnes en haut ou en bas d'une page
-et le texte principal. Par défaut vaut @samp{20pt plus2pt minus4pt} .
-
+@anchor{twocolumn dbltextfloatsep}
+Cette longueur est la distance entre un flottant multi-colonnes en haut
+ou en bas d'une page et le texte principal. Par défaut vaut @samp{20pt
+plus2pt minus4pt}.
+
+@item \dbltopnumber
+@anchor{twocolumn dbltopnumber}
+Sur une page de flottant avec des flottants large de deux colonnes, ce
+compteur donne le nombre maximal de flottants autorisé au sommet de la
+page. La valeur par défaut de @LaTeX{} est @code{2}.
@end ftable
+@c From egreg at http://tex.stackexchange.com/a/142232/339
+L'exemple suivant utilise l'argument optionnel de @code{\twocolumn} pour
+crée un titre s'étendant sur les deux colonnes du document article :
+
+@example
+\documentclass[twocolumn]@{article@}
+\newcommand@{\authormark@}[1]@{\textsuperscript@{#1@}@}
+\begin@{document@}
+\twocolumn[@{% au sein de cet argument optionnel, du texte en une colonne
+ \centering
+ \LARGE Le titre \\[1.5em]
+ \large Auteur Un\authormark@{1@},
+ Auteur Deux\authormark@{2@},
+ Auteur Trois\authormark@{1@} \\[1em]
+ \normalsize
+ \begin@{tabular@}@{p@{.2\textwidth@}@@@{\hspace@{2em@}@}p@{.2\textwidth@}@}
+ \authormark@{1@}Departement Un &\authormark@{2@}Department Deux \\
+ École Un &École Deux
+ \end@{tabular@}\\[3em] % espace sous la partie titre
+ @}]
+
+Le texte en deux colonnes est ici.
+@end example
+
+
@node \flushbottom
@section @code{\flushbottom}
@@ -2104,7 +2267,8 @@ même hauteur, en ajoutant de k'espace vertical supplémentaire si
nécessaire pour remplir le page.
C'est la valeur par défaut si le mode @code{twocolumn} est sélectionné
-(@pxref{Document class options}).
+(@pxref{Document class options}). Cette command est fragile
+(@pxref{\protect}).
@node \raggedbottom
@section @code{\raggedbottom}
@@ -2124,91 +2288,242 @@ ne seront étirée.
@cindex mise en page, les paramètres de
@cindex en-tête, des paramètres pour
@cindex bas de page, des paramètres pour
-@cindex en-tête et pied de page en cours de traitement
+@cindex en-tête et pied de page en cours
@ftable @code
+@item \columnsep
+@itemx \columnseprule
+@itemx \columnwidth
+@findex \columnsep
+@findex \columnseprule
+@findex \columnwidth
+@anchor{page layout parameters columnsep}
+@anchor{page layout parameters columnseprule}
+@anchor{page layout parameters columnwidth}
+La distance entre les deux colonnes, la largeur d'un filet entre les
+colonnes, et la largeur des colonnes, lorsque l'option de classe de
+document @code{twocolumn} est en vigueur (@pxref{Document class
+options}). @xref{\twocolumn}.
+
@item \headheight
-Hauteur de la boîte qui contient la tête en cours de traitement. La
-valeur par défaut est @samp{30pt}, sauf dans la classe @code{book}, où
-elle varie en fonction de la taille de la police.
+@findex \headheight
+@anchor{page layout parameters headheight}
+Hauteur de la boîte qui contient l'en-tête de page en cours. La valeur
+par défaut pour les classes @code{article}, @code{report}, et
+@code{book} est @samp{12pt} quelle que soit la taille de la police.
@item \headsep
-La distance verticale entre le bas de la ligne d'en-tête et la partie
-supérieure du texte principal. La valeur par défaut est @samp{25pt},
-sauf dans la classe @code{book}, où elle varie avec la taille de
-la police.
+@findex \headsep
+@anchor{page layout parameters headsep}
+La distance verticale entre le bas de la ligne d'en-tête et le haut du
+texte principal. La valeur par défaut est @samp{25pt}. Dans la classe
+@code{book} la valeur par défaut est @samp{0.25in} pour un document
+réglé en 10pt, et @samp{0.275in} pour un document en 11pt ou 12pt.
@item \footskip
+@findex \footskip
+@anchor{page layout parameters footskip}
Distance de la ligne de base de la dernière ligne de texte à la ligne de
-base du bas de page. La valeur par défaut est @samp{30pt}, sauf dans la
-classe @code{book} où elle varie avec la taille de la police.
+base du pied de page. La valeur par défaut dans les classe
+@code{article} et @code{report} est @samp{30pt}. Dans la classe
+@code{book} la valeur par défaut est @samp{0.35in} pour les documents
+réglés en 10pt, @samp{0.38in} en 11pt, et @samp{30pt} en 12pt.
@item \linewidth
+@findex \linewidth
+@anchor{page layout parameters linewidth}
Largeur de la ligne actuelle, diminuée pour chaque @code{list} imbriquée
-(@pxref{list}). Plus précisément, elle est inférieure à
-@code{\textwidth} par la somme de @code{\leftmargin} et
-@code{\rightmargin} (@pxref{itemize}). 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 @code{article} en taille de
-police @samp{10pt}, elle vaut @samp{345pt} ; dans le mode à deux
-colonnes, elle passe à @samp{229.5pt}.
+(@pxref{list}). C-à-d.@: que la valeur nominale @code{\linewidth} vaut
+@code{\textwidth} mais que pour chaque liste imbriquée la largeur
+@code{\linewidth} est diminuée de la somme de @code{\leftmargin} et
+@code{\rightmargin} pour cette liste (@pxref{itemize}).
+@c La valeur par défaut varie en fonction de la taille de la police, la
+@c largeur du papier, le mode à deux colonnes, etc. Pour un document de
+@c classe @code{article} en taille de police @samp{10pt}, elle vaut
+@c @samp{345pt} ; dans le mode à deux colonnes, elle passe à
+@c @samp{229.5pt}.
-@item \textheight
-La hauteur verticale normale du corps de la page ; la valeur par défaut
-varie en fonction de la taille de la police, de la classe du document,
-etc. Pour un document de classe @code{article} ou @code{report} en
-taille de police @samp{10pt}, elle vaut @samp{43\baselineskip} ; pour
-une classe @code{book}, elle vaut @samp{41\baselineskip}. Pour
-@samp{11pt}, c'est @samp{38\baselineskip} et pour @samp{12pt} c'est
-@samp{36\baselineskip}.
+@item \marginparpush
+@itemx \marginsep
+@itemx \marginparwidth
+@findex \marginparpush
+@findex \marginsep
+@findex \marginparwidth
+@anchor{page layout parameters marginparpush}
+@anchor{page layout parameters marginsep}
+@anchor{page layout parameters marginparwidth}
+L'espace vertical miniminal entre deux notes marginales, l'espace
+horizontal entre le corps du texte et les notes marginales, et la largeur
+horizontale des notes.
+
+Normalement les notes en marginales apparaissent à l'extérieur de la
+page, mais la déclaration @code{\reversemarginpar} change cela (et
+@code{\normalmarginpar} le rétablit).
+
+La valeur par défaut pour @code{\marginparpush} à la fois dans un
+document de classe @code{book} ou @code{article} est : @samp{7pt} si le
+document est réglé à 12pt, et @samp{5pt} s'il l'est à 11pt ou 10pt.
+
+Pour @code{\marginsep}, dans la classe @code{article} la valeur par
+défaut est @samp{10pt} sauf si le document est réglé à 10pt et en mode en
+deux colonne où la valeur par défaut est @samp{11pt}.
+
+Pour @code{\marginsep} dans la classe @code{book} la valeur par défaut
+est @samp{10pt} en mode deux colonnes, et @samp{7pt} en mode
+mono-colonne.
+
+Pour @code{\marginparwidth} aussi bien dans les classes @code{book} que
+@code{article}, en mode à deux colonnes la valeur par défaut est 60% ou
+@code{\paperwidth @minus{} \textwidth}, alors qu'en mode monocolonne
+c'est 50% de cette distance.
+
+@item \oddsidemargin
+@itemx \evensidemargin
+@findex \oddsidemargin
+@findex \evensidemargin
+@anchor{page layout parameters oddsidemargin}
+@anchor{page layout parameters evensidemargin}
+@cindex marge gauche
+La @dfn{marge gauche} est la bande entre le bord gauche de la page et le
+corps du texte.
+
+@cindex marge gauche nominale
+La @dfn{marge gauche nominale} est la marge gauche lorsque les
+paramètres @code{\oddsidemargin} et @code{\eventsidemargin} sont à
+@samp{0pt}. Sa frontière est une ligne verticale imaginaire située
+à une distance de @code{1in + \hoffset} du bord gauche de la page en
+allant vers le côté droit. La longueur @code{\hoffset} vaut @code{0pt},
+ce paramètre est obsolète il servait dans les années 1980, quand le
+système @TeX{} a été conçu, à rattraper les défauts des imprimantes de
+l'époque dont le placement horizontal de la page par rapport à la
+feuille de papier pouvait se dérégler.
+
+La longueur @code{\oddsidemargin} est la distance entre le bord gauche
+du texte et la frontière de la marge gauche nominale pour les pages de
+numéro impair dans les documents en recto-verso, et pour toutes les
+pages sinon pour les document en recto simple. La longueur
+@code{\evensidemargin} est la distance entre le bord gauche du texte et
+la frontière de la marge gauche nominale pour les pages de numéro pair
+dans les documents en recto-verso.
+
+En d'autres termes @code{\oddsidemargin} ou @code{\evensidemargin}
+donnent la différence entre la largeur de la marge gauche réel et la
+marge gauche nominale. Ces distances @code{\oddsidemargin} et
+@code{\evensidemargin} sont donc signées vers le coté droit, c'est à
+dire qu'une valeur positive indique que la marge gauche réelle est plus
+large que la marge gauche nominale, alors qu'une valeur négative indique
+qu'au contraire elle est plus étroite.
+
+Dans une document en recto-verso le @dfn{côté intérieur} de la page est
+le côté gauche pour les pages de numéro impair, et le côté droit pour
+les page de numéro pair. Le @dfn{côté extérieur} est le côté opposé au
+côté intérieur : la longueur @code{\oddsidemargin} règle donc la
+position de la marge intérieure des pages de numéro impair, alors que
+@code{\evensidemargin} règle la position la marge extérieur des pages de
+numéro pair.
+
+Pour une marge intérieure de 4cm dans un document en recto-verso, mettre
+le code suivant dans le préambule :
+
+@example
+\evensidemargin\dimexpr\paperwidth-\textwidth-1in-4cm
+\oddsidemargin\dimexpr4cm-1in
+@end example
+
+Vice-versa, pour une marge extérieure de 5cm dans un document en
+recto-verso, mettre le code suivant dans le préambule :
+
+@example
+\evensidemargin\dimexpr5cm-1in
+\oddsidemargin\dimexpr\paperwidth-\textwidth-1in-5cm
+@end example
@item \paperheight
+@anchor{page layout parameters paperheight}
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 @code{\documentclass[a4paper]@{article@}}
(@pxref{Document class options,Options de classe de document}).
@item \paperwidth
+@anchor{page layout parameters paperwidth}
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 @code{\documentclass[a4paper]@{article@}}
(@pxref{Document class options,Options de classe de document}).
+@item \textheight
+@anchor{page layout parameters textheight}
+La hauteur verticale normale du corps de la page. Si le document réglé à
+une taille de police nominale de 10pt, alors pour un document de classe
+@code{article} ou @code{report}, elle vaut @samp{43\baselineskip} ; pour
+une classe @code{book}, elle vaut @samp{41\baselineskip}. Pour 11pt,
+c'est @samp{38\baselineskip} pour toutes les classes de document. Pour
+@samp{12pt} c'est @samp{36\baselineskip} pour toutes les classes aussi.
+
@item \textwidth
-La largeur horizontale totale de l'ensemble du corps de la page; la
-valeur par défaut varie comme d'habitude. Pour un document de classe
-@code{article} ou @code{report}, elle vaut @samp{345pt} à @samp{10pt} de
-taille de police, @samp{360pt} à @samp{11pt}, et @samp{390pt} à
-@samp{12pt}. Pour un document @code{book}, elle veut @samp{4.5in} à
-@samp{10pt} et @samp{5in} à @samp{11pt} ou @samp{12pt}.
+@anchor{page layout parameters textwidth}
+La largeur horizontale totale de l'ensemble du corps de la page. Pour un
+document de classe @code{article} ou @code{report}, elle vaut
+@samp{345pt} à 10pt de taille de police, @samp{360pt} à
+11pt, et @samp{390pt} à 12pt. Pour un document
+@code{book}, elle veut @samp{4.5in} à 10pt et @samp{5in} à
+11pt ou 12pt.
En sortie multi-colonne, @code{\textwidth} reste de la largeur de tout
le corps de la page, tandis que @code{\columnwidth} est la largeur d'une
colonne (@pxref{\twocolumn}).
-Dans les listes (@pxref{list}), @code{\textwidth} est le reste la
-largeur du corps corps de la page entière (et @code{\columnwidth} est la
-largeur d'une colonne entière), alors que @code{\linewidth} peut
-diminuer au sein de listes imbriquées.
+Dans les listes (@pxref{list}), @code{\textwidth} demeure la largeur du
+corps de la page entière (et @code{\columnwidth} est la largeur d'une
+colonne entière), alors que @code{\linewidth} peut diminuer au sein de
+listes imbriquées.
À l'intérieur d'une minipage (@pxref{minipage} ) ou @code{\parbox}
(@pxref{\parbox}), tous les paramètres liés à la largeur sont mis à la
largeur spécifiée, et de reviennent à leurs valeurs normales à la fin du
@code{minipage} ou @code{\parbox}.
+@item \hsize
@findex \hsize
+@anchor{page layout parameters hsize}
Par souci d'exhaustivité : @code{\hsize} est le paramètre @TeX{}
primitif utilisé lorsque le texte est divisé en lignes. Il ne devrait
pas être utilisé dans des documents @LaTeX{} en conditions normales.
@item \topmargin
-L'espace entre le haut de la page @TeX{} (un pouce à partir du haut de
-la feuille, par défaut) et le sommet de l'en-tête de page. La valeur par
-défaut est calculée sur la base de nombreux autres paramètres :
-@code{\paperheight @minus{} 2in @minus{} \headheight @minus{} \headsep
-@minus{} \textheight @minus{} \footskip}, et ensuite divisé par deux.
+@findex topmargin
+@anchor{page layout parameters topmargin}
+@cindex marge supérieure
+La @dfn{marge supérieure} est la bande entre le bord supérieur de la page et le
+bord supérieure de l'en-tête de page.
+
+@cindex marge supérieure nominale
+La @dfn{marge supérieure nominale} est la marge supérieur lorsque
+@code{\topmargin} vaut @samp{0pt}. Sa frontière est une ligne
+horizontale imaginaire située à une distance de @code{1in + \voffset} du
+bord supérieur de la page en allant vers le bas. La longueur
+@code{\voffset} vaut @code{0pt}, ce paramètre est obsolète il servait
+dans les années 1980, quand le système @TeX{} a été conçu, à rattraper
+les défauts des imprimantes de l'époque dont le placement vertical de la
+page par rapport à la feuille de papier pouvait se dérégler.
+
+La distance @code{\topmargin} sépare le haut de l'en-tête de page de la
+frontière de la marge supérieure nominale. Elle est signée vers le bas,
+c'est à dire que quand @code{\topmargin} est positif la marge supérieure
+est plus large que la marge supérieure nominale, et que s'il est négatif
+elle est au contraire plus étroite. En d'autres termes @code{\topmargin}
+est la différence entre la largeur de la marge supérieure réelle et la
+marge supérieure nominale.
+
+L'espace le haut de la page @TeX{} et le haut du corps de texte est
+@code{1in + \voffset + \topmargin + \headheight + \headsep}. La marge
+inférieure vaut donc @code{\paperheight -\textheight -\footskip - 1in -
+\voffset - \topmargin - \headheight - \headsep}.
@item \topskip
+@findex \topskip
+@anchor{page layout parameters topskip}
La distance minimale entre le sommet du corps de la page et la ligne de base de
la première ligne de texte. Pour les classes standard, la valeur par défaut est la
même que la taille de la police, par exemple, @samp{10pt} à @samp{10pt}.
@@ -2525,7 +2840,7 @@ Le compteur @code{secnumdepth} contrôle quels titres de rubriques sont
numérotés. Régler le compteur avec
@code{\setcounter@{secnumdepth@}@{@var{niveau}@}} supprime la
numérotation des rubriques à toute profondeur supérieure à @var{niveau}
-(@xref{\setcounter}). Voir la table plus haut pour la valeur des
+(@pxref{\setcounter}). Voir la table plus haut pour la valeur des
niveaux. Par exemple, si le @code{secnumdepth} vaut 1 dans un
@code{article} alors la commande @code{\section@{Introduction@}} produit
en sortie quelque-chose comme @samp{1 Introduction} alors que
@@ -3153,21 +3468,28 @@ a plusieurs autres fonctions. Voir la documentation sur le CTAN.
@findex \frontmatter
@cindex book, pièces préliminaires
@cindex livre, pièces préliminaires
+@cindex pièces préliminaires d'un livre
@findex \mainmatter
@cindex book, pièces principales
@cindex livre, pièces principales
+@cindex pièces principales d'un livre
@findex \backmatter
@cindex book, pièces postliminaires
@cindex book, annexes
@cindex livre, pièces postliminaires
@cindex livre, annexes
+@cindex pièces postliminaires d'un livre
+@cindex annexes d'un livre
-Synopsis, l'un parmi :
+Synopsis, l'un ou plus parmi :
@example
\frontmatter
+…
\mainmatter
+…
\backmatter
+…
@end example
Formate un document de classe @code{book} différemment selon la partie
@@ -3183,16 +3505,20 @@ pas numérotée). Les pièces postliminaires (@code{\backmatter}) peuvent
contenir des choses telles qu'un glossaire, une bibliographie, et un
index.
-La déclaration @code{\frontmatter} rend les numéros de page en chiffres
+La commande @code{\frontmatter} 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 @code{*} (@pxref{Sectioning}). La commande
-@code{\mainmatter} permet de revenir au comportement attendu, et
-réinitialise le numéro de page. La commande @code{\backmatter}
-n'affecte pas la numérotation des pages, mais commute de nouveau les
-chapitres en mode sans numéros. @xref{Larger book template} pour un
-exemple d'usage des trois commandes.
+la version en @code{*} (@pxref{Sectioning}).
+
+La commande @code{\mainmatter} permet de revenir au comportement
+attendu, et réinitialise le numéro de page.
+
+La commande @code{\backmatter} n'affecte pas la numérotation des pages,
+mais commute de nouveau les chapitres en mode sans numéros.
+
+@xref{Larger book template}, pour un exemple d'usage de ces trois
+commandes.
@node \@@startsection
@@ -3367,27 +3693,30 @@ des titres gras et en capitales.
Voici les réglages par défaut de @LaTeX{} pour les trois premiers
niveaux de rubricage qui sont définis par @code{\@@startsection}, pour
les classes @file{article}, @file{book}, et @file{report}.
+
@itemize
@item
-Pour section, le @var{niveau} vaut 1, le @var{retrait} vaut 0@dmn{pt},
+Pour @code{section} : le @var{niveau} vaut 1, le @var{retrait} vaut 0@dmn{pt},
le @var{avant} vaut @code{-3.5ex plus -1ex minus -0.2ex}, le @var{après}
vaut @code{2.3ex plus 0.2ex}, et le @var{style} vaut
@code{\normalfont\Large\bfseries}.
+
@item
-Pour subsection, le @var{niveau}
+Pour @code{subsection} : le @var{niveau}
vaut 2, le @var{retrait} vaut 0@dmn{pt}, le @var{avant} vaut
@code{-3.25ex plus -1ex minus -0.2ex}, le @var{après} vaut @code{1.5ex
plus 0.2ex}, et le @var{style} vaut @code{\normalfont\large\bfseries}.
+
@item
-Pour subsubsection, le @var{niveau} vaut 3, le @var{retrait} vaut
+Pour @code{subsubsection} : le @var{niveau} vaut 3, le @var{retrait} vaut
0@dmn{pt}, le @var{avant} vaut @code{-3.25ex plus -1ex minus -0.2ex}, le
@var{après} vaut @code{1.5ex plus 0.2ex}, et le @var{style} vaut
@code{\normalfont\normalsize\bfseries}.
@end itemize
-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
+Quelques exemples suivent. Ils vont 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 @code{\makeatletter} et une commande @code{\makeatother}.
(Le message d'erreur @code{You can't use `\spacefactor' in vertical
@@ -3640,7 +3969,7 @@ que ceci est une référence déclarée en aval puisque elle est faite avant
@code{\label@{populaire@}}.
@example
-Le format utilisé le plus largement est à l'item item numéro~\ref@{populaire@}.
+Le format utilisé le plus largement est à l'item numéro~\ref@{populaire@}.
\begin@{enumerate@}
\item Plain \TeX
\item \label@{populaire@} \LaTeX
@@ -3771,6 +4100,7 @@ Synopsis :
\end@{array@}
@end example
+@noindent
ou
@example
@@ -3786,11 +4116,29 @@ Les tableaux mathématiques sont produits avec l'environnement
une esperluette (@code{&}). Les lignes sont terminées par une double
contr'oblique (@pxref{\\}).
+L'exemple suivant affiche un tableau trois par trois.
+
+@example
+\begin@{equation*@}
+ \chi(x) =
+ \left| % barre verticale en bordure
+ \begin@{array@}@{ccc@}
+ x-a &-b &-c \\
+ -d &x-e &-f \\
+ -g &-h &x-i
+ \end@{array@}
+ \right|
+\end@{equation*@}
+@end example
+
L'argument obligatoire @var{patron} décrit le nombre de colonnes,
l'alignement en leur sein, et le formatage des régions
-inter-colonne. Voir @ref{tabular} pour une description complete de
+inter-colonne. Par exemple,
+@code{\begin@{array@}@{rcl@}...\end@{array@}} produit trois colonnes :
+la première fer à droite, la deuxième centrée, et la troisière fer à
+gauche. Voir @ref{tabular} pour une description complète de
@var{patron}, et des autres caractéristiques communes aux deux
-environnement, y compris l'argument optionnel @code{pos}.
+environnements, y compris l'argument optionnel @code{pos}.
L'environnement @code{array} diverge de @code{tabular} par deux
aspect. Le premier est que les entrée de @code{array} sont composées en
@@ -3895,11 +4243,49 @@ Synopsis :
\end@{center@}
@end example
-@findex \\ (pour @code{center})
L'environnement @code{center} vous permet de créer un paragraphe
-consistant de lignes qui sont centrée entre les marges de gauche et de
-droite de la page courante. Chaque ligne est terminée avec la chaîne
-@code{\\}.
+consistant de lignes qui sont centrées entre les marges de gauche et de
+droite de la page courante. On utilise une double contr'oblique,
+@code{\\}, pour obtenir un saut de ligne (@pxref{\\}).
+@findex \\ @r{(pour @code{center})}
+Si du texte est trop long pour entrer dans une ligne, alors @LaTeX{}
+insère des sauts de ligne en évitant de faire des césures ou de dilater
+ou contracter tout espace inter-mot.
+
+Cet environnement insert de l'espace au-dessus et en-dessou le corps du
+texte. Voir @ref{\centering} pour ne pas avoir cet espace, par exemple
+au sein d'un environnement @code{figure}.
+
+L'exemple suivant produit trois ligne centrées. Il y a un espace
+vertical supplementaire entre les deux dernière lignes.
+
+@example
+\begin@{center@}
+ Une thèse soumise en remplissant partiellement \\
+ les exigences de \\[0.5ex]
+ l'École pour l'Ingénierie Environnementale
+\end@{center@}
+@end example
+
+Dans l'exemple suivant, selon la largeur de la ligne de la page,
+@LaTeX{} pourrait faire un saut de ligne pour la partie avant la double
+contr'oblique. SIf so, it will center each of the two lines and if not
+it will center the single line. Then @LaTeX{} will break at the double
+backslash, and will center the ending.
+
+@example
+\begin@{center@}
+ Mon père considérait comme intolérable quiconque fréquentait l'église mais ne buvait pas d'alcool.\\
+ J'ai grandi dans cette croyance. --- Richard Burton
+\end@{center@}
+@end example
+
+Ajouter une double contr'oblique à la fin de la ligne finale est
+optionnel. Lorsque elle est présente, cela n'ajoute pas d'espace
+vertical.
+
+Dans un document en double-colonne le texte est centré dans une colonne,
+et non sur la page entière.
@menu
* \centering:: Forme déclarative de l'environnement @code{center}.
@@ -3909,6 +4295,7 @@ droite de la page courante. Chaque ligne est terminée avec la chaîne
@node \centering
@subsection @code{\centering}
+@c xx Revoir la trad.
@findex \centering
@cindex centrer du texte, déclaration pour
@@ -3941,7 +4328,7 @@ second line \\
@section @code{description}
@EnvIndex{description}
-@cindex lists étiquetée, créer
+@cindex listes étiquetées, créer
@cindex listes de description, créer
Synopsis :
@@ -3958,13 +4345,12 @@ Synopsis :
L'environnement @code{description} est utilisé pour fabriquer des listes
d'articles étiquetés. Chaque @var{étiquette} d'article est composée en
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{} @samp{Something's
+sur la première ligne du texte de l'article. Il doit y avoir au moins un
+article ; sans cela on provoque l'erreur @LaTeX{} @samp{Something's
wrong--perhaps a missing \item}.
Cet exemple montre l'environnement utilisé pour une séquence de
-définitions. Les étiquettes @samp{lama} et @samp{llama} ressortent en
-gras avec leur bords gauches alignés sur la marge de gauche.
+définitions.
@example
\begin@{definition@}
@@ -3972,6 +4358,10 @@ gras avec leur bords gauches alignés sur la marge de gauche.
\item[lame] Une pièce coupante.
@end example
+@noindent
+Les étiquettes @samp{lama} et @samp{llama} ressortent en gras avec leur
+bords gauches alignés sur la marge de gauche.
+
@findex \item
Faites démarrer la liste d'articles avec la commande @code{\item}
(@pxref{\item}). Utilisez l'étiquette optionnelle, comme dans
@@ -4230,14 +4620,16 @@ cela.
@cindex align @r{environnement, d'@code{amsmath}}
@cindex amsmath @r{paquetage, remplaçant @code{eqnarray}}
@cindex Madsen, Lars
-Tout d'abord une mise en garde : l'environnement @code{eqnarray} a
-quelques maladresse que l'on ne peut pas surmonter ; l'artice « Évitez
-eqnarray ! »@: de Lars Madsen les décrit en détail
-(@url{http://tug.org/TUGboat/tb33-1/tb103madsen.pdf}). Ce qu'il faut
-retenir c'est qu'il vaut mieux utiliser l'environnement @code{align} (et
-d'autres) du paquetage @code{amsmath}.
+L'environnement @code{eqnarray} est obsolète. Il a des maladresses parmi
+lesquelles l'espacement qui est incohérent avec d'autres éléments
+mathématiques. (Voir l'artice « Évitez eqnarray ! »@: de Lars Madsen
+(@url{http://tug.org/TUGboat/tb33-1/tb103madsen.pdf}). Les nouveaux
+documents devraient inclure le paquetage @file{amsmath} et utiliser les
+environnements d'affichage mathématique que celui-ci fournit, tels que
+@code{align}. On inclut une description uniquement pour être complet et
+pour pouvoir travailler avec d'anciens documents.
-Néanmoins, voici une description d'@code{eqnarray} :
+Synopsis :
@example
\begin@{eqnarray@} @r{(ou @code{eqnarray*})}
@@ -4282,20 +4674,27 @@ Synopsis :
@example
\begin@{equation@}
-@var{math}
+@var{texte mathématique}
\end@{equation@}
@end example
-L'environnement @code{equation} commence un environnement en
-@code{displaymath} (@pxref{displaymath}), par ex.@: en centrant le texte
-@var{math} sur la page, et aussi en plaçant un numéro d'équation dans la
-marge de droite.
+Même chose que l'environnement @code{displaymath} (@pxref{displaymath})
+à ceci près que @LaTeX{} place un numéro d'équation aligné sur la marge
+de droite. Le numéro d'équation est généré en utilisant le compteur
+@code{equation}.
+Il ne faut aucune ligne vide entre @code{\begin@{equation@}} et
+@code{\begin@{equation@}}, sinon @LaTeX{} dit qu'il manque une signe
+dollar.
+
+@PkgIndex{amsmath}
+Le paquetage @file{amsmath} comprend des moyens étendus pour l'affichage
+d'équations. Les nouveau documents devrait inclure ce paquetage.
@node figure
@section @code{figure}
@EnvIndex{figure}
-@cindex inserer des figures
+@cindex insérer des figures
@cindex figures, insertion
Synopsis :
@@ -4303,28 +4702,40 @@ Synopsis :
@example
\begin@{figure@}[@var{placement}]
@var{corpsfigure}
-\caption[@var{titreldf}]@{@var{texte}@}
-\label@{@var{étiquette@}}
+ \caption[@var{titreldf}]@{@var{texte}@} % optionnel
+ \label@{@var{étiquette@}} % optionnel
\end@{figure@}
@end example
-ou
+@noindent
+ou :
@example
\begin@{figure*@}[@var{placement}]
-@var{corpsfigure}
-\caption[@var{titreldf}]@{@var{texte}@}
-\label@{@var{étiquette@}}
+ @var{corpsfigure}
+ \caption[@var{titreldf}]@{@var{texte}@} % optionnel
+ \label@{@var{étiquette@}} % optionnel
\end@{figure*@}
@end example
-Une classe de flottant (@pxref{Floats}). 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.
+Les figures sont du matériel qui ne fait pas partie du texte normal. Un
+exemple est du matériel qu'on ne peut pas avoir segmenté entre deux
+pages, comme un graphique. À cause de cela, @LaTeX{} ne compose pas les
+figures en séquence avec le texte normal, mais au lieu de cela les fait
+« flotter » jusqu'à un endroit convenable, tel que le haut de la page
+suivante (@pxref{Floats}).
-Pour les valeurs possibles de @var{placement} et leur effet sur
-l'algorithme de placement des flottants, voir @ref{Floats}.
+
+Le @var{corpsfigure} peut consister de graphiques importés
+(@pxref{Graphics}), de texte, de commandes @LaTeX{}, etc. Il est composé
+une @code{parbox} de largueur @code{\textwidth}.
+
+
+Pour les valeurs possibles de @var{placement} sont @code{h} pour « ici »
+(@samp{here} en anglais), @code{t} pour « en haut » (@samp{top}),
+@code{b} pour « en bas », et @code{p} pour sur un page séparée de
+flottants. Pour l'effet de ces options sur l'algorithme de placement des
+flottants, voir @ref{Floats}.
La version étoilée @code{figure*} est utilisée quand un document est en
mode double-colonne (@pxref{\twocolumn}). elle produit une figure qui
@@ -4332,11 +4743,7 @@ 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
@var{placement} @code{b} dans @ref{Floats}.
-Le corps de la figure est composé dans une @code{parbox} de largueur
-@code{\textwidth} and ainsi il peut contenir du texte, des commandes,
-etc.
-
-L'étiquette est optionnelle ; elle est utilisée pour les double renvois
+L'étiquette est optionnelle ; elle est utilisée pour les renvois
(@pxref{Cross references}).
@findex \caption
La commande @code{\caption} spécifie la légende @var{texte} pour la
@@ -4345,8 +4752,8 @@ présent, il est utilisé dans la liste des figures au lieu de @var{texte}
(@pxref{Table of contents etc.}).
Cet exemple fabrique une figure à partir d'un graphique. Il nécessite
-l'un des paquetage @file{graphics} ou @file{graphicx}. Le graphique,
-avec sa légende, est palcé au sommet d'une page ou, s'il est rejet à la
+l'un des paquetages @file{graphics} ou @file{graphicx}. Le graphique,
+avec sa légende, est placé au sommet d'une page ou, s'il est rejeté à la
fin du document, sur une page de flottants.
@example
@@ -4459,6 +4866,8 @@ produit ce fichier @file{JH.sty} :
@cindex texte ferré à gauche, environnement pour
@cindex texte drapeau droit, environnement pour
+Synopsis :
+
@example
\begin@{flushleft@}
@var{ligne1} \\
@@ -4471,9 +4880,24 @@ produit ce fichier @file{JH.sty} :
L'environnement @code{flushleft} vous permet de créer un paragraphe
ferré à gauche, c'est à dire consistant en lignes qui sont alignées sur
la marge de gauche et en dentelures à droite comme un drapeau dont la
-hampe (fer du composteur) serait à gauche et les franges à
-droite. Chaque ligne doit être terminée par la séquence de contrôle
-@code{\\}.
+hampe (fer du composeur) serait à gauche et les franges à droite. Si
+vous avez des lignes qui sont trop longues alors @LaTeX{} insère des
+sauts de ligne sans faire de césure ni dilater ou contracter les espaces
+inter-mot. Pour forcer un saut de ligne on utilise une double
+contr'oblique, @code{\\}. Pour la forme déclarative,
+voir @ref{\raggedright}.
+
+L'exemple suivant crée une boîte de texte qui fait au plus 7,5cm de
+large, et dont le texte est fer à gauche et drapeau à droite.
+
+@example
+\noindent\begin@{minipage@}@{7.5cm@}
+\begin@{flushleft@}
+ Une longue phrase que \LaTeX@{@} coupe à l'endroit approprié. \\
+ Et, une nouvelle ligne forcée par la double contr'oblique.
+\end@{flushleft@}
+\end@{minipage@}
+@end example
@menu
* \raggedright:: Forme déclarative de l'environnement @code{flushleft}.
@@ -4489,18 +4913,50 @@ droite. Chaque ligne doit être terminée par la séquence de contrôle
@cindex justifié à gauche du texte
@cindex justification, drapeau droit
-La déclaration @code{\raggedright} correspond à l'environnement
-@code{flushleft}. Cette déclaration peut être utilisée au sein d'un
-environnement tel que @code{quote} ou d'une @code{parbox}.
+Synopsis :
+
+@example
+@{\raggedright ... @}
+@end example
+
+@noindent
+ou :
+
+@example
+\begin@{@var{environnement}@} \raggedright
+ ...
+\end@{@var{environnement}@}
+@end example
+
+Une déclaration qui a pour effet que les lignes sont ferrées sur la
+marge de gauche et drapeau sur la droite, c-à-d.@: que les mots sont
+alignés sur la gauche comme sur le fer du composeur, et en dentelure
+comme les frange d'un drapeau à droite. Elle peut être utilisée au sein
+d'un @var{environnement} tel que @code{quote} ou d'une
+@code{parbox}. Pour la forme par environnement voir @ref{flushleft}.
Contrairement à l'environnement @code{flushleft}, la commande
@code{\raggedright} ne démarre pas un nouveau paragraphe ; elle change
seulement la façon dont @LaTeX{} formatte les unités de paragraphe. Pour
-affecter le format d'une unité de paragraphe, la porté de la déclaration
-doit contenir la ligne à blanc où la commande @code{\end} qui termine
+affecter le format d'une unité de paragraphe, la portée de la déclaration
+doit contenir la ligne à blanc ou la commande @code{\end} qui termine
l'unité de paragraphe.
+Dans l'exemple ci-après @code{\raggedright} dans la deuxième colonne
+empèche @LaTeX{} de faire une composition très maladroite pour faire
+rentrer le texte dans une colonne étroite. Notez que
+@code{\raggedright} est au sein d'accolades @code{@{...@}} pour borner
+son effet.
+
+@example
+\begin@{tabular@}@{rp@{5cm@}@}
+ Équipe alpha &@{\raggedright Cette équipe fait le travail réel.@} \\
+ Équipe beta &@{\raggedright Cette équipe assure que le système de refroidissement
+ ne manque jamais d'eau.@} \\
+\end@{tabular@}
+@end example
+
@node flushright
@section @code{flushright}
@EnvIndex{flushright}
@@ -4509,18 +4965,27 @@ l'unité de paragraphe.
@example
\begin@{flushright@}
-@var{ligne1} \\
-@var{ligne2} \\
+ @var{ligne1} \\
+ @var{ligne2} \\
...
\end@{flushright@}
@end example
@findex \\ (pour @code{flushright})
L'environnement @code{flushright} vous permet de créer un paragraphe
-ferré à droite et drapeau gauche, c.-à-d.@: consistant de lignes qui sont
-alignées sur la marge de droite (fer à droite) et en dentelures
-(drapeau) sur la marge de gauche. Chaque ligne doit être temrinée par la
-séquence de contrôle @code{\\}.
+ferré à droite et drapeau gauche, c.-à-d.@: consistant de lignes qui
+sont alignées sur la marge de droite (fer à droite) et en dentelures
+(drapeau) sur la marge de gauche. Si vous avez des lignes qui sont trop
+longues pour entrer entre les marges, alors @LaTeX{} insère des sauts de
+ligne sans faire de césure ni dilater ou contracter les espaces
+inter-mot. Pour forcer un saut de ligne on utilise une double
+contr'oblique, @code{\\}. Pour la forme déclarative,
+voir @ref{\raggedleft}.
+
+Pour un exemple en relation avec cet environnement,
+voir @ref{flushleft}, où il suffit mutatis mutandis de changer
+@code{flushright} en @code{flushleft}.
+
@menu
* \raggedleft:: Forme déclarative de l'environnement @code{flushright}.
@@ -4534,17 +4999,38 @@ séquence de contrôle @code{\\}.
@cindex justification, drapeau gauche
@cindex justifier le texte à droite
-La déclaration @code{\raggedleft} correspond à l'environnement
-@code{flushright}. Cette déclaration peut être utilisée au sein d'un
-environnement tel que as @code{quote} ou d'une @code{parbox}.
+Synopsis :
+
+@example
+@{\raggedleft ... @}
+@end example
+
+@noindent
+ou
+
+@example
+\begin@{@var{environnement}@} \raggedleft
+ ...
+\end@{@var{environnement}@}
+@end example
+
+Une déclaration qui a pour effet que les lignes sont ferrées sur la
+marge de droite et drapeau sur la gauche, c-à-d.@: que les mots sont
+alignés sur la droite comme sur le fer du composeur, et en dentelure
+comme les frange d'un drapeau à gauche. Elle peut être utilisée au sein
+d'un @var{environnement} tel que @code{quote} ou d'une
+@code{parbox}. Pour la forme par environnement voir @ref{flushleft}.
Contrairement à l'environnement @code{flushright}, la commande
-@code{\raggedleft} ne commence pas un nouveau paragraphe ; elle change
+@code{\raggedleft} ne démarre pas un nouveau paragraphe ; elle change
seulement la façon dont @LaTeX{} formatte les unités de paragraphe. Pour
-affecter le format d'une une unité de paragraphe, la portée de la
-déclaration doit contenir la ligne à blanc ou la commande @code{\end} qui
-termine l'unité de paragraphe.
+affecter le format d'une unité de paragraphe, la portée de la déclaration
+doit contenir une ligne à blanc ou la commande @code{\end} qui termine
+l'unité de paragraphe.
+Pour un exemple en relation avec cet environnement,
+voir @ref{\raggedright}, où il suffit mutatis mutandis de changer
+@code{\raggedright} en @code{\raggedleft}.
@node itemize
@section @code{itemize}
@@ -4558,51 +5044,84 @@ Synopsis :
@example
\begin@{itemize@}
-\item @var{item1}
-\item @var{item2}
-...
+ \item[@var{étiquette optionnelle du 1er article}] @var{texte du 1er article}
+ \item[@var{étiquette optionnelle du 2e article}] @var{texte du 2e article}
+ ...
+\end@{itemize@}
+@end example
+
+L'environnement @code{itemize} produit une @dfn{liste non ordonnée}, qu'on
+appelle parfois liste à puces. Il doit y avoir au moins une commande
+@code{\item} au sein de l'environnement ; sans quoi @LaTeX{} produit
+l'erreur @samp{Something's wrong--perhaps a missing \item}.
+
+L'exemple suivant donne une liste à deux articles.
+
+@example
+\begin@{itemize@}
+ \item Esquisse au crayon et aquarelle par Cassandra
+ \item Portrait Rice
\end@{itemize@}
@end example
-L'environnement @code{itemize} produit une liste « non ordonnée », « à
-puces ». Les environnement @code{itemize} 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 @code{enumerate} (@pxref{enumerate}).
+@noindent
+Par défaut --- sans charger par ex.@: le paquetage @file{babel} avec une
+autre langue que USenglish --- dans une liste au premier niveau
+d'imbrication l'étiquette est rendue par une puce, @bullet{}. Le format
+des étiquettes dépend du niveau d'imbrication ; voir plus bas.
+
-Chaque article d'une liste @code{itemize} commence avec une commande
-@code{\item}. Il doit y avoir au moins une commande @code{\item} au
-sein de l'environnement.
+@findex \item
+On démarre les article de liste avec la commande @code{\item}
+(@pxref{\item}). Si vous passez à @code{\item} un argument optionnel en
+le faisant suivre de crochets, comme dans @code{\item[@var{étiquette
+optionnelle}]}, alors par défaut @var{étiquette optionnelle} apparaît en
+gras et aligné à droite, de sorte qu'elle peut s'étendre dans la marge
+de gauche. Pour des étiquettes alignées à gauche voir l'environnement
+@ref{description}. À la suite @code{\item} se trouve le texte que
+l'article qui peut être vide ou contenir plusieurs paragraphes.
+
+Les listes non ordonnées peuvent être imbriquées l'une dans l'autre, sur
+jusqu'à quatre niveaux de profondeur. Elles peuvent aussi être imbriquées
+avec d'autre environnements fabriquant des paragraphes, comme
+@code{enumerate} (@pxref{enumerate}).
-Par défaut, les marques de chaque niveau ressemblent à cela :
+@findex \labelitemi
+@findex \labelitemii
+@findex \labelitemiii
+@findex \labelitemiv
+@anchor{itemize labelitemi}
+@anchor{itemize labelitemii}
+@anchor{itemize labelitemiii}
+@anchor{itemize labelitemiv}
+L'environnement @code{itemize} utilise les commandes de
+@code{\labelitemi} jusqu'à @code{\labelitemiv} pour produire les
+étiquettes par défaut (notez la convention que le nombre romain en bas
+de casse à la fin du nom de la commande indique le niveau
+d'imbrication). Voici les marques de chaque niveau :
@enumerate
-@item @bullet{} (puce)
-@item @b{-@w{-}} (tiret demi-cadratin gras)
-@item * (asterisque)
+@item @bullet{} (puce, issue de @code{\textbullet})
+@item @b{-@w{-}} (tiret demi-cadratin gras, issu du @code{\normalfont\bfseries\textendash})
+@item * (asterisque, issu de @code{\textasteriskcentered})
@iftex
-@item @math{\cdot} (point centré verticalement)
+@item @math{\cdot} (point centré verticalement, issu de @code{\textperiodcentered})
@end iftex
@ifnottex
-@item . (point centré verticalement, rendu ici comme un point final)
+@item . (point centré verticalement, rendu ici comme un point final, issu de @code{\textperiodcentered})
@end ifnottex
@end enumerate
@c vincentb1 cette information n'est pas dans l'original, vérifiez avec Karl :
-Si vous utilisez l'environnement @code{babel} avec la langue
+Si vous utilisez le paquetage @file{babel} avec la langue
@code{french}, alors il y a des tirets pour tous les niveaux comme c'est
l'habitude des Français.
-@findex \labelitemi
-@findex \labelitemii
-@findex \labelitemiii
-@findex \labelitemiv
-L'environnement @code{itemize} utilise les commandes de
-@code{\labelitemi} jusqu'à @code{\labelitemiv} pour produire les
-étiquettes par défaut. Ainsi, vous pouvez utiliser @code{\renewcommand}
-pour changer les étiquettes. Par exemple, pour que le premier niveau
-utilise des losanges :
+
+
+Utilisez @code{\renewcommand} pour changer les étiquettes. Par exemple,
+pour que le premier niveau utilise des losanges :
@example
\renewcommand@{\labelitemi@}@{$\diamond$@}
@@ -4624,7 +5143,7 @@ utilise des losanges :
@anchor{itemize leftmarginvi}
Les paramètres de @code{\leftmargini} jusqu'à @code{\leftmarginvi}
définissent la distance entre la marge de gauche de l'environnement
-surjacent et la marge de gauche de la liste. (Notez la convention de
+surjacent et la marge de gauche de la liste. (On utilise aussi 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 :
@code{2.5em} pour le niveau 1 (@code{2em} en mode deux-colonnes),
@@ -4634,20 +5153,22 @@ niveaux plus profondément imbriqués.
@PkgIndex{enumitem}
Pour les autres environnements majeurs de listes à étiquettes de
-@LaTeX{}, voir @ref{description} et @ref{enumerate}. 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 @ref{list}. La paquetage @file{enumitem} est utile
-pour personaliser les listes.
+@LaTeX{}, voir @ref{description} et @ref{enumerate}. Les environnements
+@code{itemize}, @code{enumerate} et @code{description} utilisent les
+mêmes paramètres de contrôle de la disposition des listes. Pour leur
+description, y compris les valeurs par défaut, ainsi que la
+personalisaton de la disposition, voir @ref{list}. Le paquetage
+@file{enumitem} est utile pour personaliser les listes.
Dans cet exemple on réduit grandement l'espace de marge pour la liste à
-puces la plus externe~:
+puces la plus externe :
@example
\setlength@{\leftmargini@}@{1.25em@} % valeur par défaut 2.5em
@end example
-@c xx should be in its own generic section
+@c xx TODO vérifier que tout cela se retouve bien dans node list.
+@ignore
Quelques paramètres qui affectent le formatage des listes :
@ftable @code
@@ -4706,6 +5227,8 @@ pour ceux en @code{11pt}, et @code{3pt plus2pt minus2pt} pour ceux en
@code{12pt}.
@end ftable
+@end ignore
+
@findex \parskip @r{exemple}
En particulier pour les listes avec des articles courts, il peut être
@@ -4830,11 +5353,13 @@ mise à zéro, ou à une valeur négative.
@ftable @code
@item \itemindent
+@anchor{list itemindent}
Espace supplémentaire horizontal de renfoncement, ajouté à de
@code{leftmargin}, de la première ligne de chaque article. Sa valeur par
défaut est @code{0pt}.
@item \itemsep
+@anchor{list itemsep}
Espace vertical entre les articles, ajouté à @code{\parsep}. Les
valeurs par défaut pour les trois premiers niveaux dans les classes de
@LaTeX{} @samp{article}, @samp{book}, et @samp{report} à la taille de 10
@@ -4848,11 +5373,13 @@ plus2.5pt minus1pt}, @code{\parsep} (c-à-d.@: @code{2.5pt plus1pt
minus1pt}), et @code{\topsep} (c-à-d.@: @code{2.5pt plus1pt minus1pt}).
@item \labelsep
+@anchor{list labelsep}
Espace horizontal entre l'étiquette et le texte d'un article. La valeur
par défaut pour les classes @LaTeX{} @samp{article}, @samp{book}, et
@samp{report} est de @code{0.5em}.
@item \labelwidth
+@anchor{list labelwidth}
Largueur horizontale. La boîte contenant l'étiquette est nominalement de
cette largeur. Si @code{\makelabel} renvoie un texte qui est plus larget
que cela, alors le renfoncement de la première ligne de l'article sera
@@ -4865,16 +5392,17 @@ Le bord de gauche de la boîte de l'étiquette est à
@code{\leftmargin}+@code{\itemindent}-@code{\labelsep}-@code{\labelwidth}
de la marge de gauche de l'environnement enveloppant.
-La valeur par défaut pour les classe @LaTeX{} @samp{article},
-@samp{book}, et @samp{report} pour les liste de premier niveau vaut
+La valeur par défaut pour les classes @LaTeX{} @samp{article},
+@samp{book}, et @samp{report} pour les listes de premier niveau vaut
@code{\leftmargini}-@code{\labelsep}, (c-à-d.@: @code{2em} en mode à une
colonne et @code{1.5em} en mode à deux colonnes). Au deuxième niveau,
c'est @code{\leftmarginii}-@code{\labelsep}, et au troisième niveau
@code{\leftmarginiii}-@code{\labelsep}. Ces définitions ont pour effet
-que le bord de gauche de l'étiquette coïncide avec la marge dee gauche
+que le bord de gauche de l'étiquette coïncide avec la marge de gauche
de l'environnement enveloppant.
r@item \leftmargin
+@anchor{list leftmargin}
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.
@@ -4908,7 +5436,7 @@ point sont : @code{4pt plus2pt minus1pt}, @code{2pt plus1pt minus1pt},
and @code{0pt}. La valeurs par défaut à la taille de 11 point sont :
@code{4.5pt plus2pt minus1pt}, @code{2pt plus1pt minus1pt}, et
@code{0pt}. La valeurs par défaut à la taille de 12 point sont :
-@code{5pt plus2.5pt minus1pt}, @code{2.5pt plus1pt minus1pt}, and
+@code{5pt plus2.5pt minus1pt}, @code{2.5pt plus1pt minus1pt}, et
@code{0pt}.
@item \partopsep
@@ -4999,31 +5527,36 @@ d'une ligne à blanc au dessous de l'environnement est sans effet.)
@end table
-The list's left and right margins, shown above as @var{h3} and @var{h5},
-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 @code{\linewidth} (@pxref{Page
-layout parameters}). 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
+Les marges de gauche et de droite de la liste, affichées ci-dessus comme
+@var{h3} et @var{h5}, sont exprimées relativement à celles fournies par
+l'environnement englobant, ou par rapport aux marges de la page pour une
+liste au niveau le plus externe. La largeur de ligne utilisée pour la
+composition des articles de la liste est @code{\linewidth} (@pxref{Page
+layout parameters}). Par exemple, réglez la marge de gauche de la liste
+à un quart de la distance entre les marges de gauche et de droite de
+l'environnement englobant avec
@code{\setlength@{\leftmargin@}@{0.25\linewidth@}}.
-Page breaking in a list structure is controlled by the three
-parameters below. For each, the @LaTeX{} default is
-@code{-\@@lowpenalty}, that is, @code{-51}. Because it is negative,
-it somewhat encourages a page break at each spot. Change it with,
-e.g., @code{\@@beginparpenalty=9999}; a value of 10000 prohibits a
-page break.
+Les sauts de page au sein d'une structure de liste sont contrôlés par
+les paramètres ci-dessous. Pour chacun d'eu, la valeur par défaut de
+@LaTeX{} est @code{-\@@lowpenalty}, c-à-d.@: @code{-51}. Comme c'est
+négatif, cela encourage d'une certaine façon un saut de page à tout
+endroit. On peut changer cela avec un réglage de, par ex.,
+@code{\@@beginparpenalty=9999} ; une valeur de 10000 interdit une saut
+de page.
@ftable @code
@item \@@beginparpenalty
-The page breaking penalty for breaking before the list (default @code{-51}).
+La pénalité de saut de page pour un saut avanrt la liste (par défaut
+@code{-51}).
@item \@@itempenalty
-The page breaking penalty for breaking before a list item (default @code{-51}).
+La pénalité pour un saut de page avant un article de liste (par défaut
+@code{-51}).
@item \@@endparpenalty
-The page breaking penalty for breaking after a list (default @code{-51}).
+La pénalité pour un saut de page après une liste (par défaut
+@code{-51}).
@end ftable
@@ -5032,7 +5565,7 @@ Le paquetage @code{enumitem} est utile pour personaliser les
listes.
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
+numérotées, et le bord gauche des étiquettes est aligné avec le bord
gauche du texte des articles. @xref{\usecounter}.
@example
@@ -5046,15 +5579,15 @@ gauche du texte des articles. @xref{\usecounter}.
\setlength@{\labelwidth@}@{0em@}
\setlength@{\labelsep@}@{0.5em@}
\setlength@{\leftmargin@}@{1.5em@}
- \setlength@{\itemindent@}@{0.5em@} % equals \labelwidth+\labelsep
+ \setlength@{\itemindent@}@{0.5em@} % vaut \labelwidth+\labelsep
\let\makelabel=\makeredlabel
@}
@}
-@{\end@{list@} @}
+@{\end@{list@}@}
@end example
@menu
-* \item:: Une entrée dans une liste.
+* \item:: Un article dans une liste.
* trivlist:: Une forme restreinte de @code{list}.
@end menu
@@ -5192,14 +5725,15 @@ Place @var{matière} dans une boîte qui est @var{largeur} 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 @code{minipage}
+boîte ne peut pas être coupée sur plusieurs pages. Ainsi @code{minipage}
est similaire à la commande @code{\parbox} (@pxref{\parbox}), mais
contrairement à @code{\parbox}, d'autres environnements de production de
-paragraphe peuvent être utilisés au sein d'une minipage. This example
-will be 3@tie{}inches wide, and has two paragraphs.
+paragraphe peuvent être utilisés au sein d'une minipage.
+
+Cet exemple fait 7,5cm de large, et comprend deux paragraphes.
@example
-\begin@{minipage@}@{3in@}
+\begin@{minipage@}@{7.5cm@}
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é,
@@ -5334,7 +5868,7 @@ de la table, et non en bas de la page.
@end example
Si vous imbriquez des minipages, alors il y a une bizarrerie dans
-l'utilisation des note @code{\footnote}. Les notes apparaissement au bas
+l'utilisation des notes @code{\footnote}. Les notes apparaissement au bas
du texte terminé par la prochaine @code{\end@{minipage@}} ce qui n'est
peut-être pas leur place logique.
@@ -5344,7 +5878,7 @@ graphique. Ils sont verticalement centrés.
@PkgIndex{siunitx}
@example
% siunitx permet d'avoir le type de colonne S dans les tableaux, pour l'alignement
-% et le séparateur décimal
+% sur le séparateur décimal, réglé comme virgule.
\usepackage[output-decimal-marker=@{,@}]@{siunitx@}
\newcommand*@{\vcenteredhbox@}[1]@{\begin@{tabular@}@{@@@{@}c@@@{@}@}#1\end@{tabular@}@}
...
@@ -5353,7 +5887,10 @@ graphique. Ils sont verticalement centrés.
\hspace@{0.1\textwidth@}
\begin@{minipage@}@{0.5\textwidth@}
\begin@{tabular@}@{r|S@}
- \multicolumn@{1@}@{r@}@{Quartier@} &Pop. (million) \\ \hline
+ % \multicolumn pour supprimer la barre verticale entre les titres de colonnes
+ \multicolumn@{1@}@{r@}@{Quartier@} &
+ % les accolades empèchent siunitx de voir le point comme un séparateur décimal
+ @{Pop. (million)@} \\ \hline
The Bronx &1.5 \\
Brooklyn &2.6 \\
Manhattan &1.6 \\
@@ -5374,7 +5911,7 @@ Synopsis :
@example
\begin@{picture@}(@var{largeur},@var{hauteur})
-@dots{} @var{commandes picture} @dots{}
+ @var{commande picture}
\end@{picture@}
@end example
@@ -5383,228 +5920,338 @@ ou
@example
\begin@{picture@}(@var{largeur},@var{hauteur})(@var{décalagex},@var{décalagey})
-@dots{} @var{commandes picture} @dots{}
+ @var{commande picture}
\end@{picture@}
@end example
+@noindent
+où on a autant de @var{commande picture}(s) qu'on le désire.
-@findex \unitlength
L'environnement @code{picture} 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.
+utilisent typiquement des systèmes de création de graphiques bien plus
+puissants tels que TikZ, PStricks, MetaPost, ou Asymptote. Aucun de
+ceux-ci n'est couvert dans ce document ; voir le CTAN.
-@c xxx Revoir la trad.
-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 @code{5}, @code{0.3} ou @code{-3.1416}. Une coordonnées
-spécifie une longueur en multiples de l'unité de longueur
-@code{\unitlength}, ainsi si @code{\unitlength} a été réglée à
-@code{1cm}, alors la coordonnée 2.54 spécifie une longueur de 2,54
-centimètres.
-
-Vous devriez changer la valeur de @code{\unitlength}, en utilisant la
-commande @code{\setlength}, en dehors d'un environnement
-@code{picture}. La valeur par défaut est @code{1pt}.
+Pour commencer, voici un exemple illustant la méthode du parallélogramme
+pour additionner deux vecteurs.
-@PkgIndex{picture}
-Le paquetage @code{picture} redéfinit l'environnement @code{picture} de
-sorte qu'où que soit utilisé un nombre au sein de @var{commandes picture}
-pour spécifier une coordonnée, on puisse alternativement utiliser une
-longueur. Notez bien cependant que ceci empèche de dilater/contracter
-ces longueurs en changeant @code{\unitlength}.
-
-@cindex position, dans un dessin @code{picture}
-Une @dfn{position} est une paire de coordonnées, telle que
-@code{(2.4,-5)}, ce qui spécifie un point d'abscisse @code{2.4} et
-d'ordonnée @code{-5}. Les coordonnées sont spécifiées de la manière
-habituelle relativement à une origine, qui est normalement dans le coin
-inférieur gauche du dessin. Notez que lorsque une position apparaît en
-argument, elle n'est pas entourée d'accolades ; on délimite l'argument
-avec des parenthèses.
+@findex \unitlength
+@example
+\setlength@{\unitlength@}@{1cm@}
+\begin@{picture@}(6,6) % la boîte de l'image fera 6cm de large sur 6cm de haut
+ \put(0,0)@{\vector(2,1)@{4@}@} % la pente du vecteur est de 1/2
+ \put(2,1)@{\makebox(0,0)[l]@{\ premier terme@}@}
+ \put(4,2)@{\vector(1,2)@{2@}@}
+ \put(5,4)@{\makebox(0,0)[l]@{\ second terme@}@}
+ \put(0,0)@{\vector(1,1)@{6@}@}
+ \put(3,3)@{\makebox(0,0)[r]@{somme\ @}@}
+\end@{picture@}
+@end example
L'environnement @code{picture} a un argument obligatoire qui est une
-position (@var{largeur},@var{hauteur}) qui spécifie la taille du dessin.
-L'environnement produit une boîte rectangulaire dont les dimensions sont
-cette @var{largeur} et cette @var{hauteur}.
-
-L'environnement @code{picture} a aussi un argument optionnel de position
-(@var{décalagex},@var{décalagey}), qui suit l'argument de taille, et qui
-peut changer l'origine. (Contrairement aux arguments optionnels
-ordinaire, cet argument n'est pas contenu entre crochets.) L'argument
-optionnel donne les coordonnées du point dans le coin inférieur gauche
-du dessin (par là même déterminant l'origine). Par exemple, si
-@code{\unitlength} a été réglée à @code{1mm}, la commande
+pair de nombres réels positifs (@var{largeur},@var{hauteur}). Le point
+est utilisée comme séparateur décimal quand il ne sont pas entiers. En
+les multipliant par @code{\unitlength} on obtient la taille nominale de
+la sortie, c-à-d.@: l'espace que @LaTeX{} reserve sur la page en
+sortie. Cette taille nominale n'est pas nécessairement la taille réelle
+de l'image ; @LaTeX{} dessine aussi les parties de l'image en dehors de
+la boîte de l'image.
+
+L'environnement @code{picture} a aussi un argument optionnel
+(@var{décalagex},@var{décalagey}). Il sert à décaler l'origine.
+Contrairement aux arguments optionnels ordinaire, cet argument n'est pas
+contenu entre crochets. Comme pour l'argument obligatoire, c'est une
+paire de deux nombres. En les multipliant par @code{\unitlength} on
+obtient les coordonnées du point dans le coin inférieur gauche de l'image.
+
+Par exemple, si @code{\unitlength} a été réglée à @code{1mm}, la
+commande
@example
\begin@{picture@}(100,200)(10,20)
@end example
@noindent produit un dessin de largeur 100 millimetres et hauteur 200
-millimetres, done le coin inférieur gauche est le (10,20) et dont le
-coin supérieur doint est donc le point (110,220). Lorsque vous dessin
-la première fois un dessin, typiquement vous omettez l'argument
+millimetres. Son origine est le point (10mm,20mm) et donc le coin
+inférieur gauche est là, et le coin supérieur droit est à (110mm,220mm).
+Lorsque vous tracez un dessin, typiquement vous omettez l'argument
optionnel, laissant l'origine au coin inférieur gauche. Si ensuite vous
voulez modifier le dessin en translatant tout, vous pouvez juste ajouter
l'argument optionnel approprié.
-L'argument obligatoire de l'environnement détermine la taille nominale
-du dessin. Il n'est pas nécessaire que cela soit en relation à la taille
-réèlle du dessin ; @LaTeX{} vous laissera sans broncher mettre des chose
-en dehors de la boîte définie par la taille du dessin, et même en dehors
-de la page. La taille nominale du dessin est utilisée par @LaTeX{} pour
-la détermination de la quantité de place à prévoir pour lui.
+@cindex position dans picture
+Chaque @var{commande picture} dit à @LaTeX{} où placer quelque chose en
+donnant sa position. Une @dfn{position} est une paire telle que
+@code{(2.4,-5)} donnant les coordonnées en x et en y. Une
+@dfn{coordonnée} n'est pas une longueur, c'est un nombre réel (il
+utilise le point @samp{.} comme séparateur décimal et peut avoir un
+signe moins). Elle spécifie une longueur en terme de la longueur unité
+@code{\unitlength}, de sorte que si @code{\unitlength} a été réglée à
+@code{1cm}, alors la coordonnées @samp{2.54} spécifie une longueur de
+2,54 centimètres.
+
+La valeur par défaut de @LaTeX{} pour @code{\unitlength} est
+@code{1pt}. C'est une longueur rigide (@pxref{Lengths}). Utilisez la
+commande @code{\setlength} pour la modifier
+(@pxref{\setlength}). Effectuez ce changement uniquement en dehors de
+l'environnement @code{picture}.
+
+L'environnement @code{picture} prend en charge les expressions
+arithmétiques standardes en plus des nombres.
+
+Les coordonnées sont données relarivement à une origine, qui est par
+défaut au coin en bas à gauche de l'image. Notez que lorsque une
+position apparaît en tant qu'argument, comme dans
+@code{\put(1,2)@{...@}}, elle n'est pas entourées d'accolades puisque
+les parenthèses servent à délimiter l'argument. De même, contrairement à
+certain système de dessin par ordinateur, l'axe des ordonnées y est
+orienté vers le haut de la page, c-à-d.@: que @math{y = 1} est
+@emph{au-dessus} de @math{y = 0}.
+
+Il y a quatre manières de placer des chose dans une image : @code{\put},
+@code{\multiput}, @code{\qbezier}, et @code{\graphpaper}. La plus
+utilisée est @code{\put}. Le code suivant
-Tout ce qui apparaît dans un dessin @code{picture} est dessiné par la
-commande @code{\put}. La commande
@example
\put (11.3,-.3)@{...@}
@end example
-@noindent met l'objet spécifié par @code{...} dans le dessin @code{picture}, avec sont
+@noindent met l'objet spécifié par @code{...} dans le dessin @code{picture}, avec son
point de référence aux coordonnées @math{(11.3,-.3)}. Les points de
référence des divers objets sont décrits plus bas.
@findex lR box
La commande @code{\put} crée une @dfn{LR box}. Vous pouvez mettre tout
-ce qui peut aller dans une @code{\mbox} (@pxref{\mbox}) dans l'argument
+ce qui peut aller dans une @code{\mbox} (@pxref{\mbox & \makebox}) dans l'argument
texte de la commande @code{\put}. Quand vous faites cela, le point de
-référence devient le coin inférieur gauche de la boîte .
+référence devient le coin inférieur gauche de la boîte. Dans cette image :
-Les commandes @code{picture} sont décrites dans les rubriques suivantes.
+@example
+\setlength@{\unitlength@}@{1cm@}
+...\begin@{picture@}(1,1)
+ \put(0,0)@{\line(1,0)@{1@}@}
+ \put(0,0)@{\line(1,1)@{1@}@}
+\end@{picture@}
+@end example
+
+@noindent
+les trois sont juste légèrement à la gauche du point où forment un angle
+les deux lignes. (À noter aussi que @code{\line(1,1)@{1@}} ne demande
+pas une ligne de longueur un, mais une ligne dont l'étendu selon la
+coordonnée x est de 1).
+
+Les cmmandes @code{\multiput}, @code{qbezier}, et @code{graphpaper} sont
+décrite plus bas.
+
+Vous pouvez également utiliser cet envionnement pour placer une matière
+quelconque à un emplacement exact. Par exemple :
+
+@example
+\usepackage@{color,graphicx@} % dans le préambule
+ ...
+\begin@{center@}
+\setlength@{\unitlength@}@{\textwidth@}
+\begin@{picture@}(1,1) % reserve un espace large et haut de \textwidth
+ \put(0,0)@{\includegraphics[width=\textwidth]@{desertedisland.jpg@}@}
+ \put(0.25,0.35)@{\textcolor@{red@}@{X Trésor ici@}@}
+\end@{picture@}
+\end@{center@}
+@end example
+
+@noindent
+Le X rouge sera précisément à un quart de @code{\textwidth} à droite de
+la marge de gauche, et @code{0.35\textwidth} au dessus du bas de
+l'image. Un autre exemple de cet utilisation est de placer un code
+similaire dans l'en-tête de page pour obtenir une matière répétée sur
+chaque page.
@menu
+* \put:: Place un objet à un endroit spécifié.
+* \multiput:: Dessine plusieurs instances d'un objet.
+* \qbezier:: Dessine un courbe de Bézier quadratique.
+* \graphpaper:: Dessine un quadrillage.
* \circle:: Dessine un cercle.
-* \makebox (picture):: Dessine une boîte de la taille spécifiée.
-* \framebox (picture):: Dessine une boîte avec un cadre autour.
-* \dashbox:: Dessine une boîte en tireté.
-* \frame:: Dessine un cadre autour d'un objet.
* \line:: Dessine une ligne droite.
* \linethickness:: Règle l'épaisseur de ligne.
* \thicklines:: Une plus grosse épaisseur de ligne.
* \thinlines:: L'épaisseur de ligne par défaut.
-* \multiput:: Dessine plusieurs instances d'un objet.
* \oval:: Dessine une ellipse.
-* \put:: Place un objet à un endroit spécifié.
* \shortstack:: Empile plusieurs objets.
* \vector:: Dessine une ligne flèchée.
+* \makebox (picture):: Dessine une boîte de la taille spécifiée.
+* \framebox (picture):: Dessine une boîte avec un cadre autour.
+* \frame:: Dessine un cadre autour d'un objet.
+* \dashbox:: Dessine une boîte en tireté.
@end menu
+@ignore
+@findex \unitlength
+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 @code{5}, @code{0.3} ou @code{-3.1416}. Une coordonnées
+spécifie une longueur en multiples de l'unité de longueur
+@code{\unitlength}, ainsi si @code{\unitlength} a été réglée à
+@code{1cm}, alors la coordonnée 2.54 spécifie une longueur de 2,54
+centimètres.
-@node \circle
-@subsection @code{\circle}
-@findex \circle
+Vous devriez changer la valeur de @code{\unitlength}, en utilisant la
+commande @code{\setlength}, en dehors d'un environnement
+@code{picture}. La valeur par défaut est @code{1pt}.
-Synopsis :
-@example
-\circle@{@var{diamètre}@}
-\circle*@{@var{diamètre}@}
-@end example
+@PkgIndex{picture}
+Le paquetage @code{picture} redéfinit l'environnement @code{picture} de
+sorte qu'où que soit utilisé un nombre au sein de @var{commandes picture}
+pour spécifier une coordonnée, on puisse alternativement utiliser une
+longueur. Notez bien cependant que ceci empèche de dilater/contracter
+ces longueurs en changeant @code{\unitlength}.
-La commande @code{\circle} produit un cercle dont le diamètre est le
-plus proche possible de celui spécifié. La forme étoilée (en @code{*})
-de la commande dessine un disque, c.-à-d.@: un cercle plein.
+@cindex position, dans un dessin @code{picture}
+Une @dfn{position} est une paire de coordonnées, telle que
+@code{(2.4,-5)}, ce qui spécifie un point d'abscisse @code{2.4} et
+d'ordonnée @code{-5}. Les coordonnées sont spécifiées de la manière
+habituelle relativement à une origine, qui est normalement dans le coin
+inférieur gauche du dessin. Notez que lorsque une position apparaît en
+argument, elle n'est pas entourée d'accolades ; on délimite l'argument
+avec des parenthèses.
-Des cercles jusqu'à 40@dmn{pt} peuvent être dessinés.
+@end ignore
+@node \put
+@subsection @code{\put}
+@findex \put
-@node \makebox (picture)
-@subsection @code{\makebox}
-@findex \makebox (@code{picture})
+@code{\put(@var{xcoord},@var{ycoord})@{ ... @}}
+
+La commande @code{\put} place l'article spécifié par l'argument
+obligatoire aux coordonnées @var{xcoord} et @var{ycoord} fournies.
+
+
+@node \multiput
+@subsection @code{\multiput}
+@findex \multiput
Synopsis :
@example
-\makebox(@var{largeur},@var{hauteur})[@var{position}]@{@var{texte}@}
+\multiput(@var{x},@var{y})(@var{delta_x},@var{delta_y})@{@var{n}@}@{@var{obj}@}
@end example
-La commande @code{\makebox} pour l'environnement @code{picture} est
-similaire à la commande normale @code{\makebox} à ceci près que vous
-devez spécifier une @var{largeur} et une @var{hauteur} implicitement
-multipliés par @code{\unitlength}.
+La commande @code{\multiput} copie l'objet @var{obj} en un motif
+régulier à travers la figure. @var{obj} est placé en premier à la
+position @math{(x,y)}, puis à la position @math{(x+\delta x,y+\delta
+y)}, et ainsi de suite, @var{n} fois.
-L'argument optionnel, @code{[@var{position}]}, spécifie le quadrant dans
-lequel votre @var{texte} apparaît. Vous pouvez sélectionner jusqu'à deux
-spécificateurs parmi les suivants :
+@node \qbezier
+@subsection @code{\qbezier}
-@table @code
-@item t
-Place l'article au sommet du rectangle.
+@findex \qbezier
-@item b
-Place l'article en bas du rectangle.
+Synopsis :
-@item l
-Place l'article sur la gauche.
+@example
+\qbezier(@var{x1},@var{y1})(@var{x2},@var{y2})(@var{x3},@var{y3})
+\qbezier[@var{quant}](@var{x1},@var{y1})(@var{x2},@var{y2})(@var{x3},@var{y3})
+@end example
-@item r
-Place l'article sur la droite.
+Dessing une courbe de Bézier quadratique dont les points de contrôle
+sont donnés par les trois arguments obligatoire
+@code{(@var{x1},@var{y1})}, @code{(@var{x2},@var{y2})}, et
+@code{(@var{x3},@var{y3})}. C-à-d.@: que la courbe va de @var{(x1,y1)}
+à @var{(x3,y3)}, est quadratique, et est telle que la tangente en
+@var{(x1,y1)} passe par @var{(x2,y2)}, et de même pour la tangente en
+@var{(x3,y3)}.
-@end table
+L'exemple suivant dessine une courbre des coordonnées (1,1) à (1,0).
-@xref{\makebox}.
+@example
+\qbezier(1,1)(1.25,0.75)(1,0)
+@end example
+@noindent
+La tangente de la coubre en (1,1) passe par (1.25,0.75), et la tangent
+en (1,0) fait de même.
+
+L'argument optionnel @var{quant} donne le nombre de points
+intermédiaires calculés. Par défaut une courbe liste est dessinée dont
+le nombre maximum de points est @code{\qbeziermax} (on change cette
+valeur avec @code{\renewcommand}).
+
+L'exempel suivante dessine un rectangle avec un haut ondulé, en
+utilisant @code{\qbezier} pour cette courbe.
+
+@example
+\begin@{picture@}(8,4)
+ \put(0,0)@{\vector(1,0)@{8@}@} % axe des x
+ \put(0,0)@{\vector(0,1)@{4@}@} % axe des y
+ \put(2,0)@{\line(0,1)@{3@}@} % côté gauche
+ \put(4,0)@{\line(0,1)@{3.5@}@} % côté droit
+ \qbezier(2,3)(2.5,2.9)(3,3.25)
+ \qbezier(3,3.25)(3.5,3.6)(4,3.5)
+ \thicklines % ci-dessous, les lignes sont deux fois plus épaisses
+ \put(2,3)@{\line(4,1)@{2@}@}
+ \put(4.5,2.5)@{\framebox@{Trapezoidal Rule@}@}
+\end@{picture@}
+@end example
-@node \framebox (picture)
-@subsection @code{\framebox}
-@findex \framebox
+@node \graphpaper
+@subsection @code{\graphpaper}
+@findex \graphpaper
Synopsis :
@example
-\framebox(@var{largeur},@var{hauteur})[@var{pos}]@{...@}
+\graphpaper(@var{x_init},@var{y_init})(@var{x_dimen},@var{y_dimen})
+\graphpaper[@var{espacement}](@var{x_init},@var{y_init})(@var{x_dimen},@var{y_dimen})
@end example
-La commande @code{\framebox} est similaire à @code{\makebox} (voir
-section précédent), à ceci près qu'elle met un cadre autour de
-l'extérieur du contenu de la boîte qu'elle créée.
+@PkgIndex{graphpap}
+Dessine un quadrillage. Le paquetage @file{graphpap} est nécessaire.
+L'origine du quadrillage est @code{(@var{x_init},@var{y_init})}.
+Les lignes de la grille sont espacées de @var{espacement} unités (par défaut 10).
+Le quadrillage s'étend sur @var{x_dimen} unités vers la droite et @var{y_dimen} vers le haut.
+Tous les arguments doivent être des entiers positifs.
-@findex \fboxrule
-@findex \fboxsep
-La commande @code{\framebox} produit un filet d'épaisseur
-@code{\fboxrule}, et laisse un espace @code{\fboxsep} entre le filet et
-le contenu de la boîte.
+L'exemple ci-dessous fait une grille avec sept lignes verticales et onze
+horizontales.
+@example
+\usepackage@{graphpap@} % dans le préambule
+ ...
+\begin@{picture@}(6,20) % dans le corps du document
+ \graphpaper[2](0,0)(12,20)
+\end@{picture@}
+@end example
-@node \dashbox
-@subsection @code{\dashbox}
+@noindent
+Les lignes sont numérotées toutes les dix unités.
-@findex \dashbox
-Dessine une boîte avec une ligne en tireté. Synopsis :
+@node \circle
+@subsection @code{\circle}
+@findex \circle
+Synopsis :
@example
-\dashbox@{@var{tlong}@}(@var{rlargeur},@var{rhauteur})[@var{pos}]@{@var{texte}@}
+\circle@{@var{diamètre}@}
+\circle*@{@var{diamètre}@}
@end example
-@code{\dashbox} crée un rectangle en tireté autour de @var{texte} au
-sein d'un environnement @code{picture}. Les tirets sont long de
-@var{tlong} unités, et le rectangle a pour largeur totale @var{rlargeur}
-et hauteur totale @var{rhauteur}. Le @var{texte} est positionné par l'argument
-optionnel @var{pos}. @c xxref positions.
-
-Une boîte en tireté a meilleure allure quand les paramètres
-@var{rlargeur} et @var{rhauteur} sont des multiple de @var{tlong}.
-
-
-@node \frame
-@subsection @code{\frame}
-@findex \frame
+La commande @code{\circle} produit un cercle dont le diamètre est le
+plus proche possible de celui spécifié. La forme étoilée (en @code{*})
+de la commande dessine un disque, c.-à-d.@: un cercle plein.
-Synopsis :
+L'exemple suivant trace un cerrcle de rayon 6, centré en @code{(5,7)}.
@example
-\frame@{@var{texte}@}
+\put(5,7)@{\circle@{6@}@}
@end example
-La commande @code{\frame} met un cadre rectangulaire autour de
-@var{texte}. Le point de référence est le coin en bas à gauche du
-cadre. Aucun espace supplémentaire n'est mis entre le cadre et l'objet
-@var{texte}.
-
+Les rayons disponible pour @code{circle} sont, en points, les nombres
+pair de 2 à 20 inclus. Pour @code{\circle*} ce sont tous les entiers de
+1 à 15.
@node \line
@subsection @code{\line}
@@ -5619,8 +6266,8 @@ Synopsis :
Dessine une ligne. Sa pente est telle que la ligne monte de @var{ypente}
verticalement pour toute avancée horizontale de
@var{xpente}. L'@var{excursion} est le déplacement horizontal total ---
-ce n'est pas la longueur du vecteur, mais la variation en @math{x}. Da,s
-me cas spécial des ligne vertical, où (@var{xpente},@var{ypente})=(0,1),
+ce n'est pas la longueur du vecteur, mais la variation en @math{x}. Dans
+le cas spécial des lignes verticales, où (@var{xpente},@var{ypente})=(0,1),
l'@var{excursion} donne le déplacement en @math{y}.
L'exemple suivant dessine une ligne commençant aux coordonnées (1,3).
@@ -5671,6 +6318,7 @@ formes dans un système tel que @code{picture}, voir le paquetage
est d'utiliser un système graphique complet tel que TikZ, PSTricks,
MetaPost, ou Asymptote.
+
@node \linethickness
@subsection @code{\linethickness}
@findex \linethickness
@@ -5702,21 +6350,6 @@ les lignes horizontales et verticales dans un environnement picture ;
cf. @ref{\linethickness} et @ref{\thicklines}.
-@node \multiput
-@subsection @code{\multiput}
-@findex \multiput
-
-Synopsis :
-@example
-\multiput(@var{x},@var{y})(@var{delta_x},@var{delta_y})@{@var{n}@}@{@var{obj}@}
-@end example
-
-La commande @code{\multiput} copie l'objet @var{obj} en un motif
-régulier à travers la figure. @var{obj} est placé en premier à la
-position @math{(x,y)}, puis à la position @math{(x+\delta x,y+\delta
-y)}, et ainsi de suite, @var{n} fois.
-
-
@node \oval
@subsection @code{\oval}
@findex \oval
@@ -5750,15 +6383,6 @@ rayon maximal de 20@dmn{pt}, ainsi les « ovales » de grande taille
ressembleront plus à des boîtes aux coins arrondis.
-@node \put
-@subsection @code{\put}
-@findex \put
-
-@code{\put(@var{xcoord},@var{ycoord})@{ ... @}}
-
-La commande @code{\put} place l'article spécifié par l'argument
-obligatoire aux coordonnées @var{xcoord} et @var{ycoord} fournies.
-
@node \shortstack
@subsection @code{\shortstack}
@findex \shortstack
@@ -5800,6 +6424,98 @@ La commande @code{\vector} dessine une ligne fléchée de la
spécifiées. Les valeurs de @math{@var{xpente}} et @math{@var{ypente}}
doivent être comprises entre @minus{}4 and +4 y compris.
+@node \makebox (picture)
+@subsection @code{\makebox}
+@findex \makebox (@code{picture})
+
+Synopsis :
+@example
+\makebox(@var{largeur},@var{hauteur})[@var{position}]@{@var{texte}@}
+@end example
+
+La commande @code{\makebox} pour l'environnement @code{picture} est
+similaire à la commande normale @code{\makebox} à ceci près que vous
+devez spécifier une @var{largeur} et une @var{hauteur} implicitement
+multipliés par @code{\unitlength}.
+
+L'argument optionnel, @code{[@var{position}]}, spécifie le quadrant dans
+lequel votre @var{texte} apparaît. Vous pouvez sélectionner jusqu'à deux
+spécificateurs parmi les suivants :
+
+@table @code
+@item t
+Place l'article au sommet du rectangle.
+
+@item b
+Place l'article en bas du rectangle.
+
+@item l
+Place l'article sur la gauche.
+
+@item r
+Place l'article sur la droite.
+
+@end table
+
+@xref{\mbox & \makebox}.
+
+
+@node \framebox (picture)
+@subsection @code{\framebox}
+@findex \framebox
+
+Synopsis :
+
+@example
+\framebox(@var{largeur},@var{hauteur})[@var{pos}]@{...@}
+@end example
+
+La commande @code{\framebox} est similaire à @code{\makebox} (voir
+section précédent), à ceci près qu'elle met un cadre autour de
+l'extérieur du contenu de la boîte qu'elle créée.
+
+@findex \fboxrule
+@findex \fboxsep
+La commande @code{\framebox} produit un filet d'épaisseur
+@code{\fboxrule}, et laisse un espace @code{\fboxsep} entre le filet et
+le contenu de la boîte.
+
+
+@node \frame
+@subsection @code{\frame}
+@findex \frame
+
+Synopsis :
+
+@example
+\frame@{@var{texte}@}
+@end example
+
+La commande @code{\frame} met un cadre rectangulaire autour de
+@var{texte}. Le point de référence est le coin en bas à gauche du
+cadre. Aucun espace supplémentaire n'est mis entre le cadre et l'objet
+@var{texte}.
+
+
+@node \dashbox
+@subsection @code{\dashbox}
+
+@findex \dashbox
+
+Dessine une boîte avec une ligne en tireté. Synopsis :
+
+@example
+\dashbox@{@var{tlong}@}(@var{rlargeur},@var{rhauteur})[@var{pos}]@{@var{texte}@}
+@end example
+
+@code{\dashbox} crée un rectangle en tireté autour de @var{texte} au
+sein d'un environnement @code{picture}. Les tirets sont long de
+@var{tlong} unités, et le rectangle a pour largeur totale @var{rlargeur}
+et hauteur totale @var{rhauteur}. Le @var{texte} est positionné par l'argument
+optionnel @var{pos}. @c xxref positions.
+
+Une boîte en tireté a meilleure allure quand les paramètres
+@var{rlargeur} et @var{rhauteur} sont des multiple de @var{tlong}.
@node quotation & quote
@section @code{quotation} et @code{quote}
@@ -5817,7 +6533,7 @@ Synopsis :
@example
\begin@{quotation@}
-@var{texte}
+ @var{texte}
\end@{quotation@}
@end example
@@ -5825,7 +6541,7 @@ ou
@example
\begin@{quote@}
-@var{texte}
+ @var{texte}
\end@{quote@}
@end example
@@ -5848,10 +6564,10 @@ renfoncement plutôt que par une séparation verticale. De plus,
citations courtes.
@example
-\begin@{quotation@}
-\it Il y a quatre-vingt sept ans
+\begin@{quotation@} \small\it
+ Il y a quatre-vingt sept ans
... ne disparaîtra jamais de la surface de la terre.
-\hspace@{1em plus 1fill@}---Abraham Lincoln
+ \hspace@{1em plus 1fill@}--- Abraham Lincoln
\end@{quotation@}
@end example
@@ -5867,8 +6583,8 @@ Synopsis :
@example
\begin@{tabbing@}
-@var{row1col1} \= @var{row1col2} \= @var{row1col3} \= @var{row1col4} \\
-@var{row2col1} \> \> @var{row2col3} \\
+@var{lgn1col1} \= @var{lgn1col2} ... \\
+@var{lgn2col1} \> @var{lgn2col2} ... \\
...
\end@{tabbing@}
@end example
@@ -5876,28 +6592,96 @@ Synopsis :
L'environnement @code{tabbing} fournit une technique pour aligner du
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.
+ordinaire.
-Cet environnement peut être rompu entre plusieurs pages, contrairement à
-l'environnement @code{tabular}.
+@PkgIndex{algorithm2e}
+@PkgIndex{listings} @PkgIndex{minted} @PkgIndex{fancyvrb}
+@PkgIndex{longtable}
+L'environnement @code{tabbing} est peu utilisé, car en général, pour
+formatter du code informatique on utilise un environnement verbatim
+(@pxref{verbatim}). À noter également, pour mettre en vedette la
+syntaxe, les paquetages @file{algorithm2e} pour du pseudo-code, et
+@code{fancyvrb}, @code{listings} ou @code{minted} pour du vrai code.
+Et pour faire un tableau, on préfère les environnements @code{tabular}
+(@pxref{tabular}) ou @code{array} (@pxref{array}) pour un petit tableau
+qu'on met dans un flottant @code{table} (@pxref{table}) et
+l'environnement @code{longtable} fourni par le paquetage
+@file{longtable} pour un tableau pouvant être coupé sur plusieurs pages.
+
+La description suivante n'est donc fournie que être complet.
+
+Dans l'exemple suivant la première ligne sert à régler les taquets à des
+largeurs explicites, elle se termine par une commande @code{\kill}
+(décrite plus bas) :
+
+@example
+\begin@{tabbing@}
+\hspace@{3cm@}\=\hspace@{2.5cm@}\=\kill
+Navire \>Armement \>Année \\
+\textit@{Sophie@} \>14 \>1800 \\
+\textit@{Polychrest@} \>24 \>1803 \\
+\textit@{Lively@} \>38 \>1804 \\
+\textit@{Surprise@} \>28 \>1805 \\
+\end@{tabbing@}
+@end example
+
+@noindent
+Le résultat ressemble à cela :
+
+@quotation
+@multitable @columnfractions .2 .17 .17
+@item Navire @tab Armement @tab Année
+@item @i{Sophie} @tab 14 @tab 1800
+@item @i{Polychrest} @tab 24 @tab 1803
+@item @i{Lively} @tab 38 @tab 1804
+@item @i{Surprise} @tab 28 @tab 1805
+@end multitable
+@end quotation
+
+L'environnement @code{tabbing} se distingue de @code{tabular} notamment
+parce qu'avec @code{tabbing} l'utilisateur est obligé de régler la
+positions des taquets, et le contenu des colonnes est toujours composé
+en mode LR et s'étend sur la colonne suivante s'il est plus large que la
+colonne courante, alors qu'avec @code{tabular}, l'utilisateur peut selon
+le spécificateur de colonne, soit composer le contenu des cellules en
+mode LR et laisser @LaTeX{} déterminer la largeur de colonne
+automatiquement pour que le contenu ne sorte jamais de la colonne, soit
+fixer la largeur et composer le contenu des cellules dans une
+@code{parbox}. Une autre différence est que @code{tabular} permet de
+faire des filets, notamment de border les colonnes par des filets
+verticaux, et d'avoir un espace @code{\tabcolsep} entre le contenu et la
+bordure de colonne. Une autre distinction est que un @code{tabbing} peut
+être coupé sur plusieurs pages, alors que @code{tabular} génère une
+boîte, l'environnement @code{longtable} du paquetage @file{longtable}
+étant préféré à @code{tabbing} pour les longs tableaux.
+
+Finalement, alors que @code{tabular} peut être utilisé dans n'importe
+quel mode, @code{tabbing} ne peut être utilisé qu'en mode paragraphe, et
+il démarre un nouveau paragraphe.
+
+De plus, comme l'illustre l'exemple donné plus haut, il n'est pas
+nécessaire d'utiliser la forme étoilée de la commande @code{\hspace} au
+début d'une ligne tabulée. La marge de droite de l'environnement
+@code{tabbing} est la fin de ligne, de sorte que la largeur de
+l'environnement est @code{\linewidth}.
@cindex ligne tabulée, @r{tabbing}
L'environnement @code{tabbing} contient une suite de @dfn{lignes
tabulées}, la première ligne tabulée commence immédiatement après
@code{\begin@{tabbing@}} et chaque ligne se termine par @code{\\} ou
-@code{\kill}. Il est possible de terminer la dernière ligne juste par
-@code{\end@{tabbing@}}, ce qui est équivalent à
-@code{\\\end@{tabbing@}}.
+@code{\kill}. Il est possible d'omettre le @code{\\} pour la dernière
+ligne et de terminer juste par @code{\end@{tabbing@}}.
@cindex motif courant de taquets de tabulation, @r{tabbing}
L'environnement @code{tabbing} a un @dfn{motif courant de taquets de
-tabulation} qui est une séquence de @var{n} taquets, avec @math{@var{n} >
-0}, ce qui crée @var{n} colonnes correspondantes. Immédiatement après
-@code{\begin@{tabbing@}} on a @math{@var{n}=1}, 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.
+tabulation} qui est une séquence de @var{n} taquets, avec @math{@var{n}
+> 0}, numérotés 0, 1, etc. Ceci crée @var{n} colonnes
+correspondantes. Le taquet @Num{0} est toujours la marge de gauche
+définie par l'environnement englobant. Le taquet numéro @var{i} est
+réglé quand on lui assigne une position horizontale sur la page avec la
+commande @code{\=}. Le taquet numéro @var{i} ne peut être réglé que si
+les autres taquets 0, @dots{}, @math{@var{i}-1} ont déjà été réglés.
+
@cindex taquet courant, @r{tabbing}
L'un des taquets du motif courant ayant été réglé comme le @dfn{taquet
@@ -5909,9 +6693,16 @@ colonne courante. La composition est faite en mode LR.
@cindex taquet de début de ligne courant, @r{tabbing}
Par ailleurs l'environnement @code{tabbing} a un @dfn{taquet de début de
ligne courant}. Par défaut, immédiatement après @code{\begin@{tabbing@}}
-c'est le taquet N°0, mais cela peut être changé avec les commandes
-@code{\+} et @code{\-}. Au début de chaque ligne tabulée, le taquet
+c'est le taquet @Num{0}, et on peut le changer pour les lignes suivantes
+avec les commandes @code{\+} et @code{\-}. Au début de chaque ligne tabulée, le taquet
courant est initalement égal au taquet de début de ligne courant.
+Lorsque le motif de taquets est modifié par une commande @code{\=},
+alors le taquet de début de ligne redevient le taquet @Num{0} à partir de la
+ligne suivante, à moins qu'une commande @code{\+} le change de nouveau
+avant le changement de ligne par @code{\\} ou @code{\kill}. La commande
+@code{\pushtabs} sauvegarde non seulement les positions de taquets, mais
+aussi le taquet de début de ligne, et inversement @code{\poptabs} le
+restaure.
La marge de droite de l'environnement @code{tabbing} est la fin de
ligne, c.-à-d.@: que la largeur de l'environnement est de longueur
@@ -5919,7 +6710,7 @@ ligne, c.-à-d.@: que la largeur de l'environnement est de longueur
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).
-En ce qui concerne la marge de gauche, ou autrement dit le taquet N°0,
+En ce qui concerne la marge de gauche, ou autrement dit le taquet @Num{0},
contrairement à l'environnement @code{tabular}, il n'est pas nécessaire
de mettre un @code{\noindent} devant @code{\begin@{tabbing@}} pour
éviter un renfoncement : un environnement @code{tabbing} commence
@@ -5927,6 +6718,44 @@ toujours un nouveau paragraphe sans renfoncement. De plus il est inutile
d'étoiler une commande @code{\hspace} en début de ligne tabulée pour que
l'espace soit pris en compte.
+Normalement, au sein du motif de taquets de tabulation, l'ordre des
+taquets correspond à des positions allant de gauche à droite. Il est
+cependant possible de positionner n'importe quel taquet, hormis le
+taquet @Num{0} à n'importe quelle position en utilisant des espacements
+négatifs ou nuls. En réalité, le fait de ne pas pouvoir changer la
+position du taquet @Num{0} n'est pas restrictif, car on peut utiliser à la
+place comme taquet de début de ligne le taquet @Num{1} grâce à la commande
+@code{\+}. Ainsi dans l'exemple ci-dessous, alors qu'on a le même
+contenu de l'environnement @code{tabbing} que dans l'exemple précédent,
+la première et la troisième colonne ont été interverties en changeant
+uniquement le motif de taquets dans la première ligne se terminant en
+@code{\kill}.
+
+@example
+\begin@{tabbing@}
+\hspace@{5.5cm@}\=\hspace@{-2.5cm@}\=\hspace@{-3cm@}\=\+\kill
+Navire \>Armement \>Année \\
+\textit@{Sophie@} \>14 \>1800 \\
+\textit@{Polychrest@} \>24 \>1803 \\
+\textit@{Lively@} \>38 \>1804 \\
+\textit@{Surprise@} \>28 \>1805 \\
+\end@{tabbing@}
+@end example
+
+@noindent
+Le résultat ressemble donc à cela :
+
+@quotation
+@multitable @columnfractions .2 .17 .17
+@item Année @tab Armement @tab Navire
+@item 1800 @tab 14 @tab @i{Sophie}
+@item 1803 @tab 24 @tab @i{Polychrest}
+@item 1804 @tab 38 @tab @i{Lively}
+@item 1805 @tab 28 @tab @i{Surprise}
+@end multitable
+@end quotation
+
+
Les commandes suivantes peuvent être utilisées au sein d'un
environnement @code{tabbing} :
@@ -5937,46 +6766,49 @@ ligne tabulée commence, et donc le taquet courant redevient le taquet
courant de début de ligne.
@item \= @r{(tabbing)}
-Règle un taquet à la position courante. La @var{n}ième commande
-@code{\=} de la ligne tabulée courante définit le taquet N°@var{n}, 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
-@math{(@var{n}+1)}, c'est à dire qu'on a des taquets N°0 à N°@var{n},
-alors la @math{(@var{n}+1)}ième commande @code{\=} définit le taquet
-N°@math{@var{n}+1}, ce qui porte le nombre de taquets à
-@math{@var{n}+2}. 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°@var{n} et N°@var{m} distincts, voire de faire en sorte que
-les taquets N°@var{n} et N°@var{m}, avec @math{@var{n}<@var{m}}, soient
-à des positions telles que le taquet N°@var{m} soit avant le taquet
-N°@var{n}.
+Règle le prochain taquet à la position courante, et fait de lui le
+taquet courant. Si le taquet courant est le taquet @Num{@var{n}}, alors une
+commande @code{\=} règle la position du taquet @Num{@math{@var{n}+1}} et
+fait de lui le taquet courant. Si on avait déjà au moins
+@math{@var{n}+2} taquets, ceci redéfinit la position du taquet
+@Num{@math{@var{n}+1}}. Sinon, le nombre de taquets dans le motif courant
+était à ce moment @math{(@var{n}+1)}, c'est à dire que dernier des
+taquets en numéro d'ordre était le @Num{@var{n}}, alors la commande
+@code{\=} en définissant le taquet @Num{@math{@var{n}+1}}, porte le nombre
+de taquets de @math{@var{n}+1} à @math{@var{n}+2}.
+
+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{@var{n}} et
+@Num{@var{m}} distincts, voire de faire en sorte que les taquets @Num{@var{n}}
+et @Num{@var{m}}, avec @math{@var{n}<@var{m}}, soient à des positions telles
+que le taquet @Num{@var{m}} soit avant le taquet @Num{@var{n}}.
@item \> @r{(tabbing)}
@findex \>
Change le taquet courant au taquet suivant dans l'ordre logique,
-c.-à-d.@: si le taquet courant est le taquet N°@var{n}, alors, en
+c.-à-d.@: si le taquet courant est le taquet @Num{@var{n}}, alors, en
supposant qu'il y ait au moins @math{@var{n}+2} taquets définis, on
-passe au taquets N°@math{@var{n}+1}, sinon cette commande provoque une
+passe au taquet @Num{@math{@var{n}+1}}, sinon cette commande provoque une
erreur.
@item \<
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°@var{n} avec
+lorsque le taquet de début de ligne courant est le taquet @Num{@var{n}} avec
@math{@var{n}>0}. Le taquet courant devient alors le taquet
-N°@math{@var{n}-1}.
+@Num{@math{@var{n}-1}}.
Il est en fait possible d'avoir @var{m} commandes @code{\<} consécutives
à condition que @math{@var{m}@leq{}@var{n}}, le taquet courant devient
-alors le taquet N°@math{(@var{n}-@var{m})}. Si par contre
+alors le taquet @Num{@math{(@var{n}-@var{m})}}. Si par contre
@math{@var{m}>@var{n}}, alors la @math{@var{n}+1} commande @code{\<}
provoque une erreur.
Il est possible, même si c'est absurde, d'avoir ensuite des commandes
@code{\>} qui défont ce qu'on fait les commandes @code{\<}. 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 @code{\<\<\>\>}
+courant soit le taquet @Num{2}, faire commencer la ligne par @code{\<\<\>\>}
n'a aucun effet. Par contre, @code{\<\<\<\>\>\>} provoquera une erreur,
parce que la troisième commande @code{\<} est illicite. Dans les mêmes
conditions faire @code{\<\>\<\>} provoque également une erreur, car la
@@ -5990,29 +6822,33 @@ 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 @code{\>}, c'est à dire que s'il n'y a que @math{@var{n}+1}
taquets défini, et que le taquet de début de ligne courant est le taquet
-N°@var{n}, alors cette commande provoque une erreur. La commande
+@Num{@var{n}}, alors cette commande provoque une erreur. La commande
@code{\+} peut être invoquée n'importe où dans la ligne tabulée, et on
peut avoir plusieurs commandes @code{\+} 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 @code{\+} 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 :
+1, on ne peut donc pas passer du taquet @Num{0} au taquet @Num{1} :
+
@smallexample
\begin@{tabbing@}
Vive \+\=la \=France\\
Vive \>la\>République\\
\end@{tabbing@}
@end smallexample
+
En revanche le code suivant fonctionne, car lorsque la commande
-@code{\+} 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.
+@code{\+} est passée on a trois taquets définis, les taquets @Num{0} à 2, on
+peut donc passer du taquet @Num{0} au taquet @Num{1}.
+
@smallexample
\begin@{tabbing@}
Vive \=la \=France\+\\
Vive \>la\>République\\
\end@{tabbing@}
@end smallexample
+
C'est pourquoi l'usage est que la ou les commandes @code{\+} sont
toujours invoquées juste avant la fin de ligne @code{\\} ou @code{\kill}.
@@ -6024,10 +6860,10 @@ du moment qu'aucune d'elle ne fasse passer sur un taquet non défini.
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°@var{n},
+dire que si le taquet de début de ligne courant est le taquet @Num{@var{n}},
et qu'on a @var{m} commandes @code{\-} avec @math{@var{m}@geq{}@var{n}},
alors le taquet de début de ligne courant de la ligne suivante devient
-le taquet N°@math{@var{n}-@var{m}}. Par contre, si
+le taquet @Num{@math{@var{n}-@var{m}}}. Par contre, si
@math{@var{m}>@var{n}}, alors la @math{(@var{n}+1)}ième commande
@code{\+} provoque une erreur.
@@ -6075,18 +6911,19 @@ produire une sortie. L'effet de toute commande @code{\=}, @code{\+} ou
@item \poptabs
@findex \poptabs
-Restaure les positions de taquets sauvegardés par le dernier
-@code{\pushtabs}.
+Restaure les positions de taquets et le taquet de début de ligne
+sauvegardés par le dernier @code{\pushtabs}.
@item \pushtabs
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 @code{tabbing}. Après un
-@code{\pushtabs}, 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 @code{\pushtabs} il doit y avoir une commande
-@code{\poptabs} avant la fin de l'environnement, c'est à dire que la
-pile doit être explicitement vidée avant le @code{end@{tabbing@}}.
+de tabulation ainsi que le taquet de début de ligne. C'est utile pour
+changer temporairement les positions de taquets au milieu d'un
+environnement @code{tabbing}. Après un @code{\pushtabs}, on a un nouveau
+motif vierge, c.-à-d.@: ne contenant qu'un seul taquet, le taquet @Num{0} à
+la position de début de ligne. Pour toute commande @code{\pushtabs} il
+doit y avoir une commande @code{\poptabs} avant la fin de
+l'environnement, c'est à dire que la pile doit être explicitement vidée
+avant le @code{end@{tabbing@}}.
@item \tabbingsep
@@ -6115,6 +6952,7 @@ function \= fact(n : integer) : integer;\+\\
\end@{tabbing@}@}
@end example
+@noindent
Le résultat ressemble à cela :
@example
function fact(n : integer) : integer;
@@ -6126,14 +6964,9 @@ function fact(n : integer) : integer;
end;
@end example
-@PkgIndex{algorithm2e}
-@PkgIndex{listings}
-Ceci n'était qu'un exemple illustrant @code{tabbing}, pour formatter du
-code considérez plutôt les paquetages @file{algorithm2e} pour du
-pseudo-code, et @code{listings} pour du vrai code.
-Voici un autre exemple où le taquet N°2 est entre le taquet N°0 et le
-taquet N°1 :
+Voici un autre exemple où le taquet @Num{2} est entre le taquet @Num{0} et le
+taquet @Num{1} :
@example
@{\ttfamily
@@ -6150,13 +6983,13 @@ Le résultat ressemble à cela :
1 3 2
@end example
-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
+Voici un exemple où les taquets @Num{0} et @Num{1} sont confondus, ainsi que les
+taquets @Num{2} et @Num{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 @code{_} ou
un caractère @code{@minus{}}. 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 @code{tabbing} en soi commençant
+la flexibilité des taquets, et non une méthode convenable pour souligner
+ou barrer un mot, d'une part parce que @code{tabbing} en soi commençant
un nouveau paragraphe ne permet pas d'agir sur un seul mot, et d'autre
part, parce que le paquetage @code{soul} fait cela beaucoup mieux.
@PkgIndex{soul}
@@ -6189,7 +7022,7 @@ n'est pas ici la mieux adaptée) :
@end tex
@end iftex
-Finalement, voici un exemple où on a placé le taquet N°5 décalé d'une
+Finalement, voici un exemple où on a placé le taquet @Num{5} décalé d'une
longueur @code{\tabbingsep} à droite de la marge de droite.
@example
@@ -6240,10 +7073,11 @@ Le résultat ressemble à cela :
Synopsis :
@example
- \begin@{table@}[@var{placement}]
+\begin@{table@}[@var{placement}]
@var{corps-du-tableau}
- \caption[@var{titreldt}]@{@var{titre}@}
- \end@{table@}
+ \caption[@var{titreldt}]@{@var{titre}@} % optionnel
+ \label@{@var{étiquette}@} % également opionnel
+\end@{table@}
@end example
Une classe de flottants (@pxref{Floats}). Parce qu'ils ne peuvent pas
@@ -6251,27 +7085,50 @@ Une classe de flottants (@pxref{Floats}). Parce qu'ils ne peuvent pas
séquence avec le texte normale, mais à la place sont « flottés » vers un
endroit convenable, tel que le sommet d'une page suivante.
+Dans l'exemple suivant, l'environnement @code{table} contient un @code{tabular} :
+
+@example
+\begin@{table@}
+ \centering\small
+ \begin@{tabular@}@{ll@}
+ \multicolumn@{1@}@{c@}@{\textit@{Auteur@}@}
+ &\multicolumn@{1@}@{c@}@{\textit@{Pièce@}@} \\ \hline
+ Bach &Suite Numéro 1 pour violoncelle\\
+ Beethoven &Sonate Numéro 3 pour violoncelle\\
+ Brahms &Sonate Numéro 1 pour violoncelle
+ \end@{tabular@}
+ \caption@{Meilleures pièces pour violoncelle@}
+ \label@{tab:violoncelle@}
+\end@{table@}
+@end example
+
+@noindent
+mais vous pouvez placer beaucoup de types différents de contenu au sein
+d'une @code{table} : le @var{table body} peut contenir du texte, des
+commandes @LaTeX{}, des graphiques, etc. Il est composé dans une
+@code{parbox} de largueur @code{\textwidth}.
+
Pour les valeurs possibles de @var{placement} et leur effet sur
l'algorithme de placement des flottants, voir @ref{Floats}.
-Le corps du tableau est composé dans une @code{parbox} de largueur
-@code{\textwidth} and ainsi il peut contenir du texte, des commandes,
-etc.
-
L'étiquette est optionnelle ; elle est utilisée pour les double renvois
(@pxref{Cross references}).
@findex \caption
-La commande @code{\caption} spécifie la légende @var{texte} pour la
-figure. La légende est numérotée par défaut. Si @var{titreldt} est
-présent, il est utilisé dans la liste des tableaux au lieu de @var{titre}
-(@pxref{Table of contents etc.}).
+La commande @code{\caption} est également optionnelle. Elle spécifie la
+légende @var{titre} pour la figure. La légende est numérotée par
+défaut. Si @var{titreldt} est présent, il est utilisé dans la liste des
+tableaux au lieu de @var{titre} (@pxref{Table of contents etc.}).
+
+Dans l'exemple suivant le tabeau et se légende flottent jusqu'au bas
+d'une page, à moins qu'il soit repoussé jusqu'à une page de flottants à
+la fin.
@example
\begin@{table@}[b]
\centering
\begin@{tabular@}@{r|p@{2in@}@} \hline
Un &Le plus solitaire des nombres \\
- Deux &Peut être aussi triste qu'un.
+ Deux &Peut être aussi triste que un.
C'est le nombre le plus solitaire après le nombre un.
\end@{tabular@}
\caption@{Vertus cardinales@}
@@ -6448,17 +7305,20 @@ spécificateur @code{>@{...@}}.
@item p@{@var{lrg}@}
Chaque cellule de la colonne est composée au sein d'une parbox de
-largeur @var{lrg}.
+largeur @var{lrg}, comme si c'était l'argument d'une commande
+@code{\parbox[t]@{@var{lrg}@}@{...@}}.
-Note que les sauts de ligne de type double-contr'oblique @code{\\} ne
-sont pas permis au sein d'une telle cellule, sauf à l'intérieur d'un
-environnement comme @code{minipage}, @code{array}, ou @code{tabular},
-ou à l'intérieur d'une @code{\parbox} explicite, ou dans la portée d'une
+Les sauts de ligne de type double-contr'oblique @code{\\} ne sont pas
+permis au sein d'une telle cellule, sauf à l'intérieur d'un
+environnement comme @code{minipage}, @code{array}, ou @code{tabular}, ou
+à l'intérieur d'une @code{\parbox} explicite, ou dans la portée d'une
déclaration @code{\centering}, @code{\raggedright}, ou
@code{\raggedleft} (quand elles sont utilisées au sein d'une cellule de
colonne en @code{p} ces déclarations doivent apparaître entre accolades,
comme dans @code{@{\centering .. \\ ..@}}. Sans quoi @LaTeX{} prendra la
-double contr'oblique comme une fin de ligne.
+double contr'oblique comme une fin de ligne de tableau. Au lieu de cela, pour
+obtenir un saut de ligne dans une cellule de ce type utilisez
+@code{\newline} (@pxref{\newline}).
@item *@{@var{num}@}@{@var{cols}@}
Équivalent à @var{num} copies de @var{cols}, où @var{num} est un entier
@@ -6656,7 +7516,7 @@ utilisée dans une expression @code{@@@{@dots{}@}}.
@section @code{thebibliography}
@EnvIndex{thebibliography}
-@cindex bibliography, creating (manually)
+@cindex bibliographie, créer (manuellement)
Synopsis :
@@ -6668,40 +7528,60 @@ Synopsis :
@end example
L'environnement @code{thebibliography} produit une bibliographie ou une
-liste de références.
+liste de références. Il y a deux façons de produire des listes
+bibliographiques. Cet environnement convient quand vous avez un petit
+nombre de références et pouvez maintenirla liste manuellement.
+@xref{Using BibTeX}, pour une approche plus sophistiquée.
-Dans la classe @code{article}, cette liste de références est intitulée
-@samp{Références} et ce titre est stocké dans la macro @code{\refname} ;
-dans la classe @code{report}, elle est intitulée @samp{Bibliographie} et
-ce titre est stocké dans la macro @code{\bibname}.
+L'exemple ci-dessous illustre l'environnement avec deux articles.
-Vous pouvez changer le titre en redéfinissant celle des commandes
-@code{\refname} ou @code{\bibname} qui est applicable selon la classe :
+@example
+Ce travail s'appuie sur \cite@{latexdps@}.
+Et ensemble à \cite@{latexdps, texbook@}.
+ ...
+\begin@{thebibliography@}@{9@}
+\bibitem@{latexdps@}
+ Leslie Lamport.
+ \textit@{\LaTeX@{@}: a document preparation system@}.
+ Addison-Wesley, Reading, Massachusetts, 1993.
+\bibitem@{texbook@}
+ Donald Ervin Knuth.
+ \textit@{Le Texbook : Composition informatique@}.
+ Vuibert, 1er août 2017.\end@{thebibliography@}
+@end example
+
+@noindent
+Cela formate la première référe,ce comme @samp{[1] Leslie ...}, de sorte
+que @code{... s'appuie sur \cite@{latexdps@}} produit @samp{... s'appuie
+sur [1]}. Le second @code{\cite} produit @samp{[1, 2]}. On doit
+compile le document deux fois pour que ces numéros de référence soient
+résolus.
+
+L'argument obligatoire @var{étiquette-la-plus-large} est un texte qui,
+lorsqu'il est composé, est aussi large que la plus large des étiquettes
+d'article produit pas les commandes @code{\bibitem}. Traditionnellement
+on utilise @code{9} pour des bibliographies de moins de 10 références,
+@code{99} pour celles qui en on moins de 100, etc.
-@itemize
-@item
@findex \bibname
-Pour les classes standardes dont le niveau le plus élevé de rubricage
-est @code{\chapter} le titre est dans la macro @code{\bibname}, par
-exemple les classes @file{book} et @file{report} tombent dans cette
-catégorie.
-@item
@findex \refname
-Pour les classes standardes dont le niveau le plus élevé de rubricage
-est @code{\section} le titre est dans la macro @code{\refname}, par
-exemple la classe @file{article} tombe dans cette catégorie.
-@end itemize
+La liste bibliographique a un titre de bibliographie tel que
+@samp{Bibliographie}. Pour le changer il y a deux cas. Dans les classes
+@file{book} et @file{report}, lorsque le niveau de rubricage le plus
+élevé est @code{\chapter} et le titre par défaut @samp{Bibliographie},
+ce titre est dans la macro @code{\bibname}. Pour @file{article}, lorsque
+le niveau de rubricage le plus élevé est @code{\section} et que le titre
+par défaut est @samp{Références}, le titre est stocké dans la macro
+@code{\refname}. Pour le changer redéfinissez la commande, comme dans
+@code{\renewcommand@{\refname@}@{Références citées@}}, après
+@code{\begin@{document@}}.
@PkgIndex{babel}
-Typiquement il n'est ni nécessaire ni désirable de redéfinir directement
-@code{\refname} ou @code{\bibname} ; les paquetages linguistiques comme
-@file{babel} s'en chargent.
+Les paquetages de prise en charge linguistique comme @file{babel}
+redéfinissent automatiquement @code{\refname} ou @code{\bibname} pour
+s'adapter à la langue sélectionnée.
-L'argument obligatoire @var{étiquette-la-plus-large} est un texte qui,
-lorsqu'il est composé, est aussi large que la plus large des étiquettes
-d'article produit pas les commandes @code{\bibitem}. C'est typiquement
-donné comme @code{9} pour des bibliographies de moins de 10 références,
-@code{99} pour celles qui en on moins de 100, etc.
+@xref{list}, pour les paramètres de contrôle de disposition de la liste.
@menu
* \bibitem:: Spécifier un article de bibliographie.
@@ -6717,28 +7597,77 @@ donné comme @code{9} pour des bibliographies de moins de 10 références,
@findex \bibitem
Synopsis :
+
+@example
+\bibitem@{@var{clef_de_cite}@}
+@end example
+
+@noindent
+ou :
+
@example
\bibitem[@var{étiquette}]@{@var{clef_de_cite}@}
@end example
-La commande @code{\bibitem} génère une entrée étiquetée par
-@var{étiquette}. Si l'argument @var{étiquette} est omis, un numéro est
-automatiquement généré en utilisant le compteur @code{enumi}. L'argument
+La commande @code{\bibitem} génère un article étiqueté par défaut par un
+numéro généré en utilisant le compteur @code{enumi}. L'argument
@var{clef_de_cite} est une
@cindex clef de référence bibiliographique
@cindex référence bibiliographique, clef
@dfn{clef de référence bibiliographique} consistant
-en une séquence quelconque de lettres, chiffres, et signes de
-ponctuation ne contenant aucune virgule.
+en une chaîne quelconque de lettres, chiffres, et signes de
+ponctuation (hormis la virgule).
-Cette commande écrit une entrée dans le fichier @file{.aux}, et cette
-entrée contient les @var{étiquette} et @var{clef_de_cite} de l'article
-considéré. Lorsque le fichier @file{.aux} est lu par la commande
-@code{\begin@{document@}}, l'@var{étiquette} de l'article est associée à
-sa @var{clef_de_cite}, ce qui a pour effet que toute référence à
-@var{clef_de_cite} avec une commande @code{\cite} (@pxref{\cite})
-produit l'@var{étiquette} associée.
+@xref{thebibliography}, pour un exemple.
+L'argument optionnel @var{étiquette}, lorsqu'il est présent, sert
+d'étiquette et le compteur @code{enumi} n'est pas incrémenté. Dans
+l'exemple suivant :
+
+@example
+\begin@{thebibliography@}
+\bibitem[Lamport 1993]@{latexdps@}
+ Leslie Lamport.
+ \textit@{\LaTeX@{@}: a document preparation system@}.
+ Addison-Wesley, Reading, Massachusetts, 1993.
+\bibitem@{texbook@}
+ Donald Ervin Knuth.
+ \textit@{Le Texbook : Composition informatique@}.
+ Vuibert, 1er août 2017.
+\end@{thebibliography@}
+@end example
+
+@noindent
+le premier article est formaté comme @samp{[Lamport 1993] Leslie ...}
+(la quantité d'espace horizontal que @LaTeX{} laisse pour l'étiquette
+dépend de l'argument @var{étiquette-la-plus-large} de l'environnement
+@code{thebibliography} ; voir @ref{thebibliography}).
+De même, @code{... s'appuyant sur \cite@{latexdps@}} produit
+@samp{... s'appuyant sur [Lamport 1994]}.
+
+Si vous mélangez des articles @code{\bibitem} avec et sans
+@var{étiquette}, alors @LaTeX{} numérote ceux sans séquentiellement.
+Dans l'exemple ci-dessus l'article @code{texbook} apparaît comme
+@samp{[1] Donald ...}, bien que ce soit le deuxième article.
+
+Si vous utilisez la même @var{clef_de_cite} deux fois, alors vous
+obtenez @samp{LaTeX Warning: There were multiply-defined labels}.
+
+En coulisse, @LaTeX{} se souvient de l'information @var{clef_de_cite} et
+@var{étiquette} parce que @code{\bibitem} écrit dans le fichier
+auxiliaire @file{@var{jobname}.aux} (@pxref{Jobname}). Par exemple dans
+l'exemple ci-dessus ce fichier contient
+@code{\bibcite@{latexdps@}@{Lamport, 1993@}} et
+@code{\bibcite@{texbook@}@{1@}}. Le fichier @file{.aux} est lu par la
+commande @code{\begin@{document@}} et alors l'information devient
+disponible pour les commandes @code{\cite}. Ceci explique qu'il est
+nécessaire d'exécuter @LaTeX{} deux fois pour que les références soient
+résolues : une pour l'écrire, et une pour le relire.
+
+À cause de cet algorithme en deux passes, quand vous ajourez un
+@code{\bibitem} ou changez sa @var{clef_de_cite} vous pouvez obtenir
+@samp{LaTeX Warning: Label(s) may have changed. Rerun to get
+cross-references right}. La solution est de recompiler.
@node \cite
@subsection @code{\cite}
@@ -6748,18 +7677,64 @@ produit l'@var{étiquette} associée.
Synopsis :
@example
+\cite@{@var{clefs}@}
+@end example
+
+@noindent
+ou
+
+@example
\cite[@var{subcite}]@{@var{clefs}@}
@end example
-L'argument @var{clefs} est une liste d'une ou plus de clefs de
-références bibliographiques (@pxref{\bibitem}), 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
-@var{clefs} par les entrées respectives au sein du fichier @file{.aux}.
-Le texte de l'argument optionnel @var{subcite} apparaît après
-l'étiquette de référence. Par exemple, @code{\cite[p.~314]@{knuth@}}
-pourrait produire @samp{[Knuth, p. 314]}.
+Cette commande génère en sortie une citation des références associées à
+@var{clefs}. L'argument @var{clefs} est une liste d'une ou plus de
+clefs de références bibliographiques (@pxref{\bibitem}), séparées par
+des virgules.
+
+
+L'exemple suivant :
+
+@example
+La source ultime est \cite@{texbook@}.
+ ...
+\begin@{thebibliography@}
+\bibitem@{texbook@}
+ Donald Ervin Knuth.
+ \textit@{Le Texbook : Composition informatique@}.
+ Vuibert, 1er août 2017.
+\end@{thebibliography@}
+@end example
+
+@noindent
+produit une sortie du genre @samp{... ultime est [1]}. (Vous pouvez
+changer l'apparence de la citation et de la référence en utilisant un
+style de bibliographie si vous générez automatiquement l'environnement
+@code{thebibliography}. @xref{Using BibTeX} pour plus ample
+information).
+
+L'argument optionnel @var{subcite} est joint à la citation. Par
+exemple, @code{Voir 14.3 dans \cite[p.~314]@{texbook@}} pourrait
+produire @samp{Voir 14.3 dans [1, p. 314]}.
+
+En plus de ce qui apparaît en sortie, @code{\cite} écrit de
+l'information dans le fichier auxiliaire @file{@var{jobname}.aux}
+(@pxref{Jobname}). Par exemple, @code{\cite@{latexdps@}} écrit
+@samp{\citation@{latexdps@}} dans ce fichier. Cette information est
+utilisée par Bib@TeX{} pour inclure dans vos listes de référence
+seulement les ouvrages que vous avez effectivement cités ; voir aussi
+@ref{\nocite}.
+
+Si @var{clefs} n'est pas dans votre information de bibliographie, alors
+vous obtenez @samp{LaTeX Warning: There were undefined references}, et
+en sortie la citation s'affiche comme un point d'interrogation en gras
+entre crochets. Il y a deux causes possibles. Si vous avez fait une
+faute de frappe, comme dans @code{\cite@{texbok@}} alors il n'y a qu'à
+la corriger. Si par contre vous venez juste d'ajouter ou de modifier
+l'information bibliographique de sorte que le fichier @file{.aux} est
+modifié (@pxref{\bibitem}) alors la solution est d'exécuter de nouveau
+@LaTeX{}.
@node \nocite
@@ -6772,9 +7747,15 @@ Synopsis :
@code{\nocite@{@var{clefs}@}}
@end example
-La commande @code{\nocite} ne produit aucun texte, mais écrit
-@var{clefs}, ce qui est une liste d'une ou plusieurs clefs de référence
-bibliograhique dans le fichier @file{.aux}.
+La commande @code{\nocite} ne produit aucun texte en sortie, mais écrit
+@var{clefs} dans le fichier auxiliaire @file{@var{jobname}.aux}
+(@pxref{Jobname}).
+
+L'argument obligatoire @var{clefs} est une liste d'une ou plusieurs
+clefs de référence bibliograhique (@pxref{\bibitem}). Cette information
+est utilisée par Bib@TeX{} pour inclure ces ouvrages dans votre liste de
+références même si vous ne les avez pas cités explicitement
+(@pxref{\cite}).
@node Using BibTeX
@@ -6786,30 +7767,32 @@ bibliograhique dans le fichier @file{.aux}.
@findex \bibliographystyle
@findex \bibliography
-Si vous utilisez le programme Bib@TeX{} d'Oren Patashnik (ce qui est
-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 @code{thebibliography}
+Comme déscrit dans @code{thebibliography} (@pxref{thebibliography}), une
+approche sophistiqué pour gérer les bibliographies est fournie par le
+programme Bib@TeX{}. Ceci est uniquement une introduction ; voir la
+documentation complète sur le CTAN (@pxref{CTAN}).
+
+Avec Bib@TeX{} vous n'utilisez pas @code{thebibliography}
(@pxref{thebibliography}). Au lieu de cela, vous incluez les lignes :
@example
\bibliographystyle@{@var{stylebib}@}
-\bibliography@{@var{ficbib1},@var{ficbib2}@}
+\bibliography@{@var{ficbib1},@var{ficbib2}, ...@}
@end example
-La commande @code{\bibliographystyle} ne produit aucune sortie en
-elle-même. En revanche, elle définit le style dans lequel la
-bibliographie est à produite : @var{stylebib} fait référence à un
-fichier @var{stylebib}@file{.bst} définissant l'aspect que doivent avoir
-vos référence bibliographique. Les nom @var{stylebib} standards
-distribués avec Bib@TeX{} sont :
+@noindent
+L'argument @var{stylebib} fait référence à un fichier
+@file{@var{stylebib}.bst} définissant l'aspect que doivent avoir vos
+référence bibliographique. Les noms @var{stylebib} standards distribués
+avec Bib@TeX{} sont :
@table @code
@item alpha
-Classé alphabetiquement. Les étiquettes sont formées à partir du nom de
-l'auteur et de l'année de publication.
+Les étiquettes sont formées à partir du nom de l'auteur et de l'année de
+publication. Les articles bibliographiques sont classés alphabetiquement.
@item plain
-Classé alphabetiquement. Les étiquettes sont des numéros.
+Les étiquettes sont des numéros.
+Les articles sont classés alphabétiquement.
@item unsrt
Comme @code{plain}, mais les entrées sont dans l'ordre où les références
y sont faites dans le texte.
@@ -6817,16 +7800,40 @@ y sont faites dans le texte.
Comme @code{plain}, mais les étiquettes sont plus compactes.
@end table
-De plus, de nombreux autres styles Bib@TeX{} existent faits sur mesure pour
-satisfaire les exigences de diverses publications. Voir
-@url{http://mirror.ctan.org/biblio/bibtex/contrib}.
+@noindent
+De très nombreux autres styles Bib@TeX{} existent, taillés sur mesure
+pour satisfaire les exigences de diverses publications. Voir la liste du
+CTAN @url{http://mirror.ctan.org/biblio/bibtex/contrib}.
La commande @code{\bibliography} est ce qui produit pour de bon la
bibliographie. L'argument de @code{\bibliography} fait référence aux
fichiers nommés @file{@var{ficbib1}.bib}, @file{@var{ficbib2}.bib},
-@dots{}, qui sont censés contenir votre base de donnée au format
-Bib@TeX{}. Seules les entrées désignées par les commandes @code{\cite}
-ou @code{\nocite} sont listées dans la bibliographie.
+@dots{}, qui sont censés contenir votre base de données au format
+Bib@TeX{}. L'exemple suivant illustre une paire typique d'entrées dans
+ce format.
+
+@example
+@@book@{texbook,
+ title = @{Le @{@{\TeX@}@}book~: composition informatique@},
+ author = @{D.E. Knuth@},
+ isbn = @{2-7117-4819-7@},
+ series = @{Vuibert informatique@},
+ year = @{2003@},
+ publisher = @{Vuibert@}
+@}
+@@book@{sexbook,
+ author = @{W.H. Masters and V.E. Johnson@},
+ title = @{Les r@{\'e@}action sexuelles@},
+ year = @{1976@},
+ publisher = @{Robert Laffont@}
+@}
+@end example
+
+Seules les entrées désignées par les commandes @code{\cite} ou
+@code{\nocite} sont listées dans la bibliographie du document. De la
+sorte, vous pouvez conserver toutes vos sources ensemble dans un
+fichier, ou un petit nombre de fichiers, et compter sur Bib@TeX{} pour
+inclure dans le document seulement celles que vous avez utilisées.
@node theorem
@@ -6839,14 +7846,35 @@ Synopsis :
@example
\begin@{theorem@}
-@var{texte-théorème}
+ @var{corps du théorème}
\end@{theorem@}
@end example
L'environnement @code{theorem} produit « Théorème @var{n} » en gras
-suivi de @var{texte-théorème}, où les possibilité de numérotation pour
+suivi de @var{corps du théorème}, où les possibilités de numérotation pour
@var{n} sont décrites par @code{\newtheorem} (@pxref{\newtheorem}).
+@example
+\newtheorem@{lem@}@{Lemme@} % dans le préambule
+\newtheorem@{thm@}@{Théorème@}
+ ...
+\begin@{lem@} % dans le corps du document
+ texte du lemme
+\end@{lem@}
+
+Le résultat suivant en découle immédiatement.
+\begin@{thm@}[Gauss] % place « Gauss » entre parenthèses après le titre
+ texte du théorème
+\end@{thm@}
+@end example
+
+@PkgIndex{amsmath}
+@PkgIndex{amsthm}
+La plupart des nouveaux documents utilisent les paquetages @code{amsthm}
+et @code{amsmath} de l'American Mathematical Society. Entre autres ces
+paquetages incluent un grand nombre d'options pour les environnements de
+théorèmes, telles que des options de formatage.
+
@node titlepage
@section @code{titlepage}
@@ -6859,19 +7887,44 @@ Synopsis :
@example
\begin@{titlepage@}
-@var{texte}
+ ... texte et espacement ...
\end@{titlepage@}
@end example
L'environnement @code{titlepage} crée une page de titre, c'est à dire
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 @code{\today}
-peut être utile sur les pages de titre (@pxref{\today}).
+rubrique. Il entraîne aussi que la page suivante a le numéro un.
+
+
+Dans l'exemple suivant tout le formatage, y compris l'espacement
+vertical, est laissé à l'auteur.
+
+@example
+\begin@{titlepage@}
+\vspace*@{\stretch@{1@}@}
+\begin@{center@}
+ @{\huge\bfseries Thèse \\[1ex]
+ titre@} \\[6.5ex]
+ @{\large\bfseries Nom de l'auteur@} \\
+ \vspace@{4ex@}
+ Thèse soumise à \\[5pt]
+ \textit@{Nom de l'université@} \\[2cm]
+ pour obtenir le grade de \\[2cm]
+ \textsc@{\Large Docteeur en@} \\[2ex]
+ \textsc@{\large Mathématiques@} \\[12ex]
+ \vfill
+ Departement de Mathématiques \\
+ Adresse \\
+ \vfill
+ \today
+\end@{center@}
+\vspace@{\stretch@{2@}@}
+\end@{titlepage@}
+@end example
-Vous pouvez utiliser la commande @code{\maketitle} (@pxref{\maketitle})
-pour produire une page de titre standarde sans utiliser l'environnement
-@code{titlepage}.
+Pour produire par contre une une page de titre standarde sans utiliser
+l'environnement @code{titlepage}, utilisez la commande @code{\maketitle}
+(@pxref{\maketitle}).
@node verbatim
@@ -6882,24 +7935,59 @@ pour produire une page de titre standarde sans utiliser l'environnement
@cindex simuler du texte tapuscrit
@cindex texte tapuscrit, simulation de
@cindex code source, composer du
-@cindex source logiciel, composer du
+@cindex programmes informatiques, composer du
Synopsis :
@example
\begin@{verbatim@}
-@var{literal-texte}
+@var{texte-litéral}
\end@{verbatim@}
@end example
L'environnement @code{verbatim} est un environnement qui fabrique des
-paragraphes dans lequel @LaTeX{} produit exactement ce qui vous y taez ;
-par exemple le caractère @code{\} produit @samp{\} à l'impression . Il,
-fait de @LaTeX{} une machine à écrire, c.-à-d.@: que le retour chariot
-et les blancs y ont un tel effet.
+paragraphes dans lequel @LaTeX{} produit exactement ce qui vous y tapez.
+Par exemple au sein de @var{texte-litéral} le caractère @code{\} ne
+commence pas de commande, il produit @samp{\} à l'impression, et les
+retour chariot et les blancs sont pris littéralement. La sortie
+appraraît dans une police genre tapuscrit (encore appelé « machine à
+écrire ») à chasse fixe (@code{\tt}).
+
+@example
+\begin@{verbatim@}
+Juron symbolique : %&$#?@!.
+\end@{verbatim@}
+@end example
+
+La seule restriction sur @code{text-literale} est qu'il ne peut pas
+inclure la chaîne @code{\end@{verbatim@}}.
-L'environnement @code{verbatim} utilise une police de type tapuscrit
-(encore appelé « machine à écrire ») à chasse fixe (@code{\tt}).
+@PkgIndex{cprotect}
+
+Il est impossible d'utiliser l'environnement @code{verbatim} au sein
+d'un argument de macro, par exemple dans l'argument passé à
+@code{\section}. Ce n'est pas le même problème que celui des commandes
+fragiles (@pxref{\protect}), mais c'est juste impossible parce que
+l'environnement @code{verbatim} change le régime de catcode avant de
+traiter son contenu, et le rétablit juste après, or au sein d'un argument
+de macro le contenu de l'argument est déjà converti en une liste
+d'unités lexicales selon le régime de catcode courant à l'appel de la
+macro. Cependant, le paquetage @code{cprotect} peut être utile dans
+cette situation.
+
+@PkgIndex{listings} @PkgIndex{minted}
+Une utilisation courante d'entrée verbatim est de composer du code
+informatique. Il y a des paquetages qui améliorent l'environnement
+@code{verbatim}. Par exemple, une amélioration est de permettre
+l'inclusion verbatim de fichiers externes, totalement ou en
+partie. Parmi ces paquetages : @code{listings} et @code{minted}.
+
+@PkgIndex{fancyvrb}
+@PkgIndex{verbatimbox}
+Un paquetage qui offre beaucoup plus d'options pour les environnements
+verbatim est @code{fancyvrb}. Un autre @code{verbatimbox}.
+
+Pour une liste complète de tous les paquetages pertinents voir le CTAN (@pxref{CTAN}).
@menu
* \verb:: La forme macro de l'environnement @code{verbatim}.
@@ -6932,6 +8020,34 @@ sont tapés avec un caractère « espace visible ».
(Nommément, {\tt\char`\ }).
@end tex
+La sortie correspondant à ce qui suit utilise un espace visible de part
+et d'autre du mot @samp{with} :
+
+@example
+Le premier argument de la commande est \verb*!filename with extension! et ...
+@end example
+
+@PkgIndex{url}
+Pour composer des adresses réticulaires, appelée aussi URL, le paquetage
+@code{url} est une option préférable à la commande @code{\verb}, puisque
+il permet les sauts de ligne.
+
+@PkgIndex{listings}
+@PkgIndex{minted}
+Pour du code informatique il y a beaucoup de paquetages plus avantageux
+que @code{\verb}. L'un est @file{listings}, un autre @file{minted}.
+
+@PkgIndex{cprotect}
+Vous ne pouvez pas utiliser @code{\verb} au sein d'un argument de macro,
+par exemple dans l'argument passé à @code{\section}. Ce n'est pas une
+question que @code{\verb} serait fragile (@pxref{\protect}), mais c'est
+juste impossible parce que la commande @code{\verb} change le régime de
+catcode avant de lire son argument et le rétablit juste après, or au sein
+d'un argument de macro le contenu de l'argument a déjà été converti en
+une liste d'unités lexicales selon le régime de catcode courant l'appel
+de la macro. Cependant, le paquetage @code{cprotect} peut être utile
+dans cette situation.
+
@node verse
@section @code{verse}
@@ -6942,8 +8058,8 @@ Synopsis :
@example
\begin@{verse@}
-@var{line1} \\
-@var{line2} \\
+ @var{line1} \\
+ @var{line2} \\
...
\end@{verse@}
@end example
@@ -7040,11 +8156,10 @@ en émettant un @code{\nobreak}.
La commande @code{\obeycr} a pour effet qu'un retour chariot dans le
fichier d'entrée (@samp{^^M}, internement) soit traité de la même façon
-que @code{\\} (suivi d'un @code{\relax}). Ainsi chaque passage à la
-ligne dans l'entrée est aussi un passage à la ligne dans la sortie.
-
-@code{\restorecr} restaure le comportement normal vis à vis des saut de
-ligne.
+que @code{\\} suivi d'un @code{\relax}. Ainsi chaque passage à la ligne
+dans l'entrée est aussi un passage à la ligne dans la sortie. La
+commande @code{\restorecr} restaure le comportement normal vis à vis des
+sauts de ligne.
@node \newline
@@ -7807,15 +8922,15 @@ Synopsis :
\makeatother
@end example
-Utilisez cette paire de commande quand vous redéfinissser les commandes
-@LaTeX{} dont le nom comprend un caractère arobe @code{@@}. La
-déclaration @code{\makeatletter} a pour effet que le caractère
-arobase @code{@@} ait le code de catégorie des lettres, c.-à-d.@: 11. La
-déclaration @code{\makeatother} règle de code de catégorie de @code{@@}
-à 12, sa valeur d'origine.
+Utilisez cette paire de commandes quand vous redéfinissser les commandes
+@LaTeX{} dont le nom comprend un caractère arobe @samp{@code{@@}}. La
+déclaration @code{\makeatletter} a pour effet que le caractère arobe ait
+le code de catégorie des lettres, c.-à-d.@: le code 11. La déclaration
+@code{\makeatother} règle de code de catégorie de l'arobe au code 12, sa
+valeur d'origine.
-À mesure que chaque caractère est lu par @TeX{} pour @LaTeX{}, un code
-de catégorie lui est assigné. On appelle aussi ce code
+À mesure que chaque caractère est lu par @TeX{}, un code de catégorie
+lui est assigné. On appelle aussi ce code
@cindex catcode
@cindex code de catégorie de caractère
@cindex catégorie, code de caractère
@@ -7842,7 +8957,7 @@ fichiers @file{.sty} ou @file{.cls} puisque les commandes
que l'arobe ait le catcode d'une lettre, à savoir 11.
@PkgIndex{macros2e}
-Pour une liste complète des macros contenant une arobase dans leur nom,
+Pour une liste complète des macros contenant une arobe dans leur nom,
voir le document @url{http://ctan.org/pkg/macros2e}.
@c xx pourquoi est-ce que ceci a été enlevé :
@c xx Ces macros sont surtout à l'intention des auteurs de classes et de
@@ -7867,33 +8982,49 @@ dans le préambule, avant le @code{\begin@{document@}} :
@cindex commandes, variantes étoilées
@cindex étoilées, variantes de commandes
+Synopsis :
+
+@example
+\newcommand@{\macmd@}@{\@@ifstar@{\macmd@@star@}@{\macmd@@nostar@}@}
+\newcommand@{\macmd@@nostar@}[@var{nostar-nbre-args}]@{@var{nostar-corps}@}
+\newcommand@{\macmd@@star@}[@var{star-nbre-args}]@{@var{star-corps}@}
+@end example
@c Inpirée des trucs & astuces de Manuel Pégourié-Gonnard
@c (https://elzevir.fr/imj/latex/tips.html#stared)
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.
-
-Si vous avez lu @ref{\newenvironment & \renewenvironment}, 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
-@code{\newenvironment@{@var{monenv}@}} et
-@code{\newenvironment@{@var{monenv}*@}} avec les définitions souhaitées.
-
-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 @code{\@@ifstar} interne du noyau @LaTeX{} et
-vous pouvez vous reportez à « @ref{\makeatletter & \makeatother} » pour
-comprendre pourquoi cela implique l'usage d'un bloc
-@code{\makeatletter...\makeatother}.
+standards de @LaTeX{} existent sous une variante avec le même nom mais
+finissant avec le caractère étoile @code{*}, un astérisque. Par exemple
+c'est le cas des environnement @code{table} et @code{table*}, et des
+commandes @code{\section} et @code{\section*}.
+
+Lorsque on définit un environnement, cela est facile puisque
+@code{\newenvironment} et @code{\renewenvironment} autorisent que le nom
+de l'environnement contienne un astérisque. Il vous suffit donc
+d'écrire @code{\newenvironment@{@var{monenv}@}} ou
+@code{\newenvironment@{@var{monenv}*@}} et de continuer la définition
+comme d'habitude. Pour les commandes, c'est plus compliqué car l'étoile
+n'étant pas une lettre one peut pas faire partie du nom de la
+commande. Comme dans le synopsis ci-dessus, on a donc une commande
+utilisateur, donnée ci-dessus comme @code{\macmd}, qui doit être capable
+de regarder si elle est ou non suivie d'une étoile. Par exemple,
+@LaTeX{} n'a pas réellement une commande @code{\section*} ; au lieu de
+cela la commande @code{\section} regarde ce qui la suit. Cette première
+commande n'accepte d'argument, mais au lieu de cela se développe en
+l'une de deux commandes qui elle accepte des arguments. Dans le synopsis
+ces commande sont @code{\macmd@@nostar} et @code{\macmd@@star}. Elles
+peuvent prendre le même nombre d'arguments ou un nombre différent, ou
+pas d'argument du tout. Comme d'habitude, dans un document @LaTeX{} une
+commande utilisant l'arobe @code{@@} dans son nom doit être comprise au
+sein d'un bloc @code{\makeatletter ... \makeatother}
+(@pxref{\makeatletter & \makeatother}).
Dans cet exemple, on définit @code{\ciel} comme une commande avec un
argument obligatoire et admettant une variante étoilée @code{\ciel*}
-également avec un argument obligatoire :
+également avec un argument obligatoire. Ainsi, @code{\ciel@{bleu@}}
+composera « ciel bleu non étoilé » tandis que @code{\ciel*@{nocturne@}}
+composera « ciel nocturne étoilé ».
@example
\makeatletter
@@ -7903,52 +9034,48 @@ argument obligatoire et admettant une variante étoilée @code{\ciel*}
\makeatother
@end example
-@noindent ainsi, @code{\ciel@{bleu@}} composera « ciel bleu non étoilé » tandis que
-@code{\ciel*@{nocturne@}} composera « ciel nocturne étoilé ».
-Notez que les commandes intermédiaires @code{\ciel@@starred} et
-@code{\ciel@@unstarred} comportent un @code{@@} dans leur nom ce qui est
-possible puisque elles apparaissent au sein d'un bloc
-@code{\makeatletter...\makeatother}. 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
-@code{\newcommand*@{\@var{cmd}@}} vérifie que si la commande @code{\@var{cmd}}
-n'est pas déjà définie et génère une erreur si c'est le cas.
-
-Voici un autre exemple, où la commande @code{\agentsecret} comporte deux
-arguments, tandis que sa variante étoilée @code{\agentsecret*} n'en présente qu'un seul :
+Voici un autre exemple, où la variante étoilée prend un nombre
+d'arguments différent de la non étoilée. Avec cette définition, la
+célèbre réplique de l'agent 007 « @code{Mon nom est
+\agentsecret*@{Bond@}, \agentsecret@{James@}@{Bond@}}. » est équivalente
+à saisir les commandes « Je m'appelle \textsc@{Bond@}, \textit@{James@}
+textsc@{Bond@}. »
@example
\makeatletter
\newcommand*\agentsecret@@starred[1]@{\textsc@{#1@}@}
\newcommand*\agentsecret@@unstarred[2]@{\textit@{#1@} \textsc@{#2@}@}
-\newcommand\agentsecret@{\@@ifstar@{\agentsecret@@starred@}
-@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @{\agentsecret@@unstarred@}@}
+\newcommand\agentsecret@{\@@ifstar@{\agentsecret@@starred@}@{\agentsecret@@unstarred@}@}
\makeatother
@end example
-@noindent Avec cette définition, la célèbre réplique de l'agent 007 :
+Après le nom d'une commande, l'étoile est traitée d'une manière
+similaire à un 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 technique
+il est donc possible de mettre un nombre indéfini d'espaces entre la
+commande et l'étoile. Ainsi @code{\agentsecret*@{Bond@}} et
+@code{\agentsecret@w{ *}@{Bond@}} sont équivalents. Toutefois, la
+pratique normale est de ne pas insérer de tels espaces.
-@example
-Je m'appelle \agentsecret*@{Bond@}, \agentsecret@{James@}@{Bond@}.
-@end example
+@PkgIndex{suffix}
+@PkgIndex{xparse}
-@noindent est équivalente à :
+Il y a deux manières pouvant être plus commodes d'accomplir la même
+tâche que @code{\@@ifstar}. Le paquetage @file{suffix} permet la
+construction @code{\newcommand\macommande@{@var{variante-non-étoilée}@}}
+suivie de
+@code{\WithSuffix\newcommand\macommande*@{@var{variante-étoilée}@}}. Et
+@LaTeX{}3 a le paquetage @file{xparse} qui permet ce code.
@example
-Je m'appelle \textsc@{Bond@}, \textit@{James@} textsc@{Bond@}.
+\NewDocumentCommand\toto@{s@}@{\IfBooleanTF#1
+ @{@var{variante-étoilée}@}%
+ @{@var{variante-non-étoilée}@}%
+ @}
@end example
-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 @code{\agentsecret*@{Bond@}} et
-@code{\agentsecret *@{Bond@}} sont équivalents. Toutefois la pratique commune
-est de ne jamais insérer de tels espaces.
-
@node \newcounter
@section @code{\newcounter} : allouer un compteur
@findex \newcounter
@@ -8143,7 +9270,7 @@ Dans le document, utilisez l'environnement comme ceci :
Ce dernier exemple montre comment sauvegarder la valeur d'un argument
pour l'utiliser dans @var{déffin}, dans ce cas dans une boîte
-(@pxref{\sbox}).
+(@pxref{\sbox & \savebox}).
@example
\newsavebox@{\quoteauthor@}
@@ -9048,7 +10175,7 @@ ligne de la note a la même ligne de base que la ligne dans le texte où le
Lorsque vous spécifiez seulement l'argument obligatoire @var{droite}, le texte
est placé
-@itemize @bullet
+@itemize @value{ITEM_BULLET1}
@item
dans la marge de droite pour une disposition en recto simple (option
@code{oneside}, voir @ref{Document class options}) ;
@@ -9056,7 +10183,7 @@ dans la marge de droite pour une disposition en recto simple (option
dans la marge extérieure pour une disposition en recto-verso (option
@code{twoside}, voir @ref{Document class options}) ;
@item
-dans la nearest la plus proche pour une disposition à deux colonnes
+dans la plus proche pour une disposition à deux colonnes
(option @code{twocolumn}, voir @ref{Document class options}).
@end itemize
@@ -9322,10 +10449,10 @@ pointant vers le haut (opérateur).
(opérateur). (Notez que le nom a juste un p.)
@item \bigvee
-@BES{⋁,\bigvee} De taille variable, ou n-aire, et-logique (opérateur).
+@BES{⋁,\bigvee} De taille variable, ou n-aire, ou-logique (opérateur).
@item \bigwedge
-@BES{⋀,\bigwedge} De taille variable, ou n-aire, ou-logique (opérateur).
+@BES{⋀,\bigwedge} De taille variable, ou n-aire, et-logique (opérateur).
@item \bot
@BESU{⊥,bot} Taquet vers le haut, minimum, plus petit élément d'un ensemble
@@ -9616,7 +10743,7 @@ simple (relation). Similaire : version courte @code{\mapsto}.
double @code{\Longrightarrow}.
@item \lor
-@BES{∨,\lor} Ou-logique (binaire). Synonyme : @code{\wedge}.
+@BES{∨,\lor} Ou-logique (binaire). Synonyme : @code{\vee}. Voir auss et-logique @code{\land}.
@item \mapsto
@BES{↦,\mapsto} Flèche d'un taquet vers la droite (relation).
@@ -10550,7 +11677,7 @@ Le résultat ressemble à cela : @math{\vdots}.
Quand @LaTeX{} traite votre texte en entrée, il est forcément dans l'un
de ces trois modes :
-@itemize @bullet
+@itemize @value{ITEM_BULLET1}
@item
Mode paragraphe
@item
@@ -10799,6 +11926,7 @@ espace « fine » (d'habitude 1/6@dmn{quad}). Elle peut être utilisée en
mode texte, mais est le plus souvent utile en mode math (@pxref{Spacing
in math mode,Espacement en mode mathématique}).
+@c xxx Realigner sur l'anglais
@menu
Espace horizontal
* \hspace:: Espace horizontal fixe.
@@ -11156,100 +12284,105 @@ chacune d'elle.
@chapter Boîtes
@cindex boîtes
-Tous les paramètres de longueurs prédéfinies (@pxref{Predefined lengths})
-peuvent être utilisés au sein des arguments des commandes de fabrication
-de boîtes.
+Dans le fond, @LaTeX{} met des choses dans des boîtes et ensuite met ces
+boîtes sur une page. Aussi les commandes qui suivent sont centrales.
+
+@PkgIndex{adjustbox}
+De nombreux paquetages sur le CTAN sont utiles pour la manipulation de
+boîtes. Un ajout utile aux commandes décrites ici est @file{adjustbox}.
+
+@c xx Vérifier que la référence @pxref{Predefined lengths} est donnée
+@c par la suite.
+@ignore
+Tous les paramètres de longueurs prédéfinies
+(@pxref{Predefined lengths}) peuvent être utilisés au sein des arguments
+des commandes de fabrication de boîtes.
+@end ignore
@menu
-* \mbox:: Boîtes horizontales.
-* \fbox and \framebox:: Mettre un cadre autour d'une boîte.
-* lrbox:: Un environnement similaire à @code{\sbox}.
-* \makebox:: Boîte, adjustable position.
+* \mbox & \makebox:: Boîtes horizontales.
+* \fbox & \framebox:: Mettre un cadre autour d'une boîte.
* \parbox:: Boîte avec du texte en mode paragraphe.
* \raisebox:: Élève ou abaisse le texte.
-* \savebox:: Comme @code{\makebox}, mais sauvegarde le texte pour usage ultérieur.
-* \sbox:: Comme @code{\mbox}, mais sauvegarde le texte pour usage ultérieur.
+* \sbox & \savebox:: Comme @code{\makebox}, mais sauvegarde le texte pour usage ultérieur.
+* lrbox:: Un environnement similaire à @code{\sbox}.
* \usebox:: Compose le texte sauvegardé.
@end menu
-@node \mbox
-@section @code{\mbox@{@var{texte@}}}
-@findex \mbox
+@node \mbox & \makebox
+@section @code{\mbox} & @code{\makebox}
+@findex \mbox
+@findex \makebox
+@cindex boîte
+@cindex fabriquer une boîte
@cindex césure, empécher
@cindex coupure de mot, empécher
-La commande @code{\mbox} crée un boîte qui a la largeur juste du texte
-créé par son argument. Le @var{texte} n'est pas coupé en plusieurs
-lignes, c'est pourquoi cette commande peut être utilisée pour empécher
-la césure.
-
-@node \fbox and \framebox
-@section @code{\fbox} and @code{\framebox}
-
-@findex \fbox
-@findex \framebox
-
-Synopsis :
+Synopsis, l'un parmi les suivants :
@example
-\fbox@{@var{texte}@}
-\framebox[@var{largeur}][@var{position}]@{@var{texte}@}
+\mbox@{@var{texte}@}
+\makebox@{@var{texte}@}
+\makebox[@var{largeur}]@{@var{texte}@}
+\makebox[@var{largeur}][@var{position}]@{@var{texte}@}
@end example
-Les commandes @code{\fbox} et @code{\framebox} sont similaires à
-@code{\mbox}, à ceci près qu'elle mettent un cadre autour de l'extérieur
-de la boîte ainsi créée.
-
-De plus, la commande @code{\framebox} permet de spécifier explicitement
-la largeur de la boîte avec l'argument optionnel @var{largeur}
-(une longueur), et sa position sur la ligne avec l'argument optionnel @var{position}. @c xxref
-
-@findex \fboxrule
-@findex \fboxsep
-Les deux commandes produisent un filet d'épaisseur @code{\fboxrule}
-(valant par défaut @samp{.4pt}), et laisse un espace de @code{\fboxsep}
-(valant par défaut @samp{3pt}) entre le filet et le contenu de la boîte.
-
-@xref{\framebox (picture)}, pour la commande @code{\framebox} dans
-l'environnement @code{picture}.
+La commande @code{\mbox} crée un boîte, un conteneur pour du
+matériel. Le @var{texte} est composé en mode LR (@pxref{Modes}) ainsi il
+n'est pas coupé en plusieurs lignes. La commande @code{\mbox} est
+robuste, alors que @code{\makebox} est fragile (@pxref{\protect}).
-
-@node lrbox
-@section @code{lrbox}
-@findex lrbox
-
-Synopsis :
+Comme @code{texte} n'est pas coupé en plusieurs ligne, on peut utiliser
+@code{\mbox} pour empécher une césure. Dans l'exemple suivant, @LaTeX{}
+ne peut pas faire de césure dans le nom du char,
+@samp{T-34}.
@example
-\begin@{lrbox@}@{\@var{cmd}@}
- @var{texte }
-\end@{lrbox@}
+Le char soviétique \mbox@{T-34@} est l'un des symboles de la victoire
+sur le nazisme.
@end example
-Ceci est la forme environnement de la commande @ref{\sbox,@code{\sbox}}.
+Dans les deux première version du synopsys, @code{\mbox} et
+@code{\makebox} sont sensiblement équivalente. Elles créent une boîte
+juste assez large pour contenir le @var{texte}. (Elle sont comme le
+@code{\hbox} du @value{PlainTeX}).
-Le @var{texte} au sein de l'environnement est sauvegarder dans une boîte
-@code{\@var{cmd}} qui doit avoir préalablement été déclarée avec
-@code{\newsavebox}.
+Dans la troisième version l'argument optionnel @var{largeur} spécifie la
+largeur de la boîte. Notez que l'espace occupé par le texte n'est pas
+nécessairement équivalent à la largeur de la boîte. D'une part,
+@var{texte} peut être trop petit ; l'exemple suivant crée une boîte
+d'une ligne entière de largeur :
+@example
+\makebox[\linewidth]@{Examen du chapitre@}
+@end example
-@node \makebox
-@section @code{\makebox}
-@findex \makebox
+@noindent
+où @samp{Examen du chapitre} est centré. Mais @var{texte} peut aussi
+être trop large pour @var{largeur}. Voir l'exemple plus bas pour des
+boîtes de largeur nulle.
-Synopsis :
+@anchor{mbox makebox depth}
+@anchor{mbox makebox height}
+@anchor{mbox makebox width}
+@anchor{mbox makebox totalheight}
+Au sein de l'argument @var{largeur} vous pouvez utiliser les longueur
+suivante qui font référence aux dimensions de la boîte que @LaTeX{}
+obtient en composant @var{texte} : @code{\depth}, @code{\height},
+@code{\width}, @code{\totalheight} (la somme de la hauteur et de la
+profondeur de la boîte). Par exemple, pour fabriquer une boîte où le
+texte est dilaté au double de sa largeur naturelle vous pouvez écrire
+ceci :
@example
-\makebox[@var{largeur}][@var{position}]@{@var{texte}@}
+\makebox[2\width]@{Get a stretcher@}
@end example
-La commande @code{\makebox} crée une boîte juste assez large pour
-contenir le @var{texte} spécifié. La largeur de la boîte peut-être
-emportée par l'argument optionnel @var{largeur}. La position du
-texte au sein de la boîte est determinée par l'argument optionnel
-@var{position} qui peut prendre l'une des valeurs suivantes :
+Pour la quatrième version du synopsis, la position du texte au sein de
+la boîte est determinée par l'argument optionnel @var{position} qui peut
+prendre l'une des valeurs suivantes :
@table @code
@item c
@@ -11260,11 +12393,75 @@ Centré (par défaut).
(Right) justifié à droite.
@item s
(Stretch) justifié à travers la @var{largeur} entière ; @var{texte} doit
-contenir de l'espace dilatable pour que cela marche.
+contenir de l'espace dilatable pour que cela marche. Par exemple, ceci
+pourrait être le libellé d'un communiqué de presse :
+@code{\noindent\makebox[\textwidth][s]@{\large\hfil DÉPÊCHE\hfil IMMÉDIATE\hfil@}}
@end table
-@code{\makebox} est aussi utilisé au sein de l'environnement @code{picture},
-@pxref{\makebox (picture)}.
+Une utilisation courante de @code{\makebox} est de fabriquer des boîtes
+de texte de largeur nulle. Dans l'exemple suivant on place dans un
+questionnaire la valeur des questions à leur gauche.
+
+@example
+\newcommand@{\pts@}[1]@{\makebox[0em][r]@{#1 points\hspace*@{1em@}@}@}
+\pts@{10@}Quelle est la vitesse aérodynamique d'une hirondelle à vide ?
+
+\pts@{90@}Une hirondelle africaine ou européenne ?
+@end example
+
+@noindent
+@PkgIndex{TikZ}
+@PkgIndex{Asymptote}
+Le bord droit de la sortie @samp{10 points } (notez l'espace finale
+après @samp{points}) est juste avant le @samp{Quelle}. Vous pouvez
+utiliser @code{\makebox} de la même manière quand vous faites des
+graphiques, comme en @file{TikZ} ou @file{Asymptote}, où vous mettez le
+bord du texte à une position connue, quelle que soit la longueur de ce
+texte.
+
+Pour des boîtes avec cadre voir @ref{\fbox & \framebox}. Pour des boîtes
+de couleurs voir @ref{Colored boxes}.
+
+Il y a une version apparentée de @code{\makebox} qui utilisée au sein de
+l'environnement @code{picture}, où la longueur est données en termes
+d'@code{\unitlength} (@pxref{\makebox (picture)}).
+
+Comme @var{texte} est composé en mode LR, ni une double contr'oblique
+@code{\\}, ni @code{\par} ne produisent un saut de ligne ; par exemple
+@code{\makebox@{abc def \\ ghi@}} produit en sortie @samp{abc defghi}
+alors que @code{\makebox@{abc def \par ghi@}} produit @samp{abc def
+ghi}, tout deux sur une seule ligne. Pour obtenir des lignes multiples
+voir @ref{\parbox} et @ref{minipage}.
+
+@node \fbox & \framebox
+@section @code{\fbox} & @code{\framebox}
+
+@findex \fbox
+@findex \framebox
+
+Synopsis :
+
+@example
+\fbox@{@var{texte}@}
+\framebox[@var{largeur}][@var{position}]@{@var{texte}@}
+@end example
+
+Les commandes @code{\fbox} et @code{\framebox} sont similaires à
+@code{\mbox}, à ceci près qu'elle mettent un cadre autour de l'extérieur
+de la boîte ainsi créée.
+
+De plus, la commande @code{\framebox} permet de spécifier explicitement
+la largeur de la boîte avec l'argument optionnel @var{largeur}
+(une longueur), et sa position sur la ligne avec l'argument optionnel @var{position}. @c xxref
+
+@findex \fboxrule
+@findex \fboxsep
+Les deux commandes produisent un filet d'épaisseur @code{\fboxrule}
+(valant par défaut @samp{.4pt}), et laisse un espace de @code{\fboxsep}
+(valant par défaut @samp{3pt}) entre le filet et le contenu de la boîte.
+
+@xref{\framebox (picture)}, pour la commande @code{\framebox} dans
+l'environnement @code{picture}.
@node \parbox
@@ -11320,7 +12517,7 @@ Il y a trois arguments optionnels, @var{position}, @var{hauteur}, et
@dfn{parbox} relativement au texte alentour. La valeurs prises en charge
sont @code{c} ou @code{m} 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 @code{t} pour s'accorder la
+adjacente (c'est le réglage par défaut), ou @code{t} pour accorder la
ligne du haut de la parbox avec la ligne de base du texte alentour, ou
@code{b} pour accorder la ligne du bas.
@@ -11328,79 +12525,238 @@ L'argument optionnel @var{hauteur} l'emporte sur la hauteur naturelle de
la boîte.
L'argument optionnel @var{pos-interne} contrôle la position du
-@var{contenu} au sein de la parbox. Les valeurs possibles sont :
-@code{t} pour le centrer verticalement, @code{b} pour le place en bas de
-la boîte, et @code{s} pour le dilater verticalement (pour cela, le texte
-doit contenir de l'espace vertical eslastique).
+@var{contenu} au sein de la parbox. Sa valeur par défaut est la valeur
+de @var{position}. Les valeurs possibles sont : @code{t} pour placer le
+@var{contenu} en haut de la boîte, @code{c} pour le centrer
+verticalement, @code{b} pour le place en bas de la boîte, et @code{s}
+pour le dilater verticalement (pour cela, le texte doit contenir de
+l'espace vertical elastique).
@node \raisebox
@section @code{\raisebox}
@findex \raisebox
-Synopsis :
+Synopsis, l'un parmi les suivants :
@example
+\raisebox@{@var{distance}@}@{@var{texte}@}
+\raisebox@{@var{distance}@}[@var{hauteur}]@{@var{texte}@}
\raisebox@{@var{distance}@}[@var{hauteur}][@var{profondeur}]@{@var{texte}@}
@end example
-La commande @code{\raisebox} élève ou abaisse du @var{texte}. Le
-premier argument obligatoire spécifie la longueur dont le @var{texte}
-doit être élevé (ou abaissé si c'est une longueur négative). Le
-@var{texte} lui-même est traité en mode LR.
+La commande @code{\raisebox} élève ou abaisse du @var{texte}. Cette
+commande est fragile (@pxref{\protect}).
+
+L'exemple suivant fabrique une commande pour noter la restriction d'une
+fonction en abaissant le symbole barre verticale.
+
+@c credit: egreg https://tex.stackexchange.com/a/278631/121234
+@example
+\newcommand*\restreinte[1]@{\raisebox@{-.5ex@}@{$|$@}_@{#1@}@}
+$f\restreinte@{A@}$
+@end example
+
+Le premier argument obligatoire spécifie la longueur dont le @var{texte}
+doit être élevé. C'est une longueur rigide (@pxref{Lengths}). Si elle
+est négative alors @var{texte} est abaissé. Le @var{texte} lui-même est
+traité en mode LR, aussi il ne doit pas contenir de saut de ligne
+(@pxref{Modes}).
Les arguments optionnels @var{hauteur} et @var{profondeur} sont des
-longueurs. S'ils sont spécifiés, @LaTeX{} traite @var{texte} comme s'il
-s'étendait une certaine distance (@var{hauteur}) au-dessus de la ligne
-de base, ou au dessous (@var{profondeur}), en ignorant ses hauteur et
-profondeur naturelles.
+dimensions. S'ils sont spécifiés, ils l'emportent sur les hauteur et
+profondeur naturelles de la boîte que @LaTeX{} obtient en composant
+@var{texte}.
+@anchor{raisebox depth}
+@anchor{raisebox height}
+@anchor{raisebox width}
+@anchor{raisebox totalheight}
+Au sein des arguments @var{distance}, @var{hauteur}, et @var{profondeur}
+vous pouvez utiliser les longueurs suivantes qui font référence à la
+dimension de la boîte que @LaTeX{} obtient en composant @var{texte} :
+@code{\depth}, @code{\height}, @code{\width}, @code{\totalheight} (qui
+est la somme de la hauteur et de la profondeur de la boîte).
+
+L'exemple suivant aligne deux graphiques sur leur bord supérieur (@pxref{Graphics}).
+
+@c credit: FAQ https://texfaq.org/FAQ-topgraph
+@example
+\usepackage@{graphicx,calc@} % dans le préambule
+ ...
+\begin@{center@}
+ \raisebox@{1ex-\height@}@{%
+ \includegraphics[width=0.4\linewidth]@{lion.png@}@}
+ \qquad
+ \raisebox@{1ex-\height@}@{%
+ \includegraphics[width=0.4\linewidth]@{meta.png@}@}
+\end@{center@}
+@end example
+
+@noindent
+Le premier @code{\height} est la hauteur de @file{lion.png} alors que le
+second est celle de @file{meta.png}.
-@node \savebox
-@section @code{\savebox}
+
+
+@node \sbox & \savebox
+@section @code{\sbox} & @code{\savebox}
+@findex \sbox
@findex \savebox
+@cindex boîte, sauvegarde
-Synopsis :
+
+Synopsis, l'un parmi les suivants :
@example
-\savebox@{@var{\boxcmd}@}[@var{largeur}][@var{pos}]@{@var{texte}@}
+\sbox@{@var{cmd-boîte}@}@{@var{texte}@}
+\savebox@{@var{cmd-boîte}@}@{@var{texte}@}
+\savebox@{@var{cmd-boîte}@}[@var{largeur}]@{@var{texte}@}
+\savebox@{@var{cmd-boîte}@}[@var{largeur}][@var{pos}]@{@var{texte}@}
@end example
Cette commande compose @var{texte} dans une boîte de la même façon
-qu'avec @code{\makebox} (@pxref{\makebox}), à ceci près qu'au lieu
-d'imprimer la boîte résultante, elle la sauvegarde dans une boîte
-étiquettée @var{\boxcmd}, ce qui doit avoir été déclaré avec
-@code{\newsavebox} (@pxref{\newsavebox}).
+qu'avec @code{\makebox} (@pxref{\mbox & \makebox}), à ceci près qu'au
+lieu de sortir la boîte résultante, elle la sauvegarde dans un registre
+boîte référencé par la variable nommée @var{cmd-boîte}. Le nom de
+variable @var{cmd-boîte} commence avec une contr'oblique, @code{\}. Vous
+devez préalablement avoir alloué le registre boîte @var{cmd-boîte} avec avec
+@code{\newsavebox} (@pxref{\newsavebox}). La commande @code{\sbox} est
+robuste, alors que @code{\savebox} est fragile (@pxref{\protect}).
+L'exemple suivant crée et utilise un registre boîte.
-@node \sbox
-@section @code{\sbox@{@var{\boxcmd}@}@{@var{texte}@}}
-@findex \sbox
+@example
+\newsavebox@{\nomcomplet@}
+\sbox@{\nomcomplet@}@{Cadet Rousselle@}
+ ...
+\usebox@{\nomcomplet@} a trois maisons qui n'ont ni poutres, ni chevrons !
+C'est pour loger les hirondelles,
+Que direz-vous d'\usebox@{\nomcomplet@} ?
+@end example
+
+@noindent
+Un avantage de l'usage répété d'un registre boîte par rapport à une
+variable macro @code{\newcommand} est l'efficacité, c-à-d.@: que
+@LaTeX{} n'a pas besoin de répeter la composition du contenu. Voir
+l'exemple plus bas.
+
+Les deux invocations de commande
+@code{\sbox@{@var{cmd-boîte}@}@{@var{texte}@}} et
+@code{\savebox@{@var{cmd-boîte}@}@{@var{texte}@}} sont sensiblement
+équivalentes. Quant à la troisième et la quatrième, les arguments
+optionnels vous permettent de spécifier la largeur de la boîte comme
+@var{largeur}, et la position du texte au sein de cette boîte comme
+@var{position}. @xref{\mbox & \makebox}, pour une description complète.
+
+Dans les commandes @code{\sbox} et @code{\savebox} le @var{texte} est
+composé en mode LR, aussi il n'a pas de sauts de lignes (@pxref{Modes}).
+Si vous utilisez ce qui suit alors @LaTeX{} ne produit pas d'erreur mais
+ignore ce que vous voulez faire : si vous entrez
+@code{\sbox@{\nouvreg@}@{test \\ test@}} et @code{\usebox@{\nouvreg@}}
+alors vous obtenez @samp{testtest}, et si vous entrez
+@code{\sbox@{\nouvreg@}@{test \par test@}} et @code{\usebox@{\nouvreg@}}
+alors vous obtenez @samp{test test}, mais ni erreur ni avertissement.
+La solution est d'utiliser une @code{\parbox} ou une @code{minipage}
+comme dans l'exemple qui suit :
+
+@c credit: egreg https://tex.stackexchange.com/a/41668/121234
+@example
+\savebox@{\unreg@}@{%
+ \begin@{minipage@}@{\linewidth@}
+ \begin@{enumerate@}
+ \item Premier article
+ \item Second article
+ \end@{enumerate@}
+ \end@{minipage@}@}
+ ...
+\usebox@{\unreg@}
+@end example
+
+En exemple de l'efficacité de réutiliser le contenu d'un registre boîte,
+ce qui suit place la même image sur chaque page du document en le
+plaçant dans l'en-tête. @LaTeX{} ne la compose qu'une fois.
+
+@example
+\usepackage@{graphicx@} % tout cela dans le préambule
+\newsavebox@{\cachetreg@}
+\savebox@{\cachetreg@}@{%
+ \setlength@{\unitlength@}@{2.5cm@}%
+ \begin@{picture@}(0,0)%
+ \put(1.5,-2.5)@{%
+ \begin@{tabular@}@{c@}
+ \includegraphics[height=5cm]@{companylogo.png@} \\
+ Bureau du Président
+ \end@{tabular@}@}
+ \end@{picture@}%
+@}
+\markright@{\usebox@{\cachetreg@}@}
+\pagestyle@{headings@}
+@end example
+
+@noindent
+L'environnment @code{picture} est bien adapté pour régler finement le
+placement.
+
+Si le registre @code{\noreg} n'a pas déjà été défini alors vous obtenez
+quelque-chose du genre de @samp{Undefined control sequence. <argument>
+\noreg}.
+
+@node lrbox
+@section @code{lrbox}
+@findex lrbox
Synopsis :
@example
-\sbox@{@var{\boxcmd}@}@{@var{texte}@}
+\begin@{lrbox@}@{@var{cmd-boîte}@}
+ @var{texte }
+\end@{lrbox@}
+@end example
+
+ACeci est la forme par environnement des commandes @code{\sbox} et
+@code{\savebox}, et leur est équivalent. @xref{\sbox & \savebox}, pour
+une description complète.
+
+Le @var{texte} au sein de l'environnement est sauvegardé dans un
+registre boîte auquel la vartiable @code{@var{cmd-boîte}} fait
+référence. Le nom de variable @var{cmd-boîte} doit commencer par une
+contr'oblique, @code{\}. Vous devez avoir alloué ce registre boîte
+préalablement avec @code{\newsavebox} (@pxref{\newsavebox}). Dans
+l'exemple suivannt l'environnement est commode pour entrer le
+@code{tabular} :
+
+@example
+\newsavebox@{\jhreg@}
+\begin@{lrbox@}@{\jhreg@}
+ \begin@{tabular@}@{c@}
+ \includegraphics[height=1in]@{jh.png@} \\
+ Jim Hef@{@}feron
+ \end@{tabular@}
+\end@{lrbox@}
+ ...
+\usebox@{\jhreg@}
@end example
-@code{\sbox} tape @var{texte} au sein d'une boîte tout comme @code{\mbox}
-(@pxref{\mbox}) à 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 @var{\boxcmd}. @var{\boxcmd} doit avoir été préalablement
-déclarée avec @code{\newsavebox} (@pxref{\newsavebox}).
@node \usebox
-@section @code{\usebox@{@var{\boxcmd}@}}
+@section @code{\usebox}
@findex \usebox
+@cindex boîte, utilise une boîte sauvegardée
Synopsis :
@example
-\usebox@{@var{\boxcmd}@}
+\usebox@{@var{cmd-boîte}@}
@end example
-@code{\usebox} produit la boîte la plus récemment sauvegardée dans le
-bac @var{\boxcmd} par une commande @code{\savebox} (@pxref{\savebox}).
+La commande @code{\usebox} produit la boîte la plus récemment
+sauvegardée dans le registre boîte @var{cmd-boîte} par une commande
+@code{\sbox} ou @code{\savebox}, ou l'environnement
+@code{lrbox}. @xref{\sbox & \savebox}, pour plus ample information et
+des exemples. (Notez que le nom de la variable @var{cmd-boîte} commence
+par une contr'oblique, @code{\}). Cette commande est robuste
+(@pxref{\protect}).
@node Color
@chapter Couleur
@@ -11727,7 +13083,7 @@ bleu :
@end example
La commande @code{\fcolorbox} utilise les mêmes paramètres que
-@code{\fbox} (@pxref{\fbox and \framebox}), à savoir @code{\fboxrule} et
+@code{\fbox} (@pxref{\fbox & \framebox}), à savoir @code{\fboxrule} et
@code{\fboxsep}, 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 @code{0.4pt} et @code{3pt} respectivement.
@@ -12076,9 +13432,12 @@ raisonnable. Par exemple, la version la plus récente de
@file{pdftex.def} a cette liste d'extensions.
@example
-.png,.pdf,.jpg,.mps,.jpeg,.jbig2,.jb2,.PNG,.PDF,.JPG,.JPEG,.JBIG2,.JB2
+.pdf,.png,.jpg,.mps,.jpeg,.jbig2,.jb2,.PDF,.PNG,.JPG,.JPEG,.JBIG2,.JB2
@end example
+@PkgIndex{grfext}
+Pour modifier cet ordre, utilisez le paquetage @code{grfext}.
+
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 @code{\makeatletter\typeout@{\Gin@@extensions@}\makeatother}.
@@ -12944,11 +14303,12 @@ aperçu du sujet, passé et présent.
Vous pouvez accéder à n'importe quel caractère de la police courante en
utilisant son numéro avec la commande @code{\symbol}. Par exemple, le
caractère espace visible utilisé dans la commande @code{\verb*} a le
-code décimal 32, ainsi on peut le taper avec @code{\symbol@{32@}}.
+code décimal 32 dans la police standarde tapuscrite Compuer Modern,
+ainsi on peut le taper avec @code{\symbol@{32@}}.
Vous pouvez également spécifier le numéro en octal (base 8) en utilisant
un préfixe @code{'}, ou en hexadécimal (base 16) avec un préfixe
-@code{"}, ainsi l'exemple précédent pourrait tout aussi bien être écrit
+@code{"}, ainsi l'espace visible de code 32 en décimal pourrait tout aussi bien être écrit
comme @code{\symbol@{'40@}} ou @code{\symbol@{"20@}}.
@@ -12957,10 +14317,14 @@ comme @code{\symbol@{'40@}} ou @code{\symbol@{"20@}}.
@cindex symboles texte
@findex textcomp, @r{paquetage}
+@cindex TS1, codage
@LaTeX{} fournit des commandes pour générer divers symboles qui ne sont
pas des lettres dans le cours sein du texte. Certaines d'entre elles,
-en particulier les plus obscures, ne sont pas disponible en OT1 ; il se
-peut que vous deviez charger le paquetage @code{textcomp}.
+en particulier les plus obscures, ne sont pas disponible en OT1. Depuis
+la parution de février 2020 de @LaTeX{} tous ces symboles sont disponibles
+par défaut ; avant cela, il était nécessaire d'utiliser le paquetage
+@code{textcomp} pour certains d'enter eux (techniquement, ce qui sont
+dans le codage de police @code{TS1}).
@ftable @code
@@ -13135,17 +14499,23 @@ Signe Dollar : $.
@item \textemdash @r{(ou @code{---})}
@cindex cadratin
-Cadratin : --- (pour la ponctuation).
+@raggedright
+Cadratin : ---. Utilisé pour la ponctuation, d'ordinaire similaire à une virugules ou des parenthèse comme dans « @code{Les éliminatoires --- si vous assez de chance pour y arriver --- c'est comme si ça se passait d'un trait.} »
+@end raggedright
@item \textendash @r{(ou @code{--})}
@cindex cadratin, demi
@cindex demi-cadratin
-Demi cadratin : -- (pour les plages en anglais).
+Demi cadratin : --. Utilisé pour les plages en anglais comme dans « @code{see pages 12--14} ».
@item \texteuro
@cindex euro, symbole
@cindex monnaie, euro
-Le symbole Euro : @euro{}.
+Le symbole monétaire Euro : @euro{}.
+@PkgIndex{eurosym}
+Pour un dessin alternatif du glyphe, essayez le paquetage
+@file{eurosym} ; de plus, la plupart des polices de nos jour sont
+fournies avec leur propre symbole Euro (Unicode U+20AC).
@item \textexclamdown @r{(ou @code{!`})}
@cindex point d'exclamation culbuté
@@ -14809,6 +16179,7 @@ du publipostage. CTAN a plusieurs paquetage pour cela ; parmi lesquels
@section @code{\typein[@var{cmd}]@{@var{msg}@}}
@findex \typein
+@c xxx Realigner sur l'anglais
Synopsis :
@example
@@ -14818,7 +16189,7 @@ Synopsis :
@code{\typein} tape @var{msg} sur la console et fait que @LaTeX{}
s'arrête et attend que vous saisisiez une ligne d'entrée, en la
terminant par un retour-chariot. Si l'argument optionnel @var{\cmd} est
-omis, l'netrée tapée est traitée comme si elle avec été incluse dans le
+omis, l'entrée tapée est traitée comme si elle avec été incluse dans le
fichier d'entrée à la place de la commande @code{\typein}. Si
l'argument @var{\cmd} est présent, cela doit être un nom de commande.
Ce nom de commande est alors défini, ou redéfini, pour se développer en
@@ -15246,9 +16617,11 @@ fournit une interface commode et sûre pour cela, contrairement aux
exemples donnés plus haut utilisant @code{\write18} à l'état brut :
@url{https://ctan.org/pkg/texosquery}.
-@node Command line
-@chapter Ligne de commande
+@node Command line interface
+@chapter Interface ligne de commande
+@anchor{Command line}@c ancien nom
@cindex ligne de commande
+@cindex CLI
Synopsis (depuis la ligne de commande d'un terminal) :
@@ -15304,6 +16677,7 @@ pour un aperçu de quoi faire.
@menu
* Command line options:: Options usuelles de ligne de commande.
* Command line input:: Spécifier du code LaTeX sur la ligne de commande.
+* Nom d'ouvrage: Jobname. Comment @TeX{} définit le nom de l'ouvrage courant.
* Recovering from errors:: Quand quelque chose se passe mal.
@end menu
@@ -15367,19 +16741,10 @@ on élimine la plupart des sorties terminal.
@cindex nom de fichier de la tâche courante
@findex --jobname @r{ligne de commande, option}
@item -jobname=@var{chaîne}
-Règle la valeur du @dfn{nom de tâche} de @TeX{} à la chaîne de
+Règle la valeur du @dfn{nom d'ouvrage} de @TeX{} à la chaîne de
caractères @var{chaîne}. Le fichier journal et le fichier de sortie
-s'appeleront @file{@var{chaîne}.log} et @file{@var{chaîne}.pdf}.
-
-Quand vous exécutez @code{@command{pdflatex} @var{options}
-@var{argument}}, si @var{argument} 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 @code{\input} et le
-nom du fichier en entrée devient le nom de tâche
-(@code{\jobname}). Celui-ci est utilisé pour nommer le fichier journal
-et le fichier de sortie. L'option @code{jobname} l'emporte et spécifie
-directement le nom. @xref{Command line input}, pour un examples
-d'usage.
+s'appeleront @file{@var{chaîne}.log} et
+@file{@var{chaîne}.pdf}. @pxref{Jobname}.
@anchor{output directory}
@cindex répertoire de sortie pour tous les fichiers externes
@@ -15450,7 +16815,7 @@ Mac@TeX{}.
Au sein de l'invocation de ligne de commande @code{pdflatex
@var{options} @var{argument}} vous pouvez spécifier du code @LaTeX{}
arbitraire en entrée en commençant @var{argument} par une
-contr'oblique. Ceci permet de faire certains effet spéciaux.
+contr'oblique. Ceci permet de faire certains effets spéciaux.
@PkgIndex{hyperref}
@c
@@ -15492,21 +16857,157 @@ L'option @code{jobname} est là parce que sinon les deux fichiers en
sortie s'appeleraient @file{principal.pdf} et le second écraseraient le
premier.
-Dans ce dernier exemple on charge le paquetage @file{graphicx} avec l'option
-@code{draft}
+Dans cet exemple on passe l'option @code{draft} au paquetage
+@file{graphicx} :
-@c credit Herbert Voss: https://tex.stackexchange.com/a/17236/121234
@example
-pdflatex -jobname=aa "\RequirePackage[draft]@{graphicx@}\input@{aa.tex@}"
+pdflatex "\PassOptionsToPackage@{draft@}@{graphicx@}\input@{aa.tex@}"
@end example
@noindent
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 @code{jobname} est la parce que sinon autrement le fichier de
-sortie s'appelerait @file{graphicx.pdf}, comme @code{\RequirePackage}
-fait lui-même un @code{\input}).
+de dimension de boîte englobante, mais remplacés dans le PDF par une
+boîte de même taille ne contenant que le nom de fichier, ce qui accélère
+le temps de compilation, et économise l'encre d'imprimante.
+Un autre exemple classique est de cribler certains chapitres à la
+compilation en les passant à @code{\includeonly} dans la ligne de
+commande. Ainsi, supposons qu'on a un fichier racine @file{livre.tex}
+ainsi formé :
+
+@example
+\documentclass@{book@}
+\begin@{document@}
+\frontmatter
+\include@{pref@}
+\mainmatter
+\include@{chap1@}
+\include@{chap2@}
+\appendix
+\include@{append@}
+\backmatter
+\include@{bib@}
+\end@{document@}
+@end example
+
+En compilant @file{livre.tex} avec la ligne de commande suivante :
+
+@example
+pdflatex '\includeonly@{chap1@}\input@{livre@}
+@end example
+
+@noindent
+seul le chapitre contenu dans @file{chap1.tex} sera produit en
+sortie. @xref{Splitting the input}.
+
+Dans ce dernier exemple, on force la date au 14 juillet 1789 :
+
+@example
+pdflatex '\day=14 \month=7 \year=1789 \input revolution'
+@end example
+
+Ainsi, si le fichier @file{revolution.tex} contient ceci :
+
+@example
+\documentclass[french]@{minimal@}
+\usepackage@{babel@}
+\begin@{document@}
+\today\ c'est la révolution !
+\end@{document@}
+@end example
+
+@noindent
+alors vous aurez en sortie un truc du genre :
+
+@example
+14 juillet 1789 c’est la révolution !
+@end example
+
+@node Jobname
+@section Nom d'ouvrage de @TeX{}
+
+Quand vous exécutez @code{@command{pdflatex} @var{options}
+@var{argument}}, si @var{argument} ne commence pas par une contr'oblique
+alors @TeX{} considère que c'est le nom du fichier racine à lire en
+entrée. Le nom du fichier racine, sans l'extension @file{.tex} si elle
+est donnée, définit alors le @dfn{nom d'ouvrage}, celui-ci est utilisé pour
+nommer le fichier journal et le fichier de sortie.
+
+Autrement, si @var{argument} commence par une contr'oblique, il attend
+la première instruction @code{\input} et le nom du fichier en entrée
+devient le nom d'ouvrage.
+
+Au sein du document, la variable @code{\jobname} se développe dans le
+nom d'ouvrage, avec la particularité que tous les caractères sont de
+catcode 11 (lettre). Ainsi, si vous voulez utilisez le nom d'ouvrage
+comme une condition, la solution la plus simple est d'utiliser une macro
+de text du paquetage @file{xtring} dans sa variante étoilée pour être
+insensible au catcode. Dans le texte suivant par exemple, la note en bas
+de page « dont la Respublica Bananensis Francorum. » n'est présente que
+si le nom de tâche commence par @file{moi-meme}.
+
+@example
+Si une démocratie est juste un régime où les citoyens votent alors
+toutes les républiques bananières\IfBeginWith*@{\jobname@}@{moi-meme@}%
+@{\footnote@{dont la Respublica Bananensis Francorum.@}@}@{@} sont des
+démocraties.
+@end example
+
+Cela ne fonctionnerait pas si la version non étoilée de
+@code{\IfBeginWith} était utilisée, parce que le @code{-} dans
+@samp{moi-meme} a un catcode 12, alors que dans @code{\jobname}, s'il
+s'y trouve, il a nécessairement un catcode 11.
+
+Dans certains cas il peut être utile de fixer le nom de tâche à une
+autre valeur que celle par défaut, l'option @code{--jobname} permet de
+faire cela, elle l'emporte sur le premier @code{\input} et spécifie
+directement le nom. @xref{Command line input}, pour un exemple d'usage,
+où l'on génère deux fichiers @file{etudiants.pdf} et
+@file{professeurs.pdf} à partir d'un même code source @file{principal.tex}.
+
+En l'absence d'option @code{--jobname}, la valeur initiale de
+@code{\jobname} est @code{texput}, de sorte que si la compilation
+s'arrête avant le premier @code{\input}, le journal produit sera nommé
+@file{texput.log}. Par exemple la commande suivante :
+
+@example
+pdflatex "\nonstopmode\errmessage@{\string\jobname\space vaut \jobname@}"
+@end example
+
+produira un journal @file{textput.log} contenant le message d'erreur
+@samp{! \jobname vaut texput.}.
+
+Attention, le nom de tâche est également forcé à @file{texput} si le
+premier @code{\input} est indirectement appelé par @code{\documentclass}
+ou @code{\RequirePackage}. Ainsi l'exemple suivant produira un fichier
+nommé @file{texput.pdf} avec une version raisonnablement récente de
+@LaTeX{} :
+
+@example
+pdflatex "\documentclass@{minimal@}\begin@{document@}Bonjour !\end@{document@}"
+@end example
+
+mais avec une version plus ancienne le fichier de sortie se serait nommé
+@file{minimal.pdf}, parce que le premier @code{\input} appelé
+indirectement par @code{\documentclass} aurait été traité de la même
+façon que s'il chargeait le fichier source racine.
+
+Voici un autre exemple de cela, ici on reprend l'exemple donné dans
+@ref{Command line input} où l'on passe sur la ligne de commande l'option
+@code{draft} au paquetage @file{graphicx}. Mais au lieu de le faire avec
+@code{\PassOptionToPackage}, on le fait avec @code{\RequirePackage}, ce
+qui a également pour effet que le paquetage @file{graphicx} sera chargé
+en premier, si ce n'était pas déjà le cas.
+
+@c credit Herbert Voss: https://tex.stackexchange.com/a/17236/121234
+@example
+pdflatex --jobname=aa "\RequirePackage[draft]@{graphicx@}\input@{aa.tex@}"
+@end example
+
+L'option @code{--jobname=aa} est nécessaire, car elle garantit que le
+fichier de sortie se nommera bien @file{aa.pdf}, et non
+@file{texput.pdf} avec une version récente de @LaTeX{}, ni
+@file{graphicx.pdf} avec une version plus ancienne.
@node Recovering from errors
@section Quand quelque chose se passe mal
@@ -15703,10 +17204,10 @@ bénéfice de maintenir les valeurs de renvois).
\author{Alex Author}
\includeonly{%
- frontcover,
+% frontcover,
preface,
chap1,
- ...
+% appenA,
}
\begin{document}
@@ -15721,7 +17222,7 @@ bénéfice de maintenir les valeurs de renvois).
\include{chap1}
...
\appendix
-\include{appena}
+\include{appenA}
...
\backmatter
@@ -15780,7 +17281,7 @@ versions modifiées.
% % where |\T1\foo| is \emph{one} control sequence, not two!
\newcommand
-\def\ProvideTextCommand -- same with \providecommand
+\def\ProvideTextCommand % same with \providecommand
\@onlypreamble\DeclareTextCommand
\@onlypreamble\DeclareTextSymbol
\gdef\TextSymbolUnavailable#1{%