version 1.1, 2011/01/04 23:32:21 |
version 1.15, 2011/09/02 19:37:35 |
|
|
.\" $Id$ |
.\" $Id$ |
.\" |
.\" |
.\" Copyright (c) 2010 Kristaps Dzonsons <kristaps@bsd.lv> |
.\" Copyright (c) 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv> |
.\" |
.\" |
.\" Permission to use, copy, modify, and distribute this software for any |
.\" Permission to use, copy, modify, and distribute this software for any |
.\" purpose with or without fee is hereby granted, provided that the above |
.\" purpose with or without fee is hereby granted, provided that the above |
Line 49 macro tags, whose precise syntax is documented in |
|
Line 49 macro tags, whose precise syntax is documented in |
|
Tables consist of a series of options on a single line, followed by the |
Tables consist of a series of options on a single line, followed by the |
table layout, followed by data. |
table layout, followed by data. |
.Pp |
.Pp |
For example, the following creates a boxed table with digits centered in |
For example, the following creates a boxed table with digits centred in |
the cells. |
the cells. |
.Bd -literal -offset indent |
.Bd -literal -offset indent |
\&.TS |
\&.TS |
|
|
4:5:6 |
4:5:6 |
.TE |
.TE |
.Ed |
.Ed |
|
.Pp |
|
The |
|
.Nm |
|
implementation in |
|
.Xr mandoc 1 |
|
is |
|
.Ud |
.Sh TABLE STRUCTURE |
.Sh TABLE STRUCTURE |
Tables are enclosed by the |
Tables are enclosed by the |
.Sq TS |
.Sq TS |
|
|
.Sq TE |
.Sq TE |
.Xr roff 7 |
.Xr roff 7 |
macros. |
macros. |
A table consists of an optional single line of table options terminated |
A table consists of an optional single line of table |
by a semicolon, followed by one or more lines of layout specification |
.Sx Options |
terminated by a period, then table data. |
terminated by a semicolon, followed by one or more lines of |
|
.Sx Layout |
|
specifications terminated by a period, then |
|
.Sx Data . |
All input must be 7-bit ASCII. |
All input must be 7-bit ASCII. |
Example: |
Example: |
.Bd -literal -offset indent |
.Bd -literal -offset indent |
|
|
.Em pre-processed , |
.Em pre-processed , |
that is, data rows are parsed then inserted into the underlying stream |
that is, data rows are parsed then inserted into the underlying stream |
of input data. |
of input data. |
This allows data rows to be interspersed by arbitrary |
This allows data rows to be interspersed by arbitrary |
.Xr roff 7 , |
.Xr roff 7 , |
.Xr mdoc 7 , |
.Xr mdoc 7 , |
and |
and |
|
|
.Pp |
.Pp |
in the case of |
in the case of |
.Xr man 7 . |
.Xr man 7 . |
.Ss Table Options |
.Ss Options |
The first line of a table consists of its options, which consists of |
The first line of a table consists of space-separated option keys and |
space-separated keys and modifiers terminated by a semicolon. |
modifiers terminated by a semicolon. |
If the first line does not have a terminating semicolon, it is assumed |
If the first line does not have a terminating semicolon, it is assumed |
that no options are specified and instead a layout is processed. |
that no options are specified and instead a |
Some options accept arguments enclosed by paranthesis. |
.Sx Layout |
|
is processed. |
|
Some options accept arguments enclosed by parenthesis. |
The following case-insensitive options are available: |
The following case-insensitive options are available: |
.Bl -tag -width Ds |
.Bl -tag -width Ds |
.It Cm center |
.It Cm center |
Line 161 This option is not supported by |
|
Line 173 This option is not supported by |
|
.Xr mandoc 1 . |
.Xr mandoc 1 . |
.It Cm tab |
.It Cm tab |
Accepts a single-character argument. |
Accepts a single-character argument. |
This character is used a delimiter between data cells, which otherwise |
This character is used as a delimiter between data cells, which otherwise |
defaults to the tab character. |
defaults to the tab character. |
.It Cm linesize |
.It Cm linesize |
Accepts a natural number (all digits). |
Accepts a natural number (all digits). |
Line 175 Accepts a single-character argument. |
|
Line 187 Accepts a single-character argument. |
|
This character will be used as the decimal point with the |
This character will be used as the decimal point with the |
.Cm n |
.Cm n |
layout key. |
layout key. |
This option is not supported by |
|
.Xr mandoc 1 . |
|
.It Cm nospaces |
.It Cm nospaces |
This option is not supported by |
This option is not supported by |
.Xr mandoc 1 . |
.Xr mandoc 1 . |
.El |
.El |
.Ss Table Layout |
.Ss Layout |
The table layout follows table options, except in the case of |
The table layout follows |
.Sx \&T& , |
.Sx Options |
where it immediately procedes invocation. |
or a |
|
.Sq \&T& |
|
macro invocation. |
Layout specifies how data rows are displayed on output. |
Layout specifies how data rows are displayed on output. |
Each layout line corresponds to a line of data; the last layout line |
Each layout line corresponds to a line of data; the last layout line |
applies to all remaining data lines. |
applies to all remaining data lines. |
Line 198 Right-justify a literal string within its column. |
|
Line 210 Right-justify a literal string within its column. |
|
.It Cm l |
.It Cm l |
Left-justify a literal string within its column. |
Left-justify a literal string within its column. |
.It Cm n |
.It Cm n |
Justify a number around its decimal point. |
Justify a number around its last decimal point. |
If the decimal point is not found on the number, it's assumed to trail |
If the decimal point is not found on the number, it's assumed to trail |
the number. |
the number. |
.It Cm s |
.It Cm s |
|
Horizontally span columns from the last |
|
.No non- Ns Cm s |
|
data cell. |
|
It is an error if spanning columns follow a |
|
.Cm \- |
|
or |
|
.Cm \(ba |
|
cell, or come first. |
This option is not supported by |
This option is not supported by |
.Xr mandoc 1 . |
.Xr mandoc 1 . |
.It Cm a |
.It Cm a |
This option is not supported by |
Left-justify a literal string and pad with one space. |
.Xr mandoc 1 . |
|
.It Cm ^ |
.It Cm ^ |
This option is not supported by |
Vertically span rows from the last |
.Xr mandoc 1 . |
.No non- Ns Cm ^ |
|
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. |
.It Cm \- |
.It Cm \- |
Replace the data cell (its contents will be lost) with a single |
Replace the data cell (its contents will be lost) with a single |
horizontal line. |
horizontal line. |
Line 224 Emit a vertical bar instead of data. |
|
Line 247 Emit a vertical bar instead of data. |
|
Emit a double-vertical bar instead of data. |
Emit a double-vertical bar instead of data. |
.El |
.El |
.Pp |
.Pp |
For example, following layout specifies a centre-justified column of |
|
minimum width 10, followed by vertical bar, followed by a left-justified |
|
column of minimum width 10, another vertical bar, then a column |
|
justified about the decimal point in numbers: |
|
.Pp |
|
.Dl c10 | l10 | n |
|
.Pp |
|
Keys may be followed by a set of modifiers. |
Keys may be followed by a set of modifiers. |
A modifier is either a modifier key or a natural number for specifying |
A modifier is either a modifier key or a natural number for specifying |
spacing. |
the minimum width of a column. |
The following case-insensitive modifier keys are available: |
The following case-insensitive modifier keys are available: |
.Cm z , |
.Cm z , |
.Cm u , |
.Cm u , |
|
|
.Cm i . |
.Cm i . |
All of these are ignored by |
All of these are ignored by |
.Xr mandoc 1 . |
.Xr mandoc 1 . |
.Ss Table Data |
.Pp |
|
For example, the following layout specifies a centre-justified column of |
|
minimum width 10, followed by vertical bar, followed by a left-justified |
|
column of minimum width 10, another vertical bar, then a column |
|
justified about the decimal point in numbers: |
|
.Pp |
|
.Dl c10 | l10 | n |
|
.Ss Data |
The data section follows the last layout row. |
The data section follows the last layout row. |
By default, cells in a data section are delimited by a tab. |
By default, cells in a data section are delimited by a tab. |
This behaviour may be changed with the |
This behaviour may be changed with the |
|
|
.Cm \e- |
.Cm \e- |
or |
or |
.Cm \e= |
.Cm \e= |
is specified, a line is drawn within the data field (i.e., terminating |
is specified, a line is drawn within the data field (i.e. terminating |
within the cell and not draw to the border). |
within the cell and not draw to the border). |
If the last cell of a line is |
If the last cell of a line is |
.Cm T{ , |
.Cm T{ , |
all subsequent lines are included as part of the cell until |
all subsequent lines are included as part of the cell until |
.Cm T} |
.Cm T} |
is specified on its own line. |
is specified as its own data cell. |
|
It may then be followed by a tab |
|
.Pq or as designated by Cm tab |
|
or an end-of-line to terminate the row. |
.Sh COMPATIBILITY |
.Sh COMPATIBILITY |
This section documents compatibility between mandoc and other |
This section documents compatibility between mandoc and other |
.Nm |
.Nm |
Line 286 implementation allows them. |
|
Line 312 implementation allows them. |
|
.El |
.El |
.Sh SEE ALSO |
.Sh SEE ALSO |
.Xr mandoc 1 , |
.Xr mandoc 1 , |
.Xr mandoc_char 7 , |
|
.Xr roff 7 , |
|
.Xr man 7 , |
.Xr man 7 , |
.Xr mdoc 7 |
.Xr mandoc_char 7 , |
|
.Xr mdoc 7 , |
|
.Xr roff 7 |
.Rs |
.Rs |
.%A M. E. Lesk |
.%A M. E. Lesk |
.%T Tbl\(emA Program to Format Tables |
.%T Tbl\(emA Program to Format Tables |
Line 306 This formed the basis of the implementation that is pa |
|
Line 332 This formed the basis of the implementation that is pa |
|
.Xr mandoc 1 |
.Xr mandoc 1 |
utility. |
utility. |
.Sh AUTHORS |
.Sh AUTHORS |
This partial |
This |
.Nm |
.Nm |
reference was written by |
reference was written by |
.An Kristaps Dzonsons Aq kristaps@bsd.lv . |
.An Kristaps Dzonsons , |
|
.Mt kristaps@bsd.lv . |