Documente Academic
Documente Profesional
Documente Cultură
babel@braams.xs4all.nl
Printed July 6, 2008
The Netherlands
A The standard distribution of L TEX contains a number of document classes that are meant to be used, but also serve as examples for other users to create their own document classes. These document classes have A become very popular among L TEX users. But it should be kept in mind that they were designed for American tastes and typography. At one time they contained a number of hard-wired texts. This report describes babel, a package that makes use of the new capabilities of TEX version 3 to provide an environment in which documents can be typeset in a language other than US English, or in more than one language.
Abstract
Contents
1 The user interface
IFI IFP vnguges supported y Babel F F F F F F F F F F F F F F F F F F F F orkrounds F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F
V W
9 10 11 12
Babel version 3.7 Babel version 3.6 Babel version 3.5 babel and the language deniF F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F
upport for tive hrters F F F F F F F upport for sving mro de(nitions F F F upport for extending mros F F F F F F F wros ommon to numer of lnguges
12
IR IS IS IS
During the development ideas from Nico Poppelier, Piet van Oostrum and many others have
been used. Bernd Raichle has provided many helpful suggestions.
7 Compatibility with german.sty 8 Compatibility with ngerman.sty 9 Compatibility with the french package 10 Identication 11 The Package File
IIFI vnguge options F F F F F F F F F F F F F F F F F F F F F F F F F F F F IPFI inoding issues @prt IA F F F F F F F F F F IPFP wultiple lnguges F F F F F F F F F F F F F IPFQ upport for tive hrters F F F F F F F IPFR horthnds F F F F F F F F F F F F F F F F F IPFS vnguge ttriutes F F F F F F F F F F F F IPFT upport for sving mro de(nitions F F F IPFU upport for extending mros F F F F F F F IPFV wros ommon to numer of lnguges IPFW wking glyphs ville F F F F F F F F F F IPFIHuottion mrks F F F F F F F F F F F F F F IPFIIvetters F F F F F F F F F F F F F F F F F F F F IPFIPhorthnds for quottion mrks F F F F F F IPFIQmluts nd trem9s F F F F F F F F F F F F IPFIRhe rede(nition of the style ommnds F F IPFIRFI ede(nition of mros F F F F F F F IPFISgross referening mros F F F F F F F F F F IPFITmrks F F F F F F F F F F F F F F F F F F F F IPFIUinoding issues @prt PA F F F F F F F F F F IPFIVreventing lshes with other pkges F F IPFIVFI ifthen F F F F F F F F F F F F F F F IPFIVFP varioref F F F F F F F F F F F F F F IPFIVFQ hhline F F F F F F F F F F F F F F F IPFIVFR hyperref F F F F F F F F F F F F F F IPFIVFS qenerl F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F
15 16 16 16 17
IV
21
PI PP QU QV RV SI SP SP SQ SQ SS ST SU SV SW TQ TU TW TW TW UH UH UI UI
13 Local Language Conguration 14 Driver les for the documented source code 15 Conclusion 16 Acknowledgements 17 The Esperanto language 18 The Interlingua language 19 The Dutch language 20 The English language
P
71 73 77 77 78 81 83 88
21 The German language 22 The German language new orthography 23 The Breton language 24 The Welsh language 25 The Irish language 26 The Scottish language 27 The Greek language
PUFI yping onventions F F F F F F F F F F F F F F F F F F F F F F F F F F F III PUFP qreek numering F F F F F F F F F F F F F F F F F F F F F F F F F F F F III PVFI PVFP PVFQ PVFR PVFS fsi interfe F F F gustomistion F F F F ryphention heks ghnges F F F F F F F pile frenhFfg F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F
120
29 TEXnical details
PWFI snitil setup F F F F F F F F F F PWFP untution F F F F F F F F F F PWFQ prenh quottion mrks F F F PWFR hte in prenh F F F F F F F F PWFS ixtr utilities F F F F F F F F F PWFT pormtting numers F F F F F PWFU gption nmes F F F F F F F F PWFV prenh lists F F F F F F F F F F PWFW prenh indenttion of setions PWFIHpormtting footnotes F F F F F PWFIIqlol lyout F F F F F F F F F PWFIPhotsF F F F F F F F F F F F F F F PWFIQetup optionsX keyvl stu' F F PWFIRglen up nd exit F F F F F F F QHFI QHFP QHFQ QHFR QHFS
126
IPT IPV IQH IQP IQP IQT IQU IQW IRI IRI IRQ IRR IRR ISQ IST ISW ITH ITH ITQ
upport for etymologil hyphention F F F F F pilities required y the sy QIGs regultions eents F F F F F F F F F F F F F F F F F F F F F F Caporali or prenh doule quotes F F F F F F F F pinishing ommnds F F F F F F F F F F F F F F F
154
173 178
36 The Catalan language 37 This le 38 The Galcian language 39 The Basque language 40 The Romanian language 41 The Danish language 42 The Icelandic language
RPFI RPFP RPFQ RPFR RPFS RPFT RPFU yverview F F F F F F F F F inil detils F F F F F F gptionnmes nd dte F selndi quottion mrks yld selndi F F F F F F F pormtting numers F F F ixtr utilities F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F
43 The Norwegian language 44 The Swedish language 45 The North Sami language 46 The Finnish language 47 The Hungarian language 48 The Estonian language
303 309
312
55 The Slovenian language 56 The Russian language 57 The Bulgarian language 58 The Ukrainian language 59 The Lower Sorbian language 60 The Upper Sorbian language 61 The Turkish language 62 The Hebrew language
TPFI eknowledgement F F F F F F F F F F F F F F F F F F TPFP he docstrip modules F F F F F F F F F F F F F F TPFQ rerew lnguge de(nitions F F F F F F F F F F F F TPFQFI rerew numerls F F F F F F F F F F F F F F TPFR ight to left support F F F F F F F F F F F F F F F F TPFRFI withing from v to v mode nd k TPFRFP gounters F F F F F F F F F F F F F F F F F F TPFRFQ reserving logos F F F F F F F F F F F F F F TPFRFR vist environments F F F F F F F F F F F F F TPFRFS les of moving stu' F F F F F F F F F F F TPFRFT woEolumn mode F F F F F F F F F F F F F TPFRFU pootnotes F F F F F F F F F F F F F F F F F F TPFRFV redings nd twoEside support F F F F F F TPFRFW ostsript orlems F F F F F F F F F F F F A TPFRFIH wisellneous internl v i mros F F F TPFRFII filiogrphy nd ittions F F F F F F F F F TPFRFIP edditionl idiretionl ommnds F F F F TPFS rerew lendr F F F F F F F F F F F F F F F F F F TPFSFI sntrodution F F F F F F F F F F F F F F F F TPFSFP egistersD gommndsD pormtting wros TPFSFQ euxiliry wros F F F F F F F F F F F F F F TPFSFR qregorin rt F F F F F F F F F F F F F F F TPFSFS rerew rt F F F F F F F F F F F F F F F F TQFI TQFP TQFQ TQFR hefult de(nitions for hrters he sEWTH enoding F F F F F F F he sy VVSWEV enoding nd the he sfw ode pge VTP F F F F F F F F F F F F F F F F F F F F F w indows F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F
F F F F F F F F F F F F F F F F F F F F pIPSS enoding F F F F F F F F F F
422
TRFI rs igsyx s y yp heiF hei hyg y wegr riV ixgyhsxq F F F F F F F F F F F F F F F F F F F F F F F F F F F F TRFP he docstrip modules F F F F F F F F F F F F F F F F F F F F F F F F TRFQ he LHEenoding de(nition (le F F F F F F F F F F F F F F F F F F F F TRFR he font de(nition (les @in LHE enodingA F F F F F F F F F F F F F F TRFRFI rerew defult font F F F F F F F F F F F F F F F F F F F F F F TRFRFP rerew snsEserif font F F F F F F F F F F F F F F F F F F F F F TRFRFQ rerew typewriter font F F F F F F F F F F F F F F F F F F F F TRFRFR rerew lssi font F F F F F F F F F F F F F F F F F F F F F F F TRFRFS rerew shlom fonts F F F F F F F F F F F F F F F F F F F F F F TRFRFT rerew frnkEruehl font F F F F F F F F F F F F F F F F F F F F TRFRFU rerew rmel font F F F F F F F F F F F F F F F F F F F F F F TRFRFV rerew redis font F F F F F F F F F F F F F F F F F F F F F F F F TRFS he HE8enoding de(nition (le F F F F F F F F F F F F F F F F F F F F TRFSFI grigu rii py riV hei F F F F F F F F F F F F TRFT he font de(nition (les @in HE8 enodingA F F F F F F F F F F F F F F TRFTFI rerew defult font F F F F F F F F F F F F F F F F F F F F F F TRFTFP rerew snsEserif font F F F F F F F F F F F F F F F F F F F F F TRFTFQ rerew typewriter font F F F F F F F F F F F F F F F F F F F F TRFTFR Vfit ymegrerew font F F F F F F F F F F F F F F F F F F F F TRFTFS Vfit ehroni font F F F F F F F F F F F F F F F F F F F F F F F TRFTFT Vfit hvid font F F F F F F F F F F F F F F F F F F F F F F F F F TRFTFU Vfit hrugulin font F F F F F F F F F F F F F F F F F F F F F F F TRFTFV Vfit illini font F F F F F F F F F F F F F F F F F F F F F F F F TRFTFW Vfit prnkuehl font F F F F F F F F F F F F F F F F F F F F F TRFTFIH Vfit utvd font F F F F F F F F F F F F F F F F F F F F F F F TRFTFII Vfit wirimwono font F F F F F F F F F F F F F F F F F F F F F TRFTFIP Vfit xhlieli font F F F F F F F F F F F F F F F F F F F F F F F TRFTFIQ rerew font swithing ommnds F F F F F F F F F F F F F F F
429
RPW RPW RQH RQP RQP RQP RQQ RQR RQR RQS RQT RQT RQU RQU RQW RQW RQW RRH RRH RRI RRI RRI RRP RRP RRP RRP RRQ RRQ
446
plainTEX
455
seletlnguge
he user interfe of this pkge is quite simpleF st onsists of set of ommnds tht swith from one lnguge to notherD nd set of ommnds tht del with shorthndsF st is lso possile to (nd out wht the urrent lnguge isF hen user wnts to swith from one lnguge to nother he n do so using the mro \selectlanguageF his mro tkes the lngugeD de(ned previously T
otherlnguge
foreignlnguge
otherlngugeB
hyphenrules
lngugenme iflnguge
useshorthnds
defineshorthnd
lisshorthnd
lngugeshorthnds
shorthndon shorthndoff
lngugettriute
y lnguge de(nition (leD s its rgumentF st lls severl mros tht should e de(ned in the lnguge de(nition (les to tivte the speil de(nitions for the lnguge hosenF he environment otherlanguage does silly the sme s \selectlanguageD exept the lnguge hnge is lol to the environmentF his environment is reE quired for intermixing leftEtoEright typesetting with rightEtoEleft typesettingF he lnguge to swith to is spei(ed s n rgument to \begin{otherlanguage}F he ommnd \foreignlanguage tkes two rgumentsY the seond rgument is phrse to e typeset ording to the rules of the lnguge nmed in its (rst rgumentF his ommnd only swithes the extr de(nitions nd the hyphention rules for the lngugeD not the nmes nd dtesF sn the environment otherlanguage* only the typesetting is done ording to the rules of the other lngugeD ut the textEstrings suh s (gure9D tle9D etF re left s they were set outside this environmentF he environment hyphenrules n e used to selet only the hyphention rules to e usedF his n for instne e used to selet nohyphention9D proE vided tht in language.dat the lnguge9 nohyphention is de(ned y loding serohyph.texF he ontrol sequene \languagename ontins the nme of the urrent lnE gugeF sf more thn one lnguge is usedD it might e neessry to know whih lnE guge is tive t spei( timeF his n e heked y ll to \iflanguageF his mro tkes three rgumentsF he (rst rgument is the nme of lngugeY the seond nd third rguments re the tions to tke if the result of the test is true or false respetivelyF he ommnd \useshorthands initites the de(nition of userEde(ned shortE hnd sequenesF st hs one rgumentD the hrter tht strts these personl shorthndsF he ommnd \defineshorthand tkes two rgumentsX the (rst is oneE or twoEhrter shorthnd sequeneD nd the seond is the ode the shorthnd should expnd toF he ommnd \aliasshorthand n e used to let nother hrter perform the sme funtions s the defult shorthnd hrterF sf one prefers for exmple to use the hrter / over " in typing polish textsD this n e hieved y entering \aliasshorthand{"}{/}F Please note tht the sustitute shorthnd hrter must hve een delred in the premle of your doumentD using ommnd suh s \useshorthands{/} in this exmpleF he ommnd \languageshorthands n e used to swith the shorthnds on the lnguge levelF st tkes one rgumentD the nme of lngugeF xote tht for this to work the lnguge should hve een spei(ed s n option when loding the babel pkgeF st is sometimes neessry to swith shorthnd hrter o' temporrilyD eE use it must e used in n entirely di'erent wyF por this purposeD the user ommnds \shorthandoff nd \shorthandon re providedF hey eh tke list of hrters s their rgumentsF he ommnd \shorthandoff sets the \catcode for eh of the hrters in its rgument to other @IPAY the ommnd \shorthandon sets the \catcode to tive @IQAF foth ommnds only work on known9 shorthnd hrtersF sf hrter is not known to e shorthnd hrter its tegory ode will e left unhngedF his is userElevel ommndD to e used in the premle of doument @fter U
\usepackage[...]{babel}AD tht delres whih ttriutes re to e used for given lngugeF st tkes two rgumentsX the (rst is the nme of the lngugeY the seondD @list ofA ttriute@sA to usedF he ommnd heks whether the lnguge is known in this doument nd whether the ttriute@sA re known for this lngugeF
vnguge pnish lovkin lovenin wedish erin urkish krinin pper orin elsh
yption@sA spnish slovk slovene swedish serin turkish ukrinin uppersorin welsh
por some lnguges babel supports the options activeacute nd activegraveY for typestting ussin textsD babel knows out the options LWN nd LCY to speify the fontenoding of the yrilli font usedF gurrently only LWN is supportedF
1.2 Workarounds
sf you use the doument lss book and you use \ref inside the rgument of A \chapterD v i will keep omplining out n unde(ned lelF he reson is tht the rgument of \ref is pssed through \uppercase t some time during proessingF o prevent suh prolemsD you ould revert to using upperse lelsD or you n use \lowercase{\ref{foo}} inside the rgument of \chapterF
A ith the dvent of v i P the interfe to babel in the premle of the doument A hs hngedF ith v iPFHW one used to ll up the babel system with line suh sX
doumentstyleduthDenglish{rtile}
A whih would tell v i tht the doument would e written in two lngugesD huth nd inglishD nd tht inglish would e the (rst lnguge in useF A he v i P wy of providing the sme informtion isX
doumentlss{rtile} usepkgeduthDenglish{el}
orD mking dutch nd english glol options in order to let other pkges detet nd use themX
doumentlssduthDenglish{rtile} usepkge{el} usepkge{vrioref}
sn this lst exmpleD the pkge varioref will lso see the options nd will e le to use themF
Changes in
sn Babel version QFU numer of ugs tht were found in version QFT re (xedF elso numer of hnges nd dditions hve ourredX
horthnds re expndle ginF he disdvntge is tht one hs to type '{}a when the ute ent is used s shorthnd hrterF he dvntge is tht numer of other prolems @suh s the reking of ligturesD etFA hve vnishedF wo new ommndsD \shorthandon nd \shorthandoff hve een introE dued to enle to temporrily swith o' one or more shorthndsF upport for typesetting qreek hs een enhnedF gode from the kdgreek pkge @suggested y the uthorA ws dded nd \greeknumeral hs een ddedF upport for typesetting fsque is now ville thnks to tun eguirreE giriF upport for typesetting erin with vtin sript is now ville thnks to hejn wuhmedgi nd tnkovi loodnF upport for typesetting rerew @nd potentil support for typesetting other rightEtoEleft written lngugesA is now ville thnks to m orrt nd foris vvvF upport for typesetting fulgrin is now ville thnks to qeorgi foshE nkovF upport for typesetting vtin is now villeD thnks to gludio feri nd urzysztof uonrd elehowskiF upport for typesetting xorth mi is now villeD thnks to egnor ternslettenF he options canadianD canadien nd acadien hve een dded for gndin inglish nd prenh useF e lnguge ttriute hs een dded to the \mark... ommnds in order to mke sure tht qreek heder line omes out right on the lst pge efore lnguge swithF ryphention pttern (les re now red inside a group Y therefore ny hnges pttern (le needs to mke to lowerse odesD upperse odesD nd teE gory odes re kept lol to tht groupF sf they re needed for the lngugeD these hnges will need to e repeted nd stored in \extras... he onept of lnguge ttriutes is introduedF st is intended to give the user some ontrol over the fetures lngugeEde(nition (le providesF sts (rst use is for the qreek lngugeD where the user n hoose the o o o @olutoniko or multiEentedA qreek wy of typesetting textsF hese tE triutes will possily (nd wider use in future relesesF he environment hyphenrules is introduedF
IH
he syntx of the (le language.dat hs een extended to llow @optionllyA speifying the font enoding to e used while proessing the ptterns (leF he ommnd \providehyphenmins should now e used in lnguge de(E nition (les in order to e le to keep ny settings provided y the pttern (leF
Changes in
sn Babel version QFT numer of ugs tht were found in version QFS re (xedF elso numer of hnges nd dditions hve ourredX
e new environment otherlanguage* is introduedF it only swithes the speE ils9D ut leves the ptions9 untouhedF he shorthnds re no longer fully expndleF ome prolems ould only e solved y peeking t the token following n tive hrterF he dvntge is tht '{}a works s expeted for lnguges tht hve the ' tiveF upport for typesetting frenh texts is muh enhnedY the (le francais.ldf is now repled y frenchb.ldf whih is mintined y hniel plipoF upport for typesetting the russin lnguge is gin villeF he lnE guge de(nition (le ws originlly developed y ylg vpko from gyrqF he fonts needed to typeset the russin lnguge re now prt of the babel distriutionF he support is not yet up to the level whih is needed ording to ylgD ut this is strtF upport for typesetting greek texts is now lso villeF ht is o'ered in this relese is (rst ttemptY it will e enhned lter on y nnis rrlmousF in babel QFTj some hooks hve een dded for the development of support for rerew typesettingF upport for typesetting texts in efrikns @ vrint of huthD spoken in outh efriA hs een dded to dutch.ldfF upport for typesetting elsh texts is now villeF e new ommnd \aliasshorthand is introduedF st seems tht in olnd vrious onventions re used to type the neessry olish lettersF st is now possile to use the hrter / s shorthnd hrter insted of the hrE ter "D y issuing the ommnd \aliasshorthand{"}{/}F he shorthnd mehnism now dels orretly with hrters tht re lE redy tiveF horthnd hrters re mde tive t \begin{document}D not erlierF his is to prevent prolems with other pkgesF e preambleonly ommnd \substitutefontfamily hs een dded to reE te .fd (les on the )y when the font fmilies of the vtin text di'er from the fmilies used for the gyrilli or qreek prts of the textF
II
hree new ommnds \LdfInitD \ldf@quit nd \ldf@finish re introE dued tht perform numer of stndrd tsksF sn el QFTk the lnguge krinin hs een dded nd the support for ussin typesetting hs een dpted to the pkge 9yrilli9 to e relesed A with the heemer IWWV relese of v i P F
Changes in
sn Babel version QFS lot of hnges hve een mde when ompred with the previous releseF rere is list of the most importnt onesX
the seletion of the lnguge is delyed until \begin{document}D whih mens you must dd pproprite \selectlanguage ommnds if you inE lude \hyphenation lists in the premle of your doumentF babel now hs language environment nd new ommnd \foreignlanguageY the wy tive hrters re delt with is ompletely hngedF hey re lled shorthnds9Y one n hve three levels of shorthndsX on the user levelD the lnguge levelD nd on system level9F e onsequene of the new wy of hndling tive hrters is tht they re now written to uxiliry (les vertim9Y e lnguge hnge now lso writes informtion in the .aux (leD s the hnge might lso 'et typesetting the tle of ontentsF he onsequene is tht n Fux (le generted y ve formt with el preloded gives errors when red with ve formt without elY ut s think this proly doesn9t ourY babel is now omptile with the inputenc nd fontenc pkgesY the lnguge de(nition (les now hve new extensionD ldfY the syntx of the (le language.dat is extended to e omptile with the french pkge y fernrd qulleY eh lnguge de(nition (le looks for on(gurtion (le whih hs the sme A nmeD ut the extension .cfgF st n ontin ny vlid v i odeF
ddlnguge
dddilet
sn the ore of the babel systemD severl mros re de(ned for use in lnguge de(nition (lesF heir purpose is to mke new lnguge knownF he mro \addlanguage is nonEouter version of the mro \newlanguageD de(ned in plain.tex version QFxF por older versions of plain.tex nd lplain.tex sustitute de(nition is usedF he mro \adddialect n e used when two lnguges n @or mustA use the sme hyphention ptternsF his n lso e useful for lnguges for whih no ptterns re preloded in the formtF sn suh ses the defult ehviour of IP
the babel system is to de(ne this lnguge s dilet9 of the lnguge for whih the ptterns were loded s \language0F he lnguge de(nition (les must onform to numer of onventionsD euse these (les hve to (ll in the gps left y the ommon ode in babel.defD iF eFD the de(nitions of the mros tht produe textsF elso the lngugeEswithing possiility whih hs een uilt into the babel system hs its implitionsF he following ssumptions re mdeX
ome of the lngugeEspei( de(nitions might e used y plin i usersD A so the (les hve to e oded so tht they n e red y oth v i nd plin iF he urrent formt n e heked y looking t the vlue of the mro \fmtnameF he ommon prt of the babel system rede(nes numer of mros nd environments @de(ned previously in the doument styleA to put in the nmes of mros tht reple the previously hrdEwired textsF hese mros hve to e de(ned in the lnguge de(nition (lesF he lnguge de(nition (les de(ne (ve mrosD used to tivte nd detiE vte the lngugeEspei( de(nitionsF hese mros re \ lang hyphenminsD \captions lang D \date lang D \extras lang nd \noextras lang Y where lang is either the nme of the lnguge de(nition (le or the nme of the A v i option tht is to e usedF hese mros nd their funtions re disE ussed elowF hen lnguge de(nition (le is lodedD it n de(ne \l@ dilet of \language0 when \l@ lang is unde(nedF
lang
to e
he lnguge de(nition (les n e red in the premle of the doumentD ut lso in the middle of doument proessingF his mens tht they hve to funtion independently of the urrent \catcode of the @ signF
providehyphenmins
lddelredttriute
mindlnguge
he mro \providehyphenmins should e used in the lnguge de(nition (les to set the \lefthyphenmin nd \righthyphenminF his mro will hek whether these prmeters were provided y the hyphention (le efore it tkes ny tionF he mro \ lang hyphenmins is used to store the vlues of the \lefthyphenmin nd \righthyphenminF he mro \captions lang de(nes the mros tht hold the texts to reple the originl hrdEwired textsF he mro \date lang de(nes \today nd he mro \extras lang ontins ll the extr de(nitions needed for spei( lngugeF feuse we wnt to let the user swith etween lngugesD ut we do not know wht stte i might e in fter the exeution of \extras lang D mro tht rings i into prede(ned stte is neededF st will e no surprise tht the nme of this mro is \noextras lang F his is ommnd to e used in the lnguge de(nition (les for delring lnguge ttriuteF st tkes three rgumentsX the nme of the lngugeD the ttriute to e de(nedD nd the ode to e exeuted when the ttriute is to e usedF o postpone the tivtion of the de(nitions needed for lnguge until the eginning of doumentD ll lnguge de(nition (les should use \main@language IQ
rovidesvnguge
vdfsnit
ldfdquit
ldfdfinish
lodlolfg
sustitutefontfmily
insted of \selectlanguageF his will just store the nme of the lngugeD nd the proper lnguge will e tivted t the strt of the doumentF he mro \ProvidesLanguage should e used to identify the lnguge A de(nition (lesF sts syntx is similr to the syntx of the v i ommnd \ProvidesPackageF he mro \LdfInit performs ouple of stndrd heks tht must e mde t the eginning of lnguge de(nition (leD suh s heking the tegory ode of the dEsignD preventing the .ldf (le from eing proessed twieD etF he mro \ldf@quit does work needed if .ldf (le ws proessed erlierF his inludes resetting the tegory ode of the dEsignD prepring the lnguge to e tivted t \begin{document} timeD nd ending the input stremF he mro \ldf@finish does work needed t the end of eh .ldf (leF his inludes resetting the tegory ode of the dEsignD loding lol on(gurtion (leD nd prepring the lnguge to e tivted t \begin{document} timeF A efter proessing lnguge de(nition (leD v i n e instruted to lod lol on(gurtion (leF his (le nD for instneD e used to dd strings to \captions lang to support lol doument lssesF he user will e informed tht this on(gurtion (le hs een lodedF his mro is lled y \ldf@finishF his ommnd tkes three rgumentsD font enoding nd two font fmily nmesF st retes font desription (le for the (rst font in the given enodingF A his .fd (le will instrut v i to use font from the seond fmily when font from the (rst fmily in the given enoding seems to e neededF
ldtivte lddetivte
delredshorthnd
lddddspeil ldremovedspeil
sn quite numer of lnguge de(nition (lesD tive hrters re introduedF o filitte thisD some support mros re providedF he internl mro \initiate@active@char is used in lnguge de(nition (les A to instrut v i to give hrter the tegory ode tive9F hen hrter hs een mde tive it will remin tht wy until the end of the doumentF sts de(nition my vryF he ommnd \bbl@activate is used to hnge the wy n tive hrter expndsF \bbl@activate swithes on9 the tive ehviour of the hrterF \bbl@deactivate lets the tive hrter expnd to its former @mostlyA nonE tive selfF he mro \declare@shorthand is used to de(ne the vrious shorthndsF st tkes three rgumentsX the nme for the olletion of shorthnds this de(nition elongs toY the hrter @sequeneA tht mkes up the shorthndD iFeF ~ or "aY nd the ode to e exeuted when the shorthnd is enounteredF he iook sttesX lin i inludes mro lled \dospecials tht is essentilly set mroD representing the set of ll hrters tht hve speE il tegory odeF ID pF QVH st is used to set text vertim9F o mke this work if more hrters get speil tegory odeD you hve to dd this hrE A ter to the mro \dospecialF v i dds nother mro lled \@sanitize representing the sme hrter setD ut without the urly resF he mros \bbl@add@special char nd \bbl@remove@special char dd nd remove the hrter char to these two setsF
IR
eldsve
eldsvevrile
he mro \addto{ control sequence }{ TEX code } n e used to extend the de(nition of mroF he mro need not e de(nedF his mro nD for instneD e used in dding instrutions to mro like \extrasenglishF
setdlowdox
svedsfdq
ldfrenhsping ldnonfrenhsping
sn ouple of iuropen lnguges ompound words re usedF his mens tht when i hs to hyphente suh ompound wordD it only does so t the -9 tht is used in suh wordsF o llow hyphention in the rest of suh ompound wordD the mro \allowhyphens n e usedF por some lngugesD quotes need to e lowered to the selineF por this purE pose the mro \set@low@box is villeF st tkes one rgument nd puts tht rgument in n \hboxD t the selineF he result is ville in \box0 for further proessingF ometimes it is neessry to preserve the \spacefactorF por this purpose the mro \save@sf@q is villeF st tkes one rgumentD sves the urrent speftorD exeutes the rgumentD nd restores the speftorF he ommnds \bbl@frenchspacing nd \bbl@nonfrenchspacing n e used to properly swith prenh sping on nd o'F
he (le german.sty hs een one of the soures of inspirtion for the babel sysE temF feuse of this s wnted to inlude german.sty in the babel systemF o e le to do tht s hd to llow for one inomptiilityX in the de(nition of the mro \selectlanguage in german.sty the rgument is used s the number for n \ifcaseF o in this se ll to \selectlanguage might look like \selectlanguage{\german}F sn the de(nition of the mro \selectlanguage in babel.def the rgument is used s prt of other mronmesD so ll to \selectlanguage now looks
1 This
mechanism was introduced by Bernd Raichle.
IS
like \selectlanguage{german}F xotie the sene of the espe hrterF es of version QFI of babel oth syntxes re llowedF ell other fetures of the originl german.sty hve een opied into new (leD lled germanb.sty2 F A elthough the babel system ws developed to e used with v iD some of the fetures implemented in the lnguge de(nition (les might e needed y plin i usersF gre hs een tken tht ll (les in the system n e proessed y plin iF
hen used with the options ngerman or naustrianD babel will provide ll fetures of the pkge ngermanF here is however one exeptionX he ommnds for speil hyphention of doule onsonnts @"ff etFA nd k @"ckAD whih re no longer required with the new qermn orthogrphyD re unde(nedF ith the ngerman pkgeD howeverD these ommnds will generte pproprite wrning messges onlyF
st hs een reported to me tht the pkge french y fernrd qulle @gaulle@idris.frA works together with babelF yn the other hndD it seems not to work well together with lot of other pkgesF herefore s hve deided to no longer lod french.ldf y defultF snstedD when you wnt to use the pkge y fernrd qulleD you will hve to request it spei(llyD y pssing either frenchle or frenchpro s n option to babelF
10
Identication
A he (le babel.sty3 is ment for v i P D therefor we mke sure tht the formt (le used is the right oneF
rovidesvnguge
A he identi(tion ode for eh (le is something tht ws introdued in v i P F hen the ommnd \ProvidesFile does not existD dummy de(nition is provided temporrilyF por use in the lnguge de(nition (le the ommnd \ProvidesLanguage is de(ned y babelF
!package ifxrovidespiledundefined 10.3 defrovidespile5I5P 5Q 5R{7 10.4 wlog{pileX 5I 5R 5Q `5Pb}7 10.5 kernel & patterns 10.6 \toks8{Babel <#3> and hyphenation patterns for }% 10.7 /kernel & patterns 10.8 letrovidespiledundefined 10.9 }
10.1 10.2
2 The 3 The
`b' is added to the name to distinguish the le from Partls' le. le described in this section is called
babel.dtx,
revised on 2008/03/16.
IT
es n lterntive for \ProvidesFile we de(ne \ProvidesLanguage here to e used in the lnguge de(nition (lesF
10.10
sn this se we sve the originl de(nition of \ProvidesFile in \bbl@tempa nd restore it fter we hve stored the version of the (le in \toks8F
10.15 10.16 10.17 10.18 10.19 10.20 10.21
kernel & patterns \let\bbl@tempa\ProvidesFile \def\ProvidesFile#1[#2 #3 #4]{% \toks8{Babel <#3> and hyphenation patterns for }% \bbl@tempa#1[#2 #3 #4]% \let\ProvidesFile\bbl@tempa} /kernel & patterns
+package rovideskge{el} +core rovidespile{elFdef} +kernel & patterns rovidespile{hyphenFfg} +kernel&!patterns rovidespile{swithFdef} +driver&!user rovidespile{elFdrv} +driver & user rovidespile{userFdrv} PHHVGHUGHT vQFVl 7 +package he fel pkge +core fel ommon definitions +kernel fel lnguge swithing mehnism +driver
11
A sn order to mke use of the fetures of v i P D the babel system ontins pkge (leD babel.styF his (le is loded y the \usepackage ommnd nd de(nes ll the lnguge options known in the babel systemF st lso tkes re of numer of omptiility issues with other pkgesF
IU
helreyption{ustrin}{input{germnFldf}} helreyption{hs}{input{hsiFldf}} 11.10 helreyption{indonesin}{input{hsiFldf}} 11.11 helreyption{indon}{input{hsiFldf}} 11.12 helreyption{hsi}{input{hsiFldf}} 11.13 helreyption{mly}{input{hsmFldf}} 11.14 helreyption{meylu}{input{hsmFldf}} 11.15 helreyption{hsm}{input{hsmFldf}} 11.16 helreyption{sque}{input{squeFldf}} 11.17 helreyption{rzil}{input{portugesFldf}}
11.8 11.9 11.18 11.19 11.20 11.21
helreyption{rzilin}{input{portugesFldf}} helreyption{reton}{input{retonFldf}}
helreyption{ritish}{input{englishFldf}} helreyption{ulgrin}{input{ulgrinFldf}} 11.22 helreyption{ndin}{input{englishFldf}} 11.23 helreyption{ndien}{input{frenhFldf}} 11.24 helreyption{tln}{input{tlnFldf}} 11.25 helreyption{rotin}{input{rotinFldf}} 11.26 helreyption{zeh}{input{zehFldf}} 11.27 helreyption{dnish}{input{dnishFldf}} 11.28 helreyption{duth}{input{duthFldf}} helreyption{english}{input{englishFldf}} helreyption{espernto}{input{esperntoFldf}} 11.31 helreyption{estonin}{input{estoninFldf}} 11.32 helreyption{finnish}{input{finnishFldf}}
11.29 11.30
he babel support or prenh used to e stored in francais.ldfY therefor the A v iPFHW option used to e francaisF he hyphention ptterns my e loded s either frenh9 or s frnis9F
11.33 11.34
helreyption{frnis}{input{frenhFldf}} helreyption{frenh}{input{frenhFldf}}
helreyption{frenh}{input{frenhFldf}}7 helreyption{gliin}{input{gliinFldf}} 11.37 helreyption{germn}{input{germnFldf}} 11.38 helreyption{germn}{input{germnFldf}} 11.39 helreyption{greek}{input{greekFldf}} 11.40 helreyption{polutonikogreek}{7 11.41 input{greekFldf}7 11.42 lngugettriute{greek}{polutoniko}}
11.35 11.36
A ith v i P we n now lso use the option french nd still ll the (le frenchb.ldfF
IV
helreyption{hungrin}{input{mgyrFldf}} helreyption{ielndi}{input{ielndiFldf}} 11.48 helreyption{interlingu}{input{interlinguFldf}} 11.49 helreyption{irish}{input{irishFldf}} 11.50 helreyption{itlin}{input{itlinFldf}} 11.51 helreyption{ltin}{input{ltinFldf}} 11.52 helreyption{lowersorin}{input{lsorinFldf}} 11.53 7ehelreyption{knnd}{input{knndFldf}} 11.54 helreyption{mgyr}{input{mgyrFldf}} 11.55 7ehelreyption{ngri}{input{ngriFldf}}
11.46 11.47
helreyption{nynorsk}{input{norskFldf}} helreyption{polish}{input{polishFldf}} 11.63 helreyption{portuges}{input{portugesFldf}} 11.64 helreyption{portuguese}{input{portugesFldf}} 11.65 helreyption{romnin}{input{romninFldf}} 11.66 helreyption{russin}{input{russinFldf}} 11.67 7ehelreyption{snskrit}{input{snskritFldf}} 11.68 helreyption{sottish}{input{sottishFldf}} 11.69 helreyption{serin}{input{serinFldf}} 11.70 helreyption{slovk}{input{slovkFldf}} 11.71 helreyption{slovene}{input{sloveneFldf}} 11.72 helreyption{spnish}{input{spnishFldf}} 11.73 helreyption{swedish}{input{swedishFldf}} 11.74 7ehelreyption{tmil}{input{tmilFldf}} 11.75 helreyption{turkish}{input{turkishFldf}} 11.76 helreyption{ukrinin}{input{ukrineFldf}} 11.77 helreyption{uppersorin}{input{usorinFldf}} 11.78 helreyption{welsh}{input{welshFldf}}
11.61 11.62 11.79 11.80
helreyption{uenglish}{input{englishFldf}} helreyption{english}{input{englishFldf}}
helreyptionB{7 snputsfpileixists{gurrentyptionFldf}{}{7 11.83 kgeirror{el}{7 11.84 vnguge definition file gurrentyptionFldf not found}{7 11.85 wye you misspelled the lnguge optionc}}7 11.86 }
11.81 11.82
por ll those lnguges for whih the option nme is the sme s the nme of the lnguge spei( (le we speify defult optionD whih tries to lod the (le spei(edF sf this doesn9t sueed n error is signlledF
enother wy to extend the list of known9 options for babel is to rete the (le bblopts.cfg in whih one n dd option delrtionsF IW
snputsfpileixists{loptsFfg}{7 typeout{BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBt7 11.89 B vol onfig file loptsFfg usedt7 11.90 B}7 11.91 }{}
11.87 11.88
eprt from ll the lnguge options we lso hve few options tht in)uene the ehviour of lnguge de(nition (lesF he following options don9t do nything themselvesD they re just de(ned in order to mke it possile for lnguge de(nition (les to hek if one of them ws spei(ed y the userF
11.92 11.93
helreyption{tiveute}{} helreyption{tivegrve}{}
he next option tells babel to leve shorthnd hrters tive t the end of proessing the pkgeF his is not the defult s it n use prolems with other pkgesD ut for those who wnt to use the shorthnd hrters in the premle of their douments this n helpF
11.94
helreyption{ueephorthndsetive}{} roessyptionsB
he options hve to e proessed in the order in whih the user spei(ed themX
11.95
ifxldmindlngugedundefined kgeirror{el}{7 11.98 ou hven9t speified lnguge option}{7 11.99 ou need to speify lngugeD either s glol 11.100 optionwessgefrek 11.101 or s n optionl rgument to the stringusepkgespe 11.102 ommndY wessgefrek 11.103 ou shouldn9t try to proeed from hereD type x to quitF}
11.96 11.97
sn order to th the se where the user forgot to speify lnguge we hek whether \bbl@main@languageD hs eome de(nedF sf notD no lnguge hs een loded nd n error messge is displyedF
o prevent unde(ned ommnd errors when the user insists on ontinuing we lod babel.def hereF re should expet more errors thoughF
11.104 11.105
input{elFdef} fi
sustitutefontfmily
he ommnd \substitutefontfamily retes n .fd (le on the )yF he (rst rgument is n enoding mnemoniD the seond nd third rguments re font fmily nmesF
defsustitutefontfmily5I5P5Q{7 lowerse{immediteopenoutISa5I5PFfdrelx}7 11.108 immeditewriteIS{7 11.109 stringrovidespile{5I5PFfd}7 11.110 theyerGtwoddigits{themonth}Gtwoddigits{thedy} 11.111 spe generted font desription filet 11.112 stringhelrepontpmily{5I}{5P}{}t 11.113 stringhelreponthpe{5I}{5P}{m}{n}{`Ebssu B 5QGmGn}{}t 11.114 stringhelreponthpe{5I}{5P}{m}{it}{`Ebssu B 5QGmGit}{}t 11.115 stringhelreponthpe{5I}{5P}{m}{sl}{`Ebssu B 5QGmGsl}{}t 11.116 stringhelreponthpe{5I}{5P}{m}{s}{`Ebssu B 5QGmGs}{}t 11.117 stringhelreponthpe{5I}{5P}{}{n}{`Ebssu B 5QGxGn}{}t 11.118 stringhelreponthpe{5I}{5P}{}{it}{`Ebssu B 5QGxGit}{}t 11.119 stringhelreponthpe{5I}{5P}{}{sl}{`Ebssu B 5QGxGsl}{}t
11.106 11.107
PH
11.125
12
he kernel of the babel system is stored in either hyphen.cfg or switch.def nd babel.defF he (le hyphen.cfg is (le tht n e loded into the formtD whih is neessry when you wnt to e le to swith hyphention ptternsF he (le babel.def ontins some i ode tht n e red in t run timeF hen babel.def is loded it heks if hyphen.cfg is in the formtY if not the (le switch.def is lodedF feuse plin i users might wnt to use some of the fetures of the babel system tooD re hs to e tken tht plin i n proess the (lesF por this reson the urrent formt will hve to e heked in numer of plesF ome A A of the ode elow is ommon to plin i nd v iD some of it is for the v i se onlyF hen the ommnd \AtBeginDocument doesn9t exist we ssume tht we re deling with plinEsed formtF sn tht se the (le plain.def is neededF
12.1 12.2
fut we need to use the seond prt of plain.def @when we lod it from switch.defA whih we n do y de(ning \adddialectF
kernel&!patterns \def\adddialect{} input plinFdefrelx 12.5 fi 12.6 /kernel | core
12.3 12.4
ghek the presene of the ommnd \iflanguageD if it is unde(ned red the (le switch.defF
core ifxiflngugedundefined 12.9 input swithFdefrelx 12.10 fi 12.11 /core
12.7 12.8
hen text is eing typeset in n enoding other thn ltin9 @OT1 or T1AD it would e nie to still hve omn numerls ome out in the vtin enodingF o we (rst ssume tht the urrent enoding t the end of proessing the pkge is the vtin enodingF PI
12.12 12.13
core etindyfkge{edefltinenoding{fdenoding}}
fut this might e overruled with lter loding of the pkge fontencF herefor we hek t the exeution of \begin{document} whether it ws loded with the T1 optionF he norml wy to do this @using \@ifpackageloadedA is disled for this pkgeF xow we hve to revert to prsing the internl mro \@filelist whih ontins ll the (lenmes lodedF
etfeginhoument{7 gdefltinenoding{yI}7 12.16 ifxfdenodingldtdone 12.17 xdefltinenoding{ldtdone}7 12.18 else 12.19 difldded{def}{tIen}{xdefltinenoding{ldtdone}}{}7 12.20 fi 12.21 }
12.14 12.15
ltintext
hen we n de(ne the ommnd \latintext whih is delrtive swith to ltin fontEenodingF
textltin
his ommnd tkes n rgument whih is then typeset using the requested font enodingF sn order to void mny enoding swithes it opertes in lol sopeF
ifxdundefinedhelreextpontgommnd helreoustgommnd{textltin}I{levevmode{ltintext 5I}} 12.27 else 12.28 helreextpontgommnd{textltin}{ltintext} 12.29 fi 12.30 /core
12.25 12.26
e lso need to rede(ne numer of ommnds to ensure tht the right font enoding is usedD ut this n9t e done efore babel.def is lodedF
very
PP
re stored in seprte (le this n e indited y nming tht (le after the (le with the hyphention ptternsF his on(gurtion (le n ontin empty lines nd ommentsD s well s A lines whih strt with n equls @=A signF uh line will instrut v i tht the hyphention ptterns just proessed hve to e known under n lterntive nmeF rere is n exmpleX
7 pile X lngugeFdt 7 urpose X tell inie wht files with ptterns to lodF english englishFhyphentions aritish duth hyphenFduth exeptionsFduth 7 xederlnds germn hyphenFger
es the (le switch.def needs to e red only oneD we hek whether it ws red eforeF sf it wsD the ommnd \iflanguage is lredy de(nedD so we n stop proessingF
kernel !patterns 12.33 \expandafter\ifx\csname iflanguage\endcsname\relax \else 12.34 \expandafter\endinput 12.35 \fi 12.36 /!patterns
12.31 12.32
lnguge
lin i version QFH provides the primitive \language tht is used to store the urrent lngugeF hen used with preEQFH version this funtion hs to e implemented y lloting ounterF
lstdlnguge
enother ounter is used to store the lst lnguge de(nedF por preEQFH formts n extr ounter hs to e llotedD
ifxnewlngugedundefined snme newountendsnmelstdlnguge
12.40 12.41
ddlnguge
o dd lnguges to i9s memory plin i version QFH supplies \newlanguageD in preEQFH environment similr mro hs to e providedF por oth ses new mro is de(ned hereD euse the originl \newlanguage ws de(ned to e \outerF por formt sed on plin version PFxD the de(nition of \newlanguage n not e opied euse \count 19 is used for other purposes in these formtsF herefor \addlanguage is de(ned using de(nition sed on the mros used to de(ne \newlanguage in plin i version QFHF
ifxnewlngugedundefined defddlnguge5I{7
12.45 12.46
PQ
gloldvnelstdlnguge dne ifnumlstdlnguge`dlvi else errmessge{xo room for new stringlnguge3}7 fi glolhrdef5Ilstdlnguge wlog{string5I a stringlngugethelstdlnguge}}
por formts sed on plin version QFH the de(nition of \newlanguage n e simply opiedD removing \outerF
else defddlnguge{llodWlngugehrdefdlvi} 12.56 fi
12.54 12.55
dddilet
he mro \adddialect n e used to dd the nme of dilet or vrint lngugeD for whih n lredy de(ned hyphention tle n e usedF
iflnguge
sers might wnt to test @in privte pkge for instneA whih lnguge is urrently tiveF por this we provide test mroD \iflanguageD tht hs three rgumentsF st heks whether the (rst rgument is known lngugeF sf soD it ompres the (rst rgument with the vlue of \languageF henD depending on the result of the omprisonD it exeutes either the seond or the third rgumentF
defiflnguge5I{7 expndfterifxsnme ld5Iendsnmerelx 12.62 dnolnerr{5I}7 12.63 else 12.64 ldfterfi{ifnumsnme ld5Iendsnmealnguge 12.65 expndfterdfirstoftwo 12.66 else 12.67 expndfterdseondoftwo 12.68 fi}7 12.69 fi}
12.60 12.61
seletlnguge
he mro \selectlanguage heks whether the lnguge is lredy de(ned efore it performs its tul tskD whih is to updte \language nd tivte lngugeEspei( de(nitionsF o llow the ll of \selectlanguage either with ontrol sequene nme or with simple string s rgumentD we hve to use trik to delete the optionl espe hrterF o onvert ontrol sequene to stringD we use the \string primitiveF xext we hve to look t the (rst hrter of this string nd ompre it with the espe hrterF feuse this espe hrter n e hnged y setting the internl integer \escapechar to hrter numerD we hve to ompre this numer with the hrter of the stringF o do this we hve to use i9s kquote nottion to speify the hrter s numerF sf the (rst hrter of the \string9ed rgument is the urrent espe hrE terD the omprison hs stripped this hrter nd the rest in the then9 prt onsists of the rest of the ontrol sequene nmeF ytherwise we know tht either PR
the rgument is not ontrol sequene or \escapechar is set to vlue outside of the hrter rnge 0!255F sf the user gives n empty rgumentD we provide defult rgument for \stringF his rgument should expnd to nothingF
edefseletlnguge{7 noexpndprotet 12.72 expndfternoexpndsnme seletlnguge endsnme 12.73 }
12.70 12.71
feuse the ommnd \selectlanguage ould e used in moving rgument it expnds to \protect\selectlanguage F hereforD we hve to mke sure tht mro \protect existsF sf it doesn9t it is \let to \relaxF
12.74
ifxdundefinedprotetletprotetrelxfi
A A es v i PFHW writes to (les expanded wheres v i P tkes re not to expnd the rguments of \write sttements we need to e it lever out the wy we dd informtion to .aux (lesF herefor we introdue the mro \xstring whih should expnd to the right mount of \string9sF
ine version QFS babel writes entries to the uxiliry (les in order to typeset tle of ontents etF in the orret lnguge environmentF
ldpopdlnguge
when the lnguge hnge hppens inside group the end of the group doesn9t write nything to the uxiliry (lesF herefor we need i9s aftergroup mehnism to help usF he ommnd \aftergroup stores the token immeditely following it to e exeuted when the urrent group is losedF o we de(ne temporry ontrol sequene \bbl@pop@language to e exeuted t the end of the groupF st lls \bbl@set@language with the nme of the urrent lnguge s its rgumentF
But
ldlngugedstk
he previous solution works for one level of nesting groupsD ut s soon s more levels re used it is no longer dequteF por tht se we need to keep trk of the nested lnguges using stk mehnismF his stk is lled \bbl@language@stack nd initilly emptyF
xdefldlngugedstk{}
12.80
hen using stk we need mehnism to push n element on the stk nd to retrieve the informtion fterwrdsF
ldpushdlnguge ldpopdlnguge
he stk is simply list of lngugenmesD seprted with C9 signY the push funtion n e simpleX
etrieving informtion from the stk is little it less simpleD s we need to remove the element from the stk while storing it in the mro \languagenameF por this we (rst de(ne helper funtionF
PS
ldpopdlng
his mro stores its (rst element @whih is delimited y the C9EsignA in \languagename nd stores the rest of the string @delimited y E9A in its third rgumentF
he reson for the somewht weird rrngement of rguments to the helper funE tion is the ft it is lled in the following wyX
12.87 12.88
defldpopdlnguge{7 expndfterldpopdlngldlngugedstkEldlngugedstk
his mens tht efore \bbl@pop@lang is exeuted i (rst expands the stkD stored in \bbl@language@stackF he result of tht is tht the rgument string of \bbl@pop@lang ontins one or more lnguge nmesD eh followed y C9Esign @zero lnguge nmes won9t our s this mro will only e lled fter something hs een pushed on the stkA followed y the E9Esign nd (nlly the referene to the stkF
66 expndfterldsetdlngugeexpndfter{lngugenme}7 12.91 }
12.89 12.90
yne the nme of the previous lnguge is retrieved from the stkD it is fed to \bbl@set@language to do the tul work of swithing everything tht needs swithingF
expndfterdefsnme seletlnguge endsnme5I{7 ldpushdlnguge 12.94 ftergroupldpopdlnguge 12.95 ldsetdlnguge{5I}}
12.92 12.93
ldsetdlnguge
he mro \bbl@set@language tkes re of swithing the lnguge environment and of writing entries on the uxiliry (lesF
e lso write ommnd to hnge the urrent lnguge in the uxiliry (lesF
12.101 12.102 12.103 12.104 12.105 12.106
pirstD hek if the user sks for known lngugeF sf soD updte the vlue of \language nd ll \originalTeX to ring i in ertin preEde(ned stteF
defseletdlnguge5I{7 expndfterifxsnme ld5Iendsnmerelx 12.109 dnolnerr{5I}7
12.107 12.108
PT
he nme of the lnguge is stored in the ontrol sequene \languagenameF he ontents of this ontrol sequene ould e tested in the following wyX
edeftmp{string english} ifxlngugenmetmp FFF else FFF fi
he onstrution with \string is neessry euse \languagename returns the nme with hrters of tegory ode 12 @otherAF hen we hve to re de(ne \originalTeX to ompenste for the things tht hve een tivtedF o sve memory spe for the mro de(nition of \originalTeXD we onstrut the ontrol sequene nme for the \noextras lang ommnd t de(nition time y expnding the \csname primitiveF
12.116 12.117 12.118
12.119 12.120
xow tivte the lngugeEspei( de(nitionsF his is done y onstruting the nmes of three mros y ontenting three words with the rgument of \selectlanguageD nd lling these mrosF
12.121 12.122 12.123
he swithing of the vlues of \lefthyphenmin nd \righthyphenmin is someE wht di'erentF pirst we sve their urrent vluesD then we hek if \ lang hyphenmins is de(nedF sf it is notD we set defult vlues @P nd QAD otherwise the vlues in \ lang hyphenmins will e usedF
12.124 12.125 12.126 12.127 12.128 12.129 12.130 12.131 12.132 12.133
eldsvevrilelefthyphenmin eldsvevrilerighthyphenmin expndfterifxsnme 5Ihyphenminsendsnmerelx setdhyphenminstwdthrddrelx else expndfterexpndfterexpndftersetdhyphenmins snme 5Ihyphenminsendsnmerelx fi fi fi}
otherlnguge
he otherlanguage environment n e used s n lterntive to using the \selectlanguage delrtive ommndF hen you re typesetting doument PU
whih mixes leftEtoEright nd rightEtoEleft typesetting you hve to use this enviE ronment in order to let things work s you expet them toF he (rst thing this environment does is store the nme of the lnguge in \languagenameY it then lls \selectlanguage to swith on everything tht is needed for this lnguge he \ignorespaces ommnd is neessry to hide the environment when it is entered in horizontl modeF
longdefotherlnguge5I{7 snme seletlnguge endsnme{5I}7 12.136 ignorespes 12.137 }
12.134 12.135
he \endotherlanguage prt of the environment lls \originalTeX to restore @most ofA the settings nd tries to hide itself when it is lled in horizontl modeF
longdefendotherlnguge{7 originle 12.140 gloldignoretrueignorespes 12.141 }
12.138 12.139
otherlngugeB
he otherlanguage environment is ment to e used when lrge prt of text from di'erent lnguge needs to e typesetD ut without hnging the trnsltion of words suh s (gure9F his environment mkes use of \foreign@languageF
et the end of the environment we need to swith o' the extr de(nitionsF he grouping mehnism of the environment will tke re of resetting the orret hyphention rulesF
expndfterdefsnme endotherlngugeBendsnme{7 snme noextrslngugenmeendsnme 12.147 }
12.145 12.146
foreignlnguge
he \foreignlanguage ommnd is nother sustitute for the \selectlanguage ommndF his ommnd tkes two rgumentsD the (rst rgument is the nme of the lnguge to use for typesetting the text spei(ed in the seond rgumentF nlike \selectlanguage this ommnd doesn9t swith everythingD it only swithes the hyphention rules nd the extr de(nitions for the lnguge spei(edF st does this within group nd ssumes the \extras lang ommnd doesn9t mke ny \global hngesF he oding is very similr to prt of \selectlanguageF
defforeignlnguge{protetsnme foreignlnguge endsnme} expndfterdefsnme foreignlnguge endsnme5I5P{7 12.150 egingroup 12.151 originle 12.152 foreigndlnguge{5I}7 12.153 5P7 12.154 snme noextrs5Iendsnme 12.155 endgroup 12.156 }
12.148 12.149
foreigndlnguge
his mro does the work for \foreignlanguage nd the otherlanguage* environE mentF
defforeigndlnguge5I{7
12.157
PV
pirst we need to store the nme of the lnguge nd hek tht it is known lngugeF
12.158 12.159 12.160 12.161
sf it is we n selet the proper hyphention tle nd swith on the extr de(niE tions for this lngugeF
12.162 12.163
ldptterns{lngugenme}7 lngugeshorthnds{none}7 snme extrs5Iendsnme expndfterifxsnme 5Ihyphenminsendsnmerelx setdhyphenminstwdthrddrelx else expndfterexpndfterexpndftersetdhyphenmins snme 5Ihyphenminsendsnmerelx fi fi }
ldptterns
his mro selets the hyphention ptterns y hnging the \language regisE terF sf speil hyphention ptterns re ville spei(lly for the urrent font enodingD use them insted of the defultF
defldptterns5I{7 lngugeaexpndfterifxsnme ld5IXfdenodingendsnmerelx 12.175 snme ld5Iendsnme 12.176 else 12.177 snme ld5IXfdenodingendsnme 12.178 firelx 12.179 }
12.173 12.174
hyphenrules
he environment hyphenrules n e used to selet just the hyphention rulesF his environment does not hnge \languagename nd when the hyphention rules spei(ed were not loded it hs no e'etF
defhyphenrules5I{7 expndfterifxsnme ld5Iendsnmedundefined 12.182 dnolnerr{5I}7 12.183 else 12.184 ldptterns{5I}7 12.185 lngugeshorthnds{none}7 12.186 expndfterifxsnme 5Ihyphenminsendsnmerelx 12.187 setdhyphenminstwdthrddrelx 12.188 else 12.189 expndfterexpndfterexpndftersetdhyphenmins 12.190 snme 5Ihyphenminsendsnmerelx 12.191 fi 12.192 fi 12.193 } 12.194 defendhyphenrules{}
12.180 12.181
PW
providehyphenmins
he mro \providehyphenmins should e used in the lnguge de(nition (les to provide default setting for the hyphention prmeters \lefthyphenmin nd \righthyphenminF sf the mro \ lang hyphenmins is lredy de(ned this omE mnd hs no e'etF
setdhyphenmins
his mro sets the vlues of \lefthyphenmin nd \righthyphenminF st expets two vlues s its rgumentF
defsetdhyphenmins5I5P{lefthyphenmin5Irighthyphenmin5P}
12.199
vdfsnit
his mro is de(ned in two versionsF he (rst version is to e prt of the kernel9 of babelD ieF the prt tht is loded in the formtY the seond version is de(ned in babel.defF he version in the formt just heks the tegory ode of the mpersnd nd then lods babel.defF
he tegory ode of the mpersnd is restored nd the mro lls itself gin with the new de(nition from babel.def
12.204 12.205 12.206
he seond version of this mro tkes two rgumentsF he (rst rgument is the nme of the lnguge tht will e de(ned in the lnguge de(nition (leY the seond rgument is either ontrol sequene or string from whih ontrol sequene should e onstrutedF he existene of the ontrol sequene indites tht the (le hs een proessed eforeF et the strt of proessing lnguge de(nition (le we lwys hek the tegory ode of the mpersndF e mke sure tht it is letter9 during the proessing of the (leF
core defvdfsnit5I5P{7 12.209 hrdefttodeatoded 12.210 todedaIIrelx
12.207 12.208
enother hrter tht needs to hve the orret tegory ode during proessing of lnguge de(nition (les is the equls signD a9D euse it is sometimes used in onstrutions with the \let primitiveF herefor we store its urrent tode nd restore it lter onF
12.211 12.212
hrdefeqtodeatodea todeaaIPrelx
xow we hek whether we should perhps stop the proessing of this (leF o do this we (rst need to hek whether the seond rgument tht is pssed to \LdfInit is ontrol sequeneF e do tht y looking t the (rst token fter pssing #2 through stringF hen it is equl to \@backslashchar we re deling with ontrol sequene whih we n ompre with \@undefinedF QH
sf soD we ll \ldf@quit @ut fter the end of this \if onstrutionA to set the min lngugeD restore the tegory ode of the dEsign nd ll \endinputF
12.218 12.219 12.220
defldtemp{ldfdquit{5I}} fi else expndfterifxsnme5Pendsnmerelx else defldtemp{ldfdquit{5I}} fi fi ldtemp ifxoriginledundefined letoriginledempty else originle fi}
ldfdquit
defldfdquit5I{7 expndftermindlngugeexpndfter{5I}7 12.234 todedattode letttoderelx 12.235 todeaaeqtode leteqtoderelx 12.236 endinput 12.237 }
12.232 12.233
ldfdfinish
his mro tkes one rgumentF st is the nme of the lnguge tht ws de(ned in the lnguge de(nition (leF e lod the lol on(gurtion (le if one is presentD we set the min lnguge @tking into ount tht the rgument might e ontrol sequene tht needs to e expndedA nd reset the tegory ode of the dEsignF
defldfdfinish5I{7 lodlolfg{5I}7 12.240 expndftermindlngugeexpndfter{5I}7 12.241 todedattode letttoderelx 12.242 todeaaeqtode leteqtoderelx 12.243 }
12.238 12.239
efter the premle of the doument the ommnds \LdfInitD \ldf@quit nd \ldf@finish re no longer neededF herefor they re turned into wrning mesE A sges in v iF
QI
mindlnguge ldmindlnguge
his ommnd should e used in the vrious lnguge de(nition (lesF st stores its rgument in \bbl@main@languageY to e used to swith to the orret lnguge t the eginning of the doumentF
e lso hve to mke sure tht some ode gets exeuted t the eginning of the doumentF
etfeginhoument{7 expndfterseletlngugeexpndfter{ldmindlnguge}} 12.258 /core
12.256 12.257
originle
he mro\originalTeX should e known to i t this momentF es it hs to e expndle we \let it to \@empty insted of \relaxF
kernel ifxoriginledundefinedletoriginledemptyfi
12.259 12.260
feuse this prt of the ode n e inluded in formtD we mke sure tht the mro whih initilises the sve mehnismD \babel@beginsaveD is not onsidered to e unde(nedF
12.261
ifxeldeginsvedundefinedleteldeginsverelxfi
dnolnerr dnoptterns
he babel pkge will signl n error when douments tries to selet lnguge tht hsn9t een de(ned erlierF hen user selets lnguge for whih no hyphention ptterns were loded into the formt he will e given wrning out tht ftF e revert to the ptterns for \languageaH in tht seF sn most formts tht will e @AenglishD ut it might lso e emptyF hen the pkge ws loded without options not everything will work s exE petedF en error messge is issued in tht seF A hen the formt knows out \PackageError it must e v i P D so we n sfely use its error hndling interfeF ytherwise we9ll hve to keep it simple9F
dnoopterr
ifxkgeirrordundefined defdnolnerr5I{7 12.264 errhelp{our ommnd will e ignoredD type `returnb to proeed}7 12.265 errmessge{ou hven9t defined the lnguge 5Ispe yet}} 12.266 defdnoptterns5I{7 12.267 messge{xo hyphention ptterns were loded for}7 12.268 messge{the lnguge 5I9}7 12.269 messge{s will use the ptterns loded for stringlngugeaH 12.270 insted}} 12.271 defdnoopterr5I{7 12.272 errmessge{he option 5I ws not speified in stringusepkge} 12.273 errhelp{ou my ontinueD ut expet unexpeted results}} 12.274 defdtivted5I{7
12.262 12.263
QP
wlog{kge el snfoX wking 5I n tive hrter}} else 12.277 newommndB{dnolnerr}I{7 12.278 kgeirror{el}7 12.279 {ou hven9t defined the lnguge 5Ispe yet}7 12.280 {our ommnd will e ignoredD type `returnb to proeed}} 12.281 newommndB{dnoptterns}I{7 12.282 kgerningxovine{el}7 12.283 {xo hyphention ptterns were loded forwessgefrek 12.284 the lnguge 5I9wessgefrek 12.285 s will use the ptterns loded for stringlngugeaH 12.286 insted}} 12.287 newommndB{dnoopterr}I{7 12.288 kgeirror{el}7 12.289 {ou hven9t loded the option 5Ispe yet}7 12.290 {ou my proeedD ut expet unexpeted results}} 12.291 newommndB{dtivted}I{7 12.292 kgesnfo{el}{7 12.293 wking 5I n tive hrter}} 12.294 fi
12.275 12.276
he following ode is ment to e red y inii euse it should instrut i to red hyphention ptternsF o this end the docstrip option patterns n e used to inlude this ode in the (le hyphen.cfgF
12.295
patterns
proessdline
ih line in the (le language.dat is proessed y \process@line fter it is redF he (rst thing this mro does is to hek whether the line strts with =F hen the (rst token of line is n =D the mro \process@synonym is lledY otherwise the mro \process@language will ontinueF
\def\process@line#1#2 #3/{% \ifx=#1 12.298 \process@synonym#2 / 12.299 \else 12.300 \process@language#1#2 #3/% 12.301 \fi 12.302 }
12.296 12.297
proessdsynonym
his mro tkes re of the lines whih strt with n =F st needs n empty token register to egin withF
hen no lnguges hve een loded yetD the nme following the = will e synonym for hyphention register HF
12.306 12.307
es no hyphention ptterns re red in yetD we n not yet set the hyphenmin prmetersF herefor ommnds to do so is stored in token register nd exeuted when the (rst pttern (le hs een proessedF
12.308
\toks@\expandafter{\the\toks@
\expandafter\let\csname #1hyphenmins\expandafter\endcsname \csname\languagename hyphenmins\endcsname}% \else \expandafter\chardef\csname l@#1\endcsname\last@language \wlog{\string\l@#1=\string\language\the\last@language} \expandafter\let\csname #1hyphenmins\expandafter\endcsname \csname\languagename hyphenmins\endcsname \fi }
ytherwise the nme will e synonym for the lnguge loded lstF
12.312 12.313
proessdlnguge
he mro \process@language is used to proess nonEempty line from the onE (gurtion (le9F st hs three rgumentsD eh delimited y white speF he third rgument is optionlD so / hrter is expeted to delimit the lst rgumentF he (rst rgument is the nme9 of lngugeY the seond is the nme of the (le tht ontins the ptternsF he optionl third rgument is the nme of (le ontining hyphention exeptionsF he (rst thing to do is ll \addlanguage to llote pttern register nd to mke tht register tive9F
hen the nme9 of the lnguge tht will e loded now is dded to the token register \toks8F nd (nlly the pttern (le is redF
12.322
\global\toks8\expandafter{\the\toks8#1, }%
por some hyphention ptterns it is needed to lod them with spei( font enoding seletedF his n e spei(ed in the (le language.dat y dding for instne :T19 to the nme of the lngugeF he mro \bbl@get@enc extrts the font enoding from the lnguge nme nd stores it in \bbl@hyph@encF
12.323 12.324 12.325 12.326 12.327 12.328
ome pttern (les ontin ssignments to \lefthyphenmin nd \righthyphenminF i does not keep trk of these ssignmentsF herefor we try to detet suh sE signments nd store them in the \ lang hyphenmins mroF hen no ssignments were mde we provide defult settingF
12.329
\lefthyphenmin\m@ne
ome pttern (les ontin hnges to the \lccode en \uccode rrysF uh hnges should remin lol to the lngugeY therefor we proess the pttern (le in groupY the \patterns ommnd ts glolly so its e'et will e rememeredF
12.330
\input #2\relax
QR
xow we glolly store the settings of \lefthyphenmin nd \righthyphenmin nd lose the groupF
12.331 12.332 12.333 12.334 12.335 12.336
sf the ounter \language is still equl to zero we set the hyphenmin prmeters to the vlues for the lnguge loded on pttern register HF
12.337 12.338 12.339 12.340 12.341 12.342 12.343
xow exeute the ontents of token register zero s it my ontin ommnds whih set the hyphenmin prmeters for synonyms tht were de(ned efore the (rst pttern (le is red inF
12.344 12.345
hen the hyphention ptterns hve een proessed we need to see if (le with hyphention exeptions needs to e redF his is the se when the third rgument is not empty nd when it does not ontin spe tokenF
12.347 12.348 12.349 12.350 12.351 12.352 12.353 12.354 12.355
ldgetden ldhyphden
he mro \bbl@get@enc extrts the font enoding from the lnguge nme nd stores it in \bbl@hyph@encF st uses delimited rguments to hieve thisF
\def\bbl@get@enc#1:#2\@@@{% \def\bbl@tempa{#1}% \def\bbl@tempb{#2}%
12.356
thenD if the seond rgument ws emptyD no font enoding ws spei(ed nd we9re doneF
12.359 12.360 12.361
QS
fut if the seond rgument ws not empty it will now hve super)uous olon tthed to it whih we need to removeF his done y feeding it to \bbl@get@encF he string tht we re fter will then e in the (rst rgument nd e stored in \bbl@tempaF
12.362 12.363 12.364
redonfigfile
he on(gurtion (le n now e opened for redingF ee if the (le existsD if notD use the defult hyphention (le hyphen.texF he user will e informed out thisF
12.365
\ifeof1 \message{I couldn't find the file language.dat,\space 12.368 I will try the file hyphen.tex} 12.369 \input hyphen.tex\relax 12.370 \else
12.366 12.367
ttern registers re lloted using ount register \last@languageF sts initil vlue is HF he de(nition of the mro \newlanguage is suh tht it (rst inreE ments the ount register nd then de(nes the lngugeF sn order to hve the (rst ptterns loded in pttern register numer H we initilize \last@language with the vlue 1F
12.371
\last@language\m@ne
e now red lines from the (le until the end is found
12.372
\loop
hile reding from the inputD it is useful to swith o' reognition of the endE ofEline hrterF his sves us stripping o' spes from the ontents of the ontrol sequeneF
12.373 12.374 12.375
\ifx\bbl@line\@empty \else
xow we dd spe nd / hrter to the end of \bbl@lineF his is needed to e le to reognize the thirdD optionlD rgument of \process@language lter onF
12.378 12.379 12.380
ghek for the end of the (leF o void new if ontrol sequene we rete the neessry \iftrue or \iffalse with the help of \csnameF fut there is one omplition with this pprohX when skipping the loop...repeat i hs to red \ifG\fi pirsF o we hve to insert dummy9 \iftrueF
12.381 12.382 12.383
QT
e dd messge out the ft tht el is loded in the formt nd with whih lnguge ptterns to the \everyjob registerF
\ifx\addto@hook\@undefined \else 12.397 \expandafter\addto@hook\expandafter\everyjob\expandafter{% 12.398 \expandafter\typeout\expandafter{\the\toks8 loaded.}} 12.399 \fi
12.395 12.396
/patterns /kernel
he mro \bbl@add@special is used to dd new hrter @or single hrter A ontrol sequeneA to the mro \dospecials @nd \@sanitize if v i is usedAF o keep ll hnges lolD we egin new groupF hen we rede(ne the mros \do nd \@makeother to dd themselves nd the given hrter without expnE sionF
o dd the hrter to the mrosD we expnd the originl mros with the dditionl hrter inside the rede(nition of the mrosF feuse \@sanitize n e unde(nedD we put the de(nition inside onditionlF
12.406 12.407 12.408 12.409 12.410
he mro \x ontins t this moment the followingX \endgroup\def\dospecials{old contents \do char }F sf \@sanitize is de(nedD it ontins n dditionl de(nition of this mroF he lst thing we hve to doD is the expnsion of \xF hen \endgroup is exeutedD
QU
whih restores the old mening of \xD \do nd \@makeotherF efter the group is losedD the new de(nition of \dospecials @nd \@sanitizeA is ssignedF
12.411
x}
ldremovedspeil
he ompnion of the former mro is \bbl@remove@specialF st is used to remove hrter from the set mros \dospecials nd \@sanitizeF o keep ll hnges lolD we egin new groupF hen we de(ne help mro \xD whih expnds to empty if the hrters mthD otherwise it expnds to its nonexpndle inputF feuse i inserts \relaxD if the orresponding \else or \fi is snned efore the omprison is evlutedD we provide stop sign9 whih should expnd to nothingF
12.4 Shorthands
inititedtivedhr
e lnguge de(nition (le n ll this mro to mke hrter tiveF his mro tkes one rgumentD the hrter tht is to e mde tiveF hen the hrter ws lredy tive this mro does nothingF ytherwiseD this mro de(nes the ontrol sequene \normal@char char to expnd to the hrter in its norml stte9 nd it de(nes the tive hrter to expnd to \normal@char char y defult @ char eing the hrter to e mde tiveAF vter its de(nition n e hnged to expnd to \active@char char y lling \bbl@activate{ char }F por exmpleD to mke the doule quote hrter tive one ould hve the following line in lnguge de(nition (leX
inititedtivedhr{4}
ldfterelse ldfterfi
feuse the ode tht is used in the hndling of tive hrters my need to look hedD we tke extr re to throw9 it over the \else nd \fi prts of n \ifEsttement5 F hese mros will rek if nother \if...\fi sttement ppers in one of the rgumentsF
longdefldfterelse5Ielse5Pfi{fi5I} longdefldfterfi5Ifi{fi5I}
5 This
code is based on code presented in TUGboat vol. 12, no2, June 1991 in An expansion
12.423 12.424
QV
peekdtoken
o prevent error messges when shorthndD whih normlly tkes n rgumentD sees \parD or }D or similr tokensD we need to e le to peek9 t wht is oming up next in the input stremF hepending on the tegory ode of the token tht is seenD we need to either ontinue the ode for the tive hrterD or insert the nonEtive version of tht hrter in the outputF he mro \peek@token therefore tkes two rgumentsD with whih it onstruts the ontrol sequene to expnd nextF st \let9s \bbl@nexta nd \bbl@nextb to the two possile mrosF his is neessry for \bbl@test@token to tke the right deisionF
7defpeekdtoken5I5P{7 7 expndfterletexpndfterldnextsnme 5Istring5Pendsnme 12.427 7 expndfterletexpndfterldnext 12.428 7 snme systemdtivestring5Pendsnme 12.429 7 futureletldtokenldtestdtoken}
12.425 12.426
ldtestdtoken
hen the result of peeking t the next token hs yielded token with tegory letter9D other9 or tive9 it is sfe to proeed with evluting the ode for the shorthndF hen token is found with ny other tegory ode proeeding is unsfe nd therefor the originl shorthnd hrter is inserted in the outputF he mro tht lls \bbl@test@token needs to setup \bbl@nexta nd \bbl@nextb in order to hieve thisF
7defldtestdtoken{7 7 letldnextldnext 12.432 7 iftnoexpndldtoken 7 12.433 7 else 12.434 7 iftnoexpndldtokena7 12.435 7 else 12.436 7 iftnoexpndldtokennoexpndldnext 12.437 7 else 12.438 7 letldnextldnext 12.439 7 fi 12.440 7 fi 12.441 7 fi 12.442 7 ldnext}
12.430 12.431
he mro \initiate@active@char tkes ll the neessry tions to mke its rgument shorthnd hrterF he rel work is performed one for eh hrterF
definititedtivedhr5I{7 expndfterifxsnme tivedhrstring55Iendsnmerelx 12.445 ldfterfi{dinititedtivedhr{5I}}7 12.446 fi}
12.443 12.444
xote tht the de(nition of \@initiate@active@char needs n tive hrterD for this the ~ is usedF ome of the hnges we needD do not hve to eome ville lter onD so we do it inside groupF
egingroup tode~tive 12.449 defx{endgroup 12.450 defdinititedtivedhr55I{7
12.447 12.448
sf the hrter is lredy tive we provide the defult expnsion under this shorthnd mehnismF
12.451
iftnoexpnd55Inoexpnd~relx
QW
difundefined{normldhrstring55I}{7 expndfterletsnme normldhrstring55Iendsnme55I7 expndftergdef expndfter55I7 expndfter{7 expndftertivedprefixexpndfter55I7 snme normldhrstring55Iendsnme}}{}7 else dtivted{55I}7
char
nd de(ne \normal@char
12.461
elsoD mke sure tht single ' in mth mode does the right thing9F
12.464 12.465 12.466
sf we re using the ret s shorthnd hrter speil re should e tken to mke sure mth still worksF herefor n extr level of expnsion is introdued with hek for mth mode on the upper levelF
12.467 12.468 12.469 12.470 12.471 12.472 12.473 12.474 12.475 12.476 12.477 12.478 12.479
ifx55I7 gdefldtdret{7 ifmmode snme normldhrstringendsnme else ldfterfi {ifdsfedtives ldfterelsesnme normldhrstring55Iendsnme else ldfterfisnme userdtivestring55Iendsnme fi}7 fi} fi
o prevent prolems with the loding of other pkges fter babel we reset the tode of the hrter t the end of the pkgeF
12.480 12.481 12.482
xow we set the lowerse ode of the ~ equl to tht of the hrter to e mde tive nd exeute the rest of the ode inside \lowercase environment9F
12.483 12.484 12.485
RH
etfeginhoument{7 tode55Itive
e lso need to mke sure tht the shorthnds re tive during the proessing of the .aux (leF ytherwise some ittions my give unexpeted results in the printout when shorthnd ws used in the optionl rgument of \bibitem for exmpleF
12.491 12.492 12.493 12.494
\active@prefix
@where \active@char
12.495 12.496 12.497 12.498 12.499 12.500 12.501
char
\normal@char
char
char
is
one
ontrol sequene3AF
por the tive ret we (rst expnd to \bbl@act@caret in order to e le to hndle mth mode orretlyF
12.502 12.503 12.504
e de(ne the (rst level expnsion of \active@char char to hek the sttus of the @safe@actives )gF sf it is set to true we expnd to the norml9 version of this hrterD otherwise we ll \@active@char char F
12.505 12.506 12.507 12.508 12.509 12.510 12.511
he next level of the ode heks whether user hs de(ned shorthnd for himself with this hrterF pirst we hek for single hrter shorthndF sf tht doesn9t exist we hek for shorthnd with n rgumentF
12.512 12.513 12.514 12.515 12.516 12.517 12.518 12.519 12.520
dnmedef{userdtivestring55I}{7 expndfterifx snme userdgroup dshdstring55Idendsnme relx ldfterelseldshdseletuserdgroup55I7 {userdtivedrgstring55I}{lngugedtivestring55I}7 else ldfterfisnme userdgroup dshdstring55Idendsnme fi}7
RI
hen there is lso no userElevel shorthnd with n rgument we will hek whether there is lnguge de(ned shorthnd for this tive hrterF fefore the next token is sored s rgument we need to mke sure tht this is sfeF herefor \peek@token is lled to deide thtF
12.521 12.522 12.523 12.524 12.525 12.526 12.527 12.528 12.529 12.530 12.531
longdnmedef{userdtivedrgstring55I}5555I{7 expndfterifx snme userdgroup dshdstring55Idstring5555Idendsnme relx ldfterelse snme lngugedtivestring55Iendsnme5555I7 else ldfterfi snme userdgroup dshdstring55Idstring5555Id7 endsnme fi}7
sn order to do the right thing when shorthnd with n rgument is used y itself t the end of the line we provide de(nition for the se of n empty rgumentF por tht se we let the shorthnd hrter expnd to its nonEtive selfF
12.532 12.533
vike the shorthnds tht n e de(ned y the userD lnguge de(nition (le n lso de(ne shorthnds with nd without n rgumentD so we need two more mros to hek if they existF
12.534 12.535 12.536 12.537 12.538 12.539 12.540 12.541 12.542 12.543
dnmedef{lngugedtivestring55I}{7 expndfterifx snme lngugedgroup dshdstring55Idendsnme relx ldfterelseldshdseletlngugedgroup55I7 {lngugedtivedrgstring55I}{systemdtivestring55I}7 else ldfterfi snme lngugedgroup dshdstring55Idendsnme fi}7 longdnmedef{lngugedtivedrgstring55I}5555I{7 expndfterifx snme lngugedgroup dshdstring55Idstring5555Idendsnme relx ldfterelse snme systemdtivestring55Iendsnme5555I7 else ldfterfi snme lngugedgroup dshdstring55Idstring5555Id7 endsnme fi}7 dnmedef{systemdtivestring55I}{7 expndfterifx snme systemdgroup dshdstring55Idendsnme relx ldfterelseldshdseletsystemdgroup55I7 {systemdtivedrgstring55I}{normldhrstring55I}7
12.544 12.545 12.546 12.547 12.548 12.549 12.550 12.551 12.552 12.553 12.554
RP
hen no shorthnds were found the norml9 version of the tive hrter is insertedF
12.564 12.565 12.566 12.567 12.568 12.569 12.570 12.571 12.572
longdnmedef{systemdtivedrgstring55I}5555I{7 expndfterifx snme systemdgroup dshdstring55Idstring5555Idendsnme relx ldfterelsesnme normldhrstring55Iendsnme5555I7 else ldfterfi snme systemdgroup dshdstring55Idstring5555Idendsnme fi}7
hen shorthnd omintion suh s '' ends up in heding i would see \protect'\protect'F o prevent this from hppening shorthnd needs to e de(ned t user levelF
12.573 12.574 12.575 12.576
ldshdselet
his ommnd helps the shorthnd supporting mros to selet how to proeedF xote tht this mro needs to e expndle s do ll the shorthnd mros in order for them to work in expnsionEonly environments suh s the rgument of \hyphenationF his mro expets the nme of group of shorthnds in its (rst rgument nd shorthnd hrter in its seond rgumentF st will expnd to either \bbl@firstcs or \bbl@scndcsF rene two more rguments need to follow itF
defldshdselet5I5P{7 expndfterifxsnme5Idshdstring5Pdselendsnmerelx 12.579 ldfterelseldsnds 12.580 else 12.581 ldfterfisnme5Idshdstring5Pdselendsnme 12.582 fi 12.583 }
12.577 12.578
tivedprefix
he ommnd \active@prefix whih is used in the expnsion of tive hrE ters hs funtion similr to \OT1-cmd in tht it \protects the tive hrter whenever \protect is not \@typeset@protectF
hen \protect is set to \@unexpandable@protect we mke sure tht the tive hrter is ls not expnded y inserting \noexpand in front of itF he \@gobble is needed to remove token suh s \activechar: @when the doule olon ws the tive hrter to e delt withAF
12.587 12.588 12.589
RQ
ldfterfildfterfiprotet5Idgole fi fi}
ifdsfedtives
sn some irumstnes it is neessry to e le to hnge the expnsion of n tive hrter on the )yF por this purpose the swith @safe@actives is vilE leF he setting of this swith should e heked in the (rst level expnsion of \active@char char F
newififdsfedtives dsfedtivesflse
12.593 12.594
ldrestoredtives
hen the output routine kiks in while the tive hrters were mde sfe this must e undone in the heders to prevent unexpeted typeset resultsF por this sitution we de(ne ommnd to mke them unsfe ginF
defldrestoredtives{ifdsfedtivesdsfedtivesflsefi}
12.595
ldtivte
his mro tkes one rgumentD like \initiate@active@charF he mro is used to hnge the de(nition of n tive hrter to expnd to \active@char char insted of \normal@char char F
defldtivte5I{7 expndfterdef 12.598 expndfter5Iexpndfter{7 12.599 expndftertivedprefix 12.600 expndfter5Isnme tivedhrstring5Iendsnme}7 12.601 }
12.596 12.597
lddetivte
his mro tkes one rgumentD like \bbl@activateF he mro doesn9t relly mke hrter nonEtiveY it hnges its de(nition to expnd to \normal@char char F
deflddetivte5I{7 expndfterdef 12.604 expndfter5Iexpndfter{7 12.605 expndftertivedprefix 12.606 expndfter5Isnme normldhrstring5Iendsnme}7 12.607 }
12.602 12.603
ldfirsts ldsnds
hese mros hve two rgumentsF hey use one of their rguments to uild ontrol sequene fromF
defldfirsts5I5P{snme5Iendsnme} defldsnds5I5P{snme5Pendsnme}
12.608 12.609
delredshorthnd
he ommnd \declare@shorthand is used to delre shorthnd on ertin levelF st tkes three rgumentsX IF nme for the olletion of shorthndsD iFeF system9D or duth9Y PF the hrter @sequeneA tht mkes up the shorthndD iFeF ~ or "aY QF the ode to e exeuted when the shorthnd is enounteredF
RR
textormth
ome of the shorthnds tht will e delred y the lnguge de(nition (les hve to e usle in oth text nd mthmodeF o hieve this the helper mro \textormath is providedF
deftextormth5I5P{7 ifmmode 12.622 ldfterelse5P7 12.623 else 12.624 ldfterfi5I7 12.625 fi}
12.620 12.621
he urrent onept of shorthnds9 supports three levels or groups of shorthndsF por eh level the nme of the level or group is stored in mroF he defult is to hve user groupY use lnguge group english9 nd hve system group lled system9F
useshorthnds
A his is the user level ommnd to tell v i tht user level shorthnds will e used in the doumentF st tkes one rgumentD the hrter tht strts shorthndF
12.629
xow tht i hs seen the hrter its tegory ode is (xedD ut for the tions of \bbl@activate to sueed we need it to e tiveF rene the trik with the \lccode to irumvent thisF
12.632 12.633 12.634 12.635
gurrently we only support one group of user level shorthndsD lled user9F e user level ommnd to hnge the lnguge from whih shorthnds re usedF
12.636
12.637
12.638
RS
hen we need to use the \lccode trik to mke the new shorthnd ehve like the old oneF herefore we sve the urrent \lccode of the ~Ehrter nd restore it lterF hen we \let the new shorthnd hrter e equl to the originlF
12.644 12.645 12.646 12.647 12.648 12.649 12.650
dnotshorthnd defdnotshorthnd5I{7 kgeirror{el}{7 12.653 he hrter string 5I9 should e mde 12.654 shorthnd hrterYwessgefrek 12.655 dd the ommnd stringuseshorthndsstring{5Istring} to 12.656 the premleFwessgefrek 12.657 s will ignore your instrution}{}7 12.658 }
12.651 12.652
shorthndon shorthndoff
he (rst level de(nition of these mros just psses the rgument on to \bbl@switch@shD dding \@nil t the end to denote the end of the list of hrE tersF
newommndBshorthndonI{ldswithdsh{on}5Idnil} newommndBshorthndoffI{ldswithdsh{off}5Idnil}
12.659 12.660
ldswithdsh
he mro \bbl@switch@sh tkes the list of hrters prt one y one nd susequently swithes the tegory ode of the shorthnd hrter ording to the (rst rgument of \bbl@switch@shF
defldswithdsh5I5P5Qdnil{7
12.661
fut efore ny of this swithing tkes ple we mke sure tht the hrter we re deling with is known s shorthnd hrterF sf it isD mro suh s \active@char" should existF
12.662 12.663 12.664 12.665 12.666 12.667 12.668
difundefined{tivedhrstring5P}{7 kgeirror{el}{7 he hrter 9string 5P9 is not shorthnd hrter in lngugenme}{7 wye you mde typing mistkecwessgefrek s will ignore your instrution}}{7 snme ldswithdshd5Iendsnme5P}7
xow thtD s the (rst hrter in the list hs een tken re ofD we pss the rest of the list k to \bbl@switch@shF
12.669 12.670 12.671
RT
ldswithdshdoff
ell tht is left to do is de(ne the tul swithing mrosF withing o' is esyD we just set the tegory ode to other9 @IPAF
defldswithdshdoff5I{tode5IIPrelx}
12.672
ldswithdshdon
fut swithing the shorthnd hrter k on is it more trikyF st involves mking sure tht we hve n tive hrter to egin with when the mro is eing de(nedF st lso needs the use of \lowercase nd \lccode trikery to get everything to work out s expetedF end to keep things lol tht need to remin lol group is openedD whih is losed s soon s \x gets exeutedF
egingroup tode~tive 12.675 defx{endgroup 12.676 defldswithdshdon55I{7 12.677 egingroup 12.678 lode~a55I7 12.679 lowerse{endgroup 12.680 tode~tive 12.681 }7 12.682 }7 12.683 }
12.673 12.674
x 7
o prevent prolems with onstruts suh s \char"01A when the doule quote is mde tiveD we de(ne shorthnd on system levelF
12.686
delredshorthnd{system}{4}{snme normldhrstring4endsnme}
hen the right quote is mde tive we need to tke re of hndling it orE retly in mthmodeF herefore we de(ne shorthnd t system level to mke it expnd to nonEtive right quote in textmodeD ut expnd to its originl de(niE tion in mthmodeF @xote tht the right quote is tive9 in mthmode euse of its mthodeFA
delredshorthnd{system}{9}{7 textormth{snme normldhrstring9endsnme}7 12.689 {spgroupprimds}}
12.687 12.688
hen the left quote is mde tive we need to tke re of hndling it orretly when it is followed y for instne n open re tokenF herefore we de(ne shorthnd t system level to mke it expnd to nonEtive left quoteF
12.690
delredshorthnd{system}{}{snme normldhrstringendsnme}
ldprimds ldprdmds
yne of the internl mros tht re involved in sustituting \prime for eh right quote in mthmode is \prim@sF his heks if the next hrter is right quoteF hen the right quote is tiveD the de(nition of this mro needs to e dpted to look for n tive right quoteF
defldprimds{7 primefutureletdletdtokenldprdmds} 12.693 egingroup 12.694 tode9tivelet9relx 12.695 defx{endgroup 12.696 defldprdmds{7
12.691 12.692
RU
12.697 12.698 12.699 12.700 12.701 12.702 12.703 12.704 12.705 12.706 12.707
12.708
/core | shorthands
xormlly the ~ is tive nd expnds to \penalty\@M\ F hen it is written to the .aux (le it is written expndedF o prevent tht nd to e le to use the hrter ~ s strt hrter for shorthndD it is rede(ned here s one hrter shorthnd on system levelF
core inititedtivedhr{~} 12.711 delredshorthnd{system}{~}{levevmodenorek } 12.712 ldtivte{~}
12.709 12.710
yIdqpos Idqpos
he position of the doule quote hrter is di'erent for the yI nd I enodE ingsF st will lter e seleted using the \f@encoding mroF herefor we de(ne two mros here to store the position of the hrter in these enodingsF
expndfterdefsnme yIdqposendsnme{IPU} expndfterdefsnme Idqposendsnme{R}
12.713 12.714
hen the mro \f@encoding is unde(ned @s it is in plin iA we de(ne it here to expnd to OT1
ifxfdenodingdundefined deffdenoding{yI} 12.717 fi
12.715 12.716
he mro \languageattribute heks whether its rguments re vlid nd then tivtes the seleted lnguge ttriuteF
newommndlngugettriuteP{7 expndfterifxsnme ld5Iendsnmerelx dnolnerr{5I}7 else dforldttrXa5Pdo{7
12.718
e wnt to mke sure tht eh ttriute is seleted only oneY therefor we store the lredy seleted ttriutes in \bbl@known@attribsF hen tht ontrol seE quene is not yet de(ned this ttriute is ertinly not seleted eforeF RV
xow we need to see if the ttriute ours in the list of lredy seleted ttriutesF
12.726 12.727 12.728 12.729
hen the ttriute ws in the list we issue wrningY this might not e the users intentionF
12.730 12.731 12.732 12.733 12.734
ifind kgerning{fel}{7 ou hve more thn one seleted the ttriute 9ldttr9wessgefrek for lnguge 5I}7 else
hen we end up here the ttriute is not seleted eforeF oD we dd it to the list of seleted ttriutes nd exeute the ssoited iEodeF
12.735 12.736 12.737 12.738 12.739 12.740 12.741 12.742 12.743 12.744
fi } fi}
donlypremlelngugettriute newommndB{dttrerr}P{7 kgeirror{el}7 {he ttriute 5P is unknown for lnguge 5IF}7 {our ommnd will e ignoredD type `returnb to proeed}}
lddelredttriute
his ommnd dds the new lngugeGttriute omintion to the list of known ttriutesF
deflddelredttriute5I5P5Q{7 lddddlistldttriutes{5IE5P}7
12.750 12.751
hen it de(nes ontrol sequene to e exeuted when the ttriute is used in doumentF he result of this should e tht the mro \extras... for the urrent lnguge is extendedD otherwise the ttriute will not work s its ode is removed from memory t \begin{document}F
12.752 12.753
expndfterdefsnme5Idttrd5Pendsnme{5Q}7 }
ldifttriuteset
his internl mro hs R rgumentsF st n e used to interpret i ode sed on whether ertin ttriute ws setF his ommnd should pper inside the rgument to \AtBeginDocument euse the ttriutes re set in the doument premleD after babel is lodedF RW
he (rst rgument is the lngugeD the seond rgument the ttriute eing hekedD nd the third nd fourth rguments re the true nd flse lusesF
12.754
pirst we need to (nd out if ny ttriutes were setY if not we9re doneF
12.755 12.756 12.757
hen we9re this fr \ifin@ hs vlue inditing if the ttriute in question ws set or notF tust to e sfe the ode to e exeuted is thrown over the \fi9F
12.762 12.763 12.764 12.765 12.766 12.767
lddddlist
his internl mro dds its seond rgument to omm seprted list in its (rst rgumentF hen the list is not de(ned yet @or emptyAD it will e initited
deflddddlist5I5P{7 ifx5Idundefined 12.770 def5I{5P}7 12.771 else 12.772 ifx5Idempty 12.773 def5I{5P}7 12.774 else 12.775 edef5I{5ID5P}7 12.776 fi 12.777 fi 12.778 }
12.768 12.769
ldifknowndttri
en internl mro to hek whether given lngugeGttriute is knownF he mro tkes R rgumentsD the lngugeGttriuteD the ttriute listD the iEode to e exeuted when the ttriute is known nd the iEode to e exeuted otherwiseF
defldifknowndttri5I5P{7 letldtempdseondoftwo dforldtempXa5Pdo{7 expndfterindexpndfter{expndfterDldtempD}{D5ID}7 ifind letldtempdfirstoftwo else fi}7
12.779
hen we loop over the list of known ttriutesD trying to (nd mthF
12.781 12.782 12.783
SH
ldtemp
ldlerdttris
A his mro removes ll the ttriute ode from v i9s memory t \begin{document} time @if ny is presentAF
defldlerdttris{7 ifxldttriutesdundefinedelse 12.791 dforldtempXaldttriutesdo{7 12.792 expndfterldlerdttrildtempF 12.793 }7 12.794 letldttriutesdundefined 12.795 fi 12.796 } 12.797 defldlerdttri5IE5PF{7 12.798 expndfterletsnme5Idttrd5Pendsnmedundefined} 12.799 etfeginhoument{ldlerdttris}
12.789 12.790
newounteldsvent eldeginsve
eldsve
he mro \babel@save csname sves the urrent mening of the ontrol seE quene csname to \originalTeX6 F o do thisD we let the urrent mening to temporry ontrol sequeneD the restore ommnds re ppended to \originalTeX nd the ounter is inrementedF
defeldsve5I{7 expndfterletsnme eldnumereldsventendsnme 5Irelx 12.805 egingroup 12.806 toksdexpndfter{originle let5Ia}7 12.807 edefx{endgroup 12.808 defnoexpndoriginle{thetoksd expndfternoexpnd 12.809 snme eldnumereldsventendsnmerelx}}7 12.810 x 12.811 dvneeldsventdne}
12.803 12.804
eldsvevrile
he mro \babel@savevariable variable sves the vlue of the vrileF variable n e nything llowed fter the \the primitiveF
6 \originalTeX
has to be expandable, i. e. you shouldn't let it to
\relax.
SI
ldfrenhsping ldnonfrenhsping
ome lnguges need to hve \frenchspacing in e'etF ythers don9t wnt thtF he ommnd \bbl@frenchspacing swithes it on when it isn9t lredy in e'et nd \bbl@nonfrenchspacing swithes it o' if neessryF
defldfrenhsping{7 ifnumthesfodeFadm 12.819 letldnonfrenhspingrelx 12.820 else 12.821 frenhsping 12.822 letldnonfrenhspingnonfrenhsping 12.823 fi} 12.824 letldnonfrenhspingnonfrenhsping
12.817 12.818
por eh lnguge four ontrol sequenes hve to e de(ned tht ontrol the lngugeEspei( de(nitionsF o e le to dd something to these mro one they hve een de(ned the mro \addto is introduedF st tkes two rgumentsD control sequence nd iEode to e dded to the control sequence F sf the control sequence hs not een de(ned efore it is de(ned nowF
he ontrol sequene ould lso expnd to \relaxD in whih se irulr de(E nition resultsF he net result is stk over)owF
12.829 12.830 12.831
ytherwise the replement text for the control sequence is expnded nd stored in token registerD together with the iEode to e ddedF pinlly the control sequence is re de(nedD using the ontents of the token registerF
12.832 12.833 12.834 12.835 12.836
{toksdexpndfter{5I5P}7 xdef5I{thetoksd}}7 fi fi
his mro mkes hyphention possileF fsilly its de(nition is nothing more thn \nobreak \hskip 0pt plus 0pt7 F
defldtdone{I}
7 T X begins and ends a word for hyphenation at a glue node. The penalty prevents a linebreak E at this glue node.
12.837
SP
setdlowdox
he following mro is used to lower quotes to the sme level s the ommF st prepres its rgument in ox register HF
svedsfdq
lddis
por some lnguges the mro \bbl@disc is used to ese the insertion of disreE tionries for letters tht ehve normlly9 t rekpointF
deflddis5I5P{7 norekdisretionry{5PE}{}{5I}llowhyphens}
12.849 12.850
sn the T1 enoding the opening doule quote t the seline is ville s seprte hrterD essile vi \quotedblbaseF sn the OT1 enoding it is not villeD therefor we mke it ville y lowering the norml open quote hrE ter to the selineF
wke sure tht when n enoding other thn OT1 or T1 is used this glyph n still e typesetF
12.854 12.855
rovideextgommndhefult{quotedlse}{7 seextymol{yI}{quotedlse}}
quotesinglse
8 The
le described in this section has version number v3.8l, and was last revised on
2008/03/16.
SQ
wke sure tht when n enoding other thn OT1 or T1 is used this glyph n still e typesetF
12.859 12.860
rovideextgommndhefult{quotesinglse}{7 seextymol{yI}{quotesinglse}}
guillemotleft he guillemet hrters re not ville in OT1 enodingF hey re fkedF guillemotright 12.861 rovideextgommnd{guillemotleft}{yI}{7 12.862 ifmmode 12.863 ll 12.864 else 12.865 svedsfdq{norek 12.866 riseFPexhox{6sriptsriptstylell6}llowhyphens}7 12.867 fi} 12.868 rovideextgommnd{guillemotright}{yI}{7 12.869 ifmmode 12.870 gg 12.871 else 12.872 svedsfdq{norek 12.873 riseFPexhox{6sriptsriptstylegg6}llowhyphens}7 12.874 fi}
wke sure tht when n enoding other thn OT1 or T1 is used these glyphs n still e typesetF
rovideextgommndhefult{guillemotleft}{7 seextymol{yI}{guillemotleft}} 12.877 rovideextgommndhefult{guillemotright}{7 12.878 seextymol{yI}{guillemotright}}
12.875 12.876
guilsinglleft he single guillemets re not ville in OT1 enodingF hey re fkedF guilsinglright 12.879 rovideextgommnd{guilsinglleft}{yI}{7 12.880 ifmmode 12.881 `7 12.882 else 12.883 svedsfdq{norek 12.884 riseFPexhox{6sriptsriptstyle`6}llowhyphens}7 12.885 fi} 12.886 rovideextgommnd{guilsinglright}{yI}{7 12.887 ifmmode 12.888 b7 12.889 else 12.890 svedsfdq{norek 12.891 riseFPexhox{6sriptsriptstyleb6}llowhyphens}7 12.892 fi}
wke sure tht when n enoding other thn OT1 or T1 is used these glyphs n still e typesetF
rovideextgommndhefult{guilsinglleft}{7 seextymol{yI}{guilsinglleft}} 12.895 rovideextgommndhefult{guilsinglright}{7 12.896 seextymol{yI}{guilsinglright}}
12.893 12.894
SR
12.11 Letters
ij st
he duth lnguge uses the letter ij9F st is ville in T1 enoded fontsD ut not in the OT1 enoded fontsF herefor we fke it for the OT1 enodingF
helreextgommnd{ij}{yI}{7 llowhyphens ikernEHFHPem jllowhyphens} 12.899 helreextgommnd{st}{yI}{7 12.900 llowhyphens skernEHFHPem tllowhyphens} 12.901 helreextgommnd{ij}{I}{hrIVV} 12.902 helreextgommnd{st}{I}{hrIST}
12.897 12.898
wke sure tht when n enoding other thn OT1 or T1 is used these glyphs n still e typesetF
rovideextgommndhefult{ij}{7 seextymol{yI}{ij}} 12.905 rovideextgommndhefult{st}{7 12.906 seextymol{yI}{st}}
12.903 12.904
dj ht
he rotin lnguge needs the letters \dj nd \DJY they re ville in the T1 enodingD ut not in the OT1 enoding y defultF ome ode to onstrut these glyphs for the OT1 enoding ws mde ville to me y tipevi wrioD @stipcevic@olimp.irb.hrAF
defrrtid{hrule heightHFIex widthHFQem} defrttid{hrule heightHFIex widthHFQQem} 12.909 7 12.910 defddjd{7 12.911 setoxHhox{d}dimendahtH 12.912 dvnedimendIex 12.913 dimendFRSdimend 12.914 dimendiiexpndfterremdptthefontdimendnefontdimend 12.915 dvnedimendiiFSex 12.916 levevmoderlp{risedimendhox{kerndimendiivox{rrtid}}}} 12.917 defhhtd{7 12.918 setoxHhox{h}dimendaFSShtH 12.919 dimendiiexpndfterremdptthefontdimendnefontdimend 12.920 dvnedimendiiFISex 7 orretion for the dsh position 12.921 dvnedimendiiEFISfontdimenUfont 7 orretion for mtt font 12.922 dimenthrddexpndfterremdptthefontdimenUfontdimend 12.923 levevmoderlp{risedimendhox{kerndimendiivox{rttid}}}} 12.924 7 12.925 helreextgommnd{dj}{yI}{ddjd d} 12.926 helreextgommnd{ht}{yI}{hhtd h}
12.907 12.908
wke sure tht when n enoding other thn OT1 or T1 is used these glyphs n still e typesetF
rovideextgommndhefult{dj}{7 seextymol{yI}{dj}} 12.929 rovideextgommndhefult{ht}{7 12.930 seextymol{yI}{ht}}
12.927 12.928
por the T1 enoding \SS is de(ned nd selets spei( glyph from the fontD ut for other enodings it is not villeF herefor we mke it ville hereF
helreextgommnd{}{yI}{} rovideextgommndhefult{}{seextymol{yI}{}}
12.931 12.932
SS
he de(nition of \grq depends on the fontenodingF ith T1 enoding no extr kerning is neededF
rovideextgommnd{grq}{I}{7 textormth{textquoteleft}{mox{textquoteleft}}} 12.940 rovideextgommnd{grq}{yI}{7 12.941 svedsfdq{kernEFHIPSem7 12.942 textormth{textquoteleft}{mox{textquoteleft}}7 12.943 kernFHUemrelx}} 12.944 rovideextgommndhefult{grq}{seextymol{yI}grq}
12.938 12.939
glqq he germn9 doule quotesF grqq 12.945 rovideextgommnd{glqq}{yI}{7 12.946 textormth{quotedlse}{mox{quotedlse}}} 12.947 rovideextgommnd{glqq}{I}{7 12.948 textormth{quotedlse}{mox{quotedlse}}} 12.949 rovideextgommndhefult{glqq}{seextymol{yI}glqq}
he de(nition of \grqq depends on the fontenodingF ith T1 enoding no extr kerning is neededF
rovideextgommnd{grqq}{I}{7 textormth{textquotedlleft}{mox{textquotedlleft}}} 12.952 rovideextgommnd{grqq}{yI}{7 12.953 svedsfdq{kernEFHUem7 12.954 textormth{textquotedlleft}{mox{textquotedlleft}}7 12.955 kernFHUemrelx}} 12.956 rovideextgommndhefult{grqq}{seextymol{yI}grqq}
12.950 12.951
flq he frenh9 single guillemetsF frq 12.957 rovideextgommnd{flq}{yI}{7 12.958 textormth{guilsinglleft}{mox{guilsinglleft}}} 12.959 rovideextgommnd{flq}{I}{7 12.960 textormth{guilsinglleft}{mox{guilsinglleft}}} 12.961 rovideextgommndhefult{flq}{seextymol{yI}flq} rovideextgommnd{frq}{yI}{7 textormth{guilsinglright}{mox{guilsinglright}}} 12.964 rovideextgommnd{frq}{I}{7 12.965 textormth{guilsinglright}{mox{guilsinglright}}} 12.966 rovideextgommndhefult{frq}{seextymol{yI}frq}
12.962 12.963
ST
o e le to provide oth positions of \" we provide two ommnds to swith the positioningD the defult will e \umlauthigh @the norml positioningAF
defumluthigh{7 defldumlut55I{levevmodegroup7 12.979 expndfterentsnmefdenoding dqposendsnme 12.980 55Illowhyphensegroup}7 12.981 letldumluteldumlut} 12.982 defumlutlow{7 12.983 defldumlut{protetlowerdumlut}} 12.984 defumlutelow{7 12.985 defldumlute{protetlowerdumlut}} 12.986 umluthigh
12.977 12.978
lowerdumlut
he ommnd \lower@umlaut is used to position the \" loser the the letterF e wnt the umlut hrter loweredD nerer to the letterF o do this we need n extr dimen registerF
he following ode fools i9s make_accent proedure out the urrent xEheight of the font to fore nother plement of the umlut hrterF
12.990
deflowerdumlut5I{7
pirst we hve to sve the urrent xEheight of the fontD euse we9ll hnge this font dimension nd this is lwys done glollyF
12.991 12.992
levevmodegroup dh Iex7
hen we ompute the new xEheight in suh wy tht the umlut hrter is lowered to the se hrterF he vlue of .45ex depends on the METAFONT prmeters with whih the fonts were uiltF @tust try outD whih vlue will look estFA
12.993 12.994 12.995
SU
pinlly we ll the \accent primitiveD reset the old xEheight nd insert the se hrter in the rgumentF
12.997 12.998 12.999
por ll vowels we delre \" to e omposite ommnd whih uses \bbl@umlauta or \bbl@umlaute to position the umlut hrterF e need to e sure tht these de(nitions override the ones tht re provided when the pkE ge fontenc with option OT1 is usedF herefor these delrtions re postponed until the eginning of the doumentF
etfeginhoument{7 helreextgompositegommnd{4}{yI}{}{ldumlut{}}7 12.1002 helreextgompositegommnd{4}{yI}{e}{ldumlute{e}}7 12.1003 helreextgompositegommnd{4}{yI}{i}{ldumlute{i}}7 12.1004 helreextgompositegommnd{4}{yI}{i}{ldumlute{i}}7 12.1005 helreextgompositegommnd{4}{yI}{o}{ldumlut{o}}7 12.1006 helreextgompositegommnd{4}{yI}{u}{ldumlut{u}}7 12.1007 helreextgompositegommnd{4}{yI}{e}{ldumlut{e}}7 12.1008 helreextgompositegommnd{4}{yI}{i}{ldumlute{i}}7 12.1009 helreextgompositegommnd{4}{yI}{s}{ldumlute{s}}7 12.1010 helreextgompositegommnd{4}{yI}{y}{ldumlut{y}}7 12.1011 helreextgompositegommnd{4}{yI}{}{ldumlut{}}7 12.1012 }
12.1000 12.1001
{defformt{lplin} ifxfmtnmeformt 12.1015 else 12.1016 defformt{vePe} 12.1017 ifxfmtnmeformt 12.1018 else 12.1019 ftergroupendinput 12.1020 fi 12.1021 fi}
12.1013 12.1014 A xow tht we9re sure tht the ode is seen y v i onlyD we hve to (nd out wht the min @primryA doument style is euse we wnt to rede(ne some A mrosF his is only neessry for releses of v i dted efore heemer IWWIF herefor this prt of the ode n optionlly e inluded in babel.def y speiE fying the docstrip option namesF 12.1022
names
SV
he stndrd styles n e distinguished y heking whether some mros re de(nedF sn tle I n overview is given of the mros tht n e used for this purposeF rtile report nd ook letter X X X oth the \chapter nd \opening mros re undeE (ned the \chapter mro is de(ned nd the \opening is unde(ned the \chapter mro is unde(ned nd the \opening is de(ned
le IX row to determine the min doument style he mros tht hve to e rede(ned for the report nd book doument styles hppen to e the smeD so there is no need to distinguish etween those two stylesF
dodstyle
pirst prmeter \doc@style is de(ned to identify the urrent doument styleF his prmeter might hve een de(ned y doument style tht lredy uses mros insted of hrdEwired textsD suh s artikel1.sty TD so the existene of \doc@style is hekedF sf this mro is unde(nedD iF eFD if the doument style is unknown nd ould therefore ontin hrdEwired textsD \doc@style is de(ned to the defult vlue H9F
\ifx\@undefined\doc@style \def\doc@style{0}%
12.1023 12.1024
12.14.1
Redenition of macros
xow here omes the rel workX we strt to rede(ne things nd reple hrdEwired texts y mrosF hese rede(nitions should e rried out onditionllyD in se it hs lredy een doneF por the figure nd table environments we hve in ll stylesX
12.1035 12.1036
he rest of the mros hve to e treted di'erently for eh styleF hen \doc@style still hs its defult vlue nothing needs to e doneF
12.1037 12.1038
SW
his mens tht babel.def is red fter the article styleD where no \chapter nd \opening ommnds re de(ned9 F pirst we hve the \tableofcontentsD \listoffigures nd \listoftablesX
\@ifundefined{contentsname}% {\def\tableofcontents{\section*{\contentsname\@mkboth 12.1041 {\uppercase{\contentsname}}{\uppercase{\contentsname}}}% 12.1042 \@starttoc{toc}}}{}
12.1039 12.1040 12.1043
\@ifundefined{indexname}% {\def\theindex{\@restonecoltrue\if@twocolumn\@restonecolfalse\fi 12.1066 \columnseprule \z@ 12.1067 \columnsep 35pt\twocolumn[\section*{\indexname}]% 12.1068 \@mkboth{\uppercase{\indexname}}{\uppercase{\indexname}}% 12.1069 \thispagestyle{plain}% 12.1070 \parskip\z@ plus.3pt\parindent\z@\let\item\@idxitem}}{}
he abstract environmentX
\@ifundefined{abstractname}% {\def\abstract{\if@twocolumn 12.1073 \section*{\abstractname}% 12.1074 \else \small 12.1075 \begin{center}% 12.1076 {\bf \abstractname\vspace{-.5em}\vspace{\z@}}% 12.1077 \end{center}% 12.1078 \quotation 12.1079 \fi}}{}
12.1071 12.1072
9A
fact that was pointed out to me by Nico Poppelier and was already used in Piet van
nl.
TH
12.1082 12.1083 12.1084 12.1085 12.1086 12.1087 12.1088 12.1089 12.1090 12.1091 12.1092 12.1093 12.1094 12.1095
}{} \or
\refstepcounter{part}% \addcontentsline{toc}{part}{\thepart \hspace{1em}#1}\else \addcontentsline{toc}{part}{#1}\fi {\parindent\z@ \raggedright \ifnum \c@secnumdepth >\m@ne \Large \bf \partname{} \thepart \par \nobreak \fi \huge \bf #2\markboth{}{}\par}% \nobreak \vskip 3ex\@afterheading}%
he next se is formed y the two styles book nd reportF fsilly we hve to do the sme s for the article styleD exept now we must lso hnge the \chapter ommndF he tles of ontentsD (gures nd tlesX
\@ifundefined{contentsname}% {\def\tableofcontents{\@restonecolfalse 12.1099 \if@twocolumn\@restonecoltrue\onecolumn 12.1100 \fi\chapter*{\contentsname\@mkboth 12.1101 {\uppercase{\contentsname}}{\uppercase{\contentsname}}}% 12.1102 \@starttoc{toc}% 12.1103 \csname if@restonecol\endcsname\twocolumn 12.1104 \csname fi\endcsname}}{}
12.1097 12.1098 12.1105
\@ifundefined{listfigurename}% {\def\listoffigures{\@restonecolfalse 12.1108 \if@twocolumn\@restonecoltrue\onecolumn 12.1109 \fi\chapter*{\listfigurename\@mkboth 12.1110 {\uppercase{\listfigurename}}{\uppercase{\listfigurename}}}% 12.1111 \@starttoc{lof}% 12.1112 \csname if@restonecol\endcsname\twocolumn 12.1113 \csname fi\endcsname}}{}
12.1106 12.1107 12.1114
\@ifundefined{listtablename}% {\def\listoftables{\@restonecolfalse 12.1117 \if@twocolumn\@restonecoltrue\onecolumn 12.1118 \fi\chapter*{\listtablename\@mkboth 12.1119 {\uppercase{\listtablename}}{\uppercase{\listtablename}}}% 12.1120 \@starttoc{lot}% 12.1121 \csname if@restonecol\endcsname\twocolumn 12.1122 \csname fi\endcsname}}{}
12.1115 12.1116
eginD the bibliography nd index environmentsY notie tht in this se we use \bibname insted of \refname s in the de(nitions for the article styleF he reson for this is tht in the article doument style the term eferenes9 is used in the de(nition of \thebibliographyF sn the report nd book doument styles the term filiogrphy9 is usedF TI
12.1123 12.1124
\@ifundefined{bibname}% {\def\thebibliography#1{\chapter*{\bibname 12.1125 \@mkboth{\uppercase{\bibname}}{\uppercase{\bibname}}}% 12.1126 \list{[\arabic{enumi}]}{\settowidth\labelwidth{[#1]}% 12.1127 \leftmargin\labelwidth \advance\leftmargin\labelsep 12.1128 \usecounter{enumi}}% 12.1129 \def\newblock{\hskip.11em plus.33em minus.07em}% 12.1130 \sloppy\clubpenalty4000\widowpenalty\clubpenalty 12.1131 \sfcode`\.=1000\relax}}{}
12.1132 12.1133 12.1134
\@ifundefined{indexname}% {\def\theindex{\@restonecoltrue\if@twocolumn\@restonecolfalse\fi 12.1135 \columnseprule \z@ 12.1136 \columnsep 35pt\twocolumn[\@makeschapterhead{\indexname}]% 12.1137 \@mkboth{\uppercase{\indexname}}{\uppercase{\indexname}}% 12.1138 \thispagestyle{plain}% 12.1139 \parskip\z@ plus.3pt\parindent\z@ \let\item\@idxitem}}{}
\or
xow we ddress the se where babel.def is red fter the letter styleF he letter doument style de(nes the mro \opening nd some other mros
TP
tht re spei( to letterF his mens tht we hve to rede(ne other mrosD ompred to the previous two sesF pirst two mros for the mteril t the end of letterD the \cc nd \encl mrosF
\@ifundefined{ccname}% {\def\cc#1{\par\noindent 12.1172 \parbox[t]{\textwidth}% 12.1173 {\@hangfrom{\rm \ccname : }\ignorespaces #1\strut}\par}}{}
12.1170 12.1171 12.1174
his ws the lst of the four stndrd doument stylesD so if \doc@style hs nother vlue we do nothing nd just lose the if onstrutionF
12.1184
\fi
A rere ends the ode tht n e optionlly inluded when version of v i is in use tht is dted before heemer IWWIF 12.1185 12.1186
/names /core
he key rgument is ny sequene of lettersD digitsD nd puntution symolsY upperE nd lowerse letters re regrded s di'erentF hen the ove quote should still e true when doument is typeset in lnE guge tht hs tive hrtersD speil re hs to e tken of the tegory odes of these hrters when they pper in n rgument of the ross referenE ing mrosF hen ross referening ommnd proesses its rgumentD ll tokens in this rgument should e hrter tokens with tegory letter9 or other9F he only wy to omplish this in most ses is to use the trik desried in the iook I @eppendix hD pge QVPAF he primitive \meaning pplied to token expnds to the urrent mening of this tokenF por exmpleD \meaning\A9 with \A de(ned s \def\A#1{\B}9 expnds to the hrters macro:#1->\B9 with ll tegory odes set to other9 or spe9F
ldredefine
o rede(ne ommndD we sve the old mening of the mroF hen we rede(ne it to ll the originl mro with the snitized9 rgumentF he reson why we do A it this wy is tht we don9t wnt to rede(ne the v i mros ompletely in se their de(nitions hnge @they hve hnged in the pstAF
TQ
feuse we need to rede(ne numer of ommnds we de(ne the ommnd \bbl@redefine whih tkes re of thisF st retes new ontrol sequeneD \org@...
12.1187
core | shorthands defldredefine5I{7 12.1189 edefldtemp{expndfterdgolestring5I}7 12.1190 expndfterletsnme orgdldtempendsnme5I 12.1191 expndfterdefsnmeldtempendsnme}
12.1188
donlypremleldredefine
ldredefinedlong
12.1193 12.1194
ldredefineroust
por ommnds tht re rede(nedD ut whih might e roust we need slightly more intelligent mroF e roust ommnd foo is de(ned to expnd to \protect\foo F o it is neessry to hek whether \foo existsF
defldredefineroust5I{7 edefldtemp{expndfterdgolestring5I}7 12.1200 expndfterifxsnme ldtempspeendsnmerelx 12.1201 expndfterletsnme orgdldtempendsnme5I 12.1202 expndfteredefsnmeldtempendsnme{noexpndprotet 12.1203 expndfternoexpndsnmeldtempspeendsnme}7 12.1204 else 12.1205 expndfterletsnme orgdldtempexpndfterendsnme 12.1206 snmeldtempspeendsnme 12.1207 fi
12.1198 12.1199
he result of the ode ove is tht the ommnd tht is eing rede(ned is lwys roust fterwrdsF herefor ll we need to do now is de(ne \foo F
12.1208
expndfterdefsnmeldtempspeendsnme}
donlypremleldredefineroust
newlel
he mro \label writes line with \newlabel ommnd into the .aux (le to de(ne lelsF
7ldredefinenewlel5I5P{7 7 dsfedtivestrueorgdnewlel{5I}{5P}dsfedtivesflse}
12.1210 12.1211
dnewldel
A e need to hnge the de(nition of the v iEinternl mro \@newl@belF his is needed euse we need to mke sure tht shorthnd hrters expnd to their nonEtive versionF
12.1212
defdnewldel5I5P5Q{7
pirst we open new group to keep the hnged setting of \protect lol nd then we set the @safe@actives swith to true to mke sure tht ny shorthnd tht ppers in ny of the rguments immeditely expnds to its nonEtive selfF TR
12.1213 12.1214 12.1215 12.1216 12.1217 12.1218 12.1219 12.1220 12.1221 12.1222 12.1223 12.1224
{7 dsfedtivestrue difundefined{5Id5P}7 relx {7 gdef dmultiplelels {7 dltexdwrningdnodline{here were multiplyEdefined lels}}7 dltexdwrningdnodline{vel 5P9 multiply defined}7 }7 gloldnmedef{5Id5P}{5Q}7 }7 }
dtestdef
A en internl v i mro used to test if the lels tht hve een written on the .aux (le hve hngedF st is lled y the \enddocument mroF his mro needs to e ompletely rewrittenD using \meaningF he reson for this is tht in some ses the expnsion of \#1@#2 ontins the sme hrters s the #3Y ut the A hrter odes di'erF herefor v i keeps reporting tht the lels my hve hngedF
ghekgommndBdtestdefQ{7 defreservedd{5Q}7 12.1227 expndfter ifx snme 5Id5Pendsnme reservedd 12.1228 else 12.1229 dtempswtrue 12.1230 fi}
12.1225 12.1226
xow tht we mde sure tht \@testdef still hs the sme de(nition we n rewrite itF pirst we mke the shorthnds sfe9F
12.1231 12.1232
hen we use \bbl@tempa s n lis9 for the mro tht ontins the lel whih is eing hekedF
12.1233
expndfterletexpndfterldtempsnme 5Id5Pendsnme defldtemp{5Q}7 dsfedtivesflse ifxldtemprelx else edefldtemp{expndfterstripdprefixmeningldtemp}7 fi edefldtemp{expndfterstripdprefixmeningldtemp}7 ifx ldtemp ldtemp else dtempswtrue fi}
hen the lel is de(ned we reple the de(nition of \bbl@tempa y its meningF
12.1236 12.1237 12.1238 12.1239
ref pgeref
he sme holds for the mro \ref tht referenes lel nd \pageref to referE ene pgeF o we rede(ne \ref nd \pagerefF hile we hnge these mrosD TS
we mke them roust s well @if they weren9t lredyA to prevent prolems if they should eome expnded t the wrong momentF
ldredefineroustref5I{7 dsfedtivestrueorgdref{5I}dsfedtivesflse} 12.1247 ldredefineroustpgeref5I{7 12.1248 dsfedtivestrueorgdpgeref{5I}dsfedtivesflse}
12.1245 12.1246
ditex
he mro used to ite from iliogrphyD \citeD uses n internl mroD \@citexF st is this internl mro tht piks up the rgument@sAD so we redeE (ne this internl mro nd leve \cite loneF he (rst rgument is used for typesettingD so the shorthnds need only e detivted in the seond rgumentF
nfortuntelyD the pkges natbib nd cite need di'erent de(nition of \@citexFFF o egin withD natbib hs de(nition for \@citex with three rE gumentsFFF e only know tht pkge is loded when \begin{document} is exeutedD so we need to postpone the di'erent rede(nitionF
12.1252 12.1253
etfeginhoument{7 difpkgeloded{nti}{7
xotie tht we use \def here insted of \bbl@redefine euse \org@@citex is lredy de(ned nd we don9t wnt to overwrite tht de(nition @it would result in prmeter stk over)ow euse of irulr de(nitionAF
12.1254 12.1255 12.1256 12.1257
he pkge cite hs de(nition of \@citex where the shorthnds need to e turned o' in oth rgumentsF
etfeginhoument{7 difpkgeloded{ite}{7 12.1260 defditex5I5P{7 12.1261 dsfedtivestrueorgdditex5I{5P}dsfedtivesflse}7 12.1262 }{}}
12.1258 12.1259
noite
he mro \nocite whih is used to instrut fifi to extrt united referenes from the dtseF
ldredefinenoite5I{7 dsfedtivestrueorgdnoite{5I}dsfedtivesflse}
12.1263 12.1264
iite
he mro tht is used in the .aux (le to de(ne ittion lelsF hen pkges suh s natbib or cite re not loded its seond rgument is used to typeset the ittion lelF sn tht seD this seond rgument n ontin tive hrters ut is used in n environment where \@safe@activestrue is in e'etF his swith needs to e reset inside the \hbox whih ontins the ittion lelF sn order to determine during .aux (le proessing whih de(nition of \bibcite is needed we de(ne \bibcite in suh wy tht it rede(nes itself with the proper de(nitionF
ldredefineiite{7
12.1265
TT
e ll \bbl@cite@choice to selet the proper de(nition for \bibciteF his new de(nition is then tivtedF
12.1266 12.1267
lditedhoie iite}
ldiite
he mro \bbl@bibcite holds the de(nition of \bibcite needed when neither natbib nor cite is lodedF
defldiite5I5P{7 orgdiite{5I}{dsfedtivesflse5P}} deflditedhoie{7 glolletiiteldiite difpkgeloded{nti}{glolletiiteorgdiite}{}7 difpkgeloded{ite}{glolletiiteorgdiite}{}7 glolletlditedhoierelx }
12.1268 12.1269
lditedhoie
he mro \bbl@cite@choice determines whih de(nition of \bibcite is neededF pirst we give \bibcite its defult de(nitionF
12.1270
12.1271
hen doument is run for the (rst timeD no .aux (le is villeD nd \bibcite will not yet e properly de(nedF sn this seD this hs to hppen efore the doument strtsF
12.1276
etfeginhoument{lditedhoie}
diitem
A yne of the two internl v i mros lled y \bibitem tht write the ittion lel on the .aux (leF
12.1277 12.1278
ldredefinediitem5I{7 dsfedtivestrueorgddiitem{5I}dsfedtivesflse}
12.16 marks
mrkright
feuse the output routine is synhronousD we must pss the urrent lnguge ttriute to the hed linesD together with the text tht is put into themF o hieve this we need to dpt the de(nition of \markright nd \markboth somewhtF
ldredefinemrkright5I{7
12.1279
pirst of ll we temporrily store the lnguge swithing ommndD using n exE pnded de(nition in order to get the urrent vlue of \languagenameF
12.1280 12.1281
edefldtemp{noexpndprotet noexpndforeignlnguge{lngugenme}}7
henD we hek whether the rgument is emptyY if it isD we just mke sure the srth token register is emptyF
12.1282 12.1283 12.1284 12.1285
TU
xextD we store the rgument to \markright in the srth token registerD together with the expnsion of \bbl@tempb @ontining the lnguge swithing ommndA s de(ned eforeF his wy these ommnds will not e expnded y using \edef lter onD nd we mke sure tht the text is typeset using the orret lnguge setE tingsF hile doing soD we mke sure tht tive hrters tht my end up in the mrk re not disled y the output routine kiking in while \@safe@activestrue is in e'etF
12.1286 12.1287 12.1288
hen \bbl@tempa is exeutedD only \languagename will e expndedD euse of the wy the token register ws (lledF
12.1290 12.1291 12.1292
noexpndorgdmrkright{thetoksd}}7 ldtemp
mrkoth dmkoth
he de(nition of \markboth is equivlent to tht of \markrightD exept tht we need two token registersF he doumentlsses report nd book de(ne nd set the hedings for the pgeF hile doing so they lso store opy of \markboth in \@mkbothF herefor we need to hek whether \@mkboth hs lredy een setF sf so we neeed to do tht gin with the new de(nition of \makrbothF
TV
feuse douments my use font enodings other thn one of the ltin enodingsD A we mke sure tht the logos of i nd v i lwys ome out in the right enodingF
ifthen
ometimes doument writer wnts to rete speil e'et depending on the pge ertin frgment of text ppers onF his n e hieved y the following piee of odeX
ifthenelse{isodd{pgeref{someXlel}}} {ode for odd pges} {ode for even pges}
sn order for this to work the rgument of \isodd needs to e fully expndleF ith the ove rede(nition of \pageref it is not in the se of this exmpleF o overome thtD we dd some ode to the de(nition of \ifthenelse to mke things workF he (rst thing we need to do is hek if the pkge ifthen is lodedF his should e done t \begin{document} timeF
package etfeginhoument{7 12.1327 difpkgeloded{ifthen}{7
12.1325 12.1326
ldredefinedlongifthenelse5I5P5Q{7
e wnt to revert the de(nition of \pageref to its originl de(nition for the durtion of \ifthenelseD so we (rst need to store its urrent meningF
12.1329 12.1330
letldtemppgeref letpgereforgdpgeref
hen we n set the \@safe@actives swith nd ll the originl \ifthenelseF sn order to e le to use shorthnds in the seond nd third rguments of \ifthenelse the resetting of the swith and the de(nition of \pageref hppens inside those rgumentsF
12.1331 12.1332 12.1333 12.1334 12.1335
TW
}7 }{}7
12.18.2
ddvpgeref vrefpgenum ef
varioref
hen the pkge vrioref is in use we need to modify its internl ommnd \@@vpageref in order to prevent prolems when n tive hrter ends up in the rgument of \vrefF
etfeginhoument{7 difpkgeloded{vrioref}{7 12.1344 ldredefineddvpgeref5I5P5Q{7 12.1345 dsfedtivestrue 12.1346 orgdddvpgeref{5I}5P{5Q}7 12.1347 dsfedtivesflse}7
12.1342 12.1343
he pkge varioref de(nes \Ref to e roust ommnd wih upperses the (rst hrter of the referene textF sn order to e le to do tht it needs to ess the exndle form of \refF o we employ little trik hereF e rede(ne the @internlA ommnd \Ref to ll \org@ref insted of \refF he disdvntgge of this solution is tht whenever the der(nition of \Ref hngesD this de(nition needs to e updted s wellF
12.1352 12.1353 12.1354 12.1355
12.18.3
hhline
hhline
helying the tivtion of the shorthnd hrters hs introdued prolem with the hhline pkgeF he reson is tht it uses the X9 hrter whih is mde tive y the frenh support in babelF herefor we need to reload the pkge when the X9 is n tive hrterF o t \begin{document} we hek whether hhline is lodedF
etfeginhoument{7 difpkgeloded{hhline}7 {expndfterifxsnme normldhrstringXendsnmerelx else
12.1356 12.1357
sn tht se we simply relod the pkgeF xote tht this hppens after the tegory ode of the dEsign hs een hnged to otherD so we need to temporrily hnge it to letter ginF UH
12.18.4
pdfstringdefhislegommnds
hyperref
elthough numer of interworking prolems etween babel nd hyperref re tkled y hyperref itself we need to tke re of orretly hndling the shorthnd hrtersF hen they get expnded inside ookmrk wrning will pper in the log (le whih n e preventedF his is done y informing hyperref tht it should the shorthnds s de(ned on the system level rther thn t the user levelF
etfeginhoument{7 difundefined{pdfstringdefhislegommnds}7 12.1366 {}7 12.1367 {pdfstringdefhislegommnds{7 12.1368 lngugeshorthnds{system}}7 12.1369 }7 12.1370 }
12.1364 12.1365
12.18.5
pyisqxvexqeqi
General
he pkge fancyhdr trets the running hed nd fout lines somewht difE ferently s the stndrd lssesF e symptom of this is tht the ommnd \foreignlanguage whih babel dds to the mrks n end up inside the rE gument of \MakeUppercaseF o prevent unexpeted results we need to de(ne \FOREIGNLANGUAGE hereF
nfssdtodes
A v i9s font seletion sheme sometimes wnts to red font de(nition (les in the middle of proessing the doumentF sn order to gurd ginst ny hrters hving the wrong \catcodes it lwys lls \nfss@catcodes efore loding (leF nfortuntelyD the hrters " nd ' re not delt withF herefor we hve to dd A them until v i does tht herselfF
core | shorthands ifxnfssdtodesdundefined 12.1376 else 12.1377 ddtonfssdtodes{7 12.1378 dmkeother97 12.1379 dmkeother47 12.1380 } 12.1381 fi
12.1374 12.1375 12.1382
/core | shorthands
13
lodlolfg
et some sites it my e neessry to dd siteEspei( tions to lnguge de(niE tion (leF his n e done y reting (le with the sme nme s the lnguge UI
de(nition (leD ut with the extension .cfgF por instne the (le norsk.cfg will e loded when the lnguge de(nition (le norsk.ldf is lodedF
13.1
core
por plinEsed formts we don9t wnt to override the de(nition of \loadlocalcfg from plain.defF
ifxlodlolfgdundefined deflodlolfg5I{7 13.4 snputsfpileixists{5IFfg} 13.5 {typeout{BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBt7 13.6 B vol onfig file 5IFfg usedt7 13.7 B}7 13.8 } 13.9 {}} 13.10 fi
13.2 13.3
ifxdunexpndledprotetdundefined defdunexpndledprotet{noexpndprotetnoexpnd} 13.13 longdef proteteddwrite5I5P5Q{7 13.14 egingroup 13.15 letthepgerelx 13.16 5P7 13.17 letprotetdunexpndledprotet 13.18 edefreservedd{write5I{5Q}}7 13.19 reservedd 13.20 endgroup 13.21 ifdnorekifvmodenorekfifi 13.22 } 13.23 fi 13.24 /core
13.11 13.12
UP
14
ine babel version QFR ll soure (les tht re prt of the babel system n e typeset seprtelyF fut to typeset them ll in one doumentD the (le babel.drv n e usedF sf you only wnt the informtion on how to use the babel system nd wht goodies re provided y the lngugeEspei( (lesD you n run the (le A user.drv through v i to get user guideF
driver doumentlss{ltxdo} 14.3 usepkge{urlDtIenDsupertulr} 14.4 usepkgeielndiDenglish{el} 14.5 hoxotsndex{3D9DDDFDEDXDYDcDGDDDdw} 14.6 hoxotsndex{dDdneDdmDdfterhedingDddteDdendprt} 14.7 hoxotsndex{dhngfromDdidxitemDdmkeshpterhedDdmkoth} 14.8 hoxotsndex{doddfootDdoddhedDdrestoneolflseDdrestoneoltrue} 14.9 hoxotsndex{dstrttoDdunused} 14.10 hoxotsndex{entDtive} 14.11 hoxotsndex{ddontentslineDdvneDelphDri} 14.12 hoxotsndex{selineskipDeginDegingroupDfDoxDdsenumdepth} 14.13 hoxotsndex{todeDenteringDhrDhrdefDlupenlty} 14.14 hoxotsndex{olumnsepDolumnsepruleDrrDsnme} 14.15 hoxotsndex{dyDdefDdimenDdisretionryDdivideDdpDdo} 14.16 hoxotsndex{edefDelseDdemptyDendDendgroupDendsnmeDendinput} 14.17 hoxotsndex{errhelpDerrmessgeDexpndfterDfiDfiledte} 14.18 hoxotsndex{fileversionDfmtnmeDfnumdfigureDfnumdtleDfontdimen} 14.19 hoxotsndex{gdefDglol} 14.20 hoxotsndex{hoxDhidewidthDhfilDhskipDhspeDhtDrugeDhuge} 14.21 hoxotsndex{ilignDifdtwoolumnDifseDiftDifhmodeDifmmode} 14.22 hoxotsndex{ifnumDifxDimmediteDignorespesDinputDitem} 14.23 hoxotsndex{kern} 14.24 hoxotsndex{lelsepDvrgeDlrgeDlelwidthDlodeDleftmrgin} 14.25 hoxotsndex{lineskipDlevevmodeDletDlistDllDlongDlower} 14.26 hoxotsndex{mdneDmthhrDmthentDmrkothDmonthDmultiply} 14.27 hoxotsndex{newlokDnewoxDnewountDnewdimenDnewifDnewwrite} 14.28 hoxotsndex{norekDnoexpndDnoindentDnullDnumer} 14.29 hoxotsndex{oneolumnDor} 14.30 hoxotsndex{pdDprD proxDprindentDprskipDpenlty} 14.31 hoxotsndex{protetDpsdhedings} 14.32 hoxotsndex{quottion} 14.33 hoxotsndex{rggedrightDriseDrefstepounterDrelxDrmDsetox} 14.34 hoxotsndex{setionDsetounterDsettowidthDsriptsriptstyle} 14.35 hoxotsndex{sfodeDslDsloppyDsmllDspeDspeftorDstrut} 14.36 hoxotsndex{string} 14.37 hoxotsndex{textwidthDtheDthehpterDthefigureDthepgeDtheprt} 14.38 hoxotsndex{thetleDthispgestyleDtitlepgeDtringmros} 14.39 hoxotsndex{twdDtwoolumnDtypeoutDupperseDuseounter} 14.40 hoxotsndex{voxDvfilDvskipDvspeDvss} 14.41 hoxotsndex{widowpenltyDwriteDxdefDyerDzdDzdskip}
14.1 14.2
UQ
14.46
dpzdadptwd oxzdkernEFHRem}}
whih should lso e visile in the indexY hene this rede(nition of mro from doc.styF
\renewcommand\codeline@wrindex[1]{\if@filesw \immediate\write\@indexfile 14.53 {\string\indexentry{#1}% 14.54 {\number\c@section.\number\c@CodelineNo}}\fi}
14.51 14.52
he glossry environment is used or the hnge logD ut its de(nition needs hnging for this doumentF
\renewenvironment{theglossary}{% \glossary@prologue% 14.57 \GlossaryParms \let\item\@idxitem \ignorespaces}% 14.58 {} 14.59 /!user 14.60 mketother
14.55 14.56
hen full index should e generted unomment the line with \EnableCrossrefsF fewreD proessing my tke some timeF se \DisableCrossrefs when the index is redyF
14.79 14.80
7 inlegrossrefs hislegrossrefs
UR
setounter{tndrdwodulehepth}{I}
por the user guide we only wnt the desription prts of ll the (lesF
14.84
+user \OnlyDescription
egin{doument} hosnput{elFdtx}
US
lngdeffile{ulgrinFdtx} lngdeffile{ukrineFdtx} 14.133 7 14.134 lngdeffile{lsorinFdtx} 14.135 lngdeffile{usorinFdtx} 14.136 lngdeffile{turkishFdtx} 14.137 7 14.138 lngdeffile{herewFdtx} 14.139 hosnput{heinpFdtx} 14.140 hosnput{herewFfdd} 14.141 hosnput{hePHWFdtx} 14.142 lngdeffile{hsFdtx} 14.143 lngdeffile{hsmFdtx} 14.144 7lngdeffile{snskritFdtx} 14.145 7lngdeffile{knndFdtx} 14.146 7lngdeffile{ngriFdtx} 14.147 7lngdeffile{tmilFdtx} 14.148 lerpge 14.149 hosnput{plinFdtx}
14.131 14.132
pinlly print the index nd hnge log @not for the user guideAF
!user \clearpage 14.152 \def\filename{index} 14.153 \PrintIndex 14.154 \clearpage 14.155 \def\filename{changes} 14.156 \PrintChanges 14.157 /!user 14.158 end{doument} 14.159 /driver
14.150 14.151
UT
15
Conclusion
A e system of doument options hs een presented tht enle the user of v i A to dpt the stndrd doument lsses of v i to the lnguge he or she prefers to useF hese options o'er the possiility of swithing etween lnguges in one doumentF he si interfe onsists of using one optionD whih is the sme for all stndrd doument lssesF sn some ses the lnguge de(nition (les provide mros tht n e useful to A plin i users s well s to v i usersF he babel system hs een implemented so tht it n e used y oth groups of usersF
16
Acknowledgements
s would like to thnk ll who volunteered s Etesters for their timeF s would like to mention tulio nhez who supplied the option (le for the pnish lnguge nd wurizio godogno who supplied the option (le for the stlin lngugeF wihel qoossens supplied ontriutions for most of the other lngugesF xio oppelier helped polish the text of the doumenttion nd supplied prts of the mros for the huth lngugeF ul kers nd erenfried pit helped (nd nd repir ugsF huring the further development of the el system s reeived muh help from fernd ihleD for whih s m grtefulF
References
I honld iF unuthD P veslie vmportD IWVTF
The T XbookD E
Q uFpF reeusF Tekstwijzer, een gids voor het grasch verwerken van tekst. h itgeverij @9sEqrvenhgeD IWVVAF e huth ook on lyout design nd typogE rphyF R ruert rtlD
German T XD TUGboat E
S veslie vmportD inX ihx higestD olume VWD 5IQD IU perury IWVWF T tohnnes frmsD itor iijkhout nd xio oppelierD The AE national L T X stylesD TUGboat IH @IWVWA 5QD pF RHI!RHTF U tohim hrodD pF VU!WHF
development of
II @IWWHA 5ID
UU
17
he (le esperanto.dtx10 de(nes ll the lngugeEspei( mros for the isE pernto lngugeF por this lnguge the hrter ^ is mde tiveF sn tle P n overview is given of its purposeF
^c ^h ^j ^u ^U ^|
gives with hyphention in the rest of the word lE lowedD this works for D gD gD qD rD tD sD D zD prevents h from eoming too tll gives & gives uD with hyphention in the rest of the word llowed gives D with hyphention in the rest of the word llowed inserts \discretionary{-}{}{}
le PX he funtions of the tive hrter for isperntoF he mro \LdfInit tkes re of preventing tht this (le is loded more thn oneD heking the tegory ode of the @ signD etF
17.1 17.2
code vdfsnit{espernto}ptionsespernto
hen this (le is red s n optionD iFeF y the \usepackage ommndD esperanto will e n unknown9 lnguge in whih se we hve to mke it knownF o we hek for the existene of \l@esperanto to see whether we hve to do someE thing hereF
ifxldesperntodundefined dnoptterns{ispernto} 17.5 dddiletldesperntoHfi
17.3 17.4
he next step onsists of de(ning ommnds to swith to the ispernto lnE gugeF he reson for this is tht user might wnt to swith k nd forth etween lngugesF
ptionsespernto
ddtoptionsespernto{7 defprefenme{entu{u}prolo}7 17.8 defrefnme{gitj{}oj}7 17.9 defstrtnme{esumo}7 17.10 definme{filiogrfio}7 17.11 defhpternme{{g}pitro}7 17.12 defppendixnme{ependio}7 17.13 defontentsnme{inhvo}7 17.14 deflistfigurenme{visto de figuroj}7 17.15 deflisttlenme{visto de teloj}7 17.16 defindexnme{sndekso}7
17.6 17.7
he mro \captionsesperanto de(nes ll strings used in the four stndrd A doumentlsses provided with v iF
10 The
le described in this section has version number ? and was last revised on ?. A conby Jrg Knappen (knappen@vkpmzd.kph.uni-mainz.de) was included. Code from the le
esperant.sty
UV
17.17 17.18 17.19 17.20 17.21 17.22 17.23 17.24 17.25 17.26 17.27 17.28 17.29
deffigurenme{piguro}7 deftlenme{elo}7 defprtnme{rto}7 defenlnme{eldono@jA}7 defnme{uopie l}7 defhedtonme{el}7 defpgenme{go}7 defsujetnme{emo}7 defseenme{vidu}7 uX vdF deflsonme{vidu nku{u}}7 u vdF nku{u} defproofnme{ruvo}7 defglossrynme{qlosro}7 }
dteespernto
defdteespernto{7 deftody{numerdy{EE}~de~ifsemonthor 17.32 jnuroor feruroor mrtoor priloor mjoor junioor 17.33 julioor u{u}gustoor septemroor oktoroor novemroor 17.34 deemrofiDspe numeryer}}
17.30 17.31
extrsespernto noextrsespernto
he mro \extrasesperanto performs ll the extr de(nitions needed for the ispernto lngugeF he mro \noextrasesperanto is used to nel the tions of \extrasesperantoF por ispernto the ^ hrter is mde tiveF his is done oneD lter on its de(nition my vryF
inititedtivedhr{}
17.35
feuse the hrter ^ is used in mth mode with quite di'erent purpose we need to dd n extr level of evlution to the de(nition of the tive ^F st heks whether mth mode is tiveY if so the shorthnd mehnism is ypssed y diret ll of \normal@char^F
ddtoextrsespernto{lngugeshorthnds{espernto}} ddtoextrsespernto{ldtivte{}} 17.38 ddtonoextrsespernto{lddetivte{}}
17.36 17.37
sn order to prevent prolems with the tive ^ we dd shorthnd on system level whih expnds to norml ^F
17.39
delredshorthnd{system}{}{snme normldhrstringendsnme}
UW
17.51 17.52
isper esper
sn esperant.sty trg unppen provides the mros \esper nd \Esper tht n e used insted of \alph nd \AlphF hese mros re ville in this (le s wellF heir de(nition tkes ple in two stepsF pirst the toplevelF
defesper5I{desper{dnmeuse{d5I}}} defisper5I{disper{dnmeuse{d5I}}}
17.53 17.54
hodiu hodiun
sn esperant.sty trg unppen provides two lterntive mros for \todayD \hodiau nd \hodiaunF he seond mro produes n ustive version of the dte in isperntoF
ddtodteespernto{defhodiu{l tody}} defhodiun{l numerdy EEn~de~ifsemonthor 17.65 jnuroor feruroor mrtoor priloor mjoor junioor 17.66 julioor u{u}gustoor septemroor oktoroor novemroor 17.67 deemrofiD spe numeryer}
17.63 17.64
he mro \ldf@finish tkes re of looking for on(gurtion (leD setting the min lnguge to e swithed on t \begin{document} nd resetting the tegory ode of @ to its originl vlueF
17.68 17.69
ldfdfinish{espernto} /code
VH
18
he (le interlingua.dtx11 de(nes ll the lnguge de(nition mros for the snterlingu lngugeF his (le ws ontriuted y eter uleiwegD kleiweg t letFrugFnlF snterlingu is n uxiliry lngugeD uilt from the ommon voulry of pnishGortugueseD inglishD stlin nd prenhD with some normlistion of spellingF he grmmr is very esyD more similr to inglish9s thn to neoltin lngugesF he site http://www.interlingua.com is mostly written in interlinE gu @s is http://interlingua.altervista.orgAD in se you wnt to red some smple of itF ou n hve look t the grmmr t http://www.geocities.com/linguablau he mro \LdfInit tkes re of preventing tht this (le is loded more thn oneD heking the tegory ode of the @ signD etF
18.1 18.2
code vdfsnit{interlingu}{ptionsinterlingu}
hen this (le is red s n optionD iFeF y the \usepackage ommndD interlingua ould e n unknown9 lnguge in whih se we hve to mke it knownF o we hek for the existene of \l@interlingua to see whether we hve to do something hereF
ifxundefinedldinterlingu dnoptterns{snterlingu} 18.5 dddiletldinterlinguHfi
18.3 18.4
he next step onsists of de(ning ommnds to swith to @nd fromA the snE terlingu lngugeF
interlinguhyphenmins
his mro is used to store the orret vlues of the hyphention prmeters \lefthyphenmin nd \righthyphenminF
18.6
providehyphenmins{interlingu}{twdtwd}
ptionsinterlingu
defptionsinterlingu{7 defprefenme{refio}7 18.9 defrefnme{eferentis}7 18.10 defstrtnme{ummrio}7 18.11 definme{filiogrphi}7 18.12 defhpternme{gpitulo}7 18.13 defppendixnme{eppendie}7 18.14 defontentsnme{gontento}7 18.15 deflistfigurenme{vist de figurs}7 18.16 deflisttlenme{vist de tells}7 18.17 defindexnme{sndie}7 18.18 deffigurenme{pigur}7 18.19 deftlenme{ell}7 18.20 defprtnme{rte}7 18.21 defenlnme{snluso}7 18.22 defnme{gopi}7 18.23 defhedtonme{e}7
18.7 18.8
he mro \captionsinterlingua de(nes ll strings used in the four stndrd A doumentlsses provided with v iF
11 The le described in this section has version number v1.6 and was last revised on 2005/03/30.
VI
dteinterlingu
he mro \dateinterlingua rede(nes the ommnd \today to produe snterE lingu dtesF
defdteinterlingu{7 deftody{le~numerdyspe de ifsemonthor 18.32 jnurioor ferurioor mrtioor prilor mioor junioor 18.33 julioor ugustoor septemreor otoreor novemreor 18.34 deemrefi 18.35 spe numeryer}}
18.30 18.31
extrsinterlingu noextrsinterlingu
he mro \extrasinterlingua will perform ll the extr de(nitions needed for the snterlingu lngugeF he mro \noextrasinterlingua is used to nel the tions of \extrasinterlinguaF por the moment these mros re empty ut they re de(ned for omptiility with the other lnguge de(nition (lesF
ddtoextrsinterlingu{} ddtonoextrsinterlingu{}
18.36 18.37
he mro \ldf@finish tkes re of looking for on(gurtion (leD setting the min lnguge to e swithed on t \begin{document} nd resetting the tegory ode of @ to its originl vlueF
18.38 18.39
ldfdfinish{interlingu} /code
VP
19
he (le dutch.dtx12 de(nes ll the lngugeEspei( mros for the huth lnE guge nd the efrikns9 version13 of itF por this lnguge the hrter " is mde tiveF sn tle Q n overview is given of its purposeF yne of the resons for this is tht in the huth lnguge word with dieresis n e hyphented just efore the letter with the umlutD ut the dieresis hs to dispper if the word is roken etween the previous letter nd the ented letterF sn Q the quoting onventions for the huth lnguge re disussedF he preferred onvention is the singleEquote engloEemerin onventionD iFeF his is quote9F en lterntive is the slightly oldEfshioned huth method with initil doule quotes lowered to the selineD his is quoteD whih should e typed s "`This is a quote"'F
\"a whih hyphentes s -aY lso implemented for the other lettersF puts negtive kern etween i nd j puts negtive kern etween I nd J disle ligture t this positionF n expliit hyphen signD llowing hyphention in the rest of the wordF to produe hyphenhrter without the following \discretionary{}{}{}F to produe n invisile rekpoint9F lowered doule left quotes @see exmple elowAF norml doule right quotesF like the old \-D ut llowing hyphention in the rest of the wordF
le QX he extr de(nitions mde y dutch.ldf
7 hnges{duthEQFV}{IWWTGIHGHR}{mde hek dependnt on 7 s{gurrentyption}} 19.3 7 19.4 7 he mro |vdfsnit| tkes re of preventing tht this file is 19.5 7 loded more thn oneD heking the tegory ode of the 19.6 7 texttt{d} signD etF 19.7 7 hnges{duthEQFV}{IWWTGIHGQH}{xow use s{vdfsnit} to perform 19.8 7 initil heks} 19.9 7 egin{mroode} 19.10 code 19.11 vdfsnitgurrentyption{ptionsgurrentyption}
19.1 19.2
hen this (le is red s n optionD iFeF y the \usepackage ommndD dutch ould e n unknown9 lnguge in whih se we hve to mke it knownF o we hek for the existene of \l@dutch or l@afrikaans to see whether we hve to do something hereF
12 The
le described in this section has version number v3.8i, and was last revised on by Stoel Lombard (lombc@b31pc87.up.ac.za) 2005/03/30.
13 contributed
VQ
sf it is dutch then we (rst hek if the huth hyphention ptterns wer lodedD
19.14
if no we issue wrning nd mke duth dilet9 of either the hyphention ptterns tht were loded in slot H or of frikns9 when it is villeF
19.15 19.16 19.17 19.18 19.19 19.20 19.21
he next step onsists of de(ning ommnds to swith to @nd fromA the huth lngugeF
ptionsduth
he mro \captionsdutch de(nes ll strings used in the four stndrd doument A lsses provided with v iF
egingroup tode4tive defx{endgroup defptionsduth{7 defprefenme{oorwoord}7 defrefnme{eferenties}7 defstrtnme{menvtting}7 definme{filiogrfie}7 defhpternme{roofdstuk}7 defppendixnme{f4ylge}7 defontentsnme{snhoudsopgve}7 deflistfigurenme{v4yst vn figuren}7 deflisttlenme{v4yst vn tellen}7 defindexnme{sndex}7 deffigurenme{piguur}7 deftlenme{el}7 defprtnme{heel}7 defenlnme{f4ylge@nA}7 defnme{}7 defhedtonme{en}7 defpgenme{gin}7 defseenme{zie}7 deflsonme{zie ook}7 defproofnme{few4ys}7 defglossrynme{erklrende oordenl4yst}7 } }x
19.22 19.23 19.24 19.25 19.26 19.27 19.28 19.29 19.30 19.31 19.32 19.33 19.34 19.35 19.36 19.37 19.38 19.39 19.40 19.41 19.42 19.43 19.44 19.45 19.46 19.47 19.48
dteduth
19.49 19.50
VR
jnurior ferurior mrtor prilor meior junior julior ugustusor septemeror oktoeror novemeror deemerfi spe numeryer}}
hen the option with whih this (le is eing proess ws not dutch we ssume it ws afrikaansF e perform similr hek on the vilility of the hyphention pternsF
else ifxldfriknsundefined 19.57 dnoptterns{efrikns} 19.58 ifxldduthundefined 19.59 dddiletldfriknsH 19.60 else 19.61 dddiletldfriknsldduth 19.62 fi 19.63 fi
19.55 19.56
ptionsfrikns
19.64 19.65 19.66 19.67 19.68 19.69 19.70 19.71 19.72 19.73 19.74 19.75 19.76 19.77 19.78 19.79 19.80 19.81 19.82 19.83 19.84 19.85
dtefrikns
defdtefrikns{7 deftody{numerdy~ifsemonthor 19.88 tnurieor perurieor wrtor eprilor weior tunieor 19.89 tulieor eugustusor eptemeror yktoeror xovemeror 19.90 hesemerfi 19.91 spe numeryer}} 19.92 fi
19.86 19.87
he mros \extrasdutch nd \captionsafrikaans will perform ll the exE tr de(nitions needed for the huth lngugeF he mros \noextrasdutch VS
nd noextrasafrikaans is used to nel the tions of \extrasdutch nd \captionsafrikaansF por huth the " hrter is mde tiveF his is done oneD lter on its de(nition my vryF yther lnguges in the sme doument my lso use the " hrter for shorthndsY we speify tht the duth group of shorthnds should e usedF
19.93
inititedtivedhr{4}
foth version of the lnguge use the sme set of shorthnd de(nitions lthoug the ij9 is not used in efriknsF
dnmedef{extrsgurrentyption}{lngugeshorthnds{duth}} expndfterddtosnme extrsgurrentyptionendsnme{7 19.96 ldtivte{4}}
19.94 19.95
duthhyphenmins friknshyphenmins
19.101
dtrem
sn the huth lnguge vowels with trem re treted speillyF sf hyphention ours efore vowelEplusEtremD the trem should dispperF o e le to do this we ould (rst de(ne the hyphention rek ehviour for the (ve vowelsD oth lowerse nd upperseD in terms of \discretionaryF fut this results in lrge \ifEonstrut in the de(nition of the tive "F feuse we think user should not use " when he relly mens something like '' we hose not to distinguish etween vowels nd onsonntsF herefore we hve one mro \@trema whih spei(es the hyphention rek ehviour for ll lettersF
defdtrem5I{llowhyphensdisretionry{E}{5I}{4{5I}}llowhyphens}
19.102
duth quotesD
delredshorthnd{duth}{4}{7 textormth{quotedlse}{mox{quotedlse}}} 19.112 delredshorthnd{duth}{49}{7 19.113 textormth{textquotedlright}{mox{textquotedlright}}}
19.110 19.111
delredshorthnd{duth}{4E}{norekEldllowhyphens} delredshorthnd{duth}{4~}{textormth{levevmodehox{E}}{E}}
VT
o enle hyphention in two wordsD written together ut seprted y slshD s in uitdrukkingGopmerking9 we de(ne the ommnd "/F
19.121 19.122
delredshorthnd{duth}{4G}{textormth {ldllowhyphensdisretionry{G}{}{G}ldllowhyphens}{}}
ell tht is left now is the rede(nition of \-F he new version of \- should indite n extr hyphention positionD while llowing other hyphention positions to e generted utomtillyF he stndrd ehviour of i in this respet is very unfortunte for lnguges suh s huth nd qermnD where long ompound words re quite norml nd ll one needs is mens to indite n extr hyphention position on top of the ones tht i n generte from the hyphention ptternsF
he mro \ldf@finish tkes re of looking for on(gurtion (leD setting the min lnguge to e swithed on t \begin{document} nd resetting the tegory ode of @ to its originl vlueF
19.127 19.128
ldfdfinishgurrentyption /code
VU
20
he (le english.dtx14 de(nes ll the lnguge de(nition mros for the inglish lnguge s well s for the emerin nd eustrlin version of this lngugeF por the eustrlin version the fritish hyphention ptterns will e usedD if villeD for the gndin vrint the emerin ptterns re seletedF por this lnguge urrently no speil de(nitions re needed or villeF he mro \LdfInit tkes re of preventing tht this (le is loded more thn oneD heking the tegory ode of the @ signD etF
20.1 20.2
code vdfsnitgurrentyption{dtegurrentyption}
hen this (le is red s n optionD iFeF y the \usepackage ommndD english ould e n unknown9 lnguge in whih se we hve to mke it knownF o we hek for the existene of \l@english to see whether we hve to do something hereF e llow for the ritish english ptterns to e loded s either ritish9D or uenglish9F hen neither of those is known we try to de(ne \l@english s n lis for \l@american or \l@USenglishF
ifxldenglishdundefined ifxlduenglishdundefined 20.5 ifxldritishdundefined 20.6 ifxldmerindundefined 20.7 ifxldenglishdundefined 20.8 ifxldndindundefined 20.9 ifxldustrlindundefined 20.10 ifxldnewzelnddundefined 20.11 dnoptterns{inglish} 20.12 dddiletldenglishH 20.13 else 20.14 letldenglishldnewzelnd 20.15 fi 20.16 else 20.17 letldenglishldustrlin 20.18 fi 20.19 else 20.20 letldenglishldndin 20.21 fi 20.22 else 20.23 letldenglishldenglish 20.24 fi 20.25 else 20.26 letldenglishldmerin 20.27 fi 20.28 else 20.29 letldenglishldritish 20.30 fi 20.31 else 20.32 letldenglishlduenglish 20.33 fi 20.34 fi
20.3 20.4
14 The
le described in this section has version number v3.3o and was last revised on
2005/03/30.
VV
feuse we llow ritish9 to e used s the el option we need to mke sure tht it will e reognised y \selectlanguageF sn the ode ove we hve mde sure tht \l@english ws de(nedF xow we wnt to mke sure tht \l@british nd \l@UKenglish re de(ned s wellF hen either of them is we mke them equl to eh otherD when neither is we fll k to the defultD \l@englishF
ifxldritishdundefined ifxlduenglishdundefined 20.37 dddiletldritishldenglish 20.38 dddiletlduenglishldenglish 20.39 else 20.40 letldritishlduenglish 20.41 fi 20.42 else 20.43 letlduenglishldritish 20.44 fi
20.35 20.36
emerin9 is version of inglish9 whih n hve its own hyphention ptternsF he defult english ptterns re in ft for merin englishF e llow for the ptterns to e loded s english9 merin9 or english9F
20.45 20.46
ifxldmerindundefined ifxldenglishdundefined
wke sure tht english is knownD even if the ptterns were loded s merin9F
ifxldenglishdundefined letldenglishldmerin 20.54 fi 20.55 fi
20.52 20.53
gndin9 english spelling is hyrid of fritish nd emerin spellingF elE though so fr no speil trnsltions9 hve een reported we llow this (le to e loded y the option candian s wellF
ifxldndindundefined dddiletldndinldmerin 20.58 fi
20.56 20.57
eustrlin9 nd xew elnd9 english spelling seem to e the sme s fritish spellingF elthough so fr no speil trnsltions9 hve een reported we llow this (le to e loded y the options australian nd newzealand s wellF
ifxldustrlindundefined dddiletldustrlinldritish 20.61 fi 20.62 ifxldnewzelnddundefined 20.63 dddiletldnewzelndldritish 20.64 fi
20.59 20.60
englishhyphenmins
his mro is used to store the orret vlues of the hyphention prmeters \lefthyphenmin nd \righthyphenminF VW
20.65
providehyphenmins{gurrentyption}{twdthrdd}
he next step onsists of de(ning ommnds to swith to @nd fromA the inE glish lngugeF
ptionsenglish
dnmedef{ptionsgurrentyption}{7 defprefenme{refe}7 20.68 defrefnme{eferenes}7 20.69 defstrtnme{estrt}7 20.70 definme{filiogrphy}7 20.71 defhpternme{ghpter}7 20.72 defppendixnme{eppendix}7 20.73 defontentsnme{gontents}7 20.74 deflistfigurenme{vist of pigures}7 20.75 deflisttlenme{vist of les}7 20.76 defindexnme{sndex}7 20.77 deffigurenme{pigure}7 20.78 deftlenme{le}7 20.79 defprtnme{rt}7 20.80 defenlnme{enl}7 20.81 defnme{}7 20.82 defhedtonme{o}7 20.83 defpgenme{ge}7 20.84 defseenme{see}7 20.85 deflsonme{see lso}7 20.86 defproofnme{roof}7 20.87 defglossrynme{qlossry}7 20.88 }
20.66 20.67
he mro \captionsenglish de(nes ll strings used in the four stndrd douE A ment lsses provided with v iF
dteenglish
sn order to de(ne \today orretly we need to know whether it should e enE glish9D ustrlin9D or merin9F e n (nd this out y heking the vlue of \CurrentOptionF
defldtemp{ritish} ifxgurrentyptionldtempdefldtemp{u}fi 20.91 defldtemp{uenglish} 20.92 ifxgurrentyptionldtempdefldtemp{u}fi 20.93 defldtemp{merin} 20.94 ifxgurrentyptionldtempdefldtemp{}fi 20.95 defldtemp{english} 20.96 ifxgurrentyptionldtempdefldtemp{}fi 20.97 defldtemp{ndin} 20.98 ifxgurrentyptionldtempdefldtemp{}fi 20.99 defldtemp{ustrlin} 20.100 ifxgurrentyptionldtempdefldtemp{e}fi 20.101 defldtemp{newzelnd} 20.102 ifxgurrentyptionldtempdefldtemp{e}fi
20.89 20.90
WH
20.106 20.107 20.108 20.109 20.110 20.111 20.112 20.113 20.114 20.115 20.116
deftody{ifsedyor Istor Pndor Qrdor Rthor Sthor Tthor Uthor Vthor Wthor IHthor IIthor IPthor IQthor IRthor ISthor ITthor IUthor IVthor IWthor PHthor PIstor PPndor PQrdor PRthor PSthor PTthor PUthor PVthor PWthor QHthor QIstfi~ifsemonthor tnuryor peruryor wrhor eprilor wyor tuneor tulyor eugustor eptemeror ytoeror xovemeror heemerfispe numeryer}} else
dteustrlin
xowD test for ustrlin9 or merin9F he mro \dateaustralian rede(nes the ommnd \today to produe eusE trlin respF xew elnd dtesF
20.117
defldtemp{e} ifxldtempldtemp dnmedef{dtegurrentyption}{7 deftody{numerdy~ifsemonthor tnuryor peruryor wrhor eprilor wyor tuneor tulyor eugustor eptemeror ytoeror xovemeror heemerfispe numeryer}}
dtemerin
else dnmedef{dtegurrentyption}{7 20.127 deftody{ifsemonthor 20.128 tnuryor peruryor wrhor eprilor wyor tuneor 20.129 tulyor eugustor eptemeror ytoeror xovemeror 20.130 heemerfi spenumerdyD numeryer}} 20.131 fi 20.132 fi
20.125 20.126
extrsenglish noextrsenglish
he mro \extrasenglish will perform ll the extr de(nitions needed for the inglish lngugeF he mro \noextrasenglish is used to nel the tions of \extrasenglishF por the moment these mros re empty ut they re de(ned for omptiility with the other lnguge de(nition (lesF
dnmedef{extrsgurrentyption}{} dnmedef{noextrsgurrentyption}{}
20.133 20.134
he mro \ldf@finish tkes re of looking for on(gurtion (leD setting the min lnguge to e swithed on t \begin{document} nd resetting the tegory ode of @ to its originl vlueF
20.135 20.136
ldfdfinishgurrentyption /code
WI
21
he (le germanb.dtx15 de(nes ll the lnguge de(nition mros for the qermn lnguge s well s for the eustrin dilet of this lnguge16 F por this lnguge the hrter " is mde tiveF sn tle R n overview is given of its purposeF yne of the resons for this is tht in the qermn lnguge some hrter omintions hnge when word is roken etween the omintionF elso the vertil plement of the umlut n e ontrolled this wyF he quotes
"a "s "z "ck "ff "S "Z "| """ "~ "= "` "' "< ">
\"aD lso implemented for the other lowerse nd upperse vowelsF to produe the qermn @like \ss{}AF to produe the qermn @like \ss{}AF for ck to e hyphented s k-kF for ff to e hyphented s ff-fD this is lso impleE mented for lD mD nD pD r nd t for SS to e \uppercase{"s}F for SZ to e \uppercase{"z}F disle ligture t this positionF n expliit hyphen signD llowing hyphention in the rest of the wordF like "-D ut produing no hyphen sign @for ompund words with hyphenD eFgF x-""yAF for ompound word mrk without rekpointF for ompound word mrk with rekpointD llowE ing hyphention in the omposing wordsF for qermn left doule quotes @looks like AF for qermn right doule quotesF for prenh left doule quotes @similr to <<AF for prenh right doule quotes @similr to >>AF
le RX he extr de(nitions mde y german.ldf in tle R n lso e typeset y using the ommnds in tle SF hen this (le ws red through the option germanb we mke it ehve s if german ws spei(edF
defldtemp{germn} ifxgurrentyptionldtemp 21.3 defgurrentyption{germn} 21.4 ifxldgermndundefined 21.5 dnoptterns{qermn} 21.6 dddiletldgermnH 21.7 fi 21.8 letldgermnldgermn 21.9 etfeginhoument{7 21.10 letptionsgermnptionsgermn 21.11 letdtegermndtegermn
21.1 21.2
15 The 16 This
le described in this section has version number v2.6m and was last revised on le is a re-implementation of Hubert Partl's
2008/06/01.
german.sty
WP
for qermn left doule quotes @looks like AF for qermn right doule quotes @looks like AF for qermn left single quotes @looks like DAF for qermn right single quotes @looks like AF for prenh left doule quotes @similr to <<AF for prenh right doule quotes @similr to >>AF for @prenhA left single quotes @similr to <AF for @prenhA right single quotes @similr to >AF the originl quotes hrter @"AF
} fi
letextrsgermnextrsgermn letnoextrsgermnnoextrsgermn
he mro \LdfInit tkes re of preventing tht this (le is loded more thn oneD heking the tegory ode of the @ signD etF
21.16 21.17
code vdfsnitgurrentyption{ptionsgurrentyption}
hen this (le is red s n optionD iFeFD y the \usepackage ommndD german will e n unknown9 lngugeD so we hve to mke it knownF o we hek for the existene of \l@german to see whether we hve to do something hereF
ifxldgermndundefined dnoptterns{qermn} 21.20 dddiletldgermnH 21.21 fi
21.18 21.19
dddiletldustrinldgermn
he next step onsists of de(ning ommnds to swith to @nd fromA the qerE mn lngugeF
ptionsgermn ptionsustrin
iither the mro \captionsgerman or the mro \captionsaustrian will de(ne A ll strings used in the four stndrd doument lsses provided with v iF
dnmedef{ptionsgurrentyption}{7 defprefenme{orwort}7 21.25 defrefnme{vitertur}7 21.26 defstrtnme{usmmenfssung}7 21.27 definme{viterturverzeihnis}7 21.28 defhpternme{upitel}7 21.29 defppendixnme{enhng}7 21.30 defontentsnme{snhltsverzeihnis}7 7 oder nurX snhlt 21.31 deflistfigurenme{eildungsverzeihnis}7 21.32 deflisttlenme{ellenverzeihnis}7 21.33 defindexnme{sndex}7 21.34 deffigurenme{eildung}7 21.35 deftlenme{elle}7 7 oderX fel 21.36 defprtnme{eil}7
21.23 21.24
WQ
dtegermn
defmonthdgermn{ifsemonthor tnuror peruror w4rzor eprilor wior tunior 21.48 tulior eugustor eptemeror yktoeror xovemeror hezemerfi} 21.49 defdtegermn{deftody{numerdyF~monthdgermn 21.50 spenumeryer}}
21.46 21.47
dteustrin
he mro \dateaustrian rede(nes the ommnd \today to produe eustrin version of the qermn dtesF
defdteustrin{deftody{numerdyF~ifnumIamonth t4nnerelse monthdgermnfi spenumeryer}}
21.51 21.52
iither the mro \extrasgerman or the mros \extrasaustrian will perE form ll the extr de(nitions needed for the qermn lngugeF he mro \noextrasgerman is used to nel the tions of \extrasgermanF por qermn @s well s for huthA the " hrter is mde tiveF his is done oneD lter on its de(nition my vryF
ddtonoextrsgermn{lddetivte{4}}
sn order for i to e le to hyphente qermn words whih ontin 9 @in the OT1 position ^^YA we hve to give the hrter nonzero \lccode @see eppendix rD the iookAF
he umlut ent mro \" is hnged to lower the umlut dotsF he rede(E nition is done with the help of \umlautlowF
expndfterddtosnme extrsgurrentyptionendsnme{7 eldsve4umlutlow} 21.64 dnmedef{noextrsgurrentyption}{umluthigh}
21.62 21.63
providehyphenmins{gurrentyption}{twdtwd}
WR
por qermn texts we need to mke sure tht \frenchspacing is turned onF
expndfterddtosnme extrsgurrentyptionendsnme{7 ldfrenhsping} 21.68 expndfterddtosnme noextrsgurrentyptionendsnme{7 21.69 ldnonfrenhsping}
21.66 21.67
he ode ove is neessry euse we need n extr tive hrterF his hrter is then used s indited in tle RF o e le to de(ne the funtion of "D we (rst de(ne ouple of support9 mrosF
dq
e sve the originl doule quote hrter in \dq to keep it villeD the mth ent \" n now e typed s "F
tremsD
delredshorthnd{germn}{4e}{textormth{4{e}}{ddot e}} delredshorthnd{germn}{4i}{textormth{4{i}}{ddot i}} 21.83 delredshorthnd{germn}{4i}{textormth{4{i}}7 21.84 {ddotimth}} 21.85 delredshorthnd{germn}{4s}{textormth{4{s}}{ddot s}}
21.81 21.82
disretionry ommnds
delredshorthnd{germn}{4}{textormth{lddis delredshorthnd{germn}{4g}{textormth{lddis 21.96 delredshorthnd{germn}{4p}{textormth{lddis 21.97 delredshorthnd{germn}{4l}{textormth{lddis 21.98 delredshorthnd{germn}{4v}{textormth{lddis 21.99 delredshorthnd{germn}{4m}{textormth{lddis 21.100 delredshorthnd{germn}{4w}{textormth{lddis 21.101 delredshorthnd{germn}{4n}{textormth{lddis
21.94 21.95
WS
delredshorthnd{germn}{4x}{textormth{lddis delredshorthnd{germn}{4p}{textormth{lddis 21.104 delredshorthnd{germn}{4}{textormth{lddis 21.105 delredshorthnd{germn}{4r}{textormth{lddis 21.106 delredshorthnd{germn}{4}{textormth{lddis 21.107 delredshorthnd{germn}{4t}{textormth{lddis 21.108 delredshorthnd{germn}{4}{textormth{lddis
21.102 21.103 21.109 21.110
mdqon ell tht9s left to do now is to de(ne ouple of ommnds for resons of omptE mdqoff iility with german.styF k 21.124 defmdqon{shorthndon{4}} 21.125 defmdqoff{shorthndoff{4}} 21.126 defk{llowhyphensdisretionry{kE}{k}{k}llowhyphens}
he mro \ldf@finish tkes re of looking for on(gurtion (leD setting the min lnguge to e swithed on t \begin{document} nd resetting the tegory ode of @ to its originl vlueF
21.127 21.128
ldfdfinishgurrentyption /code
WT
22
he (le ngermanb.dtx17 de(nes ll the lnguge de(nition mros for the qermn lnguge with the new orthogrphy9 introdued in eugust IWWVF his inludes lso the eustrin dilet of this lngugeF es with the trditionl9 qermn orthogrphyD the hrter " is mde tiveD nd the ommnds in tle R n e usedD exept for "ck nd "ff etFD whih re no longer requiredF he internl lnguge nmes re ngerman nd naustrianF hen this (le ws red through the option ngermanb we mke it ehve s if ngerman ws spei(edF
defldtemp{ngermn} ifxgurrentyptionldtemp 22.3 defgurrentyption{ngermn} 22.4 fi
22.1 22.2
he mro \LdfInit tkes re of preventing tht this (le is loded more thn oneD heking the tegory ode of the @ signD etF
22.5 22.6
code vdfsnitgurrentyption{ptionsgurrentyption}
hen this (le is red s n optionD iFeFD y the \usepackage ommndD ngerman will e n unknown9 lngugeD so we hve to mke it knownF o we hek for the existene of \l@ngerman to see whether we hve to do something hereF
ifxldngermndundefined dnoptterns{ngermn} 22.9 dddiletldngermnH 22.10 fi
22.7 22.8
dddiletldnustrinldngermn
he next step onsists of de(ning ommnds to swith to @nd fromA the qerE mn lngugeF
ptionsngermn ptionsnustrin
iither the mro \captionsngerman or the mro \captionsnaustrian will deE A (ne ll strings used in the four stndrd doument lsses provided with v iF
dnmedef{ptionsgurrentyption}{7 defprefenme{orwort}7 22.14 defrefnme{vitertur}7 22.15 defstrtnme{usmmenfssung}7 22.16 definme{viterturverzeihnis}7 22.17 defhpternme{upitel}7 22.18 defppendixnme{enhng}7 22.19 defontentsnme{snhltsverzeihnis}7 7 oder nurX snhlt 22.20 deflistfigurenme{eildungsverzeihnis}7 22.21 deflisttlenme{ellenverzeihnis}7 22.22 defindexnme{sndex}7 22.23 deffigurenme{eildung}7 22.24 deftlenme{elle}7 7 oderX fel 22.25 defprtnme{eil}7
22.12 22.13
17 The
le described in this section has version number v2.6n and was last revised on
2008/07/06.
WU
dtengermn
defmonthdngermn{ifsemonthor tnuror peruror w4rzor eprilor wior tunior 22.37 tulior eugustor eptemeror yktoeror xovemeror hezemerfi} 22.38 defdtengermn{deftody{numerdyF~monthdngermn 22.39 spenumeryer}}
22.35 22.36
dtenustrin
he mro \datenaustrian rede(nes the ommnd \today to produe eustrin version of the qermn dtesF
defdtenustrin{deftody{numerdyF~ifnumIamonth t4nnerelse monthdngermnfi spenumeryer}}
22.40 22.41
iither the mro \extrasngerman or the mros \extrasnaustrian will perE form ll the extr de(nitions needed for the qermn lngugeF he mro \noextrasngerman is used to nel the tions of \extrasngermanF por qermn @s well s for huthA the " hrter is mde tiveF his is done oneD lter on its de(nition my vryF
ddtonoextrsngermn{lddetivte{4}}
sn order for i to e le to hyphente qermn words whih ontin 9 @in the OT1 position ^^YA we hve to give the hrter nonzero \lccode @see eppendix rD the iookAF
he umlut ent mro \" is hnged to lower the umlut dotsF he rede(E nition is done with the help of \umlautlowF
expndfterddtosnme extrsgurrentyptionendsnme{7 eldsve4umlutlow} 22.53 dnmedef{noextrsgurrentyption}{umluthigh}
22.51 22.52
he urrent version of the new9 qermn hyphention ptterns @dehyphn.tex is to e used with \lefthyphenmin nd \righthyphenmin set to PF
22.54
providehyphenmins{gurrentyption}{twdtwd}
WV
por qermn texts we need to mke sure tht \frenchspacing is turned onF
expndfterddtosnme extrsgurrentyptionendsnme{7 ldfrenhsping} 22.57 expndfterddtosnme noextrsgurrentyptionendsnme{7 22.58 ldnonfrenhsping}
22.55 22.56
he ode ove is neessry euse we need n extr tive hrterF his hrter is then used s indited in tle RF o e le to de(ne the funtion of "D we (rst de(ne ouple of support9 mrosF
dq
e sve the originl doule quote hrter in \dq to keep it villeD the mth ent \" n now e typed s "F
tremsD
delredshorthnd{ngermn}{4e}{textormth{4{e}}{ddot e}} delredshorthnd{ngermn}{4i}{textormth{4{i}}{ddot i}} 22.72 delredshorthnd{ngermn}{4i}{textormth{4{i}}7 22.73 {ddotimth}} 22.74 delredshorthnd{ngermn}{4s}{textormth{4{s}}{ddot s}}
22.70 22.71
WW
mdqon mdqoff
ell tht9s left to do now is to de(ne ouple of ommnds for resons of omptE iility with german.styF
defmdqon{shorthndon{4}} defmdqoff{shorthndoff{4}}
22.90 22.91
he mro \ldf@finish tkes re of looking for on(gurtion (leD setting the min lnguge to e swithed on t \begin{document} nd resetting the tegory ode of @ to its originl vlueF
22.92 22.93
ldfdfinishgurrentyption /code
IHH
23
he (le breton.dtx18 de(nes ll the lngugeEspei( mros for the freton lnE gugeF here re not relly typogrphi rules for the freton lngugeF st is lol lnguge @it9s one of the elti lngugesA whih is spoken in frittny @est of prneAF o we hve synthesis etween frenh typogrphi rules nd english typogrphi rulesF he hrters :D ;D ! nd ? re mde tive in order to get whitespe utomtilly efore these hrtersF he mro \LdfInit tkes re of preventing tht this (le is loded more thn oneD heking the tegory ode of the @ signD etF
23.1 23.2
code vdfsnit{reton}ptionsreton
hen this (le is red s n optionD iFeF y the \usepackage ommndD breton will e n unknown9 lnguge in whih se we hve to mke it knownF o we hek for the existene of \l@breton to see whether we hve to do something hereF
ifxldretondundefined dnoptterns{freton} 23.5 dddiletldretonHfi
23.3 23.4
he next step onsists of de(ning ommnds to swith to the inglish lngugeF he reson for this is tht user might wnt to swith k nd forth etween lngugesF
ptionsreton
ddtoptionsreton{7 defprefenme{kskrid}7 23.8 defrefnme{hveennou}7 23.9 defstrtnme{hvierr~n}7 23.10 definme{venndurezh}7 23.11 defhpternme{ennd}7 23.12 defppendixnme{tgdenn}7 23.13 defontentsnme{olenn}7 23.14 deflistfigurenme{vistenn r pigurennou}7 23.15 deflisttlenme{vistenn n tolennou}7 23.16 defindexnme{weneger}7 23.17 deffigurenme{pigurenn}7 23.18 deftlenme{olenn}7 23.19 defprtnme{vodenn}7 23.20 defenlnme{hiellou kevret}7 23.21 defnme{iilskrid d}7 23.22 defhedtonme{evit} 23.23 defpgenme{jenn}7 23.24 defseenme{qwelout}7 23.25 deflsonme{qwelout ivez}7 23.26 defproofnme{roof}7 `EE needs trnsltion 23.27 defglossrynme{qlossry}7 `EE xeeds trnsltion 23.28 }
23.6 23.7
he mro \captionsbreton de(nes ll strings used in the four stndrd douE A ment lsses provided with v iF
18 The
le described in this section has version number v1.0h and was last revised on
2005/03/29.
IHI
dtereton
defdtereton{7 deftody{ifnumdyaIrelx IG6{rm tilde{n}}6else 23.31 numerdyfi spe spe vizspeifsemonthor 23.32 qenveror g9hwevreror weurzhor irelor weor wezhevenor 23.33 qouereor iostor qwengoloor rereor huor uerzufi 23.34 spenumeryer}}
23.29 23.30
extrsreton noextrsreton
he mro \extrasbreton will perform ll the extr de(nitions needed for the freton lngugeF he mro \noextrasbreton is used to nel the tions of \extrasbretonF he tegory ode of the hrters :D ;D ! nd ? is mde \active to insert little white speF
ddtoextrsreton{lngugeshorthnds{reton}}
he lst thing \extrasbreton needs to do is to mke sure tht \frenchspacing is in e'etF sf this is not the se the exeution of \noextrasbreton will swith it of ginF
23.46 23.47
ddtoextrsreton{ldfrenhsping} ddtonoextrsreton{ldnonfrenhsping}
retondshdYd
e hve to redue the mount of white spe efore ;D : nd ! when the user types spe in front of these hrtersF his should only hppen outside mthmodeD hene the test with \ifmmodeF
IHP
retondshdXd retondshd3d
feuse these de(nitions re very similr only one is displyed in wy tht the de(nition n e esily hekedF
delredshorthnd{reton}{X}{7 ifmmodestringXspe 23.61 elserelx 23.62 ifhmode 23.63 ifdimlstskipbzdunskippenltydwthinspefi 23.64 fi 23.65 stringXspe 23.66 fi} 23.67 delredshorthnd{reton}{3}{7 23.68 ifmmodestring3spe 23.69 elserelx 23.70 ifhmode 23.71 ifdimlstskipbzdunskippenltydwthinspefi 23.72 fi 23.73 string3spe 23.74 fi}
23.59 23.60
retondshdcd
por the question mrk something di'erent hs to e doneF sn this se the mount of white spe tht reples the spe hrter depends on the dimensions of the fontF
delredshorthnd{reton}{c}{7 ifmmode 23.77 stringcspe 23.78 elserelx 23.79 ifhmode 23.80 ifdimlstskipbzd 23.81 unskip 23.82 kernfontdimenPfont 23.83 kernEIFRfontdimenQfont 23.84 fi 23.85 fi 23.86 stringcspe 23.87 fi}
23.75 23.76
ell tht is left to do now is provide the reton user with some extr utilitiesF ome de(nitions for speil hrtersF
helreextymol{t}{yI}{TR} helreextymol{t}{I}{TR} 23.90 helreextymolhefult{t}{yI} 23.91 helreextymol{oi}{yI}{WP} 23.92 helreextymol{oi}{I}{IT} 23.93 helreextymolhefult{oi}{yI} 23.94 helreextymol{ironflexe}{yI}{WR} 23.95 helreextymol{ironflexe}{I}{P} 23.96 helreextymolhefult{ironflexe}{yI} 23.97 helreextymol{tild}{yI}{IPT} 23.98 helreextymol{tild}{I}{Q} 23.99 helreextymolhefult{tild}{yI} 23.100 helreextymol{degre}{yI}{PQ} 23.101 helreextymol{degre}{I}{T} 23.102 helreextymolhefult{degre}{yI}
23.88 23.89
IHQ
he mro \ldf@finish tkes re of looking for on(gurtion (leD setting the min lnguge to e swithed on t \begin{document} nd resetting the tegory ode of @ to its originl vlueF
23.113 23.114
ldfdfinish{reton} /code
IHR
24
he (le welsh.dtx19 de(nes ll the lnguge de(nition mros for the elsh lngugeF por this lnguge urrently no speil de(nitions re needed or villeF he mro \ldf@init tkes re of preventing tht this (le is loded more thn oneD heking the tegory ode of the @ signD etF
24.1 24.2
code vdfsnit{welsh}{ptionswelsh}
hen this (le is red s n optionD iFeF y the \usepackage ommndD welsh ould e n unknown9 lnguge in whih se we hve to mke it knownF o we hek for the existene of \l@welsh to see whether we hve to do something hereF
ifxundefinedldwelsh dnoptterns{welsh} 24.5 dddiletldwelshHfi
24.3 24.4
he next step onsists of de(ning ommnds to swith to @nd fromA the elsh lngugeF
welshhyphenmins
his mro is used to store the orret vlues of the hyphention prmeters \lefthyphenmin nd \righthyphenminF
24.6
providehyphenmins{gurrentyption}{twdthrdd}
ptionswelsh
defptionswelsh{7 defprefenme{hgir}7 24.9 defrefnme{gyfeiridu}7 24.10 defstrtnme{grynode}7 24.11 definme{vlyfryddieth}7 24.12 defhpternme{ennod}7 24.13 defppendixnme{etodid}7 24.14 defontentsnme{gynnwys}7 24.15 deflistfigurenme{hestr hdrluniu}7 24.16 deflisttlenme{hestr hlu}7 24.17 defindexnme{wynegi}7 24.18 deffigurenme{hrlun}7 24.19 deftlenme{flen}7 24.20 defprtnme{hn}7 24.21 defenlnme{mge4edig}7 24.22 defnme{op4i u}7 24.23 defhedtonme{et}7 7 t9 on letters mening to @ personA9 24.24 7 to @ pleA9 is i9 in elsh 24.25 defpgenme{tudlen}7 24.26 defseenme{gweler}7 24.27 deflsonme{gweler hefyd}7 24.28 defproofnme{rwf}7 24.29 defglossrynme{hestr termu}7 24.30 }
24.7 24.8
he mro \captionswelsh de(nes ll strings used in the four stndrd douE A mentlsses provided with v iF
19 The
le described in this section has version number v1.0d and was last revised on
2005/03/31.
IHS
dtewelsh
defdtewelsh{7 deftody{ifnumdyaIrelx IG6{mthrm{tilde{n}}}6else 24.33 numerdyfispeifsemonthor 24.34 sonwror ghwefroror wwrthor irillor 24.35 wior wehefinor qorffennfor ewstor 24.36 wedior rydrefor hweddor hgfyrfi 24.37 spenumeryer}}
24.31 24.32
extrswelsh noextrswelsh
he mro \extraswelsh will perform ll the extr de(nitions needed for the welsh lngugeF he mro \noextraswelsh is used to nel the tions of \extraswelshF por the moment these mros re empty ut they re de(ned for omptiility with the other lnguge de(nition (lesF
ddtoextrswelsh{} ddtonoextrswelsh{}
24.38 24.39
he mro \ldf@finish tkes re of looking for on(gurtion (leD setting the min lnguge to e swithed on t \begin{document} nd resetting the tegory ode of @ to its originl vlueF
24.40 24.41
ldfdfinish{welsh} /code
IHT
25
he (le irish.dtx20 de(nes ll the lnguge de(nition mros for the srish lnE gugeF por this lnguge urrently no speil de(nitions re needed or villeF he mro \LdfInit tkes re of preventing tht this (le is loded more thn oneD heking the tegory ode of the @ signD etF
25.1 25.2
code vdfsnit{irish}ptionsirish
hen this (le is red s n optionD iFeF y the \usepackage ommndD irish ould e n unknown9 lnguge in whih se we hve to mke it knownF o we hek for the existene of \l@irish to see whether we hve to do something hereF
ifxldirishdundefined dnoptterns{irish} 25.5 dddiletldirishHfi
25.3 25.4
he next step onsists of de(ning ommnds to swith to @nd fromA the srish lngugeF
irishhyphenmins
his mro is used to store the orret vlues of the hyphention prmeters \lefthyphenmin nd \righthyphenminF
25.6
providehyphenmins{gurrentyption}{twdthrdd}
ptionsirish
ddtoptionsirish{7 defprefenme{9emhr9}7 `EE lso 4frollh4 25.9 defrefnme{girt9{i}}7 25.10 defstrtnme{ehoimre}7 25.11 definme{vehrliost}7 25.12 defhpternme{giidil}7 25.13 defppendixnme{eguis9{i}n}7 25.14 defontentsnme{gl9r 9ehir}7 25.15 deflistfigurenme{v9er9id9{i}}7 25.16 deflisttlenme{9l9{i}}7 25.17 defindexnme{snn9es}7 25.18 deffigurenme{v9er9id}7 25.19 deftlenme{9l}7 25.20 defprtnme{guid}7 25.21 defenlnme{foi imh}7 25.22 defnme{}7 rvF 9oip huig9 25.23 defhedtonme{qo}7 25.24 defpgenme{vethnh}7 25.25 defseenme{f9eh}7 25.26 deflsonme{f9eh freisin}7 25.27 defproofnme{gruth9uns}7 25.28 defglossrynme{qlossry}7 `EE xeeds trnsltion 25.29 }
25.7 25.8
he mro \captionsirish de(nes ll strings used in the four stndrd douE A mentlsses provided with v iF
20 The
le described in this section has version number v1.0h and was last revised on
IHU
dteirish
defdteirish{7 deftody{7 25.32 numerdyspe ifsemonthor 25.33 in9iror pehror w9rtor eire9nor 25.34 feltineor weithemhor s9uilor v9unsor 25.35 we9n p9omhiror heiredh p9omhiror 25.36 w9{i} n mhnor w9{i} n xollgfi 25.37 spe numeryer}}
25.30 25.31
extrsirish noextrsirish
he mro \extrasirish will perform ll the extr de(nitions needed for the srish lngugeF he mro \noextrasirish is used to nel the tions of \extrasirishF por the moment these mros re empty ut they re de(ned for omptiility with the other lnguge de(nition (lesF
ddtoextrsirish{} ddtonoextrsirish{}
25.38 25.39
he mro \ldf@finish tkes re of looking for on(gurtion (leD setting the min lnguge to e swithed on t \begin{document} nd resetting the tegory ode of @ to its originl vlueF
25.40 25.41
ldfdfinish{irish} /code
IHV
26
he (le scottish.dtx21 de(nes ll the lnguge de(nition mros for the ottish lngugeF por this lnguge urrently no speil de(nitions re needed or villeF he mro \LdfInit tkes re of preventing tht this (le is loded more thn oneD heking the tegory ode of the @ signD etF
26.1 26.2
code vdfsnit{sottish}ptionssottish
hen this (le is red s n optionD iFeF y the \usepackage ommndD scottish ould e n unknown9 lnguge in whih se we hve to mke it knownF o we hek for the existene of \l@scottish to see whether we hve to do something hereF
ifxldsottishdundefined dnoptterns{sottish} 26.5 dddiletldsottishHfi
26.3 26.4
he next step onsists of de(ning ommnds to swith to @nd fromA the ottish lngugeF
ptionssottish
ddtoptionssottish{7 defprefenme{refe}7 `EE needs trnsltion 26.8 defrefnme{somridh}7 26.9 defstrtnme{fr{i}gh}7 26.10 definme{vehrihen}7 26.11 defhpternme{giideil}7 26.12 defppendixnme{ethEsgr{i}ohdh}7 26.13 defontentsnme{glrEorh}7 26.14 deflistfigurenme{viost hhelh }7 26.15 deflisttlenme{viost ghlr}7 26.16 defindexnme{glrEinnse}7 26.17 deffigurenme{helh}7 26.18 deftlenme{glr}7 26.19 defprtnme{guid}7 26.20 defenlnme{Estigh}7 26.21 defnme{lethhre gu}7 26.22 defhedtonme{gu}7 26.23 defpgenme{tFdF}7 rvF toh duilleg9 26.24 defseenme{see}7 `EE needs trnsltion 26.25 deflsonme{see lso}7 `EE needs trnsltion 26.26 defproofnme{roof}7 `EE needs trnsltion 26.27 defglossrynme{qlossry}7 `EE xeeds trnsltion 26.28 }
26.6 26.7
he mro \captionsscottish de(nes ll strings used in the four stndrd doE A umentlsses provided with v iF
dtesottish
26.29 26.30
21 The
IHW
numerdyspe ifsemonthor m poiltehor n qerrnor m wrtor n qilenor n geitenor n tEyg mhiosor n tEsuhror vunsdlor n ultuineor n hmhror n tEmhinnor n huhlhdfi spe numeryer}}
extrssottish noextrssottish
he mro \extrasscottish will perform ll the extr de(nitions needed for the ottish lngugeF he mro \noextrasscottish is used to nel the tions of \extrasscottishF por the moment these mros re empty ut they re de(ned for omptiility with the other lnguge de(nition (lesF
ddtoextrssottish{} ddtonoextrssottish{}
26.37 26.38
he mro \ldf@finish tkes re of looking for on(gurtion (leD setting the min lnguge to e swithed on t \begin{document} nd resetting the tegory ode of @ to its originl vlueF
26.39 26.40
ldfdfinish{sottish} /code
IIH
27
he (le greek.dtx22 de(nes ll the lnguge de(nition mros for the qreek lngugeD iFeFD s it used tody with only one entD nd the ttriute o o o @olutonikoA for typesetting greek text with ll entsF his seprtion rose out of the need to simplify thingsD for only very few people will e relly interested to typeset polytoni qreek textF he ommnds \greektext nd \latintext n e used to swith to greek or ltin fontsF hese re delrtionsF he ommnds \textgreek nd \textlatin oth tke one rgument whih is then typeset using the requested font enodingF he ommnd \greekol swithes to the greek outline font fmilyD while the ommnd \textol typests short text in outline fontF e numer of extr greek hrters re mde ville through the dded text ommnds \stigmaD \qoppaD \sampiD \ddigammaD \DigammaD \euroD \permillD nd \vardigammaF
here is no qreek numerl for ny numer less thn or equl to 0F xumers from 1 to 9 re denoted y letters lphD etD gmmD deltD epsilonD stigmD zetD etD thetD followed y mrk similr to the mthE emtil symol primeF @xowdys insted of letter stigm the digrph sigm tu is used for numer 6F winly euse the letter stigm is not lwys villeD so people opt to write down the (rst two letters of its nme
2005/03/30. The original author is Apostolos Syropoulos (apostolo@platon.ee.duth.gr), code from
22 The
le described in this section has version number v1.3l and was last revised on by David Kastrup
kdgreek.sty
dak@neuroinformatik.ruhr-uni-bochum.de
was used to
III
s n lterntiveF sn our implementtion we produe the letter stigmD not the digrph sigm tuFA
hedes from 10 to 90 re denoted y letters iotD kppD lmdD muD nuD xiD omikronD piD qoppD gin followed y the numeri mrkF he qopp used for this purpose hs speil zigEzg formD whih doesn9t resemle t ll the originl q9Elike qoppF rundreds from 100 to 900 re denoted y letters rhoD sigmD tuD upsilonD phiD hiD psiD omegD smpiD followed y the numeri mrkF eny numer etween 1 nd 999 is otined y group of letters denoting the hundreds dedes nd unitsD followed y numeri mrkF o denote thousnds one uses the sme methodD ut this time the mrk is pled in front of the letterD nd under the seline @it is inverted y IVH degreesAF hen group of letters denoting thousnds is followed y group of letters denoting numer under 1000D then oth mrks re usedF
greeknumerl qreeknumerl
sing these onventions one otins numers up to WWW WWWF he ommnd \greeknumeral mkes it possile to typeset qreek numerlsF here is lso n upperse version of this mroX \GreeknumeralF enother system whih ws in wide use only in ethensD ould express ny positive numerF his system is implemented in pkge athnumF he mro \LdfInit tkes re of preventing tht this (le is loded more thn oneD heking the tegory ode of the @ signD etF
27.1 27.2
code vdfsnitgurrentyption{ptionsgurrentyption}
hen the option polutonikogreek ws usedD rede(ne \CurrentOption to prevent prolems lter onF
27.3
gdefgurrentyption{greek}7
hen this (le is red s n optionD iFeF y the \usepackage ommndD greek ould e n unknown9 lnguge in whih se we hve to mke it knownF o we hek for the existene of \l@greek to see whether we hve to do something hereF
ifxldgreekdundefined dnoptterns{greek} 27.6 dddiletldgreekHfi
27.4 27.5
lddelredttriute{greek}{polutoniko}{7
his ode dds the expnsion of \extraspolutonikogreek to \extrasgreek nd hnges the de(nition of \today for qreek to produe polytoni month nmesF
27.8 27.9 27.10 27.11
e need to tke some extr preutions in order not to rek older douments whih still use the old polutonikogreek optionF
27.12 27.13 27.14
IIP
27.15 27.16
letnoextrspolutonikogreeknoextrsgreek }
snputsfpileixists{lgrenFdef}{7 messge{voding the definitions for the qreek font enoding}}{7 27.19 errhelp{s n9t find the lgrenFdef file for the qreek fonts}7 27.20 errmessge{ine s do not know wht the vq enoding menst 27.21 s n9t typeset qreekFt 27.22 s stop hereD while you get suitle lgrenFdef file}ddend 27.23 }
27.17 27.18
ypesetting qreek texts implies tht speil set of fonts needs to e usedF he urrent support for greek uses the cb fonts reted y gludio feri23 F he cb fonts provide ll sorts of font combinationsF sn order to use these fonts we de(ne the vol qeek enoding @vqD see the (le greek.fddAF e mke sure A tht this enoding is known to v iD nd if it isn9t we ortF
xow we de(ne two ommnds tht o'er the possiility to swith etween qreek nd omn enodingsF
greektext
he ommnd \greektext will swith from vtin font enoding to the qreek font enodingF his ssumes tht the norml9 font enoding is vtin oneF his ommnd is declarationD for shorter piees of text the ommnd \textgreek should e usedF
textgreek
his ommnd tkes n rgument whih is then typeset using the requested font enodingF sn order to void mny enoding swithes it opertes in lol sopeF
helreoustgommnd{textgreek}I{levevmode{greektext 5I}}
27.27
textol
e lst spet of the set of fonts provided with this version of support for typesetting qreek texts is tht it ontins n outline fmilyF sn order to mke it ville we de(ne the ommnd \textolF
defoutlfmily{usefont{vq}{mro}{m}{n}} helreextpontgommnd{textol}{outlfmily}
27.28 27.29
he next step onsists in de(ning ommnds to swith to @nd fromA the qreek lngugeF
greekhyphenmins
his mro is used to store the orret vlues of the hyphention prmeters \lefthyphenmin nd \righthyphenminF
7 nnis rrlmous hs suggested this vlue providehyphenmins{gurrentyption}{dnedne}
27.30 27.31
ptionsgreek
he mro \captionsgreek de(nes ll strings used in the four stndrd doument A lsses provided with v iF
23 Apostolos
suggestions.
Syropoulos wishes to thank him for his patience, collaboration, cooments and
IIQ
27.35 27.36 27.37 27.38 27.39 27.40 27.41 27.42 27.43 27.44 27.45 27.46 27.47 27.48 27.49 27.50 27.51 27.52 27.53 27.54
defstrtnme{er9ilhyh}7 definme{filiogrf9i}7 defhpternme{uef9lio}7 defppendixnme{r9rthm}7 defontentsnme{erieq9omen}7 deflistfigurenme{ut9logos qhm9twn}7 deflisttlenme{ut9logos in9kwn}7 defindexnme{iuret9hrio}7 deffigurenme{q9hm}7 deftlenme{9inks}7 defprtnme{w9eros}7 defenlnme{unhmm9en}7 defnme{uoinopo9ihsh}7 defhedtonme{ros}7 defpgenme{el9id}7 defseenme{l9epe}7 deflsonme{l9epe ep9ishs}7 defproofnme{ep9odeixh}7 defglossrynme{qlwss9ri}7 }
ptionspolutonikogreek
por texts written in the o o @polytoni greekA the trnsltions re the o sme s oveD ut some words re spelled di'erentlyF por now we just dd extr de(nitions to \captionsgreek in order to override the erlier de(nitionsF
letptionspolutonikogreekptionsgreek ddtoptionspolutonikogreek{7 27.57 defrefnme{benfores}7 27.58 defindexnme{i`uret9hrio}7 27.59 deffigurenme{q~hm}7 27.60 defhedtonme{ros}7 27.61 deflsonme{l9epe bep9ishs}7 27.62 defproofnme{bep9odeixh}7 27.63 }
27.55 27.56
grdmonth dtegreek
he mro \dategreek rede(nes the ommnd \today to produe greek dtesF he nme of the month is now produed y the mro \gr@month sine it is needed in the de(nition of the mro \GrtodayF
defgrdmonth{7 ifsemonthor 27.66 snour9iouor perour9iouor wrt9iouor epril9iouor 27.67 w94iouor soun9iouor soul9iouor eugo9ustouor 27.68 eptemr9iouor yktwr9iouor xoemr9iouor hekemr9ioufi} 27.69 defdtegreek{7 27.70 deftody{numerdy spe grdmonthspe numeryer}}
27.64 27.65
grddgreek defgrddmonth{7 ifsemonthor bsnour9iouor 27.73 perour9iouor wrt9iouor bepril9iouor w49iouor 27.74 bsoun9iouor bsoul9iouor ebugo9ustouor eptemr9iouor 27.75 byktwr9iouor xoemr9iouor hekemr9ioufi}
27.71 27.72
IIR
qrtody
he mro \Grtoday produes the urrent dteD only tht the month nd the dy re shown s greek numerls insted of ri s it is usully the seF
extrsgreek noextrsgreek
he mro \extrasgreek will perform ll the extr de(nitions needed for the qreek lngugeF he mro \noextrasgreek is used to nel the tions of \extrasgreekF por the moment these mros swith the fontenoding used nd the de(nition of the internl mros \@alph nd \@Alph euse in qreek we do use the qreek numerlsF
ddtoextrsgreek{greektext} ddtonoextrsgreek{ltintext}
27.80 27.81
grdilldvlue
hen the rgument of \greeknumeral hs vlue outside of the eptle ounds @0 < x < 999999A wrning will e issued @nd nothing will e printedAF
defgrdilldvlue5I{7 kgerning{el}{sllegl vlue @5IA for greeknumerl}}
27.82 27.83
hen lrge numer with three trailing zero9s is to e printed those zeros and the numeri mrk need to e disrdedF es eh digit9 is proessed y seprte mro and euse the proessing needs to e expndle we need some helper mros tht help rememer to not print the numeri mrk @\anwtonosAF he ommnd \anw@false swithes the printing of the numeri mrk o' y mking \anw@print expnd to nothingF he ommnd \anw@true @reAenles the printing of the numeri mrF hese mro9s need to e roust in order to prevent improper expnsion during writing to (les or during \uppercaseF
greeknumerl
he ommnd \greeknumeral needs to e fully expndle in order to get the right informtion in uxiliry (lesF herefore we use ig \ifEonstrution to hek the vlue of the rgument nd strt the prsing t the right levelF
defgreeknumerl5I{7 ifnum5I`dnespegrdilldvlue{5I}7 else ifnum5I`IHexpndftergrdnumdinumer5I7 else ifnum5I`IHHexpndftergrdnumdiinumer5I7 else
27.89
e use the ville shorthnds for IFHHH @\@mA nd IHFHHH @\@MA to sve few tokensF
27.96 27.97 27.98
IIS
qreeknumerl
he ommnd \Greeknumeral prints upperse greek numerlsF he prsing is performed y the mro \greeknumeralF
defqreeknumerl5I{7 expndfterwkepperseexpndfter{greeknumerl{5I}}}
27.113 27.114
greekdlph greekdelph
sn the previous relese of this lnguge de(nition the ommnds \greek@aplh nd \greek@Alph were kept just for resons of omptiilityF rere gin they eome meningful mrosF hey re de(nited in wy tht even pge numering with greek numerls is possileF ine the mros \@alph nd \@Alph will lose their originl mening while the qreek option is tiveD we must sve their originl vlueF mros \@alph
letltindlphdlph letltindelphdelph
27.115 27.116
hen we de(ne the qreek versionsY the dditionl \expandafters re needed in order to mke sure the tle of ontents will e orretD eFgFD when we hve ppendixesF
27.117 27.118
defgreekdlph5I{expndftergreeknumerlexpndfter{the5I}} defgreekdelph5I{expndfterqreeknumerlexpndfter{the5I}}
greekdromn greekdomn
o prevent romn numerls eing typeset in greek letters we need to dopt the A internl v i ommnds \@roman nd \@RomanF Note that this may cause errors where roman ends up in a situation where it needs to be expanded;
IIT
greekdmp ltxdmp
A he greek fonts do not ontin n mpersndD so the v i ommnd \& dosn9t give the expeted result if we do not do something out itF
ht is left now is the de(nition of set of mros to produe the vrious digitsF
grdnumdi grdnumdii grdnumdiii
es there is no representtion for 0 in this system the zeros re simply disrdedF hen we hve lrge numer with three trailing zero9s lso the numeri mrk is disrdedF herefore these mros need to pss the informtion to eh other out the @nonEAtrnsltion of zeroF
defgrdnumdi5I{7 ifse5Ior or or gor dor eor stigmor zor hor jfi 27.141 ifnum5Iazdelsenwdtruefinwdprint} 27.142 defgrdnumdii5I{7 27.143 ifse5Ior ior kor lor mor nor xor oor por qoppfi 27.144 ifnum5Iazdelsenwdtruefigrdnumdi} 27.145 defgrdnumdiii5I{7 27.146 ifse5Ior ror svor tor uor for qor yor wor smpifi 27.147 ifnum5Iazdnwdflseelsenwdtruefigrdnumdii}
27.139 27.140
grdnumdiv he (rst three digits9 lwys hve the numeri mrkD exept when one is disrded grdnumdv euse it9s vlue is zeroF grdnumdvi 27.148 defgrdnumdiv5I{7 27.149 ifnum5Iazdelsektwtonosfi 27.150 ifse5Ior or or gor dor eor stigmor zor hor jfi 27.151 grdnumdiii} 27.152 defgrdnumdv5I{7 27.153 ifnum5Iazdelsektwtonosfi 27.154 ifse5Ior ior kor lor mor nor xor oor por qoppfi 27.155 grdnumdiv} 27.156 defgrdnumdvi5I{7 27.157 ktwtonos 27.158 ifse5Ior ror svor tor uor for qor yor wor smpifi 27.159 grdnumdv} greekdtilde
sn greek typesetting we need numer of hrters with more thn one entF sn the underlying fmily of fonts @the cb fontsA this is solved using unuth9s ligture mehnismF ghrters we need to hve ligtures with re the tildeD the ute nd grve ent hrtersD the rough nd smooth rethingsD the susriptD nd the doule quote hrterF sn text input the ~ is normly used to produe n unrekle speF he ommnd \~ normlly produes tilde entF por polytoni qreek we hnge the de(nition of \~ to produe the tilde hrter itselfD mking sure it hs tegory ode IPF IIU
egingroup difundefined{tivedhrstring3}{}{tode3aIPrelx} 27.162 tode~aIP 27.163 lode3a~ 27.164 lowerse{defx{endgroup 27.165 defgreekdtilde{3}}x} 27.166 ddtoextrspolutonikogreek{7 27.167 eldsve~let~greekdtilde}
27.160 27.161
sn order to get orret hyphention we need to set the lower se ode of numer of hrtersF he v9 hrter hs speil usge for the cb fontsX in ft this ligture mehnism detets the end of word nd ssures tht (nl sigm is typeset with the proper sign wih is di'erent from tht of n initil or medil sigmY the v 9fter n isolated sigm fools the ligture mehnism in order to typeset in ple of F feuse of this we mke sure its lowerse ode is not hngedF por modern greek we hve to del only with ' nd " nd so things re esyF
ddtoextrsgreek{7 eldsvevrile{lodev}lodevav7 27.170 eldsvevrile{lode9}lode9a97 27.171 eldsvevrile{lode4}lode4a4} 27.172 ddtoextrspolutonikogreek{7 27.173 eldsvevrile{lode`}lode`a`7 27.174 eldsvevrile{lodeb}lodebab7 27.175 eldsvevrile{lode~}lode~a~7 27.176 eldsvevrile{lode|}lode|a|7 27.177 eldsvevrile{lode}lodea}
27.168 27.169
end in order to get rid of ll ents nd rethings when string is \uppercased we lso hnge numer of upperse odesF
ddtoextrsgreek{7 eldsvevrile{uode4}uode4a47 27.180 eldsvevrile{uode9}uode9aISW} 77 ISW aa Wf 27.181 ddtoextrspolutonikogreek{7 27.182 eldsvevrile{uode~}uode~aISW7 27.183 eldsvevrile{uodeb}uodebaISW7 27.184 eldsvevrile{uode`}uode`aISW7 27.185 eldsvevrile{uode|}uode|a|7 27.186 eldsvevrile{uode}uodeaISW}
27.178 27.179
por this to work we mke the hrter ^^9f shorthnd tht expnds to nothingF sn order for this to work we need to mke hrter look like ^^9f in i9s eyesF he trik is to hve nother hrter nd ssign it di'erent lowerse odeF he exeute the mros needed in \lowercase environmentF sully the tile ~ hrter is used for suh purposesF fefore we do this we sve it9s originl lowerse ode to restore it one we9re doneF
dtempntalode~ lode~aISW 27.189 lowerse{7 27.190 inititedtivedhr{~}7 27.191 delredshorthnd{greek}{~}{}} 27.192 lode~adtempnt
27.187 27.188
IIV
e n lso mke the tilde hrter itself expnd to tilde with tegory ode IP to mke the typing of texts esierF
27.193 27.194
ddtoextrspolutonikogreek{lngugeshorthnds{greek}}7 delredshorthnd{greek}{~}{greekdtilde}
e now de(ne few symols whih re used in the typesetting of greek nuE merlsD s well s some other symols whih re usefullD suh s the symolD etF
helreextgommnd{nwtonos}{vq}{hr4pirelx} helreextgommnd{ktwtonos}{vq}{hr4pprelx} 27.197 helreextgommnd{qopp}{vq}{hr4IPrelx} 27.198 helreextgommnd{stigm}{vq}{hr4HTrelx} 27.199 helreextgommnd{smpi}{vq}{hr4Ifrelx} 27.200 helreextgommnd{higmm}{vq}{hr4gQrelx} 27.201 helreextgommnd{ddigmm}{vq}{hr4WQrelx} 27.202 helreextgommnd{vrdigmm}{vq}{hr4HUrelx} 27.203 helreextgommnd{euro}{vq}{hr4IVrelx} 27.204 helreextgommnd{permill}{vq}{hr4IWrelx}
27.195 27.196
ine the ~ nnot e used to produe n unrekle white spe we must rede(ne t lest the ommnds \fnum@figure nd \fnum@table so they do not produe ~ insted of white speF
27.205 27.206
7deffnumdfigure{figurenmenorekspethefigure} 7deffnumdtle{tlenmenorekspethetle}
he mro \ldf@finish tkes re of looking for on(gurtion (leD setting the min lnguge to e swithed on t \begin{document} nd resetting the tegory ode of @ to its originl vlueF
27.207 27.208
ldfdfinish{gurrentyption} /code
IIW
28
he (le frenchb.dtx24 D de(nes ll the lnguge de(nition mros for the prenh lngugeF gustomistion for the prenh lnguge is hieved following the ook vexique des rgles typogrphiques en usge l9smprimerie ntionle troisime dition @IWWRAD sfxEPEIIEHVIHUSEHF pirst version relesedX IFI @IWWTGHSGQIA s prt of babelEQFTetF frenchb hs een improved using helpful suggestions from mny peopleD minly from tques endrD wihel fovniD hierry fouheD nd inent tlyF hnks to ll of them3 A his new version @PFxA hs een designed to e used with v i P nd A lini formts onlyF v iEPFHW is no longer supportedF ghnges etween version IFT nd c re listed in susetion PVFR pF IPSF en extensive doumenttion is ville in prenh hereX http://daniel.flipo.free.fr/frenchb
PF the defult items in itemize environment re set to !9 insted of 9D nd ll vertil sping nd glue is deletedY it is possile to hnge !9 to something else @"9 for instneA using \frenchbsetup{}Y
A QF vertil sping in generl v i lists is shortenedY
RF footnotes re displyed l frniseF egrding lol typogrphyD the ommnd \selectlanguage{french} swithes to the prenh lnguge27 D with the following e'etsX IF prenh hyphention ptterns re mde tiveY
24 The le described in this section has version number ? and was last revised on ?. 25 Its name is kept in \bbl@main@language. 26 For each item, hooks are provided to reset standard L T X settings or to emulate the behavior A
of former versions of
27 \selectlanguage{francais}
frenchb
backward com-
IPH
PF doule puntution9 @: ; ! ?A is mde tive28 for orret sping in prenhY QF \today prints the dte in prenhY
A RF the ption nmes re trnslted into prenh @v i onlyAY
SF the spe fter \dots is removed in prenhF ome ommnds re provided in frenchb to mke typesetting esierX IF prenh quottion mrks n e entered using the ommnds \og nd \fg A whih work in v i P nd liniD their pperne depending on wht A is ville to drw themY even if you use v i P and T1EenodingD you should refrin from entering them s <<~French quotation marks~>>X \og nd \fg provide etter horizontl spingF \og nd \fg n e used outside prenhD they typeset then inglish quotes nd F PF e ommnd \up is provided to typeset supersripts like M\up{me} @reE vition for wdmeAD 1\up{er} @for premierAF yther ommnds re lso provided for ordinlsX \ierD \iereD \iersD \ieresD \iemeD \iemes @3\iemes prints Qes AF QF pmily nmes should e typeset in smll pitls nd never e hyphentedD the mro \bsc @oxed smll psA does thisD eFgFD Leslie~\bsc{Lamport} will produe veslie LamportF xote tht omposed nmes @suh s hupontE hurntA my now e hyphented on expliit hyphensD this di'ers from frenchb vFIFxF RF gommnds \primoD \secundoD \tertio nd \quarto print Io D Po D Qo D Ro F \FrenchEnumerate{6} prints To F SF erevitions for xumro@sA nd numro@sA @xo xos no nd nos A re otined vi the ommnds \NoD \NosD \noD \nosF TF wo ommnds re provided to typeset the symol for degrX \degre prints the rw hrter nd \degres should e used to typeset tempertures @eFgFD 20~\degres C with n unrekle speAD or for lohols9 strengths @eFgFD 45\degres with no spe in prenhAF UF sn mth mode the omm hs to e surrounded with res to void spurious spe eing inserted fter itD in deiml numers for instne @see the iook pF IQRAF he ommnd \DecimalMathComma mkes the omm e n ordinry hrter in French only @no spe ddedAY s ounterprtD if \DecimalMathComma is tiveD n expliit spe hs to e dded in lists nd intervlsX $[0,\ 1]$D $(x,\ y)$F \StandardMathComma swithes k to the stndrd ehviour of the ommF VF e ommnd \nombre ws provided in IFx versions to esily formt numers in slies of three digits seprted either y omm in inglish or with spe in prenhY \nombre is now mpped to \numprint from numprint.styD see numprint.pdf for more informtionF
28 Actually,
they are active in the whole document, only their expansions dier in French and outside French
IPI
WF frenchb hs een designed to tke dvntge of the xspace pkge if presentX dding \usepackage{xspace} in the premle will fore mros like \fgD \ierD \iemeD \dotsD F F F D to respet the spes you type fter themD for instne typing 1\ier juin9 will print Ier juin9 @no need for fored spe fter 1\ierAF
28.2 Customisation
p to version IFTD ustomistion of frenchb ws hieved y entering ommnds in frenchb.cfgF his possiility remins for omptiilityD ut should not longer be usedF ersion PFH introdues new ommnd \frenchbsetup{} using the keyval syntx whih should mke it esier to hoose mong the mny options villeF he ommnd \frenchbsetup{} is to pper in the premle only @fter loding babelAF
\frenchbsetup{ShowOptions} prints ll ville options to the .log (leD it is just ment s reminder of the list of o'ered optionsF es usul with keyval syntxD oolen options @s ShowOptionsA n e entered s ShowOptions=true or just ShowOptionsD the =true9 prt n e omittedF
he other options re listed elowF heir defult vlue is shown etween rketsD sometimes followed e *9F he *9 mens tht the defult shown pplies when frenchb is loded s the last option of babel "babel9s main language "D nd is toggled otherwiseX
StandardLayout=true [false*] fores frenchb not to interfere with the lyoutX no tion on ny kind of listsD (rst prgrphs of setions re not indented @s in inglishAD no tion on footnotesF his option reples the former ommnd \StandardLayoutF st n e used to void on)its with lsses or pkges whih ustomise lists or footnotesF GlobalLayoutFrench=false [true*] n e usedD when prenh is the min lngugeD to emulte wht prior versions of frenchb @preEPFPA didX listsD nd (rst prgrphs of setions will e displyed the stndrd wy in other lnE guges thn prenhD nd l frnise in prenhF xote tht the lyout of footnotes is lnguge independent nywy @see elow FrenchFootnotes nd AutoSpaceFootnotesAF his option reples the former ommnd \FrenchLayoutF ReduceListSpacing=false [true*]Y frenchb normlly redues the vlues of the vertil spes used in the environment list in prenhY setting this option to false reverts to the stndrd settings of listF his option reples the former ommnd \FrenchListSpacingfalseF CompactItemize=false [true*]Y frenchb normlly suppresses ny vertil spe etween items of itemize lists in prenhY setting this option to false reverts to the stndrd settings of itemize listsF his option reples the former ommnd \FrenchItemizeSpacingfalseF StandardItemLabels=true [false*] when set to true this option stops frenchb from hnging the lels in itemize lists in prenhF
IPP
ItemLabels=\textemdashD \textbulletD \ding{43}D F F F D [\textendash*]Y when StandardItemLabels=false @the defultAD this option enles to hoose the lel used in itemize lists for ll levelsF he next three opE tions do the sme ut eh one for one level onlyF xote tht the exmple \ding{43} requires \usepackage{pifont}F ItemLabeli=\textemdashD \textbulletD \ding{43}D F F F D[\textendash*] ItemLabelii=\textemdashD \textbulletD \ding{43}D F F F D [\textendash*] ItemLabeliii=\textemdashD \textbulletD \ding{43}D F F F D [\textendash*] ItemLabeliv=\textemdashD \textbulletD \ding{43}D F F F D [\textendash*] StandardLists=true [false*] forids frenchb to ustomise ny kind of listF ho tivte the option StandardLists when using lsses or pkE ges tht ustomise lists too @enumitemD paralistD F F F A to void onE )itsF his option is just shorthnd for ReduceListSpacing=false nd CompactItemize=false nd StandardItemLabels=trueF IndentFirst=false [true*]Y frenchb normlly fores indenttion of the (rst prgrph of setionsF hen this option is set to falseD the (rst prE grph of will look the sme in prenh nd in inglish @not indentedAF FrenchFootnotes=false [true*] reverts to the stndrd lyout of footE notesF fy defult frenchb typesets leding numers s IF 9 insted of 1 9D ut hs no e'et on footnotes numered with symols @s in the \thanks ommndAF he former ommnds \StandardFootnotes nd \FrenchFootnotes re still thereD \StandardFootnotes n e useful when some footnotes re numered with letters @inside minipges for instneAF AutoSpaceFootnotes=false [true*] Y y defult frenchb dds thin spe in the running text efore the numer or symol lling the footE noteF wking this option false reverts to the stndrd setting @no spe ddedAF FrenchSuperscripts=false [true] Y then \up=\textsuperscript @opE tion dded in version PFIAF hould only e mde false to reompile older doumentsF fy defult \up now relies on \fup designed to produe etter looking supersriptsF AutoSpacePunctuation=false [true]Y in prenhD the user should input spe efore the four hrters :;!?9 ut s mny people forget out it @even mong ntive prenh writers3AD the defult ehviour of frenchb is to utomtilly dd \thinspace efore ;9 !9 ?9 nd norml @unrekleA spe efore :9 @reommended y the prenh smprimerie ntionleAF his is onvenient in most ses ut n led to ddition of spurious spes in vs or in wEhy pthsF ghoosing AutoSpacePunctuation=false will ensure tht proper spe will e dded efore :;!?9 if and only if @normlA spe hs een typed inF hose who re unsure out their typing in this re should stik to the defult option nd type \string; \string: \string! \string? insted of ; : ! ? whenever no spe should e dded efore them @mostly in vs nd wEhy pthsAF
IPQ
ThinColonSpace=true [false] hnges the norml @unrekleA spe dded efore the olon X9 to thin speD so tht the sme mount of spe is dded efore ny of the four doule puntution hrtersF he defult setting is supported y the prenh smprimerie ntionleF LowercaseSuperscripts=false [true] Y y defult frenchb inhiits the uppersing of supersripts @for instne when they re moved to pge hedE ersAF wking this option false will disle this ehviour @not reomE mendedAF PartNameFull=false [true]Y when trueD frenchb numers the title of \part{} ommnds s remire prtieD heuxime prtie nd so onF ith some lsses whih hnge the\part{} ommnd @ew nd wp lsses do soAD you will get remire prtie sD heuxime prtie ss instedY when this oursD this option should e set to falseD prt titles will then e printed s rtie sD rtie ssF og=D fg=Y when guillemets hrters re ville on the keyord @through ompose key for instneAD it is nie to use them insted of typing \og nd \fgF his option tells frenchb whih hrters re opening nd losing prenh guillemets @they depend on the input enodingAD then you n type either guillemets D or guillemets @with or without spesAD to get properly typeset prenh quotesF his option requires inputenc to e loded with the proper enodingD it works with VEits enodings @ltinID ltinWD nsinewD pplemDF F F A nd multiEyte enodings @utfV nd utfVxAF
run the following (leD with the enoding suitle for your mhine @myencoding will e latin1 for unix mhinesD ansinew for gs running inE dowsD applemac or latin1 for wintoshsD or utf8F F F
%%% Test file for French hyphenation. \documentclass{article} \usepackage[my-encoding ]{inputenc} \usepackage[T1]{fontenc} % Use LM fonts \usepackage{lmodern} % for French \usepackage[frenchb]{babel} \begin{document} \showhyphens{signal container \'ev\'enement alg\`ebre} \showhyphens{signal container vnement algbre} \end{document}
hek the hyphentions proposed y i in your logE(leY in prenh you should get with oth UEit nd VEit enodings si-gnal contai-ner v-ne-ment al-gbreF ho not re out how ented hrters re displyed in the logE(leD wht mtters is the position of the -9 hyphen signs onlyF
IPR
sf they re ll orretD your instlltion @prolyA works (neD if one @or moreA is @reA wrongD sk lol wizrd to see wht9s going wrong nd perform the test gin @or eEmil me out wht hppensAF prequent mismthesX
you get sig-nal con-tainerD this proly mens tht the hyphention ptterns you re using re for EinglishD not for prenhY you get no hyphen t ll in v-ne-mentD this proly mens tht you re using gw fonts nd the mro \accent to produe ented hrE tersF sing VEits fonts with uiltEin ented hrters voids this kind of mismthF
Options' order ! lese rememer tht options re red in the order they pE per inside the \frenchbsetup ommndF omeone wishing tht frenchb leves the lyout of lists nd footnotes untouhed ut ring for indenttion of (rst prE grph of setions ould hoose \frenchbsetup{StandardLayout,IndentFirst} nd get the expeted lyoutF ghoosing \frenchbsetup{IndentFirst,StandardLayout} would not led to the expeted resultX option IndentFirst would e overwritten y StandardLayoutF
28.4 Changes
What's new in version 2.0?
rere is the list of ll hngesX
A A upport for v iEPFHW nd for v i P in omptiility mode hs een A droppedF his version is ment for v i P nd lin sed formts @like A bplainAF v i P formts sed on mli re no longer supported either @plenty of good VEits fonts re ville nowD so I enoding should e preferred for typesetting in prenhAF e wrning is issued when yI enoding is in use t the \begin{document}F
gustomistion should now e hndled y ommnd \frenchbsetup{}D frenchb.cfg @kept for omptiilityA should no longer e usedF ee seE tion PVFP for the list of ville optionsF gptions in (gures nd tle hve hnged in prenhX former revitions pigF nd F hve een repled y full nmes pigure nd leF sf this leds to formtting prolems in ptionsD you n dd the following two ommnds to your premle @fter loding babelA to get the former ptions \addto\captionsfrench{\def\figurename{{\scshape Fig.}}} \addto\captionsfrench{\def\tablename{{\scshape Tab.}}}F he \nombre ommnd is now provided y the numprint pkge whih hs to e loded after babel with the option autolanguage if numer formtting should depend on the urrent lngugeF he \bsc ommnd no longer uses n \hbox to stop hyphention of nmes ut \kern0pt instedF his hnge enles microtype to (ne tune the length of the rgument of \bscY s sideEe'etD ompound nmes like hupontEhurnd n now e hyphented on expliit hyphensF ou n get k to the former ehviour of \bsc y dding
IPS
29
defgurrentyption{frenh}
he mro \LdfInit tkes re of preventing tht this (le is loded more thn oneD heking the tegory ode of the @ signD etF
29.2
vdfsnitgurrentyptiondtefrenh
IPT
ifvee
A A xo support is provided for lte v iEPFHWX issue wrning nd exit if v iEPFHW is in useF lin is still supportedF 29.3 29.4
newififvee letldtemprelx 29.5 ifxmgnifitiondundefined 29.6 ifxdomptiilitytruedundefined 29.7 kgeirror{frenhFldf} 29.8 {veEPFHW formt is no longer supportedFwessgefrek 29.9 eorting here} 29.10 {lese upgrde to vePe3} 29.11 letldtempendinput 29.12 else 29.13 veetrue 29.14 fi 29.15 fi 29.16 ldtemp
ghek if hyphention ptterns for the prenh lnguge hve een loded in lngugeFdtY we llow for the nmes frenh9D frnis9D ndien9 or din9F he ltter two re oth nmes used in gnd for vrints of prenh tht re in use in tht ountryF
ifxldfrenhdundefined ifxldfrnisdundefined 29.19 ifxldndiendundefined 29.20 ifxlddindundefined 29.21 dnoptterns{prenh} 29.22 dddiletldfrenhH 29.23 else 29.24 letldfrenhlddin 29.25 fi 29.26 else 29.27 letldfrenhldndien 29.28 fi 29.29 else 29.30 letldfrenhldfrnis 29.31 fi 29.32 fi
29.17 29.18
xow \l@french is lwys de(nedF he internl nme for the prenh lnguge is frenchY francais nd frenchb re synonymous for frenchX (rst let oth nmes use the sme hyphention ptE ternsF vter we will hve to set lises for \captionsfrenchD \datefrenchD \extrasfrench nd \noextrasfrenchF es prenh uses the stndrd vlues of \lefthyphenmin @PA nd \righthyphenmin @QAD no speil setting is required hereF
ifxldfrnisdundefined letldfrnisldfrenh 29.35 fi 29.36 ifxldfrenhdundefined 29.37 letldfrenhldfrenh 29.38 fi
29.33 29.34
hen this lnguge de(nition (le ws loded for one of the gndin versions of prenh we need to mke sure tht suitle hyphention pttern register will e IPU
found y iF
his lnguge de(nition n e loded for di'erent vrints of the prenh lngugeF he key9 babel mros re only de(ned oneD using frenh9 s the lnguge nmeD ut frenchb nd francais re synonymousF
defdtefrnis{dtefrenh} defdtefrenh{dtefrenh} 29.47 defextrsfrnis{extrsfrenh} 29.48 defextrsfrenh{extrsfrenh} 29.49 defnoextrsfrnis{noextrsfrenh} 29.50 defnoextrsfrenh{noextrsfrenh}
29.45 29.46
extrsfrenh noextrsfrenh
he mro \extrasfrench will perform ll the extr de(nitions needed for the prenh lngugeF he mro \noextrasfrench is used to nel the tions of \extrasfrenchF sn prenhD hrterpostrophe is letter in expressions like l'ambulance @prenh hyphention ptterns provide entries for this kind of wordsAF his mens tht the \lccode of postrophe hs to e non null in prenh for proper hyphenE tion of those expressionsD nd hs to e reset to null when exiting prenhF
dnmedef{extrsgurrentyption}{lode9a9} dnmedef{noextrsgurrentyption}{lode9aH}
29.51 29.52
yne more thing \extrasfrench needs to do is to mke sure tht \frenchspacing is in e'etF \noextrasfrench will swith \frenchspacing o' ginF
29.53 29.54 29.55 29.56
29.2 Punctuation
es long s no etter solution is ville 29 D the doule puntution9 hrters @; ! ? nd :A hve to e mde \active for n utomti ontrol of the mount of spe to insert efore themF fefore doing soD we hve to sve the stndrd de(nition of \@makecaption @whih inludes two 9X9A to ompre it lter to its de(nition t the \begin{document}F
longdefhdmkeption5I5P{7 vskipoveptionskip 29.59 soxdtempox{5IX 5P}7 29.60 ifdim wddtempox bhsize 29.61 5IX 5Ppr 29.62 else 29.63 glol dminipgeflse 29.64 hdxtdhsize{hfiloxdtempoxhfil}7
29.57 29.58
29 LuaT
IPV
29.65 29.66
fi vskipelowptionskip}7
e de(ne new if9 \FBpunct@active whih will e mde flse whenever etter lterntive will e villeF he following ode mkes the four hrters ; ! ? nd : tive9 nd provides their de(nitionsF
newififpfpuntdtive pfpuntdtivetrue ifpfpuntdtive 29.69 inititedtivedhr{X} 29.70 inititedtivedhr{Y} 29.71 inititedtivedhr{3} 29.72 inititedtivedhr{c}
29.67 29.68
e (rst tune the mount of spe efore ; ! ? nd :F his should only hppen in horizontl modeD hene the test \ifhmodeF sn horizontl modeD if spe hs een typed efore Y9 we remove it nd put n unrekle \thinspace instedF sf no spe hs een typedD we dd \FDP@thinspace whih will e de(nedD up to the user9s wishesD s n utomti dded thin speD or s \@emptyF
29.73 29.74 29.75 29.76 29.77 29.78 29.79 29.80
delredshorthnd{frenh}{Y}{7 ifhmode ifdimlstskipbzd unskippenltydwthinspe else phdthinspe fi fi stringY} delredshorthnd{frenh}{3}{7 ifhmode ifdimlstskipbzd unskippenltydwthinspe else phdthinspe fi fi string3} delredshorthnd{frenh}{c}{7 ifhmode ifdimlstskipbzd unskippenltydwthinspe else phdthinspe fi fi stringc}
eording to the sFxF spei(tionsD the X9 requires norml spe efore itD ut some people prefer \thinspace @just like the other threeAF e de(ne \Fcolonspace to hold the required mount of spe @user ustomisleAF
29.100
newommndB{polonspe}{spe}
IPW
eutopefeforeph xoeutopefeforeph
\FDP@thinspace nd \FDP@space re de(ned s unrekle spes y \AutoSpaceBeforeFDP or s \@empty y \NoAutoSpaceBeforeFDPF hefult is \AutoSpaceBeforeFDPF
defeutopefeforeph{7 defphdthinspe{penltydwthinspe}7 defphdolonspe{penltydwpolonspe}} defxoeutopefeforeph{letphdthinspedempty letphdolonspedempty} eutopefeforeph
hen the tive hrters pper in n environment where their prenh eE hviour is not wnted they should give n expeted9 resultF herefore we de(ne shorthnds t system level s wellF
29.116 29.117 29.118 29.119
hese hrters re turned on9 oneD lter their de(nition my vryF hon9t misunderstnd the following odeX they keep eing tive ll long the doumentD even when leving prenhF
29.122 29.123 29.124 29.125
ldtivte{X}ldtivte{Y}7 ldtivte{3}ldtivte{c}7
he top mros for quottion mrks will e lled \og @ouvrez guillemetsA nd \fg @fermez guillemetsAF enother option for typesetting quotes in multilingul texts is to use the pkge csquotes.sty nd its ommnd \enquoteF
newommndB{og}{dempty} newommndB{fg}{dempty}
29.129 29.130
guillemotleft guillemotright
A v i users re supposed to use VEit output enodings @ID vIDF F F A to typeset prenhD those who still stik to yI should ll aeguill.sty or similr pkgeF
IQH
sn oth ses the ommnds \guillemotleft nd \guillemotright will print the prenh opening nd losing quote hrters from the output fontF por eveD \guillemotleft nd \guillemotright re de(ned y pkge xunicode.styF e will hek etfeginhoument9 tht the proper output enodings re in use @see end of setion PWFIQAF e give the following de(nitions for lin users only s @poorA fllEkD they re welome to hnge them for nything etterF
ifvee else 29.133 ifxguillemotleftdundefined 29.134 defguillemotleft{levevmoderiseHFPSex 29.135 hox{6sriptsriptstylell6}} 29.136 fi 29.137 ifxguillemotrightdundefined 29.138 defguillemotright{riseHFPSex 29.139 hox{6sriptsriptstylegg6}} 29.140 fi 29.141 letxsperelx 29.142 fi
29.131 29.132
he next step is to provide orret sping fter \guillemotleft nd eE fore \guillemotrightX spe preedes nd follows quottion mrks ut no line rek is llowed neither after the opening oneD nor before the losing oneF \FBguill@spacing whih does the spingD hs een (ne tuned y hierry fouheF prenh quotes @inluding spingA re printed y \FB@og nd \FB@fgD the expnsion of the top level ommnds \og nd \og is di'erent in nd outside prenhF e9ll try to e smrt to users of hvid grlisle9s xspace pkgeX if this pkge is loded there will e no need for {} or \ to get spe fter \fgD otherwise \xspace will e de(ned s \relax @done t the end of this (leAF
newommndB{pfguilldsping}{penltydwhskipFVfontdimenPfont plusFQfontdimenQfont 29.145 minusFVfontdimenRfont} 29.146 helreoustgommndB{pfdog}{levevmode 29.147 guillemotleftpfguilldsping} 29.148 helreoustgommndB{pfdfg}{ifdimlstskipbzdunskipfi 29.149 pfguilldspingguillemotrightxspe}
29.143 29.144
he top level de(nitions for prenh quottion mrks re swithed on nd o' through the \extrasfrench \noextrasfrench mehnismF yutside prenhD \og nd \fg will typeset stndrd inglish opening nd losing doule quotesF
ifvee defldfrenhguillemets{renewommndB{og}{pfdog}7 29.152 renewommndB{fg}{pfdfg}} 29.153 defldnonfrenhguillemets{renewommndB{og}{textquotedlleft}7 29.154 renewommndB{fg}{ifdimlstskipbzdunskipfi 29.155 textquotedlright}} 29.156 else 29.157 defldfrenhguillemets{letogpfdog 29.158 letfgpfdfg} 29.159 defldnonfrenhguillemets{defog{}7 29.160 deffg{ifdimlstskipbzdunskipfi 99}} 29.161 fi
29.150 29.151
IQI
dnmedef{dtegurrentyption}{7 deftody{{numerdy}ifnumIady {ier}fi spe 29.168 ifsemonth 29.169 or jnvieror f9evrieror mrsor vrilor mior juinor 29.170 juilletor outor septemreor otoreor novemreor 29.171 d9eemrefi 29.172 spe numeryer}}
29.166 29.167
\up eses the typesetting of supersripts like Ier 9F p to version PFH of frenchb A \up ws just shortut for \textsuperscript in v i P D ut severl users omE plined tht \textsuperscript typesets supersripts too high nd too igD so we now de(ne \fup s n ttempt to produe etter looking supersriptsF \up is deE (ned s \fup ut n e rede(ned y \frenchbsetup{FrenchSuperscripts=false} s \textsuperscript for omptiility with previous versionsF hen font hs uiltEin supersriptsD the est thing to do is to just use themD otherwise \fup hs to simulte supersripts y sling nd rising ordinry lettersF ling is done using pkge scalefnt whih will e loded t the end of babel9s loding @frenchb eing n option of elD it nnot lod pkge while eing redAF
\FB@up@fake holds the de(nition of fke supersriptsF he sling rtio is HFTSD rising is omputed to put the top of lower se letters @like m9A just under the top of upper se letters @like w9AD preisely IP7 downF he hosen settings look orret for most fontsD ut n e tuned y the endEuser if neessry y hnging \FBsupR nd \FBsupS ommndsF \FB@lc is de(ned s \lowercase to inhiit the uppersing of supersripts @this my hppen in pge heders with the stndrd lsses ut is wrongAY \FB@lc n e rede(ned to do nothing y option LowercaseSuperscripts=false of \frenchbsetup{}F
29.177 29.178 29.179 29.180 29.181 29.182 29.183
IQP
29.184 29.185
riseox{pfdwht}{slefont{pfsup}{pfdl{5I}}}7 }
he only pkges s urrently know to tke dvntge of rel supersripts re A xltxtra used in onjuntion with eve nd ypenype fonts hving the font feture 9ertilositionauperior9 @xltxtra de(nes \realsuperscript nd \fakesuperscriptA nd A fourier @from version IFTA when ixpert topi fonts re villeF \FB@up heks whether the urrent font is ypeI ixpert9 @or ro9A font with rel supersripts or not @the ode works urrently only with fourier-1.6 ut ould work with ny ixpert ypeI font with uiltEin supersriptsD see elowAD nd deides to use rel or fke supersriptsF st works s followsX the ontent of \f@family @fmily nme of the urrent fontA is split y \FB@split into two pieesD the (rst three hrters @fut9 for pourierD ppl9 for edoe9s ltinoD F F F A stored in \FB@firstthree nd the rest stored in \FB@suffix whih is expeted to e x9 or j9 for expert fontsF
29.186 29.187 29.188 29.189 29.190 29.191 29.192
hen \FB@up looks for .fd (le nmed t1fut-sup.fd @pourierA or t1ppl-sup.fd @ltinoAD etF supposed to de(ne the sufmily @fut-sup or ppl-supD etFA giving ess to the uiltEin supersriptsF sf the .fd (le is not found y \IfFileExistsD \FB@up flls k on fke supersriptsD otherwise \FB@suffix is heked to deide whether to use fke or rel supersriptsF
29.193 29.194 29.195 29.196 29.197 29.198 29.199 29.200 29.201 29.202
edefreservedd{lowerse{7 noexpndsfpileixists{fdenodingpfdfirstthree EsupFfd}}}7 reservedd {ifxpfdsuffixpfdx pfdpoormnflsefi ifxpfdsuffixpfdj pfdpoormnflsefi ifpfdpoormn pfdupdfke{5I}7 else pfdupdrel{5I}7 fi}7 {pfdupdfke{5I}}7 egroup}
\FB@up@real just piks up the supersripts from the sufmily @nd fores lowerE seAF
29.203 29.204
\fup is now de(ned s \FB@up unless \realsuperscript is de(ned @ours with eve lling xltxtra.styAF
29.205 29.206 29.207 29.208 29.209
IQQ
A oor mn9s de(nition of \up for linF sn v i P D \up will e de(ned s \fup or \textsuperscript lter on while proessing the options of \frenchbsetup{}F
ieme ome hndy mros for those who don9t know how to revite ordinlsX ier 29.214 defieme{up{lowerse{e}}xspe} iere 29.215 defiemes{up{lowerse{es}}xspe} 29.216 defier{up{lowerse{er}}xspe} iemes 29.217 defiers{up{lowerse{ers}}xspe} iers 29.218 defiere{up{lowerse{re}}xspe} ieres 29.219 defieres{up{lowerse{res}}xspe} xo end some more mros relying on \up for numeringD (rst two support mrosF no 29.220 newommndB{prenhinumerte}I{7 xos 29.221 5Iup{lowerse{o}}kernCFQem} 29.222 newommndB{prenhopulrinumerte}I{7 nos 29.223 5Iup{lowerse{o}}AkernCFQem} primo fprimoA yping \primo should result in 1o 9D defprimo{prenhinumerteI} defseundo{prenhinumerteP} 29.226 deftertio{prenhinumerteQ} 29.227 defqurto{prenhinumerteR}
29.224 29.225
es fmily nmes should e written in smll pitls nd never e hyphentedD we provide ommnd @its nme omes from foxed mll gpsA to input them esilyF xote tht this ommnd hs hnged with version P of frenchbX \kern0pt is used insted of \hbox euse \hbox would rek mirotype9s font expnsionY s @positivecA side e'etD omposed nmes @suh s hupontEhurndA n now e hyphented on expliit hyphensF sgeX Jean~\bsc{Duchemin}F
ome de(nitions for speil hrtersF e won9t de(ne \tilde s ext ymol not to on)it with the mro \tilde for mth mode nd use the nme \tild instedF xote tht \boi my not e used in mth modeD its nme in mth mode is \backslashF \degre n e essed y the ommnd \r{} for ring entF IQR
ifvee helreextymol{t}{I}{TR} 29.241 helreextymol{ironflexe}{I}{WR} 29.242 helreextymol{tild}{I}{IPT} 29.243 helreextymolhefult{t}{I} 29.244 helreextymolhefult{ironflexe}{I} 29.245 helreextymolhefult{tild}{I} 29.246 helreoustgommndB{oi}{textkslsh} 29.247 helreoustgommndB{degre}{r{}} 29.248 else 29.249 defdone{I} 29.250 ifxfdenodingdone 29.251 newommndB{degre}{hrT} 29.252 else 29.253 newommndB{degre}{hrPQ} 29.254 fi 29.255 newommndB{t}{hrTR} 29.256 newommndB{ironflexe}{hrWR} 29.257 newommndB{tild}{hrIPT} 29.258 newommndB{oi}{6kslsh6} 29.259 fi
29.239 29.240
degres
e now de(ne mro \degres for typesetting the revition for degrees9 @s in degrees gelsius9AF es the ounding ox of the hrter degree9 hs very di'erent widths in gwGig nd ostript fontsD we (x the width of the ounding ox of \degres to HFQ emD this lets the symol degree9 stik to the preeding @eFgFD 45\degresA or following hrter @eFgFD 20~\degres CAF sf the i gompnion fonts re ville @textcomp.styAD we pik up \textdegree from them insted of using emulting degrees9 from the \r{} entF ytherwise we overwrite the @poorA de(nition of \textdegree given in latin1.defD applemac.def etF @lled y inputenc.styA y our de(nition of \degresF e lso dvie the user @one onlyA to use IEenodingF
ifvee newommndB{degres}{degre} 29.262 defrningddegreedone{7 29.263 kgerning{frenhFldf}{7 29.264 hegrees would look etter in IEenodingX 29.265 wessgefrek dd protet 29.266 usepkge{textomp} to the premleF 29.267 wessgefrek hegrees used}} 29.268 etfeginhoument{expndfterifxsnme wdIendsnmerelx 29.269 helreoustgommndB{degres}{7 29.270 levevmodehox to HFQem{hssdegrehss}7 29.271 rningddegreedone 29.272 glolletrningddegreedonerelx}7 29.273 lettextdegreedegres 29.274 else 29.275 helreoustgommndB{degres}{7 29.276 hox{seextymol{I}{textdegree}}}7 29.277 fi} 29.278 else 29.279 newommndB{degres}{7 29.280 levevmodehox to HFQem{hssdegrehss}}
29.260 29.261
IQS
29.281
fi
es mentioned in the iook pF IQRD the omm is of type \mathpunct in mth modeX it is utomtilly followed y speF his is onvenient in lists nd intervls ut unplesnt when the omm is used s deiml seprtor in prenhX it hs to e entered s {,}F \DecimalMathComma mkes the omm e n ordinry hrter @of type \mathordA in prenh only @no spe ddedAY \StandardMathComma swithes k to the stndrd ehviour of the ommF
newountstddm newountdedm 29.284 stddmamthodeD 29.285 dedmastddm 29.286 dtempntastddm 29.287 dividedtempnt y 4IHHH 29.288 multiplydtempnt y 4IHHH 29.289 dvnededm y Edtempnt 29.290 newommndB{heimlwthgomm}{iflnguge{frenh}7 29.291 {mthodeDadedm}{}7 29.292 ddtoextrsfrenh{mthodeDadedm}} 29.293 newommndB{tndrdwthgomm}{mthodeDastddm 29.294 ddtoextrsfrenh{mthodeDastddm}} 29.295 expndfterddtosnme noextrsgurrentyptionendsnme{7 29.296 mthodeDastddm}
29.282 29.283
nomre
A he ommnd \nombre is now orrowed from numprint.sty for v i P F here is no point to mintin the former triky ode when pkge is dedited to do the sme jo nd moreF por lin sed formtsD \nombre no longer formts numersD it prints them s is nd issues wrning out the hngeF pke ommnd \nombre for lin sed formtsD wrning users of frenchb vFIFxF of the hngeF
29.297 29.298
A he next de(nitions only mke sense for v i P F vet9s lenup nd exit if the formt in lin sedF
letpfstopdhererelx defpflendondexit{letifveedundefined 29.301 letveetruedundefined 29.302 letveeflsedundefined} 29.303 ifxmgnifitiondundefined 29.304 else 29.305 defpfstopdhere{lethdmkeptionrelx 29.306 pflendondexit 29.307 ldfdquitgurrentyptionendinput} 29.308 fi 29.309 pfstopdhere
29.299 29.300 A A ht follows now is for v i P onlyF e rede(ne \nombre for v i P F e wrning is issued t the (rst ll of \nombre if \numprint is not de(nedD suggestE ing wht to doF he pkge numprint is not loded utomtilly y frenchb euse of possile options on)itF
IQT
renewommndB{nomre}I{rningdnomrenumprint{5I}} newommndB{rningdnomre}{7 29.312 difundefined{numprint}7 29.313 {kgerning{frenhFldf}{7 29.314 protetnomrespe now relies on pkge numprintFstyD 29.315 wessgefrek dd protet 29.316 usepkgeutolnguge{numprint}wessgefrek 29.317 to your premle BfterB loding elD wessgefrek 29.318 see file numprintFpdf for other optionsFwessgefrek 29.319 protetnomrespe lled}7 29.320 glolletrningdnomrerelx 29.321 glolletnumprintrelx 29.322 }{}7 29.323 }
29.310 29.311
newommndB{hinpesnprenhxumers}{7 kgerning{frenhFldf}{7 29.326 ype protetfrenhsetup{hinpesnprenhxumers} 29.327 wessgefrek gommnd protethinpesnprenhxumersspe 29.328 is no longerwessgefrek defined in frenh vFPD}}
29.324 29.325
ptionsfrenh
vet9s (rst de(ne \captionsfrench whih sets ll strings used in the four stndrd A doument lsses provided with v iF
dnmedef{ptionsgurrentyption}{7 defrefnme{9ef9erenes}7 29.331 defstrtnme{9esum9e}7 29.332 definme{filiogrphie}7 29.333 defprefenme{r9efe}7 29.334 defhpternme{ghpitre}7 29.335 defppendixnme{ennexe}7 29.336 defontentsnme{le des mtieres}7 29.337 deflistfigurenme{le des figures}7 29.338 deflisttlenme{viste des tleux}7 29.339 defindexnme{sndex}7 29.340 deffigurenme{{sshpe pigure}}7 29.341 deftlenme{{sshpe le}}7
29.329 29.330
defprtnme{protetdppt prtie}7 defdppt{{ifsevlue{prt}or remiereor heuxiemeor roisiemeor utriemeor ginquiemeor ixiemeor eptiemeor ruitiemeor xeuviemeor hixiemeor ynziemeor houziemeor reiziemeor utorziemeor uinziemeor eiziemeor hixEseptiemeor hixEhuitiemeor hixEneuviemeor ingtiemefi}spedeftheprt{}}7 defpgenme{pge}7 defseenme{{emph{voir}}}7 deflsonme{{emph{voir ussi}}}7 defenlnme{F~tF }7
IQU
es some users who hoose frenchb or francais s option of babelD might ustomise \captionsfrenchb or \captionsfrancais in the premleD we merge their hnges t the \begin{document} when they do soF he other vrints of prenh @ndienD dinA re de(ned y heking if the relevnt option ws used nd then dding one extr level of expnsionF
etfeginhoument{letptionsdprenhptionsfrenh difundefined{ptionsfrenh}7 29.360 {letptionsdprenhrelx}7 29.361 {letptionsdprenhptionsfrenh}7 29.362 difundefined{ptionsfrnis}7 29.363 {letptionsdprnisrelx}7 29.364 {letptionsdprnisptionsfrnis}7 29.365 defptionsfrenh{ptionsdprenh 29.366 ptionsdprnisptionsdprenh}7 29.367 defptionsfrnis{ptionsfrenh}7 29.368 defptionsfrenh{ptionsfrenh}7 29.369 iflnguge{frenh}{ptionsfrenh}{}7 29.370 } 29.371 difpkgewith{el}{ndien}{7 29.372 defptionsndien{ptionsfrenh}7 29.373 defdtendien{dtefrenh}7 29.374 defextrsndien{extrsfrenh}7 29.375 defnoextrsndien{noextrsfrenh}7 29.376 }{} 29.377 difpkgewith{el}{din}{7 29.378 defptionsdin{ptionsfrenh}7 29.379 defdtedin{dtefrenh}7 29.380 defextrsdin{extrsfrenh}7 29.381 defnoextrsdin{noextrsfrenh}7 29.382 }{}
29.358 29.359
gptioneprtor
vet9s onsider now ptions in (gures nd tlesF sn prenhD ptions in (gures nd tles should e printed with endsh @!9A insted of the stndrd X9F he stndrd de(nition of \@makecaption @eFgFD the one provided in rtileFlsD A reportFlsD ookFls whih is frozen for v i P ording to prnk wittelhAD hs een sved in \STD@makecaption efore mking X9 tive @see setion PWFPAF etfeginhoument9 we ompre it to its urrent de(nition @some lsses like komEsript lssesD ew lssesD uEthesisFlsF F F hnge itAF sf they re idenE tilD frenchb just dds hook lled \CaptionSeparator to \@makecaptionD \CaptionSeparator defults to X 9 s in the stndrd \@makecaptionD nd will e hnged to ! 9 in prenhF sf the de(nitions di'erD frenchb doesn9t overwrite the hngesD ut prints messge in the Flog (leF
IQV
ifdim wddtempox bhsize 5Igptioneprtor 5Ppr 29.389 else 29.390 glol dminipgeflse 29.391 hdxtdhsize{hfiloxdtempoxhfil}7 29.392 fi 29.393 vskipelowptionskip} 29.394 etfeginhoument{7 29.395 ifxdmkeptionhdmkeption 29.396 glolletdmkeptionpfdmkeption 29.397 else 29.398 difundefined{dmkeption}{}7 29.399 {kgerning{frenhFldf}7 29.400 {he definition of protetdmkeptionspe 29.401 hs een hngedDwessgefrek 29.402 frenh will xy ustomise itYwessgefrek reported}7 29.403 }7 29.404 fi 29.405 letpfdmkeptionrelx 29.406 lethdmkeptionrelx 29.407 } 29.408 expndfterddtosnme extrsgurrentyptionendsnme{7 29.409 defgptioneprtor{spetextendshspe}} 29.410 expndfterddtosnme noextrsgurrentyptionendsnme{7 29.411 defgptioneprtor{stringXspe}}
29.387 29.388
ertil sping in generl lists should e shorter in prenh texts thn the defults A provided y v iF xote tht the esy wyD just hnging vlues of vertil sping prmeters when entering prenh nd restoring them to their defults on exit would not workY s most lists re sed on \list we will de(ne vrint of \list @\listFBA to e used in prenhF he mount of vertil spe efore nd fter list is given y \topsep C \parskip @C \partopsep if the list strts new prgrphAF swryD \parskip should e dded only when the list strts new prgrphD so s sutrt \parskip from \topsep nd dd it k to \partopsepY this will normlly mke no di'erene euse \parskip9s defult vlue is HptD ut will e notiele when \parskip is not nullF \endlist is not rede(nedD ut \endlistORI is provided for the users who prefer to de(ne their own lists from the originl ommndD they n odeX \begin{listORI}{}{} \end{listORI}F
letlistyslist letendlistysendlist 29.414 defpfdlistsettings{7 29.415 setlength{itemsep}{HFRex plus HFPex minus HFPex}7 29.416 setlength{prsep}{HFRex plus HFPex minus HFPex}7 29.417 setlength{topsep}{HFVex plus HFRex minus HFRex}7 29.418 setlength{prtopsep}{HFRex plus HFPex minus HFPex}7
29.412 29.413
\parskip is of type skip9D its men vlue only @not the glue A should e sutrted from \topsep nd dded to \partopsepD so onvert \parskip to dimen9 using \@tempdimaF
IQW
29.419
vet9s now onsider prenh itemize listsF hey di'er from those provided y the A stndrd v i P lssesX
vertil sping etween itemsD efore nd fter the listD should e null with no glue ddedY the item lels of (rst level list should e vertilly ligned on the prE grph9s (rst hrter @iFeF t \parindent from the left mrginAY the 9 is never used in prenh itemizeElistsD long dsh !9 is preferred for ll levelsF he item lel used in prenh is stored in \FrenchLabelItem}D it deE fults to !9 nd n e hnged using \frenchbsetup{} @see setion PWFIQAF
\bbl@frenchlabelitems sves urrent itemize lels nd hnges them to their vlue in prenhF his ode should never e exeuted twie in rowD so we need new )g tht will e set nd reset y \bbl@nonfrenchlabelitems nd \bbl@frenchlabelitemsF
newififpfdenterprenh pfdenterprenhtrue defldfrenhlelitems{7 29.431 ifpfdenterprenh 29.432 letdltiyslelitemi 29.433 letdltiiyslelitemii 29.434 letdltiiiyslelitemiii 29.435 letdltivyslelitemiv 29.436 letlelitemiprlelitemi 29.437 letlelitemiiprlelitemii 29.438 letlelitemiiiprlelitemiii 29.439 letlelitemivprlelitemiv 29.440 pfdenterprenhflse 29.441 fi 29.442 } 29.443 letitemizeysitemize 29.444 letenditemizeysenditemize 29.445 letenditemizepfenditemize 29.446 defitemizepf{7 29.447 ifnum ditemdepth bthrdddtoodeepelse 29.448 dvneditemdepthdne 29.449 edefditemitem{lelitemromnnumerltheditemdepth}7 29.450 expndfter 29.451 listys 29.452 snmeditemitemendsnme 29.453 {settowidth{lelwidth}{snmeditemitemendsnme}7 29.454 setlength{leftmrgin}{lelwidth}7
29.429 29.430
IRH
29.455 29.456 29.457 29.458 29.459 29.460 29.461 29.462 29.463 29.464
\parskip is of type skip9D its men vlue only @not the glue A should e sutrted from \topsep nd dded to \partopsepD so onvert \parskip to dimen9 using \@tempdimaF
29.465 29.466 29.467 29.468
he user9s hnges in lelitems re sved when leving prenh for further use when swithing k to prenhF his ode should never e exeuted twie in row @toggle with \bbl@frenchlabelitemsAF
defldnonfrenhlelitems{7 ifpfdenterprenh 29.471 else 29.472 letprlelitemilelitemi 29.473 letprlelitemiilelitemii 29.474 letprlelitemiiilelitemiii 29.475 letprlelitemivlelitemiv 29.476 letlelitemidltiys 29.477 letlelitemiidltiiys 29.478 letlelitemiiidltiiiys 29.479 letlelitemivdltivys 29.480 pfdenterprenhtrue 29.481 fi 29.482 }
29.469 29.470
sn prenh the (rst prgrph of eh setion should e indentedD this is nother di'erene with EinglishF
IRI
he lyout of footnotes is ontrolled y two )gs \ifFBAutoSpaceFootnotes nd \ifFBFrenchFootnotes whih re set y options of \frenchbsetup{} @see setion PWFIQAF xotie tht the lyout of footnotes does not depend on the urrent lnguge @just think of two footnotes on the sme pge looking di'erent euse one ws lled in prenh prtD the other one in inglish3AF hen \ifFBAutoSpaceFootnotes is trueD \@footnotemark @whose de(nition is sved t the \begin{document} in order to inlude ny ustomistion tht pkges might hve doneA is rede(ned to dd thin spe efore the numer or symol lling footnote @ny spe typed in is removed (rstAF his hs no e'et on the lyout of the footnote itselfF
etfeginhoument{difpkgeloded{igfoot}7 {kgerning{frenhFldf}7 29.490 {igfoot pkge in useFwessgefrek 29.491 frenh will xy ustomise footnotesYwessgefrek 29.492 reported}}7 29.493 {letdfootnotemrkysdfootnotemrk 29.494 defdfootnotemrkpf{levevmodeunskipunkern 29.495 Ddfootnotemrkys}7 29.496 ifpfeutopepootnotes 29.497 letdfootnotemrkdfootnotemrkpf 29.498 fi}7 29.499 }
29.488 29.489
e then de(ne \@makefntextFBD vrint of \@makefntext whih is responsiE le for the lyout of footnotesD to mth the spei(tions of the prenh smprimerie xtionle9X footnotes will e indented y \parindentFFND numers @if nyA typeE set on the seline @insted of supersriptsA nd followed y dot nd n hlf qud speF henever symols re used to numer footnotes @s in \thanks for instneAD we swith k to the stndrd lyout @the prenh lyout of footnotes is ment for footnotes numered y eri or omn digitsAF he vlue of \parindentFFN will e rede(ned t the \begin{document}D s the mximum of \parindent nd IFSem unless it hs een set in the premle @the weird vlue IHin is just for testing whether \parindentFFN hs een set or notAF
newdimenprindentppx prindentppxaIHin 29.502 defftnssymol{dfnsymoldfootnote} 29.503 longdefdmkefntextpf5I{ifxthefootnoteftnssymol 29.504 dmkefntextys{5I}7 29.505 else 29.506 prindentaprindentppx 29.507 rulezdfootnotesep 29.508 setoxdtempoxhox{dthefnmrk}7 29.509 ifdimwddtempoxbzd 29.510 llp{dthefnmrk}FkernFSem 29.511 fi 5I 29.512 fi}7
29.500 29.501
e sve the stndrd de(nition of \@makefntext t the \begin{document}D nd then rede(ne \@makefntext ording to the vlue of )g \ifFBFrenchFootnotes @true or flseAF
29.513
etfeginhoument{difpkgeloded{igfoot}{}7
IRP
29.514 29.515 29.516 29.517 29.518 29.519 29.520 29.521 29.522 29.523 29.524 29.525 29.526 29.527
{ifdimprindentppx`IHin else prindentppxaprindent ifdimprindentppx`IFSemprindentppxaIFSemfi fi letdmkefntextysdmkefntext longdefdmkefntext5I{7 ifpfprenhpootnotes dmkefntextpf{5I}7 else dmkefntextys{5I}7 fi}7 }7
por omptiility resonsD we provide de(nitions for the ommnds deling with the lyout of footnotes in frenchb version IFTF \frenchbsetup{} @see in seE tion PWFIQA should e preferred for setting these optionsF \StandardFootnotes my still e used lolly @in minipges for instneAD tht9s why the test \ifFBFrenchFootnotes is done inside \@makefntextF
newommndB{eddhinpefeforepootnotes}{pfeutopepootnotestrue} newommndB{prenhpootnotes}{pfprenhpootnotestrue} 29.530 newommndB{tndrdpootnotes}{pfprenhpootnotesflse}
29.528 29.529
he former ommnds \FrenchLayout nd \StandardLayout re kept for omE ptiility resons ut should no longer e usedF
newommndB{prenhvyout}{7 pfqlolvyoutprenhtrue 29.533 kgerning{frenhFldf}7 29.534 {protetprenhvyoutspe is osoleteF lese usewessgefrek 29.535 protetfrenhsetup{qlolvyoutprenh} instedF}7 29.536 } 29.537 newommndB{tndrdvyout}{7 29.538 pfeduevistpingflse 29.539 pfgomptstemizeflse 29.540 pftndrdstemvelstrue 29.541 pfsndentpirstflse 29.542 pfprenhpootnotesflse 29.543 pfeutopepootnotesflse 29.544 kgerning{frenhFldf}7
29.531 29.532
IRQ
29.12 Dots. . .
pftextellipsis
A v i P 9s stndrd de(nition of \dots in textEmode is \textellipsis whih inludes \kern t the endY this spe is not wnted in some ses @efore losing re for instneA nd \kern reks hyphention of the next wordF e A de(ne \FBtextellipsis for prenh @in v i P onlyAF A he \if onstrution in the v i P de(nition of \dots doesn9t llow the use A of xspace @xspace is lwys followed y \fiAD so we use the ewEv i onE strution of \dotsY this hs to e done etfeginhoument9 not to e overwritten when amsmath.sty is loded fter babelF vI hs redy mde hrter for \textellipsisD it should e used in prenh too @pointed out y fruno oisinAF
\Mdots@ nd \Tdots@ORI hold the de(nitions of \dots in wth nd ext modeF A hey defult to those of msmthEPFHD nd will revert to stndrd v i de(nitions etfeginhoument9D if msmth hs not een lodedF \Mdots@ doesn9t hnge when swithing fromGto prenhD while \Tdots@ is \FBtextellipsis in prenh nd \Tdots@ORI otherwiseF
newommndB{dotsdys}{dxptextellipsis} newommndB{dotsd}{dotsdys} 29.555 newommndB{wdotsd}{dxpmdotsd} 29.556 etfeginhoument{helreoustgommndB{dots}{relx 29.557 snmeifmmode welse fi dotsdendsnme}7 29.558 difundefined{dxp}{letdxprelx}{}7 29.559 difundefined{mdotsd}{letdotsdystextellipsis 29.560 letwdotsdmthellipsis}{}} 29.561 defldfrenhdots{letdotsdpftextellipsis} 29.562 defldnonfrenhdots{letdotsddotsdys} 29.563 expndfterddtosnme extrsgurrentyptionendsnme{7 29.564 ldfrenhdots} 29.565 expndfterddtosnme noextrsgurrentyptionendsnme{7 29.566 ldnonfrenhdots}
29.553 29.554
IRR
newififpfprenhpootnotes newififpfeutopepootnotes 29.576 newififpfeutopeuntution 29.577 newififpfhingolonpe 29.578 newififpfhinpesnprenhxumers 29.579 newififpfprenhupersripts 29.580 newififpfvowerseupersripts 29.581 newififpfrtxmepull 29.582 newififpfhowyptions
29.574 29.575
he defults vlues of these )gs hve een set so tht frenchb does not hnge nything regrding the glol lyoutF \bbl@main@language @set y the lst option of elA ontrols the glol lyout of the doumentF e hek the urrent lnguge etindyfkge9 @it is \bbl@main@languageAY if it is prenhD the vlues of some )gs hve to e hnged to ensure prenh looking lyout for the whole doument @even in prts written in lnguges other thn prenhAY the endEuser will then e le to ustomise the vlues of ll these )gs with \frenchbsetup{}F
etindyfkge{7 iflnguge{frenh}{pfeduevistpingtrue 29.585 pfgomptstemizetrue 29.586 pftndrdstemvelsflse 29.587 pfsndentpirsttrue 29.588 pfprenhpootnotestrue 29.589 pfeutopepootnotestrue 29.590 pfqlolvyoutprenhtrue}7 29.591 {}7 29.592 }
29.583 29.584
frenhsetup
prom version PFH onD ll setup options re hndled y one ommnd \frenchbsetup using the keyvl syntxF vet9s now de(ne this ommnd whih reds nd sets the options to e proessed lter @t \begin{document}A y \FBprocess@optionsF st n only e lled in the premleF
frenchb eing n option of elD it nnot lod pkge @keyvlA while frenchb.ldf is redD so we defer the loding of keyval nd the options setup t the end of babel9s lodingF StandardLayout resets the lyout in prenh to the stndrd lyout de(ned A pr the v i lss nd pkges lodedF st dels with listsD indenttion of (rst prgrphs of setions nd footnotesF yther keysD entered after StandardLayout in \frenchbsetupD n overrule some of the StandardLayout settingsF GlobalLayoutFrench fores the lyout in prenh nd @s fr s possileA outE side prenh to meet the prenh typogrphi stndrdsF
etindyfkge{7 equirekge{keyvl}7 29.599 definedkey{pf}{tndrdvyout}true7 29.600 {snme pftndrdvyout5Iendsnme 29.601 ifpftndrdvyout 29.602 pfeduevistpingflse 29.603 pfgomptstemizeflse
29.597 29.598
IRS
29.604 29.605 29.606 29.607 29.608 29.609 29.610 29.611 29.612 29.613 29.614 29.615 29.616 29.617 29.618 29.619 29.620 29.621 29.622 29.623 29.624 29.625 29.626 29.627 29.628 29.629 29.630 29.631 29.632 29.633 29.634 29.635 29.636 29.637 29.638 29.639 29.640 29.641 29.642 29.643 29.644 29.645 29.646 29.647 29.648 29.649 29.650 29.651 29.652 29.653 29.654 29.655 29.656 29.657
pftndrdstemvelstrue pfsndentpirstflse pfprenhpootnotesflse pfeutopepootnotesflse pfqlolvyoutprenhflse else pfeduevistpingtrue pfgomptstemizetrue pftndrdstemvelsflse pfsndentpirsttrue pfprenhpootnotestrue pfeutopepootnotestrue fi}7 definedkey{pf}{qlolvyoutprenh}true7 {snme pfqlolvyoutprenh5Iendsnme ifpfqlolvyoutprenh pfeduevistpingtrue pfgomptstemizetrue pftndrdstemvelsflse pfsndentpirsttrue pfprenhpootnotestrue pfeutopepootnotestrue fi}7 definedkey{pf}{eduevistping}true7 {snme pfeduevistping5Iendsnme}7 definedkey{pf}{gomptstemize}true7 {snme pfgomptstemize5Iendsnme}7 definedkey{pf}{tndrdstemvels}true7 {snme pftndrdstemvels5Iendsnme}7 definedkey{pf}{stemvels}{7 renewommndB{prenhvelstem}{5I}}7 definedkey{pf}{stemveli}{7 renewommndB{prlelitemi}{5I}}7 definedkey{pf}{stemvelii}{7 renewommndB{prlelitemii}{5I}}7 definedkey{pf}{stemveliii}{7 renewommndB{prlelitemiii}{5I}}7 definedkey{pf}{stemveliv}{7 renewommndB{prlelitemiv}{5I}}7 definedkey{pf}{tndrdvists}true7 {snme pftndrdvists5Iendsnme ifpftndrdvists pfeduevistpingflse pfgomptstemizeflse pftndrdstemvelstrue else pfeduevistpingtrue pfgomptstemizetrue pftndrdstemvelsflse fi}7 definedkey{pf}{sndentpirst}true7 {snme pfsndentpirst5Iendsnme}7 definedkey{pf}{prenhpootnotes}true7 {snme pfprenhpootnotes5Iendsnme}7
IRT
29.658 29.659 29.660 29.661 29.662 29.663 29.664 29.665 29.666 29.667 29.668 29.669 29.670 29.671 29.672 29.673
definedkey{pf}{eutopepootnotes}true7 {snme pfeutopepootnotes5Iendsnme}7 definedkey{pf}{eutopeuntution}true7 {snme pfeutopeuntution5Iendsnme}7 definedkey{pf}{hingolonpe}true7 {snme pfhingolonpe5Iendsnme}7 definedkey{pf}{hinpesnprenhxumers}true7 {snme pfhinpesnprenhxumers5Iendsnme}7 definedkey{pf}{prenhupersripts}true7 {snme pfprenhupersripts5Iendsnme} definedkey{pf}{vowerseupersripts}true7 {snme pfvowerseupersripts5Iendsnme} definedkey{pf}{rtxmepull}true7 {snme pfrtxmepull5Iendsnme}7 definedkey{pf}{howyptions}true7 {snme pfhowyptions5Iendsnme}7
snputing prenh quotes s single characters when they re ville on the keyE ord @through ompose key for instneA is more omfortle thn typing \og nd \fgF he purpose of the following ode is to mp the prenh quote hrters to \og\ignorespaces nd {\fg} respetively when the urrent lnE guge is prenhD nd to \guillemotleft nd \guillemotright otherwise @think of qermn quotesAY thus orret unrekle spes will e dded utomtilly to prenh quotesF he quote hrters typed in depend on the input enodingD it n e singleEyte @ltinID ltinWD pplemDF F F A or multiEytes @utfEVD utfVxAF e (rst hek whether ee is used or notD if not the pkge inputenc hs to e loded efore the \begin{document} with the proper oding optionD so we hek if \DeclareInputText is de(nedF
29.674 29.675 29.676 29.677 29.678 29.679 29.680 29.681 29.682 29.683
definedkey{pf}{og}{7 newommndB{pfddog}{iflnguge{frenh}7 {pfdogignorespes}{guillemotleft}}7 expndfterifxsnme eerevisionendsnmerelx etfeginhoument{7 difundefined{helresnputext}7 {kgerning{frenhFldf}7 {yption og9 requires pkge inputenFwessgefrek}7 }7 {difundefined{uddl}7 {difundefined{helreniodeghrter}7
if \DeclareUnicodeCharacter is unde(nedD utfV is not loded eitherD we sE sume VEit hrter input enodingF kge wvienFsty @from gtuA de(nes \mule@def to mp hrters to ontrol sequenesF
29.685 29.686 29.687 29.688 29.689
}7
IRU
}7
{uddl{IUI}{defult}{pfddog}}7 }7
ee in useD the following trik for de(ning the tive quote hrter is orrowed from inputenc.dtxF
29.695 29.696 29.697 29.698 29.699 29.700 29.701 29.702 29.703 29.704
}7
definedkey{pf}{fg}{7 newommndB{pfddfg}{iflnguge{frenh}7 {pfdfg}{guillemotright}}7 expndfterifxsnme eerevisionendsnmerelx etfeginhoument{7 difundefined{helresnputext}7 {kgerning{frenhFldf}7 {yption fg9 requires pkge inputenFwessgefrek}7 }7 {difundefined{uddl}7 {difundefined{helreniodeghrter}7 {dtempnt5Irelx difundefined{muleddef}7 {helresnputext{thedtempnt}{{pfddfg}}}7 {muleddef{PU}{{pfddfg}}}7 }7 {helreniodeghrter{HHff}{{pfddfg}}}7 }7 {uddl{IVU}{defult}{{pfddfg}}}7 }7 }7 else tode5Iative group uode~5I7 upperse{7 egroup def~7 }{{pfddfg}}7 fi }7
pfproessdoptions
29.737
IRV
xothing hs to e done here for StandardLayout nd StandardLists @the inE volved )gs hve lredy een set in \frenchbsetup{} or efore @t el9s indE yfkgeAF he next three options del with the lyout of lists in prenhF ReduceListSpacing redues the vertil spes etween list items in prenh @done y hnging \list to \listFBAF hen GlobalLayoutFrench is true the sme is done outside prenhF
29.738 29.739 29.740 29.741 29.742 29.743 29.744 29.745 29.746 29.747 29.748 29.749 29.750 29.751 29.752 29.753
ifpfeduevistping ddtoextrsfrenh{letlistlistpf letendlistendlistpf}7 ddtonoextrsfrenh{ifpfqlolvyoutprenh letlistlistpf letendlistendlistpf else letlistlistys letendlistendlistys fi}7 else ddtoextrsfrenh{letlistlistys letendlistendlistys}7 ddtonoextrsfrenh{letlistlistys letendlistendlistys}7 fi
CompactItemize suppresses the vertil sping etween list items in prenh @done y hnging \itemize to \itemizeFBAF hen GlobalLayoutFrench is true the sme is done outside prenhF
29.754 29.755 29.756 29.757 29.758 29.759 29.760 29.761 29.762 29.763 29.764 29.765 29.766 29.767 29.768 29.769
ifpfgomptstemize ddtoextrsfrenh{letitemizeitemizepf letenditemizeenditemizepf}7 ddtonoextrsfrenh{ifpfqlolvyoutprenh letitemizeitemizepf letenditemizeenditemizepf else letitemizeitemizeys letenditemizeenditemizeys fi}7 else ddtoextrsfrenh{letitemizeitemizeys letenditemizeenditemizeys}7 ddtonoextrsfrenh{letitemizeitemizeys letenditemizeenditemizeys}7 fi
StandardItemLabels resets lelitems in prenh to their stndrd vlues set A y the v i lss nd pkges lodedF hen GlobalLayoutFrench is true lE elitems re identil inside nd outside prenhF
29.770 29.771 29.772 29.773 29.774 29.775 29.776
IRW
fi
IndentFirst fores the (rst prgrphs of setions to e indented just like the other ones in prenhF hen GlobalLayoutFrench is true the sme is done outside prenhF
29.781 29.782 29.783 29.784 29.785 29.786 29.787 29.788 29.789 29.790 29.791
ifpfsndentpirst ddtoextrsfrenh{ldfrenhindent}7 ddtonoextrsfrenh{ifpfqlolvyoutprenh ldfrenhindent else ldnonfrenhindent fi}7 else ddtoextrsfrenh{ldnonfrenhindent}7 ddtonoextrsfrenh{ldnonfrenhindent}7 fi
he lyout of footnotes is hndled t the \begin{document} depending on the vlues of )gs FrenchFootnotes nd AutoSpaceFootnotes @see setion PWFIHAD nothing hs to e done here for footnotesF AutoSpacePunctuation dds n unrekle spe @in prenh onlyA efore the four tive hrters @XY3cA even if none hs een typed efore themF
29.792 29.793 29.794 29.795 29.796
ThinColonSpace hnges the norml unrekle spe typeset in prenh eE fore X9 to thin speF
29.797
ifpfhingolonperenewommndB{polonspe}{thinspe}fi
hen trueD ThinSpaceInFrenchNumbers rede(nes numprint.sty9s ommnd \npstylefrench to set \npthousandsep to \, @thinspeA insted of ~ @deE fultA F his option hs no e'et if pkge numprint.sty is not loded with autolanguage9F es old versions of numprint.sty did not de(ne \npstylefrenchD we hve to provide this ommndF
29.798 29.799 29.800 29.801 29.802 29.803 29.804 29.805 29.806 29.807 29.808 29.809 29.810 29.811 29.812
difpkgeloded{numprint}7 {ifnprtdutolnguge provideommndB{npstylefrenh}{}7 ifpfhinpesnprenhxumers renewommndBnpstylefrenh{7 npthousndsep{D}7 npdeimlsign{D}7 npprodutsign{dot}7 npunitseprtor{D}7 npdegreeseprtor{}7 npperentseprtor{nprtdunitsep}7 }7 else renewommndBnpstylefrenh{7 npthousndsep{~}7
ISH
fi npddtolnguge{frenh}{frenh}7 fi}{}7
FrenchSuperscriptsX if true \up=\fupD else \up=\textsuperscriptF enyE wy \up*=\FB@up@fakeF he strEform \up*{} is provided for fonts tht lk some superior lettersX edoe tenson ro nd topi ixpert hve no g superior for instneF
29.822 29.823 29.824 29.825 29.826 29.827
ifpfrtxmepull elseddtoptionsfrenh{defprtnme{rtie}}fi
ifpfhowyptions qenerirning{B }{7 B BBBB vist of possile options for frenh BBBBwessgefrek hefult vlues etween rkets when frenh is loded BveB7 wessgefrek howyptionsatrue flsewessgefrek tndrdvyoutatrue flsewessgefrek qlolvyoutprenhaflse truewessgefrek tndrdvistsatrue flsewessgefrek eduevistpingaflse truewessgefrek gomptstemizeaflse truewessgefrek tndrdstemvelsatrue flsewessgefrek stemvelsatextemdshD textulletD protetding{RQ}DFFF textendshwessgefrek stemveliatextemdshD textulletD protetding{RQ}DFFF textendshwessgefrek stemveliiatextemdshD textulletD protetding{RQ}DFFF textendshwessgefrek stemveliiiatextemdshD textulletD protetding{RQ}DFFF textendshwessgefrek stemvelivatextemdshD textulletD protetding{RQ}DFFF textendshwessgefrek
ISI
29.856 29.857 29.858 29.859 29.860 29.861 29.862 29.863 29.864 29.865 29.866 29.867 29.868 29.869 29.870
fi
sndentpirstaflse truewessgefrek prenhpootnotesaflse truewessgefrek eutopepootnotesaflse truewessgefrek eutopeuntutionaflse truewessgefrek hingolonpeatrue flsewessgefrek hinpesnprenhxumersatrue flsewessgefrek prenhupersriptsaflse truewessgefrek vowerseupersriptsaflse truewessgefrek rtxmepullaflse truewessgefrek oga `left quote hrterbD fga `right quote hrterb wessgefrek BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB wessgefrekprotetfrenhsetup{howyptions}}
et \begin{document} we sve gin the de(nitions of the list9 nd itemize9 environments nd the vlues of lelitems so tht ll hnges mde in the premle re tken into ount in lnguges other thn prenh nd in prenh with the tndrdvyout optionF e lso hve to provide n \xspace ommnd in se the xspace.sty pkge is not lodedF
etfeginhoument{7 letlistyslist 29.873 letendlistysendlist 29.874 letitemizeysitemize 29.875 letenditemizeysenditemize 29.876 letdltiyslelitemi 29.877 letdltiiyslelitemii 29.878 letdltiiiyslelitemiii 29.879 letdltivyslelitemiv 29.880 provideommndB{xspe}{relx}7
29.871 29.872
difundefined{pdfstringdefhislegommnds}{}7 {pdfstringdefhislegommnds{7 letuprelx defieme{exspe}7 defiemes{esxspe}7 defier{erxspe}7 defiers{ersxspe}7 defiere{rexspe}7 defieres{resxspe}7 defprenhinumerte5I{5Idegrespe}7 defprenhopulrinumerte5I{5IdegreAspe}7 defxo{xdegrespe}7 defno{ndegrespe}7 defxos{xdegrespe}7 defnos{ndegrespe}7 defog{guillemotleftspe}7 deffg{speguillemotright}7 letstexts letdegresdegre }}7
ISP
st is time to proess the options set with \frenchboptions{}F hen exeute eiE ther \extrasfrench nd \captionsfrench or \noextrasfrench ording to the urrent lnguge t the \begin{document} @these three ommnds re updted y \FBprocess@optionsAF
29.901 29.902
pfproessdoptions iflnguge{frenh}{extrsfrenhptionsfrenh}{noextrsfrenh}7
ome wrnings re issued when output font enodings re not properly setF ith A eveD fontspec.sty nd xunicode.sty should e lodedY with @pdfAv iD wrning is issued when yI enoding is in use t the \begin{document}F wind tht \encodingdefault is de(ned s long9D de(ning \FBOTone with \newcommand* would fil3
29.903 29.904 29.905 29.906 29.907 29.908 29.909 29.910 29.911 29.912 29.913 29.914 29.915 29.916 29.917 29.918 29.919 29.920 29.921
expndfterifxsnme eerevisionendsnmerelx egingroup newommnd{pfyone}{yI}7 ifxenodingdefultpfyone kgerning{frenhFldf}7 {yI enoding should not e used for prenhF wessgefrek edd protetusepkgeI{fonten} to the premlewessgefrek of your doumentD} fi endgroup else difundefined{helrephrter}7 {kgerning{frenhFldf}7 {edd protetusepkge{fontspe} BndBwessgefrek protetusepkge{xuniode} to the premlewessgefrek of your doumentD}}7 {}7 fi
lodlolfg{frenh}
pinl leningF he mro \ldf@quit tkes re for setting the min lnguge to e swithed on t \begin{document} nd resetting the tegory ode of @ to its originl vlueF he on(g (le serhed for hs to e frenchb.cfgD nd \CurrentOption hs een set to frenh9D so \ldf@finish\CurrentOption nnot e usedX we (rst lod frenchb.cfgD then ll \ldf@quit\CurrentOptionF
29.923 29.924
pflendondexit ldfdquitgurrentyption
ISQ
30
he (le italian.dtx30 de(nes ll the lngugeEspei( mros for the stlin lngugeF he fetures of this lnguge de(nition (le re the followingX IF he stlin hyphention is invokedD provided tht (le ithyph.tex ws A loded when the v i P formt ws uiltY in se it ws notD red the informtion oming with your distriution of the i softwreD nd the babel doumenttionF PF he lnguge dependent (xed words to e inserted y suh ommnds s \chapterD \captionD \tableofcontentsD etF re rede(ned in ordne with the stlin typogrphil prtieF QF ine stlin n e esily hyphented nd stlin prtie llows to rek word efore the lst two lettersD hyphention prmeters hve een set ordinglyD ut very high demerit vlue hs een set in order to void word reks in the penultimte line of prgrphF pei(lly the \clubpenaltyD nd the \widowpenalty re set to rther high vlues nd \finalhyphendemerits is set to suh high vlue tht hyphention is proE hiited etween the lst two lines of prgrphF sn orer to mke it onsisE tentD lso \@clubpenalty is set to the sme vlueY tuly the ltter vlue is the reset vlue fter every setioning ommndD so tht fter the (rst setionD \clubpenalty is reset to the low defult vlueF hnks to inrio qregorio for spotting this serious ugF RF ome lnguge spei( shortuts hve een de(ned so s to llow etymologE il hyphentionD spei(lly " inserts rek point in ny word oundry tht the typesetter hoosesD provided it is not followed y nd ented letE ter @very unlikely in stlinD where ompulsory ents fll only on the lst nd ending vowel of wordD ut my tke ple with ompound words tht inlude foreign rootsAD nd "| when the desired rek point flls efore n ented letterF SF he shortut "" introdues the rised @inglishA opening doule quotesY this shortut proves its usefulness when one reminds tht the stlin keyord misses the ktik keyD nd the ktik on indows sed pltform my e otined only y pressing the Alt key while inputting the numeril ode HHWTY veryD very nnoying3 TF he shortuts "< nd "> insert the prenh guillemotsD sometimes used in stlin typogrphyY with the I font enoding the ligtures << nd >> should insert suh signs diretlyD ut not ll the virtul fonts tht lim to follow the I font enoding tully ontin the guillemotsY with the yI enoding the guillemots re not ville nd must e fked in some wyF fy using the "< nd "> shortuts @even with the I enodingA the neessry tests re performed nd in se the suitle glyphs re tken from other fonts A normlly ville with ny goodD modern v i distriutionF
2008/03/14. The original author is Maurizio Codogno, (mau@beatles.cselt.stet.it). It has been largely revised by Johannes Braams and Claudio Beccari
30 The
le described in this section has version number v1.2t and was last revised on
ISR
UF hree new spei( ommnds \unitD \pedD nd \ap re introdued so s to enle the orret omposition of tehnil mthemtis ording to the sy QIGs reommendtionsF \unit does not get rede(ned if the babel pkE ge is loded after the pkge units.sty whose homonymous ommnd plys di'erent role nd follows di'erent syntxF por this lnguge limited numer of shortuts hs een de(nedD tle TD some of whih re used to overome ertin limittions of the stlin keyordY in setion QHFQ there re other omments nd hints in order to overome some other keyord limittionsF
"
inserts ompound word mrk where hyphention is leglY it llows etymologil hyphention whih is reommended for tehnil termsD hemil nmes nd the likeY it does not work if the next hrter is represented with ontrol sequene or is n ented hrterF the sme s the ove without the limittion on hrE ters represented with ontrol sequenes or ented onesF inserts open quotes F inserts open guillemotsF inserts losed guillemotsF equivlent to \slash le TX hortuts for the stlin lnguge
he mro \LdfInit tkes re of preventing tht this (le is loded more thn oneD heking the tegory ode of the @ signD etF
30.1 30.2
code vdfsnit{itlin}{ptionsitlin}7
hen this (le is red s n optionD iFeF y the \usepackage ommndD italian will e n unknown9 lnguge in whih se we hve to mke it knownF o we hek for the existene of \l@italian to see whether we hve to do something hereF
ifxlditlindundefined dnoptterns{stlin}7 30.5 dddiletlditlinHfi
30.3 30.4
he next step onsists of de(ning ommnds to swith to @nd fromA the stlin lngugeF
ptionsitlin
ddtoptionsitlin{7 defprefenme{refzione}7 30.8 defrefnme{iferimenti iliogrfii}7 30.9 defstrtnme{ommrio}7 30.10 definme{filiogrfi}7 30.11 defhpternme{gpitolo}7 30.12 defppendixnme{eppendie}7
30.6 30.7
he mro \captionsitalian de(nes ll strings used in the four stndrd douE A ment lsses provided with v iF
ISS
30.13 30.14 30.15 30.16 30.17 30.18 30.19 30.20 30.21 30.22 30.23 30.24 30.25 30.26 30.27 30.28
defontentsnme{sndie}7 deflistfigurenme{ileno delle figure}7 deflisttlenme{ileno delle telle}7 defindexnme{sndie nlitio}7 deffigurenme{pigur}7 deftlenme{ell}7 defprtnme{rte}7 defenlnme{ellegti}7 defnme{e~pF~F}7 defhedtonme{er}7 defpgenme{gF}7 7 in stlin the revition is preferred defseenme{vedi}7 deflsonme{vedi nhe}7 defproofnme{himostrzione}7 defglossrynme{qlossrio}7 }7
dteitlin
defdteitlin{7 deftody{numerdy~ifsemonthor 30.31 gennioor ferioor mrzoor prileor mggioor giugnoor 30.32 luglioor gostoor settemreor ottoreor novemreor 30.33 diemrefispe numeryer}}7
30.29 30.30
itlinhyphenmins
30.34
extrsitlin vower the hne tht lus or widows ourF noextrsitlin30.35 ddtoextrsitlin{7 30.36 eldsvevrilelupenlty 30.37 eldsvevrilewidowpenlty 30.38 eldsvevriledlupenlty 30.39 lupenltyQHHHwidowpenltyQHHHdlupenltylupenlty}7
xever ever rek word etween the lst two lines of prgrph in itlin textsF
ddtoextrsitlin{7 eldsvevrilefinlhyphendemerits 30.42 finlhyphendemeritsSHHHHHHH}7
30.40 30.41
sn order to enle the hyphention of words suh s nell9ltezz we give the ' nonEzero lower se odeF hen we do tht i (nds the following hyphention points nel-l'al-tez-za insted of noneF
ddtoextrsitlin{7 lode9a9}7 30.45 ddtonoextrsitlin{7 30.46 lode9aH}7
30.43 30.44
is llowedY this is in ontrst with wht hppens in vtinD for exmpleD where etymologil hyphention is lwys usedF ine the ptterns for oth lnguges would eome too omplited in order to ope with etymologil hyphentionD in his pper feri proposed the de(nition of n tive hrter _9 suh tht it ould insert soft disretionry hyphen t the ompound word oundryF por severl resons tht ide nd the spei( tive hrter proved to e unprtil nd ws ndonedF his prolem is so importnt with the mjority of the iuropen lngugesD tht babel from the very eginning developed the trdition of mking the " hrter tive so s to perform severl tions tht turned useful with every lngugeF yne of these tions onsisted in de(ning the shortut "| tht ws extensively used in qermn nd in mny other lnguges in order to insert disretionry hyphen suh tht hyphention would not e preluded in the rest of the word s it hppens with the stndrd i ommnd \-F wenwhile the ec fonts with the doule gork enoding @thus formerly lled the dc fontsA hve eome more or less stndrd nd re widely used y virtully ll iuropens tht write lnguges with mny speil ntionl hrtersY y so doing they void the use of the \accent primitive whih would e required with the stndrd cm fontsY with the ltter fonts the primitive ommnd \accent is suh tht hyphention eomes lmost impossileD in ny se strongly impehedF he ec fonts ontin speil hrterD nmed ompound word mrkD tht oupies position PQ in the font sheme nd my e input with the sequene ^^WF p to nowD pprentlyD this speil hrter hs never een used in prtil wy for the typesetting of lnguges rih of ompound wordsY lso it hs never een inserted in the hyphention pttern (les of ny lngugeF feri modi(ed his pttern (le ithyph.tex v4.8b for stlin so s to ontin (ve new ptterns tht involve ^^WD nd he tried to give the babel tive hrter " new shortut de(nitionD so s to llow the insertion of the ompound word mrk in the proper ple within ny word where two semnti frgments join upF ith suh fility for mrking the ompound word oundriesD etymologil hyphention eomes possile even if the ptterns know nothing out etymology @ut the typesetE ter hopefully does3AF sn stlin suh etymologil hyphention is desirle with tehnil termsD hemil nmesD nd the likeF iven this solution proved to e inonvenient on ertin xB pltformsD so feri resorted to nother pproh tht uses the babel tive hrter " nd relies on the tegory ode of the hrter tht follows "F
30.47 30.48
inititedtivedhr{4}7 ddtoextrsitlin{ldtivte{4}lngugeshorthnds{itlin}}7
itdwm
he tive hrter " is now de(ned for lnguge italian so s to perform di'erent tions in mth mode ompred to text modeY spei(lly in mth mode doule quote is inserted so s to produe doule prime signD while in text mode the temporry mro \it@next is de(ned so s to defer ny further tion until the next token tegory ode hs een testedF
ISU
30.55 30.56
itdnext }7
itdwm
he \it@next servie ontrol sequene is suh tht upon its exeution temporry vrile \it@temp is mde equivlent to the next token in the input list without tully removing itF uh temporry token is then tested y the mro \it@cwm nd if it is found to e letter tokenD then it introdues ompound word seprtor ontrol sequene \it@allowhyphens whose expnsion introdues disretionry hyphen nd n unrekle speY in se the token is not letterD then it is tested ginst |12 X if so ompound word seprtor is inserted nd the | token is removedD otherwise nother test is performed so s to see if nother doule quote sign followsX in this se doule open quote mrk is insertedD otherwise two other tests re performed so s to see if guillemets hve to e insertedD otherwise nothing is doneF he doule quote shortut for inserting doule open quote sign is useful for people who re inputting stlin text y mens of n stlin keyord tht unfortuntely misses the grve or ktik keyF fy this shortut "" eomes equivlent to `` for inserting rised open high doule quotesF
defitddwm{norekdisretionry{E}{}{}norekhskipzdskip}7 defitddop5I{itdop}defitddp5I{itdp}7 30.59 helreoustgommndB{itdwm}{letitddnextrelx 30.60 iftnoexpnditdtemp 7 30.61 defitddnext{itddwm}7 30.62 else 30.63 ifnoexpnditdtemp string|7 30.64 defitddnext{itddwmdgole}7 30.65 else 30.66 ifnoexpnditdtemp string`7 30.67 defitddnext{itddop}7 30.68 else 30.69 ifnoexpnditdtemp stringb7 30.70 defitddnext{itddp}7 30.71 else 30.72 ifnoexpnditdtempstringG7 30.73 defitddnext{slshdgole}7 30.74 else 30.75 ifxitdtemp47 30.76 defitddnext{dgole}7 30.77 fi 30.78 fi 30.79 fi 30.80 fi 30.81 fi 30.82 fi 30.83 itddnext}7
30.57 30.58
fy this de(nition of " if one types macro"istruzione the possile rek points eome ma-cro-istru-zio-neD while without the " mrk they would e ma-croi-struzio-neD ording to the phoneti rules suh tht the macro pre(x is not tken s unitF e hemil nme suh s des"clor"fenir"amina"cloridrato is rekle s des-clor-fe-nir-ami-na-clo-ri-dra-to insted of de-sclor-fe-ni-ra-mi-na-... sn other lnguge desription (les shortut is de(ned so s to llow rek point without tully inserting ny hyphen signY exmples re given suh s ISV
entrdGslidY tully if one wnts to llow rekpoint fter the slshD it is A muh lerer to type \slash insted of / nd v i does everything y itselfY here the shortut "/ ws introdued to stnd for \slash so tht one n type input"/output nd llow line rek fter the slshF his shortut works only for the slshD sine in stlin suh onstruts re extremely rreF ettentionX the expnsion of " tkes ple efore the tul expnsion of yI or I ented sequenes suh s \`{a}Y therefore this etymologil hyphention fility works s it should only when the semnti word frgments do not start with n ented letterY this in stlin is lwys voidleD euse ompulsory ents fll only on the lst vowelD ut it my e neessry to mrk ompound word where one or more omponents ome from foreign lnguge nd ontin diritil mrks ording to the spelling rules of tht lngugeF sn this se the speil shorthnd "| my e used tht performs extly s " normlly doesD exept tht the | sign is removed from the token input listX kilo"|{\"o}rsted gets hyphented s ki-lo-r-stedF
ISW
hen we n use \let to de(ne the user level ommndsD ut in se the mros lredy hve di'erent mening efore entering in stlin mode typesettingD we (rst memorize their mening so s to restore them on exitF
difpkgeloded{units}{}{7 ddtoextrsitlin{7 30.95 eldsveunitletunitldunit}7 30.96 }7 30.97 ddtoextrsitlin{7 30.98 eldsvepletpldp 30.99 eldsvepedletpedldped 30.100 }7
30.93 30.94
30.3 Accents
wost of the other lnguge desription (les introdue numer of shortuts for inserting ents nd other lnguge spei( diritil mrks in more omfortE le wy ompred with the lengthy stndrd i onventionsF hen n stlin keyord is eing used on indows sed pltformD it exhiits suh limittions tht up to now no onvenient shortuts hve een developedY the reson lies in the ft tht the stlin keyord lks the grve ent @lso known s ktikAD whih is ompulsory on ll ented vowels exept the e9D utD on the oppositeD it rries the keys with ll the ented lowerse vowelsY the keyord lks lso the tie ~ @tildeA keyD while the urly res require pressing three keys simultneouslyF he est solution stlins hve found so fr is to use smrt editor tht epts shortut de(nitions suh thtD for exmpleD y striking "( one gets diretly { on the sreen nd the sme sign is sved into the .tex (leY the sme smrt editor should e ple of trnslting the ented hrters into the stndrd i sequenes when writing (le to disk @for the ske of (le portilityAD nd to trnsform the stndrd i sequenes into the orresponding signs when loding .tex (le from disk to memoryF uh smrt editors do exist nd n e downloded from the ctan rhivesF por wht onerns the missing ktik keyD whih is used lso for inputting the open quotesD it must e notied tht the shortut "" desried ove ompletely solves the prolem for double rised open quotesY ording to the trditions of prtiulr pulishing housesD sine there re no ompulsory regultions on the mtterD the prenh guillemets my e usedY in this se the I font enoding solves the prolem y mens of its uilt in ligtures << nd >>F futF F F
30.4
elthough the I font enoding ligtures solve the prolemD there re some irE umstnes where even the I font enoding nnot e usedD either euse the uthorGtypesetter wnts to use the yI enodingD or euse sGhe uses font set tht does not omply ompletely with the I font enodingY some virtul fontsD for exmpleD re supposed to implement the doule gork font enoding ut tuE lly miss some glyphsY one suh virtul font set is given y the ae virtul fontsD euse they re supposed to implement suh doule font enoding simply using the cm fontsD of whih the type I ostript version exists nd is freely villeF ine guillemets @in stlin caporali A do not exist in ny cm ltin fontD their glyphs must e sustituted with something else tht pprohes themF
ITH
ine in prenh typesetting guillemets re ompulsoryD the prenh lnguge A de(nition (le resorts to lever font sustitutionY suh (le exploits the v i P font seletion mhinery so s to get the guillemets from the gyrilli fontsD euse it su0es to lolly hnge the defult enodingF here re severl sets of gyrilli fontsD ut the ones tht oey the yP font enoding re generlly distriuted with ll reent implementtions of the i softwreY they re prt of the emerin wthemtil oiety fonts nd ome oth s METAFONT soure (les nd ype I ostript .pfb (lesF he vilility of suh fonts should e gurnteed y the presene of the OT2cmr.fd font desription (leF etully the presene of this (le A does not gurntee the ompleteness of your i implementtionY should v i omplin out missing gyrilli .tfm (le @tht kind of (le tht ontins the font metri prmetersA ndGor out missing gyrilli (FmfA (lesD then your i system is incomplete nd you should downlod suh fonts from the ctan rhivesF emporrily you my issue the ommnd \LtxSymbCaporali so s to pproximte A the missing glyphs with the v i symol fontsF sn some se wrning messges re issued so s to inform the typesetter out the neessity of resorting to some poor man solutionF sn spite of these lternte fontsD we must void invoking unusul fonts if the ville enoding llows to use uilt in porliF es fr s s know @gfA the only IEenoded font fmilies tht miss the guillemets re the ei onesY we therefore (rst test if the defult enoding id the I one nd in this se if the ei fmilies re the defult onesY in order for this to work properly it is neessry to lod these optionl pkges before babelF sf the I enoding is not the defult one when the stlin lnguge is spei(edD then some sustitutions must e doneF
vtxymgporli itdop itdp
e de(ne some mros for sustituting the defult guillemetsY (rst the emultion A y mens of the v i symolsY eh one of these mro sets tully rede(nes the ontrol sequenes \it@ocap nd \it@ccap tht re the ones e'etively tivted y the shortuts "< nd ">F
defvtxymgporli{7 helreoustgommndB{itdop}{mox{7 30.103 fontenoding{}fontfmily{lsy}seletfont@kernEHFPHem@}7 30.104 ignorespes}7 30.105 helreoustgommndB{itdp}{ifdimlstskipbzdunskipfi 30.106 mox{7 30.107 fontenoding{}fontfmily{lsy}seletfontAkernEHFPHemA}}7 30.108 }7
30.101 30.102
hen the sustitution with ny spei( font tht ontins suh glyphsY it might e the gfgreek fontsD the gyrilli oneD the superEm onesD the lm onesD or ny other the user might prefer @the ode is dpted from the one tht ppers in the frenchb.ld (leY thnks to hniel plipoAF fy defult if the user did not selet the I enodingD the existene of the gfgreek fonts is testedY if they exist the guillemets re tken from this fontD nd sine its fmilies re superset of the defult gw ones nd they pply lso to typeset slides with the stndrd lss slidesF sf the gfgreek fonts re not foundD then the existene of the gyrilli ones is testedD lthough this hoie is not suited for typesetting slidesY otherwise A the poor mn solution of the v i speil symols is usedF sn ny se the user n fore the use of the gyrilli guillemets sustitution y issuing the delrtion \CyrillicCaporali just efore the \begin{document} sttementY in lterntive the user n speify with ITI
\CaporaliFrom{
encoding
}{
family
}{
opening number
}{
closing number
the enoding nd fmily of the font sGhe prefersD nd the slot numers of the opening nd losing guillemets respetivelyF por exmple if the IEenoded vtin wodern fonts re desired the spei( ommnd should e
\CaporaliFrom{T1}{lmr}{19}{20}
hese user hoies might e neessry for ssuring the orret typesetting with fonts tht ontin the required glyphs nd re ville lso in ostript form so s to use them diretly with pdflatexD for exmpleF
defgporliprom5I5P5Q5R{7 helrepontinoding{5I}{}{}7 30.111 helreextgommnd{itdop}{I}{7 30.112 {fontenoding{5I}fontfmily{5P}seletfonthr5Qignorespes}}7 30.113 helreextgommnd{itdp}{I}{ifdimlstskipbzdunskipfi7 30.114 {fontenoding{5I}fontfmily{5P}seletfonthr5R}}7 30.115 helreextgommnd{itdop}{yI}{7 30.116 {fontenoding{5I}fontfmily{5P}seletfonthr5Qignorespes}}7 30.117 helreextgommnd{itdp}{yI}{ifdimlstskipbzdunskipfi7 30.118 {fontenoding{5I}fontfmily{5P}seletfonthr5R}}}
30.109 30.110
hen we set oolen vrile nd test the defult fmilyY if suh fmily hs nme tht strts with the letters e then we hve no uilt in guillemetsY of ourse if the ei font fmily is hosen fter the babel pkge is lodedD the test does not perform s requiredF
defgetde5I5P5Q3{deflde{5I5P}}7 defdifdonednogp{expndftergetdefdfmily37 30.121 defldtemp{e}ifxldeldtempexpndfterdfirstoftwoelse 30.122 expndfterdseondoftwofi}7
30.119 30.120
e set nother ouple of oolen vriles for testing the existene of the gfgreek or the gyrilli fonts
newififdgfgreekinunown sfpileixists{lgrmrFfd}7 30.125 {dgfgreekinunowntrue}{dgfgreekinunownflse} 30.126 newififdgyrinunown 30.127 sfpileixists{otPmrFfd}7 30.128 {dgyrinunowntrue}{dgyrinunownflse}7
30.123 30.124
xext we de(ne the mros \CBgreekCaporaliD \T@unoCaporaliD nd \CyrillicCaporaliY with the ltter one we test the loded lssD nd if it9s slides nothing gets doneF sn ny se eh one of these delrtionsD if usedD must e spei(ed in the premleF
defgfgreekgporli{diflssloded{slides}{7 sfpileixists{lgrlmssFfd}{helrepontinoding{vq}{}{}7 30.131 helreoustgommndB{itdp}7 30.132 {ifdimlstskipbzdunskipfi 30.133 {fontenoding{vq}seletfontAA}}7 30.134 helreoustgommndB{itdop}7 30.135 {{fontenoding{vq}seletfont@@}ignorespes}}7 30.136 {vtxymgporli}}7 30.137 {helrepontinoding{vq}{}{}7 30.138 helreoustgommndB{itdp}7 30.139 {ifdimlstskipbzdunskip
30.129 30.130
ITP
30.140
fi{fontenoding{vq}seletfontAA}}7 helreoustgommndB{itdop}7 30.142 {{fontenoding{vq}seletfont@@}ignorespes}}7 30.143 }7 30.144 defgyrilligporli{diflssloded{slides}{relx}7 30.145 {helrepontinoding{yP}{}{}7 30.146 helreoustgommndB{itdp}7 30.147 {ifdimlstskipbzdunskipfi 30.148 {fontenoding{yP}seletfonthrTPrelx}}7 30.149 helreoustgommndB{itdop}7 30.150 {{fontenoding{yP}seletfonthrTHrelx}ignorespes}}}7 30.151 donlypremle{gfgreekgporli}donlypremle{gyrilligporli}7 30.152 defdunogporli{helreoustgommndB{itdop}{``ignorespes}7 30.153 helreoustgommndB{itdp}{ifdimlstskipbzdunskipfibb}}7
30.141
xow we n do some rel settingY (rst we strt testing the enodingY if the enoding is I we test if the font fmily is the ei oneY if soD we further test for other possiilities
ifxfdenodingldtdone difdonednogp{7 30.156 ifdgfgreekinunown 30.157 gfgreekgporli 30.158 else 30.159 ifdgyrinunown 30.160 gyriligporli 30.161 else 30.162 vtxymgporli 30.163 fi 30.164 fi}7 30.165 {dunogporli}7
30.154 30.155
fut if the defult enoding is not the I oneD then the sustitutions must e performedF
else ifdgfgreekinunown 30.168 gfgreekgporli 30.169 else 30.170 ifdgyrinunown 30.171 gyriligporli 30.172 else 30.173 vtxymgporli 30.174 fi 30.175 fi 30.176 fi
30.166 30.167
ldfdfinish{itlin}7 /code
ITQ
References
I feri gFD gomputer eided ryphention for stlin nd wodern vtinD TUGboat volF IQD nF ID ppF PQEQQ @IWWPAF P feri gFD ypesetting mthemtis for siene nd tehnology ording to sy QIGsD TUGboat volF IVD nF ID ppF QWERV @IWWUAF
ITR
31
he (le latin.dtx31 de(nes ll the lngugeEspei( mros for the vtin lnE guge oth in modern nd medievl spellingF por this lnguge the \clubpenaltyD \widowpenalty re set to rther high vlues nd \finalhyphendemerits is set to suh high vlue tht hyphention is prohiited etween the lst two lines of prgrphF por this lnguge two styles of typesetting re implementedX regulr or modernEspelling vtinD nd medievl vtinF he medievl vtin spei( omE mnds n e tivted y mens of the lnguge ttriute medievalY the meE dievl spelling di'ers from the modern one y the systemti use of the lower se u9 lso where in modern spelling the letter v9 is usedY when typesetting with pitl lettersD on the oppositeD the letter 99 is used lso in ple of 99F wedievl spelling lso inludes the ligtures \ae @AD \oe @AD \AE @AD nd \OE @A tht re not used in modern spellingD nor were used in the lssil timesF purthermore third typesetting style withprosodicmarks is de(ned in order to use speil shortuts for inserting reves nd mrons when typesetting grmmrsD ditionriesD tehing textsD nd the likeD where prosodi mrks re importnt for the omplete informtion on the words or the versesF he shortutsD listed in tle U nd desried in setion QPD my interfere with other pkgesY therefore y defult this third style is o' nd no interferene is introduedF sf this third style is used nd interferene is experienedD there re speil ommnds for turning on nd o' the spei( short hnd ommnds of this styleF A por wht onerns babel nd typesetting with v iD the di'erenes etween the two styles of spelling revel themselves in the strings used to nme for exmple the refe tht eomes reftio or rftio respetivelyF ryphention rules re lso di'erentD ut the hyphention pttern (le lahyph.tex tkes re of oth versions of the lngugeF xeedless to sy tht suh ptterns must e loded A in the v i formt y running initex @or whtever the nme if the initilizerA on latex.ltxF he nme strings for hptersD (guresD tlesD eteterD re suggested y profF 'ell oD lssiist of the niversity of urinD stlyD to whom we ddress our wrmest thnksF he nmes suggested y urzysztof uonrd elehowskiD when di'erentD re used s the nmes for the medievl vrietyD sine he mde word nd spelling hoie more suited for this vrietyF por this lnguge some shortuts re de(ned ording to tle UY ll of them re supposed to work with oth spelling stylesD exept where the opposite is exE pliitly sttedF he mro \LdfInit tkes re of preventing tht this (le is loded more thn oneD heking the tegory ode of the @ signD etF
31.1 31.2
code vdfsnit{ltin}{ptionsltin}
hen this (le is red s n optionD iFeF y the \usepackage ommndD latin will e n unknown9 lnguge in whih se we hve to mke it knownF o we hek for the existene of \l@latin to see whether we hve to do something hereF
31.3
ifxldltindundefined
le described in this section has version number v2.0k and was last revised on The original author is Claudio Beccari with contributions by Krzysztof Konrad
31 The
2008/03/21.
elechowski, (kkz@alfa.mimuw.edu.pl)
ITS
^i =a " "|
inserts the reve ent s vlid lso for the other %Y lowerse vowelsD ut it does not operte on the meE dievl ligtures nd F inserts the mron ent s Y vlid lso for the other lowerse vowelsD ut it does not operte on the medievl ligtures nd F inserts ompound word mrk where hyphention is leglY the next hrter must not e medievl ligE ture or D nor n ented letter @foreign nmesAF sme s oveD ut opertes lso when the next hrE ter is medievl ligture or n ented letterF
le UX hortuts de(ned for the vtin lngugeF he hrters ^ nd = re tive only when the lnguge ttriute withprosodicmarks hs een delredD otherwise they re disledY see setion QP for more detilsF
31.4 31.5
dnoptterns{vtin} dddiletldltinHfi
st must e rememered tht the medieval nd the withprosodicmarks styles my e used togetherF he next step onsists of de(ning ommnds to swith to @nd fromA the vtin lnguge32 F
ptionsltin
dnmedef{ptionsltin}{7 defprefenme{reftio}7 31.18 defrefnme{gonspetus lirorum}7 31.19 defstrtnme{ummrium}7 31.20 definme{gonspetus lirorum}7 31.21 defhpternme{gput}7 31.22 defppendixnme{edditmentum}7 31.23 defontentsnme{sndex}7 31.24 deflistfigurenme{gonspetus desriptionum}7 31.25 deflisttlenme{gonspetus tulrum}7 31.26 defindexnme{sndex rerum notilium}7
31.16 31.17
he mro \captionslatin de(nes ll strings used in the four stndrd doument A lsses provided with v iF
32 Most
ITT
31.27 31.28 31.29 31.30 31.31 31.32 31.33 31.34 31.35 31.36 31.37 31.38
deffigurenme{hesriptio}7 deftlenme{ul}7 defprtnme{rs}7 defenlnme{edduntur}7 yr 4 edditur4 c yr simply eddFc defnme{ixemplr}7 se the reipient9s dtive defhedtonme{ignorespes}7 se the reipient9s dtive defpgenme{ghrt}7 defseenme{frF}7 deflsonme{frF}7 Fo never sw 4frF tque4 or similr forms defproofnme{hemonstrtio}7 defglossrynme{qlossrium}7 }
sn the ove de(nitions there re some points tht might hnge in the future or tht require minimum of ttention from the typesetterF IF the \enclname is trnslted y pssive verD tht literlly mens @theyA re eing ddedY if just one enlosure is joined to the doumentD the plurl pssive is not suited ny moreY nevertheless generi plurl pssive might e inorret ut suited for most irumstnesF yn the opposite edditurD the orresponding singulr pssiveD might e more orret with one enlosure nd less suited in generlX wht out the revition eddF tht works in oth sesD ut ertinly is less elegntc PF he \headtoname is empty nd goles the possile following speY in prE tie the typesetter should use the dtive of the reipient9s nmeY sine nowE dys not ll suh nmes n e trnslted into vtinD they might result indelinleF he lever use of n ppelltive y the typesetter suh s homino or homine might solve the prolemD ut the heder might get too impressiveF he typesetter must mke deision on his ownF QF he sme holds true for the opy reipient9s nme in the g (eld of \ccnameF
dteltin
he mro \datelatin rede(nes the ommnd \today to produe vtin dtesY the hoie of fked smll ps vtin numerls is ritrry nd my e hnged in the futureF por medievl ltin the spelling of xovemris9 should e NouembrisF his is tken re of y using ontrol sequene whih n e rede(ned when the ttriute medievl9 is seletedF
defdteltin{7 defnovemer{xovemris}7 31.41 deftody{7 31.42 {hekdmthfontsfontsizesfdsizezdmthdfontsflseseletfont 31.43 upperseexpndfter{romnnumerldy}}~ifsemonthor 31.44 snuriior peruriior wrtiior eprilisor wiior suniior 31.45 suliior eugustior eptemrisor ytorisor novemeror 31.46 heemrisfi 31.47 spe{upperseexpndfter{romnnumerlyer}}}}
31.39 31.40
romndte
homs wrtin idmnn @viralbus@daimi.au.dkA developed mro originlly nmed \latindate @ut to e renmed \romandate so s not to on)it with the stndrd babel onventionsA tht should ompute nd trnslte the urrent dte into dte ab urbe condita with dys numered ording to the klende nd idusY ITU
for the moment this is pleholder for homs9 mroD witing for self stnding one tht keeps lol ll the intermedite dtD ountersD etF sf he sueedsD here is the ple to dd his mroF
ltinhyphenmins
31.48
extrsltin vower the hne tht lus or widows ourF noextrsltin31.49 ddtoextrsltin{7 31.50 eldsvevrilelupenlty 31.51 eldsvevriledlupenlty 31.52 eldsvevrilewidowpenlty 31.53 lupenltyQHHHdlupenltyQHHHwidowpenltyQHHH}
xever ever rek word etween the lst two lines of prgrph in ltin textsF
ddtoextrsltin{7 eldsvevrilefinlhyphendemerits 31.56 finlhyphendemeritsSHHHHHHH}
31.54 31.55
ith medievl vtin we need the suitle orrespondene etween upper se nd lower se uD sine in tht spelling there is only one signD nd the u shpe is the @unilA version of the pitl F iverything else is identil with vtinF
ddtoextrsmedievlltin{7 eldsvevrile{lode}7 31.59 eldsvevrile{uodeu}7 31.60 lodeau uodeua}
31.57 31.58
etvtinvigtures
e need lso the lodes for nd Y sine they oupy di'erent positions in the yI iEfontenoding ompred to the I oneD we must sve the lE nd the uodes for oth enodingsD ut we speify the new lE nd uodes seprtely s it ppers nturl not to hnge enoding while typesetting the sme lngugeF he enoding is ssumed to e set efore strting to use the vtin lngugeD so tht if vtin is the defult lngugeD the font enoding must e hosen efore requiring the babel pkge with the latin optionD in ny se efore ny \selectlanguage or \foreignlanguage ommndF ell this fuss is mde in order to llow the use of the medievl ligtures nd while typesetting with the medievl spellingY s hve my douts tht the medievl spelling should e used t ll in modern ooksD reportsD nd the likeY the unil u9 shpe of the lower se v9 nd the ove ligtures were fny styles of the opyists who were le to write fster with those rounded glyphsY with typesetting there is no question of hndling quill pennF F F ine my @gfA opinion my e wrongD s mnged to set up the instruments nd it is up to the typesetter to use them or notF
I I I I I I yI e e ei oe yi yi e
ddtoextrsmedievlltin{7 eldsvevrile{lodeeT}7 31.63 eldsvevrile{uodeeT}7 31.64 eldsvevrile{lodeT}7 31.65 eldsvevrile{lodefU}7 31.66 eldsvevrile{uodefU}7 31.67 eldsvevrile{lodedU}7 31.68 eldsvevrile{lodeI}7
31.61 31.62
ITV
eldsvevrile{uodeI}7 yI eldsvevrile{lodeId}7 yI 31.71 eldsvevrile{lodeI}7 yI 31.72 eldsvevrile{uodeI}7 yI 31.73 eldsvevrile{lodeIe}7 yI 31.74 etvtinvigtures} 31.75 provideommndetvtinvigtures{7 31.76 defdtempe{I}ifxdtempefdenoding 31.77 todeeTaII lodeeTaeT 31.78 todeTaII lodeTaeT 31.79 todefUaII lodefUafU 31.80 todedUaII lodedUafU 31.81 else 31.82 todeIaII lodeIaI 31.83 todeIdaII lodeIdaI 31.84 todeIaII lodeIaI 31.85 todeIeaII lodeIeaI 31.86 fi 31.87 letdtempedundefined 31.88 }
31.69 31.70
e ei oe yi yi
ith the ove de(nitions we re sure tht \MakeUppercase works properly nd \MakeUppercase{C{\ae}sar} orretly yields geY orrespondingly \MakeUppercase{Heluetia} orretly yields riviseF
32
Latin shortcuts
por writing ditionries or didti texts @in modern spelling onlyA we de(ned third lnguge ttriuteD or third typesetting styleD ouple of other tive hrE ters re de(nedX ^ for mrking vowel with the reve signD nd = for mrking vowel with the mro signF lese tke notie tht neither the yI font enodingD nor the I one for most vowelsD ontin diretly the mrked vowelsD therefore hyE phention of words ontining these ents my eome prolemtiY for this reson the ove tive hrters not only introdue the required entD ut lso n unrekle zero skip tht in prtie does not introdue disretionry rekD ut llows reks in the rest of the wordF st must e remrked tht the tive hrters ^ nd = my hve other menE ings in other ontextsF por exmple the equls sign is used y the grphi exE tensions for speifying keyword options for hndling the grphi elements to e inluded in the doumentF et the sme timeD s mentioned in the previous prE grphD diritil mrking in vtin is used only for typesetting ertin kind of doumentsD suh s grmmrs nd ditionriesF st is resonle tht the reve nd mron tive hrters re swithed on nd o' t willD nd in prtiulr tht they re o' y defult if the ttriute withprosodicmarks hs not een setF
rosodiwrksyn rosodiwrksyff
e egin y dding to the norml typesetting style the de(nitions of the new ommnds \ProsodicMarksOn nd \ProsodicMarksOff tht should produe error messges when the third style is not delredX
ddtoextrsltin{defrosodiwrksyn{7 qeneriirror{@ltinAdspesdspesdspesdspes}7 32.3 {vtin lnguge errorX stringrosodiwrksynspe 32.4 is defined y setting thewessgefrek
32.1 32.2
ITW
lnguge ttriute to withprosodimrks9wessgefrek sf you ontinue you re likely to enounterwessgefrek 32.7 ftl errors tht s n9t reover}7 32.8 {ee the vtin lnguge desription in the el 32.9 doumenttion for explntion}{dehd}}} 32.10 ddtoextrsltin{letrosodiwrksyffrelx}
32.5 32.6
hen we temporrily set the ret nd the equls sign to tive hrters so tht they n reeive their de(nitionsF fut (rst we store their urrent tegory odes to restore them lter onF
dtempntatodea dtempntatode 32.13 todea tive 32.14 tode tive
32.11 32.12
xow we n dd the neessry delrtions to the mros tht re eing tivted when the vtin lnguge nd its typesetting styles re delredX
ddtoextrsltin{lngugeshorthnds{ltin}}7 ddtoextrswithprosodimrks{ldtivte{}}7 32.17 ddtoextrswithprosodimrks{ldtivte{a}}7 32.18 ddtonoextrswithprosodimrks{lddetivte{}}7 32.19 ddtonoextrswithprosodimrks{lddetivte{a}}7 32.20 ddtoextrswithprosodimrks{rosodiwrks}
32.15 32.16
rosodiwrks
xotie tht with the ove rede(nitions of the ommnds \ProsodicMarksOn nd \ProsodicMarksOffD the opertion of the newly de(ned shortuts my e swithed on nd o' t willD so tht even if piture hs to e inserted in the doument y mens of the ommnds nd keyword options of the graphicx pkgeD it su0es to swith them o' efore invoking the piture inluding ommndD nd swithed on gin fterwrdsY orD even etterD sine the piture very likely is eing inserted within figure environmentD it su0es to swith them o' within the environmentD eing onsious tht their detivtion remins lol to the environmentF
32.24 32.25 32.26 32.27 32.28 32.29 32.30 32.31 32.32 32.33 32.34 32.35 32.36 32.37 32.38 32.39 32.40
inititedtivedhr{}7 inititedtivedhr{a}7 delredshorthnd{ltin}{}{7 textormth{u{}ldllowhyphens}{ht{}}}7 delredshorthnd{ltin}{e}{7 textormth{u{e}ldllowhyphens}{ht{e}}}7 delredshorthnd{ltin}{i}{7 textormth{u{i}ldllowhyphens}{ht{imth}}}7 delredshorthnd{ltin}{o}{7 textormth{u{o}ldllowhyphens}{ht{o}}}7 delredshorthnd{ltin}{u}{7 textormth{u{u}ldllowhyphens}{ht{u}}}7 delredshorthnd{ltin}{a}{7 textormth{a{}ldllowhyphens}{r{}}}7 delredshorthnd{ltin}{ae}{7 textormth{a{e}ldllowhyphens}{r{e}}}7
IUH
xotie tht the short hnd de(nitions re given only for lower se lettersY it would not e di0ult to extend the set of de(nitions to upper se lettersD ut it ppers of very little use in view of the kind of douments where prosodi mrks re supposed to e usedF xevertheless in those rre ses when it9s required to set some upperse letters with their prosodi mrksD it is lwys possile to A use the stndrd v i ommnds suh s \u{I} for typesetting or \={A} for sD typesetting eF pinlly we restore the ret nd equls sign initil defult tegory odesF
32.48 32.49
e de(ne two new ommnds so s to swith on nd o' the reve nd mron shortutsF
ddtoextrswithprosodimrks{letvtinwrksynrosodiwrksyn} ddtoextrswithprosodimrks{letvtinwrksyffrosodiwrksyff}
32.50 32.51
st must e understood tht y using the ove prosodi mrksD line reking is somewht impehedY sine suh prosodi mrks re used lmost exlusively in ditionriesD grmmrsD nd poems @only in shool textooksAD this shouldn9t e of ny importne for wht onerns the qulity of typesettingF
33
Etymological hyphenation
sn order to del in len wy with pre(xes nd ompound words to e divided etymologillyD the tive hrter " is given speil de(nition so s to ehve s disretionry rek with hyphention llowed fter itF wost of the ode for deling with the tive " is lredy ontined in the ore of babelD ut we re going to use it s single hrter shorthnd for vtinF
inititedtivedhr{4}7 ddtoextrsltin{ldtivte{4}7 33.3 }
33.1 33.2
e temporry mro is de(ned so s to tke di'erent tions in mth mode nd text modeX spei(lly in the former se the mro inserts doule quote s it should in mth modeD otherwise nother delyed mro omes into tionF
delredshorthnd{ltin}{4}{7 ifmmode 33.6 defltddnext{99}7 33.7 else 33.8 defltddnext{futureletltdtempltdwm}7 33.9 fi 33.10 ltddnext 33.11 }7
33.4 33.5
IUI
sn text mode the \lt@next ontrol sequene is suh tht upon its exeution temporry vrile \lt@temp is mde equivlent to the next token in the input list without tully removing itF uh temporry token is then tested y the mro \lt@cwm nd if it is found to e letter tokenD then it introdues ompound word seprtor ontrol sequene \lt@allowhyphens whose expnsion introdues disretionry hyphen nd n unrekle speY in se the token is not letterD the token is tested gin to (nd if it is the hrter |D in whih se it is goled nd disretionry rek is introduedF
defltdllowhyphens{norekdisretionry{E}{}{}norekhskipzdskip} newommndB{ltdwm}{letltdndxtrelx 33.14 iftnoexpndltdtemp 7 33.15 letltdndxtltdllowhyphens 33.16 else 33.17 ifnoexpndltdtempstring|7 33.18 defltdndxt{ltdllowhyphensdgole}7 33.19 fi 33.20 fi 33.21 ltdndxt}7
33.12 33.13
ettentionX the tegory ode omprison does not work if the temporry ontrol sequene \lt@temp hs een let equl to n impliit hrterD suh s \aeY therefore this etymologil hyphention fility does not work with medievl vtin spelling when " immeditely preedes ligtureF sn order to overome this drwk the shorthnd "| my e used in suh sesY it ehves extly s "D ut it does not test the impliit hrter ontrol sequeneF en input suh s super"|{\ae}quitas33 gets hyphented s su-per-qui-tas insted of su-pe-r-qui-tasF he mro \ldf@finish tkes re of looking for on(gurtion (leD setting the min lnguge to e swithed on t \begin{document} nd resetting the tegory ode of @ to its originl vlueF
33.22 33.23
ldfdfinish{ltin} /code
33 This
word does not exist in regular Latin, and it is used just as an example.
IUP
34
he (le portuges.dtx34 de(nes ll the lngugeEspei( mros for the orE tuguese lnguge s well s for the frsilin version of this lngugeF por this lnguge the hrter " is mde tiveF sn tle V n overview is given of its purposeF
disle ligture t this positionF n expliit hyphen signD llowing hyphention in the rest of the wordF like "-D ut produing no hyphen sign @for words tht should rek t some sign suh s entrdGslidF for prenh left doule quotes @similr to <<AF for prenh right doule quotes @similr to >>AF like the old \-D ut llowing hyphention in the rest of the wordF
le VX he extr de(nitions mde y portuges.ldf he mro \LdfInit tkes re of preventing tht this (le is loded more thn oneD heking the tegory ode of the @ signD etF
34.1 34.2
code vdfsnitgurrentyption{ptionsgurrentyption}
hen this (le is red s n optionD iFeF y the \usepackage ommndD portuges will e n unknown9 lnguge in whih se we hve to mke it knownF o we hek for the existene of \l@portuges to see whether we hve to do someE thing hereF ine it is possile to lod this (le with ny of the following four options to elX portugesD portugueseD brazil nd brazilian we lso llow tht the hyphention ptterns re loded under ny of these four nmesF e just hve to (nd out whih one ws usedF
ifxldportugesdundefined ifxldportuguesedundefined 34.5 ifxldrzildundefined 34.6 ifxldrzilindundefined 34.7 dnoptterns{ortuguese} 34.8 dddiletldportugesH 34.9 else 34.10 letldportugesldrzilin 34.11 fi 34.12 else 34.13 letldportugesldrzil 34.14 fi 34.15 else 34.16 letldportugesldportuguese 34.17 fi 34.18 fi
34.3 34.4
fy now \l@portuges is de(nedF hen the lnguge de(nition (le ws loded under di'erent nme we mke sure tht the hyphention ptterns n e foundF
34 The
le described in this section has version number v1.2q and was last revised on Contributions were made by Jose Pedro Ramalhete and Arnaldo Viegas de Lima (JRAMALHE@CERNVM arnaldo@VNET.IBM.COM. or 2008/03/18.
Jose-Pedro_Ramalhete@MACMAIL)
IUQ
xow we hve to deide whether this lnguge de(nition (le ws loded for ortuguese or frsilin useF his n e done y heking the ontents of \CurrentOptionF hen it doesn9t ontin either portuges9 or portuguese9 we mke \bbl@tempb emptyF
defldtemp{portuguese} ifxgurrentyptionldtemp 34.24 letldtempdempty 34.25 else 34.26 defldtemp{portuges} 34.27 ifxgurrentyptionldtemp 34.28 letldtempdempty 34.29 else 34.30 defldtemp{rzil} 34.31 fi 34.32 fi 34.33 ifxldtempdempty
34.22 34.23
he next step onsists of de(ning ommnds to swith to @nd fromA the orE tuguese lngugeF
ptionsportuges
he mro \captionsportuges de(nes ll strings used in the four stndrd doE A umentlsses provided with v iF
dnmedef{ptionsgurrentyption}{7 defprefenme{ref9io}7 defrefnme{eferenis}7 defstrtnme{esumo}7 definme{filiogrfi}7 defhpternme{gp9{i}tulo}7 defppendixnme{ependie}7
ome disussion took ple round the orret trnsltions for le of gontents9 nd sndex9F the trnsltions di'er for ortuguese nd frsilin sed the followE ing historyX he whole issue is tht some ooks without rel index t the end misused the term ndie9 s tle of ontentsF henD wht hppens is tht some ooks pered with ndie9 t the egining nd ndie emissivo9 t the endF emissivo is redundnt word in this seD ut ws introdued to mke up the di'ereneF o in frsil people strted using umrio9 nd ndie emissivo9F sn ortugl this seems not to e very ommonD therefore we hose ndie9 insted of ndie emissivo9F
34.41 34.42 34.43 34.44 34.45 34.46 34.47 34.48
defontentsnme{gonte9udo}7 deflistfigurenme{vist de pigurs}7 deflisttlenme{vist de els}7 defindexnme{9sndie}7 deffigurenme{pigur}7 deftlenme{el}7 defprtnme{rte}7 defenlnme{enexo}7
IUR
dteportuges
dnmedef{dtegurrentyption}{7 deftody{numerdyspe despeifsemonthor 34.59 tneiroor pevereiroor wr{}oor erilor wioor tunhoor 34.60 tulhoor egostoor etemroor yuturoor xovemroor hezemro7 34.61 fi 34.62 spe despenumeryer}} 34.63 else
34.57 34.58
ptionsrzil
he ptions re di'erent for oth versions of the lngugeD so we de(ne the mro \captionsbrazil hereF
dnmedef{ptionsgurrentyption}{7 defprefenme{ref9io}7 defrefnme{eferenis}7 defstrtnme{esumo}7 definme{eferenis filiogr9fis}7 defhpternme{gp9{i}tulo}7 defppendixnme{ependie}7 defontentsnme{um9rio}7 deflistfigurenme{vist de pigurs}7 deflisttlenme{vist de els}7 defindexnme{9sndie emissivo}7 deffigurenme{pigur}7 deftlenme{el}7 defprtnme{rte}7 defenlnme{enexo}7 defnme{g9opi pr}7 defhedtonme{r}7 defpgenme{9gin}7 defseenme{vej}7 deflsonme{vej tm9em}7 defproofnme{hemonstr{}~o}7 defglossrynme{qloss9rio}7 }
34.66 34.67 34.68 34.69 34.70 34.71 34.72 34.73 34.74 34.75 34.76 34.77 34.78 34.79 34.80 34.81 34.82 34.83 34.84 34.85 34.86 34.87 34.88
dterzil
he mro \datebrazil rede(nes the ommnd \today to produe frsilin dtesD for whih the nmes of the months re not pitlizedF
IUS
dnmedef{dtegurrentyption}{7 deftody{numerdyspe despeifsemonthor 34.91 jneiroor fevereiroor mr{}oor rilor mioor junhoor 34.92 julhoor gostoor setemroor outuroor novemroor dezemro7 34.93 fi 34.94 spe despenumeryer}} 34.95 fi
34.89 34.90
34.96
he mro \extrasportuges will perform ll the extr de(nitions needed for the ortuguese lngugeF he mro \noextrasportuges is used to nel the tions of \extrasportugesF por ortuguese the " hrter is mde tiveF his is done oneD lter on its de(nition my vryF yther lnguges in the sme doument my lso use the " hrter for shorthndsY we speify tht the portuguese group of shorthnds should e usedF
ddtonoextrsportuges{lddetivte{4}}
then we de(ne two shorthnds to e le to speify hyphention rekpoints tht ehve little di'erent from \-F
34.106 34.107
ell tht is left now is the rede(nition of \-F he new version of \- should indite n extr hyphention positionD while llowing other hyphention positions to e generted utomtillyF he stndrd ehviour of i in this respet is very unfortunte for lnguges suh s huth nd qermnD where long ompound words re quite norml nd ll one needs is mens to indite n extr hyphention position on top of the ones tht i n generte from the hyphention ptternsF
IUT
ord e lso provide n esy wy to typeset ordinlsD oth in the mle @\ord or \roA ro nd the femle @orda or \raA formF ord 34.114 deford{6{rm o}6} r 34.115 deford{6{rm }6} 34.116 letroordletrord
he mro \ldf@finish tkes re of looking for on(gurtion (leD setting the min lnguge to e swithed on t \begin{document} nd resetting the tegory ode of @ to its originl vlueF
34.117 34.118
ldfdfinishgurrentyption /code
IUU
35
he (le spanish.dtx35 de(nes ll the lngugeEspei( mros for the pnish lngugeF pnish support is implemented following minly the guidelines given y tos wrtnez de ousF ou my get the the full doumenttion @more omprehensiveD ut regrettly only in pnishA y typesetting spanish.dtx diretlyF here re exmples nd some dditionl fetures doumented in the pnish version onlyF grossEreferenes in this setion point to tht doumentF
horthnds listed in le WF ixmples in susetion QFR re illustrtiveF xotie tht "~ hs speil mening in spanish di'erent to other lngugesD nd is used minly in linguisti ontextsF \frenchspacingF
In math modeD
pnish ordinls nd revitions with the \sptext{ text } ommnd sD for instneD 1\sptext{er}F he preeptive dot is inludedF eented @lmD mxD mnD mdA nd sped @r osD etFA funtionsF \dotlessi is provided for use in mth modeF e quoting environment nd relted pir of shorthnds << nd >>F seful for trditionl spnish multiEprgrph quotingF here is smll spe efore the perent \% signF \lsc provides lowerse smll psF @ee susetion QFIHFA illipsis is est typed s ... orD within senteneD s \...
sf spanish is the min lngugeD the ommnd \layoutspanish is dded to the min groupD modifying the stndrd lsses throughout the whole doument in the following wyX
rgrphs re set with \indentfirstF foth enumerate nd itemize re dpted to pnish rulesF foth \alph nd \Alph inlude
35 The
fter nF
Previous versions were made by Julio Snchez. The English documentation has been improved by Jos Luis Rivera; thanks to him it is now a lot clearer.
IUV
'a 'n "i "u "a "o "er "ER "c "rr "y ""= "~ "" ~"/ "| "< "> << >> "? "!
eute ented F orks for eD iD oD uD too @oth lowerse nd upperseAF @upperse tooAF @upperse tooAF @upperse tooAF yrdinl numers @upperse "AD "O tooAF yrdinl IFer IFer @upperse tooAF rrD ut Er when hyphentedF en old ligture for et @like the inglish 8AF vike \-D ut llowing hyphention in the rest the wordF vike -D ut llowing hyphention in the rest the wordF he hyphen is repeted t the very eginning of the next line if the word is hyphented t this pointF vike "- ut produing no hyphen signF vike "- ut with no rek fter the hyphenF orks for enEdshes @~--A nd emEdshes @~---AF "+D "+nd "+-- re synonymousF e slsh slightly loweredD if neessryF hisle ligtures t this pointF veft guillemetsF ight guillemetsF \begin{quoting} nd \end{quoting}F @ee elowFA "` nd "' re synonymousF ypening question nd exlmtion mrks @A ligned on the selineD useful for llEps hedingsD etF
OT1 guillemets re generted with two lasy symols insted of smll \ll nd \ggF \roman is rede(ned to write smll ps omn numerlsD sine lowerse omn numerls re disourged @see elowAF here is dot fter setion numers in titlesD hedingsD nd toF
e suset of these fetures is implemented for lin i @esile with the ommnd \input spanish.styAF wost signi(ntlyD \lscD the quoting environE mentD nd fetures provided y \layoutspanish re missingF
fsi yptions es-noindentfirst es-nosectiondot es-nolists es-noquoting es-notilde es-nodecimaldot es-nolayout es-ucroman es-lcroman
es-minimal
es-sloppy
es-noshorthands
{babel}D to ensure their proper loding t runtimeF husD the following lls re roughly equivlentX
usepkgeFFFDspnishDesEnosetiondotDesEnodeimldotDFFF{el} defspnishoptions{esEnosetiondotDesEnodeimldot} usepkgeFFFDspnishDFFF{el}
ome glol options re uilt upon lower level optionsD nd my e used s shorthnd for more glol ustomiztionsF le IH gives n overview of the glol options onstruted this wyF wost of these options re selfEexplntoryX A they disle the hnges mde to the si v i lyout y spanishF es-lcroman howeverD nd few othersD need it of explntionD nd they my e desried s followsX
rditionl pnish typogrphy disourges the use of lowerse omn numerlsY instedD smllps vrint is implementedF roweverD sine Makeindex seems to hoke on the ode implementing lowerse omn numerls @vi the \lsc mroAD two workrounds re implementedX the es-ucroman option onverts ll omn numerls to upperseD nd the es-lcroman option turns ll omn numerls to lowerseY the former should e preferred over the ltterF hree mros ontrol lol hnges to omn numersX \spanishscromanD \spanishucromanD nd \spanishlcromanF he es-preindex option lls the romanidx.sty pkge utomtilly to (x index entries in smllps romn formF en dditionl mroD \spanishindexchars{ encap }{ openrange }{ closerange } determines the hrters delimiting index entriesF hefults re \spanishindexchars{|}{(}{)}F he es-tilden option restores the old tilde ~ shorthnd for F his shortE hnd is however strongly depretedF he es-nolayout option disles lyout hnges in the doument when spanish is the min lngugeF hese hnges 'et enumerted nd itemE ized listsD enumertions @lpheti order exludes AD nd symoli footE notesF he es-noshorthands disles the shorthnd mehnism ompletelyX neiE ther " nor ' nor < nor > nor ~ nor . work t llF
IVH
he es-noquoting option disles the mros << nd >> lling the quoting environmentY the lterntive mros "` nd "' re still villeF he es-uppernames option mkes upperse versions of ptions for hpterD tlenmeD etF he es-tabla option hnges udro for tl in ptionsF
pinllyD the pnish S series egins the implementtion of ntionl vritions of pnish typogrphyD eginning with wexioF hus the glol options mexico nd mexico-com re dpted to prties spred in wexioD nd perhps gentrl emeriD the grienD nd some ountries in outh emeriF36 wny of the glol options re implemented vi mrosD whih my e inluded in the on(gurtion (le spanish.cfgD in the premleD fter the ll to babelD nd in the ody of the doumentF hese mros re the followingF
he mros \spanishdashitems nd \spanishsignitems hnge the vlues of itemized lists to series of dshes or n lterntive series of symolsD respetivelyF he ommnd \deactivatequoting detivtes the << nd >> shorthnds if you wnt to use < nd > in numeril omprisons nd some ewi ommndsF ou my kill the spe in sped opertors with \unspacedoperatorsF ou my kill the ents on ented opertors with \unaccentedoperatorsF he ommnd \decimalpoint resets the deiml seprtor to its defult @dotA vlueD while \spanishdecimal{ symbol } llows for n ritrry de(E nitionF \spanishplainpercent prevents the ddition of thinspe efore the perE ent sign in textsF his might e useful for prenthesized perent signs in tlesD etF he mros \spanishdatedel nd \spanishdatede ontrol the if the rtile is given in yers @del or deAF he mro \spanishreverseddate sets the dte of the formt wonth hy del erF he mro \Today gives months in upperseF he mros \spanishcaption hnge the vlue of the @no need to dd n \addtoAF
caption
utomtilly
he ommnd \spanishdeactivate{ characters } disles the shorthnd hrters listed in the rgumentF ilegile hrters re the set .'"~<>F hese shorthnd hrters my e glolly detivted for pnish dding this ommnd to \shorthandsspanishF
36 The
main dierence is that keeps it enabled; both change the
mexico disables the decimaldot mechanism, while mexico-com quoting environment, disabling the use of guillemets.
IVI
4` 4b 99 9
ixtrs re divided in groups ontrolled y the ommnds \textspanishD \mathspanishD \shorthandsspanish y \layoutspanishY their vlues my e nelled typing \renewcommand{ command }{}D or hnged t will @hek the pnish doumenttion or the ode for detilsAF he ommnd \spanishoperators{ operators } de(nes ommnd nmes for opertors in pnishF here is no stndrd nme for some of themD so they my e reted or hnged t willF por instneD the omE mnd \renewcommand{\spanishoperators}{arc\,ctg m\acute{i}n} reE tes ommnds for these funtionsF he ommnd \, dds thinspes t the pproprite ples for sped opertors @like \arcctg in this seAD nd the ommnd \acute{ letter } dds n ent to the letter inluded in the defE inition @thusD m\acute{i}n de(nes the ented funtion \min @mnAY plese notie tht \dotlessi is not neessryAF he ommnds \lquoti{ string } \rquoti{ string } \lquotii{ string } \rquotii{ string } \lquotiii{ string } \rquotiii{ string } set the quotE ing signs in the quoting environmentD nested from outside inF hey my e \renewed t willF hefult vlues re shown in tle IIF he ommnd \selectspanish* is osoleteX if spanish is the min lngugeD ll its fetures re ville right fter loding babelF he es-delayed option is provided to restore the previous ehvior nd mros for kwrds omptiilityF
code rovidesvnguge{spnishFldf} 35.3 PHHVGHUGHT vSFHe pnish support from the el system 35.4 vdfsnit{spnish}ptionsspnish
35.1 35.2 35.5
IVP
fi defesdsdef5I{eldsve5Idef5I}
kge options for spnishF o void error messges dummy options re reted on the )y when neessryF
35.22 35.23 35.24 35.25 35.26
defesdgenoption5I5P5Q{7 helreyption{5I}{}7 35.29 difpkgewith{el}{5I}7 35.30 {defesd{5I}7 35.31 expndfterletexpndfteresdsnme optdelFstyendsnme 35.32 ddtoesd{D5P}7 35.33 expndfterletsnme optdelFstyendsnmeesd 35.34 etindyfkge{5Q}}7 35.35 {}}
35.27 35.28 35.36
esdgenoption{esEminiml} {esEuromnDesEnoindentfirstDesEnosetiondotDesEnolistsD7 35.39 esEnoquotingDesEnotildeDesEnodeimldot} 35.40 {spnishplinperent 35.41 letesdopertorsrelx} 35.42 esdgenoption{esEsloppy} 35.43 {esEnolyoutDesEnoshorthnds}{} 35.44 esdgenoption{esEnoshorthnds} 35.45 {esEnoquotingDesEnodeimldotDesEnotilde}{} 35.46 esdgenoption{mexio} 35.47 {mexioEomDesEnodeimldot}{} 35.48 esdgenoption{mexioEom} 35.49 {esEtlDesEnoquoting} 35.50 {deflquoti{}defrquoti{99}7 35.51 deflquotii{}defrquotii{9}7 35.52 deflquotiii{guillemotleft{}}7 35.53 defrquotiii{guillemotright{}}}
35.37 35.38 35.54
IVQ
letesduldseondoftwo esdifoption{uppernmes}{letesduldfirstoftwo}{}
gptions follow two step shemD so thtD syD \refname is de(ned s \spanishrefname whih in turn ontins the string to e printedF he (nl de(E nition of \captionsspanish is uilt elowF
defptionsspnish{7 esd{prefe}{refio}7 35.75 esd{ref}{eferenis}7 35.76 esd{strt}{esumen}7 35.77 esd{i}{filiogrf9{i}}7 35.78 esd{hpter}{gp9{i}tulo}7 35.79 esd{ppendix}{ep9{e}ndie}7 35.80 esd{listfigure}{9{s}ndie de esdul pfigurs}7 35.81 esd{listtle}{9{s}ndie de expndfteresdulesdtlenme s}7 35.82 esd{index}{9{s}ndie esdul elf9{e}tio}7 35.83 esd{figure}{pigur}7 35.84 esd{tle}{expndfterdfirstoftwoesdtlenme}7 35.85 esd{prt}{rte}7 35.86 esd{enl}{edjunto}7 35.87 esd{}{gopi }7 35.88 esd{hedto}{e}7 35.89 esd{pge}{p9{}gin}7 35.90 esd{see}{v9{e}se}7 35.91 esd{lso}{v9{e}se tmi9{e}n}7 35.92 esd{proof}{hemostri9{o}n}7 35.93 esd{glossry}{qlosrio}7 35.94 difundefined{hpter} 35.95 {esd{ontents}{9sndie}}7 35.96 {esd{ontents}{9sndie esdul qgenerl}}}
35.73 35.74 35.97
defesd5I{dnmedef{spnish5Inme}} ptionsspnish 35.100 defesd5I5P{7 35.101 defexpndfternoexpndsnme5Inmeendsnme 35.102 {expndfternoexpndsnme spnish5Inmeendsnme}} 35.103 edefptionsspnish{ptionsspnish}
35.98 35.99
IVR
fi deifnumyerbIWWWesdyerlfi~theyer}
defdtespnish{7 deftody{esdtodydseondoftwo}7 35.119 defody{esdtodydfirstoftwo}} 35.120 newountesddtefmt 35.121 defspnishreverseddte{esddtefmtdne} 35.122 defspnishdtedel{defesdyerl{l}} 35.123 defspnishdtede{letesdyerldempty} 35.124 spnishdtede
35.117 35.118
he si mros to selet the lnguge in the premle or the on(g (leF se of \selectlanguage should e voided t this erly stge euse the tive hrs re not yet tiveF \selectspanish mkes them tiveF
defseletspnish{7 defseletspnish{7 35.127 defseletspnish{7 35.128 kgerning{spnish}{ixtr stringseletspnish ignored}}7 35.129 esdselet}} 35.130 donlypremleseletspnish 35.131 defesdselet{7 35.132 letesdseletdundefined 35.133 seletlnguge{spnish}}
35.125 35.126 35.134 35.135
letesdshlistdempty
snsted of joining ll the extrs diretly in \extrasspanishD we sudivide them in three further groupsF
defextrsspnish{7 textspnish 35.138 mthspnish 35.139 ifxshorthndsspnishdempty 35.140 expndfterspnishdetivteexpndfter{esdshlist}7 35.141 lngugeshorthnds{none}7 35.142 else 35.143 shorthndsspnish 35.144 fi} 35.145 defnoextrsspnish{7 35.146 ifxtextspnishdemptyelse 35.147 notextspnish 35.148 fi 35.149 ifxmthspnishdemptyelse 35.150 nomthspnish 35.151 fi 35.152 ifxshorthndsspnishdemptyelse 35.153 noshorthndsspnish 35.154 fi 35.155 snme esdrestorelistendsnme}
35.136 35.137 35.156 35.157 35.158 35.159
ddtotextspnish{esdsdefsptext{protetesdsptext}} defesdorddot{F}
IVS
he de(nition of \sptext is more elorted thn tht of \textsuperscriptF ith upperse supersript text the sriptsriptsize is usedF he mndtory dot is lredy inludedF here re two versionsD depending on the formtF
ifesdltex defesdsptext5I{7 35.162 {esdorddot 35.163 setoxzdhox{V}dimendhtzd 35.164 snme dfdsizeendsnme 35.165 edefdtemp{defnoexpnddtemp{5I}7 35.166 lowerse{defnoexpnddtemp{5I}}}dtemp 35.167 ifxdtempdtemp 35.168 fontsizesfdsizezd 35.169 seletfont 35.170 dvnedimendEIFISex 35.171 else 35.172 fontsizessfdsizezd 35.173 seletfont 35.174 dvnedimendEIFSex 35.175 fi 35.176 mthdfontsflserisedimendhox{5I}}} 35.177 else 35.178 letsptextfontrm 35.179 defesdsptext5I{7 35.180 {esdorddot 35.181 setoxzdhox{V}dimendhtzd 35.182 edefdtemp{defnoexpnddtemp{5I}7 35.183 lowerse{defnoexpnddtemp{5I}}}dtemp 35.184 ifxdtempdtemp 35.185 dvnedimendEHFUSex 35.186 risedimendhox{6sriptstylesptextfont5I6}7 35.187 else 35.188 dvnedimendEHFVex 35.189 risedimendhox{6sriptsriptstylesptextfont5I6}7 35.190 fi}} 35.191 fi
35.160 35.161
xowD lowerse smll psF pirstD we test if there re tul smll ps for the urrent fontF sf notD fked smll ps re usedF he \selectfont in \es@lsc ould seem redundntD ut it9s notF en intermedite mro llows using n optimized vrint for omn numerlsF
ifesdltex ddtotextspnish{esdsdefls{protetesdls}} 35.194 defesdls{esdxlswkeppersewkevowerse} 35.195 defesdxls5I5P5Q{7 35.196 levevmode 35.197 hox{7 35.198 sshpeseletfont 35.199 expndfterifxsnmefdenodingGfdfmilyGfdseries 35.200 GnGfdsizeexpndfterendsnme 35.201 snmeurrdfontshpeGfdsizeendsnme 35.202 snme dfdsizeendsnme 35.203 fontsizesfdsizezdseletfont 35.204 kgerning{spnish}{epling urrdfontshpe9 y
35.192 35.193
IVT
fi
he quoting environmentF his prt is not ville in linF yverriding the defult \everypar is it trikyF
35.211 35.212
newififesdlistquot
ifesdltex snme newtoksendsnmeesdquottoks 35.215 snme newountendsnmeesdquotdepth 35.216 newenvironment{quoting} 35.217 {levevmode 35.218 dvneesdquotdepthdne 35.219 snme lquotromnnumerlesdquotdepthendsnme7 35.220 ifnumesdquotdepthadne 35.221 esdlistquotflse 35.222 letesdquotpreverypr 35.223 leteverypresdquottoks 35.224 everyprexpndfter{theesdquotpr}7 35.225 esdquotpr{theeverypr 35.226 ifesdlistquotglolesdlistquotflseelseesdquotontfi}7 35.227 fi 35.228 toksdexpndfter{esdquotont}7 35.229 edefesdquotont{thetoksd 35.230 expndfternoexpnd 35.231 snme rquotromnnumerlesdquotdepthendsnme}} 35.232 {snme rquotromnnumerlesdquotdepthendsnme} 35.233 deflquoti{guillemotleft{}} 35.234 defrquoti{guillemotright{}} 35.235 deflquotii{} 35.236 defrquotii{99} 35.237 deflquotiii{} 35.238 defrquotiii{9} 35.239 letesdquotontdempty
35.213 35.214
sf there is mrgin pr inside quotingD we don9t dd the quotesF \es@listqout stores the quotes to e used efore item lelsY otherwise they ould pper fter the lelsF
ddtodmrginprreset{letesdquotontdempty} helreoustgommndesdlistquot{7 35.242 snme rquotromnnumerlesdquotdepthendsnme 35.243 glolesdlistquottrue} 35.244 fi
35.240 35.241
IVU
defesddotsFF{levevmodehox{FFF}speftordw} defesdspperent{unskiptextormth{6mdthD6}{D}} 35.252 defspnishplinperent{letesdspperentdempty} 35.253 ddtotextspnish{7 35.254 letperentsign77 35.255 esdsdef7{esdspperentperentsign{}}}
35.250 35.251
e follow with the mth groupF st9s not esy to dd n ent to n opertorF he di0ulty is tht we must void using text @tht isD \mboxA euse we hve no ontrol on font nd sizeD nd t time we should ess \iD whih is text ommnd foridden in mth modeF \dotlessi must e onverted to upperse if neessry A in v i P F here re two versionsD depending on the formtF
35.256 35.257 35.258
ddtomthspnish{esdsdefdotlessi{protetesddotlessi}} letnomthspnishrelx
ifesdltex defesddotlessi{7 35.266 ifmmode 35.267 {ifnummthgroupamdne 35.268 imth 35.269 else 35.270 ountdespehr espehramdne 35.271 expndfterexpndfterexpndfter 35.272 splitdnmeexpndfterstringthetextfontmthgroupdnil 35.273 espehraountd 35.274 difundefined{fdenodingstringi}7 35.275 {edeffdenoding{stringc}}{}7 35.276 expndfterountdthesnmefdenodingstringiendsnme 35.277 dvneountd4UHHH 35.278 mthhrountd 35.279 fi}7 35.280 else 35.281 i 35.282 fi} 35.283 else 35.284 defesddotlessi{textormth{i}{mthhr4UHIH}} 35.285 fi
35.264 35.265 35.286
defentedopertors{7 defesdopd55I{ute{if i55Idotlessielse55Ifi}}} 35.289 defunentedopertors{7 35.290 defesdopd55I{55I}} 35.291 entedopertors 35.292 defspedopertors{letesdopdspD} 35.293 defunspedopertors{letesdopdspdempty} 35.294 spedopertors 35.295 ddtomthspnish{esdopertors}
35.287 35.288 35.296 35.297
ifesdltexelse
IVV
35.298 35.299
letopertordfontrm fi
he opertors re stored in \es@operatorsD whih in turn is inluded in the A mth groupF ine \operator@font is de(ned in v i P onlyD we de(ned in the plin vrintF
defesdopertors{7 esdsdefmod{nonsriptmskipEmedmuskipmkernSmu 35.302 mthin{opertordfont mesdopd od}penltyWHHmkernSmu 35.303 nonsriptmskipEmedmuskip}7 35.304 difundefined{dmsmthderr}7 35.305 {esdsdefpmod55II{llowrekmkernIVmu 35.306 @{opertordfont mesdopd od}DD55IIA}}7 35.307 {esdsdefmod55I{llowrekifddisplymkernIVmu 35.308 elsemkernIPmufi{opertordfont mesdopd od}DD55I}7 35.309 esdsdefpmod55I{pod{{opertordfont mesdopd od}7 35.310 mkernTmu55I}}}7 35.311 defesd55I {7 35.312 if55I7 emptyc ontinue 35.313 ldfterelse 35.314 esd 35.315 else 35.316 ldfterfi 35.317 {if855I7 8c finish 35.318 else 35.319 ldfterfi 35.320 egingroup 35.321 letDdempty 7 ignore when def9ing nme 35.322 letutedfirstofone 7 id 35.323 edefesd{expndfternoexpndsnme55Iendsnme}7 35.324 defD{noexpndesdopdsp}7 35.325 defute{noexpndesdopd}7 35.326 edefesd{endgroup 35.327 noexpndesdsdefexpndfternoexpndesd{7 35.328 mthop{noexpndopertordfont55I}esd}}7 35.329 esd 7 restores itself 35.330 esd 35.331 fi}7 35.332 fi}7 35.333 letesdspnishopertors 35.334 ddtoesd{ }7 35.335 letesddempty 35.336 expndfteresdesd lute{i}m lute{i}mDsup 35.337 lute{i}mDinf mute{}x ute{i}nf mute{i}n 8 7 35.338 defesd{nolimits}7 35.339 expndfteresdesd sen tg rDsen rDos rDtg 8 } 35.340 defspnishopertors{otg ose senh tgh }
35.300 35.301
xow omes the text shorthndsF hey re grouped in \shorthandsspanish nd this style performs some opertions efore the el shortnds re lledF he ims re to llow espression like $a^{x'}$ nd to detivte shorthnds y mking them of tegory otherF9 efter providing \'i shorthndD the new mros re de(nedF
35.341
helreextgompositegommnd{9}{yI}{i}{dtkludge9{i}}
IVW
35.342
defesdsetdshorthnd5I{7 expndfteredefsnme esdsvetstring5Iendsnme 35.345 {thetode5I}7 35.346 inititedtivedhr{5I}7 35.347 tode5Iasnme esdsvetstring5Iendsnmerelx 35.348 ifF5Ielse 35.349 ddtoesdrestorelist{esdrestore{5I}}7 35.350 ddtoesdselet{shorthndon{5I}}7 35.351 ddtoshorthndsspnish{esdtivte{5I}}7 35.352 ddtoesdshlist{5I}7 35.353 fi}
35.343 35.344 35.354
defesdusedshorthnd{7 ifxthepgerelx 35.357 ldfterelse 35.358 string 35.359 else 35.360 ldfterfi 35.361 {ifxprotetdunexpndledprotet 35.362 ldfterelse 35.363 noexpnd 35.364 else 35.365 ldfterfi 35.366 esdusedsh 35.367 fi}7 35.368 fi}
35.355 35.356 35.369
defesdusedsh5I{7 ifdsfedtives 35.372 ldfterelse 35.373 string5I7 35.374 else7 35.375 ldfterfi 35.376 textormth 35.377 {snme tivedhrstring5Iendsnme}7 35.378 {snme normldhrstring5Iendsnme}7 35.379 fi}
35.370 35.371 35.380
gdefesdtivte5I{7 egingroup 35.383 lode~a5I 35.384 lowerse{7 35.385 endgroup 35.386 def~{esdusedshorthnd~}}}
35.381 35.382 35.387 35.388 35.389 35.390
defspnishdetivte5I{7 dtfordtempXa5Ido{expndfteresdspdetivtedtemp}}
IWH
\es@restore is used in the list \es@restorelistD whih in turn restores ll shorthnds s de(ned y babelF he ltter mros lso hs \es@quotingF
defesdrestore5I{7 shorthndon{5I}7 35.405 egingroup 35.406 lode~a5I 35.407 lowerse{7 35.408 endgroup 35.409 lddetivte{~}}}
35.403 35.404
o seletively de(ne the shorthnds we hve ouple of mrosD whih de(nes ertin omintion if the (rst hrter hs een tivted s shorthndF he seond one is intended for few shorthnds with n lterntive formF
defesddelre5I{7 difundefined{esdsvetexpndfterstringdfirstoftwo5I}7 35.412 {dgole}7 35.413 {delredshorthnd{spnish}{5I}}} 35.414 defesddelrelt5I5P5Q{7 35.415 esddelre{5I}{5Q}7 35.416 esddelre{5P}{5Q}}
35.410 35.411 35.417
difundefined{dddent}{defdddent5I5P{ent5I 5P}}{}
snsted of rede(ning \'D we rede(ne the internl mro for the yI enodingF
ifesdltex defesdent5I5P5Q{7 35.425 expndfterdtextdomposite 35.426 snme yIstring5Iendsnme5Qdemptydtextdomposite 35.427 {ldllowhyphensdddent{5P}{5Q}ldllowhyphens 35.428 setoxdtempoxhox{5Q7 35.429 glolmthhrdefentdspeftorspeftor}7 35.430 speftorentdspeftor}} 35.431 else 35.432 defesdent5I5P5Q{7 35.433 ldllowhyphensdddent{5P}{5Q}ldllowhyphens 35.434 speftorsfode5Q } 35.435 fi
35.423 35.424 35.436 35.437 35.438
ddtoshorthndsspnish{lngugeshorthnds{spnish}}7 esdifoption{noshorthnds}{}{esdsetdshorthnd{4}}
ifesdltex ddtoshorthndsspnish{7 35.450 expndfteresdsdefsnme yIstring~endsnme{esdent~{IPT}}7 35.451 expndfteresdsdefsnme yIstring9endsnme{esdent9{IW}}} 35.452 else 35.453 ddtoshorthndsspnish{7 35.454 esdsdef~{esdent~{IPT}}7 35.455 esdsdef95I{if5Iiesdent9{IW}ielseesdent9{IW}{5I}fi}} 35.456 fi
35.448 35.449 35.457
defesdsptextdr5I5P{esdsptext{5I5P}} esddelre{4}{sptext{}} 35.460 esddelre{4e}{sptext{e}} 35.461 esddelre{4o}{sptext{o}} 35.462 esddelre{4y}{sptext{y}} 35.463 esddelre{4e}{protetesdsptextdr{e}} 35.464 esddelre{4i}{protetesdsptextdr{i}} 35.465 esddelre{4u}{4u} 35.466 esddelre{4}{4} 35.467 esddelre{4i}{4{i}} 35.468 esddelre{4s}{4s} 35.469 esddelre{4}{{}} 35.470 esddelre{4g}{{g}} 35.471 esddelre{4`}{guillemotleft{}} 35.472 esddelre{4b}{guillemotright{}} 35.473 defesdhf{hrhyphenhrfont} 35.474 esddelre{4E}{ldllowhyphensEldllowhyphens} 35.475 esddelre{4a}{ldllowhyphensesdhfhskipzdskip} 35.476 esddelre{4~} 35.477 {ldllowhyphens 35.478 disretionry{esdhf}{esdhf}{esdhf}7 35.479 ldllowhyphens} 35.480 esddelre{4r} 35.481 {ldllowhyphens 35.482 disretionry{esdhf}{}{r}7 35.483 ldllowhyphens} 35.484 esddelre{4} 35.485 {ldllowhyphens 35.486 disretionry{esdhf}{}{}7 35.487 ldllowhyphens} 35.488 esddelre{4y} 35.489 {difundefined{sleox}7 35.490 {ensuremth{tu}}7 35.491 {riseox{Iex}{sleox{EI}{resizeox{FRSem}{Iex}{P}}}}} 35.492 esddelre{44}{hskipzdskip}
35.458 35.459
IWP
esddelre{4G} {setoxzdhox{G}7 35.495 dimendhtzd 35.496 dvnedimendEIex 35.497 dvnedimenddpzd 35.498 dimendFQIdimend 35.499 dvnedimendEdpzd 35.500 ifdimdimendbHpt 35.501 kernFHIemlowerdimendoxzdkernFHQem 35.502 else 35.503 oxzd 35.504 fi} 35.505 esddelre{4c} 35.506 {setoxzdhox{c}7 35.507 levevmoderisedpzdoxzd} 35.508 esddelre{43} 35.509 {setoxzdhox{3}7 35.510 levevmoderisedpzdoxzd}
35.493 35.494 35.511
defspnishdeiml5I{defesddeiml{{5I}}} defdeimlomm{spnishdeiml{D}} 35.514 defdeimlpoint{spnishdeiml{F}} 35.515 deimlomm 35.516 esdifoption{nodeimldot}{} 35.517 {etfeginhoument{groupdfileswflse}7 35.518 esdsetdshorthnd{F}7 35.519 etfeginhoument{egroup}7 35.520 dnmedef{normldhrstringF}{7 35.521 difnexthregroup 35.522 {mthhresdperioddoderelx}7 35.523 {snme tivedhrstringFendsnme}}7 35.524 delredshorthnd{system}{F}{mthhresdperioddoderelx}7 35.525 ddtoshorthndsspnish{7 35.526 mthhrdefesdperioddodethemthodeF7 35.527 eldsvevrile{mthodeF}7 35.528 mthodeFa4VHHH 7 35.529 esdtivte{F}}7 35.530 defesd5I{esddelre{F5I}{esddeiml5I}}7 35.531 esdIesdPesdQesdResdSesdTesdUesdVesdWesdH}
35.512 35.513 35.532
esdifoption{notilde}{}{esdsetdshorthnd{~}} defdetivtetilden{7 35.535 expndfterletsnme spnishdshdstring~dndendsnmerelx 35.536 expndfterletsnme spnishdshdstring~dxdendsnmerelx} 35.537 esdifoption{tilden} 35.538 {esddelre{~n}{~n}7 35.539 esddelre{~x}{~x}} 35.540 {letdetivtetildenrelx} 35.541 esddelrelt{~E}{4C}{7 35.542 levevmode 35.543 group 35.544 letdsptokenesddshes 7 ghnges difnexthr ehviour 35.545 difnexthrE7 35.546 {esddshes}7
35.533 35.534
IWQ
esdifoption{noquoting}7 {letesdquotingrelx 35.555 lettivtequotingrelx 35.556 letdetivtequotingrelx} 35.557 {difundefined{wvdtodes}7 35.558 {esdsetdshorthnd{`}7 35.559 esdsetdshorthnd{b}7 35.560 delredshorthnd{system}{`}{snme normldhrstring`endsnme}7 35.561 delredshorthnd{system}{b}{snme normldhrstringbendsnme}7 35.562 ddtoesdrestorelist{esdquoting}7 35.563 ddtoesdselet{esdquoting}7 35.564 ifesdltex 35.565 etfeginhoument{7 35.566 esdquoting 35.567 ifdfilesw 35.568 immeditewritedminux{stringdnmeuse{esdquoting}}7 35.569 fi}7 35.570 fi 35.571 deftivtequoting{7 35.572 shorthndon{`b}7 35.573 letesdquotingtivtequoting}7 35.574 defdetivtequoting{7 35.575 shorthndoff{`b}7 35.576 letesdquotingdetivtequoting}}{}}
35.553 35.554 35.577 35.578 35.579
esddelrelt{``}{4}{egin{quoting}} esddelrelt{bb}{49}{end{quoting}}
eute ent shorthnds re stored in mroF sf activeacute ws set s n option it9s exeutedF sf not is not deleted for possile lter use in the cfg (leF A sn non v i P formts is lwys exeutedF
egingroup tode9aIP 35.582 gdefesdtiveute{7 35.583 esdsetdshorthnd{9}7 35.584 defesd55I{esddelre{955I}{dtkludge955I}}7 35.585 esd esd eesd iesd oesd u7 35.586 esd eesd iesd sesd yesd 7 35.587 esddelre{9n}{~n}7 35.588 esddelre{9x}{~x}7 35.589 esddelre{99}{textquotedlright}7
35.580 35.581
fut spanish llows two tegory odes for 'D so oth should e tken into ount in \bbl@pr@m@sF
35.590 35.591 35.592 35.593
IWR
prddds else 35.596 ldfterfi 35.597 esdprdmds 35.598 fi}7 35.599 letesdtiveuterelx} 35.600 endgroup
35.594 35.595 35.601
end the ustomiztionF fy defult these mros only store the vlues nd do nothingF
35.607 35.608 35.609
defesdenumerte5I5P5Q5R{defesdenum{{5I}{5P}{5Q}{5R}}} defesditemize5I5P5Q5R{defesditem{{5I}{5P}{5Q}{5R}}}
ifesdltex esdenumerte{IF}{A}{IA}{696} 35.612 defspnishdshitems{esditemize{EEE}{EEE}{EEE}{EEE}} 35.613 defspnishsymitems{7 35.614 esditemize 35.615 {levevmodehox to IFPex 35.616 {hssvrule height FWex width FUex depth EFPexhss}}7 35.617 {textullet}7 35.618 {6mdthir6}7 35.619 {6mdthdimond6}} 35.620 defspnishsignitems{7 35.621 esditemize{textullet}7 35.622 {6mdthir6}7 35.623 {6mdthdimond6}7 35.624 {6mdthtringleright6}} 35.625 spnishsymitems 35.626 defesdenumdef5I5P5Qdd{7 35.627 if5PI7 35.628 dnmedef{theenum5I}{ri{enum5I}}7 35.629 elseif5P7 35.630 dnmedef{theenum5I}{emph{lph{enum5I}}}7 35.631 elseif5Pe7 35.632 dnmedef{theenum5I}{elph{enum5I}}7 35.633 elseif5Pi7 35.634 dnmedef{theenum5I}{romn{enum5I}}7 35.635 elseif5Ps7 35.636 dnmedef{theenum5I}{omn{enum5I}}7 35.637 elseif5Po7 35.638 dnmedef{theenum5I}{ri{enum5I}sptext{o}}7 35.639 fifififififi 35.640 toksdexpndfter{snme theenum5Iendsnme}7 35.641 expndfteredefsnme lelenum5Iendsnme 35.642 {noexpndesdlistquotthetoksd5Q}} 35.643 defesdguillemot5I5P{7 35.644 ifmmode5I7
35.610 35.611
IWS
else svedsfdq{penltydw 35.647 levevmodehox{usefont{}{lsy}{m}{n}7 35.648 hr5P kernEHFIWemhr5P }}7 35.649 fi} 35.650 deflyoutspnish{7 35.651 letlyoutspnishdempty 35.652 helreextgommnd{guillemotleft}{yI}{esdguillemotll{RH}}7 35.653 helreextgommnd{guillemotright}{yI}{esdguillemotgg{RI}}7 35.654 defdfnsymol55I7 35.655 {ifse55IorBorBBorBBBorBBBBor 35.656 BBBBBorBBBBBBelsedtrerrfi}7 35.657 defdlph55I7 35.658 {ifse55Ior or or or dor eor for gor hor ior jor 35.659 kor lor mor nor ~nor oor por qor ror sor tor uor vor 35.660 wor xor yor zelsedtrerrfi}7 35.661 defdelph55I7 35.662 {ifse55Ior eor for gor hor ior por qor ror sor tor 35.663 uor vor wor xor ~xor yor or or or or or or or 35.664 or or or elsedtrerrfi}}
35.645 35.646 35.665
esdoptlyout{nolists}{7 defesdenumerte5I5P5Q5R{7 35.668 esdenumdef{i}5Idemptydemptydd 35.669 esdenumdef{ii}5Pdemptydemptydd 35.670 esdenumdef{iii}5Qdemptydemptydd 35.671 esdenumdef{iv}5Rdemptydemptydd}7 35.672 defesditemize5I5P5Q5R{7 35.673 deflelitemi{esdlistquot5I}7 35.674 deflelitemii{esdlistquot5P}7 35.675 deflelitemiii{esdlistquot5Q}7 35.676 deflelitemiv{esdlistquot5R}}7 35.677 defpdenumii{theenumi}7 35.678 defpdenumiii{pdenumiitheenumii}7 35.679 defpdenumiv{pdenumiiitheenumiii}7 35.680 expndfteresdenumerteesdenum 35.681 expndfteresditemizeesditem} 35.682 letesromnindexdseondoftwo 35.683 esdifoption{uromn} 35.684 {defesdromndef{7 35.685 defesromnindex55I55P{55I{upperse{55P}}}7 35.686 defdromn{domn}}} 35.687 {defesdromndef{7 35.688 defesromnindex55I55P{55I{protetesdromn{55P}}}7 35.689 defdromn55I{esdromn{numer55I}}7 35.690 defesdromn55I{esdsromn{romnnumerl55I}}7 35.691 helreoustgommndesdsromn{esdxlsuppersedfirstofone}}} 35.692 esdoptlyout{lromn}{esdromndef} 35.693 newommndspnishlromn{defdromn55I{romnnumerl55I}} 35.694 newommndspnishuromn{defdromn{domn}} 35.695 newommndspnishsromn{defdromn55I{esdromn{romnnumerl55I}}} 35.696 esdoptlyout{noindentfirst}{7 35.697 letdfterindentflsedfterindenttrue 35.698 dfterindenttrue}
35.666 35.667
IWT
esdoptlyout{nosetiondot}{7 defdsentformt5I{snme the5IendsnmeFqud}7 35.701 defnumerline5I{hdxtddtempdim{5Iif85I8elseFfihfil}}} 35.702 esdifoption{nolyout}{letlyoutspnishrelx}{} 35.703 esdifoption{sloppy}{lettextspnishrelxletmthspnishrelx}{} 35.704 esdifoption{delyed}{}{defesdlyoutspnish{lyoutspnish}} 35.705 esdifoption{preindex}{etindyfkge{equirekge{romnidx}}}{}
35.699 35.700
e need to exeute the following ode when el hs een runD in order to see if spanish is the min lngugeF
etindyfkge{7 letesdtiveutedundefined 35.708 defldtemp{spnish}7 35.709 ifxldmindlngugeldtemp 35.710 dnmeuse{esdlyoutspnish}7 35.711 ddtoesdselet{7 35.712 difstr{kgeirror{spnish}7 35.713 {yld syntxEEuse esEnolyout}7 35.714 {sf you don9t wnt hnges in lyoutwessgefrek 35.715 use the esEnolyout pkge option}}7 35.716 {}}7 35.717 etfeginhoument{lyoutspnish}7 35.718 fi 35.719 seletspnish} 35.720 fi
35.706 35.707
efter restoring the tode of ~ nd setting the miniml vlues for hyphentionD the .ldf is (nishedF
esdsvedtodes providehyphenmins{gurrentyption}{twdtwd} 35.723 ifesdltexelse 35.724 esdselet 35.725 fi 35.726 ldfdfinish{spnish} 35.727 snme tivtequotingendsnme 35.728 /code
35.721 35.722
ht9s ll in the min (leF he spanish option writes mro in the pge (eld of MakeIndex in entries with smll ps numerD nd they re rejetedF his progrm is preproessor whih moves this mro to the entry (eldF st n e lled from the min doument s pkge or with the pkge option es-preindexF
35.729 35.730 35.731
indexes mketletter
difundefined{esdidxfile} {defspnishindexhrs5I5P5Q{7 35.734 edefesdenp{expndfternoexpndsnmestring5Iendsnme}7 35.735 edefesdopenrnge{expndfternoexpndsnmestring5Pendsnme}7 35.736 edefesdlosernge{expndfternoexpndsnmestring5Qendsnme}}7 35.737 spnishindexhrs{|}{@}{A}7 35.738 ifxdoumentlssdtwolsseserror 35.739 edefesdidxfile{jonme}7 35.740 etindhoument{7
35.732 35.733
IWU
35.741 35.742 35.743 35.744 35.745 35.746 35.747 35.748 35.749 35.750 35.751 35.752
difundefined{esdidxfile} {typeinnswer{terhivo que onvertirt7 35.755 @extension por omision FidxAX}} 35.756 {letnsweresdidxfile}
35.753 35.754 35.757
dexpndtworgsind{F}{nswer} ifind 35.760 edefesdinputdfile{expndfteresdsplitdfilenswerdd} 35.761 edefesdinputdext{expndfteresdsplitdextnswerdd} 35.762 else 35.763 edefesdinputdfile{nswer} 35.764 defesdinputdext{idx} 35.765 fi
35.758 35.759 35.766
difundefined{esdidxfile} {typeinnswer{terhivo de destinot7 35.769 @rhivo por omisionX esdinputdfileFeixDt7 35.770 extension por omision FeixAX}} 35.771 {letnsweresdidxfile} 35.772 ifxnswerdempty 35.773 edefesdoutput{esdinputdfileFeix} 35.774 else 35.775 dexpndtworgsind{F}{nswer} 35.776 ifind 35.777 edefesdoutput{nswer} 35.778 else 35.779 edefesdoutput{nswerFeix} 35.780 fi 35.781 fi
35.767 35.768 35.782
difundefined{esdidxfile} {typeinnswer{7 35.785 tce h usdo lgun esquem espeil de ontrolest7 35.786 de wkesndex pr enpD openrnge o loserngect7 35.787 sGn @n por omisionA}} 35.788 {defnswer{n}}
35.783 35.784 35.789
if snswer typeinnswer{tgrter pr 9enp9t7 35.792 @string| por omisionA} 35.793 ifxnswerdemptyelse 35.794 edefesdenp{7
35.790 35.791
IWV
35.795
expndfternoexpndsnmeexpndfterstringnswerendsnme} fi 35.797 typeinnswer{tgrter pr 9openrnge9t7 35.798 @string@ por omisionA} 35.799 ifxnswerdemptyelse 35.800 edefesdopenrnge{7 35.801 expndfternoexpndsnmeexpndfterstringnswerendsnme} 35.802 fi 35.803 typeinnswer{tgrter pr 9losernge9t7 35.804 @stringA por omisionA} 35.805 ifxnswerdemptyelse 35.806 edefesdlosernge{7 35.807 expndfternoexpndsnmeexpndfterstringnswerendsnme} 35.808 fi 35.809 fi
35.796 35.810 35.811 35.812 35.813 35.814 35.815 35.816 35.817 35.818
egingroup
lowerse{ gdefesdindexentry5I{7 35.832 endgroup 35.833 dvneesdproesseddne 35.834 esdenpsultedflse 35.835 esdrdidx5I|dd 35.836 esdidxentry}7 35.837 }
35.830 35.831 35.838
lowerse{ gdefesdidxentry5I{7 35.841 ind{esdromn}{5I}7 35.842 ifind 35.843 dvneesdonverteddne 35.844 immeditewriteesdindexfile{7 35.845 stringindexentry{esd|ifesdenpsultedesdpfi esromnindex7 35.846 {ifxesddemptyelseesdslshesdfi}}{5I}}7 35.847 else 35.848 immeditewriteesdindexfile{7
35.839 35.840
IWW
stringindexentry{esdifesdenpsulted|esdpesdfi}{5I}}7 fi}
lowerse{ gdefesdrdet5I5P|{defesdp{5I}defesd{5P}7 35.861 edefesdt{@}ifxesdtesdp 35.862 elseedefesdt{A}ifxesdtesdp 35.863 else 35.864 edefesd{esdpesd}letesdpdempty7 35.865 fifi} 35.866 }
35.859 35.860 35.867 35.868 35.869 35.870 35.871 35.872 35.873
typeout{BBBBBBBBBBBBBBBBB} typeout{e h proesdoX esdinputdfileFesdinputdext } 35.876 typeout{vines leidsX theesdproessed} 35.877 typeout{vines onvertidsX theesdonverted} 35.878 typeout{esultdo enX esdoutput} 35.879 ifnumesdonvertedbzd 35.880 typeout{qenere el indie prtir de ese rhivo} 35.881 else 35.882 typeout{xo se h onvertido ndF e puede generr} 35.883 typeout{el Find diretmente de esdinputdfileFesdinputdext} 35.884 fi 35.885 typeout{BBBBBBBBBBBBBBBBB}
35.874 35.875 35.886 35.887 35.888 35.889 35.890
PHH
36
he (le catalan.dtx37 de(nes ll the lngugeEspei( mro9s for the gtln lngugeF por this lnguge only the doule quote hrter @"A is mde tive y defultF sn tle IP n overview is given of the new mros de(ned nd the new menings of "F edditionlly to thtD the user n expliitly tivte the ute ent or postrophe @'A ndGor the grve ent @`A hrters y using the activeacute nd activegrave optionsF sn tht seD the de(nitions shown in tle IQ lso eome ville38 F
gemintedEl digrph @similr to llAF \L.L produes the upperse versionF gemintedEl digrph @similr to llAF \Lgem produes the upperse versionF wro to help typing rised ordinlsD like IerF kes one rgumentF like the old \-D ut llowing hyphention in the rest of the wordF i with dieresisD llowing hyphention in the rest of the wordF lid for the following vowelsX iD u @oth lowerse nd upperseAF Eedill @AF lid for oth upperse nd lowerse F gemintedEl digrph @similr to llAF lid for oth upperse nd lowerse lF prenh left doule quotes @similr to <<AF prenh right doule quotes @similr to >>AF expliit hyphen signD llowing hyphention in the rest of the wordF disle ligture t this positionF
'e `a
ute ented D llowing hyphention in the rest of the wordF lid for the following vowelsX eD iD oD u @oth lowerse nd upperseAF grve ented D llowing hyphention in the rest of the wordF lid for the following vowelsX D eD o @oth lowerse nd upperseAF
le IQX ixtr de(nitions mde y (le catalan.ldf @tivted only when using the options activeacute nd activegraveA hese tive ents hrters ehve ording to their originl de(nitions
37 The
le described in this section has version number v2.2p and was last revised on note that if the acute accent character is active, it is necessary to take special care of instead of 2005/03/29.
38 Please
coding apostrophes in a way which cannot be confounded with accents. Therefore, it is necessary to type
l'{}estri
l'estri.
PHI
if not followed y one of the hrters indited in tht tleF he mro \LdfInit tkes re of preventing tht this (le is loded more thn oneD heking the tegory ode of the @ signD etF
36.1 36.2
code vdfsnit{tln}ptionstln
hen this (le is red s n optionD iFeF y the \usepackage ommndD catalan ould e n unknown9 lnguge in whih se we hve to mke it knownF o we hek for the existene of \l@catalan to see whether we hve to do something hereF
ifxldtlndundefined dnoptterns{gtln} 36.5 dddiletldtlnH 36.6 fi
36.3 36.4
he next step onsists of de(ning ommnds to swith to @nd fromA the gtE ln lngugeF
tlnhyphenmins
his mro is used to store the orret vlues of the hyphention prmeters \lefthyphenmin nd \righthyphenminF
36.7
providehyphenmins{tln}{twdtwd}
ptionstln
ddtoptionstln{7 defprefenme{roleg}7 36.10 defrefnme{eferenies}7 36.11 defstrtnme{esum}7 36.12 definme{filiogrfi}7 36.13 defhpternme{gp9{i}tol}7 36.14 defppendixnme{ependix}7 36.15 defontentsnme{9sndex}7 36.16 deflistfigurenme{9sndex de figures}7 36.17 deflisttlenme{9sndex de tules}7 36.18 defindexnme{9sndex lfeti}7 36.19 deffigurenme{pigur}7 36.20 deftlenme{ul}7 36.21 defprtnme{rt}7 36.22 defenlnme{edjunt}7 36.23 defnme{gopies }7 36.24 defhedtonme{e}7 36.25 defpgenme{gin}7 36.26 defseenme{egeu}7 36.27 deflsonme{egeu tm9e}7 36.28 defproofnme{hemostri9o}7 36.29 defglossrynme{qlossri}7 36.30 }
36.8 36.9
he mro \captionscatalan de(nes ll strings used in the four stndrd douE A mentlsses provided with v iF
dtetln
he mro \datecatalan rede(nes the ommnd \today to produe gtln dtesF wonths re written in lowerse39 F
defdtetln{7
seems to be the common practice. See for example: E. Coromina, Ed. Eumo, Vic, 1993
36.31
de redacci i estil,
39 This
El 9 Nou: Manual
PHP
deftody{numerdy~ifsemonthor de generor de fereror de mr{}or d9rilor de migor de junyor de juliolor d9gostor de setemreor d9otureor de novemreor de desemrefi spe de~numeryer}}
extrstln noextrstln
he mro \extrascatalan will perform ll the extr de(nitions needed for the gtln lngugeF he mro \noextrascatalan is used to nel the tions of \extrascatalanF o improve hyphention we give the grve hrter @'A nonEzero lower se odeY when we do tht i will (nd more rekpoints in words tht ontin this hrter in its rle s postropheF
por gtlnD some hrters re mde tive or re rede(nedF sn prtiulrD the " hrter reeives new meningY this n lso hppen for the ' hrter nd the ` hrter when the options activegrave ndGor activeacute re spei(edF
ddtoextrstln{lngugeshorthnds{tln}} inititedtivedhr{4} 36.43 ddtoextrstln{ldtivte{4}}
36.41 36.42
feuse the grve hrter is eing used in onstruts suh s \catcode``=\active it needs to hve it9s originl tegory ode when the uxiliry (le is eing redF xote tht this (le is red twieD one t the eginning of the doumentY then there is no prolemY ut the seond time it is red t the end of the doument to hek whether ny lels hngesF st9s this seond time round tht the tived grve hrter leds to error messgesF
difpkgewith{el}{tivegrve}{7 etfeginhoument{7 36.46 ifdfileswimmeditewriteduxout{todeHWTaIP}fi} 36.47 inititedtivedhr{}7 36.48 }{} 36.49 difpkgewith{el}{tivegrve}{7 36.50 ddtoextrstln{ldtivte{}}7 36.51 }{} 36.52 difpkgewith{el}{tiveute}{7 36.53 inititedtivedhr{9}7 36.54 }{} 36.55 difpkgewith{el}{tiveute}{7 36.56 ddtoextrstln{ldtivte{9}}7 36.57 }{}
36.44 36.45
xow mke sure tht the hrters tht hve een turned into shorthnfd hrE ters expnd to norml9 hrters outside the tln environmentF
ddtonoextrstln{lddetivte{4}} difpkgewith{el}{tivegrve}{7 36.60 ddtonoextrstln{lddetivte{}}}{} 36.61 difpkgewith{el}{tiveute}{7 36.62 ddtonoextrstln{lddetivte{9}}}{}
36.58 36.59
PHQ
eprt from the tive hrters some other mros get new de(nitionF herefore we store the urrent ones to e le to restore them lterF hen their urrent menings re svedD we n sfely rede(ne themF e provide new de(nitions for the ent mros when one or oth of the options activegrave or activeacute were spei(edF
ddtoextrstln{7 eldsve47 36.65 def4{protetdumlut}}7 36.66 difpkgewith{el}{tivegrve}{7 36.67 eldsve7 36.68 ddtoextrstln{def{protetdgrve}} 36.69 }{} 36.70 difpkgewith{el}{tiveute}{7 36.71 eldsve97 36.72 ddtoextrstln{def9{protetdute}} 36.73 }{}
36.63 36.64
ell the ode ove is neessry euse we need few extr tive hrtersF hese hrters re then used s indited in tles IP nd IQF
dieresis textute textgrve
he originl de(nition of \" is stored s \dieresisD euse the de(nition of \" might not e the defult plin i oneF sf the user uses PostScript fonts with the edoe font enoding the " hrter is not in the sme position s in unuth9s font enodingF sn this se \" will not e de(ned s \accent"7F 1D ut s \accent'310 #1F omething similr hppens when using fonts tht follow the gork enodingF por this reson we sve the de(nition of \" nd use tht in the de(nition of other mrosF e do likewise for \`D nd \'F
e hek the enoding nd if not using ID we mke the ents expnd ut enling hyphention eyond the entF sf this is the seD not ll rek positions will e found in words tht ontin entsD ut this is limittion in iF en unsolved prolem here is tht the enoding n hnge t ny timeF he de(nitions elow re mde in suh wy tht hnge etween two PSTEhr enodings re supportedD ut hnges etween IPVEhr nd PSTEhr enoding re not properly supportedF e hek if I is in useF sf notD we will give wrning nd proeed rede(ning the ent mros so tht i t lest (nds the reks tht re not too lose to the entF he wrning will only e printed to the log (leF
ifxhelreponthpedundefined wlog{rningX ou re using n old ve} 36.79 wlog{ome word reks will not e foundF} 36.80 defdumlut5I{llowhyphensdieresis{5I}llowhyphens} 36.81 difpkgewith{el}{tiveute}{7 36.82 defdute5I{llowhyphenstextute{5I}llowhyphens}}{} 36.83 difpkgewith{el}{tivegrve}{7 36.84 defdgrve5I{llowhyphenstextgrve{5I}llowhyphens}}{} 36.85 else 36.86 ifxfdenodingldtdone 36.87 letdumlutdieresis 36.88 difpkgewith{el}{tiveute}{7
36.77 36.78
PHR
letdutetextute}{} difpkgewith{el}{tivegrve}{7 36.91 letdgrvetextgrve}{} 36.92 else 36.93 wlog{rningX ou re using enoding fdenodingspe 36.94 insted of IF} 36.95 wlog{ome word reks will not e foundF} 36.96 defdumlut5I{llowhyphensdieresis{5I}llowhyphens} 36.97 difpkgewith{el}{tiveute}{7 36.98 defdute5I{llowhyphenstextute{5I}llowhyphens}}{} 36.99 difpkgewith{el}{tivegrve}{7 36.100 defdgrve5I{llowhyphenstextgrve{5I}llowhyphens}}{} 36.101 fi 36.102 fi
36.89 36.90
sf the user setup hs extended fontsD the perguson mros re required to e de(nedF e hek for their existne ndD if de(nedD expnd to whtever they re de(ned toF por instneD \'a would hek for the existne of \@ac@a mroF st is ssumed to expnd to the ode of the ented letterF sf it is not de(nedD we ssume tht no extended odes re ville nd expnd to the originl de(nition ut enling hyphention eyond the entF his is s est s we n doF st is etter if you hve extended fonts or wvEi euse the hyphention lgorithm n work on the whole wordF he following mros re diretly derived from wvEiF40 xow we n de(ne our shorthndsX the dieresis nd el gemind supportD
delredshorthnd{tln}{4i}{textormth{dumluti}{ddotimth}} delredshorthnd{tln}{4l}{lgem{}} 36.105 delredshorthnd{tln}{4u}{textormth{dumlut u}{ddot u}} 36.106 delredshorthnd{tln}{4s}{textormth{dumlut s}{ddot s}} 36.107 delredshorthnd{tln}{4v}{vgem{}} 36.108 delredshorthnd{tln}{4}{textormth{dumlut }{ddot }}
36.103 36.104
edilleD
36.109 36.110
grve entsD
difpkgewith{el}{tivegrve}{7 delredshorthnd{tln}{}{textormth{dgrve }{grve }} 36.117 delredshorthnd{tln}{e}{textormth{dgrve e}{grve e}} 36.118 delredshorthnd{tln}{o}{textormth{dgrve o}{grve o}}
36.115 36.116
40 A
problem is perceived here with these macros when used in a multilingual environment
where extended hyphenation patterns are available for some but not all languages. Assume that no extended patterns exist at some site for French and that too. In that case,
'e
around it would be suppressed. Both language options would need an independent method to know whether they have extended patterns available. The precise impact of this problem and the possible solutions are under study.
PHS
delredshorthnd{tln}{e}{textormth{dgrve e}{grve e}} delredshorthnd{tln}{i}{textormth{dgrve i}{grve i}} delredshorthnd{tln}{y}{textormth{dgrve y}{grve y}} delredshorthnd{tln}{}{textquotedlleft}799 }{}
ute entsD
difpkgewith{el}{tiveute}{7 delredshorthnd{tln}{9}{textormth{dute }{{prime} }} 36.126 delredshorthnd{tln}{9e}{textormth{dute e}{{prime} e}} 36.127 delredshorthnd{tln}{9i}{textormth{dutei{}}{{prime} i}} 36.128 delredshorthnd{tln}{9o}{textormth{dute o}{{prime} o}} 36.129 delredshorthnd{tln}{9u}{textormth{dute u}{{prime} u}} 36.130 delredshorthnd{tln}{9e}{textormth{dute e}{{prime} e}} 36.131 delredshorthnd{tln}{9i}{textormth{dute i}{{prime} i}} 36.132 delredshorthnd{tln}{9s}{textormth{dute s}{{prime} s}} 36.133 delredshorthnd{tln}{9y}{textormth{dute y}{{prime} y}} 36.134 delredshorthnd{tln}{9}{textormth{dute }{{prime} }} 36.135 delredshorthnd{tln}{9|}{7 36.136 textormth{snme normldhrstring9endsnme}{{prime}}}
36.124 36.125
ell tht is left now is the rede(nition of \-F he new version of \- should inE dite n extr hyphention positionD while llowing other hyphention positions to e generted utomtillyF he stndrd ehviour of i in this respet is unfortunte for gtln ut not s muh s for huth or qermnD where long ompound words re quite norml nd ll one needs is mens to indite n extr hyphention position on top of the ones tht i n generte from the hyphention ptternsF roweverD the verge length of words in gtln mkes this desirle nd so it is kept hereF
lgem vgem
rere we de(ne mro for typing the tln el gemind @geminted lAF he mros \lgem nd \Lgem hve een hosen for its lowerse nd upperse repreE senttionD respetively41 F he ode used in the tul mro used is omintion of the one proposed y peruglio nd puster42 nd the proposl43 from liente presented t the i sers
41 The 42 G. 43 G.
macro names
\ll
and
\LL
\ll
is already used
in mathematical mode.
Valiente and R. Fuster, Typesetting Catalan Texts with T X, TUGboat (3), 1993. E Valiente, Modern Catalan Typographical Conventions, TUGboat (3), 1995.
16
14
PHT
qroup ennul weeting in IWWSF his lst proposl hs not een fully implemented due to its limittion to gw fontsF
newdimenleftllkern newdimenrightllkern newdimenriselldim deflgem{7 36.149 ifmmode 36.150 snme normldhrstring4endsnme l7 36.151 else 36.152 leftllkernaHptrightllkernaHptriselldimaHpt7 36.153 setoxHhox{l}setoxIhox{lG}setoxPhox{F}7 36.154 dvneriselldim y thefontdimenSthefont 36.155 dvneriselldim y EhtP7 36.156 leftllkernaEFPSwdH7 36.157 dvneleftllkern y wdI7 36.158 dvneleftllkern y EwdH7 36.159 rightllkernaEFPSwdH7 36.160 dvnerightllkern y EwdI7 36.161 dvnerightllkern y wdH7 36.162 llowhyphensdisretionry{lE}{l}7 36.163 {hox{l}kernleftllkernriseriselldimhox{F}7 36.164 kernrightllkernhox{l}}llowhyphens 36.165 fi 36.166 } 36.167 defvgem{7 36.168 ifmmode 36.169 snme normldhrstring4endsnme v7 36.170 else 36.171 leftllkernaHptrightllkernaHptriselldimaHpt7 36.172 setoxHhox{v}setoxIhox{vG}setoxPhox{F}7 36.173 dvneriselldim y FShtH7 36.174 dvneriselldim y EFShtP7 36.175 leftllkernaEFIPSwdH7 36.176 dvneleftllkern y wdI7 36.177 dvneleftllkern y EwdH7 36.178 rightllkernaEwdH7 36.179 dividerightllkern y T7 36.180 dvnerightllkern y EwdI7 36.181 dvnerightllkern y wdH7 36.182 llowhyphensdisretionry{vE}{v}7 36.183 {hox{v}kernleftllkernriseriselldimhox{F}7 36.184 kernrightllkernhox{v}}llowhyphens 36.185 fi 36.186 }
36.147 36.148
lFl vFv
st seems to e the most nturl wy of entering the el gemind to use the sequenes \l.l nd \L.LF hese re not relly mro9s y themselves ut the mros \l nd \L with delimited rgumentsF herefor we de(ne two mros tht hek if the next hrter is periodF sf not the polish l will e typesetD otherwise el gemind will e typeset nd the next two tokens will e eten9F
PHU
up
36.194
he mro \ldf@finish tkes re of looking for on(gurtion (leD setting the min lnguge to e swithed on t \begin{document} nd resetting the tegory ode of @ to its originl vlueF
36.195 36.196
ldfdfinish{tln} /code
44 This
PHV
37
This le
his (le de(nes ll the lngugeEspei( mros for the qliin lngugeF he (le gliinFdtx ws trnslted in tnury PHHU y tvier eF wgi from spnishFdtxF st ws given the version numer RFQD sed on the version for spnishFdtx t those timesD tht ws RFPF he originl uthor from vRFH to RFP ws tvier fezosF revious versions were written y tulio nhezF s deided to mke tabula rasa of ll \changes logsF ynly hnges from spnish RFP to gliin RFQ nd therefter re doumentedF he hnge history for the originl spnishFdtx n e found in tht (leF
38
gustumiztion is mde following minly the ooks on the sujet y tos wrtnez de ous nd os peix gidF fy typesetting galician.dtx diretly you will get the full doumenttion @regrettly is in qliin onlyD ut it is pretty longAF eferenes in this prt refers to tht doumentF here re severl ditionl fetures doumented in the qliin version onlyF his style providesX
A rnsltions following the snterntionl v i onventionsD s well s \todayF
horthnds listed in le IRF ixmples in susetion QFR re illustrtiveF xote tht "~ hs speil mening in galician di'erent to other lngugesD nd is used minly in linguisti ontextsF \deactivatetilden detivtes the ~n nd ~N shorthndsF
In math mode
qliins ordinls nd evitions with \sptext sD for instneD 1\sptext{o}F he preeptive dot is inludedF eented funtionsX lmD mxD mnD mdF ou my glolly omit the ents with \unaccentedoperatorsF ped funtionsX r osD etF ou my gloE lly kill tht spe with \unspacedoperatorsF \dotlessi is provided for use in mth modeF e quoting environment nd relted pir of shorthnds << nd >>F he ommnd \deactivatequoting detivtes these shorthnd in se you wnt to use < nd > in some ew ommnds nd numeril omprisonsF he ommnd \selectgalician selets the galician lnguge shorthndsF @sntended for the premleFA \frenchspacing is usedF \dots is rede(nedF st is now equl to typing tree points in row @it preserves the spe followingAF here is smll spe efore \%F \msc provides lowerse smll psF @ee susetion QFIHFA
PHW
and
its
'a 'n ~n "u "i "a "rr ""= "~ "" ~"/ "| << >> "< ">
ute ented F elso forX eD iD oD u @oth lowerse nd upperseAF @lso upperseAF @lso upperseAF hepretedF @lso upperseAF @lso upperseAF yrdinl numers @lso "AD "oD "OAF rrD ut Er when hyphented vike \-D ut llowing hyphention in the rest the wordF vike -D ut llowing hyphention in the rest the wordF he hyphen is repeted t the very eginning of the next line if the word is hyphented t this pointF vike "- ut produing no hyphen signF vike - ut with no rek fter the hyphenF elso forX enEdshes @~--A nd emEdshes @~---AF e slsh slightly loweredD if neessryF disle ligtures t this pointF veft guillemetsF ight guillemetsF \begin{quoting}F @ee textFA \end{quoting}F @ee textFA
le IRX ixtr de(nitions mde y (le galician.ldf tust in se galician is the min lngugeD the group \layoutgalician is tivtedD whih modi(es the stndrd lsses through the whole doument @it nnot e detivtedA in the following wyX
foth enumerate nd itemize re dpted to qliin rulesF foth \alph nd \Alph inlude
fter nF
ymol footmrks re oneD twoD threeD etFD sterissF OT1 guillemets re generted with two lasy symols insted of smll \ll nd \ggF \roman is rede(ned to write smll ps romn numerlsD sine lowerse romn numerls re not llowedF roweverD MakeIndex rejets entries onE tining pges in tht formtF he .idx (le must e preproessed if the doument hs this kind of entries with the provided romanidx.tex tool" just i it nd follow the instrutionsF here is dot fter setion numers in titles nd toF
his group is ignored if you write \selectgalician* in the premleF ome dditionl ommnds re provided to e used in the galician.cfg (leX
ith \gl@activeacute ute ents re lwys tiveD overriding the deE fult babel ehviourF
PIH
\gl@enumerate sets the lels to e used y enumerateF he sme pplies to \gl@itemize nd itemizeF \gl@operators stores the opertor ommndsF ell of them re neled with
letgldopertorsrelx
he ommnds \deactivatequotingD \deactivatetilden nd \selectgalician my e used in this (leD tooF e suset of these ommnds is provided for use in lin i @with \input galician.styAF
code rovidesvnguge{gliinFldf} 38.3 PHHVGHUGHT vRFQ qliin support from the el system
38.1 38.2
he mro \LdfInit tkes re of preventing tht this (le is loded more thn oneD heking the tegory ode of the @ signD etF hen this (le is red s n optionD iFeF y the \usepackage ommndD galician will e n unknown9 lnguge in whih se we hve to mke it knownF o we hek for the existene of \l@galician to see whether we hve to do something hereF
edefgldsvedtodes{7 todenoexpnd~athetode~ 38.11 todenoexpnd4athetode4} 38.12 tode~ative 38.13 tode4aIP 38.14 longdefglddelyed5Ithen5Pelse5Qfi{7 38.15 5I7 38.16 expndfterdfirstoftwo 38.17 else 38.18 expndfterdseondoftwo 38.19 fi 38.20 {5P}{5Q}}
38.9 38.10
e de(ne some tools whih will e used in tht style (leX @IA we mke sure tht ~ is tiveD @PA \gl@delayed delys the expnsion of the ode in onditionls @in ftD quite similr to \bbl@afterfiAF
A wo tests re introduedF he (rst one tells us if the formt is v i P D nd the seond one if the formt is lin or ny otherF sf oth re flseD the formt is A v iPFHWF
PII
letifesdveeiftrue fi 38.27 glddelyed 38.28 expndfterifxsnme newenvironmentendsnmerelxthen 38.29 letifesdpliniftrue 38.30 else 38.31 letifesdplinifflse 38.32 fi
38.25 38.26
ddtoptionsgliin{7 38.34 defprefenme{refio}7 38.35 defrefnme{eferenis}7 38.36 defstrtnme{esumo}7 38.37 definme{filiogrf9{i}}7 38.38 defhpternme{gp9{i}tulo}7 38.39 defppendixnme{ep9endie}7 38.40 deflistfigurenme{9sndie de figurs}7 38.41 deflisttlenme{9sndie de dros}7 38.42 defindexnme{9sndie lf9etio}7 38.43 deffigurenme{pigur}7 38.44 deftlenme{gdro}7 38.45 defprtnme{rte}7 38.46 defenlnme{edxunto}7 38.47 defnme{gopi }7 38.48 defhedtonme{e}7 38.49 defpgenme{9xin}7 38.50 defseenme{v9exse}7 38.51 deflsonme{v9exse tm9en}7 38.52 defproofnme{hemostri9on}7 38.53 defglossrynme{qlosrio}}
38.33 38.54
defdtegliin{7 38.61 deftody{thedy~de ifsemonthor xneiroor fereiroor 38.62 mrzoor rilor mioor xu~noor xulloor gostoor 38.63 setemroor outuroor novemroor deemrofi 38.64 ifnumyerbIWWWgldyerlelse defi~theyer}} 38.65 defgliindtedo{defgldyerl{do}} 38.66 defgliindtede{defgldyerl{de}} 38.67 gliindtedo
38.60
defseletgliin{7 defseletgliin{7 38.70 defseletgliin{7 38.71 kgerning{gliin}{ixtr stringseletgliin ignored}}7 38.72 gldselet}}
38.68 38.69
he si mros to selet the lngugeD in the premle or the on(g (leF se of \selectlanguage should e voided t this erly stge euse the tive hrs re not yet tiveF \selectgalician mkes them tiveF
PIP
donlypremleseletgliin
defextrsgliin{7 textgliin 38.82 mthgliin 38.83 ifxshorthndsgliindempty 38.84 gliindetivte{F49~`b}7 38.85 lngugeshorthnds{none}7 38.86 else 38.87 shorthndsgliin 38.88 fi} 38.89 defnoextrsgliin{7 38.90 ifxtextgliindemptyelse 38.91 notextgliin 38.92 fi 38.93 ifxmthgliindemptyelse 38.94 nomthgliin 38.95 fi 38.96 ifxshorthndsgliindemptyelse 38.97 noshorthndsgliin 38.98 fi 38.99 gldreviveshorthnds}
38.80 38.81
snsted of joining ll the extrs diretly in \extrasgalicianD we sudivide them in three further groupsF
ifesdvee 7`````` newommndgldsptextI{7 38.105 {Fsetoxzdhox{V}dimendhtzd 38.106 snme dfdsizeendsnme 38.107 edefdtemp{defnoexpnddtemp{5I}7 38.108 lowerse{defnoexpnddtemp{5I}}}dtemp 38.109 ifxdtempdtemp 38.110 fontsizesfdsizezd 38.111 seletfont 38.112 dvnedimendEIFISex 38.113 else 38.114 fontsizessfdsizezd 38.115 seletfont 38.116 dvnedimendEIFSex 38.117 fi 38.118 mthdfontsflserisedimendhox{5I}}} 38.119 else 7``````
38.103 38.104
he de(nition of \sptext is more elorted thn tht of \textsuperscriptF ith upperse supersript text the sriptsriptsize is usedF he mndtory dot is lredy inludedF here re two versionsD depending on the formtF
PIQ
letsptextfontrm newommndgldsptextI{7 38.122 {Fsetoxzdhox{V}dimendhtzd 38.123 edefdtemp{defnoexpnddtemp{5I}7 38.124 lowerse{defnoexpnddtemp{5I}}}dtemp 38.125 ifxdtempdtemp 38.126 dvnedimendEHFUSex 38.127 risedimendhox{6sriptstylesptextfont5I6}7 38.128 else 38.129 dvnedimendEHFVex 38.130 risedimendhox{6sriptsriptstylesptextfont5I6}7 38.131 fi}} 38.132 fi 7``````
38.120 38.121
ifesdvee 7`````` ddtotextgliin{7 38.135 eldsvels 38.136 defls{protetgldls} 38.137 eldsvems 38.138 defms{protetgldms}}
38.133 38.134 38.139 38.140 38.141 38.142 38.143 38.144
xowD lowerse smll psF pirstD we test if there re tul smll ps for the urrent fontF sf notD fked smll ps re usedF \msc tries slightly lrger fontF tvier fF wroteX he \selectfont in \gl@lsc ould seem redundntD ut it9s notF s nnot see how it n9t e redundnt @it is the lst thing exeuted y \scshapeAD ut s keep itF
defgldls5I{7 levevmode 38.147 hox{glddodmssshpeseletfont 38.148 expndfterifxsnmefdenodingGfdfmilyGfdseries 38.149 GnGfdsizeexpndfterendsnme 38.150 snmeurrdfontshpeGfdsizeendsnme 38.151 snme dfdsizeendsnme 38.152 fontsizesfdsizezdseletfont 38.153 kgesnfo{gliin}{epling undefined s fontwessgefrek 38.154 shpe y fked smll ps}7 38.155 wkepperse{5I}7 38.156 else 38.157 wkevowerse{5I}7 38.158 fi}letglddodmsrelx} 38.159 fi 7``````
38.145 38.146
he quoting environmentF his prt is not ville in linD hene the testF yverriding the defult \everypar is it trikyF
38.160 38.161
newififgldlistquot
PIR
38.166 38.167 38.168 38.169 38.170 38.171 38.172 38.173 38.174 38.175 38.176 38.177 38.178 38.179 38.180 38.181 38.182 38.183 38.184 38.185 38.186 38.187 38.188 38.189 38.190 38.191 38.192 38.193 38.194
ifxquotingdundefineddefnext{letnextrelxnewenvironment} elsedefnext{kgesnfo{gliin}{edefining quoting}letnextrelxrenewenvironm fi next{quoting} {levevmode dvnegldquotdepthI snme lquotromnnumerlgldquotdepthendsnme7 ifnumgldquotdepthadne gldlistquotflse letgldquotpreverypr leteveryprgldquottoks everyprexpndfter{thegldquotpr}7 gldquotpr{theeverypr ifgldlistquotglolgldlistquotflseelsegldquotontfi}7 fi toksdexpndfter{gldquotont}7 edefgldquotont{thetoksd expndfternoexpnd snme rquotromnnumerlgldquotdepthendsnme}} {snme rquotromnnumerlgldquotdepthendsnme} deflquoti{guillemotleft{}} defrquoti{guillemotright{}} deflquotii{} defrquotii{99} deflquotiii{} defrquotiii{9} letgldquotontdempty
sf there is mrgin pr inside quotingD we don9t dd the quotesF \gl@listqout stores the quotes to e used efore item lelsY otherwise they ould pper fter the lelsF
38.195 38.196
ddtodmrginprreset{letgldquotontdempty}
xowD the \frenchspacingD followed y \...dots nd \% snsted of rede(ning \ldots nd \cdotsD we rede(ne \ldotp nd \cdotpD so tht this is omptile with msmthF sn ve we lso rede(ne \textellipsisD nd for plin or other we rede(ne \dotsF
38.201 38.202 38.203
ddtotextgliin{ldfrenhsping} ddtonotextgliin{ldnonfrenhsping}
mthhrdefglddota4HPHI ifesdvee 7`````` 38.206 ddtotextgliin{7 38.207 eldsvetextellipsis 38.208 eldsveldotp 38.209 eldsvedotp7 38.210 deftextellipsis{hox{FFF}speftorsfodeF{} }7 38.211 mthhrdefldotpa4HIQe7
38.204 38.205
PIS
mthhrdefdotpa4HPHI7 } 38.214 else 7`````` 38.215 ddtotextgliin{7 38.216 eldsvedots 38.217 eldsveldotp 38.218 eldsvedotp 38.219 mthhrdefldotpa4HIQe7 38.220 mthhrdefdotpa4HPHI7 38.221 defdots{ifmmodeldotselseFFFspeftorsfodeF{} fi}7 38.222 } 38.223 fi 7``````
38.212 38.213 38.224
ifesdvee 7`````` ddtotextgliin{7 38.227 letperentsign77 38.228 eldsve77 38.229 def7{unskipDperentsign{}}} 38.230 else 38.231 ddtotextgliin{7 38.232 letperentsign77 38.233 eldsve77 38.234 def7{unskipifmmodeDelse6mdthD6fiperentsign{}}} 38.235 fi
38.225 38.226
e follow with the mth groupF st9s not esy to dd n ent in n opertorF he di0ulty is tht we must void using text @tht isD \mboxA euse we hve no ontrol on font nd sizeD nd t time we should ess \iD whih is text ommnd foridden in mth modeF \dotlessi must e onverted to upperse if neessry A in v i P F here re two versionsD depending on the formtF
ifesdvee 7`````` defglddotlessi{7 38.249 ifmmode 38.250 {ifnummthgroupamdne 38.251 imth 38.252 else 38.253 ountdespehr espehramdne 38.254 expndfterexpndfterexpndfter 38.255 splitdnmeexpndfterstringthetextfontmthgroupdnil 38.256 espehraountd 38.257 difundefined{fdenodingstringi}7 38.258 {edeffdenoding{stringc}}{}7 38.259 expndfterountdthesnmefdenodingstringiendsnme
38.247 38.248
PIT
dvneountd4UHHH mthhrountd 38.262 fi}7 38.263 else 38.264 i 38.265 fi} 38.266 else 7`````` 38.267 defglddotlessi{7 38.268 ifmmode 38.269 mthhr4UHIH 38.270 else 38.271 i 38.272 fi} 38.273 fi 7``````
38.260 38.261
defentedopertors{7 38.275 defgldopd55I{ute{55I}}7 38.276 defgldopdi{ute{dotlessi}}} 38.277 defunentedopertors{7 38.278 defgldopd55I{55I}7 38.279 defgldopdi{i}} 38.280 entedopertors
38.274 38.281 38.282 38.283
he opertors re stored in \gl@operatorsD whih in turn is inluded in the A mth groupF ine \operator@font is de(ned in v i P onlyD we need to de(ne them in the plin vrintF
38.285 38.286 38.287
ddtomthgliin{7 gldopertors}
defgldopertors{7 eldsvelim deflim{mthop{opertordfont lprotetgldopdi m}}7 38.295 eldsvelimsup deflimsup{mthop{opertordfont lgldopdi mDsup}}7 38.296 eldsveliminf defliminf{mthop{opertordfont lgldopdi mDinf}}7 38.297 eldsvemx defmx{mthop{opertordfont mgldopd x}}7 38.298 eldsveinf definf{mthop{opertordfont protetgldopdi nf}}7 38.299 eldsvemin defmin{mthop{opertordfont mprotetgldopdi n}}7 38.300 eldsvemod 38.301 defmod{7 38.302 nonsriptmskipEmedmuskipmkernSmu7 38.303 mthin{opertordfont mgldopd od}penltyWHHmkernSmu7 38.304 nonsriptmskipEmedmuskip}7 38.305 eldsvepmod 38.306 defpmod55I{7 38.307 llowrekmkernIVmu@{opertordfont mgldopd od}DD55IA}7 38.308 defgld55I {7
38.293 38.294
PIU
38.309 38.310 38.311 38.312 38.313 38.314 38.315 38.316 38.317 38.318 38.319 38.320 38.321 38.322 38.323 38.324 38.325 38.326 38.327 38.328 38.329 38.330 38.331 38.332 38.333 38.334 38.335 38.336 38.337 38.338 38.339 38.340 38.341 38.342 38.343 38.344
glddelyed if55Ithen 7 is it emptyc do nothing nd ontinue gld else glddelyed if855Ithen 7 is it 8c do nothing nd finish else egingroup letDdempty 7 D is ignored when def9ing the mro nme letutedfirstofone 7 sme edefgld{expndfternoexpndsnme55Iendsnme}7 defD{noexpndgldopdsp}7 defute5555I{7 if i5555I7 noexpndgldopdi else noexpndgldopd5555I7 fi}7 edefgld{endgroup noexpndeldsveexpndfternoexpndgld defexpndfternoexpndgld{7 mthop{noexpndopertordfont55I}nolimits}}7 gld 7 st restores itself gld fi fi}7 letgldgliinopertors ddtogld{ }7 expndftergldgld sen tx ose rDsen rDos rDtx senh 8 7D will e set to gld 7 eldsvesin letsinsen eldsversin letrsinrsen eldsvesinh letsinhsenh
defgliinopertors{otx txh}
xow omes the text shorthndsF hey re grouped in \shorthandsgalician nd this style performs some opertions efore the el shortnds re lledF he gols re to llow espression like $a^{x'}$ nd to detivte the shorthnds mking them of tegory other9F efter providing \'i shorthndD the new mros re de(nedF
38.345 38.346
helreextgompositegommnd{9}{yI}{i}{dtkludge9{i}}
defgldsetdshorthnd5I{7 expndfteredefsnme gldsvetstring5Iendsnme 38.349 {thetode5I}7 38.350 inititedtivedhr{5I}7 38.351 tode5Iasnme gldsvetstring5Iendsnmerelx 38.352 expndfterletsnme gldmthstring5Iexpndfterendsnme 38.353 snme normldhrstring5Iendsnme}
38.347 38.348 38.354 38.355 38.356
defgldusedshorthnd{7 glddelyed
PIV
38.357 38.358 38.359 38.360 38.361 38.362 38.363 38.364 38.365 38.366 38.367 38.368 38.369 38.370
ifxthepgerelxthen string else{7 glddelyed ifxprotetdunexpndledprotetthen noexpnd else gldusedsh fi}7 fi} defgldtextdsh5I{snme tivedhrstring5Iendsnme} defgldmthdsh5I{snme gldmthstring5Iendsnme}
defgldusedsh{7 glddelyed 38.373 ifdsfedtivesthen 38.374 string 38.375 else{7 38.376 glddelyed 38.377 ifmmodethen 38.378 gldmthdsh 38.379 else 38.380 gldtextdsh 38.381 fi}7 38.382 fi}
38.371 38.372 38.383
gdefgldtivte5I{7 egingroup 38.386 lode~a5I 38.387 lowerse{7 38.388 endgroup 38.389 def~{gldusedshorthnd~}}}
38.384 38.385 38.390 38.391 38.392 38.393
defgliindetivte5I{7 dtfordtempXa5Ido{expndftergldspdetivtedtemp}}
defgldspdetivte5I{7 ifF5I7 38.396 mthodeFagldperioddode 38.397 else 38.398 egingroup 38.399 lode~a5I 38.400 lowerse{7 38.401 endgroup 38.402 expndfterletexpndfter~7 38.403 snme normldhrstring5Iendsnme}7 38.404 tode5Isnme gldsvetstring5Iendsnmerelx 38.405 fi}
38.394 38.395 38.406
PIW
38.411
defgldrestore5I{7 tode5Iative 38.414 egingroup 38.415 lode~a5I 38.416 lowerse{7 38.417 endgroup 38.418 lddetivte{~}}}
38.412 38.413
egingroup tode9aIP 38.421 lode~a9 lode9a9 38.422 lowerse{7 38.423 gdefldprdmds{7 38.424 glddelyed 38.425 ifx~dletdtokenthen 38.426 prddds 38.427 else 38.428 {glddelyed 38.429 ifx9dletdtokenthen 38.430 prddds 38.431 else 38.432 {glddelyed 38.433 ifxdletdtokenthen 38.434 prdddt 38.435 else 38.436 egroup 38.437 fi}7 38.438 fi}7 38.439 fi}} 38.440 endgroup
38.419 38.420 38.441 38.442
fut galician llows two tegory odes for 'D so oth should e tken into ount in \bbl@pr@m@sF
ifesdvee 7`````` defdtkludge5I{expndftergldtkstring5I} 38.449 letdtkludge 38.450 elseifesdplin 7`````` 38.451 defdtkludge5I{snmestring5Iendsnme} 38.452 else 7`````` 38.453 defdtkludge5I{snme string5Iendsnme} 38.454 fifi 7``````
38.447 38.448 38.455
snsted of rede(ning \'D we rede(ne the internl mro for the yI enodingF
PPH
expndfterdtextdomposite snme yIstring5Iendsnme5Qdemptydtextdomposite 38.463 {ldllowhyphensdddent{5P}{5Q}ldllowhyphens 38.464 setoxdtempoxhox{5Q7 38.465 glolmthhrdefentdspeftorspeftor}7 38.466 speftorentdspeftor}} 38.467 else 7`````` 38.468 defgldent5I5P5Q{7 38.469 ldllowhyphensdddent{5P}{5Q}ldllowhyphens 38.470 speftorsfode5Q } 38.471 fi 7``````
38.461 38.462
ddtoshorthndsgliin{lngugeshorthnds{gliin}} letnoshorthndsgliinrelx
gldsetdshorthnd{F}
delredshorthnd{system}{F}{mthhrgldperioddoderelx}
etfeginhoument{7 todeFaIP 38.495 ifdfilesw 38.496 immeditewritedminux{7 38.497 stringtodestringFaIP}7 38.498 fi}
38.493 38.494 38.499
delredshorthnd{gliin}{FI}{glddeimlI} delredshorthnd{gliin}{FP}{glddeimlP} 38.502 delredshorthnd{gliin}{FQ}{glddeimlQ} 38.503 delredshorthnd{gliin}{FR}{glddeimlR} 38.504 delredshorthnd{gliin}{FS}{glddeimlS} 38.505 delredshorthnd{gliin}{FT}{glddeimlT} 38.506 delredshorthnd{gliin}{FU}{glddeimlU} 38.507 delredshorthnd{gliin}{FV}{glddeimlV} 38.508 delredshorthnd{gliin}{FW}{glddeimlW} 38.509 delredshorthnd{gliin}{FH}{glddeimlH}
38.500 38.501
ifesdvee 7`````` 38.515 ddtoshorthndsgliin{7 38.516 gldtivte{4}7 38.517 gldtivte{~}7 38.518 eldsveldumlut 38.519 letldumlutgldumlut 38.520 expndftereldsvesnme yIstring~endsnme 38.521 expndfterdefsnme yIstring~endsnme{gldent~{IPT}}7 38.522 expndftereldsvesnme yIstring9endsnme 38.523 expndfterdefsnme yIstring9endsnme{gldent9{IW}}} 38.524 else 7`````` 38.525 ddtoshorthndsgliin{7 38.526 gldtivte{4}7 38.527 gldtivte{~}7 38.528 eldsveldumlut 38.529 letldumlutgldumlut 38.530 eldsve~7 38.531 def~{gldent~{IPT}}7 38.532 eldsve97 38.533 def95I{if5Iigldent9{IW}ielsegldent9{IW}{5I}fi}} 38.534 fi 7``````
38.514
delredshorthnd{gliin}{4`}{egin{quoting}} delredshorthnd{gliin}{4b}{end{quoting}} 38.547 delredshorthnd{gliin}{4E}{ldllowhyphensEldllowhyphens} 38.548 delredshorthnd{gliin}{4a}7 38.549 {ldllowhyphenshrhyphenhrfonthskipzdskip} 38.550 delredshorthnd{gliin}{4~} 38.551 {ldllowhyphensdisretionry{hrhyphenhrfont}7 38.552 {hrhyphenhrfont}{hrhyphenhrfont}ldllowhyphens} 38.553 delredshorthnd{gliin}{4r} 38.554 {ldllowhyphensdisretionry{hrhyphenhrfont}7 38.555 {}{r}ldllowhyphens} 38.556 delredshorthnd{gliin}{4} 38.557 {ldllowhyphensdisretionry{hrhyphenhrfont}7 38.558 {}{}ldllowhyphens} 38.559 delredshorthnd{gliin}{44}{hskipzdskip} 38.560 delredshorthnd{gliin}{4G} 38.561 {setoxzdhox{G}7
38.545 38.546
PPP
dimendhtzd dvnedimendEIex 38.564 dvnedimenddpzd 38.565 dimendFQIdimend 38.566 dvnedimendEdpzd 38.567 ifdimdimendbHpt 38.568 kernFHIemlowerdimendoxzdkernFHQem 38.569 else 38.570 oxzd 38.571 fi} 38.572 delredshorthnd{gliin}{4c} 38.573 {setoxzdhox{c}7 38.574 levevmoderisedpzdoxzd} 38.575 delredshorthnd{gliin}{43} 38.576 {setoxzdhox{3}7 38.577 levevmoderisedpzdoxzd}
38.562 38.563 38.578
gldsetdshorthnd{~} delredshorthnd{gliin}{~n}{~n} 38.581 delredshorthnd{gliin}{~x}{~x} 38.582 delredshorthnd{gliin}{~E}{7 38.583 levevmode 38.584 group 38.585 letdsptokenglddshes 7 his ssigntion hnges the 38.586 difnexthrE7 difnexthr ehviour 38.587 {glddshes}7 38.588 {hox{hrhyphenhrfont}egroup}} 38.589 defglddshesE{7 38.590 difnexthrE7 38.591 {ldllowhyphenshox{EEE}ldllowhyphensegroupdgole}7 38.592 {ldllowhyphenshox{EE}ldllowhyphensegroup}}
38.579 38.580 38.593
gldsetdshorthnd{`} gldsetdshorthnd{b} delredshorthnd{system}{`}{snme normldhrstring`endsnme} delredshorthnd{system}{b}{snme normldhrstringbendsnme} ddtoshorthndsgliin{7 gldtivte{`}7 gldtivte{b}} ifesdvee 7`````` etfeginhoument{7 gldquoting
PPQ
38.614 38.615 38.616 38.617 38.618 38.619 38.620 38.621 38.622 38.623 38.624 38.625
ifdfilesw immeditewritedminux{stringgldquoting}7 fi}7 fi 7`````` deftivtequoting{7 todebative tode`ative letgldquotingtivtequoting} defdetivtequoting{7 todebaIP tode`aIP letgldquotingdetivtequoting}
defgldtiveute{7 gldsetdshorthnd{9}7 38.635 ddtoshorthndsgliin{gldtivte{9}}7 38.636 ddtogldreviveshorthnds{gldrestore{9}}7 38.637 ddtogldselet{tode9ative}7 38.638 delredshorthnd{gliin}{9}{dtkludge9}7 38.639 delredshorthnd{gliin}{9e}{dtkludge9e}7 38.640 delredshorthnd{gliin}{9e}{dtkludge9e}7 38.641 delredshorthnd{gliin}{9i}{dtkludge9i}7 38.642 delredshorthnd{gliin}{9i}{dtkludge9i}7 38.643 delredshorthnd{gliin}{9s}{dtkludge9s}7 38.644 delredshorthnd{gliin}{9o}{dtkludge9o}7 38.645 delredshorthnd{gliin}{9y}{dtkludge9y}7 38.646 delredshorthnd{gliin}{9u}{dtkludge9u}7 38.647 delredshorthnd{gliin}{9}{dtkludge9}7 38.648 delredshorthnd{gliin}{9n}{~n}7 38.649 delredshorthnd{gliin}{9x}{~x}7 38.650 delredshorthnd{gliin}{99}{textquotedlright}7 38.651 letgldtiveuterelx}
38.633 38.634 38.652 38.653 38.654
he ute ents re stored in mroF sf activeacute ws set s n option it9s exeutedF sf not is not deleted for possile lter use in the cfg (leF sn non A v i P formts is lwys exeutedF
ifesdvee 7`````` difpkgewith{el}{tiveute}{gldtiveute}{} 38.655 else 7`````` 38.656 gldtiveute 38.657 fi 7``````7
end the ustomiztionF fy defult these mros only store the vlues nd do nothingF
38.658 38.659 38.660 38.661
PPR
38.662
defglditem{{5I}{5P}{5Q}{5R}}}
he prt formerly in the .lld (le omes hereF st performs lyout dpttion A of v i to orthodox qliin rulesF
38.663 38.664
ifesdvee
7``````
gldenumerte{IF}{A}{IA}{696} defgliindshitems{glditemize{EEE}{EEE}{EEE}{EEE}} 38.667 defgliinsymitems{7 38.668 glditemize 38.669 {levevmodehox to IFPex 38.670 {hssvrule height FWex width FUex depth EFPexhss}}7 38.671 {textullet}7 38.672 {6mdthir6}7 38.673 {6mdthdimond6}} 38.674 defgliinsignitems{7 38.675 glditemize 38.676 {textullet}7 38.677 {6mdthir6}7 38.678 {6mdthdimond6}7 38.679 {6mdthtringleright6}} 38.680 gliinsymitems
38.665 38.666 38.681
defgldenumdef5I5P5Qdd{7 if5PI7 38.684 dnmedef{theenum5I}{ri{enum5I}}7 38.685 elseif5P7 38.686 dnmedef{theenum5I}{emph{lph{enum5I}}}7 38.687 elseif5Pe7 38.688 dnmedef{theenum5I}{elph{enum5I}}7 38.689 elseif5Pi7 38.690 dnmedef{theenum5I}{romn{enum5I}}7 38.691 elseif5Ps7 38.692 dnmedef{theenum5I}{omn{enum5I}}7 38.693 elseif5Po7 38.694 dnmedef{theenum5I}{ri{enum5I}protetgldsptext{o}}7 38.695 fifififififi 38.696 toksdexpndfter{snme theenum5Iendsnme} 38.697 expndfteredefsnme lelenum5Iendsnme 38.698 {noexpndgldlistquotthetoksd5Q}}
38.682 38.683 38.699
ddtolyoutgliin{7 defgldenumerte55I55P55Q55R{7 38.702 gldenumdef{i}55Idemptydemptydd 38.703 gldenumdef{ii}55Pdemptydemptydd 38.704 gldenumdef{iii}55Qdemptydemptydd 38.705 gldenumdef{iv}55Rdemptydemptydd}7 38.706 defglditemize55I55P55Q55R{7 38.707 deflelitemi{gldlistquot55I}7 38.708 deflelitemii{gldlistquot55P}7 38.709 deflelitemiii{gldlistquot55Q}7 38.710 deflelitemiv{gldlistquot55R}}7 38.711 defpdenumii{theenumi}7 38.712 defpdenumiii{theenumitheenumii}7 38.713 defpdenumiv{pdenumiiitheenumiii}7
38.700 38.701
PPS
38.714 38.715 38.716 38.717 38.718 38.719 38.720 38.721 38.722 38.723 38.724 38.725 38.726 38.727 38.728 38.729 38.730 38.731 38.732 38.733 38.734 38.735 38.736 38.737 38.738 38.739 38.740 38.741 38.742 38.743 38.744 38.745 38.746 38.747
expndftergldenumertegldenum expndfterglditemizeglditem helreextgommnd{guillemotleft}{yI}{7 ifmmodell else svedsfdq{penltydw levevmodehox{usefont{}{lsy}{m}{n}7 hrRH kernEHFIWemhrRH }}7 fi}7 helreextgommnd{guillemotright}{yI}{7 ifmmodegg else svedsfdq{penltydw levevmodehox{usefont{}{lsy}{m}{n}7 hrRI kernEHFIWemhrRI }}7 fi}7 defdfnsymol55I7 {ifse55IorBorBBorBBBorBBBBor BBBBBorBBBBBBelsedtrerrfi}7 defdlph55I7 {ifse55Ior or or or dor eor for gor hor ior lor mor nor ~nor oor por qor ror sor tor uor vor xor zelsedtrerrfi}7 defdelph55I7 {ifse55Ior eor for gor hor ior por qor ror sor vor wor xor ~xor yor or or or or or or or or elsedtrerrfi}7 letdfterindentflsedfterindenttrue dfterindenttrue defdsentformt55I{snme the55IendsnmeFqud}7 defnumerline55I{hdxtddtempdim{55Iif855I8elseFfihfil}}7 defdromn55I{protetgldromn{numer55I}}7 defgldromn55I{protetgldms{romnnumerl55I}}7 defglromnindex55I55P{55I{protetgldms{55P}}}}
etindyfkge{7 letgldtiveutedundefined 38.750 defldtemp{gliin}7 38.751 ifxldmindlngugeldtemp 38.752 etfeginhoument{lyoutgliin}7 38.753 ddtogldselet{7 38.754 difstr{letlyoutgliinrelx}7 38.755 {lyoutgliinletlyoutgliinrelx}}7 38.756 fi 38.757 seletgliin}
38.748 38.749 38.758 38.759
e need to exeute the following ode when el hs een runD in order to see if galician is the min lngugeF
fi
7``````
efter restoring the tode of ~ nd setting the miniml vlues for hyphentionD the .ldf is (nishedF
38.760 38.761 38.762
gldsvedtodes
providehyphenmins{gurrentyption}{twdtwd}
PPT
38.763
ifesdvee 7`````` ldfdfinish{gliin} 38.766 else 7`````` 38.767 gldselet 38.768 ldfdfinish{gliin} 38.769 snme tivtequotingendsnme 38.770 fi 7``````
38.764 38.765 38.771 38.772
/code
ht9s ll in the min (leF xow the (le with custom-bib mrosF
bblbst deflnd{e} 38.775 defleditors{diretores} defleds{dirsFd} 38.776 defleditor{diretor} defled{dirFd} 38.777 defledy{dirixido por} 38.778 defledition{edii9on} defledn{edFd} 38.779 defletl{e outros} 38.780 deflvolume{volumen} deflvol{volFd} 38.781 deflof{de} 38.782 deflnumer{n9umero} deflno{nsptext{o}} 38.783 deflin{en} 38.784 deflpges{p9xins} deflpp{p9xsFd} 38.785 deflpge{p9xin} deflp{p9xFd} 38.786 deflhpter{p9itulo} deflhp{pFd} 38.787 defltehreport{informe t9enio} 38.788 defltehrep{infFd t9eFd} 38.789 deflmthesis{proxeto de fin de rreir} 38.790 deflphdthesis{tesis doutorl} 38.791 deflfirst {primeir} deflfirsto {Isptext{}} 38.792 deflseond{segund} deflseondo{Psptext{}} 38.793 deflthird {tereir} deflthirdo {Qsptext{}} 38.794 deflfourth{urt} deflfourtho{Rsptext{}} 38.795 deflfifth {quint} deflfiftho {Ssptext{}} 38.796 deflth{sptext{}} 38.797 letlstlth letlndlth letlrdlth 38.798 defljn{xneiro} deflfe{fereiro} deflmr{mrzo} 38.799 deflpr{ril} deflmy{mio} defljun{xu~no} 38.800 defljul{xullo} deflug{gosto} deflsep{setemro} 38.801 deflot{outuro}deflnov{novemro}deflde{deemro} 38.802 /bblbst
38.773 38.774
he galician option writes mro in the pge (eld of MakeIndex in entries with medium ps numerD nd they re rejetedF his progrm is preproessor whih moves this mro to the entry (eldF
38.803 38.804 38.805 38.806 38.807 38.808
indexgl mketletter
newountgldonverted newountgldproessed
PPU
dexpndtworgsind{F}{nswer} ifind 38.821 edefgldinputdfile{expndftergldsplitdfilenswerdd} 38.822 edefgldinputdext{expndftergldsplitdextnswerdd} 38.823 else 38.824 edefgldinputdfile{nswer} 38.825 defgldinputdext{idx} 38.826 fi
38.819 38.820 38.827
typeinnswer{terquivo de destinot7 @rquivo por omisionX gldinputdfileFeixDt7 38.830 extension por omision FeixAX} 38.831 ifxnswerdempty 38.832 edefgldoutput{gldinputdfileFeix} 38.833 else 38.834 dexpndtworgsind{F}{nswer} 38.835 ifind 38.836 edefgldoutput{nswer} 38.837 else 38.838 edefgldoutput{nswerFeix} 38.839 fi 38.840 fi
38.828 38.829 38.841
typeinnswer{7 tcsouse lgun esquem espeil de ontrolest7 38.844 de wkesndex pr enpD openrnge ou loserngect7 38.845 sGn @n por omisionA}
38.842 38.843 38.846
if snswer typeinnswer{tgrter pr 9enp9t7 38.849 @string| por omisionA} 38.850 ifxnswerdemptyelse 38.851 edefgldenp{7 38.852 expndfternoexpndsnmeexpndfterstringnswerendsnme} 38.853 fi 38.854 typeinnswer{tgrter pr 9openrnge9t7 38.855 @string@ por omisionA} 38.856 ifxnswerdemptyelse 38.857 edefgldopenrnge{7 38.858 expndfternoexpndsnmeexpndfterstringnswerendsnme} 38.859 fi 38.860 typeinnswer{tgrter pr 9losernge9t7 38.861 @stringA por omisionA} 38.862 ifxnswerdemptyelse 38.863 edefgldlosernge{7 38.864 expndfternoexpndsnmeexpndfterstringnswerendsnme} 38.865 fi
38.847 38.848
PPV
38.866 38.867 38.868 38.869 38.870 38.871 38.872 38.873 38.874 38.875
egingroup
lowerse{ gdefgldindexentry5I{7 38.889 endgroup 38.890 dvnegldproesseddne 38.891 gldenpsultedflse 38.892 gldrdidx5I|dd 38.893 gldidxentry}7 38.894 }
38.887 38.888 38.895
lowerse{ gdefgldidxentry5I{7 38.898 ind{gldromn}{5I}7 38.899 ifind 38.900 dvnegldonverteddne 38.901 immeditewritegldindexfile{7 38.902 stringindexentry{gld|ifgldenpsultedgldpfi glromnindex7 38.903 {ifxglddemptyelsegldslshgldfi}}{5I}}7 38.904 else 38.905 immeditewritegldindexfile{7 38.906 stringindexentry{gldifgldenpsulted|gldpgldfi}{5I}}7 38.907 fi} 38.908 }
38.896 38.897 38.909
PPW
38.920 38.921 38.922 38.923 38.924 38.925 38.926 38.927 38.928 38.929 38.930
typeout{BBBBBBBBBBBBBBBBB} typeout{proesouseX gldinputdfileFgldinputdext } 38.933 typeout{vi9ns lidsX thegldproessed} 38.934 typeout{vi9ns onvertidsX thegldonverted} 38.935 typeout{esultdo enX gldoutput} 38.936 ifnumgldonvertedbzd 38.937 typeout{enere o 9indie prtir deste rquivo} 38.938 else 38.939 typeout{xon se relizou ning9un tipo de onversi9on} 38.940 typeout{9odese xenerr o rquivo diretmentet7 38.941 de gldinputdfileFgldinputdext} 38.942 fi 38.943 typeout{BBBBBBBBBBBBBBBBB} 38.944 ddend 38.945 /indexgl
38.931 38.932
PQH
39
he (le basque.dtx45 de(nes ll the lnguge de(nition mro9s for the fsque lngugeF por this lnguge the hrters ~ nd " re mde tiveF sn tle IS n overview is given of their purposeF hese tive ent hrters ehve ording
disle ligture t this positionF n expliit hyphen signD llowing hyphention in the rest of the wordF like the old \-D ut llowing hyphention in the rest of the wordF for prenh left doule quotes @similr to <<AF for prenh right doule quotes @similr to >>AF n with tildeF orks for upperse tooF
le ISX he extr de(nitions mde y basque.ldf to their originl de(nitions if not followed y one of the hrters indited in tht tleF his option inludes support for working with extendedD VEit fontsD if villeF upport is sed on providing n pproprite de(nition for the ent mros on A entry to the fsque lngugeF his is utomtilly done y v i P or xpPF sf I enoding is hosenD nd provided tht dequte hyphention ptterns46 re A villeF he esiest wy to use the new enoding with v i P is to lod the pkge t1enc with \usepackageF his must e done efore loding babelF he mro \LdfInit tkes re of preventing tht this (le is loded more thn oneD heking the tegory ode of the @ signD etF
39.1 39.2
code vdfsnit{sque}ptionssque
hen this (le is red s n optionD iFeF y the \usepackage ommndD basque ould e n unknown9 lnguge in whih se we hve to mke it knownF o we hek for the existene of \l@basque to see whether we hve to do something hereF
ifxldsquedundefined dnoptterns{fsque} 39.5 dddiletldsqueH 39.6 fi
39.3 39.4
he next step onsists of de(ning ommnds to swith to @nd fromA the fsque lngugeF
ptionssque
he mro \captionsbasque de(nes ll strings used in the four stndrd douE A mentlsses provided with v iF
The original author is Juan M. Aguirregabiria, (wtpagagj@lg.ehu.es) and is based on the Spanish
45 The le described in this section has version number v1.0f and was last revised on 2005/03/29.
46 One
mous FTP or in
tp.lc.ehu.es http://tp.lc.ehu.es/jma/basque.html
PQI
39.10 39.11 39.12 39.13 39.14 39.15 39.16 39.17 39.18 39.19 39.20 39.21 39.22 39.23 39.24 39.25 39.26 39.27 39.28 39.29
defstrtnme{vurpen}7 definme{filiogrfi}7 defhpternme{upitulu}7 defppendixnme{irnskin}7 defontentsnme{qien eurkiide}7 deflistfigurenme{srudien errend}7 deflisttlenme{ulen errend}7 defindexnme{uontzeptuen eurkiide}7 deffigurenme{srudi}7 deftlenme{ul}7 defprtnme{etl}7 defenlnme{irntsi}7 defnme{uopi}7 defhedtonme{xori}7 defpgenme{yrri}7 defseenme{skusi}7 deflsonme{skusiD hler}7 defproofnme{progpen}7 defglossrynme{qlosrio}7 }7
dtesque
defdtesque{7 deftody{numeryerFekospeifsemonthor 39.32 urtrrilrenor otsilrenor mrtxorenor pirilrenor 39.33 mitzrenor ekinrenor uztilrenor uzturenor 39.34 irilrenor urrirenor zrorenor 39.35 endurenfi~numerdy}}
39.30 39.31
extrssque noextrssque
he mro \extrasbasque will perform ll the extr de(nitions needed for the fsque lngugeF he mro \noextrasbasque is used to nel the tions of \extrasbasqueF por fsqueD some hrters re mde tive or re rede(nedF sn prtiulrD the " hrter nd the ~ hrter reeive new meningsF herefore these hrters hve to e treted s speil9 hrtersF
ddtoextrssque{lngugeshorthnds{sque}} inititedtivedhr{4} 39.38 inititedtivedhr{~} 39.39 ddtoextrssque{7 39.40 ldtivte{4}7 39.41 ldtivte{~}}
39.36 39.37
ddtonoextrssque{ lddetivte{4}lddetivte{~}}
eprt from the tive hrters some other mros get new de(nitionF herefore we store the urrent one to e le to restore them lterF
ddtoextrssque{7 eldsve47 39.46 eldsve~7 39.47 def4{protetdumlut}7 39.48 def~{protetdtilde}}
39.44 39.45
squehyphenmins
39.49
PQP
dieresi texttilde
he originl de(nition of \" is stored s \dieresiaD euse the we do not know wht is its de(nitionD sine it depends on the enoding we re using or on speil mros tht the user might hve lodedF he expnsion of the mro might use the i \accent primitive using some prtiulr ent tht the font provides or might hek if omined ent exists in the fontF hese two ses hppen with respetively yI nd I enodingsF por this reson we sve the de(nition of \" nd use tht in the de(nition of other mrosF e do likewise for \' nd \~F he present oding of this option (le is inorret in tht it n rek when the enoding hngesF e do not use \tilde s the mro nme euse it is lredy de(ned s \mathaccentF
letdieresi4 lettexttilde~
39.50 39.51
dumlut dtilde
e hek the enoding nd if not using ID we mke the ents expnd ut enling hyphention eyond the entF sf this is the seD not ll rek positions will e found in words tht ontin entsD ut this is limittion in iF en unsolved prolem here is tht the enoding n hnge t ny timeF he de(nitions elow re mde in suh wy tht hnge etween two PSTEhr enodings re supportedD ut hnges etween IPVEhr nd PSTEhr enoding re not properly supportedF e hek if I is in useF sf notD we will give wrning nd proeed rede(ning the ent mros so tht i t lest (nds the reks tht re not too lose to the entF he wrning will only e printed to the log (leF
ifxhelreponthpedundefined wlog{rningX ou re using n old ve} 39.54 wlog{ome word reks will not e foundF} 39.55 defdumlut5I{llowhyphensdieresi{5I}llowhyphens} 39.56 defdtilde5I{llowhyphenstexttilde{5I}llowhyphens} 39.57 else 39.58 edefldnext{I} 39.59 ifxfdenodingldnext 39.60 letdumlutdieresi 39.61 letdtildetexttilde 39.62 else 39.63 wlog{rningX ou re using enoding fdenodingspe 39.64 insted of IF} 39.65 wlog{ome word reks will not e foundF} 39.66 defdumlut5I{llowhyphensdieresi{5I}llowhyphens} 39.67 defdtilde5I{llowhyphenstexttilde{5I}llowhyphens} 39.68 fi 39.69 fi
39.52 39.53
ordinls47 D
39.74 39.75
delredshorthnd{sque}{99}{7 textormth{textquotedlright}{spgroupprimds9}}
code for the ordinals was taken from the answer provided by Raymond Chen
47 The
comp.text.tex.
PQQ
tildesD
39.76 39.77
nd some dditionl ommndsF he shorthnd "- should e used in ples where word ontins n explitit hyphention hrterF eording to the edemy of the fsque lngugeD when word rek ours t n expliit hyphen it must pper both t the end of the (rst line and t the eginning of the seond lineF
delredshorthnd{sque}{4E}{7 norekdisretionry{E}{E}{E}ldllowhyphens} 39.80 delredshorthnd{sque}{4|}{7 39.81 textormth{norekdisretionry{E}{}{kernFHQem}7 39.82 llowhyphens}{}}
39.78 39.79
he mro \ldf@finish tkes re of looking for on(gurtion (leD setting the min lnguge to e swithed on t \begin{document} nd resetting the tegory ode of @ to its originl vlueF
39.83 39.84
ldfdfinish{sque} /code
PQR
40
he (le romanian.dtx48 de(nes ll the lngugeEspei( mros for the omnin lngugeF por this lnguge urrently no speil de(nitions re needed or villeF he mro \LdfInit tkes re of preventing tht this (le is loded more thn oneD heking the tegory ode of the @ signD etF
40.1 40.2
code vdfsnit{romnin}ptionsromnin
hen this (le is red s n optionD iFeF y the \usepackage ommndD romanian will e n unknown9 lnguge in whih se we hve to mke it knownF o we hek for the existene of \l@romanian to see whether we hve to do someE thing hereF
ifxldromnindundefined dnoptterns{omnin} 40.5 dddiletldromninHfi
40.3 40.4
he next step onsists of de(ning ommnds to swith to @nd fromA the oE mnin lngugeF
ptionsromnin
ls ddtoptionsromnin{7 40.8 defprefenme{ref{t}u{}}7 40.9 defrefnme{filiogrfie}7 40.10 defstrtnme{ezumt}7 40.11 definme{filiogrfie}7 40.12 defhpternme{gpitolul}7 40.13 defppendixnme{enex}7 40.14 defontentsnme{guprins}7 40.15 deflistfigurenme{vistu{} de figuri}7 40.16 deflisttlenme{vistu{} de tele}7 40.17 defindexnme{qlosr}7 40.18 deffigurenme{pigur}7 7 su ln{s} 40.19 deftlenme{el}7 40.20 defprtnme{rte}7 40.21 defenlnme{enexu{}}7 7 su enexe 40.22 defnme{gopie}7 40.23 defhedtonme{entru}7 40.24 defpgenme{gin}7 40.25 defseenme{ezi}7 40.26 deflsonme{ezi de semene}7 40.27 defproofnme{hemonstr{t}ie} 7 40.28 defglossrynme{qlosr}7 40.29 }7
40.6 40.7
he mro \captionsromanian de(nes ll strings used in the four stndrd doE A umentlsses provided with v iF
dteromnin
40.30
PQS
deftody{numerdy~ifsemonthor inurieor ferurieor mrtieor prilieor mior iunieor iulieor ugustor septemrieor otomrieor noiemrieor deemriefi spe numeryer}}
extrsromnin noextrsromnin
he mro \extrasromanian will perform ll the extr de(nitions needed for the omnin lngugeF he mro \noextrasromanian is used to nel the tions of \extrasromanian por the moment these mros re empty ut they re de(ned for omptiility with the other lnguge de(nition (lesF
ddtoextrsromnin{} ddtonoextrsromnin{}
40.36 40.37
he mro \ldf@finish tkes re of looking for on(gurtion (leD setting the min lnguge to e swithed on t \begin{document} nd resetting the tegory ode of @ to its originl vlueF
40.38 40.39
ldfdfinish{romnin} /code
PQT
41
he (le danish.dtx49 de(nes ll the lnguge de(nition mros for the hnish lngugeF por this lnguge the hrter " is mde tiveF sn tle IT n overview is given of its purposeF
disle ligture t this positionF n expliit hyphen signD llowing hyphention in the rest of the wordF like "-D ut produing no hyphen sign @for words tht should rek t some sign suh s entrdGslidF lowered doule left quotes @looks like A norml doule right quotes for prenh left doule quotes @similr to <<AF for prenh right doule quotes @similr to >>AF like the old \-D ut llowing hyphention in the rest of the wordF
le ITX he extr de(nitions mde y danish.ldf he mro \LdfInit tkes re of preventing tht this (le is loded more thn oneD heking the tegory ode of the @ signD etF
41.1 41.2
code vdfsnit{dnish}ptionsdnish
hen this (le is red s n optionD iFeF y the \usepackage ommndD danish will e n unknown9 lnguge in whih se we hve to mke it knownF o we hek for the existene of \l@danish to see whether we hve to do something hereF
ifxlddnishdundefined dnoptterns{hnish} 41.5 dddiletlddnishHfi
41.3 41.4
englishhyphenmins
his mro is used to store the orret vlues of the hyphention prmeters \lefthyphenmin nd \righthyphenminF
41.6
providehyphenmins{gurrentyption}{twdtwd}
he next step onsists of de(ning ommnds to swith to @nd fromA the hnish lngugeF
ptionsdnish
ddtoptionsdnish{7 defprefenme{porord}7 41.9 defrefnme{vittertur}7 41.10 defstrtnme{esum9e}7 41.11 definme{vittertur}7 41.12 defhpternme{upitel}7 41.13 defppendixnme{filg}7 41.14 defontentsnme{sndhold}7
41.7 41.8
he mro \captionsdanish de(nes ll strings used in the four stndrd douE A mentlsses provided with v iF
49 The
le described in this section has version number v1.3q and was last revised on
PQU
41.15 41.16 41.17 41.18 41.19 41.20 41.21 41.22 41.23 41.24 41.25 41.26 41.27 41.28 41.29
deflistfigurenme{pigurer}7 deflisttlenme{eller}7 defindexnme{sndeks}7 deffigurenme{pigur}7 deftlenme{el}7 defprtnme{hel}7 defenlnme{edlgt}7 defnme{uopi til}7 or uopi sendt til defhedtonme{il}7 in letter defpgenme{ide}7 defseenme{e}7 deflsonme{e ogs{}}7 defproofnme{fevis}7 defglossrynme{qloseliste}7 }7
dtednish
defdtednish{7 deftody{numerdyF~ifsemonthor 41.32 jnuror feruror mrtsor prilor mjor junior 41.33 julior ugustor septemeror oktoeror novemeror deemerfi 41.34 spenumeryer}}
41.30 41.31
extrsdnish noextrsdnish
he mro \extrasdanish will perform ll the extr de(nitions needed for the hnish lngugeF he mro \noextrasdanish is used to nel the tions of \extrasdanishF hnish typesetting requires \frenchspacing to e in e'etF
ddtoextrsdnish{ldfrenhsping} ddtonoextrsdnish{ldnonfrenhsping}
41.35 41.36
por hnish the " hrter is mde tiveF his is done oneD lter on its de(nition my vryF yther lnguges in the sme doument my lso use the " hrter for shorthndsY we speify tht the dnish group of shorthnds should e usedF
inititedtivedhr{4} ddtoextrsdnish{lngugeshorthnds{dnish}} 41.39 ddtoextrsdnish{ldtivte{4}}
41.37 41.38
ddtonoextrsdnish{lddetivte{4}}
pirst we de(ne ess to the low opening doule quote nd guillemets for quottionsD
delredshorthnd{dnish}{4}{7 textormth{quotedlse}{mox{quotedlse}}} 41.43 delredshorthnd{dnish}{49}{7 41.44 textormth{textquotedlleft}{mox{textquotedlleft}}} 41.45 delredshorthnd{dnish}{4`}{7 41.46 textormth{guillemotleft}{mox{guillemotleft}}} 41.47 delredshorthnd{dnish}{4b}{7 41.48 textormth{guillemotright}{mox{guillemotright}}}
41.41 41.42
PQV
then we de(ne ommnds to e le to speify hyphention rekpoints tht ehve little di'erent from \-F
delredshorthnd{dnish}{4E}{norekEldllowhyphens} delredshorthnd{dnish}{44}{hskipzdskip} 41.51 delredshorthnd{dnish}{4~}{textormth{levevmodehox{E}}{E}} 41.52 delredshorthnd{dnish}{4a}{norekEhskipzdskip}
41.49 41.50
delredshorthnd{dnish}{4|}{7 textormth{disretionry{E}{}{kernFHQem}}{}}
o enle hyphention in two wordsD written together ut seprted y slshD s in uitdrukkingGopmerking9 we de(ne the ommnd "/F
41.55 41.56
delredshorthnd{duth}{4G}{textormth {ldllowhyphensdisretionry{G}{}{G}ldllowhyphens}{}}
ell tht is left now is the rede(nition of \-F he new version of \- should indite n extr hyphention positionD while llowing other hyphention positions to e generted utomtillyF he stndrd ehviour of i in this respet is very unfortunte for lnguges suh s huth nd qermnD where long ompound words re quite norml nd ll one needs is mens to indite n extr hyphention position on top of the ones tht i n generte from the hyphention ptternsF
he mro \ldf@finish tkes re of looking for on(gurtion (leD setting the min lnguge to e swithed on t \begin{document} nd resetting the tegory ode of @ to its originl vlueF
41.61 41.62
ldfdfinish{dnish} /code
PQW
42
42.1 Overview
he (le iceland.dtx50 de(nes ll the lnguge de(nition mros for the selndi lnguge gustomiztion for the selndi lnguge ws mde following severl o0il nd semio0il pulitions PD QD ID TD SF hese pulitions do not lwys gree nd we indite those instnesF por this lnguge the hrter " is mde tiveF sn tle IU n overview is given of its purposeF he shorthnds in tle IU n lso e typeset y using the
"| """ "~ "= "` "' "> "< "o "O " " "e "E " " \tala \grada \gradur \upp
disle ligture t this positionF n expliit hyphen signD llowing hyphention in the rest of the wordF like "-D ut produing no hyphen sign @for ompund words with hyphenD eFgF x-""yAF for ompound word mrk without rekpointF for ompound word mrk with rekpointD llowE ing hyphention in the omposing wordsF for selndi left doule quotes @looks like AF for selndi right doule quotesF for selndi frenh9 left doule quotes @similr to >>AF for selndi frenh9 right doule quotes @similr to <<AF for old selndi o for old selndi y for old selndi for old selndi for old selndi e for old selndi i for old selndi for old selndi for typesetting numers for the degree9 symol for degrees9D eFgF S g for textsupersript
References
I elingiF
50 The
Reglur um frgang ingskjala og prentun umrnaD
IWVVF
PRH
\ilqq \irqq \ilq \irq \iflqq \ifrqq \ifrq \iflq \dq \oob \Oob \ooob \OOob \eob \Eob \eeob \EEob
for selndi left doule quotes @looks like AF for selndi right doule quotes @looks like AF for selndi left single quotes @looks like DAF for selndi right single quotes @looks like AF for selndi frenh9 left doule quotes @similr to >>AF for selndi frenh9 right doule quotes @similr to <<AF for selndi frenh9 right single quotes @similr to <AF for selndi frenh9 left single quotes @similr to >AF the originl quotes hrter @"AF for old selndi o for old selndi y for old selndi for old selndi for old selndi e for old selndi i for old selndi for old selndi
le IVX gommnds whih produe quotes nd old selndi diritisD de(ned y icelandic.ldf
Q euglsing um reyting uglsingu nrF IQPGIWUR um slensk stfsetninguF tjFt fD nrF PTIGIWUUD IWUUF R iinr rugenD editorF tionD IWUPF
First Grammatical TreatiseF
P editionD IWWRF
he mro \LdfInit tkes re of preventing tht this (le is loded more thn oneD heking the tegory ode of the @ signD etF
42.5 42.6
code vdfsnitgurrentyption{ptionsgurrentyption}
hen this (le is red s n optionD iFeFD y the \usepackage ommndD icelandic will e n unknown9 lngugeD so we hve to mke it knownF o we PRI
hek for the existene of \l@icelandic to see whether we hve to do something hereF
ifxldielndidundefined dnoptterns{selndi} 42.9 dddiletldielndiH 42.10 fi
42.7 42.8
ifdwodi
newififdwodi dwoditrue defdpsd{fi} 42.13 ifxdomptiilitytruedundefined 42.14 dwodiflse defdpsd{relx} 42.15 else 42.16 ifdomptiility dwodiflse fi 42.17 dpsd
42.11 42.12
A e will need new if9 X \if@Two@E is true if nd only if v i P is running not in omptiility modeF st is used in the de(nitions of the ommnd \tala nd \uppF he de(nition is somewht omplitedD due to the ft tht \if@compatibility A is not reognized s \if in v iEPFHW sed formtsF
extrsielndi noextrsielndi
he mro \extrasicelandic will perform ll the extr de(nitions needed for the selndi lngugeF he mro \noextrasicelandic is used to nel the tions of \extrasicelandicF por selndi the " hrter is mde tiveF his is done oneD lter on its de(nition my vryF
ddtonoextrsielndi{lddetivte{4}}
providehyphenmins{gurrentyption}{twdtwd}
he ode ove is neessry euse we need n extr tive hrterF his hrter is then used s indited in tle IVF o e le to de(ne the funtion of "D we (rst de(ne ouple of support9 mrosF
ptionsielndi
he mro \captionsicelandic will de(ne ll strings used used in the four stnE A drd doument lsses provided with v iF
PRP
42.29 42.30 42.31 42.32 42.33 42.34 42.35 42.36 42.37 42.38 42.39 42.40 42.41 42.42 42.43 42.44 42.45 42.46 42.47
definme{reimildir}7 defhpternme{ufli}7 defppendixnme{i{dh}uki}7 defontentsnme{ifnisyfirlit}7 deflistfigurenme{wyndskr9{}}7 deflisttlenme{4{o}fluskr9{}}7 defindexnme{etri{dh}isor{dh}skr9{}}7 deffigurenme{wynd}7 deftlenme{fl}7 defprtnme{rluti}7 defenlnme{rj9{}lgt}7 defnme{mrit}7 defhedtonme{ilX}7 in letter defpgenme{fl{dh}s9{i}{dh}}7 defseenme{j9{}}7 deflsonme{j9{} einnig}7 defproofnme{4{o}nnun}7 defglossrynme{yr{dh}listi}7 }
dteielndi
defdteielndi{7 deftody{numerdyF~ifsemonthor 42.50 jn9{u}ror fer9{u}ror mrsor pr9{i}lor m9{i}or 42.51 j9{u}n9{i}or j9{u}l9{i}or 9{}g9{u}stor septemeror 42.52 okt9{o}eror n9{o}vemeror desemerfi 42.53 spenumeryer}}
42.48 42.49
e sve the originl doule quote hrter in \dq to keep it villeD the mth ent \" n now e typed s "F
xow we n de(ne the ielndi nd ielndi frenh9 quotesF he ielndi frenh9 guillemets re the reverse of frenh guillemetsF e de(ne single ielndi frenh9 quotes for omptiilityF horthnds re provided for numer of di'erent quottion mrksD whih mke them usele oth outside nd inside mthmodeF
letilqgrq letirqgrq 42.61 letiflqfrq 42.62 letifrqflq 42.63 letilqqglqq 42.64 letirqqgrqq 42.65 letiflqqfrqq 42.66 letifrqqflqq
42.59 42.60 42.67
delredshorthnd{ielndi}{4}{glqq}
PRQ
so
defso5I5P5Q5R5S{7prmetersX letter nd frtions hlDhoDvlDvo setoxHhox{5I}setoxIhox{k{}}setoxPhox{p}7 42.84 pldrighta5PwdH dvnepldright yE5QwdI 42.85 plddowna5ShtI dvneplddown yE5RhtH 42.86 pldleftapldright dvnepldleft ywdI 42.87 pldtempaEplddown dvnepldtemp ydpP dpIapldtemp 42.88 levevmode 42.89 kernpldrightlowerplddownoxIkernEpldleft 5I}
42.82 42.83
oo yo42.90 helreextgommnd{oo}{I}{so {o}{FVS}{H}{FHR}{H}} ooo42.91 helreextgommnd{yo}{I}{so {y}{FU}{H}{H}{H}} yyo42.92 helreextgommnd{ooo}{I}{so {}{FVS}{H}{FHR}{H}} eo42.93 helreextgommnd{yyo}{I}{so {}{FU}{H}{H}{H}} io42.94 helreextgommnd{eo}{I}{so {e}{I}{H}{FHR}{H}} eeo42.95 helreextgommnd{io}{I}{so {i}{I}{H}{FHR}{H}} iio42.96 helreextgommnd{eeo}{I}{so {}{I}{H}{FHR}{H}} 42.97 helreextgommnd{iio}{I}{so {}{I}{H}{FHR}{H}} delredshorthnd{ielndi}{4o}{oo} delredshorthnd{ielndi}{4y}{yo} 42.100 delredshorthnd{ielndi}{4}{ooo} 42.101 delredshorthnd{ielndi}{4}{yyo} 42.102 delredshorthnd{ielndi}{4e}{eo} 42.103 delredshorthnd{ielndi}{4i}{io}
42.98 42.99
PRR
42.104 42.105
delredshorthnd{ielndi}{4}{eeo} delredshorthnd{ielndi}{4}{iio}
e need internl de(nitionD vlid in oth text nd mthEmodeD for the omm @\@comma@A nd nother one for the unrekle (xed length spe @no glueA used in selndi @\f@thousandsepAF he ommnds \decimalsep nd \thousandsep get defult de(nitions @for the inglish lngugeA when icelandic is lodedY these de(nitions will e updted when the urrent lnguge is swithed to or from selndiF
mthhrdefmdomma4HIQf defdommd{ifmmodemdommelseDfi} deffdthousndsep{ifmmodemskipSFSmuelsepenltydwkernFQemfi} 42.108 newommnd{deimlsep}{F} newommnd{thousndsep}{dommd} 42.109 expndfterddtosnme extrsgurrentyptionendsnme{7 42.110 defdeimlsep{dommd}7 42.111 defthousndsep{fdthousndsep}} 42.112 expndfterddtosnme noextrsgurrentyptionendsnme{7 42.113 defdeimlsep{F}7 42.114 defthousndsep{dommd}}
42.106 42.107
PRS
tl
he deiml seprtor used when inputing numer with \tala has to be a \tala splits the inputed numer into two prtsX wht omes efore the (rst omm will e formtted y \@integerpart while the rest @if not emptyA will e formtted y \@decimalpartF foth prtsD one formtted seprtely will e merged together with etween themD either the deiml seprtor \decimalsep A or @in v i P only A the optionl rgument of \talaF
commaF
ifdwodi newommnd{tl}Pdeimlsep{7 42.117 defddeimlsep{5I}dtl5PdemptyDdemptyDdnil} 42.118 else 42.119 newommnd{tl}I{7 42.120 defddeimlsep{deimlsep}dtl5IdemptyDdemptyDdnil} 42.121 fi 42.122 defdtl5ID5PD5Qdnil{7 42.123 ifxdempty5P7 42.124 dintegerprt{5I}7 42.125 else 42.126 dintegerprt{5I}ddeimlsepddeimlprt{5P}7 42.127 fi}
42.115 42.116
he esiest it is the deiml prtX e ttempt to red the (rst four digits of the deiml prtD if it hs less thn R digitsD we just hve to print themD otherwise \thousandsep hs to e ppended fter the third digitD nd the lgorithm is pplied reursively to the rest of the deiml prtF
defddeimlprt5I{dddeimlprt5Idemptydemptydempty} defdddeimlprt5I5P5Q5R{5I5P5Q7 42.130 ifxdempty5R7 42.131 else 42.132 thousndsepexpndfterdddeimlprtexpndfter5R7 42.133 fi}
42.128 42.129
pormtting the integer prt is more di0ult euse the slies of Q digits strt from the bottom while the numer is red from the top3 his @trikyA ode is orrowed from hvid grlisle9s ommFstyF
defdintegerprt5I{ddintegerprt{}5Idemptydemptydempty} defddintegerprt5I5P5Q5R{7 42.136 ifxdempty5P7 42.137 dddthousndsep5Irelx 42.138 else 42.139 ifxdempty5Q7 42.140 dddthousndsepdemptydempty5I5Prelx 42.141 else 42.142 ifxdempty5R7 42.143 dddthousndsepdempty5I5P5Qrelx 42.144 else 42.145 ddintegerprtfterfi{5I5P5Q5R}7 42.146 fi 42.147 fi 42.148 fi} 42.149 defddintegerprtfterfi5Ifififi{fififiddintegerprt{5I}} 42.150 defdddthousndsep5I5P5Q5R{5I5P5Q7 42.151 if5Rrelx 42.152 else
42.134 42.135
PRT
42.153 42.154
thousndsepexpndfterdddthousndsepexpndfter5R7 fi}
fi
letuppdsizesevenrm
A A xow we n de(ne \uppF hen v i P runs in omptiility mode @v iEPFHW emultionAD \textsuperscript is lso de(nedD ut does no good joD so we give two di'erent de(nitions for \upp using \if@Two@EF
ome de(nitions for speil hrtersF \grada needs speil tretmentX it is \char6 in IEenoding nd \char23 in yIEenodingF
ifxfmtnmeveepmtxme helreextymol{grd}{I}{T} 42.184 helreextymol{grd}{yI}{PQ}
42.182 42.183
PRU
else defdone{I} 42.187 ifxfdenodingdone 42.188 newommnd{grd}{hrT} 42.189 else 42.190 newommnd{grd}{hrPQ} 42.191 fi 42.192 fi
42.185 42.186
grdur
wro for typesetting the revition for degrees9 @s in degrees gelsius9AF es the ounding ox of the hrter degree9 hs very di'erent widths in gwGhg nd ostript fontsD we (x the width of the ounding ox of \gradur to HFQ emD this lets the symol degree9 stik to the preeding @eFgFD 45\gradurA or following hrter @eFgFD 20~\gradur CAF
helreoustgommndB{grdur}{7 levevmodehox to HFQem{hssgrdhss}}
42.193 42.194
he mro \ldf@finish tkes re of looking for on(gurtion (leD setting the min lnguge to e swithed on t \begin{document} nd resetting the tegory ode of @ to its originl vlueF
42.195 42.196
ldfdfinishgurrentyption /code
PRV
43
he (le norsk.dtx51 de(nes ll the lnguge de(nition mros for the xorwegin lnguge s well s for n lterntive vrint nynorsk9 of this lngugeF por this lnguge the hrter " is mde tiveF sn tle IW n overview is given of its purposeF
for ff to e hyphented s ff-fD this is lso implemented for D dD fD gD lD mD nD pD rD sD nd tF @o"ppussingA ryphente "ee s \'e-eF @komit"eenA n expliit hyphen signD llowing hyphention in the omposing wordsF se this for ompound words when the hyphention ptterns fil to hyphente properlyF @alpin"-anleggA vike "-D ut inserts HFHQem speF se it if the ompound point is spnned y ligtureF @hoff"|intrigerA vike "-D ut produing no hyphen signF @i""g\aa{}rA vike -D ut llows no hyphention t llF @E"~cupA vike -D ut llowing hyphention in the omposing wordsF @marksistisk"=leninistiskA for prenh left doule quotes @similr to <<AF for prenh right doule quotes @similr to >>AF le IWX he extr de(nitions mde y norsk.sty
une ulevelnd distriutes xorwegin ditionry for ispell @SUHHHH wordsAF st n e found t http://www.uio.no/~runekl/dictionary.htmlF his ditionry supports the spellings spi"sslede for spisslede9 @hyphented spissEsledeA nd other suh wordsD nd lso suggest the spelling spi"sslede for spisslede9 nd spissslede9F he mro \LdfInit tkes re of preventing tht this (le is loded more thn oneD heking the tegory ode of the @ signD etF
43.1 43.2
code vdfsnitgurrentyption{ptionsgurrentyption}
hen this (le is red s n optionD iFeF y the \usepackage ommndD norsk will e n unknown9 lnguge in whih se we hve to mke it knownF o we hek for the existene of \l@norsk to see whether we hve to do something hereF
ifxldnorskdundefined dnoptterns{xorsk} 43.5 dddiletldnorskHfi
43.3 43.4
norskhyphenmins
ome sets of xorwegin hyphention ptterns n e used with \lefthyphenmin set to I nd \righthyphenmin set to PD ut the most ommon set nohyph.tex n9tF o we use \lefthyphenmin=2 y defultF
43.6
providehyphenmins{gurrentyption}{twdtwd}
le described in this section has version number v2.0h and was last revised on
Holme (HOLMEA@CERNVM); the `nynorsk' variant has been supplied by Per Steinar Iversen
2005/03/30. Contributions were made by Haavard Helstrup (HAAVARD@CERNVM) and Alv Kjetil and Terje Engeset Petterst (TERJEEP@VSFYS1.FI.UIB.NO); the short-
51 The
iversen@vxcern.cern.ch)
PRW
xow we hve to deide whih version of the ptions should e mde villeF his n e done y heking the ontents of \CurrentOptionF
43.7 43.8
defldtemp{norsk} ifxgurrentyptionldtemp
he next step onsists of de(ning ommnds to swith to @nd fromA the xorE wegin lngugeF
ptionsnorsk
defptionsnorsk{7 defprefenme{porord}7 43.11 defrefnme{efernser}7 43.12 defstrtnme{mmendrg}7 43.13 definme{filiogrfi}7 or 43.14 7 or 43.15 defhpternme{upittel}7 43.16 defppendixnme{illegg}7 or 43.17 defontentsnme{snnhold}7 43.18 deflistfigurenme{pigurer}7 or 43.19 deflisttlenme{eller}7 or 43.20 defindexnme{egister}7 43.21 deffigurenme{pigur}7 43.22 deftlenme{ell}7 43.23 defprtnme{hel}7 43.24 defenlnme{edlegg}7 43.25 defnme{uopi sendt}7 43.26 defhedtonme{il}7 in letter 43.27 defpgenme{ide}7 43.28 defseenme{e}7 43.29 deflsonme{e ogs{}}7 43.30 defproofnme{fevis}7 43.31 defglossrynme{yrdliste}7 43.32 } 43.33 else
43.9 43.10
he mro \captionsnorsk de(nes ll strings used in the four stndrd douE A mentlsses provided with v iF
dddiletldnynorskldnorsk
ptionsnynorsk
he mro \captionsnynorsk de(nes ll strings used in the four stndrd douE A mentlsses provided with v iD ut using di'erent spelling thn in the omE mnd \captionsnorskF
defptionsnynorsk{7 defprefenme{porord}7 defrefnme{efernsr}7 defstrtnme{mndrg}7 definme{vittertur}7 7 defhpternme{upittel}7 defppendixnme{illegg}7 defontentsnme{snnhld}7 deflistfigurenme{pigurr}7 deflisttlenme{ellr}7 defindexnme{egister}7
43.35 43.36 43.37 43.38 43.39 43.40 43.41 43.42 43.43 43.44 43.45 43.46
PSH
43.47 43.48 43.49 43.50 43.51 43.52 43.53 43.54 43.55 43.56 43.57 43.58 43.59
fi
deffigurenme{pigur}7 deftlenme{ell}7 defprtnme{hel}7 defenlnme{edlegg}7 defnme{uopi til}7 defhedtonme{il}7 in letter defpgenme{ide}7 defseenme{j{}}7 deflsonme{j{} {o}g}7 defproofnme{fevis}7 defglossrynme{yrdliste}7 }
dtenorsk
dnmedef{dtegurrentyption}{7 deftody{numerdyF~ifsemonthor 43.62 jnuror feruror mrsor prilor mior junior 43.63 julior ugustor septemeror oktoeror novemeror desemer 43.64 fi 43.65 spenumeryer}}
43.60 43.61
extrsnorsk extrsnynorsk
he mro \extrasnorsk will perform ll the extr de(nitions needed for the xorwegin lngugeF he mro \noextrasnorsk is used to nel the tions of \extrasnorskF xorwegin typesetting requires \frencspacing to e in e'etF
dnmedef{extrsgurrentyption}{ldfrenhsping} dnmedef{noextrsgurrentyption}{ldnonfrenhsping}
43.66 43.67
por xorsk the " hrter is mde tiveF his is done oneD lter on its de(nition my vryF
inititedtivedhr{4} expndfterddtosnme extrsgurrentyptionendsnme{7 43.70 lngugeshorthnds{norsk}} 43.71 expndfterddtosnme extrsgurrentyptionendsnme{7 43.72 ldtivte{4}}
43.68 43.69
he ode ove is neessry euse we need to de(ne numer of shorthnd ommndsF hese shrthnd ommnds re then used s indited in tle IWF o e le to de(ne the funtion of "D we (rst de(ne ouple of support9 mrosF
dq
e sve the originl doule quote hrter in \dq to keep it villeD the mth ent \" n now e typed s "F
PSI
xow we n de(ne the disretionry shorthnd ommndsF he numer of words where suh hyphention is required is for eh hrter R
43.80 43.81
d R
f IS
g Q
k RQ
l QH
n V
p IP
r I
s QQ
t QS
{}}{}} f{ff}}{f}} d{dd}}{d}} h{hh}}{h}} e{9e}}{}} i{9i}}{}} p{pp}}{p}} g{gg}}{g}} q{qq}}{q}} k{kk}}{k}} u{uu}}{u}} l{ll}}{l}} v{vv}}{v}} n{nn}}{n}} x{xx}}{x}} p{pp}}{p}} {}}{}} r{rr}}{r}} {}}{}} s{ss}}{s}} {}}{}} t{tt}}{t}} {}}{}}
e now de(ne the prenh doule quotes nd some ommnds onerning hyphenE tionX
delredshorthnd{norsk}{4`}{flqq} delredshorthnd{norsk}{4b}{frqq} 43.113 delredshorthnd{norsk}{4E}{penltydwEldllowhyphens} 43.114 delredshorthnd{norsk}{4|}{7 43.115 textormth{penltydwdisretionry{E}{}{kernFHQem}7 43.116 llowhyphens}{}} 43.117 delredshorthnd{norsk}{44}{hskipzdskip} 43.118 delredshorthnd{norsk}{4~}{textormth{levevmodehox{E}}{E}} 43.119 delredshorthnd{norsk}{4a}{penltydwEhskipzdskip}
43.111 43.112
he mro \ldf@finish tkes re of looking for on(gurtion (leD setting the min lnguge to e swithed on t \begin{document} nd resetting the tegory ode of @ to its originl vlueF PSP
43.120 43.121
ldfdfinishgurrentyption /code
PSQ
44
he (le swedish.dtx52 de(nes ll the lngugeEspei( mros for the wedish lngugeF his (le hs orrowed hevily from finnish.dtx nd germanb.dtxF por this lnguge the hrter " is mde tiveF sn tle PH n overview is given of its purposeF he vertil plement of the 4umlut4 in some letters n e ontrolled this wyF
qives D lso implemented for "AD "o nd "OF gives nd F for ff to e hyphented s ff-fF sed for omE pound wordsD suh s stra"ffngeD whih should e hyphented s straff-fngeF his is lso impleE mented for D dD fD gD lD mD nD pD rD sD nd tF disle ligture t this positionF his should e used for ompound wordsD suh s stra"ffinrttningD whih should not hve the ligture 0F n expliit hyphen signD llowing hyphention in the rest of the wordD suh s eF gF in x"-xelnF like "-D ut produing no hyphen sign @for words tht should rek t some sign suh s och/""ellerAF for n expliit hyphen without rekpointY useful for expressions suh s P"~Q vekor where no lineE rek is desirleF n expliit hyphen sign llowing susequent hyphenE tionD for expressions suh s studieidrg oh ElnF like the old \-D ut llowing hyphention in the rest of the wordF
le PHX he extr de(nitions mde y swedish.sty wo vritions for formtting of dtes re ddedF \datesymd mkes \today output dtes formtted s EwwEhhD whih is ommonly used in weden todyF \datesdmy formts the dte s hGw D whih is lso very ommon in wedenF hese ommnds should e issued fter \begindocumentF he mro \LdfInit tkes re of preventing tht this (le is loded more thn oneD heking the tegory ode of the @ signD etF
44.1 44.2
code vdfsnit{swedish}ptionsswedish
hen this (le is red s n optionD iFeF y the \usepackage ommndD swedish will e n unknown9 lnguge in whih se we hve to mke it knownF o we hek for the existene of \l@swedish to see whether we hve to do something hereF
44.3 44.4
ifxldswedishdundefined dnoptterns{wedish}
le described in this section has version number v2.3d and was last revised on Contributions were made by Sten Hellman (HELLMAN@CERNVM.CERN.CH) and Erik
52 The
2005/03/31.
sthols (erik_osthols@yahoo.com).
PSR
44.5
dddiletldswedishHfi
he next step onsists of de(ning ommnds to swith to the wedish lngugeF he reson for this is tht user might wnt to swith k nd forth etween lngugesF
ptionsswedish
ddtoptionsswedish{7 defprefenme{p4orord}7 44.8 defrefnme{eferenser}7 44.9 defstrtnme{mmnfttning}7 44.10 definme{vitterturf4ortekning}7 44.11 defhpternme{upitel}7 44.12 defppendixnme{filg}7 44.13 defontentsnme{snnehsnme endsnme ll}7 44.14 deflistfigurenme{pigurer}7 44.15 deflisttlenme{eller}7 44.16 defindexnme{kregister}7 44.17 deffigurenme{pigur}7 44.18 deftlenme{ell}7 44.19 defprtnme{hel}7
44.6 44.7 44.20 44.21 44.22 44.23 44.24
he mro \captionsswedish de(nes ll strings used in the four stndrd douE A mentlsses provided with v iF
defenlnme{filF}7 defnme{uopi f4or k4nnedom}7 defhedtonme{ill}7 in letter defpgenme{id}7 defseenme{se}7 deflsonme{se 4ven}7 defproofnme{fevis}7 defglossrynme{yrdlist}7 }7
44.25
dteswedish
defdteswedish{7 deftody{7 44.31 numerdy~ifsemonthor 44.32 jnurior ferurior mrsor prilor mjor junior 44.33 julior ugustior septemeror oktoeror novemeror 44.34 deemerfi 44.35 spenumeryer}}
44.29 44.30
dtesymd
he mro \datesymd rede(nes the ommnd \today to produe dtes in the formt EwwEhhD ommon in wedenF
dtesdmy
he mro \datesdmy rede(nes the ommnd \today to produe wedish dtes in the formt hhGww D lso ommon in wedenF
PSS
swedishhyphenmins
44.42
extrsswedish noextrsswedish
he mro \extrasswedish performs ll the extr de(nitions needed for the wedish lngugeF he mro \noextrasswedish is used to nel the tions of \extrasswedishF por wedish texts \frenchspacing should e in e'etF e mke sure this is the se nd reset it if neessryF
ddtoextrsswedish{ldfrenhsping} ddtonoextrsswedish{ldnonfrenhsping}
44.43 44.44
por wedish the " hrter is mde tiveF his is done oneD lter on its de(nition my vryF
inititedtivedhr{4} ddtoextrsswedish{lngugeshorthnds{swedish}} 44.47 ddtoextrsswedish{ldtivte{4}}
44.45 44.46
ddtonoextrsswedish{lddetivte{4}}
he umlut ent mro \" is hnged to lower the umlut dotsF he rede(E nition is done with the help of \umlautlowF
44.49 44.50
ddtoextrsswedish{eldsve4umlutlow} ddtonoextrsswedish{umluthigh}
he ode ove is neessry euse we need n extr tive hrterF his hrter is then used s indited in tle PHF o e le to de(ne the funtion of "D we (rst de(ne ouple of support9 mrosF
dq
e sve the originl doule quote hrter in \dq to keep it villeD the mth ent \" n now e typed s "F
disretionry ommnds
delredshorthnd{swedish}{4}{textormth{lddis delredshorthnd{swedish}{4f}{textormth{lddis 44.64 delredshorthnd{swedish}{4d}{textormth{lddis 44.65 delredshorthnd{swedish}{4h}{textormth{lddis 44.66 delredshorthnd{swedish}{4f}{textormth{lddis
44.62 44.63
PST
delredshorthnd{swedish}{4p}{textormth{lddis delredshorthnd{swedish}{4g}{textormth{lddis 44.69 delredshorthnd{swedish}{4q}{textormth{lddis 44.70 delredshorthnd{swedish}{4l}{textormth{lddis 44.71 delredshorthnd{swedish}{4v}{textormth{lddis 44.72 delredshorthnd{swedish}{4m}{textormth{lddis 44.73 delredshorthnd{swedish}{4w}{textormth{lddis 44.74 delredshorthnd{swedish}{4n}{textormth{lddis 44.75 delredshorthnd{swedish}{4x}{textormth{lddis 44.76 delredshorthnd{swedish}{4p}{textormth{lddis 44.77 delredshorthnd{swedish}{4}{textormth{lddis 44.78 delredshorthnd{swedish}{4r}{textormth{lddis 44.79 delredshorthnd{swedish}{4}{textormth{lddis 44.80 delredshorthnd{swedish}{4s}{textormth{lddis 44.81 delredshorthnd{swedish}{4}{textormth{lddis 44.82 delredshorthnd{swedish}{4t}{textormth{lddis 44.83 delredshorthnd{swedish}{4}{textormth{lddis
44.67 44.68
p{pp}}{p}} g{gg}}{g}} q{qq}}{q}} l{ll}}{l}} v{vv}}{v}} m{mm}}{m}} w{ww}}{w}} n{nn}}{n}} x{xx}}{x}} p{pp}}{p}} {}}{}} r{rr}}{r}} {}}{}} s{ss}}{s}} {}}{}} t{tt}}{t}} {}}{}}
ede(nition of \-F he new version of \- should indite n extr hyphention positionD while llowing other hyphention positions to e generted utomtillyF he stndrd ehviour of i in this respet is very unfortunte for lnguges suh s huthD pinnishD qermn nd wedishD where long ompound words re quite norml nd ll one needs is mens to indite n extr hyphention position on top of the ones tht i n generte from the hyphention ptternsF
he mro \ldf@finish tkes re of looking for on(gurtion (leD setting the min lnguge to e swithed on t \begin{document} nd resetting the tegory ode of @ to its originl vlueF
44.95 44.96
ldfdfinish{swedish} /code
PSU
45
he (le samin.dtx53 de(nes ll the lnguge de(nition mros for the xorth mi lngugeF everl mi diletsGlnguges re spoken in pinlndD xorwyD weden nd on the uol eninsul @ussiAF he lphets di'erD so there will eventully e need for more .dtx (les for eFgF vule nd outh miF rene the nme samin.dtx @nd not sami.dtx or the likeA in the xorth mi seF here re urrently no hyphention ptterns ville for the xorth mi lngugeD ut you might onsider using the ptterns for pinnish @fi8hyph.texAD xorwegin @nohyph.texA or wedish @sehyph.texAF edd line for the samin A lnguge to the language.dat (leD nd reuild the v i formt (leF ee the A doumenttion for your v i distriutionF A e note on writing xorth mi in v iX he s enoding nd ig fonts do not inlude the sr yui letterD whih you will need workround forF wy suggestion is to ple the lines \newcommand{\tx}{\mbox{t\hspace{-.35em}-}} \newcommand{\txx}{\mbox{T\hspace{-.5em}-}} in the premle of your doumentsF hey de(ne the ommnds \txx{} for vesx gesev vii sr yui nd \tx{} for vesx wevv vii sr yuiF
samin.dtx
he mro \LdfInit tkes re of preventing tht this (le is loded more thn oneD heking the tegory ode of the @ signD etF
code vdfsnit{smin}{ptionssmin}
hen this (le is red s n optionD iFeF y the \usepackage ommndD samin ould e n unknown9 lnguge in whih se we hve to mke it knownF o we hek for the existene of \l@samin to see whether we hve to do something hereF
ifxundefinedldsmin dnoptterns{min} 45.5 dddiletldsminHfi
45.3 45.4
he next step onsists of de(ning ommnds to swith to @nd fromA the xorth mi lngugeF
sminhyphenmins
his mro is used to store the orret vlues of the hyphention prmeters \lefthyphenmin nd \righthyphenminF
45.6
providehyphenmins{smin}{twdtwd}
ptionssmin
he mro \captionssamin de(nes ll strings used in the four stndrd douE A mentlsses provided with v iF
53 The
le described in this section has version number v1.0c and was last revised on It was written by Regnor Jernsletten, (Regnor.Jernsletten@sami.uit.no) or
2004/02/20.
(Regnor.Jernsletten@eunet.no).
PSV
45.11 45.12 45.13 45.14 45.15 45.16 45.17 45.18 45.19 45.20 45.21 45.22 45.23 45.24 45.25 45.26 45.27 45.28 45.29
}7
definme{qirjj9lv svuoht}7 defhpternme{upihttl}7 defppendixnme{v guovus}7 defontentsnme{isdollu}7 deflistfigurenme{qovvost}7 deflisttlenme{ellt}7 defindexnme{egisttr}7 deffigurenme{qovus}7 deftlenme{ell}7 defprtnme{yssi}7 defenlnme{wielddus}7 defnme{uopi s9ddejuvvon}7 defhedtonme{uost9iv9ldi}7 defpgenme{iidu}7 defseenme{gehv }7 deflsonme{gehv midd9i}7 defproofnme{huodj{}v stus}7 defglossrynme{9tnelistu}7
dtesmin
defdtesmin{7 deftody{ifsemonthor 45.32 odj{}dj{}jgem9nuor 45.33 guovvm9nuor 45.34 njukv m9nuor 45.35 uong{}om9nuor 45.36 miessem9nuor 45.37 gessem9nuor 45.38 suoidnem9nuor 45.39 orgem9nuor 45.40 v kv m9nuor 45.41 golggotm9nuor 45.42 sk9mm9nuor 45.43 juovlm9nufi 45.44 spenumerdyF~Fspenumeryer}7 45.45 }7
45.30 45.31
extrssmin noextrssmin
he mro \extrassamin will perform ll the extr de(nitions needed for the xorth mi lngugeF he mro \noextrassamin is used to nel the tions of \extrassaminF por the moment these mros re empty ut they re de(ned for omptiility with the other lnguge de(nition (lesF
ddtoextrssmin{} ddtonoextrssmin{}
45.46 45.47
he mro \ldf@finish tkes re of looking for on(gurtion (leD setting the min lnguge to e swithed on t \begin{document} nd resetting the tegory ode of @ to its originl vlueF
45.48 45.49
ldfdfinish{smin} /code
PSW
46
he (le finnish.dtx54 de(nes ll the lnguge de(nition mros for the pinnish lngugeF por this lnguge the hrter " is mde tiveF sn tle PI n overview is given of its purposeF
disle ligture t this positionF n expliit hyphen signD llowing hyphention in the rest of the wordF n expliit hyphen sign for expressions suh s pkstekpit j ErkutF like "-D ut produing no hyphen sign @for words tht should rek t some sign suh s entrdGslidF lowered doule left quotes @looks like A norml doule right quotes for prenh left doule quotes @similr to <<AF for prenh right doule quotes @similr to >>AF like the old \-D ut llowing hyphention in the rest of the wordF
le PIX he extr de(nitions mde y finnish.ldf he mro \LdfInit tkes re of preventing tht this (le is loded more thn oneD heking the tegory ode of the @ signD etF
46.1 46.2
code vdfsnit{finnish}ptionsfinnish
hen this (le is red s n optionD iFeF y the \usepackage ommndD finnish will e n unknown9 lnguge in whih se we hve to mke it knownF o we hek for the existene of \l@finnish to see whether we hve to do something hereF
ifxldfinnishdundefined dnoptterns{pinnish} 46.5 dddiletldfinnishHfi
46.3 46.4
he next step onsists of de(ning ommnds to swith to the pinnish lngugeF he reson for this is tht user might wnt to swith k nd forth etween lngugesF
ptionsfinnish
ddtoptionsfinnish{7 defprefenme{isipuhe}7 46.8 defrefnme{iitteet}7 46.9 defstrtnme{iivistelm4} 46.10 definme{uirjllisuutt}7 46.11 defhpternme{vuku}7 46.12 defppendixnme{viite}7
46.6 46.7
he mro \captionsfinnish de(nes ll strings used in the four stndrd douE A mentlsses provided with v iF
54 The
le described in this section has version number v1.3q and was last revised on A contribution was made by Mikko KANERVA (KANERVA@CERNVM) and Keranen
2007/10/20.
Reino (KERANEN@CERNVM).
PTH
46.13 46.14 46.15 46.16 46.17 46.18 46.19 46.20 46.21 46.22 46.23 46.24 46.25 46.26 46.27 46.28
defontentsnme{is4lt4o}7 deflistfigurenme{uuvt}7 deflisttlenme{ulukot}7 defindexnme{rkemisto}7 deffigurenme{uuv}7 deftlenme{ulukko}7 defprtnme{ys}7 defenlnme{viitteet}7 defnme{tkelu}7 defhedtonme{stnottj}7 defpgenme{ivu}7 defseenme{ktso}7 deflsonme{ktso my4os}7 defproofnme{odistus}7 defglossrynme{nsto}7 }7
dtefinnish
defdtefinnish{7 deftody{numerdyF~ifsemonthor 46.31 tmmikuutor helmikuutor mliskuutor huhtikuutor 46.32 toukokuutor kes4kuutor hein4kuutor elokuutor 46.33 syyskuutor lokkuutor mrrskuutor joulukuutfi 46.34 spenumeryer}}
46.29 46.30
extrsfinnish noextrsfinnish
pinnish hs mny long words @some of them ompoundD some notAF por this reson hyphention is very often the only solution in line rekingF por this reson the vlues of \hyphenpenaltyD \exhyphenpenalty nd \doublehyphendemerits should e deresedF @sn one of the mnuls of style wtti intl notied prgrph with ten linesD eight of whih ended in hyphen3A wtti intl notied tht with these hnges i hndles pinnish very wellD lthough sometimes the vlues of \tolerance nd \emergencystretch must e inresedF roweverD s don9t think hnging these vlues in finnish.ldf is pproE priteD s the looseness of the font @nd the line widthA 'et the orret hoie of these prmetersF
ddtoextrsfinnish{7 eldsvevrilehyphenpenltyhyphenpenltyaQH7 46.37 eldsvevrileexhyphenpenltyexhyphenpenltyaQH7 46.38 eldsvevriledoulehyphendemeritsdoulehyphendemeritsaSHHH7 46.39 eldsvevrilefinlhyphendemeritsfinlhyphendemeritsaSHHH7 46.40 } 46.41 ddtonoextrsfinnish{}
46.35 46.36
enother thing \extrasfinnish needs to do is to ensure tht \frenchspacing is in e'etF sf this is not the se the exeution of \noextrasfinnish will swith it of ginF
46.42 46.43
ddtoextrsfinnish{ldfrenhsping} ddtonoextrsfinnish{ldnonfrenhsping}
por pinnish the " hrter is mde tiveF his is done oneD lter on its de(nition my vryF yther lnguges in the sme doument my lso use the " hrter for shorthndsY we speify tht the (nnish group of shorthnds should e usedF PTI
46.44 46.45
vowels in pinnish
ddtoextrsfinnish{umlutlowumlutelow} ddtonoextrsfinnish{umluthigh}
pirst we de(ne ess to the low opening doule quote nd guillemets for quottionsD
delredshorthnd{finnish}{4}{7 textormth{quotedlse}{mox{quotedlse}}} 46.52 delredshorthnd{finnish}{49}{7 46.53 textormth{textquotedlright}{mox{textquotedlright}}} 46.54 delredshorthnd{finnish}{4`}{7 46.55 textormth{guillemotleft}{mox{guillemotleft}}} 46.56 delredshorthnd{finnish}{4b}{7 46.57 textormth{guillemotright}{mox{guillemotright}}}
46.50 46.51
then we de(ne two shorthnds to e le to speify hyphention rekpoints tht ehve little di'erent from \-F
delredshorthnd{finnish}{4E}{norekEldllowhyphens} delredshorthnd{finnish}{44}{hskipzdskip} 46.60 delredshorthnd{finnish}{4a}{hox{E}ldllowhyphens}
46.58 46.59
delredshorthnd{finnish}{4|}{7 textormth{disretionry{E}{}{kernFHQem}}{}}
ell tht is left now is the rede(nition of \-F he new version of \- should inE dite n extr hyphention positionD while llowing other hyphention positions to e generted utomtillyF he stndrd ehviour of i in this respet is very unfortunte for lnguges suh s huthD pinnish nd qermnD where long ompound words re quite norml nd ll one needs is mens to indite n extr hyphention position on top of the ones tht i n generte from the hyphention ptternsF
finishhyphenmins
46.66
he mro \ldf@finish tkes re of looking for on(gurtion (leD setting the min lnguge to e swithed on t \begin{document} nd resetting the tegory ode of @ to its originl vlueF
46.67 46.68
ldfdfinish{finnish} /code
PTP
47
he (le option magyar.dtx de(nes ll the lnguge de(nition mros for the rungrin lngugeF he babel support for the rungrin lnguge until (le version IFQi ws essenE tilly hnging the inglish doument elements to rungrin onesD ut euse of the di'erenes etween these too lnguges this ws tully unusle @rt s9 ws trnsferred to sz s9 whih is not usle insted of sF rsz9AF o enhne the typesetting filities for rungrin the following should e onsideredX
sn rungrin douments there is period fter the prtD setionD susetion etF numersF sn the prtD hpterD ppendix nme the numer @or letterA goes efore the nmeD so rt s9 trnsltes to sF rsz9F he sme is true with ptions @le PFI9 goes to PFIF tlzt9AF here is period fter the ption nme insted of olonF @le PFIX9 goes to PFIF tlztF9A here is period t the end of the title in runEin hed @when afterskip<0 in \@startsectionAF peil hyphention rules must e pplied for the soElled long doule onE sonnts @sD sszDF F F AF he opening quottion mrk is like the qermn one @the losing is the sme s in inglishAF sn rungrin (gureD tleD etF referening de(nite rtile is lso inorE portedF he rungrin de(nite rtiles ehve like the inglish inde(nite ones @Gn9AF 9 is used for words eginning with onsonnt nd z9 goes for vowelF ine some numers egin with vowel some others with onsonnt some ommnds should e provided for utomti de(nite rtile genertionF
ntil (le version IFQi55 the speil typesetting rules of the rungrin lnguge mentioned ove were not tken into onsidertionF his version @vIFRjA56 enles babel to typeset goodElooking9 rungrin textsF he \ontoday ommnd works like \today ut produes slightly di'erent dte formt used in expressions suh s on perury IHth9F he ommnds \Az#1 nd \az#1 write the orret de(nite rtile for the rE gument nd the rgument itself @seprted with ~AF he strEforms @\Az* nd \az*A produe the rtile onlyF \Azr#1 nd \azr#1 tret the rgument s lel so expnd it then write the de(nite rtile for \r@#1D nonErekle spe then the lel expnsionF he strEforms do not print the lel expnsionF \Azr(#1 nd \azr(#1 re used for eqution referening with the syntx \azr(label )F here re two lises \Aref nd \aref for \Azr nd \azrD respetivelyF
Koppnyi (attila@cernvm.cern.ch), rpd Br (JZP1104@HUSZEG11.bitnet), Istvn Hamecz (hami@ursus.bke.hu) and Dezs Horvth (horvath@pisa.infn.it).
ontody ez
ezr
eref
55 That
le was last revised on 1996/12/23 with a contribution by the next authors: Attila
56 It was written by Jzsef Brces (jozsi@docs4.mht.bme.hu) with some help from Ferenc Wettl
PTQ
shortut ``
`C `D `G `L `N `S `T `Z
explntion sme s \glqq in babelD or \quotedblbase in I @openE ing quottion mrkD like A s is hyphented s sEs ddz is hyphented s dzEdz ggy is hyphented s gyEgy lly is hyphented s lyEly nny is hyphented s nyEny ssz is hyphented s szEsz tty is hyphented s tyEty zzs is hyphented s zsEzs
exmple ``id\'ezet''idzet99
ezp
epgeref
ez
eite
huring the preprtion of doument it is not known in generlD if the ode a~\ref{label }9 or the ode az~\ref{label }9 is the grmmtilly orret oneF riting \aref{label }9 insted of the previous ones solves the prolemF \Azp#1 nd \azp#1 lso tret the rgument s lel ut use the lel9s pge for de(nite rtile determintionF here re strEforms giving only the de(nite rtile without the pge numerF here re lises \Apageref nd \apageref for \Azp nd \azpD respeE tivelyF he ode \apageref{label } is equivlent either to a~\pageref{label } or to az~\pageref{label }F \Azc nd \azc work like the \cite ommnd ut @of ourseA they insert the de(nite rtileF here n e severl omm seprted ite lels nd in tht se the de(nite rtile is given for the (rst oneF hey ept \cite9s optionl rgumentF here re strEforms giving the de(nite rtile onlyF here re lises \Acite nd \acite for \Azc nd \azcD respetivelyF por this lnguge the hrter ` is mde tiveF le PP shows the shortutsF he min reson for the tivtion of the ` hrter is to hndle the speil hyphention of the long doule onsonntsF he mro \LdfInit tkes re of preventing tht this (le is loded more thn oneD heking the tegory ode of the @ signD etF
47.1 47.2
code vdfsnit{mgyr}{ptiongurrentyption}
hen this (le is red s n optionD iFeF y the \usepackage ommndD magyar will e n unknown9 lnguge in whih se we hve to mke it knownF o we hek for the existene of \l@magyar or \l@hungarian to see whether we hve to do something hereF
ifxldmgyrdundefined ifxldhungrindundefined 47.5 dnoptterns{wgyr} 47.6 dddiletldmgyrH 47.7 else 47.8 letldmgyrldhungrin 47.9 fi 47.10 fi
47.3 47.4
PTR
he sttement ove mkes sure tht \l@magyar is lwys de(nedY if \l@hungarian is still unde(ned we mke it equl to \l@magyarF
ifxldhungrindundefined letldhungrinldmgyr 47.13 fi
47.11 47.12
he next step onsists of de(ning ommnds to swith to @nd fromA the runE grin lngugeF
ptionsmgyr
he mro \captionsmagyar de(nes ll strings used in the four stndrd douE A ment lsses provided with v iF
dnmedef{ptionsgurrentyption}{7 defprefenme{ilr osz9o}7
47.14 47.15
por the list of referenes t the end of n rtile we hve hoie etween two wordsD eferenik9 @ rungrin version of the inglish wordA nd rivtkozsok9F he ltter seems to e in more widespred useF
47.16
defrefnme{rivtkoz9sok}7
sf you hve doument with summry insted of n strt you might wnt to reple the word uivont9 with sszefogll9F
47.17
defstrtnme{uivont}7
definme{srodlomjegyz9ek}7 defhpternme{fejezet}7 defppendixnme{p4uggel9ek}7 defontentsnme{rtlomjegyz9ek}7 deflistfigurenme{9er9k jegyz9eke}7 deflisttlenme{9l9ztok jegyz9eke}7 defindexnme{9rgymutt9o}7 deffigurenme{9r}7 deftlenme{t9l9zt}7 defprtnme{r9esz}7 defenlnme{well9eklet}7 defnme{u4orlev9elEE9i mzettek}7 defhedtonme{g9i mzett}7 defpgenme{oldl}7 defseenme{l9sd}7 deflsonme{l9sd m9eg}7
fesides the rungrin word for roofD fizonyts9 we n lso nme gorollry @uvetkezmnyAD heorem @telA nd vemm @vemmAF
47.34 47.35 47.36
dtemgyr
dnmedef{dtegurrentyption}{7 deftody{7 47.39 numeryerFnorekspeifsemonthor 47.40 jnu9ror feru9ror m9riusor 47.41 9prilisor m9jusor j9uniusor
47.37 47.38
PTS
ondtemgyr
he mro \ondatemagyar produes rungrin dtes whih hve the mening on this day 9F st does not rede(ne the ommnd \todayF
dnmedef{ondtegurrentyption}{7 numeryerFnorekspeifsemonthor 47.47 jnu9ror feru9ror m9riusor 47.48 9prilisor m9jusor j9uniusor 47.49 j9uliusor ugusztusor szeptemeror 47.50 okt9oeror novemeror deemerfi 47.51 speifsedyor 47.52 IEj9enor PE9nor QE9nor RE9enor SE9enor 47.53 TE9nor UE9enor VE9nor WE9enor IHE9enor 47.54 IIE9enor IPE9enor IQE9nor IRE9enor ISE9enor 47.55 ITE9nor IUE9enor IVE9nor IWE9enor PHE9nor 47.56 PIE9enor PPE9enor PQE9nor PRE9enor PSE9enor 47.57 PTE9nor PUE9enor PVE9nor PWE9enor QHE9nor 47.58 QIE9enfi}
47.45 47.46
extrsmgyr noextrsmgyr
he mro \extrasmagyar will perform ll the extr de(nitions needed for the rungrin lngugeF he mro \noextrasmagyar is used to nel the tions of \extrasmagyarF
xow we rede(ne some ommnds inluded into latex.ltxF he originl form of ommnd is lwys sved with \babel@save nd the hnges re dded to \extrasmagyarF his ensures tht the rungrin version of mro is live only if the rungrin lnguge is tiveF
fnumdfigure fnumdtle
sn (gure nd tle ptions the order of the (gureGtle numer nd \figurename G\tablename must e hngedF o hieve this \fnum@figure nd \fnum@table re rede(ned nd dded to \extrasmagyarF
expndfterddtosnme extrsgurrentyptionendsnme{7 eldsvefnumdfigure 47.65 deffnumdfigure{thefigureFnorekspefigurenme}} 47.66 expndfterddtosnme extrsgurrentyptionendsnme{7 47.67 eldsvefnumdtle 47.68 deffnumdtle{thetleFnorekspetlenme}}
47.63 47.64
dmkeption
expndfterddtosnme extrsgurrentyptionendsnme{7 eldsvedmkeption 47.71 defdmkeption5I5P{7 47.72 vskipoveptionskip 47.73 soxdtempox{5IF 5P}7 47.74 ifdim wddtempox bhsize 47.75 {5IF 5Psnme prendsnme}
47.69 47.70
PTT
dption
here should e dot fter the (gureGtle numer in lofGlotD so \@caption is rede(nedF
expndfterddtosnme extrsgurrentyptionendsnme{7 eldsvedption 47.83 longdefdption5I5P5Q{7 47.84 snme prendsnme 47.85 ddontentsline{snme extd5Iendsnme}{5I}7 47.86 {protetnumerline{snme the5IendsnmeF}{ignorespes 5P}}7 47.87 egingroup 47.88 dproxrestore 47.89 ifdminipge 47.90 dsetminipge 47.91 fi 47.92 normlsize 47.93 dmkeption{snme fnumd5Iendsnme}7 47.94 {ignorespes 5Q}snme prendsnme 47.95 endgroup}}
47.81 47.82
dsentformt
dset
elsD \@sect must lso e rede(ned to hve tht dot in to tooF yn the other hndD we inlude dot fter runEin hedF
expndfterddtosnme extrsgurrentyptionendsnme{7 eldsvedset 47.101 defdset5I5P5Q5R5S5T5U5V{7 47.102 ifnum 5Pbdsenumdepth 47.103 letdsvsedempty 47.104 else 47.105 refstepounter{5I}7 47.106 proteteddedefdsvse{dsentformt{5I}relx}7 47.107 fi 47.108 dtempskip 5Srelx 47.109 ifdim dtempskipbzd 47.110 egingroup 47.111 5T{7 47.112 dhngfrom{hskip 5Qrelxdsvse}7 47.113 interlinepenlty dw 5Vddpr}7 47.114 endgroup 47.115 snme 5Imrkendsnme{5U}7 47.116 ddontentsline{to}{5I}{7 47.117 ifnum 5Pbdsenumdepth else 47.118 protetnumerline{snme the5IendsnmeF}7 47.119 fi 47.120 5U}7 47.121 else
47.99 47.100
PTU
47.122 47.123 47.124 47.125 47.126 47.127 47.128 47.129 47.130 47.131 47.132
defdsvsehd{7 5T{hskip 5Qrelx dsvse 5VF}7 snme 5Imrkendsnme{5U}7 ddontentsline{to}{5I}{7 ifnum 5Pbdsenumdepth else protetnumerline{snme the5IendsnmeF}7 fi 5U}}7 fi dxset{5S}}}
dsset
sn order to hve tht dot fter runEin hed when the str form of the setioning ommnds is usedD we hve to rede(ne \@ssectF
expndfterddtosnme extrsgurrentyptionendsnme{7 eldsvedsset 47.135 defdsset5I5P5Q5R5S{7 47.136 dtempskip 5Qrelx 47.137 ifdim dtempskipbzd 47.138 egingroup 47.139 5R{7 47.140 dhngfrom{hskip 5I}7 47.141 interlinepenlty dw 5Sddpr}7 47.142 endgroup 47.143 else 47.144 defdsvsehd{5R{hskip 5Irelx 5SF}}7 47.145 fi 47.146 dxset{5Q}}}
47.133 47.134
degintheorem doprgegintheorem
expndfterddtosnme extrsgurrentyptionendsnme{7 eldsvedegintheorem 47.149 defdegintheorem5I5P{trivlist 47.150 itemhskip lelsep{fseries 5PF 5IF}itshpe}7 47.151 eldsvedoprgegintheorem 47.152 defdoprgegintheorem5I5P5Q{trivlist 47.153 itemhskip lelsep{fseries 5PF 5I @5QAF}itshpe}}
47.147 47.148
he next step is to rede(ne some mros inluded into the lss (lesF st is determined whih lss (le is loded then the originl form of the mro is sved nd the hnges re dded to \extrasmagyarF pirst we hek if the book.cls is lodedF
47.154
diflssloded{ook}{7
psdhedings
he look of the hedings is hngedX we hve to insert some dots nd hnge the order of hpter numer nd \chapternameF
expndfterddtosnme extrsgurrentyptionendsnme{7 eldsvepsdhedings} expndfterddtosnme extrsgurrentyptionendsnme{7 ifdtwoside defpsdhedings{7 letdoddfootdemptyletdevenfootdempty
PTV
47.161 47.162 47.163 47.164 47.165 47.166 47.167 47.168 47.169 47.170 47.171 47.172 47.173 47.174 47.175 47.176 47.177 47.178 47.179 47.180 47.181 47.182 47.183 47.184 47.185 47.186 47.187 47.188 47.189 47.190 47.191
defdevenhed{thepgehfilslshpeleftmrk}7 defdoddhed{{slshperightmrk}hfilthepge}7 letdmkothmrkoth defhptermrk55I{7 mrkoth {wkepperse{7 ifnum dsenumdepth bmdne ifdminmtter thehpterF dhpppF 7 fi fi 55I}}{}}7 defsetionmrk55I{7 mrkright {wkepperse{7 ifnum dsenumdepth bzd thesetionF 7 fi 55I}}}}7 else defpsdhedings{7 letdoddfootdempty defdoddhed{{slshperightmrk}hfilthepge}7 letdmkothmrkoth defhptermrk55I{7 mrkright {wkepperse{7 ifnum dsenumdepth bmdne ifdminmtter thehpterF dhpppF 7 fi fi 55I}}}}7 fi}
dprt
et the eginning of prt we need egF sF rsz9 insted of rt s9 @in to tooAF o hieve this \@part is rede(nedF
expndfterddtosnme extrsgurrentyptionendsnme{7 eldsvedprt defdprt5I5P{7 ifnum dsenumdepth bEPrelx refstepounter{prt}7 ddontentsline{to}{prt}{theprtFhspe{Iem}5I}7 else ddontentsline{to}{prt}{5I}7 fi mrkoth{}{}7 {entering interlinepenlty dw normlfont ifnum dsenumdepth bEPrelx hugefseries theprtFnorekspeprtnme snme prendsnme vskip PHpd fi ruge fseries 5Psnme prendsnme}7 dendprt}}
47.192 47.193 47.194 47.195 47.196 47.197 47.198 47.199 47.200 47.201 47.202 47.203 47.204 47.205 47.206 47.207 47.208 47.209 47.210 47.211
PTW
dhpter
he sme hnges re mde to hpterF pirst the sreen typeout nd the to re hnged y rede(ning \@chapterF
expndfterddtosnme extrsgurrentyptionendsnme{7 eldsvedhpter defdhpter5I5P{ifnum dsenumdepth bmdne ifdminmtter refstepounter{hpter}7 typeout{thehpterFspedhpppF}7 ddontentsline{to}{hpter}7 {protetnumerline{thehpterF}5I}7 else ddontentsline{to}{hpter}{5I}7 fi else ddontentsline{to}{hpter}{5I}7 fi hptermrk{5I}7 ddtoontents{lof}{protetddvspe{IHpd}}7 ddtoontents{lot}{protetddvspe{IHpd}}7 ifdtwoolumn dtopnewpgedmkehpterhed{5P}7 else dmkehpterhed{5P}7 dfterheding fi}} expndfterddtosnme extrsgurrentyptionendsnme{7 eldsvedmkehpterhed defdmkehpterhed5I{7 vspeB{SHpd}7 {prindent zd rggedright normlfont ifnum dsenumdepth bmdne ifdminmtter hugefseries thehpterFnorekspedhppp{} snme prendsnmenorek vskip PHpd fi fi interlinepenltydw ruge fseries 5Isnme prendsnmenorek vskip RHpd }}}7 }{}
47.212 47.213 47.214 47.215 47.216 47.217 47.218 47.219 47.220 47.221 47.222 47.223 47.224 47.225 47.226 47.227 47.228 47.229 47.230 47.231 47.232 47.233 47.234
dmkehpterhed
47.235 47.236 47.237 47.238 47.239 47.240 47.241 47.242 47.243 47.244 47.245 47.246 47.247 47.248 47.249 47.250
psdhedings
PUH
47.256 47.257 47.258 47.259 47.260 47.261 47.262 47.263 47.264 47.265 47.266 47.267 47.268 47.269 47.270 47.271 47.272 47.273 47.274 47.275 47.276 47.277 47.278 47.279 47.280 47.281 47.282 47.283 47.284 47.285
ifdtwoside defpsdhedings{7 letdoddfootdemptyletdevenfootdempty defdevenhed{thepgehfilslshpeleftmrk}7 defdoddhed{{slshperightmrk}hfilthepge}7 letdmkothmrkoth defhptermrk55I{7 mrkoth {wkepperse{7 ifnum dsenumdepth bmdne thehpterF dhpppF 7 fi 55I}}{}}7 defsetionmrk55I{7 mrkright {wkepperse{7 ifnum dsenumdepth bzd thesetionF 7 fi 55I}}}}7 else defpsdhedings{7 letdoddfootdempty defdoddhed{{slshperightmrk}hfilthepge}7 letdmkothmrkoth defhptermrk55I{7 mrkright {wkepperse{7 ifnum dsenumdepth bmdne thehpterF dhpppF 7 fi 55I}}}}7 fi} expndfterddtosnme extrsgurrentyptionendsnme{7 eldsvedhpter defdhpter5I5P{ifnum dsenumdepth bmdne refstepounter{hpter}7 typeout{thehpterFspedhpppF}7 ddontentsline{to}{hpter}7 {protetnumerline{thehpterF}5I}7 else ddontentsline{to}{hpter}{5I}7 fi hptermrk{5I}7 ddtoontents{lof}{protetddvspe{IHpd}}7 ddtoontents{lot}{protetddvspe{IHpd}}7 ifdtwoolumn dtopnewpgedmkehpterhed{5P}7 else dmkehpterhed{5P}7 dfterheding fi}} expndfterddtosnme extrsgurrentyptionendsnme{7
dhpter
47.286 47.287 47.288 47.289 47.290 47.291 47.292 47.293 47.294 47.295 47.296 47.297 47.298 47.299 47.300 47.301 47.302 47.303 47.304
dmkehpterhed
nd \@makechapterheadF
47.305
PUI
47.306 47.307 47.308 47.309 47.310 47.311 47.312 47.313 47.314 47.315 47.316 47.317 47.318
eldsvedmkehpterhed defdmkehpterhed5I{7 vspeB{SHpd}7 {prindent zd rggedright normlfont ifnum dsenumdepth bmdne hugefseries thehpterFnorekspedhppp{} snme prendsnmenorek vskip PHpd fi interlinepenltydw ruge fseries 5Isnme prendsnmenorek vskip RHpd }}}7 }{}
diflssloded{rtile}{7 expndfterddtosnme extrsgurrentyptionendsnme{7 eldsvepsdhedings} expndfterddtosnme extrsgurrentyptionendsnme{7 ifdtwoside defpsdhedings{7 letdoddfootdemptyletdevenfootdempty defdevenhed{thepgehfilslshpeleftmrk}7 defdoddhed{{slshperightmrk}hfilthepge}7 letdmkothmrkoth defsetionmrk55I{7 mrkoth {wkepperse{7 ifnum dsenumdepth bzd thesetionFqud fi 55I}}{}}7 defsusetionmrk55I{7 mrkright {7 ifnum dsenumdepth bdne thesusetionFqud fi 55I}}}7 else defpsdhedings{7 letdoddfootdempty defdoddhed{{slshperightmrk}hfilthepge}7 letdmkothmrkoth defsetionmrk55I{7 mrkright {wkepperse{7 ifnum dsenumdepth bmdne thesetionFqud fi 55I}}}}7 fi}7
psdhedings
47.321 47.322 47.323 47.324 47.325 47.326 47.327 47.328 47.329 47.330 47.331 47.332 47.333 47.334 47.335 47.336 47.337 47.338 47.339 47.340 47.341 47.342 47.343 47.344 47.345 47.346 47.347 47.348 47.349 47.350 47.351 47.352 47.353
PUP
}{}
diflssloded{letter}{7 expndfterddtosnme extrsgurrentyptionendsnme{7 eldsvepsdhedings} expndfterddtosnme extrsgurrentyptionendsnme{7 ifdtwoside defpsdhedings{7 letdoddfootdemptyletdevenfootdempty defdoddhed{slshpehedtonme{X} ignorespestonme hfil ddte hfil thepgeFnorekspepgenme}7 letdevenheddoddhed} else defpsdhedings{7 letdoddfootdempty defdoddhed{slshpehedtonme{X} ignorespestonme hfil ddte hfil thepgeFnorekspepgenme}} fi}7 }{}
psdhedings
sn the hedings the pge numer must e followed y dot nd then \pagenameF
47.356 47.357 47.358 47.359 47.360 47.361 47.362 47.363 47.364 47.365 47.366 47.367 47.368 47.369 47.370 47.371 47.372
\az is userElevel ommnd whih deides if the next hrter is strF \@az is lled for \az* nd \az@ for \azF
defz{difstr{dz}{zd}} defez{edifstr{dz}{zd}}
47.374
ez zd
\Az is used t the eginning of senteneF ytherwise it ehves the sme s \azF \az@ is lled if there is no str fter \az or \AzF st lls \@az nd writes #1 seprting with nonErekle speF
defzd5I{dz{5I}norekspe5I}
47.375
47.376
dz
his mro lls \hun@tempadef to remove the ents from the rgument then lls \@@az tht determines if z9 should e written fter Ge @written y \azG\AzAF
hundtempdef
eent removlF eented letters onfuse \@@azD the min de(nite rtile determintor mroD so they must e hnged to their nonEented ounE terprtsF peil letters must lso e hngedD egF oF
PUQ
vels must e expndedF o hndle omn numerls orretlyD ommnds strting with \hun@ re de(ned for lels ontining omn numers with the omn numerls repled y their eri representtionF his mro n hek if there is \hun@ ommndF
here re three rgumentsX IF he primry ommnd tht should e expnded if it existsF his is usully the \hun@ ommnd for lelF PF he seondry ommnd whih is used if the (rst one is \relaxF his is A usully the originl v i ommnd for lelF QF his is used if the (rst two is \relaxF por this one no expnsion is rried out ut the ents re still removed nd speil letters re hngedF
defhundtempdef5I5P5Q{7 egingroup 47.383 defdsfedtivesflse{}7 47.384 defsetox 55I{}7 to get rid of ents nd speil letters 47.385 defhox 55I{}7 47.386 defent 55I 55P{55P}7 47.387 defdddent 55I55P{55P}7 47.388 defdtextdompositedx 55I55P{55P}7 47.389 defi{i}defj{j}7 47.390 defe{}defei{e}defoe{o}defyi{y}7 47.391 defss{s}defv{v}7 47.392 defd{}def{}def{}deft{}7 47.393 expndfterifxsnme 5Iendsnmerelx 47.394 expndfterifxsnme 5Pendsnmerelx 47.395 xdefdtemp{5Q}7 47.396 else 47.397 xdefdtemp{snme 5Pendsnme}7 47.398 fi 47.399 else 47.400 xdefdtemp{snme 5Iendsnme}7 47.401 fi 47.402 endgroup}
47.381 47.382
he following mros re used to determine the de(nite rtile for lel9s expnsionF
ref eref zr ezr
47.403
\Aref is n lis for \AzrF \azr lls \@azr if the next hrter is strD otherwise it lls \azr@F \Azr is the sme s \azr exept tht it writes e9 insted of 9F
47.404
47.405
47.406
PUR
zrd
\azr@ deides if the next hrter is ( nd in tht se it lls \azr@@@ whih writes n extr ( for eqution refereningF ytherwise \azr@@ is lledF
defzrd{difnexthr @{zrddd}{zrdd}} defzrdd5I{dzr{5I}noreksperef{5I}}
47.407
zrdd zrddd
glls \@azr then writes the lel9s expnsion preeded y nonErekle speF me s \azr@@ ut inserts ( etween the nonErekle spe nd the lel expnsionF
defzrddd@5I{dzr{5I}norekspe@ref{5I}}
A glls \hun@tempadef to hoose etween the lel9s \hun@ or originl v i omE mnd nd to expnd it with ent removl nd speil letter sustitutionF hen lls \@@azD the ore mro of de(nite rtile hndlingF
47.408
47.409
dzr
defdzr5I{7 hundtempdef{hundrd5I}{rd5I}{}7 47.412 ifxdtempempty 47.413 else 47.414 edefdtemp{noexpndddzexpndfterdfirstoftwodtemphox3}7 47.415 dtemp 47.416 fi 47.417 }
47.410 47.411
he following ommnds re used to generte the de(nite rtile for the pge numer of lelF
pgeref epgeref zp ezp zpd dzp
47.418
47.419
47.420
47.421
47.422
defdzp5I{7 hundtempdef{hundrd5I}{rd5I}{}7 47.425 ifxdtempempty 47.426 else 47.427 edefdtemp{noexpndddzexpndfterdseondoftwodtemphox3}7 47.428 dtemp 47.429 fi 47.430 }
47.423 47.424
47.431
his is n lis for \AzcF gheks if the next hrter is str nd lls \@azc or \azc@F me s \azc ut used t the eginning of sentenesF sf there is no str we ept n optionl rgumentD just like the \cite ommndF pirst lls \@azc then \citeF
47.432
47.433
47.434
47.435
dz ddz
his is n uxiliry mro to get the (rst ite lel from ommEseprted listF
defdz5I{ddz5IDhox3}
47.439
his one uses only the (rst rgumentD tht is the (rst element of the ommE seprted list of ite lelsF glls \hun@tempadef to expnd the ite lel with ent removl nd speil letter replementF hen \@@azD the ore mroD is lledF
defddz5ID5Phox5Q3{7 hundtempdef{hundd5I}{d5I}{}7 47.442 ifxdtempempty 47.443 else 47.444 edefdtemp{noexpndddzdtemphox3}7 47.445 dtemp 47.446 fi}
47.440 47.441
hundnumerdlehgth
his mro is used to ount the numer of digits in its rgument until nonEdigit hrter is found or the end of the rgument is rehedF st must e lled s \hun@number@lehgtharg \hbox\hbox! nd \count@ must e zeroedF st is lled y \@@azF
defhundnumerdlehgth5I5Phox5Q3{7 iftnoexpnd5II7 47.449 ifnumexpndftersnme5IendsnmebRU 47.450 ifnumexpndftersnme5Iendsnme`SV 47.451 dvneountd y dne 47.452 hundnumerdlehgth5Phoxhox3fififi}
47.447 47.448
hundlphdlehgth
his is used to ount the numer of letters until nonEletter is found or the end of the rgument is rehedF st must e lled s \hun@alph@lehgtharg \hbox\hbox! nd \count@ must e set to zeroF st is lled y \@@az@stringF
PUT
ddzdstring
his mro is lled y \@@az if the rgument egins with letterF he tsk of \@@az@string is to determine if the rgument strts with vowel nd in tht se \let\@tempa\@tempbF efter heking if the (rst letter is eD iD sD yD or D \hun@alph@lehgth is lled to determine the length of the rgumentF sf it gives I @tht is the rgument is singleEletter one or the seond hrter is not letterA then the letters vD wD xD D D D nd re lso onsidered s vowel sine their rungrin pronouned nme strts with vowelF
defddzdstring5I5P{7 ifx5Ie7 47.459 letdtempdtemp 47.460 elseifx5Ii7 47.461 letdtempdtemp 47.462 elseifx5Is7 47.463 letdtempdtemp 47.464 elseifx5Iy7 47.465 letdtempdtemp 47.466 elseifx5I7 47.467 letdtempdtemp 47.468 fififififi 47.469 ifxdtempdtemp 47.470 else 47.471 ountdzd 47.472 hundlphdlehgth5I5Phoxhox37 47.473 ifnumountdadne 47.474 ifx5Ip7 47.475 letdtempdtemp 47.476 elseifx5Iv7 47.477 letdtempdtemp 47.478 elseifx5Iw7 47.479 letdtempdtemp 47.480 elseifx5Ix7 47.481 letdtempdtemp 47.482 elseifx5I7 47.483 letdtempdtemp 47.484 elseifx5I7 47.485 letdtempdtemp 47.486 elseifx5I7 47.487 letdtempdtemp 47.488 elseifx5I7 47.489 letdtempdtemp 47.490 fifififififififi 47.491 fi 47.492 fi}
47.457 47.458
ddz
his mro is the ore of de(nite rtile hndlingF st determines if the rgument needs z9 or 9 de(nite rtile y setting \@tempa to z9 or \@emptyF st sets \@tempa to z9 if
the (rst hrter of the rgument is SY or the (rst hrter of the rgument is I nd the length of the number (mod 3) = 1 @one!egyD thousnd!ezerD million!egymilliDF F F AY or the (rst hrter of the rgument is D eD eD iD iD sD oD yD uD or Y or
PUU
the (rst hrter of the rgument is lD vD mD wD nD xD rD D sD D xD D yD or nd the length of the rgument is I or the seond hrter is nonEletterF
et the end it lls \@tempaD tht isD it either typesets z9 or nothingF
defddz5I5Phox5Q3{7 letdtempdempty 47.495 defdtemp{z}7 47.496 upperse{7 47.497 ifxS5I7 47.498 letdtempdtemp 47.499 elseifxI5I7 47.500 ountddne 47.501 hundnumerdlehgth5Phoxhox37 47.502 loop 47.503 ifnumountdbthrdd 47.504 dvneountdEthrdd 47.505 repet 47.506 ifnumountdadne 47.507 letdtempdtemp 47.508 fi 47.509 else 47.510 ddzdstring{5I}{5P}7 47.511 fifi 47.512 }7 47.513 dtemp}
47.493 47.494
refstepounter
\refstepcounter must e rede(ned in order to keep \@currentlabel unexE pndedF his is neessry to enle the \label ommnd to write \hunnewlabel ommnd to the ux (le with the omn numerls sustituted y their eri representtionsF yf ourseD the originl de(nition of \refstepcounter is sved nd restored if the rungrin lnguge is swithed o'F
expndfterddtosnme extrsgurrentyptionendsnme{7 eldsverefstepounter 47.516 defrefstepounter5I{stepounter{5I}7 47.517 defdurrentlel{snme pd5Iendsnmesnme the5Iendsnme}}7 47.518 }
47.514 47.515
lel
\label is rede(ned to write nother line into the ux (leX \hunnewlabel{ }{ } where the omn numerls re repled their eri representtionsF he originl de(nition of \label is sved into \old@label nd it is lso lled y \labelF yn leving the rungrin typesetting mode \label9s originl is restored sine it is dded to \noextrasmagyarF
expndfterddtosnme extrsgurrentyptionendsnme{7 letolddlellel 47.521 deflel5I{dsphk 47.522 olddlel{5I}7 47.523 egingroup 47.524 letromnnumerlnumer 47.525 defdromn55I{numer 55I}7 47.526 defdomn55I{numer 55I}7 47.527 {toksHa{noexpndnoexpndnoexpndnumer}7 47.528 defnumer55I{thetoksH 55I}xdeftempd{thepge}}7 47.529 edefdtemp55I{noexpndproteteddwriteduxout{}7
47.519 47.520
PUV
pinllyD \hunnewlabel is de(nedF st heks if the lel9s expnsion @#2A di'ers from tht one given in the \newlabel ommndF sf yes @tht isD the lel onE tins some omn numerlsAD it de(nes the mro \hun@r@labelD otherwise it does nothingF
defhunnewlel5I5P{7 defdtemp{5P}7 47.541 expndfterifxsnme rd5Iendsnmedtemp 47.542 relx7 messge{xo need for defX 5I}7 47.543 else 47.544 glolexpndfterletsnme hundrd5Iendsnmedtemp7 47.545 fi 47.546 }
47.539 47.540
he hrter sequene `` is delred s shorthnd in order to produe the opening quottion sign pproprite for rungrinF
47.555
delredshorthnd{mgyr}{}{glqq}
sn rungrin there re some long doule onsonnts whih must e hyphented speillyF por ll these long doule onsonnts @exept dzzsD tht is extremely veryEvery rreA shortut is de(nedF
delredshorthnd{mgyr}{}{textormth{lddis{}{s}}{}} delredshorthnd{mgyr}{g}{textormth{lddis{g}{g}}{g}} 47.558 delredshorthnd{mgyr}{d}{textormth{lddis{d}{dz}}{d}} 47.559 delredshorthnd{mgyr}{h}{textormth{lddis{h}{h}}{h}} 47.560 delredshorthnd{mgyr}{g}{textormth{lddis{g}{gy}}{g}} 47.561 delredshorthnd{mgyr}{q}{textormth{lddis{q}{q}}{q}} 47.562 delredshorthnd{mgyr}{l}{textormth{lddis{l}{ly}}{l}} 47.563 delredshorthnd{mgyr}{v}{textormth{lddis{v}{v}}{v}} 47.564 delredshorthnd{mgyr}{n}{textormth{lddis{n}{ny}}{n}} 47.565 delredshorthnd{mgyr}{x}{textormth{lddis{x}{x}}{x}} 47.566 delredshorthnd{mgyr}{s}{textormth{lddis{s}{sz}}{s}} 47.567 delredshorthnd{mgyr}{}{textormth{lddis{}{}}{}} 47.568 delredshorthnd{mgyr}{t}{textormth{lddis{t}{ty}}{t}} 47.569 delredshorthnd{mgyr}{}{textormth{lddis{}{}}{}}
47.556 47.557
PUW
47.570 47.571
delredshorthnd{mgyr}{z}{textormth{lddis{z}{zs}}{z}} delredshorthnd{mgyr}{}{textormth{lddis{}{}}{}}
he mro \ldf@finish tkes re of looking for on(gurtion (leD setting the min lnguge to e swithed on t \begin{document} nd resetting the tegory ode of @ to its originl vlueF
47.572 47.573
ldfdfinishgurrentyption /code
PVH
48
he (le estonian.dtx57 de(nes the lnguge de(nition mro9s for the istonin lngugeF his (le ws written s prt of the qwv projetD nd orrows hevily from the babel qermn nd pnish lnguge (les germanb.ldf nd spanish.ldfF istonin hs the sme umluts s qermn @D D AD ut in ddition to thisD we hve lso D nd two reent hrters nd D so we need t lest two tive hrtersF e shll use " nd ~ to type istonin ents on egss keyords @in the UEit hrter worldAF heir use is given in tle PQF hese tive ent
\~oD @nd upperseAY \"aD @nd upperseAY \"oD @nd upperseAY \"uD @nd upperseAY \v sD @nd upperseAY \v zD @nd upperseAY disle ligture t this positionY n expliit hyphen signD llowing hyphention in the rest of the wordY like the old \-D ut llowing hyphention in the rest of the wordY for istonin low left doule quotes @sme s qerE mnAY for istonin right doule quotesY for prenh left doule quotes @lso rther populrA for prenh right doule quotesF
le PQX he extr de(nitions mde y estonian.ldf hrters ehve ording to their originl de(nitions if not followed y one of the hrters indited in tht tleY the originl quote hrter n e typed using the mro \dqF e support lso the I output enoding @nd gorkEenoded text inputAF ou n hoose the I enoding y the ommnd \usepackage[T1]{fontenc}F his pkge must e loded efore babelF es the stndrd istonin hyphention (le eehyph.tex is in the gork enodingD hoosing this enoding will give you etter hyphentionF es mentioned in the pnish style (leD it my hppen tht some pkges fil @usully in \messageAF sn this se you should hnge the order of the \usepackage delrtions or the order of the style options in \documentclassF
48.1 Implementation
he mro \LdfInit tkes re of preventing tht this (le is loded more thn oneD heking the tegory ode of the @ signD etF
48.1
code
le described in this section has version number v1.0h and was last revised on
57 The
PVI
48.2
vdfsnit{estonin}ptionsestonin
sf istonin is not inluded in the formt (le @does not hve hyphention ptE ternsAD we shll use inglish hyphentionF
ifxldestonindundefined dnoptterns{istonin} 48.5 dddiletldestoninH 48.6 fi
48.3 48.4
he mro \captionsestonian de(nes ll strings used in the four stndrd doE A umentlsses provided with v iF
48.7 48.8
ddtoptionsestonin{7 defprefenme{issejuhtus}7 48.9 defrefnme{iited}7 48.10 definme{uirjndus}7 48.11 defppendixnme{vis}7 48.12 defontentsnme{isukord}7 48.13 deflistfigurenme{toonised}7 48.14 deflisttlenme{elid}7 48.15 defindexnme{sndeks}7 48.16 deffigurenme{toonis}7 48.17 deftlenme{el}7 48.18 defprtnme{ys}7 48.19 defenlnme{vis@dA}7 48.20 defnme{uoopi@dA}7 48.21 defhedtonme{}7 48.22 defpgenme{vkF}7 48.23 defseenme{vtF}7 48.24 deflsonme{vtF k}7 48.25 defproofnme{uorrektuur}7 48.26 defglossrynme{qlossry}7 `EE xeeds trnsltion 48.27 }
dteestonin
egingroup tode4tive defx{endgroup 48.36 defmonthdestonin{ifsemonthor 48.37 jnuror veeruror m4rtsor prillor mior juunior 48.38 juulior ugustor septemeror oktooeror novemeror 48.39 detsemerfi}} 48.40 x 48.41 defdteestonin{7 48.42 deftody{numerdyFspemonthdestonin 48.43 spenumeryerFspe F}}
48.34 48.35
PVP
extrsestonin noextrsestonin
he mro \extrasestonian will perform ll the extr de(nitions needed for istoninF he mro \noextrasestonian is used to nel the tions of \extrasestonianF por istoninD " is mde tive nd hs to e treted s speil9 @~ is tive lredyAF
ddtoextrsestonin{eldsve4umlutloweldsve~tildelow}
estoninhyphenmins
48.51
tildelow he stndrd i ents re too high for istonin typogrphyD we hve to lower gentilde them @following the babel qermn styleAF por detiled explntion see the (le newtilde glyphs.dtxF newhek48.52 deftildelow{def~{protetgentilde}} defgentilde5I{if5Ionewtilde{5I}elseif5Iynewtilde{5I}7 elsenewhek{5I}7 48.55 fifi} 48.56 defnewtilde5I{levevmodellowhyphens 48.57 {dh Iex7 48.58 {setoxzdhox{hrIPT}dimend EFRSexdvnedimendhtzd 48.59 ifdim Iex`dimend fontdimenSfontdimend fi}7 48.60 entIPTfontdimenSfontdh 5I}llowhyphens} 48.61 defnewhek5I{levevmodellowhyphens 48.62 {dh Iex7 48.63 {setoxzdhox{hrPH}dimend EFRSexdvnedimendhtzd 48.64 ifdim Iex`dimend fontdimenSfontdimend fi}7 48.65 entPHfontdimenSfontdh 5I}llowhyphens}
48.53 48.54
e sve the doule quote hrter in \dqD nd tilde in \tilD nd store the originl de(nitions of \" nd \~ s \dieresis nd \texttildeF
egingroup tode4IP edefx{endgroup 48.68 defnoexpnddq{4} 48.69 defnoexpndtil{~}} 48.70 x 48.71 letdieresis4 48.72 lettexttilde~
48.66 48.67
his prt follows losely spanish.ldfF e hek the enoding nd if it is ID we hve to tell i out our rede(ned entsF
ifxfdenodingldtdone letdumlutdieresis 48.75 letdtildetexttilde
48.73 48.74
PVQ
sf the enoding di'ers from ID we expnd the entsD enling hyphention eyond the entF sn this se i will not (nd ll possile reksD nd we hve to wrn peopleF
else wlog{rningX ryphention would work etter for the I enodingF} 48.86 letdumlutnewumlut 48.87 letdtildegentilde 48.88 fi
48.84 48.85
delredshorthnd{estonin}{~o}{textormth{dtilde delredshorthnd{estonin}{~y}{textormth{dtilde 48.105 delredshorthnd{estonin}{~s}{textormth{dtilde 48.106 delredshorthnd{estonin}{~}{textormth{dtilde 48.107 delredshorthnd{estonin}{~z}{textormth{dtilde 48.108 delredshorthnd{estonin}{~}{textormth{dtilde
48.103 48.104
he mro \ldf@finish tkes re of looking for on(gurtion (leD setting the min lnguge to e swithed on t \begin{document} nd resetting the tegory ode of @ to its originl vlueF
48.115 48.116
ldfdfinish{estonin} /code
PVR
49
he (le albanian.dtx58 de(nes ll the lnguge de(nition mros for the elE nin lngugeF elnin is written in ltin sriptD ut it hs QT lettersD W whih re diletters @dhD gjD llD njD rrD shD thD xhD zhAD nd two extr speil hrtersF por this lnguge the hrter " is mde tiveF sn tle PR n overview is given of its purposeF
\"cD lso implemented for the upperse n expliit hyphen signD llowing hyphention in the rest of the wordF disle ligture t this position like "-D ut produing no hyphen sign @for ompund words with hyphenD eFgF x-""yAF for elnin left doule quotes @looks like AF for elnin right doule quotesF for prenh left doule quotes @similr to <<AF for prenh right doule quotes @similr to >>AF
le PRX he extr de(nitions mde y albanian.ldf eprt from de(ning shorthnds we need to mke sure tht the (rst prgrph of eh setion is intendedF purthermore the following new mth opertors re de(ned @\tgD \ctgD \arctgD \arcctgD \shD \chD \thD \cthD \arshD \archD \arthD \arcthD \ProbD \ExpectD \VarianceAF he mro \LdfInit tkes re of preventing tht this (le is loded more thn oneD heking the tegory ode of the @ signD etF
49.1 49.2
code vdfsnit{lnin}ptionslnin
hen this (le is red s n optionD iFeF y the \usepackage ommndD albanian will e n unknown9 lnguge in whih se we hve to mke it knownF o we hek for the existene of \l@albanian to see whether we hve to do someE thing hereF
ifxldlnindundefined dnoptterns{elnin} 49.5 dddiletldlninHfi
49.3 49.4
he next step onsists of de(ning ommnds to swith to @nd fromA the elE nin lngugeF
ptionslnin
ddtoptionslnin{7 defprefenme{rtheni}7 49.8 defrefnme{eferent}7 49.9 defstrtnme{4ermledhj}7 49.10 definme{filiogrfi}7 49.11 defhpternme{upitulli}7
49.6 49.7
he mro \captionsalbanian de(nes ll strings used in the four stndrd doE A umentlsses provided with v iF
58 The le described in this section has version number v1.0c and was last revised on 2007/10/20
PVS
49.12 49.13 49.14 49.15 49.16 49.17 49.18 49.19 49.20 49.21 49.22 49.23 49.24 49.25 49.26 49.27 49.28
defppendixnme{htes}7 defontentsnme{4ermjt}7 deflistfigurenme{pigurt}7 deflisttlenme{elt}7 defindexnme{sndeksi}7 deffigurenme{pigur}7 deftlenme{el}7 defprtnme{jes}7 defenlnme{vidhj}7 defnme{uopj}7 defhedtonme{4er}7 defpgenme{pqe}7 defseenme{shiko}7 deflsonme{shiko dhe}7 defproofnme{4ertetim}7 defglossrynme{4erhsj e pjl4eve}7 }7
dtelnin
defdtelnin{7 deftody{numerdy~ifsemonthor 49.31 tnror hkurtor wrsor rillor wjor 49.32 ershoror uorrikor qushtor httoror etoror x4entoror 49.33 hhjetorfi spe numeryer}}
49.29 49.30
extrslnin noextrslnin
he mro \extrasalbanian will perform ll the extr de(nitions needed for the elnin lngugeF he mro \noextrasalbanian is used to nel the tions of \extrasalbanianF por elnin the " hrter is mde tiveF his is done oneD lter on its de(nition my vryF yther lnguges in the sme doument my lso use the " hrter for shorthndsY we speify tht the lnin group of shorthnds should e usedF
hen we de(ne ess to two forms of quottion mrksD similr to the germn nd frenh quottion mrksF
delredshorthnd{lnin}{4}{7 textormth{quotedlse{}}{mox{quotedlse}}} 49.44 delredshorthnd{lnin}{49}{7 49.45 textormth{textquotedlleft{}}{mox{textquotedlleft}}} 49.46 delredshorthnd{lnin}{4`}{7 49.47 textormth{guillemotleft{}}{mox{guillemotleft}}}
49.42 49.43
PVT
49.48 49.49
delredshorthnd{lnin}{4b}{7 textormth{guillemotright{}}{mox{guillemotright}}}
then we de(ne two shorthnds to e le to speify hyphention rekpoints tht ehve little di'erent from \-F
49.50 49.51
ldfrenhindent ldnonfrenhindent
ifxfmtnme plin else letdifysdfterindentflse 49.56 defldfrenhindent{letdfterindentflsedfterindenttrue 49.57 dfterindenttrue} 49.58 defldnonfrenhindent{letdfterindentflsedifys 49.59 dfterindentflse} 49.60 ddtoextrslnin{ldfrenhindent} 49.61 ddtonoextrslnin{ldnonfrenhindent} 49.62 fi
49.54 49.55
sn lnin the (rst prgrph of eh setion should e indentedF edd this ode A only in v iF
mthlnin
ome mth funtions in elnin mth ooks hve other nmesX eFgF sinh in elnin is written s sh etF o we de(ne numer of new mth opertorsF
defsh{mthop{opertordfont sh}nolimits} 7 sme s sinh defh{mthop{opertordfont h}nolimits} 7 sme s osh 49.65 defth{mthop{opertordfont th}nolimits} 7 sme s tnh 49.66 defth{mthop{opertordfont th}nolimits} 7 sme s oth 49.67 defrsh{mthop{opertordfont rsh}nolimits} 49.68 defrh{mthop{opertordfont rh}nolimits} 49.69 defrth{mthop{opertordfont rth}nolimits} 49.70 defrth{mthop{opertordfont rth}nolimits} 49.71 deftg{mthop{opertordfont tg}nolimits} 7 sme s tn 49.72 deftg{mthop{opertordfont tg}nolimits} 7 sme s ot 49.73 defrtg{mthop{opertordfont rtg}nolimits} 7 sme s rtn 49.74 defrtg{mthop{opertordfont rtg}nolimits} 49.75 defro{mthop{mthsf hskipHpt}nolimits} 49.76 defixpet{mthop{mthsf ihskipHpt}nolimits} 49.77 defrine{mthop{mthsf hhskipHpt}nolimits}
49.63 49.64
he mro \ldf@finish tkes re of looking for on(gurtion (leD setting the min lnguge to e swithed on t \begin{document} nd resetting the tegory ode of @ to its originl vlueF
49.78 49.79
ldfdfinish{lnin} /code
PVU
50
he (le croatian.dtx59 de(nes ll the lnguge de(nition mros for the grotin lngugeF por this lnguge urrently no speil de(nitions re needed or villeF he mro \LdfInit tkes re of preventing tht this (le is loded more thn oneD heking the tegory ode of the @ signD etF
50.1 50.2
code vdfsnit{rotin}ptionsrotin
hen this (le is red s n optionD iFeF y the \usepackage ommndD croatian will e n unknown9 lnguge in whih se we hve to mke it knownF o we hek for the existene of \l@croatian to see whether we hve to do someE thing hereF
ifxldrotindundefined dnoptterns{grotin} 50.5 dddiletldrotinHfi
50.3 50.4
he next step onsists of de(ning ommnds to swith to @nd fromA the groE tin lngugeF
ptionsrotin
ddtoptionsrotin{7 defprefenme{redgovor}7 50.8 defrefnme{vitertur}7 50.9 defstrtnme{v{z}etk}7 50.10 definme{filiogrfij}7 50.11 defhpternme{oglvlje}7 50.12 defppendixnme{hodtk}7 50.13 defontentsnme{drv{z}j}7 50.14 deflistfigurenme{opis slik}7 50.15 deflisttlenme{opis tli}7 50.16 defindexnme{sndeks}7 50.17 deffigurenme{lik}7 50.18 deftlenme{li}7 50.19 defprtnme{hio}7 50.20 defenlnme{rilozi}7 50.21 defnme{uopije}7 50.22 defhedtonme{rim}7 50.23 defpgenme{trni}7 50.24 defseenme{idjeti}7 50.25 deflsonme{idjeti i}7 50.26 defproofnme{hokz}7 50.27 defglossrynme{uzlo}7 50.28 }7
50.6 50.7
he mro \captionscroatian de(nes ll strings used in the four stndrd doE A umentlsses provided with v iF
dterotin
50.29 50.30
59 The le described in this section has version number v1.3l and was last revised on 2005/03/29.
PVV
sijev{}njor veljv{}eor ov{z}ujkor trvnjor svinjor lipnjor srpnjor kolovozor rujnor listopdor studenogor prosinfi spe numeryerF}}
extrsrotin noextrsrotin
he mro \extrascroatian will perform ll the extr de(nitions needed for the grotin lngugeF he mro \noextrascroatian is used to nel the tions of \extrascroatianF por the moment these mros re empty ut they re de(ned for omptiility with the other lnguge de(nition (lesF
ddtoextrsrotin{} ddtonoextrsrotin{}
50.34 50.35
he mro \ldf@finish tkes re of looking for on(gurtion (leD setting the min lnguge to e swithed on t \begin{document} nd resetting the tegory ode of @ to its originl vlueF
50.36 50.37
ldfdfinish{rotin} /code
PVW
51
he (le czech.dtx60 de(nes ll the lnguge de(nition mros for the gzeh A lngugeF st is ment s replement of CSv iD the mostEwidely used stndrd A for typesetting gzeh douments in v iF
51.1 Usage
por this lnguge \frenchspacing is setF edditionllyD two mros re de(ned \q nd \w for esy ess to two ents re de(nedF he ommnd \q is used with the letters @tD dD lD nd LA nd dds ' to them to simulte hook9 tht should e thereF he result looks like t he ommnd 9F \w is used to put the ringEent whih ppers in ngstrm over the letters u nd UF
51.2 Compatibility
A qret re hs een tken to ensure kwrd omptiility with CSv iF sn prtiulrD douments whih lod this (le with \usepackage{czech} should proE due identil output with no modi(tions to the soureF edditionllyD ll the A CSv i options re reognizedX
IL2, T1, OT1 hese options set the defult font enodingF lese note tht their use is depretedF ou should use the fontenc pkge to selet font enodingF split, nosplit hese options ontrol whether hyphented words re utomtilly split ording to gzeh typesetting rulesF ith the split option jeEli is hyphented s jeEGEliF he nosplit option disles this ehviorF he use of this option is strongly disourgedD s it reks too mny ommon things"hyphens nnot e used in lelsD negtive rguments to i primitives will not work in horizontl mode @use \minus s workroundAD nd there re few other peulirities with using this modeF nocaptions A his option ws used in CSv i to set up gzehGlovk typesetting rulesD ut leve the originl ptions nd dtesF he reommended wy to hieve this is to use inglish s the min lnguge of the doument nd use the environment otherlanguage* for gzeh textF olduv here re two version of \uvF he older one llows the use of \verb inside the quotes ut reks ny respetive kerning with the quotes @like tht in CS fontsAF he newer one honors the kerning in the font ut does not llow \verb inside the quotesF
2008/07/06. It was rewritten by Petr Tesak (babel@tesarici.cz).
60 The
le described in this section has version number v3.1a and was last revised on
PWH
A he new version is used y defult in v i P nd the old version is used with plin iF ou my use olduv to override the defult in A v i P F
cstex
his option ws used to inlude the ommnds \csprimeson nd \csprimesoffF ine these ommnds re lwys inluded nowD it hs een removed nd the empty de(nition lsts for omptiilityF
51.3 Implementation
he mro \LdfInit tkes re of preventing tht this (le is loded more thn oneD heking the tegory ode of the @ signD etF
51.1 51.2
code vdfsnitgurrentyption{dtegurrentyption}
hen this (le is red s n optionD iFeF y the \usepackage ommndD czech might e n unknown9 lnguge in whih se we hve to mke it knownF o we hek for the existene of \l@czech to see whether we hve to do something hereF
ifxldzehdundefined dnoptterns{gzeh} 51.5 dddiletldzehHfi
51.3 51.4
ifxdifpkgelodeddundefined letsdomptdplinrelx 51.11 messge{splin omptiility mode} 51.12 else 51.13 difpkgeloded{el}{}{7 51.14 letsdomptdltexrelx 51.15 messge{sltex omptiility mode}} 51.16 fi 51.17 ifxsdomptdltexrelx 51.18 rovideskge{zeh}PHHVGHUGHT vQFI ge gzeh style
51.9 51.10 A helre CSv i options @see lso the desriptions on pge PWHAF 51.19 51.20 51.21 51.22 51.23 51.24 51.25 51.26
helreyption{svP}{defenodingdefult{svP}} helreyption {I}{defenodingdefult {I}} helreyption{yI}{defenodingdefult{yI}} helreyption{nosplit}{sdsplithyphensflse} helreyption{split}{sdsplithyphenstrue} helreyption{noptions}{letsdnoptionsarelx} helreyption{olduv}{letsdolduvarelx} helreyption{stex}{relx}
PWI
wke IL2 enoding the defultF his n e overriden with the other font enoding optionsF
51.27
ixeuteyptions{sdiltwd}
roessyptions
A tndrd v i P does not inlude the svP enoding in the formtF he A enoding n e loded lter using the fonten pkgeD ut CSv i inluded svP A y defultF his mens existing douments for CSv i do not lod tht pkgeD so lod the enoding ourselves in omptiility modeF 51.29 51.30 51.31
defgurrentyption{zeh} fi
he next step onsists of de(ning ommnds to swith to @nd fromA the gzeh lngugeF
ptionszeh
he mro \captionsczech de(nes ll strings used in the four stndrd douE A mentlsses provided with v iF
dnmedef{ptionsgurrentyption}{7 defprefenme{v{r}edmluv}7 51.36 defrefnme{eferene}7 51.37 defstrtnme{estrkt}7 51.38 definme{vitertur}7 51.39 defhpternme{upitol}7 51.40 defppendixnme{v{r}9{i}loh}7 51.41 defontentsnme{ysh}7 51.42 deflistfigurenme{eznm or9zkr{u}}7 51.43 deflisttlenme{eznm tulek}7 51.44 defindexnme{ejstv{r}9{i}k}7 51.45 deffigurenme{yr9zek}7 51.46 deftlenme{ulk}7 51.47 defprtnme{v{g}9st}7 51.48 defenlnme{v{r}9{i}loh}7 51.49 defnme{x vv{e}dom9{i}}7 51.50 defhedtonme{uomu}7 51.51 defpgenme{trn}7 51.52 defseenme{viz}7 51.53 deflsonme{viz tk9e}7 51.54 defproofnme{hr{u}kz}7 51.55 defglossrynme{lovn9{i}k}7 51.56 }7
51.34 51.35
dtezeh
he mro \dateczech rede(nes the ommnd \today to produe gzeh dtesF A CSv i llows line rek etween the dy nd the monthF roweverD this ehvior hs een greed upon to e d thing y the se miling list in heemer PHHS nd hs not een doptedF
dnmedef{dtegurrentyption}{7 deftody{numerdyF~ifsemonthor lednor 9unoror
51.57 51.58
PWP
v{r}eznor dunor kvv{e}tnor v{}ervnor v{}erveneor srpnor z9v{r}9ior v{r}9{i}jnor listopduor prosinefi spenumeryer}}
extrszeh noextrszeh
he mro \extrasczech will perform ll the extr de(nitions needed for the gzeh lngugeF he mro \noextrasczech is used to nel the tions of \extrasczechF his mens sving the mening of two oneEletter ontrol sequenes efore de(ning themF por gzeh texts \frenchspacing should e in e'etF vnguge group for shorthnds is lso set hereF
expndfterddtosnme extrsgurrentyptionendsnme{7 ldfrenhsping 51.64 lngugeshorthnds{zeh}} 51.65 expndfterddtosnme noextrsgurrentyptionendsnme{7 51.66 ldnonfrenhsping}
51.62 51.63
sq dq
e sve the originl single nd doule quote hrters in \sq nd \dq to mke them ville lterF
his mro is used to store the orret vlues of the hyphention prmeters \lefthyphenmin nd \righthyphenminF
51.75
providehyphenmins{gurrentyption}{twdthrdd}
A v i9s norml \v ent ples ron over the letter tht follows it @AF his is o not wht we wnt for the letters dD tD l nd vY for those the ent should hnge shpeF his is heived y the followingF
etfeginhoument{7 helreextgompositegommnd{v}{yI}{t}{7 51.78 tkernEFPQemriseFPRexhox{9}} 51.79 helreextgompositegommnd{v}{yI}{d}{7 51.80 dkernEFIQemriseFPRexhox{9}} 51.81 helreextgompositegommnd{v}{yI}{l}{lron{}} 51.82 helreextgompositegommnd{v}{yI}{v}{vron{}}}
51.76 51.77
lron vron
por the letters l nd L we wnt to disinguish etween norml fonts nd monosped fontsF
deflron{7 setoxHhox{w}setoxtwdhox{i}7 51.85 ifdimwdHbwdtwdrelx 51.86 lkernEFIQemriseFPRexhox{9}kernEFIIem7 51.87 else 51.88 lriseFRSexhox tozd{kernEFQSem 9hss}7 51.89 fi} 51.90 defvron{7
51.83 51.84
PWQ
A snitilize tive quotesF CSv i provides wy of onverting inglishEstyle quotes into gzehEstyle onesF foth single nd doule quotes re 'etedD iFeF ``text'' is onverted to something like ,,text`` nd `text' is onverted to ,text`F his onversion n e swithed on nd o' with \csprimeson nd \csprimesoffF61 hese quotes present vrious troulesD eFgF the kerning is rokenD postrophes re onverted to losing single quoteD some primitives re roken @most notly the \catcode`\ char syntx will not work ny moreAD nd writing them to .aux (les nnot e hndled orretlyF por these resonsD these ommnds re only A ville in CSv i omptiility modeF
ifxsdomptdltexrelx letsdltxprimdsprimds 51.99 defsprimeson{7 51.100 todetive tode9tive letprimdsldprimds} 51.101 defsprimesoff{7 51.102 todeIP tode9IP letprimdssdltxprimds} 51.103 egingrouptodetive 51.104 defx{endgroup 51.105 def{futureletsdnextsdopenquote} 51.106 defsdopenquote{7 51.107 ifxsdnext expndftersdopendq 51.108 else expndfterlq 51.109 fi}7 51.110 }x 51.111 egingrouptode9tive 51.112 defx{endgroup 51.113 def9{textormth{futureletsdnextsdlosequote} 51.114 {groupprimds}} 51.115 defsdlosequote{7 51.116 ifx9sdnext expndftersdlosedq 51.117 else expndfterrq 51.118 fi}7 51.119 }x 51.120 defsdopendq{lqqletsdnexta } 51.121 defsdlosedq{rqqletsdnexta }
51.97 51.98
he wy s reommend for typesetting quotes in gzeh douments is to use shorthnds similr to those used in qermnF
else inititedtivedhr{4} 51.124 expndfterddtosnme extrsgurrentyptionendsnme{7 51.125 ldtivte{4}} 51.126 expndfterddtosnme noextrsgurrentyptionendsnme{7 51.127 lddetivte{4}}
51.122 51.123
61 By
the way, the names of these macros are misleading, because the handling of primes in
math mode is rather marginal, the most important thing being the handling of quotes. . .
PWR
lqq
his is the g opening quoteD whih is similr to the qermn quote @\glqqA ut the kerning is di'erentF por the yI enodingD the quote is onstruted from the right doule quote @iFeF the ypening quotes hrterA y moving it down to the seline nd shifting it to the rightD or to the left if itli orretion is positiveF por ID the qermn ypening quotes is usedF st is moved to the right nd the totl width is enlrgedF his is done in n ttempt to minimize the di'erene etween the yI nd I versionsF
rovideextgommnd{lqq}{yI}{7 setdlowdox{textquotedlright}7 51.136 setoxdneahox{lG}dimendneawddne 51.137 setoxdneahox{l}dvnedimendneEwddne 51.138 levevmode 51.139 ifdimdimendnebzdkernEFIemoxzdkernFIem 51.140 elsekernFIemoxzdkernEFIemfillowhyphens} 51.141 rovideextgommnd{lqq}{I} 51.142 {kernFIemquotedlsekernEFHISVemrelx} 51.143 rovideextgommndhefult{lqq}{seextymol{yI}lqq}
51.134 51.135
rqq
por yID the g losing quote is silly the sme s \grqqD only the \textormath mro is not usedD euse s fr s s knowD \grqq does not work in mth mode nywyF por ID the hrter is slightly wider nd shifted to the right to mth its yI ounterprtF
lq ingle g quotes re similr to doule quotes @see the disussion oveAF rq 51.149 rovideextgommnd{lq}{yI} {setdlowdox{textquoteright}oxzdkernFHRemllowhyphens} rovideextgommnd{lq}{I} 51.152 {quotesinglsekernEFHRPVemrelx} 51.153 rovideextgommndhefult{lq}{seextymol{yI}lq} 51.154 rovideextgommnd{rq}{yI} 51.155 {svedsfdq{norektextquoteleftkernFIUem}} 51.156 rovideextgommnd{rq}{I} 51.157 {svedsfdq{norektextquoteleftkernFIUem}} 51.158 rovideextgommndhefult{rq}{seextymol{yI}rq}
51.150 51.151
uv
here re two versions of \uvF he older one opens group nd uses \aftergroup to typeset the losing quotesF his version llows using \verb inside the quotesD euse the enlosed text is not pssed s n rgumentD ut unfortuntely it reks PWS
ifxsdomptdplindundefinedelseletsdolduvarelxfi ifxsdolduvdundefined 51.161 helreoustgommnduvI{{levevmodelqq5Irqq}} 51.162 else 51.163 helreoustgommnduv{groupftergrouplosequotes 51.164 levevmodelqqletsdnexta} 51.165 deflosequotes{unskiprqqrelx} 51.166 fi
51.159 51.160
ny kerning with the quotesF elthough the kerning with the opening quote ould e (xedD the kerning with the losing quote nnotF he newer version is de(ned s ommnd with one prmeterF st preserves kerning ut sine the quoted text is pssed s n rgumentD it nnot ontin \verbF heide whih version of \uv should e usedF por ske of omptiilityD we use A the older version with plin i nd the newer version with v i P F
sdwordlen
helre ounter to hold the length of the word fter the hyphenF
newountsdwordlen
51.167
sdhyphen tore the originl hyphen in mroF hitto for the ligturesF sdendsh 51.168 egingrouptodeEIP sdemdsh 51.169 defx{endgroup 51.170 defsdhyphen{E} 51.171 defsdendsh{EE} 51.172 defsdemdsh{EEE} sdoxhyphen
rovide nonErekle hyphen to e used when ompound word is too short to e splitD iFeF the seond prt is shorter thn \righthyphenminF
defsdoxhyphen{hox{E}}
51.173
sdsplithyphen
he mro \cs@splithyphen inserts split hyphenD while llowing oth prts of the ompound word to e hyphented t other ples tooF
o minimize the e'ets of tivting the hyphen hrterD the tive de(nition expnds to the nonEtive hrter in ll ses where hyphention nnot ourD iFeF if not typesetting @hek \protectAD not in horizontl modeD or in inner horizontl modeF
inititedtivedhr{E} delredshorthnd{zeh}{E}{7 51.179 ifxprotetdtypesetdprotet 51.180 ifhmode 51.181 ifinner 51.182 ldfterelseldfterelseldfterelsesdhyphen 51.183 else 51.184 ldfterfildfterelseldfterelsesdfirsthyphen 51.185 fi 51.186 else 51.187 ldfterfildfterelsesdhyphen
51.177 51.178
PWT
sf we enounter hyphenD hek whether it is followed y seond or third hyphen nd if soD insert the orresponding ligtureF sf we don9t (nd hyphenD the token found will e pled in \cs@token for further nlysisD nd it will lso sty in the inputF
egingrouptodeEtive defx{endgroup 51.194 defsdfirsthyphen{futureletsdtokensdfirsthyphdn} 51.195 defsdfirsthyphdn{7 51.196 ifx Esdtoken 51.197 ldfterelsesdseondhyphen 51.198 else 51.199 ldfterfisdhekhyphen 51.200 fi} 51.201 defsdseondhyphen 55I{7 51.202 futureletsdtokensdseondhyphdn} 51.203 defsdseondhyphdn{7 51.204 ifx Esdtoken 51.205 ldfterelsesdemdshdgole 51.206 else 51.207 ldfterfisdendsh 51.208 fi} 51.209 }x
51.192 51.193
sdhekhyphen
ghek tht hyphention is enledD nd if soD strt nlyzing the rest of the wordD iFeF initilize \cs@word nd \cs@wordlen nd strt proessing input with \cs@scanwordF
defsdhekhyphen{7 ifnumexpndfterhyphenhrthefontaE 51.212 defsdword{}sdwordlenzd 51.213 ldfterelsesdsnword 51.214 else 51.215 sdhyphen 51.216 fi}
51.210 51.211
ih token is (rst nlyzed with \cs@scanwordD whih expnds the token nd psses the (rst token of the result to \cs@gett@kenF sf the expnded token is not identil to the unexpnded oneD presume tht it might e expnded further nd pss it k to \cs@scanword until you get n unexpndle tokenF hen nlyze it in \cs@examinetokenF he \cs@continuescan mro does the sme thing s \cs@scanwordD ut it does not require the (rst token to e in \cs@token lredyF
defsdsnword{letsdlsttokena sdtokenexpndftersdgettoken} defsdontinuesn{letsdlsttokendundefinedexpndftersdgettoken} 51.219 defsdgettoken{futureletsdtokensdgettdken} 51.220 defsdgettdken{7 51.221 ifxsdtokensdlsttoken defsdnext{sdexminetoken}7 51.222 else defsdnext{sdsnword}7 51.223 fi sdnext}
51.217 51.218
PWU
sdexminetoken
sf it is letter @tode IIA or other @tode IPAD dd it to \cs@word with \cs@addparamF sf it is the \char primitiveD dd it with \cs@expandcharF sf the token strts or ends groupD ignore it with \cs@ignoretokenF ytherwise nlyze the mening of the token with \cs@checkchardef to detet primitives de(ned with \chardefF
defsdexminetoken{7 ift esdtoken 51.226 defsdnext{sdddprm}7 51.227 elseift Hsdtoken 51.228 defsdnext{sdddprm}7 51.229 elseifxhrsdtoken 51.230 defsdnext{fterssignmentsdexpndhrletsdtokena }7 51.231 elseifxgroupsdtoken 51.232 defsdnext{sdignoretokengroup}7 51.233 elseifxegroupsdtoken 51.234 defsdnext{sdignoretokenegroup}7 51.235 elseifxegingroupsdtoken 51.236 defsdnext{sdignoretokenegingroup}7 51.237 elseifxendgroupsdtoken 51.238 defsdnext{sdignoretokenendgroup}7 51.239 else 51.240 defsdnext{expndfterexpndfterexpndftersdhekhrdef 51.241 expndftermeningexpndftersdtokenstringhrend}7 51.242 fififififififisdnext}
51.224 51.225
sdhekhrdef
ghek the mening of token nd if it is primitive de(ned with \chardefD pss it to \\@examinechar s if it were \char sequeneF ytherwiseD there re no more word hrtersD so do the (nl tions in \cs@nosplitF
expndfterdefexpndftersdhekhrdef expndfter5expndfterIstringhr5Pend{7 51.245 defsdtoken{5I}7 51.246 ifxsdtokendempty 51.247 defsdnext{fterssignmentsdexminehrletsdtokena }7 51.248 else 51.249 defsdnext{sdnosplit}7 51.250 fi sdnext}
51.243 51.244
sdignoretoken
edd token to \cs@word ut do not updte the \cs@wordlen ounterF his is minly useful for group strting nd ending primitivesD whih need to e preservedD ut do not 'et the word oundryF
sdddprm
edd token to \cs@word nd hek its lodeF xote tht this mro n only e used for tokens whih n e pssed s prmeterF
PWV
sdexpndhr sdexminehr
edd \char sequene to \cs@word nd hek its lodeF he hrode is (rst prsed in \cs@expandchar nd then the resulting \chardefEde(ned sequene is nlyzed in \cs@examinecharF
sdhekode
ghek the lode of hrterF sf it is zeroD it does not ount to the urrent wordD so (nish it with \cs@nosplitF ytherwise updte the \cs@wordlen ounter nd go on snning the word with \cs@continuescanF hen enough hrters re gthered in \cs@word to llow word rekD insert the split hyphen nd (nishF
defsdhekode5I{7 ifnumHa5I 51.263 defsdnext{sdnosplit}7 51.264 else 51.265 dvnesdwordlendne 51.266 ifnumrighthyphenminbthesdwordlen 51.267 defsdnext{sdontinuesn}7 51.268 else 51.269 sdsplithyphen 51.270 defsdnext{sdword}7 51.271 fi 51.272 fi sdnext}
51.261 51.262
sdnosplit sdhyphen
51.273
he \minus sequene n e used where the tive hyphen does not workD eFgF in rguments to i primitives in outer horizontl modeF
letminussdhyphen
51.274
stndrdhyphens splithyphens
hese mros ontrol whether split hyphens re llowed in gzeh ndGor lovk textsF ou my use them in ny lngugeD ut the split hyphen is only tivted for gzeh nd lovkF
defstndrdhyphens{sdsplithyphensflsesddetivtehyphens} defsplithyphens{sdsplithyphenstruesdtivtehyphens}
51.275 51.276
sdsplitttr
xow we delre the split lnguge ttriuteF his is similr to the split pkge option of sltexD ut it only 'ets gzehD not lovkF
sdtivtehyphens sddetivtehyphens
hese mros re de(ned s \relax y defult to prevent tivtingGdetivting the hyphen hrterF hey re rede(ned when the lnguge is swithed to gzehGlovkF et tht moment the hyphen is lso tivted if split hyphens were requested with \splithyphensF PWW
hen the lnguge is deEtivtedD deEtivte the hyphen nd restore the ogus de(nitions of these mrosF
letsdtivtehyphensrelx letsddetivtehyphensrelx 51.282 expndfterddtosnme extrsgurrentyptionendsnme{7 51.283 defsdtivtehyphens{ldtivte{E}}7 51.284 defsddetivtehyphens{lddetivte{E}}7 51.285 ifsdsplithyphenssdtivtehyphensfi} 51.286 expndfterddtosnme noextrsgurrentyptionendsnme{7 51.287 sddetivtehyphens 51.288 letsdtivtehyphensrelx 51.289 letsddetivtehyphensrelx}
51.280 51.281
sdlooseness looseness
yne of the most ommon situtions where n tive hyphen will not work properly is the \looseness primitiveF ghnge its de(nition so tht it detivtes the hyphen if neededF
sdseletlnguge sdmindlnguge
peifying the nocaptions option mens tht ptions nd dtes re not redeE (ned y defultD ut they n e swithed on lter with \captionsczech ndGor \dateczechF e mimi this ehvior y rede(ning \selectlanguageF his mro is lled one t the eginning of the doument to set the min lnguge of the doumentF sf this is \cs@main@languageD it disles the mros for setting ptions nd dteF sn ny seD it restores the originl de(nition of \selectlanguage nd expnds itF he de(nition of \selectlanguage n e shred etween gzeh nd lovkY the tul lnguge is stored in \cs@main@languageF
ifxsdnoptionsdundefinedelse edefsdmindlnguge{gurrentyption} 51.297 ifxsdorigseletdundefined 51.298 letsdorigseletaseletlnguge 51.299 defseletlnguge{7 51.300 letseletlngugesdorigselet 51.301 ifxldmindlngugesdmindlnguge 51.302 expndftersdseletlnguge 51.303 else 51.304 expndfterseletlnguge 51.305 fi} 51.306 defsdseletlnguge{7 51.307 sdtempdisle{ptions}7 51.308 sdtempdisle{dte}7 51.309 seletlnguge}
51.295 51.296
sdtempdisle
\cs@tempdisable disles lnguge setup mro temporrilyD iFeF the mro with the nme of #1 \bbl@main@language just restores the originl de(nition nd purges the sved mro from memoryF
defsdtempdisle5I{7
51.310
QHH
51.311 51.312 51.313 51.314 51.315 51.316 51.317 51.318 51.319 51.320
defdtemp{sd5I}7 defdtemp{5Ildmindlnguge}7 expndfterexpndfterexpndfterlet expndfter snmeexpndfter dtemp expndfterendsnme snme dtemp endsnme expndfteredefsnme dtemp endsnme{7 let expndfternoexpnd snme dtemp endsnme expndfternoexpnd snme dtemp endsnme let expndfternoexpndsnme dtemp endsnme noexpnddundefined}}
he enoding of mthemtil fonts should e hnged to svPF his llows to use ented letter in some font fmiliesF fesidesD douments do not use gw fonts if there re equivlents in gEfontsD so there is no need to hve oth itmps of gwEfont nd gEfontF \@font@warning nd \@font@info re temporrily rede(ned to void nnoyE ing font wrningsF
ifxsdomptdplindundefined ifxsdhekdendundefinedelse 51.329 defsdhekden{ 51.330 ifxenodingdefultsdiltwd 51.331 letsdwrndfontdwrning letdfontdwrningdgole 51.332 letsdinfodfontdinfo letdfontdinfodgole 51.333 etymolpont{opertors}{norml}{sdiltwd}{mr}{m}{n} 51.334 etymolpont{opertors}{old}{sdiltwd}{mr}{x}{n} 51.335 etwthelphetmthf{norml}{sdiltwd}{mr}{x}{n} 51.336 etwthelphetmthit{norml}{sdiltwd}{mr}{m}{it} 51.337 etwthelphetmthrm{norml}{sdiltwd}{mr}{m}{n} 51.338 etwthelphetmthsf{norml}{sdiltwd}{mss}{m}{n} 51.339 etwthelphetmthtt{norml}{sdiltwd}{mtt}{m}{n} 51.340 etwthelphetmthf{old}{sdiltwd}{mr}{x}{n} 51.341 etwthelphetmthit{old}{sdiltwd}{mr}{x}{it} 51.342 etwthelphetmthrm{old}{sdiltwd}{mr}{x}{n} 51.343 etwthelphetmthsf{old}{sdiltwd}{mss}{x}{n} 51.344 etwthelphetmthtt{old}{sdiltwd}{mtt}{m}{n} 51.345 letdfontdwrningsdwrn letsdwrndundefined 51.346 letdfontdinfosdinfo letsdinfodundefined 51.347 fi 51.348 letsdhekdendundefined} 51.349 etfeginhoument{sdhekden} 51.350 fi 51.351 fi
51.327 51.328
sdundoiltwd
A he thing is tht v i P ore only supports the I enoding nd does not other hnging the uGlGsfodes when enoding is swithedF X@ roweverD the svP
QHI
enoding does hnge these odesD so if enoding is swithed k from svPD we A must lso undo the e'et of this hnge to e omptile with v i P F yuD this is not the rightTM solution ut it worksF gheers to etr ylkF
defsdundoiltwd{7 uodeISVaPHV lodeISVaISV 51.354 sfodeISWaIHHH 51.355 uodeITSaIQQ lodeITSaITS 51.356 uodeITWaIQU lodeITWaITW 51.357 uodeIUIaIQW lodeIUIaIUI 51.358 uodeIURaIRP lodeIURaIUR 51.359 uodeIVIaIRW 51.360 uodeIVSaISQ 51.361 uodeIVUaISS 51.362 uodeIWHaH lodeIWHaH 51.363 uodePSRaPPP lodePSRaPSR 51.364 uodePSSaPPQ lodePSSaPSS
51.352 51.353
sfodePSRaIHHH sfodePSSaIHHH}
ddendupdte
ifxsdendupdtedundefined ifxddendupdtedundefinedelse 51.367 letsdendupdteddendupdte 51.368 defddendupdte{ifxfdenodingsdiltwdsdundoiltwdfi 51.369 sdendupdte 51.370 expndfterifnumsnme ldlngugenmeendsnmeathelnguge 51.371 expndfterifx 51.372 snme ldlngugenmeXfdenodingendsnmerelx 51.373 else 51.374 expndfterexpndfterexpndfterlet 51.375 expndftersnme 51.376 expndfter lexpndfter dexpndfterlngugenme 51.377 expndfterendsnmesnme ldlngugenmeXfdenodingendsnme 51.378 fi 51.379 lngugeasnme ldlngugenmeendsnmerelx 51.380 fi} 51.381 fifi
51.365 51.366
he mro \ldf@finish tkes re of looking for on(gurtion (leD setting the min lnguge to e swithed on t \begin{document} nd resetting the tegory ode of @ to its originl vlueF
51.382 51.383
ldfdfinishgurrentyption /code
QHP
52
he (le polish.dtx62 de(nes ll the lngugeEspei( mros for the olish lnE gugeF por this lnguge the hrter " is mde tiveF sn tle PS n overview is given of its purposeF
"a "A "e "E "c "l "L "r "R "z "Z "| """ "` "' "< ">
or \aobD for tiledE @like A or \AobD for tiledEe @like eA or \eobD for tiledEe @like eA or \EobD for tiledEi @like iA or \'cD for ented @like AD sme with upperse letters nd nDoDs or \lpb{}D for l with stroke @like A or \Lpb{}D for v with stroke @like A or \zkb{}D for pointed z @like AD fF pronounition or \Zkb{}D for pointed @like A or \'zD for ented z or \'ZD for ented disle ligture t this positionF n expliit hyphen signD llowing hyphention in the rest of the wordF like "-D ut produing no hyphen sign @for ompund words with hyphenD eFgF x-""yAF for qermn left doule quotes @looks like AF for qermn right doule quotesF for prenh left doule quotes @similr to <<AF for prenh right doule quotes @similr to >>AF
le PSX he extr de(nitions mde y polish.sty he mro \LdfInit tkes re of preventing tht this (le is loded more thn oneD heking the tegory ode of the @ signD etF
52.1 52.2
code vdfsnit{polish}ptionspolish
hen this (le is red s n optionD iFeF y the \usepackage ommndD polish ould e n unknown9 lnguge in whih se we hve to mke it knownF o we hek for the existene of \l@polish to see whether we hve to do something hereF
ifxldpolishdundefined dnoptterns{olish} 52.5 dddiletldpolishHfi
52.3 52.4
he next step onsists of de(ning ommnds to swith to @nd fromA the olish lngugeF
ptionspolish
he mro \captionspolish de(nes ll strings used in the four stndrd douE A mentlsses provided with v iF
52.6
ddtoptionspolish{7
62 The le described in this section has version number v1.2l and was last revised on 2005/03/31.
QHQ
52.7 52.8 52.9 52.10 52.11 52.12 52.13 52.14 52.15 52.16 52.17 52.18 52.19 52.20 52.21 52.22 52.23 52.24 52.25 52.26 52.27 52.28
defprefenme{rzedmow}7 defrefnme{vitertur}7 defstrtnme{treszzenie}7 definme{filiogrfi}7 defhpternme{ozdzil}7 defppendixnme{hodtek}7 defontentsnme{pis tre9si}7 deflistfigurenme{pis rysunk9ow}7 deflisttlenme{pis tli}7 defindexnme{sndeks}7 deffigurenme{ysunek}7 deftlenme{li}7 defprtnme{gzeo{}9s9}7 defenlnme{lo{}znik}7 defnme{uopieX}7 defhedtonme{ho}7 defpgenme{tron}7 defseenme{or9ownj}7 deflsonme{or9ownj tkFze}7 defproofnme{how9od}7 defglossrynme{qlossry}7 `EE xeeds trnsltion
dtepolish
defdtepolish{7 deftody{numerdy~ifsemonthor 52.31 styznior lutegoor mror kwietnior mjor zerwor lipor 52.32 sierpnior wrze9snior p9zdziernikor listopdor grudnifi 52.33 spenumeryer}7 52.34 }
52.29 52.30
extrspolish noextrspolish
he mro \extraspolish will perform ll the extr de(nitions needed for the olish lngugeF he mro \noextraspolish is used to nel the tions of \extraspolishF por olish the " hrter is mde tiveF his is done oneD lter on its de(nition my vryF yther lnguges in the sme doument my lso use the " hrter for shorthndsY we speify tht the polish group of shorthnds should e usedF
ddtonoextrspolish{lddetivte{4}}
he ode ove is neessry euse we need n extr tive hrterF his hrter is then used s indited in tle PSF sf you hve prolems t the end of word with linerekD use the other version without hyphention triksF ome e wizrd my produe etter solution with forsting nother token to deide whether the hrter fter the doule quote is the lst in wordF ho it nd let us knowF
QHR
sn olish texts some letters get speil diritil mrksF veszek rolenderski designed the following ode to position the diritis orretly for every font in every sizeF hese mros need few extr dimension vrilesF
newdimenpldleft newdimenplddown 52.41 newdimenpldright 52.42 newdimenpldtemp
52.39 52.40
so
defso5I5P5Q5R5S{7prmetersX letter nd frtions hlDhoDvlDvo setoxHhox{5I}setoxIhox{6mthhr9RSR6}setoxPhox{p}7 52.45 pldrighta5PwdH dvnepldright yE5QwdI 52.46 plddowna5ShtI dvneplddown yE5RhtH 52.47 pldleftapldright dvnepldleft ywdI 52.48 pldtempaEplddown dvnepldtemp ydpP dpIapldtemp 52.49 levevmode 52.50 kernpldrightlowerplddownoxIkernEpldleft 5I}
52.43 52.44
o he ogonek is pled with the letters 9D e9D e9D nd i9F eo52.51 helreextgommnd{o}{yI}{so {FTT}{FPH}{H}{FWH}} eo52.52 helreextgommnd{eo}{yI}{so e{FVH}{FSH}{H}{FWH}} io52.53 helreextgommnd{eo}{yI}{so e{FSH}{FQS}{H}{FWQ}} 52.54 helreextgommnd{io}{yI}{so i{FTH}{FQS}{H}{FWH}}
} e} e} i}
defsp5I5P5Q5R5S{7 setoxHhox{5I}setoxIhox{hr9HPQ}7 52.65 pldrighta5PwdH dvnepldright yE5QwdI 52.66 plddowna5ShtI dvneplddown yE5RhtH 52.67 pldleftapldright dvnepldleft ywdI 52.68 htIaplddown dpIaEplddown 52.69 levevmode 52.70 kernpldrightlowerplddownoxIkernEpldleft 5I}
52.63 52.64
sk
defsk5I5P5Q5R5S{7 setoxHhox{5I}setoxIhox{hr9HST}7 52.73 pldrighta5PwdH dvnepldright yE5QwdI 52.74 plddowna5ShtI dvneplddown yE5RhtH 52.75 pldleftapldright dvnepldleft ywdI 52.76 levevmode 52.77 kernpldrightlowerplddownoxIkernEpldleft 5I}
52.71 52.72
QHS
textpl
por the poprzezk9 nd the kropk9 in text fonts we don9t need ny speil odingD ut we n @lmostA use wht is lredy villeF
textpl
fut for the teletype9 font in yI9 enoding we hve to tke some speil tionsD involving the mros de(ned oveF
l{FRS}{FS}{FR}{FV}}7 v{FPQ}{FS}{FR}{FV}}7 z{FS}{FS}{IFP}{H}}7 {FS}{FS}{IFI}{H}}}
ifxseletfontdundefined ifxprmdundefined ddtorm{textpl}else 52.94 ifxpitdundefined ddtoit{textpl}else 52.95 ifxpfdundefined ddtof{textpl}else 52.96 ifxpsldundefined ddtosl{textpl}else 52.97 ifxpsfdundefined else 52.98 ifxpsdundefined else 52.99 ifxpttdundefined ddtott{telepl}else 52.100 else
52.92 52.93 A hen \selectfont exists we ssume v i P F 52.101 52.102
o tivte these odes the font hnging ommnds s they re de(ned in A v i re modi(edF he sme is done for plin i9s font hnging ommndsF hen \selectfont is unde(ned the urrent formt is spposed to e either A plin @sedA or v i PFHWF
ddtoprm{textpl}fi ddtopit{textpl}fi ddtopf{textpl}fi ddtopsl{textpl}fi ddtopsf{textpl}fi ddtops{textpl}fi ddtoptt{telepl}fi
gurrently we support the yI nd I enodingsF por I we don9t hve to mke di'erene etween typewriter fonts nd other fontsD they ll hve the sme glyphsF
52.104
expndfterletsnme Idplendsnmetextpl
por yI we need to hek the urrent font fmilyD stored in \f@familyF nE fortuntely we need hk s \ttdefault is de(ned s \long mroD while \f@family is notF
expndfterdefsnme yIdplendsnme{7 longedefurrdfmily{fdfmily}7 52.107 ifxurrdfmilyttdefult 52.108 telepl 52.109 else 52.110 textpl 52.111 fi}
52.105 52.106
QHT
dq
e sve the originl doule quote hrter in \dq to keep it villeD the mth ent \" n now e typed s "F
}} e}} }} g}} e}} i}} l}} v}} n}} x}} o}} y}} s}} }}
polishrz polishzx
he ommnd \polishrz de(nes the shorthnds "rD "z nd "x to produe pointed zD ented z nd "xF his is the defult s these shorthnds were de(ned y this lnguge de(nition (le for quite some timeF
r}}7 }}7 z}}7 }}7
newommndB{polishrz}{7 delredshorthnd{polish}{4r}{textormth{zk}{ddot 52.132 delredshorthnd{polish}{4}{textormth{k}{ddot 52.133 delredshorthnd{polish}{4z}{textormth{9z}{ute 52.134 delredshorthnd{polish}{4}{textormth{9}{ute 52.135 delredshorthnd{polish}{4x}{dq x}7 52.136 delredshorthnd{polish}{4}{dq }7 52.137 } 52.138 polishrz
52.130 52.131
he ommnd \polishzx swithes to di'erent set of shorthndsD "zD "x nd "r to produe pointed zD ented z nd "rY di'erent shorthnd nottion lso in useF
newommndB{polishzx}{7 delredshorthnd{polish}{4z}{textormth{zk}{ddot 52.141 delredshorthnd{polish}{4}{textormth{k}{ddot 52.142 delredshorthnd{polish}{4x}{textormth{9z}{ute 52.143 delredshorthnd{polish}{4}{textormth{9}{ute 52.144 delredshorthnd{polish}{4r}{dq r}7 52.145 delredshorthnd{polish}{4}{dq }7 52.146 }
52.139 52.140
hen we de(ne ess to two forms of quottion mrksD similr to the germn nd frenh quottion mrksF
delredshorthnd{polish}{4}{7 textormth{quotedlse}{mox{quotedlse}}} 52.149 delredshorthnd{polish}{49}{7
52.147 52.148
QHU
then we de(ne two shorthnds to e le to speify hyphention rekpoints tht ehvew little di'erent from \-F
52.155 52.156
mdqon mdqoff
ell tht9s left to do now is to de(ne ouple of ommnds for resons of omptE iility with polish.texF
defmdqon{shorthndon{4}} defmdqoff{shorthndoff{4}}
52.159 52.160
he mro \ldf@finish tkes re of looking for on(gurtion (leD setting the min lnguge to e swithed on t \begin{document} nd resetting the tegory ode of @ to its originl vlueF
52.161 52.162
ldfdfinish{polish} /code
QHV
53
he (le serbian.dtx63 de(nes ll the lnguge de(nition mros for the erin lngugeD typeset in ltin sriptF sn future version support for typesetting in yrilli sript my e ddedF por this lnguge the hrter " is mde tiveF sn tle PT n overview is given of its purposeF yne of the resons for this is tht in the erin lnguge some speil hrters re usedF
\"cD lso implemented for the lowerse nd upperE se s nd zF \djD lso implemented for "D n expliit hyphen signD llowing hyphention in the rest of the wordF disle ligture t this position like "-D ut produing no hyphen sign @for ompund words with hyphenD eFgF x-""yAF for erin left doule quotes @looks like AF for erin right doule quotesF for prenh left doule quotes @similr to <<AF for prenh right doule quotes @similr to >>AF
le PTX he extr de(nitions mde y serbian.ldf eprt from de(ning shorthnds we need to mke sure tht the (rst prgrph of eh setion is intendedF purthermore the following new mth opertors re de(ned @\tgD \ctgD \arctgD \arcctgD \shD \chD \thD \cthD \arshD \archD \arthD \arcthD \ProbD \ExpectD \VarianceAF he mro \LdfInit tkes re of preventing tht this (le is loded more thn oneD heking the tegory ode of the @ signD etF
53.1 53.2
code vdfsnit{serin}ptionsserin
hen this (le is red s n optionD iFeF y the \usepackage ommndD serbian will e n unknown9 lnguge in whih se we hve to mke it knownF o we hek for the existene of \l@serbian to see whether we hve to do something hereF
ifxldserindundefined dnoptterns{erin} 53.5 dddiletldserinHfi
53.3 53.4
he next step onsists of de(ning ommnds to swith to @nd fromA the erE orotin lngugeF
ptionsserin
he mro \captionsserbian de(nes ll strings used in the four stndrd douE A mentlsses provided with v iF
63 The
le described in this section has version number v1.0d and was last revised on
QHW
53.9 53.10 53.11 53.12 53.13 53.14 53.15 53.16 53.17 53.18 53.19 53.20 53.21 53.22 53.23 53.24 53.25 53.26 53.27 53.28
defstrtnme{v{z}etk}7 definme{filiogrfij}7 defhpternme{qlv}7 defppendixnme{hodtk}7 defontentsnme{drv{z}j}7 deflistfigurenme{like}7 deflisttlenme{ele}7 defindexnme{sndeks}7 deffigurenme{lik}7 deftlenme{el}7 defprtnme{heo}7 defenlnme{rilozi}7 defnme{uopije}7 defhedtonme{rim}7 defpgenme{trn}7 defseenme{idi}7 deflsonme{idi tkodj e}7 defproofnme{hokz}7 defglossrynme{qlossry}7 `EE xeeds trnsltion }7
dteserin
defdteserin{7 deftody{numerdy F~ifsemonthor 53.31 jnuror feruror mrtor prilor mjor 53.32 junior julior vgustor septemror oktoror novemror 53.33 deemrfi spe numeryer}}
53.29 53.30
extrsserin noextrsserin
he mro \extrasserbian will perform ll the extr de(nitions needed for the erorotin lngugeF he mro \noextrasserbian is used to nel the E tions of \extrasserbianF por erin the " hrter is mde tiveF his is done oneD lter on its de(nition my vryF yther lnguges in the sme doument my lso use the " hrter for shorthndsY we speify tht the serin group of shorthnds should e usedF
QIH
hen we de(ne ess to two forms of quottion mrksD similr to the germn nd frenh quottion mrksF
delredshorthnd{serin}{4}{7 textormth{quotedlse{}}{mox{quotedlse}}} 53.48 delredshorthnd{serin}{49}{7 53.49 textormth{textquotedlleft{}}{mox{textquotedlleft}}} 53.50 delredshorthnd{serin}{4`}{7 53.51 textormth{guillemotleft{}}{mox{guillemotleft}}} 53.52 delredshorthnd{serin}{4b}{7 53.53 textormth{guillemotright{}}{mox{guillemotright}}}
53.46 53.47
then we de(ne two shorthnds to e le to speify hyphention rekpoints tht ehve little di'erent from \-F
53.54 53.55
ldfrenhindent ldnonfrenhindent
ifxfmtnme plin else letdifysdfterindentflse 53.60 defldfrenhindent{letdfterindentflsedfterindenttrue 53.61 dfterindenttrue} 53.62 defldnonfrenhindent{letdfterindentflsedifys 53.63 dfterindentflse} 53.64 ddtoextrsserin{ldfrenhindent} 53.65 ddtonoextrsserin{ldnonfrenhindent} 53.66 fi
53.58 53.59
sn erin the (rst prgrph of eh setion should e indentedF edd this ode A only in v iF
mthserin
ome mth funtions in erin mth ooks hve other nmesX eFgF sinh in erin is written s sh etF o we de(ne numer of new mth opertorsF
defsh{mthop{opertordfont sh}nolimits} 7 sme s sinh defh{mthop{opertordfont h}nolimits} 7 sme s osh 53.69 defth{mthop{opertordfont th}nolimits} 7 sme s tnh 53.70 defth{mthop{opertordfont th}nolimits} 7 sme s oth 53.71 defrsh{mthop{opertordfont rsh}nolimits} 53.72 defrh{mthop{opertordfont rh}nolimits} 53.73 defrth{mthop{opertordfont rth}nolimits} 53.74 defrth{mthop{opertordfont rth}nolimits} 53.75 deftg{mthop{opertordfont tg}nolimits} 7 sme s tn 53.76 deftg{mthop{opertordfont tg}nolimits} 7 sme s ot 53.77 defrtg{mthop{opertordfont rtg}nolimits} 7 sme s rtn 53.78 defrtg{mthop{opertordfont rtg}nolimits} 53.79 defro{mthop{mthsf hskipHpt}nolimits} 53.80 defixpet{mthop{mthsf ihskipHpt}nolimits} 53.81 defrine{mthop{mthsf hhskipHpt}nolimits}
53.67 53.68
he mro \ldf@finish tkes re of looking for on(gurtion (leD setting the min lnguge to e swithed on t \begin{document} nd resetting the tegory ode of @ to its originl vlueF
53.82 53.83
ldfdfinish{serin} /code
QII
54
he (le slovak.dtx64 de(nes ll the lngugeEspei( mros for the lovk lnE gugeF por this lnguge the mro \q is de(nedF st ws used with the letters @tD dD lD nd LA nd dds ' to them to simulte hook9 tht should e thereF he result looks like t ine the the I font enoding hs the orresponding hrters it 9F is mpped to \vF herefore we reommend using I font enodingF sf you don9t wnt to use this enodingD pleseD feel free to rede(ne \q in your (leF s think el will honour this ;-)F por this lnguge the hrters "D ' nd ^ re mde tiveF sn tle PU n overview is given of its purposeF elso the vertil plement of the umlut n e ontrolled this wyF
"a ^d ^c ^o 'a "| """ "~ "= "` "' "< ">
\"aD lso implemented for the other lowerse nd upperse vowelsF \q dD lso implemented for lD t nd vF \v cD lso implemented for gD hD xD nD D nd zF \^oD lso implemented for yF \'aD lso implemented for the other lowerse nd upperse lD rD y nd vowelsF disle ligture t this positionF n expliit hyphen signD llowing hyphention in the rest of the wordF like "-D ut produing no hyphen sign @for ompund words with hyphenD eFgF x-""yAF for ompound word mrk without rekpointF for ompound word mrk with rekpointD llowE ing hyphention in the omposing wordsF for qermn left doule quotes @looks like AF for qermn right doule quotesF for prenh left doule quotes @similr to <<AF for prenh right doule quotes @similr to >>AF
le PUX he extr de(nitions mde y slovak.ldf he quotes in tle PU n lso e typeset y using the ommnds in tle PVF
54.1 Compatibility
A qret re hs een tken to ensure kwrd omptiility with CSv iF sn prE tiulrD douments whih lod this (le with \usepackage{slovak} should produe A identil output with no modi(tions to the soureF edditionllyD ll the CSv i options re reognizedX
64 The
le described in this section has version number v3.1a and was last revised on
2008/07/06.
(babel@tesarici.cz).
QIP
\glqq \grqq \glq \grq \flqq \frqq \flq \frq \dq \sq
for qermn left doule quotes @looks like AF for qermn right doule quotes @looks like AF for qermn left single quotes @looks like DAF for qermn right single quotes @looks like AF for prenh left doule quotes @similr to <<AF for prenh right doule quotes @similr to >>AF for @prenhA left single quotes @similr to <AF for @prenhA right single quotes @similr to >AF the originl quotes hrter @"AF the originl single quote @'AF
IL2, T1, OT1 hese options set the defult font enodingF lese note tht their use is depretedF ou should use the fontenc pkge to selet font enodingF split, nosplit hese options ontrol whether hyphented words re utomtilly split ording to lovk typesetting rulesF ith the split option jeEli is hyphented s jeEGEliF he nosplit option disles this ehviorF he use of this option is strongly disourgedD s it reks too mny ommon things"hyphens nnot e used in lelsD negtive rguments to i primitives will not work in horizontl mode @use \minus s workroundAD nd there re few other peulirities with using this modeF nocaptions A his option ws used in CSv i to set up gzehGlovk typesetting rulesD ut leve the originl ptions nd dtesF he reommended wy to hieve this is to use inglish s the min lnguge of the doument nd use the environment otherlanguage* for gzeh textF olduv here re two version of \uvF he older one llows the use of \verb inside the quotes ut reks ny respetive kerning with the quotes @like tht in CS fontsAF he newer one honors the kerning in the font ut does not llow \verb inside the quotesF
A he new version is used y defult in v i P nd the old version is used with plin iF ou my use olduv to override the defult in A v i P F
cstex
his option ws used to inlude the ommnds \csprimeson nd \csprimesoffF ine these ommnds re lwys inluded nowD it hs een removed nd the empty de(nition lsts for omptiilityF
54.2 Implementation
he mro \LdfInit tkes re of preventing tht this (le is loded more thn oneD heking the tegory ode of the @ signD etF QIQ
54.1 54.2
code vdfsnitgurrentyption{dtegurrentyption}
hen this (le is red s n optionD iFeF y the \usepackage ommndD slovak will e n unknown9 lnguge in whih se we hve to mke it knownF o we hek for the existene of \l@slovak to see whether we hve to do something hereF
ifxldslovkdundefined dnoptterns{lovk} 54.5 dddiletldslovkHfi
54.3 54.4
ifxdifpkgelodeddundefined letsdomptdplinrelx 54.11 messge{splin omptiility mode} 54.12 else 54.13 difpkgeloded{el}{}{7 54.14 letsdomptdltexrelx 54.15 messge{sltex omptiility mode}} 54.16 fi 54.17 ifxsdomptdltexrelx 54.18 rovideskge{slovk}PHHVGHUGHT vQFI ge lovk style
54.9 54.10 A helre CSv i options @see lso the desriptions on pge QIPAF 54.19 54.20 54.21 54.22 54.23 54.24 54.25 54.26
helreyption{svP}{defenodingdefult{svP}} helreyption {I}{defenodingdefult {I}} helreyption{yI}{defenodingdefult{yI}} helreyption{nosplit}{sdsplithyphensflse} helreyption{split}{sdsplithyphenstrue} helreyption{noptions}{letsdnoptionsarelx} helreyption{olduv}{letsdolduvarelx} helreyption{stex}{relx}
wke IL2 enoding the defultF his n e overriden with the other font enoding optionsF
54.27
ixeuteyptions{sdiltwd}
roessyptions
A tndrd v i P does not inlude the svP enoding in the formtF he A enoding n e loded lter using the fonten pkgeD ut CSv i inluded svP A y defultF his mens existing douments for CSv i do not lod tht pkgeD so lod the enoding ourselves in omptiility modeF 54.29 54.30 54.31
QIR
defgurrentyption{slovk} fi
he next step onsists of de(ning ommnds to swith to @nd fromA the lovk lngugeF
ptionsslovk
dnmedef{ptionsgurrentyption}{7 defprefenme{redhovor}7 54.36 defrefnme{vitert9ur}7 54.37 defstrtnme{estrkt}7 54.38 definme{vitert9ur}7 54.39 defhpternme{upitol}7 54.40 defppendixnme{hodtok}7 54.41 defontentsnme{ysh}7 54.42 deflistfigurenme{oznm or9zkov}7 54.43 deflisttlenme{oznm tuliek}7 54.44 defindexnme{egister}7 54.45 deffigurenme{yrF}7 54.46 deftlenme{uv{l}k}7 54.47 defprtnme{v{g}sv{t}}7 54.48 defenlnme{r9{i}loh}7 54.49 defnme{F}7 54.50 defhedtonme{re}7 54.51 defpgenme{trF}7 54.52 defseenme{viv{d}}7 54.53 deflsonme{viv{d} tiev{z}}7 54.54 defproofnme{hokz}7 54.55 defglossrynme{lovn9{i}k}7 54.56 }7
54.34 54.35
he mro \captionsslovak de(nes ll strings used in the four stndrd douE A mentlsses provided with v iF
dteslovk
dnmedef{dtegurrentyption}{7 deftody{numerdyF~ifsemonthor 54.59 jnu9ror feru9ror mror pr9{i}lor m9jor 54.60 j9unor j9ulor ugustor septemror okt9oror 54.61 novemror deemrfi 54.62 spe numeryer}}
54.57 54.58
extrsslovk noextrsslovk
he mro \extrasslovak will perform ll the extr de(nitions needed for the lovk lngugeF he mro \noextrasslovak is used to nel the tions of \extrasslovakF por lovk texts \frenchspacing should e in e'etF vnguge group for shorthnds is lso set hereF
expndfterddtosnme extrsgurrentyptionendsnme{7 ldfrenhsping 54.65 lngugeshorthnds{slovk}} 54.66 expndfterddtosnme noextrsgurrentyptionendsnme{7 54.67 ldnonfrenhsping}
54.63 54.64
QIS
54.68 54.69
por lovk three hrters re used to de(ne shorthndsD they need to e mde tiveF
ifxsdomptdltexrelxelse inititedtivedhr{} 54.72 ddtoextrsslovk{ldtivte{}} 54.73 ddtonoextrsslovk{lddetivte{}} 54.74 inititedtivedhr{4} 54.75 ddtoextrsslovk{ldtivte{4}umlutlow} 54.76 ddtonoextrsslovk{lddetivte{4}umluthigh} 54.77 inititedtivedhr{9} 54.78 difpkgewith{el}{tiveute}{7 54.79 ddtoextrsslovk{ldtivte{9}} 54.80 ddtonoextrsslovk{lddetivte{9}}7 54.81 }{} 54.82 fi
54.70 54.71
sq dq
e sve the originl single nd doule quote hrters in \sq nd \dq to mke them ville lterF he mth ent \" n now e typed s "F
he slovk hyphention ptterns should e used with \lefthyphenmin set to P nd \righthyphenmin set to QF
54.88
providehyphenmins{gurrentyption}{twdthrdd}
sn order to prevent prolems with the tive ^ we dd shorthnd on system level whih expnds to norml ^F
54.89 54.90
tremsD
54.97 54.98 54.99 54.100 54.101
delredshorthnd{slovk}{4e}{textormth{4{e}llowhyphens}{ddot e}} delredshorthnd{slovk}{4i}{textormth{4{i}llowhyphens}{ddot i}} delredshorthnd{slovk}{4i}{textormth{4{i}llowhyphens}7 {ddotimth}} delredshorthnd{slovk}{4s}{textormth{4{s}llowhyphens}{ddot s}} delredshorthnd{slovk}{}{textormth{v{}llowhyphens}{hek{}}} delredshorthnd{slovk}{d}{textormth{q{d}llowhyphens}{hek{d}}} delredshorthnd{slovk}{l}{textormth{q{l}llowhyphens}{hek{l}}}
QIT
54.105 54.106 54.107 54.108 54.109 54.110 54.111 54.112 54.113 54.114 54.115 54.116 54.117
delredshorthnd{slovk}{n}{textormth{v{n}llowhyphens}{hek{n}}} delredshorthnd{slovk}{o}{textormth{{o}llowhyphens}{ht{o}}} delredshorthnd{slovk}{s}{textormth{v{s}llowhyphens}{hek{s}}} delredshorthnd{slovk}{t}{textormth{q{t}llowhyphens}{hek{t}}} delredshorthnd{slovk}{z}{textormth{v{z}llowhyphens}{hek{z}}} delredshorthnd{slovk}{g}{textormth{v{g}llowhyphens}{hek{g}}} delredshorthnd{slovk}{h}{textormth{v{h}llowhyphens}{hek{h}}} delredshorthnd{slovk}{v}{textormth{q{v}llowhyphens}{hek{v}}} delredshorthnd{slovk}{x}{textormth{v{x}llowhyphens}{hek{x}}} delredshorthnd{slovk}{y}{textormth{{y}llowhyphens}{ht{y}}} delredshorthnd{slovk}{}{textormth{v{}llowhyphens}{hek{}}} delredshorthnd{slovk}{}{textormth{v{}llowhyphens}{hek{}}} delredshorthnd{slovk}{}{textormth{v{}llowhyphens}{hek{}}} difpkgewith{el}{tiveute}{7 delredshorthnd{slovk}{9}{textormth{9llowhyphens}{{prime}}} delredshorthnd{slovk}{9e}{textormth{9ellowhyphens}{{prime}e}} delredshorthnd{slovk}{9i}{textormth{9i{}llowhyphens}{{prime}i}} delredshorthnd{slovk}{9l}{textormth{9lllowhyphens}{{prime}l}} delredshorthnd{slovk}{9o}{textormth{9ollowhyphens}{{prime}o}} delredshorthnd{slovk}{9r}{textormth{9rllowhyphens}{{prime}r}} delredshorthnd{slovk}{9u}{textormth{9ullowhyphens}{{prime}u}} delredshorthnd{slovk}{9y}{textormth{9yllowhyphens}{{prime}y}} delredshorthnd{slovk}{9e}{textormth{9ellowhyphens}{{prime}e}} delredshorthnd{slovk}{9i}{textormth{9illowhyphens}{{prime}i}} delredshorthnd{slovk}{9s}{textormth{9sllowhyphens}{{prime}s}} delredshorthnd{slovk}{9v}{textormth{9vllowhyphens}{{prime}l}} delredshorthnd{slovk}{9y}{textormth{9yllowhyphens}{{prime}y}} delredshorthnd{slovk}{9}{textormth{9llowhyphens}{{prime}}} delredshorthnd{slovk}{9}{textormth{9llowhyphens}{{prime}}} delredshorthnd{slovk}{9}{textormth{9llowhyphens}{{prime}}} delredshorthnd{slovk}{99}{7 textormth{textquotedlright}{spgroupprimds9}} }{}
ute entsD
54.118 54.119 54.120 54.121 54.122 54.123 54.124 54.125 54.126 54.127 54.128 54.129 54.130 54.131 54.132 54.133 54.134 54.135 54.136 54.137 54.138
A v i9s norml \v ent ples ron over the letter tht follows it @AF his is o not wht we wnt for the letters dD tD l nd vY for those the ent should hnge shpeF his is heived y the followingF
QIU
54.152 54.153
helreextgompositegommnd{v}{yI}{l}{lron{}} helreextgompositegommnd{v}{yI}{v}{vron{}}}
lron vron
por the letters l nd L we wnt to disinguish etween norml fonts nd monosped fontsF
deflron{7 setoxHhox{w}setoxtwdhox{i}7 54.156 ifdimwdHbwdtwdrelx 54.157 lkernEFIQemriseFPRexhox{9}kernEFIIem7 54.158 else 54.159 lriseFRSexhox tozd{kernEFQSem 9hss}7 54.160 fi} 54.161 defvron{7 54.162 setoxHhox{w}setoxtwdhox{i}7 54.163 ifdimwdHbwdtwdrelx 54.164 vriseFPRexhox tozd{kernEFPVem9hss}7 54.165 else 54.166 vriseFRSexhox tozd{kernEFRHem 9hss}7 54.167 fi}
54.154 54.155 A snitilize tive quotesF CSv i provides wy of onverting inglishEstyle quotes into lovkEstyle onesF foth single nd doule quotes re 'etedD iFeF ``text'' is onverted to something like ,,text`` nd `text' is onverted to ,text`F his onversion n e swithed on nd o' with \csprimeson nd \csprimesoffF65 hese quotes present vrious troulesD eFgF the kerning is rokenD postrophes re onverted to losing single quoteD some primitives re roken @most notly the \catcode`\ char syntx will not work ny moreAD nd writing them to .aux (les nnot e hndled orretlyF por these resonsD these ommnds re only A ville in CSv i omptiility modeF
ifxsdomptdltexrelx letsdltxprimdsprimds 54.170 defsprimeson{7 54.171 todetive tode9tive letprimdsldprimds} 54.172 defsprimesoff{7 54.173 todeIP tode9IP letprimdssdltxprimds} 54.174 egingrouptodetive 54.175 defx{endgroup 54.176 def{futureletsdnextsdopenquote} 54.177 defsdopenquote{7 54.178 ifxsdnext expndftersdopendq 54.179 else expndfterlq 54.180 fi}7 54.181 }x 54.182 egingrouptode9tive 54.183 defx{endgroup 54.184 def9{textormth{futureletsdnextsdlosequote} 54.185 {groupprimds}} 54.186 defsdlosequote{7 54.187 ifx9sdnext expndftersdlosedq
54.168 54.169
65 By
the way, the names of these macros are misleading, because the handling of primes in
math mode is rather marginal, the most important thing being the handling of quotes. . .
QIV
}x defsdopendq{lqqletsdnexta } defsdlosedq{rqqletsdnexta }
he wy s reommend for typesetting quotes in lovk douments is to use shorthnds similr to those used in qermnF
else delredshorthnd{slovk}{4}{lqq} 54.195 delredshorthnd{slovk}{49}{rqq} 54.196 delredshorthnd{slovk}{4`}{flqq} 54.197 delredshorthnd{slovk}{4b}{frqq} 54.198 fi
54.193 54.194
lqq
his is the g opening quoteD whih is similr to the qermn quote @\glqqA ut the kerning is di'erentF por the yI enodingD the quote is onstruted from the right doule quote @iFeF the ypening quotes hrterA y moving it down to the seline nd shifting it to the rightD or to the left if itli orretion is positiveF por ID the qermn ypening quotes is usedF st is moved to the right nd the totl width is enlrgedF his is done in n ttempt to minimize the di'erene etween the yI nd I versionsF
rovideextgommnd{lqq}{yI}{7 setdlowdox{textquotedlright}7 54.201 setoxdneahox{lG}dimendneawddne 54.202 setoxdneahox{l}dvnedimendneEwddne 54.203 levevmode 54.204 ifdimdimendnebzdkernEFIemoxzdkernFIem 54.205 elsekernFIemoxzdkernEFIemfillowhyphens} 54.206 rovideextgommnd{lqq}{I} 54.207 {kernFIemquotedlsekernEFHISVemrelx} 54.208 rovideextgommndhefult{lqq}{seextymol{yI}lqq}
54.199 54.200
rqq
por yID the g losing quote is silly the sme s \grqqD only the \textormath mro is not usedD euse s fr s s knowD \grqq does not work in mth mode nywyF por ID the hrter is slightly wider nd shifted to the right to mth its yI ounterprtF
lq ingle g quotes re similr to doule quotes @see the disussion oveAF rq 54.214 rovideextgommnd{lq}{yI} {setdlowdox{textquoteright}oxzdkernFHRemllowhyphens} rovideextgommnd{lq}{I} 54.217 {quotesinglsekernEFHRPVemrelx} 54.218 rovideextgommndhefult{lq}{seextymol{yI}lq} 54.219 rovideextgommnd{rq}{yI}
54.215 54.216
QIW
uv
ifxsdomptdplindundefinedelseletsdolduvarelxfi ifxsdolduvdundefined 54.226 helreoustgommnduvI{{levevmodelqq5Irqq}} 54.227 else 54.228 helreoustgommnduv{groupftergrouplosequotes 54.229 levevmodelqqletsdnexta} 54.230 deflosequotes{unskiprqqrelx} 54.231 fi
54.224 54.225
here re two versions of \uvF he older one opens group nd uses \aftergroup to typeset the losing quotesF his version llows using \verb inside the quotesD euse the enlosed text is not pssed s n rgumentD ut unfortuntely it reks ny kerning with the quotesF elthough the kerning with the opening quote ould e (xedD the kerning with the losing quote nnotF he newer version is de(ned s ommnd with one prmeterF st preserves kerning ut sine the quoted text is pssed s n rgumentD it nnot ontin \verbF heide whih version of \uv should e usedF por ske of omptiilityD we use A the older version with plin i nd the newer version with v i P F
sdwordlen
helre ounter to hold the length of the word fter the hyphenF
newountsdwordlen
54.232
sdhyphen tore the originl hyphen in mroF hitto for the ligturesF sdendsh 54.233 egingrouptodeEIP sdemdsh 54.234 defx{endgroup 54.235 defsdhyphen{E} 54.236 defsdendsh{EE} 54.237 defsdemdsh{EEE} sdoxhyphen
rovide nonErekle hyphen to e used when ompound word is too short to e splitD iFeF the seond prt is shorter thn \righthyphenminF
defsdoxhyphen{hox{E}}
54.238
sdsplithyphen
he mro \cs@splithyphen inserts split hyphenD while llowing oth prts of the ompound word to e hyphented t other ples tooF
o minimize the e'ets of tivting the hyphen hrterD the tive de(nition expnds to the nonEtive hrter in ll ses where hyphention nnot ourD iFeF if not typesetting @hek \protectAD not in horizontl modeD or in inner horizontl modeF
QPH
54.245 54.246 54.247 54.248 54.249 54.250 54.251 54.252 54.253 54.254 54.255 54.256
ifhmode ifinner ldfterelseldfterelseldfterelsesdhyphen else ldfterfildfterelseldfterelsesdfirsthyphen fi else ldfterfildfterelsesdhyphen fi else ldfterfisdhyphen fi}
sf we enounter hyphenD hek whether it is followed y seond or third hyphen nd if soD insert the orresponding ligtureF sf we don9t (nd hyphenD the token found will e pled in \cs@token for further nlysisD nd it will lso sty in the inputF
egingrouptodeEtive defx{endgroup 54.259 defsdfirsthyphen{futureletsdtokensdfirsthyphdn} 54.260 defsdfirsthyphdn{7 54.261 ifx Esdtoken 54.262 ldfterelsesdseondhyphen 54.263 else 54.264 ldfterfisdhekhyphen 54.265 fi} 54.266 defsdseondhyphen 55I{7 54.267 futureletsdtokensdseondhyphdn} 54.268 defsdseondhyphdn{7 54.269 ifx Esdtoken 54.270 ldfterelsesdemdshdgole 54.271 else 54.272 ldfterfisdendsh 54.273 fi} 54.274 }x
54.257 54.258
sdhekhyphen
ghek tht hyphention is enledD nd if soD strt nlyzing the rest of the wordD iFeF initilize \cs@word nd \cs@wordlen nd strt proessing input with \cs@scanwordF
defsdhekhyphen{7 ifnumexpndfterhyphenhrthefontaE 54.277 defsdword{}sdwordlenzd 54.278 ldfterelsesdsnword 54.279 else 54.280 sdhyphen 54.281 fi}
54.275 54.276
ih token is (rst nlyzed with \cs@scanwordD whih expnds the token nd psses the (rst token of the result to \cs@gett@kenF sf the expnded token is not identil to the unexpnded oneD presume tht it might e expnded further nd pss it k to \cs@scanword until you get n unexpndle tokenF hen nlyze it in \cs@examinetokenF
QPI
he \cs@continuescan mro does the sme thing s \cs@scanwordD ut it does not require the (rst token to e in \cs@token lredyF
defsdsnword{letsdlsttokena sdtokenexpndftersdgettoken} defsdontinuesn{letsdlsttokendundefinedexpndftersdgettoken} 54.284 defsdgettoken{futureletsdtokensdgettdken} 54.285 defsdgettdken{7 54.286 ifxsdtokensdlsttoken defsdnext{sdexminetoken}7 54.287 else defsdnext{sdsnword}7 54.288 fi sdnext}
54.282 54.283
sdexminetoken
sf it is letter @tode IIA or other @tode IPAD dd it to \cs@word with \cs@addparamF sf it is the \char primitiveD dd it with \cs@expandcharF sf the token strts or ends groupD ignore it with \cs@ignoretokenF ytherwise nlyze the mening of the token with \cs@checkchardef to detet primitives de(ned with \chardefF
defsdexminetoken{7 ift esdtoken 54.291 defsdnext{sdddprm}7 54.292 elseift Hsdtoken 54.293 defsdnext{sdddprm}7 54.294 elseifxhrsdtoken 54.295 defsdnext{fterssignmentsdexpndhrletsdtokena }7 54.296 elseifxgroupsdtoken 54.297 defsdnext{sdignoretokengroup}7 54.298 elseifxegroupsdtoken 54.299 defsdnext{sdignoretokenegroup}7 54.300 elseifxegingroupsdtoken 54.301 defsdnext{sdignoretokenegingroup}7 54.302 elseifxendgroupsdtoken 54.303 defsdnext{sdignoretokenendgroup}7 54.304 else 54.305 defsdnext{expndfterexpndfterexpndftersdhekhrdef 54.306 expndftermeningexpndftersdtokenstringhrend}7 54.307 fififififififisdnext}
54.289 54.290
sdhekhrdef
ghek the mening of token nd if it is primitive de(ned with \chardefD pss it to \\@examinechar s if it were \char sequeneF ytherwiseD there re no more word hrtersD so do the (nl tions in \cs@nosplitF
expndfterdefexpndftersdhekhrdef expndfter5expndfterIstringhr5Pend{7 54.310 defsdtoken{5I}7 54.311 ifxsdtokendempty 54.312 defsdnext{fterssignmentsdexminehrletsdtokena }7 54.313 else 54.314 defsdnext{sdnosplit}7 54.315 fi sdnext}
54.308 54.309
QPP
sdignoretoken
edd token to \cs@word ut do not updte the \cs@wordlen ounterF his is minly useful for group strting nd ending primitivesD whih need to e preservedD ut do not 'et the word oundryF
sdddprm
edd token to \cs@word nd hek its lodeF xote tht this mro n only e used for tokens whih n e pssed s prmeterF
sdexpndhr sdexminehr
edd \char sequene to \cs@word nd hek its lodeF he hrode is (rst prsed in \cs@expandchar nd then the resulting \chardefEde(ned sequene is nlyzed in \cs@examinecharF
sdhekode
ghek the lode of hrterF sf it is zeroD it does not ount to the urrent wordD so (nish it with \cs@nosplitF ytherwise updte the \cs@wordlen ounter nd go on snning the word with \cs@continuescanF hen enough hrters re gthered in \cs@word to llow word rekD insert the split hyphen nd (nishF
defsdhekode5I{7 ifnumHa5I 54.328 defsdnext{sdnosplit}7 54.329 else 54.330 dvnesdwordlendne 54.331 ifnumrighthyphenminbthesdwordlen 54.332 defsdnext{sdontinuesn}7 54.333 else 54.334 sdsplithyphen 54.335 defsdnext{sdword}7 54.336 fi 54.337 fi sdnext}
54.326 54.327
sdnosplit
54.338
sdhyphen
he \minus sequene n e used where the tive hyphen does not workD eFgF in rguments to i primitives in outer horizontl modeF
letminussdhyphen
54.339
stndrdhyphens splithyphens
hese mros ontrol whether split hyphens re llowed in gzeh ndGor lovk textsF ou my use them in ny lngugeD ut the split hyphen is only tivted for gzeh nd lovkF
defstndrdhyphens{sdsplithyphensflsesddetivtehyphens} defsplithyphens{sdsplithyphenstruesdtivtehyphens}
54.340 54.341
QPQ
sdsplitttr
xow we delre the split lnguge ttriuteF his is similr to the split pkge option of sltexD ut it only 'ets lovkD not gzehF
sdtivtehyphens sddetivtehyphens
hese mros re de(ned s \relax y defult to prevent tivtingGdetivting the hyphen hrterF hey re rede(ned when the lnguge is swithed to gzehGlovkF et tht moment the hyphen is lso tivted if split hyphens were requested with \splithyphensF hen the lnguge is deEtivtedD deEtivte the hyphen nd restore the ogus de(nitions of these mrosF
letsdtivtehyphensrelx letsddetivtehyphensrelx 54.347 expndfterddtosnme extrsgurrentyptionendsnme{7 54.348 defsdtivtehyphens{ldtivte{E}}7 54.349 defsddetivtehyphens{lddetivte{E}}7 54.350 ifsdsplithyphenssdtivtehyphensfi} 54.351 expndfterddtosnme noextrsgurrentyptionendsnme{7 54.352 sddetivtehyphens 54.353 letsdtivtehyphensrelx 54.354 letsddetivtehyphensrelx}
54.345 54.346
sdlooseness looseness
yne of the most ommon situtions where n tive hyphen will not work properly is the \looseness primitiveF ghnge its de(nition so tht it detivtes the hyphen if neededF
sdseletlnguge sdmindlnguge
peifying the nocaptions option mens tht ptions nd dtes re not redeE (ned y defultD ut they n e swithed on lter with \captionsslovak ndGor \dateslovakF e mimi this ehvior y rede(ning \selectlanguageF his mro is lled one t the eginning of the doument to set the min lnguge of the doumentF sf this is \cs@main@languageD it disles the mros for setting ptions nd dteF sn ny seD it restores the originl de(nition of \selectlanguage nd expnds itF he de(nition of \selectlanguage n e shred etween gzeh nd lovkY the tul lnguge is stored in \cs@main@languageF
ifxsdnoptionsdundefinedelse edefsdmindlnguge{gurrentyption} 54.362 ifxsdorigseletdundefined 54.363 letsdorigseletaseletlnguge 54.364 defseletlnguge{7 54.365 letseletlngugesdorigselet 54.366 ifxldmindlngugesdmindlnguge 54.367 expndftersdseletlnguge 54.368 else
54.360 54.361
QPR
sdtempdisle
\cs@tempdisable disles lnguge setup mro temporrilyD iFeF the mro with the nme of #1 \bbl@main@language just restores the originl de(nition nd purges the sved mro from memoryF
defsdtempdisle5I{7 defdtemp{sd5I}7 defdtemp{5Ildmindlnguge}7 expndfterexpndfterexpndfterlet expndfter snmeexpndfter dtemp expndfterendsnme snme dtemp endsnme expndfteredefsnme dtemp endsnme{7 let expndfternoexpnd snme dtemp endsnme expndfternoexpnd snme dtemp endsnme let expndfternoexpndsnme dtemp endsnme noexpnddundefined}}
54.375 54.376 54.377 54.378 54.379 54.380 54.381 54.382 54.383 54.384 54.385
he enoding of mthemtil fonts should e hnged to svPF his llows to use ented letter in some font fmiliesF fesidesD douments do not use gw fonts if there re equivlents in gEfontsD so there is no need to hve oth itmps of gwEfont nd gEfontF \@font@warning nd \@font@info re temporrily rede(ned to void nnoyE ing font wrningsF
ifxsdomptdplindundefined ifxsdhekdendundefinedelse 54.394 defsdhekden{ 54.395 ifxenodingdefultsdiltwd 54.396 letsdwrndfontdwrning letdfontdwrningdgole 54.397 letsdinfodfontdinfo letdfontdinfodgole 54.398 etymolpont{opertors}{norml}{sdiltwd}{mr}{m}{n} 54.399 etymolpont{opertors}{old}{sdiltwd}{mr}{x}{n} 54.400 etwthelphetmthf{norml}{sdiltwd}{mr}{x}{n} 54.401 etwthelphetmthit{norml}{sdiltwd}{mr}{m}{it} 54.402 etwthelphetmthrm{norml}{sdiltwd}{mr}{m}{n} 54.403 etwthelphetmthsf{norml}{sdiltwd}{mss}{m}{n} 54.404 etwthelphetmthtt{norml}{sdiltwd}{mtt}{m}{n} 54.405 etwthelphetmthf{old}{sdiltwd}{mr}{x}{n} 54.406 etwthelphetmthit{old}{sdiltwd}{mr}{x}{it} 54.407 etwthelphetmthrm{old}{sdiltwd}{mr}{x}{n} 54.408 etwthelphetmthsf{old}{sdiltwd}{mss}{x}{n}
54.392 54.393
QPS
54.409
etwthelphetmthtt{old}{sdiltwd}{mtt}{m}{n} letdfontdwrningsdwrn letsdwrndundefined 54.411 letdfontdinfosdinfo letsdinfodundefined 54.412 fi 54.413 letsdhekdendundefined} 54.414 etfeginhoument{sdhekden} 54.415 fi 54.416 fi
54.410 A he thing is tht v i P ore only supports the I enoding nd does not other hnging the uGlGsfodes when enoding is swithedF X@ roweverD the svP enoding does hnge these odesD so if enoding is swithed k from svPD we A must lso undo the e'et of this hnge to e omptile with v i P F yuD this is not the rightTM solution ut it worksF gheers to etr ylkF
sdundoiltwd
defsdundoiltwd{7 uodeISVaPHV lodeISVaISV 54.419 sfodeISWaIHHH 54.420 uodeITSaIQQ lodeITSaITS 54.421 uodeITWaIQU lodeITWaITW 54.422 uodeIUIaIQW lodeIUIaIUI 54.423 uodeIURaIRP lodeIURaIUR 54.424 uodeIVIaIRW 54.425 uodeIVSaISQ 54.426 uodeIVUaISS 54.427 uodeIWHaH lodeIWHaH 54.428 uodePSRaPPP lodePSRaPSR 54.429 uodePSSaPPQ lodePSSaPSS
54.417 54.418
sfodePSRaIHHH sfodePSSaIHHH}
ddendupdte
ifxsdendupdtedundefined ifxddendupdtedundefinedelse 54.432 letsdendupdteddendupdte 54.433 defddendupdte{ifxfdenodingsdiltwdsdundoiltwdfi 54.434 sdendupdte 54.435 expndfterifnumsnme ldlngugenmeendsnmeathelnguge 54.436 expndfterifx 54.437 snme ldlngugenmeXfdenodingendsnmerelx 54.438 else 54.439 expndfterexpndfterexpndfterlet 54.440 expndftersnme 54.441 expndfter lexpndfter dexpndfterlngugenme 54.442 expndfterendsnmesnme ldlngugenmeXfdenodingendsnme 54.443 fi 54.444 lngugeasnme ldlngugenmeendsnmerelx 54.445 fi} 54.446 fifi
54.430 54.431
he mro \ldf@finish tkes re of looking for on(gurtion (leD setting the min lnguge to e swithed on t \begin{document} nd resetting the tegory ode of @ to its originl vlueF
54.447 54.448
ldfdfinishgurrentyption /code
QPT
55
he (le slovene.dtx66 de(nes ll the lngugeEspei( mros for the lovenin lngugeF por this lnguge the hrter " is mde tiveF sn tle PW n overview is given of its purposeF yne of the resons for this is tht in the lovene lnguge some speil hrters re usedF
\"cD lso implemented for the lowerse nd upperE se s nd zF n expliit hyphen signD llowing hyphention in the rest of the wordF like "-D ut produing no hyphen sign @for ompund words with hyphenD eFgF x-""yAF for lovene left doule quotes @looks like AF for lovene right doule quotesF for prenh left doule quotes @similr to <<AF for prenh right doule quotes @similr to >>AF
le PWX he extr de(nitions mde y slovene.ldf he mro \LdfInit tkes re of preventing tht this (le is loded more thn oneD heking the tegory ode of the @ signD etF
55.1 55.2
code vdfsnit{slovene}ptionsslovene
hen this (le is red s n optionD iFeF y the \usepackage ommndD slovene will e n unknown9 lnguge in whih se we hve to mke it knownF o we hek for the existene of \l@slovene to see whether we hve to do something hereF
ifxldslovenedundefined dnoptterns{lovene} 55.5 dddiletldsloveneHfi
55.3 55.4
he next step onsists of de(ning ommnds to swith to the lovenin lnE gugeF he reson for this is tht user might wnt to swith k nd forth etween lngugesF
ptionsslovene
ddtoptionsslovene{7 defprefenme{redgovor}7 55.8 defrefnme{vitertur}7 55.9 defstrtnme{ovzetek}7 55.10 definme{vitertur}7 55.11 defhpternme{oglvje}7 55.12 defppendixnme{hodtek}7 55.13 defontentsnme{uzlo}7
55.6 55.7
he mro \captionsslovene de(nes ll strings used in the four stndrd douE A mentlsses provided with v iF
66 The
le described in this section has version number v1.2m and was last revised on
2005/03/31. Contributions were made by Danilo Zavrtanik, University of Ljubljana (YU) and Leon lajpah (leon.zlajpah@ijs.si).
QPU
55.14 55.15 55.16 55.17 55.18 55.19 55.20 55.21 55.22 55.23 55.24 55.25 55.26 55.27 55.28
deflistfigurenme{like}7 deflisttlenme{ele}7 defindexnme{tvrno kzlo}7 used to e sndeks deffigurenme{lik}7 deftlenme{el}7 defprtnme{hel}7 defenlnme{riloge}7 defnme{uopije}7 defhedtonme{rejme}7 defpgenme{trn}7 defseenme{glej}7 deflsonme{glej tudi}7 defproofnme{hokz}7 defglossrynme{qlossry}7 `EE xeeds trnsltion }7
dteslovene
defdteslovene{7 deftody{numerdyF~ifsemonthor 55.31 jnuror feruror mreor prilor mjor junijor 55.32 julijor vgustor septemeror oktoeror novemeror deemerfi 55.33 spe numeryer}}
55.29 55.30
extrsslovene noextrsslovene
he mro \extrasslovene performs ll the extr de(nitions needed for the loveE nin lngugeF he mro \noextrasslovene is used to nel the tions of \extrassloveneF por lovene the " hrter is mde tiveF his is done oneD lter on its de(nition my vryF yther lnguges in the sme doument my lso use the " hrter for shorthndsY we speify tht the slovenin group of shorthnds should e usedF
ddtonoextrsslovene{lddetivte{4}} }{hek s}{hek z}{hek g}{hek }{hek }{hek }} s}} z}} g}} }} }}
hen we de(ne ess to two forms of quottion mrksD similr to the germn nd frenh quottion mrksF
delredshorthnd{slovene}{4}{7 textormth{quotedlse}{mox{quotedlse}}} 55.46 delredshorthnd{slovene}{49}{7 55.47 textormth{textquotedlleft}{mox{textquotedlleft}}} 55.48 delredshorthnd{slovene}{4`}{7 55.49 textormth{guillemotleft}{mox{guillemotleft}}}
55.44 55.45
QPV
55.50 55.51
delredshorthnd{slovene}{4b}{7 textormth{guillemotright}{mox{guillemotright}}}
then we de(ne two shorthnds to e le to speify hyphention rekpoints tht ehvew little di'erent from \-F
55.52 55.53
he mro \ldf@finish tkes re of looking for on(gurtion (leD setting the min lnguge to e swithed on t \begin{document} nd resetting the tegory ode of @ to its originl vlueF
55.56 55.57
ldfdfinish{slovene} /code
QPW
56
he (le russianb.dtx67 de(nes ll the lngugeEspei( mros for the ussin lngugeF st needs the (le cyrcod for suess doumenttion with ussin enodE ings @see elowAF por this lnguge the hrter " is mde tiveF sn tle QH n overview is given of its purposeF
"| ""--"--~ "--* "" "~ "= ", "` "' "< ">
disle ligture t this positionF n expliit hyphen signD llowing hyphention in the rest of the wordF gyrilli emdsh in plin textF gyrilli emdsh in ompound nmes @surnmesAF gyrilli emdsh for denoting diret speehF like "-D ut produing no hyphen sign @for ompund words with hyphenD eFgF x-""y or some other signs s disleGenleAF for ompound word mrk without rekpointF for ompound word mrk with rekpointD llowE ing hyphention in the omposing wordsF thinspe for initils with rekpoint in following surnmeF for qermn left doule quotes @looks like DDAF for qermn right doule quotes @looks like AF for prenh left doule quotes @looks like < AF < for prenh right doule quotes @looks like > AF >
le QHX he extr de(nitions mde y russianb he quotes in tle QH n lso e typeset y using the ommnds in tle QIF
gyrilli emdsh in plin textF gyrilli emdsh in ompound nmes @surnmesAF gyrilli emdsh for denoting diret speehF for qermn left doule quotes @looks like DDAF for qermn right doule quotes @looks like AF for prenh left doule quotes @looks like < AF < for prenh right doule quotes @looks like > AF > the originl quotes hrter @"AF
le QIX wore ommnds whih produe quotesD de(ned y babel he prenh quotes re lso ville s ligtures <<9 nd >>9 in VEit gyrilli font enodings @LCYD X2D T2*A nd s <9 nd >9 hrters in UEit gyrilli font enodings @OT2 nd LWNAF
german.sty, which has some denitions for Russian. A E Later the denitions from russian.sty version 1.0b (for L T X 2.09), russian.sty version v2.5c A E (for L T X 2 ) and francais.sty version 4.5c and germanb.sty version 2.5c were added.
initially derived from the original version of
67 The le described in this section has version number ? and was last revised on ?.
QQH
he quottion mrks trditionlly used in ussin were orrowed from other lnguges @eFgFD prenh nd qermnA so they keep their originl nmesF he mro \LdfInit tkes re of preventing tht this (le is loded more thn oneD heking the tegory ode of the @ signD etF
56.1 56.2
code vdfsnit{russin}{ptionsrussin}
hen this (le is red s n optionD iFeFD y the \usepackage ommndD russianb will e n unknown9 lngugeD in whih se we hve to mke it knownF o we hek for the existene of \l@russian to see whether we hve to do someE thing hereF
ifxldrussindundefined dnoptterns{ussin} 56.5 dddiletldrussinH 56.6 fi
56.3 56.4
ltinenoding
e need to know the enoding for text tht is supposed to e whih is tive t the end of the babel pkgeF sf the fontenc pkge is loded lterD thenF F F too d3
56.7
letltinenodingfdenoding
he user my hoose etween di'erent ville gyrilli enodings"eFgFD X2D LCYD or LWNF ropefullyD X2 will eventully reple the two ltter enodings @LCY nd LWNAF sf the user wnts to use nother font enoding thn the defult @T2AAD he hs to lod the orresponding (le before russianb.styF his my e done in the following wyX
7 override the defult P enoding used in fel usepkgevgDyI{fonten} usepkgeenglishDrussin{el}
xoteX for the ussin lngugeD the T2A enoding is etter thn X2D euse X2 does not ontin vtin lettersD nd users should e very reful to swith the lnguge every time they wnt to typeset vtin word inside ussin phrse or vie versF A e prse the \cdp@list ontining the enodings known to v i in the order they were lodedF e set the \cyrillicencoding to the last loded enoding in the list of supported gyrilli enodingsX OT2D LWND LCYD X2D T2CD T2BD T2AD if nyF
defreservedd5I5P{7 edefreservedd{5I}7 56.10 edefreservedd{5P}7 56.11 ifxreserveddreservedd 56.12 letyrillienodingreservedd 56.13 fi} 56.14 defdpdelt5I5P5Q5R{7 56.15 reservedd{5I}{yP}7 56.16 reservedd{5I}{vx}7 56.17 reservedd{5I}{vg}7 56.18 reservedd{5I}{P}7 56.19 reservedd{5I}{Pg}7 56.20 reservedd{5I}{Pf}7 56.21 reservedd{5I}{Pe}} 56.22 dpdlist
56.8 56.9
QQI
xowD if \cyrillicencoding is unde(nedD then the user did not lod ny of supported enodingsF oD we hve to set \cyrillicencoding to some defult vlueF e test the presene of the enoding de(nition (les in the order from less preferle to more preferle enodingsF e use the lowerse nmes @iFeFD lcyenc.def insted of LCYenc.defAF
ifxyrillienodingundefined sfpileixists{otPenFdef}{defyrillienoding{yP}}relx 56.25 sfpileixists{lwnenFdef}{defyrillienoding{vx}}relx 56.26 sfpileixists{lyenFdef}{defyrillienoding{vg}}relx 56.27 sfpileixists{xPenFdef}{defyrillienoding{P}}relx 56.28 sfpileixists{tPenFdef}{defyrillienoding{Pg}}relx 56.29 sfpileixists{tPenFdef}{defyrillienoding{Pf}}relx 56.30 sfpileixists{tPenFdef}{defyrillienoding{Pe}}relx
56.23 56.24
sf \cyrillicencoding is still unde(nedD then the user seems not to hve properly instlled distriutionF e ftl errorF
56.31 56.32 56.33 56.34 56.35 56.36 56.37 56.38 56.39 56.40
ifxyrillienodingundefined kgeirror{el}7 {xo gyrilli enoding definition files were found}7 {our instlltion is inompleteFwessgefrek ou need t lest one of the following filesXwessgefrek spespe xPenFdefD tPenFdefD tPenFdefD tPenFdefDwessgefrek spespe lyenFdefD lwnenFdefD otPenFdefF}7 else
kgesnfo{el} {sing yrillienoding9 s defult gyrilli enoding}7 helreoustgommnd{ussin}{7 fontenodingyrillienodingseletfont 56.47 letenodingdefultyrillienoding 56.48 expndftersetdhyphenminsrussinhyphenmins 56.49 lngugeldrussin}7 56.50 helreoustgommnd{inglish}{7 56.51 fontenodingltinenodingseletfont 56.52 letenodingdefultltinenoding 56.53 expndftersetdhyphenminsenglishhyphenmins 56.54 lngugeldenglish}7 56.55 letusussin 56.56 letinginglish 56.57 letyrillitextussin 56.58 letyrussin
56.45 56.46
ine the X2 enoding does not ontin vtin lettersD we should mke some A rede(nitions of v i mros whih impliitly produe vtin lettersF QQP
56.59
expndfterifxsnme dPendsnmerelxelse
e put \latinencoding in res to void prolems with \@alph inside miniE pges @eFgFD footnotes inside minipgesA where \@alph is expnded nd we get for exmple \fontencoding OT19 @\fontencoding is roustAF
56.60 56.61 56.62 56.63 56.64 56.65 56.66 56.67 56.68 56.69 56.70 56.71
defdlph5I{{fontenoding{ltinenoding}seletfont ifse5Ior or or or dor eor for gor hor ior jor kor lor mor nor oor por qor ror sor tor uor vor wor xor yor zelsedtrerrfi}}7 defdelph5I{{fontenoding{ltinenoding}seletfont ifse5Ior eor for gor hor ior por qor ror sor tor uor vor wor xor yor or or or or or or or or or or elsedtrerrfi}}7
nfortuntelyD the ommnds \AA nd \aa re not enoding dependent in A v i @unlike eFgFD \oe or \DHAF hey re de(ned s \r{A} nd \r{a}F his leds to unpreditle results when the font enoding does not ontin the vtin letters e9 nd 9 @like X2AF
helreextymolhefult{ee}{yI} helreextymolhefult{}{yI} 56.74 helreextgommnd{}{yI}{r } 56.75 helreextgommnd{ee}{yI}{r e} 56.76 fi
56.72 56.73
he following lok rede(nes the hrter lss of upperse qreek letters nd some entsD if it is equl to U @vrile fmilyAD to void inorret results if the font enoding in some mth fmily does not ontin these hrters in ples of yI enodingF he ode ws tken from amsmath.dtxF ee omments nd further explntion thereF
7 7 56.79 7 56.80 7 56.81 7 56.82 7 56.83 7 56.84 7 56.85 7 56.86 7 56.87 7 56.88 7 56.89 7 56.90 7 56.91 7 56.92 7 56.93 7 56.94 7 56.95 7 56.96 7 56.97 7
56.77 56.78
egingrouptode4aIP 7 upperse greek lettersX defdtemp5I{expndfterdtempmening5Irelxrelxrelxrelx 4HHHHdnil5I} defdtemp5I45P5Q5R5S5Tdnil5U{7 ifnum45PaU ountd4I5Q5R5Srelx ifnumountd`4IHHH else glolmthhrdef5Ua4H5Q5R5Srelx fi fi} dtempqmmdtempheltdtemphetdtempvmddtempi dtempidtempigmdtemppsilondtemphidtempsi dtempymeg 7 some entsX defdtemp5I5Pdnil{defdtemp{5I}}defdtemp{mthent} expndfterdtemphtrelxrelxdnil ifxdtempdtemp defdtemp5Idnil{5I}7 defdtemp5I{fterssignmentdtempmthhrdefdtempa}7 defdo5I45P{} defdtempd5I{expndfterdtemp5Idnil ifnumdtempb4ppp xdef5I{mthent4expndfterdomeningdtempspe}7
QQQ
he user should use the inputenc pkge when ny VEit gyrilli font enodE ing is usedD seleting one of the gyrilli input enodingsF e do not ssume ny defult input enodingD so the user should expliitly ll the inputenc pkge y \usepackage{inputenc}F e lso removed \AtBeginDocumentD so inputenc should e used efore babelF
difpkgeloded{inputen}{}{7 defreservedd{vx}7 56.105 ifxreserveddyrillienodingelse 56.106 defreservedd{yP}7 56.107 ifxreserveddyrillienodingelse 56.108 kgerning{el}7 56.109 {xo input enoding speified for ussin lnguge} 56.110 fifi}
56.103 56.104
xow we de(ne two ommnds tht o'er the possiility to swith etween gyrilli nd omn enodingsF
yrillitext ltintext
he ommnd \cyrillictext will swith from vtin font enoding to the gyrilli font enodingD the ommnd \latintext swithes kF his ssumes tht the norml9 font enoding is vtin oneF hese ommnds re declarationsD for shorter pees of text the ommnds \textlatin nd \textcyrillic n e usedF
textyrilli textltin
hese ommnds tke n rgument whih is then typeset using the requested font enodingF
helreextpontgommnd{textyrilli}{yrillitext} 7helreextpontgommnd{textltin}{ltintext} 7ifxltxeundefinedletltxeefi 7rovideextgommndhefult{e}{textltin{ltxe}} 7ifxltxveundefinedletltxvevefi 7rovideextgommndhefult{ve}{textltin{ltxve}}
56.115 56.116
e mke the i
56.117 56.118
he next step onsists of de(ning ommnds to swith to @nd fromA the usE sin lngugeF
ptionsrussin
he mro \captionsrussian de(nes ll strings used in the four stndrd doE A ument lsses provided with v iF he two ommnds \cyr nd \lat tivte gyrilli respF vtin enodingF
ddtoptionsrussin{7 7 pswiX here is the prefenme usedc
56.121 56.122
QQR
56.123 56.124 56.125 56.126 56.127 56.128 56.129 56.130 56.131 56.132 56.133 56.134
7 7
7 7
defprefenme{7 {yrgyrryreyrdyriyrsyrlyroyrvyriyre}}7 {yrgyrvyreyrdyreyrnyriyre}}7 defrefnme{7 {yrgyrpyriyrsyroyrk yrlyriyrtyreyrryryrtyruyrryrery}}7 defrefnme{7 {yrgvyriyrtyreyrryryrtyruyrryr}}7 defstrtnme{7 {yrgeyrnyrnyroyrtyryryriyry}}7 definme{7 {yrgvyriyrtyreyrryryrtyruyrryr}}7 definme{7 {yrgfyriyryrlyriyro yrgyrryryrfyriyry}}7 for reports ording to qyX definme{7 {yrgyrpyriyrsyroyrk yriyrsyrpyroyrlyrsftsnyrzyroyrvyryrn yrnyreryyrh yriyrsyrtyroyrhyrnyri yrkyroyrv}}7 defhpternme{{yrgqyrlyryrvyr}}7 difundefined{hpter}{}{7 defhpternme{{yrgqyrlyryrvyr}}}7 defppendixnme{7 {yrgyrryriyrlyroyrzhyreyrnyriyre}}7
here re two nmes for the le of gontents tht re used in ussin puE litionsF por ooks @nd reportsA the seond vrint is ppropriteD ut for proE eedings the (rst vrint is preferredX
difundefined{thehpter}7 {defontentsnme{7 56.151 {yrgyroyrdyreyrryrzhyryrnyriyre}}}7 56.152 {defontentsnme{7 56.153 {yrgyyrgyrlyryrvyrlyreyrnyriyre}}}7 56.154 deflistfigurenme{7 56.155 {yrgyrpyriyrsyroyrk 56.156 yriyrlyrlyryuyrsyrtyrryryryriyrishrt}}7 56.157 7 deflistfigurenme{7 56.158 7 {yrgyrpyriyrsyroyrk 56.159 7 yrryriyrsyruyrnyrkyroyrv}}7 56.160 deflisttlenme{7 56.161 {yrgyrpyriyrsyroyrk 56.162 yrtyryryrlyriyr}}7 56.163 defindexnme{7 56.164 {yrgyrryreyrdyrmyreyrtyrnyreryyrishrt 56.165 yruyrkyryrzyryrtyreyrlyrsftsn}}7 56.166 defuthornme{7 56.167 {yrgsyrmyreyrnyrnyroyrishrt 56.168 yruyrkyryrzyryrtyreyrlyrsftsn}}7 56.169 deffigurenme{{yrgyriyrsF}}7 56.170 deftlenme{{yrgyryryrlyriyryr}}7 56.171 defprtnme{{yrggryryrsyrtyrsftsn}}7 56.172 defenlnme{{yryrvyrkyrlF}}7
56.149 56.150
QQS
defnme{{yryriyrsyrhF}}7 7 defnme{{yryriyrz}}7 56.175 defhedtonme{{yryrvyrhF}}7 56.176 7 defhedtonme{{yryrv}}7 56.177 defpgenme{{yryrsF}}7 56.178 7 defpgenme{{yryrsyrtyrrF}}7 56.179 defseenme{{yryrsyrmF}}7 56.180 deflsonme{{yryrsyrmF yrtyryrkyrzhyre}}7
56.173 56.174 56.181 56.182 56.183 56.184
dterussin
defdterussin{7 deftody{numerdy~ifsemonthor 56.187 yryyrnyrvyryrryryor 56.188 yrfyreyrvyrryryrlyryor 56.189 yrmyryrryrtyror 56.190 yryrpyrryreyrlyryor 56.191 yrmyryryor 56.192 yriyryuyrnyryor 56.193 yriyryuyrlyryor 56.194 yryrvyrgyruyrsyrtyror 56.195 yrsyreyrnyrtyryyryrryryor 56.196 yroyrkyrtyryyryrryryor 56.197 yrnyroyryyryrryryor 56.198 yrdyreyrkyryryrryryfi 56.199 numeryer~yrgF}}
56.185 56.186
extrsrussin
he mro \extrasrussian will perform ll the extr de(nitions needed for the ussin lngugeF he mro \noextrasrussian is used to nel the tions of \extrasrussianF he (rst tion we de(ne is to swith on the seleted gyrilli enoding whenever we enter russin9F
ddtoextrsrussin{yrillitext}
A hen the enoding de(nition (le ws proessed y v i the urrent font A enoding is stored in \latinencodingD ssuming tht v i uses T1 or OT1 s defultF herefore we swith k to \latinencoding whenever the ussin lnE guge is no longer tive9F
56.200
56.201
ddtonoextrsrussin{ltintext}
vertimdfont
sn order to get oth vtin nd gyrilli letters in vertim text we need to hnge A the de(nition of n internl v i ommnd somewhtX
7defvertimdfont{7 7 letenodingdefultltinenoding 56.204 7 normlfontttfmily 56.205 7 expndfterdefsnmeyrillienodingEmdendsnme55I55P{7 56.206 7 ifxprotetdtypesetdprotet 56.207 7 egingroupseextymolyrillienoding55Iendgroup 56.208 7 elsenoexpnd55Ifi}}
56.202 56.203
QQT
he tegory ode of the hrters :9D ;9D !9D nd ?9 is mde \active to insert little white speF por ussin @s well s for qermnA the " hrter lso is mde tiveF xoteX st is very questionle whether the ussin typesetting trdition reE quires dditionl sping efore those puntution signsF hereforeD we mke the orresponding ode optionlF sf you need itD then de(ne the frenchpunct dostrip option in babel.insF forrowed from frenhF ome users dislike utomti insertion of spe efore doule puntution9D nd prefer to deide themselves whether spe should e dded or notY so hook \NoAutoSpaceBeforeFDP is providedX if this ommnd is dded @in (le russianb.cfgD or nywhere in doumentA russianb will respet your typingD nd introdue suitle spe efore doule puntution9 if and only if spe is typed in the soure (le efore those signsF he ommnd \AutoSpaceBeforeFDP swithes k to the defult ehvior of russianbF
frenchpunct \initiate@active@char{:} 56.211 \initiate@active@char{;} 56.212 /frenchpunct 56.213 frenchpunct | spanishligs 56.214 \initiate@active@char{!} 56.215 \initiate@active@char{?} 56.216 /frenchpunct | spanishligs 56.217 inititedtivedhr{4}
56.209 56.210
he ode ove is neessry euse we need extr tive hrtersF he hrter " is used s indited in tle QHF e speify tht the ussin group of shorthnds should e usedF
56.218
ddtoextrsrussin{lngugeshorthnds{russin}}
he X2 nd T2* enodings do not ontin spanish_shriek nd spanish_query symolsY s onsequeneD the ligtures ?`9 nd !`9 do not work with them @these hrters re useless for gyrilli texts nywyAF fut we de(ne the shorthnds to emulte these ligtures @optionllyAF e do not use \latinencoding here @ut insted expliitly use OT1A euse the user my hoose T2A to e the primry enodingD ut it does not ontin these hrtersF
spanishligs \declare@shorthand{russian}{?`}{\UseTextSymbol{OT1}\textquestiondown} 56.229 \declare@shorthand{russian}{!`}{\UseTextSymbol{OT1}\textexclamdown} 56.230 /spanishligs
56.227 56.228
QQU
russindshdYd e hve to redue the mount of white spe efore ;D : nd !F his should only russindshdXd hppen in horizontl modeD hene the test with \ifhmodeF russindshd3d 56.231 frenchpunct russindshdcd 56.232 \declare@shorthand{russian}{;}{% 56.233 \ifhmode
sn horizontl mode we hek for the presene of spe9D unskip9 if it exists nd ple 0.1em kerningF
56.234 56.235 56.236
sf no spe hs een typedD we dd \FDP@thinspace whih will e de(nedD up to the user9s wishesD s n utomti dded thinspeD or s \@emptyF
56.237 56.238 56.239
\fi \fi
\FDP@thinspace
\string;}
\declare@shorthand{russian}{!}{% \ifhmode 56.252 \ifdim\lastskip>\z@ 56.253 \unskip\nobreak\kern.1em 56.254 \else 56.255 \FDP@thinspace 56.256 \fi 56.257 \fi 56.258 \string!}
56.250 56.251
\declare@shorthand{russian}{?}{% \ifhmode 56.261 \ifdim\lastskip>\z@ 56.262 \unskip\nobreak\kern.1em 56.263 \else 56.264 \FDP@thinspace 56.265 \fi 56.266 \fi 56.267 \string?}
56.259 56.260
QQV
\FDP@thinspace is de(ned s unrekle spes if \AutoSpaceBeforeFDP is tivted or s \@empty if \NoAutoSpaceBeforeFDP is in useF he defult is \AutoSpaceBeforeFDPF
phon he next mros llow to swith onGo' tiveness of doule puntution signsF phoff 56.272 \def\FDPon{\bbl@activate{:}% \bbl@activate{;}% \bbl@activate{?}% 56.275 \bbl@activate{!}} 56.276 \def\FDPoff{\bbl@deactivate{:}% 56.277 \bbl@deactivate{;}% 56.278 \bbl@deactivate{?}% 56.279 \bbl@deactivate{!}}
56.273 56.274
systemdshdXd hen the tive hrters pper in n environment where their ussin eE systemdshd3d hviour is not wnted they should give n expeted9 resultF herefore we de(ne systemdshdcd shorthnds t system level s wellF systemdshdYd 56.280 \declare@shorthand{system}{:}{\string:} \declare@shorthand{system}{;}{\string;} /frenchpunct 56.283 frenchpunct&!spanishligs 56.284 \declare@shorthand{system}{!}{\string!} 56.285 \declare@shorthand{system}{?}{\string?} 56.286 /frenchpunct&!spanishligs
56.281 56.282
e sve the originl doule quote hrter in \dq to keep it villeD the mth ent \" n now e typed s "9F
xow we n de(ne the doulequote mrosX germn nd frenh quotesF e use de(nitions of these quotes mde in elFstyF he frenh quotes re ontined in the T2* enodingsF
delredshorthnd{russin}{4}{glqq} delredshorthnd{russin}{49}{grqq} 56.294 delredshorthnd{russin}{4`}{flqq} 56.295 delredshorthnd{russin}{4b}{frqq}
56.292 56.293
QQW
he next two mros for "- nd "--- re somewht di'erentF e must hek whether the seond token is hyphen hrterX
56.302
delredshorthnd{russin}{4E}{7
i looks for the next token fter the (rst -9X the mening of this token is written to \russian@sh@next nd \russian@sh@tmp is lledF
56.307
futureletrussindshdnextrussindshdtmp}
defrussindshdhyphen{7 norekEldllowhyphens}
por the emdsh de(nitionD there re the two prmetersX we must et9 two lst hyphen signs of our emdshF F F X
56.310
defrussindshdemdsh5I5P{dshE5I5P}
dsh
7ifxdshundefined 7 should e defined erlier defdsh5I5P5Q{deftempxd{5Q}7 56.313 deftempd{E}deftempd{~}deftempd{B}7 56.314 ifxtempxdtempddedshelse 56.315 ifxtempxdtempddfdshelse 56.316 ifxtempxdtempddgdshelse 56.317 errmessge{rong usge of dsh}fififi}
56.311 56.312
seond prmeter @or third for \cdashA shows wht kind of emdsh to rete in next step
"---
ordinry @plinA gyrilli emdsh inside textX n unrekle thinspe will e inserted efore only in se of space efore the dsh @it is neessry for dshes fter disply mths formuleX there ould e listsD enumertions etF strted with " where a is FFF iFeFD the dsh strts lineAF @pirstly there were plnned rther soft rules for userX he my put spe efore the dsh or notF fut it is di0ult to ple this thinspe utomtillyD iFeFD y heking modes euse fter disply formule i uses horizontl modeF wye there is misunderstndingc wye there is nother wycA efter dsh rekle thinspe is lwys pledY
"--~
emdsh in ompound nmes or surnmes @like wendeleev!ulpeironAY this dsh hs no spe hrters roundY fter the dsh some spe is dded \exhyphenalty QRH
56.321 56.322
defdfdsh{levevmodeifdimlstskipbzdunskipfi norekyrdshpenltyexhyphenpenltyhskipzdskipignorespes}7
"--*
56.323 56.324
for denoting diret speeh @ spe like \enskip must follow the emdshAY
pinlly the mro for ody of the gyrilli emdshF he \cyrdash mro will e de(ned in se this mro hsn9t een de(ned in fonten (leF por PB fontsD yrdsh will e pled in the ode of the inglish emdsh thus it uses ligture ---F
rere relly new mro"to ple thinspe etween initilsF his mro used insted of \, llows hyphention in the following surnmeF
56.330
delredshorthnd{russin}{4D}{norekhskipFPemignorespes}
mdqon ell tht9s left to do now is to de(ne ouple of ommnds for "F mdqoff 56.331 defmdqon{ldtivte{4}} 56.332 defmdqoff{lddetivte{4}}
xow the tion \extrasrussian hs to exeute is to mke sure tht the ommnd \frenchspacing is in e'etF sf this is not the se the exeution of \noextrasrussian will swith it o' ginF
56.338 56.339
ddtoextrsrussin{ldfrenhsping} ddtonoextrsrussin{ldnonfrenhsping}
xext we dd new enumertion style for ussin mnusripts with gyrilli lettersD nd lter on we de(ne some mth opertor nmes in ordne with ussin typesetting trditionsF
esuk
e egin y de(ning \Asbuk whih works like \AlphD ut produes @upperseA gyrilli letters inted of vtin onesF he letters yD srD rhxD iD nd px re skippedD s usul for suh enumertionF
defesuk5I{expndfterdesuksnme d5Iendsnme} defdesuk5I{ifse5Ior 56.342 georgforgorgqorghorgiorgror 56.343 gorgsorguorgvorgworgxorgyor 56.344 gorgorgorgorgorgporgror 56.345 ggorggrorgrorgrgrorgiiorgor 56.346 geelsedtrerrfi}
56.340 56.341
QRI
suk
defsuk5I{expndfterdsuksnme d5Iendsnme} defdsuk5I{ifse5Ior 56.349 yroryroryrvoryrgoryrdoryreoryrzhor 56.350 yrzoryrioryrkoryrloryrmoryrnoryroor 56.351 yrporyrroryrsoryrtoryruoryrforyrhor 56.352 yroryrhoryrshoryrshhoryrerevoryryuor 56.353 yryelsedtrerrfi}
56.347 56.348
et up defult gyrilli mth lphetsF o use gyrilli letters in mth mode user should lod the textmath pkge before loding fonten pkge @or babelAF xoteD tht y defult gyrilli letters re tken from upright font in mth mode @unlike vtin lettersAF
7equirekge{textmth} difundefined{symyrillienoding letters}{}{7 56.356 etymolpont{yrillienoding letters}{old}yrillienoding 56.357 rmdefultfdefultupdefult 56.358 helreymolpontelphetyrmthrm{yrillienoding letters}
56.354 56.355
ome mth funtions in ussin mth ooks hve other nmesX eFgFD sinh in ussin is written s sh etF o we de(ne numer of new mth opertorsF \sinhX
56.373
defsh{mthop{opertordfont sh}nolimits} defh{mthop{opertordfont h}nolimits} deftg{mthop{opertordfont tg}nolimits} defrtg{mthop{opertordfont rtg}nolimits} defrtg{mthop{opertordfont rtg}nolimits}
\coshX
56.374
\tanX
56.375
\arctanX
56.376
rtgX
56.377
ddtoextrsrussin{7 eldsve{th}7
QRP
letltxdthth defth{textormth{ltxdth}7 {mthop{opertordfont th}nolimits}}7 } deftg{mthop{opertordfont tg}nolimits} defth{mthop{opertordfont th}nolimits} defose{mthop{opertordfont ose}nolimits}
\cotX
56.384
\cothX
56.385
\cscX
56.386
he mro \ldf@finish tkes re of looking for on(gurtion (leD setting the min lnguge to e swithed on t \begin{document} nd resetting the tegory ode of @ to its originl vlueF
56.396 56.397
ldfdfinish{russin} /code
QRQ
57
he (le bulgarian.dtx68 provides the lngugeEspei( mros for the fulgrin lngugeF sers should tke note of the vious yrilli dshes ville now @see elowAF hese should remove mny uses of hedheF elsoD lthough y defult the fulE grin quottion mrks will pper utomtilly when typesetting in fulgrinD it is etter to use the new ommnds \"' nd \"' whih expliitly typeset themF xoteX utomti swith to fulgrin quottion is withdrwn for the moment nd my not e reintrodued t llF por this lnguge the hrter " is mde tiveF sn tle QP n overview is given of its purposeF
"| ""--"--~ "--* "" "~ "= ", "` "' "< ">
disle ligture t this positionF n expliit hyphen signD llowing hyphention in the rest of the wordF gyrilli emdsh in plin textF gyrilli emdsh in ompound nmes @surnmesAF gyrilli emdsh for denoting diret speehF like "-D ut produing no hyphen sign @for ompound words with hyphenD eFgF x-""y or some other signs s disleGenleAF for ompound word mrk without rekpointF for ompound word mrk with rekpointD llowE ing hyphention in the omposing wordsF thinspe for initils with rekpoint in following surnmeF for qermn left doule quotes @looks like DDAF for qermn right doule quotes @looks like AF for prenh left doule quotes @looks like < AF < for prenh right doule quotes @looks like > AF >
le QPX he extr de(nitions mde ybulgarian he quotes in tle QP n lso e typeset y using the ommnds in tle QQF he prenh quotes re lso ville s ligtures <<9 nd >>9 in VEit gyrilli font enodings @LCYD X2D T2*A nd s <9 nd >9 hrters in UEit gyrilli font enodings @OT2 nd LWNAF he quottion mrks trditionlly used in fulgrin were orrowed from qerE mn o they keep their originl nmesF prenh quottion mrks my e seen s well in older ooksF he mro \LdfInit tkes re of preventing tht this (le is loded more thn oneD heking the tegory ode of the @ signD etF
57.1 57.2
code vdfsnit{ulgrin}{ptionsulgrin}
le described in this section has version number ? and was last revised on ?. This le
68 The
russianb.dtx.
It is (reasonably) backward compatible with the 1994/1996 (non-babel) bulgarian style (bulgaria.sty) by Georgi Boshnakovles prepared for that style should compile successfully (with vastly improved appearance due to usage of standard fonts).
QRR
gyrilli emdsh in plin textF gyrilli emdsh in ompound nmes @surnmesAF gyrilli emdsh for denoting diret speehF for qermn left doule quotes @looks likeDDAF for qermn right doule quotes @looks like AF for prenh left doule quotes @looks like < AF < for prenh right doule quotes @looks like > AF > the originl quotes hrter @"AF
hen this (le is red s n optionD iFeFD y the \usepackage ommndD bulgarian will e n unknown9 lngugeD in whih se we hve to mke it knownF o we hek for the existene of \l@bulgarian to see whether we hve to do something hereF
ifxldulgrindundefined dnoptterns{fulgrin} 57.5 dddiletldulgrinH 57.6 fi
57.3 57.4
ltinenoding
e need to know the enoding for text tht is supposed to e whih is tive t the end of the babel pkgeF sf the fontenc pkge is loded lterD then F F F too d3
57.7
letltinenodingfdenoding
he user my hoose etween di'erent ville gyrilli enodings"eFgFD X2D LCYD or LWNF sf the user wnts to use font enoding other thn the defult @T2AAD he hs to lod the orresponding (le before bulgarian.styF his my e done in the following wyX
usepkgevgDyI{fonten} 7overwrite the defult enodingY usepkgeenglishDulgrin{el}
xoteX most people would prefer the T2A to X2D euse X2 does not ontin vtin lettersD nd users should e very reful to swith the lnguge every time they wnt to typeset vtin word inside fulgrin phrse or vie versF yn the other hndD swithing the lnguge is good prtie nywyF ith deent text proessing progrm it does not involve more work thn swithing etween the fulgrin nd inglish keyordF woreover tht the fr most ommon disruption ours s result of forgetting to swith k to yrilli keyordF A e prse the \cdp@list ontining the enodings known to v i in the order they were lodedF e set the \cyrillicencoding to the last loded enoding in the list of supported gyrilli enodingsX OT2D LWND LCYD X2D T2CD T2BD T2AD if nyF
defreservedd5I5P{7 edefreservedd{5I}7 57.10 edefreservedd{5P}7 57.11 ifxreserveddreservedd 57.12 letyrillienodingreservedd 57.13 fi}
57.8 57.9
QRS
defdpdelt5I5P5Q5R{7 reservedd{5I}{yP}7 57.16 reservedd{5I}{vx}7 57.17 reservedd{5I}{vg}7 57.18 reservedd{5I}{P}7 57.19 reservedd{5I}{Pg}7 57.20 reservedd{5I}{Pf}7 57.21 reservedd{5I}{Pe}} 57.22 dpdlist
57.14 57.15
xowD if \cyrillicencoding is unde(nedD then the user did not lod ny of supported enodingsF oD we hve to set \cyrillicencoding to some defult vlueF e test the presene of the enoding de(nition (les in the order from less preferle to more preferle enodingsF e use the lowerse nmes @iFeFD lcyenc.def insted of LCYenc.defAF
ifxyrillienodingundefined sfpileixists{otPenFdef}{defyrillienoding{yP}}relx 57.25 sfpileixists{lwnenFdef}{defyrillienoding{vx}}relx 57.26 sfpileixists{lyenFdef}{defyrillienoding{vg}}relx 57.27 sfpileixists{xPenFdef}{defyrillienoding{P}}relx 57.28 sfpileixists{tPenFdef}{defyrillienoding{Pg}}relx 57.29 sfpileixists{tPenFdef}{defyrillienoding{Pf}}relx 57.30 sfpileixists{tPenFdef}{defyrillienoding{Pe}}relx
57.23 57.24
sf \cyrillicencoding is still unde(nedD then the user seems not to hve properly instlled distriutionF e ftl errorF
ifxyrillienodingundefined kgeirror{el}7 57.33 {xo gyrilli enoding definition files were found}7 57.34 {our instlltion is inompleteF wessgefrek 57.35 ou need t lest one of the following filesX wessgefrek 57.36 spespe 57.37 xPenFdefD tPenFdefD tPenFdefD tPenFdefD wessgefrek 57.38 spespe 57.39 lyenFdefD lwnenFdefD otPenFdefF}7 57.40 else
57.31 57.32
lowerse expndfter{expndfterinputyrillienoding enFdefrelx}7 57.43 fi 57.44 fi kgesnfo{el} {sing yrillienoding9 s defult gyrilli enoding}7 helreoustgommnd{fulgrin}{7 fontenodingyrillienodingseletfont 57.47 letenodingdefultyrillienoding 57.48 expndftersetdhyphenminsulgrinhyphenmins 57.49 lngugeldulgrin} 57.50 helreoustgommnd{inglish}{7
57.45 57.46
QRT
fontenodingltinenodingseletfont letenodingdefultltinenoding 57.53 expndftersetdhyphenminsenglishhyphenmins 57.54 lngugeldenglish} 57.55 letfulfulgrin 57.56 letfgfulgrin 57.57 letyrillitextfulgrin 57.58 letyrfulgrin 57.59 letinginglish 57.60 defseletenglnguge{seletlnguge{english}} 57.61 defseletglnguge{seletlnguge{ulgrin}}
57.51 57.52
ine the X2 enoding does not ontin vtin lettersDwe should mke some A rede(nitions of v i mros whih impliitly produe vtin lettersF
57.62
expndfterifxsnme dPendsnmerelxelse
e put \latinencoding in res to void prolems with \@alph inside miniE pges @eFgFD footnotes inside minipgesA where \@alph is expnded nd we get for exmple \fontencoding OT19 @\fontencoding is roustAF
57.63 57.64 57.65 57.66 57.67 57.68 57.69 57.70 57.71 57.72
defdelphdeng5I{{fontenoding{ltinenoding}seletfont ifse5Ior eor for gor hor ior por qor ror sor tor uor vor wor xor yor or or or or or or or or or or else dtrerrfi}}7 defdlphdeng5I{{fontenoding{ltinenoding}seletfont ifse5Ior or or or dor eor for gor hor ior jor kor lor mor nor oor por qor ror sor tor uor vor wor xor yor zelse dtrerrfi}}7 letdelphdelphdeng letdlphdlphdeng
nfortuntelyD the ommnds \AA nd \aa re not enoding dependent in A v i @unlike eFgFD \oe or \DHAF hey re de(ned s \r{A} nd \r{a}F his leds to unpreditle results when the font enoding does not ontin the vtin letters e9 nd 9 @like X2AF
helreextymolhefult{ee}{yI} helreextymolhefult{}{yI} 57.75 helreextgommnd{ee}{yI}{r e} 57.76 helreextgommnd{}{yI}{r } 57.77 fi
57.73 57.74
he following lok rede(nes the hrter lss of upperse qreek letters nd some entsD if it is equl to U @vrile fmilyAD to void inorret results if the font enoding in some mth fmily does not ontin these hrters in ples of yI enodingF he ode ws tken from amsmath.dtxF ee omments nd further explntion thereF
egingrouptode4aIP 7 upperse greek lettersX 57.80 defdtemp5I{expndfterdtempmening5Irelxrelxrelxrelx 57.81 4HHHHdnil5I} 57.82 defdtemp5I45P5Q5R5S5Tdnil5U{7 57.83 ifnum45PaU ountd4I5Q5R5Srelx 57.84 ifnumountd`4IHHH else glolmthhrdef5Ua4H5Q5R5Srelx fi 57.85 fi}
57.78 57.79
QRU
dtempqmmdtempheltdtemphetdtempvmddtempi dtempidtempigmdtemppsilondtemphidtempsi 57.88 dtempymeg 57.89 7 some entsX 57.90 defdtemp5I5Pdnil{defdtemp{5I}}defdtemp{mthent} 57.91 expndfterdtemphtrelxrelxdnil 57.92 ifxdtempdtemp 57.93 defdtemp5Idnil{5I}7 57.94 defdtemp5I{fterssignmentdtempmthhrdefdtempa}7 57.95 defdo5I45P{} 57.96 defdtempd5I{expndfterdtemp5Idnil 57.97 ifnumdtempb4ppp 57.98 xdef5I{mthent4expndfterdomeningdtempspe}7 57.99 fi} 57.100 dtempdhtdtempdhekdtempdtildedtempdutedtempdgrve 57.101 dtempddotdtempdddotdtempdrevedtempdr 57.102 fi 57.103 endgroup
57.86 57.87
he user should use the inputenc pkge when ny VEit gyrilli font enodE ing is usedD seleting one of the gyrilli input enodingsF e do not ssume ny defult input enodingD so the user should expliitly ll the inputenc pkge y \usepackage{inputenc}F e lso removed \AtBeginDocumentD so inputenc should e used efore babelF
difpkgeloded{inputen}{}{7 defreservedd{vx}7 57.106 ifxreserveddyrillienodingelse 57.107 defreservedd{yP}7 57.108 ifxreserveddyrillienodingelse 57.109 kgerning{el}7 57.110 {xo input enoding speified for fulgrin lnguge}fifi}
57.104 57.105
xow we de(ne two ommnds tht o'er the possiility to swith etween gyrilli nd omn enodingsF
yrillitext ltintext
he ommnd \cyrillictext will swith from vtin font enoding to the gyrilli font enodingD the ommnd \latintext swithes kF his ssumes tht the norml9 font enoding is vtin oneF hese ommnds re declarationsD for shorter pees of text the ommnds \textlatin nd \textcyrillic n e usedF e omment out \latintext sine it is de(ned in the ore of el @elFdefAF e dd the shorthnd \lat for \latintextF xote tht \cyrillictext hs een de(ned oveF
textyrilli textltin
hese ommnds tke n rgument whih is then typeset using the requested font enodingF \textlatin is ommented out sine it is de(ned in the ore of elF @st is de(ned there with \DeclareRobustCommand instedFA
helreextpontgommnd{textyrilli}{yrillitext} 7 helreextpontgommnd{textltin}{ltintext}
57.115 57.116
QRV
he next step onsists of de(ning ommnds to swith to @nd fromA the fulE grin lngugeF
ptionsulgrin
he mro \captionsbulgarian de(nes ll strings used in the four stndrd A doument lsses provided with v iF he two ommnds \cyr nd \lat tivte gyrilli respF vtin enodingF
ddtoptionsulgrin{7 defprefenme{7 57.119 {yrgyrryreyrdyrgyroyrvyroyrr}}7 57.120 defrefnme{7 57.121 {yrgvyriyrtyreyrryryrtyruyrryr}}7 57.122 defstrtnme{7 57.123 {yrgeyryrsyrtyrryryrkyrt}}7 57.124 definme{7 57.125 {yrgfyriyryrlyriyroyrgyrryryrfyriyry}}7 57.126 defhpternme{7 57.127 {yrgqyrlyryrvyr}}7 57.128 defppendixnme{7 57.129 {yrgyrryriyrlyroyrzhyreyrnyriyre}}7 57.130 defontentsnme{7 57.131 {yrgyrhrdsnyrdyrhrdsnyrryrzhyryrnyriyre}}7 57.132 deflistfigurenme{7 57.133 {yrgyrpyriyrsyrhrdsnyrk yrnyr yrfyriyrgyruyrryriyrt 57.134 deflisttlenme{7 57.135 {yrgyrpyriyrsyrhrdsnyrk yrnyr yrtyryryrlyriyryri 57.136 defindexnme{7 57.137 {yrgeyrzyryruyrhyreyrn yruyrkyryrzyryrtyreyrl}}7 57.138 defuthornme{7 57.139 {yrgsyrmyreyrnyreyrn yruyrkyryrzyryrtyreyrl}}7 57.140 deffigurenme{7 57.141 {yrgpyriyrgyruyrryr}}7 57.142 deftlenme{7 57.143 {yrgyryryrlyriyryr}}7 57.144 defprtnme{7 57.145 {yrggryryrsyrt}}7 57.146 defenlnme{7 57.147 {yrgyrryriyrlyroyrzhyreyrnyriyry}}7 57.148 defnme{7 57.149 {yryrkyroyrpyriyry}}7 57.150 defhedtonme{7 57.151 {yrgyr}}7 57.152 defpgenme{7 57.153 {yrgyrtyrrF}}7 57.154 defseenme{7 57.155 {yryrvyrzhF}}7 57.156 deflsonme{7 57.157 {yryrvyrzhF yrsyrhrdsnyrshhyro yri}}7 57.158 defproofnme{roof}7 `EE xeeds trnsltion 57.159 defglossrynme{qlossry}7 `EE xeeds trnsltion 57.160 }
57.117 57.118
dteulgrin
he mro \datebulgarian rede(nes the ommnd \today to produe fulgrin dtesF st lso provides the ommnd \todayRoman whih produes the dte with the month in pitl romn numerlsD populr formt for dtes in fulgrinF QRW
defdteulgrin{7 defmonthdulgrin{ifsemonthor 57.163 yryyrnyruyryrryrior 57.164 yrfyreyrvyrryruyryrryrior 57.165 yrmyryrryrtor 57.166 yryrpyrryriyrlor 57.167 yrmyryrishrtor 57.168 yryuyrnyrior 57.169 yryuyrlyrior 57.170 yryrvyrgyruyrsyrtor 57.171 yrsyreyrpyrtyreyrmyrvyrryrior 57.172 yroyrkyrtyroyrmyrvyrryrior 57.173 yrnyroyreyrmyrvyrryrior 57.174 yrdyreyrkyreyrmyrvyrryrifi}7 57.175 defmonthdomn{expndfterdomnmonth}7 57.176 deftody{numerdy~monthdulgrin numeryer~yrgF}7 57.177 deftodyomn{numerdyFDmonthdomnFDnumeryer~yrgF}7 57.178 }
57.161 57.162
todyomn
he month is often written with romn numers in fulgrin dtesF rere we de(ne dte in this formtX
defomnnumerl5I{upperseexpndfter{romnnumerl 5I}} deftodyomn{numerdyFomnnumerl{month}Fnumeryer~yrgF}
57.179 57.180
extrsulgrin
he mro \extrasbulgarian will perform ll the extr de(nitions needed for the fulgrin lngugeF he mro \noextrasbulgarian is used to nel the tions of \extrasbulgarianF he (rst tion we de(ne is to swith on the seleted gyrilli enoding whenever we enter ulgrin9F
ddtoextrsulgrin{yrillitext}
A hen the enoding de(nition (le ws proessed y v i the urrent font A enoding is stored in \latinencodingD ssuming tht v i uses T1 or OT1 s defultF herefore we swith k to \latinencoding whenever the fulgrin lnguge is no longer tive9F
57.181
57.182
ddtonoextrsulgrin{ltintext}
inititedtivedhr{4}
he ode ove is neessry euse we need extr tive hrtersF he hrter " is used s indited in tle QPF e speify tht the fulgrin group of shorthnds should e usedF
57.184
ddtoextrsulgrin{lngugeshorthnds{ulgrin}}
QSH
he X2 nd T2* enodings do not ontin spanish_shriek nd spanish_query symolsY s onsequeneD the ligtures ?`9 nd !`9 do not work with them @these hrters re useless for gyrilli texts nywyAF fut we de(ne the shorthnds to emulte these ligtures @optionllyAF e do not use \latinencoding here @ut insted expliitly use OT1A euse the user my hoose T2A to e the primry enodingD ut it does not ontin these hrtersF
spanishligs \declare@shorthand{bulgarian}{?`}{\UseTextSymbol{OT1}\textquestiondown} 57.191 \declare@shorthand{bulgarian}{!`}{\UseTextSymbol{OT1}\textexclamdown} 57.192 /spanishligs
57.189 57.190
e sve the originl doule quote hrter in \dq to keep it villeD the mth ent \"n now e typed s "9F
xow we n de(ne the doulequote mrosX germn nd frenh quotesF e use de(nitions of these quotes mde in elFstyF he frenh quotes re ontined in the T2* enodingsF
delredshorthnd{ulgrin}{4}{glqq} delredshorthnd{ulgrin}{49}{grqq} 57.200 delredshorthnd{ulgrin}{4`}{flqq} 57.201 delredshorthnd{ulgrin}{4b}{frqq}
57.198 57.199
he next two mros for "- nd "--- re somewht di'erentF e must hek whether the seond token is hyphen hrterX
57.208
delredshorthnd{ulgrin}{4E}{7
i looks for the next token fter the (rst -9X the mening of this token is written to \bulgarian@sh@next nd \bulgarian@sh@tmp is lledF
57.213
futureletulgrindshdnextulgrindshdtmp}
QSI
defulgrindshdhyphen{norekEldllowhyphens}
por the emdsh de(nitionD there re the two prmetersX we must et9 two lst hyphen signs of our emdsh F F F X
57.215
defulgrindshdemdsh5I5P{dshE5I5P}
dsh
ifxdshundefined 7 should e defined erlier defdsh5I5P5Q{deftempxd{5Q}7 57.218 deftempd{E}deftempd{~}deftempd{B}7 57.219 ifxtempxdtempddedshelse 57.220 ifxtempxdtempddfdshelse 57.221 ifxtempxdtempddgdshelse 57.222 errmessge{rong usge of dsh}fififi}
57.216 57.217
seond prmeter @or third for \cdashA shows wht kind of emdsh to rete in next step
"---
ordinry @plinA gyrilli emdsh inside textX n unrekle thinspe will e inserted efore only in se of space efore the dsh @it is neessry for dshes fter disply mths formuleX there ould e listsD enumertions etF strted with "where a is FFF iFeFD the dsh strts lineAF @pirstly there were plnned rther soft rules for userXhe my put spe efore the dsh or notF fut it is di0ult to ple this thinspe utomtillyD iFeFD y heking modes euse fter disply formule i uses horizontl modeF wye there is misunderstndingc wye there is nother wycA efter dsh rekle thinspe is lwys pledY
"--~
emdsh in ompound nmes or surnmes @like wendeleev!ulpeironAY this dsh hs no spe hrters roundY fter the dsh some spe is dded \exhyphenalty
57.226 57.227
defdfdsh{levevmodeifdimlstskipbzdunskipfi norekyrdshpenltyexhyphenpenltyhskipzdskipignorespes}7
"--*
57.228 57.229
for denoting diret speeh @ spe like \enskip must follow the emdshAY
pinlly the mro for ody of the gyrilli emdshF he \cyrdash mro will e de(ned in se this mro hsn9t een de(ned in fonten (leF por PBfontsD yrdsh will e pled in the ode of the inglish emdsh thus it uses ligture ---F
QSP
rere relly new mro"to ple thinspe etween initilsF his mro used insted of \, llows hyphention in the following surnmeF
57.235
delredshorthnd{ulgrin}{4D}{norekhskipFPemignorespes}
providehyphenmins{gurrentyption}{twdtwd} fi
xow the tion \extrasbulgarian hs to exeute is to mke sure tht the ommnd \frenchspacing is in e'etF sf this is not the se the exeution of \noextrasbulgarian will swith it o' ginF
57.238 57.239
ddtoextrsulgrin{ldfrenhsping} ddtonoextrsulgrin{ldnonfrenhsping}
wke the doule quotes produe the trditionl quotes used in fulgrin texts @these re the qermn quotesAF
7 7 57.242 7 57.243 7 57.244 7 57.245 7 57.246 7 57.247 7 57.248 7 57.249 7 57.250 7 57.251 7 57.252 7 57.253 7
57.240 57.241
inititedtivedhr{} inititedtivedhr{9} ddtoextrsulgrin{7 ldtivte{}} ddtoextrsulgrin{7 ldtivte{9}} ddtonoextrsulgrin{7 lddetivte{}} ddtonoextrsulgrin{7 lddetivte{9}} defmlron{ldtivte{}ldtivte{9}} defmlroff{lddetivte{}lddetivte{9}} delredshorthnd{ulgrin}{}{glqq} delredshorthnd{ulgrin}{99}{grqq}
xext we dd new enumertion style for fulgrin mnusripts with gyrilE li lettersDnd lter on we de(ne some mth opertor nmes in ordne with fulgrin typesetting trditionsF
delphdul
e egin y de(ning \@Alph@bul whih works like \@AlphD ut produes @upE perseA gyrilli letters inted of vtin onesF he letters srD rhx nd px re skippedD s usul for suh enumertionF
defenumful{letdelphdelphdul letdlphdlphdul} defenuming{letdelphdelphdeng letdlphdlphdeng} 57.256 defenumvt{letdelphdelphdeng letdlphdlphdeng} 57.257 ddtoextrsulgrin{enumful} 57.258 ddtonoextrsulgrin{enumvt} 57.259 defdelphdul5I{7 57.260 ifse5Ior 57.261 geor gfor gor gqor ghor gior gror 57.262 gor gsor guor gvor gwor gxor gyor 57.263 gor gor gor gor gor gpor gror 57.264 ggor ggror gror grgror gor geelse 57.265 dtrerrfi 57.266 } 57.267 defdelphdeng5I{7
57.254 57.255
QSQ
ifse5Ior eor for gor hor ior por qor ror sor tor uor vor wor xor yor or or or or or or or or or or else dtrerrfi }
dlphdul
defdlphdul5I{7 ifse5Ior 57.275 yror yror yrvor yrgor yrdor yreor yrzhor 57.276 yrzor yrior yrkor yrlor yrmor yrnor yroor 57.277 yrpor yrror yrsor yrtor yruor yrfor yrhor 57.278 yror yrhor yrshor yrshhor yryuor yryelse 57.279 dtrerrfi 57.280 } 57.281 defdlphdeng5I{7 57.282 ifse5Ior 57.283 or or or dor eor for gor hor ior jor kor lor mor 57.284 nor oor por qor ror sor tor uor vor wor xor yor zelse 57.285 dtrerrfi 57.286 }
57.273 57.274
et up defult gyrilli mth lphetsF o use gyrilli letters in mth mode user should lod the textmath pkge before loding fonten pkge @or babelAF xoteDtht y defult gyrilli letters re tken from upright font in mth mode @unlike vtin lettersAF
7equirekge{textmth} difundefined{symyrillienoding letters}{}{7 57.289 etymolpont{yrillienoding letters}{old}yrillienoding 57.290 rmdefultfdefultupdefult 57.291 helreymolpontelphetyrmthrm{yrillienoding letters}
57.287 57.288
ome mth funtions in fulgrin mth ooks hve other nmesX eFgFD sinh in fulgrin is written s sh etF o we de(ne numer of new mth opertorsF \sinhX
57.305
defsh{mthop{opertordfont sh}nolimits}
QSR
\coshX
57.306
defh{mthop{opertordfont h}nolimits}
\tanX
57.307
deftg{mthop{opertordfont tg}nolimits}
\arctanX
57.308
defrtg{mthop{opertordfont rtg}nolimits}
\arccotX
57.309
defrtg{mthop{opertordfont rtg}nolimits}
\cotX
57.316
deftg{mthop{opertordfont tg}nolimits}
\cothX
57.317
defth{mthop{opertordfont th}nolimits}
\cscX
57.318
defose{mthop{opertordfont ose}nolimits}
helreoustgommnd{xo}{7 ifmmode{nfssdtext{textnumero}}elsetextnumerofi}
he mro \ldf@finish tkes re of looking for on(gurtion (leD setting the min lnguge to e swithed on t \begin{document} nd resetting the tegory ode of @ to its originl vlueF
57.321 57.322
ldfdfinish{ulgrin} /code
QSS
58
he (le ukraineb.dtx69 de(nes ll the lngugeEspei( mros for the krinin lngugeF st needs the (le cyrcod for suess doumenttion with krinin enodings @see elowAF por this lnguge the hrter " is mde tiveF sn tle QR n overview is given of its purposeF
"| ""--"--~ "--* "" "~ "= ", "` "' "< ">
disle ligture t this positionF n expliit hyphen signD llowing hyphention in the rest of the wordF gyrilli emdsh in plin textF gyrilli emdsh in ompound nmes @surnmesAF gyrilli emdsh for denoting diret speehF like "-D ut produing no hyphen sign @for ompund words with hyphenD eFgF x-""y or some other signs s disleGenleAF for ompound word mrk without rekpointF for ompound word mrk with rekpointD llowE ing hyphention in the omposing wordsF thinspe for initils with rekpoint in following surnmeF for qermn left doule quotes @looks like DDAF for qermn right doule quotes @looks like AF for prenh left doule quotes @looks like < AF < for prenh right doule quotes @looks like > AF >
le QRX he extr de(nitions mde y ukraineb he quotes in tle QR @seeD lso tle QHA n lso e typeset y using the ommnds in tle QS @seeD lso tle QIAF
gyrilli emdsh in plin textF gyrilli emdsh in ompound nmes @surnmesAF gyrilli emdsh for denoting diret speehF for qermn left doule quotes @looks like DDAF for qermn right doule quotes @looks like AF for prenh left doule quotes @looks like < AF < for prenh right doule quotes @looks like > AF > the originl quotes hrter @"AF
le QSX wore ommnds whih produe quotesD de(ned y babel he prenh quotes re lso ville s ligtures <<9 nd >>9 in VEit gyrilli font enodings @LCYD X2D T2*A nd s <9 nd >9 hrters in UEit gyrilli font enodings @OT2 nd LWNAF
russianb.dtx
69 The
le described in this section has version number ?. version 1.1g. This le was derived from the
QST
he quottion mrks trditionlly used in krinin nd ussin lnguges were orrowed from other lnguges @eFgF prenh nd qermnA so they keep their originl nmesF he mro \LdfInit tkes re of preventing tht this (le is loded more thn oneD heking the tegory ode of the @ signD etF
58.1 58.2
code vdfsnit{ukrinin}{ptionsukrinin}
hen this (le is red s n optionD iFeFD y the \usepackage ommndD ukraineb will e n unknown9 lngugeD in whih se we hve to mke it knownF o we hek for the existene of \l@ukrainian to see whether we hve to do someE thing hereF
ifxldukrinindundefined dnoptterns{krinin} 58.5 dddiletldukrininH 58.6 fi
58.3 58.4
ltinenoding
e need to know the enoding for text tht is supposed to e whih is tive t the end of the babel pkgeF sf the fontenc pkge is loded lterD thenF F F too d3
58.7
letltinenodingfdenoding
he user my hoose etween di'erent ville gyrilli enodings"eFgFD X2D LCYD or LWNF ropefullyD X2 will eventully reple the two ltter enodings @LCY nd LWNAF sf the user wnts to use nother font enoding thn the defult @T2AAD he hs to lod the orresponding (le before ukraineb.styF his my e done in the following wyX
7 override the defult P enoding used in fel usepkgevgDyI{fonten} usepkgeenglishDukrinin{el}
xoteX for the krinin lngugeD the T2A enoding is etter thn X2D euse X2 does not ontin vtin lettersD nd users should e very reful to swith the lnguge every time they wnt to typeset vtin word inside krinin phrse or vie versF A e prse the \cdp@list ontining the enodings known to v i in the order they were lodedF e set the \cyrillicencoding to the last loded enoding in the list of supported gyrilli enodingsX OT2D LWND LCYD X2D T2CD T2BD T2AD if nyF
defreservedd5I5P{7 edefreservedd{5I}7 58.10 edefreservedd{5P}7 58.11 ifxreserveddreservedd 58.12 letyrillienodingreservedd 58.13 fi} 58.14 defdpdelt5I5P5Q5R{7 58.15 reservedd{5I}{yP}7 58.16 reservedd{5I}{vx}7 58.17 reservedd{5I}{vg}7 58.18 reservedd{5I}{P}7 58.19 reservedd{5I}{Pg}7 58.20 reservedd{5I}{Pf}7
58.8 58.9
QSU
58.21 58.22
reservedd{5I}{Pe}} dpdlist
xowD if \cyrillicencoding is unde(nedD then the user did not lod ny of supported enodingsF oD we hve to set \cyrillicencoding to some defult vlueF e test the presene of the enoding de(nition (les in the order from less preferle to more preferle enodingsF e use the lowerse nmes @iFeFD lcyenc.def insted of LCYenc.defAF
ifxyrillienodingundefined sfpileixists{otPenFdef}{defyrillienoding{yP}}relx 58.25 sfpileixists{lwnenFdef}{defyrillienoding{vx}}relx 58.26 sfpileixists{lyenFdef}{defyrillienoding{vg}}relx 58.27 sfpileixists{xPenFdef}{defyrillienoding{P}}relx 58.28 sfpileixists{tPenFdef}{defyrillienoding{Pg}}relx 58.29 sfpileixists{tPenFdef}{defyrillienoding{Pf}}relx 58.30 sfpileixists{tPenFdef}{defyrillienoding{Pe}}relx
58.23 58.24
sf \cyrillicencoding is still unde(nedD then the user seems not to hve properly instlled distriutionF e ftl errorF
58.31 58.32 58.33 58.34 58.35 58.36 58.37 58.38 58.39 58.40
ifxyrillienodingundefined kgeirror{el}7 {xo gyrilli enoding definition files were found}7 {our instlltion is inompleteFwessgefrek ou need t lest one of the following filesXwessgefrek spespe xPenFdefD tPenFdefD tPenFdefD tPenFdefDwessgefrek spespe lyenFdefD lwnenFdefD otPenFdefF}7 else
kgesnfo{el} {sing yrillienoding9 s defult gyrilli enoding}7 helreoustgommnd{krinin}{7 fontenodingyrillienodingseletfont 58.47 letenodingdefultyrillienoding 58.48 expndftersetdhyphenminsukrininhyphenmins 58.49 lngugeldukrinin}7 58.50 helreoustgommnd{inglish}{7 58.51 fontenodingltinenodingseletfont 58.52 letenodingdefultltinenoding 58.53 expndftersetdhyphenminsenglishhyphenmins 58.54 lngugeldenglish}7 58.55 letkrkrinin 58.56 letinginglish 58.57 letyrillitextkrinin 58.58 letyrkrinin
58.45 58.46
QSV
ine the X2 enoding does not ontin vtin lettersD we should mke some A rede(nitions of v i mros whih impliitly produe vtin lettersF
58.59
expndfterifxsnme dPendsnmerelxelse
e put \latinencoding in res to void prolems with \@alph inside miniE pges @eFgFD footnotes inside minipgesA where \@alph is expnded nd we get for exmple \fontencoding OT19 @\fontencoding is roustAF
58.60 58.61 58.62 58.63 58.64 58.65 58.66 58.67 58.68 58.69 58.70 58.71
defdlph5I{{fontenoding{ltinenoding}seletfont ifse5Ior or or or dor eor for gor hor ior jor kor lor mor nor oor por qor ror sor tor uor vor wor xor yor zelsedtrerrfi}}7 defdelph5I{{fontenoding{ltinenoding}seletfont ifse5Ior eor for gor hor ior por qor ror sor tor uor vor wor xor yor or or or or or or or or or or elsedtrerrfi}}7
nfortuntelyD the ommnds \AA nd \aa re not enoding dependent in A v i @unlike eFgFD \oe or \DHAF hey re de(ned s \r{A} nd \r{a}F his leds to unpreditle results when the font enoding does not ontin the vtin letters e9 nd 9 @like X2AF
helreextymolhefult{ee}{yI} helreextymolhefult{}{yI} 58.74 helreextgommnd{}{yI}{r } 58.75 helreextgommnd{ee}{yI}{r e} 58.76 fi
58.72 58.73
he following lok rede(nes the hrter lss of upperse qreek letters nd some entsD if it is equl to U @vrile fmilyAD to void inorret results if the font enoding in some mth fmily does not ontin these hrters in ples of yI enodingF he ode ws tken from amsmath.dtxF ee omments nd further explntion thereF
7 7 58.79 7 58.80 7 58.81 7 58.82 7 58.83 7 58.84 7 58.85 7 58.86 7 58.87 7 58.88 7 58.89 7 58.90 7 58.91 7 58.92 7 58.93 7 58.94 7
58.77 58.78
egingrouptode4aIP 7 upperse greek lettersX defdtemp5I{expndfterdtempmening5Irelxrelxrelxrelx 4HHHHdnil5I} defdtemp5I45P5Q5R5S5Tdnil5U{7 ifnum45PaU ountd4I5Q5R5Srelx ifnumountd`4IHHH else glolmthhrdef5Ua4H5Q5R5Srelx fi fi} dtempqmmdtempheltdtemphetdtempvmddtempi dtempidtempigmdtemppsilondtemphidtempsi dtempymeg 7 some entsX defdtemp5I5Pdnil{defdtemp{5I}}defdtemp{mthent} expndfterdtemphtrelxrelxdnil ifxdtempdtemp defdtemp5Idnil{5I}7 defdtemp5I{fterssignmentdtempmthhrdefdtempa}7 defdo5I45P{}
QSW
7 defdtempd5I{expndfterdtemp5Idnil 7 ifnumdtempb4ppp 58.97 7 xdef5I{mthent4expndfterdomeningdtempspe}7 58.98 7 fi} 58.99 7 dtempdhtdtempdhekdtempdtildedtempdutedtempdgrve 58.100 7 dtempddotdtempdddotdtempdrevedtempdr 58.101 7 fi 58.102 7 endgroup
58.95 58.96
he user must use the inputenc pkge when ny VEit gyrilli font enoding is usedD seleting one of the gyrilli input enodingsF e do not ssume ny defult input enodingD so the user should expliitly ll the inputenc pkge y \usepackage{inputenc}F e lso removed \AtBeginDocumentD so inputenc should e used efore babelF
difpkgeloded{inputen}{}{7 defreservedd{vx}7 58.105 ifxreserveddyrillienodingelse 58.106 defreservedd{yP}7 58.107 ifxreserveddyrillienodingelse 58.108 kgerning{el}7 58.109 {xo input enoding speified for krinin lnguge} 58.110 fifi}
58.103 58.104
xow we de(ne two ommnds tht o'er the possiility to swith etween gyrilli nd omn enodingsF
yrillitext ltintext
he ommnd \cyrillictext will swith from vtin font enoding to the gyrilli font enodingD the ommnd \latintext swithes kF his ssumes tht the norml9 font enoding is vtin oneF hese ommnds re declarationsD for shorter pees of text the ommnds \textlatin nd \textcyrillic n e usedF
textyrilli textltin
hese ommnds tke n rgument whih is then typeset using the requested font enodingF
helreextpontgommnd{textyrilli}{yrillitext} 7helreextpontgommnd{textltin}{ltintext}
58.115 58.116
e mke the i
7ifxltxveundefinedletltxvevefi 7rovideextgommndhefult{ve}{textltin{ltxve}}
he next step onsists of de(ning ommnds to swith to @nd fromA the krinin lngugeF
ptionsukrinin
he mro \captionsukrainian de(nes ll strings used in the four stndrd A doument lsses provided with v iF he two ommnds \cyr nd \lat tivte gyrilli respF vtin enodingF QTH
ddtoptionsukrinin{7 defprefenme{{yrgyrsyrtyruyrp}}7 58.123 7 defprefenme{{yrgyreyrryreyrdyrmyroyrvyr}}7 58.124 defrefnme{7 58.125 {yrgvyriiyrtyreyrryryrtyruyrryr}}7 58.126 7 defrefnme{7 58.127 7 {yrgyreyrryreyrlyriiyrk 58.128 7 yrpyroyrsyriyrlyryrnyrsftsn}}7 58.129 defstrtnme{7 58.130 {yrgeyrnyroyrtyryryriiyry}}7 58.131 7 defstrtnme{{yrgyreyrfyreyrryryrt}}7 58.132 definme{7 58.133 {yrgfyriiyryrlyriiyroyrgupyrryryrfyriiyry}}7 58.134 7 definme{{yrgvyriiyrtyreyrryryrtyruyrryr}}7 58.135 defhpternme{{yrgyroyrzyrdyriiyrl}}7 58.136 7 defhpternme{{yrgqyrlyryrvyr}}7 58.137 defppendixnme{{yrghyroyrdyryrtyroyrk}}7 58.138 defontentsnme{{yrgyrmyriiyrsyrt}}7 58.139 deflistfigurenme{{yrgyreyrryreyrlyriiyrk 58.140 yriiyrlyryuyrsyrtyrryryryriiyrishrt}}7 58.141 deflisttlenme{{yrgyreyrryreyrlyriiyrk 58.142 yrtyryryrlyriyryrsftsn}}7 58.143 defindexnme{{yrgyroyrkyryrzhyrhyriyrk}}7 58.144 defuthornme{{yrgssyrmyreyrnyrnyriyrishrt 58.145 yrpyroyrkyryrzhyrhyriyrk}}7 58.146 deffigurenme{{yrgyriyrsF}}7 58.147 7 deffigurenme{yrgyriyrsyruyrnyroyrk}}7 58.148 deftlenme{{yrgyryryrlF}}7 58.149 7 deftlenme{yrgyryryrlyriyryry}}7 58.150 defprtnme{{yrggryryrsyrtyriyrnyr}}7 58.151 defenlnme{{yryrvyrkyrlyryrdyrkyr}}7 58.152 defnme{{yryrkyroyrpyriiyry}}7 58.153 defhedtonme{{yrghyro}}7 58.154 defpgenme{{yryrsF}}7 58.155 7 defpgenme{{yryrsyrtyroyrryriiyrnyrkyr}}7 58.156 defseenme{{yryrdyriyrvF}}7 58.157 deflsonme{{yryrdyriyrvF yrtyryrkyroyrzh}} 58.158 defproofnme{{yrghyroyrvyreyrdyreyrnyrnyry}}7 58.159 defglossrynme{{yrgyrlyroyrvyrnyriyrk 7 58.160 yrtyreyrryrmyriiyrnyriiyrv}}7 58.161 }
58.121 58.122
dteukrinin
defdteukrinin{7 deftody{numerdy~ifsemonthor 58.164 yrsyriiyrhyrnyryor 58.165 yrlyryuyrtyroyrgyroor 58.166 yryreyrryreyrzyrnyryor 58.167 yrkyrvyriiyrtyrnyryor 58.168 yrtyrryryrvyrnyryor 58.169 yrhyreyrryrvyrnyryor 58.170 yrlyriyrpyrnyryor 58.171 yrsyreyrryrpyrnyryor
58.162 58.163
QTI
extrsukrinin
he mro \extrasukrainian will perform ll the extr de(nitions needed for the krinin lngugeF he mro \noextrasukrainian is used to nel the tions of \extrasukrainianF he (rst tion we de(ne is to swith on the seleted gyrilli enoding whenever we enter ukrinin9F
ddtoextrsukrinin{yrillitext}
A hen the enoding de(nition (le ws proessed y v i the urrent font A enoding is stored in \latinencodingD ssuming tht v i uses T1 or OT1 s defultF herefore we swith k to \latinencoding whenever the krinin lnguge is no longer tive9F
58.177
58.178
ddtonoextrsukrinin{ltintext}
xext we must llow hyphention in the krinin words with postrophe whenever we enter ukrinin9F his solution ws proposed y ldimir olovih `vvvdvvvFvsuFrub
58.179 58.180
ddtoextrsukrinin{lode9a9} ddtonoextrsukrinin{lode9aH}
vertimdfont
sn order to get oth vtin nd gyrilli letters in vertim text we need to hnge A the de(nition of n internl v i ommnd somewhtX
7defvertimdfont{7 7 letenodingdefultltinenoding 58.183 7 normlfontttfmily 58.184 7 expndfterdefsnmeyrillienodingEmdendsnme55I55P{7 58.185 7 ifxprotetdtypesetdprotet 58.186 7 egingroupseextymolyrillienoding55Iendgroup 58.187 7 elsenoexpnd55Ifi}}
58.181 58.182
he tegory ode of the hrters :9D ;9D !9D nd ?9 is mde \active to insert little white speF por krinin @s well s for ussin nd qermnA the " hrter lso is mde tiveF xoteX st is very questionle whether the ussin typesetting trdition reE quires dditionl sping efore those puntution signsF hereforeD we mke the orresponding ode optionlF sf you need itD then de(ne the frenchpunct dostrip option in babel.insF forrowed from frenhF ome users dislike utomti insertion of spe efore doule puntution9D nd prefer to deide themselves whether spe should e dded or notY so hook \NoAutoSpaceBeforeFDP is providedX if this ommnd is dded @in (le ukraineb.cfgD or nywhere in doumentA ukraineb will respet your typingD nd introdue suitle spe efore doule puntution9 if and only if spe is typed in the soure (le efore those signsF he ommnd \AutoSpaceBeforeFDP swithes k to the defult ehvior of ukrainebF QTP
frenchpunct \initiate@active@char{:} 58.190 \initiate@active@char{;} 58.191 /frenchpunct 58.192 frenchpunct | spanishligs 58.193 \initiate@active@char{!} 58.194 \initiate@active@char{?} 58.195 /frenchpunct | spanishligs 58.196 inititedtivedhr{4}
58.188 58.189
he ode ove is neessry euse we need extr tive hrtersF he hrter " is used s indited in tle QRF e speify tht the krinin group of shorthnds should e usedF
58.197
ddtoextrsukrinin{lngugeshorthnds{ukrinin}}
he X2 nd T2* enodings do not ontin spanish_shriek nd spanish_query symolsY s onsequeneD the ligtures ?`9 nd !`9 do not work with them @these hrters re useless for gyrilli texts nywyAF fut we de(ne the shorthnds to emulte these ligtures @optionllyAF e do not use \latinencoding here @ut insted expliitly use OT1A euse the user my hoose T2A to e the primry enodingD ut it does not ontin these hrtersF
spanishligs \declare@shorthand{ukrainian}{?`}{\UseTextSymbol{OT1}\textquestiondown} 58.208 \declare@shorthand{ukrainian}{!`}{\UseTextSymbol{OT1}\textexclamdown} 58.209 /spanishligs
58.206 58.207
ukrinindshdYd e hve to redue the mount of white spe efore ;D : nd !F his should only ukrinindshdXd hppen in horizontl modeD hene the test with \ifhmodeF ukrinindshd3d 58.210 frenchpunct ukrinindshdcd 58.211 \declare@shorthand{ukrainian}{;}{% 58.212 \ifhmode
sn horizontl mode we hek for the presene of spe9D unskip9 if it exists nd ple 0.1em kerningF
58.213 58.214 58.215
sf no spe hs een typedD we dd \FDP@thinspace whih will e de(nedD up to the user9s wishesD s n utomti dded thinspeD or s \@emptyF
58.216 58.217 58.218
\fi \fi
\FDP@thinspace
QTQ
\string;}
\declare@shorthand{ukrainian}{!}{% \ifhmode 58.231 \ifdim\lastskip>\z@ 58.232 \unskip\nobreak\kern.1em 58.233 \else 58.234 \FDP@thinspace 58.235 \fi 58.236 \fi 58.237 \string!}
58.229 58.230
\declare@shorthand{ukrainian}{?}{% \ifhmode 58.240 \ifdim\lastskip>\z@ 58.241 \unskip\nobreak\kern.1em 58.242 \else 58.243 \FDP@thinspace 58.244 \fi 58.245 \fi 58.246 \string?}
58.238 58.239
\FDP@thinspace is de(ned s unrekle spes if \AutoSpaceBeforeFDP is tivted or s \@empty if \NoAutoSpaceBeforeFDP is in useF he defult is \AutoSpaceBeforeFDPF
phon he next mros llow to swith onGo' tiveness of doule puntution signsF phoff 58.251 \def\FDPon{\bbl@activate{:}% 58.252 \bbl@activate{;}% 58.253 \bbl@activate{?}% 58.254 \bbl@activate{!}} 58.255 \def\FDPoff{\bbl@deactivate{:}% 58.256 \bbl@deactivate{;}% 58.257 \bbl@deactivate{?}% 58.258 \bbl@deactivate{!}} systemdshdXd systemdshd3d systemdshdcd systemdshdYd
hen the tive hrters pper in n environment where their krinin eE hviour is not wnted they should give n expeted9 resultF herefore we de(ne shorthnds t system level s wellF QTR
\declare@shorthand{system}{:}{\string:} \declare@shorthand{system}{;}{\string;} 58.261 /frenchpunct 58.262 frenchpunct&!spanishligs 58.263 \declare@shorthand{system}{!}{\string!} 58.264 \declare@shorthand{system}{?}{\string?} 58.265 /frenchpunct&!spanishligs
58.259 58.260
e sve the originl doule quote hrter in \dq to keep it villeD the mth ent \" n now e typed s "9F
xow we n de(ne the doulequote mrosX germn nd frenh quotesF e use de(nitions of these quotes mde in elFstyF he frenh quotes re ontined in the T2* enodingsF
delredshorthnd{ukrinin}{4}{glqq} delredshorthnd{ukrinin}{49}{grqq} 58.273 delredshorthnd{ukrinin}{4`}{flqq} 58.274 delredshorthnd{ukrinin}{4b}{frqq}
58.271 58.272
he next two mros for "- nd "--- re somewht di'erentF e must hek whether the seond token is hyphen hrterX
58.281
delredshorthnd{ukrinin}{4E}{7
i looks for the next token fter the (rst -9X the mening of this token is written to \ukrainian@sh@next nd \ukrainian@sh@tmp is lledF
58.286
futureletukrinindshdnextukrinindshdtmp}
defukrinindshdhyphen{7 norekEldllowhyphens}
QTS
por the emdsh de(nitionD there re the two prmetersX we must et9 two lst hyphen signs of our emdshF F F X
58.289
defukrinindshdemdsh5I5P{dshE5I5P}
dsh
7ifxdshundefined 7 should e defined erlier defdsh5I5P5Q{deftempxd{5Q}7 58.292 deftempd{E}deftempd{~}deftempd{B}7 58.293 ifxtempxdtempddedshelse 58.294 ifxtempxdtempddfdshelse 58.295 ifxtempxdtempddgdshelse 58.296 errmessge{rong usge of dsh}fififi}
58.290 58.291
seond prmeter @or third for \cdashA shows wht kind of emdsh to rete in next step
"---
ordinry @plinA gyrilli emdsh inside textX n unrekle thinspe will e inserted efore only in se of space efore the dsh @it is neessry for dshes fter disply mths formuleX there ould e listsD enumertions etF strted with " where a is FFF iFeFD the dsh strts lineAF @pirstly there were plnned rther soft rules for userX he my put spe efore the dsh or notF fut it is di0ult to ple this thinspe utomtillyD iFeFD y heking modes euse fter disply formule i uses horizontl modeF wye there is misunderstndingc wye there is nother wycA efter dsh rekle thinspe is lwys pledY
"--~
emdsh in ompound nmes or surnmes @like wendeleev!ulpeironAY this dsh hs no spe hrters roundY fter the dsh some spe is dded \exhyphenalty
58.300 58.301
defdfdsh{levevmodeifdimlstskipbzdunskipfi norekyrdshpenltyexhyphenpenltyhskipzdskipignorespes}7
"--*
58.302 58.303
for denoting diret speeh @ spe like \enskip must follow the emdshAY
pinlly the mro for ody of the gyrilli emdshF he \cyrdash mro will e de(ned in se this mro hsn9t een de(ned in fonten (leF por PB fontsD yrdsh will e pled in the ode of the inglish emdsh thus it uses ligture ---F
rere relly new mro"to ple thinspe etween initilsF his mro used insted of \, llows hyphention in the following surnmeF
58.309
delredshorthnd{ukrinin}{4D}{norekhskipFPemignorespes}
QTT
mdqon ell tht9s left to do now is to de(ne ouple of ommnds for "F mdqoff 58.310 defmdqon{ldtivte{4}} 58.311 defmdqoff{lddetivte{4}}
xow the tion \extrasukrainian hs to exeute is to mke sure tht the ommnd \frenchspacing is in e'etF sf this is not the se the exeution of \noextrasukrainian will swith it o' ginF
58.317 58.318
ddtoextrsukrinin{ldfrenhsping} ddtonoextrsukrinin{ldnonfrenhsping}
xext we dd new enumertion style for krinin mnusripts with gyrilli lettersD nd lter on we de(ne some mth opertor nmes in ordne with krinin nd ussin typesetting trditionsF
esuk
e egin y de(ning \Asbuk whih works like \AlphD ut produes @upperseA gyrilli letters inted of vtin onesF he letters gqD nd px re skippedD s usul for suh enumertionF
defesuk5I{expndfterdesuksnme d5Iendsnme} defdesuk5I{ifse5Ior 58.321 georgforgorgqorghorgiorgsior 58.322 grorgorgsorgssorgsorgsror 58.323 guorgvorgworgxorgyorgorgor 58.324 gorgorgorgporgrorggorggror 58.325 grorgrgrorgorgeelsedtrerrfi}
58.319 58.320
suk
defsuk5I{expndfterdsuksnme d5Iendsnme} defdsuk5I{ifse5Ior 58.328 yroryroryrvoryrgoryrdoryreoryrieor 58.329 yrzhoryrzoryrioryriioryryioryrishrtor 58.330 yrkoryrloryrmoryrnoryrooryrporyrror 58.331 yrsoryrtoryruoryrforyrhoryroryrhor 58.332 yrshoryrshhoryryuoryryelsedtrerrfi}
58.326 58.327
et up defult gyrilli mth lphetsF he mth groups for yrilli letters re de(ned in the enoding de(nition (lesF pirstD delre new lphet for symolsD \cyrmathrmD sed on the symol font for gyrilli letters de(ned in the enoding de(nition (leF xoteD tht y defult gyrilli letters re tken from upright font in mth mode @unlike vtin lettersAF
7equirekge{textmth} difundefined{symyrillienoding letters}{}{7 58.335 etymolpont{yrillienoding letters}{old}yrillienoding 58.336 rmdefultfdefultupdefult 58.337 helreymolpontelphetyrmthrm{yrillienoding letters}
58.333 58.334
QTU
ome mth funtions in krinin nd ussin mth ooks hve other nmesX eFgFD sinh in ussin is written s sh etF o we de(ne numer of new mth opertorsF \sinhX
58.352
defsh{mthop{opertordfont sh}nolimits} defh{mthop{opertordfont h}nolimits} deftg{mthop{opertordfont tg}nolimits} defrtg{mthop{opertordfont rtg}nolimits} defrtg{mthop{opertordfont rtg}nolimits}
\coshX
58.353
\tanX
58.354
\arctanX
58.355
rtgX
58.356
\cotX
58.363
\cothX
58.364
\cscX
58.365
QTV
defxh{mthop{yrmthrm{gxggh}}nolimits} defxu{mthop{yrmthrm{gxggu}}nolimits} 58.372 defnod{mthop{yrmthrm{yrnFyroFyrdF}}nolimits} 58.373 defnok{mthop{yrmthrm{yrnFyroFyrkF}}nolimits} 58.374 defxyh{mthop{yrmthrm{gxgygh}}nolimits} 58.375 defxyu{mthop{yrmthrm{gxgygu}}nolimits} 58.376 defroj{mthop{yrmthrm{gyrr}}nolimits}
58.370 58.371
7 7 7 7
he mro \ldf@finish tkes re of looking for on(gurtion (leD setting the min lnguge to e swithed on t \begin{document} nd resetting the tegory ode of @ to its originl vlueF
58.379 58.380
ldfdfinish{ukrinin} /code
QTW
59
he (le lsorbian.dtx70 st de(nes ll the lngugeEspei( mros for vower orE inF he mro \LdfInit tkes re of preventing tht this (le is loded more thn oneD heking the tegory ode of the @ signD etF
59.1 59.2
code vdfsnitgurrentyption{dtegurrentyption}
hen this (le is red s n optionD iFeF y the \usepackage ommndD lsorbian will e n unknown9 lngugeD in whih se we hve to mke it knownF o we hek for the existene of \l@lsorbian to see whether we hve to do someE thing hereF es babel lso knwos the option lowersorbian we hve to hek tht s wellF
ifxldlowersorindundefined ifxldlsorindundefined 59.5 dnoptterns{vsorin} 59.6 dddiletldlsorinzd 59.7 letldlowersorinldlsorin 59.8 else 59.9 letldlowersorinldlsorin 59.10 fi 59.11 else 59.12 letldlsorinldlowersorin 59.13 fi
59.3 59.4
he next step onsists of de(ning ommnds to swith to @nd fromA the vower orin lngugeF
ptionslsorin
dnmedef{ptionsgurrentyption}{7 defprefenme{wod}7 59.16 defrefnme{efereny}7 59.17 defstrtnme{estrkt}7 59.18 definme{vitertur}7 59.19 defhpternme{upitl}7 59.20 defppendixnme{hodwki}7 59.21 defontentsnme{op9simje9se}7 59.22 deflistfigurenme{pis worzow}7 59.23 deflisttlenme{pis tulkow}7 59.24 defindexnme{sndeks}7 59.25 deffigurenme{orz}7 59.26 deftlenme{ulk}7 59.27 defprtnme{9v el}7 59.28 defenlnme{9sil og}7 59.29 defnme{gg}7 59.30 defhedtonme{uomu}7 59.31 defpgenme{tron}7 59.32 defseenme{glF}7 59.33 deflsonme{glF~teke}7
59.14 59.15
he mro \captionslsorbian de(nes ll strings used in the four stndrd doE A umentlsses provided with v iF
70 The
le described in this section has version number v1.0g and was last revised on
QUH
newdtelsorin
he mro \newdatelsorbian rede(nes the ommnd \today to produe vower orin dtesF
dnmedef{newdtegurrentyption}{7 deftody{numerdyF~ifsemonthor 59.39 jnuror feruror mv eror prylor mjor 59.40 junijor julijor wgustor septemror oktoror 59.41 nowemror deemrfi 59.42 spe numeryer}}
59.37 59.38
olddtelsorin
he mro \olddatelsorbian rede(nes the ommnd \today to produe oldEstyle vower orin dtesF
dnmedef{olddtegurrentyption}{7 deftody{numerdyF~ifsemonthor 59.45 wjelikego rov zkor 59.46 ml ego rov zkor 59.47 nlv etnikor 59.48 jtv sownikor 59.49 rov zownikor 59.50 smv znikor 59.51 prv znikor 59.52 v znje9nor 59.53 pov znje9nor 59.54 winowor 59.55 nzymnikor 59.56 godownikfi spe numeryer}}
59.43 59.44
extrslsorin noextrslsorin
he mro \extraslsorbian will perform ll the extr de(nitions needed for the lsorin lngugeF he mro \noextraslsorbian is used to nel the tions of \extraslsorbianF por the moment these mros re empty ut they re de(ned for omptiility with the other lnguge de(nition (lesF
dnmedef{extrsgurrentyption}{} dnmedef{noextrsgurrentyption}{}
59.59 59.60
he mro \ldf@finish tkes re of looking for on(gurtion (leD setting the min lnguge to e swithed on t \begin{document} nd resetting the tegory ode of @ to its originl vlueF
59.61 59.62
ldfdfinishgurrentyption /code
QUI
60
he (le usorbian.dtx71 st de(nes ll the lngugeEspei( mros for pper orinF he mro \LdfInit tkes re of preventing tht this (le is loded more thn oneD heking the tegory ode of the @ signD etF
60.1 60.2
code vdfsnitgurrentyption{dtegurrentyption}
hen this (le is red s n optionD iFeF y the \usepackage ommndD usorbian will e n unknown9 lngugeD in whih se we hve to mke it knownF o we hek for the existene of \l@usorbian to see whether we hve to do someE thing hereF es babel lso knwos the option uppersorbian we hve to hek tht s wellF
ifxlduppersorindundefined ifxldusorindundefined 60.5 dnoptterns{sorin} 60.6 dddiletldusorinzd 60.7 letlduppersorinldusorin 60.8 else 60.9 letlduppersorinldusorin 60.10 fi 60.11 else 60.12 letldusorinlduppersorin 60.13 fi
60.3 60.4
he next step onsists of de(ning ommnds to swith to @nd fromA the pper orin lngugeF
ptionsusorin
dnmedef{ptionsgurrentyption}{7 defprefenme{wod}7 60.16 defrefnme{efereny}7 60.17 defstrtnme{estrkt}7 60.18 definme{vitertur}7 60.19 defhpternme{upitl}7 60.20 defppendixnme{hodwki}7 60.21 defontentsnme{osh}7 60.22 deflistfigurenme{pis worzow}7 60.23 deflisttlenme{pis tulkow}7 60.24 defindexnme{sndeks}7 60.25 deffigurenme{orz}7 60.26 deftlenme{ulk}7 60.27 defprtnme{h9zv el}7 60.28 defenlnme{v rl oh}7 60.29 defnme{gg}7 60.30 defhedtonme{uomu}7 60.31 defpgenme{tron}7 60.32 defseenme{hlF}7 60.33 deflsonme{hlF~tev z}
60.14 60.15
he mro \captionsusorbian de(nes ll strings used in the four stndrd doE A umentlsses provided with v iF
71 The
le described in this section has version number v1.0k and was last revised on
QUP
newdteusorin
he mro \newdateusorbian rede(nes the ommnd \today to produe pper orin dtesF
dnmedef{newdtegurrentyption}{7 deftody{numerdyF~ifsemonthor 60.39 jnuror feruror mv eror prylor mejeor junijor 60.40 julijor wgustor septemror oktoror 60.41 nowemror deemrfi 60.42 spe numeryer}}
60.37 60.38
olddteusorin
he mro \olddateusorbian rede(nes the ommnd \today to produe oldEstyle pper orin dtesF
dnmedef{olddtegurrentyption}{7 deftody{numerdyF~ifsemonthor 60.45 wulkeho r9ov zkor ml eho r9ov zkor nlv etnikor 60.46 jutrownikor r9ov zownikor smv znikor prv znikor 60.47 v znjenor pov znjenor winowor nzymnikor 60.48 hodownikfi spe numeryer}}
60.43 60.44
extrsusorin
he mro \extrasusorbian will perform ll the extr de(nitions needed for the pper orin lngugeF st9s pirted from germanb.styF he mro \noextrasusorbian is used to nel the tions of \extrasusorbianF feuse for pper orin @s well s for huthA the " hrter is mde tiveF his is done oneD lter on its de(nition my vryF
sn order for i to e le to hyphente qermn pper orin words whih ontin 9 we hve to give the hrter nonzero \lccode @see eppendix rD the iookAF es some of the other lnguge de(nitions turn the hrter ^ into shorthnd we need to mke sure tht it hs it9s orginil de(nition hereF
egingroup todeU defx{endgroup 60.59 expndfterddtosnme extrsgurrentyptionendsnme{7 60.60 eldsvevrile{lode}7 60.61 lode}} 60.62 x
60.57 60.58
he umlut ent mro \" is hnged to lower the umlut dotsF he rede(nition is done with the help of \umlautlowF
60.63
expndfterddtosnme extrsgurrentyptionendsnme{7
QUQ
providehyphenmins{gurrentyption}{twdtwd}
dq
e sve the originl doule quote hrter in \dq to keep it villeD the mth ent \" n now e typed s "F elso we store the originl mening of the ommnd \" for future useF
tremsD
delredshorthnd{usorin}{4e}{textormth{4{e}}{ddot e}} delredshorthnd{usorin}{4i}{textormth{4{i}}{ddot i}} 60.81 delredshorthnd{usorin}{4i}{textormth{4{i}}{ddotimth}} 60.82 delredshorthnd{usorin}{4s}{textormth{4{s}}{ddot s}}
60.79 60.80
delredshorthnd{usorin}{4s}{textormth{ss{}}{d{}}} delredshorthnd{usorin}{4}{}
disretionry ommnds
delredshorthnd{usorin}{4}{textormth{lddis delredshorthnd{usorin}{4g}{textormth{lddis 60.95 delredshorthnd{usorin}{4f}{textormth{lddis 60.96 delredshorthnd{usorin}{4p}{textormth{lddis 60.97 delredshorthnd{usorin}{4l}{textormth{lddis 60.98 delredshorthnd{usorin}{4v}{textormth{lddis 60.99 delredshorthnd{usorin}{4m}{textormth{lddis 60.100 delredshorthnd{usorin}{4w}{textormth{lddis 60.101 delredshorthnd{usorin}{4n}{textormth{lddis
60.93 60.94
QUR
mdqon ell tht9s left to do now is to de(ne ouple of ommnds for resons of omptE mdqoff iility with german.styF k 60.112 defmdqon{shorthndon{4}} 60.113 defmdqoff{shorthndoff{4}} 60.114 defk{llowhyphensdisretionry{kE}{k}{k}llowhyphens}
he mro \ldf@finish tkes re of looking for on(gurtion (leD setting the min lnguge to e swithed on t \begin{document} nd resetting the tegory ode of @ to its originl vlueF
60.115 60.116
ldfdfinishgurrentyption /code
QUS
61
he (le turkish.dtx72 de(nes ll the lnguge de(nition mros for the urkish lnguge73 F urkish typogrphi rules speify tht little white spe9 should e dded efore the hrters :9D !9 nd =9F sn order to insert this white spe utomtE illy these hrters re mde tive9F elso \frenhspacing is setF he mro \LdfInit tkes re of preventing tht this (le is loded more thn oneD heking the tegory ode of the @ signD etF
61.1 61.2
code vdfsnit{turkish}ptionsturkish
hen this (le is red s n optionD iFeF y the \usepackage ommndD turkish ould e n unknown9 lnguge in whih se we hve to mke it knownF o we hek for the existene of \l@turkish to see whether we hve to do something hereF
ifxldturkishdundefined dnoptterns{urkish} 61.5 dddiletldturkishHfi
61.3 61.4
he next step onsists of de(ning ommnds to swith to @nd fromA the urkE ish lngugeF
ptionsturkish
ddtoptionsturkish{7 defprefenme{4yns4oz}7 61.8 defrefnme{uynklr}7 61.9 defstrtnme{4yzet}7 61.10 definme{uynk }7 61.11 defhpternme{f4ol4um}7 61.12 defppendixnme{ik}7 61.13 defontentsnme{Fs indekiler}7 61.14 deflistfigurenme{ ekil vistesi}7 61.15 deflisttlenme{lo vistesi}7 61.16 defindexnme{hizin}7 61.17 deffigurenme{ ekil}7 61.18 deftlenme{lo}7 61.19 defprtnme{ui si m}7 61.20 defenlnme{Fsli sik}7 61.21 defnme{hiu ger eli i lr}7 61.22 defhedtonme{eli i}7 61.23 defpgenme{yf}7 61.24 defsujetnme{Fslgili}7 61.25 defseenme{kzF}7 61.26 deflsonme{yri kzF}7 61.27 defproofnme{uni t}7 61.28 defglossrynme{qlossry}7 `EE xeeds trnsltion 61.29 }7
61.6 61.7
he mro \captionsturkish de(nes ll strings used in the four stndrd douE A mentlsses provided with v iF
72 The
le described in this section has version number v1.2m and was last revised on Burc,
2005/03/31.
73 Mustafa
based on the work by Pierre Mackay; Turgut Uyar, translations in version 1.2j and later
z6001@rziris01.rrz.uni-hamburg.de provided the code for this le. It is uyar@cs.itu.edu.tr supplied additional
QUT
dteturkish
defdteturkish{7 deftody{numerdy~ifsemonthor 61.32 ykor utor wrtor xisnor wyi{}sor rzirnor 61.33 emmuzor eu gustosor iyl4ulor ikimor usi{}mor 61.34 erli{}kfi 61.35 spenumeryer}}
61.30 61.31
extrsturkish noextrsturkish
he mro \extrasturkish will perform ll the extr de(nitions needed for the urkish lngugeF he mro \noextrasturkish is used to nel the tions of \extrasturkishF urkish typogrphi rules speify tht little white spe9 should e dded efore the hrters :9D !9 nd =9F sn order to insert this white spe utomtE illy these hrters re mde \activeD so they hve to e treted in speil wyF
por urkish texts \frenchspacing should e in e'etF e mke sure this is the se nd reset it if neessryF
61.42 61.43
ddtoextrsturkish{ldfrenhsping} ddtonoextrsturkish{ldnonfrenhsping}
he de(nitions for the three tive hrters were mde using intermedite mrosF hese re de(ned nowF he insertion of extr white spe9 should only hppen outside mth modeD hene the hek \ifmmode in the mrosF
delredshorthnd{turkish}{X}{7 ifmmode 61.46 stringX7 61.47 elserelx 61.48 ifhmode 61.49 ifdimlstskipbzd 61.50 unskippenltydwthinspe 61.51 fi 61.52 fi 61.53 stringX7 61.54 fi} 61.55 delredshorthnd{turkish}{3}{7 61.56 ifmmode 61.57 string37 61.58 elserelx 61.59 ifhmode 61.60 ifdimlstskipbzd 61.61 unskippenltydwthinspe 61.62 fi
61.44 61.45
QUU
fi string37 61.65 fi} 61.66 delredshorthnd{turkish}{a}{7 61.67 ifmmode 61.68 stringa7 61.69 elserelx 61.70 ifhmode 61.71 ifdimlstskipbzd 61.72 unskipkernfontdimenPfont 61.73 kernEIFRfontdimenQfont 61.74 fi 61.75 fi 61.76 stringa7 61.77 fi}
61.63 61.64
he mro \ldf@finish tkes re of looking for on(gurtion (leD setting the min lnguge to e swithed on t \begin{document} nd resetting the tegory ode of @ to its originl vlueF
61.78 61.79
ldfdfinish{turkish} /code
QUV
62
he (le hebrew.dtx74 provides the following pkges nd (les for rerew lnE guge supportX
hebrew.ldf (le de(nes ll the lngugeEspei( mros for the rerew lngugeF rlbabel.def (le is used y hebrew.ldf for idiretionl versions of the mjor A v i ommnds nd environmentsF st is designed to e used with other rightEtoEleft lngugesD not only with rerewF hebcal.sty pkge de(nes set of mros for omputing rerew dte from qregorin oneF
edditionl rerew input nd font enoding de(nition (les tht should e inE luded nd used with hebrew.ldf reX
hebinp.dtx provides rerew input enodingsD suh s sy VVSWEVD w indows odepge IPSS or sfw g odepge VTP @see etion TQ on pge RPPAF hebrew.fdd ontins rerew font enodingsD relted font de(nition (les nd hebfont pkge tht provides rerew font swithing ommnds @see eE tion TR on pge RPW for further detilsAF
A v i PFHW omptiility (les re inluded with heb209.dtx nd gives possiilE A ity to ompile existing v i PFHW rerew douments with smll @if nyA hnges @see etion TS on pge RRT for detilsAF pinllyD optionl doument lss hebtech my e useful for writing theses nd disserttions in oth rerew nd inglish @nd ny other lnguges inluded with babelAF st designed to meet requirements of the qrdute hool of the ehnion " ssrel snstitute of ehnologyF
As of version 2.3e hebtech is no longer distributed together with heblatex. It should be part of a new "hebclasses" package
62.1 Acknowledgement
he following people hve ontriuted to rerew pkge in one wy or notherD knowingly or unknowinglyF sn lphetil orderX srin ermoviiD niv frE guryD el huinskyD ergio pogelD hn rrnD m orrtD wihil ozmnD elon ivF tin moilov nd itly urzhsky found numer of serious ugs in preliminry version of rerew pkgeF e numer of other people hve ontriuted omments nd informtionF pei( ontriutions re knowledged within the doumentF s wnt to thnk my wifeD itD nd sonD wishkD for their in(nite love nd ptieneF sf you mde ontriution nd s hven9t mentioned itD don9t worryD it ws n identF s9m sorryF tust tell me nd s will dd you to the next versionF
74 The
Hebrew language support les described in this section have version number v2.3h and were last revised on 2005/03/30.
QUW
docstrip
in
\generateFile{hebrew.ldf}{t}{\from{hebrew.dtx}{hebrew}}
hebrew vdfsnit{herew}{ptionsherew}
hen this (le is red s n optionD iFeFD y the \usepackage ommndD hebrew will e n unknown9 lngugeD in whih se we hve to mke it knownF o we hek for the existene of \l@hebrew to see whether we hve to do something hereF
ifxldherewdundefined dnoptterns{rerew}7 62.5 dddiletldherewH 62.6 fi
62.3 62.4
herewenoding
ypesetting rerew texts implies tht speil input nd output enoding needs to e usedF qenerllyD the user my hoose etween di'erent ville rerew enodings providedF he urrent support for rerew uses ll ville fonts from the rerew niversity of teruslem enoded in oldEode9 UEit enoding lso known s ssreli tndrd sEWTHF e de(ne for these fonts the vol rerew inoding LHE @see the (le hebrew.fdd for more detilsAD nd the LHE enoding de(nition (le should e loded y defultF yther fonts re ville in windowsEpIPSS @ superset of syEVVSWEV with nikudAF por thoseD the enoding HE8 should e usedF uh fonts reD eFgFD windows9 rueype fonts @one nverted to ypeI or wetpontA nd sfw9s ypeI fontsF roweverD if n user wnts to use nother font enodingD for exmpleD yrilli enoding P nd extended ltin enoding ID " heGshe hs to lod the orreE sponding (le before the hebrew pkgeF his my e done in the following wyX
\usepackage[LHE,T2,T1]{fontenc} \usepackage[hebrew,russian,english]{babel}
A e mke sure tht the LHE enoding is known to v i t end of this pkgeF elso note tht if you wnt to use the enoding HE8 D you should de(ne the following in your doumentD before loading babel X
\def\HeblatexEncoding{HE8} \def\HeblatexEncodingFile{he8enc}
QVH
provideommnd{reltexinoding}{vri}7 provideommnd{reltexinodingpile}{lheen}7 62.9 newommnd{heltexdsetdenoding}P{ 62.10 } 62.11 etindyfkge{7 62.12 difpkgeloded{fonten}{7 62.13 difldded{def}{7 62.14 reltexinodingpile}{defherewenoding{reltexinoding}}{}7 62.15 }{7 62.16 input{reltexinodingpileFdef}7 62.17 defherewenoding{reltexinoding}7 62.18 }}
62.7 62.8
e lso need to lod inputen pkge with one of the rerew input enodingsF fy defultD we set up the 8859-8 odepgeF sf n user wnts to use mny input enodings in the sme doumentD for exmpleD the w indows rerew odepge cp1255 nd the stndrd sfw g ussin odepge cp866D heGshe hs to lod the orresponding (le before the herew pkge tooF his my e done in the following wyX
\usepackage[cp1255,cp866]{inputenc} \usepackage[hebrew,russian,english]{babel}
en user n swith input enodings in the doument using the ommnd \inputencodingD for exmpleD to use the cp1255X
\inputencoding{cp1255}
62.19 62.20
etindyfkge{7 difpkgeloded{inputen}{}{equirekgeVVSWEV{inputen}}}
he next step onsists of de(ning ommnds to swith to @nd fromA the reE rew lngugeF
herewhyphenmins
his mro is used to store the orret vlues of the hyphention prmeters \lefthyphenmin nd \righthyphenminF hey re set to PF
providehyphenmins{gurrentyption}{twdtwd}
62.21
ptionsherew
ddtoptionsherew{7 defprefenme{densured{hememheethevvhelef}}7 62.24 defrefnme{densured{hereshheshinheyodhememhetv 7 62.25 hememheqofhevvhereshhevvhetv}}7 62.26 defstrtnme{densured{hetvheqofhetsdiheyodheresh}}7 62.27 definme{densured{heetheyodheethelmedheyodhevv7 62.28 hegimelhereshhepeheyodhehe}}7 62.29 defhpternme{densured{hepehereshheqof}}7 62.30 defppendixnme{densured{henunhesmekhhepehehet}}7 62.31 defontentsnme{densured{7 62.32 hetvhevvhekfhefinlnun 7 62.33 heyinhenunheyodheyodhenunheyodhefinlmem}}7 62.34 deflistfigurenme{densured{7 62.35 hereshheshinheyodhememhetv 7 62.36 helefheyodhevvhereshheyodhefinlmem}}7
62.22 62.23
he mro \captionshebrew reples ll ptions used in the four stndrd doE A ument lsses provided with v i P with their rerew equivlentsF
QVI
62.37 62.38 62.39 62.40 62.41 62.42 62.43 62.44 62.45 62.46 62.47 62.48 62.49 62.50 62.51 62.52 62.53 62.54 62.55
deflisttlenme{densured{7 hereshheshinheyodhememhetv hetetheethelmedhelefhevvhetv}}7 defindexnme{densured{hememhepehetvhehet}}7 deffigurenme{densured{helefheyodhevvheresh}}7 deftlenme{densured{hetetheethelmedhehe}}7 defprtnme{densured{hehethelmedheqof}}7 defenlnme{densured{hereshhetsdi4heet}}7 defnme{densured{heheheyinhetvheqofheyod7 hefinlmem}}7 defhedtonme{densured{helefhelmed}}7 defpgenme{densured{heyinhememhevvhedlet}}7 defpsnme{densured{henunFheetF}}7 defseenme{densured{hereshhelefhehe}}7 deflsonme{densured{hereshhelefhehe hegimel7 hememesof}}7 defproofnme{densured{hehehevvhekfhehethehe}} defglossrynme{densuredv{qlossry}}7 `EE xeeds trnsltion
slidelel
rere we (x the mro slidelabel of the seminr pkgeF xote tht this still won9t work well enough when overlys will e involved
diflssloded{seminr}{7 defslidelel{f ifdrl{heshinheqofhefinlpe{} theslide}7 62.58 elsev{lide theslide}7 62.59 fi}7 62.60 }{}
62.56 62.57
rere we provide n user with trnsltion of qregorin dtes to rerewF sn dditionD the hebcal pkge n e used to rete rerew lendr dtesF
hemonth
defhemonth5I{7 ifse5Ior heyodhenunhevvhelefhereshor 7 62.63 hepeheethereshhevvhelefhereshor 7 62.64 hememhereshhefinltsdior 7 62.65 helefhepehereshheyodhelmedor 7 62.66 hememhelefheyodor heyodhevvhenunheyodor 7 62.67 heyodhevvhelmedheyodor 7 62.68 helefhevvhegimelhevvhesmekhhetetor 7 62.69 hesmekhhepehetethememheethereshor 7 62.70 helefhevvheqofhetethevvheethereshor 7 62.71 henunhevvheethememheethereshor 7 62.72 hedlethetsdihememheethereshfi}
62.61 62.62
hedte
hedy
62.76
QVP
dteherew
he mro \datehebrew rede(nes the ommnd \today to produe qregorin dtes in rerewF st uses the mro \hebdayF
defdteherew{lettodyahedy}
62.77
he mro \extrashebrew will perform ll the extr de(nitions needed for the rerew lngugeF he mro \noextrashebrew is used to nel the tions of \extrashebrewF
extrsherew
e swith font enoding to rerew nd diretion to rightEtoEleftF e nE not use the regulr lnguge swithing ommnds @for exmpleD \sethebrew nd \unsethebrew or \selectlanguage{hebrew}AD when in restrited horizonE tl modeD euse it will result in unbalanced \beginR or \beginL primitivesF snstedD in i9s restrited horizontl modeD the \L{latin text } nd \R{hebrew text }D or \embox{latin text } nd \hmbox{hebrew text } should e usedF reneD we use \beginR nd \beginL swithing ommnds only when not in restrited horizontl modeF
noextrsherew
he mro \noextrashebrew is used to nel the tions of \extrashebrewF e swith k to the previous font enoding nd restore leftEtoEright diretionF
qenerllyD we n swith toE nd fromE rerew y mens of stndrd babelE de(ned ommndsD for exmpleD
\selectlanguage{hebrew}
or
he ommnd \sethebrew will swith from the urrent font enoding to the heE rew font enodingD nd from the urrent diretion of text to the rightEtoEleft modeF he ommnd \unsethebrew swithes kF foth ommnds use stndrd rightEtoEleft swithing mros \setrllanguage{ r2l language name } nd \unsetrllanguage{r2l language name }D tht de(ned in the rlbabel.def (leF
defsetherew{setrllnguge{herew}} defunsetherew{unsetrllnguge{herew}}
62.84 62.85
herewtext noherewtext
A he following two ommnds re obsolete nd work only in v iPFHW omptiilE ity modeF hey re synonyms of \sethebrew nd \unsethebrew de(ned oveF
QVQ
toherew fromherew
hese two ommnds hnge only the urrent font enoding toE nd fromE reE rew enodingF heir implementtion uses \@torl{language name } nd \@fromrl mros de(ned in rlbabel.def (leF foth ommnds my e useful only for pkE ge nd lss writersD not for regulr usersF
deftoherew{dtorl{herew}}7 deffromherew{dfromrl}
62.90 62.91
dherew
ometimes we need to preserve rerew mode without knowing in whih environE ment we re loted nowF por these sesD the \@hebrew{hebrew text } mro will e usefulF xot tht this mro is similr to the \@number nd \@latin mros de(ned in rlbabel.def (leF
defddherew5I{egin{{toherew5I}}end} defdherew{protetddherew}
62.92 62.93
62.3.1
Hebrew numerals
e provide ommnds to print numers in the trditionl nottion using rerew lettersF e need ommnds tht print rerew numer from deiml inputD s well s ommnds to print the vlue of ounter s rerew numerF
ifdgimdpost ifdgimdfinl
rerew numers n e written in vrious stylesX with or without postrophesD nd with the letters kfD memD nunD peD tsdi s either (nl or initil forms when they re the lst letters in the sequeneF e provide two )gs to set the style optionsF
newififdgimdpost newififdgimdfinl 7 whether we print postrophes 7 whether we use finl or initil letters
62.94 62.95
he ommnds tht print rerew numer must speify the style lollyX relying on glol style option ould use ounter to print in n inonsistent mnner" for instneD pge numers might pper in di'erent styles if the glol style option hnged midEwy through doumentF he ommnds only llow three of the four possile )g omintions @s do not know of use tht requires the omintion of (nl letters nd no postrophes !eAF ih ommnd sets the style )gs nd lls \@hebrew@numeralF houle res re used in order to protet the vlues of \@tempcnta nd \@tempcntbD whih re hnged y this llY they lso keep the )g ssignments lol @this is not importnt euse the glol vlues re never usedAF
newommndB{herewnumerl}I 7 no postropheD no finl letters {{dgimdfinlflsedgimdpostflsedherewdnumerl{5I}}} 62.98 newommndB{rerewnumerl}I 7 postropheD no finl letters 62.99 {{dgimdfinlflsedgimdposttruedherewdnumerl{5I}}} 62.100 newommndB{rerewnumerlfinl}I 7 postropheD finl letters 62.101 {{dgimdfinltruedgimdposttruedherewdnumerl{5I}}}
62.96 62.97
gounterEprinting ommnds re sed on the ove ommndsF he nturl nme for the ounterEprinting ommnds is \alphD euse rerew numerls re the only wy to represent numers with rerew letters @kf lwys mens PHD never IIAF QVR
rerew hs no upperse lettersD hene no need for the fmilir mening of \AlphY we therefore de(ne \alph to print ounters s rerew numerls without postroE phesD nd \Alph to print with postrophesF e third formD \AlphfinalD is provided to print with postrophes nd (nl lettersD s is required for rerew yer designE torsF he ommnds \alph nd \Alph re de(ned in latex.ltxD nd we only need to rede(ne the internl ommnds \@alph nd \@AlphY for \Alphfinal we need to provide oth wrpper nd n internl ommndF he ounter printing omE mnds re mde semiEroustX without the \protectD ommnds like \theenumii rek @s9m not quite ler on why this hppensD !eAY t the sme timeD we nnot mke the ommnds too roust @eFgF with \DeclareRobustCommandA euse this would enter the ommnd nme rther thn its vlue into (les like .auxD .toc etF he old menings of mening of \@alph nd \@Alph re sved upon entering rerew mode nd restored upon exiting itF
ddtoextrsherew{7 letsveddlphadlph7 62.104 letsveddelphadelph7 62.105 renewommndB{dlph}I{protetherewnumerl{numer5I}}7 62.106 renewommndB{delph}I{protetrerewnumerl{numer5I}}7 62.107 defelphfinl5I{expndfterdelphfinlsnme d5Iendsnme}7 62.108 provideommndB{delphfinl}I{protetrerewnumerlfinl{numer5I}}} 62.109 ddtonoextrsherew{7 62.110 letdlphasveddlph7 62.111 letdelphasveddelph}
62.102 62.103
xote tht \alph @without postrophesA is lredy the pproprite hoie for the seondElevel enumerte lelD nd \Alph @with postrophesA is n pproprite A hoie for ppendixY howeverD the defult v i lels need to e rede(ned for A pproprite rossErefereningD see elowF v i defult lss (les speify \Alph for the fourthElevel enumerte levelD this should proly e hngedF elsoD the wy lels get )ushed left y defult looks inpproprite for rerew numerlsD so we should rede(ne \labelenumii s well s \labelenumiv @presently not impleE mentedAF
theenumii theenumiv lel
grossEreferenes to ounter lels need to e printed ording to the lnguge environment in whih lel ws issuedD not the environment in whih it is lledX for exmpleD lel @IA issued in vtin environment should e referred to s @IA in rerew textD nd lel @PdletA issued in rerew environment should e referred to s @PdletA in vtin textF his ws the unnimous opinion in poll sent to the svrii listF e therefore rede(ne \theenumii nd \theenumivD so tht n expliit lnguge instrution gets written to the .aux (leF
renewommnd{theenumii} {ifdrlprotetherewnumerl{numerdenumii}7 62.114 elseprotetv{protetddlph{numerdenumii}}fi} 62.115 renewommnd{theenumiv} 62.116 {ifdrlprotetrerewnumerl{numerdenumiv}7 62.117 elseprotetv{protetddelph{numerdenumiv}}fi}
62.112 62.113
e lso need to ontrol for the font nd diretion in whih ounter lel is printedF hiretion is strightforwrdX vtin lel like @IA should e written leftEtoEright when lled in rerew textD nd rerew lel like @PdletA should e written rightEtoEleft when lled in vtin textF he font question is more deliteD euse we should deide whether the numerls should e typeset in QVS
the font of the lnguge enviroment in whih the lel ws issuedD or tht of the environment in whih it is lledF
e purely numeri lel like @PQA looks est if it is set in the font of the surrounding lngugeF fut mixed lphnumeri lel like @IA lookes weird if the I9 is tken from the rerew fontY likewiseD @PdletA looks weird if the P9 is tken from vtin fontF pinllyD mixing the two possiilities is worstD euse single rerew senE tene referring to exmples @IA nd @PA would tke the I9 from the vtin font nd the P9 from the rerew fontD nd this looks relly wfulF @st is lso very hrd to implementAF
sn light of the on)iting onsidertions it seems like there9s no perfet solutionF s hve hosen to implement the top optionD where numerls re tken from the font of the surrounding lngugeD euse it seems to me tht referene to purely numeri lels is the most ommonD so this gives good solution to the mjority of ses nd mediore solution to the minorityF e rede(ne the \label ommnd whih writes to the .aux (leF hepending on the lnguge environment we issue pproprite \beginR/L \endR/L ommnds to ontrol the diretion without 'eting the fontF ine these ommnds do not 'et the vlue of \if@rlD we nnot use the mro \@brackets to determine the orret rkets to e used with \p@enumiiiY instedD we let the lnguge environment determine n expliit de(nitionF
deflel5I{dsphk ifdrl 62.120 defpdenumiii{pdenumiiAtheenumii@}7 62.121 proteteddwriteduxout{}7 62.122 {stringnewlel{5I}{{egindurrentlelend}{thepge}}}7 62.123 else 62.124 defpdenumiii{pdenumii@theenumiiA}7 62.125 proteteddwriteduxout{}7 62.126 {stringnewlel{5I}{{eginvdurrentlelendv}{thepge}}}7 62.127 fi 62.128 desphk}
62.118 62.119
xyiX it ppers tht the de(nition of \label is lngugeEindependent nd thus elongs in rlbabel.defD ut this is not the seF he deision to typeset lel numerls in the font of the surrounding lnguge is resonle for rerewD eE use mixedEfont @IA nd @PdletA re somewht eptleF he sme my not e eptle for eriD whose numerl glyphs re rdilly di'erent from those in the vtin fontsF he deision out the diretion my lso e di'erent for erE iD whih is more rightEtoEleft oriented thn rerew @two exmplesX dtes like ISGTGPHHQ re written leftEtoEright in rerew ut rightEtoEleft in eriY equE tions like 1 + 2 = 3 re written leftEtoEright in rerew ut rightEtoEleft in eri elementry shool textooks using eri numerl glyphsAF wy personl hunh is tht lel like @IA in n eri text would e typeset leftEtoEright if the I9 is estern glyphD ut rightEtoEleft if the I9 is n eri glyphF fut this is just guessD s9d hve to sk er typesetters to (nd the orret nswerF !eF
ppendix
he following ode provides for the proper printing of ppendix numers in tles of ontentsF etion nd hpter hedings re normlly ilingulX regrdless of QVT
the text lngugeD the uthor supplies eh setionGhpter with two hedings" one for the rerew tle of ontents nd one for the vtin tle of ontentsF st mkes sense tht the lel should e vtin letter in the vtin tle of ontents nd rerew letter in the rerew tle of ontentsF he de(nition is similr to tht of \theenumii nd \theenumiv oveD ut dditionl \protect ommnds ensure tht the entire ondition is written the .aux (leF he ppendix numer will therefore e typeset ording to the environment in whih it is used rther thn issuedX rerew numer @with postrophesA in rerew environment nd vtin pitl letter in vtin environment @the ommnd \@@Alph is set in A rlbabel.def to hold the defult mening of v i ltin \@AlphD regrdless of the mode in whih it is issuedAF he net result is tht the seond ppendix will e mrked with f9 in the vtin tle of ontents nd with et9 in the rerew tle of ontentsY the mrk in the min text will depend on the lnguge of the ppendix itselfF
diflssloded{letter}{}{7 diflssloded{slides}{}{7 62.131 letddppendixappendix7 62.132 diflssloded{rtile}{7 62.133 renewommndppendix{ddppendix7 62.134 renewommndthesetion 62.135 {protetifdrlprotetrerewnumerl{numerdsetion}7 62.136 protetelseddelphdsetionprotetfi}}} 62.137 {renewommndppendix{ddppendix7 62.138 renewommndthehpter 62.139 {protetifdrlprotetrerewnumerl{numerdhpter}7 62.140 protetelseddelphdhpterprotetfi}}}}}
62.129 62.130
isyxX is this lso the pproprite wy to refer to n ppendix in the textD or should we retin the originl lel the sme wy we did with enumerate lelsc exyri isyxX re similr rede(nitions needed for other ounters tht generte texts in ilingul lists like .lof/.fol nd .lot/.tolc !eF
dherewdnumerl
he ommnd \@hebrew@numeral prints rerew numerF he groups of thouE sndsD millionsD illions re seprted y postrophes nd typeset without postroE phes or (nl lettersY the reminder @under IHHHA is typeset onventionllyD with the seleted styles for postrophes nd (nl lettersF he funtion lls on \gim@no@mil to typeset eh threeEdigit lokF he lgorithm is reursiveD ut the mximum reE ursion depth is R euse i only llows numers up to 231 1 = 2,147,483,647F he typesetting routine is wrpped in \@hebrew in order to ensure tht numers re lwys typeset in rerew modeF snitilizeX \@tempcnta holds the vlueD \@tempcntb is used for lultionsF
ifnumdtempntaHgimdnomildtempntrelx
sf we9re ove IHHH then fore no postrophe nd no (nl letter styles for the vlue ove IHHHD reur for the vlue ove IHHHD dd n postropheD nd ll \gim@nomil for the reminderF
62.145 62.146
QVU
fi }}
xyiX is it the se tht ISDHHH nd ITDHHH re written s yodEhe nd yodEvvD rther thn tetEvv nd tetEzyinc his vguely rings ellD ut s9m not ertinF sf this is the seD then the urrent ehvior is inorret nd should e hngedF !eF
gimdnomil
he ommnd \gim@nomil typesets n integer etween H nd WWW @for H it typesets nothingAF he ode hs een modi(ed from the old hebcal.sty @pproprite redits"foris vvv nd wihil ozmn cAF \@tempcnta holds the totl vlue tht remins to e typesetF et eh stge we (nd the highest vlued letter tht is less thn or equl to \@tempcntaD nd ll on \gim@print to sutrt this vlue nd print the letterF snitilizeX \@tempcnta holds the vlueD there is no previous letterF
newommndB{gimdnomil}I{dtempnta5Idgimdprevflse dtempntadtempntdividedtempnt y IHHrelx 7 hundreds digit ifsedtempnt 7 print nothing if no hundreds orgimdprint{IHH}{heqof}7 orgimdprint{PHH}{heresh}7 orgimdprint{QHH}{heshin}7 orgimdprint{RHH}{hetv}7 orhetvdgimdprevtruegimdprint{SHH}{heqof}7 orhetvdgimdprevtruegimdprint{THH}{heresh}7 orhetvdgimdprevtruegimdprint{UHH}{heshin}7 orhetvdgimdprevtruegimdprint{VHH}{hetv}7 orhetvdgimdprevtruehetvgimdprint{WHH}{heqof}7 fi
62.151
pind the tens digitF he numers IS nd IT re trditionlly printed s tetEvv @9 + 6A nd tetEzyin @9 + 7A to void spelling the vord9s nmeF
62.164 62.165 62.166 62.167 62.168 62.169 62.170 62.171
dtempntadtempntdividedtempnt y IHrelx 7 tens digit ifsedtempnt 7 print nothing if no tens or 7 numer etween IH nd IW ifnumdtempnt a IT gimdprint {W}{hetet}7 tetEzyin elseifnumdtempnt a IS gimdprint {W}{hetet}7 tetEvv else gimdprint{IH}{heyod}7 fi 7 dtempnt a IS fi 7 dtempnt a IT
snitil or (nl forms re seleted ording to the urrent style optionY \gim@print will fore nonE(nl letter in nonE(nl position y mens of lol style hngeF
62.172 62.173 62.174 62.175 62.176 62.177 62.178 62.179 62.180
fi
QVV
ifsedtempnt orgimdprint{I}{helef}7 orgimdprint{P}{heet}7 orgimdprint{Q}{hegimel}7 orgimdprint{R}{hedlet}7 orgimdprint{S}{hehe}7 orgimdprint{T}{hevv}7 orgimdprint{U}{hezyin}7 orgimdprint{V}{hehet}7 orgimdprint{W}{hetet}7 fi
gimdprint ifdgimdprev
he tul printing routine typesets digit with the pproprite postrophesX if numer sequene onsists of single letter then it is followed y single postropheD nd if it onsists of more thn one letter then doule postrophe is inserted efore the lst letterF e typeset the letters one t timeD keeping )g tht tells us if ny previous letters hd een typesetF
newififdgimdprev 7 flg if previous letter hs een typeset
62.193
por eh letterD we (rst sutrt its vlue from the totlF henD
if the result is zero then this is the lst letterY we hek the )g to see if this is the only letter nd print it with the pproprite postropheY if the result is not zero then there remin dditionl letters to e typesetY we print without n postrophe nd set the previous letter9 )gF
\@tempcnta holds the totl vlue tht remins to e typesetF e (rst dedut the letter9s vlue from \@tempcntaD so \@tempcnta is zero if nd only if this is the lst letterF
62.194 62.195
newommndB{gimdprint}P{7 5P is letterD 5I is its vlueF dvnedtempnt y E5Irelx7 dedut the vlue from the reminder
sf this is the lst letterD we print with the pproprite postrophe @depending on the style optionAX if there is preeding letterD print "x if the style lls for postrophesD x if it doesn9tY otherwiseD this is the only letterX print x' if the style lls for postrophesD x if it doesn9tF
62.196 62.197 62.198
sf this is not the lst letterX print nonE(nl form @y foring lol style optionA nd set the previous letter9 )gF
62.199
else{dgimdfinlflse5P}dgimdprevtruefi}
her gim
he older rerew ounter ommnds \hebr nd \gim re retined in order to keep older douments from rekingF hey re set to e equivlent to \alphD nd their use is depretedF xote tht \hebr gives di'erent results thn it hd in the pst"it now typesets II s yodElef rther thn kfF
letheralph letgimalph
62.200 62.201
QVW
por kwrd omptiility with older9 hebrew.sty pkgesD we de(ne reE A rew equivlents of some useful v i ommndsF xoteD howeverD tht VEit mros de(ned in rerew re no longer supportedF
defheopy{protet{heheheyinhetvheqof}} defheinl{protet{hereshhetsdi4heet}} 62.204 defhepge{protet{heyinhememhevvhedlet}} 62.205 defheto{protet{heyinhedlet}}
62.202 62.203
\hadgesh produe poor mn9s old @hevy printoutAD when used with norml font glyphsF st is dvisle to use old font @for exmpleD Dead Sea A insted of this mroF
defhdgesh5I{levevmodesetoxHahox{5I}7 kernEFHPSemopyHkernEwdH 62.208 kernFHSemopyHkernEwdH 62.209 kernEFHPSemriseFHRQQemoxH }
62.206 62.207
\piska nd \piskapiska sometimes used in older9 herew souresD nd should A not e used in v i P F
letmkfgdolatextendsh letmkfnkatextemdsh 62.216 letgereshatextquoteright 62.217 letopengereshatextquoteright 62.218 letlosegereshatextquoteleft 62.219 letopenquoteatextquotedlright 62.220 letlosequoteatextquotedlleft 62.221 letleftquottionatextquotedlright 62.222 letrightquottionatextquotedlleft
62.214 62.215
he following ommnds re simply synonyms for the stndrd onesD provided A with v i P F
e need to ensure tht rerew is used s the defult rightEtoEleft lnguge t \begin{document}F he mehnism of de(ning the \@rllanguagename is the sme s in babel9s \languagenameX the lst rightEtoEleft lnguge in the \usepackage{babel} line is set s the defult rightEtoEleft lnguge t doument eginningF por exmpleD the following odeX
\usepackage[russian,hebrew,arabic,greek,english]{babel}
will set the eri lnguge s the defult rightEtoEleft lnguge nd the inglish lnguge s the defult lngugeF es resultD the ommnds \L{} nd \embox{} will use inglish nd \R{} nd \hmbox{} will use eri y defultF hese defults n e hnged with the next \sethebrew or \selectlanguage{language name } ommndF
62.223
etfeginhoument{defdrllngugenme{herew}}
he mro \ldf@finish tkes re of looking for on(gurtion (leD setting the min lnguge to e swithed on t \begin{document} nd resetting the tegory ode of @ to its originl vlueF
62.224 62.225
ldfdfinish{herew} /hebrew
QWH
xoteD tht Ei9s formt (le should e reted for extended modeF wode n e heked y running Ei on some i (leD for exmpleX
ifxeginvdundefined7 newlinehrt 62.232 typeout{to void this error messgeDt7 62.233 run eEEe or eEe engine insted of regulr eFt} 62.234 errmessge{ightEtoEveft upport irrorX use eEEe or eEe 62.235 engine}7 62.236 fi
62.230 62.231
62.4.1
\@torl nd \@fromrl re lled eh time the horizontl diretion hngesF hey do ll tht is neessry esides hnging the diretionF gurrently their tsk is to hnge the enoding informtion nd mode @ondition \if@rlAF hey should not normlly e lled y usersX userElevel mrosD suh s \sethebrew nd \unsethebrewD s well s babel9s \selectlanguage re de(ned in lngugeE de(nition (les nd should e used to hnge defult lnguge @nd diretionAF vol diretion hnging ommnds @for smll piees of textAX \L{}D \R{}D \embox{} nd \hmbox{} re de(ned elow in this (le in lngugeEindependent mnnerF
ifdrl
rltrue mens tht the min mode is urrently ightEtoEveftF rlfalse mens tht the min mode is urrently veftEtoEightF
newififdrl
62.237
ifdrlmin
his is the min diretion of the doumentF nlike \if@rl it is set one nd never hngesF
rltrue mens tht the doument is ightEtoEveftF rlfalse mens tht the doument is veftEtoEightF
QWI
rtilly \if@rlmain is set ording to the vlue of \if@rl in the eginning of the runF
etfeginhoument{7 rere we set the min doument diretion newififdrlmin7 62.240 ifdrl7 eFgX if the options to el were englishDherew 62.241 drlmintrue7 62.242 else7 eFgX if the options to el were herewDenglish 62.243 drlminflse7 62.244 fi7 62.245 }
62.238 62.239
dtorl
withes urrent diretion to ightEtoEveftX sves urrent veftEtoEight enE oding in \lr@encodingdefaultD sets required ightEtoEveft lnguge nme in \@rllanguagename @similr to babel9s \languagenameA nd hnges deretionF he ightEtoEveft lnguge enoding should e de(ned in .ldf (le s speil mro reted y ontention of the lnguge nme nd string encodingD for exmpleD for rerew it will e \hebrewencodingF
helreoustgommnd{dtorl}I{7 ifdrlelse7 62.248 letlrdenodingdefultaenodingdefult7 62.249 fi7 62.250 defdrllngugenme{5I}7 62.251 defenodingdefult{snme5Ienodingendsnme}7 62.252 fontenoding{enodingdefult}7 62.253 seletfont7 62.254 drltrue}
62.246 62.247
dfromrl
ypposite to \@torlD swithes urrent diretion to veftEtoEightX restores sved veftEtoEight enoding @\lr@encodingdefaultA nd hnges diretionF
helreoustgommnd{dfromrl}{7 ifdrl7 62.257 letenodingdefultalrdenodingdefult7 62.258 fi7 62.259 fontenoding{enodingdefult}7 62.260 seletfont7 62.261 drlflse}
62.255 62.256
seletlnguge
his stndrd babel9s mro should e rede(ned to support idiretionl tlesF e divide \selectlanguage implementtion to two prtsD nd the (rst prt lls the seond \@@selectlanguageF
expndfterdefsnme seletlnguge endsnme5I{7 edeflngugenme{7 62.264 ifnumespehraexpndfterstring5Idempty 62.265 else string5Idemptyfi}7 62.266 ddseletlnguge{lngugenme}}
62.262 62.263
ddseletlnguge
his new internl mro rede(nes (nl prt of the stndrd babel9s \selectE language implementtionF A tndrd v i provides us with Q tlesX le of gontents @.tocAD vist of pigures @.lofAD nd vist of les @.lotAF sn multiElingul texts mixing veftEtoE ight lnguges with ightEtoEveft onesD the use of vrious diretions in one tle results in very ugly outputF hereforeD these Q stndrd tles will e used now QWP
only for veftEtoEight lngugesD nd we will dd Q ightEtoEveft tles @their extensions re simply reversed onesAX v le of gontents @.cotAD v vist of pigures @.folAD nd v vist of les @.lofAF
defddseletlnguge5I{7 seletdlnguge{5I}7 62.269 ifdfilesw 62.270 proteteddwriteduxout{}{stringseletdlnguge{5I}}7 62.271 ifdrl7 62.272 ddtoontents{ot}{xstringseletdlnguge{5I}}7 62.273 ddtoontents{fol}{xstringseletdlnguge{5I}}7 62.274 ddtoontents{tol}{xstringseletdlnguge{5I}}7 62.275 else7 62.276 ddtoontents{to}{xstringseletdlnguge{5I}}7 62.277 ddtoontents{lof}{xstringseletdlnguge{5I}}7 62.278 ddtoontents{lot}{xstringseletdlnguge{5I}}7 62.279 fi7 62.280 fi}
62.267 62.268
setrllnguge unsetrllnguge
he \setrllanguage nd \unsetrllanguage pir of mros is proved to very useful in ilingul textsD for exmpleD in rerewEinglish textsF he lngugeE spei( ommndsD for exmpleD \sethebrew nd \unsethebrew use these mros s sisF smplementtion sves nd restores other lnguge in \other@languagename vrileD nd uses internl mro \@@selectlanguageD de(ned oveD to swith etween lngugesF
letotherdlngugenmealngugenme helreoustgommnd{setrllnguge}I{7 62.283 ifdrlelse7 62.284 letotherdlngugenmealngugenme7 62.285 fi7 62.286 deflngugenme{5I}7 62.287 ddseletlnguge{lngugenme}}
62.281 62.282
v reltexedefinev
wros for hnging diretionD originlly tken from qotF sgeX \L{Left to Right text } nd \R{Right to Left text }F xumers should lso e enlosed in \L{}D s in \L{123}F xoteD tht these mros do not reeive lnguge nme s prmeterF snstedD the sved \@rllanguagename will e usedF e ssume tht eh ightEtoEveft lnguge de(nes \tolanguagename nd \fromlanguagename mros in lnguge de(nition (leD for exmpleD for rerewX \tohebrew nd \fromhebrew mros in hebrew.ldf (leF he mros \L nd \R inlude protet9 to to mke them roust nd llow useD for exmpleD in tlesF hue to the ft tht some pkges hve di'erent de(nitions for \L the mro \HeblatexRedefineL is provided to overide themF his my e required with hyperrefD for instneF
QWQ
letnexta defreltexedefinev{7 62.295 defv{protetpv}7 62.296 } 62.297 reltexedefinev 62.298 defpv{protetfterssignmentmorev letnexta } 62.299 defmorev{retext ftergroupendv eginvsnme 62.300 fromdrllngugenmeendsnme}
62.293 62.294
def{protetp} defp{protetfterssignmentmore letnexta } 62.303 defmore{retext ftergroupend eginsnme 62.304 todrllngugenmeendsnme} 62.305 defretext{iftnext{elseiftnext}fi 62.306 errmessge{wissing left re hs een sustituted}fi group} 62.307 everydisply{ifdrlftergroupeginfi }
62.301 62.302
densured wo smll internl mrosD El \ensuremath densuredv 62.308 defdensured5I{ifdrl5Ielse{5I}fi} 62.309 defdensuredv5I{ifdrlv{5I}else5Ifi}
ke re of ightEtoEveft indenttion in every prgrphF yriginllyD \noindent ws rede(ned for rightEtoEleft y niv frguryD then the implemenE ttion ws rewritten y elon iv using n ide y ghris owleyX \noindent now works unmodi(edF
defrldeverypr{ifdrl{setoxzdlstoxeginuseoxzd}fi} letodeverypraeverypr 62.312 defeverypr5I{odeverypr{rldeverypr5I}}
62.310 62.311
hmox emox
seful vox ommndsF ell text in mth formuls is est enlosed in theseX v text in \embox nd v text in \hmboxF \mbox{} is useless for oth sesD sine it typesets in veftEtoEight even for ightEtoEveft lnguges @dditions y niv frguryAF
newommnd{hmox}I{mox{{5I}}} newommnd{emox}I{mox{v{5I}}}
62.313 62.314
drkets
hen in ightEtoEveft modeD rkets should e swppedF his mro reeives Q prmetersX left rketD ontentD right rketF frkets n e squre rketsD resD or prenthesesF
defdrkets5I5P5Q{protetifdrl 5Q5P5Iprotetelse 5I5P5Qprotetfi}
62.315 62.316
dnumer dltin
\@number preserves numers diretion from veft to ightF \@latin in ddition swithes urrent enoding to the ltinF
62.4.2
Counters
o mke ounter referenes work in ight to veft textD we need to surround their originl de(nitions with n \@number{F F F } or \@latin{F F F }F xoteD tht lngugeE spei( ountersD suh s \hebr or \gim re provided with lnguge de(nition (leF QWR
dri eri nd romn numers should e from veft to ightF sn dditionD romn dromn numerlsD oth lowerE nd upperEse should e in ltin enodingF domn 62.326 defdri5I{dnumer{ddri5I}} 62.327 defdromn5I{dltin{ddromn5I}} 62.328 defdomn5I{dltin{ddomn5I}} rinorl
his mro preserves the originl de(nition of \arabic @overrides the overriding of \@arabicA
defrinorl5I{expndfterddrisnme d5Iendsnme}
62.329
mkedlr
sn ight to veft douments ll ounters de(ned in the stndrd doument A lsses articleD report nd book provided with v i P D suh s \thesectionD \thefigureD \theequation should e typed s numers from left to rightF o ensure diretionD we use the following \make@lr{counter } mroX
diflssloded{letter}{}{7 diflssloded{slides}{}{7 62.337 mkedlrthesetion 62.338 mkedlrthesusetion 62.339 mkedlrthesususetion 62.340 mkedlrtheprgrph 62.341 mkedlrthesuprgrph 62.342 mkedlrthefigure 62.343 mkedlrthetle 62.344 } 62.345 mkedlrtheeqution 62.346 }
62.335 62.336
62.4.3
e
62.347 62.348
Preserving logos
A A reserve iD v i nd v i P logosF
ve
62.349 62.350
vee
62.351 62.352
QWS
62.4.4
List environments
vist environments in ightEtoEveft lngugesD re tiked nd indented from the right insted of from the leftF ell the de(nitions tht used indenttion re A revised for ightEtoEveft lngugesF v i keeps trk on the indenttion with the \leftmargin nd \rightmargin vluesF
list
hus we need to override the de(nition of the \list mroX when in v modeD the right mrgins re the egining of the lineF
deflist5I5P{7 ifnum dlistdepth bSrelx 62.355 dtoodeep 62.356 else 62.357 gloldvnedlistdepthdne 62.358 fi 62.359 rightmrginzd 62.360 listprindentzd 62.361 itemindentzd 62.362 snme dlistromnnumerlthedlistdepthendsnme 62.363 defditemlel{5I}7 62.364 letmkeleldmkl 62.365 dnmrlistflse 62.366 5Prelx 62.367 dtrivlist 62.368 prskipprsep 62.369 prindentlistprindent 62.370 dvnelinewidth Erightmrgin 62.371 dvnelinewidth Eleftmrgin
62.353 62.354
ifdrl dvnedtotlleftmrgin rightmrgin else dvnedtotlleftmrgin leftmrgin fi prshpe dne dtotlleftmrgin linewidth ignorespes}
lelenumii pdenumiii
he \labelenumii nd \p@enumiii ommnds use parenthesesF hey re revised to work ightEtoEveft with the help of \@brackets mro de(ned oveF
deflelenumii{drkets@theenumiiA} defpdenumiii{pdenumiidrkets@theenumiiA}
62.379 62.380
62.4.5
les of moving rgumentsX tle of ontents @tocAD list of (gures @lofA nd list A of tles @lotA re hndles hereF hese three defult v i tles will e used now exlusively for veft to ight stu'F hree dditionl ightEtoEveft tlesX v tle of ontents @cotAD v list of (gures @folAD nd v list of tles @tolA re ddedF hese three tles will e used exlusively for ight to veft stu'F
QWT
A e de(ne Q new mros similr to the stndrd v i tlesD ut with one pE rmeter " tle (le extensionF hese mros will help us to de(ne our dditionl tles elowF
diflssloded{letter}{}{7 other diflssloded{slides}{}{7 other 62.383 diflssloded{rtile}{7 rtile 62.384 newommnddtleofontentsI{7 62.385 setionB{ontentsnmedmkoth7 62.386 {wkepperseontentsnme}7 62.387 {wkepperseontentsnme}}7 62.388 dstrtto{5I}} 62.389 newommnddlistoffiguresI{7 62.390 setionB{listfigurenmedmkoth7 62.391 {wkepperselistfigurenme}7 62.392 {wkepperselistfigurenme}}7 62.393 dstrtto{5I}} 62.394 newommnddlistoftlesI{7 62.395 setionB{listtlenmedmkoth7 62.396 {wkepperselisttlenme}7 62.397 {wkepperselisttlenme}}7 62.398 dstrtto{5I}}}7 62.399 {7 else report or ook 62.400 newommnddtleofontentsI{7 62.401 drestoneolflseifdtwoolumndrestoneoltrueoneolumn7 62.402 fihpterB{ontentsnmedmkoth7 62.403 {wkepperseontentsnme}7 62.404 {wkepperseontentsnme}}7 62.405 dstrtto{5I}ifdrestoneoltwoolumnfi} 62.406 newommnddlistoffiguresI{7 62.407 drestoneolflseifdtwoolumndrestoneoltrueoneolumn7 62.408 fihpterB{listfigurenmedmkoth7 62.409 {wkepperselistfigurenme}7 62.410 {wkepperselistfigurenme}}7 62.411 dstrtto{5I}ifdrestoneoltwoolumnfi} 62.412 newommnddlistoftlesI{7 62.413 ifdtwoolumndrestoneoltrueoneolumnelsedrestoneolflsefi7 62.414 hpterB{listtlenmedmkoth7 62.415 {wkepperselisttlenme}7 62.416 {wkepperselisttlenme}}7 62.417 dstrtto{5I}ifdrestoneoltwoolumnfi}}7
62.381 62.382
lrtleofontents veftEtoEight tles re lled now \lrxxx nd de(ned with the id of three mros lrlistoffigures de(ned ove @extensions tocD lofD nd lotAF lrlistoftles 62.418 newommndlrtleofontents{dtleofontents{to}}7 62.419 newommndlrlistoffigures{dlistoffigures{lof}}7 62.420 newommndlrlistoftles{dlistoftles{lot}}7 rltleofontents ightEtoEveft tles will e lled \rlxxx nd de(ned with the id of three mros rllistoffigures de(ned ove @extensions cotD folD nd tolAF rllistoftles 62.421 newommndrltleofontents{dtleofontents{ot}}7 62.422 newommndrllistoffigures{dlistoffigures{fol}}7 62.423 newommndrllistoftles{dlistoftles{tol}}7
QWU
tleofontents vet \xxx e \rlxxx if the urrent diretion is ightEtoEveft nd \lrxxx if it is listoffigures veftEtoEightF listoftles 62.424 renewommndtleofontents{ifdrlrltleofontents7 62.425 elselrtleofontentsfi} 62.426 renewommndlistoffigures{ifdrlrllistoffigures7 62.427 elselrlistoffiguresfi} 62.428 renewommndlistoftles{ifdrlrllistoftles7 62.429 elselrlistoftlesfi}}} ddottedtoline
he following mkes prolems when mking ightEtoEveft tlesD sine it uses \leftskip nd \rightskip whih re oth mode dependentF
defddottedtoline5I5P5Q5R5S{7 ifnum 5Ibdtodepth else 62.432 vskip zd dplusFPpd 62.433 {ifdrlrightskipelseleftskipfi 5Prelx 62.434 ifdrlleftskipelserightskipfi dtormrg prfillskip 62.435 Eifdrlleftskipelserightskipfi 62.436 prindent 5Prelxdfterindenttrue 62.437 interlinepenltydw 62.438 levevmode 62.439 dtempdim 5Qrelx 62.440 dvneifdrlrightskipelseleftskipfi dtempdim 62.441 nullnorekhskip Eifdrlrightskipelseleftskipfi 62.442 {5R}norek 62.443 ledershox{6mdth 62.444 mkern ddotsep muhox{F}mkern ddotsep 62.445 mu6}hfill 62.446 norek 62.447 hdxtddpnumwidth{hfilnormlfont normlolor eginv5Sendv}7 62.448 pr}7 62.449 fi}
62.430 62.431
ldprt
his stndrd mro ws rede(ned for tle of ontents sine it uses \rightskip whih is mode dependentF
diflssloded{letter}{}{7 other diflssloded{slides}{}{7 other 62.452 renewommndBldprtP{7 62.453 ifnum dtodepth bEPrelx 62.454 ddpenlty{Edhighpenlty}7 62.455 ddvspe{PFPSem dpluspd}7 62.456 egingroup 62.457 setlengthdtempdim{Qem}7 62.458 prindent zd ifdrlleftskipelserightskipfi dpnumwidth 62.459 prfillskip Edpnumwidth 62.460 {levevmode 62.461 lrge fseries 5Ihfil hdxtddpnumwidth{hss5P}}pr 62.462 norek 62.463 gloldnorektrue 62.464 everypr{gloldnorekflseeverypr{}}7 62.465 endgroup 62.466 fi}}}
62.450 62.451
dprt
rt is rede(ned to support new ightEtoEveft tle of ontents @cotA s well s the veftEtoEight one @tocAF QWV
diflssloded{rtile}{7 rtile lss defdprt5I5P{7 62.469 ifnum dsenumdepth bmdne 62.470 refstepounter{prt}7 62.471 ddontentsline{to}{prt}{theprthspe{Iem}5I}7 62.472 ddontentsline{ot}{prt}{theprthspe{Iem}5I}7 62.473 else 62.474 ddontentsline{to}{prt}{5I}7 62.475 ddontentsline{ot}{prt}{5I}7 62.476 fi 62.477 {prindent zd rggedright 62.478 interlinepenlty dw 62.479 normlfont 62.480 ifnum dsenumdepth bmdne 62.481 vrgefseries prtnme~theprt 62.482 prnorek 62.483 fi 62.484 huge fseries 5P7 62.485 mrkoth{}{}pr}7 62.486 norek 62.487 vskip Qex 62.488 dfterheding}7 62.489 }{7 report nd ook lsses 62.490 defdprt5I5P{7 62.491 ifnum dsenumdepth bEPrelx 62.492 refstepounter{prt}7 62.493 ddontentsline{to}{prt}{theprthspe{Iem}5I}7 62.494 ddontentsline{ot}{prt}{theprthspe{Iem}5I}7 62.495 else 62.496 ddontentsline{to}{prt}{5I}7 62.497 ddontentsline{ot}{prt}{5I}7 62.498 fi 62.499 mrkoth{}{}7 62.500 {entering 62.501 interlinepenlty dw 62.502 normlfont 62.503 ifnum dsenumdepth bEPrelx 62.504 hugefseries prtnme~theprt 62.505 pr 62.506 vskip PHpd 62.507 fi 62.508 ruge fseries 5Ppr}7 62.509 dendprt}}
62.467 62.468
dset
etion ws rede(ned from the latex.ltx (leF st is hnged to support oth veftEtoEight @tocA nd ightEtoEveft @cotA tle of ontents simultneouslyF
defdset5I5P5Q5R5S5T5U5V{7 ifnum 5Pbdsenumdepth 62.512 letdsvsedempty 62.513 else 62.514 refstepounter{5I}7 62.515 proteteddedefdsvse{dsentformt{5I}relx}7 62.516 fi 62.517 dtempskip 5Srelx
62.510 62.511
QWW
62.518 62.519 62.520 62.521 62.522 62.523 62.524 62.525 62.526 62.527 62.528 62.529 62.530 62.531 62.532 62.533 62.534 62.535 62.536 62.537 62.538 62.539 62.540 62.541 62.542 62.543 62.544 62.545 62.546 62.547 62.548 62.549 62.550 62.551
ifdim dtempskipbzd egingroup 5T{7 dhngfrom{hskip 5Qrelxdsvse}7 interlinepenlty dw 5Vddpr}7 endgroup snme 5Imrkendsnme{5U}7 ddontentsline{to}{5I}{7 ifnum 5Pbdsenumdepth else protetnumerline{snme the5Iendsnme}7 fi 5U}7 ddontentsline{ot}{5I}{7 ifnum 5Pbdsenumdepth else protetnumerline{snme the5Iendsnme}7 fi 5U}7 else defdsvsehd{7 5T{hskip 5Qrelx dsvse 5V}7 snme 5Imrkendsnme{5U}7 ddontentsline{to}{5I}{7 ifnum 5Pbdsenumdepth else protetnumerline{snme the5Iendsnme}7 fi 5U}7 ddontentsline{ot}{5I}{7 ifnum 5Pbdsenumdepth else protetnumerline{snme the5Iendsnme}7 fi 5U}}7 fi dxset{5S}}
dption
gption ws rede(ned from the latex.ltx (leF st is hnged to support veftEtoE ight list of (gures nd list of tles @lof nd lotA s well s new ightEtoEveft lists @fol nd tolA simultneouslyF
longdefdption5I5P5Q{7 pr 62.554 ddontentsline{snme extd5Iendsnme}{5I}7 62.555 {protetnumerline{snme the5Iendsnme}7 62.556 {ignorespes 5P}}7 62.557 defdfignm{figure} 62.558 ifx5Idfignmddontentsline{fol}{5I}7 62.559 {protetnumerline{snme the5Iendsnme}7 62.560 {ignorespes 5P}}fi7 62.561 defdtlnm{tle} 62.562 ifx5Idtlnmddontentsline{tol}{5I}7 62.563 {protetnumerline{snme the5Iendsnme}7 62.564 {ignorespes 5P}}fi7 62.565 egingroup 62.566 dproxrestore 62.567 ifdminipge
62.552 62.553
RHH
ldhpter
his stndrd mro ws rede(ned for tle of ontents sine it uses \rightskip whih is mode dependentF
diflssloded{letter}{}{7 diflssloded{slides}{}{7 62.575 diflssloded{rtile}{}{7 62.576 renewommndBldhpterP{7 62.577 ifnum dtodepth bmdne 62.578 ddpenlty{Edhighpenlty}7 62.579 vskip IFHem dpluspd 62.580 setlengthdtempdim{IFSem}7 62.581 egingroup 62.582 prindent zd ifdrlleftskipelserightskipfi dpnumwidth 62.583 prfillskip Edpnumwidth 62.584 levevmode fseries 62.585 dvneifdrlrightskipelseleftskipfidtempdim 62.586 hskip Eifdrlrightskipelseleftskipfi 62.587 5Inorekhfil norekhdxtddpnumwidth{hss5P}pr 62.588 penltydhighpenlty 62.589 endgroup 62.590 fi}}}}
62.573 62.574
ldsetion he to entry for setion did not work in rtile styleF elso it does not print dotsD ldsusetion whih is funny when most of your work is divided into setionsF ldsususetion st ws revised to use \@dottedtocline s in report.sty @y niv frguryA ldprgrph nd ws updted lter for ll kinds of setions @y foris vvvAF ldsuprgrph 62.591 diflssloded{rtile}{7 62.592 renewommndBldsetion{ddottedtoline{I}{IFSem}{PFQem}} 62.593 renewommndBldsusetion{ddottedtoline{P}{QFVem}{QFPem}} 62.594 renewommndBldsususetion{ddottedtoline{Q}{UFHem}{RFIem}} 62.595 renewommndBldprgrph{ddottedtoline{R}{IHem}{Sem}} 62.596 renewommndBldsuprgrph{ddottedtoline{S}{IPem}{Tem}}}{}
62.4.6
Two-column mode
A his is the support of twocolumn option for the stndrd v i P lssesF he following ode ws originlly orrowed from the eri pkgeD (le latexext.styD opyright y ulus vgllyD snstitut fuer snformtikD niversitet tuttgrtF st ws updted for this pkge y foris vvvF
pirst olumn is \@leftcolumn will e shown t the right sideD eond olumn is \@outputbox will e shown t the left sideF \set@outputdblcol s gixv hsefvihF yhyX iwyi s tzfrir
RHI
renewommnd{doutputdlol}{7 ifdrlmin7 62.603 rldoutputdlol7 62.604 else7 62.605 ddoutputdlol7 62.606 fi7 62.607 } 62.608 newommnd{rldoutputdlol}{7 62.609 ifdfirstolumn 62.610 glol dfirstolumnflse 62.611 glol setoxdleftolumn oxdoutputox 62.612 else 62.613 glol dfirstolumntrue 62.614 setoxdoutputox vox {hdxtdtextwidth {7 62.615 hskipolumnwidth7 62.616 hfilvruledwidtholumnseprulehfil 62.617 hdxtdolumnwidth {7 62.618 oxdleftolumn hss}7 62.619 hdxtdolumnwidth {7 62.620 hskipEtextwidth7 62.621 oxdoutputox hss}7 62.622 hskipolumnsep7 62.623 hskipolumnwidth}}7 62.624 dominedlflots 62.625 doutputpge 62.626 egingroup 62.627 ddlflotplement 62.628 dstrtdlolumn 62.629 dwhileswifdfolmde fi 62.630 {doutputpge 62.631 dstrtdlolumn}7 62.632 endgroup 62.633 fi}
62.601 62.602
62.4.7
footnoterule
Footnotes
he ightEtoEveft footnote rule is simply reversed defult veftEtoEight oneF pootE notes n e used in v or v min modesD ut hnging mode while footnote is pending is still unsolvedF
62.4.8
hen using headings or myheadings modesD we hve to ensure tht the lnguge nd diretion of heding is the sme s the whole hpterGprt of the doumentF his is implementing y setting speil vrile \headlanguage when strting new hpterGprtF sn dditionD when seleting the twoside option @defult in book doument lssAD the v nd v modes need to e set properly for things on the heding nd footingF his is done here tooF
RHP
psdhedings pirstD we will support the stndrd letter lssX psdmyhedings 62.637 diflssloded{letter}{7 hedeven 62.638 defhedodd{protetifdrleginfihedtonme{} 62.639 ignorespestonme hedodd 62.640 hfil ddte 62.641 hfil pgenme{} thepgeprotetifdrlendfi} 62.642 ifdtwoside 62.643 defpsdhedings{7 62.644 letdoddfootdemptyletdevenfootdempty 62.645 defdoddhed{seletdlnguge{hedlnguge}hedodd} 62.646 letdevenheddoddhed} 62.647 else 62.648 defpsdhedings{7 62.649 letdoddfootdempty 62.650 defdoddhed{seletdlnguge{hedlnguge}hedodd}} 62.651 fi 62.652 defhedfirst{protetifdrleginfifromlotion hfill 7 62.653 telephonenumprotetifdrlendfi} 62.654 defpsdfirstpge{7 62.655 letdoddheddempty 62.656 defdoddfoot{riseox{ERSpd}zd{7 62.657 hdxtdtextwidth{hspeB{IHHpd}7 62.658 ifse dptsizerelx 62.659 normlsize 62.660 or 62.661 smll 62.662 or 62.663 footnotesize 62.664 fi 62.665 seletdlnguge{hedlnguge}hedfirst}}hss}} 62.666 7 62.667 renewommnd{opening}I{7 62.668 lethedlngugealngugenme7 62.669 ifxdemptyfromddress7 62.670 thispgestyle{firstpge}7 62.671 {rggedleftddtepr}7 62.672 else 7 home ddress 62.673 thispgestyle{empty}7 62.674 {rggedleft 62.675 ifdrlegin{tulr}{d{eginsnme7 62.676 todrllngugenmeendsnme}rd{end}}ignorespes 62.677 fromddress BPprskip7 62.678 ddte end{tulr}pr7 62.679 elseegin{tulr}{l}ignorespes 62.680 fromddress BPprskip7 62.681 ddte end{tulr}pr7 62.682 fi}7 62.683 fi 62.684 vspe{Pprskip}7 62.685 {rggedright tonme toddress pr}7 62.686 vspe{Pprskip}7 62.687 5Iprnorek} 62.688 }
henD the articleD report nd book doument lsses re supportedF xoteD tht RHQ
RHR
62.742 62.743 62.744 62.745 62.746 62.747 62.748 62.749 62.750 62.751 62.752 62.753 62.754 62.755 62.756 62.757 62.758 62.759 62.760 62.761 62.762 62.763 62.764 62.765 62.766 62.767 62.768 62.769 62.770 62.771 62.772 62.773 62.774 62.775 62.776 62.777 62.778 62.779 62.780 62.781
letdoddfootdemptyletdevenfootdempty defdevenhed{seletdlnguge{hedlnguge}hedeven} defdoddhed{seletdlnguge{hedlnguge}hedodd} letdmkothmrkoth defhptermrk55I{7 mrkoth{wkepperse{7 ifnum dsenumdepth bmdne dhppp thehpterF 7 fi 55I}}{}}7 defsetionmrk55I{7 mrkright {wkepperse{7 ifnum dsenumdepth bzd thesetionF 7 fi 55I}}}} else 7 oneEsided defpsdhedings{7 letdoddfootdempty defdoddhed{seletdlnguge{hedlnguge}hedodd} letdmkothmrkoth defhptermrk55I{7 mrkoth{wkepperse{7 ifnum dsenumdepth bmdne dhppp thehpterF 7 fi 55I}}{wkepperse{7 ifnum dsenumdepth bmdne dhppp thehpterF 7 fi 55I}}}} fi defpsdmyhedings{7 letdoddfootdemptyletdevenfootdempty defdevenhed{seletdlnguge{hedlnguge}hedeven}7 defdoddhed{seletdlnguge{hedlnguge}hedodd}7 letdmkothdgoletwo lethptermrkdgole letsetionmrkdgole }}}
62.4.9
Postscript Porblems
eny ommnd tht is implemented y ostript diretivesD eFg ommnds from the psEtriks pkgeD needs to e (xedD euse the ostript diretives re eing interpeted fter the doument hs een onverted y ito visul rerew @hsD ostript nd hp hve visul rerewAF por instneX uppose you wrote in your doumentX \textcolor{cyan}{some ltr text} his would e interpeted y ito something likeX [postscript:make color cyan]some LTR text[postscript:make color black] roweverD with the idiretionlity support we getX \textcolor{cyan}{\hebalef\hebbet} RHS
rnslted toX [postscript:make color black]{bet}{alef}[postscript:make color cyan] hile we wntX [postscript:make color cyan]{bet}{alef}[postscript:make color black] he following ode will proly work t lest with ode tht stys in the sme lineX
dtextolor etfeginhoument{7 7s ssume tht dtextolor is only defined y the pkge olor 62.784 ifxdtextolordundefinedelse7 62.785 7 sf tht mro ws defined efore the eginning of the doumentD 62.786 7 tht isX the pkge ws lodedX redefine it with idi support 62.787 defdtextolor5I5P5Q{7 62.788 ifdrl7 62.789 eginvprotetlevevmode{olor5I{5P}egin5Qend}endv7 62.790 else7 62.791 protetlevevmode{olor5I{5P}5Q}7 62.792 fi7 62.793 }7 62.794 fi7 62.795 } 62.796 7 end{mroode} 62.797 7 end{mro} 62.798 7 egin{mro}{thetruelidegounter} 62.799 7 his mro proly needs to e overriden for when using |prosper|D 62.800 7 @witing for feedkF zfrirA 62.801 7 egin{mroode} 62.802 diflssloded{prosper}{7 62.803 defthetruelidegounter{rinorl{truelidegounter}} 62.804 }{}
62.782 62.783
62.4.10
rggedright rggedleft
\raggedright ws hnged from latex.ltx (le to support ightEtoEveft modeD euse of the ug in its implementtionF
uthor
\author is inserted with tabular environmentD nd will e used in restrited horizontl modeF herefore we hve to dd expliit diretion hnge ommnd when in ightEtoEveft modeF
letdduthorauthor renewommnd{uthor}I{dduthor{ifdrlegin 5Iendelse 5Ifi}}
62.815 62.816
RHT
wkepperse wkevowerse
here re no upperse nd lowerse letters in most ightEtoEveft lngugesD A therefore we should rede(ne \MakeUppercase nd \MakeLowercase v i P omE mndsF
underline
62.821 62.822
dxnthm doprgegintheorem
he following hs een inserted to orret the pperne of the numer in \newtheorem to reorder theorem numer omponentsF e similr orretion in the de(nition of \@opargbegintheorem ws dded tooF
defdxnthm5I5P5Q{7 expndfterdifdefinlesnme 5Iendsnme 62.828 {ddefineounter{5I}dddtoreset{5I}{5Q}7 62.829 expndfterxdefsnme the5Iendsnme{noexpnddnumer 62.830 {expndfternoexpndsnme the5Qendsnme dthmountersep 62.831 dthmounter{5I}}}7 62.832 gloldnmedef{5I}{dthm{5I}{5P}}7 62.833 gloldnmedef{end5I}{dendtheorem}}} 62.834 7 62.835 defdoprgegintheorem5I5P5Q{7 62.836 trivlist 62.837 itemhskip lelsep{fseries 5I 5P 62.838 drkets@{5Q}A}itshpe}
62.826 62.827
dhpter dshpter
he following ws dded for pretty printing of the hpter numersD for supporting ightEtoEveft tles @cotD folD nd tolAD to sve \headlanguage for use in running hedersD nd to strt twoEolumn mode depending on hpter9s min lngugeF
diflssloded{rtile}{}{7 7 por pretty priniting 62.841 defddhppp{ghpter} 62.842 defddthehpter{ddridhpter} 62.843 defdhpter5I5P{7 62.844 lethedlngugealngugenme7 62.845 7setdoutputdlol7 62.846 ifnum dsenumdepth bmdne 62.847 refstepounter{hpter}7 62.848 typeout{ddhpppspeddthehpterF}7 62.849 ddontentsline{to}{hpter}7 62.850 {protetnumerline{thehpter}5I} 62.851 ddontentsline{ot}{hpter}7 62.852 {protetnumerline{thehpter}5I} 62.853 else 62.854 ddontentsline{to}{hpter}{5I}7
62.839 62.840
RHU
62.855 62.856 62.857 62.858 62.859 62.860 62.861 62.862 62.863 62.864 62.865 62.866 62.867 62.868 62.869 62.870 62.871 62.872 62.873 62.874 62.875 62.876 62.877
ddontentsline{ot}{hpter}{5I}7 fi hptermrk{5I} ddtoontents{lof}{protetddvspe{IHpd}}7 ddtoontents{fol}{protetddvspe{IHpd}}7 ddtoontents{lot}{protetddvspe{IHpd}}7 ddtoontents{tol}{protetddvspe{IHpd}}7 ifdtwoolumn dtopnewpgedmkehpterhed{5P}7 else dmkehpterhed{5P}7 dfterheding fi}
ppendix
ghnged minly for pretty printing of ppendix numersD nd to strt twoEolumn mode with the right lnguge @if neededAF
diflssloded{letter}{}{7 other diflssloded{slides}{}{7 other 62.880 diflssloded{rtile}{7 rtile 62.881 renewommndppendix{pr 62.882 setounter{setion}{H}7 62.883 setounter{susetion}{H}7 62.884 renewommndthesetion{delphdsetion}} 62.885 }{7 report nd ook 62.886 renewommndppendix{pr 62.887 7setdoutputdlol7 62.888 setounter{hpter}{H}7 62.889 setounter{setion}{H}7 62.890 renewommnddhppp{ppendixnme}7 62.891 7 por pretty priniting 62.892 defddhppp{eppendix}7 62.893 defddthehpter{ddelphdhpter} 62.894 renewommndthehpter{delphdhpter}}}}}
62.878 62.879
62.4.11
dite dilel dliitem
gittions re produed y the mro \@cite{LABEL}{NOTE }F foth the ittion lel nd the note is typeset in the urrent diretionF e hve to use \@brackets mro in \@cite nd \@biblabel mrosF sn dditionD when using alpha or similr iliogrphy styleD the \@lbibitem is used nd hve to e updte to support ot ightEtoEveft nd veftEtoEight ittionsF
defdite5I5P{drkets{5Iifdtempsw D 5Pfi}} defdilel5I{drkets{5I}}
62.895 62.896
RHV
62.897 62.898
defdliitem5I5P{itemdilel{5I}hfillifdfilesw {letprotetnoexpnd 62.899 immedite 62.900 ifdrlwriteduxout{stringiite{5P}{{5I}}}7 62.901 elsewriteduxout{stringiite{5P}{v{5I}}}fi7 62.902 }fiignorespes}
theiliogrphy
diflssloded{letter}{}{7 other diflssloded{slides}{}{7 other 62.905 diflssloded{rtile}{7 62.906 renewenvironment{theiliogrphy}I 62.907 {setionB{refnmedmkoth7 62.908 {wkepperserefnme}7 62.909 {wkepperserefnme}}7 62.910 list{dilel{dridenumiv}}7 62.911 {settowidthlelwidth{dilel{5I}}7 62.912 ifdrlleftmrginelserightmrginfilelwidth 62.913 dvneifdrlleftmrginelserightmrginfilelsep 62.914 dopenidode 62.915 useounter{enumiv}7 62.916 letpdenumivdempty 62.917 renewommndtheenumiv{dridenumiv}}7 62.918 sloppy 62.919 lupenltyRHHH 62.920 dlupenlty lupenlty 62.921 widowpenltyRHHH7 62.922 sfodeFdm} 62.923 {defdnoitemerr 62.924 {dltexdwrning{impty theiliogrphy9 environment}}7 62.925 endlist}}7 62.926 {renewenvironment{theiliogrphy}I{7 62.927 hpterB{inmedmkoth7 62.928 {wkepperseinme}7 62.929 {wkepperseinme}}7 62.930 list{dilel{dridenumiv}}7 62.931 {settowidthlelwidth{dilel{5I}}7 62.932 ifdrlleftmrginelserightmrginfilelwidth 62.933 dvneifdrlleftmrginelserightmrginfilelsep 62.934 dopenidode 62.935 useounter{enumiv}7 62.936 letpdenumivdempty 62.937 renewommndtheenumiv{dridenumiv}}7 62.938 sloppy 62.939 lupenltyRHHH 62.940 dlupenlty lupenlty 62.941 widowpenltyRHHH7 62.942 sfodeFdm} 62.943 {defdnoitemerr 62.944 {dltexdwrning{impty theiliogrphy9 environment}}7 62.945 endlist}}}}
62.903 62.904
dvertim
ell kinds of vers @\verbD\verb*Dverbatim nd verbatim*A now n e used in ightEtoEveft modeF irrors in ltin mode solved tooF RHW
dmkeption
gptions re set lwys enteredF his llows us to use ilingul ptionsD for exmpleX \caption{\R{RLtext} \\ \L{LRtext}}D whih will e formtted sX ight to left ption here @vtextA veft to right ption here @vtextA ee lso \bcaption ommnd elowF
longdefdmkeption5I5P{7 vskipoveptionskip7 62.951 egin{enter}7 62.952 5IX 5P7 62.953 end{enter} pr7 62.954 vskipelowptionskip}
62.949 62.950
62.4.12
etion hedings re typeset with the defult glol diretionF ext in setion hedings in the reverse lnguge do not hve to e proteted for the re)etion ommndD s inX \protect\L{Latin Text }D euse \L nd \R re roust nowF le of ontentsD list of (gures nd list of tles should e typeset with the \tableofcontentsD \listoffigures nd \listoftables ommnds respetivelyF he ove tles will e typeset in the min diretion @nd lngugeA in e'et where the ove ommnds re pledF ynly P tles of eh kind re supportedX one for ightEtoEveft nd nother for veftEtoEight diretionsF
row to inlude line to oth tlesc yne hs to use idiretionl setioning ommnds s followingX IF se the \bxxx version of the setioning ommnds in the text insted of the \xxx version @xxx is one ofX partD chapterD sectionD subsectionD subsubsectionD captionAF PF yntx of the \bxxx ommnd is \bxxx {RL text }{LR text }F foth rguments re typeset in proper diretion y defult @no need to hnge diretion for the text insideAF QF he setion heder inside the doument will e typeset in the glol diretion in e'et t the timeF iFeF he {RL text } will e typeset if ightEtoEveft mode is in e'et nd {LR text } otherwiseF
prt
62.955 62.956
RIH
hpter
62.957 62.958
newommnd{hpter}P{hpter{protetifdrl7 5I protetelse 5P protetfi}} newommnd{setion}P{setion{protetifdrl7 5I protetelse 5P protetfi}} newommnd{susetion}P{susetion{protetifdrl7 5I protetelse 5P protetfi}} newommnd{sususetion}P{sususetion{protetifdrl7 5I protetelse 5P protetfi}}
setion
62.959 62.960
susetion
62.961 62.962
sususetion
62.963 62.964
ption newommnd{ption}P{7 ptionprotetifdrl {5I}protetelse v{5P}protetfi{7 62.967 ifdrl{5I}protet v{5P} 62.968 elsev{5P}protet {5I}fi}}
62.965 62.966
he following de(nition is modi(ed version of \bchapterD ment s ilinE gul twin for \chapter* nd \section* @dded y srin ermoviiAF
hpternn
62.969 62.970
setionnn
62.971 62.972
pinllyD t end of babel pkgeD the \headlanguage nd twoEolumn mode will e initilized ording to the urrent lngugeF
etindyfkge{rletindyfkge} 7 62.975 defrletindyfkge{7 62.976 glollethedlngugealngugenme7setdoutputdlol7 62.977 } 62.978 /rightleft
62.973 62.974
75 The
following description of
76 Please
direct any comments, bug reports, questions, etc. about the package to this address.
RII
y m orrt y wish hn rrn @hrndmthFtuFFilA A he pkge ws djusted for babel nd v i P y foris vvvF ghnges to the printing routine @onlyA y on ertsteinD tune ID PHHQF his pkge should e inluded after the babel with hebrew optionD s folE lowingX
SUSI!tune PRD IWWI SUSP!tnury ISD IWWP SUSP!wrh IHD IWWP SUST!tnury IWWT
languages ,
F F F ]{babel}
rerewdte
wo min userElevel ommnds re provided y this pkgeX gomputes tody9s rerew dte nd prints itF sf we re presently in rerew modeD the dte will e printed in rerewD otherwise " in inglish @like het IHD SUSPAF gomputes the rerew dte from the given qregorin dte nd prints itF sf we re presently in rerew modeD the dte will e printed in rerewD otherwise " in inglish @like het IHD SUSPAF en exmple of usge is shown elowX
he pkge option full sets the )g \@full@hebrew@yearD whih uses yers from the urrent millenium to e printed with the thousnds digit @heE tvEshinEsmekhEgimelAF ithout this optionD thousnds re not printed for the urrent milleniumF xyiX should this e ommnd option rther thn pkge optionc !eF
62.5.1
Introduction
he rerew lendr is inherently omplitedX it is lunisolr ! eh yer strts lose to the utumn equinoxD ut eh month must stritly strt t new moonF hus rerew lendr must e hrmonized simultneously with oth lunr nd solr eventsF sn dditionD for resons of the religious prtieD the yer nnot strt on undyD ednesdy or pridyF por the full desription of rerew lendr nd for the list of referenes seeX xhum hershowitz nd idwrd wF eingoldD Calendarical Calculations D oftwre!rtFixperFD volF PH @WAD ppFVWW!WPV @eptemer IWWHAF
C trnsltion of LISP progrms from the ove rtile ville from wrF yne qeiserD geiser%pictel@uunet.uu.netF he Rth distriution @tuly IWVWA of hdteGhl @rerew lendr progrms similr to xs dteGlA y wrF emos hpirD amos@shum.huji.ac.ilD ontins short nd very ler desription of lgorithmsF
RIP
62.5.2
he ommnd \Hebrewtoday produes tody9s dte for rerew lendrF st is A similr to the stndrd v i P ommnd \todayF sn ddition three numeril registers \HebrewdayD \Hebrewmonth nd \Hebrewyear re setF por setting this registers without produing of dte string ommnd \Hebrewsetreg n e usedF he ommnd \Hebrewdate{Gday }{Gmonth }{Gyear } produes rerew lE endr dte orresponding to qregorin dte Gday.Gmonth.GyearF hree numeriE l registers \HebrewdayD \Hebrewmonth nd \Hebrewyear re setF por onverting ritrry qregorin dte Gday.Gmonth.Gyear to rerew dte Hday.Hmonth.Hyear without produing dte string the ommndX
\HebrewFromGregorian{Gday }{Gmonth }{
n e usedF
62.979 62.980
calendar newififdfulldherewdyer 62.981 dfulldherewdyerflse 62.982 helreyption{full}{dfulldherewdyertrue} 62.983 roessyptions 62.984 newountrerewdy newountrerewmonth newountrerewyer
rerewdte
rerew lendr dte orresponding to qregorin dte Gday.Gmonth.GyearF sf rerew @rightEtoEleftA fonts 8 mros re not lodedD we hve to use inglish formtF
defrerewdte5I5P5Q{7 rerewpromqregorin{5I}{5P}{5Q} 62.987 {rerewdy}{rerewmonth}{rerewyer}7 62.988 ifundefined{ifdrl}7 62.989 pormtporinglish{rerewdy}{rerewmonth}{rerewyer}7 62.990 else7 62.991 pormthte{rerewdy}{rerewmonth}{rerewyer}7 62.992 fi}
62.985 62.986
rerewtody
62.993 62.994
rerewsetreg
pormthte
defpormthte5I5P5Q{7 ifdrl7 62.1000 pormtporrerew{5I}{5P}{5Q}7 62.1001 else7 62.1002 pormtporinglish{5I}{5P}{5Q} 62.1003 fi}
62.998 62.999
o prepre nother lnguge version of rerew lendr ommndsD one should hnge or dd ommnds hereF e strt with rerew lnguge mrosF RIQ
rerewerxme
rints rerew yer s rerew numerF hismigutes strings y dding lmedE peEgimel to yers of the (rst tewish millenium nd to yers divisile y IHHHF uppresses the thousnds digit in the urrent millenium unless the pkge option full is seletedF xyiX should this e provided s ommnd option rther thn pkge optionc !eF
defrerewerxme5I{{7 dtempnta5Idividedtempnt y IHHHmultiplydtempnt y IHHH 62.1006 ifnum5Iadtempntrelx 7 divisile y IHHHX dismigute 62.1007 rerewnumerlfinl{5I} Ahelmedhepe4hegimel@7 62.1008 else 7 not divisile y IHHH 62.1009 ifnum5I`IHHHrelx 7 first millenniumX dismigute 62.1010 rerewnumerlfinl{5I} Ahelmedhepe4hegimel@7 62.1011 else 62.1012 ifnum5I`SHHH 62.1013 rerewnumerlfinl{5I}7 62.1014 else 62.1015 ifnum5I`THHH 7 urrent milleniumD print without thousnds 62.1016 dtempnta5Irelx 62.1017 ifdfulldherewdyerelsedvnedtempnt y ESHHHfi 62.1018 rerewnumerlfinl{dtempnt}7 62.1019 else 7 5IbTHHH 62.1020 rerewnumerlfinl{5I}7 62.1021 fi 62.1022 fi 62.1023 fi 62.1024 fi}}
62.1004 62.1005
rerewwonthxme
defrerewwonthxme5I5P{7 ifnum 5I a U 7 62.1027 ghekveprerewer{5P}7 62.1028 ifdrerewvep helefhedletheresh heet97 62.1029 else helefhedletheresh7 62.1030 fi7 62.1031 else7 62.1032 ifse5I7 62.1033 7 nothing for H 62.1034 orhetvheshinhereshheyod7 62.1035 orhehetheshinhevvhefinlnun7 62.1036 orhekfhesmekhhelmedhevv7 62.1037 orhetetheethetv7 62.1038 orheshinheethetet7 62.1039 orhelefhedletheresh helef97 62.1040 orhelefhedletheresh heet97 62.1041 orhenunheyodhesmekhhefinlnun7 62.1042 orhelefheyodheyodheresh7 62.1043 orhesmekhheyodhevvhefinlnun7 62.1044 orhetvhememhevvhezyin7 62.1045 orhelefheet7 62.1046 orhelefhelmedhevvhelmed7 62.1047 fi7 62.1048 fi}
62.1025 62.1026
RIR
rerewhyxme pormtporrerew
62.1049
he mro \FormatForHebrew{hday }{hmonth }{hyear } returns the formtted rerew dte in rerew lngugeF
he mro \HebrewMonthNameInEnglish{month }{ year } is similr to \HebrewE MonthName desried oveF st returns the nme of month in the rerew yer9 in inglishF
defrerewwonthxmesninglish5I5P{7 ifnum 5I a U7 62.1055 ghekveprerewer{5P}7 62.1056 ifdrerewvep edr sselse edrfi7 62.1057 else7 62.1058 ifse 5I7 62.1059 7 nothing for H 62.1060 or ishrei7 62.1061 or reshvn7 62.1062 or uislev7 62.1063 or eeth7 62.1064 or het7 62.1065 or edr s7 62.1066 or edr ss7 62.1067 or xisn7 62.1068 or syr7 62.1069 or ivn7 62.1070 or mmuz7 62.1071 or ev7 62.1072 or ilul7 62.1073 fi 62.1074 fi}
62.1053 62.1054
pormtporinglish
he mro \FormatForEnglish{hday }{hmonth }{hyear } is similr to \FormatE ForHebrew mro desried ove nd returns the formtted rerew dte in inE glishF
defpormtporinglish5I5P5Q{7 rerewwonthxmesninglish{5P}{5Q} numer5ID numer5Q}
62.1075 62.1076
62.5.3
62.1077
Auxiliary Macros
a b
newountdommon
eminder
defeminder5I5P5Q{7 5Q a 5I7 62.1080 divide 5Q y 5P7 62.1081 multiply 5Q y E5P7 62.1082 dvne 5Q y 5I}7
62.1078 62.1079
RIS
62.1083
newififdhivisile
gheksfhivisile
defgheksfhivisile5I5P{7 {7 62.1086 ountdeftmp a H7 tmp aa ountH E temporry vrile 62.1087 eminder{5I}{5P}{tmp}7 62.1088 ifnum tmp a H7 62.1089 gloldhivisiletrue7 62.1090 else7 62.1091 gloldhivisileflse7 62.1092 fi}}
62.1084 62.1085
ifundefined
defifundefined5I{expndfterifxsnme5Iendsnmerelx}
62.5.4
62.1094
Gregorian Part
newififdqregorinvep
sfqregorinvep
gonditionl whih is true if qregorin yer9 is lep yerX ((year%4 == 0) (year%100 = 0)) (year%400 == 0)
defsfqregorinvep5I{7 gheksfhivisile{5I}{R}7 62.1097 ifdhivisile7 62.1098 gheksfhivisile{5I}{IHH}7 62.1099 ifdhivisile7 62.1100 gheksfhivisile{5I}{RHH}7 62.1101 ifdhivisile7 62.1102 dqregorinveptrue7 62.1103 else7 62.1104 dqregorinvepflse7 62.1105 fi7 62.1106 else7 62.1107 dqregorinveptrue7 62.1108 fi7 62.1109 else7 62.1110 dqregorinvepflse7 62.1111 fi7 62.1112 ifdqregorinvep}
62.1095 62.1096
qregorinhyssnriorwonths
he mro \GregorianDaysInPriorMonths{month }{year }{days } lultes the numer of dys in months prior to month9 in the yer9F
defqregorinhyssnriorwonths5I5P5Q{7 {7 62.1115 5Q a ifse 5I7 62.1116 H or7 7 no month numer H 62.1117 H or7 62.1118 QI or7 62.1119 SW or7 62.1120 WH or7 62.1121 IPH or7
62.1113 62.1114
RIT
62.1122 62.1123 62.1124 62.1125 62.1126 62.1127 62.1128 62.1129 62.1130 62.1131 62.1132 62.1133 62.1134 62.1135 62.1136
fi7 sfqregorinvep{5P}7 ifnum 5I b P7 7 if month fter perury dvne 5Q y I7 7 dd lep dy fi7 fi7 gloldommon a 5Q}7 5Q a dommon}
ISI or7 IVI or7 PIP or7 PRQ or7 PUQ or7 QHR or7 QQR7
qregorinhyssnriorers
he mro \GregorianDaysInPriorYears{year }{days } lultes the numer of dys in yers prior to the yer9F
defqregorinhyssnriorers5I5P{7 {7 62.1139 ountdeftmp a R7 7 tmpaaountR 62.1140 ountdeftmp a P7 7 tmpaaountP 62.1141 tmp a 5I7 7 62.1142 dvne tmp y EI7 7 62.1143 tmp a tmp7 7 tmp a tmp a yerEI 62.1144 multiply tmp y QTS7 7 hys in prior yers a 62.1145 5P a tmp7 7 a QTSB@yerEIA FFF 62.1146 tmp a tmp7 7 62.1147 divide tmp y R7 7 tmp a @yerEIAGR 62.1148 dvne 5P y tmp7 7 FFF plus tulin lep dys FFF 62.1149 tmp a tmp7 7 62.1150 divide tmp y IHH7 7 tmp a @yerEIAGIHH 62.1151 dvne 5P y Etmp7 7 FFF minus entury yers FFF 62.1152 tmp a tmp7 7 62.1153 divide tmp y RHH7 7 tmp a @yerEIAGRHH 62.1154 dvne 5P y tmp7 7 FFF plus REentury yersF 62.1155 gloldommon a 5P}7 62.1156 5P a dommon}
62.1137 62.1138
esolutepromqregorin
he mro \AbsoluteFromGregorian{day }{month }{year }{absdate } lultes the solute dte @dys sine 01.01.0001A from qregorin dte day.month.yearF
defesolutepromqregorin5I5P5Q5R{7 {7 62.1159 ountdeftmpd a H7 7 tmpdaaountH 62.1160 5R a 5I7 7 dys so fr this month 62.1161 qregorinhyssnriorwonths{5P}{5Q}{tmpd}7 62.1162 dvne 5R y tmpd7 7 dd dys in prior months 62.1163 qregorinhyssnriorers{5Q}{tmpd}7 62.1164 dvne 5R y tmpd7 7 dd dys in prior yers 62.1165 gloldommon a 5R}7 62.1166 5R a dommon}
62.1157 62.1158
62.5.5
Hebrew Part
RIU
62.1167
newififdrerewvep
ghekveprerewer
et \@HebrewLeaptrue if rerew yer9 is lep yerD iFeF if (1 + 7 year)%19 < 7 then true else false
62.1168 62.1169
defghekveprerewer5I{7 {7 62.1170 ountdeftmp a H7 7 tmpaaountH 62.1171 ountdeftmp a I7 7 tmpaaountI 62.1172 7 62.1173 tmp a 5I7 62.1174 multiply tmp y U7 62.1175 dvne tmp y I7 62.1176 eminder{tmp}{IW}{tmp}7 62.1177 ifnum tmp ` U7 7 tmp a @UByerCIA7IW 62.1178 gloldrerewveptrue7 62.1179 else7 62.1180 gloldrerewvepflse7 62.1181 fi}}
rerewilpsedwonths
he mro \HebrewElapsedMonths{year }{months } determines the numer of months elpsed from the undy prior to the strt of the rerew lendr to the men onjuntion of ishri of rerew yer9F
defrerewilpsedwonths5I5P{7 {7 62.1184 ountdeftmp a H7 7 tmpaaountH 62.1185 ountdeftmp a I7 7 tmpaaountI 62.1186 ountdeftmp a P7 7 tmpaaountP 62.1187 7 62.1188 tmp a 5I7 7 62.1189 dvne tmp y EI7 7 62.1190 5P a tmp7 7 5P a tmp a yerEI 62.1191 divide 5P y IW7 7 xumer of omplete weton yles 62.1192 multiply 5P y PQS7 7 5P a PQSB@@yerEIAGIWA 62.1193 7 62.1194 eminder{tmp}{IW}{tmp}7 tmp a yers7IWEyers this yle 62.1195 tmp a tmp7 7 62.1196 multiply tmp y IP7 7 62.1197 dvne 5P y tmp7 7 dd regulr months this yle 62.1198 7 62.1199 multiply tmp y U7 7 62.1200 dvne tmp y I7 7 62.1201 divide tmp y IW7 7 tmp a @ICUB@@yerEIA7IWAAGIW E 62.1202 7 7 numer of lep months this yle 62.1203 dvne 5P y tmp7 7 dd lep months 62.1204 7 62.1205 gloldommon a 5P}7 62.1206 5P a dommon}
62.1182 62.1183
rerewilpsedhys
he mro \HebrewElapsedDays{year }{days } determines the numer of dys elpsed from the undy prior to the strt of the rerew lendr to the men onjuntion of ishri of rerew yer9F
7 tmpaaountH
RIV
62.1210 62.1211 62.1212 62.1213 62.1214 62.1215 62.1216 62.1217 62.1218 62.1219 62.1220 62.1221 62.1222 62.1223 62.1224 62.1225 62.1226 62.1227 62.1228 62.1229 62.1230 62.1231 62.1232 62.1233 62.1234 62.1235 62.1236 62.1237 62.1238 62.1239 62.1240 62.1241 62.1242 62.1243 62.1244 62.1245 62.1246 62.1247 62.1248 62.1249 62.1250 62.1251 62.1252 62.1253 62.1254 62.1255 62.1256 62.1257 62.1258 62.1259 62.1260 62.1261 62.1262 62.1263
ountdeftmp a I7 ountdeftmp a P7
7 tmpaaountI 7 tmpaaountP
rerewilpsedwonths{5I}{5P}7 tmp a 5P7 7 multiply tmp y IQUSQ7 7 dvne tmp y STHR7 7 tmpawonthsilpsedBIQUSV C STHR eminder{tmp}{PSWPH}{tmp}7 tmp aa gonjuntionrts divide tmp y PSWPH7 multiply 5P y PW7 dvne 5P y I7 dvne 5P y tmp7
7 5P a I C wonthsilpsedBPW C 7 rtsilpsedGPSWPH eminder{5P}{U}{tmp}7 7 tmp aa hyyfeek ifnum tmp ` IWRRH7 ifnum tmp ` WWPR7 else7 7 xew moon t W hF PHR pF or lter ifnum tmp a P7 7 on uesdy FFF ghekveprerewer{5I}7 of ommon yer ifdrerewvep7 else7 dvne 5P y I7 fi7 fi7 fi7 ifnum tmp ` ITUVW7 else7 7 xew moon t IS hF SVW pF or lter ifnum tmp a I7 7 on wondy FFF dvne 5I y EI7 ghekveprerewer{5I}7 t the end of lep yer ifdrerewvep7 dvne 5P y I7 fi7 fi7 fi7 else7 dvne 5P y I7 7 new moon t or fter middy fi7 eminder{5P}{U}{tmp}7 7 tmp aa hyyfeek ifnum tmp a H7 7 if undy FFF dvne 5P y I7 else7 7 ifnum tmp a Q7 7 ednesdy FFF dvne 5P y I7 else7 ifnum tmp a S7 7 or pridy dvne 5P y I7 fi7 fi7 fi7 gloldommon a 5P}7 5P a dommon}
RIW
hyssnrerewer
defhyssnrerewer5I5P{7 {7 62.1266 ountdeftmpe a IP7 7 tmpeaaountIP 62.1267 7 62.1268 rerewilpsedhys{5I}{tmpe}7 62.1269 dvne 5I y I7 62.1270 rerewilpsedhys{5I}{5P}7 62.1271 dvne 5P y Etmpe7 62.1272 gloldommon a 5P}7 62.1273 5P a dommon}
62.1264 62.1265
rerewhyssnriorwonths
he mro \HebrewDaysInPriorMonths{month }{year }{days } lultes the nuE mer of dys in months prior to month9 in the yer9F
defrerewhyssnriorwonths5I5P5Q{7 {7 62.1276 ountdeftmpfa IR7 7 tmpfaaountIR 62.1277 7 62.1278 5Q a ifse 5I7 7 hys in prior month of regulr yer 62.1279 H or7 7 no month numer H 62.1280 H or7 7 ishri 62.1281 QH or7 7 reshvn 62.1282 SW or7 7 uislev 62.1283 VW or7 7 eeth 62.1284 IIV or7 7 het 62.1285 IRV or7 7 edr s 62.1286 IRV or7 7 edr ss 62.1287 IUU or7 7 xisn 62.1288 PHU or7 7 syr 62.1289 PQT or7 7 ivn 62.1290 PTT or7 7 mmuz 62.1291 PWS or7 7 ev 62.1292 QPS or7 7 ilul 62.1293 RHH7 7 hummy 62.1294 fi7 62.1295 ghekveprerewer{5P}7 62.1296 ifdrerewvep7 7 in lep yer 62.1297 ifnum 5I b T7 7 if month fter edr s 62.1298 dvne 5Q y QH7 7 dd QH dys 62.1299 fi7 62.1300 fi7 62.1301 hyssnrerewer{5P}{tmpf}7 62.1302 ifnum 5I b Q7 62.1303 ifnum tmpf a QSQ7 7 62.1304 dvne 5Q y EI7 7 62.1305 fi7 7 hort uislev 62.1306 ifnum tmpf a QVQ7 7 62.1307 dvne 5Q y EI7 7 62.1308 fi7 7 62.1309 fi7 62.1310 7 62.1311 ifnum 5I b P7 62.1312 ifnum tmpf a QSS7 7
62.1274 62.1275
RPH
dvne 5Q y I7 fi7 ifnum tmpf a QVS7 dvne 5Q y I7 fi7 fi7 gloldommon a 5Q}7 5Q a dommon}
7 7 7 7 7
vong reshvn
esolutepromrerew
he mro \AbsoluteFromHebrew{day }{month }{year }{absdate } lultes the solute dte of rerew dte day.month.yearF
defesolutepromrerew5I5P5Q5R{7 {7 62.1323 5R a 5I7 62.1324 rerewhyssnriorwonths{5P}{5Q}{5I}7 62.1325 dvne 5R y 5I7 7 edd dys in prior months this yer 62.1326 rerewilpsedhys{5Q}{5I}7 62.1327 dvne 5R y 5I7 7 edd dys in prior yers 62.1328 dvne 5R y EIQUQRPW7 7 utrt dys efore qregorin 62.1329 gloldommon a 5R}7 7 HIFHIFHHHI 62.1330 5R a dommon}
62.1321 62.1322
rerewpromqregorin
he mro \HebrewFromGregorian{Gday }{Gmonth }{Gyear }{Hday }{Hmonth }E {Hyear } evlutes rerew dte HdayD HmonthD Hyear from qregorin dte GdayD GmonthD GyearF
defrerewpromqregorin5I5P5Q5R5S5T{7 {7 62.1333 ountdeftmpxa IU7 7 tmpxaaountIU 62.1334 ountdeftmpya IV7 7 tmpyaaountIV 62.1335 ountdeftmpza IW7 7 tmpzaaountIW 62.1336 7 62.1337 5T a 5Q7 7 62.1338 gloldvne 5T y QUTI7 pproximtion from ove 62.1339 esolutepromqregorin{5I}{5P}{5Q}{5R}7 62.1340 tmpz a I tmpy a I7 62.1341 esolutepromrerew{tmpz}{tmpy}{5T}{tmpx}7 62.1342 ifnum tmpx b 5R7 7 62.1343 gloldvne 5T y EI7 ryer a qyer C QUTH 62.1344 esolutepromrerew{tmpz}{tmpy}{5T}{tmpx}7 62.1345 fi7 7 62.1346 dvne 5R y Etmpx7 7 hys in this yer 62.1347 dvne 5R y I7 7 62.1348 5S a 5R7 7 62.1349 divide 5S y QH7 7 epproximtion for month from elow 62.1350 loop7 7 erh for month 62.1351 rerewhyssnriorwonths{5S}{5T}{tmpx}7 62.1352 ifnum tmpx ` 5R7 62.1353 dvne 5S y I7 62.1354 tmpy a tmpx7 62.1355 repet7 62.1356 gloldvne 5S y EI7 62.1357 gloldvne 5R y Etmpy}} 62.1358 /calendar
62.1331 62.1332
RPI
63
rerew input enodings de(ned in (le hebinp.dtx77 should e used with A inputenc v i P pkgeF his pkge llows the user to speify n input enoding from this (le @for exmpleD sy rerewGvtin VVSWEVD sfw rerew odepge VTP or w indows rerew odepge IPSSA y syingX
\usepackage[encoding
name ]{inputenc}
\inputencoding{encoding
name }
he only prtil use of this ommnd within doument is when using text from severl douments to uild up omposite work suh s volume of journl rtilesF herefore this ommnd will e used only in vertil modeF he enodings provided y this pkge reX
si960 UEit rerew enoding for the rnge QP!IPUF his enoding lso known s oldEode nd de(ned y ssreli tndrd sEWTHF 8859-8 sy VVSWEV rerewGvtin enoding ommonly used in xs sysE temsF his enoding lso known s newEode nd inludes herew letters in positions strting from PPRF cp862 sfw VTP ode pge ommonly used y hy on sfwEomptile perE sonl omputersF his enoding lso known s pEode nd inludes herew letters in positions strting from IPVF cp1255 w indows IPSS @herewA ode pge whih is similr to VVSWEVF sn ddition to herew lettersD this enoding ontins lso herew vowels nd dots @nikudAF
ih enoding hs n ssoited .def (leD for exmple 8859-8.def whih de(nes the ehviour of eh input hrterD using the ommndsX
xote tht the commands should e roustD nd should not e dependent on the output enodingF he sme slot should not hve oth text nd mth delrE tion for itF @his restrition my e removed in future releses of inputenAF he .def (le my lso de(ne ommnds using the delrtionsX \providecommand or \ProvideTextCommandDefaultF por exmpleD 8859-8.def de(nesX
rovideextgommndhefult{textonequrter}{ensuremth{frIR}} helresnputext{IVV}{textonequrter}
77 The
les described in this section have version number v1.1b and were last revised on 2004/02/20.
RPP
he use of the provide9 forms here will ensure tht etter de(nition will not e overEwrittenY their use is reommended sineD in generlD the est de(ntion depends on the fonts villeF ee the doumenttion in inputenc.dtx for detils of how to delre input de(nitions for vrious enodingsF
driver mketletter
ome input hrters mp to internl funtions whih re not in either the T1 or OT1 font enodingF por this reson defult de(nitions re provided in the enoding (leX these will e used unless some other output enoding is used whih supports those glyphsF sn some ses this defult de(ntion hs to e simply n error messgeF xote tht this works resonly well only euse the enoding (les for oth OT1 nd T1 re loded in the stndrd ve formtF
8859 8 | cp862 | cp1255 rovideextgommndhefult{textdegree}{ensuremth{{ir}}} 63.4 rovideextgommndhefult{textonehlf}{ensuremth{frIP}} 63.5 rovideextgommndhefult{textonequrter}{ensuremth{frIR}} 63.6 /8859 8 | cp862 | cp1255 63.7 8859 8 | cp1255 63.8 rovideextgommndhefult{textthreequrters}{ensuremth{frQR}} 63.9 /8859 8 | cp1255 63.10 cp862 | cp1255 63.11 rovideextgommndhefult{textflorin}{textit{f}} 63.12 /cp862 | cp1255 63.13 cp862 63.14 rovideextgommndhefult{textpeset}{t} 63.15 /cp862
63.2 63.3
he nme \textblacksquare is derived from the ew symol nme sine edoe seem not to wnt this symolF he defult de(nitionD s ruleD mkes no lim to eing good designF
cp862 rovideextgommndhefult{textlksqure} 63.18 {vrule dwidth FQem dheight FRem ddepth EFIemrelx} 63.19 /cp862
63.16 63.17
RPQ
cp1255 rovideextgommndhefult{newsheqel} 63.32 {extymolnvillenewsheqel} 63.33 /cp1255 63.34 8859 8 | cp1255 63.35 rovideextgommndhefult{textrokenr} 63.36 {extymolnvilletextrokenr} 63.37 /8859 8 | cp1255 63.38 cp1255 63.39 rovideextgommndhefult{textperthousnd} 63.40 {extymolnvilletextperthousnd} 63.41 /cp1255
63.30 63.31
ghrters tht re supposed to e used only in mth will e de(ned y A \providecommand euse v i P ssumes tht the font enoding for mth fonts is sttiF
63.42
8859 8 | cp1255 provideommnd{mthonesuperior}{{I}} 63.44 provideommnd{mththreesuperior}{{Q}} 63.45 /8859 8 | cp1255 63.46 8859 8 | cp862 | cp1255 63.47 provideommnd{mthtwosuperior}{{P}} 63.48 /8859 8 | cp862 | cp1255 63.49 cp862 63.50 provideommnd{mthordmsuline}{{o}} 63.51 provideommnd{mthordfeminine}{{}} 63.52 /cp862
63.43
63.3 The ISO 8859-8 encoding and the MS Windows cp1255 encoding
he 8859-8.def enoding (le de(nes the hrters in the sy VVSWEV enodingF he w indows rerew hrter set inorportes the rerew letter reperE toire of sy VVSWEVD nd uses the sme ode points @strting from PPRAF st hs lso some importnt dditions in the IPV!ISW nd IWH!PPR rngesF
cp1255 helresnputext{IQH}{quotesinglse} 63.55 helresnputext{IQI}{textflorin} 63.56 helresnputext{IQP}{quotedlse} 63.57 helresnputext{IQQ}{dots} 63.58 helresnputext{IQR}{dg} 63.59 helresnputext{IQS}{ddg} 63.60 helresnputext{IQT}{{}} 63.61 helresnputext{IQU}{textperthousnd} 63.62 helresnputext{IQW}{guilsinglleft} 63.63 helresnputext{IRS}{textquoteleft} 63.64 helresnputext{IRT}{textquoteright} 63.65 helresnputext{IRU}{textquotedlleft}
63.53 63.54
RPR
helresnputext{IRV}{textquotedlright} helresnputext{IRW}{textullet} 63.68 helresnputext{ISH}{textendsh} 63.69 helresnputext{ISI}{textemdsh} 63.70 helresnputext{ISP}{~{}} 63.71 helresnputext{ISQ}{texttrdemrk} 63.72 helresnputext{ISS}{guilsinglright} 63.73 /cp1255
63.66 63.67
8859 8 | cp1255 helresnputext{ITH}{norekspe} 63.76 helresnputext{ITP}{textent} 63.77 helresnputext{ITQ}{pounds} 63.78 +8859 8 \DeclareInputText{164}{\textcurrency} 63.79 +cp1255 \DeclareInputText{164}{\newsheqel} 63.80 helresnputext{ITS}{textyen} 63.81 helresnputext{ITT}{textrokenr} 63.82 helresnputext{ITU}{} 63.83 helresnputext{ITV}{4{}} 63.84 helresnputext{ITW}{textopyright} 63.85 +8859 8 \DeclareInputMath{170}{\times} 63.86 helresnputext{IUI}{guillemotleft} 63.87 helresnputwth{IUP}{lnot} 63.88 helresnputext{IUQ}{E} 63.89 helresnputext{IUR}{textregistered} 63.90 helresnputext{IUS}{dtkludgea{}} 63.91 helresnputext{IUT}{textdegree} 63.92 helresnputwth{IUU}{pm} 63.93 helresnputwth{IUV}{mthtwosuperior} 63.94 helresnputwth{IUW}{mththreesuperior} 63.95 helresnputext{IVH}{dtkludge9{}} 63.96 helresnputwth{IVI}{mu} 63.97 helresnputext{IVP}{} 63.98 helresnputext{IVQ}{textperiodentered} 63.99 +8859 8 \DeclareInputText{184}{\c\ } 63.100 helresnputwth{IVS}{mthonesuperior} 63.101 +8859 8 \DeclareInputMath{186}{\div} 63.102 helresnputext{IVU}{guillemotright} 63.103 helresnputext{IVV}{textonequrter} 63.104 helresnputext{IVW}{textonehlf} 63.105 helresnputext{IWH}{textthreequrters} 63.106 /8859 8 | cp1255
63.74 63.75
rerew vowels nd dots @nikudA re inluded only to w indows pIPSS pge nd strt from the position IWPF
cp1255 helresnputext{IWP}{heshev} 63.109 helresnputext{IWQ}{hehtfsegol} 63.110 helresnputext{IWR}{hehtfpth} 63.111 helresnputext{IWS}{hehtfqmts} 63.112 helresnputext{IWT}{hehiriq} 63.113 helresnputext{IWU}{hetsere} 63.114 helresnputext{IWV}{hesegol} 63.115 helresnputext{IWW}{hepth} 63.116 helresnputext{PHH}{heqmts}
63.107 63.108
RPS
helresnputext{PHI}{heholm} helresnputext{PHQ}{hequuts} 63.119 helresnputext{PHR}{hedgesh} 63.120 helresnputext{PHS}{hemeteg} 63.121 helresnputext{PHT}{hemqf} 63.122 helresnputext{PHU}{herfe} 63.123 helresnputext{PHV}{hepseq} 63.124 helresnputext{PHW}{heshindot} 63.125 helresnputext{PIH}{hesindot} 63.126 helresnputext{PII}{hesofpsuq} 63.127 helresnputext{PIP}{hedoulevv} 63.128 helresnputext{PIQ}{hevvyod} 63.129 helresnputext{PIR}{hedouleyod} 63.130 /cp1255
63.117 63.118
8859 8 | cp1255 63.132 helresnputext{PPR}{helef} 63.133 helresnputext{PPS}{heet} 63.134 helresnputext{PPT}{hegimel} 63.135 helresnputext{PPU}{hedlet} 63.136 helresnputext{PPV}{hehe} 63.137 helresnputext{PPW}{hevv} 63.138 helresnputext{PQH}{hezyin} 63.139 helresnputext{PQI}{hehet} 63.140 helresnputext{PQP}{hetet} 63.141 helresnputext{PQQ}{heyod} 63.142 helresnputext{PQR}{hefinlkf} 63.143 helresnputext{PQS}{hekf} 63.144 helresnputext{PQT}{helmed} 63.145 helresnputext{PQU}{hefinlmem} 63.146 helresnputext{PQV}{hemem} 63.147 helresnputext{PQW}{hefinlnun} 63.148 helresnputext{PRH}{henun} 63.149 helresnputext{PRI}{hesmekh} 63.150 helresnputext{PRP}{heyin} 63.151 helresnputext{PRQ}{hefinlpe} 63.152 helresnputext{PRR}{hepe} 63.153 helresnputext{PRS}{hefinltsdi} 63.154 helresnputext{PRT}{hetsdi} 63.155 helresnputext{PRU}{heqof} 63.156 helresnputext{PRV}{heresh} 63.157 helresnputext{PRW}{heshin} 63.158 helresnputext{PSH}{hetv} 63.159 /8859 8 | cp1255
peil symols whih de(ne the diretion of symols expliitlyF gurrentlyD A they re not used in v iF
cp1255 helresnputext{PSQ}{lefttorightmrk} 63.162 helresnputext{PSR}{righttoleftmrk} 63.163 /cp1255
63.160 63.161
RPT
helresnputext{ISS}{textent} helresnputext{IST}{pounds} 63.194 helresnputext{ISU}{textyen} 63.195 helresnputext{ISV}{textpeset} 63.196 helresnputext{ISW}{textflorin} 63.197 helresnputext{ITH}{dtkludge9} 63.198 helresnputext{ITI}{dtkludge9i} 63.199 helresnputext{ITP}{dtkludge9o} 63.200 helresnputext{ITQ}{dtkludge9u} 63.201 helresnputext{ITR}{~n} 63.202 helresnputext{ITS}{~x} 63.203 helresnputwth{ITT}{mthordfeminine} 63.204 helresnputwth{ITU}{mthordmsuline} 63.205 helresnputext{ITV}{textquestiondown} 63.206 helresnputwth{IUH}{lnot} 63.207 helresnputext{IUI}{textonehlf} 63.208 helresnputext{IUP}{textonequrter} 63.209 helresnputext{IUQ}{textexlmdown} 63.210 helresnputext{IUR}{guillemotleft} 63.211 helresnputext{IUS}{guillemotright}
63.192 63.193
RPU
helresnputwth{PPR}{lph} helresnputext{PPS}{ss} 63.214 helresnputwth{PPT}{qmm} 63.215 helresnputwth{PPU}{pi} 63.216 helresnputwth{PPV}{igm} 63.217 helresnputwth{PPW}{sigm} 63.218 helresnputwth{PQH}{mu} 63.219 helresnputwth{PQI}{tu} 63.220 helresnputwth{PQP}{hi} 63.221 helresnputwth{PQQ}{het} 63.222 helresnputwth{PQR}{ymeg} 63.223 helresnputwth{PQS}{delt} 63.224 helresnputwth{PQT}{infty} 63.225 helresnputwth{PQU}{phi} 63.226 helresnputwth{PQV}{vrepsilon} 63.227 helresnputwth{PQW}{p} 63.228 helresnputwth{PRH}{equiv} 63.229 helresnputwth{PRI}{pm} 63.230 helresnputwth{PRP}{ge} 63.231 helresnputwth{PRQ}{le} 63.232 helresnputwth{PRT}{div} 63.233 helresnputwth{PRU}{pprox} 63.234 helresnputext{PRV}{textdegree} 63.235 helresnputext{PRW}{textperiodentered} 63.236 helresnputext{PSH}{textullet} 63.237 helresnputwth{PSI}{surd} 63.238 helresnputwth{PSP}{mthnsuperior} 63.239 helresnputwth{PSQ}{mthtwosuperior} 63.240 helresnputext{PSR}{textlksqure} 63.241 helresnputext{PSS}{norekspe} 63.242 /cp862
63.212 63.213
hislexikud
e utility mro to ignore ny nikud hrter tht my pper in the inputF his llows you to ignore pIPSS nikud hrters tht hppened to pper in the inputF
8859 8 newommnd{hislexikud}{7 63.245 helresnputext{IWP}{}7 63.246 helresnputext{IWQ}{}7 63.247 helresnputext{IWR}{}7 63.248 helresnputext{IWS}{}7 63.249 helresnputext{IWT}{}7 63.250 helresnputext{IWU}{}7 63.251 helresnputext{IWV}{}7 63.252 helresnputext{IWW}{}7 63.253 helresnputext{PHH}{}7 63.254 helresnputext{PHI}{}7 63.255 helresnputext{PHQ}{}7 63.256 helresnputext{PHR}{}7 63.257 helresnputext{PHS}{}7 63.258 helresnputext{PHT}{}7 63.259 helresnputext{PHU}{}7 63.260 helresnputext{PHV}{}7 63.261 helresnputext{PHW}{}7 63.262 helresnputext{PIH}{}7
63.243 63.244
RPV
} /8859 8
pinllyD we reset the tegory ode of the @ sign t the end of ll .def (lesF
63.269
driver mketother
64
64.1 THIS SECTION IS OUT OF DATE. UPDATE DOCS TO MATCH HE8 ENCODING
he (le hebrew.fdd78 ontins the vol rerew inoding @LHEA de(nitionD the externl font informtion needed to use the rerew UEit fonts @old ode fontsA nd hebfont pkge tht provides rerew font swithing ommndsF sing this (le s n inputD lheenc.def enoding de(nition (leD ll .fd (les @font de(nition (lesA nd font swithing pkge for ville rerew fonts re genertedF e hose to use UEit enoding s defult font enodingD euseX IF here re mny UEit enoded rerew fonts villeD more then for ny other enodingF PF eville i rerew fonts do not inlude ltin lphetD nd we n sfely mp rerew glyphs to the ASCII positions @H ! IPUAF gurrent de(nition of the LHE enoding supports only rerew letters @\hebalef! \hebtavAD ut not rerew pointsD suh s \hebdageshD \hebqamatsD \hebpatahD \hebshindotD etF e re working now on suh dditionF
docstrip
in
les described in this section have version number v1.2c and were last revised on
RPW
driver riVen riVmr riVmss riVmtt riVymegrerew riVhroni riVdvid riVdrugulin riVellini riVfrnkruehl riVutvd riVwirimwono riVxhlieli riVgourierhlom riVrelvetixrkissm riVimesxrkissim riVmfdvid riVm'rnk riVm'rnkthik riVm'rnkthin riVmfmirim riVmfmirimwide riVmfnrkistm vrien vrimr vrimss vrimtt vrils vrishold vrishsr vrishstk vrifr vrirml vriredis nowrn hefont e typil
produe doumenttion driver (le produe the enoding de(nition for godege IPSS @HE8A mke rerew defult font in HE8 mke rerew snsEserif font in HE8 mke rerew typewriter font in HE8 rerew font from the ymeg projet @y cccA rerew snsEserif font @gulmusA rerew serif font @gulmusA rerew old serif font @gulmusA rerew isnsEserif font @gulmusA rerew serif font @gulmusA rerew hndwriting font @gulmusA rerew monosped font rerew snsEserif font @gulmusA rerew hlom @gourierA font @y sfwA rerew xrkism @relvetiA @y vi xrkisA rerew xrkissim @imesA @y vi xrkisA rerew hvid font @y cccA rerew prnkEuehl font @y ccA rerew prnkEuehl @thikA font @y ccA rerew prnkEuehl @thinA font @y ccA rerew wirim font @y cccA rerew wirim @wideA font @y cccA rerew xrkis m font @y cccA produe the enoding de(nition for vol rerew inoding @LHEA mke mke mke mke mke mke mke mke mke mke rerew rerew rerew rerew rerew rerew rerew rerew rerew rerew defult font in LHE snsEserif font in LHE typewriter font in LHE lssi font @y toel wF ro'mnA in LHE shlom old font @y tonthn freherA in LHE shlom sript font @y tonthn freherA in LHE shlom stik font @y tonthn freherA in LHE frnkEruehl font in LHE rmel font @y hrF my frnyA in LHE redis font @y rofF tques tF qoldergA in LHE
option for font de(nition (lesD tht used to produe silent font sustitutions without giving wrnings rete rerew font swithing ommnds pkge
genertepile{lhemrFfd}{t}{from{herewFfdd}{vrimrDnowrn}}
pirst we de(ne the vol rerew inodingY speify defult for the font sustitution proess for the LHE enoding nd supply font to e used when ll else filsF
LHEenc helrepontinoding{vri}{}{} 64.3 helrepontustitution{vri}{mr}{m}{n} 64.4 helreirrorpont{vri}{mr}{m}{n}{IH} 64.5 /LHEenc
64.1 64.2
feuse not everyone n input rerew input text diretly from the keyord we need to de(ne ontrol sequenes for ll the rerew glyphs in the fontsF sn dditionD we wnt to support mny input enodings for rerew nd to keep the lnguge de(nition (le @hebrew.ldfA independent of the enodingF hereforeD we A exploit the stndrd v i P font enoding mehnism to de(ne ontrol sequenes for ll the rerew glyphs in the fonts in enodingEspei( wyF he lnguge de(nition (le uses only the ontrol sequenes nd doesn9t need to hek the urrent font or input enodingF sn the LHE enoding @UEit enodingA ll the rerew glyphes reside in the lower hlf of the fontF gurrentlyD only the rerew letters re supportedF hey use the sme positions s the ltin smll letters in ASCII enoding nd the position of `F he symol ` @glyph WTA is used y rerew letter AlefD so we need to de(ne its lccode to llow hyphentionF ell other letters retin the sme lccodes s their ltin ounterprtsF
64.12
+LHEenc lodea
RQI
helreextymol{heyin}{vri}{IIR} helreextymol{hefinlpe}{vri}{IIS} 64.34 helreextymol{hepe}{vri}{IIT} 64.35 helreextymol{hefinltsdi}{vri}{IIU} 64.36 helreextymol{hetsdi}{vri}{IIV} 64.37 helreextymol{heqof}{vri}{IIW} 64.38 helreextymol{heresh}{vri}{IPH} 64.39 helreextymol{heshin}{vri}{IPI} 64.40 helreextymol{hetv}{vri}{IPP} 64.41 /LHEenc
64.32 64.33
+LHEenc lethesinaheshin
64.4.2
e use Tel Aviv font for the ns fmilyF nd Dead Sea used for old feF
64.65 64.66
LHEcmss helrepontpmily{vri}{mss}{hyphenhrfontRS} 64.67 helreponthpe{vri}{mss}{m}{n} 64.68 {`Eb telvIH }{} 64.69 7777777 pontGshpe undefinedD therefore sustituted 64.70 helreponthpe{vri}{mss}{m}{s} 64.71 nowarn {<->sub * cmss/m/n}{}
RQP
+nowarn {<->ssub * cmss/m/n}{} 7777777 stliized shpe 64.74 helreponthpe{vri}{mss}{m}{it} 64.75 {`Eb oldjfIH }{} 64.76 7777777 pontGshpe undefinedD therefore 64.77 helreponthpe{vri}{mss}{m}{sl} 64.78 nowarn {<->sub * cmss/m/it}{} 64.79 +nowarn {<->ssub * cmss/m/it}{} 64.80 7777777 fold extended series 64.81 helreponthpe{vri}{mss}{x}{n} 64.82 {`Eb dedsIH }{} 64.83 7777777 pontGshpe undefinedD therefore 64.84 helreponthpe{vri}{mss}{}{n} 64.85 nowarn {<->sub * cmss/bx/n}{} 64.86 +nowarn {<->ssub * cmss/bx/n}{} 64.87 7777777 pontGshpe undefinedD therefore 64.88 helreponthpe{vri}{mss}{x}{sl} 64.89 nowarn {<->sub * cmss/bx/n}{} 64.90 +nowarn {<->ssub * cmss/bx/n}{} 64.91 7777777 pontGshpe undefinedD therefore 64.92 helreponthpe{vri}{mss}{x}{it} 64.93 nowarn {<->sub * cmss/bx/n}{} 64.94 +nowarn {<->ssub * cmss/bx/n}{} 64.95 /LHEcmss
64.72 64.73
sustituted
sustituted
sustituted
sustituted
64.4.3
e use Tel Aviv font s the typewriter fontF nd Dead Sea used for old feF
64.96 64.97
LHEcmtt helrepontpmily{vri}{mtt}{hyphenhr fontmdne} 64.98 helreponthpe{vri}{mtt}{m}{n} 64.99 {`Eb telvIH }{} 64.100 7777777 pontGshpe undefinedD therefore sustituted 64.101 helreponthpe{vri}{mtt}{m}{s} 64.102 nowarn {<->sub * cmtt/m/n}{} 64.103 +nowarn {<->ssub * cmtt/m/n}{} 64.104 7777777 stliized shpe 64.105 helreponthpe{vri}{mtt}{m}{it} 64.106 {`Eb oldjfIH }{} 64.107 7777777 pontGshpe undefinedD therefore sustituted 64.108 helreponthpe{vri}{mtt}{m}{sl} 64.109 nowarn {<->sub * cmtt/m/it}{} 64.110 +nowarn {<->ssub * cmtt/m/it}{} 64.111 7777777 fold extended series 64.112 helreponthpe{vri}{mtt}{x}{n} 64.113 {`Eb dedsIH }{} 64.114 7777777 pontGshpe undefinedD therefore sustituted 64.115 helreponthpe{vri}{mtt}{x}{it} 64.116 nowarn {<->sub * cmtt/bx/n}{} 64.117 +nowarn {<->ssub * cmtt/bx/n}{} 64.118 /LHEcmtt
RQQ
64.4.4
Hclassic nd hcaption fonts re distriuted freely from CTAN sites nd opyE righted y toel wF ro'mnD of IW rillrest vneD yeD x IHSVH eD eEmilX 72700.402@compuserve.comF rlssi is modernized glssil rerew font @in the sme wy tht unuth9s cmr fmily is modernized omn font " ut his fonts re muh nierAF rption is slnted version of hlssi fontF foth fonts ontin ll of the rerew onsoE nntsD the @rrely usedA ligture alef-lamed nd two versions of the letter ayin for use with nd without vowelsF rlssi lso ontins ll of the vowels found in rerewD symol for metegD nd dots for use s dagesh nd for di'erentiting shin nd sin lettersF gurrentlyD only the rerew onsonnts @hebalef ! hebtav A from these fonts A re supported y v i P D however one n use vowels nd dots diretly with Plain i mrosF e re working on generi vowels nd dots support for A v i P F
LHEclas helrepontpmily{vri}{ls}{} 64.121 helreponthpe{vri}{ls}{m}{n} 64.122 {`Eb s B HFVQQRS hlssi }{} 64.123 7777777 pontGshpe undefinedD therefore sustituted 64.124 helreponthpe{vri}{ls}{m}{s} 64.125 nowarn {<->sub * clas/m/n}{} 64.126 +nowarn {<->ssub * clas/m/n}{} 64.127 7777777 lnted shpe 64.128 helreponthpe{vri}{ls}{m}{sl} 64.129 {`Eb s B HFTWQVW hption }{} 64.130 7777777 pontGshpe undefinedD therefore sustituted 64.131 helreponthpe{vri}{ls}{m}{it} 64.132 nowarn {<->sub * clas/m/sl}{} 64.133 +nowarn {<->ssub * clas/m/sl}{} 64.134 /LHEclas
64.119 64.120
64.4.5
ell three shlom fonts @ShalomScript10D ShalomStick10 nd ShalomOldStyle10 A hve een reted y tonthn freherD of W kyview odD vexingtonD we HPIUQE IIIP eD eEmilX brecher@husc.harvard.eduF ell shlom fonts hve een written in PostScript vi pontogrpher on wF he fonts hve een onverted to METAFONT y m orrt @eEmilX rama@cc.huji.ac.ilAD using the utility typoD font editor C onverter etween font formts @ ommeril produtAF ShalomScript10.mf is the METAFONT equivlent of ShalomScript.psD ShalomStick10.mf me from ShalomStick.ps nd ShalomOldStyle10.mf originted in ShalomOldStyle.psF he fonts di'er in the letters9 styleF hlomriptIH ontins hnd writing rerew lettersY hlomtikIH ontins snsEserif lettersD nd hlomyldtyleIH ontins old style lettersF ell three fonts ontin vowels nd dots @nikudAF hile onverting to METAFONTD letters nd symols within the fonts hve een rrnged A so s to get usle font for writing rerew douments in i or v iD with s well s without vowelsF gurrentlyD only the rerew onsonnts @hebalef ! hebtav A from these fonts
RQR
A re supported y v i P D however one n use vowels nd dots diretly with mrosF e re working on generi vowels nd dots support for A v i P F
Plain i
LHEshold helrepontpmily{vri}{shold}{} 64.137 helreponthpe{vri}{shold}{m}{n} 64.138 {`Eb sholdIH }{} 64.139 /LHEshold 64.140 LHEshscr 64.141 helrepontpmily{vri}{shsr}{} 64.142 helreponthpe{vri}{shsr}{m}{n} 64.143 {`Eb shsrIH }{} 64.144 /LHEshscr 64.145 LHEshstk 64.146 helrepontpmily{vri}{shstk}{} 64.147 helreponthpe{vri}{shstk}{m}{n} 64.148 {`Eb shstkIH }{} 64.149 /LHEshstk
64.135 64.136
64.4.6
Frank Ruehl font ws written in METAFONT nd inludes three shpesX regulrD old extneded nd slntedF
LHEfr helrepontpmily{vri}{fr}{} 64.152 helreponthpe{vri}{fr}{m}{n} 64.153 {`Eb fr }{} 64.154 7777777 pontGshpe undefinedD therefore 64.155 helreponthpe{vri}{fr}{m}{s} 64.156 nowarn {<->sub * fr/m/n}{} 64.157 +nowarn {<->ssub * fr/m/n}{} 64.158 7777777 lnted shpe 64.159 helreponthpe{vri}{fr}{m}{sl} 64.160 {`Eb frsl }{} 64.161 7777777 pontGshpe undefinedD therefore 64.162 helreponthpe{vri}{fr}{m}{it} 64.163 nowarn {<->sub * fr/m/sl}{} 64.164 +nowarn {<->ssub * fr/m/sl}{} 64.165 7777777 fold extended series 64.166 helreponthpe{vri}{fr}{x}{n} 64.167 {`Eb frx }{} 64.168 7777777 pontGshpe undefinedD therefore 64.169 helreponthpe{vri}{fr}{}{n} 64.170 nowarn {<->sub * fr/bx/n}{} 64.171 +nowarn {<->ssub * fr/bx/n}{} 64.172 7777777 pontGshpe undefinedD therefore 64.173 helreponthpe{vri}{fr}{x}{sl} 64.174 nowarn {<->sub * fr/bx/n}{} 64.175 +nowarn {<->ssub * fr/bx/n}{} 64.176 7777777 pontGshpe undefinedD therefore 64.177 helreponthpe{vri}{fr}{x}{it} 64.178 nowarn {<->sub * fr/bx/n}{} 64.179 +nowarn {<->ssub * fr/bx/n}{}
64.150 64.151
sustituted
sustituted
sustituted
sustituted
sustituted
RQS
64.180
/LHEfr
64.4.7
Carmel
font inludes regulr nd slnted shpesF st ws reted y hrF my frny of the ehnionD rifD ssrel with the intention of mking nie fonts for heders nd emphsized textF
LHEcrml helrepontpmily{vri}{rml}{} 64.183 helreponthpe{vri}{rml}{m}{n} 64.184 {`Eb rmlIH }{} 64.185 7777777 pontGshpe undefinedD therefore sustituted 64.186 helreponthpe{vri}{rml}{m}{s} 64.187 nowarn {<->sub * crml/m/n}{} 64.188 +nowarn {<->ssub * crml/m/n}{} 64.189 7777777 lnted shpe 64.190 helreponthpe{vri}{rml}{m}{sl} 64.191 {`Eb rmlslIH }{} 64.192 7777777 pontGshpe undefinedD therefore sustituted 64.193 helreponthpe{vri}{rml}{m}{it} 64.194 nowarn {<->sub * crml/m/sl}{} 64.195 +nowarn {<->ssub * crml/m/sl}{} 64.196 /LHEcrml
64.181 64.182
64.4.8
Redis
font hs een reted y rofF tques tF qolderg of the ehnionF rifD ssrelF he font is ville in regulrD slnted nd old extnded shpesF his font ontins full set of rerew letters in snsEserif vetorized styleD nd seleted puntutionF
LHEredis helrepontpmily{vri}{redis}{} 64.199 helreponthpe{vri}{redis}{m}{n}{7 64.200 `Sb `Tb redisU 64.201 `Ub `Vb `Wb `IHb `IPb gen B redis 64.202 `IHFWSb redisIH 64.203 `IRFRb redisIP 64.204 `IUFPVb `PHFURb `PRFVVb redisIU}{} 64.205 7777777 pontGshpe undefinedD therefore sustituted 64.206 helreponthpe{vri}{redis}{m}{s} 64.207 nowarn {<->sub * redis/m/n}{} 64.208 +nowarn {<->ssub * redis/m/n}{} 64.209 7777777 lnted shpe 64.210 helreponthpe{vri}{redis}{m}{sl}{7 64.211 `Sb `Tb `Ub redissV 64.212 `Vb `Wb `IHb `IPb gen B rediss 64.213 `IHFWSb redissIH 64.214 `IRFRb `IUFPVb `PHFURb `PRFVVb redissIP}{} 64.215 7777777 pontGshpe undefinedD therefore sustituted 64.216 helreponthpe{vri}{redis}{m}{it} 64.217 nowarn {<->sub * redis/m/sl}{} 64.218 +nowarn {<->ssub * redis/m/sl}{} 64.219 7777777 fold extended series
64.197 64.198
RQT
helreponthpe{vri}{redis}{x}{n}{7 `Sb `Tb `Ub `Vb `Wb `IHb `IHFWSb `IPb 64.222 `IRFRb `IUFPVb `PHFURb `PRFVVb redisIH}{} 64.223 7777777 pontGshpe undefinedD therefore sustituted 64.224 helreponthpe{vri}{redis}{}{n} 64.225 nowarn {<->sub * redis/bx/n}{} 64.226 +nowarn {<->ssub * redis/bx/n}{} 64.227 7777777 pontGshpe undefinedD therefore sustituted 64.228 helreponthpe{vri}{redis}{x}{sl} 64.229 nowarn {<->sub * redis/bx/n}{} 64.230 +nowarn {<->ssub * redis/bx/n}{} 64.231 7777777 pontGshpe undefinedD therefore sustituted 64.232 helreponthpe{vri}{redis}{x}{it} 64.233 nowarn {<->sub * redis/bx/n}{} 64.234 +nowarn {<->ssub * redis/bx/n}{} 64.235 /LHEredis
64.220 64.221
64.5.1
feuse not everyone n input rerew input text diretly from the keyord we need to de(ne ontrol sequenes for ll the rerew glyphs in the fontsF sn dditionD we wnt to support mny input enodings for rerew nd to keep the lnguge de(nition (le @hebrew.ldfA independent of the enodingF hereforeD we exploit A the stndrd v i P font enoding mehnism to de(ne ontrol sequenes for ll the rerew glyphs in the fonts in enodingEspei( wyF he lnguge de(nition (le uses only the ontrol sequenes nd doesn9t need to hek the urrent font or input enodingF sn the LHE enoding @UEit enodingA ll the rerew glyphes reside in the lower hlf of the fontF gurrentlyD only the rerew letters re supportedF hey use the sme positions s the ltin smll letters in ASCII enoding nd the position of `F ome generl symolsX RQU
HE8enc rovideextgommnd{textopyright}{riV}{textirled{dltin{}}} 64.249 rovideextgommnd{textregistered}{riV}{textirled{sshpe7 64.250 dltin{r}}} 64.251 rovideextgommnd{texttrdemrk}{riV}{textsupersript{dltin{w}}} 64.252 /HE8enc
64.247 64.248
he herew pointsX
HE8enc 64.254 helreextymol{shev}{riV}{IWP} 64.255 helreextymol{htfsegol}{riV}{IWQ} 64.256 helreextymol{htfpth}{riV}{IWR} 64.257 helreextymol{htfqmts}{riV}{IWS} 64.258 helreextymol{hiriq}{riV}{IWT} 64.259 helreextymol{tsere}{riV}{IWU} 64.260 helreextymol{segol}{riV}{IWV} 64.261 helreextymol{pth}{riV}{IWW} 64.262 helreextymol{qmts}{riV}{PHH} 64.263 helreextymol{holm}{riV}{PHI} 64.264 helreextymol{quuts}{riV}{PHQ} 64.265 helreextymol{dgesh}{riV}{PHR} 64.266 helreextymol{meteg}{riV}{PHS} 64.267 helreextymol{mqf}{riV}{PHT} 64.268 helreextymol{rfe}{riV}{PHU} 64.269 helreextymol{pseq}{riV}{PHV} 64.270 helreextymol{shindot}{riV}{PHW} 64.271 helreextymol{sindot}{riV}{PIH} 64.272 helreextymol{sofpsuq}{riV}{PII} 64.273 helreextymol{doulevv}{riV}{PIP} 64.274 helreextymol{vvyod}{riV}{PIQ} 64.275 helreextymol{douleyod}{riV}{PIR} 64.276 /HE8enc
64.253
rerew letters oupy the positions PPR!PSH in HE8 enoding re efy yri weuX
HE8enc 7 lodea 7 proly not needed @zfrirA 64.279 helreextymol{helef}{riV}{PPR} 64.280 helreextymol{heet}{riV}{PPS} 64.281 helreextymol{hegimel}{riV}{PPT} 64.282 helreextymol{hedlet}{riV}{PPU} 64.283 helreextymol{hehe}{riV}{PPV} 64.284 helreextymol{hevv}{riV}{PPW} 64.285 helreextymol{hezyin}{riV}{PQH} 64.286 helreextymol{hehet}{riV}{PQI} 64.287 helreextymol{hetet}{riV}{PQP} 64.288 helreextymol{heyod}{riV}{PQQ} 64.289 helreextymol{hefinlkf}{riV}{PQR} 64.290 helreextymol{hekf}{riV}{PQS} 64.291 helreextymol{helmed}{riV}{PQT} 64.292 helreextymol{hefinlmem}{riV}{PQU} 64.293 helreextymol{hemem}{riV}{PQV} 64.294 helreextymol{hefinlnun}{riV}{PQW} 64.295 helreextymol{henun}{riV}{PRH} 64.296 helreextymol{hesmekh}{riV}{PRI}
64.277 64.278
RQV
helreextymol{heyin}{riV}{PRP} helreextymol{hefinlpe}{riV}{PRQ} 64.299 helreextymol{hepe}{riV}{PRR} 64.300 helreextymol{hefinltsdi}{riV}{PRS} 64.301 helreextymol{hetsdi}{riV}{PRT} 64.302 helreextymol{heqof}{riV}{PRU} 64.303 helreextymol{heresh}{riV}{PRV} 64.304 helreextymol{heshin}{riV}{PRW} 64.305 helreextymol{hetv}{riV}{PSH} 64.306 /HE8enc
64.297 64.298
+HE8enc lethesinaheshin
64.6.2
ntil we hve rel snsEserif font in this distriutionD this (le will remin opy of the romn fonts de(nitons oveF
HE8cmss helrepontpmily{riV}{mss}{hyphenhrfontRS} 64.332 helreponthpe{riV}{mss}{m}{n} 64.333 {`Eb nhlieli }{} 64.334 7777777 stliized shpe 64.335 helreponthpe{riV}{mss}{m}{it} 64.336 {`Eb nhlieli }{}
64.330 64.331
RQW
64.337 64.338
helreponthpe{riV}{mss}{m}{sl} {`Eb nhlieli }{} 64.339 helreponthpe{riV}{mss}{m}{s} 64.340 {`Eb nhlieli }{} 64.341 7777777 fold extended series 64.342 helreponthpe{riV}{mss}{x}{n} 64.343 {`Eb nhlieli }{} 64.344 helreponthpe{riV}{mss}{}{n} 64.345 {`Eb nhlieli }{} 64.346 7777777 fold extended @stliA series 64.347 helreponthpe{riV}{mss}{x}{sl} 64.348 {`Eb nhlieli }{} 64.349 helreponthpe{riV}{mss}{x}{it} 64.350 {`Eb nhlieli }{} 64.351 /HE8cmss
64.6.3
ntil we hve rel snsEserif font in this distriutionD this (le will remin opy of the romn fonts de(nitons oveF
HE8cmtt helrepontpmily{riV}{mtt}{hyphenhrfontRS} 64.354 helreponthpe{riV}{mtt}{m}{n} 64.355 {`Eb mirim }{} 64.356 7777777 stliized shpe 64.357 helreponthpe{riV}{mtt}{m}{it} 64.358 {`Eb mirim }{} 64.359 helreponthpe{riV}{mtt}{m}{sl} 64.360 {`Eb mirim }{} 64.361 helreponthpe{riV}{mtt}{m}{s} 64.362 {`Eb mirim }{} 64.363 7777777 fold extended series 64.364 helreponthpe{riV}{mtt}{x}{n} 64.365 {`Eb mirim }{} 64.366 helreponthpe{riV}{mtt}{}{n} 64.367 {`Eb mirim }{} 64.368 7777777 fold extended @stliA series 64.369 helreponthpe{riV}{mtt}{x}{sl} 64.370 {`Eb mirim }{} 64.371 helreponthpe{riV}{mtt}{x}{it} 64.372 {`Eb mirim }{} 64.373 /HE8cmtt
64.352 64.353
64.6.4
is serif herew font reted y the omeg projet psvv sx gihE s psvv sx qixiev rei higssyx shpesX psvv sx
OmegaHebrew
HE8OmegaHebrew defymegrerewsle{HFW} 64.376 helrepontpmily{riV}{ymegrerew}{hyphenhrfontRS} 64.377 helreponthpe{riV}{ymegrerew}{m}{n}{`Eb ymegrerewsle ymegrerew }{} 64.378 7endinput 7 is it needed tzfrir 64.379 /HE8OmegaHebrew
64.374 64.375
RRH
64.6.5
Aharoni
is serif herew font reted y the omeg projet psvv sx gihs psvv sx qixiev rei higssyx shpesX psvv sx
HE8aharoni defehronisle{IFH} 64.382 helrepontpmily{riV}{hroni}{hyphenhrfontRS} 64.383 helreponthpe{riV}{hroni}{m}{n} {`Eb ehronisle 64.384 helreponthpe{riV}{hroni}{m}{it} {`Eb ehronisle 64.385 helreponthpe{riV}{hroni}{m}{sl} {`Eb ehronisle 64.386 helreponthpe{riV}{hroni}{}{n} {`Eb ehronisle 64.387 helreponthpe{riV}{hroni}{x}{n} {`Eb ehronisle 64.388 helreponthpe{riV}{hroni}{x}{it} {`Eb ehronisle
64.380 64.381 64.389 64.390 64.391
64.6.6
David
is serif herew font reted y the omeg projet psvv sx gihs psvv sx qixiev rei higssyx shpesX psvv sx
HE8david defhvidsle{IFH} 64.394 helrepontpmily{riV}{dvid}{hyphenhrfontRS}
64.392 64.393 64.395
helreponthpe{riV}{dvid}{m}{n} helreponthpe{riV}{dvid}{m}{it} 64.398 helreponthpe{riV}{dvid}{m}{sl} 64.399 helreponthpe{riV}{dvid}{}{n} 64.400 helreponthpe{riV}{dvid}{x}{n} 64.401 helreponthpe{riV}{dvid}{x}{it}
64.396 64.397 64.402 64.403 64.404 64.405
64.6.7
Drugulin
is serif herew font reted y the omeg projet psvv sx gihs psvv sx qixiev rei higssyx shpesX psvv sx
HE8drugulin defhrugulinsle{IFH} 64.408 helrepontpmily{riV}{drugulin}{hyphenhrfontRS} 64.409 helreponthpe{riV}{drugulin}{m}{n} {`Eb hrugulinsle 64.410 helreponthpe{riV}{drugulin}{m}{it} {`Eb hrugulinsle 64.411 helreponthpe{riV}{drugulin}{m}{sl} {`Eb hrugulinsle 64.412 helreponthpe{riV}{drugulin}{}{n} {`Eb hrugulinsle 64.413 helreponthpe{riV}{drugulin}{x}{n} {`Eb hrugulinsle 64.414 helreponthpe{riV}{drugulin}{x}{it} {`Eb hrugulinsle 64.415 7endinput 7 is it needed tzfrir 64.416 /HE8drugulin
64.406 64.407
RRI
64.6.8
Ellinia
is snsEserif herew font reted y the omeg projet psvv sx gihE s psvv sx qixiev rei higssyx shpesX psvv sx
HE8ellinia defillinisle{IFH} 64.419 helrepontpmily{riV}{ellini}{hyphenhrfontRS} 64.420 helreponthpe{riV}{ellini}{m}{n} {`Eb illinisle 64.421 helreponthpe{riV}{ellini}{m}{it} {`Eb illinisle 64.422 helreponthpe{riV}{ellini}{m}{sl} {`Eb illinisle 64.423 helreponthpe{riV}{ellini}{}{n} {`Eb illinisle 64.424 helreponthpe{riV}{ellini}{x}{n} {`Eb illinisle 64.425 helreponthpe{riV}{ellini}{x}{it} {`Eb illinisle 64.426 7endinput 7 is it needed tzfrir 64.427 /HE8ellinia
64.417 64.418
64.6.9
is serif herew font reted y the omeg projet psvv sx gihE s psvv sx qixiev rei higssyx shpesX psvv sx
FrankRuehl
HE8frankruehl defprnkuehlsle{IFH} 64.430 helrepontpmily{riV}{frnk}{hyphenhrfontRS} 64.431 helreponthpe{riV}{frnk}{m}{n} {`Eb prnkuehlsle 64.432 helreponthpe{riV}{frnk}{m}{it} {`Eb prnkuehlsle 64.433 helreponthpe{riV}{frnk}{m}{sl} {`Eb prnkuehlsle 64.434 helreponthpe{riV}{frnk}{}{n} {`Eb prnkuehlsle 64.435 helreponthpe{riV}{frnk}{x}{n} {`Eb prnkuehlsle 64.436 helreponthpe{riV}{frnk}{x}{it} {`Eb prnkuehlsle 64.437 7endinput 7 is it needed tzfrir 64.438 /HE8frankruehl
64.428 64.429
64.6.10
KtavYad
is serif herew font reted y the omeg projet psvv sx gihs psvv sx qixiev rei higssyx shpesX psvv sx
HE8yad defutvdsle{IFH} 64.441 helrepontpmily{riV}{yd}{hyphenhrfontRS} 64.442 helreponthpe{riV}{yd}{m}{n} {`Eb utvdsle ydi}{} 64.443 helreponthpe{riV}{yd}{m}{it} {`Eb utvdsle ydi}{} 64.444 helreponthpe{riV}{yd}{m}{sl} {`Eb utvdsle ydi}{} 64.445 helreponthpe{riV}{yd}{}{n} {`Eb utvdsle ydi}{} 64.446 helreponthpe{riV}{yd}{x}{n} {`Eb utvdsle ydi}{} 64.447 helreponthpe{riV}{yd}{x}{it} {`Eb utvdsle ydi}{} 64.448 7endinput 7 is it needed tzfrir 64.449 /HE8yad
64.439 64.440
64.6.11
is serif herew font reted y the omeg projet psvv sx gihE s psvv sx qixiev rei higssyx shpesX psvv sx
MiriamMono
RRP
HE8miriam defwirimwonosle{IFH} 64.452 helrepontpmily{riV}{mirim}{hyphenhrfontRS} 64.453 helreponthpe{riV}{mirim}{m}{n} {`Eb wirimwonosle 64.454 helreponthpe{riV}{mirim}{m}{it} {`Eb wirimwonosle 64.455 helreponthpe{riV}{mirim}{m}{sl} {`Eb wirimwonosle 64.456 helreponthpe{riV}{mirim}{}{n} {`Eb wirimwonosle 64.457 helreponthpe{riV}{mirim}{x}{n} {`Eb wirimwonosle 64.458 helreponthpe{riV}{mirim}{x}{it} {`Eb wirimwonosle
64.450 64.451 64.459 64.460 64.461
64.6.12
Nachlieli
is serif herew font reted y the omeg projet psvv sx gihs psvv sx qixiev rei higssyx shpesX psvv sx
HE8nachlieli defxhlielisle{IFH} 64.464 helrepontpmily{riV}{nhlieli}{hyphenhrfontRS} 64.465 helreponthpe{riV}{nhlieli}{m}{n} {`Eb xhlielisle 64.466 helreponthpe{riV}{nhlieli}{m}{it} {`Eb xhlielisle 64.467 helreponthpe{riV}{nhlieli}{m}{sl} {`Eb xhlielisle 64.468 helreponthpe{riV}{nhlieli}{}{n} {`Eb xhlielisle 64.469 helreponthpe{riV}{nhlieli}{x}{n} {`Eb xhlielisle 64.470 helreponthpe{riV}{nhlieli}{x}{it} {`Eb xhlielisle 64.471 7endinput 7 is it needed tzfrir 64.472 /HE8nachlieli
64.462 64.463
64.6.13
he hebfont pkge de(nes numer of highElevel ommnds @ll strting with A \text.. similr to the stndrd v i P fontEhnge ommndsD for exmple \textbfA tht hve one rgument nd typeset this rgument in the requested wyF hese ommnds re de(ned for ll ville rerew fonts de(ned ove nd hnge only font prmeters ut not diretionF por exmpleD to use rerew glssi font fmilyD the following sequene of A ommnds should e inluded in v i P doumentX
textjm
withes to Jerusalem font whih is defult regulr rerew font @romn fmilyAF gommnds \textrm{F F F } nd oldEstyle {\rm F F F } will produe the sme resultF
hebfont defivritexdtmp{riV}
64.473 64.474
RRQ
Command
Corresponds to
Font family
\textjm{..} \textds{..} \textoj{..} \textta{..} \textcrml{..} \textfr{..} \textredis{..} \textclas{..} \textshold{..} \textshscr{..} \textshstk{..}
\rmfamily \bfseries \itshape \slshape \emph \sffamily \ttfamily \fontfamily{crml} \fontfamily{fr} \fontfamily{redis} \fontfamily{redis} \fontfamily{shold} \fontfamily{shscr} \fontfamily{shstk}
teruslem font hed e font yld t' font elEeviv font grmel fonts prnkEuehl fonts edis fonts glssi fonts hlom yld tyle font hlom ript font hlom tik font
le QTX rerew fontEhnge ommnds with rguments he font hnge ommnds provided here ll strt with \text.. to emphsize tht they re for use in norml text nd to e esily memE orleF
ifxivritexdtmpreltexinoding 7 7 omptiility with hefontsX 64.477 helreextpontgommnd{textjm}{rmfmilyseletfont} 64.478 helreextpontgommnd{textds}{fseriesseletfont} 64.479 helreextpontgommnd{textoj}{itshpeseletfont} 64.480 helreextpontgommnd{textt}{sffmilyseletfont}
64.475 64.476 64.481 64.482 64.483 64.484 64.485 64.486 64.487 64.488 64.489 64.490 64.491 64.492 64.493 64.494 64.495 64.496 64.497 64.498 64.499 64.500 64.501
7 n ttempt to give some replements to the originl hefontsX 7 helreextpontgommnd{textrml}{fontfmily{dvid}seletfont} helreextpontgommnd{textfr}{fontfmily{frnk}seletfont} helreextpontgommnd{textredis}{fontfmily{hroni}seletfont} helreextpontgommnd{textls}{fontfmily{drugulin}seletfont} helreextpontgommnd{textshold}{fontfmily{frnk}seletfont} helreextpontgommnd{textshsr}{fontfmily{yd}seletfont} helreextpontgommnd{textshstk}{fontfmily{hroni}seletfont} 7 note tht redis is lrger thn shstk helreextpontgommnd{texth}{fontfmily{hroni}seletfont} helreextpontgommnd{textdv}{fontfmily{dvid}seletfont} helreextpontgommnd{textdru}{fontfmily{drugulin}seletfont} helreextpontgommnd{textel} {fontfmily{ellini}seletfont} 7 textfr is lredy delred ove helreextpontgommnd{textmir}{fontfmily{mirim}seletfont} helreextpontgommnd{textn} {fontfmily{nhlieli}seletfont} 7 is this neessryX
RRR
textds
withes to Dead Sea font whih is defult old font in rerewF gommnds \textbf{F F F } nd oldEstyle {\bf F F F } will produe the sme resultF
helreextpontgommnd{textds}{fseriesseletfont}
64.506
textoj
withes to Old Jaa font whih is defult itli font in rerewF gommnds \textit{F F F }D \textsl{F F F }D \emph{F F F } nd oldEstyle {\it F F F } or {\em F F F } will produe the sme resultF
helreextpontgommnd{textoj}{itshpeseletfont}
64.507
textt
withes to Tel-Aviv font whih is defult snsEserif font in rerewF gommnds \textsf{F F F }D \texttt{F F F } nd oldEstyle {\sf F F F } or {\tt F F F } will produe the sme result @euse snsEserif is used s typewriter font when in rerew modeAF
helreextpontgommnd{textt}{sffmilyseletfont} helreextpontgommnd{textrml}{fontfmily{rml}seletfont}
64.508
textrml textfr
withes to Carmel fontF egulr nd slnted vrints of rmel font will e usedFF withes to Frank-Ruehl font fmilyF egulrD old nd slnted frnk ruehl fonts will e usedF
helreextpontgommnd{textfr}{fontfmily{fr}seletfont}
64.509
64.510
textredis
withes to Redis font fmilyF egulrD old nd slnted redis fonts of vrious sizes will e usedF
helreextpontgommnd{textredis}{fontfmily{redis}seletfont}
Classic
64.511
textls
64.512
helreextpontgommnd{textls}{fontfmily{ls}seletfont}
Shalom Old Style
fontF
64.513
helreextpontgommnd{textshold}{fontfmily{shold}seletfont}
Shalom Script
fontF
64.514
helreextpontgommnd{textshsr}{fontfmily{shsr}seletfont}
Shalom Stick
fontF
64.515 64.516
helreextpontgommnd{textshstk}{fontfmily{shstk}seletfont} fi
A pinllyD for kwrd omptiility with v iPFHWF four old font ommndsD eFgF {\jm F F F } re de(ned too @see le QUAF
RRS
Font name
Comment
defult regulr @romnA font defult old font defult itli nd slnted font used lso to emphsize text defult snsEserif nd typewriter font
65
A \documentstyle ommnd in the premle of v i doument indites tht it A is v i PFHW doumentD nd should e proessed in compatibility modeF sn suh doumentsD one of the following three rerew style options n e inludedX
IF hebrew_newcode indites tht doument will use xs sy VVSWEV or inE dows pIPSS input enodingD iFeF Alef letter will e represented s PPRF PF hebrew_p indites tht doument is enoded with sfw g pVTP enodingD iFeF Alef letter will e represented s IPVF QF hebrew_oldcode indites tht doument uses old UEit enodingD s de(ned in ssreli tndrd WTHD iFeF Alef is hrter numer WTF xoteD tht other herewErelted stylesD suh s hebcal n e inluded ovenmed rerew style optionD for exmpleX
after
the
\documentstyle[12pt,hebrew_p,hebcal]{report}F
A eny rerew doument whih ompiled under v i PFHW should ompile under omptiility modeD unless it uses lowElevel ommnds suh s \tenrmF
docstrip
in
RRT
newcode dosoletefile{herewFsty}{herewnewodeFsty} 65.6 equirekgeVVSWEV{inputen} 65.7 /newcode 65.8 pccode 65.9 dosoletefile{herewFsty}{herewpFsty} 65.10 equirekgepVTP{inputen} 65.11 /pccode 65.12 oldcode 65.13 dosoletefile{herewFsty}{herewoldodeFsty} 65.14 equirekgesiWTH{inputen} 65.15 /oldcode
65.4 65.5
RRU
66
he (le bahasa.dtx79 de(nes ll the lnguge de(nition mros for the fhs sndonesi G fhs welyu lngugeF fhs just mens lnguge9 in fhs sndonesi G fhs welyuF ine oth ntionl versions of the lnguge use the sme writingD lthough di'ering in pronounitionD this (le n e used for oth lngugesF por this lnguge urrently no speil de(nitions re needed or villeF he mro \LdfInit tkes re of preventing tht this (le is loded more thn oneD heking the tegory ode of the @ signD etF
66.1 66.2
code vdfsnitgurrentyption{dtegurrentyption}
hen this (le is red s n optionD iFeF y the \usepackage ommndD bahasa ould e n unknown9 lnguge in whih se we hve to mke it knownF o we hek for the existene of \l@bahasa to see whether we hve to do something hereF por oth fhs sndonesi nd fhs wlysi the sme set of hyphention ptterns n e used whih re ville in the (le inhyph.texF rowever it ould e loded using ny of the possile fel options fot the sndonesin nd wlysin lnguseF o (rst we try to (nd out whether this is the seF
ifxldhsdundefined ifxldhsidundefined 66.5 ifxldindondundefined 66.6 ifxldindonesindundefined 66.7 ifxldhsmdundefined 66.8 ifxldmlydundefined 66.9 ifxldmeyludundefined 66.10 dnoptterns{fhs sndonesi} 66.11 dddiletldhsHrelx 66.12 else 66.13 letldhsldmeylu 66.14 fi 66.15 else 66.16 letldhsldmly 66.17 fi 66.18 else 66.19 letldhsldhsm 66.20 fi 66.21 else 66.22 letldhsldindonesin 66.23 fi 66.24 else 66.25 letldhsldindon 66.26 fi 66.27 else 66.28 letldhsldhsi 66.29 fi 66.30 fi
66.3 66.4
xow tht we re sure the \l@bahasa hs some vlid de(nition we need to mke sure tht nme to ess the hyphention ptternsD orresponding to the option usedD is villeF
79 The le described in this section has version number v1.0l and was last revised on 2008/03/15.
RRV
he next step onsists of de(ning ommnds to swith to @nd fromA the fE hs lngugeF
ptionshs
dnmedef{ptionsgurrentyption}{7 defprefenme{endhulun}7 66.37 defrefnme{ustk}7 66.38 defstrtnme{ingksn}7 @sometime it9s lled 9intisri9 66.39 7 or 9ikhtisr9A 66.40 definme{filiogrfi}7 66.41 defhpternme{f}7 66.42 defppendixnme{vmpirn}7 66.43 defontentsnme{hftr ssi}7 66.44 deflistfigurenme{hftr qmr}7 66.45 deflisttlenme{hftr el}7 66.46 defindexnme{sndeks}7 66.47 deffigurenme{qmr}7 66.48 deftlenme{el}7 66.49 defprtnme{fgin}7 66.50 7 ujetX uyek 66.51 7 promX hri 66.52 defenlnme{vmpirn}7 66.53 defnme{}7 66.54 defhedtonme{uepd}7 66.55 defpgenme{rlmn}7 66.56 7 xotes @indnotesAX gttn 66.57 defseenme{liht}7 66.58 deflsonme{liht jug}7 66.59 defproofnme{fukti}7 66.60 defglossrynme{hftr sstilh}7 66.61 }
66.35 66.36
he mro \captionsbahasa de(nes ll strings used in the four stndrd douE A mentlsses provided with v iF
dtehs
he mro \datebahasa rede(nes the ommnd \today to produe fhs snE donesin dtesF
dnmedef{dtegurrentyption}{7 deftody{numerdy~ifsemonthor 66.64 tnurior erurior wretor eprilor weior tunior 66.65 tulior egustusor eptemeror yktoeror xopemeror hesemerfi 66.66 spe numeryer}}
66.62 66.63
extrshs noextrshs
he mro \extrasbahasa will perform ll the extr de(nitions needed for the fhs lngugeF he mro \extrasbahasa is used to nel the tions of \extrasbahasaF por the moment these mros re empty ut they re de(ned for omptiility with the other lnguge de(nition (lesF
dnmedef{extrsgurrentyption}{} dnmedef{noextrsgurrentyption}{}
66.67 66.68
RRW
hshyphenmins
66.69
he mro \ldf@finish tkes re of looking for on(gurtion (leD setting the min lnguge to e swithed on t \begin{document} nd resetting the tegory ode of @ to its originl vlueF
66.70 66.71
ldfdfinish{gurrentyption} /code
RSH
67
he (le bahasam.dtx80 de(nes ll the lnguge de(nition mros for the fhs wlysi lngugeF fhs just mens lnguge9 in fhs wlysiF e numer of terms di'er from those used in hs indonesiF por this lnguge urrently no speil de(nitions re needed or villeF he mro \LdfInit tkes re of preventing tht this (le is loded more thn oneD heking the tegory ode of the @ signD etF
67.1 67.2
code vdfsnitgurrentyption{dtegurrentyption}
hen this (le is red s n optionD iFeF y the \usepackage ommndD bahasa ould e n unknown9 lnguge in whih se we hve to mke it knownF o we hek for the existene of \l@bahasa to see whether we hve to do something hereF por oth fhs wlysi nd fhs sndonesi the sme set of hyphention ptterns n e used whih re ville in the (le inhyph.texF rowever it ould e loded using ny of the possile fel options fot the wlysin nd sndonesin lnguseF o (rst we try to (nd out whether this is the seF
ifxldmlydundefined ifxldmeyludundefined 67.5 ifxldhsmdundefined 67.6 ifxldhsdundefined 67.7 ifxldhsidundefined 67.8 ifxldindondundefined 67.9 ifxldindonesindundefined 67.10 dnoptterns{fhs wlysi} 67.11 dddiletldmlyHrelx 67.12 else 67.13 letldmlyldindonesin 67.14 fi 67.15 else 67.16 letldmlyldindon 67.17 fi 67.18 else 67.19 letldmlyldhsi 67.20 fi 67.21 else 67.22 letldmlyldhs 67.23 fi 67.24 else 67.25 letldmlyldhsm 67.26 fi 67.27 else 67.28 letldmlyldmeylu 67.29 fi 67.30 fi
67.3 67.4
xow tht we re sure the \l@malay hs some vlid de(nition we need to mke sure tht nme to ess the hyphention ptternsD orresponding to the option usedD is villeF
67.31
expndfterexpndfterexpndfterlet
le described in this section has version number v1.0k and was last revised on
80 The
2008/01/27.
RSI
he next step onsists of de(ning ommnds to swith to @nd fromA the fE hs lngugeF
ptionshsm
dnmedef{ptionsgurrentyption}{7 defprefenme{rkt}7 67.37 defrefnme{ujukn}7 67.38 defstrtnme{estrk}7 @sometime it9s lled 9intisri9 67.39 7 or 9ikhtisr9A 67.40 definme{filiogrfi}7 67.41 defhpternme{f}7 67.42 defppendixnme{vmpirn}7 67.43 defontentsnme{undungn}7 67.44 deflistfigurenme{enri qmr}7 67.45 deflisttlenme{enri tdul}7 67.46 defindexnme{sndeks}7 67.47 deffigurenme{qmr}7 67.48 deftlenme{tdul}7 67.49 defprtnme{fhgin}7 67.50 7 ujetX erkr 67.51 7 promX hri 67.52 defenlnme{vmpirn}7 67.53 defnme{sk}7 @short form for 9linn uepd9A 67.54 defhedtonme{uepd}7 67.55 defpgenme{rlmn}7 67.56 7 xotes @indnotesAX gttn 67.57 defseenme{sil rujuk}7 67.58 deflsonme{rujuk jug}7 67.59 defproofnme{fukti}7 67.60 defglossrynme{sstilh}7 67.61 }
67.35 67.36
he mro \captionsbahasam de(nes ll strings used in the four stndrd douE A mentlsses provided with v iF
dtehsm
he mro \datebahasam rede(nes the ommnd \today to produe fhs wlysin dtesF
dnmedef{dtegurrentyption}{7 deftody{numerdy~ifsemonthor 67.64 tnurior perurior wor eprilor weior tunor 67.65 tulior ygosor eptemeror yktoeror xovemeror hisemerfi 67.66 spe numeryer}}
67.62 67.63
extrshsm noextrshsm
he mro \extrasbahasa will perform ll the extr de(nitions needed for the fhs lngugeF he mro \extrasbahasa is used to nel the tions of \extrasbahasaF por the moment these mros re empty ut they re de(ned for omptiility with the other lnguge de(nition (lesF
dnmedef{extrsgurrentyption}{} dnmedef{noextrsgurrentyption}{}
67.67 67.68
hsmhyphenmins
he hsm hyphention ptterns should e used with \lefthyphenmin set to P nd \righthyphenmin set to PF RSP
67.69
providehyphenmins{gurrentyption}{twdtwd}
he mro \ldf@finish tkes re of looking for on(gurtion (leD setting the min lnguge to e swithed on t \begin{document} nd resetting the tegory ode of @ to its originl vlueF
67.70 67.71
ldfdfinish{gurrentyption} /code
RSQ
68
es hon unuth hs delred tht the (lenme hyphen.tex my only e used to designte his version of the merin inglish hyphention ptternsD new solution hs to e found in order to e le to lod hyphention ptterns for other lnguges in plinEsed iEformtF hen sked he respondedX ht (le nme is 4sred4D nd if nyody hnges it they will use severe upwrdGdownwrd omptiility hedhesF eople n hve (le lolhyphenFtex or whtever they likeD ut they mustn9t diddle with hyphenFtex @or plinFtex exept to prelod ddiE tionl fontsAF he (les bplain.tex nd blplain.tex n e used s replement wrppers round plain.tex nd lplain.tex to heive the desired e'etD sed on the babel pkgeF sf you lod eh of them with iniiD you will get (le lled either bplain.fmt or blplain.fmtD whih you n use s replements for plain.fmt nd lplain.fmtF es these (les re going to e red s the (rst thing inii seesD we need to set some tegory odes just to e le to hnge the de(nition of \input
bplain | blplain tode{aI 7 left re is eginEgroup hrter 68.3 tode}aP 7 right re is endEgroup hrter 68.4 tode5aT 7 hsh mrk is mro prmeter hrter
68.1 68.2
xow let9s see if (le lled hyphen.cfg n e found somewhere on i9s input pth y trying to open it for redingFFF
68.5
sf the (le wsn9t found the following test turns out trueF
68.6 68.7
hen hyphen.cfg ould e opened we mke sure tht it will e red insted of the (le hyphen.tex whih should @ording to hon unuth9s rulingA ontin the merin inglish hyphention ptterns nd nothing elseF e do this y (rst sving the originl mening of \input @nd s use one letter ontrol sequene for tht so s not to wste multiEletter ontrol sequene on this in the formtAF
68.8
hen \input is de(ned to forget out its rgument nd lod hyphen.cfg instedF
68.9 68.10 68.11
yne tht9s done the originl mening of \input n e restored nd the de(nition of \a n e forgottenF
letundefined } 68.14 fi 68.15 /bplain | blplain
68.12 68.13
RSR
xow tht we hve mde sure tht hyphen.cfg will e loded t the right moment it is time to lod plain.texF
68.16 68.17
pinlly we hnge the ontents of \fmtname to indite tht this is not the plin formtD ut formt sed on plin with the babel pkge prelodedF
68.18 68.19
hen you re using di'erent formtD sed on plinFtex you n mke opy of lplinFtexD renme it nd reple plain.tex with the nme of your formt (leF
69
plainTEX
A he following ode duplites or emultes prts of v i P tht re needed for babelF 69.1 69.2
code ifxdddiletdundefined
hen \adddialect is still unde(ned we re mking formtF sn tht se only the (rst prt of this (le is neededF
69.3
defdempty{}
A e need to de(ne \loadlocalcfg for plin users s the v i de(nition uses \InputIfFileExistsF 69.4 69.5 69.6 69.7 69.8 69.9 69.10 69.11 69.12 69.13 69.14 69.15
deflodlolfg5I{7 openinH5IFfg ifeofH loseinH else loseinH {immeditewriteIT{BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB}7 immeditewriteIT{B vol onfig file 5IFfg used}7 immeditewriteIT{B}7 } input 5IFfgrelx fi dendofldf }
A e wnt to dd messge to the messge v i PFHW puts in the \everyjob registerF his ould e done y the following odeX
letorgeveryjoeveryjo defeveryjo5I{7 orgeveryjo{5I}7 orgeveryjoexpndfter{theorgeveryjoimmeditewriteIT{7 hyphention ptterns for thelodeddptterns lodedF}}7 leteveryjoorgeveryjoletorgeveryjodundefined}
RSS
he ode ove rede(nes the ontrol sequene \everyjob in order to e le to dd something to the urrent ontents of the registerF his is neessry euse A the proessing of hyphention ptterns hppens long efore v i (lls the registerF here re some prolems with this pproh thoughF
hen someone wnts to use severl hyphention ptterns with vii the ove sheme won9t workF he reson is tht vii overwrites the ontents of the \everyjob register with its own messgeF lin i does not use the \everyjob register so the messge would not e displyedF
o irumvent this dirty trik9 n e usedF es this ode is only proessed when reting new formt (le there is one ommnd tht is sure to e usedD \dumpF herefore the originl \dump is sved in \org@dump nd new de(nition is suppliedF
69.18 69.19
letorigddumpadump defdump{7
A o mke sure tht v i PFHW exeutes the \@begindocumenthook we would wnt to lter \begin{document}D ut s this done too often lredyD we dd the new ode t the front of \@preamblecmdsF fut we n only do tht fter it hs een de(nedD so we dd this piee of ode to \dumpF 69.20 69.21 69.22 69.23 69.24 69.25
his new de(nition strts y dding n instrution to write messge on the terminl nd in the trnsript (le to inform the user of the preloded hyphention ptternsF
69.26 69.27
longdefdfirstofone5I{5I} longdefdfirstoftwo5I5P{5I} 69.33 longdefdseondoftwo5I5P{5P} 69.34 defdifstr5I{difnexthr B{dfirstoftwo{5I}}} 69.35 defdstrdordlong5I{7 69.36 difstr 69.37 {letldngreldxrelx5I}7 69.38 {letldngreldxlong5I}} 69.39 letldngreldxrelx 69.40 defdr5I5Pdnil{5I} 69.41 defddr5I5Pdnil{5P} 69.42 letdtypesetdprotetrelx
69.31 69.32
he rest of this (le is not proessed y inii ut during the norml doument A runF e numer of v i mro9s tht re needed lter onF
RST
longdefdgole5I{} edefdkslshhr{expndfterdgolestring} 69.45 defstripdprefix5Ib{} 69.46 defgdddtodmro5I5P{{7 69.47 toksdexpndfter{5I5P}7 69.48 xdef5I{thetoksd}}} 69.49 defdnmedef5I{expndfterdefsnme 5Iendsnme} 69.50 defdifundefined5I{7 69.51 expndfterifxsnme5Iendsnmerelx 69.52 expndfterdfirstoftwo 69.53 else 69.54 expndfterdseondoftwo 69.55 fi}
69.43 69.44 A v i P hs the ommnd \@onlypreamble whih dds ommnds to list of ommnds tht re no longer needed fter \begin{document}F
ifxdpremlemdsdundefined defdpremlemds{} 69.58 fi 69.59 defdonlypremle5I{7 69.60 expndftergdefexpndfterdpremlemdsexpndfter{7 69.61 dpremlemdsdo5I}} 69.62 donlypremledonlypremle
69.56 69.57 A wimik v i9s \AtBeginDocumentY for this to work the user needs to dd \begindocument to his (leF
defegindoument{7 degindoumenthook 69.65 glolletdegindoumenthookdundefined 69.66 defdo55I{glollet 55Idundefined}7 69.67 dpremlemds 69.68 glolletdonoexpnd 69.69 }
69.63 69.64
defnewommnd{dstrdordlongnewdommnd}
RSU
defnewdommnd5I{7 dtestopt{dnewommnd5I}H} 69.86 defdnewommnd5I5P{7 69.87 difnexthr {dxrgdef5I5P}7 69.88 {drgdef5I5P}} 69.89 longdefdrgdef5I5P5Q{7 69.90 dyrgdef5Idne{5P}{5Q}} 69.91 longdefdxrgdef5I5P5Q5R{7 69.92 expndfterdefexpndfter5Iexpndfter{7 69.93 expndfterdproteteddtestoptexpndfter 5I7 69.94 snmestring5Iexpndfterendsnme{5Q}}7 69.95 expndfterdyrgdef snmestring5Iendsnme 69.96 twd{5P}{5R}} 69.97 longdefdyrgdef5I5P5Q{7 69.98 dtempnt5Qrelx 69.99 dvne dtempnt dne 69.100 letdhshdrelx 69.101 edefreservedd{ifx5Ptwd dhshdIfi}7 69.102 dtempnt 5P7 69.103 dwhilenumdtempnt `dtempnt 69.104 do{7 69.105 edefreservedd{reservedddhshdthedtempnt}7 69.106 dvnedtempnt dne}7 69.107 letdhshd557 69.108 ldngreldxexpndfterdefexpndfter5Ireservedd} 69.109 letprovideommndnewommnd
69.84 69.85
defhelreoustgommnd{dstrdordlongdelredroustommnd} defdelredroustommnd5I{7 69.112 edefreservedd{string5I}7 69.113 defreservedd{5I}7 69.114 edefreservedd{expndfterstripdprefixmeningreservedd}7 69.115 edef5I{7 69.116 ifxreserveddreservedd 69.117 noexpndxdprotet 69.118 noexpnd5I7 69.119 fi 69.120 noexpndprotet 69.121 expndfternoexpndsnme 69.122 expndfterdgolestring5I endsnme 69.123 }7 69.124 expndfternewdommndsnme 69.125 expndfterdgolestring5I endsnme 69.126 } 69.127 defxdprotet5I{7 69.128 ifxprotetdtypesetdprotetelse 69.129 dxdprotet5I7 69.130 fi 69.131 } 69.132 defdxdprotet5Ifi5P5Q{7 69.133 fiprotet5I7 69.134 }
69.110 69.111
he following little mro \in@ is tken from ltexFltxY it heks whether its (rst rgument is prt of its seond rgumentF st uses the oolen \in@Y lloting RSV
new oolen inside onditionlly exeuted ode is not possileD hene the onstrut with the temporry de(nition of \bbl@tempaF
defldtmp{snme newifendsnmeifind} ifxinddundefined 69.137 defind5I5P{7 69.138 defindd55I5I55P55Qindd{7 69.139 ifxind55Pindflseelseindtruefi}7 69.140 indd5P5Iindindd} 69.141 else 69.142 letldtmpdempty 69.143 fi 69.144 ldtmp
69.135 69.136 A v i hs mro to hek whether ertin pkge ws loded with spei( optionsF he ommnd hs two extr rguments whih re ode to e exeuted in either the true or flse seF his is used to detet whether the doument needs one of the ents to e tivted @activegrave nd activeacuteAF por plin i we ssume tht the user wnts them to e tive y defultF herefore the only thing we do is exeute the third rgument @the ode for the true seAF 69.145 69.146
defdifpkgewith5I5P5Q5R{7 5Q}
A he v i mro \@ifl@aded heks whether (le ws lodedF his funtionlity is not needed for plin i ut we need the mro to e de(ned s noEopF 69.147
defdifldded5I5P5Q5R{}
por the following ode we need to mke sure tht the ommnds \newcommand nd \providecommand exist with some sensile de(nitionF hey re not fully A equivlent to their v i P versionsY just enough to mke things work in plin ienvironmentsF
ifxdtempntdundefined snme newountendsnmedtempntrelx 69.150 fi 69.151 ifxdtempntdundefined 69.152 snme newountendsnmedtempntrelx 69.153 fi
69.148 69.149 A o prevent wsting two ounters in v i PFHW @euse ounters with the sme nme re lloted lter y itA we reset the ounter tht holds the next free ounter @\count10AF
ifxyedundefined dvneountIH y EPrelx 69.156 fi 69.157 ifxdifnexthrdundefined 69.158 defdifnexthr5I5P5Q{7 69.159 letreserveddda5I7 69.160 defreservedd{5P}defreservedd{5Q}7 69.161 futureletdletdtokendifnh} 69.162 defdifnh{7 69.163 ifxdletdtokendsptoken 69.164 letreservedddxifnh 69.165 else 69.166 ifxdletdtokenreserveddd 69.167 letreserveddreservedd
69.154 69.155
RSW
69.168
else letreserveddreservedd 69.170 fi 69.171 fi 69.172 reservedd} 69.173 defX{letdsptokena } X 7 this mkes dsptoken spe token 69.174 defX{dxifnh} expndfterdefX {futureletdletdtokendifnh} 69.175 fi 69.176 defdtestopt5I5P{7 69.177 difnexthr{5I}{5I5P}} 69.178 defdproteteddtestopt5I{77 69.179 ifxprotetdtypesetdprotet 69.180 expndfterdtestopt 69.181 else 69.182 dxdprotet5I7 69.183 fi} 69.184 longdefdwhilenum5Ido 5P{ifnum 5Irelx 5Prelxdiwhilenum{5Irelx 69.185 5Prelx}fi} 69.186 longdefdiwhilenum5I{ifnum 5Iexpndfterdiwhilenum 69.187 elseexpndfterdgolefi{5I}}
69.169
defhelreextgommnd{7 ddedtextdmdprovideommnd 69.190 } 69.191 defrovideextgommnd{7 69.192 ddedtextdmdprovideommnd 69.193 } 69.194 defhelreextymol5I5P5Q{7 69.195 ddedtextdmdhrdef5I{5P}5Qrelx 69.196 } 69.197 defddedtextdmd5I5P5Q{7 69.198 expndfterdefexpndfter5P7 69.199 expndfter{7 69.200 snme5QEmdexpndfterendsnme 69.201 expndfter5P7 69.202 snme5Qstring5Pendsnme 69.203 }7 69.204 7 letdifdefinledrdifdefinle 69.205 expndfter5Isnme5Qstring5Pendsnme 69.206 } 69.207 defdurrentdmd5I{7 69.208 ifxprotetdtypesetdprotetelse 69.209 noexpnd5Iexpndfterdgole 69.210 fi 69.211 } 69.212 defdhngeddmd5I5P{7 69.213 ifxprotetdtypesetdprotet 69.214 expndfterifxsnmefdenodingstring5Iendsnmerelx 69.215 expndfterifxsnme cstring5Iendsnmerelx 69.216 expndfterdefsnme cstring5Iendsnme{7 69.217 dhngeddxderr{5I}7 69.218 }7 69.219 fi 69.220 glolexpndfterlet
69.188 69.189
RTH
69.221 69.222 69.223 69.224 69.225 69.226 69.227 69.228 69.229 69.230
} defdhngeddxderr5I{7 69.231 errhelp{our ommnd will e ignoredD type `returnb to proeed}7 69.232 errmessge{gommnd protet5I undefined in enoding fdenoding}} 69.233 defhelreextgommndhefult5I{7 69.234 helreextgommnd5Ic7 69.235 } 69.236 defrovideextgommndhefult5I{7 69.237 rovideextgommnd5Ic7 69.238 } 69.239 expndfterletsnme yIEmdendsnmedurrentdmd 69.240 expndfterletsnmecEmdendsnmedhngeddmd 69.241 defhelreexteent5I5P5Q{7 69.242 helreextgommnd5I{5P}I{ent5Q 55I} 69.243 } 69.244 defhelreextgompositegommnd5I5P5Q5R{7 69.245 expndfterletexpndfterreserveddsnme5Pstring5Iendsnme 69.246 edefreservedd{string55I}7 69.247 edefreservedd{7 69.248 expndfterdstripdrgsmeningreserveddXEdstripdrgs}7 69.249 ifxreserveddreservedd 69.250 expndfterexpndfterexpndfterifx 69.251 expndfterdrreserveddrelxrelxdnil 69.252 dtextdomposite 69.253 else 69.254 edefreservedd55I{7 69.255 defexpndfternoexpnd 69.256 snme5Pstring5Iendsnme5555I{7 69.257 noexpnddtextdomposite 69.258 expndfternoexpndsnme5Pstring5Iendsnme 69.259 5555Inoexpnddemptynoexpnddtextdomposite 69.260 {55I}7 69.261 }7 69.262 }7 69.263 expndfterreserveddexpndfter{reservedd{55I}}7 69.264 fi 69.265 expndfterdefsnmeexpndfterstringsnme 69.266 5Pendsnmestring5IEstring5Qendsnme{5R} 69.267 else 69.268 errhelp{our ommnd will e ignoredD type `returnb to proeed}7 69.269 errmessge{stringhelreextgompositegommndspe used on 69.270 inpproprite ommnd protet5I} 69.271 fi 69.272 } 69.273 defdtextdomposite5I5P5Qdtextdomposite{7 69.274 expndfterdtextdompositedx
RTI
69.275
snmestring5IEstring5Pendsnme } 69.277 defdtextdompositedx5I5P{7 69.278 ifx5Irelx 69.279 5P7 69.280 else 69.281 5I7 69.282 fi 69.283 } 69.284 7 69.285 defdstripdrgs5IX5PE5Qdstripdrgs{5P} 69.286 defhelreextgomposite5I5P5Q5R{7 69.287 defreservedd{helreextgompositegommnd5I{5P}{5Q}}7 69.288 group 69.289 lodeda5R7 69.290 lowerse{7 69.291 egroup 69.292 reservedd d7 69.293 }7 69.294 } 69.295 7 69.296 defseextymol5I5P{7 69.297 7 letdurrdenfdenoding 69.298 7 dusedtextdenoding{5I}7 69.299 5P7 69.300 7 dusedtextdenodingdurrden 69.301 } 69.302 defseexteent5I5P5Q{7 69.303 7 letdurrdenfdenoding 69.304 7 dusedtextdenoding{5I}7 69.305 7 5P{dusedtextdenodingdurrdenseletfont5Q}7 69.306 7 dusedtextdenodingdurrden 69.307 } 69.308 defdusedtextdenoding5I{7 69.309 7 edeffdenoding{5I}7 69.310 7 xdeffontdnme{7 69.311 7 snmeurrdfontshpeGfdsizeendsnme 69.312 7 }7 69.313 7 pikupdfont 69.314 7 fontdnme 69.315 7 ddendupdte 69.316 } 69.317 defhelreextymolhefult5I5P{7 69.318 helreextgommndhefult5I{seextymol{5P}5I}7 69.319 } 69.320 defhelreexteenthefult5I5P{7 69.321 helreextgommndhefult5I{seexteent{5P}5I}7 69.322 } 69.323 deffdenoding{yI}
69.276 A gurrently we only use the v i P method for ents for those tht re known to e mde tive in some lnguge de(nition (leF 69.324 69.325
helreexteent{4}{yI}{IPU} helreexteent{9}{yI}{IW}
RTP
helreextymol{textquotedlleft}{yI}{WP} helreextymol{textquotedlright}{yI}{4} 69.331 helreextymol{textquoteleft}{yI}{} 69.332 helreextymol{textquoteright}{yI}{9} 69.333 helreextymol{i}{yI}{IT} 69.334 helreextymol{ss}{yI}{PS}
69.329 69.330
A por ouple of lnguges we need the v iEontrol sequene \scriptsize to e villeF feuse plin i doesn9t hve suh so(stited font mehnism s A v i hsD we just \let it to \sevenrmF
RTQ
Index
xumers written in itli refer to the pge where the orresponding entry is deE sriedY numers underlined refer to the ode line of the de(nitionY numers in romn refer to the ode lines where the entry is usedF
E . . . 19.123, 34.110,
Symbols
41.57, 46.63, 54.242 . . 47.493 . . 47.457 . . 47.440 ddendupdte . . . . . . . . 51.365, 54.430 ddseletlnguge 62.267 ddvpgeref . . . . 12.1342 delph . . . . . . . . 62.102 delphdul . . . . 57.254 delphfinl . . . . 62.102 domn . . . . . . . 62.326 dute . . . . . . . . 36.77 dlph . . . . . . . . 62.102 dlphdul . . . . 57.273 dri . . . . . . 62.326 dz . . . . . . . . . . 47.377 dz . . . . . . . . . 47.439 dzp . . . . . . . . . 47.423 dzr . . . . . . . . . 47.410 degintheorem . 47.147 diitem . . . . . 12.1277 dilel . . . . 62.895 drkets . . . . 62.315 dption . 47.81, 62.552 dhpter . . 47.212, 47.286, 62.839 dite . . . . . . . . 62.895 ditex . . . . . . . 12.1249 ddottedtoline 62.430 densuredv . . . . 62.308 densured . . . . 62.308 dfromrl . . . . . . 62.255 dgrve . . . . . . . . 36.77 dherew . . . . . . . 62.92 dherewdnumerl 62.141 dltin . . . . . . . 62.317 dliitem . . . . 62.895 dlistoffigures 62.381 dlistoftles . 62.381 dmkeption . . . . . . . . . 47.69, 62.949 dmkehpterhed . . . . 47.235, 47.305
dmkoth . . . . . . 12.1293 dnewldel . . . . 12.1212 dnolnerr . . . . 12.262 dnoopterr . . . . 12.262 dnoptterns . . . 12.262 dnotshorthnd . 12.651 dnumer . . . . . . 62.317 doprgegintheorem doutputdlol . 62.597 dprt . . . 47.192, 62.467 dromn . . . . . . . 62.326 dshpter . . . . 62.839 dsentformt . . 47.96 dset . . . . 47.99, 62.510 dsset . . . . . . . 47.133 dtleofontents 62.381 dtestdef . . . . . 12.1225 dtextolor . . . . 62.782 dtilde . . . . . . . . 39.52 dtorl . . . . . . . . 62.246 dtrem . . . . . . . 19.102 dumlut . . 36.77, 39.52 dvertim . . . . 62.946 dxnthm . . . . . . . 62.826 esolutepromqregorin esolutepromrerew
........ ........ ... 47.147, 62.826
o . . . . . . . . . . . 52.51 p . . . . . . . . . . . 30.84 epgeref . . 47.419, 262 pgeref . . . . . 47.418 ppendix 62.129, 62.878 rinorl . . . . 62.329 eref . . . . . . 47.404, 261 ref . . . . . . . . . 47.403 esuk . . . 56.340, 58.319 suk . . . 56.347, 58.326 uthor . . . . . . . 62.815 eutopefeforeph
. . . . . . 29.110, 56.268, 58.247 ez . . . . . . . 47.375, 261 z . . . . . . . . . . 47.374 zd . . . . . . . . . . 47.376 ez . . . . . . . 47.434, 262 z . . . . . . . . . . 47.433 zd . . . . . . . . . 47.435 zdd . . . . . . . . 47.436 ezp . . . . . . . 47.421, 262 zp . . . . . . . . . . 47.420 zpd . . . . . . . . . 47.422 ezr . . . . . . . 47.406, 261 zr . . . . . . . . . . 47.405 zrd . . . . . . . . . 47.407 zrdd . . . . . . . . 47.408 zrddd . . . . . . . 47.409
62.1157
eite . . . . . 47.432, 262 ite . . . . . . . . 47.431 tivedprefix . 12.584 dddilet . . . 10, 12.57 ddlnguge . . 10, 12.45 ddto . . . . . . 12.825, 13 friknshyphenmins lisshorthnd 5, 12.638 llowhyphens 12.837, 13 elph . . . . . . . . . 62.102 lph . . . . . . . . . 62.102 elphfinl . . . . 62.102 nwdflse . . . . . 27.84 nwdprint . . . . . 27.84 nwdtrue . . . . . . 27.84 eo . . . . . . . . . . . 52.51
. . . . . . . . . 19.101
62.1321
eldeginsve 12.800 eldsve . . 12.803, 13 eldsvent . 12.800 eldsvevrile . . . . . . 12.812, 13 hshyphenmins 66.69 hsmhyphenmins 67.69 squehyphenmins 39.49 ldtivte 12, 12.596 lddddlist . . 12.768 lddddspeil . . . . . . . . 12, 12.402 ldfterelse . 12.423 ldfterfi . . . 12.423 ldiite . . . 12.1268 lditedhoie 12.1270 ldlerdttris 12.789
RTR
lddetivte . . . . . . . . . 12, 12.602 lddelredttriute . . . . . . 11, 12.750 lddis . . . . . 12.849 ldfirsts . . . 12.608 ldfrenhindent . ldfrenhlelitems ldfrenhsping .
29.483, 49.54, 53.58 . . . . . . . . . 29.424
hpternn . . . . iite . . . . . . prt . . . . . . . . retondshdXd . . retondshdYd . . retondshdcd . . retondshdd . . . s . . . . . . . . . . setion . . . . . setionnn . . . . susetion . . . sususetion
62.969 12.1265 62.955 . 23.59 . 23.48 . 23.75 . 23.59 29.236 62.959 62.971 62.961 62.963
ptionsportuges 34.34 ptionsromnin 40.6 ptionsrussin 56.121 ptionssmin . . . 45.7 ptionssottish 26.6 ptionsserin . 53.6 ptionsslovk . 54.34 ptionsslovene . 55.6 ptionsswedish . 44.6 ptionsturkish . 61.6 ptionsukrinin . ptionsusorin 60.14 ptionswelsh . . . 24.7 tlnhyphenmins 36.7 gfgreekgporli 30.129 dsh . . . . . 56.311, gheksfhivisile
........ ........ 57.216, . . . . . . . . . 58.121
ldlngugedstk
ldmindlnguge .
ldnonfrenhindent
ldnonfrenhlelitems
. . . . . . 12.817, 13 ldptterns . . 12.173 ldpopdlng . . . 12.84 ldpopdlnguge . . . . . . 12.80, 12.81
ldnonfrenhsping
. . . . . . . . . 29.424
ldprdmds . . . . 12.691 ldprimds . . . . 12.691 ldpushdlnguge 12.81 ldredefine . . 12.1187 ldredefinedlong . ldredefineroust
........ ........
12.1193 12.1198
19.64 49.6 21.23 66.35 67.35 39.7 34.66 23.6 . . . . . . . . . . 57.117 ptionstln . 36.8 ptionsrotin 50.6 ptionszeh . . 51.34 ptionsdnish . . 41.7 ptionsduth . . 19.22 ptionsenglish 20.66 gptioneprtor 29.383 ptionsespernto 17.6 ptionsestonin 48.7 ptionsfinnish . 46.6 ptionsfrenh 29.329 ptionsgermn . 21.23 ptionsgreek . . 27.32 ptionsherew . 62.22 ptionsielndi 42.25
ghekveprerewer
58.290 . 62.1084
k . . . . . 21.124, 60.112 lq . . . . . 51.149, 54.214 lqq . . . . 51.134, 54.199 rq . . . . . 51.149, 54.214 rqq . . . . 51.144, 54.209 sdtivtehyphens sdddprm . . . . . .
... ... ... ... ... ... ... ... 51.280, 54.345 51.254, 54.319 51.173, 54.238 51.243, 54.308 51.261, 54.326 51.210, 54.275 51.217, 54.282 51.280, 54.345
62.1168
sdoxhyphen . . . . . sdhekhrdef . .
sdhekode . . . . . sdhekhyphen . . .
ptionsinterlingu
ldsnds . . . . 12.608 ldsetdlnguge 12.96 ldshdselet . 12.577 ldswithdsh . 12.661 ldswithdshdoff . ldswithdshdon ldtestdtoken ption . . . . . hpter . . . . .
. . . . . . . . . 12.672 12.673 12.430 62.965 62.957
. . . . . . . . . . . 18.7 ptionsirish . . . 25.7 ptionsitlin . 30.6 ptionslng . . . . . 11 ptionsltin . . 31.16 ptionslsorin 59.14 ptionsmgyr . 47.14 ptionsnustrin 22.12 ptionsngermn 22.12 ptionsnorsk . . . 43.9 ptionsnynorsk 43.35 ptionspolish . . 52.6 . . . . . . . . . . 27.55
sdontinuesn . .
sddetivtehyphens
ptionspolutonikogreek sdfirsthyphdn . . .
RTS
sdfirsthyphen . . .
...
51.192, 54.257 sdgettdken . . . . . . . . . 51.217, 54.282 sdgettoken . . . . . . . . . 51.217, 54.282 sdhyphen . . . . . . . 51.168, 51.274, 54.233, 54.339 sdignoretoken . . . . . . 51.251, 54.316 sdlooseness . . . . . . . . 51.290, 54.355 sdmindlnguge . . . . 51.295, 54.360 sdnosplit . . . . . . . . . . 51.273, 54.338 sdsnword . . . . . . . . . 51.217, 54.282 sdseondhyphdn . . . . . 51.192, 54.257 sdseondhyphen . . . . . 51.192, 54.257 sdseletlnguge . . . . 51.295, 54.360 sdsplitttr . . . . . . . . 51.277, 54.342 sdsplithyphen . . . . . . 51.174, 54.239 sdtempdisle . . . . . . 51.310, 54.375 sdundoiltwd . . . . . . . . 51.352, 54.417 sdwordlen . . . . . . . . . . 51.167, 54.232 yrdsh . . . 56.326, 58.305 57.231, gyrilligporli 30.129 yrillitext 56.111, 57.111, 58.111
dtetln . . . . dterotin . . . dtezeh . . . . . dtednish . . . . . dteduth . . . . . dteenglish . . . . dteespernto . . dteestonin . . . dtefinnish . . . . dtefrenh . . . . dtegermn . . . . . dtegreek . . . . . dteherew . . . . . dteielndi . . dteinterlingu dteirish . . . . . dteitlin . . . . dtelng . . . . . . dteltin . . . . . dtemgyr . . . . . dtengermn . . . . dtenorsk . . . . . dtepolish . . . . . dteportuges . . . dteromnin . . . dterussin . . . dtesmin . . . . . dtesottish . . . dtesdmy . . . . . . dteserin . . . . dteslovk . . . . . dteslovene . . . . dteswedish . . . . dtesymd . . . . . . dteturkish . . . . dteukrinin . dtewelsh . . . . . hyssnrerewer
dtefrikns . dtelnin . . dtemerin . . dtenustrin . dteustrlin dteustrin . . dtehs . . . . dtehsm . . . dtesque . . . . dterzil . . . . dtereton . . . . dteulgrin .
. . . . . . . . .
19.86 49.29 20.125 22.40 20.117 21.51 66.62 67.62 39.30 34.89 23.29 57.161
36.31 50.29 51.57 41.30 19.49 20.89 17.30 48.34 46.29 29.166 21.46 27.64 62.77 42.48 18.30 25.30 30.29 . . 11 31.39 47.37 22.35 43.60 52.29 34.57 40.30 56.185 45.30 26.29 44.39 53.29 54.57 55.29 44.29 44.36 61.30 58.162 24.31 . . . . . . . . . 62.1264 heimlwthgomm 29.282 deimlsep . . . . 42.106 delredshorthnd . . . . . . . 12, 12.610 defineshorthnd . . . . . . . . . 5, 12.636 degres . . . . . . . 29.260 dieresi . . . . . . 39.50 dieresis . . . . . . 36.74 hislexikud . . 63.243 ht . . . . . . . . . . 12.907 dj . . . . . . . . . . 12.907 dodstyle . . . . 12.1023 dq . . . 21.70, 22.59, 42.54, 43.75,
theiliogrphy
io . . . . . . 42.90, 52.51 eo . . . . . . 42.90, 52.51 isper . . . . . . . . . 17.53 esper . . . . . . . . . 17.53 estoninhyphenmins extrsfrikns 19.93 extrslnin . 49.34 extrsustrin . 21.53 extrshs . . . 66.67 extrshsm . . 67.67 extrssque . . . 39.36 extrsreton . . . 23.35 extrsulgrin 57.181 extrstln . . 36.37 extrsrotin . 50.34 extrszeh . . . . 51.62 extrsdnish . . . 41.35 extrsduth . . . . 19.93 extrsenglish . 20.133 extrsespernto 17.35 extrsestonin . 48.44 extrsfinnish . . 46.35 extrsfrenh . . . 29.51 extrsgermn . . . 21.53 extrsgreek . . . . 27.80 extrsherew . . . 62.78 extrsielndi 42.18 extrsinterlingu 18.36 extrsirish . . . . 25.38 extrsitlin . . 30.35 extrslng . . . . . . . 11 extrsltin . . . . 31.49 extrslsorin . 59.59
. . . . . . . . . . 48.51
. . . . . . . . . 62.903
RTT
extrsmgyr . . extrsnustrin extrsngermn . extrsnorsk . . . extrsnynorsk . extrspolish . . extrsportuges extrsromnin extrsrussin . extrssmin . . . extrssottish extrsserin . extrsslovk . . extrsslovene . extrsswedish . extrsturkish . extrsukrinin extrsusorin extrswelsh . . .
. . . . . . . . . . . . . . . .
47.59 22.42 22.42 43.66 43.66 52.35 34.97 40.36 56.200 45.46 26.37 53.34 54.63 55.34 44.43 61.36 58.177 60.51 24.38
pfproessdoptions .
. . . . . . . . . 29.737
phoff . . 56.272, 58.251 phon . . . 56.272, 58.251 fg . . . . . . . . . . 29.129 finishhyphenmins 46.66 flq . . . . . . . . . . 12.957 flqq . . . . . . . . . 12.967 fnumdfigure . . . . 47.63 fnumdtle . . . . . 47.63 footnoterule . . 62.634 foreigndlnguge 12.157 pyisqxvexqeqi 12.1371 foreignlnguge . . . . . . . . . 5, 12.148 pormthte . . . . 62.998 pormtporinglish . pormtporrerew 62.1050 fprimoA . . . . . . 29.220 frenhsetup . . 29.593 prenhvyout . . 29.531 fromherew . . . . . 62.90 frq . . . . . . . . . . 12.957 frqq . . . . . . . . . 12.967 full . . . . . . . . . . . 410 fup . . . . . . . . . . 29.173
........
56.268, 58.247
gim . . . . . . . . . . 62.200 rerewilpsedwonths . . . . . . . . 62.1182 gimdnomil . . . . 62.151 gimdprint . . . . 62.193 herewenoding . . 62.7 glq . . . . . . . . . . 12.933 rerewpromqregorin . . . . . . . . 62.1331 glqq . . . . . . . . . 12.945 grddgreek . . . . . 27.71 herewhyphenmins 62.21 grdilldvlue . . . 27.82 rerewwonthxme 62.1025 grdmonth . . . . . . 27.64 rerewwonthxmesninglish . . . . . . . . 62.1053 grdnumdi . . . . . 27.139 grdnumdii . . . . 27.139 rerewnumerl . . 62.96 grdnumdiii . . . . 27.139 herewnumerl . . 62.96 grdnumdiv . . . . 27.148 rerewnumerlfinl . . . . . . . . . . 62.96 grdnumdv . . . . . 27.148 grdnumdvi . . . . 27.148 rerewsetreg . . 62.995 grdur . . . . . . . 42.193 herewtext . . . . . 62.86 greekdelph . . . . 27.115 rerewtody 62.993, 410 greekdlph . . . . 27.115 rerewerxme 62.1004 greekdmp . . . . 27.135 hhline . . . . . . . 12.1356 greekdomn . . . 27.125 hmox . . . . . . . . 62.313 greekdromn . . . 27.125 hodiu . . . . . . . . 17.63 greekdtilde . . . 27.160 hodiun . . . . . . . 17.63 greekhyphenmins 27.30 hundlphdlehgth 47.453 qreeknumerl 27.113, 110 hundnumerdlehgth . . . . . . . . . . 47.447 greeknumerl 27.89, 110 greektext . 27.24, 109 hundtempdef . . 47.381 hunnewlel . . . 47.539 qregorinhyssnriorwonths . . . . . . . . 62.1113 hyphenrules (environment) . . 5, 12.180 qregorinhyssnriorers
62.1137 . 12.933 . 12.945 . . 27.76 .... . . . 12.861, 29.131 guillemotright . . . . . . 12.861, 29.131 guilsinglleft . 12.879 guilsinglright 12.879
........
62.1075
gentilde . . . . . . 48.52
ieme . . . . . . . . . 29.214 iemes . . . . . . . . 29.214 ier . . . . . . . . . . 29.214 iere . . . . . . . . . 29.214 ieres . . . . . . . . 29.214 iers . . . . . . . . . 29.214 ifdgimdpost . . . 62.94 ifdgimdfinl . . . 62.94 ifdgimdprev . . . 62.193 ifdrl . . . . . . . . 62.237 hedeven . . . . . 62.637 ifdrlmin . . . . 62.238 hedodd . . . . . . 62.637 ifdsfedtives 12.593 hedte . . . . . . . 62.73 ifdwodi . . . . . . 42.11 hedy . . . . . . . . 62.76 sfqregorinvep 62.1095 iflnguge . . . 5, 12.60 reltexedefinev . . . . . . . . . . 62.293 ifvee . . . . . . . 29.3 hemonth . . . . . . 62.61 ifthenelse . . . . 12.1325 her . . . . . . . . . 62.200 ifundefined . . . 62.1093 rerewdte . 62.985, 410 st . . . . . . . . . . 12.897 rerewhyxme . 62.1049 ij . . . . . . . . . . 12.897 rerewhyssnriorwonths inititedtivedhr . . . . . . 12, 12.423 . . . . . . . . 62.1274 rerewilpsedhys . interlinguhyphenmins
........
62.1207
. . . . . . . . . . . 18.6
RTU
irishhyphenmins . 25.6 itdp . . . . . . 30.101 itdwm . . . 30.49, 30.57 itdop . . . . . . 30.101 itlinhyphenmins 30.34 itemizepf . . . . 29.424 itemizeys . . . . 29.424 v . . . . . . . . . . . 62.293 vFv . . . . . . . . . . 36.187 lFl . . . . . . . . . . 36.187 ldhpter . . . . 62.573 ldprgrph . . . 62.591 ldprt . . . . . . . 62.450 ldsetion . . . . 62.591 ldsuprgrph 62.591 ldsusetion . . 62.591 ldsususetion 62.591 lel . . . 47.519, 62.112 lelenumii . . . 62.379 lnghyphenmins . . . 11 lnguge . . . . . . 12.37 lngugedgroup 12.626 lngugettriute . . . . . . . . 6, 12.718 lngugenme . . . . . . 5 lngugeshorthnds . . . . . . . 5, 12.637 lstdlnguge . . 12.40 ve . . 12.1321, 62.349 vee . . . . . . . 62.351 ltinenoding 12.12, ltinhyphenmins 31.48 vtinwrksyff . . 32.50 vtinwrksyn . . . 32.50 ltintext . . . . . . .
56.7, 57.7, 58.7
noextrsgermn . 21.53 noextrsgreek . . 27.80 noextrsherew . 62.81 noextrsielndi 42.18 noextrsinterlingu noextrsirish . . 25.38 noextrsitlin 30.35 noextrslng . . . . . 11 noextrsltin . . 31.49 noextrslsorin 59.59 noextrsmgyr . 47.59 noextrsnustrin 22.42 noextrsngermn 22.42 noextrspolish . 52.35 noextrsportuges 34.97 noextrsromnin 40.36 noextrssmin . . 45.46 noextrssottish 26.37 noextrsserin 53.34 noextrsslovk . 54.63 noextrsslovene 55.34 noextrsswedish 44.43 noextrsturkish 61.36 noextrswelsh . . 24.38 noherewtext . . . 62.86 nomre . . . . . . . 29.297 norskhyphenmins . 43.6 xos . . . . . . . . . . 29.220 nos . . . . . . . . . . 29.220 og . . . . . . . . . . 29.129 olddtelsorin 59.43 olddteusorin 60.43 ondtemgyr . . . 47.45 ontody . . . . . . . . 261 yo . . . . . . . . . . . 42.90 oo . . . . . . . . . . . 42.90 yyo . . . . . . . . . . 42.90 ooo . . . . . . . . . . 42.90 ord . . . . . . . . . . 34.114 ord . . . . . . . . . 34.114 originle . . . 12.259 yIdqpos . . . . . 12.713 otherlnguge (environment) 5, 12.134 otherlngugeB (environment) 5, 12.142 pdenumiii . . . . 62.379 pgeref . . . . . . 12.1245
. . . . . . . . . . 18.36
mindlnguge 11, 12.247 mkedlr . . . . . . 62.330 wkevowerse . 62.817 wkepperse . 62.817 mrkoth . . . . . 12.1293 mrkright . . . . 12.1279 mthlnin . . . 49.63 mthserin . . . . 53.67 mdqoff 21.124, 22.90,
52.159, 56.331, 58.310, 60.112 mdqon 21.124, 22.90, 52.159, 56.331, 58.310, 60.112
newhek . . . . . . 48.52 newdtelsorin 59.37 newdteusorin 60.37 newlel . . . . . 12.1210 newtilde . . . . . . 48.52 nfssdtodes . 12.1374 xo . . . . . . . . . . 29.220 no . . . . . . . . . . 29.220 xoeutopefeforeph
. . . . . . 29.110, 56.268, 58.247 noite . . . . . . . 12.1263 noextrsfrikns 19.93 noextrslnin 49.34 noextrsustrin 21.53 noextrshs . 66.67 noextrshsm 67.67 noextrssque . 39.36 noextrsreton . 23.35 noextrstln 36.37 noextrsrotin 50.34 noextrszeh . . 51.62 noextrsdnish . 41.35 noextrsduth . . 19.93 noextrsenglish 20.133 noextrsespernto 17.35 noextrsestonin 48.44 noextrsfinnish 46.35 noextrsfrenh . 29.51
. 12.22, 56.111, 57.111, 58.111, 109 vron . . . 51.83, 54.154 lron . . . 51.83, 54.154 ldfdfinish . . 12, 12.238 ldfdquit . . . 12, 12.232 vdfsnit . . . . 12, 12.200 vgem . . . . . . . . . 36.147 lgem . . . . . . . . . 36.147 list . . . . . . . . . 62.353 listpf . . . . . . . 29.412 listoffigures . 62.424 listoftles . . 62.424 listys . . . . . . 29.412 lodlolfg . 12, 13.1 looseness 51.290, 54.355
RTV
pdfstringdefhislegommnds svedsfdq . . 12.844, 13 . . . . . . . . 12.1364 seletlnguge . . . . . 5, 12.70, 62.262 ped . . . . . . . . . . . 30.84 12.199 peekdtoken . . . . 12.425 setdhyphenmins polishrz . . . . . 52.130 setdlowdox . 12.841, 13 polishzx . . . . . 52.130 setdoutputdlol 62.597 setherew . . . . . 62.84 portugeshyphenmins . . . . . . . . . . 34.96 etvtinvigtures 31.61 primo . . . . . . . . 29.220 setrllnguge . 62.281 proessdlnguge 12.318 shorthndoff . 5, 12.659 proessdline . . 12.296 shorthndon . . 5, 12.659 proessdsynonym 12.303 sk . . . . . . . . . . . 52.71 rosodiwrks . . 32.21 slidelel . . . . . 62.56 rosodiwrksyff 32.1 so . . . . . . 42.82, 52.43 rosodiwrksyn . 32.1 sp . . . . . . . . . . . 52.63 splithyphens . . . . . providehyphenmins . . . . 51.275, 54.340 . . . . . . 11, 12.195 sq . . . . . . 51.70, 54.83 rovidesvnguge . . . . . . . . . 10.1, 12 . . . . . . . . . . 12.931 stndrdhyphens . . psdhedings 47.155,
47.321, 62.637 psdmyhedings . 62.637 47.253, 47.356,
...
51.275, 54.340
quotedlse . . quotesinglse
Q R
. . . . . . . . . 29.282
12.851 12.856
. . . . . . . . . . . 62.293 r . . . . . . . . . . 34.114 rggedleft . . . . 62.805 rggedright . . . 62.805 redonfigfile 12.365 ef . . . . . . . . . . 12.1342 ref . . . . . . . . . . 12.1245 refstepounter 47.514 eminder . . . . 62.1078 rldoutputdlol 62.597 rllistoffigures 62.421 rllistoftles 62.421 rltleofontents . ro . . . . . . . . . romndte . . . russindshdXd russindshdYd russindshdcd russindshdd .
......... . .. . . . .
. 12.25, 56.115, 57.115, 58.115, 109 textoj . . . . . . . 64.507 textol . . . . 27.28, 109 textormth . . . . 12.620 textpl . . . . . . . . 52.78 textredis . . . . 64.511 textshold . . . . 64.513 textshsr . . . . 64.514 textshstk . . . . 64.515 textt . . . . . . . 64.508 texttilde . . . . . 39.50 theiliogrphy (environment) . 62.903 theenumii . . . . 62.112 theenumiv . . . . 62.112 thousndsep . . . 42.106 tildelow . . . . . . 48.52 todyomn . . . . 57.179 toherew . . . . . . 62.90 turkishdshdXd . . 61.44 turkishdshdd . . . 61.44
...
Idqpos . . . . . . 12.713 dunogporli . 30.129 tleofontents 62.424 tl . . . . . . . . . 42.115 telepl . . . . . . . . 52.87 e . . . . 12.1321, 62.347 textute . . . . . 36.74 textls . . . . . 64.512 textrml . . . . . 64.509 textyrilli 56.115,
57.115, 58.115 textds . . . . . . . 64.506 textfr . . . . . . . 64.510 textgrve . . . . . 36.74
ukrinindshdXd ukrinindshdYd ukrinindshdcd ukrinindshdd umluthigh . . . . umlutlow . . . . underline . . . . unit . . . . . . . . . . unsetherew . . . . unsetrllnguge up . . . . . 29.173, upp . . . . . . . . . . uppdsize . . . . . userdgroup . . . . useshorthnds 5, uv . . . . . 51.159,
58.210 58.210 58.210 58.210 12.977 12.977 62.821 30.84 62.84 62.281 36.194 42.155 42.155 12.626 12.629 54.224
sminhyphenmins . 45.6
welshhyphenmins . 24.6
RTW
Change History
3.0
293, 317
albanian-1.0a General: Started rst version of the le . . . . . . . . . . . . . . . . . . . . . . . . . . . . albanian-1.0b General: A number of corrections in the translations from Adi Zaimi . . . . . . albanian-1.0c General: Small documentation x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
babel 2.0a General: Added text about germnFsty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 babel 2.0b General: Changed order of code to prevent plain TEXfrom seeing all of it . . . . . 1 babel 2.1 General: Modied user interface, lnge no longer necessary . . . . . . . . . . . . 1 babel 2.1a General: Incorporated Nico's comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 babel 2.1b General: rename lnguge to urrentdlnguge . . . . . . . . . . . . . . . . . . . . . 1 babel 2.1c General: abstract for report xed, missing }, found by Nicolas Brouard . . . . . . 1 babel 2.1d General: Missing right brace in denition of abstract environment, found by Werenfried Spit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 babel 2.1e General: Incorporated more comments from Nico . . . . . . . . . . . . . . . . . . . . . . 1 babel 2.2 General: Renamed newlnguge to ddlnguge . . . . . . . . . . . . . . . . . . . . . 1 babel 2.2a General: Modied the documentation somewhat . . . . . . . . . . . . . . . . . . . . . . . 1 babel 3.0 General: Moved part of the code to hyphen.doc in preparation for TEX 3.0 . . . . 1 babel 3.0a General: Updated comments in various places . . . . . . . . . . . . . . . . . . . . . . . . . 1 iflnguge: Added dsphk and desphk . . . . . . . . . . . . . . . . . . . . . . 22 seletlnguge: Added dsphk and desphk . . . . . . . . . . . . . . . . . . . 24 Replaced gdef with def . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 babel 3.0b General: Removed some problems in change log . . . . . . . . . . . . . . . . . . . . . . . 1 babel 3.0c General: Renamed elFsty and ltexhxFsty to Fom . . . . . . . . . . . . . . . . . 1 iflnguge: Added comment character after 5P . . . . . . . . . . . . . . . . . . . . . 22 seletlnguge: Made seletlnguge robust . . . . . . . . . . . . . . . . . . . . . 23 babel 3.0d dnoopterr: Added a percent sign to remove unwanted white space . . . . . . . . 30 General: Removed use of difundefined . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 dodstyle: Removed use of difundefined . . . . . . . . . . . . . . . . . . . . . . . . . 57 iflnguge: Removed space hacks and use of difundefined . . . . . . . . . . . 22 Removed superuous expndfter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 proessdlnguge: Added the collection of pattern names. . . . . . . . . . . . . . 32
RUH
Reinserted expndfter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Removed superuous expndfter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . seletlnguge: Removed space hacks and use of difundefined . . . . . . . . Removed superuous expndfter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . babel 3.1 General: Added the support for active characters and for extending a macro . . . Removed denition of ifdrestoneol . . . . . . . . . . . . . . . . . . . . . . . . . . . Removed the need for ltexhx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ddto: Added macro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . redonfigfile: Removed the extra if control sequence . . . . . . . . . . . . . . . Removed use of toksH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . seletlnguge: originle should only be executed once . . . . . . . . . . . babel 3.2 General: Some Changes by br . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . dddilet: Added relx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ddlnguge: Added a 7, removed y . . . . . . . . . . . . . . . . . . . . . . . . . . . . . eldeginsve: Added macro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . eldsve: Added macro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . eldsvent: Added macro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . eldsvevrile: Added macro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . lddddspeil: Added macro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ldremovedspeil: Added macro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iflnguge: Rephrased ifnum test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . seletlnguge: Modied to allow arguments that start with an escape character . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . babel 3.2a General: Fixups of the code and documentation . . . . . . . . . . . . . . . . . . . . . . . originle: Set originle to empty, because it should be expandable. redonfigfile: Free macro space for proessdlnguge . . . . . . . . . . . . . seletlnguge: Added relx as rst command to stop an expansion if protet is empty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Added three expndfters to save macro space for originle . . . . . . . Moved denition of originle before extrs lang .............. Set originle to empty, because it should be expandable. . . . . . . . . . . Simplied the modication to allow the use in a write command . . . . . . . babel 3.2b llowhyphens: Moved macro from language denition les . . . . . . . . . . . . . . svedsfdq: Moved macro from language denition les . . . . . . . . . . . . . . . . setdlowdox: Moved macro from language denition les . . . . . . . . . . . . . . . babel 3.2c eldsve: missing backslash led to errors when executing originle . . babel 3.2d eldsve: saving in eldi and restoring from deldi doesn't work very well... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . babel 3.2e General: Added slovak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . babel 3.3 General: hedpgenme should be pgenme . . . . . . . . . . . . . . . . . . . . . . . . Added catalan and galician . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Added turkish . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Included driver le, and prepared for distribution . . . . . . . . . . . . . . . . . . . . babel 3.4 General: Added bahasa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Added language denition le for bahasa . . . . . . . . . . . . . . . . . . . . . . . . . . .
32 32 24 24 1 57 1 50 34 34 25 1 22 21 49 49 49 49 35 36 22 23 1 30 35 24 25 25 25 23 50 51 51 49
49 73 61 73 73 1 73 1
RUI
babel 3.4b General: Added a small driver to be able to process just this le . . . . . . . . . . . Use the ltxdoc class instead of article . . . . . . . . . . . . . . . . . . . . . . . . . . . . babel 3.4c General: lhyphen.cfg has become lthyphen.cfg . . . . . . . . . . . . . . . . . . . . . . . . babel 3.4e A dnolnerr: Use kgeirror in L TEX 2 mode . . . . . . . . . . . . . . . . . . . . dnoptterns: Macro added . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . proessdlnguge: Added code to detect assignments to left- and righthyphenmin in the patternle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . rovidesvnguge: Redid the identication code, provided dummy denition of rovidespile for plain TEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . babel 3.4g dtestdef: Moved the def inside the macrocode environment . . . . . . . . . . . babel 3.5a dnoopterr: Added dtivted to log active characters . . . . . . . . . . . . . . . . General: Added a system shorthand for the right quote . . . . . . . . . . . . . . . . . Added breton, irish, scottish . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Changed extension of language denition les to ldf . . . . . . . . . . . . . . . . . Provided common code to handle the active double quote . . . . . . . . . . . . . . Replaced 16 system shorthands to deal with hex numbers by one . . . . . . . . ldtivte: Added macro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . lddetivte: Added macro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ldmindlnguge: Macro added . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ldprdmds: Added macro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ldsetdlnguge: write the language change to the auxiliary les . . . . . . . . inititedtivedhr: Added a check for right quote and adapt prdmds if necessary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Added macro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . mindlnguge: Macro added . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . babel 3.5b General: Added brazilian as alternative for brazil . . . . . . . . . . . . . . . . . . . . . . Added lsorbian, usorbian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Added the estonian option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . lthyphen.cfg has become hyphen.cfg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . inititedtivedhr: Renamed macro . . . . . . . . . . . . . . . . . . . . . . . . . . . pgeref: Made ref and pgeref robust (PR1353) . . . . . . . . . . . . . . . . . . proessdlnguge: Added optional reading of le with hyphenation exceptions proessdline: added macro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . proessdsynonym: added macro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . redonfigfile: Now add a spe and a / character . . . . . . . . . . . . . . . . . seletlnguge: Added an extra level of expansion to separate the switching mechanism from writing to aux les . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Addedd default setting of hyphenmin parameters . . . . . . . . . . . . . . . . . . . . Changed the name of the internal macro to seletlnguge . . . . . . . . . . Separated the setting of the hyphenmin values . . . . . . . . . . . . . . . . . . . . . . Store the name of the current language in a control sequence instead of passing the whole macro construct to strip the escape character in the argument of seletlnguge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . babel 3.5c dnoopterr: Added missing closing brace . . . . . . . . . . . . . . . . . . . . . . . . . . . General: Changed the order of including the language les somewhat (PR1652)
1 71 15 30 30 32 14 63 30 45 73 16 1 45 42 42 30 45 24 38 36 30 16 73 16 15 36 64 33 31 31 34 23 25 23 25
23 30 73
RUP
corrected a few typos (PR1652) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Repaired a typo (itlaic, PR1652) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . babel 3.5d General: Added british as an alternative for english with a preference for british hyphenation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Added options to inuence behaviour of active acute and grave accents . . . . Load frenhFldf when it is found instead of frenhFldf . . . . . . . . . . . . . Load language denition les after the check for the hyphenation patterns . Merged glyphs.dtx into this le . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . tivedprefix: dproteteddmd has vanished from ltoutenFdtx . . . . . . . delredshorthnd: Make a `note' when a shorthand with an argument is dened. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . foreignlnguge: Macro added . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . inititedtivedhr: Skip the language-level active char with argument if no shorthands with arguments were dened . . . . . . . . . . . . . . . . . . . . . . . . . Skip the user-level active char with argument if no shorthands with arguments were dened . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . lodlolfg: Added macro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . pgeref: use a dierent control sequence while making ref and pgeref robust . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . otherlnguge: environment added . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . babel 3.5e otherlnguge: changed name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . babel 3.5f diitem: Now use ldredefine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ditex: Now use ldredefine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . dtestdef: Complete rewrite of this macro as the same character ended up with dierent category codes in the labels that are being compared. Now use mening . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Now use ldredefine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Use stripdprefix only on ldtemp when it is not relx . . . . . . . . . . General: Added a system shorthand for the left quote . . . . . . . . . . . . . . . . . . Added the greek option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . No need to reset the category code of the tilde as inititedtivedhr now correctly deals with active characters . . . . . . . . . . . . . . . . . . . . . . . . . . . . Now use the le frenhFldf from Daniel Flipo for french support . . . . . . . repaired a typo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . replaced tmp, ldtmp and ldtemp with ldtemp . . . . . . . . . . . . . . lisshorthnd: New command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . lddis: Macro moved from language denition les . . . . . . . . . . . . . . . . . ldredefine: Macro added . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ldredefineroust: Dene Bfoo instead of foo . . . . . . . . . . . . . . . . . . . Macro added . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ldsetdlnguge: Now also dene lngugenme at this level . . . . . . . . . . ldtestdtoken: macro added . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iite: Now use ldredefine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ht: New denition of dj, see PR 2058 . . . . . . . . . . . . . . . . . . . . . . . . . . . . frq: corrected spelling of quilsinglFFF . . . . . . . . . . . . . . . . . . . . . . . . . . now use textormth in these denitions . . . . . . . . . . . . . . . . . . . . . . . . . frqq: corrected spelling of quillemotFFF . . . . . . . . . . . . . . . . . . . . . . . . . . now use textormth in these denitions . . . . . . . . . . . . . . . . . . . . . . . . . inititedtivedhr: Deal correctly with already active characters, provide top level expansion and dene all lower level expansion macros outside of the else branch. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1 51
16 18 16 16 1 41 42 26 40 39 70 64 26 26 65 64
63 63 63 45 16 46 16 1 1 43 51 61 62 62 24 37 64 53 54 54 54 54
37
RUQ
restore the lode of the tie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 Restore the category code of a shorthand char at end of package . . . . . . . . 38 store the lode of the tie before changing it . . . . . . . . . . . . . . . . . . . . . . 38 use peekdtoken to check whether it is safe to proceed . . . . . . . . . . . . . 40, 41 lowerdumlut: Added a llowhyphens . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 removed llowhyphens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 newlel: Now use ldredefine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 noite: Now use ldredefine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 pgeref: Now use ldredefineroust . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 redene Bref if it exists instead of ref . . . . . . . . . . . . . . . . . . . . . . . . . . 64 A redene setref instead of ref and pgeref in L TEX 2 . . . . . . . . . . . . . 64 Reverse the previous change as it inhibits the use of active characters in labels 64 peekdtoken: macro added . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 proessdlnguge: Use empty instead of dempty as the latter is unknown in plain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 rovidesvnguge: Need to temporarily change the denition of rovidespile for December 1995 release . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Store version in fileversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 redonfigfile: Moved the ddling with dump to plinFdtx as it is no A longer needed for L TEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 seletlnguge: Added a missing percent character . . . . . . . . . . . . . . . . . . 23 Moved check for escape character one level down in the expansion . . . . . . . 23 otherlngugeB: environment added . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 babel 3.5g General: Added denition of fel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 Added greek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 Added option afrikaans . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Removed the use of ptternsdloded altogether . . . . . . . . . . . . . . . . . . . 31 A replaced undefined with dundefined to be consistent with L TEX . . . . . . . 1 ifthenelse: Redenition of ifthenelse added to circumvent problems with pgeref in the argument of isodd . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 inititedtivedhr: Top level expansion of normldhr hr where char is already active, should be the expansion of the active character, not the active character itself as this causes an endless loop . . . . . . . . . . . . . . . . . 37 nfssdtodes: Need to add the double quote and acute characters to nfssdtodes to prevent problems when reading in .fd les . . . . . . . . . . . . . . . . . . . . . . 69 proessdline: Simplied code, removing ldeqd . . . . . . . . . . . . . . . . . . . 31 rovidesvnguge: Save a few csnames; use ldtemp instead of rovidespile and store message in toksV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 babel 3.6a ddvpgeref: Redenition of ddvpgeref added to circumvent problems with active X in the argument of vref when vrioref is used . . . . . . . . . . . . . 68 General: Added welsh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 Removed eldoredloded, no longer needed with the advent of vdfsnit 19 ldfdfinish: Macro added . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 ldfdquit: Macro added . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 vdfsnit: Macro added . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 mindlnguge: mindlnguge now also sets lngugenme and ldlngugenme for use by other packages in the preamble of a document . . . . . . . . . . . . . . 30 seletlnguge: Check for the existence of dteFFF instead of ldFFF . . . 24 babel 3.6b ddto: Also check if control sequence expands to relx . . . . . . . . . . . . . . . 50 babel 3.6c General: When vdfsnit is undened we need to load elFdef from elFsty 16
RUR
might not be dened; assume english is language 0 . . . . . . . . . . . . . . . . . . babel 3.6d foreigndlnguge: Added relx to prevent disappearance of the rst token after this command. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . New macro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . set the language shorthands to `none' before switching on the extras . . . . . . foreignlnguge: Introduced foreigndlnguge . . . . . . . . . . . . . . . . . . . . seletlnguge: set the language shorthands to `none' before switching on the extras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . otherlngugeB: Introduced foreigndlnguge . . . . . . . . . . . . . . . . . . . . . babel 3.6e General: Added option frenchb an alias for francais . . . . . . . . . . . . . . . . . . . . Added options UKenglish and USenglish . . . . . . . . . . . . . . . . . . . . . . . . . . . babel 3.6f General: Added option KeepShorthandsActive . . . . . . . . . . . . . . . . . . . . . . . . . ldredefinedlong: Macro added . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ifthenelse: ifthenelse needs to be long . . . . . . . . . . . . . . . . . . . . . . . . . inititedtivedhr: Made restoring of the category code of shorthand characters optional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . babel 3.6h redonfigfile: Added a couple of expndfters to copy the contents of toksV into everyjo instead of the reference . . . . . . . . . . . . . . . . . . . . . babel 3.6i dnewldel: Now redene dnewldel instead of dliitem and newlel . dtestdef: dsfedtivesflse is now part of the label denition . . . . . . . Make sure that shorthands don't get expanded at the wrong moment. . . . . General: Added basque . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Added default option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Added the Basque option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Added the ukrainian option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Added the possibility to have a loptsFfg le with option declarations. . ldfterfi: Made ldfterelse and ldfterfi long . . . . . . . . . . . ldtestdtoken: renamed ldtoken to ldtestdtoken to prevent a clash with ArabTEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . delredshorthnd: Make it possible to distinguish the constructed control sequences for the case with argument . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ifthenelse: Now reset the @safe@actives switch inside the 2nd and 3rd arguments of ifthenelse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . inititedtivedhr: Make shorthands active during Fux le processing . Remove the use of peekdtoken again . . . . . . . . . . . . . . . . . . . . . . . . . . 40, Remove the use of peekdtoken again and make the FFFtivedrgFFF commands long . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ltinenoding: Macro added, moved from Fldf les . . . . . . . . . . . . . . . . . . ltintext: Macro added, moved from Fldf les . . . . . . . . . . . . . . . . . . . . . mrkright: Added redenition of mrkFFF commands . . . . . . . . . . . . . . . . peekdtoken: Renamed testdtoken to ldtestdtoken to prevent a clash with ArabTEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . systemdgroup: Have a user group called `user' by default . . . . . . . . . . . . . . . textltin: Macro added, moved from Fldf les . . . . . . . . . . . . . . . . . . . . . babel 3.6k ltinenoding: Use T1 encoding when it is a known encoding . . . . . . . . . . .
30
27 26 27 26 25 26 16 17 18 62 67 38
35 62 63 63 73 17 16 17 17 36 37 42 67 39 41 40 19 20 65 37 43 20 20
RUS
babel 3.6l General: Don't load elFdef now, but rather dene vdfsnit temporarily in order to load elFdef at the right time, preventing problems with the temporary denition of ldredefine . . . . . . . . . . . . . . . . . . . . . . . . . . babel 3.6m ltinenoding: Can't use difpkgeloded need to parse dfilelist . . . babel 3.6n ltinenoding: Added a check for `manual' selection of I encoding, without loading fonten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . moved checking for fontenc right to the top of elFsty . . . . . . . . . . . . . . babel 3.6o General: Moved the rest of the font encoding related denitions to their original place . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . babel 3.6p General: Added the ngerman and naustrian options . . . . . . . . . . . . . . . . . . . . babel 3.6q ltinenoding: Better solution then parsing dfilelist, use difldded . . babel 3.6r General: We need to load elFdef right now as rovidesvnguge needs to be dened before the Fldf les are read and the reason for for 3.6l has been removed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . babel 3.6s iite: Need to determine `online' which denition of iite is needed . babel 3.6u ltinenoding: Moved this code to elFdef . . . . . . . . . . . . . . . . . . . . . . babel 3.6v ldiite: Macro ldiite added . . . . . . . . . . . . . . . . . . . . . . . . . . lditedhoie: Macro lditedhoie added . . . . . . . . . . . . . . . . . . . iite: Also check for ite it can't handle dsfedtivesflse in its second argument . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . babel 3.7a dnewldel: Call dsfedtivestrue directly . . . . . . . . . . . . . . . . . . . . . . . dtestdef: Removed dsfedtivesflse from the label denition . . . . . . . General: Added icelandic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Added the hebrew option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Added the icelandic option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Added the polutonikogreek option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . No longer dene the control sequence ueephorthndsetive . . . . . . . . . . Now need packages t1enc and supertabular to be loaded; the documentation for icelandic needs its Fldf le to be present . . . . . . . . . . . . . . . . . . . . . . llowhyphens: Make llowhyphens a no-op for T1 fontencoding . . . . . . . . . ldswithdsh: Added command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . foreignlnguge: Added executing originle . . . . . . . . . . . . . . . . . . . . grq: Make the denition of grq dependent on the font encoding . . . . . . . . . grqq: Make the denition of grqq dependent on the font encoding . . . . . . . iflnguge: Now evaluate the ifnum test after the fi from the ifx test and use dfirstoftwo and dseondoftwo . . . . . . . . . . . . . . . . . . . . . . . . . . . inititedtivedhr: Commented out peek@token and testdtoken as short hands are made expandable again . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Use difpkgewith to determine whether shorthand characters need to remain active . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A ve: Make TEX and L TEX logos encoding-independent . . . . . . . . . . . . . . . proessdlnguge: Read pattern les in a group . . . . . . . . . . . . . . . . . . . . .
16 20
20 20
20 17 20
do
16 64 20 65 65 64 62 63 73 17 17 16 18 71 50 44 26 54 54 22 36 38 67 32
RUT
in plain formats because of babel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Removed superuous braces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 shorthndoff: Added command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 shorthndon: Added command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 babel 3.7b General: Added Latin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 Added the latin option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 iflnguge: Slight enhancement: added braces around rst argument of ldfterfi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 babel 3.7c General: Added an error message for when no language option was specied . . 18 Added hebrew and serbian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 Added support for language attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 Added ukrainian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 dene dddilet before loading plinFdef here . . . . . . . . . . . . . . . . . . . 19 No longer us a redenition of an internal macro, just check ldmindlnguge and load elFdef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Removed redenition of dromn and domn . . . . . . . . . . . . . . . . . . . . . . 67 set the correct language attribute for polutoniko greek . . . . . . . . . . . . . . . . 16 inititedtivedhr: Only execute inititedtivedhr once for each character . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 mrkright: Avoid expanding the arguments by storing them in token registers 65 Removed the use of heddlng (PR 2990) . . . . . . . . . . . . . . . . . . . . . . . . 65 proessdlnguge: Added the execution of the contents of toksd . . . . . . . . 33 Also store lngugenme for possible later use in proessdsynonym . . . . . 32 need to set hyphenmin values globally . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Only set hyphenmin values when the pattern le changed them . . . . . . . . . 33 Set lefthyphenmin to mdne inside the group; explicitly set the hyphenmin parameters for language 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 proessdline: added an extra argument in order to prevent a trailing space from becoming part of the control sequence when dening a synonym (PR 2851) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 proessdsynonym: Now also store hyphenmin parameters for language synonyms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Use a token register to temporarily store a command to set hyphenmin parameters for the synonym which is dened before the rst pattern le is processed 31 babel 3.7d General: Fixed a few typos in hnges entries which made typesetting the code impossible . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 inititedtivedhr: Make sure the active character doesn't get expanded more then once by the edef by adding expndfterstripdprefixmening . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 babel 3.7e General: Added missing hebrew les . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 ldlerdttris: When ldttriutes is undened this should be a no-op 49 inititedtivedhr: pass the argument on with braces in order to prevent it from breaking up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 previous change was rubbish; use let instead of edef . . . . . . . . . . . . . . . 37 hyphenrules: Added environment hyphenrules . . . . . . . . . . . . . . . . . . . . . . . 27 babel 3.7f General: Added bulgarian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 Added samin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 Added the bulgarian option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
RUU
ldgetden: Added macro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ldifttriuteset: macro added . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ldprimds: Need to redene primds as well as plain TEX's denition uses next . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ldsetdlnguge: Macro ldsetdlnguge introduced . . . . . . . . . . . . . . ifthenelse: pgeref needs to have its babel denition reinstated in the second
Added the
samin option
......................................
17 33 47 45 24
Introduced an extra level of expansion in the denition of an active caret . . 38 Make an exception for the active caret which needs an extra level of expansion 39 remove the braces again . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 The redenition needs to take place one level higher, primds needs to be redened. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 proessdlnguge: Allow for the encoding to be used as part of the language name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 providehyphenmins: added macro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 svedsfdq: PR3119, don't start a paragraph in a local group . . . . . . . . . . . . 51 seletlnguge: Use ftergroup to keep the language grouping correct in auxiliary les PR3091 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 babel 3.7g ditex: The shorthands need to be deactivated for the second argument of ditex only. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 General: Added option acadian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Added option canadian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Added option canadien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 inititedtivedhr: use textormth to get rid of the fi (PR 3266) . . . 38 babel 3.7h General: Added a number of missing comment characters which caused spurious white space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 babel 3.7j General: only load frenhFldf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 ldpopdlnguge: Introduce the language stack mechanism . . . . . . . . . . . . 23 Now use the language stack mechanism . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 pyisqxvexqeqi: Dene pyisqxvexqeqi unconditionally . . . . . . . . . . . . 69 sustitutefontfmily: create le with lowercase name . . . . . . . . . . . . . . . . 18 textltin: added levevmode to prevent a paragraph starting inside the group 20 otherlnguge: rely on seletlnguge to keep track of the nesting . . . . . 26 useshorthnds: The change from 11/112001 was incomplete . . . . . . . . . . . . 43 When TEX has seen a character its category code is xed; need to use a `standin' for the call of ldtivte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 babel 3.7k textltin: Use helreextpontgomnd . . . . . . . . . . . . . . . . . . . . . . . . . . 20 babel 3.7m dmkoth: added ldrestoredtives to the mark . . . . . . . . . . . . . . . . . . 66 dnoopterr: Macro added . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 General: Added the interlingua option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 ldpopdlnguge: Removed the superuous empty denition of ldpopdlnguge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 ldrestoredtives: New macro added . . . . . . . . . . . . . . . . . . . . . . . . . . 42 mrkright: added ldrestoredtives to the mark . . . . . . . . . . . . . . . . . 65 seletlnguge: Check for the existence of both ldFFF and dteFFF . . . . 24
inititedtivedhr: Added an extra shorthand combination on user level to catch an interfering protet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 Insert a check for math mode in the denition of normldhr9 . . . . . . . . 38
RUV
babel 3.7o
pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . babel 3.8a General: Added interlingua . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Also load package url . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . babel 3.8b ldshdselet: Added command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . delredshorthnd: We need to support shorthands with and without argument in dierent groups; added the name of the group to the storage macro . . . . frq: Made flq and frq fontencoding dependent . . . . . . . . . . . . . . . . . . . . frqq: Made flqq and frqq fontencoding dependent . . . . . . . . . . . . . . . . . grq: Made glq fontencoding dependent as well . . . . . . . . . . . . . . . . . . . . . grqq: Made grqq fontencoding dependent as well . . . . . . . . . . . . . . . . . . . . hhline: added string to prevent unwanted expansion of the colon . . . . . . . inititedtivedhr: Now use ldshdselet . . . . . . . . . . . . . . . . . . 39, babel 3.8c dmkoth: No need to add anything to an empty mark, prevented this by checking the contents of the arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . General: Added option australian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Added the newzealand option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . mrkright: No need to add anything to an empty mark; prevented this by checking the contents of the argument . . . . . . . . . . . . . . . . . . . . . . . . . . . babel 3.8e General: Many enhancements to the text by Andrew Young . . . . . . . . . . . . . . . babel 3.8f dmkoth: Make the denition independent of the original denition; expand lngugenme before passing it into the token registers . . . . . . . . . . . . . . mrkright: Make the denition independent of the original denition; expand lngugenme before passing it into the token registers . . . . . . . . . . . . . . babel 3.8g ef: We also need to adapt ef which needs to be able to uppercase the rst letter of the expansion of ref . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . babel 3.8h General: added malay, meyaluy and bahasam for the Bahasa Malaysia support . Added albanian and bahasam . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Added option albanian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . added synonyms indonesian, indon and bahasai for the original bahasa (indonesia) support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . babel 3.8j dmkoth: Added setting of dmkoth (PR 3826) . . . . . . . . . . . . . . . . . . . . . . ldswithdshdon: Added a group in order to protect the current lowercase code of the tilde (PR 3851) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . pdfstringdefhislegommnds: Inform hyperref to use shorthands at system level (PR4006) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . hyphenrules: Also set the hyphenmin paramters to the correct value (PR3997) babel 3.8l ldmindlnguge: Use ldptterns . . . . . . . . . . . . . . . . . . . . . . . . . . . ldptterns: Macro added . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
tivedprefix: Added handling of the situation where protet is set to dunexpndledprotet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ldfdfinish: Also restore the category code of the equals sign . . . . . . . . . . . ldfdquit: Also restore the category code of the equals sign . . . . . . . . . . . . . vdfsnit: make sure the equals sign has its default category code . . . . . . . . . vrefpgenum: Added redenition of vrefpgenum which deals with ranges of
41 29 29 28 68 73 71 41 42 54 54 54 54 68 40
66 16 17 65 1
66 65
68 16 73 16 16 66 45 69 27 30 27
RUW
bahasa-0.9c General: Now use dptterns to produce the warning . . . . . . . . . . . . . . 446, 449 Removed the use of filedte and moved identication after the loading of elFdef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446, 449 bahasa-1.0b A ptionshs: Added proofnme for AMS-L TEX . . . . . . . . . . . . . . . . . 447 A ptionshsm: Added proofnme for AMS-L TEX . . . . . . . . . . . . . . . . 450 bahasa-1.0d General: Replaced undefined with dundefined and empty with dempty for A consistency with L TEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446, 449 ptionshs: Replaced `Proof' by `Bukti' (PR2214) . . . . . . . . . . . . . . . 447 ptionshsm: Replaced `Proof' by `Bukti' (PR2214) . . . . . . . . . . . . . . 450 bahasa-1.0e General: Moved the denition of ttode right to the beginning. . . . 446, 449 Now use ldfdfinish to wrap up . . . . . . . . . . . . . . . . . . . . . . . . . . . 448, 451 Now use vdfsnit to perform initial checks . . . . . . . . . . . . . . . . . . . . 446, 449 hshyphenmins: use hshyphenmins to store the correct values . . . . 448 hsmhyphenmins: use hsmhyphenmins to store the correct values . . 450 bahasa-1.0f dtehs: Use edef to dene tody . . . . . . . . . . . . . . . . . . . . . . . . . . 447 dtehsm: Use edef to dene tody . . . . . . . . . . . . . . . . . . . . . . . . . 450 bahasa-1.0g dtehs: Februari should be spelled as Pebruari . . . . . . . . . . . . . . . . . . 447 dtehsm: Februari should be spelled as Pebruari . . . . . . . . . . . . . . . . . 450 bahasa-1.0h hshyphenmins: Now use providehyphenmins to provide a default value 448 hsmhyphenmins: Now use providehyphenmins to provide a default value 450 ptionshs: Added glossrynme . . . . . . . . . . . . . . . . . . . . . . . . . . 447 ptionshsm: Added glossrynme . . . . . . . . . . . . . . . . . . . . . . . . . 450 bahasa-1.0i ptionshs: Inserted translation for Glossary . . . . . . . . . . . . . . . . . . . 447 ptionshsm: Inserted translation for Glossary . . . . . . . . . . . . . . . . . . 450 bahasa-v1.0k General: Make it possible that this le is loaded by variuos options . . . . . . . 446 bahasam-0.9f General: A number of changes to make this specic to Bahasa Mayasia . . . . 449 bahasam-1.0k ptionshsm: Inserted changes from Awangku Merali . . . . . . . . . . . . . 450 dtehsm: Februari restored to BM spelling; see Collins Kamus Dwibahasa 2005 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450 bahasam-v1.0j General: Make it possible that this le is loaded by variuos options . . . . . . . 449 bahasa 1.0f dtehs: use def instead of edef to save memory . . . . . . . . . . . . . . . 447 dtehsm: use def instead of edef to save memory . . . . . . . . . . . . . . 450 basque-1.0b General: Removed empty groups after guillemot characters . . . . . . . . . . . . . 231 dtesque: use def instead of edef . . . . . . . . . . . . . . . . . . . . . . . . . . . 230 Use edef to dene tody to save memory . . . . . . . . . . . . . . . . . . . . . . 230 basque-1.0c dtesque: xed typo in April's name . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
RVH
basque-1.0d basque-1.0e
.............
basque-1.0f General: Changed url's for the patterns le . . . . . . . . . . . . . . . . . . . . . . . . . 229 ptionssque: Added translation for Glossary . . . . . . . . . . . . . . . . . . . . 229 bbplain-0.1 General: Added redenition of dump to add a message to everyjo . . . . . . 453 bbplain-1.0c General: Add execution of degindoumenthook to dpremlemds . . . . . . 454 Added denition of lodlolfg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453 Moved the dump code here from elFdtx . . . . . . . . . . . . . . . . . . . . . . 453 bbplain-1.0d General: Also reset category codes after loading the conguration le as etindyfkge is undened in this case . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453 bbplain-1.0e General: Added the newommnd code . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457 Provide a more complete emulation of helreoustgommnd and newommnd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455 bbplain-1.0f General: added dempty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453 Added textquotedlright and textquoteright . . . . . . . . . . . . . . . . . 461 Added denition of sriptsize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 461 Consistently use dundefined instead of undefined . . . . . . . . . . . . . . . . 453 Use toksV instead of ptternsdloded . . . . . . . . . . . . . . . . . . . . . . . . 454 bbplain-1.0g General: Added ss and i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 461 bbplain-1.0h General: Only load the necessary parts into the format, let this le be read agian by babel.def . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453 bbplain-1.0i A General: doument is not a L TEX2.09-only command; AMSTEXdenes it too; A now use dztryf to detect L TEX2.09 . . . . . . . . . . . . . . . . . . . . . . . . . . 454 bbplain-1.0j General: degindoumenthook might already be dened . . . . . . . . . . . . . . . 455 A Add the denition of degindoumenthook to the L TEX2.09 format . . . . 454 bbplain-1.0k General: newount is an outer command, can't use it inside an if construct 457 missing dundefined added . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455 bbplain-1.0l General: Mixed up the denition of dtempnt . . . . . . . . . . . . . . . . . . . . . 457 bbplain-1.0m General: Set ifdfilesw to ifflse only for plain TEX . . . . . . . . . . . . . . . 455 bbplain-1.0n General: Added dseondoftwo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454 Added the source for the format wrapper les . . . . . . . . . . . . . . . . . . . . . 452 Repaired typo and added missing endsnme . . . . . . . . . . . . . . . . . . . . . 455 bbplain-1.0o General: Added denition of ind . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457 bbplain-1.0p General: Added difldded as a no-op . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457
squehyphenmins: Now use providehyphenmins to provide a default value ptionssque: Added glossrynme . . . . . . . . . . . . . . . . . . . . . . . . . .
RVI
bbplain-1.0q General: Added difundefined . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454 bbplain-1.0r General: Added textquotedlleft and textquoteleft . . . . . . . . . . . . . . 461 breton-1.0 General: First release . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 breton-1.0b A ptionsreton: Added proofnme for AMS-L TEX . . . . . . . . . . . . . . . . . . 99 noextrsreton: Use the new mechanism for dealing with active chars . . . . 100 breton-1.0c General: Postpone the helreextgompositegommnds untill etfeginhoument . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 breton-1.0e General: Now use ldfdfinish to wrap up . . . . . . . . . . . . . . . . . . . . . . . . . 102 Now use vdfsnit to perform initial checks . . . . . . . . . . . . . . . . . . . . . . . . 99 Replaced undefined with dundefined and empty with dempty for consisA tency with L TEX, moved the denition of ttode right to the beginning. 99 breton-1.0f dtereton: use def instead of edef . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 Use edef to dene tody to save memory . . . . . . . . . . . . . . . . . . . . . . 100 breton-1.0g noextrsreton: Deactivate shorthands ouside of Breton . . . . . . . . . . . . . . 100 breton-1.0h ptionsreton: Added glossrynme . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 bulgarian-0.99 General: This is a prerelease version of this le. Features needing further testing are removed. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342 bulgarian-1.0b extrsulgrin: Now use providehyphenmins to provide a default value 351 bulgarian-1.0c General: Added missing closing brace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345 dq: repaired typo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349 bulgarian-1.0d General: Change denition of th only for this language . . . . . . . . . . . . . . . 353 bulgarian-1.0e dsh: Two occurences of emp were changed into tab followed by emp . . . . 350 catalan-1.1
ptionstln: hedpgenme should be pgenme . . . . . . . . . . . . . . . 200 catalan-2.0 General: Removed code to load ltexhxFom . . . . . . . . . . . . . . . . . . . . . . . 200 ptionstln: Added some names . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 extrstln: Macro completely rewritten . . . . . . . . . . . . . . . . . . . . . . . 201 noextrstln: Macro completely rewritten . . . . . . . . . . . . . . . . . . . . . 201 catalan-2.0b General: Incorporated the changes from spnishFsty . . . . . . . . . . . . . . . . . 199 catalan-2.1 A General: Update for L TEX 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 catalan-2.1d General: Now use dnoptterns to produce the warning . . . . . . . . . . . . . . . 200 Removed the use of filedte and moved identication after the loading of elFdef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 ptionstln: Added a few missing translations . . . . . . . . . . . . . . . . . 200 textute: Renamed from ute as that is a mthent . . . . . . . . . . . . 202
RVP
catalan-2.2a General: All the code to deal with active characters is now in elFdef . . . 203 extrstln: Handling of active characters completely rewritten . . . . . . 201 noextrstln: All the code for handling active characters is now moved to elFdef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202 catalan-2.2b General: Changed mathmode denition of acute shorthands to expand to a single prime followed by the next character in the input . . . . . . . . . . . . . . . . . . 204 Made the activation of the grave and acute accents optional . . . . . . . . . . . 199 A ptionstln: Added proofnme for AMS-L TEX . . . . . . . . . . . . . . . . 200 dtetln: Month names in lowercase . . . . . . . . . . . . . . . . . . . . . . . . . . 200 vgem: Added support for typing the catalan ela geminada with the macros lgem and vgem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 noextrstln: Make activating the accent characters optional . . . . . . . . 201 up: Added denition of macro up, which can be used to type ordinals . . . . 206 catalan-2.2c General: Added '' as an axtra shorthand, removed 'n as a shorthand . . . . . . 204 Added shorthands for guillemets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 cedile now produced by double quote shorthand . . . . . . . . . . . . . . . . . . . 203 Removed the use of the tilde for catalan . . . . . . . . . . . . . . . . . . . . . . . . . 199 catalan-2.2d ptionstln: added translation of Proof . . . . . . . . . . . . . . . . . . . . . . 200 Translations revised . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 catalan-2.2e General: Added `` as an axtra shorthand . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 Added vertical bar as argument to active acute . . . . . . . . . . . . . . . . . . . . 204 vFv: Added redenition of l and v . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 noextrstln: Need to split up the difpkgewith statements . . . . . 201 Now give the apostrophe a lowercase code . . . . . . . . . . . . . . . . . . . . . . . . 201 up: Now use textsupersript and make up robust . . . . . . . . . . . . . . . . 206 catalan-2.2f General: Replaced undefined with dundefined and empty with dempty for A consistency with L TEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 vgem: Added a check for math mode as the use of lgem and vgem in math mode is not sensible. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 catalan-2.2g General: Moved the denition of ttode right to the beginning. . . . . . . 199 Now use ldfdfinish to wrap up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 Now use vdfsnit to perform initial checks . . . . . . . . . . . . . . . . . . . . . . . 200 catalan-2.2h noextrstln: Added some comment signs to prevent unwanted spaces in the output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202 catalan-2.2i General: Removed empty groups after guillemot characters . . . . . . . . . . . . . 203 dtetln: use def instead of edef . . . . . . . . . . . . . . . . . . . . . . . . . . 200 Use edef to dene tody to save memory . . . . . . . . . . . . . . . . . . . . . . 200 catalan-2.2k General: A wrong hnges entry made typesetting impossible . . . . . . . . . . 199 catalan-2.2l noextrstln: Don't forget do deactivate the shorthands . . . . . . . . . . . 201 Make sure that the grave accent has catcode 12 before it is made tive . 201 catalan-2.2m ptionstln: Added glossrynme . . . . . . . . . . . . . . . . . . . . . . . . . 200
RVQ
catalan-2.2n
catalan-2.2o vFv: Postpone the redenition of l and v until begin document to prevent overwriting by fontenc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 catalan-2.2p ptionstln: Inserted translation for Glossary . . . . . . . . . . . . . . . . . . 200 changes-1.0f General: The hyphen char needs to appear at the beginning of the line as well. 232 croatian-1.0a General: Renamed elFsty in elFom . . . . . . . . . . . . . . . . . . . . . . . . 286 croatian-1.0b General: Removed use of difundefined . . . . . . . . . . . . . . . . . . . . . . . . . . 286 croatian-1.0c General: Removed some typos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286 croatian-1.1 General: Added a warning when no hyphenation patterns were loaded. . . . . . 286 Brought up-to-date with babel 3.2a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286 ptionsrotin: Added seenme, lsonme and prefenme . . . . . . 286 croatian-1.2 ptionsrotin: hedpgenme should be pgenme . . . . . . . . . . . . . . 286 croatian-1.3 A General: Update for L TEX 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286 croatian-1.3d ptionsrotin: Added a few translations . . . . . . . . . . . . . . . . . . . . . . . 286 croatian-1.3e A ptionsrotin: Added proofnme for AMS-L TEX . . . . . . . . . . . . . . . 286 croatian-1.3f ptionsrotin: Added translation of Proof . . . . . . . . . . . . . . . . . . . . . 286 dterotin: in croatian language, the genitive for the name of the month has to be used . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286 croatian-1.3g General: Now use ldfdfinish to wrap up . . . . . . . . . . . . . . . . . . . . . . . . . 287 Now use vdfsnit to perform initial checks . . . . . . . . . . . . . . . . . . . . . . . 286 Replaced undefined with dundefined and empty with dempty for consisA tency with L TEX, moved the denition of ttode right to the beginning. 286 croatian-1.3h dterotin: sijev{}nj should be seijv{}nj and there should be a period after the year . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286 croatian-1.3i ptionsrotin: Replaced some of the translations with `better' words . . 286 dterotin: use def instead of edef . . . . . . . . . . . . . . . . . . . . . . . . . 286 Use edef to dene tody to save memory . . . . . . . . . . . . . . . . . . . . . . 286 croatian-1.3j dterotin: changed od into or . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286 croatian-1.3k ptionsrotin: Added glossrynme . . . . . . . . . . . . . . . . . . . . . . . . 286 croatian-1.3l ptionsrotin: Inserted translation for Glossary . . . . . . . . . . . . . . . . . 286 czech-1.0a General: Renamed babel.sty in babel.com . . . . . . . . . . . . . . . . . . . . . . . . . . 288 czech-1.0b General: Removed use of difundefined . . . . . . . . . . . . . . . . . . . . . . . . . . 289
tlnhyphenmins: Set the hyphenation parameters both to two as required by hyphFtex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
RVR
czech-1.1 General: Added a warning when no hyphenation patterns were loaded. . . . . . 289 Brought up-to-date with babel 3.2a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288 ptionszeh: Added seenme, lsonme and prefenme . . . . . . . . . 290 czech-1.1a noextrszeh: Removed typo, q was restored twice, once too many. . . . . 291 czech-1.2 General: Included some features from Kasal's czech.sty . . . . . . . . . . . . . . . . 288 czech-1.3 A General: Update for L TEX 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288 czech-1.3d General: Now use dnoptterns to produce the warning . . . . . . . . . . . . . . . 289 Removed the use of filedte and moved identication after the loading of elFdef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288 czech-1.3e noextrszeh: now use ldfrenhsping and ldnonfrenhsping 291 A Use L TEX's v and r accent commands . . . . . . . . . . . . . . . . . . . . . . . . . 291 czech-1.3f A ptionszeh: Added proofnme for AMS-L TEX . . . . . . . . . . . . . . . . . . 290 czech-1.3g ptionszeh: Fixed two errors and provided translation for `proof' . . . . . 290 czech-1.3h General: Now use ldfdfinish to wrap up . . . . . . . . . . . . . . . . . . . . . . . . . 300 Now use vdfsnit to perform initial checks . . . . . . . . . . . . . . . . . . . . . . . 289 Replaced undefined with dundefined and empty with dempty for consisA tency with L TEX, moved the denition of ttode right to the beginning. 288 czech-1.3i dtezeh: Use def instead of edef . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290 Use edef to dene tody to save memory . . . . . . . . . . . . . . . . . . . . . . 290 czech-1.3j ptionszeh: Added glossrynme . . . . . . . . . . . . . . . . . . . . . . . . . . . 290 czech-1.3k ptionszeh: Added translation for Glossary . . . . . . . . . . . . . . . . . . . . . 290 czech-3.0 General: Added default for setting hyphenmin parameters. Values taken from A CSL TEX. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291 A Implemented the functionality of CSL TEX's czech.sty. The version number was bumped to 3.0 to minimize confusion by being higher than the last version of A CSL TEX. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288 ptionszeh: Updated some translations. Former translations were: `Dodatek' for ppendixnme and `Index' for indexnme. Also removed spurious colon at the end of nme. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290 czech-3.1 sdemdsh: ensure correct catcode for the saved hyphen . . . . . . . . . . . . . . . 294 sdsplitttr: attribute added . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297 noextrszeh: move lngugeshorthnds here, so that the language group is always initialized correctly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291 splithyphens: activate with split hyphens and deactivate with standard hyphens, not vice versa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297 danish-1.0a General: Renamed elFsty in elFom . . . . . . . . . . . . . . . . . . . . . . . . danish-1.0b General: Removed use of difundefined . . . . . . . . . . . . . . . . . . . . . . . . . .
235 235
RVS
danish-1.1 General: Added a warning when no hyphenation patterns were loaded. . . . . . 235 Brought up-to-date with babel 3.2a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235 ptionsdnish: Added seenme, lsonme and prefenme . . . . . . . . 235 danish-1.2 ptionsdnish: hedpgenme should be pgenme . . . . . . . . . . . . . . . . 235 danish-1.2b ptionsdnish: Added a few translations . . . . . . . . . . . . . . . . . . . . . . . . 235 danish-1.3 A General: Update for L TEX 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235 danish-1.3a dtednish: Added `.' to denition of tody . . . . . . . . . . . . . . . . . . . . . . 236 danish-1.3c ptionsdnish: Included some revisions from Peter Busk Larsen . . . . . . . 235 danish-1.3f General: Now use dnoptterns to produce the warning . . . . . . . . . . . . . . . 235 Removed the use of filedte and moved identication after the loading of elFdef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235 danish-1.3g General: Added the active double quote character as suggested by Peter Busk Laursen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235 danish-1.3h A ptionsdnish: Added proofnme for AMS-L TEX . . . . . . . . . . . . . . . . . 235 extrsdnish: Added ldfrenhsping . . . . . . . . . . . . . . . . . . . . . . . . 236 noextrsdnish: Added ldnonfrenhsping . . . . . . . . . . . . . . . . . . . 236 danish-1.3i ptionsdnish: Added translation of `Proof' . . . . . . . . . . . . . . . . . . . . . . 235 danish-1.3j General: Now use ldfdfinish to wrap up . . . . . . . . . . . . . . . . . . . . . . . . . 237 Now use vdfsnit to perform initial checks . . . . . . . . . . . . . . . . . . . . . . . 235 Replaced undefined with dundefined and empty with dempty for consisA tency with L TEX, moved the denition of ttode right to the beginning. 235 extrsdnish: Added denition of 4~ and 4a . . . . . . . . . . . . . . . . . . . . . . 237 Changed denition of 49 to print instead of . . . . . . . . . . . . . . . . . . . . 236 danish-1.3k dtednish: use def instead of edef . . . . . . . . . . . . . . . . . . . . . . . . . . . 236 Use edef to dene tody to save memory . . . . . . . . . . . . . . . . . . . . . . 236 extrsdnish: Removed empty groups after double quote and guillemot characters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236 danish-1.3m extrsdnish: Deactivate shorthands ouside of Danish . . . . . . . . . . . . . . . 236 danish-1.3n ptionsdnish: Added glossrynme . . . . . . . . . . . . . . . . . . . . . . . . . . 235 danish-1.3o ptionsdnish: Added translation of `Glossary' . . . . . . . . . . . . . . . . . . . . 235 danish-1.3p englishhyphenmins: Added default for setting of hyphenmin parameters . . 235 danish-1.3q E: Added redenition of E from duthFldf . . . . . . . . . . . . . . . . . . . . . . . . 237 englishhyphenmins: Set lefthyphenmin to two . . . . . . . . . . . . . . . . . . . . . 235 extrsdnish: Added denition of 4G from duthFldf . . . . . . . . . . . . . . . . 237 dutch-2.0a General: Added checking of format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
RVT
dutch-2.0b General: Added extrasdutch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . dutch-2.0c General: Added grqq macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . dutch-2.1 General: reect change to version 2.1 in babel and changes in german v2.3 . . . dutch-2.1a General: Incorporated Nico's comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . dutch-2.1b General: Incorporated more comments by Nico . . . . . . . . . . . . . . . . . . . . . . . dutch-2.1c General: Fixed some typos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . dutch-2.2 General: Fixed problem with the use of 4 in moving arguments while 4 is active dutch-2.3 dtrem: dieresis instead of entIPU . . . . . . . . . . . . . . . . . . . . . . . . . . General: dieresis instead of entIPU . . . . . . . . . . . . . . . . . . . . . . . . . . When using PostScript fonts with the Adobe font-encoding, the dieresis-accent is located elsewhere, modied code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . noextrsfrikns: Added dieresis . . . . . . . . . . . . . . . . . . . . . . . . . . . . dutch-2.3a General: Modied the documentation somewhat . . . . . . . . . . . . . . . . . . . . . . dutch-3.0 General: Modied for babel 3.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Now use dddilet if language undened . . . . . . . . . . . . . . . . . . . . . . . dutch-3.0a General: Removed some problems in change log . . . . . . . . . . . . . . . . . . . . . . dutch-3.0b extrsfrikns: added some comment chars to prevent white space . . . . . . noextrsfrikns: added some comment chars to prevent white space . . . . dutch-3.1 General: Removed bug found by van der Meer . . . . . . . . . . . . . . . . . . . . . . . dutch-3.1a ptionsduth: pgenme should be hedpgenme . . . . . . . . . . . . . . . . . Removed glol denitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . dteduth: Removed glol denitions . . . . . . . . . . . . . . . . . . . . . . . . . . extrsfrikns: Removed glol denitions . . . . . . . . . . . . . . . . . . . . . noextrsfrikns: Removed glol denitions . . . . . . . . . . . . . . . . . . . . dutch-3.2 General: added case for 4y and 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . extrsfrikns: Save all redened macros . . . . . . . . . . . . . . . . . . . . . . . . noextrsfrikns: Try to restore everything to its former state . . . . . . . . . dutch-3.2a General: Added reset of catcode of @ before endinput. . . . . . . . . . . . . . . . . Renamed babel.sty in babel.com . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . dutch-3.2b General: removed typo (allowhpyhens) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . dutch-3.2c General: Removed code to load ltexhxFom . . . . . . . . . . . . . . . . . . . . . . . . removed use of difundefined . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81, dutch-3.3 General: Rewritten parts of the code to use the new features of babel version 3.1 extrsfrikns: Macro complete rewritten . . . . . . . . . . . . . . . . . . . . . . . . noextrsfrikns: Macro complete rewritten . . . . . . . . . . . . . . . . . . . . . .
81 81 81 81 81 81 81 84 84 81 83 81 81 82 81 83 83 81 82 82 82 83 83 84 83 83 81 81 84 81 82 81 83 83
RVU
dutch-3.3a
to use it . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Moved code to the beginning of the le and added seletlnguge call . . ptionsduth: added seenme and lsonme . . . . . . . . . . . . . . . . . . . . . dutch-3.3b General: Added warning, if no dutch patterns loaded . . . . . . . . . . . . . . . . . . . ptionsduth: added prefenme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . extrsfrikns: modied handling of dospeils and dsnitize . . . . . noextrsfrikns: modied handling of dospeils and dsnitize . . . . dutch-3.4b General: moved denition of llowhyphens, setdlowdox and svedsfdq to elFom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . dutch-3.5 ptionsduth: hedpgenme should be pgenme . . . . . . . . . . . . . . . . . dutch-3.6 General: Update or LaTeX2e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . dutch-3.6c General: Now use dnoptterns to produce the warning . . . . . . . . . . . . . . . . Removed the use of filedte, moved identication after the loading of babel.def . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . dutch-3.7a General: Moved identication code to the top of the le . . . . . . . . . . . . . . . . . Moved the denition of ij and st to glyphsFdef . . . . . . . . . . . . . . . . . . moved the denition of the double quote character at the baseline to glyhpsFdef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Now use helredqduth to dene the functions of the active double quote Removed dlqq, ddlqq, drqq, ddrqq and dieresis . . . . . . . . . . . . . . . Rewrote the code with respect to the active double quote character . . . . . . The support macros for the active double quote have been moved to elFdef Use ddot instead of dwerwve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Use more general mechanism of delredshorthnd . . . . . . . . . . . . . . . . friknshyphenmins: use duthhyphenmins to store the correct values . . . st: Changed the kerning in the faked ij to match the dc-version of it . . . . . . dutch-3.7b General: Added 44 shorthand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . dutch-3.7c ptionsduth: We need the 4 to be active while dening ptionsduth . . dutch-3.7d A ptionsduth: Added proofnme for AMS-L TEX . . . . . . . . . . . . . . . . . . . dutch-3.7f General: Replaced undefined with dundefined and empty with dempty for A consistency with L TEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . dutch-3.8a General: Merged in the denitions for `afrikaans' . . . . . . . . . . . . . . . . . . . . . . Now use ldfdfinish to wrap up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . this needs a more complicated check as `afrikaans' may or may not have its own hyphenation patterns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . noextrsfrikns: Made all denitions dependant on gurrentyption . . . . dutch-3.8b ptionsduth: Use few4ys instead of fewijs . . . . . . . . . . . . . . . . . . . . . . . dutch-3.8c General: Added the 4 shorthand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
dtrem: renamed dumlut to dtrem . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 General: Added svedsfdq macro from germanb and rewrote all quote macros
84 81 82
82 82 83 83
84 82 81 82 81 81 84 84 84 84 81 84 84 84 84 53 84 82 82
81 81 85 82 83 82 84
RVV
dutch-3.8e General: Added a shorthand with the slash character . . . . . . . . . . . . . . . . . . . Forgot to replace `german' by `dutch' when copying denition for 4 . . . . . . Removed empty groups after double quote characters . . . . . . . . . . . . . . . . dtefrikns: use def instead of edef . . . . . . . . . . . . . . . . . . . . . . . . . Use edef to dene tody to save memory . . . . . . . . . . . . . . . . . . . . . . . dteduth: use def instead of edef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Use edef to dene tody to save memory . . . . . . . . . . . . . . . . . . . . . . . dutch-3.8h friknshyphenmins: Now use providehyphenmins to provide a default value ptionsduth: Added glossrynme . . . . . . . . . . . . . . . . . . . . . . . . . . . . dutch-3.8i E: E should use ldllowhyphens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . General: 4G should use ldllowhyphens . . . . . . . . . . . . . . . . . . . . . . . . . . english-2.0a General: Added checking of format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . english-2.1 General: Reect changes in babel 2.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . english-2.1a General: Incorporated Nico's comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . english-2.1b General: merged englishFsty into this le . . . . . . . . . . . . . . . . . . . . . . . . english-2.1c General: xed typo in denition for american language found by Werenfried Spit (nspit@fys.ruu.nl) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . english-2.1d General: Fixed some typos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . english-3.0 General: Modied for babel 3.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Now use dddilet for american . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Now use dddilet if language undened . . . . . . . . . . . . . . . . . . . . . . . english-3.0a General: Removed bug found by van der Meer . . . . . . . . . . . . . . . . . . . . . . . english-3.0b General: Removed glol denitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ptionsenglish: pgenme should be hedpgenme . . . . . . . . . . . . . . . . Removed glol denitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . dtemerin: Removed glol denitions . . . . . . . . . . . . . . . . . . . . . . . . dteenglish: Removed glol denitions . . . . . . . . . . . . . . . . . . . . . . . . . english-3.0c General: Renamed elFsty in elFom . . . . . . . . . . . . . . . . . . . . . . . . . english-3.0d General: removed use of difundefined . . . . . . . . . . . . . . . . . . . . . . . . . . . . english-3.1 General: Rewrote parts of the code to use the new features of babel version 3.1 english-3.1a ptionsenglish: added seenme and lsonme . . . . . . . . . . . . . . . . . . . english-3.1b ptionsenglish: added prefenme . . . . . . . . . . . . . . . . . . . . . . . . . . . english-3.2 ptionsenglish: hedpgenme should be pgenme . . . . . . . . . . . . . . . . english-3.3 A General: Update or L TEX 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
85 84 84 83 83 82 82 84 82 85 85
86 86 86 86
86 86 86 87 86 86 87 88 88 89 88 86 86 86 88 88 88 86
RVW
english-3.3c General: Now use dnoptterns to produce the warning . . . . . . . . . . . . . . . . Removed the use of filedte and moved the identication after the loading of elFdef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . english-3.3d General: Only dene american as a dialect when no separate patterns have been loaded . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . english-3.3e A ptionsenglish: Added proofnme for AMS-L TEX . . . . . . . . . . . . . . . . . english-3.3g General: Allow british as the name of the UK patterns . . . . . . . . . . . . . . . . . Allow USenglish as the name of the american patterns . . . . . . . . . . . . . . . . Replaced undefined with dundefined and empty with dempty for consisA tency with L TEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ptionsenglish: Construct control sequence on the y . . . . . . . . . . . . . . . dteenglish: Construct control sequence on the y . . . . . . . . . . . . . . . . . . . noextrsenglish: Construct control sequences on the y . . . . . . . . . . . . . . . english-3.3h General: Moved the denition of ttode right to the beginning. . . . . . . . Now use ldfdfinish to wrap up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Now use vdfsnit to perform initial checks . . . . . . . . . . . . . . . . . . . . . . . . english-3.3i dtemerin: use def instead of edef . . . . . . . . . . . . . . . . . . . . . . . . . . Use edef to dene tody to save memory . . . . . . . . . . . . . . . . . . . . . . . dteenglish: use def instead of edef . . . . . . . . . . . . . . . . . . . . . . . . . . . Use edef to dene tody to save memory . . . . . . . . . . . . . . . . . . . . . . . english-3.3j General: Also allow american english hyphenation patterns to be used for `english' Ensure that ldenglish is alway dened . . . . . . . . . . . . . . . . . . . . . . . . ptionsenglish: Added glossrynme . . . . . . . . . . . . . . . . . . . . . . . . . . dteenglish: Make sure that the value of tody is correct for both options `american' and `USenglish' . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . english-3.3k General: Added support for canadian . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86, english-3.3l General: Added missing backslash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . english-3.3m englishhyphenmins: Added default for setting of hyphenmin parameters . . . english-3.3n General: Added support for australian and newzealand . . . . . . . . . . . . . . . 86, dteustrlin: Add australian date . . . . . . . . . . . . . . . . . . . . . . . . . . . . . dteenglish: Added support for `Australian' and `Newzealand' . . . . . . . . . . english-3.3o General: Make sure that british patterns are used if they were loaded . . . . . . . dteenglish: Explicitly choose the UK form of date . . . . . . . . . . . . . . . . . . esperant0-1.4o noextrsespernto: Moved the check for math to babel.def . . . . . . . . . . . . . esperanto-1.0a General: Renamed elFsty in elFom . . . . . . . . . . . . . . . . . . . . . . . . . esperanto-1.0b General: Removed use of mketletter . . . . . . . . . . . . . . . . . . . . . . . . . . . esperanto-1.1 General: Added a warning when no hyphenation patterns were loaded. . . . . . . Brought up-to-date with babel 3.2a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
86 86
87 88 86 87 86 88 88 89 86 89 86 89 89 88 88 86 87 88 88 87 87 87 87 89 88 87 88 77 76 76 76 76
RWH
ptionsespernto: Added seenme, lsonme and prefenme . . . . . . 76 esperanto-1.2 General: Included code from esperntFsty . . . . . . . . . . . . . . . . . . . . . . . . . . 76 esperanto-1.3 ptionsespernto: hedpgenme should be pgenme . . . . . . . . . . . . . . 76 Repaired a number of mistakes, indicated by D. Ederveen . . . . . . . . . . . . . 76 dteespernto: Removed the capitals from tody . . . . . . . . . . . . . . . . . . . 77 esperanto-1.4a A General: Updated for L TEX 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 ptionsespernto: added missing closing brace . . . . . . . . . . . . . . . . . . . . . 76 esperanto-1.4d General: Removed the use of filedte, moved Identication after loading of elFdef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 Use dnoptterns for the warning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 esperanto-1.4e General: Moved identication code to the top of the le . . . . . . . . . . . . . . . . . 76 esperanto-1.4f General: Corrected typos (PR1652) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 esperanto-1.4g A ptionsespernto: Added proofnme for AMS-L TEX . . . . . . . . . . . . . . . 76 esperanto-1.4h General: Added a few shorthands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 esperanto-1.4i General: Moved the denition of ttode right to the beginning. . . . . . . . 76 Now use ldfdfinish to wrap up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 Now use vdfsnit to perform initial checks . . . . . . . . . . . . . . . . . . . . . . . . 76 Replaced undefined with dundefined and empty with dempty for consisA tency with L TEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 ptionsespernto: Replaced `Proof' by `Pruvo' PR 2207 . . . . . . . . . . . . . . 76 esperanto-1.4j General: xed typo in table caption (funtion instead of function) . . . . . . . . . . 76 esperanto-1.4k dteespernto: Removed Rthe use of edef again . . . . . . . . . . . . . . . . . . . 77 Use edef to dene tody to save memory . . . . . . . . . . . . . . . . . . . . . . . 77 esperanto-1.4l General: Added a shorthand denition on system level . . . . . . . . . . . . . . . . . . 77 esperanto-1.4n noextrsespernto: Added a check for math mode to the denition of the shorthand character . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 esperanto-1.4p ptionsespernto: Added glossrynme . . . . . . . . . . . . . . . . . . . . . . . . . 76 esperanto-1.4q ptionsespernto: Added translation for Glossary . . . . . . . . . . . . . . . . . . 76 esper: Removed the extra level of expansion for more than ve items, as was A done in L TEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 esperanto-1.4t esper: Added the missing `r' in these macros . . . . . . . . . . . . . . . . . . . . . . . . 78 estonian-1.0b General: corrected typos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279 estonian-1.0c A ptionsestonin: Added proofnme for AMS-L TEX . . . . . . . . . . . . . . . 280 estonian-1.0d General: The second argument was missing in the denition of some of the doublequote shorthands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
RWI
case and space factor codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281 estonian-1.0e General: Now use ldfdfinish to wrap up . . . . . . . . . . . . . . . . . . . . . . . . . 282 Now use vdfsnit to perform initial checks . . . . . . . . . . . . . . . . . . . . . . . 279 Replaced undefined with dundefined and empty with dempty for consisA tency with L TEX, moved the denition of ttode right to the beginning. 279 estonian-1.0f General: Removed empty groups after double quote and guillemot characters 282 dteestonin: use def instead of edef . . . . . . . . . . . . . . . . . . . . . . . . . 280 Use edef to dene tody to save memory . . . . . . . . . . . . . . . . . . . . . . 280 estonian-1.0g General: use ldtdone instead of ldnext . . . . . . . . . . . . . . . . . . . . . . 281 estonian-1.0h ptionsestonin: Added glossrynme . . . . . . . . . . . . . . . . . . . . . . . . 280 estoninhyphenmins: Now use providehyphenmins to provide a default value 281 nnish-1.0a General: Renamed elFsty in elFom . . . . . . . . . . . . . . . . . . . . . . . . 258 nnish-1.0b General: Removed use of difundefined . . . . . . . . . . . . . . . . . . . . . . . . . . 258 nnish-1.1 General: Added a warning when no hyphenation patterns were loaded. . . . . . 258 Brought up-to-date with babel 3.2a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258 ptionsfinnish: hedpgenme should be pgenme . . . . . . . . . . . . . . . 258 Added seenme, lsonme and prefenme . . . . . . . . . . . . . . . . . . . . 258 nnish-1.1.2 ptionsfinnish: Added translations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258 nnish-1.2 A General: Update for L TEX 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258 nnish-1.3c General: Now use dnoptterns to produce the warning . . . . . . . . . . . . . . . 258 Removed the use of filedte and moved identication after the loading of elFdef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258 nnish-1.3d General: Removed a few references to elFom . . . . . . . . . . . . . . . . . . . . . 258 nnish-1.3e dtefinnish: Added a`.' after the number of the day . . . . . . . . . . . . . . . . . 259 nnish-1.3f finishhyphenmins: use finnishhyphenmins to store the correct values . . . 260 noextrsfinnish: Added the setting of frenhsping . . . . . . . . . . . . . . 259 Added the setting of more hyphenation parameters, according to PR1027 . 259 nnish-1.3g E: Added change of E . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260 A ptionsfinnish: Added proofnme for AMS-L TEX . . . . . . . . . . . . . . . . 258 noextrsfinnish: Added the active double quote . . . . . . . . . . . . . . . . . . . 259 nnish-1.3h ptionsfinnish: Added nnish word for `Proof' . . . . . . . . . . . . . . . . . . . 258 nnish-1.3i General: Now use ldfdfinish to wrap up . . . . . . . . . . . . . . . . . . . . . . . . . 260 Now use vdfsnit to perform initial checks . . . . . . . . . . . . . . . . . . . . . . . 258 Replaced undefined with dundefined and empty with dempty for consisA tency with L TEX, moved the denition of ttode right to the beginning. 258
ptionsestonin: Added translation of `Proof' . . . . . . . . . . . . . . . . . . . . 280 noextrsestonin: Removed the code that changes category, lower case, uper
RWP
nnish-1.3k
characters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . nnish-1.3m noextrsfinnish: Added misisng closing brace . . . . . . . . . . . . . . . . . . . . . nnish-1.3n E: llowhyphens should have been ldllowhyphens . . . . . . . . . . . . . . ptionsfinnish: Added glossrynme . . . . . . . . . . . . . . . . . . . . . . . . . finishhyphenmins: Now use providehyphenmins to provide a default value noextrsfinnish: Deactive shorthands ouside of Finnish . . . . . . . . . . . . . . nnish-1.3o ptionsfinnish: Provided translation for Glossary . . . . . . . . . . . . . . . . . nnish-1.3p noextrsfinnish: 4a should also use ldllowhyphens . . . . . . . . . . . . . nnish-1.3q General: Small documentation x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
dtefinnish: use def instead of edef . . . . . . . . . . . . . . . . . . . . . . . . . . 259 Use edef to dene tody to save memory . . . . . . . . . . . . . . . . . . . . . . 259 noextrsfinnish: Removed empty groups after double quote and guillemot
260 260
galician 4.3 General: FFF is removed and instead dots and dots are changed, by redening ldot, dot and textellipsis or dots . . . . . . . . . . . . . . . . . . . . . . 213 sin, rsin and sinh are set to produce the same as sen, rsen and senh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215 Added ms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212 cosec and senh moved from gliinopertors to the main group . . . . . 215 Removed the shorthand for . It existed in medieval galician-portuguese, but that does not seem a reason to be included here. . . . . . . . . . . . . . . . . . . 209 Removed the shorthands "er and "ER, they don't exist in galician. . . . . . . 220 Removed the Spanish et sign. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 Set the default to unspedopertors . . . . . . . . . . . . . . . . . . . . . . . . . . 215 Set the default to do . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210 german-2.6l General: Making germanb behave like german needs some more work besides dening gurrentyption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 germanb-1.0a General: Incorporated Nico's comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 germanb-1.0b General: xed typo in denition for austrian language found by Werenfried Spit nspitdfysFruuFnl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 germanb-1.0c General: Fixed some typos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 germanb-1.1 General: When using PostScript fonts with the Adobe fontencoding, the dieresisaccent is located elsewhere, modied code . . . . . . . . . . . . . . . . . . . . . . . . 90 noextrsustrin: Added dieresis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 germanb-1.1a General: Modied the documentation somewhat . . . . . . . . . . . . . . . . . . . . . . 90 germanb-2.0 General: Modied for babel 3.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 Now use dddilet for austrian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 Now use dddilet if language undened . . . . . . . . . . . . . . . . . . . . . . . 91 germanb-2.0a General: Removed some problems in change log . . . . . . . . . . . . . . . . . . . . . . 90
RWQ
germanb-2.0b
germanb-2.1 General: Removed bug found by van der Meer . . . . . . . . . . . . . . . . . . . . . . . 90 germanb-2.2 General: Removed global assignments, brought uptodate with germnFtex v2.3d 90 ptionsustrin: pgenme should be hedpgenme . . . . . . . . . . . . . . . 91 Removed glol denitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 extrsustrin: Save all redened macros . . . . . . . . . . . . . . . . . . . . . . . . . 92 noextrsustrin: Try to restore everything to its former state . . . . . . . . . . 92 germanb-2.2a General: Renamed elFsty in elFom . . . . . . . . . . . . . . . . . . . . . . . . . 90 germanb-2.2d General: Removed use of difundefined . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 germanb-2.3 General: Rewritten parts of the code to use the new features of babel version 3.1 90 germanb-2.3e General: Added svedsfdq macro and rewrote all quote macros to use it . . . 93 Added warning, if no german patterns loaded . . . . . . . . . . . . . . . . . . . . . . 91 Brought up-to-date with germnFtex v2.3e (plus some bug xes) [br] . . . . . 90 ptionsustrin: Added prefenme, seenme and lsonme . . . . . . . 91 dtegermn: Added monthdgermn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 germanb-2.3h General: moved denition of llowhyphens, setdlowdox and svedsfdq to elFom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 germanb-2.4 ptionsustrin: hedpgenme should be pgenme . . . . . . . . . . . . . . . 91 germanb-2.5 A General: Update or L TEX 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 germanb-2.5c General: Now use dnoptterns to produce the warning . . . . . . . . . . . . . . . . 91 Removed the use of filedte and moved the identication after the loading of elFdef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 germanb-2.6a General: umlutlow and umluthigh moved to glyphsFdtx, as well as newumlut (now lowerdumlut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 Moved all quotation characters to glyphsFdtx . . . . . . . . . . . . . . . . . . . . . . 93 Moved the identication to the top of the le . . . . . . . . . . . . . . . . . . . . . . 90 Rewrote the code that handles the active double quote character . . . . . . . . 90 Use ddot instead of dwerwve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 noextrsustrin: All the code to handle the active double quote has been moved to elFdef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 Removeed Q as it is no longer in germnFldf . . . . . . . . . . . . . . . . . . . . . . 92 use germnhyphenmins to store the correct values . . . . . . . . . . . . . . . . . . . 92 germanb-2.6b A ptionsustrin: Added proofnme for AMS-L TEX . . . . . . . . . . . . . . . . 91 germanb-2.6c General: added the llowhyphens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 Moved germnddqddis to babel.def, calling it lddis . . . . . . . . . . . . . 93 noextrsustrin: Use decimal number instead of hat-notation as the hat may be activated . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 germanb-2.6d General: Moved the denition of ttode right to the beginning. . . . . . . . 90
extrsustrin: added some comment chars to prevent white space . . . . . . 92 noextrsustrin: added some comment chars to prevent white space . . . . . 92
RWR
Now use ldfdfinish to wrap up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 Now use vdfsnit to perform initial checks . . . . . . . . . . . . . . . . . . . . . . . . 91 Replaced undefined with dundefined and empty with dempty for consisA tency with L TEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 ptionsustrin: Construct control sequence on the y . . . . . . . . . . . . . . 91 noextrsustrin: Construct control sequence extrsgermn or extrsustrin on the y . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 germanb-2.6f General: Copied the coding for 4f from german.dtx version 2.5d . . . . . . . . . . 94 use instead of , removed braces after ss . . . . . . . . . . . . . . . . . . . . . 93 k: Now use shorthndon and shorthndoff . . . . . . . . . . . . . . . . . . . . . . 94 dteustrin: use def instead of edef . . . . . . . . . . . . . . . . . . . . . . . . . . 92 Use edef to dene tody to save memory . . . . . . . . . . . . . . . . . . . . . . . 92 dtegermn: use def instead of edef . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 Use edef to dene tody to save memory . . . . . . . . . . . . . . . . . . . . . . . 92 germanb-2.6i noextrsustrin: Deactivate shorthands ouside of German . . . . . . . . . . . . 92 germanb-2.6j ptionsustrin: Added glossrynme . . . . . . . . . . . . . . . . . . . . . . . . . 91 noextrsustrin: Now use providehyphenmins to provide a default value 92 germanb-2.6k noextrsustrin: Turn frenchspacing on, as in germnFsty . . . . . . . . . . . . 93 germanb-2.6m General: Correted a typo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 greek-1.0b General: Moved the denition of ttode right to the beginning . . . . . . . 109 Now use ldfdfinish to wrap up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 Now use vdfsnit to perform initial checks . . . . . . . . . . . . . . . . . . . . . . . 110 Replaced undefined with dundefined and empty with dempty for consisA tency with L TEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 textgreek: Added a level of braces to keep encoding change local . . . . . . . . 111 greek-1.0c greekdtilde: Added command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 greek-1.1 qrtody: Added macro qrtody . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 greek-1.1a dtegreek: Fixed typo, yktwr9iou instead of yktor9iou . . . . . . . . . . . . 112 greekdelph: removed two superuous @'s which made dlph undened . . 114 greek-1.1b noextrsgreek: Added setting of uodes (after kdgreekFsty) . . . . . . . . . 116 Added shorthand for hrPSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 Made tilde expand to a tilde with tode IP . . . . . . . . . . . . . . . . . . . . 117 greek-1.1c General: Added a couple of symbols, needed for greeknumerl . . . . . . . . . . 117 noextrsgreek: xed two typos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 greek-1.1d dtegreek: Macro grdmonth now produces the name of the month . . . . . . 112 greek-1.1e General: Added caption name for proof . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 Most symbols are removed and are now dened in package grsymb . . . . . . 117 grdmonth: Macro added . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 noextrsgreek: Added lowercase code for v . . . . . . . . . . . . . . . . . . . . . . . 116 Added uppercase code for special letter v. Uppercase code for accents is now Wf, instead of ff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
RWS
Shorthand is changed. Active character is now hrISW . . . . . . . . . . . . . 116 greek-1.2 General: Added caption names for polutonikogreek . . . . . . . . . . . . . . . . . 112 Classical Greek is now a dialect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 grddgreek: Added macro dtepolutonikogreek . . . . . . . . . . . . . . . . . . . 112 Added macro grdldmonth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 noextrsgreek: Added lowercase codes for modern greek . . . . . . . . . . . . 116 Added uppercase codes for modern Greek. The old codes are now for Polutoniko Greek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 Denitions for modern Greek are now the denitions of Polutoniko Greek 116 greek-1.2a General: lename lgrenFdef now lowercase . . . . . . . . . . . . . . . . . . . . . . . . 111 dtegreek: Use edef to dene tody . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 noextrsgreek: Need shorthand to exist for monotoniko Greek, not polutoniko Greek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 greek-1.2b General: Classical Greek is now called Polutoniko Greek. The previous name was at least misleading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 dtegreek: use def instead of edef . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 grdnumdiii: No longer use in the expansion of the grdnumdx macros as they ned to be expandable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 greek-1.2c General: Package grsymb has been eliminated because the CB fonts v2.0 do not inlcude certain symbols and so the remaining symbol denitions have been moved here . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 This version conforms to version 2.0 of the CB fonts and consequently we added a few new symbol-producing commands . . . . . . . . . . . . . . . . . . . . . . . . . 109 greek-1.2e greekdomn: Moved redenition of dromn back to the language specic le 114 greek-1.2f ltxdmp: Now switch the denition of 8 from extrsgreek . . . . . . . . . . . 115 greek-1.3a General: polutoniko is now an attribute to Greek, no longer a `dialect' . . . . . 109 grddgreek: removed macro dtepolutonikogreek . . . . . . . . . . . . . . . . . 112 greek-1.3b greeknumerl: Added expndfter and numer (PR3000) in order to make a counter an acceptable argument . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 greek-1.3c ltxdmp: Added a missing opening brace . . . . . . . . . . . . . . . . . . . . . . . . . . 115 greek-1.3d General: Fixed typo, l9epe ep9ish instead of l9pe ep9ish . . . . . . 111, 112 greekdomn: dromn and domn need to be added to extrspolutonikogreek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 greek-1.3e greekdomn: dromn and domn need not be in extrspolutonikogreek when they are already in extrsgreek . . . . . . . . . . . . . . . . . . . . . . . . . 114 noextrsgreek: extrsgreek and extrspolutonikogreek should be complementary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 greek-1.3f General: Added some code to make older documents work . . . . . . . . . . . . . . 110 greek-1.3g General: noextrspolutonikogreek was missing . . . . . . . . . . . . . . . . . . . . 110 greek-1.3h ptionsgreek: Added glossrynme . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
RWT
greek-1.3i
111
correctly in headers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 greek-1.3j noextrsgreek: Because other languages might make the caret active, we can't use the double caret notation here . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 Ues the tilde as an alias for character 159 . . . . . . . . . . . . . . . . . . . . . . . . 116 greek-1.3k greekdtilde: Make sure the character `' is not active during the denition of greekdtilde . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 textgreek: Added levevmode as was done with ltintext . . . . . . . . . . 111 greek-1.3l A General: Commented these lines out as this change has made it into L TEX itself. 117 heb209 1.0a General: Initial version. Provides hebrew_newcode, hebrew_oldcode and heA brew_p style les for L TEX 2.09 (by Boris Lavva) . . . . . . . . . . . . . . . . . 444 hebfdd-1.0a General: Initial version. Supports only 7-bit LHE font encoding and all available Hebrew TEX fonts (by Boris Lavva) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427 hebfdd-1.0b General: xed lhecmr.fd to use oldjaf10 for a slanted font available Hebrew TEX fonts (by Tzafrir Cohen) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427 hebfdd-1.1a General: Adding 8-bit HE8 fonts. Note that most of them cannot be distributed A with hebL TEX (by Tzafrir Cohen) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427 hebfdd-1.2a General: Adding congurations for the Culmus fonts, currently 0.90 (by Tzafrir Cohen) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427 hebfdd-1.2b General: Reinstated the test whether LHE or HE8 is to be used . . . . . . . . . . 427 hebinp 1.0a General: Initial version. Provides 8859-8, cp862, cp1255, and old 7-bit input encodings (by Boris Lavva) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419 hebinp 1.1 General: Renamed hebrew letters: lef to helef etc. (by Tzafrir Cohen) 419 hebinp 1.1a General: Renamed CP1255 nikud pth to hepth et. Added the macro hislexikud - may not be a good idea (by Tzafrir Cohen) . . . . . . . . . . 419 hebrew-1.2c General: Typo's in the docstrip guards made HE8nachlieli.fd unusable . . . . . 427 hebrew-2.0b ptionsherew: Added glossrynme . . . . . . . . . . . . . . . . . . . . . . . . . . 379 hebrew-2.3h herewenoding: Make LHE the default encoding for compatibility reasons 379 hebrew 0.1 A General: Preliminary L TEX Hebrew option (by Sergio Fogel) . . . . . . . . . . . . 377 hebrew 0.2 General: Corrections and additions (by Rama Porrat) . . . . . . . . . . . . . . . . . 377 hebrew 0.6 General: Additions (by Yael Dubinsky) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377
ptionsgreek: The nal sigma in all names appears as `s' instead of `c'. . . 111 noextrsgreek: uc code of `v' is switched to V so that mixed text appears
RWU
hebrew 1.2 General: Bilingual tables, penalties, documentation and more changes (by Yaniv Bargury) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377 hebrew 1.30 General: Font selection, various (by Alon Ziv) . . . . . . . . . . . . . . . . . . . . . . . 377 hebrew 1.31 General: Bug xes (by Alon Ziv) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377 hebrew 1.32 General: Made font-change command for numbers `protet'ed (by Alon Ziv) 377 hebrew 1.33 General: Made refstepounter work using dltor (by Alon Ziv) . . . . . . . . 377 hebrew 1.34 General: Moved font loading to another le. Added minse. Made all text A strings be produced by control codes (similar to L TEX2.09 Mar '92). Fixed noindent (by Alon Ziv) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377 hebrew 1.35 General: Moved the texts to a le selected by the current encoding (by Alon Ziv) 377 hebrew 1.36 General: Use TEX tricks to redene the without keeping old denitions. Use only deng for direction/font change (removed dltor). Switched from use of minse to code taken from babel system (by Alon Ziv) . . . . . . . . 377 hebrew 1.37 General: Use dddround in dening font size commands. Small bug xes (by Alon Ziv) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377 hebrew 1.38 General: everypr changed so that noindent works unmodied (by Alon Ziv, thanks to Chris Rowley) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377 hebrew 1.39 General: Redened primitive sectioning commands. Changed inlude so it nds Fh, Fxet, and Fltx les (no extension needed). Reinstated use of dltor (by Alon Ziv) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377 hebrew 1.40 General: Added the drkets hack (by Alon Ziv) . . . . . . . . . . . . . . . . . . 377 hebrew 1.41 General: Reworked towards using NFSS2. Changed some macro names to be more logical: renamed dltor to dnumer, deng to dltin, and (in herewFldf) dhe to dherew (by Alon Ziv) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377 hebrew 1.42 General: Made list environments work better. Fixed thebibliography environment (by Alon Ziv) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377 hebrew 2.0a A General: Completely rewritten for L TEX 2 and babel support. Various input and font encodings (with NFSS2) are supported too. The original herewFsty is divided to a number of packages and denition les for better readability and extensibility. Added some user- and code-level documentation inside the A Fdtx and Ffdd les, and L TEX-driven installation with herewFins (by Boris Lavva) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377 hebrew 2.0b herewhyphenmins: Now use providehyphenmins to provide a default value 379 hebrew 2.1 General: corrections from Sivan Toledo: sender name in letter, and section name in headings. (by Tzafrir Cohen) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377
RWV
hebrew 2.2 General: renamed hebrew letters to heb* (e.g.: alef renamed to hebalef) (by Tzafrir Cohen) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377 hebrew 2.3 General: added several diflssloded{slides} to allow the use of the slides class. (by Tzafrir Cohen) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377 hebrew 2.3a General: The documentation should now be built ne (broken since at least 2.1, and probably 2.0) (by Tzafrir Cohen) . . . . . . . . . . . . . . . . . . . . . . . . . . . 377 hebrew 2.3b General: minor clean-ups. The documentation builds now with no warnings. Also removed from the caption macro (added in 2.1) Added internal densuredv and densured (Is there a real need for them? Maybe should they be exposed?) (by Tzafrir Cohen) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377 hebrew 2.3c General: a temporary x to the gim macro. Should be replaced by stu from hebcal. (by Tzafrir Cohen) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377 hebrew 2.3d General: Initial support for the prosper class. Added rinorl . (by Tzafrir Cohen) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377 hebrew 2.3e General: Removing hebtech from this distriution (not relevant to babel), added reltexinoding. some docs cleanup (by Tzafrir Cohen) . . . . . . . . . . . 377 hebrew 2.3f General: redened list instead of redening every environment that uses it. some pscolor handling, removed HeblatexEncoding (don't use 2.3e) (by Tzafrir Cohen) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377 icelandic-1.1 General: Added denitions for old icelandic. . . . . . . . . . . . . . . . . . . . . . . . . 242 icelandic-1.1a General: Added denitions for formatting numbers in Icelandic and some extra utilities. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243 icelandic-1.1b General: Added references to various publications used . . . . . . . . . . . . . . . . 243 icelandic-1.1c General: Removed code already present in elFdef . . . . . . . . . . . . . . . . . 238 dteielndi: use def instead of edef . . . . . . . . . . . . . . . . . . . . . . . . 241 Use edef to dene tody to save memory . . . . . . . . . . . . . . . . . . . . . . 241 icelandic-1.1e noextrsielndi: Deactivate shorthands ouside of Icelandic . . . . . . . . . . 240 icelandic-1.1f ptionsielndi: Added glossrynme . . . . . . . . . . . . . . . . . . . . . . . . 240 noextrsielndi: Now use providehyphenmins to provide a default value 240 icelandic-1.1g ptionsielndi: Added translation for Glossary . . . . . . . . . . . . . . . . . 240 Only use 7-bit ASCII characters in order to keep the texts input encoding independant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240 irish-1.0b General: Corrected typo (PR1652) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 irish-1.0c A ptionsirish: Added proofnme for AMS-L TEX . . . . . . . . . . . . . . . . . . 105 irish-1.0e General: Now use ldfdfinish to wrap up . . . . . . . . . . . . . . . . . . . . . . . . . 106
RWW
Now use vdfsnit to perform initial checks . . . . . . . . . . . . . . . . . . . . . . . 105 Replaced undefined with dundefined and empty with dempty for consisA tency with L TEX, moved the denition of ttode right to the beginning. 105 irish-1.0f ptionsirish: Added missing translations provided in PR 2719 . . . . . . . . 105 dteirish: use def instead of edef . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 Use edef to dene tody to save memory . . . . . . . . . . . . . . . . . . . . . . 106 irishhyphenmins: Added denition of hyphenmins . . . . . . . . . . . . . . . . . . 105 irish-1.0h ptionsirish: Added glossrynme . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 irishhyphenmins: Now use providehyphenmins to provide a default value 105 italian-0.99 General: First version, from english.doc . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 italian-1.0 General: Modied for babel 3.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 Now use dddilet if language undened . . . . . . . . . . . . . . . . . . . . . . 153 italian-1.0a General: removed typo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 italian-1.0b General: Removed bug found by van der Meer . . . . . . . . . . . . . . . . . . . . . . 152 italian-1.0c ptionsitlin: pgenme should be hedpgenme . . . . . . . . . . . . . . . 153 Removed glol denitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 dteitlin: Removed glol denitions . . . . . . . . . . . . . . . . . . . . . . . . 154 italian-1.0d ptionsitlin: `contiene' substitued by `Allegati' as suggested by Marco Bozzo (fyydgixw). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 italian-1.0e General: Renamed elFsty in elFom . . . . . . . . . . . . . . . . . . . . . . . . 152 italian-1.0h General: Removed use of difundefined . . . . . . . . . . . . . . . . . . . . . . . . . . 153 italian-1.1 General: Added a warning when no hyphenation patterns were loaded. . . . . . 153 Brought up-to-date with babel 3.2a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 ptionsitlin: hedpgenme should be pgenme . . . . . . . . . . . . . . . 153 Added seenme, lsonme and prefenme . . . . . . . . . . . . . . . . . . . . 153 italian-1.2 General: Update for LaTeXe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 italian-1.2b ptionsitlin: Changed some of the words following suggestions from Claudio Beccari . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 itlinhyphenmins: Added setting of left and righthyphenmin according to Claudio Beccari's suggestion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 noextrsitlin: Added setting of club- and widowpenalty . . . . . . . . . . . . 154 Added setting of nalhyphendemerits . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 italian-1.2e General: Now use dnoptterns to produce the warning . . . . . . . . . . . . . . . 153 Removed the use of filedte and moved identication after the loading of elFdef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 italian-1.2f General: Updated for babel 3.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 italian-1.2g A ptionsitlin: Added proofnme for AMS-L TEX . . . . . . . . . . . . . . . . 153
SHH
italian-1.2h
italian-1.2i General: Now use ldfdfinish to wrap up . . . . . . . . . . . . . . . . . . . . . . . . . 161 Now use vdfsnit to perform initial checks . . . . . . . . . . . . . . . . . . . . . . . 153 Replaced undefined with dundefined and empty with dempty for consisA tency with L TEX, moved the denition of ttode right to the beginning. 152 italian-1.2j General: Added braces around second arg of vdfsnit . . . . . . . . . . . . . . . . 153 italian-1.2l General: Added unit, p, and ped macros . . . . . . . . . . . . . . . . . . . . . . . 152 Added useful macros for fullling ISO 31/XI regulations . . . . . . . . . . . . . 157 noextrsitlin: Changed example begl'italiani (obsolete spelling) with another, nell'altezza, that behaves the same way . . . . . . . . . . . . . . . . . . . 154 italian-1.2m General: Added support for etymological hyphenation . . . . . . . . . . . . . . . . . 152 Support for etymological hyphenation . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 itlinhyphenmins: Now use providehyphenmins to provide a default value 154 italian-1.2n General: Added several commands for the caporali double quotes and for simplifying the accented vowel input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 Completely modied etymological hyphenation facility . . . . . . . . . . . . . . . 152 Completely new etymological hyphenation facility . . . . . . . . . . . . . . . . . . 155 italian-1.2o General: Added glossrynme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 italian-1.2p General: Removed redenition of ddd since its functionality has been introduced into the kernel of LaTeX 2001/06/01 . . . . . . . . . . . . . . . . . . 152, 158 italian-1.2q General: Added test for avoiding conict with package units.sty; adjusted caporali functionality, since the previous one did not work with the standard (although obsolete) slides class le . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 Redened the caporali machinery so as to avoid incompatibilities with the slides class, as there are no Cyrillic slides fonts as there are for Latins script 158 ped: Added testing for avoiding conicts with the units.sty package . . . . . . 157 italian-1.2r itdwm: Added norek to itddwm and corrected itdnext . . . . . . . . . . 156 italian-1.2s General: Corrected email of CB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 italian-1.2t noextrsitlin: Added dlupenlty to the italian specic settings, otherwise any sectioning command restores it to the default value valid for english and most other languages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 latin-0.99 General: Added shortcuts for breve, macron, and etymological hyphenation (CB) First version, from italian.dtx (CB) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . latin-1.2 General: Added suggestions from Krzysztof Konrad elechowski (CB) . . . . . latin-2.0 General: Completely new etymological hyphenation (CB) . . . . . . . . . . . . . . latin-2.0a General: Revised by JB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ptionsitlin: Added translation of `Proof' . . . . . . . . . . . . . . . . . . . . . noextrsitlin: Now give the apostrophe a lowercase code . . . . . . . . . . .
153 154
SHI
ltinhyphenmins: Now use providehyphenmins to provide a default value 166 latin-2.0b General: Simplied shortcuts for etymological hyphenation; modied breve and macro shortcuts; language attribute medieval declared . . . . . . . . . . . . . . 163 latin-2.0c General: Restored caret and equals sign category codes before exiting . . . . . 163 latin-2.0d General: Restored caret and equals sign category codes before exiting . . . . . 163 latin-2.0e General: Introduced the language attribute `withprosodicmarks'; modied use of breve and macron shortcuts in order to avoid possible conicts with other packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 latin-2.0f dteltin: Added a comment character to prevent unwanted space . . . . . . 165 latin-2.0g General: Added a norek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 vtinwrksyff: Added two commands . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 rosodiwrks: changed llowhyphens to ldllowhyphens . . . . . . . . . 168 latin-2.0h vtinwrksyff: Added missing backslash . . . . . . . . . . . . . . . . . . . . . . . . . 169 Removed the setting of vtinwrksyff from extrsltin . . . . . . . . . . 169 latin-2.0i General: Corrected the dlupenlty problem . . . . . . . . . . . . . . . . . . . . . 163 latin-2.0j General: Added a missing comment char and a missing closing brace . . . . . . 163 latin-2.0k vtinwrksyff: Set the vtinwrksFFF commands equal to the rosodiwrksFF commands for compatibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 rosodiwrks: Restore category codes rather then return them to their TEX default values. And do that outside of the command denition . . . . . . . . 169 Use tive instead of 13 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 rosodiwrksyff: Save current category codes of equals sign and caret in order to restore them later . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 lsorbian-0.1 General: First version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368 lsorbian-1.0b A ptionslsorin: Added proofnme for AMS-L TEX . . . . . . . . . . . . . . . 368 lsorbian-1.0d General: Now use ldfdfinish to wrap up . . . . . . . . . . . . . . . . . . . . . . . . . 369 Now use vdfsnit to perform initial checks . . . . . . . . . . . . . . . . . . . . . . . 368 Replaced undefined with dundefined and empty with dempty for consisA tency with L TEX, moved the denition of ttode right to the beginning. 368 lsorbian-1.0e newdtelsorin: use def instead of edef . . . . . . . . . . . . . . . . . . . . . . . 369 Use edef to dene tody to save memory . . . . . . . . . . . . . . . . . . . . . . 369 lsorbian-1.0f ptionslsorin: Added glossrynme . . . . . . . . . . . . . . . . . . . . . . . . 368 lsorbian-1.0g General: Make this work for more than one option name . . . . . . . . . . . . . . . 369 Make this work for more than one option name. . . . . . . . . . . . . . . . . . . . 369 This le can be loaded under more than one name. . . . . . . . . . . . . . . . . . 368 ptionslsorin: Make this work for more than one option name. . . . . . . 368 newdtelsorin: Make this work for more than one option name. . . . . . . . 369 olddtelsorin: Make this work for more than one option name. . . . . . . . 369
SHP
magyar-1.0a General: Renamed elFsty in elFom . . . . . . . . . . . . . . . . . . . . . . . . 261 magyar-1.0b General: Removed use of difundefined . . . . . . . . . . . . . . . . . . . . . . . . . . 262 magyar-1.1 General: Added a warning when no hyphenation patterns were loaded. . . . . . 262 Brought up-to-date with babel 3.2a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 ptionsmgyr: hedpgenme should be pgenme . . . . . . . . . . . . . . . . 263 Added seenme, lsonme and prefenme . . . . . . . . . . . . . . . . . . . . 263 magyar-1.1c ptionsmgyr: Added translations, xed typos . . . . . . . . . . . . . . . . . . . . 263 ondtemgyr: The date number should not be followed by a dot. . . . . . . . 264 magyar-1.1d General: Further spelling corrections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 dtemgyr: Rewritten to produce the correct date format . . . . . . . . . . . . . 263 ondtemgyr: Renamed from dtemgyr; nolonger redenes tody. . . . 264 magyar-1.1e General: Still more spelling corrections . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 magyar-1.2 A General: Update for L TEX 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 magyar-1.3c General: Now use dnoptterns to produce the warning . . . . . . . . . . . . . . . 262 Removed the use of filedte and moved identication after the loading of elFdef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 magyar-1.3e A ptionsmgyr: Added proofnme for AMS-L TEX . . . . . . . . . . . . . . . . . 263 magyar-1.3f ptionsmgyr: translated Proof and replaced some translations . . . . . . . 263 magyar-1.3g General: Replaced undefined with dundefined and empty with dempty for A consistency with L TEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 magyar-1.3h General: Now use ldfdfinish to wrap up . . . . . . . . . . . . . . . . . . . . . . . . . 278 Now use vdfsnit to perform initial checks . . . . . . . . . . . . . . . . . . . . . . . 262 magyar-1.4a General: order inverting in headings/titles/captions; denite article handling; active char for special hyphenation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 ptionsmgyr: the initial letter of fejezet, tblzat, rsz, lsd changed to lowercase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263 dtemgyr: Use numerdy instead of ifse construct . . . . . . . . . . . . 263 magyar-1.4b ptionsmgyr: Added glossrynme . . . . . . . . . . . . . . . . . . . . . . . . . . 263 magyar-1.4c General: Make sure that the grave accent has catcode 12 before it is made tive 277 magyar-1.4d General: Corrected checksum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 The else clause got outside of the if statement, breaking the Hungarian support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262 magyar-1.4f hundtempdef: Added defsfedtivesflse as a x for PR3426 . . . . . . 272 magyar-1.4g General: Further change to make it work when neither ldmgyr nor ldhugrin are dened . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
SHQ
magyar-1.4h magyar-1.4i
263
fnumdtle: Use norekspe instead of tilde . . . . . . . . . . . . . . . . . . . . 264 magyar-1.4j General: Added missing comment characters in the redenitions of psdhedings to prevent spurious spaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
ngermab-v2.6n
ptionsnustrin: Corrected typo ptionnsgermn . . . . . . . . . . . . . . . . 95 ngermanb-2.6f General: Renamed from germnFldf; language names changed from germn and ustrin to ngermn and nustrin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 ngermanb-2.6j noextrsnustrin: Deactivate shorthands ouside of German . . . . . . . . . . . 96 ngermanb-2.6k ptionsnustrin: Added glossrynme . . . . . . . . . . . . . . . . . . . . . . . . . 95 noextrsnustrin: Now use providehyphenmins to provide a default value 96 ngermanb-2.6m noextrsnustrin: Turn frenchspacing on, as in germnFsty . . . . . . . . . . . 97 norks-2.0h ptionsnynorsk: Changed nme and lsonme . . . . . . . . . . . . . . . . . 248 norsk-1.0a General: Renamed elFsty in elFom . . . . . . . . . . . . . . . . . . . . . . . . 247 norsk-1.0c General: Removed use of difundefined . . . . . . . . . . . . . . . . . . . . . . . . . . 247 norsk-1.1a General: Added a warning when no hyphenation patterns were loaded. . . . . . 247 Brought up-to-date with babel 3.2a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 ptionsnorsk: Added seenme, lsonme and prefenme . . . . . . . . . 248 ptionsnynorsk: Added seenme, lsonme and prefenme . . . . . . . 248 norsk-1.1b ptionsnorsk: hedpgenme should be pgenme . . . . . . . . . . . . . . . . 248 ptionsnynorsk: hedpgenme should be pgenme . . . . . . . . . . . . . . . 248 norsk-1.1c General: Added a couple of translations (from Per Norman Oma, TeX@itk.unit.no) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 norsk-1.2a A General: Update for L TEX 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 norsk-1.2d General: Now use dnoptterns to produce the warning . . . . . . . . . . . . . . . 247 Removed the use of filedte and moved identication after the loading of elFdef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 norsk-1.2f A ptionsnorsk: Added proofnme for AMS-L TEX . . . . . . . . . . . . . . . . . . 248 norskhyphenmins: Added setting of hyphenmin parameters . . . . . . . . . . . . 247 norsk-1.2g ptionsnorsk: Replaced `Proof' by its translation . . . . . . . . . . . . . . . . . . 248 ptionsnynorsk: Replaced `Proof' by its translation . . . . . . . . . . . . . . . . 248 norsk-1.2h General: Moved the denition of ttode right to the beginning. . . . . . . 247 Now use ldfdfinish to wrap up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250 Now use vdfsnit to perform initial checks . . . . . . . . . . . . . . . . . . . . . . . 247
SHR
Replaced undefined with dundefined and empty with dempty for consisA tency with L TEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 norsk-1.2i dtenorsk: use def instead of edef . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249 Use edef to dene tody to save memory . . . . . . . . . . . . . . . . . . . . . . 249 norsk-2.0a General: Describe the use of double quote as active character . . . . . . . . . . . . 247 Made double quote character active . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249 norskhyphenmins: Changed setting of hyphenmin parameters to 2 2 . . . . . . 247 norsk-2.0b General: added the french double quotes . . . . . . . . . . . . . . . . . . . . . . . . . . . 250 Copied the coding for 4f from germanb.dtx version 2.6g . . . . . . . . . . . . . 250 norsk-2.0c General: Deactivate shorthands ouside of Norsk . . . . . . . . . . . . . . . . . . . . . 249 norsk-2.0d General: Shorthands are the same for both spelling variants, no need to use gurrentyption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250 Use ldllowhyphens in 4E . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250 norsk-2.0e ptionsnorsk: Added glossrynme . . . . . . . . . . . . . . . . . . . . . . . . . . . 248 ptionsnynorsk: Added glossrynme . . . . . . . . . . . . . . . . . . . . . . . . . 248 norskhyphenmins: Now use providehyphenmins to provide a default value 247 norsk-2.0g ptionsnorsk: Replaced `Glossary' by its translation . . . . . . . . . . . . . . . . 248 ptionsnynorsk: Replaced `Glossary' by its translation . . . . . . . . . . . . . . 248
textpl: Initially execute `textpl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304 polish-1.1c General: Now use dnoptterns to produce the warning . . . . . . . . . . . . . . . 301 Removed the use of filedte and moved identication after the loading of babel.def . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301 polish-1.1d General: The dqmacro for C used 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305 polish-1.2a A General: Don't modify rm and friends for L TEX 2 , take seletfont instead 304 polish-1.2b A ptionspolish: Added proofnme for AMS-L TEX . . . . . . . . . . . . . . . . . 301 polish-1.2d General: Now use ldfdfinish to wrap up . . . . . . . . . . . . . . . . . . . . . . . . . 306 Now use vdfsnit to perform initial checks . . . . . . . . . . . . . . . . . . . . . . . 301 Replaced undefined with dundefined and empty with dempty for consisA tency with L TEX, moved the denition of ttode right to the beginning. 301 io: Use the constructed version of the characters only in OT1; use proper characters in T1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303 sk: sk is meant to be used in horizontal mode; so leave vertical mode if necessary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303 so: This macro is meant to be used in horizontal mode; so leave vertical mode if necessary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303 sp: sp is meant to be used in horizontal mode; so leave vertical mode if necessary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303 polish-1.2e General: Removed empty groups after double quote and guillemot characters 305
polish-1.0a
SHS
polish-1.2f
polish-1.2h polish-1.2i
dtepolish: use def instead of edef . . . . . . . . . . . . . . . . . . . . . . . . . . . Use edef to dene tody to save memory . . . . . . . . . . . . . . . . . . . . . . mdqoff: Now use shorthndon and shorthndoff . . . . . . . . . . . . . . . . . .
in the output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302 polish-1.2j polishzx: Added support for two notationstyles for kropka and accented z . 305 polish-1.2k polishzx: Fixed a typo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305 polish-1.2l General: Changed closing quote . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305 portuges-1.0a General: Renamed elFsty in elFom . . . . . . . . . . . . . . . . . . . . . . . . 171 portuges-1.0b General: Removed use of cs@ifundened . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 portuges-1.1 General: Added a warning when no hyphenation patterns were loaded. . . . . . 171 Brought up-to-date with babel 3.2a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 ptionsportuges: hedpgenme should be pgenme . . . . . . . . . . . . . . 172 Added seenme, lsonme and prefenme . . . . . . . . . . . . . . . . . . . . 172 portuges-1.2 A General: Update for L TEX 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 portuges-1.2d General: Now use dnoptterns to produce the warning . . . . . . . . . . . . . . . 171 Removed the use of filedte and moved identication after the loading of elFdef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 portuges-1.2e ptionsportuges: Added a few missing translations . . . . . . . . . . . . . . . . . 172 portuges-1.2g General: Enhanced support for brasilian . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 ptionsrzil: The captions for brasilian and portuguese are dierent now 173 extrsportuges: Added the denition of some 4 shorthands . . . . . . . . . . . 174 ord: Added macro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 ord: Added macro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 portugeshyphenmins: Added setting of hyphenmin values . . . . . . . . . . . . . 174 r: Added macro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 ro: Added macro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 portuges-1.2h A ptionsportuges: Added proofnme for AMS-L TEX . . . . . . . . . . . . . . . 172 portuges-1.2i A ptionsrzil: Added proofnme for AMS-L TEX . . . . . . . . . . . . . . . . . 173 ptionsportuges: Substituted `Prova' for `Proof' . . . . . . . . . . . . . . . . . . 172 portuges-1.2j General: Moved the denition of ttode right to the beginning. . . . . . . 171 Now use vdfsnit to perform initial checks . . . . . . . . . . . . . . . . . . . . . . . 171 ow use ldfdfinish to wrap up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
ptionspolish: inme and refnme were swapped . . . . . . . . . . . . . . 301 Added glossrynme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301 dtepolish: A missing comment character caused an unwanted space character
SHT
Replaced undefined with dundefined and empty with dempty for consisA tency with L TEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 portuges-1.2k dterzil: use def instead of edef . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 Use edef to dene tody to save memory . . . . . . . . . . . . . . . . . . . . . . 173 dteportuges: use def instead of edef . . . . . . . . . . . . . . . . . . . . . . . . . 173 Use edef to dene tody to save memory . . . . . . . . . . . . . . . . . . . . . . 173 noextrsportuges: Removed empty groups after guillemot characters . . . . 174 portuges-1.2m ptionsrzil: Added glossrynme . . . . . . . . . . . . . . . . . . . . . . . . . . 173 ptionsportuges: Added glossrynme . . . . . . . . . . . . . . . . . . . . . . . . 173 noextrsportuges: Deactivate shorthands ouside of Basque . . . . . . . . . . . . 174 portugeshyphenmins: Now use providehyphenmins to provide a default value 174 portuges-1.2n dterzil: Removed spurious space after dezembro . . . . . . . . . . . . . . . . . 173 dteportuges: Removed spurious space after Dezembro . . . . . . . . . . . . . . . 173 portuges-1.2o portugeshyphenmins: Set righthyphenmin to 3 if not provided by the pattern le. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 portuges-1.2p ptionsportuges: Substituted `Glossrio' for `Glossary' . . . . . . . . . . . . . . 173 portuges-1.2q ptionsrzil: Substituted `Glossrio' for `Glossary' . . . . . . . . . . . . . . . . 173 romanian-1.0a General: Renamed babel.sty in babel.com . . . . . . . . . . . . . . . . . . . . . . . . . . 233 romanian-1.0b General: Removed use of difundefined . . . . . . . . . . . . . . . . . . . . . . . . . . 233 romanian-1.1 General: Added a warning when no hyphenation patterns were loaded. . . . . . 233 Brought up-to-date with babel 3.2a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 ptionsromnin: hedpgenme should be pgenme . . . . . . . . . . . . . . 233 Added seenme, lsonme and prefenme . . . . . . . . . . . . . . . . . . . . 233 Translation errors found by Robert Juhasz xed . . . . . . . . . . . . . . . . . . . 233 dteromnin: Translation errors found by Robert Juhasz xed . . . . . . . . . 233 romanian-1.2 General: Update for LaTeX2e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 romanian-1.2d General: Now use dnoptterns to produce the warning . . . . . . . . . . . . . . . 233 Removed the use of filedte and moved identication after the loading of babel.def . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 romanian-1.2e General: Updated for babel release 3.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 romanian-1.2f A ptionsromnin: Added proofnme for AMS-L TEX . . . . . . . . . . . . . . . 233 romanian-1.2g ptionsromnin: Added translation of `Proof' . . . . . . . . . . . . . . . . . . . . 233 romanian-1.2h General: Now use ldfdfinish to wrap up . . . . . . . . . . . . . . . . . . . . . . . . . 234 Now use vdfsnit to perform initial checks . . . . . . . . . . . . . . . . . . . . . . . 233 Replaced undefined with dundefined and empty with dempty for consisA tency with L TEX, moved the denition of ttode right to the beginning. 233 romanian-1.2i dteromnin: use def instead of edef . . . . . . . . . . . . . . . . . . . . . . . . . 233
SHU
Use edef to dene tody to save memory . . . . . . . . . . . . . . . . . . . . . . 233 romanian-1.2k ptionsromnin: Added glossrynme . . . . . . . . . . . . . . . . . . . . . . . . 233 romanian-1.2l ptionsromnin: Added translation for Glossary . . . . . . . . . . . . . . . . . . 233 russianb-1.1a extrsrussin: Use ddot instead of dwerwve . . . . . . . . . . . . . . . . . 337 use russinhyphenmins to store the correct values . . . . . . . . . . . . . . . . . 339 Use the new mechanism for dealing with active characters . . . . . . . . . . . . 335 russindshdcd: Use new hefineetivexoerg . . . . . . . . . . . . . . . . . . . . . 336 Use the more general mechanism of delredshorthnd . . . . . . . . . . . . . 336 systemdshdYd: Added system level shorthands . . . . . . . . . . . . . . . . . . . . . . 337 russianb-1.1b extrsrussin: Added switch to vx encoding . . . . . . . . . . . . . . . . . . . . . 334 russindshdcd: Updated to reect the latest french denitions . . . . . . . . . 336 vertimdfont: Added changing of vertimdfont . . . . . . . . . . . . . . . . . 334 russianb-1.1c General: Replaced undefined with dundefined and empty with dempty for A consistency with L TEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328 russianb-1.1d General: Moved the denition of ttode right to the beginning. . . . . . . 328 Now use ldfdfinish to wrap up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341 Now use vdfsnit to perform initial checks . . . . . . . . . . . . . . . . . . . . . . . 329 russianb-1.1e General: Added closing brace to second argument of vdfsnit . . . . . . . . . . . 329 russianb-1.1f General: Added denitions of Cyrillic emdash stu and thinspace . . . . . . . . . 328 extrsrussin: Add commands for switch on/o doublequote activeness. Borrowed from german. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339 Add macro for thinspace between initials . . . . . . . . . . . . . . . . . . . . . . . . . 339 Added a hook to insert space or not before `double punctuation' (from frenchb). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335, 336 Rearranging of cyrillic emdash stu . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338 phoff: One more chance to avoid spaces before double punctuation . . . . . 337 russindshdcd: changed to kern.1em (space bit thinner) . . . . . . . . . . . . . . 336 Added a hook to insert space or not before `double punctuation' (from frenchb). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336 russianb-1.1k General: replaced all penltydw with norek . . . . . . . . . . . . . . . . . . . . 328 russianb-1.1l General: Made not using inputenc a warning instead of an error . . . . . . . . . . 332 russianb-1.1m ptionsrussin: Added glossrynme . . . . . . . . . . . . . . . . . . . . . . . . . 334 extrsrussin: Now use providehyphenmins to provide a default value . . 339 russianb-1.1n General: As this code generates a textfont 7 error it is commented out for now. 331 russianb-1.1o ltintext: ltintext is already dened by the core of babel . . . . . . . . . . 332 textltin: textltin already dened by the core of babel . . . . . . . . . . . . 332 russianb-1.1q General: Change denition of th only for this language . . . . . . . . . . . . . . . 340 russianb-1.1r extrsrussin: Removed the commanet character before the next code line, see R3669 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
SHV
samin-1.0b
ptionssmin: Provided the translation for glossary . . . . . . . . . . . . . . . . . 256 scottish-1.0b General: Corrected typos (PR1652) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 scottish-1.0c A ptionssottish: Added proofnme for AMS-L TEX . . . . . . . . . . . . . . . 107 scottish-1.0d General: Now use ldfdfinish to wrap up . . . . . . . . . . . . . . . . . . . . . . . . . 108 Now use vdfsnit to perform initial checks . . . . . . . . . . . . . . . . . . . . . . . 107 Replaced undefined with dundefined and empty with dempty for consisA tency with L TEX, moved the denition of ttode right to the beginning. 107 scottish-1.0e dtesottish: use def instead of edef . . . . . . . . . . . . . . . . . . . . . . . . . 107 Use edef to dene tody to save memory . . . . . . . . . . . . . . . . . . . . . . 107 scottish-1.0g ptionssottish: Added glossrynme . . . . . . . . . . . . . . . . . . . . . . . . 107 serbian-1.0b General: Added suggestions for shorthands and so on from Jankovic Slobodan 307 noextrsserin: Introduced the active 4 . . . . . . . . . . . . . . . . . . . . . . . . . 308 serbian-1.0c noextrsserin: Deactivate shorthands ouside of Serbian . . . . . . . . . . . . 308 serbian-1.0d ptionsserin: Added glossrynme . . . . . . . . . . . . . . . . . . . . . . . . . 307 noextrsserin: Changed denition of 4E to be the same as for other languages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309 slovak-1.0 General: First version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310 slovak-1.2 A General: Update for L TEX 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310 slovak-1.2b General: Added setting of left- and righthyphenmin . . . . . . . . . . . . . . . . . . . 314 slovak-1.2d General: Now use dnoptterns to produce the warning . . . . . . . . . . . . . . . 312 Removed the use of filedte and moved identication after the loading of elFdef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310 slovak-1.2e General: Now use slovkhyphenmins . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314 A noextrsslovk: Use L TEX's v accent command . . . . . . . . . . . . . . . . . . . 314 slovak-1.2g A ptionsslovk: Added proofnme for AMS-L TEX . . . . . . . . . . . . . . . . . 313 slovak-1.2i General: Now use ldfdfinish to wrap up . . . . . . . . . . . . . . . . . . . . . . . . . 324 Now use vdfsnit to perform initial checks . . . . . . . . . . . . . . . . . . . . . . . 311 Replaced undefined with dundefined and empty with dempty for consisA tency with L TEX, moved the denition of ttode right to the beginning. 310 slovak-1.2j dteslovk: use def instead of edef . . . . . . . . . . . . . . . . . . . . . . . . . . . 313 Use edef to dene tody to save memory . . . . . . . . . . . . . . . . . . . . . . 313 slovak-1.2k ptionsslovk: Repaired a few spelling mistakes . . . . . . . . . . . . . . . . . . . 313 dteslovk: Repaired a spelling mistake . . . . . . . . . . . . . . . . . . . . . . . . . . 313
samin-1.0c
256 256
SHW
slovak-1.2l General: Now use providehyphenmins to provide a default value . . . . . . . . 314 ptionsslovk: Added glossrynme . . . . . . . . . . . . . . . . . . . . . . . . . . 313 slovak-1.3a General: Added contributed shorthand denitions . . . . . . . . . . . . . . . . . . . . 310 noextrsslovk: Make three characters available for shorthands . . . . . . . . 314 slovak-3.0 General: Changed default righthyphenmin to 3 characters. . . . . . . . . . . . . 314 A Implemented the functionality of CSL TEX's slovak.sty. The version number was bumped to 3.0 to minimize confusion by being higher than the last version of A CSL TEX. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310 ptionsslovk: Updated some translations. Former translations were: `vod' for prefenme, `Referencie' for refnme, `Index' for indexnme, `Obrzok' for figurenme, `Prlohy' for enlnme, `CC' for nme, `Komu' for hedtonme, `Strana' for pgenme . . . . . . . . . . . . . . . . . . . . . . . . . . . 313 noextrsslovk: now use ldfrenhsping and ldnonfrenhsping 313 slovak-3.1 sdemdsh: ensure correct catcode for the saved hyphen . . . . . . . . . . . . . . . 318 sdsplitttr: attribute added . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322 noextrsslovk: move lngugeshorthnds here, so that the language group is always initialized correctly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313 splithyphens: activate with split hyphens and deactivate with standard hyphens, not vice versa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321 slovene-1.0a General: Renamed babel.sty in babel.com . . . . . . . . . . . . . . . . . . . . . . . . . . 325 slovene-1.0b General: Removed use of difundefined . . . . . . . . . . . . . . . . . . . . . . . . . . 325 slovene-1.1 General: Added a warning when no hyphenation patterns were loaded. . . . . . 325 Brought up-to-date with babel 3.2a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325 ptionsslovene: hedpgenme should be pgenme . . . . . . . . . . . . . . . 325 Added seenme, lsonme and prefenme . . . . . . . . . . . . . . . . . . . . 325 slovene-1.2 A General: Update for L TEX 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325 slovene-1.2b ptionsslovene: Added extra translations from Josef Leydold, leydolddsttrixPFwuEwienFFt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325 slovene-1.2d General: Now use dnoptterns to produce the warning . . . . . . . . . . . . . . . 325 Removed the use of filedte and moved identication after the loading of elFdef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325 slovene-1.2f noextrsslovene: Introduced the active 4 . . . . . . . . . . . . . . . . . . . . . . . . . 326 slovene-1.2g A ptionsslovene: Added proofnme for AMS-L TEX . . . . . . . . . . . . . . . . 325 slovene-1.2h ptionsslovene: Added translation of `Proof' . . . . . . . . . . . . . . . . . . . . . 325 slovene-1.2i General: Now use ldfdfinish to wrap up . . . . . . . . . . . . . . . . . . . . . . . . . 327 Now use vdfsnit to perform initial checks . . . . . . . . . . . . . . . . . . . . . . . 325 Replaced undefined with dundefined and empty with dempty for consisA tency with L TEX, moved the denition of ttode right to the beginning. 325 Replaced `Slovanian' with correct `Slovenian' . . . . . . . . . . . . . . . . . . . . . . 325 noextrsslovene: removed shorthand for 4v as it is not needed for slovenian 326
SIH
slovene-1.2j
characters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326 slovene-1.2l noextrsslovene: Deactivate shorthands ouside of Slovene . . . . . . . . . . . . 326 slovene-1.2m ptionsslovene: Added glossrynme . . . . . . . . . . . . . . . . . . . . . . . . . 325 spanish-5.0e General: Two acutes in a row should be turned into a double right quote . . . 192 spanish 5.0a General: Reimplemented in full, which some parts rewritten from scratch. Added the es- mechanism and the mexico option. Many bug xes. . . . . . . . . . . . 180 spanish 5.0d General: Fixed two bugs: misplaced subscripts with lim and the like; problem with romn and hyperref. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 swedish-1.0a General: Renamed elFsty in elFom . . . . . . . . . . . . . . . . . . . . . . . . 252 swedish-1.0b ptionsswedish: added denition for enlnme . . . . . . . . . . . . . . . . . . . 253 made denition of refnme pluralis . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 removed type in denition of ontentsnme . . . . . . . . . . . . . . . . . . . . . . 253 swedish-1.0c General: Removed use of difundefined . . . . . . . . . . . . . . . . . . . . . . . . . . 252 swedish-1.1 General: Added a warning when no hyphenation patterns were loaded. . . . . . 252 Brought up-to-date with babel 3.2a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 ptionsswedish: hedpgenme should be pgenme . . . . . . . . . . . . . . . 253 Added seenme, lsonme and prefenme . . . . . . . . . . . . . . . . . . . . 253 swedish-1.1b ptionsswedish: Added translations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 swedish-1.2 General: Update for LaTeX2e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 swedish-1.3d General: Now use dnoptterns to producew the warning . . . . . . . . . . . . . . 252 Removed the use of filedte and moved identication after the loading of elFdef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 ptionsswedish: Changed to snme endsnme, to make upperse do the right thing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 swedish-1.3e General: Update for release 3.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 ptionsswedish: Changed lsonme from `se oks' . . . . . . . . . . . . . . . 253 extrsswedish: Added ldfrenhsping . . . . . . . . . . . . . . . . . . . . . . . 254 noextrsswedish: Added ldnonfrenhsping . . . . . . . . . . . . . . . . . . 254 swedishhyphenmins: use swedishhyphenmins to store the correct values . . 254 swedish-1.3f A ptionsswedish: Added proofnme for AMS-L TEX . . . . . . . . . . . . . . . . 253 swedish-1.3g ptionsswedish: Replaced `Proof' by its translation . . . . . . . . . . . . . . . . 253 swedish-2.0 General: Introduced active double quote . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 noextrsswedish: Added active double quote character . . . . . . . . . . . . . . . 254
dteslovene: use def instead of edef . . . . . . . . . . . . . . . . . . . . . . . . . . 326 Use edef to dene tody to save memory . . . . . . . . . . . . . . . . . . . . . . 326 noextrsslovene: Removed empty groups after double quote and guillemot
SII
swedish-2.1 General: Now use ldfdfinish to wrap up . . . . . . . . . . . . . . . . . . . . . . . . . 255 Now use vdfsnit to perform initial checks . . . . . . . . . . . . . . . . . . . . . . . 252 Replaced undefined with dundefined and empty with dempty for consisA tency with L TEX, moved the denition of ttode right to the beginning. 252 swedish-2.2 dteswedish: use def instead of edef . . . . . . . . . . . . . . . . . . . . . . . . . . 253 Use edef to dene tody to save memory . . . . . . . . . . . . . . . . . . . . . . 253 swedish-2.2b noextrsswedish: Deactivate shorthands ouside of Swedish . . . . . . . . . . . . 254 swedish-2.3a General: added llowhyphens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254 changed denition of 4a, E and 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 ptionsswedish: Added full stop after Bil . . . . . . . . . . . . . . . . . . . . . . 253 dtesdmy: Command added . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 dtesymd: Command added . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 swedish-2.3b ptionsswedish: Added glossrynme . . . . . . . . . . . . . . . . . . . . . . . . . 253 swedish-2.3c ptionsswedish: Provided translation for Glossary . . . . . . . . . . . . . . . . . 253 swedish-2.3d General: Fixed a hnges entry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
ptionsturkish: hedpgenme should be pgenme . . . . . . . . . . . . . . . 374 turkish-1.2 A General: Update for L TEX 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374 turkish-1.2b ptionsturkish: Added braces behind i in strings . . . . . . . . . . . . . . . . . 374 dteturkish: Added braces behind i in strings . . . . . . . . . . . . . . . . . . . . 375 turkish-1.2c General: Now use dnoptterns to produce the warning . . . . . . . . . . . . . . . 374 Removed the use of filedte and moved identication after the loading of elFdef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374 turkish-1.2d dteturkish: removed extra closing brace, mont should be month . . . . . . 375 turkishdshdXd: Added missing def . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375 turkish-1.2e extrsturkish: Completely rewrote macro . . . . . . . . . . . . . . . . . . . . . . . . 375 noextrsturkish: now use ldfrenhsping and ldnonfrenhsping 375 turkishdshdXd: Use the new mechanism of delredshorthnd . . . . . . . . 375 turkish-1.2f A ptionsturkish: Added proofnme for AMS-L TEX . . . . . . . . . . . . . . . . 374 turkish-1.2h General: Replaced undefined with dundefined and empty with dempty for A consistency with L TEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374 turkish-1.2i General: Moved the denition of ttode right to the beginning. . . . . . . 374 Now use ldfdfinish to wrap up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376 ow use vdfsnit to perform initial checks . . . . . . . . . . . . . . . . . . . . . . . . 374 turkish-1.2j ptionsturkish: Added and modied translations . . . . . . . . . . . . . . . . . . 374 dteturkish: use def instead of edef . . . . . . . . . . . . . . . . . . . . . . . . . . 375 Use edef to dene tody to save memory . . . . . . . . . . . . . . . . . . . . . . 375
turkish-1.1
SIP
turkish-1.2k turkish-1.2l
...............
turkish-1.2m
ptionsukrinin: replace gus with gss in uthornme . . . . . . 358 ukraineb-1.1e General: replaced all penltydw with norek . . . . . . . . . . . . . . . . . . . . 354 ukraineb-1.1f General: Made not using inputenc a warning instead of an error . . . . . . . . . . 358 ukraineb-1.1g ptionsukrinin: Added glossrynme . . . . . . . . . . . . . . . . . . . . . . . . 358 extrsukrinin: Now use providehyphenmins to provide a default value 365 ukraineb-1.1h ptionsukrinin: Added translation for `Glossary' . . . . . . . . . . . . . . . . 358 ukraineb-1.1i General: As this code generates a textfont 7 error it is commented out for now. 357 ukraineb-1.1j ltintext: ltintext is already dened by the core of babel . . . . . . . . . . 358 textltin: ltintext is already dened by the core of babel . . . . . . . . . . 358 ukraineb-1.1k General: Change denition of th only for this language . . . . . . . . . . . . . . . 366 usorbian-0.1 General: First version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370 usorbian-0.1b A General: Made it possible to run through L TEX; added wp and removed extra endmro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370 usorbian-0.1c ptionsusorin: Removed two typos (Kapitel and Dodatki) . . . . . . . . . . 370 usorbian-1.0a General: Removed stu that has been moved to elFdef . . . . . . . . . . . . . 372 usorbian-1.0b A ptionsusorin: Added proofnme for AMS-L TEX . . . . . . . . . . . . . . . 370 usorbian-1.0c General: Now use lddis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372 usorbian-1.0d General: Replaced undefined with dundefined and empty with dempty for A consistency with L TEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370 usorbian-1.0e General: Moved the denition of ttode right to the beginning. . . . . . . 370 Now use ldfdfinish to wrap up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373 Now use vdfsnit to perform initial checks . . . . . . . . . . . . . . . . . . . . . . . 370 usorbian-1.0f General: Removed empty groups after double quote and guillemot characters 372 usorbian-1.0g k: Now use shorthndon and shorthndoff . . . . . . . . . . . . . . . . . . . . . 373 newdteusorin: use def instead of edef . . . . . . . . . . . . . . . . . . . . . . . 371 Use edef to dene tody to save memory . . . . . . . . . . . . . . . . . . . . . . 371 olddteusorin: use def instead of edef . . . . . . . . . . . . . . . . . . . . . . . 371 Use edef to dene tody to save memory . . . . . . . . . . . . . . . . . . . . . . 371
ukraineb-1.1d
SIQ
usorbian-1.0h usorbian-1.0i
371 370 372 370 373 370 370 371 371 371 371
usorbian-1.0j General: Check for the option lowersorbian . . . . . . . . . . . . . . . . . . Make this work for more than one option name . . . . . . . . . . . . . This le can be loaded under more than one name. . . . . . . . . . . ptionsusorin: Make this work for more than one option name extrsusorin: Make this work for more than one option name . newdteusorin: Make this work for more than one option name olddteusorin: Make this work for more than one option name usorbian-1.0k extrsusorin: Make sure the caret has the right tdoe . . . .
ptionsusorin: Added glossrynme . . . . . . . . . . . . . . . . . . . . . . . . extrsusorin: Now use providehyphenmins to provide a default value .
.... .... .... ... .... .... .... ... 371, ... ... ... ... ...
.......
v2.0 General: prindentppx not changed if already dened (required by JA for cahgut.cls). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 Added warning for OT1 encoding. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 AtBeginDocument, save again the denitions of the `list' and `itemize' environments and the values of labelitems. As of frenchb v.1.6, `ORI' values were set when reading frenchb.ldf, later changes were ignored. . . . . . . . . . . . . . 150 Footnotes are now printed by default ` la franaise' for the whole document. 139 New command frenhsetup added for global customisation. . . . . . . . . . 142 s: hox dropped, replaced by kernHpt. . . . . . . . . . . . . . . . . . . . . . . . . 132 ptionsfrenh: `Fig.' changed to `Figure' and `Tab.' to `Table'. . . . . . . . . 135 Set gptioneprtor in extrsfrenh now instead of ptionsfrenh because it has to be reset when leaving French. . . . . . . . . . . . . . . . . . . . 135 dtefrenh: 2 'relx' added in tody's denition. . . . . . . . . . . . . . . . . . 130 pftextellipsis: Added special case for LY1 encoding, see bug report from Bruno Voisin (2004/05/18). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 nomre: nomre requires now numprint.sty. . . . . . . . . . . . . . . . . . . . . . . . 134 v2.0b General: Footnotes: Just do nothing (except warning) when the bigfoot package is loaded. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 v2.0c General: hinpesnprenhxumers added for compatibility with frenchb-1.x. 135 Option ThinSpaceInFrenchNumbers added. . . . . . . . . . . . . . . . . . . . . . . . 142 There is no need to dene here numprint's command npstylefrenh, it will be redened `AtBeginDocument' by pfproessdoptions. . . . . . . . . . . . 135 v2.0d General: Options og and fg changed: limit the denition to French so that quote characters can be used in German. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 v2.0e General: New option: StandardLists. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 v2.0f General: StandardLayout option had no eect on lists. Test moved to pfproessdoptions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 Two typos corrected in option StandardLists: [false] [true] and StandardLayout StandardLists. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 v2.0g General: Revert previous change to StandardLayout. This option must set the three ags pfeduevistpingflse, pfgomptstemizeflse, and
SIR
pftndrdstemveltrue instead of pftndrdviststrue, so that later options can still change their value before executing pfproessdoptions. Same thing for option StandardLists. . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 tndrdvyout: Flag ifpftndrdvyout not checked by pfproessdoptions, low-level ags have to be set one by one. . . . . . . . . . . . . . . . . . . . . . . . . 141 v2.1a General: Command fup added to produce better superscripts than textsupersript. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 New option: FrenchSuperscripts to dene up as fup or as textsupersript. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 New option: LowercaseSuperscripts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 dtefrenh: tody changed (correction in 2.0 was wrong: tody was printed without spaces in toc). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 v2.1b General: Disable some commands in bookmarks. . . . . . . . . . . . . . . . . . . . . . 150 fup: Command fup changed to use real superscripts from fourier v. 1.6. . . 130 v2.1c General: Added commands xos and nos. . . . . . . . . . . . . . . . . . . . . . . . . . 132 degres: Provide a temporary denition (hyperref safe) of degres in case it has to be expanded in the preamble (by beamer's title command for instance). 133 up: Provide a temporary denition (hyperref safe) of up in case it has to be expanded in the preamble (by beamer's title command for instance). . . 130 v2.1d General: Argument of rovidesvnguge changed above from `french' to `frenchb' (otherwise listfiles prints no date/version information). The real name of current language (french) as to be corrected before calling vdfsnit. 124 Avoid warning end occurred when ifx ... incomplete with LaTeX-2.09. 125 v2.2a General: The global layout of the document is no longer changed when frenchb is not the last option of babel (ldmindlnguge). Suggested by Ulrike Fischer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 Values of ags ifpfeduevistping, ifpfgomptstemize, ifpftndrdstemvels, ifpfsndentpirst, ifpfprenhpootnotes, ifpfeutopepootnotes changed: default now means `StandardLayout', it will be changed to `FrenchLayout' AtEndOfPackage only if french is ldmindlnguge. . . . . . . . . . . . . . 142 When frenchb is babel's last option, French becomes the document's main language, so GlobalLayoutFrench applies. . . . . . . . . . . . . . . . . . . . . . . . . 142 fup: newif and newdimen moved before ifvee to avoid an error with plainTeX. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 v3.8a lowerdumlut: Use levevmodegroup to prevent problems when this command occurs in vertical mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 umluthigh: Use levevmodegroup to prevent problems when this command occurs in vertical mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 v3.8d dnotshorthnd: Error message added . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
welsh-1.0b
welsh-1.0c
dtewelsh: use def instead of edef . . . . . . . . . . . . . . . . . . . . . . . . . . . . Use edef to dene tody to save memory . . . . . . . . . . . . . . . . . . . . . .
ptionswelsh: Added glossrynme . . . . . . . . . . . . . . . . . . . . . . . . . . . welshhyphenmins: Now use providehyphenmins to provide a default value
SIS
welsh-1.0d
ptionswelsh: Provided the translation for Glossary . . . . . . . . . . . . . . . . dtewelsh: removed `a viz' from the denition of tody . . . . . . . . . . . . . .
103 104
SIT