% \def\HTML{...}  \def\CONFIG{...}  \def\MAKETITLE{...}  \def\EXIST{...}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%                                                              %
%  Compile this file with the command `xhlatex mktex4ht.4ht',  %
%  and read the instructions at mktex4ht.html => index         %
%  => mktex4ht.                                                %
%                                                              %
%  The compilation needs the files ProTex.sty & AlProTex.sty   %
%  from                                                        %
%    http://www.cis.ohio-state.edu/~gurari/systems.html        %
%                                                              %
%  This file is designed for machines--not human beings! You   %
%  are strognly advised not to look at the code which follows  %
%  the copyright notice.                                       %
%                                                              %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% mktex4ht.4ht                         2001-12-14-17:07 %
% Copyright (C) 1999--2001      Eitan M. Gurari         %
%                                                       %
% This program can redistributed and/or modified under  %
% the terms of the LaTeX Project Public License         %
% Distributed from CTAN archives in directory           %
% macros/latex/base/lppl.txt; either version 1 of the   %
% License, or (at your option) any later version.       %
%                                                       %
% However, you are allowed to modify this program       %
% without changing its name, if you modify its          %
% signature. Changes to the signature can be introduced %
% with a directive of the form                          %
%            \message{signature}                        %
%                                                       %
%                             gurari@cis.ohio-state.edu %
%                 http://www.cis.ohio-state.edu/~gurari %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\immediate\write-1{version 2001-12-14-17:07}


\def\infofiles{infoht4,infomml}
\def\infosources{html4,mathml}


\openin15=ProTex.sty \ifeof15
    \immediate\write16{--- Needs ProTex.sty \& AlProTex.sty
    from http://www.cis.ohio-state.edu/\string
    ~gurari/systems.html --}
\fi  \closein15



\edef\RecallCats{\catcode`\noexpand\^=\the\catcode`\^} \catcode`\^=7
\catcode`\%=12 \catcode`\!=14  \catcode`\^^M=13   \catcode`\:=11
\def\lit#1{
\expandafter\ifx\csname !
     cw:)\clearcode:id P:configure \HTML\space #1\endcsname\relax !
!  % no code for <configure \HTML\space #1> !
\else !
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\space\space\space\space\space\space\space\space!
\space\space\space\space\space\space\space\space!
 \string\ConfigureHinput\string{#1\string}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\space\space\space\space       \<configure \HTML\space #1\>
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\space\space
  \string\endinput\string\empty\string\empty\string\empty\string\empty !
  \string\empty\string\empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\fi !
}
\catcode`\%=14  \catcode`\!=12

\def\GetLit#1,{\def\HTML{#1}\ifx \HTML\empty
   \def\GetLit##1!*?: {}\else%
   \section{Container of \HTML.4ht}
   \expandafter\ifx\csname YES\HTML\endcsname\relax\else
      \<\HTML\><<<
          \string\exit:ifnot{\csname YES\HTML\endcsname}
      >>>
   \fi
   \<\HTML\><<<
   \lit{Preamble}\lit{tex4ht}
\lit{latex}
\lit{book}
\lit{report}\lit{article}\lit{tcilatex}\lit{fontmath}


\lit{graphics}\lit{inputenc}
\lit{latex209}\lit{babel}\lit{plain}\lit{amsmath}\lit{amsfonts}\lit{amstext}\lit{amstex1}
\lit{amsart}\lit{amsbook}\lit{amsproc}\lit{amsldoc}
\lit{amsthm}\lit{amsbsy}\lit{amstex}\lit{amsppt}\lit{amsopn}


\lit{seslideb}\lit{ifthen}\lit{epsf}\lit{psfig}\lit{epsfig}
\lit{xy}
\lit{amscd}\lit{array}\lit{minitoc}\lit{index}\lit{multind}
\lit{german}\lit{natbib}\lit{ntheorem}\lit{longtable}\lit{moreverb}\lit{fancyvrb}\lit{fancybox}\lit{color}\lit{colortbl}
\lit{alltt}\lit{latin1}
\lit{xr}\lit{french}
\lit{url}\lit{hyperref}\lit{table}
\lit{CJK}\lit{vanilla}
\lit{varioref}
\lit{fleqn}\lit{frenchb}\lit{alatex}\lit{rlbabel}
\lit{hebtex}\lit{abidir}\lit{hewrite}\lit{aoutput}

