-A table consists of an optional single line of table options terminated
-by a semicolon, followed by one or more lines of layout specification
-terminated by a period, then table data.
-A table block may also include
-.Nm ,
-.Xr mdoc 7 ,
-or
-.Xr man 7
-macros.
-Example:
-.Bd -literal -offset indent
-\&.TS
-box tab(:); \e" Table-wide options.
-c | c \e" Layout for first line.
-| c | c. \e" Layout for all subsequent lines.
-1:2 \e" Data...
-3:4
-\&.TE
-.Ed
-.Pp
-Table data is
-.Em pre-processed ,
-that is, data rows are parsed then inserted into the underlying stream
-of input data.
-This allows data rows to be interspersed by arbitrary macros, such as
-.Bd -literal -offset indent
-\&.TS
-tab(:);
-c c c.
-1:2:3
-\&.Ao
-3:2:1
-\&.Ac
-\&.TE
-.Ed
-.Pp
-in the case of
-.Xr mdoc 7
-or
-.Bd -literal -offset indent
-\&.TS
-tab(:);
-c c c.
-\&.ds ab 2
-1:\e*(ab:3
-\&.I
-3:2:1
-\&.TE
-.Ed
-.Pp
-in the case of
-.Xr man 7 .
-.Pp
-The first line of a table consists of its options, which consists of
-space-separated keys and modifiers 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 accept arguments enclosed by paranthesis.
-The following case-insensitive options are available:
-.Bl -tag -width Ds
-.It Cm center
-This option is not supported by
-.Xr mandoc 1 .
-This may also be invoked with
-.Cm centre .
-.It Cm delim
-Accepts a two-character argument.
-This option is not supported by
-.Xr mandoc 1 .
-.It Cm expand
-This option is not supported by
-.Xr mandoc 1 .
-.It Cm box
-Draw a single-line box around the table.
-This may also be invoked with
-.Cm frame .
-.It Cm doublebox
-Draw a double-line box around the table.
-This may also be invoked with
-.Cm doubleframe .
-.It Cm allbox
-This option is not supported by
-.Xr mandoc 1 .
-.It Cm tab
-Accepts a single-character argument.
-This character is used a delimiter between data cells, which otherwise
-defaults to the tab character.
-.It Cm linesize
-Accepts a natural number (all digits).
-This option is not supported by
-.Xr mandoc 1 .
-.It Cm nokeep
-This option is not supported by
-.Xr mandoc 1 .
-.It Cm decimalpoint
-Accepts a single-character argument.
-This character will be used as the decimal point with the
-.Cm n
-layout key.
-This option is not supported by
-.Xr mandoc 1 .
-.It Cm nospaces
-This option is not supported by
-.Xr mandoc 1 .
-.El
-.Pp
-The table layout follows table options, except in the case of
-.Sx \&T& ,
-where it immediately procedes 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:
-.Bl -tag -width Ds
-.It Cm c
-Centre a literal string within its column.
-.It Cm r
-Right-justify a literal string within its column.
-.It Cm l
-Left-justify a literal string within its column.
-.It Cm n
-Justify a number around its decimal point.
-If the decimal point is not found on the number, it's assumed to trail
-the number.
-.It Cm s
-This option is not supported by
-.Xr mandoc 1 .
-.It Cm a
-This option is not supported by
-.Xr mandoc 1 .
-.It Cm ^
-This option is not supported by
-.Xr mandoc 1 .
-.It Cm \-
-This may also be invoked with
-.Cm _ .
-.It Cm =
-.It Cm \(ba
-Emit a vertical bar instead of data.
-.It Cm \(ba\(ba
-Emit a double-vertical bar instead of data.
-.El
-.Pp
-Keys may be followed by a set of modifiers.
-A modifier is either a modifier key or a natural number for specifying
-spacing.
-The following case-insensitive modifier keys are available:
-.Bl -tag -width Ds
-.It Cm z
-.It Cm u
-.It Cm e
-.It Cm t
-.It Cm d
-.It Cm f
-Must be followed by a case-insensitive font style:
-.Cm b
-for bold or
-.Cm i
-for italic.
-.It Cm b
-.It Cm i
-.El