; TeX output 1996.05.27:1833soDtGGcmr17The7tGGcmss17fosotnote!", cmsy10 npacqkage#XQ cmr12MarkWVoSoding=sٳJ13Mary1996:ōINff cmbx12ContentsvI"V cmbx101XUserTguidea1I2XImplemen9tationH)2xxXK`y cmr102.1oBuildingUUfoGotnotetext򍍑..p3X2.2oF*oGotnoteUUsaving......p3X2.3oTheUUm#R cmss10foGotnoteenvironment?5X2.4oHacking'ExXusuallydoGes;kthereareseveralcommandsandenvironments(notablyI "5-:Aacmr61LTheImdwtabpacÎkage,gprovidedIinthisdistribution,handlesfoffOffOT% cmsy9h&j cmti9new-env-name iGffOffOT]ffOffÖ́ffw*w*ffOffOff'ff'T{ >ff'ff'ff'ff'Thenv-name i4}ff'ff'ff'ff'T}ff'ffff)Ӎͬ- >XWithout theoptionalargument,9citrede nesthenamedenvironmentsothat Iit'ExX'sfoGotnotehandlingwhenI'mputtingthenotesintomy IbGox;UUthisisalsousefulintheverbatim-in-foGotnotesstu .\fn@startnoteIHere'shhowafoGotnotegetsstarted. ZMostofthecodehereisstolenfromI\@footnotetext.Ls8S\def\fn@startnote{% Ls9]\hsize\fn@colwidth%I10]\interlinepenalty\interfootnotelinepenalty%I11]\reset@font\footnotesize%I12]\floatingpenalty\@MM%Isthisright???I13]\@parboxrestore%I14]\protected@edef\@currentlabel{\csnamep@\@mpfn\endcsname\@thefnmark}%I15]\color@begingroup%I16S} L\fn@endnoteIF*oGotnotesUUare nishedo bythismacro.qThisistheeasybit.I17S\let\fn@endnote\color@endgroup6I2.2gFo`otnotesavinguT\fn@fntextINowMbtode nehowtoactuallydofoGotnotes.o!I'lljustaddthenotestothebottom IofUUthefoGotnoteboxI'mbuilding.I18S\def\fn@fntext#1{%I19]\global\setbox\fn@notes\vbox{%I20f\unvbox\fn@notes%I21f\fn@startnote%I22f\@makefntext{%I23p2\rule\z@\footnotesep%I24p2\ignorespaces%I25p2#1%I26p2\@finalstrut\strutbox%I27f}%I28f\fn@endnote%I29]}%I30S}\savenotesIThe.\savenotesdeclarationstartssavingfoGotnotes,6tobespewedatalaterdate. IW*e'llSalsoremembGerwhichcounterwe'remeanttouse, andrede nethefoGotnotesIusedUUbyminipages.XThehideahereisthatwe'llgatherupfoGotnoteswithintheenvironment,)andIoutputtheminwhateverformattheywerebGeingtypGesetoutsidetheenvironment.XI'lltakethisabitatatime.]Thestartiseasy:6+weneedagroupinwhichtoIkeepUUourloGcalde nitions.I31S\def\savenotes{% I32]\begingroup%3 $soXNow,ifܐI'malreadysavingfoGotnotesaway*,Iqwon'tbGotherdoinganythinghere. IOtherwiseUUIneedtostarthacking,andsettheswitch.7I33]\if@savingnotes\else% I34f\@savingnotestrue%7XIRUrede neRthe\@footnotetextcommand,whichisrespGonsibleforaddingaIfoGotnotewtotheappropriateinsert.-I'llrede neboththecurrentversion,*?andIminipage'sUUspGeci cversion,incasethere'sanestedminipage.I35f\let\@footnotetext\fn@fntext% I36f\let\@mpfootnotetext\fn@fntext%7XI'dbGettermakesuremybGoxisemptybGeforeISstart,IQandImustsetuptheIcolumnwidthsothatlaterchanges(e.g.,inminipage)don'tupsetthingstoGomuch.I37f\fn@width\columnwidth% I38f\let\fn@colwidth\fn@width%I39f\global\setbox\fn@notes\box\voidb@x%7XNowǞforsomeyuckiness.ȢIǀwanttoensurethatminipagedoGesn'tchangehow IfoGotnotesgarehandledonceI'vetakencharge. `I'llstorethecurrentvqaluesofI\thempfn(whichtypGesetsafootnotemarker)and\@mpfn(whichcontainstheInameUUofthecurrentfoGotnotecounter).I40f\let\fn@thempfn\thempfn% I41f\let\fn@mpfn\@mpfn%7XTheminipageenvironmentprovidesahoGok,!called\@minipagerestore.;Ini-Itially/)it'ssetto\relax,6whichisunfortunatelyunexpandable,soifI/want/)toaddIcoGde toit,ImustcheckthispGossibility*.$I'llmakeit\@empty(whichexpandsIto#rnothing)ifit'sstill\relax.ThenI'lladdmycoGdetothehook,VtooverrideI\thempfnUUand\@mpfnsetupbyxminipage.XNoteOCthatIOcan'tjustforcethempfootnotecountertobGeequaltothefootnoteIone,N bGecauseL7minipageclears\c@mpfootnotetozerowhenitstarts.nThismethodIwillUUensurethatevenso,thecurrentcounterworksOK.I42f\ifx\@minipagerestore\relax\let\@minipagerestore\@empty\fi% I43f\expandafter\def\expandafter\@minipagerestore\expandafter{%I44p2\@minipagerestore%I45p2\let\thempfn\fn@thempfn%I46p2\let\@mpfn\fn@mpfn%I47f}%I48]\fi%I49S}z\spewnotesINowIcanspGewoutthenoteswesaved._Thisisabitmessy*,actually.Sincethe Istandard\@footnotetextimplementationtriestoinsertfunnystrutsandthings,IIv/mustvgbGeabitcareful.'xI'lldisableallthisbitswhichstartparagraphsprematurely*.I50S\def\spewnotes{% I51]\endgroup%I52]\if@savingnotes\else\ifvoid\fn@notes\else\begingroup%I53f\let\@makefntext\@empty%I54f\let\@finalstrut\@gobble%I55f\let\rule\@gobbletwo%I56f\@footnotetext{\unvbox\fn@notes}%I57]\endgroup\fi\fi%I58S}4)soXNowUUmakeanenvironment,forusers.I59S\let\endsavenotes\spewnotesXThat'sUUallthatneedstobGeinthesharedcodesection.I60Sh$5" cmmi9=macro8jpack9ageA5i I61Shpack9age#g i6I2.3gThe,kAH cmssbx10fo]otnoteenvironmentuTISince9w\footnoteisacommandwithanargument,rthingslikeverbatimareun- Iwelcome$init.s4Everysooftensomeoneoncomp.text.texmoansabGoutitandIIpGost8anastyhacktomakeitwork.qHowever,1asamorepGermanentand`ocial'Isolution,Ȼhere'sanenvironmentwhichdoGesthejobratherbetter.LotsofthisisIbasedUUoncoGdefrommylatestattemptonthenewsgroup.XI'llƛworkonthisinafunnyorder,althoughI~thinkit'seasiertounderstand.IFirst,7I'll=dosomemacrosforreadingtheoptionalargumentoffoGotnote-relatedIcommands. L\fn@getmarkISayingj\fn@getmark{DFhdefault-c}'ode[i}{hc}'ont-code[i}&willjreadanoptionalargu-ImentigivingavqalueforthefoGotnotecounter;wsiftheargumentisn'tthere,mtheIhdefault-c}'ode[iFisztexecuted,andit'sexpGectedtosetuptheappropriatecountertoIthe'ExX'sfoGotnotehandlingmacros. Oncethisisdoneprop-Ierly*,UUthehc}'ont-code[i7QWiscalledtocontinueUUhandlingthings.XSince}thehandlingoftheoptionalargumentplayswiththefoGotnotecounterIloGcally*, I'll6startagrouprightnowtosavesomecoGde.UThenI'lldecidewhattodoIbasedUUonthepresenceoftheargument.I62S\def\fn@getmark#1#2{%I63]\begingroup%I64]\@ifnextchar[%I65f{\fn@getmark@i{#1}}%I66f{#1\fn@getmark@ii{#2}}%I67S}XThere'sanoptionalargument,*soIneedtoreaditandassignittothefoGotnoteIcounter.I68S\def\fn@getmark@i#1[#2]{%I69]\csnamec@\@mpfn\endcsname#2%I70]\fn@getmark@ii%I71S}XFinally*,UUsetupthemacropropGerly,andendthegroup.I72S\def\fn@getmark@ii#1{%I73]\unrestored@protected@xdef\@thefnmark{\thempfn}%I74]\endgroup%I75]#1%I76S}XF*romUUargumentreading,I'llmoveontofoGotnotetypGesetting.56sof\fn@startfntextIThe&\fn@startfntextmacrosetseverythingupforbuildingthefoGotnoteinabox Iregister,= ready6forunbGoxing6intothefoGotnotesinsert.gThe\fn@prefntextmacroIisUUastylehoGokI'llsetuplater.I77S\def\fn@startfntext{% I78]\setbox\z@\vbox\bgroup%I79f\fn@startnote%I80f\fn@prefntext%I81f\rule\z@\footnotesep%I82f\ignorespaces%I83S}\fn@endfntextINowK.I'llendthevbGox,andaddittothefoGotnoteinsertion.SQAgain,IJmustbGe IcarefulEtopreventE\@footnotetextfromaddinghorizontalmoGdethingsinbadIplaces.I84S\def\fn@endfntext{% I85f\@finalstrut\strutbox%I86f\fn@postfntext%I87]\egroup%I88]\begingroup%I89f\let\@makefntext\@empty%I90f\let\@finalstrut\@gobble%I91f\let\rule\@gobbletwo%I92f\@footnotetext{\unvbox\z@}%I93]\endgroup%I94S}yfootnoteIIW8canWxnowstartontheenvironmentpropGer.)FirstI'lllookforanoptionalargument.X\def\footnote{%XOh.[tI've]alreadycomeupagainstthe rstproblem:PKthatname'salreadyused. II'dUUbGettersaveUUtheoriginalversion.I95S\let\fn@latex@@footnote\footnoteXThebGestwayIucanthinkofforseeingifI'minanenvironmentistolookatI\@currenvir.qI'llUUneedsomethingtocomparewith,then.I96S\def\fn@footnote{footnote}XNowUUtostartpropGerly*.q;-)I97S\def\footnote{% I98]\ifx\@currenvir\fn@footnote%I99f\expandafter\@firstoftwo%E100]\else%E101f\expandafter\@secondoftwo%E102]\fi%E103]{\fn@getmark{\stepcounter\@mpfn}%E104{\leavevmode\unskip\@footnotemark\fn@startfntext}}%E105]{\fn@latex@@footnote}%E106S}XEndingUUtheenvironmentUUissimple.E107S\let\endfootnote\fn@endfntext6BsobfootnotetextII'llUUdothesamemagicasbGeforefor\footnotetext.aE108S\def\fn@footnotetext{footnotetext} E109S\let\fn@latex@@footnotetext\footnotetextE110S\def\footnotetext{%E111]\ifx\@currenvir\fn@footnotetext%E112f\expandafter\@firstoftwo%E113]\else%E114f\expandafter\@secondoftwo%E115]\fi%E116]{\fn@getmark{}\fn@startfntext}%E117]{\fn@latex@@footnotetext}%E118S}E119S\let\endfootnotetext\endfootnoteʒ\fn@prefntext 6\fn@postfntextINowbforone nalproblem. ]ThestylehoGokforfootnotesisthecommand I\@makefntext,whichtakesthefoGotnotetextasitsargument.mClearlythisisIutterly/ unsuitable,6soI/needtosplititintotwobits,6wheretheargumentis.eThisIis;verytricky*,@anddoGesn'tdeservetowork,@althoughitappGearstobeagooddealImoreUUe ectivethanithasanyrighttobGe.E120S\long\def\@tempa#1\@@#2\@@@{\def\fn@prefntext{#1}\def\fn@postfntext{#2}} E121S\expandafter\@tempa\@makefntext\@@\@@@I2.4gHackingexistingenvironmentsuTISomeSexistingL5ffA͉TU>'ExXenvironmentsSoughttohavefoGotnotehandlingbutdon't.INow'sUUourchance.ʒ \makesavenoteenvIThe\makesavenoteenvcommandmakesanenvironmentsavefoGotnotesaroundIitself.XItUUwouldalsobGenicetomake\parboxworkwithfoGotnotes.qI'lldothislater.E122S\def\makesavenoteenv{\@ifnextchar[\fn@msne@ii\fn@msne@i}aXW*e're.meanttorede netheenvironment.,eW*e'llcopyit(using\let)toamagicIname,UUandthenpassitontostage2.E123S\def\fn@msne@i#1{% E124]\expandafter\let\csnamemsne$#1\expandafter\endcsname%E125:\csname#1\endcsname%E126]\expandafter\let\csnameendmsne$#1\expandafter\endcsname%E127:\csnameend#1\endcsname%E128]\fn@msne@ii[#1]{msne$#1}%E129S}aXNowwe'llde nethenewenvironment.MbThestartisreallyeasy*,sincewejust IneedGtoinserta\savenotes.[Theendismorecomplex, }sinceweneedtopreserveItheB\if@endpe agsothat\endcanpickitup.JI$reckonthatpropGerhooksshouldIbGeziaddedto\beginand\endsothatenvironmentszicande nethingstobedoneIoutside>themaingroupaswellaswithinit;FOstill,CMwecan'tallhavewhatwewant,IcanUUwe?E130S\def\fn@msne@ii[#1]#2{% E131]\expandafter\edef\csname#1\endcsname{%E132f\noexpand\savenotes%E133f\expandafter\noexpand\csname#2\endcsname%7K̠soE134]}% E135]\expandafter\edef\csnameend#1\endcsname{%E136f\expandafter\noexpand\csnameend#2\endcsname%E137f\noexpand\expandafter%E138f\noexpand\spewnotes%E139f\noexpand\if@endpe\noexpand\@endpetrue\noexpand\fi%E140]}%E141S}$minipage*ILet'sde neaminipageenvironmentwhichhandlesfoGotnotesnicely*.\Reallyeasy:ίE142S\makesavenoteenv[minipage*]{minipage}3P\parboxINow$toalter\parboxslightly*,XsothatithandlesfoGotnotesproperly*.I'mgoing Ito1dothisfairlyineciently*,''bGecauseI'mgoingtotryandchangeitaslittleasIpGossible.XFirst,zI'llsavetheold\parboxcommand.TAIfIdon't nda`*' ,zI'lljustcallthisIcommand.E143S\let\fn@parbox\parboxίXThis_isthecleverbit:I_don'tknowhowmanyoptionalargumentsMrMittel-Ibachandhischumswilladdto\parbox,XsoI'llhandleanynumbGer.=HI'llstorethemIall upinmy rstargumentandcallmyselfeverytimeI ndanewone.3IfIrunIoutofoptionalarguments,)I'llcalltheoriginal\parboxcommand,surroundingitIwithUU\savenotesand\spewnotes.E144S\def\parbox{\@ifnextchar[{\fn@parbox@i{}}{\fn@parbox@ii{}}} E145S\def\fn@parbox@i#1[#2]{%E146]\@ifnextchar[{\fn@parbox@i{#1[#2]}}{\fn@parbox@ii{#1[#2]}}%E147S}E148S\long\def\fn@parbox@ii#1#2#3{\savenotes\fn@parbox#1{#2}{#3}\spewnotes}XDone!E149Sh=pack9age#g iί,xϲMarkUUW*oGoding,13May1996*8I.Nq cmbx12AppendixꨍIAenTheffGNUGeneralPublicLicenceIThecLfollowingisthetextoftheGNUcHGeneralPublicLicence,funderthetermsof IwhichUUthissoftwareisdistrubuted.!UyGNUTGENERALPUBLICLICENSEmV*ersionUU2,June1991}bCopyrightUU(C)1989,1991F*reeSoftwareUUFoundation,Inc.uJ675UUMassAve,Cambridge,MA02139,USAsbEveryoneUUispGermittedtocopyanddistributeverbatimcopies1ofUUthislicensedoGcument,butchangingitisnotallowed.8 XsoIA.1k1PreambleuTIThe{licensesformostsoftware{aredesignedtotakeawayyourfreedomtoshareand Ichange)@it.cBycontrast,2theGNU)5GeneralPublicLicenseisintendedtoguaranteeIyour freedomtoshareandchangefreesoftware|tomakesurethesoftwareisfreeIfor1allitsusers.eThisGeneralPublicLicenseappliestomostoftheF*reeSoftwareIF*oundation'ssoftwareandtoanyotherprogramwhoseauthorscommittousingIit.A(SomeotherF*reeSoftwareFoundationsoftwareiscoveredbytheGNULibraryIGeneralUUPublicLicenseinstead.)qY*oucanapplyittoyourprograms,toGo.XWhenwespGeakoffreesoftware,qwearereferringtofreedom,qnotprice.=OurIGeneralPublicLicensesaredesignedtomakesurethatyouhavethefreedomtoIdistributeՇcopiesoffreesoftwareՇ(andchargeforthisserviceifyouwish),thatyouIreceive4sourcecoGdeorcangetitifyouwantit,thatyoucanchangethesoftwareorIuse"piecesofitinnewfreeprograms;3"andthatyouknowyoucandothesethings.XT*oprotectyourrights,weneedtomakerestrictionsthatforbidanyonetodenyIyouTtheserightsortoaskyoutosurrendertherights.WrTheserestrictionstranslateItocertainrespGonsibilitiesforyouifyoudistributecopiesofthesoftware,$orifyouImoGdifyUUit.XF*oro"example,uifyoudistributecopiesofsuchaprogram,uwhethergratisorforIaġfee,tyoumustgivetherecipientsalltherightsthatyouhave.Y*oumustmakeIsureTMthatthey*,TtoGo,receiveTMorcangetthesourcecode.qoAndyoumustshowthemItheseUUtermssotheyknowtheirrights.XW*eprotectyourrightswithtwosteps:"(1)copyrightthesoftware,֘and(2)o erIyouthislicensewhichgivesyoulegalpGermissiontocopy*,bdistributeand/ormoGdifyItheUUsoftware.XAlso,bforeachauthor'sprotectionandours,wewanttomakecertainthatIeveryoneunderstandsthatthereisnowarrantyforthisfreesoftware. eIftheIsoftware%ismoGdi edbysomeoneelseandpassedon,wewantitsrecipientstoIknowthatwhattheyhaveisnottheoriginal, %sothatanyproblemsintroGducedbyIothersUUwillnotre ectontheoriginalauthors'reputations.XFinally*,yany>freeprogramisthreatenedconstantlybysoftwarepatents.-W*eIwish(toavoid(thedangerthatredistributorsofafreeprogramwillindividuallyIobtain)patentlicenses,2ine ectmakingtheprogramproprietary*.cETo)preventthis,Iwe]bhavemadeitclearthatanypatentmustbGelicensedforeveryone'sfreeuseorInotUUlicensedatall.XTheBprecisetermsandconditionsforcopying,}IdistributionandmoGdi cationIfollow.6IA.2k1Termsqandconditionsforcopying,lMdistributionandk1mo`di cationU80.bThisLicenseappliestoanyprogramorotherworkwhichcontainsanoticebplacedbythecopyrightholdersayingitmaybGedistributedunderthetermsbofthisGeneralPublicLicense.KThe\Program",bGelow,referstoanysuchbprogramorwork,Tanda\workbasedontheProgram"meanseitherthebProgramVoranyderivqativeworkundercopyrightlaw:tthatistosay*,W0aworkbcontainingMtheProgramorapGortionofit,eitherverbatimorwithmoGdi-b cationsrand/ortranslatedintoanotherlanguage.[(Hereinafter,ytranslationbiseincludedwithoutlimitationintheterm\moGdi cation".)EachlicenseeisbaddressedUUas\you".9 asobActivities3otherthancopying,mdistributionandmoGdi cationarenotcovered bbyA,thisLicense;GtheyareoutsideitsscopGe.kTheactofrunningtheProgrambisgnotrestricted,ͫandtheoutputfromtheProgramiscoveredgonlyifitsbcontentsRyconstituteaworkbasedontheProgram(indepGendentofhavingbbGeenmadebyrunningtheProgram).BWhetherthatistruedependsonwhatbtheUUProgramdoGes.U81.bY*oucmaycopyanddistributeverbatimcopiesoftheProgram'ssourcecoGdebas`youreceiveit,inanymedium,providedthatyouconspicuouslyandappro-bpriately\publishoneachcopyanappropriatecopyrightnoticeanddisclaimerbof\warranty;`ZkeepintactallthenoticesthatrefertothisLicenseandtothebabsencecofanywarranty;andgiveanyotherrecipientsoftheProgramabcopyUUofthisLicensealongwiththeProgram.bY*ouqmaychargeafeeforthephysicalactoftransferringacopy*,I7andyoubmayUUatyouroptiono erwarrantyprotectioninexchangeforafee.U82.bY*oujmaymoGdifyyourcopyorcopiesoftheProgramoranypGortionofit,bthusformingaworkbasedontheProgram,)2andcopyanddistributesuchbmoGdi cations^orworkunderthetermsofSection1above,provided^thatyoubalsoUUmeetalloftheseconditions:@f8(a)xY*ou'mustcausethemoGdi ed lestocarryprominentnoticesstatingxthatUUyouchangedthe lesandthedateofanychange.e(b)xY*ou)Tmustcauseanyworkthatyoudistributeorpublish,2!thatinwholexor)inpartcontainsorisderivedfromtheProgramoranypartthereof,xto3bGelicensedasawholeatnochargetoallthirdpartiesunderthextermsUUofthisLicense.f(c)xIfthemoGdi edprogramnormallyreadscommandsinteractivelywhenxrun,you*mustcauseit,whenstartedrunningforsuchinteractiveuseinxthe\Amostordinaryway*,]to\AprintordisplayanannouncementincludingxanAappropriatecopyrightAnoticeandanoticethatthereisnowarrantyx(orifabpatenttlicensewouldnotpGermitroyalty-freeredistributionoftheProgrambyballrthosewhoreceivecopiesdirectlyorindirectlythroughyou,thentheonlybwayqyoucouldsatisfybGothitandthisLicensewouldbGetorefrainentirelybfromUUdistributionoftheProgram.bIfnanypGortionofthissectionisheldinvqalidorunenforceableunderanybparticular;circumstance,@thebalanceofthesectionisintendedtoapplyandbtheUUsectionasawholeisintendedtoapplyinothercircumstances.bIt *isnotthepurpGoseofthissectiontoinduceyoutoinfringeanypatentsborAotherpropGertyrightclaimsortocontestvqalidityofanysuchclaims;Gthisbsection?hasthesolepurpGoseofprotectingtheintegrity?ofthefreesoftwarebdistributionΫsystem,whichisimplementedbypubliclicensepractices.DManybpGeople`havemadegenerouscontributionstothewiderangeofsoftwaredis-btributed)throughthatsysteminrelianceonconsistentapplicationofthatbsystem;3itisuptotheauthor/donortodecideifheorsheiswillingtodis-btributesoftwarethroughanyothersystemandalicenseecannotimpGosethatbchoice.bThisAsectionisintendedtomakethoroughlyclearwhatisbGelievedtobGeabconsequenceUUoftherestofthisLicense.U88.bIffthedistributionand/oruseoftheProgramisrestrictedincertaincountriesbeitherTbypatentsorbycopyrightedinterfaces,Ttheoriginalcopyrightholderbwho8placestheProgramunderthisLicensemayaddanexplicitgeograph-bicalI1distributionlimitationexcludingthosecountries,KsothatdistributionisbpGermittedonlyinoramongcountriesnotthusexcluded.Insuchcase,thisbLicense/incorpGoratesthelimitationasifwritteninthebodyofthisLicense.U89.bTheF*reeSoftwareFoundationmaypublishrevisedand/ornewversionsofbthe.GeneralPublicLicensefromtimetotime.SuchnewversionswillbGebsimilarginspirittothepresentversion,butmaydi erindetailtoaddressbnewUUproblemsorconcerns.12 sobEachversionisgivenadistinguishingversionnumbGer.IftheProgramspe- bci esWaversionnumbGerofthisLicensewhichappliestoitand\anylaterbversion",youhavetheoptionoffollowingthetermsandconditionseitherofbthatT"versionorofanylaterversionpublishedbytheF*reeSoftwareF*ounda-btion.!If\theProgramdoGesnotspecifyaversionnumbGerofthisLicense,^youbmayUUchoGoseanyversioneverpublishedbytheF*reeSoftwareF*oundation.P810.bIfB[youwishtoincorpGoratepartsoftheProgramintootherfreeprogramsbwhosefordamages,uincludinganygeneral,uspQecial,incidental>orcon-bsequen9tialqdamagesarisingoutoftheuseorinabilitytousethebprogramg(includingbutnotlimitedtolossofdataordatabQeingbrenderedinaccurateorlossessustainedb9yyouorthirdpartiesorabfailureoftheProgramtoopQeratewithan9yotherprograms),Tevenbif8suc9hholderorotherpartyhasbQeenadvisedofthepossibilit9yofbsuc9hTdamages.sENDTOFTERMSANDCONDITIONS6IA.3k1App`endix:How{toApplyTheseTermstoYourNewk1ProgramsuTIIf youdevelopanewprogram,OandyouwantittobGeofthegreatestpossibleusetoItheapublic,"thebGestwayatoachieveathisistomakeitfreesoftwarewhicheveryoneIcanUUredistributeandchangeundertheseterms.XT*o~doso,/attachthefollowingnoticestotheprogram.|AItissafesttoattachIthemktothestartofeachsource letomoste ectivelyconveytheexclusionof13soIwarranty;VandVMeach leshouldhaveatleastthe\copyright"lineandapGointerto IwhereUUthefullnoticeisfound.I ICopyright(C)19yy s,IThisprogramisfreesoftware;youcanredistributeitand/ormodifyIitunderthetermsoftheGNUGeneralPublicLicenseaspublishedbyItheFreeSoftwareFoundation;eitherversion2oftheLicense,orI(atyouroption)anylaterversion.IThisprogramisdistributedinthehopethatitwillbeuseful,IbutWITHOUTANYWARRANTY;withouteventheimpliedwarrantyofIMERCHANTABILITYorFITNESSFORAPARTICULARPURPOSE. s,SeetheIGNUGeneralPublicLicenseformoredetails.IYoushouldhavereceivedacopyoftheGNUGeneralPublicLicenseIalongwiththisprogram;ifnot,writetotheFreeSoftwareIFoundation,Inc.,675MassAve,Cambridge,MA02139,USA.XAlsoUUaddinformationonhowtocontactyoubyelectronicandpapGermail. XIf theprogramisinteractive,make itoutputashortnoticelikethiswhenitIstartsUUinaninteractiveUUmoGde:IGnomovisionversion69,Copyright(C)19yynameofauthor IGnomovisioncomeswithABSOLUTELYNOWARRANTY;fordetailstype`showw'.IThisisfreesoftware,andyouarewelcometoredistributeitIundercertainconditions;type`showc'fordetails.XThedhypGotheticalcommands`showw'and`showc'shouldshowtheappropriate IpartsoftheGeneralPublicLicense.Ofcourse,5pthecommandsyouusemaybGeIcallednsomethingotherthan`showw'and`showc';theycouldevenbGemouse-clicksIorUUmenuitems{whateversuitsyourprogram.XY*oushouldalsogetyouremployer(ifyouworkasaprogrammer)oryourIschoGol,&Kifany*,tosigna\copyrightdisclaimer"fortheprogram,ifnecessary*.^-HereIisUUasample;alterthenames:IYoyodyne,Inc.,herebydisclaimsallcopyrightinterestintheprogram I`Gnomovision'(whichmakespassesatcompilers)writtenbyJamesHacker.I,1April1989ITyCoon,PresidentofViceXThis4GeneralPublicLicensedoGesnotpermitincorporatingyourprograminto Iproprietary[programs."Ifyourprogramisasubroutinelibrary*,youmayconsiderIitmoreusefultopGermitlinkingproprietaryapplicationswiththelibrary*.3CIfthisIiswhatyouwanttodo,usetheGNULibraryGeneralPublicLicenseinsteadofIthisUULicense.14soIIndexIThe(italicnumbGers(denotethepageswherethecorrespondingentryisdescribed, InumbGers1)underlinedpointtothede nition,8eallothersindicatetheplaceswhereitIisUUused.卍/t : cmbx9SymCbKols 8I\@@v}#o cmr9.΍}.}.}.}.}.}.}.}.}.}.}.}.}.}.}.}.}.}.}. rp120,T121I\@@@L}.΍}.}.}.}.}.}.}.}.}.}.}.}.}.}.}.}.}.}.}. rp120,T121I\@@undefinedYҍ}.΍}.}.}.}.}.}.}.}.}.}.}.}.}.}.}.}.}. yz2I\@MML}.΍}.}.}.}.}.}.}.}.}.}.}.}.}.}.}.}.}.}.}.}.}.}.}. fJ12I\@currentlabelB}.΍}.}.}.}.}.}.}.}.}.}.}.}.}.}. fJ14I\@currenvir}.΍}.}.}.}.}.}.}.}.}.}.}.}.}.}. 98,T111I\@endpetrue}.΍}.}.}.}.}.}.}.}.}.}.}.}.}.}.}.}.}.L139I\@finalstrutYҍ}.΍}.}.}.}.}.}.}.}. x26,T54,85,90I\@firstoftwoYҍ}.΍}.}.}.}.}.}.}.}.}.}.}.}.}. 99,T112I\@footnotemarkB}.΍}.}.}.}.}.}.}.}.}.}.}.}.}.}.L104I\@footnotetextB}.΍}.}.}.}.}.}.}.}.}. X$35,T56,92I\@gobble}.΍}.}.}.}.}.}.}.}.}.}.}.}.}.}.}.}.}. 54,T90I\@gobbletwo}.΍}.}.}.}.}.}.}.}.}.}.}.}.}.}.}. 55,T91I\@ifnextcharYҍ}.΍}.}.}.}.}.}. Q64,T122,144,146I\@makefntextYҍ}.΍}.}.}.}.}.}.}.H22,T53,89,121I\@minipagerestoreyꍑ}.΍}.}.}.}.}.}.}.}.}. 42{44I\@mpfnP}.΍}.}.}.}.}.}.}.}.}.}. 614,T41,46,69,103I\@mpfootnotetext}.΍}.}.}.}.}.}.}.}.}.}.}.}. fJ36I\@parboxrestorez}.΍}.}.}.}.}.}.}.}.}.}.}.}.}. fJ13I\@savingnotestrueyꍑ}.΍}.}.}.}.}.}.}.}.}.}.}. fJ34I\@secondoftwo- }.΍}.}.}.}.}.}.}.}.}.}.}. rp101,T114I\@tempaƈ}.΍}.}.}.}.}.}.}.}.}.}.}.}.}.}.}.}. rp120,T121I\@thefnmark}.΍}.}.}.}.}.}.}.}.}.}.}.}.}.}.}. 14,T73]g{CI\color@begingroupyꍑ}.΍}.}.}.}.}.}.}.}.}.}.}. fJ15I\color@endgroupz}.΍}.}.}.}.}.}.}.}.}.}.}.}.}. fJ17I\columnwidthYҍ}.΍}.}.}.}.}.}.}.}.}.}.}.}.}.}.}.6,T37pEI\endfootnoteYҍ}.΍}.}.}.}.}.}.}.}.}.}.}.}. rp107,T119I\endfootnotetext}.΍}.}.}.}.}.}.}.}.}.}.}.}.L119I\endsavenotes- }.΍}.}.}.}.}.}.}.}.}.}.}.}.}.}.}. fJ59Ien9vironments:Xfootnotetext<}.΍}.}.}.}.}.}.}.}.}.}.}.}. 32,T7TfeXfootnote@*}.΍}.}.}.}.}.}.}.}.}.}.}.}.}.}.}. 32,T6TfeXminipage*}.΍}.}.}.}.}.}.}.}.}.}.}.}.}.}.}. 31,T8TfeXsavenotes}.΍}.}.}.}.}.}.}.}.}.}.}.}.}.}.}.}.}. )1MFI\floatingpenalty}.΍}.}.}.}.}.}.}.}.}.}.}.}. fJ12I\fn@colwidthYҍ}.΍}.}.}.}.}.}.}.}.}.}.}.}.}. ~6,T9,38I\fn@endfntext- }.΍}.}.}.}.}.}.}.}.}.}.}.}. 84 fe ?Ŝ,T107I\fn@endnote}.΍}.}.}.}.}.}.}.}.}.}.}.}.}.}.}. 17 Пfe ?,T28I\fn@fntext@0}.΍}.}.}.}.}.}.}.}.}.}.}.}. X$18 X$fe ? ,T35,36I\fn@footnoteYҍ}.΍}.}.}.}.}.}.}.}.}.}.}.}.}.}. 96,T98I\fn@footnotetext}.΍}.}.}.}.}.}.}.}. rp108,T111\fn@getmark}.΍}.}.}.}.}.}.}.}.}.}. 162 1ğfe ?q,T103,116 \fn@getmark@i- }.΍}.}.}.}.}.}.}.}.}.}.}.}.}. 65,T68\fn@getmark@iiB}.΍}.}.}.}.}.}.}.}.}. X$66,T70,72\fn@latex@@footnote}.΍}.}.}.}.}.}.}. 95,T105\fn@latex@@footnotetextl}.΍}.}. rp109,T117\fn@mpfn}.΍}.}.}.}.}.}.}.}.}.}.}.}.}.}.}.}.}. 41,T46\fn@msne@i@0}.΍}.}.}.}.}.}.}.}.}.}.}.}.}. rp122,T123\fn@msne@ii}.΍}.}.}.}.}.}.}.}.}.122,T128,130\fn@notesl}.΍}.}.}.}. 2,T3,19,20,39,52,56\fn@parbox@0}.΍}.}.}.}.}.}.}.}.}.}.}.}.}. rp143,T148\fn@parbox@iYҍ}.΍}.}.}.}.}.}.}.}.}.}.}.}. y144{146\fn@parbox@ii- }.΍}.}.}.}.}.}.}.144,T146,148\fn@postfntextB}.΍}.}.}.}.}.}.}.}.}.}.}. 86,T120Tfe \fn@prefntext- }.΍}.}.}.}.}.}.}.}.}.}.}.}. 80,T120Tfe \fn@startfntextz}.΍}.}.}.}.}.}. 177 1ğfe ?q,T104,116\fn@startnote- }.΍}.}.}.}.}.}.}.}.}.}.}. kT8 kTfe R,T21,79\fn@thempfn}.΍}.}.}.}.}.}.}.}.}.}.}.}.}.}.}. 40,T45\fn@widthl}.΍}.}.}.}.}.}.}.}.}.}.}.}.}.}. kT5,T37,38\footnotel}.΍}.}.}.}.}.}.}.}.}.}.}.}.}.}.}.}. 95,T97footnoteT(en9vironment)=ҍ}.΍}.}.}.}.}.}.2,95fe ?\footnotesepYҍ}.΍}.}.}.}.}.}.}.}.}.}.}.}.}.}. 23,T81\footnotesize- }.΍}.}.}.}.}.}.}.}.}.}.}.}.}.}.}. fJ11\footnotetext- }.΍}.}.}.}.}.}.}.}.}.}.}. rp109,T110footnotetextT(en9vironment)䍑}.΍}.}.}. 2,108fe {SI\if@endpel}.΍}.}.}.}.}.}.}.}.}.}.}.}.}.}.}.}.}.}.L139\if@savingnotesz}.΍}.}.}.}.}.}.}.}.}. kT7,T33,52\ignorespaces- }.΍}.}.}.}.}.}.}.}.}.}.}.}.}. 24,T82\interfootnotelinepenalty}.΍}.}.}.}.}. fJ10\interlinepenaltyyꍑ}.΍}.}.}.}.}.}.}.}.}.}.}. fJ10R+L\leavevmode}.΍}.}.}.}.}.}.}.}.}.}.}.}.}.}.}.}.}.L104PM\makesavenoteenv}.΍}.}.}.}.}.}. , 1,T122Tfe N,T142minipage*T(en9vironment) }.΍}.}.}.}.}. 1,142fe Q N\newboxƈ}.΍}.}.}.}.}.}.}.}.}.}.}.}.}.}.}.}.}.}.}.}.}. yz3\newdimenl}.΍}.}.}.}.}.}.}.}.}.}.}.}.}.}.}.}.}.}.}. yz5\newifP}.΍}.}.}.}.}.}.}.}.}.}.}.}.}.}.}.}.}.}.}.}.}.}. yz7R+P\parboxƈ}.΍}.}.}.}.}.}.}.}.}.}.}.}.}.}.}.}.}.}. 2,T143Tfe \protected@edefz}.΍}.}.}.}.}.}.}.}.}.}.}.}.}. fJ14Q€R\reset@font}.΍}.}.}.}.}.}.}.}.}.}.}.}.}.}.}.}.}. fJ1115soI\rule }.΍}.}.}.}.}.}.}.}.}.}.}.}.}.}. x23,T55,81,91JS I\savenotes@0}.΍}.}.}.}.}.}.}.}. ^1,T31Tfe ? UP,T132,148IsavenotesT(en9vironment) }.΍}.}.}.}.}.}.}.}. )1I\spewnotes@0}.΍}.}.}.}.}.}. 1,T50Tfe ? UP,T59,138,148I\stepcounterYҍ}.΍}.}.}.}.}.}.}.}.}.}.}.}.}.}.}.}.L103I\strutboxl}.΍}.}.}.}.}.}.}.}.}.}.}.}.}.}.}.}. 26,T85R T r\thempfn}.΍}.}.}.}.}.}.}.}.}.}.}.}.}.}. X$40,T45,73UVQAU\unrestored@protected@xdefF}.΍}.}.}.}. fJ73QdV\voidb@x}.΍}.}.}.}.}.}.}.}.}.}.}.}.}.}.}.}.}.}.}. fJ3916o;/t : cmbx9.Nq cmbx12,kAH cmssbx10*N cmbx12'ow cmss9&j cmti9% cmsy9$5" cmmi9#o cmr9"': cmti10!ߤN cmtt9