Options

The alignments, and whether borders are to be employed, are decided from the ‘(|c|@{...}l|r|...)’ like parameter. A border is set if the parameter request a drawing of a line.

<..html private array/tabular array.sty..>+
 \def\:tempc{\@chclass
  \ifnum \@lastchclass=6 \@ne \@chnum \@ne \else
   \ifnum \@lastchclass=7 5 \else
    \ifnum \@lastchclass=8 \tw@ \else
     \ifnum \@lastchclass=9 \thr@@
    \else \z@
    \ifnum \@lastchclass = 10
       \global <.tabular col width.>%
    \else
    \edef\@nextchar{\expandafter\string\@nextchar}%
    \@chnum
    \if \@nextchar c\z@ \add:ar-\else
     \if \@nextchar l\@ne \add:ar<\else
      \if \@nextchar r\tw@ \add:ar>\else
    \z@ \@chclass
    \if\@nextchar |\@ne \b:VBorder\else
     \if \@nextchar !6 \else
      \if \@nextchar @7 \d:VBorder\else
       \if \@nextchar <8 \else
        \if \@nextchar >9 \else
   10
   \@chnum
   \if \@nextchar m\thr@@ \add:ar m\else
    \if \@nextchar p4 \add:ar p\else
     \if \@nextchar b5 \add:ar b\else
    \z@ \@chclass \z@ \@preamerr \z@ \fi \fi \fi \fi
    \fi \fi  \fi  \fi  \fi  \fi  \fi \fi \fi \fi \fi \fi}
 \HLet\@testpach=\:tempc
 -_-_-

Note that in latex \VBorder and the internals of \add:ar are defined as locals and not globals. Make sure that we have no problems with the new way. Don’t globalize ar:cnt!!!!

<..html private array/tabular array.sty..>+
 <.alignment utilities for VBorder.>%
 -_-_-

<..alignment utilities for VBorder..>
 \def\add:ar#1{\HAdvance\ar:cnt by 1
    <.record alignment type.>\c:VBorder
    \edef\HAlign{\HAlign 0 \ar:cnt\space #1 }}
 <.access col alignment.>
 -_-_-

<..html private array/tabular array.sty..>+
 \long\def\:temp#1#2#3{%
    \multispan{#1}\a:multicolumn \begingroup
      \def\@addamp{\if@firstamp \@firstampfalse \else
                 \@preamerr 5\fi}%
      <.add Row.Col<-> to new:span.>\@addtopreamble\@empty
      \global\let\ch:class=\ch:class
      <.globalize ar:cnt for array.sty.>%
    \endgroup
    \def\@sharp{\c:multicolumn#3\d:multicolumn}%
    \@arstrut \@preamble
    \null
    \b:multicolumn
    \ignorespaces}
 \HLet\multicolumn=\:temp
 -_-_-

<..shared html latex array/tabular..>+
 \NewConfigure{multicolumn}{4}
 -_-_-