mirror of https://github.com/texmacs/doc.git
314 lines
12 KiB
Plaintext
314 lines
12 KiB
Plaintext
|
<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>
|