version 1.28, 2009/06/12 12:40:44 |
version 1.33, 2009/06/25 10:51:21 |
|
|
language is used to format |
language is used to format |
.Bx |
.Bx |
.Ux |
.Ux |
manuals. In this reference document, we describe the syntax, ontology |
manuals. In this reference document, we describe the syntax and |
and structure of the |
structure of the |
.Nm |
.Nm |
language. Our reference implementation is |
language. Our reference implementation is |
.Xr mandoc 1 . |
.Xr mandoc 1 . |
|
|
.Sq \&.Bd \-unfilled |
.Sq \&.Bd \-unfilled |
contexts. |
contexts. |
.\" SUB-SECTION |
.\" SUB-SECTION |
|
.Ss Comments |
|
Anything following a |
|
.Sq \e" |
|
delimiter is considered a comment (unless the |
|
.Sq \e |
|
itself has been escaped) and is ignored to the end of line. |
|
Furthermore, a macro line with only a control character |
|
.Sq \. , |
|
optionally followed by whitespace, is ignored. |
|
.\" SUB-SECTION |
.Ss Reserved Characters |
.Ss Reserved Characters |
Within a macro line, the following characters are reserved: |
Within a macro line, the following characters are reserved: |
.Bl -tag -width 12n -offset XXXX -compact |
.Bl -tag -width Ds -offset XXXX -compact |
.It \&. |
.It \&. |
.Pq period |
.Pq period |
.It \&, |
.It \&, |
Line 129 Characters may alternatively be escaped by a slash-ast |
|
Line 139 Characters may alternatively be escaped by a slash-ast |
|
with the same combinations as described above. This form is deprecated. |
with the same combinations as described above. This form is deprecated. |
.\" SECTION |
.\" SECTION |
.Sh STRUCTURE |
.Sh STRUCTURE |
Macros are classified in an ontology described by their scope rules. |
Each |
Some macros are allowed to deviate from their classifications to |
.Nm |
preserve backward-compatibility with old macro combinations still found |
document must begin with the document prologue, containing, in order, |
in the manual corpus. These are specifically noted on a per-macro |
.Sq \&.Dd , |
basis. |
.Sq \&.Dt , |
|
and |
|
.Sq \&.Os . |
|
Following these, the document body must begin with the NAME section |
|
containing at least one |
|
.Sq \&.Nm |
|
followed by a |
|
.Sq \&.Nd |
|
macro. |
|
.Pp |
|
At least one free-form or macro line must follow this prologue. |
|
.\" |
|
.Ss Classification |
|
Macros are classified by their scope rules. Some macros are allowed to |
|
deviate from their classifications to preserve backward-compatibility |
|
with old macro combinations still found in the manual corpus. These are |
|
specifically noted on a per-macro basis. |
.\" SUB-SECTION |
.\" SUB-SECTION |
.Ss Scope |
.Ss Scope |
.Bl -inset |
.Bl -inset |
Line 268 In-lines have \(>=0 scoped arguments. |
|
Line 294 In-lines have \(>=0 scoped arguments. |
|
|
|
\&.Yy \(lB\-arg \(lBval...\(rB\(rB arg0 arg1 argN |
\&.Yy \(lB\-arg \(lBval...\(rB\(rB arg0 arg1 argN |
.Ed |
.Ed |
.\" |
.\" SECTION |
.Sh MACROS |
.Sh MACROS |
This section contains a complete list of all |
This section contains a complete list of all |
.Nm |
.Nm |
macros, arranged ontologically. A |
macros, arranged by classification. A |
.Qq callable |
.Qq callable |
macro is invoked subsequent to the initial macro-line macro. A |
macro is invoked subsequent to the initial macro-line macro. A |
.Qq parsable |
.Qq parsable |
|
|
.Pc |
.Pc |
don't have heads. |
don't have heads. |
.Pp |
.Pp |
.Bl -column "MacroX" "CallableX" "ParsableX" "Closing" -compact -offset XXXX |
.Bl -column -compact -offset XXXX "MacroX" "CallableX" "ParsableX" "Closing" |
.It Em Macro Ta Em Callable Ta Em Parsable Ta Em Closing |
.It Em Macro Ta Em Callable Ta Em Parsable Ta Em Closing |
.It \&.Sh Ta \&No Ta \&No Ta \&.Sh |
.It \&.Sh Ta \&No Ta \&No Ta \&.Sh |
.It \&.Ss Ta \&No Ta \&No Ta \&.Sh, \&.Ss |
.It \&.Ss Ta \&No Ta \&No Ta \&.Sh, \&.Ss |
Line 303 None of these macros are callable or parsed. The last |
|
Line 329 None of these macros are callable or parsed. The last |
|
the explicit scope rules. All contains bodies, some may contain heads |
the explicit scope rules. All contains bodies, some may contain heads |
.Pq So \&Bf Sc . |
.Pq So \&Bf Sc . |
.Pp |
.Pp |
.Bl -column "MacroX" "CallableX" "ParsableX" "closed by XXX" -compact -offset XXXX |
.Bl -column -compact -offset XXXX "MacroX" "CallableX" "ParsableX" "closed by XXX" |
.It Em Macro Ta Em Callable Ta Em Parsable Ta Em Scope |
.It Em Macro Ta Em Callable Ta Em Parsable Ta Em Scope |
.It \&.Bd Ta \&No Ta \&No Ta closed by \&.Ed |
.It \&.Bd Ta \&No Ta \&No Ta closed by \&.Ed |
.It \&.Ed Ta \&No Ta \&No Ta opened by \&.Bd |
.It \&.Ed Ta \&No Ta \&No Ta opened by \&.Bd |
|
|
There's no way to refer to references in |
There's no way to refer to references in |
.Sq \&.Rs/.Re |
.Sq \&.Rs/.Re |
blocks. |
blocks. |
|
.\" LIST-ITEM |
|
.It |
|
The \-split and \-nosplit arguments to |
|
.Sq \&.An |
|
are inane. |
.El |
.El |