diff options
author | Karl Berry <karl@freefriends.org> | 2008-05-25 01:23:55 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2008-05-25 01:23:55 +0000 |
commit | f22884232834c29413bc93191ff09485ecb9e75d (patch) | |
tree | cb40b21d9f2a0165fba5b742bee65a498a64c678 /Master/texmf-doc | |
parent | 742b94f2b9f9e1ac6251bb36a49b421c628333da (diff) |
impatient-fr cleanup (20may08)
git-svn-id: svn://tug.org/texlive/trunk@8338 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-doc')
-rw-r--r-- | Master/texmf-doc/doc/french/impatient-fr/fbook.sdx | 1713 | ||||
-rw-r--r-- | Master/texmf-doc/doc/french/impatient-fr/fconcept.tex | 8136 | ||||
-rw-r--r-- | Master/texmf-doc/doc/french/impatient-fr/findex.tex | 37 | ||||
-rw-r--r-- | Master/texmf-doc/doc/french/impatient-fr/fmodes.tex | 4146 | ||||
-rw-r--r-- | Master/texmf-doc/doc/french/impatient-fr/fparas.tex | 4302 |
5 files changed, 8292 insertions, 10042 deletions
diff --git a/Master/texmf-doc/doc/french/impatient-fr/fbook.sdx b/Master/texmf-doc/doc/french/impatient-fr/fbook.sdx deleted file mode 100644 index ac7fcf2af21..00000000000 --- a/Master/texmf-doc/doc/french/impatient-fr/fbook.sdx +++ /dev/null @@ -1,1713 +0,0 @@ -\indexgroup + -\indexentry {0}{\visiblespace}{T}{\ic \pp{3}\c 57} -\indexentry {0}{\visiblespace}{C}{\ic 110\c 111\c 323} -\indexentry {0}{\char `\!}{T}{\ic 14} -\indexentry {0}{\char `\!}{C}{\ic \pp{222}\c 323} -\indexentry {0}{\char `\"}{C}{\ic \pp{106}\c 324} -\indexentry {0}{\char `\#}{T}{\ic 28\c 46\c \pp{73}\c 324} -\indexentry {1}{code de cat\'egorie}{N}{\ic 57} -\indexentry {1}{en texte ordinaire}{N}{\ic 15} -\indexentry {0}{\char `\#}{C}{\ic 15\c \pp{104}\c 324} -\indexentry {0}{\char `\$}{T}{\ic 16\c 28\c 99\c 324} -\indexentry {1}{code de cat\'egorie}{N}{\ic 56} -\indexentry {1}{en texte ordinaire}{N}{\ic 15} -\indexentry {0}{\char `\$}{C}{\ic 15\c \pp{104}\c 324} -\indexentry {0}{\$\$}{T}{\ic 16\c 79} -\indexentry {0}{\char `\%}{T}{\ic 13\c 28\c 324} -\indexentry {1}{code de cat\'egorie}{N}{\ic 57} -\indexentry {1}{en sortie}{N}{\ic 302} -\indexentry {1}{en texte ordinaire}{N}{\ic 15} -\indexentry {1}{pour \'eliminer des espaces non d\'esi\-r\'es}{N}{\ic 278} -\indexentry {0}{\char `\%}{C}{\ic 15\c \pp{104}\c 324} -\indexentry {0}{\char `\&}{T}{\ic 28\c 45\c 46\c 324} -\indexentry {1}{code de cat\'egorie}{N}{\ic 56} -\indexentry {1}{en texte ordinaire}{N}{\ic 15} -\indexentry {0}{\char `\&}{C}{\ic 15\c \pp{104}\c 324} -\indexentry {0}{\char `\'}{T}{\ic \pp{196}\c 324} -\indexentry {0}{\char `\'}{C}{\ic \pp{106}\c 324} -\indexentry {0}{\char `\)}{T}{\ic 64} -\indexentry {0}{\char `\*}{C}{\ic \pp{198}\c 324} -\indexentry {0}{\char `\+}{C}{\ic 45--46\c \pp{181}\c 324} -\indexentry {0}{\char `\,}{C}{\ic \pp{222}\c 324} -\indexentry {0}{\char `\-}{T}{\ic 14} -\indexentry {1}{m\`ene \`a {\tt\\hyphenpenalty}}{N}{\ic 131} -\indexentry {0}{\char `\-}{C}{\ic 55\c \pp{132}\c 324} -\indexentry {1}{sur une coupure de ligne}{N}{\ic 59\c 276} -\indexentry {0}{--}{T}{\ic 14} -\indexentry {0}{---}{T}{\ic 15} -\indexentry {0}{\char `\.}{T}{\ic 13} -\indexentry {0}{\char `\.}{C}{\ic \pp{106}\c 324} -\indexentry {0}{\char `\/}{T}{\ic 64} -\indexentry {0}{\char `\/}{C}{\ic \pp{112}\c 324} -\indexentry {0}{\char `\;}{C}{\ic \pp{222}\c 324} -\indexentry {0}{\char `\=}{T}{\ic 199} -\indexentry {0}{\char `\=}{C}{\ic \pp{106}\c 324} -\indexentry {0}{\char `\>}{C}{\ic \pp{222}\c 324} -\indexentry {0}{\char `\?}{T}{\ic 13} -\indexentry {0}{\char `\[}{T}{\ic 64} -\indexentry {0}{\char `\\}{T}{\ic 28\c 55\c 96\c 324} -\indexentry {1}{code de cat\'egorie}{N}{\ic 56} -\indexentry {1}{en texte ordinaire}{N}{\ic 15} -\indexentry {0}{\char `\]}{T}{\ic 64} -\indexentry {0}{\char `\^}{T}{\ic 28\c \pp{205}\c 324} -\indexentry {1}{code de cat\'egorie}{N}{\ic 57} -\indexentry {1}{en texte ordinaire}{N}{\ic 15} -\indexentry {0}{\char `\^}{C}{\ic \pp{106}\c 324} -\indexentry {0}{\twocarets ?}{T}{\ic 57} -\indexentry {0}{\twocarets @}{T}{\ic 57} -\indexentry {0}{\twocarets A}{T}{\ic 57} -\indexentry {0}{\twocarets I}{T}{\ic 54\c 57} -\indexentry {0}{\twocarets J}{T}{\ic 54} -\indexentry {0}{\twocarets K}{T}{\ic 57} -\indexentry {0}{\twocarets L}{T}{\ic 57\c 302\c 324} -\indexentry {0}{\twocarets M}{T}{\ic 54\c \pp{111}\c 301\c 324} -\indexentry {1}{code de cat\'egorie}{N}{\ic 57} -\indexentry {0}{\char `\_}{T}{\ic 28\c \pp{205}\c 324} -\indexentry {1}{code de cat\'egorie}{N}{\ic 57} -\indexentry {1}{en texte ordinaire}{N}{\ic 15} -\indexentry {0}{\char `\_}{C}{\ic 15\c \pp{104}\c 324} -\indexentry {0}{\char `\`}{C}{\ic \pp{106}\c 324} -\indexentry {0}{\char `\{}{T}{\ic 28\c \pp{235}\c 324} -\indexentry {1}{avec {\tt\\expandafter}}{N}{\ic 241} -\indexentry {1}{code de cat\'egorie}{N}{\ic 56} -\indexentry {1}{d\'ebuter un groupe}{N}{\ic 15\c 71} -\indexentry {1}{en texte ordinaire}{N}{\ic 15} -\indexentry {0}{\char `\{}{C}{\ic 64\c \pp{199}\c 324} -\indexentry {0}{\char `\|}{T}{\ic 196} -\indexentry {0}{\char `\|}{C}{\ic \pp{196}\c 324} -\indexentry {0}{\char `\}}{T}{\ic 28\c \pp{235}\c 324} -\indexentry {1}{code de cat\'egorie}{N}{\ic 56} -\indexentry {1}{en texte ordinaire}{N}{\ic 15} -\indexentry {1}{terminer un groupe}{N}{\ic 15\c 71} -\indexentry {0}{\char `\}}{C}{\ic 64\c \pp{199}\c 324} -\indexentry {0}{\char `\~}{T}{\ic 13\c 28\c 57\c \pp{111}\c 276\c 324} -\indexentry {1}{en texte ordinaire}{N}{\ic 15} -\indexentry {1}{sur une coupure de ligne}{N}{\ic 59} -\indexentry {0}{\char `\~}{C}{\ic \pp{106}\c 324} -\indexgroup A -\indexentry {0}{aa}{C}{\ic \pp{103}\c 324} -\indexentry {0}{AA}{C}{\ic \pp{103}\c 324} -\indexentry {0}{above}{C}{\ic \pp{208}\c 324} -\indexentry {0}{abovecolumnspenalty}{C}{\ic \pp{318}} -\indexentry {0}{abovedisplayshortskip}{C}{\ic \pp{225}\c 279\c 324} -\indexentry {0}{abovedisplayskip}{C}{\ic \pp{224}\c 279\c 325} -\indexentry {0}{abovewithdelims}{T}{\ic 63} -\indexentry {0}{abovewithdelims}{C}{\ic \pp{209}\c 325} -\indexentry {0}{accent}{C}{\ic \pp{106}\c 325} -\indexentry {0}{accent aigu}{N}{\ic 106\c 207} -\indexentry {0}{accent barre}{N}{\ic 207} -\indexentry {0}{accent barre dessous}{N}{\ic 207} -\indexentry {0}{accent bref}{N}{\ic 106\c 207} -\indexentry {0}{accent c\'edille}{N}{\ic 106} -\indexentry {0}{accent circonflexe}{N}{\ic 106\c 207} -\indexentry {0}{accent circonflexe invers\'e}{N}{\ic 106} -\indexentry {0}{accent circonflexe large}{N}{\ic 207} -\indexentry {0}{accent double point}{N}{\ic 207} -\indexentry {0}{accent grave}{N}{\ic 106\c 207} -\indexentry {0}{accent macron}{N}{\ic 106} -\indexentry {0}{accent point}{N}{\ic 106\c 207} -\indexentry {0}{accent point en dessous}{N}{\ic 106} -\indexentry {0}{accent tch\`eque}{N}{\ic 207} -\indexentry {0}{accent tie-after}{N}{\ic 106} -\indexentry {0}{accent tilde}{N}{\ic 106\c 207} -\indexentry {0}{accent tilde large}{N}{\ic 207} -\indexentry {0}{accent tr\'ema}{N}{\ic 106} -\indexentry {0}{accent tr\'ema Hongrois}{N}{\ic 106} -\indexentry {0}{accent vecteur}{N}{\ic 207} -\indexentry {0}{accents}{N}{\ic 28\c 106\c 207} -\indexentry {1}{aligner des}{N}{\ic 220--221} -\indexentry {0}{accolades}{N}{\ic 210\c 219} -\indexentry {1}{espace apr\`es}{N}{\ic 278} -\indexentry {1}{orphelines}{N}{\ic 283--284} -\indexentry {0}{accolades horizontales}{N}{\ic 219} -\indexentry {0}{actions r\'ep\'et\'ees}{N}{\ic 248--249} -\indexentry {0}{active}{C}{\ic 54\c \pp{259}\c 325} -\indexentry {0}{acute}{C}{\ic \pp{207}\c 325} -\indexentry {0}{adjdemerits}{C}{\ic \pp{131}\c 325} -\indexentry {0}{advance}{C}{\ic \pp{253}\c 325} -\indexentry {0}{advancepageno}{C}{\ic \pp{148}\c 325} -\indexentry {0}{ae}{C}{\ic \pp{103}\c 325} -\indexentry {0}{AE}{C}{\ic \pp{103}\c 325} -\indexentry {0}{affichages}{N}{} -\indexentry {1}{actions pour chaque affichage}{N}{\ic 226} -\indexentry {1}{multi-ligne}{N}{\ic 215--217} -\indexentry {1}{param\`etres d'espacement pour}{N}{\ic 224--225} -\indexentry {0}{affichages, formatage}{N}{\ic 305} -\indexentry {0}{afterassignment}{C}{\ic \pp{237}\c 325} -\indexentry {0}{aftergroup}{C}{\ic \pp{237}\c 317\c 325} -\indexentry {0}{aides au diagnostique}{N}{\ic 261--269} -\indexentry {0}{aleph}{C}{\ic \pp{196}\c 325} -\indexentry {0}{alignements}{N}{\ic \pp{45--48}} -\indexentry {1}{caract\`ere tabulation pour}{N}{\ic 56} -\indexentry {1}{commandes pour}{N}{\ic 181--192} -\indexentry {1}{espace entre rang\'ees d'}{N}{\ic 141} -\indexentry {1}{s\'equence de contr\^ole outer dans des}{N}{\ic 287} -\indexentry {1}{utiliser \b\tt\\offinterlineskip\e\ dans des}{N}{\ic 141} -\indexentry {0}{alignements tabul\'es}{N}{\ic 181--184} -\indexentry {0}{allowbreak}{C}{\ic \pp{127}\c \pp{142}\c 325} -\indexentry {0}{alpha}{C}{\ic \pp{195}\c 325} -\indexentry {0}{alphabets europ\'eens}{N}{\ic 103} -\indexentry {0}{amalg}{C}{\ic \pp{197}\c 325} -\indexentry {0}{\AMSTeX}{N}{\ic \r8\c 19} -\indexentry {0}{AMSTeX}{C}{\ic \pp{304}} -\indexentry {0}{\anatomy}{N}{\ic 17\c \pp{48--49}} -\indexentry {0}{angle}{C}{\ic \pp{196}\c 325} -\indexentry {0}{approx}{C}{\ic \pp{198}\c 199\c 325} -\indexentry {0}{arccos}{C}{\ic \pp{201}\c 325} -\indexentry {0}{arcsin}{C}{\ic \pp{201}\c 325} -\indexentry {0}{arctan}{C}{\ic \pp{201}\c 325} -\indexentry {0}{arg}{C}{\ic \pp{201}\c 325} -\indexentry {0}{\<argument>}{N}{\ic 4} -\indexentry {0}{arguments}{N}{\ic 4\c 11\c \pp{49--50}} -\indexentry {0}{arguments d\'elimit\'es}{N}{\ic 50} -\indexentry {0}{arguments non d\'elimit\'es}{N}{\ic 50} -\indexentry {0}{arithm\'etique}{N}{\ic 253--254} -\indexentry {0}{arrowvert}{C}{\ic \pp{220}\c 325} -\indexentry {0}{Arrowvert}{C}{\ic \pp{220}\c 325} -\indexentry {0}{\ascii}{N}{\ic 53\c 56\c 88} -\indexentry {0}{ASCII}{N}{\ic \pp{50--51}} -\indexentry {0}{assignements}{N}{\ic \pp{51}\c 87} -\indexentry {1}{de \boites}{N}{\ic 170} -\indexentry {1}{de registres}{N}{\ic 250} -\indexentry {0}{assistance informatique locale}{N}{\ic 9} -\indexentry {0}{ast}{C}{\ic \pp{197}\c 325} -\indexentry {0}{asymp}{C}{\ic \pp{198}\c 199\c 325} -\indexentry {0}{atop}{C}{\ic \pp{208}\c 325} -\indexentry {0}{atopwithdelims}{C}{\ic 63\c \pp{209}\c 325} -\indexentry {0}{autres caract\`eres}{N}{\ic 54\c 57} -\indexentry {0}{axe}{N}{\ic 221} -\indexgroup B -\indexentry {0}{\char `\b}{C}{\ic \pp{207}\c 325} -\indexentry {0}{backslash}{N}{\ic 234} -\indexentry {0}{backslash}{C}{\ic 64\c \pp{196}\c 325} -\indexentry {0}{badness}{C}{\ic 18\c \pp{176}\c 325} -\indexentry {0}{bar}{C}{\ic \pp{207}\c 325} -\indexentry {0}{barre de r\'evision}{N}{\ic 32} -\indexentry {0}{basculement en math\'ematique}{N}{\ic 56} -\indexentry {0}{baselineskip}{C}{\ic 95\c \pp{139--140}\c 141\c 326} -\indexentry {1}{et {\tt\\smallskipamount}, etc.}{N}{\ic 161} -\indexentry {1}{et pr\'eservation de fin de page}{N}{\ic 275} -\indexentry {0}{batchmode}{C}{\ic \pp{261}\c 326} -\indexentry {0}{begingroup}{C}{\ic \pp{235}\c 326} -\indexentry {0}{beginsection}{C}{\ic \pp{135}\c 326} -\indexentry {0}{belowdisplayshortskip}{C}{\ic \pp{225}\c 326} -\indexentry {0}{belowdisplayskip}{C}{\ic \pp{224}\c 326} -\indexentry {0}{beta}{N}{\ic 196} -\indexentry {0}{beta}{C}{\ic \pp{195}\c 326} -\indexentry {0}{bf}{C}{\ic \pp{109}\c 326} -\indexentry {0}{bffam}{C}{\ic \pp{218}\c 326} -\indexentry {0}{bgroup}{C}{\ic \pp{235}\c 326} -\indexentry {0}{bibliographies}{N}{\ic 14} -\indexentry {0}{\BibTeX}{N}{\ic 19} -\indexentry {0}{BibTeX}{C}{\ic \pp{304}} -\indexentry {0}{big}{C}{\ic \pp{219}\c 326} -\indexentry {0}{Big}{C}{\ic \pp{219}\c 326} -\indexentry {0}{bigbreak}{C}{\ic \pp{143}\c 326} -\indexentry {0}{bigcap}{C}{\ic \pp{202}\c 326} -\indexentry {0}{bigcirc}{C}{\ic \pp{197}\c 326} -\indexentry {0}{bigcup}{C}{\ic \pp{202}\c 326} -\indexentry {0}{bigg}{C}{\ic \pp{219}\c 326} -\indexentry {0}{Bigg}{C}{\ic \pp{219}\c 326} -\indexentry {0}{biggl}{C}{\ic \pp{219}\c 326} -\indexentry {0}{Biggl}{C}{\ic \pp{219}\c 326} -\indexentry {0}{biggm}{C}{\ic \pp{219}\c 326} -\indexentry {0}{Biggm}{C}{\ic \pp{219}\c 326} -\indexentry {0}{biggr}{C}{\ic \pp{219}\c 326} -\indexentry {0}{Biggr}{C}{\ic \pp{219}\c 326} -\indexentry {0}{bigl}{C}{\ic \pp{219}\c 326} -\indexentry {0}{Bigl}{C}{\ic \pp{219}\c 326} -\indexentry {0}{bigm}{C}{\ic 197\c \pp{219}\c 326} -\indexentry {0}{Bigm}{C}{\ic \pp{219}\c 326} -\indexentry {0}{bigodot}{C}{\ic \pp{202}\c 326} -\indexentry {0}{bigoplus}{C}{\ic \pp{202}\c 326} -\indexentry {0}{bigotimes}{C}{\ic \pp{202}\c 326} -\indexentry {0}{bigr}{C}{\ic 64\c \pp{219}\c 326} -\indexentry {0}{Bigr}{C}{\ic \pp{219}\c 326} -\indexentry {0}{bigskip}{C}{\ic 143\c \pp{160}\c 326} -\indexentry {0}{bigskipamount}{C}{\ic \pp{161}\c 327} -\indexentry {0}{bigsqcup}{C}{\ic \pp{202}\c 327} -\indexentry {0}{bigtriangledown}{C}{\ic \pp{197}\c 327} -\indexentry {0}{bigtriangleup}{C}{\ic \pp{197}\c 327} -\indexentry {0}{biguplus}{C}{\ic \pp{202}\c 327} -\indexentry {0}{bigvee}{C}{\ic \pp{202}\c 327} -\indexentry {0}{bigwedge}{C}{\ic \pp{202}\c 327} -\indexentry {0}{binoppenalty}{C}{\ic \pp{132}\c 327} -\indexentry {0}{blackbox}{C}{\ic \pp{304}} -\indexentry {0}{bmod}{C}{\ic \pp{201}\c 327} -\indexentry {0}{\boites}{N}{\ic 17\c \pp{51--53}} -\indexentry {1}{copie}{N}{\ic 170\c 171} -\indexentry {1}{d\'eplacement}{N}{\ic 172--173} -\indexentry {1}{derni\`ere \boite\ dans une liste}{N}{\ic 177} -\indexentry {1}{dessiner des}{N}{\ic 32} -\indexentry {1}{extraction de contenu de}{N}{\ic 171} -\indexentry {1}{extraction du contenu de}{N}{\ic 171} -\indexentry {1}{fant\^ome}{N}{\ic 174--175} -\indexentry {1}{hauteur de}{N}{\ic 71} -\indexentry {1}{invisible}{N}{\ic 97} -\indexentry {1}{largeur de}{N}{\ic 72} -\indexentry {1}{lignes de base de}{N}{\ic 72} -\indexentry {1}{overfull}{N}{\ic 175--177\c 276--278} -\indexentry {1}{point de r\'ef\'erence de}{N}{\ic 88} -\indexentry {1}{profondeur de}{N}{\ic 90} -\indexentry {1}{ressort avec}{N}{\ic 93} -\indexentry {1}{tester si elle est vide}{N}{\ic 246} -\indexentry {1}{underfull}{N}{\ic 175--177\c 276--278} -\indexentry {1}{vides}{N}{\ic 175} -\indexentry {0}{bordermatrix}{C}{\ic \pp{213}\c 327} -\indexentry {0}{bot}{C}{\ic \pp{196}\c 327} -\indexentry {0}{botmark}{C}{\ic 77\c 78\c \pp{150}\c 327} -\indexentry {0}{bouche}{N}{\ic 16\c \pp{48}\seealso{\anatomy}} -\indexentry {0}{boucles}{N}{\ic 248--249} -\indexentry {0}{bowtie}{C}{\ic \pp{198}\c 327} -\indexentry {0}{box}{C}{\ic \pp{170}\c 171\c 327} -\indexentry {0}{boxmaxdepth}{C}{\ic 53\c 168\c \pp{169}\c 327} -\indexentry {0}{box255}{C}{\ic 85\c 91\c 150\c 154} -\indexentry {0}{brace}{C}{\ic \pp{208}\c 327} -\indexentry {0}{bracevert}{C}{\ic \pp{220}\c 327} -\indexentry {0}{brack}{C}{\ic \pp{208}\c 327} -\indexentry {0}{break}{C}{\ic 59\c \pp{126}\c \pp{142}\c 327} -\indexentry {1}{corriger des coupures de ligne avec}{N}{\ic 276} -\indexentry {1}{fin de ligne sur}{N}{\ic 286} -\indexentry {0}{breve}{C}{\ic \pp{207}\c 327} -\indexentry {0}{brokenpenalty}{C}{\ic \pp{145}\c 327} -\indexentry {0}{buildrel}{C}{\ic \pp{210}\c 327} -\indexentry {0}{bullet}{C}{\ic \pp{197}\c 327} -\indexentry {0}{bye}{C}{\ic \pp{255}\c 327} -\indexgroup C -\indexentry {0}{\char `\c}{C}{\ic \pp{106}\c 327} -\indexentry {0}{cadr\'e \`a droite}{N}{\ic 95\c 115\c 121\c 316--317} -\indexentry {0}{cadr\'e \`a gauche}{N}{\ic 95\c 115\c 122\c 316--317} -\indexentry {0}{cal}{C}{\ic \pp{217}\c 327} -\indexentry {0}{cap}{C}{\ic \pp{197}\c 327} -\indexentry {0}{caract\`ere d'\'echappement}{N}{\ic \pp{55}\c 82\c 96\c 98} -\indexentry {1}{code de cat\'egorie}{N}{\ic 56} -\indexentry {1}{repr\'esent\'e par \b\tt\\escapechar\e}{N}{\ic 234} -\indexentry {0}{caract\`eres}{N}{\ic 50\c \pp{53--54}\c 105} -\indexentry {1}{code de cat\'egorie}{N}{\ic 56} -\indexentry {1}{codes \ascii\ pour}{N}{\ic 83} -\indexentry {1}{d\'efinis par \b\tt\\chardef\e}{N}{\ic 240} -\indexentry {1}{sp\'eciaux}{N}{\ic 28} -\indexentry {0}{caract\`eres actifs}{N}{\ic \pp{54--55}\c 57} -\indexentry {0}{caract\`eres de contr\^ole}{N}{\ic 7\c 50\c 54} -\indexentry {0}{caract\`eres entr\'ees}{N}{\ic 288} -\indexentry {0}{caract\`eres espace}{N}{\ic 24\c 303} -\indexentry {0}{caract\`eres espaces}{N}{} -\indexentry {1}{code de cat\'egorie}{N}{\ic 57} -\indexentry {0}{caract\`eres ignor\'es}{N}{\ic 57} -\indexentry {0}{caract\`eres imprimables}{N}{\ic 50} -\indexentry {0}{caract\`eres invalides}{N}{\ic 57} -\indexentry {0}{caract\`eres math\'ematiques}{N}{\ic 240} -\indexentry {1}{d\'ecrits par mathcodes}{N}{\ic 78} -\indexentry {0}{caract\`eres sp\'eciaux}{N}{\ic 104} -\indexentry {0}{caract\'eristiques de programmation}{N}{\ic 229} -\indexentry {0}{cases}{C}{\ic \pp{209}\c 327} -\indexentry {0}{catcode}{C}{\ic 54\c 55\c 56\c \pp{259}\c 327} -\indexentry {0}{cdot}{C}{\ic \pp{197}\c 204\c 327} -\indexentry {0}{cdotp}{C}{\ic \pp{204}\c 327} -\indexentry {0}{cdots}{C}{\ic \pp{211}\c 327} -\indexentry {0}{center}{C}{\ic \pp{316}} -\indexentry {0}{centereddisplays}{C}{\ic \pp{305}} -\indexentry {0}{centerline}{C}{\ic 95\c \pp{115}\c 328} -\indexentry {0}{centim\`etre}{N}{\ic 62} -\indexentry {0}{centrage}{N}{\ic 34\c 115} -\indexentry {0}{c\'esure}{N}{\ic 34\c \pp{55}\c 132--135\c 145} -\indexentry {1}{allemande}{N}{\ic 133} -\indexentry {1}{p\'enalit\'es pour}{N}{\ic 131--132} -\indexentry {0}{c\'esures optionnelles}{N}{\ic 55\c 59\c 131\c 132} -\indexentry {1}{mauvaises coupures de ligne, corriger avec}{N}{\ic 276} -\indexentry {1}{overfull boxes, corriger avec}{N}{\ic 277} -\indexentry {0}{champignons}{N}{\ic 38} -\indexentry {0}{char}{C}{\ic 54\c 56\c \pp{105}\c 328} -\indexentry {0}{chardef}{C}{\ic \pp{240}\c 242\c 328} -\indexentry {0}{check}{C}{\ic \pp{207}\c 328} -\indexentry {0}{chi}{C}{\ic \pp{195}\c 328} -\indexentry {0}{chiffres hexad\'ecimaux}{N}{\ic 54} -\indexentry {0}{chiffres romain}{N}{\ic 232} -\indexentry {0}{choose}{C}{\ic \pp{208}\c 328} -\indexentry {0}{cic\'ero}{N}{\ic 62} -\indexentry {0}{circ}{C}{\ic \pp{197}\c 328} -\indexentry {0}{classe}{N}{\ic \pp{56}\c 218\c 226} -\indexentry {1}{d'un d\'elimiteur}{N}{\ic 64} -\indexentry {0}{cleaders}{C}{\ic 91--93\c \pp{179}\c 328} -\indexentry {0}{cleartabs}{C}{\ic \pp{184}\c 328} -\indexentry {0}{closein}{C}{\ic 68\c \pp{256}\c 328} -\indexentry {0}{closeout}{C}{\ic 68\c \pp{257}\c 328} -\indexentry {1}{avec {\tt\\immediate}}{N}{\ic 258} -\indexentry {1}{\elementextra\ produit par}{N}{\ic 66} -\indexentry {0}{clubpenalty}{C}{\ic \pp{144}\c 328} -\indexentry {0}{clubsuit}{C}{\ic \pp{196}\c 328} -\indexentry {0}{cmex10}{T}{\ic 220} -\indexentry {0}{cmtt10}{T}{\ic 116} -\indexentry {0}{\<code de caract\`ere>}{N}{\ic 4} -\indexentry {0}{codes de cat\'egorie}{N}{\ic \pp{56--58}} -\indexentry {1}{attach\'e pendant l'entr\'ee}{N}{\ic 53} -\indexentry {1}{cause d'espaces non d\'esir\'es}{N}{\ic 278} -\indexentry {1}{changement}{N}{\ic 288--289} -\indexentry {1}{de caract\`eres actifs}{N}{\ic 54} -\indexentry {1}{d\'efinitions pratiques pour}{N}{\ic 301} -\indexentry {1}{en table de \b\tt\\catcode\e}{N}{\ic 259} -\indexentry {1}{pour texte verbatim}{N}{\ic 285} -\indexentry {1}{tester}{N}{\ic 243} -\indexentry {0}{codes d\'elimiteurs}{N}{\ic 64--65\c 215\c 260} -\indexentry {0}{colon}{C}{\ic \pp{204}\c 328} -\indexentry {0}{colonne}{N}{\ic 184} -\indexentry {0}{combinaisons, notation pour des}{N}{\ic 209} -\indexentry {0}{commandes}{N}{\ic 3\c 10--11\c \pp{58}} -\indexentry {1}{arguments de}{N}{\ic 49} -\indexentry {1}{versus s\'equences de contr\^ole}{N}{\ic 11} -\indexentry {0}{commandes de \boites}{N}{\ic 166--177} -\indexentry {0}{commentaires}{N}{\ic \pp{13}\c 24\c 57} -\indexentry {0}{condition incompl\`ete}{N}{\ic 287} -\indexentry {0}{cong}{C}{\ic \pp{198}\c 199\c 328} -\indexentry {0}{constantes d\'ecimales}{N}{\ic \pp{59}\c 84} -\indexentry {0}{constructeur de page}{N}{\ic 85} -\indexentry {0}{construction de page}{N}{\ic \pp{59}} -\indexentry {0}{contr\^oler \TeX}{N}{\ic 260--261} -\indexentry {0}{contributions r\'ecentes}{N}{\ic 85} -\indexentry {0}{conversion de casse}{N}{\ic 109--110} -\indexentry {0}{coprod}{C}{\ic \pp{202}\c 328} -\indexentry {0}{copy}{C}{\ic \pp{170}\c 328} -\indexentry {0}{copyright}{C}{\ic \pp{104}\c 328} -\indexentry {0}{cos}{C}{\ic \pp{201}\c 328} -\indexentry {0}{cosh}{C}{\ic \pp{201}\c 328} -\indexentry {0}{cot}{C}{\ic \pp{201}\c 328} -\indexentry {0}{coth}{C}{\ic \pp{201}\c 328} -\indexentry {0}{couleurs de carte \`a jouer}{N}{\ic 28\c 196} -\indexentry {0}{count}{C}{\ic 49\c \pp{250}\c 254\c 328} -\indexentry {0}{countdef}{C}{\ic \pp{253}\c 328} -\indexentry {0}{count0}{C}{\ic 148} -\indexentry {0}{coupures de ligne}{N}{\ic 17\c 48\c \pp{59--60}\c 126--135\c 280} -\indexentry {1}{cr\'enages sur des}{N}{\ic 163} -\indexentry {1}{dans des formules math\'ematiques}{N}{\ic 127} -\indexentry {1}{d\'em\'erites pour}{N}{\ic 65} -\indexentry {1}{effacer une}{N}{\ic 13} -\indexentry {1}{encouragement ou d\'ecouragement}{N}{\ic 126--128} -\indexentry {1}{et formation de paragraphe}{N}{\ic 120--126} -\indexentry {1}{mauvaises}{N}{\ic 276} -\indexentry {1}{m\'ediocrit\'e pour}{N}{\ic 79} -\indexentry {1}{param\`etres affectant les}{N}{\ic 128--132} -\indexentry {1}{tracer}{N}{\ic 267} -\indexentry {0}{coupures de page}{N}{\ic \pp{60--61}\c 142--146} -\indexentry {1}{cr\'enages sur des}{N}{\ic 163} -\indexentry {1}{en liste d\'edoubl\'ees}{N}{\ic 156} -\indexentry {1}{encourager ou d\'ecourager}{N}{\ic 142--144} -\indexentry {1}{ins\'er\'ees par l'estomac de \TeX}{N}{\ic 17} -\indexentry {1}{insertions sur des}{N}{\ic 72} -\indexentry {1}{mauvaises}{N}{\ic 273--276} -\indexentry {1}{m\'ediocrit\'e pour}{N}{\ic 79} -\indexentry {1}{param\`etres de}{N}{\ic 144--146} -\indexentry {1}{ressort sur}{N}{\ic 275} -\indexentry {1}{tracer}{N}{\ic 267} -\indexentry {0}{cr}{C}{\ic 45--48\c \pp{186}\c 187\c 328} -\indexentry {0}{crcr}{C}{\ic \pp{187}\c 328} -\indexentry {0}{cr\'enages}{N}{\ic \pp{61}\c 163} -\indexentry {1}{comme \'el\'ements de liste}{N}{\ic 51} -\indexentry {1}{cr\'eer de l'espace avec}{N}{\ic 67} -\indexentry {1}{dans des formules math\'ematiques}{N}{\ic 223} -\indexentry {1}{dernier cr\'enage dans une liste}{N}{\ic 177} -\indexentry {0}{csc}{C}{\ic \pp{201}\c 328} -\indexentry {0}{csname}{C}{\ic 234\c \pp{241}\c 328} -\indexentry {1}{d\'evelopp\'e par les r\`egles d'{\tt\\edef}}{N}{\ic 239} -\indexentry {0}{cup}{C}{\ic \pp{197}\c 328} -\indexgroup D -\indexentry {0}{\char `\d}{C}{\ic \pp{106}\c 328} -\indexentry {0}{dag}{C}{\ic \pp{104}\c 328} -\indexentry {0}{dagger}{C}{\ic \pp{197}\c 328} -\indexentry {0}{dashv}{C}{\ic \pp{198}\c 328} -\indexentry {0}{date}{N}{\ic 233\c 307} -\indexentry {0}{day}{C}{\ic \pp{233}\c 307\c 328} -\indexentry {0}{ddag}{C}{\ic \pp{104}\c 328} -\indexentry {0}{ddagger}{C}{\ic \pp{197}\c 328} -\indexentry {0}{ddot}{C}{\ic \pp{207}\c 329} -\indexentry {0}{ddots}{C}{\ic \pp{211}\c 329} -\indexentry {0}{deadcycles}{C}{\ic \pp{155}\c 329} -\indexentry {0}{debugger}{N}{\ic 261--269} -\indexentry {0}{def}{C}{\ic 96\c \pp{238}\c 329} -\indexentry {1}{rendre global}{N}{\ic 70} -\indexentry {0}{defaulthyphenchar}{C}{\ic \pp{135}\c 329} -\indexentry {0}{defaultskewchar}{C}{\ic \pp{221}\c 329} -\indexentry {0}{deg}{C}{\ic \pp{201}\c 329} -\indexentry {0}{delcode}{C}{\ic 64\c 215\c \pp{260}\c 329} -\indexentry {0}{delimiter}{C}{\ic 64\c \pp{212}\c 329} -\indexentry {0}{delimiterfactor}{C}{\ic \pp{213}\c 329} -\indexentry {0}{delimitershortfall}{C}{\ic \pp{213}\c 329} -\indexentry {0}{d\'elimiteurs}{N}{\ic \pp{63--65}\c 199--200\c 212--213} -\indexentry {1}{\'elargis}{N}{\ic 219} -\indexentry {1}{hauteur des}{N}{\ic 213} -\indexentry {1}{nuls, espace pour}{N}{\ic 225} -\indexentry {1}{parties de}{N}{\ic 220} -\indexentry {0}{delta}{C}{\ic \pp{195}\c 329} -\indexentry {0}{Delta}{C}{\ic \pp{195}\c 329} -\indexentry {0}{d\'em\'erites}{N}{\ic 59\c \pp{65}} -\indexentry {0}{Desgraupes, Bernard}{N}{\ic 20} -\indexentry {0}{det}{C}{\ic \pp{201}\c 205\c 329} -\indexentry {0}{d\'evelopper des tokens}{N}{\ic 16} -\indexentry {0}{diamond}{C}{\ic \pp{197}\c 329} -\indexentry {0}{diamondsuit}{C}{\ic \pp{196}\c 329} -\indexentry {0}{\didotpt}{N}{\ic 62} -\indexentry {0}{dim}{C}{\ic \pp{201}\c 329} -\indexentry {0}{dimen}{C}{\ic \pp{250}\c 254\c 329} -\indexentry {0}{dimendef}{C}{\ic \pp{253}\c 329} -\indexentry {0}{\<dimension>}{N}{\ic 4\c 284} -\indexentry {0}{dimensions}{N}{\ic \pp{61--62}} -\indexentry {1}{comparer}{N}{\ic 245} -\indexentry {1}{de registres de \boite}{N}{\ic 173} -\indexentry {1}{maximum}{N}{\ic 252} -\indexentry {1}{n\'egatives}{N}{\ic 62} -\indexentry {0}{dimensions de page}{N}{\ic 146} -\indexentry {0}{discretionary}{C}{\ic \pp{132}\c 329} -\indexentry {0}{displayindent}{C}{\ic \pp{224}\c 329} -\indexentry {0}{displaylimits}{C}{\ic \pp{203}\c 329} -\indexentry {0}{displaylines}{C}{\ic \pp{215}\c 306\c 329} -\indexentry {0}{displaysetup}{C}{\ic 306} -\indexentry {0}{displaystyle}{C}{\ic 98\c \pp{206}\c 329} -\indexentry {0}{displaywidowpenalty}{C}{\ic \pp{144}\c 329} -\indexentry {0}{displaywidth}{C}{\ic \pp{224}\c 329} -\indexentry {0}{dispositifs de sortie}{N}{\ic 8} -\indexentry {0}{disposition de page}{N}{\ic \pp{62--63}} -\indexentry {0}{div}{C}{\ic \pp{197}\c 329} -\indexentry {0}{divide}{C}{\ic \pp{254}\c 329} -\indexentry {0}{dot}{C}{\ic \pp{207}\c 329} -\indexentry {0}{doteq}{C}{\ic \pp{198}\c 329} -\indexentry {0}{dotfill}{C}{\ic \pp{180}\c 329} -\indexentry {0}{dots}{C}{\ic \pp{105}\c 329} -\indexentry {0}{double colonnes}{N}{\ic 319} -\indexentry {0}{double espacement}{N}{\ic 140} -\indexentry {0}{doublehyphendemerits}{C}{\ic \pp{131}\c 329} -\indexentry {0}{downarrow}{C}{\ic 64\c \pp{200}\c 330} -\indexentry {0}{Downarrow}{C}{\ic 64\c \pp{200}\c 330} -\indexentry {0}{downbracefill}{C}{\ic \pp{219}\c 330} -\indexentry {0}{dp}{C}{\ic \pp{173}\c 330} -\indexentry {0}{drivers}{N}{\see{drivers de p\'eriph\'erique}} -\indexentry {0}{drivers d'impression}{N}{\ic 258} -\indexentry {0}{drivers de p\'eriph\'erique}{N}{\ic 8\c 89} -\indexentry {1}{instructions par \b\tt\\special\e}{N}{\ic 258} -\indexentry {1}{origine de la page connu des}{N}{\ic 146} -\indexentry {0}{droite}{N}{\ic 99} -\indexentry {0}{dump}{C}{\ic 69\c \pp{271}\c 330} -\indexentry {0}{\dvifile}{N}{\ic 8} -\indexentry {1}{\boite\ enregistr\'e dans le fichier}{N}{\ic 266} -\indexentry {1}{comme un fichier r\'esultat}{N}{\ic 68} -\indexentry {1}{convertit par driver}{N}{\ic 89} -\indexentry {1}{cr\'e\'e par l'intestin de \TeX}{N}{\ic 17\c 49} -\indexentry {1}{\elementextra\ en}{N}{\ic 66} -\indexentry {1}{mat\'eriel de la routine de sortie}{N}{\ic 60\c 85\c 95\c 96} -\indexentry {1}{mat\'eriel ins\'er\'e par \b\tt\\special\e}{N}{\ic 66} -\indexentry {1}{r\'eception de \boites\ de \b\tt\\shipout\e}{N}{\ic 154} -\indexgroup E -\indexentry {0}{\ecrire\ un fichier}{N}{\ic 258} -\indexentry {0}{edef}{C}{\ic \pp{238}\c 330} -\indexentry {1}{expansion de {\tt\\'\it c} en}{N}{\ic 84} -\indexentry {1}{rendre global}{N}{\ic 70} -\indexentry {0}{\editeur}{N}{\ic 7} -\indexentry {0}{egroup}{C}{\ic \pp{235}\c 330} -\indexentry {0}{ehrule}{C}{\ic \pp{302}} -\indexentry {0}{eject}{C}{\ic \pp{143}\c 274\c 330} -\indexentry {0}{El Paso}{N}{\ic 99} -\indexentry {0}{\elementextra}{N}{\ic \pp{66}\c 134} -\indexentry {0}{\elements}{N}{\ic \pp{65}} -\indexentry {0}{ell}{C}{\ic \pp{196}\c 330} -\indexentry {0}{else}{C}{\ic 99\c \pp{248}\c 330} -\indexentry {0}{em}{T}{\ic 62} -\indexentry {0}{emergencystretch}{C}{\ic 18\c \pp{129}\c 276\c 330} -\indexentry {0}{empty}{C}{\ic \pp{250}\c 330} -\indexentry {0}{emptyset}{C}{\ic \pp{196}\c 330} -\indexentry {0}{en}{N}{\ic 160} -\indexentry {0}{end}{C}{\ic \pp{255}\c 330} -\indexentry {0}{endcsname}{C}{\ic 330} -\indexentry {0}{endgraf}{C}{\ic \pp{117}\c 330} -\indexentry {0}{endgroup}{C}{\ic \pp{235}\c 330} -\indexentry {0}{endinput}{C}{\ic \pp{255}\c 330} -\indexentry {0}{endinsert}{C}{\ic \pp{153}\c 330} -\indexentry {0}{endline}{C}{\ic \pp{187}\c 330} -\indexentry {0}{endlinechar}{C}{\ic \pp{260}\c 289\c 330} -\indexentry {0}{enskip}{C}{\ic \pp{160}\c 330} -\indexentry {0}{enspace}{C}{\ic \pp{160}\c 330} -\indexentry {0}{ent\^etes}{N}{\ic 62--63\c \pp{66}} -\indexentry {1}{marques utilis\'es en}{N}{\ic 77} -\indexentry {1}{multi-lignes}{N}{\ic 282--283} -\indexentry {0}{ent\^etes de section}{N}{\ic 135} -\indexentry {0}{entr\'ee (colonne ou rang\'ee)}{N}{\ic 45\c 184--185} -\indexentry {0}{\enumerations}{N}{\ic 308--310} -\indexentry {0}{environment}{C}{\ic \pp{315}} -\indexentry {0}{environnements}{N}{\ic 314} -\indexentry {0}{eplain.tex}{T}{\ic 19\c 301--321} -\indexentry {0}{epsilon}{C}{\ic \pp{195}\c 330} -\indexentry {0}{eq}{C}{\ic \pp{305}} -\indexentry {0}{eqalign}{C}{\ic \pp{216}\c 330} -\indexentry {0}{eqalignno}{C}{\ic \pp{216}\c 306\c 330} -\indexentry {0}{eqdef}{C}{\ic \pp{314}} -\indexentry {0}{eqn}{C}{\ic \pp{305}} -\indexentry {0}{eqno}{C}{\ic \pp{215}\c 330} -\indexentry {0}{eqprint}{C}{\ic \pp{314}} -\indexentry {0}{eqref}{C}{\ic \pp{314}} -\indexentry {0}{\equations, labelisation}{N}{\ic 314} -\indexentry {0}{equiv}{C}{\ic \pp{198}\c 199\c 330} -\indexentry {0}{errhelp}{C}{\ic \pp{269}\c 270\c 330} -\indexentry {0}{errmessage}{C}{\ic \pp{269}\c 330} -\indexentry {1}{d\'evelopp\'e par les r\`egles d'{\tt\\edef}}{N}{\ic 239} -\indexentry {0}{errorcontextlines}{C}{\ic 18\c \pp{270}\c 298\c 330} -\indexentry {0}{errorstopmode}{C}{\ic \pp{260}\c 331} -\indexentry {0}{escapechar}{C}{\ic 55\c \pp{234}\c 258\c 331} -\indexentry {0}{espace}{N}{\ic 12--13\c \pp{66--67}} -\indexentry {1}{dans des formules math\'ematiques}{N}{\ic 222--223} -\indexentry {1}{inter-mots}{N}{\ic 93\c 110--114} -\indexentry {1}{non d\'esir\'e}{N}{\ic 278--279} -\indexentry {1}{perdu}{N}{\ic 278} -\indexentry {1}{production d'}{N}{\ic 159--165} -\indexentry {1}{visible}{N}{\ic \pp{3}} -\indexentry {0}{espace blanc, pr\'eserver de l'}{N}{\ic 286} -\indexentry {0}{espace contr\^ol\'e}{N}{\ic 10\c 110\c 278} -\indexentry {0}{espace horizontal}{N}{\ic 159--160\c 161--165} -\indexentry {0}{espace non d\'esir\'e}{N}{\ic 12} -\indexentry {0}{espace suppl\'ementaire}{N}{\ic 222\c 266} -\indexentry {0}{espace vertical}{N}{\ic 160--165} -\indexentry {1}{r\'eserver en haut d'une page}{N}{\ic 275} -\indexentry {0}{espace visible}{N}{\ic 110} -\indexentry {0}{espacement}{N}{\ic 113} -\indexentry {1}{ajuster avec des cr\'enages}{N}{\ic 61} -\indexentry {1}{inter-ligne}{N}{\ic 30} -\indexentry {0}{espacement de ligne}{N}{\ic 139} -\indexentry {0}{espacement inter-mots}{N}{\ic 79\c 112\c 113} -\indexentry {0}{estomac}{N}{\ic 16\c \pp{48}\seealso{\anatomy}} -\indexentry {0}{eta}{C}{\ic \pp{195}\c 331} -\indexentry {0}{\etirement}{N}{\ic \pp{67}\c 93--95} -\indexentry {0}{everycr}{C}{\ic 186\c \pp{192}\c 331} -\indexentry {0}{everydisplay}{C}{\ic \pp{226}\c 306\c 308\c 331} -\indexentry {0}{everyfootnote}{C}{\ic \pp{319}} -\indexentry {0}{everyhbox}{C}{\ic \pp{170}\c 331} -\indexentry {0}{everyjob}{C}{\ic \pp{271}\c 331} -\indexentry {0}{everymath}{C}{\ic \pp{226}\c 331} -\indexentry {0}{everypar}{C}{\ic 86\c 116\c \pp{119}\c 331} -\indexentry {1}{pour fixer \b\tt\\looseness\e}{N}{\ic 130} -\indexentry {1}{pour indentation r\'emanente}{N}{\ic 124} -\indexentry {0}{everyvbox}{C}{\ic \pp{170}\c 331} -\indexentry {0}{evrule}{C}{\ic \pp{302}} -\indexentry {0}{ex}{T}{\ic 62} -\indexentry {0}{ex\'ecuter \TeX}{N}{\ic 9\c 260--261} -\indexentry {0}{exhyphenpenalty}{C}{\ic \pp{131}\c 331} -\indexentry {0}{exists}{C}{\ic \pp{196}\c 331} -\indexentry {0}{exp}{C}{\ic \pp{201}\c 331} -\indexentry {0}{expandafter}{C}{\ic 238\c \pp{241}\c 331} -\indexentry {0}{exposants}{N}{\ic 57\c 205--206} -\indexentry {0}{extensions math\'ematiques}{N}{\ic 67} -\indexgroup F -\indexentry {0}{facteur}{N}{\ic 62} -\indexentry {0}{facteur d'\'echelle}{N}{\ic 231} -\indexentry {0}{fam}{C}{\ic \pp{218}\c 331} -\indexentry {0}{famille}{N}{\ic \pp{67}} -\indexentry {1}{comme partie de mathcode}{N}{\ic 78} -\indexentry {1}{donn\'ee par \b\tt\\fam\e}{N}{\ic 218} -\indexentry {1}{r\'eserv\'ee par \b\tt\\newfam\e}{N}{\ic 252} -\indexentry {1}{taille script en}{N}{\ic 98} -\indexentry {1}{taille scriptscript en}{N}{\ic 98} -\indexentry {1}{taille texte en}{N}{\ic 98} -\indexentry {1}{variable}{N}{\ic 79} -\indexentry {0}{fant\^omes}{N}{\ic 174--175} -\indexentry {0}{fermant}{N}{\ic 199} -\indexentry {0}{fi}{C}{\ic 99\c \pp{248}\c 331} -\indexentry {0}{fichier de forme}{N}{\ic 76\c 89} -\indexentry {0}{fichier de formes}{N}{\ic 8} -\indexentry {0}{fichier de m\'etriques}{N}{} -\indexentry {1}{caract\`ere oblique par d\'efaut dans le}{N}{\ic 221} -\indexentry {0}{fichier de pixel}{N}{\ic 89} -\indexentry {0}{fichier format}{N}{\ic \pp{69}\c 271} -\indexentry {0}{fichier log}{N}{\ic \pp{69}} -\indexentry {1}{\'ecrire par \b\tt\\wlog\e}{N}{\ic 269} -\indexentry {1}{\'ecrit par \b\tt\\write\e}{N}{\ic 258} -\indexentry {1}{message d'erreur}{N}{\ic 293} -\indexentry {1}{tracer des statistiques dans le}{N}{\ic 268} -\indexentry {0}{fichier r\'esultat}{N}{\ic 68} -\indexentry {0}{fichier source}{N}{\ic 9\c 48\c 67} -\indexentry {0}{fichiers}{N}{\ic \pp{67--69}\c 255--259} -\indexentry {1}{tester l'existence de}{N}{\ic 305} -\indexentry {0}{fichiers auxiliaires}{N}{\ic 234} -\indexentry {0}{fichiers de m\'etriques}{N}{\ic 8\c 65\c 229} -\indexentry {1}{correction italique dans}{N}{\ic 112} -\indexentry {1}{tiret de c\'esure par d\'efaut dans}{N}{\ic 135} -\indexentry {0}{fichiers de polices}{N}{\ic 8} -\indexentry {0}{fichiers de sortie}{N}{\ic 257--259} -\indexentry {0}{fichiers d'entr\'ee}{N}{\ic 255--257} -\indexentry {1}{imbriqu\'e}{N}{\ic 9} -\indexentry {0}{fil}{T}{\ic 62\c 94} -\indexentry {0}{filbreak}{C}{\ic \pp{143}\c 274\c 331} -\indexentry {0}{filets}{N}{\ic \pp{69--70}\c 178--179\c 281--282} -\indexentry {1}{\'epaisseur de}{N}{\ic 302} -\indexentry {0}{filets horizontaux}{N}{\ic 69--70\c 178--179} -\indexentry {0}{filets verticaux}{N}{\ic 69--70\c 178--179} -\indexentry {0}{fill}{T}{\ic 62\c 94} -\indexentry {0}{filll}{T}{\ic 62\c 94} -\indexentry {0}{fin de fichier, tester}{N}{\ic 247} -\indexentry {0}{fin de ligne}{N}{\ic 57\c 66\c 111} -\indexentry {0}{fin d'ex\'ecution}{N}{\ic 255} -\indexentry {0}{finalhyphendemerits}{C}{\ic \pp{132}\c 331} -\indexentry {0}{firstmark}{C}{\ic 77\c 78\c \pp{150}\c 331} -\indexentry {0}{fivebf}{C}{\ic \pp{108}\c 331} -\indexentry {0}{fivei}{C}{\ic \pp{108}\c 331} -\indexentry {0}{fiverm}{C}{\ic \pp{108}\c 331} -\indexentry {0}{fivesy}{C}{\ic \pp{108}\c 331} -\indexentry {0}{fl\`eches}{N}{\ic 181\c 200--201\c 210} -\indexentry {0}{flat}{C}{\ic \pp{196}\c 331} -\indexentry {0}{floatingpenalty}{C}{\ic \pp{145}\c 331} -\indexentry {0}{flots de sortie}{N}{\ic 68\c \pp{70}} -\indexentry {1}{\'ecriture}{N}{\ic 258} -\indexentry {1}{fermeture}{N}{\ic 257} -\indexentry {1}{ouverture}{N}{\ic 257} -\indexentry {1}{r\'eserv\'es par \b\tt\\newwrite\e}{N}{\ic 252} -\indexentry {0}{flots d'entr\'ee}{N}{\ic \pp{70}} -\indexentry {1}{lecture avec \b\tt\\read\e}{N}{\ic 256} -\indexentry {1}{lire avec \b\tt\\read\e}{N}{\ic 68} -\indexentry {1}{ouverture}{N}{\ic 256} -\indexentry {1}{r\'eserv\'es par \b\tt\\newread\e}{N}{\ic 252} -\indexentry {0}{flushleft}{C}{\ic \pp{316}} -\indexentry {0}{flushright}{C}{\ic \pp{316}} -\indexentry {0}{fmtname}{C}{\ic \pp{233}\c 331} -\indexentry {0}{fmtversion}{C}{\ic \pp{233}\c 331} -\indexentry {0}{folio}{C}{\ic \pp{149}\c 331} -\indexentry {0}{fonctions, noms de}{N}{\ic 201--202} -\indexentry {0}{font}{C}{\ic 135\c 221\c \pp{229}\c 303\c 332} -\indexentry {0}{fontdimen}{C}{\ic \pp{230}\c 303\c 332} -\indexentry {0}{fontname}{C}{\ic \pp{235}\c 332} -\indexentry {0}{footline}{C}{\ic 63\c 88\c \pp{149}\c 282\c 332} -\indexentry {0}{footnote}{C}{\ic 72\c \pp{151}\c 153\c 332} -\indexentry {0}{footnotemarkseparation}{C}{\ic \pp{318}} -\indexentry {0}{for}{C}{\ic 303} -\indexentry {0}{for loop}{N}{\ic 303} -\indexentry {0}{forall}{C}{\ic \pp{196}\c 332} -\indexentry {0}{frac}{C}{\ic \pp{304}} -\indexentry {0}{fractions}{N}{\ic 208--211} -\indexentry {1}{en forme de slash}{N}{\ic 304} -\indexentry {1}{produites par \b\tt\\over\e}{N}{\ic 208} -\indexentry {0}{frenchspacing}{C}{\ic 14\c \pp{112}\c 332} -\indexentry {0}{frown}{C}{\ic \pp{198}\c 332} -\indexentry {0}{futurelet}{C}{\ic \pp{240}\c 332} -\indexgroup G -\indexentry {0}{gamma}{C}{\ic \pp{195}\c 332} -\indexentry {0}{Gamma}{C}{\ic \pp{195}\c 332} -\indexentry {0}{gauche d\'echir\'ee}{N}{\ic 99} -\indexentry {0}{gcd}{C}{\ic \pp{201}\c 332} -\indexentry {0}{gdef}{C}{\ic 70\c 236\c \pp{239}\c 332} -\indexentry {0}{ge}{C}{\ic \pp{198}\c 199\c 332} -\indexentry {0}{generaldisplay}{C}{\ic 306} -\indexentry {0}{geq}{C}{\ic \pp{198}\c 199\c 332} -\indexentry {0}{gets}{C}{\ic \pp{200}\c 332} -\indexentry {0}{\gffile}{N}{\ic 8\c 89} -\indexentry {0}{gg}{C}{\ic \pp{198}\c 332} -\indexentry {0}{global}{N}{\ic \pp{70}} -\indexentry {0}{global}{C}{\ic 70\c \pp{236}\c 332} -\indexentry {0}{globaldefs}{C}{\ic 70\c \pp{236}\c 289\c 332} -\indexentry {0}{gobble}{C}{\ic \pp{301}} -\indexentry {0}{gobblethree}{C}{\ic \pp{301}} -\indexentry {0}{gobbletwo}{C}{\ic \pp{301}} -\indexentry {0}{goodbreak}{C}{\ic \pp{143}\c 332} -\indexentry {0}{Goossens, Michel}{N}{\ic 20} -\indexentry {0}{grave}{C}{\ic \pp{207}\c 332} -\indexentry {0}{groupes}{N}{\ic 15--16\c 56\c \pp{71}\c 235--237} -\indexentry {0}{GUTenberg}{N}{\ic 20} -\indexgroup H -\indexentry {0}{\char `\H}{C}{\ic \pp{106}\c 332} -\indexentry {0}{halign}{C}{\ic 46--47\c \pp{184}\c 186\c 332} -\indexentry {1}{grouper pour}{N}{\ic 16} -\indexentry {1}{ill\'egal dans le mode math\'ematique}{N}{\ic 306} -\indexentry {1}{vertical par nature}{N}{\ic 81} -\indexentry {0}{hang}{C}{\ic \pp{123}\c 280\c 332} -\indexentry {0}{hangafter}{C}{\ic \pp{123}\c 125\c 332} -\indexentry {0}{hangindent}{C}{\ic 86\c \pp{123}\c 125\c 280\c 332} -\indexentry {0}{hat}{C}{\ic \pp{207}\c 332} -\indexentry {0}{hauteur}{N}{\ic 52\c \pp{71}\c 173} -\indexentry {0}{hbadness}{C}{\ic 129\c \pp{176}\c 332} -\indexentry {0}{hbar}{C}{\ic \pp{196}\c 332} -\indexentry {0}{hbox}{N}{\ic 51\c \pp{71}} -\indexentry {1}{construction avec \b\tt\\hbox\e}{N}{\ic 166\c 167} -\indexentry {1}{contr\^oler des coupures de lignes}{N}{\ic 59} -\indexentry {1}{mode horizontal pour}{N}{\ic 81} -\indexentry {1}{tester}{N}{\ic 246} -\indexentry {0}{hbox}{C}{\ic 51\c \pp{166}\c 276\c 332} -\indexentry {1}{overfull box provenant de}{N}{\ic 277--278} -\indexentry {0}{headline}{C}{\ic 63\c 66\c \pp{149}\c 282\c 332} -\indexentry {0}{heartsuit}{C}{\ic \pp{196}\c 332} -\indexentry {0}{heure du jour}{N}{\ic 233\c 307} -\indexentry {0}{hfil}{C}{\ic \pp{163}\c 165\c 166\c 278\c 332} -\indexentry {0}{hfill}{C}{\ic \pp{163}\c 333} -\indexentry {0}{hfilneg}{C}{\ic \pp{165}\c 333} -\indexentry {0}{hfuzz}{C}{\ic 129\c \pp{176}\c 277\c 333} -\indexentry {0}{hglue}{C}{\ic \pp{162}\c 163\c 333} -\indexentry {0}{hidewidth}{C}{\ic \pp{191}\c 333} -\indexentry {0}{hoffset}{C}{\ic 63\c 77\c \pp{146}\c 333} -\indexentry {0}{holdinginserts}{C}{\ic 18\c \pp{155}\c 333} -\indexentry {0}{hom}{C}{\ic \pp{201}\c 333} -\indexentry {0}{hookleftarrow}{C}{\ic \pp{200}\c 333} -\indexentry {0}{hookrightarrow}{C}{\ic \pp{200}\c 333} -\indexentry {0}{hphantom}{C}{\ic \pp{175}\c 333} -\indexentry {0}{hrule}{C}{\ic 69--70\c \pp{178}\c 281\c 333} -\indexentry {1}{vertical par nature}{N}{\ic 81} -\indexentry {0}{hrulefill}{C}{\ic \pp{180}\c 333} -\indexentry {0}{hsize}{C}{\ic 63\c 77\c \pp{120}\c \pp{146}\c 333} -\indexentry {1}{d\'etermin\'e par {\tt\\magnification}}{N}{\ic 231} -\indexentry {0}{hskip}{C}{\ic 93\c \pp{161}\c 333} -\indexentry {0}{hss}{C}{\ic \pp{164}\c 278\c 333} -\indexentry {0}{ht}{C}{\ic \pp{173}\c 333} -\indexentry {0}{hyphenation}{C}{\ic 55\c \pp{133}\c 333} -\indexentry {0}{hyphenchar}{C}{\ic \pp{134}\c 135\c 242\c 333} -\indexentry {0}{hyphenpenalty}{C}{\ic \pp{131}\c 145\c 333} -\indexentry {0}{hypoth\`eses}{N}{\ic 136} -\indexgroup I -\indexentry {0}{\char `\i}{C}{\ic \pp{106}\c 333} -\indexentry {0}{ialign}{C}{\ic \pp{186}\c 333} -\indexentry {0}{if}{C}{\ic \pp{243}\c 333} -\indexentry {0}{ifcase}{C}{\ic \pp{247}\c 333} -\indexentry {0}{ifcat}{C}{\ic \pp{243}\c 333} -\indexentry {0}{ifdim}{C}{\ic \pp{245}\c 333} -\indexentry {0}{ifempty}{C}{\ic \pp{303}} -\indexentry {0}{ifeof}{C}{\ic \pp{247}\c 333} -\indexentry {0}{ifeqno}{C}{\ic \pp{305}} -\indexentry {0}{iff}{C}{\ic \pp{200}\c 333} -\indexentry {0}{iffalse}{C}{\ic \pp{247}\c 333} -\indexentry {0}{ifhbox}{C}{\ic \pp{246}\c 333} -\indexentry {0}{ifhmode}{C}{\ic \pp{246}\c 333} -\indexentry {0}{ifinner}{C}{\ic \pp{246}\c 334} -\indexentry {0}{ifleqno}{C}{\ic \pp{305}} -\indexentry {0}{ifmmode}{C}{\ic \pp{246}\c 334} -\indexentry {0}{ifnum}{C}{\ic \pp{245}\c 334} -\indexentry {0}{ifodd}{C}{\ic \pp{245}\c 334} -\indexentry {0}{iftrue}{C}{\ic \pp{247}\c 334} -\indexentry {0}{ifvbox}{C}{\ic \pp{246}\c 334} -\indexentry {0}{ifvmode}{C}{\ic \pp{246}\c 334} -\indexentry {0}{ifvoid}{C}{\ic 153\c \pp{246}\c 334} -\indexentry {0}{ifx}{C}{\ic \pp{244}\c 334} -\indexentry {0}{ignorespaces}{C}{\ic \pp{260}\c 334} -\indexentry {0}{Im}{C}{\ic \pp{196}\c 334} -\indexentry {0}{imath}{C}{\ic 106\c \pp{196}\c 334} -\indexentry {0}{immediate}{C}{\ic 66\c 69\c 257\c \pp{258}\c 334} -\indexentry {0}{imprimantes}{N}{\ic 8} -\indexentry {0}{in}{C}{\ic \pp{198}\c 334} -\indexentry {0}{indent}{C}{\ic 86\c \pp{117}\c 334} -\indexentry {0}{indentation}{N}{\ic 26\c 117--125} -\indexentry {0}{indentation r\'emanente}{N}{\ic 123} -\indexentry {0}{indices}{N}{\ic 57\c 205--206} -\indexentry {0}{inf}{C}{\ic \pp{201}\c 334} -\indexentry {0}{information locale}{N}{\ic \pp{7}} -\indexentry {0}{infty}{C}{\ic \pp{196}\c 334} -\indexentry {0}{initex}{T}{\ic 69\c 271} -\indexentry {0}{input}{C}{\ic 7\c 48\c 68\c \pp{255}\c 334} -\indexentry {0}{inputlineno}{C}{\ic \pp{256}\c 334} -\indexentry {0}{insert}{C}{\ic 71\c 72\c \pp{153}\c 334} -\indexentry {0}{<inserted text>}{T}{\ic 296} -\indexentry {0}{insertions}{N}{\ic \pp{71--72}} -\indexentry {1}{commandes pour}{N}{\ic 152--154} -\indexentry {1}{forc\'es par \b\tt\\supereject\e}{N}{\ic 143} -\indexentry {1}{num\'eros r\'eserv\'es par \b\tt\\newinsert\e}{N}{\ic 252} -\indexentry {1}{p\'enalit\'es pour}{N}{\ic 145} -\indexentry {0}{insertpenalties}{C}{\ic \pp{145}\c 334} -\indexentry {0}{int}{C}{\ic \pp{202}\c 203\c 204\c 334} -\indexentry {1}{limites apr\`es}{N}{\ic 203} -\indexentry {0}{interlinepenalty}{C}{\ic \pp{144}\c 334} -\indexentry {0}{intestin}{N}{\ic 16\c 48\c \pp{49}\seealso{\anatomy}} -\indexentry {0}{iota}{C}{\ic \pp{195}\c 334} -\indexentry {0}{it}{C}{\ic \pp{109}\c 334} -\indexentry {0}{italique}{N}{\ic 112} -\indexentry {0}{item}{C}{\ic \pp{136}\c 334} -\indexentry {0}{itemitem}{C}{\ic \pp{136}\c 334} -\indexentry {0}{itfam}{C}{\ic \pp{218}\c 334} -\indexgroup J -\indexentry {0}{\char `\j}{C}{\ic \pp{106}\c 334} -\indexentry {0}{Jean-C\^ome Charpentier}{N}{\ic 20} -\indexentry {0}{jmath}{C}{\ic 106\c \pp{196}\c 334} -\indexentry {0}{jobname}{C}{\ic \pp{233}\c 334} -\indexentry {0}{jot}{C}{\ic \pp{222}\c 334} -\indexentry {0}{justification}{N}{\ic \pp{99}\c 115\c 122} -\indexentry {0}{justification \`a droite}{N}{\ic 34} -\indexentry {0}{justification \`a gauche}{N}{\ic 34} -\indexgroup K -\indexentry {0}{kappa}{C}{\ic \pp{195}\c 334} -\indexentry {0}{ker}{C}{\ic \pp{201}\c 334} -\indexentry {0}{kern}{C}{\ic \pp{163}\c 334} -\indexentry {0}{Kluth, Marie-Paule}{N}{\ic 20} -\indexentry {0}{Knuth, Donald E.}{N}{\ic 18\c 20\c 304} -\indexgroup L -\indexentry {0}{\char `\l}{C}{\ic \pp{103}\c 335} -\indexentry {0}{\char `\L}{C}{\ic \pp{103}\c 335} -\indexentry {0}{La lettre de GUTenberg}{N}{\ic 20} -\indexentry {0}{lambda}{C}{\ic \pp{195}\c 335} -\indexentry {0}{Lambda}{C}{\ic \pp{195}\c 335} -\indexentry {0}{Lamport, Leslie}{N}{\ic 18} -\indexentry {0}{land}{C}{\ic \pp{197}\c 335} -\indexentry {0}{langle}{C}{\ic 64\c \pp{199}\c 335} -\indexentry {0}{language}{C}{\ic 18\c 66\c \pp{134}\c 335} -\indexentry {0}{langues \'etrang\`eres}{N}{\ic 18\seealso{langues europ\'eennes}} -\indexentry {0}{langues europ\'eennes}{N}{\ic 72\c 134} -\indexentry {0}{largeur}{N}{\ic 52\c \pp{72}\c 173} -\indexentry {0}{lastbox}{C}{\ic \pp{177}\c 178\c 335} -\indexentry {0}{lastkern}{C}{\ic \pp{177}\c 242\c 335} -\indexentry {0}{lastpenalty}{C}{\ic \pp{177}\c 242\c 335} -\indexentry {0}{lastskip}{C}{\ic \pp{177}\c 242\c 335} -\indexentry {0}{\LaTeX}{N}{\ic \r8\c 18\c 233} -\indexentry {0}{LaTeX}{C}{\ic \pp{304}} -\indexentry {0}{lbrace}{C}{\ic 64\c \pp{199}\c 335} -\indexentry {0}{lbrack}{C}{\ic 64\c \pp{104}\c \pp{199}\c 335} -\indexentry {0}{lccode}{C}{\ic \pp{109}\c 335} -\indexentry {0}{lceil}{C}{\ic 64\c \pp{199}\c 335} -\indexentry {0}{ldotp}{C}{\ic \pp{204}\c 335} -\indexentry {0}{ldots}{C}{\ic \pp{211}\c 335} -\indexentry {0}{le}{C}{\ic \pp{198}\c 199\c 335} -\indexentry {0}{leaders}{C}{\ic 91--93\c \pp{179}\c 335} -\indexentry {0}{left}{C}{\ic 63\c \pp{212}\c 335} -\indexentry {0}{leftarrow}{C}{\ic \pp{200}\c 335} -\indexentry {0}{Leftarrow}{C}{\ic \pp{200}\c 335} -\indexentry {0}{leftarrowfill}{C}{\ic \pp{181}\c 335} -\indexentry {0}{leftdisplays}{C}{\ic \pp{305}\c \pp{306}} -\indexentry {0}{leftharpoondown}{C}{\ic \pp{200}\c 335} -\indexentry {0}{leftharpoonup}{C}{\ic \pp{200}\c 335} -\indexentry {0}{lefthyphenmin}{C}{\ic 18\c \pp{134}\c 335} -\indexentry {0}{leftline}{C}{\ic 95\c \pp{115}\c 335} -\indexentry {0}{leftrightarrow}{C}{\ic \pp{200}\c 335} -\indexentry {0}{Leftrightarrow}{C}{\ic \pp{200}\c 335} -\indexentry {0}{leftskip}{C}{\ic 99\c \pp{121}\c 280\c 335} -\indexentry {0}{lemmes}{N}{\ic 34\c 136} -\indexentry {0}{leq}{C}{\ic \pp{198}\c 199\c 335} -\indexentry {0}{leqalignno}{C}{\ic \pp{216}\c 306\c 335} -\indexentry {0}{leqno}{C}{\ic \pp{215}\c 336} -\indexentry {0}{let}{C}{\ic 96\c \pp{240}\c 336} -\indexentry {0}{letreturn}{C}{\ic \pp{301}\c 303} -\indexentry {0}{letter}{C}{\ic \pp{301}} -\indexentry {0}{lettre}{N}{\ic 54\c 57} -\indexentry {0}{lettres grecques}{N}{\ic 195--196\c 217} -\indexentry {0}{lettres sans points}{N}{\ic 106} -\indexentry {0}{lfloor}{C}{\ic 64\c \pp{199}\c 336} -\indexentry {0}{lg}{C}{\ic \pp{201}\c 336} -\indexentry {0}{lgroup}{C}{\ic \pp{212}\c 336} -\indexentry {0}{li}{C}{\ic \pp{308}} -\indexentry {0}{ligatures}{N}{\ic \pp{72}\c 103--104\c 107} -\indexentry {0}{ligne}{N}{\ic 120} -\indexentry {0}{ligne d'entr\'ee}{N}{\ic 260} -\indexentry {0}{ligne orpheline}{N}{\ic 144} -\indexentry {0}{ligne veuve}{N}{\ic 144} -\indexentry {0}{lignes de base}{N}{\ic 30\c 52\c \pp{72}\c 88} -\indexentry {0}{lim}{C}{\ic \pp{201}\c 205\c 336} -\indexentry {0}{liminf}{C}{\ic \pp{201}\c 336} -\indexentry {0}{limites}{N}{\ic 202} -\indexentry {0}{limites inf\'erieures}{N}{\ic 205} -\indexentry {0}{limites sup\'erieures}{N}{\ic 205} -\indexentry {0}{limits}{C}{\ic \pp{203}\c 336} -\indexentry {0}{limsup}{C}{\ic \pp{201}\c 336} -\indexentry {0}{line}{C}{\ic \pp{115}\c 336} -\indexentry {0}{linepenalty}{C}{\ic \pp{130}\c 336} -\indexentry {0}{lineskip}{C}{\ic 95\c \pp{139--140}\c 336} -\indexentry {0}{lineskiplimit}{C}{\ic 95\c \pp{139--140}\c 336} -\indexentry {0}{lire un fichier}{N}{\ic 256} -\indexentry {0}{listcompact}{C}{\ic \pp{308}} -\indexentry {0}{liste verticale principale}{N}{\ic 85} -\indexentry {0}{listes}{N}{\ic \pp{73}} -\indexentry {0}{listes de description}{N}{\ic 32} -\indexentry {0}{listes d'\'el\'ements}{N}{\ic 34\c 136\c 308--310} -\indexentry {0}{listes horizontales}{N}{\ic 51\c \pp{73}\c 93} -\indexentry {1}{filet en}{N}{\ic 70} -\indexentry {1}{hbox form\'es \`a partir de}{N}{\ic 71} -\indexentry {1}{ne peuvent contenir de commandes verticales}{N}{\ic 81} -\indexentry {1}{p\'enalit\'es dans}{N}{\ic 87} -\indexentry {0}{listes verticales}{N}{\ic 51\c \pp{73}\c 93} -\indexentry {1}{filet en}{N}{\ic 70} -\indexentry {1}{ins\'erer dans des paragraphes}{N}{\ic 126} -\indexentry {1}{ne peuvent contenir de commandes horizontales}{N}{\ic 82} -\indexentry {1}{p\'enalit\'es dans}{N}{\ic 87} -\indexentry {1}{vbox form\'ees \`a partir de}{N}{\ic 100} -\indexentry {0}{listing}{C}{\ic \pp{310}} -\indexentry {0}{livre sterling}{N}{\ic 104} -\indexentry {0}{ll}{C}{\ic \pp{198}\c 336} -\indexentry {0}{llap}{C}{\ic \pp{115}\c 336} -\indexentry {0}{lmoustache}{C}{\ic \pp{220}\c 336} -\indexentry {0}{ln}{C}{\ic \pp{201}\c 336} -\indexentry {0}{lnot}{C}{\ic \pp{196}\c 336} -\indexentry {0}{log}{C}{\ic \pp{201}\c 336} -\indexentry {0}{\logfile}{N}{\ic 323} -\indexentry {1}{comme un fichier r\'esultat}{N}{\ic 68} -\indexentry {0}{loggingall}{C}{\ic \pp{302}} -\indexentry {0}{logos}{N}{\ic 88} -\indexentry {0}{long}{C}{\ic \pp{239}\c 244\c 336} -\indexentry {0}{longleftarrow}{C}{\ic \pp{200}\c 336} -\indexentry {0}{Longleftarrow}{C}{\ic \pp{200}\c 336} -\indexentry {0}{longleftrightarrow}{C}{\ic \pp{200}\c 336} -\indexentry {0}{Longleftrightarrow}{C}{\ic \pp{200}\c 336} -\indexentry {0}{longmapsto}{C}{\ic \pp{200}\c 336} -\indexentry {0}{longrightarrow}{C}{\ic \pp{200}\c 336} -\indexentry {0}{Longrightarrow}{C}{\ic \pp{200}\c 336} -\indexentry {0}{loop}{C}{\ic \pp{248}\c 336} -\indexentry {0}{looseness}{C}{\ic 86\c \pp{130}\c 275\c 336} -\indexentry {0}{lor}{C}{\ic \pp{197}\c 336} -\indexentry {0}{lower}{C}{\ic 52\c \pp{172}\c 336} -\indexentry {0}{lowercase}{C}{\ic \pp{110}\c 337} -\indexentry {0}{lq}{C}{\ic \pp{104}\c 337} -\indexgroup M -\indexentry {0}{macros}{N}{\ic \pp{73--76}\c 238--250} -\indexentry {1}{arguments de}{N}{\ic 49\c 288} -\indexentry {1}{contr\^oler leur d\'eveloppement}{N}{\ic 241--243} -\indexentry {1}{dans des fichiers auxiliaires}{N}{\ic 7} -\indexentry {1}{d\'efinir des}{N}{\ic 238--240} -\indexentry {1}{d\'evelopp\'ees dans l'estomac de \TeX}{N}{\ic 48} -\indexentry {1}{globale}{N}{\ic 70} -\indexentry {1}{nomm\'ees par des caract\`eres actifs}{N}{\ic 54} -\indexentry {1}{outer}{N}{\ic 84\c 287} -\indexentry {1}{param\`etres de}{N}{\ic 49\c 57\c 73--75\c 288} -\indexentry {1}{rendre lisible des}{N}{\ic 289--290} -\indexentry {1}{tracer des}{N}{\ic 266} -\indexentry {1}{utiliser \b\tt\\begingroup\e\ et \b\tt\\endgroup\e\ dans des}{N}{\ic 235} -\indexentry {1}{utiliser \b\tt\\bgroup\e\ et \b\tt\\egroup\e\ dans des}{N}{\ic 236} -\indexentry {0}{mag}{C}{\ic 62\c 76\c \pp{231}\c 337} -\indexentry {0}{magnification}{N}{\ic 8\c 62\c \pp{76}} -\indexentry {0}{magnification}{C}{\ic \pp{231}\c 337} -\indexentry {0}{magstep}{C}{\ic 76\c 231\c \pp{232}\c 337} -\indexentry {0}{magstephalf}{C}{\ic 76\c 231\c \pp{232}\c 337} -\indexentry {0}{majuscules}{N}{} -\indexentry {1}{conversion en}{N}{\ic 109--110} -\indexentry {0}{makeactive}{C}{\ic \pp{301}} -\indexentry {0}{makeblankbox}{C}{\ic \pp{304}} -\indexentry {0}{makecolumns}{C}{\ic \pp{317}} -\indexentry {0}{makefootline}{C}{\ic 282} -\indexentry {0}{makeheadline}{C}{\ic 282} -\indexentry {0}{mapsto}{C}{\ic \pp{200}\c 337} -\indexentry {0}{marge de droite}{N}{\ic 93} -\indexentry {0}{marge du bas}{N}{\ic 93} -\indexentry {0}{marges}{N}{\ic 26\c 62--63\c \pp{76--77}} -\indexentry {0}{mark}{C}{\ic 77\c \pp{150}\c 151\c 337} -\indexentry {0}{marque de r\'ef\'erence}{N}{\ic 151} -\indexentry {0}{marques}{N}{\ic \pp{77--78}\c 150--151} -\indexentry {1}{avec ent\^etes ou pieds de page}{N}{\ic 63} -\indexentry {1}{pour listes d\'edoubl\'ees}{N}{\ic 151} -\indexentry {0}{marques de citation}{N}{\ic 14\c 24} -\indexentry {0}{marques diacritiques}{N}{\see{accents}} -\indexentry {0}{mat\'eriel flottant}{N}{\ic 145\c 152} -\indexentry {0}{mathaccent}{C}{\ic \pp{207}\c 337} -\indexentry {0}{mathbin}{C}{\ic \pp{226}\c 337} -\indexentry {0}{mathchar}{C}{\ic \pp{105}\c 337} -\indexentry {0}{mathchardef}{C}{\ic \pp{240}\c 242\c 337} -\indexentry {0}{mathchoice}{C}{\ic \pp{206}\c 337} -\indexentry {0}{mathclose}{C}{\ic \pp{226}\c 337} -\indexentry {0}{mathcode}{C}{\ic 79\c 213\c \pp{259}\c 260\c 337} -\indexentry {0}{mathcodes}{N}{\ic \pp{78--79}\c 240} -\indexentry {1}{classe encod\'ee en}{N}{\ic 56} -\indexentry {0}{math\'ematiques}{N}{\ic 16\c 40\c 42\c 195--227} -\indexentry {1}{accents}{N}{\ic 207} -\indexentry {0}{math\'ematiques affich\'ees}{N}{\ic 16\c \pp{79}\c 144\c 279} -\indexentry {0}{mathinner}{C}{\ic \pp{226}\c 337} -\indexentry {0}{mathop}{C}{\ic \pp{226}\c 337} -\indexentry {0}{mathopen}{C}{\ic \pp{226}\c 337} -\indexentry {0}{mathord}{C}{\ic \pp{226}\c 337} -\indexentry {0}{mathpalette}{C}{\ic \pp{206}\c 337} -\indexentry {0}{mathpunct}{C}{\ic \pp{226}\c 337} -\indexentry {0}{mathrel}{C}{\ic \pp{226}\c 337} -\indexentry {0}{mathstrut}{C}{\ic 97\c \pp{174}\c 337} -\indexentry {0}{mathsurround}{C}{\ic \pp{225}\c 337} -\indexentry {0}{matrice}{N}{\ic 213} -\indexentry {0}{matrix}{C}{\ic \pp{213}\c 337} -\indexentry {0}{max}{C}{\ic \pp{201}\c 337} -\indexentry {0}{maxdeadcycles}{C}{\ic \pp{155}\c 337} -\indexentry {0}{maxdepth}{C}{\ic \pp{147}\c 156\c 337} -\indexentry {0}{maxdimen}{C}{\ic \pp{252}\c 338} -\indexentry {0}{meaning}{C}{\ic \pp{234}\c 338} -\indexentry {0}{medbreak}{C}{\ic \pp{143}\c 338} -\indexentry {0}{m\'ediocrit\'e}{N}{\ic 65\c \pp{79--80}} -\indexentry {0}{medmuskip}{C}{\ic \pp{222}\c 338} -\indexentry {0}{medskip}{C}{\ic 143\c \pp{160}\c 338} -\indexentry {0}{medskipamount}{C}{\ic \pp{161}\c 338} -\indexentry {0}{message}{C}{\ic \pp{269}\c 338} -\indexentry {1}{d\'evelopp\'e par les r\`egles d'{\tt\\edef}}{N}{\ic 239} -\indexentry {0}{message d'aide}{N}{\ic 270} -\indexentry {0}{message d'erreur}{N}{\ic 9} -\indexentry {0}{messages d'erreur}{N}{\ic 269--270\c 293--298} -\indexentry {0}{messages, envoyer}{N}{\ic 269--270} -\indexentry {0}{\Metafont}{N}{\ic \r7\c 36} -\indexentry {0}{MF}{C}{\ic \pp{304}} -\indexentry {0}{mid}{C}{\ic \pp{198}\c 338} -\indexentry {0}{midinsert}{C}{\ic 72\c \pp{152}\c 153\c 338} -\indexentry {0}{millim\`etre}{N}{\ic 62} -\indexentry {0}{min}{C}{\ic \pp{201}\c 338} -\indexentry {0}{minuscules}{N}{} -\indexentry {1}{conversion en}{N}{\ic 109--110} -\indexentry {0}{mit}{C}{\ic \pp{217}\c 338} -\indexentry {0}{mkern}{C}{\ic \pp{223}\c 338} -\indexentry {0}{mode horizontal}{N}{\ic 80\c \pp{81}} -\indexentry {1}{filets en}{N}{\ic 178} -\indexentry {1}{tester}{N}{\ic 246} -\indexentry {0}{mode horizontal ordinaire}{N}{\ic 80\c 81} -\indexentry {0}{mode horizontal restreint}{N}{\ic 80\c 81} -\indexentry {0}{mode math\'ematique}{N}{\ic 80\c \pp{81}} -\indexentry {1}{tester}{N}{\ic 246} -\indexentry {0}{mode math\'ematique d'affichage}{N}{\ic 81} -\indexentry {0}{mode math\'ematique de texte}{N}{\ic 80\c 81} -\indexentry {0}{mode math\'ematique hors-texte}{N}{\ic 80} -\indexentry {0}{mode ordinaire}{N}{\ic \pp{82}} -\indexentry {0}{mode restreint}{N}{\ic \pp{82}} -\indexentry {1}{horizontal}{N}{\ic 280} -\indexentry {1}{tester}{N}{\ic 246} -\indexentry {0}{mode vertical}{N}{\ic 80\c \pp{82}} -\indexentry {1}{filets en}{N}{\ic 178} -\indexentry {1}{tester}{N}{\ic 246} -\indexentry {0}{mode vertical ordinaire}{N}{\ic 80\c 82} -\indexentry {0}{mode vertical restreint}{N}{\ic 80\c 82} -\indexentry {0}{models}{C}{\ic \pp{198}\c 338} -\indexentry {0}{modes}{N}{\ic 17\c \pp{80--81}} -\indexentry {0}{modulo}{N}{\ic 201\c 202} -\indexentry {0}{month}{C}{\ic \pp{233}\c 307\c 338} -\indexentry {0}{monthname}{C}{\ic \pp{307}} -\indexentry {0}{mots de contr\^ole}{N}{\ic 10\c \pp{82}\c 96} -\indexentry {0}{mots trop rapproch\'es}{N}{\ic 278} -\indexentry {0}{moveleft}{C}{\ic 52\c 167\c \pp{172}\c 338} -\indexentry {0}{moveright}{C}{\ic 52\c 167\c \pp{172}\c 338} -\indexentry {0}{mp}{C}{\ic \pp{197}\c 338} -\indexentry {0}{mskip}{C}{\ic 83\c \pp{223}\c 338} -\indexentry {0}{mu}{T}{\ic 83\c 251} -\indexentry {0}{mu}{C}{\ic \pp{195}\c 338} -\indexentry {0}{muglue}{N}{\ic \pp{83}} -\indexentry {0}{multiply}{C}{\ic \pp{254}\c 338} -\indexentry {0}{multispan}{C}{\ic \pp{188}\c 338} -\indexentry {0}{muskip}{C}{\ic \pp{250}\c 254\c 338} -\indexentry {0}{muskipdef}{C}{\ic \pp{253}\c 338} -\indexgroup N -\indexentry {0}{nabla}{C}{\ic \pp{196}\c 338} -\indexentry {0}{narrower}{C}{\ic \pp{121}\c 280\c 338} -\indexentry {0}{natural}{C}{\ic \pp{196}\c 338} -\indexentry {0}{ne}{C}{\ic \pp{198}\c 338} -\indexentry {0}{nearrow}{C}{\ic \pp{200}\c 338} -\indexentry {0}{neg}{C}{\ic \pp{196}\c 338} -\indexentry {0}{negthinspace}{C}{\ic \pp{159}\c 338} -\indexentry {0}{neq}{C}{\ic \pp{198}\c 339} -\indexentry {0}{newbox}{C}{\ic 53\c 90\c \pp{252}\c 339} -\indexentry {0}{newcount}{C}{\ic 90\c 250\c \pp{252}\c 339} -\indexentry {0}{newdimen}{C}{\ic 90\c \pp{252}\c 339} -\indexentry {0}{newfam}{C}{\ic 67\c \pp{252}\c 339} -\indexentry {0}{newhelp}{C}{\ic \pp{270}\c 315\c 339} -\indexentry {0}{newif}{C}{\ic \pp{248}\c 339} -\indexentry {0}{newinsert}{C}{\ic 153\c \pp{252}\c 339} -\indexentry {0}{newlanguage}{C}{\ic 18\c \pp{252}\c 339} -\indexentry {0}{newlinechar}{C}{\ic \pp{259}\c 269\c 270\c 339} -\indexentry {0}{newmuskip}{C}{\ic 90\c \pp{252}\c 339} -\indexentry {0}{newread}{C}{\ic 68\c \pp{252}\c 339} -\indexentry {0}{newskip}{C}{\ic 90\c \pp{252}\c 339} -\indexentry {0}{\newTeX}{N}{\ic 18\c 162} -\indexentry {0}{newtoks}{C}{\ic 90\c \pp{252}\c 339} -\indexentry {0}{newwrite}{C}{\ic 68\c \pp{252}\c 339} -\indexentry {0}{ni}{C}{\ic \pp{198}\c 339} -\indexentry {0}{noalign}{C}{\ic 47\c 187\c \pp{189}\c 339} -\indexentry {0}{noboundary}{C}{\ic 18\c 72\c \pp{107}\c 339} -\indexentry {0}{nobreak}{C}{\ic 59\c \pp{127}\c \pp{142}\c 274\c 339} -\indexentry {0}{noexpand}{C}{\ic 238\c \pp{242}\c 339} -\indexentry {0}{noindent}{C}{\ic 86\c \pp{118}\c 339} -\indexentry {0}{nointerlineskip}{C}{\ic \pp{141}\c 339} -\indexentry {0}{nolimits}{C}{\ic \pp{203}\c 339} -\indexentry {0}{\<nombre>}{N}{\ic 4} -\indexentry {0}{nombres}{N}{\ic \pp{83--84}} -\indexentry {1}{comparer}{N}{\ic 245} -\indexentry {1}{convertir en caract\`eres}{N}{\ic 232--233} -\indexentry {1}{tester la parit\'e}{N}{\ic 245} -\indexentry {0}{nombres hexad\'ecimaux}{N}{\ic 83} -\indexentry {0}{nombres octaux}{N}{\ic 83} -\indexentry {0}{noms de fichier}{N}{\ic \pp{83}} -\indexentry {0}{nonfrenchspacing}{C}{\ic \pp{112}\c 339} -\indexentry {0}{nonscript}{C}{\ic \pp{223}\c 225\c 339} -\indexentry {0}{nonstopmode}{C}{\ic \pp{261}\c 339} -\indexentry {0}{nopagenumbers}{C}{\ic \pp{148}\c 339} -\indexentry {0}{normalbaselines}{C}{\ic \pp{140}\c 339} -\indexentry {0}{normalbaselineskip}{C}{\ic \pp{140}\c 339} -\indexentry {0}{normalbottom}{C}{\ic \pp{144}\c 339} -\indexentry {0}{normallineskip}{C}{\ic \pp{140}\c 340} -\indexentry {0}{normallineskiplimit}{C}{\ic \pp{140}\c 340} -\indexentry {0}{not}{C}{\ic 340} -\indexentry {0}{notes de pied de page}{N}{\ic 24\c 318} -\indexentry {1}{utiliser \b\tt\\textindent\e\ avec}{N}{\ic 118} -\indexentry {0}{notin}{C}{\ic \pp{198}\c 340} -\indexentry {0}{nu}{C}{\ic \pp{195}\c 340} -\indexentry {0}{null}{C}{\ic \pp{175}\c 340} -\indexentry {0}{nulldelimiterspace}{C}{\ic 65\c 212\c \pp{225}\c 340} -\indexentry {0}{nullfont}{C}{\ic \pp{108}\c 340} -\indexentry {0}{number}{C}{\ic 84\c \pp{232}\c 340} -\indexentry {0}{numberedfootnote}{C}{\ic \pp{318}} -\indexentry {0}{numberedlist}{C}{\ic \pp{308}} -\indexentry {0}{numberedmarker}{C}{\ic \pp{309}} -\indexentry {0}{numbername}{C}{\ic \pp{305}} -\indexentry {0}{num\'ero de version}{N}{\ic 233} -\indexentry {0}{num\'eros d'\'equation}{N}{\ic 216} -\indexentry {0}{num\'erotation de page}{N}{\ic 91\c 148--149} -\indexentry {0}{nwarrow}{C}{\ic \pp{200}\c 340} -\indexgroup O -\indexentry {0}{\char `\o}{C}{\ic \pp{103}\c 340} -\indexentry {0}{\char `\O}{C}{\ic \pp{103}\c 340} -\indexentry {0}{obeylines}{C}{\ic \pp{128}\c 286\c 303\c 340} -\indexentry {0}{obeyspaces}{C}{\ic \pp{113}\c 128\c 286\c 303\c 340} -\indexentry {0}{obeywhitespace}{C}{\ic 113\c 286\c \pp{303}} -\indexentry {0}{odot}{C}{\ic \pp{197}\c 340} -\indexentry {0}{oe}{C}{\ic \pp{103}\c 340} -\indexentry {0}{OE}{C}{\ic \pp{103}\c 340} -\indexentry {0}{\oesophage}{N}{\ic \pp{48}\c 56} -\indexentry {0}{offinterlineskip}{C}{\ic 97\c \pp{141}\c 173\c 340} -\indexentry {0}{oint}{C}{\ic \pp{202}\c 340} -\indexentry {0}{oldstyle}{C}{\ic \pp{217}\c 340} -\indexentry {0}{omega}{C}{\ic \pp{195}\c 340} -\indexentry {0}{Omega}{C}{\ic \pp{195}\c 340} -\indexentry {0}{omicron}{N}{\ic 196} -\indexentry {0}{ominus}{C}{\ic \pp{197}\c 340} -\indexentry {0}{omit}{C}{\ic \pp{187}\c 340} -\indexentry {0}{openin}{C}{\ic 68\c \pp{256}\c 340} -\indexentry {0}{openout}{C}{\ic 68\c \pp{257}\c 340} -\indexentry {1}{avec {\tt\\immediate}}{N}{\ic 258} -\indexentry {1}{\elementextra\ produit par}{N}{\ic 66} -\indexentry {0}{openup}{C}{\ic \pp{141}\c 189\c 340} -\indexentry {0}{op\'erateurs}{N}{\ic 132} -\indexentry {1}{grands}{N}{\ic 202--204} -\indexentry {0}{op\'erations}{N}{\ic 197--198} -\indexentry {0}{oplus}{C}{\ic \pp{197}\c 340} -\indexentry {0}{or}{C}{\ic 340} -\indexentry {0}{origine}{N}{\see{origine de la page}} -\indexentry {0}{origine de la page}{N}{\ic 146} -\indexentry {0}{oslash}{C}{\ic \pp{197}\c 340} -\indexentry {0}{other}{C}{\ic \pp{301}} -\indexentry {0}{otimes}{C}{\ic \pp{197}\c 340} -\indexentry {0}{outer}{N}{\ic \pp{84}\c 239} -\indexentry {0}{outer}{C}{\ic 84\c \pp{239}\c 244\c 287\c 340} -\indexentry {0}{output}{C}{\ic 96\c \pp{154}\c 340} -\indexentry {0}{<output>}{T}{\ic 298} -\indexentry {0}{outputpenalty}{C}{\ic \pp{155}\c 341} -\indexentry {0}{ouvrant}{N}{\ic 199} -\indexentry {0}{over}{C}{\ic \pp{208}\c 212\c 341} -\indexentry {0}{overbrace}{C}{\ic \pp{210}\c 220\c 341} -\indexentry {0}{overfull boxes}{N}{\ic 129\c 276--278} -\indexentry {0}{overfullrule}{C}{\ic \pp{175}\c 341} -\indexentry {0}{overleftarrow}{C}{\ic \pp{210}\c 341} -\indexentry {0}{overline}{C}{\ic \pp{210}\c 341} -\indexentry {0}{overrightarrow}{C}{\ic \pp{210}\c 341} -\indexentry {0}{overwithdelims}{C}{\ic 63\c \pp{209}\c 341} -\indexentry {0}{owns}{C}{\ic \pp{198}\c 341} -\indexgroup P -\indexentry {0}{\char `\P}{C}{\ic \pp{104}\c 341} -\indexentry {0}{pagedepth}{C}{\ic \pp{145}\c 341} -\indexentry {0}{pagefilllstretch}{C}{\ic \pp{146}\c 341} -\indexentry {0}{pagefillstretch}{C}{\ic \pp{146}\c 341} -\indexentry {0}{pagefilstretch}{C}{\ic \pp{146}\c 341} -\indexentry {0}{pagegoal}{C}{\ic \pp{145}\c 146\c 156\c 341} -\indexentry {0}{pageinsert}{C}{\ic 72\c \pp{152}\c 153\c 341} -\indexentry {0}{pageno}{C}{\ic \pp{148}\c 149\c 341} -\indexentry {0}{pages}{N}{\ic 17\c \pp{85--86}} -\indexentry {1}{assembl\'ees dans l'estomac de \TeX}{N}{\ic 48} -\indexentry {0}{pageshrink}{C}{\ic \pp{146}\c 341} -\indexentry {0}{pagestretch}{C}{\ic \pp{146}\c 341} -\indexentry {0}{pagetotal}{C}{\ic \pp{145}\c 341} -\indexentry {0}{par}{C}{\ic \pp{116}\c 117\c 341} -\indexentry {1}{d'une ligne vide}{N}{\ic 66\c 111} -\indexentry {1}{dans des arguments de macro}{N}{\ic 239} -\indexentry {1}{en changeant la forme du paragraphe}{N}{\ic 280} -\indexentry {1}{terminer un paragraphe avec}{N}{\ic 86} -\indexentry {0}{paragraphes}{N}{\ic \pp{86}} -\indexentry {1}{d\'ebuter des}{N}{\ic 116} -\indexentry {1}{\'etroit}{N}{\ic 26\c 121} -\indexentry {1}{formation}{N}{\ic 116--126} -\indexentry {1}{forme}{N}{\ic 280} -\indexentry {1}{indenter}{N}{\see{indentation}} -\indexentry {1}{ressort \`a la fin des}{N}{\ic 117} -\indexentry {1}{ressort entre}{N}{\ic 147} -\indexentry {1}{terminer un}{N}{\ic 12\c 24} -\indexentry {0}{parallel}{C}{\ic \pp{198}\c 341} -\indexentry {0}{param\`etres}{N}{\ic \pp{87}} -\indexentry {1}{assignements \`a des}{N}{\ic 51} -\indexentry {1}{comme commandes}{N}{\ic 4\c 12} -\indexentry {1}{comme registres}{N}{\ic 90} -\indexentry {1}{d\'elimit\'es}{N}{\ic 74--75} -\indexentry {1}{et arguments}{N}{\ic 49} -\indexentry {1}{indiqu\'es par \b\tt\#\e}{N}{\ic 57} -\indexentry {1}{non d\'elimit\'es}{N}{\ic 73} -\indexentry {1}{utiliser \b\tt\\the\e\ avec}{N}{\ic 242} -\indexentry {0}{parenth\`eses}{N}{\ic 63\c 212} -\indexentry {0}{parfillskip}{C}{\ic \pp{117}\c 341} -\indexentry {0}{parindent}{C}{\ic 4\c 87\c \pp{119}\c 341} -\indexentry {1}{indentation pour listes d'\'el\'ements}{N}{\ic 136} -\indexentry {0}{parshape}{C}{\ic 86\c \pp{124}\c 341} -\indexentry {0}{parskip}{C}{\ic 117\c 118\c 119\c \pp{147}\c 275\c 277\c 342} -\indexentry {0}{partial}{C}{\ic \pp{196}\c 342} -\indexentry {0}{Patashnik, Oren}{N}{\ic 19} -\indexentry {0}{patron}{N}{\ic \pp{46}\c 184--189} -\indexentry {0}{pausing}{C}{\ic \pp{261}\c 342} -\indexentry {0}{p\'enalit\'es}{N}{} -\indexentry {1}{derni\`ere p\'enalit\'e dans une liste}{N}{\ic 177} -\indexentry {1}{en listes horizontales}{N}{\ic 59} -\indexentry {1}{en listes verticales}{N}{\ic 60} -\indexentry {0}{penalties}{N}{\ic \pp{87}} -\indexentry {0}{penalty}{C}{\ic \pp{127}\c \pp{142}\c 342} -\indexentry {0}{percentchar}{C}{\ic 302} -\indexentry {0}{perp}{C}{\ic \pp{198}\c 342} -\indexentry {0}{phantom}{C}{\ic \pp{174}\c 342} -\indexentry {0}{phi}{C}{\ic \pp{195}\c 342} -\indexentry {0}{Phi}{C}{\ic \pp{195}\c 342} -\indexentry {0}{pi}{C}{\ic \pp{195}\c 342} -\indexentry {0}{Pi}{C}{\ic \pp{195}\c 202\c 342} -\indexentry {0}{pica}{N}{\ic 62} -\indexentry {0}{pieds de page}{N}{\ic 62--63\c \pp{87--88}} -\indexentry {1}{marques utilis\'es en}{N}{\ic 77} -\indexentry {1}{multi-lignes}{N}{\ic 282--283} -\indexentry {0}{pilotes de p\'eriph\'eriques}{N}{\ic 230} -\indexentry {0}{\pkfile}{N}{\ic 8\c 89} -\indexentry {0}{plainoutput}{C}{\ic \pp{154}\c 342} -\indexentry {0}{\plainTeX}{N}{\ic 3\c 8\c 9\c \pp{88}} -\indexentry {1}{familles de police en}{N}{\ic 67} -\indexentry {0}{pm}{C}{\ic \pp{197}\c 342} -\indexentry {0}{pmatrix}{C}{\ic \pp{213}\c 342} -\indexentry {0}{pmod}{C}{\ic \pp{202}\c 342} -\indexentry {0}{po\'esie, composer de la}{N}{\ic 128} -\indexentry {0}{point}{N}{\ic 12\c 14\c 62} -\indexentry {0}{point d'interrogation}{N}{\ic 14} -\indexentry {0}{point de r\'ef\'erence}{N}{\ic 52--53\c \pp{88}} -\indexentry {0}{point d'\'echelle}{N}{\ic 62} -\indexentry {0}{point d\'ecimal}{N}{\ic 84} -\indexentry {0}{point d'exclamation}{N}{\ic 14} -\indexentry {0}{points}{N}{\ic 105\c 211} -\indexentry {0}{points de suspension}{N}{\ic 105} -\indexentry {0}{police Computer Modern}{N}{\ic 36\c 51\c 88\c 116} -\indexentry {0}{police de type machine \`a \'ecrire}{N}{\ic 116} -\indexentry {0}{police Palatino}{N}{\ic 36\c 88} -\indexentry {0}{polices}{N}{\ic 28\c \pp{88--89}\c 108\c 217} -\indexentry {1}{caract\`eres de c\'esure pour}{N}{\ic 134--135} -\indexentry {1}{composites}{N}{\ic 284--285} -\indexentry {1}{familles de}{N}{\ic 67} -\indexentry {1}{nommer et modifier}{N}{\ic 229--232} -\indexentry {1}{noms de}{N}{\ic 235} -\indexentry {1}{param\`etres de}{N}{\ic 230} -\indexentry {0}{polices r\'esidentes}{N}{\ic 230} -\indexentry {0}{ponctuation}{N}{\ic 13\c 24} -\indexentry {0}{ponctuation et formules de math.}{N}{\ic 204} -\indexentry {0}{postdisplaypenalty}{C}{\ic \pp{144}\c 342} -\indexentry {0}{pouce}{N}{\ic 62} -\indexentry {0}{Pr}{C}{\ic \pp{201}\c 342} -\indexentry {0}{pr\'eam\-bule}{N}{\ic \pp{46}} -\indexentry {0}{pr\'eambule}{N}{\ic 184\c 185} -\indexentry {0}{prec}{C}{\ic \pp{198}\c 199\c 342} -\indexentry {0}{preceq}{C}{\ic \pp{198}\c 199\c 342} -\indexentry {0}{pr\'echarg\'ee}{N}{\ic 69} -\indexentry {0}{predisplaypenalty}{C}{\ic \pp{144}\c 342} -\indexentry {0}{predisplaysize}{C}{\ic \pp{224}\c 342} -\indexentry {0}{pretolerance}{C}{\ic \pp{128}\c 342} -\indexentry {0}{prevdepth}{C}{\ic 139\c \pp{140}\c 342} -\indexentry {0}{prevgraf}{C}{\ic \pp{126}\c 342} -\indexentry {0}{pr\'eviewer}{N}{\ic 8} -\indexentry {0}{prime}{C}{\ic \pp{196}\c 342} -\indexentry {0}{primitive}{N}{\ic \pp{89}} -\indexentry {1}{commande}{N}{\ic 3\c 49\c 323} -\indexentry {1}{s\'equence de contr\^ole}{N}{\ic 96} -\indexentry {0}{proclaim}{C}{\ic \pp{136}\c 342} -\indexentry {0}{prod}{C}{\ic \pp{202}\c 342} -\indexentry {0}{profondeur}{N}{\ic 52\c \pp{90}\c 173} -\indexentry {0}{programmes informatiques, composer des}{N}{\ic 128\c 285\c 288} -\indexentry {0}{propto}{C}{\ic \pp{198}\c 342} -\indexentry {0}{psi}{C}{\ic \pp{195}\c 342} -\indexentry {0}{Psi}{C}{\ic \pp{195}\c 342} -\indexentry {0}{punaise}{N}{\ic 59} -\indexentry {0}{\pxlfile}{N}{\ic 8} -\indexgroup Q -\indexentry {0}{qquad}{C}{\ic \pp{160}\c 342} -\indexentry {0}{quad}{C}{\ic \pp{160}\c 342} -\indexgroup R -\indexentry {0}{r\`egles de c\'esure}{N}{\ic 134} -\indexentry {0}{r\`eglures}{N}{\ic 179--181} -\indexentry {0}{radical}{C}{\ic \pp{215}\c 342} -\indexentry {0}{raggedbottom}{C}{\ic \pp{144}\c 342} -\indexentry {0}{raggedright}{C}{\ic 99\c \pp{122}\c 277\c 343} -\indexentry {0}{raise}{C}{\ic 52\c \pp{172}\c 343} -\indexentry {0}{rang\'ee}{N}{\ic 185} -\indexentry {0}{rangle}{C}{\ic 64\c \pp{199}\c 343} -\indexentry {0}{rbrace}{C}{\ic 64\c \pp{199}\c 343} -\indexentry {0}{rbrack}{C}{\ic 64\c \pp{104}\c \pp{199}\c 343} -\indexentry {0}{rceil}{C}{\ic 64\c \pp{199}\c 343} -\indexentry {0}{Re}{C}{\ic \pp{196}\c 343} -\indexentry {0}{read}{C}{\ic 68\c \pp{256}\c 343} -\indexentry {0}{readreffile}{C}{\ic \pp{313}} -\indexentry {0}{readtocfile}{C}{\ic \pp{311}} -\indexentry {0}{r\'ef\'erences crois\'ees}{N}{\ic 312} -\indexentry {0}{registre dimension}{N}{\ic 251} -\indexentry {0}{\<registre>}{N}{\ic 4} -\indexentry {0}{registres}{N}{\ic \pp{90--91}\c 250--254} -\indexentry {1}{arithm\'etique dans des}{N}{\ic 253--254} -\indexentry {1}{assignement \`a des}{N}{\ic 51} -\indexentry {1}{avec \b\tt\\the\e}{N}{\ic 242} -\indexentry {1}{param\`etres comme}{N}{\ic 5\c 12\c 87} -\indexentry {1}{r\'eserver}{N}{\ic 252--253} -\indexentry {0}{registres count}{N}{\ic 250} -\indexentry {1}{r\'eserv\'es par \b\tt\\newcount\e}{N}{\ic 252} -\indexentry {0}{registres de \boite}{N}{\ic 53\c 90\c 170--172\c 173} -\indexentry {1}{r\'eserv\'es par \b\tt\\newbox\e}{N}{\ic 252} -\indexentry {0}{registres de compteur}{N}{\ic 90} -\indexentry {0}{registres de dimension}{N}{\ic 90} -\indexentry {1}{r\'eserv\'es par \b\tt\\newdimen\e}{N}{\ic 252} -\indexentry {0}{registres de muglue}{N}{\ic 90} -\indexentry {0}{registres de ressort}{N}{\ic 90} -\indexentry {0}{registres de token}{N}{\ic 90} -\indexentry {0}{registres muskip}{N}{\ic 251} -\indexentry {1}{r\'eserv\'es par \b\tt\\newmuskip\e}{N}{\ic 252} -\indexentry {0}{registres skip}{N}{\ic 251} -\indexentry {1}{r\'eserv\'es par \b\tt\\newskip\e}{N}{\ic 252} -\indexentry {0}{registres token}{N}{\ic 251} -\indexentry {1}{r\'eserv\'es par \b\tt\\newtoks\e}{N}{\ic 252} -\indexentry {0}{r\'eglures}{N}{\ic \pp{91--93}} -\indexentry {0}{relations}{N}{\ic 132\c 198--199} -\indexentry {1}{mettre des formules sur des}{N}{\ic 210} -\indexentry {0}{relax}{C}{\ic 9\c \pp{249}\c 343} -\indexentry {0}{relpenalty}{C}{\ic \pp{132}\c 343} -\indexentry {0}{remplissage}{N}{\ic 180\c 181} -\indexentry {0}{repeat}{C}{\ic \pp{248}\c 343} -\indexentry {0}{ressort}{N}{\ic 17\c \pp{93--95}\c 223} -\indexentry {1}{cr\'eer de l'espace avec}{N}{\ic 66} -\indexentry {1}{dernier \'el\'ement de ressort dans une liste}{N}{\ic 177} -\indexentry {1}{\'etirable infiniment}{N}{\ic 163--164} -\indexentry {1}{infiniment \'etirable}{N}{\ic 95} -\indexentry {1}{math\'ematique}{N}{\ic 83} -\indexentry {1}{n\'egatif}{N}{\ic 165} -\indexentry {0}{ressort horizontal}{N}{\ic 161\c 162} -\indexentry {0}{ressort inter-ligne}{N}{\ic \pp{95}\c 139--140} -\indexentry {0}{ressort interligne}{N}{\ic 52} -\indexentry {0}{ressort vertical}{N}{\ic 161\c 162} -\indexentry {0}{\<ressort>}{N}{\ic 4} -\indexentry {0}{retour chariot}{N}{\ic 57} -\indexentry {0}{r\'etr\'ecissement}{N}{\ic 93--95} -\indexentry {0}{r\'etr\'ecissements}{N}{\ic \pp{95}} -\indexentry {0}{r\'evision}{N}{\ic \r7} -\indexentry {0}{rfloor}{C}{\ic 64\c \pp{199}\c 343} -\indexentry {0}{rgroup}{C}{\ic \pp{212}\c 343} -\indexentry {0}{rho}{C}{\ic \pp{195}\c 343} -\indexentry {0}{right}{C}{\ic 63\c \pp{212}\c 343} -\indexentry {0}{rightarrow}{C}{\ic \pp{200}\c 343} -\indexentry {0}{Rightarrow}{C}{\ic \pp{200}\c 343} -\indexentry {0}{rightarrowfill}{C}{\ic \pp{181}\c 343} -\indexentry {0}{rightharpoondown}{C}{\ic \pp{200}\c 343} -\indexentry {0}{rightharpoonup}{C}{\ic \pp{200}\c 343} -\indexentry {0}{righthyphenmin}{C}{\ic 18\c \pp{134}\c 343} -\indexentry {0}{rightleftharpoons}{C}{\ic \pp{200}\c 343} -\indexentry {0}{rightline}{C}{\ic 95\c \pp{115}\c 343} -\indexentry {0}{rightskip}{C}{\ic 99\c \pp{121}\c 343} -\indexentry {0}{rlap}{C}{\ic \pp{115}\c 343} -\indexentry {0}{rm}{C}{\ic \pp{109}\c 343} -\indexentry {0}{rmoustache}{C}{\ic \pp{220}\c 343} -\indexentry {0}{Rolland, Christian}{N}{\ic 20} -\indexentry {0}{romannumeral}{C}{\ic 84\c \pp{232}\c 343} -\indexentry {0}{root}{C}{\ic \pp{215}\c 343} -\indexentry {0}{routine de sortie}{N}{\ic \pp{95--96}\c 153\c 154--155} -\indexentry {1}{insertions, traitement de}{N}{\ic 71} -\indexentry {1}{par d\'efaut dans \plainTeX}{N}{\ic 154} -\indexentry {1}{signification de \b\tt\\insertpenalties\e\ dans la}{N}{\ic 145} -\indexentry {0}{rq}{C}{\ic \pp{104}\c 343} -\indexgroup S -\indexentry {0}{\char `\S}{C}{\ic \pp{104}\c 343} -\indexentry {0}{saut de paragraphe}{N}{\ic 147} -\indexentry {0}{saut horizontal}{N}{\ic 161} -\indexentry {0}{saut vertical}{N}{\ic 161} -\indexentry {0}{sb}{C}{\ic \pp{205}\c 343} -\indexentry {0}{scriptfont}{C}{\ic 67\c \pp{218}\c 344} -\indexentry {0}{scriptscriptfont}{C}{\ic 67\c \pp{218}\c 344} -\indexentry {0}{scriptscriptstyle}{C}{\ic 98\c 205\c \pp{206}\c 344} -\indexentry {0}{scriptspace}{C}{\ic \pp{225}\c 344} -\indexentry {0}{scriptstyle}{C}{\ic 98\c 205\c \pp{206}\c 344} -\indexentry {0}{scrollmode}{C}{\ic \pp{261}\c 344} -\indexentry {0}{searrow}{C}{\ic \pp{200}\c 344} -\indexentry {0}{sec}{C}{\ic \pp{201}\c 344} -\indexentry {0}{s\'equence de contr\^ole interdite}{N}{\ic 287} -\indexentry {0}{s\'equences de contr\^ole}{N}{\ic 10--11\c \pp{96--97}} -\indexentry {1}{absorbent les espaces}{N}{\ic 10} -\indexentry {1}{comme tokens}{N}{\ic 16} -\indexentry {1}{convertir en chaines}{N}{\ic 234} -\indexentry {1}{d\'efinies avec \b\tt\\let\e}{N}{\ic 240} -\indexentry {1}{versus commandes}{N}{\ic 11} -\indexentry {0}{Seroul, Raymond}{N}{\ic 20} -\indexentry {0}{setbox}{C}{\ic \pp{170}\c 344} -\indexentry {0}{setlanguage}{C}{\ic 18\c 66\c \pp{134}\c 344} -\indexentry {0}{setminus}{C}{\ic \pp{197}\c 344} -\indexentry {0}{settabs}{C}{\ic 45--46\c \pp{182}\c 344} -\indexentry {0}{setuplistinghook}{C}{\ic \pp{310}} -\indexentry {0}{sevenbf}{C}{\ic \pp{108}\c 344} -\indexentry {0}{seveni}{C}{\ic \pp{108}\c 344} -\indexentry {0}{sevenrm}{C}{\ic \pp{108}\c 344} -\indexentry {0}{sevensy}{C}{\ic \pp{108}\c 344} -\indexentry {0}{sfcode}{C}{\ic \pp{113}\c 344} -\indexentry {0}{sharp}{C}{\ic \pp{196}\c 344} -\indexentry {0}{shipout}{C}{\ic 69\c 96\c \pp{154}\c 155\c 268\c 344} -\indexentry {1}{registres {\tt\\count} affich\'es avec}{N}{\ic 148} -\indexentry {0}{show}{C}{\ic \pp{261}\c 288\c 344} -\indexentry {0}{showbox}{C}{\ic \pp{261}\c 264\c 269\c 344} -\indexentry {0}{showboxbreadth}{C}{\ic 262\c 266\c \pp{269}\c 344} -\indexentry {0}{showboxdepth}{C}{\ic 262\c 266\c \pp{269}\c 344} -\indexentry {0}{showhyphens}{C}{\ic \pp{133}\c 344} -\indexentry {0}{showlists}{C}{\ic \pp{261}\c 264\c 269\c 344} -\indexentry {0}{showthe}{C}{\ic 91\c \pp{261}\c 344} -\indexentry {0}{sigma}{C}{\ic \pp{195}\c 344} -\indexentry {0}{Sigma}{C}{\ic \pp{195}\c 202\c 344} -\indexentry {0}{sim}{C}{\ic \pp{198}\c 199\c 344} -\indexentry {0}{simeq}{C}{\ic \pp{198}\c 199\c 344} -\indexentry {0}{sin}{C}{\ic \pp{201}\c 344} -\indexentry {0}{singlecolumn}{C}{\ic \pp{319}} -\indexentry {0}{sinh}{C}{\ic \pp{201}\c 344} -\indexentry {0}{skew}{C}{\ic \pp{220}\c 345} -\indexentry {0}{skewchar}{C}{\ic \pp{220}\c 221\c 242\c 345} -\indexentry {0}{skip}{C}{\ic \pp{250}\c 254\c 345} -\indexentry {0}{skipdef}{C}{\ic \pp{253}\c 345} -\indexentry {0}{sl}{C}{\ic \pp{109}\c 345} -\indexentry {0}{slash}{N}{\ic 59\c 128} -\indexentry {0}{slash}{C}{\ic 59\c \pp{128}\c 345} -\indexentry {0}{slfam}{C}{\ic \pp{218}\c 345} -\indexentry {0}{smallbreak}{C}{\ic \pp{143}\c 345} -\indexentry {0}{smallint}{C}{\ic \pp{202}\c 345} -\indexentry {0}{smallskip}{C}{\ic 143\c \pp{160}\c 345} -\indexentry {0}{smallskipamount}{C}{\ic \pp{161}\c 345} -\indexentry {0}{smash}{C}{\ic \pp{175}\c 345} -\indexentry {0}{smile}{C}{\ic \pp{198}\c 345} -\indexentry {0}{source, pr\'eparer}{N}{\ic 10} -\indexentry {0}{sous-formules empil\'ees}{N}{\ic 208--211} -\indexentry {0}{sp}{C}{\ic \pp{205}\c 345} -\indexentry {0}{space}{C}{\ic \pp{111}\c 289\c 345} -\indexentry {0}{spacefactor}{C}{\ic \pp{113}\c 345} -\indexentry {0}{spaceskip}{C}{\ic \pp{113}\c 345} -\indexentry {0}{spacesub}{C}{\ic \pp{303}} -\indexentry {0}{spadesuit}{C}{\ic \pp{196}\c 345} -\indexentry {0}{span}{C}{\ic \pp{188}\c 345} -\indexentry {0}{special}{C}{\ic 66\c \pp{258}\c 345} -\indexentry {0}{Spivak, Michael~D.}{N}{\ic 19} -\indexentry {0}{splitbotmark}{C}{\ic 78\c \pp{151}\c 345} -\indexentry {0}{splitfirstmark}{C}{\ic 78\c \pp{151}\c 345} -\indexentry {0}{splitmaxdepth}{C}{\ic \pp{156}\c 345} -\indexentry {0}{splittopskip}{C}{\ic \pp{156}\c 345} -\indexentry {0}{sqcap}{C}{\ic \pp{197}\c 345} -\indexentry {0}{sqcup}{C}{\ic \pp{197}\c 345} -\indexentry {0}{sqrt}{C}{\ic \pp{214}\c 345} -\indexentry {0}{sqsubseteq}{C}{\ic \pp{198}\c 199\c 345} -\indexentry {0}{sqsupseteq}{C}{\ic \pp{198}\c 199\c 345} -\indexentry {0}{ss}{C}{\ic \pp{103}\c 345} -\indexentry {0}{star}{C}{\ic \pp{197}\c 346} -\indexentry {0}{string}{C}{\ic \pp{234}\c 241\c 346} -\indexentry {0}{strut}{C}{\ic 48\c 97\c \pp{173}\c 174\c 346} -\indexentry {0}{struts}{N}{\ic \pp{97}\c 141\c 173--174} -\indexentry {1}{dans des alignements verticaux}{N}{\ic 186} -\indexentry {0}{style d'affichage}{N}{\ic 98\c 202\c 206} -\indexentry {0}{style script}{N}{\ic 98\c 205\c 206\c 218} -\indexentry {0}{style scriptscript}{N}{\ic 98\c 205\c 206\c 218} -\indexentry {0}{style texte}{N}{\ic 98\c 202\c 206\c 218} -\indexentry {0}{styles}{N}{\ic \pp{97--98}\c 206--207} -\indexentry {0}{styles de caract\`ere}{N}{\ic 109\c 218} -\indexentry {0}{subset}{C}{\ic \pp{198}\c 199\c 346} -\indexentry {0}{subseteq}{C}{\ic \pp{198}\c 199\c 346} -\indexentry {0}{succ}{C}{\ic \pp{198}\c 199\c 346} -\indexentry {0}{succeq}{C}{\ic \pp{198}\c 199\c 346} -\indexentry {0}{sum}{C}{\ic \pp{202}\c 346} -\indexentry {0}{sup}{C}{\ic \pp{201}\c 346} -\indexentry {0}{supereject}{C}{\ic \pp{143}\c 346} -\indexentry {0}{support local}{N}{\ic 134} -\indexentry {0}{supset}{C}{\ic \pp{198}\c 199\c 346} -\indexentry {0}{supseteq}{C}{\ic \pp{198}\c 199\c 346} -\indexentry {0}{surd}{C}{\ic \pp{196}\c 346} -\indexentry {0}{surimpression}{N}{\ic 116} -\indexentry {0}{swarrow}{C}{\ic \pp{200}\c 346} -\indexentry {0}{symboles de contr\^ole}{N}{\ic 10\c 96\c \pp{98}} -\indexentry {0}{symboles math\'ematiques}{N}{\ic 88\c 206} -\indexentry {0}{symboles musicaux}{N}{\ic 28\c 196} -\indexentry {0}{symboles ordinaires}{N}{\ic 196} -\indexentry {0}{symboles sp\'eciaux}{N}{\ic 67\c 103} -\indexentry {0}{syst\`eme d'exploitation}{N}{\ic 67\c 83} -\indexgroup T -\indexentry {0}{\char `\t}{C}{\ic \pp{106}\c 346} -\indexentry {0}{tabalign}{C}{\ic \pp{181}\c 346} -\indexentry {0}{table des mati\`eres}{N}{\ic 311} -\indexentry {0}{tables}{N}{\ic 45--48\seealso{alignements}} -\indexentry {0}{tabskip}{C}{\ic 47\c \pp{190}\c 346} -\indexentry {0}{tabulation horizontale}{N}{\ic 57} -\indexentry {0}{tabulations}{N}{\ic 56\c 182} -\indexentry {0}{taille d'origine}{N}{\ic 76} -\indexentry {0}{taille script}{N}{\ic 67\c \pp{98}} -\indexentry {0}{taille scriptscript}{N}{\ic 67\c \pp{98}} -\indexentry {0}{taille texte}{N}{\ic 67\c \pp{98}} -\indexentry {0}{tan}{C}{\ic \pp{201}\c 346} -\indexentry {0}{tanh}{C}{\ic \pp{201}\c 346} -\indexentry {0}{tau}{C}{\ic \pp{195}\c 346} -\indexentry {0}{tenbf}{C}{\ic \pp{108}\c 346} -\indexentry {0}{tenex}{C}{\ic \pp{108}\c 346} -\indexentry {0}{teni}{C}{\ic \pp{108}\c 346} -\indexentry {0}{tenit}{C}{\ic \pp{108}\c 346} -\indexentry {0}{tenrm}{C}{\ic \pp{108}\c 346} -\indexentry {0}{tensl}{C}{\ic \pp{108}\c 346} -\indexentry {0}{tensy}{C}{\ic \pp{108}\c 346} -\indexentry {0}{tentt}{C}{\ic \pp{108}\c 346} -\indexentry {0}{terminal}{N}{\ic 262} -\indexentry {0}{test de cas}{N}{\ic 247} -\indexentry {0}{testfileexistence}{C}{\ic \pp{305}} -\indexentry {0}{tests conditionnels}{N}{\ic \pp{99}\c 243--248} -\indexentry {0}{TeX}{C}{\ic \pp{104}\c 346} -\indexentry {0}{\texbook}{N}{\ic \r8\c 2\c 45} -\indexentry {0}{\TeXMeX}{N}{\ic \pp{99}} -\indexentry {0}{texte centr\'e}{N}{\ic 95\c 99\c 316--317} -\indexentry {0}{texte d'aide}{N}{\ic 270} -\indexentry {0}{texte de marque}{N}{\ic 77\c 151} -\indexentry {0}{texte math\'ematique}{N}{\ic 16\c \pp{99}} -\indexentry {0}{texte recouvrant}{N}{\ic 115} -\indexentry {0}{texte verbatim}{N}{\ic 285} -\indexentry {0}{textfont}{C}{\ic 67\c \pp{218}\c 346} -\indexentry {0}{textindent}{C}{\ic \pp{118}\c 346} -\indexentry {0}{textstyle}{C}{\ic 98\c \pp{206}\c 346} -\indexentry {0}{\tfmfile}{N}{\ic 8\c 61\c 89\c 229} -\indexentry {0}{the}{C}{\ic 234\c \pp{242}\c 250\c 251\c 346} -\indexentry {0}{th\'eor\`emes}{N}{\ic 34\c 136} -\indexentry {0}{theta}{C}{\ic \pp{195}\c 346} -\indexentry {0}{Theta}{C}{\ic \pp{195}\c 347} -\indexentry {0}{thickmuskip}{C}{\ic \pp{222}\c 347} -\indexentry {0}{thinmuskip}{C}{\ic \pp{222}\c 347} -\indexentry {0}{thinspace}{C}{\ic \pp{159}\c 347} -\indexentry {0}{tilde}{N}{\ic 13\c 111} -\indexentry {0}{tilde}{C}{\ic \pp{207}\c 347} -\indexentry {0}{time}{C}{\ic \pp{233}\c 307\c 347} -\indexentry {0}{times}{C}{\ic \pp{197}\c 347} -\indexentry {0}{timestamp}{C}{\ic \pp{307}} -\indexentry {0}{timestring}{C}{\ic \pp{307}} -\indexentry {0}{tirets}{N}{\ic 14\c 24} -\indexentry {0}{to}{C}{\ic \pp{200}\c 347} -\indexentry {0}{<to be read again>}{T}{\ic 295} -\indexentry {0}{tokens}{N}{\ic 16\c \pp{99--100}} -\indexentry {1}{affich\'es par \b\tt\\show\e}{N}{\ic 261} -\indexentry {1}{assembl\'ee \`a partir de caract\`eres}{N}{\ic 48} -\indexentry {1}{comme commandes}{N}{\ic 58} -\indexentry {1}{montrer la signification de}{N}{\ic 234} -\indexentry {1}{pass\'ee \`a l'estomac de \TeX}{N}{\ic 48} -\indexentry {0}{tokens de caract\`ere}{N}{\ic 302} -\indexentry {0}{toks}{C}{\ic \pp{250}\c 347} -\indexentry {0}{toksdef}{C}{\ic \pp{253}\c 347} -\indexentry {0}{tokstostring}{C}{\ic \pp{302}} -\indexentry {0}{tolerance}{C}{\ic \pp{128}\c 129\c 130\c 347} -\indexentry {0}{top}{C}{\ic \pp{196}\c 347} -\indexentry {0}{topglue}{C}{\ic 18\c \pp{162}\c 276\c 347} -\indexentry {0}{topinsert}{C}{\ic 72\c \pp{152}\c 153\c 347} -\indexentry {0}{topmark}{C}{\ic 77\c \pp{150}\c 347} -\indexentry {0}{topskip}{C}{\ic \pp{147}\c 156\c 347} -\indexentry {0}{tracer}{N}{\ic 261--269} -\indexentry {0}{tracer des lignes}{N}{\see{filets}} -\indexentry {0}{tracingall}{C}{\ic \pp{269}\c 347} -\indexentry {0}{tracingboxes}{C}{\ic \pp{302}} -\indexentry {0}{tracingcommands}{C}{\ic \pp{264}\c 347} -\indexentry {0}{tracinglostchars}{C}{\ic \pp{265}\c 347} -\indexentry {0}{tracingmacros}{C}{\ic \pp{266}\c 347} -\indexentry {0}{tracingonline}{C}{\ic 262\c \pp{264}\c 265\c 266\c 267\c 268\c 269\c 347} -\indexentry {0}{tracingoutput}{C}{\ic \pp{266}\c 269\c 347} -\indexentry {0}{tracingpages}{C}{\ic \pp{267}\c 347} -\indexentry {0}{tracingparagraphs}{C}{\ic \pp{267}\c 347} -\indexentry {0}{tracingrestores}{C}{\ic \pp{268}\c 347} -\indexentry {0}{tracingstats}{C}{\ic \pp{268}\c 347} -\indexentry {0}{triangle}{C}{\ic \pp{196}\c 347} -\indexentry {0}{triangleleft}{C}{\ic \pp{197}\c 347} -\indexentry {0}{triangleright}{C}{\ic \pp{197}\c 347} -\indexentry {0}{true}{T}{\ic 76} -\indexentry {0}{tt}{C}{\ic \pp{109}\c 347} -\indexentry {0}{ttfam}{C}{\ic \pp{218}\c 347} -\indexentry {0}{ttraggedright}{C}{\ic \pp{122}\c 347} -\indexentry {0}{\TUG}{N}{\ic 19\c 20} -\indexentry {0}{TUGBoat}{N}{\ic 19} -\indexgroup U -\indexentry {0}{\char `\u}{C}{\ic \pp{106}\c 348} -\indexentry {0}{uccode}{C}{\ic \pp{109}\c 348} -\indexentry {0}{uchyph}{C}{\ic \pp{133}\c 348} -\indexentry {0}{unbox}{C}{\ic 178} -\indexentry {0}{uncatcodespecials}{C}{\ic \pp{301}} -\indexentry {0}{underbar}{C}{\ic \pp{169}\c 348} -\indexentry {0}{underbrace}{C}{\ic \pp{210}\c 220\c 348} -\indexentry {0}{underfull boxes}{N}{\ic 276--278} -\indexentry {0}{underline}{C}{\ic \pp{210}\c 348} -\indexentry {0}{unhbox}{C}{\ic \pp{171}\c 348} -\indexentry {0}{unhcopy}{C}{\ic \pp{171}\c 348} -\indexentry {0}{unit\'es de mesure}{N}{\ic 62\c \pp{100}} -\indexentry {0}{unit\'es math\'ematiques}{N}{\ic 83\c \pp{100}} -\indexentry {0}{unkern}{C}{\ic \pp{177}\c 348} -\indexentry {0}{unorderedlist}{C}{\ic \pp{308}} -\indexentry {0}{unpenalty}{C}{\ic \pp{177}\c 348} -\indexentry {0}{unskip}{C}{\ic \pp{177}\c 348} -\indexentry {0}{unvbox}{C}{\ic \pp{171}\c 348} -\indexentry {0}{unvcopy}{C}{\ic \pp{171}\c 348} -\indexentry {0}{uparrow}{C}{\ic 64\c \pp{200}\c 348} -\indexentry {0}{Uparrow}{C}{\ic 64\c \pp{200}\c 348} -\indexentry {0}{upbracefill}{C}{\ic \pp{219}\c 348} -\indexentry {0}{updownarrow}{C}{\ic 64\c \pp{200}\c 348} -\indexentry {0}{Updownarrow}{C}{\ic 64\c \pp{200}\c 348} -\indexentry {0}{uplus}{C}{\ic \pp{197}\c 348} -\indexentry {0}{uppercase}{C}{\ic \pp{110}\c 348} -\indexentry {0}{upsilon}{C}{\ic \pp{195}\c 348} -\indexentry {0}{Upsilon}{C}{\ic \pp{195}\c 348} -\indexgroup V -\indexentry {0}{\char `\v}{C}{\ic \pp{106}\c 348} -\indexentry {0}{vadjust}{C}{\ic \pp{126}\c 274\c 275\c 348} -\indexentry {0}{valign}{C}{\ic 47\c \pp{185}\c 348} -\indexentry {1}{grouper pour}{N}{\ic 16} -\indexentry {1}{horizontal par nature}{N}{\ic 82} -\indexentry {1}{utilis\'e dans {\tt\\makecolumns}}{N}{\ic 318} -\indexentry {0}{varepsilon}{C}{\ic \pp{195}\c 348} -\indexentry {0}{variantes \'etroites}{N}{\ic 98} -\indexentry {0}{varphi}{C}{\ic \pp{195}\c 348} -\indexentry {0}{varpi}{C}{\ic \pp{195}\c 348} -\indexentry {0}{varrho}{C}{\ic \pp{195}\c 348} -\indexentry {0}{varsigma}{C}{\ic \pp{195}\c 348} -\indexentry {0}{vartheta}{C}{\ic \pp{195}\c 349} -\indexentry {0}{vbadness}{C}{\ic \pp{176}\c 349} -\indexentry {0}{vbox}{N}{\ic 51\c \pp{100}} -\indexentry {1}{largeur d\'etermin\'ee par \b\tt\\hsize\e}{N}{\ic 120} -\indexentry {1}{mode vertical pour}{N}{\ic 82} -\indexentry {1}{ressort inter-ligne pour}{N}{\ic 139} -\indexentry {1}{tester}{N}{\ic 246} -\indexentry {0}{vbox}{C}{\ic 51\c 52--53\c 100\c \pp{167}\c 349} -\indexentry {1}{emp\^echer des coupures de page avec}{N}{\ic 273} -\indexentry {1}{overfull box provenant de}{N}{\ic 277--278} -\indexentry {0}{vcenter}{C}{\ic \pp{221}\c 306\c 349} -\indexentry {0}{vdash}{C}{\ic \pp{198}\c 349} -\indexentry {0}{vdots}{C}{\ic \pp{211}\c 349} -\indexentry {0}{vec}{C}{\ic \pp{207}\c 349} -\indexentry {0}{vee}{C}{\ic \pp{197}\c 349} -\indexentry {0}{vers, composer des}{N}{\ic 128} -\indexentry {0}{vert}{C}{\ic 64\c \pp{196}\c 349} -\indexentry {0}{Vert}{C}{\ic 64\c \pp{196}\c 349} -\indexentry {0}{vfil}{C}{\ic \pp{163}\c 278\c 349} -\indexentry {1}{n\'ecessaire avec {\tt\\eject}}{N}{\ic 143} -\indexentry {1}{remplir une vbox}{N}{\ic 168} -\indexentry {0}{vfill}{C}{\ic \pp{163}\c 274\c 349} -\indexentry {0}{vfilneg}{C}{\ic \pp{165}\c 349} -\indexentry {0}{vfootnote}{C}{\ic \pp{151}\c 153\c 318\c 349} -\indexentry {0}{vfuzz}{C}{\ic \pp{176}\c 277\c 349} -\indexentry {0}{vglue}{C}{\ic \pp{162}\c 163\c 349} -\indexentry {0}{virtex}{T}{\ic 69\c 271} -\indexentry {0}{voffset}{C}{\ic 63\c 77\c \pp{146}\c 282\c 349} -\indexentry {0}{vphantom}{C}{\ic \pp{175}\c 349} -\indexentry {0}{vrule}{C}{\ic 69--70\c \pp{178}\c 281\c 349} -\indexentry {1}{horizontal par nature}{N}{\ic 82} -\indexentry {0}{vsize}{C}{\ic 63\c 77\c \pp{146}\c 282\c 349} -\indexentry {1}{d\'etermin\'e par {\tt\\magnification}}{N}{\ic 231} -\indexentry {0}{vskip}{C}{\ic 93\c \pp{161}\c 349} -\indexentry {0}{vsplit}{C}{\ic 151\c \pp{155}\c 349} -\indexentry {0}{vss}{C}{\ic \pp{164}\c 278\c 349} -\indexentry {0}{vtop}{C}{\ic 51\c 52--53\c 100\c \pp{167}\c 349} -\indexgroup W -\indexentry {0}{wd}{C}{\ic \pp{173}\c 349} -\indexentry {0}{wedge}{C}{\ic \pp{197}\c 349} -\indexentry {0}{widehat}{C}{\ic \pp{207}\c 349} -\indexentry {0}{widetilde}{C}{\ic \pp{207}\c 349} -\indexentry {0}{widowpenalty}{C}{\ic \pp{144}\c 349} -\indexentry {0}{wlog}{C}{\ic \pp{269}\c 349} -\indexentry {1}{d\'evelopp\'e par les r\`egles d'{\tt\\edef}}{N}{\ic 239} -\indexentry {0}{wp}{C}{\ic \pp{196}\c 349} -\indexentry {0}{wr}{C}{\ic \pp{197}\c 350} -\indexentry {0}{write}{C}{\ic \pp{258}\c 350} -\indexentry {1}{avec {\tt\\immediate}}{N}{\ic 258} -\indexentry {1}{d\'evelopp\'e durant {\tt\\shipout}}{N}{\ic 154} -\indexentry {1}{d\'evelopp\'e par les r\`egles d'{\tt\\edef}}{N}{\ic 239} -\indexentry {1}{\'ecrire \b\tt\%\e\ avec}{N}{\ic 302} -\indexentry {1}{\elementextra\ produit par}{N}{\ic 66} -\indexentry {1}{expansion de {\tt\\'\it c} en}{N}{\ic 84} -\indexentry {1}{flot d'entr\'ee pour}{N}{\ic 68} -\indexentry {0}{<write>}{T}{\ic 298} -\indexentry {0}{writetocentry}{C}{\ic \pp{311}} -\indexgroup X -\indexentry {0}{xdef}{C}{\ic 70\c 236\c \pp{239}\c 350} -\indexentry {0}{xi}{C}{\ic \pp{195}\c 350} -\indexentry {0}{Xi}{C}{\ic \pp{195}\c 350} -\indexentry {0}{xleaders}{C}{\ic 91--93\c \pp{179}\c 350} -\indexentry {0}{xrdef}{C}{\ic \pp{312}} -\indexentry {0}{xref}{C}{\ic \pp{312}} -\indexentry {0}{xrefn}{C}{\ic \pp{312}} -\indexentry {0}{xspaceskip}{C}{\ic \pp{113}\c 350} -\indexgroup Y -\indexentry {0}{year}{C}{\ic \pp{233}\c 307\c 350} -\indexentry {0}{yeux}{N}{\ic 16\c \pp{48}\seealso{\anatomy}} -\indexgroup Z -\indexentry {0}{Zapf, Hermann}{N}{\ic 36} -\indexentry {0}{zeta}{C}{\ic \pp{195}\c 350} diff --git a/Master/texmf-doc/doc/french/impatient-fr/fconcept.tex b/Master/texmf-doc/doc/french/impatient-fr/fconcept.tex index 81594b39566..a1f8001ef39 100644 --- a/Master/texmf-doc/doc/french/impatient-fr/fconcept.tex +++ b/Master/texmf-doc/doc/french/impatient-fr/fconcept.tex @@ -1,4069 +1,4069 @@ -% This is part of the book TeX for the Impatient. -% Copyright (C) 2003 Paul W. Abrahams, Kathryn A. Hargreaves, Karl Berry. -% Copyright (C) 2004 Marc Chaudemanche pour la traduction française. -% See file fdl.tex for copying conditions. - -\input fmacros -\chapter{Concepts} - -\chapterdef{concepts} - -Cette partie du livre contient les d\'efinitions et explications des -concepts que nous utilisons pour d\'ecrire \TeX. Les concepts comprennent -les termes techniques que nous utilisons pour expliquer les commandes et -des points importants qui ne sont vus nulle part ailleurs dans le livre - -Les concepts sont class\'es dans l'ordre alphab\'etique. La page de garde int\'erieure -contient une liste compl\`ete des concepts et les pages o\`u ils sont expliqu\'es. -Nous vous sugg\'erons de faire une copie de cette page int\'erieure et de la -garder de cot\'e pour que vous puissiez identifier et regarder un concept non -familier imm\'ediatement. Autant que possible, nous gardons notre -terminologie coh\'erente avec celle de \texbook.\idxref{\texbook} - -\beginconcepts - -\conceptindex{alignements} -\concept alignement - -\bix^^{tables} -Un \defterm{alignement} est une construction pour aligner du mat\'e\-riel tel -qu'un tableau, en colonne ou en rang\'ee. Pour former un alignement vous devez -(a)~d\'ecrire le format des colonnes ou des rang\'ees et (b)~ dire \`a \TeX\ quel -mat\'eriel va dans les colonnes ou les rang\'ees. Un alignement tabul\'e ou un -alignement horizontal est organis\'e comme une suite de rang\'ees~; un alignement -vertical est organis\'e comme une suite de colonnes. Nous d\'ecrirons d'abord -les alignements tabul\'es et horizontaux et ensuite, plus bri\`evement, les -alignements verticaux. - -Les alignements tabul\'es sont d\'efinis par \plainTeX. Ils sont plus simples -mais moins flexibles que les alignements horizontaux. Ils diff\`erent -principalement sur la fa\c con de d\'ecrire leurs formats. - -\bix^^|\settabs| -\bix\ctsidxref{+} -\bix\ctsidxref{cr} - -Pour construire un alignement tabul\'e vous devez tout d'abord former une -commande |\settabs| \ctsref{\settabs} qui sp\'ecifie comment \TeX\ doit -diviser l'es\-pace horizontal disponible en colonne, ensuite vous procurer -une suite de rang\'ees \`a tabuler. Chaque rang\'ee consiste en une s\'equence de -contr\^ole |\+| \ctsref{\@plus} suivi par une liste d'``entr\'ees'', c'est-\`a-dire -des intersections rang\'ees\slash colonnes. -^^{entr\'ee (colonne ou rang\'ee)} -Des entr\'ees qui se suivent sur une rang\'ee sont s\'epar\'ees par une esperluette -(|&|). -\xrdef{@and} -\ttidxref{&} -La fin d'une rang\'ee est indiqu\'ee par ^|\cr| apr\`es sa derni\`ere entr\'ee. -Si une rang\'ee a moins d'entr\'ees qu'il y a de colonnes dans l'alignement, -\TeX\ rempli jusqu'\`a la fin la rang\'ee de blanc. - -Tant qu'il est pr\'ec\'ed\'e d'une commande |\settabs|, vous pouvez mettre une -rang\'ee d'un alignement tabul\'e n'importe o\`u dans votre document. En particulier, -vous pouvez mettre autres choses entre les rang\'ees d'aligne\-ments tabul\'es ou -d\'ecrire plusieurs alignements tabul\'es avec un seul |\set!-tabs|. Voici un exemple -d'alignement tabul\'e~: - -\xrdef{tabbedexample}\csdisplay -{\hsize = 1.7 in \settabs 2 \columns -\+cattle&herd\cr -\+fish&school\cr -\+lions&pride\cr} -| -La commande |\settabs 2 \columns| de cet exemple \ctsref{\settabs} -demande \`a \TeX\ de produire deux colonnes de largeurs \'egales. -La longueur de la ligne est de $1.7$ pouces. -L'alignement compos\'e ressemble \`a ceci~: - -{\def\+{\tabalign}% so it isn't \outer. -\vdisplay{% -\hsize 1.7 in \settabs 2 \columns -\+cattle&herd\cr -\+fish&school\cr -\+lions&pride\cr} -}% - -\margin{Missing explanation added here.} -Il y a une autre forme d'alignement tabul\'e dans lequel vous sp\'ecifiez les -largeurs de colonne avec un exemple. La largeur de colonne de l'exemple -d\'etermine les largeurs de colonne du reste de l'alignement~: -\csdisplay -{\settabs\+cattle\quad&school\cr -\+cattle&herd\cr -\+fish&school\cr -\+lions&pride\cr} -| -Voici le r\'esultat~: -{\def\+{\tabalign}% so it isn't \outer. -\vdisplay{% -\settabs\+cattle\quad&school\cr -\+cattle&herd\cr -\+fish&school\cr -\+lions&pride\cr} -}% - -\eix^^|\settabs| -\eix\ctsidxref{+} -\bix^^|\halign| -Les alignements horizontaux sont construits avec |\halign| \ctsref\halign. -\TeX\ ajuste la largeur des colonnes d'un alignement horizontal en fonction -du contenu des colonnes. Quand \TeX\ rencontre la commande |\halign| qui -d\'ebute un alignement horizontal, il examine d'abord toutes les rang\'ees de -l'alignement pour voir quelle est la largeur des entr\'ees. Il fixe alors -la largeur des colonnes pour accommoder les entr\'ees les plus larges dans ces -colonnes. - -Un alignement horizontal g\'er\'e par |\halign| est constitu\'e d'un -``\pix^{pr\'eam\-bule}'' qui indique le sch\'ema des rang\'ees suivi par les -rang\'ees elles-m\^emes. -\ulist -\li Le pr\'eambule est constitu\'e d'une suite de \pix^{patron}s, un pour -chaque colonne. Le patron d'une colonne sp\'ecifie comment le texte de cette -colonne doit \^etre compos\'e. Chaque patron doit inclure un seul carac\-t\`ere |#| -\ttidxref{#}\xrdef{@asharp} -pour indiquer o\`u \TeX\ doit substituer le texte d'une entr\'ee dans le patron. -Les patrons sont s\'epar\'es par une esperluette (|&|) \ttidxref{&} et la fin -du pr\'eambule est indiqu\'ee par |\cr|. En procurant un patron appro\-pri\'e, vous -pouvez obtenir des effets comme centrer une colonne, justifier une colonne -\`a gauche ou \`a droite ou composer une colonne dans une \refterm{police} -particuli\`ere. - -\li Les rang\'ees ont la m\^eme forme que dans l'alignement tabul\'e, sauf que -vous ne mettez pas de |\+| au d\'ebut de chaque rang\'ee. -Comme avant, des entr\'ees sont s\'epar\'ees par |&| et la fin d'une rang\'ee est -indiqu\'ee par |\cr|. -\TeX\ traite chaque entr\'ee comme un \refterm{groupe}, donc, chaque commande -de changement de police ou autre \refterm{assignement} dans le patron de -colonne ne prend effet que pour les entr\'ees de cette colonne. -\endulist -\noindent Le pr\'eambule et les rang\'ees doivent \^etre inclus entre les -accolades qui suivent |\halign|. Chaque alignement |\halign| doit inclure -son propre pr\'eambule. - -Par exemple, l'alignement horizontal~: -\csdisplay -\tabskip=2pc -\halign{\hfil#\hfil &\hfil#\hfil &\hfil#\hfil \cr - &&\it Table\cr -\noalign{\kern -2pt} - \it Creature&\it Victual&\it Position\cr -\noalign{\kern 2pt} - Alice&crumpet&left\cr - Dormouse&muffin&middle\cr - Hatter&tea&right\cr} -| - -\noindent produit le r\'esultat~: - -\xrdef{halignexample} -\vdisplay{% -\tabskip=2pc \halign{\hfil#\hfil &\hfil#\hfil &\hfil#\hfil \cr - &&\it Table\cr -\noalign{\kern -2pt} - \it Creature&\it Victual&\it Position\cr -\noalign{\kern 2pt} - Alice&crumpet&left\cr - Dormouse&muffin&middle\cr - Hatter&tea&right\cr} -}% -\noindent Le ^|\tabskip| \ctsref{\tabskip} de cet exemple -demande \`a \TeX\ d'ins\'erer |2pc| de -\refterm{ressort} entre les colonnes. -La commande ^|\noalign| \ctsref{\noalign} d'ins\'erer -du mat\'eriel de \refterm{mode vertical} entre deux rang\'ees. -Dans cet exemple nous avons -utilis\'e |\noalign| pour produire de l'espace suppl\'ementaire entre les -rang\'ees de titre et les rang\'ees de donn\'ees, et aussi rapprocher ``Table'' -et ``Position''. -(Vous pouvez aussi utiliser |\noalign| avant la premi\`ere rang\'ee ou apr\`es la -derni\`ere.) -\eix^^|\halign| - -Vous pouvez aussi construire un alignement vertical avec la commande ^|\valign| -\ctsref{\valign}. Un alignement vertical est organis\'e comme une s\'erie de -colonnes plut\^ot que comme une s\'erie de rang\'ees. Un alignement vertical suit -les m\^eme r\`egles qu'un alignement horizontal sauf que le r\^ole des rang\'ees et -des colonnes est invers\'e. Par exemple, l'alignement vertical~: - -\csdisplay -{\hsize=0.6in \parindent=0pt -\valign{#\strut&#\strut&#\strut\cr - one&two&three\cr - four&five&six\cr - seven&eight&nine\cr - ten&eleven\cr}} +% This is part of the book TeX for the Impatient.
+% Copyright (C) 2003 Paul W. Abrahams, Kathryn A. Hargreaves, Karl Berry.
+% Copyright (C) 2004 Marc Chaudemanche pour la traduction française.
+% See file fdl.tex for copying conditions.
+
+\input fmacros
+\chapter{Concepts}
+
+\chapterdef{concepts}
+
+Cette partie du livre contient les d\'efinitions et explications des
+concepts que nous utilisons pour d\'ecrire \TeX. Les concepts comprennent
+les termes techniques que nous utilisons pour expliquer les commandes et
+des points importants qui ne sont vus nulle part ailleurs dans le livre
+
+Les concepts sont class\'es dans l'ordre alphab\'etique. La page de garde int\'erieure
+contient une liste compl\`ete des concepts et les pages o\`u ils sont expliqu\'es.
+Nous vous sugg\'erons de faire une copie de cette page int\'erieure et de la
+garder de cot\'e pour que vous puissiez identifier et regarder un concept non
+familier imm\'ediatement. Autant que possible, nous gardons notre
+terminologie coh\'erente avec celle de \texbook.\idxref{\texbook}
+
+\beginconcepts
+
+\conceptindex{alignements}
+\concept alignement
+
+\bix^^{tables}
+Un \defterm{alignement} est une construction pour aligner du mat\'e\-riel tel
+qu'un tableau, en colonne ou en rang\'ee. Pour former un alignement vous devez
+(a)~d\'ecrire le format des colonnes ou des rang\'ees et (b)~ dire \`a \TeX\ quel
+mat\'eriel va dans les colonnes ou les rang\'ees. Un alignement tabul\'e ou un
+alignement horizontal est organis\'e comme une suite de rang\'ees~; un alignement
+vertical est organis\'e comme une suite de colonnes. Nous d\'ecrirons d'abord
+les alignements tabul\'es et horizontaux et ensuite, plus bri\`evement, les
+alignements verticaux.
+
+Les alignements tabul\'es sont d\'efinis par \plainTeX. Ils sont plus simples
+mais moins flexibles que les alignements horizontaux. Ils diff\`erent
+principalement sur la fa\c con de d\'ecrire leurs formats.
+
+\bix^^|\settabs|
+\bix\ctsidxref{+}
+\bix\ctsidxref{cr}
+
+Pour construire un alignement tabul\'e vous devez tout d'abord former une
+commande |\settabs| \ctsref{\settabs} qui sp\'ecifie comment \TeX\ doit
+diviser l'es\-pace horizontal disponible en colonne, ensuite vous procurer
+une suite de rang\'ees \`a tabuler. Chaque rang\'ee consiste en une s\'equence de
+contr\^ole |\+| \ctsref{\@plus} suivi par une liste d'``entr\'ees'', c'est-\`a-dire
+des intersections rang\'ees\slash colonnes.
+^^{entr\'ee (colonne ou rang\'ee)}
+Des entr\'ees qui se suivent sur une rang\'ee sont s\'epar\'ees par une esperluette
+(|&|).
+\xrdef{@and}
+\ttidxref{&}
+La fin d'une rang\'ee est indiqu\'ee par ^|\cr| apr\`es sa derni\`ere entr\'ee.
+Si une rang\'ee a moins d'entr\'ees qu'il y a de colonnes dans l'alignement,
+\TeX\ rempli jusqu'\`a la fin la rang\'ee de blanc.
+
+Tant qu'il est pr\'ec\'ed\'e d'une commande |\settabs|, vous pouvez mettre une
+rang\'ee d'un alignement tabul\'e n'importe o\`u dans votre document. En particulier,
+vous pouvez mettre autres choses entre les rang\'ees d'aligne\-ments tabul\'es ou
+d\'ecrire plusieurs alignements tabul\'es avec un seul |\set!-tabs|. Voici un exemple
+d'alignement tabul\'e~:
+
+\xrdef{tabbedexample}\csdisplay
+{\hsize = 1.7 in \settabs 2 \columns
+\+cattle&herd\cr
+\+fish&school\cr
+\+lions&pride\cr}
|
-\noindent produit~: -\vdisplay{% -{\hsize=0.6in \parindent=\listleftindent % Because lists and displays - % are not indented just by \parindent. -\valign{#\strut&#\strut&#\strut\cr - one&two&three\cr - four&five&six\cr - seven&eight&nine\cr - ten&eleven\cr}} -} -La commande ^|\strut| \ctsref{\strut} dans le patron est n\'ecessaire pour -que les entr\'ees de chaque rang\'ee s'alignent proprement, c'est-\`a-dire, -pour avoir une \refterm{ligne de base} commune et garder une distance -uniforme entre les lignes de base. -\eix\ctsidxref{cr} -\eix^^{tables} - -\endconcept - - -\concept {\anatomy} - -\texbook\ d\'ecrit la fa\c con dont {\TeX} compile ses sources en termes de -``t\^aches digestives'' de \TeX---ses ``^{yeux}'', ``^{bouche}'', -``^{\oesophage}'', ``^{estomac}'' et ``^{intestin}''. Savoir comment ces -organes travaillent peut \^etre utile quand vous essayer de comprendre de subtils -aspects du raisonnement de \TeX\ quand il dig\`ere un document. - -\ulist - -\li En utilisant ses ``\pix^{yeux}'', \TeX\ lit les \refterm{caract\`eres:caract\`ere} du -^{fichier source} et les passe \`a sa bouche. Puisqu'un fichier source -peut contenir des commandes ^|\input| \ctsref{\input}, -\TeX\ peut en effet d\'etourner son regard d'un fichier \`a l'autre. - -\li En utilisant sa ``\pix^{bouche}'', {\TeX} assemble les caract\`eres en -\refterm{tokens:token} et les passe \`a son \oesophage. -Chaque token est soit une \refterm{s\'equence de contr\^ole} ou un simple -caract\`ere. Une s\'equence de contr\^ole commence toujours par un \refterm{caract\`ere -d'\'echappement}. Notez que les espaces et les fins de ligne sont des caract\`eres -de plein droit, de plus \TeX\ compresse une suite d'espaces en un seul token -d'espace. Voir \knuth{pages~46--47}{56--58} pour les r\`egles avec lesquelles \TeX\ -assemble les caract\`eres en tokens. -^^{tokens//assembl\'ee \`a partir de caract\`eres} - -\li En utilisant son ``\pix^{\oesophage}'', {\TeX} d\'eveloppe chaque macro, conditions, et -^^{macros//d\'evelopp\'ees dans l'estomac de \TeX} -^^{tokens//pass\'ee \`a l'estomac de \TeX} -constructions similaires qu'il trouve (voir \knuth{pages~212--216}{249--253}) et passe -la suite de \refterm{tokens:token} r\'esultante -\`a l'estomac de \TeX. D\'evelopper un token -peu faire appara\^\i tre d'autres tokens qui \`a leur tour ont besoin d'\^etre -d\'evelopp\'es. {\TeX} parcourt ce d\'eveloppement de gauche \`a droite \`a moins -que l'ordre soit modi\-fi\'e par -une commande telle que |\expandafter| \ctsref{\expandafter}. -En d'autres mots, l'\oe sophage de \TeX\ d\'eveloppe toujours le token le plus \`a -gauche non-d\'evelopp\'e qu'il n'a pas encore envoy\'e vers l'estomac de \TeX. - -\li En utilisant son ``\pix^{estomac}'', {\TeX} ex\'ecute tous les groupes de token. -Chaque groupe contient une commande primitive suivie par ses -arguments, s'il y en a. -La plupart des commandes sont de type ``compose ce caract\`ere'', -dont leur groupe n'est constitu\'e que d'un token. -Suivant les instructions donn\'ees par les commandes, l'estomac de -\TeX\ assemble de plus en plus grandes unit\'es, d\'ebutant par des -caract\`eres et finissant par des pages, -et passe les pages \`a l'intestin de \TeX. -^^{pages//assembl\'ees dans l'estomac de \TeX} -L'estomac de \TeX\ ex\'ecute les taches de \refterm{coupure de ligne}---% -^^{coupures de ligne} -c'est-\`a-dire, couper chaque paragraphe en suite de lignes---% -et de \refterm{coupure de page}---c'est-\`a-dire, -couper une suite continue de lignes -et autres mat\'eriels de mode vertical en pages. - -\li En utilisant ses ``\pix^{intestin}'', \TeX\ transforme les pages produites par son -estomac en une forme destin\'ee \`a \^etre lue -par d'autres program\-mes. Il envoit alors la sortie transform\'ee dans le -\dvifile. -^^{\dvifile//cr\'e\'e par l'intestin de \TeX} - -\endulist - -La plupart du temps, vous pouvez penser que les processus qui prennent place dans -les yeux, bouches, \oesophage, estomac et intestin de \TeX\ ont lieu les uns apr\`es -les autres. La v\'erit\'e en la mati\`ere est que des commandes ex\'ecut\'ees dans l'estomac -de \TeX\ peuvent influencer les \'etapes suivantes de la digestion. Par exemple, -quand l'estomac de \TeX\ rencontre la commande |\input| \ctsref{\input}, ses -yeux commencent \`a lire un fichier diff\'erent~; quand l'estomac de \TeX\ -rencontre une commande |\catcode| \ctsref{\catcode} sp\'ecifiant un code de -cat\'egorie pour le caract\`ere $c$, l'interpr\'etation de $c$ par la bouche de -\TeX\ s'en trouve affect\'e. Et quand l'estomac de \TeX\ rencontre une d\'efinition -de \refterm{macro}, les d\'eveloppements charg\'es dans l'\oe sophage de \TeX\ -sont eux aussi affect\'es. - -Vous pouvez comprendre comment les processus agissent les uns sur les autres -en imaginant que chaque processus avale goul\^ument le -rendu de son pr\'ed\'ecesseur d\`es qu'il devient disponible. Par -exemple, une fois que l'estomac de \TeX\ a vu le dernier caract\`ere du -nom de fichier dans une commande |\input|, \TeX\ fixe son regard -imm\'ediatement sur le premier caract\`ere du fichier d'entr\'ee indiqu\'e. - -\endconcept - -%\pagebreak -\conceptindex{arguments} -\concept argument - -^^{commandes//arguments de} -Un \defterm{argument} contient le texte pass\'e \`a une -\refterm{commande}. -Les arguments d'une commande compl\`etent la description de ce que -la commande est suppos\'ee faire. -La commande peut \^etre soit une commande \refterm{primitive}, soit une -\refterm{macro}. - -Chaque commande primitive ^^{primitive//commande} -a sa propre convention sur la forme de ses -arguments. Par exemple, la suite de \refterm{tokens:token}~: - -\csdisplay -\hskip 3pc plus 1em -| -consiste en la commande `|\hskip|' et les arguments -`|3pc plus 1em|'. Mais si vous \'ecrivez~: - -\csdisplay -\count11 3pc plus 1em -| -vous obtiendrez un effet enti\`erement diff\'erent. -\TeX\ traitera `|\count11|' comme une commande avec un argument `|3|', -suivi par les tokens de texte ordinaire `|pc plus 1em|' -(parce que les registres de compteur attendent l'affectation d'un nombre)% ----probablement pas ce dont vous aviez -intention. L'effet de la commande, donc, sera d'assigner -$3$ au registre du compteur $11$ (voir la discussion sur ^|\count|, -\xref\count). - -Les macros, d'un autre cot\'e, suivent toutes la m\^eme convention -pour leurs arguments. -^^{macros//arguments de} -Chaque argument pass\'e \`a une macro -correspond \`a un \refterm{param\`etre} -^^{param\`etres//et arguments} -dans la d\'efinition de cette -macro. ^^{macros//param\`etres de} -Un param\`etre de macro est soit ``d\'elimit\'e'', soit ``non d\'elimite''. -La d\'efinition de la macro d\'etermine le nombre et la nature des param\`etres de la macro -et donc le nombre et la nature des arguments de la macro. - -La diff\'erence entre un argument d\'elimit\'e et un argument non d\'elimit\'e tient -\`a la fa\c con qu'a \TeX\ de d\'ecider o\`u se termine l'argument. -^^{arguments d\'elimit\'es} -^^{arguments non d\'elimit\'es} -\ulist -\li Un argument d\'elimit\'e est constitu\'e des tokens \`a partir du d\'ebut de -l'argument jusqu'\`a, mais sans l'inclure, la suite de tokens particuliers -qui servent comme d\'elimiteur pour cet argument. Le d\'elimiteur est sp\'ecifi\'e -dans la d\'efinition de la macro. Ainsi, vous ajoutez un argument d\'elimit\'e \`a -une macro en \'ecrivant l'argument lui-m\^eme, suivi par le d\'elimiteur. Un -argument d\'elimit\'e peut \^etre vide, c'est-\`a-dire, ne pas avoir de texte du -tout. Chaque accolade d'un argument d\'elimit\'e doit \^etre appair\'e -correctement, c'est-\`a-dire, chaque accolade gauche doit avoir une accolade -droite correspondante et vice versa. - -\li Un argument non d\'elimit\'e consiste en un token simple ou une suite de -tokens entour\'e d'accolades, comme ceci~: -`|{Here is {the} text.}|'. Malgr\'e les apparences, les accolades ext\'erieures -ne forment pas un \refterm{groupe}---\TeX\ ne les utilise que pour -d\'eterminer quel est l'argument. Chaque accolade interne, comme celles autour -de `|the|', doivent \^etre appair\'ees correctement. Si vous faites une erreur -et mettez trop d'accolades fermantes, \TeX\ se plaindra d'un `unexpected right brace' -\TeX\ se plaindra aussi si vous mettez trop d'accolades ouvrantes, mais vous -obtiendrez \emph{cette} plainte longtemps apr\`es l'endroit o\`u vous pensiez -finir l'argument (voir \xref{mismatched}). -\endulist -\noindent -Voir \conceptcit{macro} pour plus d'information sur les param\`etres et les -arguments. Vous trouverez les r\`egles pr\'ecises concernant les arguments -d\'elimit\'es et non d\'elimit\'es dans \knuth{pages~203--204}{237--239}. -\endconcept - - -\concept {ASCII} - -\defterm{\ascii} est l'abr\'eviation de ``American Standard Code for -Information Interchange''. Il y a $256$ ^{caract\`eres} \ascii, chacun avec -son propre num\'ero de code, mais seuls les~$128$ premiers -ont \'et\'e standardis\'es. Vous pouvez trouver leur signification dans une ``table -de codes'' \ascii\ comme celle de la \knuth{page~367}{425}. -Les caract\`eres $32$--$126$ sont des ``caract\`eres imprimables'', -^^{caract\`eres imprimables} comme les lettres, les chiffres et les signes de -ponctuation. Les caract\`eres restants sont des ``^{caract\`eres de contr\^ole}'' -qui sont utilis\'es sp\'ecialement (dans l'industrie informatique, pas dans \TeX) -pour contr\^oler les entr\'ees\slash sorties et les instruments de communication -de donn\'ees. -Par exemple, le code \ascii\ $84$ correspond \`a la lettre `T', tandis que -le code \ascii\ $12$ correspond \`a la fonction ``form feed'' -(interpr\'et\'e par la plupart des imprimantes par ``commence une nouvelle page''). -Bien que le standard \ascii\ sp\'ecifie des significations pour les caract\`eres de -contr\^ole, beaucoup de fabricants d'\'equipements tels que modems et imprimantes -ont utilis\'e les caract\`eres de contr\^ole pour des usages autres que le standard. - -La signification d'un caract\`ere dans \TeX\ est normalement li\'ee \`a sa signification -dans le standard \ascii, et les \refterm{polices:police} qui contiennent -des caract\`eres imprimables \ascii\ ont normalement ces caract\`eres aux m\^emes -positions que leurs contreparties \ascii. -Mais certaines polices, notamment celles utilis\'ees en math\'ematique, remplacent -les caract\`eres imprimables \ascii\ par d'autres caract\`eres sans aucune relation -avec les caract\`eres \ascii. -Par exemple, La police Computer Modern math\'ematique -^^{police Computer Modern} -|cmsy10| a le symbole math\'ematique -`{$\forall$}' \`a la place du chiffre \ascii\ `8'. - - -\endconcept - -\conceptindex{assignements} -\concept assignement - -Un \defterm{assignement} est une construction qui dit \`a \TeX\ d'assigner une -valeur \`a un registre, -^^{registres//assignement \`a des} -\`a un de ces -\refterm{param\`etres:param\`etre} internes, -^^{param\`etres//assignements \`a des} -\`a une entr\'ee dans une de ces tables internes -ou \`a une \refterm{s\'equence de contr\^ole}. Quelques exemples d'assignements sont~: - -\csdisplay -\tolerance = 2000 -\advance\count12 by 17 -\lineskip = 4pt plus 2pt -\everycr = {\hskip 3pt \relax} -\catcode\`@ = 11 -\let\graf = \par -\font\myfont = cmbx12 -| - -Le premier assignement indique que \TeX\ doit assigner la valeur num\'e\-rique -|2000| au param\`etre num\'erique |\tolerance|, c'est-\`a-dire, met la valeur de -|\tolerance| \`a $2000$. Les autres assignements sont similaires. Le `|=|' -et les espaces sont optionnels, donc vous pouvez aussi \'ecrire le premier -assignement plus bri\`evement~: - -\csdisplay -\tolerance2000 -| - -Voir \knuth{pages~276--277}{321--322} pour la syntaxe d\'etaill\'ee des assignements. -\endconcept - - -\conceptindex{\boites} -\concept {\boites} - -Une \defterm{bo\^\i te} est un rectangle de mati\`ere \`a composer. Un simple -\refterm{caract\`ere} est une bo\^\i te par lui-m\^eme, et une page enti\`ere est -aussi une bo\^\i te. \TeX\ forme une page comme une suite de bo\^\i tes contenant -des bo\^\i tes contenant des bo\^\i tes. La bo\^\i te sup\'erieure est la page elle-m\^eme, -les bo\^\i tes inf\'erieures sont souvent de simples caract\`eres et de simples -lignes sont des bo\^\i tes qui sont quelque part au milieu. - -\TeX\ effectue la plupart de ses activit\'es de construction de bo\^\i te implicitement quand il -construit des paragraphes et des pages. -Vous pouvez construire des bo\^\i tes explicitement -en utilisant nombre de \refterm{commandes} de \TeX, notamment -^|\hbox| \ctsref{\hbox}, -^|\vbox| \ctsref{\vbox} et -^|\vtop| \ctsref{\vtop}. -La commande ^|\hbox| -construit une bo\^\i te en assemblant des plus petites bo\^\i tes horizontalement de gauche \`a droite~; -il op\`ere sur une \refterm{liste horizontale} et donne -une \refterm{hbox} ^^{hbox} (bo\^\i te horizontale). -^^{listes horizontales} -Les commandes ^|\vbox| et |\vtop| -construisent une bo\^\i te en assemblant de plus petites bo\^\i tes verticalement de haut en bas~; -^^{vbox} -elles op\`erent sur une \refterm{liste verticale} -et donnent une \refterm{vbox} ^^{vbox} (bo\^\i te verticale). -^^{listes verticales} -Ces listes horizontales et verticales peuvent ne pas inclure que des bo\^\i tes plus petites mais -plusieurs autres sortes d'entit\'es, par exemple, un \refterm{ressort} et -des cr\'enages. -^^{cr\'enages//comme \'el\'ements de liste} - -Une bo\^\i te a une \refterm{hauteur}, une \refterm{profondeur} et une \refterm{largeur}, -^^{hauteur} ^^{profondeur} ^^{largeur} -comme ceci~: -\vdisplay{\offinterlineskip\sevenrm - \halign{#&#&\kern3pt \hfil#\hfil\cr - &\hrulefill\cr - &\vrule - \vtop to .7in{\vss \hbox to .9in{\hss ligne de base\hss}\vskip4pt}% - \vrule - &\labelledheight{.7in}{hauteur}\cr - % - \vbox to 0pt{ - \vss - \hbox{point de r\'ef\'erence\hbox to 15pt{\rightarrowfill}% - \hskip3pt}% - \kern-4.5pt}&{\box\refpoint}\hrulefill\cr - % - \omit - &\vrule\hfil\vrule - &\labelledheight{.4in}{profondeur}\cr - % - &\hrulefill\cr - % - \noalign{\vskip3pt}% - &\leftarrowfill { largeur }\rightarrowfill\cr -}} - -^^{lignes de base} -La \refterm{ligne de base} est comme une des -lignes-guide claire d'un bloc de papier lign\'e. -Les bo\^\i tes de lettres telles qu'un `g' -s'\'etendent sous la ligne de base~; Les bo\^\i tes de lettres telles qu'un `h' ne le font pas. -La hauteur d'une bo\^\i te est la distance par laquelle une bo\^\i te s'\'etend au-dessus de sa -ligne de base, tandis que sa profondeur est la distance par laquelle elle s'\'etend sous sa -ligne de base. \bix^^{point de r\'ef\'erence} -Le \minref{point de r\'ef\'erence} -d'une bo\^\i te est l'endroit o\`u sa ligne de base rejoint son cot\'e gauche. - -{\tighten -\TeX\ construit une hbox $H$ d'une liste horizontale en d\'esignant un point -de r\'ef\'erence pour $H$ et en enfilant les items dans la liste $H$ un par un -de gauche \`a droite. chaque bo\^\i te de la liste est plac\'ee de telle fa\c con que -sa ligne de base co\"\i ncide avec la ligne de base de $H$\kern-2pt, c'est-\`a-% -dire que les bo\^\i tes la composant sont align\'ees horizontalement% -\footnote{Si une bo\^\i te est hauss\'ee ou baiss\'ee avec ^|\raise| ou ^|\lower|, -\TeX\ utilise son point de r\'ef\'erence avant le d\'eplacement quand il la -place.}. La hauteur de $H$ est la hauteur de la bo\^\i te la plus grande de la -liste, et la profondeur de $H$ est la profondeur de la bo\^\i te la plus -profonde de la liste. La largeur de $H$ est la somme des largeurs de tous -les items dans la liste. Si quelques-uns de ces items sont des -\refterm{ressort}s et que \TeX\ a besoin de r\'etr\'ecir ou d'\'etirer le ressort, la -largeur de $H$ sera plus large ou plus \'etroite en cons\'equence. Voir la -\knuth{page~77}{90} pour les~d\'etails. -\par} - -De m\^eme, \TeX\ construit une vbox $V$ d'une liste verticale en d\'esignant un -point de r\'ef\'erence temporaire pour $V$ et ensuite en enfilant les items dans la -liste $V$ un par un de haut en bas. Chaque bo\^\i te dans la liste est -plac\'ee de telle fa\c con que leur point de r\'ef\'erence est align\'e verticalement avec le -point de r\'ef\'erence de $V$\footnote{Si une bo\^\i te est d\'eplac\'ee \`a gauche -ou \`a droite avec -^|\moveleft| ou ^|\moveright|, \TeX\ utilise son point de r\'ef\'erence avant -le d\'eplacement quand il la place.}. Quand chaque bo\^\i te autre que la premi\`ere est ajout\'ee \`a -\Vcomma, \TeX\ met un \minref{ressort interligne} juste au-dessus d'elle. (Ce -^{ressort interligne} n'a pas d'\'equivalent pour les hbox.) La largeur de $V$ est la -largeur de la bo\^\i te la plus large de la liste, et les extensions verticales (hauteur -plus profondeur) de $V$ est la somme des \'el\'ements verticaux \'etendus de tous les -items de la liste. - -\bix^^|\vbox| -\bix^^|\vtop| -La diff\'erence entre |\vbox| et |\vtop| est sur leur fa\c con de partitionner -l'extension verticale de $V$ en hauteur et en largeur. -Le choix du point de r\'ef\'erence de $V$ d\'etermine cette partition. -\ulist -\li Pour |\vbox|, \TeX\ place le point de r\'ef\'erence sur une ligne -horizontale avec le point de r\'ef\'erence du dernier composant bo\^\i te ou trait -de \Vcomma, sauf que si la derni\`ere bo\^\i te (ou le dernier trait) est -suivie d'un ressort ou d'un cr\'enage, \TeX\ place le point de r\'ef\'erence tout en -bas de $V$% -\footnote{La profondeur est limit\'ee par le param\`etre -^|\boxmaxdepth| \ctsref{\boxmaxdepth}.}. - -\li Pour |\vtop|, \TeX\ place le point de r\'ef\'erence sur une ligne horizontale -avec le point de r\'ef\'erence du premier composant bo\^\i te ou trait de \Vcomma, -sauf que si la premi\`ere bo\^\i te (ou le premier trait) -est pr\'ec\'ed\'ee par un ressort ou un cr\'enage, \TeX\ place -le point de r\'ef\'erence tout en haut de \Vperiod. - -\endulist -\noindent -A proprement parler, alors, |\vbox| met le point de r\'ef\'erence pr\`es du haut -du vbox et |\vtop| le met pr\`es du haut. -Quand vous voulez aligner une rang\'ee de vbox pour que leur sommet -s'aligne horizontalement, -vous utiliserez normalement |\vtop| plut\^ot que |\vbox|. -Voir les \knuth{pages~78 et 80--81}{91 et 94--95} pour les -d\'etails sur comment \TeX\ construit des vbox. -\eix^^|\vbox| -\eix^^|\vtop| -\eix^^{point de r\'ef\'erence} - -Vous avez une certaine libert\'e dans la construction de bo\^\i tes. Le mat\'eriel -\`a composer -dans une bo\^\i te peut s'\'etendre au-del\`a des bords de la bo\^\i te comme il le fait -pour certaines lettres (pour la plupart italiques ou pench\'ees). Les composants -bo\^\i tes des grandes bo\^\i tes peuvent se chevaucher. -Une bo\^\i te peut avoir une largeur, une profondeur ou une hauteur n\'egative, -des bo\^\i tes comme celles-ci ne sont pas souvent utiles. - -Vous pouvez sauvegarder une bo\^\i te dans un \refterm{registre} de bo\^\i te et la rappeler plus tard. -Avant d'utiliser un registre de bo\^\i te, -^^{registres de \boite} -Vous devez la r\'eserver et lui donner un nom -avec la commande ^|\newbox| \ctsref{\@newbox}. Voir -\conceptcit{registre} pour plus d'information sur les registres de bo\^\i tes. -\endconcept - - -\conceptindex{caract\`eres} -\concept caract\`ere - -{\tighten -\TeX\ travaille avec des \defterm{caract\`eres} provenant de deux contex\-tes~: -des caract\`eres du source, quand il lit et des caract\`eres de sortie, -quand il compose. \TeX\ transforme la plupart des caract\`eres saisis dans -le caract\`ere de sortie qui lui correspond. Par exemple, il transforme -normalement la lettre saisie `|h|' en `h' compos\'e dans la police courante. -Ce n'est pas le cas, n\'eanmoins, pour un caract\`ere saisi tel que `|$|' qui -a une signification sp\'eciale. -\par} - -\TeX\ obtient ses caract\`eres saisis en les lisant \`a partir du fichier source -(ou de votre terminal) et en d\'eveloppant les \refterm{macros:macro}. Ce -sont les seuls moyens par lesquels \TeX\ puisse acqu\'erir un caract\`ere saisi. -Chaque caract\`ere d'entr\'ee a un num\'ero de code correspondant \`a sa position -dans la table de code \refterm{\ascii}. ^^{\ascii} -Par exemple, la lettre `|T|' a le code \ascii~$84$. - -Quand \TeX\ lit un caract\`ere, il lui attache un \refterm{code de cat\'egorie}. -^^{codes de cat\'egorie//attach\'e pendant l'entr\'ee} -Le code de cat\'egorie affecte la fa\c con dont \TeX\ interpr\`ete le caract\`ere -une fois qu'il a \'et\'e lu. \TeX\ d\'etermine (et se souvient) des codes de -cat\'egorie des caract\`eres d'une macro quand il lit sa d\'efinition. Comme \TeX\ -lit les caract\`eres avec ses yeux \seeconcept{\anatomy} il fait quelques -``filtrages'' comme condenser des suites de caract\`eres espace en un espace -seul. Voir les \knuth{pages~46--48}{56--59} pour les d\'etails de ce filtrage. - -Les ``^{caract\`eres de contr\^ole}'' \ascii\ ont les codes $0$--$31$ et $127$--$255$. -Ils ne sont pas visualisables ou provoquent des choses \'etranges si vous essayez -de les afficher. -N\'eanmoins, on en a parfois besoin dans les sources \TeX, donc \TeX\ a une -fa\c con sp\'eciale de les noter. -\xrdef{twocarets} -Si vous saisissez `|^^|$c$', o\`u $c$ est n'importe quel caract\`ere, vous obtenez -le caract\`ere dont le code \ascii\ est soit plus grand soit plus petit de $64$ -que le code \ascii\ de $c$. -La plus grande valeur de code acceptable en utilisant cette notation est $127$ -donc la notation n'est pas ambigu\"e. -Trois instances particu\-li\`erement communes de cette notation sont -`|^^M|' (le caract\`ere \ascii\ \asciichar{retour}), -`|^^J|' (le caract\`ere \ascii\ \asciichar{saut\ de\ page}) et -`|^^I|' (le caract\`ere \ascii\ \asciichar{tabulation\ horizontale}). -\ttidxref{^^M}\ttidxref{^^J}\ttidxref{^^I} - -{\tighten -\TeX\ a aussi une autre notation pour indiquer la valeur des codes \ascii\ -qui fonctionne pour tous les codes de caract\`ere de $0$ \`a $255$. -\xrdef{hexchars} -Si vous saisissez `|^^|$xy$', o\`u $x$ et $y$ sont des ^{chiffres -hexad\'ecimaux} `|0123456789abcdef|', vous obtenez le caract\`ere dont le -code est sp\'ecifi\'e. Des lettres minuscules sont n\'ecessaires ici. -\TeX\ opte pour l'interpr\'etation des ``chiffres hexad\'ecimaux'' quand il -a le choix, donc vous ne devez pas faire suivre un caract\`ere comme `|^^a|' -par un chiffre hexad\'ecimal minuscule---si vous le faites, vous aurez la -mauvaise interpr\'etation. -Si vous avez besoin d'utiliser cette notation, vous trouverez pratique -d'avoir une table des codes \ascii. -\par} - -Un caract\`ere de sortie est un caract\`ere de composition. -Une commande qui produit un caract\`ere de sortie signifie -``produit une \refterm{bo\^\i te} contenant un caract\`ere num\'ero $n$ dans -la \refterm{police} courante'', o\`u $n$ est d\'etermin\'e par la commande. -\TeX\ produit votre document compos\'e en combinant de telles bo\^\i tes avec -d'autres \'el\'ements typographiques et les arrange sur la page. - -Un caract\`ere d'entr\'ee dont le code de cat\'egorie est $11$ (^{lettre}) ou -$12$ (autre) -^^{autres caract\`eres} -agit comme une commande pour produire le caract\`ere de sortie correspondant. -En plus, vous pouvez demander \`a \TeX\ de produire un carac\-t\`ere $n$ en -entrant la commande `|\char |$n$' \ctsref{\char}, ^^|\char| o\`u $n$ est un -\refterm{nombre} entre $0$ et $255$. Les commandes `|h|', -|\char`h| et |\char104| ont toutes le m\^eme effet. ($104$ est le -code \ascii\ de `h'.) - -\endconcept - - -\conceptindex{caract\`eres actifs} -\concept {caract\`ere actif} - -Un \defterm{caract\`ere actif} est un \refterm{caract\`ere} poss\'edant une -d\'efinition, c'est-\`a-dire, une d\'efinition de macro, qui lui est associ\'ee. -^^{macros//nomm\'ees par des caract\`eres actifs} -Vous pouvez penser \`a un caract\`ere actif comme \`a une s\'equence de contr\^ole -d'un type sp\'ecial. Quand \TeX\ rencontre un caract\`ere actif, il ex\'ecute la -d\'efinition associ\'ee avec le caract\`ere. Si \TeX\ rencontre un caract\`ere actif -qui n'a pas de d\'efinition associ\'ee, il se plaindra d'un ``undefined control -sequence''. - -Un caract\`ere actif a un \refterm{code de cat\'egorie} \`a $13$ (la valeur -d'^|\active|). -Pour d\'efinir un caract\`ere actif, vous devez d'abord -utiliser la commande ^|\catcode| -\ctsref{\catcode} pour le rendre actif -et ensuite donner la d\'efini\-tion du caract\`ere, en utilisant -une commande comme |\def|, |\let| ou |\chardef|. -La d\'efinition d'un caract\`ere actif a la m\^eme forme que -la d\'efinition d'une \refterm{s\'equence de contr\^ole}. -^^{codes de cat\'egorie//de caract\`eres actifs} -Si vous essayez de d\'efinir la macro pour un caract\`ere actif -avant d'avoir rendu le caract\`ere actif, \TeX\ se plaindra d'un -"missing control sequence". - -Par exemple, le caract\`ere tilde (|~|) est d\'efini comme un caract\`ere -actif dans \plainTeX. Il -produit un espace entre deux mots mais relie ces mots pour que -\TeX\ ne transforme pas cet espace en \refterm{coupure de ligne}. -\refterm{\PlainTeX:\plainTeX} d\'efinit `|~|' par les commandes~: - -\csdisplay -\catcode `~ = \active \def~{\penalty10000\!visiblespace} -| -(|\penalty| inhibe une coupure de ligne et `|\!visiblespace|' -ins\`ere un espace.) -\endconcept - - -\concept {caract\`ere d'\'echappement} - -Un \defterm{caract\`ere d'\'echappement} introduit une s\'equence de contr\^ole. -Le caract\`ere d'\'echappement dans \refterm{\plainTeX} est l'antislash (|\|). -\indexchar \ -Vous pouvez changer le caract\`ere d'\'echappement de $c_1$ vers $c_2$ -en r\'eassignant les codes de cat\'egorie de $c_1$ et $c_2$ -avec la commande ^|\catcode| \ctsref{\catcode}. -Vous pouvez aussi d\'efinir des caract\`eres d'\'echap\-pement additionnels de la m\^eme fa\c con. -Si vous voulez composer du mat\'e\-riel contenant des caract\`eres d'\'echappement litt\'eraux, -vous devez -soit -(a) d\'efinir une s\'equence de contr\^ole qui transforme le caract\`ere d'\'echap\-pe\-ment imprim\'e soit -(b) changer temporairement son code de cat\'egorie, en utilisant la -m\'ethode montr\'ee en \xrefpg{verbatim}. La d\'efinition~: - -\csdisplay -\def\\{$\backslash$} -| -est un moyen de cr\'eer une s\'equence de contr\^ole qui le transforme en `$\backslash$' -(un antislash compos\'e dans une police math\'ematique). - -Vous pouvez utiliser le param\`etre ^|\escapechar| \ctsref{\escapechar} pour sp\'ecifier -comment le caract\`ere de contr\^ole est repr\'esent\'e dans des s\'equences de contr\^ole -synth\'etis\'ees, -c'est-\`a-dire, celles cr\'e\'ees par |\string| et |\message|. - - -\endconcept - - -\concept {c\'esure} - -\TeX\ c\'esure les mots automatiquement en compilant votre document. -\TeX\ n'est pas un acharn\'e de l'insertion de c\'esure, pr\'ef\'erant trouver \`a la -place une bonne coupure de ligne en ajustant l'espace entre les mots et en -d\'epla\c cant les mots d'une ligne \`a l'autre. -\TeX\ est assez intelligent pour comprendre les c\'esures qui sont d\'ej\`a dans -les mots - -Vous pouvez contr\^oler les c\'esures de \TeX\ de plusieurs fa\c cons~: -\ulist -\li Vous pouvez dire \`a \TeX\ d'autoriser une c\'esure \`a un endroit particulier -en ins\'erant une c\'esure optionnelle -^^{c\'esures optionnelles} -avec la commande ^|\-| \ctsref{\@minus}. -\li Vous pouvez dire \`a \TeX\ comment couper des mots particuliers dans votre -document avec la commande ^|\hyphenation| \ctsref{\hyphenation}. -\li Vous pouvez englober un mot dans une \refterm{hbox} pour emp\^echer \TeX\ -de le couper. -\li Vous pouvez fixer la valeur des p\'enalit\'es comme avec |\hyphen!-pe!-nalty| -\ctsref\hyphenpenalty. -\endulist -\noindent Si un mot contient une c\'esure explicite ou optionnelle, -\TeX\ ne le coupera jamais ailleurs. -\endconcept - - -\concept classe - -La \defterm{classe} d'un \refterm{caract\`ere} sp\'ecifie le r\^ole de ce caract\`ere -dans les formules math\'ematiques. La classe d'un caract\`ere est encod\'ee dans son -\refterm{mathcode}. ^^{mathcodes//classe encod\'ee en} Par exemple, le -signe \'egal `|=|' est dans la classe $3$ (Relation). \TeX\ utilise sa -connaissance de classe de caract\`ere pour d\'ecider combien d'espace mettre -entre diff\'erents composants d'une formule math\'ematique. \margin{clarifying -material added} Par exemple, voici une formule math\'ematique affich\'ee comme -\TeX\ l'im\-prime normalement et avec la classe de chaque caract\`ere modifi\'e -al\'eatoi\-rement~: -$$\strut a+(b-a)=a \qquad - \mathopen{a}\mathord{+}\mathrel{(}\mathclose{b}\mathclose{-} - \mathop{a}\mathopen{)}\mathord{=}\mathopen{a}$$ - -Voir \xrefpg\mathord\ de ce livre pour une liste des classes et la -\knuth{page~154}{180} pour leurs significations. - -\endconcept - - -\conceptindex{codes de cat\'egorie} -\concept {codes de cat\'egorie} - -Le \defterm{code de cat\'egorie} d'un \refterm{caract\`ere} d\'etermine le r\^ole -de ce caract\`ere dans \TeX. -^^{caract\`eres//code de cat\'egorie} -Par exemple, \TeX\ assigne un certain r\^ole aux -lettres, un autre au caract\`ere espace, et ainsi de suite. \TeX\ attache un -code \`a chaque caract\`ere qu'il lit. Quand \TeX\ lit la -lettre `|r|', par exemple, il lui attache normalement -le code de cat\'egorie $11$ (lettre). -Pour de simples applications \TeX\ vous n'avez pas \`a vous pr\'eoccuper des -codes de cat\'egorie, mais ils deviennent importants quand vous essayez -des effets sp\'eciaux. - -Les codes de cat\'egorie ne s'appliquent qu'aux caract\`eres que \TeX\ lit dans les -fichiers source. Une fois qu'un caract\`ere a pass\'e l'^{\oesophage} de \TeX\ -\seeconcept{\anatomy} et a \'et\'e interpr\'et\'e, son code de cat\'egorie ne -sert plus. Un caract\`ere que vous produisez avec la commande ^|\char| -\ctsref{\char} n'a pas de code de cat\'egorie parce que |\char| -est une instruction pour que \TeX\ produise un certain caract\`ere d'une -certaine \refterm{police}. Par exemple, le code ^{\ascii} pour `|\|' -(le caract\`ere d'\'echappement usuel) est $92$. Si -vous saisissez `|\char92 grok|', Ce n'est \emph{pas} \'equivalent \`a |\grok|. -\`a la place il demande \`a \TeX\ de -composer `$c$grok', o\`u $c$ est le caract\`ere en position $92$ -de la table de code de la police courante. - -Vous pouvez utiliser la commande ^|\catcode| \ctsref{\catcode} pour r\'eassigner le -code de cat\'egorie de tout caract\`ere. En changeant les code de cat\'egorie vous -pouvez changer les r\^oles de caract\`eres vari\'es. Par exemple, si vous saisissez -`|\catcode`\@ = 11|', le code de cat\'egorie du signe arrose (|@|) sera celui -d'une ``lettre''. Vous pourrez alors avoir `|@|' dans le nom d'une s\'equence de -contr\^ole. - -Voici une liste des codes de cat\'egorie tels qu'ils sont d\'efinis dans -\refterm{\plainTeX} (voir \xref{twocarets} pour une explication de la -notation |^^|), -ainsi que les caract\`eres de chaque cat\'egorie~: - -\xrdef{catcodes} -\vskip\abovedisplayskip -%k \vskip 0pt plus 2pt % to fix bad page break -{%k \interlinepenalty = 10000 -\halign{\indent\hfil\strut#&\qquad#\hfil\cr -\it Code&\it Signification\cr -\noalign{\vskip\tinyskipamount} -0&Caract\`ere d'\'echappement \quad |\| ^^{caract\`ere d'\'echappement//code de cat\'egorie} - {\recat!ttidxref[\//code de cat\'egorie]] - \cr -1&D\'ebut d'un groupe \quad |{| ^^{groupes} - {\recat!ttidxref[{//code de cat\'egorie]] - \cr -2&Fin d'un groupe \quad |}| - {\recat!ttidxref[}//code de cat\'egorie]] - \cr -3&basculement en math\'ematique \quad |$| ^^{basculement en math\'ematique} - {\recat!ttidxref[$//code de cat\'egorie]] - \cr -4&Alignement tab \quad |&| ^^{tabulations} ^^{alignements//caract\`ere tabulation pour} - \ttidxref{&//code de cat\'egorie} \cr -5&Fin d'une ligne \quad |^^M| \tequiv \ascii\ \asciichar{retour chariot} - ^^{fin de ligne} \ttidxref{^^M//code de cat\'egorie}\cr -6&Param\`etre de macro \quad |#| - ^^{macros//param\`etres de} - ^^{param\`etres//indiqu\'es par \b\tt\#\e} - \ttidxref{#//code de cat\'egorie} \cr -7&Exposant \quad |^| et |^^K| ^^{exposants} - \ttidxref{^^K} - \ttidxref{^//code de cat\'egorie} \cr -8&Indice \quad |_| et |^^A| ^^{indices} - \ttidxref{^^A} - \ttidxref{_//code de cat\'egorie} \cr -9&caract\`ere ignor\'e \quad |^^@| \tequiv \ascii\ \asciichar{nul} - ^^{caract\`eres ignor\'es} \indexchar ^^@ \cr -10&Espace \quad \visiblespace\ et |^^I| \tequiv \ascii\ - \asciichar{tabulation} - ^^{tabulation horizontale} - ^^{caract\`eres espaces//code de cat\'egorie} \indexchar ^^I - {\recat!ttidxref[ ]] - \cr -11&Lettre \quad |A| \dots |Z| et |a| \dots |z| ^^{lettre}\cr -12&Autres caract\`eres \quad (tout ce qui n'est pas ci-dessus ou ci-dessous) - ^^{autres caract\`eres}\cr -13&Caract\`ere actif \quad |~| et |^^L| \tequiv\ascii\ \asciichar{saut\ de\ page} - ^^{caract\`eres actifs} ^^{retour chariot} \indexchar ~ \indexchar ^^L \cr -14&Caract\`ere de commentaire \quad |%| ^^{commentaires} - {\recat!ttidxref[%//code de cat\'egorie]] - \cr -15&Caract\`ere invalide \quad |^^?| \tequiv \ascii\ \asciichar{suppression} - ^^{caract\`eres invalides} \indexchar ^^? \cr -}} -\vskip\belowdisplayskip -%k \vskip 0pt plus 2pt % to fix bad page break - -\noindent Mise \`a part ceux des cat\'egories $11$--$13$, -tous les caract\`eres d'une cat\'egorie particuli\`ere produisent le m\^eme effet. -\margin{Misleading material removed.} -Par exemple, supposez -que vous saisissiez~: -\csdisplay -\catcode`\[ = 1 \catcode`\] = 2 -| -Alors les caract\`eres crochets droits et gauches deviennent \'equivalents aux caract\`eres de -d\'ebut et de fin d'un groupe, les caract\`eres accolades droites et gauches. -Avec ces d\'efinitions `|[a b]|' -est un groupe valide, ainsi que \hbox{`|[a b}|'} et~\hbox{`|{a b]|'}. - -Les caract\`eres des cat\'egories $11$ (lettre) et $12$ -(autres caract\`eres) agis\-sent comme des \refterm{commandes:commande} -qui signifient -``produit une \refterm{bo\^\i te} contenant ce caract\`ere -compos\'e dans la police courante''. -La seule distinction entre les lettres et les ``autres'' caract\`eres est -que les lettres peuvent appara\^\i tre dans des \refterm{mots de contr\^ole} mais -pas les ``autres'' caract\`eres. - -Un caract\`ere de cat\'egorie $13$ (actif) agit comme une s\'equence de contr\^o\-le -\`a lui tout seul. \TeX\ se plaint s'il rencontre un caract\`ere actif qui n'est -pas associ\'e avec une d\'efinition. -^^{caract\`eres actifs} - -Si \TeX\ rencontre un caract\`ere invalide ^^{caract\`eres invalides} (cat\'egorie $15$) -dans votre source, il s'en plaindra. - -Les caract\`eres `|^^K|' et `|^^A|' ont \'et\'e inclus dans les cat\'egories -$8$ (indice) et $9$ (exposant), m\^eme si ces significations -ne suivent pas l'interpr\'etation du standard \refterm{\ascii}. -C'est parce que certains claviers, tout du moins certains \`a -l'universit\'e de Stanford d'o\`u \TeX\ est originaire, n'ont pas -de touche fl\`eche vers le bas et fl\`eche vers le haut qui g\'en\`erent ces caract\`eres. -\ttidxref{^^A} -\ttidxref{^^K} - -Il y a une subtilit\'e sur la fa\c con dont \TeX\ assigne les codes de cat\'egories -qui peut vous d\'eboussoler si vous ne la connaissez pas. \TeX\ a parfois -besoin de rechercher un caract\`ere deux fois quand il fait un survol initial~: -la premi\`ere fois pour la fin d'une pr\'ec\'edente construction, c'est-\`a-dire, -une s\'equence de contr\^ole et ensuite pour transformer ce caract\`ere en token. -\TeX\ n'a pas besoin d'assigner le code de cat\'egorie avant d'avoir vu le -\emph{second} caract\`ere. Par exemple~: - -\csdisplay -\def\foo{\catcode`\$ = 11 }% Make $ be a letter. -\foo$ % Produces a `$'. -\foo$ % Undefined control sequence `foo$'. -| -\noindent -Ce bout de code \TeX\ produit `\$' dans la sortie. Quand \TeX\ voit le -`|$|' sur la seconde ligne, il recherche la fin du nom d'une s\'equence de -contr\^ole. Puisque le `|$|' n'est pas encore une lettre, il marque la fin de -`|\foo|'. Ensuite, \TeX\ d\'eveloppe la macro `|\foo|' et change le code de -cat\'egorie de `|$|' en $11$ (lettre). Alors, \TeX\ lit le `|$|' ``pour de -vrai''. Puisque `|$|' est maintenant une lettre, \TeX\ produit une bo\^\i te -contenant le caract\`ere `|$|' de la police courante. Quand \TeX\ voit la -troisi\`eme ligne, il traite `|$|' comme une lettre et donc consid\`ere qu'elle -fait partie du nom de la s\'equence de contr\^ole. Avec comme r\'esultat qu'il se -plaint d'un ``undefined control sequence |\foo$|''. - -\TeX\ se comporte de cette fa\c con m\^eme lorsque le caract\`ere de -terminaison est une fin de ligne. Par exemple, supposez que la macro -|\fum| active le caract\`ere de fin de ligne. Alors si |\fum| -appara\^\i t sur une ligne $\ell$ elle-m\^eme, \TeX\ interpr\'etera -d'abord la fin de la ligne $\ell$ comme la fin de la s\'equence de -contr\^ole |\fum| et ensuite \emph{r\'einterpr\'etera} la fin de la -ligne de $\ell$ comme un caract\`ere actif. - -\endconcept - - -\conceptindex{commandes} -\concept commande - -Une \defterm{commande} demande \`a \TeX\ de faire une certaine action. -Chaque \refterm{token} qui atteint l'estomac de \TeX\seeconcept{\anatomy} -agit comme une commande, sauf celui qui fait partie des arguments d'une -autre commande (voir dessous). -^^{tokens//comme commandes} -Une commande peut \^etre appel\'ee par une -\refterm{s\'equence de contr\^ole}, par un \refterm{caract\`ere actif} ou par un -caract\`ere ordinaire. Il peut sembler bizarre que \TeX\ traite un carac\-t\`ere -ordinaire comme une commande, mais en fait c'est ce qu'il fait~: -Quand \TeX\ voit -un caract\`ere ordinaire -il construit une \refterm{bo\^\i te} contenant ce caract\`ere compos\'e dans -la police courante. - -Une commande peut avoir des arguments. -Les arguments d'une commande sont de simples tokens ou -groupes de tokens qui compl\`etent la description de ce que -la commande est suppos\'ee faire. -Par exemple, la commande `|\vskip 1in|' demande \`a \TeX\ de sauter -$1$ pouce verticalement. Elle a un argument `|1in|', -qui est constitu\'e de trois tokens. -La description de ce que |\vskip| est suppos\'ee faire serait incompl\`ete -sans sp\'ecifier de combien elle est suppos\'ee sauter. -Les tokens dans les arguments d'une commande ne sont pas consid\'er\'es -eux-m\^emes comme des commandes. - -Quelques exemples de diff\'erentes sortes de commandes de \TeX\ sont~: -\ulist\compact -\li Des caract\`eres ordinaires, comme `|W|', qui demande \`a \TeX\ -de produire une bo\^\i te contenant un `W' compos\'e. -\li Des commandes de modification de police, -telles que |\bf|, qui commence une composition en gras -\li Des accents, tels que |\`|, qui produit un accent grave comme dans `\`e' -\li Des symboles sp\'eciaux et des ligatures, comme |\P| (\P) et |\ae| (\ae) -\li Des param\`etres, tels que |\parskip|, le montant du ressort que -\TeX\ met entre les paragraphes -\li des symboles math\'ematiques, tels que |\alpha| ($\alpha$) et |\in| ($\in$) -\li Des op\'erateurs math\'ematiques, tels que |\over|, qui produit une fraction -\endulist -\endconcept - - -\concept {constantes d\'ecimales} - -See \conceptcit{nombre}. -\endconcept - -\concept {construction de page} - -Voir \conceptcit{page}. -\endconcept - - -\conceptindex{coupures de ligne} -\concept {coupure de ligne} - -Une \defterm{coupure de ligne} est un endroit dans votre document o\`u \TeX\ -termine une ligne quand il compose un paragraphe. Quand \TeX\ compile votre -document, il collecte le contenu de chaque paragraphe dans une \refterm{liste -horizontale}. Quand il a collect\'e un paragraphe entier, il analyse la liste -pour trouver ce qu'il consid\`ere comme \'etant les meilleures coupures de ligne -possibles. \TeX\ associe des ``^{d\'em\'erites}'' avec diff\'erents sympt\^omes de -coupure de ligne non attractive---des lignes ayant trop ou trop peu d'espace -entre les mots, des lignes cons\'ecutives se terminant par des c\'esures, et -ainsi de suite. Il choisit alors les coupures de lignes de mani\`ere \`a minimiser -le nombre total de d\'em\'erites. Voir les \knuth{pages~96--101}{112--118} pour une -description compl\`ete des r\`egles de coupure de ligne de \TeX. - -Vous pouvez contr\^oler le choix des coupures de ligne de \TeX\ de plusieurs mani\`eres~: -\ulist - -\li vous pouvez ins\'erer une \refterm{p\'enalit\'e} (\xref{hpenalty}) quelque part -dans la liste horizontale que \TeX\ construit quand il forme un paragraphe. -^^{p\'enalit\'es//en listes horizontales} -Une p\'enalit\'e -positive d\'ecourage \TeX\ de couper la ligne \`a cet endroit, tandis qu'une -p\'enalit\'e n\'egative---un bonus, en quelque sorte---encourage \TeX\ \`a couper -la ligne \`a cet endroit. Une p\'enalit\'e de $10000$ ou plus emp\^eche une coupure de -ligne, tandis qu'une p\'enalit\'e de $-10000$ ou moins force une coupure de ligne. -Vous pouvez obtenir les m\^emes effets avec les commandes ^|\break| et -^|\nobreak| (voir \pp\xrefn{hbreak} et~\xrefn{hnobreak}). - -\li Vous pouvez dire \`a \TeX\ d'autoriser une c\'esure \`a un endroit particulier -en ins\'erant une c\'esure optionnelle -^^{c\'esures optionnelles} -avec la commande |\-| \ctsref{\@minus}, ou -sinon en contr\^olant comment \TeX\ met des c\'esures dans votre document \seeconcept -{c\'esure}. -^^|\-//sur une coupure de ligne| - -\li Vous pouvez dire \`a \TeX\ d'autoriser une coupure de ligne apr\`es un -(/) ^{slash} entre -deux mots en ins\'erant un ^|\slash| \ctsref{\slash} -entre eux, par exemple, `|fur!-longs\slash fortnight|'. - -\li Vous pouvez dire \`a \TeX\ de ne pas couper une ligne entre deux mots particuliers en -ins\'erant une ^{punaise} (|~|) entre ces mots. -^^|~//sur une coupure de ligne| - -\li Vous pouvez ajuster les p\'enalit\'es associ\'ees avec les coupures de ligne en -assignant des valeurs diff\'erentes aux \refterm{param\`etres:param\`etre} de coupures de ligne de \TeX. - -\li Vous pouvez englober un mot ou une s\'equence de mots dans une \refterm{hbox}, -emp\^echant ainsi \TeX\ de couper la ligne o\`u que cela soit dans l'hbox. -^^{hbox//contr\^oler des coupures de lignes} -\endulist - -Il est pratique de savoir o\`u \TeX\ peut couper une ligne~: -\ulist -\li sur un ressort, sous r\'eserve que~: -\olist -\li l'objet pr\'ec\'edant le ressort est un des suivants~: -une bo\^\i te, un objet optionnel (par exemple, une c\'esure optionnelle), -la fin d'une formule math\'ematique, -un \'el\'ement extraordinaire, -ou du mat\'eriel vertical produit par |\mark|, |\vadjust| -ou |\insert| -\li Le ressort ne fait pas partie d'une formule math\'ematique -\endolist -\noindent -Quand \TeX\ coupe une ligne sur un ressort, il fait la coupure du cot\'e gauche -de l'espace du ressort et oublie le reste du ressort. -\li sur un cr\'enage qui est imm\'ediatement suivi par un ressort, -\`a condition que ce cr\'enage ne soit pas dans une formule math\'ematique -\li \`a la fin d'une formule math\'ematique qui est imm\'ediatement suivie par un ressort -\li sur une p\'enalit\'e, m\^eme dans une formule math\'ematique -\li sur une c\'esure optionnelle -\endulist -Quand \TeX\ coupe une ligne, il efface toute s\'equence de ressort, cr\'enage et -p\'enalit\'e qui suivent le point de coupure. -Si une telle s\'equence est suivie par le d\'ebut d'une formule math\'ematique, il -efface aussi tout cr\'enage produit au d\'ebut de la formule. -\endconcept - - -\conceptindex{coupures de page} -\concept {coupure de page} - -Une \defterm{coupure de page} est un endroit dans votre document o\`u \TeX\ -termine une page et (sauf \`a la fin du document) en commence une nouvelle. -Voir \conceptcit{page} pour le processus que \TeX\ traverse pour choisir -une coupure de page. - -Vous pouvez contr\^oler le choix de coupure de page de \TeX\ de plusieurs fa\c cons~: -\ulist -\li Vous pouvez ins\'erer une p\'enalit\'e (\xref{vpenalty}) -^^{p\'enalit\'es//en listes verticales} -entre deux \'el\'ements de la liste verticale principale. Une p\'enalit\'e positive -d\'ecourage \TeX\ de couper la page \`a cet endroit, tandis qu'une p\'enalit\'e -n\'egative---un bonus, autrement dit---% -encourage \TeX\ de couper la page \`a cet endroit. Une p\'enalit\'e de $10000$ -ou plus pr\'evient une coupure de page, tandis qu'une p\'enalit\'e de $-10000$ ou -moins force une coupure de page. Vous pouvez obtenir le m\^eme effet avec les -commandes |\break| et |\nobreak| \ctsref{vbreak}. - -\li Vous pouvez ajuster les p\'enalit\'es associ\'ees aux coupures de page -en assignant diff\'erentes valeurs aux \refterm{param\`etres:param\`etre} de -coupure de page de \TeX. - -\li Vous pouvez englober une suite de paragraphes ou autres \'el\'ements dans -la liste verticale principale avec une \refterm{vbox}, ceci emp\^eche \TeX\ de -couper la page n'importe o\`u dans la suite. -\endulist - -Une fois que \TeX\ a choisi une coupure de page, il place la portion -de la liste verticale principale qui pr\'ec\`ede la coupure en |\box255|. -Il appelle alors la \refterm{routine de sortie} courante pour ex\'ecuter |\box255| -et \'eventuellement envoyer son contenu dans le \dvifile. -^^{\dvifile//mat\'eriel de la routine de sortie} -La routine de sortie doit aussi inclure des \refterm{insertions}, telles -que des notes de pied de page, que \TeX\ a accumul\'e en ex\'ecutant la page. - -Il est utile de conna\^\i tre les endroits o\`u \TeX\ peut couper une page~: -\ulist -\li Sur le ressort, \`a condition que l'\'el\'ement pr\'ec\'edent le ressort soit -une bo\^\i te, un \'el\'ement extraordinaire, une marque ou une insertion. -Quand \TeX\ coupe une page sur un ressort, il fait la coupure devant -l'espace du ressort et oublie le reste du ressort. -\li Sur un cr\'enage qui est imm\'ediatement suivi par un ressort. -\li Sur une p\'enalit\'e, vraisemblablement entre les lignes d'un paragraphe. -\endulist -Quand \TeX\ coupe une page, il efface toute s\'equence de ressort, cr\'enages et \'el\'ements -de p\'enalit\'e qui suivent le point de coupure. - - -\endconcept - - -\conceptindex{cr\'enages} -\concept cr\'enage - -^^{espacement//ajuster avec des cr\'enages} -Un \defterm{cr\'enage} indique un changement de l'espacement normal entre -les \'el\'ements d'une liste horizontale ou verticale. -Un cr\'enage peut \^etre soit positif, soit n\'egatif. En -mettant un cr\'enage positif entre deux \'el\'ements, vous les \'eloignez du -montant du cr\'enage. en mettant un cr\'enage positif entre deux \'el\'ements, -vous les rapprochez du montant du cr\'enage. Par exemple, ce texte~: -\csdisplay -11\quad 1\kern1pt 1\quad 1\kern-.75pt 1 -| -produit des paires de lettres qui ressemblent \`a ceci~: -\display{11\quad 1\kern1pt 1\quad 1\kern-.75pt 1} -Vous pouvez utiliser des cr\'enages en mode vertical pour ajuster l'espace -entre des paires de lignes particuli\`eres. - -Un cr\'enage de taille $d$ est tr\`es similaire \`a un \'el\'ement \refterm{ressort} -qui a une taille $d$ sans \'etirement ni r\'etr\'ecissement. Le cr\'enage et le ressort -ins\`erent ou enl\`event de l'espace entre deux \'el\'ements voisins. La diff\'erence -essentielle est que \TeX\ consid\`ere deux bo\^\i tes n'ayant qu'un cr\'enage entre -elles comme \'etant li\'ees. Cela fait que, \TeX\ ne coupe pas une ligne ou une -page sur un cr\'enage sauf si le cr\'enage est imm\'ediatement suivi d'un ressort. -Garder cette diff\'erence \`a l'esprit quand vous choisissez d'utiliser un -cr\'enage ou un \'el\'ement ressort pour un usage particulier. - -\TeX\ ins\`ere automatiquement des cr\'enages entre des paires particuli\`eres de -lettres adjacentes, ajustant ainsi l'espace entre ces lettres et mettant en -valeur l'apparence de votre document compos\'e. -Par exemple, la police Computer Modern romaine de $10$ points contient un -cr\'enage pour la paire `To' qui remet le cot\'e gauche du `o' sous le `T'. -Sans le cr\'enage, vous obtiendriez \hbox{``T{o}p''} au lieu de ``Top''--- -la diff\'erence est l\'eg\`ere mais visible. -Le fichier de m\'etrique -(^{\tfmfile}) -de chaque \refterm{police} sp\'ecifie le placement et la taille des cr\'enages -que \TeX\ ins\`ere automatiquement quand il met du texte dans cette~police. -\margin{paragraph deleted to save space; most of the material was -already in this section.} - -\endconcept - - -\conceptindex{dimensions} -\concept dimension - -Une \defterm{dimension} sp\'ecifie une distance, c'est, une mesure lin\'eaire -d'espace. Vous utilisez des dimensions pour sp\'ecifier des tailles de choses, comme les grandeurs -d'une ligne. Les imprimeurs dans les pays de langue Anglaise mesurent traditionnellement -les distances en points et en picas, tandis que les imprimeurs d'Europe continentale -mesurent traditionnellement les distances en points Didot et en ciceros. -Vous pouvez utiliser ces mesures ou d'autres, comme les pouces, qui peuvent -vous \^etre plus familier. Les ^{unit\'es de mesure} ind\'ependantes des polices -que \TeX\ comprend sont~: - -\xrdef{dimdefs} -\nobreak\vskip\abovedisplayskip -\halign{\indent\hfil\tt #\qquad&#\hfil\cr -pt&^{point} (72.27 points = 1 pouce)\cr -pc&^{pica} (1 pica = 12 points)\cr -bp&big point (72 gros points = 1 pouce)\cr -in&^{pouce}\cr -cm&^{centim\`etre} (2.54 centim\`etres = 1 pouce)\cr -mm&^{millim\`etre} (10 millim\`etres = 1 centim\`etre)\cr -dd&^{\didotpt} (1157 {\didotpt}s = 1238 points)\cr -cc&^{cic\'ero} (1 cicero = 12 points Didot)\cr -sp&^{point d'\'echelle} (65536 points d'\'echelle = 1 point)\cr -} -\vskip\belowdisplayskip - -Deux unit\'es de mesure suppl\'ementaires sont associ\'ees avec chaque police~: `^|ex|', -une mesure verticale correspondant habituellement \`a la hauteur de la lettre `x' -de la police et `^|em|', une mesure -horizontale habituellement \'egale \`a la taille du point de la police et -environ la largeur de la lettre `M' de la police. Finalement, -\TeX\ procure trois unit\'e de mesure ``infinies''~: `^|fil|', `^|fill|' et -`^|filll|', dans l'ordre de force croissant. - -Une dimension est \'ecrite comme un ^{facteur}, c'est-\`a-dire, un multiplieur, -suivi par une unit\'e de mesure. -^^{unit\'es de mesure} -Le facteur peut \^etre soit un \refterm{nombre} entier, soit -une \refterm{constante d\'ecimale} contenant un point d\'ecimal -ou une virgule d\'ecimale. -Le facteur peut \^etre pr\'ec\'ed\'e par un signe plus ou moins, donc une dimension -peut \^etre positive ou n\'egative. -^^{dimensions//n\'egatives} -L'unit\'e de mesure doit \^etre l\`a, m\^eme si le nombre est -z\'ero. Des espaces entre le nombre et l'unit\'e de mesure sont permis -mais facultatifs. Vous trouverez une d\'efinition pr\'ecise d'une -dimension sur la \knuth{page~270}{315}. Voici quelques exemples de dimensions~: - -\csdisplay -5.9in 0pt -2,5 pc 2fil -| -La derni\`ere repr\'esente un ordre de distance infinie. - -Une distance infinie \'ecrase toute distance finie ou toute distance infinie -plus l\'eg\`ere. Si vous additionnez |10in| \`a |.001fil|, vous obtiendrez |.001fil|~; si vous additionnez -|2fil| \`a |-1fill| vous aurez |-1fill|~; et ainsi de suite. -\TeX\ n'accepte des distances infinies que quand -vous avez sp\'ecifi\'e l'\refterm{\'etirement} et le \refterm{r\'etr\'ecissement} -du \refterm{ressort}. - -\TeX\ multiplie toutes les dimensions de votre document par un -facteur de \refterm{magnification} $f/1000$, -o\`u $f$ est la valeur du param\`etre ^|\mag|. -^^{magnification} -Puisque la valeur par d\'efaut de -|\mag| est $1000$, le cas normal est que votre document est -compos\'e comme sp\'ecifi\'e. Vous pouvez sp\'ecifier une dimension comme elle sera -mesur\'ee dans le document final ind\'ependamment d'une magnification en mettant -`|true|' devant l'unit\'e. Par exemple, `|\kern 8 true pt|' -produit un cr\'enage de $8$ points quelle que soit la magnification. -\endconcept - - -\concept {disposition de page} - -\bix^^{marges} -\bix^^{ent\^etes} -\bix^^{pieds de page} -Quand vous concevez un document, vous devez d\'ecider de son -\defterm{ajustement de page}~: la taille de la page, les marges des -quatre cot\'es, les ent\^etes et pieds de page, s'il y en a, qui -apparaissent en haut et en bas de la page et la taille de l'espace -entre le corps du texte et l'ent\^ete ou le pied de page. \TeX\ en -d\'efinit par d\'efaut. Il d\'efinit une page de $8 \frac1/2$ -par $11$ pouces avec des marges d'approximativement un pouce de -chaque cot\'e, sans ent\^ete et avec un pied de page constitu\'e d'un -num\'ero de page centr\'e. - -Les marges sont d\'etermin\'ees conjointement par les quatre param\`etres -^|\hoffset|, ^|\voffset|, ^|\hsize| et ^|\vsize| (voir -``marges'', \xrefpg{marges}, -pour des conseils sur la fa\c con de les ajuster). -\eix^^{marges} -L'ent\^ete consiste normalement en une simple ligne qui appara\^\i t en haut de chaque -page, dans l'aire de la marge du haut. Vous pouvez la d\'efinir en assignant -une liste de \refterm{token} dans le param\`etre ^|\headline| (\xref{\headline}). -Similairement, -le pied de page consiste normalement en une simple ligne qui appara\^\i t en bas de chaque -page, dans l'aire de la marge du bas. Vous pouvez la d\'efinir en assignant -une liste de \refterm{token} dans le param\`etre ^|\footline| (\xref{\footline}). -Par exemple, l'entr\'ee~: -\csdisplay -\headline = {Baby's First Document\dotfill Page\folio} -\footline = {\hfil} -| -produit une ligne d'ent\^ete comme celle-ci sur chaque page~: -\vdisplay{ -\dimen0 = \hsize -\advance \dimen0 by -\parindent -\hbox to \dimen0{Baby's First Document\dotfill Page 19}} -\noindent -et aucune ligne de pied de page. - -Vous pouvez utiliser des marques pour placer le sujet d'une section de texte -courante dans l'ent\^ete ou le pied de page. -^^{marques//avec ent\^etes ou pieds de page} -Voir \conceptcit{marque} pour une explication sur comment faire cela. -\eix^^{ent\^etes} -\eix^^{pieds de page} -\endconcept - -\conceptindex{d\'elimiteurs} -\concept d\'elimiteur - -Un \defterm{d\'elimiteur} est un caract\`ere mis comme fronti\`ere visible d'une -formule math\'ematique. La propri\'et\'e essentielle d'un d\'elimiteur est que \TeX\ -peut ajuster sa taille par rapport \`a la taille verticale (\refterm{hauteur} -plus \refterm{profondeur}) de la sous-formule. -De plus, \TeX\ n'ex\'ecute d'ajustement que si le d\'elimiteur -appara\^\i t dans un ``contexte de d\'elimiteur'', plus pr\'ecis\'ement, comme argument -d'une des commandes ^|\left|, -^|\right|, -|\overwith!-delims|, -|\atop!-with!-delims|, -ou |\above!-with!-delims| -^^|\overwithdelims| -^^|\atopwithdelims| -^^|abovewithdelims| -\margin{Footnote deleted} -(voir les \pp\xrefn{\overwithdelims},~\xrefn{\left}). -Les contextes de d\'elimiteur incluent aussi tout \refterm{argument} -\`a une \refterm{macro} qui utilise l'argument dans un contexte de d\'elimiteur. - -Par exemple, les parenth\`eses gauches et droites sont des d\'elimiteurs. -Si vous utilisez des ^{parenth\`eses} dans un contexte de d\'elimiteur autour -d'une formule, \TeX\ rend les parenth\`eses assez grandes pour entourer la -\refterm{bo\^\i te} qui contient la formule (\`a condition que les -\refterm{polices:police} que vous utilisez aient des parenth\`eses assez grandes). -Par exemple~: -\csdisplay -$$ \left( a \over b \right) $$ -| -donne~: -\centereddisplays $$\left (a \over b \right ) $$ -Ici \TeX\ a rendu les parenth\`eses assez grandes pour s'accorder \`a la fraction. -Mais si vous \'ecrivez, \`a la place~: -\csdisplay -$$({a \over b})$$ -| -vous aurez~: -$$({a \over b})$$ -Puisque les parenth\`eses ne sont pas dans un contexte de d\'elimiteur, elles ne -sont \emph{pas} \'elargies. - -Les d\'elimiteurs vont par paires~: -un d\'elimiteur ouvrant \`a la gauche de la sous-formule -et un d\'elimiteur fermant \`a sa droite. -Vous pouvez choisir explicitement une hauteur plus grande pour un -d\'elimiteur avec les commandes |\bigl|, ^|\bigr|, et leurs -pendantes \ctsref{\bigl}\footnote -{\PlainTeX\ d\'efini les diff\'erentes commandes |\big| en utilisant |\left| -et |\right| pour obtenir un contexte de d\'elimiteur. Il r\`egle la taille en -construisant une formule vide de la hauteur d\'esir\'ee.}. -Par exemple, pour avoir la -formule affich\'ee~: -$$\bigl(f(x) - x \bigr) \bigl(f(y) - y \bigr)$$ - -\noindent dans laquelle les parenth\`eses externes sont un peu plus grandes -que leurs internes, vous devez \'ecrire~: - -\csdisplay -$$\bigl( f(x) - x \bigr) \bigl( f(y) - y \bigr)$$ -| - -Les $22$ d\'elimiteurs \plainTeX, montr\'es \`a leur taille normale, sont~: -\display{% -$( \>) \>[ \>] \>\{ \>\} -\>\lfloor \>\rfloor \>\lceil \>\rceil -\>\langle \>\rangle \>/ \>\backslash -\>\vert \>\Vert -\>\uparrow \>\downarrow \>\updownarrow -\>\Uparrow \>\Downarrow \>\Updownarrow$} -^^|)| ^^|)| ^^|[| ^^|]| ^^|\lbrack| ^^|\rbrack| -^^|\{| ^^|\}| ^^|\lbrace| ^^|\rbrace| -^^|\lfloor| ^^|\rfloor| ^^|\lceil| ^^|\rceil| -^^|\langle| ^^|\rangle| ^^|/| ^^|\backslash| -^^|\vert| ^^|\Vert| -^^|\uparrow| ^^|\downarrow| ^^|\updownarrow| -^^|\Uparrow| ^^|\Downarrow| ^^|\Updownarrow| -\noindent -Voici les plus grandes tailles fournies explicitement par \plainTeX\ - (les versions |\Biggl|, |\Biggr|, etc.)~: -\nobreak\vskip .5\abovedisplayskip -\display{% -$\Biggl( \>\Biggr) \>\Biggl[ \>\Biggr] -\>\Biggl\{ \>\Biggr\} \>\Biggl\lfloor \>\Biggr\rfloor -\>\Biggl\lceil \>\Biggr\rceil -\>\Biggl\langle \>\Biggr\rangle -\>\Biggm/ \>\Biggm\backslash -\>\Biggm\vert \>\Biggm\Vert -\>\Biggm\uparrow \>\Biggm\downarrow \>\Biggm\updownarrow -\>\Biggm\Uparrow \>\Biggm\Downarrow \>\Biggm\Updownarrow$} -\vskip .5\belowdisplayskip -\noindent -Les d\'elimiteurs (sauf pour `|(|', `|)|', et -`|/|') -sont les symboles list\'es sur les -pages~\xrefn{\lbrace}--\xrefn{\Uparrow}. -Ils sont list\'es \`a un seul endroit sur la \knuth{page~146}{170--171}. - -Un d\'elimiteur peut appartenir \`a n'importe quelle classe. -^^{classe//d'un d\'elimiteur} -Pour un d\'elimiteur que vous agrandissez avec -|\bigl|, |\bigr|, etc., la classe est d\'etermin\'ee par la commande~: -``opener'' pour les commandes-|l|, ``closer'' pour les commandes-|r|, -``relation'' pour les commandes-|m|, et ``ordinary symbol'' pour les -commandes-|g|, -c'est-\`a-dire, |\Big|. - -Vous pouvez obtenir un d\'elimiteur de deux diff\'erentes mani\`eres~: -\olist -\li Vous pouvez rendre un caract\`ere d\'elimiteur en lui assignant un -codes de d\'elimiteur non n\'egatif -\bix^^{codes d\'elimiteurs} -(voir plus bas) avec la commande ^|\delcode| (\xref\delcode). -N\'eanmoins le caract\`ere n'agit comme d\'elimiteur que si vous l'utilisez dans un -contexte de d\'elimiteur\footnote{% -Il est possible d'utiliser un caract\`ere avec un code de d\'elimiteur non n\'egatif -dans un contexte o\`u il n'est pas un d\'elimiteur. Dans ce cas \TeX\ ne fait pas -la recherche~; \`a la place, il utilise simplement le caract\`ere de fa\c con ordinaire -(voir la \knuth{page~156}{181--282}).}. -\li Vous pouvez produire un d\'elimiteur explicitement avec la commande -^|\delimiter| -(\xref\delimiter), en analogie avec la mani\`ere par laquelle vous pouvez produire un -caract\`ere ordinaire avec la commande |\char| ou un caract\`ere math\'ematique -avec la commande |\mathchar|. -La commande |\delimiter| utilise les m\^emes code de d\'elimiteur que ceux utilis\'es -dans une entr\'ee de table -|\delcode|, mais avec un chiffre suppl\'ementaire devant pour indiquer une -classe. -Il est rare d'utiliser |\delimiter| en dehors d'une d\'efinition de macro. -\endolist - -Un code de d\'elimiteur dit \`a -\TeX\ comment chercher un caract\`ere de sortie appropri\'e pour repr\'esenter -un d\'elimiteur. -Les r\`egles de cette recherche sont assez compliqu\'ees -(voir les \knuth{pages~156 et 442}{181--282 et 506--507}). -Une compr\'ehension compl\`ete de ces r\`egles requiert des connaissances -sur l'organisation des ^{fichiers de m\'etriques} des polices, un sujet qui n'est pas seulement en dehors -de l'objectif de ce livre mais \'egalement en dehors de l'objectif de \texbook. - -En r\'esum\'e la recherche travaille comme cela. Le code de d\'elimiteur sp\'ecifie un -``petit'' caract\`ere de sortie et un ``grand'' caract\`ere de sortie en -fournissant une position dans la \refterm{police} et une \refterm{famille} de -police pour chacun -(see \xref\delcode). -En utilisant cette information, \TeX\ peut trouver (ou construire) -de plus en plus grandes versions du d\'elimiteur. \TeX\ essaye d'abord -diff\'erentes tailles (de la petite \`a la grande) -du ``petit'' caract\`ere dans la ``petite'' police -et ensuite -diff\'erentes tailles (l\`a aussi de la petite \`a la grande) -du ``grand'' caract\`ere dans la ``grande'' police, -en cherchant un dont la hauteur plus la profondeur soit suffisamment grande. -Si aucun de ces caract\`eres trouv\'e n'est assez -grand, il utilise le plus grand. -Il est possible que -le petit caract\`ere, le grand caract\`ere, ou les deux ait \'et\'e laiss\'e non -sp\'ecifi\'e -(indiqu\'e par un z\'ero dans la partie appropri\'ee du code de d\'elimiteur). -Si seulement un caract\`ere -a \'et\'e sp\'ecifi\'e, \TeX\ l'utilise. Si aucun ne l'a \'et\'e, -il remplace le d\'elimiteur par un espace de largeur ^|\nulldelimiterspace|. -\eix^^{codes d\'elimiteurs} - -\endconcept - - -\concept d\'em\'erites - -\TeX\ utilise des \refterm{d\'em\'erites} comme une mesure de combien une ligne n'est pas d\'esirable -quand il coupe un paragraphe en lignes \seeconcept{coupure de ligne}. -^^{coupures de ligne//d\'em\'erites pour} -Les d\'em\'erites d'une ligne sont affect\'es par la \refterm{m\'ediocrit\'e} de la ligne -et par les \refterm{p\'enalit\'es:p\'enalit\'e} associ\'ees avec la ligne. -^^{m\'ediocrit\'e} -Le but de \TeX\ dans le choix d'un arrangement particulier de lignes est de -minimiser le total des -d\'em\'erites pour le paragraphe, qu'il calcule en additionnant les d\'em\'erites -des lignes individuelles. -voir les \knuth{pages~97--98}{114--115} pour les d\'etails sur comment \TeX\ -coupe un paragraphe en lignes. -\TeX\ n'utilise pas de d\'em\'erites quand il choisit des coupures de page~; -\`a la place, il utilise -une mesure similaire appel\'ee le ``co\^ut'' d'une coupure de page particuli\`ere. -\endconcept - -\conceptindex{\elements} -\concept \'el\'ement - -Le terme \defterm{\'el\'ement} est souvent utilis\'e pour faire r\'ef\'erence \`a un composant -d'une liste horizontale, verticale ou math\'ematique, c'est-\`a-dire, une liste d'\'el\'ements que -\TeX\ construit quand il est dans un mode horizontal, vertical ou math\'ematique. -\endconcept - - -\concept {\elementextra} - -Un \defterm{\'el\'ement extraordinaire} est un \'el\'ement d'information qui -dit \`a \TeX\ d'effectuer une action -qui n'entre pas dans le sch\'ema ordinaire des choses. -un \'el\'ement extraordinaire peut appara\^\i tre dans une liste horizontale ou -verticale, comme une bo\^\i te ou un \'el\'ement ressort. -\TeX\ compose un \'el\'ement extraordinaire -comme une \refterm{bo\^\i te} de largeur, hauteur et profondeur \`a z\'ero---en d'autres -termes, une bo\^\i te qui ne contient rien et n'occupe pas d'espace. - -Trois sortes d'\'el\'ements extraordinaires sont construits dans \TeX~: -\ulist -\li Les commandes |\openout|, |\closeout| et |\write| -(\p\xrefn{\openout}) -% (2nd) removed \xref to \write, since it's on the same page -produisent un \'el\'ement extraordinaire pour agir sur un fichier de sortie. -^^|\openout//\elementextra\ produit par| -^^|\write//\elementextra\ produit par| -^^|\closeout//\elementextra\ produit par| -\TeX\ diff\`ere l'op\'eration jusqu'a ce qu'il envoit la prochaine page -dans le {\dvifile} -^^{\dvifile//\elementextra\ en} -(\`a moins que l'op\'eration soit pr\'ec\'ed\'ee par ^|\immediate|). -\TeX\ utilise un \'el\'ement extraordinaire pour ces commandes parce qu'elles - n'ont rien \`a faire avec ce qu'il compose quand il les rencontre. -\li La commande ^|\special| \ctsref{\special} demande \`a \TeX\ -d'ins\'erer un certain texte directement dans le \dvifile. -comme avec la commande |\write|, \TeX\ diff\`ere l'op\'eration jusqu'a ce -qu'il envoit la prochaine page dans le {\dvifile} -^^{\dvifile//mat\'eriel ins\'er\'e par \b\tt\\special\e} -Une utilisation typique de |\special| serait de -nommer un fichier graphique que le driver d'affichage pourrait incorporer dans -votre sortie finale. -\li Quand vous changez de langage avec les commandes ^|\language| ou ^|\setlanguage| -\ctsref{\language}, -\TeX\ ins\`ere un \'el\'ement extraordinaire qui l'instruit de l'usage d'un -certain jeu de r\`egle de c\'esure \`a suivre quand il coupe un paragraphe -en lignes. -\endulist -\noindent -Une impl\'ementation particuli\`ere de \TeX\ peut procurer des \'el\'ements extraordinaires additionnels. -\endconcept - - -\conceptindex{ent\^etes} -\concept ent\^ete - -Un \defterm{ent\^ete} est un mat\'eriel que \TeX\ met en haut de chaque page, -au-dessus du texte de cette page. L'ent\^ete pour un simple rapport -peut \^etre constitu\'e du titre du cot\'e gauche de la page et du -texte ``Page $n$'' du cot\'e droite de la page. -D'habitude, un ent\^ete est constitu\'e d'une seule ligne, que vous pouvez mettre en -assignant une liste de tokens \`a ^|\headline| \ctsref\headline. -L'ent\^ete par d\'efaut de \plainTeX\ est \`a blanc. -Il est aussi possible de produire des ent\^ete multiligne~ (voir \xrefpg{bighead}) -\endconcept - - -\concept espace - -Vous pouvez demander \`a \TeX\ de mettre un \defterm{espace} entre deux \'el\'ements de -plusieurs fa\c cons~: - -\olist -^^{fin de ligne} -\li Vous pouvez \'ecrire quelque chose que \TeX\ traite comme un \refterm{token} -espace~: un ou plusieurs caract\`eres blancs, La fin d'une ligne (le -caract\`ere fin de ligne agit comme un espace) ou toute \refterm{commande} qui -se d\'eveloppe en token espace. \TeX\ g\'en\'eralement traite plusieurs -espaces cons\'ecutifs comme \'equivalent \`a un seul, en incluant le cas o\`u -les espaces comprennent une seule fin de ligne. (Une ligne vide -indique la fin d'un paragraphe~; il fait que \TeX\ g\'en\`ere un token |\par|.) -^^|\par//d'une ligne vide| -\TeX\ ajuste la taille de cette sorte d'espace en fonction de la longueur -requise par le contexte. - -^^{ressort//cr\'eer de l'espace avec} -\li Vous pouvez \'ecrire une commande de saut qui produit le ressort -que vous sp\'ecifiez dans la commande. Le ressort peut -s'\refterm{\'etirer} ou se \refterm{r\'etr\'ecir}, -produisant plus ou moins d'espace. Vous pouvez avoir un ressort vertical -comme un ressort horizontal. Le ressort dispara\^\i t \`a chaque fois qu'il -est apr\`es une coupure de ligne ou de page. - -^^{cr\'enages//cr\'eer de l'espace avec} -\li Vous pouvez \'ecrire un \refterm{cr\'enage}. Un cr\'enage produit un montant - d'espace fixe qui ne s'\'etire ni se r\'etr\'ecit et ne dispara\^\i t pas sur un -une coupure de ligne ou de page (\`a moins d'\^etre suivie imm\'ediatement par -ressort). L'usage le plus courant du cr\'enage est d'\'etablir une relation -spatiale fixe entre deux \refterm{bo\^\i te}s adjacentes. -\endolist - -Le ressort et les cr\'enages peuvent avoir des valeurs n\'egatives. -Un ressort n\'egatif ou un cr\'enage n\'egatif -entre des \'el\'ements adjacents rapproche ces \'el\'ements l'un de l'autre. -\endconcept - - -\concept {\etirement} - -Voir \conceptcit{ressort}. -\endconcept - - -\concept famille - -Une \defterm{famille} est un groupe de trois \refterm{polices:police} reli\'ees utilis\'ees -quand \TeX\ est en \refterm{mode math\'ematique}. -^^{polices//familles de} -En dehors du mode math\'ematique, les familles -n'ont aucun effet. Les trois polices d'une famille sont utilis\'ees pour les symboles normaux -(\refterm{taille de texte}), indices et exposants (\refterm{taille script}) -et sous-indices, sur-exposants, etc.\ -(\refterm{taille scriptscript}). -^^{taille texte} -^^{taille script} -^^{taille scriptscript} -Par exemple, le nombre `|2|' compos\'e dans ces trois polices vous donnera -`$2$', `$\scriptstyle 2$' et `$\scriptscriptstyle 2$' (en \plainTeX). -Normalement vous fixerez les trois polices d'une famille \`a diff\'erentes -tailles du m\^eme type de police, mais rien ne vous emp\^eche d'utiliser des -types diff\'erents pour les trois polices ni d'utiliser la m\^eme police -deux fois dans une famille. - -{\tighten -TeX\ procure jusqu'a seize familles, num\'erot\'ees de $0$ \`a $15$. Par -exemple, la famille $0$ en \refterm{\plainTeX} consiste en roman $10$ points -pour le texte, roman $7$ points pour le script et roman $5$ points pour le -scriptscript. -^^{\plainTeX//familles de police en} -\PlainTeX\ d\'efini aussi la famille $1$ qui est constitu\'ee des polices -math\'ematiques italiques et r\'eserve les familles $2$ et $3$ pour respectivement -les ^{symboles sp\'eciaux} et les ^{extensions math\'ematiques}\footnote{Les -familles $2$ et $3$ sont sp\'eciales en ce que leurs fichiers de m\'etriques de -police doivent inclure des param\`etres pour l'espacement math\'ematique.}. Si -vous devez d\'efinir une famille vous m\^eme, vous devrez utiliser la commande -^|\newfam| \ctsref{\@newfam} pour avoir le num\'ero d'une famille qui n'est -pas utilis\'ee et les commandes ^|\textfont|, ^|\scriptfont| and -^|\scriptscriptfont| commands \ctsref{\scriptscriptfont} pour assigner des -polices \`a cette famille. -\par} - -\endconcept - - -\conceptindex{fichiers} -\concept fichier - -Un \defterm{fichier} est un flot d'information que \TeX\ interpr\`ete ou -cr\'ee. Des fichiers sont g\'er\'es par le ^{syst\`eme d'exploitation} qui supervise votre -ex\'ecution de \TeX. \TeX\ manipule des fichiers dans quatre contextes diff\'erents~: -\olist -\li Un ``^{fichier source}'' est celui que \TeX\ lit avec ses ``yeux'' -\seeconcept{\anatomy} et interpr\`ete en accord avec ses r\`egles ordinaires. -Votre fichier d'entr\'ee primaire---celui que vous sp\'ecifiez apr\`es `|**|' ou -sur la ligne de commande quand vous -invoquez \TeX---est un fichier source, et ainsi pour tout fichier que vous -appelez avec une commande ^|\input| \ctsref \input. - -\li Un ``^{fichier r\'esultat}'' est celui qui contient les r\'esultats de -l'ex\'ecution de \TeX. \TeX\ cr\'ee deux fichiers r\'esultat~: Le -\dvifile\ et le fichier .log. -^^{\dvifile//comme un fichier r\'esultat} -^^{\logfile//comme un fichier r\'esultat} -Le \dvifile\ contient l'information n\'ecessaire pour imprimer votre document. -Le fichier -.log contient un enregistrement de ce qui s'est pass\'e pendant l'ex\'ecution, -incluant tout message d'erreur que \TeX\ a g\'en\'er\'e. -Si votre fichier source primaire s'appelle -|screed.tex|, vos \dvifiles\ et log se nommeront |screed.dvi| -et |screed.log|\footnote{C'est la convention usuelle, mais -des impl\'ementations particuli\`eres de \TeX\ sont libres de changer cela.}. - -\li Pour lire un fichier avec la commande ^|\read| -\ctsref{\read} vous devez associer le fichier avec un flot d'entr\'ee. -^^{flots d'entr\'ee//lire avec \b\tt\\read\e} -Vous pouvez avoir jusqu'a $16$ flots d'entr\'ee actifs -\`a la fois, num\'erot\'es de $0$ \`a $15$. -La commande |\read| lit un seul fichier et le fait avec la valeur d'une -\refterm{s\'equence de contr\^ole} d\'esign\'ee, donc lire avec -|\read| est tr\`es diff\'erent de lire avec ^|\input| (qui apporte un -fichier entier). -\TeX\ prend tout flot d'entre qui n'est pas num\'erot\'e entre -$0$ et $15$ comme r\'ef\'erence au terminal, -donc `|\read16|', disons, lit la prochaine ligne que vous saisissez sur le -terminal. - -\li Pour \'ecrire dans un fichier avec la commande |\write| -\ctsref \write\ vous devez associer le fichier -avec un flot de sortie. -^^|\write//flot d'entr\'ee pour| -^^{flots de sortie} -Vous pouvez avoir jusqu'a $16$ flots de sortie actifs -\`a la fois, num\'erot\'es de $0$ \`a $15$. -Les flots d'entr\'ee et de sortie sont ind\'ependants. -Tout ce qui est envoy\'e vers un flot de sortie avec un num\'ero n\'egatif va vers le -fichier log~; tout ce qui est envoy\'e vers un flot de sortie avec un num\'ero -sup\'erieur \`a $15$ -va \`a la fois vers le fichier log et le terminal. -Ainsi `|\write16|', disons, \'ecrit une ligne sur le terminal et aussi envoit -cette ligne vers le fichier~log. - -\endolist - -Vous devez ouvrir un fichier de flot avant de pouvoir l'utiliser. -Un fichier de flot d'entr\'ee est ouvert avec une commande ^|\openin| -\ctsref \openin\ et un fichier de flot de sortie est ouvert avec une -commande ^|\openout| \ctsref\openout. -Par propret\'e, -vous devez fermer un fichier de flot quand vous en avez fini avec lui, n\'eanmoins -\TeX\ le fera \`a la fin du traitement si vous ne l'avez pas fait. -Les deux commandes pour fermer un fichier de flot sont ^|\closein| \ctsref\closein\ -et ^|\closeout| \ctsref\closeout. -Un avantage de fermer un flot quand vous en avez fini avec lui -est que vous pouvez r\'eutiliser le flot pour un autre fichier. -Ceci peut \^etre essentiel quand vous lisez un longue suite de fichiers. - -De plus vous pouvez assigner des num\'eros vous-m\^eme aux flots d'entr\'ee et de sortie, -Il est pr\'ef\'erable de le faire avec les commandes ^|\newread| et -^|\newwrite| \ctsref{\@newwrite}. -Vous pouvez avoir plus d'un flot associ\'e avec un seul fichier, -mais vous aurez des salet\'es (probablement non diagnostiqu\'e) \`a moins que tous les flots -soit des flots d'entr\'ee. Associer plus d'un flot avec un fichier d'entr\'ee -peut-\^etre utile quand vous voulez utiliser le m\^eme fichier d'entr\'ee pour deux -usages diff\'erents. - -D'habitude, \TeX\ diff\`ere les actions d'ouverture, d'\'ecriture et de fermeture -d'un flot de sortie jusqu'a ce qu'il enregistre une page avec ^|\shipout| -(voir la \knuth{page~227}{266} -pour les d\'etails). Cette propri\'et\'e s'applique m\^eme aux messages \'ecrits sur le -terminal avec |\write|. Mais vous pouvez demander \`a \TeX\ de faire une action -sur un flot de sortie imm\'ediatement en faisant pr\'ec\'eder la commande d'action de -^|\immediate| \ctsref\immediate. Par exemple~: -\csdisplay -\immediate\write16{Do not pass GO!! Do not collect $200!!} -| -\endconcept - - -\concept {fichier format} - -{\tighten -Un \defterm{fichier format} est un fichier qui contient une image de -la m\'emoire de \TeX\ sous la forme dans laquelle il peut \^etre recharg\'e rapidement. -Un fichier format peut \^etre cr\'e\'e avec la commande ^|\dump| \ctsref\dump. -L'image contient un enregistrement complet -des d\'efinitions (de \refterm{polices:police}, \refterm{macros:macro}, etc.) -qui \'etaient pr\'esentes quand le dump a \'et\'e effectu\'e. -En utilisant ^|virtex|, un forme sp\'eciale ``vierge'' de \TeX, -vous pouvez recharger le fichier format \`a haute vitesse et -continuer avec le m\^eme \'etat dans lequel \'etait \TeX\ au moment du dump. -L'avantage du fichier format sur un fichier d' entr\'ee ordinaire -contenant la m\^eme information est que \TeX\ peut la charger beaucoup plus -vite. -\par} - -Des fichiers de format doivent \^etre cr\'e\'es par ^|initex|, une -forme sp\'eciale de \TeX\ \'ecrite \`a cette intention. -Ni |virtex|, ni |initex| n'ont d'outils autres que les primitives -construites dans le programme \TeX\ lui-m\^eme. - -Une forme ^{pr\'echarg\'ee} de \TeX\ est celle qui a un fichier format conforme -charg\'e et est pr\^et \`a accepter l'entr\'ee de l'utilisateur. -La forme de \TeX\ qui se nomme |tex| -a souvent les d\'efinitions \plainTeX\ pr\'echarg\'ees. -(\PlainTeX\ est normalement fourni sous deux autres formes~: -comme une fichier de format et comme une fichier source de \TeX. -Dans certains environnements, |tex| est \'equivalent \`a appeler |virtex| -et charge alors |plain|.) -Cr\'eer des formes pr\'echarg\'ees de \TeX\ n\'ecessite un programme sp\'ecial~; -il ne peut pas \^etre fait en n'utilisant que les outils de \TeX\ lui-m\^eme. - -\endconcept - - -\concept {fichier log} - -Voir \conceptcit{fichier}. -\endconcept - - -\conceptindex{filets} -\concept filets - -Un \defterm{filet} est un rectangle plein noir. -Un filet, comme une \refterm{bo\^\i te}, -a une \refterm{largeur}, une \refterm{hauteur} et une \refterm{profondeur}. -La dimension verticale du rectangle -est la somme de sa hauteur et de sa profondeur. -Une ligne droite horizontale ou verticale est un cas sp\'ecial de filet. - -\bix^^{filets horizontaux} -\bix^^{filets verticaux} -\bix^^|\hrule| -\bix^^|\vrule| -Un filet peut \^etre soit horizontal, soit vertical. La distinction entre un -filet horizontal et un vertical diff\`ere selon la fa\c con de produire le -filet, un filet vertical peut \^etre court et \'epais (et donc ressembler -\`a une ligne horizontale), tandis qu'un filet horizontal peut \^etre grand et maigre -(et donc ressembler \`a une ligne verticale). La notion de filet de \TeX\ est -plus g\'en\'erale que celle des typographes, qui pensent \`a un filet comme \`a une ligne -et ne veulent habituellement pas appeler filet une bo\^\i te noire carr\'ee. - -Vous pouvez produire un filet horizontal en utilisant la commande -|\hrule| et un filet vertical en utilisant -la commande |\vrule| \ctsref{\vrule}. -Par exemple, la s\'equence de contr\^ole |\hrule| par elle-m\^eme -produit un filet fin qui traverse la page, comme ceci~: - -{\offinterlineskip -\nobreak\medskip -\hrule -\medskip} - -La commande `|\vrule height .25in|' produit un filet vertical -qui s'allonge de $.25$~pouces sur la page comme ceci~: -\nobreak\vskip \abovedisplayskip -\leftline{\vrule height .25in} -\vskip \belowdisplayskip - -Il y a deux diff\'erences entre les filets horizontaux et verticaux~: -\olist -\li Pour un filet horizontal, \TeX\ prend comme largeur par d\'efaut la largeur -de la plus petite \refterm{bo\^\i te} ou \refterm{alignement} qui l'englobe. -Pour un filet vertical, \TeX\ prend comme hauteur et profondeur par d\'efaut -de la m\^eme fa\c con. (Le -d\'efaut est la taille que vous obtenez si vous ne donnez pas de taille explicitement -pour cette dimension.) - -^^{listes horizontales//filet en} -^^{listes verticales//filet en} -\li -{\tighten -Un filet horizontal est un \'el\'ement fondamentalement vertical qui ne peut participer -\`a une \refterm{liste horizontale}, tandis qu'un filet vertical est un \'el\'ement -horizontal qui ne peut participer \`a une \refterm{liste verticale}. -Cette propri\'et\'e peut sembler \'etrange d'un premier abord, mais il y a une -bonne raison \`a cela~: -Un filet horizontal s'\'etend visuellement de gauche \`a droite et donc s\'epare des -\'el\'ements d'une liste verticale, tandis qu'un filet vertical s'\'etend visuellement -de haut en bas et ainsi s\'epare des \'el\'ements d'une liste horizontale. -%(Look at the rules that are shown above.) -\par} -\endolist - -{\tighten -Si vous construisez un filet avec trois dimensions explicites, -cela donnera la m\^eme chose que vous fassiez un filet horizontal ou vertical. -Par exemple, la commande `|\vrule height1pt depth2pt width3in|' produit ce -filet au look horizontal~: -\par} - -{\offinterlineskip -\nobreak\medskip\nobreak\vskip3pt -\leftline{\vrule height1pt depth2pt width3in} -\medskip} - -Vous trouverez un \'etat pr\'ecis du traitement des filets de \TeX\ dans les -\knuth{pages~221--222}{259--260}. -\eix^^{filets horizontaux} -\eix^^{filets verticaux} -\eix^^|\hrule| -\eix^^|\vrule| -\endconcept - - -\conceptindex{flots d'entr\'ee} -\concept {flots d'entr\'ee} - -Voir \conceptcit{fichier}. -\endconcept - - -\conceptindex{flots de sortie} -\concept {flots de sortie} - -\margin{This concept was out of order.} -Voir \conceptcit{fichier}. -\endconcept - - -\concept global - -Une d\'efinition \defterm{globale} est effective -jusqu'a la fin du -document ou jusqu'a ce qu'elle soit \'ecras\'ee par une autre d\'efinition, -m\^eme quand elle appara\^\i t dans un \refterm{groupe}. -Ainsi une d\'efinition globale n'est pas affect\'ee par les fronti\`eres de groupe. -Vous pouvez rendre n'importe quelle d\'efinition globale en la pr\'efixant avec la -commande |\global| \ctsref{\global} a moins que ^|\globaldefs| \ctsref\globaldefs{} -soit n\'egatif. -^^|\global| - -Il y a un moyen sp\'ecial de rendre une d\'efinition de \refterm{macro} globale. -^^{macros//globale} -Normalement vous d\'efinissez une macro en utilisant soit la commande |\def| -soit la commande |\edef| \ctsref{\edef}. -^^|\edef//rendre global| -^^|\def//rendre global| -Si vous utilisez |\gdef| ou |\xdef| -au lieu de |\def| et |\edef| respectivement, la d\'efinition de macro sera -globale. Parce que, `^|\gdef|' est \'equivalent \`a `|\global\def|' et -`^|\xdef|' est \'equivalent \`a `|\global\edef|'. -\endconcept - - -\conceptindex{groupes} -\concept groupe - -Un \defterm{groupe} est une partie de votre manuscrit que \TeX\ traite comme -une unit\'e. -Vous indiquez un groupe en l'entourant avec les accolades -`|{|' et `|}|' (ou tout autre caract\`ere avec le -\refterm{code de cat\'egorie} appropri\'e). -^^|{//d\'ebuter un groupe| -^^|}//terminer un groupe| - -La plus importante propri\'et\'e d'un groupe est que toute d\'efinition -ou assignation non globale que vous faites dans un groupe dispara\^\i t quand -le groupe se termine. Par exemple, si vous \'ecrivez~: - -\csdisplay -Please don't pour {\it any} more tea into my hat. -| -La \refterm{s\'equence de contr\^ole} |\it| demande \`a \TeX\ de mettre le mot -`|any|' en police italique mais n'affecte pas le reste du texte. -Comme autre exemple, si vous utilisez le param\`etre |\hsize| -\ctsref{\hsize} pour changer la longueur de la ligne dans un groupe, la longueur de ligne -retourne \`a sa valeur pr\'ec\'edente un fois que \TeX\ est sorti du groupe. - -Les groupes sont aussi pratiques comme moyen de contr\^oler l'espace\-ment. -Par exemple, si vous saisissez~: - -\csdisplay -\TeX for the Impatient and the Outpatient too. -| -\noindent -vous aurez~: -\display{% -\TeX for the Impatient and the Outpatient too. -} -\noindent -puisque la s\'equence de contr\^ole |\TeX| (qui produit le logo \TeX) -absorbe l'espace qui le suit. -vous voulez probablement ceci~: -\display{% -{\TeX} for the Impatient and the Outpatient too. -} -\noindent -Une mani\`ere d'obtenir ceci est d'englober `|\TeX|' dans un groupe~: -\csdisplay -{\TeX} for the Impatient and the Outpatient too. -| -L'accolade droite emp\^eche la s\'equence de contr\^ole d'absorber l'espace. -\endconcept - - -\concept hauteur - -La \defterm{hauteur} d'une \refterm{bo\^\i te} est la distance \`a laquelle la bo\^\i te -s'\'etend au dessus de sa \refterm{ligne de base}. -^^{\boites//hauteur de} -\endconcept - - -\conceptindex{hbox} -\concept hbox - -Une \defterm{hbox} (bo\^\i te horizontale) est une \refterm{bo\^\i te} que \TeX\ -construit en plaquant les articles d'une \refterm{liste horizontale} l'un -apr\`es l'autre, de la gauche vers la droite. -^^{listes horizontales//hbox form\'es \`a partir de} -Une hbox, prise comme unit\'e, n'est ni -fondamentalement horizontale ni fondamentalement verticale, c'est-\`a-dire, -qu'elle peut appara\^\i tre comme un -article soit d'une liste horizontale soit d'une \refterm{liste verticale}. -Vous pouvez construire une hbox avec la commande |\hbox| \ctsref{\hbox}. -\endconcept - - -\conceptindex{insertions} -\concept insertion - -\looseness = -1 -Une \defterm{insertion} est une liste verticale contenant du mat\'eriel devant -\^etre ins\'er\'e sur une page quand \TeX\ a fini de construire cette page\footnote -{\tighten -\TeX\ lui-m\^eme n'ins\`ere pas le mat\'eriel---il rend juste le mat\'eriel accessible -\`a la routine de sortie, qui est alors responsable de la transf\'erer sur la -page compos\'ee. -^^{routine de sortie//insertions, traitement de} -Le seul effet imm\'ediat de la commande ^|\insert| -\ctsref{\insert} est de changer les calculs de coupure de page de \TeX\ pour -qu'il laisse de la place sur la page pour le mat\'eriel \`a ins\'erer. Plus tard, -quand \TeX\ coupera r\'eellement la page, il divisera le mat\'eriel \`a ins\'erer en -deux groupes~: le mat\'eriel qui passe sur la page courante et le mat\'eriel qui -ne passe pas. -^^{coupures de page//insertions sur des} -Le mat\'eriel qui passe sur la page est plac\'e dans des registres de bo\^\i te, un -par insertion et le mat\'eriel qui ne passe pas est transf\'er\'e sur la page -suivante. -Cette proc\'edure autorise \TeX\ \`a faire des choses comme distribuer des parties -d'une longue note de pied de page sur plusieurs pages cons\'ecutives.}. Des -exemples de telles insertions sont les notes de pied de page et les figures. -Les commandes \refterm{\plainTeX} pour cr\'eer des insertions sont -^|\footnote|, ^|\topinsert|, |\mid!-insert|, -^^|\midinsert| -et ^|\pageinsert|, aussi bien que la commande primitive ^|\insert| -elle-m\^eme (\pp\xrefn\footnote--\xrefn{endofinsert}). -Le m\'ecanisme de \TeX\ pour manipuler des insertions est plus compliqu\'e~; -voir les \knuth{pages~122--125}{142--146} pour les d\'etails. -\endconcept - - -\concept largeur - -^^{\boites//largeur de} -La \defterm{largeur} d'une \refterm{bo\^\i te} est le montant d'espace horizontal -qu'il occupe, c'est-\`a-dire, la distance de son cot\'e gauche \`a son cot\'e droit. -Le mat\'eriel compos\'e dans une bo\^\i te peut \^etre plus large que la bo\^\i te elle-m\^eme. -\endconcept - - - -\conceptindex{ligatures} -\concept ligature - -Une \defterm{ligature} est un simple caract\`ere qui remplace une -s\'e\-quence particuli\`ere de caract\`eres adjacents dans un document compos\'e. -Par exemple, le mot `|office|' est compos\'e \hbox{``office''} et non -\hbox{``of{f}ice''}, par les syst\`emes de composition de haute qualit\'e. -La connaissance des ligatures est construite dans les \refterm{polices:police} -que vous utilisez, donc vous n'avez rien \`a faire pour que \TeX\ -les produise. (Vous pouvez emp\^echer la ligature d'``office'', comme nous -l'avons dit plus t\^ot, en saisissant `|of{f}ice|' dans votre entr\'ee.) -\TeX\ est aussi capable d'utiliser son m\'ecanisme de ligature pour composer -la premi\`ere ou la derni\`ere lettre d'un mot diff\'eremment de la m\^eme lettre -qui appara\^\i t au milieu d'un mot -Vous pouvez emp\^echer cet effet (si vous le rencontrez) en utilisant la -commande ^|\noboundary| (\xref\noboundary). - -Parfois, vous aurez besoin d'une ligature d'une langue europ\'eenne. -^^{langues europ\'eennes} -\TeX\ ne les produit pas automatiquement sauf si vous utilisez une police -dessin\'ee pour cette langue. Un certain nombre de ces ligatures, par exemple, -\AE, sont accessible par une commande -(voir ``Lettres et ligatures pour alphabets europ\'eens'', -\xref{fornlets}). -\endconcept - - -\conceptindex{lignes de base} -\concept ligne de base - -La \defterm{ligne de base} d'une \refterm{bo\^\i te} est une ligne imaginaire qui traverse -la bo\^\i te. -^^{\boites//lignes de base de} -Quand \TeX\ -assemble les bo\^\i tes d'une \refterm{liste horizontale} en une bo\^\i te plus grande, -il aligne les bo\^\i tes de la liste pour que leurs lignes de base co\"\i ncident. -Par analogie, pensez que vous \'ecrivez sur un bloc de papier lign\'e. Chaque lettre -que vous \'ecrivez a -une ligne de base implicite. -Pour aligner les lettres horizontalement, -vous les placez sur le bloc pour que leurs lignes de base -s'ajustent avec les lignes-guides claires imprim\'ees sur le bloc. - -Une bo\^\i te peut et souvent doit s'\'etendre sous sa ligne de base. -Par exemple, la lettre `g' s'\'etend sous la ligne de base de sa bo\^\i te parce -qu'elle a une descendante (la boucle du dessous du `g'). -\endconcept - - -\conceptindex{listes} -\concept liste - -Une \defterm{liste} est une s\'equence d'\refterm{\'el\'ements:\'el\'ement} -(\refterm{bo\^\i tes:bo\^\i te}, \refterm{ressorts:ressort}, \refterm{cr\'enages:cr\'enage}, etc.) -cela comprend tout le contenu d'une hbox, d'une vbox -ou d'une formule math\'ematique. -Voir \conceptcit{liste horizontale}, \conceptcit{liste verticale}. - -\endconcept - - -\conceptindex{listes horizontales} -\concept {liste horizontale} - -Une \defterm{liste horizontale} est une liste d'articles -que \TeX\ a produit quand il \'etait dans un de ses -\refterm{modes horizontaux:mode horizontal}, c'est-\`a-dire, en assemblant -soit un paragraphe soit une hbox. Voir ``mode horizontal'' ci-dessous. -\endconcept - - -\conceptindex{listes verticales} -\concept {liste verticale} - -Une \defterm{liste verticale} est une liste d'\'el\'ements que \TeX\ a produit quand il -\'etait dans une de ses modes vertical, c'est-\`a-dire, en assemblant soit une -\refterm{vbox} soit une page. Vois ``mode vertical'' ci-dessous. - -\endconcept - - -\conceptindex{macros} -\concept macro - -{% Use a brace here so that definitions of explanatory macros remain local. -% The closing brace is at the end of the concept. -Une \defterm{macro} est une d\'efinition qui donne un nom \`a un mod\`ele de texte -d'entr\'ee de \TeX\footnote{Plus pr\'ecis\'ement, la d\'efinition donne un nom -\`a une s\'equence de tokens.}. Le nom peut \^etre soit une \refterm{s\'equence de -contr\^ole} soit un \refterm{caract\`ere actif}. Le mod\`ele est appel\'e le -``texte de remplacement''. La commande primaire pour d\'efinir des macros est -la s\'equence de contr\^ole |\def|. - -\def\arctheta{\cos \theta + i \sin \theta} -Comme exemple simple, supposez que vous ayez un document dans lequel -la s\'equence `$\cos \theta + i \sin \theta$' appara\^\i t plusieurs fois. -Au lieu de l'\'ecrire \`a chaque fois, vous pouvez d\'efinir une macro pour cela~: -\csdisplay -\def\arctheta{\cos \theta + i \sin \theta} -| -Maintenant \`a chaque fois que vous avez besoin de cette s\'equence, vous pouvez -simplement ``appeler'' la macro en \'ecrivant `|\arctheta|' et vous l'aurez. -Par exemple, `|$e^{\arctheta}$|' vous donnera `$e^{\arctheta}$'. - -\bix^^{macros//param\`etres de} -Mais la r\'eelle puissance des macros tient au fait qu'une macro peut avoir des -param\`etres. Quand vous appelez une macro qui a des param\`etres, vous fournissez -des arguments qui se substituent \`a ces param\`etres. Par exemple, supposez -que vous \'ecrivez~: -\pix\indexchar # -\def\arc#1{\cos #1 + i \sin #1} -\csdisplay -\def\arc#1{\cos #1 + i \sin #1} -| - -La notation |#1| \xrdef{@msharp} d\'esigne le premier param\`etre -de la macro, qui dans ce cas n'a qu'un param\`etre. Vous pouvez maintenant -produire une forme similaire, telle que `$\arc{2t}$', avec l'appel de macro -`|\arc{2t}|'. - -Plus g\'en\'eralement, une macro peut avoir jusqu'a neuf param\`etres, que vous -d\'esignez par `|#1|', `|#2|', etc\null. dans la d\'efinition de la macro. \TeX\ -fourni deux types de param\`etres~: les param\`etres d\'elimit\'es et les param\`etres -non d\'elimit\'es. Bri\`evement, un param\`etre d\'elimit\'e a un \refterm{argument} qui -est d\'elimit\'e ou termin\'e par une s\'equence sp\'ecifique de tokens (le d\'elimiteur), -tandis qu'un param\`etre non d\'elimit\'e a un argument qui n'a pas besoin de -d\'elimiteur pour le terminer. -Premi\`erement, nous expliquerons comment fonctionnent les macros quand elles -n'ont que des param\`etres non d\'elimit\'es, et ensuite, nous expliquerons comment -elles fonctionnent quand elles ont des param\`etres d\'elimit\'es. - -^^{param\`etres//non d\'elimit\'es} -Si une macro n'a que des param\`etres non d\'elimit\'es, ces param\`etres doivent appara\^\i tre -l'un apr\`es l'autre dans la d\'efinition de macro \emph{sans rien entre -eux ou entre le dernier param\`etre et l'accolade gauche au d\'ebut du -texte de remplacement}. -Un appel d'une telle macro consiste en le nom de la macro suivi par -les arguments de l'appel, un pour chaque param\`etre. Chaque argument est -soit~: - -\ulist \compact -\li un \refterm{token} simple autre qu'un accolade gauche ou droite ou - -\li une s\'equence de tokens englob\'e entre une accolade gauche et -une accolade droite correspondante\footnote{L'argument peut avoir des paires -d'accolades englobantes et chacune de ces paires peut d\'esigner soit -un \refterm{groupe} soit un autre argument de macro.}. -\endulist - -Quand \TeX\ rencontre une macro, il d\'eveloppe la macro dans son \oe so\-phage -\seeconcept{\anatomy} -en substituant chaque argument par le param\`etre correspondant -dans le texte de remplacement. Le texte r\'esultant peut contenir d'autres -appels de macro. Quand \TeX\ rencontre un tel appel de macro imbriqu\'e, il -d\'eveloppe cet appel imm\'ediatement sans regarder ce qui suit l'appel -\footnote{En terminologie informatique, le d\'eveloppement est ``profondeur -d'abord'' plut\^ot que ``largeur d'abord''. Notez que vous pouvez modifier l'ordre -du d\'eveloppement avec des commandes telles que |\expandafter|.}. Quand -l'\oesophage de \TeX\ tombe sur une \refterm{commande} \refterm{primitive} -qui ne peut \^etre d\'evelopp\'ee plus loin, \TeX\ passe cette commande \`a l'estomac -de \TeX. L'ordre de d\'eveloppement est parfois critique, donc de fa\c con \`a vous -aider \`a le comprendre, nous vous donnons un exemple de \TeX\ au travail. - -Supposez que vous procurez \`a \TeX\ l'entr\'ee suivante~: -\csdisplay -\def\a#1#2{\b#2#1\kern 2pt #1} -\def\b{bb} -\def\c{\char49 cc} -\def\d{dd} -\a\c{e\d} % Call on \a. -| -Alors l'argument correspondant \`a |#1| est |\c|, -et l'argument correspondant \`a |#2| est |e\d|. -\TeX\ d\'eveloppe l'appel de macro d'apr\`es les \'etapes suivantes~: - -{\vskip\abovedisplayskip\obeylines % ugly -|\b e\d\c\kern 2pt \c| -|bbe\d\c\kern 2pt \c| -|\d\c\kern 2pt \c|\quad(`|b|', `|b|', `|e|' envoy\'es vers l'estomac) -|dd\c\kern 2pt \c| -|\c\kern 2pt \c|\quad(`|d|', `|d|' envoy\'es vers l'estomac) -|\char49 cc\kern 2pt \c| -|\c|\quad(`|\char|', `|4|', `|9|', `|c|', `|c|', % -`|\kern|', `|2|', `|p|', `|t|' envoy\'es vers l'estomac) -|\char49 cc| -(`|\char49|', `|c|', `|c|' envoy\'es vers l'estomac) -\vskip\belowdisplayskip} - -\noindent Notez que les lettres `|b|', `|c|', `|d|' et `|e|' et les -s\'equences de contr\^ole `|\kern|' et `|\char|' sont toutes des commandes -primitives qui ne peuvent \^etre d\'evelopp\'ees. - -\bix^^{param\`etres//d\'elimit\'es} -Une macro peut aussi avoir des ``param\`etres d\'elimit\'es'', qui peuvent \^etre m\'elang\'es avec -des non d\'elimit\'es dans toutes les combinaisons. L'id\'ee d'un param\`etre -d\'elimit\'e est que \TeX\ trouve l'argument correspondant en recherchant -une certaine s\'equence de tokens qui marquent la fin de l'argument---le -d\'elimiteur. Cela fait, quand \TeX\ recherche un tel argument, il -prend comme argument tout les tokens \`a partir de la position courante de \TeX\ -mais sans inclure le d\'elimiteur. - -Vous indiquez un param\`etre d\'elimit\'e en \'ecrivant `|#|$n$' ($n$ -doit \^etre entre $0$ -et $9$) suivi par un ou plusieurs tokens qui agissent comme le d\'elimiteur. -Le d\'elimiteur s'\'etend jusqu'au prochain `|#|' ou `|{|'---qui ont un sens -car `|#|' d\'ebute un autre param\`etre et `|{|' le texte de remplacement. - -Le d\'elimiteur ne peut \^etre `|#|' ou `|{|', donc vous pouvez appeler un param\`etre -d\'elimit\'e \`a partir d'un non d\'elimit\'e en recherchant ce qui le suit. - -Si le caract\`ere apr\`es le param\`etre est `|#|' ou `|{|', vous avez un -param\`etre non d\'elimit\'e~; autrement il sera d\'elimit\'e. Notez -la diff\'erence dans les arguments pour les deux sortes de param\`etres---un -param\`etre non d\'elimit\'e est d\'esign\'e soit par un simple token, soit par une -s\'equence de tokens englob\'es entre des accolades, tandis qu'un param\`etre -d\'elimit\'e est d\'esign\'e par n'importe quel nombre de tokens, m\^eme aucun. - -Un exemple de macro utilisant deux param\`etres d\'elimit\'es est~: -\def\diet#1 #2.{On #1 we eat #2!} -\csdisplay -\def\diet#1 #2.{On #1 we eat #2!!} -| -Ici le premier param\`etre est d\'elimit\'e par un simple espace et le -second param\`etre est d\'elimit\'e par un point. Si vous saisissez~: -\csdisplay -\diet Tuesday turnips. -| -vous obtiendrez le texte ``\diet Tuesday turnips.''. -Mais si les tokens d\'elimitants sont englob\'es dans un groupe, \TeX\ -ne les consid\`ere pas d\'elimit\'es. Donc si vous \'ecrivez~: -\csdisplay -\diet {Sunday mornings} pancakes. -| -vous obtiendrez le texte `\diet {Sunday mornings} pancakes.' -m\^eme s'il y a un espace entre `|Sunday|' et `|morning|'. -Quand vous utilisez un espace comme d\'elimiteur, -un caract\`ere fin de ligne d\'elimite aussi normalement l'argument -car \TeX\ convertit la fin de ligne en espace avant que le m\'ecanisme de -macro ne le voit. -\eix^^{param\`etres//d\'elimit\'es} -\eix^^{macros//param\`etres de} - -Il arrivera que vous ayez \`a d\'efinir une macro qui ait `|#|' comme caract\`ere -significatif. Vous aurez plus de chance d'avoir besoin de faire cela quand -vous d\'efinirez une macro qui \`a son tour d\'efinit une seconde macro. Comment -faire \`a propos des param\`etres de la seconde macro sans mettre \TeX\ -dans la confusion~? La r\'eponse est que vous saisissez deux `|#|' pour chacun -de ceux que vous voulez quand la premi\`ere macro est d\'evelopp\'ee. Par exemple, -supposons que vous \'ecriviez la d\'efinition de macro~: -\def\first#1{\def\second##1{#1/##1}} -\csdisplay -\def\first#1{\def\second##1{#1/##1}} -| -Alors l'appel `|\first{One}|' d\'efini `|\second|' comme~: -\csdisplay -\def\second#1{One/#1} -| -et l'appel cons\'ecutif `|\second{Two}|' produit le texte -\def\second#1{One/#1}% -`\second {Two}'. - -Un certain nombre de commandes fournissent des moyens suppl\'emen\-taires pour d\'efinir des macros -(voir pp.~\xrefn{mac1}--\xrefn{mac2}). -Pour les r\`egles com\-pl\`etes concernant les macros, voir le \knuth{chapitre~20}{} -}% close brace at the start of the `macro' concept. -\endconcept - - -\concept magnification - -Quand \TeX\ compose un document, il multiplie toutes les dimensions -par un facteur de -\refterm{magnification} $f/1000$, -o\`u $f$ est la valeur du param\`etre ^|\mag| \ctsref\mag. -Puisque la valeur par d\'efaut de |\mag| est $1000$, le cas normal est que -votre document est compos\'e comme il est sp\'ecifi\'e. -Augmenter la magnification est souvent utile quand vous composez un document -qui sera r\'eduit photographiquement. - -Vous pouvez aussi appliquer de la magnification sur une seule \refterm{police} -pour avoir une version plus petite ou plus grande de cette police que sa -``^{taille d'origine}''. Vous -devez procurer au driver d'impression un ^{fichier de forme} -\seeconcept{police} pour -chaque magnification de police que vous utilisez---% -a moins que la police ne soit construite dans votre imprimante et que votre driver -d'impression la connaisse. -Quand vous d\'efinissez une police avec la commande -|\font| \ctsref{\font}, vous pouvez sp\'ecifier une magnification avec -le mot `|scaled|'. Par exemple~: - -\csdisplay -\font\largerbold = cmbx10 scaled 2000 -| -d\'efinit `|\largerbold|' comme une police qui est -deux fois plus grande que |cmbx10| (Computer Modern -Grasse Etendue en $10$ points) et a les formes de caract\`ere -uniform\'ement agrandies d'un facteur de~$2$. - -De nombreux centres informatiques trouvent pratique de fournir des polices -agrandies par un ratio -de $1.2$, correspondant \`a des valeurs de magnification de $1200$, $1440$, etc. -\TeX\ a des noms sp\'eciaux pour ces valeurs~: -^^|\magstep| -`|\magstep1|' pour $1200$, -`|\magstep2|' pour $1440$, et ainsi de suite jusqu'a `|\magstep5|'. -La valeur sp\'eciale `^|\magstephalf|' correspond \`a une magnification de $\sqrt{1.2}$, qui -est visuellement \`a mi-chemin entre `|\magstep0|' (pas de magnification) et -`|\magstep1|'. Par exemple~: - -\csdisplay -\font\bigbold = cmbx10 scaled \magstephalf -| - -Vous pouvez sp\'ecifier une \refterm{dimension} comme elle sera -mesur\'ee dans le document final ind\'ependamment des magnifications en mettant -`^|true|' devant l'unit\'e. Par exemple, `|\kern 8 true pt|' -produit un cr\'enage de $8$ points quelque soit la magnification. - -\endconcept - -\concept marges - -Les \refterm{marges} -d'une page d\'efinissent un rectangle qui normalement -contient la mati\`ere imprim\'ee sur la page. -Vous pouvez demander \`a \TeX\ d'imprimer du mat\'eriel en dehors de ce rectangle, -mais uniquement en demandant des actions explicites qui d\'eplacent le mat\'eriel -\`a cet endroit. \TeX\ consid\`ere les ent\^etes et les pieds de page comme \'etant -en dehors des marges. - -Le rectangle est d\'efini en fonction de son coin en haut \`a gauche, de sa largeur, et -de sa profondeur. L'emplacement du coin en haut \`a gauche est d\'efini par -les param\`etres ^|\hoffset| -et ^|\voffset| -\ctsref\voffset. L'usage est de placer ce coin \`a un pouce du haut -et \`a un pouce du bord gauche de la page, correspondant \`a une valeur de -z\'ero pour |\hoffset| et |\voffset|% -\footnote{Il nous semble qu'il s'agisse d'une convention bizarre. -Il aurait \'et\'e plus naturel d'avoir le point $(0,0)$ -pour |\hoffset| et |\voffset| dans le coin en haut \`a gauche du -papier et d'avoir leur valeur par d\'efaut \`a un pouce.}. -La largeur du rectangle est donn\'e par ^|\hsize| et la profondeur par ^|\vsize|. - -Les implications de ces conventions sont~: -\ulist\compact -\li La marge gauche est donn\'ee par |\hoffset|\tplus|1in|. -\li La marge droite est donn\'ee par la largeur du papier moins - |\hoffset|\tplus|1in|\tplus|\hsize|. -\li La marge du haut est donn\'ee par |\voffset|\tplus|1in|. -\li La marge du bas est donn\'ee par la longueur du papier moins - |\voff!-set|\tplus|1in|\tplus|\vsize|. -\endulist -A partir de ces informations vous pouvez voir quels param\`etres vous devez -changer pour modifier les marges. - -Chaque changement que vous faites \`a |\hoffset|, |\voffset| ou |\vsize| prendra -effet la prochaine fois que \TeX\ d\'ebutera une page. En d'autres termes, si vous -les changez dans une page, le changement n'affectera que la page \emph{suivante}. -Si vous changez |\hsize|, le changement deviendra effectif imm\'ediatement. -\endconcept - - -\conceptindex{marques} -\concept marque - -Une \defterm{marque} est un \'el\'ement que vous pouvez ins\'erer dans une -liste horizontale, verticale ou math\'ematique et plus tard la retrouver dans -votre routine de sortie. Les marques sont utiles pour des usages tels que -garder une trace des sujets apparents dans des ent\^etes de page. -Chaque marque a une liste de tokens---le ``^{texte de marque}''---associ\'e avec elle. -La commande ^|\mark| \ctsref{\mark} attend une telle liste de token -comme son argument, et attend un \'el\'ement contenant cette liste de token (apr\`es -expansion) pour toute liste que \TeX\ est en train de construire. -Les commandes ^|\topmark|, ^|\firstmark| et ^|\botmark| -\ctsref{\topmark} peuvent \^etre utilis\'ees pour retrouver diverses marques sur une page. -Ces commandes sont le plus souvent utilis\'ees dans les ent\^etes et les pieds de page. -^^{pieds de page//marques utilis\'es en} -^^{ent\^etes//marques utilis\'es en} - -\margin{This example of {\tt\\mark} replaces the previous explanatory -paragraph.} -Voici un exemple simplifi\'e. -Supposez que vous d\'efinissiez une macro d'ent\^ete de section comme suit~: -\csdisplay -\def\section#1{\medskip{\bf#1}\smallskip\mark{#1}} -% #1 is the name of the section -| -^^|\mark| -Cette macro, quand elle est appel\'ee, produira un ent\^ete de section en caract\`eres gras et -enregistrera aussi le nom de la section comme marque. -Vous pouvez maintenant d\'efinir l'ent\^ete de chaque page imprim\'ee -comme suit~: -\csdisplay -\headline = {\ifodd\pageno \hfil\botmark\quad\folio - \else \folio\quad\firstmark\hfil \fi} -| -Chaque page paire (celle de gauche) aura maintenant le num\'ero de page suivi par -le nom de la premi\`ere section de cette page, tandis que chaque page impaire (celle de droite) -aura le num\'ero de page suivi du nom de la derni\`ere section de cette page. -Les cas sp\'eciaux, par exemple, pas de section commen\c cant sur une page, -s'afficheront g\'en\'eralement correctement gr\^ace \`a la mani\`ere dont travaillent -^|\firstmark| et ^|\botmark|. - -Quand vous partagez une page en utilisant la commande |\vsplit| \ctsref{\vsplit} vous -pouvez retrouver les textes de la premi\`ere et de la derni\`ere marque de la -portion non partag\'ee avec les commandes ^|\splitfirstmark| et ^|\splitbotmark| -\ctsref{\splitfirstmark}. - -Voir les \knuth{pages~258--260}{302--305} pour une explication plus pr\'ecise sur la -fa\c con de cr\'eer et retrouver des marques. -\endconcept - - -\conceptindex{mathcodes} -\concept mathcode - -Un \defterm{mathcode} est un nombre que \TeX\ utilise pour identifier et -d\'ecrire un caract\`ere math\'ematique, -^^{caract\`eres math\'ematiques//d\'ecrits par mathcodes} -c'est-\`a-dire, un caract\`ere qui a un -r\^ole particulier dans une formule math\'ematique. Un mathcode -transmet trois sortes -d'informations sur un caract\`ere~: sa position dans la \refterm{police}, sa -\refterm{famille} et sa \refterm{classe}. -Chacun des $256$ caract\`eres entr\'es possibles -a un mathcode, qui est d\'efini par le programme \TeX\ -mais peut \^etre chang\'e. - -^^{famille//comme partie de mathcode} -\TeX\ a seize familles de police, num\'erot\'ees $0$--$15$. Chaque -famille con\-tient trois polices~: une pour la \refterm{taille texte}, une pour -la \refterm{taille script} et une pour la \refterm{taille scriptscript}. \TeX\ -choisi la taille d'un caract\`ere particulier et donc sa police, -en fonction du contexte. La classe d'un caract\`ere sp\'ecifie son r\^ole -dans une formule (voir la \knuth{page~154}{180}). Par exemple, le signe \'egal `|=|' -est dans la classe $3$ (relation). \TeX\ utilise sa connaissance des classes -de caract\`eres quand il d\'ecide combien d'espace mettre entre diff\'erents -composants d'une formule math\'ematique. - -La meilleure fa\c con de comprendre ce que sont les mathcodes est de voir comment -\TeX\ les utilise. Nous montrons ce que \TeX\ fait avec un -token de caract\`ere $t$ de \refterm{code de cat\'egorie}~11 ou~12 dans une -formule math\'ematique~: - -\olist\compact -\li Il recherche le mathcode du caract\`ere. -\li Il d\'etermine une famille $f$ \`a partir du mathcode. -\li Il d\'etermine la taille $s$ \`a partir du contexte. -\li Il s\'electionne une police $F$ en prenant la police de taille $s$ dans la famille $f$. -\li Il d\'etermine un num\'ero de caract\`ere $n$ \`a partir du mathcode. -\li Il s\'electionne comme caract\`ere $c$ devant \^etre compos\'e le caract\`ere -\`a la position $n$ de la police $F$. -\li Il ajuste l'espacement autour de $c$ en fonction de la classe de $t$ et -du contexte ambiant. -\li Il compose le caract\`ere $c$. -\endolist - -La d\'ependance du contexte dans les \'etapes -(3) et (7) implique que \TeX\ ne peut pas composer un caract\`ere math\'ematique -tant qu'il n'a pas vu toute la formule contenant le -caract\`ere math\'ematique. Par exemple, dans la formule -`|$a\over b$|', \TeX\ ne sait pas quelle taille aura le `|a|' tant qu'il -n'aura pas vu le |\over|. - -{\tighten -Le mathcode d'un caract\`ere est encod\'e en fonction de la formule $4096c -+ 256f + n$, o\`u $c$ est la classe du caract\`ere, $f$ sa -\refterm{famille} et $n$ son code de \refterm{caract\`ere \ascii} dans -la famille. Vous pouvez changer l'interpr\'etation de \TeX\ pour un caract\`ere entr\'e -dans un mode math\'ematique en assignant une valeur \`a la table d'entr\'ee des ^|\mathcode| -\ctsref{\mathcode} pour ce -caract\`ere. Le caract\`ere doit avoir un -\refterm{code de cat\'egorie} \`a $11$ (lettre) ou $12$ (autre) pour que \TeX\ -recherche son |\mathcode|. -}\par - -^^{famille//variable} -Vous pouvez d\'efinir un caract\`ere math\'ematique pour avoir une famille ``variable'' en -lui donnant une classe de $7$. A chaque fois que \TeX\ rencontre ce caract\`ere dans une -formule math\'ematique, il prend la famille du caract\`ere comme \'etant la valeur -courante du param\`etre |\fam| \ctsref{\fam}. Une famille variable vous autorise -\`a sp\'ecifier la police de texte ordinaire dans une formule math\'ematique. Par -exemple, si le caract\`ere romain est dans la famille $0$, l'assignement -|\fam = 0| -fera que le texte ordinaire d'une formule math\'ematique sera mis en type romain -au lieu d'autre chose comme du type math\'ematique italique. Si la valeur de -|\fam| n'est pas dans la fourchette de $0$ \`a $15$, \TeX\ prend la valeur \`a -$0$, ainsi le rendu des classes $0$ et $7$ est \'equivalent. -\TeX\ fixe |\fam| \`a $-1$ a chaque fois qu'il entre en mode math\'ematique. -\endconcept - - -\conceptindex {math\'ematiques affich\'ees} -\concept {math\'ematique affich\'ee} - -Le terme \defterm{math\'ematique affich\'ee} fait r\'ef\'e\-rence aux formules math\'ematiques que \TeX\ -place sur une ligne seule avec de l'espace suppl\'ementaire dessus et dessous -pour le s\'eparer du texte l'environnant. -Une formule math\'ematique affich\'ee est entour\'ee de `|$$|'. -\ttidxref{$$} -\TeX\ lit les math\'ematiques affich\'ees dans le \refterm{mode} math\'ematiques affich\'ees. -\endconcept - - -\concept m\'ediocrit\'e - -La \defterm{m\'ediocrit\'e} d'une ligne mesure combien les tailles des espaces -inter-mot ^^{espacement inter-mots} de la ligne d\'evient de leurs valeurs -naturelles, c'est-\`a-dire, des valeurs sp\'ecifi\'ees dans les -\refterm{polices:police} utilis\'ees dans la ligne. Plus grande est la -d\'eviation, plus grande est la m\'ediocrit\'e. Similairement, la m\'ediocrit\'e d'une -page est une mesure de combien les espaces entre les bo\^\i tes qui dessinent -la page d\'evient de leurs valeurs id\'eales. (Ordinairement, la plupart de ces -bo\^\i tes sont des lignes simples de paragraphes.) - -Plus pr\'ecis\'ement, la m\'ediocrit\'e mesure de combien le \refterm{ressort} -associ\'e avec ces espaces doit s'\'etirer ou se r\'etr\'ecir pour remplir la -ligne ou la page exactement. \TeX\ calcule la m\'ediocrit\'e comme -approximativement $100$ fois le cube du ratio par lequel il doit \'etirer ou -r\'etr\'ecir le ressort pour composer une ligne ou une page de la taille d\'esir\'ee. -^^{coupures de ligne//m\'ediocrit\'e pour}^^{coupures de page//m\'ediocrit\'e pour} Par exemple, -\'etirer le ressort par deux fois son \'etat d'\'etirement signifie un ratio de -$2$ et une m\'ediocrit\'e de $800$~; la r\'etr\'ecir de moiti\'e son \'etat de r\'etr\'ecissement -signifie un ratio de $.5$ et une m\'ediocrit\'e de $13$. \TeX\ traite une m\'ediocrit\'e -sup\'erieure \`a $10000$ comme \'etant \'egale \`a $10000$. - -\TeX\ utilise la m\'ediocrit\'e d'une ligne quand il coupe un paragraphe en lignes -\seeconcept{coupure de ligne}. Il utilise cette information en deux \'etapes~: - -\olist -\li Quand \TeX\ choisi des coupures de ligne, -il acceptera \'eventuellement des lignes dont la m\'ediocrit\'e est inf\'erieure ou \'egale \`a -la valeur de |\tole!-rance| (\xref \tolerance). Si \TeX\ ne peut pas diminuer la conception -d'une ligne dont la m\'ediocrit\'e d\'epasse cette valeur, -il lui mettra un ``underfull ou overfull \refterm{hbox}''. -\TeX\ ne mettra -un ``overfull ou underfull hbox'' qu'en dernier ressort, c'est-\`a-dire, seulement s'il n'y a -pas d'autre moyen de d\'ecouper le paragraphe en lignes. -\li En assumant que toutes les lignes sont tol\'erablement mauvaises, \TeX\ utilise la m\'ediocrit\'e des lignes -pour \'evaluer les diff\'erents moyens de couper le paragraphe en lignes. -Durant cette \'evaluation il associe des ``d\'em\'erites'' avec chaque ligne potentielle. -La m\'ediocrit\'e augmente le nombre de \refterm{d\'em\'erites}. -\TeX\ alors -coupe le paragraphe en lignes d'une fa\c con qui minimise -le total des d\'em\'erites pour le paragraphe. -Plus -souvent \TeX\ arrange le paragraphe pour minimiser la m\'ediocrit\'e de la -ligne la pire. Voir \knuth{pages~97--98}{114--115} pour les d\'etails comment \TeX\ -coupe un paragraphe en lignes. -\endolist - -La proc\'edure de \TeX\ pour assembler une s\'equence de lignes et autres mati\`eres en modes verticaux -en pages est similaire \`a sa proc\'edure de coupure de ligne. -De toutes fa\c cons, assembler des pages n'est pas aussi compliqu\'e parce que -\TeX\ ne consid\`ere qu'une page \`a la fois -quand il cherche des coupures de page. -Donc la seule d\'ecision qu'il doit prendre est o\`u finir la page courante. -De plus, quand \TeX\ choisit des coupures de ligne il en -consid\`ere plusieurs simultan\'ement. -(La plupart des traitements de texte choisissent des coupures de ligne une \`a la fois, -et donc ne font pas un aussi bon boulot que celui que fait \TeX\.) -Voir \knuth{pages~111--113}{129--131} pour les d\'etails sur comment \TeX\ choisit ses -coupures de page. -\endconcept - - -\conceptindex{modes} -\concept mode - -Quand \TeX\ dig\`ere votre entr\'ee dans son estomac \seeconcept{\anatomy}, -il est dans un des six \defterm{modes}~: -\ulist\compact -\li ^{mode horizontal ordinaire} (assemblage d'un paragraphe) -\li ^{mode horizontal restreint} (assemblage d'une \refterm{hbox}) -\li ^{mode vertical ordinaire} (assemblage d'une page) -\li ^{mode vertical restreint} (assemblage d'une \refterm{vbox}) -\li ^{mode math\'ematique de texte} (assemblage d'une formule apparaissant dans du texte) -\li ^{mode math\'ematique hors-texte} -(assemblage d'une formule apparaissant sur une ligne seule) -^^{mode horizontal}^^{mode vertical}^^{mode math\'ematique} -\endulist -Le mode d\'ecrit une sorte d'entit\'e que \TeX\ rassemble. - -Parce que vous pouvez encastrer une sorte d'entit\'e avec une autre, c'est-\`a-dire, une vbox -dans une formule, \TeX\ garde trace non seulement d'un mode mais d'une -liste enti\`ere de modes (ce qu'un informaticien appelle une ``pile''). -Supposez que \TeX\ soit en mode $M$ et rencontre quelque chose qui le -met dans une nouveau mode \Mprimeperiod. Quand il termine son travail dans -le mode \Mprimecomma, il reprend ce qu'il faisait dans le mode \Mperiod. - -\endconcept - - -\concept {mode horizontal} - -^^{hbox//mode horizontal pour} -Quand \TeX\ assemble un paragraphe ou une \refterm{hbox}, il est dans un -des deux \defterm{modes horizontaux}~: le ^{mode horizontal ordinaire} -pour assembler des paragraphes et le ^{mode horizontal restreint} pour -assembler des bo\^\i tes horizontales. A chaque fois que \TeX\ est dans un mode horizontal -son estomac \seeconcept{\anatomy} construit une \refterm{liste horizontale} -d'articles (bo\^\i tes, ressort, p\'enalit\'es, etc.). -\TeX\ compose les articles dans la liste -l'un apr\`es l'autre, de gauche \`a droite. - -Une liste horizontale ne peut contenir aucun -article produit par des commandes verticales internes, par exemple, |\vskip|. -^^{listes horizontales//ne peuvent contenir de commandes verticales} - -\ulist -\li Si \TeX\ assemble une liste horizontale dans le mode horizontal ordinaire et -rencontre une commande verticale interne, \TeX\ termine le paragraphe et -entre dans le \refterm{mode vertical}. - -\li Si \TeX\ assemble une liste horizontale dans le mode horizontal -interne et rencontre une commande verticale interne, il rousp\`ete. -\endulist - -Deux commandes que vous pensez d'abord horizontales internes -sont en fait verticales internes~: |\halign| \ctsref{\halign} -et |\hrule| \ctsref{\hrule}. -^^|\hrule//vertical par nature| -^^|\halign//vertical par nature| -voir la \knuth{page~286}{332} pour une liste -des commandes verticales internes. - -{\tighten -Vous devez faire attention \`a une subtile mais importante propri\'et\'e du mode -horizontal interne~: \emph{vous ne pouvez pas entrer en mode horizontal interne -quand vous \^etes en mode horizontal normal}. Ce que cela signifie en pratique -est que quand \TeX\ assemble une hbox il n'appr\'ehendera pas un texte en -paragraphe, c'est-\`a-dire, du texte pour lequel il ferait une \refterm{coupure -de ligne}. Vous pouvez contourner cette restriction en englobant le texte en -paragraphe dans une \refterm{vbox} \`a l'int\'erieur de l'hbox. la m\^eme m\'ethode -marche si vous voulez mettre, disons un \refterm{alignement} horizontal dans -un~hbox. -}% end scope of tighten - -\endconcept - - -\concept {mode math\'ematique} - -{\tighten -Un \defterm{mode math\'ematique} est un \refterm{mode} dans lequel \TeX\ -construit une formule math\'ematique. \TeX\ a deux modes math\'ematiques diff\'erents~: Le -^{mode math\'ematique de texte} construit une formule devant \^etre englob\'ee dans une ligne de texte, -tanfis que le ^{mode math\'ematique d'affichage} construit une formule devant -appara\^\i tre seul sur une ligne. Vous indiquez le mode math\'ematique de texte -en englobant la formule entre |$| et dans le mode math\'ematique d'affichage en -englobant la formule entre |$$|. -%\TeX\ will accept most \refterm{commands:command} in -%math mode. If it encounters a command in math mode that doesn't make -%sense in a formula, it will complain. -Une propri\'et\'e importante des deux modes math\'ematiques est que les -\emph{espace saisis ne comptent pas}. Voir les -\knuth{pages~290--293}{338--342} pour des d\'etails sur la fa\c con dont \TeX\ r\'epond aux -diff\'erentes commandes en mode math\'ematique. -\par} - -\endconcept - - -\concept {mode ordinaire} - -Le \defterm{mode ordinaire} est le \refterm{mode} dans lequel est \TeX\ quand -il assemble un paragraphe en lignes ou assemble des lignes -en une page. Voir \conceptcit{mode horizontal}, \conceptcit{mode vertical}. -\endconcept - - -\concept {mode restreint} - -Le \defterm{mode restreint} est le \refterm{mode} dans lequel est \TeX\ quand -il assemble une \refterm{hbox} ou une \refterm{vbox}. -Nous suivons \texbook\ dans l'utilisation du terme ``mode vertical interne'' -pour ce que vous vous attendez \^etre un ``mode vertical restreint''. -Voir \conceptcit{mode horizontal} et \conceptcit{mode vertical}. -\endconcept - - -\concept {mode vertical} - -^^{vbox//mode vertical pour} Quand \TeX\ assemble soit une -\refterm{vbox} soit la liste verticale principale dont les pages sont d\'eriv\'ees, -il est dans un des deux \defterm{modes verticaux}~: le ^{mode vertical ordinaire} -pour assembler la liste verticale principale et le ^{mode vertical restreint} -pour assembler les vbox. A chaque fois que \TeX\ est en mode vertical -son estomac \seeconcept{\anatomy} construit une \refterm{liste verticale} -d'\'el\'ements (bo\^\i tes, ressort, p\'enalit\'es, etc.). -\TeX\ compose les \'el\'ements de la liste -l'un apr\`es l'autre, de haut en bas. - -Une liste verticale ne peut pas contenir tous les \'el\'ements produits par -des commandes fondamentalement horizontales, c'est-\`a-dire, -^^{listes verticales//ne peuvent contenir de commandes horizontales} -|\hskip| ou un caract\`ere ordinaire (pas un espace) -\footnote{\TeX\ \emph{ignore} tout caract\`ere espace -qu'il rencontre quand il est dans un mode vertical.}. - -\ulist -\li Si \TeX\ assemble une liste verticale dans le mode vertical ordinaire et -rencontre une commande fondamentalement horizontale, il bascule vers le -\refterm{mode horizontal} ordinaire. -\li Si \TeX\ assemble une liste verticale dans le mode vertical interne et -rencontre une commande fondamentalement horizontale, il rousp\`ete. -\endulist - -Deux commandes auxquelles vous devez penser en premier qu'elles sont fondamentalement verticales sont -en fait fondamentalement horizontales~: |\valign| \ctsref{\valign} et |\vrule| -\ctsref{\vrule}. -^^|\valign//horizontal par nature| -^^|\vrule//horizontal par nature| -Voir la \knuth{page~283}{329} pour une liste des commandes -fondamentalement horizontales. - -Il est particuli\`erement important d'avoir conscience que \TeX\ consid\`ere un -caract\`ere ordinaire autre qu'un espace comme \'etant fondamentalement horizontal. -Si \TeX\ d\'ebute soudainement un nouveau paragraphe quand vous ne vous y -attendez pas une cause vraisemblable est un caract\`ere que \TeX\ a rencontr\'e -en \'etant en mode vertical. Vous pouvez convaincre \TeX\ de ne pas traiter ce -caract\`ere comme fondamentalement horizontal en l'englobant dans une -\refterm{hbox} puisque la commande |\hbox|, malgr\'e son nom, n'est ni -fondamentalement horizontale ni fondamentalement verticale. -\endconcept - - -\conceptindex{mots de contr\^ole} -\concept {mot de contr\^ole} - -Un \defterm{mot de contr\^ole} est une \refterm{s\'equence de contr\^ole} qui -est constitu\'e d'un \refterm{caract\`ere d'\'echappement} suivi d'une ou plusieurs -lettres\footnote{Une ``lettre'' ici a la strict signification d'un -caract\`ere de code de cat\'egorie $11$.}. -\TeX\ -ignore tout espace ou fin de ligne qui suit un mot de contr\^ole, sauf pour -noter qu'ils terminent le mot de contr\^ole. -^^{caract\`ere d'\'echappement} -\endconcept - - -\concept muglue - -Une \defterm{muglue} est une sorte de \refterm{ressort} -que vous ne pouvez utiliser que dans les formules math\'ematiques. -Elle est mesur\'ee en ^|mu| (\refterm{unit\'es math\'ematiques:unit\'e -math\'ematique}). -^^{unit\'es math\'ematiques}^^{ressort//math\'ematique} -Une |mu| est \'egale \`a \frac1/{18} em, o\`u -la taille d'un em est prise de la \refterm{famille} 2 des polices math\'ematiques. -\TeX\ ajuste automatiquement la taille de la muglue en fonction du contexte. -Par exemple, une taille de ressort de |2mu| est normalement plus petite dans un -sous-script que dans un texte ordinaire. -Vous devez utiliser la commande ^|\mskip| pour produire une muglue. -Par exemple, `|\mskip 4mu plus 5mu|' produit un ressort math\'ematique avec un -espace naturel de quatre |mu| et un \refterm{\'etirement} de cinq |mu|. - -\endconcept - - -\conceptindex{noms de fichier} -\concept {nom de fichier} - -Un \defterm{nom de fichier} nomme un -\refterm{fichier} qui est connu du ^{syst\`eme d'exploitation} -qui -supervise votre ex\'ecution de \TeX. La syntaxe d'un nom de fichier ne doit \emph{pas} -suivre les r\`egles usuelles de la syntaxe de \TeX\ et en fait est diff\'erente -selon les diff\'erentes impl\'emen\-ta\-tions de \TeX. -En particulier, la plupart des impl\'ementations de \TeX\ consid\`erent un nom de fichier -comme \'etant -termin\'e par un blanc ou une fin de ligne. Ainsi \TeX\ est susceptible de -mal interpr\'eter `|{\input chapter2}|' -en prenant l'accolade droite comme partie du nom de fichier. -Comme r\`egle g\'en\'erale, vous devez faire suivre un nom de fichier d'un blanc ou -d'une fin de ligne comme dans `|{\input chapter2!visiblespace}|'. - -\endconcept - - -\conceptindex{nombres} -\concept nombre - -En \TeX, un \defterm{nombre} est un entier positif ou n\'egatif. -Vous pouvez \'ecrire un nombre en \TeX\ de quatre fa\c cons diff\'erentes~: -\olist\compact -\li comme un entier d\'ecimal ordinaire, par exemple, |52| -\li comme un nombre octal, par exemple, |'14| ^^{nombres octaux} -\li comme un nombre hexad\'ecimal, par exemple, |"FF0| ^^{nombres hexad\'ecimaux} -\li comme le code d'un \refterm{caract\`ere \ascii}, par exemple, |`)| -ou |`\)| -\endolist -\noindent -Chacune de ces formes peut \^etre pr\'ec\'ed\'ee par `|+|' ou `|-|'. - -Un nombre octal ne peut avoir que les chiffres |0|--|7|. -^^{nombres octaux} -Un nombre hexa\-d\'ecimal peut avoir les chiffres |0|--|9| et -|A|--|F|, repr\'esentant -les valeurs de $0$ \`a $15$. -^^{nombres hexad\'ecimaux} -Vous ne pouvez, h\'elas, utiliser de lettres minuscules quand vous \'ecrivez un nombre hexad\'ecimal. -Si vous voulez des explications sur les nombres octaux et hexad\'ecimaux, -vous en trouverez dans les \knuth{pages~43--44}{53--54}. - -Un nombre d\'ecimal, octal ou hexad\'ecimal -se termine au premier caract\`ere qui ne peut faire partie du nombre. -Ainsi un nombre d\'ecimal se termine quand \TeX\ voit, disons, une lettre, -tandis qu'une lettre entre `|A|' et `|F|' ne terminera pas un nombre hexad\'ecimal. -Vous pouvez terminer un nombre avec un ou plusieurs espaces et normalement, -\TeX\ les ignorera\footnote{ -Quand vous d\'efinissez une macro qui se termine par un nombre, vous devez -toujours mettre un espace apr\`es ce nombre~; autrement, \TeX\ pourrait combiner -ce nombre avec autre chose.}. - -La quatri\`eme forme ci-dessus sp\'ecifie un nombre comme le code -\minref{\ascii} d'un caract\`ere. -^^{caract\`eres//codes \ascii\ pour} -\TeX\ ignore les espaces apr\`es cette forme de nombre aussi. -Vous pouvez \'ecrire un nombre de cette forme soit comme |`|$c$ soit comme |`\|$c$. -La seconde forme, bien que plus longue, a l'avantage que vous pouvez l'utiliser -avec \emph{tout} caract\`ere, m\^eme `|\|', `|%|', ou `|^^M|'. -En revanche, il y a un inconv\'enient plut\^ot technique~: quand \TeX\ d\'eveloppe -une s\'equence de tokens pour une commande telle que |\edef| ou |\write|, -^^|\edef//expansion de {\tt\\'\it c} en| -^^|\write//expansion de {\tt\\'\it c} en| -des occurrences de `|\|$c$' repr\'esentant un nombre sera aussi d\'evelopp\'ee - si elle peut l'\^etre. -C'est rarement l'effet que vous d\'esirez. - -Ce qui suit sont des repr\'esentations valides du nombre d\'ecimal -$78$~: -\csdisplay -78 +078 "4E '116 `N `\N -| - - -Vous ne pouvez utiliser un nombre dans du texte par lui-m\^eme car un nombre n'est pas -une commande. -N\'eanmoins, vous pouvez ins\'erer la forme d\'ecimale d'un nombre dans du texte -en mettant une commande ^|\number| (\xref\number) devant lui -ou la forme num\'erique romaine en mettant une commande ^|\romannumeral| -devant lui. - -Vous pouvez aussi utiliser des ^{constantes d\'ecimales}, -par exemple, des nombres avec une partie fractionnaire, -pour sp\'ecifier des dimensions \seeconcept{dimension}. -Une constante d\'ecimale a un ^{point d\'ecimal}, qui peut \^etre -le premier caract\`ere de la constante. Vous pouvez utiliser une -virgule au lieu d'un point pour repr\'esenter le point d\'ecimal. -Une constante d\'ecimale peut \^etre pr\'ec\'ed\'ee par un signe plus ou moins. -Ainsi `|.5in|', -`|-3.22pt|' et `|+1,5\baselineskip|' sont des dimensions valides. -Vous ne pouvez, par contre, utiliser de constantes d\'ecimales -dans tous les contextes \emph{autres} comme la partie ``facteur'' d'une dimension, -c'est-\`a-dire, son multiplicateur. - - -\endconcept - - -\concept outer - -\bix^^{macros//outer} -Une macro \defterm{outer} est une macro que vous ne pouvez utiliser dans -certains contextes o\`u \TeX\ assemble des tokens \`a grande vitesse. -Le but de rendre une commande outer est d'obliger \TeX\ \`a g\'en\'erer -des erreurs avant d'aller trop loin. -Quand vous d\'efinissez une macro, vous pouvez la rendre outer avec la commande -^|\outer| \ctsref\outer. - -Vous ne pouvez utiliser de macro outer dans aucun des contextes suivants~: -\ulist\compact -\li comme argument d'une macro -\li dans le texte param\`etre ou le texte de remplacement d'une d\'efinition -\li dans le pr\'eambule d'un alignement -\li dans la partie non ex\'ecut\'ee d'un test conditionnel -\endulist -\noindent -Un contexte outer est un contexte dans lequel vous pouvez utiliser une -macro outer, c'est-\`a-dire c'est tout contexte autre que ceux list\'es ci-dessus. - -Par exemple, l'entr\'ee suivante sera une utilisation interdite d'une macro outer -\csdisplay -\leftline{\proclaim Assertion 2. That which is not inner - is outer.} -| -La macro |\proclaim| (\xref{\@proclaim}) est d\'efinie en \plainTeX\ -comme \'etant outer, mais elle est utilis\'ee ici comme un macro argument \`a - |\leftline|. -\eix^^{macros//outer} - -\endconcept - - -\conceptindex{pages} -\concept page - -\TeX\ compile un document en assemblant des \defterm{pages} une par une -et en les passant \`a la routine de sortie. -Quand il lit votre document, \TeX\ maintient une liste des lignes -et d'autres \'el\'ements \`a placer sur la page. (Les lignes sont normalement des -hbox.) Cette liste est appel\'ee la ``^{liste verticale principale}''. -P\'eriodiquement \TeX\ rentre dans un processus appel\'e ``devoir du -^{constructeur de page}''. -Les \'el\'ements ajout\'es \`a la liste verticale principale entre les devoirs -du constructeur de page sont appel\'e ``^{contributions r\'ecentes}''. - -Le constructeur de page examine d'abord la liste verticale principale pour voir si elle -a besoin de d\'eposer une page maintenant, soit parce que les \'el\'ements sur la liste -verticale principale ne tiennent pas sur la page, soit parce que un \'el\'ement -sp\'ecifique, tel que |\eject| \ctsref\eject, demande \`a \TeX\ de finir la page. -S'il n'est pas n\'ecessaire de d\'eposer une page, alors le constructeur de page -est fait pour la prochaine fois. - -Autrement, le constructeur de page analyse la liste verticale principale pour -trouver ce qu'il consid\`ere comme \'etant la meilleure coupure de page possible. -Il associe des p\'enalit\'es avec plusieurs types de coupure de page peu attirantes---une -coupure qui laisse une ligne isol\'ee en haut ou en bas de la page, une coupure -juste avant un affichage math\'ematique, et ainsi de suite. Il choisit alors -la coupure de page la moins ch\`ere -o\`u le co\^ut d'une coupure est augment\'e de toute p\'enalit\'e associ\'ee avec cette -coupure et par la m\'ediocrit\'e de la page qui en r\'esulte -(voir la \knuth{page~111}{130} pour la formule du co\^ut). S'il trouve plusieurs -coupures de page de co\^ut identique, il choisit la derni\`ere. - -{\tighten -Une fois que le constructeur de page a choisi une coupure de page, -il place les \'el\'ements de la liste qui sont avant cette coupure -dans la ^|\box255| et garde le reste pour la page suivante. -Il appelle alors la routine de sortie. |\box255| agit comme une bo\^\i te -aux lettres, avec le constructeur de page comme exp\'editeur et la routine de -sortie comme destinataire. -Ordinairement la routine de sortie traite la |\box255|, ajoute -d'autres \'el\'ements, comme des insertions, ent\^ete et pieds de page \`a la page et -envoit la page vers le \dvifile\ -^^{\dvifile//mat\'eriel de la routine de sortie} -avec une commande |\shipout|. -(Des routines de sortie sp\'ecialis\'ees peuvent agir diff\'eremment.) -Du point de vue de \TeX, il importe peu que la routine de sortie envoie -la page ou non~; -La seule -responsabilit\'e de la routine de sortie est de traiter la |\box255| d'une fa\c con -ou d'une autre. -\par} - -{\tighten -Il est important de r\'ealiser que le meilleur endroit pour couper une page -n'est pas n\'ecessairement le dernier endroit possible pour couper la page. -Des p\'enalit\'es et autres consid\'erations peuvent faire que la coupure de page -ait lieu plus t\^ot. De plus, \TeX\ appr\'ehende les \'el\'ements de la liste verticale -principale en batch, pas seulement un par un. Les lignes d'un paragraphe sont -un exemple d'un tel batch. Pour ces raisons, le constructeur de page garde -des \'el\'ements sous le coude quand il coupe une page. Ces \'el\'ements mis en r\'eserve -forment alors le d\'ebut de la liste verticale principale de la page suivante -(vraisemblablement au milieu d'un batch). Parce que des \'el\'ements sont d\'eplac\'es -d'une page \`a une autre, vous pouvez \^etre s\^ur que quand \TeX\ ex\'ecute l'entr\'ee, -le num\'ero de la page courante refl\`ete la page sur laquelle la sortie correspondante -appara\^\i tra. Voir les \knuth{pages~110--114}{128--133} pour une description compl\`ete -des r\`egles de coupure de page de \TeX. -\par} - -\endconcept - - -\conceptindex{paragraphes} -\concept paragraphe - -Intuitivement, un \defterm{paragraphe} est une suite de lignes de saisie -se terminant par une ligne blanche, une commande |\par| \ctsref{\@par} -^^|\par//terminer un paragraphe avec| -ou par une commande intrins\`equement verticale, telle que |\vskip|. -Plus pr\'ecis\'ement, un paragraphe est une s\'equence de commandes que \TeX\ ex\'ecute -en mode horizontal restreint. -Quand \TeX\ a collect\'e un paragraphe entier, il le transforme en une s\'equence de -lignes en choisissant les coupures de ligne \seeconcept{coupure de ligne}. -Le r\'esultat est une liste de hbox avec ressort, p\'enalit\'e interligne -et mat\'eriel vertical imbriqu\'e entre. -Chaque hbox est une simple ligne et le ressort est le ressort inter-ligne. - -%\eject -\TeX\ d\'ebute un paragraphe quand il est dans un mode vertical et -rencontre une commande fondamentalement horizontale. -En particulier, il est en mode vertical juste apr\`es avoir termin\'e un -paragraphe, donc le mat\'eriel horizontal sur la ligne suivant une ligne -blanche d\'ebute le paragraphe suivant de mani\`ere naturelle. -Il y a plusieurs types de commandes fondamentalement horizontales, mais le -type le plus commun est un caract\`ere ordinaire, c'est-\`a-dire, une lettre. - -\looseness = -1 -Les commandes ^|\indent| et ^|\noindent| -(\pp\xrefn{\indent},~\xrefn{\noindent}) -sont aussi des commandes fondamentalement horizontales qui demandent \`a -\TeX\ d'in\-denter ou non le d\'ebut d'un paragraphe. -Toute autre commande horizontale en mode vertical -fait que \TeX\ fait un |\indent| implicite. -Une fois que \TeX\ a commenc\'e un paragraphe, il est en mode horizontal ordinaire. -Il commence par suivre toutes commandes situ\'ees dans ^|\everypar|. -Il commence alors \`a collecter des \'el\'ements pour le paragraphe jusqu'a -ce qu'il re\c coive un signal de la fin du paragraphe. -A la fin du paragraphe il r\'einitialise les param\`etres de formation de -paragraphe ^|\parshape|, |\hang!-indent|, -^^|\hangindent| -et ^|\looseness|. - -\TeX\ traduit normalement une ligne blanche par |\par|. -Il ins\`ere aussi -un |\par| dans l'entr\'ee chaque fois, en mode horizontal, qu'il -rencontre une commande intrins\`equement verticale. -Donc finalement la chose qui termine un paragraphe est toujours une commande |\par|. - -Quand \TeX\ re\c coit une commande |\par|, il compl\`ete d'abord\footnote{% -Plus pr\'ecis\'ement, il ex\'ecute les commandes~: -\csdisplay -\unskip \penalty10000 \hskip\parfillskip -| -apportant ainsi les \'el\'ements de ces commandes -\`a la fin de la liste horizontale courante.} -le paragraphe sur lequel il travaille. -Il coupe alors le paragraphe en lignes, -ajoute la liste r\'esultante d'\'el\'ements dans la liste verticale englobante -et ex\'ecute le constructeur de page -(dans le cas o\`u la liste verticale englobante est la liste verticale principale). -Si le paragraphe se termine par une commande intrins\`equement verticale, -\TeX\ ex\'ecute alors cette commande. - -\endconcept - -\conceptindex{param\`etres} -\concept param\`etre - -Le terme \defterm{param\`etre} a deux significations diff\'erentes---il peut faire -r\'ef\'erence soit \`a un param\`etre de \TeX, soit \`a un param\`etre de macro. - -Un param\`etre de \TeX\ est une \refterm{s\'equence de contr\^ole} qui nomme -une valeur. -La valeur d'un param\`etre peut \^etre un \refterm{nombre}, une \refterm{dimension}, -un montant de \refterm{ressort}, de muglue ou une \refterm{liste de tokens}. -Par exemple, le param\`etre ^|\parindent| -sp\'ecifie la distance que \TeX\ saute au d\'ebut d'un paragraphe indent\'e. - -Vous pouvez utiliser la s\'equence de contr\^ole d'un param\`etre soit pour r\'etablir la valeur -du param\`etre soit pour fixer cette valeur. \TeX\ interpr\`ete la s\'equence de contr\^ole -comme une requ\^ete pour une valeur si elle appara\^\i t dans un contexte o\`u une valeur est attendue, -et comme un \refterm{assignement} autrement. -^^{assignements} -Par exemple~: -\csdisplay -\hskip\parindent -| -produit un \refterm{ressort} horizontal dont la taille naturelle est donn\'ee -par |\par!-indent|, -tandis que~: -\csdisplay -\parindent = 2pc % (ou \parindent 2pc) -| -fixe |\parindent| \`a une longueur de deux picas. L'assignement~: -\csdisplay -\parindent = 1.5\parindent -| -utilise |\parindent| des deux fa\c cons. Son effet est de multiplier la valeur de -|\parindent| par $1.5$. - -Vous pouvez penser \`a un param\`etre comme \`a un \refterm{registre} construit. -^^{registres//param\`etres comme} -Vous trouverez la liste de tous les param\`etres de \TeX\ dans les \knuth{pages~272--275}{317--318}. - -Un param\`etre de \refterm{macro} est un endroit qui garde la place du texte -qui est branch\'e dans la d\'efinition d'une macro. Voir \conceptcit{macro} -pour plus d'informations sur ce type de param\`etre. - -\endconcept - - -\conceptindex{penalties} -\concept p\'enalit\'e - -Une \defterm{p\'enalit\'e} est un \'el\'ement que vous pouvez inclure dans une -liste horizontale, verticale ou math\'ematique -pour d\'ecourager \TeX\ de couper la liste -\`a cet endroit ou encourager \TeX\ de couper la liste ici. -^^{listes horizontales//p\'enalit\'es dans} -^^{listes verticales//p\'enalit\'es dans} -Une p\'enalit\'e positive indique un mauvais point de coupure, tandis qu'une -p\'enalit\'e n\'egative indique un bon point de coupure. -Couper une liste horizontale ordinaire -produit une \refterm{coupure de ligne}, tandis que couper une liste -verticale ordinaire produit -une \refterm{coupure de page}. -(Une p\'enalit\'e n'a aucun effet en \refterm{mode} horizontal restreint ou -vertical interne.) - -Vous pouvez utiliser la commande -|\penalty| (\pp\xrefn{hpenalty},~\xrefn{vpenalty}) -pour ins\'erer une p\'enalit\'e explicitement. -Une p\'enalit\'e de $10000$ ou plus emp\^eche une coupure, tandis qu'une p\'enalit\'e de -$-10000$ ou moins force une coupure. -\endconcept - - -\conceptindex{pieds de page} -\concept {pied de page} - -Un \defterm{pied de page} est du mat\'eriel que \TeX\ met en bas de chaque page, -sous le texte de cette page. -Le pied de page par d\'efaut en \plainTeX\ est un num\'ero de page centr\'e. -D'habitude un pied de page consiste en une ligne simple, que vous pouvez -d\'efinir en assignant une liste de tokens \`a ^|\footline| \ctsref\footline. -Voir \xrefpg{bighead} pour une m\'ethode de production de pied de page multi-ligne. - -\endconcept - -%k \vskip 0pt plus 2pt % to solve page break problem - -%\eject -\concept {\plainTeX} - -\defterm{\PlainTeX} est le format de \TeX\ d\'ecrit dans ce -livre et dans \texbook. \PlainTeX\ est une partie du syst\`eme \TeX\ standard, -donc des documents qui n'utilisent que les am\'enagements de \plainTeX\ peuvent -facilement \^etre transf\'er\'es d'une installation vers une autre sans -difficult\'e. - -\PlainTeX\ est constitu\'e de commandes \refterm{primitive}s auxquelles se joignent -une large collection de macros et -autres d\'efinitions. Ces d\'efinitions additionnelles sont d\'ecrites dans -l'\knuth{annexe~B}{}. Vous pourrez aussi les trouver dans le fichier |plain.tex| -quelque part sur votre syst\`eme informatique. -\endconcept - - -\concept {point de r\'ef\'erence} - -^^{lignes de base} -^^{\boites//point de r\'ef\'erence de} -Le \defterm{point de r\'ef\'erence} d'une \refterm{bo\^\i te} est le point o\`u le -cot\'e gauche de la bo\^\i te est en intersection avec sa \refterm{ligne de base}. -Quand \TeX\ ex\'ecute une \refterm{liste horizontale} ou -\refterm{verticale:liste verticale}, il utilise les points de r\'ef\'erence -des bo\^\i tes dans la liste pour aligner ces bo\^\i tes horizontalement ou -verticalement \seeconcept{\boites}. -\endconcept - -\conceptindex{polices} -\concept police - -Une \defterm{police} en \TeX\ est une collection de jusqu'a $256$ caract\`eres -de sortie, ayant normalement les m\^emes design, style (romain, -italique, gras, condens\'e, etc.), -et taille\footnote{\PlainTeX\ utilise une police sp\'eciale -pour construire les ^{symboles math\'ematiques} pour lesquelles les caract\`eres -ont diff\'erentes tailles. D'autres polices sp\'eciales sont souvent utiles pour -des applications comme le composition de ^{logos}.}. -La ^{police Computer Modern} qui est fournie -g\'en\'eralement avec \TeX\ n'a que $128$ caract\`eres. Le colophon sur la -derni\`ere page de ce livre d\'ecrit les polices que nous avons utilis\'ees pour composer -ce livre. - -Par exemple, voici l'alphabet en police romaine Palatino de $10$ points~: -^^{police Palatino} -\vskip\abovedisplayskip{\narrower\tenpal -\noindent ABCDEFGHIJKLMNOPQRSTUVWXYZ\hfil\break -abcdefghijklmnopqrstuvwxyz\par -}\vskip\belowdisplayskip -\noindent -et le voici dans la police Computer Modern Grasse \'etendue de $12$ -point~: -^^{police Computer Modern} -\vskip\abovedisplayskip{\narrower\font\twelvebf=cmbx12\twelvebf -\noindent ABCDEFGHIJKLMNOPQRSTUVWXYZ\hfil\break -abcdefghijklmnopqrstuvwxyz\par -}\vskip\belowdisplayskip -Les caract\`eres d'une police sont num\'erot\'es. -La num\'erotation s'accorde normalement avec la num\'erotation ^{\ascii} -pour les caract\`eres existants dans le jeu de caract\`eres \ascii. -La table de code de chaque police indique \`a quoi ressemble le caract\`ere -avec le code $n$ dans cette police. -Certaines polices, comme celles utilis\'ees pour les symboles math\'ematiques, n'ont pas -de lettres. Vous pouvez produire une \refterm{bo\^\i te} contenant le -caract\`ere num\'erot\'e $n$, compos\'e dans la police courante, en \'ecrivant `|\char |$n$' - \ctsref{\char}. - -Pour utiliser une police dans votre document, -vous devez d'abord la nommer avec une s\'equence de contr\^ole et la charger. Alors vous -pourrez la s\'electionner en saisissant -cette s\'equence de contr\^ole quand vous voulez l'utiliser. -\PlainTeX\ procure un certain nombre de polices d\'ej\`a nomm\'ees et~charg\'ees. - -Vous nommez et chargez une police comme une simple op\'eration, avec une -commande comme `|\font\twelvebf=cmbx12|'. Ici, `|\twelvebf|' est la s\'equence -de contr\^ole que vous utilisez pour nommer la police et `|cmbx12|' identifie -le fichier de m\'etrique de la police |cmbx12.tfm| sur votre syst\`eme de -fichier. Vous pouvez alors commencer \`a utiliser la police en saisissant -`|\twelvebf|'. Apr\`es cela, la police sera effective jusqu'a ce que soit -(a)~vous s\'electionnez une autre police, (b)~vous terminez le \refterm{groupe} - dans lequel vous avez commenc\'e avec la police. Par exemple, -la saisie~: - -\csdisplay -{\twelvebf white rabbits like carrots} -| -fera que la police |cmbx12| ne sera effective que pour le texte -`|white rabbits like carrots|'. - -Vous pouvez utiliser \TeX\ avec d'autres polices que Computer Modern -(regardez l'exemple sur \xrefpg{palatino} et les ent\^etes de page). -Les fichiers de telles polices doivent \^etre install\'es sur votre syst\`eme -de fichier \`a une place o\`u \TeX\ puisse les trouver. \TeX\ et ses programmes -compagnons ont g\'en\'eralement besoin de deux fichiers pour chaque police~: -un pour les m\'etriques (|cmbx12.tfm|, -^^{\tfmfile} -par exemple) et un autre pour la forme -des caract\`eres (|cmbx12.pk|, par exemple). -\TeX\ lui-m\^eme n'utilise que les fichiers de m\'etriques. -Un autre programme, le pilote de p\'eriph\'erique, -^^{drivers de p\'eriph\'erique} -convertit le \dvifile\ -^^{\dvifile//convertit par driver} -produit par \TeX\ en une forme que votre imprimante -ou autre p\'eriph\'erique de sortie puisse interpr\'eter. Le pilote -utilise le fichier de forme (s'il existe). - -Le fichier de m\'etrique de la police contient l'information dont \TeX\ \`a -besoin pour allouer de l'espace pour chaque caract\`ere compos\'e. -Ainsi il inclut la taille de chaque caract\`ere, les ligatures et cr\'enages -qui modifient les suites de caract\`eres adjacents, et ainsi de suite. -Ce que le fichier de m\'etrique n'inclut \emph{pas} sont les informations -sur les formes des caract\`eres de la police. - -{\tighten -Le fichier de forme (pixel) \xrdef{shape} -^^{fichier de pixel}^^{fichier de forme} -peut \^etre de diff\'erents -formats. La partie d'extension du nom (la partie apr\`es le point) -informe le pilote sur le format dans lequel est le fichier de forme. -Par exemple, -|cmbx12.pk| ^^{\pkfile} est le fichier de forme de la police |cmbx12| en -format compress\'e, tandis que |cmbx12.gf| ^^{\gffile} est le fichier de forme -pour la police |cmbx12| en format de police g\'en\'erique. -Un fichier de forme peut ne pas \^etre n\'ecessaire pour une police r\'esidente dans votre -p\'eriph\'erique de sortie. -\par} - -\endconcept - - -\concept {primitive} - -Une \refterm{commande} \defterm{primitive} est une commande dont la d\'efini\-tion -est construite dans le programme informatique \TeX. -Au contraire, une commande qui n'est pas une -primitive est d\'efinie par une \refterm{macro} ou un autre format de -d\'efinition \'ecrit en \TeX. Les commandes dans \refterm{\plainTeX} -sont constitu\'ees de commandes primitives auxquelles se joignent -d'autres commandes d\'efinies en termes de -primitives. -\endconcept - - -\concept profondeur - -^^{\boites//profondeur de} -La \defterm{profondeur} d'une \refterm{bo\^\i te} est la distance par laquelle -la bo\^\i te s'\'etend sous sa \refterm{ligne de base}. -\endconcept - - -\conceptindex{registres} -\concept registre - -Un \defterm{registre} est une place nomm\'ee pour stocker une valeur. -C'est plus comme une variable dans un langage de programmation. -\TeX\ a cinq sortes de registres, comme montr\'e dans le tableau suivant~: - -\vdisplay{\tabskip 10pt\halign{\tt #\hfil &#\hfil\cr -{\it Type de registre}&{\it Contenus}\cr -box&une \refterm{bo\^\i te} \idxref{registres de \boite}\cr -count&une \refterm{nombre} \idxref{registres de compteur}\cr -dimen&une \refterm{dimension} \idxref{registres de dimension}\cr -muskip&\refterm{muglue} \idxref{registres de muglue}\cr -skip&\refterm{ressort} \idxref{registres de ressort}\cr -toks&un \refterm{token} list\idxref{registres de token}\cr}} - -Les registres de chaque type sont num\'erot\'es de $0$ \`a $255$. -Vous pouvez acc\'eder au registre $n$ de cat\'egorie $c$ en utilisant la forme `|\|$cn$', -c'est-\`a-dire, |\muskip192|. -Vous pouvez utiliser un registre -n'importe o\`u cette information de type appropri\'e est appel\'ee. Par -exemple, vous pouvez utiliser |\count12| -dans tout contexte appelant un nombre ou |\skip0| -dans tout contexte appelant un ressort. - -Vous mettez de l'information dans un registre en y \refterm{assignant:assignment} -quelque chose~: - -\csdisplay -\setbox3 = \hbox{lagomorphs are not mesomorphs} -\count255 = -1 -| -Le premier assignement construit une hbox et l'assigne au -registre de bo\^\i te~$3$. -Vous pouvez -ensuite utiliser `|\box3|' partout o\`u une bo\^\i te est appel\'ee et vous obtiendrez -cette hbox\footnote{Mais faites attention~: utiliser un registre de bo\^\i te -la vide aussi donc son contenu devient vide. Les autres sortes de -registres n'ont pas cet mani\`ere de r\'eagir. Vous pouvez utiliser la commande |\copy| -\ctsref{\copy} pour conserver le contenu d'un registre de bo\^\i te sans -le vider.}. -Le second assignement assigne $-1$ au registre de compteur~$255$. - -Un registre d'un type donn\'e, par exemple, un registre de ressort, r\'eagit comme -un param\`etre de ce type. -^^{param\`etres//comme registres} -Vous retrouvez sa valeur ou la lui assignez -comme vous le feriez avec un \refterm{param\`etre}. -Quelques param\`etres de \TeX, par exemple, |\pageno|, -sont impl\'ement\'es comme des registres. - -\PlainTeX\ -utilise plein de registres pour son propre usage, donc vous ne devez pas -simplement prendre un num\'ero de registre arbitraire -quand vous avez besoin d'un registre. \`A la place, vous devez demander -\`a \TeX\ de r\'eserver un registre en utilisant une des commandes -^|\newbox|, ^|\newcount|, ^|\newdimen|, ^|\newmuskip|, ^|\newskip| -ou ^|\newtoks| -\ctsref{\@newbox}. Ces com\-man\-des sont outer, donc vous ne pouvez -pas les utiliser dans une d\'efinition de macro. -Si vous le pouviez, -vous utiliseriez un registre \`a chaque fois que la macro serait appel\'ee et -probablement d\'epasseriez le nombre de -registres rapidement. - -Quoiqu'il en soit, vous pouvez, avec pr\'ecaution utiliser tout registre temporairement -dans un \refterm{groupe}, m\^eme un que \TeX\ utilise pour autre chose. -Quand \TeX\ a fini d'ex\'ecuter les commandes dans un groupe, -il retrouve le contenu de tous les registres -dans l'\'etat o\`u ils \'etaient avant de commencer \`a ex\'ecuter le groupe. -Quand vous utilisez un registre num\'erot\'e explicitement dans un groupe, -vous devez \^etre sur que le registre n'est modifi\'e par aucune -\refterm{macro} -que vous pourriez appeler dans le groupe. -Soyez sp\'ecialement attentif -quand vous utilisez des registres arbitraires dans un groupe qui appelle des macros -que vous n'avez pas \'ecrit vous-m\^eme. - -{\tighten -\TeX\ r\'eserve certains registres \`a des t\^aches sp\'eciales~: de |\count0| \`a -|\count9| pour des informations de num\'erotation de page et -^^{num\'erotation de page} -^|\box255| pour le contenu -d'une page juste avant qu'elle soit offerte \`a la \refterm{routine de sortie}. -Les registres |\dimen0|--|\dimen9|, |\skip0|--|\skip9|, -|\muskip0|--|\mu!-skip9| et |\box0|--|\box9| ainsi que -les |255| registres de bo\^\i te autres que |\box255| -sont g\'en\'eralement utilisables comme registre ``brouillon''. -Aussi \plainTeX\ ne procure qu'un registre brouillon, |\count255|, pour -des compteurs. -Voir les \knuth{pages~122 et 346}{141--142 et 402} pour des conventions \`a suivre -pour choisir des num\'eros de registre. -\par} - -Vous pouvez examiner le contenu des registres lors d'une ex\'ecution -avec la commande ^|\showthe| \ctsref\showthe, par exemple, `|\showthe\dimen0|'. -\endconcept - - -\concept r\'eglures - -Vous pouvez utiliser des \refterm{r\'eglures} pour remplir un espace avec des -copies d'un mod\`ele, c'est-\`a-dire, mettre des points r\'ep\'et\'es entre un titre et -un num\'ero de page dans une table des mati\`eres. -Une r\'eglure est une copie simple d'un mod\`ele. -La sp\'ecification des r\'eglures contient trois parties d'information. -\olist\compact -\li ce qu'est une r\'eglure seule -\li combien d'espace doit \^etre rempli -\li comment les copies du mod\`ele doivent \^etre arrang\'ees dans l'espace -\endolist - -\bix^^|\leaders| -\bix^^|\cleaders| -\bix^^|\xleaders| -{\tighten -\TeX\ poss\`ede trois commandes pour sp\'ecifier des r\'eglures~: -|\leaders|, |\cleaders| et |\xleaders| (\xref\leaders). -L'\refterm{argument} de chaque commande sp\'e\-ci\-fie la r\'eglure. -La commande doit \^etre suivie d'un \refterm{ressort}. La taille du ressort -sp\'ecifie combien d'espace doit \^etre rempli. Le choix de la commande d\'etermine -comment les r\'eglures sont arrang\'ees dans l'espace.} - -Voici un exemple montrant comment les |\leaders| travaillent~: -\csdisplay -\def\dotting{\leaders\hbox to 1em{\hfil.\hfil}\hfil} -\line{The Political Process\dotting 18} -\line{Bail Bonds\dotting 26} -| -Ici, nous avons plac\'e les r\'eglures et leur ressort associ\'e dans une d\'efinition -de \refterm{macro} pour pouvoir les utiliser facilement \`a deux endroits. -Cette entr\'ee produit~: - -\vdisplay{\advance\hsize by -\parindent -\def\dotting{\leaders\hbox to 1em{\hfil{.}\hfil}\hfill}% -\line{The Political Process{\dotting}18} -\line{Bail Bonds{\dotting}26} -} - -La \refterm{hbox} suivant |\leaders| sp\'ecifie -la r\'eglure, soit, une hbox d'1\em\ de large contenant un point en son -centre. -L'espace est rempli avec des copies de cette bo\^\i te, -effectivement remplies -de points dont les centres sont s\'epar\'es de 1\em. -Le |\hfil| suivant (celui \`a la fin de la d\'efinition de macro) est -un ressort qui sp\'ecifie l'espace \`a remplir. -Dans ce cas, c'est l'espace n\'ecessaire pour remplir la ligne. -en choisissant |\leaders| plut\^ot que |\cleaders| ou |\xleaders|, nous nous -assurons que les points des diff\'erentes lignes soient align\'es entre eux. - -En g\'en\'eral, l'espace \`a remplir agit comme une fen\^etre pour les copies -r\'ep\'et\'ees de r\'eglures. \TeX\ ins\`ere autant de copies que possible, mais de -l'espace est habituellement laiss\'e---soit parce que les r\'eglures s'arr\^etent -dans la fen\^etre, soit parce que la largeur de la fen\^etre n'est pas un multiple -exact de la largeur de la r\'eglure. -La diff\'erence entre les trois commandes est dans leur fa\c con d'arranger les -r\'eglures dans la fen\^etre et comment elles distribuent l'espace perdu. - -\ulist -\li Pour |\leaders|, \TeX\ produit d'abord une rang\'ee de copies de la r\'eglure. -Il aligne alors le d\'ebut de cette rang\'ee avec l'extr\'emit\'e gauche de la bo\^\i te -la plus interne $B$ qui contient le r\'esultat de la commande |\leaders|. -Dans les deux lignes d'exemple ci-dessous, $B$ est une bo\^\i te produite par |\line|. -Ces r\'eglures qui rentrent enti\`erement dans la fen\^etre sont plac\'ees dans $B$, -et l'espace restant aux extr\`e\-mit\'ees gauche et droite est laiss\'e vide. -L'image est comme ceci~: -\vdisplay{% -\def\dotting{\leaders\hbox to 1em{\hfil{.}\hfil}\hfill}% -\def\pp{The Political Process} -\line{\dotting} -\line{\hphantom\pp\hfil$\Downarrow$\hfil\hphantom{18}} -\vskip 4pt -\setbox0 = \hbox{\pp} -\setbox1 = \hbox{18} -\dimen0 = \hsize \advance\dimen0 by -\wd0 \advance \dimen0 by -\wd1 -\advance\dimen0 by -0.8pt -\hbadness=10000 -\line{\pp - \vrule\vbox{\hrule width \dimen0\vskip 2pt - \hbox to \dimen0{\hfil window\strut\hfil} - \vskip 2pt\hrule width \dimen0}% - \vrule 18} -\line{\hphantom\pp\hfil$\Downarrow$\hfil\hphantom{18}} -\vskip 2pt -\line{\pp{\dotting}18} -} -\vskip\medskipamount -{\tighten -\noindent -Cette proc\'edure assure que dans les deux lignes d'exemple de la page pr\'ec\'edente, -les points des deux lignes soient align\'es verticalement (puisque les -\refterm{points de r\'ef\'erence:point de r\'ef\'erence} des hbox produites par -|\line| sont align\'es verticalement). -\par} - -\li Pour |\cleaders|, \TeX\ centre les r\'eglures dans la fen\^etre -en divisant l'espace perdu entre les deux extr\'emit\'es de la fen\^etre. -L'espace perdu est toujours inf\'erieur \`a la largeur d'une seule r\'eglure. - -\li Pour |\xleaders|, \TeX\ distribue l'espace perdu de chaque cot\'e dans la -fen\^etre. En d'autres mots, si l'espace perdu est $w$ et que la r\'eglure se -r\'ep\`ete $n$ fois, \TeX\ met un espace de largeur $w/(n+1)$ entre les r\'eglures -adjacente et \`a deux extr\'emit\'es des r\'eglures. -L'effet est habituellement d'\'etaler les r\'eglures un petit peu. L'espace -perdu pour |\xleaders|, comme celui de |\cleaders|, est toujours inf\'erieur -\`a la largeur d'une r\'eglure seule. -\endulist - -Jusqu'ici, nous supposions que les r\'eglures consistaient en hbox arrang\'ees -horizontalement. Deux variations sont possibles~: -\olist -\li Vous pouvez utiliser une r\`egle \`a la place d'une hbox pour la r\'eglure. -\TeX\ rend la r\`egle aussi large que possible pour s'\'etendre au del\`a du -ressort (et les trois commandes sont \'equivalentes). -\li Vous pouvez produire des r\'eglures verticales qui traversent la page en -les incluant dans une \refterm{liste verticale} au lieu d'une \refterm{liste -horizontale}. Dans ce cas vous avez besoin de ressort vertical apr\`es les -r\'eglures. -\endolist -\noindent -Voir les \knuth{pages~223--225}{261--263} pour les r\`egles pr\'ecises que \TeX\ utilise -en composant des r\'eglures. -\eix^^|\leaders| -\eix^^|\cleaders| -\eix^^|\xleaders| -\endconcept - - -\concept ressort - -\bix^^{\etirement} -\bix^^{r\'etr\'ecissement} -Le \defterm{ressort} est de l'espace blanc qui peut se r\'etr\'ecir ou s'\'etirer. -Le ressort donne \`a \TeX\ la flexibilit\'e dont il a besoin pour produire -des documents impeccables. -Le ressort existe en deux types~: le ressort horizontal et le ressort vertical. -Le ressort horizontal appara\^\i t dans des \refterm{listes horizontales: liste horizontale}, -tandis que le ressort vertical appara\^\i t dans des \refterm{listes verticales:liste verticale}. -^^{listes horizontales} -^^{listes verticales} -Vous -pouvez produire un ressort soit implicitement, c'est-\`a-dire, avec un espace inter-mot, soit -explicitement, c'est-\`a-dire, avec la commande ^|\hskip|. -^^{espace//inter-mots} -\TeX\ lui-m\^eme produit beaucoup de ressorts -en composant votre document. -Nous ne d\'ecrirons que le ressort horizontal---le ressort vertical \'etant analogue. - -Quand \TeX\ assemble une liste de bo\^\i tes et de ressorts en grande -quantit\'e, -^^{\boites//ressort avec} -il ajuste la taille des ressorts pour garder les espaces demand\'ees d'unit\'e -de largeur. Par exemple, \TeX\ s'assure que la ^{marge de droite} d'une page -est uniforme en ajustant les ressorts horizontaux des lignes. -Similairement, il s'assure que les diff\'erentes pages ont la -m\^eme ^{marge du bas} -en ajustant les ressorts entre les blocs de texte comme des paragraphes et -des affichages math\'ematiques -(o\`u le changement est probablement moins remarquable). - -Un ressort a un espacement naturel---la taille qu'il ``veut avoir''. -Le ressort a aussi deux autres attributs~: son \refterm{\'etirement} et son -\refterm{r\'etr\'ecissement}. Vous pouvez produire un montant sp\'ecifique de ressort -horizontal avec la \refterm{commande} ^|\hskip| \ctsref{\hskip}. La commande -|\hskip 6pt plus 2pt minus 3pt| -produit un ressort horizontal dont la taille naturelle -est de $6$ points, l'\'etirement de $2$ points et le r\'etr\'ecissement -$3$ points. Similairement, vous pouvez produire un montant sp\'ecifique de ressort vertical -avec la commande ^|\vskip| commande \ctsref{\vskip}. - -Le meilleur moyen de comprendre ce qui s'\'etire et ce qui se r\'etr\'ecit -et de voir un exemple de ressort au travail. -Supposez que vous construisez un \refterm{hbox} de trois bo\^\i tes et deux ressorts, -comme dans l'image~: -\gluepicture - 29 {\picbox 4 \gluebox 6 4 1 6 \picbox 5 \gluebox 10 8 3 10 \picbox 4 } -\noindent -L'unit\'e de mesure ici peut \^etre en points, en millim\`etres, etc. -Si le hbox est autoris\'e \`a assumer sa largeur naturelle, alors chaque ressort -de la bo\^\i te assume aussi sa largeur naturelle. La largeur totale du hbox est -alors la somme des largeurs de ses parties, soit, $29$ unit\'es. - -Ensuite, supposez que le hbox doit \^etre plus large que $29$ unit\'es, disons -$35$ unit\'es. Cela -peut arriver, par exemple, si le hbox doit occuper une ligne enti\`ere -et que la largeur de la ligne soit de $35$ unit\'es. -Puisque les bo\^\i tes ne peuvent changer leurs largeurs, -\TeX\ produit l'espace suppl\'ementaire n\'ecessaire en rendant les ressorts plus larges. -L'image maintenant ressemble \`a ceci~: -\gluepicture - 35 {\picbox 4 \gluebox 6 4 2 8 \picbox 5 \gluebox 10 8 6 14 \picbox 4 } -Les ressorts ne deviennent pas plus larges de mani\`ere \'egale~; -ils deviennent plus large en proportion de leur \'etirement. -Puisque le second ressort -a deux fois plus d'\'etirement que le premier, -il devient plus large de quatre unit\'es tandis que le premier devient plus large de -seulement deux unit\'es. -Le ressort peut s'\'etirer autant que n\'ecessaire, n\'eanmoins, \TeX\ rechigne -\`a l'\'etirer au del\`a du montant d'\'etirement donn\'e dans sa d\'efinition. - -Finalement, supposez que le hbox doive se rapprocher de $29$ unit\'es \`a, disons -$25$ unit\'es. Dans ce cas \TeX\ r\'etr\'ecit les ressorts. -L'image ressemble \`a ceci~: -\gluepicture - 25 {\picbox 4 \gluebox 6 4 2 5 \picbox 5 \gluebox 10 8 6 7 \picbox 4 } -Les ressorts deviennent plus proches en proportion de leur r\'etr\'e\-cis\-sement. -Le premier ressort devient plus \'etroit d'une unit\'e, tandis que le second -r\'etr\'ecit de trois unit\'es. Le ressort ne peut pas se r\'etr\'ecir -d'une distance inf\'erieure au montant de r\'etr\'ecissement donn\'e dans sa d\'efinition -m\^eme si la distance \`a laquelle il peut se r\'etr\'ecir est sans -limite. Sur ce point important l'\'etirement et le r\'etr\'ecissement r\'eagissent -diff\'eremment. - -Une bonne r\`egle \`a suivre pour le ressort est de fixer sa taille normale au -montant d'espace qui va le mieux, l'\'etirement au montant d'espace le plus grand -que \TeX\ puisse ajouter avant que le document devienne mauvais et le -r\'etr\'ecissement au montant d'espace le plus grand que \TeX\ puisse enlever -avant que le document commence \`a devenir mauvais. Vous pouvez devoir fixer -les valeurs par exp\'erimentation. - -Vous pouvez produire un ressort \'etirable \`a l'infini en sp\'ecifiant son -\'etirement en unit\'es de `^|fil|', `^|fill|' ou `^|filll|'. Le ressort mesur\'e en -`|fill|' est infiniment plus \'etirable que le ressort mesur\'e en `|fil|' et -le ressort mesur\'e en `|filll|' est infiniment plus \'etirable que le ressort mesur\'e -en `|fill|'. Vous n'aurez que tr\`es rarement besoin de ressort `|filll|'. Un ressort -s'\'etirant de |2fil| s'\'etire deux fois plus qu'un ressort s'\'etirant de |1fil|, -et de m\^eme pour les autres sortes de ressorts \'etirables infiniment. - -Quand \TeX\ apporte un espace suppl\'ementaire en plus d'un ressort, -celui infiniment \'etirable, s'il y en a, en prend la totalit\'e. -Le ressort infiniment \'etirable est particuli\`erement pratique pour -cadrer du texte \`a gauche, \`a droite ou centr\'e. - -\ulist\compact -\li Pour faire un texte ^{cadr\'e \`a gauche}, mettez un ressort horizontal -infiniment \'etirable \`a sa droite. -Ce ressort consommera tout l'espace suppl\'ementaire possible sur la ligne. -Vous pouvez utiliser la commande ^|\leftline| \ctsref{\leftline} -ou la commande |\raggedright| \ctsref{\raggedright} pour faire cela. -\li Pour faire un texte ^{cadr\'e \`a droite}, mettez un ressort horizontal -infiniment \'etirable \`a sa gauche. Comme ci-dessus -ce ressort consommera tout l'espace suppl\'ementaire possible sur la ligne. -Vous pouvez utiliser la commande ^|\rightline| \ctsref{\rightline} -pour faire cela. -\li Pour faire du ^{texte centr\'e}, mettez un ressort horizontal -infiniment \'etirable de chaque cot\'e. -Ces deux ressorts diviseront tout l'espace suppl\'ementaire de la ligne -\'egalement entre eux. -Vous pouvez utiliser la commande ^|\centerline| \ctsref{\centerline} pour faire cela. -\endulist - -Vous pouvez aussi sp\'ecifier un ressort r\'etr\'ecissable infiniment -^^{ressort//infiniment \'etirable} -de la m\^eme mani\`ere. Un ressort r\'etr\'ecissable infiniment peut agir comme espace n\'egatif. -Notez que |fil|, etc., ne peuvent \^etre utilis\'es que pour sp\'ecifier l'\'etirement -et le r\'etr\'ecissement du ressort---Ils ne peuvent \^etre utilis\'es pour sp\'ecifier -sa taille normale. -\eix^^{\etirement} -\eix^^{r\'etr\'ecissement} -\endconcept - - -\concept {ressort inter-ligne} - -Le \defterm{ressort inter-ligne} est le ressort que \TeX\ ins\`ere au d\'ebut de chaque -\refterm{bo\^\i te} dans une \refterm{liste verticale} sauf pour la premi\`ere. -Le ressort inter-ligne est normalement sp\'ecifi\'ee de fa\c con \`a maintenir une -distance constante entre les lignes de base des bo\^\i tes. -Sa valeur est d\'etermin\'ee conjointement par les param\`etres ^|\baselineskip|, -^|\lineskip| et ^|\lineskiplimit| \ctsref{\baselineskip}. -\endconcept - - -\conceptindex {r\'etr\'ecissements} -\concept {r\'etr\'ecissement} - -Voir \conceptcit{ressort}. -\endconcept - - -\concept {routine de sortie} - -Quand \TeX\ a accumul\'e -au moins assez de mat\'e\-riel pour remplir une page, il choisi un point d'arr\^et -et place le mat\'eriel situ\'e avant le point d'arr\^et en |\box255|. Il appelle -alors la \defterm{routine de sortie} courante, qui compile le mat\'eriel et -l'envoie \'eventuellement dans le \dvifile. -^^{\dvifile//mat\'eriel de la routine de sortie} -La routine de sortie peut faire d'autres actions, comme ins\'erer des ent\^etes, -des pieds de page et des notes de pieds de page. -\refterm{\PlainTeX:\plainTeX} procure -une routine de sortie par d\'efaut qui ins\`ere un num\'ero de page centr\'e -en bas de chaque page. -En procurant une routine de sortie diff\'erente vous pouvez cr\'eer des -effets tels que des sortie en double colonnes. -Vous pouvez imaginer les routines de sortie comme ayant une seule responsabilit\'e~: -disposer le mat\'eriel en |\box255| d'une fa\c con ou d'une autre. - -La routine de sortie courante est d\'efinie par la valeur de ^|\output| -\ctsref{\output}, qui est une liste de \refterm{tokens:token}. Quand \TeX\ -est pr\^et \`a produire une page, il d\'eveloppe simplement la liste de tokens. - -Vous pouvez faire quelque simples changements aux actions de la routine de -sortie de \plainTeX\ sans la modifier r\'eellement. Par exemple, en assignant -une liste de \refterm{tokens:token} \`a |\headline| ou -|\footline| \ctsref{\footline} vous pouvez faire que \TeX\ produise un ent\^ete -ou un pied de page diff\'erent de l'ordinaire. - -La routine de sortie est aussi responsable pour collecter -toutes \refterm{insertions:insertion}~; en combinant ces insertions et -toutes ``d\'ecorations'' telles que ent\^etes et pieds de page avec -les contenus principaux de la page et empaqu\`ete tout ce mat\'eriel -dans une bo\^\i te~; et \'eventuellement envoyer cette bo\^\i te dans -le \dvifile\ -^^{\dvifile//mat\'eriel de la routine de sortie} -avec la commande ^|\shipout|\ctsref{\shipout}. -Bien que cela soit ce que fait une routine de sortie le plus souvent, -une routine de sortie d'usage sp\'ecial peut agir diff\'eremment. -\endconcept - - -\conceptindex{s\'equences de contr\^ole} -\concept {s\'equence de contr\^ole} - -Une \defterm{S\'equence de contr\^ole} est un nom pour une \refterm{command}e \TeX. -Une s\'equence de contr\^ole commence par un ^{caract\`ere d'\'echappement}, -habituellement un antislash (|\|). -\indexchar \ -Une s\'equence de contr\^ole prend une des deux formes~: - -\ulist - -\li Un \refterm{mot de contr\^ole} est une S\'equence de contr\^ole constitu\'ee -d'un \refterm{caract\`ere d'\'echappement} suivi par une ou plusieurs lettres. -^^{mots de contr\^ole} -Le mot de contr\^ole se termine quand \TeX\ voit une non-lettre. Par exemple, -quand \TeX\ lit -`\hbox{|\hfill!visiblespace,!visiblespace!.the|}', il voit six -\refterm{tokens:token}~: -Les s\'equences de contr\^ole `|\hfill|', virgule, espace, `|t|', `|h|', `|e|'. -L'espace apr\`es `|\hfill|' termine la s\'equence de contr\^ole et -est absorb\'ee par \TeX\ quand il lit la s\'equence de contr\^ole. -(Pour le texte `|\hfill,!visiblespace!.the|', d'un autre cot\'e, -La virgule termine aussi la s\'equence de contr\^ole et compte comme un caract\`ere -de bon aloi.) - -\li Un \refterm{symbole de contr\^ole} -^^{symboles de contr\^ole} -est une s\'equence de contr\^ole constitu\'ee d'un -^{caract\`ere d'\'echappement} suivi par n'importe caract\`ere autre qu'une lettre---% -m\^eme un espace ou une fin de ligne. -Un symbole de contr\^ole est auto-d\'elimit\'e, c'est-\`a-dire, \TeX\ sait o\`u il termine sans -devoir regarder le caract\`ere qui le suit. -Le caract\`ere apr\`es un symbole de contr\^ole n'est jamais absorb\'e par le -symbole de contr\^ole. -\endulist -\noindent Voir \xrefpg{espace} pour plus d'information sur les espaces apr\`es -des s\'equences de contr\^ole. - -\TeX\ procure une grand nombre de s\'equences de contr\^ole pr\'ed\'efinies. Les -s\'equences de contr\^ole \refterm{primitives} sont construites dans le programme -informatique \TeX\ et donc, sont accessibles sous toutes les formes de \TeX. -^^{primitive//s\'equence de contr\^ole} -D'autres s\'equences de contr\^ole sont fournies par \refterm{\plainTeX}, la -forme de \TeX\ d\'ecrite dans ce livre - -Vous pouvez augmenter des s\'equences de contr\^ole pr\'ed\'efinies avec celles de -votre cru, en utilisant des commandes telles que ^|\def| et ^|\let| pour les -d\'efinir. La \chapterref{eplain} de ce livre contient une collection de -d\'efinitions de s\'equence de contr\^ole que vous pouvez trouver utile. De plus, -votre syst\`eme informatique peut vous rendre capable de cr\'eer une collection -de macros \TeX\ d\'evelopp\'ees localement. -\endconcept - - -\conceptindex{struts} -\concept strut - -{\tighten -Un \defterm{strut} est une \refterm{bo\^\i te} invisible -^^{\boites//invisible} -dont la largeur est \`a z\'ero et dont la hauteur et la profondeur sont l\'eg\`erement -sup\'erieure \`a celle d'une ligne de texte ``normale'' dans le contexte. -Les struts sont pratiques pour obtenir un espacement vertical uniforme quand -l'espacement de ligne usuel de \TeX, par exemple, dans une formule math\'ematique -ou dans un alignement horizontal o\`u vous sp\'ecifiez ^|\offinterlineskip|. -Parce qu'un strut est plus haut et plus profond que tout autre chose sur sa ligne, -il d\'etermine la hauteur et la profondeur de la ligne. -Vous pouvez produire un strut avec la commande ^|\strut| \ctsref{\strut} ou -la commande ^|\mathstrut| \ctsref\mathstrut. -Vous pouvez utiliser |\strut| n'importe o\`u, mais vous ne pouvez utiliser -|\mathstrut| que quand \TeX\ est en \refterm{mode} math\'ematique. -Un strut dans \plainTeX\ a une hauteur de 8.5\pt\ et une profondeur de 3.5\pt, -tandis qu'un strut math\'ematique \`a la hauteur et la profondeur d'une -parenth\`ese ouvrante du \refterm{style} courant (donc il est plus petit pour -des indices ou des exposants). -\par} - -Voici un exemple montrant comment vous devriez utiliser un strut~: -\csdisplay -\vbox{\hsize = 3in \raggedright - \strut Here is the first of two paragraphs that we're - setting in a much narrower line length.\strut} -\vbox{\hsize = 3in \raggedright - \strut Here is the second of two paragraphs that we're - setting in a much narrower line length.\strut} -| -Cette entr\'ee donne~: -\display{\vbox{ -\vbox{\hsize = 3in \raggedright -\strut Here is the first of two paragraphs that we're setting -in a much narrower line length.\strut} -\vbox{\hsize = 3in \raggedright -\strut Here is the second of two paragraphs that we're setting -in a much narrower line length.\strut} -}} -\noindent -Sans les struts la \refterm{vbox} serait trop rapproch\'ee. -Similairement, dans la formule~: -\csdisplay -$\overline{x\mathstrut} \otimes \overline{t\mathstrut}$ -| -Les struts math\'ematiques font que les deux barres sont mises \`a la m\^eme hauteur m\^eme -si le `$x$' et le `$t$' ont des hauteurs diff\'erentes~: -\display{ -$\overline{x\mathstrut} \otimes \overline{t\mathstrut}$ -} -\vskip -\belowdisplayskip -\endconcept -%\nobreak - -\conceptindex{styles} -\concept {style} - -Le mat\'eriel d'une formule math\'ematique est mis dans un des huit \defterm{styles}, -d\'ependant du contexte. Conna\^\i tre les styles peut \^etre utile si vous voulez -mettre une partie d'une formule dans une taille de caract\`ere diff\'erente de -celle que \TeX\ a choisi en fonction de ses r\`egles usuelles. - -%\eject -Les quatre styles primaires sont~: - -\vdisplay{% -\halign{\refterm{# style}\hfil&\hskip .25in(#)\hfil\cr -display&formules affich\'ees sur une ligne seule\cr -text&formules englob\'ees dans du texte ordinaire\cr -script&exposants et indices\cr -scriptscript&indices d'indices, etc.\cr -}} - -Les quatre autres styles sont dits ^{variantes \'etroites}. Dans ces variantes -les exposants ne sont pas mont\'es aussi haut que normalement et donc la formule -n\'ecessite moins d'espace vertical qu'ils le devraient. Voir les \knuth{pages~140--141}{164--165} -pour les d\'etails sur la fa\c con de \TeX\ de s\'electionner le style. - -\TeX\ choisit une taille de caract\`ere en fonction du style~: - -\ulist\compact -^^{style d'affichage}^^{style texte} -\li Le style d'affichage et le style texte sont mis en \refterm{taille texte}, comme -`$\rm ceci$'. - -^^{style script} -\li le style script est mis en \refterm{taille script}, comme `$\scriptstyle -\rm ceci$'. - -^^{style scriptscript} -\li le style scriptscript est mis en \refterm{taille scriptscript}, comme -`$\scriptscriptstyle \rm ceci$'. -\endulist - -Voir \conceptcit{famille} pour plus d'informations \`a propos de ces trois tailles. - -\TeX\ n'a pas de style ``scriptscriptscript'' parce qu'un tel style -serait souvent mis dans une taille de caract\`ere trop petite \`a lire. \TeX\ -par cons\'equent met les indices, exposants, etc. de troisi\`eme ordre en utilisant le -style scriptscript. - -Parfois vous pourrez trouver que \TeX\ a mis une formule dans un style diff\'erent -de celui que vous pr\'ef\'erez. Vous pouvez passer outre le choix de \TeX\ avec les -commandes ^|\textstyle|, ^|\displaystyle|, ^|\scriptstyle| et ^|\scriptscriptstyle| -\ctsref{\textstyle}. -\endconcept - - -\conceptindex{symboles de contr\^ole} -\concept {symbole de contr\^ole} - -Un \defterm{symbole de contr\^ole} est une \refterm{s\'equence de contr\^ole} qui -est constitu\'ee d'un \refterm{caract\`ere d'\'echappement} suivi d'un caract\`ere -autre qu'une lettre---m\^eme un espace et une fin de ligne. -^^{caract\`ere d'\'echappement} -\endconcept - - -\concept {taille script} - -Une \defterm{taille script} d\'ecrit une des trois -\refterm{polices:police} reli\'ees dans une famille. -^^{famille//taille script en} -Une taille script est plus petite que la \refterm{taille texte} mais plus -grande que la -\refterm{taille scriptscript}. \TeX\ utilise la taille script pour les -indices et les exposants, aussi bien que pour les num\'erateurs et les -d\'enominateurs de fractions dans du texte. -\endconcept - - -\concept {taille scriptscript} - -Une \defterm{taille scriptscript} d\'ecrit la plus petite taille des trois -\refterm{polices:police} reli\'ees dans une famille. -^^{famille//taille scriptscript en} -\TeX\ utilise la \refterm{taille scriptscript} pour des indices, exposants, -num\'erateurs et d\'enominateurs de second rang. Par exemple, \TeX\ utilisera -la taille scriptscript pour un indice d'indice ou pour un exposant d'exposant. -\endconcept - - -\concept {taille texte} - -La \defterm{taille texte} d\'ecrit la plus grande des trois -\refterm{polices:police} li\'ees dans une \refterm{famille}. -^^{famille//taille texte en} -\TeX\ utilise la taille texte pour des symboles ordinaires apparaissant en -\refterm{mode math\'ematique}. -\endconcept - - -\conceptindex{tests conditionnels} -\concept {test conditionnel} - -Un \defterm{test conditionnel} est une commande qui teste si une condition est -vraie ou non et -demande \`a \TeX\ soit de d\'evelopper soit de sauter du texte, selon le cas. -La forme g\'en\'erale d'une test conditionnel est soit~: -\display{ -{\tt \\if}$\alpha$\<true text>{\tt \\else}\<false text>{\tt \\fi}} -^^|\else|^^|\fi| -\noindent soit~:\hfil\ -\display{ -{\tt \\if}$\alpha$\<true text>{\tt \\fi}} -\noindent o\`u $\alpha$ sp\'ecifie le test particulier. -Par exemple, |\ifvmode| teste la condition que \TeX\ -soit actuellement dans un \refterm{mode vertical}. -Si la condition est vraie, \TeX\ d\'eveloppe \<true text>. -Si la condition est fausse, \TeX\ d\'eveloppe \<false text> (s'il est pr\'esent). -Les tests conditionnels sont interpr\'et\'es dans l'\oesophage\ de \TeX -\seeconcept{\anatomy}, donc tous les \minref{token}s d\'eveloppables dans -le texte interpr\'et\'e ne sont d\'evelopp\'es qu'apr\`es que le test n'ait \'et\'e r\'esolu. -Les diff\'erents tests conditionnels sont expliqu\'es dans -\headcit{Tests conditionnels}{conds}. - -\endconcept - - -\concept {\TeXMeX} - -(a)~Une vari\'et\'e de \TeX\ utilis\'ee pour composer des math\'e\-matiques dans les -pays d'Am\'erique Centrale. -(b)~Une cuisine tr\`es \'epic\'ee appr\'e\-ci\'ee par les \TeX\-ni\-ciens d'^{El Paso}. -\endconcept - - -\conceptindex{justification} -\concept {texte justifi\'e} - -Du \defterm{texte justifi\'e} est du texte qui a \'et\'e compos\'e pour que les -deux marges soit align\'ees. Du texte non justifi\'e, d'un autre cot\'e, a \'et\'e compos\'e -avec des marges ``d\'echir\'ees'' d'un ou des deux cot\'es. -Les documents saisis sur les vieilles machines \`a \'ecrire ont la plupart du temps -des marges droites d\'echir\'ees. -Bien que les documents produits par \TeX\ soient justifi\'es par d\'efaut, vous -pouvez si vous voulez produire des documents (ou des suites de lignes) qui -ont la marge ^{droite}---ou ^{gauche d\'echir\'ee}. -Vous pouvez aussi demander \`a \TeX\ de centrer un suite de lignes, ce qui rend -les deux marges d\'echir\'ees. -^^{texte centr\'e} -Vous pouvez utiliser les commandes -^|\leftskip|, ^|\rightskip| et ^|\raggedright| -(\pp \xrefn{\leftskip},~\xrefn{\raggedright}) pour cela. - -Quand \TeX\ produit du texte justifi\'e, il a normalement besoin de r\'e\-tr\'ecir ou -d'\'etirer les ressorts de chaque ligne pour que les marges soient align\'ees. -Quand \TeX\ produit du texte non justifi\'e, d'un autre cot\'e, il laisse les ressorts -de chaque ligne \`a leur taille naturelle. -Beaucoup de typographes pr\'ef\`erent le texte non justifi\'e parce que son espacement -inter-mot est plus uniforme. -\endconcept - - -\concept {texte math\'ematique} - -Nous utilisons le terme \defterm{texte math\'ematique} pour faire r\'ef\'erence -\`a une formule math\'ematique mise dans une ligne de texte, c'est-\`a-dire, -entour\'ee de |$|. -\ttidxref{$} -\TeX\ met du texte math\'ematique dans le \refterm{mode} texte math\'ematique . -\endconcept - - -\conceptindex{tokens} -\concept token - -Un \defterm{token} est soit un simple caract\`ere attach\'e \`a un -\refterm{code de cat\'egorie} ou une \refterm{s\'equence de contr\^ole}. -\TeX\ lit les caract\`eres d'un fichier en utilisant ses yeux \seeconcept{\anatomy} -et groupe les caract\`eres en tokens en utilisant sa bouche. Quand un token -atteint l'estomac de \TeX, \TeX\ l'interpr\`ete comme une \refterm{commande} -\`a moins qu'il fasse partie d'un argument d'une commande pr\'ec\'edente. -\endconcept - - -\conceptindex{unit\'es de mesure} -\concept {unit\'e de mesure} - -Voir \conceptcit{dimension}. -\endconcept - - -\conceptindex{unit\'es math\'ematiques} -\concept {unit\'e math\'ematique} - -Une \defterm{unit\'e math\'ematique}, cod\'ee `|mu|', est une unit\'e de distance -utilis\'ee pour sp\'ecifier un \refterm{ressort} dans les formules math\'e\-matiques. Voir -le \conceptcit{muglue}. -\endconcept - - -\conceptindex{vbox} -\concept vbox - -^^{listes verticales//vbox form\'ees \`a partir de} -Une \defterm{vbox} (bo\^\i te verticale) est une \refterm{bo\^\i te} que \TeX\ construit -en pla\c cant les \'el\'ements d'une \refterm{liste verticale} l'une apr\`es l'autre, de haut -en bas. Une vbox, prise en tant qu'unit\'e, n'est ni fondamentalement horizontale -ni fondamentalement verticale, c'est-\`a-dire, elle peut appara\^\i tre comme un \'el\'ement -soit d'une liste verticale soit d'une \refterm{liste horizontale}. Vous -pouvez construire une vbox avec les commandes ^|\vbox| ou ^|\vtop| \ctsref{\vtop}. -La diff\'erence est que pour |\vbox|, le \refterm{point de r\'ef\'erence} de la -vbox construite est d\'eriv\'e de celui du dernier (et souvent plus bas) -\'el\'ement constituant la liste, mais pour |\vtop|, c'est celui du premier -(et normalement plus haut) \'el\'ement constituant la liste. -\endconcept - - -\endconcepts - -\endchapter -\byebye - +La commande |\settabs 2 \columns| de cet exemple \ctsref{\settabs}
+demande \`a \TeX\ de produire deux colonnes de largeurs \'egales.
+La longueur de la ligne est de $1.7$ pouces.
+L'alignement compos\'e ressemble \`a ceci~:
+
+{\def\+{\tabalign}% so it isn't \outer.
+\vdisplay{%
+\hsize 1.7 in \settabs 2 \columns
+\+cattle&herd\cr
+\+fish&school\cr
+\+lions&pride\cr}
+}%
+
+\margin{Missing explanation added here.}
+Il y a une autre forme d'alignement tabul\'e dans lequel vous sp\'ecifiez les
+largeurs de colonne avec un exemple. La largeur de colonne de l'exemple
+d\'etermine les largeurs de colonne du reste de l'alignement~:
+\csdisplay
+{\settabs\+cattle\quad&school\cr
+\+cattle&herd\cr
+\+fish&school\cr
+\+lions&pride\cr}
+|
+Voici le r\'esultat~:
+{\def\+{\tabalign}% so it isn't \outer.
+\vdisplay{%
+\settabs\+cattle\quad&school\cr
+\+cattle&herd\cr
+\+fish&school\cr
+\+lions&pride\cr}
+}%
+
+\eix^^|\settabs|
+\eix\ctsidxref{+}
+\bix^^|\halign|
+Les alignements horizontaux sont construits avec |\halign| \ctsref\halign.
+\TeX\ ajuste la largeur des colonnes d'un alignement horizontal en fonction
+du contenu des colonnes. Quand \TeX\ rencontre la commande |\halign| qui
+d\'ebute un alignement horizontal, il examine d'abord toutes les rang\'ees de
+l'alignement pour voir quelle est la largeur des entr\'ees. Il fixe alors
+la largeur des colonnes pour accommoder les entr\'ees les plus larges dans ces
+colonnes.
+
+Un alignement horizontal g\'er\'e par |\halign| est constitu\'e d'un
+``\pix^{pr\'eam\-bule}'' qui indique le sch\'ema des rang\'ees suivi par les
+rang\'ees elles-m\^emes.
+\ulist
+\li Le pr\'eambule est constitu\'e d'une suite de \pix^{patron}s, un pour
+chaque colonne. Le patron d'une colonne sp\'ecifie comment le texte de cette
+colonne doit \^etre compos\'e. Chaque patron doit inclure un seul carac\-t\`ere |#|
+\ttidxref{#}\xrdef{@asharp}
+pour indiquer o\`u \TeX\ doit substituer le texte d'une entr\'ee dans le patron.
+Les patrons sont s\'epar\'es par une esperluette (|&|) \ttidxref{&} et la fin
+du pr\'eambule est indiqu\'ee par |\cr|. En procurant un patron appro\-pri\'e, vous
+pouvez obtenir des effets comme centrer une colonne, justifier une colonne
+\`a gauche ou \`a droite ou composer une colonne dans une \refterm{police}
+particuli\`ere.
+
+\li Les rang\'ees ont la m\^eme forme que dans l'alignement tabul\'e, sauf que
+vous ne mettez pas de |\+| au d\'ebut de chaque rang\'ee.
+Comme avant, des entr\'ees sont s\'epar\'ees par |&| et la fin d'une rang\'ee est
+indiqu\'ee par |\cr|.
+\TeX\ traite chaque entr\'ee comme un \refterm{groupe}, donc, chaque commande
+de changement de police ou autre \refterm{assignement} dans le patron de
+colonne ne prend effet que pour les entr\'ees de cette colonne.
+\endulist
+\noindent Le pr\'eambule et les rang\'ees doivent \^etre inclus entre les
+accolades qui suivent |\halign|. Chaque alignement |\halign| doit inclure
+son propre pr\'eambule.
+
+Par exemple, l'alignement horizontal~:
+\csdisplay
+\tabskip=2pc
+\halign{\hfil#\hfil &\hfil#\hfil &\hfil#\hfil \cr
+ &&\it Table\cr
+\noalign{\kern -2pt}
+ \it Creature&\it Victual&\it Position\cr
+\noalign{\kern 2pt}
+ Alice&crumpet&left\cr
+ Dormouse&muffin&middle\cr
+ Hatter&tea&right\cr}
+|
+
+\noindent produit le r\'esultat~:
+
+\xrdef{halignexample}
+\vdisplay{%
+\tabskip=2pc \halign{\hfil#\hfil &\hfil#\hfil &\hfil#\hfil \cr
+ &&\it Table\cr
+\noalign{\kern -2pt}
+ \it Creature&\it Victual&\it Position\cr
+\noalign{\kern 2pt}
+ Alice&crumpet&left\cr
+ Dormouse&muffin&middle\cr
+ Hatter&tea&right\cr}
+}%
+\noindent Le ^|\tabskip| \ctsref{\tabskip} de cet exemple
+demande \`a \TeX\ d'ins\'erer |2pc| de
+\refterm{ressort} entre les colonnes.
+La commande ^|\noalign| \ctsref{\noalign} d'ins\'erer
+du mat\'eriel de \refterm{mode vertical} entre deux rang\'ees.
+Dans cet exemple nous avons
+utilis\'e |\noalign| pour produire de l'espace suppl\'ementaire entre les
+rang\'ees de titre et les rang\'ees de donn\'ees, et aussi rapprocher ``Table''
+et ``Position''.
+(Vous pouvez aussi utiliser |\noalign| avant la premi\`ere rang\'ee ou apr\`es la
+derni\`ere.)
+\eix^^|\halign|
+
+Vous pouvez aussi construire un alignement vertical avec la commande ^|\valign|
+\ctsref{\valign}. Un alignement vertical est organis\'e comme une s\'erie de
+colonnes plut\^ot que comme une s\'erie de rang\'ees. Un alignement vertical suit
+les m\^eme r\`egles qu'un alignement horizontal sauf que le r\^ole des rang\'ees et
+des colonnes est invers\'e. Par exemple, l'alignement vertical~:
+
+\csdisplay
+{\hsize=0.6in \parindent=0pt
+\valign{#\strut&#\strut&#\strut\cr
+ one&two&three\cr
+ four&five&six\cr
+ seven&eight&nine\cr
+ ten&eleven\cr}}
+|
+\noindent produit~:
+\vdisplay{%
+{\hsize=0.6in \parindent=\listleftindent % Because lists and displays
+ % are not indented just by \parindent.
+\valign{#\strut&#\strut&#\strut\cr
+ one&two&three\cr
+ four&five&six\cr
+ seven&eight&nine\cr
+ ten&eleven\cr}}
+}
+La commande ^|\strut| \ctsref{\strut} dans le patron est n\'ecessaire pour
+que les entr\'ees de chaque rang\'ee s'alignent proprement, c'est-\`a-dire,
+pour avoir une \refterm{ligne de base} commune et garder une distance
+uniforme entre les lignes de base.
+\eix\ctsidxref{cr}
+\eix^^{tables}
+
+\endconcept
+
+
+\concept {\anatomy}
+
+\texbook\ d\'ecrit la fa\c con dont {\TeX} compile ses sources en termes de
+``t\^aches digestives'' de \TeX---ses ``^{yeux}'', ``^{bouche}'',
+``^{\oesophage}'', ``^{estomac}'' et ``^{intestin}''. Savoir comment ces
+organes travaillent peut \^etre utile quand vous essayer de comprendre de subtils
+aspects du raisonnement de \TeX\ quand il dig\`ere un document.
+
+\ulist
+
+\li En utilisant ses ``\pix^{yeux}'', \TeX\ lit les \refterm{caract\`eres:caract\`ere} du
+^{fichier source} et les passe \`a sa bouche. Puisqu'un fichier source
+peut contenir des commandes ^|\input| \ctsref{\input},
+\TeX\ peut en effet d\'etourner son regard d'un fichier \`a l'autre.
+
+\li En utilisant sa ``\pix^{bouche}'', {\TeX} assemble les caract\`eres en
+\refterm{tokens:token} et les passe \`a son \oesophage.
+Chaque token est soit une \refterm{s\'equence de contr\^ole} ou un simple
+caract\`ere. Une s\'equence de contr\^ole commence toujours par un \refterm{caract\`ere
+d'\'echappement}. Notez que les espaces et les fins de ligne sont des caract\`eres
+de plein droit, de plus \TeX\ compresse une suite d'espaces en un seul token
+d'espace. Voir \knuth{pages~46--47}{56--58} pour les r\`egles avec lesquelles \TeX\
+assemble les caract\`eres en tokens.
+^^{tokens//assembl\'ee \`a partir de caract\`eres}
+
+\li En utilisant son ``\pix^{\oesophage}'', {\TeX} d\'eveloppe chaque macro, conditions, et
+^^{macros//d\'evelopp\'ees dans l'estomac de \TeX}
+^^{tokens//pass\'ee \`a l'estomac de \TeX}
+constructions similaires qu'il trouve (voir \knuth{pages~212--216}{249--253}) et passe
+la suite de \refterm{tokens:token} r\'esultante
+\`a l'estomac de \TeX. D\'evelopper un token
+peu faire appara\^\i tre d'autres tokens qui \`a leur tour ont besoin d'\^etre
+d\'evelopp\'es. {\TeX} parcourt ce d\'eveloppement de gauche \`a droite \`a moins
+que l'ordre soit modi\-fi\'e par
+une commande telle que |\expandafter| \ctsref{\expandafter}.
+En d'autres mots, l'\oe sophage de \TeX\ d\'eveloppe toujours le token le plus \`a
+gauche non-d\'evelopp\'e qu'il n'a pas encore envoy\'e vers l'estomac de \TeX.
+
+\li En utilisant son ``\pix^{estomac}'', {\TeX} ex\'ecute tous les groupes de token.
+Chaque groupe contient une commande primitive suivie par ses
+arguments, s'il y en a.
+La plupart des commandes sont de type ``compose ce caract\`ere'',
+dont leur groupe n'est constitu\'e que d'un token.
+Suivant les instructions donn\'ees par les commandes, l'estomac de
+\TeX\ assemble de plus en plus grandes unit\'es, d\'ebutant par des
+caract\`eres et finissant par des pages,
+et passe les pages \`a l'intestin de \TeX.
+^^{pages//assembl\'ees dans l'estomac de \TeX}
+L'estomac de \TeX\ ex\'ecute les taches de \refterm{coupure de ligne}---%
+^^{coupures de ligne}
+c'est-\`a-dire, couper chaque paragraphe en suite de lignes---%
+et de \refterm{coupure de page}---c'est-\`a-dire,
+couper une suite continue de lignes
+et autres mat\'eriels de mode vertical en pages.
+
+\li En utilisant ses ``\pix^{intestin}'', \TeX\ transforme les pages produites par son
+estomac en une forme destin\'ee \`a \^etre lue
+par d'autres program\-mes. Il envoit alors la sortie transform\'ee dans le
+\dvifile.
+^^{\dvifile//cr\'e\'e par l'intestin de \TeX}
+
+\endulist
+
+La plupart du temps, vous pouvez penser que les processus qui prennent place dans
+les yeux, bouches, \oesophage, estomac et intestin de \TeX\ ont lieu les uns apr\`es
+les autres. La v\'erit\'e en la mati\`ere est que des commandes ex\'ecut\'ees dans l'estomac
+de \TeX\ peuvent influencer les \'etapes suivantes de la digestion. Par exemple,
+quand l'estomac de \TeX\ rencontre la commande |\input| \ctsref{\input}, ses
+yeux commencent \`a lire un fichier diff\'erent~; quand l'estomac de \TeX\
+rencontre une commande |\catcode| \ctsref{\catcode} sp\'ecifiant un code de
+cat\'egorie pour le caract\`ere $c$, l'interpr\'etation de $c$ par la bouche de
+\TeX\ s'en trouve affect\'e. Et quand l'estomac de \TeX\ rencontre une d\'efinition
+de \refterm{macro}, les d\'eveloppements charg\'es dans l'\oe sophage de \TeX\
+sont eux aussi affect\'es.
+
+Vous pouvez comprendre comment les processus agissent les uns sur les autres
+en imaginant que chaque processus avale goul\^ument le
+rendu de son pr\'ed\'ecesseur d\`es qu'il devient disponible. Par
+exemple, une fois que l'estomac de \TeX\ a vu le dernier caract\`ere du
+nom de fichier dans une commande |\input|, \TeX\ fixe son regard
+imm\'ediatement sur le premier caract\`ere du fichier d'entr\'ee indiqu\'e.
+
+\endconcept
+
+%\pagebreak
+\conceptindex{arguments}
+\concept argument
+
+^^{commandes//arguments de}
+Un \defterm{argument} contient le texte pass\'e \`a une
+\refterm{commande}.
+Les arguments d'une commande compl\`etent la description de ce que
+la commande est suppos\'ee faire.
+La commande peut \^etre soit une commande \refterm{primitive}, soit une
+\refterm{macro}.
+
+Chaque commande primitive ^^{primitive//commande}
+a sa propre convention sur la forme de ses
+arguments. Par exemple, la suite de \refterm{tokens:token}~:
+
+\csdisplay
+\hskip 3pc plus 1em
+|
+consiste en la commande `|\hskip|' et les arguments
+`|3pc plus 1em|'. Mais si vous \'ecrivez~:
+
+\csdisplay
+\count11 3pc plus 1em
+|
+vous obtiendrez un effet enti\`erement diff\'erent.
+\TeX\ traitera `|\count11|' comme une commande avec un argument `|3|',
+suivi par les tokens de texte ordinaire `|pc plus 1em|'
+(parce que les registres de compteur attendent l'affectation d'un nombre)%
+---probablement pas ce dont vous aviez
+intention. L'effet de la commande, donc, sera d'assigner
+$3$ au registre du compteur $11$ (voir la discussion sur ^|\count|,
+\xref\count).
+
+Les macros, d'un autre cot\'e, suivent toutes la m\^eme convention
+pour leurs arguments.
+^^{macros//arguments de}
+Chaque argument pass\'e \`a une macro
+correspond \`a un \refterm{param\`etre}
+^^{param\`etres//et arguments}
+dans la d\'efinition de cette
+macro. ^^{macros//param\`etres de}
+Un param\`etre de macro est soit ``d\'elimit\'e'', soit ``non d\'elimite''.
+La d\'efinition de la macro d\'etermine le nombre et la nature des param\`etres de la macro
+et donc le nombre et la nature des arguments de la macro.
+
+La diff\'erence entre un argument d\'elimit\'e et un argument non d\'elimit\'e tient
+\`a la fa\c con qu'a \TeX\ de d\'ecider o\`u se termine l'argument.
+^^{arguments d\'elimit\'es}
+^^{arguments non d\'elimit\'es}
+\ulist
+\li Un argument d\'elimit\'e est constitu\'e des tokens \`a partir du d\'ebut de
+l'argument jusqu'\`a, mais sans l'inclure, la suite de tokens particuliers
+qui servent comme d\'elimiteur pour cet argument. Le d\'elimiteur est sp\'ecifi\'e
+dans la d\'efinition de la macro. Ainsi, vous ajoutez un argument d\'elimit\'e \`a
+une macro en \'ecrivant l'argument lui-m\^eme, suivi par le d\'elimiteur. Un
+argument d\'elimit\'e peut \^etre vide, c'est-\`a-dire, ne pas avoir de texte du
+tout. Chaque accolade d'un argument d\'elimit\'e doit \^etre appair\'e
+correctement, c'est-\`a-dire, chaque accolade gauche doit avoir une accolade
+droite correspondante et vice versa.
+
+\li Un argument non d\'elimit\'e consiste en un token simple ou une suite de
+tokens entour\'e d'accolades, comme ceci~:
+`|{Here is {the} text.}|'. Malgr\'e les apparences, les accolades ext\'erieures
+ne forment pas un \refterm{groupe}---\TeX\ ne les utilise que pour
+d\'eterminer quel est l'argument. Chaque accolade interne, comme celles autour
+de `|the|', doivent \^etre appair\'ees correctement. Si vous faites une erreur
+et mettez trop d'accolades fermantes, \TeX\ se plaindra d'un `unexpected right brace'
+\TeX\ se plaindra aussi si vous mettez trop d'accolades ouvrantes, mais vous
+obtiendrez \emph{cette} plainte longtemps apr\`es l'endroit o\`u vous pensiez
+finir l'argument (voir \xref{mismatched}).
+\endulist
+\noindent
+Voir \conceptcit{macro} pour plus d'information sur les param\`etres et les
+arguments. Vous trouverez les r\`egles pr\'ecises concernant les arguments
+d\'elimit\'es et non d\'elimit\'es dans \knuth{pages~203--204}{237--239}.
+\endconcept
+
+
+\concept {ASCII}
+
+\defterm{\ascii} est l'abr\'eviation de ``American Standard Code for
+Information Interchange''. Il y a $256$ ^{caract\`eres} \ascii, chacun avec
+son propre num\'ero de code, mais seuls les~$128$ premiers
+ont \'et\'e standardis\'es. Vous pouvez trouver leur signification dans une ``table
+de codes'' \ascii\ comme celle de la \knuth{page~367}{425}.
+Les caract\`eres $32$--$126$ sont des ``caract\`eres imprimables'',
+^^{caract\`eres imprimables} comme les lettres, les chiffres et les signes de
+ponctuation. Les caract\`eres restants sont des ``^{caract\`eres de contr\^ole}''
+qui sont utilis\'es sp\'ecialement (dans l'industrie informatique, pas dans \TeX)
+pour contr\^oler les entr\'ees\slash sorties et les instruments de communication
+de donn\'ees.
+Par exemple, le code \ascii\ $84$ correspond \`a la lettre `T', tandis que
+le code \ascii\ $12$ correspond \`a la fonction ``form feed''
+(interpr\'et\'e par la plupart des imprimantes par ``commence une nouvelle page'').
+Bien que le standard \ascii\ sp\'ecifie des significations pour les caract\`eres de
+contr\^ole, beaucoup de fabricants d'\'equipements tels que modems et imprimantes
+ont utilis\'e les caract\`eres de contr\^ole pour des usages autres que le standard.
+
+La signification d'un caract\`ere dans \TeX\ est normalement li\'ee \`a sa signification
+dans le standard \ascii, et les \refterm{polices:police} qui contiennent
+des caract\`eres imprimables \ascii\ ont normalement ces caract\`eres aux m\^emes
+positions que leurs contreparties \ascii.
+Mais certaines polices, notamment celles utilis\'ees en math\'ematique, remplacent
+les caract\`eres imprimables \ascii\ par d'autres caract\`eres sans aucune relation
+avec les caract\`eres \ascii.
+Par exemple, La police Computer Modern math\'ematique
+^^{police Computer Modern}
+|cmsy10| a le symbole math\'ematique
+`{$\forall$}' \`a la place du chiffre \ascii\ `8'.
+
+
+\endconcept
+
+\conceptindex{assignements}
+\concept assignement
+
+Un \defterm{assignement} est une construction qui dit \`a \TeX\ d'assigner une
+valeur \`a un registre,
+^^{registres//assignement \`a des}
+\`a un de ces
+\refterm{param\`etres:param\`etre} internes,
+^^{param\`etres//assignements \`a des}
+\`a une entr\'ee dans une de ces tables internes
+ou \`a une \refterm{s\'equence de contr\^ole}. Quelques exemples d'assignements sont~:
+
+\csdisplay
+\tolerance = 2000
+\advance\count12 by 17
+\lineskip = 4pt plus 2pt
+\everycr = {\hskip 3pt \relax}
+\catcode\`@ = 11
+\let\graf = \par
+\font\myfont = cmbx12
+|
+
+Le premier assignement indique que \TeX\ doit assigner la valeur num\'e\-rique
+|2000| au param\`etre num\'erique |\tolerance|, c'est-\`a-dire, met la valeur de
+|\tolerance| \`a $2000$. Les autres assignements sont similaires. Le `|=|'
+et les espaces sont optionnels, donc vous pouvez aussi \'ecrire le premier
+assignement plus bri\`evement~:
+
+\csdisplay
+\tolerance2000
+|
+
+Voir \knuth{pages~276--277}{321--322} pour la syntaxe d\'etaill\'ee des assignements.
+\endconcept
+
+
+\conceptindex{\boites}
+\concept {\boites}
+
+Une \defterm{bo\^\i te} est un rectangle de mati\`ere \`a composer. Un simple
+\refterm{caract\`ere} est une bo\^\i te par lui-m\^eme, et une page enti\`ere est
+aussi une bo\^\i te. \TeX\ forme une page comme une suite de bo\^\i tes contenant
+des bo\^\i tes contenant des bo\^\i tes. La bo\^\i te sup\'erieure est la page elle-m\^eme,
+les bo\^\i tes inf\'erieures sont souvent de simples caract\`eres et de simples
+lignes sont des bo\^\i tes qui sont quelque part au milieu.
+
+\TeX\ effectue la plupart de ses activit\'es de construction de bo\^\i te implicitement quand il
+construit des paragraphes et des pages.
+Vous pouvez construire des bo\^\i tes explicitement
+en utilisant nombre de \refterm{commandes} de \TeX, notamment
+^|\hbox| \ctsref{\hbox},
+^|\vbox| \ctsref{\vbox} et
+^|\vtop| \ctsref{\vtop}.
+La commande ^|\hbox|
+construit une bo\^\i te en assemblant des plus petites bo\^\i tes horizontalement de gauche \`a droite~;
+il op\`ere sur une \refterm{liste horizontale} et donne
+une \refterm{hbox} ^^{hbox} (bo\^\i te horizontale).
+^^{listes horizontales}
+Les commandes ^|\vbox| et |\vtop|
+construisent une bo\^\i te en assemblant de plus petites bo\^\i tes verticalement de haut en bas~;
+^^{vbox}
+elles op\`erent sur une \refterm{liste verticale}
+et donnent une \refterm{vbox} ^^{vbox} (bo\^\i te verticale).
+^^{listes verticales}
+Ces listes horizontales et verticales peuvent ne pas inclure que des bo\^\i tes plus petites mais
+plusieurs autres sortes d'entit\'es, par exemple, un \refterm{ressort} et
+des cr\'enages.
+^^{cr\'enages//comme \'el\'ements de liste}
+
+Une bo\^\i te a une \refterm{hauteur}, une \refterm{profondeur} et une \refterm{largeur},
+^^{hauteur} ^^{profondeur} ^^{largeur}
+comme ceci~:
+\vdisplay{\offinterlineskip\sevenrm
+ \halign{#&#&\kern3pt \hfil#\hfil\cr
+ &\hrulefill\cr
+ &\vrule
+ \vtop to .7in{\vss \hbox to .9in{\hss ligne de base\hss}\vskip4pt}%
+ \vrule
+ &\labelledheight{.7in}{hauteur}\cr
+ %
+ \vbox to 0pt{
+ \vss
+ \hbox{point de r\'ef\'erence\hbox to 15pt{\rightarrowfill}%
+ \hskip3pt}%
+ \kern-4.5pt}&{\box\refpoint}\hrulefill\cr
+ %
+ \omit
+ &\vrule\hfil\vrule
+ &\labelledheight{.4in}{profondeur}\cr
+ %
+ &\hrulefill\cr
+ %
+ \noalign{\vskip3pt}%
+ &\leftarrowfill { largeur }\rightarrowfill\cr
+}}
+
+^^{lignes de base}
+La \refterm{ligne de base} est comme une des
+lignes-guide claire d'un bloc de papier lign\'e.
+Les bo\^\i tes de lettres telles qu'un `g'
+s'\'etendent sous la ligne de base~; Les bo\^\i tes de lettres telles qu'un `h' ne le font pas.
+La hauteur d'une bo\^\i te est la distance par laquelle une bo\^\i te s'\'etend au-dessus de sa
+ligne de base, tandis que sa profondeur est la distance par laquelle elle s'\'etend sous sa
+ligne de base. \bix^^{point de r\'ef\'erence}
+Le \minref{point de r\'ef\'erence}
+d'une bo\^\i te est l'endroit o\`u sa ligne de base rejoint son cot\'e gauche.
+
+{\tighten
+\TeX\ construit une hbox $H$ d'une liste horizontale en d\'esignant un point
+de r\'ef\'erence pour $H$ et en enfilant les items dans la liste $H$ un par un
+de gauche \`a droite. chaque bo\^\i te de la liste est plac\'ee de telle fa\c con que
+sa ligne de base co\"\i ncide avec la ligne de base de $H$\kern-2pt, c'est-\`a-%
+dire que les bo\^\i tes la composant sont align\'ees horizontalement%
+\footnote{Si une bo\^\i te est hauss\'ee ou baiss\'ee avec ^|\raise| ou ^|\lower|,
+\TeX\ utilise son point de r\'ef\'erence avant le d\'eplacement quand il la
+place.}. La hauteur de $H$ est la hauteur de la bo\^\i te la plus grande de la
+liste, et la profondeur de $H$ est la profondeur de la bo\^\i te la plus
+profonde de la liste. La largeur de $H$ est la somme des largeurs de tous
+les items dans la liste. Si quelques-uns de ces items sont des
+\refterm{ressort}s et que \TeX\ a besoin de r\'etr\'ecir ou d'\'etirer le ressort, la
+largeur de $H$ sera plus large ou plus \'etroite en cons\'equence. Voir la
+\knuth{page~77}{90} pour les~d\'etails.
+\par}
+
+De m\^eme, \TeX\ construit une vbox $V$ d'une liste verticale en d\'esignant un
+point de r\'ef\'erence temporaire pour $V$ et ensuite en enfilant les items dans la
+liste $V$ un par un de haut en bas. Chaque bo\^\i te dans la liste est
+plac\'ee de telle fa\c con que leur point de r\'ef\'erence est align\'e verticalement avec le
+point de r\'ef\'erence de $V$\footnote{Si une bo\^\i te est d\'eplac\'ee \`a gauche
+ou \`a droite avec
+^|\moveleft| ou ^|\moveright|, \TeX\ utilise son point de r\'ef\'erence avant
+le d\'eplacement quand il la place.}. Quand chaque bo\^\i te autre que la premi\`ere est ajout\'ee \`a
+\Vcomma, \TeX\ met un \minref{ressort interligne} juste au-dessus d'elle. (Ce
+^{ressort interligne} n'a pas d'\'equivalent pour les hbox.) La largeur de $V$ est la
+largeur de la bo\^\i te la plus large de la liste, et les extensions verticales (hauteur
+plus profondeur) de $V$ est la somme des \'el\'ements verticaux \'etendus de tous les
+items de la liste.
+
+\bix^^|\vbox|
+\bix^^|\vtop|
+La diff\'erence entre |\vbox| et |\vtop| est sur leur fa\c con de partitionner
+l'extension verticale de $V$ en hauteur et en largeur.
+Le choix du point de r\'ef\'erence de $V$ d\'etermine cette partition.
+\ulist
+\li Pour |\vbox|, \TeX\ place le point de r\'ef\'erence sur une ligne
+horizontale avec le point de r\'ef\'erence du dernier composant bo\^\i te ou trait
+de \Vcomma, sauf que si la derni\`ere bo\^\i te (ou le dernier trait) est
+suivie d'un ressort ou d'un cr\'enage, \TeX\ place le point de r\'ef\'erence tout en
+bas de $V$%
+\footnote{La profondeur est limit\'ee par le param\`etre
+^|\boxmaxdepth| \ctsref{\boxmaxdepth}.}.
+
+\li Pour |\vtop|, \TeX\ place le point de r\'ef\'erence sur une ligne horizontale
+avec le point de r\'ef\'erence du premier composant bo\^\i te ou trait de \Vcomma,
+sauf que si la premi\`ere bo\^\i te (ou le premier trait)
+est pr\'ec\'ed\'ee par un ressort ou un cr\'enage, \TeX\ place
+le point de r\'ef\'erence tout en haut de \Vperiod.
+
+\endulist
+\noindent
+A proprement parler, alors, |\vbox| met le point de r\'ef\'erence pr\`es du haut
+du vbox et |\vtop| le met pr\`es du haut.
+Quand vous voulez aligner une rang\'ee de vbox pour que leur sommet
+s'aligne horizontalement,
+vous utiliserez normalement |\vtop| plut\^ot que |\vbox|.
+Voir les \knuth{pages~78 et 80--81}{91 et 94--95} pour les
+d\'etails sur comment \TeX\ construit des vbox.
+\eix^^|\vbox|
+\eix^^|\vtop|
+\eix^^{point de r\'ef\'erence}
+
+Vous avez une certaine libert\'e dans la construction de bo\^\i tes. Le mat\'eriel
+\`a composer
+dans une bo\^\i te peut s'\'etendre au-del\`a des bords de la bo\^\i te comme il le fait
+pour certaines lettres (pour la plupart italiques ou pench\'ees). Les composants
+bo\^\i tes des grandes bo\^\i tes peuvent se chevaucher.
+Une bo\^\i te peut avoir une largeur, une profondeur ou une hauteur n\'egative,
+des bo\^\i tes comme celles-ci ne sont pas souvent utiles.
+
+Vous pouvez sauvegarder une bo\^\i te dans un \refterm{registre} de bo\^\i te et la rappeler plus tard.
+Avant d'utiliser un registre de bo\^\i te,
+^^{registres de \boite}
+Vous devez la r\'eserver et lui donner un nom
+avec la commande ^|\newbox| \ctsref{\@newbox}. Voir
+\conceptcit{registre} pour plus d'information sur les registres de bo\^\i tes.
+\endconcept
+
+
+\conceptindex{caract\`eres}
+\concept caract\`ere
+
+{\tighten
+\TeX\ travaille avec des \defterm{caract\`eres} provenant de deux contex\-tes~:
+des caract\`eres du source, quand il lit et des caract\`eres de sortie,
+quand il compose. \TeX\ transforme la plupart des caract\`eres saisis dans
+le caract\`ere de sortie qui lui correspond. Par exemple, il transforme
+normalement la lettre saisie `|h|' en `h' compos\'e dans la police courante.
+Ce n'est pas le cas, n\'eanmoins, pour un caract\`ere saisi tel que `|$|' qui
+a une signification sp\'eciale.
+\par}
+
+\TeX\ obtient ses caract\`eres saisis en les lisant \`a partir du fichier source
+(ou de votre terminal) et en d\'eveloppant les \refterm{macros:macro}. Ce
+sont les seuls moyens par lesquels \TeX\ puisse acqu\'erir un caract\`ere saisi.
+Chaque caract\`ere d'entr\'ee a un num\'ero de code correspondant \`a sa position
+dans la table de code \refterm{\ascii}. ^^{\ascii}
+Par exemple, la lettre `|T|' a le code \ascii~$84$.
+
+Quand \TeX\ lit un caract\`ere, il lui attache un \refterm{code de cat\'egorie}.
+^^{codes de cat\'egorie//attach\'e pendant l'entr\'ee}
+Le code de cat\'egorie affecte la fa\c con dont \TeX\ interpr\`ete le caract\`ere
+une fois qu'il a \'et\'e lu. \TeX\ d\'etermine (et se souvient) des codes de
+cat\'egorie des caract\`eres d'une macro quand il lit sa d\'efinition. Comme \TeX\
+lit les caract\`eres avec ses yeux \seeconcept{\anatomy} il fait quelques
+``filtrages'' comme condenser des suites de caract\`eres espace en un espace
+seul. Voir les \knuth{pages~46--48}{56--59} pour les d\'etails de ce filtrage.
+
+Les ``^{caract\`eres de contr\^ole}'' \ascii\ ont les codes $0$--$31$ et $127$--$255$.
+Ils ne sont pas visualisables ou provoquent des choses \'etranges si vous essayez
+de les afficher.
+N\'eanmoins, on en a parfois besoin dans les sources \TeX, donc \TeX\ a une
+fa\c con sp\'eciale de les noter.
+\xrdef{twocarets}
+Si vous saisissez `|^^|$c$', o\`u $c$ est n'importe quel caract\`ere, vous obtenez
+le caract\`ere dont le code \ascii\ est soit plus grand soit plus petit de $64$
+que le code \ascii\ de $c$.
+La plus grande valeur de code acceptable en utilisant cette notation est $127$
+donc la notation n'est pas ambigu\"e.
+Trois instances particu\-li\`erement communes de cette notation sont
+`|^^M|' (le caract\`ere \ascii\ \asciichar{retour}),
+`|^^J|' (le caract\`ere \ascii\ \asciichar{saut\ de\ page}) et
+`|^^I|' (le caract\`ere \ascii\ \asciichar{tabulation\ horizontale}).
+\ttidxref{^^M}\ttidxref{^^J}\ttidxref{^^I}
+
+{\tighten
+\TeX\ a aussi une autre notation pour indiquer la valeur des codes \ascii\
+qui fonctionne pour tous les codes de caract\`ere de $0$ \`a $255$.
+\xrdef{hexchars}
+Si vous saisissez `|^^|$xy$', o\`u $x$ et $y$ sont des ^{chiffres
+hexad\'ecimaux} `|0123456789abcdef|', vous obtenez le caract\`ere dont le
+code est sp\'ecifi\'e. Des lettres minuscules sont n\'ecessaires ici.
+\TeX\ opte pour l'interpr\'etation des ``chiffres hexad\'ecimaux'' quand il
+a le choix, donc vous ne devez pas faire suivre un caract\`ere comme `|^^a|'
+par un chiffre hexad\'ecimal minuscule---si vous le faites, vous aurez la
+mauvaise interpr\'etation.
+Si vous avez besoin d'utiliser cette notation, vous trouverez pratique
+d'avoir une table des codes \ascii.
+\par}
+
+Un caract\`ere de sortie est un caract\`ere de composition.
+Une commande qui produit un caract\`ere de sortie signifie
+``produit une \refterm{bo\^\i te} contenant un caract\`ere num\'ero $n$ dans
+la \refterm{police} courante'', o\`u $n$ est d\'etermin\'e par la commande.
+\TeX\ produit votre document compos\'e en combinant de telles bo\^\i tes avec
+d'autres \'el\'ements typographiques et les arrange sur la page.
+
+Un caract\`ere d'entr\'ee dont le code de cat\'egorie est $11$ (^{lettre}) ou
+$12$ (autre)
+^^{autres caract\`eres}
+agit comme une commande pour produire le caract\`ere de sortie correspondant.
+En plus, vous pouvez demander \`a \TeX\ de produire un carac\-t\`ere $n$ en
+entrant la commande `|\char |$n$' \ctsref{\char}, ^^|\char| o\`u $n$ est un
+\refterm{nombre} entre $0$ et $255$. Les commandes `|h|',
+|\char`h| et |\char104| ont toutes le m\^eme effet. ($104$ est le
+code \ascii\ de `h'.)
+
+\endconcept
+
+
+\conceptindex{caract\`eres actifs}
+\concept {caract\`ere actif}
+
+Un \defterm{caract\`ere actif} est un \refterm{caract\`ere} poss\'edant une
+d\'efinition, c'est-\`a-dire, une d\'efinition de macro, qui lui est associ\'ee.
+^^{macros//nomm\'ees par des caract\`eres actifs}
+Vous pouvez penser \`a un caract\`ere actif comme \`a une s\'equence de contr\^ole
+d'un type sp\'ecial. Quand \TeX\ rencontre un caract\`ere actif, il ex\'ecute la
+d\'efinition associ\'ee avec le caract\`ere. Si \TeX\ rencontre un caract\`ere actif
+qui n'a pas de d\'efinition associ\'ee, il se plaindra d'un ``undefined control
+sequence''.
+
+Un caract\`ere actif a un \refterm{code de cat\'egorie} \`a $13$ (la valeur
+d'^|\active|).
+Pour d\'efinir un caract\`ere actif, vous devez d'abord
+utiliser la commande ^|\catcode|
+\ctsref{\catcode} pour le rendre actif
+et ensuite donner la d\'efini\-tion du caract\`ere, en utilisant
+une commande comme |\def|, |\let| ou |\chardef|.
+La d\'efinition d'un caract\`ere actif a la m\^eme forme que
+la d\'efinition d'une \refterm{s\'equence de contr\^ole}.
+^^{codes de cat\'egorie//de caract\`eres actifs}
+Si vous essayez de d\'efinir la macro pour un caract\`ere actif
+avant d'avoir rendu le caract\`ere actif, \TeX\ se plaindra d'un
+"missing control sequence".
+
+Par exemple, le caract\`ere tilde (|~|) est d\'efini comme un caract\`ere
+actif dans \plainTeX. Il
+produit un espace entre deux mots mais relie ces mots pour que
+\TeX\ ne transforme pas cet espace en \refterm{coupure de ligne}.
+\refterm{\PlainTeX:\plainTeX} d\'efinit `|~|' par les commandes~:
+
+\csdisplay
+\catcode `~ = \active \def~{\penalty10000\!visiblespace}
+|
+(|\penalty| inhibe une coupure de ligne et `|\!visiblespace|'
+ins\`ere un espace.)
+\endconcept
+
+
+\concept {caract\`ere d'\'echappement}
+
+Un \defterm{caract\`ere d'\'echappement} introduit une s\'equence de contr\^ole.
+Le caract\`ere d'\'echappement dans \refterm{\plainTeX} est l'antislash (|\|).
+\indexchar \
+Vous pouvez changer le caract\`ere d'\'echappement de $c_1$ vers $c_2$
+en r\'eassignant les codes de cat\'egorie de $c_1$ et $c_2$
+avec la commande ^|\catcode| \ctsref{\catcode}.
+Vous pouvez aussi d\'efinir des caract\`eres d'\'echap\-pement additionnels de la m\^eme fa\c con.
+Si vous voulez composer du mat\'e\-riel contenant des caract\`eres d'\'echappement litt\'eraux,
+vous devez
+soit
+(a) d\'efinir une s\'equence de contr\^ole qui transforme le caract\`ere d'\'echap\-pe\-ment imprim\'e soit
+(b) changer temporairement son code de cat\'egorie, en utilisant la
+m\'ethode montr\'ee en \xrefpg{verbatim}. La d\'efinition~:
+
+\csdisplay
+\def\\{$\backslash$}
+|
+est un moyen de cr\'eer une s\'equence de contr\^ole qui le transforme en `$\backslash$'
+(un antislash compos\'e dans une police math\'ematique).
+
+Vous pouvez utiliser le param\`etre ^|\escapechar| \ctsref{\escapechar} pour sp\'ecifier
+comment le caract\`ere de contr\^ole est repr\'esent\'e dans des s\'equences de contr\^ole
+synth\'etis\'ees,
+c'est-\`a-dire, celles cr\'e\'ees par |\string| et |\message|.
+
+
+\endconcept
+
+
+\concept {c\'esure}
+
+\TeX\ c\'esure les mots automatiquement en compilant votre document.
+\TeX\ n'est pas un acharn\'e de l'insertion de c\'esure, pr\'ef\'erant trouver \`a la
+place une bonne coupure de ligne en ajustant l'espace entre les mots et en
+d\'epla\c cant les mots d'une ligne \`a l'autre.
+\TeX\ est assez intelligent pour comprendre les c\'esures qui sont d\'ej\`a dans
+les mots
+
+Vous pouvez contr\^oler les c\'esures de \TeX\ de plusieurs fa\c cons~:
+\ulist
+\li Vous pouvez dire \`a \TeX\ d'autoriser une c\'esure \`a un endroit particulier
+en ins\'erant une c\'esure optionnelle
+^^{c\'esures optionnelles}
+avec la commande ^|\-| \ctsref{\@minus}.
+\li Vous pouvez dire \`a \TeX\ comment couper des mots particuliers dans votre
+document avec la commande ^|\hyphenation| \ctsref{\hyphenation}.
+\li Vous pouvez englober un mot dans une \refterm{hbox} pour emp\^echer \TeX\
+de le couper.
+\li Vous pouvez fixer la valeur des p\'enalit\'es comme avec |\hyphen!-pe!-nalty|
+\ctsref\hyphenpenalty.
+\endulist
+\noindent Si un mot contient une c\'esure explicite ou optionnelle,
+\TeX\ ne le coupera jamais ailleurs.
+\endconcept
+
+
+\concept classe
+
+La \defterm{classe} d'un \refterm{caract\`ere} sp\'ecifie le r\^ole de ce caract\`ere
+dans les formules math\'ematiques. La classe d'un caract\`ere est encod\'ee dans son
+\refterm{mathcode}. ^^{mathcodes//classe encod\'ee en} Par exemple, le
+signe \'egal `|=|' est dans la classe $3$ (Relation). \TeX\ utilise sa
+connaissance de classe de caract\`ere pour d\'ecider combien d'espace mettre
+entre diff\'erents composants d'une formule math\'ematique. \margin{clarifying
+material added} Par exemple, voici une formule math\'ematique affich\'ee comme
+\TeX\ l'im\-prime normalement et avec la classe de chaque caract\`ere modifi\'e
+al\'eatoi\-rement~:
+$$\strut a+(b-a)=a \qquad
+ \mathopen{a}\mathord{+}\mathrel{(}\mathclose{b}\mathclose{-}
+ \mathop{a}\mathopen{)}\mathord{=}\mathopen{a}$$
+
+Voir \xrefpg\mathord\ de ce livre pour une liste des classes et la
+\knuth{page~154}{180} pour leurs significations.
+
+\endconcept
+
+
+\conceptindex{codes de cat\'egorie}
+\concept {codes de cat\'egorie}
+
+Le \defterm{code de cat\'egorie} d'un \refterm{caract\`ere} d\'etermine le r\^ole
+de ce caract\`ere dans \TeX.
+^^{caract\`eres//code de cat\'egorie}
+Par exemple, \TeX\ assigne un certain r\^ole aux
+lettres, un autre au caract\`ere espace, et ainsi de suite. \TeX\ attache un
+code \`a chaque caract\`ere qu'il lit. Quand \TeX\ lit la
+lettre `|r|', par exemple, il lui attache normalement
+le code de cat\'egorie $11$ (lettre).
+Pour de simples applications \TeX\ vous n'avez pas \`a vous pr\'eoccuper des
+codes de cat\'egorie, mais ils deviennent importants quand vous essayez
+des effets sp\'eciaux.
+
+Les codes de cat\'egorie ne s'appliquent qu'aux caract\`eres que \TeX\ lit dans les
+fichiers source. Une fois qu'un caract\`ere a pass\'e l'^{\oesophage} de \TeX\
+\seeconcept{\anatomy} et a \'et\'e interpr\'et\'e, son code de cat\'egorie ne
+sert plus. Un caract\`ere que vous produisez avec la commande ^|\char|
+\ctsref{\char} n'a pas de code de cat\'egorie parce que |\char|
+est une instruction pour que \TeX\ produise un certain caract\`ere d'une
+certaine \refterm{police}. Par exemple, le code ^{\ascii} pour `|\|'
+(le caract\`ere d'\'echappement usuel) est $92$. Si
+vous saisissez `|\char92 grok|', Ce n'est \emph{pas} \'equivalent \`a |\grok|.
+\`a la place il demande \`a \TeX\ de
+composer `$c$grok', o\`u $c$ est le caract\`ere en position $92$
+de la table de code de la police courante.
+
+Vous pouvez utiliser la commande ^|\catcode| \ctsref{\catcode} pour r\'eassigner le
+code de cat\'egorie de tout caract\`ere. En changeant les code de cat\'egorie vous
+pouvez changer les r\^oles de caract\`eres vari\'es. Par exemple, si vous saisissez
+`|\catcode`\@ = 11|', le code de cat\'egorie du signe arrose (|@|) sera celui
+d'une ``lettre''. Vous pourrez alors avoir `|@|' dans le nom d'une s\'equence de
+contr\^ole.
+
+Voici une liste des codes de cat\'egorie tels qu'ils sont d\'efinis dans
+\refterm{\plainTeX} (voir \xref{twocarets} pour une explication de la
+notation |^^|),
+ainsi que les caract\`eres de chaque cat\'egorie~:
+
+\xrdef{catcodes}
+\vskip\abovedisplayskip
+%k \vskip 0pt plus 2pt % to fix bad page break
+{%k \interlinepenalty = 10000
+\halign{\indent\hfil\strut#&\qquad#\hfil\cr
+\it Code&\it Signification\cr
+\noalign{\vskip\tinyskipamount}
+0&Caract\`ere d'\'echappement \quad |\| ^^{caract\`ere d'\'echappement//code de cat\'egorie}
+ {\recat!ttidxref[\//code de cat\'egorie]]
+ \cr
+1&D\'ebut d'un groupe \quad |{| ^^{groupes}
+ {\recat!ttidxref[{//code de cat\'egorie]]
+ \cr
+2&Fin d'un groupe \quad |}|
+ {\recat!ttidxref[}//code de cat\'egorie]]
+ \cr
+3&basculement en math\'ematique \quad |$| ^^{basculement en math\'ematique}
+ {\recat!ttidxref[$//code de cat\'egorie]]
+ \cr
+4&Alignement tab \quad |&| ^^{tabulations} ^^{alignements//caract\`ere tabulation pour}
+ \ttidxref{&//code de cat\'egorie} \cr
+5&Fin d'une ligne \quad |^^M| \tequiv \ascii\ \asciichar{retour chariot}
+ ^^{fin de ligne} \ttidxref{^^M//code de cat\'egorie}\cr
+6&Param\`etre de macro \quad |#|
+ ^^{macros//param\`etres de}
+ ^^{param\`etres//indiqu\'es par \b\tt\#\e}
+ \ttidxref{#//code de cat\'egorie} \cr
+7&Exposant \quad |^| et |^^K| ^^{exposants}
+ \ttidxref{^^K}
+ \ttidxref{^//code de cat\'egorie} \cr
+8&Indice \quad |_| et |^^A| ^^{indices}
+ \ttidxref{^^A}
+ \ttidxref{_//code de cat\'egorie} \cr
+9&caract\`ere ignor\'e \quad |^^@| \tequiv \ascii\ \asciichar{nul}
+ ^^{caract\`eres ignor\'es} \indexchar ^^@ \cr
+10&Espace \quad \visiblespace\ et |^^I| \tequiv \ascii\
+ \asciichar{tabulation}
+ ^^{tabulation horizontale}
+ ^^{caract\`eres espaces//code de cat\'egorie} \indexchar ^^I
+ {\recat!ttidxref[ ]]
+ \cr
+11&Lettre \quad |A| \dots |Z| et |a| \dots |z| ^^{lettre}\cr
+12&Autres caract\`eres \quad (tout ce qui n'est pas ci-dessus ou ci-dessous)
+ ^^{autres caract\`eres}\cr
+13&Caract\`ere actif \quad |~| et |^^L| \tequiv\ascii\ \asciichar{saut\ de\ page}
+ ^^{caract\`eres actifs} ^^{retour chariot} \indexchar ~ \indexchar ^^L \cr
+14&Caract\`ere de commentaire \quad |%| ^^{commentaires}
+ {\recat!ttidxref[%//code de cat\'egorie]]
+ \cr
+15&Caract\`ere invalide \quad |^^?| \tequiv \ascii\ \asciichar{suppression}
+ ^^{caract\`eres invalides} \indexchar ^^? \cr
+}}
+\vskip\belowdisplayskip
+%k \vskip 0pt plus 2pt % to fix bad page break
+
+\noindent Mise \`a part ceux des cat\'egories $11$--$13$,
+tous les caract\`eres d'une cat\'egorie particuli\`ere produisent le m\^eme effet.
+\margin{Misleading material removed.}
+Par exemple, supposez
+que vous saisissiez~:
+\csdisplay
+\catcode`\[ = 1 \catcode`\] = 2
+|
+Alors les caract\`eres crochets droits et gauches deviennent \'equivalents aux caract\`eres de
+d\'ebut et de fin d'un groupe, les caract\`eres accolades droites et gauches.
+Avec ces d\'efinitions `|[a b]|'
+est un groupe valide, ainsi que \hbox{`|[a b}|'} et~\hbox{`|{a b]|'}.
+
+Les caract\`eres des cat\'egories $11$ (lettre) et $12$
+(autres caract\`eres) agis\-sent comme des \refterm{commandes:commande}
+qui signifient
+``produit une \refterm{bo\^\i te} contenant ce caract\`ere
+compos\'e dans la police courante''.
+La seule distinction entre les lettres et les ``autres'' caract\`eres est
+que les lettres peuvent appara\^\i tre dans des \refterm{mots de contr\^ole} mais
+pas les ``autres'' caract\`eres.
+
+Un caract\`ere de cat\'egorie $13$ (actif) agit comme une s\'equence de contr\^o\-le
+\`a lui tout seul. \TeX\ se plaint s'il rencontre un caract\`ere actif qui n'est
+pas associ\'e avec une d\'efinition.
+^^{caract\`eres actifs}
+
+Si \TeX\ rencontre un caract\`ere invalide ^^{caract\`eres invalides} (cat\'egorie $15$)
+dans votre source, il s'en plaindra.
+
+Les caract\`eres `|^^K|' et `|^^A|' ont \'et\'e inclus dans les cat\'egories
+$8$ (indice) et $9$ (exposant), m\^eme si ces significations
+ne suivent pas l'interpr\'etation du standard \refterm{\ascii}.
+C'est parce que certains claviers, tout du moins certains \`a
+l'universit\'e de Stanford d'o\`u \TeX\ est originaire, n'ont pas
+de touche fl\`eche vers le bas et fl\`eche vers le haut qui g\'en\`erent ces caract\`eres.
+\ttidxref{^^A}
+\ttidxref{^^K}
+
+Il y a une subtilit\'e sur la fa\c con dont \TeX\ assigne les codes de cat\'egories
+qui peut vous d\'eboussoler si vous ne la connaissez pas. \TeX\ a parfois
+besoin de rechercher un caract\`ere deux fois quand il fait un survol initial~:
+la premi\`ere fois pour la fin d'une pr\'ec\'edente construction, c'est-\`a-dire,
+une s\'equence de contr\^ole et ensuite pour transformer ce caract\`ere en token.
+\TeX\ n'a pas besoin d'assigner le code de cat\'egorie avant d'avoir vu le
+\emph{second} caract\`ere. Par exemple~:
+
+\csdisplay
+\def\foo{\catcode`\$ = 11 }% Make $ be a letter.
+\foo$ % Produces a `$'.
+\foo$ % Undefined control sequence `foo$'.
+|
+\noindent
+Ce bout de code \TeX\ produit `\$' dans la sortie. Quand \TeX\ voit le
+`|$|' sur la seconde ligne, il recherche la fin du nom d'une s\'equence de
+contr\^ole. Puisque le `|$|' n'est pas encore une lettre, il marque la fin de
+`|\foo|'. Ensuite, \TeX\ d\'eveloppe la macro `|\foo|' et change le code de
+cat\'egorie de `|$|' en $11$ (lettre). Alors, \TeX\ lit le `|$|' ``pour de
+vrai''. Puisque `|$|' est maintenant une lettre, \TeX\ produit une bo\^\i te
+contenant le caract\`ere `|$|' de la police courante. Quand \TeX\ voit la
+troisi\`eme ligne, il traite `|$|' comme une lettre et donc consid\`ere qu'elle
+fait partie du nom de la s\'equence de contr\^ole. Avec comme r\'esultat qu'il se
+plaint d'un ``undefined control sequence |\foo$|''.
+
+\TeX\ se comporte de cette fa\c con m\^eme lorsque le caract\`ere de
+terminaison est une fin de ligne. Par exemple, supposez que la macro
+|\fum| active le caract\`ere de fin de ligne. Alors si |\fum|
+appara\^\i t sur une ligne $\ell$ elle-m\^eme, \TeX\ interpr\'etera
+d'abord la fin de la ligne $\ell$ comme la fin de la s\'equence de
+contr\^ole |\fum| et ensuite \emph{r\'einterpr\'etera} la fin de la
+ligne de $\ell$ comme un caract\`ere actif.
+
+\endconcept
+
+
+\conceptindex{commandes}
+\concept commande
+
+Une \defterm{commande} demande \`a \TeX\ de faire une certaine action.
+Chaque \refterm{token} qui atteint l'estomac de \TeX\seeconcept{\anatomy}
+agit comme une commande, sauf celui qui fait partie des arguments d'une
+autre commande (voir dessous).
+^^{tokens//comme commandes}
+Une commande peut \^etre appel\'ee par une
+\refterm{s\'equence de contr\^ole}, par un \refterm{caract\`ere actif} ou par un
+caract\`ere ordinaire. Il peut sembler bizarre que \TeX\ traite un carac\-t\`ere
+ordinaire comme une commande, mais en fait c'est ce qu'il fait~:
+Quand \TeX\ voit
+un caract\`ere ordinaire
+il construit une \refterm{bo\^\i te} contenant ce caract\`ere compos\'e dans
+la police courante.
+
+Une commande peut avoir des arguments.
+Les arguments d'une commande sont de simples tokens ou
+groupes de tokens qui compl\`etent la description de ce que
+la commande est suppos\'ee faire.
+Par exemple, la commande `|\vskip 1in|' demande \`a \TeX\ de sauter
+$1$ pouce verticalement. Elle a un argument `|1in|',
+qui est constitu\'e de trois tokens.
+La description de ce que |\vskip| est suppos\'ee faire serait incompl\`ete
+sans sp\'ecifier de combien elle est suppos\'ee sauter.
+Les tokens dans les arguments d'une commande ne sont pas consid\'er\'es
+eux-m\^emes comme des commandes.
+
+Quelques exemples de diff\'erentes sortes de commandes de \TeX\ sont~:
+\ulist\compact
+\li Des caract\`eres ordinaires, comme `|W|', qui demande \`a \TeX\
+de produire une bo\^\i te contenant un `W' compos\'e.
+\li Des commandes de modification de police,
+telles que |\bf|, qui commence une composition en gras
+\li Des accents, tels que |\`|, qui produit un accent grave comme dans `\`e'
+\li Des symboles sp\'eciaux et des ligatures, comme |\P| (\P) et |\ae| (\ae)
+\li Des param\`etres, tels que |\parskip|, le montant du ressort que
+\TeX\ met entre les paragraphes
+\li des symboles math\'ematiques, tels que |\alpha| ($\alpha$) et |\in| ($\in$)
+\li Des op\'erateurs math\'ematiques, tels que |\over|, qui produit une fraction
+\endulist
+\endconcept
+
+
+\concept {constantes d\'ecimales}
+
+See \conceptcit{nombre}.
+\endconcept
+
+\concept {construction de page}
+
+Voir \conceptcit{page}.
+\endconcept
+
+
+\conceptindex{coupures de ligne}
+\concept {coupure de ligne}
+
+Une \defterm{coupure de ligne} est un endroit dans votre document o\`u \TeX\
+termine une ligne quand il compose un paragraphe. Quand \TeX\ compile votre
+document, il collecte le contenu de chaque paragraphe dans une \refterm{liste
+horizontale}. Quand il a collect\'e un paragraphe entier, il analyse la liste
+pour trouver ce qu'il consid\`ere comme \'etant les meilleures coupures de ligne
+possibles. \TeX\ associe des ``^{d\'em\'erites}'' avec diff\'erents sympt\^omes de
+coupure de ligne non attractive---des lignes ayant trop ou trop peu d'espace
+entre les mots, des lignes cons\'ecutives se terminant par des c\'esures, et
+ainsi de suite. Il choisit alors les coupures de lignes de mani\`ere \`a minimiser
+le nombre total de d\'em\'erites. Voir les \knuth{pages~96--101}{112--118} pour une
+description compl\`ete des r\`egles de coupure de ligne de \TeX.
+
+Vous pouvez contr\^oler le choix des coupures de ligne de \TeX\ de plusieurs mani\`eres~:
+\ulist
+
+\li vous pouvez ins\'erer une \refterm{p\'enalit\'e} (\xref{hpenalty}) quelque part
+dans la liste horizontale que \TeX\ construit quand il forme un paragraphe.
+^^{p\'enalit\'es//en listes horizontales}
+Une p\'enalit\'e
+positive d\'ecourage \TeX\ de couper la ligne \`a cet endroit, tandis qu'une
+p\'enalit\'e n\'egative---un bonus, en quelque sorte---encourage \TeX\ \`a couper
+la ligne \`a cet endroit. Une p\'enalit\'e de $10000$ ou plus emp\^eche une coupure de
+ligne, tandis qu'une p\'enalit\'e de $-10000$ ou moins force une coupure de ligne.
+Vous pouvez obtenir les m\^emes effets avec les commandes ^|\break| et
+^|\nobreak| (voir \pp\xrefn{hbreak} et~\xrefn{hnobreak}).
+
+\li Vous pouvez dire \`a \TeX\ d'autoriser une c\'esure \`a un endroit particulier
+en ins\'erant une c\'esure optionnelle
+^^{c\'esures optionnelles}
+avec la commande |\-| \ctsref{\@minus}, ou
+sinon en contr\^olant comment \TeX\ met des c\'esures dans votre document \seeconcept
+{c\'esure}.
+^^|\-//sur une coupure de ligne|
+
+\li Vous pouvez dire \`a \TeX\ d'autoriser une coupure de ligne apr\`es un
+(/) ^{slash} entre
+deux mots en ins\'erant un ^|\slash| \ctsref{\slash}
+entre eux, par exemple, `|fur!-longs\slash fortnight|'.
+
+\li Vous pouvez dire \`a \TeX\ de ne pas couper une ligne entre deux mots particuliers en
+ins\'erant une ^{punaise} (|~|) entre ces mots.
+^^|~//sur une coupure de ligne|
+
+\li Vous pouvez ajuster les p\'enalit\'es associ\'ees avec les coupures de ligne en
+assignant des valeurs diff\'erentes aux \refterm{param\`etres:param\`etre} de coupures de ligne de \TeX.
+
+\li Vous pouvez englober un mot ou une s\'equence de mots dans une \refterm{hbox},
+emp\^echant ainsi \TeX\ de couper la ligne o\`u que cela soit dans l'hbox.
+^^{hbox//contr\^oler des coupures de lignes}
+\endulist
+
+Il est pratique de savoir o\`u \TeX\ peut couper une ligne~:
+\ulist
+\li sur un ressort, sous r\'eserve que~:
+\olist
+\li l'objet pr\'ec\'edant le ressort est un des suivants~:
+une bo\^\i te, un objet optionnel (par exemple, une c\'esure optionnelle),
+la fin d'une formule math\'ematique,
+un \'el\'ement extraordinaire,
+ou du mat\'eriel vertical produit par |\mark|, |\vadjust|
+ou |\insert|
+\li Le ressort ne fait pas partie d'une formule math\'ematique
+\endolist
+\noindent
+Quand \TeX\ coupe une ligne sur un ressort, il fait la coupure du cot\'e gauche
+de l'espace du ressort et oublie le reste du ressort.
+\li sur un cr\'enage qui est imm\'ediatement suivi par un ressort,
+\`a condition que ce cr\'enage ne soit pas dans une formule math\'ematique
+\li \`a la fin d'une formule math\'ematique qui est imm\'ediatement suivie par un ressort
+\li sur une p\'enalit\'e, m\^eme dans une formule math\'ematique
+\li sur une c\'esure optionnelle
+\endulist
+Quand \TeX\ coupe une ligne, il efface toute s\'equence de ressort, cr\'enage et
+p\'enalit\'e qui suivent le point de coupure.
+Si une telle s\'equence est suivie par le d\'ebut d'une formule math\'ematique, il
+efface aussi tout cr\'enage produit au d\'ebut de la formule.
+\endconcept
+
+
+\conceptindex{coupures de page}
+\concept {coupure de page}
+
+Une \defterm{coupure de page} est un endroit dans votre document o\`u \TeX\
+termine une page et (sauf \`a la fin du document) en commence une nouvelle.
+Voir \conceptcit{page} pour le processus que \TeX\ traverse pour choisir
+une coupure de page.
+
+Vous pouvez contr\^oler le choix de coupure de page de \TeX\ de plusieurs fa\c cons~:
+\ulist
+\li Vous pouvez ins\'erer une p\'enalit\'e (\xref{vpenalty})
+^^{p\'enalit\'es//en listes verticales}
+entre deux \'el\'ements de la liste verticale principale. Une p\'enalit\'e positive
+d\'ecourage \TeX\ de couper la page \`a cet endroit, tandis qu'une p\'enalit\'e
+n\'egative---un bonus, autrement dit---%
+encourage \TeX\ de couper la page \`a cet endroit. Une p\'enalit\'e de $10000$
+ou plus pr\'evient une coupure de page, tandis qu'une p\'enalit\'e de $-10000$ ou
+moins force une coupure de page. Vous pouvez obtenir le m\^eme effet avec les
+commandes |\break| et |\nobreak| \ctsref{vbreak}.
+
+\li Vous pouvez ajuster les p\'enalit\'es associ\'ees aux coupures de page
+en assignant diff\'erentes valeurs aux \refterm{param\`etres:param\`etre} de
+coupure de page de \TeX.
+
+\li Vous pouvez englober une suite de paragraphes ou autres \'el\'ements dans
+la liste verticale principale avec une \refterm{vbox}, ceci emp\^eche \TeX\ de
+couper la page n'importe o\`u dans la suite.
+\endulist
+
+Une fois que \TeX\ a choisi une coupure de page, il place la portion
+de la liste verticale principale qui pr\'ec\`ede la coupure en |\box255|.
+Il appelle alors la \refterm{routine de sortie} courante pour ex\'ecuter |\box255|
+et \'eventuellement envoyer son contenu dans le \dvifile.
+^^{\dvifile//mat\'eriel de la routine de sortie}
+La routine de sortie doit aussi inclure des \refterm{insertions}, telles
+que des notes de pied de page, que \TeX\ a accumul\'e en ex\'ecutant la page.
+
+Il est utile de conna\^\i tre les endroits o\`u \TeX\ peut couper une page~:
+\ulist
+\li Sur le ressort, \`a condition que l'\'el\'ement pr\'ec\'edent le ressort soit
+une bo\^\i te, un \'el\'ement extraordinaire, une marque ou une insertion.
+Quand \TeX\ coupe une page sur un ressort, il fait la coupure devant
+l'espace du ressort et oublie le reste du ressort.
+\li Sur un cr\'enage qui est imm\'ediatement suivi par un ressort.
+\li Sur une p\'enalit\'e, vraisemblablement entre les lignes d'un paragraphe.
+\endulist
+Quand \TeX\ coupe une page, il efface toute s\'equence de ressort, cr\'enages et \'el\'ements
+de p\'enalit\'e qui suivent le point de coupure.
+
+
+\endconcept
+
+
+\conceptindex{cr\'enages}
+\concept cr\'enage
+
+^^{espacement//ajuster avec des cr\'enages}
+Un \defterm{cr\'enage} indique un changement de l'espacement normal entre
+les \'el\'ements d'une liste horizontale ou verticale.
+Un cr\'enage peut \^etre soit positif, soit n\'egatif. En
+mettant un cr\'enage positif entre deux \'el\'ements, vous les \'eloignez du
+montant du cr\'enage. en mettant un cr\'enage positif entre deux \'el\'ements,
+vous les rapprochez du montant du cr\'enage. Par exemple, ce texte~:
+\csdisplay
+11\quad 1\kern1pt 1\quad 1\kern-.75pt 1
+|
+produit des paires de lettres qui ressemblent \`a ceci~:
+\display{11\quad 1\kern1pt 1\quad 1\kern-.75pt 1}
+Vous pouvez utiliser des cr\'enages en mode vertical pour ajuster l'espace
+entre des paires de lignes particuli\`eres.
+
+Un cr\'enage de taille $d$ est tr\`es similaire \`a un \'el\'ement \refterm{ressort}
+qui a une taille $d$ sans \'etirement ni r\'etr\'ecissement. Le cr\'enage et le ressort
+ins\`erent ou enl\`event de l'espace entre deux \'el\'ements voisins. La diff\'erence
+essentielle est que \TeX\ consid\`ere deux bo\^\i tes n'ayant qu'un cr\'enage entre
+elles comme \'etant li\'ees. Cela fait que, \TeX\ ne coupe pas une ligne ou une
+page sur un cr\'enage sauf si le cr\'enage est imm\'ediatement suivi d'un ressort.
+Garder cette diff\'erence \`a l'esprit quand vous choisissez d'utiliser un
+cr\'enage ou un \'el\'ement ressort pour un usage particulier.
+
+\TeX\ ins\`ere automatiquement des cr\'enages entre des paires particuli\`eres de
+lettres adjacentes, ajustant ainsi l'espace entre ces lettres et mettant en
+valeur l'apparence de votre document compos\'e.
+Par exemple, la police Computer Modern romaine de $10$ points contient un
+cr\'enage pour la paire `To' qui remet le cot\'e gauche du `o' sous le `T'.
+Sans le cr\'enage, vous obtiendriez \hbox{``T{o}p''} au lieu de ``Top''---
+la diff\'erence est l\'eg\`ere mais visible.
+Le fichier de m\'etrique
+(^{\tfmfile})
+de chaque \refterm{police} sp\'ecifie le placement et la taille des cr\'enages
+que \TeX\ ins\`ere automatiquement quand il met du texte dans cette~police.
+\margin{paragraph deleted to save space; most of the material was
+already in this section.}
+
+\endconcept
+
+
+\conceptindex{dimensions}
+\concept dimension
+
+Une \defterm{dimension} sp\'ecifie une distance, c'est, une mesure lin\'eaire
+d'espace. Vous utilisez des dimensions pour sp\'ecifier des tailles de choses, comme les grandeurs
+d'une ligne. Les imprimeurs dans les pays de langue Anglaise mesurent traditionnellement
+les distances en points et en picas, tandis que les imprimeurs d'Europe continentale
+mesurent traditionnellement les distances en points Didot et en ciceros.
+Vous pouvez utiliser ces mesures ou d'autres, comme les pouces, qui peuvent
+vous \^etre plus familier. Les ^{unit\'es de mesure} ind\'ependantes des polices
+que \TeX\ comprend sont~:
+
+\xrdef{dimdefs}
+\nobreak\vskip\abovedisplayskip
+\halign{\indent\hfil\tt #\qquad&#\hfil\cr
+pt&^{point} (72.27 points = 1 pouce)\cr
+pc&^{pica} (1 pica = 12 points)\cr
+bp&big point (72 gros points = 1 pouce)\cr
+in&^{pouce}\cr
+cm&^{centim\`etre} (2.54 centim\`etres = 1 pouce)\cr
+mm&^{millim\`etre} (10 millim\`etres = 1 centim\`etre)\cr
+dd&^{\didotpt} (1157 {\didotpt}s = 1238 points)\cr
+cc&^{cic\'ero} (1 cicero = 12 points Didot)\cr
+sp&^{point d'\'echelle} (65536 points d'\'echelle = 1 point)\cr
+}
+\vskip\belowdisplayskip
+
+Deux unit\'es de mesure suppl\'ementaires sont associ\'ees avec chaque police~: `^|ex|',
+une mesure verticale correspondant habituellement \`a la hauteur de la lettre `x'
+de la police et `^|em|', une mesure
+horizontale habituellement \'egale \`a la taille du point de la police et
+environ la largeur de la lettre `M' de la police. Finalement,
+\TeX\ procure trois unit\'e de mesure ``infinies''~: `^|fil|', `^|fill|' et
+`^|filll|', dans l'ordre de force croissant.
+
+Une dimension est \'ecrite comme un ^{facteur}, c'est-\`a-dire, un multiplieur,
+suivi par une unit\'e de mesure.
+^^{unit\'es de mesure}
+Le facteur peut \^etre soit un \refterm{nombre} entier, soit
+une \refterm{constante d\'ecimale} contenant un point d\'ecimal
+ou une virgule d\'ecimale.
+Le facteur peut \^etre pr\'ec\'ed\'e par un signe plus ou moins, donc une dimension
+peut \^etre positive ou n\'egative.
+^^{dimensions//n\'egatives}
+L'unit\'e de mesure doit \^etre l\`a, m\^eme si le nombre est
+z\'ero. Des espaces entre le nombre et l'unit\'e de mesure sont permis
+mais facultatifs. Vous trouverez une d\'efinition pr\'ecise d'une
+dimension sur la \knuth{page~270}{315}. Voici quelques exemples de dimensions~:
+
+\csdisplay
+5.9in 0pt -2,5 pc 2fil
+|
+La derni\`ere repr\'esente un ordre de distance infinie.
+
+Une distance infinie \'ecrase toute distance finie ou toute distance infinie
+plus l\'eg\`ere. Si vous additionnez |10in| \`a |.001fil|, vous obtiendrez |.001fil|~; si vous additionnez
+|2fil| \`a |-1fill| vous aurez |-1fill|~; et ainsi de suite.
+\TeX\ n'accepte des distances infinies que quand
+vous avez sp\'ecifi\'e l'\refterm{\'etirement} et le \refterm{r\'etr\'ecissement}
+du \refterm{ressort}.
+
+\TeX\ multiplie toutes les dimensions de votre document par un
+facteur de \refterm{magnification} $f/1000$,
+o\`u $f$ est la valeur du param\`etre ^|\mag|.
+^^{magnification}
+Puisque la valeur par d\'efaut de
+|\mag| est $1000$, le cas normal est que votre document est
+compos\'e comme sp\'ecifi\'e. Vous pouvez sp\'ecifier une dimension comme elle sera
+mesur\'ee dans le document final ind\'ependamment d'une magnification en mettant
+`|true|' devant l'unit\'e. Par exemple, `|\kern 8 true pt|'
+produit un cr\'enage de $8$ points quelle que soit la magnification.
+\endconcept
+
+
+\concept {disposition de page}
+
+\bix^^{marges}
+\bix^^{ent\^etes}
+\bix^^{pieds de page}
+Quand vous concevez un document, vous devez d\'ecider de son
+\defterm{ajustement de page}~: la taille de la page, les marges des
+quatre cot\'es, les ent\^etes et pieds de page, s'il y en a, qui
+apparaissent en haut et en bas de la page et la taille de l'espace
+entre le corps du texte et l'ent\^ete ou le pied de page. \TeX\ en
+d\'efinit par d\'efaut. Il d\'efinit une page de $8 \frac1/2$
+par $11$ pouces avec des marges d'approximativement un pouce de
+chaque cot\'e, sans ent\^ete et avec un pied de page constitu\'e d'un
+num\'ero de page centr\'e.
+
+Les marges sont d\'etermin\'ees conjointement par les quatre param\`etres
+^|\hoffset|, ^|\voffset|, ^|\hsize| et ^|\vsize| (voir
+``marges'', \xrefpg{marges},
+pour des conseils sur la fa\c con de les ajuster).
+\eix^^{marges}
+L'ent\^ete consiste normalement en une simple ligne qui appara\^\i t en haut de chaque
+page, dans l'aire de la marge du haut. Vous pouvez la d\'efinir en assignant
+une liste de \refterm{token} dans le param\`etre ^|\headline| (\xref{\headline}).
+Similairement,
+le pied de page consiste normalement en une simple ligne qui appara\^\i t en bas de chaque
+page, dans l'aire de la marge du bas. Vous pouvez la d\'efinir en assignant
+une liste de \refterm{token} dans le param\`etre ^|\footline| (\xref{\footline}).
+Par exemple, l'entr\'ee~:
+\csdisplay
+\headline = {Baby's First Document\dotfill Page\folio}
+\footline = {\hfil}
+|
+produit une ligne d'ent\^ete comme celle-ci sur chaque page~:
+\vdisplay{
+\dimen0 = \hsize
+\advance \dimen0 by -\parindent
+\hbox to \dimen0{Baby's First Document\dotfill Page 19}}
+\noindent
+et aucune ligne de pied de page.
+
+Vous pouvez utiliser des marques pour placer le sujet d'une section de texte
+courante dans l'ent\^ete ou le pied de page.
+^^{marques//avec ent\^etes ou pieds de page}
+Voir \conceptcit{marque} pour une explication sur comment faire cela.
+\eix^^{ent\^etes}
+\eix^^{pieds de page}
+\endconcept
+
+\conceptindex{d\'elimiteurs}
+\concept d\'elimiteur
+
+Un \defterm{d\'elimiteur} est un caract\`ere mis comme fronti\`ere visible d'une
+formule math\'ematique. La propri\'et\'e essentielle d'un d\'elimiteur est que \TeX\
+peut ajuster sa taille par rapport \`a la taille verticale (\refterm{hauteur}
+plus \refterm{profondeur}) de la sous-formule.
+De plus, \TeX\ n'ex\'ecute d'ajustement que si le d\'elimiteur
+appara\^\i t dans un ``contexte de d\'elimiteur'', plus pr\'ecis\'ement, comme argument
+d'une des commandes ^|\left|,
+^|\right|,
+|\overwith!-delims|,
+|\atop!-with!-delims|,
+ou |\above!-with!-delims|
+^^|\overwithdelims|
+^^|\atopwithdelims|
+^^|abovewithdelims|
+\margin{Footnote deleted}
+(voir les \pp\xrefn{\overwithdelims},~\xrefn{\left}).
+Les contextes de d\'elimiteur incluent aussi tout \refterm{argument}
+\`a une \refterm{macro} qui utilise l'argument dans un contexte de d\'elimiteur.
+
+Par exemple, les parenth\`eses gauches et droites sont des d\'elimiteurs.
+Si vous utilisez des ^{parenth\`eses} dans un contexte de d\'elimiteur autour
+d'une formule, \TeX\ rend les parenth\`eses assez grandes pour entourer la
+\refterm{bo\^\i te} qui contient la formule (\`a condition que les
+\refterm{polices:police} que vous utilisez aient des parenth\`eses assez grandes).
+Par exemple~:
+\csdisplay
+$$ \left( a \over b \right) $$
+|
+donne~:
+\centereddisplays $$\left (a \over b \right ) $$
+Ici \TeX\ a rendu les parenth\`eses assez grandes pour s'accorder \`a la fraction.
+Mais si vous \'ecrivez, \`a la place~:
+\csdisplay
+$$({a \over b})$$
+|
+vous aurez~:
+$$({a \over b})$$
+Puisque les parenth\`eses ne sont pas dans un contexte de d\'elimiteur, elles ne
+sont \emph{pas} \'elargies.
+
+Les d\'elimiteurs vont par paires~:
+un d\'elimiteur ouvrant \`a la gauche de la sous-formule
+et un d\'elimiteur fermant \`a sa droite.
+Vous pouvez choisir explicitement une hauteur plus grande pour un
+d\'elimiteur avec les commandes |\bigl|, ^|\bigr|, et leurs
+pendantes \ctsref{\bigl}\footnote
+{\PlainTeX\ d\'efini les diff\'erentes commandes |\big| en utilisant |\left|
+et |\right| pour obtenir un contexte de d\'elimiteur. Il r\`egle la taille en
+construisant une formule vide de la hauteur d\'esir\'ee.}.
+Par exemple, pour avoir la
+formule affich\'ee~:
+$$\bigl(f(x) - x \bigr) \bigl(f(y) - y \bigr)$$
+
+\noindent dans laquelle les parenth\`eses externes sont un peu plus grandes
+que leurs internes, vous devez \'ecrire~:
+
+\csdisplay
+$$\bigl( f(x) - x \bigr) \bigl( f(y) - y \bigr)$$
+|
+
+Les $22$ d\'elimiteurs \plainTeX, montr\'es \`a leur taille normale, sont~:
+\display{%
+$( \>) \>[ \>] \>\{ \>\}
+\>\lfloor \>\rfloor \>\lceil \>\rceil
+\>\langle \>\rangle \>/ \>\backslash
+\>\vert \>\Vert
+\>\uparrow \>\downarrow \>\updownarrow
+\>\Uparrow \>\Downarrow \>\Updownarrow$}
+^^|)| ^^|)| ^^|[| ^^|]| ^^|\lbrack| ^^|\rbrack|
+^^|\{| ^^|\}| ^^|\lbrace| ^^|\rbrace|
+^^|\lfloor| ^^|\rfloor| ^^|\lceil| ^^|\rceil|
+^^|\langle| ^^|\rangle| ^^|/| ^^|\backslash|
+^^|\vert| ^^|\Vert|
+^^|\uparrow| ^^|\downarrow| ^^|\updownarrow|
+^^|\Uparrow| ^^|\Downarrow| ^^|\Updownarrow|
+\noindent
+Voici les plus grandes tailles fournies explicitement par \plainTeX\
+ (les versions |\Biggl|, |\Biggr|, etc.)~:
+\nobreak\vskip .5\abovedisplayskip
+\display{%
+$\Biggl( \>\Biggr) \>\Biggl[ \>\Biggr]
+\>\Biggl\{ \>\Biggr\} \>\Biggl\lfloor \>\Biggr\rfloor
+\>\Biggl\lceil \>\Biggr\rceil
+\>\Biggl\langle \>\Biggr\rangle
+\>\Biggm/ \>\Biggm\backslash
+\>\Biggm\vert \>\Biggm\Vert
+\>\Biggm\uparrow \>\Biggm\downarrow \>\Biggm\updownarrow
+\>\Biggm\Uparrow \>\Biggm\Downarrow \>\Biggm\Updownarrow$}
+\vskip .5\belowdisplayskip
+\noindent
+Les d\'elimiteurs (sauf pour `|(|', `|)|', et
+`|/|')
+sont les symboles list\'es sur les
+pages~\xrefn{\lbrace}--\xrefn{\Uparrow}.
+Ils sont list\'es \`a un seul endroit sur la \knuth{page~146}{170--171}.
+
+Un d\'elimiteur peut appartenir \`a n'importe quelle classe.
+^^{classe//d'un d\'elimiteur}
+Pour un d\'elimiteur que vous agrandissez avec
+|\bigl|, |\bigr|, etc., la classe est d\'etermin\'ee par la commande~:
+``opener'' pour les commandes-|l|, ``closer'' pour les commandes-|r|,
+``relation'' pour les commandes-|m|, et ``ordinary symbol'' pour les
+commandes-|g|,
+c'est-\`a-dire, |\Big|.
+
+Vous pouvez obtenir un d\'elimiteur de deux diff\'erentes mani\`eres~:
+\olist
+\li Vous pouvez rendre un caract\`ere d\'elimiteur en lui assignant un
+codes de d\'elimiteur non n\'egatif
+\bix^^{codes d\'elimiteurs}
+(voir plus bas) avec la commande ^|\delcode| (\xref\delcode).
+N\'eanmoins le caract\`ere n'agit comme d\'elimiteur que si vous l'utilisez dans un
+contexte de d\'elimiteur\footnote{%
+Il est possible d'utiliser un caract\`ere avec un code de d\'elimiteur non n\'egatif
+dans un contexte o\`u il n'est pas un d\'elimiteur. Dans ce cas \TeX\ ne fait pas
+la recherche~; \`a la place, il utilise simplement le caract\`ere de fa\c con ordinaire
+(voir la \knuth{page~156}{181--282}).}.
+\li Vous pouvez produire un d\'elimiteur explicitement avec la commande
+^|\delimiter|
+(\xref\delimiter), en analogie avec la mani\`ere par laquelle vous pouvez produire un
+caract\`ere ordinaire avec la commande |\char| ou un caract\`ere math\'ematique
+avec la commande |\mathchar|.
+La commande |\delimiter| utilise les m\^emes code de d\'elimiteur que ceux utilis\'es
+dans une entr\'ee de table
+|\delcode|, mais avec un chiffre suppl\'ementaire devant pour indiquer une
+classe.
+Il est rare d'utiliser |\delimiter| en dehors d'une d\'efinition de macro.
+\endolist
+
+Un code de d\'elimiteur dit \`a
+\TeX\ comment chercher un caract\`ere de sortie appropri\'e pour repr\'esenter
+un d\'elimiteur.
+Les r\`egles de cette recherche sont assez compliqu\'ees
+(voir les \knuth{pages~156 et 442}{181--282 et 506--507}).
+Une compr\'ehension compl\`ete de ces r\`egles requiert des connaissances
+sur l'organisation des ^{fichiers de m\'etriques} des polices, un sujet qui n'est pas seulement en dehors
+de l'objectif de ce livre mais \'egalement en dehors de l'objectif de \texbook.
+
+En r\'esum\'e la recherche travaille comme cela. Le code de d\'elimiteur sp\'ecifie un
+``petit'' caract\`ere de sortie et un ``grand'' caract\`ere de sortie en
+fournissant une position dans la \refterm{police} et une \refterm{famille} de
+police pour chacun
+(see \xref\delcode).
+En utilisant cette information, \TeX\ peut trouver (ou construire)
+de plus en plus grandes versions du d\'elimiteur. \TeX\ essaye d'abord
+diff\'erentes tailles (de la petite \`a la grande)
+du ``petit'' caract\`ere dans la ``petite'' police
+et ensuite
+diff\'erentes tailles (l\`a aussi de la petite \`a la grande)
+du ``grand'' caract\`ere dans la ``grande'' police,
+en cherchant un dont la hauteur plus la profondeur soit suffisamment grande.
+Si aucun de ces caract\`eres trouv\'e n'est assez
+grand, il utilise le plus grand.
+Il est possible que
+le petit caract\`ere, le grand caract\`ere, ou les deux ait \'et\'e laiss\'e non
+sp\'ecifi\'e
+(indiqu\'e par un z\'ero dans la partie appropri\'ee du code de d\'elimiteur).
+Si seulement un caract\`ere
+a \'et\'e sp\'ecifi\'e, \TeX\ l'utilise. Si aucun ne l'a \'et\'e,
+il remplace le d\'elimiteur par un espace de largeur ^|\nulldelimiterspace|.
+\eix^^{codes d\'elimiteurs}
+
+\endconcept
+
+
+\concept d\'em\'erites
+
+\TeX\ utilise des \refterm{d\'em\'erites} comme une mesure de combien une ligne n'est pas d\'esirable
+quand il coupe un paragraphe en lignes \seeconcept{coupure de ligne}.
+^^{coupures de ligne//d\'em\'erites pour}
+Les d\'em\'erites d'une ligne sont affect\'es par la \refterm{m\'ediocrit\'e} de la ligne
+et par les \refterm{p\'enalit\'es:p\'enalit\'e} associ\'ees avec la ligne.
+^^{m\'ediocrit\'e}
+Le but de \TeX\ dans le choix d'un arrangement particulier de lignes est de
+minimiser le total des
+d\'em\'erites pour le paragraphe, qu'il calcule en additionnant les d\'em\'erites
+des lignes individuelles.
+voir les \knuth{pages~97--98}{114--115} pour les d\'etails sur comment \TeX\
+coupe un paragraphe en lignes.
+\TeX\ n'utilise pas de d\'em\'erites quand il choisit des coupures de page~;
+\`a la place, il utilise
+une mesure similaire appel\'ee le ``co\^ut'' d'une coupure de page particuli\`ere.
+\endconcept
+
+\conceptindex{\elements}
+\concept \'el\'ement
+
+Le terme \defterm{\'el\'ement} est souvent utilis\'e pour faire r\'ef\'erence \`a un composant
+d'une liste horizontale, verticale ou math\'ematique, c'est-\`a-dire, une liste d'\'el\'ements que
+\TeX\ construit quand il est dans un mode horizontal, vertical ou math\'ematique.
+\endconcept
+
+
+\concept {\elementextra}
+
+Un \defterm{\'el\'ement extraordinaire} est un \'el\'ement d'information qui
+dit \`a \TeX\ d'effectuer une action
+qui n'entre pas dans le sch\'ema ordinaire des choses.
+un \'el\'ement extraordinaire peut appara\^\i tre dans une liste horizontale ou
+verticale, comme une bo\^\i te ou un \'el\'ement ressort.
+\TeX\ compose un \'el\'ement extraordinaire
+comme une \refterm{bo\^\i te} de largeur, hauteur et profondeur \`a z\'ero---en d'autres
+termes, une bo\^\i te qui ne contient rien et n'occupe pas d'espace.
+
+Trois sortes d'\'el\'ements extraordinaires sont construits dans \TeX~:
+\ulist
+\li Les commandes |\openout|, |\closeout| et |\write|
+(\p\xrefn{\openout})
+% (2nd) removed \xref to \write, since it's on the same page
+produisent un \'el\'ement extraordinaire pour agir sur un fichier de sortie.
+^^|\openout//\elementextra\ produit par|
+^^|\write//\elementextra\ produit par|
+^^|\closeout//\elementextra\ produit par|
+\TeX\ diff\`ere l'op\'eration jusqu'a ce qu'il envoit la prochaine page
+dans le {\dvifile}
+^^{\dvifile//\elementextra\ en}
+(\`a moins que l'op\'eration soit pr\'ec\'ed\'ee par ^|\immediate|).
+\TeX\ utilise un \'el\'ement extraordinaire pour ces commandes parce qu'elles
+ n'ont rien \`a faire avec ce qu'il compose quand il les rencontre.
+\li La commande ^|\special| \ctsref{\special} demande \`a \TeX\
+d'ins\'erer un certain texte directement dans le \dvifile.
+comme avec la commande |\write|, \TeX\ diff\`ere l'op\'eration jusqu'a ce
+qu'il envoit la prochaine page dans le {\dvifile}
+^^{\dvifile//mat\'eriel ins\'er\'e par \b\tt\\special\e}
+Une utilisation typique de |\special| serait de
+nommer un fichier graphique que le driver d'affichage pourrait incorporer dans
+votre sortie finale.
+\li Quand vous changez de langage avec les commandes ^|\language| ou ^|\setlanguage|
+\ctsref{\language},
+\TeX\ ins\`ere un \'el\'ement extraordinaire qui l'instruit de l'usage d'un
+certain jeu de r\`egle de c\'esure \`a suivre quand il coupe un paragraphe
+en lignes.
+\endulist
+\noindent
+Une impl\'ementation particuli\`ere de \TeX\ peut procurer des \'el\'ements extraordinaires additionnels.
+\endconcept
+
+
+\conceptindex{ent\^etes}
+\concept ent\^ete
+
+Un \defterm{ent\^ete} est un mat\'eriel que \TeX\ met en haut de chaque page,
+au-dessus du texte de cette page. L'ent\^ete pour un simple rapport
+peut \^etre constitu\'e du titre du cot\'e gauche de la page et du
+texte ``Page $n$'' du cot\'e droite de la page.
+D'habitude, un ent\^ete est constitu\'e d'une seule ligne, que vous pouvez mettre en
+assignant une liste de tokens \`a ^|\headline| \ctsref\headline.
+L'ent\^ete par d\'efaut de \plainTeX\ est \`a blanc.
+Il est aussi possible de produire des ent\^ete multiligne~ (voir \xrefpg{bighead})
+\endconcept
+
+
+\concept espace
+
+Vous pouvez demander \`a \TeX\ de mettre un \defterm{espace} entre deux \'el\'ements de
+plusieurs fa\c cons~:
+
+\olist
+^^{fin de ligne}
+\li Vous pouvez \'ecrire quelque chose que \TeX\ traite comme un \refterm{token}
+espace~: un ou plusieurs caract\`eres blancs, La fin d'une ligne (le
+caract\`ere fin de ligne agit comme un espace) ou toute \refterm{commande} qui
+se d\'eveloppe en token espace. \TeX\ g\'en\'eralement traite plusieurs
+espaces cons\'ecutifs comme \'equivalent \`a un seul, en incluant le cas o\`u
+les espaces comprennent une seule fin de ligne. (Une ligne vide
+indique la fin d'un paragraphe~; il fait que \TeX\ g\'en\`ere un token |\par|.)
+^^|\par//d'une ligne vide|
+\TeX\ ajuste la taille de cette sorte d'espace en fonction de la longueur
+requise par le contexte.
+
+^^{ressort//cr\'eer de l'espace avec}
+\li Vous pouvez \'ecrire une commande de saut qui produit le ressort
+que vous sp\'ecifiez dans la commande. Le ressort peut
+s'\refterm{\'etirer} ou se \refterm{r\'etr\'ecir},
+produisant plus ou moins d'espace. Vous pouvez avoir un ressort vertical
+comme un ressort horizontal. Le ressort dispara\^\i t \`a chaque fois qu'il
+est apr\`es une coupure de ligne ou de page.
+
+^^{cr\'enages//cr\'eer de l'espace avec}
+\li Vous pouvez \'ecrire un \refterm{cr\'enage}. Un cr\'enage produit un montant
+ d'espace fixe qui ne s'\'etire ni se r\'etr\'ecit et ne dispara\^\i t pas sur un
+une coupure de ligne ou de page (\`a moins d'\^etre suivie imm\'ediatement par
+ressort). L'usage le plus courant du cr\'enage est d'\'etablir une relation
+spatiale fixe entre deux \refterm{bo\^\i te}s adjacentes.
+\endolist
+
+Le ressort et les cr\'enages peuvent avoir des valeurs n\'egatives.
+Un ressort n\'egatif ou un cr\'enage n\'egatif
+entre des \'el\'ements adjacents rapproche ces \'el\'ements l'un de l'autre.
+\endconcept
+
+
+\concept {\etirement}
+
+Voir \conceptcit{ressort}.
+\endconcept
+
+
+\concept famille
+
+Une \defterm{famille} est un groupe de trois \refterm{polices:police} reli\'ees utilis\'ees
+quand \TeX\ est en \refterm{mode math\'ematique}.
+^^{polices//familles de}
+En dehors du mode math\'ematique, les familles
+n'ont aucun effet. Les trois polices d'une famille sont utilis\'ees pour les symboles normaux
+(\refterm{taille de texte}), indices et exposants (\refterm{taille script})
+et sous-indices, sur-exposants, etc.\
+(\refterm{taille scriptscript}).
+^^{taille texte}
+^^{taille script}
+^^{taille scriptscript}
+Par exemple, le nombre `|2|' compos\'e dans ces trois polices vous donnera
+`$2$', `$\scriptstyle 2$' et `$\scriptscriptstyle 2$' (en \plainTeX).
+Normalement vous fixerez les trois polices d'une famille \`a diff\'erentes
+tailles du m\^eme type de police, mais rien ne vous emp\^eche d'utiliser des
+types diff\'erents pour les trois polices ni d'utiliser la m\^eme police
+deux fois dans une famille.
+
+{\tighten
+TeX\ procure jusqu'a seize familles, num\'erot\'ees de $0$ \`a $15$. Par
+exemple, la famille $0$ en \refterm{\plainTeX} consiste en roman $10$ points
+pour le texte, roman $7$ points pour le script et roman $5$ points pour le
+scriptscript.
+^^{\plainTeX//familles de police en}
+\PlainTeX\ d\'efini aussi la famille $1$ qui est constitu\'ee des polices
+math\'ematiques italiques et r\'eserve les familles $2$ et $3$ pour respectivement
+les ^{symboles sp\'eciaux} et les ^{extensions math\'ematiques}\footnote{Les
+familles $2$ et $3$ sont sp\'eciales en ce que leurs fichiers de m\'etriques de
+police doivent inclure des param\`etres pour l'espacement math\'ematique.}. Si
+vous devez d\'efinir une famille vous m\^eme, vous devrez utiliser la commande
+^|\newfam| \ctsref{\@newfam} pour avoir le num\'ero d'une famille qui n'est
+pas utilis\'ee et les commandes ^|\textfont|, ^|\scriptfont| and
+^|\scriptscriptfont| commands \ctsref{\scriptscriptfont} pour assigner des
+polices \`a cette famille.
+\par}
+
+\endconcept
+
+
+\conceptindex{fichiers}
+\concept fichier
+
+Un \defterm{fichier} est un flot d'information que \TeX\ interpr\`ete ou
+cr\'ee. Des fichiers sont g\'er\'es par le ^{syst\`eme d'exploitation} qui supervise votre
+ex\'ecution de \TeX. \TeX\ manipule des fichiers dans quatre contextes diff\'erents~:
+\olist
+\li Un ``^{fichier source}'' est celui que \TeX\ lit avec ses ``yeux''
+\seeconcept{\anatomy} et interpr\`ete en accord avec ses r\`egles ordinaires.
+Votre fichier d'entr\'ee primaire---celui que vous sp\'ecifiez apr\`es `|**|' ou
+sur la ligne de commande quand vous
+invoquez \TeX---est un fichier source, et ainsi pour tout fichier que vous
+appelez avec une commande ^|\input| \ctsref \input.
+
+\li Un ``^{fichier r\'esultat}'' est celui qui contient les r\'esultats de
+l'ex\'ecution de \TeX. \TeX\ cr\'ee deux fichiers r\'esultat~: Le
+\dvifile\ et le fichier .log.
+^^{\dvifile//comme un fichier r\'esultat}
+^^{\logfile//comme un fichier r\'esultat}
+Le \dvifile\ contient l'information n\'ecessaire pour imprimer votre document.
+Le fichier
+.log contient un enregistrement de ce qui s'est pass\'e pendant l'ex\'ecution,
+incluant tout message d'erreur que \TeX\ a g\'en\'er\'e.
+Si votre fichier source primaire s'appelle
+|screed.tex|, vos \dvifiles\ et log se nommeront |screed.dvi|
+et |screed.log|\footnote{C'est la convention usuelle, mais
+des impl\'ementations particuli\`eres de \TeX\ sont libres de changer cela.}.
+
+\li Pour lire un fichier avec la commande ^|\read|
+\ctsref{\read} vous devez associer le fichier avec un flot d'entr\'ee.
+^^{flots d'entr\'ee//lire avec \b\tt\\read\e}
+Vous pouvez avoir jusqu'a $16$ flots d'entr\'ee actifs
+\`a la fois, num\'erot\'es de $0$ \`a $15$.
+La commande |\read| lit un seul fichier et le fait avec la valeur d'une
+\refterm{s\'equence de contr\^ole} d\'esign\'ee, donc lire avec
+|\read| est tr\`es diff\'erent de lire avec ^|\input| (qui apporte un
+fichier entier).
+\TeX\ prend tout flot d'entre qui n'est pas num\'erot\'e entre
+$0$ et $15$ comme r\'ef\'erence au terminal,
+donc `|\read16|', disons, lit la prochaine ligne que vous saisissez sur le
+terminal.
+
+\li Pour \'ecrire dans un fichier avec la commande |\write|
+\ctsref \write\ vous devez associer le fichier
+avec un flot de sortie.
+^^|\write//flot d'entr\'ee pour|
+^^{flots de sortie}
+Vous pouvez avoir jusqu'a $16$ flots de sortie actifs
+\`a la fois, num\'erot\'es de $0$ \`a $15$.
+Les flots d'entr\'ee et de sortie sont ind\'ependants.
+Tout ce qui est envoy\'e vers un flot de sortie avec un num\'ero n\'egatif va vers le
+fichier log~; tout ce qui est envoy\'e vers un flot de sortie avec un num\'ero
+sup\'erieur \`a $15$
+va \`a la fois vers le fichier log et le terminal.
+Ainsi `|\write16|', disons, \'ecrit une ligne sur le terminal et aussi envoit
+cette ligne vers le fichier~log.
+
+\endolist
+
+Vous devez ouvrir un fichier de flot avant de pouvoir l'utiliser.
+Un fichier de flot d'entr\'ee est ouvert avec une commande ^|\openin|
+\ctsref \openin\ et un fichier de flot de sortie est ouvert avec une
+commande ^|\openout| \ctsref\openout.
+Par propret\'e,
+vous devez fermer un fichier de flot quand vous en avez fini avec lui, n\'eanmoins
+\TeX\ le fera \`a la fin du traitement si vous ne l'avez pas fait.
+Les deux commandes pour fermer un fichier de flot sont ^|\closein| \ctsref\closein\
+et ^|\closeout| \ctsref\closeout.
+Un avantage de fermer un flot quand vous en avez fini avec lui
+est que vous pouvez r\'eutiliser le flot pour un autre fichier.
+Ceci peut \^etre essentiel quand vous lisez un longue suite de fichiers.
+
+De plus vous pouvez assigner des num\'eros vous-m\^eme aux flots d'entr\'ee et de sortie,
+Il est pr\'ef\'erable de le faire avec les commandes ^|\newread| et
+^|\newwrite| \ctsref{\@newwrite}.
+Vous pouvez avoir plus d'un flot associ\'e avec un seul fichier,
+mais vous aurez des salet\'es (probablement non diagnostiqu\'e) \`a moins que tous les flots
+soit des flots d'entr\'ee. Associer plus d'un flot avec un fichier d'entr\'ee
+peut-\^etre utile quand vous voulez utiliser le m\^eme fichier d'entr\'ee pour deux
+usages diff\'erents.
+
+D'habitude, \TeX\ diff\`ere les actions d'ouverture, d'\'ecriture et de fermeture
+d'un flot de sortie jusqu'a ce qu'il enregistre une page avec ^|\shipout|
+(voir la \knuth{page~227}{266}
+pour les d\'etails). Cette propri\'et\'e s'applique m\^eme aux messages \'ecrits sur le
+terminal avec |\write|. Mais vous pouvez demander \`a \TeX\ de faire une action
+sur un flot de sortie imm\'ediatement en faisant pr\'ec\'eder la commande d'action de
+^|\immediate| \ctsref\immediate. Par exemple~:
+\csdisplay
+\immediate\write16{Do not pass GO!! Do not collect $200!!}
+|
+\endconcept
+
+
+\concept {fichier format}
+
+{\tighten
+Un \defterm{fichier format} est un fichier qui contient une image de
+la m\'emoire de \TeX\ sous la forme dans laquelle il peut \^etre recharg\'e rapidement.
+Un fichier format peut \^etre cr\'e\'e avec la commande ^|\dump| \ctsref\dump.
+L'image contient un enregistrement complet
+des d\'efinitions (de \refterm{polices:police}, \refterm{macros:macro}, etc.)
+qui \'etaient pr\'esentes quand le dump a \'et\'e effectu\'e.
+En utilisant ^|virtex|, un forme sp\'eciale ``vierge'' de \TeX,
+vous pouvez recharger le fichier format \`a haute vitesse et
+continuer avec le m\^eme \'etat dans lequel \'etait \TeX\ au moment du dump.
+L'avantage du fichier format sur un fichier d' entr\'ee ordinaire
+contenant la m\^eme information est que \TeX\ peut la charger beaucoup plus
+vite.
+\par}
+
+Des fichiers de format doivent \^etre cr\'e\'es par ^|initex|, une
+forme sp\'eciale de \TeX\ \'ecrite \`a cette intention.
+Ni |virtex|, ni |initex| n'ont d'outils autres que les primitives
+construites dans le programme \TeX\ lui-m\^eme.
+
+Une forme ^{pr\'echarg\'ee} de \TeX\ est celle qui a un fichier format conforme
+charg\'e et est pr\^et \`a accepter l'entr\'ee de l'utilisateur.
+La forme de \TeX\ qui se nomme |tex|
+a souvent les d\'efinitions \plainTeX\ pr\'echarg\'ees.
+(\PlainTeX\ est normalement fourni sous deux autres formes~:
+comme une fichier de format et comme une fichier source de \TeX.
+Dans certains environnements, |tex| est \'equivalent \`a appeler |virtex|
+et charge alors |plain|.)
+Cr\'eer des formes pr\'echarg\'ees de \TeX\ n\'ecessite un programme sp\'ecial~;
+il ne peut pas \^etre fait en n'utilisant que les outils de \TeX\ lui-m\^eme.
+
+\endconcept
+
+
+\concept {fichier log}
+
+Voir \conceptcit{fichier}.
+\endconcept
+
+
+\conceptindex{filets}
+\concept filets
+
+Un \defterm{filet} est un rectangle plein noir.
+Un filet, comme une \refterm{bo\^\i te},
+a une \refterm{largeur}, une \refterm{hauteur} et une \refterm{profondeur}.
+La dimension verticale du rectangle
+est la somme de sa hauteur et de sa profondeur.
+Une ligne droite horizontale ou verticale est un cas sp\'ecial de filet.
+
+\bix^^{filets horizontaux}
+\bix^^{filets verticaux}
+\bix^^|\hrule|
+\bix^^|\vrule|
+Un filet peut \^etre soit horizontal, soit vertical. La distinction entre un
+filet horizontal et un vertical diff\`ere selon la fa\c con de produire le
+filet, un filet vertical peut \^etre court et \'epais (et donc ressembler
+\`a une ligne horizontale), tandis qu'un filet horizontal peut \^etre grand et maigre
+(et donc ressembler \`a une ligne verticale). La notion de filet de \TeX\ est
+plus g\'en\'erale que celle des typographes, qui pensent \`a un filet comme \`a une ligne
+et ne veulent habituellement pas appeler filet une bo\^\i te noire carr\'ee.
+
+Vous pouvez produire un filet horizontal en utilisant la commande
+|\hrule| et un filet vertical en utilisant
+la commande |\vrule| \ctsref{\vrule}.
+Par exemple, la s\'equence de contr\^ole |\hrule| par elle-m\^eme
+produit un filet fin qui traverse la page, comme ceci~:
+
+{\offinterlineskip
+\nobreak\medskip
+\hrule
+\medskip}
+
+La commande `|\vrule height .25in|' produit un filet vertical
+qui s'allonge de $.25$~pouces sur la page comme ceci~:
+\nobreak\vskip \abovedisplayskip
+\leftline{\vrule height .25in}
+\vskip \belowdisplayskip
+
+Il y a deux diff\'erences entre les filets horizontaux et verticaux~:
+\olist
+\li Pour un filet horizontal, \TeX\ prend comme largeur par d\'efaut la largeur
+de la plus petite \refterm{bo\^\i te} ou \refterm{alignement} qui l'englobe.
+Pour un filet vertical, \TeX\ prend comme hauteur et profondeur par d\'efaut
+de la m\^eme fa\c con. (Le
+d\'efaut est la taille que vous obtenez si vous ne donnez pas de taille explicitement
+pour cette dimension.)
+
+^^{listes horizontales//filet en}
+^^{listes verticales//filet en}
+\li
+{\tighten
+Un filet horizontal est un \'el\'ement fondamentalement vertical qui ne peut participer
+\`a une \refterm{liste horizontale}, tandis qu'un filet vertical est un \'el\'ement
+horizontal qui ne peut participer \`a une \refterm{liste verticale}.
+Cette propri\'et\'e peut sembler \'etrange d'un premier abord, mais il y a une
+bonne raison \`a cela~:
+Un filet horizontal s'\'etend visuellement de gauche \`a droite et donc s\'epare des
+\'el\'ements d'une liste verticale, tandis qu'un filet vertical s'\'etend visuellement
+de haut en bas et ainsi s\'epare des \'el\'ements d'une liste horizontale.
+%(Look at the rules that are shown above.)
+\par}
+\endolist
+
+{\tighten
+Si vous construisez un filet avec trois dimensions explicites,
+cela donnera la m\^eme chose que vous fassiez un filet horizontal ou vertical.
+Par exemple, la commande `|\vrule height1pt depth2pt width3in|' produit ce
+filet au look horizontal~:
+\par}
+
+{\offinterlineskip
+\nobreak\medskip\nobreak\vskip3pt
+\leftline{\vrule height1pt depth2pt width3in}
+\medskip}
+
+Vous trouverez un \'etat pr\'ecis du traitement des filets de \TeX\ dans les
+\knuth{pages~221--222}{259--260}.
+\eix^^{filets horizontaux}
+\eix^^{filets verticaux}
+\eix^^|\hrule|
+\eix^^|\vrule|
+\endconcept
+
+
+\conceptindex{flots d'entr\'ee}
+\concept {flots d'entr\'ee}
+
+Voir \conceptcit{fichier}.
+\endconcept
+
+
+\conceptindex{flots de sortie}
+\concept {flots de sortie}
+
+\margin{This concept was out of order.}
+Voir \conceptcit{fichier}.
+\endconcept
+
+
+\concept global
+
+Une d\'efinition \defterm{globale} est effective
+jusqu'a la fin du
+document ou jusqu'a ce qu'elle soit \'ecras\'ee par une autre d\'efinition,
+m\^eme quand elle appara\^\i t dans un \refterm{groupe}.
+Ainsi une d\'efinition globale n'est pas affect\'ee par les fronti\`eres de groupe.
+Vous pouvez rendre n'importe quelle d\'efinition globale en la pr\'efixant avec la
+commande |\global| \ctsref{\global} a moins que ^|\globaldefs| \ctsref\globaldefs{}
+soit n\'egatif.
+^^|\global|
+
+Il y a un moyen sp\'ecial de rendre une d\'efinition de \refterm{macro} globale.
+^^{macros//globale}
+Normalement vous d\'efinissez une macro en utilisant soit la commande |\def|
+soit la commande |\edef| \ctsref{\edef}.
+^^|\edef//rendre global|
+^^|\def//rendre global|
+Si vous utilisez |\gdef| ou |\xdef|
+au lieu de |\def| et |\edef| respectivement, la d\'efinition de macro sera
+globale. Parce que, `^|\gdef|' est \'equivalent \`a `|\global\def|' et
+`^|\xdef|' est \'equivalent \`a `|\global\edef|'.
+\endconcept
+
+
+\conceptindex{groupes}
+\concept groupe
+
+Un \defterm{groupe} est une partie de votre manuscrit que \TeX\ traite comme
+une unit\'e.
+Vous indiquez un groupe en l'entourant avec les accolades
+`|{|' et `|}|' (ou tout autre caract\`ere avec le
+\refterm{code de cat\'egorie} appropri\'e).
+^^|{//d\'ebuter un groupe|
+^^|}//terminer un groupe|
+
+La plus importante propri\'et\'e d'un groupe est que toute d\'efinition
+ou assignation non globale que vous faites dans un groupe dispara\^\i t quand
+le groupe se termine. Par exemple, si vous \'ecrivez~:
+
+\csdisplay
+Please don't pour {\it any} more tea into my hat.
+|
+La \refterm{s\'equence de contr\^ole} |\it| demande \`a \TeX\ de mettre le mot
+`|any|' en police italique mais n'affecte pas le reste du texte.
+Comme autre exemple, si vous utilisez le param\`etre |\hsize|
+\ctsref{\hsize} pour changer la longueur de la ligne dans un groupe, la longueur de ligne
+retourne \`a sa valeur pr\'ec\'edente un fois que \TeX\ est sorti du groupe.
+
+Les groupes sont aussi pratiques comme moyen de contr\^oler l'espace\-ment.
+Par exemple, si vous saisissez~:
+
+\csdisplay
+\TeX for the Impatient and the Outpatient too.
+|
+\noindent
+vous aurez~:
+\display{%
+\TeX for the Impatient and the Outpatient too.
+}
+\noindent
+puisque la s\'equence de contr\^ole |\TeX| (qui produit le logo \TeX)
+absorbe l'espace qui le suit.
+vous voulez probablement ceci~:
+\display{%
+{\TeX} for the Impatient and the Outpatient too.
+}
+\noindent
+Une mani\`ere d'obtenir ceci est d'englober `|\TeX|' dans un groupe~:
+\csdisplay
+{\TeX} for the Impatient and the Outpatient too.
+|
+L'accolade droite emp\^eche la s\'equence de contr\^ole d'absorber l'espace.
+\endconcept
+
+
+\concept hauteur
+
+La \defterm{hauteur} d'une \refterm{bo\^\i te} est la distance \`a laquelle la bo\^\i te
+s'\'etend au dessus de sa \refterm{ligne de base}.
+^^{\boites//hauteur de}
+\endconcept
+
+
+\conceptindex{hbox}
+\concept hbox
+
+Une \defterm{hbox} (bo\^\i te horizontale) est une \refterm{bo\^\i te} que \TeX\
+construit en plaquant les articles d'une \refterm{liste horizontale} l'un
+apr\`es l'autre, de la gauche vers la droite.
+^^{listes horizontales//hbox form\'es \`a partir de}
+Une hbox, prise comme unit\'e, n'est ni
+fondamentalement horizontale ni fondamentalement verticale, c'est-\`a-dire,
+qu'elle peut appara\^\i tre comme un
+article soit d'une liste horizontale soit d'une \refterm{liste verticale}.
+Vous pouvez construire une hbox avec la commande |\hbox| \ctsref{\hbox}.
+\endconcept
+
+
+\conceptindex{insertions}
+\concept insertion
+
+\looseness = -1
+Une \defterm{insertion} est une liste verticale contenant du mat\'eriel devant
+\^etre ins\'er\'e sur une page quand \TeX\ a fini de construire cette page\footnote
+{\tighten
+\TeX\ lui-m\^eme n'ins\`ere pas le mat\'eriel---il rend juste le mat\'eriel accessible
+\`a la routine de sortie, qui est alors responsable de la transf\'erer sur la
+page compos\'ee.
+^^{routine de sortie//insertions, traitement de}
+Le seul effet imm\'ediat de la commande ^|\insert|
+\ctsref{\insert} est de changer les calculs de coupure de page de \TeX\ pour
+qu'il laisse de la place sur la page pour le mat\'eriel \`a ins\'erer. Plus tard,
+quand \TeX\ coupera r\'eellement la page, il divisera le mat\'eriel \`a ins\'erer en
+deux groupes~: le mat\'eriel qui passe sur la page courante et le mat\'eriel qui
+ne passe pas.
+^^{coupures de page//insertions sur des}
+Le mat\'eriel qui passe sur la page est plac\'e dans des registres de bo\^\i te, un
+par insertion et le mat\'eriel qui ne passe pas est transf\'er\'e sur la page
+suivante.
+Cette proc\'edure autorise \TeX\ \`a faire des choses comme distribuer des parties
+d'une longue note de pied de page sur plusieurs pages cons\'ecutives.}. Des
+exemples de telles insertions sont les notes de pied de page et les figures.
+Les commandes \refterm{\plainTeX} pour cr\'eer des insertions sont
+^|\footnote|, ^|\topinsert|, |\mid!-insert|,
+^^|\midinsert|
+et ^|\pageinsert|, aussi bien que la commande primitive ^|\insert|
+elle-m\^eme (\pp\xrefn\footnote--\xrefn{endofinsert}).
+Le m\'ecanisme de \TeX\ pour manipuler des insertions est plus compliqu\'e~;
+voir les \knuth{pages~122--125}{142--146} pour les d\'etails.
+\endconcept
+
+
+\concept largeur
+
+^^{\boites//largeur de}
+La \defterm{largeur} d'une \refterm{bo\^\i te} est le montant d'espace horizontal
+qu'il occupe, c'est-\`a-dire, la distance de son cot\'e gauche \`a son cot\'e droit.
+Le mat\'eriel compos\'e dans une bo\^\i te peut \^etre plus large que la bo\^\i te elle-m\^eme.
+\endconcept
+
+
+
+\conceptindex{ligatures}
+\concept ligature
+
+Une \defterm{ligature} est un simple caract\`ere qui remplace une
+s\'e\-quence particuli\`ere de caract\`eres adjacents dans un document compos\'e.
+Par exemple, le mot `|office|' est compos\'e \hbox{``office''} et non
+\hbox{``of{f}ice''}, par les syst\`emes de composition de haute qualit\'e.
+La connaissance des ligatures est construite dans les \refterm{polices:police}
+que vous utilisez, donc vous n'avez rien \`a faire pour que \TeX\
+les produise. (Vous pouvez emp\^echer la ligature d'``office'', comme nous
+l'avons dit plus t\^ot, en saisissant `|of{f}ice|' dans votre entr\'ee.)
+\TeX\ est aussi capable d'utiliser son m\'ecanisme de ligature pour composer
+la premi\`ere ou la derni\`ere lettre d'un mot diff\'eremment de la m\^eme lettre
+qui appara\^\i t au milieu d'un mot
+Vous pouvez emp\^echer cet effet (si vous le rencontrez) en utilisant la
+commande ^|\noboundary| (\xref\noboundary).
+
+Parfois, vous aurez besoin d'une ligature d'une langue europ\'eenne.
+^^{langues europ\'eennes}
+\TeX\ ne les produit pas automatiquement sauf si vous utilisez une police
+dessin\'ee pour cette langue. Un certain nombre de ces ligatures, par exemple,
+\AE, sont accessible par une commande
+(voir ``Lettres et ligatures pour alphabets europ\'eens'',
+\xref{fornlets}).
+\endconcept
+
+
+\conceptindex{lignes de base}
+\concept ligne de base
+
+La \defterm{ligne de base} d'une \refterm{bo\^\i te} est une ligne imaginaire qui traverse
+la bo\^\i te.
+^^{\boites//lignes de base de}
+Quand \TeX\
+assemble les bo\^\i tes d'une \refterm{liste horizontale} en une bo\^\i te plus grande,
+il aligne les bo\^\i tes de la liste pour que leurs lignes de base co\"\i ncident.
+Par analogie, pensez que vous \'ecrivez sur un bloc de papier lign\'e. Chaque lettre
+que vous \'ecrivez a
+une ligne de base implicite.
+Pour aligner les lettres horizontalement,
+vous les placez sur le bloc pour que leurs lignes de base
+s'ajustent avec les lignes-guides claires imprim\'ees sur le bloc.
+
+Une bo\^\i te peut et souvent doit s'\'etendre sous sa ligne de base.
+Par exemple, la lettre `g' s'\'etend sous la ligne de base de sa bo\^\i te parce
+qu'elle a une descendante (la boucle du dessous du `g').
+\endconcept
+
+
+\conceptindex{listes}
+\concept liste
+
+Une \defterm{liste} est une s\'equence d'\refterm{\'el\'ements:\'el\'ement}
+(\refterm{bo\^\i tes:bo\^\i te}, \refterm{ressorts:ressort}, \refterm{cr\'enages:cr\'enage}, etc.)
+cela comprend tout le contenu d'une hbox, d'une vbox
+ou d'une formule math\'ematique.
+Voir \conceptcit{liste horizontale}, \conceptcit{liste verticale}.
+
+\endconcept
+
+
+\conceptindex{listes horizontales}
+\concept {liste horizontale}
+
+Une \defterm{liste horizontale} est une liste d'articles
+que \TeX\ a produit quand il \'etait dans un de ses
+\refterm{modes horizontaux:mode horizontal}, c'est-\`a-dire, en assemblant
+soit un paragraphe soit une hbox. Voir ``mode horizontal'' ci-dessous.
+\endconcept
+
+
+\conceptindex{listes verticales}
+\concept {liste verticale}
+
+Une \defterm{liste verticale} est une liste d'\'el\'ements que \TeX\ a produit quand il
+\'etait dans une de ses modes vertical, c'est-\`a-dire, en assemblant soit une
+\refterm{vbox} soit une page. Vois ``mode vertical'' ci-dessous.
+
+\endconcept
+
+
+\conceptindex{macros}
+\concept macro
+
+{% Use a brace here so that definitions of explanatory macros remain local.
+% The closing brace is at the end of the concept.
+Une \defterm{macro} est une d\'efinition qui donne un nom \`a un mod\`ele de texte
+d'entr\'ee de \TeX\footnote{Plus pr\'ecis\'ement, la d\'efinition donne un nom
+\`a une s\'equence de tokens.}. Le nom peut \^etre soit une \refterm{s\'equence de
+contr\^ole} soit un \refterm{caract\`ere actif}. Le mod\`ele est appel\'e le
+``texte de remplacement''. La commande primaire pour d\'efinir des macros est
+la s\'equence de contr\^ole |\def|.
+
+\def\arctheta{\cos \theta + i \sin \theta}
+Comme exemple simple, supposez que vous ayez un document dans lequel
+la s\'equence `$\cos \theta + i \sin \theta$' appara\^\i t plusieurs fois.
+Au lieu de l'\'ecrire \`a chaque fois, vous pouvez d\'efinir une macro pour cela~:
+\csdisplay
+\def\arctheta{\cos \theta + i \sin \theta}
+|
+Maintenant \`a chaque fois que vous avez besoin de cette s\'equence, vous pouvez
+simplement ``appeler'' la macro en \'ecrivant `|\arctheta|' et vous l'aurez.
+Par exemple, `|$e^{\arctheta}$|' vous donnera `$e^{\arctheta}$'.
+
+\bix^^{macros//param\`etres de}
+Mais la r\'eelle puissance des macros tient au fait qu'une macro peut avoir des
+param\`etres. Quand vous appelez une macro qui a des param\`etres, vous fournissez
+des arguments qui se substituent \`a ces param\`etres. Par exemple, supposez
+que vous \'ecrivez~:
+\pix\indexchar #
+\def\arc#1{\cos #1 + i \sin #1}
+\csdisplay
+\def\arc#1{\cos #1 + i \sin #1}
+|
+
+La notation |#1| \xrdef{@msharp} d\'esigne le premier param\`etre
+de la macro, qui dans ce cas n'a qu'un param\`etre. Vous pouvez maintenant
+produire une forme similaire, telle que `$\arc{2t}$', avec l'appel de macro
+`|\arc{2t}|'.
+
+Plus g\'en\'eralement, une macro peut avoir jusqu'a neuf param\`etres, que vous
+d\'esignez par `|#1|', `|#2|', etc\null. dans la d\'efinition de la macro. \TeX\
+fourni deux types de param\`etres~: les param\`etres d\'elimit\'es et les param\`etres
+non d\'elimit\'es. Bri\`evement, un param\`etre d\'elimit\'e a un \refterm{argument} qui
+est d\'elimit\'e ou termin\'e par une s\'equence sp\'ecifique de tokens (le d\'elimiteur),
+tandis qu'un param\`etre non d\'elimit\'e a un argument qui n'a pas besoin de
+d\'elimiteur pour le terminer.
+Premi\`erement, nous expliquerons comment fonctionnent les macros quand elles
+n'ont que des param\`etres non d\'elimit\'es, et ensuite, nous expliquerons comment
+elles fonctionnent quand elles ont des param\`etres d\'elimit\'es.
+
+^^{param\`etres//non d\'elimit\'es}
+Si une macro n'a que des param\`etres non d\'elimit\'es, ces param\`etres doivent appara\^\i tre
+l'un apr\`es l'autre dans la d\'efinition de macro \emph{sans rien entre
+eux ou entre le dernier param\`etre et l'accolade gauche au d\'ebut du
+texte de remplacement}.
+Un appel d'une telle macro consiste en le nom de la macro suivi par
+les arguments de l'appel, un pour chaque param\`etre. Chaque argument est
+soit~:
+
+\ulist \compact
+\li un \refterm{token} simple autre qu'un accolade gauche ou droite ou
+
+\li une s\'equence de tokens englob\'e entre une accolade gauche et
+une accolade droite correspondante\footnote{L'argument peut avoir des paires
+d'accolades englobantes et chacune de ces paires peut d\'esigner soit
+un \refterm{groupe} soit un autre argument de macro.}.
+\endulist
+
+Quand \TeX\ rencontre une macro, il d\'eveloppe la macro dans son \oe so\-phage
+\seeconcept{\anatomy}
+en substituant chaque argument par le param\`etre correspondant
+dans le texte de remplacement. Le texte r\'esultant peut contenir d'autres
+appels de macro. Quand \TeX\ rencontre un tel appel de macro imbriqu\'e, il
+d\'eveloppe cet appel imm\'ediatement sans regarder ce qui suit l'appel
+\footnote{En terminologie informatique, le d\'eveloppement est ``profondeur
+d'abord'' plut\^ot que ``largeur d'abord''. Notez que vous pouvez modifier l'ordre
+du d\'eveloppement avec des commandes telles que |\expandafter|.}. Quand
+l'\oesophage de \TeX\ tombe sur une \refterm{commande} \refterm{primitive}
+qui ne peut \^etre d\'evelopp\'ee plus loin, \TeX\ passe cette commande \`a l'estomac
+de \TeX. L'ordre de d\'eveloppement est parfois critique, donc de fa\c con \`a vous
+aider \`a le comprendre, nous vous donnons un exemple de \TeX\ au travail.
+
+Supposez que vous procurez \`a \TeX\ l'entr\'ee suivante~:
+\csdisplay
+\def\a#1#2{\b#2#1\kern 2pt #1}
+\def\b{bb}
+\def\c{\char49 cc}
+\def\d{dd}
+\a\c{e\d} % Call on \a.
+|
+Alors l'argument correspondant \`a |#1| est |\c|,
+et l'argument correspondant \`a |#2| est |e\d|.
+\TeX\ d\'eveloppe l'appel de macro d'apr\`es les \'etapes suivantes~:
+
+{\vskip\abovedisplayskip\obeylines % ugly
+|\b e\d\c\kern 2pt \c|
+|bbe\d\c\kern 2pt \c|
+|\d\c\kern 2pt \c|\quad(`|b|', `|b|', `|e|' envoy\'es vers l'estomac)
+|dd\c\kern 2pt \c|
+|\c\kern 2pt \c|\quad(`|d|', `|d|' envoy\'es vers l'estomac)
+|\char49 cc\kern 2pt \c|
+|\c|\quad(`|\char|', `|4|', `|9|', `|c|', `|c|', %
+`|\kern|', `|2|', `|p|', `|t|' envoy\'es vers l'estomac)
+|\char49 cc|
+(`|\char49|', `|c|', `|c|' envoy\'es vers l'estomac)
+\vskip\belowdisplayskip}
+
+\noindent Notez que les lettres `|b|', `|c|', `|d|' et `|e|' et les
+s\'equences de contr\^ole `|\kern|' et `|\char|' sont toutes des commandes
+primitives qui ne peuvent \^etre d\'evelopp\'ees.
+
+\bix^^{param\`etres//d\'elimit\'es}
+Une macro peut aussi avoir des ``param\`etres d\'elimit\'es'', qui peuvent \^etre m\'elang\'es avec
+des non d\'elimit\'es dans toutes les combinaisons. L'id\'ee d'un param\`etre
+d\'elimit\'e est que \TeX\ trouve l'argument correspondant en recherchant
+une certaine s\'equence de tokens qui marquent la fin de l'argument---le
+d\'elimiteur. Cela fait, quand \TeX\ recherche un tel argument, il
+prend comme argument tout les tokens \`a partir de la position courante de \TeX\
+mais sans inclure le d\'elimiteur.
+
+Vous indiquez un param\`etre d\'elimit\'e en \'ecrivant `|#|$n$' ($n$
+doit \^etre entre $0$
+et $9$) suivi par un ou plusieurs tokens qui agissent comme le d\'elimiteur.
+Le d\'elimiteur s'\'etend jusqu'au prochain `|#|' ou `|{|'---qui ont un sens
+car `|#|' d\'ebute un autre param\`etre et `|{|' le texte de remplacement.
+
+Le d\'elimiteur ne peut \^etre `|#|' ou `|{|', donc vous pouvez appeler un param\`etre
+d\'elimit\'e \`a partir d'un non d\'elimit\'e en recherchant ce qui le suit.
+
+Si le caract\`ere apr\`es le param\`etre est `|#|' ou `|{|', vous avez un
+param\`etre non d\'elimit\'e~; autrement il sera d\'elimit\'e. Notez
+la diff\'erence dans les arguments pour les deux sortes de param\`etres---un
+param\`etre non d\'elimit\'e est d\'esign\'e soit par un simple token, soit par une
+s\'equence de tokens englob\'es entre des accolades, tandis qu'un param\`etre
+d\'elimit\'e est d\'esign\'e par n'importe quel nombre de tokens, m\^eme aucun.
+
+Un exemple de macro utilisant deux param\`etres d\'elimit\'es est~:
+\def\diet#1 #2.{On #1 we eat #2!}
+\csdisplay
+\def\diet#1 #2.{On #1 we eat #2!!}
+|
+Ici le premier param\`etre est d\'elimit\'e par un simple espace et le
+second param\`etre est d\'elimit\'e par un point. Si vous saisissez~:
+\csdisplay
+\diet Tuesday turnips.
+|
+vous obtiendrez le texte ``\diet Tuesday turnips.''.
+Mais si les tokens d\'elimitants sont englob\'es dans un groupe, \TeX\
+ne les consid\`ere pas d\'elimit\'es. Donc si vous \'ecrivez~:
+\csdisplay
+\diet {Sunday mornings} pancakes.
+|
+vous obtiendrez le texte `\diet {Sunday mornings} pancakes.'
+m\^eme s'il y a un espace entre `|Sunday|' et `|morning|'.
+Quand vous utilisez un espace comme d\'elimiteur,
+un caract\`ere fin de ligne d\'elimite aussi normalement l'argument
+car \TeX\ convertit la fin de ligne en espace avant que le m\'ecanisme de
+macro ne le voit.
+\eix^^{param\`etres//d\'elimit\'es}
+\eix^^{macros//param\`etres de}
+
+Il arrivera que vous ayez \`a d\'efinir une macro qui ait `|#|' comme caract\`ere
+significatif. Vous aurez plus de chance d'avoir besoin de faire cela quand
+vous d\'efinirez une macro qui \`a son tour d\'efinit une seconde macro. Comment
+faire \`a propos des param\`etres de la seconde macro sans mettre \TeX\
+dans la confusion~? La r\'eponse est que vous saisissez deux `|#|' pour chacun
+de ceux que vous voulez quand la premi\`ere macro est d\'evelopp\'ee. Par exemple,
+supposons que vous \'ecriviez la d\'efinition de macro~:
+\def\first#1{\def\second##1{#1/##1}}
+\csdisplay
+\def\first#1{\def\second##1{#1/##1}}
+|
+Alors l'appel `|\first{One}|' d\'efini `|\second|' comme~:
+\csdisplay
+\def\second#1{One/#1}
+|
+et l'appel cons\'ecutif `|\second{Two}|' produit le texte
+\def\second#1{One/#1}%
+`\second {Two}'.
+
+Un certain nombre de commandes fournissent des moyens suppl\'emen\-taires pour d\'efinir des macros
+(voir pp.~\xrefn{mac1}--\xrefn{mac2}).
+Pour les r\`egles com\-pl\`etes concernant les macros, voir le \knuth{chapitre~20}{}
+}% close brace at the start of the `macro' concept.
+\endconcept
+
+
+\concept magnification
+
+Quand \TeX\ compose un document, il multiplie toutes les dimensions
+par un facteur de
+\refterm{magnification} $f/1000$,
+o\`u $f$ est la valeur du param\`etre ^|\mag| \ctsref\mag.
+Puisque la valeur par d\'efaut de |\mag| est $1000$, le cas normal est que
+votre document est compos\'e comme il est sp\'ecifi\'e.
+Augmenter la magnification est souvent utile quand vous composez un document
+qui sera r\'eduit photographiquement.
+
+Vous pouvez aussi appliquer de la magnification sur une seule \refterm{police}
+pour avoir une version plus petite ou plus grande de cette police que sa
+``^{taille d'origine}''. Vous
+devez procurer au driver d'impression un ^{fichier de forme}
+\seeconcept{police} pour
+chaque magnification de police que vous utilisez---%
+a moins que la police ne soit construite dans votre imprimante et que votre driver
+d'impression la connaisse.
+Quand vous d\'efinissez une police avec la commande
+|\font| \ctsref{\font}, vous pouvez sp\'ecifier une magnification avec
+le mot `|scaled|'. Par exemple~:
+
+\csdisplay
+\font\largerbold = cmbx10 scaled 2000
+|
+d\'efinit `|\largerbold|' comme une police qui est
+deux fois plus grande que |cmbx10| (Computer Modern
+Grasse Etendue en $10$ points) et a les formes de caract\`ere
+uniform\'ement agrandies d'un facteur de~$2$.
+
+De nombreux centres informatiques trouvent pratique de fournir des polices
+agrandies par un ratio
+de $1.2$, correspondant \`a des valeurs de magnification de $1200$, $1440$, etc.
+\TeX\ a des noms sp\'eciaux pour ces valeurs~:
+^^|\magstep|
+`|\magstep1|' pour $1200$,
+`|\magstep2|' pour $1440$, et ainsi de suite jusqu'a `|\magstep5|'.
+La valeur sp\'eciale `^|\magstephalf|' correspond \`a une magnification de $\sqrt{1.2}$, qui
+est visuellement \`a mi-chemin entre `|\magstep0|' (pas de magnification) et
+`|\magstep1|'. Par exemple~:
+
+\csdisplay
+\font\bigbold = cmbx10 scaled \magstephalf
+|
+
+Vous pouvez sp\'ecifier une \refterm{dimension} comme elle sera
+mesur\'ee dans le document final ind\'ependamment des magnifications en mettant
+`^|true|' devant l'unit\'e. Par exemple, `|\kern 8 true pt|'
+produit un cr\'enage de $8$ points quelque soit la magnification.
+
+\endconcept
+
+\concept marges
+
+Les \refterm{marges}
+d'une page d\'efinissent un rectangle qui normalement
+contient la mati\`ere imprim\'ee sur la page.
+Vous pouvez demander \`a \TeX\ d'imprimer du mat\'eriel en dehors de ce rectangle,
+mais uniquement en demandant des actions explicites qui d\'eplacent le mat\'eriel
+\`a cet endroit. \TeX\ consid\`ere les ent\^etes et les pieds de page comme \'etant
+en dehors des marges.
+
+Le rectangle est d\'efini en fonction de son coin en haut \`a gauche, de sa largeur, et
+de sa profondeur. L'emplacement du coin en haut \`a gauche est d\'efini par
+les param\`etres ^|\hoffset|
+et ^|\voffset|
+\ctsref\voffset. L'usage est de placer ce coin \`a un pouce du haut
+et \`a un pouce du bord gauche de la page, correspondant \`a une valeur de
+z\'ero pour |\hoffset| et |\voffset|%
+\footnote{Il nous semble qu'il s'agisse d'une convention bizarre.
+Il aurait \'et\'e plus naturel d'avoir le point $(0,0)$
+pour |\hoffset| et |\voffset| dans le coin en haut \`a gauche du
+papier et d'avoir leur valeur par d\'efaut \`a un pouce.}.
+La largeur du rectangle est donn\'e par ^|\hsize| et la profondeur par ^|\vsize|.
+
+Les implications de ces conventions sont~:
+\ulist\compact
+\li La marge gauche est donn\'ee par |\hoffset|\tplus|1in|.
+\li La marge droite est donn\'ee par la largeur du papier moins
+ |\hoffset|\tplus|1in|\tplus|\hsize|.
+\li La marge du haut est donn\'ee par |\voffset|\tplus|1in|.
+\li La marge du bas est donn\'ee par la longueur du papier moins
+ |\voff!-set|\tplus|1in|\tplus|\vsize|.
+\endulist
+A partir de ces informations vous pouvez voir quels param\`etres vous devez
+changer pour modifier les marges.
+
+Chaque changement que vous faites \`a |\hoffset|, |\voffset| ou |\vsize| prendra
+effet la prochaine fois que \TeX\ d\'ebutera une page. En d'autres termes, si vous
+les changez dans une page, le changement n'affectera que la page \emph{suivante}.
+Si vous changez |\hsize|, le changement deviendra effectif imm\'ediatement.
+\endconcept
+
+
+\conceptindex{marques}
+\concept marque
+
+Une \defterm{marque} est un \'el\'ement que vous pouvez ins\'erer dans une
+liste horizontale, verticale ou math\'ematique et plus tard la retrouver dans
+votre routine de sortie. Les marques sont utiles pour des usages tels que
+garder une trace des sujets apparents dans des ent\^etes de page.
+Chaque marque a une liste de tokens---le ``^{texte de marque}''---associ\'e avec elle.
+La commande ^|\mark| \ctsref{\mark} attend une telle liste de token
+comme son argument, et attend un \'el\'ement contenant cette liste de token (apr\`es
+expansion) pour toute liste que \TeX\ est en train de construire.
+Les commandes ^|\topmark|, ^|\firstmark| et ^|\botmark|
+\ctsref{\topmark} peuvent \^etre utilis\'ees pour retrouver diverses marques sur une page.
+Ces commandes sont le plus souvent utilis\'ees dans les ent\^etes et les pieds de page.
+^^{pieds de page//marques utilis\'es en}
+^^{ent\^etes//marques utilis\'es en}
+
+\margin{This example of {\tt\\mark} replaces the previous explanatory
+paragraph.}
+Voici un exemple simplifi\'e.
+Supposez que vous d\'efinissiez une macro d'ent\^ete de section comme suit~:
+\csdisplay
+\def\section#1{\medskip{\bf#1}\smallskip\mark{#1}}
+% #1 is the name of the section
+|
+^^|\mark|
+Cette macro, quand elle est appel\'ee, produira un ent\^ete de section en caract\`eres gras et
+enregistrera aussi le nom de la section comme marque.
+Vous pouvez maintenant d\'efinir l'ent\^ete de chaque page imprim\'ee
+comme suit~:
+\csdisplay
+\headline = {\ifodd\pageno \hfil\botmark\quad\folio
+ \else \folio\quad\firstmark\hfil \fi}
+|
+Chaque page paire (celle de gauche) aura maintenant le num\'ero de page suivi par
+le nom de la premi\`ere section de cette page, tandis que chaque page impaire (celle de droite)
+aura le num\'ero de page suivi du nom de la derni\`ere section de cette page.
+Les cas sp\'eciaux, par exemple, pas de section commen\c cant sur une page,
+s'afficheront g\'en\'eralement correctement gr\^ace \`a la mani\`ere dont travaillent
+^|\firstmark| et ^|\botmark|.
+
+Quand vous partagez une page en utilisant la commande |\vsplit| \ctsref{\vsplit} vous
+pouvez retrouver les textes de la premi\`ere et de la derni\`ere marque de la
+portion non partag\'ee avec les commandes ^|\splitfirstmark| et ^|\splitbotmark|
+\ctsref{\splitfirstmark}.
+
+Voir les \knuth{pages~258--260}{302--305} pour une explication plus pr\'ecise sur la
+fa\c con de cr\'eer et retrouver des marques.
+\endconcept
+
+
+\conceptindex{mathcodes}
+\concept mathcode
+
+Un \defterm{mathcode} est un nombre que \TeX\ utilise pour identifier et
+d\'ecrire un caract\`ere math\'ematique,
+^^{caract\`eres math\'ematiques//d\'ecrits par mathcodes}
+c'est-\`a-dire, un caract\`ere qui a un
+r\^ole particulier dans une formule math\'ematique. Un mathcode
+transmet trois sortes
+d'informations sur un caract\`ere~: sa position dans la \refterm{police}, sa
+\refterm{famille} et sa \refterm{classe}.
+Chacun des $256$ caract\`eres entr\'es possibles
+a un mathcode, qui est d\'efini par le programme \TeX\
+mais peut \^etre chang\'e.
+
+^^{famille//comme partie de mathcode}
+\TeX\ a seize familles de police, num\'erot\'ees $0$--$15$. Chaque
+famille con\-tient trois polices~: une pour la \refterm{taille texte}, une pour
+la \refterm{taille script} et une pour la \refterm{taille scriptscript}. \TeX\
+choisi la taille d'un caract\`ere particulier et donc sa police,
+en fonction du contexte. La classe d'un caract\`ere sp\'ecifie son r\^ole
+dans une formule (voir la \knuth{page~154}{180}). Par exemple, le signe \'egal `|=|'
+est dans la classe $3$ (relation). \TeX\ utilise sa connaissance des classes
+de caract\`eres quand il d\'ecide combien d'espace mettre entre diff\'erents
+composants d'une formule math\'ematique.
+
+La meilleure fa\c con de comprendre ce que sont les mathcodes est de voir comment
+\TeX\ les utilise. Nous montrons ce que \TeX\ fait avec un
+token de caract\`ere $t$ de \refterm{code de cat\'egorie}~11 ou~12 dans une
+formule math\'ematique~:
+
+\olist\compact
+\li Il recherche le mathcode du caract\`ere.
+\li Il d\'etermine une famille $f$ \`a partir du mathcode.
+\li Il d\'etermine la taille $s$ \`a partir du contexte.
+\li Il s\'electionne une police $F$ en prenant la police de taille $s$ dans la famille $f$.
+\li Il d\'etermine un num\'ero de caract\`ere $n$ \`a partir du mathcode.
+\li Il s\'electionne comme caract\`ere $c$ devant \^etre compos\'e le caract\`ere
+\`a la position $n$ de la police $F$.
+\li Il ajuste l'espacement autour de $c$ en fonction de la classe de $t$ et
+du contexte ambiant.
+\li Il compose le caract\`ere $c$.
+\endolist
+
+La d\'ependance du contexte dans les \'etapes
+(3) et (7) implique que \TeX\ ne peut pas composer un caract\`ere math\'ematique
+tant qu'il n'a pas vu toute la formule contenant le
+caract\`ere math\'ematique. Par exemple, dans la formule
+`|$a\over b$|', \TeX\ ne sait pas quelle taille aura le `|a|' tant qu'il
+n'aura pas vu le |\over|.
+
+{\tighten
+Le mathcode d'un caract\`ere est encod\'e en fonction de la formule $4096c
++ 256f + n$, o\`u $c$ est la classe du caract\`ere, $f$ sa
+\refterm{famille} et $n$ son code de \refterm{caract\`ere \ascii} dans
+la famille. Vous pouvez changer l'interpr\'etation de \TeX\ pour un caract\`ere entr\'e
+dans un mode math\'ematique en assignant une valeur \`a la table d'entr\'ee des ^|\mathcode|
+\ctsref{\mathcode} pour ce
+caract\`ere. Le caract\`ere doit avoir un
+\refterm{code de cat\'egorie} \`a $11$ (lettre) ou $12$ (autre) pour que \TeX\
+recherche son |\mathcode|.
+}\par
+
+^^{famille//variable}
+Vous pouvez d\'efinir un caract\`ere math\'ematique pour avoir une famille ``variable'' en
+lui donnant une classe de $7$. A chaque fois que \TeX\ rencontre ce caract\`ere dans une
+formule math\'ematique, il prend la famille du caract\`ere comme \'etant la valeur
+courante du param\`etre |\fam| \ctsref{\fam}. Une famille variable vous autorise
+\`a sp\'ecifier la police de texte ordinaire dans une formule math\'ematique. Par
+exemple, si le caract\`ere romain est dans la famille $0$, l'assignement
+|\fam = 0|
+fera que le texte ordinaire d'une formule math\'ematique sera mis en type romain
+au lieu d'autre chose comme du type math\'ematique italique. Si la valeur de
+|\fam| n'est pas dans la fourchette de $0$ \`a $15$, \TeX\ prend la valeur \`a
+$0$, ainsi le rendu des classes $0$ et $7$ est \'equivalent.
+\TeX\ fixe |\fam| \`a $-1$ a chaque fois qu'il entre en mode math\'ematique.
+\endconcept
+
+
+\conceptindex {math\'ematiques affich\'ees}
+\concept {math\'ematique affich\'ee}
+
+Le terme \defterm{math\'ematique affich\'ee} fait r\'ef\'e\-rence aux formules math\'ematiques que \TeX\
+place sur une ligne seule avec de l'espace suppl\'ementaire dessus et dessous
+pour le s\'eparer du texte l'environnant.
+Une formule math\'ematique affich\'ee est entour\'ee de `|$$|'.
+\ttidxref{$$}
+\TeX\ lit les math\'ematiques affich\'ees dans le \refterm{mode} math\'ematiques affich\'ees.
+\endconcept
+
+
+\concept m\'ediocrit\'e
+
+La \defterm{m\'ediocrit\'e} d'une ligne mesure combien les tailles des espaces
+inter-mot ^^{espacement inter-mots} de la ligne d\'evient de leurs valeurs
+naturelles, c'est-\`a-dire, des valeurs sp\'ecifi\'ees dans les
+\refterm{polices:police} utilis\'ees dans la ligne. Plus grande est la
+d\'eviation, plus grande est la m\'ediocrit\'e. Similairement, la m\'ediocrit\'e d'une
+page est une mesure de combien les espaces entre les bo\^\i tes qui dessinent
+la page d\'evient de leurs valeurs id\'eales. (Ordinairement, la plupart de ces
+bo\^\i tes sont des lignes simples de paragraphes.)
+
+Plus pr\'ecis\'ement, la m\'ediocrit\'e mesure de combien le \refterm{ressort}
+associ\'e avec ces espaces doit s'\'etirer ou se r\'etr\'ecir pour remplir la
+ligne ou la page exactement. \TeX\ calcule la m\'ediocrit\'e comme
+approximativement $100$ fois le cube du ratio par lequel il doit \'etirer ou
+r\'etr\'ecir le ressort pour composer une ligne ou une page de la taille d\'esir\'ee.
+^^{coupures de ligne//m\'ediocrit\'e pour}^^{coupures de page//m\'ediocrit\'e pour} Par exemple,
+\'etirer le ressort par deux fois son \'etat d'\'etirement signifie un ratio de
+$2$ et une m\'ediocrit\'e de $800$~; la r\'etr\'ecir de moiti\'e son \'etat de r\'etr\'ecissement
+signifie un ratio de $.5$ et une m\'ediocrit\'e de $13$. \TeX\ traite une m\'ediocrit\'e
+sup\'erieure \`a $10000$ comme \'etant \'egale \`a $10000$.
+
+\TeX\ utilise la m\'ediocrit\'e d'une ligne quand il coupe un paragraphe en lignes
+\seeconcept{coupure de ligne}. Il utilise cette information en deux \'etapes~:
+
+\olist
+\li Quand \TeX\ choisi des coupures de ligne,
+il acceptera \'eventuellement des lignes dont la m\'ediocrit\'e est inf\'erieure ou \'egale \`a
+la valeur de |\tole!-rance| (\xref \tolerance). Si \TeX\ ne peut pas diminuer la conception
+d'une ligne dont la m\'ediocrit\'e d\'epasse cette valeur,
+il lui mettra un ``underfull ou overfull \refterm{hbox}''.
+\TeX\ ne mettra
+un ``overfull ou underfull hbox'' qu'en dernier ressort, c'est-\`a-dire, seulement s'il n'y a
+pas d'autre moyen de d\'ecouper le paragraphe en lignes.
+\li En assumant que toutes les lignes sont tol\'erablement mauvaises, \TeX\ utilise la m\'ediocrit\'e des lignes
+pour \'evaluer les diff\'erents moyens de couper le paragraphe en lignes.
+Durant cette \'evaluation il associe des ``d\'em\'erites'' avec chaque ligne potentielle.
+La m\'ediocrit\'e augmente le nombre de \refterm{d\'em\'erites}.
+\TeX\ alors
+coupe le paragraphe en lignes d'une fa\c con qui minimise
+le total des d\'em\'erites pour le paragraphe.
+Plus
+souvent \TeX\ arrange le paragraphe pour minimiser la m\'ediocrit\'e de la
+ligne la pire. Voir \knuth{pages~97--98}{114--115} pour les d\'etails comment \TeX\
+coupe un paragraphe en lignes.
+\endolist
+
+La proc\'edure de \TeX\ pour assembler une s\'equence de lignes et autres mati\`eres en modes verticaux
+en pages est similaire \`a sa proc\'edure de coupure de ligne.
+De toutes fa\c cons, assembler des pages n'est pas aussi compliqu\'e parce que
+\TeX\ ne consid\`ere qu'une page \`a la fois
+quand il cherche des coupures de page.
+Donc la seule d\'ecision qu'il doit prendre est o\`u finir la page courante.
+De plus, quand \TeX\ choisit des coupures de ligne il en
+consid\`ere plusieurs simultan\'ement.
+(La plupart des traitements de texte choisissent des coupures de ligne une \`a la fois,
+et donc ne font pas un aussi bon boulot que celui que fait \TeX\.)
+Voir \knuth{pages~111--113}{129--131} pour les d\'etails sur comment \TeX\ choisit ses
+coupures de page.
+\endconcept
+
+
+\conceptindex{modes}
+\concept mode
+
+Quand \TeX\ dig\`ere votre entr\'ee dans son estomac \seeconcept{\anatomy},
+il est dans un des six \defterm{modes}~:
+\ulist\compact
+\li ^{mode horizontal ordinaire} (assemblage d'un paragraphe)
+\li ^{mode horizontal restreint} (assemblage d'une \refterm{hbox})
+\li ^{mode vertical ordinaire} (assemblage d'une page)
+\li ^{mode vertical restreint} (assemblage d'une \refterm{vbox})
+\li ^{mode math\'ematique de texte} (assemblage d'une formule apparaissant dans du texte)
+\li ^{mode math\'ematique hors-texte}
+(assemblage d'une formule apparaissant sur une ligne seule)
+^^{mode horizontal}^^{mode vertical}^^{mode math\'ematique}
+\endulist
+Le mode d\'ecrit une sorte d'entit\'e que \TeX\ rassemble.
+
+Parce que vous pouvez encastrer une sorte d'entit\'e avec une autre, c'est-\`a-dire, une vbox
+dans une formule, \TeX\ garde trace non seulement d'un mode mais d'une
+liste enti\`ere de modes (ce qu'un informaticien appelle une ``pile'').
+Supposez que \TeX\ soit en mode $M$ et rencontre quelque chose qui le
+met dans une nouveau mode \Mprimeperiod. Quand il termine son travail dans
+le mode \Mprimecomma, il reprend ce qu'il faisait dans le mode \Mperiod.
+
+\endconcept
+
+
+\concept {mode horizontal}
+
+^^{hbox//mode horizontal pour}
+Quand \TeX\ assemble un paragraphe ou une \refterm{hbox}, il est dans un
+des deux \defterm{modes horizontaux}~: le ^{mode horizontal ordinaire}
+pour assembler des paragraphes et le ^{mode horizontal restreint} pour
+assembler des bo\^\i tes horizontales. A chaque fois que \TeX\ est dans un mode horizontal
+son estomac \seeconcept{\anatomy} construit une \refterm{liste horizontale}
+d'articles (bo\^\i tes, ressort, p\'enalit\'es, etc.).
+\TeX\ compose les articles dans la liste
+l'un apr\`es l'autre, de gauche \`a droite.
+
+Une liste horizontale ne peut contenir aucun
+article produit par des commandes verticales internes, par exemple, |\vskip|.
+^^{listes horizontales//ne peuvent contenir de commandes verticales}
+
+\ulist
+\li Si \TeX\ assemble une liste horizontale dans le mode horizontal ordinaire et
+rencontre une commande verticale interne, \TeX\ termine le paragraphe et
+entre dans le \refterm{mode vertical}.
+
+\li Si \TeX\ assemble une liste horizontale dans le mode horizontal
+interne et rencontre une commande verticale interne, il rousp\`ete.
+\endulist
+
+Deux commandes que vous pensez d'abord horizontales internes
+sont en fait verticales internes~: |\halign| \ctsref{\halign}
+et |\hrule| \ctsref{\hrule}.
+^^|\hrule//vertical par nature|
+^^|\halign//vertical par nature|
+voir la \knuth{page~286}{332} pour une liste
+des commandes verticales internes.
+
+{\tighten
+Vous devez faire attention \`a une subtile mais importante propri\'et\'e du mode
+horizontal interne~: \emph{vous ne pouvez pas entrer en mode horizontal interne
+quand vous \^etes en mode horizontal normal}. Ce que cela signifie en pratique
+est que quand \TeX\ assemble une hbox il n'appr\'ehendera pas un texte en
+paragraphe, c'est-\`a-dire, du texte pour lequel il ferait une \refterm{coupure
+de ligne}. Vous pouvez contourner cette restriction en englobant le texte en
+paragraphe dans une \refterm{vbox} \`a l'int\'erieur de l'hbox. la m\^eme m\'ethode
+marche si vous voulez mettre, disons un \refterm{alignement} horizontal dans
+un~hbox.
+}% end scope of tighten
+
+\endconcept
+
+
+\concept {mode math\'ematique}
+
+{\tighten
+Un \defterm{mode math\'ematique} est un \refterm{mode} dans lequel \TeX\
+construit une formule math\'ematique. \TeX\ a deux modes math\'ematiques diff\'erents~: Le
+^{mode math\'ematique de texte} construit une formule devant \^etre englob\'ee dans une ligne de texte,
+tanfis que le ^{mode math\'ematique d'affichage} construit une formule devant
+appara\^\i tre seul sur une ligne. Vous indiquez le mode math\'ematique de texte
+en englobant la formule entre |$| et dans le mode math\'ematique d'affichage en
+englobant la formule entre |$$|.
+%\TeX\ will accept most \refterm{commands:command} in
+%math mode. If it encounters a command in math mode that doesn't make
+%sense in a formula, it will complain.
+Une propri\'et\'e importante des deux modes math\'ematiques est que les
+\emph{espace saisis ne comptent pas}. Voir les
+\knuth{pages~290--293}{338--342} pour des d\'etails sur la fa\c con dont \TeX\ r\'epond aux
+diff\'erentes commandes en mode math\'ematique.
+\par}
+
+\endconcept
+
+
+\concept {mode ordinaire}
+
+Le \defterm{mode ordinaire} est le \refterm{mode} dans lequel est \TeX\ quand
+il assemble un paragraphe en lignes ou assemble des lignes
+en une page. Voir \conceptcit{mode horizontal}, \conceptcit{mode vertical}.
+\endconcept
+
+
+\concept {mode restreint}
+
+Le \defterm{mode restreint} est le \refterm{mode} dans lequel est \TeX\ quand
+il assemble une \refterm{hbox} ou une \refterm{vbox}.
+Nous suivons \texbook\ dans l'utilisation du terme ``mode vertical interne''
+pour ce que vous vous attendez \^etre un ``mode vertical restreint''.
+Voir \conceptcit{mode horizontal} et \conceptcit{mode vertical}.
+\endconcept
+
+
+\concept {mode vertical}
+
+^^{vbox//mode vertical pour} Quand \TeX\ assemble soit une
+\refterm{vbox} soit la liste verticale principale dont les pages sont d\'eriv\'ees,
+il est dans un des deux \defterm{modes verticaux}~: le ^{mode vertical ordinaire}
+pour assembler la liste verticale principale et le ^{mode vertical restreint}
+pour assembler les vbox. A chaque fois que \TeX\ est en mode vertical
+son estomac \seeconcept{\anatomy} construit une \refterm{liste verticale}
+d'\'el\'ements (bo\^\i tes, ressort, p\'enalit\'es, etc.).
+\TeX\ compose les \'el\'ements de la liste
+l'un apr\`es l'autre, de haut en bas.
+
+Une liste verticale ne peut pas contenir tous les \'el\'ements produits par
+des commandes fondamentalement horizontales, c'est-\`a-dire,
+^^{listes verticales//ne peuvent contenir de commandes horizontales}
+|\hskip| ou un caract\`ere ordinaire (pas un espace)
+\footnote{\TeX\ \emph{ignore} tout caract\`ere espace
+qu'il rencontre quand il est dans un mode vertical.}.
+
+\ulist
+\li Si \TeX\ assemble une liste verticale dans le mode vertical ordinaire et
+rencontre une commande fondamentalement horizontale, il bascule vers le
+\refterm{mode horizontal} ordinaire.
+\li Si \TeX\ assemble une liste verticale dans le mode vertical interne et
+rencontre une commande fondamentalement horizontale, il rousp\`ete.
+\endulist
+
+Deux commandes auxquelles vous devez penser en premier qu'elles sont fondamentalement verticales sont
+en fait fondamentalement horizontales~: |\valign| \ctsref{\valign} et |\vrule|
+\ctsref{\vrule}.
+^^|\valign//horizontal par nature|
+^^|\vrule//horizontal par nature|
+Voir la \knuth{page~283}{329} pour une liste des commandes
+fondamentalement horizontales.
+
+Il est particuli\`erement important d'avoir conscience que \TeX\ consid\`ere un
+caract\`ere ordinaire autre qu'un espace comme \'etant fondamentalement horizontal.
+Si \TeX\ d\'ebute soudainement un nouveau paragraphe quand vous ne vous y
+attendez pas une cause vraisemblable est un caract\`ere que \TeX\ a rencontr\'e
+en \'etant en mode vertical. Vous pouvez convaincre \TeX\ de ne pas traiter ce
+caract\`ere comme fondamentalement horizontal en l'englobant dans une
+\refterm{hbox} puisque la commande |\hbox|, malgr\'e son nom, n'est ni
+fondamentalement horizontale ni fondamentalement verticale.
+\endconcept
+
+
+\conceptindex{mots de contr\^ole}
+\concept {mot de contr\^ole}
+
+Un \defterm{mot de contr\^ole} est une \refterm{s\'equence de contr\^ole} qui
+est constitu\'e d'un \refterm{caract\`ere d'\'echappement} suivi d'une ou plusieurs
+lettres\footnote{Une ``lettre'' ici a la strict signification d'un
+caract\`ere de code de cat\'egorie $11$.}.
+\TeX\
+ignore tout espace ou fin de ligne qui suit un mot de contr\^ole, sauf pour
+noter qu'ils terminent le mot de contr\^ole.
+^^{caract\`ere d'\'echappement}
+\endconcept
+
+
+\concept muglue
+
+Une \defterm{muglue} est une sorte de \refterm{ressort}
+que vous ne pouvez utiliser que dans les formules math\'ematiques.
+Elle est mesur\'ee en ^|mu| (\refterm{unit\'es math\'ematiques:unit\'e
+math\'ematique}).
+^^{unit\'es math\'ematiques}^^{ressort//math\'ematique}
+Une |mu| est \'egale \`a \frac1/{18} em, o\`u
+la taille d'un em est prise de la \refterm{famille} 2 des polices math\'ematiques.
+\TeX\ ajuste automatiquement la taille de la muglue en fonction du contexte.
+Par exemple, une taille de ressort de |2mu| est normalement plus petite dans un
+sous-script que dans un texte ordinaire.
+Vous devez utiliser la commande ^|\mskip| pour produire une muglue.
+Par exemple, `|\mskip 4mu plus 5mu|' produit un ressort math\'ematique avec un
+espace naturel de quatre |mu| et un \refterm{\'etirement} de cinq |mu|.
+
+\endconcept
+
+
+\conceptindex{noms de fichier}
+\concept {nom de fichier}
+
+Un \defterm{nom de fichier} nomme un
+\refterm{fichier} qui est connu du ^{syst\`eme d'exploitation}
+qui
+supervise votre ex\'ecution de \TeX. La syntaxe d'un nom de fichier ne doit \emph{pas}
+suivre les r\`egles usuelles de la syntaxe de \TeX\ et en fait est diff\'erente
+selon les diff\'erentes impl\'emen\-ta\-tions de \TeX.
+En particulier, la plupart des impl\'ementations de \TeX\ consid\`erent un nom de fichier
+comme \'etant
+termin\'e par un blanc ou une fin de ligne. Ainsi \TeX\ est susceptible de
+mal interpr\'eter `|{\input chapter2}|'
+en prenant l'accolade droite comme partie du nom de fichier.
+Comme r\`egle g\'en\'erale, vous devez faire suivre un nom de fichier d'un blanc ou
+d'une fin de ligne comme dans `|{\input chapter2!visiblespace}|'.
+
+\endconcept
+
+
+\conceptindex{nombres}
+\concept nombre
+
+En \TeX, un \defterm{nombre} est un entier positif ou n\'egatif.
+Vous pouvez \'ecrire un nombre en \TeX\ de quatre fa\c cons diff\'erentes~:
+\olist\compact
+\li comme un entier d\'ecimal ordinaire, par exemple, |52|
+\li comme un nombre octal, par exemple, |'14| ^^{nombres octaux}
+\li comme un nombre hexad\'ecimal, par exemple, |"FF0| ^^{nombres hexad\'ecimaux}
+\li comme le code d'un \refterm{caract\`ere \ascii}, par exemple, |`)|
+ou |`\)|
+\endolist
+\noindent
+Chacune de ces formes peut \^etre pr\'ec\'ed\'ee par `|+|' ou `|-|'.
+
+Un nombre octal ne peut avoir que les chiffres |0|--|7|.
+^^{nombres octaux}
+Un nombre hexa\-d\'ecimal peut avoir les chiffres |0|--|9| et
+|A|--|F|, repr\'esentant
+les valeurs de $0$ \`a $15$.
+^^{nombres hexad\'ecimaux}
+Vous ne pouvez, h\'elas, utiliser de lettres minuscules quand vous \'ecrivez un nombre hexad\'ecimal.
+Si vous voulez des explications sur les nombres octaux et hexad\'ecimaux,
+vous en trouverez dans les \knuth{pages~43--44}{53--54}.
+
+Un nombre d\'ecimal, octal ou hexad\'ecimal
+se termine au premier caract\`ere qui ne peut faire partie du nombre.
+Ainsi un nombre d\'ecimal se termine quand \TeX\ voit, disons, une lettre,
+tandis qu'une lettre entre `|A|' et `|F|' ne terminera pas un nombre hexad\'ecimal.
+Vous pouvez terminer un nombre avec un ou plusieurs espaces et normalement,
+\TeX\ les ignorera\footnote{
+Quand vous d\'efinissez une macro qui se termine par un nombre, vous devez
+toujours mettre un espace apr\`es ce nombre~; autrement, \TeX\ pourrait combiner
+ce nombre avec autre chose.}.
+
+La quatri\`eme forme ci-dessus sp\'ecifie un nombre comme le code
+\minref{\ascii} d'un caract\`ere.
+^^{caract\`eres//codes \ascii\ pour}
+\TeX\ ignore les espaces apr\`es cette forme de nombre aussi.
+Vous pouvez \'ecrire un nombre de cette forme soit comme |`|$c$ soit comme |`\|$c$.
+La seconde forme, bien que plus longue, a l'avantage que vous pouvez l'utiliser
+avec \emph{tout} caract\`ere, m\^eme `|\|', `|%|', ou `|^^M|'.
+En revanche, il y a un inconv\'enient plut\^ot technique~: quand \TeX\ d\'eveloppe
+une s\'equence de tokens pour une commande telle que |\edef| ou |\write|,
+^^|\edef//expansion de {\tt\\'\it c} en|
+^^|\write//expansion de {\tt\\'\it c} en|
+des occurrences de `|\|$c$' repr\'esentant un nombre sera aussi d\'evelopp\'ee
+ si elle peut l'\^etre.
+C'est rarement l'effet que vous d\'esirez.
+
+Ce qui suit sont des repr\'esentations valides du nombre d\'ecimal
+$78$~:
+\csdisplay
+78 +078 "4E '116 `N `\N
+|
+
+
+Vous ne pouvez utiliser un nombre dans du texte par lui-m\^eme car un nombre n'est pas
+une commande.
+N\'eanmoins, vous pouvez ins\'erer la forme d\'ecimale d'un nombre dans du texte
+en mettant une commande ^|\number| (\xref\number) devant lui
+ou la forme num\'erique romaine en mettant une commande ^|\romannumeral|
+devant lui.
+
+Vous pouvez aussi utiliser des ^{constantes d\'ecimales},
+par exemple, des nombres avec une partie fractionnaire,
+pour sp\'ecifier des dimensions \seeconcept{dimension}.
+Une constante d\'ecimale a un ^{point d\'ecimal}, qui peut \^etre
+le premier caract\`ere de la constante. Vous pouvez utiliser une
+virgule au lieu d'un point pour repr\'esenter le point d\'ecimal.
+Une constante d\'ecimale peut \^etre pr\'ec\'ed\'ee par un signe plus ou moins.
+Ainsi `|.5in|',
+`|-3.22pt|' et `|+1,5\baselineskip|' sont des dimensions valides.
+Vous ne pouvez, par contre, utiliser de constantes d\'ecimales
+dans tous les contextes \emph{autres} comme la partie ``facteur'' d'une dimension,
+c'est-\`a-dire, son multiplicateur.
+
+
+\endconcept
+
+
+\concept outer
+
+\bix^^{macros//outer}
+Une macro \defterm{outer} est une macro que vous ne pouvez utiliser dans
+certains contextes o\`u \TeX\ assemble des tokens \`a grande vitesse.
+Le but de rendre une commande outer est d'obliger \TeX\ \`a g\'en\'erer
+des erreurs avant d'aller trop loin.
+Quand vous d\'efinissez une macro, vous pouvez la rendre outer avec la commande
+^|\outer| \ctsref\outer.
+
+Vous ne pouvez utiliser de macro outer dans aucun des contextes suivants~:
+\ulist\compact
+\li comme argument d'une macro
+\li dans le texte param\`etre ou le texte de remplacement d'une d\'efinition
+\li dans le pr\'eambule d'un alignement
+\li dans la partie non ex\'ecut\'ee d'un test conditionnel
+\endulist
+\noindent
+Un contexte outer est un contexte dans lequel vous pouvez utiliser une
+macro outer, c'est-\`a-dire c'est tout contexte autre que ceux list\'es ci-dessus.
+
+Par exemple, l'entr\'ee suivante sera une utilisation interdite d'une macro outer
+\csdisplay
+\leftline{\proclaim Assertion 2. That which is not inner
+ is outer.}
+|
+La macro |\proclaim| (\xref{\@proclaim}) est d\'efinie en \plainTeX\
+comme \'etant outer, mais elle est utilis\'ee ici comme un macro argument \`a
+ |\leftline|.
+\eix^^{macros//outer}
+
+\endconcept
+
+
+\conceptindex{pages}
+\concept page
+
+\TeX\ compile un document en assemblant des \defterm{pages} une par une
+et en les passant \`a la routine de sortie.
+Quand il lit votre document, \TeX\ maintient une liste des lignes
+et d'autres \'el\'ements \`a placer sur la page. (Les lignes sont normalement des
+hbox.) Cette liste est appel\'ee la ``^{liste verticale principale}''.
+P\'eriodiquement \TeX\ rentre dans un processus appel\'e ``devoir du
+^{constructeur de page}''.
+Les \'el\'ements ajout\'es \`a la liste verticale principale entre les devoirs
+du constructeur de page sont appel\'e ``^{contributions r\'ecentes}''.
+
+Le constructeur de page examine d'abord la liste verticale principale pour voir si elle
+a besoin de d\'eposer une page maintenant, soit parce que les \'el\'ements sur la liste
+verticale principale ne tiennent pas sur la page, soit parce que un \'el\'ement
+sp\'ecifique, tel que |\eject| \ctsref\eject, demande \`a \TeX\ de finir la page.
+S'il n'est pas n\'ecessaire de d\'eposer une page, alors le constructeur de page
+est fait pour la prochaine fois.
+
+Autrement, le constructeur de page analyse la liste verticale principale pour
+trouver ce qu'il consid\`ere comme \'etant la meilleure coupure de page possible.
+Il associe des p\'enalit\'es avec plusieurs types de coupure de page peu attirantes---une
+coupure qui laisse une ligne isol\'ee en haut ou en bas de la page, une coupure
+juste avant un affichage math\'ematique, et ainsi de suite. Il choisit alors
+la coupure de page la moins ch\`ere
+o\`u le co\^ut d'une coupure est augment\'e de toute p\'enalit\'e associ\'ee avec cette
+coupure et par la m\'ediocrit\'e de la page qui en r\'esulte
+(voir la \knuth{page~111}{130} pour la formule du co\^ut). S'il trouve plusieurs
+coupures de page de co\^ut identique, il choisit la derni\`ere.
+
+{\tighten
+Une fois que le constructeur de page a choisi une coupure de page,
+il place les \'el\'ements de la liste qui sont avant cette coupure
+dans la ^|\box255| et garde le reste pour la page suivante.
+Il appelle alors la routine de sortie. |\box255| agit comme une bo\^\i te
+aux lettres, avec le constructeur de page comme exp\'editeur et la routine de
+sortie comme destinataire.
+Ordinairement la routine de sortie traite la |\box255|, ajoute
+d'autres \'el\'ements, comme des insertions, ent\^ete et pieds de page \`a la page et
+envoit la page vers le \dvifile\
+^^{\dvifile//mat\'eriel de la routine de sortie}
+avec une commande |\shipout|.
+(Des routines de sortie sp\'ecialis\'ees peuvent agir diff\'eremment.)
+Du point de vue de \TeX, il importe peu que la routine de sortie envoie
+la page ou non~;
+La seule
+responsabilit\'e de la routine de sortie est de traiter la |\box255| d'une fa\c con
+ou d'une autre.
+\par}
+
+{\tighten
+Il est important de r\'ealiser que le meilleur endroit pour couper une page
+n'est pas n\'ecessairement le dernier endroit possible pour couper la page.
+Des p\'enalit\'es et autres consid\'erations peuvent faire que la coupure de page
+ait lieu plus t\^ot. De plus, \TeX\ appr\'ehende les \'el\'ements de la liste verticale
+principale en batch, pas seulement un par un. Les lignes d'un paragraphe sont
+un exemple d'un tel batch. Pour ces raisons, le constructeur de page garde
+des \'el\'ements sous le coude quand il coupe une page. Ces \'el\'ements mis en r\'eserve
+forment alors le d\'ebut de la liste verticale principale de la page suivante
+(vraisemblablement au milieu d'un batch). Parce que des \'el\'ements sont d\'eplac\'es
+d'une page \`a une autre, vous pouvez \^etre s\^ur que quand \TeX\ ex\'ecute l'entr\'ee,
+le num\'ero de la page courante refl\`ete la page sur laquelle la sortie correspondante
+appara\^\i tra. Voir les \knuth{pages~110--114}{128--133} pour une description compl\`ete
+des r\`egles de coupure de page de \TeX.
+\par}
+
+\endconcept
+
+
+\conceptindex{paragraphes}
+\concept paragraphe
+
+Intuitivement, un \defterm{paragraphe} est une suite de lignes de saisie
+se terminant par une ligne blanche, une commande |\par| \ctsref{\@par}
+^^|\par//terminer un paragraphe avec|
+ou par une commande intrins\`equement verticale, telle que |\vskip|.
+Plus pr\'ecis\'ement, un paragraphe est une s\'equence de commandes que \TeX\ ex\'ecute
+en mode horizontal restreint.
+Quand \TeX\ a collect\'e un paragraphe entier, il le transforme en une s\'equence de
+lignes en choisissant les coupures de ligne \seeconcept{coupure de ligne}.
+Le r\'esultat est une liste de hbox avec ressort, p\'enalit\'e interligne
+et mat\'eriel vertical imbriqu\'e entre.
+Chaque hbox est une simple ligne et le ressort est le ressort inter-ligne.
+
+%\eject
+\TeX\ d\'ebute un paragraphe quand il est dans un mode vertical et
+rencontre une commande fondamentalement horizontale.
+En particulier, il est en mode vertical juste apr\`es avoir termin\'e un
+paragraphe, donc le mat\'eriel horizontal sur la ligne suivant une ligne
+blanche d\'ebute le paragraphe suivant de mani\`ere naturelle.
+Il y a plusieurs types de commandes fondamentalement horizontales, mais le
+type le plus commun est un caract\`ere ordinaire, c'est-\`a-dire, une lettre.
+
+\looseness = -1
+Les commandes ^|\indent| et ^|\noindent|
+(\pp\xrefn{\indent},~\xrefn{\noindent})
+sont aussi des commandes fondamentalement horizontales qui demandent \`a
+\TeX\ d'in\-denter ou non le d\'ebut d'un paragraphe.
+Toute autre commande horizontale en mode vertical
+fait que \TeX\ fait un |\indent| implicite.
+Une fois que \TeX\ a commenc\'e un paragraphe, il est en mode horizontal ordinaire.
+Il commence par suivre toutes commandes situ\'ees dans ^|\everypar|.
+Il commence alors \`a collecter des \'el\'ements pour le paragraphe jusqu'a
+ce qu'il re\c coive un signal de la fin du paragraphe.
+A la fin du paragraphe il r\'einitialise les param\`etres de formation de
+paragraphe ^|\parshape|, |\hang!-indent|,
+^^|\hangindent|
+et ^|\looseness|.
+
+\TeX\ traduit normalement une ligne blanche par |\par|.
+Il ins\`ere aussi
+un |\par| dans l'entr\'ee chaque fois, en mode horizontal, qu'il
+rencontre une commande intrins\`equement verticale.
+Donc finalement la chose qui termine un paragraphe est toujours une commande |\par|.
+
+Quand \TeX\ re\c coit une commande |\par|, il compl\`ete d'abord\footnote{%
+Plus pr\'ecis\'ement, il ex\'ecute les commandes~:
+\csdisplay
+\unskip \penalty10000 \hskip\parfillskip
+|
+apportant ainsi les \'el\'ements de ces commandes
+\`a la fin de la liste horizontale courante.}
+le paragraphe sur lequel il travaille.
+Il coupe alors le paragraphe en lignes,
+ajoute la liste r\'esultante d'\'el\'ements dans la liste verticale englobante
+et ex\'ecute le constructeur de page
+(dans le cas o\`u la liste verticale englobante est la liste verticale principale).
+Si le paragraphe se termine par une commande intrins\`equement verticale,
+\TeX\ ex\'ecute alors cette commande.
+
+\endconcept
+
+\conceptindex{param\`etres}
+\concept param\`etre
+
+Le terme \defterm{param\`etre} a deux significations diff\'erentes---il peut faire
+r\'ef\'erence soit \`a un param\`etre de \TeX, soit \`a un param\`etre de macro.
+
+Un param\`etre de \TeX\ est une \refterm{s\'equence de contr\^ole} qui nomme
+une valeur.
+La valeur d'un param\`etre peut \^etre un \refterm{nombre}, une \refterm{dimension},
+un montant de \refterm{ressort}, de muglue ou une \refterm{liste de tokens}.
+Par exemple, le param\`etre ^|\parindent|
+sp\'ecifie la distance que \TeX\ saute au d\'ebut d'un paragraphe indent\'e.
+
+Vous pouvez utiliser la s\'equence de contr\^ole d'un param\`etre soit pour r\'etablir la valeur
+du param\`etre soit pour fixer cette valeur. \TeX\ interpr\`ete la s\'equence de contr\^ole
+comme une requ\^ete pour une valeur si elle appara\^\i t dans un contexte o\`u une valeur est attendue,
+et comme un \refterm{assignement} autrement.
+^^{assignements}
+Par exemple~:
+\csdisplay
+\hskip\parindent
+|
+produit un \refterm{ressort} horizontal dont la taille naturelle est donn\'ee
+par |\par!-indent|,
+tandis que~:
+\csdisplay
+\parindent = 2pc % (ou \parindent 2pc)
+|
+fixe |\parindent| \`a une longueur de deux picas. L'assignement~:
+\csdisplay
+\parindent = 1.5\parindent
+|
+utilise |\parindent| des deux fa\c cons. Son effet est de multiplier la valeur de
+|\parindent| par $1.5$.
+
+Vous pouvez penser \`a un param\`etre comme \`a un \refterm{registre} construit.
+^^{registres//param\`etres comme}
+Vous trouverez la liste de tous les param\`etres de \TeX\ dans les \knuth{pages~272--275}{317--318}.
+
+Un param\`etre de \refterm{macro} est un endroit qui garde la place du texte
+qui est branch\'e dans la d\'efinition d'une macro. Voir \conceptcit{macro}
+pour plus d'informations sur ce type de param\`etre.
+
+\endconcept
+
+
+\conceptindex{penalties}
+\concept p\'enalit\'e
+
+Une \defterm{p\'enalit\'e} est un \'el\'ement que vous pouvez inclure dans une
+liste horizontale, verticale ou math\'ematique
+pour d\'ecourager \TeX\ de couper la liste
+\`a cet endroit ou encourager \TeX\ de couper la liste ici.
+^^{listes horizontales//p\'enalit\'es dans}
+^^{listes verticales//p\'enalit\'es dans}
+Une p\'enalit\'e positive indique un mauvais point de coupure, tandis qu'une
+p\'enalit\'e n\'egative indique un bon point de coupure.
+Couper une liste horizontale ordinaire
+produit une \refterm{coupure de ligne}, tandis que couper une liste
+verticale ordinaire produit
+une \refterm{coupure de page}.
+(Une p\'enalit\'e n'a aucun effet en \refterm{mode} horizontal restreint ou
+vertical interne.)
+
+Vous pouvez utiliser la commande
+|\penalty| (\pp\xrefn{hpenalty},~\xrefn{vpenalty})
+pour ins\'erer une p\'enalit\'e explicitement.
+Une p\'enalit\'e de $10000$ ou plus emp\^eche une coupure, tandis qu'une p\'enalit\'e de
+$-10000$ ou moins force une coupure.
+\endconcept
+
+
+\conceptindex{pieds de page}
+\concept {pied de page}
+
+Un \defterm{pied de page} est du mat\'eriel que \TeX\ met en bas de chaque page,
+sous le texte de cette page.
+Le pied de page par d\'efaut en \plainTeX\ est un num\'ero de page centr\'e.
+D'habitude un pied de page consiste en une ligne simple, que vous pouvez
+d\'efinir en assignant une liste de tokens \`a ^|\footline| \ctsref\footline.
+Voir \xrefpg{bighead} pour une m\'ethode de production de pied de page multi-ligne.
+
+\endconcept
+
+%k \vskip 0pt plus 2pt % to solve page break problem
+
+%\eject
+\concept {\plainTeX}
+
+\defterm{\PlainTeX} est le format de \TeX\ d\'ecrit dans ce
+livre et dans \texbook. \PlainTeX\ est une partie du syst\`eme \TeX\ standard,
+donc des documents qui n'utilisent que les am\'enagements de \plainTeX\ peuvent
+facilement \^etre transf\'er\'es d'une installation vers une autre sans
+difficult\'e.
+
+\PlainTeX\ est constitu\'e de commandes \refterm{primitive}s auxquelles se joignent
+une large collection de macros et
+autres d\'efinitions. Ces d\'efinitions additionnelles sont d\'ecrites dans
+l'\knuth{annexe~B}{}. Vous pourrez aussi les trouver dans le fichier |plain.tex|
+quelque part sur votre syst\`eme informatique.
+\endconcept
+
+
+\concept {point de r\'ef\'erence}
+
+^^{lignes de base}
+^^{\boites//point de r\'ef\'erence de}
+Le \defterm{point de r\'ef\'erence} d'une \refterm{bo\^\i te} est le point o\`u le
+cot\'e gauche de la bo\^\i te est en intersection avec sa \refterm{ligne de base}.
+Quand \TeX\ ex\'ecute une \refterm{liste horizontale} ou
+\refterm{verticale:liste verticale}, il utilise les points de r\'ef\'erence
+des bo\^\i tes dans la liste pour aligner ces bo\^\i tes horizontalement ou
+verticalement \seeconcept{\boites}.
+\endconcept
+
+\conceptindex{polices}
+\concept police
+
+Une \defterm{police} en \TeX\ est une collection de jusqu'a $256$ caract\`eres
+de sortie, ayant normalement les m\^emes design, style (romain,
+italique, gras, condens\'e, etc.),
+et taille\footnote{\PlainTeX\ utilise une police sp\'eciale
+pour construire les ^{symboles math\'ematiques} pour lesquelles les caract\`eres
+ont diff\'erentes tailles. D'autres polices sp\'eciales sont souvent utiles pour
+des applications comme le composition de ^{logos}.}.
+La ^{police Computer Modern} qui est fournie
+g\'en\'eralement avec \TeX\ n'a que $128$ caract\`eres. Le colophon sur la
+derni\`ere page de ce livre d\'ecrit les polices que nous avons utilis\'ees pour composer
+ce livre.
+
+Par exemple, voici l'alphabet en police romaine Palatino de $10$ points~:
+^^{police Palatino}
+\vskip\abovedisplayskip{\narrower\tenpal
+\noindent ABCDEFGHIJKLMNOPQRSTUVWXYZ\hfil\break
+abcdefghijklmnopqrstuvwxyz\par
+}\vskip\belowdisplayskip
+\noindent
+et le voici dans la police Computer Modern Grasse \'etendue de $12$
+point~:
+^^{police Computer Modern}
+\vskip\abovedisplayskip{\narrower\font\twelvebf=cmbx12\twelvebf
+\noindent ABCDEFGHIJKLMNOPQRSTUVWXYZ\hfil\break
+abcdefghijklmnopqrstuvwxyz\par
+}\vskip\belowdisplayskip
+Les caract\`eres d'une police sont num\'erot\'es.
+La num\'erotation s'accorde normalement avec la num\'erotation ^{\ascii}
+pour les caract\`eres existants dans le jeu de caract\`eres \ascii.
+La table de code de chaque police indique \`a quoi ressemble le caract\`ere
+avec le code $n$ dans cette police.
+Certaines polices, comme celles utilis\'ees pour les symboles math\'ematiques, n'ont pas
+de lettres. Vous pouvez produire une \refterm{bo\^\i te} contenant le
+caract\`ere num\'erot\'e $n$, compos\'e dans la police courante, en \'ecrivant `|\char |$n$'
+ \ctsref{\char}.
+
+Pour utiliser une police dans votre document,
+vous devez d'abord la nommer avec une s\'equence de contr\^ole et la charger. Alors vous
+pourrez la s\'electionner en saisissant
+cette s\'equence de contr\^ole quand vous voulez l'utiliser.
+\PlainTeX\ procure un certain nombre de polices d\'ej\`a nomm\'ees et~charg\'ees.
+
+Vous nommez et chargez une police comme une simple op\'eration, avec une
+commande comme `|\font\twelvebf=cmbx12|'. Ici, `|\twelvebf|' est la s\'equence
+de contr\^ole que vous utilisez pour nommer la police et `|cmbx12|' identifie
+le fichier de m\'etrique de la police |cmbx12.tfm| sur votre syst\`eme de
+fichier. Vous pouvez alors commencer \`a utiliser la police en saisissant
+`|\twelvebf|'. Apr\`es cela, la police sera effective jusqu'a ce que soit
+(a)~vous s\'electionnez une autre police, (b)~vous terminez le \refterm{groupe}
+ dans lequel vous avez commenc\'e avec la police. Par exemple,
+la saisie~:
+
+\csdisplay
+{\twelvebf white rabbits like carrots}
+|
+fera que la police |cmbx12| ne sera effective que pour le texte
+`|white rabbits like carrots|'.
+
+Vous pouvez utiliser \TeX\ avec d'autres polices que Computer Modern
+(regardez l'exemple sur \xrefpg{palatino} et les ent\^etes de page).
+Les fichiers de telles polices doivent \^etre install\'es sur votre syst\`eme
+de fichier \`a une place o\`u \TeX\ puisse les trouver. \TeX\ et ses programmes
+compagnons ont g\'en\'eralement besoin de deux fichiers pour chaque police~:
+un pour les m\'etriques (|cmbx12.tfm|,
+^^{\tfmfile}
+par exemple) et un autre pour la forme
+des caract\`eres (|cmbx12.pk|, par exemple).
+\TeX\ lui-m\^eme n'utilise que les fichiers de m\'etriques.
+Un autre programme, le pilote de p\'eriph\'erique,
+^^{drivers de p\'eriph\'erique}
+convertit le \dvifile\
+^^{\dvifile//convertit par driver}
+produit par \TeX\ en une forme que votre imprimante
+ou autre p\'eriph\'erique de sortie puisse interpr\'eter. Le pilote
+utilise le fichier de forme (s'il existe).
+
+Le fichier de m\'etrique de la police contient l'information dont \TeX\ \`a
+besoin pour allouer de l'espace pour chaque caract\`ere compos\'e.
+Ainsi il inclut la taille de chaque caract\`ere, les ligatures et cr\'enages
+qui modifient les suites de caract\`eres adjacents, et ainsi de suite.
+Ce que le fichier de m\'etrique n'inclut \emph{pas} sont les informations
+sur les formes des caract\`eres de la police.
+
+{\tighten
+Le fichier de forme (pixel) \xrdef{shape}
+^^{fichier de pixel}^^{fichier de forme}
+peut \^etre de diff\'erents
+formats. La partie d'extension du nom (la partie apr\`es le point)
+informe le pilote sur le format dans lequel est le fichier de forme.
+Par exemple,
+|cmbx12.pk| ^^{\pkfile} est le fichier de forme de la police |cmbx12| en
+format compress\'e, tandis que |cmbx12.gf| ^^{\gffile} est le fichier de forme
+pour la police |cmbx12| en format de police g\'en\'erique.
+Un fichier de forme peut ne pas \^etre n\'ecessaire pour une police r\'esidente dans votre
+p\'eriph\'erique de sortie.
+\par}
+
+\endconcept
+
+
+\concept {primitive}
+
+Une \refterm{commande} \defterm{primitive} est une commande dont la d\'efini\-tion
+est construite dans le programme informatique \TeX.
+Au contraire, une commande qui n'est pas une
+primitive est d\'efinie par une \refterm{macro} ou un autre format de
+d\'efinition \'ecrit en \TeX. Les commandes dans \refterm{\plainTeX}
+sont constitu\'ees de commandes primitives auxquelles se joignent
+d'autres commandes d\'efinies en termes de
+primitives.
+\endconcept
+
+
+\concept profondeur
+
+^^{\boites//profondeur de}
+La \defterm{profondeur} d'une \refterm{bo\^\i te} est la distance par laquelle
+la bo\^\i te s'\'etend sous sa \refterm{ligne de base}.
+\endconcept
+
+
+\conceptindex{registres}
+\concept registre
+
+Un \defterm{registre} est une place nomm\'ee pour stocker une valeur.
+C'est plus comme une variable dans un langage de programmation.
+\TeX\ a cinq sortes de registres, comme montr\'e dans le tableau suivant~:
+
+\vdisplay{\tabskip 10pt\halign{\tt #\hfil &#\hfil\cr
+{\it Type de registre}&{\it Contenus}\cr
+box&une \refterm{bo\^\i te} \idxref{registres de \boite}\cr
+count&une \refterm{nombre} \idxref{registres de compteur}\cr
+dimen&une \refterm{dimension} \idxref{registres de dimension}\cr
+muskip&\refterm{muglue} \idxref{registres de muglue}\cr
+skip&\refterm{ressort} \idxref{registres de ressort}\cr
+toks&un \refterm{token} list\idxref{registres de token}\cr}}
+
+Les registres de chaque type sont num\'erot\'es de $0$ \`a $255$.
+Vous pouvez acc\'eder au registre $n$ de cat\'egorie $c$ en utilisant la forme `|\|$cn$',
+c'est-\`a-dire, |\muskip192|.
+Vous pouvez utiliser un registre
+n'importe o\`u cette information de type appropri\'e est appel\'ee. Par
+exemple, vous pouvez utiliser |\count12|
+dans tout contexte appelant un nombre ou |\skip0|
+dans tout contexte appelant un ressort.
+
+Vous mettez de l'information dans un registre en y \refterm{assignant:assignment}
+quelque chose~:
+
+\csdisplay
+\setbox3 = \hbox{lagomorphs are not mesomorphs}
+\count255 = -1
+|
+Le premier assignement construit une hbox et l'assigne au
+registre de bo\^\i te~$3$.
+Vous pouvez
+ensuite utiliser `|\box3|' partout o\`u une bo\^\i te est appel\'ee et vous obtiendrez
+cette hbox\footnote{Mais faites attention~: utiliser un registre de bo\^\i te
+la vide aussi donc son contenu devient vide. Les autres sortes de
+registres n'ont pas cet mani\`ere de r\'eagir. Vous pouvez utiliser la commande |\copy|
+\ctsref{\copy} pour conserver le contenu d'un registre de bo\^\i te sans
+le vider.}.
+Le second assignement assigne $-1$ au registre de compteur~$255$.
+
+Un registre d'un type donn\'e, par exemple, un registre de ressort, r\'eagit comme
+un param\`etre de ce type.
+^^{param\`etres//comme registres}
+Vous retrouvez sa valeur ou la lui assignez
+comme vous le feriez avec un \refterm{param\`etre}.
+Quelques param\`etres de \TeX, par exemple, |\pageno|,
+sont impl\'ement\'es comme des registres.
+
+\PlainTeX\
+utilise plein de registres pour son propre usage, donc vous ne devez pas
+simplement prendre un num\'ero de registre arbitraire
+quand vous avez besoin d'un registre. \`A la place, vous devez demander
+\`a \TeX\ de r\'eserver un registre en utilisant une des commandes
+^|\newbox|, ^|\newcount|, ^|\newdimen|, ^|\newmuskip|, ^|\newskip|
+ou ^|\newtoks|
+\ctsref{\@newbox}. Ces com\-man\-des sont outer, donc vous ne pouvez
+pas les utiliser dans une d\'efinition de macro.
+Si vous le pouviez,
+vous utiliseriez un registre \`a chaque fois que la macro serait appel\'ee et
+probablement d\'epasseriez le nombre de
+registres rapidement.
+
+Quoiqu'il en soit, vous pouvez, avec pr\'ecaution utiliser tout registre temporairement
+dans un \refterm{groupe}, m\^eme un que \TeX\ utilise pour autre chose.
+Quand \TeX\ a fini d'ex\'ecuter les commandes dans un groupe,
+il retrouve le contenu de tous les registres
+dans l'\'etat o\`u ils \'etaient avant de commencer \`a ex\'ecuter le groupe.
+Quand vous utilisez un registre num\'erot\'e explicitement dans un groupe,
+vous devez \^etre sur que le registre n'est modifi\'e par aucune
+\refterm{macro}
+que vous pourriez appeler dans le groupe.
+Soyez sp\'ecialement attentif
+quand vous utilisez des registres arbitraires dans un groupe qui appelle des macros
+que vous n'avez pas \'ecrit vous-m\^eme.
+
+{\tighten
+\TeX\ r\'eserve certains registres \`a des t\^aches sp\'eciales~: de |\count0| \`a
+|\count9| pour des informations de num\'erotation de page et
+^^{num\'erotation de page}
+^|\box255| pour le contenu
+d'une page juste avant qu'elle soit offerte \`a la \refterm{routine de sortie}.
+Les registres |\dimen0|--|\dimen9|, |\skip0|--|\skip9|,
+|\muskip0|--|\mu!-skip9| et |\box0|--|\box9| ainsi que
+les |255| registres de bo\^\i te autres que |\box255|
+sont g\'en\'eralement utilisables comme registre ``brouillon''.
+Aussi \plainTeX\ ne procure qu'un registre brouillon, |\count255|, pour
+des compteurs.
+Voir les \knuth{pages~122 et 346}{141--142 et 402} pour des conventions \`a suivre
+pour choisir des num\'eros de registre.
+\par}
+
+Vous pouvez examiner le contenu des registres lors d'une ex\'ecution
+avec la commande ^|\showthe| \ctsref\showthe, par exemple, `|\showthe\dimen0|'.
+\endconcept
+
+
+\concept r\'eglures
+
+Vous pouvez utiliser des \refterm{r\'eglures} pour remplir un espace avec des
+copies d'un mod\`ele, c'est-\`a-dire, mettre des points r\'ep\'et\'es entre un titre et
+un num\'ero de page dans une table des mati\`eres.
+Une r\'eglure est une copie simple d'un mod\`ele.
+La sp\'ecification des r\'eglures contient trois parties d'information.
+\olist\compact
+\li ce qu'est une r\'eglure seule
+\li combien d'espace doit \^etre rempli
+\li comment les copies du mod\`ele doivent \^etre arrang\'ees dans l'espace
+\endolist
+
+\bix^^|\leaders|
+\bix^^|\cleaders|
+\bix^^|\xleaders|
+{\tighten
+\TeX\ poss\`ede trois commandes pour sp\'ecifier des r\'eglures~:
+|\leaders|, |\cleaders| et |\xleaders| (\xref\leaders).
+L'\refterm{argument} de chaque commande sp\'e\-ci\-fie la r\'eglure.
+La commande doit \^etre suivie d'un \refterm{ressort}. La taille du ressort
+sp\'ecifie combien d'espace doit \^etre rempli. Le choix de la commande d\'etermine
+comment les r\'eglures sont arrang\'ees dans l'espace.}
+
+Voici un exemple montrant comment les |\leaders| travaillent~:
+\csdisplay
+\def\dotting{\leaders\hbox to 1em{\hfil.\hfil}\hfil}
+\line{The Political Process\dotting 18}
+\line{Bail Bonds\dotting 26}
+|
+Ici, nous avons plac\'e les r\'eglures et leur ressort associ\'e dans une d\'efinition
+de \refterm{macro} pour pouvoir les utiliser facilement \`a deux endroits.
+Cette entr\'ee produit~:
+
+\vdisplay{\advance\hsize by -\parindent
+\def\dotting{\leaders\hbox to 1em{\hfil{.}\hfil}\hfill}%
+\line{The Political Process{\dotting}18}
+\line{Bail Bonds{\dotting}26}
+}
+
+La \refterm{hbox} suivant |\leaders| sp\'ecifie
+la r\'eglure, soit, une hbox d'1\em\ de large contenant un point en son
+centre.
+L'espace est rempli avec des copies de cette bo\^\i te,
+effectivement remplies
+de points dont les centres sont s\'epar\'es de 1\em.
+Le |\hfil| suivant (celui \`a la fin de la d\'efinition de macro) est
+un ressort qui sp\'ecifie l'espace \`a remplir.
+Dans ce cas, c'est l'espace n\'ecessaire pour remplir la ligne.
+en choisissant |\leaders| plut\^ot que |\cleaders| ou |\xleaders|, nous nous
+assurons que les points des diff\'erentes lignes soient align\'es entre eux.
+
+En g\'en\'eral, l'espace \`a remplir agit comme une fen\^etre pour les copies
+r\'ep\'et\'ees de r\'eglures. \TeX\ ins\`ere autant de copies que possible, mais de
+l'espace est habituellement laiss\'e---soit parce que les r\'eglures s'arr\^etent
+dans la fen\^etre, soit parce que la largeur de la fen\^etre n'est pas un multiple
+exact de la largeur de la r\'eglure.
+La diff\'erence entre les trois commandes est dans leur fa\c con d'arranger les
+r\'eglures dans la fen\^etre et comment elles distribuent l'espace perdu.
+
+\ulist
+\li Pour |\leaders|, \TeX\ produit d'abord une rang\'ee de copies de la r\'eglure.
+Il aligne alors le d\'ebut de cette rang\'ee avec l'extr\'emit\'e gauche de la bo\^\i te
+la plus interne $B$ qui contient le r\'esultat de la commande |\leaders|.
+Dans les deux lignes d'exemple ci-dessous, $B$ est une bo\^\i te produite par |\line|.
+Ces r\'eglures qui rentrent enti\`erement dans la fen\^etre sont plac\'ees dans $B$,
+et l'espace restant aux extr\`e\-mit\'ees gauche et droite est laiss\'e vide.
+L'image est comme ceci~:
+\vdisplay{%
+\def\dotting{\leaders\hbox to 1em{\hfil{.}\hfil}\hfill}%
+\def\pp{The Political Process}
+\line{\dotting}
+\line{\hphantom\pp\hfil$\Downarrow$\hfil\hphantom{18}}
+\vskip 4pt
+\setbox0 = \hbox{\pp}
+\setbox1 = \hbox{18}
+\dimen0 = \hsize \advance\dimen0 by -\wd0 \advance \dimen0 by -\wd1
+\advance\dimen0 by -0.8pt
+\hbadness=10000
+\line{\pp
+ \vrule\vbox{\hrule width \dimen0\vskip 2pt
+ \hbox to \dimen0{\hfil window\strut\hfil}
+ \vskip 2pt\hrule width \dimen0}%
+ \vrule 18}
+\line{\hphantom\pp\hfil$\Downarrow$\hfil\hphantom{18}}
+\vskip 2pt
+\line{\pp{\dotting}18}
+}
+\vskip\medskipamount
+{\tighten
+\noindent
+Cette proc\'edure assure que dans les deux lignes d'exemple de la page pr\'ec\'edente,
+les points des deux lignes soient align\'es verticalement (puisque les
+\refterm{points de r\'ef\'erence:point de r\'ef\'erence} des hbox produites par
+|\line| sont align\'es verticalement).
+\par}
+
+\li Pour |\cleaders|, \TeX\ centre les r\'eglures dans la fen\^etre
+en divisant l'espace perdu entre les deux extr\'emit\'es de la fen\^etre.
+L'espace perdu est toujours inf\'erieur \`a la largeur d'une seule r\'eglure.
+
+\li Pour |\xleaders|, \TeX\ distribue l'espace perdu de chaque cot\'e dans la
+fen\^etre. En d'autres mots, si l'espace perdu est $w$ et que la r\'eglure se
+r\'ep\`ete $n$ fois, \TeX\ met un espace de largeur $w/(n+1)$ entre les r\'eglures
+adjacente et \`a deux extr\'emit\'es des r\'eglures.
+L'effet est habituellement d'\'etaler les r\'eglures un petit peu. L'espace
+perdu pour |\xleaders|, comme celui de |\cleaders|, est toujours inf\'erieur
+\`a la largeur d'une r\'eglure seule.
+\endulist
+
+Jusqu'ici, nous supposions que les r\'eglures consistaient en hbox arrang\'ees
+horizontalement. Deux variations sont possibles~:
+\olist
+\li Vous pouvez utiliser une r\`egle \`a la place d'une hbox pour la r\'eglure.
+\TeX\ rend la r\`egle aussi large que possible pour s'\'etendre au del\`a du
+ressort (et les trois commandes sont \'equivalentes).
+\li Vous pouvez produire des r\'eglures verticales qui traversent la page en
+les incluant dans une \refterm{liste verticale} au lieu d'une \refterm{liste
+horizontale}. Dans ce cas vous avez besoin de ressort vertical apr\`es les
+r\'eglures.
+\endolist
+\noindent
+Voir les \knuth{pages~223--225}{261--263} pour les r\`egles pr\'ecises que \TeX\ utilise
+en composant des r\'eglures.
+\eix^^|\leaders|
+\eix^^|\cleaders|
+\eix^^|\xleaders|
+\endconcept
+
+
+\concept ressort
+
+\bix^^{\etirement}
+\bix^^{r\'etr\'ecissement}
+Le \defterm{ressort} est de l'espace blanc qui peut se r\'etr\'ecir ou s'\'etirer.
+Le ressort donne \`a \TeX\ la flexibilit\'e dont il a besoin pour produire
+des documents impeccables.
+Le ressort existe en deux types~: le ressort horizontal et le ressort vertical.
+Le ressort horizontal appara\^\i t dans des \refterm{listes horizontales: liste horizontale},
+tandis que le ressort vertical appara\^\i t dans des \refterm{listes verticales:liste verticale}.
+^^{listes horizontales}
+^^{listes verticales}
+Vous
+pouvez produire un ressort soit implicitement, c'est-\`a-dire, avec un espace inter-mot, soit
+explicitement, c'est-\`a-dire, avec la commande ^|\hskip|.
+^^{espace//inter-mots}
+\TeX\ lui-m\^eme produit beaucoup de ressorts
+en composant votre document.
+Nous ne d\'ecrirons que le ressort horizontal---le ressort vertical \'etant analogue.
+
+Quand \TeX\ assemble une liste de bo\^\i tes et de ressorts en grande
+quantit\'e,
+^^{\boites//ressort avec}
+il ajuste la taille des ressorts pour garder les espaces demand\'ees d'unit\'e
+de largeur. Par exemple, \TeX\ s'assure que la ^{marge de droite} d'une page
+est uniforme en ajustant les ressorts horizontaux des lignes.
+Similairement, il s'assure que les diff\'erentes pages ont la
+m\^eme ^{marge du bas}
+en ajustant les ressorts entre les blocs de texte comme des paragraphes et
+des affichages math\'ematiques
+(o\`u le changement est probablement moins remarquable).
+
+Un ressort a un espacement naturel---la taille qu'il ``veut avoir''.
+Le ressort a aussi deux autres attributs~: son \refterm{\'etirement} et son
+\refterm{r\'etr\'ecissement}. Vous pouvez produire un montant sp\'ecifique de ressort
+horizontal avec la \refterm{commande} ^|\hskip| \ctsref{\hskip}. La commande
+|\hskip 6pt plus 2pt minus 3pt|
+produit un ressort horizontal dont la taille naturelle
+est de $6$ points, l'\'etirement de $2$ points et le r\'etr\'ecissement
+$3$ points. Similairement, vous pouvez produire un montant sp\'ecifique de ressort vertical
+avec la commande ^|\vskip| commande \ctsref{\vskip}.
+
+Le meilleur moyen de comprendre ce qui s'\'etire et ce qui se r\'etr\'ecit
+et de voir un exemple de ressort au travail.
+Supposez que vous construisez un \refterm{hbox} de trois bo\^\i tes et deux ressorts,
+comme dans l'image~:
+\gluepicture
+ 29 {\picbox 4 \gluebox 6 4 1 6 \picbox 5 \gluebox 10 8 3 10 \picbox 4 }
+\noindent
+L'unit\'e de mesure ici peut \^etre en points, en millim\`etres, etc.
+Si le hbox est autoris\'e \`a assumer sa largeur naturelle, alors chaque ressort
+de la bo\^\i te assume aussi sa largeur naturelle. La largeur totale du hbox est
+alors la somme des largeurs de ses parties, soit, $29$ unit\'es.
+
+Ensuite, supposez que le hbox doit \^etre plus large que $29$ unit\'es, disons
+$35$ unit\'es. Cela
+peut arriver, par exemple, si le hbox doit occuper une ligne enti\`ere
+et que la largeur de la ligne soit de $35$ unit\'es.
+Puisque les bo\^\i tes ne peuvent changer leurs largeurs,
+\TeX\ produit l'espace suppl\'ementaire n\'ecessaire en rendant les ressorts plus larges.
+L'image maintenant ressemble \`a ceci~:
+\gluepicture
+ 35 {\picbox 4 \gluebox 6 4 2 8 \picbox 5 \gluebox 10 8 6 14 \picbox 4 }
+Les ressorts ne deviennent pas plus larges de mani\`ere \'egale~;
+ils deviennent plus large en proportion de leur \'etirement.
+Puisque le second ressort
+a deux fois plus d'\'etirement que le premier,
+il devient plus large de quatre unit\'es tandis que le premier devient plus large de
+seulement deux unit\'es.
+Le ressort peut s'\'etirer autant que n\'ecessaire, n\'eanmoins, \TeX\ rechigne
+\`a l'\'etirer au del\`a du montant d'\'etirement donn\'e dans sa d\'efinition.
+
+Finalement, supposez que le hbox doive se rapprocher de $29$ unit\'es \`a, disons
+$25$ unit\'es. Dans ce cas \TeX\ r\'etr\'ecit les ressorts.
+L'image ressemble \`a ceci~:
+\gluepicture
+ 25 {\picbox 4 \gluebox 6 4 2 5 \picbox 5 \gluebox 10 8 6 7 \picbox 4 }
+Les ressorts deviennent plus proches en proportion de leur r\'etr\'e\-cis\-sement.
+Le premier ressort devient plus \'etroit d'une unit\'e, tandis que le second
+r\'etr\'ecit de trois unit\'es. Le ressort ne peut pas se r\'etr\'ecir
+d'une distance inf\'erieure au montant de r\'etr\'ecissement donn\'e dans sa d\'efinition
+m\^eme si la distance \`a laquelle il peut se r\'etr\'ecir est sans
+limite. Sur ce point important l'\'etirement et le r\'etr\'ecissement r\'eagissent
+diff\'eremment.
+
+Une bonne r\`egle \`a suivre pour le ressort est de fixer sa taille normale au
+montant d'espace qui va le mieux, l'\'etirement au montant d'espace le plus grand
+que \TeX\ puisse ajouter avant que le document devienne mauvais et le
+r\'etr\'ecissement au montant d'espace le plus grand que \TeX\ puisse enlever
+avant que le document commence \`a devenir mauvais. Vous pouvez devoir fixer
+les valeurs par exp\'erimentation.
+
+Vous pouvez produire un ressort \'etirable \`a l'infini en sp\'ecifiant son
+\'etirement en unit\'es de `^|fil|', `^|fill|' ou `^|filll|'. Le ressort mesur\'e en
+`|fill|' est infiniment plus \'etirable que le ressort mesur\'e en `|fil|' et
+le ressort mesur\'e en `|filll|' est infiniment plus \'etirable que le ressort mesur\'e
+en `|fill|'. Vous n'aurez que tr\`es rarement besoin de ressort `|filll|'. Un ressort
+s'\'etirant de |2fil| s'\'etire deux fois plus qu'un ressort s'\'etirant de |1fil|,
+et de m\^eme pour les autres sortes de ressorts \'etirables infiniment.
+
+Quand \TeX\ apporte un espace suppl\'ementaire en plus d'un ressort,
+celui infiniment \'etirable, s'il y en a, en prend la totalit\'e.
+Le ressort infiniment \'etirable est particuli\`erement pratique pour
+cadrer du texte \`a gauche, \`a droite ou centr\'e.
+
+\ulist\compact
+\li Pour faire un texte ^{cadr\'e \`a gauche}, mettez un ressort horizontal
+infiniment \'etirable \`a sa droite.
+Ce ressort consommera tout l'espace suppl\'ementaire possible sur la ligne.
+Vous pouvez utiliser la commande ^|\leftline| \ctsref{\leftline}
+ou la commande |\raggedright| \ctsref{\raggedright} pour faire cela.
+\li Pour faire un texte ^{cadr\'e \`a droite}, mettez un ressort horizontal
+infiniment \'etirable \`a sa gauche. Comme ci-dessus
+ce ressort consommera tout l'espace suppl\'ementaire possible sur la ligne.
+Vous pouvez utiliser la commande ^|\rightline| \ctsref{\rightline}
+pour faire cela.
+\li Pour faire du ^{texte centr\'e}, mettez un ressort horizontal
+infiniment \'etirable de chaque cot\'e.
+Ces deux ressorts diviseront tout l'espace suppl\'ementaire de la ligne
+\'egalement entre eux.
+Vous pouvez utiliser la commande ^|\centerline| \ctsref{\centerline} pour faire cela.
+\endulist
+
+Vous pouvez aussi sp\'ecifier un ressort r\'etr\'ecissable infiniment
+^^{ressort//infiniment \'etirable}
+de la m\^eme mani\`ere. Un ressort r\'etr\'ecissable infiniment peut agir comme espace n\'egatif.
+Notez que |fil|, etc., ne peuvent \^etre utilis\'es que pour sp\'ecifier l'\'etirement
+et le r\'etr\'ecissement du ressort---Ils ne peuvent \^etre utilis\'es pour sp\'ecifier
+sa taille normale.
+\eix^^{\etirement}
+\eix^^{r\'etr\'ecissement}
+\endconcept
+
+
+\concept {ressort inter-ligne}
+
+Le \defterm{ressort inter-ligne} est le ressort que \TeX\ ins\`ere au d\'ebut de chaque
+\refterm{bo\^\i te} dans une \refterm{liste verticale} sauf pour la premi\`ere.
+Le ressort inter-ligne est normalement sp\'ecifi\'ee de fa\c con \`a maintenir une
+distance constante entre les lignes de base des bo\^\i tes.
+Sa valeur est d\'etermin\'ee conjointement par les param\`etres ^|\baselineskip|,
+^|\lineskip| et ^|\lineskiplimit| \ctsref{\baselineskip}.
+\endconcept
+
+
+\conceptindex {r\'etr\'ecissements}
+\concept {r\'etr\'ecissement}
+
+Voir \conceptcit{ressort}.
+\endconcept
+
+
+\concept {routine de sortie}
+
+Quand \TeX\ a accumul\'e
+au moins assez de mat\'e\-riel pour remplir une page, il choisi un point d'arr\^et
+et place le mat\'eriel situ\'e avant le point d'arr\^et en |\box255|. Il appelle
+alors la \defterm{routine de sortie} courante, qui compile le mat\'eriel et
+l'envoie \'eventuellement dans le \dvifile.
+^^{\dvifile//mat\'eriel de la routine de sortie}
+La routine de sortie peut faire d'autres actions, comme ins\'erer des ent\^etes,
+des pieds de page et des notes de pieds de page.
+\refterm{\PlainTeX:\plainTeX} procure
+une routine de sortie par d\'efaut qui ins\`ere un num\'ero de page centr\'e
+en bas de chaque page.
+En procurant une routine de sortie diff\'erente vous pouvez cr\'eer des
+effets tels que des sortie en double colonnes.
+Vous pouvez imaginer les routines de sortie comme ayant une seule responsabilit\'e~:
+disposer le mat\'eriel en |\box255| d'une fa\c con ou d'une autre.
+
+La routine de sortie courante est d\'efinie par la valeur de ^|\output|
+\ctsref{\output}, qui est une liste de \refterm{tokens:token}. Quand \TeX\
+est pr\^et \`a produire une page, il d\'eveloppe simplement la liste de tokens.
+
+Vous pouvez faire quelque simples changements aux actions de la routine de
+sortie de \plainTeX\ sans la modifier r\'eellement. Par exemple, en assignant
+une liste de \refterm{tokens:token} \`a |\headline| ou
+|\footline| \ctsref{\footline} vous pouvez faire que \TeX\ produise un ent\^ete
+ou un pied de page diff\'erent de l'ordinaire.
+
+La routine de sortie est aussi responsable pour collecter
+toutes \refterm{insertions:insertion}~; en combinant ces insertions et
+toutes ``d\'ecorations'' telles que ent\^etes et pieds de page avec
+les contenus principaux de la page et empaqu\`ete tout ce mat\'eriel
+dans une bo\^\i te~; et \'eventuellement envoyer cette bo\^\i te dans
+le \dvifile\
+^^{\dvifile//mat\'eriel de la routine de sortie}
+avec la commande ^|\shipout|\ctsref{\shipout}.
+Bien que cela soit ce que fait une routine de sortie le plus souvent,
+une routine de sortie d'usage sp\'ecial peut agir diff\'eremment.
+\endconcept
+
+
+\conceptindex{s\'equences de contr\^ole}
+\concept {s\'equence de contr\^ole}
+
+Une \defterm{S\'equence de contr\^ole} est un nom pour une \refterm{command}e \TeX.
+Une s\'equence de contr\^ole commence par un ^{caract\`ere d'\'echappement},
+habituellement un antislash (|\|).
+\indexchar \
+Une s\'equence de contr\^ole prend une des deux formes~:
+
+\ulist
+
+\li Un \refterm{mot de contr\^ole} est une S\'equence de contr\^ole constitu\'ee
+d'un \refterm{caract\`ere d'\'echappement} suivi par une ou plusieurs lettres.
+^^{mots de contr\^ole}
+Le mot de contr\^ole se termine quand \TeX\ voit une non-lettre. Par exemple,
+quand \TeX\ lit
+`\hbox{|\hfill!visiblespace,!visiblespace!.the|}', il voit six
+\refterm{tokens:token}~:
+Les s\'equences de contr\^ole `|\hfill|', virgule, espace, `|t|', `|h|', `|e|'.
+L'espace apr\`es `|\hfill|' termine la s\'equence de contr\^ole et
+est absorb\'ee par \TeX\ quand il lit la s\'equence de contr\^ole.
+(Pour le texte `|\hfill,!visiblespace!.the|', d'un autre cot\'e,
+La virgule termine aussi la s\'equence de contr\^ole et compte comme un caract\`ere
+de bon aloi.)
+
+\li Un \refterm{symbole de contr\^ole}
+^^{symboles de contr\^ole}
+est une s\'equence de contr\^ole constitu\'ee d'un
+^{caract\`ere d'\'echappement} suivi par n'importe caract\`ere autre qu'une lettre---%
+m\^eme un espace ou une fin de ligne.
+Un symbole de contr\^ole est auto-d\'elimit\'e, c'est-\`a-dire, \TeX\ sait o\`u il termine sans
+devoir regarder le caract\`ere qui le suit.
+Le caract\`ere apr\`es un symbole de contr\^ole n'est jamais absorb\'e par le
+symbole de contr\^ole.
+\endulist
+\noindent Voir \xrefpg{espace} pour plus d'information sur les espaces apr\`es
+des s\'equences de contr\^ole.
+
+\TeX\ procure une grand nombre de s\'equences de contr\^ole pr\'ed\'efinies. Les
+s\'equences de contr\^ole \refterm{primitives} sont construites dans le programme
+informatique \TeX\ et donc, sont accessibles sous toutes les formes de \TeX.
+^^{primitive//s\'equence de contr\^ole}
+D'autres s\'equences de contr\^ole sont fournies par \refterm{\plainTeX}, la
+forme de \TeX\ d\'ecrite dans ce livre
+
+Vous pouvez augmenter des s\'equences de contr\^ole pr\'ed\'efinies avec celles de
+votre cru, en utilisant des commandes telles que ^|\def| et ^|\let| pour les
+d\'efinir. La \chapterref{eplain} de ce livre contient une collection de
+d\'efinitions de s\'equence de contr\^ole que vous pouvez trouver utile. De plus,
+votre syst\`eme informatique peut vous rendre capable de cr\'eer une collection
+de macros \TeX\ d\'evelopp\'ees localement.
+\endconcept
+
+
+\conceptindex{struts}
+\concept strut
+
+{\tighten
+Un \defterm{strut} est une \refterm{bo\^\i te} invisible
+^^{\boites//invisible}
+dont la largeur est \`a z\'ero et dont la hauteur et la profondeur sont l\'eg\`erement
+sup\'erieure \`a celle d'une ligne de texte ``normale'' dans le contexte.
+Les struts sont pratiques pour obtenir un espacement vertical uniforme quand
+l'espacement de ligne usuel de \TeX, par exemple, dans une formule math\'ematique
+ou dans un alignement horizontal o\`u vous sp\'ecifiez ^|\offinterlineskip|.
+Parce qu'un strut est plus haut et plus profond que tout autre chose sur sa ligne,
+il d\'etermine la hauteur et la profondeur de la ligne.
+Vous pouvez produire un strut avec la commande ^|\strut| \ctsref{\strut} ou
+la commande ^|\mathstrut| \ctsref\mathstrut.
+Vous pouvez utiliser |\strut| n'importe o\`u, mais vous ne pouvez utiliser
+|\mathstrut| que quand \TeX\ est en \refterm{mode} math\'ematique.
+Un strut dans \plainTeX\ a une hauteur de 8.5\pt\ et une profondeur de 3.5\pt,
+tandis qu'un strut math\'ematique \`a la hauteur et la profondeur d'une
+parenth\`ese ouvrante du \refterm{style} courant (donc il est plus petit pour
+des indices ou des exposants).
+\par}
+
+Voici un exemple montrant comment vous devriez utiliser un strut~:
+\csdisplay
+\vbox{\hsize = 3in \raggedright
+ \strut Here is the first of two paragraphs that we're
+ setting in a much narrower line length.\strut}
+\vbox{\hsize = 3in \raggedright
+ \strut Here is the second of two paragraphs that we're
+ setting in a much narrower line length.\strut}
+|
+Cette entr\'ee donne~:
+\display{\vbox{
+\vbox{\hsize = 3in \raggedright
+\strut Here is the first of two paragraphs that we're setting
+in a much narrower line length.\strut}
+\vbox{\hsize = 3in \raggedright
+\strut Here is the second of two paragraphs that we're setting
+in a much narrower line length.\strut}
+}}
+\noindent
+Sans les struts la \refterm{vbox} serait trop rapproch\'ee.
+Similairement, dans la formule~:
+\csdisplay
+$\overline{x\mathstrut} \otimes \overline{t\mathstrut}$
+|
+Les struts math\'ematiques font que les deux barres sont mises \`a la m\^eme hauteur m\^eme
+si le `$x$' et le `$t$' ont des hauteurs diff\'erentes~:
+\display{
+$\overline{x\mathstrut} \otimes \overline{t\mathstrut}$
+}
+\vskip -\belowdisplayskip
+\endconcept
+%\nobreak
+
+\conceptindex{styles}
+\concept {style}
+
+Le mat\'eriel d'une formule math\'ematique est mis dans un des huit \defterm{styles},
+d\'ependant du contexte. Conna\^\i tre les styles peut \^etre utile si vous voulez
+mettre une partie d'une formule dans une taille de caract\`ere diff\'erente de
+celle que \TeX\ a choisi en fonction de ses r\`egles usuelles.
+
+%\eject
+Les quatre styles primaires sont~:
+
+\vdisplay{%
+\halign{\refterm{# style}\hfil&\hskip .25in(#)\hfil\cr
+display&formules affich\'ees sur une ligne seule\cr
+text&formules englob\'ees dans du texte ordinaire\cr
+script&exposants et indices\cr
+scriptscript&indices d'indices, etc.\cr
+}}
+
+Les quatre autres styles sont dits ^{variantes \'etroites}. Dans ces variantes
+les exposants ne sont pas mont\'es aussi haut que normalement et donc la formule
+n\'ecessite moins d'espace vertical qu'ils le devraient. Voir les \knuth{pages~140--141}{164--165}
+pour les d\'etails sur la fa\c con de \TeX\ de s\'electionner le style.
+
+\TeX\ choisit une taille de caract\`ere en fonction du style~:
+
+\ulist\compact
+^^{style d'affichage}^^{style texte}
+\li Le style d'affichage et le style texte sont mis en \refterm{taille texte}, comme
+`$\rm ceci$'.
+
+^^{style script}
+\li le style script est mis en \refterm{taille script}, comme `$\scriptstyle
+\rm ceci$'.
+
+^^{style scriptscript}
+\li le style scriptscript est mis en \refterm{taille scriptscript}, comme
+`$\scriptscriptstyle \rm ceci$'.
+\endulist
+
+Voir \conceptcit{famille} pour plus d'informations \`a propos de ces trois tailles.
+
+\TeX\ n'a pas de style ``scriptscriptscript'' parce qu'un tel style
+serait souvent mis dans une taille de caract\`ere trop petite \`a lire. \TeX\
+par cons\'equent met les indices, exposants, etc. de troisi\`eme ordre en utilisant le
+style scriptscript.
+
+Parfois vous pourrez trouver que \TeX\ a mis une formule dans un style diff\'erent
+de celui que vous pr\'ef\'erez. Vous pouvez passer outre le choix de \TeX\ avec les
+commandes ^|\textstyle|, ^|\displaystyle|, ^|\scriptstyle| et ^|\scriptscriptstyle|
+\ctsref{\textstyle}.
+\endconcept
+
+
+\conceptindex{symboles de contr\^ole}
+\concept {symbole de contr\^ole}
+
+Un \defterm{symbole de contr\^ole} est une \refterm{s\'equence de contr\^ole} qui
+est constitu\'ee d'un \refterm{caract\`ere d'\'echappement} suivi d'un caract\`ere
+autre qu'une lettre---m\^eme un espace et une fin de ligne.
+^^{caract\`ere d'\'echappement}
+\endconcept
+
+
+\concept {taille script}
+
+Une \defterm{taille script} d\'ecrit une des trois
+\refterm{polices:police} reli\'ees dans une famille.
+^^{famille//taille script en}
+Une taille script est plus petite que la \refterm{taille texte} mais plus
+grande que la
+\refterm{taille scriptscript}. \TeX\ utilise la taille script pour les
+indices et les exposants, aussi bien que pour les num\'erateurs et les
+d\'enominateurs de fractions dans du texte.
+\endconcept
+
+
+\concept {taille scriptscript}
+
+Une \defterm{taille scriptscript} d\'ecrit la plus petite taille des trois
+\refterm{polices:police} reli\'ees dans une famille.
+^^{famille//taille scriptscript en}
+\TeX\ utilise la \refterm{taille scriptscript} pour des indices, exposants,
+num\'erateurs et d\'enominateurs de second rang. Par exemple, \TeX\ utilisera
+la taille scriptscript pour un indice d'indice ou pour un exposant d'exposant.
+\endconcept
+
+
+\concept {taille texte}
+
+La \defterm{taille texte} d\'ecrit la plus grande des trois
+\refterm{polices:police} li\'ees dans une \refterm{famille}.
+^^{famille//taille texte en}
+\TeX\ utilise la taille texte pour des symboles ordinaires apparaissant en
+\refterm{mode math\'ematique}.
+\endconcept
+
+
+\conceptindex{tests conditionnels}
+\concept {test conditionnel}
+
+Un \defterm{test conditionnel} est une commande qui teste si une condition est
+vraie ou non et
+demande \`a \TeX\ soit de d\'evelopper soit de sauter du texte, selon le cas.
+La forme g\'en\'erale d'une test conditionnel est soit~:
+\display{
+{\tt \\if}$\alpha$\<true text>{\tt \\else}\<false text>{\tt \\fi}}
+^^|\else|^^|\fi|
+\noindent soit~:\hfil\
+\display{
+{\tt \\if}$\alpha$\<true text>{\tt \\fi}}
+\noindent o\`u $\alpha$ sp\'ecifie le test particulier.
+Par exemple, |\ifvmode| teste la condition que \TeX\
+soit actuellement dans un \refterm{mode vertical}.
+Si la condition est vraie, \TeX\ d\'eveloppe \<true text>.
+Si la condition est fausse, \TeX\ d\'eveloppe \<false text> (s'il est pr\'esent).
+Les tests conditionnels sont interpr\'et\'es dans l'\oesophage\ de \TeX
+\seeconcept{\anatomy}, donc tous les \minref{token}s d\'eveloppables dans
+le texte interpr\'et\'e ne sont d\'evelopp\'es qu'apr\`es que le test n'ait \'et\'e r\'esolu.
+Les diff\'erents tests conditionnels sont expliqu\'es dans
+\headcit{Tests conditionnels}{conds}.
+
+\endconcept
+
+
+\concept {\TeXMeX}
+
+(a)~Une vari\'et\'e de \TeX\ utilis\'ee pour composer des math\'e\-matiques dans les
+pays d'Am\'erique Centrale.
+(b)~Une cuisine tr\`es \'epic\'ee appr\'e\-ci\'ee par les \TeX\-ni\-ciens d'^{El Paso}.
+\endconcept
+
+
+\conceptindex{justification}
+\concept {texte justifi\'e}
+
+Du \defterm{texte justifi\'e} est du texte qui a \'et\'e compos\'e pour que les
+deux marges soit align\'ees. Du texte non justifi\'e, d'un autre cot\'e, a \'et\'e compos\'e
+avec des marges ``d\'echir\'ees'' d'un ou des deux cot\'es.
+Les documents saisis sur les vieilles machines \`a \'ecrire ont la plupart du temps
+des marges droites d\'echir\'ees.
+Bien que les documents produits par \TeX\ soient justifi\'es par d\'efaut, vous
+pouvez si vous voulez produire des documents (ou des suites de lignes) qui
+ont la marge ^{droite}---ou ^{gauche d\'echir\'ee}.
+Vous pouvez aussi demander \`a \TeX\ de centrer un suite de lignes, ce qui rend
+les deux marges d\'echir\'ees.
+^^{texte centr\'e}
+Vous pouvez utiliser les commandes
+^|\leftskip|, ^|\rightskip| et ^|\raggedright|
+(\pp \xrefn{\leftskip},~\xrefn{\raggedright}) pour cela.
+
+Quand \TeX\ produit du texte justifi\'e, il a normalement besoin de r\'e\-tr\'ecir ou
+d'\'etirer les ressorts de chaque ligne pour que les marges soient align\'ees.
+Quand \TeX\ produit du texte non justifi\'e, d'un autre cot\'e, il laisse les ressorts
+de chaque ligne \`a leur taille naturelle.
+Beaucoup de typographes pr\'ef\`erent le texte non justifi\'e parce que son espacement
+inter-mot est plus uniforme.
+\endconcept
+
+
+\concept {texte math\'ematique}
+
+Nous utilisons le terme \defterm{texte math\'ematique} pour faire r\'ef\'erence
+\`a une formule math\'ematique mise dans une ligne de texte, c'est-\`a-dire,
+entour\'ee de |$|.
+\ttidxref{$}
+\TeX\ met du texte math\'ematique dans le \refterm{mode} texte math\'ematique .
+\endconcept
+
+
+\conceptindex{tokens}
+\concept token
+
+Un \defterm{token} est soit un simple caract\`ere attach\'e \`a un
+\refterm{code de cat\'egorie} ou une \refterm{s\'equence de contr\^ole}.
+\TeX\ lit les caract\`eres d'un fichier en utilisant ses yeux \seeconcept{\anatomy}
+et groupe les caract\`eres en tokens en utilisant sa bouche. Quand un token
+atteint l'estomac de \TeX, \TeX\ l'interpr\`ete comme une \refterm{commande}
+\`a moins qu'il fasse partie d'un argument d'une commande pr\'ec\'edente.
+\endconcept
+
+
+\conceptindex{unit\'es de mesure}
+\concept {unit\'e de mesure}
+
+Voir \conceptcit{dimension}.
+\endconcept
+
+
+\conceptindex{unit\'es math\'ematiques}
+\concept {unit\'e math\'ematique}
+
+Une \defterm{unit\'e math\'ematique}, cod\'ee `|mu|', est une unit\'e de distance
+utilis\'ee pour sp\'ecifier un \refterm{ressort} dans les formules math\'e\-matiques. Voir
+le \conceptcit{muglue}.
+\endconcept
+
+
+\conceptindex{vbox}
+\concept vbox
+
+^^{listes verticales//vbox form\'ees \`a partir de}
+Une \defterm{vbox} (bo\^\i te verticale) est une \refterm{bo\^\i te} que \TeX\ construit
+en pla\c cant les \'el\'ements d'une \refterm{liste verticale} l'une apr\`es l'autre, de haut
+en bas. Une vbox, prise en tant qu'unit\'e, n'est ni fondamentalement horizontale
+ni fondamentalement verticale, c'est-\`a-dire, elle peut appara\^\i tre comme un \'el\'ement
+soit d'une liste verticale soit d'une \refterm{liste horizontale}. Vous
+pouvez construire une vbox avec les commandes ^|\vbox| ou ^|\vtop| \ctsref{\vtop}.
+La diff\'erence est que pour |\vbox|, le \refterm{point de r\'ef\'erence} de la
+vbox construite est d\'eriv\'e de celui du dernier (et souvent plus bas)
+\'el\'ement constituant la liste, mais pour |\vtop|, c'est celui du premier
+(et normalement plus haut) \'el\'ement constituant la liste.
+\endconcept
+
+
+\endconcepts
+
+\endchapter
+\byebye
+
diff --git a/Master/texmf-doc/doc/french/impatient-fr/findex.tex b/Master/texmf-doc/doc/french/impatient-fr/findex.tex deleted file mode 100644 index af5c31d469d..00000000000 --- a/Master/texmf-doc/doc/french/impatient-fr/findex.tex +++ /dev/null @@ -1,37 +0,0 @@ -% This is part of the book TeX for the Impatient. -% Copyright (C) 2003 Paul W. Abrahams, Kathryn A. Hargreaves, Karl Berry. -% Copyright (C) 2004 Marc Chaudemanche pour la traduction française. -% See file fdl.tex for copying conditions. - -\input fmacros -\chapter{Index} - -\par -\kern-\baselineskip - -\noindent Dans les entr\'ees de cet index, un num\'ero de page en italique indique une entr\'ee principale ou une d\'efinition. - -\par -% Let's try to collect indexing cross-references here. -% -\idxsee{marques diacritiques}{accents} -\idxsee{tracer des lignes}{filets} -\idxsee{drivers}{drivers de p\'eriph\'erique} -\idxsee{yeux}{\anatomy} -\idxsee{langues \'etrang\`eres}{langues europ\'eennes} -\idxsee{intestin}{\anatomy} -\idxsee{bouche}{\anatomy} -\idxsee{paragraphes//indenter}{indentation} -%\idxsee{macros r\'ecursives}{macros, r\'ecursive} -\idxsee{estomac}{\anatomy} -\idxsee{tables}{alignements} -\beginindex - -\let\+ = 0 % This can't occur in a macro... - -\input fbook.sdx - -\endindex - -\endchapter -\byebye diff --git a/Master/texmf-doc/doc/french/impatient-fr/fmodes.tex b/Master/texmf-doc/doc/french/impatient-fr/fmodes.tex index 786bdfd159f..e380efc9930 100644 --- a/Master/texmf-doc/doc/french/impatient-fr/fmodes.tex +++ b/Master/texmf-doc/doc/french/impatient-fr/fmodes.tex @@ -1,2077 +1,2077 @@ -% This is part of the book TeX for the Impatient. -% Copyright (C) 2003 Paul W. Abrahams, Kathryn A. Hargreaves, Karl Berry. -% Copyright (C) 2004 Marc Chaudemanche pour la traduction française. -% See file fdl.tex for copying conditions. - -\input fmacros -\chapter {Commandes pour \linebreak les modes horizontaux \linebreak et verticaux} - -\chapterdef{hvmodes} - -Cette section couvre les commandes qui ont des formes correspondantes ou -identiques dans les modes horizontaux et verticaux. -Ces commandes fournissent des bo\^\i tes, des espaces, des filets, des r\'eglures -et des alignements. -Pour une explication des conventions utilis\'ees dans cette section, -voir \headcit{Descriptions des commandes}{cmddesc}. - -\begindescriptions - -%========================================================================== -\section {Produire des espaces} - -%========================================================================== - -\subsection {Espaces horizontaux de largeur fixe} - -\begindesc -\bix^^{espace//production d'} -\bix^^{espace horizontal} -\cts thinspace {} -\explain -Cette commande produit un \minref{cr\'enage} positif -dont la largeur \'equivaut \`a un sixi\`eme d'em -(\xref{dimdefs}) -c'est-\`a-dire qu'il demande \`a \TeX\ de d\'eplacer sa position \`a droite de ce montant. -C'est pratique -quand vous avez par exemple des quotes imbriqu\'ees -et que vous voulez les s\'eparer. -\TeX\ ne coupe pas de ligne sur un -|\thinspace|.\minrefs{line break} - -\example -``\thinspace`A quote.'\thinspace''\par -24,\thinspace 29--31,\thinspace 45,\thinspace 102 -| -\produces -``\thinspace`A quote.'\thinspace''\par -24,\thinspace 29--31,\thinspace 45,\thinspace 102 -\endexample -\enddesc - -\begindesc -\cts negthinspace {} -\explain -Cette commande produit un \minref{cr\'enage} n\'egatif -dont la largeur \'equivaut \`a un sixi\`eme d'em -(\xref{dimdefs}) -c'est-\`a-dire qu'il demande \`a \TeX\ de d\'eplacer sa position \`a gauche de ce montant. -C'est pratique pour rapprocher deux caract\`eres qui sont un peu trop -\'eloign\'es l'un de l'autre. -\TeX\ ne coupe pas de ligne sur un |\negthinspace|.\minrefs{line break} -\example -The horror, the horror\negthinspace, the horror of it all!! -| -\produces -The horror, the horror\negthinspace, the horror of it all! -\endexample -\enddesc - -\begindesc -\cts enspace {} -\explain -Cette commande produit un \minref{cr\'enage} dont la largeur \'equivaut \`a un ^{en} -(la moiti\'e d'un em, voir \xrefpg{dimdefs}). -\TeX\ ne coupe pas de ligne sur un |\enspace| \`a moins qu'il soit suivi d'un ressort. -Dans une liste \`a puce, les puces sont g\'en\'eralement s\'epar\'ees du texte qui les suit -par un |\enspace|. -\example -Lemma 1.\enspace There exists a white rabbit. -| -\produces -Lemma 1.\enspace There exists a white rabbit. -\endexample -% the enspace here follows the \proclaim convention (Knuth p. 355). -\enddesc - -\begindesc -\easy\cts enskip {} -\cts quad {} -\cts qquad {} -\explain -^^{en} -Chacune de ces commandes -produit un bout de \minref{ressort} horizontal -qui ne peut ni s'\'etirer ni se r\'etr\'ecir. -\TeX\ peut couper une ligne \minrefs{line break} sur un tel ressort. -Les largeurs de ces ressort/dimension -(qui sont relatifs \`a la police courante) -sont les suivantes pour |cmr10|, la police par d\'efaut de \plainTeX~: -\medskip -\def\distance#1{\hbox{\strut $\rightarrow$\vrule\hskip #1\vrule$\leftarrow$}} -{\def\l#1{\hfil$#1$\thinspace em} -\tabskip 3pc \halign{#&#&\hfil#\hfil\cr -{\it Commande}&{\it Espace}&{\it Illustration}\cr -\noalign{\vskip 4pt} -|\enskip|&\l{\frac 1/2}&\distance{.5em}\cr -|\quad|&\l1&\distance{1em}\cr -|\qquad|&\l2&\distance{2em}\cr -}} -\example -en\enskip skip; quad\quad skip; qquad\qquad skip -| -\produces -en\enskip skip; quad\quad skip; qquad\qquad skip -\endexample -\eix^^{espace horizontal} -\enddesc - -%========================================================================== -\subsection {Espaces verticaux de largeur fixe} - -\begindesc -\bix^^{espace vertical} -\easy\cts smallskip {} -\cts medskip {} -\cts bigskip {} -\explain -Ces commandes produisent des montants d'espacement vertical -successivement plus larges~: -\display{{\def\bar{\kern 2pt\hrule width 5pc} -\def\lbl#1{\hbox to 5pc{\hfil #1skip\hfil}} -\leavevmode -\vtop{\lbl{small}\bar\smallskip\bar}\quad -\vtop{\lbl{med}\bar\medskip\bar}\quad\vtop{\lbl{big}\bar\bigskip\bar}}} -\noindent -|\smallskip| saute de $3$ points et peut s'\'etirer ou -s'\'elargir de $1$ point. |\med!-skip| est \'equivalent \`a deux |\smallskip|s -et |\bigskip| est \'equivalent \`a deux |\medskip|s. - -Ces commandes terminent un paragraphe car elles sont fondamentalement verticales. -Les sauts qu'elles produisent -sont ajout\'es au saut inter-para\-graphe normal. -\example -Hop \smallskip skip \medskip and \bigskip jump. -| -\produces -Hop \smallskip skip \medskip and \bigskip jump. -\endexample -\enddesc - -\begindesc -\cts smallskipamount {\param{ressort}} -\cts medskipamount {\param{ressort}} -\cts bigskipamount {\param{ressort}} -\explain -Ces param\`etres sp\'ecifient les montants de ressort produit par -les commandes |\small!-skip|, |\med!-skip| et |\big!-skip|. -En changeant ces param\`e\-tres vous changez l'effet des commandes. -Les valeurs par d\'efaut (pour \plainTeX) -correspondent \`a un quart d'une ligne d'espace, \`a la moiti\'e d'une ligne d'espace, -et \`a une ligne d'espace enti\`ere. -Nous vous recommandons de maintenir ce ratio en changeant -ces valeurs \`a chaque fois que -vous changez |\baselineskip| (\xref\baselineskip). -^^|\baselineskip//et {\tt\\smallskipamount}, etc.| -\eix^^{espace vertical} - -\enddesc - -%========================================================================== -\subsection {Espace de taille variable} - -\begindesc -\easy\cts hskip {\<dimension$_1$> {\bt plus} \<dimension$_2$> {\bt minus} \<dimension$_3$>} -\cts vskip {\<dimension$_1$> {\bt plus} \<dimension$_2$> {\bt minus} \<dimension$_3$>} -^^{saut vertical}^^{ressort vertical} -^^{saut horizontal}^^{ressort horizontal} -\bix^^{espace horizontal} -\bix^^{espace vertical} -\explain -Ces commandes produisent des ressorts respectivement horizontaux et verticaux. -Dans le cas le plus simple et le plus courant, quand il n'y a seulement que \<dimension$_1$>, -|\hskip| saute vers la droite de \<dimension$_1$> -et |\vskip| saute vers le bas de la page de \<dimension$_1$>. -Plus g\'en\'erale\-ment, ces commandes -produisent des \minref{ressort}s dont la taille naturelle est -\<dimension$_1$>, l'\'etirement \<dimension$_2$> et le r\'etr\'ecissement \<dimension$_3$>. -Le |plus| \<dimension$_2$>, le |minus |\<dimension$_3$>, -ou les deux peuvent \^etre omis. -Si les deux sont pr\'esent, le |plus| doit \^etre avant le |minus|. -Une valeur omise -est consid\'er\'ee \`a z\'ero. Toutes les \<dimension>s peuvent \^etre n\'egatives. - -Vous pouvez utiliser |\hskip| en mode math\'ematique, mais vous ne pouvez utiliser d'unit\'es |mu| -\seeconcept{unit\'e math\'ematique} -pour aucune des dimensions. Si vous voulez des unit\'es |mu|, utilisez |\mskip| -(\xref\mskip) \`a la place. - -\example -\hbox to 2in{one\hskip 0pt plus .5in two} -| -\produces -\hbox to 2in{one\hskip 0pt plus 2in two} - -\doruler{\8\8}2{in} -\nextexample -\hbox to 2in{Help me!! I can't fit -{\hskip 0pt minus 2in} inside this box!!} -| -\produces -\hbox to 2in{Help me! I can't fit -{\hskip 0pt minus 2in} inside this box!} - -\doruler{\8\8}2{in} -\nextexample -\vbox to 4pc{\offinterlineskip% Just show effects of \vskip. - \hbox{one}\vskip 0pc plus 1pc \hbox{two} - \vskip .5pc \hbox{three}} -| -\produces -\smallskip -\vbox to 4pc{\offinterlineskip% Just show effects of \vskip. - \hbox{one}\vskip 0pc plus 1pc \hbox{two} - \vskip .5pc \hbox{three}} -\endexample -\enddesc - -\begindesc -\cts hglue {\<ressort>} -\cts vglue {\<ressort>} -^^{ressort vertical} -^^{ressort horizontal} -\explain -La commande |\hglue| produit un \minref{ressort} horizontal qui ne dispara\^\i t pas sur -une coupure de ligne. La commande |\vglue| -produit un \minref{ressort} vertical qui ne dispara\^\i t pas sur une coupure de page. -Pour le reste ces commandes sont comme |\hskip| et |\vskip|. -Vous pouvez utiliser |\vglue| pour produire de l'espace blanc en haut d'une page, -par exemple, au dessus d'un titre sur la premi\`ere page d'un document, mais -^|\topglue| (suivant) est normalement plus appropri\'e pour cet usage. -\enddesc - -\begindesc -\cts topglue {\<ressort>} -\explain -\margin{Command added; recent addition to \TeX} -Cette commande\footnote{|\topglue| a \'et\'e ajout\'e \`a \TeX\ dans la version 3.0, -apr\`es les autres am\'enagements introduitis par le ^{\newTeX} -(\xref{newtex}). C'est la premi\`ere d\'ecrite dans la \emph{dix-huiti\`eme\/} -\'edition de \texbook.} fait que l'espace entre le haut de la page et le -haut de la premi\`ere bo\^\i te de la page soit pr\'ecis\'ement \'egal \`a \<glue>. -Le haut de la page est consid\'er\'e \^etre sur la ligne de base d'une -ligne imaginaire de texte juste au-dessus de la ligne du haut de la page. -Plus pr\'ecis\'ement, c'est une distance |\topskip| au dessus de l'origine donn\'ee par -|\hoffset| et |\voffset|. - -Cette commande est pratique parce que \TeX\ ajuste le ressort normalement -produit par |\topskip| d'une mani\`ere complexe. En utilisant |\top!-glue| vous pouvez -contr\^oler la position de la premi\`ere bo\^\i te de la page sans vous inqui\'eter de -ces ajustements. - -\enddesc - -\begindesc -\cts kern {\<dimension>} -\explain -L'effet de cette commande d\'epend du mode dans lequel est \TeX\ quand -il la rencontre~: -\ulist - -\li En mode horizontal, \TeX\ d\'eplace sa position vers la droite (pour un cr\'enage positif) -ou vers la gauche (pour un cr\'enage n\'egatif). - -\li En mode vertical, \TeX\ d\'eplace sa position vers le bas de la page (pour un cr\'enage positif) -ou vers le haut de la page (pour un cr\'enage n\'egatif). - -\endulist -\noindent -Ainsi un cr\'enage positif produit un espace vide tandis qu'un cr\'enage n\'egatif -fait que \TeX\ recule sur quelque chose qu'il a d\'ej\`a produit. -Cette notion de cr\'enage ^^{cr\'enages} -est diff\'erente de la notion de cr\'enage dans certains syst\`emes de composition -typographique informatis\'es---dans \TeX, des cr\'e\-nages positifs \emph{\'ecartent} -deux lettres au lieu de les rapprocher. - -Un cr\'enage est similaire \`a un -\minref{ressort}, sauf que (a)~un cr\'enage ne peut ni s'\'etirer ni se r\'etr\'ecir, -et (b)~\TeX\ ne coupera une ligne ou une page sur un cr\'enage que si le cr\'enage -est suivi par un ressort et ne fait pas partie d'une formule math\'ematique. -Si \TeX\ trouve un cr\'enage \`a la fin -d'une ligne ou d'une page, il \'elimine le cr\'enage. -Si vous voulez obtenir l'effet d'un cr\'enage qui ne dispara\^\i t jamais, -utilisez ^|\hglue| ou ^|\vglue|. - -Vous pouvez utiliser |\kern| en mode math\'ematique, mais vous ne pouvez pas utiliser d'unit\'es |mu| -\seeconcept{unit\'e math\'ematique} -pour \<dimension>. Si vous voulez des unit\'es |mu|, utilisez |\mkern| -(\xref\mkern) \`a la place. -^^{coupures de ligne//cr\'enages sur des} -^^{coupures de page//cr\'enages sur des} - -\example -\centerline{$\Downarrow$}\kern 3pt % a vertical kern -\centerline{$\Longrightarrow$\kern 6pt % a horizontal kern - {\bf Heed my warning!!}\kern 6pt % another horizontal kern - $\Longleftarrow$} -\kern 3pt % another vertical kern -\centerline{$\Uparrow$} -| -\produces -\centerline{$\Downarrow$}\kern 3pt % a vertical kern -\centerline{$\Longrightarrow$\kern 6pt % a horizontal kern - {\bf Heed my warning!}\kern 6pt % another horizontal kern - $\Longleftarrow$} -\kern 3pt % another vertical kern -\centerline{$\Uparrow$} -\endexample -\enddesc - -\begindesc -\makecolumns 4/2: -\cts hfil {} -\cts hfill {} -\cts vfil {} -\cts vfill {} -\explain -\bix^^{ressort//\'etirable infiniment} -Ces commandes produisent des ressorts horizontaux et verticaux \'etirables -infiniment qui -\'ecrasent tout \'etirement fini qui peut \^etre pr\'esent. -|\hfil| et |\hfill| produisent des ressorts horizontaux, tandis que -|\vfil| et |\vfill| produisent des ressorts verticaux. - -|\hfill| est infiniment plus grand que |\hfil|. -Si |\hfill| et |\hfil| apparaissent dans la m\^eme \minref{bo\^\i te}, -le |\hfill| consumera toute la place suppl\'ementaire possible -et le |\hfil| sera effectivement ignor\'e. -|\hfill| peut \`a son tour est \'ecras\'e par |\hskip 0pt plus 1filll|. -Les ressorts produits par -|\hfil| et |\hfill| ne r\'etr\'ecissent jamais. - -Le comportement de |\vfil| et |\vfill| est analogue. - -\example -\hbox to 2in{Left\hfil Middle \hfil Right} -| -\produces +% This is part of the book TeX for the Impatient.
+% Copyright (C) 2003 Paul W. Abrahams, Kathryn A. Hargreaves, Karl Berry.
+% Copyright (C) 2004 Marc Chaudemanche pour la traduction française.
+% See file fdl.tex for copying conditions.
+
+\input fmacros
+\chapter {Commandes pour \linebreak les modes horizontaux \linebreak et verticaux}
+
+\chapterdef{hvmodes}
+
+Cette section couvre les commandes qui ont des formes correspondantes ou
+identiques dans les modes horizontaux et verticaux.
+Ces commandes fournissent des bo\^\i tes, des espaces, des filets, des r\'eglures
+et des alignements.
+Pour une explication des conventions utilis\'ees dans cette section,
+voir \headcit{Descriptions des commandes}{cmddesc}.
+
+\begindescriptions
+
+%==========================================================================
+\section {Produire des espaces}
+
+%==========================================================================
+
+\subsection {Espaces horizontaux de largeur fixe}
+
+\begindesc
+\bix^^{espace//production d'}
+\bix^^{espace horizontal}
+\cts thinspace {}
+\explain
+Cette commande produit un \minref{cr\'enage} positif
+dont la largeur \'equivaut \`a un sixi\`eme d'em
+(\xref{dimdefs})
+c'est-\`a-dire qu'il demande \`a \TeX\ de d\'eplacer sa position \`a droite de ce montant.
+C'est pratique
+quand vous avez par exemple des quotes imbriqu\'ees
+et que vous voulez les s\'eparer.
+\TeX\ ne coupe pas de ligne sur un
+|\thinspace|.\minrefs{line break}
+
+\example
+``\thinspace`A quote.'\thinspace''\par
+24,\thinspace 29--31,\thinspace 45,\thinspace 102
+|
+\produces
+``\thinspace`A quote.'\thinspace''\par
+24,\thinspace 29--31,\thinspace 45,\thinspace 102
+\endexample
+\enddesc
+
+\begindesc
+\cts negthinspace {}
+\explain
+Cette commande produit un \minref{cr\'enage} n\'egatif
+dont la largeur \'equivaut \`a un sixi\`eme d'em
+(\xref{dimdefs})
+c'est-\`a-dire qu'il demande \`a \TeX\ de d\'eplacer sa position \`a gauche de ce montant.
+C'est pratique pour rapprocher deux caract\`eres qui sont un peu trop
+\'eloign\'es l'un de l'autre.
+\TeX\ ne coupe pas de ligne sur un |\negthinspace|.\minrefs{line break}
+\example
+The horror, the horror\negthinspace, the horror of it all!!
+|
+\produces
+The horror, the horror\negthinspace, the horror of it all!
+\endexample
+\enddesc
+
+\begindesc
+\cts enspace {}
+\explain
+Cette commande produit un \minref{cr\'enage} dont la largeur \'equivaut \`a un ^{en}
+(la moiti\'e d'un em, voir \xrefpg{dimdefs}).
+\TeX\ ne coupe pas de ligne sur un |\enspace| \`a moins qu'il soit suivi d'un ressort.
+Dans une liste \`a puce, les puces sont g\'en\'eralement s\'epar\'ees du texte qui les suit
+par un |\enspace|.
+\example
+Lemma 1.\enspace There exists a white rabbit.
+|
+\produces
+Lemma 1.\enspace There exists a white rabbit.
+\endexample
+% the enspace here follows the \proclaim convention (Knuth p. 355).
+\enddesc
+
+\begindesc
+\easy\cts enskip {}
+\cts quad {}
+\cts qquad {}
+\explain
+^^{en}
+Chacune de ces commandes
+produit un bout de \minref{ressort} horizontal
+qui ne peut ni s'\'etirer ni se r\'etr\'ecir.
+\TeX\ peut couper une ligne \minrefs{line break} sur un tel ressort.
+Les largeurs de ces ressort/dimension
+(qui sont relatifs \`a la police courante)
+sont les suivantes pour |cmr10|, la police par d\'efaut de \plainTeX~:
+\medskip
+\def\distance#1{\hbox{\strut $\rightarrow$\vrule\hskip #1\vrule$\leftarrow$}}
+{\def\l#1{\hfil$#1$\thinspace em}
+\tabskip 3pc \halign{#&#&\hfil#\hfil\cr
+{\it Commande}&{\it Espace}&{\it Illustration}\cr
+\noalign{\vskip 4pt}
+|\enskip|&\l{\frac 1/2}&\distance{.5em}\cr
+|\quad|&\l1&\distance{1em}\cr
+|\qquad|&\l2&\distance{2em}\cr
+}}
+\example
+en\enskip skip; quad\quad skip; qquad\qquad skip
+|
+\produces
+en\enskip skip; quad\quad skip; qquad\qquad skip
+\endexample
+\eix^^{espace horizontal}
+\enddesc
+
+%==========================================================================
+\subsection {Espaces verticaux de largeur fixe}
+
+\begindesc
+\bix^^{espace vertical}
+\easy\cts smallskip {}
+\cts medskip {}
+\cts bigskip {}
+\explain
+Ces commandes produisent des montants d'espacement vertical
+successivement plus larges~:
+\display{{\def\bar{\kern 2pt\hrule width 5pc}
+\def\lbl#1{\hbox to 5pc{\hfil #1skip\hfil}}
+\leavevmode
+\vtop{\lbl{small}\bar\smallskip\bar}\quad
+\vtop{\lbl{med}\bar\medskip\bar}\quad\vtop{\lbl{big}\bar\bigskip\bar}}}
+\noindent
+|\smallskip| saute de $3$ points et peut s'\'etirer ou
+s'\'elargir de $1$ point. |\med!-skip| est \'equivalent \`a deux |\smallskip|s
+et |\bigskip| est \'equivalent \`a deux |\medskip|s.
+
+Ces commandes terminent un paragraphe car elles sont fondamentalement verticales.
+Les sauts qu'elles produisent
+sont ajout\'es au saut inter-para\-graphe normal.
+\example
+Hop \smallskip skip \medskip and \bigskip jump.
+|
+\produces
+Hop \smallskip skip \medskip and \bigskip jump.
+\endexample
+\enddesc
+
+\begindesc
+\cts smallskipamount {\param{ressort}}
+\cts medskipamount {\param{ressort}}
+\cts bigskipamount {\param{ressort}}
+\explain
+Ces param\`etres sp\'ecifient les montants de ressort produit par
+les commandes |\small!-skip|, |\med!-skip| et |\big!-skip|.
+En changeant ces param\`e\-tres vous changez l'effet des commandes.
+Les valeurs par d\'efaut (pour \plainTeX)
+correspondent \`a un quart d'une ligne d'espace, \`a la moiti\'e d'une ligne d'espace,
+et \`a une ligne d'espace enti\`ere.
+Nous vous recommandons de maintenir ce ratio en changeant
+ces valeurs \`a chaque fois que
+vous changez |\baselineskip| (\xref\baselineskip).
+^^|\baselineskip//et {\tt\\smallskipamount}, etc.|
+\eix^^{espace vertical}
+
+\enddesc
+
+%==========================================================================
+\subsection {Espace de taille variable}
+
+\begindesc
+\easy\cts hskip {\<dimension$_1$> {\bt plus} \<dimension$_2$> {\bt minus} \<dimension$_3$>}
+\cts vskip {\<dimension$_1$> {\bt plus} \<dimension$_2$> {\bt minus} \<dimension$_3$>}
+^^{saut vertical}^^{ressort vertical}
+^^{saut horizontal}^^{ressort horizontal}
+\bix^^{espace horizontal}
+\bix^^{espace vertical}
+\explain
+Ces commandes produisent des ressorts respectivement horizontaux et verticaux.
+Dans le cas le plus simple et le plus courant, quand il n'y a seulement que \<dimension$_1$>,
+|\hskip| saute vers la droite de \<dimension$_1$>
+et |\vskip| saute vers le bas de la page de \<dimension$_1$>.
+Plus g\'en\'erale\-ment, ces commandes
+produisent des \minref{ressort}s dont la taille naturelle est
+\<dimension$_1$>, l'\'etirement \<dimension$_2$> et le r\'etr\'ecissement \<dimension$_3$>.
+Le |plus| \<dimension$_2$>, le |minus |\<dimension$_3$>,
+ou les deux peuvent \^etre omis.
+Si les deux sont pr\'esent, le |plus| doit \^etre avant le |minus|.
+Une valeur omise
+est consid\'er\'ee \`a z\'ero. Toutes les \<dimension>s peuvent \^etre n\'egatives.
+
+Vous pouvez utiliser |\hskip| en mode math\'ematique, mais vous ne pouvez utiliser d'unit\'es |mu|
+\seeconcept{unit\'e math\'ematique}
+pour aucune des dimensions. Si vous voulez des unit\'es |mu|, utilisez |\mskip|
+(\xref\mskip) \`a la place.
+
+\example
+\hbox to 2in{one\hskip 0pt plus .5in two}
+|
+\produces
+\hbox to 2in{one\hskip 0pt plus 2in two}
+
+\doruler{\8\8}2{in}
+\nextexample
+\hbox to 2in{Help me!! I can't fit
+{\hskip 0pt minus 2in} inside this box!!}
+|
+\produces
+\hbox to 2in{Help me! I can't fit
+{\hskip 0pt minus 2in} inside this box!}
+
+\doruler{\8\8}2{in}
+\nextexample
+\vbox to 4pc{\offinterlineskip% Just show effects of \vskip.
+ \hbox{one}\vskip 0pc plus 1pc \hbox{two}
+ \vskip .5pc \hbox{three}}
+|
+\produces
+\smallskip
+\vbox to 4pc{\offinterlineskip% Just show effects of \vskip.
+ \hbox{one}\vskip 0pc plus 1pc \hbox{two}
+ \vskip .5pc \hbox{three}}
+\endexample
+\enddesc
+
+\begindesc
+\cts hglue {\<ressort>}
+\cts vglue {\<ressort>}
+^^{ressort vertical}
+^^{ressort horizontal}
+\explain
+La commande |\hglue| produit un \minref{ressort} horizontal qui ne dispara\^\i t pas sur
+une coupure de ligne. La commande |\vglue|
+produit un \minref{ressort} vertical qui ne dispara\^\i t pas sur une coupure de page.
+Pour le reste ces commandes sont comme |\hskip| et |\vskip|.
+Vous pouvez utiliser |\vglue| pour produire de l'espace blanc en haut d'une page,
+par exemple, au dessus d'un titre sur la premi\`ere page d'un document, mais
+^|\topglue| (suivant) est normalement plus appropri\'e pour cet usage.
+\enddesc
+
+\begindesc
+\cts topglue {\<ressort>}
+\explain
+\margin{Command added; recent addition to \TeX}
+Cette commande\footnote{|\topglue| a \'et\'e ajout\'e \`a \TeX\ dans la version 3.0,
+apr\`es les autres am\'enagements introduitis par le ^{\newTeX}
+(\xref{newtex}). C'est la premi\`ere d\'ecrite dans la \emph{dix-huiti\`eme\/}
+\'edition de \texbook.} fait que l'espace entre le haut de la page et le
+haut de la premi\`ere bo\^\i te de la page soit pr\'ecis\'ement \'egal \`a \<glue>.
+Le haut de la page est consid\'er\'e \^etre sur la ligne de base d'une
+ligne imaginaire de texte juste au-dessus de la ligne du haut de la page.
+Plus pr\'ecis\'ement, c'est une distance |\topskip| au dessus de l'origine donn\'ee par
+|\hoffset| et |\voffset|.
+
+Cette commande est pratique parce que \TeX\ ajuste le ressort normalement
+produit par |\topskip| d'une mani\`ere complexe. En utilisant |\top!-glue| vous pouvez
+contr\^oler la position de la premi\`ere bo\^\i te de la page sans vous inqui\'eter de
+ces ajustements.
+
+\enddesc
+
+\begindesc
+\cts kern {\<dimension>}
+\explain
+L'effet de cette commande d\'epend du mode dans lequel est \TeX\ quand
+il la rencontre~:
+\ulist
+
+\li En mode horizontal, \TeX\ d\'eplace sa position vers la droite (pour un cr\'enage positif)
+ou vers la gauche (pour un cr\'enage n\'egatif).
+
+\li En mode vertical, \TeX\ d\'eplace sa position vers le bas de la page (pour un cr\'enage positif)
+ou vers le haut de la page (pour un cr\'enage n\'egatif).
+
+\endulist
+\noindent
+Ainsi un cr\'enage positif produit un espace vide tandis qu'un cr\'enage n\'egatif
+fait que \TeX\ recule sur quelque chose qu'il a d\'ej\`a produit.
+Cette notion de cr\'enage ^^{cr\'enages}
+est diff\'erente de la notion de cr\'enage dans certains syst\`emes de composition
+typographique informatis\'es---dans \TeX, des cr\'e\-nages positifs \emph{\'ecartent}
+deux lettres au lieu de les rapprocher.
+
+Un cr\'enage est similaire \`a un
+\minref{ressort}, sauf que (a)~un cr\'enage ne peut ni s'\'etirer ni se r\'etr\'ecir,
+et (b)~\TeX\ ne coupera une ligne ou une page sur un cr\'enage que si le cr\'enage
+est suivi par un ressort et ne fait pas partie d'une formule math\'ematique.
+Si \TeX\ trouve un cr\'enage \`a la fin
+d'une ligne ou d'une page, il \'elimine le cr\'enage.
+Si vous voulez obtenir l'effet d'un cr\'enage qui ne dispara\^\i t jamais,
+utilisez ^|\hglue| ou ^|\vglue|.
+
+Vous pouvez utiliser |\kern| en mode math\'ematique, mais vous ne pouvez pas utiliser d'unit\'es |mu|
+\seeconcept{unit\'e math\'ematique}
+pour \<dimension>. Si vous voulez des unit\'es |mu|, utilisez |\mkern|
+(\xref\mkern) \`a la place.
+^^{coupures de ligne//cr\'enages sur des}
+^^{coupures de page//cr\'enages sur des}
+
+\example
+\centerline{$\Downarrow$}\kern 3pt % a vertical kern
+\centerline{$\Longrightarrow$\kern 6pt % a horizontal kern
+ {\bf Heed my warning!!}\kern 6pt % another horizontal kern
+ $\Longleftarrow$}
+\kern 3pt % another vertical kern
+\centerline{$\Uparrow$}
+|
+\produces
+\centerline{$\Downarrow$}\kern 3pt % a vertical kern
+\centerline{$\Longrightarrow$\kern 6pt % a horizontal kern
+ {\bf Heed my warning!}\kern 6pt % another horizontal kern
+ $\Longleftarrow$}
+\kern 3pt % another vertical kern
+\centerline{$\Uparrow$}
+\endexample
+\enddesc
+
+\begindesc
+\makecolumns 4/2:
+\cts hfil {}
+\cts hfill {}
+\cts vfil {}
+\cts vfill {}
+\explain
+\bix^^{ressort//\'etirable infiniment}
+Ces commandes produisent des ressorts horizontaux et verticaux \'etirables
+infiniment qui
+\'ecrasent tout \'etirement fini qui peut \^etre pr\'esent.
+|\hfil| et |\hfill| produisent des ressorts horizontaux, tandis que
+|\vfil| et |\vfill| produisent des ressorts verticaux.
+
+|\hfill| est infiniment plus grand que |\hfil|.
+Si |\hfill| et |\hfil| apparaissent dans la m\^eme \minref{bo\^\i te},
+le |\hfill| consumera toute la place suppl\'ementaire possible
+et le |\hfil| sera effectivement ignor\'e.
+|\hfill| peut \`a son tour est \'ecras\'e par |\hskip 0pt plus 1filll|.
+Les ressorts produits par
+|\hfil| et |\hfill| ne r\'etr\'ecissent jamais.
+
+Le comportement de |\vfil| et |\vfill| est analogue.
+
+\example
\hbox to 2in{Left\hfil Middle \hfil Right}
- -\doruler{\8\8}2{in} -\nextexample -\hbox to 2in{Left\hfil Middle \hfill Right} -| -\produces -\hbox to 2in{Left\hfil Middle \hfill Right} - -\doruler{\8\8}2{in} -\nextexample -\leftline{% -\vbox to 4pc{% - \hbox{Top}\vfil\hbox{Middle}\vfil \hbox{Bottom}}\quad -\vbox to 4pc{% - \hbox{Top}\vfil\hbox{Middle}\vfill\hbox{Bottom}}} -| -\produces -\smallskip -\leftline{% -\vbox to 4pc{% - \hbox{Top}\vfil\hbox{Middle}\vfil \hbox{Bottom}}\quad -\vbox to 4pc{% - \hbox{Top}\vfil\hbox{Middle}\vfill\hbox{Bottom}}} -\endexample - -\eix^^{ressort//\'etirable infiniment} -\enddesc - -\begindesc -\cts hss {} -\cts vss {} -\explain -Ces commandes produisent des ressorts horizontaux et -verticaux qui sont infiniment \'etirables et -r\'etr\'ecissables. Le ressort peut se r\'etr\'ecir -sur une distance n\'egative, produisant l'effet de reculer sur une ligne -(pour |\hss|) ou remonter sur une page (pour |\vss|). - -\example -\line{text\hfil\hbox to 0pt{margin\hss}} -% `margin\hss' shrinks to the zero width of the hbox. -| -\produces -\line{text\hfil\hbox to 0pt{margin\hss}} -\nextexample -\vbox to 1pc{\hrule width 6pc % Top of box. - \hbox{1} \vskip 1pc\hbox to 2pc{\hfil 2} - % The \vss absorbs the extra distance produced by \vskip. - \vss \hbox to 3pc{\hfil 3} - \hrule width 6pc}% Bottom of box. -| -\produces -\medskip -\vbox to 1pc{\hrule width 6pc % top of box - \hbox{1} \vskip 1pc\hbox to 2pc{\hfil 2} - \vss \hbox to 3pc{\hfil 3} - \hrule width 6pc}% bottom of box -\vskip 2.5pc -\endexample -\enddesc - -\begindesc -\cts hfilneg {} -\cts vfilneg {} -\explain -^^{ressort//n\'egatif} -Ces commandes effacent l'effet d'un |\hfil| ou d'un |\vfil| -pr\'ec\'edent. Tandis que |\hfil| et |\vfil| produisent un -\minref{ressort} positif infiniment \'etirable, |\hfilneg| et |\vfilneg| -produisent un ressort n\'egatif infiniment \'etirable. -(ainsi, $n$ |\hfilneg| effacent $n$ ^|\hfil| et pareillement -pour le |\vfilneg|.) -L'utilisation principale de |\hfilneg| et de |\vfilneg| est de contrecarrer -l'effet d'un |\hfil| ou d'un |\vfil| ins\'er\'e par une \minref{macro}. - -|\hfilneg| et |\vfilneg| ont -la propri\'et\'e curieuse, s'ils sont les seuls ressorts infiniment \'etirables -d'une bo\^\i te, de produire exactement le m\^eme effet que |\hfil| -et |\vfil|. - -\example -\leftline{\hfil on the right\hfilneg} -% Cancel the \hfil that \leftline produces to the right -% of its argument. -| -\produces -\leftline{\hfil on the right \hfilneg} -% Cancel the \hfil that \leftline produces to the right -% of its argument. -% -\nextexample -\def\a{\hbox to 1pc{\hfil 2}\vfil} -\vbox to 4pc{\hbox{1} \vfil \a - \vfilneg \hbox to 2pc{\hfil 3}} -| -\produces -\smallskip -\def\a{\hbox to 1pc{\hfil 2}\vfil} -\vbox to 4pc{\hbox{1} \vfil \a - \vfilneg \hbox to 2pc{\hfil 3}} -\endexample\enddesc - -{\emergencystretch=2em -\see |\hbadness| et |\vbadness| (\xref \vbadness), -|\hfuzz| et |\vfuzz| (\xref \vfuzz), -\conceptcit{filets}.\par} -\eix^^{espace//production d'} -\eix^^{espace horizontal} -\eix^^{espace vertical} - -%========================================================================== -\section {Manipuler des bo\^\i tes} - -%========================================================================== -\subsection {Construire des hbox et des vbox} - -\begindesc -\bix^^{commandes de \boites} -^^{hbox//construction avec \b\tt\\hbox\e} -% -\cts hbox {\rqbraces{\<mat\'eriel en mode horizontal>}} -\aux\cts hbox {{\bt to} \<dimension> \rqbraces{\<mat\'eriel en mode horizontal>}} -\aux\cts hbox {{\bt spread} \<dimension> \rqbraces{\<mat\'eriel en mode horizontal>}} -\explain -Ces commandes produisent une hbox -(\minref{bo\^\i te} horizontale) contenant du \<mat\'eriel en mode horizontal>. -Les accolades autour du \<mat\'eriel en mode horizontal> d\'efinissent un groupe. -\TeX\ ne coupe pas le \<mat\'eriel en mode horizontal> en plusieurs lignes, -puisqu'il est en mode horizontal restreint quand il assemble la bo\^\i te. -\TeX\ ne change pas la taille de la bo\^\i te une fois qu'elle est produite. - -|\hbox| est souvent utile quand vous voulez conserver du texte sur une seule ligne. -Si votre utilisation de |\hbox| emp\^eche \TeX\ de couper des lignes de mani\`ere acceptable, -\TeX\ se plaindra d'un ``overfull hbox''. - -La largeur du hbox d\'epend des arguments de |\hbox|~: -\ulist\compact -\li Si vous ne sp\'ecifiez que du \<mat\'eriel en mode horizontal>, -le hbox aura sa \minref{largeur} naturelle. -\li Si vous sp\'ecifiez |to| \<dimension>, la largeur du hbox sera \<dimension>. -\li Si vous sp\'ecifiez |spread| \<dimension>, la largeur du hbox sera -sa largeur naturelle plus \<dimension>, c'est-\`a-dire, le hbox s'allongera de -\<dimension>. -\endulist - -La commande ^|\hfil| (\xref\hfil) est utile pour remplir un -hbox d'espace vide quand le mat\'eriel dans la bo\^\i te n'est pas aussi large que la -largeur de la bo\^\i te. -\example -\hbox{ugly suburban sprawl} -\hbox to 2in{ugly \hfil suburban \hfil sprawl} -\hbox spread 1in {ugly \hfil suburban \hfil sprawl} -% Without \hfil in the two preceding lines, -% you'd get `underfull hbox'es. -| -\produces -\hbox{ugly suburban sprawl} -\hbox to 2in{ugly \hfil suburban \hfil sprawl} -\hbox spread 1in {ugly \hfil suburban \hfil sprawl} -% Without \hfil in the two preceding lines, -% you'd get `underfull hbox'es. - -\doruler{\8\8\8}3{in} -\endexample -\enddesc - -\begindesc -\cts vtop {\<mat\'eriel en mode vertical>} -\aux\cts vtop {{\bt to} \<dimension> \rqbraces{\<mat\'eriel en mode vertical>}} -\aux\cts vtop {{\bt spread} \<dimension> \rqbraces{\<mat\'eriel en mode vertical>}} -\cts vbox {\rqbraces{\<mat\'eriel en mode vertical>}} -\aux\cts vbox {{\bt to} \<dimension> \rqbraces{\<mat\'eriel en mode vertical>}} -\aux\cts vbox {{\bt spread} \<dimension> \rqbraces{\<mat\'eriel en mode vertical>}} -\explain -^^{hbox//construction avec \b\tt\\hbox\e} -Ces commandes -produisent une \minref{vbox} (\minref{bo\^\i te} verticale) -contenant du \<ma\-t\'eriel en mode vertical>. -Les accolades autour du \<mat\'eriel en mode vertical> d\'efinissent un groupe. -\TeX\ est en mode vertical interne quand il assemble la bo\^\i te. -\TeX\ ne change pas la taille de la bo\^\i te une fois qu'elle est produite. - -La diff\'erence entre |\vtop| et |\vbox| est o\`u \TeX\ met -le point de r\'ef\'erence de la vbox construite. -Normalement, le point de r\'ef\'erence obtenu de |\vtop| tend \`a \^etre sur ou pr\`es -du haut de la vbox construite, -tandis que -le point de r\'ef\'erence obtenu de |\vbox| tend \`a \^etre sur ou pr\`es -du bas de la vbox construite. -Ainsi une rang\'ee de vbox toutes construites avec |\vtop| -tendra \`a avoir leurs hauts \`a peu pr\`es align\'es, -tandis qu'une rang\'e de vbox toutes construites avec |\vbox| -tendra \`a avoir leurs bas \`a peu pr\`es align\'es. - -|\vtop| et |\vbox| sont souvent pratiques -quand vous voulez garder du texte ensemble sur une seule page. -(Pour cela, peu importe normalement quelle commande vous utilisez.) -Si votre usage de ces commandes -emp\^eche \TeX\ de couper des pages d'une mani\`ere acceptable, -\TeX\ se plaindra qu'il a trouv\'e un ``overfull'' ou un ``underfull vbox while -|\output| is active''. - -La hauteur d'une vbox d\'epend des -arguments de |\vtop| ou |\vbox|. -Pour |\vbox|, \TeX\ d\'etermine la hauteur de la mani\`ere suivante~: -\ulist\compact -\li Si vous ne sp\'ecifiez que du \<mat\'eriel en mode vertical>, -la vbox aura sa hauteur naturelle. -\li Si vous sp\'ecifiez |to| \<dimension>, -la hauteur de la vbox sera fix\'ee \`a \<dimension>. -\li Si vous sp\'ecifiez |spread| \<dimension>, la hauteur de la vbox sera -sa hauteur naturelle plus \<dimension>, c'est-\`a-dire, -que la hauteur de la vbox sera \'etir\'ee verticalement de \<dimension>. -\endulist -\noindent -Pour |\vtop|, -\TeX\ construit la bo\^\i te en utilisant ses r\`egles pour |\vbox| et ensuite -r\'epartit l'extension verticale entre la hauteur et la profondeur comme -d\'ecrit ci-dessous. - -Normalement, la largeur d'une vbox construite est la largeur de l'\'el\'e\-ment le plus -large contenu\footnote -{Plus pr\'ecis\'ement, c'est la distance du point de r\'ef\'erence au cot\'e le plus \`a -droite de la vbox construite. Par cons\'equent, -si vous d\'eplacez un des \'el\'ements vers la droite en utilisant ^|\moveright| ou -^|\moveleft| (avec une distance n\'egative), -la vbox construite pourra \^etre plus large.}. -Les r\`egles de r\'epartitions de l'extension verticale entre la -hauteur et la profondeur sont plus compliqu\'ees~: -\ulist -\li Pour |\vtop|, -la hauteur est la hauteur de son premier \'el\'ement, si cet \'el\'ement est une bo\^\i te ou un filet. -Autrement la hauteur est \`a z\'ero. La profondeur est toute extension verticale -restante quand la hauteur a \'et\'e enlev\'ee. -\li Pour |\vbox|, -la profondeur est la profondeur de son dernier \'el\'ement, si cet \'el\'ement est une bo\^\i te ou un filet. -Autrement la profondeur est \`a z\'ero. La hauteur est toute extension verticale -restante quand la profondeur a \'et\'e enlev\'ee% -\footnote{En fait, il y a une complication suppl\'ementaire. -Supposez qu'apr\`es que la profondeur ait \'et\'e d\'etermin\'ee -en utilisant les deux r\`egles pr\'ec\'edentes, la profondeur devienne plus grande que -^|\boxmaxdepth|. -Alors la profondeur est r\'eduite \`a |\boxmaxdepth| et la hauteur est ajust\'ee -en cons\'equence.}. -\endulist - -La commande |\vfil| (\xref\vfil) est pratique pour remplir une vbox -^^|\vfil//remplir une vbox| -avec de l'espace vide quand le mat\'eriel dans la bo\^\i te n'est pas aussi grand que -l'extention verticale de la bo\^\i te. -\example -\hbox{\hsize = 10pc \raggedright\parindent = 1em -\vtop{In this example, we see how to use vboxes to -produce the effect of double columns. Each vbox -contains two paragraphs, typeset according to \TeX's -usual rules except that it's ragged right.\par -This isn't really the best way to get true double -columns because the columns} -\hskip 2pc -\vtop{\noindent -aren't balanced and we haven't done anything to choose -the column break automatically or even to fix up the -last line of the first column.\par -However, the technique of putting running text into a -vbox is very useful for placing that text where you -want it on the page.}} -| -\produces -\hbox{\hsize = 10pc \raggedright\parindent = 1em -\vtop{In this example, we see how to use vboxes to -produce the effect of double columns. Each vbox -contains two paragraphs, typeset according to \TeX's +|
+\produces
+\hbox to 2in{Left\hfil Middle \hfil Right}
+
+\doruler{\8\8}2{in}
+\nextexample
+\hbox to 2in{Left\hfil Middle \hfill Right}
+|
+\produces
+\hbox to 2in{Left\hfil Middle \hfill Right}
+
+\doruler{\8\8}2{in}
+\nextexample
+\leftline{%
+\vbox to 4pc{%
+ \hbox{Top}\vfil\hbox{Middle}\vfil \hbox{Bottom}}\quad
+\vbox to 4pc{%
+ \hbox{Top}\vfil\hbox{Middle}\vfill\hbox{Bottom}}}
+|
+\produces
+\smallskip
+\leftline{%
+\vbox to 4pc{%
+ \hbox{Top}\vfil\hbox{Middle}\vfil \hbox{Bottom}}\quad
+\vbox to 4pc{%
+ \hbox{Top}\vfil\hbox{Middle}\vfill\hbox{Bottom}}}
+\endexample
+
+\eix^^{ressort//\'etirable infiniment}
+\enddesc
+
+\begindesc
+\cts hss {}
+\cts vss {}
+\explain
+Ces commandes produisent des ressorts horizontaux et
+verticaux qui sont infiniment \'etirables et
+r\'etr\'ecissables. Le ressort peut se r\'etr\'ecir
+sur une distance n\'egative, produisant l'effet de reculer sur une ligne
+(pour |\hss|) ou remonter sur une page (pour |\vss|).
+
+\example
+\line{text\hfil\hbox to 0pt{margin\hss}}
+% `margin\hss' shrinks to the zero width of the hbox.
+|
+\produces
+\line{text\hfil\hbox to 0pt{margin\hss}}
+\nextexample
+\vbox to 1pc{\hrule width 6pc % Top of box.
+ \hbox{1} \vskip 1pc\hbox to 2pc{\hfil 2}
+ % The \vss absorbs the extra distance produced by \vskip.
+ \vss \hbox to 3pc{\hfil 3}
+ \hrule width 6pc}% Bottom of box.
+|
+\produces
+\medskip
+\vbox to 1pc{\hrule width 6pc % top of box
+ \hbox{1} \vskip 1pc\hbox to 2pc{\hfil 2}
+ \vss \hbox to 3pc{\hfil 3}
+ \hrule width 6pc}% bottom of box
+\vskip 2.5pc
+\endexample
+\enddesc
+
+\begindesc
+\cts hfilneg {}
+\cts vfilneg {}
+\explain
+^^{ressort//n\'egatif}
+Ces commandes effacent l'effet d'un |\hfil| ou d'un |\vfil|
+pr\'ec\'edent. Tandis que |\hfil| et |\vfil| produisent un
+\minref{ressort} positif infiniment \'etirable, |\hfilneg| et |\vfilneg|
+produisent un ressort n\'egatif infiniment \'etirable.
+(ainsi, $n$ |\hfilneg| effacent $n$ ^|\hfil| et pareillement
+pour le |\vfilneg|.)
+L'utilisation principale de |\hfilneg| et de |\vfilneg| est de contrecarrer
+l'effet d'un |\hfil| ou d'un |\vfil| ins\'er\'e par une \minref{macro}.
+
+|\hfilneg| et |\vfilneg| ont
+la propri\'et\'e curieuse, s'ils sont les seuls ressorts infiniment \'etirables
+d'une bo\^\i te, de produire exactement le m\^eme effet que |\hfil|
+et |\vfil|.
+
+\example
+\leftline{\hfil on the right\hfilneg}
+% Cancel the \hfil that \leftline produces to the right
+% of its argument.
+|
+\produces
+\leftline{\hfil on the right \hfilneg}
+% Cancel the \hfil that \leftline produces to the right
+% of its argument.
+%
+\nextexample
+\def\a{\hbox to 1pc{\hfil 2}\vfil}
+\vbox to 4pc{\hbox{1} \vfil \a
+ \vfilneg \hbox to 2pc{\hfil 3}}
+|
+\produces
+\smallskip
+\def\a{\hbox to 1pc{\hfil 2}\vfil}
+\vbox to 4pc{\hbox{1} \vfil \a
+ \vfilneg \hbox to 2pc{\hfil 3}}
+\endexample\enddesc
+
+{\emergencystretch=2em
+\see |\hbadness| et |\vbadness| (\xref \vbadness),
+|\hfuzz| et |\vfuzz| (\xref \vfuzz),
+\conceptcit{filets}.\par}
+\eix^^{espace//production d'}
+\eix^^{espace horizontal}
+\eix^^{espace vertical}
+
+%==========================================================================
+\section {Manipuler des bo\^\i tes}
+
+%==========================================================================
+\subsection {Construire des hbox et des vbox}
+
+\begindesc
+\bix^^{commandes de \boites}
+^^{hbox//construction avec \b\tt\\hbox\e}
+%
+\cts hbox {\rqbraces{\<mat\'eriel en mode horizontal>}}
+\aux\cts hbox {{\bt to} \<dimension> \rqbraces{\<mat\'eriel en mode horizontal>}}
+\aux\cts hbox {{\bt spread} \<dimension> \rqbraces{\<mat\'eriel en mode horizontal>}}
+\explain
+Ces commandes produisent une hbox
+(\minref{bo\^\i te} horizontale) contenant du \<mat\'eriel en mode horizontal>.
+Les accolades autour du \<mat\'eriel en mode horizontal> d\'efinissent un groupe.
+\TeX\ ne coupe pas le \<mat\'eriel en mode horizontal> en plusieurs lignes,
+puisqu'il est en mode horizontal restreint quand il assemble la bo\^\i te.
+\TeX\ ne change pas la taille de la bo\^\i te une fois qu'elle est produite.
+
+|\hbox| est souvent utile quand vous voulez conserver du texte sur une seule ligne.
+Si votre utilisation de |\hbox| emp\^eche \TeX\ de couper des lignes de mani\`ere acceptable,
+\TeX\ se plaindra d'un ``overfull hbox''.
+
+La largeur du hbox d\'epend des arguments de |\hbox|~:
+\ulist\compact
+\li Si vous ne sp\'ecifiez que du \<mat\'eriel en mode horizontal>,
+le hbox aura sa \minref{largeur} naturelle.
+\li Si vous sp\'ecifiez |to| \<dimension>, la largeur du hbox sera \<dimension>.
+\li Si vous sp\'ecifiez |spread| \<dimension>, la largeur du hbox sera
+sa largeur naturelle plus \<dimension>, c'est-\`a-dire, le hbox s'allongera de
+\<dimension>.
+\endulist
+
+La commande ^|\hfil| (\xref\hfil) est utile pour remplir un
+hbox d'espace vide quand le mat\'eriel dans la bo\^\i te n'est pas aussi large que la
+largeur de la bo\^\i te.
+\example
+\hbox{ugly suburban sprawl}
+\hbox to 2in{ugly \hfil suburban \hfil sprawl}
+\hbox spread 1in {ugly \hfil suburban \hfil sprawl}
+% Without \hfil in the two preceding lines,
+% you'd get `underfull hbox'es.
+|
+\produces
+\hbox{ugly suburban sprawl}
+\hbox to 2in{ugly \hfil suburban \hfil sprawl}
+\hbox spread 1in {ugly \hfil suburban \hfil sprawl}
+% Without \hfil in the two preceding lines,
+% you'd get `underfull hbox'es.
+
+\doruler{\8\8\8}3{in}
+\endexample
+\enddesc
+
+\begindesc
+\cts vtop {\<mat\'eriel en mode vertical>}
+\aux\cts vtop {{\bt to} \<dimension> \rqbraces{\<mat\'eriel en mode vertical>}}
+\aux\cts vtop {{\bt spread} \<dimension> \rqbraces{\<mat\'eriel en mode vertical>}}
+\cts vbox {\rqbraces{\<mat\'eriel en mode vertical>}}
+\aux\cts vbox {{\bt to} \<dimension> \rqbraces{\<mat\'eriel en mode vertical>}}
+\aux\cts vbox {{\bt spread} \<dimension> \rqbraces{\<mat\'eriel en mode vertical>}}
+\explain
+^^{hbox//construction avec \b\tt\\hbox\e}
+Ces commandes
+produisent une \minref{vbox} (\minref{bo\^\i te} verticale)
+contenant du \<ma\-t\'eriel en mode vertical>.
+Les accolades autour du \<mat\'eriel en mode vertical> d\'efinissent un groupe.
+\TeX\ est en mode vertical interne quand il assemble la bo\^\i te.
+\TeX\ ne change pas la taille de la bo\^\i te une fois qu'elle est produite.
+
+La diff\'erence entre |\vtop| et |\vbox| est o\`u \TeX\ met
+le point de r\'ef\'erence de la vbox construite.
+Normalement, le point de r\'ef\'erence obtenu de |\vtop| tend \`a \^etre sur ou pr\`es
+du haut de la vbox construite,
+tandis que
+le point de r\'ef\'erence obtenu de |\vbox| tend \`a \^etre sur ou pr\`es
+du bas de la vbox construite.
+Ainsi une rang\'ee de vbox toutes construites avec |\vtop|
+tendra \`a avoir leurs hauts \`a peu pr\`es align\'es,
+tandis qu'une rang\'e de vbox toutes construites avec |\vbox|
+tendra \`a avoir leurs bas \`a peu pr\`es align\'es.
+
+|\vtop| et |\vbox| sont souvent pratiques
+quand vous voulez garder du texte ensemble sur une seule page.
+(Pour cela, peu importe normalement quelle commande vous utilisez.)
+Si votre usage de ces commandes
+emp\^eche \TeX\ de couper des pages d'une mani\`ere acceptable,
+\TeX\ se plaindra qu'il a trouv\'e un ``overfull'' ou un ``underfull vbox while
+|\output| is active''.
+
+La hauteur d'une vbox d\'epend des
+arguments de |\vtop| ou |\vbox|.
+Pour |\vbox|, \TeX\ d\'etermine la hauteur de la mani\`ere suivante~:
+\ulist\compact
+\li Si vous ne sp\'ecifiez que du \<mat\'eriel en mode vertical>,
+la vbox aura sa hauteur naturelle.
+\li Si vous sp\'ecifiez |to| \<dimension>,
+la hauteur de la vbox sera fix\'ee \`a \<dimension>.
+\li Si vous sp\'ecifiez |spread| \<dimension>, la hauteur de la vbox sera
+sa hauteur naturelle plus \<dimension>, c'est-\`a-dire,
+que la hauteur de la vbox sera \'etir\'ee verticalement de \<dimension>.
+\endulist
+\noindent
+Pour |\vtop|,
+\TeX\ construit la bo\^\i te en utilisant ses r\`egles pour |\vbox| et ensuite
+r\'epartit l'extension verticale entre la hauteur et la profondeur comme
+d\'ecrit ci-dessous.
+
+Normalement, la largeur d'une vbox construite est la largeur de l'\'el\'e\-ment le plus
+large contenu\footnote
+{Plus pr\'ecis\'ement, c'est la distance du point de r\'ef\'erence au cot\'e le plus \`a
+droite de la vbox construite. Par cons\'equent,
+si vous d\'eplacez un des \'el\'ements vers la droite en utilisant ^|\moveright| ou
+^|\moveleft| (avec une distance n\'egative),
+la vbox construite pourra \^etre plus large.}.
+Les r\`egles de r\'epartitions de l'extension verticale entre la
+hauteur et la profondeur sont plus compliqu\'ees~:
+\ulist
+\li Pour |\vtop|,
+la hauteur est la hauteur de son premier \'el\'ement, si cet \'el\'ement est une bo\^\i te ou un filet.
+Autrement la hauteur est \`a z\'ero. La profondeur est toute extension verticale
+restante quand la hauteur a \'et\'e enlev\'ee.
+\li Pour |\vbox|,
+la profondeur est la profondeur de son dernier \'el\'ement, si cet \'el\'ement est une bo\^\i te ou un filet.
+Autrement la profondeur est \`a z\'ero. La hauteur est toute extension verticale
+restante quand la profondeur a \'et\'e enlev\'ee%
+\footnote{En fait, il y a une complication suppl\'ementaire.
+Supposez qu'apr\`es que la profondeur ait \'et\'e d\'etermin\'ee
+en utilisant les deux r\`egles pr\'ec\'edentes, la profondeur devienne plus grande que
+^|\boxmaxdepth|.
+Alors la profondeur est r\'eduite \`a |\boxmaxdepth| et la hauteur est ajust\'ee
+en cons\'equence.}.
+\endulist
+
+La commande |\vfil| (\xref\vfil) est pratique pour remplir une vbox
+^^|\vfil//remplir une vbox|
+avec de l'espace vide quand le mat\'eriel dans la bo\^\i te n'est pas aussi grand que
+l'extention verticale de la bo\^\i te.
+\example
+\hbox{\hsize = 10pc \raggedright\parindent = 1em
+\vtop{In this example, we see how to use vboxes to
+produce the effect of double columns. Each vbox
+contains two paragraphs, typeset according to \TeX's
usual rules except that it's ragged right.\par
-This isn't really the best way to get true double -columns because the columns} -\hskip 2pc -\vtop{\noindent -aren't balanced and we haven't done anything to choose -the column break automatically or even to fix up the +This isn't really the best way to get true double
+columns because the columns}
+\hskip 2pc
+\vtop{\noindent
+aren't balanced and we haven't done anything to choose
+the column break automatically or even to fix up the
last line of the first column.\par
-However, the technique of putting running text into a -vbox is very useful for placing that text where you -want it on the page.}} -\nextexample -\hbox{\hsize = 1in \raggedright\parindent = 0pt -\vtop to .75in{\hrule This box is .75in deep. \vfil\hrule} -\qquad -\vtop{\hrule This box is at its natural depth. \vfil\hrule} -\qquad -\vtop spread .2in{\hrule This box is .2in deeper than - its natural depth.\vfil\hrule}} -| -\produces -\hbox{\hsize = 1in \raggedright\parindent=0pt -\vtop to .75in{\hrule This box is .75in deep. \vfil\hrule} -\qquad -\vtop{\hrule This box is at its natural depth. \vfil\hrule} -\qquad -\vtop spread .2in{\hrule This box is .2in deeper than - its natural depth.\vfil\hrule}} -\nextexample -% See how \vbox lines up boxes at their bottoms -% instead of at their tops. -\hbox{\hsize = 1in \raggedright -\vbox to .5in{\hrule This box is .5in deep.\vfil\hrule} -\qquad -\vbox to .75in{\hrule This box is .75in deep.\vfil\hrule}} -| -\produces -\hbox{\hsize = 1in \raggedright -\vbox to .5in{\hrule This box is .5in deep.\vfil\hrule} -\qquad -\vbox to .75in{\hrule This box is .75in deep.\vfil\hrule}} -\vskip 16pt % to avoid running into the next command description -\endexample -\enddesc - -\begindesc -\margin{Two commands interchanged here.} -\cts boxmaxdepth {\param{dimension}} -\explain -Ce param\`etre contient une dimension $D$. -\TeX\ ne construira pas une bo\^\i te dont la profondeur d\'epassera $D$. -Si vous produisez une bo\^\i te dont la profondeur $d$ doit d\'epasser $D$, -\TeX\ transf\`erera la -profondeur exc\'edentaire dans la hauteur de la bo\^\i te, en abaissant en r\'ealit\'e le -\minref{point de r\'ef\'erence} de la bo\^\i te de $d-D$. -Si vous mettez |\boxmaxdepth| \`a z\'ero, \TeX\ alignera une rang\'ee de vbox -de telle mani\`ere que leurs fronti\`eres du bas seront toutes sur la m\^eme ligne horizontale. -\PlainTeX\ met |\boxmaxdepth| \`a |\maxdimen| \ctsref{\maxdimen}, -donc |\boxmaxdepth| n'affectera pas vos bo\^\i tes \`a moins que vous le changiez. -\enddesc - -\begindesc -\cts underbar {\<argument>} -\explain -Cette commande met \<argument> dans une \minref{hbox} -et la souligne sans faire attention \`a tout ce que d\'epasse sous la -\minref{ligne de base} de la bo\^\i te. -\example -\underbar{Why not learn \TeX?} -| -\produces -\underbar{Why not learn \TeX?} -\endexample -\enddesc - -\begindesc -\cts everyhbox {\param{liste de token}} -\cts everyvbox {\param{liste de token}} -\explain -Ces param\`etres contiennent des liste de token que \TeX\ d\'eveloppe au d\'ebut de -toutes \minref{hbox} ou \minref{vbox} qu'il construit. -Tout \'el\'ement r\'esultant de l'expansion devient alors -le d\'ebut de la liste d'\'el\'ements pour la bo\^\i te. -Par d\'efaut, ces listes de token sont vides. -\enddesc - -%========================================================================== -\subsection {Remplir et r\'ecuperer le contenu de bo\^\i tes} - -\begindesc -\bix^^{registres de \boite} -% -\cts setbox {\<registre>\thinspace{\bt =}\thinspace\<bo\^\i te>} -\cts box {\<registre>} -\explain -^^{assignements//de \boites} -Ces commandes remplissent et r\'ecup\`erent respectivement le contenu -du registre de bo\^\i te -dont le num\'ero est \<registre>. -Notez que vous remplissez un registre de bo\^\i te d'une mani\`ere un peu diff\'erente de celle -utilis\'ee pour les autres types de registres~: vous utilisez -|\setbox|$\,n$~|=| plut\^ot que |\box|$\,n$~|=|. - -\emph{R\'ecup\'erer le contenu d'un registre de bo\^\i te -avec ces commandes a l'effet secondaire d'enlever ce qu'il contient, -donc le registre de bo\^\i te devient vide.} Si vous ne voulez pas que cela arrive, -vous pouvez utiliser |\copy| (voir ci-dessous) pour r\'ecup\'erer le contenu. -Vous devez utiliser |\box| de pr\'ef\'erence \`a |\copy| -quand vous n'avez plus besoin du contenu d'un registre de bo\^\i te apr\`es l'avoir utilis\'e, -de mani\`ere \`a ne pas augmenter la m\'emoire de \TeX\ en la remplissant avec des bo\^\i tes obsol\`etes. -\example -\setbox0 = \hbox{mushroom} -\setbox1 = \vbox{\copy0\box0\box0} -\box1 -| -\produces -\setbox0 = \hbox{mushroom} -\setbox1 = \vbox{\copy0\box0\box0} -\box1 -\endexample -\enddesc - -\begindesc -\cts copy {\<registre>} -\explain -^^{\boites//copie}\minrefs{box} -Cette commande -produit une copie d'un registre de bo\^\i te \<registre>. -Cette commande est utile quand vous voulez r\'ecup\'erer le contenu d'un registre -de bo\^\i te mais ne voulez pas en d\'etruire le contenu. -(R\'ecup\'erer le contenu d'un registre avec ^|\box| rend le registre vide.) -\example -\setbox0 = \hbox{good } -Have a \copy0 \box0 \box0 day!! -| -\produces -\setbox0 = \hbox{good } -Have a \copy0 \box0 \box0 day! -\endexample -\enddesc - -\begindesc -\cts unhbox {\<registre>} -\cts unvbox {\<registre>} -^^{\boites//extraction de contenu de} -\explain -Ces commandes produisent la liste contenue dans un registre de bo\^\i te \<registre> et rend -ce registre de bo\^\i te vide. -|\unhbox| s'applique aux registres de bo\^\i te contenant -des hbox et |\unvbox| s'applique aux registres de bo\^\i te contenant des vbox. -Vous devez utiliser ces commandes en pr\'ef\'erence \`a |\unhcopy| et |\unvcopy| -(voir ci-dessous) -quand vous n'avez pas besoin de ce qu'il y a dans le registre de bo\^\i te apr\`es l'avoir utilis\'e, -de mani\`ere \`a ne pas augmenter la m\'emoire de \TeX\ en la remplissant avec des bo\^\i tes obsol\`etes. -\example -\setbox0=\hbox{The Mock Turtle sighed deeply, and -drew the back of one flapper across his eyes. } -\setbox1=\hbox{He tried to speak, but sobs choked - his voice. } -\unhbox0 \unhbox1 -% \box0 \box1 would set two hboxes side by side -% (and produce a badly overfull line). -\box1 % produces nothing -| -\produces -\setbox0=\hbox{The Mock Turtle sighed deeply, and -drew the back of one flapper across his eyes. } -\setbox1=\hbox{He tried to speak, but sobs choked - his voice. } -\unhbox0 \unhbox1 -% \hbox0 \hbox1 would set two hboxes side by side -% (and produce a badly overfull line). -\box1 % Produces nothing. -\endexample -\enddesc - -\begindesc -\cts unhcopy {\<registre>} -\cts unvcopy {\<registre>} -^^{\boites//extraction du contenu de} -^^{\boites//copie}\minrefs{box} -\explain -Ces commandes produisent la liste contenue dans un registre de bo\^\i te \<registre> et -sans d\'eranger le contenu des registres. -|\unhbox| s'applique aux registres de bo\^\i te contenant -des hbox et |\unvbox| s'applique aux registres de bo\^\i te contenant des vbox. -\example -\setbox0=\hbox{The Mock Turtle sighed deeply, and -drew the back of one flapper across his eyes. } -\setbox1=\hbox{He tried to speak, but sobs choked his - voice. } -\unhcopy0 \unhcopy1\par\noindent -% \box0 \box1 would set two hboxes side by side -% (and produce a badly overfull line). -\box1 % Produces an hbox (which can't be broken). -| -\produces -\setbox0=\hbox{The Mock Turtle sighed deeply, and -drew the back of one flapper across his eyes. } -\setbox1=\hbox{He tried to speak, but sobs choked his - voice. } -\unhcopy0 \unhcopy1\par\noindent -% \hbox0 \hbox1 would set two hboxes side by side -% (and produce a badly overfull line). -\box1 % produces an hbox (which can't be broken) -\endexample -\enddesc - -\see |\wd|, |\dp|, |\ht| (\xref\ht). -\eix^^{registres de \boite} - -%========================================================================== -\subsection {D\'eplacer des bo\^\i tes} - -\begindesc -\cts moveleft {\<dimension> \<bo\^\i te>} -\cts moveright {\<dimension> \<bo\^\i te>} -\bix^^{\boites//d\'eplacement} -\minrefs{box} -\explain -Ces commandes d\'eplacent \<bo\^\i te> \`a gauche ou \`a droite de \<dimension> (qui peut \^etre -n\'egatif). Vous ne pouvez appliquer |\moveleft| et |\moveright| qu'\`a des bo\^\i tes -qui sont dans une \minref{liste verticale}. -\example -\vbox{\vbox{Phoebe}\vbox{walked}% -\moveleft 20pt\vbox{a}\moveright 20pt\vbox{crooked}% -\vbox{mile.}} -| -\produces -\hfuzz = \maxdimen -\vbox{\vbox{Phoebe}\vbox{walked}% -\moveleft 20pt\vbox{a}\moveright 20pt\vbox{crooked}% -\vbox{mile.}} -\endexample -\enddesc - -\begindesc -\cts lower {\<dimension> \<bo\^\i te>} -\cts raise {\<dimension> \<bo\^\i te>} -\explain -Ces commandes d\'eplacent \<bo\^\i te> en haut ou en bas de \<dimension> -(qui peut \^etre n\'egatif). -Vous ne pouvez appliquer |\moveleft| et |\moveright| qu'\`a des bo\^\i tes -qui sont dans une \minref{liste horizontale}. -\example -Are you feeling \lower 6pt \hbox{depressed} about the - \raise 6pt \hbox{bump} on your nose? -| -\produces -Are you feeling \lower 6pt \hbox{depressed} about the - \raise 6pt \hbox{bump} on your nose? -\endexample - -\eix^^{\boites//d\'eplacement} -\enddesc - -%========================================================================== -\subsection {Dimensions des registres de bo\^\i tes} - -\begindesc -\bix^^{registres de \boite} -\bix^^{dimensions//de registres de \boite} -\cts ht {\<registre>\param{dimension}} -\cts dp {\<registre>\param{dimension}} -\cts wd {\<registre>\param{dimension}} -\explain -Ces param\`etres font r\'ef\'erence \`a la ^{hauteur}, la ^{profondeur} et la ^{largeur} -respectivement du \minref{registre} de \minref{bo\^\i te} \<registre>. -Vous pouvez les utiliser pour conna\^\i tre les dimensions d'une bo\^\i te. -Vous pouvez aussi changer les dimensions d'une bo\^\i te, mais ce n'est pas une mince affaire~; -si vous voulez \^etre aventureux vous pouvez -apprendre tout sur cela dans les \ -{pages~388--389}{448--449}. -\example -\setbox0 = \vtop{\hbox{a}\hbox{beige}\hbox{bunny}}% -The box has width \the\wd0, height \the\ht0, -and depth \the\dp0. -| -\produces -\setbox0 = \vtop{\hbox{a}\hbox{beige}\hbox{bunny}}% -The box has width \the\wd0, height \the\ht0, -and depth \the\dp0. -\endexample -\eix^^{registres de \boite} -\eix^^{dimensions//de registres de \boite} -\enddesc - -%========================================================================== -\subsection {Struts, fantomes et bo\^\i tes vides} - -\begindesc -\margin{This subsection is a merger of two previous subsections. -The commands have also been reordered.} -\bix^^{struts} -\cts strut {} -\explain -Cette commande produit une bo\^\i te dont la largeur est \`a z\'ero -et dont la hauteur (|8.5pt|) et la profondeur (|3.5pt|) -sont celles d'une ligne de caract\`ere plus ou moins en |cmr10|, -la police par d\'efaut de \plainTeX. -Son utilisation principale est de forcer des lignes \`a avoir la m\^eme hauteur -quand vous avez d\'ebranch\'e le ressort inter-ligne de \TeX\ avec -|\offinter!-lineskip| ^^|\offinterlineskip| ou une commande similaire, -par exemple, quand vous construisez un alignement. -Si la hauteur naturelle d'une ligne est -trop petite, vous pouvez la ramener au standard en incluant un |\strut| -dans la ligne. Le strut forcera la hauteur et la profondeur de la ligne -\`a \^etre plus grande, mais il n'imprime rien ni ne consomme aucun espace -horizontal. - -Si vous mettez des caract\`eres d'une police qui est plus grande ou plus petite que |cmr10|, -vous devez red\'efinir |\strut| pour ce contexte. -\example -\noindent % So we're in horizontal mode. -\offinterlineskip % So we get the inherent spacing. -% The periods in this vbox are not vertically equidistant. -\vtop{\hbox{.}\hbox{.(}\hbox{.x} - \hbox{.\vrule height 4pt depth 0pt}}\qquad -% The periods in this vbox are vertically equidistant -% because of the struts. -\vtop{\hbox{.\strut}\hbox{.(\strut}\hbox{.x\strut} - \hbox{.\vrule height 4pt depth 0pt\strut}} -| -\produces -\noindent % So we're in horizontal mode. -\offinterlineskip % So we get the inherent spacing. -% The periods in this vbox are not vertically equidistant. -\vtop{\hbox{.}\hbox{.(}\hbox{.x} - \hbox{.\vrule height 4pt depth 0pt}}\qquad -% The periods in this vbox are vertically equidistant -% because of the struts. -\vtop{\hbox{.\strut}\hbox{.(\strut}\hbox{.x\strut} - \hbox{.\vrule height 4pt depth 0pt\strut}} -\endexample -\enddesc - -\begindesc -\cts mathstrut {} -\explain -Cette commande produit une formule fant\^ome dont la largeur est \`a z\'ero -et dont la largeur et la hauteur sont les m\^emes que celle d'une parenth\`ese gauche. -|\mathstrut| est en fait d\'efini comme `|\vphantom(|'. -Son utilisation principale est d'obtenir des radicaux, soulign\'es et surlign\'es align\'es -avec d'autres radicaux, soulign\'es et surlign\'es d'une formule. -C'est un peu comme ^|\strut| (\xref \strut), -sauf qu'il s'ajuste lui-m\^eme aux diff\'erents \minref{style}s -qui peuvent appara\^\i tre dans une formule math\'ematique. -\example -$$\displaylines{ -\overline{a_1a_2} \land \overline{b_1b_2} -\quad{\rm versus}\quad \overline{a_1a_2\mathstrut} - \land \overline{b_1b_2\mathstrut}\cr -\sqrt{\epsilon} + \sqrt{\xi} \quad{\rm versus}\quad -\sqrt{\epsilon\mathstrut} + \sqrt{\xi\mathstrut}\cr}$$ -| -\dproduces -\kern 4pt -$$\displaylines{ -\overline{a_1a_2} \land \overline{b_1b_2} -\quad{\rm versus}\quad \overline{a_1a_2\mathstrut} - \land \overline{b_1b_2\mathstrut}\cr -\sqrt{\epsilon} + \sqrt{\xi} \quad{\rm versus}\quad -\sqrt{\epsilon\mathstrut} + \sqrt{\xi\mathstrut}\cr}$$ -\endexample -\eix^^{struts} -\enddesc - -\begindesc -\cts phantom {\<argument>} -\explain -\bix^^{\boites//fant\^ome} -\bix^^{fant\^omes} -Cette commande produit une \minref{bo\^\i te} vide -ayant la m\^eme taille et placement -que \<argument> aurait s'il \'etait compos\'e. -Une utilisation de |\phantom| est de r\'eserver de l'espace pour un symbole qui pour certaines -raisons demande \`a \^etre dessin\'e \`a la main. -\example -$1\phantom{9}2$ -| -\produces -$1\phantom{9}2$ -\endexample -\enddesc - -\begindesc -\cts hphantom {\<argument>} -\cts vphantom {\<argument>} -\explain -Ces commandes produisent des bo\^\i tes\minrefs{bo\^\i te}\ fant\^ome qui -n'impriment rien~: -\ulist\compact -\li |\hphantom| produit une bo\^\i te avec la m\^eme largeur que \<argument> -mais de hauteur et profondeur z\'ero. -\li |\vphantom| produit une bo\^\i te avec les m\^emes hauteur et profondeur que \<argu\-ment> -mais de largeur z\'ero. -\endulist -\noindent -Leur usage principal est de forcer une sous-formule \`a avoir un dimension -horizontale ou verticale minimum. -\example -$$\left[\vphantom{u\over v}t\right] \star - \left[{u\over v}\right]\quad - \{\hphantom{xx}\}$$ -| -\dproduces -\kern 4pt -$$\left[\vphantom{u\over v}t\right] \star - \left[{u\over v}\right]\quad - \{\hphantom{xx}\}$$ -\endexample -\enddesc - -\begindesc -\cts smash {\<argument>} -\explain -Cette commande compose \<argument>, -mais force la hauteur et la profondeur de sa \minref{bo\^\i te} contenante \`a z\'ero. -Vous pouvez utiliser |\smash| et |\vphantom| en combinaison pour donner \`a une sous-formule -toutes hauteurs et profondeurs que vous d\'esirez. -\example -$${\smash{r_m \brace r_n}\vphantom{r}} \Longrightarrow r$$ -| -\dproduces -\kern 4pt -$${\smash{r_m \brace r_n}\vphantom{r}} \Longrightarrow r$$ -\endexample -\eix^^{\boites//fant\^ome} -\eix^^{fant\^omes} -\enddesc - -\begindesc -^^{\boites//vides} -\cts null {} -\explain -Cette commande produit une \minref{hbox} vide. -\example -\setbox0 = \null -The null box \null has width \the\wd0, height \the\ht0, -and depth \the\dp0. -| -\produces -\setbox0 = \null -The null box \null has width \the\wd0, height \the\ht0, -and depth \the\dp0. -\endexample -\enddesc - - -%========================================================================== -\subsection {Param\`etres faisant partie des bo\^\i tes mal form\'ees} - -\begindesc -\bix^^{\boites//overfull} -\bix^^{\boites//underfull} -\cts overfullrule {\param{dimension}} -\explain -Ce param\`etre sp\'ecifie la largeur du filet -que \TeX\ positionne pour un ``overfull \minref{hbox}''. -\PlainTeX\ le met \`a |5pt|. -\enddesc - -\begindesc -\cts hbadness {\param{nombre}} -\cts vbadness {\param{nombre}} -\explain -Ces param\`etres sp\'ecifient les seuils de \minref{badness} horizontal -et vertical pour rapporter des ``underfull'' ou ``overfull boxes'' -|\hbadness| s'applique aux hbox et |\vbadness| s'applique aux vbox. -Si la m\'ediocrit\'e d'une bo\^\i te construite d\'epasse le seuil, -\TeX\ reportera une erreur. Si vous augmentez les seuils -(les valeurs par d\'efaut de \plainTeX\ sont de $1000$), -\TeX\ sera moins amen\'e \`a se plaindre. -Notez que les valeurs de |\hbadness| et |\vbadness| n'ont pas d'effet sur -l'apparence de votre document compos\'e~; ils n'affectent que le message d'erreur -que vous obtenez. -Voir la \knuth{page~302}{353} pour une description pr\'ecise -sur comment \TeX\ d\'ecide quand se plaindre d'``overfull'' ou d'``underfull -box''. - -\margin{The material on tolerance was inappropriate here and has been -removed. A new example replaces it.} -\example -\hbadness = 10000 % Suppress any hbadness complaints. -\hbox to 2in{a b}\par -\hbadness = 500 % Report hbadness exceeding 500. -\hbox to 2in{a\hskip 0pt plus .5in b} -| -\logproduces -Underfull \hbox (badness 5091) detected at line 4 -\tenrm a b - -\hbox(6.94444+0.0)x144.54, glue set 3.70787 -.\tenrm a -.\glue 0.0 plus 36.135 -.\tenrm b -| -\endexample -\enddesc - -\begindesc -\cts badness {} -\explain -Cette commande donne la valeur num\'erique de la m\'ediocrit\'e de la \minref{bo\^\i te} -(aussi bien horizontale que verticale) que \TeX\ a le plus r\'ecemment produit. -Si la bo\^\i te \'etait ``overfull'', |\badness| sera de $1000000$~; dans tous les autres cas -il sera entre $0$ et $10000$. -\enddesc - -\begindesc -\cts hfuzz {\param{dimension}} -\cts vfuzz {\param{dimension}} -\explain -Ces param\`etres sp\'ecifient les valeurs dont une -\minref{bo\^\i te} peut d\'epasser sa taille naturelle avant que \TeX\ la consid\`ere comme -\'etant overfull. ^^{\boites//overfull} -|\hfuzz| s'applique aux hbox et |\vfuzz| s'applique aux vbox. -\PlainTeX\ met ces deux param\`etres \`a |0.1pt|. -\example -\hfuzz = .5in -\hbox to 2in{This box is longer than two inches.} -% No error results -| -\produces -\hfuzz = .5in -\hbox to 2in{This box is longer than two inches.} -% No error results -\doruler{\8\8\8}3{in} -\endexample - -\eix^^{\boites//overfull} -\eix^^{\boites//underfull} -\eix^^{commandes de \boites} -\enddesc - -\see |\tolerance| \ctsref{\tolerance}. -%========================================================================== -\section {Retrouver le dernier \'el\'ement d'une liste} - -\begindesc -^^{\boites//derni\`ere \boite\ dans une liste} -^^{cr\'enages//dernier cr\'enage dans une liste} -^^{p\'enalit\'es//derni\`ere p\'enalit\'e dans une liste} -^^{ressort//dernier \'el\'ement de ressort dans une liste} -\margin{This section has been moved in its entirety from the chapter -(`Commands for general operations')} -\cts lastkern {} -\cts lastskip {} -\cts lastpenalty {} -\cts lastbox {} -\explain -Ces s\'equences de contr\^ole donnent la valeur du dernier \'el\'ement de la liste -courante. Ce ne sont pas de vraies commandes parce qu'elles ne peuvent appara\^\i tre que -comme partie d'un argument. -Si le dernier \'el\'ement de la liste n'est pas du type indiqu\'e, -elles donnent une valeur z\'ero (ou une bo\^\i te vide, dans le cas de |\lastbox|). -Par exemple, -si le dernier \'el\'ement de la liste courante est un \minref{cr\'enage}, -|\lastkern| donne la dimension de ce cr\'enage~; si ce -n'est pas un cr\'enage, il donne une dimension de $0$. - -Utiliser |\lastbox| a l'effet suppl\'ementaire d'enlever la derni\`ere bo\^\i te de -la liste. -Si vous voulez que le |\last!-box| original reste dans la liste, vous -devez en ajouter une copie dans la liste. -|\last!-box| n'est pas permise dans une liste math\'ematique ou dans la liste -verticale~principale. - -Ces s\'equences de contr\^ole sont -plus utiles apr\`es des appels de macro qui peuvent avoir ins\'er\'e des entit\'es -du genre indiqu\'e. - -\example -\def\a{two\kern 15pt} -one \a\a\hskip 2\lastkern three\par -% Get three times as much space before `three'. -\def\a{\hbox{two}} -one \a -\setbox0 = \lastbox % Removes `two'. -three \box0. -| -\produces -\def\a{two\kern 15pt} -one \a\a\hskip 2\lastkern three\par -% get three times as much space before `three' -\def\a{\hbox{two}} -one \a -\setbox0 = \lastbox % removes `two' -three \box0. -\endexample -\enddesc - -\begindesc -\cts unkern {} -\cts unskip {} -\cts unpenalty {} -\explain -Si le dernier \'el\'ement de la liste courante est de type \minref{cr\'enage}, -\minref{ressort} ou \minref{p\'enalit\'e} respectivement, ces commandes l'enl\`event -de cette liste. Si l'\'el\'ement n'est pas du bon type, ces commandes n'ont -pas d'effet. Comme ^|\lastbox|, vous ne pouvez pas les appliquer \`a des listes en -mode math\'ema\-tique ou \`a la liste verticale principale. -Ces commandes -sont plus pratiques apr\`es un appel de macro connu pour avoir ins\'er\'e -un \'el\'ement sp\'ecifique que vous ne voulez pas ici. -\TeX\ ne procure pas de commande ^|\unbox| parce que |\lastbox| produit -\`a peu pr\`es le m\^eme effet. -\enddesc - - -%========================================================================== -\section {filets et r\`eglures} - -\begindesc -\bix^^{filets} -\bix^^{filets horizontaux} -\bix^^{filets verticaux} -% -\cts hrule {} -\aux\cts hrule {\bt height \<dimension> width \<dimension> depth \<dimension>} -\cts vrule {} -\aux\cts vrule {{\bt width \<dimension> height \<dimension> depth \<dimension>}} -\explain -La commande |\hrule| produit un filet horizontal. La commande |\vrule| -produit un filet vertical. Vous pouvez sp\'ecifier tout ou une partie des largeur, -hauteur et profondeur du filet---\TeX\ apporte des valeurs par d\'efaut pour celles -que vous omettez. Vous pouvez donner les dimensions du filet dans n'importe quel ordre~; -les formes list\'ees ci-dessus vous montrent simplement deux combinaisons possibles. Vous -pouvez m\^eme donner une dimension d'un type donn\'e plus d'une fois---si vous le faites, -la derni\`ere sera celle qui sera prise en compte. - -Si vous ne sp\'ecifiez pas la largeur d'un filet horizontal, le filet est -\'etendu horizontalement jusqu'aux limites de la \minref{bo\^\i te} ou de -l'\minref{alignement} le plus interne qui contient le filet. Si vous ne sp\'ecifiez pas -la hauteur d'un filet horizontal, elle sera par d\'efaut de |0.4pt|~; si vous ne -sp\'ecifiez pas la profondeur d'un filet horizontal, elle sera par d\'efaut de |0pt|. - -Si vous ne sp\'ecifiez pas la largeur d'un filet vertical, elle sera par d\'efaut de -|0.4pt|. Si vous ne sp\'ecifiez pas la hauteur d'un filet vertical, -le filet est \'etendu jusqu'aux limites de la \minref{bo\^\i te} ou de -l'\minref{alignement} le plus interne qui contient le filet. - -\TeX\ traite un filet horizontal comme un \'el\'ement naturellement vertical -et un filet vertical comme un \'el\'ement naturellement horizontal. -Donc un filet horizontal n'est l\'egal qu'en \minref{mode vertical}, -Tandis qu'un filet vertical n'est l\'egal qu'en \minref{mode horizontal}. -^^{mode horizontal//filets en} -^^{mode vertical//filets en} -Si cela semble surprenant, visualisez le---un filet horizontal va -de gauche \`a droite et s\'epare des \'el\'ements verticaux dans une s\'equence, tandis -qu'un filet vertical va de haut en bas et -s\'epare des \'el\'ements horizontaux dans une s\'equence. - -\example -\hrule\smallskip -\hrule width 2in \smallskip -\hrule width 3in height 2pt \smallskip -\hrule width 3in depth 2pt -| -\produces -\medskip -\hrule\smallskip -\hrule width 2in \smallskip -\hrule width 3in height 2pt \smallskip -\hrule width 3in depth 2pt -\nextexample -% Here you can see how the baseline relates to the -% height and depth of an \hrule. -\leftline{ - \vbox{\hrule width .6in height 5pt depth 0pt} - \vbox{\hrule width .6in height 0pt depth 8pt} - \vbox{\hrule width .6in height 5pt depth 8pt} - \vbox{\hbox{ baseline}\kern 3pt \hrule width .6in} -} -| -\produces -\medskip -\leftline{ - \vbox{\hrule width .6in height 5pt depth 0pt} - \vbox{\hrule width .6in height 0pt depth 8pt} - \vbox{\hrule width .6in height 5pt depth 8pt} - \vbox{\hbox{ baseline}\kern 3pt \hrule width .6in} -} -\nextexample -\hbox{( {\vrule} {\vrule width 8pt} )} -\hbox {( {\vrule height 13pt depth 0pt} - {\vrule height 13pt depth 7pt} x)} -% the parentheses define the height and depth of each of the -% two preceding boxes; the `x' sits on the baseline -| -\produces -\medskip -\hbox{( {\vrule} {\vrule width 8pt} )} -\hbox {( {\vrule height 13pt depth 0pt} - {\vrule height 13pt depth 7pt} x)} -\endexample - -\eix^^{filets} -\eix^^{filets horizontaux} -\eix^^{filets verticaux} -\enddesc - -\begindesc -\bix^^{r\`eglures} -\easy\cts leaders {\<bo\^\i te ou filet> \<commande de saut>} -\cts cleaders {\<bo\^\i te ou filet> \<commande de saut>} -\cts xleaders {\<bo\^\i te ou filet> \<commande de saut>} -\explain -Ces commandes produisent des \minref{r\'eglures}, c'est-\`a-dire, qu'elles remplissent un -espace horizontal ou vertical avec des -copies d'un motif \seeconcept{filets}. -La \<bo\^\i te> ou le \<filet> sp\'ecifie une r\'eglure, -c'est-\`a-dire, une seule copie du motif, -tandis que la \<commande de saut> sp\'ecifie une -fen\^etre devant \^etre remplie avec une -rang\'ee ou une colonne de r\'eglures. -Le motif est r\'ep\'et\'e autant de fois qu'il peut rentrer dans la fen\^etre. -Si \<commande de saut> est un saut horizontal, la fen\^etre -contient une rang\'ee de r\'eglures et \TeX\ doit \^etre en mode horizontal~; -si \<commande de saut> est un saut vertical, la fen\^etre -contient une colonne de r\'eglures et \TeX\ doit \^etre en mode vertical. - -Les commandes diff\`erent dans leur fa\c con d'arranger le motif r\'ep\'et\'e -et o\`u elles mettent l'espace restant~: - -\ulist\compact -\li Pour |\leaders|, \TeX\ aligne une rang\'ee de r\'eglures avec la limite gauche de -la \minref{bo\^\i te} $B$ la plus interne qui contient le r\'esultat de la -commande |\leaders|. -Elle aligne une colonne de r\'eglures avec le haut de $B$. -Ces r\'eglures qui tombent enti\`erement dans la fen\^etre sont gard\'ees. -Tout espace en plus en haut et en bas de la fen\^etre est laiss\'e vide. -\li Pour |\cleaders|, les r\'eglures sont centr\'ees dans la fen\^etre. -\li Pour |\xleaders| le motif est uniform\'ement distribu\'e \`a travers la fen\^etre. -Si l'espace en plus est $l$ et que la r\'eglure est r\'ep\'et\'ee $n$ fois, -\TeX\ met de l'espace de largeur ou hauteur $l/(n+1)$ entre des r\'eglures adjacentes et -aux deux bouts (gauche et droite ou haut et bas) des r\'eglures. -\endulist - -\example -\def\pattern{\hbox to 15pt{\hfil.\hfil}} -\line{Down the Rabbit-Hole {\leaders\pattern\hfil} 1} -\line{The Pool of Tears {\leaders\pattern\hfil} 9} -\line{A Caucus-Race and a Long Tale {\cleaders\pattern - \hfil} 19} -\line{Pig and Pepper {\xleaders\pattern\hfil} 27} -| -\produces -\def\pattern{\hbox to 15pt{\hfil.\hfil}}\par -\line{Down the Rabbit-Hole {\leaders\pattern\hfil} 1} -\line{The Pool of Tears {\leaders\pattern\hfil} 9} -\line{A Caucus-Race and a Long Tale {\cleaders\pattern - \hfil} 19} -\line{Pig and Pepper {\xleaders\pattern\hfil} 27} -\nextexample -\def\bulletfill{\vbox to 3ex{\vfil\hbox{$\bullet$}\vfil}}% -\def\mybox{\vbox to 1in} -\def\myrule{\hrule width 4pt}\hsize=2in -\hrule \line{% - \mybox{\myrule depth 8pt \leaders\bulletfill\vfill} - \hfil - \mybox{\myrule depth 15pt \leaders\bulletfill\vfill} - \hfil - \mybox{\myrule depth 18pt \cleaders\bulletfill\vfill} - \hfil - \mybox{\myrule depth 12pt \xleaders\bulletfill\vfill}% -}\hrule -| -\produces -\medskip -\def\bulletfill{\vbox to 3ex{\vfil\hbox{$\bullet$}\vfil}}% -\def\mybox{\vbox to 1in}\def\myrule{\hrule width 4pt}\hsize=2in -\hrule \line{% - \mybox{\myrule depth 8pt \leaders\bulletfill\vfill} - \hfil - \mybox{\myrule depth 15pt \leaders\bulletfill\vfill} - \hfil - \mybox{\myrule depth 18pt \cleaders\bulletfill\vfill} - \hfil - \mybox{\myrule depth 12pt \xleaders\bulletfill\vfill}% -}\hrule -\endexample\enddesc - -\begindesc -\cts dotfill {} -\cts hrulefill {} -\explain -^^{remplissage} -Ces commandes remplissent respectivement l'espace horizontal englob\'e avec -une rang\'ee de points sur la ligne de base et avec -une ligne horizontale sur la ligne de base. -C'est habituellement une bonne id\'ee de laisser un espace entre -|\dotfill| ou |\hrulefill| -et le texte qui la pr\'ec\`ede ou la suit (voir l'exemple ci-dessous). -\example -\hbox to 3in{Start {\dotfill} Finish} -\hbox to 3in{Swedish {\hrulefill} Finnish} -| -\produces -\par\hbox to 3in{Start {\dotfill} Finish} -\hbox to 3in{Swedish {\hrulefill} Finnish} -\endexample\enddesc - -\begindesc -\cts leftarrowfill {} -\cts rightarrowfill {} -\explain -^^{remplissage} -Ces commandes remplissent l'espace horizontal englob\'e avec -des ^{fl\`eches} point\'ees vers la gauche ou vers la droite. -\example -\hbox to 3in{\vrule \rightarrowfill \ 3 in - \leftarrowfill\vrule} -| -\produces -\medskip -\hbox to 3in{\vrule \rightarrowfill \ 3 in - \leftarrowfill\vrule} -\endexample - -\eix^^{r\`eglures} -\enddesc - -%========================================================================== -\section {Alignements} - -%========================================================================== -\subsection {Alignements tabul\'es} - -\begindesc -\bix^^{alignements tabul\'es} -\bix^^{alignements//commandes pour} -% -\ctspecial + {{\bt \<texte>\thinspace\&\thinspace\<texte>% - \thinspace\& $\cdots$ \\cr}} -\ctsxrdef{@plus} -\cts tabalign {} -\explain -Ces commandes d\'ebutent une simple ligne dans un \minref{alignement} tabul\'e . -La seule diff\'erence entre |\+| et |\tabalign| est que -|\+| est une macro outer ---vous ne pouvez pas l'utiliser quand \TeX\ lit des tokens \`a -haute vitesse \seeconcept{outer}. - -Si vous placez un `|&|' \`a une position -\`a droite de toute tabulation existante dans un alignement tabul\'e, -le `|&|' \'etablit une nouvelle tabulation \`a cette position. -\example -\cleartabs % Nullify any previous \settabs. -\+ {\bf if }$a[i] < a[i+1]$ &{\bf then}&\cr -\+&&$a[i] := a[i+1]$;\cr -\+&&{\it found }$:=$ {\bf true};\cr -\+&{\bf else}\cr -\+&&{\it found }$:=$ {\bf false};\cr -\+&{\bf end if};\cr -| -\produces -\cleartabs % Nullify any previous \settabs. -\+ {\bf if }$a[i] < a[i+1]$ &{\bf then}&\cr -\+&&$a[i] := a[i+1]$;\cr -\+&&{\it found }$:=$ {\bf true};\cr -\+&{\bf else}\cr -\+&&{\it found }$:=$ {\bf false};\cr -\+&{\bf end if};\cr -\endexample -\enddesc - -\begindesc -\cts settabs {\<nombre> {\bt \\columns}} -\aux\cts settabs {{\bt \\+} \<ligne d'exemple> {\bt \\cr}} -\explain -La premi\`ere forme de -cette commande d\'efinit un jeu de tabulations d'arr\^et ^^{tabulations} -pour un \minref{alignement} tabul\'e. -Elle demande \`a \TeX\ de mettre les tabulations d'arr\^et de mani\`ere \`a diviser chaque ligne en -\<nombre> parties \'egales. \TeX\ prend la longueur d'une ligne comme \'etant -|\hsize|, normalement. Vous pouvez rendre l'alignement plus \'etroit en diminuant -|\hsize|. -\margin{paragraph ``The tab settings $\ldots$'' moved to below.} -\example -{\hsize = 3in \settabs 3 \columns -\+$1$&one&first\cr -\+$2$&two&second\cr -\+$3$&three&third\cr} -| -\produces -{\hsize = 3in \settabs 3 \columns -\+$1$ & one & first\cr -\+$2$ & two & second\cr -\+$3$ & three & third\cr} - -\noindent\doruler{\8\8\8}3{in} -\smallskip -\endexample - -La seconde forme de cette commande d\'efinit des tabulations d'arr\^et en mettant les tabulations d'arr\^et -aux positions indiqu\'ees par les `|&| dans la ligne d'exemple. -La ligne d'exemple elle-m\^eme ne doit pas appara\^\i tre dans la sortie. Quand vous -utilisez cette forme vous devrez normalement mettre du mat\'eriel dans la ligne d'exemple qui sera -un peu plus large que le plus large mat\'eriel correspondant dans l'alignement, -de mani\`ere \`a produire de l'espace entre les colonnes. -C'est ce que nous avons fait dans -l'exemple ci-dessous. Le mat\'eriel suivant la derni\`ere tabulation -d'arr\^et est inutile, puisqu'il n'a pas besoin de positionner -quoi que ce soit \`a l'endroit o\`u le |\cr|~appara\^\i t. - -Les r\'eglages de tabulation \'etablies par |\settabs| restent actifs jusqu'\'a -une nouvelle commande |\settabs| ou la fin du groupe contenant |\set!-tabs|. Ceci est vrai pour -les deux formes de la commande. - -\example -% The first line establishes the template. -\settabs \+$1$\qquad & three\quad & seventh\cr -\+$1$&one&first\cr -\+$2$&two&second\cr -\+$3$&three&third\cr -| -\produces -\settabs \+$1$\qquad & three\quad & seventh\cr % the sample line -\+$1$&one&first\cr -\+$2$&two&second\cr -\+$3$&three&third\cr -\smallskip -\endexample -\enddesc - -\begindesc -
-\cts cleartabs {} -\explain -Cette commande efface toutes les tabulations \`a droite de la colonne courante. -Son utilisation principale est dans des applications telles que la composition de programme informatique -dans lesquels les positions de tabulation changent \`a chaque ligne. -\enddesc - -\see |\cr|, |\endline|, |\crcr| (\xref \endline). -\eix^^{alignements tabul\'es} - -%========================================================================== -\subsection {Alignement g\'en\'eraux} - -\begindesc -{\tighten -\cts halign {{\bt \rqbraces{\<pr\'eambule> \\cr \<rang> \\cr $\ldots$ \<rang> \\cr}}} - \xrdef{@and}\xrdef{@pound} -\aux\cts halign {{\bt to \<dimension>% - \rqbraces{\<pr\'eambule> \\cr \<rang> \\cr $\ldots$ \<rang> \\cr}}} -\aux\cts halign {{\bt spread \<dimension>% - \rqbraces{\<pr\'eambule> \\cr \<rang> \\cr $\ldots$ \<rang> \\cr}}} -\par} -\explain -Cette commande produit un \minref{alignement} horizontal constitu\'e d'une -suite de rang\'ees, o\`u chaque rang\'ee \`a son tour contient une suite -d'entr\'ee de colonne. \TeX\ ajuste les largeurs des entr\'ees de colonne -pour accommoder la plus large dans chaque colonne. - -Un alignement horizontal n'appara\^\i t que quand \TeX\ est dans un \minref{mode} -vertical. Nous vous recommandons d'apprendre les alignements en g\'en\'e\-ral -(\xref{alignement}) avant d'essayer d'utiliser la commande |\valign|. - -Un alignement consiste en un ^{pr\'eambule} -suivi par le texte \`a aligner. Le pr\'eambule, -qui d\'ecrit la forme des rang\'ees qui le suivent, consiste en une -suite de patrons de colonne, s\'epar\'es par `|&|' et termin\'e -par |\cr|. -\bix^^{patron} -\bix^^{entr\'ee (colonne ou rang\'ee)} -Chaque rang\'ee consiste en une suite d'entr\'ees -de ^{colonne}, s\'epar\'ees aussi par `|&|' et termin\'ees par |\cr|. Dans -un patron, `|#|' indique o\`u \TeX\ doit ins\'erer le -texte correspondant \`a l'entr\'ee de colonne. -Par contre, |\settabs| utilise un patron fixe implicite \`a `|#|', -c'est-\`a-dire, qu'il ins\`ere simplement le texte tel quel. - -\TeX\ compose chaque entr\'ee de colonne en mode horizontal restreint, -c'est-\`a-dire, comme le contenu d'une \minref{hbox}, -et englobe implicitement l'en\-tr\'ee dans un groupe. - -La forme |to| de cette commande demande \`a \TeX\ -d'\'etendre la largeur de l'alignement \`a \<dimension>, -en ajustant l'espace entre les colonnes. -La forme |spread| de cette commande demande \`a \TeX\ -d'agrandir l'alignement de \<dimension> par rapport \`a sa largeur naturelle. -Ces formes sont comme les formes correspondantes de |\hbox| \ctsref\hbox. - -Voir |\tabskip| \ctsref\tabskip{} pour un exemple d'utilisation de la -forme |to|. - -\example -\tabskip = 1em \halign{% - \hfil\it#\hfil&\hfil#\hfil&#&\hfil\$#\cr - United States&Washington&dollar&1.00\cr - France&Paris&franc&0.174\cr - Israel&Jerusalem&shekel&0.507\cr - Japan&Tokyo¥&0.0829\cr} -| -\produces -\tabskip = 1em \halign{% - \hfil\it#\hfil&\hfil#\hfil&#&\hfil\$#\cr - United States&Washington&dollar&1.00\cr - France&Paris&franc&0.174\cr - Israel&Jerusalem&shekel&0.507\cr - Japan&Tokyo¥&0.0829\cr} -\endexample -\enddesc -
-\begindesc -{\tighten -\cts valign {{\bt \rqbraces{\<pr\'eambule>\\cr \<colonne>\\cr $\ldots$ - \<colonne>\\cr}}} -\aux\cts valign {{\bt to \<dimension>% - \rqbraces{\<pr\'eambule>\\cr \<colonne>\\cr $\ldots$ \<colonne>\\cr}}} -\aux\cts valign {{\bt spread \<dimension>% - \rqbraces{\<pr\'eambule>\\cr \<col.>\\cr $\ldots$ \<col.>\\cr}}} -\par} -\explain -Cette commande produit un \minref{alignement} vertical -constitu\'e d'une -suite de colonnes, o\`u chaque colonne \`a son tour contient une suite -d'entr\'ees de rang\'ee. -\TeX\ ajuste les hauteurs des entr\'ees de rang\'ee pour accommoder la plus longue -dans chaque rang\'ee. - -Un alignement vertical -n'appara\^\i t que quand \TeX\ est dans un \minref{mode} horizontal. -Puisque les alignements verticaux sont (a)~conceptuellement assez difficiles et -(b)~peu souvent utilis\'es, nous vous recommandons d'ap\-prendre les -alignements en g\'en\'eral -(\xref{alignement}) et la commande |\halign| (voir ci-dessus) avant -d'essayer d'utiliser la commande |\valign|. - -Un alignement consiste en un ^{pr\'eambule} -suivi par le texte \`a aligner. Le pr\'eambule, -qui d\'ecrit la forme des colonnes qui le suivent, -consiste en une -suite de patrons de rang\'ee, s\'epar\'es par `|&|' et termin\'e -par |\cr|. -\bix^^{patron} -Chaque colonne consiste en une suite d'entr\'ee -de ^{rang\'ee}, s\'epar\'ees aussi par `|&|' et termin\'ees par |\cr|. Dans -un patron, `|#|' indique o\`u \TeX\ doit ins\'erer le -texte correspondant \`a l'entr\'ee de rang\'ee. - -\TeX\ compose chaque entr\'ee de rang\'ee en mode vertical -interne, c'est-\`a-dire, comme le contenu d'une \minref{vbox}, -et englobe implicitement l'entr\'ee dans un groupe. -Il donne toujours \`a la vbox une profondeur \`a z\'ero. -Tout texte ou autre mat\'eriel en mode horizontal dans une entr\'ee de rang\'ee met alors \TeX\ -en mode horizontal ordinaire. -C'est juste une application des r\`egles g\'en\'erales du fonctionnement de \TeX\ -en mode vertical interne. -Les param\`etres de paragraphage habituels s'appliquent dans ce cas~: -l'entr\'ee de rang\'ee a une indentation -initiale de |\parindent| (\xref\parindent) et -les \minref{ressorts} -|\leftskip| et |\rightskip| (\xref\leftskip) -s'appliquent \`a ses lignes. - -Notez en particulier qu'une entr\'ee de rang\'ee contenant du texte a -une largeur de |\hsize| (\xref\hsize). A moins que vous mettiez -|\hsize| \`a la largeur de rang\'ee que vous voulez, vous rencontrerez -vraisemblablement des ``overfull \minref{hbox}'' ou trouverez que -la premi\`ere colonne occupe la largeur de la page enti\`ere, ou les deux. -\eix^^{entr\'ee (colonne ou rang\'ee)} - -Normalement, vous devrez inclure un \minref{strut} -^^{struts//dans des alignements verticaux} -dans chaque -patron pour que les rang\'ees n'apparaissent pas comme un r\'esultat -des hauteurs variables des entr\'ees de l'alignement. Vous -pouvez produire un strut avec la commande |\strut|. - -La forme |to| de cette commande demande \`a \TeX\ -d'\'etendre l'extension verticale de l'alignement \`a \<dimension>, -en ajustant l'espace entre les rang\'ees. -La forme |spread| de cette commande demande \`a \TeX\ -d'agrandir l'alignement de \<dimension> par rapport \`a sa hauteur naturelle. -Ces formes sont comme les formes correspondantes de |\vbox| \ctsref\vbox. - -\example -{\hsize=1in \parindent=0pt -\valign{#\strut&#\strut&#\strut&#\strut\cr - bernaise&curry&hoisin&hollandaise\cr - ketchup&marinara&mayonnaise&mustard\cr - rarebit&tartar\cr}} -| -\produces -{\hsize=1in \parindent=0pt \leftskip=0pt -\valign{#\strut&#\strut&#\strut&#\strut\cr - bernaise&curry&hoisin&hollandaise\cr - ketchup&marinara&mayonnaise&mustard\cr - rarebit&tartar\cr}} -\nextexample -% same thing but without struts (shows why you need them) -{\hsize=1in \parindent=0pt -\valign{#&#&#&#\cr - bernaise&curry&hoisin&hollandaise\cr - ketchup&marinara&mayonnaise&mustard\cr - rarebit&tartar\cr}} -| -\produces -{\hsize=1in \parindent=0pt \leftskip=0pt -\valign{#&#&#&#\cr - bernaise&curry&hoisin&hollandaise\cr - ketchup&marinara&mayonnaise&mustard\cr - rarebit&tartar\cr}} -\endexample -\enddesc - -\begindesc -\cts ialign {} -\explain -Cette commande r\'eagit comme ^|\halign|, -sauf qu'elle met d'abord le ressort |\tabskip| \`a z\'ero et -met |\everycr| \`a vide. -\enddesc - -\begindesc -\cts cr {} -\explain -Cette commande termine le pr\'eambule d'un alignement horizontal ou -vertical, une rang\'ee d'un alignement horizontal ou tabul\'e, -ou une colonne d'un alignement vertical. -Vous pouvez demander \`a \TeX\ de faire certaines actions \`a chaque fois qu'il rencontre un |\cr| -en chargeant la valeur du param\`etre ^|\everycr| \ctsref\everycr. -\enddesc - -\begindesc -\cts endline {} -\explain -Cette commande est un synonyme de la commande ^|\cr|. Elle est utile quand -vous avez red\'efini |\cr| mais devez encore acc\'eder \`a sa d\'efinition originale. -\enddesc - -\begindesc -\cts crcr {} -\explain -Cette commande r\'eagit comme ^|\cr|, sauf que \TeX\ l'ignore si -elle arrive imm\'ediatement apr\`es un |\cr| ou un ^|\noalign|. -Sa principale application est comme mesure de s\'ecurit\'e pour \'eviter un message d'erreur ``misleading'' -caus\'e par une \minref{macro} qui attend un argument se terminant par |\cr|. -Si vous mettez |\crcr| apr\`es le `|#|$n$' qui d\'enote un tel argument -dans la d\'efinition de macro, la -macro marchera proprement, que l'argument se termine par |\cr| ou non. -\enddesc - -\begindesc -\cts omit {} -\explain -Cette commande demande \`a \TeX\ d'ignorer un patron dans un \minref{alignement} -horizontal ou vertical pendant le traitement d'une entr\'ee de colonne ou de rang\'ee particuli\`ere -respectivement. -|\omit| doit appara\^\i tre comme le premier \'el\'ement dans une entr\'ee de colonne ou de rang\'ee~; en effet, -il remplace le patron du pr\'eambule avec le simple -patron `|#|'. - - -\example -\tabskip = 2em\halign{% - \hfil\it#\hfil&\hfil#\hfil&#&\hfil\$#\cr - United States&Washington&dollar&1.00\cr - \omit \dotfill France\dotfill&Paris&franc&0.174\cr - Israel&Jerusalem&shekel&0.507\cr - Japan&Tokyo¥&0.0829\cr} -| -\produces -\tabskip = 2em\halign{% - \hfil\it#\hfil&\hfil#\hfil&#&\hfil\$#\cr - United States&Washington&dollar&1.00\cr - \omit \dotfill France\dotfill&Paris&franc&0.174\cr - Israel&Jerusalem&shekel&0.507\cr - Japan&Tokyo¥&0.0829\cr} -\nextexample -{\hsize=1.2in \parindent=0pt -\valign{(#)\strut&(#)\strut&(#)\strut&(#)\strut\cr - bernaise&curry&hoisin&hollandaise\cr - ketchup&\omit\strut{\bf MARINARA!!}&mayonnaise&mustard\cr
- rarebit&tartar\cr}} -| -\produces -{\hsize=1.2in \parindent=0pt \leftskip=0pt -\valign{(#)\strut&(#)\strut&(#)\strut&(#)\strut\cr - bernaise&curry&hoisin&hollandaise\cr - ketchup&\omit\strut{\bf MARINARA!}&mayonnaise&mustard\cr - rarebit&tartar\cr}} -\endexample -\enddesc - -\begindesc -\cts span {} -\explain -La signification de cette commande d\'epend suivant qu'elle appara\^\i t soit dans un pr\'eambule -soit dans une entr\'ee d'alignement. -\ulist -\li Normalement, \TeX\ ne d\'eveloppe pas de tokens dans le pr\'eambule -quand il le lit. -Mettre |\span| au d\'ebut d'un token dans le pr\'eambule rend -ce token d\'eveloppable imm\'ediatement selon les r\`egles usuelles de d\'eveloppement -de \minref{macro} de \TeX. -\li Mettre |\span| \`a la place de `|&|' entre deux entr\'ees de colonne ou de rang\'ee -rend ces colonnes ou rang\'ees combin\'ees. -Pour un alignement horizontal, -la largeur de la colonne combin\'ee est la somme des -largeurs des colonnes incluses. -Pour un alignement vertical, -la hauteur de la rang\'ee combin\'ee est la somme des -hauteurs des rang\'ees incluses. -Le patron des colonnes ou rang\'ees combin\'ees forme un seul groupe, -donc des commandes de chargement de police pr\'ec\'edant un |\span| affectent tout jusqu'au -prochain `|&|'. -\endulist -\noindent -|\span| est rarement utile d'elle-m\^eme en dehors d'un patron, -mais procure le m\'ecanisme de base -pour d\'efinir ^|\multispan|. -\enddesc - -\begindesc -\cts multispan {\<nombre>} -\explain -Cette commande demande \`a \TeX\ que les \<nombre> -colonnes suivantes d'une rang\'ee d'un alignement horizontal, -ou -que les \<nombre> rang\'ees dans une colonne d'un alignement vertical, -doivent \^etre combin\'ees en une seule colonne ou rang\'ee (comme avec -|\span|) et que leur patron doit \^etre omis (comme avec |\omit|). - -\example -\tabskip = 13pt\halign{% - \hfil\it#\hfil&\hfil#\hfil&#&\hfil\$#\cr - United States&Washington&dollar&1.00\cr - France&Paris&franc&0.174\cr - Israel&Jerusalem & - \multispan 2 \hfil\it(no information)\hfil \cr - Japan&Tokyo¥&0.0829\cr} -| -\produces -\tabskip = 13pt\halign{% - \hfil\it#\hfil&\hfil#\hfil&#&\hfil\$#\cr - United States&Washington&dollar&1.00\cr - France&Paris&franc&0.174\cr - Israel&Jerusalem & - \multispan 2 \hfil\it(no information)\hfil \cr - Japan&Tokyo¥&0.0829\cr} -\nextexample -{\hsize=1.2in \parindent=0pt -\valign{(#)\strut&(#)\strut&(#)\strut&(#)\strut\cr - bernaise&curry&hoisin&hollandaise\cr - \multispan 3$$\left\{{{\rm ketchup}\atop{\rm marinara}} - \right\}$$&mustard\cr - rarebit&tartar\cr}} -| -\produces -{\hsize=1.2in \parindent=0pt \leftskip=0pt -\valign{(#)\strut&(#)\strut&(#)\strut&(#)\strut\cr - bernaise&curry&hoisin&hollandaise\cr - \multispan 3$$\left\{{{\rm ketchup}\atop{\rm marinara}} - \right\}$$&mustard\cr - rarebit&tartar\cr}} -\endexample - -\eix^^{patron} -\enddesc - -\begindesc -\cts noalign {\rqbraces{\<mat\'eriel en mode vertical>}} -\aux\cts noalign {\rqbraces{\<mat\'eriel en mode horizontal>}} -\explain -Cette commande ins\`ere -\<mat\'eriel en mode vertical> -apr\`es la rang\'ee cou\-rante d'un \minref{alignement} horizontal ou -\<mat\'eriel en mode horizontal> apr\`es la colonne courante d'un \minref{alignement} -vertical. -Le mat\'eriel peut \^etre du texte, un ressort, un filet ou tout autre chose. - -L'utilisation la plus commune de |\noalign| -est de mettre de l'espace suppl\'ementaire apr\`es une rang\'ee ou une colonne. -Si vous voulez mettre de l'espace suppl\'ementaire apr\`es \emph{toutes\/} les rang\'ees d'un alignement -horizontal, utilisez ^|\openup| (\xref\openup). - -\example -\halign{% - \hfil\it#\hfil\tabskip=2em&\hfil#\hfil&#& - \hfil\$#\tabskip=0em\cr - % The \tabskip changes prevent the rule below - % from sticking out. - United States&Washington&dollar&1.00\cr - France&Paris&franc&0.174\cr - \noalign{\smallskip\hrule\smallskip} - Israel&Jerusalem&shekel&0.507\cr - Japan&Tokyo¥&0.0829\cr} -| -\produces -\halign{% - \hfil\it#\hfil\tabskip=2em&\hfil#\hfil&#& - \hfil\$#\tabskip=0em\cr - % The \tabskip changes prevent the rule below - % from sticking out. - United States&Washington&dollar&1.00\cr - France&Paris&franc&0.174\cr - \noalign{\smallskip\hrule\smallskip} - Israel&Jerusalem&shekel&0.507\cr - Japan&Tokyo¥&0.0829\cr} -\nextexample -{\hsize=1in \parindent=0pt -\valign{#\strut&#\strut&#\strut&#\strut\cr - \noalign{\vrule width 2pt\quad} - bernaise&curry&hoisin&hollandaise\cr - \noalign{\vrule width 2pt\quad} - ketchup&marinara&mayonnaise&mustard\cr - \noalign{\vrule width 2pt\quad} - rarebit&tartar\cr - \noalign{\vrule width 2pt\quad}}} -| -\produces -\medskip -{\hsize=1in \parindent=0pt -\valign{#\strut&#\strut&#\strut&#\strut\cr - \noalign{\vrule width 2pt\quad} - bernaise&curry&hoisin&hollandaise\cr - \noalign{\vrule width 2pt\quad} - ketchup&marinara&mayonnaise&mustard\cr - \noalign{\vrule width 2pt\quad} - rarebit&tartar\cr - \noalign{\vrule width 2pt\quad}}} -\endexample -\enddesc - -\begindesc -\cts tabskip {\param{ressort}} -\explain -Ce param\`etre sp\'ecifie le montant de ressort horizontal ou vertical -que \TeX\ met entre les -colonnes d'un alignement horizontal ou entre les -rang\'ees d'un alignement vertical. -\TeX\ met aussi le ressort |\tabskip| -\`a gauche de la premi\`ere colonne et \`a droite de la derni\`ere colonne -d'un alignement horizontal, -avant la premi\`ere rang\'ee -et apr\`es la derni\`ere rang\'ee d'un alignement vertical. -Vous pouvez changer |\tabskip| dans un patron---% -le changement affectera le ressort associ\'e avec tous les -|&| suivant aussi bien que le ressort apr\`es la derni\`ere rang\'ee ou colonne. -\example -\halign to 3.5in{% - \hfil\it#\tabskip = 2em plus 8pt - \hfil&\hfil#\hfil&#\tabskip = 1em - &\hfil\$#\tabskip = 0em\cr - United States&Washington&dollar&1.00\cr - France&Paris&franc&0.174\cr - Israel&Jerusalem&shekel&0.507\cr - Japan&Tokyo¥&0.0829\cr} -| -\produces -\halign to 3.5in{% - \hfil\it#\tabskip = 2em plus 8pt - \hfil&\hfil#\hfil&#\tabskip = 1em - &\hfil\$#\tabskip = 0em\cr - United States&Washington&dollar&1.00\cr - France&Paris&franc&0.174\cr - Israel&Jerusalem&shekel&0.507\cr - Japan&Tokyo¥&0.0829\cr} -\nextexample -{\hsize = 1in \parindent=0pt \tabskip=5pt -\valign{#\strut&#\strut\tabskip = 3pt - &#\strut&#\strut\cr - bernaise&curry&hoisin&hollandaise\cr - ketchup&marinara&mayonnaise&mustard\cr - rarebit&tartar\cr}} -| -\produces -{\hsize = 1in \parindent=0pt \tabskip=5pt -\valign{#\strut&#\strut\tabskip = 3pt - &#\strut&#\strut\cr - bernaise&curry&hoisin&hollandaise\cr - ketchup&marinara&mayonnaise&mustard\cr - rarebit&tartar\cr}} -\endexample -\enddesc - -\begindesc -\cts hidewidth {} -\explain -Cette commande demande \`a \TeX\ d'ignorer la largeur de l'entr\'ee de la colonne suivante dans un -alignement horizontal. C'est pratique quand vous avez une entr\'ee qui est plus longue -que la plupart des autres dans la m\^eme colonne -et que vous pr\'ef\'erez avoir cette entr\'ee sortant de la colonne plut\^ot -que rendre toutes les entr\'ees -de la colonne plus larges. Si le |\hidewidth| est \`a gauche de -l'entr\'ee, l'entr\'ee d\'ebordera \`a gauche~; si le |\hidewidth| est \`a -droite de l'entr\'ee, l'entr\'ee d\'ebordera \`a droite. -\example -\tabskip = 25pt\halign{% - \hfil\it#\hfil&\hfil#\hfil&#&\hfil\$#\cr - United States&\hidewidth Washington& - dollar&1.00\cr - France&Paris&franc&0.174\cr - Israel&Jerusalem&shekel&0.507\cr - Japan&Tokyo¥&0.0829\cr} -| -\produces -\tabskip = 25pt\halign{% - \hfil\it#\hfil&\hfil#\hfil&#&\hfil\$#\cr - United States&\hidewidth Washington& - dollar&1.00\cr - France&Paris&franc&0.174\cr - Israel&Jerusalem&shekel&0.507\cr - Japan&Tokyo¥&0.0829\cr} -\endexample -\enddesc - -\begindesc -\cts everycr {\param{liste de token}} -\explain -\TeX\ d\'eveloppe \<token list> \`a chaque fois qu'il ex\'ecute -un |\cr|---\`a la fin de chaque pr\'eambule, -\`a la fin de chaque rang\'ee d'un alignement horizontal -et \`a la fin de chaque colonne d'un alignement vertical. -La commande |\everycr| est d\'evelopp\'ee juste apr\`es le |\cr|. -Ainsi vous pouvez demander \`a \TeX\ -d'ex\'ecuter certaines commandes \`a la fin d'un pr\'eambule, d'une rang\'ee ou d'une colonne en -assignant une liste de commandes \`a |\everycr|. - -Les tokens |\everycr| ne doivent pas inclure d'autres commandes que |\no!-align|. -Ceci parce que -les tokens |\everycr| r\'eappara\^\i tront apr\`es le dernier -|\cr| de l'alignement. Une commande autre qu'un -|\noalign| fera penser \`a \TeX\ qu'il commence une nouvelle -rang\'ee ou colonne. -\TeX\ se plaindra d'un |\cr| manquant, ins\`erera -un |\cr|, ins\`erera les tokens |\everycr| \`a nouveau et r\'ep\`etera ces actions -ind\'efiniment. +However, the technique of putting running text into a
+vbox is very useful for placing that text where you
+want it on the page.}}
+|
+\produces
+\hbox{\hsize = 10pc \raggedright\parindent = 1em
+\vtop{In this example, we see how to use vboxes to
+produce the effect of double columns. Each vbox
+contains two paragraphs, typeset according to \TeX's
+usual rules except that it's ragged right.\par
+This isn't really the best way to get true double
+columns because the columns}
+\hskip 2pc
+\vtop{\noindent
+aren't balanced and we haven't done anything to choose
+the column break automatically or even to fix up the
+last line of the first column.\par
+However, the technique of putting running text into a
+vbox is very useful for placing that text where you
+want it on the page.}}
+\nextexample
+\hbox{\hsize = 1in \raggedright\parindent = 0pt
+\vtop to .75in{\hrule This box is .75in deep. \vfil\hrule}
+\qquad
+\vtop{\hrule This box is at its natural depth. \vfil\hrule}
+\qquad
+\vtop spread .2in{\hrule This box is .2in deeper than
+ its natural depth.\vfil\hrule}}
+|
+\produces
+\hbox{\hsize = 1in \raggedright\parindent=0pt
+\vtop to .75in{\hrule This box is .75in deep. \vfil\hrule}
+\qquad
+\vtop{\hrule This box is at its natural depth. \vfil\hrule}
+\qquad
+\vtop spread .2in{\hrule This box is .2in deeper than
+ its natural depth.\vfil\hrule}}
+\nextexample
+% See how \vbox lines up boxes at their bottoms
+% instead of at their tops.
+\hbox{\hsize = 1in \raggedright
+\vbox to .5in{\hrule This box is .5in deep.\vfil\hrule}
+\qquad
+\vbox to .75in{\hrule This box is .75in deep.\vfil\hrule}}
+|
+\produces
+\hbox{\hsize = 1in \raggedright
+\vbox to .5in{\hrule This box is .5in deep.\vfil\hrule}
+\qquad
+\vbox to .75in{\hrule This box is .75in deep.\vfil\hrule}}
+\vskip 16pt % to avoid running into the next command description
+\endexample
+\enddesc
+
+\begindesc
+\margin{Two commands interchanged here.}
+\cts boxmaxdepth {\param{dimension}}
+\explain
+Ce param\`etre contient une dimension $D$.
+\TeX\ ne construira pas une bo\^\i te dont la profondeur d\'epassera $D$.
+Si vous produisez une bo\^\i te dont la profondeur $d$ doit d\'epasser $D$,
+\TeX\ transf\`erera la
+profondeur exc\'edentaire dans la hauteur de la bo\^\i te, en abaissant en r\'ealit\'e le
+\minref{point de r\'ef\'erence} de la bo\^\i te de $d-D$.
+Si vous mettez |\boxmaxdepth| \`a z\'ero, \TeX\ alignera une rang\'ee de vbox
+de telle mani\`ere que leurs fronti\`eres du bas seront toutes sur la m\^eme ligne horizontale.
+\PlainTeX\ met |\boxmaxdepth| \`a |\maxdimen| \ctsref{\maxdimen},
+donc |\boxmaxdepth| n'affectera pas vos bo\^\i tes \`a moins que vous le changiez.
+\enddesc
+
+\begindesc
+\cts underbar {\<argument>}
+\explain
+Cette commande met \<argument> dans une \minref{hbox}
+et la souligne sans faire attention \`a tout ce que d\'epasse sous la
+\minref{ligne de base} de la bo\^\i te.
+\example
+\underbar{Why not learn \TeX?}
+|
+\produces
+\underbar{Why not learn \TeX?}
+\endexample
+\enddesc
+
+\begindesc
+\cts everyhbox {\param{liste de token}}
+\cts everyvbox {\param{liste de token}}
+\explain
+Ces param\`etres contiennent des liste de token que \TeX\ d\'eveloppe au d\'ebut de
+toutes \minref{hbox} ou \minref{vbox} qu'il construit.
+Tout \'el\'ement r\'esultant de l'expansion devient alors
+le d\'ebut de la liste d'\'el\'ements pour la bo\^\i te.
+Par d\'efaut, ces listes de token sont vides.
+\enddesc
+
+%==========================================================================
+\subsection {Remplir et r\'ecuperer le contenu de bo\^\i tes}
+
+\begindesc
+\bix^^{registres de \boite}
+%
+\cts setbox {\<registre>\thinspace{\bt =}\thinspace\<bo\^\i te>}
+\cts box {\<registre>}
+\explain
+^^{assignements//de \boites}
+Ces commandes remplissent et r\'ecup\`erent respectivement le contenu
+du registre de bo\^\i te
+dont le num\'ero est \<registre>.
+Notez que vous remplissez un registre de bo\^\i te d'une mani\`ere un peu diff\'erente de celle
+utilis\'ee pour les autres types de registres~: vous utilisez
+|\setbox|$\,n$~|=| plut\^ot que |\box|$\,n$~|=|.
+
+\emph{R\'ecup\'erer le contenu d'un registre de bo\^\i te
+avec ces commandes a l'effet secondaire d'enlever ce qu'il contient,
+donc le registre de bo\^\i te devient vide.} Si vous ne voulez pas que cela arrive,
+vous pouvez utiliser |\copy| (voir ci-dessous) pour r\'ecup\'erer le contenu.
+Vous devez utiliser |\box| de pr\'ef\'erence \`a |\copy|
+quand vous n'avez plus besoin du contenu d'un registre de bo\^\i te apr\`es l'avoir utilis\'e,
+de mani\`ere \`a ne pas augmenter la m\'emoire de \TeX\ en la remplissant avec des bo\^\i tes obsol\`etes.
+\example
+\setbox0 = \hbox{mushroom}
+\setbox1 = \vbox{\copy0\box0\box0}
+\box1
+|
+\produces
+\setbox0 = \hbox{mushroom}
+\setbox1 = \vbox{\copy0\box0\box0}
+\box1
+\endexample
+\enddesc
+
+\begindesc
+\cts copy {\<registre>}
+\explain
+^^{\boites//copie}\minrefs{box}
+Cette commande
+produit une copie d'un registre de bo\^\i te \<registre>.
+Cette commande est utile quand vous voulez r\'ecup\'erer le contenu d'un registre
+de bo\^\i te mais ne voulez pas en d\'etruire le contenu.
+(R\'ecup\'erer le contenu d'un registre avec ^|\box| rend le registre vide.)
+\example
+\setbox0 = \hbox{good }
+Have a \copy0 \box0 \box0 day!!
+|
+\produces
+\setbox0 = \hbox{good }
+Have a \copy0 \box0 \box0 day!
+\endexample
+\enddesc
+
+\begindesc
+\cts unhbox {\<registre>}
+\cts unvbox {\<registre>}
+^^{\boites//extraction de contenu de}
+\explain
+Ces commandes produisent la liste contenue dans un registre de bo\^\i te \<registre> et rend
+ce registre de bo\^\i te vide.
+|\unhbox| s'applique aux registres de bo\^\i te contenant
+des hbox et |\unvbox| s'applique aux registres de bo\^\i te contenant des vbox.
+Vous devez utiliser ces commandes en pr\'ef\'erence \`a |\unhcopy| et |\unvcopy|
+(voir ci-dessous)
+quand vous n'avez pas besoin de ce qu'il y a dans le registre de bo\^\i te apr\`es l'avoir utilis\'e,
+de mani\`ere \`a ne pas augmenter la m\'emoire de \TeX\ en la remplissant avec des bo\^\i tes obsol\`etes.
+\example
+\setbox0=\hbox{The Mock Turtle sighed deeply, and
+drew the back of one flapper across his eyes. }
+\setbox1=\hbox{He tried to speak, but sobs choked
+ his voice. }
+\unhbox0 \unhbox1
+% \box0 \box1 would set two hboxes side by side
+% (and produce a badly overfull line).
+\box1 % produces nothing
+|
+\produces
+\setbox0=\hbox{The Mock Turtle sighed deeply, and
+drew the back of one flapper across his eyes. }
+\setbox1=\hbox{He tried to speak, but sobs choked
+ his voice. }
+\unhbox0 \unhbox1
+% \hbox0 \hbox1 would set two hboxes side by side
+% (and produce a badly overfull line).
+\box1 % Produces nothing.
+\endexample
+\enddesc
+
+\begindesc
+\cts unhcopy {\<registre>}
+\cts unvcopy {\<registre>}
+^^{\boites//extraction du contenu de}
+^^{\boites//copie}\minrefs{box}
+\explain
+Ces commandes produisent la liste contenue dans un registre de bo\^\i te \<registre> et
+sans d\'eranger le contenu des registres.
+|\unhbox| s'applique aux registres de bo\^\i te contenant
+des hbox et |\unvbox| s'applique aux registres de bo\^\i te contenant des vbox.
+\example
+\setbox0=\hbox{The Mock Turtle sighed deeply, and
+drew the back of one flapper across his eyes. }
+\setbox1=\hbox{He tried to speak, but sobs choked his
+ voice. }
+\unhcopy0 \unhcopy1\par\noindent
+% \box0 \box1 would set two hboxes side by side
+% (and produce a badly overfull line).
+\box1 % Produces an hbox (which can't be broken).
+|
+\produces
+\setbox0=\hbox{The Mock Turtle sighed deeply, and
+drew the back of one flapper across his eyes. }
+\setbox1=\hbox{He tried to speak, but sobs choked his
+ voice. }
+\unhcopy0 \unhcopy1\par\noindent
+% \hbox0 \hbox1 would set two hboxes side by side
+% (and produce a badly overfull line).
+\box1 % produces an hbox (which can't be broken)
+\endexample
+\enddesc
+
+\see |\wd|, |\dp|, |\ht| (\xref\ht).
+\eix^^{registres de \boite}
+
+%==========================================================================
+\subsection {D\'eplacer des bo\^\i tes}
+
+\begindesc
+\cts moveleft {\<dimension> \<bo\^\i te>}
+\cts moveright {\<dimension> \<bo\^\i te>}
+\bix^^{\boites//d\'eplacement}
+\minrefs{box}
+\explain
+Ces commandes d\'eplacent \<bo\^\i te> \`a gauche ou \`a droite de \<dimension> (qui peut \^etre
+n\'egatif). Vous ne pouvez appliquer |\moveleft| et |\moveright| qu'\`a des bo\^\i tes
+qui sont dans une \minref{liste verticale}.
+\example
+\vbox{\vbox{Phoebe}\vbox{walked}%
+\moveleft 20pt\vbox{a}\moveright 20pt\vbox{crooked}%
+\vbox{mile.}}
+|
+\produces
+\hfuzz = \maxdimen
+\vbox{\vbox{Phoebe}\vbox{walked}%
+\moveleft 20pt\vbox{a}\moveright 20pt\vbox{crooked}%
+\vbox{mile.}}
+\endexample
+\enddesc
+
+\begindesc
+\cts lower {\<dimension> \<bo\^\i te>}
+\cts raise {\<dimension> \<bo\^\i te>}
+\explain
+Ces commandes d\'eplacent \<bo\^\i te> en haut ou en bas de \<dimension>
+(qui peut \^etre n\'egatif).
+Vous ne pouvez appliquer |\moveleft| et |\moveright| qu'\`a des bo\^\i tes
+qui sont dans une \minref{liste horizontale}.
+\example
+Are you feeling \lower 6pt \hbox{depressed} about the
+ \raise 6pt \hbox{bump} on your nose?
+|
+\produces
+Are you feeling \lower 6pt \hbox{depressed} about the
+ \raise 6pt \hbox{bump} on your nose?
+\endexample
+
+\eix^^{\boites//d\'eplacement}
+\enddesc
+
+%==========================================================================
+\subsection {Dimensions des registres de bo\^\i tes}
+
+\begindesc
+\bix^^{registres de \boite}
+\bix^^{dimensions//de registres de \boite}
+\cts ht {\<registre>\param{dimension}}
+\cts dp {\<registre>\param{dimension}}
+\cts wd {\<registre>\param{dimension}}
+\explain
+Ces param\`etres font r\'ef\'erence \`a la ^{hauteur}, la ^{profondeur} et la ^{largeur}
+respectivement du \minref{registre} de \minref{bo\^\i te} \<registre>.
+Vous pouvez les utiliser pour conna\^\i tre les dimensions d'une bo\^\i te.
+Vous pouvez aussi changer les dimensions d'une bo\^\i te, mais ce n'est pas une mince affaire~;
+si vous voulez \^etre aventureux vous pouvez
+apprendre tout sur cela dans les \
+{pages~388--389}{448--449}.
+\example
+\setbox0 = \vtop{\hbox{a}\hbox{beige}\hbox{bunny}}%
+The box has width \the\wd0, height \the\ht0,
+and depth \the\dp0.
+|
+\produces
+\setbox0 = \vtop{\hbox{a}\hbox{beige}\hbox{bunny}}%
+The box has width \the\wd0, height \the\ht0,
+and depth \the\dp0.
+\endexample
+\eix^^{registres de \boite}
+\eix^^{dimensions//de registres de \boite}
+\enddesc
+
+%==========================================================================
+\subsection {Struts, fantomes et bo\^\i tes vides}
+
+\begindesc
+\margin{This subsection is a merger of two previous subsections.
+The commands have also been reordered.}
+\bix^^{struts}
+\cts strut {}
+\explain
+Cette commande produit une bo\^\i te dont la largeur est \`a z\'ero
+et dont la hauteur (|8.5pt|) et la profondeur (|3.5pt|)
+sont celles d'une ligne de caract\`ere plus ou moins en |cmr10|,
+la police par d\'efaut de \plainTeX.
+Son utilisation principale est de forcer des lignes \`a avoir la m\^eme hauteur
+quand vous avez d\'ebranch\'e le ressort inter-ligne de \TeX\ avec
+|\offinter!-lineskip| ^^|\offinterlineskip| ou une commande similaire,
+par exemple, quand vous construisez un alignement.
+Si la hauteur naturelle d'une ligne est
+trop petite, vous pouvez la ramener au standard en incluant un |\strut|
+dans la ligne. Le strut forcera la hauteur et la profondeur de la ligne
+\`a \^etre plus grande, mais il n'imprime rien ni ne consomme aucun espace
+horizontal.
+
+Si vous mettez des caract\`eres d'une police qui est plus grande ou plus petite que |cmr10|,
+vous devez red\'efinir |\strut| pour ce contexte.
+\example
+\noindent % So we're in horizontal mode.
+\offinterlineskip % So we get the inherent spacing.
+% The periods in this vbox are not vertically equidistant.
+\vtop{\hbox{.}\hbox{.(}\hbox{.x}
+ \hbox{.\vrule height 4pt depth 0pt}}\qquad
+% The periods in this vbox are vertically equidistant
+% because of the struts.
+\vtop{\hbox{.\strut}\hbox{.(\strut}\hbox{.x\strut}
+ \hbox{.\vrule height 4pt depth 0pt\strut}}
+|
+\produces
+\noindent % So we're in horizontal mode.
+\offinterlineskip % So we get the inherent spacing.
+% The periods in this vbox are not vertically equidistant.
+\vtop{\hbox{.}\hbox{.(}\hbox{.x}
+ \hbox{.\vrule height 4pt depth 0pt}}\qquad
+% The periods in this vbox are vertically equidistant
+% because of the struts.
+\vtop{\hbox{.\strut}\hbox{.(\strut}\hbox{.x\strut}
+ \hbox{.\vrule height 4pt depth 0pt\strut}}
+\endexample
+\enddesc
+
+\begindesc
+\cts mathstrut {}
+\explain
+Cette commande produit une formule fant\^ome dont la largeur est \`a z\'ero
+et dont la largeur et la hauteur sont les m\^emes que celle d'une parenth\`ese gauche.
+|\mathstrut| est en fait d\'efini comme `|\vphantom(|'.
+Son utilisation principale est d'obtenir des radicaux, soulign\'es et surlign\'es align\'es
+avec d'autres radicaux, soulign\'es et surlign\'es d'une formule.
+C'est un peu comme ^|\strut| (\xref \strut),
+sauf qu'il s'ajuste lui-m\^eme aux diff\'erents \minref{style}s
+qui peuvent appara\^\i tre dans une formule math\'ematique.
+\example
+$$\displaylines{
+\overline{a_1a_2} \land \overline{b_1b_2}
+\quad{\rm versus}\quad \overline{a_1a_2\mathstrut}
+ \land \overline{b_1b_2\mathstrut}\cr
+\sqrt{\epsilon} + \sqrt{\xi} \quad{\rm versus}\quad
+\sqrt{\epsilon\mathstrut} + \sqrt{\xi\mathstrut}\cr}$$
+|
+\dproduces
+\kern 4pt
+$$\displaylines{
+\overline{a_1a_2} \land \overline{b_1b_2}
+\quad{\rm versus}\quad \overline{a_1a_2\mathstrut}
+ \land \overline{b_1b_2\mathstrut}\cr
+\sqrt{\epsilon} + \sqrt{\xi} \quad{\rm versus}\quad
+\sqrt{\epsilon\mathstrut} + \sqrt{\xi\mathstrut}\cr}$$
+\endexample
+\eix^^{struts}
+\enddesc
+
+\begindesc
+\cts phantom {\<argument>}
+\explain
+\bix^^{\boites//fant\^ome}
+\bix^^{fant\^omes}
+Cette commande produit une \minref{bo\^\i te} vide
+ayant la m\^eme taille et placement
+que \<argument> aurait s'il \'etait compos\'e.
+Une utilisation de |\phantom| est de r\'eserver de l'espace pour un symbole qui pour certaines
+raisons demande \`a \^etre dessin\'e \`a la main.
+\example
+$1\phantom{9}2$
+|
+\produces
+$1\phantom{9}2$
+\endexample
+\enddesc
+
+\begindesc
+\cts hphantom {\<argument>}
+\cts vphantom {\<argument>}
+\explain
+Ces commandes produisent des bo\^\i tes\minrefs{bo\^\i te}\ fant\^ome qui
+n'impriment rien~:
+\ulist\compact
+\li |\hphantom| produit une bo\^\i te avec la m\^eme largeur que \<argument>
+mais de hauteur et profondeur z\'ero.
+\li |\vphantom| produit une bo\^\i te avec les m\^emes hauteur et profondeur que \<argu\-ment>
+mais de largeur z\'ero.
+\endulist
+\noindent
+Leur usage principal est de forcer une sous-formule \`a avoir un dimension
+horizontale ou verticale minimum.
+\example
+$$\left[\vphantom{u\over v}t\right] \star
+ \left[{u\over v}\right]\quad
+ \{\hphantom{xx}\}$$
+|
+\dproduces
+\kern 4pt
+$$\left[\vphantom{u\over v}t\right] \star
+ \left[{u\over v}\right]\quad
+ \{\hphantom{xx}\}$$
+\endexample
+\enddesc
+
+\begindesc
+\cts smash {\<argument>}
+\explain
+Cette commande compose \<argument>,
+mais force la hauteur et la profondeur de sa \minref{bo\^\i te} contenante \`a z\'ero.
+Vous pouvez utiliser |\smash| et |\vphantom| en combinaison pour donner \`a une sous-formule
+toutes hauteurs et profondeurs que vous d\'esirez.
+\example
+$${\smash{r_m \brace r_n}\vphantom{r}} \Longrightarrow r$$
+|
+\dproduces
+\kern 4pt
+$${\smash{r_m \brace r_n}\vphantom{r}} \Longrightarrow r$$
+\endexample
+\eix^^{\boites//fant\^ome}
+\eix^^{fant\^omes}
+\enddesc
+
+\begindesc
+^^{\boites//vides}
+\cts null {}
+\explain
+Cette commande produit une \minref{hbox} vide.
+\example
+\setbox0 = \null
+The null box \null has width \the\wd0, height \the\ht0,
+and depth \the\dp0.
+|
+\produces
+\setbox0 = \null
+The null box \null has width \the\wd0, height \the\ht0,
+and depth \the\dp0.
+\endexample
+\enddesc
+
+
+%==========================================================================
+\subsection {Param\`etres faisant partie des bo\^\i tes mal form\'ees}
+
+\begindesc
+\bix^^{\boites//overfull}
+\bix^^{\boites//underfull}
+\cts overfullrule {\param{dimension}}
+\explain
+Ce param\`etre sp\'ecifie la largeur du filet
+que \TeX\ positionne pour un ``overfull \minref{hbox}''.
+\PlainTeX\ le met \`a |5pt|.
+\enddesc
+
+\begindesc
+\cts hbadness {\param{nombre}}
+\cts vbadness {\param{nombre}}
+\explain
+Ces param\`etres sp\'ecifient les seuils de \minref{badness} horizontal
+et vertical pour rapporter des ``underfull'' ou ``overfull boxes''
+|\hbadness| s'applique aux hbox et |\vbadness| s'applique aux vbox.
+Si la m\'ediocrit\'e d'une bo\^\i te construite d\'epasse le seuil,
+\TeX\ reportera une erreur. Si vous augmentez les seuils
+(les valeurs par d\'efaut de \plainTeX\ sont de $1000$),
+\TeX\ sera moins amen\'e \`a se plaindre.
+Notez que les valeurs de |\hbadness| et |\vbadness| n'ont pas d'effet sur
+l'apparence de votre document compos\'e~; ils n'affectent que le message d'erreur
+que vous obtenez.
+Voir la \knuth{page~302}{353} pour une description pr\'ecise
+sur comment \TeX\ d\'ecide quand se plaindre d'``overfull'' ou d'``underfull
+box''.
+
+\margin{The material on tolerance was inappropriate here and has been
+removed. A new example replaces it.}
+\example
+\hbadness = 10000 % Suppress any hbadness complaints.
+\hbox to 2in{a b}\par
+\hbadness = 500 % Report hbadness exceeding 500.
+\hbox to 2in{a\hskip 0pt plus .5in b}
+|
+\logproduces
+Underfull \hbox (badness 5091) detected at line 4
+\tenrm a b
+
+\hbox(6.94444+0.0)x144.54, glue set 3.70787
+.\tenrm a
+.\glue 0.0 plus 36.135
+.\tenrm b
+|
+\endexample
+\enddesc
+
+\begindesc
+\cts badness {}
+\explain
+Cette commande donne la valeur num\'erique de la m\'ediocrit\'e de la \minref{bo\^\i te}
+(aussi bien horizontale que verticale) que \TeX\ a le plus r\'ecemment produit.
+Si la bo\^\i te \'etait ``overfull'', |\badness| sera de $1000000$~; dans tous les autres cas
+il sera entre $0$ et $10000$.
+\enddesc
+
+\begindesc
+\cts hfuzz {\param{dimension}}
+\cts vfuzz {\param{dimension}}
+\explain
+Ces param\`etres sp\'ecifient les valeurs dont une
+\minref{bo\^\i te} peut d\'epasser sa taille naturelle avant que \TeX\ la consid\`ere comme
+\'etant overfull. ^^{\boites//overfull}
+|\hfuzz| s'applique aux hbox et |\vfuzz| s'applique aux vbox.
+\PlainTeX\ met ces deux param\`etres \`a |0.1pt|.
+\example
+\hfuzz = .5in
+\hbox to 2in{This box is longer than two inches.}
+% No error results
+|
+\produces
+\hfuzz = .5in
+\hbox to 2in{This box is longer than two inches.}
+% No error results
+\doruler{\8\8\8}3{in}
+\endexample
+
+\eix^^{\boites//overfull}
+\eix^^{\boites//underfull}
+\eix^^{commandes de \boites}
+\enddesc
+
+\see |\tolerance| \ctsref{\tolerance}.
+%==========================================================================
+\section {Retrouver le dernier \'el\'ement d'une liste}
+
+\begindesc
+^^{\boites//derni\`ere \boite\ dans une liste}
+^^{cr\'enages//dernier cr\'enage dans une liste}
+^^{p\'enalit\'es//derni\`ere p\'enalit\'e dans une liste}
+^^{ressort//dernier \'el\'ement de ressort dans une liste}
+\margin{This section has been moved in its entirety from the chapter
+(`Commands for general operations')}
+\cts lastkern {}
+\cts lastskip {}
+\cts lastpenalty {}
+\cts lastbox {}
+\explain
+Ces s\'equences de contr\^ole donnent la valeur du dernier \'el\'ement de la liste
+courante. Ce ne sont pas de vraies commandes parce qu'elles ne peuvent appara\^\i tre que
+comme partie d'un argument.
+Si le dernier \'el\'ement de la liste n'est pas du type indiqu\'e,
+elles donnent une valeur z\'ero (ou une bo\^\i te vide, dans le cas de |\lastbox|).
+Par exemple,
+si le dernier \'el\'ement de la liste courante est un \minref{cr\'enage},
+|\lastkern| donne la dimension de ce cr\'enage~; si ce
+n'est pas un cr\'enage, il donne une dimension de $0$.
+
+Utiliser |\lastbox| a l'effet suppl\'ementaire d'enlever la derni\`ere bo\^\i te de
+la liste.
+Si vous voulez que le |\last!-box| original reste dans la liste, vous
+devez en ajouter une copie dans la liste.
+|\last!-box| n'est pas permise dans une liste math\'ematique ou dans la liste
+verticale~principale.
+
+Ces s\'equences de contr\^ole sont
+plus utiles apr\`es des appels de macro qui peuvent avoir ins\'er\'e des entit\'es
+du genre indiqu\'e.
+
+\example
+\def\a{two\kern 15pt}
+one \a\a\hskip 2\lastkern three\par
+% Get three times as much space before `three'.
+\def\a{\hbox{two}}
+one \a
+\setbox0 = \lastbox % Removes `two'.
+three \box0.
+|
+\produces
+\def\a{two\kern 15pt}
+one \a\a\hskip 2\lastkern three\par
+% get three times as much space before `three'
+\def\a{\hbox{two}}
+one \a
+\setbox0 = \lastbox % removes `two'
+three \box0.
+\endexample
+\enddesc
+
+\begindesc
+\cts unkern {}
+\cts unskip {}
+\cts unpenalty {}
+\explain
+Si le dernier \'el\'ement de la liste courante est de type \minref{cr\'enage},
+\minref{ressort} ou \minref{p\'enalit\'e} respectivement, ces commandes l'enl\`event
+de cette liste. Si l'\'el\'ement n'est pas du bon type, ces commandes n'ont
+pas d'effet. Comme ^|\lastbox|, vous ne pouvez pas les appliquer \`a des listes en
+mode math\'ema\-tique ou \`a la liste verticale principale.
+Ces commandes
+sont plus pratiques apr\`es un appel de macro connu pour avoir ins\'er\'e
+un \'el\'ement sp\'ecifique que vous ne voulez pas ici.
+\TeX\ ne procure pas de commande ^|\unbox| parce que |\lastbox| produit
+\`a peu pr\`es le m\^eme effet.
+\enddesc
+
+
+%==========================================================================
+\section {filets et r\`eglures}
+
+\begindesc
+\bix^^{filets}
+\bix^^{filets horizontaux}
+\bix^^{filets verticaux}
+%
+\cts hrule {}
+\aux\cts hrule {\bt height \<dimension> width \<dimension> depth \<dimension>}
+\cts vrule {}
+\aux\cts vrule {{\bt width \<dimension> height \<dimension> depth \<dimension>}}
+\explain
+La commande |\hrule| produit un filet horizontal. La commande |\vrule|
+produit un filet vertical. Vous pouvez sp\'ecifier tout ou une partie des largeur,
+hauteur et profondeur du filet---\TeX\ apporte des valeurs par d\'efaut pour celles
+que vous omettez. Vous pouvez donner les dimensions du filet dans n'importe quel ordre~;
+les formes list\'ees ci-dessus vous montrent simplement deux combinaisons possibles. Vous
+pouvez m\^eme donner une dimension d'un type donn\'e plus d'une fois---si vous le faites,
+la derni\`ere sera celle qui sera prise en compte.
+
+Si vous ne sp\'ecifiez pas la largeur d'un filet horizontal, le filet est
+\'etendu horizontalement jusqu'aux limites de la \minref{bo\^\i te} ou de
+l'\minref{alignement} le plus interne qui contient le filet. Si vous ne sp\'ecifiez pas
+la hauteur d'un filet horizontal, elle sera par d\'efaut de |0.4pt|~; si vous ne
+sp\'ecifiez pas la profondeur d'un filet horizontal, elle sera par d\'efaut de |0pt|.
+
+Si vous ne sp\'ecifiez pas la largeur d'un filet vertical, elle sera par d\'efaut de
+|0.4pt|. Si vous ne sp\'ecifiez pas la hauteur d'un filet vertical,
+le filet est \'etendu jusqu'aux limites de la \minref{bo\^\i te} ou de
+l'\minref{alignement} le plus interne qui contient le filet.
+
+\TeX\ traite un filet horizontal comme un \'el\'ement naturellement vertical
+et un filet vertical comme un \'el\'ement naturellement horizontal.
+Donc un filet horizontal n'est l\'egal qu'en \minref{mode vertical},
+Tandis qu'un filet vertical n'est l\'egal qu'en \minref{mode horizontal}.
+^^{mode horizontal//filets en}
+^^{mode vertical//filets en}
+Si cela semble surprenant, visualisez le---un filet horizontal va
+de gauche \`a droite et s\'epare des \'el\'ements verticaux dans une s\'equence, tandis
+qu'un filet vertical va de haut en bas et
+s\'epare des \'el\'ements horizontaux dans une s\'equence.
+
+\example
+\hrule\smallskip
+\hrule width 2in \smallskip
+\hrule width 3in height 2pt \smallskip
+\hrule width 3in depth 2pt
+|
+\produces
+\medskip
+\hrule\smallskip
+\hrule width 2in \smallskip
+\hrule width 3in height 2pt \smallskip
+\hrule width 3in depth 2pt
+\nextexample
+% Here you can see how the baseline relates to the
+% height and depth of an \hrule.
+\leftline{
+ \vbox{\hrule width .6in height 5pt depth 0pt}
+ \vbox{\hrule width .6in height 0pt depth 8pt}
+ \vbox{\hrule width .6in height 5pt depth 8pt}
+ \vbox{\hbox{ baseline}\kern 3pt \hrule width .6in}
+}
+|
+\produces
+\medskip
+\leftline{
+ \vbox{\hrule width .6in height 5pt depth 0pt}
+ \vbox{\hrule width .6in height 0pt depth 8pt}
+ \vbox{\hrule width .6in height 5pt depth 8pt}
+ \vbox{\hbox{ baseline}\kern 3pt \hrule width .6in}
+}
+\nextexample
+\hbox{( {\vrule} {\vrule width 8pt} )}
+\hbox {( {\vrule height 13pt depth 0pt}
+ {\vrule height 13pt depth 7pt} x)}
+% the parentheses define the height and depth of each of the
+% two preceding boxes; the `x' sits on the baseline
+|
+\produces
+\medskip
+\hbox{( {\vrule} {\vrule width 8pt} )}
+\hbox {( {\vrule height 13pt depth 0pt}
+ {\vrule height 13pt depth 7pt} x)}
+\endexample
+
+\eix^^{filets}
+\eix^^{filets horizontaux}
+\eix^^{filets verticaux}
+\enddesc
+
+\begindesc
+\bix^^{r\`eglures}
+\easy\cts leaders {\<bo\^\i te ou filet> \<commande de saut>}
+\cts cleaders {\<bo\^\i te ou filet> \<commande de saut>}
+\cts xleaders {\<bo\^\i te ou filet> \<commande de saut>}
+\explain
+Ces commandes produisent des \minref{r\'eglures}, c'est-\`a-dire, qu'elles remplissent un
+espace horizontal ou vertical avec des
+copies d'un motif \seeconcept{filets}.
+La \<bo\^\i te> ou le \<filet> sp\'ecifie une r\'eglure,
+c'est-\`a-dire, une seule copie du motif,
+tandis que la \<commande de saut> sp\'ecifie une
+fen\^etre devant \^etre remplie avec une
+rang\'ee ou une colonne de r\'eglures.
+Le motif est r\'ep\'et\'e autant de fois qu'il peut rentrer dans la fen\^etre.
+Si \<commande de saut> est un saut horizontal, la fen\^etre
+contient une rang\'ee de r\'eglures et \TeX\ doit \^etre en mode horizontal~;
+si \<commande de saut> est un saut vertical, la fen\^etre
+contient une colonne de r\'eglures et \TeX\ doit \^etre en mode vertical.
+
+Les commandes diff\`erent dans leur fa\c con d'arranger le motif r\'ep\'et\'e
+et o\`u elles mettent l'espace restant~:
+
+\ulist\compact
+\li Pour |\leaders|, \TeX\ aligne une rang\'ee de r\'eglures avec la limite gauche de
+la \minref{bo\^\i te} $B$ la plus interne qui contient le r\'esultat de la
+commande |\leaders|.
+Elle aligne une colonne de r\'eglures avec le haut de $B$.
+Ces r\'eglures qui tombent enti\`erement dans la fen\^etre sont gard\'ees.
+Tout espace en plus en haut et en bas de la fen\^etre est laiss\'e vide.
+\li Pour |\cleaders|, les r\'eglures sont centr\'ees dans la fen\^etre.
+\li Pour |\xleaders| le motif est uniform\'ement distribu\'e \`a travers la fen\^etre.
+Si l'espace en plus est $l$ et que la r\'eglure est r\'ep\'et\'ee $n$ fois,
+\TeX\ met de l'espace de largeur ou hauteur $l/(n+1)$ entre des r\'eglures adjacentes et
+aux deux bouts (gauche et droite ou haut et bas) des r\'eglures.
+\endulist
+
+\example
+\def\pattern{\hbox to 15pt{\hfil.\hfil}}
+\line{Down the Rabbit-Hole {\leaders\pattern\hfil} 1}
+\line{The Pool of Tears {\leaders\pattern\hfil} 9}
+\line{A Caucus-Race and a Long Tale {\cleaders\pattern
+ \hfil} 19}
+\line{Pig and Pepper {\xleaders\pattern\hfil} 27}
+|
+\produces
+\def\pattern{\hbox to 15pt{\hfil.\hfil}}\par
+\line{Down the Rabbit-Hole {\leaders\pattern\hfil} 1}
+\line{The Pool of Tears {\leaders\pattern\hfil} 9}
+\line{A Caucus-Race and a Long Tale {\cleaders\pattern
+ \hfil} 19}
+\line{Pig and Pepper {\xleaders\pattern\hfil} 27}
+\nextexample
+\def\bulletfill{\vbox to 3ex{\vfil\hbox{$\bullet$}\vfil}}%
+\def\mybox{\vbox to 1in}
+\def\myrule{\hrule width 4pt}\hsize=2in
+\hrule \line{%
+ \mybox{\myrule depth 8pt \leaders\bulletfill\vfill}
+ \hfil
+ \mybox{\myrule depth 15pt \leaders\bulletfill\vfill}
+ \hfil
+ \mybox{\myrule depth 18pt \cleaders\bulletfill\vfill}
+ \hfil
+ \mybox{\myrule depth 12pt \xleaders\bulletfill\vfill}%
+}\hrule
+|
+\produces
+\medskip
+\def\bulletfill{\vbox to 3ex{\vfil\hbox{$\bullet$}\vfil}}%
+\def\mybox{\vbox to 1in}\def\myrule{\hrule width 4pt}\hsize=2in
+\hrule \line{%
+ \mybox{\myrule depth 8pt \leaders\bulletfill\vfill}
+ \hfil
+ \mybox{\myrule depth 15pt \leaders\bulletfill\vfill}
+ \hfil
+ \mybox{\myrule depth 18pt \cleaders\bulletfill\vfill}
+ \hfil
+ \mybox{\myrule depth 12pt \xleaders\bulletfill\vfill}%
+}\hrule
+\endexample\enddesc
+
+\begindesc
+\cts dotfill {}
+\cts hrulefill {}
+\explain
+^^{remplissage}
+Ces commandes remplissent respectivement l'espace horizontal englob\'e avec
+une rang\'ee de points sur la ligne de base et avec
+une ligne horizontale sur la ligne de base.
+C'est habituellement une bonne id\'ee de laisser un espace entre
+|\dotfill| ou |\hrulefill|
+et le texte qui la pr\'ec\`ede ou la suit (voir l'exemple ci-dessous).
+\example
+\hbox to 3in{Start {\dotfill} Finish}
+\hbox to 3in{Swedish {\hrulefill} Finnish}
+|
+\produces
+\par\hbox to 3in{Start {\dotfill} Finish}
+\hbox to 3in{Swedish {\hrulefill} Finnish}
+\endexample\enddesc
+
+\begindesc
+\cts leftarrowfill {}
+\cts rightarrowfill {}
+\explain
+^^{remplissage}
+Ces commandes remplissent l'espace horizontal englob\'e avec
+des ^{fl\`eches} point\'ees vers la gauche ou vers la droite.
+\example
+\hbox to 3in{\vrule \rightarrowfill \ 3 in
+ \leftarrowfill\vrule}
+|
+\produces
+\medskip
+\hbox to 3in{\vrule \rightarrowfill \ 3 in
+ \leftarrowfill\vrule}
+\endexample
+
+\eix^^{r\`eglures}
+\enddesc
+
+%==========================================================================
+\section {Alignements}
+
+%==========================================================================
+\subsection {Alignements tabul\'es}
+
+\begindesc
+\bix^^{alignements tabul\'es}
+\bix^^{alignements//commandes pour}
+%
+\ctspecial + {{\bt \<texte>\thinspace\&\thinspace\<texte>%
+ \thinspace\& $\cdots$ \\cr}}
+\ctsxrdef{@plus}
+\cts tabalign {}
+\explain
+Ces commandes d\'ebutent une simple ligne dans un \minref{alignement} tabul\'e .
+La seule diff\'erence entre |\+| et |\tabalign| est que
+|\+| est une macro outer ---vous ne pouvez pas l'utiliser quand \TeX\ lit des tokens \`a
+haute vitesse \seeconcept{outer}.
+
+Si vous placez un `|&|' \`a une position
+\`a droite de toute tabulation existante dans un alignement tabul\'e,
+le `|&|' \'etablit une nouvelle tabulation \`a cette position.
+\example
+\cleartabs % Nullify any previous \settabs.
+\+ {\bf if }$a[i] < a[i+1]$ &{\bf then}&\cr
+\+&&$a[i] := a[i+1]$;\cr
+\+&&{\it found }$:=$ {\bf true};\cr
+\+&{\bf else}\cr
+\+&&{\it found }$:=$ {\bf false};\cr
+\+&{\bf end if};\cr
+|
+\produces
+\cleartabs % Nullify any previous \settabs.
+\+ {\bf if }$a[i] < a[i+1]$ &{\bf then}&\cr
+\+&&$a[i] := a[i+1]$;\cr
+\+&&{\it found }$:=$ {\bf true};\cr
+\+&{\bf else}\cr
+\+&&{\it found }$:=$ {\bf false};\cr
+\+&{\bf end if};\cr
+\endexample
+\enddesc
+
+\begindesc
+\cts settabs {\<nombre> {\bt \\columns}}
+\aux\cts settabs {{\bt \\+} \<ligne d'exemple> {\bt \\cr}}
+\explain
+La premi\`ere forme de
+cette commande d\'efinit un jeu de tabulations d'arr\^et ^^{tabulations}
+pour un \minref{alignement} tabul\'e.
+Elle demande \`a \TeX\ de mettre les tabulations d'arr\^et de mani\`ere \`a diviser chaque ligne en
+\<nombre> parties \'egales. \TeX\ prend la longueur d'une ligne comme \'etant
+|\hsize|, normalement. Vous pouvez rendre l'alignement plus \'etroit en diminuant
+|\hsize|.
+\margin{paragraph ``The tab settings $\ldots$'' moved to below.}
\example
-\everycr={\noalign{\smallskip\hrule\smallskip}} -\halign{#\tabskip = 11pt&\hfil#\hfil&\hfil#\hfil - \tabskip = 0pt\cr - $1$&one&first\cr - $2$&two&second\cr - $3$&three&third\cr} -| -\produces -\medskip -\everycr={\noalign{\smallskip\hrule\smallskip}} -\halign{#\tabskip = 11pt&\hfil#\hfil&\hfil#\hfil - \tabskip = 0pt\cr - $1$&one&first\cr - $2$&two&second\cr - $3$&three&third\cr} -\endexample - -\eix^^{alignements//commandes pour} -\enddesc - -\enddescriptions - - -\endchapter -\byebye +{\hsize = 3in \settabs 3 \columns
+\+$1$&one&first\cr
+\+$2$&two&second\cr
+\+$3$&three&third\cr}
+|
+\produces
+{\hsize = 3in \settabs 3 \columns
+\+$1$ & one & first\cr
+\+$2$ & two & second\cr
+\+$3$ & three & third\cr}
+
+\noindent\doruler{\8\8\8}3{in}
+\smallskip
+\endexample
+
+La seconde forme de cette commande d\'efinit des tabulations d'arr\^et en mettant les tabulations d'arr\^et
+aux positions indiqu\'ees par les `|&| dans la ligne d'exemple.
+La ligne d'exemple elle-m\^eme ne doit pas appara\^\i tre dans la sortie. Quand vous
+utilisez cette forme vous devrez normalement mettre du mat\'eriel dans la ligne d'exemple qui sera
+un peu plus large que le plus large mat\'eriel correspondant dans l'alignement,
+de mani\`ere \`a produire de l'espace entre les colonnes.
+C'est ce que nous avons fait dans
+l'exemple ci-dessous. Le mat\'eriel suivant la derni\`ere tabulation
+d'arr\^et est inutile, puisqu'il n'a pas besoin de positionner
+quoi que ce soit \`a l'endroit o\`u le |\cr|~appara\^\i t.
+
+Les r\'eglages de tabulation \'etablies par |\settabs| restent actifs jusqu'\'a
+une nouvelle commande |\settabs| ou la fin du groupe contenant |\set!-tabs|. Ceci est vrai pour
+les deux formes de la commande.
+
+\example
+% The first line establishes the template.
+\settabs \+$1$\qquad & three\quad & seventh\cr
+\+$1$&one&first\cr
+\+$2$&two&second\cr
+\+$3$&three&third\cr
+|
+\produces
+\settabs \+$1$\qquad & three\quad & seventh\cr % the sample line
+\+$1$&one&first\cr
+\+$2$&two&second\cr
+\+$3$&three&third\cr
+\smallskip
+\endexample
+\enddesc
+
+\begindesc
+
+\cts cleartabs {}
+\explain
+Cette commande efface toutes les tabulations \`a droite de la colonne courante.
+Son utilisation principale est dans des applications telles que la composition de programme informatique
+dans lesquels les positions de tabulation changent \`a chaque ligne.
+\enddesc
+
+\see |\cr|, |\endline|, |\crcr| (\xref \endline).
+\eix^^{alignements tabul\'es}
+
+%==========================================================================
+\subsection {Alignement g\'en\'eraux}
+
+\begindesc
+{\tighten
+\cts halign {{\bt \rqbraces{\<pr\'eambule> \\cr \<rang> \\cr $\ldots$ \<rang> \\cr}}}
+ \xrdef{@and}\xrdef{@pound}
+\aux\cts halign {{\bt to \<dimension>%
+ \rqbraces{\<pr\'eambule> \\cr \<rang> \\cr $\ldots$ \<rang> \\cr}}}
+\aux\cts halign {{\bt spread \<dimension>%
+ \rqbraces{\<pr\'eambule> \\cr \<rang> \\cr $\ldots$ \<rang> \\cr}}}
+\par}
+\explain
+Cette commande produit un \minref{alignement} horizontal constitu\'e d'une
+suite de rang\'ees, o\`u chaque rang\'ee \`a son tour contient une suite
+d'entr\'ee de colonne. \TeX\ ajuste les largeurs des entr\'ees de colonne
+pour accommoder la plus large dans chaque colonne.
+
+Un alignement horizontal n'appara\^\i t que quand \TeX\ est dans un \minref{mode}
+vertical. Nous vous recommandons d'apprendre les alignements en g\'en\'e\-ral
+(\xref{alignement}) avant d'essayer d'utiliser la commande |\valign|.
+
+Un alignement consiste en un ^{pr\'eambule}
+suivi par le texte \`a aligner. Le pr\'eambule,
+qui d\'ecrit la forme des rang\'ees qui le suivent, consiste en une
+suite de patrons de colonne, s\'epar\'es par `|&|' et termin\'e
+par |\cr|.
+\bix^^{patron}
+\bix^^{entr\'ee (colonne ou rang\'ee)}
+Chaque rang\'ee consiste en une suite d'entr\'ees
+de ^{colonne}, s\'epar\'ees aussi par `|&|' et termin\'ees par |\cr|. Dans
+un patron, `|#|' indique o\`u \TeX\ doit ins\'erer le
+texte correspondant \`a l'entr\'ee de colonne.
+Par contre, |\settabs| utilise un patron fixe implicite \`a `|#|',
+c'est-\`a-dire, qu'il ins\`ere simplement le texte tel quel.
+
+\TeX\ compose chaque entr\'ee de colonne en mode horizontal restreint,
+c'est-\`a-dire, comme le contenu d'une \minref{hbox},
+et englobe implicitement l'en\-tr\'ee dans un groupe.
+
+La forme |to| de cette commande demande \`a \TeX\
+d'\'etendre la largeur de l'alignement \`a \<dimension>,
+en ajustant l'espace entre les colonnes.
+La forme |spread| de cette commande demande \`a \TeX\
+d'agrandir l'alignement de \<dimension> par rapport \`a sa largeur naturelle.
+Ces formes sont comme les formes correspondantes de |\hbox| \ctsref\hbox.
+
+Voir |\tabskip| \ctsref\tabskip{} pour un exemple d'utilisation de la
+forme |to|.
+
+\example
+\tabskip = 1em \halign{%
+ \hfil\it#\hfil&\hfil#\hfil&#&\hfil\$#\cr
+ United States&Washington&dollar&1.00\cr
+ France&Paris&franc&0.174\cr
+ Israel&Jerusalem&shekel&0.507\cr
+ Japan&Tokyo¥&0.0829\cr}
+|
+\produces
+\tabskip = 1em \halign{%
+ \hfil\it#\hfil&\hfil#\hfil&#&\hfil\$#\cr
+ United States&Washington&dollar&1.00\cr
+ France&Paris&franc&0.174\cr
+ Israel&Jerusalem&shekel&0.507\cr
+ Japan&Tokyo¥&0.0829\cr}
+\endexample
+\enddesc
+
+\begindesc
+{\tighten
+\cts valign {{\bt \rqbraces{\<pr\'eambule>\\cr \<colonne>\\cr $\ldots$
+ \<colonne>\\cr}}}
+\aux\cts valign {{\bt to \<dimension>%
+ \rqbraces{\<pr\'eambule>\\cr \<colonne>\\cr $\ldots$ \<colonne>\\cr}}}
+\aux\cts valign {{\bt spread \<dimension>%
+ \rqbraces{\<pr\'eambule>\\cr \<col.>\\cr $\ldots$ \<col.>\\cr}}}
+\par}
+\explain
+Cette commande produit un \minref{alignement} vertical
+constitu\'e d'une
+suite de colonnes, o\`u chaque colonne \`a son tour contient une suite
+d'entr\'ees de rang\'ee.
+\TeX\ ajuste les hauteurs des entr\'ees de rang\'ee pour accommoder la plus longue
+dans chaque rang\'ee.
+
+Un alignement vertical
+n'appara\^\i t que quand \TeX\ est dans un \minref{mode} horizontal.
+Puisque les alignements verticaux sont (a)~conceptuellement assez difficiles et
+(b)~peu souvent utilis\'es, nous vous recommandons d'ap\-prendre les
+alignements en g\'en\'eral
+(\xref{alignement}) et la commande |\halign| (voir ci-dessus) avant
+d'essayer d'utiliser la commande |\valign|.
+
+Un alignement consiste en un ^{pr\'eambule}
+suivi par le texte \`a aligner. Le pr\'eambule,
+qui d\'ecrit la forme des colonnes qui le suivent,
+consiste en une
+suite de patrons de rang\'ee, s\'epar\'es par `|&|' et termin\'e
+par |\cr|.
+\bix^^{patron}
+Chaque colonne consiste en une suite d'entr\'ee
+de ^{rang\'ee}, s\'epar\'ees aussi par `|&|' et termin\'ees par |\cr|. Dans
+un patron, `|#|' indique o\`u \TeX\ doit ins\'erer le
+texte correspondant \`a l'entr\'ee de rang\'ee.
+
+\TeX\ compose chaque entr\'ee de rang\'ee en mode vertical
+interne, c'est-\`a-dire, comme le contenu d'une \minref{vbox},
+et englobe implicitement l'entr\'ee dans un groupe.
+Il donne toujours \`a la vbox une profondeur \`a z\'ero.
+Tout texte ou autre mat\'eriel en mode horizontal dans une entr\'ee de rang\'ee met alors \TeX\
+en mode horizontal ordinaire.
+C'est juste une application des r\`egles g\'en\'erales du fonctionnement de \TeX\
+en mode vertical interne.
+Les param\`etres de paragraphage habituels s'appliquent dans ce cas~:
+l'entr\'ee de rang\'ee a une indentation
+initiale de |\parindent| (\xref\parindent) et
+les \minref{ressorts}
+|\leftskip| et |\rightskip| (\xref\leftskip)
+s'appliquent \`a ses lignes.
+
+Notez en particulier qu'une entr\'ee de rang\'ee contenant du texte a
+une largeur de |\hsize| (\xref\hsize). A moins que vous mettiez
+|\hsize| \`a la largeur de rang\'ee que vous voulez, vous rencontrerez
+vraisemblablement des ``overfull \minref{hbox}'' ou trouverez que
+la premi\`ere colonne occupe la largeur de la page enti\`ere, ou les deux.
+\eix^^{entr\'ee (colonne ou rang\'ee)}
+
+Normalement, vous devrez inclure un \minref{strut}
+^^{struts//dans des alignements verticaux}
+dans chaque
+patron pour que les rang\'ees n'apparaissent pas comme un r\'esultat
+des hauteurs variables des entr\'ees de l'alignement. Vous
+pouvez produire un strut avec la commande |\strut|.
+
+La forme |to| de cette commande demande \`a \TeX\
+d'\'etendre l'extension verticale de l'alignement \`a \<dimension>,
+en ajustant l'espace entre les rang\'ees.
+La forme |spread| de cette commande demande \`a \TeX\
+d'agrandir l'alignement de \<dimension> par rapport \`a sa hauteur naturelle.
+Ces formes sont comme les formes correspondantes de |\vbox| \ctsref\vbox.
+
+\example
+{\hsize=1in \parindent=0pt
+\valign{#\strut&#\strut&#\strut&#\strut\cr
+ bernaise&curry&hoisin&hollandaise\cr
+ ketchup&marinara&mayonnaise&mustard\cr
+ rarebit&tartar\cr}}
+|
+\produces
+{\hsize=1in \parindent=0pt \leftskip=0pt
+\valign{#\strut&#\strut&#\strut&#\strut\cr
+ bernaise&curry&hoisin&hollandaise\cr
+ ketchup&marinara&mayonnaise&mustard\cr
+ rarebit&tartar\cr}}
+\nextexample
+% same thing but without struts (shows why you need them)
+{\hsize=1in \parindent=0pt
+\valign{#&#&#&#\cr
+ bernaise&curry&hoisin&hollandaise\cr
+ ketchup&marinara&mayonnaise&mustard\cr
+ rarebit&tartar\cr}}
+|
+\produces
+{\hsize=1in \parindent=0pt \leftskip=0pt
+\valign{#&#&#&#\cr
+ bernaise&curry&hoisin&hollandaise\cr
+ ketchup&marinara&mayonnaise&mustard\cr
+ rarebit&tartar\cr}}
+\endexample
+\enddesc
+
+\begindesc
+\cts ialign {}
+\explain
+Cette commande r\'eagit comme ^|\halign|,
+sauf qu'elle met d'abord le ressort |\tabskip| \`a z\'ero et
+met |\everycr| \`a vide.
+\enddesc
+
+\begindesc
+\cts cr {}
+\explain
+Cette commande termine le pr\'eambule d'un alignement horizontal ou
+vertical, une rang\'ee d'un alignement horizontal ou tabul\'e,
+ou une colonne d'un alignement vertical.
+Vous pouvez demander \`a \TeX\ de faire certaines actions \`a chaque fois qu'il rencontre un |\cr|
+en chargeant la valeur du param\`etre ^|\everycr| \ctsref\everycr.
+\enddesc
+
+\begindesc
+\cts endline {}
+\explain
+Cette commande est un synonyme de la commande ^|\cr|. Elle est utile quand
+vous avez red\'efini |\cr| mais devez encore acc\'eder \`a sa d\'efinition originale.
+\enddesc
+
+\begindesc
+\cts crcr {}
+\explain
+Cette commande r\'eagit comme ^|\cr|, sauf que \TeX\ l'ignore si
+elle arrive imm\'ediatement apr\`es un |\cr| ou un ^|\noalign|.
+Sa principale application est comme mesure de s\'ecurit\'e pour \'eviter un message d'erreur ``misleading''
+caus\'e par une \minref{macro} qui attend un argument se terminant par |\cr|.
+Si vous mettez |\crcr| apr\`es le `|#|$n$' qui d\'enote un tel argument
+dans la d\'efinition de macro, la
+macro marchera proprement, que l'argument se termine par |\cr| ou non.
+\enddesc
+
+\begindesc
+\cts omit {}
+\explain
+Cette commande demande \`a \TeX\ d'ignorer un patron dans un \minref{alignement}
+horizontal ou vertical pendant le traitement d'une entr\'ee de colonne ou de rang\'ee particuli\`ere
+respectivement.
+|\omit| doit appara\^\i tre comme le premier \'el\'ement dans une entr\'ee de colonne ou de rang\'ee~; en effet,
+il remplace le patron du pr\'eambule avec le simple
+patron `|#|'.
+
+
+\example
+\tabskip = 2em\halign{%
+ \hfil\it#\hfil&\hfil#\hfil&#&\hfil\$#\cr
+ United States&Washington&dollar&1.00\cr
+ \omit \dotfill France\dotfill&Paris&franc&0.174\cr
+ Israel&Jerusalem&shekel&0.507\cr
+ Japan&Tokyo¥&0.0829\cr}
+|
+\produces
+\tabskip = 2em\halign{%
+ \hfil\it#\hfil&\hfil#\hfil&#&\hfil\$#\cr
+ United States&Washington&dollar&1.00\cr
+ \omit \dotfill France\dotfill&Paris&franc&0.174\cr
+ Israel&Jerusalem&shekel&0.507\cr
+ Japan&Tokyo¥&0.0829\cr}
+\nextexample
+{\hsize=1.2in \parindent=0pt
+\valign{(#)\strut&(#)\strut&(#)\strut&(#)\strut\cr
+ bernaise&curry&hoisin&hollandaise\cr
+ ketchup&\omit\strut{\bf MARINARA!!}&mayonnaise&mustard\cr
+ rarebit&tartar\cr}}
+|
+\produces
+{\hsize=1.2in \parindent=0pt \leftskip=0pt
+\valign{(#)\strut&(#)\strut&(#)\strut&(#)\strut\cr
+ bernaise&curry&hoisin&hollandaise\cr
+ ketchup&\omit\strut{\bf MARINARA!}&mayonnaise&mustard\cr
+ rarebit&tartar\cr}}
+\endexample
+\enddesc
+
+\begindesc
+\cts span {}
+\explain
+La signification de cette commande d\'epend suivant qu'elle appara\^\i t soit dans un pr\'eambule
+soit dans une entr\'ee d'alignement.
+\ulist
+\li Normalement, \TeX\ ne d\'eveloppe pas de tokens dans le pr\'eambule
+quand il le lit.
+Mettre |\span| au d\'ebut d'un token dans le pr\'eambule rend
+ce token d\'eveloppable imm\'ediatement selon les r\`egles usuelles de d\'eveloppement
+de \minref{macro} de \TeX.
+\li Mettre |\span| \`a la place de `|&|' entre deux entr\'ees de colonne ou de rang\'ee
+rend ces colonnes ou rang\'ees combin\'ees.
+Pour un alignement horizontal,
+la largeur de la colonne combin\'ee est la somme des
+largeurs des colonnes incluses.
+Pour un alignement vertical,
+la hauteur de la rang\'ee combin\'ee est la somme des
+hauteurs des rang\'ees incluses.
+Le patron des colonnes ou rang\'ees combin\'ees forme un seul groupe,
+donc des commandes de chargement de police pr\'ec\'edant un |\span| affectent tout jusqu'au
+prochain `|&|'.
+\endulist
+\noindent
+|\span| est rarement utile d'elle-m\^eme en dehors d'un patron,
+mais procure le m\'ecanisme de base
+pour d\'efinir ^|\multispan|.
+\enddesc
+
+\begindesc
+\cts multispan {\<nombre>}
+\explain
+Cette commande demande \`a \TeX\ que les \<nombre>
+colonnes suivantes d'une rang\'ee d'un alignement horizontal,
+ou
+que les \<nombre> rang\'ees dans une colonne d'un alignement vertical,
+doivent \^etre combin\'ees en une seule colonne ou rang\'ee (comme avec
+|\span|) et que leur patron doit \^etre omis (comme avec |\omit|).
+
+\example
+\tabskip = 13pt\halign{%
+ \hfil\it#\hfil&\hfil#\hfil&#&\hfil\$#\cr
+ United States&Washington&dollar&1.00\cr
+ France&Paris&franc&0.174\cr
+ Israel&Jerusalem &
+ \multispan 2 \hfil\it(no information)\hfil \cr
+ Japan&Tokyo¥&0.0829\cr}
+|
+\produces
+\tabskip = 13pt\halign{%
+ \hfil\it#\hfil&\hfil#\hfil&#&\hfil\$#\cr
+ United States&Washington&dollar&1.00\cr
+ France&Paris&franc&0.174\cr
+ Israel&Jerusalem &
+ \multispan 2 \hfil\it(no information)\hfil \cr
+ Japan&Tokyo¥&0.0829\cr}
+\nextexample
+{\hsize=1.2in \parindent=0pt
+\valign{(#)\strut&(#)\strut&(#)\strut&(#)\strut\cr
+ bernaise&curry&hoisin&hollandaise\cr
+ \multispan 3$$\left\{{{\rm ketchup}\atop{\rm marinara}}
+ \right\}$$&mustard\cr
+ rarebit&tartar\cr}}
+|
+\produces
+{\hsize=1.2in \parindent=0pt \leftskip=0pt
+\valign{(#)\strut&(#)\strut&(#)\strut&(#)\strut\cr
+ bernaise&curry&hoisin&hollandaise\cr
+ \multispan 3$$\left\{{{\rm ketchup}\atop{\rm marinara}}
+ \right\}$$&mustard\cr
+ rarebit&tartar\cr}}
+\endexample
+
+\eix^^{patron}
+\enddesc
+
+\begindesc
+\cts noalign {\rqbraces{\<mat\'eriel en mode vertical>}}
+\aux\cts noalign {\rqbraces{\<mat\'eriel en mode horizontal>}}
+\explain
+Cette commande ins\`ere
+\<mat\'eriel en mode vertical>
+apr\`es la rang\'ee cou\-rante d'un \minref{alignement} horizontal ou
+\<mat\'eriel en mode horizontal> apr\`es la colonne courante d'un \minref{alignement}
+vertical.
+Le mat\'eriel peut \^etre du texte, un ressort, un filet ou tout autre chose.
+
+L'utilisation la plus commune de |\noalign|
+est de mettre de l'espace suppl\'ementaire apr\`es une rang\'ee ou une colonne.
+Si vous voulez mettre de l'espace suppl\'ementaire apr\`es \emph{toutes\/} les rang\'ees d'un alignement
+horizontal, utilisez ^|\openup| (\xref\openup).
+
+\example
+\halign{%
+ \hfil\it#\hfil\tabskip=2em&\hfil#\hfil&#&
+ \hfil\$#\tabskip=0em\cr
+ % The \tabskip changes prevent the rule below
+ % from sticking out.
+ United States&Washington&dollar&1.00\cr
+ France&Paris&franc&0.174\cr
+ \noalign{\smallskip\hrule\smallskip}
+ Israel&Jerusalem&shekel&0.507\cr
+ Japan&Tokyo¥&0.0829\cr}
+|
+\produces
+\halign{%
+ \hfil\it#\hfil\tabskip=2em&\hfil#\hfil&#&
+ \hfil\$#\tabskip=0em\cr
+ % The \tabskip changes prevent the rule below
+ % from sticking out.
+ United States&Washington&dollar&1.00\cr
+ France&Paris&franc&0.174\cr
+ \noalign{\smallskip\hrule\smallskip}
+ Israel&Jerusalem&shekel&0.507\cr
+ Japan&Tokyo¥&0.0829\cr}
+\nextexample
+{\hsize=1in \parindent=0pt
+\valign{#\strut&#\strut&#\strut&#\strut\cr
+ \noalign{\vrule width 2pt\quad}
+ bernaise&curry&hoisin&hollandaise\cr
+ \noalign{\vrule width 2pt\quad}
+ ketchup&marinara&mayonnaise&mustard\cr
+ \noalign{\vrule width 2pt\quad}
+ rarebit&tartar\cr
+ \noalign{\vrule width 2pt\quad}}}
+|
+\produces
+\medskip
+{\hsize=1in \parindent=0pt
+\valign{#\strut&#\strut&#\strut&#\strut\cr
+ \noalign{\vrule width 2pt\quad}
+ bernaise&curry&hoisin&hollandaise\cr
+ \noalign{\vrule width 2pt\quad}
+ ketchup&marinara&mayonnaise&mustard\cr
+ \noalign{\vrule width 2pt\quad}
+ rarebit&tartar\cr
+ \noalign{\vrule width 2pt\quad}}}
+\endexample
+\enddesc
+
+\begindesc
+\cts tabskip {\param{ressort}}
+\explain
+Ce param\`etre sp\'ecifie le montant de ressort horizontal ou vertical
+que \TeX\ met entre les
+colonnes d'un alignement horizontal ou entre les
+rang\'ees d'un alignement vertical.
+\TeX\ met aussi le ressort |\tabskip|
+\`a gauche de la premi\`ere colonne et \`a droite de la derni\`ere colonne
+d'un alignement horizontal,
+avant la premi\`ere rang\'ee
+et apr\`es la derni\`ere rang\'ee d'un alignement vertical.
+Vous pouvez changer |\tabskip| dans un patron---%
+le changement affectera le ressort associ\'e avec tous les
+|&| suivant aussi bien que le ressort apr\`es la derni\`ere rang\'ee ou colonne.
+\example
+\halign to 3.5in{%
+ \hfil\it#\tabskip = 2em plus 8pt
+ \hfil&\hfil#\hfil&#\tabskip = 1em
+ &\hfil\$#\tabskip = 0em\cr
+ United States&Washington&dollar&1.00\cr
+ France&Paris&franc&0.174\cr
+ Israel&Jerusalem&shekel&0.507\cr
+ Japan&Tokyo¥&0.0829\cr}
+|
+\produces
+\halign to 3.5in{%
+ \hfil\it#\tabskip = 2em plus 8pt
+ \hfil&\hfil#\hfil&#\tabskip = 1em
+ &\hfil\$#\tabskip = 0em\cr
+ United States&Washington&dollar&1.00\cr
+ France&Paris&franc&0.174\cr
+ Israel&Jerusalem&shekel&0.507\cr
+ Japan&Tokyo¥&0.0829\cr}
+\nextexample
+{\hsize = 1in \parindent=0pt \tabskip=5pt
+\valign{#\strut&#\strut\tabskip = 3pt
+ &#\strut&#\strut\cr
+ bernaise&curry&hoisin&hollandaise\cr
+ ketchup&marinara&mayonnaise&mustard\cr
+ rarebit&tartar\cr}}
+|
+\produces
+{\hsize = 1in \parindent=0pt \tabskip=5pt
+\valign{#\strut&#\strut\tabskip = 3pt
+ &#\strut&#\strut\cr
+ bernaise&curry&hoisin&hollandaise\cr
+ ketchup&marinara&mayonnaise&mustard\cr
+ rarebit&tartar\cr}}
+\endexample
+\enddesc
+
+\begindesc
+\cts hidewidth {}
+\explain
+Cette commande demande \`a \TeX\ d'ignorer la largeur de l'entr\'ee de la colonne suivante dans un
+alignement horizontal. C'est pratique quand vous avez une entr\'ee qui est plus longue
+que la plupart des autres dans la m\^eme colonne
+et que vous pr\'ef\'erez avoir cette entr\'ee sortant de la colonne plut\^ot
+que rendre toutes les entr\'ees
+de la colonne plus larges. Si le |\hidewidth| est \`a gauche de
+l'entr\'ee, l'entr\'ee d\'ebordera \`a gauche~; si le |\hidewidth| est \`a
+droite de l'entr\'ee, l'entr\'ee d\'ebordera \`a droite.
+\example
+\tabskip = 25pt\halign{%
+ \hfil\it#\hfil&\hfil#\hfil&#&\hfil\$#\cr
+ United States&\hidewidth Washington&
+ dollar&1.00\cr
+ France&Paris&franc&0.174\cr
+ Israel&Jerusalem&shekel&0.507\cr
+ Japan&Tokyo¥&0.0829\cr}
+|
+\produces
+\tabskip = 25pt\halign{%
+ \hfil\it#\hfil&\hfil#\hfil&#&\hfil\$#\cr
+ United States&\hidewidth Washington&
+ dollar&1.00\cr
+ France&Paris&franc&0.174\cr
+ Israel&Jerusalem&shekel&0.507\cr
+ Japan&Tokyo¥&0.0829\cr}
+\endexample
+\enddesc
+
+\begindesc
+\cts everycr {\param{liste de token}}
+\explain
+\TeX\ d\'eveloppe \<token list> \`a chaque fois qu'il ex\'ecute
+un |\cr|---\`a la fin de chaque pr\'eambule,
+\`a la fin de chaque rang\'ee d'un alignement horizontal
+et \`a la fin de chaque colonne d'un alignement vertical.
+La commande |\everycr| est d\'evelopp\'ee juste apr\`es le |\cr|.
+Ainsi vous pouvez demander \`a \TeX\
+d'ex\'ecuter certaines commandes \`a la fin d'un pr\'eambule, d'une rang\'ee ou d'une colonne en
+assignant une liste de commandes \`a |\everycr|.
+
+Les tokens |\everycr| ne doivent pas inclure d'autres commandes que |\no!-align|.
+Ceci parce que
+les tokens |\everycr| r\'eappara\^\i tront apr\`es le dernier
+|\cr| de l'alignement. Une commande autre qu'un
+|\noalign| fera penser \`a \TeX\ qu'il commence une nouvelle
+rang\'ee ou colonne.
+\TeX\ se plaindra d'un |\cr| manquant, ins\`erera
+un |\cr|, ins\`erera les tokens |\everycr| \`a nouveau et r\'ep\`etera ces actions
+ind\'efiniment.
+\example
+\everycr={\noalign{\smallskip\hrule\smallskip}}
+\halign{#\tabskip = 11pt&\hfil#\hfil&\hfil#\hfil
+ \tabskip = 0pt\cr
+ $1$&one&first\cr
+ $2$&two&second\cr
+ $3$&three&third\cr}
+|
+\produces
+\medskip
+\everycr={\noalign{\smallskip\hrule\smallskip}}
+\halign{#\tabskip = 11pt&\hfil#\hfil&\hfil#\hfil
+ \tabskip = 0pt\cr
+ $1$&one&first\cr
+ $2$&two&second\cr
+ $3$&three&third\cr}
+\endexample
+
+\eix^^{alignements//commandes pour}
+\enddesc
+
+\enddescriptions
+
+
+\endchapter
+\byebye
diff --git a/Master/texmf-doc/doc/french/impatient-fr/fparas.tex b/Master/texmf-doc/doc/french/impatient-fr/fparas.tex index e1648a2eb31..45557c56aef 100644 --- a/Master/texmf-doc/doc/french/impatient-fr/fparas.tex +++ b/Master/texmf-doc/doc/french/impatient-fr/fparas.tex @@ -1,2152 +1,2152 @@ -% This is part of the book TeX for the Impatient. -% Copyright (C) 2003 Paul W. Abrahams, Kathryn A. Hargreaves, Karl Berry. -% Copyright (C) 2004 Marc Chaudemanche pour la traduction française. -% See file fdl.tex for copying conditions. - -\input fmacros -\chapter {Commandes \linebreak pour composer \linebreak des paragraphes} - -\chapterdef{paras} - -Cette section couvre les commandes qui traitent des caract\`eres, des mots, des -lignes et des paragraphes entiers. Pour une explication des conventions -utilis\'ees dans cette section, voir les \headcit{Descriptions de -commandes}{cmddesc}. - -\begindescriptions - -\section {Caract\`eres et accents} - -%========================================================================== -\subsection {Lettres et ligatures pour alphabets Europ\'eens} - -\begindesc -\xrdef{fornlets} -\bix^^{ligatures} -^^{symboles sp\'eciaux} -^^{alphabets europ\'eens} -% -\ctsx AA {Lettre scandinave \AA} -\ctsx aa {Lettre scandinave \aa} -\ctsx AE {Ligature \AE} -\ctsx ae {Ligature \ae} -\ctsx L {Lettre Polonaise \L} -\ctsx l {Lettre Polonaise \l} -\ctsx O {Lettre Danoise/Norv\'egienne \O} -\ctsx o {Lettre Danoise/Norv\'egienne \o} -\ctsx OE {Ligature \OE} -\ctsx oe {Ligature \oe} -\ctsx ss {Lettre Allemande \ss} -\explain -Ces commandes produisent diverses lettres et ligatures des alphabets -europ\'eens. Elles sont utiles pour des mots et expressions occasionnels -dans ces langues---mais si vous devez composer une grande quantit\'e de -texte dans une langue europ\'eenne, vous feriez probablement mieux -d'utiliser une version de \TeX\ adapt\'ee \`a cette langue.\footnote{Le \TeX\ -Users Group (\xref{ressources}) peut vous fournir des informations sur les -versions europ\'eennes de \TeX.} - -Vous aurez besoin d'un espace apr\`es ces commandes quand vous les -utiliserez dans un mot pour que \TeX\ traite les lettres suivantes comme -\'el\'ement du mot et non en tant qu'\'el\'ement de la commande. Vous -n'avez pas besoin d'\^etre en \minref{mode math\'ematique} pour utiliser -ces commandes. - -\example -{\it les \oe uvres de Moli\`ere} -| -\produces -{\it les \oe uvres de Moli\`ere} -\endexample -\eix^^{ligatures} -\enddesc - -%========================================================================== -\subsection {Symboles sp\'eciaux} - -\begindesc -^^{caract\`eres sp\'eciaux} -% -\easy\ctspecialx # \ctsxrdef{@pound} {signe di\`ese \#} -\ctspecialx $ \ctsxrdef{@bucks} {signe dollar \$} -\ctspecialx % \ctsxrdef{@percent} {signe pourcentage \%} -\ctspecialx & \ctsxrdef{@and} {esperluette \&} -\ctspecialx _ \ctsxrdef{@underscore} {soulign\'e \_} -\ctsx lq {quote gauche \lq} -\ctsx rq {quote droite \rq} -\aux\ctsx lbrack crochet gauche [ -\aux\ctsx rbrack crochet droit ] -\ctsx dag {symbole dague \dag} -\ctsx ddag {symbole double dague \ddag} -\ctsx copyright {symbole copyright \copyright} -\ctsx P {symbole paragraphe \P} -\ctsx S {symbole section \S} -\explain - -Ces commandes produisent diverses marques et caract\`eres sp\'eciaux. Les -cinq premi\`eres commandes sont n\'ecessaires parce que \TeX\ attache par -d\'efaut des significations sp\'eciales aux caract\`eres (|#|, |$|, |%|, -|&|, |_|). vous n'avez pas besoin d'\^etre en \minref{mode math\'ematique} -pour employer ces commandes. - -Vous pouvez utiliser le signe dollar de la police Computer Modern italique -pour obtenir le symbole ^{livre sterling}, comme montr\'e dans l'exem\-ple -ci-dessous. - -\example -\dag It'll only cost you \$9.98 over here, but in England -it's {\it \$}24.98. -| -\produces -\dag It'll only cost you \$9.98 over here, but in England -it's {\it \$}24.98. -\endexample -\enddesc - -\begindesc -\cts TeX {} -\explain -Cette commande produit le logo \TeX. souvenez vous de la faire suivre par -|\!vs| ou de l'inclure dans un \minref{groupe} quand vous voulez un espace -apr\`es lui. - -\example -A book about \TeX\ is in your hands. -| -\produces -A book about \TeX\ is in your hands. -\endexample -\enddesc - -\begindesc -\cts dots {} -\explain -^^{points} -Cette commande produit des ^{points de suspension}, c'est-\`a-dire, trois -points, dans du texte ordinaire. Elle est pr\'evue pour \^etre utilis\'ee -en \'ecriture math\'ematique, pour des points de suspension entre des mots -ordinaires, vous devez utiliser |$\ldot$| \ctsref{\ldots} \`a la place. -Puisque |\dots| inclut son propre espace, vous ne devez pas le faire suivre -de |\!vs|. -\example -The sequence $x_1$, $x_2$, \dots, $x_\infty$ -does not terminate. -| -\produces -The sequence $x_1$, $x_2$, \dots, $x_\infty$ -does not terminate. -\endexample -\enddesc - -\see ``Divers symboles math\'ematiques ordinaires'' (\xref{specsyms}). -%========================================================================== -\subsection {Caract\`eres Arbitraires} - -\begindesc -\bix^^{caract\`eres} -\cts char {\<charcode>} -\explain -Cette commande produit le caract\`ere situ\'e \`a la position \<charcode> -de la police courante. -\example -{\char65} {\char `A} {\char `\A} -| -\produces -{\char65} {\char `A} {\char `\A} -\endexample -\enddesc - -\begindesc -\cts mathchar {\<mathcode>} -\explain -Cette commande produit le caract\`ere math\'ematique dont la classe, la -famille et la position dans la police sont donn\'ees par \<mathcode>. Elle -n'est l\'egale qu'en mode math\'ematique. -\example -\def\digger{\mathchar "027F} % Like \spadesuit in plain TeX. -% Class 0, family 2, font position "7F. -$\digger$ -| -\produces -\def\digger{\mathchar "027F} -% class 0, family 2, font position "7F -$\digger$ -\endexample -\enddesc - -\see |\delimiter| (\xref\delimiter). -\eix^^{caract\`eres} - -%========================================================================== -\subsection {Accents} - -\begindesc -^^{accents} -\xrdef{accents} -% -\ctspecialx ' \ctsxrdef{@prime} {^{accent aigu} comme dans \'e} -\ctspecialx . \ctsxrdef{@dot} {^{accent point} comme dans \.n} -\ctspecialx = \ctsxrdef{@equal} {^{accent macron} comme dans \=r} -\ctspecialx ^ \ctsxrdef{@hat} {^{accent circonflexe} comme dans \^a} -\ctspecialx ` \ctsxrdef{@lquote} {^{accent grave} comme dans \`e} -\ctspecialx " \ctsxrdef{@quote} {^{accent tr\'ema} comme dans \"o} -\ctspecialx ~ \ctsxrdef{@not} {^{accent tilde} comme dans \~a} -\ctsx c {^{accent c\'edille} comme dans \c c} -\ctsx d {^{accent point en dessous} comme dans \d r} -\ctsx H {^{accent tr\'ema Hongrois} comme dans \H o} -\ctsx t {^{accent tie-after} comme dans \t uu} -\ctsx u {^{accent bref} comme dans \u r} -\ctsx v {^{accent circonflexe invers\'e} comme dans \v o} -\explain -Ces commandes produisent des accents en texte ordinaire. Vous devez -normalement laisser un espace apr\`es ceux not\'es par une simple lettre. -(see ``Espaces'', \xref{espaces}). - -\example -Add a soup\c con of \'elan to my pin\~a colada. -| -\produces -Add a soup\c con of \'elan to my pin\~a colada. -\endexample - -\margin{`See also' moved to end of group, replacing the one there.} -\enddesc - -\begindesc -\cts i {} -\cts j {} -\explain -Ces commandes produisent des versions sans point des lettres `i' et `j'. -Vous devez les utiliser au lieu des `i' et `j' ordinaires quand vous mettez -un accent sur ces lettres dans du texte ordinaire. -^^{lettres sans points} -Utilisez les commandes ^|\imath| et ^|\jmath| (\xref\imath) pour des `i' et -`j' sans point dans des formules math\'ematiques. -\example -long `i' as in l\=\i fe \quad \v\j -| -\produces -long `i' as in l\=\i fe \quad \v\j -\endexample -\enddesc - -\begindesc -\cts accent {\<charcode>} -\explain -^^{accents} -Cette commande met un accent au-dessus du caract\`ere suivant cette -commande. L'accent est le caract\`ere de position \<charcode> dans la -police courante. \TeX\ suppose que l'accent a \'et\'e con\c cu pour -s'adapter sur un caract\`ere d'une hauteur de $1$\thinspace ex dans la -m\^eme police que l'accent. Si le caract\`ere \`a accentuer est plus haut -ou plus petit, \TeX\ ajuste la position en cons\'equence. Vous pouvez -changer de \minref{police} entre l'accent et le caract\`ere suivant, cela -dessine le caract\`ere accent et le caract\`ere \`a accentuer venant de -diff\'erentes polices. Si le caract\`ere accent n'est pas vraiment pr\'evu -pour \^etre un accent, \TeX\ ne se plaindra pas~; il composera juste quelque -chose de ridicule. -\example -l'H\accent94 otel des Invalides -% Position 94 of font cmr10 has a circumflex accent. -| -\produces -l'H\accent94 otel des Invalides -% Position 94 of font cmr10 has a circumflex accent. -\endexample -\see Accents math\'ematiques (\xref{mathaccent}). -\enddesc -%========================================================================== -\subsection {Ligatures aux limites} - -\begindesc -\bix^^{ligatures} -\cts noboundary {} -\explain -Vous pouvez d\'efaire une ligature ou un cr\'enage que \TeX\ applique au -premier ou au dernier caract\`ere d'un mot en mettant |\noboundary| juste -avant ou apr\`es ce mot. Certaines polices pr\'evues pour des langues -autres que l'anglais contiennent un caract\`ere sp\'ecial de fronti\`ere -que \TeX\ met au commencement et \`a la fin de chaque mot. Le caract\`ere -de fronti\`ere n'occupe aucun espace et est invisible une fois imprim\'e. -Il permet \`a \TeX\ de fournir un traitement typographique diff\'erent aux -caract\`eres de d\'ebut ou de fin de mot, puisque le caract\`ere de -fronti\`ere peut faire partie d'une s\'equence de caract\`eres devant -\^etre cr\'enel\'ee ou remplac\'ee par une ligature (aucune police -standard de \TeX\ ne contient ce caract\`ere de fronti\`ere). L'effet de -|\noboundary| est de supprimer le caract\`ere de fronti\`ere s'il est l\`a, -et de ce fait d'emp\^echer \TeX\ d'identifier la ligature ou le cr\'enage. -\eix^^{ligatures} -\enddesc - -%========================================================================== -\section {S\'electionner des polices} - -\xrdef{selfont} - -%========================================================================== -\subsection {Polices particuli\`eres} - -\begindesc -^^{polices} -% -\ctsx fivebf {utilise une police grasse de $5$ points} -\ctsx fivei {utilise une police math\'ematique italique de $5$ points} -\ctsx fiverm {utilise une police romaine de $5$ points} -\ctsx fivesy {utilise une police de symbole math\'ematique de $5$ points} -\ctsx sevenbf {utilise une police grasse de $7$ points} -\ctsx seveni {utilise une police math\'ematique italique de $7$ points} -\ctsx sevenrm {utilise une police romaine de $7$ points} -\ctsx sevensy {utilise une police de symbole math\'ematique de $7$ points} -\ctsx tenbf {utilise une police grasse de texte de $10$ points} -\ctsx tenex {utilise une police d'extension math\'ematique de $10$ points} -\ctsx teni {utilise une police math\'ematique italique de $10$ points} -\ctsx tenrm {utilise une police romaine de texte de $10$ points} -\ctsx tensl {utilise une police romaine pench\'ee de $10$ points} -\ctsx tensy {utilise une police de symbole math\'ematique de $10$ points} -\ctsx tenit {utilise une police italique de $10$ points} -\ctsx tentt {utilise une police de type machine \`a \'ecrire de $10$ points} -\explain -Le texte suivant ces commandes est compos\'e par \TeX\ dans la police -indiqu\'ee. Normalement vous devriez enfermer une de ces commandes de choix -de police dans un groupe avec le texte devant \^etre compos\'e dans la -police choisie. En dehors d'un groupe une commande de choix de police est -efficace jusqu'\`a la fin du document (\`a moins que vous ne l'annuliez -avec une autre commande de ce genre). -\example -See how I've reduced my weight---from -120 lbs.\ to {\sevenrm 140 lbs}. -| -\produces -See how I've reduced my weight---from -120 lbs.\ to {\sevenrm 140 lbs}. -\endexample -\enddesc - -\begindesc -\cts nullfont {} -\explain -Cette commande s\'electionne une police, construite dans \TeX, qui ne -comporte aucun caract\`ere. \TeX\ l'utilise en remplacement d'une police -non d\'efinie dans une famille des polices math\'ematiques. -\enddesc - -%========================================================================== -\subsection {Styles de caract\`ere} - -\xrdef{seltype} -\begindesc -^^{styles de caract\`ere} -\easy\ctsx bf {utilise un style gras} -\ctsx it {utilise un style italique} -\ctsx rm {utilise un style romain} -\ctsx sl {utilise un style pench\'e} -\ctsx tt {utilise un style machine \`a \'ecrire} -\explain -Ces commandes choisissent un style de caract\`ere sans changer l'oeil ou -la taille du caract\`ere.\footnote{\TeX\ ne fournit pas de commandes -pr\'ed\'efinies pour ne changer que la taille, par exemple, |\eightpoint|. -La fourniture de telles commandes exigerait un grand nombre de -polices, lesquelles ne seraient jamais utilis\'ees. De telles commandes -ont \'et\'e cependant employ\'ees dans la composition de \texbook.} -Normalement vous enfermeriez une de ces commandes de s\'election de -style de caract\`ere dans un groupe, avec le texte devant \^etre compos\'e -dans la police choisie. En dehors d'un groupe une commande de -s\'election de style est efficace jusqu'\`a la fin du document (\`a moins -que vous l'effaciez avec une autre commande de ce genre). -\example -The Dormouse was {\it not} amused. -| -\produces -The Dormouse was {\it not} amused. -\endexample -\enddesc - -\see ``Polices dans des formules math\'ematiques'' (\xref{mathfonts}). -%========================================================================== -\section {Majuscule et minuscule} - -\begindesc -\bix^^{conversion de casse} -\bix^^{majuscules//conversion en} -\bix^^{minuscules//conversion en} -\cts lccode {\<charcode> \tblentry{nombre}} -\cts uccode {\<charcode> \tblentry{nombre}} -\explain -Les valeurs |\lccode| et |\uccode| pour les $256$ caract\`eres possibles -indiquent la correspondance entre les formes minuscules et majuscules -des lettres. Ces valeurs sont utilis\'ees par les commandes |\lowercase| -et |\uppercase| respectivement et par l'algorithme de c\'esure de \TeX. - -\TeX\ initialise les valeurs de |\lccode| et |\uccode| comme suit~: - -\ulist\compact -\li Le |\lccode| d'une lettre minuscule est le code {\ascii} de cette lettre. -\li Le |\lccode| d'une lettre majuscule est le code {\ascii} de la lettre minuscule -correspondante. -\li Le |\uccode| d'une lettre majuscule est le code {\ascii} de cette lettre. -\li Le |\uccode| d'une lettre minuscule est le code {\ascii} de la lettre majuscule -correspondante. -\li Les |\lccode| et |\uccode| d'un caract\`ere qui n'est pas une lettre sont \`a z\'ero. -\endulist - -La majeure partie du temps, il n'y a aucune raison de changer ces valeurs, -mais vous pourriez devoir les changer si vous vous servez d'une langue qui -a plus de lettres que l'anglais. -\example -\char\uccode`s \char\lccode`a \char\lccode`M -| -\produces -\char\uccode`s \char\lccode`a \char\lccode`M -\endexample -\enddesc - -\begindesc -\cts lowercase {\rqbraces{\<liste de token>}} -\cts uppercase {\rqbraces{\<liste de token>}} -\explain ^^{conversion de casse} -Ces commandes convertissent les lettres de la \<token list>, c'est-\`a-dire, -les tokens avec le code de cat\'egorie $11$, dans leurs formes minuscules -et majuscules. La conversion d'une lettre est d\'efinie par sa valeur de -table |\lccode| (pour une minuscule) ou |\uccode| (pour une majuscule). Les -tokens de la liste qui ne sont pas des lettres ne sont pas affect\'ees---m\^eme -si les tokens sont des appels de \minref{macro} ou d'autres commandes qui -se d\'eveloppent en lettres. -\example -\def\x{Cd} \lowercase{Ab\x} \uppercase{Ab\x} -| -\produces -\def\x{Cd} \lowercase{Ab\x} \uppercase{Ab\x} - -\eix^^{conversion de casse} -\eix^^{majuscules//conversion en} -\eix^^{minuscules//conversion en} -\endexample -\enddesc - -%========================================================================== -\section {Espace inter-mot} - -\begindesc -\bix^^{espace//inter-mots} -\easy\ctsbasic {\\\vs}{} -\blankidxref\ctsxrdef{@space} -\explain -Cette commande produit explicitement un espace entre les mots appel\'e -``^{espace contr\^ol\'e}''. un espace contr\^ol\'e est utile quand une lettre -appara\^\i t juste apr\`es une commande, ou dans n'importe quelle autre -circonstance o\`u vous ne voulez pas que deux tokens soient reli\'es dans -la sortie. La place produite par |\!vs| est ind\'ependante de la -ponctuation pr\'ec\'edente, c'est-\`a-dire, que son facteur d'espace -(\xref\spacefactor) est $1000$. - -Par ailleurs, si vous voulez imprimer le caract\`ere `\vs' ^^{espace -visible} que nous avons utilis\'e ici pour noter un espace, vous pouvez -l'obtenir en saisissant |{\tt \char `\ }|. - -\example -The Dormouse was a \TeX\ expert, but he never let on. -| -\produces -The Dormouse was a \TeX\ expert, but he never let on. -\endexample -\enddesc - -\begindesc -\cts space {} -\explain -Cette commande est \'equivalente \`a la saisie d'un caract\`ere espace. Elle -diff\`ere de ^|\ | du fait que sa largeur \emph{peut} \^etre affect\'e par -la ponctuation pr\'ec\'edente. -\example -Yes.\space No.\space Maybe.\par -Yes.\!vs!.No.\!vs!.Maybe. - -| -\produces -Yes.\space No.\space Maybe.\par -Yes.\ No.\ Maybe. -\endexample -\enddesc - -\begindesc -\ctsact ^^M \xrdef{@newline} -\explain -Cette construction produit le caract\`ere ^{fin de ligne}. Elle a -normalement deux effets quand \TeX\ la rencontre dans votre source~: -\olist -\li Elle agit en tant que commande, en introduisant un espace (si elle -appara\^\i t \`a l'extr\'emit\'e d'une ligne non vide) ou un -token |\par| (si elle appara\^\i t \`a l'extr\'emit\'e d'une ligne vide). -^^|\par//d'une ligne vide| -\li Elle termine la ligne du source, faisant que \TeX\ ignore les -caract\`eres restants sur la ligne. -\endolist -\noindent -Cependant, |^^M| \emph{ne} fait \emph{pas} terminer la ligne quand il -appara\^\i t dans le contexte |`\^^M|, d\'enotant le code ASCII du control-M -(le nombre $13$). Vous pouvez changer la signification du |^^M| en lui -donnant un \minref{code de cat\'egorie} diff\'erent. Voir -\xrefpg{twocarets} pour une explication plus g\'en\'erale de la notation -|^^|. -\example -Hello.^^MGoodbye. -Goodbye again.\par -The \char `\^^M\ character.\par -% The fl ligature is at position 13 of font cmr10 -\number `\^^M\ is the end of line code.\par -Again, \number `^^M is the end of line code, -isn't it? % 32 is the ASCII code for a space -| -\produces -{\catcode `\^ = 7 % disable indexing use within this display -Hello.^^MGoodbye -Goodbye again.\par -The \char `\^^M\ character.\par -\number `\^^M\ is the end of line code.\par -Again, \number `^^M is the end of line code, -isn't it?} -\endexample -\enddesc - -\begindesc -\easy\ctsact ~ \xrdef{@not} -\explain -Le caract\`ere \minref{actif} `|~|' appel\'e un ``^{tilde}'', produit -une espace normale entre deux mots et lie ces mots pour -qu'une coupure de ligne ne se produise pas entre eux. Vous devez -employer un tilde dans n'importe quel contexte o\`u une coupure de -ligne serait embrouillante, par exemple, avant une initiale moyenne, -apr\`es une abr\'eviation telle que ``Dr'' ou apr\`es ``Fig.'' dans ``Fig.~8''. - -\example -P.D.Q.~Bach (1807--1742), the youngest and most -imitative son of Johann~S. Bach, composed the -{\sl Concerto for Horn and Hardart}. -| -\produces -\margin{The inversion of dates is deliberate---cf. Peter Schickele.} -P.D.Q.~Bach (1807--1742), the youngest and most -imitative son of Johann~S. Bach, composed the -{\sl Concerto for Horn and Hardart}. -\endexample\enddesc - -\begindesc -\easy\ctspecial / \ctsxrdef{@slash} -\explain -Chaque caract\`ere d'une \minref{fonte} \TeX\ a une correction d'``^{italique}'' -li\'ee \`a lui, bien que la correction d'italique soit -normalement \`a z\'ero pour un caract\`ere d'une police non pench\'ee (montante). -La correction d'italique indique l'espace suppl\'ementaire qui -est n\'ecessaire quand vous passez d'une police inclin\'ee (pas -n\'ecessairement une police italique) \`a une police non pench\'ee. -L'espace suppl\'ementaire est n\'ecessaire parce qu'un caract\`ere inclin\'e -d\'epasse dans l'espace qui le suit, r\'eduisant l'espace quand le caract\`ere -suivant est non pench\'e. Le dossier de -m\'etriques d'une police inclut la correction d'italique de chaque -caract\`ere dans la police. -^^{fichiers de m\'etriques//correction italique dans} - -La commande |\/| -produit une correction d'^{italique} pour le caract\`ere pr\'ec\'edent. Vous -devez ins\'erer une correction d'italique quand vous passez d'une -police inclin\'ee vers une police droite, sauf quand le caract\`ere suivant -est un point ou une virgule. -\example -However, {\it somebody} ate {\it something}: that's clear. - -However, {\it somebody\/} ate {\it something\/}: -that's clear. -| -\produces -However, {\it somebody} ate {\it something}: that's clear. - -However, {\it somebody\/} ate {\it something\/}: -that's clear. -\endexample -\enddesc - -\begindesc -\cts frenchspacing {} -\cts nonfrenchspacing {} -\explain -^^{espacement inter-mots} -\TeX\ ajuste normalement l'espacement entre les mots en -accord avec les signes de ponctuation. Par exemple, il ins\`ere de l'espace -suppl\'ementaire \`a la fin d'une phrase et ajoute un certain \'etirement -au \minref{ressort} apr\`es n'importe quel signe de ponctuation. La -commande |\frenchspacing| indique \`a \TeX\ de rendre l'espacement -entre les mots ind\'ependant de la ponctuation, alors que la commande -|\nonfrenchspacing| indique \`a \TeX\ d'utiliser les r\`egles normales -d'espacement. Si vous n'indiquez pas |\frenchspacing|, vous -obtiendrez l'espacement normal de \TeX. - -Voyez \xrefpg{periodspacing} pour des conseils sur la fa\c con de -contr\^oler le traitement de la ponctuation de \TeX\ \`a la fin des -phrases. - -\example -{\frenchspacing An example: two sentences. Right? No.\par} -{An example: two sentences. Right? No. \par}% -| -\produces -{\frenchspacing An example: two sentences. Right? No.\par} -{An example: two sentences. Right? No. \par}% -\endexample - -\enddesc - -\begindesc -\cts obeyspaces {} -\explain -\TeX\ condense normalement une suite de plusieurs espaces en un -espace simple. |\obeyspaces| demande \`a \TeX\ de produire un -espace dans le r\'esultat pour chaque espace dans le source. -Cependant,|\obeyspaces| ne met pas d'espace au d\'ebut d'une ligne~; -pour cela nous vous recommandons la commande de -|\obey!-white!-space| d\'efinie dans |eplain.tex| -(\xref{ewhitesp}). -^^|\obeywhitespace| -|\obeyspaces| est souvent utile quand vous composez quelque chose, -un source informatique par exemple, dans une police \`a espacement fixe (une police dans -laquelle chaque caract\`ere a le m\^eme espacement) et que vous voulez montrer -exactement \`a quoi ressemble chaque ligne du source. - -Vous pouvez utiliser la commande |\obeylines| (\xref{\obeylines}) -pour obtenir que \TeX\ suive les bords de ligne de votre source. -|\obeylines| est souvent utilis\'e en combinaison avec |\obeyspaces|. - -\example -These spaces are closed up -{\obeyspaces but these are not }. -| -\produces -These spaces are closed up -{\obeyspaces but these are not }. -\endexample -\enddesc - -\begindesc -\cts spacefactor {\param{nombre}} -\cts spaceskip {\param{ressort}} -\cts xspaceskip {\param{ressort}} -\cts sfcode {\<charcode> \tblentry{nombre}} -\explain -Ces \minref{param\`etres} primitifs affectent combien d'espace \TeX\ met -entre deux mots adjacents, c'est-\`a-dire, l'^{espacement inter-mots}. -L'espacement normal entre les mots est assur\'e par la police courante. -Pendant que \TeX\ traite une \minref{liste horizontale}, il garde trace -du facteur d'^{espacement} $f$ dans |\spacefactor|. pendant qu'il -traite chaque caract\`ere du source $c$, il met \`a jour $f$ selon la -valeur de $f_c$, le code de facteur d'espacement de $c$ (voir ci- -dessous). Pour la plupart des caract\`eres, $f_c$ est \`a $1000$ et \TeX\ -met $f$ \`a $1000$. (la valeur initiale de $f$ est \'egalement $1000$.) -Quand \TeX\ voit un espace entre les mots, il ajuste la taille de cet -espace en multipliant l'\'etirement et le r\'etr\'ecissement de cet espace -par $f/1000$ et $1000/f$ respectivement. d'o\`u~: -\olist\compact -\li Si $f=1000$, l'espace inter-mots garde sa valeur normale. -\li If $f<1000$, l'espace inter-mots prend moins d'\minref{\'etirement} -et plus de \minref{r\'etr\'ecissement}. -\li If $f>1000$, l'espace inter-mots prend plus d'\minref{\'etirement} -et moins de \minref{r\'etr\'ecissement}. -\endolist -En outre, si $f\ge2000$ l'espace inter-mots est encore augment\'e par le -param\`etre ``d'espace suppl\'ementaire'' li\'e \`a la police courante. - -Chaque caract\`ere saisi $c$ a une adresse dans la table de |\sfcode| -(code de facteur d'espacement). L'adresse de la table |\sfcode| est -ind\'ependante de la police. Normalement \TeX\ met simplement $f$ \`a -$f_c$ apr\`es avoir trait\'e $c$. De toute mani\`ere~: -\ulist -\li Si $f_c$ est \`a z\'ero, \TeX\ laisse $f$ sans changement. Ainsi, un -caract\`ere tel que `|)|' dans \plainTeX, pour lequel $f_c$ est \`a z\'ero, -est essentiellement transparent pour le calcul de l'espacement entre -les mots. -\li Si $f<1000<f_c$, \TeX\ met $f$ \`a $1000$ plut\^ot que $f_c$, c'est-\`a- -dire, qu'il refuse d'augmenter $f$ tr\`es rapidement. -\endulist -La valeur de |\sfcode| pour un point est normalement de $3000$, c'est -pourquoi \TeX\ met habituellement un espace suppl\'ementaire apr\`es un -point -% > to \ge here, too, as above. -(voir la r\`egle ci-dessus pour le cas $f\ge2000$). Les caract\`eres non -lettre d'une liste horizontale, par exemple, les traits verticaux, -agissent g\'en\'eralement comme des caract\`eres avec un facteur d'espace de -$1000$. - -Vous pouvez changer le facteur d'espace explicitement en donnant une -valeur num\'erique diff\'erente \`a |\spacefactor|. Vous pouvez \'egalement -augmenter l'espacement normal entre les mots en donnant une valeur -num\'erique diff\'erente \`a |\xspaceskip| ou \`a |\spaceskip|~: -\ulist -\li |\xspaceskip| sp\'ecifie le ressort utilis\'e quand $f\ge2000$~; -dans le cas o\`u -|\xspaceskip| est \`a z\'ero, les r\`egles normales s'appliquent. -\li |\spaceskip| sp\'ecifie le ressort utilis\'e quand $f<2000$ ou bien -quand \hbox{|\xspaceskip|} est \`a z\'ero~; si |\spaceskip| est \`a z\'ero, les -r\`egles normales s'appliquent. L'\'etirement et le r\'etr\'ecissement du -ressort |\spaceskip|, comme le ressort ordinaire entre les mots, est -modifi\'e selon la valeur de $f$. -\endulist -Voir \knuth{page~76}{88--89} pour les r\`egles pr\'ecises que \TeX\ utilise pour -calculer le \minref{ressort} entre les mots et \knuth{pages~285--287}{331--334} -pour les ajustements faits \`a |\spacefactor| apr\`es diff\'erents items dans -une liste horizontale. -\eix^^{espace//inter-mots} -\enddesc - -%========================================================================== -\section {Centrer et justifier les lignes} - -\begindesc -\bix^^{centrage} -\bix^^{cadr\'e \`a gauche} -\bix^^{cadr\'e \`a droite} -\bix^^{justification} -\easy\cts centerline {\<argument>} -\cts leftline {\<argument>} -\cts rightline {\<argument>} -\explain -La commande |\centerline| produit un \minref{hbox} aussi large que -la ligne courante et place \<argument> au centre de la bo\^\i te. Les -commandes |\leftline| et |\rightline| sont analogues~; elles placent -\<argument> au bord gauche ou droite de la bo\^\i te. Si vous voulez -appliquer une de ces commandes \`a plusieurs lignes cons\'ecutives, vous -devez l'appliquer \`a chacune individuellement. Voir -\xrefpg{eplaincenter} pour une autre approche. - -N'utilisez pas ces commandes dans un paragraphe---si vous le faites, -\TeX\ ne pourra probablement pas couper le paragraphe en lignes et se -plaindra au sujet d'un overfull hbox. -\example -\centerline{Grand Central Station} -\leftline{left of Karl Marx} -\rightline{right of Genghis Khan} -| -\produces -\centerline{Grand Central Station} -\leftline{left of Karl Marx} -\rightline{right of Genghis Khan} - -\eix^^{centrage} -\eix^^{cadr\'e \`a gauche} -\eix^^{cadr\'e \`a droite} -\eix^^{justification} - -\endexample -\enddesc - -\begindesc -\easy\cts line {\<argument>} -\explain -Cette commande produit une \minref{hbox} contenant l'\<argument>. Cette -hbox est exactement aussi large que la ligne courante, c'est-\`a-dire, -qu'elle s'\'e\-tend de la marge droite \`a la gauche. -\example -\line{ugly \hfil suburban \hfil sprawl} -% Without \hfil you'd get an `underfull box' from this. -| -\produces -\line{ugly \hfil suburban \hfil sprawl}% -\endexample - -\enddesc - -\begindesc -^^{texte recouvrant} -\cts llap {\<argument>} -\cts rlap {\<argument>} -\explain -Ces commandes vous permettent de produire un texte qui recouvre celui -qui est \`a gauche ou \`a droite de la position actuelle. |\llap| recule -par la largeur de l'\<argument> et puis compose l'\<argument>. Le -|\rlap| est semblable, sauf qu'il compose l'\<argument> d'abord et -recule. |\llap| et |\rlap| sont utiles pour placer du texte en dehors -des marges courantes. |\llap| et |\rlap| effectuent leur travail en -cr\'eant une \minref{box} de largeur z\'ero. - -Vous pouvez \'egalement utiliser |\llap| ou |\rlap| pour construire des -caract\`eres sp\'eciaux par ^{surimpression}, mais ne l'essayez pas \`a -moins d'\^etre s\^ur que les caract\`eres que vous utilisez aient la m\^eme -largeur (ce qui est le cas pour une police \`a espacement fixe telle que -^|cmtt10|, la Computer Modern $10$-points ^{police de type machine \`a -\'ecrire}).. -^^{police Computer Modern} -\example -\noindent\llap{off left }\line{\vrule $\Leftarrow$ -left margin of examples\hfil right margin of examples -$\Rightarrow$\vrule}\rlap{ off right} -| -\produces -\noindent\llap{off left }\line{\vrule $\Leftarrow$ -left margin of examples\hfil right margin of examples -$\Rightarrow$\vrule}\rlap{ off right} -\endexample - -%\example -%{\tt O\llap{!|}} -%| -%\produces -%{\cm \tt O\llap{\char `|}} -%\endexample - -\nobreak % don't lose the \see -\enddesc - -\see |\hsize| (\xref{\hsize}). - -%========================================================================== -\section {Formation des paragraphes} - -\subsection {d\'ebuter, finir et indenter des paragraphes} - -\begindesc -\bix^^{paragraphes//formation} -\ctspecial par \ctsxrdef{@par} -\explain -Cette commande termine un paragraphe et met \TeX\ dans le mode -\minref{vertical}, pr\^et \`a ajouter plus d'articles sur la page. -Puisque \TeX\ convertit une ligne blanche dans votre fichier source -en un \minref{token} |\par|, vous n'avez normalement pas besoin de -saisir |\par| explicitement pour finir un paragraphe. - -Un point important est que |\par| n'indique pas \`a \TeX\ de commencer -un paragraphe~; il ne lui dit que de le finir. \TeX\ d\'ebute un -paragraphe quand il est en mode vertical ordinaire (tel qu'il est -apr\`es un |\par|) et rencontre un article en soi horizontal tel qu'une -lettre. En tant qu'\'el\'ement du c\'er\'emonial de d\'ebut de paragraphe, \TeX\ -^^{paragraphes//d\'ebuter des} -ins\`ere une quantit\'e d'espace vertical donn\'ee par le param\`etre -|\parskip| (\xref{\parskip }) et indente le paragraphe par un espace -horizontal donn\'e par |\parindent| (\xref{\parindent }). - -Vous pouvez normalement effacer tout l'espace inter-paragraphe -produit avec |\par| en mettant la commande |\vskip -\lastskip|. Ceci -peut \^etre utile quand vous \'ecrivez une \minref{macro} cens\'e travailler -de la m\^eme mani\`ere si elle est pr\'ec\'ed\'ee ou non par une ligne blanche. - -Vous pouvez obtenir que \TeX\ prenne certaines mesures sp\'eciales au -d\'ebut de chaque paragraphe en pla\c cant des instructions dans -^|\everypar| (\xref\everypar). - -Voir \knuth{pages~283 et 286}{328 et 332} pour les effets pr\'ecis de |\par|. - -\example -\parindent = 2em -``Can you row?'' the Sheep asked, handing Alice a pair of -knitting-needles as she was speaking.\par ``Yes, a little% ----but not on land---and not with needles---'' Alice was -starting to say, when suddenly the needles turned into oars. -| -\produces -\parindent = 2em -``Can you row?'' the Sheep asked, handing Alice a pair of -knitting-needles as she was speaking.\par ``Yes, a little% ----but not on land---and not with needles---'' Alice was -starting to say, when suddenly the needles turned into oars. -\endexample -\enddesc - -\begindesc -\cts endgraf {} -\explain -Cette commande est un synonyme de la commande primitive -^|\par|. Elle est utile quand vous avez red\'efini ^|\par| mais voulez -toujours avoir acc\`es \`a la d\'efinition originale de |\par|. -\enddesc - -\begindesc -\cts parfillskip {\param{ressort}} -\explain -^^{paragraphes//ressort \`a la fin des} -Ce param\`etre d\'esigne le ressort horizontal que \TeX\ insert \`a la fin -d'un paragraphe. La valeur par d\'efaut de |\parfillskip| est |0pt plus -1fil|, qui fait que la derni\`ere ligne d'un paragraphe soit compl\'et\'ee -de l'espace vide. Une valeur de |0pt| force \TeX\ \`a finir la derni\`ere -ligne d'un paragraphe sur la marge gauche. -\enddesc - -\bix^^{indentation} -\begindesc -\easy\cts indent {} -\explain -Si \TeX\ est en mode vertical, comme il l'est apr\`es avoir fini un -paragraphe, cette commande ins\`ert le ressort inter-paragraphe -^|\parskip|, met \TeX\ en mode horizontal, d\'ebute un paragraphe et -indente ce paragraphe de |\parindent|. Si \TeX\ est d\'ej\`a en mode -horizontal, cette commande produit simplement un espace blanc de -largeur |\parindent|. Deux |\indent| \`a la suite produisent deux -indentations. -^^{indentation} - -Comme dans l'exemple ci-dessous, un |\indent| \`a un endroit o\`u \TeX\ -commencerait de toute fa\c con un paragraphe est superflu. Quand \TeX\ -est en mode vertical et voit une lettre ou une autre commande en soi -horizontale, il commence un paragraphe en commutant vers le mode -horizontal, fait un |\indent| et traite la commande horizontale. - -\example -\parindent = 2em This is the first in a series of three -paragraphs that show how you can control indentation. Note -that it has the same indentation as the next paragraph.\par -\indent This is the second in a series of three paragraphs. -It has \indent an embedded indentation.\par -\indent\indent This doubly indented paragraph -is the third in the series. -| -\produces -\parindent = 2em This is the first in a series of three -paragraphs that show how you can control indentation. Note -that it has the same indentation as the next paragraph.\par -\indent This is the second in a series of three paragraphs. -It has \indent an embedded indentation.\par -\indent\indent This doubly indented paragraph -is the third in the series. -\endexample -\enddesc - - -\begindesc -\easy\cts noindent {} -\explain -Si le \TeX\ est en mode vertical, comme il l'est apr\`es la fin d'un -paragraphe, cette commande ins\`ert le ressort inter-paragraphe -^|\parskip|, met \TeX\ dans le mode horizontal, et commence -un paragraphe non indent\'e. Elle n'a aucun effet dans le mode horizontal, -c'est-\`a-dire, dans un paragraphe. Commencer un paragraphe avec -|\noindent| d\'ecommande ainsi l'indentation de |\parindent| qui se -produirait normalement. - -^^{indentation} - -Une utilisation commune de |\noindent| est d'interdire l'indentation -de la premi\`ere ligne d'un paragraphe quand le paragraphe suit un -certain mat\'eriel affich\'e. - -\example -\parindent = 1em -Tied round the neck of the bottle was a label with the -words \smallskip \centerline{EAT ME}\smallskip -\noindent beautifully printed on it in large letters. -| -\produces -\parindent = 1em -Tied round the neck of the bottle was a label with the -words \smallskip \centerline{EAT ME}\smallskip -\noindent beautifully printed on it in large letters. -\endexample -\enddesc - -\margin{{\tt\\textindent} moved here from later in the section.} -\begindesc -\cts textindent {\<argument>} - -\explain -^^{indentation} -Cette commande indique \`a \TeX\ de commencer un paragraphe et de l'indenter -de |\par!-indent|, comme d'habitude. \TeX\ alors justifie \`a droite -l'\<argument> de l'indentation et le fait suivre d'un espace demi-cadratin -(moiti\'e d'un cadratin). \PlainTeX\ utilise cette commande pour composer les -notes de pied de page. (\xref\footnote) ^^{notes de pied de page//utiliser -\b\tt\\textindent\e\ avec} et les articles dans les listes (voir |\item|, -\xref\item). - -\example -\parindent = 20pt \textindent{\raise 1pt\hbox{$\bullet$}}% -You are allowed to use bullets in \TeX\ even if -you don't join the militia, and many peace-loving -typographers do so. -| -\produces -\parindent = 20pt \textindent{\raise 1pt\hbox{$\bullet$}}% -You are allowed to use bullets in \TeX\ even if -you don't join the militia, and many peace-loving -typographers do so. -\endexample\enddesc - -\begindesc -\cts parindent {\param{dimension}} - -\explain -Ce \minref{param\`etre} indique la quantit\'e par laquelle la premi\`ere -ligne de chaque paragraphe doit \^etre indent\'ee. ^^{indentation} Comme -montr\'e dans l'exemple ci-dessous, placer |\parindent| et ^|\parskip| \`a -z\'ero est une mauvaise id\'ee puisque alors les coupures de paragraphe ne -sont plus \'evidentes. -\example -\parindent = 2em This paragraph is indented by 2 ems. -\par \parindent=0pt This paragraph is not indented at all. -\par Since we haven't reset the paragraph indentation, -this paragraph isn't indented either. -| -\produces -\parindent = 2em This paragraph is indented by 2 ems. -\par \parindent=0pt This paragraph is not indented at all. -\par Since we haven't reset the paragraph indentation, -this paragraph isn't indented either. -\endexample\enddesc - -\begindesc -\cts everypar {\param{liste de token}} - -\explain -\TeX\ ex\'ecute les commandes des \<token list> toutes les fois qu'il entre dans le mode -horizontal, par exemple, quand il commence un paragraphe. Par d\'efaut -|\everypar| est vide, mais vous pouvez prendre des mesures -suppl\'ementaires au d\'ebut de chaque paragraphe en mettant des commandes -pour ces actions dans un token list -% -% This \vglue makes the example overwrite the example, but since we are -% not reprinting this page, it doesn't matter. For reasons I did not -% attempt to track down, a page break happened before the example, -% unlike in the first printing. -% -%\secondprinting{\vglue-48pt} -et assigner ce token list \`a |\everypar|. -\example -\everypar = {$\Longrightarrow$\enspace} -Now pay attention!!\par -I said, ``Pay attention!!''.\par -I'll say it again!! Pay attention!! -| -\produces -\everypar = {$\Longrightarrow$\enspace} -Now pay attention!\par -I said, ``Pay attention!''.\par -I'll say it again! Pay attention! -\endexample -\enddesc -%\secondprinting{\vfill\eject} - -%========================================================================== -\subsection {Formation de paragraphes entiers} - -\begindesc -\margin{Cette commande \'etait aussi d\'ecrite dans le chapitre `Pages'. La -description actuelle combine les deux anciennes descriptions.} -\bix^^{coupures de ligne//et formation de paragraphe} -\easy\cts hsize {\param{dimension}} - -\explain +% This is part of the book TeX for the Impatient.
+% Copyright (C) 2003 Paul W. Abrahams, Kathryn A. Hargreaves, Karl Berry.
+% Copyright (C) 2004 Marc Chaudemanche pour la traduction française.
+% See file fdl.tex for copying conditions.
+
+\input fmacros
+\chapter {Commandes \linebreak pour composer \linebreak des paragraphes}
+
+\chapterdef{paras}
+
+Cette section couvre les commandes qui traitent des caract\`eres, des mots, des
+lignes et des paragraphes entiers. Pour une explication des conventions
+utilis\'ees dans cette section, voir les \headcit{Descriptions de
+commandes}{cmddesc}.
+
+\begindescriptions
+
+\section {Caract\`eres et accents}
+
+%==========================================================================
+\subsection {Lettres et ligatures pour alphabets Europ\'eens}
+
+\begindesc
+\xrdef{fornlets}
+\bix^^{ligatures}
+^^{symboles sp\'eciaux}
+^^{alphabets europ\'eens}
+%
+\ctsx AA {Lettre scandinave \AA}
+\ctsx aa {Lettre scandinave \aa}
+\ctsx AE {Ligature \AE}
+\ctsx ae {Ligature \ae}
+\ctsx L {Lettre Polonaise \L}
+\ctsx l {Lettre Polonaise \l}
+\ctsx O {Lettre Danoise/Norv\'egienne \O}
+\ctsx o {Lettre Danoise/Norv\'egienne \o}
+\ctsx OE {Ligature \OE}
+\ctsx oe {Ligature \oe}
+\ctsx ss {Lettre Allemande \ss}
+\explain
+Ces commandes produisent diverses lettres et ligatures des alphabets
+europ\'eens. Elles sont utiles pour des mots et expressions occasionnels
+dans ces langues---mais si vous devez composer une grande quantit\'e de
+texte dans une langue europ\'eenne, vous feriez probablement mieux
+d'utiliser une version de \TeX\ adapt\'ee \`a cette langue.\footnote{Le \TeX\
+Users Group (\xref{ressources}) peut vous fournir des informations sur les
+versions europ\'eennes de \TeX.}
+
+Vous aurez besoin d'un espace apr\`es ces commandes quand vous les
+utiliserez dans un mot pour que \TeX\ traite les lettres suivantes comme
+\'el\'ement du mot et non en tant qu'\'el\'ement de la commande. Vous
+n'avez pas besoin d'\^etre en \minref{mode math\'ematique} pour utiliser
+ces commandes.
+
+\example
+{\it les \oe uvres de Moli\`ere}
+|
+\produces
+{\it les \oe uvres de Moli\`ere}
+\endexample
+\eix^^{ligatures}
+\enddesc
+
+%==========================================================================
+\subsection {Symboles sp\'eciaux}
+
+\begindesc
+^^{caract\`eres sp\'eciaux}
+%
+\easy\ctspecialx # \ctsxrdef{@pound} {signe di\`ese \#}
+\ctspecialx $ \ctsxrdef{@bucks} {signe dollar \$}
+\ctspecialx % \ctsxrdef{@percent} {signe pourcentage \%}
+\ctspecialx & \ctsxrdef{@and} {esperluette \&}
+\ctspecialx _ \ctsxrdef{@underscore} {soulign\'e \_}
+\ctsx lq {quote gauche \lq}
+\ctsx rq {quote droite \rq}
+\aux\ctsx lbrack crochet gauche [
+\aux\ctsx rbrack crochet droit ]
+\ctsx dag {symbole dague \dag}
+\ctsx ddag {symbole double dague \ddag}
+\ctsx copyright {symbole copyright \copyright}
+\ctsx P {symbole paragraphe \P}
+\ctsx S {symbole section \S}
+\explain
+
+Ces commandes produisent diverses marques et caract\`eres sp\'eciaux. Les
+cinq premi\`eres commandes sont n\'ecessaires parce que \TeX\ attache par
+d\'efaut des significations sp\'eciales aux caract\`eres (|#|, |$|, |%|,
+|&|, |_|). vous n'avez pas besoin d'\^etre en \minref{mode math\'ematique}
+pour employer ces commandes.
+
+Vous pouvez utiliser le signe dollar de la police Computer Modern italique
+pour obtenir le symbole ^{livre sterling}, comme montr\'e dans l'exem\-ple
+ci-dessous.
+
+\example
+\dag It'll only cost you \$9.98 over here, but in England
+it's {\it \$}24.98.
+|
+\produces
+\dag It'll only cost you \$9.98 over here, but in England
+it's {\it \$}24.98.
+\endexample
+\enddesc
+
+\begindesc
+\cts TeX {}
+\explain
+Cette commande produit le logo \TeX. souvenez vous de la faire suivre par
+|\!vs| ou de l'inclure dans un \minref{groupe} quand vous voulez un espace
+apr\`es lui.
+
+\example
+A book about \TeX\ is in your hands.
+|
+\produces
+A book about \TeX\ is in your hands.
+\endexample
+\enddesc
+
+\begindesc
+\cts dots {}
+\explain
+^^{points}
+Cette commande produit des ^{points de suspension}, c'est-\`a-dire, trois
+points, dans du texte ordinaire. Elle est pr\'evue pour \^etre utilis\'ee
+en \'ecriture math\'ematique, pour des points de suspension entre des mots
+ordinaires, vous devez utiliser |$\ldot$| \ctsref{\ldots} \`a la place.
+Puisque |\dots| inclut son propre espace, vous ne devez pas le faire suivre
+de |\!vs|.
+\example
+The sequence $x_1$, $x_2$, \dots, $x_\infty$
+does not terminate.
+|
+\produces
+The sequence $x_1$, $x_2$, \dots, $x_\infty$
+does not terminate.
+\endexample
+\enddesc
+
+\see ``Divers symboles math\'ematiques ordinaires'' (\xref{specsyms}).
+%==========================================================================
+\subsection {Caract\`eres Arbitraires}
+
+\begindesc
+\bix^^{caract\`eres}
+\cts char {\<charcode>}
+\explain
+Cette commande produit le caract\`ere situ\'e \`a la position \<charcode>
+de la police courante.
+\example
+{\char65} {\char `A} {\char `\A}
+|
+\produces
+{\char65} {\char `A} {\char `\A}
+\endexample
+\enddesc
+
+\begindesc
+\cts mathchar {\<mathcode>}
+\explain
+Cette commande produit le caract\`ere math\'ematique dont la classe, la
+famille et la position dans la police sont donn\'ees par \<mathcode>. Elle
+n'est l\'egale qu'en mode math\'ematique.
+\example
+\def\digger{\mathchar "027F} % Like \spadesuit in plain TeX.
+% Class 0, family 2, font position "7F.
+$\digger$
+|
+\produces
+\def\digger{\mathchar "027F}
+% class 0, family 2, font position "7F
+$\digger$
+\endexample
+\enddesc
+
+\see |\delimiter| (\xref\delimiter).
+\eix^^{caract\`eres}
+
+%==========================================================================
+\subsection {Accents}
+
+\begindesc
+^^{accents}
+\xrdef{accents}
+%
+\ctspecialx ' \ctsxrdef{@prime} {^{accent aigu} comme dans \'e}
+\ctspecialx . \ctsxrdef{@dot} {^{accent point} comme dans \.n}
+\ctspecialx = \ctsxrdef{@equal} {^{accent macron} comme dans \=r}
+\ctspecialx ^ \ctsxrdef{@hat} {^{accent circonflexe} comme dans \^a}
+\ctspecialx ` \ctsxrdef{@lquote} {^{accent grave} comme dans \`e}
+\ctspecialx " \ctsxrdef{@quote} {^{accent tr\'ema} comme dans \"o}
+\ctspecialx ~ \ctsxrdef{@not} {^{accent tilde} comme dans \~a}
+\ctsx c {^{accent c\'edille} comme dans \c c}
+\ctsx d {^{accent point en dessous} comme dans \d r}
+\ctsx H {^{accent tr\'ema Hongrois} comme dans \H o}
+\ctsx t {^{accent tie-after} comme dans \t uu}
+\ctsx u {^{accent bref} comme dans \u r}
+\ctsx v {^{accent circonflexe invers\'e} comme dans \v o}
+\explain
+Ces commandes produisent des accents en texte ordinaire. Vous devez
+normalement laisser un espace apr\`es ceux not\'es par une simple lettre.
+(see ``Espaces'', \xref{espaces}).
+
+\example
+Add a soup\c con of \'elan to my pin\~a colada.
+|
+\produces
+Add a soup\c con of \'elan to my pin\~a colada.
+\endexample
+
+\margin{`See also' moved to end of group, replacing the one there.}
+\enddesc
+
+\begindesc
+\cts i {}
+\cts j {}
+\explain
+Ces commandes produisent des versions sans point des lettres `i' et `j'.
+Vous devez les utiliser au lieu des `i' et `j' ordinaires quand vous mettez
+un accent sur ces lettres dans du texte ordinaire.
+^^{lettres sans points}
+Utilisez les commandes ^|\imath| et ^|\jmath| (\xref\imath) pour des `i' et
+`j' sans point dans des formules math\'ematiques.
+\example
+long `i' as in l\=\i fe \quad \v\j
+|
+\produces
+long `i' as in l\=\i fe \quad \v\j
+\endexample
+\enddesc
+
+\begindesc
+\cts accent {\<charcode>}
+\explain
+^^{accents}
+Cette commande met un accent au-dessus du caract\`ere suivant cette
+commande. L'accent est le caract\`ere de position \<charcode> dans la
+police courante. \TeX\ suppose que l'accent a \'et\'e con\c cu pour
+s'adapter sur un caract\`ere d'une hauteur de $1$\thinspace ex dans la
+m\^eme police que l'accent. Si le caract\`ere \`a accentuer est plus haut
+ou plus petit, \TeX\ ajuste la position en cons\'equence. Vous pouvez
+changer de \minref{police} entre l'accent et le caract\`ere suivant, cela
+dessine le caract\`ere accent et le caract\`ere \`a accentuer venant de
+diff\'erentes polices. Si le caract\`ere accent n'est pas vraiment pr\'evu
+pour \^etre un accent, \TeX\ ne se plaindra pas~; il composera juste quelque
+chose de ridicule.
+\example
+l'H\accent94 otel des Invalides
+% Position 94 of font cmr10 has a circumflex accent.
+|
+\produces
+l'H\accent94 otel des Invalides
+% Position 94 of font cmr10 has a circumflex accent.
+\endexample
+\see Accents math\'ematiques (\xref{mathaccent}).
+\enddesc
+%==========================================================================
+\subsection {Ligatures aux limites}
+
+\begindesc
+\bix^^{ligatures}
+\cts noboundary {}
+\explain
+Vous pouvez d\'efaire une ligature ou un cr\'enage que \TeX\ applique au
+premier ou au dernier caract\`ere d'un mot en mettant |\noboundary| juste
+avant ou apr\`es ce mot. Certaines polices pr\'evues pour des langues
+autres que l'anglais contiennent un caract\`ere sp\'ecial de fronti\`ere
+que \TeX\ met au commencement et \`a la fin de chaque mot. Le caract\`ere
+de fronti\`ere n'occupe aucun espace et est invisible une fois imprim\'e.
+Il permet \`a \TeX\ de fournir un traitement typographique diff\'erent aux
+caract\`eres de d\'ebut ou de fin de mot, puisque le caract\`ere de
+fronti\`ere peut faire partie d'une s\'equence de caract\`eres devant
+\^etre cr\'enel\'ee ou remplac\'ee par une ligature (aucune police
+standard de \TeX\ ne contient ce caract\`ere de fronti\`ere). L'effet de
+|\noboundary| est de supprimer le caract\`ere de fronti\`ere s'il est l\`a,
+et de ce fait d'emp\^echer \TeX\ d'identifier la ligature ou le cr\'enage.
+\eix^^{ligatures}
+\enddesc
+
+%==========================================================================
+\section {S\'electionner des polices}
+
+\xrdef{selfont}
+
+%==========================================================================
+\subsection {Polices particuli\`eres}
+
+\begindesc
+^^{polices}
+%
+\ctsx fivebf {utilise une police grasse de $5$ points}
+\ctsx fivei {utilise une police math\'ematique italique de $5$ points}
+\ctsx fiverm {utilise une police romaine de $5$ points}
+\ctsx fivesy {utilise une police de symbole math\'ematique de $5$ points}
+\ctsx sevenbf {utilise une police grasse de $7$ points}
+\ctsx seveni {utilise une police math\'ematique italique de $7$ points}
+\ctsx sevenrm {utilise une police romaine de $7$ points}
+\ctsx sevensy {utilise une police de symbole math\'ematique de $7$ points}
+\ctsx tenbf {utilise une police grasse de texte de $10$ points}
+\ctsx tenex {utilise une police d'extension math\'ematique de $10$ points}
+\ctsx teni {utilise une police math\'ematique italique de $10$ points}
+\ctsx tenrm {utilise une police romaine de texte de $10$ points}
+\ctsx tensl {utilise une police romaine pench\'ee de $10$ points}
+\ctsx tensy {utilise une police de symbole math\'ematique de $10$ points}
+\ctsx tenit {utilise une police italique de $10$ points}
+\ctsx tentt {utilise une police de type machine \`a \'ecrire de $10$ points}
+\explain
+Le texte suivant ces commandes est compos\'e par \TeX\ dans la police
+indiqu\'ee. Normalement vous devriez enfermer une de ces commandes de choix
+de police dans un groupe avec le texte devant \^etre compos\'e dans la
+police choisie. En dehors d'un groupe une commande de choix de police est
+efficace jusqu'\`a la fin du document (\`a moins que vous ne l'annuliez
+avec une autre commande de ce genre).
+\example
+See how I've reduced my weight---from
+120 lbs.\ to {\sevenrm 140 lbs}.
+|
+\produces
+See how I've reduced my weight---from
+120 lbs.\ to {\sevenrm 140 lbs}.
+\endexample
+\enddesc
+
+\begindesc
+\cts nullfont {}
+\explain
+Cette commande s\'electionne une police, construite dans \TeX, qui ne
+comporte aucun caract\`ere. \TeX\ l'utilise en remplacement d'une police
+non d\'efinie dans une famille des polices math\'ematiques.
+\enddesc
+
+%==========================================================================
+\subsection {Styles de caract\`ere}
+
+\xrdef{seltype}
+\begindesc
+^^{styles de caract\`ere}
+\easy\ctsx bf {utilise un style gras}
+\ctsx it {utilise un style italique}
+\ctsx rm {utilise un style romain}
+\ctsx sl {utilise un style pench\'e}
+\ctsx tt {utilise un style machine \`a \'ecrire}
+\explain
+Ces commandes choisissent un style de caract\`ere sans changer l'oeil ou
+la taille du caract\`ere.\footnote{\TeX\ ne fournit pas de commandes
+pr\'ed\'efinies pour ne changer que la taille, par exemple, |\eightpoint|.
+La fourniture de telles commandes exigerait un grand nombre de
+polices, lesquelles ne seraient jamais utilis\'ees. De telles commandes
+ont \'et\'e cependant employ\'ees dans la composition de \texbook.}
+Normalement vous enfermeriez une de ces commandes de s\'election de
+style de caract\`ere dans un groupe, avec le texte devant \^etre compos\'e
+dans la police choisie. En dehors d'un groupe une commande de
+s\'election de style est efficace jusqu'\`a la fin du document (\`a moins
+que vous l'effaciez avec une autre commande de ce genre).
+\example
+The Dormouse was {\it not} amused.
+|
+\produces
+The Dormouse was {\it not} amused.
+\endexample
+\enddesc
+
+\see ``Polices dans des formules math\'ematiques'' (\xref{mathfonts}).
+%==========================================================================
+\section {Majuscule et minuscule}
+
+\begindesc
+\bix^^{conversion de casse}
+\bix^^{majuscules//conversion en}
+\bix^^{minuscules//conversion en}
+\cts lccode {\<charcode> \tblentry{nombre}}
+\cts uccode {\<charcode> \tblentry{nombre}}
+\explain
+Les valeurs |\lccode| et |\uccode| pour les $256$ caract\`eres possibles
+indiquent la correspondance entre les formes minuscules et majuscules
+des lettres. Ces valeurs sont utilis\'ees par les commandes |\lowercase|
+et |\uppercase| respectivement et par l'algorithme de c\'esure de \TeX.
+
+\TeX\ initialise les valeurs de |\lccode| et |\uccode| comme suit~:
+
+\ulist\compact
+\li Le |\lccode| d'une lettre minuscule est le code {\ascii} de cette lettre.
+\li Le |\lccode| d'une lettre majuscule est le code {\ascii} de la lettre minuscule
+correspondante.
+\li Le |\uccode| d'une lettre majuscule est le code {\ascii} de cette lettre.
+\li Le |\uccode| d'une lettre minuscule est le code {\ascii} de la lettre majuscule
+correspondante.
+\li Les |\lccode| et |\uccode| d'un caract\`ere qui n'est pas une lettre sont \`a z\'ero.
+\endulist
+
+La majeure partie du temps, il n'y a aucune raison de changer ces valeurs,
+mais vous pourriez devoir les changer si vous vous servez d'une langue qui
+a plus de lettres que l'anglais.
+\example
+\char\uccode`s \char\lccode`a \char\lccode`M
+|
+\produces
+\char\uccode`s \char\lccode`a \char\lccode`M
+\endexample
+\enddesc
+
+\begindesc
+\cts lowercase {\rqbraces{\<liste de token>}}
+\cts uppercase {\rqbraces{\<liste de token>}}
+\explain ^^{conversion de casse}
+Ces commandes convertissent les lettres de la \<token list>, c'est-\`a-dire,
+les tokens avec le code de cat\'egorie $11$, dans leurs formes minuscules
+et majuscules. La conversion d'une lettre est d\'efinie par sa valeur de
+table |\lccode| (pour une minuscule) ou |\uccode| (pour une majuscule). Les
+tokens de la liste qui ne sont pas des lettres ne sont pas affect\'ees---m\^eme
+si les tokens sont des appels de \minref{macro} ou d'autres commandes qui
+se d\'eveloppent en lettres.
+\example
+\def\x{Cd} \lowercase{Ab\x} \uppercase{Ab\x}
+|
+\produces
+\def\x{Cd} \lowercase{Ab\x} \uppercase{Ab\x}
+
+\eix^^{conversion de casse}
+\eix^^{majuscules//conversion en}
+\eix^^{minuscules//conversion en}
+\endexample
+\enddesc
+
+%==========================================================================
+\section {Espace inter-mot}
+
+\begindesc
+\bix^^{espace//inter-mots}
+\easy\ctsbasic {\\\vs}{}
+\blankidxref\ctsxrdef{@space}
+\explain
+Cette commande produit explicitement un espace entre les mots appel\'e
+``^{espace contr\^ol\'e}''. un espace contr\^ol\'e est utile quand une lettre
+appara\^\i t juste apr\`es une commande, ou dans n'importe quelle autre
+circonstance o\`u vous ne voulez pas que deux tokens soient reli\'es dans
+la sortie. La place produite par |\!vs| est ind\'ependante de la
+ponctuation pr\'ec\'edente, c'est-\`a-dire, que son facteur d'espace
+(\xref\spacefactor) est $1000$.
+
+Par ailleurs, si vous voulez imprimer le caract\`ere `\vs' ^^{espace
+visible} que nous avons utilis\'e ici pour noter un espace, vous pouvez
+l'obtenir en saisissant |{\tt \char `\ }|.
+
+\example
+The Dormouse was a \TeX\ expert, but he never let on.
+|
+\produces
+The Dormouse was a \TeX\ expert, but he never let on.
+\endexample
+\enddesc
+
+\begindesc
+\cts space {}
+\explain
+Cette commande est \'equivalente \`a la saisie d'un caract\`ere espace. Elle
+diff\`ere de ^|\ | du fait que sa largeur \emph{peut} \^etre affect\'e par
+la ponctuation pr\'ec\'edente.
+\example
+Yes.\space No.\space Maybe.\par
+Yes.\!vs!.No.\!vs!.Maybe.
+
+|
+\produces
+Yes.\space No.\space Maybe.\par
+Yes.\ No.\ Maybe.
+\endexample
+\enddesc
+
+\begindesc
+\ctsact ^^M \xrdef{@newline}
+\explain
+Cette construction produit le caract\`ere ^{fin de ligne}. Elle a
+normalement deux effets quand \TeX\ la rencontre dans votre source~:
+\olist
+\li Elle agit en tant que commande, en introduisant un espace (si elle
+appara\^\i t \`a l'extr\'emit\'e d'une ligne non vide) ou un
+token |\par| (si elle appara\^\i t \`a l'extr\'emit\'e d'une ligne vide).
+^^|\par//d'une ligne vide|
+\li Elle termine la ligne du source, faisant que \TeX\ ignore les
+caract\`eres restants sur la ligne.
+\endolist
+\noindent
+Cependant, |^^M| \emph{ne} fait \emph{pas} terminer la ligne quand il
+appara\^\i t dans le contexte |`\^^M|, d\'enotant le code ASCII du control-M
+(le nombre $13$). Vous pouvez changer la signification du |^^M| en lui
+donnant un \minref{code de cat\'egorie} diff\'erent. Voir
+\xrefpg{twocarets} pour une explication plus g\'en\'erale de la notation
+|^^|.
+\example
+Hello.^^MGoodbye.
+Goodbye again.\par
+The \char `\^^M\ character.\par
+% The fl ligature is at position 13 of font cmr10
+\number `\^^M\ is the end of line code.\par
+Again, \number `^^M is the end of line code,
+isn't it? % 32 is the ASCII code for a space
+|
+\produces
+{\catcode `\^ = 7 % disable indexing use within this display
+Hello.^^MGoodbye
+Goodbye again.\par
+The \char `\^^M\ character.\par
+\number `\^^M\ is the end of line code.\par
+Again, \number `^^M is the end of line code,
+isn't it?}
+\endexample
+\enddesc
+
+\begindesc
+\easy\ctsact ~ \xrdef{@not}
+\explain
+Le caract\`ere \minref{actif} `|~|' appel\'e un ``^{tilde}'', produit
+une espace normale entre deux mots et lie ces mots pour
+qu'une coupure de ligne ne se produise pas entre eux. Vous devez
+employer un tilde dans n'importe quel contexte o\`u une coupure de
+ligne serait embrouillante, par exemple, avant une initiale moyenne,
+apr\`es une abr\'eviation telle que ``Dr'' ou apr\`es ``Fig.'' dans ``Fig.~8''.
+
+\example
+P.D.Q.~Bach (1807--1742), the youngest and most
+imitative son of Johann~S. Bach, composed the
+{\sl Concerto for Horn and Hardart}.
+|
+\produces
+\margin{The inversion of dates is deliberate---cf. Peter Schickele.}
+P.D.Q.~Bach (1807--1742), the youngest and most
+imitative son of Johann~S. Bach, composed the
+{\sl Concerto for Horn and Hardart}.
+\endexample\enddesc
+
+\begindesc
+\easy\ctspecial / \ctsxrdef{@slash}
+\explain
+Chaque caract\`ere d'une \minref{fonte} \TeX\ a une correction d'``^{italique}''
+li\'ee \`a lui, bien que la correction d'italique soit
+normalement \`a z\'ero pour un caract\`ere d'une police non pench\'ee (montante).
+La correction d'italique indique l'espace suppl\'ementaire qui
+est n\'ecessaire quand vous passez d'une police inclin\'ee (pas
+n\'ecessairement une police italique) \`a une police non pench\'ee.
+L'espace suppl\'ementaire est n\'ecessaire parce qu'un caract\`ere inclin\'e
+d\'epasse dans l'espace qui le suit, r\'eduisant l'espace quand le caract\`ere
+suivant est non pench\'e. Le dossier de
+m\'etriques d'une police inclut la correction d'italique de chaque
+caract\`ere dans la police.
+^^{fichiers de m\'etriques//correction italique dans}
+
+La commande |\/|
+produit une correction d'^{italique} pour le caract\`ere pr\'ec\'edent. Vous
+devez ins\'erer une correction d'italique quand vous passez d'une
+police inclin\'ee vers une police droite, sauf quand le caract\`ere suivant
+est un point ou une virgule.
+\example
+However, {\it somebody} ate {\it something}: that's clear.
+
+However, {\it somebody\/} ate {\it something\/}:
+that's clear.
+|
+\produces
+However, {\it somebody} ate {\it something}: that's clear.
+
+However, {\it somebody\/} ate {\it something\/}:
+that's clear.
+\endexample
+\enddesc
+
+\begindesc
+\cts frenchspacing {}
+\cts nonfrenchspacing {}
+\explain
+^^{espacement inter-mots}
+\TeX\ ajuste normalement l'espacement entre les mots en
+accord avec les signes de ponctuation. Par exemple, il ins\`ere de l'espace
+suppl\'ementaire \`a la fin d'une phrase et ajoute un certain \'etirement
+au \minref{ressort} apr\`es n'importe quel signe de ponctuation. La
+commande |\frenchspacing| indique \`a \TeX\ de rendre l'espacement
+entre les mots ind\'ependant de la ponctuation, alors que la commande
+|\nonfrenchspacing| indique \`a \TeX\ d'utiliser les r\`egles normales
+d'espacement. Si vous n'indiquez pas |\frenchspacing|, vous
+obtiendrez l'espacement normal de \TeX.
+
+Voyez \xrefpg{periodspacing} pour des conseils sur la fa\c con de
+contr\^oler le traitement de la ponctuation de \TeX\ \`a la fin des
+phrases.
+
+\example
+{\frenchspacing An example: two sentences. Right? No.\par}
+{An example: two sentences. Right? No. \par}%
+|
+\produces
+{\frenchspacing An example: two sentences. Right? No.\par}
+{An example: two sentences. Right? No. \par}%
+\endexample
+
+\enddesc
+
+\begindesc
+\cts obeyspaces {}
+\explain
+\TeX\ condense normalement une suite de plusieurs espaces en un
+espace simple. |\obeyspaces| demande \`a \TeX\ de produire un
+espace dans le r\'esultat pour chaque espace dans le source.
+Cependant,|\obeyspaces| ne met pas d'espace au d\'ebut d'une ligne~;
+pour cela nous vous recommandons la commande de
+|\obey!-white!-space| d\'efinie dans |eplain.tex|
+(\xref{ewhitesp}).
+^^|\obeywhitespace|
+|\obeyspaces| est souvent utile quand vous composez quelque chose,
+un source informatique par exemple, dans une police \`a espacement fixe (une police dans
+laquelle chaque caract\`ere a le m\^eme espacement) et que vous voulez montrer
+exactement \`a quoi ressemble chaque ligne du source.
+
+Vous pouvez utiliser la commande |\obeylines| (\xref{\obeylines})
+pour obtenir que \TeX\ suive les bords de ligne de votre source.
+|\obeylines| est souvent utilis\'e en combinaison avec |\obeyspaces|.
+
+\example
+These spaces are closed up
+{\obeyspaces but these are not }.
+|
+\produces
+These spaces are closed up
+{\obeyspaces but these are not }.
+\endexample
+\enddesc
+
+\begindesc
+\cts spacefactor {\param{nombre}}
+\cts spaceskip {\param{ressort}}
+\cts xspaceskip {\param{ressort}}
+\cts sfcode {\<charcode> \tblentry{nombre}}
+\explain
+Ces \minref{param\`etres} primitifs affectent combien d'espace \TeX\ met
+entre deux mots adjacents, c'est-\`a-dire, l'^{espacement inter-mots}.
+L'espacement normal entre les mots est assur\'e par la police courante.
+Pendant que \TeX\ traite une \minref{liste horizontale}, il garde trace
+du facteur d'^{espacement} $f$ dans |\spacefactor|. pendant qu'il
+traite chaque caract\`ere du source $c$, il met \`a jour $f$ selon la
+valeur de $f_c$, le code de facteur d'espacement de $c$ (voir ci-
+dessous). Pour la plupart des caract\`eres, $f_c$ est \`a $1000$ et \TeX\
+met $f$ \`a $1000$. (la valeur initiale de $f$ est \'egalement $1000$.)
+Quand \TeX\ voit un espace entre les mots, il ajuste la taille de cet
+espace en multipliant l'\'etirement et le r\'etr\'ecissement de cet espace
+par $f/1000$ et $1000/f$ respectivement. d'o\`u~:
+\olist\compact
+\li Si $f=1000$, l'espace inter-mots garde sa valeur normale.
+\li If $f<1000$, l'espace inter-mots prend moins d'\minref{\'etirement}
+et plus de \minref{r\'etr\'ecissement}.
+\li If $f>1000$, l'espace inter-mots prend plus d'\minref{\'etirement}
+et moins de \minref{r\'etr\'ecissement}.
+\endolist
+En outre, si $f\ge2000$ l'espace inter-mots est encore augment\'e par le
+param\`etre ``d'espace suppl\'ementaire'' li\'e \`a la police courante.
+
+Chaque caract\`ere saisi $c$ a une adresse dans la table de |\sfcode|
+(code de facteur d'espacement). L'adresse de la table |\sfcode| est
+ind\'ependante de la police. Normalement \TeX\ met simplement $f$ \`a
+$f_c$ apr\`es avoir trait\'e $c$. De toute mani\`ere~:
+\ulist
+\li Si $f_c$ est \`a z\'ero, \TeX\ laisse $f$ sans changement. Ainsi, un
+caract\`ere tel que `|)|' dans \plainTeX, pour lequel $f_c$ est \`a z\'ero,
+est essentiellement transparent pour le calcul de l'espacement entre
+les mots.
+\li Si $f<1000<f_c$, \TeX\ met $f$ \`a $1000$ plut\^ot que $f_c$, c'est-\`a-
+dire, qu'il refuse d'augmenter $f$ tr\`es rapidement.
+\endulist
+La valeur de |\sfcode| pour un point est normalement de $3000$, c'est
+pourquoi \TeX\ met habituellement un espace suppl\'ementaire apr\`es un
+point
+% > to \ge here, too, as above.
+(voir la r\`egle ci-dessus pour le cas $f\ge2000$). Les caract\`eres non
+lettre d'une liste horizontale, par exemple, les traits verticaux,
+agissent g\'en\'eralement comme des caract\`eres avec un facteur d'espace de
+$1000$.
+
+Vous pouvez changer le facteur d'espace explicitement en donnant une
+valeur num\'erique diff\'erente \`a |\spacefactor|. Vous pouvez \'egalement
+augmenter l'espacement normal entre les mots en donnant une valeur
+num\'erique diff\'erente \`a |\xspaceskip| ou \`a |\spaceskip|~:
+\ulist
+\li |\xspaceskip| sp\'ecifie le ressort utilis\'e quand $f\ge2000$~;
+dans le cas o\`u
+|\xspaceskip| est \`a z\'ero, les r\`egles normales s'appliquent.
+\li |\spaceskip| sp\'ecifie le ressort utilis\'e quand $f<2000$ ou bien
+quand \hbox{|\xspaceskip|} est \`a z\'ero~; si |\spaceskip| est \`a z\'ero, les
+r\`egles normales s'appliquent. L'\'etirement et le r\'etr\'ecissement du
+ressort |\spaceskip|, comme le ressort ordinaire entre les mots, est
+modifi\'e selon la valeur de $f$.
+\endulist
+Voir \knuth{page~76}{88--89} pour les r\`egles pr\'ecises que \TeX\ utilise pour
+calculer le \minref{ressort} entre les mots et \knuth{pages~285--287}{331--334}
+pour les ajustements faits \`a |\spacefactor| apr\`es diff\'erents items dans
+une liste horizontale.
+\eix^^{espace//inter-mots}
+\enddesc
+
+%==========================================================================
+\section {Centrer et justifier les lignes}
+
+\begindesc
+\bix^^{centrage}
+\bix^^{cadr\'e \`a gauche}
+\bix^^{cadr\'e \`a droite}
+\bix^^{justification}
+\easy\cts centerline {\<argument>}
+\cts leftline {\<argument>}
+\cts rightline {\<argument>}
+\explain
+La commande |\centerline| produit un \minref{hbox} aussi large que
+la ligne courante et place \<argument> au centre de la bo\^\i te. Les
+commandes |\leftline| et |\rightline| sont analogues~; elles placent
+\<argument> au bord gauche ou droite de la bo\^\i te. Si vous voulez
+appliquer une de ces commandes \`a plusieurs lignes cons\'ecutives, vous
+devez l'appliquer \`a chacune individuellement. Voir
+\xrefpg{eplaincenter} pour une autre approche.
+
+N'utilisez pas ces commandes dans un paragraphe---si vous le faites,
+\TeX\ ne pourra probablement pas couper le paragraphe en lignes et se
+plaindra au sujet d'un overfull hbox.
+\example
+\centerline{Grand Central Station}
+\leftline{left of Karl Marx}
+\rightline{right of Genghis Khan}
+|
+\produces
+\centerline{Grand Central Station}
+\leftline{left of Karl Marx}
+\rightline{right of Genghis Khan}
+
+\eix^^{centrage}
+\eix^^{cadr\'e \`a gauche}
+\eix^^{cadr\'e \`a droite}
+\eix^^{justification}
+
+\endexample
+\enddesc
+
+\begindesc
+\easy\cts line {\<argument>}
+\explain
+Cette commande produit une \minref{hbox} contenant l'\<argument>. Cette
+hbox est exactement aussi large que la ligne courante, c'est-\`a-dire,
+qu'elle s'\'e\-tend de la marge droite \`a la gauche.
+\example
+\line{ugly \hfil suburban \hfil sprawl}
+% Without \hfil you'd get an `underfull box' from this.
+|
+\produces
+\line{ugly \hfil suburban \hfil sprawl}%
+\endexample
+
+\enddesc
+
+\begindesc
+^^{texte recouvrant}
+\cts llap {\<argument>}
+\cts rlap {\<argument>}
+\explain
+Ces commandes vous permettent de produire un texte qui recouvre celui
+qui est \`a gauche ou \`a droite de la position actuelle. |\llap| recule
+par la largeur de l'\<argument> et puis compose l'\<argument>. Le
+|\rlap| est semblable, sauf qu'il compose l'\<argument> d'abord et
+recule. |\llap| et |\rlap| sont utiles pour placer du texte en dehors
+des marges courantes. |\llap| et |\rlap| effectuent leur travail en
+cr\'eant une \minref{box} de largeur z\'ero.
+
+Vous pouvez \'egalement utiliser |\llap| ou |\rlap| pour construire des
+caract\`eres sp\'eciaux par ^{surimpression}, mais ne l'essayez pas \`a
+moins d'\^etre s\^ur que les caract\`eres que vous utilisez aient la m\^eme
+largeur (ce qui est le cas pour une police \`a espacement fixe telle que
+^|cmtt10|, la Computer Modern $10$-points ^{police de type machine \`a
+\'ecrire})..
+^^{police Computer Modern}
+\example
+\noindent\llap{off left }\line{\vrule $\Leftarrow$
+left margin of examples\hfil right margin of examples
+$\Rightarrow$\vrule}\rlap{ off right}
+|
+\produces
+\noindent\llap{off left }\line{\vrule $\Leftarrow$
+left margin of examples\hfil right margin of examples
+$\Rightarrow$\vrule}\rlap{ off right}
+\endexample
+
+%\example
+%{\tt O\llap{!|}}
+%|
+%\produces
+%{\cm \tt O\llap{\char `|}}
+%\endexample
+
+\nobreak % don't lose the \see
+\enddesc
+
+\see |\hsize| (\xref{\hsize}).
+
+%==========================================================================
+\section {Formation des paragraphes}
+
+\subsection {d\'ebuter, finir et indenter des paragraphes}
+
+\begindesc
+\bix^^{paragraphes//formation}
+\ctspecial par \ctsxrdef{@par}
+\explain
+Cette commande termine un paragraphe et met \TeX\ dans le mode
+\minref{vertical}, pr\^et \`a ajouter plus d'articles sur la page.
+Puisque \TeX\ convertit une ligne blanche dans votre fichier source
+en un \minref{token} |\par|, vous n'avez normalement pas besoin de
+saisir |\par| explicitement pour finir un paragraphe.
+
+Un point important est que |\par| n'indique pas \`a \TeX\ de commencer
+un paragraphe~; il ne lui dit que de le finir. \TeX\ d\'ebute un
+paragraphe quand il est en mode vertical ordinaire (tel qu'il est
+apr\`es un |\par|) et rencontre un article en soi horizontal tel qu'une
+lettre. En tant qu'\'el\'ement du c\'er\'emonial de d\'ebut de paragraphe, \TeX\
+^^{paragraphes//d\'ebuter des}
+ins\`ere une quantit\'e d'espace vertical donn\'ee par le param\`etre
+|\parskip| (\xref{\parskip }) et indente le paragraphe par un espace
+horizontal donn\'e par |\parindent| (\xref{\parindent }).
+
+Vous pouvez normalement effacer tout l'espace inter-paragraphe
+produit avec |\par| en mettant la commande |\vskip -\lastskip|. Ceci
+peut \^etre utile quand vous \'ecrivez une \minref{macro} cens\'e travailler
+de la m\^eme mani\`ere si elle est pr\'ec\'ed\'ee ou non par une ligne blanche.
+
+Vous pouvez obtenir que \TeX\ prenne certaines mesures sp\'eciales au
+d\'ebut de chaque paragraphe en pla\c cant des instructions dans
+^|\everypar| (\xref\everypar).
+
+Voir \knuth{pages~283 et 286}{328 et 332} pour les effets pr\'ecis de |\par|.
+
+\example
+\parindent = 2em
+``Can you row?'' the Sheep asked, handing Alice a pair of
+knitting-needles as she was speaking.\par ``Yes, a little%
+---but not on land---and not with needles---'' Alice was
+starting to say, when suddenly the needles turned into oars.
+|
+\produces
+\parindent = 2em
+``Can you row?'' the Sheep asked, handing Alice a pair of
+knitting-needles as she was speaking.\par ``Yes, a little%
+---but not on land---and not with needles---'' Alice was
+starting to say, when suddenly the needles turned into oars.
+\endexample
+\enddesc
+
+\begindesc
+\cts endgraf {}
+\explain
+Cette commande est un synonyme de la commande primitive
+^|\par|. Elle est utile quand vous avez red\'efini ^|\par| mais voulez
+toujours avoir acc\`es \`a la d\'efinition originale de |\par|.
+\enddesc
+
+\begindesc
+\cts parfillskip {\param{ressort}}
+\explain
+^^{paragraphes//ressort \`a la fin des}
+Ce param\`etre d\'esigne le ressort horizontal que \TeX\ insert \`a la fin
+d'un paragraphe. La valeur par d\'efaut de |\parfillskip| est |0pt plus
+1fil|, qui fait que la derni\`ere ligne d'un paragraphe soit compl\'et\'ee
+de l'espace vide. Une valeur de |0pt| force \TeX\ \`a finir la derni\`ere
+ligne d'un paragraphe sur la marge gauche.
+\enddesc
+
+\bix^^{indentation}
+\begindesc
+\easy\cts indent {}
+\explain
+Si \TeX\ est en mode vertical, comme il l'est apr\`es avoir fini un
+paragraphe, cette commande ins\`ert le ressort inter-paragraphe
+^|\parskip|, met \TeX\ en mode horizontal, d\'ebute un paragraphe et
+indente ce paragraphe de |\parindent|. Si \TeX\ est d\'ej\`a en mode
+horizontal, cette commande produit simplement un espace blanc de
+largeur |\parindent|. Deux |\indent| \`a la suite produisent deux
+indentations.
+^^{indentation}
+
+Comme dans l'exemple ci-dessous, un |\indent| \`a un endroit o\`u \TeX\
+commencerait de toute fa\c con un paragraphe est superflu. Quand \TeX\
+est en mode vertical et voit une lettre ou une autre commande en soi
+horizontale, il commence un paragraphe en commutant vers le mode
+horizontal, fait un |\indent| et traite la commande horizontale.
+
+\example
+\parindent = 2em This is the first in a series of three
+paragraphs that show how you can control indentation. Note
+that it has the same indentation as the next paragraph.\par
+\indent This is the second in a series of three paragraphs.
+It has \indent an embedded indentation.\par
+\indent\indent This doubly indented paragraph
+is the third in the series.
+|
+\produces
+\parindent = 2em This is the first in a series of three
+paragraphs that show how you can control indentation. Note
+that it has the same indentation as the next paragraph.\par
+\indent This is the second in a series of three paragraphs.
+It has \indent an embedded indentation.\par
+\indent\indent This doubly indented paragraph
+is the third in the series.
+\endexample
+\enddesc
+
+
+\begindesc
+\easy\cts noindent {}
+\explain
+Si le \TeX\ est en mode vertical, comme il l'est apr\`es la fin d'un
+paragraphe, cette commande ins\`ert le ressort inter-paragraphe
+^|\parskip|, met \TeX\ dans le mode horizontal, et commence
+un paragraphe non indent\'e. Elle n'a aucun effet dans le mode horizontal,
+c'est-\`a-dire, dans un paragraphe. Commencer un paragraphe avec
+|\noindent| d\'ecommande ainsi l'indentation de |\parindent| qui se
+produirait normalement.
+
+^^{indentation}
+
+Une utilisation commune de |\noindent| est d'interdire l'indentation
+de la premi\`ere ligne d'un paragraphe quand le paragraphe suit un
+certain mat\'eriel affich\'e.
+
+\example
+\parindent = 1em
+Tied round the neck of the bottle was a label with the
+words \smallskip \centerline{EAT ME}\smallskip
+\noindent beautifully printed on it in large letters.
+|
+\produces
+\parindent = 1em
+Tied round the neck of the bottle was a label with the
+words \smallskip \centerline{EAT ME}\smallskip
+\noindent beautifully printed on it in large letters.
+\endexample
+\enddesc
+
+\margin{{\tt\\textindent} moved here from later in the section.}
+\begindesc
+\cts textindent {\<argument>}
+
+\explain
+^^{indentation}
+Cette commande indique \`a \TeX\ de commencer un paragraphe et de l'indenter
+de |\par!-indent|, comme d'habitude. \TeX\ alors justifie \`a droite
+l'\<argument> de l'indentation et le fait suivre d'un espace demi-cadratin
+(moiti\'e d'un cadratin). \PlainTeX\ utilise cette commande pour composer les
+notes de pied de page. (\xref\footnote) ^^{notes de pied de page//utiliser
+\b\tt\\textindent\e\ avec} et les articles dans les listes (voir |\item|,
+\xref\item).
+
+\example
+\parindent = 20pt \textindent{\raise 1pt\hbox{$\bullet$}}%
+You are allowed to use bullets in \TeX\ even if
+you don't join the militia, and many peace-loving
+typographers do so.
+|
+\produces
+\parindent = 20pt \textindent{\raise 1pt\hbox{$\bullet$}}%
+You are allowed to use bullets in \TeX\ even if
+you don't join the militia, and many peace-loving
+typographers do so.
+\endexample\enddesc
+
+\begindesc
+\cts parindent {\param{dimension}}
+
+\explain
+Ce \minref{param\`etre} indique la quantit\'e par laquelle la premi\`ere
+ligne de chaque paragraphe doit \^etre indent\'ee. ^^{indentation} Comme
+montr\'e dans l'exemple ci-dessous, placer |\parindent| et ^|\parskip| \`a
+z\'ero est une mauvaise id\'ee puisque alors les coupures de paragraphe ne
+sont plus \'evidentes.
+\example
+\parindent = 2em This paragraph is indented by 2 ems.
+\par \parindent=0pt This paragraph is not indented at all.
+\par Since we haven't reset the paragraph indentation,
+this paragraph isn't indented either.
+|
+\produces
+\parindent = 2em This paragraph is indented by 2 ems.
+\par \parindent=0pt This paragraph is not indented at all.
+\par Since we haven't reset the paragraph indentation,
+this paragraph isn't indented either.
+\endexample\enddesc
+
+\begindesc
+\cts everypar {\param{liste de token}}
+
+\explain
+\TeX\ ex\'ecute les commandes des \<token list> toutes les fois qu'il entre dans le mode
+horizontal, par exemple, quand il commence un paragraphe. Par d\'efaut
+|\everypar| est vide, mais vous pouvez prendre des mesures
+suppl\'ementaires au d\'ebut de chaque paragraphe en mettant des commandes
+pour ces actions dans un token list
+%
+% This \vglue makes the example overwrite the example, but since we are
+% not reprinting this page, it doesn't matter. For reasons I did not
+% attempt to track down, a page break happened before the example,
+% unlike in the first printing.
+%
+%\secondprinting{\vglue-48pt}
+et assigner ce token list \`a |\everypar|.
+\example
+\everypar = {$\Longrightarrow$\enspace}
+Now pay attention!!\par
+I said, ``Pay attention!!''.\par
+I'll say it again!! Pay attention!!
+|
+\produces
+\everypar = {$\Longrightarrow$\enspace}
+Now pay attention!\par
+I said, ``Pay attention!''.\par
+I'll say it again! Pay attention!
+\endexample
+\enddesc
+%\secondprinting{\vfill\eject}
+
+%==========================================================================
+\subsection {Formation de paragraphes entiers}
+
+\begindesc
+\margin{Cette commande \'etait aussi d\'ecrite dans le chapitre `Pages'. La
+description actuelle combine les deux anciennes descriptions.}
+\bix^^{coupures de ligne//et formation de paragraphe}
+\easy\cts hsize {\param{dimension}}
+
+\explain
Ce \minref{param\`etre} indique la longueur courante de la ^{ligne}, c'est-\`a-dire, -la largeur habituelle des lignes dans un paragraphe commen\c cant \`a la -marge gauche. Beaucoup de commandes \TeX emploient -implicitement la valeur de |\hsize|, comme par exemple, -|\center!-line| (\xref{\centerline}) et |\hrule| (\xref{\hrule}). En changeant le |\hsize| dans un -groupe vous pouvez changer la largeur des constructions produites par de -telles commandes. - -Si vous placez |\hsize| dans un \minref{vbox} qui contient du texte, le -vbox aura la largeur que vous aurez donn\'ee au |\hsize|. -^^{vbox//largeur d\'etermin\'ee par \b\tt\\hsize\e} - -\PlainTeX\ fixe |\hsize| \`a |6.5in|. - -\example -{\hsize = 3.5in % Set this paragraph 3.5 inches wide. -The hedgehog was engaged in a fight with another hedgehog, -which seemed to Alice an excellent opportunity for -croqueting one of them with the other.\par}% -| -\produces -{\hsize = 3.5in -The hedgehog was engaged in a fight with another hedgehog, -which seemed to Alice an excellent opportunity for croqueting -one of them with the other.\par}% - -\doruler{\8\8\8\tick\1\tick\2\tick\1\tick\3}{3.5}{in} -\nextexample -\leftline{\raggedright\vtop{\hsize = 1.5in -Here is some text that we put into a paragraph that is -an inch and a half wide.}\qquad -\vtop{\hsize = 1.5in Here is some more text that -we put into another paragraph that is an inch and a -half wide.}} -| -\produces -\leftline{\raggedright\vtop{\hsize = 1.5in -Here is some text that we put into a paragraph that is -an inch and a half wide.}\qquad -\vtop{\hsize = 1.5in Here is some more text that -we put into another paragraph that is an inch and a -half wide.}} -\endexample -\enddesc - -\begindesc -\easy\cts narrower {} - -\explain -^^{paragraphes//\'etroit} -Cette commande donne des paragraphes plus \'etroits, en augmentant les marges -gauches et droites de |\parindent|, l'^{indentation} de paragraphe -courante. Elle r\'ealise ceci en augmentant |\leftskip| et |\rightskip| de -|\parindent|. Normalement vous placez |\narrower| au d\'ebut d'un -\minref{groupe} contenant les paragraphes que vous voulez rendre plus -\'etroits. Si vous oubliez d'enfermer |\narrower| dans un groupe, vous -constaterez que tout le reste de votre document aura des paragraphes -\'etroits. - -|\narrower| n'affecte que les paragraphes qui terminent apr\`es que vous -l'ayez appel\'e. Si vous terminez un groupe |\narrower| avant d'avoir fini un -paragraphe, \TeX\ ne rendra pas ce paragraphe plus \'etroit. - -\example -{\parindent = 12pt \narrower\narrower\narrower -This is a short paragraph. Its margins are indented -three times as much as they would be -had we used just one ``narrower'' command.\par} -| -\produces -{\parindent = 12pt \narrower\narrower\narrower -This is a short paragraph. Its margins are indented -three times as much as they would be -had we used just one ``narrower'' command.\par} -\endexample\enddesc - -\begindesc -\cts leftskip {\param{ressort}} -\cts rightskip {\param{ressort}} - -\explain -Ces param\`etres indiquent \`a \TeX\ combien de ressort placer aux extr\'emit\'es -gauches et droites de chaque ligne du paragraphe courant. Nous n'expli\-% -querons que le fonctionnement de |\leftskip| puisque |\rightskip| est -similaire. - -^^{indentation} Vous pouvez augmenter la marge gauche en pla\c cant -|\leftskip| \`a une \minref{dimension} diff\'erente de z\'ero. Si vous donnez \`a -|\leftskip| un certain \'etirement, vous pouvez produire du texte ^{cadr\'e \`a -droite}, c'est-\`a-dire, du texte qui a une marge gauche in\'egale. - -Normalement, vous devriez enfermer tout \minref{assignement} \`a |\leftskip| -dans un \minref{groupe} avec le texte affect\'e afin d'emp\^echer son effet de -continuer jusqu'\`a la fin de votre document. Cependant, il est injustifi\'e de -changer la valeur de |\leftskip| \`a l'int\'erieur d'un groupe qui est, lui -aussi, contenu dans un paragraphe---la valeur de |\leftskip| \`a la -\emph{fin} d'un paragraphe est celle qui d\'etermine comment \TeX\ coupera le -paragraphe en lignes. \minrefs{line break} - -\example -{\leftskip = 1in The White Rabbit trotted slowly back -again, looking anxiously about as it went, as if it had -lost something. {\leftskip = 10in % has no effect -It muttered to itself, ``The Duchess!! The Duchess!! She'll -get me executed as sure as ferrets are ferrets!!''}\par}% -| -\produces -{\leftskip = 1in The White Rabbit trotted slowly back -again, looking anxiously about as it went, as if it had -lost something. {\leftskip = 10in % has no effect -It muttered to itself, ``The Duchess! The Duchess! -She'll get me executed as sure as ferrets are ferrets!''}\par}% -\nextexample -\pretolerance = 10000 % Don't hyphenate. -\rightskip = .5in plus 2em -The White Rabbit trotted slowly back again, looking -anxiously about as it went, as if it had lost something. -It muttered to itself, ``The Duchess!! The Duchess!! She'll -get me executed as sure as ferrets are ferrets!!'' -| -\produces -\pretolerance = 10000 % Don't hyphenate. -\rightskip = .5in plus 2em -The White Rabbit trotted slowly back again, looking -anxiously about as it went, as if it had lost something. -It muttered to itself, ``The Duchess! The Duchess! She'll -get me executed as sure as ferrets are ferrets!'' -\endexample -\enddesc - -\begindesc -\easy\cts raggedright {} -\cts ttraggedright {} - -\explain -Ces commandes font que \TeX\ compose votre document -``^{cadr\'e \`a gauche}''. Les espaces inter-mots ont tous -leur taille naturelle, c'est-\`a-dire, ils ont tous la m\^eme largeur et -ne s'\'etirent ni se r\'etr\'ecissent. -En cons\'equence, leur marge droite n'est g\'en\'eralement pas la m\^eme. -L'alternative, qui est le comportement par d\'efaut de \TeX, est de composer -votre document justifi\'e, -^^{justification} -c'est-\`a-dire, avec des marges gauches et droites uniformes. -Dans du texte justifi\'e, les espaces inter-mots sont \'etir\'es pour -aligner des marges de droite. -Certains typographes pr\'ef\`erent cadrer \`a gauche parce que -cela \'evite des ``rivi\`eres'' distractives d'espace sur la page imprim\'ee. -\minrefs{justified text} - -Vous devez utiliser la commande |\ttraggedright| pour composer du texte dans -une police non proportionnelle et la commande |\raggedright| command pour -composer de texte dans toutes les autres polices. - -La plupart du temps vous voudrez appliquer ces commandes \`a un document entier, -mais vous pouvez limiter leurs effets en les englobant -dans un \minref{groupe}. -\example -\raggedright ``You couldn't have it if you {\it did\/} -want it,'' the Queen said. ``The rule is, jam tomorrow -and jam yesterday---but never jam {\it today\/}.'' -``It {\it must\/} come sometimes to `jam today,% -thinspace'' Alice objected. ``No, it can't'', said the -Queen. ``It's jam every {\it other\/} day: today isn't -any {\it other\/} day.'' -| -\produces -\raggedright ``You couldn't have it if you {\it did\/} -want it,'' the Queen said. ``The rule is, jam tomorrow -and jam yesterday---but never jam {\it today\/}.'' -``It {\it must\/} come sometimes to `jam today,% -'\thinspace'' Alice objected. ``No, it can't'', said the -Queen. ``It's jam every {\it other\/} day: today isn't -any {\it other\/} day.'' -\endexample -\enddesc - -\begindesc -\cts hang {} -\explain -Cette commande indente la seconde ligne et les suivantes d'un paragraphe -de |\parindent|, l'^{indentation} du paragraphe. -(\xref{\parindent}). -Puisque la premi\`ere ligne est d\'ej\`a indent\'ee par |\parindent| -(\`a moins que vous ayez supprim\'e l'indentation avec |\noindent|), le -paragraphe entier appara\^\i t \^etre indent\'e de |\parindent|. - -\example -\parindent=24pt \hang ``I said you {\it looked} like an -egg, Sir,'' Alice gently explained to Humpty Dumpty. ``And -some eggs are very pretty, you know,'' she added. -| -\produces -\parindent=24pt \hang ``I said you {\it looked} like an -egg, Sir,'' Alice gently explained to Humpty Dumpty. ``And -some eggs are very pretty, you know,'' she added. -\endexample -\enddesc - -\begindesc -\cts hangafter {\param{nombre}} -\cts hangindent {\param{dimension}} - -\explain -Ces deux \minref{param\`etre}s associ\'es -sp\'ecifient l'``^{indentation r\'emanente}'' pour un paragraphe. -L'indentation r\'emanente indique \`a \TeX\ que certaines lignes -du paragraphe doivent -\^etre indent\'ees et que les lignes restantes doivent avoir leur largeur normale -^^{indentation} -|\hangafter| d\'etermine quelles lignes -sont indent\'ees, tandis que |\hangindent| d\'etermine le montant d'inden\-tation -et si elle appara\^\i t sur la gauche ou sur la droite~: - -\ulist -\li Soit $n$ la valeur de |\hangafter|. Si $n < 0$, -Les $-n$ premi\`eres lignes du paragraphe seront indent\'ees. -Si $n\ge0$, toutes sauf les $n$ premi\`eres lignes du paragraphe seront -indent\'ees. - -\li Soit $x$ la valeur de |\hangindent|. -Si $x\ge0$, les lignes seront indent\'ees -de $x$ \`a gauche. Si $x<0$, les lignes seront indent\'ees de $-x$ sur -la droite. -\endulist - -Quand vous sp\'ecifiez de l'indentation r\'emanente, elle ne s'applique -qu'au paragraphe suivant (si vous \^etes en mode vertical) ou au -paragraphe courant (si vous \^etes en mode horizontal). -\TeX\ utilise les valeurs de |\hangafter| et |\hangindent| \`a la fin d'un -paragraphe, quand il coupe ce paragraphe en lignes.\minrefs{line -break} - -\`A la diff\'erence de la plupart des autres param\`etres de mise en forme de paragraphe, -|\hangafter| et |\hangindent| sont r\'einitialis\'es -au d\'ebut de chaque paragraphe, soit, -$1$ pour |\hangafter| et $0$ pour |\hangindent|. -Si vous voulez composer une suite de paragraphes avec de l'indentation r\'emanente, -utilisez |\everypar| (\xref{\everypar}). -^^|\everypar//pour indentation r\'emanente| -Si vous sp\'ecifiez |\hangafter| et |\hangindent| de m\^eme que ^|\parshape|, -\TeX\ ignorera |\hangafter| et |\hangindent|. - -\example -\hangindent=6pc \hangafter=-2 -This is an example of a paragraph with hanging indentation. -In this case, the first two lines are indented on the left, -but after that we return to unindented text. -| -\produces -\hangindent=6pc \hangafter=-2 -This is an example of a paragraph with hanging indentation. -In this case, the first two lines are indented on the left, -but after that we return to unindented text. -\nextexample -\hangindent=-6pc \hangafter=1 -This is another example of a paragraph with hanging -indentation. Here, all lines after the first have been -indented on the right. The first line, on the other -hand, has been left unindented. -| -\produces -\hangindent=-6pc \hangafter=1 -This is another example of a paragraph with hanging -indentation. Here, all lines after the first have been -indented on the right. The first line, on the other -hand, has been left unindented. -\endexample -\enddesc - -\margin{{\tt\\textindent} has been moved to earlier in this section.} - -\begindesc -\cts parshape {$n\; i_1 l_1\; i_2 l_2\; \ldots \;i_n l_n$} -\explain -Cette commande sp\'ecifie le gabarit des $n$ premi\`eres lignes d'un para\-graphe. -Le prochain si vous \^etes en mode vertical et le paragraphe courant si vous -\^etes en mode horizontal. -Les $i$ et les $l$ sont toutes des dimensions. La premi\`ere ligne est indent\'ee de -$i_1$ et a une longueur de $l_1$, la seconde ligne est indent\'ee de $i_2$ et a -une longueur de $l_2$, et ainsi de suite. -si le paragraphe a plus de $n$ lignes, la derni\`ere paire indentation\slash -longueur est utilis\'ee pour les autres lignes. -Pour parachever des effets sp\'eciaux comme celui montr\'e ici, vous devrez -normalement faire beaucoup d'essais, ins\'erer des cr\'enages ici et l\`a et -choisir votre mot pour remplir le gabarit. - -|\parshape|, comme ^|\hangafter| et ^|\hangindent|, n'est effectif que pour -un paragraphe. -Si vous sp\'ecifiez |\hangafter| et |\hangindent| de m\^eme que |\par!-shape|, -\TeX\ ignorera ^|\hangafter| et ^|\hangindent|. -\ifodd\pageno\vfill\eject\fi % so the wineglass is on a single page. - -\example -% A small font and close interline spacing make this work -\smallskip\font\sixrm=cmr6 \sixrm \baselineskip=7pt -\fontdimen3\font = 1.8pt \fontdimen4\font = 0.9pt -\noindent \hfuzz 0.1pt -\parshape 30 0pt 120pt 1pt 118pt 2pt 116pt 4pt 112pt 6pt -108pt 9pt 102pt 12pt 96pt 15pt 90pt 19pt 84pt 23pt 77pt -27pt 68pt 30.5pt 60pt 35pt 52pt 39pt 45pt 43pt 36pt 48pt -27pt 51.5pt 21pt 53pt 16.75pt 53pt 16.75pt 53pt 16.75pt 53pt -16.75pt 53pt 16.75pt 53pt 16.75pt 53pt 16.75pt 53pt 16.75pt -53pt 14.6pt 48pt 24pt 45pt 30.67pt 36.5pt 51pt 23pt 76.3pt -Les vins de France et de Californie semblent \^etre -les plus connus, mais ne sont pas les seuls bons vins. -Les vins espagnols sont souvent sous-estim\'es, -et des assez vieux peu\-vent \^etre disponibles \`a des -prix raisonnables. Pour les vins espagnols, le mill\'esime -n'est pas important, mais le climat de la r\'egion de -Bordeaux varie selon les ann\'ees. Seuls certains sont -bons. Ceux que -vo\kern -.1pt us de\kern -.1pt v\kern -.1pt ez -noter tr\`es tr\`es bons~: -1962, 1964, 1966. 1958, 1959, 1960, 1961, 1964, 1966 sont de bons crus -californiens. \`A boire avec mod\'eration~! -| -%\margin{Wineglass text replaced because of permissions problem.} -\produces -% A small font and close interline spacing make this work -\smallskip\font\sixrm=cmr6 \sixrm \baselineskip=7pt -\fontdimen3\font = 1.8pt \fontdimen4\font = 0.9pt -\noindent \hfuzz 0.1pt -\parshape 30 0pt 120pt 1pt 118pt 2pt 116pt 4pt 112pt 6pt 108pt 9pt 102pt -12pt 96pt 15pt 90pt 19pt 84pt 23pt 77pt 27pt 68pt 30.5pt 60pt 35pt 52pt -39pt 45pt 43pt 36pt 48pt 27pt 51.5pt 21pt 53pt 16.75pt 53pt 16.75pt -53pt 16.75pt 53pt 16.75pt 53pt 16.75pt 53pt 16.75pt 53pt 16.75pt -53pt 16.75pt 53pt 14.6pt 48pt 24pt 45pt 30.67pt 36.5pt 51pt 23pt 76.3pt -Les vins de France et de Californie semblent \^etre -les plus connus, mais ne sont pas les seuls bons vins. -Les vins espagnols sont souvent sous-estim\'es, -et des assez vieux peu\-vent \^etre disponibles \`a des -prix raisonnables. Pour les vins espagnols, le mill\'esime -n'est pas important, mais le climat de la r\'egion de -Bordeaux varie selon les ann\'ees. Seuls certains sont -bons. Ceux que -vo\kern -.1pt us de\kern -.1pt v\kern -.1pt ez -noter tr\`es tr\`es bons~: -1962, 1964, 1966. 1958, 1959, 1960, 1961, 1964, 1966 sont de bons crus -californiens. \`A boire avec mod\'eration~! \endexample -\eix^^{indentation} -\enddesc - -\begindesc -\cts prevgraf {\param{nombre}} -\explain -En mode horizontal, ce param\`etre sp\'ecifie le -nombre de lignes dans le paragraphe en cours~; en mode vertical, -il sp\'ecifie le nombre de lignes dans le paragraphe pr\'ec\'edent. -\TeX\ ne prend en compte |\prevgraf| qu'apr\`es avoir fini de couper du texte -en ligne, c'est-\`a-dire, sur un affichage math\'ematique ou \`a la fin d'un -paragraphe. -Voir la \knuth{page~103}{121} pour plus de d\'etails \`a son propos. -\enddesc - -\begindesc -\cts vadjust {\rqbraces{\<mat\'eriel en mode vertical>}} -\explain -Cette commande ins\`ere le \<mat\'eriel en mode vertical> sp\'ecifi\'e juste apr\`es -la ligne de sortie contenant la position o\`u la commande se trouve. -^^{listes verticales//ins\'erer dans des paragraphes} -Vous pouvez l'utiliser, par exemple, pour provoquer un saut de page ou -ins\'erer de l'espace suppl\'ementaire apr\`es une certaine ligne. - -\example -Some of these words are \vadjust{\kern8pt\hrule} to be -found above the line and others are to be found below it. -| -\produces -Some of these words are \vadjust{\kern8pt -\hbox to \hsize{\hfil\vbox{\advance\hsize by -\parindent -\hrule width \hsize}}} -to be found above the line and others are to be found below it. -\endexample -\enddesc - -\see |\parindent| (\xref\parindent), -|\parskip| (\xref\parskip) ainsi que |\every!-par| (\xref\everypar). -\eix^^{coupures de ligne//et formation de paragraphe} -\eix^^{paragraphes//formation} - -%========================================================================== -\section {coupures de lignes} - -%========================================================================== -\subsection {Encourager ou d\'ecourager les coupures de ligne} - -\begindesc -\bix^^{coupures de ligne} -\bix^^{coupures de ligne//encouragement ou d\'ecouragement} -\ctspecial break {} \xrdef{hbreak} -\explain -Cette commande force une coupure de ligne, -\`a moins que vous fassiez quelque chose pour remplir la ligne, -Vous recevrez vraisemblablement une plainte ``underfull hbox''. -|\break| peut aussi \^etre utilis\'e en mode vertical. -\example -Fill out this line\hfil\break and start another one.\par -% Use \hfil here to fill out the line. -This line is underfull---we ended it\break prematurely. -% This line causes an `underfull hbox' complaint. -| -\produces -\hbadness = 10000 % avoid hbadness message -Fill out this line\hfil\break and start another one.\par -% Use \hfil here to fill out the line. -This line is underfull---we ended it\break prematurely. -% This line causes an `underfull hbox' complaint. -\endexample\enddesc - -\begindesc -\ctspecial nobreak {} \xrdef{hnobreak} -\explain -Cette commande emp\^eche une coupure de ligne l\`a o\`u elle -devrait se faire normalement. -|\nobreak| peut aussi \^etre utilis\'ee en mode vertical. -\example -Sometimes you'll encounter a situation where -a certain space\nobreak\qquad must not get lost. -| -\produces -Sometimes you'll encounter a situation where -a certain space\nobreak\qquad must not get lost. -\endexample -\enddesc - -\begindesc -\ctspecial allowbreak {} \xrdef{hallowbreak} -\explain -Cette commande demande \`a \TeX\ d'autoriser une coupure de ligne l\`a o\`u elle -n'arriverait pas normalement. -Elle est plus souvent utile dans une formule math\'ematique, car \TeX\ est -r\'eticent \`a couper de telles lignes. ^^{coupures de ligne//dans des formules math\'ematiques} -|\allowbreak| peut aussi \^etre utilis\'ee en mode vertical. -\example -Under most circumstances we can state with some confidence -that $2+2\allowbreak=4$, but skeptics may disagree. -\par For such moronic automata, it is not difficult to -analyze the input/\allowbreak output behavior in the limit. -| -\produces -Under most circumstances we can state with some confidence -that $2+2\allowbreak=4$, but skeptics may disagree. -\par For such moronic automata, it is not difficult to -analyze the input/\allowbreak output behavior in the limit. -\endexample\enddesc - -\begindesc -\ctspecial penalty {\<nombre>} \xrdef{hpenalty} -\explain -Cette commande produit un \'el\'ement de \minref{p\'enalit\'e}. -L'\'el\'ement de p\'enalit\'e rend \TeX\ plus ou moins d\'esireux de couper une ligne -\`a l'endroit o\`u cet \'el\'ement est plac\'e. -Une p\'enalit\'e n\'egative, c'est-\`a-dire, un bonus, encourage une coupure de ligne~; -une p\'enalit\'e positive d\'ecourage une coupure de ligne. -Une p\'enalit\'e de $10000$ ou plus emp\^eche une coupure quelle qu'elle soit, -tandis qu'une p\'enalit\'e de $-10000$ ou moins force une coupure. -|\penalty| peut aussi \^etre utilis\'ee en mode vertical. -%\secondprinting{\vfill\eject} -\example -\def\break{\penalty -10000 } % as in plain TeX -\def\nobreak{\penalty 10000 } % as in plain TeX -\def\allowbreak{\penalty 0 } % as in plain TeX -| -\endexample -\enddesc - -{\vglue-\baselineskip\vskip0pt} -\begindesc -\cts obeylines {} -\explain -\TeX\ normalement traite une fin de ligne comme un espace. -|\obeylines| demande \`a \TeX\ de traiter chaque fin de ligne comme -une fin de paragraphe, for\c cant ainsi une coupure de ligne. -|\obeylines| est souvent utile quand vous composez un po\`eme ou -un programme informatique. -^^{vers, composer des}^^{po\'esie, composer de la}^^{programmes informatiques, composer des} -Si quelques lignes sont plus longues que la longueur de ligne r\'eelle -(|\hsize|\tminus|\parindent|), -sinon, -vous aurez une coupure de ligne suppl\'ementaire dans ces lignes. - -Parce que \TeX\ ins\`ere le ressort |\parskip| (\xref\parskip) -entre des lignes contr\^ol\'ees par |\obeylines| (puisqu'il pense que chaque -ligne est un paragraphe), vous devrez normalement mettre |\parskip| \`a z\'ero -quand vous utiliserez |\obeylines|. - -Vous pouvez utiliser la commande ^|\obeyspaces| (\xref{\obeyspaces}) pour que -\TeX\ prenne en compte tous les espaces d'une ligne. |\obeylines| et |\obey!-spaces| -sont souvent utilis\'ees ensemble. -\example -\obeylines -``Beware the Jabberwock, my son!! -\quad The jaws that bite, the claws that catch!! -Beware the Jubjub bird, and shun -\quad The frumious Bandersnatch!!'' -| -\produces -\obeylines -``Beware the Jabberwock, my son! -\quad The jaws that bite, the claws that catch! -Beware the Jubjub bird, and shun -\quad The frumious Bandersnatch!'' -\endexample -\enddesc - -%\secondprinting{\vglue-\baselineskip\vskip0pt} - -\begindesc -\easy\cts slash {} -\explain -Cette commande produit un ^{slash} (/) et pr\'evient aussi \TeX\ qu'il peut -couper la ligne apr\`es le slash, si n\'ecessaire. -\example -Her oldest cat, while apparently friendly to most people, -had a Jekyll\slash Hyde personality when it came to mice. -| -\produces -Her oldest cat, while apparently friendly to most people, -had a Jekyll\slash Hyde personality when it came to mice. -\endexample -\eix^^{coupures de ligne//encouragement ou d\'ecouragement} -\enddesc - -%\secondprinting{\vfill\eject} - - -%========================================================================== -\subsection {param\`etres de coupure de lignes} - -\begindesc -\bix^^{coupures de ligne//param\`etres affectant les} -% -\cts pretolerance {\param{nombre}} -\cts tolerance {\param{nombre}} -\explain -Ces param\`etres d\'eterminent la \minref{m\'ediocrit\'e} que \TeX\ tol\`erera -sur chaque ligne quand il choisit des coupures de ligne -pour un paragraphe. -La m\'ediocrit\'e est une mesure de combien l'espacement inter-mot d\'evie de -l'id\'eal. -|\pretolerance| sp\'ecifie la m\'ediocrit\'e tol\'erable pour -des coupures de ligne sans c\'esure~; -|\tolerance| sp\'ecifie la m\'ediocrit\'e tol\'erable pour des coupures de ligne -avec c\'esure. -La m\'ediocrit\'e tol\'erable peut \^etre d\'epass\'ee de deux fa\c cons~: -un ligne est trop serr\'ee (les espaces inter-mots sont trop -petits) ou trop l\^ache (les espaces inter-mots sont trop grands). - -\ulist -\li Si \TeX\ doit faire une ligne trop rel\^ach\'ee, il -se plaint d'un ``underfull hbox''. -\li Si \TeX\ doit faire une ligne trop resserr\'ee, -il laisse la ligne d\'epasser dans la marge droite et -se plaint d'un ``overfull \minref{hbox}''. -\endulist - -\noindent \TeX\ choisit des coupures de ligne selon les \'etapes suivantes~: -\olist -\li Il essaye de choisir des coupures de ligne sans c\'esures. -Si aucune des lignes r\'esultantes n'a de m\'edio\-crit\'e d\'epassant |\pretolerance|, -les coupures de ligne sont accept\'ees et le paragraphe peut \^etre fait. -\li Sinon, il essaye un autre jeu de coupures de ligne, cette fois -en autorisant les c\'esures. Si aucune des lignes r\'esultantes n'a une m\'edio\-crit\'e -d\'epassant |\tolerance|, le nouveau jeu de coupures de ligne est -acceptable et le paragraphe peut maintenant \^etre fait. -\li Autrement, il ajoute ^|\emergencystretch| (voir plus bas) \`a l'\'etire\-ment -de chaque ligne et essaye encore. -\li Si aucun de ces essais n'a produit de jeu de coupures de ligne acceptable, -il fait le paragraphe avec un ou plusieurs ``overfull hbox'' -et s'en plaint. -\endolist - -\PlainTeX\ initialise |\tolerance| \`a $200$ et |\pretolerance| \`a $100$. -Si vous mettez |\tolerance| \`a $10000$, \TeX\ -devient infiniment tol\'erant et accepte tout espacement, quelque soit sa laideur -(\`a moins qu'il rencontre un mot qui ne tienne pas sur une ligne, m\^eme avec -c\'esure). Ainsi en changeant |\tolerance| vous pouvez \'eviter des -``overfull hbox'' et ``underfull hbox'', mais au prix de mauvais espacements. -En rendant |\pretolerance| plus grand vous pouvez faire que \TeX\ \'evite les -c\'esure et s'ex\'ecute aussi plus rapidement, -mais, encore, au prix d'\'eventuels mauvais espacements. -Si vous mettez |\pretolerance| \`a $-1$, -\TeX\ n'essayera m\^eme pas de faire le paragraphe sans c\'esure. - -Le param\`etre ^|\hbadness| (\xref \hbadness) d\'etermine le niveau de m\'ediocrit\'e -que \TeX\ tol\`erera avant de se plaindre, mais |\hbadness| n'affecte pas -la mani\`ere dont \TeX\ compose votre document. -Le param\`etre ^|\hfuzz| (\xref \hfuzz) d\'etermine le montant dont -une hbox peut d\'epasser sa largeur sp\'ecifi\'ee avant que \TeX\ la consid\`ere -erron\'ee. -\enddesc - -\begindesc -\cts emergencystretch {\param{dimension}} -\explain -En mettant ce param\`etre sup\'erieur \`a z\'ero, -vous pouvez rendre plus facile \`a \TeX\ la -composition de votre document sans g\'en\'erer d'``overfull hbox''. -^^{overfull boxes} -C'est une meilleur alternative \`a |\tolerance=10000|, -car cela tend \`a produire des lignes r\'eellement laides. -Si \TeX\ ne peut pas composer un paragraphe sans d\'epasser ^|\tolerance|, -il tentera encore, en ajoutant |\emergencystretch| \`a l'\'etirement de chaque -ligne. -L'effet du changement est de r\'eduire la m\'ediocrit\'e de chaque ligne, -autorisant \TeX\ \`a faire des espaces plus larges qu'ils auraient \'et\'e autrement -et ainsi de choisir des coupures de ligne qui seront aussi -bons que possible selon les circonstances. -\enddesc - -\begindesc -\cts looseness {\param{nombre}} -\explain -\minrefs{line break} -Ce param\`etre vous donne un moyen -de changer le nombre total de lignes dans un paragraphe par rapport \`a celui -qu'il aurait \'et\'e de mani\`ere optimale. -|\looseness| est ainsi nomm\'e parce que c'est une mesure de combien perd le -paragraphe, c'est-\`a-dire, combien d'espace suppl\'ementaire il contient. - -Normalement, |\looseness| est \`a $0$ et -\TeX\ choisit des coupures de ligne selon sa mani\`ere habituelle. Mais si -|\looseness| est \`a, disons, $3$, \TeX\ fait ainsi~: -\olist -\li Il choisit des coupures de ligne normalement, obtenant un paragraphe de $n$ lignes. -\li Il \'ecarte ces coupures de ligne et -tente de trouver un nouveau jeu de coupure de ligne -qui donne le paragraphe en $n+3$ lignes. -(Sans l'\'etape pr\'ec\'edente, \TeX\ ne saurait pas la valeur de $n$.) -\li Si l'essai pr\'ec\'edent donne des lignes dont la m\'ediocrit\'e d\'epasse -|\tol!-er!-ance|, -^^|\tolerance| -il tente d'obtenir $n+2$ lignes---et si cela \'echoue aussi, -$n+1$ lignes, et finalement $n$ lignes encore. -\endolist -\noindent -De m\^eme, si |\looseness| est \`a $-n$, -\TeX\ tente de faire le paragraphe avec $n$ lignes de moins que la normale. -Le moyen le plus simple pour \TeX\ de faire un paragraphe plus long d'une ligne est de mettre -un seul mot sur la ligne en plus. vous pouvez emp\^echer cela en -mettant un tilde (\xref{@not}) entre les deux derniers mots du paragraphe. - -Mettre |\looseness| est le meilleur moyen de forcer un paragraphe -\`a occuper un nombre de lignes donn\'e. -Le mettre \`a une valeur n\'egative est pratique quand vous essayez -d'augmenter la quantit\'e de texte que vous pouvez placer sur une page. -Similairement, le mettre \`a une valeur positive -est pratique quand vous essayez de diminuer la quantit\'e de texte sur -une page. - -\TeX\ remet |\looseness| \`a $0$ quand il termine un paragraphe, apr\`es avoir -coup\'e le paragraphe en lignes. -Si vous voulez changer le rel\^achement de plusieurs paragraphes, vous devez -le faire individuellement pour chacun ou mettre le changement dans |\everypar| -\ctsref\everypar. -^^|\everypar//pour fixer \b\tt\\looseness\e| -\enddesc - -\begindesc -\cts linepenalty {\param{nombre}} -\explain -\minrefs{line break} -Ce param\`etre sp\'ecifie les \minref{d\'em\'erites} que \TeX\ r\'epartit pour chaque coupure de ligne -quand il coupe un paragraphe en lignes. -La p\'enalit\'e est ind\'epen\-dante d'o\`u la coupure de ligne a lieu. -Augmenter la valeur -de ce param\`etre demande \`a \TeX\ d'essayer plus fortement de mettre un paragraphe avec -un nombre minimum de lignes, m\^eme au co\^ut d'autres consid\'erations esth\'etiques -comme \'eviter des espacements inter-mots excessivement res\-serr\'es. -Les d\'em\'erites sont en unit\'es de \minref{m\'ediocrit\'e} au carr\'e, donc -vous devez assigner une valeur plut\^ot large \`a ce param\`etre (dans les -milliers) pour qu'elle ait un quelconque effet. -\PlainTeX\ met |\linepenalty| \`a $10$. -\enddesc - -\begindesc -\cts adjdemerits {\param{nombre}} -\explain -\minrefs{line break} -^^{c\'esure//p\'enalit\'es pour} -{\tighten -Ce param\`etre sp\'ecifie des \minref{d\'em\'erites} additionnels que \TeX\ attache au -point de coupure entre deux lignes adjacentes qui sont -``incompatibles visuellement''. -De telles paires de lignes font qu'un paragraphe appara\^\i t in\'egal. -Les incompatibilit\'es sont \'evalu\'ees en termes d'\'etroitesse ou de rel\^achement -de lignes~: -} -\olist\compact -\li Une ligne est resserr\'ee si son \minref{ressort} doit se r\'etr\'ecir d'au moins $50\%$. -\li Une ligne est d\'ecente si sa m\'ediocrit\'e est de $12$ ou moins. -\li Une ligne est rel\^ach\'ee si son \minref{ressort} doit s'\'etirer d'au moins $50\%$. -\li Une ligne est tr\`es rel\^ach\'ee si son ressort doit tellement s'\'etirer -que sa m\'ediocrit\'e d\'epasse $100$. -\endolist -Deux lignes adjacentes sont visuellement incompatibles -si leurs cat\'ego\-ries ne sont pas adjacentes, c'est-\`a-dire, une ligne resserr\'ee -est apr\`es une rel\^ach\'ee ou une ligne d\'ecente apr\`es une tr\`es rel\^ach\'ee. - -Les d\'em\'erites sont en unit\'es de \minref{m\'ediocrit\'e} au carr\'ee, donc -vous devez assigner une valeur plut\^ot large \`a ce param\`etre (dans les -milliers) pour qu'elle ait un quelconque effet. -\PlainTeX\ met |\adjdemerits| \`a~$10000$. -\enddesc - -\begindesc -\bix^^{c\'esure//p\'enalit\'es pour} -\cts exhyphenpenalty {\param{nombre}} -\explain -\minrefs{line break} -Ce param\`etre sp\'ecifie la \minref{p\'enalit\'e} que \TeX\ attache \`a un -point de coupure sur une c\'esure explicite comme celle de -``helter-skelter''. Augmenter ce param\`etre a l'effet de d\'ecourager -\TeX\ de finir une ligne sur une c\'esure explicite. -\PlainTeX\ met |\exhyphenpenalty| \`a $50$. -\enddesc - -\begindesc -\cts hyphenpenalty {\param{nombre}} -\explain -\minrefs{line break} -Ce param\`etre sp\'ecifie la \minref{p\'enalit\'e} que \TeX\ attache \`a un -point de coupure sur une c\'esure implicite. -Des c\'esures implicites peuvent survenir du dictionnaire de c\'esure de \TeX\ ou -de ^{c\'esures optionnelles} que vous avez ins\'er\'e avec |\-|~(\xref{\@minus}). -^^|-//m\`ene \`a {\tt\\hyphenpenalty}| -Augmenter ce param\`etre a l'effet de d\'ecourager -\TeX\ de couper des mots. -\PlainTeX\ met |\hyphenpenalty| \`a $50$. -\enddesc - -\begindesc -\cts doublehyphendemerits {\param{nombre}} -\explain -\minrefs{line break} -{\tighten -Ce param\`etre sp\'ecifie les \minref{d\'em\'erites} additionnels que \TeX\ -attache \`a un point de coupure quand ce point de coupure arrive \`a -deux lignes cons\'ecu\-tives qui se terminent sur une c\'esure. -Augmenter la valeur de ce param\`etre d\'ecourage -\TeX\ de c\'esurer deux lignes \`a suivre. -Les d\'em\'erites sont en unit\'es de \minref{m\'ediocrit\'e} au carr\'e, donc -vous devez assigner une valeur plut\^ot large \`a ce param\`etre (dans les -milliers) pour qu'elle ait un quelconque effet. -\PlainTeX\ met |\doublehyphendemerits| \`a $10000$. -} -\enddesc - -\begindesc -\cts finalhyphendemerits {\param{nombre}} -\explain -\minrefs{line break} -{\tighten -Ce param\`etre sp\'ecifie les \minref{d\'em\'erites} additionnels que \TeX\ -attache \`a un point de coupure qui fait que l'avant derni\`ere ligne d'un -paragraphe se termine avec une c\'esure. -Une telle c\'esure est g\'en\'eralement consid\'er\'ee inesth\'etique -parce que l'espace blanc \'eventuel provoqu\'e par une derni\`ere ligne courte -la rend m\'eprisable. -Augmenter la valeur de ce param\`etre d\'ecourage -\TeX\ de finir l'avant derni\`ere ligne avec une c\'esure. -Les d\'em\'erites sont en unit\'es de \minref{m\'ediocrit\'e} au carr\'e, donc -vous devez assigner une valeur plut\^ot large \`a ce param\`etre (dans les -milliers) pour qu'elle ait un quelconque effet. -\PlainTeX\ met |\finalhyphendemerits| \`a $5000$. -} -\eix^^{c\'esure//p\'enalit\'es pour} -\enddesc - -\begindesc -\cts binoppenalty {\param{nombre}} -\explain -^^{op\'erateurs} -Ce param\`etre sp\'ecifie la p\'enalit\'e d'une coupure d'une formule math\'e\-ma\-tique -apr\`es un op\'erateur binaire quand la formule appara\^\i t dans un paragraphe. -\PlainTeX\ met |\binoppenalty| \`a $700$. -\enddesc - -\begindesc -\cts relpenalty {\param{nombre}} -\explain -^^{relations} -Ce param\`etre sp\'ecifie la p\'enalit\'e pour une coupure d'une formule math\'e\-ma\-tique -apr\`es une relation quand la formule appara\^\i t dans un paragraphe. -\PlainTeX\ met |\rel!-penal!-ty| \`a~$500$. - -\eix^^{coupures de ligne//param\`etres affectant les} -\enddesc - -%========================================================================== -\subsection {C\'esure} - -\begindesc -\bix^^{c\'esure} -% -\easy\ctspecial - \ctsxrdef{@minus} -\explain -La commande |\-| ins\`ere une ``c\'esure optionnelle'' -^^{c\'esures optionnelles} -dans un mot. -La c\'esure optionnelle autorise \TeX\ de couper le mot \`a cet -endroit. \TeX\ n'est pas oblig\'e de couper l\`a---il ne le fera -que s'il le faut. Cette commande est utile quand un mot -qui appara\^\i t une ou deux fois dans votre document -doit \^etre coup\'e, -mais que \TeX\ ne peut pas trouver de point de coupure appropri\'ee de lui-m\^eme. -\example -Alice was exceedingly reluctant to shake hands first -with either Twee\-dle\-dum or Twee\-dle\-dee, for -fear of hurting the other one's feelings. -| -\produces -Alice was exceedingly reluctant to shake hands first -with either Twee\-dle\-dum or Twee\-dle\-dee, for -fear of hurting the other one's feelings. -\endexample -\enddesc - -\begindesc -\cts discretionary {\rqbraces{\<pre-break text>} - \rqbraces{\<post-break text>} - \rqbraces{\<no-break text>}} -\explain -\minrefs{line break} -^^{c\'esure} -Cette commande sp\'ecifie une ``coupure optionnelle'', autrement dit, -un endroit o\`u \TeX\ peut couper une ligne. -Elle dit aussi \`a \TeX\ quel texte mettre de chaque cot\'e de la coupure. -\ulist -\li Si \TeX\ ne doit pas couper l\`a, il utilise le \<no-break text>. -\li Si \TeX\ doit couper l\`a, il met le \<pre-break text> juste avant -la coupure et le \<post-break text> juste apr\`es la coupure. -\endulist -\noindent -Comme avec |\-|, -\TeX\ n'est pas oblig\'e de couper une ligne sur une coupure optionnelle. -En fait, |\-| est normalement \'equivalent \`a |\discretionary!allowbreak{-}{}{}|. - -Parfois, \TeX\ ins\`ere des coupures optionnelles de lui-m\^eme. -Par ex\-emple, il ins\`ere |\discretionary!allowbreak{}{}{}| apr\`es -une c\'esure explicite ou un tiret. - -{\hyphenchar\tentt=-1 % needed to avoid weirdnesses -\example -% An ordinary discretionary hyphen (equivalent to \-): -\discretionary{-}{}{} -% A place where TeX can break a line, but should not -% insert a space if the line isn't broken there, e.g., -% after a dash: -\discretionary{}{}{} -% Accounts for German usage: `flicken', but `flik- -% ken': -German ``fli\discretionary{k-}{k}{ck}en'' -| -^^{c\'esure//allemande} -\endexample} - -\enddesc - -\begindesc -\cts hyphenation {\rqbraces{\<mot>\thinspace\vs\ $\ldots$\ \vs - \thinspace\<mot>}} -\explain -\TeX\ garde un dictionnaire des exceptions de ses r\`egles de ^{c\'esure}. -Chaque entr\'ee du dictionnaire indique comment un mot particulier doit -\^etre coup\'e. -La commande |\hyphenation| ajoute des mots au dictionnaire. -Son argument est une suite de mots s\'epar\'ee par des blancs. -Les lettres majuscules et minuscules sont \'equivalentes. -Les c\'esures dans chaque mot indiquent les endroits -o\`u \TeX\ peut couper ce mot. -Un mot sans c\'esure ne sera jamais coup\'e. -Dans tous les cas, vous pouvez outrepasser le dictionnaire de c\'esure en -utilisant |\-| pour une occurrence particuli\`ere d'un mot. -Vous devez produire toutes les formes grammaticales d'un mot -que vous voulez que \TeX\ coupe, c'est-\`a-dire, le singulier et le pluriel. - -\example -\hyphenation{Gry-phon my-co-phagy} -\hyphenation{man-u-script man-u-scripts piz-za} -| -\endexample -\enddesc - -\begindesc -\cts uchyph {\param{nombre}} -\explain -Une valeur positive de |\uchyph| (c\'esure majuscule) -permet d\'ecouper des mots, comme des noms propres, -qui commencent par une lettre capitale. -Une valeur \`a z\'ero ou n\'egative -inhibe de telle coupure. \PlainTeX\ met |\uchyph| \`a $1$, -donc \TeX\ essaye normalement de couper les mots qui commencent par une lettre capital. -\enddesc - -\begindesc -\cts showhyphens {\rqbraces{\<mot>\thinspace\vs\ $\ldots$\ \vs - \thinspace\<mot>}} -\explain -Cette commande n'est habituellement pas utilis\'ee dans des documents, -mais vous pouvez l'utiliser sur votre terminal pour voir comment \TeX\ -couperait certains jeux de mots al\'eatoires. -Les mots, avec les coupures visibles, apparaissent dans le log et sur -votre terminal. Vous obtiendrez une plainte \`a propos d'une ``underfull -hbox''---ignorez la. -\example -\showhyphens{threshold quizzical draughts argumentative} -| -\logproduces -Underfull \hbox (badness 10000) detected at line 0 -[] \tenrm thresh-old quizzi-cal draughts ar-gu-men-ta-tive -| -\endexample -\enddesc - -\begindesc -\cts language {\param{number}} -\explain -Des langages diff\'erents ont diff\'erents jeux de r\`egles de c\'esure. -Ce para\-m\`etre d\'etermine le jeu de ^{r\`egles de c\'esure} que \TeX\ utilise. -En changeant |\language| vous pouvez obtenir que \TeX\ -coupe des portions de texte ou des documents entiers en accord avec les -r\`egles de c\'esure appropri\'ees \`a un langage particulier. -^^{langues europ\'eennes} -Votre ^{support local} sur \TeX\ vous dira si des -jeux additionnels de r\`egles de c\'esure sont accessibles (derri\`ere celui -pour l'anglais) -et quelles sont les valeurs appropri\'ees de |\language|. -La valeur par d\'efaut de |\language| est $0$. - -\TeX\ met le langage courant \`a $0$ au d\'ebut de tous les paragraphes, -et compare |\language| au langage courant \`a chaque fois qu'il ajoute -un caract\`ere au paragraphe courant. -Si ce n'est pas le m\^eme, \TeX\ ajoute un ^{\elementextra} indiquant -que le langage change. -Cet \'el\'ement extraordinaire est la preuve pour les prochaines ex\'ecutions que les r\`egles de langage -peuvent changer. -\enddesc - -\begindesc -\cts setlanguage {\<nombre>} -\explain -Cette commande met le langage courant \`a \<nombre> -en ins\'erant le m\^eme \'el\'ement extraordinaire que vous obtiendrez en changeant -^|\language|. -En outre, elle ne change pas la valeur de |\language|. -\enddesc - -\begindesc -\cts lefthyphenmin {\param{nombre}} -\cts righthyphenmin {\param{nombre}} -\explain -Ces param\`etres sp\'ecifient les plus petits fragments de mots que \TeX\ autorise -\`a gauche et \`a droite d'un mot coup\'e. -\PlainTeX\ les initialise par d\'efaut \`a $2$ et $3$ respectivement~; -ce sont les valeurs recommand\'ees pour l'anglais. -\enddesc - -\begindesc -\bix^^{polices//caract\`eres de c\'esure pour} -\cts hyphenchar {\<police>\param{nombre}} -\explain -\TeX\ n'utilise pas n\'ecessairement le caract\`ere `-' aux points de c\'esure. -A la place, il utilise le |\hyphenchar| de la police courante, qui est -habituellement `-' mais pas n\'ecessairement. Si une police a une valeur - |\hyphenchar| n\'egative, -\TeX\ ne coupe pas de mots dans cette police. - -Notez que \<police> est une s\'equence de contr\^ole -qui nomme une police, pas un \<nom de police> qui nomme des fichiers de -police. -Attention~: -un assignement \`a |\hyphenchar| n'est \emph{pas} r\'einitialis\'e \`a la fin -d'un groupe. -Si vous voulez changer |\hyphenchar| localement, vous devrez -sauvegarder et restaurer sa valeur originale explicitement. - -\example -\hyphenchar\tenrm = `- - % Set hyphenation for tenrm font to `-'. -\hyphenchar\tentt = -1 - % Don't hyphenate words in font tentt. -| -\endexample -\enddesc - -\begindesc -\cts defaulthyphenchar {\param{nombre}} -\explain -Quand \TeX\ lit le fichier de m\'etriques -^^{fichiers de m\'etriques//tiret de c\'esure par d\'efaut dans} -pour une police en r\'eponse \`a une commande -^|\font|, il met le ^|\hyphenchar| de la police dans -|\default!-hyphen!-char|. -Si la valeur de |\default!-hyphen!-char| n'est -pas dans la fourchette $0$--$255$ quand vous chargez une police, -\TeX\ ne coupera aucun mot dans cette police \`a moins que vous -outrepassiez la d\'ecision en mettant le |\hyphenchar| de la police apr\`es. -\PlainTeX\ met |\default!-hyphen!-char| \`a $45$, le code \ascii\ -pour `|-|'. -\example -\defaulthyphenchar = `- - % Assume `-' is the hyphen, unless overridden. -\defaulthyphenchar = -1 - % Don't hyphenate, unless overridden. -| -\endexample - -\eix^^{polices//caract\`eres de c\'esure pour} -\enddesc - -\see |\pretolerance| (\xref \pretolerance). -\eix^^{c\'esure} -\eix^^{coupures de ligne} - -%========================================================================== -\section {Ent\^etes de section, listes et th\'eor\`emes} - -\begindesc -^^{ent\^etes de section} -\easy\ctspecial beginsection {\<argument>\thinspace{\bt\\par}} - \ctsxrdef{@beginsection} -\explain -Vous pouvez utiliser cette commande pour d\'ebuter une subdivision majeure de votre document. -\<argument> est pr\'evu pour servir de titre de section. -|\beginsection| amplifie \<argument> -par de l'espace vertical suppl\'ementaire et le met en -police grasse, justifi\'e \`a gauche. -Vous pouvez produire le |\par| qui termine \<argument> avec une ligne blanche. -\let\message = \gobble % Don't bother to tell us about Pig and Pepper. -\example -$\ldots$ till she had brought herself down to nine -inches high. - -\beginsection Section 6. Pig and Pepper - -For a minute or two she stood looking at the house $\ldots$ -| -\produces -$\ldots$ till she had brought herself down to nine -inches high. - -\beginsection Section 6. Pig and Pepper - -For a minute or two she stood looking at the house $\ldots$ -\endexample -\enddesc - -\begindesc -\cts item {\<argument>} -\cts itemitem {\<argument>} -\explain -^^{listes d'\'el\'ements} -Cette commande est utile pour cr\'eer des ^{listes d'\'el\'ements}. Tout le paragraphe -suivant \<argument> est indent\'e de |\parindent| -^^|\parindent//indentation pour listes d'\'el\'ements| -(pour |\item|) ou par |2\parindent| (pour |\itemitem|). -(Voir \xrefpg{\parindent} pour une explication de |\parindent|.) -Ensuite \<argument>, -suivi par un espace demi-cadratin, est plac\'e juste \`a -la gauche du texte de la -premi\`ere ligne du paragraphe pour qu'il tombe avec l'indentation du paragraphe -comme sp\'ecifi\'e par |\parindent|. - -Si vous voulez inclure plus d'un -paragraphe dans un \'el\'ement, mettez |\item{}| devant les paragraphes additionnels. -\example -{\parindent = 18pt -\noindent Here is what we require: -\item{1.}Three eggs in their shells, -but with the yolks removed. -\item{2.}Two separate glass cups containing: -\itemitem{(a)}One-half cup {\it used} motor oil. -\itemitem{(b)}One cup port wine, preferably French. -\item{3.}Juice and skin of one turnip.} -| -\produces -{\parindent = 18pt -\noindent Here is what we require: -\item{1.}Three eggs in their shells, -but with the yolks removed. -\item{2.}Two separate glass cups containing: -\itemitem{(a)}One-half cup {\it used} motor oil. -\itemitem{(b)}One cup port wine, preferably French. -\item{3.}Juice and skin of one turnip.} -\endexample -\enddesc - -\begindesc -\easy\ctspecial proclaim {\<argument>{\tt.}\vs\thinspace - \<texte g\'en\'eral>\thinspace{\bt\\par}} - \ctsxrdef{@proclaim} -\explain -^^{th\'eor\`emes} -^^{lemmes} -^^{hypoth\`eses} -Cette commande ``proclame'' un th\'eor\`eme, un lemme, une hypoth\`ese, etc. -Elle met \<argument> en police grasse et le paragraphe suivant en -italique. \<arg\-u\-ment> doit \^etre suivi par un point et un token espace, -qui servent \`a s\'eparer \<argument> du \<texte g\'en\'eral>. -\<texte g\'en\'eral> est constitu\'e du texte jusqu'\`a la fronti\`ere du paragraphe suivant, -sauf que vous pouvez inclure des paragraphes multiples en les mettant -entre accolades et terminer un paragraphe apr\`es l'accolade droite fermante. -\example -\proclaim Theorem 1. -What I say is not to be believed. - -\proclaim Corollary 1. Theorem 1 is false.\par -| -\produces -\proclaim Theorem 1. -What I say is not to be believed. - -\proclaim Corollary 1. Theorem 1 is false.\par -\endexample -\enddesc - -\enddescriptions -\endchapter -\byebye - +la largeur habituelle des lignes dans un paragraphe commen\c cant \`a la
+marge gauche. Beaucoup de commandes \TeX emploient
+implicitement la valeur de |\hsize|, comme par exemple,
+|\center!-line| (\xref{\centerline}) et |\hrule| (\xref{\hrule}). En changeant le |\hsize| dans un
+groupe vous pouvez changer la largeur des constructions produites par de
+telles commandes.
+
+Si vous placez |\hsize| dans un \minref{vbox} qui contient du texte, le
+vbox aura la largeur que vous aurez donn\'ee au |\hsize|.
+^^{vbox//largeur d\'etermin\'ee par \b\tt\\hsize\e}
+
+\PlainTeX\ fixe |\hsize| \`a |6.5in|.
+
+\example
+{\hsize = 3.5in % Set this paragraph 3.5 inches wide.
+The hedgehog was engaged in a fight with another hedgehog,
+which seemed to Alice an excellent opportunity for
+croqueting one of them with the other.\par}%
+|
+\produces
+{\hsize = 3.5in
+The hedgehog was engaged in a fight with another hedgehog,
+which seemed to Alice an excellent opportunity for croqueting
+one of them with the other.\par}%
+
+\doruler{\8\8\8\tick\1\tick\2\tick\1\tick\3}{3.5}{in}
+\nextexample
+\leftline{\raggedright\vtop{\hsize = 1.5in
+Here is some text that we put into a paragraph that is
+an inch and a half wide.}\qquad
+\vtop{\hsize = 1.5in Here is some more text that
+we put into another paragraph that is an inch and a
+half wide.}}
+|
+\produces
+\leftline{\raggedright\vtop{\hsize = 1.5in
+Here is some text that we put into a paragraph that is
+an inch and a half wide.}\qquad
+\vtop{\hsize = 1.5in Here is some more text that
+we put into another paragraph that is an inch and a
+half wide.}}
+\endexample
+\enddesc
+
+\begindesc
+\easy\cts narrower {}
+
+\explain
+^^{paragraphes//\'etroit}
+Cette commande donne des paragraphes plus \'etroits, en augmentant les marges
+gauches et droites de |\parindent|, l'^{indentation} de paragraphe
+courante. Elle r\'ealise ceci en augmentant |\leftskip| et |\rightskip| de
+|\parindent|. Normalement vous placez |\narrower| au d\'ebut d'un
+\minref{groupe} contenant les paragraphes que vous voulez rendre plus
+\'etroits. Si vous oubliez d'enfermer |\narrower| dans un groupe, vous
+constaterez que tout le reste de votre document aura des paragraphes
+\'etroits.
+
+|\narrower| n'affecte que les paragraphes qui terminent apr\`es que vous
+l'ayez appel\'e. Si vous terminez un groupe |\narrower| avant d'avoir fini un
+paragraphe, \TeX\ ne rendra pas ce paragraphe plus \'etroit.
+
+\example
+{\parindent = 12pt \narrower\narrower\narrower
+This is a short paragraph. Its margins are indented
+three times as much as they would be
+had we used just one ``narrower'' command.\par}
+|
+\produces
+{\parindent = 12pt \narrower\narrower\narrower
+This is a short paragraph. Its margins are indented
+three times as much as they would be
+had we used just one ``narrower'' command.\par}
+\endexample\enddesc
+
+\begindesc
+\cts leftskip {\param{ressort}}
+\cts rightskip {\param{ressort}}
+
+\explain
+Ces param\`etres indiquent \`a \TeX\ combien de ressort placer aux extr\'emit\'es
+gauches et droites de chaque ligne du paragraphe courant. Nous n'expli\-%
+querons que le fonctionnement de |\leftskip| puisque |\rightskip| est
+similaire.
+
+^^{indentation} Vous pouvez augmenter la marge gauche en pla\c cant
+|\leftskip| \`a une \minref{dimension} diff\'erente de z\'ero. Si vous donnez \`a
+|\leftskip| un certain \'etirement, vous pouvez produire du texte ^{cadr\'e \`a
+droite}, c'est-\`a-dire, du texte qui a une marge gauche in\'egale.
+
+Normalement, vous devriez enfermer tout \minref{assignement} \`a |\leftskip|
+dans un \minref{groupe} avec le texte affect\'e afin d'emp\^echer son effet de
+continuer jusqu'\`a la fin de votre document. Cependant, il est injustifi\'e de
+changer la valeur de |\leftskip| \`a l'int\'erieur d'un groupe qui est, lui
+aussi, contenu dans un paragraphe---la valeur de |\leftskip| \`a la
+\emph{fin} d'un paragraphe est celle qui d\'etermine comment \TeX\ coupera le
+paragraphe en lignes. \minrefs{line break}
+
+\example
+{\leftskip = 1in The White Rabbit trotted slowly back
+again, looking anxiously about as it went, as if it had
+lost something. {\leftskip = 10in % has no effect
+It muttered to itself, ``The Duchess!! The Duchess!! She'll
+get me executed as sure as ferrets are ferrets!!''}\par}%
+|
+\produces
+{\leftskip = 1in The White Rabbit trotted slowly back
+again, looking anxiously about as it went, as if it had
+lost something. {\leftskip = 10in % has no effect
+It muttered to itself, ``The Duchess! The Duchess!
+She'll get me executed as sure as ferrets are ferrets!''}\par}%
+\nextexample
+\pretolerance = 10000 % Don't hyphenate.
+\rightskip = .5in plus 2em
+The White Rabbit trotted slowly back again, looking
+anxiously about as it went, as if it had lost something.
+It muttered to itself, ``The Duchess!! The Duchess!! She'll
+get me executed as sure as ferrets are ferrets!!''
+|
+\produces
+\pretolerance = 10000 % Don't hyphenate.
+\rightskip = .5in plus 2em
+The White Rabbit trotted slowly back again, looking
+anxiously about as it went, as if it had lost something.
+It muttered to itself, ``The Duchess! The Duchess! She'll
+get me executed as sure as ferrets are ferrets!''
+\endexample
+\enddesc
+
+\begindesc
+\easy\cts raggedright {}
+\cts ttraggedright {}
+
+\explain
+Ces commandes font que \TeX\ compose votre document
+``^{cadr\'e \`a gauche}''. Les espaces inter-mots ont tous
+leur taille naturelle, c'est-\`a-dire, ils ont tous la m\^eme largeur et
+ne s'\'etirent ni se r\'etr\'ecissent.
+En cons\'equence, leur marge droite n'est g\'en\'eralement pas la m\^eme.
+L'alternative, qui est le comportement par d\'efaut de \TeX, est de composer
+votre document justifi\'e,
+^^{justification}
+c'est-\`a-dire, avec des marges gauches et droites uniformes.
+Dans du texte justifi\'e, les espaces inter-mots sont \'etir\'es pour
+aligner des marges de droite.
+Certains typographes pr\'ef\`erent cadrer \`a gauche parce que
+cela \'evite des ``rivi\`eres'' distractives d'espace sur la page imprim\'ee.
+\minrefs{justified text}
+
+Vous devez utiliser la commande |\ttraggedright| pour composer du texte dans
+une police non proportionnelle et la commande |\raggedright| command pour
+composer de texte dans toutes les autres polices.
+
+La plupart du temps vous voudrez appliquer ces commandes \`a un document entier,
+mais vous pouvez limiter leurs effets en les englobant
+dans un \minref{groupe}.
+\example
+\raggedright ``You couldn't have it if you {\it did\/}
+want it,'' the Queen said. ``The rule is, jam tomorrow
+and jam yesterday---but never jam {\it today\/}.''
+``It {\it must\/} come sometimes to `jam today,%
+thinspace'' Alice objected. ``No, it can't'', said the
+Queen. ``It's jam every {\it other\/} day: today isn't
+any {\it other\/} day.''
+|
+\produces
+\raggedright ``You couldn't have it if you {\it did\/}
+want it,'' the Queen said. ``The rule is, jam tomorrow
+and jam yesterday---but never jam {\it today\/}.''
+``It {\it must\/} come sometimes to `jam today,%
+'\thinspace'' Alice objected. ``No, it can't'', said the
+Queen. ``It's jam every {\it other\/} day: today isn't
+any {\it other\/} day.''
+\endexample
+\enddesc
+
+\begindesc
+\cts hang {}
+\explain
+Cette commande indente la seconde ligne et les suivantes d'un paragraphe
+de |\parindent|, l'^{indentation} du paragraphe.
+(\xref{\parindent}).
+Puisque la premi\`ere ligne est d\'ej\`a indent\'ee par |\parindent|
+(\`a moins que vous ayez supprim\'e l'indentation avec |\noindent|), le
+paragraphe entier appara\^\i t \^etre indent\'e de |\parindent|.
+
+\example
+\parindent=24pt \hang ``I said you {\it looked} like an
+egg, Sir,'' Alice gently explained to Humpty Dumpty. ``And
+some eggs are very pretty, you know,'' she added.
+|
+\produces
+\parindent=24pt \hang ``I said you {\it looked} like an
+egg, Sir,'' Alice gently explained to Humpty Dumpty. ``And
+some eggs are very pretty, you know,'' she added.
+\endexample
+\enddesc
+
+\begindesc
+\cts hangafter {\param{nombre}}
+\cts hangindent {\param{dimension}}
+
+\explain
+Ces deux \minref{param\`etre}s associ\'es
+sp\'ecifient l'``^{indentation r\'emanente}'' pour un paragraphe.
+L'indentation r\'emanente indique \`a \TeX\ que certaines lignes
+du paragraphe doivent
+\^etre indent\'ees et que les lignes restantes doivent avoir leur largeur normale
+^^{indentation}
+|\hangafter| d\'etermine quelles lignes
+sont indent\'ees, tandis que |\hangindent| d\'etermine le montant d'inden\-tation
+et si elle appara\^\i t sur la gauche ou sur la droite~:
+
+\ulist
+\li Soit $n$ la valeur de |\hangafter|. Si $n < 0$,
+Les $-n$ premi\`eres lignes du paragraphe seront indent\'ees.
+Si $n\ge0$, toutes sauf les $n$ premi\`eres lignes du paragraphe seront
+indent\'ees.
+
+\li Soit $x$ la valeur de |\hangindent|.
+Si $x\ge0$, les lignes seront indent\'ees
+de $x$ \`a gauche. Si $x<0$, les lignes seront indent\'ees de $-x$ sur
+la droite.
+\endulist
+
+Quand vous sp\'ecifiez de l'indentation r\'emanente, elle ne s'applique
+qu'au paragraphe suivant (si vous \^etes en mode vertical) ou au
+paragraphe courant (si vous \^etes en mode horizontal).
+\TeX\ utilise les valeurs de |\hangafter| et |\hangindent| \`a la fin d'un
+paragraphe, quand il coupe ce paragraphe en lignes.\minrefs{line
+break}
+
+\`A la diff\'erence de la plupart des autres param\`etres de mise en forme de paragraphe,
+|\hangafter| et |\hangindent| sont r\'einitialis\'es
+au d\'ebut de chaque paragraphe, soit,
+$1$ pour |\hangafter| et $0$ pour |\hangindent|.
+Si vous voulez composer une suite de paragraphes avec de l'indentation r\'emanente,
+utilisez |\everypar| (\xref{\everypar}).
+^^|\everypar//pour indentation r\'emanente|
+Si vous sp\'ecifiez |\hangafter| et |\hangindent| de m\^eme que ^|\parshape|,
+\TeX\ ignorera |\hangafter| et |\hangindent|.
+
+\example
+\hangindent=6pc \hangafter=-2
+This is an example of a paragraph with hanging indentation.
+In this case, the first two lines are indented on the left,
+but after that we return to unindented text.
+|
+\produces
+\hangindent=6pc \hangafter=-2
+This is an example of a paragraph with hanging indentation.
+In this case, the first two lines are indented on the left,
+but after that we return to unindented text.
+\nextexample
+\hangindent=-6pc \hangafter=1
+This is another example of a paragraph with hanging
+indentation. Here, all lines after the first have been
+indented on the right. The first line, on the other
+hand, has been left unindented.
+|
+\produces
+\hangindent=-6pc \hangafter=1
+This is another example of a paragraph with hanging
+indentation. Here, all lines after the first have been
+indented on the right. The first line, on the other
+hand, has been left unindented.
+\endexample
+\enddesc
+
+\margin{{\tt\\textindent} has been moved to earlier in this section.}
+
+\begindesc
+\cts parshape {$n\; i_1 l_1\; i_2 l_2\; \ldots \;i_n l_n$}
+\explain
+Cette commande sp\'ecifie le gabarit des $n$ premi\`eres lignes d'un para\-graphe.
+Le prochain si vous \^etes en mode vertical et le paragraphe courant si vous
+\^etes en mode horizontal.
+Les $i$ et les $l$ sont toutes des dimensions. La premi\`ere ligne est indent\'ee de
+$i_1$ et a une longueur de $l_1$, la seconde ligne est indent\'ee de $i_2$ et a
+une longueur de $l_2$, et ainsi de suite.
+si le paragraphe a plus de $n$ lignes, la derni\`ere paire indentation\slash
+longueur est utilis\'ee pour les autres lignes.
+Pour parachever des effets sp\'eciaux comme celui montr\'e ici, vous devrez
+normalement faire beaucoup d'essais, ins\'erer des cr\'enages ici et l\`a et
+choisir votre mot pour remplir le gabarit.
+
+|\parshape|, comme ^|\hangafter| et ^|\hangindent|, n'est effectif que pour
+un paragraphe.
+Si vous sp\'ecifiez |\hangafter| et |\hangindent| de m\^eme que |\par!-shape|,
+\TeX\ ignorera ^|\hangafter| et ^|\hangindent|.
+\ifodd\pageno\vfill\eject\fi % so the wineglass is on a single page.
+
+\example
+% A small font and close interline spacing make this work
+\smallskip\font\sixrm=cmr6 \sixrm \baselineskip=7pt
+\fontdimen3\font = 1.8pt \fontdimen4\font = 0.9pt
+\noindent \hfuzz 0.1pt
+\parshape 30 0pt 120pt 1pt 118pt 2pt 116pt 4pt 112pt 6pt
+108pt 9pt 102pt 12pt 96pt 15pt 90pt 19pt 84pt 23pt 77pt
+27pt 68pt 30.5pt 60pt 35pt 52pt 39pt 45pt 43pt 36pt 48pt
+27pt 51.5pt 21pt 53pt 16.75pt 53pt 16.75pt 53pt 16.75pt 53pt
+16.75pt 53pt 16.75pt 53pt 16.75pt 53pt 16.75pt 53pt 16.75pt
+53pt 14.6pt 48pt 24pt 45pt 30.67pt 36.5pt 51pt 23pt 76.3pt
+Les vins de France et de Californie semblent \^etre
+les plus connus, mais ne sont pas les seuls bons vins.
+Les vins espagnols sont souvent sous-estim\'es,
+et des assez vieux peu\-vent \^etre disponibles \`a des
+prix raisonnables. Pour les vins espagnols, le mill\'esime
+n'est pas important, mais le climat de la r\'egion de
+Bordeaux varie selon les ann\'ees. Seuls certains sont
+bons. Ceux que
+vo\kern -.1pt us de\kern -.1pt v\kern -.1pt ez
+noter tr\`es tr\`es bons~:
+1962, 1964, 1966. 1958, 1959, 1960, 1961, 1964, 1966 sont de bons crus
+californiens. \`A boire avec mod\'eration~!
+|
+%\margin{Wineglass text replaced because of permissions problem.}
+\produces
+% A small font and close interline spacing make this work
+\smallskip\font\sixrm=cmr6 \sixrm \baselineskip=7pt
+\fontdimen3\font = 1.8pt \fontdimen4\font = 0.9pt
+\noindent \hfuzz 0.1pt
+\parshape 30 0pt 120pt 1pt 118pt 2pt 116pt 4pt 112pt 6pt 108pt 9pt 102pt
+12pt 96pt 15pt 90pt 19pt 84pt 23pt 77pt 27pt 68pt 30.5pt 60pt 35pt 52pt
+39pt 45pt 43pt 36pt 48pt 27pt 51.5pt 21pt 53pt 16.75pt 53pt 16.75pt
+53pt 16.75pt 53pt 16.75pt 53pt 16.75pt 53pt 16.75pt 53pt 16.75pt
+53pt 16.75pt 53pt 14.6pt 48pt 24pt 45pt 30.67pt 36.5pt 51pt 23pt 76.3pt
+Les vins de France et de Californie semblent \^etre
+les plus connus, mais ne sont pas les seuls bons vins.
+Les vins espagnols sont souvent sous-estim\'es,
+et des assez vieux peu\-vent \^etre disponibles \`a des
+prix raisonnables. Pour les vins espagnols, le mill\'esime
+n'est pas important, mais le climat de la r\'egion de
+Bordeaux varie selon les ann\'ees. Seuls certains sont
+bons. Ceux que
+vo\kern -.1pt us de\kern -.1pt v\kern -.1pt ez
+noter tr\`es tr\`es bons~:
+1962, 1964, 1966. 1958, 1959, 1960, 1961, 1964, 1966 sont de bons crus
+californiens. \`A boire avec mod\'eration~! \endexample
+\eix^^{indentation}
+\enddesc
+
+\begindesc
+\cts prevgraf {\param{nombre}}
+\explain
+En mode horizontal, ce param\`etre sp\'ecifie le
+nombre de lignes dans le paragraphe en cours~; en mode vertical,
+il sp\'ecifie le nombre de lignes dans le paragraphe pr\'ec\'edent.
+\TeX\ ne prend en compte |\prevgraf| qu'apr\`es avoir fini de couper du texte
+en ligne, c'est-\`a-dire, sur un affichage math\'ematique ou \`a la fin d'un
+paragraphe.
+Voir la \knuth{page~103}{121} pour plus de d\'etails \`a son propos.
+\enddesc
+
+\begindesc
+\cts vadjust {\rqbraces{\<mat\'eriel en mode vertical>}}
+\explain
+Cette commande ins\`ere le \<mat\'eriel en mode vertical> sp\'ecifi\'e juste apr\`es
+la ligne de sortie contenant la position o\`u la commande se trouve.
+^^{listes verticales//ins\'erer dans des paragraphes}
+Vous pouvez l'utiliser, par exemple, pour provoquer un saut de page ou
+ins\'erer de l'espace suppl\'ementaire apr\`es une certaine ligne.
+
+\example
+Some of these words are \vadjust{\kern8pt\hrule} to be
+found above the line and others are to be found below it.
+|
+\produces
+Some of these words are \vadjust{\kern8pt
+\hbox to \hsize{\hfil\vbox{\advance\hsize by -\parindent
+\hrule width \hsize}}}
+to be found above the line and others are to be found below it.
+\endexample
+\enddesc
+
+\see |\parindent| (\xref\parindent),
+|\parskip| (\xref\parskip) ainsi que |\every!-par| (\xref\everypar).
+\eix^^{coupures de ligne//et formation de paragraphe}
+\eix^^{paragraphes//formation}
+
+%==========================================================================
+\section {coupures de lignes}
+
+%==========================================================================
+\subsection {Encourager ou d\'ecourager les coupures de ligne}
+
+\begindesc
+\bix^^{coupures de ligne}
+\bix^^{coupures de ligne//encouragement ou d\'ecouragement}
+\ctspecial break {} \xrdef{hbreak}
+\explain
+Cette commande force une coupure de ligne,
+\`a moins que vous fassiez quelque chose pour remplir la ligne,
+Vous recevrez vraisemblablement une plainte ``underfull hbox''.
+|\break| peut aussi \^etre utilis\'e en mode vertical.
+\example
+Fill out this line\hfil\break and start another one.\par
+% Use \hfil here to fill out the line.
+This line is underfull---we ended it\break prematurely.
+% This line causes an `underfull hbox' complaint.
+|
+\produces
+\hbadness = 10000 % avoid hbadness message
+Fill out this line\hfil\break and start another one.\par
+% Use \hfil here to fill out the line.
+This line is underfull---we ended it\break prematurely.
+% This line causes an `underfull hbox' complaint.
+\endexample\enddesc
+
+\begindesc
+\ctspecial nobreak {} \xrdef{hnobreak}
+\explain
+Cette commande emp\^eche une coupure de ligne l\`a o\`u elle
+devrait se faire normalement.
+|\nobreak| peut aussi \^etre utilis\'ee en mode vertical.
+\example
+Sometimes you'll encounter a situation where
+a certain space\nobreak\qquad must not get lost.
+|
+\produces
+Sometimes you'll encounter a situation where
+a certain space\nobreak\qquad must not get lost.
+\endexample
+\enddesc
+
+\begindesc
+\ctspecial allowbreak {} \xrdef{hallowbreak}
+\explain
+Cette commande demande \`a \TeX\ d'autoriser une coupure de ligne l\`a o\`u elle
+n'arriverait pas normalement.
+Elle est plus souvent utile dans une formule math\'ematique, car \TeX\ est
+r\'eticent \`a couper de telles lignes. ^^{coupures de ligne//dans des formules math\'ematiques}
+|\allowbreak| peut aussi \^etre utilis\'ee en mode vertical.
+\example
+Under most circumstances we can state with some confidence
+that $2+2\allowbreak=4$, but skeptics may disagree.
+\par For such moronic automata, it is not difficult to
+analyze the input/\allowbreak output behavior in the limit.
+|
+\produces
+Under most circumstances we can state with some confidence
+that $2+2\allowbreak=4$, but skeptics may disagree.
+\par For such moronic automata, it is not difficult to
+analyze the input/\allowbreak output behavior in the limit.
+\endexample\enddesc
+
+\begindesc
+\ctspecial penalty {\<nombre>} \xrdef{hpenalty}
+\explain
+Cette commande produit un \'el\'ement de \minref{p\'enalit\'e}.
+L'\'el\'ement de p\'enalit\'e rend \TeX\ plus ou moins d\'esireux de couper une ligne
+\`a l'endroit o\`u cet \'el\'ement est plac\'e.
+Une p\'enalit\'e n\'egative, c'est-\`a-dire, un bonus, encourage une coupure de ligne~;
+une p\'enalit\'e positive d\'ecourage une coupure de ligne.
+Une p\'enalit\'e de $10000$ ou plus emp\^eche une coupure quelle qu'elle soit,
+tandis qu'une p\'enalit\'e de $-10000$ ou moins force une coupure.
+|\penalty| peut aussi \^etre utilis\'ee en mode vertical.
+%\secondprinting{\vfill\eject}
+\example
+\def\break{\penalty -10000 } % as in plain TeX
+\def\nobreak{\penalty 10000 } % as in plain TeX
+\def\allowbreak{\penalty 0 } % as in plain TeX
+|
+\endexample
+\enddesc
+
+{\vglue-\baselineskip\vskip0pt}
+\begindesc
+\cts obeylines {}
+\explain
+\TeX\ normalement traite une fin de ligne comme un espace.
+|\obeylines| demande \`a \TeX\ de traiter chaque fin de ligne comme
+une fin de paragraphe, for\c cant ainsi une coupure de ligne.
+|\obeylines| est souvent utile quand vous composez un po\`eme ou
+un programme informatique.
+^^{vers, composer des}^^{po\'esie, composer de la}^^{programmes informatiques, composer des}
+Si quelques lignes sont plus longues que la longueur de ligne r\'eelle
+(|\hsize|\tminus|\parindent|),
+sinon,
+vous aurez une coupure de ligne suppl\'ementaire dans ces lignes.
+
+Parce que \TeX\ ins\`ere le ressort |\parskip| (\xref\parskip)
+entre des lignes contr\^ol\'ees par |\obeylines| (puisqu'il pense que chaque
+ligne est un paragraphe), vous devrez normalement mettre |\parskip| \`a z\'ero
+quand vous utiliserez |\obeylines|.
+
+Vous pouvez utiliser la commande ^|\obeyspaces| (\xref{\obeyspaces}) pour que
+\TeX\ prenne en compte tous les espaces d'une ligne. |\obeylines| et |\obey!-spaces|
+sont souvent utilis\'ees ensemble.
+\example
+\obeylines
+``Beware the Jabberwock, my son!!
+\quad The jaws that bite, the claws that catch!!
+Beware the Jubjub bird, and shun
+\quad The frumious Bandersnatch!!''
+|
+\produces
+\obeylines
+``Beware the Jabberwock, my son!
+\quad The jaws that bite, the claws that catch!
+Beware the Jubjub bird, and shun
+\quad The frumious Bandersnatch!''
+\endexample
+\enddesc
+
+%\secondprinting{\vglue-\baselineskip\vskip0pt}
+
+\begindesc
+\easy\cts slash {}
+\explain
+Cette commande produit un ^{slash} (/) et pr\'evient aussi \TeX\ qu'il peut
+couper la ligne apr\`es le slash, si n\'ecessaire.
+\example
+Her oldest cat, while apparently friendly to most people,
+had a Jekyll\slash Hyde personality when it came to mice.
+|
+\produces
+Her oldest cat, while apparently friendly to most people,
+had a Jekyll\slash Hyde personality when it came to mice.
+\endexample
+\eix^^{coupures de ligne//encouragement ou d\'ecouragement}
+\enddesc
+
+%\secondprinting{\vfill\eject}
+
+
+%==========================================================================
+\subsection {param\`etres de coupure de lignes}
+
+\begindesc
+\bix^^{coupures de ligne//param\`etres affectant les}
+%
+\cts pretolerance {\param{nombre}}
+\cts tolerance {\param{nombre}}
+\explain
+Ces param\`etres d\'eterminent la \minref{m\'ediocrit\'e} que \TeX\ tol\`erera
+sur chaque ligne quand il choisit des coupures de ligne
+pour un paragraphe.
+La m\'ediocrit\'e est une mesure de combien l'espacement inter-mot d\'evie de
+l'id\'eal.
+|\pretolerance| sp\'ecifie la m\'ediocrit\'e tol\'erable pour
+des coupures de ligne sans c\'esure~;
+|\tolerance| sp\'ecifie la m\'ediocrit\'e tol\'erable pour des coupures de ligne
+avec c\'esure.
+La m\'ediocrit\'e tol\'erable peut \^etre d\'epass\'ee de deux fa\c cons~:
+un ligne est trop serr\'ee (les espaces inter-mots sont trop
+petits) ou trop l\^ache (les espaces inter-mots sont trop grands).
+
+\ulist
+\li Si \TeX\ doit faire une ligne trop rel\^ach\'ee, il
+se plaint d'un ``underfull hbox''.
+\li Si \TeX\ doit faire une ligne trop resserr\'ee,
+il laisse la ligne d\'epasser dans la marge droite et
+se plaint d'un ``overfull \minref{hbox}''.
+\endulist
+
+\noindent \TeX\ choisit des coupures de ligne selon les \'etapes suivantes~:
+\olist
+\li Il essaye de choisir des coupures de ligne sans c\'esures.
+Si aucune des lignes r\'esultantes n'a de m\'edio\-crit\'e d\'epassant |\pretolerance|,
+les coupures de ligne sont accept\'ees et le paragraphe peut \^etre fait.
+\li Sinon, il essaye un autre jeu de coupures de ligne, cette fois
+en autorisant les c\'esures. Si aucune des lignes r\'esultantes n'a une m\'edio\-crit\'e
+d\'epassant |\tolerance|, le nouveau jeu de coupures de ligne est
+acceptable et le paragraphe peut maintenant \^etre fait.
+\li Autrement, il ajoute ^|\emergencystretch| (voir plus bas) \`a l'\'etire\-ment
+de chaque ligne et essaye encore.
+\li Si aucun de ces essais n'a produit de jeu de coupures de ligne acceptable,
+il fait le paragraphe avec un ou plusieurs ``overfull hbox''
+et s'en plaint.
+\endolist
+
+\PlainTeX\ initialise |\tolerance| \`a $200$ et |\pretolerance| \`a $100$.
+Si vous mettez |\tolerance| \`a $10000$, \TeX\
+devient infiniment tol\'erant et accepte tout espacement, quelque soit sa laideur
+(\`a moins qu'il rencontre un mot qui ne tienne pas sur une ligne, m\^eme avec
+c\'esure). Ainsi en changeant |\tolerance| vous pouvez \'eviter des
+``overfull hbox'' et ``underfull hbox'', mais au prix de mauvais espacements.
+En rendant |\pretolerance| plus grand vous pouvez faire que \TeX\ \'evite les
+c\'esure et s'ex\'ecute aussi plus rapidement,
+mais, encore, au prix d'\'eventuels mauvais espacements.
+Si vous mettez |\pretolerance| \`a $-1$,
+\TeX\ n'essayera m\^eme pas de faire le paragraphe sans c\'esure.
+
+Le param\`etre ^|\hbadness| (\xref \hbadness) d\'etermine le niveau de m\'ediocrit\'e
+que \TeX\ tol\`erera avant de se plaindre, mais |\hbadness| n'affecte pas
+la mani\`ere dont \TeX\ compose votre document.
+Le param\`etre ^|\hfuzz| (\xref \hfuzz) d\'etermine le montant dont
+une hbox peut d\'epasser sa largeur sp\'ecifi\'ee avant que \TeX\ la consid\`ere
+erron\'ee.
+\enddesc
+
+\begindesc
+\cts emergencystretch {\param{dimension}}
+\explain
+En mettant ce param\`etre sup\'erieur \`a z\'ero,
+vous pouvez rendre plus facile \`a \TeX\ la
+composition de votre document sans g\'en\'erer d'``overfull hbox''.
+^^{overfull boxes}
+C'est une meilleur alternative \`a |\tolerance=10000|,
+car cela tend \`a produire des lignes r\'eellement laides.
+Si \TeX\ ne peut pas composer un paragraphe sans d\'epasser ^|\tolerance|,
+il tentera encore, en ajoutant |\emergencystretch| \`a l'\'etirement de chaque
+ligne.
+L'effet du changement est de r\'eduire la m\'ediocrit\'e de chaque ligne,
+autorisant \TeX\ \`a faire des espaces plus larges qu'ils auraient \'et\'e autrement
+et ainsi de choisir des coupures de ligne qui seront aussi
+bons que possible selon les circonstances.
+\enddesc
+
+\begindesc
+\cts looseness {\param{nombre}}
+\explain
+\minrefs{line break}
+Ce param\`etre vous donne un moyen
+de changer le nombre total de lignes dans un paragraphe par rapport \`a celui
+qu'il aurait \'et\'e de mani\`ere optimale.
+|\looseness| est ainsi nomm\'e parce que c'est une mesure de combien perd le
+paragraphe, c'est-\`a-dire, combien d'espace suppl\'ementaire il contient.
+
+Normalement, |\looseness| est \`a $0$ et
+\TeX\ choisit des coupures de ligne selon sa mani\`ere habituelle. Mais si
+|\looseness| est \`a, disons, $3$, \TeX\ fait ainsi~:
+\olist
+\li Il choisit des coupures de ligne normalement, obtenant un paragraphe de $n$ lignes.
+\li Il \'ecarte ces coupures de ligne et
+tente de trouver un nouveau jeu de coupure de ligne
+qui donne le paragraphe en $n+3$ lignes.
+(Sans l'\'etape pr\'ec\'edente, \TeX\ ne saurait pas la valeur de $n$.)
+\li Si l'essai pr\'ec\'edent donne des lignes dont la m\'ediocrit\'e d\'epasse
+|\tol!-er!-ance|,
+^^|\tolerance|
+il tente d'obtenir $n+2$ lignes---et si cela \'echoue aussi,
+$n+1$ lignes, et finalement $n$ lignes encore.
+\endolist
+\noindent
+De m\^eme, si |\looseness| est \`a $-n$,
+\TeX\ tente de faire le paragraphe avec $n$ lignes de moins que la normale.
+Le moyen le plus simple pour \TeX\ de faire un paragraphe plus long d'une ligne est de mettre
+un seul mot sur la ligne en plus. vous pouvez emp\^echer cela en
+mettant un tilde (\xref{@not}) entre les deux derniers mots du paragraphe.
+
+Mettre |\looseness| est le meilleur moyen de forcer un paragraphe
+\`a occuper un nombre de lignes donn\'e.
+Le mettre \`a une valeur n\'egative est pratique quand vous essayez
+d'augmenter la quantit\'e de texte que vous pouvez placer sur une page.
+Similairement, le mettre \`a une valeur positive
+est pratique quand vous essayez de diminuer la quantit\'e de texte sur
+une page.
+
+\TeX\ remet |\looseness| \`a $0$ quand il termine un paragraphe, apr\`es avoir
+coup\'e le paragraphe en lignes.
+Si vous voulez changer le rel\^achement de plusieurs paragraphes, vous devez
+le faire individuellement pour chacun ou mettre le changement dans |\everypar|
+\ctsref\everypar.
+^^|\everypar//pour fixer \b\tt\\looseness\e|
+\enddesc
+
+\begindesc
+\cts linepenalty {\param{nombre}}
+\explain
+\minrefs{line break}
+Ce param\`etre sp\'ecifie les \minref{d\'em\'erites} que \TeX\ r\'epartit pour chaque coupure de ligne
+quand il coupe un paragraphe en lignes.
+La p\'enalit\'e est ind\'epen\-dante d'o\`u la coupure de ligne a lieu.
+Augmenter la valeur
+de ce param\`etre demande \`a \TeX\ d'essayer plus fortement de mettre un paragraphe avec
+un nombre minimum de lignes, m\^eme au co\^ut d'autres consid\'erations esth\'etiques
+comme \'eviter des espacements inter-mots excessivement res\-serr\'es.
+Les d\'em\'erites sont en unit\'es de \minref{m\'ediocrit\'e} au carr\'e, donc
+vous devez assigner une valeur plut\^ot large \`a ce param\`etre (dans les
+milliers) pour qu'elle ait un quelconque effet.
+\PlainTeX\ met |\linepenalty| \`a $10$.
+\enddesc
+
+\begindesc
+\cts adjdemerits {\param{nombre}}
+\explain
+\minrefs{line break}
+^^{c\'esure//p\'enalit\'es pour}
+{\tighten
+Ce param\`etre sp\'ecifie des \minref{d\'em\'erites} additionnels que \TeX\ attache au
+point de coupure entre deux lignes adjacentes qui sont
+``incompatibles visuellement''.
+De telles paires de lignes font qu'un paragraphe appara\^\i t in\'egal.
+Les incompatibilit\'es sont \'evalu\'ees en termes d'\'etroitesse ou de rel\^achement
+de lignes~:
+}
+\olist\compact
+\li Une ligne est resserr\'ee si son \minref{ressort} doit se r\'etr\'ecir d'au moins $50\%$.
+\li Une ligne est d\'ecente si sa m\'ediocrit\'e est de $12$ ou moins.
+\li Une ligne est rel\^ach\'ee si son \minref{ressort} doit s'\'etirer d'au moins $50\%$.
+\li Une ligne est tr\`es rel\^ach\'ee si son ressort doit tellement s'\'etirer
+que sa m\'ediocrit\'e d\'epasse $100$.
+\endolist
+Deux lignes adjacentes sont visuellement incompatibles
+si leurs cat\'ego\-ries ne sont pas adjacentes, c'est-\`a-dire, une ligne resserr\'ee
+est apr\`es une rel\^ach\'ee ou une ligne d\'ecente apr\`es une tr\`es rel\^ach\'ee.
+
+Les d\'em\'erites sont en unit\'es de \minref{m\'ediocrit\'e} au carr\'ee, donc
+vous devez assigner une valeur plut\^ot large \`a ce param\`etre (dans les
+milliers) pour qu'elle ait un quelconque effet.
+\PlainTeX\ met |\adjdemerits| \`a~$10000$.
+\enddesc
+
+\begindesc
+\bix^^{c\'esure//p\'enalit\'es pour}
+\cts exhyphenpenalty {\param{nombre}}
+\explain
+\minrefs{line break}
+Ce param\`etre sp\'ecifie la \minref{p\'enalit\'e} que \TeX\ attache \`a un
+point de coupure sur une c\'esure explicite comme celle de
+``helter-skelter''. Augmenter ce param\`etre a l'effet de d\'ecourager
+\TeX\ de finir une ligne sur une c\'esure explicite.
+\PlainTeX\ met |\exhyphenpenalty| \`a $50$.
+\enddesc
+
+\begindesc
+\cts hyphenpenalty {\param{nombre}}
+\explain
+\minrefs{line break}
+Ce param\`etre sp\'ecifie la \minref{p\'enalit\'e} que \TeX\ attache \`a un
+point de coupure sur une c\'esure implicite.
+Des c\'esures implicites peuvent survenir du dictionnaire de c\'esure de \TeX\ ou
+de ^{c\'esures optionnelles} que vous avez ins\'er\'e avec |\-|~(\xref{\@minus}).
+^^|-//m\`ene \`a {\tt\\hyphenpenalty}|
+Augmenter ce param\`etre a l'effet de d\'ecourager
+\TeX\ de couper des mots.
+\PlainTeX\ met |\hyphenpenalty| \`a $50$.
+\enddesc
+
+\begindesc
+\cts doublehyphendemerits {\param{nombre}}
+\explain
+\minrefs{line break}
+{\tighten
+Ce param\`etre sp\'ecifie les \minref{d\'em\'erites} additionnels que \TeX\
+attache \`a un point de coupure quand ce point de coupure arrive \`a
+deux lignes cons\'ecu\-tives qui se terminent sur une c\'esure.
+Augmenter la valeur de ce param\`etre d\'ecourage
+\TeX\ de c\'esurer deux lignes \`a suivre.
+Les d\'em\'erites sont en unit\'es de \minref{m\'ediocrit\'e} au carr\'e, donc
+vous devez assigner une valeur plut\^ot large \`a ce param\`etre (dans les
+milliers) pour qu'elle ait un quelconque effet.
+\PlainTeX\ met |\doublehyphendemerits| \`a $10000$.
+}
+\enddesc
+
+\begindesc
+\cts finalhyphendemerits {\param{nombre}}
+\explain
+\minrefs{line break}
+{\tighten
+Ce param\`etre sp\'ecifie les \minref{d\'em\'erites} additionnels que \TeX\
+attache \`a un point de coupure qui fait que l'avant derni\`ere ligne d'un
+paragraphe se termine avec une c\'esure.
+Une telle c\'esure est g\'en\'eralement consid\'er\'ee inesth\'etique
+parce que l'espace blanc \'eventuel provoqu\'e par une derni\`ere ligne courte
+la rend m\'eprisable.
+Augmenter la valeur de ce param\`etre d\'ecourage
+\TeX\ de finir l'avant derni\`ere ligne avec une c\'esure.
+Les d\'em\'erites sont en unit\'es de \minref{m\'ediocrit\'e} au carr\'e, donc
+vous devez assigner une valeur plut\^ot large \`a ce param\`etre (dans les
+milliers) pour qu'elle ait un quelconque effet.
+\PlainTeX\ met |\finalhyphendemerits| \`a $5000$.
+}
+\eix^^{c\'esure//p\'enalit\'es pour}
+\enddesc
+
+\begindesc
+\cts binoppenalty {\param{nombre}}
+\explain
+^^{op\'erateurs}
+Ce param\`etre sp\'ecifie la p\'enalit\'e d'une coupure d'une formule math\'e\-ma\-tique
+apr\`es un op\'erateur binaire quand la formule appara\^\i t dans un paragraphe.
+\PlainTeX\ met |\binoppenalty| \`a $700$.
+\enddesc
+
+\begindesc
+\cts relpenalty {\param{nombre}}
+\explain
+^^{relations}
+Ce param\`etre sp\'ecifie la p\'enalit\'e pour une coupure d'une formule math\'e\-ma\-tique
+apr\`es une relation quand la formule appara\^\i t dans un paragraphe.
+\PlainTeX\ met |\rel!-penal!-ty| \`a~$500$.
+
+\eix^^{coupures de ligne//param\`etres affectant les}
+\enddesc
+
+%==========================================================================
+\subsection {C\'esure}
+
+\begindesc
+\bix^^{c\'esure}
+%
+\easy\ctspecial - \ctsxrdef{@minus}
+\explain
+La commande |\-| ins\`ere une ``c\'esure optionnelle''
+^^{c\'esures optionnelles}
+dans un mot.
+La c\'esure optionnelle autorise \TeX\ de couper le mot \`a cet
+endroit. \TeX\ n'est pas oblig\'e de couper l\`a---il ne le fera
+que s'il le faut. Cette commande est utile quand un mot
+qui appara\^\i t une ou deux fois dans votre document
+doit \^etre coup\'e,
+mais que \TeX\ ne peut pas trouver de point de coupure appropri\'ee de lui-m\^eme.
+\example
+Alice was exceedingly reluctant to shake hands first
+with either Twee\-dle\-dum or Twee\-dle\-dee, for
+fear of hurting the other one's feelings.
+|
+\produces
+Alice was exceedingly reluctant to shake hands first
+with either Twee\-dle\-dum or Twee\-dle\-dee, for
+fear of hurting the other one's feelings.
+\endexample
+\enddesc
+
+\begindesc
+\cts discretionary {\rqbraces{\<pre-break text>}
+ \rqbraces{\<post-break text>}
+ \rqbraces{\<no-break text>}}
+\explain
+\minrefs{line break}
+^^{c\'esure}
+Cette commande sp\'ecifie une ``coupure optionnelle'', autrement dit,
+un endroit o\`u \TeX\ peut couper une ligne.
+Elle dit aussi \`a \TeX\ quel texte mettre de chaque cot\'e de la coupure.
+\ulist
+\li Si \TeX\ ne doit pas couper l\`a, il utilise le \<no-break text>.
+\li Si \TeX\ doit couper l\`a, il met le \<pre-break text> juste avant
+la coupure et le \<post-break text> juste apr\`es la coupure.
+\endulist
+\noindent
+Comme avec |\-|,
+\TeX\ n'est pas oblig\'e de couper une ligne sur une coupure optionnelle.
+En fait, |\-| est normalement \'equivalent \`a |\discretionary!allowbreak{-}{}{}|.
+
+Parfois, \TeX\ ins\`ere des coupures optionnelles de lui-m\^eme.
+Par ex\-emple, il ins\`ere |\discretionary!allowbreak{}{}{}| apr\`es
+une c\'esure explicite ou un tiret.
+
+{\hyphenchar\tentt=-1 % needed to avoid weirdnesses
+\example
+% An ordinary discretionary hyphen (equivalent to \-):
+\discretionary{-}{}{}
+% A place where TeX can break a line, but should not
+% insert a space if the line isn't broken there, e.g.,
+% after a dash:
+\discretionary{}{}{}
+% Accounts for German usage: `flicken', but `flik-
+% ken':
+German ``fli\discretionary{k-}{k}{ck}en''
+|
+^^{c\'esure//allemande}
+\endexample}
+
+\enddesc
+
+\begindesc
+\cts hyphenation {\rqbraces{\<mot>\thinspace\vs\ $\ldots$\ \vs
+ \thinspace\<mot>}}
+\explain
+\TeX\ garde un dictionnaire des exceptions de ses r\`egles de ^{c\'esure}.
+Chaque entr\'ee du dictionnaire indique comment un mot particulier doit
+\^etre coup\'e.
+La commande |\hyphenation| ajoute des mots au dictionnaire.
+Son argument est une suite de mots s\'epar\'ee par des blancs.
+Les lettres majuscules et minuscules sont \'equivalentes.
+Les c\'esures dans chaque mot indiquent les endroits
+o\`u \TeX\ peut couper ce mot.
+Un mot sans c\'esure ne sera jamais coup\'e.
+Dans tous les cas, vous pouvez outrepasser le dictionnaire de c\'esure en
+utilisant |\-| pour une occurrence particuli\`ere d'un mot.
+Vous devez produire toutes les formes grammaticales d'un mot
+que vous voulez que \TeX\ coupe, c'est-\`a-dire, le singulier et le pluriel.
+
+\example
+\hyphenation{Gry-phon my-co-phagy}
+\hyphenation{man-u-script man-u-scripts piz-za}
+|
+\endexample
+\enddesc
+
+\begindesc
+\cts uchyph {\param{nombre}}
+\explain
+Une valeur positive de |\uchyph| (c\'esure majuscule)
+permet d\'ecouper des mots, comme des noms propres,
+qui commencent par une lettre capitale.
+Une valeur \`a z\'ero ou n\'egative
+inhibe de telle coupure. \PlainTeX\ met |\uchyph| \`a $1$,
+donc \TeX\ essaye normalement de couper les mots qui commencent par une lettre capital.
+\enddesc
+
+\begindesc
+\cts showhyphens {\rqbraces{\<mot>\thinspace\vs\ $\ldots$\ \vs
+ \thinspace\<mot>}}
+\explain
+Cette commande n'est habituellement pas utilis\'ee dans des documents,
+mais vous pouvez l'utiliser sur votre terminal pour voir comment \TeX\
+couperait certains jeux de mots al\'eatoires.
+Les mots, avec les coupures visibles, apparaissent dans le log et sur
+votre terminal. Vous obtiendrez une plainte \`a propos d'une ``underfull
+hbox''---ignorez la.
+\example
+\showhyphens{threshold quizzical draughts argumentative}
+|
+\logproduces
+Underfull \hbox (badness 10000) detected at line 0
+[] \tenrm thresh-old quizzi-cal draughts ar-gu-men-ta-tive
+|
+\endexample
+\enddesc
+
+\begindesc
+\cts language {\param{number}}
+\explain
+Des langages diff\'erents ont diff\'erents jeux de r\`egles de c\'esure.
+Ce para\-m\`etre d\'etermine le jeu de ^{r\`egles de c\'esure} que \TeX\ utilise.
+En changeant |\language| vous pouvez obtenir que \TeX\
+coupe des portions de texte ou des documents entiers en accord avec les
+r\`egles de c\'esure appropri\'ees \`a un langage particulier.
+^^{langues europ\'eennes}
+Votre ^{support local} sur \TeX\ vous dira si des
+jeux additionnels de r\`egles de c\'esure sont accessibles (derri\`ere celui
+pour l'anglais)
+et quelles sont les valeurs appropri\'ees de |\language|.
+La valeur par d\'efaut de |\language| est $0$.
+
+\TeX\ met le langage courant \`a $0$ au d\'ebut de tous les paragraphes,
+et compare |\language| au langage courant \`a chaque fois qu'il ajoute
+un caract\`ere au paragraphe courant.
+Si ce n'est pas le m\^eme, \TeX\ ajoute un ^{\elementextra} indiquant
+que le langage change.
+Cet \'el\'ement extraordinaire est la preuve pour les prochaines ex\'ecutions que les r\`egles de langage
+peuvent changer.
+\enddesc
+
+\begindesc
+\cts setlanguage {\<nombre>}
+\explain
+Cette commande met le langage courant \`a \<nombre>
+en ins\'erant le m\^eme \'el\'ement extraordinaire que vous obtiendrez en changeant
+^|\language|.
+En outre, elle ne change pas la valeur de |\language|.
+\enddesc
+
+\begindesc
+\cts lefthyphenmin {\param{nombre}}
+\cts righthyphenmin {\param{nombre}}
+\explain
+Ces param\`etres sp\'ecifient les plus petits fragments de mots que \TeX\ autorise
+\`a gauche et \`a droite d'un mot coup\'e.
+\PlainTeX\ les initialise par d\'efaut \`a $2$ et $3$ respectivement~;
+ce sont les valeurs recommand\'ees pour l'anglais.
+\enddesc
+
+\begindesc
+\bix^^{polices//caract\`eres de c\'esure pour}
+\cts hyphenchar {\<police>\param{nombre}}
+\explain
+\TeX\ n'utilise pas n\'ecessairement le caract\`ere `-' aux points de c\'esure.
+A la place, il utilise le |\hyphenchar| de la police courante, qui est
+habituellement `-' mais pas n\'ecessairement. Si une police a une valeur
+ |\hyphenchar| n\'egative,
+\TeX\ ne coupe pas de mots dans cette police.
+
+Notez que \<police> est une s\'equence de contr\^ole
+qui nomme une police, pas un \<nom de police> qui nomme des fichiers de
+police.
+Attention~:
+un assignement \`a |\hyphenchar| n'est \emph{pas} r\'einitialis\'e \`a la fin
+d'un groupe.
+Si vous voulez changer |\hyphenchar| localement, vous devrez
+sauvegarder et restaurer sa valeur originale explicitement.
+
+\example
+\hyphenchar\tenrm = `-
+ % Set hyphenation for tenrm font to `-'.
+\hyphenchar\tentt = -1
+ % Don't hyphenate words in font tentt.
+|
+\endexample
+\enddesc
+
+\begindesc
+\cts defaulthyphenchar {\param{nombre}}
+\explain
+Quand \TeX\ lit le fichier de m\'etriques
+^^{fichiers de m\'etriques//tiret de c\'esure par d\'efaut dans}
+pour une police en r\'eponse \`a une commande
+^|\font|, il met le ^|\hyphenchar| de la police dans
+|\default!-hyphen!-char|.
+Si la valeur de |\default!-hyphen!-char| n'est
+pas dans la fourchette $0$--$255$ quand vous chargez une police,
+\TeX\ ne coupera aucun mot dans cette police \`a moins que vous
+outrepassiez la d\'ecision en mettant le |\hyphenchar| de la police apr\`es.
+\PlainTeX\ met |\default!-hyphen!-char| \`a $45$, le code \ascii\
+pour `|-|'.
+\example
+\defaulthyphenchar = `-
+ % Assume `-' is the hyphen, unless overridden.
+\defaulthyphenchar = -1
+ % Don't hyphenate, unless overridden.
+|
+\endexample
+
+\eix^^{polices//caract\`eres de c\'esure pour}
+\enddesc
+
+\see |\pretolerance| (\xref \pretolerance).
+\eix^^{c\'esure}
+\eix^^{coupures de ligne}
+
+%==========================================================================
+\section {Ent\^etes de section, listes et th\'eor\`emes}
+
+\begindesc
+^^{ent\^etes de section}
+\easy\ctspecial beginsection {\<argument>\thinspace{\bt\\par}}
+ \ctsxrdef{@beginsection}
+\explain
+Vous pouvez utiliser cette commande pour d\'ebuter une subdivision majeure de votre document.
+\<argument> est pr\'evu pour servir de titre de section.
+|\beginsection| amplifie \<argument>
+par de l'espace vertical suppl\'ementaire et le met en
+police grasse, justifi\'e \`a gauche.
+Vous pouvez produire le |\par| qui termine \<argument> avec une ligne blanche.
+\let\message = \gobble % Don't bother to tell us about Pig and Pepper.
+\example
+$\ldots$ till she had brought herself down to nine
+inches high.
+
+\beginsection Section 6. Pig and Pepper
+
+For a minute or two she stood looking at the house $\ldots$
+|
+\produces
+$\ldots$ till she had brought herself down to nine
+inches high.
+
+\beginsection Section 6. Pig and Pepper
+
+For a minute or two she stood looking at the house $\ldots$
+\endexample
+\enddesc
+
+\begindesc
+\cts item {\<argument>}
+\cts itemitem {\<argument>}
+\explain
+^^{listes d'\'el\'ements}
+Cette commande est utile pour cr\'eer des ^{listes d'\'el\'ements}. Tout le paragraphe
+suivant \<argument> est indent\'e de |\parindent|
+^^|\parindent//indentation pour listes d'\'el\'ements|
+(pour |\item|) ou par |2\parindent| (pour |\itemitem|).
+(Voir \xrefpg{\parindent} pour une explication de |\parindent|.)
+Ensuite \<argument>,
+suivi par un espace demi-cadratin, est plac\'e juste \`a
+la gauche du texte de la
+premi\`ere ligne du paragraphe pour qu'il tombe avec l'indentation du paragraphe
+comme sp\'ecifi\'e par |\parindent|.
+
+Si vous voulez inclure plus d'un
+paragraphe dans un \'el\'ement, mettez |\item{}| devant les paragraphes additionnels.
+\example
+{\parindent = 18pt
+\noindent Here is what we require:
+\item{1.}Three eggs in their shells,
+but with the yolks removed.
+\item{2.}Two separate glass cups containing:
+\itemitem{(a)}One-half cup {\it used} motor oil.
+\itemitem{(b)}One cup port wine, preferably French.
+\item{3.}Juice and skin of one turnip.}
+|
+\produces
+{\parindent = 18pt
+\noindent Here is what we require:
+\item{1.}Three eggs in their shells,
+but with the yolks removed.
+\item{2.}Two separate glass cups containing:
+\itemitem{(a)}One-half cup {\it used} motor oil.
+\itemitem{(b)}One cup port wine, preferably French.
+\item{3.}Juice and skin of one turnip.}
+\endexample
+\enddesc
+
+\begindesc
+\easy\ctspecial proclaim {\<argument>{\tt.}\vs\thinspace
+ \<texte g\'en\'eral>\thinspace{\bt\\par}}
+ \ctsxrdef{@proclaim}
+\explain
+^^{th\'eor\`emes}
+^^{lemmes}
+^^{hypoth\`eses}
+Cette commande ``proclame'' un th\'eor\`eme, un lemme, une hypoth\`ese, etc.
+Elle met \<argument> en police grasse et le paragraphe suivant en
+italique. \<arg\-u\-ment> doit \^etre suivi par un point et un token espace,
+qui servent \`a s\'eparer \<argument> du \<texte g\'en\'eral>.
+\<texte g\'en\'eral> est constitu\'e du texte jusqu'\`a la fronti\`ere du paragraphe suivant,
+sauf que vous pouvez inclure des paragraphes multiples en les mettant
+entre accolades et terminer un paragraphe apr\`es l'accolade droite fermante.
+\example
+\proclaim Theorem 1.
+What I say is not to be believed.
+
+\proclaim Corollary 1. Theorem 1 is false.\par
+|
+\produces
+\proclaim Theorem 1.
+What I say is not to be believed.
+
+\proclaim Corollary 1. Theorem 1 is false.\par
+\endexample
+\enddesc
+
+\enddescriptions
+\endchapter
+\byebye
+
|