version 1.97, 2018/08/10 04:41:25 |
version 1.104, 2018/08/24 23:12:33 |
Line 86 character, and, in certain circumstances, the tab char |
|
Line 86 character, and, in certain circumstances, the tab char |
|
The backslash character |
The backslash character |
.Sq \e |
.Sq \e |
indicates the start of an escape sequence, used for example for |
indicates the start of an escape sequence, used for example for |
.Sx Comments , |
.Sx Comments |
.Sx Special Characters , |
|
.Sx Predefined Strings , |
|
and |
and |
user-defined strings defined using the |
.Sx Special Characters . |
.Sx ds |
|
request. |
|
For a listing of escape sequences, consult the |
For a listing of escape sequences, consult the |
.Sx ESCAPE SEQUENCE REFERENCE |
.Sx ESCAPE SEQUENCE REFERENCE |
below. |
below. |
Line 169 Text decoration is |
|
Line 165 Text decoration is |
|
recommended for |
recommended for |
.Xr mdoc 7 , |
.Xr mdoc 7 , |
which encourages semantic annotation. |
which encourages semantic annotation. |
.Ss Predefined Strings |
|
Predefined strings, like |
|
.Sx Special Characters , |
|
mark special output glyphs. |
|
Predefined strings are escaped with the slash-asterisk, |
|
.Sq \e* : |
|
single-character |
|
.Sq \e*X , |
|
two-character |
|
.Sq \e*(XX , |
|
and N-character |
|
.Sq \e* Ns Bq N . |
|
.Pp |
|
Examples: |
|
.Bl -tag -width Ds -offset indent -compact |
|
.It Li \e*(Am |
|
Two-letter ampersand predefined string. |
|
.It Li \e*q |
|
One-letter double-quote predefined string. |
|
.El |
|
.Pp |
|
Predefined strings are not recommended for use, |
|
as they differ across implementations. |
|
Those supported by |
|
.Xr mandoc 1 |
|
are listed in |
|
.Xr mandoc_char 7 . |
|
Manuals using these predefined strings are almost certainly not portable. |
|
.Ss Whitespace |
.Ss Whitespace |
Whitespace consists of the space character. |
Whitespace consists of the space character. |
In text lines, whitespace is preserved within a line. |
In text lines, whitespace is preserved within a line. |
|
|
in the input stream, and thus in the output: \fI\^XtFree\^\fP. |
in the input stream, and thus in the output: \fI\^XtFree\^\fP. |
Each occurrence of \e\e$* is replaced with all the arguments, |
Each occurrence of \e\e$* is replaced with all the arguments, |
joined together with single space characters. |
joined together with single space characters. |
|
The variant \e\e$@ is similar, except that each argument is |
|
individually quoted. |
.Pp |
.Pp |
Since macros and user-defined strings share a common string table, |
Since macros and user-defined strings share a common string table, |
defining a macro |
defining a macro |
|
|
.Ar font |
.Ar font |
arguments are supported: |
arguments are supported: |
.Bl -tag -width 4n -offset indent |
.Bl -tag -width 4n -offset indent |
.It Cm B , BI , 3 , 4 |
.It Cm B , BI , CB , 3 , 4 |
switches to |
switches to |
.Sy bold |
.Sy bold |
font |
font |
.It Cm I , 2 |
.It Cm I , CI , 2 |
switches to |
switches to |
.Em underlined |
.Em underlined |
font |
font |
.It Cm R , CW , 1 |
.It Cm R , CR , CW , 1 |
switches to normal font |
switches to normal font |
.It Cm P No "or no argument" |
.It Cm P No "or no argument" |
switches back to the previous font |
switches back to the previous font |
|
|
or |
or |
.Sq o |
.Sq o |
.Pq odd page , |
.Pq odd page , |
it evaluates to true. |
it evaluates to true, and the |
|
.Ar body |
|
starts with the next character. |
.It |
.It |
If the first character of |
If the first character of |
.Ar condition |
.Ar condition |
is |
is |
.Sq c |
|
.Pq character available , |
|
.Sq e |
.Sq e |
.Pq even page , |
.Pq even page , |
.Sq t |
.Sq t |
|
|
or |
or |
.Sq v |
.Sq v |
.Pq vroff mode , |
.Pq vroff mode , |
it evaluates to false. |
it evaluates to false, and the |
|
.Ar body |
|
starts with the next character. |
.It |
.It |
If the first character of |
If the first character of |
.Ar condition |
.Ar condition |
is |
is |
|
.Sq c |
|
.Pq character available , |
|
it evaluates to true if the following character is an ASCII character |
|
or a valid character escape sequence, or to false otherwise. |
|
The |
|
.Ar body |
|
starts with the character following that next character. |
|
.It |
|
If the first character of |
|
.Ar condition |
|
is |
.Sq d , |
.Sq d , |
it evaluates to true if the rest of |
it evaluates to true if the rest of |
.Ar condition |
.Ar condition |
Line 1219 While evaluating the |
|
Line 1202 While evaluating the |
|
the unit suffixes described below |
the unit suffixes described below |
.Sx Scaling Widths |
.Sx Scaling Widths |
are ignored. |
are ignored. |
.It Ic \&it Ar expression macro |
.It Ic \&itc Ar expression macro |
Set an input line trap, not counting lines ending with \ec. |
Set an input line trap, not counting lines ending with \ec. |
Currently unsupported. |
Currently unsupported. |
.It Ic \&IX Ar class keystring |
.It Ic \&IX Ar class keystring |
Line 1489 Currently ignored. |
|
Line 1472 Currently ignored. |
|
Set the maximum stack depth for recursive macros. |
Set the maximum stack depth for recursive macros. |
This is a Heirloom extension and currently ignored. |
This is a Heirloom extension and currently ignored. |
.It Ic \&return Op Ar twice |
.It Ic \&return Op Ar twice |
Exit a macro and return to the caller. |
Exit the presently executed macro and return to the caller. |
Currently unsupported. |
The argument is currently ignored. |
.It Ic \&rfschar Ar font glyph ... |
.It Ic \&rfschar Ar font glyph ... |
Remove font-specific fallback glyph definitions. |
Remove font-specific fallback glyph definitions. |
Currently unsupported. |
Currently unsupported. |
Line 1539 This is a Heirloom extension and currently ignored. |
|
Line 1522 This is a Heirloom extension and currently ignored. |
|
Change the soft hyphen character. |
Change the soft hyphen character. |
Currently ignored. |
Currently ignored. |
.It Ic \&shift Op Ar number |
.It Ic \&shift Op Ar number |
Shift macro arguments. |
Shift macro arguments |
Currently unsupported. |
.Ar number |
|
times, by default once: \e\e$i becomes what \e\e$i+number was. |
|
Also decrement \en(.$ by |
|
.Ar number . |
.It Ic \&sizes Ar size ... |
.It Ic \&sizes Ar size ... |
Define permissible point sizes. |
Define permissible point sizes. |
This is a groff extension and currently ignored. |
This is a groff extension and currently ignored. |
Line 1729 This is a Heirloom extension and currently ignored. |
|
Line 1715 This is a Heirloom extension and currently ignored. |
|
Set a page location trap. |
Set a page location trap. |
Currently unsupported. |
Currently unsupported. |
.It Ic \&while Ar condition body |
.It Ic \&while Ar condition body |
Repeated execution while a condition is true. |
Repeated execution while a |
Currently unsupported. |
.Ar condition |
|
is true, with syntax similar to |
|
.Ic \&if . |
|
Currently implemented with two restrictions: cannot nest, |
|
and each loop must start and end in the same scope. |
.It Ic \&write Oo \(dq Oc Ns Ar string |
.It Ic \&write Oo \(dq Oc Ns Ar string |
Write to an open file. |
Write to an open file. |
Ignored because insecure. |
Ignored because insecure. |
Line 1851 is an unpaddable space-sized non-breaking space charac |
|
Line 1841 is an unpaddable space-sized non-breaking space charac |
|
.Ss \e\(dq |
.Ss \e\(dq |
The rest of the input line is treated as |
The rest of the input line is treated as |
.Sx Comments . |
.Sx Comments . |
|
.Ss \e# |
|
Line continuation with comment. |
|
Discard the rest of the physical input line and continue the logical |
|
input line on the next physical input line, joining the text on |
|
both lines together as if it were on a single input line. |
|
This is a groff extension. |
|
.Ss \e$ Ns Ar arg |
|
Macro argument expansion, see |
|
.Sx de . |
.Ss \e% |
.Ss \e% |
Hyphenation allowed at this point of the word; ignored by |
Hyphenation allowed at this point of the word; ignored by |
.Xr mandoc 1 . |
.Xr mandoc 1 . |
Line 1867 with two-letter names, see |
|
Line 1866 with two-letter names, see |
|
.Xr mandoc_char 7 . |
.Xr mandoc_char 7 . |
.Ss \e* Ns Bq Ar name |
.Ss \e* Ns Bq Ar name |
Interpolate the string with the |
Interpolate the string with the |
.Ar name ; |
.Ar name . |
see |
|
.Sx Predefined Strings |
|
and |
|
.Sx ds . |
|
For short names, there are variants |
For short names, there are variants |
.No \e* Ns Ar c |
.No \e* Ns Ar c |
and |
and |
.No \e*( Ns Ar cc . |
.No \e*( Ns Ar cc . |
|
.Pp |
|
One string is predefined on the |
|
.Nm |
|
language level: \e*(.T expands to the name of the output device, |
|
for example ascii, utf8, ps, pdf, html, or markdown. |
|
.Pp |
|
Macro sets traditionally predefine additional strings which are not |
|
portable and differ across implementations. |
|
Those supported by |
|
.Xr mandoc 1 |
|
are listed in |
|
.Xr mandoc_char 7 . |
|
.Pp |
|
Strings can be defined, changed, and deleted with the |
|
.Ic \&ds , |
|
.Ic \&as , |
|
and |
|
.Ic \&rm |
|
requests. |
.Ss \e, |
.Ss \e, |
Left italic correction (groff extension); ignored by |
Left italic correction (groff extension); ignored by |
.Xr mandoc 1 . |
.Xr mandoc 1 . |
Line 2139 macro control character does not suppress output line |
|
Line 2153 macro control character does not suppress output line |
|
.It |
.It |
Diversions are not implemented, |
Diversions are not implemented, |
and support for traps is very incomplete. |
and support for traps is very incomplete. |
.It |
|
While recursion is supported, |
|
.Sx \&while |
|
loops are not. |
|
.El |
.El |
.Pp |
.Pp |
The special semantics of the |
The special semantics of the |