\lit{titlesec}
\lit{apacite}\lit{emulateapj}\lit{aa}\lit{pictex}\lit{diagrams}
\lit{pstricks}\lit{endfloat}\lit{subfigure}\lit{pb-diagram}\lit{dratex}\lit{booktabs}
\lit{ltugboat}
\lit{ltugproc}\lit{bibtopic}\lit{mls}\lit{manju}
\lit{rotating}\lit{boxedminipage}\lit{ulem}\lit{go}
\lit{paralist}\lit{listings}\lit{alphanum}\lit{jurabib}
\lit{verbatim}
\lit{verbatim}\lit{float}
\lit{floatflt}\lit{doc}\lit{scrbook}\lit{scrartcl}
\lit{scrreprt}\lit{elsart}\lit{lb}\lit{JHEP}\lit{acm-proc-article-sp}\lit{sig-alternate}
\lit{endnotes}\lit{seminar}\lit{slides}
\lit{latex2man}\lit{texinfo}\lit{slidesec}\lit{web}\lit{exerquiz}\lit{nicefrac}\lit{foils}
\lit{multicol}\lit{th4}\lit{th4-frames}\lit{gloss}
\lit{amsdtx}\lit{lineno}
\lit{errata}\lit{epigraph}\lit{osudeG}\lit{llncs}
\lit{llncs-a}\lit{cp850}\lit{cp852}\lit{cp862}\lit{cp1250}
\lit{cp1252}\lit{cp437}\lit{cp437de}\lit{cp865}
\lit{norsk}\lit{polish}\lit{portuges}\lit{romanian}
\lit{russianb}\lit{scottish}\lit{slovak}\lit{slovene}
\lit{spanish}\lit{swedish}\lit{turkish}\lit{ukraineb}
\lit{usorbian}\lit{welsh}\lit{hebrew}\lit{austrian}
\lit{catalan}\lit{croatian}\lit{czech}\lit{danish}
\lit{dutch}\lit{english}\lit{esperant}\lit{estonian}
\lit{finnish}\lit{francais}\lit{galician}\lit{germanb}
\lit{greek}\lit{ngermanb}\lit{exam}\lit{mktex4ht}

   \ifx \EXIST\UnDef\else \expandafter\moreLit\EXIST,,//\fi
   \string\endinput
 >>>  \LitFile  \fi \GetLit}
