%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % th4.4ht 2009-05-21-09:32 % % Copyright (C) 1997--2009 Eitan M. Gurari % % % % This work may be distributed and/or modified under the % % conditions of the LaTeX Project Public License, either % % version 1.3c of this license or (at your option) any % % later version. The latest version of this license is % % in % % http://www.latex-project.org/lppl.txt % % and version 1.3c or later is part of all distributions % % of LaTeX version 2005/12/01 or later. % % % % This work has the LPPL maintenance status "maintained".% % % % This Current Maintainer of this work % % is Eitan M. Gurari. % % % % If you modify this program your changing its signature % % with a directive of the following form will be % % appreciated. % % \message{signature} % % % % gurari@cse.ohio-state.edu % % http://www.cse.ohio-state.edu/~gurari % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \immediate\write-1{version 2009-05-21-09:32} \ifHtml \:CheckOption{javascript} \if:Option \else\:CheckOption{th4}\fi \if:Option \ScriptCommand{\JavaScript}{\vbox\bgroup \linepenalty1000 \NoFonts \Configure{HVerbatim+}{\z@}{\nobreak\space}% \A:JavaScript }{\B:JavaScript \EndNoFonts \ht:special{t4ht@(}\egroup \ht:special{t4ht@)}} \NewConfigure{JavaScript}[2]{\def\A:JavaScript{\ht:everypar{}#1}% \def\B:JavaScript{#2}} \def\javascript#1{\b:jv#1\e:jv} \def\b:jv{\begingroup \vrb:tt \leftskip\z@ \parindent\z@ \Configure{HVerbatim}{}{}{}{}\Configure{HVerbatim+}{\z@}{ }% \NoFonts \A:JavaScript \ht:special{t4ht@@}} \def\e:jv{\ht:special{t4ht@@}% \B:JavaScript\EndNoFonts\endgroup} \else \Log:Note{for javascript support, use the command line option `javascript'} \fi \:CheckOption{java} \if:Option \else\:CheckOption{th4}\fi \if:Option \Odef\Applet[#1]#2{\Appl:[#1]#2,,,!*?: } \def\Appl:[#1]#2,#3,#4,#5!*?: {% \def\:temp{#3}\def\LastApplet{#4}% \HCode{}} \def\AppletInfo{\def\Applet:Needs##1} \AppletInfo{\Needs-{needs #1.class}} \else \Log:Note{for java support, use the command line option `java'} \fi \:CheckOption{image-maps} \if:Option \else\:CheckOption{th4}\fi \if:Option \Odef\Ar:a[#1]#2{{\def\tag:A{area}\Link[#1 ]{#2}{}\EndLink}} \Odef\Map[#1]#2#3{% \def\:tempd{\Map:[#1]{#2}{#3}}% \rm:attr{#1}\ifx \:tempB\empty \expand:after{\let\:tempc}\csname cw:)#2\endcsname \ifx\:tempc\relax\else \edef\:tempd{\noexpand\in:mp\:tempc!*?: {#1}}% \def\:temp{#3}\ifx \:temp\empty\else \Tag{)#3}{\:tempc}% \fi \fi \fi \:tempd} \def\in:mp#1=#2=#3==#4!*?: #5{\IMG:LINK{#1}{#4#5}{#2}{#3}} \def\rm:attr#1{\edef\:tempB{\noexpand\rm:atr#1 !*?: }\:tempB} \def\rm:atr#1 #2!*?: {\def\:tempB{#1}} \Odef\Map:[#1]#2#3{% \NewHaddr\:tempA \def\:temp##1-{##1-imap}% \edef\:tempA{\expandafter\:temp\:tempA}% % \NewHaddr\alt:map \def\:temp{#3}\ifx \:temp\:empty\else \rm:attr{#1}% \Tag{)#3}{\alt:map=\:tempA=#2==\:tempB}\fi \edef\:tempB{\noexpand\IMG:LINK{\noexpand\alt:map}{#1}}\:tempB \:tempA{#2}\let\:Map\empty % \HCode{}% \let\u:map\empty}} \let\set:mp\relax \def\st:mp#1#2#3{\def\:temp{#1#2}\ifx \:temp\empty \else [\Link[#1]{#2}{}#3\EndLink] \fi } \def\IMG:LINK#1#2#3#4{\Link[\RefFile{#1}]{}{}% {\def\tag:A{img}\def\HREF:{src=}\def\empty:lnk{/}% \Link[#2 alt="textual map" usemap="\GetHref#3"]{#4}{}}\EndLink} \def\RectArea(#1){\bgroup\def\:tempa{\M:nMx#1,}\def\:tempb{rect}\Are:} \def\CircleArea(#1){\bgroup\def\:tempa{#1}\def\:tempb{circle}\Are:} \def\PolyArea(#1){\bgroup\def\:tempa{#1}\def\:tempb{poly}\Are:} \def\M:nMx#1,#2,#3,#4,{\M:n{#1}{#3},% \M:n{#2}{#4},\M:x{#1}{#3},\M:x{#2}{#4}} \Odef\Are:[#1]#2#3{% \xdef\:Map{\:Map\set:mp{#1}{#2}{#3}}% \Ar:a[#1\Hnewline shape="\:tempb"\Hnewline coords="\:tempa"\Hnewline alt="#3"]{#2}\egroup} \def\M:n#1#2{\ifnum #1<#2 #1\else #2\fi} \def\M:x#1#2{\ifnum #1<#2 #2\else #1\fi} \else \Log:Note{for image maps support, use the command line option `image-maps'} \fi \:CheckOption{frames-} \if:Option \else\:CheckOption{frames}\fi \if:Option \else\:CheckOption{th4}\fi \if:Option \def\HorFrames{\def\:tempa{cols}\:Frames} \def\VerFrames{\def\:tempa{rows}\:Frames} \Odef\:Frames[#1]#2{% \PushStack\Frm:Stc{}% \HCode{