1
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2
% array.4ht 2001-12-14-17:07 %
3
% Copyright (C) 1997--2001 Eitan M. Gurari %
5
% This program can redistributed and/or modified under %
6
% the terms of the LaTeX Project Public License %
7
% Distributed from CTAN archives in directory %
8
% macros/latex/base/lppl.txt; either version 1 of the %
9
% License, or (at your option) any later version. %
11
% However, you are allowed to modify this program %
12
% without changing its name, if you modify its %
13
% signature. Changes to the signature can be introduced %
14
% with a directive of the form %
15
% \message{signature} %
17
% gurari@cis.ohio-state.edu %
18
% http://www.cis.ohio-state.edu/~gurari %
19
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
20
\immediate\write-1{version 2001-12-14-17:07}
23
\def\@tabular{\leavevmode
24
\hbox \bgroup \:@tabular:
25
$\col@sep\tabcolsep \let\d@llarbegin\begingroup
26
\let\d@llarend\endgroup
28
\pend:def\@tabular{\let\@array:a\a:tabular \let\@array:b\b:tabular
29
\let\@array:c\c:tabular \let\@array:d\d:tabular
30
\let\@array:e\e:tabular \let\@array:f\f:tabular }
32
\def\Clr{#2}\a:VBorder
36
\@tempdima \ht \strutbox
37
\advance \@tempdima by\extrarowheight
38
\setbox \@arstrutbox \hbox{\vrule
39
\@height \arraystretch \@tempdima
40
\@depth \arraystretch \dp \strutbox
45
\everycr{}\tabskip\z@skip\noexpand\MkHalign\noexpand\@sharp
46
{\@arstrut \@preamble \tabskip\z@skip}%
50
\if #1t\vtop \else \if#1b\vbox \else \vcenter \fi \fi
52
\let \protect \relax \lineskip \z@
53
\baselineskip \z@ \m@th
54
\let\\\@arraycr \let\tabularnewline\\\let\par\@empty
55
\ifx \EndPicture\:UnDef
56
\SaveMkHalignConfig \let\sv:ALIGN\HAlign
57
\ifx \recall:ar\:UnDef
58
\pend:def\@array{\recall:ar}%
60
\noexpand\ifx \noexpand\EndPicture\noexpand\:UnDef \noexpand\else
61
\arrayrulewidth\the\arrayrulewidth
62
\doublerulesep\the\doublerulesep
63
\arraycolsep\the\arraycolsep
64
\tabcolsep\the\tabcolsep
67
\arrayrulewidth\z@ \doublerulesep\z@
68
\arraycolsep\z@ \tabcolsep\z@
69
\Configure{MkHalign}{\@array:a}{\@array:b}\@array:c
70
\@array:d{\@array:e\RecallMkHalignConfig\recall:ar}\@array:f
72
\Configure{MkHalign}{\@array:a}{\@array:b}\@array:c
73
\@array:d{\@array:e \global \let\HAlign\sv:ALIGN
74
\RecallMkHalignConfig\recall:ar}\@array:f
76
\else \let\@sharp##\fi
80
\def\endarray{\enda:rray}
81
\def\endtabular{\enda:rray $\egroup}
82
\def\enda:rray{\crcr\ifx \EndPicture\:UnDef \EndMkHalign
83
\else \egroup\fi \egroup \@arrayright \gdef\@preamble{}}
84
\expandafter \let \csname endtabular*\endcsname\endtabular
86
\ifnum \@lastchclass=6 \@ne \@chnum \@ne \else
87
\ifnum \@lastchclass=7 5 \else
88
\ifnum \@lastchclass=8 \tw@ \else
89
\ifnum \@lastchclass=9 \thr@@
91
\ifnum \@lastchclass = 10 \else
92
\edef\@nextchar{\expandafter\string\@nextchar}%
94
\if \@nextchar c\z@ \add:ar-\else
95
\if \@nextchar l\@ne \add:ar<\else
96
\if \@nextchar r\tw@ \add:ar>\else
98
\if\@nextchar |\@ne \b:VBorder\else
99
\if \@nextchar !6 \else
100
\if \@nextchar @7 \d:VBorder\else
101
\if \@nextchar <8 \else
102
\if \@nextchar >9 \else
105
\if \@nextchar m\thr@@ \add:ar m\else
106
\if \@nextchar p4 \add:ar p\else
107
\if \@nextchar b5 \add:ar b\else
108
\z@ \@chclass \z@ \@preamerr \z@ \fi \fi \fi \fi
109
\fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi}
110
\HLet\@testpach\:tempc
111
\def\add:ar#1{\gHAdvance\ar:cnt by 1
114
\xdef\HAlign{\HAlign 0 \ar:cnt\space #1 }}
115
\def\HColAlign{\expandafter \ifx\csname
116
\expandafter\string\ch:class :T:D\endcsname\relax \else \csname
117
\expandafter\string\ch:class :T:D\endcsname\fi}
119
\long\def\:temp#1#2#3{%
120
\multispan{#1}\begingroup
121
\let\sv:ALIGN\HAlign \let\ar:cnt:\ar:cnt
122
\def\@addamp{\if@firstamp \@firstampfalse \else
124
\let\HAlign\empty \@mkpream{#2}%
125
\ifx \EndPicture\:UnDef
126
\def\:temp##1 ##2 ##3 {##3}%
127
\xdef\new:span{\new:span\HRow.\HCol\expandafter\:temp\HAlign;}%
129
\@addtopreamble\@empty
130
\global\let\HAlign\sv:ALIGN \global\let\ar:cnt\ar:cnt:
131
\global\let\ch:class\ch:class
133
\def\@sharp{\a:multicolumn#3\b:multicolumn}%
137
\HLet\multicolumn\:temp