\catcode`\^^M=5  \RecallCats

\def\moreLit#1,{\if !#1!\expandafter\SofLit\else
   \lit{#1}\expandafter\moreLit\fi}
\def\moreLitRow#1,{\if !#1!\expandafter\SofLit\else
   \LitRow{#1}\expandafter\moreLitRow\fi}
\def\SofLit#1//{}

\def\LitFile{\OutputCode[4ht]\<\HTML\>}

\def\cleancom#1,#2(){#1}
\def\LitRow#1{%
   \let\next=\LitCols   \def\RowTp{#1}%
   \HCode{<tr align="center"><td align="left">}\ifx \RowTp\empty \else
       \edef\temp{\noexpand\Link[\noexpand\cleancom
          \RefFile{f-#1}}\temp,()]{}{b-#1}#1\EndLink \fi \HCode{</td>}%
   \HAssign\curf=0
   \ifx \HTML\:UnDef
          \expandafter\LitCols\infosources,,!*?: 
   \else  \expandafter\LitCols\HTML,,!*?: \fi
   \HCode{</tr>}%
}
\def\LitCols#1,{\def\temp{#1}\ifx \temp\empty
   \def\next##1!*?: {}\else%
   \ifx \RowTp\empty  \HCode{<th>}\Vth#1:\HCode{</th>}\else
     \HCode{<td>}\expandafter\ifx\csname
     cw:)\clearcode:id P:configure #1 \RowTp\endcsname\relax
   \HAdvance\curf by 1\relax
\expandafter\ifx \csname  cw:f\curf-\RowTp(L \endcsname\relax
 -\else\Link[\csname  cw:f\curf-\RowTp(L \endcsname]{}{}*\EndLink
\fi
\else \LinkPort\<configure #1 \RowTp\>*\EndLink
      \expandafter\edef\csname YES#1\endcsname{%
         \expandafter\ifx \csname YES#1\endcsname\relax\else
            \csname YES#1\endcsname,\%\Hnewline\fi \RowTp}%
\fi
     \HCode{</td>}\fi
     \fi
   \next }

\def\Vth#1{\if #1:\else #1\expandafter\VTH\fi}
\def\VTH#1{\if #1:\else \HCode{<br />}#1\expandafter\VTH\fi}

\expandafter\def\csname html4hook\endcsname{%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% for bootstrapping, when html4.4ht is not available %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ifx \b:HEAD\UnDef
   \let\tbl:XV=\empty
   \let\:Hii=\empty
   \let\End:Hii=\empty
   \let\:SPAN=\empty
   %
\expandafter\def\csname html4hook\endcsname{%
   \csname newcount\endcsname\pageno
   \Configure{HtmlPar}{}{}{}{}
   \Configure{HEAD}{}{}
   \Configure{CssFile}{}{}
   \Configure{HTML}{}{}
   \Configure{TITLE}{}{}
   \Configure{BODY}{}{}
   \Configure{Css}{foo}
   \Configure{TITLE+}{}
   \Configure{HPageTITLE+}{}
} \csname html4hook\endcsname
\fi
}
   \catcode`\:=12



\documentclass{book}
   \ifx \HCode\UnDef
      \def\temp{\usepackage[html]{tex4ht}}
      \expandafter\temp
   \fi
\begin{document}
             \CutAt{chapter}
             \TocAt{chapter,section}
   \let\infolink=\empty
   \Configure{section}{}{}
   {\IgnorePar \EndP\Tg<h2>\thesection\space}
   {\space\infolink\Tg</h2>\IgnoreIndent \par}
             \input ProTex.sty
             \AlProTex{4ht,<<<>>>,|,title,list}
      \Css{th { line-height: 0.8;  vertical-align:top;
                 padding-left:0.3em; padding-right:0.3em;}   }


\title{TeX4ht: \ifx\HTML\UnDef Seeded Hooks\else Configuration Files\fi}
\ifx \MAKETITLE\UnDef \else \expandafter\MAKETITLE\fi

\maketitle



