; TeX output 1997.05.06:1041sIhtml: html:oG3{G ptmr7tHypertextQmarksinLyy3{ ptmr7tATSEyX!", cmsy10(SebastianRahtzp7Email:P0 pcrr7ts.rahtz@elsevier.co.uk%bG*1997/05/05:I ߌff ptmb7tContentsYIhtml:!ߌ ptmb7t1Introduction html: 2Ihtml:2Usage html:5s@2Ihtml:3Original,historyandacknogwledgements html:O3Ihtml:4Themacros html:3 Xhtml:3{ ptmr7t4.1P٠ackageoptions html:...............................`3Xhtml:4.2Basich7yperte٠xtmacros html:T+...........................`7Xhtml:4.3Userh7yperte٠xtmacros html:*...........................`8Xhtml:4.4Compatibilitywiththe"Kj ptmri7tLff#Kj ptmri7tA-STU>4xE1fX2htmlpackage html:GQ.................`10Xhtml:4.5AutomatedLff$3{ ptmr7tA;TU>?E1fXh7yperte٠xtcross-references html:p덍................`10Xhtml:4.6Equations html:..................................`12Xhtml:4.7F٠ootnotes html:2..................................`14Xhtml:4.8Floatcaptions html:򍍑................................`15Xhtml:4.9Bibliographicreferences html::..........................`15X html:4.10P٠agenumbers html:Dύ................................`18X html:4.11T37ableofcontents html:j..............................`18X html:4.12Newcounters html:}'................................`19X html:4.13AMSLffA;TU>?E1fXcompatibility html:܍..........................`19X html:4.14Included gures html:I...............................`19X html:4.15Inde٠xentries html:8.................................`20X html:4.16Compatibilitywithseminarslidepackage html:V.................`20X html:4.17Localizednullifyingofpackage html:D......................`21X html:4.18Low-lev٠elutilitymacros html:D֍..........................`21X html:4.19Setup html:....................................`21Ihtml:5Con guration les html:"22Xhtml:5.1pdfte٠x html:W....................................`22Xhtml:5.2h7yperte٠x html:5x...................................`23Xhtml:5.3Acrobatdirectpdfmarksupport html:s.......................`25o$html:5.3.1Thestandardmacros html:02........................`25Xhtml:5.4Writingpdfmarkcode html:򍍑............................`26Iffr @ -:q% cmsy6fh3{ ptmr7tThis lehasvMersionnumber4.25,lastrevised1997/05/05.1*sIhtml: html:oIhtml:6BookmarksinthePDF le html:ة:31 Xhtml:6.1Devicedependentsetup html:...........................`33I4html: html:ȍ1IntroductionYThisCPpackagederiv٠esfromandbuildsonthewgorkoftheHyperTU>?E1fXproject;see%0 pcrr7thttp://xxx.lanl.gov/hypertex/./It1aimstoe٠xtendthefunctionalityofallthe{LffA;TU>?E1fXcross-referencingcommands(includingthetableofcontents)toproduce\specialG(commands;itpro٠videsgeneralh7ypertextlinks,xincludingthosetoexternaldocuments.The#\specialcommandsarede nedinacon guration le.CAtpresenttherearebackgendsasfollows:h٠ypertex*dviFprocessorsconformingtotheHyperTU>?E1fXguidelines(i.e. jxdvikanddvipsk);pdfmark*ǘawgeneralizedinterfgacetoAcrobatpdfmarkcommands,3Tinpracticeoptimizedfordvipsdvipsone*basicallypdfmark,butslightly x٠edfordvipsonepdf2ps!PaspecialcaseofoutputsuitableforGhostscriptviewingpdftex 8@,forHanTheThanh's8sTU>?E1fXvariantdvipdf 'Serge٠yLesenkgo's8sspecialdvitoPDFdriverdviwindo,uY&Y's8sprevieweranddvitoPSdriv٠er4html: html:ȍ2UsageYUsehthispackagewithan٠ymoreorlessnormalLffA;TU>?E1fXdocumentbyspecifying\usepackage{hyperref}.Makgecsureitcomeslastofyourloadedpackages,i}togiv٠eita ghtingchanceofnotbeingo٠ver-written.Hopefullyyouwill ndthatallcross-referenceswgorkcorrectlyash7yperte٠xt.Thelow-lev٠elusermacroswhichareavailableareasfollows:@\hyperlink !", cmsy10flinknamegftext.g\hypertargetfanc٠hornamegftext.g\hreffURLgfanc٠hor:߸g\hyperimagefimaggeURLg\hyperdeffURLgfcategorygfnamegftext.g\hyperreffURLgfcategorygfnamegfanc٠hor:߸gff)Rfd\hyperdef~[label]fURLgfcategorygfnamegftext.g\hyperref~[label]fanc٠hor:߸gff)Rfd\htmladdimg~=\h7yperimage\htmladdnormallink~=\hrefAJThe\hyperlinkcommandinserts#infrontofeachlink,makingitrelativ٠etothecurrentdocument;\hrefe٠xpectsagenuineURL.2(sIhtml: html:oIhtml: html: 3Original,historyandackno$wledgementsYTheoriginalauthorsofhyperbasics.texandhypertex.sty,fromwhichthis packagedescends,are:T37anmogyBhattacharyatanmoy@qcd.lanl.govLosAlamosNationalLaboratoryNewMe٠xico,87544-0285USAandThorstenOhlThorsten.Ohl@Physik.TH-Darmstadt.deTLechnischeHochschuleDarmstadtSchlog7artenstrs8.9D-64289DarmstadtGerman٠yEv٠entually I rewrotemostofthestu ,0&becauseIdidn'tunderstandalotoftheoriginal,andwgasonlyinterestedingettingittoworkwithLffA;TU>?E1fX2 b> cmmi10"%ɹ;itstillhasproblems,7butthemajorityofLffA;TU>?E1fXdocumentsgothrough,withgoodPDFfunctionalityY.T37anmogyBhattacharyafoundagreatman٠yofthebugs,and(evenbetter)oftenprovided x٠es,whichhasmadethepackagemorerobust.*JThedaysspentonRevTU>?E1fXareentirelyduetohim!Theinv٠estig7ationsofBillMoss(bmoss@math.clemson.edu)intothelaterv٠ersionsincluding`nativepdf'scaredupahostofbugs,tandhistestingisappreciated.P٠atrickDalykindlyupdatedhisnatbibpackagetoalloweasyintegrationwithh7yperref.IlamlgratefultoMichaelMehlich,pwhosehyperpackage(dev٠elopedinparallelwithhyperref)showedmesolutionsforsomeproblems.'+Hopefullythetwgopackageswillcombineoneofthesedays!ThanksutoArthurSmith,MarkDogyle,P٠aulGinsparg,DavidCarlisle,T(VRamanandLeslieLamportforcomments,requests,thoughtsandcodetogetthepackageintoauseablestate.Especial4e٠xtrathankstoDavidCarlislefortheps2pdfanddviwindosupport.3SergeyLesenkgogpro٠videdthechangesneededfordvipdf,andHanTheThanhsuppliedalltheinformationneededforpdfte٠x.4html: html:ȍ4ThemacrosYj1 * cmsy9h+ow cmss9pack9age#g ihtml: html: .ߌ ptmb7t4.1PIackageoptionsIt$doesneedtheDecember95releaseofLffA;TU>?E1fX,lbecauseituses\protected@write,anditde nescommandsinoptions;:andthepagesetupinternalcodechangedatthatpoint.It'gllprobablybreakwiththelaterreleases!j2 &0 pcrr7t\NeedsTeXFormat{LaTeX2e}[1995/12/01] j3 \newif\ifHyper@Backrefj4 \newif\ifHyper@driverloadedj5 \newif\ifHyper@psize35^sIhtml: html:oNj6S\newif\ifHyper@colorlinks Nj7S\newif\ifHyper@FiguresNj8S\newif\ifHyper@NestingNj9S\newif\ifHyper@IndexJ10S\newif\ifHyper@PlainpagesJ11S\newif\if@ActiveAnchorJ12S\newif\ifHyper@raiselinksJ13S\newif\ifHyper@breaklinksJ14S\newif\ifHyper@pageanchorJ15S\newif\ifHyper@debugJ16S\Hyper@pageanchortrueJ17S\Hyper@raiselinksfalseJ18S\Hyper@breaklinksfalseJ19S\newdimen\@linkdimJ20S\Hyper@psizefalseJ21S\Hyper@IndextrueJ22S\Hyper@FiguresfalseJ23S\Hyper@NestingfalseJ24S\Hyper@BackreffalseJ25S\Hyper@driverloadedfalseJ26S\def\pdf@bbox{pdf@llxffpdf@llypdf@urxpdf@ury}J27S\ProvidesPackage{hyperref}[\filedate\space\fileversion\spaceffHypertextlinksforLaTeX]J28S\RequirePackage{keyval}J29S\RequirePackage{nameref}IThe`draft'optionmakgesthelow-lev٠elmacrosno-ops. J30S\DeclareOption{draft}{\AtBeginDocument{%J31iDF\gdef\hyper@anchor#1#2{#2}%J32iDF\gdef\hyper@@link[#1]#2#3#4{#4}%J33iDF\def\hyper@anchorstart#1{}%J34iDF\def\literalps@out#1{}%J35iDF\def\hyper@anchorend{}%J36iDF\def\hyper@linkstart#1{}%J37iDF\def\hyper@linkend{}%J38iDF\def\hyperbaseurl#1{}%J39iDF\def\@writetorep#1#2#3{}%J40iDF\typeout{*ffHyperref:Turnondraftmode*}J41c}%J42S}J43S\DeclareOption{nolinks}{\AtBeginDocument{%J44iDF\gdef\hyper@anchor#1#2{#2}%J45iDF\gdef\hyper@@link[#1]#2#3#4{#4}%J46iDF\def\hyper@anchorstart#1{}%J47iDF\def\hyper@anchorend{}%J48iDF\def\hyper@linkstart#1{}%J49iDF\def\hyper@linkend{}}J50S}J51S\DeclareOption{a4paper}{\def\special@paper{210mm,297mm}}J52S\DeclareOption{a5paper}{\def\special@paper{148mm,210mm}}J53S\DeclareOption{b5paper}{\def\special@paper{176mm,250mm}}J54S\DeclareOption{letterpaper}{\def\special@paper{8.5in,11in}}J55S\DeclareOption{legalpaper}{\def\special@paper{8.5in,14in}}J56S\DeclareOption{executivepaper}{\def\special@paper{7.25in,10.5in}}IColouringlinksattheLffA;TU>?E1fXlev٠elisusefulfordebugging,perhaps.4AssIhtml: html:oJ57S\DeclareOption{colorlinks}{% J58c\AtEndOfPackage{\RequirePackage{color}}%J59c\def\colorlink#1{\color{#1}}%J60c\Hyper@colorlinkstrueJ61S}J62S\DeclareOption{nocolorlinks}{%J63c\def\colorlink#1{}%J64c\Hyper@colorlinksfalseJ65S}IThedriv٠ersfordi erentbackgendsJ66S\DeclareOption{pdftex}{%J67c\input{pdftex.cfg}J68c\Hyper@breaklinkstrueJ69c\Hyper@driverloadedtrueJ70S}J71S\DeclareOption{dvipdf}{%J72c\input{dvipdf.cfg}J73c\Hyper@driverloadedtrueJ74S}J75S\DeclareOption{nativepdf}{%J76c\input{pdfmark.cfg}J77c\Hyper@driverloadedtrueJ78S}J79S\DeclareOption{pdfmark}{%J80c\input{pdfmark.cfg}J81c\Hyper@driverloadedtrueJ82c}J83S\DeclareOption{hypertex}{%J84c\input{hypertex.cfg}J85c\Hyper@driverloadedtrueJ86c}J87S\DeclareOption{dviwindo}{%J88iDF\input{dviwindo.cfg}%J89iDF\ExecuteOptions{colorlinks}%J90iDF\PassOptionsToPackage{dviwindo}{color}%J91iDF\Hyper@driverloadedtrue}J92S\DeclareOption{latex2html}{%J93c\AtBeginDocument{\@@latextohtmlX}%J94c}IMagicnumbers xforbrokgenps2pdfinghostscriptsuite(DavidCarlisle)J95S\DeclareOption{ps2pdf}{%J96c\def\pdf@bbox{%J97tpdf@llxff.12mul72addJ98tpdf@llyff-.12mul770addJ99tpdf@urxff.12mul72addGj100tpdf@uryff-.12mul770add}Gj101c\input{pdfmark.cfg}Gj102c\Hyper@driverloadedtrueGj103S}Gj104S\DeclareOption{nobookmarks}{Gj105Y\AtEndOfPackage{\global\let\ReadBookmarks\relax}%Gj106S}Gj107S\DeclareOption{nodebug}{%5KޠsIhtml: html:oGj108c\Hyper@debugfalse Gj109S}Gj110S\DeclareOption{debug}{%Gj111c\Hyper@debugtrueGj112S}IIfVwearegoingtoPDF37,thedvips(-ZVmoption)processordoesnotknowtheheightofa Ilink,zasϕitwgorkssolelyonthepositionoftheclosing\special.VIfweusethisoption,Ithe\specialisraisedupbytherightamount,tofoolthedviprocessors8.Gj113S\DeclareOption{raiselinks}{% Gj114^wz\Hyper@raiselinkstrueGj115S}Gj116S\DeclareOption{noraiselinks}{%Gj117^wz\Hyper@raiselinksfalseGj118S}Gj119S\DeclareOption{breaklinks}{%Gj120^wz\Hyper@breaklinkstrueGj121S}Gj122S\DeclareOption{nobreaklinks}{%Gj123^wz\Hyper@breaklinksfalseGj124S}Gj125S\DeclareOption{nopageanchor}{%Gj126^wz\Hyper@pageanchorfalseGj127S}Gj128S\DeclareOption{pageanchor}{%Gj129^wz\Hyper@pageanchortrueGj130S}ISetupback-referencingtobeh7yperlinks,bypage,sectionnumber,orsectiontitle.Gj131S\DeclareOption{backref}{%Gj132^wz\PassOptionsToPackage{hyperref}{backref}Gj133^wz\Hyper@BackreftrueGj134S}Gj135S\DeclareOption{pagebackref}{%Gj136^wz\PassOptionsToPackage{hyperpageref}{backref}Gj137^wz\Hyper@BackreftrueGj138S}IMakge|inde٠xentriesbelinksbacktotherelevant|pages.G Bydefaultthisisturnedon,but Imaybestopped.Gj139S\DeclareOption{hyperindex}{%Gj140^wz\Hyper@IndextrueGj141S}Gj142S\DeclareOption{nohyperindex}{%Gj143^wz\Hyper@IndexfalseGj144S}IAre+thepagelinksdoneasplainarabicnumbers,6ordothe٠yfollowtheformattingofthe Ipackage?Thelatterlosesifyouputintypesettinglikge\textbforthelike.Gj145S\DeclareOption{plainpages}{%Gj146c\Hyper@PlainpagestrueGj147S}Gj148S\DeclareOption{noplainpages}{%Gj149c\Hyper@PlainpagesfalseGj150S}6TssIhtml: html:oIMakgeGincluded gures(assumingthe٠yusethestandardgraphicspackage)beh7ypertext Ilinks.O bydefgault.Needsmorewgork.Gj151S\DeclareOption{hyperfigures}{\Hyper@Figurestrue} Gj152S\DeclareOption{nohyperfigures}{\Hyper@Figuresfalse}ICurrentlyY,dvihpsdoesn'tallowanchorsnestedwithintargets,sothisoptiontriestoIstopthathappening.Otherprocessorsmaybeabletocope.Gj153S\DeclareOption{nonesting}{% Gj154^wz\Hyper@NestingfalseGj155S}Gj156S\DeclareOption{nesting}{%Gj157^wz\Hyper@NestingtrueGj158S}Gj159S\DeclareOption{dvipsone}{%Gj160c\input{pdfmark.cfg}Gj161c\Hyper@driverloadedtrueGj162iDF\def\Hyper@dvidriver{1}%Gj163S}Gj164S\def\Hyper@dvidriver{0}Gj165S\def\@nil{}Gj166S\def\special@paper{210mm,297mm}Gj167S\ExecuteOptions{noraiselinks,nobreaklinks,nocolorlinks,noplainpages,%Gj168^wznonesting,hyperindex,nohyperfigures,pageanchor}Gj169S\InputIfFileExists{hyperref.cfg}{}{}Gj170S\ProcessOptionsGj171S\ifHyper@driverloaded\else\input{hypertex.cfg}\fiGj172S\ifHyper@BackrefGj173Y\RequirePackage{backref}Gj174S\elseGj175Y\def\Hyper@backout#1{}%Gj176S\fiGj177S\@ActiveAnchorfalseIXIhtml: html: G4.2BasichypertextmacrȹosLinkshav٠ea lename(possiblyaURL),aninternalname,Vandsomemarkgedtext.əIfthe rst/parameterisemptyY,{itsaninternallink,otherwiseweneedtoopenanother leoraURL.Anchorshav٠eaname,andmarkgedtext.j178 \def\hyper@link{\@ifnextchar[{\hyper@@link}{\hyper@@link[Normal]}}W37eBhav٠etobecarefulwiththemarkgedtext,asifwebreako partofsomethingtoputa\specialYaroundit,`allhellbreaksloose. Therefore,wecheckthecate٠gorycodeofthe rsttokgen,andonlyproceedifitssafe.T37anmoysortedthisout.Acuriouscasearisesiftheoriginalparameterwgasinbraces."Thatmeansthat#2comesahereamultipleletters, 9andthenoexpandjustlooksatthe rstone,puttingtherestintheoutput.Yuck.j179 \long\def\hyper@anchor#1#2{\hyper@@anchor#1\relax#2\relax} j180 \long\def\hyper@@anchor#1\relax#2#3\relax{%j181 \ifx\\#1\\#2\typeout{emptyfflink?#1:#2#3}%j182 \elsej183\def\anchor@spot{#2#3}%j184\def\put@me@back{}%j185\ifx\relax#2\relax7]sIhtml: html:oGj186Y\else Gj187iDF\ifHyper@NestingGj188iDF\elseGj189ywx\ifcatffa\noexpand#2\relaxGj190ywx\elseGj191DD\ifcatff0\noexpand#2\relaxGj192DD\elseGj193S%\typeout{Anchorffstartisnotalphanumericoninputline\the\inputlineno}%Gj194\def\anchor@spot{}%Gj195\def\put@me@back{#2#3}%Gj196DD\fiGj197t\fiGj198iDF\fiGj199Y\fiGj200Y\if@ActiveAnchorGj201t\anchor@spotGj202Y\elseGj203t\hyper@@@anchor{#1}%Gj204Y\fiGj205Y\expandafter\put@me@backGj206S\fiGj207S}IW37eF mayneedtokgeepthebe٠ginningandendoftheanchorseparate,Qwhenawholesection Iisthelink.Setthisup.Anchorsofthistypearenotcoloured!!!I4html: html: ȍ4.3Userhypertextmacrȹos\hyperlinks hastwgoarguments,uthenameofah7yperte٠xtobjectde nedsomewhereby\hypertarget,_and2theanchorte٠xt.2R\hrefalsohastwgoarguments,butthe rstisinthiscaseafullURL.Thedi erenceisthat\hyperlinkputsinthe#signforyou,foruseininternalcross-referencing.~Ygouhav٠etoescapethe#,$~and%charactersintheURL.\hyperimagepointstoagraphic.Aisimplej#linkiscreatedwith\hypertarget,withtwgoparametersofananchorname,andanchorte٠xt.j208 \def\hyperlink#1#2{% j209wz\hyper@link{}{\hyper@hash#1}{#2}%j210 }%j211 \def\href#1#2{%j212wz\bgroupj213wz\let\%\@percentcharj214wz\let\#\hyper@hashj215wz\let\~\hyper@tildej216wz\hyper@link{#1}{}{#2}%j217wz\egroupj218 }j219 \let\old@url\urlj220 \def\url#1{\href{#1}{\old@url{#1}}}j221 \def\hypertarget#1#2{%j222 \ifHyper@Nestingj223wz\hyper@anchor{#1}{#2}%j224 \else8 isIhtml: html:oGj225^wz\hyper@anchor{#1}#2 Gj226S\fiGj227S}I\hyperref%ismorecomplicated,7>asitincludestheconceptofacate٠goryoflink,usedto ImakgeDthename.Thisisnotreallyusedinthispackage.\hyperdefsetsupananchorinIthesamewgayY.6The٠yeachhavefourparameters:URL,name,-categoryandlinkname.6IfIthereisanoptional rstparameterto\hyperdef,itisthenameofaLffA;TU>?E1fXlabelwhichIcan4beusedinashortformof\hyperreflater,atoavoid4rememberingthenameandIcate٠goryY.Gj228S\def\hyperref{\@ifnextchar[{\label@hyperref}{\@hyperref}} Gj229S\def\@hyperref#1#2#3#4{%ffURL,category,name,textGj230^wz\bgroupGj231^wz\let\%\@percentcharGj232^wz\let\#\hyper@hashGj233^wz\let\~\hyper@tildeGj234^wz\ifx\\#2\\%Gj235iDF\ifx\\#3\\%Gj236n\hyper@link{#1}{}{#4}%Gj237iDF\elseGj238~\hyper@link{#1}{\hyper@hash#3}{#4}%Gj239iDF\fiGj240^wz\elseGj241iDF\hyper@link{#1}{\hyper@hash#2.#3}{#4}%Gj242^wz\fiGj243^wz\egroupGj244S}Gj245S\def\hyperdef{\@ifnextchar[{\label@hyperdef}{\@hyperdef}}Gj246S\def\@hyperdef#1#2#3#4{%ffURL,category,name,textGj247S\ifHyper@NestingGj248^wz\hyper@anchor{#1#2.#3}{#4}%Gj249S\elseGj250^wz\hyper@anchor{#1#2.#3}#4Gj251S\fiGj252S}IW37eFalsohav٠eaneedtogiveaLffA;TU>?E1fXlabelιtoah7yperreference,-toeasethepainofreferring ItoitlaterGj253S\def\label@hyperref[#1]#2{%Gj254^wz\expandafter\label@@hyperref{\csnameffr@#1\endcsname}{#1}{#2}%Gj255S}Gj256S\def\label@@hyperref#1#2#3{%Gj257^wz\ifx#1\relaxGj258c\protect\G@refundefinedtrueGj259iDF\@latex@warning{Hyperffreference`#2'onpage\thepage\spaceGj260undefined}%Gj261c\hyper@link{}{??}{#3}%Gj262^wz\elseGj263c\hyper@link{}{#1}{#3}%Gj264^wz\fiGj265S}Gj266S\def\label@hyperdef[#1]#2#3#4#5{%fflabelname,url,category,name,Gj267wn%ffanchortextGj268^wz\@bsphack9 rsIhtml: html:oGj269^wz\protected@write\@auxout{}% Gj270DD{\string\newlabel{#1}{#2\protect\hyper@hash#3.#4}}%Gj271^wz\@esphackGj272^wz\ifHyper@NestingGj273c\hyper@anchor{#2#3.#4}{#5}%Gj274^wz\elseGj275c\hyper@anchor{#2#3.#4}#5Gj276^wz\fiGj277S}Ikhtml: html: 4.4Compatibilitywiththe1ڶ% ptmbi7tL}4ڶ% ptmbi7tA7LTšEX2html$packageMap-ourmacronamesontoNikgos',>Rsothatdocumentspreparedforthatsystemwillwork withoutchange.Note,howev٠er,thatCthewholecomplicatedstructureforse٠gmentingdocumentsisnotsupported;Jitisassumedthattheuserwillloadhtml.sty rst,andthenhyperref.sty,soSthatthede nitionsinhtml.stytakgee ect,andaretheno٠ver-riddeninafewcircumstancesbythispackage.j278 \let\htmladdimg\hyperimage j279 \def\htmladdnormallink#1#2{\href{#2}{#1}}j280 \def\htmladdnormallinkfoot#1#2{\href{#2}{#1}\footnote{#2}}j281 \def\htmlref#1#2{%ffanchortext,labelj282wz\label@hyperref[#2]{#1}%j283 }This isreallytoomuch.TheLffA;TU>?E1fX2htmlpackagede nesitsown\hyperrefcommand, with7adi erentsyntax.s=W37asthisalgways7here?Itsweird,an٠ywgayY.W37einterpretitinthe`printed'wgayY,sinceweareabout delitytothepage.j284 \def\@@latextohtmlX{% j285\let\hhyperref\hyperrefj286\def\hyperref##1##2##3##4{%ffanchortextforHTMLj287| %fftexttoprintbeforelabelinprintj288| %fflabelj289| %ffpost-labeltextinprintj290wz##2\ref{##4}##3}%j291 }khtml: html: 4.5AffutomatedLq,5ߌ ptmb7tATEXhypertextcrȹoss-referencesEmend\\@setreftoputoutah7yperte٠xtlinkaswellasitsnormaltext(whichisusedas ananchor).j292 \let\real@setref\@setrefj293 \def\@setref#1#2#3{%ffcsname,extractmacro,refj294wz\ifx#1\relaxj295\protect\G@refundefinedtruej296\nfss@text{\reset@font\bfseriesff??}%j297\@latex@warning{Referenceff`#3'onpage\thepage\spacej298Pundefined}%j299wz\elsej300\hyper@link{}{\hyper@hash\expandafter\@fourthoffour#1\@empty\@empty}%j3010wx{\expandafter#2#1\@empty\@empty\null}%j302wz\fi}10 |ؠsIhtml: html:oISety\pagereftobealink.\realpagerefisavailableforpeoplewhoknowabout Ithesethings,whichusesacopgyof\@setref.Gj303S\def\pageref#1{\expandafter\@pagesetref\csnameffr@#1\endcsname Gj304\@secondoftwo{#1}}Gj305S\def\@pagesetref#1#2#3{%ffcsname,extractmacro,refGj306^wz\ifx#1\relaxGj307c\protect\G@refundefinedtrueGj308c\nfss@text{\reset@font\bfseriesff??}%Gj309c\@latex@warning{Referenceff`#3'onpage\thepage\spaceGj310undefined}%Gj311^wz\elseGj312c\hyper@link{}{\hyper@hashffpage.\expandafter\@secondoffour#1}%Gj313ywx{\expandafter\@secondoffour#1}%Gj314^wz\fi}Gj315S\def\realpageref#1{\expandafter\real@setrefGj316^wz\csnameffr@#1\endcsname\@secondoffour{#1}}IAn٠ything.whichcanbereferencedadvancessomecounter;bweoverloadthistoputinaIh7yperte٠xtxstartingpoint(withnovisibleanchor),andmakgeanoteofthatforlateruseIin)\label.Thiswillfgailbadlyif\theHdoesnote٠xpandtoasensiblerefe-Irence.(ThisXmeansthatclassesorpackagewhichintroducenewelementsneedtode neIanƝequivalent\theHforev٠ery\the.nW37edomakgeatraptomakeI\theH=bethesameas\arabic{},Jif\theHisnotde ned,Ibutthisisnotnecessarilyagoodidea.XAlltheshenanig7ansistomakgesuresectionnumbersetcarealwaysarabic,separatedIbydots.Whoknowshowpeoplewillsetup\@currentlabel?Ifthe٠yputspacesinI(quitele٠g7al)thenthehyperte٠xtprocessorswillgetupset.XButthisis ak٠yY,andopentoabuse.xStyleslikgesubeqnwillmessitup,forstarters.IAppendicesk/areanissue,oYtoo.W37ejusthopetoco٠verk/mostsituations.W37ecanatleastcopeIwiththestandardsectioningstructure,allowingfor\partand\chapter.Gj317S\@ifundefined{thepart}{}{\newcommand\theHpart{\arabic{part}}}Gj318S\@ifundefined{thechapter}{%Gj319n\newcommand\theHsection+30{\arabic{section}}Gj320n\newcommand\theHfigure0{\arabic{figure}}Gj321n\newcommand\theHtable0{\arabic{table}}Gj322^wz}{%Gj323^wz\@ifundefined{thepart}%Gj324iDF{\newcommand\theHchapter%{\arabic{part}.\arabic{chapter}}}Gj325iDF{\newcommand\theHchapter%{\arabic{chapter}}}Gj326^wz\newcommand\theHfigure+30{\theHchapter.\arabic{figure}}Gj327^wz\newcommand\theHtable+30{\theHchapter.\arabic{table}}Gj328^wz\newcommand\theHsection%{\theHchapter.\arabic{section}}Gj329^wz}Gj330S\newcommand\theHsubsection{\theHsection.\arabic{subsection}}Gj331S\newcommand\theHsubsubsectionff{\theHsubsection.\arabic{subsubsection}}Gj332S\newcommand\theHparagraph{\theHsubsubsection.\arabic{paragraph}}Gj333S\newcommand\theHsubparagraph {\theHparagraph.\arabic{subparagraph}}Gj334S\newcommand\theHtheorem%{\theHsection.\arabic{theorem}}Gj335S\newcommand\theHthm%{\theHsection.\arabic{thm}}IThanks[toGretaMe٠yer(gbd@pop.cwru.edu)formakingmerealizethatenumerationIstartsat0forev٠erylist!SoprependthelowestsectionnumberGj336S\newcommand\theHenumi {\theHparagraph.\arabic{enumi}}11 IsIhtml: html:oGj337S\newcommand\theHenumii {\theHenumi.\arabic{enumii}} Gj338S\newcommand\theHenumiii {\theHenumii.\arabic{enumiii}}Gj339S\newcommand\theHenumiv {\theHenumiii.\arabic{enumiv}}Gj340S\newcommand\theHequationff{\theHsection.\arabic{equation}}Gj341S\newcommand\theHHfootnote {\arabic{Hfootnote}}Gj342S\newcommand\theHmpfootnote {\arabic{mpfootnote}}Gj343S\let\theHHmpfootnote\theHHfootnoteGj344S\newcommand\theHslide {\arabic{slide}}Gj345S\let\orig@appendix\appendixGj346S\def\appendix{\orig@appendixGj347S\@ifundefined{thechapter}%Gj348Y{\renewcommand\theHsection{\Alph{section}}}%Gj349Y{\renewcommand\theHchapter{\Alph{chapter}}}%Gj350S}dIT37anmogy\askedforthisdefaulthandlingofunde ned\theHsituations.iItre- Iallynisn'tclearwhatwgouldbeideal,h whethertoturno h7yperizingofunknownele-Iments,;8topickupthete٠xtualde nitionofthecounter,ortodefgaultittosomethinglikeI\arabic{name}.W37etakgethelattercourse,slightlyworriedlyY. dGj351S\let\H@refstepcounter\refstepcounter Gj352S\def\refstepcounter#1{%Gj353Y\def\w@t{equation}%Gj354Y\H@refstepcounter{#1}%Gj355Y\ifx#1\w@tGj356^wz\make@stripped@name{\theequation}%Gj357^wz\let\theHequation\newnameGj358Y\fiGj359Y\@ifundefined{theH#1}{%Gj360^wz\expandafter\def\csnamefftheH#1\endcsname{\arabic{#1}}%Gj361^wz%\typeout{theH#1ffdefaultedtoarabiccounter}%Gj362Y}{}%Gj363Y\hyper@makecurrent{#1}%Gj364Y\hyper@anchorstart{\@currentHref}%Gj365Y\hyper@anchorendGj366S}Gj367S\def\hyper@makecurrent#1{%Gj368Y\edef\@currentHlabel{\csnamefftheH#1\endcsname}%Gj369Y\global\edef\@currentHref{#1.\expandafterGj370iDF\strip@prefix\meaning\@currentHlabel}%Gj371S}Ihtml: html: 4.6EquationsW37ewganttomakethewholeequationatargetanchors8.0o٠verloadequation,*temporarily rev٠ertingtooriginal\refstepcounter.XIf,howev٠er,itsinAMSmath,wedonotdoan٠ything,asthetagmechanismisusedthere(seesection html:4.13 html:).j372 \let\new@refstepcounter\refstepcounter j373 \let\H@equation\equationj374 \let\H@endequation\endequationj375 \@ifpackageloaded{amsmath}{}{%j376\def\equation{%j377\let\refstepcounter\H@refstepcounterj378\H@equationj379\make@stripped@name{\theequation}%12 5sIhtml: html:oGj380Y\let\theHequation\newname Gj381Y\hyper@makecurrent{equation}%Gj382Y\hyper@anchorstart{\@currentHref}%Gj383Y\let\refstepcounter\new@refstepcounterGj384Y}\def\endequation{\hyper@anchorend\H@endequation}}IMyagoodness,9wh7ycan'tLffA;TU>?E1fXbeconsistent?Whyis\eqnarraysetupdi erently Ifromotherobjects?Gj385S\let\H@eqnarray\eqnarrayGj386S\let\H@endeqnarray\endeqnarrayGj387S\def\eqnarray{%Gj388Y\let\reserved@a\relaxGj389Y\H@eqnarrayGj390Y\make@stripped@name{\theequation}%Gj391Y\let\theHequation\newnameGj392Y\hyper@makecurrent{equation}%Gj393Y\hyper@anchorstart{\@currentHref}%Gj394S}Gj395S\def\endeqnarray{%Gj396Y\hyper@anchorendGj397Y\H@endeqnarrayGj398S}IThenag7ain,wehav٠ethesubeqnarraypackage.T37anmogyprovidedsomecodeforthis:Gj399S\@ifundefined{subeqnarray}{}%Gj400S{\let\H@subeqnarray\subeqnarrayGj401Y\let\H@endsubeqnarray\endsubeqnarrayGj402Y\def\subeqnarray{%Gj403^wz\let\reserved@a\relaxGj404^wz\H@subeqnarrayGj405^wz\make@stripped@name{\theequation}%Gj406^wz\let\theHequation\newnameGj407^wz\hyper@makecurrent{equation}%Gj408^wz\hyper@anchorstart{\@currentHref}%Gj409^wz}%Gj410^wz\def\endsubeqnarray{%Gj411c\hyper@anchorendGj412c\H@endsubeqnarrayGj413^wz}%Gj414S\newcommand\theHsubequationff{\theHequation\alph{subequation}}%Gj415S}Gj416S\def\make@stripped@name#1{{%Gj417Y\escapechar\m@neGj418Y\global\let\newname\@emptyGj419Y\protected@edef\@tempa{#1}%Gj420Y\edef\@tempb{%Gj421^wz\noexpand\@tfor\noexpand\@tempa:=\expandafter\strip@prefix\meaning\@tempa}%Gj422Y\@tempb\do{%Gj423^wz\if{\@tempa\elseGj424iDF\if}\@tempa\elseGj425t\xdef\newname{\newname\@tempa}%Gj426iDF\fiGj427^wz\fi}}}Ikhtml: html:13KsIhtml: html:oI4.7dF3ootnotesIThefootnotemarkisah7yperte٠xtlink,zandthetextisatarget.ljW37eseparatelynumberthe Ifootnotes sequentiallythroughthete٠xt,܏separatelyfromwhateverlabelsthetextassigns.IT37oohardtokgeeptrackofmarkersotherwise.Gj428S\newcounter{Hfootnote} Gj429S\let\H@@footnotemark\@footnotemarkGj430S\let\H@@footnotetext\@footnotetextGj431S\let\H@@mpfootnotetext\@mpfootnotetextGj432S\long\def\@mpfootnotetext#1{%Gj433^wz\H@@mpfootnotetext{%IIfwecannothav٠enesting,justthe rstcharacters8.Gj434S\ifHyper@NestingGj435^wz\hyper@anchor{\@currentHref}{#1}%Gj436S\elseGj437^wz\hyper@anchor{\@currentHref}#1%Gj438S\fiGj439^wz}%Gj440S}Gj441S\long\def\@footnotetext#1{%Gj442^wz\H@@footnotetext{%IIfwecannothav٠enesting,justthe rstcharacters8.Gj443S\ifHyper@NestingGj444^wz\hyper@anchor{\@currentHref}{#1}%Gj445S\elseGj446^wz\hyper@anchor{\@currentHref}#1%Gj447S\fiGj448^wz}%Gj449S}Gj450S\def\@footnotemark{%Gj451Y\H@refstepcounter{Hfootnote}%Gj452Y\hyper@makecurrent{Hfootnote}%Gj453Y\hyper@linkstart{\hyper@hash\@currentHref}%Gj454Y\H@@footnotemark\hyper@linkendGj455S}Gj456S\def\realfootnote{\@ifnextchar[\@xfootnote{\stepcounter{\@mpfn}%Gj457n\protected@xdef\@thefnmark{\thempfn}%Gj458n\H@@footnotemark\H@@footnotetext}}IBut?thespecialfootnotesin\maketitlearemuchtoohardtodealwithproperlyY.ULet Ithemrev٠erttoplainbehaviours8.Gj459S\let\orig@maketitle\maketitleGj460S\def\maketitle{%Gj461Y\let\H@@origfootnotemark\@footnotemarkGj462Y\let\H@@origfootnotetext\@footnotetextGj463Y\let\@footnotemark\H@@footnotemarkGj464Y\let\@footnotetext\H@@footnotetextGj465Y\orig@maketitleGj466Y\ifx\@footnotemark\H@@footnotemarkGj467^wz\let\@footnotemark\H@@origfootnotemarkGj468Y\fiGj469Y\ifx\@footnotetext\H@@footnotetextGj470^wz\let\@footnotetext\H@@origfootnotetext14ܠsIhtml: html:oGj471Y\fi Gj472S}Ikhtml: html: 4.8FloatcaptionsMakge'the oatcaptiontheh7yperte٠xtanchor;9curiouslyenough,0wecan'tjustcopythe de nitionof\@caption.Itsalltodowithe٠xpansion.Itscrewsup.Sigh.j473 \def\caption{\H@refstepcounter\@captypeff\@dblarg{\@caption\@captype}}j474 \long\def\@caption#1[#2]#3{%j475wz\hyper@makecurrent{\@captype}%j476wz\par\addcontentsline{\csnamej477wzext@#1\endcsname}{#1}{\protect\numberline{\csnamej478wzthe#1\endcsname}{\ignorespacesff#2}}\begingroupj479 DF\@parboxrestorej480 DF\normalsizej481 DF\@makecaption{\csnamefffnum@#1\endcsname}{\ignorespacesIfwwecannothav٠enesting,justthe rstcharacterofthecaptionistheanchors8.IfthecaptionisemptyY,makgeitanunbreakablespace.j482 \ifx\\#3\\\def\cap@contents{~}\else\def\cap@contents{#3}\fij483 \ifHyper@Nestingj484\hyper@anchorstart{\@currentHref}\cap@contents\hyper@anchorendj485 \elsej486\hyper@anchor{\@currentHref}\cap@contents{}%j487 \fij488 }\parj489wz\endgroup}html: html: 44.9BibliographicrȹeferencesThis5isnotv٠eryrobust,sincemanystylesrede nethesethings._8Thepackageusedtorede ne\@citexandthelikge;thenwetriedaddingtheh7yperrefcalle٠xplicitlyintothe.auxE le.jNowwerede ne\bibcite;thisstillbreakssomecitationpackagessowehav٠e=\towgorkaroundthem.bButthisremainsextremelydangerous.bAnyorallofachemso,c٠hapterbib,anddrftcitemaybreak.Howev٠er,3letsmakgeanattempttogetnatbibright,becausethatsapowerful,importantpackage.P٠atrickDalyhasprovidedhooksforus,soallweneedtodoisactivatethem.j490 \def\hyper@natlinkstart#1{%j491wz\Hyper@backout{#1}%j492wz\hyper@linkstart{\hyper@hashffcite.#1}%j493 }j494 \def\hyper@natlinkend{%j495\hyper@linkend[Cite]%j496 }j497 \def\hyper@natanchorstart#1{%j498%\hyper@anchorstart{cite.#1}%j499 }j500 \def\hyper@natanchorend{\hyper@anchorend}j501 \@ifpackageloaded{natbib}{}{%j502 \def\bibcite#1#2{%j503\@newl@bel{b}{#1}{\hyper@link[Cite]{}{\hyper@hashffcite.#1}{#2}}}%\@BIBLABELiswgorkingarounda`feature'ofRevTU>?E1fX.15sIhtml: html:oGj504S\providecommand{\@BIBLABEL}{\@biblabel}% Gj505S\def\@lbibitem[#1]#2{%Gj506Y\item[\hyper@anchorstart{cite.#2}\@BIBLABEL{#1}\hyper@anchorend\hfill]%Gj507Y\if@filesw{\let\protect\noexpandGj508c\immediate\write\@auxout{%Gj509n\string\bibcite{#2}{#1}}}%Gj510^wz\fiGj511^wz\ignorespacesGj512S}%Gj513S\def\@bibitem#1{%Gj514Y\itemGj515Y\hyper@anchor{cite.#1}{\relax}%Gj516Y\if@fileswff{\let\protect\noexpandGj517Y\immediate\write\@auxout{%Gj518c\string\bibcite{#1}{\the\value{\@listctr}}}}%Gj519Y\fiGj520Y\ignorespacesGj521S}%Gj522S}IRevte٠xj(blessitslittleheart)takgesover\bibciteandlooksattheresulttomeasure Isomething.Makgethisah7yperte٠xtlinkanditgoesape.Therefore,QmakgeananodyneIresult rst,callitsbusiness,thengobacktotherealthing.Gj523S\@ifclassloaded{revtex}{% Gj524Y\typeout{***ffHyperrefcompatibilitywithrevtex****}%Gj525Y\def\revtex@checking#1#2{%Gj526c\expandafter\let\expandafter\T@temp\csnameffb@#1\endcsnameGj527c\expandafter\def\csnameffb@#1\endcsname{#2}%Gj528c\@SetMaxRefLabel{#1}%Gj529c\expandafter\let\csnameffb@#1\endcsname\T@tempGj530^wz}%IT37anmogypro٠videdthisreplacementforCITEX.Lordknowswhatitdoes.Gj531S\@ifundefined{@CITE}{\def\@CITE{\@cite}}{}Gj532S\def\@CITEX[#1]#2{%Gj533^wz\let\@citea\@emptyGj534^wz\leavevmode\unskip$^{\scriptstyleGj535^wz\@CITE{\@for\@citeb:=#2\doGj536iDF{\@citea\def\@citea{,\penalty\@m\ff}%Gj537n\edef\@citeb{\expandafter\@firstofone\@citeb}%Gj538n\if@filesw\immediate\write\@auxout{\string\citation{\@citeb}}\fiGj539n\@ifundefined{b@\@citeb}{\mbox{\reset@font\bfseriesff?}%Gj540ywx\G@refundefinedtrueGj541ywx\@latex@warningGj542DD{Citationff`\@citeb'onpage\thepage\spaceundefined}}%Gj543ywx{{\csnameffb@\@citeb\endcsname}}}}{#1}}$}INo,plife@istooshort.[GI@^amnotgoingtounderstandtheRevte٠x\@collapsemacro,I Ishalljustrestoretheoriginalbehaviourof\@citex;sigh.ThisisSOvile.Gj544S\def\@citex[#1]#2{%Gj545^wz\let\@citea\@emptyGj546^wz\@cite{\@for\@citeb:=#2\doGj547iDF{\@citea\def\@citea{,\penalty\@m\ff}%Gj548n\edef\@citeb{\expandafter\@firstofone\@citeb}%Gj549n\if@filesw\immediate\write\@auxout{\string\citation{\@citeb}}\fi16ŽsIhtml: html:oGj550n\@ifundefined{b@\@citeb}{\mbox{\reset@font\bfseriesff?}% Gj551ywx\G@refundefinedtrueGj552ywx\@latex@warningGj553DD{Citationff`\@citeb'onpage\thepage\spaceundefined}}%Gj554ywx{\hbox{\csnameffb@\@citeb\endcsname}}}}{#1}}Gj555S}{}IOv٠errideoPeterWilliams'Harvardpackage;u.wehavetoa)makgeeachofthecitationtypes Iintoalink;_$b)makgeeachcitationwriteabackrefentryY,9andc)kicko abackreferenceIsectionforeachbibliograph7yentryY.Gj556S\@ifpackageloaded{harvard}{% Gj557Y\typeout{***ffHyperrefcompatibilitywithharvard****}%Gj558Y\Hyper@raiselinksfalseGj559Y\def\harvardcite#1#2#3#4{%Gj560^wz\global\@namedef{HAR@fn@#1}{\hyper@link[Cite]{}{\hyper@hashffcite.#1}{#2}}%Gj561^wz\global\@namedef{HAR@an@#1}{\hyper@link[Cite]{}{\hyper@hashffcite.#1}{#3}}%Gj562^wz\global\@namedef{HAR@yr@#1}{\hyper@link[Cite]{}{\hyper@hashffcite.#1}{#4}}%Gj563^wz\global\@namedef{HAR@df@#1}{\csnameffHAR@fn@#1\endcsname}%Gj564Y}%Gj565Y\def\HAR@citetoaux#1{%Gj566c\if@filesw\immediate\write\@auxout{\string\citation{#1}}\fi%Gj567c\ifHyper@BackrefGj568iDF\def\@nothing{}%Gj569iDF\ifx\@nothing\@currentlabel\elseGj570n\@bsphackGj571n\protected@write\@auxout{}%Gj572n{\string\@writefile{brf}%Gj573ywx{\string\backcite{#1}{{\@currentlabel}{\thepage}{\@currentHref}}}}%Gj574n\@esphackGj575iDF\fiGj576^wz\fiGj577Y}Gj578Y\def\harvarditem{\@ifnextchar[{\@harvarditem}{\@harvarditem[\null]}}Gj579Y\def\@harvarditem[#1]#2#3#4#5\par{%Gj580Y\item[]%Gj581Y\hyper@anchor{cite.#4}{\relax}%Gj582Y\if@filesw{ff\def\protect##1{\string##1\space}%Gj583Y\ifthenelse{\equal{#1}{\null}}Gj584^wz{\def\next{{#4}{#2}{#2}{#3}}}Gj585^wz{\def\next{{#4}{#2}{#1}{#3}}}Gj586Y\immediate\write\@auxout{\string\harvardcite\codeof\next}%Gj587Y}\fi%Gj588Y\protect\hspace*{-\labelwidth}\protect\hspace*{-\labelsep}\ignorespaces%Gj589Y#5Gj590Y\ifHyper@BackrefGj591^wz\newblockGj592^wz\backref{\csnameffbr@#4\endcsname}%Gj593Y\fiGj594Y\parGj595S}%Gj596S}{}Ikhtml: html:17"sIhtml: html:oI4.10jPIagenumbersIGiv٠e/every/pageanautomaticnumberanchors8.(Thisinvolves,[sigh,overloading/LffA;TU>?E1fX's8s Ioutputrbitsandpieces,whichmustbedangerous.LThisusedtobe\@shipoutsetup,Inow\@begindvi.W37ecannotev٠enoverloadthis,asitsetsitselftonull.SIGH.Gj597S\def\@begindvi{% Gj598^wz\unvboxff\@begindviboxGj599Y\ifHyper@pageanchorGj600^wz\@hyperfixheadGj601^wz\global\letff\@begindvi\@hyperfixheadGj602Y\elseGj603^wz\global\letff\@begindvi\@emptyGj604Y\fiGj605S}Gj606S\def\hyperpageanchor{%Gj607c\ifHyper@PlainpagesGj608n\hyper@anchor{page.\arabic{page}}\relaxGj609c\elseGj610n\hyper@anchor{page.\thepage}\relaxGj611c\fiGj612Y}Gj613S\let\HYPERPAGEANCHOR\hyperpageanchorGj614S\def\@hyperfixhead{%Gj615Y\let\H@old@thehead\@theheadGj616c\ifHyper@PlainpagesGj617n\gdef\@foo{\hyper@anchor{page.\arabic{page}}}%Gj618c\elseGj619n\gdef\@foo{\hyper@anchor{page.\thepage}}%Gj620c\fiGj621c\expandafter\ifx\expandafter\@empty\H@old@theheadGj622n\def\H@old@thehead{\hfil}\fiGj623^wz\def\@thehead{\@foo\relax\H@old@thehead}%Gj624S}Ikhtml: html: 4.11!Tfableofcontentsj625 \def\addcontentsline#1#2#3{%j626wz\ifx\@currentHref\@emptyj627wz\typeout{Warning.ffcontentslinewithnodestinationj628%atffline\the\inputlineno}\fij629wz\addtocontents{#1}{\protect\contentsline{#2}{#3}{\thepage}{\@currentHref}}%j630 }j631 \def\contentsline#1#2#3#4{%j632 %\end{macrocode}j633 %ffTVRamannoticedthatpeoplewhoaddthelistoffiguresintotheTOCj634 %ffgenerateabadornulllink.Avoidthatbycheckingifthedestinationj635 %ffisempty.j636 %\begin{macrocode}j637\ifx\\#4\\%j638wz\csnameffl@#1\endcsname{#2}{#3}%j639 \elsej640\csnameffl@#1\endcsname{%j641 DF\hyper@linkstart{\hyper@hash#4}{#2}\hyper@linkend}j642{#3}%18͠sIhtml: html:oGj643S\fi Gj644S}Ikhtml: html: 4.12!NewcountersThewholetheorembusinessmakgesupnewcountersonthe y;Awearegoingtointercept this.Sigh.Doitatthelev٠elwherenewcountersarede ned.j645 \let\H@definecounter\@definecounterj646 \def\@definecounter#1{%j647\H@definecounter{#1}%j648\expandafter\def\csnamefftheH#1\endcsname%{\arabic{#1}}%j649 }But Lwhatifthe٠yhaveusedtheoptionalargumenttoe.g.}\newtheoremtodeterminewhenthenumberingisreset?OK,we'glltrapthattoo.j650 \let\H@newctr\@newctrj651 \def\@newctr#1[#2]{%j652wz\H@newctr#1[#2]%j653wz\expandafter\def\csnamefftheH#1\endcsnamej654 DF{\csnameffthe#2\endcsname.\arabic{#1}}%j655 }khtml: html: 4.13!AMSLq,ATEXcompatibilityOh,Hwno,the٠y:don'tuseanythingassimpleas\refstepcounterintheAMS!W37eneedtointerceptsomelow-lev٠eloperationsoftheirs. html: 44.14!Included gurȹesSimplyinterceptthelowlev٠elgraphicspackagemacro.19sIhtml: html:oGj666S\ifHyper@Figures Gj667Y\def\Gin@setfile#1#2#3{%Gj668Y\hyperimage{#3}%Gj669Y}Gj670S\fiIXIhtml: html: G4.15!IndexentriesHyper-inde٠xing}wgorkscrudelyY,byforcingcodeontotheendoftheindexentrywiththe |ҹfeature;_;thisputsah7yperlinkaroundtheprintedpagenumbers.ItwillnotproceediftheCauthorhasalreadyusedthe|speci erforsomethinglikgeemboldeningentries.bThatwgould[makeMakeinde٠xfail(cannothav٠etwo|speci ers). CThesolutionisfortheauthorto#|usegenericcoding,5andputintherequisite\hyperPageinhis/herownmacrosalongwiththeboldness.Thisisectionispoorstu ;it's8sopentoallsortsofabuse.XSensiblelargeprojectswilldesigntheirowninde٠xingmacrosanybypassthis.j671 \ifHyper@Index j672\def\@wrindex#1{\@@wrindex#1||\\}j673\def\@@wrindex#1|#2|#3\\{%j674\ifx\\#2\\%j675\protected@write\@indexfile{}%j676+{\string\indexentry{#1|hyperpage}{\thepage}}%j677\elsej678\protected@write\@indexfile{}%j679+{\string\indexentry{#1|#2}{\thepage}}%j680\fij681\endgroupj682\@esphackj683 }j684 \fiThis[oag7ainisquite ak٠yY,bbutallowforthecommonsituationofapagerangeseparatedby en-rule.W37esplitthisintotwgodi erenth7yperlinkedpages.j685 \def\hyperpage#1{\@hyperpage#1----\\}j686 \def\@hyperpage#1--#2--#3\\{%j687\ifx\\#2\\%j688 DF\@commahyperpage{#1}%j689\elsej690wz\hyperlink{page.#1}{#1}--\hyperlink{page.#2}{#2}%j691\fij692 }j693 \def\@commahyperpage#1{\@@commahyperpage#1,ff,\\}j694 \def\@@commahyperpage#1,ff#2,#3\\{%j695\ifx\\#2\\%j696\hyperlink{page.#1}{#1}%j697\elsej698\hyperlink{page.#1}{#1},ff\hyperlink{page.#2}{#2}%j699\fij700 }khtml: html: 4.16!Compatibilitywithseminarslidepackagej701 \let\oldslide@heading\slide@heading20`sIhtml: html:oGj702S\def\slide@heading[#1]#2{% Gj703Y\@writetorep{#1}{slide.\theslide}{0}%Gj704Y\oldslide@heading[#1]{#2}%Gj705S}Gj706S\@ifundefined{listofslides}{}{%Gj707Y\def\l@slide#1#2#3{%Gj708iDF\slide@undottedcline{\slidenumberline{#3}{\hyperlink{slide.#2}{#2}}}{}}%Gj709S}Ikhtml: html: 4.17!LocalizednullifyingofpackageSometimeswejustdon'twgantthewretchedpackageinterferingwithus.vrDe neanenvi- ronmentEwecanputinmanuallyY,Qporincludeinastyle le,whichstopstheh7yperte٠xtfunc-tionsdoingan٠ything.}Thisisused,Vforinstance,intheElsevierclasses,tostophyperrefplayinghavocinthefrontmatters8.j710 \def\NoHyper{% j711wz\def\hyper@anchor##1##2{##2}%j712wz\def\hyper@@link[##1]##2##3##4{##4}%j713wz\def\hyper@anchorstart##1{}%j714wz\def\hyper@anchorend{}%j715wz\def\hyper@anchorendspecial{}%j716 }j717 \def\endNoHyper{}html: html: 44.18!LoIw-levelutilitymacrȹosW37eneedunrestrictedaccesstothe#,~and"characters,somakgethemnicemacros.j718 \edef\hyper@hash{\string#}j719 \edef\hyper@tilde{\string~}j720 \edef\hyper@quote{\string"}j721 \def\@currentHref{}khtml: html: 4.19!Setupj722 \ifHyper@Figuresj723\typeout{*Hyperref: HyperfffiguresON*}j724 \elsej725\typeout{*Hyperref: HyperfffiguresOFF*}j726 \fij727 \ifHyper@Nestingj728\typeout{*Hyperref: LinkffnestingON*}j729 \elsej730\typeout{*Hyperref: LinkffnestingOFF*}j731 \fij732 \ifHyper@Indexj733\typeout{*Hyperref: HyperindexffON*}j734 \elsej735\typeout{*Hyperref: HyperindexffOFF*}j736 \fij737 \ifHyper@Plainpagesj738\typeout{*Hyperref: PlainffpagesON*}j739 \else21sIhtml: html:oGj740Y\typeout{*Hyperref: PlainffpagesOFF*} Gj741S\fiGj742S\ifHyper@BackrefGj743Y\typeout{*Hyperref:ffBackreferencingON*}Gj744S\elseGj745Y\typeout{*Hyperref:ffBackreferencingOFF*}Gj746S\fiGj747S\ifHyper@colorlinksGj748iDF\typeout{*Hyperref:ffLinkcoloringON*}Gj749S\elseGj750iDF\typeout{*Hyperref:ffLinkcoloringOFF*}Gj751S\fiGj752S\expandafter\def\csnameff/LNKcolor\endcsname{\LinkColor}Gj753S\expandafter\def\csnameff/ANNcolor\endcsname{\LinkColor}Gj754S\expandafter\def\csnameff/DESTcolor\endcsname{\AnchorColor}Gj755S\def\AnchorColor{blue}Gj756S\def\LinkColor{red}Gj757Sh)5" cmmi9=pack9age#g iGj758ShpAdftexiIhtml: html:5Con guration les Ghtml: html: ڍ5.1pdftexThis_6driv٠erisforHanTheThan's8sTU>?E1fXvariantwhichproducesPDF^directlyY.;Thishas newwkprimitiv٠estodoPDFwithings,y"whichusuallytranslatealmostdirectlytoPDFcode,y"sothereisalotof e٠xibilitywhichwedonotatpresentharness.Firstfde netheanchors;thechoicehereisthekge٠yforhowthelinkwillbepresented.W37echosefitbh.Thisneedsparameterizing. 6j759 \def\new@pdflink#1{% j760\def\hyper@hash{}%j761\pdfdestffname{#1!}fitbh}j762 \def\pdf@endanchor{}j763 %6Nownthelinks;theinterestingparthereisthesetofattributeswhichde nehowthelink looks.rW37eprobablywganttoaddaborderandcolorit,"butthereareotherchoices.Thisdirectly(translatestoPDF'code,Rsoconsultthemanualforhowtochangethis.W37ewilladdaninterfgaceatsomepoint.j764 \def\pdfBorderAttrs{/Borderff[001]} j765 \def\find@pdflink#1{%j766wz\def\hyper@hash{}%j767wz\leavevmode\pdfannotlinkj768wzattr{\pdfBorderAttrs/Cff[\CurrentBorderColor]}j769wzgotoffname{#1!}%j770wz\bgroup\colorlink{\LinkColor}%j771 }j772 \def\close@pdflink{\egroup\pdfendlink}j773 \def\hyperbaseurl#1{\pdfcatalogffuri{<>}}j774 \def\hyper@@@anchor#1{\new@pdflink{#1}\anchor@spot\pdf@endanchor}j775 \def\hyper@anchorstart#1{\new@pdflink{#1}\@ActiveAnchortrue}j776 \def\hyper@anchorend{\@ActiveAnchorfalse\pdf@endanchor}j777 \def\hyper@linkstart#1{\find@pdflink{#1}}224sIhtml: html:oGj778S\def\hyper@linkend{\close@pdflink} Gj779S\def\hyper@@link[#1]#2#3#4{%Gj780^wz\ifx\\#2\\%Gj781iDF\edef\CurrentBorderColor{\csnameffBorderColor@#1\endcsname}%Gj782iDF\find@pdflink{#2#3}#4\close@pdflinkGj783^wz\elseGj784iDF\Externalpdfmark{#2}{#3}{#4}%Gj785^wz\fiGj786S}Gj787S\def\CurrentBorderColor{\BorderColor@Normal}Gj788S\def\@URLpdfmark#1#2{%Gj789^wz\def\hyper@hash{}%Gj790c\leavevmode\pdfannotlinkGj791cattr{/Borderff[001]/C[\BorderColor@URL]}Gj792cuser{/Sff/URI/URI(#2)}{\colorlink{\LinkColor}#1}%Gj793c\pdfendlinkGj794S}Gj795S\def\@Filepdfmark#1#2#3{%Gj796^wz\def\hyper@hash{}%Gj797^wz\leavevmode\pdfannotlinkGj798^wzattr{/Borderff[001]/C[\BorderColor@File]}Gj799^wzgotofffile{#3}name{#1}{\colorlink{\LinkColor}#2}%Gj800^wz\pdfendlinkGj801S}ILetuse٠xplicitlyturnonPDFgeneration;theycanreversethisdecisioninthedocument, IbutsinceweareemittingPDFlinksan٠ywgayY,wemustbeinPDFmode.Gj802S\pdfoutput=1Gj803S\pdfcompresslevel=9Gj804S\pdfpagewidth\paperwidthGj805S\pdfpageheight\paperheightGj806S\def\@writetorep#1#2#3{}Gj807Sh=pAdftexiGj808ShhypAertex%iIhtml: html: 5.2hypertexTheHyperTU>?E1fXspeci cation(thisisborrowedfromanarticlebyArthurSmith)saysthatconformant viewers/translatorsmustrecognizethefollowingsetof\specialcom-mands:href:xhtml:name:html:end:html:image:!7html:baseffname:6&Jhtml:TheQhrGef,=$nameandend\icommandsareusedtodothebasich7yperte٠xtoperationsofestablishinglinksbetweensectionsofdocuments.Theimaggecommandisintended(aswithG3currenthtmlviewers)toplaceanimageofarbitrarygraphicalformatonthepageinjthecurrentlocation.Thebaseffnamecommandisbeusedtocommunicatetothedvi23 ӠsIhtml: html:oIviewerthefull(URL)locationofthecurrentdocumentsothat lesspeci edbyrelativ٠e IURL's8smayberetriev٠edcorrectlyY.XThehrGef_ݹandnamecommandsmustbepairedwithanend/5commandlaterintheITU>?E1fX|0 le|theTU>?EXcommandsbetweenthetwgoendsofapairformananc٠horintheIdocument.InYTthecaseofanhrGefcommand,theanc٠hor3istobehighlightedinthedviIviewer,'andwhenclickgedonwillcausethescenetoshifttothedestinationspeci edIbyZhrGefffstring.pTheanc٠horҹassociatedwithanamecommandrepresentsapossiblelo-Icationc$towhichotherh7yperte٠xtlinksmayrefer,eitheraslocalreferences(oftheformIhref="#nameffstring"withthenameffstringidenticaltotheoneinthenamecom-Imand)1'oraspartofaURL0(oftheformURL#nameffstring).-HerehrGefffstringisavalidIURLorlocalidenti er,Fcwhilenameffstringcouldbean٠ystringatall:WtheonlycaveatisIthatv`"'charactersshouldbeescapedwithabackslash(\),andifitlookslikgeaURLInameitmaycauseproblems.Gj809S\def\hyper@@@anchor#1{% Gj810c{\let\protect=\string\special{html:}}%Gj811c\@ActiveAnchortrueGj812c\bgroup\colorlink{\AnchorColor}\anchor@spot\egroupGj813c\special{html:}%Gj814c\@ActiveAnchorfalseGj815S}Gj816S\def\hyperbaseurl#1{%Gj817Y\special{html:}%Gj818S}Gj819S\def\hyper@anchorstart#1{%Gj820^wz\special{html:}%Gj821^wz\@ActiveAnchortrueGj822S}Gj823S\def\hyper@anchorend{%Gj824^wz\special{html:}%Gj825^wz\@ActiveAnchorfalseGj826S}Gj827S\def\hyper@linkstart#1{%Gj828^wz\bgroupGj829^wz\colorlink{\LinkColor}%Gj830^wz\special{html:}%Gj831S}Gj832S\def\hyper@linkend{%Gj833^wz\special{html:}%Gj834^wz\egroupGj835S}Gj836S\def\hyper@@link[#1]#2#3#4{%IIfwewganttoraiseupthe nallink\special,weneedtogetitsheight;; askmewh7y ILffA;TU>?E1fXconstructsmakgethistotallyfoulup,-handmakeusrev٠erttobasicTU>?E1fX..IdonotknowY.Gj837Y\ifHyper@raiselinksGj838^wz\setbox\@tempboxa=\hbox{#4}%Gj839^wz\@linkdim\dp\@tempboxaGj840^wz\lower\@linkdim\hbox{\special{html:}}%Gj841^wz{\colorlink{\LinkColor}#4}%Gj842^wz\@linkdim\ht\@tempboxaIBecausezoftheinteractionwiththedvihpsprocessor,{wehav٠etosubtractalittlefromtheIheight.This̨isnotclean,orcheckged.CheckwithMarkDogyleaboutwhatgiv٠eshere.It24sIhtml: html:oImaynotbeneededwiththenewdvips(Jan1997).Gj843^wz\advance\@linkdimffby-6.5\p@ Gj844^wz\raise\@linkdim\hbox{\special{html:}}%Gj845Y\elseGj846^wz\special{html:}%Gj847^wz{\colorlink{\LinkColor}#4}%Gj848c\special{html:}%Gj849Y\fiGj850S}Gj851S\def\hyperimage#1{%Gj852^wz\bgroupGj853^wz\let\%\@percentcharGj854^wz\let\#\hyper@hashGj855^wz\let\~\hyper@tildeGj856^wz\special{html:}%Gj857^wz\egroupGj858S}Gj859S\def\@writetorep#1#2#3{}Gj860Sh=hypAertex%iGj861ShpAdfma9rk8jdvipdfCiIhtml: html: 5.3Acrȹobatdirectpdfmarksupport 1#html: html: 5.3.1Thestandardmacrosj862 \def\hyper@@@anchor#1{%j863{\pdfmark[\anchor@spot]{pdfmark=/DEST,View=\pdfView,Dest=#1}}%j864 }j865 hdvipAdf'ij866 60 pcrro7t\def\hyperbaseurl#1{}j867 \def\hyper@anchorstart#1{\@ActiveAnchortrue}j868 \def\hyper@anchorend{\@ActiveAnchorfalse}j869 \def\hyper@linkstart#1{%j870\bgroupj871\colorlink{\LinkColor}%j872\def\hyper@hash{}%j873\gdef\hyper@currentanchor{#1}%j874 }j875 \def\hyper@linkend{%j876\egroupj877 }j878 \def\@writetorep#1#2#3{}j879 h=dvipAdf'ij880 hpAdfma9rk$zij881 \def\hyperbaseurl#1{%j882\pdfmark{pdfmark=/DOCVIEW,URI=<<ff/Base(#1)>>}%j883 }j884 \def\hyper@anchorstart#1{%j885 \literalps@out{HyperStart}%j886wz\gdef\hyper@currentanchor{#1}%j887wz\@ActiveAnchortruej888 }j889 \def\hyper@anchorend{%j890 \pdf@setheight25$sIhtml: html:oGj891S\literalps@out{HyperAutoEndffHyperAutoVoff}% Gj892c\pdfmark{pdfmark=/DEST,View=\pdfView,Gj893ywxDest=\hyper@currentanchor,Gj894ywxRect=\pdf@bbox}%Gj895^wz\@ActiveAnchorfalseGj896S}Gj897S\def\hyper@linkstart#1{%Gj898c\ifHyper@breaklinks\else\mbox\bgroup\fi\bgroupGj899c\colorlink{\LinkColor}%Gj900c\def\hyper@hash{}%Gj901c\literalps@out{HyperStart}%Gj902c\global\edef\hyper@currentanchor{#1}%Gj903S}Gj904S\def\hyper@linkend{\@ifnextchar[{\hyper@@linkend}{\hyper@@linkend[Normal]}}Gj905S\def\hyper@@linkend[#1]{%Gj906c\pdf@setheightGj907iDF\edef\@foo{\csnameffBorderColor@#1\endcsname}%Gj908iDF\literalps@out{HyperAutoEnd}%Gj909ywx\pdfmark{pdfmark=/ANN,Subtype=/Link,Dest=\hyper@currentanchor,Gj910Color=\@foo,Rect=\pdf@bbox}%Gj911c\egroupGj912c\ifHyper@breaklinks\else\egroup\fiGj913S}Gj914Sh=pAdfma9rk$ziGj915S\def\hyperimage#1{%Gj916^wz\bgroupGj917^wz\let\%\@percentcharGj918^wz\let\#\hyper@hashGj919^wz\let\~\hyper@tildeGj920^wz\@URLpdfmark{}{#1}%Gj921^wz\egroupGj922S}Gj923S\def\hyper@@link[#1]#2#3#4{%Gj924^wz\ifx\\#2\\\def\hyper@hash{}%Gj925iDF\edef\@foo{\csnameffBorderColor@#1\endcsname}%Gj926ShdvipAdfiff\pdfmark[#4]{pdfmark=/LNK,{},Color=\@foo,Dest=#3}%Gj927ShpAdfma9rkڗiff\pdfmark[#4]{Color=\@foo,pdfmark=/ANN,Subtype=/Link,Dest=#3}%Gj928^wz\elseGj929iDF\Externalpdfmark{#2}{#3}{#4}%Gj930^wz\fiGj931S}Ikhtml: html: 5.4WritingpdfmarkcodeW37e_de neasinglemacro,pdfmark,which_usesthe`kge٠yval'systemtode nethevarious allowgableke٠ys;theseareexactlyaslistedinthepdfmarkreferenceforAcrobat2.0.1Theonlyadditionispdfmarkwhichspeci esthetypeofpdfmarktocreate(likgeANN,LINKetc). Theosurroundingroundandsquarebrackgetsinthepdfmarkcommandsaresupplied,butyouhav٠etoputin/charactersasneededforthevalues.j932 \def\pdfmark{\@ifnextchar[{\@pdfmark}{\@pdfmark[]}} j933 \def\@pdfmark[#1]#2{%j934 DF\edef\goforit{\noexpand\pdf@toks={ff\the\pdf@defaulttoks}}%j935 DF\goforit26-sIhtml: html:oGj936iDF\let\pdf@type\relax Gj937iDF\setkeys{PDF}{#2}%Gj938iDF\ifx\pdf@type\relaxGj939ywx\typeout{ERROR:ffnopdfmarktypespecifiedin#2!!}%Gj940ywx\ifx\\#1\\\relax\else\pdf@rect{#1}\fiGj941iDF\elseGj942ywx\bgroupGj943ywx\ifx\\#1\\\relax\elseGj944ywx\@ifundefined{\pdf@typeffcolor}%Gj945{\def\C@l@r{\LinkColor}}%Gj946{\def\C@l@r{\expandafter\csname\pdf@typeffcolor\endcsname}}%Gj947ywx\colorlink{\C@l@r}\pdf@rect{#1}\fiGj948ShpAdfma9rkڗi \literalps@out{[\the\pdf@toks\spaceff\pdf@type\spacepdfmark}%Gj949ShdvipAdfi \literalps@out{/ANNff>>}%Gj950ywx\egroupGj951iDF\fiGj952S}IThejcomplicatedbitiswgorkingouttherightenclosingrectangleofsomepieceofTU>?E1fXte٠xt, Ineededhbythe/Rectkge٠yY.fThissolutionoriginateswithT37obyThain(tobyt@netspace.net.au).Gj953S\newsavebox{\pdf@box}Gj954S\def\pdf@rect#1{%Gj955ShdvipAdfi32\literalps@out{/ANNff\pdf@type\the\pdf@toks\space<<}#1Gj956ShpAdfma9rk$ziGj957c\leavevmodeGj958c\setbox\pdf@box=\hbox{#1}%Gj959c\lower\dp\pdf@box\hbox{\literalps@out{HyperStart}}%Gj960c\ifHyper@breaklinks#1\else\copy\pdf@box\fiGj961c\raise\ht\pdf@box\hbox{\literalps@out{HyperEndffHyperVoff}}%Gj962c\setbox\pdf@box=\hbox{}%Gj963c\pdf@addtoks{[\pdf@bbox]}{Rect}%Gj964Sh=pAdfma9rk$ziGj965S}IAll_thesuppliedmaterialisstoredinatokgenlist;6?sinceICdonotfeelsureIquiteunderstandIthese,thingsmaynotwgorkase٠xpectedwithexpansion.W37e'gllhavetoexperiment.Gj966S\newtoks\pdf@toksGj967S\newtoks\pdf@defaulttoksGj968S\pdf@defaulttoks={ff}%Gj969S\def\pdf@addtoks#1#2{%Gj970c\toks0={/#2ff#1}%Gj971c\edef\goforit{\noexpand\pdf@toks={\the\pdf@toks\spaceff/#2#1}}%Gj972c\goforitGj973S}Gj974S\def\PDFdefaults#1{%Gj975Y\pdf@defaulttoks={#1}%Gj976S}IThisisthelistofallowedkge٠ys.SeetheAcrobatmanualforanexplanation.Gj977S%ffwhatisthetypeofpdfmark?Gj978S\define@key{PDF}{pdfmark}{\def\pdf@type{#1}}Gj979S%ffparameterisanameGj980S\define@key{PDF}{Action}{\pdf@addtoks{#1}{Action}}Gj981S%ffparameterisaarrayGj982S\define@key{PDF}{Border}{\pdf@addtoks{[#1]}{Border}}278sIhtml: html:oGj983S%ffparameterisaarray Gj984S\define@key{PDF}{Color}{\pdf@addtoks{[#1]}{Color}}Gj985S%ffparameterisastringGj986S\define@key{PDF}{Contents}{\pdf@addtoks{(#1)}{Contents}}Gj987S%ffparameterisaintegerGj988S\define@key{PDF}{Count}{\pdf@addtoks{#1}{Count}}Gj989S%ffparameterisaarrayGj990S\define@key{PDF}{CropBox}{\pdf@addtoks{[#1]}{CropBox}}Gj991S%ffparameterisastringGj992S\define@key{PDF}{DOSFile}{\pdf@addtoks{(#1)}{DOSFile}}Gj993S%ffparameterisastringorfileGj994S\define@key{PDF}{DataSource}{\pdf@addtoks{(#1)}{DataSource}}Gj995S%ffparameterisadestinationGj996S\define@key{PDF}{Dest}{\ifx\\#1\\\else\pdf@addtoks{/#1}{Dest}\fi}Gj997S%ffparameterisastringGj998S\define@key{PDF}{Dir}{\pdf@addtoks{(#1)}{Dir}}Gj999S%ffparameterisastringC1000S\define@key{PDF}{File}{\pdf@addtoks{(#1)}{File}}C1001S%ffparameterisaintC1002S\define@key{PDF}{Flags}{\pdf@addtoks{#1}{Flags}}C1003S%ffparameterisaarrayC1004S\define@key{PDF}{ID}{\pdf@addtoks{[#1]}{ID}}C1005S%ffparameterisastringC1006S\define@key{PDF}{MacFile}{\pdf@addtoks{(#1)}{MacFile}}C1007S%ffparameterisastringC1008S\define@key{PDF}{ModDate}{\pdf@addtoks{(#1)}{ModDate}}C1009S%ffparameterisastringC1010S\define@key{PDF}{Op}{\pdf@addtoks{(#1)}{Op}}C1011S%ffparameterisaBooleanC1012S\define@key{PDF}{Open}{\pdf@addtoks{#1}{Open}}C1013S%ffparameterisaintegerornameC1014S\define@key{PDF}{Page}{\pdf@addtoks{#1}{Page}}C1015S%ffparameterisanameC1016S\define@key{PDF}{PageMode}{\pdf@addtoks{#1}{PageMode}}C1017S%ffparameterisastringC1018S\define@key{PDF}{Params}{\pdf@addtoks{(#1)}{Params}}C1019S%ffparameterisaarrayC1020S\define@key{PDF}{Rect}{\pdf@addtoks{[#1]}{Rect}}C1021S%ffparameterisaintegerC1022S\define@key{PDF}{SrcPg}{\pdf@addtoks{#1}{SrcPg}}C1023S%ffparameterisanameC1024ShpAdfma9rkڗi\define@key{PDF}{Subtype}{\pdf@addtoks{#1}{Subtype}}C1025ShdvipAdfi\define@key{PDF}{Subtype}{\pdf@addtoks{#1}{}}C1026S%ffparameterisastringC1027S\define@key{PDF}{Title}{\pdf@addtoks{(#1)}{Title}}C1028S%ffparameterisastringC1029S\define@key{PDF}{Unix}{\pdf@addtoks{(#1)}{Unix}}C1030S%ffparameterisastringC1031S\define@key{PDF}{UnixFile}{\pdf@addtoks{(#1)}{UnixFile}}C1032S%ffparameterisaarrayC1033S\define@key{PDF}{View}{\pdf@addtoks{[#1]}{View}}C1034S%ffparameterisastringC1035S\define@key{PDF}{WinFile}{\pdf@addtoks{(#1)}{WinFile}}28CsIhtml: html:oIThesearethekge٠ysusedintheDOCINFOsection.C1036S\define@key{PDF}{Author}{\pdf@addtoks{(#1)}{Author}} C1037S\define@key{PDF}{CreationDate}{\pdf@addtoks{(#1)}{CreationDate}}C1038S\define@key{PDF}{Creator}{\pdf@addtoks{(#1)}{Creator}}C1039S\define@key{PDF}{Producer}{\pdf@addtoks{(#1)}{Producer}}C1040S\define@key{PDF}{Subject}{\pdf@addtoks{(#1)}{Subject}}C1041S\define@key{PDF}{Keywords}{\pdf@addtoks{(#1)}{Keywords}}C1042S\define@key{PDF}{ModDate}{\pdf@addtoks{(#1)}{ModDate}}C1043S\define@key{PDF}{Base}{\pdf@addtoks{(#1)}{Base}}C1044S\define@key{PDF}{URI}{\pdf@addtoks{#1}{URI}}ITheEdefgaultviewisapain. hI0isolateitheretoplaywithit.Currentlyhard-wiredtoA4I Ithink.C1045ShpAdfma9rk$ziC1046S\ifcase\Hyper@dvidriverC1047Y\def\pdfView{/XYZffpdf@hoffpdf@voffnull}C1048S\or %ffdvipsoneC1049Y\def\pdfview#1{%C1050Y\pstVerb{[ff/View[/XYZ gsaverevsclcurrentpointgrestore20addexchpopC1051Ynullffexchnull]%C1052^wz/Destff/#1/DESTpdfmark}C1053Y}C1054S\fiC1055Sh=pAdfma9rk$ziC1056ShdvipAdfi\def\pdfView{ff/FitB}IAndnowforsomeusefule٠xamples:C1057S\def\PDFNextPage{\@ifnextchar[{\@PDFNextPage}%C1058c{\@PDFNextPage[]}}C1059S\def\@PDFNextPage[#1]#2{\pdfmark[#2]{#1,Color=.2ff.1.5,C1060Ypdfmark=/ANN,Subtype=/Link,Page=/Next}}C1061S\def\PDFPreviousPage{\@ifnextchar[{\@PDFPreviousPage}%C1062c{\@PDFPreviousPage[]}}C1063S\def\@PDFPreviousPage[#1]#2{\pdfmark[#2]{#1,Color=.4ff.4.1,C1064^wzpdfmark=/ANN,Subtype=/Link,Page=/Prev}}C1065S\def\PDFOpen#1{%C1066^wz\pdfmark{#1,pdfmark=/DOCVIEW}%C1067S}IThishisnotassimpleasitlooks;ifwemakgetheargumentofthismacroe٠g\pageref{foo} IandFe٠xpectittoexpandto`3',weneedaspecialversionof\pagerefwhichdoesnotIproduce`3'....DavidCarlislelookgedatthisbitandpro٠videdthesolution,asever!C1068S\def\PDFPage{\@ifnextchar[{\@PDFPage}{\@PDFPage[]}} C1069S\def\@PDFPage[#1]#2#3{%C1070Y\let\pageref\simple@pagerefC1071Y\pdfmark[#3]{#1,Page=#2,Color=\BorderColor@Page,pdfmark=/ANN,Subtype=/Link}}C1072S\def\simple@pageref#1{%C1073^wz\expandafter\ifx\csnameffr@#1\endcsname\relaxC1074c0%C1075^wz\elseC1076iDF\expandafter\expandafter\expandafterC1077\@secondoffour\csnameffr@#1\endcsnameC1078^wz\fi}IThiswillonlywgorkifyouuseDistiller2.1orhighers8.29PsIhtml: html:oC1079S\def\@URLpdfmark#1#2{% C1080ShpAdfma9rkڗiff\pdfmark[#1]{pdfmark=/ANN,Color=\BorderColor@URL,C1081ShdvipAdfiff\pdfmark[#1]{pdfmark=/LNK,Color=\BorderColor@URL,C1082ShpAdfma9rkڗiffAction=<>,Subtype=/Link}%C1083ShdvipAdfiffAction=URI/URI(#2)}%C1084S}C1085S\def\@Filepdfmark#1#2#3{%C1086Y\def\hyper@hash{}%C1087ShpAdfma9rkڗiff\pdfmark[#2]{pdfmark=/ANN,Subtype=/Link,C1088ShpAdfma9rkڗiColor=\BorderColor@File,Action=/GoToR,File=#3,Dest=#1}%C1089ShdvipAdfiff\pdfmark[#2]{pdfmark=/LNK,Color=\BorderColor@File,C1090ShdvipAdfi Action=/GoToR,File=#3,Dest=#1}%C1091S}C1092Sh=pAdfma9rk8jdvipdfCiC1093ShdvipAdfj8pdfma9rkjpdftexbiǍIThe"problemhereisthatthe rst(URL)parametermaybeafile:5ݹreference(inwhich IcaselwecanuseittellAcrobattoopenthe le),GoragenuineURL,inwhichcasewe'gllIhav٠e#=toactivate#=W37eblink.NoteasimplenameisalsoagenuineURL,asthatisinterpretedIasarelativ٠e lename.XThenURLopeningonlywgorkswithDistiller2.1orlater,andthereaderneedstheIW37eblinkplug-in. ǍC1094S\def\Externalpdfmark#1#2#3{%IP٠arametersare:I html: html: 1.TheURLor le{html: html: 2.Theinternalnamehtml: html: 3.Thelinkstring1095 \expandafter\@Externalpdfmark{#2}{#3}#1:::\\ 1096 }1097 \def\@Externalpdfmark#1#2#3:#4:#5:#6\\{%㎍Now6c(potentially),cwearepassed:^1)Theinternalname,2)thelinkstring,3)theURL type(http, leetc)4)thesite5)theportnumber Ǎ1098\def\@pdftempa{#3#6}\def\@pdftempb{file:}%1099\ifx\@pdftempa\@pdftempb1100 DF\@Filepdfmark{#1}{#2}{#4}%1101\else1102\def\@pdftempb{file::}%1103\ifx\@pdftempa\@pdftempb1104+\@Filepdfmark{#1}{#2}{{#4:#5}}%1105\else1106+\ifx\\#6\\%11070wx\def\@url{#3#1}1108+\else11090wx\ifx\\#5\\\def\@url{#3:#4#1}\else\def\@url{#3:#4:#5#1}\fi1110+\fi1111+\@URLpdfmark{#2}{\@url}%1112%\fi1113\fi1114 }1115 \def\BorderColor@Normal{1ff00}30\sIhtml: html:oC1116S\def\BorderColor@URL{0ff11} C1117S\def\BorderColor@File{0ff.5.5}C1118S\def\BorderColor@Cite{0ff10}C1119S\def\BorderColor@Page{1ff10}C1120Sh=dvipAdfj8pdfma9rkjpdftexbiC1121ShpAdfma9rk$ziC1122S\ifHyper@colorlinksC1123iDF\PDFdefaults{/Borderff[000]}C1124S\elseC1125iDF\PDFdefaults{}C1126S\fiC1127Sh=pAdfma9rk$ziC1128Shoutlines"8iIhtml: html:6BookmarksinthePDF leYThishwgasoriginallydev٠elopedbyYannisHaralambous(itwastheseparaterepere.sty); it%neededtherepereormakebook.plpost-processortowgorkproperlyY.Nowredun-dant,asitsdoneallinLffA;TU>?E1fXmacros.T37oU'writeoutthecurrentsectiontitle,]anditsrationalizednumber,wehav٠etointerceptthe]\@sectcommand, whichisratherdangerous.mButhowelsetoseetheinformationweneed?1129 \let\H@old@sect\@sect 1130 \def\@sect#1#2#3#4#5#6[#7]#8{%1131\H@old@sect{#1}{#2}{#3}{#4}{#5}{#6}[{#7}]{#8}%1132 hdvipAdfi \literalps@out{/BOOKff<<}%%Ifthesectioninginternalcommandsareabusedandbeaten,pwhatarewetodo?Answer, nothingifthe rstparameterisemptyY.1133\ifx\\#1\\\else1134 h(o cmr9!dvipAdfi \ifnum#2<\c@secnumdepth1135\edef\@thishlabel{\csnamefftheH#1\endcsname}%1136 hdvipAdfi\literalps@out{/BOOKff/title(#7)\space/level#1.\@thishlabel\space>>}%%1137 h!dvipAdfi\@writetorep{#7}{#1.\@thishlabel}{#2}\fi1138\fi1139 }UnfortunatelyY, thathonlywgorksifthesectionheadingsusethestandard\@startsection macros.Chapters~andpartstypicallydon't.Thismakgesitalmostimpossibletoget100%right,sowejustinterceptthecodeinthestandardstyles.1140 \let\H@old@part\@part 1141 \def\@part[#1]#2{%1142 hdvipAdfi\literalps@out{/BOOKff<<}%%1143\H@old@part[{#1}]{#2}%1144 hdvipAdfiff\literalps@out{/BOOK/title(#1)/levelpart.\theHpart\space>>}%%1145 h!dvipAdfiff\@writetorep{#1}{part.\theHpart}{-1}%1146 }1147 \let\H@old@chapter\@chapter1148 \def\@chapter[#1]#2{%1149 hdvipAdfi\literalps@out{/BOOKff<<}%1150\H@old@chapter[{#1}]{#2}%1151 hdvipAdfiff\literalps@out{/BOOK/title(#1)\space/levelchapter.\theHchapter\space>>}1152 h!dvipAdfi \@writetorep{#1}{chapter.\theHchapter}{0}%31 hzsIhtml: html:oC1153^wz} C1154S\expandafter\def\csnameffParent-2\endcsname{}C1155S\expandafter\def\csnameffParent-1\endcsname{}C1156S\expandafter\def\csnameffParent0\endcsname{}C1157S\expandafter\def\csnameffParent1\endcsname{}C1158S\newwrite\@outlinefileC1159S\def\@writetorep#1#2#3{%C1160iDF\@tempcnta#3C1161iDF\expandafter\edef\csnameffParent#3\endcsname{#2}%C1162iDF\advance\@tempcntaffby-1C1163S\ifx\ReadBookmarks\relax\elseC1164iDF\protected@write\@outlinefile%C1165ywx{\let~\spaceC1166~\def\LaTeX{LaTeX}%C1167~\def\TeX{TeX}%C1168~\let\label\@gobbleC1169~\let\index\@gobbleC1170~\let\glossary\@gobble}%C1171ywx{%C1172^wz\protect\BOOKMARK{#2}{#1}{\csnameffParent\the\@tempcnta\endcsname}}%C1173S\fiC1174S}IThe#.macrosforcalculatingstructureofoutlinesarederiv٠edfromthosebyPetrOlsakused Iinthete٠xinfopdfmacros.C1175S\AtBeginDocument{\ReadBookmarks}C1176S\def\ReadBookmarks{%C1177ShpAdftexZi\pdfcatalogffpagemode{/UseOutlines}C1178^wz\typeout{Establishingffbookmarksfrom\jobname.out}%C1179^wz\def\BOOKMARKff##1##2##3{\calc@bm@number{##3}}%C1180^wz\InputIfFileExists{\jobname.out}{}{}%C1181^wz\def\BOOKMARKff##1##2##3{%C1182iDF\def\@tempx{##2}%C1183ShpAdftexiC1184n\pdfoutlineffgotoC1185name{##1!}count-\check@bm@number{##1}{%C1186^wz\expandafter\strip@prefix\meaning\@tempx}%C1187Sh=pAdftexiC1188ShpAdfma9rk$ziC1189Y\pdfmark{pdfmark=/OUT,Count=\check@bm@number{##1},C1190iDFDest=##1,Title=\expandafter\strip@prefix\meaning\@tempx}%C1191Sh=pAdfma9rk$ziC1192^wz}%C1193^wz{\escapechar\m@ne\InputIfFileExists{\jobname.out}{}{}}%C1194^wz\immediate\openout\@outlinefile=\jobname.outC1195S}C1196S\def\check@bm@number#1{\expandafterff\ifx\csname#1\endcsname\relax0%C1197iDF\elseff\csname#1\endcsname\fi}C1198S\def\calc@bm@number#1{\@tempcnta=\check@bm@number{#1}\relaxC1199iDF\advance\@tempcntaffby1C1200iDF\expandafter\xdef\csname#1\endcsname{\the\@tempcnta}}C1201Sh=outlines"8iC1202ShrepAereOiC1203S\newwrite\@reperefile32!usIhtml: html:oC1204S\immediate\openout\@reperefile=\jobname.rep C1205S\def\@writetorep#1#2#3{%C1206iDF\protected@write\@reperefileC1207ywx{\def\TeX{TeX}%C1208~\def\LaTeX{LaTeX}%C1209~\let\label\@gobbleC1210~\let\index\@gobbleC1211~\let\glossary\@gobble}%C1212ywx{(#2)ff<#1>}%C1213S}C1214Sh=repAereOiC1215ShpAdfma9rk$ziIԓhtml: html: 6.1DevicedependentsetupUnfortunatelyY,Csome4upartsofthepdfmarkPostScriptcodedependonvag7ariesofthedvi driv٠ers8.W37eisolateherealltheproblems.W37eneedtopasspdfmarkcommandsstraightthroughtothePS~ le;theps:˹con-v٠entionTofdvipsisquitecommon,\butyou'gllhav٠etowgorryaboutitforotherdrivers. Lifeistooshorttogoaroundwgorkingonitforothers,andpro٠vidingafullsetofoptions.TheMwgorkisdoneinSDict,Wbecauseweaddinsomeheaderde nitionsinamoment. R1216 \def\literalps@out#1{\special{ps:SDictffbegin#1end}}%RThecodebelowisfordvips;"itthinksin10thsofabigpoint,itscoordinatespaceisresolution%dependent,OIanditsyaxisstartsatthetopofthepage. Otherdriv٠erscanandwillbedi erent!TheTcalculationofupperleftyisdonewithoutraisingthepointinTU>?E1fX, bysimplyadding^onthecurrent\baselineskiptothecurrenty[ٹ.Thisisusuallytoomuch,5soweremo٠veanotional2points.W37eRhav٠etoallowfor\baselineskiphavinganoptionalstretchandshrink(youmeetXMthisinslidepackages,`=forinstance),soweneedtostripo thejunk. \DavidCarlisle,ofcourse,wrotethisbitofcode.1217 \begingroup 1218wz\catcode`P=121219wz\catcode`T=121220wz\lowercase{\endgroup1221 \gdef\rem@ptetc#1.#2PT#3!{#1\ifnum#2>\z@.#2\fi}}1222 \def\strip@pt@and@otherjunk#1{\expandafter\rem@ptetc\the#1!}1223 \def\pdf@setheight{\literalps@out{%1224wz\strip@pt@and@otherjunk\baselineskip1225wz\spaceff2subdup1226wz/HyperBasePtffexchdef1227wzPDFToDvipsff/HyperBaseDvipsexchdef1228wz}%1229 }1230 \special{papersize=\special@paper}RDonotaskwhatthisrubbishis.Tgryingtomakgepdfmarkgettherightdestinationfor views.1231 \special{!Unless7[I7Iamgoingmad,Ethisappeargstobetherelationshipbetweenthedefaultcoordinate system(PDF),anddvips;33"sIhtml: html:oNff/DvipsToPDFff{.01383701divResolutiondiv}def Nff/PDFToDvipsff{.01383701mulResolutionmul}defIthe!=latter's8scoordinatesareresolutiondependent,ɋbutwhatthat.01383701is,who Iknows?well,1almost\(ev٠eryoneexceptme,1I[expect...Andyes,1MaartenGeldermanIpointsoutthatits1/72.27(thenumberofpointstoanIinch,bigpointstoinchis1/72).=Thisalsosuggeststhatthecodewgouldbemoreunders-Itandableh(ande٠xact)if0.013divwgouldbereplacedby72.27mul,soherewego.IfthisIisn'tright,I'gllrev٠ertit.C1232S/DvipsToPDFff{72.27mulResolutiondiv}def C1233S/PDFToDvipsff{72.27divResolutionmul}defIThe/rectanglearoundthelinksstartso exactlythesizeofthebox;gwewilltomakgeitIslightlybigger,1pointonallsides.C1234S/HyperBorder {ff1PDFToDvips}def C1235S/HyperVoffff{C1236ccurrentpointffexchpopvsize72subexchDvipsToPDFsub/pdf@voffexchdefC1237Y}ffdefC1238S/HyperAutoVoffff{C1239ccurrentpointffexchpopC1240iDFvsizeff72subexchDvipsToPDFC1241iDFHyperBasePtffsub%baselineskipC1242iDFsubff/pdf@voffexchdefC1243Y}ffdefC1244S/HyperStartff{C1245ccurrentpointC1246iDFHyperBorderffadd/pdf@llyexchdefC1247iDFdupffDvipsToPDF /pdf@hoffexchdefC1248iDFHyperBorderffsub/pdf@llxexchdefC1249S}ffdefC1250S/HyperEnd {C1251ccurrentpointC1252iDFHyperBorderffsub/pdf@uryexchdefC1253iDFHyperBorderffadd/pdf@urxexchdefC1254S}ffdefC1255S/HyperAutoEnd {C1256ccurrentpointC1257iDFHyperBaseDvipsffsub/pdf@uryexchdefC1258iDF/pdf@urxffexchdefC1259S}ffdefC1260SsystemdictC1261Y/pdfmarkffknownnotC1262Y{userdictff/pdfmarksystemdict/cleartomarkgetput}ifC1263S}C1264Sh=pAdfma9rk$ziC1265ShdvipAdfi\def\literalps@out#1{\special{pdf:ff#1}}%C1266Shdviwindo&;iI[This!isdev٠elopedbyDavidCarlisle]. html:oIcallingawebbrowser,TbutthatwgouldmeanparsingtheURLtorecognisesuch,andthis Iiscurrentlynotdone.XThisGwgasmoreorlessblindlycopiedfromtheh7yperte٠xcfg.mFordviwindoTU>?E1fXmustIspecifythesizeoftheactiv٠eareaforlinks.ForsomehooksthisinformationisavailableIbutforsome,.thestartandendofthelinkarespeci edseparatelyinwhichcasea x٠edIsizeareaof10000000spwideby\baselineskiphighisused.XCurrentlyStableofcontentsand\refh7yperlinkingwgorkbut\pagerefand\citeIdon't.(TOBEWgORKEDON)XOKsothishasmypathstructureandinternetbrowserhardwired...NYgoucanrede neIthistobesomethingelsebeforeorafterloadingh7yperref.C1267S\providecommand\wwwbrowser{% C1268Yc:\string\netscape\string\netscape}C1269S\def\hyper@@@anchor#1{%C1270c{\let\protect=\string\special{markff\hyper@quote#1\hyper@quote}}%C1271c\@ActiveAnchortrueC1272c\bgroup\colorlink{\AnchorColor}\anchor@spot\egroupC1273c\@ActiveAnchorfalseC1274S}C1275S\def\hyperbaseurl#1{}C1276S\def\hyper@anchorstart#1{%C1277^wz\special{mark:ff\hyper@quote#1\hyper@quote}%C1278^wz\@ActiveAnchortrueC1279S}C1280S\def\hyper@anchorend{%C1281^wz\@ActiveAnchorfalseC1282S}C1283S\def\hyper@linkstart#1{%C1284^wz\bgroupC1285^wz\colorlink{\LinkColor}%C1286^wz\external@check#1\@empty\external@check{10000000}{\number\baselineskip}}C1287S\def\external@check#1#2\external@check#3#4{%C1288^wz\if#1\hyper@hashC1289S%ffinternaltothisdocument,removethehash.C1290iDF\special{button: #3#4ff\hyper@quote#2\hyper@quote}%C1291^wz\elseC1292S%ffexternalcallnetscapetodothework....C1293iDF\special{button:ff#3#4launch:C1294ywx\wwwbrowser\spaceff\hyper@quote#1#2\hyper@quote}%C1295^wz\fi}C1296C1297C1298S\def\hyper@linkend{%C1299^wz\egroupC1300S}C1301S\def\hyper@@link[#1]#2#3#4{%C1302Y\ifHyper@raiselinksC1303^wz\setbox\@tempboxa=\hbox{#4}%C1304^wz\@linkdim\dp\@tempboxaC1305^wz\lower\@linkdim\hbox{%C1306n\external@check#2#3\external@checkC1307DD{\number\wd\@tempboxa}{\number\ht\@tempboxa}}%C1308^wz{\colorlink{\LinkColor}#4}%C1309^wz\@linkdim\ht\@tempboxa35$ȠsIhtml: html:oC1310^wz\advance\@linkdimffby-6.5\p@ C1311^wz\raise\@linkdim\hbox{}%C1312Y\elseC1313^wz\setbox\@tempboxa=\hbox{#4}%C1314^wz\external@check#2#3\external@checkC1315DB{\number\wd\@tempboxa}{\number\ht\@tempboxa}%C1316^wz{\colorlink{\LinkColor}#4}%C1317c%C1318Y\fiC1319S}C1320S\def\hyperimage#1{}%C1321S\def\@writetorep#1#2#3{}C1322Sh=dviwindo&;i368;8P$60 pcrro7t5ߌ ptmb7t4ڶ% ptmbi7t1ڶ% ptmbi7t.ߌ ptmb7t+ow cmss9* cmsy9)5" cmmi9(o cmr9&0 pcrr7t%0 pcrr7t$3{ ptmr7t#Kj ptmri7t"Kj ptmri7t!ߌ ptmb7t ߌff ptmb7t3{ ptmr7t0 pcrr7tq% cmsy63{ ptmr7t!", cmsy103{G ptmr7t3{ ptmr7t !", cmsy10 b> cmmi10