÷ƒ’À;è TeX output 1997.04.01:0035‹ÿÿÿÿ ¡…¾ ýM‘í ”n ýá`‘NY8óÐe9Vff phvb7t¼LtohóÓߌ˜ff ptmb7t»:‘vÆa–™™customizable“LŸý4ÑúÐåóÓߌ˜ ptmb7tÀAŽŽàF»T‘ý™yŸQ¶EŽ‘gyXto“HTML“con‘ÿl”vÛ$erterŽ¤’Ÿ%´óÓߌ˜ ptmb7tÂV‘þÌÌersion–97e,“31“Mar“1997Ž¡’²iÑRussell–W‘þåf.“QuongŽŸ º3’•Ý8ó»ló phvr7tÃ(http://www‘ÿfg.best.com/‘þãŒóKñ`y cmr10²~ŽŽ‘ÇÃquong/ltoh)Ž©!³k‘ñ‹Ö»1Ž‘%oIntr½«oductionŽŸY˜‘ñ‹ÖÃLtoh–žó3{Ù ptmr7t¹is“a“customizable“LŸýþú‘üffó3{Ù ptmr7tÄAŽŽô;¹T‘þU>Ÿ?ÿEŽ‘1fX“to“HTML‘žycon™ŸvšÙ erter‘ÿs8.‘uIt“handles“te˜xt,–¦"tables,“and–žhó7yperte˜xt“links.‘uÃltoh“¹is“a“larÑðge“Perl“script,Ž¤ ‘ñ‹Öand–hence“is“(almost“completely)“platform“independent.‘ÛÁÃltoh“¹is“customizable“in“that“you“can“specify“hoÀw“to“translateŽ¡‘ñ‹Öa–hgišÀvÙ en“LŸýþú‘üffÄAŽŽô;¹T‘þU>Ÿ?ÿEŽ‘1fX2ó  b> cmmi10µ"“¹macro“into“HTML,“including“your“o˜wn“personal“macros.‘åÑIn“fægact,‘?Âyou“must“manually“specify“ho˜w“toŽ¡‘ñ‹Öhandle–€your“ošÀwn“macros,“otherwise“Ãltoh“¹will“gi˜vÙ e“a“friendly“wægarning.Ž¡‘‹ÖSee–{the“Ãltoh“¹web“page“(ó0ˆÛ pcrr7tÅhttp://www.best.com/‘þ㌲~ŽŽ‘ÇÅquong/ltoh¹)“for“documentation,›2Éthe“latest“release,˜and“hoÀwŽ¡‘ñ‹Öto–Ÿþcontact“the“author“(see“the“bottom“of“the“web“page).‘y“Naturally‘ÿY ,‘§þthe“HTML‘ŸövÙ ersion“of“document“wægas“generated“usingŽ¡‘ñ‹ÖÃltoh¹,›n˜and–>àin“my“opinion“looks“better“than“the“LŸýþú‘üffÄAŽŽô;¹T‘þU>Ÿ?ÿEŽ‘1fX2µ"“¹dvi/PS‘>¯output,˜mostly“due“to“the“eÙ xtra“colors.‘V8The“ rst“publicŽ¡‘ñ‹Örelease–€wægas“vÙ ersion“97e“on“3/31/97.Ž¡‘‹ÖÃLtoh–'O¹has“twægo“main“restrictions.‘üFirst,›9 Ãltoh“¹does“óKjà ptmri7tÆnot‘U^¹handle“math“equations,˜which“in“general“are“dicult“to“display“inŽ¡‘ñ‹ÖHTML.‘1öŸü^ÿÄ1ŽŽ‘cì¹Second,›A’Ãltoh–1ö¹requires“La/T‘ÿLÐeÙ x“macro“parameters“to“be“delimited“by“braces;‘Kúin“practice,˜Ãltoh“¹might“be“unsuitableŽ¡‘ñ‹Öfor–€most“eÙ xisting“T‘þU>Ÿ?ÿEŽ‘1fXcode.Ž¡‘‹ÖSurprisingly‘ÿY ,‘WôI‘Mäoften›Mñpre•Àvie“w˜my˜LŸýþú‘üffÄAŽŽô;¹T‘þU>Ÿ?ÿEŽ‘1fX2µ"˜¹documents˜via˜Ãltoh˜¹instead˜of˜running˜Ålatex¹,–WôÅdvips¹,“and˜Åghostview¹.Ž¦‘ñ‹Ö»2Ž‘%oThe‘™™distrib¶JutionŽ©Y˜‘ñ‹ÖÃLtoh–€¹is“distribÌÐuted“as“either“a“zip“ le“(Åltoh.zip¹)“or“a“gzipped“tar“ le“(Åltoh.tgz¹)“(about“75K).Ž¡‘‹ÖBoth–€distribÌÐutions“contain“the“folloÀwing“ les.ŽŸGdg‘ñ‹ÖŸÅæh‰ffÜû8¤fd¤™œ„ ff‘Ÿüfdltoh.pl‘Š)¡„ ffŽ‘F-ëThe–€perl“script“that“does“eÀvÙ erythingŽŽ’ܔҟ™œ„ ffŽŽ©‰ffÜû8¡¤™œ„ ff‘Ÿüfdltoh.specs‘¨ð¡„ ffŽ‘F-ëThe–€defægault“speci cations.ŽŽ’ܔҟ™œ„ ffŽŽ¦‰ffÜû8¡¤™œ„ ff‘Ÿüfdreadme.html‘*¡„ ffŽ‘F-ëGenerated–€by“ÃltohŽŽ’ܔҟ™œ„ ffŽŽ¦‰ffÜû8¡¤™œ„ ff‘Ÿüfd¹readme.dvi‘ «x¡„ ffŽ‘F-ëLŸýþú‘üffÄAŽŽô;¹T‘þU>Ÿ?ÿEŽ‘1fX2µ"‘€¹outputŽŽ’ܔҟ™œ„ ffŽŽ¦‰ffÜû8¡¤™œ„ ff‘Ÿüfdreadme.ps‘O¡„ ffŽ‘F-ëUses–€T¦gimes“RomanŽŽ’ܔҟ™œ„ ffŽŽ¦‰ffÜû8¡¤™œ„ ff‘Ÿüfdreadme.txt‘ãÑ¡„ ffŽ‘F-ëT‘ÿLÐe•Ù xt›€v“ersion˜(generated˜from˜netscape)ŽŽ’ܔҟ™œ„ ffŽŽ¦‰ffÜû8¡¤™œ„ ff‘ŸüfdREADME‘(Þ¡„ ffŽ’ܔҟ™œ„ ffŽŽ¦‰ffÜû8¡¤™œ„ ff‘Ÿüfdrq-ltoh.specs‘¡„ ffŽ‘F-ëAn–€eÙ xample“of“my“speci cationsŽŽ’ܔҟ™œ„ ffŽŽ¦‰ffÜû8¡¤™œ„ ff‘Ÿüfdrq209.sty‘á/¡„ ffŽ‘F-ëAllošÀw–€use“of“ne˜w“LŸýþú‘üffÄAŽŽšô;¹T‘þU>Ÿ?ÿEŽ‘1fX2µ"“¹font“commands“in“old“LŸýþú‘üffÄAŽŽ˜¹T‘þU>Ÿ?ÿEŽ‘1fX2µ"¹.ŽŽ’ܔҟ™œ„ ffŽŽ¦‰ffÜû8ŽŽŽŸPR‘ñ‹Ö»3Ž‘%oSystem–™™Softwarš½«e“Requir˜ementsŽ¦‘ñ‹ÖÃLtoh–€¹vÙ ersion“97d“requires“the“folloÀwing“system“softwægare.Ž¡‘û Ö1.ŽŽŽ‘‹ÖA›]Qunix–]Zoperating“system.‘ I˜haÌÐvÙ e“tested“Ãltoh“¹only“under“Linux,‘dHalthough“there“is“nothing“Linux“speci c“in“the“code.Ž¡‘‹ÖA‘jhandful–jSof“lines“are“Unix“dependent“mostly“in“due“to“ lename“con™ŸvÙ entions.‘Ø’Because“Ãltoh“¹is“written“in“Perl,Ž¡‘‹Öalmost–€all“the“code“is“platform-independent.Ž¡‘û Ö2.ŽŽŽ‘‹ÖPerl–€vÙ ersion“5.00x,“preferably“5.002“or“higher‘ÿs8.‘˜RunŽ¡’Ë rÅperl‘-vŽ¡‘‹Ö¹to–€see“the“všÙ ersion“of“Perl“you“haÌÐv˜e.Ž¡‘û Ö3.ŽŽŽ‘‹ÖLŸýþú‘üffÄAŽŽô;¹T‘þU>Ÿ?ÿEŽ‘1fX2µ"–©d¹macro“parameters“(or“arÑðguments)“must“be“brace“delimited“(surrounded“by“braces),‘³½because“Ãltoh“¹relies“onŽ¡‘‹Öthe‘€braces.Ž¡‘û Ö4.ŽŽŽ‘‹ÖThe–€ó$3{Ù ptmro7tÏneÀw“latešÙ x‘?ÿ¹(LŸýþú‘üffÄAŽŽô;¹T‘þU>Ÿ?ÿEŽ‘1fX2µ"¹)“is“strongly“recommended“o˜v˜er“the“Ïold“late˜x‘?ÿ¹(LŸýþú‘üffÄAŽŽô;¹T‘þU>Ÿ?ÿEŽ‘1fX2.09),Ž¡‘‹ÖAdditionally›ÿY ,‘^Lthe–1Ödefægault“Ãltoh“¹speci cations“is“based“on“standard“neÀw“lateÙ x“macros.‘/Finally˜,‘^Lto“makæge“full“use“ofŽ¡‘‹ÖHTML‘ýtables,‘ˆfuture–ý:vÙ ersions“of“Ãltoh“¹are“likægely“to“support“multiple“roÀws“in“the“table“packages“only“found“in“theŽ¡‘‹ÖneÀw‘€lateÙ x.Ž‘ñ‹ÖŸi.‰ff¾Ê$Ÿ ƒè‘ æhŸý-:ó#3{Ù ptmr7tÎ1ŽŽŽ‘fhó3{Ù ptmr7tÇSome–,×ha× všáMe“resorted“to“con®v˜erting“the“late˜x“equations“into“Postscript“(PS),“con®v˜erting“the“PS‘,Ëto“a“bitmapped“ gure,‘8 and“the“displaying“the“ gureŽŸ €in–HTML.“This“is“all“too“dicult“for“me.ŽŽŸ’݉r¹1ŽŽŒ‹* ¡…¾ ýM‘í ”n ý‘í‘ñ‹ÖÂ3.1Ž‘ ‹ÖIf–y³3ou“must“use“LŸýq,‘û®ó(Óߌ˜ ptmb7tÓAŽŽš§òÂT‘ýÿäŸÄEŽ‘€äX2.09“instead“of“LŸýq,‘û®ÓAŽŽ˜ÂT‘ýÿäŸÄEŽ‘€äX2ó&·ág£ cmmi12Ñ"ŽŸ¿þ‘ñ‹ÖÃltoh–õȹrelies“on“unique“matching“braces“to“delimit“arÑðguments“to“the“lateÙ x“macros.‘zðIn“particular™Ÿ,‘:the“font“fægamily“and“sizeŽ¤ ‘ñ‹Öcommands–hÌin“old“latešÙ x“do“not“use“braces“to“delimit“arÑðguments.‘ÜThus,‘mpÃltoh“¹does“not“(and“probably“neÀv˜er“will)“handle“oldŽ¡‘ñ‹ÖlatešÙ x–“ó2.09“font“speci cations.‘UrInstead,‘˜ðyou“must“use“the“LŸýþú‘üffÄAŽŽô;¹T‘þU>Ÿ?ÿEŽ‘1fX2µ"“¹con™Ÿv˜ention,‘˜ðwhich“delimits“the“te˜xt“to“be“a ected“by“aŽ¡‘ñ‹Öfont–€change“via“braces“as“shošÀwn“in“the“follo˜wing“comparison.Ž©‘ñ‹ÖÅ(Old–latex)“Normal“but“switch“\bf“to“{bold“\it“then“italics,“back“to}Ž¡‘ñ‹Öbold–\normalfont“then“normal.Ž¡¡‘ñ‹Ö(New–latex)“Normal“but“switch“\textbf{to“bold“\textit{then“italics,“backŽ¡‘ñ‹Öto}–bold}“then“normal.Ž¦‘‹Ö¹Produces:Ž¦‘ ‹ØNormal–€bÌÐut“switch“Àto“bold“ó)Ú¶Û% ptmbi7tÔthen“italics,“bacægk“to“Àbold“¹then“normal.Ž¦‘‹ÖUsing–€the“old“latešÙ x“syntax,“Ãltoh“¹cannot“determine“when“the“bold“and“italic“fonts“stop“being“actiÀv˜e.Ž¡‘‹ÖIf–fæyou“haÌÐvšÙ e“the“neÀw“late˜x“on“your“system,‘këuse“it.‘:If“you“must“use“an“old“late˜x“ le,‘këcon™Ÿv˜ert“it“to“look“likæge“neÀw“late˜x“asŽ¡‘ñ‹Ömuch–€as“possible.Ž¡‘û Ö1.ŽŽŽ‘‹ÖCon™ŸvšÙ ert–+all“font“change“macros“to“use“the“neÀw“late˜x“syntax.‘¨Namely‘ÿY ,‘•Æcon™Ÿv˜ert– +ó !",š cmsy10¸fnó*0ˆÛ pcrro7tÕXYZ‘˜Å...¸g“¹and“¸nÕXYZŽ¡‘‹ÖÅ...¸nÅnormalfont‘€¹to‘€¸nÅtextÕXYZ˜Å...¹.Ž¡‘û Ö2.ŽŽŽ‘‹ÖUse–pthe“style“ le“Årq209.sty“¹(which“should“be)“included“with“the“Ãltoh“¹distribÌÐution,‘which“de nes“the“¸n¹teÙ xtÏXYZŽ¡‘‹Ö¹macros–€for“use“in“the“old“lateÙ x.Ž¡‘‹ÖT‘ÿ37o–€use“this“ le,“putŽ¤’¹‰q¸nÅinput¸fÅrq209.sty¸gŽ¡‘‹Ö¹in–j–Ãltoh“Åxyz.texŽ¡orŽ¡‘ prompt>–perl“fullpath-of-ltoh.pl“xyz.texŽŸðž‰ffÜû8Ÿ9“‘¹(I‘î8haÌÐvÙ e–îUnot“tested“Ãltoh“¹on“a“Wš™Ÿin32“machine,‘ êyet...)‘d–On“a“W˜in32“machine,‘ êwhich“cannot“automatically“start“Perl“toŽ¡e•Ù x“ecute–€the“Ãltoh¹,“you“wægould“probably“runŽ¦‰ffÜû8Ÿ9“‘ Åprompt>–perl“ÃltohÅ.pl“xyz.texŽŸðž‰ffÜû8ŽŸ’݉r¹2ŽŽŒ‹Í ¡…¾ ýM‘í ”n ý‘í‘ñ‹Ö»5Ž‘%oSpeci cationsŽŸY˜‘ñ‹Ö¹There–€are“ ÀvÙ e“types“of“Ãltoh“¹speci cations.‘˜Please“note“the“names.Ž¤ ‘¬`yBeÙ gin/end–€pair“(Åb/e¹)ŽŽŽ‘‹ÖSpeci es–€hoÀw“to“translate“a“lateÙ x“¸nÅbegin¸fÅXYZ¸g“¹and“matching“¸nÅend¸fÅXYZ¸g“¹command.Ž¡‘··xCommand‘€(Åcomm¹)ŽŽŽ‘‹ÖSpeci es–€hoÀw“to“translate“a“latešÙ x“command“that“does“not“takæge“an˜y“parameters,“such“as“¸nÅpar¹,“¸nÅitem“¹or“¸nÅhrule¹.Ž¡‘¶º Simple-macro‘€(¸fg¹)ŽŽŽ‘‹ÖSpeci es–}ÿa“translation“for“a“lateÙ x“macro“that“takæges“a“single“brace-delimited“aršÑðgument“Ïar˜g-1¹,‘~fwhere“the“correspond-Ž¡‘‹Öing–t–HTML‘t“consists“simply“of“surrounding“the“arÑðgument“with“a“preamble“and“postamble.‘ÊThe“translation“is“simpleŽ¡‘‹Öas–€the“arÑðgument“stays“put;“Ãltoh“¹merely“puts“stu “before“and“after“it.‘˜That“is,“we“eÙ xpectŽ¡‘2{5¸nÅsimplemacro¸fÕ...¸g‘ŽŽŽ‘ v!‘ÅHTML-preable‘Õ...‘ ÅHTML-postableŽ¡‘‹Ö¹F•Ù or›=­e“xample,‘Jñuse˜a˜simple-macro˜speci cation˜to˜translate˜the˜late“x˜macro˜¸nÅtextbf¸f‘Å...¸g˜¹(switch˜to˜bold˜fægace)Ž¡‘‹Öinto–€the“HTML“µ<Åstrongµ>‘Å...µ<Å/strongµ>¹.Ž¡‘¼“ArÑðg-macro‘€(¸fÕN‘¸¸g¹)ŽŽŽ‘‹ÖSpeci es–7\a“translation“for“a“lateÙ x“macro“that“takæges“µN‘Nw¹brace-delimited“arÑðguments;‘“ the“corresponding“HTML‘7-canŽ¡‘‹Ömakæge–¢Íarbitrary“use“of“the“arÑðguments.‘‚FšÙ or“e˜xample,‘«my“late˜x“macro“¸nÅswallow¸fÅarg-1¸g“¹discards“its“single“(pos-Ž¡‘‹Ösibly–€long)“aršÑðgument.‘˜In“the“corresponding“HTML,“we“also“\use"“the“ar˜gument,“by“discarding“it.Ž¡‘½›aAssignment‘€(Å:=¹)ŽŽŽ‘‹ÖAn–,Åassignment“sets“a“Ãltoh“¹vÀariable“which“is“then“used“later‘ÿs8.‘æAs“of“vÙ ersion“97d,‘Wõonly“a“small“number“of“bÌÐuilt-inŽ¡‘‹ÖvšÀariables–€are“supported.‘˜I“hope“to“support“setting“and“getting“userÌÐ-de ned“v˜ariables“in“the“future.Ž¡‘‹ÖThe–€ rst“four“specications“are“knoÀwn“as“translations“speci cations.ŽŸŠ…‘ñ‹ÖÂ5.1Ž‘ ‹ÖT‘ÿ¬ranslation‘speci cationsŽŸ¿þ‘ñ‹Ö¹The–5Rfour“types“of“translation“speci cations“haÌÐvÙ e“the“same“form.›´Do“not“use“leading“whitespace.˜Here“is“the“general“formŽ¡‘ñ‹Öand–€an“eÙ xample“of“each“type.Ž©ˆÂ‘ñ‹ÖÅ:type‘:latex-macro-name:HTML-start-code:HTML-end-code:reserved/not-usedŽ¡¡‘ñ‹Ö:b/e‘:\begin{itemize}: