; TeX output 1997.02.18:1026soclNff cmbx12AffBabs3ellanguagede nition leforFfrench+!K`y cmr10DanielUU- cmcsc10Flipo )'ExX2 b> cmmi10"',L5ffA͉TU>'ExX-2.09andPlainTU>'EXfor-Imats.UIf}youarestillusingL5ffA͉TU>'ExX-2.09,Byou': cmti10should considerswitchingtoL5ffA͉TU>'ExX2"(U'!IAny8ofthecommands\selectlanguage{french},qǼ\selectlanguage{francais},Iorbɼ\selectlanguage{frenchb}switchestotheF*renchlanguagewiththefollowingIe ects:U81.bF*renchUUhyphenationpatternsaremadeactive;U82.b`doubleUUpunctuation'ismadeactiveforcorrectspacinginF*rench;U83.b\todayUUprintsthedateinF*rench;U84.btheUUcaptionnamesaretranslatedintoF*rench(L5ffA͉TU>'ExXonly);U85.btheUUlistitemsaresetto`{'insteadof !", cmsy10(L5ffA͉TU>'ExXonly);U86.btheUUverticalspacinginlistsisshortened(L5ffA͉TU>'ExXonly);U87.btheUU rstparagraphofeachsectionisindented(L5ffA͉TU>'ExXonly);U88.bF*renchquotationmarkscanbGetypGesetusingthecommands\ogand\fg bwhichxworkinL5ffA͉TU>'ExX2"'",qL5ffA͉TU>'ExX-2.09andPlainTU>'EX,qtheirappGearancedepend-bingonwhatisavqailabletodrawthem;)ifyouuseL5ffA͉TU>'ExX2"+{4withT1-encoGdingbyoucanalsoenterthemas<<~French?quotationmarks~>>butthendonP'tbfor}'getߦtheunbreakqablespaces,(\ogand\fgprovideforcorrectlinebreaks);U89.baS3command\upisprovidedtotypGesetsuperscriptslikeM\up{me}(abbrevi-bationUUfor\Madame"),1\up{er}(for\premier");P810.bfamilynnamesshouldbGetypesetinsmallcapitalsandneverbehyphenated,bthe~macro\bsc(bGoxedsmallcaps)doesthis,e.g.,Leslie~\bsc{Lamport}bwillUUproGduceLeslieLamporUTt.f;P811.bcommands\primo,\secundo,\tertioand\quartomaybGeusedtoenu-bmerateUUinlists;P812.babbreviationsfor\NumGero"and\numGero"areobtainedviathecommandsb\No,UU\no;I!+ffr J= "5-:Aacmr61L|{Ycmr8The | ledescrib>).9IF*rench5typGographicrulesspecifythatsomewhitespaceshouldbepresentbeforeI`doublepunctuation'characters.hThesecharactersare;!?and:.hInordertoIgetpthiswhitespaceautomatically*,wlthecategorycoGdeofthesecharactersismadeI\active.InpF*rench,theusershouldinputthesefourcharactersprecededwithaIspace,$butasmanypGeopleforgetaboutit(evenamongnativeF*renchwriters!),ItheLdefaultbGehaviouroffrenchbistoautomaticallyadda\thinspacebeforeI`;'`!'`?'andanormal(unbreakqable)spacebGefore`:'(thisistheruleinF*renchItypGography).n_It'sKuptotheusertoaddornotaspaceafter^`doublepunctuation'Icharacters:RusuallyŴaspaceisnecessary*,butnotalways(bGeforeafullpointoraIclosingUUbraceforinstance),sothiscannotdoneautomatically*.IIn x(rare)caseswherenospaceshouldbGeaddedbeforea`doublepunctua-Ition',either&Xuse\string;\string:\string!\string?insteadof;:!?,IorHswitchloGcallytoenglish. ܟF*orinstanceyoucantypGeC\string:TEXͤorI\begin{otherlanguage}{english}{C:TEX}\end{otherlanguage}ntoavoidntheIspaceUUbGefore:inaMS-DOSpath.ISome?usersdislikethisautomaticinsertionofaspacebGefore`doublepunctua-Ition',L2andprefertodecidethemselveswhetheraspaceshouldbGeaddedornot;IsoDahoGok\NoAutoSpaceBeforeFDPDisprovided:i ifthiscommandisadded(in leIfrenchb.cfg,66or.nanywhereinadoGcument)frenchbwillrespGectyourtyping,66andIintroGduce asuitablespacebefore`doublepunctuation'ifMandonlyif=a spaceisItypGedUUinthesource lebeforethosesigns.IX-ffr J= "5-:2LInmath-mo'ExX2"+TIUUsuggestthis:Xbrun]thefollowing le,%withtheencoGdingsuitableforyourmachine(my-benc}'odinggwill bGelatin1forunixmachinesandPCsrunningWindows,bapplemacf+forMacintoshs,aorcp850forPCsrunningDOS.Ifyouareus-bingUUMlTU>'ExXtogetherwithCMRfonts,commentoutthelineb\usepackage[my-enc}'oding}]{inputenc}.+b%%%?TestfileforFrenchhyphenation.b\documentclass{article}b\usepackage[my-enc}'oding}]{inputenc}b\usepackage[francais]{babel}b\begin{document}b\showhyphens{signal,?container,\'ev\'enement,alg\`ebre}b\showhyphens{signal,?container,evenement,algebre}b\end{document}XbcheckJthehyphenationspropGosedbyTU>'ExXinyourlog- le;DinF*renchyoubshouldUUgetwithbGoth7-bitand8-bitencodingsbsi-gnal,?contai-ner,eve-ne-ment,?al-gebre.bDonotcareabGouthowaccentedcharactersaredisplayedinthelog- le,lwhatbmattersUUisthepGositionofthe`-'hyphensignsonly.IIfptheyareallcorrect,wyourinstallation(probably)works ne,wifone(ormore)isI(are)wrong,2askaloGcalwizardtoseewhat'sgoingwrongandperformthetestIagainUU(ore-mailmeabGoutwhathappens).IF*requentUUmismatches:Xbyougetsig-nal,?con-tainer,thisprobablymeansthatthehyphenationbpatternsUUyouareusingareforUSenglish,notforF*rench;Xbyou+getnohyphenatallineve-ne-ment,3this+probablymeansthatyouarebusingCMRxfontsandthemacro\accenttoproGduceaccentedcharacters.bConsiderUUswitchingtoDC/ECfontsandT1-encoGdingoruseMlTU>'ExX."9IfrenchbXhasbGeenimprovedXusinghelpfulsuggestionsfrommanypeople,XthemainIcontributionsUUcamefromVincentJalby*.qThankstoallofthem!9IFirstUUversionreleased:q1.1asof1996/05/31partofrbabGel-3.6beta.IChangesUUinversion1.1b:qupGdateforbabel-3.6.IChangesinversion1.2:newcommand\nombretoformatnumbGers;DremovedIcommandL\fupbGorrowedLfromthefrenchpackqage(\updoesabetterjobinIL5ffA͉TU>'ExX2"nS);alsoCremovedaliases\frenchand\english(frenchb.cfgisabGetterIplaceUUforthese).3 soI1.2gTESXnicaldetailsuTIThefmacro\LdfInittakescareofpreventingthatthis leisloadedmorethan Ionce,UUcheckingthecategorycoGdeofthe@sign,etc. 諍Ls1S cmsy9h!ow cmss9coAdei Ls2SߤN cmtt9%%Pleasereporterrorsto:DanielFlipo,GUTenbergLs3S%%z'ExX2"+Tformats. 諍I19S\def\PlainFmtName{plain}I20S\def\LaTeXeFmtName{LaTeX2e}$\if@Two@EIW*ewillneedanew`if':\if@Two@EвistrueifandonlyifL5ffA͉TU>'ExX2"*isrunningnotֲinIcompatibilityMmoGde.+pItisusedinthede nitionsofthecommand\nombreand\up.IThede nitionissomewhatcomplicated,duetothefactthat\if@compatibilityIisUUnotrecognizedasa\ifinL5ffA͉TU>'ExX-2.09basedformats. 諍I21S\newif\if@Two@E\@Two@EtrueI22S\def\@FI@{\fi}I23S\ifx\@compatibilitytrue\@undefinedI24]\@Two@Efalse\def\@FI@{\relax}I25S\elseI26]\if@compatibility\@Two@Efalse\fiI27S\@FI@ 6\extrasfrenchb \noextrasfrenchbIThemacro\extrasfrenchbwillpGerformalltheextrade nitionsneededfortheIF*renchlanguage.}IThemacro\noextrasfrenchbisusedtocanceltheactionsofI\extrasfrenchb.IInF*rench\apGostrophe"isusedinhyphenationinexpressionslikel'ambulance4-_soI(F*renchpatternsprovideentriesforthiskindofwords).Thismeansthatthe I\lccodeof\apGostrophe"hastobenonnullinF*renchforpropGerhyphenationofIthoseUUexpressions,andtobGeresettonullwhenexitingF*rench.I28S\@namedef{extras\CurrentOption}{\lccode`\'=`\'} I29S\@namedef{noextras\CurrentOption}{\lccode`\'=0}I30S\def\extrasfrancais{\extrasfrenchb}I31S\def\extrasfrench{\extrasfrenchb}I32S\def\noextrasfrancais{\noextrasfrenchb}I33S\def\noextrasfrench{\noextrasfrenchb}IItisbGesttouseL5ffA͉TU>'ExX2")Q'sfontchangingcommands,( andtoemulatedthosewe Ineedwhentheyarenotavqailable,asinPlainTU>'ExXorL5ffA͉TU>'EX-2.09. BeawarethatIold:commands\sc,3\it,etc.yvexist:inL5ffA͉TU>'ExX2"),3buttheybGehave:liketheydidinIL5ffA͉TU>'ExX-2.09K(i.e.,D theyswitchbackto\normalfontinsteadofkeepingtheotherIfontUUattributesunchanged).I34S\ifx\scshape\@undefined I35]\ifx\sc\@undefinedI36kJ\let\scshape\relaxI37]\elseI38kJ\let\scshape\scI39]\fiI40S\fiI41S\ifx\emph\@undefinedI42]\ifx\em\@undefinedI43kJ\let\emph\relaxI44]\elseI45kJ\def\emph#1{\em#1}I46]\fiI47S\fi6I1.3gCaptionnamesanddateuTIThenextstepconsistsofde ningtheF*renchequivqalentsfortheL5ffA͉TU>'ExXcaption- Inames. \captionsfrenchbITheImacro\captionsfrenchbde nesallstringsusedinthefourstandarddoGcu-ImentclassesprovidedwithL5ffA͉TU>'ExX.VSomeauthorsdonotlikesomeofthesenames;IitiseasytochangetheminthepreambleafterUloadingfrenchb(orinyour leIfrenchb.cfg),e.g2\addto\captionsfrenchb{\def\figurename{Figure}}willIprintUU`Figure'inromaninsteadof`Fig.'.I48S\ifx\fmtname\PlainFmtName I49S\elseI50S\@namedef{captions\CurrentOption}{%I51ap\def\refname{R\'ef\'erences}%I52ap\def\abstractname{R\'esum\'e}%I53ap\def\bibname{Bibliographie}%I54ap\def\prefacename{Pr\'eface}%I55ap\def\chaptername{Chapitre}%I56ap\def\appendixname{Annexe}%I57ap\def\contentsname{Tabledesmati\`eres}%I58ap\def\listfigurename{Tabledesfigures}%I59ap\def\listtablename{Listedestableaux}%59soI60ap\def\indexname{Index}% I61ap\def\figurename{{\scshapeFig.}}%I62ap\def\tablename{{\scshapeTab.}}%I\PremiGereUUpartie"insteadof\PartI" I63ap\def\partname{\protect\@Fptpartie}%I64ap\def\@Fpt{{\ifcase\value{part}\orPremi\`ere\orDeuxi\`eme\orI65apTroisi\`eme\orQuatri\`eme\orCinqui\`eme\orSixi\`eme\orI66apSepti\`eme\orHuiti\`eme\orNeuvi\`eme\orDixi\`eme\orOnzi\`eme\orI67apDouzi\`eme\orTreizi\`eme\orQuatorzi\`eme\orQuinzi\`eme\orI68apSeizi\`eme\orDix-septi\`eme\orDix-huiti\`eme\orDix-neuvi\`eme\orI69apVingti\`eme\fi}\space\def\thepart{}}%I70ap\def\pagename{page}%I71ap\def\seename{{\emph{voir}}}%I72ap\def\alsoname{{\emph{voiraussi}}}%I73ap\def\enclname{P.~J.}%I74ap\def\ccname{Copie\`a}%I75ap\def\headtoname{}%I76ap\def\proofname{D\'emonstration}%forAMS-\LaTeXI77ap}I78ap\def\captionsfrench{\captionsfrenchb}I79ap\def\captionsfrancais{\captionsfrenchb}I80S\fiaGb\datefrenchbIThegmacro\datefrenchbrede nesthecommand\todaytoproGduceF*renchdates.I81S\@namedef{date\CurrentOption}{%I82]\def\today{\number\dayI83f\ifnum1=\day\ier\fiI84f\space\ifcase\monthI85f\orjanvier\orf\'evrier\ormars\oravril\ormai\orjuin\orI86fjuillet\orao\^ut\orseptembre\oroctobre\ornovembre\orI87fd\'ecembre\fiI88f\space\number\year}}I89S\def\datefrench{\datefrenchb}I90S\def\datefrancais{\datefrenchb}ЧI1.4gPunctuationuTIThei`doublepunctuation'characters(;!?and:)havetobGemade\activefor IanUUautomaticcontroloftheamountofspacetoinsertbGeforethem.I91S\initiate@active@char{:}I92S\initiate@active@char{;}I93S\initiate@active@char{!}I94S\initiate@active@char{?}IW*eUUspGecifythattheFrenchgroupofshorthandsshouldbGeused.I95S\expandafter\addto\csnameextras\CurrentOption\endcsname{%I96]\languageshorthands{frenchb}}ITheseUUcharactersare`turnedon'once,latertheirde nitionmayvqary*.I97S\expandafter\addto\csnameextras\CurrentOption\endcsname{%I98]\bbl@activate{:}\bbl@activate{;}%I99]\bbl@activate{!}\bbl@activate{?}}E100S\expandafter\addto\csnamenoextras\CurrentOption\endcsname{%E101]\bbl@deactivate{:}\bbl@deactivate{;}%6EĠsoE102]\bbl@deactivate{!}\bbl@deactivate{?}}躍IOnePmorething\extrasfrenchbneedstodoistomakesurethat\frenchspacing IisXine ect.yIfthisisnotthecasetheexecutionof\noextrasfrenchbwillswitchIitUUo again. 躍E103S\expandafter\addto\csnameextras\CurrentOption\endcsname{% E104]\bbl@frenchspacing}E105S\expandafter\addto\csnamenoextras\CurrentOption\endcsname{%E106]\bbl@nonfrenchspacing}/ 6\frenchb@sh@;@IW*e-havetotunetheamountofwhitespacebGefore;:!d]?and:.Thisshouldonly IhappGenQhinhorizontalmode,lhencethetest\ifhmode.eInhorizontalmode,lifaIspace5UhasbGeentypedbefore`;'@weremoveitandputanunbreakqable\thinspaceIinstead.oIfRJnospacehasbGeentyped,weRJadd\FDP@thinspacewhichwillbede ned,IupUUtotheuser'swishes,asanautomaticaddedthinspace,oras\@empty.tE107S\declare@shorthand{frenchb}{;}{% E108f\ifhmodeE109p2\ifdim\lastskip>\z@E110yw^\unskip\penalty\@M\thinspaceE111p2\elseE112yw^\FDP@thinspaceE113p2\fiE114f\fitINowUUwecaninserta;character.E115f\string;}/ 6\frenchb@sh@!@ 6\frenchb@sh@?@IBecausenthesede nitionsareverysimilaronlyoneisdisplayedinawaythatthe Ide nitionUUcanbGeeasilychecked.tE116S\declare@shorthand{frenchb}{!}{%E117f\ifhmodeE118p2\ifdim\lastskip>\z@E119yw^\unskip\penalty\@M\thinspaceE120p2\elseE121yw^\FDP@thinspaceE122p2\fiE123f\fiE124f\string!}E125S\declare@shorthand{frenchb}{?}{%E126f\ifhmodeE127p2\ifdim\lastskip>\z@E128yw^\unskip\penalty\@M\thinspaceE129p2\elseE130yw^\FDP@thinspaceE131p2\fiE132f\fiE133f\string?}/ 6\frenchb@sh@:@ITheUU`:'qrequiresanormalspacebGeforeit,insteadofa\thinspace.E134S\declare@shorthand{frenchb}{:}{%E135f\ifhmodeE136p2\ifdim\lastskip>\z@E137yw^\unskip\penalty\@M\7Q!soE138p2\else E139yw^\FDP@spaceE140p2\fiE141f\fiE142f\string:}옍H\AutoSpaceBeforeFDP \NoAutoSpaceBeforeFDPI\FDP@thinspaceUUand\FDP@spacearede nedasunbreakqablespacesby I\AutoSpaceBeforeFDPUUoras\@emptyby\NoAutoSpaceBeforeFDP.IDefaultUUis\AutoSpaceBeforeFDP. E143S\def\AutoSpaceBeforeFDP{% E144p2\def\FDP@thinspace{\penalty\@M\thinspace}%E145p2\def\FDP@space{\penalty\@M\}}E146S\def\NoAutoSpaceBeforeFDP{\let\FDP@thinspace\@emptyE147΃\let\FDP@space\@empty}E148S\AutoSpaceBeforeFDP\system@sh@:@ \system@sh@!@ \system@sh@?@ \system@sh@;@IWhentheactivecharactersappGearinanenvironmentwheretheirF*renchbGe- IhaviourFisnotwantedtheyshouldgivean`expGected'result.(Thereforewede neIshorthandsUUatsystemlevelaswell.E149S\declare@shorthand{system}{:}{\string:} E150S\declare@shorthand{system}{!}{\string!}E151S\declare@shorthand{system}{?}{\string?}E152S\declare@shorthand{system}{;}{\string;}I1.5gFrenchquotationmarksuTISeveralshapGesofF*renchquotationmarksareprovidedforusewithCMRor IEC/DCZwfonts,orZPostScriptfonts.CMRZwfontshavenoquotationmarksbuilt-Iin,sowehavetoemulatethemusingmathsymbGols,eitherL5ffA͉TU>'ExX's`lasy'fontifIavqailable,orWTU>'ExXsymbGols\lland\ggotherwise.EC/DC9fontsandPostScriptIfontsUUhavebuilt-inquotationmarks,sowewillofcourseusethem.IThehfollowingde nitionswilltakecareforcorrectspacingofF*renchquotationImarks(awhitespaceprecedesandfollowsquotationmarksbutnolinebreakisIallowedUUneitherafterhtheopGeningone,norb}'eforetheUUclosingone).b\oPlainGuillb\fPlainGuillIF*or/PlaincTU>'ExX,wede ne\oPlainGuilland\fPlainGuillusingmathsymbGolsI\llUֲand\gg.sIInordertohaveUthewordfollowingopGeningguillemetshyphenatedIpropGerlyI}wehavetoendthede nitionswiththeTU>'ExXequivqalentfor\allowhyphensIwhichUUis\penalty\@M\hskip\z@skip. E153S\def\oPlainGuill{\leavevmode\raise0.25ex% E154\hbox{$\scriptscriptstyle\ll$\kern0.15em}%E155\penalty\@M\hskip\z@skip}E156S\def\fPlainGuill{\ifdim\lastskip>\z@\unskip\penalty\@M\fiE157\leavevmode\raise0.25ex%E158\hbox{\kern0.15em$\scriptscriptstyle\gg$}} L\oLasyGuill L\fLasyGuillIIn$EL5ffA͉TU>'ExX2"+4bGetter$Elookingquotationmarksareavqailableviathe`lasy'font(`lasy' IstandsUUforL5ffA͉TU>'ExXSymbGol). E159S\ifx\fmtname\LaTeXeFmtNameE160]\def\oLasyGuill{\leavevmodeE161:\hbox{\fontencoding{U}\fontfamily{lasy}\selectfontE162(\kern-0.20em(\kern0.20em}\allowhyphens}8 [soE163]\def\fLasyGuill{\ifdim\lastskip>\z@\unskip\penalty\@M\fi\leavevmode E164:\hbox{\kern0.20em%E165\fontencoding{U}\fontfamily{lasy}\selectfontE166)\kern-0.20em)}}E167S\fi$\oECGuill $\fECGuillINowUUlet'sde neF*renchquotationmarksforT1encoGding.E168S\def\oECGuill{\leavevmode\hbox{\guillemotleft\kern0.15em}%E169\allowhyphens}E170S\def\fECGuill{\ifdim\lastskip>\z@\unskip\penalty\@M\fiE171\leavevmode\hbox{\kern0.15em\guillemotright}}1\og 1\fg \bbl@frenchguillemets Z\bbl@nonfrenchguillemetsINowOlet'sde newhichkindofF*renchquotationmarkswillbGeused.Thetop ImacrosforquotationmarkswillbGecalled\og(\ofeuvrezg[fe uillemets")and\fgI(\ffe::ermezUUgUU[feUVuillemets").IMakethetoplevelde nitionsforF*renchquotationmarksavqailablethroughtheI\extrasfrenchbUU\noextrasfrenchbmechanism.IAslI\DeclareTextCommandcannotbGeusedafterthe\begin{document}weintro-IduceUUinternalde nitions\begin@guilland\end@guill.IW*e'lltrytobGesmarttousersofD.Carlisle'sxspacepackqage::ifthispackqageIisUUloadedtherewillbGenoneedfor{}or\Rtogetaspaceafter\fg.IInL5ffA͉TU>'ExX2"-uҲweprovideadummyde nitionfor\ogand\fg,@justtodisplayanIerrorUUmessageincase\ogor\fghaveUUbGeende nedelsewhere.E172S\ifx\fmtname\LaTeXeFmtName E173ap\newcommand{\og}{\@empty}E174ap\newcommand{\fg}{\@empty}E175ap\DeclareTextCommand{\begin@guill}{T1}{\oECGuill}E176ap\DeclareTextCommand{\end@guill}{T1}{\fECGuill}E177ap\DeclareTextCommand{\begin@guill}{OT1}{\oLasyGuill}E178ap\DeclareTextCommand{\end@guill}{OT1}{\fLasyGuill}E179ap\DeclareTextSymbolDefault{\begin@guill}{OT1}E180ap\DeclareTextSymbolDefault{\end@guill}{OT1}E181S\elseE182ap\let\begin@guill\oPlainGuillE183ap\let\end@guill\fPlainGuillE184S\fiE185S\def\bbl@frenchguillemets{\ifx\xspace\@undefined\let\xspace\relax\fiE186΃\def\og{\begin@guill}%E187΃\def\fg{\end@guill\xspace}}E188S\def\bbl@nonfrenchguillemets{\def\og{``}%E189ܰ\def\fg{\ifdim\lastskip>\z@\unskip\fi''}}E190S\expandafter\addto\csnameextras\CurrentOption\endcsname{%E191]\bbl@frenchguillemets}E192S\expandafter\addto\csnamenoextras\CurrentOption\endcsname{%E193]\bbl@nonfrenchguillemets}6I1.6gFrenchlistsuT \bbl@frenchitems H\bbl@nonfrenchitems S\bbl@frenchlistspacing &\bbl@nonfrenchlistspacingIF*renchlistsaredi erentfromUSenglishones:'theisneverused(longdash`{' Iispreferedforalllevels),ٕandverticalspacingbGetweenitems,ٕbGeforeandafterIthelist,shouldbGeshorterinF*renchtextsthanthedefaultsprovidedbyL5ffA͉TU>'ExX.INoteAothattheeasyway*,EijustAochangingvqaluesofverticalspacingparameterswhen9 i#soIentering^F*renchandrestoringthemtotheirdefaultsonexitwouldnotwork,so IweUUhavetorede ne\@trivlist.ITheZiamountofverticalspacebGeforeandafteralistisgivenby\topsep+I\parskip(+\partopsepiftheliststartsanewparagraph).IMHO,\parskipIshouldbGeaddedonlywwhentheliststartsanewparagraph,soIsubtract\parskipIfromC_\topsepandadditbackto\partopsep;thiswillnormallymakenodi erenceIbGecauseN\parskip'sdefaultvqalueis0pt,Obutwillbenoticeablewhen\parskipisInotH-null.II 0would CappreciatefeedbackfromexpGertsinF*renchtypGography*,Gabout Cthe(some-IwhatexpGerimental)vqaluessetherefor\partopsep,\topsep,\itemsepandI\parsep.IOfUUcourse,thiscoGdeisonlyforL5ffA͉TU>'ExX.E194S\ifx\fmtname\PlainFmtName E195S\elseE196]\let\@ltiORI\labelitemiE197]\let\@ltiiORI\labelitemiiE198]\let\@ltiiiORI\labelitemiiiE199]\let\@ltivORI\labelitemivE200]\def\bbl@frenchitems{%E201f\def\labelitemi{--}%E202f\def\labelitemii{--}%E203f\def\labelitemiii{--}%E204f\def\labelitemiv{--}}E205]\def\bbl@nonfrenchitems{%E206f\let\labelitemi\@ltiORIE207f\let\labelitemii\@ltiiORIE208f\let\labelitemiii\@ltiiiORIE209f\let\labelitemiv\@ltivORI}E210]\expandafter\addto\csnameextras\CurrentOption\endcsname{%E211f\bbl@frenchitems}E212]\expandafter\addto\csnamenoextras\CurrentOption\endcsname{%E213f\bbl@nonfrenchitems}E214]\let\@trivlistORI\@trivlistE215]\def\bbl@frenchlistspacing{%E216f\def\@trivlist{\setlength{\itemsep}{0.4explus0.2exminus0.2ex}%E217p\setlength{\parsep}{0.4explus0.2exminus0.2ex}%E218p\setlength{\topsep}{0.8explus0.4exminus0.4ex}%E219p\setlength{\partopsep}{0.4explus0.2exminus0.2ex}%E220p\addtolength{\topsep}{-\parskip}%E221p\addtolength{\partopsep}{\parskip}%E222p\@trivlistORI}}E223]\def\bbl@nonfrenchlistspacing{\let\@trivlist\@trivlistORI}E224]\expandafter\addto\csnameextras\CurrentOption\endcsname{%E225f\bbl@frenchlistspacing}E226]\expandafter\addto\csnamenoextras\CurrentOption\endcsname{%E227f\bbl@nonfrenchlistspacing}E228S\fi6I1.7gFrenchindentationofsectionsuTt\bbl@frenchindent Ʋ\bbl@nonfrenchindentIInF*renchthe rstparagraphofeachsectionshouldbGeindented,thisisanother Idi erenceUUwithUSenglish.qAddthiscoGdeonlyinL5ffA͉TU>'ExX.10 wǠsoE229S\ifx\fmtname\PlainFmtName E230S\elseE231]\let\@aifORI\@afterindentfalseE232]\def\bbl@frenchindent{\let\@afterindentfalse\@afterindenttrueE233\@afterindenttrue}E234]\def\bbl@nonfrenchindent{\let\@afterindentfalse\@aifORIE235΃\@afterindentfalse}E236]\expandafter\addto\csnameextras\CurrentOption\endcsname{%E237f\bbl@frenchindent}E238]\expandafter\addto\csnamenoextras\CurrentOption\endcsname{%E239f\bbl@nonfrenchindent}E240S\fi6I1.8gFormattingnumb`ersuTIInoEnglishthedecimalpartstartswithapGointandthousandsshouldbe Iseparatedkbyacomma: anapproximationof1000ǜshouldbGeinputedasI$3{,}141.592{,}653$=inmath-moGdeandas3,141.592,653intext.~InF*renchIthedecimalpartstartswithacommaandthousandsshouldbGeseparatedbyaIspace;the8sameapproximationof1000shouldbGeinputedas$3\;141{,}592\;653$Iin|math-moGdeandassomethinglike3~141,592~653intext..;RemembGerbracesIareyOmandatoryaroundthecommainmath-moGde,MthereasonismentionedintheITU>'ExXbGookgp.134:WthecommaisoftypGe\mathpunct(thusnormallyfollowedbyaIspace)UUwhilethepGointisoftypGe\mathord(nospaceadded).IThierryBTBouchesuggestedthatasecondtypGeofcomma,yToftypGe\mathordwouldbGeIusefulinmath-moGde,andproposedtointroduceacommand(named\decimalsepIinUUthispackqage),theexpansionofwhichwoulddepGendonthecurrentlanguage.IVincent-Jalbysuggestedacommand\nombretoconvenientlytypGesetnumbGers:Iinputtingɼ\nombre{3141,592653}eitherintextorinmath-moGdewillformatthisInumbGerUUproperlyaccordingtothecurrentlanguage(F*renchornon-F*rench).I\nombrezacceptsanoptionalargumentwhichhappGenstobeusefulwiththeex-Itension2B`dcolumn',}itspGeci esthedecimalseparatorusedinthesour}'ceJcode[:I\newcolumntype{d}{D{,}{\decimalsep}{-1}}I\begin{tabular}{d}\hlineS3,14?\\S\nombre[,]{123,4567}?\\S\nombre[,]{9876,543}\\\hlineI\end{tabular}IwilltprintacolumnofnumbGersalignedonthedecimalpoint(commaorpointIdepGending!onthecurrentlanguage),Teachsliceof3digitsbGeingseparatedbyaIspaceUUoracommaaccordingtothecurrentlanguage. L\decimalsepb\thousandsepIW*eneedainternalde nition,vqalidinbGothtextandmath-mode,forthecommaI(\@comma@)andanotheronefortheunbreakqable xedlengthspace(noglue)usedIinUUF*rench(\f@thousandsep).IThe commands\decimalsepand\thousandsepgetdefaultde nitions(fortheIEnglishҩlanguage)whenfrenchbisloaded;8thesede nitionswillbGeupdatedwhenItheUUcurrentlanguageisswitchedtoorfromF*rench.E241S\mathchardef\m@comma="013B E242S\def\@comma@{\ifmmode\m@comma\else,\fi}E243S\def\f@thousandsep{\ifmmode\mskip5.5mu\else\penalty\@M\kern.3em\fi}11 ?soE244S\newcommand{\decimalsep}{.} E245S\newcommand{\thousandsep}{\@comma@}E246S\expandafter\addto\csnameextras\CurrentOption\endcsname{%E247]\def\decimalsep{\@comma@}%E248]\def\thousandsep{\f@thousandsep}}E249S\expandafter\addto\csnamenoextras\CurrentOption\endcsname{%E250]\def\decimalsep{.}%E251]\def\thousandsep{\@comma@}}3P\nombreIThedecimalseparatorusedwheninputingnanumbGerwith\nombrehasKtob}'ea Ic}'omma.=\nombresplitstheinputednumbGerintotwoparts:#whatcomesbGeforetheI rstcommawillbGeformattedbyT\@integerpartwhiletherest(ifnotempty)willIbGeformattedby\@decimalpart.Bothparts,onceformattedseparatelywillbeImergedtogetherwithbGetweenthem,?eitherthedecimalseparator\decimalsepIorUU(inL5ffA͉TU>'ExX2"+Tonly})theoptionalargumentof\nombre.ffE252S\if@Two@E E253]\newcommand{\nombre}[2][\decimalsep]{%E254~0\def\@decimalsep{#1}\@nombre#2\@empty,\@empty,\@nil}E255S\elseE256]\newcommand{\nombre}[1]{%E257~0\def\@decimalsep{\decimalsep}\@nombre#1\@empty,\@empty,\@nil}E258S\fiE259S\def\@nombre#1,#2,#3\@nil{%E260t\ifx\@empty#2%E261~0\@integerpart{#1}%E262t\elseE263~0\@integerpart{#1}\@decimalsep\@decimalpart{#2}%E264t\fi}ffITheeasiestbitisthedecimalpart:S W*eattempttoreadthe rstfourdigitsofthe Idecimal"part,Vifithaslessthan4digits,wejusthavetoprintthem,VotherwiseI\thousandsep+hastobGeappendedafterthethirddigit,? andthealgorithmisIappliedUUrecursivelytotherestofthedecimalpart. 3E265S\def\@decimalpart#1{\@@decimalpart#1\@empty\@empty\@empty} E266S\def\@@decimalpart#1#2#3#4{#1#2#3%E267]\ifx\@empty#4%E268]\elseE269f\thousandsep\expandafter\@@decimalpart\expandafter#4%E270]\fi}3IF*ormatting4theintegerpartismoredicultbGecausetheslicesof3digitsstart Ifromjtheb}'ottom.kwhilethenumbGerjisreadfromthetop!This(tricky)codeisIbGorrowedUUfromDavidCarlisle'scomma.sty*.E271S\def\@integerpart#1{\@@integerpart{}#1\@empty\@empty\@empty} E272S\def\@@integerpart#1#2#3#4{%E273]\ifx\@empty#2%E274f\@addthousandsep#1\relaxE275]\elseE276f\ifx\@empty#3%E277p2\@addthousandsep\@empty\@empty#1#2\relaxE278f\elseE279p2\ifx\@empty#4%E280yw^\@addthousandsep\@empty#1#2#3\relaxE281p2\else12 ksoE282yw^\@@integerpartafterfi{#1#2#3#4}% E283p2\fiE284f\fiE285]\fi}E286S\def\@@integerpartafterfi#1\fi\fi\fi{\fi\fi\fi\@@integerpart{#1}}E287S\def\@addthousandsep#1#2#3#4{#1#2#3%E288]\if#4\relaxE289]\elseE290f\thousandsep\expandafter\@addthousandsep\expandafter#4%E291]\fi}I1.9gExtrautilitiesuTIAllUUthatislefttodonowistoprovidetheF*renchuserwithsomeextrautilities.&1\up '|\iemeI\up8easesthetypGesettingofsuperscriptslike`1o cmr9er'.\uprelieson\textsuperscript IwhenUUavqailable(i.e.,inL5ffA͉TU>'ExX2"().ny\up@sizeIThe'internalmacro\up@sizeholdsthesizeatwhichthesupGerscriptwillbetype-Iset. (kThereasonforthisisthatwehavetospGecifyitdi erentlyfordi erentIformats. E292S\ifx\sevenrm\@undefined E293]\ifx\@ptsize\@undefinedE294f\let\up@size\smallE295]\elseE296f\ifx\selectfont\@undefinedIInUUthiscasetheformatistheoriginalL5ffA͉TU>'ExX-2.09:E297p2\ifcase\@ptsizeE298yw^\let\up@size\ixpt\orE299yw^\let\up@size\xpt\orE300yw^\let\up@size\xiptE301p2\fiIWhenUU\selectfontisde nedweprobablyhaveNFSSavqailable:E302f\elseE303p2\ifcase\@ptsizeE304yw^\def\up@size{\fontsize\@ixpt{10pt}\selectfont}\orE305yw^\def\up@size{\fontsize\@xpt{11pt}\selectfont}\orE306yw^\def\up@size{\fontsize\@xipt{12pt}\selectfont}E307p2\fiE308f\fiE309]\fiE310S\elseIIfUUweenduphereitmustbGeaplainbasedTU>'ExXformat,so:E311f\let\up@size\sevenrmE312S\finINowwecande ne\up.WhenL5ffA͉TU>'ExX2",ܲrunsincompatibilitymoGde(L5ffA͉TU>'ExX-2.09 Iemulation),\textsuperscriptisalsode ned,butdoGesnogoodjob,sowegiveItwoUUdi erentde nitionsfor\upusing\if@Two@E.E313S\if@Two@E E314]\DeclareRobustCommand*{\up}[1]{\textsuperscript{#1}}E315S\else13soE316]\DeclareRobustCommand*{\up}[1]{\leavevmode\raise1ex\hbox{\up@size#1}} E317S\fiI\iemebisprovidedforcompatibilitywithfrancais.sty,etheother5forcompati- IbilityUUwithfrench.sty:E318S\def\ieme{\up{\lowercase{e}}}E319S\def\iemes{\up{\lowercase{es}}}E320S\def\ier{\up{\lowercase{er}}}E321S\def\iers{\up{\lowercase{ers}}}E322S\def\iere{\up{\lowercase{re}}}E323S\def\ieres{\up{\lowercase{res}}}1\No1\no"\primoy\fprimo)IAndUUsomemoremacrosfornumbGering,UU rsttwoUUsupportmacros.E324S\DeclareRobustCommand*{\FrenchEnumerate}[1]{%E325W(#1\up{\lowercase{o}}\kern+.3em}E326S\DeclareRobustCommand*{\FrenchPopularEnumerate}[1]{%E327W(#1\up{\lowercase{o}})\kern+.3em}ITypingUU\primoshouldresultin`1^o|u',E328S\def\primo{\FrenchEnumerate1}E329S\def\secundo{\FrenchEnumerate2}E330S\def\tertio{\FrenchEnumerate3}E331S\def\quatro{\FrenchEnumerate4}IwhileUUtyping\fprimo)gives`1^o|s).E332S\def\fprimo){\FrenchPopularEnumerate1}E333S\def\fsecundo){\FrenchPopularEnumerate2}E334S\def\ftertio){\FrenchPopularEnumerate3}E335S\def\fquatro){\FrenchPopularEnumerate4}ILet'sUUprovidetwomacrosforthecommonabbreviationsof\NumGero".E336S\DeclareRobustCommand*{\No}{N\up{\lowercase{o}}\kern+.2em}E337S\DeclareRobustCommand*{\no}{n\up{\lowercase{o}}\kern+.2em},`\bscIAsHfamilynamesshouldbGewritteninsmallcapitalsandneverbehyphen- Iated,zwe provideacommand(itsnamecomesfromBoxedSmallCaps)toinputIthemeasily;thisisasimplerimplementationofcommands\fscand\lscfromIfrench.styE:inoautomaticuppGercase/lowercaseEconversionispGerformed.lUsage:IJean~\bsc{Duchemin}.E338S\DeclareRobustCommand*{\bsc}[1]{\leavevmode\hbox{\scshape#1}}ISomede nitionsforspGecialcharacters.&DThe rsteightaremandatoryfor\oeIetc.htoworkpropGerlyinmovingarguments,(theothersjustforconvenience.hW*eIwon't|de ne\tildeasaT*extSymbGolnottocon ictwiththemacro\tildeforImath-moGdeZandusethename\tildinstead.uNotethat\boimaynot2beusedIinK$math-moGde,itsnameinmath-modeis\backslash.S4\degreneedsaspecialItreatment:qitUUis\char6inT1-encoGdingand\char23inOT1-encoding.E339S\ifx\fmtname\LaTeXeFmtName E340]\DeclareTextSymbol{\ae}{T1}{230}E341]\DeclareTextSymbol{\ae}{OT1}{26}E342]\DeclareTextSymbol{\oe}{T1}{247}E343]\DeclareTextSymbol{\oe}{OT1}{27}E344]\DeclareTextSymbol{\AE}{T1}{198}E345]\DeclareTextSymbol{\AE}{OT1}{29}14soE346]\DeclareTextSymbol{\OE}{T1}{215} E347]\DeclareTextSymbol{\OE}{OT1}{30}E348]\DeclareTextSymbol{\degre}{T1}{6}E349]\DeclareTextSymbol{\degre}{OT1}{23}E350]\DeclareTextSymbol{\boi}{T1}{92}E351]\DeclareTextCommand{\boi}{OT1}{{$\backslash$}}E352]\DeclareTextSymbol{\at}{T1}{64}E353]\DeclareTextSymbol{\at}{OT1}{64}E354]\DeclareTextSymbol{\circonflexe}{T1}{94}E355]\DeclareTextSymbol{\circonflexe}{OT1}{94}E356]\DeclareTextSymbol{\tild}{T1}{126}E357]\DeclareTextSymbol{\tild}{OT1}{126}E358S\elseE359]\def\T@one{T1}E360]\ifx\f@encoding\T@oneE361f\newcommand{\degre}{\char6}E362]\elseE363f\newcommand{\degre}{\char23}E364]\fiE365]\newcommand{\at}{\char64}E366]\newcommand{\circonflexe}{\char94}E367]\newcommand{\tild}{\char126}E368]\newcommand{\boi}{{$\backslash$}}E369S\fi3P\degresIMacrofortypGesettingtheabbreviationfor`degrees'(asin`degreesCelsius').W}As Ithe-'ExX's@amacrosdealingwithaccentscon ictwiththoseofL5ffA͉TU>'EX2"( ,DsowecheckIwhether\csubinverseisde nedornot.pIf\csubinverseisde ne}'d,*QweareinIMlTU>'ExX.E372S\ifx\fmtname\LaTeXeFmtName E373]\AtBeginDocument{%E374f\ifx\csubinverse\@undefinedE375p2\DeclareTextCompositeCommand{\^}{OT1}{i}{\^\i}%E376p2\DeclareTextCompositeCommand{\"}{OT1}{i}{\"\i}%E377f\fi}E378S\fiIFinallythemacrospaceusedbysomecontrolsequenceswedonotneedanylonger, IisUUfreed.E379S\let\T@one\relaxE380S\let\@FI@\relaxE381S\let\PlainFmtName\relaxE382S\let\LaTeXeFmtName\relax15soIThesmacro\ldf@finishtakescareofloGokingforacon guration le,Izsetting IthefmainlanguagetobGeswitchedonat\begin{document}andresettingtheIcategorycoGdeofż@toitsoriginalvqalue.UThecon g lesearchedforwillalwaysIbGe`frenchb.cfg'.WRememberthat\CurrentOptionhasbeensetto`frenchb',andIthatUU`francais'and`french'arealiasesfor`frenchb'.E383S\ldf@finish\CurrentOption E384Sh5" cmmi9=coAdei16;!ow cmss9 cmsy95" cmmi9o cmr9ߤN cmtt9m#R cmss10': cmti10Aacmr6|{Ycmr8N cmbx12 cmmi10K`y cmr10ٓRcmr7ÿ