<\body> Tables are always present in documents inside evaluable tags which take a operand. All fundamental table structures have inaccessible borders. The basic top-level table tag is . <\explain> >|with-n|table> <|explain> Every tabular structure in a document contains a tag. means the table and cell variables defined in the top-level table tag are not modified. The argument may be a or a nested tag, the latter does not appear in documents but is produced by the evaluation of the top-level tag. >|with-n|table> is used when the table contains specific formatting information. The to arguments must all be or tags. <\explain> <|explain> The formatting of the table as a whole is specified by a number of , which are used internally and do not appear in the environment like regular typesetter variables. The primitive sets the table variable (literal string) to the value (evaluated). <\explain> <|explain> The formatting of cells is specified by a number of , which are used internally and do not appear in the environment like regular typesetter variables. Rows, columns, and generally any rectangular range of cells can associated to a cell variable setting by a single tag. The primitive sets the cell variable (literal string) to the value (evaluated) for the range of cells spanning rows to and columns to (literal non-zero integers). Range coordinates must be non-zero literal integers, positive values are counted left to right and top to bottom, negative values are counted right to left and bottom to top. For example, 2 means the second row or column and -1 means the last row or column. Typical values for >,>,>,>)> are 1,1)> for ``row '', 1,1,c,c)> for ``column '', and for ``the cell at row , column ''. When new cells are inserted, it makes a difference whether the rows are counted from the top or bottom, and the columns are counted from the left or right. If is the number of rows and the number of columns, then and represent the same rowthe former is relative to the top border while the latter is relative the bottom border. Similarly, and represent the same column. <\explain> >|row-n> <|explain> The only purpose of the tag is to contain tags. The number of rows in a table is the number of subtrees in its tag. <\explain> >|cell-k> <|explain> The only purpose of the tag is to contain tags. All tags in a given must have exactly as many subtrees, all tags, as there are columns in the table. <\explain> <|explain> Table cells can contain any document fragment. A may directly contain an tag or a , if it has it must always contain a tree. A whose operand is a is a . Since tables are allowed in , this is the only construct which allows, indirectly, the nesting of a within a . Note that most block content can only be typeset correctly within an hyphenated cell, this is controlled by the table variable. <\explain> <|explain> In addition to regular markup, cells can accept as an operand. The operand of is a tree containing regular table data. A similar effect can be obtained with normal table by setting the cell's padding to zero in all directions, the extra twist of a is its inaccessible border positions. <\explain> <|explain> This tag is used in the definition of cell decorations, see the documentation of the environment variable. It is also used outside tables, in the tag to mark the currently displayed position. <\explain> <|explain> This macro implements standard left aligned tables without borders. Although the macro is built-in into , it should not really be considered as a primitive. However, it is not part of any style file either.