\noindent
[\HPage{index}
\HCode{<table>}\LitRow{}\LitRow{CJK}\LitRow{JHEP}\LitRow{Preamble}\LitRow{aa}
\LitRow{abidir}\LitRow{acm-proc-article-sp}\LitRow{alatex}\LitRow{alltt}
\LitRow{alphanum}\LitRow{amsart}\LitRow{amsbook}\LitRow{amsbsy}
\LitRow{amscd}\LitRow{amsdtx}\LitRow{amsfonts}\LitRow{amsldoc}
\LitRow{amsmath}\LitRow{amsopn}\LitRow{amsppt}\LitRow{amsproc}
\LitRow{amstex}\LitRow{amstex1}\LitRow{amstext}\LitRow{amsthm}
\LitRow{aoutput}\LitRow{apacite}\LitRow{array}\LitRow{article}
\LitRow{austrian}\LitRow{babel}\LitRow{bibtopic}\LitRow{book}
\LitRow{booktabs}\LitRow{boxedminipage}\LitRow{catalan}\LitRow{color}
\LitRow{colortbl}\LitRow{cp1250}\LitRow{cp1252}\LitRow{cp437}
\LitRow{cp437de}\LitRow{cp850}\LitRow{cp852}\LitRow{cp862}
\LitRow{cp865}\LitRow{croatian}\LitRow{czech}\LitRow{danish}
\LitRow{diagrams}\LitRow{doc}\LitRow{dratex}\LitRow{dutch}
\LitRow{elsart}\LitRow{emulateapj}\LitRow{endfloat}\LitRow{endnotes}
\LitRow{english}\LitRow{epigraph}\LitRow{epsf}\LitRow{epsfig}
\LitRow{errata}\LitRow{esperant}\LitRow{estonian}\LitRow{exam}
\LitRow{exerquiz}\LitRow{fancybox}\LitRow{fancyvrb}\LitRow{finnish}
\LitRow{fleqn}\LitRow{float}\LitRow{floatflt}\LitRow{foils}
\LitRow{fontmath}\LitRow{francais}\LitRow{french}\LitRow{frenchb}
\LitRow{galician}\LitRow{german}\LitRow{germanb}\LitRow{gloss}
\LitRow{go}\LitRow{graphics}\LitRow{greek}\LitRow{hebrew}
\LitRow{hebtex}\LitRow{hewrite}\LitRow{hyperref}\LitRow{ifthen}
\LitRow{index}\LitRow{inputenc}\LitRow{jurabib}\LitRow{latex}
\LitRow{latex209}\LitRow{latex2man}\LitRow{latin1}\LitRow{lb}
\LitRow{lineno}\LitRow{listings}\LitRow{llncs}\LitRow{llncs-a}
\LitRow{longtable}\LitRow{ltugboat}\LitRow{ltugproc}\LitRow{manju}
\LitRow{minitoc}\LitRow{mktex4ht}\LitRow{mls}\LitRow{moreverb}
\LitRow{multicol}\LitRow{multind}\LitRow{natbib}\LitRow{ngermanb}
\LitRow{nicefrac}\LitRow{norsk}\LitRow{ntheorem}\LitRow{osudeG}
\LitRow{paralist}\LitRow{pb-diagram}\LitRow{pictex}\LitRow{plain}
\LitRow{polish}\LitRow{portuges}\LitRow{psfig}\LitRow{pstricks}
\LitRow{report}\LitRow{rlbabel}\LitRow{romanian}\LitRow{rotating}
\LitRow{russianb}\LitRow{scottish}\LitRow{scrartcl}\LitRow{scrbook}
\LitRow{scrreprt}\LitRow{seminar}\LitRow{seslideb}\LitRow{sig-alternate}
\LitRow{slides}\LitRow{slidesec}\LitRow{slovak}\LitRow{slovene}
\LitRow{spanish}\LitRow{subfigure}\LitRow{swedish}\LitRow{table}
\LitRow{tcilatex}\LitRow{tex4ht}\LitRow{texinfo}\LitRow{th4}
\LitRow{th4-frames}\LitRow{titlesec}\LitRow{turkish}\LitRow{ukraineb}
\LitRow{ulem}\LitRow{url}\LitRow{usorbian}\LitRow{vanilla}
\LitRow{varioref}\LitRow{verbatim}\LitRow{verbatim}\LitRow{web}
\LitRow{welsh}\LitRow{xr}\LitRow{xy}
\ifx \EXIST\UnDef\else \expandafter\moreLitRow\EXIST,,//\fi
\ifvmode \IgnorePar\fi\EndP \HCode{</table>}
\IgnoreIndent\par\rightline{[\ExitHPage{}]} \EndHPage{}]
       \ifx \HTML\UnDef
\par
\let\LitFile=\empty
  \def\HTML{replace-with-file-name}
