version 1.109, 2018/12/16 00:17:02 |
version 1.115, 2020/10/28 21:07:47 |
|
|
.\" $Id$ |
.\" $Id$ |
.\" |
.\" |
.\" Copyright (c) 2010, 2011, 2012 Kristaps Dzonsons <kristaps@bsd.lv> |
.\" Copyright (c) 2010, 2011, 2012 Kristaps Dzonsons <kristaps@bsd.lv> |
.\" Copyright (c) 2010-2018 Ingo Schwarze <schwarze@openbsd.org> |
.\" Copyright (c) 2010-2019 Ingo Schwarze <schwarze@openbsd.org> |
.\" |
.\" |
.\" 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 44 utility supports a subset of |
|
Line 44 utility supports a subset of |
|
requests and escapes. |
requests and escapes. |
Even though this manual page lists all |
Even though this manual page lists all |
.Nm |
.Nm |
requests, it only has partial information about requests not supported by |
requests and escape sequences, it only contains partial information |
|
about requests not supported by |
.Xr mandoc 1 |
.Xr mandoc 1 |
and about language features that do not matter for manual pages. |
and about language features that do not matter for manual pages. |
For complete |
For complete |
Line 86 indicates the start of an escape sequence, used for ex |
|
Line 87 indicates the start of an escape sequence, used for ex |
|
.Sx Comments |
.Sx Comments |
and |
and |
.Sx Special Characters . |
.Sx Special Characters . |
For a listing of escape sequences, consult the |
For a complete listing of escape sequences, consult the |
.Sx ESCAPE SEQUENCE REFERENCE |
.Sx ESCAPE SEQUENCE REFERENCE |
below. |
below. |
.Ss Comments |
.Ss Comments |
|
|
.It i |
.It i |
inch |
inch |
.It P |
.It P |
pica (~1/6 inch) |
pica (1/6 inch) |
.It p |
.It p |
point (~1/72 inch) |
point (1/72 inch) |
.It f |
.It f |
scale |
scale |
.Sq u |
.Sq u |
|
|
.It u |
.It u |
default horizontal span for the terminal |
default horizontal span for the terminal |
.It M |
.It M |
mini-em (~1/100 em) |
mini-em (1/100 em) |
.El |
.El |
.Pp |
.Pp |
Using anything other than |
Using anything other than |
|
|
The proper spacing is also intelligently preserved if a sentence ends at |
The proper spacing is also intelligently preserved if a sentence ends at |
the boundary of a macro line. |
the boundary of a macro line. |
.Pp |
.Pp |
|
If an input line happens to end with a period, exclamation or question |
|
mark that isn't the end of a sentence, append a zero-width space |
|
.Pq Sq \e& . |
|
.Pp |
Examples: |
Examples: |
.Bd -literal -offset indent -compact |
.Bd -literal -offset indent -compact |
Do not end sentences mid-line like this. Instead, |
Do not end sentences mid-line like this. Instead, |
end a sentence like this. |
end a sentence like this. |
A macro would end like this: |
A macro would end like this: |
\&.Xr mandoc 1 \&. |
\&.Xr mandoc 1 \&. |
|
An abbreviation at the end of an input line needs escaping, e.g.\e& |
|
like this. |
.Ed |
.Ed |
.Sh REQUEST SYNTAX |
.Sh REQUEST SYNTAX |
A request or macro line consists of: |
A request or macro line consists of: |
Line 502 This is a Heirloom extension and currently unsupported |
|
Line 509 This is a Heirloom extension and currently unsupported |
|
.It Ic \&br |
.It Ic \&br |
Break the output line. |
Break the output line. |
.It Ic \&break |
.It Ic \&break |
Break out of a |
Break out of the innermost |
.Ic \&while |
.Ic \&while |
loop. |
loop. |
Currently unsupported. |
|
.It Ic \&breakchar Ar char ... |
.It Ic \&breakchar Ar char ... |
Optional line break characters. |
Optional line break characters. |
This is a Heirloom extension and currently ignored. |
This is a Heirloom extension and currently ignored. |
Line 640 macros, whichever applies to the document in question. |
|
Line 646 macros, whichever applies to the document in question. |
|
.Pp |
.Pp |
Specifying a custom |
Specifying a custom |
.Ar endmacro |
.Ar endmacro |
macro works in the same way as for |
works in the same way as for |
.Ic \&ig ; |
.Ic \&ig ; |
namely, the call to |
namely, the call to |
.Sq Pf . Ar endmacro |
.Sq Pf . Ar endmacro |
Line 907 This is a Heirloom extension and currently ignored. |
|
Line 913 This is a Heirloom extension and currently ignored. |
|
Enable or disable an OpenType feature. |
Enable or disable an OpenType feature. |
This is a Heirloom extension and currently ignored. |
This is a Heirloom extension and currently ignored. |
.It Ic \&fi |
.It Ic \&fi |
Switch to fill mode. |
Break the output line and switch to fill mode, |
See |
which is active by default but can be ended with the |
.Xr man 7 . |
.Ic \&nf |
Ignored in |
request. |
.Xr mdoc 7 . |
In fill mode, input from subsequent input lines is added to |
|
the same output line until the next word no longer fits, |
|
at which point the output line is broken. |
|
This request is implied by the |
|
.Xr mdoc 7 |
|
.Ic \&Sh |
|
macro and by the |
|
.Xr man 7 |
|
.Ic \&SH , |
|
.Ic \&SS , |
|
and |
|
.Ic \&EE |
|
macros. |
.It Ic \&fkern Ar font minkern |
.It Ic \&fkern Ar font minkern |
Control the use of kerning tables for a font. |
Control the use of kerning tables for a font. |
This is a Heirloom extension and currently ignored. |
This is a Heirloom extension and currently ignored. |
Line 1346 Declare the need for the specified minimum vertical sp |
|
Line 1364 Declare the need for the specified minimum vertical sp |
|
before the next trap or the bottom of the page. |
before the next trap or the bottom of the page. |
Currently ignored. |
Currently ignored. |
.It Ic \&nf |
.It Ic \&nf |
Switch to no-fill mode. |
Break the output line and switch to no-fill mode. |
See |
Subsequent input lines are kept together on the same output line |
.Xr man 7 . |
even when exceeding the right margin, |
Ignored by |
and line breaks in subsequent input cause output line breaks. |
.Xr mdoc 7 . |
This request is implied by the |
|
.Xr mdoc 7 |
|
.Ic \&Bd Fl unfilled |
|
and |
|
.Ic \&Bd Fl literal |
|
macros and by the |
|
.Xr man 7 |
|
.Ic \&EX |
|
macro. |
|
The |
|
.Ic \&fi |
|
request switches back to the default fill mode. |
.It Ic \&nh |
.It Ic \&nh |
Turn off automatic hyphenation mode. |
Turn off automatic hyphenation mode. |
Currently ignored. |
Currently ignored. |
|
|
.Xr mandoc 1 |
.Xr mandoc 1 |
.Nm |
.Nm |
parser recognises the following escape sequences. |
parser recognises the following escape sequences. |
Note that the |
|
.Nm |
|
language defines more escape sequences not implemented in |
|
.Xr mandoc 1 . |
|
In |
In |
.Xr mdoc 7 |
.Xr mdoc 7 |
and |
and |
Line 1862 described in the |
|
Line 1887 described in the |
|
.Sx LANGUAGE SYNTAX |
.Sx LANGUAGE SYNTAX |
section above. |
section above. |
.Pp |
.Pp |
In |
A backslash followed by any character not listed here |
.Xr mandoc 1 , |
|
a backslash followed by any character not listed here |
|
simply prints that character itself. |
simply prints that character itself. |
.Bl -tag -width Ds |
.Bl -tag -width Ds |
.It Ic \e<newline> |
.It Ic \e<newline> |
Line 1875 on both lines together as if it were on a single input |
|
Line 1898 on both lines together as if it were on a single input |
|
The escape sequence backslash-space |
The escape sequence backslash-space |
.Pq Sq \e\ \& |
.Pq Sq \e\ \& |
is an unpaddable space-sized non-breaking space character; see |
is an unpaddable space-sized non-breaking space character; see |
.Sx Whitespace . |
.Sx Whitespace |
|
and |
|
.Xr mandoc_char 7 . |
.It Ic \e! |
.It Ic \e! |
Embed text up to and including the end of the input line into the |
Embed text up to and including the end of the input line into the |
current diversion or into intermediate output without interpreting |
current diversion or into intermediate output without interpreting |
Line 1897 Macro argument expansion, see |
|
Line 1922 Macro argument expansion, see |
|
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 . |
.It Ic \e& |
.It Ic \e& |
Non-printing zero-width character; see |
Non-printing zero-width character, |
.Sx Whitespace . |
often used for various kinds of escaping; see |
|
.Sx Whitespace , |
|
.Xr mandoc_char 7 , |
|
and the |
|
.Dq MACRO SYNTAX |
|
and |
|
.Dq Delimiters |
|
sections in |
|
.Xr mdoc 7 . |
.It Ic \e\(aq |
.It Ic \e\(aq |
Acute accent special character; use |
Acute accent special character; use |
.Ic \e(aa |
.Ic \e(aa |
Line 1944 Left italic correction (groff extension); ignored by |
|
Line 1977 Left italic correction (groff extension); ignored by |
|
.Xr mandoc 1 . |
.Xr mandoc 1 . |
.It Ic \e- |
.It Ic \e- |
Special character |
Special character |
.Dq mathematical minus sign . |
.Dq mathematical minus sign ; |
|
see |
|
.Xr mandoc_char 7 |
|
for details. |
.It Ic \e/ |
.It Ic \e/ |
Right italic correction (groff extension); ignored by |
Right italic correction (groff extension); ignored by |
.Xr mandoc 1 . |
.Xr mandoc 1 . |
|
|
.Ar string |
.Ar string |
conforms to the syntax of |
conforms to the syntax of |
.Sx Numerical expressions |
.Sx Numerical expressions |
explained above and |
explained above or |
.Sq 0 |
.Sq 0 |
otherwise. |
otherwise. |
.It Ic \eb\(aq Ns Ar string Ns Ic \(aq |
.It Ic \eb\(aq Ns Ar string Ns Ic \(aq |
Line 2022 Move down by half a line; ignored by |
|
Line 2058 Move down by half a line; ignored by |
|
Escape character intended to not be interpreted in copy mode. |
Escape character intended to not be interpreted in copy mode. |
In |
In |
.Xr mandoc 1 , |
.Xr mandoc 1 , |
it does the same as |
it currently does the same as |
.Ic \e |
.Ic \e |
itself for now. |
itself. |
.It Ic \ee |
.It Ic \ee |
Backslash special character. |
Backslash special character. |
.It Ic \eF[ Ns Ar name Ns Ic \&] |
.It Ic \eF[ Ns Ar name Ns Ic \&] |
|
|
.Pp |
.Pp |
The special semantics of the |
The special semantics of the |
.Cm nS |
.Cm nS |
number register is an idiosyncracy of |
number register is an idiosyncrasy of |
.Ox |
.Ox |
manuals and not supported by other |
manuals and not supported by other |
.Xr mdoc 7 |
.Xr mdoc 7 |
|
|
.At v2 , |
.At v2 , |
then ported nroff to C as troff, which Brian W. Kernighan released with |
then ported nroff to C as troff, which Brian W. Kernighan released with |
.At v7 . |
.At v7 . |
In 1989, James Clarke re-implemented troff in C++, naming it groff. |
In 1989, James Clark re-implemented troff in C++, naming it groff. |
.Sh AUTHORS |
.Sh AUTHORS |
.An -nosplit |
.An -nosplit |
This |
This |