; TeX output 1997.02.18:1023soLDtGGcmr17Babsel,7tamqultilingualpackageforusewithLdKGXQ cmr12AT[-E;gX'szstandard7tdoscumenqtclasses!", cmsy10eGJohannesBraams KoSoienswrater62Ɔ2715AJZoSetermeerόTheNetherlandse߆T cmtt12JLBraams@cistron.nlO}PrinrtedFVebruary18,1997-!Kt : cmbx9Abstract0_oo cmr9ThestandarddistributionofL5Aacmr6A TuAEXcon9tainsanumbAerofdocumen9t bclassesthataremean9ttobAeused,butalsoserveasexamplesforotherbusersRtocreatetheiro9wndoAcumentclasses.YiThesedoAcumentclasseshavebbAecomevv9erypopularamongL5A TuAEXusers.Butitshouldbek9eptinmindbthatpgtheyw9eredesignedforAmericantastesandtypAography:.-Atonetimebtheycon9tainedanumbAerofhard-wiredtexts.nThisreportdescribes ow cmss9babel,bapac9k|ragethatmakesuseofthenewcapabilitiesofTuAEXversion3topro-bvide)sanen9vironment)sinwhic9hdoAcumentscanbAetypAesetinanon-americanblanguageTorinmorethanonelanguage.Y'ƍI"Nff cmbx12Contents]͍I#"V cmbx101XTheTuserin9terface'ExXnicalUUdetailsƶ.....o8724.3%CaptionnamesUUanddateԴ.o8924.4%PunctuationMэ........o9024.5%F*renchUUquotationmarks[э.o9224.6%F*renchUUlistsT󍍑........o9324.7%F*rench indentationof %sectionsʍ..........o9424.8%F*ormattingUUnumbGersͨ...o9524.9%ExtraUUutilities ʍ.......o97 =25TheTItalianlanguage$510026TheTP9ortugueselanguage -10227TheTSpanishlanguage10728TheTCatalanlanguagek11229TheTGalicianlanguage11930TheTRomanianlanguage12331TheTDanishlanguage")12532TheTNorw9egianlanguageU12833TheTSw9edishlanguageط13134TheTFinnishlanguageE13535TheTHungarianlanguage13836TheTEstonianlanguage141 36.1%Implementation...... n14137TheTCroatianlanguage14638TheTCzec9hlanguage'!14839TheTP9olishlanguage&e&15040TheTSlo9v\raklanguage$15641TheTSlo9venianlanguagegN15842TheTRussianlanguage16143The Lo9werSorbianlan-guageo1682soI44XThe NUppQerSorbianlan- Xguageo170I45XTheTT urkishlanguage(17446TheTBahasalanguage!17747SuppQortforformatsbased onTplainT<8E3sXN6179!čI1aLTheffuserinterfaceIThe7userinterfaceofthispackqageisquitesimple.KItconsistsofasetofcommands IthatJswitchfromonelanguagetoanotherandasetofcommandsthatdealwithIshorthands.qItUUisalsopGossibleto ndoutoutwhatthecurrentlanguageis.XWhenauserwantstoswitchfromonelanguagetoanotherhecandosousing 6/ߤN cmtt9\selectlanguageIthemacro\selectlanguage.'Thismacrotakesthelanguage,0de nedpreviouslyIbyHalanguagede nition le,asitsargument.ItcallsseveralmacrosthatshouldIbGede nedinthelanguagede nition lestoactivqatethespecialde nitionsfortheIlanguageUUchosen.XTheienvironmentotherlanguagedoGesbasicallythesameas\selectlanguage,botherlanguageIexcept]thelanguagechangeisloGcaltotheenvironment. [F*ormixingleft-to-IrightahtypGesettingwithright-to-lefttypGesettingtheuseofthisenvironmentisIa>wprerequisite. -.ThelanguagetoswitchtoisspGeci edasanargumenttoI\begin{otherlanguage}.XTheJgcommand\foreignlanguagetakestwoarguments,Lthesecondargumentf\foreignlanguageIis[aphrasetobGetypesetaccordingtotherulesofthelanguagenamedinits rstIargument.AThisčcommandonlyswitchestheextrade nitionsandthehyphenationIrulesUUforthelanguage,0': cmti10notH-thenamesanddates.XIntheenvironmentotherlanguage*onlythetypGesettingisdoneaccordingtootherlanguage*Itherulesoftheotherlanguage,butthetext-stringssuchas` gure',`table',etc.IareUUleftastheyweresetoutsidethisenvironment.XTheKbcontrolsequence\languagenamecontainsthenameofthecurrentlan-b\languagenameIguage.XIffmorethanonelanguageisuseditmightbGenecessarytoknowwhichlanguage \iflanguageIisactiveataspGeci ctime.J|Thiscanbecheckedbyacallto\iflanguage.J|ThisImacrotakesthreearguments.kThe rstargumentisthenameofalanguage,theIsecondandthirdargumentsaretheactionstotakeiftheresultofthetestistrueIorUUfalserespGectively*.XThecommand\useshorthandsinitiatesthede nitionofuser-de nedshort-\useshorthandsIhand֪sequences.Ithasoneargument,thecharacterwhichstartsthesepGersonalIshorthands.XThe2command\defineshorthandtakestwoarguments,the rstofwhichisf\defineshorthandIa{oneortwo{charactersequence,thesecondargumentisthecoGdetheshorthandIshouldUUexpandto.XThe#command\aliasshorthandcanbGeusedtoletanothercharacterperform 6\aliasshorthandItheKGsamefunctionsasthedefaultshorthandcharacter.nmIfoneprefersforexampleItousethecharacter/over"intypingpGolishtextsthiscanbeacheivedbyenteringI\aliasshorthand{"}{/}.XThecommand\languageshorthandscanbGeusedtoswitchtheshorthandson9\languageshorthandsItheWlanguagelevel.xIttakesoneargument,X>thenameofalanguage.xNotethatforIthis5toworkthelanguageshouldhavebGeenspeci edasanoptionwhenloadingItheUUbabGelpackqage.3 soI1N cmbx121.1gLanguagessupp`ortedby2kAH cmssbx10Bab]eluTIIn8KthefollowingtableallthelanguagessuppGortedby[BabGelarelisted,q together IwithUUthenamesoftheoptionswithwhichyoucanloadbabGelforeachlanguage.qǍ?daBAfrikqaansafrikqaansaBBahasabahasaaBBretonbretonaBCatalancatalanaBCroatiancroatianaBCzechczechaBDanishdanishaBDutchdutchaBEnglishenglish,UUUSenglish,american,UKenglish,britishaBEspGerantoespGerantoaBEstonianestonianaBFinnish nnishaBF*renchfrench,UUfrancaisaBGaliciangalicianaBGermanaustrian,UUgerman,germanbaBGreekgreekaBHungarianmagyar,UUhungarianaBIrishUUGaelicirishaBItalianitalianaBLowerUUSorbianlowersorbianaBNorwegiannorsk,UUnynorskaBPolishpGolishaBPortuguesepGortuges,UUportuguese,brazilian,brazilaBRomanianromanianaBRussianrussianaBScottishUUGaelicscottishaBSpanishspanishaBSlovqakianslovqakaBSloveniansloveneaBSwedishswedishaBT*urkishturkishaBUppGerUUSorbianuppGersorbianaBW*elshwelshXF*or).somelanguagesbabGelsupportstheoptionsactiveacuteandactivegrave;7forItypGestting&russiantextsbabelknowsabouttheoptionsLWN andLCY tospecifyItheUUfontencoGdingofthecyrillicfontused.qCurrentlyonlyxLWNissuppGorted.6I1.2gWork@aroundsuTIWhenJyouusethedoGcumentclassbookandSgyouuse\refinsidetheargumentofI\chapteryouwillexpGeriencetheproblemthatL5ffٓRcmr7A͉TU>'ExXwillkeepcomplainingabGoutIanwunde nedlabGel.s.Thereasonisthattheargumentof\refispassedthroughI\uppercase òatsometimeduringproGcessing.YT*oprevent suchproblemsyoucouldIrevert%tousinguppGercaselabels,oryoucanuse\lowercase{\ref{foo}}insideItheUUargumentof\chapter.41soI2aLChangesffforL++AnTL32EdXn 2(3DFff cmmib10"IWiththeadventofL5ffA͉TU>'ExX2 b> cmmi10"+theinterfacetobabGelinthepreambleofthedoument Ihas)_changed.WithL5ffA͉TU>'ExX2.09oneusedtocallupthebabGelsystemwithalineIsuchUUas:D7I\documentstyle[dutch,english]{article}D7Xwhich!wouldtellL5ffA͉TU>'ExXthatthedoGcumentwouldbGewrittenintwolanguages,IdutchUUandenglishandthatenglishwouldbGethe rstlanguageinuse.XTheUUL5ffA͉TU>'ExX2"+TwayUUofprovidingthesameinformationis:I\documentclass{article} I\usepackage[dutch,english]{babel}D7Xor,makingmdutchoandenglishglobaloptionsinordertoletotherpackqagesdetectIandUUusethem:I\documentclass[dutch,english]{article} I\usepackage{babel}I\usepackage{varioref}D7XInfthislastexamplethepackqagevariorefwillalsoseetheoptionsandwill IbGeUUabletousethem. mI3aLChangesffin7kAHff cmssbx10Babpelversion3.6IInBabGelversion3.6anumbGerofbugsthatwerefoundinversion3.5are xed.IAlsoUUanumbGerUUofchangesandadditionshaveoGccured:iōX !", cmsy10bAwnewwenvironmentotherlanguage*isintroGduced.itonlyswitchesthe`spGe-bcials',UUbutleavesUUthe`captions'untouched.⍍XbThe]shorthandsarenolongerfullyexpandable.1SomeproblemscouldonlybGebsolvedVbypGeekingatthetokenfollowinganactivecharacter.NrTheadvqantagebisUUthat'{}aworksasexpGectedforlanguagesthathavethe'active.XbSuppGort@fortypesettingfrenchtextsismuchenhanced;rthe lefrancais.ldfbisUUnowreplacedbyxfrenchb.ldfwhichismaintainedbyDanielFlipGo.XbSuppGortYwfortypesettingtherussianlanguageisagainavqailable.~.Thelan-bguangelde nition lewasoriginallydeveloppGedbyOlgaLapkofromcyrtug.bTheu fontsneededtotypGesettherussianlanguagearenowpartofthebabGelbdistribution.&ThessuppGortisnotyetuptothelevelwhichisneededaccordingbtoUUOlga,butthisisastart.XbSuppGortfortypesettinggreektextsisnowalsoavqailable.Whatiso eredbin&thisreleaseisa rstattempt;VitwillbGeenhancedlateronbyY*annisbHaralambGous.XbSuppGortMfortypesettingtextsinAfrikqaans(avariantofDutch,spGokeninbSouthUUAfrica)hasbGeenaddedtodutch.ldf.XbSuppGortUUfortypesettingwelshtextsisnowavqailable.5<soXbAnewcommand\aliasshorthandisintroGduced.p ItseemsthatinPoland bvqariousoconventionsareusedtotypGethenecessarypolishletters.GItisnowbpGossibleStousethecharacter/asashorthandcharacterinsteadofthechar-bacterUU"byissuingthecommand\aliasshorthand{"}{/}.XbTheshorthandmechanismnowdealscorrectlywithcharactersthatareal-breadyUUactive.XbShorthandfcharactersaremadeactiveat\begin{document},*notearlier.bThisUUistopreventUUproblemswithotherpackqages.XbAtpr}'eambleonlyWcommandt\substitutefontfamilyhasbGeenaddedtocre-bate.fd lesonthe ywhenthefontfamiliesofthelatintextdi erfrombtheUUfamiliesusedforthecyrillicorgreekpartsofthetext.XbThreenewcomands\LdfInit,\ldf@quitand\ldf@finishareintroGducedbthatUUpGerformanumberUUofstandardtasks.!čI4aLChangesffinBabpelversion3.5IIn/:BabGelversion3.5alotofchangeshavebGeenmadewhencomparedwiththeIpreviousUUrelease.qHereisalistofthemostimpGortantones:Xbthe?{selectionofthelanguageisdelayed?{untill\begin{document},w thishasthebconsequencethatyouneedtoaddappropriate\selectlanguagecommandsbifUUyouinclude\hyphenationlistsinthepreambleofyourdoGcument.XbbabGel8nowhasalanguageenvironmentandanewcommand\foreignlanguage;Xbthefwayactivecharactersaredealtwithiscompletelychanged.Theyarebcalledk`shorthands';vonecanhavekthreelevelsofshorthands:ontheuserblevel,Kthelanguagelevelandon`systemlevel'.Aconsequenceofthenewbwayofhandlingactivecharactersisthattheyarenowwrittentoauxiliaryb lesUU`verbatim';XbAhlanguagechangenowalsowritesinformationinthe.aux leasthechangebmightUQalsoa ecttypGesettingthetableofcontents.qTheconsequenceisthatbanR[.aux legeneratedbyaLaT*eXRZformatwithbabGelpreloadedgiveserrorsbwhen=readwithaLaT*eX=RformatwithoutbabGel,wbutIthinkthisproblalybdoGesn'tUUoccur;XbbabGelUUisnowcompatiblewiththeinputencandfontencpackqages;XbtheUUlanguagede nition lesnowhaveanewextension,ldf;Xbthe/syntaxofthe lelanguage.datisextendedtobGecompatiblewiththebfrenchUUpackqagebyBernardGaulle;Xbeach"languagede nition leloGoksforacon guration lewhichhasthesamebname,UUbuttheextension.cfg.qItcancantainanyvqalidL5ffA͉TU>'ExXcoGde.6HsoI5aLTheHinterfacebs3etweenthecoreofbabpelandtheaLlanguageffde nition lesIInkthecoreofthebabGelsystemtwokmacrosarede nedthataretobeusedin IlanguageUUde nition les.qTheirpurpGoseistomakeanewlanguageknown.XThegmacro\addlanguageisanon-outerversionofthemacro\newlanguage,L\addlanguageIde ned8inplain.texversion3.x.F*orolderversionsofplain.texandlplain.texIaUUsubstitutede nitionisused.XThe@macro\adddialectcanbGeusedinthecasewheretwo@languagescan(or \adddialectIhaveRto)usethesamehyphenationpatterns.pThiscanalosbGeusefulwhenauserIwants%tousealanguageforwhichnopatternsarepreloadedintheformat.InIsuch#acasethedefaultbGehaviourofthebabGelsystemistode nethislanguageasIaUU`dialect'ofthelanguageforwhichthepatternswereloadedas\language0.XThelanguagede nition leshavetoconformtoanumbGerofconventions.S=TheIreasonpforthisisthatthese leshavepto llinthegapsleftbythecommoncoGdeIinv0babel.def,gi.e.,thede nitionsofthemacrosthatproGducetexts.XAlsotheIlanguage-switchingpGossibilitywhichhasbGeenbuiltintothebabGelsystemhasitsIimplications.XTheUUfollowingassumptionsaremade:9XbSomeGofthelanguage-spGeci cde nitionsmightbeusedbyplainTU>'ExXusers,bso1the leshave1tobGecodedsuchthattheycanbereadbyL5ffA͉TU>'ExXaswellasbbyplainTU>'ExX.[ThecurrentformatcanbGecheckedbyloGokingatthevqalueofbtheUUmacro\fmtname.XbThejcommonpartofthebabGelsystemrede nesanumberjofmacrosandbenvironments*(de nedpreviouslyinthedoGcumentstyle)toputinthenamesbof,macrosthatreplacethepreviouslyhard-wiredtexts.LThesemacroshavebtoUUbGede nedinthelanguagede nition les.XbThe"languagede nition lesde ne vemacros,,usedtoactivqateanddeacti-bvqatethelanguage-spGeci cde nitions.;Thesemacrosare\hlang}i"hyphenmins,b\captionshlang}i",+\datehlang}i,\extrashlang}iand\noextrashlang}i;6wherebhlang}iH!iseitherthenameofthelanguagede nition leorthenameofthebL5ffA͉TU>'ExX8optionthatistobGeused.:pThesemacrosandtheirfunctionsaredis-bcussedUUbGelow.XbWhenalanguagede nition leisloaded,'itcande ne\l@hlang}i"tobGeabdialectUUof\language0when\l@hlang}i"isunde ned.XbTheklanguagede nition lescanbGereadinthepreambleofthedocument,bbutalsointhemiddleofdoGcumentprocessing.ThismeansthattheyhavebtoUUfunctionindepGendentlyofthecurrent\catcodeofthe@sign.9XThe8macro\hlang}i"hyphenminsisusedtostorethevqaluesofthe\lefthyphenmin 6\langhyphenminsIandUU\righthyphenmin.XThefmacro\captionshlang}i"de nesthemacrosthatholdthetextstoreplaceb\captionslangItheUUoriginalhard-wiredtexts.XTheUUmacro\datehlang}i"de nes\todayandy\datelangXThemacro\extrashlang}i"containsalltheextrade nitionsneededforaspGeci c \extraslangIlanguage.XBecause#wewanttoo ertheuserthepGossibilitytoswitchbGetweenlan-b\noextraslang7UsoIguagesandwedonotknowinwhatstateTU>'ExXmightbGeaftertheexecutionof I\extrashlang}i",:7a3omacrothatbringsTU>'ExXintoaprede nedstateisneeded.fzItwillIbGeUUnosurprisethatthenameofthismacrois\noextrashlang}i".XT*opGostponetheactivqationofthede nitionsneededforalanguageuntillthe\main@languageIbGeginning!ofadocument,+alllanguagede nition lesshoulduse\main@languageIinsteadJof\selectlanguage.ThiswilljuststorethenameofthelanguageandItheUUpropGerlanguagewillbeactivqatedatthestartofthedocument.XTheM macro\LdfInitpGerformsacoupleofstandardchecksM thathaveM tobe3P\LdfInitImadeAatthebGeginningofalanguagede nition le,EsuchascheckingthecategoryIcoGdeUUofthe@-sign,preventingUUthatthe.ldf leisprocessedtwice,etc.XThe?macro\ldf@quitpGerformsacoupleoftasksthatneedtobetakencarey\ldf@quitIof5whena.ldf lewasproGcessedearlier. JThesetasksincludetheresettingIofthecategorycoGdeofthe@-sign, preparingthelanguagetobeactivqatedatI\begin{document}UUtimeandendingtheinputstream.XThezmacro\ldf@finishpGerformsacoupleoftasksthatneedtobetakencare \ldf@finishIofattheendofeach.ldf le.3ThesetasksincludetheresettingofthecategoryIcoGdeofthe@-sign, theloadingofalocalcon guration leandpreparingtheIlanguageUUtobGeactivqatedat\begin{document}time.XAtQPtheendoftheproGcessingofalanguagede nition leL5ffA͉TU>'ExXcanbeinstructedb\loadlocalcfgItoSloadaloGcalcon guration le.qGThis lecanforinstancebeusedtoaddstringsIto}\captionshlang}i inordertosuppGortlocaldocumentclasses.dTheuserwillbeIinformedJofthefactthatthiscon guration leisloaded.n ThismacroiscalledbyI\finish@ldf.XThisfbcommandtakesthreearguments,afontencoGdingandtwofontfamily߀H\subsitutefontfamilyInames.OItocreatesafontdescription leforthe rstfontinthegivenencoGding.IThis5.fd lewillinstructL5ffA͉TU>'ExXtouseafontfromthesecondfamilywhenafontIfromUUthe rstfamilyinthegivenencoGdingseemstoneeded.6I5.1gSupp`ortforactivecharactersuTIIn quiteanumbGer oflanguagede nition les,OactivecharactersareintroGduced.AT*oIfacilitateUUthis,somesuppGortmacrosareprovided.XThebinternalmacro\initiate@active@charisusedinlanguagede nition lesƲ\initiate@active@charItorinstructL5ffA͉TU>'ExXtogiveacharacterthecategorycoGde`active'.NWhenacharacterIhaslbGeenmadeactiveitwillremainthatwayuntilltheendofthendoGcument.X$ItsIde nitionUUmayvqary*.XThepcommand\bbl@activateisusedtochangethewayanactivecharacterb\bbl@activate 6\bbl@deactivateIexpands. R\bbl@activate`switcheson'theactivebGehaviourofthecharacter.I\bbl@deactive ?letstheactivecharacterexpandtoitsformer(mostly)non-activeIself.XThejmacro\declare@shorthandisusedtode nethevqariousshorthands.PItt\declare@shorthandItakeskthreearguments,?1thenameforthecollectionofshorthandsthisde nitionIbGelongs1lto;=dthecharacter(sequence)thatmakesuptheshorthandi.i.~or"aandItheUUcoGdetobeexecutedwhentheshorthandisencountered.XTheTU>'ExXbGookstates:\PlainTU>'ExXincludesamacrocalled\dospecialsthatf\bbl@add@special9\bbl@remove@specialIisېessentiallyasetmacro,representingthesetofallcharactersthathaveaspGe-Icial2categorycoGde." [1,jap.380]Itisusedtosettext`verbatim'.T*omakethisIworkifmorecharactersgetaspGecialcategorycode,4youhavetoaddthischar-Iacter'ExXaddsanothermacrocalled\@sanitizeIrepresentingthesamecharacterset,Obutwithoutthecurlybraces.MThemacros8 fsoI\bbl@add@specialhchariand\bbl@remove@specialhchariaddandremovethe IcharacterUUhchari"AtoUUthesetwosets.6I5.2gSupp`ortforsavingmacrode nitionsuTILanguage:rde nition lesmaywanttor}'e[de nemacrosthatalreadyexist.|ThereforeIamechanismforsaving(andrestoring)theoriginalde nitionofthosemacrosisIprovided.qW*eUUprovidetwomacrosforthis^1|s.XT*owsavethecurrentmeaningofanycontrolsequencethemacro\babel@save \babel@saveIis`provided.Ittakesoneargument,chcsname[i,,cthecontrolsequenceforwhichtheImeaningUUhastobGesaved.XA:second;macroisprovidedtosavethecurrentvqalueofavariable.#!Inthis9\babel@savevariableIcontextN7anythingthatisallowedafterthe\theprimitiveisconsideredtobGeaIvqariable.qTheUUmacrotakesoneargument,thehvariable[i-0.XTheue ectoftheaforementionedmacrosisthatapieceofcoGdeisappendedItoEthecurrentde nitionof\originalTeX.When\originalTeXEisexpandedthisIcoGde.5restoresthepreviousde nitionofthecontrolsequenceorthepreviousvqalueIofUUthevqariable.I5.3gSupp`ortforextendingmacrosuTITheMmacro\addto{hc}'ontrol%1se}'quence[iN }{hTKß'E-Xc}'ode[i4}canbGeusedtoextendthe!|\addtoIde nitionofamacro. 2ThemacroneednotbGede ned.Thismacrocan,P_forIinstance,UUbGeusedinaddinginstructionstoamacrolike\extrasenglish.I5.4gMacroscommontoanumb`eroflanguagesuTIInacoupleofeuropGeanlanguagescompoundwordsareused.8Thismeansthatb\allowhyphensIwhenTU>'ExXhastohyphenatesuchacompGoundworditonlydoGesthatatthe`-'IthatSVisusedinsuchwords.qT*oallowhyphenationintherestofsuchacompGoundIwordUUthemacro\allowhyphenscanbGeused.XF*or+somelanguagesquotesneedtobGelowered+tothebaseline.IForthispur-L\set@low@boxIpGosethemacro\set@low@boxisavqailable.YfIttakesoneargumentandputsthatIargumentinan\hbox,atthebaseline.ONTheresultisavqailablein\box0forfurtherIproGcessing.XSometimesitisnecessarytopreservethe\spacefactor.@F*orthispurpGose$\save@sf@qItheimacro\save@sf@qisavqailable. Ittakesoneargument,DmsavesthecurrentIspacefactor,UUexecutestheargumentandrestoresthespacefactor.XThe7commands\bbl@frenchspacingand\bbl@nonfrenchspacingcanbGet\bbl@frenchspacingƲ\bbl@nonfrenchspacingIusedUUtopropGerlyswitchfrenchspacingonando .!čI6aLCompatibilityffwith8߆Tff cmtt12german.styITheQ legerman.styhasbGeenoneofthesourcesofinspirationforthebabelsys-Item.Because9ofthisI9wanted9toincludegerman.styinthebabGelsystem.T*oIbGezabletodothatIzhadtoallowforoneincompatibility:8inthede nitionoftheImacroW\selectlanguageingerman.stytheargumentisusedasthehnumb}'eriIfffr J= "5-:1LThisXmecÎhanismwasintro'ExX,f*someoftheIfeaturesnimplementedinthelanguagede nition lesmightbGeneededbyplainITU>'ExXusers.CarehasbGeentakenthatall lesinthesystemcanbeprocessedbyIplainUUTU>'ExX.!čI7aLCompatibilityffwiththefrenchpackageIItՠhasbGeenreportedtomethatthepackqagefrenchbyBernardGaulleI(gaulle@idris.fr)UUworkstogetherwithbabGel.XTherefore,babGelwill rstsearchforthe lefrench.ldfwhenyougiveittheIoptionofrench;thenitwilltrytoloadfrenchb.ldf.WhenyougivebabGeltheIoptionUUfrancaisitwillonlyloGokforfrenchb.ldf.I8aLIdenti cationIThe lebabel.sty^33MismeantforL5ffA͉TU>'ExX2"( ,֌thereforewemakesurethattheformatI leUUusedistherightone.XThenidenti cationcoGdeforeach leissomethingthatwasintroGducedinIL5ffA͉TU>'ExX2"nS.]LWhenthecommand\ProvidesFiledoGesnotexist,wv3.6dummyde -InitionUUisprovided.Fq8.1S cmsy9h!pack9age%i Fq8.2S\ifx\ProvidesFile\@undefinedFq8.3]\def\ProvidesFile#1[#2#3#4]{%Fq8.4f\wlog{#4#3<#2>}%Fq8.5Shk9ernel8&patternsAo)i\Aandhyphenationpatternsfor}%Fq8.6f}Fq8.7Shk9ernel8&patternsF'iFq8.8SA\elseIInthiscasewesavetheorginalde nitionof\ProvidesFilein\bbl@tempaand IrestoreUUitafterwehavestoredtheversionofthe lein\toks8.Fq8.9]A\let\bbl@tempa\ProvidesFileB8.10]A\def\ProvidesFile#1[#2#3#4]{%B8.11f A\toks8{Babel<#3>andhyphenationpatternsfor}%B8.12f A\bbl@tempa{#1}[#2#3#4]%B8.13f A\let\ProvidesFile\bbl@tempa}B8.14Sh5" cmmi9=k9ernel8&patternsF'iB8.15S\fiB8.16Sh=!pack9age%iIfffr J= "5-:2LTheX`b'isaddedtothenametodistinguishthe lefromPÎartls' le. > "5-:3LThe ledescrib'ExX2")@,anew leisintroGduedto Ithe֯babGelsystem,babel.sty.This leisloadedbythe\usepackagecommandIandUUde nesallthelanguageoptionsknowninthebabGelsystem.XF*orUUallthelanguagessuppGortedweneedtodeclareanoption.Fq9.1Shpack9age#g i Fq9.2S\ifx\LdfInit\undefined\input{babel.def}\fiFq9.3S\DeclareOption{afrikaans}{\input{dutch.ldf}}Fq9.4S\DeclareOption{american}{\input{english.ldf}}IAustrianUUisreallyadialectofGerman.Fq9.5S\DeclareOption{austrian}{\input{germanb.ldf}}Fq9.6S\DeclareOption{bahasa}{\input{bahasa.ldf}}Fq9.7S\DeclareOption{brazil}{\input{portuges.ldf}}Fq9.8S\DeclareOption{brazilian}{\input{portuges.ldf}}Fq9.9S\DeclareOption{breton}{\input{breton.ldf}}B9.10S\DeclareOption{british}{\input{english.ldf}}B9.11S\DeclareOption{catalan}{\input{catalan.ldf}}B9.12S\DeclareOption{croatian}{\input{croatian.ldf}}B9.13S\DeclareOption{czech}{\input{czech.ldf}}B9.14S\DeclareOption{danish}{\input{danish.ldf}}B9.15S\DeclareOption{dutch}{\input{dutch.ldf}}B9.16S\DeclareOption{english}{\input{english.ldf}}B9.17S\DeclareOption{esperanto}{\input{esperant.ldf}}B9.18S\DeclareOption{estonian}{\input{estonian.ldf}}B9.19S\DeclareOption{finnish}{\input{finnish.ldf}}IThe@babGelsupportorF*renchusedtobestoredinfrancais.ldf;thereforethe IL5ffA͉TU>'ExX2.09optionusedtobGefrancais.TThehyphenationpatternsmaybGeloadedasIeitherUU`french'oras`francais'.B9.20S\DeclareOption{francais}{\input{frenchb.ldf}} B9.21S\DeclareOption{frenchb}{\input{frenchb.ldf}}IWithEL5ffA͉TU>'ExX2"04weEcannowalsousetheoptionfrenchandstillcallthe leIfrancais.ldf.B9.22S\IfFileExists{french.ldf}{%11 #soB9.23]\DeclareOption{french}{\input{french.ldf}}% B9.24]}{%B9.25]\DeclareOption{french}{\input{frenchb.ldf}}%B9.26]}B9.27S\DeclareOption{galician}{\input{galician.ldf}}B9.28S\DeclareOption{german}{\input{germanb.ldf}}B9.29S\DeclareOption{germanb}{\input{germanb.ldf}}B9.30S\DeclareOption{greek}{\input{greek.ldf}}IhungarianUUisjustasynonymformagyarB9.31S\DeclareOption{hungarian}{\input{magyar.ldf}}B9.32S\DeclareOption{irish}{\input{irish.ldf}}B9.33S\DeclareOption{italian}{\input{italian.ldf}}B9.34S\DeclareOption{lowersorbian}{\input{lsorbian.ldf}}B9.35S\DeclareOption{magyar}{\input{magyar.ldf}}B9.36S\DeclareOption{norsk}{\input{norsk.ldf}}IF*orUUNorwegiantwospGellingvqariantsareprovided.B9.37S\DeclareOption{nynorsk}{\input{norsk.ldf}}B9.38S\DeclareOption{polish}{\input{polish.ldf}}B9.39S\DeclareOption{portuges}{\input{portuges.ldf}}B9.40S\DeclareOption{portuguese}{\input{portuges.ldf}}B9.41S\DeclareOption{romanian}{\input{romanian.ldf}}B9.42S\DeclareOption{russian}{\input{russianb.ldf}}B9.43S\DeclareOption{scottish}{\input{scottish.ldf}}B9.44S\DeclareOption{slovak}{\input{slovak.ldf}}B9.45S\DeclareOption{slovene}{\input{slovene.ldf}}B9.46S\DeclareOption{spanish}{\input{spanish.ldf}}B9.47S\DeclareOption{swedish}{\input{swedish.ldf}}B9.48S\DeclareOption{turkish}{\input{turkish.ldf}}B9.49S\DeclareOption{uppersorbian}{\input{usorbian.ldf}}B9.50S\DeclareOption{welsh}{\input{welsh.ldf}}B9.51S\DeclareOption{UKenglish}{\input{english.ldf}}B9.52S\DeclareOption{USenglish}{\input{english.ldf}}XApartVjfromallthelanguageoptionswealsohaveafewoptionsthatin uence ItheUUbGehaviouroflanguagede nition les.XTheڱfollowingoptionsdon'tdoanythingthemselves,theyarejustde nedinIordervtomakeitpGossibleforlanguagede nition lestocheckifoneofthemwasIspGeci edUUbytheuser.B9.53S\DeclareOption{activeacute}{} B9.54S\DeclareOption{activegrave}{}IThenextoptiontellsbabGeltoleaveshorthandcharactersactiveattheendofIproGcessingsthepackqage.̑ThisisnotfpthedefaultasitcancauseproblemswithIotherD&packqages,butforthosewhowanttousetheshorthandcharactersintheIpreambleUUoftheirdoGcumentsthiscanhelp.B9.55S\DeclareOption{KeepShorthandsActive}{% B9.56]\def\KeepShorthandsActive{}}XTheoptionshavetobGeprocessedintheorderinwhichtheuserspeci edthem:B9.57S\ProcessOptions*12 so \substitutefontfamilyIThe׉command\substitutefontfamilycreatesan.fd leonthe y*.cThe rst Iargument8isanencoGdingmnemonic,?0thesecondandthirdargumentsarefontIfamilyUUnames.B9.58S\def\substitutefontfamily#1#2#3{% B9.59]\immediate\openout15=#1#2.fd\relaxB9.60]\immediate\write15{%B9.61f\string\ProvidesFile{#1#2.fd}%B9.62f[\the\year/\two@digits{\the\month}/\two@digits{\the\day}B9.63kJ\spacegeneratedfontdescriptionfile]^^JB9.64f\string\DeclareFontFamily{#1}{#2}{}^^JB9.65f\string\DeclareFontShape{#1}{#2}{m}{n}{<->ssub*#3/m/n}{}^^JB9.66f\string\DeclareFontShape{#1}{#2}{m}{it}{<->ssub*#3/m/it}{}^^JB9.67f\string\DeclareFontShape{#1}{#2}{m}{sl}{<->ssub*#3/m/sl}{}^^JB9.68f\string\DeclareFontShape{#1}{#2}{m}{sc}{<->ssub*#3/m/sc}{}^^JB9.69f\string\DeclareFontShape{#1}{#2}{b}{n}{<->ssub*#3/bx/n}{}^^JB9.70f\string\DeclareFontShape{#1}{#2}{b}{it}{<->ssub*#3/bx/it}{}^^JB9.71f\string\DeclareFontShape{#1}{#2}{b}{sl}{<->ssub*#3/bx/sl}{}^^JB9.72f\string\DeclareFontShape{#1}{#2}{b}{sc}{<->ssub*#3/bx/sc}{}^^JB9.73f}%B9.74]\closeout15B9.75]}IThisUUcommandshouldonlybGeusedinthepreambleofadocument.B9.76S\@onlypreamble\substitutefontfamilyB9.77Sh=pack9age#g i!čI10ifdTheffKernelofBabs3elIThe"ykernelofthebabGelsystemisstoredineitherhyphen.cfgorswitch.defand Ibabel.def.39The lehyphen.cfgisa lethatcanbGeloadedintotheformat,IwhichisnecessarywhenyouwanttobGeabletoswitchhyphenationpatterns.IThe lebabel.defcontainssomeTU>'ExXcoGdethatcanbereadinatruntime.IWhen babel.defisloadeditchecks ifhyphen.cfgisintheformat;"ifnotthe leIswitch.defUUisloaded.XBecauseplainTU>'ExXusersmightwanttousesomeofthefeaturesofthebabGelIsystemtoGo,<.carehastobetakenthatplainTU>'ExXcanprocessthe les.F*orthisIreason6thecurrentformatwillhavetobGecheckedinanumbGerofplaces.`kSomeIofSNthecoGdebelowiscommontoplainTU>'ExXandL5ffA͉TU>'EX,SsomeofitisfortheL5ffA͉TU>'EXIcaseUUonly*.XWhenthecommand\AtBeginDocumentdoGesn'texistweassumethatweareIdealingUUwithaplain-basedformat.qInthatcasethe leplain.defisneeded.B10.1Shk9ernel8jcore1i B10.2S\ifx\AtBeginDocument\@undefinedB10.3]\inputplain.def\relaxB10.4S\fiB10.5Sh=k9ernel8jcore1iXCheckthepresenceofthecommand\iflanguage,Kifitisunde nedreadthe I leUUswitch.def.B10.6Shco9re_iB10.7S\ifx\iflanguage\@undefined13soB10.8]\inputswitch.def\relax B10.9S\fi>Ë10.10Sh=co9re_i6I10.1nMultiplelanguagesuTIWithmeTU>'ExXversion3.0ithasbGecomepossibletoloadhyphenationpatternsformore IthanJonelanguage.ThismeansthatsomeextraadministrationhastobGetakenIcareof.MQTheuserhastoknowforwhichlanguagespatternshavebGeenloaded,andIwhatUUvqaluesof\languagehaveUUbGeenused.XSome~discussionhasbGeengoingonintheTU>'ExXworldabouthowtouseI\language.GSome*havesuggestedtoseta xedstandard,i.e.,patternsforeachIlanguageshouldalwaysbGeloadedinthesamelocation.FIthasalsobeensuggestedItomusetheC- cmcsc10CisolistforthispurpGose.OthershavempointedmoutthattheCisolistIcontainsUUmorethan256languages,whichhavenotH-bGeennumbGeredconsecutively*.XI+think+VthebGestway+Vtouse\language,`istouseitdynamically*.ThiscodeIimplementsanalgorithmtodoso.BItusesanexternal leinwhichthepGersonwhoImaintainsaTU>'ExXenvironmenthastorecordforwhichlanguageshehashyphen-Iation-patternsandinwhich lesthesearestored^4|s.XWhenhyphenationexceptionsIare storedinaseparate lethiscanbGeindicatedbynamingthat leafter&the leIwithUUthehyphenationpatterns.XThiswt\con guration le"cancontainemptylinesandcomments,aswellasIlinesMwhichstartwithanequals(=)sign.oPSuchalinewillinstructL5ffA͉TU>'ExXthattheIhyphenation2patternsjustproGcessedhavetobGeknownunderanalternativename.IHereUUisanexample:[X%FileX:language.dat [X%Purpose:telliniTeXwhatfileswithpatternstoload.[XenglishXenglish.hyphenations[X=british[XdutchYhyphen.dutchexceptions.dutch%Nederlands[Xgermanhyphen.gerXAsthe leswitch.defneedstobGereadonlyonce,wecheckwhetheritwas IreadbGefore.pIfitwas,thecommand\iflanguageisalreadyde ned,sowecanIstopUUproGcessing.>Ë10.11Shk9ernelAi >Ë10.12Sh!patterns&i>Ë10.13SA\expandafter\ifx\csnameiflanguage\endcsname\relax\else>Ë10.14SA\expandafter\endinput>Ë10.15SA\fi>Ë10.16Sh=!patterns&i$\languageIPlain`TU>'ExXversion3.0providestheprimitive\languagethatisusedtostore Ithecurrentlanguage. YWhenusedwithapre-3.0versionthisfunctionhastobGeIimplementedUUbyalloGcatingacounter.>Ë10.17S\ifx\language\@undefinedIffffr J= "5-:4LThisisbË10.18]\csnamenewcount\endcsname\language >Ë10.19S\fin 6\last@languageIAnotherBcounterisusedtostorethelastlanguagede ned.TF*orpre-3.0formatsan IextraUUcounterhastobGeallocated, ύ>Ë10.20S\ifx\newlanguage\@undefined>Ë10.21]\csnamenewcount\endcsname\last@languageύIplainUUTU>'ExXversion3.0uses\count?19forthispurpGose.>Ë10.22S\else>Ë10.23]\countdef\last@language=19>Ë10.24S\finb\addlanguageIT*oaddlanguagestoTU>'ExX'smemoryplainTU>'EXversion3.0supplies\newlanguage, Iinapre-3.0environmentasimilarmacrohastobGeprovided.F*orbothcasesaInewRmacroisde nedhere,bGecausetheoriginal\newlanguagewasde nedtobeI\outer.XF*oruaformatbasedonplainversion2.x, thede nitionof\newlanguagecanInotbGecopiedbecause\count?19isusedforotherpurposesintheseformats.ITherefore\addlanguageisde nedusingade nitionbasedonthemacrosusedtoIde neUU\newlanguageinplainTU>'ExXversion3.0.>Ë10.25S\ifx\newlanguage\@undefined >Ë10.26]\def\addlanguage#1{%>Ë10.27f\global\advance\last@language\@ne>Ë10.28f\ifnum\last@language<\@cclvi>Ë10.29f\else>Ë10.30yw^\errmessage{Noroomforanew\string\language!}%>Ë10.31f\fi>Ë10.32f\global\chardef#1\last@language>Ë10.33f\wlog{\string#1=\string\language\the\last@language}}ύXF*oreformatsbasedonplainversion3.0thede nitionof\newlanguagecanbGe IsimplyUUcopied,removing\outer.瞍>Ë10.34S\else>Ë10.35]\def\addlanguage{\alloc@9\language\chardef\@cclvi}>Ë10.36S\fin L\adddialectIThemacro\adddialectcanbGeusedtoaddthenameofadialectorvqariantIlanguage,UUforwhichanalreadyde nedhyphenationtablecanbGeused. ύ>Ë10.37S\def\adddialect#1#2{%>Ë10.38f\global\chardef#1#2\relax>Ë10.39f\wlog{\string#1=adialectfrom\string\language#2}}n L\iflanguageIUsersZ>mightwanttotest(inaprivqatepackqageforinstance)whichlanguageisIcurrentlyzactive.5F*orthisweprovideatestmacro,C\iflanguage,thathasthreeIarguments.TIt /checkswhetherthe rstargumentisaknownlanguage.TIfso,;%itIcomparesthe rstargumentwiththevqalueof\language.PThen,4depGendingonItheGresultofthecomparison,Jitexecuteseitherthesecondorthethirdargument. ύ>Ë10.40S\def\iflanguage#1#2#3{%>Ë10.41]\expandafter\ifx\csnamel@#1\endcsname\relax>Ë10.42f\@nolanerr{#1}%>Ë10.43]\else15ɖso>Ë10.44f\ifnum\csnamel@#1\endcsname=\language#2% >Ë10.45f\else#3\fi>Ë10.46]\fi}f\selectlanguageITheMpmacro\selectlanguagechecksMpwhetherthelanguageisalreadyde ned IbGeforeitperformsitsactualtask,whichistoupdate\languageandactivqateIlanguage-spGeci cUUde nitions.XT*o[Dallowthecallof\selectlanguageeitherwithacontrolsequencenameorIwithasimplestringasargument,IwehavetouseatricktodeletetheoptionalIescapGeUUcharacter.XT*o$convertacontrolsequencetoastring,.jweusethe\stringprimitive.aNextIweohavetoloGokatthe rstcharacterofthisstringandcompareitwiththeescapGeIcharacter.wBecause:thisescapGecharactercanbGechangedbysettingtheinternalIinteger`\escapechartoacharacternumbGer,wehavetocomparethisnumbGerwithIthecharacterofthestring.`oT*odothiswehavetouseTU>'ExX'sbackquotenotationItoUUspGecifythecharacterasanumbGer.XIfthe rstcharacterofthe\string'edargumentisthecurrentescapGechar-Iacter,thecomparisonhasstrippGedthischaracterandtherestinthe`then'partIconsistseqoftherestofthecontrolsequencename.OtherwiseweknowthateitherItheargumentisnotacontrolsequenceor\escapecharissettoavqalueoutsideIofUUthecharacterrange0{255.XIfwtheusergivesanemptyargument,!weprovideadefaultargumentforI\string.qThisUUargumentshouldexpandtonothing.>Ë10.47S\edef\selectlanguage{% >Ë10.48]\noexpand\protect>Ë10.49]\expandafter\noexpand\csnameselectlanguage\endcsname>Ë10.50]}IBecauseIthecommand\selectlanguagecouldbGeusedinamovingargumentit Iexpands3to\protect\selectlanguage .fTherefore,:wehavetomakesurethataImacroUU\protectexists.qIfitdoGesn'titis\letto\relax.>Ë10.51S\ifx\@undefined\protect\let\protect\relax\fiIAsB!L5ffA͉TU>'ExXy2.09writesto lesexp}'andedJwhereasB!L5ffATU>'ExX2"+takesB!carenot4toexpandItheAkargumentsof\writestatementsweneedtobGeabitcleverabGoutthewayweIadd/|informationto.aux les.e)ThereforeweintroGducethemacro\xstringwhichIshouldUUexpandtotherightamountof\string's.>Ë10.52S\ifx\documentclass\@undefined >Ë10.53]\def\xstring{\string\string\string}>Ë10.54S\else>Ë10.55]\let\xstring\string>Ë10.56S\fi>Ë10.57S\expandafter\def\csnameselectlanguage\endcsname#1{%>Ë10.58]\edef\languagename{%>Ë10.59f\ifnum\escapechar=\expandafter`\string#1\@empty>Ë10.60f\else\string#1\@empty\fi}%>Ë10.61]\select@language{\languagename}%IW*eUUalsowriteacommandtochangethecurrentlanguageintheauxiliary les.>Ë10.62]\if@filesw>Ë10.63f\protected@write\@auxout{}{\string\select@language{\languagename}}%>Ë10.64f\addtocontents{toc}{\xstring\select@language{\languagename}}%16so>Ë10.65f\addtocontents{lof}{\xstring\select@language{\languagename}}% >Ë10.66f\addtocontents{lot}{\xstring\select@language{\languagename}}%>Ë10.67]\fi}XFirst,checkiftheuserasksforaknownlanguage.aIfso,upGdatethevqalueof I\language#andcall\originalTeX#tobringTU>'ExXinacertainpre-de nedstate.>Ë10.68S\def\select@language#1{%>Ë10.69]\expandafter\ifx\csnamedate#1\endcsname\relax>Ë10.70f\@nolanerr{#1}%>Ë10.71]\else>Ë10.72f\language=\csnamel@#1\endcsname\relax>Ë10.73f\originalTeXITheb nameofthelanguageisstoredinthecontrolsequence\languagename.The IcontentsUUofthiscontrolsequencecouldbGetestedinthefollowingway:[X\edef\tmp{\stringenglish}[X\ifx\languagename\tmpn̰...[X\elsen̰...[X\fiITheconstructionwith\stringisnecessarybGecause\languagenamereturnstheInameAwithcharactersofcategorycoGde12(other).Thenwehavetor}'e[de neI\originalTeX8"to8\compGensateforthethingsthathave8\beenactivqated.T*osaveImemoryNspaceforthemacrode nitionof\originalTeX,weconstructthecontrolIsequencenameforthe\noextrashlang}i"commandatde nitiontimebyexpandingItheUU\csnameprimitive.>Ë10.74f\expandafter\def\expandafter\originalTeX>Ë10.75yw^\expandafter{\csnamenoextras#1\endcsname>Ë10.76\let\originalTeX\@empty}%>Ë10.77f\languageshorthands{none}%>Ë10.78f\babel@beginsaveINowactivqatethelanguage-spGeci cde nitions. ThisisdonebyconstructingItheGnamesofthreemacrosbyconcatenatingthreewordswiththeargumentofI\selectlanguage,UUandcallingthesemacros.>Ë10.79f\csnamecaptions#1\endcsname>Ë10.80f\csnamedate#1\endcsname>Ë10.81f\csnameextras#1\endcsname\relaxITheswitchingofthevqaluesof\lefthyphenminand\righthyphenminissome-Iwhart8di erent.Firstwesavetheircurrentvqalues,qthenwecheckif\hlang}i"hyphenminsIisY9de ned.}rIfitisnotwesetdefaultvqalues(2and3),1otherwisethevaluesinI\hlang}i"hyphenminsUUwillbGeused.>Ë10.82f\babel@savevariable\lefthyphenmin>Ë10.83f\babel@savevariable\righthyphenmin>Ë10.84f\expandafter\ifx\csname#1hyphenmins\endcsname\relax>Ë10.85p2\lefthyphenmin\tw@\righthyphenmin\thr@@\relax>Ë10.86f\else>Ë10.87p2\expandafter\expandafter\expandafter\set@hyphenmins>Ë10.88yw^\csname#1hyphenmins\endcsname\relax17Qso>Ë10.89f\fi >Ë10.90]\fi}otherlanguageIThe<otherlanguageenvironment<canbGeusedasanalternativetousingthe I\selectlanguage declarativecommand.WhenyouaretypGesettingadocumentIwhichmixesleft-to-rightandright-to-lefttypGesettingyouhavetousethisenvi-IronmentUUinordertoletthingsworkasyouexpGectthemto.XThe rstthingthisenvironmentdoGesisstorethenameofthelanguageinI\languagename;witthencalls\selectlanguage toswitchoneverythingthatisIneededforthislanguageThe\ignorespacescommandisnecessarytohidetheIenvironmentUUwhenitisenteredinhorizontalmoGde. @>Ë10.91S\long\def\otherlanguage#1{%>Ë10.92]\def\languagename{#1}%>Ë10.93]\csnameselectlanguage\endcsname{#1}%>Ë10.94]\ignorespaces>Ë10.95]}@IThe\endotherlanguagepartoftheenvironmentcalls\originalTeXƲtorestoreI(most$of)thesettingsandtriestohideitselfwhenitiscalledinhorizontalmoGde. @>Ë10.96S\long\def\endotherlanguage{%>Ë10.97]\originalTeX>Ë10.98]\global\@ignoretrue\ignorespaces>Ë10.99]} 6otherlanguage*ITheotherlanguageenvironmentismeanttobGeusedwhenalargepartoftextfromIasdi erentlanguageneedstobGetypGeset,{ butwithoutchangingthetranslationofIwordsUUsuchas` gure'.XThisUUenvironmentmakesuseof\foreign@language. @:10.100S\expandafter\def\csnameotherlanguage*\endcsname#1{%:10.101]\foreign@language{#1}%:10.102]}@IAttheendoftheenvironmentweneedtoswitcho theextrade nitions.dkTheIgroupingmechanismoftheenvironmentwilltakecareofresettingthecorrectIhyphenationUUrules. @:10.103S\expandafter\def\csnameendotherlanguage*\endcsname{%:10.104]\csnamenoextras\languagename\endcsname:10.105]} \foreignlanguageIThe^\foreignlanguagecommandisanothersubstituteforthe\selectlanguageIcommand.WThiscommandtakestwoarguments,xthe rstargumentisthenameofItheUUlanguagetousefortypGesettingthetextspeci edinthesecondargument.XUnlikeU\selectlanguagethiscommanddoGesn'tswitcheverything,itonlyIswitchesthehyphenationrulesandtheextrade nitionsforthelanguagespGeci ed.IIts doGesthiswithinagroupandassumesthe\extrashlang}i.commanddoesn'tmakeIanyUU\globalchanges.qThecoGdingisverysimilartopartof\selectlanguage. @:10.106S\def\foreignlanguage{\protect\csnameforeignlanguage\endcsname}:10.107S\expandafter\def\csnameforeignlanguage\endcsname#1#2{%:10.108]\begingroup:10.109f\foreign@language{#1}%:10.110f#2%:10.111f\csnamenoextras#1\endcsname:10.112]\endgroup:10.113]}18Ysot\foreign@languageIThisWmacrodoGestheworkfor\foreignlanguageandtheotherlanguage*environ- Iment.:10.114S\def\foreign@language#1{% :10.115S%XFirstweneedtostorethenameofthelanguageandcheckthatit:10.116S%Xisaknownlanguage.:10.117S%X\begin{macrocode}:10.118]\def\languagename{#1}%:10.119]\expandafter\ifx\csnamel@#1\endcsname\relax:10.120f\@nolanerr{#1}%:10.121]\elseIIf>itiswecanselectthepropGerhyphenationtableandswitchontheextrade ni-ItionsUUforthislanguage.:10.122f\language=\csnamel@#1\endcsname\relax:10.123f\languageshorthands{none}%IThenUUwesettheleft-andrighthyphenminvqariables.:10.124f\csnameextras#1\endcsname:10.125f\expandafter\ifx\csname#1hyphenmins\endcsname\relax:10.126p2\lefthyphenmin\tw@\righthyphenmin\thr@@\relax:10.127f\else:10.128p2\expandafter\expandafter\expandafter\set@hyphenmins:10.129yw^\csname#1hyphenmins\endcsname\relax:10.130f\fi:10.131]\fi:10.132]}f\set@hyphenminsIThis5\macrosetsthevqaluesof\lefthyphenminand\righthyphenmin.gItexpGects ItwoUUvqaluesasitsargument.:10.133S\def\set@hyphenmins#1#2{\lefthyphenmin#1\righthyphenmin#2}y\LdfInitIThisxmacroisde nedintwoxversions.F~The rstversionistobGepartofthe`kernel' IofbabGel,ie.ZtheՆpartthatisloadedintheformat;thesecondversionisde nedIinm babel.def.TheversionintheformatjustchecksthecategorycoGdeoftheIampGersandUUandthenloadsbabel.def.:10.134S\def\LdfInit{% :10.135]\chardef\atcatcode=\catcode`\@:10.136]\catcode`\@=11\relax:10.137]\inputbabel.def\relaxIThecategarycoGdeoftheampersandisrestoredandthemacrocallsitselfagain IwithUUthenewde nitionfrombabel.def:10.138]\catcode`\@=\atcatcode\let\atcatcode\relax:10.139]\LdfInit}:10.140Sh=k9ernelAiITheZsecondversionofthismacrotakestwoarguments.eThe rstargumentisthe InameofthelanguagethatwillbGede nedinthelanguagede nition le;thesecondIargumentiseitheracontrolsequenceorastringfromwhichacontrolsequenceIshoulddbGeconstructed.9TheexistenceofthecontrolsequenceindicatesthattheI leUUhasbGeenprocessedbefore.XAtHthestartofproGcessingalanguagede nition lewealwayscheckthecategoryIcoGdeNoftheampersand.]W*emakesurethatitisa`letter'duringtheprocessingofItheUU le.19so:10.141Shco9re_i :10.142S\def\LdfInit#1#2{%:10.143]\chardef\atcatcode=\catcode`\@:10.144]\catcode`\@=11\relaxINowwecheckwhetherweshouldpGerhapsstoptheprocessingofthis le.[T*odo Ithism4we rstneedtocheckwhetherthesecondargumentthatispassedto\LdfInitIis!acontrolsequence.+W*edothatbyloGokingatthe rsttokenafterpassing#2Ithroughfstring.Whenitisequalto\@backslashcharwearedealingwithaIcontrolUUsequencewhichwecancomparewith\@undefined.:10.145]\let\bbl@tempa\relax :10.146]\expandafter\if\expandafter\@backslashchar:10.147\expandafter\@car\string#2\@nil:10.148f\ifx#2\@undefined:10.149f\elseIIfsso,E{wecall\ldf@quit(butaftertheendofthis\ifconstruction)tosetthe ImainUUlanguage,restorethecategorycoGdeofthe@-signandcall\endinput.:10.150p2\def\bbl@tempa{\ldf@quit{#1}}:10.151f\fi:10.152]\elseIWhenp-#2wasnotcacontrolsequenceweconstructoneandcompareitwith\relax.:10.153f\expandafter\ifx\csname#2\endcsname\relax:10.154f\else:10.155p2\def\bbl@tempa{\ldf@quit{#1}}:10.156f\fi:10.157]\fi:10.158]\bbl@tempaIFinallyUUwecheck\orginalTeX.:10.159]\ifx\originalTeX\@undefined:10.160f\let\originalTeX\@empty:10.161]\else:10.162f\originalTeX:10.163]\fi}$\ldf@quitIThisUUmacrointerruptstheproGcessingofalanguagede nition le.:10.164S\def\ldf@quit#1{%:10.165]\expandafter\main@language\expandafter{#1}%:10.166]\catcode`\@=\atcatcode\let\atcatcode\relax:10.167]\endinput:10.168S} L\ldf@finishIThis}Smacrotakesoneargument.Itisthenameofthelanguagethatwasde ned IinUUthelanguagede nition le.XW*e'loadtheloGcalcon guration leifoneispresent,1 we'setthemainlanguageI(takinguintoaccountthattheargumentmightbGeacontrolsequencethatneedstoIbGeUUexpanded)andresetthecategorycodeofthe@-sign.:10.169S\def\ldf@finish#1{% :10.170]\loadlocalcfg{#1}:10.171]\expandafter\main@language\expandafter{#1}%:10.172]\catcode`\@=\atcatcode\let\atcatcode\relax:10.173]}20 soXAfterthepreambleofthedoGcumentthecommands\LdfInit,\ldf@quitand I\ldf@finishfֲarenolongerneeded.KThereforetheyareturnedintowarningmes-IsagesUUinL5ffA͉TU>'ExX.:10.174S\@onlypreamble\LdfInit :10.175S\@onlypreamble\ldf@quit:10.176S\@onlypreamble\ldf@finish 6\main@language 9\bbl@main@languageIThistcommandshouldbGeusedinthevqariouslanguagede nition les.Q|Itstoresits IargumentDin\bbl@main@language;;tobGeusedtoswitchtothecorrectlanguageIatUUthebGeginningofthedocument.:10.177S\def\main@language#1{% :10.178]\def\bbl@main@language{#1}%:10.179]\let\languagename\bbl@main@language:10.180]\language=\csnamel@\languagename\endcsname\relax:10.181]}ITheUUdefaultistouseEnglishasthemainlanguage.:10.182S\ifx\l@english\undefined:10.183]\let\l@english\z@:10.184S\fi:10.185S\main@language{english}IW*e4alsohave4tomakesurethatsomecoGdegetsexecutedatthebeginningofthe IdoGcument.:10.186S\AtBeginDocument{%:10.187]\expandafter\selectlanguage\expandafter{\bbl@main@language}}:10.188Sh=co9re_ib\originalTeXIThemacro\originalTeXshouldbGeknowntoTU>'ExXatthismoment.YAsithasto IbGeUUexpandablewe\letitto\@emptyinsteadof\relax.:10.189Shk9ernelAi:10.190S\ifx\originalTeX\@undefined\let\originalTeX\@empty\fiIBecauseFthispartofthecoGdecanbeincludedinaformat,Iwemakesurethatthe Imacrowhichinitialisesthesavemechanism,p\babel@beginsave,isnotconsideredItoUUbGeunde ned.:10.191S\ifx\babel@beginsave\@undefined\let\babel@beginsave\relax\fi\@nolanerrb\@nopatternsIThebabGelpackqagewillsignalanerrorwhenadocumentstriestoselectalanguageIthatlhasn'tbGeende nedearlier.WhenauserselectsalanguageforwhichnoIhyphenationpatternswereloadedintotheformathewillbGegivenawarningIabGoutTthatfact.QW*ereverttothepatternsfor\language=0inthatcase.InmostIformatsUUthatwillbGe(US)english,butitmightalsobeempty*.XWhenetheformatknowsabGout\PackageErroritmustbGeL5ffA͉TU>'ExX2"(h,!bsowecanIsafelyUUuseitserrorhandlinginterface.qOtherwisewe'llhaveto`keepitsimple'.:10.192S\ifx\PackageError\@undefined :10.193]\def\@nolanerr#1{%:10.194f\errhelp{Yourcommandwillbeignored,typetoproceed}%:10.195f\errmessage{Youhaven'tdefinedthelanguage#1\spaceyet}}:10.196]\def\@nopatterns#1{%:10.197f\message{Nohyphenationpatternswereloadedfor}:10.198f\message{thelanguage`#1'}:10.199f\message{Iwillusethepatternsloadedfor\string\language=021 so:10.200instead}} :10.201]\def\@activated#1{%:10.202f\wlog{PackagebabelInfo:Making#1anactivecharacter}}:10.203S\else:10.204]\newcommand*{\@nolanerr}[1]{%:10.205f\PackageError{babel}%:10.206{Youhaven'tdefinedthelanguage#1\spaceyet}%:10.207yw^{Yourcommandwillbeignored,typetoproceed}}:10.208]\newcommand*{\@nopatterns}[1]{%:10.209f\PackageWarningNoLine{babel}%:10.210yw^{Nohyphenationpatternswereloadedfor\MessageBreak:10.211thelanguage`#1'\MessageBreak:10.212Iwillusethepatternsloadedfor\string\language=0:10.213instead}}:10.214]\newcommand*{\@activated}[1]{%:10.215f\PackageInfo{babel}{%:10.216p2Making#1anactivecharacter}}:10.217S\fiXTheͫfollowingcoGdeismeanttobGereadbyiniTU>'ExXbGecauseitshouldinstruct ITU>'ExX toreadhyphenationpatterns.ZT*othisendthedocstripoptionpatternsIcanUUbGeusedtoincludethiscodeinthe lehyphen.cfg.:10.218Shpatterns$8i\process@lineIEachlineinthe lelanguage.datisproGcessedby\process@lineafteritisread.IThe rstthingthismacrodoGesistocheckwetherthelinestartswith=. WhenItheCc rsttokenofalineisan=,Fthemacro\process@synonymiscalled;I^otherwiseItheUUmacro\process@languagewillcontinue.:10.219SA\def\process@line#1#2/{% :10.220]A\ifx=#1:10.221f A\process@synonym#2/:10.222]A\else:10.223f A\process@language#1#2/%:10.224]A\fi:10.225]A} \process@synonymIThisUUmacrotakescareofthelineswhichstartwithan=.:10.226SA\def\process@synonym#1/{%:10.227]A\ifnum\last@language=\m@neIWhennolanguageshavebGeenloadedyetthenamefollowingthe=willbGea IsynonymUUforhyphenationregister0.:10.228f A\expandafter\global:10.229f A\expandafter\chardef\csnamel@#1\endcsname0\relax:10.230f A\wlog{\string\l@#1=\string\language0}:10.231]A\elseIOtherwiseUUthenamewillbGeasynonymforthelanguageloadedlast.:10.232f A\expandafter\global:10.233f A\expandafter\chardef\csnamel@#1\endcsname\last@language:10.234f A\wlog{\string\l@#1=\string\language\the\last@language}:10.235]A\fi:10.236]A}22"sot\process@languageIThemacro\process@languageisusedtoproGcessanon-emptylinefromthe I`con gurationZ le'.Ithasthreearguments,eachZdelimitedbywhitespace.TheIthirdargumentisoptional,Ʋtherforea/characterisexpGectedtodelimitthelastIargument.[The rstargumentisthe`name'ofalanguage, thesecondisthenameIof%the lethatcontainsthepatterns.aTheoptionalthirdargumentisthenameofIaUU lecontaininghyphenationexceptions.XThe. rstthingtodoiscall\addlanguagetoalloGcateapatternregisterandItoUUmakethatregister`active'.:10.237SA\def\process@language#1#2#3/{% :10.238f A\expandafter\addlanguage\csnamel@#1\endcsname:10.239f A\expandafter\language\csnamel@#1\endcsnameIThenMthe`name'ofthelanguagethatwillbGeloadednowisaddedtothetoken IregisterUU\toks8.qand nallythepattern leisread.:10.240f A\global\toks8\expandafter{\the\toks8#1,}%XSome8pattern lescontainassignmentsto\lefthyphenminand\righthyphenmin. ITU>'ExXdoGesnotkeeptrackoftheseassignments.NThereforewetrytodetectsuchas-Isignments[andstoretheminthe\hlang}i"hyphenminsmacro.5WhennoassignmentsIwereUUmadeweprovideadefaultsetting.:10.241f A\lefthyphenmin\m@ne :10.242f A\input#2\relax:10.243f A\ifnum\lefthyphenmin=\m@ne:10.244p8A\lefthyphenmin\tw@:10.245p8A\righthyphenmin\thr@@:10.246f A\fiIWhendthehyphenationpatternshavebGeenprocessedweneedtoseeifa lewith IhyphenationlexceptionsneedstobGeread.$RThisisthecasewhenthethirdargumentIisUUnotemptyandwhenitdoGesnotcontainaspacetoken.:10.247f A\def\bbl@tempa{#3} :10.248f A\ifx\bbl@tempa\@empty:10.249f A\else:10.250p8A\ifx\bbl@tempa\space:10.251p8A\else:10.252ywfA\input#3\relax:10.253p8A\fi:10.254f A\fiIFinallyUUwestorethesettingsof\lefthyphenminand\righthyphenmin.:10.255f A\expandafter\edef\csname#1hyphenmins\endcsname{%:10.256p8A\the\lefthyphenmin\the\righthyphenmin}}f\readconfigfileITheUUcon guration lecannowbGeopenedforreading.:10.257SA\openin1=language.datXSeeiifthe leexists,nifnot,usethedefaulthyphenation lehyphen.tex.VThe IuserUUwillbGeinformedaboutthis.:10.258SA\ifeof1:10.259]A\message{Icouldn'tfindthefilelanguage.dat,\space:10.260+AIwilltrythefilehyphen.tex}:10.261]A\inputhyphen.tex\relax:10.262SA\else23.soXPatternregistersarealloGcatedusingcountregister\last@language.6Itsinitial Ivqalueis0.Thede nitionofthemacro\newlanguageissuchthatit rstincre-ImentsCthecountregisterandthende nesthelanguage.kInordertohavethe rstIpatternsʬloadedinpatternregisternumbGerʬ0weinitialize\last@languagewithItheUUvqalue1.:10.263]A\last@language\m@neXW*eUUnowreadlinesfromthe leuntiltheendisfound:10.264]A\loopXWhilereadingfromtheinputitisusefultoswitcho recognitionoftheend- Iof-linecharacter. qThissavesusstrippingo spacesfromthecontentsoftheIcontrolsequence.:10.265f A\endlinechar\m@ne :10.266f A\read1to\bbl@line:10.267f A\endlinechar`\^^MXEmptyUUlinesareskippGed.:10.268f A\ifx\bbl@line\@empty:10.269f A\elseXNow8weaddaspaceanda/charactertotheendof\bbl@line.?Thisisneeded Ito bGeabletorecognizethethird,optional,argument of\process@languagelaterIon.:10.270p8A\edef\bbl@line{\bbl@line\space/} :10.271p8A\expandafter\process@line\bbl@line:10.272f A\fiXCheckfortheendofthe le.8 T*oavoidanewNifcontrolsequencewecreate Ithenecessary\iftrueor\iffalsewiththehelpof\csname.ButthereisoneIcomplicationwiththisapproach:whenskippingtheloop...repeatTU>'ExXhastoIreadUU\if/\fipairs.qSowehavetoinserta`dummy'\iftrue.:10.273f A\iftrue\csnamefi\endcsname :10.274f A\csnameif\ifeof1false\elsetrue\fi\endcsname:10.275]A\repeatXReactivqateUUthedefaultpatterns,:10.276]A\language=0:10.277SA\fiIandUUclosethecon guration le.:10.278SA\closein1IAlsoUUremovesomemacrosfrommemory:10.279SA\let\process@language\@undefined :10.280SA\let\process@synonym\@undefined:10.281SA\let\process@line\@undefined:10.282SA\let\bbl@tempa\@undefined:10.283SA\let\bbl@tempb\@undefined:10.284SA\let\bbl@eq@\@undefined:10.285SA\let\bbl@line\@undefinedXW*e[|addamessageabGoutthefactthatbabelisloadedintheformatandwith IwhichUUlanguagepatternstothe\everyjobregister.:10.286SA\ifx\addto@hook\@undefined24:mso:10.287SA\else :10.288]A\expandafter\addto@hook\expandafter\everyjob\expandafter{%:10.289f A\expandafter\typeout\expandafter{\the\toks8loaded.}}:10.290SA\fiIHereUUthecoGdeforiniTU>'ExXends.:10.291Sh=patterns$8i:10.292Sh=k9ernelAi6I10.2nSupp`ortforactivecharactersuT \bbl@add@specialIThemacro\bbl@add@specialisusedtoaddanewcharacter(orsinglecharacter IcontrolUUsequence)tothemacro\dospecials(and\@sanitizeifL5ffA͉TU>'ExXisused).XT*okeepallchangesloGcal,PwebGeginanewgroup.ZThenwerede nethemacrosI\dogpand\@makeothertoaddthemselvesandthegivencharacterwithoutexpan-Ision.:10.293Shco9re8jshorthandsDi :10.294S\def\bbl@add@special#1{\begingroup:10.295f\def\do{\noexpand\do\noexpand}%:10.296f\def\@makeother{\noexpand\@makeother\noexpand}%IT*oݤaddthecharactertothemacros,?weexpandtheoriginalmacroswiththe Iadditionalcharacterinsidetherede nitionofthemacros.JBecause\@sanitizeIcanUUbGeunde ned,weputthede nitioninsideaconditional.:10.297f\edef\x{\endgroup :10.298p2\def\noexpand\dospecials{\dospecials\do#1}%:10.299p2\expandafter\ifx\csname@sanitize\endcsname\relax\else:10.300yw^\def\noexpand\@sanitize{\@sanitize\@makeother#1}%:10.301p2\fi}%ITheUUmacro\xcontainsatthismomentthefollowing: I\endgroup\def\dospecials{oldc}'ontents'v\dohchari}.IIf\@sanitizeisde ned,{itcontainsanadditionalde nitionofthismacro.TheIlastthingwehavetodo,Ristheexpansionof\x.ўThen\endgroupisexecuted,Iwhicherestorestheoldmeaningof\x,i\doand\@makeother.AfterthegroupisIclosed,UUthenewde nitionof\dospecials(and\@sanitize)isassigned.:10.302]\x}H\bbl@remove@specialIThefHcompanionoftheformermacrois\bbl@remove@special."ItisusedtoremoveIaUUcharacterfromthesetmacros\dospecialsand\@sanitize.XT*o keepallchangesloGcal,]webGeginanewgroup.YThenwede neahelpmacroI\x,whichexpandstoemptyifthecharactersmatch,otherwiseitexpandstoitsInonexpandableiinput.BecauseTU>'ExXinsertsa\relax,nifthecorrespGonding\elseIoru\fiisscannedbGeforethecomparisonisevqaluated,weprovidea`stopsign'IwhichUUshouldexpandtonothing.:10.303S\def\bbl@remove@special#1{\begingroup :10.304f\def\x##1##2{\ifnum`#1=`##2\noexpand\@empty:10.305\else\noexpand##1\noexpand##2\fi}%IWithUUthehelpofthismacrowede ne\doand\make@other.:10.306f\def\do{\x\do}%:10.307f\def\@makeother{\x\@makeother}%25ExsoITheUUrestoftheworkissimilarto\bbl@add@special.:10.308f\edef\x{\endgroup :10.309p2\def\noexpand\dospecials{\dospecials}%:10.310p2\expandafter\ifx\csname@sanitize\endcsname\relax\else:10.311yw^\def\noexpand\@sanitize{\@sanitize}%:10.312p2\fi}%:10.313]\x}6I10.3nShorthandsuT \initiate@active@charIA5Ylanguage5de nition lecancallthismacrotomakeacharacteractive.This Imacro\takesoneargument,thecharacterthatistobGemadeactive.Whenthechar-Iacter+wasalreadyactivethismacrodoGesnothing.IOtherwise,`thismacrode nesIthecontrolsequence\normal@charhcharimtoexpandtothecharacterinits`nor-Imalstate'anditde nestheactivecharactertoexpandto\normal@charhcharibyIdefault(hchariDbGeingthecharactertobemadeactive).R:Lateritsde nitioncanbeIbGepchangedtoexpandto\active@charhcharibycalling\bbl@activate{hchari}.XF*or-Dexample,c@tomakethedoublequotecharacteractiveonecouldhavetheIfollowingUUlineinalanguagede nition le:[X\initiate@active@char{"}  6\bbl@afterelseb\bbl@afterfiIBecausethecoGdethatisusedinthehandlingofactivecharactersmayneedtoIloGokahead,wetakeextracareto`throw'itoverthe\elseand\fipartsofanI\if-statement^5|s.:10.314S\def\bbl@afterelse#1\else#2\fi{\fi#1} :10.315S\def\bbl@afterfi#1\fi{\fi#1} L\peek@tokenIIn'vordertoprevent'verrormessageswhenashorthand,[whichnormallytakesanIargumentwseesa\par,or},orsimilartokensweneedtobGeableto`peek'atwhatisIcomingupnextintheinputstream.LDepGendingonthecategorycodeofthetokenIthat2isseenweneedtoeithercontinuethecoGdefortheactivecharacter,9orinsertIthenon-activeversionofthatcharacterintheoutput.Themacro\peek@tokenIthereforetakestwoarguments,withwhichitconstructsthecontrolsequencetoIexpand6bnext.gvIt\let's\bbl@nextaand\bbl@nextbtothetwo6bpGossiblemacro's.IThisUUisnecessaryfor\test@tokentotaketherightdecision.:10.316S\def\peek@token#1#2{% :10.317]\expandafter\let\expandafter\bbl@nexta\csname#1\string#2\endcsname:10.318]\expandafter\let\expandafter\bbl@nextb:10.319f\csnamesystem@active\string#2\endcsname:10.320]\futurelet\bbl@token\test@token}test@tokenIWhen.theresultofpGeekingatthenexttokenhasyeildedatokenwithcategory I`letter',hh`other'1dor`active'itissafetoproGceedwithevqaluatingthecodefortheIshorthand..When>atokenisfoundwithanyothercategorycoGdeproceedingisIunsafenandthereforetheorginalshorthandcharacterisinsertedintheoutput.ITheQmacrothatcalls\test@tokenneedstosetup\bbl@nextaand\bbl@nextbIinUUordertoachieveUUthis.I ffffr J= "5-:5LThisco'ExXthatuserlevelshorthandswillbGeused IinUUthedoGcument.qIttakesoneargument,thecharacterthatstartsashorthand.:10.481S\def\useshorthands#1{%:10.482]\def\user@group{user}%:10.483]\initiate@active@char{#1}%:10.484]\bbl@activate{#1}} \defineshorthandICurrentlyUUweonlysuppGortonegroupofuserlevelshorthands,called`user'.:10.485S\def\defineshorthand{\declare@shorthand{user}}H\languageshorthandsIAUUuserlevelcommandtochangethelanguagefromwhichshorthandsareused.:10.486S\def\languageshorthands#1{\def\language@group{#1}}f\aliasshorthandIBecauseGwedealwithactivecharactershereweneedtousethe\lccodetrick. ITherefore9wesavethecurrent\lccodeofthe~-characterandrestoreitlater.IThenUUwemakethenewcharacteractiveand\letitbGeequaltotheoriginal.:10.487S\def\aliasshorthand#1#2{% :10.488]\@tempcnta\lccode`\~:10.489]\lccode`~=`#2%:10.490]\lowercase{\catcode`~\active\let~#1\catcode`#112\relax}%:10.491]\lccode`\~\@tempcnta}31 àsoXT*o}opreventproblemswithconstructssuchas\char"01A}8whenthedoublequote IisUUmadeactive,wede neashorthandonsystemlevel. =:10.492S\declare@shorthand{system}{"}{\csnamenormal@char\string"\endcsname}=XWhentherightquoteismadeactiveweneedtotakecareofhandlingitcor-IrectlyinmathmoGde.8Thereforewede neashorthandatsystemleveltomakeitIexpand1toanon-activerightquoteintextmoGde,8butexpandtoitsoriginalde ni-ItionLinmathmoGde.n(Notethattherightquoteis`active'inmathmoGdebecauseofIitsUUmathcoGde.):10.493S\declare@shorthand{system}{'}{% :10.494]\textormath{\csnamenormal@char\string'\endcsname}%:10.495L{\sp\bgroup\prim@s}}=XWhentheleftquoteismadeactiveweneedtotakecareofhandlingitcorrectly IwhenitisfollowedbyforinstanceanopGenbracetoken.Thereforewede neaIshorthandUUatsystemleveltomakeitexpandtoanon-activeleftquote.:10.496S\declare@shorthand{system}{`}{\csnamenormal@char\string`\endcsname}7 L\bbl@pr@m@sIOneoftheinternalmacrosthatareinvolvedinsubstituting\primeforeachrightIquote inmathmoGdeis\pr@m@s.YThischecks ifthenextcharacterisarightquote.IWhen*therightquoteisactive,_thede nitionofthismacroneedstobGeadaptedItoUUloGokforanactiverightquote.:10.497S\begingroup :10.498]\catcode`\'\active\let'\relax:10.499]\def\x{\endgroup:10.500f\def\bbl@pr@m@s{%:10.501p2\ifx'\@let@token:10.502yw^\expandafter\pr@@@s:10.503p2\else:10.504yw^\ifx^\@let@token:10.505\expandafter\expandafter\expandafter\pr@@@t:10.506yw^\else:10.507\egroup:10.508yw^\fi:10.509p2\fi}%:10.510f}:10.511S\x:10.512Sh=co9re8jshorthandsDi7XNormallythe~isactiveandexpandsto\penalty\@M\ .nWhenitiswritten ItoAthe.aux leitiswrittenexpanded.6T*opreventAthatandtobGeabletouseIthecharacter~asastartcharacterforashorthand,itisrede nedhereasaoneIcharacterUUshorthandonsystemlevel.:10.513S%\changes{babel~3.5f}{1996/04/02}{Noneedtoresetthecategorycode :10.514S%Xofgthetildeas\cs{initiate@active@charnowcoorecltydeals:10.515S%Xwithactivecharacters}:10.516Shco9re_i:10.517S\initiate@active@char{~}:10.518S\declare@shorthand{system}{~}{\penalty\@M\}:10.519S\bbl@activate{~}7$\OT1dqpos y\T1dqposIThepGositionofthedoublequotecharacterisdi erentfortheOT1andT1encoGd- Iings.It}willlaterbGeselectedusingthe\f@encodingmacro.Thereforewede neItwoUUmacrosheretostorethepGositionofthecharacterintheseencodings.32!ʠso:10.520S\expandafter\def\csnameOT1dqpos\endcsname{127} :10.521S\expandafter\def\csnameT1dqpos\endcsname{4}IWhenthemacor\f@encodingisunde ned(asitisinplainTU>'ExX)wede neithere ItoUUexpandtoOT1:10.522S\ifx\f@encoding\@undefined:10.523]\def\f@encoding{OT1}:10.524S\fi6I10.4nSupp`ortforsavingmacrode nitionsuTIT*o>savethemeaningofcontrolsequencesusing\babel@save,xweusetempGoraryIcontrolsequences.MT*osavehashtableentriesforthesecontrolsequences,uwedon'tIuseAthenameofthecontrolsequencetobGesavedtoconstructthetempGoraryIname.nInsteadwesimplyusethevqalueofacounter,whichisresettozeroeachItimewebGegintosavenewvqalues.mThisworkswellbGecausewereleasethesavedImeaningsjbGeforewebegintosavejanewsetofcontrolsequencemeanings(seeI\selectlanguageUUand\originalTeX). 6\babel@savecnt \babel@beginsaveITheUUinitializationofanewsaveUUcycle:qresetthecountertozero.:10.525S\def\babel@beginsave{\babel@savecnt\z@}IBeforeUUit'sforgotten,alloGcatethecounterandinitializeall.:10.526S\newcount\babel@savecnt :10.527S\babel@beginsave L\babel@saveITheu*macro\babel@savehcsname[i-/ɲsavesu*thecurrentmeaningofthecontrolse-Iquence$hcsname[i/to$\originalTeX^6|s.T*odothis,weletthecurrentmeaningtoaItempGoraryZcontrolsequence,therestorecommandsareappendedto\originalTeXIandUUthecounterisincremented.:10.528S\def\babel@save#1{% :10.529]\expandafter\let\csnamebabel@\number\babel@savecnt\endcsname#1\relax:10.530]\begingroup:10.531f\toks@\expandafter{\originalTeX\let#1=}%:10.532f\edef\x{\endgroup:10.533p2\def\noexpand\originalTeX{\the\toks@\expandafter\noexpand:10.534~0\csnamebabel@\number\babel@savecnt\endcsname\relax}}%:10.535]\x:10.536]\advance\babel@savecnt\@ne}H\babel@savevariableIThermacro\babel@savevariablehvariable[i0րsavesrthevqalueofthevariable.Ihvariable[iv0canUUbGeanythingallowedafterthe\theprimitive.:10.537S\def\babel@savevariable#1{\begingroup:10.538f\toks@\expandafter{\originalTeX#1=}%:10.539f\edef\x{\endgroup:10.540p2\def\noexpand\originalTeX{\the\toks@\the#1\relax}}%:10.541]\x}9\bbl@frenchspacing \bbl@nonfrenchspacingISomee3languagesneedtohavee3\frenchspacingine ect.`Othersdon'twante3that.ITheIcommand\bbl@frenchspacingswitchesitonwhenitisn'talreadyine ectIandUU\bbl@nonfrenchspacingswitchesito ifnecessary*.I Jffr J= "5-:6L\originalTeXXhastob'ExX-coGdetobeaddedtothehc}'ontrol(nse}'quence[iQ}.XIfUUthehc}'ontrol(nse}'quence[iUҲhasnotbGeende nedbeforeitisde nednow.:10.550S\def\addto#1#2{% :10.551]\ifx#1\@undefined:10.552f\def#1{#2}:10.553]\elseIThecontrolsequencecouldalsoexpandto\relax,inwhichcaseacircularde - InitionUUresults.qThenetresultisastackover ow.:10.554f\ifx#1\relax:10.555p2\def#1{#2}:10.556f\elseIOtherwise2thereplacementtextforthehc}'ontrol'se}'quence[iTȲisexpandedandstored Iinfatokenregister,k"togetherwiththeTU>'ExX-coGdetobeadded.Finallythehc}'ontrolIse}'quence[ivdisUUr}'e[de ned,usingthecontentsUUofthetokenregister.:10.557p2{\toks@\expandafter{#1#2}% :10.558yw^\xdef#1{\the\toks@}}%:10.559f\fi:10.560]\fi:10.561S}6I10.6nMacroscommontoanumb`eroflanguagesuT\allowhyphensIThismacromakeshyphenationpGossible.zBasicallyitsde nitionisnothingmore IthanUU\nobreak\hskip0pt?plus0pt^7|s.:10.562S\def\allowhyphens{\penalty\@M\hskip\z@skip}b\set@low@boxIThefollowingmacroisusedtolowerquotestothesamelevelasthecomma.ItIpreparesUUitsargumentinbGoxregister0.:10.563S\def\set@low@box#1{\setbox\tw@\hbox{,}\setbox\z@\hbox{#1}% :10.564f\dimen\z@\ht\z@\advance\dimen\z@-\ht\tw@%:10.565f\setbox\z@\hbox{\lower\dimen\z@\box\z@}\ht\z@\ht\tw@\dp\z@\dp\tw@}\save@sf@qITheUUmacro\save@sf@qisusedtosaveUUandresetthecurrentspacefactor.:10.566S\def\save@sf@q#1{{\ifhmodeIffffr J= "5-:7LTAEMXb%:10.609]\else:10.610f\save@sf@q{\penalty\@M:10.611p2\raise.2ex\hbox{$\scriptscriptstyle>$}\allowhyphens}%:10.612]\fi}IMakesurethatwhenanencoGdingotherthenOT1otT1isusedtheseglyphscanIstillUUbGetypeset. :10.613S\ProvideTextCommandDefault{\guilsinglleft}{%:10.614]\UseTextSymbol{OT1}{\guilsinglleft}}:10.615S\ProvideTextCommandDefault{\guilsinglright}{%:10.616]\UseTextSymbol{OT1}{\guilsinglright}}ZI10.9nLettersuT1\ij1\IJIThe'ExX'smakeEff&fǫaccentprocedureaboutthecurrentx-height IofUUthefonttoforceanotherplacementoftheumlautcharacter.:10.683S\def\lower@umlaut#1{%IFirstwehavetosavethecurrentx-heightofthefont,bGecausewe'llchangethis IfontUUdimensionandthisisalwaysdoneglobally*.:10.684]{\U@D1ex%IThenKwecomputethenewx-heightinsuchawaythattheumlautcharacteris Ilowered tothebasecharacter.NThevqalueof.45exdepGendsontheo> logo10METAF9ONTIparameterswithwhichthefontswerebuilt.f(Justtryout,SwhichvqaluewillloGokIbGest.):10.685]{\setbox\z@\hbox{% :10.686p2\expandafter\char\csname\f@encodingdqpos\endcsname}%:10.687f\dimen@-.45ex\advance\dimen@\ht\z@38'䢠soIIfUUthenewx-heightistoGolow,itisnotchanged.:10.688]\ifdim1ex<\dimen@\fontdimen5\font\dimen@\fi}%IFinally-wecallthe\accentprimitive,cresettheoldx-heightandinsertthebase IcharacterUUintheargument.:10.689]\expandafter\accent\csname\f@encodingdqpos\endcsname :10.690]\fontdimen5\font\U@D#1}}XF*orƃallvowelsƃwedeclare\"tobGeacompositecommandwhichusesI\bbl@umlautaA˲or\bbl@umlautetopGositiontheumlautcharacter.7)W*eneedtoIbGedsurethatthesede nitionsoverridedtheonesthatareprovidedwhenthepack-IagerfontencwithoptionOT1isused.\ThereforethesedeclarationsarepGostponedIuntilUUthebGeginningofthedocument.:10.691S\AtBeginDocument{% :10.692]\DeclareTextCompositeCommand{\"}{OT1}{a}{\bbl@umlauta{a}}%:10.693]\DeclareTextCompositeCommand{\"}{OT1}{e}{\bbl@umlaute{e}}%:10.694]\DeclareTextCompositeCommand{\"}{OT1}{i}{\bbl@umlaute{\i}}%:10.695]\DeclareTextCompositeCommand{\"}{OT1}{\i}{\bbl@umlaute{\i}}%:10.696]\DeclareTextCompositeCommand{\"}{OT1}{o}{\bbl@umlauta{o}}%:10.697]\DeclareTextCompositeCommand{\"}{OT1}{u}{\bbl@umlauta{u}}%:10.698]\DeclareTextCompositeCommand{\"}{OT1}{A}{\bbl@umlauta{A}}%:10.699]\DeclareTextCompositeCommand{\"}{OT1}{E}{\bbl@umlaute{E}}%:10.700]\DeclareTextCompositeCommand{\"}{OT1}{I}{\bbl@umlaute{I}}%:10.701]\DeclareTextCompositeCommand{\"}{OT1}{O}{\bbl@umlauta{O}}%:10.702]\DeclareTextCompositeCommand{\"}{OT1}{U}{\bbl@umlauta{U}}%:10.703S}6I10.12u@Therede nitionofthestylecommandsuTITherestofthecoGdeinthis lecanonlybeprocessedbyL5ffA͉TU>'ExX,nsowechecktheIcurrent format.9ZIfitisplainTU>'ExX,proGcessingshouldstophere.But,bGecauseoftheIneedtolimitthescopGeofthede nitionof\format,amacrothatisusedlocallyIinthefollowing\ifstatement,thiscomparisonisdoneinsideagroup.@T*opreventITU>'ExX*fromcomplainingabGoutanunclosedgroup, theprocessingofthecommandI\endinput#+isdeferreduntilafterthegroupisclosed.aThisisaccomplishedbytheIcommandUU\aftergroup.:10.704S{\def\format{lplain}:10.705S\ifx\fmtname\format:10.706S\else:10.707]\def\format{LaTeX2e}:10.708]\ifx\fmtname\format:10.709]\else:10.710f\aftergroup\endinput:10.711]\fi:10.712S\fi}XNowcthatwe'resurethatthecoGdeisseenbyL5ffA͉TU>'ExXonly*,fwehaveto ndoutIwhatthemain(primary)doGcumentstyleisbGecausewewanttorede nesomeImacros.ThisgisonlynecessaryforreleasesofL5ffA͉TU>'ExXdatedbGeforedecember1991.IThereforePthispartofthecoGdecanoptionallybeincludedinbabel.defbyspec-IifyingUUthedocstripoptionnames.:10.713Shnamesi39(NsoXTheI;standardstylescanbGedistinguishedbycheckingwhethersomemacros Iare3de ned.obIntable1anoverview3isgivenofthemacrosthatcanbGeusedforIthisUUpurpGose.t!6 Qwـ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:qHowtodeterminethemaindoGcumentstyle9IThemacrosthathavetobGerede nedforthereportandbookdocumentstylesIhappGentobethesame,sothereisnoneedtodistinguishbetweenthosetwostyles.\doc@styleIFirstZaparameter\doc@styleisde nedtoidentifythecurrentdoGcumentstyle.IThisparametermighthavebGeende nedbyadoGcumentstylethatalreadyusesImacros?insteadofhard-wiredtexts,D+suchasartikel1.sty[6],sotheexistenceofI\doc@styleоischecked.Ifоthismacroisunde ned,i.e.,ifоthedoGcumentstyleisIunknownyhandcouldthereforecontainhard-wiredtexts,m\doc@styleisde nedtoItheUUdefaultvqalue`0'.:10.714SA\ifx\@undefined\doc@style :10.715]A\def\doc@style{0}%IThisUUparameterisde nedinthefollowingxifconstruction(seetable1)::10.716]A\ifx\@undefined\opening:10.717f A\ifx\@undefined\chapter:10.718p8A\def\doc@style{1}%:10.719f A\else:10.720p8A\def\doc@style{2}%:10.721f A\fi:10.722]A\else:10.723f A\def\doc@style{3}%:10.724]A\fi%:10.725SA\fi%"6I10.12.1w~Rede nitionTofmacrosuTINow(herecomestherealwork:T1westarttorede nethingsandreplacehard-wired Itextsbymacros.Theserede nitionsshouldbGecarriedoutconditionally*,incaseIitUUhasalreadybGeendone.XF*orUUthefigureandtableenvironmentsUUwehaveinallstyles::10.726SA\@ifundefined{figurename}{\def\fnum@figure{\figurename{}\thefigure}}{} :10.727SA\@ifundefined{tablename}{\def\fnum@table{\tablename{}\thetable}}{}XThe^Urestofthemacroshave^UtobGetreateddi erentlyforeachstyle.WhenI\doc@styleUUstillhasitsdefaultvqaluenothingneedstobGedone.:10.728SA\ifcase\doc@style\relax :10.729SA\or40)$soXThis~5meansthatbabel.defisreadafterthearticlestyle,\m@neIffr J= "5-:9LA΍factthatwÎasp\m@ne:10.779p8A\Large\bf\partname{}\thepart:10.780p8A\par\nobreak:10.781f A\fi:10.782f A\huge\bf:10.783f A#2\markboth{}{}\par}%:10.784f A\nobreak:10.785f A\vskip3ex\@afterheading}%:10.786SA}{}XThisUUisallthatneedstobGedoneforthearticlestyle.:10.787SA\orXThenextcaseisformedbythetwostylesbookandreport.TDBasicallywehave Itoodothesameasforthearticlestyle,exceptnowwemustalsochangetheI\chapterUUcommand.XTheUUtablesofcontents,UU guresandtables::10.788SA\@ifundefined{contentsname}% :10.789f A{\def\tableofcontents{\@restonecolfalse:10.790p8A\if@twocolumn\@restonecoltrue\onecolumn:10.791p8A\fi\chapter*{\contentsname\@mkboth:10.792A{\uppercase{\contentsname}}{\uppercase{\contentsname}}}%:10.793p8A\@starttoc{toc}%:10.794p8A\csnameif@restonecol\endcsname\twocolumn:10.795p8A\csnamefi\endcsname}}{}:10.796:10.797SA\@ifundefined{listfigurename}:10.798f A{\def\listoffigures{\@restonecolfalse:10.799p8A\if@twocolumn\@restonecoltrue\onecolumn:10.800p8A\fi\chapter*{\listfigurename\@mkboth:10.801A{\uppercase{\listfigurename}}{\uppercase{\listfigurename}}}%:10.802p8A\@starttoc{lof}%:10.803p8A\csnameif@restonecol\endcsname\twocolumn:10.804p8A\csnamefi\endcsname}}{}:10.805:10.806SA\@ifundefined{listtablename}:10.807f A{\def\listoftables{\@restonecolfalse:10.808p8A\if@twocolumn\@restonecoltrue\onecolumn:10.809p8A\fi\chapter*{\listtablename\@mkboth:10.810A{\uppercase{\listtablename}}{\uppercase{\listtablename}}}%:10.811p8A\@starttoc{lot}%:10.812p8A\csnameif@restonecol\endcsname\twocolumn:10.813p8A\csnamefi\endcsname}}{}XAgain,thebibliographyandindexenvironments;unoticethatinthiscasewe Iuse/\bibnameinsteadof\refnameasinthede nitionsforthearticlestyle.KTheIreasonaforthisisthatinthearticledoGcumentstyletheterm`References'isusedIinabthede nitionof\thebibliography.InthereportandbookdoGcumentstylesItheUUterm`Bibliography'isused.42+so:10.814SA\@ifundefined{bibname} :10.815f A{\def\thebibliography#1{\chapter*{\bibname:10.816kJA\@mkboth{\uppercase{\bibname}}{\uppercase{\bibname}}}%:10.817kJA\list{[\arabic{enumi}]}{\settowidth\labelwidth{[#1]}%:10.818kJA\leftmargin\labelwidth\advance\leftmargin\labelsep:10.819kJA\usecounter{enumi}}%:10.820kJA\def\newblock{\hskip.11emplus.33emminus.07em}%:10.821kJA\sloppy\clubpenalty4000\widowpenalty\clubpenalty:10.822kJA\sfcode`\.=1000\relax}}{}:10.823:10.824SA\@ifundefined{indexname}:10.825f A{\def\theindex{\@restonecoltrue\if@twocolumn\@restonecolfalse\fi:10.826f A\columnseprule\z@:10.827f A\columnsep35pt\twocolumn[\@makeschapterhead{\indexname}]%:10.828p8A\@mkboth{\uppercase{\indexname}}{\uppercase{\indexname}}%:10.829f A\thispagestyle{plain}%:10.830f A\parskip\z@plus.3pt\parindent\z@\let\item\@idxitem}}{}XHereUUistheabstractenvironment::10.831SA\@ifundefined{abstractname}:10.832f A{\def\abstract{\titlepage:10.833f A\null\vfil:10.834f A\begin{center}%:10.835f A{\bf\abstractname}%:10.836f A\end{center}}}{}XAndUUlastbutnotleastthe\chapter,\appendixand\partmacros.:10.837SA\@ifundefined{chaptername}{\def\@chapapp{\chaptername}}{}:10.838SA%:10.839SA\@ifundefined{appendixname}:10.840f A{\def\appendix{\par:10.841p8A\setcounter{chapter}{0}%:10.842p8A\setcounter{section}{0}%:10.843p8A\def\@chapapp{\appendixname}%:10.844p8A\def\thechapter{\Alph{chapter}}}}{}:10.845SA%:10.846SA\@ifundefined{partname}:10.847f A{\def\@part[#1]#2{\ifnum\c@secnumdepth>-2\relax:10.848]A\refstepcounter{part}%:10.849]A\addcontentsline{toc}{part}{\thepart:10.850]A\hspace{1em}#1}\else:10.851]A\addcontentsline{toc}{part}{#1}\fi:10.852tA\markboth{}{}%:10.853tA{\centering:10.854ywfA\ifnum\c@secnumdepth>-2\relax:10.855A\huge\bf\partname{}\thepart:10.856ywfA\par:10.857ywfA\vskip20pt\fi:10.858ywfA\Huge\bf:10.859ywfA#1\par}\@endpart}}{}%:10.860SA\orXNowweaddressthecasewherebabel.defisreadaftertheletterstyle. ITheletterdoGcumentstylede nesthemacro\openingandsomeothermacros43,"soIthatarespGeci ctoletter.>Thismeansthatwehavetorede neothermacros, IcomparedUUtotheprevioustwoUUcases.XFirsttwomacrosforthematerialattheendofaletter,@the\ccand\enclImacros.:10.861SA\@ifundefined{ccname}% :10.862f A{\def\cc#1{\par\noindent:10.863kJA\parbox[t]{\textwidth}%:10.864kJA{\@hangfrom{\rm\ccname:}\ignorespaces#1\strut}\par}}{}:10.865:10.866SA\@ifundefined{enclname}%:10.867f A{\def\encl#1{\par\noindent:10.868kJA\parbox[t]{\textwidth}%:10.869kJA{\@hangfrom{\rm\enclname:}\ignorespaces#1\strut}\par}}{}XTheUUlastthingwehavetodohereistorede netheheadingspagestyle::10.870SA\@ifundefined{headtoname}:10.871f A{\def\ps@headings{%:10.872ywfA\def\@oddhead{\sl\headtoname{}\ignorespaces\toname\hfil:10.873A\@date\hfil\pagename{}\thepage}%:10.874ywfA\def\@oddfoot{}}}{}XThiswasthelastofthefourstandarddoGcumentstyles, soif\doc@stylehas IanotherUUvqaluewedonothingandjustclosetheifconstruction.:10.875SA\fiIHere]endsthecoGdethatcanbeoptionallyincludedwhenaversionofL5ffA͉TU>'ExXisin IuseUUthatisdatedb}'eforedecembGerUU1991.:10.876Sh=namesi :10.877Sh=co9re_i6I10.13u@CrossreferencingmacrosuTITheUUL5ffA͉TU>'ExXbGookUUstates:bThekeyargumentisanysequenceofletters,ͨdigits,andpunctuationbsymbGols;UUupper-andlowercaselettersareregardedasdi erent.IWhendtheabGovedquoteshouldstillbetruewhenadocumentistypGesetinalan-Iguagethathasactivecharacters,SspGecialcarehastobetakenofthecategoryIcoGdesaofthesecharacterswhentheyappearinanargumentofthecrossreferenc-IingUUmacros.XWhen/acrossreferencingcommandproGcessesitsargument,%alltokensinthisIargumentUUshouldbGecharactertokenswithcategory`letter'or`other'.XThe[onlyway[toaccomplishthisinmostcasesistousethetrickdescribGedinItheATU>'ExXbGook[1](AppendixD,page382).Theprimitive\meaningappliedtoaItokenexpandstothecurrentmeaningofthistoken.]F*orexample,̾`\meaning\A'Iwith\Ade nedas`\def\A#1{\B}'expandstothecharacters`macro:#1->\B'withIallUUcategorycoGdessetto`other'or`space'.\bbl@redefineIT*oB_rede neacommand,F*wesavetheoldmeaningofthemacro.kuThenwerede neIittocalltheoriginalmacrowiththe`sanitized'argument.^ThereasonwhywedoIit@thisway@isthatwedon'twanttorede netheL5ffA͉TU>'ExXmacroscompletelyincaseItheirUUde nitionschange(theyhavechangedinthepast).44--soXBacsuseweneedtorede neanumbGerofcommandswede nethecommand I\bbl@redefineMwhichtakescareofthis. ZItcreatesanewcontrolsequence,I\org@...:10.878Shco9re8jshorthandsDi :10.879S\def\bbl@redefine#1{%:10.880]\edef\bbl@tempa{\expandafter\@gobble\string#1}%:10.881]\expandafter\let\csnameorg@\bbl@tempa\endcsname#1:10.882]\expandafter\def\csname\bbl@tempa\endcsname}XThisUUcommandshouldonlybGeusedinthepreambleofthedocument.:10.883S\@onlypreamble\bbl@redefine9\bbl@redefine@longIThisNversionof\babel@redefinevqanbGeusedtorede ne\longcommandssuch IasUU\ifthenelse.:10.884S\def\bbl@redefine@long#1{%:10.885]\edef\bbl@tempa{\expandafter\@gobble\string#1}%:10.886]\expandafter\let\csnameorg@\bbl@tempa\endcsname#1:10.887]\expandafter\long\expandafter\def\csname\bbl@tempa\endcsname}:10.888S\@onlypreamble\bbl@redefine@longH\bbl@redefinerobustIF*orcommandsthatarerede ned,ҬbutwhichmightsbGerobustweneedaslightly Imore intelligentmacro.:'AHrobustcommandfooisde nedtoexpandtoI\protect\foo .qSoUUitisnecessarytocheckUUwhether\foo exists.:10.889S\def\bbl@redefinerobust#1{% :10.890]\edef\bbl@tempa{\expandafter\@gobble\string#1}%:10.891]\expandafter\ifx\csname\bbl@tempa\space\endcsname\relax:10.892f\expandafter\let\csnameorg@\bbl@tempa\endcsname#1:10.893f\expandafter\edef\csname\bbl@tempa\endcsname{\noexpand\protect:10.894p2\expandafter\noexpand\csname\bbl@tempa\space\endcsname}%:10.895]\else:10.896f\expandafter\let\csnameorg@\bbl@tempa\expandafter\endcsname:10.897*f\csname\bbl@tempa\space\endcsname:10.898]\fiITheresultofthecoGdeaboveisthatthecommandthatisbeingrede nedisalways IrobustUUafterwards.qThereforeallweneetodonowisde ne\foo .:10.899]\expandafter\def\csname\bbl@tempa\space\endcsname}XThisUUcommandshouldonlybGeusedinthepreambleofthedocument.:10.900S\@onlypreamble\bbl@redefinerobust$\newlabelIThe>|macro\labelwritesalinewitha\newlabelcommandintothe.aux leto Ide neUUlabGels.:10.901S\bbl@redefine\newlabel#1#2{% :10.902]\@safe@activestrue\org@newlabel{#1}{#2}\@safe@activesfalse}$\@testdefIAn~internalL5ffA͉TU>'ExXmacrousedtotestifthelabGelsthathavebGeenwrittenonthe I.auxC lehaveCchanged.4lItiscalledbythe\enddocumentmacro.4lThismacroneedsItoubGecompletelyrewritten,'ExXkeepsrepGortingthatthelabelsmayhaveIchanged.:10.903S\def\@testdef#1#2#3{%45.:Ԡso:10.904]\expandafter\let\expandafter\bbl@tempa\csname#1@#2\endcsname :10.905]\def\bbl@tempb{#3}%:10.906]\ifx\bbl@tempa\relax\else:10.907]\edef\bbl@tempa{\expandafter\strip@prefix\meaning\bbl@tempa}\fi:10.908]\edef\bbl@tempb{\expandafter\strip@prefix\meaning\bbl@tempb}%:10.909]\ifx\bbl@tempa\bbl@tempb:10.910]\else\@tempswatrue\fi},`\ref y\pagerefIThe9sameholdsforthemacro\refthatreferencesalabGeland\pagereftorefer- IenceyOapage.ݵSowerede ne\refand\pageref.Whilewechangethesemacros,Iwemakethemrobustaswell(iftheyweren'talready)topreventproblemsiftheyIshouldUUbGecomeexpandedatthewrongmoment.:10.911S\bbl@redefinerobust\ref#1{% :10.912]\@safe@activestrue\org@ref{#1}\@safe@activesfalse}:10.913S\bbl@redefinerobust\pageref#1{%:10.914]\@safe@activestrue\org@pageref{#1}\@safe@activesfalse}3P\@citexITheXmacrousedtocitefromabibliography*,&\citeusesaninternalmacro, I\@citex.Itoqisthisinternalmacrothatpicksuptheargument,sowerede neIthisUUinternalmacroandleave\citealone.:10.915S\bbl@redefine\@citex[#1]#2{% :10.916]\@safe@activestrue\org@@citex[#1]{#2}\@safe@activesfalse}3P\nociteIThe|rmacro\nocitewhichisusedtoinstructBiBTU>'ExXtoextractuncitedreferencesIfromUUthedatabase.:10.917S\bbl@redefine\nocite#1{% :10.918]\@safe@activestrue\org@nocite{#1}\@safe@activesfalse}y\bibciteITheUUmacrothatisusedinthe.aux letode necitationlabGels.:10.919S%\bbl@redefine\bibcite#1#2{% :10.920S% s,\@safe@activestrue\org@bibcite{#1}{#2}\@safe@activesfalse}$\@bibitemIOnejofthetwojinternalL5ffA͉TU>'ExXmacroscalledby\bibitemthatwritethecitation IlabGelUUonthe.aux le.:10.921S\bbl@redefine\@bibitem#1{% :10.922]\@safe@activestrue\org@@bibitem{#1}\@safe@activesfalse}\@lbibitemITheDotherofthetwoDinternalL5ffA͉TU>'ExXmacroscalledby\bibitemthatwritethe IcitationUUlabGelonthe.aux le.:10.923S\bbl@redefine\@lbibitem[#1]#2{% :10.924]\@safe@activestrue\org@@lbibitem[#1]{#2}\@safe@activesfalse}:10.925Sh=co9re8jshorthandsDi L\ifthenelseISometimesadoGcumentwriterwantstocreateaspGeciale ectdependingonthe IpageacertainfragmentoftextappGearson.UThiscanbeacheivedbythefollowingIpGeiceUUofcode:[X\ifthenelse{\isodd{pageref{some:label}}} {codeforoddpages}{codeforevenpages}46/HsoIInXorderforthistoworktheargumentof\isoddneedstobGefullyexpandable. IwithOtheabGoveOrede nitionof\pagerefitisnotinthecaseofthisexample."T*oIovercomethatweaddsomecoGdetothede nitionof\ifthenelsetomakethingsIwork.XTheb rstthingweneedtodoischeckifthepackqageifthenisloaded.ThisIshouldUUbGedoneat\begin{focument}time.:10.926Shpack9age#g i :10.927S\AtBeginDocument{%:10.928]\@ifpackageloaded{ifthen}{%IThenUUwecanrede ne\ifthenelse::10.929f\bbl@redefine@long\ifthenelse#1#2#3{%IW*e6wanttorevertthede nitionof\pagereftoitsorginalde nitionforthe IdurationUUof\ifthenelse,sowe rstneedtostoreitscurrentmeaning.:10.930p2\let\bbl@tempa\pageref :10.931p2\let\pageref\org@pagerefIThenUUwecansetthe\@safe@activesswitchandcalltheoriginal\ifthenelse.:10.932p2\@safe@activestrue\org@ifthenelse{#1}{#2}{#3}% :10.933p2\@safe@activesfalseINowUUweneedtore-installthestoredde nitionof\pageref.:10.934p2\let\pageref\bbl@tempa :10.935p2}%IWhenUUthepackqagewasn'tloadedwedonothing.:10.936f}{}% :10.937]} L\@@vpagerefIWhenNthepackqagevariorefisinuseweneedtomoGdifyitsinternalcommand I\@@vpagerefinordertopreventproblemswhenanactivecharacterendsupinItheUUargumentof\vref.:10.938S\AtBeginDocument{% :10.939]\@ifpackageloaded{varioref}{%:10.940f\bbl@redefinerobust\@@vpageref#1[#2]#3{%:10.941p2\@safe@activestrue:10.942p2\org@@@vpageref{#1}[#2]{#3}%:10.943p2\@safe@activesfalse}%:10.944f}{}%:10.945]}3P\hhlineIDealyingtheactivqationoftheshorthandcharacteshasintroGducedaproblemwith Ithehhlinepackqage.x Thereasonisthatitusesthe`:'JcharacterwhichismadeIactivebythefrenchsuppGortinbabel.sxThereforeweneedtor}'eload thepackqageIwhenUUthe`:'qisanactivecharacter.XSoUUat\begin{document}wecheckwhetherhhlineisloaded.:10.946S\AtBeginDocument{% :10.947]\@ifpackageloaded{hhline}IThenUUwecheckwhethertheexpansionof\normal@char:isnotequalto\relax.:10.948f{\expandafter\ifx\csnamenormal@char:\endcsname\relax:10.949kJ\else470UsoIInthatcasewesimplyreloadthepackqage.NotethatthishappGensafterQthe IcategoryUcoGdeofthe@-signhasbeenchangedtoother,soweneedtotempGorarilyIchangeUUittoletteragain.:10.950t\makeatletter :10.951t\def\@currname{hhline}\input{hhline.sty}\makeatother:10.952kJ\fi}:10.953f{}}:10.954Sh=pack9age#g i 6\nfss@catcodesIL5ffA͉TU>'ExX'svfontselectionschemesometimeswantstoreadfontde nition lesinthe ImiddleofproGcessingthedocument.InordertoguardagainstanycharactersIhavingthewrong\catcode'sitalwayscalls\nfss@catcodesbGeforeloadingaI le.Unfortunately*,fthecWcharacters"and'arenotdealtwith.ThereforewehaveItoUUaddthemuntillL5ffA͉TU>'ExXdoGesthatherself.:10.955Shco9re8jshorthandsDi :10.956S\ifx\nfss@catcodes\@undefined:10.957S\else:10.958]\addto\nfss@catcodes{%:10.959f\@makeother\'%:10.960f\@makeother\"%:10.961f}:10.962S\fi:10.963Sh=co9re8jshorthandsDi!čI11ifdLos3calffLanguageCon guration\loadlocalcfgIAt'somesitesitmaybGenecessarytoaddsitespeci cactionstoalanguagede ni- ItionMp le.o%ThiscanbGedonebycreatinga lewiththesamenameasthelanguageIde ntionݒ le,butwiththeextension.cfg. }F*orinstancethe lenorsk.cfgwillIbGeUUloadedwhenthelanguagede nition lenorsk.ldfisloaded.B11.1Shco9re_iIF*orplainbasedformatswedon'twanttooverridethede nitionof\loadlocalcfgIfromUUplain.def.B11.2S\ifx\loadlocalcfg\@undefined B11.3]\def\loadlocalcfg#1{%B11.4f\InputIfFileExists{#1.cfg}B11.5 {\typeout{*************************************^^J%B11.6*Localconfigfile#1.cfgused^^J%B11.7*}%B11.8]}B11.9 {}}>Ë11.10S\fiIJustUUtobGecompatiblewithL5ffA͉TU>'ExX82.09weaddafewmorelinesofcode:>Ë11.11S\ifx\@unexpandable@protect\@undefined>Ë11.12]\def\@unexpandable@protect{\noexpand\protect\noexpand}>Ë11.13]\long\def\protected@write#1#2#3{%>Ë11.14yw^\begingroup>Ë11.15~0\let\thepage\relax>Ë11.16~0#2%481`dso>Ë11.17~0\let\protect\@unexpandable@protect >Ë11.18~0\edef\reserved@a{\write#1{#3}}%>Ë11.19~0\reserved@a>Ë11.20yw^\endgroup>Ë11.21yw^\if@nobreak\ifvmode\nobreak\fi\fi>Ë11.22]}>Ë11.23S\fi>Ë11.24Sh=co9re_i492ksoI12ifdDriverff lesforthedos3cumentedsourcecos3deISince,babGelversion3.4allsource lesthatarepartofthebabelsystemcanbe ItypGesetGseparately*.OButinordertotypGesetthemallinonedocumentthe leIbabel.drvzcanbGeused.V)IfyouonlywanttheinformationonhowtousethebabGelIsystem@andwhatgoGodies@areprovidedbythelanguagespGci c lesyoucanrunItheUU leuser.drvthroughL5ffA͉TU>'ExXtogetauserguide.B12.1Shdriveroi B12.2S\documentclass{ltxdoc}B12.3S\DoNotIndex{\!,\',\,,\.,\-,\:,\;,\?,\/,\^,\`,\@M}B12.4S\DoNotIndex{\@,\@ne,\@m,\@afterheading,\@date,\@endpart}B12.5S\DoNotIndex{\@hangfrom,\@idxitem,\@makeschapterhead,\@mkboth}B12.6S\DoNotIndex{\@oddfoot,\@oddhead,\@restonecolfalse,\@restonecoltrue}B12.7S\DoNotIndex{\@starttoc,\@unused}B12.8S\DoNotIndex{\accent,\active}B12.9S\DoNotIndex{\addcontentsline,\advance,\Alph,\arabic}>Ë12.10S\DoNotIndex{\baselineskip,\begin,\begingroup,\bf,\box,\c@secnumdepth}>Ë12.11S\DoNotIndex{\catcode,\centering,\char,\chardef,\clubpenalty}>Ë12.12S\DoNotIndex{\columnsep,\columnseprule,\crcr,\csname}>Ë12.13S\DoNotIndex{\day,\def,\dimen,\discretionary,\divide,\dp,\do}>Ë12.14S\DoNotIndex{\edef,\else,\@empty,\end,\endgroup,\endcsname,\endinput}>Ë12.15S\DoNotIndex{\errhelp,\errmessage,\expandafter,\fi,\filedate}>Ë12.16S\DoNotIndex{\fileversion,\fmtname,\fnum@figure,\fnum@table,\fontdimen}>Ë12.17S\DoNotIndex{\gdef,\global}>Ë12.18S\DoNotIndex{\hbox,\hidewidth,\hfil,\hskip,\hspace,\ht,\Huge,\huge}>Ë12.19S\DoNotIndex{\ialign,\if@twocolumn,\ifcase,\ifcat,\ifhmode,\ifmmode}>Ë12.20S\DoNotIndex{\ifnum,\ifx,\immediate,\ignorespaces,\input,\item}>Ë12.21S\DoNotIndex{\kern}>Ë12.22S\DoNotIndex{\labelsep,\Large,\large,\labelwidth,\lccode,\leftmargin}>Ë12.23S\DoNotIndex{\lineskip,\leavevmode,\let,\list,\ll,\long,\lower}>Ë12.24S\DoNotIndex{\m@ne,\mathchar,\mathaccent,\markboth,\month,\multiply}>Ë12.25S\DoNotIndex{\newblock,\newbox,\newcount,\newdimen,\newif,\newwrite}>Ë12.26S\DoNotIndex{\nobreak,\noexpand,\noindent,\null,\number}>Ë12.27S\DoNotIndex{\onecolumn,\or}>Ë12.28S\DoNotIndex{\p@,par,\parbox,\parindent,\parskip,\penalty}>Ë12.29S\DoNotIndex{\protect,\ps@headings}>Ë12.30S\DoNotIndex{\quotation}>Ë12.31S\DoNotIndex{\raggedright,\raise,\refstepcounter,\relax,\rm,\setbox}>Ë12.32S\DoNotIndex{\section,\setcounter,\settowidth,\scriptscriptstyle}>Ë12.33S\DoNotIndex{\sfcode,\sl,\sloppy,\small,\space,\spacefactor,\strut}>Ë12.34S\DoNotIndex{\string}>Ë12.35S\DoNotIndex{\textwidth,\the,\thechapter,\thefigure,\thepage,\thepart}>Ë12.36S\DoNotIndex{\thetable,\thispagestyle,\titlepage,\tracingmacros}>Ë12.37S\DoNotIndex{\tw@,\twocolumn,\typeout,\uppercase,\usecounter}>Ë12.38S\DoNotIndex{\vbox,\vfil,\vskip,\vspace,\vss}>Ë12.39S\DoNotIndex{\widowpenalty,\write,\xdef,\year,\z@,\z@skip}XHereUU\dlqqisde nedsothatanexampleof"'canbGegiven.>Ë12.40S\makeatletter>Ë12.41S\gdef\dlqq{{\setbox\tw@=\hbox{,}\setbox\z@=\hbox{''}%>Ë12.42]\dimen\z@=\ht\z@\advance\dimen\z@-\ht\tw@>Ë12.43]\setbox\z@=\hbox{\lower\dimen\z@\box\z@}\ht\z@=\ht\tw@>Ë12.44]\dp\z@=\dp\tw@\box\z@\kern-.04em}}503m soXTheUUcoGdelinesarenumberedUUwithinsections, Ӎ>Ë12.45Sh!useri >Ë12.46SA\@addtoreset{CodelineNo}{section}>Ë12.47SA\renewcommand\theCodelineNo{%>Ë12.48]A\reset@font\scriptsize\thesection.\arabic{CodelineNo}}ӍIwhichmZshouldalsobGevisibleintheindex;y\hencethisrede nitionofamacrofrom Idoc.sty.>Ë12.49SA\renewcommand\codeline@wrindex[1]{\if@filesw>Ë12.50ywfA\immediate\write\@indexfile>Ë12.51]A{\string\indexentry{#1}%>Ë12.52]A{\number\c@section.\number\c@CodelineNo}}\fi}ӍXThe .glossaryenvironment .isusedorthechangelog,9butitsde nitionneeds IchangingUUforthisdoGcument.>Ë12.53SA\renewenvironment{theglossary}{%>Ë12.54f A\glossary@prologue%>Ë12.55f A\GlossaryParms\let\item\@idxitem\ignorespaces}%>Ë12.56asA{}>Ë12.57Sh=!useri>Ë12.58S\makeatotherӍXAUUfewshorthandsusedinthedoGcumentation>Ë12.59S\font\manual=logo10%fontusedfortheMETAFONTlogo,etc.>Ë12.60S\newcommand*\MF{{\manualMETA}\-{\manualFONT}}>Ë12.61S\newcommand*\TeXhax{\TeXhax}>Ë12.62S\newcommand*\babel{\textsf{babel}}>Ë12.63S\newcommand*\Babel{\textsf{Babel}}>Ë12.64S\newcommand*\m[1]{\mbox{$\langle$\it#1\/$\rangle$}}>Ë12.65S\newcommand*\langvar{\m{lang}}ӍXSomeUUmorede nitionsneededinthedoGcumentation.>Ë12.66S%\newcommand*\note[1]{\textbf{#1}}>Ë12.67S\newcommand*\note[1]{}>Ë12.68S\newcommand*\bsl{\protect\bslash}>Ë12.69S\newcommand*\Lopt[1]{\textsf{#1}}>Ë12.70S\newcommand*\file[1]{\texttt{#1}}>Ë12.71S\newcommand*\cls[1]{\texttt{#1}}>Ë12.72S\newcommand*\pkg[1]{\texttt{#1}}>Ë12.73S\newcommand*\langdeffile[1]{%>Ë12.74Shuseri s.A\clearpage>Ë12.75]\DocInput{#1}}ӍXWhen8afullindexshouldbGegenerateduncommentthelinewith\EnableCrossres. IBeware,xproGcessingmaytakesometime.CUse\DisableCrossrefswhentheindexIisUUready*.>Ë12.76S% s,\EnableCrossrefs >Ë12.77S\DisableCrossrefsӍXInludeUUthechangelog.>Ë12.78ShuseriA\RecordChangesITheUUindexshouldusethelinenumbGersUUofthecode.>Ë12.79ShuseriA\CodelineIndexXSetUUeverythingin\MacroFontinsteadof\AltMacroFont>Ë12.80S\setcounter{StandardModuleDepth}{1}514|.soXF*orUUtheuserguideweonlywantthedescriptionpartsofallthe les.>Ë12.81Sh+useriA\OnlyDescriptionIHereUUstartsthedoGcument>Ë12.82S\begin{document} >Ë12.83S\DocInput{babel.dtx}XAllUUthelanguagede nition les.>Ë12.84Sh+useriA\clearpage >Ë12.85S\langdeffile{esperant.dtx}>Ë12.86S\langdeffile{dutch.dtx}>Ë12.87S\langdeffile{english.dtx}>Ë12.88S\langdeffile{germanb.dtx}>Ë12.89S%>Ë12.90S\langdeffile{breton.dtx}>Ë12.91S\langdeffile{welsh.dtx}>Ë12.92S\langdeffile{irish.dtx}>Ë12.93S\langdeffile{scottish.dtx}>Ë12.94S%>Ë12.95S\langdeffile{greek.dtx}>Ë12.96S%>Ë12.97S\langdeffile{frenchb.dtx}>Ë12.98S\langdeffile{italian.dtx}>Ë12.99S\langdeffile{portuges.dtx}:12.100S\langdeffile{spanish.dtx}:12.101S\langdeffile{catalan.dtx}:12.102S\langdeffile{galician.dtx}:12.103S\langdeffile{romanian.dtx}:12.104S%:12.105S\langdeffile{danish.dtx}:12.106S\langdeffile{norsk.dtx}:12.107S\langdeffile{swedish.dtx}:12.108S%:12.109S\langdeffile{finnish.dtx}:12.110S\langdeffile{magyar.dtx}:12.111S\langdeffile{estonian.dtx}:12.112S%:12.113S\langdeffile{croatian.dtx}:12.114S\langdeffile{czech.dtx}:12.115S\langdeffile{polish.dtx}:12.116S\langdeffile{slovak.dtx}:12.117S\langdeffile{slovene.dtx}:12.118S\langdeffile{russianb.dtx}:12.119S%:12.120S\langdeffile{lsorbian.dtx}:12.121S\langdeffile{usorbian.dtx}:12.122S\langdeffile{turkish.dtx}:12.123S%:12.124S\langdeffile{bahasa.dtx}:12.125S\clearpage:12.126S\DocInput{bbplain.dtx}IFinallyUUprinttheindexandchangelog(notfortheuserguide).:12.127Sh!useri:12.128SA\clearpage525=so:12.129SA\def\filename{index} :12.130SA\PrintIndex:12.131SA\clearpage:12.132SA\def\filename{changes}:12.133SA\PrintChanges:12.134Sh=!useri:12.135S\end{document}:12.136Sh=driveroi5367soI13ifdConclusionIAsystemofdoGcumentoptionshasbeenpresentedthatenabletheuserofL5ffA͉TU>'ExX ItoadaptthestandarddoGcumentclassesofL5ffA͉TU>'ExXtothelanguageheorsheprefersIto~wuse.-Theseoptionso erthepGossibilitytoswitchbGetweenlanguagesinoneIdoGcument.PThebasicinterfaceconsistsofusingonesoption,whichisthesameforIall]޲standardUUdoGcumentclasses.XIncsomecasesthelanguagede nition lesprovidemacrosthatcanbGeofusetoIplaincTU>'ExXusersaswellastoL5ffA͉TU>'EXusers.9ThebabGelsystemhasbeenimplementedIinUUsuchawaythatitcanbGeusedbybGothgroupsofusers.!čI14ifdAcknowledgementsII'wouldYliketothankallwhovolunteeredas -testersfortheirtime.0sI'wouldliketoImentionmJulioSanchezwhosuppliedtheoption lefortheSpanishlanguageandIMaurizioZCoGdognowhosuppliedtheoption lefortheItalianlanguage.MichelIGoGossens>suppliedcontributionsformostoftheotherlanguages.+NicoPoppGelierIhelpGedxpolishingthetextofthedocumentationandsuppliedpartsofthemacrosIfor7theDutchlanguage. PaulW*ackersandW*erenfriedSpithelpGed ndingandIrepairingUUbugs.XDuring^thefurtherdevelopment^ofthebabGelsystemIAreceivedmuchhelpfromIBerndUURaichle,forwhichIamgrateful.!čIReferencesI[1]X;DonaldUUE.Knuth,TheTKß'E-Xb}'ook,UUAddison-W*esley,1986.I[2]X;LeslieLampGort,aL雍Q9t}\cmti7ATKß'E-X,bAdo}'cumentnpreparationSystem,aAddison-W*esley,X;1986.I[3]X;K.F.[T*reebus.T;ekstwijzer,"e}'en@gidsvoorhetgra schverwerkenvantekst.[SDUX;Uitgeverij('s-Gravenhage,˲1988).ADutchbGookonlayoutdesignandtypGog-X;raphy*.I[4]X;HubGertUUPartl,GermanTKß'E-X,TUGb}'oatH-9UU(1988)#1,p.70{72.I[5]X;LeslieUULampGort,in:qTU>'ExXhaxDigest,V*olume89,#13,17februari1989.I[6]X;JohannesIBraams,VictorEijkhoutandNicoPoppGelier,ThetdevelopmentofX;nationalL雍QATKß'E-Xstyles,UUTUGb}'oatH-10(1989)#3,p.401{406.I[7]X;JoachimbSchroGd,e2InternationalL雍QATKß'E-Xisr}'eadytouse,TUGb}'oatT޲11b(1990)#1,X;p.UU87{90.547soI15ifdTheffEsps3erantolanguageIThe leesperant.dtx^10 de nesallthelanguage-spGeci cmacrosfortheEsperanto Ilanguage.XF*or:thislanguagethecharacter^ismadeactive.!Intable2anoverviewisIgivenUUofitspurpGose.ԍ3]$}pe^c_givesM^Gc.withhyphenationintherestofthewordal-_lowed,UUthisworksforc,C,g,G,H,J,s,S,z,Z}pe^h_preventsUUh^frombGecomingtootall}pe^j_gives\q^}pe^u_givesu,mwithihyphenationintherestoftheword_allowed}pe^U_givesǘxU,)withhyphenationintherestoftheword_allowed}pe^|_insertsUUa\discretionary{-}{}{}EuT*ableUU2:qThefunctionsoftheactivecharacterforEspGeranto.9XThemacro\LdfInittakescareofpreventingthatthis leisloadedmorethanIonce,UUcheckingthecategorycoGdeofthe@sign,etc.B15.1ShcoAdei B15.2S\LdfInit{esperanto}\captionsesperantoXWhenTVthis leisreadasanoption,i.e. nbythe\usepackagecommand,IesperantoʲwillbGean`unknown'languageinwhichcasewehavetomakeitknown.ISowecheckfortheexistenceof\l@esperantotoseewhetherwehavetodosome-IthingUUhere.B15.3S\ifx\l@esperanto\@undefinedB15.4]\@nopatterns{Esperanto}B15.5]\adddialect\l@esperanto0\fiXThe[nextstepconsistsofde ningcommandstoswitchtotheEspGerantolan-Iguage.The1ZreasonforthisisthatausermightwanttoswitchbackandforthIbGetweenUUlanguages.9\captionsesperantoIThemacro\captionsesperantode nesallstringsusedinthefourstandardIdoGcumentclassesUUprovidedwithL5ffA͉TU>'ExX.B15.6S\addto\captionsesperanto{%B15.7]\def\prefacename{Anta\u{u}parolo}%B15.8]\def\refname{Cita\^\j{}oj}%B15.9]\def\abstractname{Resumo}%>Ë15.10]\def\bibname{Bibliografio}%>Ë15.11]\def\chaptername{{\^C}apitro}%>Ë15.12]\def\appendixname{Apendico}%>Ë15.13]\def\contentsname{Enhavo}%>Ë15.14]\def\listfigurename{Listodefiguroj}%>Ë15.15]\def\listtablename{Listodetabeloj}%>Ë15.16]\def\indexname{Indekso}%I&effr J=w-:10LThe ledescribË15.17]\def\figurename{Figuro}% >Ë15.18]\def\tablename{Tabelo}%>Ë15.19]\def\partname{Parto}%>Ë15.20]\def\enclname{Aldono(j)}%>Ë15.21]\def\ccname{Kopieal}%>Ë15.22]\def\headtoname{Al}%>Ë15.23]\def\pagename{Pa\^go}%>Ë15.24]\def\subjectname{Temo}%>Ë15.25]\def\seename{vidu}%,a^u:vd.>Ë15.26]\def\alsoname{viduanka\u{u}}%a^uvd.anka\u{u}>Ë15.27]\def\proofname{Pruvo}%>Ë15.28]} 6\dateesperantoIThemacro\dateesperantorede nesthecommand\todaytoproGduceEsperanto Idates.>Ë15.29S\def\dateesperanto{%>Ë15.30S\def\today{\number\day{--a}~de~\ifcase\month\or>Ë15.31]januaro\orfebruaro\ormarto\oraprilo\ormajo\orjunio\or>Ë15.32]julio\ora\u{u}gusto\orseptembro\oroktobro\ornovembro\or>Ë15.33]decembro\fi,\space\number\year}} \extrasesperanto 9\noextrasesperantoIThe5macro\extrasesperantopGerformsalltheextrade nitionsneededforthe IEspGerantoTlanguage.2Themacro\noextrasesperantoisusedtocanceltheactionsIofUU\extrasesperanto.XF*orEspGerantothe^characterismadeactive.sThisisdoneonce,lateronitsIde nitionUUmayvqary*.>Ë15.34S\initiate@active@char{^} >Ë15.35S\addto\extrasesperanto{\languageshorthands{esperanto}}>Ë15.36S\addto\extrasesperanto{\bbl@activate{^}}>Ë15.37S\addto\noextrasesperanto{\bbl@deactivate{^}}XAndUUherearetheusesoftheactive^:>Ë15.38S\declare@shorthand{esperanto}{^c}{\^{c}\allowhyphens}>Ë15.39S\declare@shorthand{esperanto}{^C}{\^{C}\allowhyphens}>Ë15.40S\declare@shorthand{esperanto}{^g}{\^{g}\allowhyphens}>Ë15.41S\declare@shorthand{esperanto}{^G}{\^{G}\allowhyphens}>Ë15.42S\declare@shorthand{esperanto}{^h}{h\llap{\^{}}\allowhyphens}>Ë15.43S\declare@shorthand{esperanto}{^H}{\^{H}\allowhyphens}>Ë15.44S\declare@shorthand{esperanto}{^j}{\^{\j}\allowhyphens}>Ë15.45S\declare@shorthand{esperanto}{^J}{\^{J}\allowhyphens}>Ë15.46S\declare@shorthand{esperanto}{^s}{\^{s}\allowhyphens}>Ë15.47S\declare@shorthand{esperanto}{^S}{\^{S}\allowhyphens}>Ë15.48S\declare@shorthand{esperanto}{^u}{\uu\allowhyphens}>Ë15.49S\declare@shorthand{esperanto}{^U}{\uU\allowhyphens}>Ë15.50S\declare@shorthand{esperanto}{^|}{\discretionary{-}{}{}\allowhyphens}"\Esper "\esperIInesperant.styJorgKnappGenprovidesthemacros\esperand\Esperthatcan IbGe(usedinsteadof\alphand\Alph.rThesemacrosareavqailableinthis leasIwell.XTheirUUde nitiontakesplaceinthreesteps.qFirstthetoplevel.>Ë15.51S\def\esper#1{\@esper{\@nameuse{c@#1}}} >Ë15.52S\def\Esper#1{\@Esper{\@nameuse{c@#1}}}569soIThenUUthe rst veoGccasionsthatareprobablyusedthemost.>Ë15.53S\def\@esper#1{\ifcase#1\ora\orb\orc\or\^c\ord\else\@iesper{#1}\fi} >Ë15.54S\def\@Esper#1{\ifcase#1\orA\orB\orC\or\^C\orD\else\@Iesper{#1}\fi}IAndUUthe33othercases.>Ë15.55S\def\@iesper#1{\ifcase#1\or\or\or\or\or\ore\orf\org\or\^g\or>Ë15.56fh\orh\llap{\^{}}\ori\orj\or\^\j\ork\orl\orm\orn\oro\or>Ë15.57fp\ors\or\^s\ort\oru\or\u{u}\orv\orz\else\@ctrerr\fi}>Ë15.58S\def\@Iesper#1{\ifcase#1\or\or\or\or\or\orE\orF\orG\or\^G\or>Ë15.59fH\or\^H\orI\orJ\or\^\J\orK\orL\orM\orN\orO\or>Ë15.60fP\orS\or\^S\orT\orU\or\u{U}\orV\orZ\else\@ctrerr\fi}3P\hodiau y\hodiaunIIniesperant.styJorgKnappGenprovidestwoalternativemacrosfor\today, I\hodiau and\hodiaun.ThesecondmacroproGducesanaccusativeversionofItheUUdateinEspGeranto.>Ë15.61S\addto\dateesperanto{\def\hodiau{la\today}}>Ë15.62S\def\hodiaun{la\number\day--an~de~\ifcase\month\or>Ë15.63]januaro\orfebruaro\ormarto\oraprilo\ormajo\orjunio\or>Ë15.64]julio\ora\u{u}gusto\orseptembro\oroktobro\ornovembro\or>Ë15.65]decembro\fi,\space\number\year}XThemacro\ldf@finishtakescareofloGokingforacon guration le,settingIthefmainlanguagetobGeswitchedonat\begin{document}andresettingtheIcategoryUUcoGdeofr@toitsoriginalvqalue.>Ë15.66S\ldf@finish{esperanto}>Ë15.67Sh=coAdei57:nsoI16ifdTheffDutchlanguageITheE ledutch.dtx^11 P+de nesallthelanguage-spGeci cmacrosfortheDutchlan- IguageUUandthe`Afrikqaans'version^12 ;ofit.XF*or:thislanguagethecharacter"ismadeactive.!Intable3anoverviewisIgivenofitspurpGose.OneofthereasonsforthisisthatintheDutchlanguageIa}wordwithadieresiscanbGehyphenatedjustbGeforetheletterwiththeumlaut,Ibut &thedieresishastodisappGearifthewordisbrokenbGetweenthepreviousletterIandUUtheaccentedletter.XIn_[3]thequotingconventions_fortheDutchlanguagearediscussed. 'TheIpreferredconventionisthesingle-quoteAnglo-Americanconvention,i.e.>`ThisisIaquote'.JZAnalternativeistheslightlyold-fashionedDutchmethoGdwithinitialIdouble2quoteslowered2tothebaseline,ԩ"nHThisisaquote",ԩwhichshouldbGetypGedIasUU"`This?isaquote"'.rrd}pe"a_\"aWwhichhyphenatesas-a;ػalsoimplementedfor_theUUotherletters.}pe"y_putsUUanegativekernbGetweeniandj}pe"Y_putsUUanegativekernbGetweenIandJ}pe"|_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.ldfB16.1S%\changes{dutch-3.8a}{1996/10/04}{madecheckdependanton B16.2S%X\cs{CurrentOption}}B16.3S%B16.4S%XThemacro|\LdfInit|takescareofpreventingthatthisfileisB16.5S%Xloadedmorethanonce,checkingthecategorycodeoftheB16.6S%X\texttt{@}sign,etc.B16.7S%\changes{dutch-3.8a}{1996/10/30}{Nowuse\cs{LdfInit}toperformB16.8S%Xinitialchecks}B16.9S%X\begin{macrocode}>Ë16.10ShcoAdei>Ë16.11S\LdfInit\CurrentOption{captions\CurrentOption}XWhenw-:12LconÎtributedXbySto elLombard(lombc@b31pc87.up.ac.za)58;ΠsoXFirstUUwetrytoestablishwithwhichoptionwearebGeingprocessed.>Ë16.12S\def\bbl@tempa{dutch} >Ë16.13S\ifx\CurrentOption\bbl@tempaIIfUUitisdutchthenwe rstcheckiftheDutchhyphenationpatternswerloaded,>Ë16.14]\ifx\l@dutch\undefinedIif}noweissueawarningandmakedutcha`dialect'ofeitherthehyphenation IpatternsUUthatwereloadedinslot0orof`afrikqaans'whenitisavqailable.>Ë16.15f\@nopatterns{Dutch}>Ë16.16f\ifx\l@afrikaans\undefined>Ë16.17p2\adddialect\l@dutch0>Ë16.18f\else>Ë16.19p2\adddialect\l@dutch\l@afrikaans>Ë16.20f\fi>Ë16.21]\fiXThe~nextstepconsistsofde ningcommandstoswitchto(andfrom)theDutch Ilanguage. 6\captionsdutchIThemacro\captionsdutchde nesallstringsusedinthefourstandarddoGcumentIclassesUUprovidedwithL5ffA͉TU>'ExX.>Ë16.22]\begingroup>Ë16.23f\catcode`\"\active>Ë16.24f\def\x{\endgroup>Ë16.25p2\def\captionsdutch{%>Ë16.26yw^\def\prefacename{Voorwoord}%>Ë16.27yw^\def\refname{Referenties}%>Ë16.28yw^\def\abstractname{Samenvatting}%>Ë16.29yw^\def\bibname{Bibliografie}%>Ë16.30yw^\def\chaptername{Hoofdstuk}%>Ë16.31yw^\def\appendixname{B"ylage}%>Ë16.32yw^\def\contentsname{Inhoudsopgave}%>Ë16.33yw^\def\listfigurename{L"ystvanfiguren}%>Ë16.34yw^\def\listtablename{L"ystvantabellen}%>Ë16.35yw^\def\indexname{Index}%>Ë16.36yw^\def\figurename{Figuur}%>Ë16.37yw^\def\tablename{Tabel}%>Ë16.38yw^\def\partname{Deel}%>Ë16.39yw^\def\enclname{B"ylage(n)}%>Ë16.40yw^\def\ccname{cc}%>Ë16.41yw^\def\headtoname{Aan}%>Ë16.42yw^\def\pagename{Pagina}%>Ë16.43yw^\def\seename{zie}%>Ë16.44yw^\def\alsoname{zieook}%>Ë16.45yw^\def\proofname{Bew"ys}%>Ë16.46yw^}>Ë16.47p2}\x\datedutchITheCsmacro\datedutchrede nesthecommand\todaytoproGduceDutchdates.>Ë16.48]\def\datedutch{%>Ë16.49f\def\today{\number\day~\ifcase\month\or>Ë16.50p2januari\orfebruari\ormaart\orapril\ormei\orjuni\or>Ë16.51p2juli\oraugustus\orseptember\oroktober\ornovember\or59<Fso>Ë16.52p2december\fi >Ë16.53p2\space\number\year}}XWhentheoptionwithwhichthis leisbGeingprocesswasnotdutchweassume IitӖwasafrikaans.FW*epGerformasimilarcheckontheavqailabilityofthehyphenationIpaterns.>Ë16.54S\else>Ë16.55]\ifx\l@afrikaans\undefined>Ë16.56f\@nopatterns{Afrikaans}>Ë16.57f\ifx\l@dutch\undefined>Ë16.58p2\adddialect\l@afrikaans0>Ë16.59f\else>Ë16.60p2\adddialect\l@afrikaans\l@dutch>Ë16.61f\fi>Ë16.62]\fi9\captionsafrikaansINowUUisthetimetode nethewordsfor`Afrikqaans'.>Ë16.63]\def\captionsafrikaans{%>Ë16.64f\def\prefacename{Voorwoord}%>Ë16.65f\def\refname{Verwysings}%>Ë16.66f\def\abstractname{Samevatting}%>Ë16.67f\def\bibname{Bibliografie}%>Ë16.68f\def\chaptername{Hoofstuk}%>Ë16.69f\def\appendixname{Bylae}%>Ë16.70f\def\contentsname{Inhoudsopgawe}%>Ë16.71f\def\listfigurename{Lysvanfigure}%>Ë16.72f\def\listtablename{Lysvantabelle}%>Ë16.73f\def\indexname{Inhoud}%>Ë16.74f\def\figurename{Figuur}%>Ë16.75f\def\tablename{Tabel}%>Ë16.76f\def\partname{Deel}%>Ë16.77f\def\enclname{Bylae(n)}%>Ë16.78f\def\ccname{a.a.}%>Ë16.79f\def\headtoname{Aan}%>Ë16.80f\def\pagename{Bladsy}%>Ë16.81f\def\seename{sien}%>Ë16.82f\def\alsoname{sienook}%>Ë16.83f\def\proofname{Bewys}%>Ë16.84f} 6\dateafrikaansIHereUUisthe`Afrikqaans'versionofthedatemacro.>Ë16.85]\def\dateafrikaans{%>Ë16.86f\def\today{\number\day~\ifcase\month\or>Ë16.87p2Januarie\orFebruarie\orMaart\orApril\orMei\orJunie\or>Ë16.88p2Julie\or s,Augustus\orSeptember\orOktober\orNovember\or>Ë16.89p2Desember\fi>Ë16.90p2\space\number\year}}>Ë16.91S\fib\extrasdutch \extrasafrikaans 6\noextrasdutch 9\noextrasafrikaansIThemacros\extrasdutchand\captionsafrikaanswillpGerformalltheex- Itra;zde nitionsneededfortheDutchlanguage. $7Themacros\noextrasdutchIandnoextrasafrikaansisusedtocanceltheactionsof\extrasdutchandI\captionsafrikaans.60=գsoXF*orDutchthe"characterismadeactive.Thisisdoneonce,Slateronits Ide nitionmayvqary*.+OtherlanguagesinthesamedoGcumentmayalsousethe"Icharacterforshorthands;ZwespGecifythatthedutchgroupofshorthandsshouldIbGeUUused. >Ë16.92S\initiate@active@char{"}IBothversionofthelanguageusethesamesetofshorthandde nitionsalthougtheI`ij'UUisnotusedinAfrikqaans.>Ë16.93S\@namedef{extras\CurrentOption}{\languageshorthands{dutch}} >Ë16.94S\expandafter\addto\csnameextras\CurrentOption\endcsname{%>Ë16.95]\bbl@activate{"}}XThe:`umlaut'charactershouldbGepositionedlower:onallòvowels:inDutchtexts.>Ë16.96S\expandafter\addto\csnameextras\CurrentOption\endcsname{%>Ë16.97]\umlautlow\umlautelow}>Ë16.98S\@namedef{noextras\CurrentOption}{%>Ë16.99]\umlauthigh}9 \dutchhyphenmins Ʋ\afrikaanshyphenminsIThedutchhyphenationpatternscanbGeusedwith\lefthyphenminsetto2and I\righthyphenminUUsetto3.:16.100S\def\dutchhyphenmins{\tw@\thr@@}:16.101S\def\afrikaanshyphenmins{\tw@\thr@@}r3P\@tremaIIn&theDutchlanguagevowelswithatremaaretreatedspGecially*.PIfahyphenation IoGccursƚbeforeavowel-plus-trema,thetremashoulddisappGear.ŕT*obeabletodoIthiswecould rstde nethehyphenationbreakbGehaviourforthe vevowels,bGothIlowercase0KanduppGercase,7intermsof\discretionary.enButthisresultsinalargeI\if-construct inthede nitionoftheactive".HBecausewethinkausershouldnotIuse"whenhereallymeanssomethinglike''wechosenottodistinguishbGetweenIvowelsandconsonants.W+Thereforewehaveonemacro\@tremawhichspGeci estheIhyphenationUUbreakbGehaviourforallletters.&:16.102S\def\@trema#1{\allowhyphens\discretionary{-}{#1}{\"{#1}}\allowhyphens}9XNowUUwecande nethedoublequotemacros:qthetremas,:16.103S\declare@shorthand{dutch}{"a}{\textormath{\@tremaa}{\ddota}} :16.104S\declare@shorthand{dutch}{"e}{\textormath{\@tremae}{\ddote}}:16.105S\declare@shorthand{dutch}{"i}{\textormath:16.106]{\allowhyphens\discretionary{-}{i}{\"{\i}}\allowhyphens}%:16.107]{\ddot\imath}}:16.108S\declare@shorthand{dutch}{"o}{\textormath{\@tremao}{\ddoto}}:16.109S\declare@shorthand{dutch}{"u}{\textormath{\@tremau}{\ddotu}}&IdutchUUquotes,:16.110S\declare@shorthand{dutch}{"`}{%:16.111]\textormath{\quotedblbase{}}{\mbox{\quotedblbase}}}:16.112S\declare@shorthand{dutch}{"'}{%:16.113]\textormath{\textquotedblright{}}{\mbox{\textquotedblright}}}IandUUsomeadditionalcommands::16.114S\declare@shorthand{dutch}{"-}{\allowhyphens-\allowhyphens}:16.115S\declare@shorthand{german}{"~}{\textormath{\leavevmode\hbox{-}}{-}}:16.116S\declare@shorthand{dutch}{"|}{%:16.117]\textormath{\discretionary{-}{}{\kern.03em}}{}}61>so:16.118S\declare@shorthand{dutch}{""}{\hskip\z@skip} :16.119S\declare@shorthand{dutch}{"y}{\textormath{\ij{}}{\ddoty}}:16.120S\declare@shorthand{dutch}{"Y}{\textormath{\IJ{}}{\ddotY}}5>\-IAllޚthatisleftnowistherede nitionof\-.J4Thenewversionof\-shouldindicate IanextrahyphenationpGosition,twhileallowingotherhyphenationpGositionstobeIgeneratedautomatically*.ThestandardbGehaviourofTU>'ExXinthisrespectisveryIunfortunateT2forlanguagessuchasDutchandGerman,wherelongcompGoundwordsIarequitenormalandalloneneedsisameanstoindicateanextrahyphenationIpGositionontopoftheonesthatTU>'ExXcangeneratefromthehyphenationpatterns.:16.121S\expandafter\addto\csnameextras\CurrentOption\endcsname{% :16.122]\babel@save\-}:16.123S\expandafter\addto\csnameextras\CurrentOption\endcsname{%:16.124]\def\-{\allowhyphens\discretionary{-}{}{}\allowhyphens}}XThemacro\ldf@finishtakescareofloGokingforacon guration le,setting IthefmainlanguagetobGeswitchedonat\begin{document}andresettingtheIcategoryUUcoGdeofr@toitsoriginalvqalue.:16.125S\ldf@finish\CurrentOption :16.126Sh=coAdei62?"soI17ifdTheffEnglishlanguageITheP leenglish.dtx^13 ɴde nesallthelanguagede nitionmacrosfortheEnglish IlanguageUUaswellasfortheAmericanversionofthislanguage.XF*orUUthislanguagecurrentlynospGecialde nitionsareneededoravqailable.XThemacro\LdfInittakescareofpreventingthatthis leisloadedmorethanIonce,UUcheckingthecategorycoGdeofthe@sign,etc.B17.1ShcoAdei B17.2S\LdfInit\CurrentOption{date\CurrentOption}XWhen[this leisreadasanoption,i.e.bythe\usepackagecommand,englishIcouldz"bGean`unknown'languageinwhichcasewehavetomakeitknown./SoweIcheck&Jfortheexistenceof\l@englishtoseewhetherwehavetodosomethingIhere.XW*eDallowforthebritishenglishpatternstobGeloadedaseither`english',I`british',UUor`UKenglish'B17.3S\ifx\l@english\@undefined B17.4]\ifx\l@UKenglish\@undefinedB17.5f\ifx\l@british\@undefinedB17.6p2\@nopatterns{English}B17.7p2\adddialect\l@english0B17.8f\elseB17.9p2\let\l@english\l@british>Ë17.10f\fi>Ë17.11]\else>Ë17.12f\let\l@english\l@UKenglish>Ë17.13]\fi>Ë17.14S\fiIBecauseweallow`british'tobGeusedasthebabeloptionweneedtomakesure Ithat[itwillbGerecognisedby\selectlanguage.Inthecodeabove[wehavemadeIsureJthat\l@englishhasasensiblevqalue;#nowwemake\l@britishequaltoIthat.>Ë17.15S\ifx\l@british\@undefined >Ë17.16]\let\l@british\l@english>Ë17.17S\fiI`American'-isaversionof`English'whichcanhaveitsownhyphenationpatterns. IThe%qdefaultenglishpatternsareinfactforamericanenglish.W*eallowfortheIpatternsUUtobGeloadedas`english'`american'or`USenglish'.>Ë17.18S\ifx\l@american\@undefined >Ë17.19]\ifx\l@USenglish\@undefinedIWhenJathepatternsarenotknowas`american'or`USenglish'weadda\dialect".>Ë17.20f\adddialect\l@american\l@english>Ë17.21]\else>Ë17.22f\let\l@american\l@USenglish>Ë17.23]\fi>Ë17.24S\fiXThelKnextstepconsistsofde ningcommandstoswitchto(andfrom)theEn- IglishUUlanguage.IX-ffr J=w-:13LThe ledescrib'ExX. >Ë17.25S\@namedef{captions\CurrentOption}{% >Ë17.26]\def\prefacename{Preface}%>Ë17.27]\def\refname{References}%>Ë17.28]\def\abstractname{Abstract}%>Ë17.29]\def\bibname{Bibliography}%>Ë17.30]\def\chaptername{Chapter}%>Ë17.31]\def\appendixname{Appendix}%>Ë17.32]\def\contentsname{Contents}%>Ë17.33]\def\listfigurename{ListofFigures}%>Ë17.34]\def\listtablename{ListofTables}%>Ë17.35]\def\indexname{Index}%>Ë17.36]\def\figurename{Figure}%>Ë17.37]\def\tablename{Table}%>Ë17.38]\def\partname{Part}%>Ë17.39]\def\enclname{encl}%>Ë17.40]\def\ccname{cc}%>Ë17.41]\def\headtoname{To}%>Ë17.42]\def\pagename{Page}%>Ë17.43]\def\seename{see}%>Ë17.44]\def\alsoname{seealso}%>Ë17.45]\def\proofname{Proof}%>Ë17.46]}%b\dateenglishIThe,Bmacro\dateenglishrede nesthecommand\todaytoproGduceEnglishIdates. >Ë17.47S\@namedef{date\CurrentOption}{%>Ë17.48S\def\today{\ifcase\day\or>Ë17.49]1st\or2nd\or3rd\or4th\or5th\or>Ë17.50]6th\or7th\or8th\or9th\or10th\or>Ë17.51]11th\or12th\or13th\or14th\or15th\or>Ë17.52]16th\or17th\or18th\or19th\or20th\or>Ë17.53]21st\or22nd\or23rd\or24th\or25th\or>Ë17.54]26th\or27th\or28th\or29th\or30th\or>Ë17.55]31st\fi~\ifcase\month\or>Ë17.56]January\orFebruary\orMarch\orApril\orMay\orJune\or>Ë17.57]July\orAugust\orSeptember\orOctober\orNovember\orDecember\fi>Ë17.58]\space\number\year}}%\dateamericanIThemacro\dateamericanrede nesthecommand\todaytoproGduceAmericanIdates. >Ë17.59S\def\dateamerican{%>Ë17.60S\def\today{\ifcase\month\or>Ë17.61]January\orFebruary\orMarch\orApril\orMay\orJune\or>Ë17.62]July\orAugust\orSeptember\orOctober\orNovember\orDecember\fi>Ë17.63]\space\number\day,\number\year}}% 6\extrasenglish \noextrasenglishIThemacro\extrasenglishwillpGerformalltheextrade nitionsneededfortheIEnglish@language.3nThemacro\extrasenglishisusedtocanceltheactionsofI\extrasenglish.F*orXthemomentthesemacrosareemptybuttheyarede nedIforUUcompatibilitywiththeotherlanguagede nition les.n>Ë17.64S\@namedef{extras\CurrentOption}{}64Aso>Ë17.65S\@namedef{noextras\CurrentOption}{}XThemacro\ldf@finishtakescareofloGokingforacon guration le,setting IthefmainlanguagetobGeswitchedonat\begin{document}andresettingtheIcategoryUUcoGdeofr@toitsoriginalvqalue.>Ë17.66S\ldf@finish\CurrentOption >Ë17.67Sh=coAdei65B psoI18ifdTheffGermanlanguageIThel legermanb.dtx^14 Rde nesallthelanguagede nitionmacrosfortheGerman IlanguageUUaswellasfortheAustriandialectofthislanguage^15x.XF*orthislanguagethecharacter"ismadeactive.+Intable4anoverviewisgivenIof$itspurpGose.3OneofthereasonsforthisisthatintheGermanlanguagesomeIcharactercombinationschangewhenawordisbrokenbGetweenthecombination.IAlsoE-theverticalplacementoftheumlautcanbGecontrolledthisway*.ldThequotes(rfUUdzf"a]\"a,alsohYimplementedfortheotherlowercaseand]uppGercaseUUvowels.zf"s]toUUproGducetheGerman(like\ss{}).zf"z]toUUproGducetheGerman(like\ss{}).zf"ck]forUUcktobGehyphenatedask-k.zf"ff]forfftobGehyphenatedasff-f,thisisalsoimple-]mentedUUforl,m,n,p,randtzf"S]forUUSStobGe\uppercase{"s}.zf"Z]forUUSZtobGe\uppercase{"z}.zf"|]disableUUligatureatthispGosition.zf"-]anexplicithyphensign,allowinghyphenationinthe]restUUoftheword.zf""]like)"-,2butproGducingnohyphensign(forcompund]wordsUUwithhyphen,e.g.x-""y).zf"~]forUUacompGoundwordmarkwithoutabreakpoint.zf"=]foruacompGoundwordmarkwithabreakpoint,allow-]ingUUhyphenationinthecompGosingwords.zf"`]forUUGermanleftdoublequotes(loGokslike,,).zf"']forUUGermanrightdoublequotes.zf"<]forUUF*renchleftdoublequotes(similarto<<).zf">]forUUF*renchrightdoublequotes(similarto>>).qǍT*ableUU4:qTheextrade nitionsmadebyxgerman.ldf9IinUUtable4canalsobGetypesetbyusingthecommandsintable5.XWhen this lewasreadthroughtheoptiongermanbwemakeitbGehaveasifIgermanUUwasspGeci ed.B18.1S\def\bbl@tempa{germanb} B18.2S\ifx\CurrentOption\bbl@tempaB18.3]\def\CurrentOption{german}B18.4S\fiXThemacro\LdfInittakescareofpreventingthatthis leisloadedmorethan Ionce,UUcheckingthecategorycoGdeofthe@sign,etc.B18.5ShcoAdeiB18.6S\LdfInit\CurrentOption{captions\CurrentOption}XWhenthis leisreadasanoption,Ki.e.,bythe\usepackagecommand,Kgerman Iwill$bGean`unknown'language,.sowehavetomakeitknown.aSowecheckfortheIX-ffr J=w-:14LThe ledescribw-:15LThisX leisare-implemenÎtationofHub>).ui\flqZforUU(F*rench)leftsinglequotes(similarto<).ui\frqZforUU(F*rench)rightsinglequotes(similarto>).ui\dqZtheUUoriginalquotescharacter(").EqǍ\T*ableUU5:qMorecommandswhichproGducequotes,de nedbyxgerman.ldfpIexistenceUUof\l@germantoseewhetherwehavetodosomethinghere.B18.7S\ifx\l@german\@undefined B18.8]\@nopatterns{German}B18.9]\adddialect\l@german0>Ë18.10S\fiXF*orUUtheAustrianversionofthesede nitionswejustaddanotherlanguage. ܍>Ë18.11S\adddialect\l@austrian\l@german܍XThe nextstepconsistsofde ningcommandstoswitchto(andfrom)theGer- ImanUUlanguage.Wf\captionsgermant\captionsaustrianIEither(Tthemacro\captionsgermanorthemacro\captionsaustrianwillde neIallUUstringsusedinthefourstandarddoGcumentclassesprovidedwithL5ffA͉TU>'ExX.>Ë18.12S\@namedef{captions\CurrentOption}{% >Ë18.13]\def\prefacename{Vorwort}%>Ë18.14]\def\refname{Literatur}%>Ë18.15]\def\abstractname{Zusammenfassung}%>Ë18.16]\def\bibname{Literaturverzeichnis}%>Ë18.17]\def\chaptername{Kapitel}%>Ë18.18]\def\appendixname{Anhang}%>Ë18.19]\def\contentsname{Inhaltsverzeichnis}%X%odernur:Inhalt>Ë18.20]\def\listfigurename{Abbildungsverzeichnis}%>Ë18.21]\def\listtablename{Tabellenverzeichnis}%>Ë18.22]\def\indexname{Index}%>Ë18.23]\def\figurename{Abbildung}%>Ë18.24]\def\tablename{Tabelle}%U %oder:Tafel>Ë18.25]\def\partname{Teil}%>Ë18.26]\def\enclname{Anlage(n)}%PR%oder:Beilage(n)>Ë18.27]\def\ccname{Verteiler}%Y"%oder:Kopienan>Ë18.28]\def\headtoname{An}%>Ë18.29]\def\pagename{Seite}%>Ë18.30]\def\seename{siehe}%>Ë18.31]\def\alsoname{sieheauch}%>Ë18.32]\def\proofname{Beweis}%>Ë18.33]}W L\dategermanITheYmacro\dategermanrede nesthecommand\todaytoproGduceGermandates. ܍>Ë18.34S\def\month@german{\ifcase\month\or67Dʠso>Ë18.35]Januar\orFebruar\orM\"arz\orApril\orMai\orJuni\or >Ë18.36]Juli\orAugust\orSeptember\orOktober\orNovember\orDezember\fi}>Ë18.37S\def\dategerman{\def\today{\number\day.~\month@german>Ë18.38]\space\number\year}}׍\dateaustrianIThe)macro\dateaustrianrede nesthecommand\todaytoproGduceAustrian IversionUUoftheGermandates. H>Ë18.39S\def\dateaustrian{\def\today{\number\day.~\ifnum1=\month>Ë18.40]J\"anner\else\month@german\fi\space\number\year}}\extrasgerman f\extrasaustrian f\noextrasgerman t\noextrasaustrianIEitherthemacro\extrasgermanorthemacros\extrasaustrianwillpGer- Iform|alltheextrade nitionsneededfortheGermanlanguage. ;ThemacroI\noextrasgermanUUisusedtocanceltheactionsof\extrasgerman.XF*orGerman(aswellasforDutch)the"characterismadeactive.IThisisdoneIonce,UUlateronitsde nitionmayvqary*. H>Ë18.41S\initiate@active@char{"} >Ë18.42S\@namedef{extras\CurrentOption}{%>Ë18.43]\languageshorthands{german}}>Ë18.44S\expandafter\addto\csnameextras\CurrentOption\endcsname{%>Ë18.45]\bbl@activate{"}}>Ë18.46S%\addto\noextrasgerman{\bbl@deactivate{"}}HXIn|orderforTU>'ExXtobGeabletohyphenateGermanwordswhichcontain`' I(intheOT1pGosition^^Y)wehavetogivethecharacteranonzero\lccode(seeIAppGendixUUH,theTU>'ExXbook).>Ë18.47S\expandafter\addto\csnameextras\CurrentOption\endcsname{% >Ë18.48]\babel@savevariable{\lccode25}%>Ë18.49]\lccode25=25}HXThe/umlautaccentmacro\"ischangedtolowertheumlautdots.eHTherede - InitionUUisdonewiththehelpof\umlautlow.>Ë18.50S\expandafter\addto\csnameextras\CurrentOption\endcsname{%>Ë18.51]\babel@save\"\umlautlow}>Ë18.52S\@namedef{noextras\CurrentOption}{\umlauthigh}HIThegermanhyphenationpatternscanbGeusedwith\lefthyphenminand I\righthyphenminUUsetto2.>Ë18.53S\def\germanhyphenmins{\tw@\tw@}׍XThe*coGdeabove*isnecessarybecauseweneedanextraactivecharacter.GThisIcharacterUUisthenusedasindicatedintable4.XT*oasbGeabletode nethefunctionof",zwe rstde neacoupleof`support'Imacros.1\dqIW*eTKsavetheoriginaldoublequotecharacterin\dqtokeepitavqailable,TthemathIaccentUU\"cannowbGetypGedas". H>Ë18.54S\begingroup\catcode`\"12 >Ë18.55S\def\x{\endgroup>Ë18.56]\def\@SS{\mathchar"7019}>Ë18.57]\def\dq{"}}>Ë18.58S\xXNowUUwecande nethedoublequotemacros:qtheumlauts, H>Ë18.59S\declare@shorthand{german}{"a}{\textormath{\"{a}\allowhyphens}{\ddota}}68E&so>Ë18.60S\declare@shorthand{german}{"o}{\textormath{\"{o}\allowhyphens}{\ddoto}} >Ë18.61S\declare@shorthand{german}{"u}{\textormath{\"{u}\allowhyphens}{\ddotu}}>Ë18.62S\declare@shorthand{german}{"A}{\textormath{\"{A}\allowhyphens}{\ddotA}}>Ë18.63S\declare@shorthand{german}{"O}{\textormath{\"{O}\allowhyphens}{\ddotO}}>Ë18.64S\declare@shorthand{german}{"U}{\textormath{\"{U}\allowhyphens}{\ddotU}}6ۍItremas, 6ۍ>Ë18.65S\declare@shorthand{german}{"e}{\textormath{\"{e}}{\ddote}}>Ë18.66S\declare@shorthand{german}{"E}{\textormath{\"{E}}{\ddotE}}>Ë18.67S\declare@shorthand{german}{"i}{\textormath{\"{\i}}%>Ë18.68jB{\ddot\imath}}>Ë18.69S\declare@shorthand{german}{"I}{\textormath{\"{I}}{\ddotI}}IgermanUUes-zet(sharps), 6ۍ>Ë18.70S\declare@shorthand{german}{"s}{\textormath{\ss{}}{\@SS{}}}>Ë18.71S\declare@shorthand{german}{"S}{SS}>Ë18.72S\declare@shorthand{german}{"z}{\textormath{\ss{}}{\@SS{}}}>Ë18.73S\declare@shorthand{german}{"Z}{SZ}IgermanUUandfrenchquotes, 6ۍ>Ë18.74S\declare@shorthand{german}{"`}{\glqq}>Ë18.75S\declare@shorthand{german}{"'}{\grqq}>Ë18.76S\declare@shorthand{german}{"<}{\flqq}>Ë18.77S\declare@shorthand{german}{">}{\frqq}IdiscretionaryUUcommands 6ۍ>Ë18.78S\declare@shorthand{german}{"c}{\textormath{\bbl@discck}{c}}>Ë18.79S\declare@shorthand{german}{"C}{\textormath{\bbl@discCK}{C}}>Ë18.80S\declare@shorthand{german}{"f}{\textormath{\bbl@discf{ff}}{f}}>Ë18.81S\declare@shorthand{german}{"F}{\textormath{\bbl@discF{FF}}{F}}>Ë18.82S\declare@shorthand{german}{"l}{\textormath{\bbl@discl{ll}}{l}}>Ë18.83S\declare@shorthand{german}{"L}{\textormath{\bbl@discL{LL}}{L}}>Ë18.84S\declare@shorthand{german}{"m}{\textormath{\bbl@discm{mm}}{m}}>Ë18.85S\declare@shorthand{german}{"M}{\textormath{\bbl@discM{MM}}{M}}>Ë18.86S\declare@shorthand{german}{"n}{\textormath{\bbl@discn{nn}}{n}}>Ë18.87S\declare@shorthand{german}{"N}{\textormath{\bbl@discN{NN}}{N}}>Ë18.88S\declare@shorthand{german}{"p}{\textormath{\bbl@discp{pp}}{p}}>Ë18.89S\declare@shorthand{german}{"P}{\textormath{\bbl@discP{PP}}{P}}>Ë18.90S\declare@shorthand{german}{"r}{\textormath{\bbl@discr{rr}}{r}}>Ë18.91S\declare@shorthand{german}{"R}{\textormath{\bbl@discR{RR}}{R}}>Ë18.92S\declare@shorthand{german}{"t}{\textormath{\bbl@disct{tt}}{t}}>Ë18.93S\declare@shorthand{german}{"T}{\textormath{\bbl@discT{TT}}{T}}IandUUsomeadditionalcommands: 6ۍ>Ë18.94S\declare@shorthand{german}{"-}{\penalty\@M\-\allowhyphens}>Ë18.95S\declare@shorthand{german}{"|}{%>Ë18.96]\textormath{\penalty\@M\discretionary{-}{}{\kern.03em}%>Ë18.97\allowhyphens}{}}>Ë18.98S\declare@shorthand{german}{""}{\hskip\z@skip}>Ë18.99S\declare@shorthand{german}{"~}{\textormath{\leavevmode\hbox{-}}{-}}:18.100S\declare@shorthand{german}{"=}{\penalty\@M-\hskip\z@skip}"\mdqon 3P\mdqoff 1\ckIAll#that'slefttodonowistode neacoupleofcommandsforreasonsofcompat- IibilityUUwithgerman.sty.:18.101S\def\mdqon{\bbl@activate{"}}:18.102S\def\mdqoff{\bbl@deactivate{"}}:18.103S\def\ck{\allowhyphens\discretionary{k-}{k}{ck}\allowhyphens}69F3soXThemacro\ldf@finishtakescareofloGokingforacon guration le,setting IthefmainlanguagetobGeswitchedonat\begin{document}andresettingtheIcategoryUUcoGdeofr@toitsoriginalvqalue.:18.104S\ldf@finish\CurrentOption :18.105Sh=coAdei70GBzsoI19ifdTheffBretonlanguageITheU lebreton.dtx^16 ;de nesallthelanguage-spGeci cmacrosfortheBretonlan- Iguage.XTherearenotreallytypGographicrulesfortheBretonlanguage.>ItisalocalIlanguage (it'soneofthecelticlanguages)whichisspGokeninBrittany(W*estofIF*rance).So}AwehaveasynthesisbGetweenfrenchtypGographicrulesandenglishItypGographic2Krules.fThecharacters:,9M;,!fand2K?aremadeactiveinordertogetaIwhitespaceUUautomaticallybGeforethesecharacters.XThemacro\LdfInittakescareofpreventingthatthis leisloadedmorethanIonce,UUcheckingthecategorycoGdeofthe@sign,etc.B19.1ShcoAdei B19.2S\LdfInit{breton}\captionsbretonXWhenHthis leisreadasanoption,i.e.Dbythe\usepackagecommand,bretonIwillBbGean`unknown'languageinwhichcasewehavetomakeitknown.?SoweIcheckfortheexistenceof\l@bretontoseewhetherwehavetodosomethinghere.B19.3S\ifx\l@breton\@undefinedB19.4f\@nopatterns{Breton}B19.5f\adddialect\l@breton0\fiIThe[nextstepconsistsofde ningcommandstoswitchtotheEnglishlanguage.IThereasonforthisisthatausermightwanttoswitchbackandforthbGetweenIlanguages.f\captionsbretonIThemacro\captionsbretonde nesallstringsusedinthefourstandarddoGcu-ImentUUclassesprovidedwithL5ffA͉TU>'ExX.B19.6S\addto\captionsbreton{%B19.7]\def\prefacename{Rakskrid}%B19.8]\def\refname{Daveenno\`u}%B19.9]\def\abstractname{Dvierra\~n}%>Ë19.10]\def\bibname{Lennadurezh}%>Ë19.11]\def\chaptername{Pennad}%>Ë19.12]\def\appendixname{Stagadenn}%>Ë19.13]\def\contentsname{Taolenn}%>Ë19.14]\def\listfigurename{ListennarFigurenno\`u}%>Ë19.15]\def\listtablename{Listennantaolenno\`u}%>Ë19.16]\def\indexname{Meneger}%>Ë19.17]\def\figurename{Figurenn}%>Ë19.18]\def\tablename{Taolenn}%>Ë19.19]\def\partname{Lodenn}%>Ë19.20]\def\enclname{Diello\`ukevret}%>Ë19.21]\def\ccname{Eilskridda}%>Ë19.22]\def\headtoname{evit}>Ë19.23]\def\pagename{Pajenn}%>Ë19.24]\def\seename{Gwelout}%>Ë19.25]\def\alsoname{Gweloutivez}%>Ë19.26]\def\proofname{Proof}% s,<--needstranslation>Ë19.27S}I&effr J=w-:16LThe) ledescribË19.28S\def\datebreton{% >Ë19.29S\def\today{\ifnum\day=1\relax1\/$^{\rma\tilde{n}}$\else>Ë19.30]\number\day\fi\spacea\spaceviz\space\ifcase\month\or>Ë19.31]Genver\orC'hwevrer\orMeurzh\orEbrel\orMae\orMezheven\or>Ë19.32]Gouere\orEost\orGwengolo\orHere\orDu\orKerzu\fi>Ë19.33]\space\number\year}}\extrasbreton f\noextrasbretonIThemacro\extrasbretonwillpGerformalltheextrade nitionsneededforthe IBreton language.Themacro\noextrasbretonisusedtocanceltheactionsofI\extrasbreton.XThecategorycoGdeofthecharacters:,H;,!,ܲand?ismade\activetoinsertIaUUlittlewhitespace.>Ë19.34S\initiate@active@char{:} >Ë19.35S\initiate@active@char{;}>Ë19.36S\initiate@active@char{!}>Ë19.37S\initiate@active@char{?}IW*eUUspGecifythatthebretongroupofshorthandsshouldbeused.>Ë19.38S\addto\extrasbreton{\languageshorthands{breton}}ITheseUUcharactersare`turnedon'once,latertheirde nitionmayvqary*.>Ë19.39S\addto\extrasbreton{% >Ë19.40]\bbl@activate{:}\bbl@activate{;}%>Ë19.41]\bbl@activate{!}\bbl@activate{?}}>Ë19.42S%\addto\noextrasbreton{%>Ë19.43S% s,\bbl@deactivate{:}\bbl@deactivate{;}%>Ë19.44S% s,\bbl@deactivate{!}\bbl@deactivate{?}}XThe8lastthing\extrasbretonneedstodoistomakesurethat\frenchspacing Iisine ect.uIfthisisnotthecasetheexecutionof\noextrasbretonwillswitchIitUUofagain.>Ë19.45S\addto\extrasbreton{\bbl@frenchspacing} >Ë19.46S\addto\noextrasbreton{\bbl@nonfrenchspacing}\breton@sh@;@IW*eORhavetoreducetheamountofwhitespacebGefore;,:Ʋand!qwhentheusertypGesIaR.spaceinfrontofthesecharacters.pThisshouldonlyhappGenoutsidemathmode,IhenceUUthetestwith\ifmmode.>Ë19.47S\declare@shorthand{breton}{;}{%>Ë19.48f\ifmmode>Ë19.49p2\string;\space>Ë19.50f\else\relaxIInhorizontalmoGdewecheckforthepresenceofa`space'andreplaceitbyaI\thinspace.>Ë19.51p2\ifhmode>Ë19.52yw^\ifdim\lastskip>\z@>Ë19.53\unskip\penalty\@M\thinspace>Ë19.54yw^\fi>Ë19.55p2\fi>Ë19.56p2\string;\space>Ë19.57f\fi}%72IPso\breton@sh@:@ \breton@sh@!@IBecausenthesede nitionsareverysimilaronlyoneisdisplayedinawaythatthe Ide nitionUUcanbGeeasilychecked.>Ë19.58S\declare@shorthand{breton}{:}{% >Ë19.59]\ifmmode\string:\space>Ë19.60]\else\relax>Ë19.61f\ifhmode>Ë19.62p2\ifdim\lastskip>\z@\unskip\penalty\@M\thinspace\fi>Ë19.63f\fi>Ë19.64f\string:\space>Ë19.65]\fi}>Ë19.66S\declare@shorthand{breton}{!}{%>Ë19.67]\ifmmode\string!\space>Ë19.68]\else\relax>Ë19.69f\ifhmode>Ë19.70p2\ifdim\lastskip>\z@\unskip\penalty\@M\thinspace\fi>Ë19.71f\fi>Ë19.72f\string!\space>Ë19.73]\fi}\breton@sh@?@IF*orthequestionmarksomethingdi erenthastobGedone.>InthiscasetheamountIof zwhitespacethatreplacesthespacecharacterdepGendsonthedimensionsoftheIfont.>Ë19.74S\declare@shorthand{breton}{?}{%>Ë19.75]\ifmmode>Ë19.76f\string?\space>Ë19.77]\else\relax>Ë19.78f\ifhmode>Ë19.79p2\ifdim\lastskip>\z@>Ë19.80yw^\unskip>Ë19.81yw^\kern\fontdimen2\font>Ë19.82yw^\kern-1.4\fontdimen3\font>Ë19.83p2\fi>Ë19.84f\fi>Ë19.85f\string?\space>Ë19.86]\fi}XAllUUthatislefttodonowisprovidethebretonuserwithsomeextrautilities.XSomeUUde nitionsforspGecialcharacters.>Ë19.87S\DeclareTextSymbol{\at}{OT1}{64}>Ë19.88S\DeclareTextSymbol{\at}{T1}{64}>Ë19.89S\DeclareTextSymbolDefault{\at}{OT1}>Ë19.90S\DeclareTextSymbol{\boi}{OT1}{92}>Ë19.91S\DeclareTextSymbol{\boi}{T1}{16}>Ë19.92S\DeclareTextSymbolDefault{\boi}{OT1}>Ë19.93S\DeclareTextSymbol{\circonflexe}{OT1}{94}>Ë19.94S\DeclareTextSymbol{\circonflexe}{T1}{2}>Ë19.95S\DeclareTextSymbolDefault{\circonflexe}{OT1}>Ë19.96S\DeclareTextSymbol{\tild}{OT1}{126}>Ë19.97S\DeclareTextSymbol{\tild}{T1}{3}>Ë19.98S\DeclareTextSymbolDefault{\tild}{OT1}>Ë19.99S\DeclareTextSymbol{\degre}{OT1}{23}:19.100S\DeclareTextSymbol{\degre}{T1}{6}:19.101S\DeclareTextSymbolDefault{\degre}{OT1}73J[NsoXTheOfollowingmacrosareusedintherede nitionof\^and\"tohandlethe IletterUUi.:19.102S\AtBeginDocument{% :19.103]\DeclareTextCompositeCommand{\^}{OT1}{i}{\^\i}:19.104]\DeclareTextCompositeCommand{\"}{OT1}{i}{\"\i}}XAndUUsomemoremacrosfornumbGering.:19.105S\def\kentan{1\/${}^{\rma\tilde{n}}$}:19.106S\def\eil{2\/${}^{\rml}$}:19.107S\def\re{\/${}^{\rmre}$}:19.108S\def\trede{3\re}:19.109S\def\pevare{4\re}:19.110S\def\vet{\/${}^{\rmvet}$}:19.111S\def\pempvet{5\vet}XThemacro\ldf@finishtakescareofloGokingforacon guration le,settingIthefmainlanguagetobGeswitchedonat\begin{document}andresettingtheIcategoryUUcoGdeofr@toitsoriginalvqalue.:19.112S\ldf@finish{breton}:19.113Sh=coAdei74KeSsoI20ifdTheffWfelshlanguageIThe֟ lewelsh.dtx^17 Ode nesallthelanguagede nitionmacrosfortheW*elsh IlanguageUUaswellasfortheversionofthislanguage.XF*orUUthislanguagecurrentlynospGecialde nitionsareneededoravqailable.XThe;macro\ldf@inittakescareofpreventingthatthis leisloadedmoreIthanUUonce,checkingUUthecategorycoGdeofthe@sign,etc.B20.1ShcoAdei B20.2S\LdfInit{welsh}{captionswelsh}XWhenmacro\captionswelshde nesallstringsusedinthefourstandarddoGcu-ImentclassesUUprovidedwithL5ffA͉TU>'ExX.B20.7S\def\captionswelsh{% B20.8]\def\prefacename{Rhagair}%B20.9]\def\refname{Cyfeiriadau}%>Ë20.10]\def\abstractname{Crynodeb}%>Ë20.11]\def\bibname{Llyfryddiaeth}%>Ë20.12]\def\chaptername{Pennod}%>Ë20.13]\def\appendixname{Atodiad}%>Ë20.14]\def\contentsname{Cynnwys}%>Ë20.15]\def\listfigurename{RhestrDdarluniau}%>Ë20.16]\def\listtablename{RhestrDablau}%>Ë20.17]\def\indexname{Mynegai}%>Ë20.18]\def\figurename{Darlun}%>Ë20.19]\def\tablename{Taflen}%>Ë20.20]\def\partname{Rhan}%>Ë20.21]\def\enclname{amgae\"edig}%>Ë20.22]\def\ccname{cop\"\iau}%>Ë20.23]\def\headtoname{At}% s,%`at'onlettersmeaning`to(aperson)'>Ë20.24%`to(aplace)'is`i'inWelsh>Ë20.25]\def\pagename{tudalen}%>Ë20.26]\def\seename{gweler}%>Ë20.27]\def\alsoname{gwelerhefyd}%>Ë20.28]\def\proofname{Prawf}%>Ë20.29]}I&effr J=w-:17LThe | ledescribË20.30S\def\datewelsh{% >Ë20.31]\def\today{\ifnum\day=1\relax1\/$^{\mathrm{a\tilde{n}}}$\else>Ë20.32f\number\day\fi\spacea\spaceviz\space\ifcase\month\or>Ë20.33fIonawr\orChwefror\orMawrth\orEbrill\or>Ë20.34fMai\orMehefin\orGorffennaf\orAwst\or>Ë20.35fMedi\orHydref\orTachwedd\orRhagfyr\fi>Ë20.36]\space\number\year}}b\extraswelsh 6\noextraswelshIThemacro\extraswelshwillpGerformalltheextrade nitionsneededforthe Iwelshlanguage. 8[Themacro\noextraswelshisusedtocanceltheactionsofI\extraswelsh.}F*orYfthemomentthesemacrosareemptybuttheyarede nedforIcompatibilityUUwiththeotherlanguagede nition les.>Ë20.37S\addto\extraswelsh{} >Ë20.38S\addto\noextraswelsh{}XThemacro\ldf@finishtakescareofloGokingforacon guration le,settingIthefmainlanguagetobGeswitchedonat\begin{document}andresettingtheIcategoryUUcoGdeofr@toitsoriginalvqalue.>Ë20.39S\ldf@finish{welsh} >Ë20.40Sh=coAdei76Mt۠soI21ifdTheffIrishlanguageIThe leirish.dtx^18 sde nesallthelanguagede nitionmacrosfortheIrishlan- Iguage.XF*orUUthislanguagecurrentlynospGecialde nitionsareneededoravqailable.XThemacro\LdfInittakescareofpreventingthatthis leisloadedmorethanIonce,UUcheckingthecategorycoGdeofthe@sign,etc.B21.1ShcoAdei B21.2S\LdfInit{irish}\captionsirishXWhenmacro\captionsirishde nesallstringsusedinthefourstandarddoGcu-ImentclassesUUprovidedwithL5ffA͉TU>'ExX.B21.6S\addto\captionsirish{%B21.7]\def\prefacename{Preface}%X<--needstranslationB21.8]\def\refname{Tagairt\'{\i}}%B21.9]\def\abstractname{Achoimre}%>Ë21.10]\def\bibname{Leabharliosta}%>Ë21.11]\def\chaptername{Caibidil}%>Ë21.12]\def\appendixname{Aguis\'{\i}n}%>Ë21.13]\def\contentsname{Cl\'ar\'Abhair}%>Ë21.14]\def\listfigurename{L\'ear\'aid\'{\i}}%>Ë21.15]\def\listtablename{T\'abla\'{\i}}%>Ë21.16]\def\indexname{Inn\'eacs}%>Ë21.17]\def\figurename{L\'ear\'aid}%>Ë21.18]\def\tablename{T\'abla}%>Ë21.19]\def\partname{Cuid}%>Ë21.20]\def\enclname{faoiiamh}%>Ë21.21]\def\ccname{cc}%PRabrv.`c\'oipchuig'>Ë21.22]\def\headtoname{Go}%>Ë21.23]\def\pagename{Leathanach}%>Ë21.24]\def\seename{see}%X<--needstranslation>Ë21.25]\def\alsoname{seealso}%X<--needstranslation>Ë21.26]\def\proofname{Proof}%X<--needstranslation>Ë21.27]}\dateirishITheUUmacro\dateirishrede nesthecommand\todaytoproGduceIrishdates.>Ë21.28S\def\dateirish{%>Ë21.29]\number\day\space\ifcase\month\or>Ë21.30]Ean\'air\orFeabhra\orM\'arta\orAibre\'an\or>Ë21.31]Bealtaine\orMeitheamh\orI\'uil\orL\'unasa\or>Ë21.32]Me\'anF\'omhair\orDeireadhF\'omhair\orI&effr J=w-:18LThe) ledescribË21.33]M\'{\i}naSamhna\orM\'{\i}naNollag\fi >Ë21.34]\space\number\year}b\extrasirish 6\noextrasirishIThemacro\extrasirishwillpGerformalltheextrade nitionsneededforthe IIrish8language. uThemacro\noextrasirishisusedtocanceltheactionsofI\extrasirish.F*orthemomentthesemacrosareemptybuttheyarede nedIforUUcompatibilitywiththeotherlanguagede nition les.>Ë21.35S\addto\extrasirish{}>Ë21.36S\addto\noextrasirish{}XThemacro\ldf@finishtakescareofloGokingforacon guration le,settingIthefmainlanguagetobGeswitchedonat\begin{document}andresettingtheIcategoryUUcoGdeofr@toitsoriginalvqalue.>Ë21.37S\ldf@finish{irish}>Ë21.38Sh=coAdei78OsoI22ifdTheffScottishlanguageIThe6 lescottish.dtx^19 de nesallthelanguagede nitionmacrosfortheScottish Ilanguage.XF*orUUthislanguagecurrentlynospGecialde nitionsareneededoravqailable.XThemacro\LdfInittakescareofpreventingthatthis leisloadedmorethanIonce,UUcheckingthecategorycoGdeofthe@sign,etc.B22.1ShcoAdei B22.2S\LdfInit{scottish}\captionsscottishXWhenTVthis leisreadasanoption,i.e. nbythe\usepackagecommand,IscottishWcouldbGean`unknown'languageinwhichcasewehavetomakeitIknown.Sowecheckfortheexistenceof\l@scottishtoseewhetherwehavetoIdoUUsomethinghere.B22.3S\ifx\l@scottish\@undefinedB22.4]\@nopatterns{scottish}B22.5]\adddialect\l@scottish0\fiIThejnextstepconsistsofde ningcommandstoswitchto(andfrom)theScottishIlanguage.t\captionsscottishIThePmacro\captionsscottishde nesallstringsusedinthefourstandarddoGc-IumentclassesUUprovidedwithL5ffA͉TU>'ExX.B22.6S\addto\captionsscottish{%B22.7]\def\prefacename{Preface}%X<--needstranslationB22.8]\def\refname{Iomraidh}%B22.9]\def\abstractname{Br\`{\i}gh}%>Ë22.10]\def\bibname{Leabhraichean}%>Ë22.11]\def\chaptername{Caibideil}%>Ë22.12]\def\appendixname{Ath-sgr`{\i}obhadh}%>Ë22.13]\def\contentsname{Cl\`ar-obrach}%>Ë22.14]\def\listfigurename{LiostaDhealbh}%>Ë22.15]\def\listtablename{LiostaChl\`ar}%>Ë22.16]\def\indexname{Cl\`ar-innse}%>Ë22.17]\def\figurename{Dealbh}%>Ë22.18]\def\tablename{Cl\`ar}%>Ë22.19]\def\partname{Cuid}%>Ë22.20]\def\enclname{a-staigh}%>Ë22.21]\def\ccname{lethbhreacgu}%>Ë22.22]\def\headtoname{gu}%>Ë22.23]\def\pagename{t.d.}%=labrv.`taobhduilleag'>Ë22.24]\def\seename{see}%X<--needstranslation>Ë22.25]\def\alsoname{seealso}%X<--needstranslation>Ë22.26]\def\proofname{Proof}%X<--needstranslation>Ë22.27S}\datescottishITheKmacro\datescottishrede nesthecommand\todaytoproGduceScottishIdates.>Ë22.28S\def\datescottish{%>Ë22.29]\number\day\space\ifcase\month\or>Ë22.30]amFaoilteach\oranGearran\oramM\`art\oranGiblean\orI&effr J=w-:19LThe ledescribË22.31]anC\`eitean\orant-\`Ogmhios\orant-Iuchar\or >Ë22.32]L\`unasdal\oranSultuine\oranD\`amhar\or>Ë22.33]ant-Samhainn\oranDubhlachd\fi>Ë22.34]\space\number\year}}f\extrasscottish t\noextrasscottishIThe Tmacro\extrasscottishwillpGerformalltheextrade nitionsneededforthe IScottishlanguage.Ë22.35S\addto\extrasscottish{} >Ë22.36S\addto\noextrasscottish{}XThemacro\ldf@finishtakescareofloGokingforacon guration le,settingIthefmainlanguagetobGeswitchedonat\begin{document}andresettingtheIcategoryUUcoGdeofr@toitsoriginalvqalue.>Ë22.37S\ldf@finish{scottish} >Ë22.38Sh=coAdei80QsoI23ifdTheffGreeklanguageIThe legreek.dtx^20 Ude nesallthelanguagede nitionmacrosfortheGreek Ilanguage.XThemacro\LdfInittakescareofpreventingthatthis leisloadedmorethanIonce,UUcheckingthecategorycoGdeofthe@sign,etc. B23.1ShcoAdei B23.2S\LdfInit{greek}\captionsgreekXWhen'ExX. B23.6S\input{LGRenc.def}暍 6\latinencodingIW*e>needtoknowtheencoGdingfortextthatissupposedtobetypesetinlatinItext.W*epassumethatitwillbGetheencodingwhichisactiveattheendoftheIbabGelUUpackqage.qIfthefontencpackqageisloadedlater,then...qtoGobad!B23.7S\AtEndOfPackage{\edef\latinencoding{\cf@encoding}}暍XNowwede netwocommandsthato erthepGossibilitytoswitchbGetweengreekIandUUromanencoGdings.\greektext\latintextIThedcommand\greektextwillswitchfromlatinfontencoGdingtothegreekfontIencoGding,Athexcommand\latintextswitchesback.1Thisassumesthatthe`nor-Imal'*fontencoGdingisalatinone. EThesecommandsarede}'clarations,^for*shorterIpGeacesUUoftextthecommands\textlatinand\textgreekcanbeused. B23.8S\DeclareRobustCommand{\greektext}{% B23.9]\fontencoding{LGR}\selectfont>Ë23.10]\def\encodingdefault{LGR}}>Ë23.11S\DeclareRobustCommand{\latintext}{%>Ë23.12]\fontencoding{\latinencoding}\selectfont>Ë23.13]\def\encodingdefault{\latinencoding}}\textgreek \textlatinIThese[commandstakeanargumentwhichisthentypGesetusingtherequestedfont IencoGding.a@In#ordertoavoid#manyencoGdingswitchesbGothcommandsoperateinaIloGcalUUscope. >Ë23.14S\DeclareRobustCommand{\textgreek}[1]{{\greektext#1}} >Ë23.15S\DeclareRobustCommand{\textlatin}[1]{{\latintext#1}}3P\textolIAKlastKaspGectofthesetoffontsprovidedwiththisversionofsuppGortfortypGesettingIGreekڍtextsisthatitcontainsanoutlinefont.pInordertomakeitavqailableweIde neUUthecommand\textol.I "Sffr J=w-:20LThe ledescribË23.16S\def\outlfamily{\usefont{LGR}{cmro}{m}{n}} >Ë23.17S\DeclareTextFontCommand{\textol}{\outlfamily}oNXThenextstepconsistsofde ningcommandstoswitchto(andfrom)theGreek Ilanguage. \greekhyphenminsIThismacroisusedtostorethecorrectvqaluesofthehyphenationparametersI\lefthyphenminUUand\righthyphenmin. zo>Ë23.18S\def\greekhyphenmins{23} 6\captionsgreekIThe>macro\captionsgreekde nesallstringsusedinthefourstandarddoGcu-ImentclassesUUprovidedwithL5ffA͉TU>'ExX. zo>Ë23.19S\addto\captionsgreek{% >Ë23.20]\def\prefacename{Pr'ologoc}%>Ë23.21]\def\refname{Anafor'ec}%>Ë23.22]\def\abstractname{Per'ilhyh}%>Ë23.23]\def\bibname{Bibliograf'ia}%>Ë23.24]\def\chaptername{Kef'alaio}%>Ë23.25]\def\appendixname{Par'arthma}%>Ë23.26]\def\contentsname{Perieq'omena}%>Ë23.27]\def\listfigurename{Kat'alogocSqhm'atwn}%>Ë23.28]\def\listtablename{Kat'alogocPin'akwn}%>Ë23.29]\def\indexname{Euret'hrio}%>Ë23.30]\def\figurename{Sq'hma}%>Ë23.31]\def\tablename{P'inakac}%>Ë23.32]\def\partname{M'eroc}%>Ë23.33]\def\enclname{Sunhmm'ena}%>Ë23.34]\def\ccname{Koinopo'ihsh}%>Ë23.35]\def\headtoname{Proc}%>Ë23.36]\def\pagename{Sel'ida}%>Ë23.37]\def\seename{bl'epe}%>Ë23.38]\def\alsoname{bl'peep'ishc}%>Ë23.39]}oN\dategreekITheUUmacro\dategreekrede nesthecommand\todaytoproGducegreekdates.>Ë23.40S\def\dategreek{%>Ë23.41]\def\today{\number\day\space%>Ë23.42f\ifcase\month\or>Ë23.43fIanouar'iou\orFebrouar'iou\orMart'iou\orApril'iou\or>Ë23.44fMa'"iou\orIoun'iou\orIoul'iou\orAugo'ustou\or>Ë23.45fSeptembr'iou\orOktobr'iou\orNoembr'iou\orDekembr'iou\fi>Ë23.46f\space\number\year}}oNb\extrasgreek 6\noextrasgreekIThemacro\extrasgreekwillpGerformalltheextrade nitionsneededforthe IGreekGlanguage.Themacro\noextrasgreekisusedtocanceltheactionsofI\extrasgreek.:F*or&themomentthesemacrosswitchthefontencoGdingusedandIthede nitionoftheinternalmacros\@alphand\@AlphbGecausethegreekalpa-IbGetisationUUdi ersconsiderablyfromtheromanalpabetisation..ߍ>Ë23.47S\addto\extrasgreek{\greektext} >Ë23.48S\addto\noextrasgreek{\latintext} L\greek@alph L\greek@AlphIWithTthelatintranscriptionusedtocreatedoGcumentsthatwillbetypesetintheIgreeklanguageweneedtoadoptthealphabGetisationconsiderably*.JThereforeweIhaveUUtorede netheinternalL5ffA͉TU>'ExXcommands\@alphand\@Alph.82SusoXW*e needtobGeabletoswitchbetween theoriginalde nitionsandthegreek Iones,UUsowe rst`save'theorginalde nitions. ͍>Ë23.49S\let\latin@alph\@alph >Ë23.50S\let\latin@Alph\@Alph͍IThenUUwede nethegreekversions>Ë23.51S\def\greek@alph#1{%>Ë23.52]\ifcase#1\ora\orb\org\ord\ore\orst\orz\orh\orj\ori\or>Ë23.53fia\orib\orig\orid\orie\orist\oriz\orih\orij\ork\orka\or>Ë23.54fkb\orkg\or\kd\orke\orkst>Ë23.55]\else>Ë23.56f\@ctrerr>Ë23.57]\fi>Ë23.58]$'$}>Ë23.59S\def\greek@Alph#1{%>Ë23.60ap\ifcase#1\orA\orB\orG\orD\orE\orSt\orZ\orH\orJ\orI\or>Ë23.61fIA\orIB\orIG\orID\orIE\orIST\orIZ\orIH\orIJ\orK\orKA\or>Ë23.62fKB\orKG\or\KD\orKE\orKST>Ë23.63]\else>Ë23.64f\@ctrerr>Ë23.65]\fi>Ë23.66]$'$}͍INowUUwecansetuptheswitching.>Ë23.67S\addto\extrasgreek{%>Ë23.68]\let\@alph\@greek@alph>Ë23.69]\let\@Alph\@greek@Alph}>Ë23.70S\addto\noextrasgreek{%>Ë23.71]\let\@alph\latin@alph>Ë23.72]\let\@Alph\latin@Alph}ffb\greek@roman b\greek@RomanIT*opreventromannumeralsbGeingtypGesetingreeklettersweneedtoadoptthe IinternalUUL5ffA͉TU>'ExXcommands\@romanand\@Roman.>Ë23.73S\let\latin@roman\@roman>Ë23.74S\let\latin@Roman\@Roman>Ë23.75S\def\greek@roman#1{\textlatin{\latin@roman{#1}}}>Ë23.76S\def\greek@Roman#1{\textlatin{\latin@Roman{#1}}}>Ë23.77S\addto\extrasgreek{%>Ë23.78]\let\@roman\@greek@roman>Ë23.79]\let\@Roman\@greek@Roman}>Ë23.80S\addto\noextrasgreek{%>Ë23.81]\let\@roman\latin@roman>Ë23.82]\let\@Roman\latin@Roman}ffXW*elprovideaccesstoafewextragreekcharacters.Theyareonlyavqailablein IoneSparticularfont,Sthereforewe rstde nea`helpGer'macrotoselectthecorrectIfont. ͍>Ë23.83S\def\greek@char#1{{%>Ë23.84f\fontfamily\rmdefault>Ë23.85f\fontseries\mddefault>Ë23.86f\fontshape\scdefault>Ë23.87f\selectfont\char#1}}>Ë23.88S\DeclareTextCommand{\tao}{LGR}{\greek@char{"7F}}>Ë23.89S\DeclareTextCommand{\Qoppa}{LGR}{\greek@char{"43}}83Tso>Ë23.90S\DeclareTextCommand{\qoppa}{LGR}{\greek@char{"5B}} >Ë23.91S\DeclareTextCommand{\varqoppa}{LGR}{\greek@char{"5C}}>Ë23.92S\DeclareTextCommand{\Sampi}{LGR}{\greek@char{"5F}}>Ë23.93S\DeclareTextCommand{\sampi}{LGR}{\greek@char{"5E}}>Ë23.94S\DeclareTextCommand{\Digamma}{LGR}{\greek@char{"17}}ITheramssymbpackqagede nesa\digammacommand,soinordertoavoidproblems IweUUspGellheredigammaintentionallyerroneouswithadoubled.>Ë23.95S\DeclareTextCommand{\ddigamma}{LGR}{\greek@char{"60}}>Ë23.96S\DeclareTextCommand{\vardigamma}{LGR}{\greek@char{"5D}}XNowmakesurethatthesecommandscanalsobGeusedoutsideofthegreekfontIencoGding.>Ë23.97S\ProvideTextCommandDefault{\tao}{\UseTextSymbol{LGR}{\tao}}>Ë23.98S\ProvideTextCommandDefault{\Qoppa}{\UseTextSymbol{LGR}{\Qoppa}}>Ë23.99S\ProvideTextCommandDefault{\qoppa}{\UseTextSymbol{LGR}{\qoppa}}:23.100S\ProvideTextCommandDefault{\varqoppa}{\UseTextSymbol{LGR}{\varqoppa}}:23.101S\ProvideTextCommandDefault{\Sampi}{\UseTextSymbol{LGR}{\Sampi}}:23.102S\ProvideTextCommandDefault{\sampi}{\UseTextSymbol{LGR}{\sampi}}:23.103S\ProvideTextCommandDefault{\Digamma}{\UseTextSymbol{LGR}{\Digamma}}:23.104S\ProvideTextCommandDefault{\ddigamma}{\UseTextSymbol{LGR}{\ddigamma}}:23.105S\ProvideTextCommandDefault{\vardigamma}{%:23.106]\UseTextSymbol{LGR}{\vardigamma}}XThemacro\ldf@finishtakescareofloGokingforacon guration le,settingIthefmainlanguagetobGeswitchedonat\begin{document}andresettingtheIcategoryUUcoGdeofr@toitsoriginalvqalue.:23.107S\ldf@finish{greek}:23.108Sh=coAdei84UsoI24ifdTheffFfrenchLanguageI24.1nAb`outFrenchtyp`ographyuTIThe9 lefrenchb.dtx^21x,?kderivedfromfrenchy.sty,de nesallthelanguagede - InitionUUmacrosfortheF*renchlanguage.XCustomizationEfortheF*renchlanguageisachievedfollowingthebGookE\LexiqueIdesrGeglestypGographiquesenusageal'Imprimerienationale"troisiGemeueditionI(1994),UUISBN-2-11-081075-0.XThisF lehasbGeendesignedtobeusedwithL5ffA͉TU>'ExX2"(,}L5ffA͉TU>'ExX-2.09andPlainTU>'EXIformats. ?IfnyouarestillusingL5ffA͉TU>'ExX-2.09,1youshouldw[considerswitchingtoIL5ffA͉TU>'ExX2"nS!XAny8ofthecommands\selectlanguage{french},q\selectlanguage{francais},Iorb\selectlanguage{frenchb}switchestotheF*renchlanguagewiththefollowingIe ects:1uU81.bF*renchUUhyphenationpatternsaremadeactive;U82.b`doubleUUpunctuation'ismadeactiveforcorrectspacinginF*rench;U83.b\todayUUprintsthedateinF*rench;U84.btheUUcaptionnamesaretranslatedintoF*rench(L5ffA͉TU>'ExXonly);U85.btheUUlistitemsaresetto`{'insteadof(L5ffA͉TU>'ExXonly);U86.btheUUverticalspacinginlistsisshortened(L5ffA͉TU>'ExXonly);U87.btheUU rstparagraphofeachsectionisindented(L5ffA͉TU>'ExXonly);U88.bF*renchquotationmarkscanbGetypGesetusingthecommands\ogand\fg bwhichxworkinL5ffA͉TU>'ExX2"'",qL5ffA͉TU>'ExX-2.09andPlainTU>'EX,qtheirappGearancedepend-bingonwhatisavqailabletodrawthem;)ifyouuseL5ffA͉TU>'ExX2"+{4withT1-encoGdingbyoucanalsoenterthemas<<~French?quotationmarks~>>butthendonP'tbfor}'getߦtheunbreakqablespaces,(\ogand\fgprovideforcorrectlinebreaks);U89.baS3command\upisprovidedtotypGesetsuperscriptslikeM\up{me}(abbrevi-bationUUfor\Madame"),1\up{er}(for\premier");P810.bfamilynnamesshouldbGetypesetinsmallcapitalsandneverbehyphenated,bthe~macro\bsc(bGoxedsmallcaps)doesthis,e.g.,Leslie~\bsc{Lamport}bwillUUproGduceLeslieCLamporUTt.f;P811.bcommands\primo,\secundo,\tertioand\quartomaybGeusedtoenu-bmerateUUinlists;P812.babbreviationsfor\NumGero"and\numGero"areobtainedviathecommandsb\No,UU\no;P813.btwocommandsareprovidedtotypGesetabbreviationsfor\degrGe":\degrebprintsSctherawcharacterand\degresshouldbGeusedtotypGesettemperaturesb(e.g.,ת\20~\degres?C"with?anunbreakqablespace),orforalcohols'strengthsb(e.g.,UU\45\degres"withnospaceinF*rench);I!ffr J=w-:21LThe | ledescrib>).9XF*renchatypGographicrulesspecifythatsomewhitespaceshouldbepresentbe-IforeJ`doublepunctuation'characters.7Thesecharactersare;!?and:.7InordertoIgetpthiswhitespaceautomatically*,wlthecategorycoGdeofthesecharactersismadeI\active.InpF*rench,theusershouldinputthesefourcharactersprecededwithaIspace,$butasmanypGeopleforgetaboutit(evenamongnativeF*renchwriters!),ItheLdefaultbGehaviouroffrenchbistoautomaticallyadda\thinspacebeforeI`;'`!'`?'andanormal(unbreakqable)spacebGefore`:'(thisistheruleinF*renchItypGography).n_It'sKuptotheusertoaddornotaspaceafter^`doublepunctuation'Icharacters:RusuallyŴaspaceisnecessary*,butnotalways(bGeforeafullpointoraIclosingUUbraceforinstance),sothiscannotdoneautomatically*.XInx(rare)caseswherenospaceshouldbGeaddedbeforea`doublepunctua-Ition',either&Xuse\string;\string:\string!\string?insteadof;:!?,IorHswitchloGcallytoenglish. ܟF*orinstanceyoucantypGeC\string:TEXͤorI\begin{otherlanguage}{english}{C:TEX}\end{otherlanguage}ntoavoidntheIspaceUUbGefore:inaMS-DOSpath.XSomeusersdislikethisautomaticinsertionofaspacebGefore`doublepunctu-Iation',pand8prefertodecidethemselveswhetheraspaceshouldbGeaddedornot;IsoDahoGok\NoAutoSpaceBeforeFDPDisprovided:i ifthiscommandisadded(in leIfrenchb.cfg,66or.nanywhereinadoGcument)frenchbwillrespGectyourtyping,66andIintroGduce asuitablespacebefore`doublepunctuation'ifMandonlyif=a spaceisItypGedUUinthesource lebeforethosesigns.XThecommand\AutoSpaceBeforeFDP˲switchesbacktothedefaultbGehaviorofIfrenchb.XOnce5youhavebuiltyourformat,oagoGod5precautionwouldbGetoperformsomeIbasicUUtestsabGouthyphenationinF*rench.qForUUL5ffA͉TU>'ExX2"+TIUUsuggestthis:Iffr J=w-:22LInmath-mo'ExXtogetherwithCMRfonts,commentoutthelineb\usepackage[my-enc}'oding}]{inputenc}.+b%%%?TestfileforFrenchhyphenation.b\documentclass{article}b\usepackage[my-enc}'oding}]{inputenc}b\usepackage[francais]{babel}b\begin{document}b\showhyphens{signal,?container,\'ev\'enement,alg\`ebre}b\showhyphens{signal,?container,evenement,algebre}b\end{document}~XbcheckJthehyphenationspropGosedbyTU>'ExXinyourlog- le;DinF*renchyoubshouldUUgetwithbGoth7-bitand8-bitencodingsbsi-gnal,?contai-ner,eve-ne-ment,?al-gebre.bDonotcareabGouthowaccentedcharactersaredisplayedinthelog- le,lwhatbmattersUUisthepGositionofthe`-'hyphensignsonly.yIIfptheyareallcorrect,wyourinstallation(probably)works ne,wifone(ormore)isI(are)wrong,2askaloGcalwizardtoseewhat'sgoingwrongandperformthetestIagainUU(ore-mailmeabGoutwhathappens).IF*requentUUmismatches:Xbyougetsig-nal,?con-tainer,thisprobablymeansthatthehyphenationbpatternsUUyouareusingareforUSenglish,notforF*rench;~Xbyou+getnohyphenatallineve-ne-ment,3this+probablymeansthatyouarebusingCMRxfontsandthemacro\accenttoproGduceaccentedcharacters.bConsiderUUswitchingtoDC/ECfontsandT1-encoGdingoruseMlTU>'ExX.7lXfrenchbܲhasbGeenimprovedusinghelpfulsuggestionsfrommanypeople,۾theImainUUcontributionscamefromVincentJalby*.qThankstoallofthem!9XFirstUUversionreleased:q1.1asof1996/05/31partofrbabGel-3.6beta.XChangesUUinversion1.1b:qupGdateforbabel-3.6.XChanges inversion1.2:2newcommand\nombretoformatnumbGers;fremovedIcommandL\fupbGorrowedLfromthefrenchpackqage(\updoesabetterjobinIL5ffA͉TU>'ExX2"nS);alsoCremovedaliases\frenchand\english(frenchb.cfgisabGetterIplaceUUforthese).XWI24.2nTESXnicaldetailsuTIThefmacro\LdfInittakescareofpreventingthatthis leisloadedmorethanIonce,UUcheckingthecategorycoGdeofthe@sign,etc. ?^B24.1ShcoAdei B24.2S%%Pleasereporterrorsto:DanielFlipo,GUTenbergB24.3S%%zË24.10]\fi>Ë24.11S\fi͍XRegardless6 of\CurrentOptiontheinternalnamefortheF*renchlanguagewillIbGe?`frenchb';`francais'and`french'willbGesynonymousfor`frenchb':@ rstletbGothInamesMusethesamehyphenationpatterns.`LaterwewillhavetosetaliasesforI\captionsfrenchb,\datefrenchb,\extrasfrenchbfand\noextrasfrenchb.-"AsIF*renchmusesthestandardvqaluesof\lefthyphenmin(2)and\righthyphenmin(3),InoUUspGecialsettingisrequiredhere.>Ë24.12S\def\CurrentOption{frenchb}>Ë24.13S\ifx\l@francais\@undefined>Ë24.14]\let\l@francais\l@french>Ë24.15S\else>Ë24.16]\let\l@french\l@francais>Ë24.17S\fi>Ë24.18S\let\l@frenchb\l@frenchXT*o>checktheformatinuse(plainorLaT*eX),we'llneedmacrostoholdtheInamesUUoftheplainandL5ffA͉TU>'ExX2"+Tformats. ͍>Ë24.19S\def\PlainFmtName{plain}>Ë24.20S\def\LaTeXeFmtName{LaTeX2e}ff$\if@Two@EIW*ewillneedanew`if':\if@Two@EвistrueifandonlyifL5ffA͉TU>'ExX2"*isrunningnotֲinIcompatibilityMmoGde.+pItisusedinthede nitionsofthecommand\nombreand\up.IThede nitionissomewhatcomplicated,duetothefactthat\if@compatibilityIisUUnotrecognizedasa\ifinL5ffA͉TU>'ExX-2.09basedformats. ͍>Ë24.21S\newif\if@Two@E\@Two@Etrue>Ë24.22S\def\@FI@{\fi}>Ë24.23S\ifx\@compatibilitytrue\@undefined>Ë24.24]\@Two@Efalse\def\@FI@{\relax}>Ë24.25S\else>Ë24.26]\if@compatibility\@Two@Efalse\fi>Ë24.27S\@FI@ff 6\extrasfrenchb \noextrasfrenchbIThemacro\extrasfrenchbwillpGerformalltheextrade nitionsneededfortheIF*renchlanguage.}IThemacro\noextrasfrenchbisusedtocanceltheactionsofI\extrasfrenchb.IInF*rench\apGostrophe"isusedinhyphenationinexpressionslikel'ambulanceI(F*renchpatternsprovideentriesforthiskindofwords).ThismeansthattheI\lccodeof\apGostrophe"hastobenonnullinF*renchforpropGerhyphenationofIthoseUUexpressions,andtobGeresettonullwhenexitingF*rench. ͍>Ë24.28S\@namedef{extras\CurrentOption}{\lccode`\'=`\'}>Ë24.29S\@namedef{noextras\CurrentOption}{\lccode`\'=0}>Ë24.30S\def\extrasfrancais{\extrasfrenchb}>Ë24.31S\def\extrasfrench{\extrasfrenchb}>Ë24.32S\def\noextrasfrancais{\noextrasfrenchb}>Ë24.33S\def\noextrasfrench{\noextrasfrenchb}88Y;soXItisbGesttouseL5ffA͉TU>'ExX2"(+'sfontchangingcommands,andtoemulatedthosewe Ineedwhentheyarenotavqailable,asinPlainTU>'ExXorL5ffA͉TU>'EX-2.09. BeawarethatIold:commands\sc,3\it,etc.yvexist:inL5ffA͉TU>'ExX2"),3buttheybGehave:liketheydidinIL5ffA͉TU>'ExX-2.09K(i.e.,D theyswitchbackto\normalfontinsteadofkeepingtheotherIfontUUattributesunchanged).>Ë24.34S\ifx\scshape\@undefined >Ë24.35]\ifx\sc\@undefined>Ë24.36kJ\let\scshape\relax>Ë24.37]\else>Ë24.38kJ\let\scshape\sc>Ë24.39]\fi>Ë24.40S\fi>Ë24.41S\ifx\emph\@undefined>Ë24.42]\ifx\em\@undefined>Ë24.43kJ\let\emph\relax>Ë24.44]\else>Ë24.45kJ\def\emph#1{\em#1}>Ë24.46]\fi>Ë24.47S\fi6I24.3nCaptionnamesanddateuTIThenextstepconsistsofde ningtheF*renchequivqalentsfortheL5ffA͉TU>'ExXcaption- Inames. \captionsfrenchbITheImacro\captionsfrenchbde nesallstringsusedinthefourstandarddoGcu-ImentclassesprovidedwithL5ffA͉TU>'ExX.VSomeauthorsdonotlikesomeofthesenames;IitiseasytochangetheminthepreambleafterUloadingfrenchb(orinyour leIfrenchb.cfg),e.g2\addto\captionsfrenchb{\def\figurename{Figure}}willIprintUU`Figure'inromaninsteadof`CFig.'.>Ë24.48S\ifx\fmtname\PlainFmtName >Ë24.49S\else>Ë24.50S\@namedef{captions\CurrentOption}{%>Ë24.51ap\def\refname{R\'ef\'erences}%>Ë24.52ap\def\abstractname{R\'esum\'e}%>Ë24.53ap\def\bibname{Bibliographie}%>Ë24.54ap\def\prefacename{Pr\'eface}%>Ë24.55ap\def\chaptername{Chapitre}%>Ë24.56ap\def\appendixname{Annexe}%>Ë24.57ap\def\contentsname{Tabledesmati\`eres}%>Ë24.58ap\def\listfigurename{Tabledesfigures}%>Ë24.59ap\def\listtablename{Listedestableaux}%>Ë24.60ap\def\indexname{Index}%>Ë24.61ap\def\figurename{{\scshapeFig.}}%>Ë24.62ap\def\tablename{{\scshapeTab.}}%I\PremiGereUUpartie"insteadof\PartI">Ë24.63ap\def\partname{\protect\@Fptpartie}%>Ë24.64ap\def\@Fpt{{\ifcase\value{part}\orPremi\`ere\orDeuxi\`eme\or>Ë24.65apTroisi\`eme\orQuatri\`eme\orCinqui\`eme\orSixi\`eme\or>Ë24.66apSepti\`eme\orHuiti\`eme\orNeuvi\`eme\orDixi\`eme\orOnzi\`eme\or>Ë24.67apDouzi\`eme\orTreizi\`eme\orQuatorzi\`eme\orQuinzi\`eme\or>Ë24.68apSeizi\`eme\orDix-septi\`eme\orDix-huiti\`eme\orDix-neuvi\`eme\or89Zso>Ë24.69apVingti\`eme\fi}\space\def\thepart{}}% >Ë24.70ap\def\pagename{page}%>Ë24.71ap\def\seename{{\emph{voir}}}%>Ë24.72ap\def\alsoname{{\emph{voiraussi}}}%>Ë24.73ap\def\enclname{P.~J.}%>Ë24.74ap\def\ccname{Copie\`a}%>Ë24.75ap\def\headtoname{}%>Ë24.76ap\def\proofname{D\'emonstration}%forAMS-\LaTeX>Ë24.77ap}>Ë24.78ap\def\captionsfrench{\captionsfrenchb}>Ë24.79ap\def\captionsfrancais{\captionsfrenchb}>Ë24.80S\fib\datefrenchbIThegmacro\datefrenchbrede nesthecommand\todaytoproGduceF*renchdates. >Ë24.81S\@namedef{date\CurrentOption}{%>Ë24.82]\def\today{\number\day>Ë24.83f\ifnum1=\day\ier\fi>Ë24.84f\space\ifcase\month>Ë24.85f\orjanvier\orf\'evrier\ormars\oravril\ormai\orjuin\or>Ë24.86fjuillet\orao\^ut\orseptembre\oroctobre\ornovembre\or>Ë24.87fd\'ecembre\fi>Ë24.88f\space\number\year}}>Ë24.89S\def\datefrench{\datefrenchb}>Ë24.90S\def\datefrancais{\datefrenchb}6I24.4nPunctuationuTIThei`doublepunctuation'characters(;!?and:)havetobGemade\activeforIanUUautomaticcontroloftheamountofspacetoinsertbGeforethem.>Ë24.91S\initiate@active@char{:}>Ë24.92S\initiate@active@char{;}>Ë24.93S\initiate@active@char{!}>Ë24.94S\initiate@active@char{?}IW*eUUspGecifythattheFrenchgroupofshorthandsshouldbGeused.>Ë24.95S\expandafter\addto\csnameextras\CurrentOption\endcsname{%>Ë24.96]\languageshorthands{frenchb}}ITheseUUcharactersare`turnedon'once,latertheirde nitionmayvqary*.>Ë24.97S\expandafter\addto\csnameextras\CurrentOption\endcsname{%>Ë24.98]\bbl@activate{:}\bbl@activate{;}%>Ë24.99]\bbl@activate{!}\bbl@activate{?}}:24.100S\expandafter\addto\csnamenoextras\CurrentOption\endcsname{%:24.101]\bbl@deactivate{:}\bbl@deactivate{;}%:24.102]\bbl@deactivate{!}\bbl@deactivate{?}}XOne8morething\extrasfrenchbneedstodoistomakesurethat\frenchspacing IisXine ect.yIfthisisnotthecasetheexecutionof\noextrasfrenchbwillswitchIitUUo again.:24.103S\expandafter\addto\csnameextras\CurrentOption\endcsname{% :24.104]\bbl@frenchspacing}:24.105S\expandafter\addto\csnamenoextras\CurrentOption\endcsname{%:24.106]\bbl@nonfrenchspacing}90[so 6\frenchb@sh@;@IW*e-havetotunetheamountofwhitespacebGefore;:!d]?and:.Thisshouldonly IhappGenQhinhorizontalmode,lhencethetest\ifhmode.eInhorizontalmode,lifaIspace5UhasbGeentypedbefore`;'@weremoveitandputanunbreakqable\thinspaceIinstead.oIfRJnospacehasbGeentyped,weRJadd\FDP@thinspacewhichwillbede ned,IupUUtotheuser'swishes,asanautomaticaddedthinspace,oras\@empty.;B:24.107S\declare@shorthand{frenchb}{;}{% :24.108f\ifhmode:24.109p2\ifdim\lastskip>\z@:24.110yw^\unskip\penalty\@M\thinspace:24.111p2\else:24.112yw^\FDP@thinspace:24.113p2\fi:24.114f\fi;BINowUUwecaninserta;character. :24.115f\string;}㍍ 6\frenchb@sh@!@ 6\frenchb@sh@?@IBecausenthesede nitionsareverysimilaronlyoneisdisplayedinawaythatthe Ide nitionUUcanbGeeasilychecked.:24.116S\declare@shorthand{frenchb}{!}{%:24.117f\ifhmode:24.118p2\ifdim\lastskip>\z@:24.119yw^\unskip\penalty\@M\thinspace:24.120p2\else:24.121yw^\FDP@thinspace:24.122p2\fi:24.123f\fi:24.124f\string!}:24.125S\declare@shorthand{frenchb}{?}{%:24.126f\ifhmode:24.127p2\ifdim\lastskip>\z@:24.128yw^\unskip\penalty\@M\thinspace:24.129p2\else:24.130yw^\FDP@thinspace:24.131p2\fi:24.132f\fi:24.133f\string?}㍍ 6\frenchb@sh@:@ITheUU`:'qrequiresanormalspacebGeforeit,insteadofa\thinspace.:24.134S\declare@shorthand{frenchb}{:}{%:24.135f\ifhmode:24.136p2\ifdim\lastskip>\z@:24.137yw^\unskip\penalty\@M\:24.138p2\else:24.139yw^\FDP@space:24.140p2\fi:24.141f\fi:24.142f\string:}ƍH\AutoSpaceBeforeFDP \NoAutoSpaceBeforeFDPI\FDP@thinspaceUUand\FDP@spacearede nedasunbreakqablespacesby I\AutoSpaceBeforeFDPUUoras\@emptyby\NoAutoSpaceBeforeFDP.IDefaultUUis\AutoSpaceBeforeFDP.91\1so:24.143S\def\AutoSpaceBeforeFDP{% :24.144p2\def\FDP@thinspace{\penalty\@M\thinspace}%:24.145p2\def\FDP@space{\penalty\@M\}}:24.146S\def\NoAutoSpaceBeforeFDP{\let\FDP@thinspace\@empty:24.147΃\let\FDP@space\@empty}:24.148S\AutoSpaceBeforeFDP\system@sh@:@ \system@sh@!@ \system@sh@?@ \system@sh@;@IWhentheactivecharactersappGearinanenvironmentwheretheirF*renchbGe- IhaviourFisnotwantedtheyshouldgivean`expGected'result.(Thereforewede neIshorthandsUUatsystemlevelaswell.:24.149S\declare@shorthand{system}{:}{\string:} :24.150S\declare@shorthand{system}{!}{\string!}:24.151S\declare@shorthand{system}{?}{\string?}:24.152S\declare@shorthand{system}{;}{\string;}6I24.5nFrenchquotationmarksuTISeveralshapGesofF*renchquotationmarksareprovidedforusewithCMRor IEC/DCZwfonts,orZPostScriptfonts.CMRZwfontshavenoquotationmarksbuilt-Iin,sowehavetoemulatethemusingmathsymbGols,eitherL5ffA͉TU>'ExX's`lasy'fontifIavqailable,orWTU>'ExXsymbGols\lland\ggotherwise.EC/DC9fontsandPostScriptIfontsUUhavebuilt-inquotationmarks,sowewillofcourseusethem.IThehfollowingde nitionswilltakecareforcorrectspacingofF*renchquotationImarks(awhitespaceprecedesandfollowsquotationmarksbutnolinebreakisIallowedUUneitherafterhtheopGeningone,norb}'eforetheUUclosingone).b\oPlainGuillb\fPlainGuillIF*or/PlaincTU>'ExX,wede ne\oPlainGuilland\fPlainGuillusingmathsymbGolsI\llUֲand\gg.sIInordertohaveUthewordfollowingopGeningguillemetshyphenatedIpropGerlyI}wehavetoendthede nitionswiththeTU>'ExXequivqalentfor\allowhyphensIwhichUUis\penalty\@M\hskip\z@skip.:24.153S\def\oPlainGuill{\leavevmode\raise0.25ex% :24.154\hbox{$\scriptscriptstyle\ll$\kern0.15em}%:24.155\penalty\@M\hskip\z@skip}:24.156S\def\fPlainGuill{\ifdim\lastskip>\z@\unskip\penalty\@M\fi:24.157\leavevmode\raise0.25ex%:24.158\hbox{\kern0.15em$\scriptscriptstyle\gg$}} L\oLasyGuill L\fLasyGuillIIn$EL5ffA͉TU>'ExX2"+4bGetter$Elookingquotationmarksareavqailableviathe`lasy'font(`lasy' IstandsUUforL5ffA͉TU>'ExXSymbGol).:24.159S\ifx\fmtname\LaTeXeFmtName:24.160]\def\oLasyGuill{\leavevmode:24.161:\hbox{\fontencoding{U}\fontfamily{lasy}\selectfont:24.162(\kern-0.20em(\kern0.20em}\allowhyphens}:24.163]\def\fLasyGuill{\ifdim\lastskip>\z@\unskip\penalty\@M\fi\leavevmode:24.164:\hbox{\kern0.20em%:24.165\fontencoding{U}\fontfamily{lasy}\selectfont:24.166)\kern-0.20em)}}:24.167S\fi$\oECGuill $\fECGuillINowUUlet'sde neF*renchquotationmarksforT1encoGding.:24.168S\def\oECGuill{\leavevmode\hbox{\guillemotleft\kern0.15em}%:24.169\allowhyphens}92]%so:24.170S\def\fECGuill{\ifdim\lastskip>\z@\unskip\penalty\@M\fi :24.171\leavevmode\hbox{\kern0.15em\guillemotright}}1\og 1\fg \bbl@frenchguillemets Z\bbl@nonfrenchguillemetsINowOlet'sde newhichkindofF*renchquotationmarkswillbGeused.Thetop ImacrosforquotationmarkswillbGecalled\og(\ofeuvrezg[fe uillemets")and\fgI(\ffe::ermezUUgUU[feUVuillemets").IMakethetoplevelde nitionsforF*renchquotationmarksavqailablethroughtheI\extrasfrenchbUU\noextrasfrenchbmechanism.IAslI\DeclareTextCommandcannotbGeusedafterthe\begin{document}weintro-IduceUUinternalde nitions\begin@guilland\end@guill.IW*e'lltrytobGesmarttousersofD.CCarlisle'sxspacepackqage::ifthispackqageIisUUloadedtherewillbGenoneedfor{}or\Rtogetaspaceafter\fg.N}0InxL5ffA͉TU>'ExX2",wexprovideadummyde nitionfor\ogand\fg,justtodisplayanIerrorUUmessageincase\ogor\fghaveUUbGeende nedelsewhere.:24.172S\ifx\fmtname\LaTeXeFmtName:24.173ap\newcommand{\og}{\@empty}:24.174ap\newcommand{\fg}{\@empty}:24.175ap\DeclareTextCommand{\begin@guill}{T1}{\oECGuill}:24.176ap\DeclareTextCommand{\end@guill}{T1}{\fECGuill}:24.177ap\DeclareTextCommand{\begin@guill}{OT1}{\oLasyGuill}:24.178ap\DeclareTextCommand{\end@guill}{OT1}{\fLasyGuill}:24.179ap\DeclareTextSymbolDefault{\begin@guill}{OT1}:24.180ap\DeclareTextSymbolDefault{\end@guill}{OT1}:24.181S\else:24.182ap\let\begin@guill\oPlainGuill:24.183ap\let\end@guill\fPlainGuill:24.184S\fi:24.185S\def\bbl@frenchguillemets{\ifx\xspace\@undefined\let\xspace\relax\fi:24.186΃\def\og{\begin@guill}%:24.187΃\def\fg{\end@guill\xspace}}:24.188S\def\bbl@nonfrenchguillemets{\def\og{``}%:24.189ܰ\def\fg{\ifdim\lastskip>\z@\unskip\fi''}}:24.190S\expandafter\addto\csnameextras\CurrentOption\endcsname{%:24.191]\bbl@frenchguillemets}:24.192S\expandafter\addto\csnamenoextras\CurrentOption\endcsname{%:24.193]\bbl@nonfrenchguillemets}6I24.6nFrenchlistsuT \bbl@frenchitemsH\bbl@nonfrenchitemsS\bbl@frenchlistspacing&\bbl@nonfrenchlistspacingIF*renchlistsaredi erentfromUSenglishones:'theisneverused(longdash`{'Iispreferedforalllevels),ٕandverticalspacingbGetweenitems,ٕbGeforeandafterIthelist,shouldbGeshorterinF*renchtextsthanthedefaultsprovidedbyL5ffA͉TU>'ExX.INoteAothattheeasyway*,EijustAochangingvqaluesofverticalspacingparameterswhenIentering^F*renchandrestoringthemtotheirdefaultsonexitwouldnotwork,soIweUUhavetorede ne\@trivlist.ITheZiamountofverticalspacebGeforeandafteralistisgivenby\topsep+I\parskip(+\partopsepiftheliststartsanewparagraph).IMHO,\parskipIshouldbGeaddedonlywwhentheliststartsanewparagraph,soIsubtract\parskipIfromC_\topsepandadditbackto\partopsep;thiswillnormallymakenodi erenceIbGecauseN\parskip'sdefaultvqalueis0pt,Obutwillbenoticeablewhen\parskipisInotH-null.93^3 soII 0would CappreciatefeedbackfromexpGertsinF*renchtypGography*,Gabout Cthe(some- IwhatexpGerimental)vqaluessetherefor\partopsep,\topsep,\itemsepandI\parsep.IOfUUcourse,thiscoGdeisonlyforL5ffA͉TU>'ExX.:24.194S\ifx\fmtname\PlainFmtName :24.195S\else:24.196]\let\@ltiORI\labelitemi:24.197]\let\@ltiiORI\labelitemii:24.198]\let\@ltiiiORI\labelitemiii:24.199]\let\@ltivORI\labelitemiv:24.200]\def\bbl@frenchitems{%:24.201f\def\labelitemi{--}%:24.202f\def\labelitemii{--}%:24.203f\def\labelitemiii{--}%:24.204f\def\labelitemiv{--}}:24.205]\def\bbl@nonfrenchitems{%:24.206f\let\labelitemi\@ltiORI:24.207f\let\labelitemii\@ltiiORI:24.208f\let\labelitemiii\@ltiiiORI:24.209f\let\labelitemiv\@ltivORI}:24.210]\expandafter\addto\csnameextras\CurrentOption\endcsname{%:24.211f\bbl@frenchitems}:24.212]\expandafter\addto\csnamenoextras\CurrentOption\endcsname{%:24.213f\bbl@nonfrenchitems}:24.214]\let\@trivlistORI\@trivlist:24.215]\def\bbl@frenchlistspacing{%:24.216f\def\@trivlist{\setlength{\itemsep}{0.4explus0.2exminus0.2ex}%:24.217p\setlength{\parsep}{0.4explus0.2exminus0.2ex}%:24.218p\setlength{\topsep}{0.8explus0.4exminus0.4ex}%:24.219p\setlength{\partopsep}{0.4explus0.2exminus0.2ex}%:24.220p\addtolength{\topsep}{-\parskip}%:24.221p\addtolength{\partopsep}{\parskip}%:24.222p\@trivlistORI}}:24.223]\def\bbl@nonfrenchlistspacing{\let\@trivlist\@trivlistORI}:24.224]\expandafter\addto\csnameextras\CurrentOption\endcsname{%:24.225f\bbl@frenchlistspacing}:24.226]\expandafter\addto\csnamenoextras\CurrentOption\endcsname{%:24.227f\bbl@nonfrenchlistspacing}:24.228S\fi6I24.7nFrenchindentationofsectionsuTt\bbl@frenchindent Ʋ\bbl@nonfrenchindentIInF*renchthe rstparagraphofeachsectionshouldbGeindented,thisisanother Idi erenceUUwithUSenglish.qAddthiscoGdeonlyinL5ffA͉TU>'ExX.:24.229S\ifx\fmtname\PlainFmtName:24.230S\else:24.231]\let\@aifORI\@afterindentfalse:24.232]\def\bbl@frenchindent{\let\@afterindentfalse\@afterindenttrue:24.233\@afterindenttrue}:24.234]\def\bbl@nonfrenchindent{\let\@afterindentfalse\@aifORI:24.235΃\@afterindentfalse}:24.236]\expandafter\addto\csnameextras\CurrentOption\endcsname{%:24.237f\bbl@frenchindent}94_Cfso:24.238]\expandafter\addto\csnamenoextras\CurrentOption\endcsname{% :24.239f\bbl@nonfrenchindent}:24.240S\fi6I24.8nFormattingnumb`ersuTIInoEnglishthedecimalpartstartswithapGointandthousandsshouldbe Iseparatedkbyacomma: anapproximationof1000ǜshouldbGeinputedasI$3{,}141.592{,}653$=inmath-moGdeandas3,141.592,653intext.~InF*renchIthedecimalpartstartswithacommaandthousandsshouldbGeseparatedbyaIspace;the8sameapproximationof1000shouldbGeinputedas$3\;141{,}592\;653$Iin|math-moGdeandassomethinglike3~141,592~653intext..;RemembGerbracesIareyOmandatoryaroundthecommainmath-moGde,MthereasonismentionedintheITU>'ExXbGookgp.134:WthecommaisoftypGe\mathpunct(thusnormallyfollowedbyaIspace)UUwhilethepGointisoftypGe\mathord(nospaceadded).XThierryBouchesuggestedthatasecondtypGeofcomma,WoftypGe\mathordIwouldH bGeusefulinmath-mode,andproposedtointroduceacommand(namedI\decimalsepaCinthispackqage),theexpansionofwhichwoulddepGendonthecurrentIlanguage.XVincent]Jalbysuggestedacommand\nombretoconvenientlytypGesetnumbGers:Iinputting\nombre{3141,592653}eitherintextorinmath-moGdewillformatthisInumbGerUUproperlyaccordingtothecurrentlanguage(F*renchornon-F*rench).X\nombreDacceptsanoptionalargumentwhichhappGenstobeusefulwiththeIextensionSp`dcolumn',itspGeci esthedecimalseparatorusedinthesour}'ce}code[:I\newcolumntype{d}{D{,}{\decimalsep}{-1}}I\begin{tabular}{d}\hlineS3,14?\\S\nombre[,]{123,4567}?\\S\nombre[,]{9876,543}\\\hlineI\end{tabular}IwilltprintacolumnofnumbGersalignedonthedecimalpoint(commaorpointIdepGending!onthecurrentlanguage),Teachsliceof3digitsbGeingseparatedbyaIspaceUUoracommaaccordingtothecurrentlanguage. L\decimalsepb\thousandsepIW*eneedainternalde nition,vqalidinbGothtextandmath-mode,forthecommaI(\@comma@)andanotheronefortheunbreakqable xedlengthspace(noglue)usedIinUUF*rench(\f@thousandsep).XTheg!commands\decimalsepand\thousandsepgetdefaultde nitions(forItheEnglishlanguage)whenfrenchbisloaded;Vthesede nitionswillbGeupdatedIwhenUUthecurrentlanguageisswitchedtoorfromF*rench.:24.241S\mathchardef\m@comma="013B :24.242S\def\@comma@{\ifmmode\m@comma\else,\fi}:24.243S\def\f@thousandsep{\ifmmode\mskip5.5mu\else\penalty\@M\kern.3em\fi}:24.244S\newcommand{\decimalsep}{.}:24.245S\newcommand{\thousandsep}{\@comma@}:24.246S\expandafter\addto\csnameextras\CurrentOption\endcsname{%:24.247]\def\decimalsep{\@comma@}%:24.248]\def\thousandsep{\f@thousandsep}}:24.249S\expandafter\addto\csnamenoextras\CurrentOption\endcsname{%:24.250]\def\decimalsep{.}%:24.251]\def\thousandsep{\@comma@}}95`Oso3P\nombreIThedecimalseparatorusedwheninputingnanumbGerwith\nombrehasKtob}'ea Ic}'omma.=\nombresplitstheinputednumbGerintotwoparts:#whatcomesbGeforetheI rstcommawillbGeformattedbyT\@integerpartwhiletherest(ifnotempty)willIbGeformattedby\@decimalpart.Bothparts,onceformattedseparatelywillbeImergedtogetherwithbGetweenthem,?eitherthedecimalseparator\decimalsepIorUU(inL5ffA͉TU>'ExX2"+Tonly})theoptionalargumentof\nombre.:24.252S\if@Two@E :24.253]\newcommand{\nombre}[2][\decimalsep]{%:24.254~0\def\@decimalsep{#1}\@nombre#2\@empty,\@empty,\@nil}:24.255S\else:24.256]\newcommand{\nombre}[1]{%:24.257~0\def\@decimalsep{\decimalsep}\@nombre#1\@empty,\@empty,\@nil}:24.258S\fi:24.259S\def\@nombre#1,#2,#3\@nil{%:24.260t\ifx\@empty#2%:24.261~0\@integerpart{#1}%:24.262t\else:24.263~0\@integerpart{#1}\@decimalsep\@decimalpart{#2}%:24.264t\fi}ITheeasiestbitisthedecimalpart:S W*eattempttoreadthe rstfourdigitsofthe Idecimal"part,Vifithaslessthan4digits,wejusthavetoprintthem,VotherwiseI\thousandsep+hastobGeappendedafterthethirddigit,? andthealgorithmisIappliedUUrecursivelytotherestofthedecimalpart.:24.265S\def\@decimalpart#1{\@@decimalpart#1\@empty\@empty\@empty} :24.266S\def\@@decimalpart#1#2#3#4{#1#2#3%:24.267]\ifx\@empty#4%:24.268]\else:24.269f\thousandsep\expandafter\@@decimalpart\expandafter#4%:24.270]\fi}IF*ormatting4theintegerpartismoredicultbGecausetheslicesof3digitsstart Ifromjtheb}'ottom.kwhilethenumbGerjisreadfromthetop!This(tricky)codeisIbGorrowedUUfromDavidCarlisle'scomma.sty*.:24.271S\def\@integerpart#1{\@@integerpart{}#1\@empty\@empty\@empty} :24.272S\def\@@integerpart#1#2#3#4{%:24.273]\ifx\@empty#2%:24.274f\@addthousandsep#1\relax:24.275]\else:24.276f\ifx\@empty#3%:24.277p2\@addthousandsep\@empty\@empty#1#2\relax:24.278f\else:24.279p2\ifx\@empty#4%:24.280yw^\@addthousandsep\@empty#1#2#3\relax:24.281p2\else:24.282yw^\@@integerpartafterfi{#1#2#3#4}%:24.283p2\fi:24.284f\fi:24.285]\fi}:24.286S\def\@@integerpartafterfi#1\fi\fi\fi{\fi\fi\fi\@@integerpart{#1}}:24.287S\def\@addthousandsep#1#2#3#4{#1#2#3%:24.288]\if#4\relax:24.289]\else96a]ڠso:24.290f\thousandsep\expandafter\@addthousandsep\expandafter#4% :24.291]\fi}6I24.9nExtrautilitiesuTIAllUUthatislefttodonowistoprovidetheF*renchuserwithsomeextrautilities.1\up '|\iemeI\up8easesthetypGesettingofsuperscriptslike`1er'.\uprelieson\textsuperscript IwhenUUavqailable(i.e.,inL5ffA͉TU>'ExX2"().y\up@sizeIThe'internalmacro\up@sizeholdsthesizeatwhichthesupGerscriptwillbetype-Iset. (kThereasonforthisisthatwehavetospGecifyitdi erentlyfordi erentIformats.:24.292S\ifx\sevenrm\@undefined:24.293]\ifx\@ptsize\@undefined:24.294f\let\up@size\small:24.295]\else:24.296f\ifx\selectfont\@undefinedIInUUthiscasetheformatistheoriginalL5ffA͉TU>'ExX-2.09::24.297p2\ifcase\@ptsize:24.298yw^\let\up@size\ixpt\or:24.299yw^\let\up@size\xpt\or:24.300yw^\let\up@size\xipt:24.301p2\fiIWhenUU\selectfontisde nedweprobablyhaveNFSSavqailable::24.302f\else:24.303p2\ifcase\@ptsize:24.304yw^\def\up@size{\fontsize\@ixpt{10pt}\selectfont}\or:24.305yw^\def\up@size{\fontsize\@xpt{11pt}\selectfont}\or:24.306yw^\def\up@size{\fontsize\@xipt{12pt}\selectfont}:24.307p2\fi:24.308f\fi:24.309]\fi:24.310S\elseIIfUUweenduphereitmustbGeaplainbasedTU>'ExXformat,so::24.311f\let\up@size\sevenrm:24.312S\fiINowwecande ne\up.WhenL5ffA͉TU>'ExX2",ܲrunsincompatibilitymoGde(L5ffA͉TU>'ExX-2.09 Iemulation),\textsuperscriptisalsode ned,butdoGesnogoodjob,sowegiveItwoUUdi erentde nitionsfor\upusing\if@Two@E.:24.313S\if@Two@E:24.314]\DeclareRobustCommand*{\up}[1]{\textsuperscript{#1}}:24.315S\else:24.316]\DeclareRobustCommand*{\up}[1]{\leavevmode\raise1ex\hbox{\up@size#1}}:24.317S\fiI\iemebisprovidedforcompatibilitywithfrancais.sty,etheother5forcompati-IbilityUUwithfrench.sty::24.318S\def\ieme{\up{\lowercase{e}}}:24.319S\def\iemes{\up{\lowercase{es}}}:24.320S\def\ier{\up{\lowercase{er}}}97biso:24.321S\def\iers{\up{\lowercase{ers}}} :24.322S\def\iere{\up{\lowercase{re}}}:24.323S\def\ieres{\up{\lowercase{res}}}1\No 1\no "\primo y\fprimo)IAndUUsomemoremacrosfornumbGering,UU rsttwoUUsupportmacros.:24.324S\DeclareRobustCommand*{\FrenchEnumerate}[1]{%:24.325W(#1\up{\lowercase{o}}\kern+.3em}:24.326S\DeclareRobustCommand*{\FrenchPopularEnumerate}[1]{%:24.327W(#1\up{\lowercase{o}})\kern+.3em}XTypingUU\primoshouldresultin`1^o|u',:24.328S\def\primo{\FrenchEnumerate1}:24.329S\def\secundo{\FrenchEnumerate2}:24.330S\def\tertio{\FrenchEnumerate3}:24.331S\def\quatro{\FrenchEnumerate4}IwhileUUtyping\fprimo)gives`1^o|s).:24.332S\def\fprimo){\FrenchPopularEnumerate1}:24.333S\def\fsecundo){\FrenchPopularEnumerate2}:24.334S\def\ftertio){\FrenchPopularEnumerate3}:24.335S\def\fquatro){\FrenchPopularEnumerate4}XLet'sUUprovidetwomacrosforthecommonabbreviationsof\NumGero".:24.336S\DeclareRobustCommand*{\No}{N\up{\lowercase{o}}\kern+.2em}:24.337S\DeclareRobustCommand*{\no}{n\up{\lowercase{o}}\kern+.2em},`\bscIAsHfamilynamesshouldbGewritteninsmallcapitalsandneverbehyphen- Iated,zwe provideacommand(itsnamecomesfromBoxedSmallCaps)toinputIthemeasily;thisisasimplerimplementationofcommands\fscand\lscfromIfrench.styE:inoautomaticuppGercase/lowercaseEconversionispGerformed.lUsage:IJean~\bsc{Duchemin}.:24.338S\DeclareRobustCommand*{\bsc}[1]{\leavevmode\hbox{\scshape#1}}XSomejde nitionsforspGecialcharacters.The rsteightaremandatoryfor\oeIetc.htoworkpropGerlyinmovingarguments,(theothersjustforconvenience.hW*eIwon't|de ne\tildeasaT*extSymbGolnottocon ictwiththemacro\tildeforImath-moGdeZandusethename\tildinstead.uNotethat\boimaynot2beusedIinK$math-moGde,itsnameinmath-modeis\backslash.S4\degreneedsaspecialItreatment:qitUUis\char6inT1-encoGdingand\char23inOT1-encoding.:24.339S\ifx\fmtname\LaTeXeFmtName :24.340]\DeclareTextSymbol{\ae}{T1}{230}:24.341]\DeclareTextSymbol{\ae}{OT1}{26}:24.342]\DeclareTextSymbol{\oe}{T1}{247}:24.343]\DeclareTextSymbol{\oe}{OT1}{27}:24.344]\DeclareTextSymbol{\AE}{T1}{198}:24.345]\DeclareTextSymbol{\AE}{OT1}{29}:24.346]\DeclareTextSymbol{\OE}{T1}{215}:24.347]\DeclareTextSymbol{\OE}{OT1}{30}:24.348]\DeclareTextSymbol{\degre}{T1}{6}:24.349]\DeclareTextSymbol{\degre}{OT1}{23}:24.350]\DeclareTextSymbol{\boi}{T1}{92}:24.351]\DeclareTextCommand{\boi}{OT1}{{$\backslash$}}:24.352]\DeclareTextSymbol{\at}{T1}{64}98cuso:24.353]\DeclareTextSymbol{\at}{OT1}{64} :24.354]\DeclareTextSymbol{\circonflexe}{T1}{94}:24.355]\DeclareTextSymbol{\circonflexe}{OT1}{94}:24.356]\DeclareTextSymbol{\tild}{T1}{126}:24.357]\DeclareTextSymbol{\tild}{OT1}{126}:24.358S\else:24.359]\def\T@one{T1}:24.360]\ifx\f@encoding\T@one:24.361f\newcommand{\degre}{\char6}:24.362]\else:24.363f\newcommand{\degre}{\char23}:24.364]\fi:24.365]\newcommand{\at}{\char64}:24.366]\newcommand{\circonflexe}{\char94}:24.367]\newcommand{\tild}{\char126}:24.368]\newcommand{\boi}{{$\backslash$}}:24.369S\fi3P\degresIMacrofortypGesettingtheabbreviationfor`degrees'(asin`degreesCelsius').W}As Ithe-'ExX's@amacrosdealingwithaccentscon ictwiththoseofL5ffA͉TU>'EX2"( ,DsowecheckIwhether\csubinverseisde nedornot.pIf\csubinverseisde ne}'d,*QweareinIMlTU>'ExX.:24.372S\ifx\fmtname\LaTeXeFmtName :24.373]\AtBeginDocument{%:24.374f\ifx\csubinverse\@undefined:24.375p2\DeclareTextCompositeCommand{\^}{OT1}{i}{\^\i}%:24.376p2\DeclareTextCompositeCommand{\"}{OT1}{i}{\"\i}%:24.377f\fi}:24.378S\fiXFinallythemacrospaceusedbysomecontrolsequenceswedonotneedany Ilonger,UUisfreed.:24.379S\let\T@one\relax:24.380S\let\@FI@\relax:24.381S\let\PlainFmtName\relax:24.382S\let\LaTeXeFmtName\relaxXThemacro\ldf@finishtakescareofloGokingforacon guration le,setting IthefmainlanguagetobGeswitchedonat\begin{document}andresettingtheIcategoryMcoGdeofhj@toitsoriginalvqalue. `Thecon g lesearchedforwillalwaysIbGe`frenchb.cfg'.WRememberthat\CurrentOptionhasbeensetto`frenchb',andIthatUU`francais'and`french'arealiasesfor`frenchb'.:24.383S\ldf@finish\CurrentOption :24.384Sh=coAdei99dAsoI25ifdTheffItalianlanguageIThe9 leitalian.dtx^23 Itde nesallthelanguage-spGeci cmacrosfortheItalian Ilanguage.XF*or8thislanguagethe\clubpenalty,q\widowpenaltyand\finalhyphendemeritsIareUUsettoratherhighvqalues.XThemacro\LdfInittakescareofpreventingthatthis leisloadedmorethanIonce,UUcheckingthecategorycoGdeofthe@sign,etc. B25.1ShcoAdei B25.2S\LdfInit{italian}{captionsitalian}XWhen[this leisreadasanoption,i.e.bythe\usepackagecommand,italianIwillBbGean`unknown'languageinwhichcasewehavetomakeitknown.?SoweIcheck&Jfortheexistenceof\l@italiantoseewhetherwehavetodosomethingIhere.B25.3S\ifx\l@italian\@undefinedB25.4f\@nopatterns{Italian}B25.5f\adddialect\l@italian0\fiXThemnextstepconsistsofde ningcommandstoswitchto(andfrom)theItalianIlanguage. \captionsitalianITheImacro\captionsitaliande nesallstringsusedinthefourstandarddoGcu-ImentclassesUUprovidedwithL5ffA͉TU>'ExX. B25.6S\addto\captionsitalian{%B25.7]\def\prefacename{Prefazione}%B25.8]\def\refname{Riferimentibibliografici}%B25.9]\def\abstractname{Sommario}%>Ë25.10]\def\bibname{Bibliografia}%>Ë25.11]\def\chaptername{Capitolo}%>Ë25.12]\def\appendixname{Appendice}%>Ë25.13]\def\contentsname{Indice}%>Ë25.14]\def\listfigurename{Elencodellefigure}%>Ë25.15]\def\listtablename{Elencodelletabelle}%>Ë25.16]\def\indexname{Indiceanalitico}%>Ë25.17]\def\figurename{Figura}%>Ë25.18]\def\tablename{Tabella}%>Ë25.19]\def\partname{Parte}%>Ë25.20]\def\enclname{Allegati}%>Ë25.21]\def\ccname{e~p.~c.}%>Ë25.22]\def\headtoname{Per}%>Ë25.23]\def\pagename{Pag.}%X%inItalianabbreviationispreferred>Ë25.24]\def\seename{vedi}%>Ë25.25]\def\alsoname{vedianche}%>Ë25.26]\def\proofname{Dimostrazione}%>Ë25.27]}b\dateitalianITheymacro\dateitalianrede nesthecommand\todaytoproGduceItaliandates. >Ë25.28S\def\dateitalian{%>Ë25.29S\def\today{\number\day~\ifcase\month\orIcnffr J=w-:23LThe ledescribË25.30]gennaio\orfebbraio\ormarzo\oraprile\ormaggio\orgiugno\or >Ë25.31]luglio\oragosto\orsettembre\orottobre\ornovembre\ordicembre\fi>Ë25.32]\space\number\year}}9\italianhyphenminsITheitalianhyphenationpatternscanbGeusedwithboth\lefthyphenminand I\righthyphenminUUsetto2.>Ë25.33S\def\italianhyphenmins{\tw@\tw@} 6\extrasitalian \noextrasitalianILowerUUthechancethatclubsorwidowsoGccur.>Ë25.34S\addto\extrasitalian{% >Ë25.35]\babel@savevariable\clubpenalty>Ë25.36]\babel@savevariable\widowpenalty>Ë25.37]\clubpenalty3000\widowpenalty3000}XNevereverbreakawordbGetweenthelasttwolinesofaparagraphinitalianItexts.>Ë25.38S\addto\extrasitalian{%>Ë25.39]\babel@savevariable\finalhyphendemerits>Ë25.40]\finalhyphendemerits50000000}XInX_ordertoenablethehyphenationofwordssuchas\bGegl'italiani"wegivethe'Ia}non-zerolower}casecoGde.BWhenwedothatTU>'ExX ndsthefollowinghyphenationIpGointsUUbe-gl'i-ta-lia-niinsteadofnone.>Ë25.41S\addto\extrasitalian{%>Ë25.42]\lccode`'=`'}>Ë25.43S\addto\noextrasitalian{%>Ë25.44]\lccode`'=0}XThemacro\ldf@finishtakescareofloGokingforacon guration le,settingIthefmainlanguagetobGeswitchedonat\begin{document}andresettingtheIcategoryUUcoGdeofr@toitsoriginalvqalue.>Ë25.45S\ldf@finish{italian}>Ë25.46Sh=coAdei101f soI26ifdTheffPortugueselanguageIThe leportuges.dtx^24 zde nesallthelanguage-spGeci cmacrosforthePor- ItugueseUUlanguageaswellasfortheBrasilianversionofthislanguage.XF*or:thislanguagethecharacter"ismadeactive.!Intable6anoverviewisIgivenUUofitspurpGose.UUd}pe"|_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ύXThemacro\LdfInittakescareofpreventingthatthis leisloadedmorethanIonce,UUcheckingthecategorycoGdeofthe@sign,etc. hKB26.1ShcoAdei B26.2S\LdfInit\CurrentOption{captions\CurrentOption}hKXWhenTVthis leisreadasanoption,i.e. nbythe\usepackagecommand,IportugesʲwillbGean`unknown'languageinwhichcasewehavetomakeitknown.ISocwecheckfortheexistenceof\l@portugestoseewhetherwehavetodosome-Ithinghere.GSinceitispGossibletoloadthis lewithanyofthefollowingfourIoptionstobabGel:"portuges,portuguese,brazilѲandbrazilianwealsoallowthattheIhyphenationlpatternsareloadedunderanyofthesefournames.W*ejusthavetoI ndUUoutwhichonewasused.ЖB26.3S\ifx\l@portuges\@undefinedB26.4]\ifx\l@portuguese\@undefinedB26.5f\ifx\l@brazil\@undefinedB26.6p2\ifx\l@brazilian\@undefinedB26.7yw^\@nopatterns{Portuguese}B26.8yw^\adddialect\l@portuges0B26.9p2\else>Ë26.10yw^\let\l@portuges\l@brazilian>Ë26.11p2\fi>Ë26.12f\else>Ë26.13p2\let\l@portuges\l@brazil>Ë26.14f\fi>Ë26.15]\else>Ë26.16f\let\l@portuges\portuguese>Ë26.17]\fi>Ë26.18S\fiЖIByR now\l@portugesisde ned.gWhenthelanguagede nition lewasloadedIunderadi erentnamewemakesurethatthehyphenationpatternscanbGefound.I ffr J=w-:24LThe> ledescribË26.19S\expandafter\ifx\csnamel@\CurrentOption\endcsname\relax >Ë26.20]\expandafter\let\csnamel@\CurrentOption\endcsname\l@portuges>Ë26.21S\fiXNowzwehavetodecidewhetherthislanguagede nition lewasloadedfor IPortuguese}sorBrasilianuse. !ThiscanbGedonebycheckingthecontentsofI\CurrentOption.3When@itdoGesn'tcontaineither`portuges'or`portuguese'weImakeUU\bbl@tempaempty*.>Ë26.22S\def\bbl@tempa{portuges} >Ë26.23S\ifx\CurrentOption\bbl@tempa>Ë26.24]\let\bbl@tempb\@empty>Ë26.25S\else>Ë26.26]\def\bbl@tempa{portuguese}>Ë26.27]\ifx\CurrentOption\bbl@tempa>Ë26.28f\let\bbl@tempb\@empty>Ë26.29]\else>Ë26.30f\def\bbl@tempb{brazil}>Ë26.31]\fi>Ë26.32S\fi>Ë26.33S\ifx\bbl@tempb\@emptyXThe/nextstepconsistsofde ningcommandstoswitchto(andfrom)thePor- ItugueseUUlanguage.t\captionsportugesIThePmacro\captionsportugesde nesallstringsusedinthefourstandarddoGc-IumentclassesUUprovidedwithL5ffA͉TU>'ExX.>Ë26.34]\@namedef{captions\CurrentOption}{% >Ë26.35f\def\prefacename{Pref\'acio}%>Ë26.36f\def\refname{Refer\^encias}%>Ë26.37f\def\abstractname{Resumo}%>Ë26.38f\def\bibname{Bibliografia}%>Ë26.39f\def\chaptername{Cap\'{\i}tulo}%>Ë26.40f\def\appendixname{Ap\^endice}%ISome\discussiontoGokplacearoundthecorrecttranslationsfor`T*ableofContents' Iand(`Index'.bthetranslationsdi erforPortugueseandBrasilianbasedthefollow-IingUUhistory:bThe:wholeissueisthatsomebGooks:withoutarealindexattheendbmisused7%theterm`N8xIndice'astableofcontents.gThen,=.what7%happGensisbthatsomebGooksapearedwith`N8xIndice'atthebegininganda`N8xIndicebRemissivo'Xattheend.{Remissivoisaredundantwordinthiscase,bbutwasintroGducedtomakeupthedi erence.6SoinBrasilpGeoplebstartedhusing`Sumario'and`N8xIndiceRemissivo'.JInPortugalthisseemsbnottobGeverycommon,thereforewechose`N8xIndice'insteadof`N8xIndicebRemissivo'.>Ë26.41f\def\contentsname{Conte\'udo}% >Ë26.42f\def\listfigurename{ListadeFiguras}%>Ë26.43f\def\listtablename{ListadeTabelas}%>Ë26.44f\def\indexname{\'Indice}%>Ë26.45f\def\figurename{Figura}%>Ë26.46f\def\tablename{Tabela}%>Ë26.47f\def\partname{Parte}%>Ë26.48f\def\enclname{Anexo}%103hso>Ë26.49f\def\ccname{Comc\'opiaa}% >Ë26.50f\def\headtoname{Para}%>Ë26.51f\def\pagename{P\'agina}%>Ë26.52f\def\seename{ver}%>Ë26.53f\def\alsoname{vertamb\'em}%6IAnUUalternatetermfor`ProGof'couldbe`Provqa'. >Ë26.54f\def\proofname{Demonstra\c{c}\~ao}%>Ë26.55f}^Q\dateportugesIThemacro\dateportugesrede nesthecommand\todaytoproGducePortuguese Idates.>Ë26.56]\@namedef{date\CurrentOption}{%>Ë26.57f\def\today{\number\day\spacede\space\ifcase\month\or>Ë26.58p2Janeiro\orFevereiro\orMar\c{c}o\orAbril\orMaio\orJunho\or>Ë26.59p2Julho\orAgosto\orSetembro\orOutubro\orNovembro\orDezembro>Ë26.60p2\fi>Ë26.61p2\spacede\space\number\year}}>Ë26.62S\else^QXF*orUUtheBrasilianversionofthesede nitionswejustadda\dialect".>Ë26.63]\expandafter\adddialect\csnamel@\CurrentOption\endcsname\l@portugesf\captionsbrazilIThe[\captions"aredi erentforbGothversionsofthelanguage,1\sowede nethe ImacroUU\captionsbrazilhere.>Ë26.64]\@namedef{captions\CurrentOption}{% >Ë26.65f\def\prefacename{Pref\'acio}%>Ë26.66f\def\refname{Refer\^encias}%>Ë26.67f\def\abstractname{Resumo}%>Ë26.68f\def\bibname{Refer\^enciasBibliogr\'aficas}%>Ë26.69f\def\chaptername{Cap\'{\i}tulo}%>Ë26.70f\def\appendixname{Ap\^endice}%>Ë26.71f\def\contentsname{Sum\'ario}%>Ë26.72f\def\listfigurename{ListadeFiguras}%>Ë26.73f\def\listtablename{ListadeTabelas}%>Ë26.74f\def\indexname{\'IndiceRemissivo}%>Ë26.75f\def\figurename{Figura}%>Ë26.76f\def\tablename{Tabela}%>Ë26.77f\def\partname{Parte}%>Ë26.78f\def\enclname{Anexo}%>Ë26.79f\def\ccname{C\'opiapara}%>Ë26.80f\def\headtoname{Para}%>Ë26.81f\def\pagename{P\'agina}%>Ë26.82f\def\seename{veja}%>Ë26.83f\def\alsoname{vejatamb\'em}%>Ë26.84f\def\proofname{Demonstra\c{c}\~ao}%>Ë26.85f}^Q L\datebrazilIThe macro\datebrazilrede nesthecommand\todaytoproGduceBrasilian Idates,UUforwhichthenamesofthemonthsarenotcapitalized.>Ë26.86]\@namedef{date\CurrentOption}{%>Ë26.87f\def\today{\number\day\spacede\space\ifcase\month\or>Ë26.88p2janeiro\orfevereiro\ormar\c{c}o\orabril\ormaio\orjunho\or>Ë26.89p2julho\oragosto\orsetembro\oroutubro\ornovembro\ordezembro104iso>Ë26.90p2\fi >Ë26.91p2\spacede\space\number\year}}>Ë26.92S\fiH\portugeshyphenminsISetUUcorrectvqaluesfor\lefthyphenminand\righthyphenmin.>Ë26.93S\@namedef{\CurrentOptionhyphenmins}{\tw@\tw@}f\extrasportuges t\noextrasportugesIThe Tmacro\extrasportugeswillpGerformalltheextrade nitionsneededforthe IPortugueserKlanguage.&Themacro\noextrasportugesisusedtocanceltheactionsIofUU\extrasportuges.XF*orTPortuguesethe"characterismadeactive.p\Thisisdoneonce,lateronIitszLde nitionmayvqary*.OtherlanguagesinthesamedoGcumentmayalsousetheI" characterforshorthands;d'wespGecifythattheportuguesegroupofshorthandsIshouldUUbGeused.>Ë26.94S\initiate@active@char{"} >Ë26.95S\@namedef{extras\CurrentOption}{\languageshorthands{portuges}}>Ë26.96S\expandafter\addto\csnameextras\CurrentOption\endcsname{%>Ë26.97]\bbl@activate{"}}>Ë26.98S%\addto\noextrasportuges{\bbl@deactivate{"}}IFirstUUwede neaccesstotheguillemetsforquotations,>Ë26.99S\declare@shorthand{portuges}{"<}{%:26.100]\textormath{\guillemotleft{}}{\mbox{\guillemotleft}}}:26.101S\declare@shorthand{portuges}{">}{%:26.102]\textormath{\guillemotright{}}{\mbox{\guillemotright}}}IthenHwede netwoshorthandstobGeabletospecifyhyphenationbreakpointsthat IbGehavewUUalittledi erentfrom\-.:26.103S\declare@shorthand{portuges}{"-}{\allowhyphens-\allowhyphens}:26.104S\declare@shorthand{portuges}{""}{\hskip\z@skip}IAndUUwewanttohaveashorthandfordisablingaligature.:26.105S\declare@shorthand{portuges}{"|}{%:26.106]\textormath{\discretionary{-}{}{\kern.03em}}{}}5>\-IAllޚthatisleftnowistherede nitionof\-.J4Thenewversionof\-shouldindicate IanextrahyphenationpGosition,twhileallowingotherhyphenationpGositionstobeIgeneratedautomatically*.ThestandardbGehaviourofTU>'ExXinthisrespectisveryIunfortunateT2forlanguagessuchasDutchandGerman,wherelongcompGoundwordsIarequitenormalandalloneneedsisameanstoindicateanextrahyphenationIpGositionontopoftheonesthatTU>'ExXcangeneratefromthehyphenationpatterns.:26.107S\expandafter\addto\csnameextras\CurrentOption\endcsname{% :26.108]\babel@save\-}:26.109S\expandafter\addto\csnameextras\CurrentOption\endcsname{%:26.110]\def\-{\allowhyphens\discretionary{-}{}{}\allowhyphens}},`\ord 1\ro '|\orda 1\raIW*etalsoprovideaneasywaytotypGesetordinals,{bothinthemale(\ordor\ro) IandUUthefemale(ordaor\ra)form.:26.111S\def\ord{$^{\rmo}$}:26.112S\def\orda{$^{\rma}$}:26.113S\let\ro\ord\let\ra\orda105jmsoXThemacro\ldf@finishtakescareofloGokingforacon guration le,setting IthefmainlanguagetobGeswitchedonat\begin{document}andresettingtheIcategoryUUcoGdeofr@toitsoriginalvqalue.:26.114S\ldf@finish\CurrentOption :26.115Sh=coAdei106ksoI27ifdTheffSpanishlanguageIThe lespanish.dtx^25 5de nesallthelanguagede nitionmacro'sfortheSpan- Iish^26 ;language.XThis_ le^27 $EincorpGoratestheresultofdiscussionsheldintheSpanish-TU>'ExX^28IelectronicUUmaillist.XF*orihthislanguagethecharacters'~and"aremadeactive.Intable7anIoverviewSisgivenoftheirpurpGose.TheseactiveaccentcharactersbGehaveaccordingrUUd}pe'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.ldf9Itotheiroriginalde nitionsifnotfollowedbyoneofthecharactersindicatedinIthatUUtable.XThisAoptionincludessuppGortforworkingwithextended,x8-bitfonts,xifavqailable.IOldNversionsofthis lebasedthissuppGortontheexistanceofspecialmacroswithInamesasinF*erguson'sML-TU>'ExX.9MThisisnolongerthecase.SuppGortisnowIbased0onprovidinganappropriatede nitionfortheaccentmacrosonentrytoItheSpanishlanguage.ThisisautomaticallydonebyL5ffA͉TU>'ExX2"-orNFSS2.IfT1IencoGdingқischosen,andprovidedthatadequatehyphenationpatterns^29 Kexist,itIX-ffr J=w-:25LThe | ledescribw-:26LCatalanXusedtob'ExX2"*.toloadthepackqaget1encwith\usepackage.IThisUUmustbGedonebeforeloadingxbabel.XIf thecombinationofkeybGoardandTU>'ExXversionthattheuserhasisabletoIproGducetheaccentedcharactersintheT1enconding,~theusercouldseetheac-Icentedcharactersintheeditor,\greatlyimprovingthereadabilityofthedoGcumentIsource.pAsRoftoGday*,SGthisisnotarecommendedmethodforproducingdocumentsIfordistribution,#GalthoughitispGossibletomechanicallytranslatethedocumentsoIthat thereceivercanmakeuseofit.NIfcareistakentode netheencoGdingneededIbyUUthedoGcument,theresultsareprettypGortable.XThis18option lewillautomaticallydetectiftheT1encoGdingisbeingusedandIbGehaveHappropriately*.mIfanyotherencodingisbeingused,KtheaccentmacroswillIbGeUUrede nedtoallowhyphenationontheaccentedwords.XThemacro\LdfInittakescareofpreventingthatthis leisloadedmorethanIonce,UUcheckingthecategorycoGdeofthe@sign,etc. 򍍑B27.1ShcoAdei B27.2S\LdfInit{spanish}\captionsspanishXWhen[this leisreadasanoption,i.e.bythe\usepackagecommand,spanishIcouldz"bGean`unknown'languageinwhichcasewehavetomakeitknown./SoweIcheck&Jfortheexistenceof\l@spanishtoseewhetherwehavetodosomethingIhere.卍B27.3S\ifx\l@spanish\@undefinedB27.4]\@nopatterns{Spanish}B27.5]\adddialect\l@spanish0B27.6S\fi卑XThe nextstepconsistsofde ningcommandstoswitchto(andfrom)theSpan-IishUUlanguage.׍ \captionsspanishIThemacro\captionsspanishde nesallstrings^30 ~usedinthefourstandarddoGc-IumentclassesUUprovidedwithL5ffA͉TU>'ExX. 򍍑B27.7S\addto\captionsspanish{%B27.8]\def\prefacename{Prefacio}%B27.9]\def\refname{Referencias}%>Ë27.10]\def\abstractname{Resumen}%>Ë27.11]\def\bibname{Bibliograf\'{\i}a}%>Ë27.12]\def\chaptername{Cap\'{\i}tulo}%>Ë27.13]\def\appendixname{Ap\'endice}%>Ë27.14]\def\contentsname{\'IndiceGeneral}%>Ë27.15]\def\listfigurename{\'IndicedeFiguras}%>Ë27.16]\def\listtablename{\'IndicedeTablas}%>Ë27.17]\def\indexname{\'IndicedeMaterias}%>Ë27.18]\def\figurename{Figura}%>Ë27.19]\def\tablename{Tabla}%>Ë27.20]\def\partname{Parte}%>Ë27.21]\def\enclname{Adjunto}%I^Kffr @toryՃsrc/TeX/spanish.lTheJlistofFJrequenÎtlyAskedQuestionswithAnswersabw-:30LThe?accenÎtontheuppË27.22]\def\ccname{Copiaa}% >Ë27.23]\def\headtoname{A}%>Ë27.24]\def\pagename{P\'agina}%>Ë27.25]\def\seename{v\'ease}%>Ë27.26]\def\alsoname{v\'easetambi\'en}%>Ë27.27]\def\proofname{Demostraci\'on}%>Ë27.28]}%b\datespanishIThemacro\datespanishrede nesthecommand\todaytoproGduceSpanish^31 Idates.>Ë27.29S\def\datespanish{%>Ë27.30S\def\today{\number\day~de\space\ifcase\month\or>Ë27.31]enero\orfebrero\ormarzo\orabril\ormayo\orjunio\or>Ë27.32]julio\oragosto\orseptiembre\oroctubre\ornoviembre\ordiciembre\fi>Ë27.33]\spacede~\number\year}} 6\extrasspanish \noextrasspanishIThemacro\extrasspanishwillpGerformalltheextrade nitionsneededforthe ISpanishSFlanguage.qThemacro\noextrasspanishisusedtocanceltheactionsofI\extrasspanish.|=F*orXSpanish,Ysomecharactersaremadeactiveorarerede ned.IInIparticular,the"character,the'characterandthe~characterreceivenewImeanings.qThereforeUUthesecharactershavetobGetreatedas`special'characters.>Ë27.34S\addto\extrasspanish{\languageshorthands{spanish}} >Ë27.35S\initiate@active@char{"}>Ë27.36S\initiate@active@char{~}>Ë27.37S\addto\extrasspanish{%>Ë27.38]\bbl@activate{"}%>Ë27.39]\bbl@activate{~}}>Ë27.40S\@ifpackagewith{babel}{activeacute}{%>Ë27.41]\initiate@active@char{'}}{}>Ë27.42S\@ifpackagewith{babel}{activeacute}{%>Ë27.43]\addto\extrasspanish{\bbl@activate{'}}}{}>Ë27.44S%\addto\noextrasspanish{>Ë27.45S% s,\bbl@deactivate{"}\bbl@deactivate{~}\bbl@deactivate{'}}XApart fromtheactivecharacterssomeothermacrosgetanewde nition. IThereforeUUwestorethecurrentonetobGeabletorestorethemlater.>Ë27.46S\addto\extrasspanish{%>Ë27.47]\babel@save\"%>Ë27.48]\babel@save\~%>Ë27.49]\def\"{\protect\@umlaut}%>Ë27.50]\def\~{\protect\@tilde}}>Ë27.51S\@ifpackagewith{babel}{activeacute}{%>Ë27.52]\babel@save\'>Ë27.53]\addto\extrasspanish{\def\'{\protect\@acute}}>Ë27.54]}{}9\spanishhyphenminsISpanishUUhyphenationuses\lefthyphenminand\righthyphenminbGothsetto2.>Ë27.55S\def\spanishhyphenmins{\tw@\tw@}Iffffr J=w-:31LMonÎths&farewrittenlowercased.IThishasb'ExX\accentprimitiveusingsomeparticularaccentthatthefontprovidesIor7mightcheckifacombinedaccentexistsinthefont.lThesetwocaseshappGenIwithrespGectivelyOT1andT1encodings.OF*orthisreasonwesavethede nitionofI\"Zandusethatinthede nitionofothermacros.+W*edolikewisefor\'and\~.ITheIpresentcoGdingofthisoption leisincorrectinthatitcanbreakwhentheIencoGdingZchanges.W*edonotuse\acuteor\tildeasthemacronamesbecauseItheyUUarealreadyde nedas\mathaccent. u>Ë27.56S\let\dieresis\" >Ë27.57S\let\texttilde\~>Ë27.58S\@ifpackagewith{babel}{activeacute}{\let\textacute\'}{}`y\@umlaut 3P\@acute 3P\@tildeIW*echecktheencoGdingandifnotusingT1,wemaketheaccentsexpandbut Ienabling}hyphenationbGeyondtheaccent.'ExX.AnIunsolvedSproblemhereisthattheencoGdingcanchangeatanytime.Thede nitionsIbGelow0aremadeinsuchawaythatachangebGetweentwo256-charencoGdingsIaresuppGorted,fbutchangesbetweena128-charanda256-charencoGdingarenotIpropGerlysupported./cW*echeckifT1isinuse./cIfnot,VwewillgiveawarningandIproGceedrede ningtheaccentmacrossothatTU>'ExXatleast ndsthebreaksthatIareUUnottoGoclosetotheaccent.qThewarningwillonlybGeprintedtothelog le.>Ë27.59S\ifx\DeclareFontShape\@undefined >Ë27.60]\wlog{Warning:YouareusinganoldLaTeX}>Ë27.61]\wlog{Somewordbreakswillnotbefound.}>Ë27.62]\def\@umlaut#1{\allowhyphens\dieresis{#1}\allowhyphens}>Ë27.63]\def\@tilde#1{\allowhyphens\texttilde{#1}\allowhyphens}>Ë27.64]\@ifpackagewith{babel}{activeacute}{%>Ë27.65f\def\@acute#1{\allowhyphens\textacute{#1}\allowhyphens}}{}>Ë27.66S\else>Ë27.67]\edef\next{T1}>Ë27.68]\ifx\f@encoding\next>Ë27.69f\let\@umlaut\dieresis>Ë27.70f\let\@tilde\texttilde>Ë27.71f\@ifpackagewith{babel}{activeacute}{%>Ë27.72p2\let\@acute\textacute}{}>Ë27.73]\else>Ë27.74f\wlog{Warning:Youareusingencoding\f@encoding\space>Ë27.75p2insteadofT1.}>Ë27.76f\wlog{Somewordbreakswillnotbefound.}>Ë27.77f\def\@umlaut#1{\allowhyphens\dieresis{#1}\allowhyphens}>Ë27.78f\def\@tilde#1{\allowhyphens\texttilde{#1}\allowhyphens}>Ë27.79f\@ifpackagewith{babel}{activeacute}{%>Ë27.80p2\def\@acute#1{\allowhyphens\textacute{#1}\allowhyphens}}{}>Ë27.81]\fi>Ë27.82S\fi`XNowUUwecande neourshorthands:qtheumlauts,>Ë27.83S\declare@shorthand{spanish}{"u}{\@umlautu}>Ë27.84S\declare@shorthand{spanish}{"U}{\@umlautU}uIfrenchUUquotes,110oso>Ë27.85S\declare@shorthand{spanish}{"<}{% >Ë27.86]\textormath{\guillemotleft{}}{\mbox{\guillemotleft}}}>Ë27.87S\declare@shorthand{spanish}{">}{%>Ë27.88]\textormath{\guillemotright{}}{\mbox{\guillemotright}}}Iordinals^32x,>Ë27.89S\declare@shorthand{spanish}{"o}{%>Ë27.90]\leavevmode\raise1ex\hbox{\underbar{\scriptsizeo}}}>Ë27.91S\declare@shorthand{spanish}{"a}{%>Ë27.92]\leavevmode\raise1ex\hbox{\underbar{\scriptsizea}}}IacuteUUaccents,>Ë27.93S\@ifpackagewith{babel}{activeacute}{%>Ë27.94]\declare@shorthand{spanish}{'a}{\textormath{\@acutea}{^{\prime}a}}>Ë27.95]\declare@shorthand{spanish}{'e}{\textormath{\@acutee}{^{\prime}e}}>Ë27.96]\declare@shorthand{spanish}{'i}{\textormath{\@acute\i{}}{^{\prime}i}}>Ë27.97]\declare@shorthand{spanish}{'o}{\textormath{\@acuteo}{^{\prime}o}}>Ë27.98]\declare@shorthand{spanish}{'u}{\textormath{\@acuteu}{^{\prime}u}}>Ë27.99]\declare@shorthand{spanish}{'A}{\textormath{\@acuteA}{^{\prime}A}}:27.100]\declare@shorthand{spanish}{'E}{\textormath{\@acuteE}{^{\prime}E}}:27.101]\declare@shorthand{spanish}{'I}{\textormath{\@acuteI}{^{\prime}I}}:27.102]\declare@shorthand{spanish}{'O}{\textormath{\@acuteO}{^{\prime}O}}:27.103]\declare@shorthand{spanish}{'U}{\textormath{\@acuteU}{^{\prime}U}}ItheUUacuteaccent,:27.104]\declare@shorthand{spanish}{''}{%:27.105f\textormath{\textquotedblright}{\sp\bgroup\prim@s'}}Itildes,:27.106]\declare@shorthand{spanish}{'n}{\textormath{\~n}{^{\prime}n}}:27.107]\declare@shorthand{spanish}{'N}{\textormath{\~N}{^{\prime}N}}:27.108]}{}:27.109S\declare@shorthand{spanish}{~n}{\textormath{\~n}{\@tilden}}:27.110S\declare@shorthand{spanish}{~N}{\textormath{\~N}{\@tildeN}}IandUUsomeadditionalcommands::27.111S\declare@shorthand{spanish}{"-}{\allowhyphens\-\allowhyphens}:27.112S\declare@shorthand{spanish}{"|}{%:27.113]\textormath{\penalty\@M\discretionary{-}{}{\kern.03em}%:27.114\allowhyphens}{}}:27.115S\declare@shorthand{spanish}{""}{\hskip\z@skip}XThemacro\ldf@finishtakescareofloGokingforacon guration le,setting IthefmainlanguagetobGeswitchedonat\begin{document}andresettingtheIcategoryUUcoGdeofr@toitsoriginalvqalue.:27.116S\ldf@finish{spanish} :27.117Sh=coAdeiIU3ffr J=w-:32LThePcoZF*renchUUrightdoublequotes(similarto>>).ui"-Zexplicit:Thyphensign,rallowinghyphenationintherestZofUUtheword.ui"|ZdisableUUligatureatthispGosition.|UTT*ableUU8:qExtrade nitionsmadeby lecatalan.ldf(activqatedbydefault)d}pe'e_acuteaccenteda,;allowinghyphenationintherestof_the word.fV*alidforthefollowingvowels:1e,7i,o,u_(bGothUUlowercaseanduppGercase).$}pe`a_gravehWaccenteda,allowinghyphenationintherest_oftheword.,V*alidforthefollowingvowels:(a, e,o_(bGothUUlowercaseanduppGercase).4IT*able9:UExtrade nitionsmadeby lecatalan.ldf(activqatedonlywhenusingItheUUoptionsactiveacuteandactivegrave)XThesewactiveaccentscharactersbGehaveaccordingtotheiroriginalde nitionsIifUUnotfollowedUUbyoneofthecharactersindicatedinthattable.IX-ffr J=w-:33LThe ledescribw-:34LPlease notethatiftheacuteaccenÎtcharacterisactive,itisnecessarytotakesp'ExX.B28.7S\addto\captionscatalan{%B28.8]\def\prefacename{Pr\`oleg}%B28.9]\def\refname{Refer\`encies}%>Ë28.10]\def\abstractname{Resum}%>Ë28.11]\def\bibname{Bibliografia}%>Ë28.12]\def\chaptername{Cap\'{\i}tol}%>Ë28.13]\def\appendixname{Ap\`endix}%>Ë28.14]\def\contentsname{\'Index}%>Ë28.15]\def\listfigurename{\'Indexdefigures}%>Ë28.16]\def\listtablename{\'Indexdetaules}%>Ë28.17]\def\indexname{\'Indexalfab\`etic}%>Ë28.18]\def\figurename{Figura}%>Ë28.19]\def\tablename{Taula}%>Ë28.20]\def\partname{Part}%>Ë28.21]\def\enclname{Adjunt}%>Ë28.22]\def\ccname{C\`opiesa}%>Ë28.23]\def\headtoname{A}%>Ë28.24]\def\pagename{P\`agina}%>Ë28.25]\def\seename{Vegeu}%>Ë28.26]\def\alsoname{Vegeutamb\'e}%>Ë28.27]\def\proofname{Demostraci\'o}%>Ë28.28S}b\datecatalanIThemacro\datecatalanrede nesthecommand\todaytoproGduceCatalanIdates.qMonthsUUarewritteninlowercase^35x.>Ë28.29S\def\datecatalan{%>Ë28.30]\def\today{\number\day~\ifcase\month\or>Ë28.31fdegener\ordefebrer\ordemar\c{c}\ord'abril\ordemaig\or>Ë28.32fdejuny\ordejuliol\ord'agost\ordesetembre\ord'octubre\or>Ë28.33fdenovembre\ordedesembre\fi>Ë28.34f\spacede~\number\year}}Iffffr J=w-:35LThisseemstob'ExXwill ndmorebreakpointsinwordsthatcontainthisIcharacterUUinitsr^oleasapGostrophe.>Ë28.35S\addto\extrascatalan{% >Ë28.36]\lccode`'=`'}>Ë28.37S\addto\noextrascatalan{%>Ë28.38]\lccode`'=0}XF*orCatalan,somecharactersaremadeactiveorarerede ned.Inparticular, Ithew"characterreceivesanewmeaning;thiscanalsohappGenforthe'characterIand"the`characterwhentheoptionsactivegraveand/oractiveacutearespGeci ed.>Ë28.39S\addto\extrascatalan{\languageshorthands{catalan}} >Ë28.40S\initiate@active@char{"}>Ë28.41S\addto\extrascatalan{\bbl@activate{"}}>Ë28.42S\@ifpackagewith{babel}{activegrave}{%>Ë28.43]\initiate@active@char{`}}{}>Ë28.44S\@ifpackagewith{babel}{activegrave}{%>Ë28.45]\addto\extrascatalan{\bbl@activate{`}}}{}>Ë28.46S\@ifpackagewith{babel}{activeacute}{%>Ë28.47]\initiate@active@char{'}}{}>Ë28.48S\@ifpackagewith{babel}{activeacute}{%>Ë28.49]\addto\extrascatalan{\bbl@activate{'}}}{}>Ë28.50S%\addto\noextrascatalan{%>Ë28.51S% s,\bbl@deactivate{"}>Ë28.52S% s,\bbl@deactivate{`}\bbl@deactivate{'}}XApart fromtheactivecharacterssomeothermacrosgetanewde nition. IThereforemwestorethecurrentonestobGeabletorestorethemlater.WhentheirIcurrentUUmeaningsaresaved,wecansafelyrede nethem.XW*eLprovidenewde nitionsfortheaccentmacroswhenoneorbGoithoftheIoptionsUUactivegraveoractiveacutewerespGeci ed.>Ë28.53S\addto\extrascatalan{% >Ë28.54]\babel@save\"%>Ë28.55]\def\"{\protect\@umlaut}}%>Ë28.56S\@ifpackagewith{babel}{activegrave}{%>Ë28.57]\babel@save\`%>Ë28.58]\addto\extrascatalan{\def\`{\protect\@grave}}>Ë28.59]}{}>Ë28.60S\@ifpackagewith{babel}{activeacute}{%>Ë28.61]\babel@save\'%>Ë28.62]\addto\extrascatalan{\def\'{\protect\@acute}}>Ë28.63]}{}XAll!thecoGdeabove!isnecessarybecauseweneedafewextraactivecharacters. ITheseUUcharactersarethenusedasindicatedintables8and9.$\dieresis\textacute\textgraveITheoriginalde nitionof\"isstoredas\dieresis,bGecausethede nitionofI\"mightnotbGethedefaultplainTU>'ExXone.[IftheuserusesCPostScriptfontsIwiththeAdobGefontencodingthe"characterisnotinthesamepositionasinIKnuth's}pfontencoGding.Inthiscase\"willnotbede nedas\accent"7F?1,vbut114s5soIas@\accent'310?#1.jSomethingsimilarhappGenswhenusingfontsthatfollowthe ICorkقencoGding.NF*orthisreasonwesavethede nitionof\"andusethatintheIde nitionUUofothermacros.qW*edolikewisefor\`,and\'.>Ë28.64S\let\dieresis\" >Ë28.65S\@ifpackagewith{babel}{activegrave}{\let\textgrave\`}{}>Ë28.66S\@ifpackagewith{babel}{activeacute}{\let\textacute\'}{}y\@umlaut 3P\@acute 3P\@graveIW*echecktheencoGdingandifnotusingT1,wemaketheaccentsexpandbut Ienabling}hyphenationbGeyondtheaccent.'ExX.AnIunsolvedSproblemhereisthattheencoGdingcanchangeatanytime.Thede nitionsIbGelow0aremadeinsuchawaythatachangebGetweentwo256-charencoGdingsIaresuppGorted,fbutchangesbetweena128-charanda256-charencoGdingarenotIpropGerlysupported./cW*echeckifT1isinuse./cIfnot,VwewillgiveawarningandIproGceedrede ningtheaccentmacrossothatTU>'ExXatleast ndsthebreaksthatIareUUnottoGoclosetotheaccent.qThewarningwillonlybGeprintedtothelog le.>Ë28.67S\ifx\DeclareFontShape\@undefined >Ë28.68]\wlog{Warning:YouareusinganoldLaTeX}>Ë28.69]\wlog{Somewordbreakswillnotbefound.}>Ë28.70]\def\@umlaut#1{\allowhyphens\dieresis{#1}\allowhyphens}>Ë28.71]\@ifpackagewith{babel}{activeacute}{%>Ë28.72f\def\@acute#1{\allowhyphens\textacute{#1}\allowhyphens}}{}>Ë28.73]\@ifpackagewith{babel}{activegrave}{%>Ë28.74f\def\@grave#1{\allowhyphens\textgrave{#1}\allowhyphens}}{}>Ë28.75S\else>Ë28.76]\edef\next{T1}>Ë28.77]\ifx\f@encoding\next>Ë28.78f\let\@umlaut\dieresis>Ë28.79f\@ifpackagewith{babel}{activeacute}{%>Ë28.80p2\let\@acute\textacute}{}>Ë28.81f\@ifpackagewith{babel}{activegrave}{%>Ë28.82p2\let\@grave\textgrave}{}>Ë28.83]\else>Ë28.84f\wlog{Warning:Youareusingencoding\f@encoding\space>Ë28.85p2insteadofT1.}>Ë28.86f\wlog{Somewordbreakswillnotbefound.}>Ë28.87f\def\@umlaut#1{\allowhyphens\dieresis{#1}\allowhyphens}>Ë28.88f\@ifpackagewith{babel}{activeacute}{%>Ë28.89p2\def\@acute#1{\allowhyphens\textacute{#1}\allowhyphens}}{}>Ë28.90f\@ifpackagewith{babel}{activegrave}{%>Ë28.91p2\def\@grave#1{\allowhyphens\textgrave{#1}\allowhyphens}}{}>Ë28.92]\fi>Ë28.93S\fiIIftheusersetuphasextendedfonts,=theF*ergusonmacrosarerequiredtobGe Ide ned.TW*eQcheckfortheirexistanceand,ifde ned,expandtowhatevertheyareIde ned+to.cF*orinstance,4\'awouldcheckfortheexistanceofa\@ac@amacro.cItIisgassumedtoexpandtothecoGdeoftheaccentedletter.Ifitisnotde ned,weIassumedthatnoextendedcoGdesareavqailableandexpandtotheoriginalde nitionIbutnenablinghyphenationbGeyondtheaccent.PThisisasbGestaswecando.PItisIbGetter`ifyouhaveextendedfontsorML-TU>'ExXbGecausethehyphenationalgorithmIcan:workonthewholeword.vThefollowingmacrosaredirectlyderivedfrom115tCsoIML-TU>'ExX.^36⍑XNow0wecande neourshorthands:_|thediaeresisand\elageminada"suppGort, >Ë28.94S\declare@shorthand{catalan}{"i}{\textormath{\@umlaut\i}{\ddot\imath}} >Ë28.95S\declare@shorthand{catalan}{"l}{\lgem{}}>Ë28.96S\declare@shorthand{catalan}{"u}{\textormath{\@umlautu}{\ddotu}}>Ë28.97S\declare@shorthand{catalan}{"I}{\textormath{\@umlautI}{\ddotI}}>Ë28.98S\declare@shorthand{catalan}{"L}{\Lgem{}}>Ë28.99S\declare@shorthand{catalan}{"U}{\textormath{\@umlautU}{\ddotU}}Icedille,:28.100S\declare@shorthand{catalan}{"c}{\textormath{\cc}{^{\prime}c}}:28.101S\declare@shorthand{catalan}{"C}{\textormath{\cC}{^{\prime}C}}I`french'UUquotecharacters,:28.102S\declare@shorthand{catalan}{"<}{%:28.103]\textormath{\guillemotleft{}}{\mbox{\guillemotleft}}}:28.104S\declare@shorthand{catalan}{">}{%:28.105]\textormath{\guillemotright{}}{\mbox{\guillemotright}}}IgraveUUaccents,:28.106S\@ifpackagewith{babel}{activegrave}{%:28.107]\declare@shorthand{catalan}{`a}{\textormath{\@gravea}{\gravea}}:28.108]\declare@shorthand{catalan}{`e}{\textormath{\@gravee}{\gravee}}:28.109]\declare@shorthand{catalan}{`o}{\textormath{\@graveo}{\graveo}}:28.110]\declare@shorthand{catalan}{`A}{\textormath{\@graveA}{\graveA}}:28.111]\declare@shorthand{catalan}{`E}{\textormath{\@graveE}{\graveE}}:28.112]\declare@shorthand{catalan}{`O}{\textormath{\@graveO}{\graveO}}:28.113]\declare@shorthand{catalan}{``}{\textquotedblleft}:28.114]}{}IacuteUUaccents,:28.115S\@ifpackagewith{babel}{activeacute}{%:28.116]\declare@shorthand{catalan}{'a}{\textormath{\@acutea}{^{\prime}a}}:28.117]\declare@shorthand{catalan}{'e}{\textormath{\@acutee}{^{\prime}e}}:28.118]\declare@shorthand{catalan}{'i}{\textormath{\@acute\i{}}{^{\prime}i}}:28.119]\declare@shorthand{catalan}{'o}{\textormath{\@acuteo}{^{\prime}o}}:28.120]\declare@shorthand{catalan}{'u}{\textormath{\@acuteu}{^{\prime}u}}:28.121]\declare@shorthand{catalan}{'A}{\textormath{\@acuteA}{^{\prime}A}}:28.122]\declare@shorthand{catalan}{'E}{\textormath{\@acuteE}{^{\prime}E}}:28.123]\declare@shorthand{catalan}{'I}{\textormath{\@acuteI}{^{\prime}I}}:28.124]\declare@shorthand{catalan}{'O}{\textormath{\@acuteO}{^{\prime}O}}:28.125]\declare@shorthand{catalan}{'U}{\textormath{\@acuteU}{^{\prime}U}}:28.126]\declare@shorthand{catalan}{'|}{%:28.127f\textormath{\csnamenormal@char\string'\endcsname}{^{\prime}}}ItheUUacuteaccent,:28.128]\declare@shorthand{catalan}{''}{%:28.129f\textormath{\textquotedblright}{\sp\bgroup\prim@s'}}:28.130]}{}IXQffr J=w-:36LAproblemLisp\-IAll4$thatisleftnowistherede nitionof\-.5Thenewversionof\-shouldin- Idicate^anextrahyphenationpGosition,`whileallowingotherhyphenationpGositionsIto[bGegeneratedautomatically*.tThestandardbehaviourofTU>'ExXinthisrespectIisrunfortunateforCatalanbutnotasmuchrasforDutchorGerman,wherelongIcompGoundHwordsarequitenormalandalloneneedsisameanstoindicateanIextra'ExXcangeneratefromtheIhyphenationCSpatterns.;However,~theaveragelengthofwordsinCatalanmakesIthisUUdesirableandsoitiskepthere.:28.135S\addto\extrascatalan{% :28.136]\babel@save{\-}%:28.137]\def\-{\allowhyphens\discretionary{-}{}{}\allowhyphens}}'|\lgem '|\LgemIHerewede neamacrofortypingthecatalan\elageminada"(geminatedl). IThemacros\lgemand\LgemhavebGeenchosenforitslowercaseanduppGercaseIrepresentation,UUrespGectively^37x.XThemcoGdeusedintheactualmacrousedisacombinationoftheoneproposedbyIF*eruglio]andFuster^38 CandthepropGosal^39fromV*alientepresentedattheTU>'ExXUsersIGroup=AnnualMeetingin1995.0jThislastpropGosalhasnotbeenfullyimplementedIdueUUtoitslimitationtoCMfonts.:28.138S\newdimen\leftllkern\newdimen\rightllkern\newdimen\raiselldim :28.139S\def\lgem{%:28.140]\ifmmode:28.141f\csnamenormal@char\string"\endcsnamel%:28.142]\else:28.143f\leftllkern=0pt\rightllkern=0pt\raiselldim=0pt%:28.144f\setbox0\hbox{l}\setbox1\hbox{l\/}\setbox2\hbox{.}%:28.145f\advance\raiselldimby\the\fontdimen5\the\font:28.146f\advance\raiselldimby-\ht2%:28.147f\leftllkern=-.25\wd0%:28.148f\advance\leftllkernby\wd1%:28.149f\advance\leftllkernby-\wd0%:28.150f\rightllkern=-.25\wd0%:28.151f\advance\rightllkernby-\wd1%:28.152f\advance\rightllkernby\wd0%:28.153f\allowhyphens\discretionary{l-}{l}%:28.154f{\hbox{l}\kern\leftllkern\raise\raiselldim\hbox{.}%:28.155p2\kern\rightllkern\hbox{l}}\allowhyphens:28.156]\fi:28.157]}:28.158S\def\Lgem{%:28.159]\ifmmode:28.160f\csnamenormal@char\string"\endcsnameL%Iffffr J=w-:37LThe macronames\lland\LL wÎerenottakenbw-:38LG.XVJalienÎteandR.Fuster,TÎyp'ExX. ٍB29.6S\addto\captionsgalician{%B29.7]\def\prefacename{Prefacio}%B29.8]\def\refname{Referencias}%B29.9]\def\abstractname{Resumo}%>Ë29.10]\def\bibname{Bibliograf\'{\i}a}%>Ë29.11]\def\chaptername{Cap\'{\i}tulo}%>Ë29.12]\def\appendixname{Ap\'endice}%I>ffr J=w-:41LThe | ledescribË29.13]\def\contentsname{\'IndiceXeral}% >Ë29.14]\def\listfigurename{\'IndicedeFiguras}%>Ë29.15]\def\listtablename{\'IndicedeT\'aboas}%>Ë29.16]\def\indexname{\'IndicedeMaterias}%>Ë29.17]\def\figurename{Figura}%>Ë29.18]\def\tablename{T\'aboa}%>Ë29.19]\def\partname{Parte}%>Ë29.20]\def\enclname{Adxunto}%>Ë29.21]\def\ccname{Copiaa}%>Ë29.22]\def\headtoname{A}%>Ë29.23]\def\pagename{P\'axina}%>Ë29.24]\def\seename{v\'exase}%>Ë29.25]\def\alsoname{v\'exasetam\'en}%>Ë29.26]\def\proofname{Proof}% s,<--NeedsTranslation!>Ë29.27S}\dategalicianIThe+macro\dategalicianrede nesthecommand\todaytoproGduceGalician Idates.>Ë29.28S\def\dategalician{%>Ë29.29]\def\today{\number\day~de\space\ifcase\month\or>Ë29.30fxaneiro\orfebreiro\ormarzo\orabril\ormaio\orxu\~no\or>Ë29.31fxullo\oragosto\orsetembro\oroutubro\ornovembro\ordecembro\fi>Ë29.32f\spacede~\number\year}}f\extrasgalician t\noextrasgalicianIThe Tmacro\extrasgalicianwillpGerformalltheextrade nitionsneededforthe IGalicianlanguage.f?Themacro\noextrasgalicianisusedtocanceltheactionsIofUU\extrasgalician.XF*orjGalician,osomecharactersaremadeactiveorarerede ned.XInparticular,Ithe"characterandthe~characterreceivenewmeaningsthiscanalsohappGenforItheUU'characterwhentheoptionactiveacuteisspGeci ed.>Ë29.33S\addto\extrasgalician{\languageshorthands{galician}} >Ë29.34S\initiate@active@char{"}>Ë29.35S\initiate@active@char{~}>Ë29.36S\addto\extrasgalician{%>Ë29.37]\bbl@activate{"}\bbl@activate{~}}>Ë29.38S\@ifpackagewith{babel}{activeacute}{%>Ë29.39]\initiate@active@char{'}}{}>Ë29.40S\@ifpackagewith{babel}{activeacute}{%>Ë29.41]\addto\extrasgalician{\bbl@activate{'}}}{}>Ë29.42S%\addto\noextrasgalician{%>Ë29.43S% s,\bbl@deactivate{"}\bbl@deactivate{~}\bbl@deactivate{'}}XApart fromtheactivecharacterssomeothermacrosgetanewde nition. IThereforeUUwestorethecurrentonetobGeabletorestorethemlater.>Ë29.44S\addto\extrasgalician{%>Ë29.45]\babel@save\"\babel@save\~%>Ë29.46]\def\"{\protect\@umlaut}%>Ë29.47]\def\~{\protect\@tilde}}>Ë29.48S\@ifpackagewith{babel}{activeacute}{%>Ë29.49]\babel@save\'%>Ë29.50]\addto\extrasgalician{\def\'{\protect\@acute}}>Ë29.51]}{}120yPsoXAll!thecoGdeabove!isnecessarybecauseweneedafewextraactivecharacters. ITheseUUcharactersarethenusedasindicatedintable10.XThiskoptionincludessomesuppGortforworkingwithextended,#8-bitfonts,#ifIavqailable.@Thisassumesthattheuserhassomemacrosprede ned.F*orinstance,`ifIthe9wuserhasa\@ac@amacrode ned,? thesequence\'aor'awillbGothexpandtoIwhatever'\@ac@aisde nedtoexpand,1 presumablyKa.bThenamesofthesemacrosIarethesameasthoseinF*erguson'sML-TU>'ExXcompatibilitypackqageonpurpGose.IUsingwthismethoGd,@andprovidedthatadequatehyphenationpatternsexist,@itisIpGossibletogetbetterhyphenationforGalicianthanbefore.IftheuserhasaIterminalabletoproGducethesecodesdirectly*,itispossibletodoso.bIftheneedIarisesEtosendthedoGcumenttosomeonewhodoesnothaveEsuchsuppGort,itisIpGossibletomechanicallytranslatethedocumentsothatthereceivercanmakeuseIofUUit.XT*obGeabletode nethefunctionofthenewaccents,Ҥwe rstde neacoupleIofUU`suppGort'macros.$\dieresis\textacute\texttildeITheoriginalde nitionof\"isstoredas\dieresis,bGecausethede nitionofI\"mightnotbGethedefaultplainTU>'ExXone.[IftheuserusesCPostScriptfontsIwiththeAdobGefontencodingthe"characterisnotinthesamepositionasinIKnuth'sfontencoGding.]Inthiscase\"willnotbede nedas\accent"7F?#1,% butIas@\accent'310?#1.jSomethingsimilarhappGenswhenusingfontsthatfollowtheICorkقencoGding.NF*orthisreasonwesavethede nitionof\"andusethatintheIde nitionUUofothermacros.qW*edolikewisefor\'and\~.>Ë29.52S\let\dieresis\" >Ë29.53S\let\texttilde\~>Ë29.54S\@ifpackagewith{babel}{activeacute}{\let\textacute\'}{}y\@umlaut 3P\@acute 3P\@tildeIIftheusersetuphasextendedfonts,=theF*ergusonmacrosarerequiredtobGe Ide ned.TW*eQcheckfortheirexistanceand,ifde ned,expandtowhatevertheyareIde ned+to.cF*orinstance,4\'awouldcheckfortheexistanceofa\@ac@amacro.cItIisgassumedtoexpandtothecoGdeoftheaccentedletter.Ifitisnotde ned,weIassumedthatnoextendedcoGdesareavqailableandexpandtotheoriginalde nitionIbutnenablinghyphenationbGeyondtheaccent.PThisisasbGestaswecando.PItisIbGetter`ifyouhaveextendedfontsorML-TU>'ExXbGecausethehyphenationalgorithmIcan:workonthewholeword.vThefollowingmacrosaredirectlyderivedfromIML-TU>'ExX.^42>Ë29.55S\def\@umlaut#1{\allowhyphens\dieresis{#1}\allowhyphens} >Ë29.56S\def\@tilde#1{\allowhyphens\texttilde{#1}\allowhyphens}>Ë29.57S\@ifpackagewith{babel}{activeacute}{%>Ë29.58]\def\@acute#1{\allowhyphens\textacute{#1}\allowhyphens}}{}XNowUUwecande neourshorthands:qtheumlauts,>Ë29.59S\declare@shorthand{galician}{"-}{\allowhyphens-\allowhyphens}>Ë29.60S\declare@shorthand{galician}{"|}{\discretionary{-}{}{\kern.03em}}Iffffr J=w-:42LAproblemLispË29.61S\declare@shorthand{galician}{"u}{\@umlaut{u}} >Ë29.62S\declare@shorthand{galician}{"U}{\@umlaut{U}}Iordinals^43x,>Ë29.63S\declare@shorthand{galician}{"o}{%>Ë29.64]\leavevmode\raise1ex\hbox{\underbar{\scriptsizeo}}}>Ë29.65S\declare@shorthand{galician}{"a}{%>Ë29.66]\leavevmode\raise1ex\hbox{\underbar{\scriptsizea}}}IacuteUUaccents,>Ë29.67S\@ifpackagewith{babel}{activeacute}{%>Ë29.68]\declare@shorthand{galician}{'a}{\textormath{\@acutea}{^{\prime}a}}>Ë29.69]\declare@shorthand{galician}{'e}{\textormath{\@acutee}{^{\prime}e}}>Ë29.70]\declare@shorthand{galician}{'i}{\textormath{\@acute\i{}}{^{\prime}i}}>Ë29.71]\declare@shorthand{galician}{'o}{\textormath{\@acuteo}{^{\prime}o}}>Ë29.72]\declare@shorthand{galician}{'u}{\textormath{\@acuteu}{^{\prime}u}}>Ë29.73]\declare@shorthand{galician}{'A}{\textormath{\@acuteA}{^{\prime}A}}>Ë29.74]\declare@shorthand{galician}{'E}{\textormath{\@acuteE}{^{\prime}E}}>Ë29.75]\declare@shorthand{galician}{'I}{\textormath{\@acuteI}{^{\prime}I}}>Ë29.76]\declare@shorthand{galician}{'O}{\textormath{\@acuteO}{^{\prime}O}}>Ë29.77]\declare@shorthand{galician}{'U}{\textormath{\@acuteU}{^{\prime}U}}Itildes,>Ë29.78]\declare@shorthand{galician}{'n}{\textormath{\~n}{^{\prime}n}}>Ë29.79]\declare@shorthand{galician}{'N}{\textormath{\~N}{^{\prime}N}}ItheUUacuteaccent,>Ë29.80]\declare@shorthand{galician}{''}{%>Ë29.81f\textormath{\textquotedblright}{\sp\bgroup\prim@s'}}>Ë29.82]}{}>Ë29.83S\declare@shorthand{galician}{~n}{\textormath{\~n}{\@tilden}}>Ë29.84S\declare@shorthand{galician}{~N}{\textormath{\~N}{\@tildeN}}5>\-IAll4$thatisleftnowistherede nitionof\-.5Thenewversionof\-shouldin- Idicate^anextrahyphenationpGosition,`whileallowingotherhyphenationpGositionsItoCbGegeneratedautomatically*.%ThestandardbehaviourofTU>'ExXinthisrespectisIunfortunate<forGalicianbutnotasmuch<asforDutchorGerman,uwherelongIcompGoundHwordsarequitenormalandalloneneedsisameanstoindicateanIextra'ExXcangeneratefromtheIhyphenation patterns.However,QxtheaveragelengthofwordsinGalicianmakesIthisUUdesirableandsoitiskepthere.>Ë29.85S\addto\extrasgalician{% >Ë29.86]\babel@save{\-}%>Ë29.87]\def\-{\allowhyphens\discretionary{-}{}{}\allowhyphens}}XThemacro\ldf@finishtakescareofloGokingforacon guration le,setting IthefmainlanguagetobGeswitchedonat\begin{document}andresettingtheIcategoryUUcoGdeofr@toitsoriginalvqalue.>Ë29.88S\ldf@finish{galician} >Ë29.89Sh=coAdeiI5:ffr J=w-:43LThePco'ExX.B30.6S\addto\captionsromanian{%B30.7]\def\prefacename{Prefa\c{t}\u{a}}%B30.8]\def\refname{Bibliografie}%B30.9]\def\abstractname{Rezumat}%>Ë30.10]\def\bibname{Bibliografie}%>Ë30.11]\def\chaptername{Capitolul}%>Ë30.12]\def\appendixname{Anexa}%>Ë30.13]\def\contentsname{Cuprins}%>Ë30.14]\def\listfigurename{List\u{a}defiguri}%>Ë30.15]\def\listtablename{List\u{a}detabele}%>Ë30.16]\def\indexname{Glosar}%>Ë30.17]\def\figurename{Figura}%X%sauPlan\c{s}a>Ë30.18]\def\tablename{Tabela}%>Ë30.19]\def\partname{Partea}%>Ë30.20]\def\enclname{Anex\u{a}}%,%sauAnexe>Ë30.21]\def\ccname{Copie}%>Ë30.22]\def\headtoname{Pentru}%>Ë30.23]\def\pagename{Pagina}%>Ë30.24]\def\seename{Vezi}%>Ë30.25]\def\alsoname{Vezideasemenea}%>Ë30.26]\def\proofname{Demonstra\c{t}ie}%>Ë30.27]}%\dateromanianITheË30.28S\def\dateromanian{%>Ë30.29S\def\today{\number\day~\ifcase\month\or>Ë30.30]ianuarie\orfebruarie\ormartie\oraprilie\ormai\orIffffr J=w-:44LThe ledescribË30.31]iunie\oriulie\oraugust\orseptembrie\oroctombrie\or >Ë30.32]noiembrie\ordecembrie\fi>Ë30.33]\space\number\year}}f\extrasromanian t\noextrasromanianIThe Tmacro\extrasromanianwillpGerformalltheextrade nitionsneededforthe IRomanianנlanguage.GThemacro\noextrasromanianisusedtocanceltheactionsIof\extrasromanianF*orthemomentthesemacrosareemptybuttheyarede nedIforUUcompatibilitywiththeotherlanguagede nition les.>Ë30.34S\addto\extrasromanian{} >Ë30.35S\addto\noextrasromanian{}XThemacro\ldf@finishtakescareofloGokingforacon guration le,settingIthefmainlanguagetobGeswitchedonat\begin{document}andresettingtheIcategoryUUcoGdeofr@toitsoriginalvqalue.>Ë30.36S\ldf@finish{romanian} >Ë30.37Sh=coAdei124} soI31ifdTheffDanishlanguageIThe= ledanish.dtx^45 q#de nesallthelanguagede nitionmacrosfortheDanish Ilanguage.XF*orthislanguagethecharacter"ismadeactive.1Intable11anoverviewisIgivenUUofitspurpGose.Urd}pe"|_disableUUligatureatthispGosition.}pe"-_anexplicithyphensign,allowinghyphenationinthe_restUUoftheword.}pe""_likebh"-,butproGducingnohyphensign(forwordsthat_shouldKbreakatsomesignsuchas\entrada/salida."}pe"`_loweredUUdoubleleftquotes(loGokslike,,)}pe"'_normalUUdoublerightquotes}pe"<_forUUF*renchleftdoublequotes(similarto<<).}pe">_forUUF*renchrightdoublequotes(similarto>>).EqǍ#T*ableUU11:qTheextrade nitionsmadebyxdanish.ldf9XThemacro\LdfInittakescareofpreventingthatthis leisloadedmorethanIonce,UUcheckingthecategorycoGdeofthe@sign,etc.B31.1ShcoAdei B31.2S\LdfInit{danish}\captionsdanishXWhenHthis leisreadasanoption,i.e.Dbythe\usepackagecommand,danishIwillBbGean`unknown'languageinwhichcasewehavetomakeitknown.?SoweIcheckfortheexistenceof\l@danishtoseewhetherwehavetodosomethinghere.B31.3S\ifx\l@danish\@undefinedB31.4f\@nopatterns{Danish}B31.5f\adddialect\l@danish0\fiXTheIInextstepconsistsofde ningcommandstoswitchto(andfrom)theDanishIlanguage.f\captionsdanishIThemacro\captionsdanishde nesallstringsusedinthefourstandarddoGcu-ImentclassesUUprovidedwithL5ffA͉TU>'ExX.B31.6S\addto\captionsdanish{%B31.7]\def\prefacename{Forord}%B31.8]\def\refname{Litteratur}%B31.9]\def\abstractname{Resum\'e}%>Ë31.10]\def\bibname{Litteratur}%>Ë31.11]\def\chaptername{Kapitel}%>Ë31.12]\def\appendixname{Bilag}%>Ë31.13]\def\contentsname{Indhold}%>Ë31.14]\def\listfigurename{Figurer}%>Ë31.15]\def\listtablename{Tabeller}%>Ë31.16]\def\indexname{Indeks}%>Ë31.17]\def\figurename{Figur}%>Ë31.18]\def\tablename{Tabel}%>Ë31.19]\def\partname{Del}%Iffffr J=w-:45LThe ledescribË31.20]\def\enclname{Vedlagt}% >Ë31.21]\def\ccname{Kopitil}%,orXKopisendttil>Ë31.22]\def\headtoname{Til}%inletter>Ë31.23]\def\pagename{Side}%>Ë31.24]\def\seename{Se}%>Ë31.25]\def\alsoname{Seogs{\aa}}%>Ë31.26]\def\proofname{Bevis}%>Ë31.27]}% L\datedanishIThe]macro\datedanishrede nesthecommand\todaytoproGduceDanishdates. >Ë31.28S\def\datedanish{%>Ë31.29S\def\today{\number\day.~\ifcase\month\or>Ë31.30]januar\orfebruar\ormarts\orapril\ormaj\orjuni\or>Ë31.31]juli\oraugust\orseptember\oroktober\ornovember\ordecember\fi>Ë31.32]\space\number\year}}\extrasdanish f\noextrasdanishIThemacro\extrasdanishwillpGerformalltheextrade nitionsneededforthe IDanishulanguage.p'Themacro\noextrasdanishisusedtocanceltheactionsofI\extrasdanish.XDanishUUtypGesettingrequires\frencspacingtobeine ect.>Ë31.33S\addto\extrasdanish{\bbl@frenchspacing} >Ë31.34S\addto\noextrasdanish{\bbl@nonfrenchspacing}XF*orDanishthe"characterismadeactive.Thisisdoneonce,lateronitsIde nitionmayvqary*.+OtherlanguagesinthesamedoGcumentmayalsousethe"Icharacterforshorthands;qwespGecifythatthedanishgroupofshorthandsshouldIbGeUUused.>Ë31.35S\initiate@active@char{"}>Ë31.36S\addto\extrasdanish{\languageshorthands{danish}}>Ë31.37S\addto\extrasdanish{\bbl@activate{"}}>Ë31.38S%\addto\noextrasdanish{\bbl@deactivate{"}}XFirst?wede neaccesstothelowopGeningdoublequoteandguillemetsforIquotations,>Ë31.39S\declare@shorthand{danish}{"`}{%>Ë31.40]\textormath{\quotedblbase{}}{\mbox{\quotedblbase}}}>Ë31.41S\declare@shorthand{danish}{"'}{%>Ë31.42]\textormath{\textquotedblleft{}}{\mbox{\textquotedblleft}}}>Ë31.43S\declare@shorthand{danish}{"<}{%>Ë31.44]\textormath{\guillemotleft{}}{\mbox{\guillemotleft}}}>Ë31.45S\declare@shorthand{danish}{">}{%>Ë31.46]\textormath{\guillemotright{}}{\mbox{\guillemotright}}}Ithenhwwede netobGeabletospecifyhyphenationbreakpointsthatbehavehwalittleIdi erentUUfrom\-.>Ë31.47S\declare@shorthand{danish}{"-}{\allowhyphens-\allowhyphens}>Ë31.48S\declare@shorthand{danish}{""}{\hskip\z@skip}>Ë31.49S\declare@shorthand{danish}{"~}{\textormath{\leavevmode\hbox{-}}{-}}>Ë31.50S\declare@shorthand{danish}{"=}{\penalty\@M-\hskip\z@skip}IAndUUwewanttohaveashorthandfordisablingaligature.>Ë31.51S\declare@shorthand{danish}{"|}{%>Ë31.52]\textormath{\discretionary{-}{}{\kern.03em}}{}}126 soXThemacro\ldf@finishtakescareofloGokingforacon guration le,setting IthefmainlanguagetobGeswitchedonat\begin{document}andresettingtheIcategoryUUcoGdeofr@toitsoriginalvqalue.>Ë31.53S\ldf@finish{danish} >Ë31.54Sh=coAdei127)soI32ifdTheffNorwegianlanguageIThe lenorsk.dtx^46 ~de nesallthelanguagede nitionmacrosfortheNorwegian IlanguageUUaswellasforanewspGellingvqariant`nynorsk'forthislanguage.XF*orUUthislanguagecurrentlynospGecialde nitionsareneededoravqailable.XThemacro\LdfInittakescareofpreventingthatthis leisloadedmorethanIonce,UUcheckingthecategorycoGdeofthe@sign,etc.B32.1ShcoAdei B32.2S\LdfInit\CurrentOption{captions\CurrentOption}XWhenmacro\captionsnorskde nesallstringsusedinthefourstandarddoGcu-ImentclassesUUprovidedwithL5ffA͉TU>'ExX.B32.9]\def\captionsnorsk{% >Ë32.10f\def\prefacename{Forord}%>Ë32.11f\def\refname{Referanser}%>Ë32.12f\def\abstractname{Sammendrag}%>Ë32.13f\def\bibname{Bibliografi}%YorLitteraturoversikt>Ë32.14S%_orLitteraturorReferanser>Ë32.15f\def\chaptername{Kapittel}%>Ë32.16f\def\appendixname{Tillegg}%XorAppendiks>Ë32.17f\def\contentsname{Innhold}%>Ë32.18f\def\listfigurename{Figurer}% s,orFigurliste>Ë32.19f\def\listtablename{Tabeller}% s,orTabelliste>Ë32.20f\def\indexname{Register}%>Ë32.21f\def\figurename{Figur}%>Ë32.22f\def\tablename{Tabell}%>Ë32.23f\def\partname{Del}%>Ë32.24f\def\enclname{Vedlegg}%>Ë32.25f\def\ccname{Kopisendt}%>Ë32.26f\def\headtoname{Til}%inletterI&effr J=w-:46LThe ledescribË32.27f\def\pagename{Side}% >Ë32.28f\def\seename{Se}%>Ë32.29f\def\alsoname{Seogs\aa{}}%>Ë32.30f\def\proofname{Bevis}%>Ë32.31f}>Ë32.32S\elseXF*orUUthe`nynorsk'versionofthesede nitionswejustadda\dialect".>Ë32.33]\adddialect\l@nynorsk\l@norsk \captionsnynorskITheImacro\captionsnynorskde nesallstringsusedinthefourstandarddoGcu- Imentclasses]providedwithL5ffA͉TU>'ExX,_butusingadi erentspGellingthaninthecom-ImandUU\captionsnorsk.>Ë32.34]\def\captionsnynorsk{% >Ë32.35f\def\prefacename{Forord}%>Ë32.36f\def\refname{Referansar}%>Ë32.37f\def\abstractname{Samandrag}%>Ë32.38f\def\bibname{Litteratur}%orLitteraturoversyn>Ë32.39S%%XorReferansar>Ë32.40f\def\chaptername{Kapittel}%>Ë32.41f\def\appendixname{Tillegg}%,orAppendiks>Ë32.42f\def\contentsname{Innhald}%>Ë32.43f\def\listfigurename{Figurar}%orFigurliste>Ë32.44f\def\listtablename{Tabellar}%orTabelliste>Ë32.45f\def\indexname{Register}%>Ë32.46f\def\figurename{Figur}%>Ë32.47f\def\tablename{Tabell}%>Ë32.48f\def\partname{Del}%>Ë32.49f\def\enclname{Vedlegg}%>Ë32.50f\def\ccname{Kopisendt}%>Ë32.51f\def\headtoname{Til}%inletter>Ë32.52f\def\pagename{Side}%>Ë32.53f\def\seename{Sj\aa{}}%>Ë32.54f\def\alsoname{Sj\aa{}ogs\aa{}}%>Ë32.55f\def\proofname{Bevis}%>Ë32.56f}>Ë32.57S\fi\datenorskITheКmacro\datenorskrede nesthecommand\todaytoproGduceNorwegian Idates.>Ë32.58S\@namedef{date\CurrentOption}{%>Ë32.59]\def\today{\number\day.~\ifcase\month\or>Ë32.60fjanuar\orfebruar\ormars\orapril\ormai\orjuni\or>Ë32.61fjuli\oraugust\orseptember\oroktober\ornovember\ordesember>Ë32.62f\fi>Ë32.63f\space\number\year}}b\extrasnorsk 6\extrasnynorskIThemacro\extrasnorskwillpGerformalltheextrade nitionsneededforthe INorwegian)Klanguage.cThemacro\noextrasnorskisusedtocanceltheactionsofI\extrasnorsk.XNorwegianUUtypGesettingrequires\frencspacingtobeine ect.>Ë32.64S\@namedef{extras\CurrentOption}{\bbl@frenchspacing} >Ë32.65S\@namedef{noextras\CurrentOption}{\bbl@nonfrenchspacing}129 soXThemacro\ldf@finishtakescareofloGokingforacon guration le,setting IthefmainlanguagetobGeswitchedonat\begin{document}andresettingtheIcategoryUUcoGdeofr@toitsoriginalvqalue.>Ë32.66S\ldf@finish\CurrentOption >Ë32.67Sh=coAdei130'soI33ifdTheffSwedishlanguageIThe a leswedish.dtx^47 Gde nesallthelanguage-spGeci cmacrosfortheSwedish Ilanguage.XF*orthislanguagethecharacter"ismadeactive.1Intable12anoverviewisIgivenofitspurpGose. Theverticalplacementofthe"umlaut"insomeletterscanIbGeUUcontrolledthisway*.rUUdzf"a]\"a,UUalsoimplementedforA,oandO.zf"w]givesUa,UUalsoworksforuppGercaseletters.zf"ff]forfftobGehyphenatedasff-f,thisisalsoimple-]mentedUUforb,d,f,g,l,m,n,p,r,s,andt.zf"|]disableUUligatureatthispGosition.zf"-]anexplicithyphensign,allowinghyphenationinthe]restUUoftheword.zf""]like|"-,butproGducingnohyphensign(forcompGound]wordsUUwithhyphen,e.g.x-""y).zf"~]forUUacompGoundwordmarkwithoutabreakpoint.zf"=]foruacompGoundwordmarkwithabreakpoint,allow-]ingUUhyphenationinthecompGosingwords.WqǍT*ableUU12:qTheextrade nitionsmadebyxswedish.sty9XThemacro\LdfInittakescareofpreventingthatthis leisloadedmorethanIonce,UUcheckingthecategorycoGdeofthe@sign,etc.B33.1ShcoAdei B33.2S\LdfInit{swedish}\captionsswedishXWhen[this leisreadasanoption,i.e.bythe\usepackagecommand,swedishIwillBbGean`unknown'languageinwhichcasewehavetomakeitknown.?SoweIcheck&Jfortheexistenceof\l@swedishtoseewhetherwehavetodosomethingIhere.B33.3S\ifx\l@swedish\@undefinedB33.4f\@nopatterns{Swedish}B33.5f\adddialect\l@swedish0\fiXThe_nextstepconsistsofde ningcommandstoswitchtotheSwedishlanguage.IThereasonforthisisthatausermightwanttoswitchbackandforthbGetweenIlanguages. \captionsswedishITheImacro\captionsswedishde nesallstringsusedinthefourstandarddoGcu-ImentclassesUUprovidedwithL5ffA͉TU>'ExX.B33.6S\addto\captionsswedish{%B33.7]\def\prefacename{F\"orord}%B33.8]\def\refname{Referenser}%B33.9]\def\abstractname{Sammanfattning}%>Ë33.10]\def\bibname{Litteraturf\"orteckning}%>Ë33.11]\def\chaptername{Kapitel}%Iffffr J=w-:47LThen3 ledescribË33.12]\def\appendixname{Bilaga}% >Ë33.13]\def\contentsname{Inneh\csnameaa\endcsnamell}%>Ë33.14]\def\listfigurename{Figurer}%>Ë33.15]\def\listtablename{Tabeller}%>Ë33.16]\def\indexname{Sakregister}%>Ë33.17]\def\figurename{Figur}%>Ë33.18]\def\tablename{Tabell}%>Ë33.19]\def\partname{Del}%>Ë33.20]\def\enclname{Bil}%>Ë33.21]\def\ccname{Kopiaf\"ork\"annedom}%>Ë33.22]\def\headtoname{Till}%inletter>Ë33.23]\def\pagename{Sida}%>Ë33.24]\def\seename{se}%>Ë33.25]\def\alsoname{se\"aven}%>Ë33.26]\def\proofname{Bevis}%>Ë33.27]}%b\dateswedishIThemacro\dateswedishrede nesthecommand\todaytoproGduceSwedish Idates.>Ë33.28S\def\dateswedish{%>Ë33.29]\def\today{%>Ë33.30f\number\day~\ifcase\month\or>Ë33.31fjanuari\orfebruari\ormars\orapril\ormaj\orjuni\or>Ë33.32fjuli\oraugusti\orseptember\oroktober\ornovember\or>Ë33.33fdecember\fi>Ë33.34f\space\number\year}}9\swedishhyphenminsITheswedishhyphenationpatternscanbGeusedwith\lefthyphenminsetto2and I\righthyphenminUUsetto2.>Ë33.35S\def\swedishhyphenmins{\tw@\tw@} 6\extrasswedish \noextrasswedishIThe macro\extrasswedishpGerformsalltheextrade nitionsneededfortheISwedish4language.Themacro\noextrasswedishisusedtocanceltheactionsIofUU\extrasswedish.XF*orSwedishtexts\frenchspacingshouldbGeine ect.]WemakesurethisisItheUUcaseandresetitifnecessary*.>Ë33.36S\addto\extrasswedish{\bbl@frenchspacing} >Ë33.37S\addto\noextrasswedish{\bbl@nonfrenchspacing}XF*or>"Swedishthe"characterismadeactive.,.Thisisdoneonce,xUlateronitsIde nitionUUmayvqary*.>Ë33.38S\initiate@active@char{"} >Ë33.39S\addto\extrasswedish{\languageshorthands{swedish}}>Ë33.40S\addto\extrasswedish{\bbl@activate{"}}>Ë33.41S%\addto\noextrasswedish{\bbl@deactivate{"}}IThe\umlaut"accentmacro\"ischangedtolowertheumlautdots.PTherede - InitionUUisdonewiththehelpof\umlautlow.>Ë33.42S\addto\extrasswedish{\babel@save\"\umlautlow}>Ë33.43S\addto\noextrasswedish{\umlauthigh}1325soXThe*coGdeabove*isnecessarybecauseweneedanextraactivecharacter.GThis IcharacterUUisthenusedasindicatedintable12.XT*oasbGeabletode nethefunctionof",zwe rstde neacoupleof`support'Imacros.1\dqIW*eTKsavetheoriginaldoublequotecharacterin\dqtokeepitavqailable,TthemathIaccentUU\"cannowbGetypGedas".>Ë33.44S\begingroup\catcode`\"12 >Ë33.45S\def\x{\endgroup>Ë33.46]\def\@SS{\mathchar"7019}>Ë33.47]\def\dq{"}}>Ë33.48S\xXNowUUwecande nethedoublequotemacros:qtheumlautsandUa,>Ë33.49S\declare@shorthand{swedish}{"w}{\textormath{{\aa}}{\ddotw}}>Ë33.50S\declare@shorthand{swedish}{"a}{\textormath{\"{a}}{\ddota}}>Ë33.51S\declare@shorthand{swedish}{"o}{\textormath{\"{o}}{\ddoto}}>Ë33.52S\declare@shorthand{swedish}{"W}{\textormath{{\AA}}{\ddotW}}>Ë33.53S\declare@shorthand{swedish}{"A}{\textormath{\"{A}}{\ddotA}}>Ë33.54S\declare@shorthand{swedish}{"O}{\textormath{\"{O}}{\ddotO}}IdiscretionaryUUcommands>Ë33.55S\declare@shorthand{swedish}{"b}{\textormath{\bbl@discb{bb}}{b}}>Ë33.56S\declare@shorthand{swedish}{"B}{\textormath{\bbl@discB{BB}}{B}}>Ë33.57S\declare@shorthand{swedish}{"d}{\textormath{\bbl@discd{dd}}{d}}>Ë33.58S\declare@shorthand{swedish}{"D}{\textormath{\bbl@discD{DD}}{D}}>Ë33.59S\declare@shorthand{swedish}{"f}{\textormath{\bbl@discf{ff}}{f}}>Ë33.60S\declare@shorthand{swedish}{"F}{\textormath{\bbl@discF{FF}}{F}}>Ë33.61S\declare@shorthand{swedish}{"g}{\textormath{\bbl@discg{gg}}{g}}>Ë33.62S\declare@shorthand{swedish}{"G}{\textormath{\bbl@discG{GG}}{G}}>Ë33.63S\declare@shorthand{swedish}{"l}{\textormath{\bbl@discl{ll}}{l}}>Ë33.64S\declare@shorthand{swedish}{"L}{\textormath{\bbl@discL{LL}}{L}}>Ë33.65S\declare@shorthand{swedish}{"m}{\textormath{\bbl@discm{mm}}{m}}>Ë33.66S\declare@shorthand{swedish}{"M}{\textormath{\bbl@discM{MM}}{M}}>Ë33.67S\declare@shorthand{swedish}{"n}{\textormath{\bbl@discn{nn}}{n}}>Ë33.68S\declare@shorthand{swedish}{"N}{\textormath{\bbl@discN{NN}}{N}}>Ë33.69S\declare@shorthand{swedish}{"p}{\textormath{\bbl@discp{pp}}{p}}>Ë33.70S\declare@shorthand{swedish}{"P}{\textormath{\bbl@discP{PP}}{P}}>Ë33.71S\declare@shorthand{swedish}{"r}{\textormath{\bbl@discr{rr}}{r}}>Ë33.72S\declare@shorthand{swedish}{"R}{\textormath{\bbl@discR{RR}}{R}}>Ë33.73S\declare@shorthand{swedish}{"s}{\textormath{\bbl@discs{ss}}{s}}>Ë33.74S\declare@shorthand{swedish}{"S}{\textormath{\bbl@discS{SS}}{S}}>Ë33.75S\declare@shorthand{swedish}{"t}{\textormath{\bbl@disct{tt}}{t}}>Ë33.76S\declare@shorthand{swedish}{"T}{\textormath{\bbl@discT{TT}}{T}}IandUUsomeadditionalcommands:>Ë33.77S\declare@shorthand{swedish}{"-}{\penalty\@M\-\allowhyphens}>Ë33.78S\declare@shorthand{swedish}{"|}{%>Ë33.79]\textormath{\penalty\@M\discretionary{-}{}{\kern.03em}%>Ë33.80\allowhyphens}{}}>Ë33.81S\declare@shorthand{swedish}{""}{\hskip\z@skip}>Ë33.82S\declare@shorthand{swedish}{"~}{\textormath{\leavevmode\hbox{-}}{-}}>Ë33.83S\declare@shorthand{swedish}{"=}{\penalty\@M-\hskip\z@skip}133 ޠsoXThemacro\ldf@finishtakescareofloGokingforacon guration le,setting IthefmainlanguagetobGeswitchedonat\begin{document}andresettingtheIcategoryUUcoGdeofr@toitsoriginalvqalue.>Ë33.84S\ldf@finish{swedish} >Ë33.85Sh=coAdei134soI34ifdTheffFinnishlanguageITheJW lefinnish.dtx^48 =de nesallthelanguagede nitionmacrosfortheFinnish Ilanguage.XF*orthislanguagethecharacter"ismadeactive.1Intable13anoverviewisIgivenUUofitspurpGose.Urd}pe"|_disableUUligatureatthispGosition.}pe"-_anexplicithyphensign,allowinghyphenationinthe_restUUoftheword.}pe"=_an_explicithyphensignforexpressionssuchas_\pakqastekaapitUUja-arkut".}pe""_likebh"-,butproGducingnohyphensign(forwordsthat_shouldKbreakatsomesignsuchas\entrada/salida."}pe"`_loweredUUdoubleleftquotes(loGokslike,,)}pe"'_normalUUdoublerightquotes}pe"<_forUUF*renchleftdoublequotes(similarto<<).}pe">_forUUF*renchrightdoublequotes(similarto>>).}pe\-_like7theold\-,=butallowinghyphenationintherest_ofUUtheword.]qǍT*ableUU13:qTheextrade nitionsmadebyxfinnish.ldf9XThemacro\LdfInittakescareofpreventingthatthis leisloadedmorethanIonce,UUcheckingthecategorycoGdeofthe@sign,etc.B34.1ShcoAdei B34.2S\LdfInit{finnish}\captionsfinnishXWhen[this leisreadasanoption,i.e.bythe\usepackagecommand,finnishIwillBbGean`unknown'languageinwhichcasewehavetomakeitknown.?SoweIcheck&Jfortheexistenceof\l@finnishtoseewhetherwehavetodosomethingIhere.B34.3S\ifx\l@finnish\@undefinedB34.4f\@nopatterns{Finnish}B34.5f\adddialect\l@finnish0\fiXThennextstepconsistsofde ningcommandstoswitchtotheFinnishlanguage.IThereasonforthisisthatausermightwanttoswitchbackandforthbGetweenIlanguages. \captionsfinnishITheImacro\captionsfinnishde nesallstringsusedinthefourstandarddoGcu-ImentclassesUUprovidedwithL5ffA͉TU>'ExX.B34.6S\addto\captionsfinnish{%B34.7]\def\prefacename{Esipuhe}%B34.8]\def\refname{Viitteet}%B34.9]\def\abstractname{Tiivistelm\"a}>Ë34.10]\def\bibname{Kirjallisuutta}%>Ë34.11]\def\chaptername{Luku}%>Ë34.12]\def\appendixname{Liite}%Iffffr J=w-:48LThe> ledescribË34.13]\def\contentsname{Sis\"alt\"o}%,/*Couldbe"Sis\"allys"aswell*/ >Ë34.14]\def\listfigurename{Kuvat}%>Ë34.15]\def\listtablename{Taulukot}%>Ë34.16]\def\indexname{Hakemisto}%>Ë34.17]\def\figurename{Kuva}%>Ë34.18]\def\tablename{Taulukko}%>Ë34.19]\def\partname{Osa}%>Ë34.20]\def\enclname{Liitteet}%>Ë34.21]\def\ccname{Jakelu}%>Ë34.22]\def\headtoname{Vastaanottaja}%>Ë34.23]\def\pagename{Sivu}%>Ë34.24]\def\seename{katso}%>Ë34.25]\def\alsoname{katsomy\"os}%>Ë34.26]\def\proofname{Todistus}%>Ë34.27]}%b\datefinnishIThe$[macro\datefinnishrede nesthecommand\todaytoproGduceFinnish Idates.>Ë34.28S\def\datefinnish{%>Ë34.29S\def\today{\number\day.~\ifcase\month\or>Ë34.30]tammikuuta\orhelmikuuta\ormaaliskuuta\orhuhtikuuta\or>Ë34.31]toukokuuta\orkes\"akuuta\orhein\"akuuta\orelokuuta\or>Ë34.32]syyskuuta\orlokakuuta\ormarraskuuta\orjoulukuuta\fi>Ë34.33]\space\number\year}} 6\extrasfinnish \noextrasfinnishIFinnishؐhasmanylongwords(someofthemcompGound,9_somenot).yF*orthis IreasonXhyphenationisveryoftentheonlysolutioninlinebreaking.8F*orthisreasonItheT4vqaluesof\hyphenpenalty,Tn\exhyphenpenaltyand\doublehyphendemeritsIshouldbGedecreased.l(InoneofthemanualsofstyleMattiRintalanoticedaIparagraphUUwithtenlines,eightofwhichendedinahyphen!)XMatti5RintalanoticedthatwiththesechangesTU>'ExXhandlesFinnishverywell,IalthoughHsometimesthevqaluesof\toleranceand\emergencystretchmustbGeIincreased.UHowever,I don't!thinkchangingthesevqaluesinfinnish.ldfisappro-Ipriate,*asǙtheloGosenessofthefont(andthelinewidth)a ectthecorrectchoiceIofUUtheseparameters.>Ë34.34S\addto\extrasfinnish{% >Ë34.35]\babel@savevariable\hyphenpenalty\hyphenpenalty=30%>Ë34.36]\babel@savevariable\exhyphenpenalty\exhyphenpenalty=30%>Ë34.37]\babel@savevariable\doublehyphendemerits\doublehyphendemerits=5000%>Ë34.38]\babel@savevariable\finalhyphendemerits\finalhyphendemerits=5000%>Ë34.39]}>Ë34.40S\addto\noextrasfinnish{}XAnother8thing\extrasfinnishneedstodoistomakesurethat\frenchspacing IisXine ect.yIfthisisnotthecasetheexecutionof\noextrasfinnishwillswitchIitUUofagain.>Ë34.41S\addto\extrasfinnish{\bbl@frenchspacing} >Ë34.42S\addto\noextrasfinnish{\bbl@nonfrenchspacing}XF*or^Finnishthe"characterismadeactive.Thisisdoneonce,[lateronitsIde nitionmayvqary*.+OtherlanguagesinthesamedoGcumentmayalsousethe"Icharacterforshorthands;wespGecifythatthe nnishgroupofshorthandsshouldIbGeUUused.136)sso>Ë34.43S\initiate@active@char{"} >Ë34.44S\addto\extrasfinnish{\languageshorthands{finnish}}>Ë34.45S\addto\extrasfinnish{\bbl@activate{"}}>Ë34.46S%\addto\noextrasfinnish{\bbl@deactivate{"}}XThee`umlaut'charactershouldbGepositionedlowereonallmvowelseinFinnish Itexts.>Ë34.47S\addto\extrasfinnish{\umlautlow\umlautelow}>Ë34.48S\addto\noextrasfinnish{\umlauthigh}XFirst?wede neaccesstothelowopGeningdoublequoteandguillemetsfor Iquotations,>Ë34.49S\declare@shorthand{finnish}{"`}{%>Ë34.50]\textormath{\quotedblbase{}}{\mbox{\quotedblbase}}}>Ë34.51S\declare@shorthand{finnish}{"'}{%>Ë34.52]\textormath{\textquotedblright{}}{\mbox{\textquotedblright}}}>Ë34.53S\declare@shorthand{finnish}{"<}{%>Ë34.54]\textormath{\guillemotleft{}}{\mbox{\guillemotleft}}}>Ë34.55S\declare@shorthand{finnish}{">}{%>Ë34.56]\textormath{\guillemotright{}}{\mbox{\guillemotright}}}IthenHwede netwoshorthandstobGeabletospecifyhyphenationbreakpointsthat IbGehavewUUalittledi erentfrom\-.>Ë34.57S\declare@shorthand{finnish}{"-}{\allowhyphens-\allowhyphens}>Ë34.58S\declare@shorthand{finnish}{""}{\hskip\z@skip}>Ë34.59S\declare@shorthand{finnish}{"=}{\hbox{-}\allowhyphens}IAndUUwewanttohaveashorthandfordisablingaligature.>Ë34.60S\declare@shorthand{finnish}{"|}{%>Ë34.61]\textormath{\discretionary{-}{}{\kern.03em}}{}}5>\-IAll4$thatisleftnowistherede nitionof\-.5Thenewversionof\-shouldin- Idicate^anextrahyphenationpGosition,`whileallowingotherhyphenationpGositionsItoCbGegeneratedautomatically*.%ThestandardbehaviourofTU>'ExXinthisrespectisIveryunfortunateforlanguagessuchasDutch,bFinnishandGerman,wherelongIcompGoundHwordsarequitenormalandalloneneedsisameanstoindicateanIextra'ExXcangeneratefromtheIhyphenationUUpatterns.>Ë34.62S\addto\extrasfinnish{\babel@save\-} >Ë34.63S\addto\extrasfinnish{\def\-{\allowhyphens>Ë34.64΃\discretionary{-}{}{}\allowhyphens}}t\finishhyphenminsIThe: nnishhyphenationpatternscanbGeusedwith\lefthyphenminsetto2and I\righthyphenminUUsetto2.>Ë34.65S\def\finnishhyphenmins{\tw@\tw@}XThemacro\ldf@finishtakescareofloGokingforacon guration le,setting IthefmainlanguagetobGeswitchedonat\begin{document}andresettingtheIcategoryUUcoGdeofr@toitsoriginalvqalue.>Ë34.66S\ldf@finish{finnish} >Ë34.67Sh=coAdei1376soI35ifdTheffHungarianlanguageIThe6 leoptionmagyar.dtx^49 زde nesallthelanguagede nitionmacrosforthe IHungarianUUlanguage.XF*or?thislanguagecurrentlytheonlyspGecialde nitionthatisaddedisthe3P\ontodayI\ontodayscommandwhichworkslike\todaybutproGducesaslightlydi erentIdateUUformatusedinexpressionssuhas`onfebruary10th'.XThemacro\LdfInittakescareofpreventingthatthis leisloadedmorethanIonce,UUcheckingthecategorycoGdeofthe@sign,etc.B35.1ShcoAdei B35.2S\LdfInit{magyar}{caption\CurrentOption}XWhenHthis leisreadasanoption,i.e.Dbythe\usepackagecommand,magyarIwillBbGean`unknown'languageinwhichcasewehavetomakeitknown.?SoweIcheckAfortheexistenceof\l@magyaror\l@hungariantoseewhetherwehavetoIdoUUsomethinghere.B35.3S\ifx\l@magyar\@undefinedB35.4]\ifx\l@hungarian\@undefinedB35.5f\@nopatterns{Magyar}B35.6f\adddialect\l@magyar0B35.7]\fiB35.8S\fiB35.9S\let\l@hungarian\l@magyarXAnpadditionalnoteabGoutformattingHungariantexts:OneshouldinvertptheIorder=ofthenumbGer=andtextinthingslikechapterheadings,Bpagereferencesetc.ISoUUoneshouldwrite`I.rGesz'insteadof`PartI',or`3.qoldal'for`page3'.XF*or~chapterheadingsthiscouldbGeaccomplishedbyarede nitionoftheImacrosk\@makechapterheadand\@makeschapterhead,forotherinstancesthisIalothardertoaccomplish.hThereforeIothinkcompletedoGcumentclassesshouldIbGeUUwrittentoaccomadatetheneededformatting.XThe8nextstepconsistsofde ningcommandstoswitchto(andfrom)theHun-IgarianUUlanguage.f\captionsmagyarIThemacro\captionsmagyarde nesallstringsusedinthefourstandarddoGcu-ImentclassesUUprovidedwithL5ffA͉TU>'ExX.>Ë35.10S\@namedef{captions\CurrentOption}{%>Ë35.11]\def\prefacename{El\Hosz\'o}%IF*orthelistofreferencesattheendofanarticlewehaveachoicebGetweentwoIwords,g`Referenciak'U+(aHungarianversionoftheEnglishword)and`Hivqatkozasok'.ITheUUlatterseemstobGeinmorewidespreaduse.>Ë35.12]\def\refname{Hivatkoz\'asok}%IIf)youhaveadoGcumentwithasummaryinsteadofanabstractyoumightwantItoUUreplacetheword`Kivonat'with`cxOsszefoglalo'.>Ë35.13]\def\abstractname{Kivonat}%I&effr J=w-:49LThe, ledescribË35.14]\def\bibname{Irodalomjegyz\'ek}% >Ë35.15]\def\chaptername{Fejezet}%>Ë35.16]\def\appendixname{F\"uggel\'ek}%>Ë35.17]\def\contentsname{Tartalomjegyz\'ek}%>Ë35.18]\def\listfigurename{\'Abr\'akjegyz\'eke}%>Ë35.19]\def\listtablename{T\'abl\'azatokjegyz\'eke}%>Ë35.20]\def\indexname{T\'argymutat\'o}%>Ë35.21]\def\figurename{\'abra}%>Ë35.22]\def\tablename{T\'abl\'azat}%>Ë35.23]\def\partname{R\'esz}%>Ë35.24]\def\enclname{Mell\'eklet}%>Ë35.25]\def\ccname{K\"orlev\'el--c\'\imzettek}%>Ë35.26]\def\headtoname{C\'\imzett}%>Ë35.27]\def\pagename{oldal}%>Ë35.28]\def\seename{L\'asd}%>Ë35.29]\def\alsoname{L\'asdm\'eg}%tIBesidestheHungarianwordforProGof,3V`Bizonyqtas'wecanalsonameCorollaryI(KovetkezmGeny),UUTheorem(Tetel)andLemma(Lemma). t>Ë35.30]\def\proofname{Bizony\'\it\'as}%>Ë35.31]}%t] L\datemagyarITheC+macro\datemagyarrede nesthecommand\todaytoproGduceHungarianIdates. t>Ë35.32S\@namedef{date\CurrentOption}{%>Ë35.33]\def\today{\number\year.~\ifcase\month\or>Ë35.34]janu\'ar\orfebru\'ar\orm\'arcius\or>Ë35.35]\'aprilis\orm\'ajus\orj\'unius\or>Ë35.36]j\'ulius\oraugusztus\orszeptember\or>Ë35.37]okt\'ober\ornovember\ordecember\fi>Ë35.38f\space\ifcase\day\or>Ë35.39f1.\or s,2.\or3.\or4.\or5.\or>Ë35.40f6.\or s,7.\or8.\or9.\or10.\or>Ë35.41ap11.\or12.\or13.\or14.\or15.\or>Ë35.42ap16.\or17.\or18.\or19.\or20.\or>Ë35.43ap21.\or22.\or23.\or24.\or25.\or>Ë35.44ap26.\or27.\or28.\or29.\or30.\or>Ë35.45ap31.\fi}}t]\ondatemagyarITheFmacro\ondatemagyarproGducesHungariandateswhichhavethemeaning`onIthisday}'.qItUUdoGesnotrede nethecommand\today. t>Ë35.46S\@namedef{ondate\CurrentOption}{%>Ë35.47]\number\year.~\ifcase\month\or>Ë35.48]janu\'ar\orfebru\'ar\orm\'arcius\or>Ë35.49]\'aprilis\orm\'ajus\orj\'unius\or>Ë35.50]j\'ulius\oraugusztus\orszeptember\or>Ë35.51]okt\'ober\ornovember\ordecember\fi>Ë35.52f\space\ifcase\day\or>Ë35.53f1-j\'en\or s,2-\'an\or3-\'an\or4-\'en\or5-\'en\or>Ë35.54f6-\'an\or s,7-\'en\or8-\'an\or9-\'en\or10-\'en\or>Ë35.55ap11-\'en\or12-\'en\or13-\'an\or14-\'en\or15-\'en\or>Ë35.56ap16-\'an\or17-\'en\or18-\'an\or19-\'en\or20-\'an\or139Pso>Ë35.57ap21-\'en\or22-\'en\or23-\'an\or24-\'en\or25-\'en\or >Ë35.58ap26-\'an\or27-\'en\or28-\'an\or29-\'en\or30-\'an\or>Ë35.59ap31-\'en\fi}\extrasmagyar f\noextrasmagyarIThemacro\extrasmagyarwillpGerformalltheextrade nitionsneededforthe IHungarianMlanguage.Themacro\noextrasmagyarisusedtocanceltheactionsIof7\extrasmagyar.]F*orthemomentthesemacrosarenearlyempty;-AonlytheuserIcommandUU\ontodaytoaccess\ondatemagyarisde ned.>Ë35.60XdD\@namedef{extras\CurrentOption}{% >Ë35.61ap\expandafter\let\expandafter\ontoday>Ë35.62kJ\csnameondate\CurrentOption\endcsname}>Ë35.63S\@namedef{noextras\CurrentOption}{\let\ontoday\@undefined}XThemacro\ldf@finishtakescareofloGokingforacon guration le,setting IthefmainlanguagetobGeswitchedonat\begin{document}andresettingtheIcategoryUUcoGdeofr@toitsoriginalvqalue.>Ë35.64S\ldf@finish\CurrentOption >Ë35.65Sh=coAdei140\soI36ifdTheffEstonianlanguageITheI leestonian.dtx^50 ڲde nesthelanguagede nitionmacro'sfortheEstonian Ilanguage.XThis lewaswrittenaspartoftheTWGMLpro8ject,VandbGorrowsheavilyfromItheUUbabGelGermanandSpanishlanguage lesgermanb.ldfandspanish.ldf.XEstonianhasthesameumlautsasGerman(a,o,,u),butinadditiontothis,Iwe|havealso~o,andtworecentcharacterssand5Gz,soweneedatleasttwoactiveIcharacters.-W*e?shalluse"and~totypGeEstonianaccentsonASCIGIkeyboardsI(inJthe7-bitcharacterworld).nTheiruseisgivenintable14.nTheseactiveaccentcrd}pe~o_\~o,UU(anduppGercase);}pe"a_\"a,UU(anduppGercase);}pe"o_\"o,UU(anduppGercase);}pe"u_\"u,UU(anduppGercase);}pe~s_\v?s,UU(anduppGercase);}pe~z_\v?z,UU(anduppGercase);}pe"|_disableUUligatureatthispGosition;}pe"-_anexplicithyphensign,allowinghyphenationinthe_restUUoftheword;}pe\-_like7theold\-,=butallowinghyphenationintherest_ofUUtheword;}pe"`_forVEstonianlowleftdoublequotes(sameasGer-_man);}pe"'_forUUEstonianrightdoublequotes;}pe"<_forUUF*renchleftdoublequotes(alsoratherpGopular)}pe">_forUUF*renchrightdoublequotes.oqǍT*ableUU14:qTheextrade nitionsmadebyxestonian.ldfIcharacters?bGehaveaccordingtotheiroriginalde nitionsifnotfollowedbyoneofIthe charactersindicatedinthattable;htheoriginalquotecharactercanbGetypGedIusingUUthemacro\dq.XW*e'ExX.B36.7S\addto\captionsestonian{%B36.8]\def\prefacename{Sissejuhatus}%B36.9]\def\refname{Viited}%>Ë36.10]\def\bibname{Kirjandus}%>Ë36.11]\def\appendixname{Lisa}%>Ë36.12]\def\contentsname{Sisukord}%>Ë36.13]\def\listfigurename{Joonised}%>Ë36.14]\def\listtablename{Tabelid}%>Ë36.15]\def\indexname{Indeks}%>Ë36.16]\def\figurename{Joonis}%>Ë36.17]\def\tablename{Tabel}%>Ë36.18]\def\partname{Osa}%>Ë36.19]\def\enclname{Lisa(d)}%>Ë36.20]\def\ccname{Koopia(d)}%>Ë36.21]\def\headtoname{}%>Ë36.22]\def\pagename{Lk.}%>Ë36.23]\def\seename{vt.}%>Ë36.24]\def\alsoname{vt.ka}%>Ë36.25]\def\proofname{Korrektuur}%>Ë36.26]}XTheseUUcaptionscontainaccentedcharacters.>Ë36.27S\begingroup\catcode`\"\active>Ë36.28S\def\x{\endgroup>Ë36.29S\addto\captionsestonian{%>Ë36.30]\def\abstractname{Kokkuv~ote}%>Ë36.31]\def\chaptername{Peat"ukk}}}>Ë36.32S\x\dateestonianIThemacro\dateestonianrede nesthecommand\todaytoproGduceEstonian Idates.>Ë36.33S\begingroup\catcode`\"\active>Ë36.34S\def\x{\endgroup>Ë36.35ap\def\month@estonian{\ifcase\month\or>Ë36.36kJjaanuar\orveebruar\orm"arts\oraprill\ormai\orjuuni\or>Ë36.37kJjuuli\oraugust\orseptember\oroktoober\ornovember\or>Ë36.38~0detsember\fi}}>Ë36.39S\x>Ë36.40S\def\dateestonian{\def\today{\number\day.\space\month@estonian>Ë36.41]\space\number\year.\spacea.}}142osof\extrasestonian t\noextrasestonianIThemacro\extrasestonianwillpGerformalltheextrade nitionsneededfor IEstonian. aThemacro\noextrasestonianisusedtocanceltheactionsofI\extrasestonian.F*orOEstonian,9"ismadeactiveandhastobGetreatedas`special'I(~UUisactivealready).>Ë36.42S\initiate@active@char{"} >Ë36.43S\initiate@active@char{~}>Ë36.44S\addto\extrasestonian{\languageshorthands{estonian}}>Ë36.45S\addto\extrasestonian{\bbl@activate{"}\bbl@activate{~}}IStoreUUtheoriginalmacros,andrede neaccents.>Ë36.46S\addto\extrasestonian{\babel@save\"\umlautlow\babel@save\~\tildelow}XEstonianUUdoGesnotuseextraspacesaftersentences.>Ë36.47S\addto\extrasestonian{\bbl@frenchspacing} >Ë36.48S\addto\noextrasestonian{\bbl@nonfrenchspacing}H\estonianhyphenminsIF*orUUEstonian,\lefthyphenminand\righthyphenminarebGoth2.>Ë36.49S\def\estonianhyphenmins{\tw@\tw@}$\tildelow $\gentilde $\newtilde $\newcheckIThepstandardTU>'ExXaccentsaretoGohighforEstoniantypGography*,8wehavetolower Ithem(followingthebabGelGermanstyle).ؚF*oradetailedexplanationseethe leIglyphs.dtx.>Ë36.50S\def\tildelow{\def\~{\protect\gentilde}} >Ë36.51S\def\gentilde#1{\if#1o\newtilde{#1}\else\if#1O\newtilde{#1}%>Ë36.52f\else\newcheck{#1}%>Ë36.53f\fi\fi}>Ë36.54S\def\newtilde#1{\leavevmode\allowhyphens>Ë36.55]{\U@D1ex%>Ë36.56]{\setbox\z@\hbox{\char126}\dimen@-.45ex\advance\dimen@\ht\z@>Ë36.57]\ifdim1ex<\dimen@\fontdimen5\font\dimen@\fi}%>Ë36.58]\accent126\fontdimen5\font\U@D#1}\allowhyphens}>Ë36.59S\def\newcheck#1{\leavevmode\allowhyphens>Ë36.60]{\U@D1ex%>Ë36.61]{\setbox\z@\hbox{\char20}\dimen@-.45ex\advance\dimen@\ht\z@>Ë36.62]\ifdim1ex<\dimen@\fontdimen5\font\dimen@\fi}%>Ë36.63]\accent20\fontdimen5\font\U@D#1}\allowhyphens}XW*eusavethedoublequotecharacterin\dq, =andtildein\til,andstorethe IoriginalUUde nitionsof\"and~as\dieresisand\texttilde.>Ë36.64S\begingroup\catcode`\"12>Ë36.65S\edef\x{\endgroup>Ë36.66]\def\noexpand\dq{"}>Ë36.67]\def\noexpand\til{~}}>Ë36.68S\x>Ë36.69S\let\dieresis\">Ë36.70S\let\texttilde\~XThis6partfollowscloselyZTspanish.ldf.gW*echecktheencoGdingandifitisT1, IweUUhavetotellTU>'ExXabGoutourrede nedaccents.>Ë36.71S\edef\next{T1}>Ë36.72S\ifx\f@encoding\next>Ë36.73]\let\@umlaut\dieresis143xߠso>Ë36.74]\let\@tilde\texttilde >Ë36.75]\DeclareTextComposite{\~}{T1}{s}{178}>Ë36.76]\DeclareTextComposite{\~}{T1}{S}{146}>Ë36.77]\DeclareTextComposite{\~}{T1}{z}{186}>Ë36.78]\DeclareTextComposite{\~}{T1}{Z}{154}>Ë36.79]\DeclareTextComposite{\"}{T1}{'}{17}>Ë36.80]\DeclareTextComposite{\"}{T1}{`}{18}>Ë36.81]\DeclareTextComposite{\"}{T1}{<}{19}>Ë36.82]\DeclareTextComposite{\"}{T1}{>}{20}XIfjXtheencoGdingdi ersfromT1,oweexpandtheaccents,oenablinghyphenation IbGeyond{theaccent._)InthiscaseTU>'ExXwillnot ndallpGossiblebreaks,(andwehaveItoUUwarnpGeople.>Ë36.83S\else >Ë36.84]\wlog{Warning:HyphenationwouldworkbetterfortheT1encoding.}>Ë36.85]\let\@umlaut\newumlaut>Ë36.86]\let\@tilde\gentilde>Ë36.87S\fiXNowUUwede netheshorthands.>Ë36.88S\declare@shorthand{estonian}{"a}{\textormath{\"{a}}{\ddota}}>Ë36.89S\declare@shorthand{estonian}{"A}{\textormath{\"{A}}{\ddotA}}>Ë36.90S\declare@shorthand{estonian}{"o}{\textormath{\"{o}}{\ddoto}}>Ë36.91S\declare@shorthand{estonian}{"O}{\textormath{\"{O}}{\ddotO}}>Ë36.92S\declare@shorthand{estonian}{"u}{\textormath{\"{u}}{\ddotu}}>Ë36.93S\declare@shorthand{estonian}{"U}{\textormath{\"{U}}{\ddotU}}IgermanUUandfrenchquotes,>Ë36.94S\declare@shorthand{estonian}{"`}{%>Ë36.95]\textormath{\quotedblbase{}}{\mbox{\quotedblbase}}}>Ë36.96S\declare@shorthand{estonian}{"'}{%>Ë36.97]\textormath{\textquotedblleft{}}{\mbox{\textquotedblleft}}}>Ë36.98S\declare@shorthand{estonian}{"<}{%>Ë36.99]\textormath{\guillemotleft{}}{\mbox{\guillemotleft}}}:36.100S\declare@shorthand{estonian}{">}{%:36.101]\textormath{\guillemotright{}}{\mbox{\guillemotright}}}:36.102S\declare@shorthand{estonian}{~o}{\textormath{\@tildeo}{\tildeo}}:36.103S\declare@shorthand{estonian}{~O}{\textormath{\@tildeO}{\tildeO}}:36.104S\declare@shorthand{estonian}{~s}{\textormath{\@tildes}{\checks}}:36.105S\declare@shorthand{estonian}{~S}{\textormath{\@tildeS}{\checkS}}:36.106S\declare@shorthand{estonian}{~z}{\textormath{\@tildez}{\checkz}}:36.107S\declare@shorthand{estonian}{~Z}{\textormath{\@tildeZ}{\checkZ}}IandUUsomeadditionalcommands::36.108S\declare@shorthand{estonian}{"-}{\allowhyphens\-\allowhyphens}:36.109S\declare@shorthand{estonian}{"|}{%:36.110]\textormath{\penalty\@M\discretionary{-}{}{\kern.03em}%:36.111\allowhyphens}{}}:36.112S\declare@shorthand{estonian}{""}{\dq}:36.113S\declare@shorthand{estonian}{~~}{\til}XThemacro\ldf@finishtakescareofloGokingforacon guration le,setting IthefmainlanguagetobGeswitchedonat\begin{document}andresettingtheIcategoryUUcoGdeofr@toitsoriginalvqalue.144Jso:36.114S\ldf@finish{estonian} :36.115Sh=coAdei145soI37ifdTheffCroatianlanguageITheLH lecroatian.dtx^51 .de nesallthelanguagede nitionmacrosfortheCroatian Ilanguage.XF*orUUthislanguagecurrentlynospGecialde nitionsareneededoravqailable.XThemacro\LdfInittakescareofpreventingthatthis leisloadedmorethanIonce,UUcheckingthecategorycoGdeofthe@sign,etc.B37.1ShcoAdei B37.2S\LdfInit{croatian}\captionscroatianXWhenTVthis leisreadasanoption,i.e. nbythe\usepackagecommand,IcroatianʲwillbGean`unknown'languageinwhichcasewehavetomakeitknown.ISocwecheckfortheexistenceof\l@croatiantoseewhetherwehavetodosome-IthingUUhere.B37.3S\ifx\l@croatian\@undefinedB37.4f\@nopatterns{Croatian}B37.5f\adddialect\l@croatian0\fiXTheqnextstepconsistsofde ningcommandstoswitchto(andfrom)theCroa-ItianUUlanguage.t\captionscroatianIThePmacro\captionscroatiande nesallstringsusedinthefourstandarddoGc-IumentclassesUUprovidedwithL5ffA͉TU>'ExX.B37.6S\addto\captionscroatian{%B37.7]\def\prefacename{Predgovor}%B37.8]\def\refname{Literatura}%B37.9]\def\abstractname{Sa\v{z}etak}%>Ë37.10]\def\bibname{Bibliografija}%>Ë37.11]\def\chaptername{Glava}%>Ë37.12]\def\appendixname{Dodatak}%>Ë37.13]\def\contentsname{Sadr\v{z}aj}%>Ë37.14]\def\listfigurename{Slike}%>Ë37.15]\def\listtablename{Tablice}%>Ë37.16]\def\indexname{Indeks}%>Ë37.17]\def\figurename{Slika}%>Ë37.18]\def\tablename{Tablica}%>Ë37.19]\def\partname{Dio}%>Ë37.20]\def\enclname{Prilozi}%>Ë37.21]\def\ccname{Kopije}%>Ë37.22]\def\headtoname{Prima}%>Ë37.23]\def\pagename{Strana}%>Ë37.24]\def\seename{Vidi}%>Ë37.25]\def\alsoname{Viditako\djer}%>Ë37.26]\def\proofname{Dokaz}%>Ë37.27]}%\datecroatianIThemacro\datecroatianrede nesthecommand\todaytoproGduceCroatianIdates.>Ë37.28S\def\datecroatian{%>Ë37.29]\def\today{\number\day.~\ifcase\month\or>Ë37.30fsijev{c}nja\orvelja\v{c}e\oro\v{z}ujka\ortravnja\orsvibnja\orIffffr J=w-:51LThe | ledescribË37.31flipnja\orsrpnja\orkolovoza\orrujna\orlistopada\odstudenog\or >Ë37.32fprosinca\fi\space\number\year}}f\extrascroatian t\noextrascroatianIThe Tmacro\extrascroatianwillpGerformalltheextrade nitionsneededforthe ICroatianclanguage.!DThemacro\noextrascroatianisusedtocanceltheactionsofI\extrascroatian.oF*orOthemomentthesemacrosareemptybuttheyarede nedIforUUcompatibilitywiththeotherlanguagede nition les.>Ë37.33S\addto\extrascroatian{}>Ë37.34S\addto\noextrascroatian{}XThemacro\ldf@finishtakescareofloGokingforacon guration le,settingIthefmainlanguagetobGeswitchedonat\begin{document}andresettingtheIcategoryUUcoGdeofr@toitsoriginalvqalue.>Ë37.35S\ldf@finish{croatian}>Ë37.36Sh=coAdei147soI38ifdTheffCzechlanguageITheb leczech.dtx^52 WHde nesallthelanguagede nitionmacrosfortheCzech Ilanguage.XF*orthislanguage\frenchspacingissetandtwomacros\qand\wforeasyIaccessUUtotwoUUaccentsarede ned.XThe,command\qisusedwiththeletters(t,hd,l,and,L)andaddsa'tothemItoesimulatea`hoGok'thatshouldbethere.Theresultlooksliket'.ThecommandI\wisusedtoputthering-accentwhichappGearsinangstrmoverthelettersuandIU.XThemacro\LdfInittakescareofpreventingthatthis leisloadedmorethanIonce,UUcheckingthecategorycoGdeofthe@sign,etc.B38.1ShcoAdei B38.2S\LdfInit{czech}\captionsczechXWhenmacro\captionsczechde nesallstringsusedinthefourstandarddoGcu-ImentclassesUUprovidedwithL5ffA͉TU>'ExX.B38.6S\addto\captionsczech{%B38.7]\def\prefacename{P\vredmluva}%B38.8]\def\refname{Reference}%B38.9]\def\abstractname{Abstrakt}%>Ë38.10]\def\bibname{Literatura}%>Ë38.11]\def\chaptername{Kapitola}%>Ë38.12]\def\appendixname{Dodatek}%>Ë38.13]\def\contentsname{Obsah}%>Ë38.14]\def\listfigurename{Seznamobr\'azk\r{u}}%>Ë38.15]\def\listtablename{Seznamtabulek}%>Ë38.16]\def\indexname{Index}%>Ë38.17]\def\figurename{Obr\'azek}%>Ë38.18]\def\tablename{Tabulka}%>Ë38.19]\def\partname{\v{C}\'ast}%>Ë38.20]\def\enclname{P\v{r}\'{\i}loha}%>Ë38.21]\def\ccname{Nav\v{e}dom\'{\i}:}%>Ë38.22]\def\headtoname{Komu}%>Ë38.23]\def\pagename{Strana}%>Ë38.24]\def\seename{viz}%>Ë38.25]\def\alsoname{viztak\'e}%>Ë38.26]\def\proofname{D\r{u}kaz}%>Ë38.27]}%I&effr J=w-:52LThe ledescribË38.28S\def\dateczech{% >Ë38.29S\def\today{\number\day.~\ifcase\month\or>Ë38.30]ledna\or\'unora\orb\v{r}ezna\ordubna\orkv\v{e}tna\or\v{c}ervna\or>Ë38.31]\v{c}ervence\orsrpna\orz\'a\v{r}\'{\i}\or\v{r}\'{\i}jna\or>Ë38.32]listopadu\orprosince\fi>Ë38.33]\space\number\year}}b\extrasczech 6\noextrasczechIThemacro\extrasczechwillpGerformalltheextrade nitionsneededforthe ICzech1language.[Themacro\noextrasczechisusedtocanceltheactionsofI\extrasczech.-5Thismeanssavingthemeaningoftwoone-lettercontrolsequencesIbGeforeUUde ningthem.(>Ë38.34S\addto\extrasczech{\babel@save\q\let\q\v} >Ë38.35S\addto\extrasczech{\babel@save\w\let\w\r}(IF*orCzechtexts\frenchspacingshouldbGeine ect.jWemakesurethisistheIcaseUUandresetitifnecessary*.>Ë38.36S\addto\extrasczech{\bbl@frenchspacing} >Ë38.37S\addto\noextrasczech{\bbl@nonfrenchspacing}5>\vIL5ffA͉TU>'ExX'snormal\vaccentplacesacaronovertheletterthatfollowsit(o).[MThisisInotK whatwewantforthelettersd,Mt,lK andL;forthosetheaccentshouldchangeIshapGe.qThisUUisacheivedUUbythefollowing.>Ë38.38S\AtBeginDocument{% >Ë38.39]\DeclareTextCompositeCommand{\v}{OT1}{t}{%>Ë38.40ft\kern-.23em\raise.24ex\hbox{'}}>Ë38.41]\DeclareTextCompositeCommand{\v}{OT1}{d}{%>Ë38.42fd\kern-.13em\raise.24ex\hbox{'}}>Ë38.43]\DeclareTextCompositeCommand{\v}{OT1}{l}{\lcaron{}}>Ë38.44]\DeclareTextCompositeCommand{\v}{OT1}{L}{\Lcaron{}}}3P\lcaron 3P\LcaronIF*otEtheletterslandLETwewanttodisinguishbGetweennormalfontsandmonospaced Ifonts.>Ë38.45S\def\lcaron{%>Ë38.46]\setbox0\hbox{M}\setbox\tw@\hbox{i}%>Ë38.47]\ifdim\wd0>\wd\tw@\relax>Ë38.48fl\kern-.13em\raise.24ex\hbox{'}\kern-.11em%>Ë38.49]\else>Ë38.50fl\raise.45ex\hboxto\z@{\kern-.35em'\hss}%>Ë38.51]\fi}>Ë38.52S\def\Lcaron{%>Ë38.53]\setbox0\hbox{M}\setbox\tw@\hbox{i}%>Ë38.54]\ifdim\wd0>\wd\tw@\relax>Ë38.55fL\raise.24ex\hboxto\z@{\kern-.28em'\hss}%>Ë38.56]\else>Ë38.57fL\raise.45ex\hboxto\z@{\kern-.40em'\hss}%>Ë38.58]\fi}XThemacro\ldf@finishtakescareofloGokingforacon guration le,setting IthefmainlanguagetobGeswitchedonat\begin{document}andresettingtheIcategoryUUcoGdeofr@toitsoriginalvqalue.>Ë38.59S\ldf@finish{czech} >Ë38.60Sh=coAdei149rsoI39ifdTheffPolishlanguageIThebC lepolish.dtx^53 )de nesallthelanguage-spGeci cmacrosforthePolishlan- Iguage.XF*orthislanguagethecharacter"ismadeactive.1Intable15anoverviewisIgivenUUofitspurpGose.(⍠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,s}pe"l_orUU\lpb{},forlwithstroke(like 8l)}pe"L_orUU\Lpb{},forLwithstroke(like 8L V)}pe"r_orUU\zkb{},forpGointedz(like*_cz),cf.qpronounciation p}pe"R_orUU\Zkb{},forpGointedZ(likex_Z)}pe"z_orUU\'z,foraccentedz}pe"Z_orUU\'Z,foraccentedZ}pe"|_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.sty9XThemacro\LdfInittakescareofpreventingthatthis leisloadedmorethanIonce,UUcheckingthecategorycoGdeofthe@sign,etc.B39.1ShcoAdei B39.2S\LdfInit{polish}\captionspolishXWhenHthis leisreadasanoption,i.e.Dbythe\usepackagecommand,polishIcouldz"bGean`unknown'languageinwhichcasewehavetomakeitknown./SoweIcheckfortheexistenceof\l@polishtoseewhetherwehavetodosomethinghere.B39.3S\ifx\l@polish\@undefinedB39.4]\@nopatterns{Polish}B39.5]\adddialect\l@polish0\fiXThenextstepconsistsofde ningcommandstoswitchto(andfrom)thePolishIlanguage.f\captionspolishIThemacro\captionspolishde nesallstringsusedinthefourstandarddoGcu-ImentclassesUUprovidedwithL5ffA͉TU>'ExX.I ffr J=w-:53LThe ledescribË39.10]\def\bibname{Literatura}%>Ë39.11]\def\chaptername{Rozdzia\l}%>Ë39.12]\def\appendixname{Dodatek}%>Ë39.13]\def\contentsname{Spisrzeczy}%>Ë39.14]\def\listfigurename{Spisrysunk\'ow}%>Ë39.15]\def\listtablename{Spistablic}%>Ë39.16]\def\indexname{Indeks}%>Ë39.17]\def\figurename{Rysunek}%>Ë39.18]\def\tablename{Tablica}%>Ë39.19]\def\partname{Cz\eob{}\'s\'c}%>Ë39.20]\def\enclname{Za\l\aob{}cznik}%>Ë39.21]\def\ccname{Kopie:}%>Ë39.22]\def\headtoname{Do}%>Ë39.23]\def\pagename{Strona}%>Ë39.24]\def\seename{Por\'ownaj}%>Ë39.25]\def\alsoname{Por\'ownajtak\.ze}%>Ë39.26]\def\proofname{Proof}%,<--needstranslation>Ë39.27S} L\datepolishIThe3macro\datepolishrede nesthecommand\todaytoproGducePolishdates.>Ë39.28S\def\datepolish{%>Ë39.29]\def\today{\number\day~\ifcase\month\or>Ë39.30]stycznia\orlutego\ormarca\orkwietnia\ormaja\orczerwca\orlipca\or>Ë39.31]sierpnia\orwrze\'snia\orpa\'zdziernika\orlistopada\orgrudnia\fi>Ë39.32]\space\number\year}>Ë39.33S}\extraspolish f\noextraspolishIThemacro\extraspolishwillpGerformalltheextrade nitionsneededforthe IPolishL language.UThemacro\noextraspolishisusedtocanceltheactionsofI\extraspolish.XF*or:Polishthe"characterismadeactive.vThisisdoneonce,lateronitsIde nitionmayvqary*.+OtherlanguagesinthesamedoGcumentmayalsousethe"Icharacterforshorthands;3wespGecifythatthepolishgroupofshorthandsshouldIbGeUUused.>Ë39.34S\initiate@active@char{"} >Ë39.35S\addto\extraspolish{\languageshorthands{polish}}>Ë39.36S\addto\extraspolish{\bbl@activate{"}}>Ë39.37S%\addto\noextraspolish{\bbl@deactivate{"}}XThe*coGdeabove*isnecessarybecauseweneedanextraactivecharacter.GThis IcharacterUUisthenusedasindicatedintable15.XIfTUyouhaveproblemsattheendofawordwithalinebreak,usetheotherversionIwithoutmhyphenationtricks.=zSomeT*eXFwizardmayproGduceabettersolutionwithIforcastingnanothertokentodecidewhetherthecharacterafterthedoublequoteisItheUUlastinaword.qDoitandletusknow.XIn6PolishtextssomelettersgetspGecialdiacriticalmarks.|iLeszekHolenderskiIdesigned5thefollowingcoGdetopositionthediacriticscorrectlyforeveryfontinIeveryUUsize.qThesemacrosneedafewextradimensionvqariables.151gso>Ë39.38S\newdimen\pl@left >Ë39.39S\newdimen\pl@down>Ë39.40S\newdimen\pl@right>Ë39.41S\newdimen\pl@temp,`\sobITheUUmacro\sobisusedtoputthe`ogonek'intherightplace.>Ë39.42S\def\sob#1#2#3#4#5{%parameters:letterandfractionshl,ho,vl,vo>Ë39.43]\setbox0\hbox{#1}\setbox1\hbox{$_\mathchar'454$}\setbox2\hbox{p}%>Ë39.44]\pl@right=#2\wd0\advance\pl@rightby-#3\wd1>Ë39.45]\pl@down=#5\ht1\advance\pl@downby-#4\ht0>Ë39.46]\pl@left=\pl@right\advance\pl@leftby\wd1>Ë39.47]\pl@temp=-\pl@down\advance\pl@tempby\dp2\dp1=\pl@temp>Ë39.48]\leavevmode>Ë39.49]\kern\pl@right\lower\pl@down\box1\kern-\pl@left#1},`\aob ,`\Aob ,`\eob ,`\EobITheUUogonekisplacedwiththeletters`a',`A',`e',and`E'.>Ë39.50S\DeclareTextCommand{\aob}{OT1}{\soba{.66}{.20}{0}{.90}}>Ë39.51S\DeclareTextCommand{\Aob}{OT1}{\sobA{.80}{.50}{0}{.90}}>Ë39.52S\DeclareTextCommand{\eob}{OT1}{\sobe{.50}{.35}{0}{.93}}>Ë39.53S\DeclareTextCommand{\Eob}{OT1}{\sobE{.60}{.35}{0}{.90}}IF*orUUthe'new'T1encoGdingwecanprovidesimplerde nitions.>Ë39.54S\DeclareTextCommand{\aob}{T1}{\ka}>Ë39.55S\DeclareTextCommand{\Aob}{T1}{\kA}>Ë39.56S\DeclareTextCommand{\eob}{T1}{\ke}>Ë39.57S\DeclareTextCommand{\Eob}{T1}{\kE}IConstructUUthecharactersbydefaultfromtheOT1encoGding.>Ë39.58S\ProvideTextCommandDefault{\aob}{\UseTextSymbol{OT1}{\aob}}>Ë39.59S\ProvideTextCommandDefault{\Aob}{\UseTextSymbol{OT1}{\Aob}}>Ë39.60S\ProvideTextCommandDefault{\eob}{\UseTextSymbol{OT1}{\eob}}>Ë39.61S\ProvideTextCommandDefault{\Eob}{\UseTextSymbol{OT1}{\Eob}},`\spbITheUUmacro\spbisusedtoputthe`pGoprzeczkqa'intherightplace.>Ë39.62S\def\spb#1#2#3#4#5{%>Ë39.63]\setbox0\hbox{#1}\setbox1\hbox{\char'023}%>Ë39.64]\pl@right=#2\wd0\advance\pl@rightby-#3\wd1>Ë39.65]\pl@down=#5\ht1\advance\pl@downby-#4\ht0>Ë39.66]\pl@left=\pl@right\advance\pl@leftby\wd1>Ë39.67]\ht1=\pl@down\dp1=-\pl@down>Ë39.68]\leavevmode>Ë39.69]\kern\pl@right\lower\pl@down\box1\kern-\pl@left#1},`\skbITheUUmacro\skbisusedtoputthe`kropkqa'intherightplace.>Ë39.70S\def\skb#1#2#3#4#5{%>Ë39.71]\setbox0\hbox{#1}\setbox1\hbox{\char'056}%>Ë39.72]\pl@right=#2\wd0\advance\pl@rightby-#3\wd1>Ë39.73]\pl@down=#5\ht1\advance\pl@downby-#4\ht0>Ë39.74]\pl@left=\pl@right\advance\pl@leftby\wd1>Ë39.75]\leavevmode>Ë39.76]\kern\pl@right\lower\pl@down\box1\kern-\pl@left#1}152 so3P\textplIF*or1the`pGoprzeczkqa'andthe`kropka'intextfontswedon'tneedanyspGecial IcoGding,UUbutwecan(almost)usewhatisalreadyavqailable.>Ë39.77S\def\textpl{% >Ë39.78]\def\lpb{\plll}%>Ë39.79]\def\Lpb{\pLLL}%>Ë39.80]\def\zkb{\.z}%>Ë39.81]\def\Zkb{\.Z}}IInitiallyUUweassumethattypGesettingisdonewithtextfonts. Eэ>Ë39.82S\textpl>Ë39.83S\let\lll=\l\let\LLL=\L>Ë39.84S\def\plll{\lll}>Ë39.85S\def\pLLL{\LLL}t3P\teleplIButfforthe`teletypGe'fontin`OT1'encoGdingwehavetotakesomespGecialactions, IinvolvingUUthemacrosde nedabGove.>Ë39.86S\def\telepl{%>Ë39.87]\def\lpb{\spbl{.45}{.5}{.4}{.8}}%>Ë39.88]\def\Lpb{\spbL{.23}{.5}{.4}{.8}}%>Ë39.89]\def\zkb{\skbz{.5}{.5}{1.2}{0}}%>Ë39.90]\def\Zkb{\skbZ{.5}{.5}{1.1}{0}}}tXT*oNactivqatethesecoGdesthefontchangingcommandsastheyarede nedin IL5ffA͉TU>'ExXUUaremoGdi ed.qThesameisdoneforplainTU>'EX'sfontchangingcommands.XWhenWF\selectfontisunde nedthecurrentformatissppGosedtobeeitherIplainUU(based)orL5ffA͉TU>'ExX82.09. Eэ>Ë39.91S\ifx\selectfont\@undefined >Ë39.92]\ifx\prm\@undefined\addto\rm{\textpl}\else\addto\prm{\textpl}\fi>Ë39.93]\ifx\pit\@undefined\addto\it{\textpl}\else\addto\pit{\textpl}\fi>Ë39.94]\ifx\pbf\@undefined\addto\bf{\textpl}\else\addto\pbf{\textpl}\fi>Ë39.95]\ifx\psl\@undefined\addto\sl{\textpl}\else\addto\psl{\textpl}\fi>Ë39.96]\ifx\psf\@undefinedY"\else\addto\psf{\textpl}\fi>Ë39.97]\ifx\psc\@undefinedY"\else\addto\psc{\textpl}\fi>Ë39.98]\ifx\ptt\@undefined\addto\tt{\telepl}\else\addto\ptt{\telepl}\fi>Ë39.99S\elseEэIWhenUU\selectfontexistsweassumeL5ffA͉TU>'ExX2"(.:39.100]\expandafter\addto\csnameselectfont\endcsname{%:39.101f\csname\f@encoding@pl\endcsname}:39.102S\fiEэICurrentlywesuppGorttheOT1andT1encodings.?F*orT1wedon'thavetomakea Idi erencetbGetweentypGewriterfontsandotherfonts,theyallhavethesameglyphs.:39.103S\expandafter\let\csnameT1@pl\endcsname\textplIF*or|OT1weneedtocheckthecurrentfontfamily*,storedin\f@family.&=Un- Ifortunatelyzweneedahackas\ttdefaultisde nedasa\longmacro,LwhileI\f@familyUUisnot.:39.104S\expandafter\def\csnameOT1@pl\endcsname{% :39.105]\long\edef\curr@family{\f@family}%:39.106]\ifx\curr@family\ttdefault:39.107f\telepl:39.108]\else:39.109f\textpl:39.110]\fi}153Jso1\dqIW*eTKsavetheoriginaldoublequotecharacterin\dqtokeepitavqailable,Tthemath IaccentUU\"cannowbGetypGedas". l:39.111S\begingroup\catcode`\"12 :39.112S\def\x{\endgroup:39.113]\def\dq{"}}:39.114S\xEXNowUUwecande nethedoublequotemacrosfordiacritics,:39.115S\declare@shorthand{polish}{"a}{\textormath{\aob}{\ddota}}:39.116S\declare@shorthand{polish}{"A}{\textormath{\Aob}{\ddotA}}:39.117S\declare@shorthand{polish}{"c}{\textormath{\'c}{\acutec}}:39.118S\declare@shorthand{polish}{"C}{\textormath{\'C}{\acuteC}}:39.119S\declare@shorthand{polish}{"e}{\textormath{\eob}{\ddote}}:39.120S\declare@shorthand{polish}{"E}{\textormath{\Eob}{\ddotE}}:39.121S\declare@shorthand{polish}{"l}{\textormath{\lpb}{\ddotl}}:39.122S\declare@shorthand{polish}{"L}{\textormath{\Lpb}{\ddotL}}:39.123S\declare@shorthand{polish}{"n}{\textormath{\'n}{\acuten}}:39.124S\declare@shorthand{polish}{"N}{\textormath{\'N}{\acuteN}}:39.125S\declare@shorthand{polish}{"o}{\textormath{\'o}{\acuteo}}:39.126S\declare@shorthand{polish}{"O}{\textormath{\'O}{\acuteO}}:39.127S\declare@shorthand{polish}{"r}{\textormath{\zkb}{\ddotr}}:39.128S\declare@shorthand{polish}{"R}{\textormath{\Zkb}{\ddotR}}:39.129S\declare@shorthand{polish}{"s}{\textormath{\'s}{\acutes}}:39.130S\declare@shorthand{polish}{"S}{\textormath{\'S}{\acuteS}}:39.131S\declare@shorthand{polish}{"z}{\textormath{\'z}{\acutez}}:39.132S\declare@shorthand{polish}{"Z}{\textormath{\'Z}{\acuteZ}}lXThen1wede neaccesstotwoformsofquotationmarks,8similartothegerman IandUUfrenchquotationmarks.:39.133S\declare@shorthand{polish}{"`}{%:39.134]\textormath{\quotedblbase{}}{\mbox{\quotedblbase}}}:39.135S\declare@shorthand{polish}{"'}{%:39.136]\textormath{\textquotedblleft{}}{\mbox{\textquotedblleft}}}:39.137S\declare@shorthand{polish}{"<}{%:39.138]\textormath{\guillemotleft{}}{\mbox{\guillemotleft}}}:39.139S\declare@shorthand{polish}{">}{%:39.140]\textormath{\guillemotright{}}{\mbox{\guillemotright}}}lIthenHwede netwoshorthandstobGeabletospecifyhyphenationbreakpointsthat IbGehavewUUalittledi erentfrom\-.:39.141S\declare@shorthand{polish}{"-}{\allowhyphens-\allowhyphens}:39.142S\declare@shorthand{polish}{""}{\hskip\z@skip}lIAndUUwewanttohaveashorthandfordisablingaligature.:39.143S\declare@shorthand{polish}{"|}{%:39.144]\textormath{\discretionary{-}{}{\kern.03em}}{}}E"\mdqon 3P\mdqoffIAll#that'slefttodonowistode neacoupleofcommandsforreasonsofcompat- IibilityUUwithpolish.tex.:39.145S\def\mdqon{\bbl@activate{"}}:39.146S\def\mdqoff{\bbl@deactivate{"}}EXThemacro\ldf@finishtakescareofloGokingforacon guration le,setting IthefmainlanguagetobGeswitchedonat\begin{document}andresettingtheIcategoryUUcoGdeofr@toitsoriginalvqalue.154*so:39.147S\ldf@finish{polish} :39.148Sh=coAdei155soI40ifdTheffSlovaklanguageIThe? leslovak.dtx^54 de nesallthelanguage-spGeci cmacrosfortheSlovqaklan- Iguage.XF*orvthislanguagethemacro\qisde ned.Itisusedwiththeletters(t,!d,l,IandL)andaddsa'tothemtosimulatea`hoGok'thatshouldbethere.PTheresultIloGoksUUliket'.XThemacro\LdfInittakescareofpreventingthatthis leisloadedmorethanIonce,UUcheckingthecategorycoGdeofthe@sign,etc.B40.1ShcoAdei B40.2S\LdfInit{slovak}\captionsslovakXWhenHthis leisreadasanoption,i.e.Dbythe\usepackagecommand,slovakIwillBbGean`unknown'languageinwhichcasewehavetomakeitknown.?SoweIcheckfortheexistenceof\l@slovaktoseewhetherwehavetodosomethinghere.B40.3S\ifx\l@slovak\@undefinedB40.4f\@nopatterns{Slovak}B40.5f\adddialect\l@slovak0\fiXThexnextstepconsistsofde ningcommandstoswitchto(andfrom)theSlovqakIlanguage.f\captionsslovakIThemacro\captionsslovakde nesallstringsusedinthefourstandarddoGcu-ImentclassesUUprovidedwithL5ffA͉TU>'ExX.B40.6S\addto\captionsslovak{%B40.7]\def\prefacename{\'Uvod}%B40.8]\def\refname{Referencia}%B40.9]\def\abstractname{Abstrakt}%>Ë40.10]\def\bibname{Literat\'ura}%>Ë40.11]\def\chaptername{Kapitola}%>Ë40.12]\def\appendixname{Dodatok}%>Ë40.13]\def\contentsname{Obsah}%>Ë40.14]\def\listfigurename{Zoznamobr\'azkov}%>Ë40.15]\def\listtablename{Zoznamtabuliek}%>Ë40.16]\def\indexname{Index}%>Ë40.17]\def\figurename{Obr\'azok}%>Ë40.18]\def\tablename{Tabu\qlka}%%%specialletterlwithhook>Ë40.19]\def\partname{\v{C}as\qt}%%%speciallettertwithhook>Ë40.20]\def\enclname{Pr\'{\i}loha}%>Ë40.21]\def\ccname{CC}%>Ë40.22]\def\headtoname{Komu}%>Ë40.23]\def\pagename{Strana}%>Ë40.24]\def\seename{vi\qd}%%% s,Specialletterdwithhook>Ë40.25]\def\alsoname{vi\qdtie\vz}%%% s,Specialletterdwithhook>Ë40.26]\def\proofname{Proof}% s,<--needstranslation>Ë40.27]} L\dateslovakIThe;macro\dateslovakrede nesthecommand\todaytoproGduceSlovqakdates.>Ë40.28S\def\dateslovak{%>Ë40.29S\def\today{\number\day.~\ifcase\month\or>Ë40.30Sjanu\'ara\orfebru\'ara\ormarca\orapr\'{\i}la\orm\'aja\orj\'una\orIffffr J=w-:54LThe ledescribË40.31]j\'ula\oraugusat\orseptembra\orokt\'obra\or >Ë40.32]novembra\ordecembra\fi>Ë40.33f\space\number\year}}\extrasslovak f\noextrasslovakIThemacro\extrasslovakwillpGerformalltheextrade nitionsneededforthe ISlovqak/ language.Themacro\noextrasslovakisusedtocanceltheactionsofI\extrasslovak.ThisLcurrentlymeanssavingthemeaningofoneone-lettercontrolIsequenceUUbGeforede ningit.>Ë40.34S\addto\extrasslovak{\babel@save\q\let\q\v}XTheDslovqakhyphenationpatternsshouldbGeusedwith\lefthyphenminsetto2IandUU\righthyphenminsetto2.>Ë40.35S\def\slovakhyphenmins{\tw@\tw@}XThemacro\ldf@finishtakescareofloGokingforacon guration le,settingIthefmainlanguagetobGeswitchedonat\begin{document}andresettingtheIcategoryUUcoGdeofr@toitsoriginalvqalue.>Ë40.36S\ldf@finish{slovak} >Ë40.37Sh=coAdei157soI41ifdTheffSlovenianlanguageITheb" leslovene.dtx^55 de nesallthelanguage-spGeci cmacrosfortheSlovenian Ilanguage.XF*orthislanguagethecharacter"ismadeactive.1Intable16anoverviewisIgiven[ofitspurpGose.OneofthereasonsforthisisthatintheSlovenelanguageIsomeUUspGecialcharactersareused.Urd}pe"c_\"c,also_implementedforthelowercaseanduppGer-_caseUUsandz.}pe"-_anexplicithyphensign,allowinghyphenationinthe_restUUoftheword.}pe""_like)"-,2butproGducingnohyphensign(forcompund_wordsUUwithhyphen,e.g.x-""y).}pe"`_forUUSloveneleftdoublequotes(loGokslike,,).}pe"'_forUUSlovenerightdoublequotes.}pe"<_forUUF*renchleftdoublequotes(similarto<<).}pe">_forUUF*renchrightdoublequotes(similarto>>).KqǍT*ableUU16:qTheextrade nitionsmadebyxslovene.ldf9XThemacro\LdfInittakescareofpreventingthatthis leisloadedmorethanIonce,UUcheckingthecategorycoGdeofthe@sign,etc.B41.1ShcoAdei B41.2S\LdfInit{slovene}\captionssloveneXWhen[this leisreadasanoption,i.e.bythe\usepackagecommand,sloveneIwillBbGean`unknown'languageinwhichcasewehavetomakeitknown.?SoweIcheck&Jfortheexistenceof\l@slovenetoseewhetherwehavetodosomethingIhere.B41.3S\ifx\l@slovene\@undefinedB41.4f\@nopatterns{Slovene}B41.5f\adddialect\l@slovene0\fiXThennextstepconsistsofde ningcommandstoswitchtotheSlovenianlan-Iguage.The1ZreasonforthisisthatausermightwanttoswitchbackandforthIbGetweenUUlanguages. \captionssloveneITheImacro\captionsslovenede nesallstringsusedinthefourstandarddoGcu-ImentclassesUUprovidedwithL5ffA͉TU>'ExX.B41.6S\addto\captionsslovene{%B41.7]\def\prefacename{Predgovor}%B41.8]\def\refname{Literatura}%B41.9]\def\abstractname{Povzetek}%>Ë41.10]\def\bibname{Literatura}%>Ë41.11]\def\chaptername{Poglavje}%>Ë41.12]\def\appendixname{Dodatek}%>Ë41.13]\def\contentsname{Kazalo}%I&effr J=w-:55LThe ledescribË41.14]\def\listfigurename{Slike}% >Ë41.15]\def\listtablename{Tabele}%>Ë41.16]\def\indexname{Stvarnokazalo}%usedtobeIndeks>Ë41.17]\def\figurename{Slika}%>Ë41.18]\def\tablename{Tabela}%>Ë41.19]\def\partname{Del}%>Ë41.20]\def\enclname{Priloge}%>Ë41.21]\def\ccname{Kopije}%>Ë41.22]\def\headtoname{Prejme}%>Ë41.23]\def\pagename{Stran}%>Ë41.24]\def\seename{glej}%>Ë41.25]\def\alsoname{glejtudi}%>Ë41.26]\def\proofname{Dokaz}%>Ë41.27]}%b\datesloveneIThe- macro\dateslovenerede nesthecommand\todaytoproGduceSlovenian Idates.>Ë41.28S\def\dateslovene{%>Ë41.29S\def\today{\number\day.~\ifcase\month\or>Ë41.30]januar\orfebruar\ormarec\orapril\ormaj\orjunij\or>Ë41.31]julij\oravgust\orseptember\oroktober\ornovember\ordecember\fi>Ë41.32]\space\number\year}} 6\extrasslovene \noextrassloveneITheOmacro\extrasslovenepGerformsalltheextrade nitionsneededfortheSlove- Inian|-language.OThemacro\noextrassloveneisusedtocanceltheactionsofI\extrasslovene.XF*orbSlovenethe"characterismadeactive.Thisisdoneonce,0lateronitsIde nitionmayvqary*.+OtherlanguagesinthesamedoGcumentmayalsousethe"Icharacterforshorthands;wespGecifythatthesloveniangroupofshorthandsshouldIbGeUUused.>Ë41.33S\initiate@active@char{"} >Ë41.34S\addto\extrasslovene{\languageshorthands{slovene}}>Ë41.35S\addto\extrasslovene{\bbl@activate{"}}>Ë41.36S%\addto\noextrasslovene{\bbl@deactivate{"}}IFirstUUwede neshorthandstofacilitatetheoGccurenceofletterssuchas8Gc.>Ë41.37S\declare@shorthand{slovene}{"c}{\textormath{\vc}{\checkc}}>Ë41.38S\declare@shorthand{slovene}{"s}{\textormath{\vs}{\checks}}>Ë41.39S\declare@shorthand{slovene}{"z}{\textormath{\vz}{\checkz}}>Ë41.40S\declare@shorthand{slovene}{"C}{\textormath{\vC}{\checkC}}>Ë41.41S\declare@shorthand{slovene}{"S}{\textormath{\vS}{\checkS}}>Ë41.42S\declare@shorthand{slovene}{"Z}{\textormath{\vZ}{\checkZ}}XThen1wede neaccesstotwoformsofquotationmarks,8similartothegerman IandUUfrenchquotationmarks.>Ë41.43S\declare@shorthand{slovene}{"`}{%>Ë41.44]\textormath{\quotedblbase{}}{\mbox{\quotedblbase}}}>Ë41.45S\declare@shorthand{slovene}{"'}{%>Ë41.46]\textormath{\textquotedblleft{}}{\mbox{\textquotedblleft}}}>Ë41.47S\declare@shorthand{slovene}{"<}{%>Ë41.48]\textormath{\guillemotleft{}}{\mbox{\guillemotleft}}}>Ë41.49S\declare@shorthand{slovene}{">}{%>Ë41.50]\textormath{\guillemotright{}}{\mbox{\guillemotright}}}159soIthenHwede netwoshorthandstobGeabletospecifyhyphenationbreakpointsthat IbGehavewUUalittledi erentfrom\-.>Ë41.51S\declare@shorthand{slovene}{"-}{\allowhyphens-\allowhyphens} >Ë41.52S\declare@shorthand{slovene}{""}{\hskip\z@skip}IAndUUwewanttohaveashorthandfordisablingaligature.>Ë41.53S\declare@shorthand{slovene}{"|}{%>Ë41.54]\textormath{\discretionary{-}{}{\kern.03em}}{}}XThemacro\ldf@finishtakescareofloGokingforacon guration le,setting IthefmainlanguagetobGeswitchedonat\begin{document}andresettingtheIcategoryUUcoGdeofr@toitsoriginalvqalue.>Ë41.55S\ldf@finish{slovene}>Ë41.56Sh=coAdei160&QsoI42ifdTheffRussianlanguageITheV lerussianb.dtx^56 rdyE"| disableUUligatureatthispGosition.yE"- anexplicithyphensign,allowinghyphenationinthe restUUoftheword.yE"" like)"-,2butproGducingnohyphensign(forcompund wordswithhyphen,5e.g.x-""yorsomeothersigns asUU\disable/enable").$yE"~ forUUacompGoundwordmarkwithoutabreakpoint.yE"= foruacompGoundwordmarkwithabreakpoint,allow- ingUUhyphenationinthecompGosingwords.yE"` forUUGermanleftdoublequotes(loGokslike,,).yE"' forUUGermanrightdoublequotes(loGokslike\).yE"UU"< forUUF*renchleftdoublequotes(loGokslike<<).yE"> forUUF*renchrightdoublequotes(loGokslike>>).]qǍcT*ableUU17:qTheextrade nitionsmadebyxrussianb^"XThequotesintable17canalsobGetypesetbyusingthecommandsintable18.e3wƜrdqe\glqqforUUGermanleftdoublequotes(loGokslike,,).qe\grqqforUUGermanrightdoublequotes(loGokslike\).qe"UU\flqqforUUF*renchleftdoublequotes(loGokslike<<).qe\frqqforUUF*renchrightdoublequotes(loGokslike>>).qe\dqtheUUoriginalquotescharacter(").-qǍhT*ableUU18:qMorecommandswhichproGducequotes,de nedbyxbabGelO鍑XThekpquotationmarkstraditionallyusedinRussianlanguagewerebGorrowedIfromotherlanguages(e.g.EF*renchandGerman)sotheykeeptheiroriginalnames.XThemacro\LdfInittakescareofpreventingthatthis leisloadedmorethanIonce,UUcheckingthecategorycoGdeofthe@sign,etc. 􍍑B42.1ShcoAdei B42.2S\LdfInit{russian}{captionsrussian}XWhenythis leisreadasanoption,i.e.,byythe\usepackagecommand,IrussianbղwillbGean`unknown'language,"inwhichcasewehavetomakeitknown.ISomwecheckfortheexistenceof\l@russiantoseewhetherwehavetodosome-IthingUUhere.I ffr J=w-:56LThe% ledescrib'ExX. ؞B42.7S\input{LWNenc.def}ٍ 6\latinencodingIW*e>needtoknowtheencoGdingfortextthatissupposedtobetypesetinlatinItext.W*epassumethatitwillbGetheencodingwhichisactiveattheendoftheIbabGelUUpackqage.qIfthefontencpackqageisloadedlater,then...qtoGobad!B42.8S\AtEndOfPackage{\edef\latinencoding{\cf@encoding}}ٍXNowwede netwocommandsthato erthepGossibilitytoswitchbGetweenIcyrillicUUandromanencoGdings.\cyrillictext\latintextITheGcommand\cyrillictextwillswitchfromlatinfontencoGdingtothecyrillicIfontencoGding,thecommand\latintextswitchesback.UThisassumesthattheI`normal'wfontencoGdingisalatinone.'Thesecommandsarede}'clarations,forwshorterIpGeacesUUoftextthecommands\textlatinand\textcyrilliccanbeused. ؞B42.9S\DeclareRobustCommand{\cyrillictext}{% >Ë42.10]\fontencoding{LWN}\selectfont>Ë42.11]\def\encodingdefault{LWN}}>Ë42.12S\DeclareRobustCommand{\latintext}{%>Ë42.13]\fontencoding{\latinencoding}\selectfont>Ë42.14]\def\encodingdefault{\latinencoding}}>Ë42.15S\let\lat\latintext>Ë42.16S\let\cyr\cyrillictext\textcyrillic \textlatinIThese[commandstakeanargumentwhichisthentypGesetusingtherequestedfont IencoGding.bwXThenextstepconsistsofde ningcommandstoswitchto(andfrom)theRus-IsianUUlanguage. \captionsrussianITheImacro\captionsrussiande nesallstringsusedinthefourstandarddoGcu-ImenticlassesprovidedwithL5ffA͉TU>'ExX.Therearethetwocommands:\cyrand\latIwhichUUswitchontheright(CyrillicorLatin)encoGding.;>Ë42.17S\addto\captionsrussian{% >Ë42.18]\def\prefacename{%>Ë42.19f{\cyr\CYRP\CYRr\CYRe\CYRd\CYRi\CYRs\CYRl\CYRo\CYRv\CYRi\CYRe}}%>Ë42.20ap%{\cyr\CYRV\CYRv\CYRe\CYRd\CYRe\CYRn\CYRi\CYRe}}%>Ë42.21]\def\refname{%>Ë42.22f{\cyr\CYRS\CYRp\CYRi\CYRs\CYRo\CYRk\space>Ë42.23p2\CYRl\CYRi\CYRt\CYRe\CYRr\CYRa\CYRt\CYRu\CYRr\CYRy}}%>Ë42.24]\def\abstractname{%>Ë42.25f{\cyr\CYRA\CYRn\CYRn\CYRo\CYRt\CYRa\CYRc\CYRi\CYRya}}%>Ë42.26]\def\bibname{%>Ë42.27f{\cyr\CYRB\CYRi\CYRb\CYRl\CYRi\CYRo\CYRg\CYRr\CYRa\CYRf\CYRi\CYRya}}%1627so>Ë42.28]\def\chaptername{% >Ë42.29f{\cyr\CYRG\CYRl\CYRa\CYRv\CYRa}}%>Ë42.30]\def\appendixname{%>Ë42.31f{\cyr\CYRP\CYRr\CYRi\CYRl\CYRo\CYRzh\CYRe\CYRn\CYRi\CYRe}}%OITherearetwonamesfortheT*ableofContentsthatareinuseinRussianpubli- Ications. v'>Ë42.32]\def\contentsname{%v'IF*orUUbGooksthisoneisappropriate:>Ë42.33f{\cyr\CYRO\CYRg\CYRl\CYRa\CYRv\CYRl\CYRe\CYRn\CYRi\CYRe}}%IbutUUforproGceedingsthefollowingispreferred:>Ë42.34ap%{\cyr\CYRS\CYRo\CYRd\CYRe\CYRr\CYRzh\CYRa\CYRn\CYRi\CYRe}}% >Ë42.35]\def\listfigurename{%>Ë42.36f{\cyr\CYRS\CYRp\CYRi\CYRs\CYRo\CYRk\space>Ë42.37p2\CYRi\CYRl\CYRl\CYRyu\CYRs\CYRt\CYRr\CYRa\CYRc\CYRi\CYRishrt}}%ITheUUListofT*ablesisnotusedsoweprovideanemptyde nitionbydefault. v'>Ë42.38]\def\listtablename{%>Ë42.39f%\CYRS\CYRp\CYRi\CYRs\CYRo\CYRk\space>Ë42.40f%\CYRt\CYRa\CYRb\CYRl\CYRi\CYRc}%>Ë42.41f}>Ë42.42]\def\indexname{%>Ë42.43f{\cyr\CYRP\CYRr\CYRe\CYRd\CYRm\CYRe\CYRt\CYRn\CYRy\CYRishrt\space>Ë42.44p2\CYRu\CYRk\CYRa\CYRz\CYRa\CYRt\CYRe\CYRl\CYRssgn}}%>Ë42.45]\def\authorname{%>Ë42.46f{\cyr\CYRI\CYRm\CYRe\CYRn\CYRn\CYRo\CYRishrt\space>Ë42.47p2\CYRu\CYRk\CYRa\CYRz\CYRa\CYRt\CYRe\CYRl\CYRssgn}}%>Ë42.48]\def\figurename{{\cyr\CYRR\CYRi\CYRs.}}%>Ë42.49]\def\tablename{{\cyr\CYRT\CYRa\CYRb\CYRl\CYRi\CYRc\CYRa}}%>Ë42.50]\def\partname{{\cyr\CYRCH\CYRa\CYRs\CYRt\CYRssgn}}%>Ë42.51]\def\enclname{{\cyr\CYRv\CYRk\CYRl.}}%>Ë42.52]\def\ccname{{\cyr\CYRi\CYRs\CYRh.}}%>Ë42.53]\def\headtoname{{\cyr\CYRv\CYRh.}}%>Ë42.54]\def\pagename{{\cyr\CYRs.}}%>Ë42.55]\def\seename{{\cyr\CYRs\CYRm.}}%>Ë42.56]\def\alsoname{{\cyr\CYRs\CYRm.\\CYRt\CYRa\CYRk\CYRzh\CYRe}}}bvb\daterussianITheEmacro\daterussianrede nesthecommand\todaytoproGduceRussian Idates.>Ë42.57S\def\month@russian{\ifcase\month\or>Ë42.58]\CYRya\CYRn\CYRv\CYRa\CYRr\CYRya\or>Ë42.59]\CYRf\CYRe\CYRv\CYRr\CYRa\CYRl\CYRya\or>Ë42.60]\CYRm\CYRa\CYRr\CYRt\CYRa\or>Ë42.61]\CYRa\CYRp\CYRr\CYRe\CYRl\CYRya\or>Ë42.62]\CYRm\CYRa\CYRya\or>Ë42.63]\CYRi\CYRyu\CYRn\CYRya\or>Ë42.64]\CYRi\CYRyu\CYRl\CYRya\or>Ë42.65]\CYRa\CYRv\CYRg\CYRu\CYRs\CYRt\CYRa\or>Ë42.66]\CYRs\CYRe\CYRn\CYRt\CYRya\CYRb\CYRr\CYRya\or>Ë42.67]\CYRo\CYRk\CYRt\CYRya\CYRb\CYRr\CYRya\or>Ë42.68]\CYRn\CYRo\CYRya\CYRb\CYRr\CYRya\or>Ë42.69]\CYRd\CYRe\CYRk\CYRa\CYRb\CYRr\CYRya\fi}>Ë42.70S\def\daterussian{%>Ë42.71]\def\today{\number\day~\month@russian\space\number\year~\CYRg.}}163E so 6\extrasrussianIThemacro\extrasrussianwillpGerformalltheextrade nitionsneededforthe IRussianNulanguage.o|Themacro\noextrasrussianisusedtocanceltheactionsofI\extrasrussian.XThef rstactionwede neistoswitchtotheLWNfencoGdingwheneverweenterI`russian'.>Ë42.72S\addto\extrasrussian{\cyrillictext}IWhen%the leLWNenc.defwasproGcessedbyLaT*eXitstoresthecurrentfontIencoGding=in\latinencoding,assumingthatL5ffA͉TU>'ExXusesT1orOT1asdefault.IThereforeweswitchbackto\latinencodingwhenevertherussianlanguageisnoIlongerUU`active'.>Ë42.73S\addto\noextrasrussian{\latintext} 6\verbatim@fontIInordertogetverbatimtextinthelatinalphabGetweneedtochangethede nitionIofUUaninternalL5ffA͉TU>'ExXcommandsomewhat:>Ë42.74S\def\verbatim@font{% >Ë42.75]\normalfont>Ë42.76]\fontencoding\latinencoding\ttfamily}XInordertobGeabletousecyrilliclettersinmathematicsweneedtohavethe IpackqageUUcyrmathavqailable.>Ë42.77S\AtEndOfPackage{\RequirePackage{cyrmath}}XThecategorycoGdeofthecharacters:,H;,!,ܲand?ismade\activetoinsertIaUUlittlewhitespace.XF*orUURussian(aswellasforGerman)the"characteralsoismadeactive.>Ë42.78S\initiate@active@char{:} >Ë42.79S\initiate@active@char{;}>Ë42.80S\initiate@active@char{!}>Ë42.81S\initiate@active@char{?}>Ë42.82S\initiate@active@char{"}IThe7coGdeabove7isnecessarybecauseweneedextraactivecharacters.|lThechar- IacterUU"isusedasindicatedintable17.XW*eUUspGecifythattherussiangroupofshorthandsshouldbeused.>Ë42.83S\addto\extrasrussian{\languageshorthands{russian}}ITheseUUcharactersare`turnedon'once,latertheirde nitionmayvqary*.>Ë42.84S\addto\extrasrussian{% >Ë42.85]\bbl@activate{:}\bbl@activate{;}%>Ë42.86]\bbl@activate{!}\bbl@activate{?}%>Ë42.87]\bbl@activate{"}}>Ë42.88S%\addto\noextrasrussian{%>Ë42.89S% s,\bbl@deactivate{:}\bbl@deactivate{;}%>Ë42.90S% s,\bbl@deactivate{!}\bbl@deactivate{?}%>Ë42.91S% s,\bbl@deactivate{"}} 6\russian@sh@;@ 6\russian@sh@:@ 6\russian@sh@!@ 6\russian@sh@?@IW*e havetoreducetheamountofwhitespacebGefore;,:Land!.XThisshouldonly IhappGenUUinhorizontalmode,hencethetestwith\ifhmode.>Ë42.92S\declare@shorthand{russian}{;}{%>Ë42.93]\ifhmode164QTsoIInEwhorizontalmoGdewecheckforthepresenceofa`space',H`unskip'ifitexistsand IplaceUUa0.1emkerning.>Ë42.94f\ifdim\lastskip>\z@ >Ë42.95p2\unskip\penalty\@M\thinspace>Ë42.96f\else>Ë42.97p2\thinspace>Ë42.98f\fi>Ë42.99]\fiINowUUwecaninserta;character.:42.100]\string;}XBecauseothesede nitionsareverysimilaronlyoneisdisplayedinawaythat ItheUUde nitioncanbGeeasilychecked.:42.101S\declare@shorthand{russian}{:}{% :42.102]\ifhmode:42.103f\ifdim\lastskip>\z@:42.104p2\unskip\penalty\@M\thinspace:42.105f\else:42.106p2\thinspace:42.107f\fi:42.108]\fi:42.109]\string:}:42.110S\declare@shorthand{russian}{!}{%:42.111]\ifhmode:42.112f\ifdim\lastskip>\z@:42.113p2\unskip\penalty\@M\thinspace:42.114f\else:42.115p2\thinspace:42.116f\fi:42.117]\fi:42.118]\string!}:42.119S\declare@shorthand{russian}{?}{%:42.120]\ifhmode:42.121f\ifdim\lastskip>\z@:42.122p2\unskip\penalty\@M\thinspace:42.123f\else:42.124p2\thinspace:42.125f\fi:42.126]\fi:42.127]\string?}\system@sh@:@ \system@sh@!@ \system@sh@?@ \system@sh@;@IWhenm=theactivecharactersappGearinanenvironmentwheretheirRussianbGe- IhaviourFisnotwantedtheyshouldgivean`expGected'result.(Thereforewede neIshorthandsUUatsystemlevelaswell.:42.128S\declare@shorthand{system}{:}{\string:} :42.129S\declare@shorthand{system}{!}{\string!}:42.130S\declare@shorthand{system}{?}{\string?}:42.131S\declare@shorthand{system}{;}{\string;}XT*oasbGeabletode nethefunctionof",zwe rstde neacoupleof`support' Imacros.165]so1\dqIW*eTKsavetheoriginaldoublequotecharacterin\dqtokeepitavqailable,Tthemath IaccentUU\"cannowbGetypGedas". Ӎ:42.132S\begingroup\catcode`\"12 :42.133S\def\x{\endgroup:42.134]\def\@SS{\mathchar"7019}:42.135]\def\dq{"}}:42.136S\xxxXNowƘwecande nethedoublequotemacros:TLgermanandfrenchquotes.ŏTheIfrenchUUquotesaremadedinRussianfontsotheyaredescribGedinlhrcod.sty Ӎ:42.137S\declare@shorthand{russian}{"`}{%:42.138]\textormath{\quotedblbase{}}{\mbox{\quotedblbase}}}:42.139S\declare@shorthand{russian}{"'}{%:42.140]\textormath{\kern-.07em\textquotedblleft{}}{\mbox{\textquotedblleft}}}:42.141S\declare@shorthand{russian}{"<}{%:42.142]\textormath{\flqq}{\mbox{\flqq}}}:42.143S\declare@shorthand{russian}{">}{%:42.144]\textormath{\frqq}{\mbox{\frqq}}}ӍIandUUsomeadditionalcommands::42.145S\declare@shorthand{russian}{""}{\hskip\z@skip}:42.146S\declare@shorthand{russian}{"~}{\textormath{\leavevmode\hbox{-}}{-}}:42.147S\declare@shorthand{russian}{"=}{\penalty\@M\hskip\z@skip}:42.148S\declare@shorthand{russian}{"|}{%:42.149]\textormath{\penalty\@M\discretionary{-}{}{\kern.03em}%:42.150\allowhyphens}{}}ӍIThenexttwomacrosfor"-and"---havesomedi erence. 4W*emustcheck IwhetherUUthesecondtokenisahyphencharacter::42.151S\declare@shorthand{russian}{"-}{%IIfUUthenexttokenis-,wetypGesetanemdash,else|hyphensign::42.152]\def\russian@sh@tmp{% :42.153f\if\russian@sh@next-\expandafter\russian@sh@emdash:42.154f\else\expandafter\russian@sh@hyphen\fi:42.155]}%ӍITU>'ExXloGoksforthenextsignafter rst-,themeaningofthissignitwritesto I\russian@sh@nextUUandcall\russian@sh@tmp:42.156]\futurelet\russian@sh@next\russian@sh@tmp}IThereUUarethede nitionsofhyphenandemdash:qhyphende nition::42.157S\def\russian@sh@hyphen{% :42.158]\penalty\@M\-\allowhyphens}Iemdashyde nition,therearethetwoyparameters:wemust\eat"twolasthyphen IsignsUUofouremdash::42.159S\def\russian@sh@emdash#1#2{% :42.160]\ifdim\lastskip>\z@:42.161f\unskip:42.162]\fi:42.163]\penalty\@M:42.164]\hskip.2\fontdimen6\font:42.165]\hboxto.8\fontdimen6\font{--\hss--}%:42.166]\hskip.2\fontdimen6\font:42.167]\ignorespaces}166fsoXTheZrussianhyphenationpatternscanbGeusedwith\lefthyphenminand I\righthyphenminUUsetto2. VC:42.168S\def\russianhyphenmins{\tw@\tw@}VCXNow8thething\extrasrussianneedstodoistomakesurethat\frenchspacingIisXine ect.yIfthisisnotthecasetheexecutionof\noextrasrussianwillswitchIitUUo again.:42.169S\addto\extrasrussian{\bbl@frenchspacing} :42.170S\addto\noextrasrussian{\bbl@nonfrenchspacing}ȍXNowweaddanewenumerationstyleforRussianmanuscriptswithCyrilliclet-Iters5andlateronwede nesomemathopGeratornamesinaccordancewithRussianItypGesettingUUtraditions."\AsbukIW*ewpbGeginbyde ning\Asbukwhichfunctionslike\Alph,butproGduces(uppercase)IcyrillicUUlettersinteadoflatinones. VC:42.171S\def\Asbuk#1{\expandafter\@Asbuk\csnamec@#1\endcsname} :42.172S\def\@Asbuk#1{\ifcase#1\or:42.173]\CYRA\or\CYRB\or\CYRV\or\CYRG\or\CYRD\or\CYRE\or\CYRZH\or:42.174]\CYRZ\or\CYRI\or\CYRK\or\CYRL\or\CYRM\or\CYRN\or\CYRO\or:42.175]\CYRP\or\CYRR\or\CYRS\or\CYRT\or\CYRU\or\CYRF\or\CYRH\or:42.176]\CYRC\or\CYRCH\or\CYRSH\or\CYRSHCH\or\CYRErev\or\CYRYU\or:42.177]\CYRYA\else\@ctrerr\fi}%"\asbukITheUUmacro\asbukissimilarto\alph,itproGduceslowercaseUURussianletters. VC:42.178S\def\asbuk#1{\expandafter\@asbuk\csnamec@#1\endcsname}:42.179S\def\@asbuk#1{\ifcase#1\or:42.180]\CYRa\or\CYRb\or\CYRv\or\CYRg\or\CYRd\or\CYRe\or\CYRzh\or:42.181]\CYRz\or\CYRi\or\CYRk\or\CYRl\or\CYRm\or\CYRn\or\CYRo\or:42.182]\CYRp\or\CYRr\or\CYRs\or\CYRt\or\CYRu\or\CYRf\or\CYRh\or:42.183]\CYRc\or\CYRch\or\CYRsh\or\CYRshch\or\CYRerev\or\CYRyu\or:42.184]\CYRya\else\@ctrerr\fi}b\mathrussianISome:mathfunctionsinRussianmathbGooks:haveothernames:e.g.Rwsinhin IRussianUUiswrittenasshetc.qSowede neanumbGerofnewmathoperators. VC:42.185S\def\sh{\mathop{\operator@fontsh}\nolimits}%sameas\sinh:42.186S\def\ch{\mathop{\operator@fontch}\nolimits}%sameas\cosh:42.187S\def\tg{\mathop{\operator@fonttg}\nolimits}%sameas\tan:42.188S\def\arctg{\mathop{\operator@fontarctg}\nolimits}%sameas\arctan:42.189S\def\arcctg{\mathop{\operator@fontarcctg}\nolimits}%:42.190S\def\th{\mathop{\operator@fontth}\nolimits}%sameas\tanh:42.191S\def\ctg{\mathop{\operator@fontctg}\nolimits}%sameas\cot:42.192S\def\cth{\mathop{\operator@fontcth}\nolimits}%sameas\coth:42.193S\def\cosec{\mathop{\operator@fontcosec}\nolimits}%sameas\csc:42.194S\def\Prob{\mathop{\hbox{\sfshapeP}}\nolimits}:42.195S\def\nod{\mathop{\operator@font\CYRn.\CYRo.\CYRd.}\nolimits}:42.196S\def\nok{\mathop{\operator@font\CYRn.\CYRo.\CYRk.}\nolimits}:42.197S\def\Variance{\mathop{\hbox{\sfshapeD}}\nolimits}XThemacro\ldf@finishtakescareofloGokingforacon guration le,setting IthefmainlanguagetobGeswitchedonat\begin{document}andresettingtheIcategoryUUcoGdeofr@toitsoriginalvqalue. VC:42.198S\ldf@finish{russian} :42.199Sh=coAdei167rpsoI43ifdTheffLowerSorbianlanguageIThe1 lelsorbian.dtx^57 hItde nesallthelanguage-spGeci cmacrosforLower1Sor- Ibian.XThemacro\LdfInittakescareofpreventingthatthis leisloadedmorethanIonce,UUcheckingthecategorycoGdeofthe@sign,etc.B43.1ShcoAdei B43.2S\LdfInit{lsorbian}\captionslsorbianXWhenTVthis leisreadasanoption,i.e. nbythe\usepackagecommand,Ilsorbian,ڲwillbGean`unknown'languageinwhichcasewehavetomakeitknown.ISocwecheckfortheexistenceof\l@lsorbiantoseewhetherwehavetodosome-IthingUUhere.B43.3S\ifx\l@lsorbian\@undefinedB43.4]\@nopatterns{Lsorbian}B43.5]\adddialect\l@lsorbian\l@usorbian\fiXThenextstepconsistsofde ningcommandstoswitchto(andfrom)theLowerISorbianUUlanguage.t\captionslsorbianIThePmacro\captionslsorbiande nesallstringsusedinthefourstandarddoGc-IumentclassesUUprovidedwithL5ffA͉TU>'ExX.B43.6S\addto\captionslsorbian{%B43.7]\def\prefacename{Zawod}%B43.8]\def\refname{Referency}%B43.9]\def\abstractname{Abstrakt}%>Ë43.10]\def\bibname{Literatura}%>Ë43.11]\def\chaptername{Kapitl}%>Ë43.12]\def\appendixname{Dodawki}%>Ë43.13]\def\contentsname{Wop\'simje\'se}%>Ë43.14]\def\listfigurename{Zapiswobrazow}%>Ë43.15]\def\listtablename{Zapistabulkow}%>Ë43.16]\def\indexname{Indeks}%>Ë43.17]\def\figurename{Wobraz}%>Ë43.18]\def\tablename{Tabulka}%>Ë43.19]\def\partname{\'Z\vel}%>Ë43.20]\def\enclname{P\'si\loga}%>Ë43.21]\def\ccname{CC}%>Ë43.22]\def\headtoname{Komu}%>Ë43.23]\def\pagename{Strona}%>Ë43.24]\def\seename{gl.}%>Ë43.25]\def\alsoname{gl.~teke}%>Ë43.26]\def\proofname{Proof}% s,<--needstranslation>Ë43.27]}% \newdatelsorbianIThemacro\newdatelsorbianrede nesthecommand\todaytoproGduceLowerISorbianUUdates.>Ë43.28S\def\newdatelsorbian{%>Ë43.29S\def\today{\number\day.~\ifcase\month\or>Ë43.30Sjanuara\orfebruara\orm\verca\orapryla\ormaja\orjunija\or>Ë43.31]julija\orawgusta\orseptembra\oroktobra\orIffffr J=w-:57LThe ledescribË43.32]nowembra\ordecembra\fi >Ë43.33f\space\number\year}} \olddatelsorbianIThe\vmacro\olddatelsorbianrede nesthecommand\todaytoproGduceold-style ILowerUUSorbiandates.>Ë43.34S\def\olddatelsorbian{%>Ë43.35]\def\today{\number\day.~\ifcase\month\or>Ë43.36fwjelikegoro\vzka\or>Ë43.37fma\legoro\vzka\or>Ë43.38fnal\vetnika\or>Ë43.39fjat\vsownika\or>Ë43.40fro\vzownika\or>Ë43.41fsma\vznika\or>Ë43.42fpra\vznika\or>Ë43.43f\vznje\'nca\or>Ë43.44fpo\vznje\'nca\or>Ë43.45fwinowca\or>Ë43.46fnazymnika\or>Ë43.47fgodownika\fi\space\number\year}}XTheUUdefaultwillbGethenew-styledates.>Ë43.48S\let\datelsorbian\newdatelsorbianf\extraslsorbian t\noextraslsorbianIThe Tmacro\extraslsorbianwillpGerformalltheextrade nitionsneededforthe Ilsorbianlanguage.@Themacro\noextraslsorbianisusedtocanceltheactionsofI\extraslsorbian.oF*orOthemomentthesemacrosareemptybuttheyarede nedIforUUcompatibilitywiththeotherlanguagede nition les.>Ë43.49S\addto\extraslsorbian{} >Ë43.50S\addto\noextraslsorbian{}XThemacro\ldf@finishtakescareofloGokingforacon guration le,settingIthefmainlanguagetobGeswitchedonat\begin{document}andresettingtheIcategoryUUcoGdeofr@toitsoriginalvqalue.>Ë43.51S\ldf@finish{lsorbian} >Ë43.52Sh=coAdei169soI44ifdTheffUpps3erSorbianlanguageIThe? leusorbian.dtx^58 b%Itde nesallthelanguage-spGeci cmacrosforUpper ISorbian.XThemacro\LdfInittakescareofpreventingthatthis leisloadedmorethanIonce,UUcheckingthecategorycoGdeofthe@sign,etc.B44.1ShcoAdei B44.2S\LdfInit{usorbian}\captionsusorbianXWhenTVthis leisreadasanoption,i.e. nbythe\usepackagecommand,Iusorbian,ڲwillbGean`unknown'languageinwhichcasewehavetomakeitknown.ISocwecheckfortheexistenceof\l@usorbiantoseewhetherwehavetodosome-IthingUUhere.B44.3S\ifx\l@usorbian\@undefinedB44.4f\@nopatterns{Usorbian}B44.5f\adddialect\l@usorbian0\fiXThenextstepconsistsofde ningcommandstoswitchto(andfrom)theUppGerISorbianUUlanguage.t\captionsusorbianIThePmacro\captionsusorbiande nesallstringsusedinthefourstandarddoGc-IumentclassesUUprovidedwithL5ffA͉TU>'ExX.B44.6S\addto\captionsusorbian{%B44.7]\def\prefacename{Zawod}%B44.8]\def\refname{Referency}%B44.9]\def\abstractname{Abstrakt}%>Ë44.10]\def\bibname{Literatura}%>Ë44.11]\def\chaptername{Kapitl}%>Ë44.12]\def\appendixname{Dodawki}%>Ë44.13]\def\contentsname{Wobsah}%>Ë44.14]\def\listfigurename{Zapiswobrazow}%>Ë44.15]\def\listtablename{Zapistabulkow}%>Ë44.16]\def\indexname{Indeks}%>Ë44.17]\def\figurename{Wobraz}%>Ë44.18]\def\tablename{Tabulka}%>Ë44.19]\def\partname{D\'z\vel}%>Ë44.20]\def\enclname{P\vr\loha}%>Ë44.21]\def\ccname{CC}%>Ë44.22]\def\headtoname{Komu}%>Ë44.23]\def\pagename{Strona}%>Ë44.24]\def\seename{hl.}%>Ë44.25]\def\alsoname{hl.~te\vz}>Ë44.26]\def\proofname{Proof}% s,<--needstranslation>Ë44.27]}% \newdateusorbianITheimacro\newdateusorbianrede nesthecommand\todaytoproGduceUpperISorbianUUdates.>Ë44.28S\def\newdateusorbian{%>Ë44.29S\def\today{\number\day.~\ifcase\month\or>Ë44.30Sjanuara\orfebruara\orm\verca\orapryla\ormeje\orjunija\or>Ë44.31]julija\orawgusta\orseptembra\oroktobra\orIffffr J=w-:58LThe) ledescribË44.32]nowembra\ordecembra\fi >Ë44.33f\space\number\year}} \olddateusorbianIThe\vmacro\olddateusorbianrede nesthecommand\todaytoproGduceold-style IUppGerUUSorbiandates. X>Ë44.34S\def\olddateusorbian{%>Ë44.35S\def\today{\number\day.~\ifcase\month\or>Ë44.36]wulkehor\'o\vzka\orma\lehor\'o\vzka\ornal\vetnika\or>Ë44.37]jutrownika\orr\'o\vzownika\or s,sma\vznika\orpra\vznika\or>Ë44.38]\vznjenca\orpo\vznjenca\orwinowca\ornazymnika\or>Ë44.39]hodownika\fi\space\number\year}}XTheUUdefaultwillbGethenew-styledates. X>Ë44.40S\let\dateusorbian\newdateusorbianf\extrasusorbianIThemacro\extrasusorbianwillpGerformalltheextrade nitionsneededfor Ithe/ UppGerSorbianlanguage. It'spiratedfromgermanb.sty.ThemacroI\noextrasusorbianUUisusedtocanceltheactionsof\extrasusorbian.XBecauseforUppGerSorbian(aswellasforDutch)the"characterismadeIactive.qThisUUisdoneonce,lateronitsde nitionmayvqary*. X>Ë44.41S\initiate@active@char{"} >Ë44.42S\addto\extrasusorbian{\languageshorthands{usorbian}}>Ë44.43S\addto\extrasusorbian{\bbl@activate{"}}>Ë44.44S%\addto\noextrasusorbian{\bbl@deactivate{"}}XXInVorderforTU>'ExXtobGeabletohyphenateGermanUpperSorbianwordswhich Icontain`'wehavetogivethecharacteranonzero\lccode(seeAppGendixH,theITU>'ExXbGook).>Ë44.45S\addto\extrasusorbian{\babel@savevariable{\lccode`\^^Y}% >Ë44.46]\lccode`\^^Y`\^^Y}XITheumlautaccentmacro\"ischangedtolowertheumlautdots.3PTherede nitionIisUUdonewiththehelpof\umlautlow.>Ë44.47S\addto\extrasusorbian{\babel@save\"\umlautlow} >Ë44.48S\addto\noextrasusorbian{\umlauthigh}XITheS4UppGerSorbianhyphenationpatternscanbeusedwith\lefthyphenminandI\righthyphenminUUsetto2.>Ë44.49S\def\usorbianhyphenmins{\tw@\tw@}1\dqIW*eTKsavetheoriginaldoublequotecharacterin\dqtokeepitavqailable,TthemathIaccentW\"cannowbGetypGedas".AlsowestoretheoriginalmeaningoftheIcommandUU\"forfutureuse.>Ë44.50S\begingroup\catcode`\"12 >Ë44.51S\def\x{\endgroup>Ë44.52]\def\@SS{\mathchar"7019}>Ë44.53]\def\dq{"}}>Ë44.54S\x XNowUUwecande nethedoublequotemacros:qtheumlauts,>Ë44.55S\declare@shorthand{usorbian}{"a}{\textormath{\"{a}}{\ddota}}>Ë44.56S\declare@shorthand{usorbian}{"o}{\textormath{\"{o}}{\ddoto}}>Ë44.57S\declare@shorthand{usorbian}{"u}{\textormath{\"{u}}{\ddotu}}171so>Ë44.58S\declare@shorthand{usorbian}{"A}{\textormath{\"{A}}{\ddotA}} >Ë44.59S\declare@shorthand{usorbian}{"O}{\textormath{\"{O}}{\ddotO}}>Ë44.60S\declare@shorthand{usorbian}{"U}{\textormath{\"{U}}{\ddotU}}uItremas, u>Ë44.61S\declare@shorthand{usorbian}{"e}{\textormath{\"{e}}{\ddote}}>Ë44.62S\declare@shorthand{usorbian}{"E}{\textormath{\"{E}}{\ddotE}}>Ë44.63S\declare@shorthand{usorbian}{"i}{\textormath{\"{\i}}{\ddot\imath}}>Ë44.64S\declare@shorthand{usorbian}{"I}{\textormath{\"{I}}{\ddotI}}IusorbianUUes-zet(sharps), u>Ë44.65S\declare@shorthand{usorbian}{"s}{\textormath{\ss{}}{\@SS{}}}>Ë44.66S\declare@shorthand{usorbian}{"S}{SS}IgermanUUandfrenchquotes, u>Ë44.67S\declare@shorthandusorbian{}{"`}{%>Ë44.68]\textormath{\quotedblbase{}}{\mbox{\quotedblbase}}}>Ë44.69S\declare@shorthand{usorbian}{"'}{%>Ë44.70]\textormath{\textquotedblleft{}}{\mbox{\textquotedblleft}}}>Ë44.71S\declare@shorthand{usorbian}{"<}{%>Ë44.72]\textormath{\guillemotleft{}}{\mbox{\guillemotleft}}}>Ë44.73S\declare@shorthand{usorbian}{">}{%>Ë44.74]\textormath{\guillemotright{}}{\mbox{\guillemotright}}}IdiscretionaryUUcommands u>Ë44.75S\declare@shorthand{usorbian}{"c}{\textormath{\bbl@discck}{c}}>Ë44.76S\declare@shorthand{usorbian}{"C}{\textormath{\bbl@discCK}{C}}>Ë44.77S\declare@shorthand{usorbian}{"f}{\textormath{\bbl@discf{ff}}{f}}>Ë44.78S\declare@shorthand{usorbian}{"F}{\textormath{\bbl@discF{FF}}{F}}>Ë44.79S\declare@shorthand{usorbian}{"l}{\textormath{\bbl@discl{ll}}{l}}>Ë44.80S\declare@shorthand{usorbian}{"L}{\textormath{\bbl@discL{LL}}{L}}>Ë44.81S\declare@shorthand{usorbian}{"m}{\textormath{\bbl@discm{mm}}{m}}>Ë44.82S\declare@shorthand{usorbian}{"M}{\textormath{\bbl@discM{MM}}{M}}>Ë44.83S\declare@shorthand{usorbian}{"n}{\textormath{\bbl@discn{nn}}{n}}>Ë44.84S\declare@shorthand{usorbian}{"N}{\textormath{\bbl@discN{NN}}{N}}>Ë44.85S\declare@shorthand{usorbian}{"p}{\textormath{\bbl@discp{pp}}{p}}>Ë44.86S\declare@shorthand{usorbian}{"P}{\textormath{\bbl@discP{PP}}{P}}>Ë44.87S\declare@shorthand{usorbian}{"t}{\textormath{\bbl@disct{tt}}{t}}>Ë44.88S\declare@shorthand{usorbian}{"T}{\textormath{\bbl@discT{TT}}{T}}IandUUsomeadditionalcommands: u>Ë44.89S\declare@shorthand{usorbian}{"-}{\penalty\@M\-\allowhyphens}>Ë44.90S\declare@shorthand{usorbian}{"|}{%>Ë44.91]\textormath{\penalty\@M\discretionary{-}{}{\kern.03em}%>Ë44.92\allowhyphens}{}}>Ë44.93S\declare@shorthand{usorbian}{""}{\hskip\z@skip}_"\mdqon 3P\mdqoff 1\ckIAll#that'slefttodonowistode neacoupleofcommandsforreasonsofcompat- IibilityUUwithgerman.sty.>Ë44.94S\def\mdqon{\bbl@activate{"}}>Ë44.95S\def\mdqoff{\bbl@deactivate{"}}>Ë44.96S\def\ck{\allowhyphens\discretionary{k-}{k}{ck}\allowhyphens}_XThemacro\ldf@finishtakescareofloGokingforacon guration le,setting IthefmainlanguagetobGeswitchedonat\begin{document}andresettingtheIcategoryUUcoGdeofr@toitsoriginalvqalue.172"so>Ë44.97S\ldf@finish{usorbian} >Ë44.98Sh=coAdei173soI45ifdTheffTfurkishlanguageIThe9 leturkish.dtx^59 ode nesallthelanguagede nitionmacrosfortheT*urkish Ilanguage^60x.XT*urkishtypGographicrulesspecifythatalittle`whitespace'shouldbeaddedIbGefore2thecharacters`:',9}`!'f-and`='.Inordertoinsertthiswhitespaceautomat-IicallyUUthesecharactersaremade`active'.qAlso\frenhspacingisset.XThemacro\LdfInittakescareofpreventingthatthis leisloadedmorethanIonce,UUcheckingthecategorycoGdeofthe@sign,etc.B45.1ShcoAdei B45.2S\LdfInit{turkish}\captionsturkishXWhen[this leisreadasanoption,i.e.bythe\usepackagecommand,turkishIcouldz"bGean`unknown'languageinwhichcasewehavetomakeitknown./SoweIcheck&Jfortheexistenceof\l@turkishtoseewhetherwehavetodosomethingIhere.B45.3S\ifx\l@turkish\@undefinedB45.4]\@nopatterns{Turkish}B45.5]\adddialect\l@turkish0\fiXTheqnextstepconsistsofde ningcommandstoswitchto(andfrom)theT*urk-IishUUlanguage. \captionsturkishITheImacro\captionsturkishde nesallstringsusedinthefourstandarddoGcu-ImentclassesUUprovidedwithL5ffA͉TU>'ExX.B45.6S\addto\captionsturkish{%B45.7]\def\prefacename{Preface}%<--Thisneedstranslation!!B45.8]\def\refname{Ba\csvurulanKitaplar}%B45.9]\def\abstractname{Konu}%>Ë45.10]\def\bibname{Bibliografi}%>Ë45.11]\def\chaptername{Anab\"ol\"um}%>Ë45.12]\def\appendixname{Appendix}%>Ë45.13]\def\contentsname{\.I\ccindekiler}%>Ë45.14]\def\listfigurename{\cSekillerListesi}%>Ë45.15]\def\listtablename{Tablolar\i{}nListesi}%>Ë45.16]\def\indexname{\.Index}%>Ë45.17]\def\figurename{\cSekiller}%>Ë45.18]\def\tablename{Tablo}%>Ë45.19]\def\partname{B\"ol\"um}%>Ë45.20]\def\enclname{Ekler}%>Ë45.21]\def\ccname{G\"onderen}%>Ë45.22]\def\headtoname{Al\i{}c\i}%>Ë45.23]\def\pagename{Sayfa}%>Ë45.24]\def\subjectname{To}%<--Thisneedstranslation!!>Ë45.25]\def\seename{see}%<--Thisneedstranslation!!>Ë45.26]\def\alsoname{seealso}%<--Thisneedstranslation!!>Ë45.27]\def\proofname{Proof}%<--Thisneedstranslation!!>Ë45.28S}%I&effr J=w-:59LThe ledescribw-:60LMustafaBurc,z6001@rziris01.rrz.uni-hamburg.deproÎvidedthecoË45.29S\def\dateturkish{% >Ë45.30]\def\today{\number\day.~\ifcase\month\or>Ë45.31fOcak\or\cSubat\orMart\orNisan\orMay\i{}s\orHaziran\or>Ë45.32fTemmuz\orA\ugustos\orEyl\"ul\orEkim\orKas\i{}m\or>Ë45.33fAral\i{}k\fi>Ë45.34f\space\number\year}} 6\extrasturkish \noextrasturkishIThemacro\extrasturkishwillpGerformalltheextrade nitionsneededfortheIT*urkish^language. Themacro\noextrasturkishisusedtocanceltheactionsofI\extrasturkish.XT*urkishtypGographicrulesspecifythatalittle`whitespace'shouldbeaddedIbGefore2thecharacters`:',9}`!'f-and`='.Inordertoinsertthiswhitespaceautomat-Iicallyuthesecharactersaremade\active,}sotheyhavetobGetreatedinaspecialIway*.>Ë45.35S\initiate@active@char{:}>Ë45.36S\initiate@active@char{!}>Ë45.37S\initiate@active@char{=}IW*eUUspGecifythattheturkishgroupofshorthandsshouldbeused.>Ë45.38S\addto\extrasturkish{\languageshorthands{turkish}}ITheseUUcharactersare`turnedon'once,latertheirde nitionmayvqary*.>Ë45.39S\addto\extrasturkish{% >Ë45.40]\bbl@activate{:}\bbl@activate{!}\bbl@activate{=}}XF*orTurkishtexts\frenchspacingshouldbGeine ect.Wemakesurethisis ItheUUcaseandresetitifnecessary*.>Ë45.41S\addto\extrasturkish{\bbl@frenchspacing} >Ë45.42S\addto\noextrasturkish{\bbl@nonfrenchspacing} 6\turkish@sh@!@ 6\turkish@sh@=@ 6\turkish@sh@:@IThei;de nitionsforthethreeactivecharactersweremadeusingintermediateImacros.TheseSarede nednow.Theinsertionofextra`whitespace'shouldonlyIhappGenUUoutsidemathmode,hencethecheckUU\ifmmodeinthemacros.>Ë45.43S\declare@shorthand{turkish}{:}{% >Ë45.44]\ifmmode>Ë45.45f\string:%>Ë45.46]\else\relax>Ë45.47f\ifhmode>Ë45.48p2\ifdim\lastskip>\z@>Ë45.49yw^\unskip\penalty\@M\thinspace>Ë45.50p2\fi>Ë45.51f\fi>Ë45.52f\string:%>Ë45.53]\fi}>Ë45.54S\declare@shorthand{turkish}{!}{%>Ë45.55]\ifmmode>Ë45.56f\string!%>Ë45.57]\else\relax>Ë45.58f\ifhmode>Ë45.59p2\ifdim\lastskip>\z@>Ë45.60yw^\unskip\penalty\@M\thinspace>Ë45.61p2\fi175džso>Ë45.62f\fi >Ë45.63f\string!%>Ë45.64]\fi}>Ë45.65S\declare@shorthand{turkish}{=}{%>Ë45.66]\ifmmode>Ë45.67f\string=%>Ë45.68]\else\relax>Ë45.69f\ifhmode>Ë45.70p2\ifdim\lastskip>\z@>Ë45.71yw^\unskip\kern\fontdimen2\font>Ë45.72yw^\kern-1.4\fontdimen3\font>Ë45.73p2\fi>Ë45.74f\fi>Ë45.75f\string=%>Ë45.76]\fi}XThemacro\ldf@finishtakescareofloGokingforacon guration le,setting IthefmainlanguagetobGeswitchedonat\begin{document}andresettingtheIcategoryUUcoGdeofr@toitsoriginalvqalue.>Ë45.77S\ldf@finish{turkish} >Ë45.78Sh=coAdei176soI46ifdTheffBahasalanguageIThe lebahasa.dtx^61 zֲde nesallthelanguagede nitionmacrosforthebahasa Iindonesia/bahasamelayulanguage.7Bahasajustmeans`language'inbahasaIindonesia/bahasamelayu.SincebGothnationalversionsofthelanguageusetheIsamewriting,Palthoughdi eringinpronounciation,this lecanbGeusedforbothIlanguages.XF*orUUthislanguagecurrentlynospGecialde nitionsareneededoravqailable.XThemacro\LdfInittakescareofpreventingthatthis leisloadedmorethanIonce,UUcheckingthecategorycoGdeofthe@sign,etc.B46.1ShcoAdei B46.2S\LdfInit{bahasa}\captionsbahasaXWhenHthis leisreadasanoption,i.e.Dbythe\usepackagecommand,bahasaIcouldz"bGean`unknown'languageinwhichcasewehavetomakeitknown./SoweIcheckfortheexistenceof\l@bahasatoseewhetherwehavetodosomethinghere.B46.3S\ifx\l@bahasa\@undefinedB46.4]\@nopatterns{Bahasa}B46.5]\adddialect\l@bahasa0\fiXTheqnextstepconsistsofde ningcommandstoswitchto(andfrom)theBa-IhasaUUlanguage.f\captionsbahasaIThemacro\captionsbahasade nesallstringsusedinthefourstandarddoGcu-ImentclassesUUprovidedwithL5ffA͉TU>'ExX.B46.6S\addto\captionsbahasa{%B46.7]\def\prefacename{Pendahuluan}%B46.8]\def\refname{Pustaka}%B46.9]\def\abstractname{Ringkasan}%(sometimeit'scalled'intisari'>Ë46.10jB% s,or'ikhtisar')>Ë46.11]\def\bibname{Bibliografi}%>Ë46.12]\def\chaptername{Bab}%>Ë46.13]\def\appendixname{Lampiran}%>Ë46.14]\def\contentsname{DaftarIsi}%>Ë46.15]\def\listfigurename{DaftarGambar}%>Ë46.16]\def\listtablename{DaftarTabel}%>Ë46.17S%Glossary:DaftarIstilah>Ë46.18]\def\indexname{Indeks}%>Ë46.19]\def\figurename{Gambar}%>Ë46.20]\def\tablename{Tabel}%>Ë46.21]\def\partname{Bagian}%>Ë46.22S% s,Subject:Subyek>Ë46.23S% s,From:Dari>Ë46.24]\def\enclname{Lampiran}%>Ë46.25]\def\ccname{cc}%>Ë46.26]\def\headtoname{Kepada}%>Ë46.27]\def\pagename{Halaman}%>Ë46.28S% s,Notes(Endnotes):Catatan>Ë46.29]\def\seename{lihat}%>Ë46.30]\def\alsoname{lihatjuga}%>Ë46.31]\def\proofname{Bukti}%Iffffr J=w-:61LThe) ledescribË46.32]} L\datebahasaIThemacro\datebahasarede nesthecommand\todaytoproGduceBahasadates.>Ë46.33S\def\datebahasa{% >Ë46.34]\def\today{\number\day~\ifcase\month\or>Ë46.35fJanuari\orFebruari\orMaret\orApril\orMei\orJuni\or>Ë46.36fJuli\orAgustus\orSeptember\orOktober\orNopember\orDesember\fi>Ë46.37f\space\number\year}}\extrasbahasa f\noextrasbahasaIThemacro\extrasbahasawillpGerformalltheextrade nitionsneededforthe IBahasaXlanguage.Themacro\extrasbahasaisusedtocanceltheactionsofI\extrasbahasa.KF*orthemomentthesemacrosareemptybuttheyarede nedforIcompatibilityUUwiththeotherlanguagede nition les.>Ë46.38S\addto\extrasbahasa{} >Ë46.39S\addto\noextrasbahasa{}t\bahasahyphenminsITheQbahasahyphenationpatternsshouldbGeusedwith\lefthyphenminsetto2IandUU\righthyphenminsetto2.>Ë46.40S\def\bahasahyphenmins{\tw@\tw@}XThemacro\ldf@finishtakescareofloGokingforacon guration le,settingIthefmainlanguagetobGeswitchedonat\begin{document}andresettingtheIcategoryUUcoGdeofr@toitsoriginalvqalue.>Ë46.41S\ldf@finish{bahasa} >Ë46.42Sh=coAdei1787soI47ifdSupps3ortffforformatsbasedonplainTL32EdXIThe=followingcoGdeduplicatesoremulatespartsofL5ffA͉TU>'ExX2"-"$thatareneededfor IbabGel.B47.1ShcoAdei B47.2S\ifx\adddialect\@undefinedIWhen\adddialectisstillunde nedwearemakingaformat.K`InthatcaseonlyItheUU rstpartofthis leisneeded.B47.3]\def\@empty{}IW*ezneedtode ne\loadlocalcfgforplainusersastheL5ffA͉TU>'ExXde nitionusesI\InputIfFileExists.B47.4]\def\loadlocalcfg#1{% B47.5f\openin0#1.cfgB47.6f\ifeof0B47.7p2\closein0B47.8f\elseB47.9p2\closein0>Ë47.10p2{\immediate\write16{*************************************}%>Ë47.11t\immediate\write16{*Localconfigfile#1.cfgused}%>Ë47.12t\immediate\write16{*}%>Ë47.13t}>Ë47.14p2\input#1.cfg\relax>Ë47.15f\fiIW*eUUhavetoexecute\@endofldfinthiscase>Ë47.16f\@endofldf>Ë47.17f}XW*e>wanttoaddamessagetothemessageL5ffA͉TU>'ExXr&2.09putsinthe\everyjob Iregister.qThisUUcouldbGedonebythefollowingcoGde:[X\let\orgeveryjob\everyjob[X\def\everyjob#1{%eY\orgeveryjob{#1}%eY\orgeveryjob\expandafter{\the\orgeveryjob\immediate\write16{%x?hyphenationpatternsfor\the\loaded@patternsloaded.}}%eY\let\everyjob\orgeveryjob\let\orgeveryjob\@undefined}IThecoGdeaboverede nesthecontrolsequence\everyjobinordertobeabletoIadd>somethingtothecurrentcontentsoftheregister.ThisisnecessarybGecauseIthehproGcessingofhyphenationpatternshappenslongbeforeL5ffA͉TU>'ExX llstheregister.IThereUUaresomeproblemswiththisapproachthough.XbWhenRsomeonewantsRtouseseveralhyphenationpatternswithSfhL38ICiTU>'ExXthebabGoveschemewon'twork.8KThereasonisthatSfhL38ICiTU>'ExXoverwritesthecontentsbofUUthe\everyjobregisterwithitsownmessage.XbPlainTU>'ExXdoGesnotusethe\everyjobregistersothemessagewouldnotbebdisplayed.IT*o{circumventthisa`dirtytrick'canbGeused.lAsthiscodeisonlyprocessedIwhen)creatinganewformat lethereisonecommandthatissuretobGeused,179`soI\dump.^Thereforetheorginal\dumpissavedin\org@dumpandanewde nitionis Isupplied.>Ë47.18]\let\orig@dump=\dump >Ë47.19]\def\dump{%IT*o&makesurethatL5ffA͉TU>'ExXƒ2.09executesthe\@begindocumenthookwewouldwantItoalter\begin{document},]butasthisdonetoGooftenalready*,weaddthenewIcoGdeatthefrontof\@preamblecmds.2ButwecanonlydothatafterithasbGeenIde ned,UUsoweaddthispGeiceofcodeto\dump.>Ë47.20f\ifx\@ztryfc\@undefined >Ë47.21f\else>Ë47.22p2\toks0=\expandafter{\@preamblecmds}>Ë47.23p2\edef\@preamblecmds{\noexpand\@begindocumenthook\the\toks0}>Ë47.24p2\def\@begindocumenthook{}>Ë47.25f\fiIThisanewde nitionstartsbyaddinganinstructiontowriteamessageonthe Iterminalׂandinthetranscript letoinformtheuserofthepreloadedhyphenationIpatterns.>Ë47.26f\everyjob\expandafter{\the\everyjob% >Ë47.27p2\immediate\write16{\the\toks8loaded.}}%IThenUUeverythingisrestoredtotheoldsituationandtheformatisdumpGed.>Ë47.28f\let\dump\orig@dump\let\orig@dump\@undefined\dump}>Ë47.29]\expandafter\endinput>Ë47.30S\fiITherestofthis leisnotproGcessedbyiniTU>'ExXbutduringthenormaldocument Irun.qAUUnumbGerofL5ffA͉TU>'ExXmacro'sthatareneededlateron.>Ë47.31S\long\def\@firstofone#1{#1}>Ë47.32S\long\def\@firstoftwo#1#2{#1}>Ë47.33S\def\@ifstar#1{\@ifnextchar*{\@firstoftwo{#1}}}>Ë47.34S\def\@star@or@long#1{%>Ë47.35]\@ifstar>Ë47.36]{\let\l@ngrel@x\relax#1}%>Ë47.37]{\let\l@ngrel@x\long#1}}>Ë47.38S\let\l@ngrel@x\relax>Ë47.39S\def\@car#1#2\@nil{#1}>Ë47.40S\def\@cdr#1#2\@nil{#2}>Ë47.41S\let\@typeset@protect\relax>Ë47.42S\long\def\@gobble#1{}>Ë47.43S\edef\@backslashchar{\expandafter\@gobble\string\\}>Ë47.44S\def\strip@prefix#1>{}>Ë47.45S\def\g@addto@macro#1#2{{%>Ë47.46f\toks@\expandafter{#1#2}%>Ë47.47f\xdef#1{\the\toks@}}}>Ë47.48S\def\@namedef#1{\expandafter\def\csname#1\endcsname}IL5ffA͉TU>'ExX2"r,has?thecommand\@onlypreamblewhichaddscommandstoalistof IcommandsUUthatarenolongerneededafter\begin{document}.>Ë47.49S\ifx\@preamblecmds\@undefined>Ë47.50]\def\@preamblecmds{}>Ë47.51S\fi>Ë47.52S\def\@onlypreamble#1{%>Ë47.53]\expandafter\gdef\expandafter\@preamblecmds\expandafter{%180so>Ë47.54f\@preamblecmds\do#1}} >Ë47.55S\@onlypreamble\@onlypreambleIMimmickL5ffA͉TU>'ExX's\AtBeginDocument;ߦforthistoworktheuserneedstoadd I\begindocumentUUtohis le. >Ë47.56S\def\begindocument{%>Ë47.57]\@begindocumenthook>Ë47.58]\global\let\@begindocumenthook\@undefined>Ë47.59]\def\do##1{\global\let##1\@undefined}%>Ë47.60]\@preamblecmds>Ë47.61]\global\let\do\noexpand>Ë47.62]}@>Ë47.63S\ifx\@begindocumenthook\@undefined>Ë47.64]\def\@begindocumenthook{}>Ë47.65S\fi>Ë47.66S\@onlypreamble\@begindocumenthook>Ë47.67S\def\AtBeginDocument{\g@addto@macro\@begindocumenthook}IW*eaAalsohaveaAtomimickL5ffA͉TU>'ExX's\AtEndOfPackage.OurreplacementmacroisImuchUUsimpler;itstoresitsargumentin\@endofldf. >Ë47.68S\def\AtEndOfPackage#1{\g@addto@macro\@endofldf{#1}}>Ë47.69S\@onlypreamble\AtEndOfPackage>Ë47.70S\def\@endofldf{}>Ë47.71S\@onlypreamble\@endofldfIL5ffA͉TU>'ExX8needstobGeabletoswitcho writingtoitsauxiliary les;plaindoesn'tIhaveUUthembydefault. >Ë47.72S\let\if@filesw\iffalseIMimickUUL5ffA͉TU>'ExX'scommandstode necontrolsequences.>Ë47.73S\def\newcommand{\@star@or@long\new@command} >Ë47.74S\def\new@command#1{%>Ë47.75]\@testopt{\@newcommand#1}0}>Ë47.76S\def\@newcommand#1[#2]{%>Ë47.77]\@ifnextchar[{\@xargdef#1[#2]}%>Ë47.78D{\@argdef#1[#2]}}>Ë47.79S\long\def\@argdef#1[#2]#3{%>Ë47.80]\@yargdef#1\@ne{#2}{#3}}>Ë47.81S\long\def\@xargdef#1[#2][#3]#4{%>Ë47.82]\expandafter\def\expandafter#1\expandafter{%>Ë47.83f\expandafter\@protected@testopt\expandafter#1%>Ë47.84f\csname\string#1\expandafter\endcsname{#3}}%>Ë47.85]\expandafter\@yargdef\csname\string#1\endcsname>Ë47.86]\tw@{#2}{#4}}>Ë47.87S\long\def\@yargdef#1#2#3{%>Ë47.88]\@tempcnta#3\relax>Ë47.89]\advance\@tempcnta\@ne>Ë47.90]\let\@hash@\relax>Ë47.91]\edef\reserved@a{\ifx#2\tw@[\@hash@1]\fi}%>Ë47.92]\@tempcntb#2%>Ë47.93]\@whilenum\@tempcntb<\@tempcnta>Ë47.94]\do{%>Ë47.95f\edef\reserved@a{\reserved@a\@hash@\the\@tempcntb}%>Ë47.96f\advance\@tempcntb\@ne}%>Ë47.97]\let\@hash@##%181so>Ë47.98]\l@ngrel@x\expandafter\def\expandafter#1\reserved@a} >Ë47.99S\let\providecommand\newcommand:47.100:47.101S\def\DeclareRobustCommand{\@star@or@long\declare@robustcommand}:47.102S\def\declare@robustcommand#1{%:47.103ap\edef\reserved@a{\string#1}%:47.104ap\def\reserved@b{#1}%:47.105ap\edef\reserved@b{\expandafter\strip@prefix\meaning\reserved@b}%:47.106ap\edef#1{%:47.107p2\ifx\reserved@a\reserved@b:47.108~0\noexpand\x@protect:47.109~0\noexpand#1%:47.110p2\fi:47.111p2\noexpand\protect:47.112p2\expandafter\noexpand\csname:47.113~0\expandafter\@gobble\string#1\endcsname:47.114ap}%:47.115ap\expandafter\new@command\csname:47.116p2\expandafter\@gobble\string#1\endcsname:47.117S}:47.118S\def\x@protect#1{%:47.119ap\ifx\protect\@typeset@protect\else:47.120p2\@x@protect#1%:47.121ap\fi:47.122S}:47.123S\def\@x@protect#1\fi#2#3{%:47.124ap\fi\protect#1%:47.125S}XL5ffA͉TU>'ExXuhasamacrotocheckuwhetheracertainpackqagewasloadedwithspGeci c Ioptions.MsTheYcommandhastwoYextraargumentswhicharecoGdetobeexecutedinIeitherthetrueorfalsecase.YThisisusedtodetectwhetherthedoGcumentneedsIone{oftheaccentstobGeactivqated(activegraveandactiveacute).\F*orplainTU>'ExXweIassumetthattheuserwantstthemtobGeactivebydefault.E'ThereforetheonlythingIweUUdoisexecutethethirdargument(thecoGdeforthetruecase).:47.126S\def\@ifpackagewith#1#2#3#4{% :47.127]#3}XF*orrthefollowingcoGdeweneedtomakesurethatthecommands\newcommandIand`\providecommandexistwithsomesensiblede nition.TheyarenotfullyIequivqalentWRtotheirL5ffA͉TU>'ExX2"2Nversions;QjustenoughtomakethingsworkinIplainUUTU>'ExXenvironments.:47.128S\ifx\@tempcnta\@undefined :47.129]\csnamenewcount\endcsname\@tempcnta\relax:47.130S\fi:47.131S\ifx\@tempcntb\@undefined:47.132]\csnamenewcount\endcsname\@tempcntb\relax:47.133S\fiIT*oPpreventwastingtwocountersinL5ffA͉TU>'ExX2.09(bGecausecounterswiththesame InamevarealloGcatedlaterbyit)weresetthecounterthatholdsthenextfreecounterI(\count10).:47.134S\ifx\bye\@undefined182 ɠso:47.135XdD\advance\count10by-2\relax :47.136S\fi:47.137S\ifx\@ifnextchar\@undefined:47.138]\def\@ifnextchar#1#2#3{%:47.139f\let\reserved@d=#1%:47.140f\def\reserved@a{#2}\def\reserved@b{#3}%:47.141f\futurelet\@let@token\@ifnch}:47.142]\def\@ifnch{%:47.143f\ifx\@let@token\@sptoken:47.144p2\let\reserved@c\@xifnch:47.145f\else:47.146p2\ifx\@let@token\reserved@d:47.147yw^\let\reserved@c\reserved@a:47.148p2\else:47.149yw^\let\reserved@c\reserved@b:47.150p2\fi:47.151f\fi:47.152f\reserved@c}:47.153]\def\:{\let\@sptoken=}\: s,%thismakes\@sptokenaspacetoken:47.154]\def\:{\@xifnch}\expandafter\def\:{\futurelet\@let@token\@ifnch}:47.155S\fi:47.156S\def\@testopt#1#2{%:47.157]\@ifnextchar[{#1}{#1[#2]}}:47.158S\def\@protected@testopt#1{%%:47.159]\ifx\protect\@typeset@protect:47.160f\expandafter\@testopt:47.161]\else:47.162f\@x@protect#1%:47.163]\fi}:47.164S\long\def\@whilenum#1\do#2{\ifnum#1\relax#2\relax\@iwhilenum{#1\relax:47.165kJ#2\relax}\fi}:47.166S\long\def\@iwhilenum#1{\ifnum#1\expandafter\@iwhilenum:47.167~0\else\expandafter\@gobble\fi{#1}}ICoGdeUUfromltoutenc.dtx,adaptedforuseintheplainTU>'ExXenvironment. :47.168S\def\DeclareTextCommand{%:47.169ap\@dec@text@cmd\providecommand:47.170S}:47.171S\def\ProvideTextCommand{%:47.172ap\@dec@text@cmd\providecommand:47.173S}:47.174S\def\DeclareTextSymbol#1#2#3{%:47.175ap\@dec@text@cmd\chardef#1{#2}#3\relax:47.176S}:47.177S\def\@dec@text@cmd#1#2#3{%:47.178ap\expandafter\def\expandafter#2%:47.179p2\expandafter{%:47.180~0\csname#3-cmd\expandafter\endcsname:47.181~0\expandafter#2%:47.182~0\csname#3\string#2\endcsname:47.183p2}%:47.184S%,\let\@ifdefinable\@rc@ifdefinable:47.185ap\expandafter#1\csname#3\string#2\endcsname:47.186S}:47.187S\def\@current@cmd#1{%183so:47.188]\ifx\protect\@typeset@protect\else :47.189p2\noexpand#1\expandafter\@gobble:47.190]\fi:47.191S}:47.192S\def\@changed@cmd#1#2{%:47.193ap\ifx\protect\@typeset@protect:47.194p2\expandafter\ifx\csname\cf@encoding\string#1\endcsname\relax:47.195~0\expandafter\ifx\csname?\string#1\endcsname\relax:47.196]\expandafter\def\csname?\string#1\endcsname{%:47.197x\@changed@x@err{#1}%:47.198]}%:47.199~0\fi:47.200~0\global\expandafter\let:47.201 \csname\cf@encoding\string#1\expandafter\endcsname:47.202 \csname?\string#1\endcsname:47.203p2\fi:47.204p2\csname\cf@encoding\string#1%:47.205yw^\expandafter\endcsname:47.206ap\else:47.207p2\noexpand#1%:47.208ap\fi:47.209S}:47.210S\def\@changed@x@err#1{%:47.211f\errhelp{Yourcommandwillbeignored,typetoproceed}%:47.212f\errmessage{Command\protect#1undefinedinencoding\cf@encoding}}:47.213S\def\DeclareTextCommandDefault#1{%:47.214ap\DeclareTextCommand#1?%:47.215S}:47.216S\def\ProvideTextCommandDefault#1{%:47.217ap\ProvideTextCommand#1?%:47.218S}:47.219S\expandafter\let\csnameOT1-cmd\endcsname\@current@cmd:47.220S\expandafter\let\csname?-cmd\endcsname\@changed@cmd:47.221S\def\DeclareTextAccent#1#2#3{%:47.222]\DeclareTextCommand#1{#2}[1]{\accent#3##1}:47.223S}:47.224S\def\DeclareTextCompositeCommand#1#2#3#4{%:47.225ap\expandafter\let\expandafter\reserved@a\csname#2\string#1\endcsname:47.226ap\edef\reserved@b{\string##1}%:47.227ap\edef\reserved@c{%:47.228kJ\expandafter\@strip@args\meaning\reserved@a:-\@strip@args}%:47.229ap\ifx\reserved@b\reserved@c:47.230p2\expandafter\expandafter\expandafter\ifx:47.231~0\expandafter\@car\reserved@a\relax\relax\@nil:47.232~0\@text@composite:47.233p2\else:47.234~0\edef\reserved@b##1{%:47.235]\def\expandafter\noexpand:47.236x\csname#2\string#1\endcsname####1{%:47.237x\noexpand\@text@composite:47.238:\expandafter\noexpand\csname#2\string#1\endcsname:47.239:####1\noexpand\@empty\noexpand\@text@composite:47.240:{##1}%:47.241]}%184 ~so:47.242~0}% :47.243~0\expandafter\reserved@b\expandafter{\reserved@a{##1}}%:47.244p2\fi:47.245p2\expandafter\def\csname\expandafter\string\csname:47.246~0#2\endcsname\string#1-\string#3\endcsname{#4}:47.247ap\else:47.248kJ\errhelp{Yourcommandwillbeignored,typetoproceed}%:47.249kJ\errmessage{\string\DeclareTextCompositeCommand\spaceusedon:47.250~0inappropriatecommand\protect#1}:47.251ap\fi:47.252S}:47.253S\def\@text@composite#1#2#3\@text@composite{%:47.254ap\expandafter\@text@composite@x:47.255p2\csname\string#1-\string#2\endcsname:47.256S}:47.257S\def\@text@composite@x#1#2{%:47.258ap\ifx#1\relax:47.259p2#2%:47.260ap\else:47.261p2#1%:47.262ap\fi:47.263S}:47.264S%:47.265S\def\@strip@args#1:#2-#3\@strip@args{#2}:47.266S\def\DeclareTextComposite#1#2#3#4{%:47.267ap\def\reserved@a{\DeclareTextCompositeCommand#1{#2}{#3}}%:47.268ap\bgroup:47.269p2\lccode`\@=#4%:47.270p2\lowercase{%:47.271ap\egroup:47.272p2\reserved@a@%:47.273ap}%:47.274S}:47.275S%:47.276S\def\UseTextSymbol#1#2{%:47.277S%,\let\@curr@enc\cf@encoding:47.278S%,\@use@text@encoding{#1}%:47.279ap#2%:47.280S%,\@use@text@encoding\@curr@enc:47.281S}:47.282S\def\UseTextAccent#1#2#3{%:47.283S%,\let\@curr@enc\cf@encoding:47.284S%,\@use@text@encoding{#1}%:47.285S%,#2{\@use@text@encoding\@curr@enc\selectfont#3}%:47.286S%,\@use@text@encoding\@curr@enc:47.287S}:47.288S\def\@use@text@encoding#1{%:47.289S%,\edef\f@encoding{#1}%:47.290S%,\xdef\font@name{%:47.291S%Y\csname\curr@fontshape/\f@size\endcsname:47.292S%,}%:47.293S%,\pickup@font:47.294S%,\font@name:47.295S%,\@@enc@update185+4so:47.296S} :47.297S\def\DeclareTextSymbolDefault#1#2{%:47.298ap\DeclareTextCommandDefault#1{\UseTextSymbol{#2}#1}%:47.299S}:47.300S\def\DeclareTextAccentDefault#1#2{%:47.301ap\DeclareTextCommandDefault#1{\UseTextAccent{#2}#1}%:47.302S}:47.303S\def\cf@encoding{OT1}ICurrentlyweonlyusetheL5ffA͉TU>'ExX2",qpmethoGdforaccentsforthosethatareknown ItoUUbGemadeactiveinsomelanguagede nition le.:47.304S\DeclareTextAccent{\"}{OT1}{127}:47.305S\DeclareTextAccent{\'}{OT1}{19}:47.306S\DeclareTextAccent{\^}{OT1}{94}:47.307S\DeclareTextAccent{\`}{OT1}{18}:47.308S\DeclareTextAccent{\~}{OT1}{126}IThe followingtwocontrolsequencesareusedinbabel.defbutarenotde ned IforUUCplainTU>'ExX.:47.309S\DeclareTextSymbol{\textquotedblright}{OT1}{`\"}:47.310S\DeclareTextSymbol{\textquoteright}{OT1}{`\'}:47.311S\DeclareTextSymbol{\i}{OT1}{16}:47.312S\DeclareTextSymbol{\ss}{OT1}{25}IF*or#acoupleoflanguagesweneedtheL5ffA͉TU>'ExX-controlsequence\scriptsizetobGe Iavqailable.8TBecauseplainTU>'ExXdoGesn'thavesuchaso sticatedfontmechanismasIL5ffA͉TU>'ExXUUhas,wejust\letitto\sevenrm.:47.313S\ifx\scriptsize\@undefined :47.314]\let\scriptsize\sevenrm:47.315S\fi:47.316Sh=coAdei1864soIIndexINumbGerswritteninitalicrefertothepagewherethecorrespondingentryisde- IscribGed,Dthe onesunderlinedtothecodelineofthede nition,DtheresttothecodeIlinesUUwheretheentryisused.ǍUIadddialect=X\subitem*+\adddialect+,\usage{7} Iaddlanguage=X\subitem*+\addlanguage+,\usage{7}Iaddto=X\subitem*+\addto+,\usage{9}Ialiasshorthand=X\subitem*+\aliasshorthand+,\usage{3}Iallo9whyphens=X\subitem*+\allowhyphens+,\usage{9}UUIsa9ve=X\subitemsave+,\usage{9}Isa9vev|rariable=X\subitemsavevariable+,\usage{9}Iactiv|rate=X\subitemactivate+,\usage{8}Ideactiv|rate=X\subitemdeactivate+,\usage{8}Ifrenc9hspacing=X\subitemfrenchspacing+,\usage{9}Inonfrenc9hspacing=X\subitemnonfrenchspacing+,\usage{9}Icaptionslang=X\subitem*+\captionslang+,\usage{7}Idatelang=X\subitem*+\datelang+,\usage{7}Ishorthand=X\subitemshorthand+,\usage{8}Uªde neshorthand=X\subitem*+\defineshorthand+,\usage{3}ªen9vironments:>otherlanguage*, બ>j cmti93,A 18A fe ?ªen9vironments:>otherlanguage,બ3,A 18A fe ?ªextraslang=X\subitem*+\extraslang+,\usage{7}ªforeignlanguage=X\subitem*+\foreignlanguage+,\usage{3}ªi anguage=X\subitem*+\iflanguage+,\usage{3}ªlangh9yphenmins=X\subitem*+\langhyphenmins+,\usage{7}ªlanguagename=X\subitem*+\languagename+,\usage{3}ªlanguageshorthands=X\subitem*+\languageshorthands+,\usage{3}ª nish=X\subitemfinish+,\usage{8}ªquit=X\subitemquit+,\usage{8}Uj cmti9=Cscmtt8;#fcmti89t}\cmti78߆Tff cmtt127kAHff cmssbx103DFff cmmib102kAH cmssbx101N cmbx120': cmti10/ߤN cmtt9. logo10 !", cmsy10 b> cmmi10K`y cmr10ٓRcmr7F7