\immediate\write16{-- Missing definition for \noexpand\HTML --}
See {\tt index => mktex4ht} for directions on how to create
configuration files with `mktex4t.4ht'.\par
WARNING: Missing definition for {\tt \string\HTML }
\else
[\HPage{the 4ht files}
\def\Comma{\def\Comma{, }}
\def\LitFiles#1,{\def\temp{#1}\ifx \temp\empty
   \def\LitFiles##1!*?: {}\else
   \Comma\Link[#1.4ht]{}{}#1.4ht\EndLink \fi
   \LitFiles }
   \expandafter\LitFiles\HTML,,!*?: 
\par\ShowPar[\ExitHPage{}] \EndHPage{}]
 \fi



\ifx \CONFIG\UnDef
WARNING: Missing definition for {\tt \string\CONFIG }
\fi

\IgnorePar\EndP




\ifx \CONFIG\UnDef
\immediate\write16{-- Missing definition for \noexpand\CONFIG --}
\else
\def\temp{\input \CONFIG}\expandafter\temp
\fi



\tableofcontents \relax

\chapter{Utilities}


\<Hinclude plain\><<<
\Hinclude{\input #1.4ht}{plain}
>>>

\<Hinclude latex\><<<
\Hinclude{\input #1.4ht}{latex}
>>>

\<Hinclude plain lib\><<<
|<Hinclude util|>
>>>

\<Hinclude latex lib\><<<
|<Hinclude util|>
>>>

\<Hinclude plain + latex lib\><<<
|<Hinclude util|>
>>>





Style files, like xy, may be loaded in latex with \verb'\usepackage' or
\verb'\input'.  The latter case don't leave footprints, hence we need for
it an explicitly check. On the other hand, we should avoid duplications.

\<Hinclude util\><<<
\expandafter\let\csname tex4ht:4ht\endcsname\empty
\def\no:dupl#1#2{%
   \expandafter\ifx \csname #1:4ht\endcsname\relax
      \expandafter\let \csname #1:4ht\endcsname\empty
      \expand:after{#2}%
   \fi
}
>>>




\<Hinclude plain lib\><<<
\Hinclude{\def\:temp{\ht:everypar={\setbox0=\lastbox\ht:everypar={}}}%
   \ifx \NoindentAfter\:temp
      \no:dupl{#1}{\expand:after{\input #1.4ht}}\fi}
   {osudeG}
\Hinclude{\ifx\amstexloaded@\relax
     \no:dupl{#1}{
      \ifx  \Space@\:UnDef   \expand:after{\input #1.4ht} %
      \else                  \input vanilla.4ht  \fi}%
   \fi}
   {amstex}
\Hinclude{\expandafter\ifx \csname amsppt.sty\endcsname\relax
 \else
       \no:dupl{#1}{\expand:after{\input #1.4ht}}\fi}
   {amsppt}
\Hinclude{\ifx \texinfoversion\:UnDef\else
      \no:dupl{#1}{\expand:after{\input texinfo.4ht}}\fi}
   {texinfo}
>>>

\<if not amsppt.sty\><<<
\expandafter\ifx \csname amsppt.sty\endcsname\relax
>>>





\<Hinclude latex lib\><<<
\Hinclude{\input #1.4ht}{fontmath}
\Hinclude{\@ifpackageloaded{colortbl}{%
      \no:dupl{array}{\input  array.4ht}%
      \no:dupl{color}{\input  color.4ht}%
      \no:dupl{colortbl}{\input  colortbl.4ht}%
    }{}}{colortbl}

\def\h:input#1.#2.#3!*?: {%
   \:CheckOption{no_#1}\if:Option
      \let\:temp\empty
   \else
      \let\:temp\empty
      \no:dupl{#1}{%
         \openin15 #1.4ht
         \ifeof15
            \:CheckOption{debug}\if:Option
               \:warning{No configuration file for
                   #1.\if .#2.tex\else #2\fi}%
            \fi
            \let\:temp\empty
         \else
            \def\:temp{\input #1.4ht }%
         \fi   \closein15
       }%
   \fi  \:temp}
\edef\:temp{\noexpand\Hinclude
   {\noexpand\h:input ##1..!*?: }{\@filelist}}
\:temp
>>>



\<Hinclude plain + latex lib\><<<
\Hinclude{\ifx \PsfigVersion\:UnDef \else
      \no:dupl{#1}{\expand:after{\input psfig.4ht}}\fi}
   {psfig}
\Hinclude{\:CheckOption{#1}
   \if:Option     \no:dupl{#1}{\expand:after{\input #1.4ht}}\fi}
   {pictex}
\Hinclude{%
   \expandafter\ifx \csname PSTricksLoaded\endcsname\relax\else
                  \no:dupl{#1}{\expand:after{\input #1.4ht}}\fi}
   {pstricks}
\Hinclude{%
   \ifx \:DraCatCodes\:UnDef \else
                  \no:dupl{#1}{\expand:after{\input #1.4ht}}\fi}
   {dratex}
\Hinclude{%
   \ifx \xyloaded\:UnDef \else
                  \no:dupl{#1}{\expand:after{\input #1.4ht}}\fi}
   {xy}

\Hinclude{%
   \ifx \epsfsetgraph\:UnDef \else
                  \no:dupl{#1}{\expand:after{\input #1.4ht}}\fi}
   {epsf}

\Hinclude{%
   \ifx \diagram@help@messages\:UnDef \else
                  \no:dupl{#1}{\expand:after{\input #1.4ht}}\fi}
   {diagrams}

\Hinclude{}
   {pctable}
\Hinclude{%
   \:CheckOption{xhtml}\if:Option \fi}
   {xhtml}
\Hinclude{\:CheckOption{#1}
      \if:Option\else   \:CheckOption{ShowFont}\fi
      \if:Option\else   \:CheckOption{frames-}\fi
      \if:Option\else   \:CheckOption{frames}\fi
      \if:Option\else   \:CheckOption{image-maps}\fi
      \if:Option\else   \:CheckOption{java}\fi
      \if:Option\else   \:CheckOption{javascript}\fi
      \if:Option \no:dupl{#1}{\expand:after{\input #1.4ht}}\fi}
   {th4}
\Hinclude{\ifx \sethebrew\:UnDef\else \ifx \ArabTeX\:UnDef\else
      \no:dupl{#1}{\expand:after{\input hebtex.4ht}}\fi \fi}
   {hebtex}
>>>



\<pctex table 4ht\><<<
\ifx \BeginTable\:UnDef \else\ifx \EndTable\:UnDef \else
\expandafter\ifx \csname !ttBeginTable\endcsname\relax\else
  \no:dupl{#1}{\input #1.4ht}%
\fi\fi\fi
>>>






\chapter{Containers for the Configurations}


   \catcode`\:=11
