version 1.38, 2009/07/06 09:21:24 |
version 1.40, 2009/07/12 16:34:16 |
|
|
.Sq \. |
.Sq \. |
are parsed for macros. Other lines are interpreted within the scope of |
are parsed for macros. Other lines are interpreted within the scope of |
prior macros: |
prior macros: |
.Bd -literal -offset XXX |
.Bd -literal -offset indent |
\&.Sh Macro lines change control state. |
\&.Sh Macro lines change control state. |
Other lines are interpreted within the current state. |
Other lines are interpreted within the current state. |
.Ed |
.Ed |
Line 90 optionally followed by whitespace, is ignored. |
|
Line 90 optionally followed by whitespace, is ignored. |
|
.\" SUB-SECTION |
.\" 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 Ds -offset XXXX -compact |
.Bl -tag -width Ds -offset indent -compact |
.It \&. |
.It \&. |
.Pq period |
.Pq period |
.It \&, |
.It \&, |
Line 178 specifically noted on a per-macro basis. |
|
Line 178 specifically noted on a per-macro basis. |
|
.It Em Block |
.It Em Block |
macros enclose other block macros, in-line macros or text, and |
macros enclose other block macros, in-line macros or text, and |
may span multiple lines. |
may span multiple lines. |
.Bl -inset -offset XXXX |
.Bl -inset -offset indent |
.\" LIST-ITEM |
.\" LIST-ITEM |
.It Em Full-block |
.It Em Full-block |
macros always span multiple lines. They consist of zero or |
macros always span multiple lines. They consist of zero or |
Line 213 on whether it's parsable. In this table, |
|
Line 213 on whether it's parsable. In this table, |
|
refers to block full-explicit and so on. |
refers to block full-explicit and so on. |
.\" PARAGRAPH |
.\" PARAGRAPH |
.Pp |
.Pp |
.Bl -tag -width 12n -offset XXXX -compact |
.Bl -tag -width 12n -offset indent -compact |
.It BPE , BFE |
.It BPE , BFE |
corresponding explicit closure macro |
corresponding explicit closure macro |
.It BFI |
.It BFI |
Line 231 If a macro (block or in-line) is parsable, it may also |
|
Line 231 If a macro (block or in-line) is parsable, it may also |
|
one of the following scenarios (unless specifically noted otherwise): |
one of the following scenarios (unless specifically noted otherwise): |
.\" PARAGRAPH |
.\" PARAGRAPH |
.Pp |
.Pp |
.Bl -dash -offset XXXX -compact |
.Bl -dash -offset indent -compact |
.It |
.It |
a sequence of >0 space-separated |
a sequence of >0 space-separated |
.Sx Reserved Characters , |
.Sx Reserved Characters , |
Line 264 closes it out (closure may be implicit at end-of-line |
|
Line 264 closes it out (closure may be implicit at end-of-line |
|
.\" PARAGRAPH |
.\" PARAGRAPH |
.Pp |
.Pp |
Block full-explicit (may contain head, body, tail). |
Block full-explicit (may contain head, body, tail). |
.Bd -literal -offset XXXX |
.Bd -literal -offset indent |
\&.Yo \(lB\-arg \(lBval...\(rB\(rB \(lBhead...\(rB |
\&.Yo \(lB\-arg \(lBval...\(rB\(rB \(lBhead...\(rB |
\(lBbody...\(rB |
\(lBbody...\(rB |
\&.Yc \(lBtail...\(rB |
\&.Yc \(lBtail...\(rB |
Line 272 Block full-explicit (may contain head, body, tail). |
|
Line 272 Block full-explicit (may contain head, body, tail). |
|
.\" PARAGRAPH |
.\" PARAGRAPH |
.Pp |
.Pp |
Block full-implicit (may contain zero or more heads, body, no tail). |
Block full-implicit (may contain zero or more heads, body, no tail). |
.Bd -literal -offset XXXX |
.Bd -literal -offset indent |
\&.Yo \(lB\-arg \(lBval...\(rB\(rB \(lBhead... \(lBTa head...\(rB\(rB |
\&.Yo \(lB\-arg \(lBval...\(rB\(rB \(lBhead... \(lBTa head...\(rB\(rB |
\(lBbody...\(rB |
\(lBbody...\(rB |
\&.Yc |
\&.Yc |
Line 280 Block full-implicit (may contain zero or more heads, b |
|
Line 280 Block full-implicit (may contain zero or more heads, b |
|
.\" PARAGRAPH |
.\" PARAGRAPH |
.Pp |
.Pp |
Block partial-explicit (may contain head, multi-line body, tail). |
Block partial-explicit (may contain head, multi-line body, tail). |
.Bd -literal -offset XXXX |
.Bd -literal -offset indent |
\&.Yo \(lB\-arg \(lBval...\(rB\(rB \(lBhead...\(rB |
\&.Yo \(lB\-arg \(lBval...\(rB\(rB \(lBhead...\(rB |
\(lBbody...\(rB |
\(lBbody...\(rB |
\&.Yc \(lBtail...\(rB |
\&.Yc \(lBtail...\(rB |
Line 294 Block partial-implicit (no head, body, no tail). Note |
|
Line 294 Block partial-implicit (no head, body, no tail). Note |
|
section may be followed by zero or more |
section may be followed by zero or more |
.Sx Reserved Words . |
.Sx Reserved Words . |
These are in the block scope, but not in the body scope. |
These are in the block scope, but not in the body scope. |
.Bd -literal -offset XXXX |
.Bd -literal -offset indent |
\&.Yo \(lB\-arg \(lBval...\(rB\(rB \(lBbody...\(rB \(lBreserved...\(rB |
\&.Yo \(lB\-arg \(lBval...\(rB\(rB \(lBbody...\(rB \(lBreserved...\(rB |
.Ed |
.Ed |
.\" PARAGRAPH |
.\" PARAGRAPH |
.Pp |
.Pp |
In-lines have \(>=0 scoped arguments. |
In-lines have \(>=0 scoped arguments. |
.Bd -literal -offset XXX |
.Bd -literal -offset indent |
\&.Yy \(lB\-arg \(lBval...\(rB\(rB \(lBargs...\(rB |
\&.Yy \(lB\-arg \(lBval...\(rB\(rB \(lBargs...\(rB |
|
|
\&.Yy \(lB\-arg \(lBval...\(rB\(rB arg0 arg1 argN |
\&.Yy \(lB\-arg \(lBval...\(rB\(rB arg0 arg1 argN |
|
|
.Pc |
.Pc |
don't have heads. |
don't have heads. |
.Pp |
.Pp |
.Bl -column -compact -offset XXXX "MacroX" "CallableX" "ParsableX" "Closing" |
.Bl -column -compact -offset indent "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 \&.Nd Ta \&No Ta \&No Ta \&.Sh |
.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 |
.It \&.It Ta \&No Ta Yes Ta \&.It, \&.El |
.It \&.It Ta \&No Ta Yes Ta \&.It, \&.El |
Line 340 None of these macros are callable or parsed. The last |
|
Line 341 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 -compact -offset XXXX "MacroX" "CallableX" "ParsableX" "closed by XXX" |
.Bl -column -compact -offset indent "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 |
Line 356 the explicit scope rules. All contains bodies, some m |
|
Line 357 the explicit scope rules. All contains bodies, some m |
|
All of these are callable and parsed for further macros. Their scopes |
All of these are callable and parsed for further macros. Their scopes |
close at the invocation's end-of-line. |
close at the invocation's end-of-line. |
.Pp |
.Pp |
.Bl -column "MacroX" "CallableX" "ParsableX" -compact -offset XXXX |
.Bl -column "MacroX" "CallableX" "ParsableX" -compact -offset indent |
.It Em Macro Ta Em Callable Ta Em Parsable |
.It Em Macro Ta Em Callable Ta Em Parsable |
.It \&.Aq Ta Yes Ta Yes |
.It \&.Aq Ta Yes Ta Yes |
.It \&.Op Ta Yes Ta Yes |
.It \&.Op Ta Yes Ta Yes |
|
|
may be broken by |
may be broken by |
.Sq \&.Oc |
.Sq \&.Oc |
as in the following example: |
as in the following example: |
.Bd -literal -offset XXXX |
.Bd -literal -offset indent |
\&.Oo |
\&.Oo |
\&.Op Fl a Oc |
\&.Op Fl a Oc |
.Ed |
.Ed |
|
|
and/or tail |
and/or tail |
.Pq So \&.Ec Sc . |
.Pq So \&.Ec Sc . |
.Pp |
.Pp |
.Bl -column "MacroX" "CallableX" "ParsableX" "closed by XXXX" -compact -offset XXXX |
.Bl -column "MacroX" "CallableX" "ParsableX" "closed by XXXX" -compact -offset indent |
.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 \&.Ao Ta Yes Ta Yes Ta closed by \&.Ac |
.It \&.Ao Ta Yes Ta Yes Ta closed by \&.Ac |
.It \&.Ac Ta Yes Ta Yes Ta opened by \&.Ao |
.It \&.Ac Ta Yes Ta Yes Ta opened by \&.Ao |
|
|
.Pq n , |
.Pq n , |
then the macro accepts an arbitrary number of arguments. |
then the macro accepts an arbitrary number of arguments. |
.Pp |
.Pp |
.Bl -column "MacroX" "CallableX" "ParsableX" "Arguments" -compact -offset XXXX |
.Bl -column "MacroX" "CallableX" "ParsableX" "Arguments" -compact -offset indent |
.It Em Macro Ta Em Callable Ta Em Parsable Ta Em Arguments |
.It Em Macro Ta Em Callable Ta Em Parsable Ta Em Arguments |
.It \&.Dd Ta \&No Ta \&No Ta >0 |
.It \&.Dd Ta \&No Ta \&No Ta >0 |
.It \&.Dt Ta \&No Ta \&No Ta n |
.It \&.Dt Ta \&No Ta \&No Ta n |
Line 453 then the macro accepts an arbitrary number of argument |
|
Line 454 then the macro accepts an arbitrary number of argument |
|
.It \&.Ic Ta Yes Ta Yes Ta >0 |
.It \&.Ic Ta Yes Ta Yes Ta >0 |
.It \&.In Ta \&No Ta \&No Ta n |
.It \&.In Ta \&No Ta \&No Ta n |
.It \&.Li Ta Yes Ta Yes Ta n |
.It \&.Li Ta Yes Ta Yes Ta n |
.It \&.Nd Ta \&No Ta \&No Ta n |
|
.It \&.Nm Ta Yes Ta Yes Ta n |
.It \&.Nm Ta Yes Ta Yes Ta n |
.It \&.Ot Ta \&No Ta \&No Ta n |
.It \&.Ot Ta \&No Ta \&No Ta n |
.It \&.Pa Ta Yes Ta Yes Ta n |
.It \&.Pa Ta Yes Ta Yes Ta n |