; TeX output 1998.03.07:2150y?UDtGGcmr17Babsel,7tamqultilingualpackageforusewithLdKGXQ cmr12AT[-E;gX'szstandard7tdoscumenqtclasses!", cmsy10eGJohannesBraams KoSoienswrater62φ2715AJZoSetermeer،TheNetherlandse߆T cmtt12JLBraams@cistron.nlOЂPrinrtedMarch7,1998-!Kt : cmbx9Abstract0_xo cmr9ThestandarddistributionofL5Aacmr6A TuAEXcon9tainsanumbAerofdocumen9t kclassesthataremean9ttobAeused,butalsoserveasexamplesforotherkusersRtocreatetheiro9wndoAcumentclasses.YiThesedoAcumentclasseshavekbAecomevv9erypopularamongL5A TuAEXusers.Butitshouldbek9eptinmindkthatpgtheyw9eredesignedforAmericantastesandtypAography:.-Atonetimektheycon9tainedanumbAerofhard-wiredtexts.nThisreportdescribes ow cmss9babel,kapac9k|ragethatmakesuseofthenewcapabilitiesofTuAEXversion3topro-kvide)sanen9vironment)sinwhic9hdoAcumentscanbAetypAesetinanon-americanklanguageTorinmorethanonelanguage.YWƍR"Nff cmbx12ContentsR#"V cmbx101aTheTuserin9terface'ExXnicalUUdetailsƶ.....o9224.3.CaptionnamesUUanddateԴ.o9324.4.PunctuationMэ........o9524.5.F*renchUUquotationmarks[э.o9724.6.F*renchUUlistsT󍍑........o9824.7.F*rench indentationof .sectionsʍ..........o9924.8.F*ormattingUUnumbGersͨ... n10024.9.ExtraUUutilities ʍ....... n10225TheTItalianlanguage$510626TheTP9ortugueselanguage -10827TheTSpanishlanguage11328TheTCatalanlanguagek11929TheTGalicianlanguage12730TheTRomanianlanguage13231TheTDanishlanguage")13432TheTNorw9egianlanguageU13733TheTSw9edishlanguageط14034TheTFinnishlanguageE14435TheTHungarianlanguage14836TheTEstonianlanguage151 L͍36.1.Implementation...... n15237TheTCroatianlanguage15638TheTCzec9hlanguage'!1582y?FR39aTheTP9olishlanguage&e&161R40aTheTSlo9v\raklanguage$167R41aTheTSlo9venianlanguagegN169R42aTheTRussianlanguage172R43aThe Lo9werSorbianlan- aguageo18044The NUppQerSorbianlan- guageo18245TheTT urkishlanguage(18646TheTBahasalanguage!18947SuppQortforformatsbasedonTplainT<8E3sXN6191!čR1jLTheffuserinterfaceRThe7userinterfaceofthispackqageisquitesimple.KItconsistsofasetofcommands RthatJswitchfromonelanguagetoanotherandasetofcommandsthatdealwithRshorthands.qItUUisalsopGossibleto ndoutoutwhatthecurrentlanguageis.aWhenauserwantstoswitchfromonelanguagetoanotherhecandosousing 6/ߤN cmtt9\selectlanguageRthemacro\selectlanguage.'Thismacrotakesthelanguage,0de nedpreviouslyRbyHalanguagede nition le,asitsargument.ItcallsseveralmacrosthatshouldRbGede nedinthelanguagede nition lestoactivqatethespecialde nitionsfortheRlanguageUUchosen.aTheienvironmentotherlanguagedoGesbasicallythesameas\selectlanguage, botherlanguageRexcept]thelanguagechangeisloGcaltotheenvironment. [F*ormixingleft-to-RrightahtypGesettingwithright-to-lefttypGesettingtheuseofthisenvironmentisRa>wprerequisite. -.ThelanguagetoswitchtoisspGeci edasanargumenttoR\begin{otherlanguage}.aTheJgcommand\foreignlanguagetakestwoarguments,Lthesecondargumentf\foreignlanguageRis[aphrasetobGetypesetaccordingtotherulesofthelanguagenamedinits rstRargument.AThisčcommandonlyswitchestheextrade nitionsandthehyphenationRrulesUUforthelanguage,0': cmti10notH-thenamesanddates.aIntheenvironmentotherlanguage*onlythetypGesettingisdoneaccordingtootherlanguage*Rtherulesoftheotherlanguage,butthetext-stringssuchas` gure',`table',etc.RareUUleftastheyweresetoutsidethisenvironment.aTheKbcontrolsequence\languagenamecontainsthenameofthecurrentlan- b\languagenameRguage.aIffmorethanonelanguageisuseditmightbGenecessarytoknowwhichlanguage\iflanguageRisactiveataspGeci ctime.J|Thiscanbecheckedbyacallto\iflanguage.J|ThisRmacrotakesthreearguments.kThe rstargumentisthenameofalanguage,theRsecondandthirdargumentsaretheactionstotakeiftheresultofthetestistrueRorUUfalserespGectively*.aThecommand\useshorthandsinitiatesthede nitionofuser-de nedshort-\useshorthandsRhand֪sequences.Ithasoneargument,thecharacterwhichstartsthesepGersonalRshorthands.aThe2command\defineshorthandtakestwoarguments,the rstofwhichisf\defineshorthandRa{oneortwo{charactersequence,thesecondargumentisthecoGdetheshorthandRshouldUUexpandto.3y?aThe#command\aliasshorthandcanbGeusedtoletanothercharacterperform 6\aliasshorthand RtheKGsamefunctionsasthedefaultshorthandcharacter.nmIfoneprefersforexampleRtousethecharacter/over"intypingpGolishtextsthiscanbeacheivedbyenteringR\aliasshorthand{"}{/}.aThecommand\languageshorthandscanbGeusedtoswitchtheshorthandson9\languageshorthandsRtheWlanguagelevel.xIttakesoneargument,X>thenameofalanguage.xNotethatforRthis5toworkthelanguageshouldhavebGeenspeci edasanoptionwhenloadingRtheUUbabGelpackqage.6R1N cmbx121.1pLanguagessupp`ortedby2kAH cmssbx10Bab]eluTRIn8KthefollowingtableallthelanguagessuppGortedby[BabGelarelisted,q togetherRwithUUthenamesoftheoptionswithwhichyoucanloadbabGelforeachlanguage.4.Cy??djBAfrikqaansafrikqaans jBBahasabahasajBBretonbretonjBCatalancatalanjBCroatiancroatianjBCzechczechjBDanishdanishjBDutchdutchjBEnglishenglish,UUUSenglish,american,UKenglish,britishjBEspGerantoespGerantojBEstonianestonianjBFinnish nnishjBF*renchfrench,UUfrancaisjBGaliciangalicianjBGermanaustrian,UUgerman,germanbjBGreekgreekjBHungarianmagyar,UUhungarianjBIrishUUGaelicirishjBItalianitalianjBLowerUUSorbianlowersorbianjBNorwegiannorsk,UUnynorskjBPolishpGolishjBPortuguesepGortuges,UUportuguese,brazilian,braziljBRomanianromanianjBRussianrussianjBScottishUUGaelicscottishjBSpanishspanishjBSlovqakianslovqakjBSlovenianslovenejBSwedishswedishjBT*urkishturkishjBUppGerUUSorbianuppGersorbianjBW*elshwelshqǍaF*or).somelanguagesbabGelsupportstheoptionsactiveacuteandactivegrave;7for RtypGestting&russiantextsbabelknowsabouttheoptionsLWN andLCY tospecifyRtheUUfontencoGdingofthecyrillicfontused.qCurrentlyonlyxLWNissuppGorted.6R1.2pWork@aroundsuTRWhenJyouusethedoGcumentclassbookandSgyouuse\refinsidetheargumentofR\chapteryouwillexpGeriencetheproblemthatL5ffٓRcmr7A͉TU>'ExXwillkeepcomplainingabGoutRanwunde nedlabGel.s.Thereasonisthattheargumentof\refispassedthroughR\uppercase òatsometimeduringproGcessing.YT*oprevent suchproblemsyoucouldRrevert%tousinguppGercaselabels,oryoucanuse\lowercase{\ref{foo}}insideRtheUUargumentof\chapter.52y?R2jLChangesffforL++AnTL32EdXn 2(3DFff cmmib10"RWiththeadventofL5ffA͉TU>'ExX2 b> cmmi10"+theinterfacetobabGelinthepreambleofthedoument Rhas)_changed.WithL5ffA͉TU>'ExX2.09oneusedtocallupthebabGelsystemwithalineRsuchUUas:%R\documentstyle[dutch,english]{article}%awhich!wouldtellL5ffA͉TU>'ExXthatthedoGcumentwouldbGewrittenintwolanguages,RdutchUUandenglishandthatenglishwouldbGethe rstlanguageinuse.aTheUUL5ffA͉TU>'ExX2"+TwayUUofprovidingthesameinformationis:R\documentclass{article} R\usepackage[dutch,english]{babel}%aor,makingmdutchoandenglishglobaloptionsinordertoletotherpackqagesdetectRandUUusethem:R\documentclass[dutch,english]{article} R\usepackage{babel}R\usepackage{varioref}%aInfthislastexamplethepackqagevariorefwillalsoseetheoptionsandwill RbGeUUabletousethem.!R3jLChangesffin7kAHff cmssbx10Babpelversion3.6RInBabGelversion3.6anumbGerofbugsthatwerefoundinversion3.5are xed.RAlsoUUanumbGerUUofchangesandadditionshaveoGccured:Qa !", cmsy10kAwnewwenvironmentotherlanguage*isintroGduced.itonlyswitchesthe`spGe-kcials',UUbutleavesUUthe`captions'untouched.ݨakThe]shorthandsarenolongerfullyexpandable.1SomeproblemscouldonlybGeksolvedVbypGeekingatthetokenfollowinganactivecharacter.NrTheadvqantagekisUUthat'{}aworksasexpGectedforlanguagesthathavethe'active.akSuppGort@fortypesettingfrenchtextsismuchenhanced;rthe lefrancais.ldfkisUUnowreplacedbyxfrenchb.ldfwhichismaintainedbyDanielFlipGo.akSuppGortYwfortypesettingtherussianlanguageisagainavqailable.~.Thelan-kguangelde nition lewasoriginallydeveloppGedbyOlgaLapkofromcyrtug.kTheu fontsneededtotypGesettherussianlanguagearenowpartofthebabGelkdistribution.&ThessuppGortisnotyetuptothelevelwhichisneededaccordingktoUUOlga,butthisisastart.akSuppGortfortypesettinggreektextsisnowalsoavqailable.Whatiso eredkin&thisreleaseisa rstattempt;VitwillbGeenhancedlateronbyY*anniskHaralambGous.6'ExXcoGde.!čR5jLTheHinterfacebs3etweenthecoreofbabpelandthejLlanguageffde nition lesRInkthecoreofthebabGelsystemtwokmacrosarede nedthataretobeusedinRlanguageUUde nition les.qTheirpurpGoseistomakeanewlanguageknown.aThegmacro\addlanguageisanon-outerversionofthemacro\newlanguage,L\addlanguageRde ned8inplain.texversion3.x.F*orolderversionsofplain.texandlplain.texRaUUsubstitutede nitionisused.aThe@macro\adddialectcanbGeusedinthecasewheretwo@languagescan(or\adddialectRhaveRto)usethesamehyphenationpatterns.pThiscanalosbGeusefulwhenauserRwants%tousealanguageforwhichnopatternsarepreloadedintheformat.InRsuch#acasethedefaultbGehaviourofthebabGelsystemistode nethislanguageasRaUU`dialect'ofthelanguageforwhichthepatternswereloadedas\language0.aThelanguagede nition leshavetoconformtoanumbGerofconventions.S=TheRreasonpforthisisthatthese leshavepto llinthegapsleftbythecommoncoGdeRinv0babel.def,gi.e.,thede nitionsofthemacrosthatproGducetexts.XAlsotheRlanguage-switchingpGossibilitywhichhasbGeenbuiltintothebabGelsystemhasitsRimplications.aTheUUfollowingassumptionsaremade:akSomeGofthelanguage-spGeci cde nitionsmightbeusedbyplainTU>'ExXusers,kso1the leshave1tobGecodedsuchthattheycanbereadbyL5ffA͉TU>'ExXaswellaskbyplainTU>'ExX.[ThecurrentformatcanbGecheckedbyloGokingatthevqalueofktheUUmacro\fmtname.akThejcommonpartofthebabGelsystemrede nesanumberjofmacrosandkenvironments*(de nedpreviouslyinthedoGcumentstyle)toputinthenameskof,macrosthatreplacethepreviouslyhard-wiredtexts.LThesemacroshavektoUUbGede nedinthelanguagede nition les.akThe"languagede nition lesde ne vemacros,,usedtoactivqateanddeacti-kvqatethelanguage-spGeci cde nitions.;Thesemacrosare\hlang}i"hyphenmins,k\captionshlang}i",+\datehlang}i,\extrashlang}iand\noextrashlang}i;6wherekhlang}iH!iseitherthenameofthelanguagede nition leorthenameofthekL5ffA͉TU>'ExX8optionthatistobGeused.:pThesemacrosandtheirfunctionsaredis-kcussedUUbGelow.akWhenalanguagede nition leisloaded,'itcande ne\l@hlang}i"tobGeakdialectUUof\language0when\l@hlang}i"isunde ned.8 Ty?akTheklanguagede nition lescanbGereadinthepreambleofthedocument, kbutalsointhemiddleofdoGcumentprocessing.ThismeansthattheyhavektoUUfunctionindepGendentlyofthecurrent\catcodeofthe@sign.aThe8macro\hlang}i"hyphenminsisusedtostorethevqaluesofthe\lefthyphenmin 6\langhyphenminsRandUU\righthyphenmin.aThefmacro\captionshlang}i"de nesthemacrosthatholdthetextstoreplace b\captionslangRtheUUoriginalhard-wiredtexts.aTheUUmacro\datehlang}i"de nes\todayandy\datelangaThemacro\extrashlang}i"containsalltheextrade nitionsneededforaspGeci c\extraslangRlanguage.aBecause#wewanttoo ertheuserthepGossibilitytoswitchbGetweenlan- b\noextraslangRguagesandwedonotknowinwhatstateTU>'ExXmightbGeaftertheexecutionofR\extrashlang}i",:7a3omacrothatbringsTU>'ExXintoaprede nedstateisneeded.fzItwillRbGeUUnosurprisethatthenameofthismacrois\noextrashlang}i".aT*opGostponetheactivqationofthede nitionsneededforalanguageuntillthe\main@languageRbGeginning!ofadocument,+alllanguagede nition lesshoulduse\main@languageRinsteadJof\selectlanguage.ThiswilljuststorethenameofthelanguageandRtheUUpropGerlanguagewillbeactivqatedatthestartofthedocument.aTheM macro\LdfInitpGerformsacoupleofstandardchecksM thathaveM tobe!3P\LdfInitRmadeAatthebGeginningofalanguagede nition le,EsuchascheckingthecategoryRcoGdeUUofthe@-sign,preventingUUthatthe.ldf leisprocessedtwice,etc.aThe?macro\ldf@quitpGerformsacoupleoftasksthatneedtobetakencarey\ldf@quitRof5whena.ldf lewasproGcessedearlier. JThesetasksincludetheresettingRofthecategorycoGdeofthe@-sign, preparingthelanguagetobeactivqatedatR\begin{document}UUtimeandendingtheinputstream.aThezmacro\ldf@finishpGerformsacoupleoftasksthatneedtobetakencare\ldf@finishRofattheendofeach.ldf le.3ThesetasksincludetheresettingofthecategoryRcoGdeofthe@-sign, theloadingofalocalcon guration leandpreparingtheRlanguageUUtobGeactivqatedat\begin{document}time.aAtQPtheendoftheproGcessingofalanguagede nition leL5ffA͉TU>'ExXcanbeinstructed b\loadlocalcfgRtoSloadaloGcalcon guration le.qGThis lecanforinstancebeusedtoaddstringsRto}\captionshlang}i inordertosuppGortlocaldocumentclasses.dTheuserwillbeRinformedJofthefactthatthiscon guration leisloaded.n ThismacroiscalledbyR\finish@ldf.aThisfbcommandtakesthreearguments,afontencoGdingandtwofontfamilyH\subsitutefontfamilyRnames.OItocreatesafontdescription leforthe rstfontinthegivenencoGding.RThis5.fd lewillinstructL5ffA͉TU>'ExXtouseafontfromthesecondfamilywhenafontRfromUUthe rstfamilyinthegivenencoGdingseemstoneeded.6R5.1pSupp`ortforactivecharactersuTRIn quiteanumbGer oflanguagede nition les,OactivecharactersareintroGduced.AT*oRfacilitateUUthis,somesuppGortmacrosareprovided.aThebinternalmacro\initiate@active@charisusedinlanguagede nition lesƲ\initiate@active@charRtorinstructL5ffA͉TU>'ExXtogiveacharacterthecategorycoGde`active'.NWhenacharacter9 by?RhaslbGeenmadeactiveitwillremainthatwayuntilltheendofthendoGcument.X$Its Rde nitionUUmayvqary*.aThepcommand\bbl@activateisusedtochangethewayanactivecharacter b\bbl@activate 6\bbl@deactivateRexpands. R\bbl@activate`switcheson'theactivebGehaviourofthecharacter.R\bbl@deactive ?letstheactivecharacterexpandtoitsformer(mostly)non-activeRself.aThejmacro\declare@shorthandisusedtode nethevqariousshorthands.PItt\declare@shorthandRtakeskthreearguments,?1thenameforthecollectionofshorthandsthisde nitionRbGelongs1lto;=dthecharacter(sequence)thatmakesuptheshorthandi.i.~or"aandRtheUUcoGdetobeexecutedwhentheshorthandisencountered.aTheTU>'ExXbGookstates:\PlainTU>'ExXincludesamacrocalled\dospecialsthatf\bbl@add@special9\bbl@remove@specialRisېessentiallyasetmacro,representingthesetofallcharactersthathaveaspGe-Rcial2categorycoGde." [1,jap.380]Itisusedtosettext`verbatim'.T*omakethisRworkifmorecharactersgetaspGecialcategorycode,4youhavetoaddthischar-Racter'ExXaddsanothermacrocalled\@sanitizeRrepresentingthesamecharacterset,Obutwithoutthecurlybraces.MThemacrosR\bbl@add@specialhchariand\bbl@remove@specialhchariaddandremovetheRcharacterUUhchari"AtoUUthesetwosets.6R5.2pSupp`ortforsavingmacrode nitionsuTRLanguage:rde nition lesmaywanttor}'e[de nemacrosthatalreadyexist.|ThereforeRamechanismforsaving(andrestoring)theoriginalde nitionofthosemacrosisRprovided.qW*eUUprovidetwomacrosforthis^1|s.aT*owsavethecurrentmeaningofanycontrolsequencethemacro\babel@save\babel@saveRis`provided.Ittakesoneargument,chcsname[i,,cthecontrolsequenceforwhichtheRmeaningUUhastobGesaved.aA:second;macroisprovidedtosavethecurrentvqalueofavariable.#!Inthis9\babel@savevariableRcontextN7anythingthatisallowedafterthe\theprimitiveisconsideredtobGeaRvqariable.qTheUUmacrotakesoneargument,thehvariable[i-0.aTheue ectoftheaforementionedmacrosisthatapieceofcoGdeisappendedRtoEthecurrentde nitionof\originalTeX.When\originalTeXEisexpandedthisRcoGde.5restoresthepreviousde nitionofthecontrolsequenceorthepreviousvqalueRofUUthevqariable.R5.3pSupp`ortforextendingmacrosuTRTheMmacro\addto{hc}'ontrol%1se}'quence[iN }{hTKß'E-Xc}'ode[i4}canbGeusedtoextendthe*|\addtoRde nitionofamacro. 2ThemacroneednotbGede ned.Thismacrocan,P_forRinstance,UUbGeusedinaddinginstructionstoamacrolike\extrasenglish.R5.4pMacroscommontoanumb`eroflanguagesuTRInacoupleofeuropGeanlanguagescompoundwordsareused.8Thismeansthat b\allowhyphensRX-ffr J= "5-:1LThisXmecÎhanismwasintro'ExXhastohyphenatesuchacompGoundworditonlydoGesthatatthe`-' RthatSVisusedinsuchwords.qT*oallowhyphenationintherestofsuchacompGoundRwordUUthemacro\allowhyphenscanbGeused.aF*or+somelanguagesquotesneedtobGelowered+tothebaseline.IForthispur-L\set@low@boxRpGosethemacro\set@low@boxisavqailable.YfIttakesoneargumentandputsthatRargumentinan\hbox,atthebaseline.ONTheresultisavqailablein\box0forfurtherRproGcessing.aSometimesitisnecessarytopreservethe\spacefactor.@F*orthispurpGose$\save@sf@qRtheimacro\save@sf@qisavqailable. Ittakesoneargument,DmsavesthecurrentRspacefactor,UUexecutestheargumentandrestoresthespacefactor.aThe7commands\bbl@frenchspacingand\bbl@nonfrenchspacingcanbGet\bbl@frenchspacingƲ\bbl@nonfrenchspacingRusedUUtopropGerlyswitchfrenchspacingonando .!čR6jLCompatibilityffwith8߆Tff cmtt12german.styRTheQ legerman.styhasbGeenoneofthesourcesofinspirationforthebabelsys-Rtem.Because9ofthisI9wanted9toincludegerman.styinthebabGelsystem.T*oRbGezabletodothatIzhadtoallowforoneincompatibility:8inthede nitionoftheRmacroW\selectlanguageingerman.stytheargumentisusedasthehnumb}'eriRforJpan\ifcase. QSointhiscaseacallto\selectlanguagemightloGoklikeR\selectlanguage{\german}.aInqthede nitionofthemacro\selectlanguageinbabel.deftheargumentRis"usedasapartofothermacronames,Usoacallto\selectlanguagenowloGoksRlike"\selectlanguage{german}.p.NoticetheabsenceoftheescapGecharacter.p.AsRofUUversion3.1aofrbabGelbothsyntaxesareallowed.aAllmotherfeaturesoftheoriginalgerman.styhavembGeencopiedintoanew le,RcalledUUgermanb.sty^2|s.aAlthoughbthebabGelsystemwasdevelopGedtobeusedwithL5ffA͉TU>'ExX,f*someoftheRfeaturesnimplementedinthelanguagede nition lesmightbGeneededbyplainRTU>'ExXusers.CarehasbGeentakenthatall lesinthesystemcanbeprocessedbyRplainUUTU>'ExX.R7jLCompatibilityffwiththefrenchpackageRItՠhasbGeenreportedtomethatthepackqagefrenchbyBernardGaulleR(gaulle@idris.fr)UUworkstogetherwithbabGel.aTherefore,babGelwill rstsearchforthe lefrench.ldfwhenyougiveittheRoptionofrench;thenitwilltrytoloadfrenchb.ldf.WhenyougivebabGeltheRoptionUUfrancaisitwillonlyloGokforfrenchb.ldf.RX-ffr J= "5-:2LTheX`b'isaddedtothenametodistinguishthe lefromPÎartls' le.11 y?R8jLIdenti cationRThe lebabel.sty^33MismeantforL5ffA͉TU>'ExX2"( ,֌thereforewemakesurethattheformat R leUUusedistherightone.aThenidenti cationcoGdeforeach leissomethingthatwasintroGducedinRL5ffA͉TU>'ExX2"wS.]LWhenthecommand\ProvidesFiledoGesnotexist,wv3.6dummyde -RnitionUUisprovided. ̍Oq8.1\ cmsy9h!pack9age%i Oq8.2\\ifx\ProvidesFile\@undefinedOq8.3f\def\ProvidesFile#1[#2#3#4]{%Oq8.4o\wlog{#4#3<#2>}%Oq8.5\hk9ernel8&patternsAo)i\Aandhyphenationpatternsfor}%Oq8.6o}Oq8.7\hk9ernel8&patternsF'iOq8.8\A\else̍RInthiscasewesavetheorginalde nitionof\ProvidesFilein\bbl@tempaand RrestoreUUitafterwehavestoredtheversionofthe lein\toks8.Oq8.9fA\let\bbl@tempa\ProvidesFileK8.10fA\def\ProvidesFile#1[#2#3#4]{%K8.11o A\toks8{Babel<#3>andhyphenationpatternsfor}%K8.12o A\bbl@tempa{#1}[#2#3#4]%K8.13o A\let\ProvidesFile\bbl@tempa}K8.14\h5" cmmi9=k9ernel8&patternsF'iK8.15\\fiK8.16\h=!pack9age%i̍RIdentifyUUeach lethatisproGducedfromthissource le.K8.17\h+pack9age%i\ProvidesPackage{babel}K8.18\h+co9rei\ProvidesFile{babel.def}K8.19\h+k9ernel8&patternsHi\ProvidesFile{hyphen.cfg}K8.20\h+k9ernel&!patternsGCi\ProvidesFile{switch.def}K8.21\h+driver &!user6}hi\ProvidesFile{babel.drv}K8.22\h+driver/&8user8i\ProvidesFile{user.drv}K8.23D[1997/01/23v3.6hK8.24\h+pack9age%iTheBabelpackage]K8.25\h+co9rei*FBabelcommondefinitions]K8.26\h+k9erneliYBabellanguageswitchingmechanism]K8.27\h+driveri] 4R9jLTheffPackageFileRInordertomakeuseofthenewfeaturesofL5ffA͉TU>'ExX2")@,anew leisintroGduedto Rthe֯babGelsystem,babel.sty.This leisloadedbythe\usepackagecommandRandUUde nesallthelanguageoptionsknowninthebabGelsystem.aF*orUUallthelanguagessuppGortedweneedtodeclareanoption.R ]ffr J= "5-:3LThe ledescrib'ExX2.09optionusedtobGefrancais.TThehyphenationpatternsmaybGeloadedasReitherUU`french'oras`francais'.K9.20\\DeclareOption{francais}{\input{frenchb.ldf}} K9.21\\DeclareOption{frenchb}{\input{frenchb.ldf}}RWithEL5ffA͉TU>'ExX2"04weEcannowalsousetheoptionfrenchandstillcallthe leRfrancais.ldf.K9.22\\IfFileExists{french.ldf}{% K9.23f\DeclareOption{french}{\input{french.ldf}}%K9.24f}{%K9.25f\DeclareOption{french}{\input{frenchb.ldf}}%K9.26f}K9.27\\DeclareOption{galician}{\input{galician.ldf}}K9.28\\DeclareOption{german}{\input{germanb.ldf}}K9.29\\DeclareOption{germanb}{\input{germanb.ldf}}K9.30\\DeclareOption{greek}{\input{greek.ldf}}RhungarianUUisjustasynonymformagyarK9.31\\DeclareOption{hungarian}{\input{magyar.ldf}}K9.32\\DeclareOption{irish}{\input{irish.ldf}}K9.33\\DeclareOption{italian}{\input{italian.ldf}}K9.34\\DeclareOption{lowersorbian}{\input{lsorbian.ldf}}K9.35\\DeclareOption{magyar}{\input{magyar.ldf}}K9.36\\DeclareOption{norsk}{\input{norsk.ldf}}13ڠy?RF*orUUNorwegiantwospGellingvqariantsareprovided.K9.37\\DeclareOption{nynorsk}{\input{norsk.ldf}} K9.38\\DeclareOption{polish}{\input{polish.ldf}}K9.39\\DeclareOption{portuges}{\input{portuges.ldf}}K9.40\\DeclareOption{portuguese}{\input{portuges.ldf}}K9.41\\DeclareOption{romanian}{\input{romanian.ldf}}K9.42\\DeclareOption{russian}{\input{russianb.ldf}}K9.43\\DeclareOption{scottish}{\input{scottish.ldf}}K9.44\\DeclareOption{slovak}{\input{slovak.ldf}}K9.45\\DeclareOption{slovene}{\input{slovene.ldf}}K9.46\\DeclareOption{spanish}{\input{spanish.ldf}}K9.47\\DeclareOption{swedish}{\input{swedish.ldf}}K9.48\\DeclareOption{turkish}{\input{turkish.ldf}}K9.49\\DeclareOption{uppersorbian}{\input{usorbian.ldf}}K9.50\\DeclareOption{welsh}{\input{welsh.ldf}}K9.51\\DeclareOption{UKenglish}{\input{english.ldf}}K9.52\\DeclareOption{USenglish}{\input{english.ldf}}aApartVjfromallthelanguageoptionswealsohaveafewoptionsthatin uence RtheUUbGehaviouroflanguagede nition les.aTheڱfollowingoptionsdon'tdoanythingthemselves,theyarejustde nedinRordervtomakeitpGossibleforlanguagede nition lestocheckifoneofthemwasRspGeci edUUbytheuser.K9.53\\DeclareOption{activeacute}{} K9.54\\DeclareOption{activegrave}{}RThenextoptiontellsbabGeltoleaveshorthandcharactersactiveattheendofRproGcessingsthepackqage.̑ThisisnotfpthedefaultasitcancauseproblemswithRotherD&packqages,butforthosewhowanttousetheshorthandcharactersintheRpreambleUUoftheirdoGcumentsthiscanhelp.K9.55\\DeclareOption{KeepShorthandsActive}{% K9.56f\def\KeepShorthandsActive{}}aTheoptionshavetobGeprocessedintheorderinwhichtheuserspeci edthem:K9.57\\ProcessOptions* \substitutefontfamilyRThe׉command\substitutefontfamilycreatesan.fd leonthe y*.cThe rstRargument8isanencoGdingmnemonic,?0thesecondandthirdargumentsarefontRfamilyUUnames.K9.58\\def\substitutefontfamily#1#2#3{% K9.59f\immediate\openout15=#1#2.fd\relaxK9.60f\immediate\write15{%K9.61o\string\ProvidesFile{#1#2.fd}%K9.62o[\the\year/\two@digits{\the\month}/\two@digits{\the\day}K9.63tJ\spacegeneratedfontdescriptionfile]^^JK9.64o\string\DeclareFontFamily{#1}{#2}{}^^JK9.65o\string\DeclareFontShape{#1}{#2}{m}{n}{<->ssub*#3/m/n}{}^^JK9.66o\string\DeclareFontShape{#1}{#2}{m}{it}{<->ssub*#3/m/it}{}^^JK9.67o\string\DeclareFontShape{#1}{#2}{m}{sl}{<->ssub*#3/m/sl}{}^^J14Рy?K9.68o\string\DeclareFontShape{#1}{#2}{m}{sc}{<->ssub*#3/m/sc}{}^^J K9.69o\string\DeclareFontShape{#1}{#2}{b}{n}{<->ssub*#3/bx/n}{}^^JK9.70o\string\DeclareFontShape{#1}{#2}{b}{it}{<->ssub*#3/bx/it}{}^^JK9.71o\string\DeclareFontShape{#1}{#2}{b}{sl}{<->ssub*#3/bx/sl}{}^^JK9.72o\string\DeclareFontShape{#1}{#2}{b}{sc}{<->ssub*#3/bx/sc}{}^^JK9.73o}%K9.74f\closeout15K9.75f}RThisUUcommandshouldonlybGeusedinthepreambleofadocument.K9.76\\@onlypreamble\substitutefontfamilyK9.77\h=pack9age#g i!čR10rfdTheffKernelofBabs3elRThe"ykernelofthebabGelsystemisstoredineitherhyphen.cfgorswitch.defand Rbabel.def.39The lehyphen.cfgisa lethatcanbGeloadedintotheformat,RwhichisnecessarywhenyouwanttobGeabletoswitchhyphenationpatterns.RThe lebabel.defcontainssomeTU>'ExXcoGdethatcanbereadinatruntime.RWhen babel.defisloadeditchecks ifhyphen.cfgisintheformat;"ifnotthe leRswitch.defUUisloaded.aBecauseplainTU>'ExXusersmightwanttousesomeofthefeaturesofthebabGelRsystemtoGo,<.carehastobetakenthatplainTU>'ExXcanprocessthe les.F*orthisRreason6thecurrentformatwillhavetobGecheckedinanumbGerofplaces.`kSomeRofSNthecoGdebelowiscommontoplainTU>'ExXandL5ffA͉TU>'EX,SsomeofitisfortheL5ffA͉TU>'EXRcaseUUonly*.aWhenthecommand\AtBeginDocumentdoGesn'texistweassumethatweareRdealingUUwithaplain-basedformat.qInthatcasethe leplain.defisneeded.K10.1\hk9ernel8jcore1i K10.2\\ifx\AtBeginDocument\@undefinedK10.3f\inputplain.def\relaxK10.4\\fiK10.5\h=k9ernel8jcore1iaCheckthepresenceofthecommand\iflanguage,Kifitisunde nedreadthe R leUUswitch.def.K10.6\hco9re_iK10.7\\ifx\iflanguage\@undefinedK10.8f\inputswitch.def\relaxK10.9\\fiGË10.10\h=co9re_i6R10.1wMultiplelanguagesuTRWithmeTU>'ExXversion3.0ithasbGecomepossibletoloadhyphenationpatternsformore RthanJonelanguage.ThismeansthatsomeextraadministrationhastobGetaken15@y?Rcareof.MQTheuserhastoknowforwhichlanguagespatternshavebGeenloaded,and RwhatUUvqaluesof\languagehaveUUbGeenused.aSome~discussionhasbGeengoingonintheTU>'ExXworldabouthowtouseR\language.GSome*havesuggestedtoseta xedstandard,i.e.,patternsforeachRlanguageshouldalwaysbGeloadedinthesamelocation.FIthasalsobeensuggestedRtomusetheC- cmcsc10CisolistforthispurpGose.OthershavempointedmoutthattheCisolistRcontainsUUmorethan256languages,whichhavenotH-bGeennumbGeredconsecutively*.aI+think+VthebGestway+Vtouse\language,`istouseitdynamically*.ThiscodeRimplementsanalgorithmtodoso.BItusesanexternal leinwhichthepGersonwhoRmaintainsaTU>'ExXenvironmenthastorecordforwhichlanguageshehashyphen-Ration-patternsandinwhich lesthesearestored^4|s.XWhenhyphenationexceptionsRare storedinaseparate lethiscanbGeindicatedbynamingthat leafter&the leRwithUUthehyphenationpatterns.aThiswt\con guration le"cancontainemptylinesandcomments,aswellasRlinesMwhichstartwithanequals(=)sign.oPSuchalinewillinstructL5ffA͉TU>'ExXthattheRhyphenation2patternsjustproGcessedhavetobGeknownunderanalternativename.RHereUUisanexample:HdX%FileX:language.dat dX%Purpose:telliniTeXwhatfileswithpatternstoload.dXenglishXenglish.hyphenationsdX=britishdXdutchYhyphen.dutchexceptions.dutch%NederlandsdXgermanhyphen.gerHaAsthe leswitch.defneedstobGereadonlyonce,wecheckwhetheritwas RreadbGefore.pIfitwas,thecommand\iflanguageisalreadyde ned,sowecanRstopUUproGcessing. ҍGË10.11\hk9ernelAi GË10.12\h!patterns&iGË10.13\A\expandafter\ifx\csnameiflanguage\endcsname\relax\elseGË10.14\A\expandafter\endinputGË10.15\A\fiGË10.16\h=!patterns&i0v$\languageRPlain`TU>'ExXversion3.0providestheprimitive\languagethatisusedtostore Rthecurrentlanguage. YWhenusedwithapre-3.0versionthisfunctionhastobGeRimplementedUUbyalloGcatingacounter.GË10.17\\ifx\language\@undefined GË10.18f\csnamenewcount\endcsname\languageGË10.19\\fi0v 6\last@languageRAnotherBcounterisusedtostorethelastlanguagede ned.TF*orpre-3.0formatsan RextraUUcounterhastobGeallocated,R ffr J= "5-:4LThisisb'ExXversion3.0uses\count?19forthispurpGose. ⍍GË10.22\\elseGË10.23f\countdef\last@language=19GË10.24\\fib\addlanguageRT*oaddlanguagestoTU>'ExX'smemoryplainTU>'EXversion3.0supplies\newlanguage, Rinapre-3.0environmentasimilarmacrohastobGeprovided.F*orbothcasesaRnewRmacroisde nedhere,bGecausetheoriginal\newlanguagewasde nedtobeR\outer.aF*oruaformatbasedonplainversion2.x, thede nitionof\newlanguagecanRnotbGecopiedbecause\count?19isusedforotherpurposesintheseformats.RTherefore\addlanguageisde nedusingade nitionbasedonthemacrosusedtoRde neUU\newlanguageinplainTU>'ExXversion3.0.GË10.25\\ifx\newlanguage\@undefined GË10.26f\def\addlanguage#1{%GË10.27o\global\advance\last@language\@neGË10.28o\ifnum\last@language<\@cclviGË10.29o\elseGË10.30w^\errmessage{Noroomforanew\string\language!}%GË10.31o\fiGË10.32o\global\chardef#1\last@languageGË10.33o\wlog{\string#1=\string\language\the\last@language}}⍑aF*oreformatsbasedonplainversion3.0thede nitionof\newlanguagecanbGe RsimplyUUcopied,removing\outer.čGË10.34\\elseGË10.35f\def\addlanguage{\alloc@9\language\chardef\@cclvi}GË10.36\\fiL\adddialectRThemacro\adddialectcanbGeusedtoaddthenameofadialectorvqariantRlanguage,UUforwhichanalreadyde nedhyphenationtablecanbGeused. ⍍GË10.37\\def\adddialect#1#2{%GË10.38o\global\chardef#1#2\relaxGË10.39o\wlog{\string#1=adialectfrom\string\language#2}}L\iflanguageRUsersZ>mightwanttotest(inaprivqatepackqageforinstance)whichlanguageisRcurrentlyzactive.5F*orthisweprovideatestmacro,C\iflanguage,thathasthreeRarguments.TIt /checkswhetherthe rstargumentisaknownlanguage.TIfso,;%itRcomparesthe rstargumentwiththevqalueof\language.PThen,4depGendingonRtheGresultofthecomparison,Jitexecuteseitherthesecondorthethirdargument. ⍍GË10.40\\def\iflanguage#1#2#3{%GË10.41f\expandafter\ifx\csnamel@#1\endcsname\relaxGË10.42o\@nolanerr{#1}%GË10.43f\elseGË10.44o\ifnum\csnamel@#1\endcsname=\language#2%17Zy?GË10.45o\else#3\fi GË10.46f\fi}f\selectlanguageRTheMpmacro\selectlanguagechecksMpwhetherthelanguageisalreadyde ned RbGeforeitperformsitsactualtask,whichistoupdate\languageandactivqateRlanguage-spGeci cUUde nitions.aT*o[Dallowthecallof\selectlanguageeitherwithacontrolsequencenameorRwithasimplestringasargument,IwehavetouseatricktodeletetheoptionalRescapGeUUcharacter.aT*o$convertacontrolsequencetoastring,.jweusethe\stringprimitive.aNextRweohavetoloGokatthe rstcharacterofthisstringandcompareitwiththeescapGeRcharacter.wBecause:thisescapGecharactercanbGechangedbysettingtheinternalRinteger`\escapechartoacharacternumbGer,wehavetocomparethisnumbGerwithRthecharacterofthestring.`oT*odothiswehavetouseTU>'ExX'sbackquotenotationRtoUUspGecifythecharacterasanumbGer.aIfthe rstcharacterofthe\string'edargumentisthecurrentescapGechar-Racter,thecomparisonhasstrippGedthischaracterandtherestinthe`then'partRconsistseqoftherestofthecontrolsequencename.OtherwiseweknowthateitherRtheargumentisnotacontrolsequenceor\escapecharissettoavqalueoutsideRofUUthecharacterrange0{255.aIfwtheusergivesanemptyargument,!weprovideadefaultargumentforR\string.qThisUUargumentshouldexpandtonothing.GË10.47\\edef\selectlanguage{%GË10.48f\noexpand\protectGË10.49f\expandafter\noexpand\csnameselectlanguage\endcsnameGË10.50f}RBecauseIthecommand\selectlanguagecouldbGeusedinamovingargumentitRexpands3to\protect\selectlanguage .fTherefore,:wehavetomakesurethataRmacroUU\protectexists.qIfitdoGesn'titis\letto\relax.GË10.51\\ifx\@undefined\protect\let\protect\relax\fiRAsB!L5ffA͉TU>'ExXy2.09writesto lesexp}'andedJwhereasB!L5ffATU>'ExX2"+takesB!carenot4toexpandRtheAkargumentsof\writestatementsweneedtobGeabitcleverabGoutthewayweRadd/|informationto.aux les.e)ThereforeweintroGducethemacro\xstringwhichRshouldUUexpandtotherightamountof\string's.GË10.52\\ifx\documentclass\@undefined GË10.53f\def\xstring{\string\string\string}GË10.54\\elseGË10.55f\let\xstring\stringGË10.56\\fiGË10.57\\expandafter\def\csnameselectlanguage\endcsname#1{%GË10.58f\edef\languagename{%GË10.59o\ifnum\escapechar=\expandafter`\string#1\@emptyGË10.60o\else\string#1\@empty\fi}%GË10.61f\select@language{\languagename}%18y?RW*eUUalsowriteacommandtochangethecurrentlanguageintheauxiliary les.GË10.62f\if@filesw GË10.63o\protected@write\@auxout{}{\string\select@language{\languagename}}%GË10.64o\addtocontents{toc}{\xstring\select@language{\languagename}}%GË10.65o\addtocontents{lof}{\xstring\select@language{\languagename}}%GË10.66o\addtocontents{lot}{\xstring\select@language{\languagename}}%GË10.67f\fi}aFirst,checkiftheuserasksforaknownlanguage.aIfso,upGdatethevqalueof R\language#andcall\originalTeX#tobringTU>'ExXinacertainpre-de nedstate.GË10.68\\def\select@language#1{%GË10.69f\expandafter\ifx\csnamedate#1\endcsname\relaxGË10.70o\@nolanerr{#1}%GË10.71f\elseGË10.72o\language=\csnamel@#1\endcsname\relaxGË10.73o\originalTeXRTheb nameofthelanguageisstoredinthecontrolsequence\languagename.The RcontentsUUofthiscontrolsequencecouldbGetestedinthefollowingway:dX\edef\tmp{\stringenglish}dX\ifx\languagename\tmpw̰...dX\elsew̰...dX\fiRTheconstructionwith\stringisnecessarybGecause\languagenamereturnstheRnameAwithcharactersofcategorycoGde12(other).Thenwehavetor}'e[de neR\originalTeX8"to8\compGensateforthethingsthathave8\beenactivqated.T*osaveRmemoryNspaceforthemacrode nitionof\originalTeX,weconstructthecontrolRsequencenameforthe\noextrashlang}i"commandatde nitiontimebyexpandingRtheUU\csnameprimitive.GË10.74o\expandafter\def\expandafter\originalTeXGË10.75w^\expandafter{\csnamenoextras#1\endcsnameGË10.76\let\originalTeX\@empty}%GË10.77o\languageshorthands{none}%GË10.78o\babel@beginsaveRNowactivqatethelanguage-spGeci cde nitions. ThisisdonebyconstructingRtheGnamesofthreemacrosbyconcatenatingthreewordswiththeargumentofR\selectlanguage,UUandcallingthesemacros.GË10.79o\csnamecaptions#1\endcsnameGË10.80o\csnamedate#1\endcsnameGË10.81o\csnameextras#1\endcsname\relaxRTheswitchingofthevqaluesof\lefthyphenminand\righthyphenminissome-Rwhart8di erent.Firstwesavetheircurrentvqalues,qthenwecheckif\hlang}i"hyphenmins19ߠy?RisY9de ned.}rIfitisnotwesetdefaultvqalues(2and3),1otherwisethevaluesin R\hlang}i"hyphenminsUUwillbGeused.GË10.82o\babel@savevariable\lefthyphenmin GË10.83o\babel@savevariable\righthyphenminGË10.84o\expandafter\ifx\csname#1hyphenmins\endcsname\relaxGË10.85y2\lefthyphenmin\tw@\righthyphenmin\thr@@\relaxGË10.86o\elseGË10.87y2\expandafter\expandafter\expandafter\set@hyphenminsGË10.88w^\csname#1hyphenmins\endcsname\relaxGË10.89o\fiGË10.90f\fi} otherlanguageRThe<otherlanguageenvironment<canbGeusedasanalternativetousingtheR\selectlanguage declarativecommand.WhenyouaretypGesettingadocumentRwhichmixesleft-to-rightandright-to-lefttypGesettingyouhavetousethisenvi-RronmentUUinordertoletthingsworkasyouexpGectthemto.aThe rstthingthisenvironmentdoGesisstorethenameofthelanguageinR\languagename;witthencalls\selectlanguage toswitchoneverythingthatisRneededforthislanguageThe\ignorespacescommandisnecessarytohidetheRenvironmentUUwhenitisenteredinhorizontalmoGde.GË10.91\\long\def\otherlanguage#1{%GË10.92f\def\languagename{#1}%GË10.93f\csnameselectlanguage\endcsname{#1}%GË10.94f\ignorespacesGË10.95f}RThe\endotherlanguagepartoftheenvironmentcalls\originalTeXƲtorestoreR(most$of)thesettingsandtriestohideitselfwhenitiscalledinhorizontalmoGde.GË10.96\\long\def\endotherlanguage{%GË10.97f\originalTeXGË10.98f\global\@ignoretrue\ignorespacesGË10.99f} 6otherlanguage*RTheotherlanguageenvironmentismeanttobGeusedwhenalargepartoftextfromRasdi erentlanguageneedstobGetypGeset,{ butwithoutchangingthetranslationofRwordsUUsuchas` gure'.aThisUUenvironmentmakesuseof\foreign@language.C10.100\\expandafter\def\csnameotherlanguage*\endcsname#1{%C10.101f\foreign@language{#1}%C10.102f}RAttheendoftheenvironmentweneedtoswitcho theextrade nitions.dkTheRgroupingmechanismoftheenvironmentwilltakecareofresettingthecorrectRhyphenationUUrules.C10.103\\expandafter\def\csnameendotherlanguage*\endcsname{%C10.104f\csnamenoextras\languagename\endcsnameC10.105f}20נy? \foreignlanguageRThe^\foreignlanguagecommandisanothersubstituteforthe\selectlanguage Rcommand.WThiscommandtakestwoarguments,xthe rstargumentisthenameofRtheUUlanguagetousefortypGesettingthetextspeci edinthesecondargument.aUnlikeU\selectlanguagethiscommanddoGesn'tswitcheverything,itonlyRswitchesthehyphenationrulesandtheextrade nitionsforthelanguagespGeci ed.RIts doGesthiswithinagroupandassumesthe\extrashlang}i.commanddoesn'tmakeRanyUU\globalchanges.qThecoGdingisverysimilartopartof\selectlanguage.C10.106\\def\foreignlanguage{\protect\csnameforeignlanguage\endcsname} C10.107\\expandafter\def\csnameforeignlanguage\endcsname#1#2{%C10.108f\begingroupC10.109o\foreign@language{#1}%C10.110o#2%C10.111o\csnamenoextras#1\endcsnameC10.112f\endgroupC10.113f}t\foreign@languageRThisWmacrodoGestheworkfor\foreignlanguageandtheotherlanguage*environ- Rment.C10.114\\def\foreign@language#1{%C10.115\%XFirstweneedtostorethenameofthelanguageandcheckthatitC10.116\%Xisaknownlanguage.C10.117\%X\begin{macrocode}C10.118f\def\languagename{#1}%C10.119f\expandafter\ifx\csnamel@#1\endcsname\relaxC10.120o\@nolanerr{#1}%C10.121f\elseRIf>itiswecanselectthepropGerhyphenationtableandswitchontheextrade ni- RtionsUUforthislanguage.C10.122o\language=\csnamel@#1\endcsname\relaxC10.123o\languageshorthands{none}%RThenUUwesettheleft-andrighthyphenminvqariables.C10.124o\csnameextras#1\endcsnameC10.125o\expandafter\ifx\csname#1hyphenmins\endcsname\relaxC10.126y2\lefthyphenmin\tw@\righthyphenmin\thr@@\relaxC10.127o\elseC10.128y2\expandafter\expandafter\expandafter\set@hyphenminsC10.129w^\csname#1hyphenmins\endcsname\relaxC10.130o\fiC10.131f\fiC10.132f}f\set@hyphenminsRThis5\macrosetsthevqaluesof\lefthyphenminand\righthyphenmin.gItexpGects RtwoUUvqaluesasitsargument.C10.133\\def\set@hyphenmins#1#2{\lefthyphenmin#1\righthyphenmin#2}"y\LdfInitRThisxmacroisde nedintwoxversions.F~The rstversionistobGepartofthe`kernel' RofbabGel,ie.ZtheՆpartthatisloadedintheformat;thesecondversionisde ned21-y?Rinm babel.def.TheversionintheformatjustchecksthecategorycoGdeofthe RampGersandUUandthenloadsbabel.def.C10.134\\def\LdfInit{% C10.135f\chardef\atcatcode=\catcode`\@C10.136f\catcode`\@=11\relaxC10.137f\inputbabel.def\relaxRThecategarycoGdeoftheampersandisrestoredandthemacrocallsitselfagainRwithUUthenewde nitionfrombabel.defC10.138f\catcode`\@=\atcatcode\let\atcatcode\relaxC10.139f\LdfInit}C10.140\h=k9ernelAiRTheZsecondversionofthismacrotakestwoarguments.eThe rstargumentistheRnameofthelanguagethatwillbGede nedinthelanguagede nition le;thesecondRargumentiseitheracontrolsequenceorastringfromwhichacontrolsequenceRshoulddbGeconstructed.9TheexistenceofthecontrolsequenceindicatesthattheR leUUhasbGeenprocessedbefore.aAtHthestartofproGcessingalanguagede nition lewealwayscheckthecategoryRcoGdeNoftheampersand.]W*emakesurethatitisa`letter'duringtheprocessingofRtheUU le.C10.141\hco9re_iC10.142\\def\LdfInit#1#2{%C10.143f\chardef\atcatcode=\catcode`\@C10.144f\catcode`\@=11\relaxRNowwecheckwhetherweshouldpGerhapsstoptheprocessingofthis le.[T*odoRthism4we rstneedtocheckwhetherthesecondargumentthatispassedto\LdfInitRis!acontrolsequence.+W*edothatbyloGokingatthe rsttokenafterpassing#2Rthroughfstring.Whenitisequalto\@backslashcharwearedealingwithaRcontrolUUsequencewhichwecancomparewith\@undefined.C10.145f\let\bbl@tempa\relaxC10.146f\expandafter\if\expandafter\@backslashcharC10.147\expandafter\@car\string#2\@nilC10.148o\ifx#2\@undefinedC10.149o\elseRIfsso,E{wecall\ldf@quit(butaftertheendofthis\ifconstruction)tosettheRmainUUlanguage,restorethecategorycoGdeofthe@-signandcall\endinput.C10.150y2\def\bbl@tempa{\ldf@quit{#1}}C10.151o\fiC10.152f\elseRWhenp-#2wasnotcacontrolsequenceweconstructoneandcompareitwith\relax.C10.153o\expandafter\ifx\csname#2\endcsname\relaxC10.154o\elseC10.155y2\def\bbl@tempa{\ldf@quit{#1}}C10.156o\fiC10.157f\fiC10.158f\bbl@tempa22̠y?RFinallyUUwecheck\orginalTeX.C10.159f\ifx\originalTeX\@undefined C10.160o\let\originalTeX\@emptyC10.161f\elseC10.162o\originalTeXC10.163f\fi}$\ldf@quitRThisUUmacrointerruptstheproGcessingofalanguagede nition le.C10.164\\def\ldf@quit#1{%C10.165f\expandafter\main@language\expandafter{#1}%C10.166f\catcode`\@=\atcatcode\let\atcatcode\relaxC10.167f\endinputC10.168\}L\ldf@finishRThis}Smacrotakesoneargument.Itisthenameofthelanguagethatwasde ned RinUUthelanguagede nition le.aW*e'loadtheloGcalcon guration leifoneispresent,1 we'setthemainlanguageR(takinguintoaccountthattheargumentmightbGeacontrolsequencethatneedstoRbGeUUexpanded)andresetthecategorycodeofthe@-sign.C10.169\\def\ldf@finish#1{% C10.170f\loadlocalcfg{#1}C10.171f\expandafter\main@language\expandafter{#1}%C10.172f\catcode`\@=\atcatcode\let\atcatcode\relaxC10.173f}aAfterthepreambleofthedoGcumentthecommands\LdfInit,\ldf@quitand R\ldf@finishfֲarenolongerneeded.KThereforetheyareturnedintowarningmes-RsagesUUinL5ffA͉TU>'ExX.C10.174\\@onlypreamble\LdfInit C10.175\\@onlypreamble\ldf@quitC10.176\\@onlypreamble\ldf@finish 6\main@language 9\bbl@main@languageRThistcommandshouldbGeusedinthevqariouslanguagede nition les.Q|Itstoresits RargumentDin\bbl@main@language;;tobGeusedtoswitchtothecorrectlanguageRatUUthebGeginningofthedocument.C10.177\\def\main@language#1{% C10.178f\def\bbl@main@language{#1}%C10.179f\let\languagename\bbl@main@languageC10.180f\language=\csnamel@\languagename\endcsname\relaxC10.181f}RTheUUdefaultistouseEnglishasthemainlanguage.C10.182\\ifx\l@english\undefinedC10.183f\let\l@english\z@C10.184\\fiC10.185\\main@language{english}RW*e4alsohave4tomakesurethatsomecoGdegetsexecutedatthebeginningofthe RdoGcument.23y?C10.186\\AtBeginDocument{% C10.187f\expandafter\selectlanguage\expandafter{\bbl@main@language}}C10.188\h=co9re_ib\originalTeXRThemacro\originalTeXshouldbGeknowntoTU>'ExXatthismoment.YAsithasto RbGeUUexpandablewe\letitto\@emptyinsteadof\relax.C10.189\hk9ernelAiC10.190\\ifx\originalTeX\@undefined\let\originalTeX\@empty\fiRBecauseFthispartofthecoGdecanbeincludedinaformat,IwemakesurethattheRmacrowhichinitialisesthesavemechanism,p\babel@beginsave,isnotconsideredRtoUUbGeunde ned.C10.191\\ifx\babel@beginsave\@undefined\let\babel@beginsave\relax\fi\@nolanerrb\@nopatternsRThebabGelpackqagewillsignalanerrorwhenadocumentstriestoselectalanguageRthatlhasn'tbGeende nedearlier.WhenauserselectsalanguageforwhichnoRhyphenationpatternswereloadedintotheformathewillbGegivenawarningRabGoutTthatfact.QW*ereverttothepatternsfor\language=0inthatcase.InmostRformatsUUthatwillbGe(US)english,butitmightalsobeempty*.aWhenetheformatknowsabGout\PackageErroritmustbGeL5ffA͉TU>'ExX2"(h,!bsowecanRsafelyUUuseitserrorhandlinginterface.qOtherwisewe'llhaveto`keepitsimple'.C10.192\\ifx\PackageError\@undefined C10.193f\def\@nolanerr#1{%C10.194o\errhelp{Yourcommandwillbeignored,typetoproceed}%C10.195o\errmessage{Youhaven'tdefinedthelanguage#1\spaceyet}}C10.196f\def\@nopatterns#1{%C10.197o\message{Nohyphenationpatternswereloadedfor}C10.198o\message{thelanguage`#1'}C10.199o\message{Iwillusethepatternsloadedfor\string\language=0C10.200instead}}C10.201f\def\@activated#1{%C10.202o\wlog{PackagebabelInfo:Making#1anactivecharacter}}C10.203\\elseC10.204f\newcommand*{\@nolanerr}[1]{%C10.205o\PackageError{babel}%C10.206{Youhaven'tdefinedthelanguage#1\spaceyet}%C10.207w^{Yourcommandwillbeignored,typetoproceed}}C10.208f\newcommand*{\@nopatterns}[1]{%C10.209o\PackageWarningNoLine{babel}%C10.210w^{Nohyphenationpatternswereloadedfor\MessageBreakC10.211thelanguage`#1'\MessageBreakC10.212Iwillusethepatternsloadedfor\string\language=0C10.213instead}}C10.214f\newcommand*{\@activated}[1]{%C10.215o\PackageInfo{babel}{%C10.216y2Making#1anactivecharacter}}C10.217\\fiaTheͫfollowingcoGdeismeanttobGereadbyiniTU>'ExXbGecauseitshouldinstruct24+y?RTU>'ExX toreadhyphenationpatterns.ZT*othisendthedocstripoptionpatterns RcanUUbGeusedtoincludethiscodeinthe lehyphen.cfg. 3C10.218\hpatterns$8i͍ \process@lineREachlineinthe lelanguage.datisproGcessedby\process@lineafteritisread.RThe rstthingthismacrodoGesistocheckwetherthelinestartswith=. WhenRtheCc rsttokenofalineisan=,Fthemacro\process@synonymiscalled;I^otherwiseRtheUUmacro\process@languagewillcontinue.C10.219\A\def\process@line#1#2/{% C10.220fA\ifx=#1C10.221o A\process@synonym#2/C10.222fA\elseC10.223o A\process@language#1#2/%C10.224fA\fiC10.225fA}ٚ \process@synonymRThisUUmacrotakescareofthelineswhichstartwithan=.C10.226\A\def\process@synonym#1/{%C10.227fA\ifnum\last@language=\m@ne3RWhennolanguageshavebGeenloadedyetthenamefollowingthe=willbGea RsynonymUUforhyphenationregister0.C10.228o A\expandafter\globalC10.229o A\expandafter\chardef\csnamel@#1\endcsname0\relaxC10.230o A\wlog{\string\l@#1=\string\language0}C10.231fA\else3ROtherwiseUUthenamewillbGeasynonymforthelanguageloadedlast.C10.232o A\expandafter\globalC10.233o A\expandafter\chardef\csnamel@#1\endcsname\last@languageC10.234o A\wlog{\string\l@#1=\string\language\the\last@language}C10.235fA\fiC10.236fA}ٚt\process@languageRThemacro\process@languageisusedtoproGcessanon-emptylinefromthe R`con gurationZ le'.Ithasthreearguments,eachZdelimitedbywhitespace.TheRthirdargumentisoptional,Ʋtherforea/characterisexpGectedtodelimitthelastRargument.[The rstargumentisthe`name'ofalanguage, thesecondisthenameRof%the lethatcontainsthepatterns.aTheoptionalthirdargumentisthenameofRaUU lecontaininghyphenationexceptions.aThe. rstthingtodoiscall\addlanguagetoalloGcateapatternregisterandRtoUUmakethatregister`active'.C10.237\A\def\process@language#1#2#3/{% C10.238o A\expandafter\addlanguage\csnamel@#1\endcsnameC10.239o A\expandafter\language\csnamel@#1\endcsname3RThenMthe`name'ofthelanguagethatwillbGeloadednowisaddedtothetoken RregisterUU\toks8.qand nallythepattern leisread.C10.240o A\global\toks8\expandafter{\the\toks8#1,}%25'y?aSome8pattern lescontainassignmentsto\lefthyphenminand\righthyphenmin. RTU>'ExXdoGesnotkeeptrackoftheseassignments.NThereforewetrytodetectsuchas-Rsignments[andstoretheminthe\hlang}i"hyphenminsmacro.5WhennoassignmentsRwereUUmadeweprovideadefaultsetting.C10.241o A\lefthyphenmin\m@ne C10.242o A\input#2\relaxC10.243o A\ifnum\lefthyphenmin=\m@neC10.244y8A\lefthyphenmin\tw@C10.245y8A\righthyphenmin\thr@@C10.246o A\fiRWhendthehyphenationpatternshavebGeenprocessedweneedtoseeifa lewith RhyphenationlexceptionsneedstobGeread.$RThisisthecasewhenthethirdargumentRisUUnotemptyandwhenitdoGesnotcontainaspacetoken.C10.247o A\def\bbl@tempa{#3} C10.248o A\ifx\bbl@tempa\@emptyC10.249o A\elseC10.250y8A\ifx\bbl@tempa\spaceC10.251y8A\elseC10.252wfA\input#3\relaxC10.253y8A\fiC10.254o A\fiRFinallyUUwestorethesettingsof\lefthyphenminand\righthyphenmin.C10.255o A\expandafter\edef\csname#1hyphenmins\endcsname{%C10.256y8A\the\lefthyphenmin\the\righthyphenmin}}f\readconfigfileRTheUUcon guration lecannowbGeopenedforreading.C10.257\A\openin1=language.dataSeeiifthe leexists,nifnot,usethedefaulthyphenation lehyphen.tex.VThe RuserUUwillbGeinformedaboutthis.C10.258\A\ifeof1C10.259fA\message{Icouldn'tfindthefilelanguage.dat,\spaceC10.260+AIwilltrythefilehyphen.tex}C10.261fA\inputhyphen.tex\relaxC10.262\A\elseaPatternregistersarealloGcatedusingcountregister\last@language.6ItsinitialRvqalueis0.Thede nitionofthemacro\newlanguageissuchthatit rstincre-RmentsCthecountregisterandthende nesthelanguage.kInordertohavethe rstRpatternsʬloadedinpatternregisternumbGerʬ0weinitialize\last@languagewithRtheUUvqalue1.C10.263fA\last@language\m@neaW*eUUnowreadlinesfromthe leuntiltheendisfoundC10.264fA\loop263y?aWhilereadingfromtheinputitisusefultoswitcho recognitionoftheend- Rof-linecharacter. qThissavesusstrippingo spacesfromthecontentsoftheRcontrolsequence./(C10.265o A\endlinechar\m@ne C10.266o A\read1to\bbl@lineC10.267o A\endlinechar`\^^M/(aEmptyUUlinesareskippGed. C10.268o A\ifx\bbl@line\@emptyC10.269o A\elseaNow8weaddaspaceanda/charactertotheendof\bbl@line.?Thisisneeded Rto bGeabletorecognizethethird,optional,argument of\process@languagelaterRon.C10.270y8A\edef\bbl@line{\bbl@line\space/} C10.271y8A\expandafter\process@line\bbl@lineC10.272o A\fiaCheckfortheendofthe le.8 T*oavoidanewNifcontrolsequencewecreate Rthenecessary\iftrueor\iffalsewiththehelpof\csname.ButthereisoneRcomplicationwiththisapproach:whenskippingtheloop...repeatTU>'ExXhastoRreadUU\if/\fipairs.qSowehavetoinserta`dummy'\iftrue.C10.273o A\iftrue\csnamefi\endcsname C10.274o A\csnameif\ifeof1false\elsetrue\fi\endcsnameC10.275fA\repeataReactivqateUUthedefaultpatterns,C10.276fA\language=0C10.277\A\fiRandUUclosethecon guration le.C10.278\A\closein1RAlsoUUremovesomemacrosfrommemoryC10.279\A\let\process@language\@undefined C10.280\A\let\process@synonym\@undefinedC10.281\A\let\process@line\@undefinedC10.282\A\let\bbl@tempa\@undefinedC10.283\A\let\bbl@tempb\@undefinedC10.284\A\let\bbl@eq@\@undefinedC10.285\A\let\bbl@line\@undefinedaW*e[|addamessageabGoutthefactthatbabelisloadedintheformatandwith RwhichUUlanguagepatternstothe\everyjobregister.C10.286\A\ifx\addto@hook\@undefinedC10.287\A\elseC10.288fA\expandafter\addto@hook\expandafter\everyjob\expandafter{%C10.289o A\expandafter\typeout\expandafter{\the\toks8loaded.}}C10.290\A\fiRHereUUthecoGdeforiniTU>'ExXends.C10.291\h=patterns$8iC10.292\h=k9ernelAi27=Ƞy?R10.2wSupp`ortforactivecharactersuT \bbl@add@specialRThemacro\bbl@add@specialisusedtoaddanewcharacter(orsinglecharacter RcontrolUUsequence)tothemacro\dospecials(and\@sanitizeifL5ffA͉TU>'ExXisused).aT*okeepallchangesloGcal,PwebGeginanewgroup.ZThenwerede nethemacrosR\dogpand\@makeothertoaddthemselvesandthegivencharacterwithoutexpan-Rsion. HC10.293\hco9re8jshorthandsDi C10.294\\def\bbl@add@special#1{\begingroupC10.295o\def\do{\noexpand\do\noexpand}%C10.296o\def\@makeother{\noexpand\@makeother\noexpand}%HRT*oݤaddthecharactertothemacros,?weexpandtheoriginalmacroswiththe Radditionalcharacterinsidetherede nitionofthemacros.JBecause\@sanitizeRcanUUbGeunde ned,weputthede nitioninsideaconditional.C10.297o\edef\x{\endgroup C10.298y2\def\noexpand\dospecials{\dospecials\do#1}%C10.299y2\expandafter\ifx\csname@sanitize\endcsname\relax\elseC10.300w^\def\noexpand\@sanitize{\@sanitize\@makeother#1}%C10.301y2\fi}%HRTheUUmacro\xcontainsatthismomentthefollowing: R\endgroup\def\dospecials{oldc}'ontents'v\dohchari}.RIf\@sanitizeisde ned,{itcontainsanadditionalde nitionofthismacro.TheRlastthingwehavetodo,Ristheexpansionof\x.ўThen\endgroupisexecuted,Rwhicherestorestheoldmeaningof\x,i\doand\@makeother.AfterthegroupisRclosed,UUthenewde nitionof\dospecials(and\@sanitize)isassigned.C10.302f\x}ٍH\bbl@remove@specialRThefHcompanionoftheformermacrois\bbl@remove@special."ItisusedtoremoveRaUUcharacterfromthesetmacros\dospecialsand\@sanitize.aT*o keepallchangesloGcal,]webGeginanewgroup.YThenwede neahelpmacroR\x,whichexpandstoemptyifthecharactersmatch,otherwiseitexpandstoitsRnonexpandableiinput.BecauseTU>'ExXinsertsa\relax,nifthecorrespGonding\elseRoru\fiisscannedbGeforethecomparisonisevqaluated,weprovidea`stopsign'RwhichUUshouldexpandtonothing.C10.303\\def\bbl@remove@special#1{\begingroup C10.304o\def\x##1##2{\ifnum`#1=`##2\noexpand\@emptyC10.305\else\noexpand##1\noexpand##2\fi}%HRWithUUthehelpofthismacrowede ne\doand\make@other.C10.306o\def\do{\x\do}%C10.307o\def\@makeother{\x\@makeother}%HRTheUUrestoftheworkissimilarto\bbl@add@special.C10.308o\edef\x{\endgroupC10.309y2\def\noexpand\dospecials{\dospecials}%C10.310y2\expandafter\ifx\csname@sanitize\endcsname\relax\elseC10.311w^\def\noexpand\@sanitize{\@sanitize}%C10.312y2\fi}%28Gy?C10.313f\x}6R10.3wShorthandsuT \initiate@active@charRA5Ylanguage5de nition lecancallthismacrotomakeacharacteractive.This Rmacro\takesoneargument,thecharacterthatistobGemadeactive.Whenthechar-Racter+wasalreadyactivethismacrodoGesnothing.IOtherwise,`thismacrode nesRthecontrolsequence\normal@charhcharimtoexpandtothecharacterinits`nor-Rmalstate'anditde nestheactivecharactertoexpandto\normal@charhcharibyRdefault(hchariDbGeingthecharactertobemadeactive).R:Lateritsde nitioncanbeRbGepchangedtoexpandto\active@charhcharibycalling\bbl@activate{hchari}.aF*or-Dexample,c@tomakethedoublequotecharacteractiveonecouldhavetheRfollowingUUlineinalanguagede nition le:dX\initiate@active@char{"}  6\bbl@afterelseb\bbl@afterfiRBecausethecoGdethatisusedinthehandlingofactivecharactersmayneedtoRloGokahead,wetakeextracareto`throw'itoverthe\elseand\fipartsofanR\if-statement^5|s.C10.314\\def\bbl@afterelse#1\else#2\fi{\fi#1}C10.315\\def\bbl@afterfi#1\fi{\fi#1}L\peek@tokenRIn'vordertoprevent'verrormessageswhenashorthand,[whichnormallytakesanRargumentwseesa\par,or},orsimilartokensweneedtobGeableto`peek'atwhatisRcomingupnextintheinputstream.LDepGendingonthecategorycodeofthetokenRthat2isseenweneedtoeithercontinuethecoGdefortheactivecharacter,9orinsertRthenon-activeversionofthatcharacterintheoutput.Themacro\peek@tokenRthereforetakestwoarguments,withwhichitconstructsthecontrolsequencetoRexpand6bnext.gvIt\let's\bbl@nextaand\bbl@nextbtothetwo6bpGossiblemacro's.RThisUUisnecessaryfor\test@tokentotaketherightdecision.C10.316\\def\peek@token#1#2{%C10.317f\expandafter\let\expandafter\bbl@nexta\csname#1\string#2\endcsnameC10.318f\expandafter\let\expandafter\bbl@nextbC10.319o\csnamesystem@active\string#2\endcsnameC10.320f\futurelet\bbl@token\test@token}test@tokenRWhen.theresultofpGeekingatthenexttokenhasyeildedatokenwithcategoryR`letter',hh`other'1dor`active'itissafetoproGceedwithevqaluatingthecodefortheRshorthand..When>atokenisfoundwithanyothercategorycoGdeproceedingisRunsafenandthereforetheorginalshorthandcharacterisinsertedintheoutput.RTheQmacrothatcalls\test@tokenneedstosetup\bbl@nextaand\bbl@nextbRinUUordertoachieveUUthis.C10.321\\def\test@token{%C10.322f\let\bbl@next\bbl@nextaR&effr J= "5-:5LThisco'ExXthatuserlevelshorthandswillbGeused RinUUthedoGcument.qIttakesoneargument,thecharacterthatstartsashorthand.34#y?C10.481\\def\useshorthands#1{% C10.482f\def\user@group{user}%C10.483f\initiate@active@char{#1}%C10.484f\bbl@activate{#1}} \defineshorthandRCurrentlyUUweonlysuppGortonegroupofuserlevelshorthands,called`user'. ꫍C10.485\\def\defineshorthand{\declare@shorthand{user}}H\languageshorthandsRAUUuserlevelcommandtochangethelanguagefromwhichshorthandsareused.C10.486\\def\languageshorthands#1{\def\language@group{#1}}f\aliasshorthandRBecauseGwedealwithactivecharactershereweneedtousethe\lccodetrick. RTherefore9wesavethecurrent\lccodeofthe~-characterandrestoreitlater.RThenUUwemakethenewcharacteractiveand\letitbGeequaltotheoriginal.C10.487\\def\aliasshorthand#1#2{% C10.488f\@tempcnta\lccode`\~C10.489f\lccode`~=`#2%C10.490f\lowercase{\catcode`~\active\let~#1\catcode`#112\relax}%C10.491f\lccode`\~\@tempcnta}aT*o}opreventproblemswithconstructssuchas\char"01A}8whenthedoublequote RisUUmadeactive,wede neashorthandonsystemlevel.C10.492\\declare@shorthand{system}{"}{\csnamenormal@char\string"\endcsname}꫍aWhentherightquoteismadeactiveweneedtotakecareofhandlingitcor-RrectlyinmathmoGde.8Thereforewede neashorthandatsystemleveltomakeitRexpand1toanon-activerightquoteintextmoGde,8butexpandtoitsoriginalde ni-RtionLinmathmoGde.n(Notethattherightquoteis`active'inmathmoGdebecauseofRitsUUmathcoGde.)C10.493\\declare@shorthand{system}{'}{% C10.494f\textormath{\csnamenormal@char\string'\endcsname}%C10.495L{\sp\bgroup\prim@s}}꫍aWhentheleftquoteismadeactiveweneedtotakecareofhandlingitcorrectly RwhenitisfollowedbyforinstanceanopGenbracetoken.Thereforewede neaRshorthandUUatsystemleveltomakeitexpandtoanon-activeleftquote.C10.496\\declare@shorthand{system}{`}{\csnamenormal@char\string`\endcsname}L\bbl@pr@m@sROneoftheinternalmacrosthatareinvolvedinsubstituting\primeforeachrightRquote inmathmoGdeis\pr@m@s.YThischecks ifthenextcharacterisarightquote.RWhen*therightquoteisactive,_thede nitionofthismacroneedstobGeadaptedRtoUUloGokforanactiverightquote.C10.497\\begingroup C10.498f\catcode`\'\active\let'\relaxC10.499f\def\x{\endgroupC10.500o\def\bbl@pr@m@s{%C10.501y2\ifx'\@let@tokenC10.502w^\expandafter\pr@@@sC10.503y2\else35$y?C10.504w^\ifx^\@let@token C10.505\expandafter\expandafter\expandafter\pr@@@tC10.506w^\elseC10.507\egroupC10.508w^\fiC10.509y2\fi}%C10.510o}C10.511\\xC10.512\h=co9re8jshorthandsDihaNormallythe~isactiveandexpandsto\penalty\@M\ .nWhenitiswritten RtoAthe.aux leitiswrittenexpanded.6T*opreventAthatandtobGeabletouseRthecharacter~asastartcharacterforashorthand,itisrede nedhereasaoneRcharacterUUshorthandonsystemlevel. R#C10.513\%\changes{babel~3.5f}{1996/04/02}{Noneedtoresetthecategorycode C10.514\%Xofgthetildeas\cs{initiate@active@charnowcoorecltydealsC10.515\%Xwithactivecharacters}C10.516\hco9re_iC10.517\\initiate@active@char{~}C10.518\\declare@shorthand{system}{~}{\penalty\@M\}C10.519\\bbl@activate{~}$\OT1dqpos "y\T1dqposRThepGositionofthedoublequotecharacterisdi erentfortheOT1andT1encoGd- Rings.It}willlaterbGeselectedusingthe\f@encodingmacro.Thereforewede neRtwoUUmacrosheretostorethepGositionofthecharacterintheseencodings. R#C10.520\\expandafter\def\csnameOT1dqpos\endcsname{127} C10.521\\expandafter\def\csnameT1dqpos\endcsname{4}R#RWhenthemacor\f@encodingisunde ned(asitisinplainTU>'ExX)wede neithereRtoUUexpandtoOT1C10.522\\ifx\f@encoding\@undefined C10.523f\def\f@encoding{OT1}C10.524\\fihR10.4wSupp`ortforsavingmacrode nitionsuTRT*o>savethemeaningofcontrolsequencesusing\babel@save,xweusetempGorary Rcontrolsequences.MT*osavehashtableentriesforthesecontrolsequences,uwedon'tRuseAthenameofthecontrolsequencetobGesavedtoconstructthetempGoraryRname.nInsteadwesimplyusethevqalueofacounter,whichisresettozeroeachRtimewebGegintosavenewvqalues.mThisworkswellbGecausewereleasethesavedRmeaningsjbGeforewebegintosavejanewsetofcontrolsequencemeanings(seeR\selectlanguageUUand\originalTeX).h 6\babel@savecnt \babel@beginsaveRTheUUinitializationofanewsaveUUcycle:qresetthecountertozero.C10.525\\def\babel@beginsave{\babel@savecnt\z@}R#RBeforeUUit'sforgotten,alloGcatethecounterandinitializeall.C10.526\\newcount\babel@savecnt C10.527\\babel@beginsave36%y?L\babel@saveRTheu*macro\babel@savehcsname[i-/ɲsavesu*thecurrentmeaningofthecontrolse- Rquence$hcsname[i/to$\originalTeX^6|s.T*odothis,weletthecurrentmeaningtoaRtempGoraryZcontrolsequence,therestorecommandsareappendedto\originalTeXRandUUthecounterisincremented.C10.528\\def\babel@save#1{% C10.529f\expandafter\let\csnamebabel@\number\babel@savecnt\endcsname#1\relaxC10.530f\begingroupC10.531o\toks@\expandafter{\originalTeX\let#1=}%C10.532o\edef\x{\endgroupC10.533y2\def\noexpand\originalTeX{\the\toks@\expandafter\noexpandC10.5340\csnamebabel@\number\babel@savecnt\endcsname\relax}}%C10.535f\xC10.536f\advance\babel@savecnt\@ne}H\babel@savevariableRThermacro\babel@savevariablehvariable[i0րsavesrthevqalueofthevariable. Rhvariable[i0canUUbGeanythingallowedafterthe\theprimitive.C10.537\\def\babel@savevariable#1{\begingroupC10.538o\toks@\expandafter{\originalTeX#1=}%C10.539o\edef\x{\endgroupC10.540y2\def\noexpand\originalTeX{\the\toks@\the#1\relax}}%C10.541f\x}9\bbl@frenchspacing \bbl@nonfrenchspacingRSomee3languagesneedtohavee3\frenchspacingine ect.`Othersdon'twante3that. RTheIcommand\bbl@frenchspacingswitchesitonwhenitisn'talreadyine ectRandUU\bbl@nonfrenchspacingswitchesito ifnecessary*.C10.542\\def\bbl@frenchspacing{% C10.543f\ifnum\the\sfcode`\.=\@mC10.544o\let\bbl@nonfrenchspacing\relaxC10.545f\elseC10.546o\frenchspacingC10.547o\let\bbl@nonfrenchspacing\nonfrenchspacingC10.548f\fi}C10.549\\let\bbl@nonfrenchspacing\nonfrenchspacing6R10.5wSupp`ortforextendingmacrosuT+\addtoRF*or eachlanguagefourcontrolsequenceshavetobGede nedthatcontrolthe Rlanguage-spGeci cde nitions.'T*obeabletoaddsomethingtothesemacroonceRtheyw\havebGeende nedthemacro\addtoisintroGduced.Ittakestwoarguments,RaUUhc}'ontrol(nse}'quence[iUҲandUUTU>'ExX-coGdetobeaddedtothehc}'ontrol(nse}'quence[iQ}.aIfUUthehc}'ontrol(nse}'quence[iUҲhasnotbGeende nedbeforeitisde nednow.C10.550\\def\addto#1#2{% C10.551f\ifx#1\@undefinedC10.552o\def#1{#2}C10.553f\elseR&effr J= "5-:6L\originalTeXXhastob'ExX-coGdetobeadded.Finallythehc}'ontrolRse}'quence[idisUUr}'e[de ned,usingthecontentsUUofthetokenregister.C10.557y2{\toks@\expandafter{#1#2}%C10.558w^\xdef#1{\the\toks@}}%C10.559o\fiC10.560f\fiC10.561\}6R10.6wMacroscommontoanumb`eroflanguagesuT \allowhyphensRThismacromakeshyphenationpGossible.zBasicallyitsde nitionisnothingmoreRthanUU\nobreak\hskip0pt?plus0pt^7|s.C10.562\\def\allowhyphens{\penalty\@M\hskip\z@skip}b\set@low@boxRThefollowingmacroisusedtolowerquotestothesamelevelasthecomma.ItRpreparesUUitsargumentinbGoxregister0.C10.563\\def\set@low@box#1{\setbox\tw@\hbox{,}\setbox\z@\hbox{#1}% C10.564o\dimen\z@\ht\z@\advance\dimen\z@-\ht\tw@%C10.565o\setbox\z@\hbox{\lower\dimen\z@\box\z@}\ht\z@\ht\tw@\dp\z@\dp\tw@}\save@sf@qRTheUUmacro\save@sf@qisusedtosaveUUandresetthecurrentspacefactor.C10.566\\def\save@sf@q#1{{\ifhmodeC10.567o\edef\@SF{\spacefactor\the\spacefactor}\elseC10.568o\let\@SF\@empty\fi\leavevmode#1\@SF}}$\bbl@discRF*or2somelanguagesthemacro\bbl@discisusedtoeasetheinsertionofdiscre- RtionariesUUforlettersthatbGehaveUU`abnormally'atabreakpoint.C10.569\\def\bbl@disc#1#2{%C10.570f\penalty\@M\discretionary{#2-}{}{#1}\allowhyphens}$6R10.7wMakingglyphsav@ailableuTRTheI lebabel.dtx^8makesanumbGerofglyphsavqailablethateitherdonotexistRinQtheOT1encoGdingandhaveQtobe`faked',orthatarenotaccessiblethroughRT1enc.def.Rffffr J= "5-:7LTAEMXb "5-:8LTheH ledescrib%C10.609f\elseC10.610o\save@sf@q{\penalty\@MC10.611y2\raise.2ex\hbox{$\scriptscriptstyle>$}\allowhyphens}%C10.612f\fi}RMakesurethatwhenanencoGdingotherthenOT1otT1isusedtheseglyphscan RstillUUbGetypeset.C10.613\\ProvideTextCommandDefault{\guilsinglleft}{%C10.614f\UseTextSymbol{OT1}{\guilsinglleft}}C10.615\\ProvideTextCommandDefault{\guilsinglright}{%C10.616f\UseTextSymbol{OT1}{\guilsinglright}}6R10.9wLettersuT:\ij:\IJRThe'ExX'smakeEff&fǫaccentprocedureaboutthecurrentx-height RofUUthefonttoforceanotherplacementoftheumlautcharacter.C10.683\\def\lower@umlaut#1{%RFirstwehavetosavethecurrentx-heightofthefont,bGecausewe'llchangethis RfontUUdimensionandthisisalwaysdoneglobally*.C10.684f{\U@D1ex%RThenKwecomputethenewx-heightinsuchawaythattheumlautcharacteris Rlowered tothebasecharacter.NThevqalueof.45exdepGendsontheo> logo10METAF9ONTRparameterswithwhichthefontswerebuilt.f(Justtryout,SwhichvqaluewillloGokRbGest.)C10.685f{\setbox\z@\hbox{% C10.686y2\expandafter\char\csname\f@encodingdqpos\endcsname}%C10.687o\dimen@-.45ex\advance\dimen@\ht\z@42+y?RIfUUthenewx-heightistoGolow,itisnotchanged. IC10.688f\ifdim1ex<\dimen@\fontdimen5\font\dimen@\fi}%IRFinally-wecallthe\accentprimitive,cresettheoldx-heightandinsertthebase RcharacterUUintheargument.C10.689f\expandafter\accent\csname\f@encodingdqpos\endcsname C10.690f\fontdimen5\font\U@D#1}}ڍaF*orƃallvowelsƃwedeclare\"tobGeacompositecommandwhichusesR\bbl@umlautaA˲or\bbl@umlautetopGositiontheumlautcharacter.7)W*eneedtoRbGedsurethatthesede nitionsoverridedtheonesthatareprovidedwhenthepack-RagerfontencwithoptionOT1isused.\ThereforethesedeclarationsarepGostponedRuntilUUthebGeginningofthedocument.C10.691\\AtBeginDocument{% C10.692f\DeclareTextCompositeCommand{\"}{OT1}{a}{\bbl@umlauta{a}}%C10.693f\DeclareTextCompositeCommand{\"}{OT1}{e}{\bbl@umlaute{e}}%C10.694f\DeclareTextCompositeCommand{\"}{OT1}{i}{\bbl@umlaute{\i}}%C10.695f\DeclareTextCompositeCommand{\"}{OT1}{\i}{\bbl@umlaute{\i}}%C10.696f\DeclareTextCompositeCommand{\"}{OT1}{o}{\bbl@umlauta{o}}%C10.697f\DeclareTextCompositeCommand{\"}{OT1}{u}{\bbl@umlauta{u}}%C10.698f\DeclareTextCompositeCommand{\"}{OT1}{A}{\bbl@umlauta{A}}%C10.699f\DeclareTextCompositeCommand{\"}{OT1}{E}{\bbl@umlaute{E}}%C10.700f\DeclareTextCompositeCommand{\"}{OT1}{I}{\bbl@umlaute{I}}%C10.701f\DeclareTextCompositeCommand{\"}{OT1}{O}{\bbl@umlauta{O}}%C10.702f\DeclareTextCompositeCommand{\"}{OT1}{U}{\bbl@umlauta{U}}%C10.703\}R10.12~@Therede nitionofthestylecommandsuTRTherestofthecoGdeinthis lecanonlybeprocessedbyL5ffA͉TU>'ExX,nsowechecktheRcurrent format.9ZIfitisplainTU>'ExX,proGcessingshouldstophere.But,bGecauseoftheRneedtolimitthescopGeofthede nitionof\format,amacrothatisusedlocallyRinthefollowing\ifstatement,thiscomparisonisdoneinsideagroup.@T*opreventRTU>'ExX*fromcomplainingabGoutanunclosedgroup, theprocessingofthecommandR\endinput#+isdeferreduntilafterthegroupisclosed.aThisisaccomplishedbytheRcommandUU\aftergroup. IC10.704\{\def\format{lplain}C10.705\\ifx\fmtname\formatC10.706\\elseC10.707f\def\format{LaTeX2e}C10.708f\ifx\fmtname\formatC10.709f\elseC10.710o\aftergroup\endinputC10.711f\fiC10.712\\fi}IaNowcthatwe'resurethatthecoGdeisseenbyL5ffA͉TU>'ExXonly*,fwehaveto ndoutRwhatthemain(primary)doGcumentstyleisbGecausewewanttorede nesomeRmacros.ThisgisonlynecessaryforreleasesofL5ffA͉TU>'ExXdatedbGeforedecember1991.43,ՠy?RThereforePthispartofthecoGdecanoptionallybeincludedinbabel.defbyspec- RifyingUUthedocstripoptionnames. ύC10.713\hnamesiύaTheI;standardstylescanbGedistinguishedbycheckingwhethersomemacrosRare3de ned.obIntable1anoverview3isgivenofthemacrosthatcanbGeusedforRthisUUpurpGose.s뿍6 ZwـffQfd͟ffΟfdarticleY*:gbGoththe\chapterand\openingmacrosareunde-g nedQ]ff͟ffΟfdrepGortUUandbookY*:gthez\chaptermacroisde nedandthe\openingisgunde nedQ]ff͟ffΟfdletterY*:gtheq.\chaptermacroisunde nedandthe\openinggղisUUde nedQ]ffffQ3-T*ableUU1:qHowtodeterminethemaindoGcumentstyleW׍RThemacrosthathavetobGerede nedforthereportandbookdocumentstylesRhappGentobethesame,sothereisnoneedtodistinguishbetweenthosetwostyles.m\doc@styleRFirstZaparameter\doc@styleisde nedtoidentifythecurrentdoGcumentstyle.RThisparametermighthavebGeende nedbyadoGcumentstylethatalreadyusesRmacros?insteadofhard-wiredtexts,D+suchasartikel1.sty[6],sotheexistenceofR\doc@styleоischecked.Ifоthismacroisunde ned,i.e.,ifоthedoGcumentstyleisRunknownyhandcouldthereforecontainhard-wiredtexts,m\doc@styleisde nedtoRtheUUdefaultvqalue`0'.C10.714\A\ifx\@undefined\doc@style C10.715fA\def\doc@style{0}%ύRThisUUparameterisde nedinthefollowingxifconstruction(seetable1):IC10.716fA\ifx\@undefined\openingC10.717o A\ifx\@undefined\chapterC10.718y8A\def\doc@style{1}%C10.719o A\elseC10.720y8A\def\doc@style{2}%C10.721o A\fiC10.722fA\elseC10.723o A\def\doc@style{3}%C10.724fA\fi%C10.725\A\fi%!R10.12.1~Rede nitionTofmacrosuTRNow(herecomestherealwork:T1westarttorede nethingsandreplacehard-wired Rtextsbymacros.Theserede nitionsshouldbGecarriedoutconditionally*,incaseRitUUhasalreadybGeendone.aF*orUUthefigureandtableenvironmentsUUwehaveinallstyles:44-y?C10.726\A\@ifundefined{figurename}{\def\fnum@figure{\figurename{}\thefigure}}{} C10.727\A\@ifundefined{tablename}{\def\fnum@table{\tablename{}\thetable}}{}aThe^Urestofthemacroshave^UtobGetreateddi erentlyforeachstyle.When R\doc@styleUUstillhasitsdefaultvqaluenothingneedstobGedone.C10.728\A\ifcase\doc@style\relaxC10.729\A\oraThis~5meansthatbabel.defisreadafterthearticlestyle,\m@neC10.773wfA\refstepcounter{part}%C10.774wfA\addcontentsline{toc}{part}{\thepartC10.775wfA\hspace{1em}#1}\elseC10.776y8A\addcontentsline{toc}{part}{#1}\fiC10.777jsA{\parindent\z@\raggedrightC10.778o A\ifnum\c@secnumdepth>\m@neC10.779y8A\Large\bf\partname{}\thepartC10.780y8A\par\nobreakC10.781o A\fiC10.782o A\huge\bfC10.783o A#2\markboth{}{}\par}%C10.784o A\nobreakC10.785o A\vskip3ex\@afterheading}%C10.786\A}{}aThisUUisallthatneedstobGedoneforthearticlestyle.C10.787\A\oraThenextcaseisformedbythetwostylesbookandreport.TDBasicallywehave Rtoodothesameasforthearticlestyle,exceptnowwemustalsochangetheR\chapterUUcommand.aTheUUtablesofcontents,UU guresandtables:C10.788\A\@ifundefined{contentsname}% C10.789o A{\def\tableofcontents{\@restonecolfalseC10.790y8A\if@twocolumn\@restonecoltrue\onecolumnC10.791y8A\fi\chapter*{\contentsname\@mkbothC10.792A{\uppercase{\contentsname}}{\uppercase{\contentsname}}}%C10.793y8A\@starttoc{toc}%C10.794y8A\csnameif@restonecol\endcsname\twocolumnC10.795y8A\csnamefi\endcsname}}{}C10.796C10.797\A\@ifundefined{listfigurename}C10.798o A{\def\listoffigures{\@restonecolfalseC10.799y8A\if@twocolumn\@restonecoltrue\onecolumnC10.800y8A\fi\chapter*{\listfigurename\@mkbothC10.801A{\uppercase{\listfigurename}}{\uppercase{\listfigurename}}}%C10.802y8A\@starttoc{lof}%C10.803y8A\csnameif@restonecol\endcsname\twocolumn46/y?C10.804y8A\csnamefi\endcsname}}{} C10.805C10.806\A\@ifundefined{listtablename}C10.807o A{\def\listoftables{\@restonecolfalseC10.808y8A\if@twocolumn\@restonecoltrue\onecolumnC10.809y8A\fi\chapter*{\listtablename\@mkbothC10.810A{\uppercase{\listtablename}}{\uppercase{\listtablename}}}%C10.811y8A\@starttoc{lot}%C10.812y8A\csnameif@restonecol\endcsname\twocolumnC10.813y8A\csnamefi\endcsname}}{}aAgain,thebibliographyandindexenvironments;unoticethatinthiscasewe Ruse/\bibnameinsteadof\refnameasinthede nitionsforthearticlestyle.KTheRreasonaforthisisthatinthearticledoGcumentstyletheterm`References'isusedRinabthede nitionof\thebibliography.InthereportandbookdoGcumentstylesRtheUUterm`Bibliography'isused. C10.814\A\@ifundefined{bibname} C10.815o A{\def\thebibliography#1{\chapter*{\bibnameC10.816tJA\@mkboth{\uppercase{\bibname}}{\uppercase{\bibname}}}%C10.817tJA\list{[\arabic{enumi}]}{\settowidth\labelwidth{[#1]}%C10.818tJA\leftmargin\labelwidth\advance\leftmargin\labelsepC10.819tJA\usecounter{enumi}}%C10.820tJA\def\newblock{\hskip.11emplus.33emminus.07em}%C10.821tJA\sloppy\clubpenalty4000\widowpenalty\clubpenaltyC10.822tJA\sfcode`\.=1000\relax}}{}C10.823C10.824\A\@ifundefined{indexname}C10.825o A{\def\theindex{\@restonecoltrue\if@twocolumn\@restonecolfalse\fiC10.826o A\columnseprule\z@C10.827o A\columnsep35pt\twocolumn[\@makeschapterhead{\indexname}]%C10.828y8A\@mkboth{\uppercase{\indexname}}{\uppercase{\indexname}}%C10.829o A\thispagestyle{plain}%C10.830o A\parskip\z@plus.3pt\parindent\z@\let\item\@idxitem}}{}aHereUUistheabstractenvironment: C10.831\A\@ifundefined{abstractname}C10.832o A{\def\abstract{\titlepageC10.833o A\null\vfilC10.834o A\begin{center}%C10.835o A{\bf\abstractname}%C10.836o A\end{center}}}{}aAndUUlastbutnotleastthe\chapter,\appendixand\partmacros. C10.837\A\@ifundefined{chaptername}{\def\@chapapp{\chaptername}}{}C10.838\A%C10.839\A\@ifundefined{appendixname}C10.840o A{\def\appendix{\parC10.841y8A\setcounter{chapter}{0}%C10.842y8A\setcounter{section}{0}%C10.843y8A\def\@chapapp{\appendixname}%C10.844y8A\def\thechapter{\Alph{chapter}}}}{}470 Qy?C10.845\A% C10.846\A\@ifundefined{partname}C10.847o A{\def\@part[#1]#2{\ifnum\c@secnumdepth>-2\relaxC10.848]A\refstepcounter{part}%C10.849]A\addcontentsline{toc}{part}{\thepartC10.850]A\hspace{1em}#1}\elseC10.851]A\addcontentsline{toc}{part}{#1}\fiC10.852}A\markboth{}{}%C10.853}A{\centeringC10.854wfA\ifnum\c@secnumdepth>-2\relaxC10.855A\huge\bf\partname{}\thepartC10.856wfA\parC10.857wfA\vskip20pt\fiC10.858wfA\Huge\bfC10.859wfA#1\par}\@endpart}}{}%C10.860\A\oraNowweaddressthecasewherebabel.defisreadaftertheletterstyle. RTheletterdoGcumentstylede nesthemacro\openingandsomeothermacrosRthatarespGeci ctoletter.>Thismeansthatwehavetorede neothermacros,RcomparedUUtotheprevioustwoUUcases.aFirsttwomacrosforthematerialattheendofaletter,@the\ccand\enclRmacros.C10.861\A\@ifundefined{ccname}% C10.862o A{\def\cc#1{\par\noindentC10.863tJA\parbox[t]{\textwidth}%C10.864tJA{\@hangfrom{\rm\ccname:}\ignorespaces#1\strut}\par}}{}C10.865C10.866\A\@ifundefined{enclname}%C10.867o A{\def\encl#1{\par\noindentC10.868tJA\parbox[t]{\textwidth}%C10.869tJA{\@hangfrom{\rm\enclname:}\ignorespaces#1\strut}\par}}{}aTheUUlastthingwehavetodohereistorede netheheadingspagestyle:C10.870\A\@ifundefined{headtoname}C10.871o A{\def\ps@headings{%C10.872wfA\def\@oddhead{\sl\headtoname{}\ignorespaces\toname\hfilC10.873ĝA\@date\hfil\pagename{}\thepage}%C10.874wfA\def\@oddfoot{}}}{}aThiswasthelastofthefourstandarddoGcumentstyles, soif\doc@stylehas RanotherUUvqaluewedonothingandjustclosetheifconstruction.C10.875\A\fiRHere]endsthecoGdethatcanbeoptionallyincludedwhenaversionofL5ffA͉TU>'ExXisin RuseUUthatisdatedb}'eforedecembGerUU1991.C10.876\h=namesi C10.877\h=co9re_i481+y?R10.13~@CrossreferencingmacrosuTRTheUUL5ffA͉TU>'ExXbGookUUstates:kThekeyargumentisanysequenceofletters,ͨdigits,andpunctuation ksymbGols;UUupper-andlowercaselettersareregardedasdi erent.RWhendtheabGovedquoteshouldstillbetruewhenadocumentistypGesetinalan-Rguagethathasactivecharacters,SspGecialcarehastobetakenofthecategoryRcoGdesaofthesecharacterswhentheyappearinanargumentofthecrossreferenc-RingUUmacros.aWhen/acrossreferencingcommandproGcessesitsargument,%alltokensinthisRargumentUUshouldbGecharactertokenswithcategory`letter'or`other'.aThe[onlyway[toaccomplishthisinmostcasesistousethetrickdescribGedinRtheATU>'ExXbGook[1](AppendixD,page382).Theprimitive\meaningappliedtoaRtokenexpandstothecurrentmeaningofthistoken.]F*orexample,̾`\meaning\A'Rwith\Ade nedas`\def\A#1{\B}'expandstothecharacters`macro:#1->\B'withRallUUcategorycoGdessetto`other'or`space'./ \bbl@redefineRT*oB_rede neacommand,F*wesavetheoldmeaningofthemacro.kuThenwerede neRittocalltheoriginalmacrowiththe`sanitized'argument.^ThereasonwhywedoRit@thisway@isthatwedon'twanttorede netheL5ffA͉TU>'ExXmacroscompletelyincaseRtheirUUde nitionschange(theyhavechangedinthepast).aBacsuseweneedtorede neanumbGerofcommandswede nethecommandR\bbl@redefineMwhichtakescareofthis. ZItcreatesanewcontrolsequence,R\org@... eC10.878\hco9re8jshorthandsDi C10.879\\def\bbl@redefine#1{%C10.880f\edef\bbl@tempa{\expandafter\@gobble\string#1}%C10.881f\expandafter\let\csnameorg@\bbl@tempa\endcsname#1C10.882f\expandafter\def\csname\bbl@tempa\endcsname}eaThisUUcommandshouldonlybGeusedinthepreambleofthedocument.C10.883\\@onlypreamble\bbl@redefine/9\bbl@redefine@longRThisNversionof\babel@redefinevqanbGeusedtorede ne\longcommandssuch RasUU\ifthenelse.C10.884\\def\bbl@redefine@long#1{%C10.885f\edef\bbl@tempa{\expandafter\@gobble\string#1}%C10.886f\expandafter\let\csnameorg@\bbl@tempa\endcsname#1C10.887f\expandafter\long\expandafter\def\csname\bbl@tempa\endcsname}C10.888\\@onlypreamble\bbl@redefine@long/H\bbl@redefinerobustRF*orcommandsthatarerede ned,ҬbutwhichmightsbGerobustweneedaslightly Rmore intelligentmacro.:'AHrobustcommandfooisde nedtoexpandtoR\protect\foo .qSoUUitisnecessarytocheckUUwhether\foo exists.C10.889\\def\bbl@redefinerobust#1{% C10.890f\edef\bbl@tempa{\expandafter\@gobble\string#1}%C10.891f\expandafter\ifx\csname\bbl@tempa\space\endcsname\relax4925y?C10.892o\expandafter\let\csnameorg@\bbl@tempa\endcsname#1 C10.893o\expandafter\edef\csname\bbl@tempa\endcsname{\noexpand\protectC10.894y2\expandafter\noexpand\csname\bbl@tempa\space\endcsname}%C10.895f\elseC10.896o\expandafter\let\csnameorg@\bbl@tempa\expandafter\endcsnameC10.897*f\csname\bbl@tempa\space\endcsnameC10.898f\fifRTheresultofthecoGdeaboveisthatthecommandthatisbeingrede nedisalways RrobustUUafterwards.qThereforeallweneetodonowisde ne\foo . fC10.899f\expandafter\def\csname\bbl@tempa\space\endcsname}aThisUUcommandshouldonlybGeusedinthepreambleofthedocument.C10.900\\@onlypreamble\bbl@redefinerobust3$\newlabelRThe>|macro\labelwritesalinewitha\newlabelcommandintothe.aux leto Rde neUUlabGels.C10.901\\bbl@redefine\newlabel#1#2{% C10.902f\@safe@activestrue\org@newlabel{#1}{#2}\@safe@activesfalse}$\@testdefRAn~internalL5ffA͉TU>'ExXmacrousedtotestifthelabGelsthathavebGeenwrittenonthe R.auxC lehaveCchanged.4lItiscalledbythe\enddocumentmacro.4lThismacroneedsRtoubGecompletelyrewritten,'ExXkeepsrepGortingthatthelabelsmayhaveRchanged.C10.903\\def\@testdef#1#2#3{% C10.904f\expandafter\let\expandafter\bbl@tempa\csname#1@#2\endcsnameC10.905f\def\bbl@tempb{#3}%C10.906f\ifx\bbl@tempa\relax\elseC10.907f\edef\bbl@tempa{\expandafter\strip@prefix\meaning\bbl@tempa}\fiC10.908f\edef\bbl@tempb{\expandafter\strip@prefix\meaning\bbl@tempb}%C10.909f\ifx\bbl@tempa\bbl@tempbC10.910f\else\@tempswatrue\fi}35`\ref "y\pagerefRThe9sameholdsforthemacro\refthatreferencesalabGeland\pagereftorefer- RenceyOapage.ݵSowerede ne\refand\pageref.Whilewechangethesemacros,Rwemakethemrobustaswell(iftheyweren'talready)topreventproblemsiftheyRshouldUUbGecomeexpandedatthewrongmoment.C10.911\\bbl@redefinerobust\ref#1{% C10.912f\@safe@activestrue\org@ref{#1}\@safe@activesfalse}C10.913\\bbl@redefinerobust\pageref#1{%C10.914f\@safe@activestrue\org@pageref{#1}\@safe@activesfalse}3'3P\@citexRTheXmacrousedtocitefromabibliography*,&\citeusesaninternalmacro, R\@citex.Itoqisthisinternalmacrothatpicksuptheargument,sowerede neRthisUUinternalmacroandleave\citealone.C10.915\\bbl@redefine\@citex[#1]#2{% C10.916f\@safe@activestrue\org@@citex[#1]{#2}\@safe@activesfalse}503C5y?'3P\nociteRThe|rmacro\nocitewhichisusedtoinstructBiBTU>'ExXtoextractuncitedreferences RfromUUthedatabase. C10.917\\bbl@redefine\nocite#1{% C10.918f\@safe@activestrue\org@nocite{#1}\@safe@activesfalse}"y\bibciteRTheUUmacrothatisusedinthe.aux letode necitationlabGels.C10.919\%\bbl@redefine\bibcite#1#2{%C10.920\% s,\@safe@activestrue\org@bibcite{#1}{#2}\@safe@activesfalse}$\@bibitemROnejofthetwojinternalL5ffA͉TU>'ExXmacroscalledby\bibitemthatwritethecitation RlabGelUUonthe.aux le.C10.921\\bbl@redefine\@bibitem#1{%C10.922f\@safe@activestrue\org@@bibitem{#1}\@safe@activesfalse}\@lbibitemRTheDotherofthetwoDinternalL5ffA͉TU>'ExXmacroscalledby\bibitemthatwritethe RcitationUUlabGelonthe.aux le.C10.923\\bbl@redefine\@lbibitem[#1]#2{%C10.924f\@safe@activestrue\org@@lbibitem[#1]{#2}\@safe@activesfalse}C10.925\h=co9re8jshorthandsDiL\ifthenelseRSometimesadoGcumentwriterwantstocreateaspGeciale ectdependingonthe RpageacertainfragmentoftextappGearson.UThiscanbeacheivedbythefollowingRpGeiceUUofcode:dX\ifthenelse{\isodd{pageref{some:label}}}{codeforoddpages}{codeforevenpages}RInXorderforthistoworktheargumentof\isoddneedstobGefullyexpandable.RwithOtheabGoveOrede nitionof\pagerefitisnotinthecaseofthisexample."T*oRovercomethatweaddsomecoGdetothede nitionof\ifthenelsetomakethingsRwork.aTheb rstthingweneedtodoischeckifthepackqageifthenisloaded.ThisRshouldUUbGedoneat\begin{focument}time. C10.926\hpack9age#g iC10.927\\AtBeginDocument{%C10.928f\@ifpackageloaded{ifthen}{% RThenUUwecanrede ne\ifthenelse:C10.929o\bbl@redefine@long\ifthenelse#1#2#3{%RW*e6wanttorevertthede nitionof\pagereftoitsorginalde nitionforthe RdurationUUof\ifthenelse,sowe rstneedtostoreitscurrentmeaning.C10.930y2\let\bbl@tempa\pageref C10.931y2\let\pageref\org@pagerefRThenUUwecansetthe\@safe@activesswitchandcalltheoriginal\ifthenelse.C10.932y2\@safe@activestrue\org@ifthenelse{#1}{#2}{#3}% C10.933y2\@safe@activesfalse514PWy?RNowUUweneedtore-installthestoredde nitionof\pageref.C10.934y2\let\pageref\bbl@tempa C10.935y2}%RWhenUUthepackqagewasn'tloadedwedonothing.C10.936o}{}%C10.937f}L\@@vpagerefRWhenNthepackqagevariorefisinuseweneedtomoGdifyitsinternalcommand R\@@vpagerefinordertopreventproblemswhenanactivecharacterendsupinRtheUUargumentof\vref.C10.938\\AtBeginDocument{%C10.939f\@ifpackageloaded{varioref}{%C10.940o\bbl@redefinerobust\@@vpageref#1[#2]#3{%C10.941y2\@safe@activestrueC10.942y2\org@@@vpageref{#1}[#2]{#3}%C10.943y2\@safe@activesfalse}%C10.944o}{}%C10.945f}'3P\hhlineRDealyingtheactivqationoftheshorthandcharacteshasintroGducedaproblemwithRthehhlinepackqage.x Thereasonisthatitusesthe`:'JcharacterwhichismadeRactivebythefrenchsuppGortinbabel.sxThereforeweneedtor}'eload thepackqageRwhenUUthe`:'qisanactivecharacter.aSoUUat\begin{document}wecheckwhetherhhlineisloaded.C10.946\\AtBeginDocument{%C10.947f\@ifpackageloaded{hhline}RThenUUwecheckwhethertheexpansionof\normal@char:isnotequalto\relax.C10.948o{\expandafter\ifx\csnamenormal@char:\endcsname\relaxC10.949tJ\elseRInthatcasewesimplyreloadthepackqage.NotethatthishappGensafterQthe RcategoryUcoGdeofthe@-signhasbeenchangedtoother,soweneedtotempGorarilyRchangeUUittoletteragain.C10.950}\makeatletterC10.951}\def\@currname{hhline}\input{hhline.sty}\makeatotherC10.952tJ\fi}C10.953o{}}C10.954\h=pack9age#g i 6\nfss@catcodesRL5ffA͉TU>'ExX'svfontselectionschemesometimeswantstoreadfontde nition lesintheRmiddleofproGcessingthedocument.InordertoguardagainstanycharactersRhavingthewrong\catcode'sitalwayscalls\nfss@catcodesbGeforeloadingaR le.Unfortunately*,fthecWcharacters"and'arenotdealtwith.ThereforewehaveRtoUUaddthemuntillL5ffA͉TU>'ExXdoGesthatherself.C10.955\hco9re8jshorthandsDiC10.956\\ifx\nfss@catcodes\@undefinedC10.957\\else525[y?C10.958f\addto\nfss@catcodes{% C10.959o\@makeother\'%C10.960o\@makeother\"%C10.961o}C10.962\\fiC10.963\h=co9re8jshorthandsDi!čR11rfdLos3calffLanguageCon guration \loadlocalcfgRAt'somesitesitmaybGenecessarytoaddsitespeci cactionstoalanguagede ni- RtionMp le.o%ThiscanbGedonebycreatinga lewiththesamenameasthelanguageRde ntionݒ le,butwiththeextension.cfg. }F*orinstancethe lenorsk.cfgwillRbGeUUloadedwhenthelanguagede nition lenorsk.ldfisloaded.K11.1\hco9re_iRF*orplainbasedformatswedon'twanttooverridethede nitionof\loadlocalcfgRfromUUplain.def.K11.2\\ifx\loadlocalcfg\@undefined K11.3f\def\loadlocalcfg#1{%K11.4o\InputIfFileExists{#1.cfg}K11.5 {\typeout{*************************************^^J%K11.6*Localconfigfile#1.cfgused^^J%K11.7*}%K11.8]}K11.9 {}}GË11.10\\fiRJustUUtobGecompatiblewithL5ffA͉TU>'ExX82.09weaddafewmorelinesofcode:GË11.11\\ifx\@unexpandable@protect\@undefinedGË11.12f\def\@unexpandable@protect{\noexpand\protect\noexpand}GË11.13f\long\def\protected@write#1#2#3{%GË11.14w^\begingroupGË11.150\let\thepage\relaxGË11.160#2%GË11.170\let\protect\@unexpandable@protectGË11.180\edef\reserved@a{\write#1{#3}}%GË11.190\reserved@aGË11.20w^\endgroupGË11.21w^\if@nobreak\ifvmode\nobreak\fi\fiGË11.22f}GË11.23\\fiGË11.24\h=co9re_i536fΠy?R12rfdDriverff lesforthedos3cumentedsourcecos3deRSince,babGelversion3.4allsource lesthatarepartofthebabelsystemcanbe RtypGesetGseparately*.OButinordertotypGesetthemallinonedocumentthe leRbabel.drvzcanbGeused.V)IfyouonlywanttheinformationonhowtousethebabGelRsystem@andwhatgoGodies@areprovidedbythelanguagespGci c lesyoucanrunRtheUU leuser.drvthroughL5ffA͉TU>'ExXtogetauserguide.K12.1\hdriveroi K12.2\\documentclass{ltxdoc}K12.3\\DoNotIndex{\!,\',\,,\.,\-,\:,\;,\?,\/,\^,\`,\@M}K12.4\\DoNotIndex{\@,\@ne,\@m,\@afterheading,\@date,\@endpart}K12.5\\DoNotIndex{\@hangfrom,\@idxitem,\@makeschapterhead,\@mkboth}K12.6\\DoNotIndex{\@oddfoot,\@oddhead,\@restonecolfalse,\@restonecoltrue}K12.7\\DoNotIndex{\@starttoc,\@unused}K12.8\\DoNotIndex{\accent,\active}K12.9\\DoNotIndex{\addcontentsline,\advance,\Alph,\arabic}GË12.10\\DoNotIndex{\baselineskip,\begin,\begingroup,\bf,\box,\c@secnumdepth}GË12.11\\DoNotIndex{\catcode,\centering,\char,\chardef,\clubpenalty}GË12.12\\DoNotIndex{\columnsep,\columnseprule,\crcr,\csname}GË12.13\\DoNotIndex{\day,\def,\dimen,\discretionary,\divide,\dp,\do}GË12.14\\DoNotIndex{\edef,\else,\@empty,\end,\endgroup,\endcsname,\endinput}GË12.15\\DoNotIndex{\errhelp,\errmessage,\expandafter,\fi,\filedate}GË12.16\\DoNotIndex{\fileversion,\fmtname,\fnum@figure,\fnum@table,\fontdimen}GË12.17\\DoNotIndex{\gdef,\global}GË12.18\\DoNotIndex{\hbox,\hidewidth,\hfil,\hskip,\hspace,\ht,\Huge,\huge}GË12.19\\DoNotIndex{\ialign,\if@twocolumn,\ifcase,\ifcat,\ifhmode,\ifmmode}GË12.20\\DoNotIndex{\ifnum,\ifx,\immediate,\ignorespaces,\input,\item}GË12.21\\DoNotIndex{\kern}GË12.22\\DoNotIndex{\labelsep,\Large,\large,\labelwidth,\lccode,\leftmargin}GË12.23\\DoNotIndex{\lineskip,\leavevmode,\let,\list,\ll,\long,\lower}GË12.24\\DoNotIndex{\m@ne,\mathchar,\mathaccent,\markboth,\month,\multiply}GË12.25\\DoNotIndex{\newblock,\newbox,\newcount,\newdimen,\newif,\newwrite}GË12.26\\DoNotIndex{\nobreak,\noexpand,\noindent,\null,\number}GË12.27\\DoNotIndex{\onecolumn,\or}GË12.28\\DoNotIndex{\p@,par,\parbox,\parindent,\parskip,\penalty}GË12.29\\DoNotIndex{\protect,\ps@headings}GË12.30\\DoNotIndex{\quotation}GË12.31\\DoNotIndex{\raggedright,\raise,\refstepcounter,\relax,\rm,\setbox}GË12.32\\DoNotIndex{\section,\setcounter,\settowidth,\scriptscriptstyle}GË12.33\\DoNotIndex{\sfcode,\sl,\sloppy,\small,\space,\spacefactor,\strut}GË12.34\\DoNotIndex{\string}GË12.35\\DoNotIndex{\textwidth,\the,\thechapter,\thefigure,\thepage,\thepart}GË12.36\\DoNotIndex{\thetable,\thispagestyle,\titlepage,\tracingmacros}GË12.37\\DoNotIndex{\tw@,\twocolumn,\typeout,\uppercase,\usecounter}GË12.38\\DoNotIndex{\vbox,\vfil,\vskip,\vspace,\vss}GË12.39\\DoNotIndex{\widowpenalty,\write,\xdef,\year,\z@,\z@skip}aHereUU\dlqqisde nedsothatanexampleof"'canbGegiven.GË12.40\\makeatletter547ny?GË12.41\\gdef\dlqq{{\setbox\tw@=\hbox{,}\setbox\z@=\hbox{''}% GË12.42f\dimen\z@=\ht\z@\advance\dimen\z@-\ht\tw@GË12.43f\setbox\z@=\hbox{\lower\dimen\z@\box\z@}\ht\z@=\ht\tw@GË12.44f\dp\z@=\dp\tw@\box\z@\kern-.04em}}꫍aTheUUcoGdelinesarenumberedUUwithinsections, ꫍GË12.45\h!useriGË12.46\A\@addtoreset{CodelineNo}{section}GË12.47\A\renewcommand\theCodelineNo{%GË12.48fA\reset@font\scriptsize\thesection.\arabic{CodelineNo}}RwhichmZshouldalsobGevisibleintheindex;y\hencethisrede nitionofamacrofrom Rdoc.sty. ꫍GË12.49\A\renewcommand\codeline@wrindex[1]{\if@fileswGË12.50wfA\immediate\write\@indexfileGË12.51]A{\string\indexentry{#1}%GË12.52]A{\number\c@section.\number\c@CodelineNo}}\fi}aThe .glossaryenvironment .isusedorthechangelog,9butitsde nitionneeds RchangingUUforthisdoGcument. ꫍GË12.53\A\renewenvironment{theglossary}{%GË12.54o A\glossary@prologue%GË12.55o A\GlossaryParms\let\item\@idxitem\ignorespaces}%GË12.56jsA{}GË12.57\h=!useriGË12.58\\makeatotheraAUUfewshorthandsusedinthedoGcumentation ꫍GË12.59\\font\manual=logo10%fontusedfortheMETAFONTlogo,etc.GË12.60\\newcommand*\MF{{\manualMETA}\-{\manualFONT}}GË12.61\\newcommand*\TeXhax{\TeXhax}GË12.62\\newcommand*\babel{\textsf{babel}}GË12.63\\newcommand*\Babel{\textsf{Babel}}GË12.64\\newcommand*\m[1]{\mbox{$\langle$\it#1\/$\rangle$}}GË12.65\\newcommand*\langvar{\m{lang}}aSomeUUmorede nitionsneededinthedoGcumentation. ꫍GË12.66\%\newcommand*\note[1]{\textbf{#1}}GË12.67\\newcommand*\note[1]{}GË12.68\\newcommand*\bsl{\protect\bslash}GË12.69\\newcommand*\Lopt[1]{\textsf{#1}}GË12.70\\newcommand*\file[1]{\texttt{#1}}GË12.71\\newcommand*\cls[1]{\texttt{#1}}GË12.72\\newcommand*\pkg[1]{\texttt{#1}}GË12.73\\newcommand*\langdeffile[1]{%GË12.74\huseri s.A\clearpageGË12.75f\DocInput{#1}}aWhen8afullindexshouldbGegenerateduncommentthelinewith\EnableCrossres. RBeware,xproGcessingmaytakesometime.CUse\DisableCrossrefswhentheindexRisUUready*. ꫍GË12.76\% s,\EnableCrossrefs558|Ġy?GË12.77\\DisableCrossrefsaInludeUUthechangelog.GË12.78\huseriA\RecordChangesRTheUUindexshouldusethelinenumbGersUUofthecode.GË12.79\huseriA\CodelineIndexaSetUUeverythingin\MacroFontinsteadof\AltMacroFontGË12.80\\setcounter{StandardModuleDepth}{1}aF*orUUtheuserguideweonlywantthedescriptionpartsofallthe les.GË12.81\h+useriA\OnlyDescriptionRHereUUstartsthedoGcumentGË12.82\\begin{document} GË12.83\\DocInput{babel.dtx}aAllUUthelanguagede nition les.GË12.84\h+useriA\clearpage GË12.85\\langdeffile{esperant.dtx}GË12.86\\langdeffile{dutch.dtx}GË12.87\\langdeffile{english.dtx}GË12.88\\langdeffile{germanb.dtx}GË12.89\%GË12.90\\langdeffile{breton.dtx}GË12.91\\langdeffile{welsh.dtx}GË12.92\\langdeffile{irish.dtx}GË12.93\\langdeffile{scottish.dtx}GË12.94\%GË12.95\\langdeffile{greek.dtx}GË12.96\%GË12.97\\langdeffile{frenchb.dtx}GË12.98\\langdeffile{italian.dtx}GË12.99\\langdeffile{portuges.dtx}C12.100\\langdeffile{spanish.dtx}C12.101\\langdeffile{catalan.dtx}C12.102\\langdeffile{galician.dtx}C12.103\\langdeffile{romanian.dtx}C12.104\%C12.105\\langdeffile{danish.dtx}C12.106\\langdeffile{norsk.dtx}C12.107\\langdeffile{swedish.dtx}C12.108\%C12.109\\langdeffile{finnish.dtx}C12.110\\langdeffile{magyar.dtx}C12.111\\langdeffile{estonian.dtx}C12.112\%C12.113\\langdeffile{croatian.dtx}C12.114\\langdeffile{czech.dtx}C12.115\\langdeffile{polish.dtx}C12.116\\langdeffile{slovak.dtx}569ly?C12.117\\langdeffile{slovene.dtx} C12.118\\langdeffile{russianb.dtx}C12.119\%C12.120\\langdeffile{lsorbian.dtx}C12.121\\langdeffile{usorbian.dtx}C12.122\\langdeffile{turkish.dtx}C12.123\%C12.124\\langdeffile{bahasa.dtx}C12.125\\clearpageC12.126\\DocInput{bbplain.dtx}RFinallyUUprinttheindexandchangelog(notfortheuserguide).C12.127\h!useriC12.128\A\clearpageC12.129\A\def\filename{index}C12.130\A\PrintIndexC12.131\A\clearpageC12.132\A\def\filename{changes}C12.133\A\PrintChangesC12.134\h=!useriC12.135\\end{document}C12.136\h=driveroi57:y?R13rfdConclusionRAsystemofdoGcumentoptionshasbeenpresentedthatenabletheuserofL5ffA͉TU>'ExX RtoadaptthestandarddoGcumentclassesofL5ffA͉TU>'ExXtothelanguageheorsheprefersRto~wuse.-Theseoptionso erthepGossibilitytoswitchbGetweenlanguagesinoneRdoGcument.PThebasicinterfaceconsistsofusingonesoption,whichisthesameforRall]޲standardUUdoGcumentclasses.aIncsomecasesthelanguagede nition lesprovidemacrosthatcanbGeofusetoRplaincTU>'ExXusersaswellastoL5ffA͉TU>'EXusers.9ThebabGelsystemhasbeenimplementedRinUUsuchawaythatitcanbGeusedbybGothgroupsofusers.!čR14rfdAcknowledgementsRI'wouldYliketothankallwhovolunteeredas -testersfortheirtime.0sI'wouldliketoRmentionmJulioSanchezwhosuppliedtheoption lefortheSpanishlanguageandRMaurizioZCoGdognowhosuppliedtheoption lefortheItalianlanguage.MichelRGoGossens>suppliedcontributionsformostoftheotherlanguages.+NicoPoppGelierRhelpGedxpolishingthetextofthedocumentationandsuppliedpartsofthemacrosRfor7theDutchlanguage. PaulW*ackersandW*erenfriedSpithelpGed ndingandRrepairingUUbugs.aDuring^thefurtherdevelopment^ofthebabGelsystemIAreceivedmuchhelpfromRBerndUURaichle,forwhichIamgrateful.!čRReferencesR[1]a;DonaldUUE.Knuth,TheTKß'E-Xb}'ook,UUAddison-W*esley,1986.R[2]a;LeslieLampGort,aL雍Q9t}\cmti7ATKß'E-X,bAdo}'cumentnpreparationSystem,aAddison-W*esley,a;1986.R[3]a;K.F.[T*reebus.T;ekstwijzer,"e}'en@gidsvoorhetgra schverwerkenvantekst.[SDUa;Uitgeverij('s-Gravenhage,˲1988).ADutchbGookonlayoutdesignandtypGog-a;raphy*.R[4]a;HubGertUUPartl,GermanTKß'E-X,TUGb}'oatH-9UU(1988)#1,p.70{72.R[5]a;LeslieUULampGort,in:qTU>'ExXhaxDigest,V*olume89,#13,17februari1989.R[6]a;JohannesIBraams,VictorEijkhoutandNicoPoppGelier,Thetdevelopmentofa;nationalL雍QATKß'E-Xstyles,UUTUGb}'oatH-10(1989)#3,p.401{406.R[7]a;JoachimbSchroGd,e2InternationalL雍QATKß'E-Xisr}'eadytouse,TUGb}'oatT޲11b(1990)#1,a;p.UU87{90.58;]y?R15rfdTheffEsps3erantolanguageRThe leesperant.dtx^10 de nesallthelanguage-spGeci cmacrosfortheEsperanto Rlanguage.aF*or:thislanguagethecharacter^ismadeactive.!Intable2anoverviewisRgivenUUofitspurpGose.ԍ3]$pe^c_givesM^Gc.withhyphenationintherestofthewordal-_lowed,UUthisworksforc,C,g,G,H,J,s,S,z,Zpe^h_preventsUUh^frombGecomingtootallpe^j_gives\q^pe^u_givesu,mwithihyphenationintherestoftheword_allowedpe^U_givesǘxU,)withhyphenationintherestoftheword_allowedpe^|_insertsUUa\discretionary{-}{}{}E~T*ableUU2:qThefunctionsoftheactivecharacterforEspGeranto.9aThemacro\LdfInittakescareofpreventingthatthis leisloadedmorethanRonce,UUcheckingthecategorycoGdeofthe@sign,etc.K15.1\hcoAdei K15.2\\LdfInit{esperanto}\captionsesperantoaWhenTVthis leisreadasanoption,i.e. nbythe\usepackagecommand,ResperantoʲwillbGean`unknown'languageinwhichcasewehavetomakeitknown.RSowecheckfortheexistenceof\l@esperantotoseewhetherwehavetodosome-RthingUUhere.K15.3\\ifx\l@esperanto\@undefinedK15.4f\@nopatterns{Esperanto}K15.5f\adddialect\l@esperanto0\fiaThe[nextstepconsistsofde ningcommandstoswitchtotheEspGerantolan-Rguage.The1ZreasonforthisisthatausermightwanttoswitchbackandforthRbGetweenUUlanguages.9\captionsesperantoRThemacro\captionsesperantode nesallstringsusedinthefourstandardRdoGcumentclassesUUprovidedwithL5ffA͉TU>'ExX.K15.6\\addto\captionsesperanto{%K15.7f\def\prefacename{Anta\u{u}parolo}%K15.8f\def\refname{Cita\^\j{}oj}%K15.9f\def\abstractname{Resumo}%GË15.10f\def\bibname{Bibliografio}%GË15.11f\def\chaptername{{\^C}apitro}%GË15.12f\def\appendixname{Apendico}%Rffffr J=w-:10LThe ledescribHy?R16rfdTheffDutchlanguageRTheE ledutch.dtx^11 P+de nesallthelanguage-spGeci cmacrosfortheDutchlan- RguageUUandthe`Afrikqaans'version^12 ;ofit.aF*or:thislanguagethecharacter"ismadeactive.!Intable3anoverviewisRgivenofitspurpGose.OneofthereasonsforthisisthatintheDutchlanguageRa}wordwithadieresiscanbGehyphenatedjustbGeforetheletterwiththeumlaut,Rbut &thedieresishastodisappGearifthewordisbrokenbGetweenthepreviousletterRandUUtheaccentedletter.aIn_[3]thequotingconventions_fortheDutchlanguagearediscussed. 'TheRpreferredconventionisthesingle-quoteAnglo-Americanconvention,i.e.>`ThisisRaquote'.JZAnalternativeistheslightlyold-fashionedDutchmethoGdwithinitialRdouble2quoteslowered2tothebaseline,ԩ"nHThisisaquote",ԩwhichshouldbGetypGedRasUU"`This?isaquote"'.rrdpe"a_\"aWwhichhyphenatesas-a;ػalsoimplementedfor_theUUotherletters.pe"y_putsUUanegativekernbGetweeniandjpe"Y_putsUUanegativekernbGetweenIandJpe"|_disableUUligatureatthispGosition.pe"-_anexplicithyphensign,allowinghyphenationinthe_restUUoftheword.pe"~_to8&proGduceahyphencharcter8&withoutthefollowing_\discretionary{}{}{}.pe""_toUUproGduceaninvisible`breakpoint'.pe"`_loweredUUdoubleleftquotes(seeexamplebGelow).pe"'_normalUUdoublerightquotes.pe\-_like7theold\-,=butallowinghyphenationintherest_ofUUtheword.cqǍCT*ableUU3:qTheextrade nitionsmadebyxdutch.ldfK16.1\%\changes{dutch-3.8a}{1996/10/04}{madecheckdependanton K16.2\%X\cs{CurrentOption}}K16.3\%K16.4\%XThemacro|\LdfInit|takescareofpreventingthatthisfileisK16.5\%Xloadedmorethanonce,checkingthecategorycodeoftheK16.6\%X\texttt{@}sign,etc.K16.7\%\changes{dutch-3.8a}{1996/10/30}{Nowuse\cs{LdfInit}toperformK16.8\%Xinitialchecks}K16.9\%X\begin{macrocode}GË16.10\hcoAdeiGË16.11\\LdfInit\CurrentOption{captions\CurrentOption}Rffffr J=w-:11LThe@ ledescribw-:12LconÎtributedXbySto elLombard(lombc@b31pc87.up.ac.za)62?wy?aWhen'ExX.GË16.22f\begingroup GË16.23o\catcode`\"\activeGË16.24o\def\x{\endgroupGË16.25y2\def\captionsdutch{%GË16.26w^\def\prefacename{Voorwoord}%GË16.27w^\def\refname{Referenties}%GË16.28w^\def\abstractname{Samenvatting}%GË16.29w^\def\bibname{Bibliografie}%GË16.30w^\def\chaptername{Hoofdstuk}%GË16.31w^\def\appendixname{B"ylage}%GË16.32w^\def\contentsname{Inhoudsopgave}%GË16.33w^\def\listfigurename{L"ystvanfiguren}%GË16.34w^\def\listtablename{L"ystvantabellen}%GË16.35w^\def\indexname{Index}%GË16.36w^\def\figurename{Figuur}%GË16.37w^\def\tablename{Tabel}%GË16.38w^\def\partname{Deel}%GË16.39w^\def\enclname{B"ylage(n)}%GË16.40w^\def\ccname{cc}%GË16.41w^\def\headtoname{Aan}%GË16.42w^\def\pagename{Pagina}%GË16.43w^\def\seename{zie}%GË16.44w^\def\alsoname{zieook}%GË16.45w^\def\proofname{Bew"ys}%63@ˬy?GË16.46w^} GË16.47y2}\x3\datedutchRTheCsmacro\datedutchrede nesthecommand\todaytoproGduceDutchdates. fGË16.48f\def\datedutch{%GË16.49o\def\today{\number\day~\ifcase\month\orGË16.50y2januari\orfebruari\ormaart\orapril\ormei\orjuni\orGË16.51y2juli\oraugustus\orseptember\oroktober\ornovember\orGË16.52y2december\fiGË16.53y2\space\number\year}}aWhentheoptionwithwhichthis leisbGeingprocesswasnotdutchweassume RitӖwasafrikaans.FW*epGerformasimilarcheckontheavqailabilityofthehyphenationRpaterns. fGË16.54\\else GË16.55f\ifx\l@afrikaans\undefinedGË16.56o\@nopatterns{Afrikaans}GË16.57o\ifx\l@dutch\undefinedGË16.58y2\adddialect\l@afrikaans0GË16.59o\elseGË16.60y2\adddialect\l@afrikaans\l@dutchGË16.61o\fiGË16.62f\fi9\captionsafrikaansRNowUUisthetimetode nethewordsfor`Afrikqaans'. fGË16.63f\def\captionsafrikaans{%GË16.64o\def\prefacename{Voorwoord}%GË16.65o\def\refname{Verwysings}%GË16.66o\def\abstractname{Samevatting}%GË16.67o\def\bibname{Bibliografie}%GË16.68o\def\chaptername{Hoofstuk}%GË16.69o\def\appendixname{Bylae}%GË16.70o\def\contentsname{Inhoudsopgawe}%GË16.71o\def\listfigurename{Lysvanfigure}%GË16.72o\def\listtablename{Lysvantabelle}%GË16.73o\def\indexname{Inhoud}%GË16.74o\def\figurename{Figuur}%GË16.75o\def\tablename{Tabel}%GË16.76o\def\partname{Deel}%GË16.77o\def\enclname{Bylae(n)}%GË16.78o\def\ccname{a.a.}%GË16.79o\def\headtoname{Aan}%GË16.80o\def\pagename{Bladsy}%GË16.81o\def\seename{sien}%GË16.82o\def\alsoname{sienook}%GË16.83o\def\proofname{Bewys}%GË16.84o} 6\dateafrikaansRHereUUisthe`Afrikqaans'versionofthedatemacro.64Aˠy?GË16.85f\def\dateafrikaans{% GË16.86o\def\today{\number\day~\ifcase\month\orGË16.87y2Januarie\orFebruarie\orMaart\orApril\orMei\orJunie\orGË16.88y2Julie\or s,Augustus\orSeptember\orOktober\orNovember\orGË16.89y2Desember\fiGË16.90y2\space\number\year}}GË16.91\\fib\extrasdutch \extrasafrikaans  6\noextrasdutch 9\noextrasafrikaansRThemacros\extrasdutchand\captionsafrikaanswillpGerformalltheex- Rtra;zde nitionsneededfortheDutchlanguage. $7Themacros\noextrasdutchRandnoextrasafrikaansisusedtocanceltheactionsof\extrasdutchandR\captionsafrikaans.aF*orDutchthe"characterismadeactive.Thisisdoneonce,SlateronitsRde nitionmayvqary*.+OtherlanguagesinthesamedoGcumentmayalsousethe"Rcharacterforshorthands;ZwespGecifythatthedutchgroupofshorthandsshouldRbGeUUused.GË16.92\\initiate@active@char{"}RBothversionofthelanguageusethesamesetofshorthandde nitionsalthougtheR`ij'UUisnotusedinAfrikqaans.GË16.93\\@namedef{extras\CurrentOption}{\languageshorthands{dutch}} GË16.94\\expandafter\addto\csnameextras\CurrentOption\endcsname{%GË16.95f\bbl@activate{"}}aThe:`umlaut'charactershouldbGepositionedlower:onallòvowels:inDutchtexts.GË16.96\\expandafter\addto\csnameextras\CurrentOption\endcsname{%GË16.97f\umlautlow\umlautelow}GË16.98\\@namedef{noextras\CurrentOption}{%GË16.99f\umlauthigh} \dutchhyphenmins Ʋ\afrikaanshyphenminsRThedutchhyphenationpatternscanbGeusedwith\lefthyphenminsetto2and R\righthyphenminUUsetto3.C16.100\\def\dutchhyphenmins{\tw@\thr@@}C16.101\\def\afrikaanshyphenmins{\tw@\thr@@}'3P\@tremaRIn&theDutchlanguagevowelswithatremaaretreatedspGecially*.PIfahyphenation RoGccursƚbeforeavowel-plus-trema,thetremashoulddisappGear.ŕT*obeabletodoRthiswecould rstde nethehyphenationbreakbGehaviourforthe vevowels,bGothRlowercase0KanduppGercase,7intermsof\discretionary.enButthisresultsinalargeR\if-construct inthede nitionoftheactive".HBecausewethinkausershouldnotRuse"whenhereallymeanssomethinglike''wechosenottodistinguishbGetweenRvowelsandconsonants.W+Thereforewehaveonemacro\@tremawhichspGeci estheRhyphenationUUbreakbGehaviourforallletters.C16.102\\def\@trema#1{\allowhyphens\discretionary{-}{#1}{\"{#1}}\allowhyphens}aNowUUwecande nethedoublequotemacros:qthetremas,C16.103\\declare@shorthand{dutch}{"a}{\textormath{\@tremaa}{\ddota}}65BԠy?C16.104\\declare@shorthand{dutch}{"e}{\textormath{\@tremae}{\ddote}} C16.105\\declare@shorthand{dutch}{"i}{\textormathC16.106f{\allowhyphens\discretionary{-}{i}{\"{\i}}\allowhyphens}%C16.107f{\ddot\imath}}C16.108\\declare@shorthand{dutch}{"o}{\textormath{\@tremao}{\ddoto}}C16.109\\declare@shorthand{dutch}{"u}{\textormath{\@tremau}{\ddotu}}RdutchUUquotes,C16.110\\declare@shorthand{dutch}{"`}{%C16.111f\textormath{\quotedblbase{}}{\mbox{\quotedblbase}}}C16.112\\declare@shorthand{dutch}{"'}{%C16.113f\textormath{\textquotedblright{}}{\mbox{\textquotedblright}}}RandUUsomeadditionalcommands:C16.114\\declare@shorthand{dutch}{"-}{\allowhyphens-\allowhyphens}C16.115\\declare@shorthand{german}{"~}{\textormath{\leavevmode\hbox{-}}{-}}C16.116\\declare@shorthand{dutch}{"|}{%C16.117f\textormath{\discretionary{-}{}{\kern.03em}}{}}C16.118\\declare@shorthand{dutch}{""}{\hskip\z@skip}C16.119\\declare@shorthand{dutch}{"y}{\textormath{\ij{}}{\ddoty}}C16.120\\declare@shorthand{dutch}{"Y}{\textormath{\IJ{}}{\ddotY}}>>\-RAllޚthatisleftnowistherede nitionof\-.J4Thenewversionof\-shouldindicate RanextrahyphenationpGosition,twhileallowingotherhyphenationpGositionstobeRgeneratedautomatically*.ThestandardbGehaviourofTU>'ExXinthisrespectisveryRunfortunateT2forlanguagessuchasDutchandGerman,wherelongcompGoundwordsRarequitenormalandalloneneedsisameanstoindicateanextrahyphenationRpGositionontopoftheonesthatTU>'ExXcangeneratefromthehyphenationpatterns.C16.121\\expandafter\addto\csnameextras\CurrentOption\endcsname{% C16.122f\babel@save\-}C16.123\\expandafter\addto\csnameextras\CurrentOption\endcsname{%C16.124f\def\-{\allowhyphens\discretionary{-}{}{}\allowhyphens}}aThemacro\ldf@finishtakescareofloGokingforacon guration le,setting RthefmainlanguagetobGeswitchedonat\begin{document}andresettingtheRcategoryUUcoGdeofr@toitsoriginalvqalue.C16.125\\ldf@finish\CurrentOption C16.126\h=coAdei66Cày?R17rfdTheffEnglishlanguageRTheP leenglish.dtx^13 ɴde nesallthelanguagede nitionmacrosfortheEnglish RlanguageUUaswellasfortheAmericanversionofthislanguage.aF*orUUthislanguagecurrentlynospGecialde nitionsareneededoravqailable.aThemacro\LdfInittakescareofpreventingthatthis leisloadedmorethanRonce,UUcheckingthecategorycoGdeofthe@sign,etc.K17.1\hcoAdei K17.2\\LdfInit\CurrentOption{date\CurrentOption}aWhen[this leisreadasanoption,i.e.bythe\usepackagecommand,englishRcouldz"bGean`unknown'languageinwhichcasewehavetomakeitknown./SoweRcheck&Jfortheexistenceof\l@englishtoseewhetherwehavetodosomethingRhere.aW*eDallowforthebritishenglishpatternstobGeloadedaseither`english',R`british',UUor`UKenglish'K17.3\\ifx\l@english\@undefined K17.4f\ifx\l@UKenglish\@undefinedK17.5o\ifx\l@british\@undefinedK17.6y2\@nopatterns{English}K17.7y2\adddialect\l@english0K17.8o\elseK17.9y2\let\l@english\l@britishGË17.10o\fiGË17.11f\elseGË17.12o\let\l@english\l@UKenglishGË17.13f\fiGË17.14\\fiRBecauseweallow`british'tobGeusedasthebabeloptionweneedtomakesure Rthat[itwillbGerecognisedby\selectlanguage.Inthecodeabove[wehavemadeRsureJthat\l@englishhasasensiblevqalue;#nowwemake\l@britishequaltoRthat.GË17.15\\ifx\l@british\@undefined GË17.16f\let\l@british\l@englishGË17.17\\fiR`American'-isaversionof`English'whichcanhaveitsownhyphenationpatterns. RThe%qdefaultenglishpatternsareinfactforamericanenglish.W*eallowfortheRpatternsUUtobGeloadedas`english'`american'or`USenglish'.GË17.18\\ifx\l@american\@undefined GË17.19f\ifx\l@USenglish\@undefinedRWhenJathepatternsarenotknowas`american'or`USenglish'weadda\dialect".GË17.20o\adddialect\l@american\l@englishGË17.21f\elseGË17.22o\let\l@american\l@USenglishRffffr J=w-:13LThe ledescrib'ExX. ؞GË17.25\\@namedef{captions\CurrentOption}{%GË17.26f\def\prefacename{Preface}%GË17.27f\def\refname{References}%GË17.28f\def\abstractname{Abstract}%GË17.29f\def\bibname{Bibliography}%GË17.30f\def\chaptername{Chapter}%GË17.31f\def\appendixname{Appendix}%GË17.32f\def\contentsname{Contents}%GË17.33f\def\listfigurename{ListofFigures}%GË17.34f\def\listtablename{ListofTables}%GË17.35f\def\indexname{Index}%GË17.36f\def\figurename{Figure}%GË17.37f\def\tablename{Table}%GË17.38f\def\partname{Part}%GË17.39f\def\enclname{encl}%GË17.40f\def\ccname{cc}%GË17.41f\def\headtoname{To}%GË17.42f\def\pagename{Page}%GË17.43f\def\seename{see}%GË17.44f\def\alsoname{seealso}%GË17.45f\def\proofname{Proof}%GË17.46f}ٍb\dateenglishRThe,Bmacro\dateenglishrede nesthecommand\todaytoproGduceEnglishRdates. ؞GË17.47\\@namedef{date\CurrentOption}{%GË17.48\\def\today{\ifcase\day\orGË17.49f1st\or2nd\or3rd\or4th\or5th\orGË17.50f6th\or7th\or8th\or9th\or10th\orGË17.51f11th\or12th\or13th\or14th\or15th\orGË17.52f16th\or17th\or18th\or19th\or20th\orGË17.53f21st\or22nd\or23rd\or24th\or25th\orGË17.54f26th\or27th\or28th\or29th\or30th\orGË17.55f31st\fi~\ifcase\month\orGË17.56fJanuary\orFebruary\orMarch\orApril\orMay\orJune\orGË17.57fJuly\orAugust\orSeptember\orOctober\orNovember\orDecember\fiGË17.58f\space\number\year}}ٍ \dateamericanRThemacro\dateamericanrede nesthecommand\todaytoproGduceAmericanRdates. ؞GË17.59\\def\dateamerican{%GË17.60\\def\today{\ifcase\month\or68EΠy?GË17.61fJanuary\orFebruary\orMarch\orApril\orMay\orJune\or GË17.62fJuly\orAugust\orSeptember\orOctober\orNovember\orDecember\fiGË17.63f\space\number\day,\number\year}} 6\extrasenglish \noextrasenglishRThemacro\extrasenglishwillpGerformalltheextrade nitionsneededforthe REnglish@language.3nThemacro\extrasenglishisusedtocanceltheactionsofR\extrasenglish.F*orXthemomentthesemacrosareemptybuttheyarede nedRforUUcompatibilitywiththeotherlanguagede nition les.GË17.64\\@namedef{extras\CurrentOption}{} GË17.65\\@namedef{noextras\CurrentOption}{}aThemacro\ldf@finishtakescareofloGokingforacon guration le,settingRthefmainlanguagetobGeswitchedonat\begin{document}andresettingtheRcategoryUUcoGdeofr@toitsoriginalvqalue.GË17.66\\ldf@finish\CurrentOption GË17.67\h=coAdei69F y?R18rfdTheffGermanlanguageRThel legermanb.dtx^14 Rde nesallthelanguagede nitionmacrosfortheGerman RlanguageUUaswellasfortheAustriandialectofthislanguage^15x.aF*orthislanguagethecharacter"ismadeactive.+Intable4anoverviewisgivenRof$itspurpGose.3OneofthereasonsforthisisthatintheGermanlanguagesomeRcharactercombinationschangewhenawordisbrokenbGetweenthecombination.RAlsoE-theverticalplacementoftheumlautcanbGecontrolledthisway*.ldThequotes(rfUUdf"a]\"a,alsohYimplementedfortheotherlowercaseand]uppGercaseUUvowels.f"s]toUUproGducetheGerman(like\ss{}).f"z]toUUproGducetheGerman(like\ss{}).f"ck]forUUcktobGehyphenatedask-k.f"ff]forfftobGehyphenatedasff-f,thisisalsoimple-]mentedUUforl,m,n,p,randtf"S]forUUSStobGe\uppercase{"s}.f"Z]forUUSZtobGe\uppercase{"z}.f"|]disableUUligatureatthispGosition.f"-]anexplicithyphensign,allowinghyphenationinthe]restUUoftheword.f""]like)"-,2butproGducingnohyphensign(forcompund]wordsUUwithhyphen,e.g.x-""y).f"~]forUUacompGoundwordmarkwithoutabreakpoint.f"=]foruacompGoundwordmarkwithabreakpoint,allow-]ingUUhyphenationinthecompGosingwords.f"`]forUUGermanleftdoublequotes(loGokslike,,).f"']forUUGermanrightdoublequotes.f"<]forUUF*renchleftdoublequotes(similarto<<).f">]forUUF*renchrightdoublequotes(similarto>>).qǍT*ableUU4:qTheextrade nitionsmadebyxgerman.ldf9RinUUtable4canalsobGetypesetbyusingthecommandsintable5.aWhen this lewasreadthroughtheoptiongermanbwemakeitbGehaveasifRgermanUUwasspGeci ed.K18.1\\def\bbl@tempa{germanb} K18.2\\ifx\CurrentOption\bbl@tempaK18.3f\def\CurrentOption{german}K18.4\\fiaThemacro\LdfInittakescareofpreventingthatthis leisloadedmorethan Ronce,UUcheckingthecategorycoGdeofthe@sign,etc.R X-ffr J=w-:14LThe ledescribw-:15LThisX leisare-implemenÎtationofHub>).~i\flqZforUU(F*rench)leftsinglequotes(similarto<).~i\frqZforUU(F*rench)rightsinglequotes(similarto>).~i\dqZtheUUoriginalquotescharacter(").EqǍeT*ableUU5:qMorecommandswhichproGducequotes,de nedbyxgerman.ldfUK18.5\hcoAdei K18.6\\LdfInit\CurrentOption{captions\CurrentOption}UaWhenthis leisreadasanoption,Ki.e.,bythe\usepackagecommand,Kgerman Rwill$bGean`unknown'language,.sowehavetomakeitknown.aSowecheckfortheRexistenceUUof\l@germantoseewhetherwehavetodosomethinghere.K18.7\\ifx\l@german\@undefinedK18.8f\@nopatterns{German}K18.9f\adddialect\l@german0GË18.10\\fiaF*orUUtheAustrianversionofthesede nitionswejustaddanotherlanguage. UGË18.11\\adddialect\l@austrian\l@germanUaThe nextstepconsistsofde ningcommandstoswitchto(andfrom)theGer-RmanUUlanguage.f\captionsgermant\captionsaustrianREither(Tthemacro\captionsgermanorthemacro\captionsaustrianwillde neRallUUstringsusedinthefourstandarddoGcumentclassesprovidedwithL5ffA͉TU>'ExX.GË18.12\\@namedef{captions\CurrentOption}{%GË18.13f\def\prefacename{Vorwort}%GË18.14f\def\refname{Literatur}%GË18.15f\def\abstractname{Zusammenfassung}%GË18.16f\def\bibname{Literaturverzeichnis}%GË18.17f\def\chaptername{Kapitel}%GË18.18f\def\appendixname{Anhang}%GË18.19f\def\contentsname{Inhaltsverzeichnis}%X%odernur:InhaltGË18.20f\def\listfigurename{Abbildungsverzeichnis}%GË18.21f\def\listtablename{Tabellenverzeichnis}%GË18.22f\def\indexname{Index}%GË18.23f\def\figurename{Abbildung}%GË18.24f\def\tablename{Tabelle}%U %oder:TafelGË18.25f\def\partname{Teil}%GË18.26f\def\enclname{Anlage(n)}%PR%oder:Beilage(n)GË18.27f\def\ccname{Verteiler}%Y"%oder:KopienanGË18.28f\def\headtoname{An}%71H`y?GË18.29f\def\pagename{Seite}% GË18.30f\def\seename{siehe}%GË18.31f\def\alsoname{sieheauch}%GË18.32f\def\proofname{Beweis}%GË18.33f}IL\dategermanRTheYmacro\dategermanrede nesthecommand\todaytoproGduceGermandates. nGË18.34\\def\month@german{\ifcase\month\orGË18.35fJanuar\orFebruar\orM\"arz\orApril\orMai\orJuni\orGË18.36fJuli\orAugust\orSeptember\orOktober\orNovember\orDezember\fi}GË18.37\\def\dategerman{\def\today{\number\day.~\month@germanGË18.38f\space\number\year}} \dateaustrianRThe)macro\dateaustrianrede nesthecommand\todaytoproGduceAustrian RversionUUoftheGermandates. nGË18.39\\def\dateaustrian{\def\today{\number\day.~\ifnum1=\monthGË18.40fJ\"anner\else\month@german\fi\space\number\year}} \extrasgerman f\extrasaustrian f\noextrasgerman t\noextrasaustrianREitherthemacro\extrasgermanorthemacros\extrasaustrianwillpGer- Rform|alltheextrade nitionsneededfortheGermanlanguage. ;ThemacroR\noextrasgermanUUisusedtocanceltheactionsof\extrasgerman.aF*orGerman(aswellasforDutch)the"characterismadeactive.IThisisdoneRonce,UUlateronitsde nitionmayvqary*. nGË18.41\\initiate@active@char{"} GË18.42\\@namedef{extras\CurrentOption}{%GË18.43f\languageshorthands{german}}GË18.44\\expandafter\addto\csnameextras\CurrentOption\endcsname{%GË18.45f\bbl@activate{"}}GË18.46\%\addto\noextrasgerman{\bbl@deactivate{"}}naIn|orderforTU>'ExXtobGeabletohyphenateGermanwordswhichcontain`' R(intheOT1pGosition^^Y)wehavetogivethecharacteranonzero\lccode(seeRAppGendixUUH,theTU>'ExXbook).GË18.47\\expandafter\addto\csnameextras\CurrentOption\endcsname{% GË18.48f\babel@savevariable{\lccode25}%GË18.49f\lccode25=25}naThe/umlautaccentmacro\"ischangedtolowertheumlautdots.eHTherede - RnitionUUisdonewiththehelpof\umlautlow.GË18.50\\expandafter\addto\csnameextras\CurrentOption\endcsname{%GË18.51f\babel@save\"\umlautlow}GË18.52\\@namedef{noextras\CurrentOption}{\umlauthigh}nRThegermanhyphenationpatternscanbGeusedwith\lefthyphenminand R\righthyphenminUUsetto2.GË18.53\\def\germanhyphenmins{\tw@\tw@}IaThe*coGdeabove*isnecessarybecauseweneedanextraactivecharacter.GThisRcharacterUUisthenusedasindicatedintable4.72I&y?aT*oasbGeabletode nethefunctionof",zwe rstde neacoupleof`support' Rmacros.:\dqRW*eTKsavetheoriginaldoublequotecharacterin\dqtokeepitavqailable,TthemathRaccentUU\"cannowbGetypGedas".GË18.54\\begingroup\catcode`\"12 GË18.55\\def\x{\endgroupGË18.56f\def\@SS{\mathchar"7019}GË18.57f\def\dq{"}}GË18.58\\xaNowUUwecande nethedoublequotemacros:qtheumlauts,GË18.59\\declare@shorthand{german}{"a}{\textormath{\"{a}\allowhyphens}{\ddota}}GË18.60\\declare@shorthand{german}{"o}{\textormath{\"{o}\allowhyphens}{\ddoto}}GË18.61\\declare@shorthand{german}{"u}{\textormath{\"{u}\allowhyphens}{\ddotu}}GË18.62\\declare@shorthand{german}{"A}{\textormath{\"{A}\allowhyphens}{\ddotA}}GË18.63\\declare@shorthand{german}{"O}{\textormath{\"{O}\allowhyphens}{\ddotO}}GË18.64\\declare@shorthand{german}{"U}{\textormath{\"{U}\allowhyphens}{\ddotU}}Rtremas,GË18.65\\declare@shorthand{german}{"e}{\textormath{\"{e}}{\ddote}}GË18.66\\declare@shorthand{german}{"E}{\textormath{\"{E}}{\ddotE}}GË18.67\\declare@shorthand{german}{"i}{\textormath{\"{\i}}%GË18.68jB{\ddot\imath}}GË18.69\\declare@shorthand{german}{"I}{\textormath{\"{I}}{\ddotI}}RgermanUUes-zet(sharps),GË18.70\\declare@shorthand{german}{"s}{\textormath{\ss{}}{\@SS{}}}GË18.71\\declare@shorthand{german}{"S}{SS}GË18.72\\declare@shorthand{german}{"z}{\textormath{\ss{}}{\@SS{}}}GË18.73\\declare@shorthand{german}{"Z}{SZ}RgermanUUandfrenchquotes,GË18.74\\declare@shorthand{german}{"`}{\glqq}GË18.75\\declare@shorthand{german}{"'}{\grqq}GË18.76\\declare@shorthand{german}{"<}{\flqq}GË18.77\\declare@shorthand{german}{">}{\frqq}RdiscretionaryUUcommandsGË18.78\\declare@shorthand{german}{"c}{\textormath{\bbl@discck}{c}}GË18.79\\declare@shorthand{german}{"C}{\textormath{\bbl@discCK}{C}}GË18.80\\declare@shorthand{german}{"f}{\textormath{\bbl@discf{ff}}{f}}GË18.81\\declare@shorthand{german}{"F}{\textormath{\bbl@discF{FF}}{F}}GË18.82\\declare@shorthand{german}{"l}{\textormath{\bbl@discl{ll}}{l}}GË18.83\\declare@shorthand{german}{"L}{\textormath{\bbl@discL{LL}}{L}}GË18.84\\declare@shorthand{german}{"m}{\textormath{\bbl@discm{mm}}{m}}GË18.85\\declare@shorthand{german}{"M}{\textormath{\bbl@discM{MM}}{M}}GË18.86\\declare@shorthand{german}{"n}{\textormath{\bbl@discn{nn}}{n}}GË18.87\\declare@shorthand{german}{"N}{\textormath{\bbl@discN{NN}}{N}}GË18.88\\declare@shorthand{german}{"p}{\textormath{\bbl@discp{pp}}{p}}GË18.89\\declare@shorthand{german}{"P}{\textormath{\bbl@discP{PP}}{P}}73J2֠y?GË18.90\\declare@shorthand{german}{"r}{\textormath{\bbl@discr{rr}}{r}} GË18.91\\declare@shorthand{german}{"R}{\textormath{\bbl@discR{RR}}{R}}GË18.92\\declare@shorthand{german}{"t}{\textormath{\bbl@disct{tt}}{t}}GË18.93\\declare@shorthand{german}{"T}{\textormath{\bbl@discT{TT}}{T}}RandUUsomeadditionalcommands:GË18.94\\declare@shorthand{german}{"-}{\penalty\@M\-\allowhyphens}GË18.95\\declare@shorthand{german}{"|}{%GË18.96f\textormath{\penalty\@M\discretionary{-}{}{\kern.03em}%GË18.97\allowhyphens}{}}GË18.98\\declare@shorthand{german}{""}{\hskip\z@skip}GË18.99\\declare@shorthand{german}{"~}{\textormath{\leavevmode\hbox{-}}{-}}C18.100\\declare@shorthand{german}{"=}{\penalty\@M-\hskip\z@skip}+\mdqon '3P\mdqoff :\ckRAll#that'slefttodonowistode neacoupleofcommandsforreasonsofcompat- RibilityUUwithgerman.sty.C18.101\\def\mdqon{\bbl@activate{"}}C18.102\\def\mdqoff{\bbl@deactivate{"}}C18.103\\def\ck{\allowhyphens\discretionary{k-}{k}{ck}\allowhyphens}aThemacro\ldf@finishtakescareofloGokingforacon guration le,setting RthefmainlanguagetobGeswitchedonat\begin{document}andresettingtheRcategoryUUcoGdeofr@toitsoriginalvqalue.C18.104\\ldf@finish\CurrentOption C18.105\h=coAdei74K?py?R19rfdTheffBretonlanguageRTheU lebreton.dtx^16 ;de nesallthelanguage-spGeci cmacrosfortheBretonlan- Rguage.aTherearenotreallytypGographicrulesfortheBretonlanguage.>ItisalocalRlanguage (it'soneofthecelticlanguages)whichisspGokeninBrittany(W*estofRF*rance).So}AwehaveasynthesisbGetweenfrenchtypGographicrulesandenglishRtypGographic2Krules.fThecharacters:,9M;,!fand2K?aremadeactiveinordertogetaRwhitespaceUUautomaticallybGeforethesecharacters.aThemacro\LdfInittakescareofpreventingthatthis leisloadedmorethanRonce,UUcheckingthecategorycoGdeofthe@sign,etc.K19.1\hcoAdei K19.2\\LdfInit{breton}\captionsbretonaWhenHthis leisreadasanoption,i.e.Dbythe\usepackagecommand,bretonRwillBbGean`unknown'languageinwhichcasewehavetomakeitknown.?SoweRcheckfortheexistenceof\l@bretontoseewhetherwehavetodosomethinghere.K19.3\\ifx\l@breton\@undefinedK19.4o\@nopatterns{Breton}K19.5o\adddialect\l@breton0\fiRThe[nextstepconsistsofde ningcommandstoswitchtotheEnglishlanguage.RThereasonforthisisthatausermightwanttoswitchbackandforthbGetweenRlanguages.f\captionsbretonRThemacro\captionsbretonde nesallstringsusedinthefourstandarddoGcu-RmentUUclassesprovidedwithL5ffA͉TU>'ExX.K19.6\\addto\captionsbreton{%K19.7f\def\prefacename{Rakskrid}%K19.8f\def\refname{Daveenno\`u}%K19.9f\def\abstractname{Dvierra\~n}%GË19.10f\def\bibname{Lennadurezh}%GË19.11f\def\chaptername{Pennad}%GË19.12f\def\appendixname{Stagadenn}%GË19.13f\def\contentsname{Taolenn}%GË19.14f\def\listfigurename{ListennarFigurenno\`u}%GË19.15f\def\listtablename{Listennantaolenno\`u}%GË19.16f\def\indexname{Meneger}%GË19.17f\def\figurename{Figurenn}%GË19.18f\def\tablename{Taolenn}%GË19.19f\def\partname{Lodenn}%GË19.20f\def\enclname{Diello\`ukevret}%GË19.21f\def\ccname{Eilskridda}%GË19.22f\def\headtoname{evit}GË19.23f\def\pagename{Pajenn}%GË19.24f\def\seename{Gwelout}%R&effr J=w-:16LThe) ledescrib\z@ GË19.53\unskip\penalty\@M\thinspaceGË19.54w^\fiGË19.55y2\fiGË19.56y2\string;\spaceGË19.57o\fi}% \breton@sh@:@ \breton@sh@!@RBecausenthesede nitionsareverysimilaronlyoneisdisplayedinawaythatthe Rde nitionUUcanbGeeasilychecked.GË19.58\\declare@shorthand{breton}{:}{%GË19.59f\ifmmode\string:\spaceGË19.60f\else\relaxGË19.61o\ifhmodeGË19.62y2\ifdim\lastskip>\z@\unskip\penalty\@M\thinspace\fiGË19.63o\fiGË19.64o\string:\spaceGË19.65f\fi}GË19.66\\declare@shorthand{breton}{!}{%GË19.67f\ifmmode\string!\spaceGË19.68f\else\relaxGË19.69o\ifhmodeGË19.70y2\ifdim\lastskip>\z@\unskip\penalty\@M\thinspace\fiGË19.71o\fiGË19.72o\string!\spaceGË19.73f\fi} \breton@sh@?@RF*orthequestionmarksomethingdi erenthastobGedone.>Inthiscasetheamount Rof zwhitespacethatreplacesthespacecharacterdepGendsonthedimensionsoftheRfont.GË19.74\\declare@shorthand{breton}{?}{% GË19.75f\ifmmodeGË19.76o\string?\spaceGË19.77f\else\relaxGË19.78o\ifhmodeGË19.79y2\ifdim\lastskip>\z@GË19.80w^\unskipGË19.81w^\kern\fontdimen2\fontGË19.82w^\kern-1.4\fontdimen3\fontGË19.83y2\fiGË19.84o\fiGË19.85o\string?\spaceGË19.86f\fi}aAllUUthatislefttodonowisprovidethebretonuserwithsomeextrautilities. aSomeUUde nitionsforspGecialcharacters.GË19.87\\DeclareTextSymbol{\at}{OT1}{64}GË19.88\\DeclareTextSymbol{\at}{T1}{64}GË19.89\\DeclareTextSymbolDefault{\at}{OT1}GË19.90\\DeclareTextSymbol{\boi}{OT1}{92}77N\dy?GË19.91\\DeclareTextSymbol{\boi}{T1}{16} GË19.92\\DeclareTextSymbolDefault{\boi}{OT1}GË19.93\\DeclareTextSymbol{\circonflexe}{OT1}{94}GË19.94\\DeclareTextSymbol{\circonflexe}{T1}{2}GË19.95\\DeclareTextSymbolDefault{\circonflexe}{OT1}GË19.96\\DeclareTextSymbol{\tild}{OT1}{126}GË19.97\\DeclareTextSymbol{\tild}{T1}{3}GË19.98\\DeclareTextSymbolDefault{\tild}{OT1}GË19.99\\DeclareTextSymbol{\degre}{OT1}{23}C19.100\\DeclareTextSymbol{\degre}{T1}{6}C19.101\\DeclareTextSymbolDefault{\degre}{OT1}aTheOfollowingmacrosareusedintherede nitionof\^and\"tohandlethe RletterUUi.C19.102\\AtBeginDocument{%C19.103f\DeclareTextCompositeCommand{\^}{OT1}{i}{\^\i}C19.104f\DeclareTextCompositeCommand{\"}{OT1}{i}{\"\i}}aAndUUsomemoremacrosfornumbGering.C19.105\\def\kentan{1\/${}^{\rma\tilde{n}}$}C19.106\\def\eil{2\/${}^{\rml}$}C19.107\\def\re{\/${}^{\rmre}$}C19.108\\def\trede{3\re}C19.109\\def\pevare{4\re}C19.110\\def\vet{\/${}^{\rmvet}$}C19.111\\def\pempvet{5\vet}aThemacro\ldf@finishtakescareofloGokingforacon guration le,setting RthefmainlanguagetobGeswitchedonat\begin{document}andresettingtheRcategoryUUcoGdeofr@toitsoriginalvqalue.C19.112\\ldf@finish{breton} C19.113\h=coAdei78OdĠy?R20rfdTheffWfelshlanguageRThe֟ lewelsh.dtx^17 Ode nesallthelanguagede nitionmacrosfortheW*elsh RlanguageUUaswellasfortheversionofthislanguage.aF*orUUthislanguagecurrentlynospGecialde nitionsareneededoravqailable.aThe;macro\ldf@inittakescareofpreventingthatthis leisloadedmoreRthanUUonce,checkingUUthecategorycoGdeofthe@sign,etc. ބK20.1\hcoAdei K20.2\\LdfInit{welsh}{captionswelsh}ބaWhenmacro\captionswelshde nesallstringsusedinthefourstandarddoGcu-RmentclassesUUprovidedwithL5ffA͉TU>'ExX. ބK20.7\\def\captionswelsh{% K20.8f\def\prefacename{Rhagair}%K20.9f\def\refname{Cyfeiriadau}%GË20.10f\def\abstractname{Crynodeb}%GË20.11f\def\bibname{Llyfryddiaeth}%GË20.12f\def\chaptername{Pennod}%GË20.13f\def\appendixname{Atodiad}%GË20.14f\def\contentsname{Cynnwys}%GË20.15f\def\listfigurename{RhestrDdarluniau}%GË20.16f\def\listtablename{RhestrDablau}%GË20.17f\def\indexname{Mynegai}%GË20.18f\def\figurename{Darlun}%GË20.19f\def\tablename{Taflen}%GË20.20f\def\partname{Rhan}%GË20.21f\def\enclname{amgae\"edig}%GË20.22f\def\ccname{cop\"\iau}%GË20.23f\def\headtoname{At}% s,%`at'onlettersmeaning`to(aperson)'GË20.24%`to(aplace)'is`i'inWelshGË20.25f\def\pagename{tudalen}%GË20.26f\def\seename{gweler}%GË20.27f\def\alsoname{gwelerhefyd}%R#nffr J=w-:17LThe | ledescribmacro\captionsirishde nesallstringsusedinthefourstandarddoGcu-RmentclassesUUprovidedwithL5ffA͉TU>'ExX.K21.6\\addto\captionsirish{%K21.7f\def\prefacename{Preface}%X<--needstranslationK21.8f\def\refname{Tagairt\'{\i}}%K21.9f\def\abstractname{Achoimre}%GË21.10f\def\bibname{Leabharliosta}%GË21.11f\def\chaptername{Caibidil}%GË21.12f\def\appendixname{Aguis\'{\i}n}%GË21.13f\def\contentsname{Cl\'ar\'Abhair}%GË21.14f\def\listfigurename{L\'ear\'aid\'{\i}}%GË21.15f\def\listtablename{T\'abla\'{\i}}%GË21.16f\def\indexname{Inn\'eacs}%GË21.17f\def\figurename{L\'ear\'aid}%GË21.18f\def\tablename{T\'abla}%GË21.19f\def\partname{Cuid}%GË21.20f\def\enclname{faoiiamh}%GË21.21f\def\ccname{cc}%PRabrv.`c\'oipchuig'GË21.22f\def\headtoname{Go}%GË21.23f\def\pagename{Leathanach}%GË21.24f\def\seename{see}%X<--needstranslationGË21.25f\def\alsoname{seealso}%X<--needstranslationGË21.26f\def\proofname{Proof}%X<--needstranslationGË21.27f}\dateirishRTheUUmacro\dateirishrede nesthecommand\todaytoproGduceIrishdates.GË21.28\\def\dateirish{%R&effr J=w-:18LThe) ledescrib'ExX.K22.6\\addto\captionsscottish{%K22.7f\def\prefacename{Preface}%X<--needstranslationK22.8f\def\refname{Iomraidh}%K22.9f\def\abstractname{Br\`{\i}gh}%GË22.10f\def\bibname{Leabhraichean}%GË22.11f\def\chaptername{Caibideil}%GË22.12f\def\appendixname{Ath-sgr`{\i}obhadh}%GË22.13f\def\contentsname{Cl\`ar-obrach}%GË22.14f\def\listfigurename{LiostaDhealbh}%GË22.15f\def\listtablename{LiostaChl\`ar}%GË22.16f\def\indexname{Cl\`ar-innse}%GË22.17f\def\figurename{Dealbh}%GË22.18f\def\tablename{Cl\`ar}%GË22.19f\def\partname{Cuid}%GË22.20f\def\enclname{a-staigh}%GË22.21f\def\ccname{lethbhreacgu}%GË22.22f\def\headtoname{gu}%GË22.23f\def\pagename{t.d.}%=labrv.`taobhduilleag'GË22.24f\def\seename{see}%X<--needstranslationGË22.25f\def\alsoname{seealso}%X<--needstranslationGË22.26f\def\proofname{Proof}%X<--needstranslationGË22.27\}R&effr J=w-:19LThe ledescrib'ExX. K23.6\\input{LGRenc.def} 6\latinencodingRW*e>needtoknowtheencoGdingfortextthatissupposedtobetypesetinlatinRtext.W*epassumethatitwillbGetheencodingwhichisactiveattheendoftheRbabGelUUpackqage.qIfthefontencpackqageisloadedlater,then...qtoGobad!K23.7\\AtEndOfPackage{\edef\latinencoding{\cf@encoding}}aNowwede netwocommandsthato erthepGossibilitytoswitchbGetweengreekRandUUromanencoGdings.\greektext\latintextRThedcommand\greektextwillswitchfromlatinfontencoGdingtothegreekfontRencoGding,Athexcommand\latintextswitchesback.1Thisassumesthatthe`nor-Rmal'*fontencoGdingisalatinone. EThesecommandsarede}'clarations,^for*shorterRpGeacesUUoftextthecommands\textlatinand\textgreekcanbeused. K23.8\\DeclareRobustCommand{\greektext}{% K23.9f\fontencoding{LGR}\selectfontGË23.10f\def\encodingdefault{LGR}}GË23.11\\DeclareRobustCommand{\latintext}{%GË23.12f\fontencoding{\latinencoding}\selectfontGË23.13f\def\encodingdefault{\latinencoding}}\textgreek \textlatinRThese[commandstakeanargumentwhichisthentypGesetusingtherequestedfont RencoGding.a@In#ordertoavoid#manyencoGdingswitchesbGothcommandsoperateinaRloGcalUUscope. GË23.14\\DeclareRobustCommand{\textgreek}[1]{{\greektext#1}} GË23.15\\DeclareRobustCommand{\textlatin}[1]{{\latintext#1}}Rkffr J=w-:20LThe ledescribmacro\captionsgreekde nesallstringsusedinthefourstandarddoGcu-RmentclassesUUprovidedwithL5ffA͉TU>'ExX. GË23.19\\addto\captionsgreek{% GË23.20f\def\prefacename{Pr'ologoc}%GË23.21f\def\refname{Anafor'ec}%GË23.22f\def\abstractname{Per'ilhyh}%GË23.23f\def\bibname{Bibliograf'ia}%GË23.24f\def\chaptername{Kef'alaio}%GË23.25f\def\appendixname{Par'arthma}%GË23.26f\def\contentsname{Perieq'omena}%GË23.27f\def\listfigurename{Kat'alogocSqhm'atwn}%GË23.28f\def\listtablename{Kat'alogocPin'akwn}%GË23.29f\def\indexname{Euret'hrio}%GË23.30f\def\figurename{Sq'hma}%GË23.31f\def\tablename{P'inakac}%GË23.32f\def\partname{M'eroc}%GË23.33f\def\enclname{Sunhmm'ena}%GË23.34f\def\ccname{Koinopo'ihsh}%GË23.35f\def\headtoname{Proc}%GË23.36f\def\pagename{Sel'ida}%GË23.37f\def\seename{bl'epe}%GË23.38f\def\alsoname{bl'peep'ishc}%GË23.39f}\dategreekRTheUUmacro\dategreekrede nesthecommand\todaytoproGducegreekdates. GË23.40\\def\dategreek{%GË23.41f\def\today{\number\day\space%GË23.42o\ifcase\month\orGË23.43oIanouar'iou\orFebrouar'iou\orMart'iou\orApril'iou\orGË23.44oMa'"iou\orIoun'iou\orIoul'iou\orAugo'ustou\orGË23.45oSeptembr'iou\orOktobr'iou\orNoembr'iou\orDekembr'iou\fiGË23.46o\space\number\year}}b\extrasgreek  6\noextrasgreekRThemacro\extrasgreekwillpGerformalltheextrade nitionsneededforthe RGreekGlanguage.Themacro\noextrasgreekisusedtocanceltheactionsofR\extrasgreek.:F*or&themomentthesemacrosswitchthefontencoGdingusedand86WBy?Rthede nitionoftheinternalmacros\@alphand\@AlphbGecausethegreekalpa- RbGetisationUUdi ersconsiderablyfromtheromanalpabetisation..GË23.47\\addto\extrasgreek{\greektext} GË23.48\\addto\noextrasgreek{\latintext}L\greek@alphL\greek@AlphRWithTthelatintranscriptionusedtocreatedoGcumentsthatwillbetypesetintheRgreeklanguageweneedtoadoptthealphabGetisationconsiderably*.JThereforeweRhaveUUtorede netheinternalL5ffA͉TU>'ExXcommands\@alphand\@Alph.aW*e needtobGeabletoswitchbetween theoriginalde nitionsandthegreekRones,UUsowe rst`save'theorginalde nitions.GË23.49\\let\latin@alph\@alphGË23.50\\let\latin@Alph\@AlphRThenUUwede nethegreekversionsGË23.51\\def\greek@alph#1{%GË23.52f\ifcase#1\ora\orb\org\ord\ore\orst\orz\orh\orj\ori\orGË23.53oia\orib\orig\orid\orie\orist\oriz\orih\orij\ork\orka\orGË23.54okb\orkg\or\kd\orke\orkstGË23.55f\elseGË23.56o\@ctrerrGË23.57f\fiGË23.58f$'$}GË23.59\\def\greek@Alph#1{%GË23.60jp\ifcase#1\orA\orB\orG\orD\orE\orSt\orZ\orH\orJ\orI\orGË23.61oIA\orIB\orIG\orID\orIE\orIST\orIZ\orIH\orIJ\orK\orKA\orGË23.62oKB\orKG\or\KD\orKE\orKSTGË23.63f\elseGË23.64o\@ctrerrGË23.65f\fiGË23.66f$'$}RNowUUwecansetuptheswitching.GË23.67\\addto\extrasgreek{%GË23.68f\let\@alph\@greek@alphGË23.69f\let\@Alph\@greek@Alph}GË23.70\\addto\noextrasgreek{%GË23.71f\let\@alph\latin@alphGË23.72f\let\@Alph\latin@Alph}b\greek@roman b\greek@RomanRT*opreventromannumeralsbGeingtypGesetingreeklettersweneedtoadoptthe RinternalUUL5ffA͉TU>'ExXcommands\@romanand\@Roman.GË23.73\\let\latin@roman\@romanGË23.74\\let\latin@Roman\@RomanGË23.75\\def\greek@roman#1{\textlatin{\latin@roman{#1}}}GË23.76\\def\greek@Roman#1{\textlatin{\latin@Roman{#1}}}GË23.77\\addto\extrasgreek{%GË23.78f\let\@roman\@greek@romanGË23.79f\let\@Roman\@greek@Roman}GË23.80\\addto\noextrasgreek{%87X_y?GË23.81f\let\@roman\latin@roman GË23.82f\let\@Roman\latin@Roman}aW*elprovideaccesstoafewextragreekcharacters.Theyareonlyavqailablein RoneSparticularfont,Sthereforewe rstde nea`helpGer'macrotoselectthecorrectRfont.GË23.83\\def\greek@char#1{{%GË23.84o\fontfamily\rmdefaultGË23.85o\fontseries\mddefaultGË23.86o\fontshape\scdefaultGË23.87o\selectfont\char#1}}GË23.88\\DeclareTextCommand{\tao}{LGR}{\greek@char{"7F}}GË23.89\\DeclareTextCommand{\Qoppa}{LGR}{\greek@char{"43}}GË23.90\\DeclareTextCommand{\qoppa}{LGR}{\greek@char{"5B}}GË23.91\\DeclareTextCommand{\varqoppa}{LGR}{\greek@char{"5C}}GË23.92\\DeclareTextCommand{\Sampi}{LGR}{\greek@char{"5F}}GË23.93\\DeclareTextCommand{\sampi}{LGR}{\greek@char{"5E}}GË23.94\\DeclareTextCommand{\Digamma}{LGR}{\greek@char{"17}}RTheramssymbpackqagede nesa\digammacommand,soinordertoavoidproblemsRweUUspGellheredigammaintentionallyerroneouswithadoubled.GË23.95\\DeclareTextCommand{\ddigamma}{LGR}{\greek@char{"60}}GË23.96\\DeclareTextCommand{\vardigamma}{LGR}{\greek@char{"5D}}aNowmakesurethatthesecommandscanalsobGeusedoutsideofthegreekfontRencoGding.GË23.97\\ProvideTextCommandDefault{\tao}{\UseTextSymbol{LGR}{\tao}}GË23.98\\ProvideTextCommandDefault{\Qoppa}{\UseTextSymbol{LGR}{\Qoppa}}GË23.99\\ProvideTextCommandDefault{\qoppa}{\UseTextSymbol{LGR}{\qoppa}}C23.100\\ProvideTextCommandDefault{\varqoppa}{\UseTextSymbol{LGR}{\varqoppa}}C23.101\\ProvideTextCommandDefault{\Sampi}{\UseTextSymbol{LGR}{\Sampi}}C23.102\\ProvideTextCommandDefault{\sampi}{\UseTextSymbol{LGR}{\sampi}}C23.103\\ProvideTextCommandDefault{\Digamma}{\UseTextSymbol{LGR}{\Digamma}}C23.104\\ProvideTextCommandDefault{\ddigamma}{\UseTextSymbol{LGR}{\ddigamma}}C23.105\\ProvideTextCommandDefault{\vardigamma}{%C23.106f\UseTextSymbol{LGR}{\vardigamma}}aThemacro\ldf@finishtakescareofloGokingforacon guration le,settingRthefmainlanguagetobGeswitchedonat\begin{document}andresettingtheRcategoryUUcoGdeofr@toitsoriginalvqalue.C23.107\\ldf@finish{greek}C23.108\h=coAdei88Yy?R24rfdTheffFfrenchLanguageR24.1wAb`outFrenchtyp`ographyuTRThe9 lefrenchb.dtx^21x,?kderivedfromfrenchy.sty,de nesallthelanguagede - RnitionUUmacrosfortheF*renchlanguage.aCustomizationEfortheF*renchlanguageisachievedfollowingthebGookE\LexiqueRdesrGeglestypGographiquesenusageal'Imprimerienationale"troisiGemeueditionR(1994),UUISBN-2-11-081075-0.aThisF lehasbGeendesignedtobeusedwithL5ffA͉TU>'ExX2"(,}L5ffA͉TU>'ExX-2.09andPlainTU>'EXRformats. ?IfnyouarestillusingL5ffA͉TU>'ExX-2.09,1youshouldw[considerswitchingtoRL5ffA͉TU>'ExX2"wS!aAny8ofthecommands\selectlanguage{french},q\selectlanguage{francais},Rorb\selectlanguage{frenchb}switchestotheF*renchlanguagewiththefollowingRe ects:^81.kF*renchUUhyphenationpatternsaremadeactive;^82.k`doubleUUpunctuation'ismadeactiveforcorrectspacinginF*rench;^83.k\todayUUprintsthedateinF*rench;^84.ktheUUcaptionnamesaretranslatedintoF*rench(L5ffA͉TU>'ExXonly);^85.ktheUUlistitemsaresetto`{'insteadof(L5ffA͉TU>'ExXonly);^86.ktheUUverticalspacinginlistsisshortened(L5ffA͉TU>'ExXonly);^87.ktheUU rstparagraphofeachsectionisindented(L5ffA͉TU>'ExXonly);^88.kF*renchquotationmarkscanbGetypGesetusingthecommands\ogand\fg kwhichxworkinL5ffA͉TU>'ExX2"'",qL5ffA͉TU>'ExX-2.09andPlainTU>'EX,qtheirappGearancedepend-kingonwhatisavqailabletodrawthem;)ifyouuseL5ffA͉TU>'ExX2"+{4withT1-encoGdingkyoucanalsoenterthemas<<~French?quotationmarks~>>butthendonP'tkfor}'getߦtheunbreakqablespaces,(\ogand\fgprovideforcorrectlinebreaks);^89.kaS3command\upisprovidedtotypGesetsuperscriptslikeM\up{me}(abbrevi-kationUUfor\Madame"),1\up{er}(for\premier");Y810.kfamilynnamesshouldbGetypesetinsmallcapitalsandneverbehyphenated,kthe~macro\bsc(bGoxedsmallcaps)doesthis,e.g.,Leslie~\bsc{Lamport}kwillUUproGduceLeslieCLamporUTt.f;Y811.kcommands\primo,\secundo,\tertioand\quartomaybGeusedtoenu-kmerateUUinlists;Y812.kabbreviationsfor\NumGero"and\numGero"areobtainedviathecommandsk\No,UU\no;RX-ffr J=w-:21LThe | ledescrib>).9aF*renchatypGographicrulesspecifythatsomewhitespaceshouldbepresentbe-RforeJ`doublepunctuation'characters.7Thesecharactersare;!?and:.7InordertoRgetpthiswhitespaceautomatically*,wlthecategorycoGdeofthesecharactersismadeR\active.InpF*rench,theusershouldinputthesefourcharactersprecededwithaRspace,$butasmanypGeopleforgetaboutit(evenamongnativeF*renchwriters!),RtheLdefaultbGehaviouroffrenchbistoautomaticallyadda\thinspacebeforeR`;'`!'`?'andanormal(unbreakqable)spacebGefore`:'(thisistheruleinF*renchRtypGography).n_It'sKuptotheusertoaddornotaspaceafter^`doublepunctuation'Rcharacters:RusuallyŴaspaceisnecessary*,butnotalways(bGeforeafullpointoraRclosingUUbraceforinstance),sothiscannotdoneautomatically*.aInx(rare)caseswherenospaceshouldbGeaddedbeforea`doublepunctua-Rtion',either&Xuse\string;\string:\string!\string?insteadof;:!?,RorHswitchloGcallytoenglish. ܟF*orinstanceyoucantypGeC\string:TEXͤorR\begin{otherlanguage}{english}{C:TEX}\end{otherlanguage}ntoavoidntheRspaceUUbGefore:inaMS-DOSpath.aSomeusersdislikethisautomaticinsertionofaspacebGefore`doublepunctu-Ration',pand8prefertodecidethemselveswhetheraspaceshouldbGeaddedornot;RsoDahoGok\NoAutoSpaceBeforeFDPDisprovided:i ifthiscommandisadded(in leRfffr J=w-:22LInmath-mo'ExX2"+TIUUsuggestthis:[eakrun]thefollowing le,%withtheencoGdingsuitableforyourmachine(my-kenc}'odinggwill bGelatin1forCunixmachinesandPCsrunningWindows,kapplemacf+forMacintoshs,aorcp850forPCsrunningDOS.Ifyouareus-kingUUMlTU>'ExXtogetherwithCMRfonts,commentoutthelinek\usepackage[my-enc}'oding}]{inputenc}.+k%%%?TestfileforFrenchhyphenation.k\documentclass{article}k\usepackage[my-enc}'oding}]{inputenc}k\usepackage[francais]{babel}k\begin{document}k\showhyphens{signal,?container,\'ev\'enement,alg\`ebre}k\showhyphens{signal,?container,evenement,algebre}k\end{document}akcheckJthehyphenationspropGosedbyTU>'ExXinyourlog- le;DinF*renchyoukshouldUUgetwithbGoth7-bitand8-bitencodingsksi-gnal,?contai-ner,eve-ne-ment,?al-gebre.kDonotcareabGouthowaccentedcharactersaredisplayedinthelog- le,lwhatkmattersUUisthepGositionofthe`-'hyphensignsonly.[fRIfptheyareallcorrect,wyourinstallation(probably)works ne,wifone(ormore)isR(are)wrong,2askaloGcalwizardtoseewhat'sgoingwrongandperformthetestRagainUU(ore-mailmeabGoutwhathappens).RF*requentUUmismatches:akyougetsig-nal,?con-tainer,thisprobablymeansthatthehyphenationkpatternsUUyouareusingareforUSenglish,notforF*rench;akyou+getnohyphenatallineve-ne-ment,3this+probablymeansthatyouarekusingCMRxfontsandthemacro\accenttoproGduceaccentedcharacters.kConsiderUUswitchingtoDC/ECfontsandT1-encoGdingoruseMlTU>'ExX.!YafrenchbܲhasbGeenimprovedusinghelpfulsuggestionsfrommanypeople,۾theRmainUUcontributionscamefromVincentJalby*.qThankstoallofthem!9aFirstUUversionreleased:q1.1asof1996/05/31partofrbabGel-3.6beta.aChangesUUinversion1.1b:qupGdateforbabel-3.6.91\Ǡy?aChanges inversion1.2:2newcommand\nombretoformatnumbGers;fremoved RcommandL\fupbGorrowedLfromthefrenchpackqage(\updoesabetterjobinRL5ffA͉TU>'ExX2"wS);alsoCremovedaliases\frenchand\english(frenchb.cfgisabGetterRplaceUUforthese).!R24.2wTESXnicaldetailsuTRThefmacro\LdfInittakescareofpreventingthatthis leisloadedmorethanRonce,UUcheckingthecategorycoGdeofthe@sign,etc. 2K24.1\hcoAdei K24.2\%%Pleasereporterrorsto:DanielFlipo,GUTenbergK24.3\%%zchecktheformatinuse(plainorLaT*eX),we'llneedmacrostoholdthe RnamesUUoftheplainandL5ffA͉TU>'ExX2"+Tformats.GË24.19\\def\PlainFmtName{plain}GË24.20\\def\LaTeXeFmtName{LaTeX2e}$\if@Two@ERW*ewillneedanew`if':\if@Two@EвistrueifandonlyifL5ffA͉TU>'ExX2"*isrunningnotֲin RcompatibilityMmoGde.+pItisusedinthede nitionsofthecommand\nombreand\up.RThede nitionissomewhatcomplicated,duetothefactthat\if@compatibilityRisUUnotrecognizedasa\ifinL5ffA͉TU>'ExX-2.09basedformats.GË24.21\\newif\if@Two@E\@Two@Etrue GË24.22\\def\@FI@{\fi}92]ˠy?GË24.23\\ifx\@compatibilitytrue\@undefined GË24.24f\@Two@Efalse\def\@FI@{\relax}GË24.25\\elseGË24.26f\if@compatibility\@Two@Efalse\fiGË24.27\\@FI@ 6\extrasfrenchb \noextrasfrenchbRThemacro\extrasfrenchbwillpGerformalltheextrade nitionsneededforthe RF*renchlanguage.}IThemacro\noextrasfrenchbisusedtocanceltheactionsofR\extrasfrenchb.RInF*rench\apGostrophe"isusedinhyphenationinexpressionslikel'ambulanceR(F*renchpatternsprovideentriesforthiskindofwords).ThismeansthattheR\lccodeof\apGostrophe"hastobenonnullinF*renchforpropGerhyphenationofRthoseUUexpressions,andtobGeresettonullwhenexitingF*rench.GË24.28\\@namedef{extras\CurrentOption}{\lccode`\'=`\'} GË24.29\\@namedef{noextras\CurrentOption}{\lccode`\'=0}GË24.30\\def\extrasfrancais{\extrasfrenchb}GË24.31\\def\extrasfrench{\extrasfrenchb}GË24.32\\def\noextrasfrancais{\noextrasfrenchb}GË24.33\\def\noextrasfrench{\noextrasfrenchb}aItisbGesttouseL5ffA͉TU>'ExX2"(+'sfontchangingcommands,andtoemulatedthosewe Rneedwhentheyarenotavqailable,asinPlainTU>'ExXorL5ffA͉TU>'EX-2.09. BeawarethatRold:commands\sc,3\it,etc.yvexist:inL5ffA͉TU>'ExX2"),3buttheybGehave:liketheydidinRL5ffA͉TU>'ExX-2.09K(i.e.,D theyswitchbackto\normalfontinsteadofkeepingtheotherRfontUUattributesunchanged).GË24.34\\ifx\scshape\@undefined GË24.35f\ifx\sc\@undefinedGË24.36tJ\let\scshape\relaxGË24.37f\elseGË24.38tJ\let\scshape\scGË24.39f\fiGË24.40\\fiGË24.41\\ifx\emph\@undefinedGË24.42f\ifx\em\@undefinedGË24.43tJ\let\emph\relaxGË24.44f\elseGË24.45tJ\def\emph#1{\em#1}GË24.46f\fiGË24.47\\fi6R24.3wCaptionnamesanddateuTRThenextstepconsistsofde ningtheF*renchequivqalentsfortheL5ffA͉TU>'ExXcaption- Rnames. \captionsfrenchbRTheImacro\captionsfrenchbde nesallstringsusedinthefourstandarddoGcu-RmentclassesprovidedwithL5ffA͉TU>'ExX.VSomeauthorsdonotlikesomeofthesenames;RitiseasytochangetheminthepreambleafterUloadingfrenchb(orinyour le93^y?Rfrenchb.cfg),e.g2\addto\captionsfrenchb{\def\figurename{Figure}}will RprintUU`Figure'inromaninsteadof`CFig.'. nGË24.48\\ifx\fmtname\PlainFmtName GË24.49\\elseGË24.50\\@namedef{captions\CurrentOption}{%GË24.51jp\def\refname{R\'ef\'erences}%GË24.52jp\def\abstractname{R\'esum\'e}%GË24.53jp\def\bibname{Bibliographie}%GË24.54jp\def\prefacename{Pr\'eface}%GË24.55jp\def\chaptername{Chapitre}%GË24.56jp\def\appendixname{Annexe}%GË24.57jp\def\contentsname{Tabledesmati\`eres}%GË24.58jp\def\listfigurename{Tabledesfigures}%GË24.59jp\def\listtablename{Listedestableaux}%GË24.60jp\def\indexname{Index}%GË24.61jp\def\figurename{{\scshapeFig.}}%GË24.62jp\def\tablename{{\scshapeTab.}}%nR\PremiGereUUpartie"insteadof\PartI"GË24.63jp\def\partname{\protect\@Fptpartie}%GË24.64jp\def\@Fpt{{\ifcase\value{part}\orPremi\`ere\orDeuxi\`eme\orGË24.65jpTroisi\`eme\orQuatri\`eme\orCinqui\`eme\orSixi\`eme\orGË24.66jpSepti\`eme\orHuiti\`eme\orNeuvi\`eme\orDixi\`eme\orOnzi\`eme\orGË24.67jpDouzi\`eme\orTreizi\`eme\orQuatorzi\`eme\orQuinzi\`eme\orGË24.68jpSeizi\`eme\orDix-septi\`eme\orDix-huiti\`eme\orDix-neuvi\`eme\orGË24.69jpVingti\`eme\fi}\space\def\thepart{}}%GË24.70jp\def\pagename{page}%GË24.71jp\def\seename{{\emph{voir}}}%GË24.72jp\def\alsoname{{\emph{voiraussi}}}%GË24.73jp\def\enclname{P.~J.}%GË24.74jp\def\ccname{Copie\`a}%GË24.75jp\def\headtoname{}%GË24.76jp\def\proofname{D\'emonstration}%forAMS-\LaTeXGË24.77jp}GË24.78jp\def\captionsfrench{\captionsfrenchb}GË24.79jp\def\captionsfrancais{\captionsfrenchb}GË24.80\\fiJb\datefrenchbRThegmacro\datefrenchbrede nesthecommand\todaytoproGduceF*renchdates. GË24.81\\@namedef{date\CurrentOption}{%GË24.82f\def\today{\number\dayGË24.83o\ifnum1=\day\ier\fiGË24.84o\space\ifcase\monthGË24.85o\orjanvier\orf\'evrier\ormars\oravril\ormai\orjuin\orGË24.86ojuillet\orao\^ut\orseptembre\oroctobre\ornovembre\orGË24.87od\'ecembre\fiGË24.88o\space\number\year}}GË24.89\\def\datefrench{\datefrenchb}GË24.90\\def\datefrancais{\datefrenchb}94_ Ey?R24.4wPunctuationuTRThei`doublepunctuation'characters(;!?and:)havetobGemade\activefor RanUUautomaticcontroloftheamountofspacetoinsertbGeforethem. "GË24.91\\initiate@active@char{:} GË24.92\\initiate@active@char{;}GË24.93\\initiate@active@char{!}GË24.94\\initiate@active@char{?}"RW*eUUspGecifythattheFrenchgroupofshorthandsshouldbGeused.GË24.95\\expandafter\addto\csnameextras\CurrentOption\endcsname{%GË24.96f\languageshorthands{frenchb}}"RTheseUUcharactersare`turnedon'once,latertheirde nitionmayvqary*.GË24.97\\expandafter\addto\csnameextras\CurrentOption\endcsname{%GË24.98f\bbl@activate{:}\bbl@activate{;}%GË24.99f\bbl@activate{!}\bbl@activate{?}}C24.100\\expandafter\addto\csnamenoextras\CurrentOption\endcsname{%C24.101f\bbl@deactivate{:}\bbl@deactivate{;}%C24.102f\bbl@deactivate{!}\bbl@deactivate{?}}"aOne8morething\extrasfrenchbneedstodoistomakesurethat\frenchspacing RisXine ect.yIfthisisnotthecasetheexecutionof\noextrasfrenchbwillswitchRitUUo again.C24.103\\expandafter\addto\csnameextras\CurrentOption\endcsname{% C24.104f\bbl@frenchspacing}C24.105\\expandafter\addto\csnamenoextras\CurrentOption\endcsname{%C24.106f\bbl@nonfrenchspacing}g 6\frenchb@sh@;@RW*e-havetotunetheamountofwhitespacebGefore;:!d]?and:.Thisshouldonly RhappGenQhinhorizontalmode,lhencethetest\ifhmode.eInhorizontalmode,lifaRspace5UhasbGeentypedbefore`;'@weremoveitandputanunbreakqable\thinspaceRinstead.oIfRJnospacehasbGeentyped,weRJadd\FDP@thinspacewhichwillbede ned,RupUUtotheuser'swishes,asanautomaticaddedthinspace,oras\@empty.DC24.107\\declare@shorthand{frenchb}{;}{% C24.108o\ifhmodeC24.109y2\ifdim\lastskip>\z@C24.110w^\unskip\penalty\@M\thinspaceC24.111y2\elseC24.112w^\FDP@thinspaceC24.113y2\fiC24.114o\fiDRNowUUwecaninserta;character.C24.115o\string;}g 6\frenchb@sh@!@  6\frenchb@sh@?@RBecausenthesede nitionsareverysimilaronlyoneisdisplayedinawaythatthe Rde nitionUUcanbGeeasilychecked.DC24.116\\declare@shorthand{frenchb}{!}{%C24.117o\ifhmode95`y?C24.118y2\ifdim\lastskip>\z@ C24.119w^\unskip\penalty\@M\thinspaceC24.120y2\elseC24.121w^\FDP@thinspaceC24.122y2\fiC24.123o\fiC24.124o\string!}C24.125\\declare@shorthand{frenchb}{?}{%C24.126o\ifhmodeC24.127y2\ifdim\lastskip>\z@C24.128w^\unskip\penalty\@M\thinspaceC24.129y2\elseC24.130w^\FDP@thinspaceC24.131y2\fiC24.132o\fiC24.133o\string?} 6\frenchb@sh@:@RTheUU`:'qrequiresanormalspacebGeforeit,insteadofa\thinspace.C24.134\\declare@shorthand{frenchb}{:}{%C24.135o\ifhmodeC24.136y2\ifdim\lastskip>\z@C24.137w^\unskip\penalty\@M\C24.138y2\elseC24.139w^\FDP@spaceC24.140y2\fiC24.141o\fiC24.142o\string:}H\AutoSpaceBeforeFDP \NoAutoSpaceBeforeFDPR\FDP@thinspaceUUand\FDP@spacearede nedasunbreakqablespacesby R\AutoSpaceBeforeFDPUUoras\@emptyby\NoAutoSpaceBeforeFDP.RDefaultUUis\AutoSpaceBeforeFDP.C24.143\\def\AutoSpaceBeforeFDP{% C24.144y2\def\FDP@thinspace{\penalty\@M\thinspace}%C24.145y2\def\FDP@space{\penalty\@M\}}C24.146\\def\NoAutoSpaceBeforeFDP{\let\FDP@thinspace\@emptyC24.147׃\let\FDP@space\@empty}C24.148\\AutoSpaceBeforeFDP \system@sh@:@ \system@sh@!@ \system@sh@?@ \system@sh@;@RWhentheactivecharactersappGearinanenvironmentwheretheirF*renchbGe- RhaviourFisnotwantedtheyshouldgivean`expGected'result.(Thereforewede neRshorthandsUUatsystemlevelaswell.C24.149\\declare@shorthand{system}{:}{\string:} C24.150\\declare@shorthand{system}{!}{\string!}C24.151\\declare@shorthand{system}{?}{\string?}C24.152\\declare@shorthand{system}{;}{\string;}96a"Cy?R24.5wFrenchquotationmarksuTRSeveralshapGesofF*renchquotationmarksareprovidedforusewithCMRor REC/DCZwfonts,orZPostScriptfonts.CMRZwfontshavenoquotationmarksbuilt-Rin,sowehavetoemulatethemusingmathsymbGols,eitherL5ffA͉TU>'ExX's`lasy'fontifRavqailable,orWTU>'ExXsymbGols\lland\ggotherwise.EC/DC9fontsandPostScriptRfontsUUhavebuilt-inquotationmarks,sowewillofcourseusethem.RThehfollowingde nitionswilltakecareforcorrectspacingofF*renchquotationRmarks(awhitespaceprecedesandfollowsquotationmarksbutnolinebreakisRallowedUUneitherafterhtheopGeningone,norb}'eforetheUUclosingone).b\oPlainGuillb\fPlainGuillRF*or/PlaincTU>'ExX,wede ne\oPlainGuilland\fPlainGuillusingmathsymbGolsR\llUֲand\gg.sIInordertohaveUthewordfollowingopGeningguillemetshyphenatedRpropGerlyI}wehavetoendthede nitionswiththeTU>'ExXequivqalentfor\allowhyphensRwhichUUis\penalty\@M\hskip\z@skip.C24.153\\def\oPlainGuill{\leavevmode\raise0.25ex% C24.154\hbox{$\scriptscriptstyle\ll$\kern0.15em}%C24.155\penalty\@M\hskip\z@skip}C24.156\\def\fPlainGuill{\ifdim\lastskip>\z@\unskip\penalty\@M\fiC24.157\leavevmode\raise0.25ex%C24.158\hbox{\kern0.15em$\scriptscriptstyle\gg$}}L\oLasyGuill L\fLasyGuillRIn$EL5ffA͉TU>'ExX2"+4bGetter$Elookingquotationmarksareavqailableviathe`lasy'font(`lasy' RstandsUUforL5ffA͉TU>'ExXSymbGol).C24.159\\ifx\fmtname\LaTeXeFmtNameC24.160f\def\oLasyGuill{\leavevmodeC24.161:\hbox{\fontencoding{U}\fontfamily{lasy}\selectfontC24.162(\kern-0.20em(\kern0.20em}\allowhyphens}C24.163f\def\fLasyGuill{\ifdim\lastskip>\z@\unskip\penalty\@M\fi\leavevmodeC24.164:\hbox{\kern0.20em%C24.165\fontencoding{U}\fontfamily{lasy}\selectfontC24.166)\kern-0.20em)}}C24.167\\fi$\oECGuill $\fECGuillRNowUUlet'sde neF*renchquotationmarksforT1encoGding.C24.168\\def\oECGuill{\leavevmode\hbox{\guillemotleft\kern0.15em}%C24.169\allowhyphens}C24.170\\def\fECGuill{\ifdim\lastskip>\z@\unskip\penalty\@M\fiC24.171\leavevmode\hbox{\kern0.15em\guillemotright}}:\og :\fg \bbl@frenchguillemets Z\bbl@nonfrenchguillemetsRNowOlet'sde newhichkindofF*renchquotationmarkswillbGeused.Thetop RmacrosforquotationmarkswillbGecalled\og(\ofeuvrezg[fe uillemets")and\fgR(\ffe::ermezUUgUU[feUVuillemets").RMakethetoplevelde nitionsforF*renchquotationmarksavqailablethroughtheR\extrasfrenchbUU\noextrasfrenchbmechanism.RAslI\DeclareTextCommandcannotbGeusedafterthe\begin{document}weintro-RduceUUinternalde nitions\begin@guilland\end@guill.RW*e'lltrytobGesmarttousersofD.CCarlisle'sxspacepackqage::ifthispackqage97b+y?RisUUloadedtherewillbGenoneedfor{}or\Rtogetaspaceafter\fg. W}0InxL5ffA͉TU>'ExX2",wexprovideadummyde nitionfor\ogand\fg,justtodisplayanRerrorUUmessageincase\ogor\fghaveUUbGeende nedelsewhere.C24.172\\ifx\fmtname\LaTeXeFmtName C24.173jp\newcommand{\og}{\@empty}C24.174jp\newcommand{\fg}{\@empty}C24.175jp\DeclareTextCommand{\begin@guill}{T1}{\oECGuill}C24.176jp\DeclareTextCommand{\end@guill}{T1}{\fECGuill}C24.177jp\DeclareTextCommand{\begin@guill}{OT1}{\oLasyGuill}C24.178jp\DeclareTextCommand{\end@guill}{OT1}{\fLasyGuill}C24.179jp\DeclareTextSymbolDefault{\begin@guill}{OT1}C24.180jp\DeclareTextSymbolDefault{\end@guill}{OT1}C24.181\\elseC24.182jp\let\begin@guill\oPlainGuillC24.183jp\let\end@guill\fPlainGuillC24.184\\fiC24.185\\def\bbl@frenchguillemets{\ifx\xspace\@undefined\let\xspace\relax\fiC24.186׃\def\og{\begin@guill}%C24.187׃\def\fg{\end@guill\xspace}}C24.188\\def\bbl@nonfrenchguillemets{\def\og{``}%C24.189尬\def\fg{\ifdim\lastskip>\z@\unskip\fi''}}C24.190\\expandafter\addto\csnameextras\CurrentOption\endcsname{%C24.191f\bbl@frenchguillemets}C24.192\\expandafter\addto\csnamenoextras\CurrentOption\endcsname{%C24.193f\bbl@nonfrenchguillemets}6R24.6wFrenchlistsuT \bbl@frenchitems H\bbl@nonfrenchitems S\bbl@frenchlistspacing &\bbl@nonfrenchlistspacingRF*renchlistsaredi erentfromUSenglishones:'theisneverused(longdash`{' Rispreferedforalllevels),ٕandverticalspacingbGetweenitems,ٕbGeforeandafterRthelist,shouldbGeshorterinF*renchtextsthanthedefaultsprovidedbyL5ffA͉TU>'ExX.RNoteAothattheeasyway*,EijustAochangingvqaluesofverticalspacingparameterswhenRentering^F*renchandrestoringthemtotheirdefaultsonexitwouldnotwork,soRweUUhavetorede ne\@trivlist.RTheZiamountofverticalspacebGeforeandafteralistisgivenby\topsep+R\parskip(+\partopsepiftheliststartsanewparagraph).IMHO,\parskipRshouldbGeaddedonlywwhentheliststartsanewparagraph,soIsubtract\parskipRfromC_\topsepandadditbackto\partopsep;thiswillnormallymakenodi erenceRbGecauseN\parskip'sdefaultvqalueis0pt,Obutwillbenoticeablewhen\parskipisRnotH-null.RI 0would CappreciatefeedbackfromexpGertsinF*renchtypGography*,Gabout Cthe(some-RwhatexpGerimental)vqaluessetherefor\partopsep,\topsep,\itemsepandR\parsep.ROfUUcourse,thiscoGdeisonlyforL5ffA͉TU>'ExX.C24.194\\ifx\fmtname\PlainFmtName C24.195\\elseC24.196f\let\@ltiORI\labelitemi98c:y?C24.197f\let\@ltiiORI\labelitemii C24.198f\let\@ltiiiORI\labelitemiiiC24.199f\let\@ltivORI\labelitemivC24.200f\def\bbl@frenchitems{%C24.201o\def\labelitemi{--}%C24.202o\def\labelitemii{--}%C24.203o\def\labelitemiii{--}%C24.204o\def\labelitemiv{--}}C24.205f\def\bbl@nonfrenchitems{%C24.206o\let\labelitemi\@ltiORIC24.207o\let\labelitemii\@ltiiORIC24.208o\let\labelitemiii\@ltiiiORIC24.209o\let\labelitemiv\@ltivORI}C24.210f\expandafter\addto\csnameextras\CurrentOption\endcsname{%C24.211o\bbl@frenchitems}C24.212f\expandafter\addto\csnamenoextras\CurrentOption\endcsname{%C24.213o\bbl@nonfrenchitems}C24.214f\let\@trivlistORI\@trivlistC24.215f\def\bbl@frenchlistspacing{%C24.216o\def\@trivlist{\setlength{\itemsep}{0.4explus0.2exminus0.2ex}%C24.217p\setlength{\parsep}{0.4explus0.2exminus0.2ex}%C24.218p\setlength{\topsep}{0.8explus0.4exminus0.4ex}%C24.219p\setlength{\partopsep}{0.4explus0.2exminus0.2ex}%C24.220p\addtolength{\topsep}{-\parskip}%C24.221p\addtolength{\partopsep}{\parskip}%C24.222p\@trivlistORI}}C24.223f\def\bbl@nonfrenchlistspacing{\let\@trivlist\@trivlistORI}C24.224f\expandafter\addto\csnameextras\CurrentOption\endcsname{%C24.225o\bbl@frenchlistspacing}C24.226f\expandafter\addto\csnamenoextras\CurrentOption\endcsname{%C24.227o\bbl@nonfrenchlistspacing}C24.228\\fi6R24.7wFrenchindentationofsectionsuTt\bbl@frenchindent Ʋ\bbl@nonfrenchindentRInF*renchthe rstparagraphofeachsectionshouldbGeindented,thisisanother Rdi erenceUUwithUSenglish.qAddthiscoGdeonlyinL5ffA͉TU>'ExX.C24.229\\ifx\fmtname\PlainFmtNameC24.230\\elseC24.231f\let\@aifORI\@afterindentfalseC24.232f\def\bbl@frenchindent{\let\@afterindentfalse\@afterindenttrueC24.233\@afterindenttrue}C24.234f\def\bbl@nonfrenchindent{\let\@afterindentfalse\@aifORIC24.235׃\@afterindentfalse}C24.236f\expandafter\addto\csnameextras\CurrentOption\endcsname{%C24.237o\bbl@frenchindent}C24.238f\expandafter\addto\csnamenoextras\CurrentOption\endcsname{%C24.239o\bbl@nonfrenchindent}C24.240\\fi99dGy?R24.8wFormattingnumb`ersuTRInoEnglishthedecimalpartstartswithapGointandthousandsshouldbe Rseparatedkbyacomma: anapproximationof1000ǜshouldbGeinputedasR$3{,}141.592{,}653$=inmath-moGdeandas3,141.592,653intext.~InF*renchRthedecimalpartstartswithacommaandthousandsshouldbGeseparatedbyaRspace;the8sameapproximationof1000shouldbGeinputedas$3\;141{,}592\;653$Rin|math-moGdeandassomethinglike3~141,592~653intext..;RemembGerbracesRareyOmandatoryaroundthecommainmath-moGde,MthereasonismentionedintheRTU>'ExXbGookgp.134:WthecommaisoftypGe\mathpunct(thusnormallyfollowedbyaRspace)UUwhilethepGointisoftypGe\mathord(nospaceadded).aThierryBouchesuggestedthatasecondtypGeofcomma,WoftypGe\mathordRwouldH bGeusefulinmath-mode,andproposedtointroduceacommand(namedR\decimalsepaCinthispackqage),theexpansionofwhichwoulddepGendonthecurrentRlanguage.aVincent]Jalbysuggestedacommand\nombretoconvenientlytypGesetnumbGers:Rinputting\nombre{3141,592653}eitherintextorinmath-moGdewillformatthisRnumbGerUUproperlyaccordingtothecurrentlanguage(F*renchornon-F*rench).a\nombreDacceptsanoptionalargumentwhichhappGenstobeusefulwiththeRextensionSp`dcolumn',itspGeci esthedecimalseparatorusedinthesour}'ce}code[:R\newcolumntype{d}{D{,}{\decimalsep}{-1}}R\begin{tabular}{d}\hline\3,14?\\\\nombre[,]{123,4567}?\\\\nombre[,]{9876,543}\\\hlineR\end{tabular}RwilltprintacolumnofnumbGersalignedonthedecimalpoint(commaorpointRdepGending!onthecurrentlanguage),Teachsliceof3digitsbGeingseparatedbyaRspaceUUoracommaaccordingtothecurrentlanguage.L\decimalsepb\thousandsepRW*eneedainternalde nition,vqalidinbGothtextandmath-mode,forthecommaR(\@comma@)andanotheronefortheunbreakqable xedlengthspace(noglue)usedRinUUF*rench(\f@thousandsep).aTheg!commands\decimalsepand\thousandsepgetdefaultde nitions(forRtheEnglishlanguage)whenfrenchbisloaded;Vthesede nitionswillbGeupdatedRwhenUUthecurrentlanguageisswitchedtoorfromF*rench.C24.241\\mathchardef\m@comma="013B C24.242\\def\@comma@{\ifmmode\m@comma\else,\fi}C24.243\\def\f@thousandsep{\ifmmode\mskip5.5mu\else\penalty\@M\kern.3em\fi}C24.244\\newcommand{\decimalsep}{.}C24.245\\newcommand{\thousandsep}{\@comma@}C24.246\\expandafter\addto\csnameextras\CurrentOption\endcsname{%C24.247]\def\decimalsep{\@comma@}%C24.248]\def\thousandsep{\f@thousandsep}}C24.249\\expandafter\addto\csnamenoextras\CurrentOption\endcsname{%C24.250]\def\decimalsep{.}%C24.251]\def\thousandsep{\@comma@}}100eRy?'3P\nombreRThedecimalseparatorusedwheninputingnanumbGerwith\nombrehasKtob}'ea Rc}'omma.=\nombresplitstheinputednumbGerintotwoparts:#whatcomesbGeforetheR rstcommawillbGeformattedbyT\@integerpartwhiletherest(ifnotempty)willRbGeformattedby\@decimalpart.Bothparts,onceformattedseparatelywillbeRmergedtogetherwithbGetweenthem,?eitherthedecimalseparator\decimalsepRorUU(inL5ffA͉TU>'ExX2"+Tonly})theoptionalargumentof\nombre.C24.252\\if@Two@E C24.253f\newcommand{\nombre}[2][\decimalsep]{%C24.2540\def\@decimalsep{#1}\@nombre#2\@empty,\@empty,\@nil}C24.255\\elseC24.256f\newcommand{\nombre}[1]{%C24.2570\def\@decimalsep{\decimalsep}\@nombre#1\@empty,\@empty,\@nil}C24.258\\fiC24.259\\def\@nombre#1,#2,#3\@nil{%C24.260}\ifx\@empty#2%C24.2610\@integerpart{#1}%C24.262}\elseC24.2630\@integerpart{#1}\@decimalsep\@decimalpart{#2}%C24.264}\fi}RTheeasiestbitisthedecimalpart:S W*eattempttoreadthe rstfourdigitsofthe Rdecimal"part,Vifithaslessthan4digits,wejusthavetoprintthem,VotherwiseR\thousandsep+hastobGeappendedafterthethirddigit,? andthealgorithmisRappliedUUrecursivelytotherestofthedecimalpart.C24.265\\def\@decimalpart#1{\@@decimalpart#1\@empty\@empty\@empty} C24.266\\def\@@decimalpart#1#2#3#4{#1#2#3%C24.267f\ifx\@empty#4%C24.268f\elseC24.269o\thousandsep\expandafter\@@decimalpart\expandafter#4%C24.270f\fi}RF*ormatting4theintegerpartismoredicultbGecausetheslicesof3digitsstart Rfromjtheb}'ottom.kwhilethenumbGerjisreadfromthetop!This(tricky)codeisRbGorrowedUUfromDavidCarlisle'scomma.sty*.C24.271\\def\@integerpart#1{\@@integerpart{}#1\@empty\@empty\@empty} C24.272\\def\@@integerpart#1#2#3#4{%C24.273f\ifx\@empty#2%C24.274o\@addthousandsep#1\relaxC24.275f\elseC24.276o\ifx\@empty#3%C24.277y2\@addthousandsep\@empty\@empty#1#2\relaxC24.278o\elseC24.279y2\ifx\@empty#4%C24.280w^\@addthousandsep\@empty#1#2#3\relaxC24.281y2\elseC24.282w^\@@integerpartafterfi{#1#2#3#4}%C24.283y2\fiC24.284o\fiC24.285f\fi}101f`;y?C24.286\\def\@@integerpartafterfi#1\fi\fi\fi{\fi\fi\fi\@@integerpart{#1}} C24.287\\def\@addthousandsep#1#2#3#4{#1#2#3%C24.288f\if#4\relaxC24.289f\elseC24.290o\thousandsep\expandafter\@addthousandsep\expandafter#4%C24.291f\fi}6R24.9wExtrautilitiesuTRAllUUthatislefttodonowistoprovidetheF*renchuserwithsomeextrautilities.:\up 0|\iemeR\up8easesthetypGesettingofsuperscriptslike`1er'.\uprelieson\textsuperscript RwhenUUavqailable(i.e.,inL5ffA͉TU>'ExX2"()."y\up@sizeRThe'internalmacro\up@sizeholdsthesizeatwhichthesupGerscriptwillbetype-Rset. (kThereasonforthisisthatwehavetospGecifyitdi erentlyfordi erentRformats.C24.292\\ifx\sevenrm\@undefined C24.293f\ifx\@ptsize\@undefinedC24.294o\let\up@size\smallC24.295f\elseC24.296o\ifx\selectfont\@undefinedRInUUthiscasetheformatistheoriginalL5ffA͉TU>'ExX-2.09:C24.297y2\ifcase\@ptsizeC24.298w^\let\up@size\ixpt\orC24.299w^\let\up@size\xpt\orC24.300w^\let\up@size\xiptC24.301y2\fiRWhenUU\selectfontisde nedweprobablyhaveNFSSavqailable:C24.302o\elseC24.303y2\ifcase\@ptsizeC24.304w^\def\up@size{\fontsize\@ixpt{10pt}\selectfont}\orC24.305w^\def\up@size{\fontsize\@xpt{11pt}\selectfont}\orC24.306w^\def\up@size{\fontsize\@xipt{12pt}\selectfont}C24.307y2\fiC24.308o\fiC24.309f\fiC24.310\\elseRIfUUweenduphereitmustbGeaplainbasedTU>'ExXformat,so:C24.311o\let\up@size\sevenrmC24.312\\fiRNowwecande ne\up.WhenL5ffA͉TU>'ExX2",ܲrunsincompatibilitymoGde(L5ffA͉TU>'ExX-2.09 Remulation),\textsuperscriptisalsode ned,butdoGesnogoodjob,sowegiveRtwoUUdi erentde nitionsfor\upusing\if@Two@E.C24.313\\if@Two@E C24.314f\DeclareRobustCommand*{\up}[1]{\textsuperscript{#1}}102gky?C24.315\\else C24.316f\DeclareRobustCommand*{\up}[1]{\leavevmode\raise1ex\hbox{\up@size#1}}C24.317\\fiR\iemebisprovidedforcompatibilitywithfrancais.sty,etheother5forcompati- RbilityUUwithfrench.sty:C24.318\\def\ieme{\up{\lowercase{e}}}C24.319\\def\iemes{\up{\lowercase{es}}}C24.320\\def\ier{\up{\lowercase{er}}}C24.321\\def\iers{\up{\lowercase{ers}}}C24.322\\def\iere{\up{\lowercase{re}}}C24.323\\def\ieres{\up{\lowercase{res}}}:\No:\no+\primo"y\fprimo)RAndUUsomemoremacrosfornumbGering,UU rsttwoUUsupportmacros.C24.324\\DeclareRobustCommand*{\FrenchEnumerate}[1]{%C24.325W(#1\up{\lowercase{o}}\kern+.3em}C24.326\\DeclareRobustCommand*{\FrenchPopularEnumerate}[1]{%C24.327W(#1\up{\lowercase{o}})\kern+.3em}aTypingUU\primoshouldresultin`1^o|u',C24.328\\def\primo{\FrenchEnumerate1}C24.329\\def\secundo{\FrenchEnumerate2}C24.330\\def\tertio{\FrenchEnumerate3}C24.331\\def\quatro{\FrenchEnumerate4}RwhileUUtyping\fprimo)gives`1^o|s).C24.332\\def\fprimo){\FrenchPopularEnumerate1}C24.333\\def\fsecundo){\FrenchPopularEnumerate2}C24.334\\def\ftertio){\FrenchPopularEnumerate3}C24.335\\def\fquatro){\FrenchPopularEnumerate4}aLet'sUUprovidetwomacrosforthecommonabbreviationsof\NumGero".C24.336\\DeclareRobustCommand*{\No}{N\up{\lowercase{o}}\kern+.2em}C24.337\\DeclareRobustCommand*{\no}{n\up{\lowercase{o}}\kern+.2em}5`\bscRAsHfamilynamesshouldbGewritteninsmallcapitalsandneverbehyphen- Rated,zwe provideacommand(itsnamecomesfromBoxedSmallCaps)toinputRthemeasily;thisisasimplerimplementationofcommands\fscand\lscfromRfrench.styE:inoautomaticuppGercase/lowercaseEconversionispGerformed.lUsage:RJean~\bsc{Duchemin}.C24.338\\DeclareRobustCommand*{\bsc}[1]{\leavevmode\hbox{\scshape#1}}aSomejde nitionsforspGecialcharacters.The rsteightaremandatoryfor\oeRetc.htoworkpropGerlyinmovingarguments,(theothersjustforconvenience.hW*eRwon't|de ne\tildeasaT*extSymbGolnottocon ictwiththemacro\tildeforRmath-moGdeZandusethename\tildinstead.uNotethat\boimaynot2beusedRinK$math-moGde,itsnameinmath-modeis\backslash.S4\degreneedsaspecialRtreatment:qitUUis\char6inT1-encoGdingand\char23inOT1-encoding.C24.339\\ifx\fmtname\LaTeXeFmtName103hu̠y?C24.340f\DeclareTextSymbol{\ae}{T1}{230} C24.341f\DeclareTextSymbol{\ae}{OT1}{26}C24.342f\DeclareTextSymbol{\oe}{T1}{247}C24.343f\DeclareTextSymbol{\oe}{OT1}{27}C24.344f\DeclareTextSymbol{\AE}{T1}{198}C24.345f\DeclareTextSymbol{\AE}{OT1}{29}C24.346f\DeclareTextSymbol{\OE}{T1}{215}C24.347f\DeclareTextSymbol{\OE}{OT1}{30}C24.348f\DeclareTextSymbol{\degre}{T1}{6}C24.349f\DeclareTextSymbol{\degre}{OT1}{23}C24.350f\DeclareTextSymbol{\boi}{T1}{92}C24.351f\DeclareTextCommand{\boi}{OT1}{{$\backslash$}}C24.352f\DeclareTextSymbol{\at}{T1}{64}C24.353f\DeclareTextSymbol{\at}{OT1}{64}C24.354f\DeclareTextSymbol{\circonflexe}{T1}{94}C24.355f\DeclareTextSymbol{\circonflexe}{OT1}{94}C24.356f\DeclareTextSymbol{\tild}{T1}{126}C24.357f\DeclareTextSymbol{\tild}{OT1}{126}C24.358\\elseC24.359f\def\T@one{T1}C24.360f\ifx\f@encoding\T@oneC24.361o\newcommand{\degre}{\char6}C24.362f\elseC24.363o\newcommand{\degre}{\char23}C24.364f\fiC24.365f\newcommand{\at}{\char64}C24.366f\newcommand{\circonflexe}{\char94}C24.367f\newcommand{\tild}{\char126}C24.368f\newcommand{\boi}{{$\backslash$}}C24.369\\fi'3P\degresRMacrofortypGesettingtheabbreviationfor`degrees'(asin`degreesCelsius').W}As Rthe-'ExX's@amacrosdealingwithaccentscon ictwiththoseofL5ffA͉TU>'EX2"( ,DsowecheckRwhether\csubinverseisde nedornot.pIf\csubinverseisde ne}'d,*QweareinRMlTU>'ExX.C24.372\\ifx\fmtname\LaTeXeFmtName C24.373f\AtBeginDocument{%C24.374o\ifx\csubinverse\@undefinedC24.375y2\DeclareTextCompositeCommand{\^}{OT1}{i}{\^\i}%C24.376y2\DeclareTextCompositeCommand{\"}{OT1}{i}{\"\i}%104iy?C24.377o\fi} C24.378\\fiaFinallythemacrospaceusedbysomecontrolsequenceswedonotneedany Rlonger,UUisfreed.C24.379\\let\T@one\relaxC24.380\\let\@FI@\relaxC24.381\\let\PlainFmtName\relaxC24.382\\let\LaTeXeFmtName\relaxaThemacro\ldf@finishtakescareofloGokingforacon guration le,setting RthefmainlanguagetobGeswitchedonat\begin{document}andresettingtheRcategoryMcoGdeofhj@toitsoriginalvqalue. `Thecon g lesearchedforwillalwaysRbGe`frenchb.cfg'.WRememberthat\CurrentOptionhasbeensetto`frenchb',andRthatUU`francais'and`french'arealiasesfor`frenchb'.C24.383\\ldf@finish\CurrentOption C24.384\h=coAdei105jky?R25rfdTheffItalianlanguageRThe9 leitalian.dtx^23 Itde nesallthelanguage-spGeci cmacrosfortheItalian Rlanguage.aF*or8thislanguagethe\clubpenalty,q\widowpenaltyand\finalhyphendemeritsRareUUsettoratherhighvqalues.aThemacro\LdfInittakescareofpreventingthatthis leisloadedmorethanRonce,UUcheckingthecategorycoGdeofthe@sign,etc.K25.1\hcoAdei K25.2\\LdfInit{italian}{captionsitalian}aWhen[this leisreadasanoption,i.e.bythe\usepackagecommand,italianRwillBbGean`unknown'languageinwhichcasewehavetomakeitknown.?SoweRcheck&Jfortheexistenceof\l@italiantoseewhetherwehavetodosomethingRhere.K25.3\\ifx\l@italian\@undefinedK25.4o\@nopatterns{Italian}K25.5o\adddialect\l@italian0\fiaThemnextstepconsistsofde ningcommandstoswitchto(andfrom)theItalianRlanguage. \captionsitalianRTheImacro\captionsitaliande nesallstringsusedinthefourstandarddoGcu-RmentclassesUUprovidedwithL5ffA͉TU>'ExX.K25.6\\addto\captionsitalian{%K25.7f\def\prefacename{Prefazione}%K25.8f\def\refname{Riferimentibibliografici}%K25.9f\def\abstractname{Sommario}%GË25.10f\def\bibname{Bibliografia}%GË25.11f\def\chaptername{Capitolo}%GË25.12f\def\appendixname{Appendice}%GË25.13f\def\contentsname{Indice}%GË25.14f\def\listfigurename{Elencodellefigure}%GË25.15f\def\listtablename{Elencodelletabelle}%GË25.16f\def\indexname{Indiceanalitico}%GË25.17f\def\figurename{Figura}%GË25.18f\def\tablename{Tabella}%GË25.19f\def\partname{Parte}%GË25.20f\def\enclname{Allegati}%GË25.21f\def\ccname{e~p.~c.}%GË25.22f\def\headtoname{Per}%GË25.23f\def\pagename{Pag.}%X%inItalianabbreviationispreferredGË25.24f\def\seename{vedi}%GË25.25f\def\alsoname{vedianche}%GË25.26f\def\proofname{Dimostrazione}%GË25.27f}R&effr J=w-:23LThe ledescrib'ExX ndsthefollowinghyphenationRpGointsUUbe-gl'i-ta-lia-niinsteadofnone.GË25.41\\addto\extrasitalian{%GË25.42f\lccode`'=`'}GË25.43\\addto\noextrasitalian{%GË25.44f\lccode`'=0}aThemacro\ldf@finishtakescareofloGokingforacon guration le,settingRthefmainlanguagetobGeswitchedonat\begin{document}andresettingtheRcategoryUUcoGdeofr@toitsoriginalvqalue.GË25.45\\ldf@finish{italian}GË25.46\h=coAdei107ly?R26rfdTheffPortugueselanguageRThe leportuges.dtx^24 zde nesallthelanguage-spGeci cmacrosforthePor- RtugueseUUlanguageaswellasfortheBrasilianversionofthislanguage.aF*or:thislanguagethecharacter"ismadeactive.!Intable6anoverviewisRgivenUUofitspurpGose.]UUdpe"|_disableUUligatureatthispGosition.pe"-_anexplicithyphensign,allowinghyphenationinthe_restUUoftheword.pe""_likebh"-,butproGducingnohyphensign(forwordsthat_shouldKbreakatsomesignsuchas\entrada/salida."pe"<_forUUF*renchleftdoublequotes(similarto<<).pe">_forUUF*renchrightdoublequotes(similarto>>).pe\-_like7theold\-,=butallowinghyphenationintherest_ofUUtheword.EqǍcT*ableUU6:qTheextrade nitionsmadebyxportuges.ldf$aThemacro\LdfInittakescareofpreventingthatthis leisloadedmorethanRonce,UUcheckingthecategorycoGdeofthe@sign,etc. K26.1\hcoAdei K26.2\\LdfInit\CurrentOption{captions\CurrentOption}aWhenTVthis leisreadasanoption,i.e. nbythe\usepackagecommand,RportugesʲwillbGean`unknown'languageinwhichcasewehavetomakeitknown.RSocwecheckfortheexistenceof\l@portugestoseewhetherwehavetodosome-Rthinghere.GSinceitispGossibletoloadthis lewithanyofthefollowingfourRoptionstobabGel:"portuges,portuguese,brazilѲandbrazilianwealsoallowthattheRhyphenationlpatternsareloadedunderanyofthesefournames.W*ejusthavetoR ndUUoutwhichonewasused.덍K26.3\\ifx\l@portuges\@undefinedK26.4f\ifx\l@portuguese\@undefinedK26.5o\ifx\l@brazil\@undefinedK26.6y2\ifx\l@brazilian\@undefinedK26.7w^\@nopatterns{Portuguese}K26.8w^\adddialect\l@portuges0K26.9y2\elseGË26.10w^\let\l@portuges\l@brazilianGË26.11y2\fiGË26.12o\elseGË26.13y2\let\l@portuges\l@brazilGË26.14o\fiGË26.15f\elseGË26.16o\let\l@portuges\portugueseR Qffr J=w-:24LThe> ledescrib'ExX. GË26.34f\@namedef{captions\CurrentOption}{%GË26.35o\def\prefacename{Pref\'acio}%GË26.36o\def\refname{Refer\^encias}%GË26.37o\def\abstractname{Resumo}%GË26.38o\def\bibname{Bibliografia}%GË26.39o\def\chaptername{Cap\'{\i}tulo}%GË26.40o\def\appendixname{Ap\^endice}%RSome\discussiontoGokplacearoundthecorrecttranslationsfor`T*ableofContents'Rand(`Index'.bthetranslationsdi erforPortugueseandBrasilianbasedthefollow-RingUUhistory:kThe:wholeissueisthatsomebGooks:withoutarealindexattheendkmisused7%theterm`N8xIndice'astableofcontents.gThen,=.what7%happGensiskthatsomebGooksapearedwith`N8xIndice'atthebegininganda`N8xIndicekRemissivo'Xattheend.{Remissivoisaredundantwordinthiscase,kbutwasintroGducedtomakeupthedi erence.6SoinBrasilpGeoplekstartedhusing`Sumario'and`N8xIndiceRemissivo'.JInPortugalthisseemsknottobGeverycommon,thereforewechose`N8xIndice'insteadof`N8xIndicekRemissivo'.109ny?GË26.41o\def\contentsname{Conte\'udo}% GË26.42o\def\listfigurename{ListadeFiguras}%GË26.43o\def\listtablename{ListadeTabelas}%GË26.44o\def\indexname{\'Indice}%GË26.45o\def\figurename{Figura}%GË26.46o\def\tablename{Tabela}%GË26.47o\def\partname{Parte}%GË26.48o\def\enclname{Anexo}%GË26.49o\def\ccname{Comc\'opiaa}%GË26.50o\def\headtoname{Para}%GË26.51o\def\pagename{P\'agina}%GË26.52o\def\seename{ver}%GË26.53o\def\alsoname{vertamb\'em}%RAnUUalternatetermfor`ProGof'couldbe`Provqa'.GË26.54o\def\proofname{Demonstra\c{c}\~ao}%GË26.55o} \dateportugesRThemacro\dateportugesrede nesthecommand\todaytoproGducePortuguese Rdates.GË26.56f\@namedef{date\CurrentOption}{%GË26.57o\def\today{\number\day\spacede\space\ifcase\month\orGË26.58y2Janeiro\orFevereiro\orMar\c{c}o\orAbril\orMaio\orJunho\orGË26.59y2Julho\orAgosto\orSetembro\orOutubro\orNovembro\orDezembroGË26.60y2\fiGË26.61y2\spacede\space\number\year}}GË26.62\\elseaF*orUUtheBrasilianversionofthesede nitionswejustadda\dialect".GË26.63f\expandafter\adddialect\csnamel@\CurrentOption\endcsname\l@portugesf\captionsbrazilRThe[\captions"aredi erentforbGothversionsofthelanguage,1\sowede nethe RmacroUU\captionsbrazilhere.GË26.64f\@namedef{captions\CurrentOption}{% GË26.65o\def\prefacename{Pref\'acio}%GË26.66o\def\refname{Refer\^encias}%GË26.67o\def\abstractname{Resumo}%GË26.68o\def\bibname{Refer\^enciasBibliogr\'aficas}%GË26.69o\def\chaptername{Cap\'{\i}tulo}%GË26.70o\def\appendixname{Ap\^endice}%GË26.71o\def\contentsname{Sum\'ario}%GË26.72o\def\listfigurename{ListadeFiguras}%GË26.73o\def\listtablename{ListadeTabelas}%GË26.74o\def\indexname{\'IndiceRemissivo}%GË26.75o\def\figurename{Figura}%GË26.76o\def\tablename{Tabela}%GË26.77o\def\partname{Parte}%GË26.78o\def\enclname{Anexo}%GË26.79o\def\ccname{C\'opiapara}%110oSy?GË26.80o\def\headtoname{Para}% GË26.81o\def\pagename{P\'agina}%GË26.82o\def\seename{veja}%GË26.83o\def\alsoname{vejatamb\'em}%GË26.84o\def\proofname{Demonstra\c{c}\~ao}%GË26.85o}L\datebrazilRThe macro\datebrazilrede nesthecommand\todaytoproGduceBrasilian Rdates,UUforwhichthenamesofthemonthsarenotcapitalized.GË26.86f\@namedef{date\CurrentOption}{%GË26.87o\def\today{\number\day\spacede\space\ifcase\month\orGË26.88y2janeiro\orfevereiro\ormar\c{c}o\orabril\ormaio\orjunho\orGË26.89y2julho\oragosto\orsetembro\oroutubro\ornovembro\ordezembroGË26.90y2\fiGË26.91y2\spacede\space\number\year}}GË26.92\\fiH\portugeshyphenminsRSetUUcorrectvqaluesfor\lefthyphenminand\righthyphenmin.GË26.93\\@namedef{\CurrentOptionhyphenmins}{\tw@\tw@}f\extrasportuges t\noextrasportugesRThe Tmacro\extrasportugeswillpGerformalltheextrade nitionsneededforthe RPortugueserKlanguage.&Themacro\noextrasportugesisusedtocanceltheactionsRofUU\extrasportuges.aF*orTPortuguesethe"characterismadeactive.p\Thisisdoneonce,lateronRitszLde nitionmayvqary*.OtherlanguagesinthesamedoGcumentmayalsousetheR" characterforshorthands;d'wespGecifythattheportuguesegroupofshorthandsRshouldUUbGeused.GË26.94\\initiate@active@char{"} GË26.95\\@namedef{extras\CurrentOption}{\languageshorthands{portuges}}GË26.96\\expandafter\addto\csnameextras\CurrentOption\endcsname{%GË26.97f\bbl@activate{"}}GË26.98\%\addto\noextrasportuges{\bbl@deactivate{"}}RFirstUUwede neaccesstotheguillemetsforquotations,GË26.99\\declare@shorthand{portuges}{"<}{%C26.100f\textormath{\guillemotleft{}}{\mbox{\guillemotleft}}}C26.101\\declare@shorthand{portuges}{">}{%C26.102f\textormath{\guillemotright{}}{\mbox{\guillemotright}}}RthenHwede netwoshorthandstobGeabletospecifyhyphenationbreakpointsthat RbGehavewUUalittledi erentfrom\-.C26.103\\declare@shorthand{portuges}{"-}{\allowhyphens-\allowhyphens}C26.104\\declare@shorthand{portuges}{""}{\hskip\z@skip}RAndUUwewanttohaveashorthandfordisablingaligature.C26.105\\declare@shorthand{portuges}{"|}{%C26.106f\textormath{\discretionary{-}{}{\kern.03em}}{}}111pKy?>>\-RAllޚthatisleftnowistherede nitionof\-.J4Thenewversionof\-shouldindicate RanextrahyphenationpGosition,twhileallowingotherhyphenationpGositionstobeRgeneratedautomatically*.ThestandardbGehaviourofTU>'ExXinthisrespectisveryRunfortunateT2forlanguagessuchasDutchandGerman,wherelongcompGoundwordsRarequitenormalandalloneneedsisameanstoindicateanextrahyphenationRpGositionontopoftheonesthatTU>'ExXcangeneratefromthehyphenationpatterns.C26.107\\expandafter\addto\csnameextras\CurrentOption\endcsname{% C26.108f\babel@save\-}C26.109\\expandafter\addto\csnameextras\CurrentOption\endcsname{%C26.110f\def\-{\allowhyphens\discretionary{-}{}{}\allowhyphens}}5`\ord :\ro 0|\orda :\raRW*etalsoprovideaneasywaytotypGesetordinals,{bothinthemale(\ordor\ro) RandUUthefemale(ordaor\ra)form.C26.111\\def\ord{$^{\rmo}$}C26.112\\def\orda{$^{\rma}$}C26.113\\let\ro\ord\let\ra\ordaaThemacro\ldf@finishtakescareofloGokingforacon guration le,setting RthefmainlanguagetobGeswitchedonat\begin{document}andresettingtheRcategoryUUcoGdeofr@toitsoriginalvqalue.C26.114\\ldf@finish\CurrentOption C26.115\h=coAdei112qЖy?R27rfdTheffSpanishlanguageRThe lespanish.dtx^25 5de nesallthelanguagede nitionmacro'sfortheSpan- Rish^26 ;language.aThis_ le^27 $EincorpGoratestheresultofdiscussionsheldintheSpanish-TU>'ExX^28RelectronicUUmaillist.aF*orihthislanguagethecharacters'~and"aremadeactive.Intable7anRoverviewSisgivenoftheirpurpGose.TheseactiveaccentcharactersbGehaveaccordingrUUdpe'a_anmaccentthatallowshyphenation.4V*alidforallvow-_elsUUuppGercaseandlowercase.pe'n_anwithatilde.Thisisincludedtoimprovecom-_patibilityUUwithFTC.W*orksforuppGercasetoo.pe"|_disableUUligatureatthispGosition.pe"-_anexplicithyphensign,allowinghyphenationinthe_restUUoftheword.pe""_likebh"-,butproGducingnohyphensign(forwordsthat_shouldKbreakatsomesignsuchas\entrada/salida."pe\-_like7theold\-,=butallowinghyphenationintherest_ofUUtheword.pe"u_aUUuwithdieresisallowinghyphenation.pe"a_feminineUUordinalasin1ȍafess.pe"o_masculineUUordinalasin1ȍofess.pe"<_forUUF*renchleftdoublequotes(similarto<<).pe">_forUUF*renchrightdoublequotes(similarto>>).pe~n_aUUnwithtilde.qW*orksforuppGercasetoo.uqǍT*ableUU7:qTheextrade nitionsmadebyxspanish.ldf9Rtotheiroriginalde nitionsifnotfollowedbyoneofthecharactersindicatedinRthatUUtable.aThisAoptionincludessuppGortforworkingwithextended,x8-bitfonts,xifavqailable.ROldNversionsofthis lebasedthissuppGortontheexistanceofspecialmacroswithRnamesasinF*erguson'sML-TU>'ExX.9MThisisnolongerthecase.SuppGortisnowRffr J=w-:25LThe | ledescribw-:26LCatalanXusedtob'ExX2"-orNFSS2.IfT1RencoGdingқischosen,andprovidedthatadequatehyphenationpatterns^29 Kexist,itRisWpGossibletogetbetterhyphenationforSpanishthanbefore.xTheeasiestwayWtoRuseBthenewencoGdingwithL5ffA͉TU>'ExX2"*.toloadthepackqaget1encwith\usepackage.RThisUUmustbGedonebeforeloadingxbabel.aIf thecombinationofkeybGoardandTU>'ExXversionthattheuserhasisabletoRproGducetheaccentedcharactersintheT1enconding,~theusercouldseetheac-Rcentedcharactersintheeditor,\greatlyimprovingthereadabilityofthedoGcumentRsource.pAsRoftoGday*,SGthisisnotarecommendedmethodforproducingdocumentsRfordistribution,#GalthoughitispGossibletomechanicallytranslatethedocumentsoRthat thereceivercanmakeuseofit.NIfcareistakentode netheencoGdingneededRbyUUthedoGcument,theresultsareprettypGortable.aThis18option lewillautomaticallydetectiftheT1encoGdingisbeingusedandRbGehaveHappropriately*.mIfanyotherencodingisbeingused,KtheaccentmacroswillRbGeUUrede nedtoallowhyphenationontheaccentedwords.aThemacro\LdfInittakescareofpreventingthatthis leisloadedmorethanRonce,UUcheckingthecategorycoGdeofthe@sign,etc.K27.1\hcoAdei K27.2\\LdfInit{spanish}\captionsspanishaWhen[this leisreadasanoption,i.e.bythe\usepackagecommand,spanishRcouldz"bGean`unknown'languageinwhichcasewehavetomakeitknown./SoweRcheck&Jfortheexistenceof\l@spanishtoseewhetherwehavetodosomethingRhere.K27.3\\ifx\l@spanish\@undefinedK27.4f\@nopatterns{Spanish}K27.5f\adddialect\l@spanish0K27.6\\fiaThe nextstepconsistsofde ningcommandstoswitchto(andfrom)theSpan-RishUUlanguage. \captionsspanishRThemacro\captionsspanishde nesallstrings^30 ~usedinthefourstandarddoGc-RumentclassesUUprovidedwithL5ffA͉TU>'ExX.K27.7\\addto\captionsspanish{%K27.8f\def\prefacename{Prefacio}%K27.9f\def\refname{Referencias}%GË27.10f\def\abstractname{Resumen}%GË27.11f\def\bibname{Bibliograf\'{\i}a}%Rffffr J=w-:29LOnesourceforsucÎhpatternsisthearchiveatftp.eunet.esthatcanbw-:30LThe?accenÎtontheupp'ExX\accentprimitiveusingsomeparticularaccentthatthefontprovidesRor7mightcheckifacombinedaccentexistsinthefont.lThesetwocaseshappGenRwithrespGectivelyOT1andT1encodings.OF*orthisreasonwesavethede nitionofR\"Zandusethatinthede nitionofothermacros.+W*edolikewisefor\'and\~.RTheIpresentcoGdingofthisoption leisincorrectinthatitcanbreakwhentheRencoGdingZchanges.W*edonotuse\acuteor\tildeasthemacronamesbecauseRtheyUUarealreadyde nedas\mathaccent.GË27.56\\let\dieresis\" GË27.57\\let\texttilde\~GË27.58\\@ifpackagewith{babel}{activeacute}{\let\textacute\'}{}"y\@umlaut '3P\@acute '3P\@tildeRW*echecktheencoGdingandifnotusingT1,wemaketheaccentsexpandbut Renabling}hyphenationbGeyondtheaccent.'ExX.AnRunsolvedSproblemhereisthattheencoGdingcanchangeatanytime.Thede nitionsRbGelow0aremadeinsuchawaythatachangebGetweentwo256-charencoGdingsRaresuppGorted,fbutchangesbetweena128-charanda256-charencoGdingarenotRpropGerlysupported./cW*echeckifT1isinuse./cIfnot,VwewillgiveawarningandRproGceedrede ningtheaccentmacrossothatTU>'ExXatleast ndsthebreaksthatRareUUnottoGoclosetotheaccent.qThewarningwillonlybGeprintedtothelog le.GË27.59\\ifx\DeclareFontShape\@undefined GË27.60f\wlog{Warning:YouareusinganoldLaTeX}GË27.61f\wlog{Somewordbreakswillnotbefound.}GË27.62f\def\@umlaut#1{\allowhyphens\dieresis{#1}\allowhyphens}GË27.63f\def\@tilde#1{\allowhyphens\texttilde{#1}\allowhyphens}GË27.64f\@ifpackagewith{babel}{activeacute}{%GË27.65o\def\@acute#1{\allowhyphens\textacute{#1}\allowhyphens}}{}GË27.66\\elseGË27.67f\edef\next{T1}116usy?GË27.68f\ifx\f@encoding\next GË27.69o\let\@umlaut\dieresisGË27.70o\let\@tilde\texttildeGË27.71o\@ifpackagewith{babel}{activeacute}{%GË27.72y2\let\@acute\textacute}{}GË27.73f\elseGË27.74o\wlog{Warning:Youareusingencoding\f@encoding\spaceGË27.75y2insteadofT1.}GË27.76o\wlog{Somewordbreakswillnotbefound.}GË27.77o\def\@umlaut#1{\allowhyphens\dieresis{#1}\allowhyphens}GË27.78o\def\@tilde#1{\allowhyphens\texttilde{#1}\allowhyphens}GË27.79o\@ifpackagewith{babel}{activeacute}{%GË27.80y2\def\@acute#1{\allowhyphens\textacute{#1}\allowhyphens}}{}GË27.81f\fiGË27.82\\fiaNowUUwecande neourshorthands:qtheumlauts,GË27.83\\declare@shorthand{spanish}{"u}{\@umlautu}GË27.84\\declare@shorthand{spanish}{"U}{\@umlautU}RfrenchUUquotes,GË27.85\\declare@shorthand{spanish}{"<}{%GË27.86f\textormath{\guillemotleft{}}{\mbox{\guillemotleft}}}GË27.87\\declare@shorthand{spanish}{">}{%GË27.88f\textormath{\guillemotright{}}{\mbox{\guillemotright}}}Rordinals^32x,GË27.89\\declare@shorthand{spanish}{"o}{%GË27.90f\leavevmode\raise1ex\hbox{\underbar{\scriptsizeo}}}GË27.91\\declare@shorthand{spanish}{"a}{%GË27.92f\leavevmode\raise1ex\hbox{\underbar{\scriptsizea}}}RacuteUUaccents,GË27.93\\@ifpackagewith{babel}{activeacute}{%GË27.94f\declare@shorthand{spanish}{'a}{\textormath{\@acutea}{^{\prime}a}}GË27.95f\declare@shorthand{spanish}{'e}{\textormath{\@acutee}{^{\prime}e}}GË27.96f\declare@shorthand{spanish}{'i}{\textormath{\@acute\i{}}{^{\prime}i}}GË27.97f\declare@shorthand{spanish}{'o}{\textormath{\@acuteo}{^{\prime}o}}GË27.98f\declare@shorthand{spanish}{'u}{\textormath{\@acuteu}{^{\prime}u}}GË27.99f\declare@shorthand{spanish}{'A}{\textormath{\@acuteA}{^{\prime}A}}C27.100f\declare@shorthand{spanish}{'E}{\textormath{\@acuteE}{^{\prime}E}}C27.101f\declare@shorthand{spanish}{'I}{\textormath{\@acuteI}{^{\prime}I}}C27.102f\declare@shorthand{spanish}{'O}{\textormath{\@acuteO}{^{\prime}O}}C27.103f\declare@shorthand{spanish}{'U}{\textormath{\@acuteU}{^{\prime}U}}RtheUUacuteaccent,C27.104f\declare@shorthand{spanish}{''}{%C27.105o\textormath{\textquotedblright}{\sp\bgroup\prim@s'}}Rffffr J=w-:32LThePcoZF*renchUUrightdoublequotes(similarto>>).~i"-Zexplicit:Thyphensign,rallowinghyphenationintherestZofUUtheword.~i"|ZdisableUUligatureatthispGosition.|^TT*ableUU8:qExtrade nitionsmadeby lecatalan.ldf(activqatedbydefault)aThesewactiveaccentscharactersbGehaveaccordingtotheiroriginalde nitionsRifUUnotfollowedUUbyoneofthecharactersindicatedinthattable.aThemacro\LdfInittakescareofpreventingthatthis leisloadedmorethanRonce,UUcheckingthecategorycoGdeofthe@sign,etc.K28.1\hcoAdei K28.2\\LdfInit{catalan}\captionscatalanaWhen[this leisreadasanoption,i.e.bythe\usepackagecommand,catalanRcouldz"bGean`unknown'languageinwhichcasewehavetomakeitknown./SoweRX-ffr J=w-:33LThe ledescribw-:34LPlease notethatiftheacuteaccenÎtcharacterisactive,itisnecessarytotakesp'ExX. LK28.7\\addto\captionscatalan{%K28.8f\def\prefacename{Pr\`oleg}%K28.9f\def\refname{Refer\`encies}%GË28.10f\def\abstractname{Resum}%GË28.11f\def\bibname{Bibliografia}%GË28.12f\def\chaptername{Cap\'{\i}tol}%GË28.13f\def\appendixname{Ap\`endix}%GË28.14f\def\contentsname{\'Index}%GË28.15f\def\listfigurename{\'Indexdefigures}%GË28.16f\def\listtablename{\'Indexdetaules}%GË28.17f\def\indexname{\'Indexalfab\`etic}%GË28.18f\def\figurename{Figura}%GË28.19f\def\tablename{Taula}%GË28.20f\def\partname{Part}%GË28.21f\def\enclname{Adjunt}%GË28.22f\def\ccname{C\`opiesa}%GË28.23f\def\headtoname{A}%GË28.24f\def\pagename{P\`agina}%GË28.25f\def\seename{Vegeu}%GË28.26f\def\alsoname{Vegeutamb\'e}%GË28.27f\def\proofname{Demostraci\'o}%GË28.28\}7卍b\datecatalanRThemacro\datecatalanrede nesthecommand\todaytoproGduceCatalanRdates.qMonthsUUarewritteninlowercase^35x.RKffr J=w-:35LThisseemstob'ExXwill ndmorebreakpointsinwordsthatcontainthisRcharacterUUinitsr^oleasapGostrophe.GË28.35\\addto\extrascatalan{% GË28.36f\lccode`'=`'}GË28.37\\addto\noextrascatalan{%GË28.38f\lccode`'=0}aF*orCatalan,somecharactersaremadeactiveorarerede ned.Inparticular, Rthew"characterreceivesanewmeaning;thiscanalsohappGenforthe'characterRand"the`characterwhentheoptionsactivegraveand/oractiveacutearespGeci ed.GË28.39\\addto\extrascatalan{\languageshorthands{catalan}} GË28.40\\initiate@active@char{"}GË28.41\\addto\extrascatalan{\bbl@activate{"}}GË28.42\\@ifpackagewith{babel}{activegrave}{%GË28.43f\initiate@active@char{`}}{}GË28.44\\@ifpackagewith{babel}{activegrave}{%GË28.45f\addto\extrascatalan{\bbl@activate{`}}}{}GË28.46\\@ifpackagewith{babel}{activeacute}{%GË28.47f\initiate@active@char{'}}{}GË28.48\\@ifpackagewith{babel}{activeacute}{%GË28.49f\addto\extrascatalan{\bbl@activate{'}}}{}GË28.50\%\addto\noextrascatalan{%GË28.51\% s,\bbl@deactivate{"}GË28.52\% s,\bbl@deactivate{`}\bbl@deactivate{'}}aApart fromtheactivecharacterssomeothermacrosgetanewde nition. RThereforemwestorethecurrentonestobGeabletorestorethemlater.WhentheirRcurrentUUmeaningsaresaved,wecansafelyrede nethem.aW*eLprovidenewde nitionsfortheaccentmacroswhenoneorbGoithoftheRoptionsUUactivegraveoractiveacutewerespGeci ed.GË28.53\\addto\extrascatalan{% GË28.54f\babel@save\"%GË28.55f\def\"{\protect\@umlaut}}%GË28.56\\@ifpackagewith{babel}{activegrave}{%GË28.57f\babel@save\`%GË28.58f\addto\extrascatalan{\def\`{\protect\@grave}}Rffffr @de~redacciqoiestil,XEd.Eumo,Vic,1993121z7y?GË28.59f}{} GË28.60\\@ifpackagewith{babel}{activeacute}{%GË28.61f\babel@save\'%GË28.62f\addto\extrascatalan{\def\'{\protect\@acute}}GË28.63f}{}aAll!thecoGdeabove!isnecessarybecauseweneedafewextraactivecharacters. RTheseUUcharactersarethenusedasindicatedintables8and9.$\dieresis\textacute\textgraveRTheoriginalde nitionof\"isstoredas\dieresis,bGecausethede nitionofR\"mightnotbGethedefaultplainTU>'ExXone.[IftheuserusesCPostScriptfontsRwiththeAdobGefontencodingthe"characterisnotinthesamepositionasinRKnuth's}pfontencoGding.Inthiscase\"willnotbede nedas\accent"7F?1,vbutRas@\accent'310?#1.jSomethingsimilarhappGenswhenusingfontsthatfollowtheRCorkقencoGding.NF*orthisreasonwesavethede nitionof\"andusethatintheRde nitionUUofothermacros.qW*edolikewisefor\`,and\'.GË28.64\\let\dieresis\" GË28.65\\@ifpackagewith{babel}{activegrave}{\let\textgrave\`}{}GË28.66\\@ifpackagewith{babel}{activeacute}{\let\textacute\'}{}"y\@umlaut'3P\@acute'3P\@graveRW*echecktheencoGdingandifnotusingT1,wemaketheaccentsexpandbutRenabling}hyphenationbGeyondtheaccent.'ExX.AnRunsolvedSproblemhereisthattheencoGdingcanchangeatanytime.Thede nitionsRbGelow0aremadeinsuchawaythatachangebGetweentwo256-charencoGdingsRaresuppGorted,fbutchangesbetweena128-charanda256-charencoGdingarenotRpropGerlysupported./cW*echeckifT1isinuse./cIfnot,VwewillgiveawarningandRproGceedrede ningtheaccentmacrossothatTU>'ExXatleast ndsthebreaksthatRareUUnottoGoclosetotheaccent.qThewarningwillonlybGeprintedtothelog le.GË28.67\\ifx\DeclareFontShape\@undefinedGË28.68f\wlog{Warning:YouareusinganoldLaTeX}GË28.69f\wlog{Somewordbreakswillnotbefound.}GË28.70f\def\@umlaut#1{\allowhyphens\dieresis{#1}\allowhyphens}GË28.71f\@ifpackagewith{babel}{activeacute}{%GË28.72o\def\@acute#1{\allowhyphens\textacute{#1}\allowhyphens}}{}GË28.73f\@ifpackagewith{babel}{activegrave}{%GË28.74o\def\@grave#1{\allowhyphens\textgrave{#1}\allowhyphens}}{}GË28.75\\elseGË28.76f\edef\next{T1}GË28.77f\ifx\f@encoding\nextGË28.78o\let\@umlaut\dieresisGË28.79o\@ifpackagewith{babel}{activeacute}{%GË28.80y2\let\@acute\textacute}{}GË28.81o\@ifpackagewith{babel}{activegrave}{%GË28.82y2\let\@grave\textgrave}{}GË28.83f\elseGË28.84o\wlog{Warning:Youareusingencoding\f@encoding\spaceGË28.85y2insteadofT1.}122{By?GË28.86o\wlog{Somewordbreakswillnotbefound.} GË28.87o\def\@umlaut#1{\allowhyphens\dieresis{#1}\allowhyphens}GË28.88o\@ifpackagewith{babel}{activeacute}{%GË28.89y2\def\@acute#1{\allowhyphens\textacute{#1}\allowhyphens}}{}GË28.90o\@ifpackagewith{babel}{activegrave}{%GË28.91y2\def\@grave#1{\allowhyphens\textgrave{#1}\allowhyphens}}{}GË28.92f\fiGË28.93\\fičRIftheusersetuphasextendedfonts,=theF*ergusonmacrosarerequiredtobGe Rde ned.TW*eQcheckfortheirexistanceand,ifde ned,expandtowhatevertheyareRde ned+to.cF*orinstance,4\'awouldcheckfortheexistanceofa\@ac@amacro.cItRisgassumedtoexpandtothecoGdeoftheaccentedletter.Ifitisnotde ned,weRassumedthatnoextendedcoGdesareavqailableandexpandtotheoriginalde nitionRbutnenablinghyphenationbGeyondtheaccent.PThisisasbGestaswecando.PItisRbGetter`ifyouhaveextendedfontsorML-TU>'ExXbGecausethehyphenationalgorithmRcan:workonthewholeword.vThefollowingmacrosaredirectlyderivedfromRML-TU>'ExX.^36&aNow0wecande neourshorthands:_|thediaeresisand\elageminada"suppGort, bGË28.94\\declare@shorthand{catalan}{"i}{\textormath{\@umlaut\i}{\ddot\imath}} GË28.95\\declare@shorthand{catalan}{"l}{\lgem{}}GË28.96\\declare@shorthand{catalan}{"u}{\textormath{\@umlautu}{\ddotu}}GË28.97\\declare@shorthand{catalan}{"I}{\textormath{\@umlautI}{\ddotI}}GË28.98\\declare@shorthand{catalan}{"L}{\Lgem{}}GË28.99\\declare@shorthand{catalan}{"U}{\textormath{\@umlautU}{\ddotU}}bRcedille,C28.100\\declare@shorthand{catalan}{"c}{\textormath{\cc}{^{\prime}c}}C28.101\\declare@shorthand{catalan}{"C}{\textormath{\cC}{^{\prime}C}}bR`french'UUquotecharacters,C28.102\\declare@shorthand{catalan}{"<}{%C28.103f\textormath{\guillemotleft{}}{\mbox{\guillemotleft}}}C28.104\\declare@shorthand{catalan}{">}{%C28.105f\textormath{\guillemotright{}}{\mbox{\guillemotright}}}bRgraveUUaccents,C28.106\\@ifpackagewith{babel}{activegrave}{%C28.107f\declare@shorthand{catalan}{`a}{\textormath{\@gravea}{\gravea}}C28.108f\declare@shorthand{catalan}{`e}{\textormath{\@gravee}{\gravee}}C28.109f\declare@shorthand{catalan}{`o}{\textormath{\@graveo}{\graveo}}C28.110f\declare@shorthand{catalan}{`A}{\textormath{\@graveA}{\graveA}}C28.111f\declare@shorthand{catalan}{`E}{\textormath{\@graveE}{\graveE}}RM*ffr J=w-:36LAproblemLisp>\-RAll4$thatisleftnowistherede nitionof\-.5Thenewversionof\-shouldin- Rdicate^anextrahyphenationpGosition,`whileallowingotherhyphenationpGositionsRto[bGegeneratedautomatically*.tThestandardbehaviourofTU>'ExXinthisrespectRisrunfortunateforCatalanbutnotasmuchrasforDutchorGerman,wherelongRcompGoundHwordsarequitenormalandalloneneedsisameanstoindicateanRextra'ExXcangeneratefromtheRhyphenationCSpatterns.;However,~theaveragelengthofwordsinCatalanmakesRthisUUdesirableandsoitiskepthere.2yC28.135\\addto\extrascatalan{% C28.136f\babel@save{\-}%C28.137f\def\-{\allowhyphens\discretionary{-}{}{}\allowhyphens}}0|\lgem 0|\LgemRHerewede neamacrofortypingthecatalan\elageminada"(geminatedl). RThemacros\lgemand\LgemhavebGeenchosenforitslowercaseanduppGercaseRrepresentation,UUrespGectively^37x.aThemcoGdeusedintheactualmacrousedisacombinationoftheoneproposedbyRF*eruglio]andFuster^38 CandthepropGosal^39fromV*alientepresentedattheTU>'ExXUsersRffr J=w-:37LThe macronames\lland\LL wÎerenottakenbw-:38LG.XVJalienÎteandR.Fuster,TÎyp'ExX.K29.6\\addto\captionsgalician{%K29.7f\def\prefacename{Prefacio}%Rffffr J=w-:41LThe | ledescrib'ExXcompatibilitypackqageonpurpGose.RUsingwthismethoGd,@andprovidedthatadequatehyphenationpatternsexist,@itisRpGossibletogetbetterhyphenationforGalicianthanbefore.IftheuserhasaRterminalabletoproGducethesecodesdirectly*,itispossibletodoso.bIftheneedRarisesEtosendthedoGcumenttosomeonewhodoesnothaveEsuchsuppGort,itisRpGossibletomechanicallytranslatethedocumentsothatthereceivercanmakeuseRofUUit.aT*obGeabletode nethefunctionofthenewaccents,Ҥwe rstde neacoupleRofUU`suppGort'macros.$\dieresis\textacute\texttildeRTheoriginalde nitionof\"isstoredas\dieresis,bGecausethede nitionofR\"mightnotbGethedefaultplainTU>'ExXone.[IftheuserusesCPostScriptfontsRwiththeAdobGefontencodingthe"characterisnotinthesamepositionasinRKnuth'sfontencoGding.]Inthiscase\"willnotbede nedas\accent"7F?#1,% butRas@\accent'310?#1.jSomethingsimilarhappGenswhenusingfontsthatfollowtheRCorkقencoGding.NF*orthisreasonwesavethede nitionof\"andusethatintheRde nitionUUofothermacros.qW*edolikewisefor\'and\~. GË29.52\\let\dieresis\" GË29.53\\let\texttilde\~GË29.54\\@ifpackagewith{babel}{activeacute}{\let\textacute\'}{}"y\@umlaut '3P\@acute '3P\@tildeRIftheusersetuphasextendedfonts,=theF*ergusonmacrosarerequiredtobGe Rde ned.TW*eQcheckfortheirexistanceand,ifde ned,expandtowhatevertheyareRde ned+to.cF*orinstance,4\'awouldcheckfortheexistanceofa\@ac@amacro.cItRisgassumedtoexpandtothecoGdeoftheaccentedletter.Ifitisnotde ned,weRassumedthatnoextendedcoGdesareavqailableandexpandtotheoriginalde nitionRbutnenablinghyphenationbGeyondtheaccent.PThisisasbGestaswecando.PItisRbGetter`ifyouhaveextendedfontsorML-TU>'ExXbGecausethehyphenationalgorithmRcan:workonthewholeword.vThefollowingmacrosaredirectlyderivedfromRML-TU>'ExX.^42R Oމffr J=w-:42LAproblemLisp>\-RAll4$thatisleftnowistherede nitionof\-.5Thenewversionof\-shouldin- Rdicate^anextrahyphenationpGosition,`whileallowingotherhyphenationpGositionsRtoCbGegeneratedautomatically*.%ThestandardbehaviourofTU>'ExXinthisrespectisRffr @noctextendedpatternsexistatsomesiteforFJrencÎhandthatfrench.stywouldadoptthisscheme tow-:43LThePco'ExXcangeneratefromtheRhyphenation patterns.However,QxtheaveragelengthofwordsinGalicianmakesRthisUUdesirableandsoitiskepthere.GË29.85\\addto\extrasgalician{% GË29.86f\babel@save{\-}%GË29.87f\def\-{\allowhyphens\discretionary{-}{}{}\allowhyphens}}aThemacro\ldf@finishtakescareofloGokingforacon guration le,setting RthefmainlanguagetobGeswitchedonat\begin{document}andresettingtheRcategoryUUcoGdeofr@toitsoriginalvqalue.GË29.88\\ldf@finish{galician} GË29.89\h=coAdei131y?R30rfdTheffRomanianlanguageRThe leromanian.dtx^44 ڲde nesallthelanguage-spGeci cmacrosfortheRomanian Rlanguage.aF*orUUthislanguagecurrentlynospGecialde nitionsareneededoravqailable.aThemacro\LdfInittakescareofpreventingthatthis leisloadedmorethanRonce,UUcheckingthecategorycoGdeofthe@sign,etc.K30.1\hcoAdei K30.2\\LdfInit{romanian}\captionsromanianaWhenTVthis leisreadasanoption,i.e. nbythe\usepackagecommand,RromanianʲwillbGean`unknown'languageinwhichcasewehavetomakeitknown.RSocwecheckfortheexistenceof\l@romaniantoseewhetherwehavetodosome-RthingUUhere.K30.3\\ifx\l@romanian\@undefinedK30.4o\@nopatterns{Romanian}K30.5o\adddialect\l@romanian0\fiaThelLnextstepconsistsofde ningcommandstoswitchto(andfrom)theRo-RmanianUUlanguage.t\captionsromanianRThePmacro\captionsromaniande nesallstringsusedinthefourstandarddoGc-RumentclassesUUprovidedwithL5ffA͉TU>'ExX.K30.6\\addto\captionsromanian{%K30.7f\def\prefacename{Prefa\c{t}\u{a}}%K30.8f\def\refname{Bibliografie}%K30.9f\def\abstractname{Rezumat}%GË30.10f\def\bibname{Bibliografie}%GË30.11f\def\chaptername{Capitolul}%GË30.12f\def\appendixname{Anexa}%GË30.13f\def\contentsname{Cuprins}%GË30.14f\def\listfigurename{List\u{a}defiguri}%GË30.15f\def\listtablename{List\u{a}detabele}%GË30.16f\def\indexname{Glosar}%GË30.17f\def\figurename{Figura}%X%sauPlan\c{s}aGË30.18f\def\tablename{Tabela}%GË30.19f\def\partname{Partea}%GË30.20f\def\enclname{Anex\u{a}}%,%sauAnexeGË30.21f\def\ccname{Copie}%GË30.22f\def\headtoname{Pentru}%GË30.23f\def\pagename{Pagina}%GË30.24f\def\seename{Vezi}%GË30.25f\def\alsoname{Vezideasemenea}%GË30.26f\def\proofname{Demonstra\c{t}ie}%GË30.27f}%R&effr J=w-:44LThe ledescrib_forUUF*renchrightdoublequotes(similarto>>).EqǍ#T*ableUU11:qTheextrade nitionsmadebyxdanish.ldf9aThemacro\LdfInittakescareofpreventingthatthis leisloadedmorethanRonce,UUcheckingthecategorycoGdeofthe@sign,etc.K31.1\hcoAdei K31.2\\LdfInit{danish}\captionsdanishaWhenHthis leisreadasanoption,i.e.Dbythe\usepackagecommand,danishRwillBbGean`unknown'languageinwhichcasewehavetomakeitknown.?SoweRcheckfortheexistenceof\l@danishtoseewhetherwehavetodosomethinghere.K31.3\\ifx\l@danish\@undefinedK31.4o\@nopatterns{Danish}K31.5o\adddialect\l@danish0\fiaTheIInextstepconsistsofde ningcommandstoswitchto(andfrom)theDanishRlanguage.f\captionsdanishRThemacro\captionsdanishde nesallstringsusedinthefourstandarddoGcu-RmentclassesUUprovidedwithL5ffA͉TU>'ExX.K31.6\\addto\captionsdanish{%K31.7f\def\prefacename{Forord}%K31.8f\def\refname{Litteratur}%K31.9f\def\abstractname{Resum\'e}%GË31.10f\def\bibname{Litteratur}%GË31.11f\def\chaptername{Kapitel}%GË31.12f\def\appendixname{Bilag}%GË31.13f\def\contentsname{Indhold}%GË31.14f\def\listfigurename{Figurer}%GË31.15f\def\listtablename{Tabeller}%R&effr J=w-:45LThe ledescrib}{%GË31.46f\textormath{\guillemotright{}}{\mbox{\guillemotright}}}Rthenhwwede netobGeabletospecifyhyphenationbreakpointsthatbehavehwalittleRdi erentUUfrom\-.135y?GË31.47\\declare@shorthand{danish}{"-}{\allowhyphens-\allowhyphens} GË31.48\\declare@shorthand{danish}{""}{\hskip\z@skip}GË31.49\\declare@shorthand{danish}{"~}{\textormath{\leavevmode\hbox{-}}{-}}GË31.50\\declare@shorthand{danish}{"=}{\penalty\@M-\hskip\z@skip}RAndUUwewanttohaveashorthandfordisablingaligature.GË31.51\\declare@shorthand{danish}{"|}{%GË31.52f\textormath{\discretionary{-}{}{\kern.03em}}{}}aThemacro\ldf@finishtakescareofloGokingforacon guration le,setting RthefmainlanguagetobGeswitchedonat\begin{document}andresettingtheRcategoryUUcoGdeofr@toitsoriginalvqalue.GË31.53\\ldf@finish{danish} GË31.54\h=coAdei136!y?R32rfdTheffNorwegianlanguageRThe lenorsk.dtx^46 ~de nesallthelanguagede nitionmacrosfortheNorwegian RlanguageUUaswellasforanewspGellingvqariant`nynorsk'forthislanguage.aF*orUUthislanguagecurrentlynospGecialde nitionsareneededoravqailable.aThemacro\LdfInittakescareofpreventingthatthis leisloadedmorethanRonce,UUcheckingthecategorycoGdeofthe@sign,etc.K32.1\hcoAdei K32.2\\LdfInit\CurrentOption{captions\CurrentOption}aWhenmacro\captionsnorskde nesallstringsusedinthefourstandarddoGcu-RmentclassesUUprovidedwithL5ffA͉TU>'ExX.K32.9f\def\captionsnorsk{% GË32.10o\def\prefacename{Forord}%GË32.11o\def\refname{Referanser}%GË32.12o\def\abstractname{Sammendrag}%GË32.13o\def\bibname{Bibliografi}%YorLitteraturoversiktGË32.14\%_orLitteraturorReferanserGË32.15o\def\chaptername{Kapittel}%GË32.16o\def\appendixname{Tillegg}%XorAppendiksGË32.17o\def\contentsname{Innhold}%GË32.18o\def\listfigurename{Figurer}% s,orFigurlisteGË32.19o\def\listtablename{Tabeller}% s,orTabellisteGË32.20o\def\indexname{Register}%GË32.21o\def\figurename{Figur}%GË32.22o\def\tablename{Tabell}%R&effr J=w-:46LThe ledescrib'ExX,_butusingadi erentspGellingthaninthecom-RmandUU\captionsnorsk.GË32.34f\def\captionsnynorsk{% GË32.35o\def\prefacename{Forord}%GË32.36o\def\refname{Referansar}%GË32.37o\def\abstractname{Samandrag}%GË32.38o\def\bibname{Litteratur}%orLitteraturoversynGË32.39\%%XorReferansarGË32.40o\def\chaptername{Kapittel}%GË32.41o\def\appendixname{Tillegg}%,orAppendiksGË32.42o\def\contentsname{Innhald}%GË32.43o\def\listfigurename{Figurar}%orFigurlisteGË32.44o\def\listtablename{Tabellar}%orTabellisteGË32.45o\def\indexname{Register}%GË32.46o\def\figurename{Figur}%GË32.47o\def\tablename{Tabell}%GË32.48o\def\partname{Del}%GË32.49o\def\enclname{Vedlegg}%GË32.50o\def\ccname{Kopisendt}%GË32.51o\def\headtoname{Til}%inletterGË32.52o\def\pagename{Side}%GË32.53o\def\seename{Sj\aa{}}%GË32.54o\def\alsoname{Sj\aa{}ogs\aa{}}%GË32.55o\def\proofname{Bevis}%GË32.56o}GË32.57\\fi\datenorskRTheКmacro\datenorskrede nesthecommand\todaytoproGduceNorwegian Rdates.GË32.58\\@namedef{date\CurrentOption}{%GË32.59f\def\today{\number\day.~\ifcase\month\orGË32.60ojanuar\orfebruar\ormars\orapril\ormai\orjuni\orGË32.61ojuli\oraugust\orseptember\oroktober\ornovember\ordesemberGË32.62o\fiGË32.63o\space\number\year}}138`y?b\extrasnorsk  6\extrasnynorskRThemacro\extrasnorskwillpGerformalltheextrade nitionsneededforthe RNorwegian)Klanguage.cThemacro\noextrasnorskisusedtocanceltheactionsofR\extrasnorsk.aNorwegianUUtypGesettingrequires\frencspacingtobeine ect.GË32.64\\@namedef{extras\CurrentOption}{\bbl@frenchspacing} GË32.65\\@namedef{noextras\CurrentOption}{\bbl@nonfrenchspacing}aThemacro\ldf@finishtakescareofloGokingforacon guration le,settingRthefmainlanguagetobGeswitchedonat\begin{document}andresettingtheRcategoryUUcoGdeofr@toitsoriginalvqalue.GË32.66\\ldf@finish\CurrentOption GË32.67\h=coAdei139.y?R33rfdTheffSwedishlanguageRThe a leswedish.dtx^47 Gde nesallthelanguage-spGeci cmacrosfortheSwedish Rlanguage.aF*orthislanguagethecharacter"ismadeactive.1Intable12anoverviewisRgivenofitspurpGose. Theverticalplacementofthe"umlaut"insomeletterscanRbGeUUcontrolledthisway*.%UUdf"a]\"a,UUalsoimplementedforA,oandO.f"w]givesUa,UUalsoworksforuppGercaseletters.f"ff]forfftobGehyphenatedasff-f,thisisalsoimple-]mentedUUforb,d,f,g,l,m,n,p,r,s,andt.f"|]disableUUligatureatthispGosition.f"-]anexplicithyphensign,allowinghyphenationinthe]restUUoftheword.f""]like|"-,butproGducingnohyphensign(forcompGound]wordsUUwithhyphen,e.g.x-""y).f"~]forUUacompGoundwordmarkwithoutabreakpoint.f"=]foruacompGoundwordmarkwithabreakpoint,allow-]ingUUhyphenationinthecompGosingwords.WqǍT*ableUU12:qTheextrade nitionsmadebyxswedish.sty썑aThemacro\LdfInittakescareofpreventingthatthis leisloadedmorethanRonce,UUcheckingthecategorycoGdeofthe@sign,etc. ٍK33.1\hcoAdei K33.2\\LdfInit{swedish}\captionsswedishٍaWhen[this leisreadasanoption,i.e.bythe\usepackagecommand,swedishRwillBbGean`unknown'languageinwhichcasewehavetomakeitknown.?SoweRcheck&Jfortheexistenceof\l@swedishtoseewhetherwehavetodosomethingRhere.dzK33.3\\ifx\l@swedish\@undefinedK33.4o\@nopatterns{Swedish}K33.5o\adddialect\l@swedish0\fidzaThe_nextstepconsistsofde ningcommandstoswitchtotheSwedishlanguage.RThereasonforthisisthatausermightwanttoswitchbackandforthbGetweenRlanguages. \captionsswedishRTheImacro\captionsswedishde nesallstringsusedinthefourstandarddoGcu-RmentclassesUUprovidedwithL5ffA͉TU>'ExX. ٍK33.6\\addto\captionsswedish{%K33.7f\def\prefacename{F\"orord}%R.ffr J=w-:47LThen3 ledescrib"Swedishthe"characterismadeactive.,.Thisisdoneonce,xUlateronitsRde nitionUUmayvqary*.GË33.38\\initiate@active@char{"} GË33.39\\addto\extrasswedish{\languageshorthands{swedish}}141iy?GË33.40\\addto\extrasswedish{\bbl@activate{"}} GË33.41\%\addto\noextrasswedish{\bbl@deactivate{"}}RThe\umlaut"accentmacro\"ischangedtolowertheumlautdots.PTherede - RnitionUUisdonewiththehelpof\umlautlow. GË33.42\\addto\extrasswedish{\babel@save\"\umlautlow}GË33.43\\addto\noextrasswedish{\umlauthigh}aThe*coGdeabove*isnecessarybecauseweneedanextraactivecharacter.GThisRcharacterUUisthenusedasindicatedintable12.aT*oasbGeabletode nethefunctionof",zwe rstde neacoupleof`support'Rmacros.:\dqRW*eTKsavetheoriginaldoublequotecharacterin\dqtokeepitavqailable,TthemathRaccentUU\"cannowbGetypGedas". GË33.44\\begingroup\catcode`\"12 GË33.45\\def\x{\endgroupGË33.46f\def\@SS{\mathchar"7019}GË33.47f\def\dq{"}}GË33.48\\xaNowUUwecande nethedoublequotemacros:qtheumlautsandUa,GË33.49\\declare@shorthand{swedish}{"w}{\textormath{{\aa}}{\ddotw}}GË33.50\\declare@shorthand{swedish}{"a}{\textormath{\"{a}}{\ddota}}GË33.51\\declare@shorthand{swedish}{"o}{\textormath{\"{o}}{\ddoto}}GË33.52\\declare@shorthand{swedish}{"W}{\textormath{{\AA}}{\ddotW}}GË33.53\\declare@shorthand{swedish}{"A}{\textormath{\"{A}}{\ddotA}}GË33.54\\declare@shorthand{swedish}{"O}{\textormath{\"{O}}{\ddotO}}RdiscretionaryUUcommandsGË33.55\\declare@shorthand{swedish}{"b}{\textormath{\bbl@discb{bb}}{b}}GË33.56\\declare@shorthand{swedish}{"B}{\textormath{\bbl@discB{BB}}{B}}GË33.57\\declare@shorthand{swedish}{"d}{\textormath{\bbl@discd{dd}}{d}}GË33.58\\declare@shorthand{swedish}{"D}{\textormath{\bbl@discD{DD}}{D}}GË33.59\\declare@shorthand{swedish}{"f}{\textormath{\bbl@discf{ff}}{f}}GË33.60\\declare@shorthand{swedish}{"F}{\textormath{\bbl@discF{FF}}{F}}GË33.61\\declare@shorthand{swedish}{"g}{\textormath{\bbl@discg{gg}}{g}}GË33.62\\declare@shorthand{swedish}{"G}{\textormath{\bbl@discG{GG}}{G}}GË33.63\\declare@shorthand{swedish}{"l}{\textormath{\bbl@discl{ll}}{l}}GË33.64\\declare@shorthand{swedish}{"L}{\textormath{\bbl@discL{LL}}{L}}GË33.65\\declare@shorthand{swedish}{"m}{\textormath{\bbl@discm{mm}}{m}}GË33.66\\declare@shorthand{swedish}{"M}{\textormath{\bbl@discM{MM}}{M}}GË33.67\\declare@shorthand{swedish}{"n}{\textormath{\bbl@discn{nn}}{n}}GË33.68\\declare@shorthand{swedish}{"N}{\textormath{\bbl@discN{NN}}{N}}GË33.69\\declare@shorthand{swedish}{"p}{\textormath{\bbl@discp{pp}}{p}}GË33.70\\declare@shorthand{swedish}{"P}{\textormath{\bbl@discP{PP}}{P}}GË33.71\\declare@shorthand{swedish}{"r}{\textormath{\bbl@discr{rr}}{r}}GË33.72\\declare@shorthand{swedish}{"R}{\textormath{\bbl@discR{RR}}{R}}GË33.73\\declare@shorthand{swedish}{"s}{\textormath{\bbl@discs{ss}}{s}}GË33.74\\declare@shorthand{swedish}{"S}{\textormath{\bbl@discS{SS}}{S}}142Hy?GË33.75\\declare@shorthand{swedish}{"t}{\textormath{\bbl@disct{tt}}{t}} GË33.76\\declare@shorthand{swedish}{"T}{\textormath{\bbl@discT{TT}}{T}}RandUUsomeadditionalcommands:GË33.77\\declare@shorthand{swedish}{"-}{\penalty\@M\-\allowhyphens}GË33.78\\declare@shorthand{swedish}{"|}{%GË33.79f\textormath{\penalty\@M\discretionary{-}{}{\kern.03em}%GË33.80\allowhyphens}{}}GË33.81\\declare@shorthand{swedish}{""}{\hskip\z@skip}GË33.82\\declare@shorthand{swedish}{"~}{\textormath{\leavevmode\hbox{-}}{-}}GË33.83\\declare@shorthand{swedish}{"=}{\penalty\@M-\hskip\z@skip}aThemacro\ldf@finishtakescareofloGokingforacon guration le,setting RthefmainlanguagetobGeswitchedonat\begin{document}andresettingtheRcategoryUUcoGdeofr@toitsoriginalvqalue.GË33.84\\ldf@finish{swedish} GË33.85\h=coAdei143y?R34rfdTheffFinnishlanguageRTheJW lefinnish.dtx^48 =de nesallthelanguagede nitionmacrosfortheFinnish Rlanguage.aF*orthislanguagethecharacter"ismadeactive.1Intable13anoverviewisRgivenUUofitspurpGose.썟rdpe"|_disableUUligatureatthispGosition.pe"-_anexplicithyphensign,allowinghyphenationinthe_restUUoftheword.pe"=_an_explicithyphensignforexpressionssuchas_\pakqastekaapitUUja-arkut".pe""_likebh"-,butproGducingnohyphensign(forwordsthat_shouldKbreakatsomesignsuchas\entrada/salida."pe"`_loweredUUdoubleleftquotes(loGokslike,,)pe"'_normalUUdoublerightquotespe"<_forUUF*renchleftdoublequotes(similarto<<).pe">_forUUF*renchrightdoublequotes(similarto>>).pe\-_like7theold\-,=butallowinghyphenationintherest_ofUUtheword.]qǍT*ableUU13:qTheextrade nitionsmadebyxfinnish.ldfЍaThemacro\LdfInittakescareofpreventingthatthis leisloadedmorethanRonce,UUcheckingthecategorycoGdeofthe@sign,etc. KK34.1\hcoAdei K34.2\\LdfInit{finnish}\captionsfinnishKaWhen[this leisreadasanoption,i.e.bythe\usepackagecommand,finnishRwillBbGean`unknown'languageinwhichcasewehavetomakeitknown.?SoweRcheck&Jfortheexistenceof\l@finnishtoseewhetherwehavetodosomethingRhere.ؗK34.3\\ifx\l@finnish\@undefinedK34.4o\@nopatterns{Finnish}K34.5o\adddialect\l@finnish0\fiؗaThennextstepconsistsofde ningcommandstoswitchtotheFinnishlanguage.RThereasonforthisisthatausermightwanttoswitchbackandforthbGetweenRlanguages.⍍ \captionsfinnishRTheImacro\captionsfinnishde nesallstringsusedinthefourstandarddoGcu-RmentclassesUUprovidedwithL5ffA͉TU>'ExX. KK34.6\\addto\captionsfinnish{%K34.7f\def\prefacename{Esipuhe}%K34.8f\def\refname{Viitteet}%Rffr J=w-:48LThe> ledescrib'ExXhandlesFinnishverywell,RalthoughHsometimesthevqaluesof\toleranceand\emergencystretchmustbGeRincreased.UHowever,I don't!thinkchangingthesevqaluesinfinnish.ldfisappro-Rpriate,*asǙtheloGosenessofthefont(andthelinewidth)a ectthecorrectchoiceRofUUtheseparameters.GË34.34\\addto\extrasfinnish{% GË34.35f\babel@savevariable\hyphenpenalty\hyphenpenalty=30%GË34.36f\babel@savevariable\exhyphenpenalty\exhyphenpenalty=30%GË34.37f\babel@savevariable\doublehyphendemerits\doublehyphendemerits=5000%GË34.38f\babel@savevariable\finalhyphendemerits\finalhyphendemerits=5000%GË34.39f}GË34.40\\addto\noextrasfinnish{}aAnother8thing\extrasfinnishneedstodoistomakesurethat\frenchspacing RisXine ect.yIfthisisnotthecasetheexecutionof\noextrasfinnishwillswitch145,ày?RitUUofagain.GË34.41\\addto\extrasfinnish{\bbl@frenchspacing} GË34.42\\addto\noextrasfinnish{\bbl@nonfrenchspacing}aF*or^Finnishthe"characterismadeactive.Thisisdoneonce,[lateronits Rde nitionmayvqary*.+OtherlanguagesinthesamedoGcumentmayalsousethe"Rcharacterforshorthands;wespGecifythatthe nnishgroupofshorthandsshouldRbGeUUused.GË34.43\\initiate@active@char{"} GË34.44\\addto\extrasfinnish{\languageshorthands{finnish}}GË34.45\\addto\extrasfinnish{\bbl@activate{"}}GË34.46\%\addto\noextrasfinnish{\bbl@deactivate{"}}aThee`umlaut'charactershouldbGepositionedlowereonallmvowelseinFinnish Rtexts.GË34.47\\addto\extrasfinnish{\umlautlow\umlautelow}GË34.48\\addto\noextrasfinnish{\umlauthigh}aFirst?wede neaccesstothelowopGeningdoublequoteandguillemetsfor Rquotations,GË34.49\\declare@shorthand{finnish}{"`}{%GË34.50f\textormath{\quotedblbase{}}{\mbox{\quotedblbase}}}GË34.51\\declare@shorthand{finnish}{"'}{%GË34.52f\textormath{\textquotedblright{}}{\mbox{\textquotedblright}}}GË34.53\\declare@shorthand{finnish}{"<}{%GË34.54f\textormath{\guillemotleft{}}{\mbox{\guillemotleft}}}GË34.55\\declare@shorthand{finnish}{">}{%GË34.56f\textormath{\guillemotright{}}{\mbox{\guillemotright}}}RthenHwede netwoshorthandstobGeabletospecifyhyphenationbreakpointsthat RbGehavewUUalittledi erentfrom\-.GË34.57\\declare@shorthand{finnish}{"-}{\allowhyphens-\allowhyphens}GË34.58\\declare@shorthand{finnish}{""}{\hskip\z@skip}GË34.59\\declare@shorthand{finnish}{"=}{\hbox{-}\allowhyphens}RAndUUwewanttohaveashorthandfordisablingaligature.GË34.60\\declare@shorthand{finnish}{"|}{%GË34.61f\textormath{\discretionary{-}{}{\kern.03em}}{}}>>\-RAll4$thatisleftnowistherede nitionof\-.5Thenewversionof\-shouldin- Rdicate^anextrahyphenationpGosition,`whileallowingotherhyphenationpGositionsRtoCbGegeneratedautomatically*.%ThestandardbehaviourofTU>'ExXinthisrespectisRveryunfortunateforlanguagessuchasDutch,bFinnishandGerman,wherelongRcompGoundHwordsarequitenormalandalloneneedsisameanstoindicateanRextra'ExXcangeneratefromtheRhyphenationUUpatterns.GË34.62\\addto\extrasfinnish{\babel@save\-} GË34.63\\addto\extrasfinnish{\def\-{\allowhyphensGË34.64׃\discretionary{-}{}{}\allowhyphens}}1468̠y?t\finishhyphenminsRThe: nnishhyphenationpatternscanbGeusedwith\lefthyphenminsetto2and R\righthyphenminUUsetto2.GË34.65\\def\finnishhyphenmins{\tw@\tw@}aThemacro\ldf@finishtakescareofloGokingforacon guration le,settingRthefmainlanguagetobGeswitchedonat\begin{document}andresettingtheRcategoryUUcoGdeofr@toitsoriginalvqalue.GË34.66\\ldf@finish{finnish} GË34.67\h=coAdei147Dy?R35rfdTheffHungarianlanguageRThe6 leoptionmagyar.dtx^49 زde nesallthelanguagede nitionmacrosforthe RHungarianUUlanguage.aF*or?thislanguagecurrentlytheonlyspGecialde nitionthatisaddedisthe!3P\ontodayR\ontodayscommandwhichworkslike\todaybutproGducesaslightlydi erentRdateUUformatusedinexpressionssuhas`onfebruary10th'.aThemacro\LdfInittakescareofpreventingthatthis leisloadedmorethanRonce,UUcheckingthecategorycoGdeofthe@sign,etc.K35.1\hcoAdei K35.2\\LdfInit{magyar}{caption\CurrentOption}aWhenHthis leisreadasanoption,i.e.Dbythe\usepackagecommand,magyarRwillBbGean`unknown'languageinwhichcasewehavetomakeitknown.?SoweRcheckAfortheexistenceof\l@magyaror\l@hungariantoseewhetherwehavetoRdoUUsomethinghere.K35.3\\ifx\l@magyar\@undefinedK35.4f\ifx\l@hungarian\@undefinedK35.5o\@nopatterns{Magyar}K35.6o\adddialect\l@magyar0K35.7f\fiK35.8\\fiK35.9\\let\l@hungarian\l@magyaraAnpadditionalnoteabGoutformattingHungariantexts:OneshouldinvertptheRorder=ofthenumbGer=andtextinthingslikechapterheadings,Bpagereferencesetc.RSoUUoneshouldwrite`I.rGesz'insteadof`PartI',or`3.qoldal'for`page3'.aF*or~chapterheadingsthiscouldbGeaccomplishedbyarede nitionoftheRmacrosk\@makechapterheadand\@makeschapterhead,forotherinstancesthisRalothardertoaccomplish.hThereforeIothinkcompletedoGcumentclassesshouldRbGeUUwrittentoaccomadatetheneededformatting.aThe8nextstepconsistsofde ningcommandstoswitchto(andfrom)theHun-RgarianUUlanguage.f\captionsmagyarRThemacro\captionsmagyarde nesallstringsusedinthefourstandarddoGcu-RmentclassesUUprovidedwithL5ffA͉TU>'ExX.GË35.10\\@namedef{captions\CurrentOption}{%GË35.11f\def\prefacename{El\Hosz\'o}%RF*orthelistofreferencesattheendofanarticlewehaveachoicebGetweentwoRwords,g`Referenciak'U+(aHungarianversionoftheEnglishword)and`Hivqatkozasok'.RTheUUlatterseemstobGeinmorewidespreaduse.GË35.12f\def\refname{Hivatkoz\'asok}%R&effr J=w-:49LThe, ledescrib_forUUF*renchrightdoublequotes.oqǍT*ableUU14:qTheextrade nitionsmadebyxestonian.ldfRcharacters?bGehaveaccordingtotheiroriginalde nitionsifnotfollowedbyoneofRthe charactersindicatedinthattable;htheoriginalquotecharactercanbGetypGedRusingUUthemacro\dq.aW*e'ExX.xK36.7\\addto\captionsestonian{%K36.8f\def\prefacename{Sissejuhatus}%K36.9f\def\refname{Viited}%GË36.10f\def\bibname{Kirjandus}%GË36.11f\def\appendixname{Lisa}%GË36.12f\def\contentsname{Sisukord}%GË36.13f\def\listfigurename{Joonised}%GË36.14f\def\listtablename{Tabelid}%GË36.15f\def\indexname{Indeks}%GË36.16f\def\figurename{Joonis}%GË36.17f\def\tablename{Tabel}%GË36.18f\def\partname{Osa}%GË36.19f\def\enclname{Lisa(d)}%GË36.20f\def\ccname{Koopia(d)}%GË36.21f\def\headtoname{}%GË36.22f\def\pagename{Lk.}%GË36.23f\def\seename{vt.}%GË36.24f\def\alsoname{vt.ka}%GË36.25f\def\proofname{Korrektuur}%GË36.26f}xaTheseUUcaptionscontainaccentedcharacters.GË36.27\\begingroup\catcode`\"\activeGË36.28\\def\x{\endgroupGË36.29\\addto\captionsestonian{%GË36.30f\def\abstractname{Kokkuv~ote}%GË36.31f\def\chaptername{Peat"ukk}}}GË36.32\\x{3 \dateestonianRThemacro\dateestonianrede nesthecommand\todaytoproGduceEstonian Rdates.GË36.33\\begingroup\catcode`\"\active152r}y?GË36.34\\def\x{\endgroup GË36.35jp\def\month@estonian{\ifcase\month\orGË36.36tJjaanuar\orveebruar\orm"arts\oraprill\ormai\orjuuni\orGË36.37tJjuuli\oraugust\orseptember\oroktoober\ornovember\orGË36.380detsember\fi}}GË36.39\\xGË36.40\\def\dateestonian{\def\today{\number\day.\space\month@estonianGË36.41f\space\number\year.\spacea.}}f\extrasestonian t\noextrasestonianRThemacro\extrasestonianwillpGerformalltheextrade nitionsneededfor REstonian. aThemacro\noextrasestonianisusedtocanceltheactionsofR\extrasestonian.F*orOEstonian,9"ismadeactiveandhastobGetreatedas`special'R(~UUisactivealready).GË36.42\\initiate@active@char{"} GË36.43\\initiate@active@char{~}GË36.44\\addto\extrasestonian{\languageshorthands{estonian}}GË36.45\\addto\extrasestonian{\bbl@activate{"}\bbl@activate{~}}RStoreUUtheoriginalmacros,andrede neaccents.GË36.46\\addto\extrasestonian{\babel@save\"\umlautlow\babel@save\~\tildelow}aEstonianUUdoGesnotuseextraspacesaftersentences.GË36.47\\addto\extrasestonian{\bbl@frenchspacing} GË36.48\\addto\noextrasestonian{\bbl@nonfrenchspacing}H\estonianhyphenminsRF*orUUEstonian,\lefthyphenminand\righthyphenminarebGoth2.GË36.49\\def\estonianhyphenmins{\tw@\tw@}$\tildelow $\gentilde $\newtilde $\newcheckRThepstandardTU>'ExXaccentsaretoGohighforEstoniantypGography*,8wehavetolower Rthem(followingthebabGelGermanstyle).ؚF*oradetailedexplanationseethe leRglyphs.dtx.GË36.50\\def\tildelow{\def\~{\protect\gentilde}} GË36.51\\def\gentilde#1{\if#1o\newtilde{#1}\else\if#1O\newtilde{#1}%GË36.52o\else\newcheck{#1}%GË36.53o\fi\fi}GË36.54\\def\newtilde#1{\leavevmode\allowhyphensGË36.55f{\U@D1ex%GË36.56f{\setbox\z@\hbox{\char126}\dimen@-.45ex\advance\dimen@\ht\z@GË36.57f\ifdim1ex<\dimen@\fontdimen5\font\dimen@\fi}%GË36.58f\accent126\fontdimen5\font\U@D#1}\allowhyphens}GË36.59\\def\newcheck#1{\leavevmode\allowhyphensGË36.60f{\U@D1ex%GË36.61f{\setbox\z@\hbox{\char20}\dimen@-.45ex\advance\dimen@\ht\z@GË36.62f\ifdim1ex<\dimen@\fontdimen5\font\dimen@\fi}%GË36.63f\accent20\fontdimen5\font\U@D#1}\allowhyphens}aW*eusavethedoublequotecharacterin\dq, =andtildein\til,andstorethe RoriginalUUde nitionsof\"and~as\dieresisand\texttilde.153{y?GË36.64\\begingroup\catcode`\"12 GË36.65\\edef\x{\endgroupGË36.66f\def\noexpand\dq{"}GË36.67f\def\noexpand\til{~}}GË36.68\\xGË36.69\\let\dieresis\"GË36.70\\let\texttilde\~aThis6partfollowscloselyZTspanish.ldf.gW*echecktheencoGdingandifitisT1, RweUUhavetotellTU>'ExXabGoutourrede nedaccents.GË36.71\\edef\next{T1}GË36.72\\ifx\f@encoding\nextGË36.73f\let\@umlaut\dieresisGË36.74f\let\@tilde\texttildeGË36.75f\DeclareTextComposite{\~}{T1}{s}{178}GË36.76f\DeclareTextComposite{\~}{T1}{S}{146}GË36.77f\DeclareTextComposite{\~}{T1}{z}{186}GË36.78f\DeclareTextComposite{\~}{T1}{Z}{154}GË36.79f\DeclareTextComposite{\"}{T1}{'}{17}GË36.80f\DeclareTextComposite{\"}{T1}{`}{18}GË36.81f\DeclareTextComposite{\"}{T1}{<}{19}GË36.82f\DeclareTextComposite{\"}{T1}{>}{20}aIfjXtheencoGdingdi ersfromT1,oweexpandtheaccents,oenablinghyphenation RbGeyond{theaccent._)InthiscaseTU>'ExXwillnot ndallpGossiblebreaks,(andwehaveRtoUUwarnpGeople.GË36.83\\else GË36.84f\wlog{Warning:HyphenationwouldworkbetterfortheT1encoding.}GË36.85f\let\@umlaut\newumlautGË36.86f\let\@tilde\gentildeGË36.87\\fiaNowUUwede netheshorthands.GË36.88\\declare@shorthand{estonian}{"a}{\textormath{\"{a}}{\ddota}}GË36.89\\declare@shorthand{estonian}{"A}{\textormath{\"{A}}{\ddotA}}GË36.90\\declare@shorthand{estonian}{"o}{\textormath{\"{o}}{\ddoto}}GË36.91\\declare@shorthand{estonian}{"O}{\textormath{\"{O}}{\ddotO}}GË36.92\\declare@shorthand{estonian}{"u}{\textormath{\"{u}}{\ddotu}}GË36.93\\declare@shorthand{estonian}{"U}{\textormath{\"{U}}{\ddotU}}RgermanUUandfrenchquotes,GË36.94\\declare@shorthand{estonian}{"`}{%GË36.95f\textormath{\quotedblbase{}}{\mbox{\quotedblbase}}}GË36.96\\declare@shorthand{estonian}{"'}{%GË36.97f\textormath{\textquotedblleft{}}{\mbox{\textquotedblleft}}}GË36.98\\declare@shorthand{estonian}{"<}{%GË36.99f\textormath{\guillemotleft{}}{\mbox{\guillemotleft}}}C36.100\\declare@shorthand{estonian}{">}{%C36.101f\textormath{\guillemotright{}}{\mbox{\guillemotright}}}154y?C36.102\\declare@shorthand{estonian}{~o}{\textormath{\@tildeo}{\tildeo}} C36.103\\declare@shorthand{estonian}{~O}{\textormath{\@tildeO}{\tildeO}}C36.104\\declare@shorthand{estonian}{~s}{\textormath{\@tildes}{\checks}}C36.105\\declare@shorthand{estonian}{~S}{\textormath{\@tildeS}{\checkS}}C36.106\\declare@shorthand{estonian}{~z}{\textormath{\@tildez}{\checkz}}C36.107\\declare@shorthand{estonian}{~Z}{\textormath{\@tildeZ}{\checkZ}}RandUUsomeadditionalcommands:C36.108\\declare@shorthand{estonian}{"-}{\allowhyphens\-\allowhyphens}C36.109\\declare@shorthand{estonian}{"|}{%C36.110f\textormath{\penalty\@M\discretionary{-}{}{\kern.03em}%C36.111\allowhyphens}{}}C36.112\\declare@shorthand{estonian}{""}{\dq}C36.113\\declare@shorthand{estonian}{~~}{\til}aThemacro\ldf@finishtakescareofloGokingforacon guration le,setting RthefmainlanguagetobGeswitchedonat\begin{document}andresettingtheRcategoryUUcoGdeofr@toitsoriginalvqalue.C36.114\\ldf@finish{estonian} C36.115\h=coAdei155<y?R37rfdTheffCroatianlanguageRTheLH lecroatian.dtx^51 .de nesallthelanguagede nitionmacrosfortheCroatian Rlanguage.aF*orUUthislanguagecurrentlynospGecialde nitionsareneededoravqailable.aThemacro\LdfInittakescareofpreventingthatthis leisloadedmorethanRonce,UUcheckingthecategorycoGdeofthe@sign,etc.K37.1\hcoAdei K37.2\\LdfInit{croatian}\captionscroatianaWhenTVthis leisreadasanoption,i.e. nbythe\usepackagecommand,RcroatianʲwillbGean`unknown'languageinwhichcasewehavetomakeitknown.RSocwecheckfortheexistenceof\l@croatiantoseewhetherwehavetodosome-RthingUUhere.K37.3\\ifx\l@croatian\@undefinedK37.4o\@nopatterns{Croatian}K37.5o\adddialect\l@croatian0\fiaTheqnextstepconsistsofde ningcommandstoswitchto(andfrom)theCroa-RtianUUlanguage.t\captionscroatianRThePmacro\captionscroatiande nesallstringsusedinthefourstandarddoGc-RumentclassesUUprovidedwithL5ffA͉TU>'ExX.K37.6\\addto\captionscroatian{%K37.7f\def\prefacename{Predgovor}%K37.8f\def\refname{Literatura}%K37.9f\def\abstractname{Sa\v{z}etak}%GË37.10f\def\bibname{Bibliografija}%GË37.11f\def\chaptername{Glava}%GË37.12f\def\appendixname{Dodatak}%GË37.13f\def\contentsname{Sadr\v{z}aj}%GË37.14f\def\listfigurename{Slike}%GË37.15f\def\listtablename{Tablice}%GË37.16f\def\indexname{Indeks}%GË37.17f\def\figurename{Slika}%GË37.18f\def\tablename{Tablica}%GË37.19f\def\partname{Dio}%GË37.20f\def\enclname{Prilozi}%GË37.21f\def\ccname{Kopije}%GË37.22f\def\headtoname{Prima}%GË37.23f\def\pagename{Strana}%GË37.24f\def\seename{Vidi}%GË37.25f\def\alsoname{Viditako\djer}%GË37.26f\def\proofname{Dokaz}%GË37.27f}%R&effr J=w-:51LThe | ledescribmacro\captionsczechde nesallstringsusedinthefourstandarddoGcu-RmentclassesUUprovidedwithL5ffA͉TU>'ExX.K38.6\\addto\captionsczech{%K38.7f\def\prefacename{P\vredmluva}%K38.8f\def\refname{Reference}%K38.9f\def\abstractname{Abstrakt}%GË38.10f\def\bibname{Literatura}%GË38.11f\def\chaptername{Kapitola}%GË38.12f\def\appendixname{Dodatek}%GË38.13f\def\contentsname{Obsah}%GË38.14f\def\listfigurename{Seznamobr\'azk\r{u}}%GË38.15f\def\listtablename{Seznamtabulek}%GË38.16f\def\indexname{Index}%GË38.17f\def\figurename{Obr\'azek}%GË38.18f\def\tablename{Tabulka}%GË38.19f\def\partname{\v{C}\'ast}%GË38.20f\def\enclname{P\v{r}\'{\i}loha}%GË38.21f\def\ccname{Nav\v{e}dom\'{\i}:}%GË38.22f\def\headtoname{Komu}%GË38.23f\def\pagename{Strana}%GË38.24f\def\seename{viz}%R&effr J=w-:52LThe ledescrib>\vRL5ffA͉TU>'ExX'snormal\vaccentplacesacaronovertheletterthatfollowsit(o).[MThisisRnotK whatwewantforthelettersd,Mt,lK andL;forthosetheaccentshouldchangeRshapGe.qThisUUisacheivedUUbythefollowing. ٚGË38.38\\AtBeginDocument{%GË38.39f\DeclareTextCompositeCommand{\v}{OT1}{t}{%GË38.40ot\kern-.23em\raise.24ex\hbox{'}}GË38.41f\DeclareTextCompositeCommand{\v}{OT1}{d}{%GË38.42od\kern-.13em\raise.24ex\hbox{'}}GË38.43f\DeclareTextCompositeCommand{\v}{OT1}{l}{\lcaron{}}GË38.44f\DeclareTextCompositeCommand{\v}{OT1}{L}{\Lcaron{}}}͍'3P\lcaron'3P\LcaronRF*otEtheletterslandLETwewanttodisinguishbGetweennormalfontsandmonospacedRfonts. ٚGË38.45\\def\lcaron{%GË38.46f\setbox0\hbox{M}\setbox\tw@\hbox{i}%GË38.47f\ifdim\wd0>\wd\tw@\relaxGË38.48ol\kern-.13em\raise.24ex\hbox{'}\kern-.11em%GË38.49f\elseGË38.50ol\raise.45ex\hboxto\z@{\kern-.35em'\hss}%GË38.51f\fi}GË38.52\\def\Lcaron{%GË38.53f\setbox0\hbox{M}\setbox\tw@\hbox{i}%GË38.54f\ifdim\wd0>\wd\tw@\relaxGË38.55oL\raise.24ex\hboxto\z@{\kern-.28em'\hss}%GË38.56f\else159py?GË38.57oL\raise.45ex\hboxto\z@{\kern-.40em'\hss}% GË38.58f\fi}aThemacro\ldf@finishtakescareofloGokingforacon guration le,setting RthefmainlanguagetobGeswitchedonat\begin{document}andresettingtheRcategoryUUcoGdeofr@toitsoriginalvqalue.GË38.59\\ldf@finish{czech}GË38.60\h=coAdei160Πy?R39rfdTheffPolishlanguageRThebC lepolish.dtx^53 )de nesallthelanguage-spGeci cmacrosforthePolishlan- Rguage.aF*orthislanguagethecharacter"ismadeactive.1Intable15anoverviewisRgivenUUofitspurpGose.'Ǎe,pe"a_orUU\aob,fortailed-a(likerGa)pe"A_orUU\Aob,fortailed-A(likeAr V)pe"e_orUU\eob,fortailed-e(like9e)pe"E_orUU\Eob,fortailed-E(likeE #)pe"c_or\'c,1foraccentedc(likeBGc),1samewithuppGercase_lettersUUandn,o,spe"l_orUU\lpb{},forlwithstroke(like 8l)pe"L_orUU\Lpb{},forLwithstroke(like 8L V)pe"r_orUU\zkb{},forpGointedz(like*_cz),cf.qpronounciation ppe"R_orUU\Zkb{},forpGointedZ(likex_Z)pe"z_orUU\'z,foraccentedzpe"Z_orUU\'Z,foraccentedZpe"|_disableUUligatureatthispGosition.pe"-_anexplicithyphensign,allowinghyphenationinthe_restUUoftheword.pe""_like)"-,2butproGducingnohyphensign(forcompund_wordsUUwithhyphen,e.g.x-""y).pe"`_forUUGermanleftdoublequotes(loGokslike,,).pe"'_forUUGermanrightdoublequotes.pe"<_forUUF*renchleftdoublequotes(similarto<<).pe">_forUUF*renchrightdoublequotes(similarto>>).#T*ableUU15:qTheextrade nitionsmadebyxpolish.styaThemacro\LdfInittakescareofpreventingthatthis leisloadedmorethanRonce,UUcheckingthecategorycoGdeofthe@sign,etc. jsK39.1\hcoAdei K39.2\\LdfInit{polish}\captionspolishjsaWhenHthis leisreadasanoption,i.e.Dbythe\usepackagecommand,polishRcouldz"bGean`unknown'languageinwhichcasewehavetomakeitknown./SoweRcheckfortheexistenceof\l@polishtoseewhetherwehavetodosomethinghere.卍K39.3\\ifx\l@polish\@undefinedK39.4f\@nopatterns{Polish}K39.5f\adddialect\l@polish0\fi卑aThenextstepconsistsofde ningcommandstoswitchto(andfrom)thePolishRlanguage.R-ffr J=w-:53LThe ledescrib'ExX. ٍK39.6\\addto\captionspolish{% K39.7f\def\prefacename{Przedmowa}%K39.8f\def\refname{Bibliografia}%K39.9f\def\abstractname{Streszczenie}%GË39.10f\def\bibname{Literatura}%GË39.11f\def\chaptername{Rozdzia\l}%GË39.12f\def\appendixname{Dodatek}%GË39.13f\def\contentsname{Spisrzeczy}%GË39.14f\def\listfigurename{Spisrysunk\'ow}%GË39.15f\def\listtablename{Spistablic}%GË39.16f\def\indexname{Indeks}%GË39.17f\def\figurename{Rysunek}%GË39.18f\def\tablename{Tablica}%GË39.19f\def\partname{Cz\eob{}\'s\'c}%GË39.20f\def\enclname{Za\l\aob{}cznik}%GË39.21f\def\ccname{Kopie:}%GË39.22f\def\headtoname{Do}%GË39.23f\def\pagename{Strona}%GË39.24f\def\seename{Por\'ownaj}%GË39.25f\def\alsoname{Por\'ownajtak\.ze}%GË39.26f\def\proofname{Proof}%,<--needstranslationGË39.27\}L\datepolishRThe3macro\datepolishrede nesthecommand\todaytoproGducePolishdates.GË39.28\\def\datepolish{%GË39.29f\def\today{\number\day~\ifcase\month\orGË39.30fstycznia\orlutego\ormarca\orkwietnia\ormaja\orczerwca\orlipca\orGË39.31fsierpnia\orwrze\'snia\orpa\'zdziernika\orlistopada\orgrudnia\fiGË39.32f\space\number\year}GË39.33\} \extraspolish f\noextraspolishRThemacro\extraspolishwillpGerformalltheextrade nitionsneededforthe RPolishL language.UThemacro\noextraspolishisusedtocanceltheactionsofR\extraspolish.aF*or:Polishthe"characterismadeactive.vThisisdoneonce,lateronitsRde nitionmayvqary*.+OtherlanguagesinthesamedoGcumentmayalsousethe"Rcharacterforshorthands;3wespGecifythatthepolishgroupofshorthandsshouldRbGeUUused.GË39.34\\initiate@active@char{"} GË39.35\\addto\extraspolish{\languageshorthands{polish}}GË39.36\\addto\extraspolish{\bbl@activate{"}}GË39.37\%\addto\noextraspolish{\bbl@deactivate{"}}aThe*coGdeabove*isnecessarybecauseweneedanextraactivecharacter.GThis RcharacterUUisthenusedasindicatedintable15.aIfTUyouhaveproblemsattheendofawordwithalinebreak,usetheotherversionRwithoutmhyphenationtricks.=zSomeT*eXFwizardmayproGduceabettersolutionwith162xy?Rforcastingnanothertokentodecidewhetherthecharacterafterthedoublequoteis RtheUUlastinaword.qDoitandletusknow.aIn6PolishtextssomelettersgetspGecialdiacriticalmarks.|iLeszekHolenderskiRdesigned5thefollowingcoGdetopositionthediacriticscorrectlyforeveryfontinReveryUUsize.qThesemacrosneedafewextradimensionvqariables.GË39.38\\newdimen\pl@left GË39.39\\newdimen\pl@downGË39.40\\newdimen\pl@rightGË39.41\\newdimen\pl@temp5`\sobRTheUUmacro\sobisusedtoputthe`ogonek'intherightplace.GË39.42\\def\sob#1#2#3#4#5{%parameters:letterandfractionshl,ho,vl,voGË39.43f\setbox0\hbox{#1}\setbox1\hbox{$_\mathchar'454$}\setbox2\hbox{p}%GË39.44f\pl@right=#2\wd0\advance\pl@rightby-#3\wd1GË39.45f\pl@down=#5\ht1\advance\pl@downby-#4\ht0GË39.46f\pl@left=\pl@right\advance\pl@leftby\wd1GË39.47f\pl@temp=-\pl@down\advance\pl@tempby\dp2\dp1=\pl@tempGË39.48f\leavevmodeGË39.49f\kern\pl@right\lower\pl@down\box1\kern-\pl@left#1}5`\aob 5`\Aob 5`\eob 5`\EobRTheUUogonekisplacedwiththeletters`a',`A',`e',and`E'.GË39.50\\DeclareTextCommand{\aob}{OT1}{\soba{.66}{.20}{0}{.90}}GË39.51\\DeclareTextCommand{\Aob}{OT1}{\sobA{.80}{.50}{0}{.90}}GË39.52\\DeclareTextCommand{\eob}{OT1}{\sobe{.50}{.35}{0}{.93}}GË39.53\\DeclareTextCommand{\Eob}{OT1}{\sobE{.60}{.35}{0}{.90}}RF*orUUthe'new'T1encoGdingwecanprovidesimplerde nitions.GË39.54\\DeclareTextCommand{\aob}{T1}{\ka}GË39.55\\DeclareTextCommand{\Aob}{T1}{\kA}GË39.56\\DeclareTextCommand{\eob}{T1}{\ke}GË39.57\\DeclareTextCommand{\Eob}{T1}{\kE}RConstructUUthecharactersbydefaultfromtheOT1encoGding.GË39.58\\ProvideTextCommandDefault{\aob}{\UseTextSymbol{OT1}{\aob}}GË39.59\\ProvideTextCommandDefault{\Aob}{\UseTextSymbol{OT1}{\Aob}}GË39.60\\ProvideTextCommandDefault{\eob}{\UseTextSymbol{OT1}{\eob}}GË39.61\\ProvideTextCommandDefault{\Eob}{\UseTextSymbol{OT1}{\Eob}}5`\spbRTheUUmacro\spbisusedtoputthe`pGoprzeczkqa'intherightplace.GË39.62\\def\spb#1#2#3#4#5{%GË39.63f\setbox0\hbox{#1}\setbox1\hbox{\char'023}%GË39.64f\pl@right=#2\wd0\advance\pl@rightby-#3\wd1GË39.65f\pl@down=#5\ht1\advance\pl@downby-#4\ht0GË39.66f\pl@left=\pl@right\advance\pl@leftby\wd1GË39.67f\ht1=\pl@down\dp1=-\pl@downGË39.68f\leavevmodeGË39.69f\kern\pl@right\lower\pl@down\box1\kern-\pl@left#1}1630y?5`\skbRTheUUmacro\skbisusedtoputthe`kropkqa'intherightplace.d-GË39.70\\def\skb#1#2#3#4#5{% GË39.71f\setbox0\hbox{#1}\setbox1\hbox{\char'056}%GË39.72f\pl@right=#2\wd0\advance\pl@rightby-#3\wd1GË39.73f\pl@down=#5\ht1\advance\pl@downby-#4\ht0GË39.74f\pl@left=\pl@right\advance\pl@leftby\wd1GË39.75f\leavevmodeGË39.76f\kern\pl@right\lower\pl@down\box1\kern-\pl@left#1}C'3P\textplRF*or1the`pGoprzeczkqa'andthe`kropka'intextfontswedon'tneedanyspGecial RcoGding,UUbutwecan(almost)usewhatisalreadyavqailable.GË39.77\\def\textpl{%GË39.78f\def\lpb{\plll}%GË39.79f\def\Lpb{\pLLL}%GË39.80f\def\zkb{\.z}%GË39.81f\def\Zkb{\.Z}}d-RInitiallyUUweassumethattypGesettingisdonewithtextfonts. GË39.82\\textplGË39.83\\let\lll=\l\let\LLL=\LGË39.84\\def\plll{\lll}GË39.85\\def\pLLL{\LLL}C'3P\teleplRButfforthe`teletypGe'fontin`OT1'encoGdingwehavetotakesomespGecialactions, RinvolvingUUthemacrosde nedabGove.GË39.86\\def\telepl{%GË39.87f\def\lpb{\spbl{.45}{.5}{.4}{.8}}%GË39.88f\def\Lpb{\spbL{.23}{.5}{.4}{.8}}%GË39.89f\def\zkb{\skbz{.5}{.5}{1.2}{0}}%GË39.90f\def\Zkb{\skbZ{.5}{.5}{1.1}{0}}}CaT*oNactivqatethesecoGdesthefontchangingcommandsastheyarede nedin RL5ffA͉TU>'ExXUUaremoGdi ed.qThesameisdoneforplainTU>'EX'sfontchangingcommands.aWhenWF\selectfontisunde nedthecurrentformatissppGosedtobeeitherRplainUU(based)orL5ffA͉TU>'ExX82.09. GË39.91\\ifx\selectfont\@undefined GË39.92f\ifx\prm\@undefined\addto\rm{\textpl}\else\addto\prm{\textpl}\fiGË39.93f\ifx\pit\@undefined\addto\it{\textpl}\else\addto\pit{\textpl}\fiGË39.94f\ifx\pbf\@undefined\addto\bf{\textpl}\else\addto\pbf{\textpl}\fiGË39.95f\ifx\psl\@undefined\addto\sl{\textpl}\else\addto\psl{\textpl}\fiGË39.96f\ifx\psf\@undefinedY"\else\addto\psf{\textpl}\fiGË39.97f\ifx\psc\@undefinedY"\else\addto\psc{\textpl}\fiGË39.98f\ifx\ptt\@undefined\addto\tt{\telepl}\else\addto\ptt{\telepl}\fiGË39.99\\elseRWhenUU\selectfontexistsweassumeL5ffA͉TU>'ExX2"(.C39.100f\expandafter\addto\csnameselectfont\endcsname{%C39.101o\csname\f@encoding@pl\endcsname}C39.102\\fi1645y?RCurrentlywesuppGorttheOT1andT1encodings.?F*orT1wedon'thavetomakea Rdi erencetbGetweentypGewriterfontsandotherfonts,theyallhavethesameglyphs. 썍C39.103\\expandafter\let\csnameT1@pl\endcsname\textpl썑RF*or|OT1weneedtocheckthecurrentfontfamily*,storedin\f@family.&=Un-Rfortunatelyzweneedahackas\ttdefaultisde nedasa\longmacro,LwhileR\f@familyUUisnot.C39.104\\expandafter\def\csnameOT1@pl\endcsname{% C39.105f\long\edef\curr@family{\f@family}%C39.106f\ifx\curr@family\ttdefaultC39.107o\teleplC39.108f\elseC39.109o\textplC39.110f\fi}Nō:\dqRW*eTKsavetheoriginaldoublequotecharacterin\dqtokeepitavqailable,Tthemath RaccentUU\"cannowbGetypGedas".C39.111\\begingroup\catcode`\"12C39.112\\def\x{\endgroupC39.113f\def\dq{"}}C39.114\\xNōaNowUUwecande nethedoublequotemacrosfordiacritics,C39.115\\declare@shorthand{polish}{"a}{\textormath{\aob}{\ddota}}C39.116\\declare@shorthand{polish}{"A}{\textormath{\Aob}{\ddotA}}C39.117\\declare@shorthand{polish}{"c}{\textormath{\'c}{\acutec}}C39.118\\declare@shorthand{polish}{"C}{\textormath{\'C}{\acuteC}}C39.119\\declare@shorthand{polish}{"e}{\textormath{\eob}{\ddote}}C39.120\\declare@shorthand{polish}{"E}{\textormath{\Eob}{\ddotE}}C39.121\\declare@shorthand{polish}{"l}{\textormath{\lpb}{\ddotl}}C39.122\\declare@shorthand{polish}{"L}{\textormath{\Lpb}{\ddotL}}C39.123\\declare@shorthand{polish}{"n}{\textormath{\'n}{\acuten}}C39.124\\declare@shorthand{polish}{"N}{\textormath{\'N}{\acuteN}}C39.125\\declare@shorthand{polish}{"o}{\textormath{\'o}{\acuteo}}C39.126\\declare@shorthand{polish}{"O}{\textormath{\'O}{\acuteO}}C39.127\\declare@shorthand{polish}{"r}{\textormath{\zkb}{\ddotr}}C39.128\\declare@shorthand{polish}{"R}{\textormath{\Zkb}{\ddotR}}C39.129\\declare@shorthand{polish}{"s}{\textormath{\'s}{\acutes}}C39.130\\declare@shorthand{polish}{"S}{\textormath{\'S}{\acuteS}}C39.131\\declare@shorthand{polish}{"z}{\textormath{\'z}{\acutez}}C39.132\\declare@shorthand{polish}{"Z}{\textormath{\'Z}{\acuteZ}}썑aThen1wede neaccesstotwoformsofquotationmarks,8similartothegerman RandUUfrenchquotationmarks.C39.133\\declare@shorthand{polish}{"`}{%C39.134f\textormath{\quotedblbase{}}{\mbox{\quotedblbase}}}C39.135\\declare@shorthand{polish}{"'}{%C39.136f\textormath{\textquotedblleft{}}{\mbox{\textquotedblleft}}}C39.137\\declare@shorthand{polish}{"<}{%C39.138f\textormath{\guillemotleft{}}{\mbox{\guillemotleft}}}165y?C39.139\\declare@shorthand{polish}{">}{% C39.140f\textormath{\guillemotright{}}{\mbox{\guillemotright}}}RthenHwede netwoshorthandstobGeabletospecifyhyphenationbreakpointsthat RbGehavewUUalittledi erentfrom\-.C39.141\\declare@shorthand{polish}{"-}{\allowhyphens-\allowhyphens}C39.142\\declare@shorthand{polish}{""}{\hskip\z@skip}RAndUUwewanttohaveashorthandfordisablingaligature.C39.143\\declare@shorthand{polish}{"|}{%C39.144f\textormath{\discretionary{-}{}{\kern.03em}}{}}+\mdqon '3P\mdqoffRAll#that'slefttodonowistode neacoupleofcommandsforreasonsofcompat- RibilityUUwithpolish.tex.C39.145\\def\mdqon{\bbl@activate{"}}C39.146\\def\mdqoff{\bbl@deactivate{"}}aThemacro\ldf@finishtakescareofloGokingforacon guration le,setting RthefmainlanguagetobGeswitchedonat\begin{document}andresettingtheRcategoryUUcoGdeofr@toitsoriginalvqalue.C39.147\\ldf@finish{polish} C39.148\h=coAdei166ày?R40rfdTheffSlovaklanguageRThe? leslovak.dtx^54 de nesallthelanguage-spGeci cmacrosfortheSlovqaklan- Rguage.aF*orvthislanguagethemacro\qisde ned.Itisusedwiththeletters(t,!d,l,RandL)andaddsa'tothemtosimulatea`hoGok'thatshouldbethere.PTheresultRloGoksUUliket'.aThemacro\LdfInittakescareofpreventingthatthis leisloadedmorethanRonce,UUcheckingthecategorycoGdeofthe@sign,etc.K40.1\hcoAdei K40.2\\LdfInit{slovak}\captionsslovakaWhenHthis leisreadasanoption,i.e.Dbythe\usepackagecommand,slovakRwillBbGean`unknown'languageinwhichcasewehavetomakeitknown.?SoweRcheckfortheexistenceof\l@slovaktoseewhetherwehavetodosomethinghere.K40.3\\ifx\l@slovak\@undefinedK40.4o\@nopatterns{Slovak}K40.5o\adddialect\l@slovak0\fiaThexnextstepconsistsofde ningcommandstoswitchto(andfrom)theSlovqakRlanguage.f\captionsslovakRThemacro\captionsslovakde nesallstringsusedinthefourstandarddoGcu-RmentclassesUUprovidedwithL5ffA͉TU>'ExX.K40.6\\addto\captionsslovak{%K40.7f\def\prefacename{\'Uvod}%K40.8f\def\refname{Referencia}%K40.9f\def\abstractname{Abstrakt}%GË40.10f\def\bibname{Literat\'ura}%GË40.11f\def\chaptername{Kapitola}%GË40.12f\def\appendixname{Dodatok}%GË40.13f\def\contentsname{Obsah}%GË40.14f\def\listfigurename{Zoznamobr\'azkov}%GË40.15f\def\listtablename{Zoznamtabuliek}%GË40.16f\def\indexname{Index}%GË40.17f\def\figurename{Obr\'azok}%GË40.18f\def\tablename{Tabu\qlka}%%%specialletterlwithhookGË40.19f\def\partname{\v{C}as\qt}%%%speciallettertwithhookGË40.20f\def\enclname{Pr\'{\i}loha}%GË40.21f\def\ccname{CC}%GË40.22f\def\headtoname{Komu}%GË40.23f\def\pagename{Strana}%GË40.24f\def\seename{vi\qd}%%% s,SpecialletterdwithhookGË40.25f\def\alsoname{vi\qdtie\vz}%%% s,SpecialletterdwithhookGË40.26f\def\proofname{Proof}% s,<--needstranslationGË40.27f}R&effr J=w-:54LThe ledescrib_forUUF*renchrightdoublequotes(similarto>>).KqǍT*ableUU16:qTheextrade nitionsmadebyxslovene.ldf9aThemacro\LdfInittakescareofpreventingthatthis leisloadedmorethanRonce,UUcheckingthecategorycoGdeofthe@sign,etc.K41.1\hcoAdei K41.2\\LdfInit{slovene}\captionssloveneaWhen[this leisreadasanoption,i.e.bythe\usepackagecommand,sloveneRwillBbGean`unknown'languageinwhichcasewehavetomakeitknown.?SoweRcheck&Jfortheexistenceof\l@slovenetoseewhetherwehavetodosomethingRhere.K41.3\\ifx\l@slovene\@undefinedK41.4o\@nopatterns{Slovene}K41.5o\adddialect\l@slovene0\fiaThennextstepconsistsofde ningcommandstoswitchtotheSlovenianlan-Rguage.The1ZreasonforthisisthatausermightwanttoswitchbackandforthRbGetweenUUlanguages. \captionssloveneRTheImacro\captionsslovenede nesallstringsusedinthefourstandarddoGcu-RmentclassesUUprovidedwithL5ffA͉TU>'ExX.K41.6\\addto\captionsslovene{%K41.7f\def\prefacename{Predgovor}%K41.8f\def\refname{Literatura}%K41.9f\def\abstractname{Povzetek}%R&effr J=w-:55LThe ledescrib}{%GË41.50f\textormath{\guillemotright{}}{\mbox{\guillemotright}}}RthenHwede netwoshorthandstobGeabletospecifyhyphenationbreakpointsthat RbGehavewUUalittledi erentfrom\-.GË41.51\\declare@shorthand{slovene}{"-}{\allowhyphens-\allowhyphens}GË41.52\\declare@shorthand{slovene}{""}{\hskip\z@skip}RAndUUwewanttohaveashorthandfordisablingaligature.GË41.53\\declare@shorthand{slovene}{"|}{%GË41.54f\textormath{\discretionary{-}{}{\kern.03em}}{}}aThemacro\ldf@finishtakescareofloGokingforacon guration le,setting RthefmainlanguagetobGeswitchedonat\begin{document}andresettingtheRcategoryUUcoGdeofr@toitsoriginalvqalue.GË41.55\\ldf@finish{slovene} GË41.56\h=coAdei171)<y?R42rfdTheffRussianlanguageRTheV lerussianb.dtx^56  forUUF*renchrightdoublequotes(loGokslike>>).]qǍcT*ableUU17:qTheextrade nitionsmadebyxrussianb9aThequotesintable17canalsobGetypesetbyusingthecommandsintable18.e㎍Ɯrdze\glqqforUUGermanleftdoublequotes(loGokslike,,).ze\grqqforUUGermanrightdoublequotes(loGokslike\).ze"UU\flqqforUUF*renchleftdoublequotes(loGokslike<<).ze\frqqforUUF*renchrightdoublequotes(loGokslike>>).ze\dqtheUUoriginalquotescharacter(").-qǍqT*ableUU18:qMorecommandswhichproGducequotes,de nedbyxbabGelaThekpquotationmarkstraditionallyusedinRussianlanguagewerebGorrowedRfromotherlanguages(e.g.EF*renchandGerman)sotheykeeptheiroriginalnames.aThemacro\LdfInittakescareofpreventingthatthis leisloadedmorethanRonce,UUcheckingthecategorycoGdeofthe@sign,etc.K42.1\hcoAdei K42.2\\LdfInit{russian}{captionsrussian}Rffffr J=w-:56LThe% ledescrib'ExX.K42.7\\input{LWNenc.def} 6\latinencodingRW*e>needtoknowtheencoGdingfortextthatissupposedtobetypesetinlatinRtext.W*epassumethatitwillbGetheencodingwhichisactiveattheendoftheRbabGelUUpackqage.qIfthefontencpackqageisloadedlater,then...qtoGobad!K42.8\\AtEndOfPackage{\edef\latinencoding{\cf@encoding}}aNowwede netwocommandsthato erthepGossibilitytoswitchbGetweenRcyrillicUUandromanencoGdings. \cyrillictext\latintextRTheGcommand\cyrillictextwillswitchfromlatinfontencoGdingtothecyrillicRfontencoGding,thecommand\latintextswitchesback.UThisassumesthattheR`normal'wfontencoGdingisalatinone.'Thesecommandsarede}'clarations,forwshorterRpGeacesUUoftextthecommands\textlatinand\textcyrilliccanbeused.K42.9\\DeclareRobustCommand{\cyrillictext}{% GË42.10f\fontencoding{LWN}\selectfontGË42.11f\def\encodingdefault{LWN}}GË42.12\\DeclareRobustCommand{\latintext}{%GË42.13f\fontencoding{\latinencoding}\selectfontGË42.14f\def\encodingdefault{\latinencoding}}GË42.15\\let\lat\latintextGË42.16\\let\cyr\cyrillictext \textcyrillic \textlatinRThese[commandstakeanargumentwhichisthentypGesetusingtherequestedfont RencoGding.aThenextstepconsistsofde ningcommandstoswitchto(andfrom)theRus-RsianUUlanguage. \captionsrussianRTheImacro\captionsrussiande nesallstringsusedinthefourstandarddoGcu-RmenticlassesprovidedwithL5ffA͉TU>'ExX.Therearethetwocommands:\cyrand\latRwhichUUswitchontheright(CyrillicorLatin)encoGding.GË42.17\\addto\captionsrussian{%173;hy?GË42.18f\def\prefacename{% GË42.19o{\cyr\CYRP\CYRr\CYRe\CYRd\CYRi\CYRs\CYRl\CYRo\CYRv\CYRi\CYRe}}%GË42.20jp%{\cyr\CYRV\CYRv\CYRe\CYRd\CYRe\CYRn\CYRi\CYRe}}%GË42.21f\def\refname{%GË42.22o{\cyr\CYRS\CYRp\CYRi\CYRs\CYRo\CYRk\spaceGË42.23y2\CYRl\CYRi\CYRt\CYRe\CYRr\CYRa\CYRt\CYRu\CYRr\CYRy}}%GË42.24f\def\abstractname{%GË42.25o{\cyr\CYRA\CYRn\CYRn\CYRo\CYRt\CYRa\CYRc\CYRi\CYRya}}%GË42.26f\def\bibname{%GË42.27o{\cyr\CYRB\CYRi\CYRb\CYRl\CYRi\CYRo\CYRg\CYRr\CYRa\CYRf\CYRi\CYRya}}%GË42.28f\def\chaptername{%GË42.29o{\cyr\CYRG\CYRl\CYRa\CYRv\CYRa}}%GË42.30f\def\appendixname{%GË42.31o{\cyr\CYRP\CYRr\CYRi\CYRl\CYRo\CYRzh\CYRe\CYRn\CYRi\CYRe}}%RTherearetwonamesfortheT*ableofContentsthatareinuseinRussianpubli- Rcations.GË42.32f\def\contentsname{%RF*orUUbGooksthisoneisappropriate:GË42.33o{\cyr\CYRO\CYRg\CYRl\CYRa\CYRv\CYRl\CYRe\CYRn\CYRi\CYRe}}%RbutUUforproGceedingsthefollowingispreferred:GË42.34jp%{\cyr\CYRS\CYRo\CYRd\CYRe\CYRr\CYRzh\CYRa\CYRn\CYRi\CYRe}}% GË42.35f\def\listfigurename{%GË42.36o{\cyr\CYRS\CYRp\CYRi\CYRs\CYRo\CYRk\spaceGË42.37y2\CYRi\CYRl\CYRl\CYRyu\CYRs\CYRt\CYRr\CYRa\CYRc\CYRi\CYRishrt}}%RTheUUListofT*ablesisnotusedsoweprovideanemptyde nitionbydefault.GË42.38f\def\listtablename{%GË42.39o%\CYRS\CYRp\CYRi\CYRs\CYRo\CYRk\spaceGË42.40o%\CYRt\CYRa\CYRb\CYRl\CYRi\CYRc}%GË42.41o}GË42.42f\def\indexname{%GË42.43o{\cyr\CYRP\CYRr\CYRe\CYRd\CYRm\CYRe\CYRt\CYRn\CYRy\CYRishrt\spaceGË42.44y2\CYRu\CYRk\CYRa\CYRz\CYRa\CYRt\CYRe\CYRl\CYRssgn}}%GË42.45f\def\authorname{%GË42.46o{\cyr\CYRI\CYRm\CYRe\CYRn\CYRn\CYRo\CYRishrt\spaceGË42.47y2\CYRu\CYRk\CYRa\CYRz\CYRa\CYRt\CYRe\CYRl\CYRssgn}}%GË42.48f\def\figurename{{\cyr\CYRR\CYRi\CYRs.}}%GË42.49f\def\tablename{{\cyr\CYRT\CYRa\CYRb\CYRl\CYRi\CYRc\CYRa}}%GË42.50f\def\partname{{\cyr\CYRCH\CYRa\CYRs\CYRt\CYRssgn}}%GË42.51f\def\enclname{{\cyr\CYRv\CYRk\CYRl.}}%GË42.52f\def\ccname{{\cyr\CYRi\CYRs\CYRh.}}%GË42.53f\def\headtoname{{\cyr\CYRv\CYRh.}}%GË42.54f\def\pagename{{\cyr\CYRs.}}%GË42.55f\def\seename{{\cyr\CYRs\CYRm.}}%GË42.56f\def\alsoname{{\cyr\CYRs\CYRm.\\CYRt\CYRa\CYRk\CYRzh\CYRe}}}b\daterussianRTheEmacro\daterussianrede nesthecommand\todaytoproGduceRussian Rdates.174Gy?GË42.57\\def\month@russian{\ifcase\month\or GË42.58f\CYRya\CYRn\CYRv\CYRa\CYRr\CYRya\orGË42.59f\CYRf\CYRe\CYRv\CYRr\CYRa\CYRl\CYRya\orGË42.60f\CYRm\CYRa\CYRr\CYRt\CYRa\orGË42.61f\CYRa\CYRp\CYRr\CYRe\CYRl\CYRya\orGË42.62f\CYRm\CYRa\CYRya\orGË42.63f\CYRi\CYRyu\CYRn\CYRya\orGË42.64f\CYRi\CYRyu\CYRl\CYRya\orGË42.65f\CYRa\CYRv\CYRg\CYRu\CYRs\CYRt\CYRa\orGË42.66f\CYRs\CYRe\CYRn\CYRt\CYRya\CYRb\CYRr\CYRya\orGË42.67f\CYRo\CYRk\CYRt\CYRya\CYRb\CYRr\CYRya\orGË42.68f\CYRn\CYRo\CYRya\CYRb\CYRr\CYRya\orGË42.69f\CYRd\CYRe\CYRk\CYRa\CYRb\CYRr\CYRya\fi}GË42.70\\def\daterussian{%GË42.71f\def\today{\number\day~\month@russian\space\number\year~\CYRg.}} 6\extrasrussianRThemacro\extrasrussianwillpGerformalltheextrade nitionsneededforthe RRussianNulanguage.o|Themacro\noextrasrussianisusedtocanceltheactionsofR\extrasrussian.aThef rstactionwede neistoswitchtotheLWNfencoGdingwheneverweenterR`russian'.GË42.72\\addto\extrasrussian{\cyrillictext}RWhen%the leLWNenc.defwasproGcessedbyLaT*eXitstoresthecurrentfontRencoGding=in\latinencoding,assumingthatL5ffA͉TU>'ExXusesT1orOT1asdefault.RThereforeweswitchbackto\latinencodingwhenevertherussianlanguageisnoRlongerUU`active'.GË42.73\\addto\noextrasrussian{\latintext} 6\verbatim@fontRInordertogetverbatimtextinthelatinalphabGetweneedtochangethede nitionRofUUaninternalL5ffA͉TU>'ExXcommandsomewhat:GË42.74\\def\verbatim@font{% GË42.75f\normalfontGË42.76f\fontencoding\latinencoding\ttfamily}aInordertobGeabletousecyrilliclettersinmathematicsweneedtohavethe RpackqageUUcyrmathavqailable.GË42.77\\AtEndOfPackage{\RequirePackage{cyrmath}}aThecategorycoGdeofthecharacters:,H;,!,ܲand?ismade\activetoinsertRaUUlittlewhitespace.aF*orUURussian(aswellasforGerman)the"characteralsoismadeactive.GË42.78\\initiate@active@char{:} GË42.79\\initiate@active@char{;}GË42.80\\initiate@active@char{!}GË42.81\\initiate@active@char{?}GË42.82\\initiate@active@char{"}175Sy?RThe7coGdeabove7isnecessarybecauseweneedextraactivecharacters.|lThechar- RacterUU"isusedasindicatedintable17.aW*eUUspGecifythattherussiangroupofshorthandsshouldbeused.GË42.83\\addto\extrasrussian{\languageshorthands{russian}}RTheseUUcharactersare`turnedon'once,latertheirde nitionmayvqary*.GË42.84\\addto\extrasrussian{% GË42.85f\bbl@activate{:}\bbl@activate{;}%GË42.86f\bbl@activate{!}\bbl@activate{?}%GË42.87f\bbl@activate{"}}GË42.88\%\addto\noextrasrussian{%GË42.89\% s,\bbl@deactivate{:}\bbl@deactivate{;}%GË42.90\% s,\bbl@deactivate{!}\bbl@deactivate{?}%GË42.91\% s,\bbl@deactivate{"}} 6\russian@sh@;@  6\russian@sh@:@  6\russian@sh@!@  6\russian@sh@?@RW*e havetoreducetheamountofwhitespacebGefore;,:Land!.XThisshouldonly RhappGenUUinhorizontalmode,hencethetestwith\ifhmode.GË42.92\\declare@shorthand{russian}{;}{%GË42.93f\ifhmodeRInEwhorizontalmoGdewecheckforthepresenceofa`space',H`unskip'ifitexistsand RplaceUUa0.1emkerning.GË42.94o\ifdim\lastskip>\z@GË42.95y2\unskip\penalty\@M\thinspaceGË42.96o\elseGË42.97y2\thinspaceGË42.98o\fiGË42.99f\fiRNowUUwecaninserta;character.C42.100f\string;}aBecauseothesede nitionsareverysimilaronlyoneisdisplayedinawaythat RtheUUde nitioncanbGeeasilychecked.C42.101\\declare@shorthand{russian}{:}{%C42.102f\ifhmodeC42.103o\ifdim\lastskip>\z@C42.104y2\unskip\penalty\@M\thinspaceC42.105o\elseC42.106y2\thinspaceC42.107o\fiC42.108f\fiC42.109f\string:}C42.110\\declare@shorthand{russian}{!}{%C42.111f\ifhmodeC42.112o\ifdim\lastskip>\z@C42.113y2\unskip\penalty\@M\thinspaceC42.114o\elseC42.115y2\thinspaceC42.116o\fi176]֠y?C42.117f\fi C42.118f\string!}C42.119\\declare@shorthand{russian}{?}{%C42.120f\ifhmodeC42.121o\ifdim\lastskip>\z@C42.122y2\unskip\penalty\@M\thinspaceC42.123o\elseC42.124y2\thinspaceC42.125o\fiC42.126f\fiC42.127f\string?} \system@sh@:@ \system@sh@!@ \system@sh@?@ \system@sh@;@RWhenm=theactivecharactersappGearinanenvironmentwheretheirRussianbGe- RhaviourFisnotwantedtheyshouldgivean`expGected'result.(Thereforewede neRshorthandsUUatsystemlevelaswell.C42.128\\declare@shorthand{system}{:}{\string:} C42.129\\declare@shorthand{system}{!}{\string!}C42.130\\declare@shorthand{system}{?}{\string?}C42.131\\declare@shorthand{system}{;}{\string;}aT*oasbGeabletode nethefunctionof",zwe rstde neacoupleof`support' Rmacros.:\dqRW*eTKsavetheoriginaldoublequotecharacterin\dqtokeepitavqailable,TthemathRaccentUU\"cannowbGetypGedas".C42.132\\begingroup\catcode`\"12 C42.133\\def\x{\endgroupC42.134f\def\@SS{\mathchar"7019}C42.135f\def\dq{"}}C42.136\\xaNowƘwecande nethedoublequotemacros:TLgermanandfrenchquotes.ŏThe RfrenchUUquotesaremadedinRussianfontsotheyaredescribGedinlhrcod.styC42.137\\declare@shorthand{russian}{"`}{%C42.138f\textormath{\quotedblbase{}}{\mbox{\quotedblbase}}}C42.139\\declare@shorthand{russian}{"'}{%C42.140f\textormath{\kern-.07em\textquotedblleft{}}{\mbox{\textquotedblleft}}}C42.141\\declare@shorthand{russian}{"<}{%C42.142f\textormath{\flqq}{\mbox{\flqq}}}C42.143\\declare@shorthand{russian}{">}{%C42.144f\textormath{\frqq}{\mbox{\frqq}}}RandUUsomeadditionalcommands:C42.145\\declare@shorthand{russian}{""}{\hskip\z@skip}C42.146\\declare@shorthand{russian}{"~}{\textormath{\leavevmode\hbox{-}}{-}}C42.147\\declare@shorthand{russian}{"=}{\penalty\@M\hskip\z@skip}C42.148\\declare@shorthand{russian}{"|}{%C42.149f\textormath{\penalty\@M\discretionary{-}{}{\kern.03em}%C42.150\allowhyphens}{}}177gWy?RThenexttwomacrosfor"-and"---havesomedi erence. 4W*emustcheck RwhetherUUthesecondtokenisahyphencharacter:C42.151\\declare@shorthand{russian}{"-}{%RIfUUthenexttokenis-,wetypGesetanemdash,else|hyphensign:C42.152f\def\russian@sh@tmp{% C42.153o\if\russian@sh@next-\expandafter\russian@sh@emdashC42.154o\else\expandafter\russian@sh@hyphen\fiC42.155f}%RTU>'ExXloGoksforthenextsignafter rst-,themeaningofthissignitwritesto R\russian@sh@nextUUandcall\russian@sh@tmpC42.156f\futurelet\russian@sh@next\russian@sh@tmp}RThereUUarethede nitionsofhyphenandemdash:qhyphende nition:C42.157\\def\russian@sh@hyphen{% C42.158f\penalty\@M\-\allowhyphens}Remdashyde nition,therearethetwoyparameters:wemust\eat"twolasthyphen RsignsUUofouremdash:C42.159\\def\russian@sh@emdash#1#2{% C42.160f\ifdim\lastskip>\z@C42.161o\unskipC42.162f\fiC42.163f\penalty\@MC42.164f\hskip.2\fontdimen6\fontC42.165f\hboxto.8\fontdimen6\font{--\hss--}%C42.166f\hskip.2\fontdimen6\fontC42.167f\ignorespaces}aTheZrussianhyphenationpatternscanbGeusedwith\lefthyphenminand R\righthyphenminUUsetto2.C42.168\\def\russianhyphenmins{\tw@\tw@}aNow8thething\extrasrussianneedstodoistomakesurethat\frenchspacingRisXine ect.yIfthisisnotthecasetheexecutionof\noextrasrussianwillswitchRitUUo again.C42.169\\addto\extrasrussian{\bbl@frenchspacing} C42.170\\addto\noextrasrussian{\bbl@nonfrenchspacing}aNowweaddanewenumerationstyleforRussianmanuscriptswithCyrilliclet-Rters5andlateronwede nesomemathopGeratornamesinaccordancewithRussianRtypGesettingUUtraditions.+\AsbukRW*ewpbGeginbyde ning\Asbukwhichfunctionslike\Alph,butproGduces(uppercase)RcyrillicUUlettersinteadoflatinones.C42.171\\def\Asbuk#1{\expandafter\@Asbuk\csnamec@#1\endcsname} C42.172\\def\@Asbuk#1{\ifcase#1\orC42.173f\CYRA\or\CYRB\or\CYRV\or\CYRG\or\CYRD\or\CYRE\or\CYRZH\orC42.174f\CYRZ\or\CYRI\or\CYRK\or\CYRL\or\CYRM\or\CYRN\or\CYRO\orC42.175f\CYRP\or\CYRR\or\CYRS\or\CYRT\or\CYRU\or\CYRF\or\CYRH\or178qԠy?C42.176f\CYRC\or\CYRCH\or\CYRSH\or\CYRSHCH\or\CYRErev\or\CYRYU\or C42.177f\CYRYA\else\@ctrerr\fi}%+\asbukRTheUUmacro\asbukissimilarto\alph,itproGduceslowercaseUURussianletters.C42.178\\def\asbuk#1{\expandafter\@asbuk\csnamec@#1\endcsname}C42.179\\def\@asbuk#1{\ifcase#1\orC42.180f\CYRa\or\CYRb\or\CYRv\or\CYRg\or\CYRd\or\CYRe\or\CYRzh\orC42.181f\CYRz\or\CYRi\or\CYRk\or\CYRl\or\CYRm\or\CYRn\or\CYRo\orC42.182f\CYRp\or\CYRr\or\CYRs\or\CYRt\or\CYRu\or\CYRf\or\CYRh\orC42.183f\CYRc\or\CYRch\or\CYRsh\or\CYRshch\or\CYRerev\or\CYRyu\orC42.184f\CYRya\else\@ctrerr\fi}b\mathrussianRSome:mathfunctionsinRussianmathbGooks:haveothernames:e.g.Rwsinhin RRussianUUiswrittenasshetc.qSowede neanumbGerofnewmathoperators.C42.185\\def\sh{\mathop{\operator@fontsh}\nolimits}%sameas\sinhC42.186\\def\ch{\mathop{\operator@fontch}\nolimits}%sameas\coshC42.187\\def\tg{\mathop{\operator@fonttg}\nolimits}%sameas\tanC42.188\\def\arctg{\mathop{\operator@fontarctg}\nolimits}%sameas\arctanC42.189\\def\arcctg{\mathop{\operator@fontarcctg}\nolimits}%C42.190\\def\th{\mathop{\operator@fontth}\nolimits}%sameas\tanhC42.191\\def\ctg{\mathop{\operator@fontctg}\nolimits}%sameas\cotC42.192\\def\cth{\mathop{\operator@fontcth}\nolimits}%sameas\cothC42.193\\def\cosec{\mathop{\operator@fontcosec}\nolimits}%sameas\cscC42.194\\def\Prob{\mathop{\hbox{\sfshapeP}}\nolimits}C42.195\\def\nod{\mathop{\operator@font\CYRn.\CYRo.\CYRd.}\nolimits}C42.196\\def\nok{\mathop{\operator@font\CYRn.\CYRo.\CYRk.}\nolimits}C42.197\\def\Variance{\mathop{\hbox{\sfshapeD}}\nolimits}aThemacro\ldf@finishtakescareofloGokingforacon guration le,setting RthefmainlanguagetobGeswitchedonat\begin{document}andresettingtheRcategoryUUcoGdeofr@toitsoriginalvqalue.C42.198\\ldf@finish{russian} C42.199\h=coAdei179|y?R43rfdTheffLowerSorbianlanguageRThe1 lelsorbian.dtx^57 hItde nesallthelanguage-spGeci cmacrosforLower1Sor- Rbian.aThemacro\LdfInittakescareofpreventingthatthis leisloadedmorethanRonce,UUcheckingthecategorycoGdeofthe@sign,etc. K43.1\hcoAdei K43.2\\LdfInit{lsorbian}\captionslsorbianaWhenTVthis leisreadasanoption,i.e. nbythe\usepackagecommand,Rlsorbian,ڲwillbGean`unknown'languageinwhichcasewehavetomakeitknown.RSocwecheckfortheexistenceof\l@lsorbiantoseewhetherwehavetodosome-RthingUUhere.K43.3\\ifx\l@lsorbian\@undefinedK43.4f\@nopatterns{Lsorbian}K43.5f\adddialect\l@lsorbian\l@usorbian\fiaThenextstepconsistsofde ningcommandstoswitchto(andfrom)theLowerRSorbianUUlanguage.t\captionslsorbianRThePmacro\captionslsorbiande nesallstringsusedinthefourstandarddoGc-RumentclassesUUprovidedwithL5ffA͉TU>'ExX. K43.6\\addto\captionslsorbian{%K43.7f\def\prefacename{Zawod}%K43.8f\def\refname{Referency}%K43.9f\def\abstractname{Abstrakt}%GË43.10f\def\bibname{Literatura}%GË43.11f\def\chaptername{Kapitl}%GË43.12f\def\appendixname{Dodawki}%GË43.13f\def\contentsname{Wop\'simje\'se}%GË43.14f\def\listfigurename{Zapiswobrazow}%GË43.15f\def\listtablename{Zapistabulkow}%GË43.16f\def\indexname{Indeks}%GË43.17f\def\figurename{Wobraz}%GË43.18f\def\tablename{Tabulka}%GË43.19f\def\partname{\'Z\vel}%GË43.20f\def\enclname{P\'si\loga}%GË43.21f\def\ccname{CC}%GË43.22f\def\headtoname{Komu}%GË43.23f\def\pagename{Strona}%GË43.24f\def\seename{gl.}%GË43.25f\def\alsoname{gl.~teke}%GË43.26f\def\proofname{Proof}% s,<--needstranslationGË43.27f}% \newdatelsorbianRThemacro\newdatelsorbianrede nesthecommand\todaytoproGduceLowerRSorbianUUdates.R affr J=w-:57LThe ledescrib'ExX. K44.6\\addto\captionsusorbian{%K44.7f\def\prefacename{Zawod}%K44.8f\def\refname{Referency}%K44.9f\def\abstractname{Abstrakt}%GË44.10f\def\bibname{Literatura}%GË44.11f\def\chaptername{Kapitl}%GË44.12f\def\appendixname{Dodawki}%GË44.13f\def\contentsname{Wobsah}%GË44.14f\def\listfigurename{Zapiswobrazow}%GË44.15f\def\listtablename{Zapistabulkow}%GË44.16f\def\indexname{Indeks}%GË44.17f\def\figurename{Wobraz}%GË44.18f\def\tablename{Tabulka}%GË44.19f\def\partname{D\'z\vel}%GË44.20f\def\enclname{P\vr\loha}%GË44.21f\def\ccname{CC}%GË44.22f\def\headtoname{Komu}%GË44.23f\def\pagename{Strona}%GË44.24f\def\seename{hl.}%GË44.25f\def\alsoname{hl.~te\vz}GË44.26f\def\proofname{Proof}% s,<--needstranslationGË44.27f}% \newdateusorbianRTheimacro\newdateusorbianrede nesthecommand\todaytoproGduceUpperRSorbianUUdates.R affr J=w-:58LThe) ledescrib'ExXtobGeabletohyphenateGermanUpperSorbianwordswhich Rcontain`'wehavetogivethecharacteranonzero\lccode(seeAppGendixH,theRTU>'ExXbGook).GË44.45\\addto\extrasusorbian{\babel@savevariable{\lccode`\^^Y}% GË44.46f\lccode`\^^Y`\^^Y} RTheumlautaccentmacro\"ischangedtolowertheumlautdots.3PTherede nitionRisUUdonewiththehelpof\umlautlow.GË44.47\\addto\extrasusorbian{\babel@save\"\umlautlow} GË44.48\\addto\noextrasusorbian{\umlauthigh} RTheS4UppGerSorbianhyphenationpatternscanbeusedwith\lefthyphenminandR\righthyphenminUUsetto2.GË44.49\\def\usorbianhyphenmins{\tw@\tw@} >:\dqRW*eTKsavetheoriginaldoublequotecharacterin\dqtokeepitavqailable,TthemathRaccentW\"cannowbGetypGedas".AlsowestoretheoriginalmeaningoftheRcommandUU\"forfutureuse.GË44.50\\begingroup\catcode`\"12 GË44.51\\def\x{\endgroup183y?GË44.52f\def\@SS{\mathchar"7019} GË44.53f\def\dq{"}}GË44.54\\x[naNowUUwecande nethedoublequotemacros:qtheumlauts, %GË44.55\\declare@shorthand{usorbian}{"a}{\textormath{\"{a}}{\ddota}}GË44.56\\declare@shorthand{usorbian}{"o}{\textormath{\"{o}}{\ddoto}}GË44.57\\declare@shorthand{usorbian}{"u}{\textormath{\"{u}}{\ddotu}}GË44.58\\declare@shorthand{usorbian}{"A}{\textormath{\"{A}}{\ddotA}}GË44.59\\declare@shorthand{usorbian}{"O}{\textormath{\"{O}}{\ddotO}}GË44.60\\declare@shorthand{usorbian}{"U}{\textormath{\"{U}}{\ddotU}}%Rtremas,GË44.61\\declare@shorthand{usorbian}{"e}{\textormath{\"{e}}{\ddote}}GË44.62\\declare@shorthand{usorbian}{"E}{\textormath{\"{E}}{\ddotE}}GË44.63\\declare@shorthand{usorbian}{"i}{\textormath{\"{\i}}{\ddot\imath}}GË44.64\\declare@shorthand{usorbian}{"I}{\textormath{\"{I}}{\ddotI}}%RusorbianUUes-zet(sharps),GË44.65\\declare@shorthand{usorbian}{"s}{\textormath{\ss{}}{\@SS{}}}GË44.66\\declare@shorthand{usorbian}{"S}{SS}%RgermanUUandfrenchquotes,GË44.67\\declare@shorthandusorbian{}{"`}{%GË44.68f\textormath{\quotedblbase{}}{\mbox{\quotedblbase}}}GË44.69\\declare@shorthand{usorbian}{"'}{%GË44.70f\textormath{\textquotedblleft{}}{\mbox{\textquotedblleft}}}GË44.71\\declare@shorthand{usorbian}{"<}{%GË44.72f\textormath{\guillemotleft{}}{\mbox{\guillemotleft}}}GË44.73\\declare@shorthand{usorbian}{">}{%GË44.74f\textormath{\guillemotright{}}{\mbox{\guillemotright}}}%RdiscretionaryUUcommandsGË44.75\\declare@shorthand{usorbian}{"c}{\textormath{\bbl@discck}{c}}GË44.76\\declare@shorthand{usorbian}{"C}{\textormath{\bbl@discCK}{C}}GË44.77\\declare@shorthand{usorbian}{"f}{\textormath{\bbl@discf{ff}}{f}}GË44.78\\declare@shorthand{usorbian}{"F}{\textormath{\bbl@discF{FF}}{F}}GË44.79\\declare@shorthand{usorbian}{"l}{\textormath{\bbl@discl{ll}}{l}}GË44.80\\declare@shorthand{usorbian}{"L}{\textormath{\bbl@discL{LL}}{L}}GË44.81\\declare@shorthand{usorbian}{"m}{\textormath{\bbl@discm{mm}}{m}}GË44.82\\declare@shorthand{usorbian}{"M}{\textormath{\bbl@discM{MM}}{M}}GË44.83\\declare@shorthand{usorbian}{"n}{\textormath{\bbl@discn{nn}}{n}}GË44.84\\declare@shorthand{usorbian}{"N}{\textormath{\bbl@discN{NN}}{N}}GË44.85\\declare@shorthand{usorbian}{"p}{\textormath{\bbl@discp{pp}}{p}}GË44.86\\declare@shorthand{usorbian}{"P}{\textormath{\bbl@discP{PP}}{P}}GË44.87\\declare@shorthand{usorbian}{"t}{\textormath{\bbl@disct{tt}}{t}}GË44.88\\declare@shorthand{usorbian}{"T}{\textormath{\bbl@discT{TT}}{T}}%RandUUsomeadditionalcommands:GË44.89\\declare@shorthand{usorbian}{"-}{\penalty\@M\-\allowhyphens}GË44.90\\declare@shorthand{usorbian}{"|}{%GË44.91f\textormath{\penalty\@M\discretionary{-}{}{\kern.03em}%184Ƞy?GË44.92\allowhyphens}{}} GË44.93\\declare@shorthand{usorbian}{""}{\hskip\z@skip}+\mdqon '3P\mdqoff :\ckRAll#that'slefttodonowistode neacoupleofcommandsforreasonsofcompat- RibilityUUwithgerman.sty.GË44.94\\def\mdqon{\bbl@activate{"}}GË44.95\\def\mdqoff{\bbl@deactivate{"}}GË44.96\\def\ck{\allowhyphens\discretionary{k-}{k}{ck}\allowhyphens}aThemacro\ldf@finishtakescareofloGokingforacon guration le,setting RthefmainlanguagetobGeswitchedonat\begin{document}andresettingtheRcategoryUUcoGdeofr@toitsoriginalvqalue.GË44.97\\ldf@finish{usorbian} GË44.98\h=coAdei185y?R45rfdTheffTfurkishlanguageRThe9 leturkish.dtx^59 ode nesallthelanguagede nitionmacrosfortheT*urkish Rlanguage^60x.aT*urkishtypGographicrulesspecifythatalittle`whitespace'shouldbeaddedRbGefore2thecharacters`:',9}`!'f-and`='.Inordertoinsertthiswhitespaceautomat-RicallyUUthesecharactersaremade`active'.qAlso\frenhspacingisset.aThemacro\LdfInittakescareofpreventingthatthis leisloadedmorethanRonce,UUcheckingthecategorycoGdeofthe@sign,etc.K45.1\hcoAdei K45.2\\LdfInit{turkish}\captionsturkishaWhen[this leisreadasanoption,i.e.bythe\usepackagecommand,turkishRcouldz"bGean`unknown'languageinwhichcasewehavetomakeitknown./SoweRcheck&Jfortheexistenceof\l@turkishtoseewhetherwehavetodosomethingRhere.K45.3\\ifx\l@turkish\@undefinedK45.4f\@nopatterns{Turkish}K45.5f\adddialect\l@turkish0\fiaTheqnextstepconsistsofde ningcommandstoswitchto(andfrom)theT*urk-RishUUlanguage. \captionsturkishRTheImacro\captionsturkishde nesallstringsusedinthefourstandarddoGcu-RmentclassesUUprovidedwithL5ffA͉TU>'ExX.K45.6\\addto\captionsturkish{%K45.7f\def\prefacename{Preface}%<--Thisneedstranslation!!K45.8f\def\refname{Ba\csvurulanKitaplar}%K45.9f\def\abstractname{Konu}%GË45.10f\def\bibname{Bibliografi}%GË45.11f\def\chaptername{Anab\"ol\"um}%GË45.12f\def\appendixname{Appendix}%GË45.13f\def\contentsname{\.I\ccindekiler}%GË45.14f\def\listfigurename{\cSekillerListesi}%GË45.15f\def\listtablename{Tablolar\i{}nListesi}%GË45.16f\def\indexname{\.Index}%GË45.17f\def\figurename{\cSekiller}%GË45.18f\def\tablename{Tablo}%GË45.19f\def\partname{B\"ol\"um}%GË45.20f\def\enclname{Ekler}%GË45.21f\def\ccname{G\"onderen}%GË45.22f\def\headtoname{Al\i{}c\i}%GË45.23f\def\pagename{Sayfa}%GË45.24f\def\subjectname{To}%<--Thisneedstranslation!!GË45.25f\def\seename{see}%<--Thisneedstranslation!!GË45.26f\def\alsoname{seealso}%<--Thisneedstranslation!!R&effr J=w-:59LThe ledescribw-:60LMustafaBurc,z6001@rziris01.rrz.uni-hamburg.deproÎvidedtheco\z@GË45.49w^\unskip\penalty\@M\thinspaceGË45.50y2\fiGË45.51o\fiGË45.52o\string:%GË45.53f\fi}GË45.54\\declare@shorthand{turkish}{!}{%187~y?GË45.55f\ifmmode GË45.56o\string!%GË45.57f\else\relaxGË45.58o\ifhmodeGË45.59y2\ifdim\lastskip>\z@GË45.60w^\unskip\penalty\@M\thinspaceGË45.61y2\fiGË45.62o\fiGË45.63o\string!%GË45.64f\fi}GË45.65\\declare@shorthand{turkish}{=}{%GË45.66f\ifmmodeGË45.67o\string=%GË45.68f\else\relaxGË45.69o\ifhmodeGË45.70y2\ifdim\lastskip>\z@GË45.71w^\unskip\kern\fontdimen2\fontGË45.72w^\kern-1.4\fontdimen3\fontGË45.73y2\fiGË45.74o\fiGË45.75o\string=%GË45.76f\fi}aThemacro\ldf@finishtakescareofloGokingforacon guration le,setting RthefmainlanguagetobGeswitchedonat\begin{document}andresettingtheRcategoryUUcoGdeofr@toitsoriginalvqalue.GË45.77\\ldf@finish{turkish} GË45.78\h=coAdei188oy?R46rfdTheffBahasalanguageRThe lebahasa.dtx^61 zֲde nesallthelanguagede nitionmacrosforthebahasa Rindonesia/bahasamelayulanguage.7Bahasajustmeans`language'inbahasaRindonesia/bahasamelayu.SincebGothnationalversionsofthelanguageusetheRsamewriting,Palthoughdi eringinpronounciation,this lecanbGeusedforbothRlanguages.aF*orUUthislanguagecurrentlynospGecialde nitionsareneededoravqailable.aThemacro\LdfInittakescareofpreventingthatthis leisloadedmorethanRonce,UUcheckingthecategorycoGdeofthe@sign,etc. [K46.1\hcoAdei K46.2\\LdfInit{bahasa}\captionsbahasa[aWhenHthis leisreadasanoption,i.e.Dbythe\usepackagecommand,bahasaRcouldz"bGean`unknown'languageinwhichcasewehavetomakeitknown./SoweRcheckfortheexistenceof\l@bahasatoseewhetherwehavetodosomethinghere.K46.3\\ifx\l@bahasa\@undefinedK46.4f\@nopatterns{Bahasa}K46.5f\adddialect\l@bahasa0\fiaTheqnextstepconsistsofde ningcommandstoswitchto(andfrom)theBa-RhasaUUlanguage.zf\captionsbahasaRThemacro\captionsbahasade nesallstringsusedinthefourstandarddoGcu-RmentclassesUUprovidedwithL5ffA͉TU>'ExX. [K46.6\\addto\captionsbahasa{%K46.7f\def\prefacename{Pendahuluan}%K46.8f\def\refname{Pustaka}%K46.9f\def\abstractname{Ringkasan}%(sometimeit'scalled'intisari'GË46.10jB% s,or'ikhtisar')GË46.11f\def\bibname{Bibliografi}%GË46.12f\def\chaptername{Bab}%GË46.13f\def\appendixname{Lampiran}%GË46.14f\def\contentsname{DaftarIsi}%GË46.15f\def\listfigurename{DaftarGambar}%GË46.16f\def\listtablename{DaftarTabel}%GË46.17\%Glossary:DaftarIstilahGË46.18f\def\indexname{Indeks}%GË46.19f\def\figurename{Gambar}%GË46.20f\def\tablename{Tabel}%GË46.21f\def\partname{Bagian}%GË46.22\% s,Subject:SubyekGË46.23\% s,From:DariGË46.24f\def\enclname{Lampiran}%GË46.25f\def\ccname{cc}%GË46.26f\def\headtoname{Kepada}%GË46.27f\def\pagename{Halaman}%R ffr J=w-:61LThe) ledescrib'ExX2"-"$thatareneededfor RbabGel.,K47.1\hcoAdei K47.2\\ifx\adddialect\@undefined,RWhen\adddialectisstillunde nedwearemakingaformat.K`InthatcaseonlyRtheUU rstpartofthis leisneeded. _K47.3f\def\@empty{}_RW*ezneedtode ne\loadlocalcfgforplainusersastheL5ffA͉TU>'ExXde nitionusesR\InputIfFileExists.K47.4f\def\loadlocalcfg#1{% K47.5o\openin0#1.cfgK47.6o\ifeof0K47.7y2\closein0K47.8o\elseK47.9y2\closein0GË47.10y2{\immediate\write16{*************************************}%GË47.11}\immediate\write16{*Localconfigfile#1.cfgused}%GË47.12}\immediate\write16{*}%GË47.13}}GË47.14y2\input#1.cfg\relaxGË47.15o\fi_RW*eUUhavetoexecute\@endofldfinthiscaseGË47.16o\@endofldfGË47.17o}_aW*e>wanttoaddamessagetothemessageL5ffA͉TU>'ExXr&2.09putsinthe\everyjob Rregister.qThisUUcouldbGedonebythefollowingcoGde:Y{dX\let\orgeveryjob\everyjobdX\def\everyjob#1{%nY\orgeveryjob{#1}%nY\orgeveryjob\expandafter{\the\orgeveryjob\immediate\write16{%?hyphenationpatternsfor\the\loaded@patternsloaded.}}%nY\let\everyjob\orgeveryjob\let\orgeveryjob\@undefined}Y{RThecoGdeaboverede nesthecontrolsequence\everyjobinordertobeabletoRadd>somethingtothecurrentcontentsoftheregister.ThisisnecessarybGecauseRthehproGcessingofhyphenationpatternshappenslongbeforeL5ffA͉TU>'ExX llstheregister.RThereUUaresomeproblemswiththisapproachthough.Y|akWhenRsomeonewantsRtouseseveralhyphenationpatternswithSfhL38ICiTU>'ExXthekabGoveschemewon'twork.8KThereasonisthatSfhL38ICiTU>'ExXoverwritesthecontentskofUUthe\everyjobregisterwithitsownmessage.,akPlainTU>'ExXdoGesnotusethe\everyjobregistersothemessagewouldnotbekdisplayed.191Ġy?RT*o{circumventthisa`dirtytrick'canbGeused.lAsthiscodeisonlyprocessed Rwhen)creatinganewformat lethereisonecommandthatissuretobGeused,R\dump.^Thereforetheorginal\dumpissavedin\org@dumpandanewde nitionisRsupplied.GË47.18f\let\orig@dump=\dump GË47.19f\def\dump{%RT*o&makesurethatL5ffA͉TU>'ExXƒ2.09executesthe\@begindocumenthookwewouldwantRtoalter\begin{document},]butasthisdonetoGooftenalready*,weaddthenewRcoGdeatthefrontof\@preamblecmds.2ButwecanonlydothatafterithasbGeenRde ned,UUsoweaddthispGeiceofcodeto\dump.GË47.20o\ifx\@ztryfc\@undefined GË47.21o\elseGË47.22y2\toks0=\expandafter{\@preamblecmds}GË47.23y2\edef\@preamblecmds{\noexpand\@begindocumenthook\the\toks0}GË47.24y2\def\@begindocumenthook{}GË47.25o\fiRThisanewde nitionstartsbyaddinganinstructiontowriteamessageonthe Rterminalׂandinthetranscript letoinformtheuserofthepreloadedhyphenationRpatterns.GË47.26o\everyjob\expandafter{\the\everyjob% GË47.27y2\immediate\write16{\the\toks8loaded.}}%RThenUUeverythingisrestoredtotheoldsituationandtheformatisdumpGed.GË47.28o\let\dump\orig@dump\let\orig@dump\@undefined\dump}GË47.29f\expandafter\endinputGË47.30\\fiRTherestofthis leisnotproGcessedbyiniTU>'ExXbutduringthenormaldocument Rrun.qAUUnumbGerofL5ffA͉TU>'ExXmacro'sthatareneededlateron.GË47.31\\long\def\@firstofone#1{#1}GË47.32\\long\def\@firstoftwo#1#2{#1}GË47.33\\def\@ifstar#1{\@ifnextchar*{\@firstoftwo{#1}}}GË47.34\\def\@star@or@long#1{%GË47.35f\@ifstarGË47.36f{\let\l@ngrel@x\relax#1}%GË47.37f{\let\l@ngrel@x\long#1}}GË47.38\\let\l@ngrel@x\relaxGË47.39\\def\@car#1#2\@nil{#1}GË47.40\\def\@cdr#1#2\@nil{#2}GË47.41\\let\@typeset@protect\relaxGË47.42\\long\def\@gobble#1{}GË47.43\\edef\@backslashchar{\expandafter\@gobble\string\\}GË47.44\\def\strip@prefix#1>{}GË47.45\\def\g@addto@macro#1#2{{%GË47.46o\toks@\expandafter{#1#2}%GË47.47o\xdef#1{\the\toks@}}}GË47.48\\def\@namedef#1{\expandafter\def\csname#1\endcsname}192Sy?RL5ffA͉TU>'ExX2"{,has?thecommand\@onlypreamblewhichaddscommandstoalistof RcommandsUUthatarenolongerneededafter\begin{document}.GË47.49\\ifx\@preamblecmds\@undefined GË47.50f\def\@preamblecmds{}GË47.51\\fiGË47.52\\def\@onlypreamble#1{%GË47.53f\expandafter\gdef\expandafter\@preamblecmds\expandafter{%GË47.54o\@preamblecmds\do#1}}GË47.55\\@onlypreamble\@onlypreambleRMimmickL5ffA͉TU>'ExX's\AtBeginDocument;ߦforthistoworktheuserneedstoaddR\begindocumentUUtohis le.GË47.56\\def\begindocument{%GË47.57f\@begindocumenthookGË47.58f\global\let\@begindocumenthook\@undefinedGË47.59f\def\do##1{\global\let##1\@undefined}%GË47.60f\@preamblecmdsGË47.61f\global\let\do\noexpandGË47.62f}GË47.63\\ifx\@begindocumenthook\@undefinedGË47.64f\def\@begindocumenthook{}GË47.65\\fiGË47.66\\@onlypreamble\@begindocumenthookGË47.67\\def\AtBeginDocument{\g@addto@macro\@begindocumenthook}RW*eaAalsohaveaAtomimickL5ffA͉TU>'ExX's\AtEndOfPackage.OurreplacementmacroisRmuchUUsimpler;itstoresitsargumentin\@endofldf.GË47.68\\def\AtEndOfPackage#1{\g@addto@macro\@endofldf{#1}}GË47.69\\@onlypreamble\AtEndOfPackageGË47.70\\def\@endofldf{}GË47.71\\@onlypreamble\@endofldfRL5ffA͉TU>'ExX8needstobGeabletoswitcho writingtoitsauxiliary les;plaindoesn'tRhaveUUthembydefault.GË47.72\\let\if@filesw\iffalseRMimickUUL5ffA͉TU>'ExX'scommandstode necontrolsequences.GË47.73\\def\newcommand{\@star@or@long\new@command} GË47.74\\def\new@command#1{%GË47.75f\@testopt{\@newcommand#1}0}GË47.76\\def\@newcommand#1[#2]{%GË47.77f\@ifnextchar[{\@xargdef#1[#2]}%GË47.78D{\@argdef#1[#2]}}GË47.79\\long\def\@argdef#1[#2]#3{%GË47.80f\@yargdef#1\@ne{#2}{#3}}GË47.81\\long\def\@xargdef#1[#2][#3]#4{%GË47.82f\expandafter\def\expandafter#1\expandafter{%GË47.83o\expandafter\@protected@testopt\expandafter#1%GË47.84o\csname\string#1\expandafter\endcsname{#3}}%GË47.85f\expandafter\@yargdef\csname\string#1\endcsname193Gy?GË47.86f\tw@{#2}{#4}} GË47.87\\long\def\@yargdef#1#2#3{%GË47.88f\@tempcnta#3\relaxGË47.89f\advance\@tempcnta\@neGË47.90f\let\@hash@\relaxGË47.91f\edef\reserved@a{\ifx#2\tw@[\@hash@1]\fi}%GË47.92f\@tempcntb#2%GË47.93f\@whilenum\@tempcntb<\@tempcntaGË47.94f\do{%GË47.95o\edef\reserved@a{\reserved@a\@hash@\the\@tempcntb}%GË47.96o\advance\@tempcntb\@ne}%GË47.97f\let\@hash@##%GË47.98f\l@ngrel@x\expandafter\def\expandafter#1\reserved@a}GË47.99\\let\providecommand\newcommandC47.100C47.101\\def\DeclareRobustCommand{\@star@or@long\declare@robustcommand}C47.102\\def\declare@robustcommand#1{%C47.103jp\edef\reserved@a{\string#1}%C47.104jp\def\reserved@b{#1}%C47.105jp\edef\reserved@b{\expandafter\strip@prefix\meaning\reserved@b}%C47.106jp\edef#1{%C47.107y2\ifx\reserved@a\reserved@bC47.1080\noexpand\x@protectC47.1090\noexpand#1%C47.110y2\fiC47.111y2\noexpand\protectC47.112y2\expandafter\noexpand\csnameC47.1130\expandafter\@gobble\string#1\endcsnameC47.114jp}%C47.115jp\expandafter\new@command\csnameC47.116y2\expandafter\@gobble\string#1\endcsnameC47.117\}C47.118\\def\x@protect#1{%C47.119jp\ifx\protect\@typeset@protect\elseC47.120y2\@x@protect#1%C47.121jp\fiC47.122\}C47.123\\def\@x@protect#1\fi#2#3{%C47.124jp\fi\protect#1%C47.125\}aL5ffA͉TU>'ExXuhasamacrotocheckuwhetheracertainpackqagewasloadedwithspGeci c Roptions.MsTheYcommandhastwoYextraargumentswhicharecoGdetobeexecutedinReitherthetrueorfalsecase.YThisisusedtodetectwhetherthedoGcumentneedsRone{oftheaccentstobGeactivqated(activegraveandactiveacute).\F*orplainTU>'ExXweRassumetthattheuserwantstthemtobGeactivebydefault.E'ThereforetheonlythingRweUUdoisexecutethethirdargument(thecoGdeforthetruecase).C47.126\\def\@ifpackagewith#1#2#3#4{% C47.127f#3}194y?aF*orrthefollowingcoGdeweneedtomakesurethatthecommands\newcommand Rand`\providecommandexistwithsomesensiblede nition.TheyarenotfullyRequivqalentWRtotheirL5ffA͉TU>'ExX2"2Nversions;QjustenoughtomakethingsworkinRplainUUTU>'ExXenvironments.C47.128\\ifx\@tempcnta\@undefined C47.129f\csnamenewcount\endcsname\@tempcnta\relaxC47.130\\fiC47.131\\ifx\@tempcntb\@undefinedC47.132f\csnamenewcount\endcsname\@tempcntb\relaxC47.133\\fiRT*oPpreventwastingtwocountersinL5ffA͉TU>'ExX2.09(bGecausecounterswiththesame RnamevarealloGcatedlaterbyit)weresetthecounterthatholdsthenextfreecounterR(\count10). CC47.134\\ifx\bye\@undefined C47.135adD\advance\count10by-2\relaxC47.136\\fiC47.137\\ifx\@ifnextchar\@undefinedC47.138f\def\@ifnextchar#1#2#3{%C47.139o\let\reserved@d=#1%C47.140o\def\reserved@a{#2}\def\reserved@b{#3}%C47.141o\futurelet\@let@token\@ifnch}C47.142f\def\@ifnch{%C47.143o\ifx\@let@token\@sptokenC47.144y2\let\reserved@c\@xifnchC47.145o\elseC47.146y2\ifx\@let@token\reserved@dC47.147w^\let\reserved@c\reserved@aC47.148y2\elseC47.149w^\let\reserved@c\reserved@bC47.150y2\fiC47.151o\fiC47.152o\reserved@c}C47.153f\def\:{\let\@sptoken=}\: s,%thismakes\@sptokenaspacetokenC47.154f\def\:{\@xifnch}\expandafter\def\:{\futurelet\@let@token\@ifnch}C47.155\\fiC47.156\\def\@testopt#1#2{%C47.157f\@ifnextchar[{#1}{#1[#2]}}C47.158\\def\@protected@testopt#1{%%C47.159f\ifx\protect\@typeset@protectC47.160o\expandafter\@testoptC47.161f\elseC47.162o\@x@protect#1%C47.163f\fi}C47.164\\long\def\@whilenum#1\do#2{\ifnum#1\relax#2\relax\@iwhilenum{#1\relaxC47.165tJ#2\relax}\fi}C47.166\\long\def\@iwhilenum#1{\ifnum#1\expandafter\@iwhilenumC47.1670\else\expandafter\@gobble\fi{#1}}CRCoGdeUUfromltoutenc.dtx,adaptedforuseintheplainTU>'ExXenvironment.1950y?C47.168\\def\DeclareTextCommand{% C47.169jp\@dec@text@cmd\providecommandC47.170\}C47.171\\def\ProvideTextCommand{%C47.172jp\@dec@text@cmd\providecommandC47.173\}C47.174\\def\DeclareTextSymbol#1#2#3{%C47.175jp\@dec@text@cmd\chardef#1{#2}#3\relaxC47.176\}C47.177\\def\@dec@text@cmd#1#2#3{%C47.178jp\expandafter\def\expandafter#2%C47.179y2\expandafter{%C47.1800\csname#3-cmd\expandafter\endcsnameC47.1810\expandafter#2%C47.1820\csname#3\string#2\endcsnameC47.183y2}%C47.184\%,\let\@ifdefinable\@rc@ifdefinableC47.185jp\expandafter#1\csname#3\string#2\endcsnameC47.186\}C47.187\\def\@current@cmd#1{%C47.188f\ifx\protect\@typeset@protect\elseC47.189y2\noexpand#1\expandafter\@gobbleC47.190f\fiC47.191\}C47.192\\def\@changed@cmd#1#2{%C47.193jp\ifx\protect\@typeset@protectC47.194y2\expandafter\ifx\csname\cf@encoding\string#1\endcsname\relaxC47.1950\expandafter\ifx\csname?\string#1\endcsname\relaxC47.196]\expandafter\def\csname?\string#1\endcsname{%C47.197x\@changed@x@err{#1}%C47.198]}%C47.1990\fiC47.2000\global\expandafter\letC47.201 \csname\cf@encoding\string#1\expandafter\endcsnameC47.202 \csname?\string#1\endcsnameC47.203y2\fiC47.204y2\csname\cf@encoding\string#1%C47.205w^\expandafter\endcsnameC47.206jp\elseC47.207y2\noexpand#1%C47.208jp\fiC47.209\}C47.210\\def\@changed@x@err#1{%C47.211o\errhelp{Yourcommandwillbeignored,typetoproceed}%C47.212o\errmessage{Command\protect#1undefinedinencoding\cf@encoding}}C47.213\\def\DeclareTextCommandDefault#1{%C47.214jp\DeclareTextCommand#1?%C47.215\}C47.216\\def\ProvideTextCommandDefault#1{%C47.217jp\ProvideTextCommand#1?%196"y?C47.218\} C47.219\\expandafter\let\csnameOT1-cmd\endcsname\@current@cmdC47.220\\expandafter\let\csname?-cmd\endcsname\@changed@cmdC47.221\\def\DeclareTextAccent#1#2#3{%C47.222f\DeclareTextCommand#1{#2}[1]{\accent#3##1}C47.223\}C47.224\\def\DeclareTextCompositeCommand#1#2#3#4{%C47.225jp\expandafter\let\expandafter\reserved@a\csname#2\string#1\endcsnameC47.226jp\edef\reserved@b{\string##1}%C47.227jp\edef\reserved@c{%C47.228tJ\expandafter\@strip@args\meaning\reserved@a:-\@strip@args}%C47.229jp\ifx\reserved@b\reserved@cC47.230y2\expandafter\expandafter\expandafter\ifxC47.2310\expandafter\@car\reserved@a\relax\relax\@nilC47.2320\@text@compositeC47.233y2\elseC47.2340\edef\reserved@b##1{%C47.235]\def\expandafter\noexpandC47.236x\csname#2\string#1\endcsname####1{%C47.237x\noexpand\@text@compositeC47.238:\expandafter\noexpand\csname#2\string#1\endcsnameC47.239:####1\noexpand\@empty\noexpand\@text@compositeC47.240:{##1}%C47.241]}%C47.2420}%C47.2430\expandafter\reserved@b\expandafter{\reserved@a{##1}}%C47.244y2\fiC47.245y2\expandafter\def\csname\expandafter\string\csnameC47.2460#2\endcsname\string#1-\string#3\endcsname{#4}C47.247jp\elseC47.248tJ\errhelp{Yourcommandwillbeignored,typetoproceed}%C47.249tJ\errmessage{\string\DeclareTextCompositeCommand\spaceusedonC47.2500inappropriatecommand\protect#1}C47.251jp\fiC47.252\}C47.253\\def\@text@composite#1#2#3\@text@composite{%C47.254jp\expandafter\@text@composite@xC47.255y2\csname\string#1-\string#2\endcsnameC47.256\}C47.257\\def\@text@composite@x#1#2{%C47.258jp\ifx#1\relaxC47.259y2#2%C47.260jp\elseC47.261y2#1%C47.262jp\fiC47.263\}C47.264\%C47.265\\def\@strip@args#1:#2-#3\@strip@args{#2}C47.266\\def\DeclareTextComposite#1#2#3#4{%C47.267jp\def\reserved@a{\DeclareTextCompositeCommand#1{#2}{#3}}%197+Ġy?C47.268jp\bgroup C47.269y2\lccode`\@=#4%C47.270y2\lowercase{%C47.271jp\egroupC47.272y2\reserved@a@%C47.273jp}%C47.274\}C47.275\%C47.276\\def\UseTextSymbol#1#2{%C47.277\%,\let\@curr@enc\cf@encodingC47.278\%,\@use@text@encoding{#1}%C47.279jp#2%C47.280\%,\@use@text@encoding\@curr@encC47.281\}C47.282\\def\UseTextAccent#1#2#3{%C47.283\%,\let\@curr@enc\cf@encodingC47.284\%,\@use@text@encoding{#1}%C47.285\%,#2{\@use@text@encoding\@curr@enc\selectfont#3}%C47.286\%,\@use@text@encoding\@curr@encC47.287\}C47.288\\def\@use@text@encoding#1{%C47.289\%,\edef\f@encoding{#1}%C47.290\%,\xdef\font@name{%C47.291\%Y\csname\curr@fontshape/\f@size\endcsnameC47.292\%,}%C47.293\%,\pickup@fontC47.294\%,\font@nameC47.295\%,\@@enc@updateC47.296\}C47.297\\def\DeclareTextSymbolDefault#1#2{%C47.298jp\DeclareTextCommandDefault#1{\UseTextSymbol{#2}#1}%C47.299\}C47.300\\def\DeclareTextAccentDefault#1#2{%C47.301jp\DeclareTextCommandDefault#1{\UseTextAccent{#2}#1}%C47.302\}C47.303\\def\cf@encoding{OT1}RCurrentlyweonlyusetheL5ffA͉TU>'ExX2",qpmethoGdforaccentsforthosethatareknown RtoUUbGemadeactiveinsomelanguagede nition le. C47.304\\DeclareTextAccent{\"}{OT1}{127}C47.305\\DeclareTextAccent{\'}{OT1}{19}C47.306\\DeclareTextAccent{\^}{OT1}{94}C47.307\\DeclareTextAccent{\`}{OT1}{18}C47.308\\DeclareTextAccent{\~}{OT1}{126}RThe followingtwocontrolsequencesareusedinbabel.defbutarenotde ned RforUUCplainTU>'ExX. C47.309\\DeclareTextSymbol{\textquotedblright}{OT1}{`\"}C47.310\\DeclareTextSymbol{\textquoteright}{OT1}{`\'}C47.311\\DeclareTextSymbol{\i}{OT1}{16}C47.312\\DeclareTextSymbol{\ss}{OT1}{25}1985y?RF*or#acoupleoflanguagesweneedtheL5ffA͉TU>'ExX-controlsequence\scriptsizetobGe Ravqailable.8TBecauseplainTU>'ExXdoGesn'thavesuchaso sticatedfontmechanismasRL5ffA͉TU>'ExXUUhas,wejust\letitto\sevenrm.C47.313\\ifx\scriptsize\@undefined C47.314f\let\scriptsize\sevenrmC47.315\\fiC47.316\h=coAdei199?&y?RIndexRNumbGerswritteninitalicrefertothepagewherethecorrespondingentryisde- RscribGed,Dthe onesunderlinedtothecodelineofthede nition,DtheresttothecodeRlinesUUwheretheentryisused.ǍURadddialect=X\subitem*+\adddialect+,\usage{8} Raddlanguage=X\subitem*+\addlanguage+,\usage{8}Raddto=X\subitem*+\addto+,\usage{10}Raliasshorthand=X\subitem*+\aliasshorthand+,\usage{4}Rallo9whyphens=X\subitem*+\allowhyphens+,\usage{10}UURsa9ve=X\subitemsave+,\usage{10}Rsa9vev|rariable=X\subitemsavevariable+,\usage{10}Ractiv|rate=X\subitemactivate+,\usage{10}Rdeactiv|rate=X\subitemdeactivate+,\usage{10}Rfrenc9hspacing=X\subitemfrenchspacing+,\usage{11}Rnonfrenc9hspacing=X\subitemnonfrenchspacing+,\usage{11}Rcaptionslang=X\subitem*+\captionslang+,\usage{9}Rdatelang=X\subitem*+\datelang+,\usage{9}Rshorthand=X\subitemshorthand+,\usage{10}U˪de neshorthand=X\subitem*+\defineshorthand+,\usage{3}˪en9vironments:>otherlanguage*, 骬>j cmti93,A 20A fe ?˪en9vironments:>otherlanguage,骬3,A 20A fe ?˪extraslang=X\subitem*+\extraslang+,\usage{9}˪foreignlanguage=X\subitem*+\foreignlanguage+,\usage{3}˪i anguage=X\subitem*+\iflanguage+,\usage{3}˪langh9yphenmins=X\subitem*+\langhyphenmins+,\usage{9}˪languagename=X\subitem*+\languagename+,\usage{3}˪languageshorthands=X\subitem*+\languageshorthands+,\usage{4}˪ nish=X\subitemfinish+,\usage{9}˪quit=X\subitemquit+,\usage{9}UEUXLdfInit=X\subitem*+\LdfInit+,\usage{9} EUXloadloAcalcfg=X\subitem*+\loadlocalcfg+,\usage{9}EUXlanguage=X\subitemlanguage+,\usage{9}EUXnoAextraslang=X\subitem*+\noextraslang+,\usage{9}EUXon9toAday=X\subitem*+\ontoday+,\usage{148}EUXotherlanguage*=otherlanguage*cUX(en9vironment),3EUXotherlanguage=otherlanguagecUX(en9vironment),3EUXselectlanguage=X\subitem*+\selectlanguage+,\usage{3}EUXsubsitutefon9tfamily=X\subitem*+\subsitutefontfamily+,\usage{9}EUXuseshorthands=X\subitem*+\useshorthands+,\usage{3}200At;yE2@cmbx8C- cmcsc10Aj cmti9=Cscmtt8;#fcmti89t}\cmti78߆Tff cmtt127kAHff cmssbx103DFff cmmib102kAH cmssbx101N cmbx120': cmti10/ߤN cmtt9. logo10 !", cmsy10 b> cmmi10K`y cmr10ٓRcmr7L