\expandafter\GetLit\HTML,,,!*?: \relax
   \catcode`\:=12

\bgroup
    \catcode`\:=11      \catcode`\@=0 \catcode`\\=11 @relax

  @def@infoIVht[#1]#2//{@bgroup
     @no:catcodes0{255}{11}%
     @no:catcodes{47}{47}{12}% /
     @def@infoIVht##1\ConfigureHinput{@egroup
         @let@ConfigureHinput=@ConfigureHINPUT @ConfigureHinput}%
       @infoIVht }

  @def@ConfigureHINPUT#1{@bgroup
     @no:catcodes0{255}{11}%
     @no:catcodes{47}{47}{12}% /
     @no:catcodes{13}{13}{13}% ^^M
     @no:catcodes{32}{32}{13}% ^^M
     @def@ConfigureHinput##1//##2//##3\ifx\infoIVht##4\endinput{@egroup
       @HPage[f@curf-#1]{#1}%
         @rightline{@Link{b-#1}{}up@EndLink}@ShowPar@par@textbf{#1}@par
       @verbshow{##3}@rightline{@Link{b-#1}{}up@EndLink}%
       @EndHPage{}@par@ShowPar}@ConfigureHinput}

@bgroup
   @catcode `[= 1  @catcode`]=2 @catcode `@{=12 @catcode `@}=12
   @catcode`@\=12
   @long@gdef@verbshow#1[@begin[verbatim]#1\end{verbatim}]
@egroup

@catcode`@\=0     \catcode`\:=12      \catcode`\@=12  \relax


\def\curf{}  \input info4ht.4ht
\ifx \HTML\empty
    \HAssign\curf=0
    \def\nextinfo#1,{\if !#1!\def\nextinfo##1//{}
        \else  \HAdvance\curf by 1
               \input #1.4ht \expandafter\nextinfo
        \fi
    }
    \expandafter\nextinfo\infofiles,,//%
\fi
\egroup



\end{document}
\endinput

