![]() ![]() | ![]() |
version 1.55, 2013/12/22 13:18:27 | version 1.65, 2017/05/17 23:39:31 | ||
---|---|---|---|
|
|
||
.\" | .\" | ||
.\" Copyright (c) 2003 Jason McIntyre <jmc@openbsd.org> | .\" Copyright (c) 2003 Jason McIntyre <jmc@openbsd.org> | ||
.\" Copyright (c) 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv> | .\" Copyright (c) 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv> | ||
.\" Copyright (c) 2011 Ingo Schwarze <schwarze@openbsd.org> | .\" Copyright (c) 2011, 2013, 2015 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 | ||
|
|
||
.Ss Dashes and Hyphens | .Ss Dashes and Hyphens | ||
In typography there are different types of dashes of various width: | In typography there are different types of dashes of various width: | ||
the hyphen (-), | the hyphen (-), | ||
the minus sign (\-), | the minus sign (\(mi), | ||
the en-dash (\(en), | the en-dash (\(en), | ||
and the em-dash (\(em). | and the em-dash (\(em). | ||
.Pp | .Pp | ||
|
|
||
lorry-driver | lorry-driver | ||
.Ed | .Ed | ||
.Pp | .Pp | ||
If a word on a text input line contains a hyphen, a formatter may decide | |||
to insert an output line break after the hyphen if that helps filling | |||
the current output line, but the whole word would overflow the line. | |||
If it is important that the word is not broken across lines in this | |||
way, a zero-width space | |||
.Pq Sq \e& | |||
can be inserted before or after the hyphen. | |||
While | |||
.Xr mandoc 1 | |||
never breaks the output line after hyphens adjacent to a zero-width | |||
space, after any of the other dash- or hyphen-like characters | |||
represented by escape sequences, or after hyphens inside words in | |||
macro arguments, other software may not respect these rules and may | |||
break the line even in such cases. | |||
.Pp | |||
Some | |||
.Xr roff 7 | |||
implementations contains dictionaries allowing to break the line | |||
at syllable boundaries even inside words that contain no hyphens. | |||
Such automatic hyphenation is not supported by | |||
.Xr mandoc 1 , | |||
which only breaks the line at whitespace, and inside words only | |||
after existing hyphens. | |||
.Pp | |||
The mathematical minus sign is used for negative numbers or subtraction. | The mathematical minus sign is used for negative numbers or subtraction. | ||
It should be written as | It should be written as | ||
.Sq \e- : | .Sq \e(mi : | ||
.Bd -unfilled -offset indent | .Bd -unfilled -offset indent | ||
a = 3 \e- 1; | a = 3 \e(mi 1; | ||
b = \e-2; | b = \e(mi2; | ||
.Ed | .Ed | ||
.Pp | .Pp | ||
The en-dash is used to separate the two elements of a range, | The en-dash is used to separate the two elements of a range, | ||
|
|
||
just use the normal space character | just use the normal space character | ||
.Pq Sq \ . | .Pq Sq \ . | ||
.Pp | .Pp | ||
When filling text, lines may be broken between words, i.e. at space | When filling text, output lines may be broken between words, i.e. at space | ||
characters. | characters. | ||
To prevent a line break between two particular words, | To prevent a line break between two particular words, | ||
use the non-breaking space escape sequence | use the unpaddable non-breaking space escape sequence | ||
.Pq Sq \e~ | .Pq Sq \e\ \& | ||
instead of the normal space character. | instead of the normal space character. | ||
For example, the input string | For example, the input string | ||
.Dq number\e~1 | .Dq number\e\ 1 | ||
will be kept together as | will be kept together as | ||
.Dq number\~1 | .Dq number\ 1 | ||
on the same output line. | on the same output line. | ||
.Pp | .Pp | ||
On request and macro lines, the normal space character serves as an | On request and macro lines, the normal space character serves as an | ||
argument delimiter. | argument delimiter. | ||
To include whitespace into arguments, quoting is usually the best choice. | To include whitespace into arguments, quoting is usually the best choice; | ||
In some cases, using either the non-breaking | see the MACRO SYNTAX section in | ||
.Pq Sq \e~ | .Xr roff 7 . | ||
or the breaking | In some cases, using the non-breaking space escape sequence | ||
.Pq Sq \e\ \& | .Pq Sq \e\ \& | ||
space escape sequence may be preferable. | may be preferable. | ||
.Pp | |||
To escape macro names and to protect whitespace at the end | To escape macro names and to protect whitespace at the end | ||
of input lines, the zero-width space | of input lines, the zero-width space | ||
.Pq Sq \e& | .Pq Sq \e& | ||
|
|
||
verbatim. | verbatim. | ||
All other quote-like characters can be used verbatim as well, | All other quote-like characters can be used verbatim as well, | ||
even on request and macro lines. | even on request and macro lines. | ||
.Ss Accents | |||
In output modes supporting such special output characters, for example | |||
.Fl T Cm pdf , | |||
some | |||
.Xr roff 7 | |||
formatters convert the following ASCII input characters to the | |||
following Unicode special output characters: | |||
.Bl -column x(ga U+2018 -offset indent | |||
.It \(ga Ta U+2018 Ta left single quotation mark | |||
.It \(aq Ta U+2019 Ta right single quotation mark | |||
.It \(ti Ta U+02DC Ta small tilde | |||
.El | |||
.Pp | |||
In prose, this automatic substitution is often desirable; | |||
but when these characters have to be displayed as plain ASCII | |||
characters, for example in source code samples, they require | |||
escaping to render as follows: | |||
.Bl -column x(ga U+2018 -offset indent | |||
.It \e(ga Ta U+0060 Ta grave accent | |||
.It \e(aq Ta U+0027 Ta apostrophe | |||
.It \e(ti Ta U+007E Ta tilde | |||
.El | |||
.Ss Periods | .Ss Periods | ||
The period | The period | ||
.Pq Sq \&. | .Pq Sq \&. | ||
|
|
||
Spacing: | Spacing: | ||
.Bl -column "Input" "Description" -offset indent -compact | .Bl -column "Input" "Description" -offset indent -compact | ||
.It Em Input Ta Em Description | .It Em Input Ta Em Description | ||
.It \e~ Ta non-breaking, non-collapsing space | .It Sq \e\ \& Ta unpaddable non-breaking space | ||
.It \e Ta breaking, non-collapsing n-width space | .It \e\(ti Ta paddable non-breaking space | ||
.It \e^ Ta zero-width space | .It \e0 Ta unpaddable, breaking digit-width space | ||
.It \e% Ta zero-width space | .It \e| Ta one-sixth \e(em narrow space, zero width in nroff mode | ||
.It \e^ Ta one-twelfth \e(em half-narrow space, zero width in nroff | |||
.It \e& Ta zero-width space | .It \e& Ta zero-width space | ||
.It \e| Ta zero-width space | .It \e% Ta zero-width space allowing hyphenation | ||
.It \e0 Ta breaking, non-collapsing digit-width space | |||
.It \ec Ta removes any trailing space (if applicable) | |||
.El | .El | ||
.Pp | .Pp | ||
Lines: | Lines: | ||
|
|
||
.It \e(ba Ta \(ba Ta bar | .It \e(ba Ta \(ba Ta bar | ||
.It \e(br Ta \(br Ta box rule | .It \e(br Ta \(br Ta box rule | ||
.It \e(ul Ta \(ul Ta underscore | .It \e(ul Ta \(ul Ta underscore | ||
.It \e(rl Ta \(rl Ta overline | .It \e(rn Ta \(rn Ta overline | ||
.It \e(bb Ta \(bb Ta broken bar | .It \e(bb Ta \(bb Ta broken bar | ||
.It \e(sl Ta \(sl Ta forward slash | .It \e(sl Ta \(sl Ta forward slash | ||
.It \e(rs Ta \(rs Ta backward slash | .It \e(rs Ta \(rs Ta backward slash | ||
|
|
||
.El | .El | ||
.Pp | .Pp | ||
Brackets: | Brackets: | ||
.Bl -column "xxbracketrightbpx" Rendered Description -offset indent -compact | .Bl -column "xxbracketrightbtx" Rendered Description -offset indent -compact | ||
.It Em Input Ta Em Rendered Ta Em Description | .It Em Input Ta Em Rendered Ta Em Description | ||
.It \e(lB Ta \(lB Ta left bracket | .It \e(lB Ta \(lB Ta left bracket | ||
.It \e(rB Ta \(rB Ta right bracket | .It \e(rB Ta \(rB Ta right bracket | ||
|
|
||
.It \e(bv Ta \(bv Ta brace extension | .It \e(bv Ta \(bv Ta brace extension | ||
.It \e[braceex] Ta \[braceex] Ta brace extension | .It \e[braceex] Ta \[braceex] Ta brace extension | ||
.It \e[bracketlefttp] Ta \[bracketlefttp] Ta top-left hooked bracket | .It \e[bracketlefttp] Ta \[bracketlefttp] Ta top-left hooked bracket | ||
.It \e[bracketleftbp] Ta \[bracketleftbp] Ta bottom-left hooked bracket | .It \e[bracketleftbt] Ta \[bracketleftbt] Ta bottom-left hooked bracket | ||
.It \e[bracketleftex] Ta \[bracketleftex] Ta left hooked bracket extension | .It \e[bracketleftex] Ta \[bracketleftex] Ta left hooked bracket extension | ||
.It \e[bracketrighttp] Ta \[bracketrighttp] Ta top-right hooked bracket | .It \e[bracketrighttp] Ta \[bracketrighttp] Ta top-right hooked bracket | ||
.It \e[bracketrightbp] Ta \[bracketrightbp] Ta bottom-right hooked bracket | .It \e[bracketrightbt] Ta \[bracketrightbt] Ta bottom-right hooked bracket | ||
.It \e[bracketrightex] Ta \[bracketrightex] Ta right hooked bracket extension | .It \e[bracketrightex] Ta \[bracketrightex] Ta right hooked bracket extension | ||
.It \e(lt Ta \(lt Ta top-left hooked brace | .It \e(lt Ta \(lt Ta top-left hooked brace | ||
.It \e[bracelefttp] Ta \[bracelefttp] Ta top-left hooked brace | .It \e[bracelefttp] Ta \[bracelefttp] Ta top-left hooked brace | ||
.It \e(lk Ta \(lk Ta mid-left hooked brace | .It \e(lk Ta \(lk Ta mid-left hooked brace | ||
.It \e[braceleftmid] Ta \[braceleftmid] Ta mid-left hooked brace | .It \e[braceleftmid] Ta \[braceleftmid] Ta mid-left hooked brace | ||
.It \e(lb Ta \(lb Ta bottom-left hooked brace | .It \e(lb Ta \(lb Ta bottom-left hooked brace | ||
.It \e[braceleftbp] Ta \[braceleftbp] Ta bottom-left hooked brace | .It \e[braceleftbt] Ta \[braceleftbt] Ta bottom-left hooked brace | ||
.It \e[braceleftex] Ta \[braceleftex] Ta left hooked brace extension | .It \e[braceleftex] Ta \[braceleftex] Ta left hooked brace extension | ||
.It \e(rt Ta \(rt Ta top-left hooked brace | .It \e(rt Ta \(rt Ta top-left hooked brace | ||
.It \e[bracerighttp] Ta \[bracerighttp] Ta top-right hooked brace | .It \e[bracerighttp] Ta \[bracerighttp] Ta top-right hooked brace | ||
.It \e(rk Ta \(rk Ta mid-right hooked brace | .It \e(rk Ta \(rk Ta mid-right hooked brace | ||
.It \e[bracerightmid] Ta \[bracerightmid] Ta mid-right hooked brace | .It \e[bracerightmid] Ta \[bracerightmid] Ta mid-right hooked brace | ||
.It \e(rb Ta \(rb Ta bottom-right hooked brace | .It \e(rb Ta \(rb Ta bottom-right hooked brace | ||
.It \e[bracerightbp] Ta \[bracerightbp] Ta bottom-right hooked brace | .It \e[bracerightbt] Ta \[bracerightbt] Ta bottom-right hooked brace | ||
.It \e[bracerightex] Ta \[bracerightex] Ta right hooked brace extension | .It \e[bracerightex] Ta \[bracerightex] Ta right hooked brace extension | ||
.It \e[parenlefttp] Ta \[parenlefttp] Ta top-left hooked parenthesis | .It \e[parenlefttp] Ta \[parenlefttp] Ta top-left hooked parenthesis | ||
.It \e[parenleftbp] Ta \[parenleftbp] Ta bottom-left hooked parenthesis | .It \e[parenleftbt] Ta \[parenleftbt] Ta bottom-left hooked parenthesis | ||
.It \e[parenleftex] Ta \[parenleftex] Ta left hooked parenthesis extension | .It \e[parenleftex] Ta \[parenleftex] Ta left hooked parenthesis extension | ||
.It \e[parenrighttp] Ta \[parenrighttp] Ta top-right hooked parenthesis | .It \e[parenrighttp] Ta \[parenrighttp] Ta top-right hooked parenthesis | ||
.It \e[parenrightbp] Ta \[parenrightbp] Ta bottom-right hooked parenthesis | .It \e[parenrightbt] Ta \[parenrightbt] Ta bottom-right hooked parenthesis | ||
.It \e[parenrightex] Ta \[parenrightex] Ta right hooked parenthesis extension | .It \e[parenrightex] Ta \[parenrightex] Ta right hooked parenthesis extension | ||
.El | .El | ||
.Pp | .Pp | ||
|
|
||
.It \e(-+ Ta \(-+ Ta minus-plus | .It \e(-+ Ta \(-+ Ta minus-plus | ||
.It \e(+- Ta \(+- Ta plus-minus | .It \e(+- Ta \(+- Ta plus-minus | ||
.It \e[t+-] Ta \[t+-] Ta plus-minus (text) | .It \e[t+-] Ta \[t+-] Ta plus-minus (text) | ||
.It \e(pc Ta \(pc Ta centre-dot | .It \e(pc Ta \(pc Ta center-dot | ||
.It \e(mu Ta \(mu Ta multiply | .It \e(mu Ta \(mu Ta multiply | ||
.It \e[tmu] Ta \[tmu] Ta multiply (text) | .It \e[tmu] Ta \[tmu] Ta multiply (text) | ||
.It \e(c* Ta \(c* Ta circle-multiply | .It \e(c* Ta \(c* Ta circle-multiply | ||
|
|
||
.It \e(!= Ta \(!= Ta not equal | .It \e(!= Ta \(!= Ta not equal | ||
.It \e(== Ta \(== Ta equivalent | .It \e(== Ta \(== Ta equivalent | ||
.It \e(ne Ta \(ne Ta not equivalent | .It \e(ne Ta \(ne Ta not equivalent | ||
.It \e(=~ Ta \(=~ Ta congruent | .It \e(ap Ta \(ap Ta tilde operator | ||
.It \e(-~ Ta \(-~ Ta asymptotically congruent | .It \e(|= Ta \(|= Ta asymptotically equal | ||
.It \e(ap Ta \(ap Ta asymptotically similar | .It \e(=\(ti Ta \(=~ Ta approximately equal | ||
.It \e(~~ Ta \(~~ Ta approximately similar | .It \e(\(ti\(ti Ta \(~~ Ta almost equal | ||
.It \e(~= Ta \(~= Ta approximately equal | .It \e(\(ti= Ta \(~= Ta almost equal | ||
.It \e(pt Ta \(pt Ta proportionate | .It \e(pt Ta \(pt Ta proportionate | ||
.It \e(es Ta \(es Ta empty set | .It \e(es Ta \(es Ta empty set | ||
.It \e(mo Ta \(mo Ta element | .It \e(mo Ta \(mo Ta element | ||
|
|
||
.It \e(a. Ta \(a. Ta dotted | .It \e(a. Ta \(a. Ta dotted | ||
.It \e(a^ Ta \(a^ Ta circumflex | .It \e(a^ Ta \(a^ Ta circumflex | ||
.It \e(aa Ta \(aa Ta acute | .It \e(aa Ta \(aa Ta acute | ||
.It \e' Ta \' Ta acute | .It \e\(aq Ta \' Ta acute | ||
.It \e(ga Ta \(ga Ta grave | .It \e(ga Ta \(ga Ta grave | ||
.It \e` Ta \` Ta grave | .It \e\(ga Ta \` Ta grave | ||
.It \e(ab Ta \(ab Ta breve | .It \e(ab Ta \(ab Ta breve | ||
.It \e(ac Ta \(ac Ta cedilla | .It \e(ac Ta \(ac Ta cedilla | ||
.It \e(ad Ta \(ad Ta dieresis | .It \e(ad Ta \(ad Ta dieresis | ||
.It \e(ah Ta \(ah Ta caron | .It \e(ah Ta \(ah Ta caron | ||
.It \e(ao Ta \(ao Ta ring | .It \e(ao Ta \(ao Ta ring | ||
.It \e(a~ Ta \(a~ Ta tilde | .It \e(a\(ti Ta \(a~ Ta tilde | ||
.It \e(ho Ta \(ho Ta ogonek | .It \e(ho Ta \(ho Ta ogonek | ||
.It \e(ha Ta \(ha Ta hat (text) | .It \e(ha Ta \(ha Ta hat (text) | ||
.It \e(ti Ta \(ti Ta tilde (text) | .It \e(ti Ta \(ti Ta tilde (text) | ||
|
|
||
Accented letters: | Accented letters: | ||
.Bl -column "Input" "Rendered" "Description" -offset indent -compact | .Bl -column "Input" "Rendered" "Description" -offset indent -compact | ||
.It Em Input Ta Em Rendered Ta Em Description | .It Em Input Ta Em Rendered Ta Em Description | ||
.It \e('A Ta \('A Ta acute A | .It \e(\(aqA Ta \('A Ta acute A | ||
.It \e('E Ta \('E Ta acute E | .It \e(\(aqE Ta \('E Ta acute E | ||
.It \e('I Ta \('I Ta acute I | .It \e(\(aqI Ta \('I Ta acute I | ||
.It \e('O Ta \('O Ta acute O | .It \e(\(aqO Ta \('O Ta acute O | ||
.It \e('U Ta \('U Ta acute U | .It \e(\(aqU Ta \('U Ta acute U | ||
.It \e('a Ta \('a Ta acute a | .It \e(\(aqa Ta \('a Ta acute a | ||
.It \e('e Ta \('e Ta acute e | .It \e(\(aqe Ta \('e Ta acute e | ||
.It \e('i Ta \('i Ta acute i | .It \e(\(aqi Ta \('i Ta acute i | ||
.It \e('o Ta \('o Ta acute o | .It \e(\(aqo Ta \('o Ta acute o | ||
.It \e('u Ta \('u Ta acute u | .It \e(\(aqu Ta \('u Ta acute u | ||
.It \e(`A Ta \(`A Ta grave A | .It \e(\(gaA Ta \(`A Ta grave A | ||
.It \e(`E Ta \(`E Ta grave E | .It \e(\(gaE Ta \(`E Ta grave E | ||
.It \e(`I Ta \(`I Ta grave I | .It \e(\(gaI Ta \(`I Ta grave I | ||
.It \e(`O Ta \(`O Ta grave O | .It \e(\(gaO Ta \(`O Ta grave O | ||
.It \e(`U Ta \(`U Ta grave U | .It \e(\(gaU Ta \(`U Ta grave U | ||
.It \e(`a Ta \(`a Ta grave a | .It \e(\(gaa Ta \(`a Ta grave a | ||
.It \e(`e Ta \(`e Ta grave e | .It \e(\(gae Ta \(`e Ta grave e | ||
.It \e(`i Ta \(`i Ta grave i | .It \e(\(gai Ta \(`i Ta grave i | ||
.It \e(`o Ta \(`i Ta grave o | .It \e(\(gao Ta \(`i Ta grave o | ||
.It \e(`u Ta \(`u Ta grave u | .It \e(\(gau Ta \(`u Ta grave u | ||
.It \e(~A Ta \(~A Ta tilde A | .It \e(\(tiA Ta \(~A Ta tilde A | ||
.It \e(~N Ta \(~N Ta tilde N | .It \e(\(tiN Ta \(~N Ta tilde N | ||
.It \e(~O Ta \(~O Ta tilde O | .It \e(\(tiO Ta \(~O Ta tilde O | ||
.It \e(~a Ta \(~a Ta tilde a | .It \e(\(tia Ta \(~a Ta tilde a | ||
.It \e(~n Ta \(~n Ta tilde n | .It \e(\(tin Ta \(~n Ta tilde n | ||
.It \e(~o Ta \(~o Ta tilde o | .It \e(\(tio Ta \(~o Ta tilde o | ||
.It \e(:A Ta \(:A Ta dieresis A | .It \e(:A Ta \(:A Ta dieresis A | ||
.It \e(:E Ta \(:E Ta dieresis E | .It \e(:E Ta \(:E Ta dieresis E | ||
.It \e(:I Ta \(:I Ta dieresis I | .It \e(:I Ta \(:I Ta dieresis I | ||
|
|
||
.Sh UNICODE CHARACTERS | .Sh UNICODE CHARACTERS | ||
The escape sequences | The escape sequences | ||
.Pp | .Pp | ||
.Dl \e[uXXXX] and \eC'uXXXX' | .Dl \e[uXXXX] and \eC\(aquXXXX\(aq | ||
.Pp | .Pp | ||
are interpreted as Unicode codepoints. | are interpreted as Unicode codepoints. | ||
The codepoint must be in the range above U+0080 and less than U+10FFFF. | The codepoint must be in the range above U+0080 and less than U+10FFFF. | ||
For compatibility, the hexadecimal digits | For compatibility, the hexadecimal digits | ||
.Sq A | .Sq A | ||
to | to | ||
.Sq F | .Sq F | ||
|
|
||
and points must be zero-padded to four characters; if | and points must be zero-padded to four characters; if | ||
greater than four characters, no zero padding is allowed. | greater than four characters, no zero padding is allowed. | ||
Unicode surrogates are not allowed. | Unicode surrogates are not allowed. | ||
.\" .Pp | |||
.\" Unicode glyphs attenuate to the | |||
.\" .Sq \&? | |||
.\" character if invalid or not rendered by current output media. | |||
.Sh NUMBERED CHARACTERS | .Sh NUMBERED CHARACTERS | ||
For backward compatibility with existing manuals, | For backward compatibility with existing manuals, | ||
.Xr mandoc 1 | .Xr mandoc 1 | ||
|
|
||
from the current character set into the output. | from the current character set into the output. | ||
Of course, this is inherently non-portable and is already marked | Of course, this is inherently non-portable and is already marked | ||
as deprecated in the Heirloom roff manual. | as deprecated in the Heirloom roff manual. | ||
For example, do not use \eN'34', use \e(dq, or even the plain | For example, do not use \eN\(aq34\(aq, use \e(dq, or even the plain | ||
.Sq \(dq | .Sq \(dq | ||
character where possible. | character where possible. | ||
.Sh COMPATIBILITY | .Sh COMPATIBILITY | ||
|
|
||
.Fl T Ns Cm ascii , | .Fl T Ns Cm ascii , | ||
the | the | ||
\e(ss, \e(nm, \e(nb, \e(nc, \e(ib, \e(ip, \e(pp, \e[sum], \e[product], | \e(ss, \e(nm, \e(nb, \e(nc, \e(ib, \e(ip, \e(pp, \e[sum], \e[product], | ||
\e[coproduct], \e(gr, \e(\-h, and \e(a. special characters render | \e[coproduct], \e(gr, \e(-h, and \e(a. special characters render | ||
differently between mandoc and groff. | differently between mandoc and groff. | ||
.It | .It | ||
In | In | ||
.Fl T Ns Cm html | .Fl T Ns Cm html , | ||
and | the \e(\(ti=, \e(nb, and \e(nc special characters render differently | ||
.Fl T Ns Cm xhtml , | |||
the \e(~=, \e(nb, and \e(nc special characters render differently | |||
between mandoc and groff. | between mandoc and groff. | ||
.It | .It | ||
The | The | ||
|
|
||
manual page was written by | manual page was written by | ||
.An Kristaps Dzonsons Aq Mt kristaps@bsd.lv . | .An Kristaps Dzonsons Aq Mt kristaps@bsd.lv . | ||
.Sh CAVEATS | .Sh CAVEATS | ||
The | The predefined string | ||
.Sq \e*(Ba | .Sq \e*(Ba | ||
escape mimics the behaviour of the | mimics the behaviour of the | ||
.Sq \&| | .Sq \&| | ||
character in | character in | ||
.Xr mdoc 7 ; | .Xr mdoc 7 ; |