1
0
Fork 0
doc/devel/format/environment/env-table.en.tm

314 lines
12 KiB
Tcl

<TeXmacs|1.0.3.11>
<style|tmdoc>
<\body>
<tmdoc-title|Table layout>
The environment variables for tables can be subdivided in variables
(prefixed by <src-var|table->) which apply to the whole table and those
(prefixed by <src-var|cell->) which apply to individual cells. Whereas
usual environment variables are set with <markup|assign> and <markup|with>,
the tabular environment variables are rather set with the
<hyper-link|<markup|tformat> primitive|../regular/prim-table.en.tm>. This
makes it possible to apply certain settings to any rectangular subtable of
the entire table and in particular to rows or columns. For more details,
see the <hyper-link|documentation|../regular/prim-table.en.tm#table-twith>
of the <markup|twith> and <markup|cwith> primitives.
<paragraph*|Layout of the table as a whole>
<\explain>
<var-val|table-width|>
<var-val|table-height|><explain-synopsis|hint for table dimensions>
<|explain>
These parameters indicate a hint for the dimensions of the table. The
<src-var|table-hmode> and <src-var|table-vmode> variables determine how
to take into account these settings.
</explain>
<\explain>
<var-val|table-hmode|>
<var-val|table-vmode|><explain-synopsis|determination of table
dimensions>
<|explain>
These parameters specify how to determine the dimensions of the table. At
the moment, the values of <src-var|table-hmode> and <src-var|table-vmode>
are actually ignored and <src-var|table-width> and <src-var|table-height>
are interpreted as the minimal width and height of the table.
</explain>
<\explain>
<var-val|table-halign|l>
<var-val|table-valign|f><explain-synopsis|alignment inside text>
<|explain>
These parameters determine how the table should be aligned in the
surrounding text. Possible values for <src-var|table-halign> are
<verbatim|l> (left), <verbatim|c> (center) and <verbatim|r> (right), and
possible values for <src-var|table-valign> are <verbatim|t> (top),
<verbatim|f> (centered at fraction bar height), <verbatim|c> (center) and
<verbatim|b> (bottom).
In addition to the above values, the alignment can take place with
respect to the baselines of particular cells. Such values for
<src-var|table-halign> are <verbatim|L> (align <abbr|w.r.t.> the left
column), <verbatim|C> (align <abbr|w.r.t.> the middle column),
<verbatim|R> (align <abbr|w.r.t.> the right column) and <verbatim|O>
(align <abbr|w.r.t.> the priviledged origin column
<src-var|table-col-origin>). Similarly, <src-var|table-halign> may take
the additional values <verbatim|T> (align <abbr|w.r.t.> the top row),
<verbatim|C> (align <abbr|w.r.t.> the middle row), <verbatim|B> (align
<abbr|w.r.t.> the bottom row) and <verbatim|O> (align <abbr|w.r.t.> the
priviledged origin row <src-var|table-row-origin>).
</explain>
<\explain>
<var-val|table-row-origin|0>
<var-val|table-col-origin|0><explain-synopsis|priviledged cell>
<|explain>
Table coordinates of an priviledged ``origin cell'' which may be used for
aligning the table in the surrounding text (see above).
</explain>
<\explain>
<var-val|table-lsep|0fn>
<var-val|table-rsep|0fn>
<var-val|table-bsep|0fn>
<var-val|table-tsep|0fn><explain-synopsis|padding around table>
<|explain>
Padding around the table (in addition to the padding of individual
cells).
</explain>
<\explain>
<var-val|table-lborder|0ln>
<var-val|table-rborder|0ln>
<var-val|table-bborder|0ln>
<var-val|table-tborder|0ln><explain-synopsis|border around table>
<|explain>
Border width for the table (in addition to borders of the individual
cells).
</explain>
<\explain>
<var-val|table-hyphen|n><explain-synopsis|allow for hyphenation?>
<|explain>
A flag which specifies whether page breaks may occur at the middle of
rows in the table. When <src-var|table-hyphen> is set to <verbatim|y>,
then such page breaks may only occur when
<\enumerate>
<item> The table is not surrounded by other markup in the same
paragraph.
<item>The rows whether the page break occurs has no borders.
</enumerate>
An example of a tabular environment which allows for page breaks is
<markup|eqnarray*>.
</explain>
<\explain>
<var-val|table-min-rows|>
<var-val|table-min-cols|>
<var-val|table-max-rows|>
<var-val|table-max-cols|><explain-synopsis|constraints on the table's
size>
<|explain>
It is possible to specify a minimal and maximal numbers of rows or
columns for the table. Such settings constraint the behaviour of the
editor for operations which may modify the size of the table (like the
insertion and deletion of rows and columns). This is particularly useful
for tabular macros. For instance, <src-var|table-min-columns> and
<src-var|table-max-columns> are both set to <with|mode|math|3> for the
<markup|eqnarray*> environment.
</explain>
<paragraph*|Layout of the individual cells>
<\explain>
<var-val|cell-background|><explain-synopsis|background color>
<|explain>
A background color for the cell.
</explain>
<\explain>
<var-val|cell-width|>
<var-val|cell-height|><explain-synopsis|hint for cell dimensions>
<|explain>
Hints for the width and the height of the cell. The real width and height
also depend on the modes <src-var|cell-hmode> and <src-var|cell-vmode>,
possible filling (see <src-var|cell-hpart> and <src-var|cell-vpart>
below), and, of course, on the dimensions of other cells in the same row
or column.
</explain>
<\explain>
<var-val|cell-hpart|>
<var-val|cell-vpart|><explain-synopsis|fill part of unused space>
<|explain>
When the sum <with|mode|math|s> of the widths of all columns in a table
is smaller than the width <with|mode|math|w> of the table itself, then it
should be specified what should be done with the unused space. The
<src-var|cell-hpart> parameter specifies a part in the unusued space
which will be taken by a particular cell. The horizontal part taken by a
column is the maximum of the horizontal parts of its composing cells. Now
let <with|mode|math|p<rsub|i>> the so determined part for each column
(<with|mode|math|i\<in\>{1,\<ldots\>,n}>). Then the extra horizontal
space which will be distributed to this column is
<with|mode|math|p<rsub|i>*(w-s)/(p<rsub|1>+\<cdots\>+p<rsub|n>)>. A
similar computation determines the extra vertical space which is
distributed to each row.
</explain>
<\explain>
<var-val|cell-hmode|exact>
<var-val|cell-vmode|exact><explain-synopsis|determination of cell
dimensions>
<|explain>
These parameters specify how to determine the width and the height of the
cell. If <src-var|cell-hmode> is <verbatim|exact>, then the width is
given by <src-var|cell-width>. If <src-var|cell-hmode> is <verbatim|min>
or <verbatim|max>, then the width is the minimul <abbr|resp.> maximum of
<src-var|cell-width> and the width of the content. The height is
determined similarly.
</explain>
<\explain>
<var-val|cell-halign|l>
<var-val|cell-valign|B><explain-synopsis|cell alignment>
<|explain>
These parameters determine the horizontal and vertical alignment of the
cell. Possible values of <src-var|cell-halign> are <verbatim|l> (left),
<verbatim|c> (center), <verbatim|r> (right), <verbatim|.> (decimal dot),
<verbatim|,> (decimal comma) and <verbatim|R> (vertical baseline).
Possible values of <src-var|cell-valign> are <verbatim|t> (top),
<verbatim|c> (center), <verbatim|b> (bottom) and <verbatim|B> (baseline).
</explain>
<\explain>
<var-val|cell-lsep|0fn>
<var-val|cell-rsep|0fn>
<var-val|cell-bsep|0fn>
<var-val|cell-tsep|0fn><explain-synopsis|cell padding>
<|explain>
The amount of padding around the cell (at the left, right, bottom and
top).
</explain>
<\explain>
<var-val|cell-lborder|0ln>
<var-val|cell-rborder|0ln>
<var-val|cell-bborder|0ln>
<var-val|cell-tborder|0ln><explain-synopsis|cell borders>
<|explain>
The borders of the cell (at the left, right, bottom and top). The
displayed border between cells <with|mode|math|T<rsub|i,j>> and
<with|mode|math|T<rsub|i,j+1>> at positions <with|mode|math|(i,j)> and
<with|mode|math|(i,j+1)> is the maximum of the borders between the right
border of <with|mode|math|T<rsub|i,j>> and the left border of
<with|mode|math|T<rsub|i,j+1>>. Similarly, the displayed border between
cells <with|mode|math|T<rsub|i,j>> and <with|mode|math|T<rsub|i+1,j>> is
the maximum of the bottom border of <with|mode|math|T<rsub|i,j>> and the
top border of <with|mode|math|T<rsub|i+1,j>>.
</explain>
<\explain>
<var-val|cell-vcorrect|a><explain-synopsis|vertical correction of text>
<|explain>
As described above, the dimensions and the alignment of a cell may depend
on the dimensions of its content. When cells contain text boxes, the
vertical bounding boxes of such text may vary as a function of the text
(the letter ``k'' <abbr|resp.> ``y'' ascends <abbr|resp.> descends
further than ``x''). Such differences sometimes leads to unwanted,
non-uniform results. The vertical cell correction allows for a more
uniform treatment of text of the same font, by descending and/or
ascending the bounding boxes to a level which only depends on the font.
Possible values for <src-var|cell-vcorrect> are <verbatim|n> (no vertical
correction), <verbatim|b> (vertical correction of the bottom),
<verbatim|t> (vertical correction of the top), <verbatim|a> (vertical
correction of bottom and the top).
</explain>
<\explain>
<var-val|cell-hyphen|n><explain-synopsis|allow for hyphenation inside
cells>
<|explain>
By default, the cells contain inline content which is not hyphenated. By
selecting <menu|Table|Special cell properties|Hyphenation|Multi-paragraph>,
the cell contents becomes multi-paragraph. In that case,
<src-var|cell-hyphen> determines how this content is hyphenated. Possible
values are <verbatim|n> (disable line breaking) and <verbatim|b>,
<verbatim|c> and <verbatim|t> (enable line breaking and align at the
bottom, center <abbr|resp.> top line).
</explain>
<\explain>
<var-val|cell-row-span|1>
<var-val|cell-col-span|1><explain-synopsis|span of a cell>
<|explain>
Certain cells in a table are allowed to span over other cells at their
right or below them. The <src-var|cell-row-span> and
<src-var|cell-col-span> specify the row span and column span of the cell.
</explain>
<\explain>
<var-val|cell-decoration|><explain-synopsis|decorating table for cell>
<|explain>
This environment variable may contain a decorating table for the cell.
Such a decoration enlarges the table with extra columns and cells. The
<markup|tmarker> primitive determines the location of the original
decorated cell and its surroundings in the enlarged table are filled up
with the decorations. Cell decorations are not really used at present and
may disappear in future versions of <TeXmacs>.
</explain>
<\explain>
<var-val|cell-orientation|portrait><explain-synopsis|orientation of cell>
<|explain>
Other orientations for cells than <verbatim|portrait> have not yet been
implemented.
</explain>
<\explain>
<var-val|cell-row-nr|1>
<var-val|cell-col-nr|1><explain-synopsis|current cell position>
<|explain>
In the future, these environment variables should contain the current
cell position during the typesetting process.
</explain>
<tmdoc-copyright|2004|Joris van der Hoeven>
<tmdoc-license|Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation License, Version 1.1
or any later version published by the Free Software Foundation; with no
Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
Texts. A copy of the license is included in the section entitled "GNU Free
Documentation License".>
</body>