|
"http://www.w3.org/TR/REC-html40/loose.dtd">
The array and tabularx
Packages
The array package is described in [LATEX-bis, Section 5.3] and in the local documentation of modern LATEX installations. It is a compatible extension of LATEX arrays (see B.10.2). Basically, it provides new column specifications and a \newcolumntype construct for user-defined column
specifications.
Table 1 gives a summary of the new column
specifications and of how HEVEA
implements them.
Note that centered, top-aligned or bottom-aligned in the vertical direction, do not have exactly the same meaning in LATEX and in HTML. However, the aspect is the same when all columns agree w.r.t. vertical alignment. Ordinary column types ( c , l and r )
do not specify vertical alignment, which therefore becomes browser
dependent.The >{ decl} and <{ decl}
constructs permit the encoding of TeX \cases macro as follows:
\def\cases#1{\left\{\begin{array}{l>{$}l<{$}}#1\end{array}\right.}(This is an excerpt of the latexcommon.hva file.) New column specifications are defined by the \newcolumntype
construct:
\newcolumntype{ col}[ narg]{ body}
# int).
Examples are:
\newcolumntype{C}{>{\bf}c} \newcolumntype{E}[1]{*{#1}{c}} \begin{tabular}{CE{3}}\hline one & two & three & four \\ five & six & seven & eight \\ \hline \end{tabular}The column specification C means that entries will be typeset centered and using bold font, while the column specifications E{ num}
stands for num centered columns. We get:
HEVEA implements column specifications with commands defined in the \newcommand style. Thus, they have the same behavior as regards
double definition, which is not performed and induces a warning
message.
Thus, a column specification that is
first defined in a macro.hva specific
file, overrides the document definition.The tabularx package [LATEX-bis, Section 5.3.5] provides a new tabular environment tabularx and a new column type X . HEVEA
makes the former equivalent to tabular and the latter
equivalent to p{ ignored} . By contrast with the
subtle array formatting that the tabularx package performs,
this may seem a crude implementation. However, rendering is usually
correct, although different.More generally and from the HTML point of view such sophisticated formatting is browser job in the first place. However, the HTML definition allows suggested widths or heights for table entries and table themselves. From HEVEA point of view, drawing the border line between what can be specified and what can be left to the browser is not obvious at all. At the moment HEVEA choice is not to specify too much (in particular, all length arguments, either to column specifications or to the arrays themselves, are ignored). As a consequence, the final, browser viewed, aspect of arrays will usually be different from their printed aspect. |