NAME
tbl — tbl language reference for mandocDESCRIPTION
The tbl language is a table-formatting language. It is used within mdoc(7) and man(7) UNIX manual pages. This manual describes the subset of the tbl language accepted by the mandoc(1) utility..TS tab(:) box; c5 c5 c5. 1:2:3 4:5:6 .TE
1 | 2 | 3 |
4 | 5 | 6 |
TABLE STRUCTURE
Tables are enclosed by the ‘TS’ and ‘TE’ roff(7) macros. A table consists of an optional single line of table Options terminated by a semicolon, followed by one or more lines of Layout specifications terminated by a period, then Data. All input must be 7-bit ASCII. Example:.TS box tab(:); c | c | c | c. 1:2 3:4 .TE
.TS tab(:); c c c. 1:2:3 .Ao 3:2:1 .Ac .TE
.TS tab(:); c c c. .ds ab 2 1:\*(ab:3 .I 3:2:1 .TE
Options
The first line of a table may contain options separated by spaces, tabs, or commas and terminated by a semicolon. If the first line does not have a terminating semicolon, it is assumed that no options are specified and instead a Layout is processed. Some options require arguments enclosed by parentheses. The following case-insensitive options are available:- allbox
- Draw a single-line box around each table cell. Currently treated as a synonym for box.
- box
- Draw a single-line box around the table. For GNU compatibility, this may also be invoked with frame.
- center
- Center the table instead of left-adjusting it. For GNU compatibility, this may also be invoked with centre.
- decimalpoint
- Use the single-character argument as the decimal point with the n layout key. This is a GNU extension.
- delim
- Use the two characters of the argument as eqn(7) delimiters. Currently unsupported.
- doublebox
- Draw a double-line box around the table. For GNU compatibility, this may also be invoked with doubleframe.
- expand
- Increase the width of the table to the current line length. Currently ignored.
- linesize
- Draw lines with the point size given by the unsigned integer argument. Currently ignored.
- nokeep
- Allow page breaks within the table. This is a GNU extension and currently ignored.
- nospaces
- Ignore leading and trailing spaces in data cells. This is a GNU extension and currently ignored.
- nowarn
- Suppress warnings about tables exceeding the current line length. This is a GNU extension and currently ignored.
- tab
- Use the single-character argument as a delimiter between data cells. By default, the tab character is used.
Layout
The table layout follows Options or a ‘T&’ macro invocation. Layout specifies how data rows are displayed on output. Each layout line corresponds to a line of data; the last layout line applies to all remaining data lines. Layout lines may also be separated by a comma. Each layout cell consists of one of the following case-insensitive keys:- c
- Center a literal string within its column.
- r
- Right-justify a literal string within its column.
- l
- Left-justify a literal string within its column.
- n
- Justify a number around its last decimal point. If the decimal point is not found on the number, it's assumed to trail the number.
- s
-
Horizontally span columns from the last
non-
s data cell. It is an error if spanning columns follow a - or | cell, or come first. This option is not supported by mandoc(1). - a
- Left-justify a literal string and pad with one space.
- ^
-
Vertically span rows from the last
non-
^ data cell. It is an error to invoke a vertical span on the first layout row. Unlike a horizontal spanner, you must specify an empty cell (if it not empty, the data is discarded) in the corresponding data cell. - -
- Replace the data cell (its contents will be lost) with a single horizontal line. This may also be invoked with _.
- =
- Replace the data cell (its contents will be lost) with a double horizontal line.
- |
- Emit a vertical bar instead of data.
- ||
- Emit a double-vertical bar instead of data.
- b
- Use a bold font for the contents of this column.
- d
- Move cell content down to the last cell of a vertical span. Currently ignored.
- e
- Make this column wider to match the maximum width of any other column also having the e modifier.
- f
- The next character selects the font to use for this column. See the roff(7) manual for supported one-character font names.
- i
- Use an italic font for the contents of this column.
- m
- Specify a cell start macro. This is a GNU extension and currently unsupported.
- p
- Set the point size to the following unsigned argument, or change it by the following signed argument. Currently ignored.
- v
- Set the vertical line spacing to the following unsigned argument, or change it by the following signed argument. Currently ignored.
- t
- Do not vertically center cell content in the vertical span, leave it at the top. Currently ignored.
- u
- Move cell content up by half a table line. Currently ignored.
- w
- Specify minimum column width. Currently ignored.
- x
- After determining the width of all other columns, distribute the rest of the line length among all columns having the x modifier.
- z
- Do not use this cell for determining the width of this column.
c10 | l10 | nfB