4.6 Long Tables

<..configure html32 tex4ht..>
 \HAssign\TableNo=0
 \newif\ifHCond
-_-_-

<..configure html32 longtable..>
 \:CheckOption{old-longtable}\if:Option
   <.config old longtable.>
 \else
   <.config new longtable.>
 \fi
 \:CheckOption{pic-longtable}  \if:Option
    \ConfigureEnv{longtable}
      {\IgnorePar\EndP
       \Tg<div class="pic-longtable">\Picture*{}}
      {\EndPicture\Tg</div>}{}{}
 %   \Css{div.pic-longtable {text-align:center;}}
 \else
    \Log:Note{for pictorial longtable,
                       use the command line option ‘pic-longtable’}
 \fi
-_-_-

<..config new longtable..>
 \Configure{halignTB<>}{longtable}{\HCode{id="TBL-\TableNo"
     class="longtable" cellpadding="5" \VBorder}<>\HAlign}
 \Configure{longtable}
    {\IgnorePar\EndP
     \gHAdvance\TableNo by 1
      \HCode{<.show input line no.><div class="longtable">}%
     \halignTB{longtable}%
  }
    {\HCode{</table></div>}}
    {\HCode{<tr \Hnewline}\halignTR\HCode{ id="TBL-\TableNo-\HRow-">}}
    {\r:HA}
    {\HCode{<td \ifnum \HMultispan>1 colspan="\HMultispan" \fi}%
     \halignTD \HCode{ id="TBL-\TableNo-\HRow-\HCol"
     \Hnewline class="td}<.tabular td align.>%
     \HCode{">}<.td save EndP.>%
     <.start array par box.>\PushStack\Table:Stck\TableNo}
    {\PopStack\Table:Stck\TableNo <.end array par box.>\d:HA}
 \Configure{longtableparbox}{\IgnorePar\leavevmode\ShowPar\par}
-_-_-

<..config old longtable..>
 \let\a:longtable=\a:tabular
 \let\b:longtable=\b:tabular
 \let\c:longtable=\c:tabular
 \let\d:longtable=\d:tabular
 \let\e:longtable=\e:tabular
 \let\f:longtable=\f:tabular
-_-_-

<..show input line no..>
 <!--l. \the\inputlineno-->%
-_-_-

<..tabular td align..>
 \NoFonts
            \bgroup
               \ifx \ttfamily\:UnDef \else \ttfamily\fi
               \ColMargins
            \egroup
 \EndNoFonts
-_-_-

<..td save EndP..>
 \SaveEndP
-_-_-

<..td recall EndP..>
 \RecallEndP
-_-_-

<..start array par box..>
 \par  \ShowPar
-_-_-

<..end array par box..>
 \IgnorePar \EndP
-_-_-

<..html latex array/tabular Config 3.2..>
 \let\AllColMargins=\empty
 \Configure{VBorder}{\global\let\VBorder=\empty}{\gdef\VBorder{border="1"}}{}{}
 
   \Configure{HBorder}
      {<tr\Hnewline class="hline">}
          {<td><hr\xml:empty></td>}   {</tr>}
      {<tr\Hnewline class="cline">}
      {<td></td>} {<td><hr\xml:empty></td>} {</tr>}
      {<tr\Hnewline class="vspace" style="font-size:\HBorderspace">}
          {<td\Hnewline>\string&nbsp;</td>} {</tr>}
 %\Configure{putHBorder}{\HCode{\HBorder}}
 \Configure{putHBorder}{\HCode{}}
 \HAssign\Next:TableNo=0 \global\let\TableNo=\Next:TableNo
 % \Css{.hline hr, .cline hr{  height : 1px; margin:0px; }}
-_-_-

<..html latex array/tabular Config 3.2..>+
 \def\ColMargins{}
 \def\nosp:hbr#11#2//{\ifnum \tmp:cnt>1 \advance\tmp:cnt by -1
    \nosp:hbr#2//\else\nosp:gt#11#2//\fi}
 \def\nosp:gt#11#21#3//{%
    \def\:temp{#1}\ifx \:temp\empty 1\else 0\fi
    \def\:temp{#2}\ifx \:temp\empty 1\else 0\fi}
 % \Css{div.td00{ margin-left:0pt; margin-right:0pt; }}
 % \Css{div.td01{ margin-left:0pt; margin-right:5pt; }}
 % \Css{div.td10{ margin-left:5pt; margin-right:0pt; }}
 % \Css{div.td11{ margin-left:5pt; margin-right:5pt; }}
-_-_-

<..html latex array/tabular Config 3.2..>+
 \Configure{multicolumn}
    {\let\col:Css\empty
 %    \Configure{VBorder}
 %       {\let\VBorder=\empty}{\def\VBorder{border="1"}}{}{}
    }
    {}
    {\ifvmode\IgnorePar\fi
     \HCode{<div class="multicolumn" }\HColAlign\HCode{>}%
    }
    {\ifvmode\IgnorePar\fi \EndP\HCode{</div>}}
-_-_-

The <TABLE> is needed as a grouping mechanism for <CENTER>.