xref: /freebsd/contrib/mandoc/man.7 (revision 45a5aec3f156d8a01fe1ea4ec87c1b1d489f13ac)
1*45a5aec3SBaptiste Daroussin.\"	$Id: man.7,v 1.144 2019/07/09 03:46:59 schwarze Exp $
261d06d6bSBaptiste Daroussin.\"
361d06d6bSBaptiste Daroussin.\" Copyright (c) 2009, 2010, 2011, 2012 Kristaps Dzonsons <kristaps@bsd.lv>
47295610fSBaptiste Daroussin.\" Copyright (c) 2011-2015,2017,2018,2019 Ingo Schwarze <schwarze@openbsd.org>
57295610fSBaptiste Daroussin.\" Copyright (c) 2017 Anthony Bentley <bentley@openbsd.org>
661d06d6bSBaptiste Daroussin.\" Copyright (c) 2010 Joerg Sonnenberger <joerg@netbsd.org>
761d06d6bSBaptiste Daroussin.\"
861d06d6bSBaptiste Daroussin.\" Permission to use, copy, modify, and distribute this software for any
961d06d6bSBaptiste Daroussin.\" purpose with or without fee is hereby granted, provided that the above
1061d06d6bSBaptiste Daroussin.\" copyright notice and this permission notice appear in all copies.
1161d06d6bSBaptiste Daroussin.\"
1261d06d6bSBaptiste Daroussin.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
1361d06d6bSBaptiste Daroussin.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
1461d06d6bSBaptiste Daroussin.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
1561d06d6bSBaptiste Daroussin.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
1661d06d6bSBaptiste Daroussin.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
1761d06d6bSBaptiste Daroussin.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
1861d06d6bSBaptiste Daroussin.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1961d06d6bSBaptiste Daroussin.\"
20*45a5aec3SBaptiste Daroussin.Dd $Mdocdate: July 9 2019 $
2161d06d6bSBaptiste Daroussin.Dt MAN 7
2261d06d6bSBaptiste Daroussin.Os
2361d06d6bSBaptiste Daroussin.Sh NAME
2461d06d6bSBaptiste Daroussin.Nm man
2561d06d6bSBaptiste Daroussin.Nd legacy formatting language for manual pages
2661d06d6bSBaptiste Daroussin.Sh DESCRIPTION
277295610fSBaptiste DaroussinThe
2861d06d6bSBaptiste Daroussin.Nm man
297295610fSBaptiste Daroussinlanguage was the standard formatting language for
307295610fSBaptiste Daroussin.At
317295610fSBaptiste Daroussinmanual pages from 1979 to 1989.
327295610fSBaptiste DaroussinDo not use it to write new manual pages: it is a purely presentational
337295610fSBaptiste Daroussinlanguage and lacks support for semantic markup.
3461d06d6bSBaptiste DaroussinUse the
3561d06d6bSBaptiste Daroussin.Xr mdoc 7
3661d06d6bSBaptiste Daroussinlanguage, instead.
3761d06d6bSBaptiste Daroussin.Pp
3861d06d6bSBaptiste DaroussinIn a
3961d06d6bSBaptiste Daroussin.Nm
4061d06d6bSBaptiste Daroussindocument, lines beginning with the control character
4161d06d6bSBaptiste Daroussin.Sq \&.
4261d06d6bSBaptiste Daroussinare called
4361d06d6bSBaptiste Daroussin.Dq macro lines .
4461d06d6bSBaptiste DaroussinThe first word is the macro name.
4561d06d6bSBaptiste DaroussinIt usually consists of two capital letters.
467295610fSBaptiste DaroussinFor a list of portable macros, see
4761d06d6bSBaptiste Daroussin.Sx MACRO OVERVIEW .
4861d06d6bSBaptiste DaroussinThe words following the macro name are arguments to the macro.
4961d06d6bSBaptiste Daroussin.Pp
5061d06d6bSBaptiste DaroussinLines not beginning with the control character are called
5161d06d6bSBaptiste Daroussin.Dq text lines .
5261d06d6bSBaptiste DaroussinThey provide free-form text to be printed; the formatting of the text
5361d06d6bSBaptiste Daroussindepends on the respective processing context:
5461d06d6bSBaptiste Daroussin.Bd -literal -offset indent
5561d06d6bSBaptiste Daroussin\&.SH Macro lines change control state.
5661d06d6bSBaptiste DaroussinText lines are interpreted within the current state.
5761d06d6bSBaptiste Daroussin.Ed
5861d06d6bSBaptiste Daroussin.Pp
5961d06d6bSBaptiste DaroussinMany aspects of the basic syntax of the
6061d06d6bSBaptiste Daroussin.Nm
6161d06d6bSBaptiste Daroussinlanguage are based on the
6261d06d6bSBaptiste Daroussin.Xr roff 7
6361d06d6bSBaptiste Daroussinlanguage; see the
6461d06d6bSBaptiste Daroussin.Em LANGUAGE SYNTAX
6561d06d6bSBaptiste Daroussinand
6661d06d6bSBaptiste Daroussin.Em MACRO SYNTAX
6761d06d6bSBaptiste Daroussinsections in the
6861d06d6bSBaptiste Daroussin.Xr roff 7
6961d06d6bSBaptiste Daroussinmanual for details, in particular regarding
7061d06d6bSBaptiste Daroussincomments, escape sequences, whitespace, and quoting.
717295610fSBaptiste Daroussin.Pp
7261d06d6bSBaptiste DaroussinEach
7361d06d6bSBaptiste Daroussin.Nm
747295610fSBaptiste Daroussindocument starts with the
757295610fSBaptiste Daroussin.Ic TH
767295610fSBaptiste Daroussinmacro specifying the document's name and section, followed by the
777295610fSBaptiste Daroussin.Sx NAME
787295610fSBaptiste Daroussinsection formatted as follows:
7961d06d6bSBaptiste Daroussin.Bd -literal -offset indent
807295610fSBaptiste Daroussin\&.TH PROGNAME 1 1979-01-10
8161d06d6bSBaptiste Daroussin\&.SH NAME
8261d06d6bSBaptiste Daroussin\efBprogname\efR \e(en one line about what it does
8361d06d6bSBaptiste Daroussin.Ed
8461d06d6bSBaptiste Daroussin.Sh MACRO OVERVIEW
8561d06d6bSBaptiste DaroussinThis overview is sorted such that macros of similar purpose are listed
867295610fSBaptiste Daroussintogether.
877295610fSBaptiste DaroussinDeprecated and non-portable macros are not included in the overview,
887295610fSBaptiste Daroussinbut can be found in the alphabetical reference below.
8961d06d6bSBaptiste Daroussin.Ss Page header and footer meta-data
907295610fSBaptiste Daroussin.Bl -column "RS, RE" description
917295610fSBaptiste Daroussin.It Ic TH Ta set the title: Ar name section date Op Ar source Op Ar volume
927295610fSBaptiste Daroussin.It Ic AT Ta display AT&T UNIX version in the page footer (<= 1 argument)
937295610fSBaptiste Daroussin.It Ic UC Ta display BSD version in the page footer (<= 1 argument)
9461d06d6bSBaptiste Daroussin.El
9561d06d6bSBaptiste Daroussin.Ss Sections and paragraphs
967295610fSBaptiste Daroussin.Bl -column "RS, RE" description
977295610fSBaptiste Daroussin.It Ic SH Ta section header (one line)
987295610fSBaptiste Daroussin.It Ic SS Ta subsection header (one line)
997295610fSBaptiste Daroussin.It Ic PP Ta start an undecorated paragraph (no arguments)
1007295610fSBaptiste Daroussin.It Ic RS , RE Ta reset the left margin: Op Ar width
1017295610fSBaptiste Daroussin.It Ic IP Ta indented paragraph: Op Ar head Op Ar width
1027295610fSBaptiste Daroussin.It Ic TP Ta tagged paragraph: Op Ar width
1037295610fSBaptiste Daroussin.It Ic PD Ta set vertical paragraph distance: Op Ar height
1047295610fSBaptiste Daroussin.It Ic in Ta additional indent: Op Ar width
10561d06d6bSBaptiste Daroussin.El
10661d06d6bSBaptiste Daroussin.Ss Physical markup
1077295610fSBaptiste Daroussin.Bl -column "RS, RE" description
1087295610fSBaptiste Daroussin.It Ic B Ta boldface font
1097295610fSBaptiste Daroussin.It Ic I Ta italic font
1107295610fSBaptiste Daroussin.It Ic SB Ta small boldface font
1117295610fSBaptiste Daroussin.It Ic SM Ta small roman font
1127295610fSBaptiste Daroussin.It Ic BI Ta alternate between boldface and italic fonts
1137295610fSBaptiste Daroussin.It Ic BR Ta alternate between boldface and roman fonts
1147295610fSBaptiste Daroussin.It Ic IB Ta alternate between italic and boldface fonts
1157295610fSBaptiste Daroussin.It Ic IR Ta alternate between italic and roman fonts
1167295610fSBaptiste Daroussin.It Ic RB Ta alternate between roman and boldface fonts
1177295610fSBaptiste Daroussin.It Ic RI Ta alternate between roman and italic fonts
11861d06d6bSBaptiste Daroussin.El
11961d06d6bSBaptiste Daroussin.Sh MACRO REFERENCE
12061d06d6bSBaptiste DaroussinThis section is a canonical reference to all macros, arranged
12161d06d6bSBaptiste Daroussinalphabetically.
12261d06d6bSBaptiste DaroussinFor the scoping of individual macros, see
12361d06d6bSBaptiste Daroussin.Sx MACRO SYNTAX .
1247295610fSBaptiste Daroussin.Bl -tag -width 3n
1257295610fSBaptiste Daroussin.It Ic AT
12661d06d6bSBaptiste DaroussinSets the volume for the footer for compatibility with man pages from
12761d06d6bSBaptiste Daroussin.At
12861d06d6bSBaptiste Daroussinreleases.
12961d06d6bSBaptiste DaroussinThe optional arguments specify which release it is from.
1307295610fSBaptiste Daroussin.It Ic B
13161d06d6bSBaptiste DaroussinText is rendered in bold face.
1327295610fSBaptiste Daroussin.It Ic BI
13361d06d6bSBaptiste DaroussinText is rendered alternately in bold face and italic.
13461d06d6bSBaptiste DaroussinThus,
13561d06d6bSBaptiste Daroussin.Sq .BI this word and that
13661d06d6bSBaptiste Daroussincauses
13761d06d6bSBaptiste Daroussin.Sq this
13861d06d6bSBaptiste Daroussinand
13961d06d6bSBaptiste Daroussin.Sq and
14061d06d6bSBaptiste Daroussinto render in bold face, while
14161d06d6bSBaptiste Daroussin.Sq word
14261d06d6bSBaptiste Daroussinand
14361d06d6bSBaptiste Daroussin.Sq that
14461d06d6bSBaptiste Daroussinrender in italics.
14561d06d6bSBaptiste DaroussinWhitespace between arguments is omitted in output.
14661d06d6bSBaptiste Daroussin.Pp
1477295610fSBaptiste DaroussinExample:
14861d06d6bSBaptiste Daroussin.Pp
14961d06d6bSBaptiste Daroussin.Dl \&.BI bold italic bold italic
1507295610fSBaptiste Daroussin.It Ic BR
15161d06d6bSBaptiste DaroussinText is rendered alternately in bold face and roman (the default font).
15261d06d6bSBaptiste DaroussinWhitespace between arguments is omitted in output.
15361d06d6bSBaptiste DaroussinSee also
1547295610fSBaptiste Daroussin.Ic BI .
1557295610fSBaptiste Daroussin.It Ic DT
15661d06d6bSBaptiste DaroussinRestore the default tabulator positions.
15761d06d6bSBaptiste DaroussinThey are at intervals of 0.5 inches.
15861d06d6bSBaptiste DaroussinThis has no effect unless the tabulator positions were changed with the
15961d06d6bSBaptiste Daroussin.Xr roff 7
1607295610fSBaptiste Daroussin.Ic ta
16161d06d6bSBaptiste Daroussinrequest.
1627295610fSBaptiste Daroussin.It Ic EE
163*45a5aec3SBaptiste DaroussinThis is a non-standard Version 9
164*45a5aec3SBaptiste Daroussin.At
165*45a5aec3SBaptiste Daroussinextension later adopted by GNU.
16661d06d6bSBaptiste DaroussinIn
16761d06d6bSBaptiste Daroussin.Xr mandoc 1 ,
1687295610fSBaptiste Daroussinit does the same as the
1697295610fSBaptiste Daroussin.Xr roff 7
1707295610fSBaptiste Daroussin.Ic fi
1717295610fSBaptiste Daroussinrequest (switch to fill mode).
1727295610fSBaptiste Daroussin.It Ic EX
173*45a5aec3SBaptiste DaroussinThis is a non-standard Version 9
174*45a5aec3SBaptiste Daroussin.At
175*45a5aec3SBaptiste Daroussinextension later adopted by GNU.
17661d06d6bSBaptiste DaroussinIn
17761d06d6bSBaptiste Daroussin.Xr mandoc 1 ,
1787295610fSBaptiste Daroussinit does the same as the
1797295610fSBaptiste Daroussin.Xr roff 7
1807295610fSBaptiste Daroussin.Ic nf
1817295610fSBaptiste Daroussinrequest (switch to no-fill mode).
1827295610fSBaptiste Daroussin.It Ic HP
18361d06d6bSBaptiste DaroussinBegin a paragraph whose initial output line is left-justified, but
18461d06d6bSBaptiste Daroussinsubsequent output lines are indented, with the following syntax:
1857295610fSBaptiste Daroussin.Pp
1867295610fSBaptiste Daroussin.D1 Pf . Ic HP Op Ar width
18761d06d6bSBaptiste Daroussin.Pp
18861d06d6bSBaptiste DaroussinThe
18961d06d6bSBaptiste Daroussin.Ar width
19061d06d6bSBaptiste Daroussinargument is a
19161d06d6bSBaptiste Daroussin.Xr roff 7
19261d06d6bSBaptiste Daroussinscaling width.
1937295610fSBaptiste DaroussinIf specified, it's saved for later paragraph left margins;
1947295610fSBaptiste Daroussinif unspecified, the saved or default width is used.
19561d06d6bSBaptiste Daroussin.Pp
1967295610fSBaptiste DaroussinThis macro is portable, but deprecated
1977295610fSBaptiste Daroussinbecause it has no good representation in HTML output,
1987295610fSBaptiste Daroussinusually ending up indistinguishable from
1997295610fSBaptiste Daroussin.Ic PP .
2007295610fSBaptiste Daroussin.It Ic I
20161d06d6bSBaptiste DaroussinText is rendered in italics.
2027295610fSBaptiste Daroussin.It Ic IB
20361d06d6bSBaptiste DaroussinText is rendered alternately in italics and bold face.
20461d06d6bSBaptiste DaroussinWhitespace between arguments is omitted in output.
20561d06d6bSBaptiste DaroussinSee also
2067295610fSBaptiste Daroussin.Ic BI .
2077295610fSBaptiste Daroussin.It Ic IP
20861d06d6bSBaptiste DaroussinBegin an indented paragraph with the following syntax:
2097295610fSBaptiste Daroussin.Pp
2107295610fSBaptiste Daroussin.D1 Pf . Ic IP Op Ar head Op Ar width
21161d06d6bSBaptiste Daroussin.Pp
21261d06d6bSBaptiste DaroussinThe
21361d06d6bSBaptiste Daroussin.Ar width
21461d06d6bSBaptiste Daroussinargument is a
21561d06d6bSBaptiste Daroussin.Xr roff 7
21661d06d6bSBaptiste Daroussinscaling width defining the left margin.
21761d06d6bSBaptiste DaroussinIt's saved for later paragraph left-margins; if unspecified, the saved or
21861d06d6bSBaptiste Daroussindefault width is used.
21961d06d6bSBaptiste Daroussin.Pp
22061d06d6bSBaptiste DaroussinThe
22161d06d6bSBaptiste Daroussin.Ar head
22261d06d6bSBaptiste Daroussinargument is used as a leading term, flushed to the left margin.
22361d06d6bSBaptiste DaroussinThis is useful for bulleted paragraphs and so on.
2247295610fSBaptiste Daroussin.It Ic IR
22561d06d6bSBaptiste DaroussinText is rendered alternately in italics and roman (the default font).
22661d06d6bSBaptiste DaroussinWhitespace between arguments is omitted in output.
22761d06d6bSBaptiste DaroussinSee also
2287295610fSBaptiste Daroussin.Ic BI .
2297295610fSBaptiste Daroussin.It Ic LP
2307295610fSBaptiste DaroussinA synonym for
2317295610fSBaptiste Daroussin.Ic PP .
2327295610fSBaptiste Daroussin.It Ic ME
2337295610fSBaptiste DaroussinEnd a mailto block started with
2347295610fSBaptiste Daroussin.Ic MT .
2357295610fSBaptiste DaroussinThis is a non-standard GNU extension.
2367295610fSBaptiste Daroussin.It Ic MT
23761d06d6bSBaptiste DaroussinBegin a mailto block.
2387295610fSBaptiste DaroussinThis is a non-standard GNU extension.
23961d06d6bSBaptiste DaroussinIt has the following syntax:
2407295610fSBaptiste Daroussin.Bd -unfilled -offset indent
2417295610fSBaptiste Daroussin.Pf . Ic MT Ar address
24261d06d6bSBaptiste Daroussinlink description to be shown
2437295610fSBaptiste Daroussin.Pf . Ic ME
24461d06d6bSBaptiste Daroussin.Ed
2457295610fSBaptiste Daroussin.It Ic OP
24661d06d6bSBaptiste DaroussinOptional command-line argument.
2477295610fSBaptiste DaroussinThis is a non-standard GNU extension.
24861d06d6bSBaptiste DaroussinIt has the following syntax:
2497295610fSBaptiste Daroussin.Pp
2507295610fSBaptiste Daroussin.D1 Pf . Ic OP Ar key Op Ar value
25161d06d6bSBaptiste Daroussin.Pp
25261d06d6bSBaptiste DaroussinThe
25361d06d6bSBaptiste Daroussin.Ar key
25461d06d6bSBaptiste Daroussinis usually a command-line flag and
25561d06d6bSBaptiste Daroussin.Ar value
25661d06d6bSBaptiste Daroussinits argument.
2577295610fSBaptiste Daroussin.It Ic P
2587295610fSBaptiste DaroussinA synonym for
2597295610fSBaptiste Daroussin.Ic PP .
2607295610fSBaptiste Daroussin.It Ic PD
26161d06d6bSBaptiste DaroussinSpecify the vertical space to be inserted before each new paragraph.
26261d06d6bSBaptiste Daroussin.br
26361d06d6bSBaptiste DaroussinThe syntax is as follows:
2647295610fSBaptiste Daroussin.Pp
2657295610fSBaptiste Daroussin.D1 Pf . Ic PD Op Ar height
26661d06d6bSBaptiste Daroussin.Pp
26761d06d6bSBaptiste DaroussinThe
26861d06d6bSBaptiste Daroussin.Ar height
26961d06d6bSBaptiste Daroussinargument is a
27061d06d6bSBaptiste Daroussin.Xr roff 7
27161d06d6bSBaptiste Daroussinscaling width.
27261d06d6bSBaptiste DaroussinIt defaults to
27361d06d6bSBaptiste Daroussin.Cm 1v .
27461d06d6bSBaptiste DaroussinIf the unit is omitted,
27561d06d6bSBaptiste Daroussin.Cm v
27661d06d6bSBaptiste Daroussinis assumed.
27761d06d6bSBaptiste Daroussin.Pp
27861d06d6bSBaptiste DaroussinThis macro affects the spacing before any subsequent instances of
2797295610fSBaptiste Daroussin.Ic HP ,
2807295610fSBaptiste Daroussin.Ic IP ,
2817295610fSBaptiste Daroussin.Ic LP ,
2827295610fSBaptiste Daroussin.Ic P ,
2837295610fSBaptiste Daroussin.Ic PP ,
2847295610fSBaptiste Daroussin.Ic SH ,
2857295610fSBaptiste Daroussin.Ic SS ,
2867295610fSBaptiste Daroussin.Ic SY ,
28761d06d6bSBaptiste Daroussinand
2887295610fSBaptiste Daroussin.Ic TP .
2897295610fSBaptiste Daroussin.It Ic PP
2907295610fSBaptiste DaroussinBegin an undecorated paragraph.
2917295610fSBaptiste DaroussinThe scope of a paragraph is closed by a subsequent paragraph,
2927295610fSBaptiste Daroussinsub-section, section, or end of file.
2937295610fSBaptiste DaroussinThe saved paragraph left-margin width is reset to the default.
2947295610fSBaptiste Daroussin.It Ic RB
29561d06d6bSBaptiste DaroussinText is rendered alternately in roman (the default font) and bold face.
29661d06d6bSBaptiste DaroussinWhitespace between arguments is omitted in output.
29761d06d6bSBaptiste DaroussinSee also
2987295610fSBaptiste Daroussin.Ic BI .
2997295610fSBaptiste Daroussin.It Ic RE
30061d06d6bSBaptiste DaroussinExplicitly close out the scope of a prior
3017295610fSBaptiste Daroussin.Ic RS .
30261d06d6bSBaptiste DaroussinThe default left margin is restored to the state before that
3037295610fSBaptiste Daroussin.Ic RS
30461d06d6bSBaptiste Daroussininvocation.
30561d06d6bSBaptiste Daroussin.Pp
30661d06d6bSBaptiste DaroussinThe syntax is as follows:
3077295610fSBaptiste Daroussin.Pp
3087295610fSBaptiste Daroussin.D1 Pf . Ic RE Op Ar level
30961d06d6bSBaptiste Daroussin.Pp
31061d06d6bSBaptiste DaroussinWithout an argument, the most recent
3117295610fSBaptiste Daroussin.Ic RS
31261d06d6bSBaptiste Daroussinblock is closed out.
31361d06d6bSBaptiste DaroussinIf
31461d06d6bSBaptiste Daroussin.Ar level
31561d06d6bSBaptiste Daroussinis 1, all open
3167295610fSBaptiste Daroussin.Ic RS
31761d06d6bSBaptiste Daroussinblocks are closed out.
31861d06d6bSBaptiste DaroussinOtherwise,
31961d06d6bSBaptiste Daroussin.Ar level No \(mi 1
32061d06d6bSBaptiste Daroussinnested
3217295610fSBaptiste Daroussin.Ic RS
32261d06d6bSBaptiste Daroussinblocks remain open.
3237295610fSBaptiste Daroussin.It Ic RI
32461d06d6bSBaptiste DaroussinText is rendered alternately in roman (the default font) and italics.
32561d06d6bSBaptiste DaroussinWhitespace between arguments is omitted in output.
32661d06d6bSBaptiste DaroussinSee also
3277295610fSBaptiste Daroussin.Ic BI .
3287295610fSBaptiste Daroussin.It Ic RS
32961d06d6bSBaptiste DaroussinTemporarily reset the default left margin.
33061d06d6bSBaptiste DaroussinThis has the following syntax:
3317295610fSBaptiste Daroussin.Pp
3327295610fSBaptiste Daroussin.D1 Pf . Ic RS Op Ar width
33361d06d6bSBaptiste Daroussin.Pp
33461d06d6bSBaptiste DaroussinThe
33561d06d6bSBaptiste Daroussin.Ar width
33661d06d6bSBaptiste Daroussinargument is a
33761d06d6bSBaptiste Daroussin.Xr roff 7
33861d06d6bSBaptiste Daroussinscaling width.
33961d06d6bSBaptiste DaroussinIf not specified, the saved or default width is used.
34061d06d6bSBaptiste Daroussin.Pp
34161d06d6bSBaptiste DaroussinSee also
3427295610fSBaptiste Daroussin.Ic RE .
3437295610fSBaptiste Daroussin.It Ic SB
34461d06d6bSBaptiste DaroussinText is rendered in small size (one point smaller than the default font)
34561d06d6bSBaptiste Daroussinbold face.
3467295610fSBaptiste Daroussin.It Ic SH
34761d06d6bSBaptiste DaroussinBegin a section.
34861d06d6bSBaptiste DaroussinThe scope of a section is only closed by another section or the end of
34961d06d6bSBaptiste Daroussinfile.
35061d06d6bSBaptiste DaroussinThe paragraph left-margin width is reset to the default.
3517295610fSBaptiste Daroussin.It Ic SM
35261d06d6bSBaptiste DaroussinText is rendered in small size (one point smaller than the default
35361d06d6bSBaptiste Daroussinfont).
3547295610fSBaptiste Daroussin.It Ic SS
35561d06d6bSBaptiste DaroussinBegin a sub-section.
35661d06d6bSBaptiste DaroussinThe scope of a sub-section is closed by a subsequent sub-section,
35761d06d6bSBaptiste Daroussinsection, or end of file.
35861d06d6bSBaptiste DaroussinThe paragraph left-margin width is reset to the default.
3597295610fSBaptiste Daroussin.It Ic SY
3607295610fSBaptiste DaroussinBegin a synopsis block with the following syntax:
3617295610fSBaptiste Daroussin.Bd -unfilled -offset indent
3627295610fSBaptiste Daroussin.Pf . Ic SY Ar command
3637295610fSBaptiste Daroussin.Ar arguments
3647295610fSBaptiste Daroussin.Pf . Ic YS
36561d06d6bSBaptiste Daroussin.Ed
36661d06d6bSBaptiste Daroussin.Pp
3677295610fSBaptiste DaroussinThis is a non-standard GNU extension
3687295610fSBaptiste Daroussinand very rarely used even in GNU manual pages.
3697295610fSBaptiste DaroussinFormatting is similar to
3707295610fSBaptiste Daroussin.Ic IP .
3717295610fSBaptiste Daroussin.It Ic TH
3727295610fSBaptiste DaroussinSet the name of the manual page for use in the page header
3737295610fSBaptiste Daroussinand footer with the following syntax:
3747295610fSBaptiste Daroussin.Pp
3757295610fSBaptiste Daroussin.D1 Pf . Ic TH Ar name section date Op Ar source Op Ar volume
3767295610fSBaptiste Daroussin.Pp
37761d06d6bSBaptiste DaroussinConventionally, the document
3787295610fSBaptiste Daroussin.Ar name
37961d06d6bSBaptiste Daroussinis given in all caps.
3807295610fSBaptiste DaroussinThe
3817295610fSBaptiste Daroussin.Ar section
3827295610fSBaptiste Daroussinis usually a single digit, in a few cases followed by a letter.
38361d06d6bSBaptiste DaroussinThe recommended
38461d06d6bSBaptiste Daroussin.Ar date
38561d06d6bSBaptiste Daroussinformat is
38661d06d6bSBaptiste Daroussin.Sy YYYY-MM-DD
38761d06d6bSBaptiste Daroussinas specified in the ISO-8601 standard;
38861d06d6bSBaptiste Daroussinif the argument does not conform, it is printed verbatim.
38961d06d6bSBaptiste DaroussinIf the
39061d06d6bSBaptiste Daroussin.Ar date
39161d06d6bSBaptiste Daroussinis empty or not specified, the current date is used.
39261d06d6bSBaptiste DaroussinThe optional
39361d06d6bSBaptiste Daroussin.Ar source
39461d06d6bSBaptiste Daroussinstring specifies the organisation providing the utility.
39561d06d6bSBaptiste DaroussinWhen unspecified,
39661d06d6bSBaptiste Daroussin.Xr mandoc 1
39761d06d6bSBaptiste Daroussinuses its
39861d06d6bSBaptiste Daroussin.Fl Ios
39961d06d6bSBaptiste Daroussinargument.
40061d06d6bSBaptiste DaroussinThe
40161d06d6bSBaptiste Daroussin.Ar volume
4027295610fSBaptiste Daroussinstring replaces the default volume title of the
4037295610fSBaptiste Daroussin.Ar section .
40461d06d6bSBaptiste Daroussin.Pp
40561d06d6bSBaptiste DaroussinExamples:
40661d06d6bSBaptiste Daroussin.Pp
40761d06d6bSBaptiste Daroussin.Dl \&.TH CVS 5 "1992-02-12" GNU
4087295610fSBaptiste Daroussin.It Ic TP
40961d06d6bSBaptiste DaroussinBegin a paragraph where the head, if exceeding the indentation width, is
4107295610fSBaptiste Daroussinfollowed by a newline; if not, the body follows on the same line after
4117295610fSBaptiste Daroussinadvancing to the indentation width.
41261d06d6bSBaptiste DaroussinSubsequent output lines are indented.
41361d06d6bSBaptiste DaroussinThe syntax is as follows:
4147295610fSBaptiste Daroussin.Bd -unfilled -offset indent
4157295610fSBaptiste Daroussin.Pf . Ic TP Op Ar width
4167295610fSBaptiste Daroussin.Ar head No \e" one line
4177295610fSBaptiste Daroussin.Ar body
41861d06d6bSBaptiste Daroussin.Ed
41961d06d6bSBaptiste Daroussin.Pp
42061d06d6bSBaptiste DaroussinThe
42161d06d6bSBaptiste Daroussin.Ar width
42261d06d6bSBaptiste Daroussinargument is a
42361d06d6bSBaptiste Daroussin.Xr roff 7
42461d06d6bSBaptiste Daroussinscaling width.
42561d06d6bSBaptiste DaroussinIf specified, it's saved for later paragraph left-margins; if
42661d06d6bSBaptiste Daroussinunspecified, the saved or default width is used.
4277295610fSBaptiste Daroussin.It Ic TQ
4287295610fSBaptiste DaroussinLike
4297295610fSBaptiste Daroussin.Ic TP ,
4307295610fSBaptiste Daroussinexcept that no vertical spacing is inserted before the paragraph.
4317295610fSBaptiste DaroussinThis is a non-standard GNU extension
4327295610fSBaptiste Daroussinand very rarely used even in GNU manual pages.
4337295610fSBaptiste Daroussin.It Ic UC
43461d06d6bSBaptiste DaroussinSets the volume for the footer for compatibility with man pages from
43561d06d6bSBaptiste Daroussin.Bx
43661d06d6bSBaptiste Daroussinreleases.
43761d06d6bSBaptiste DaroussinThe optional first argument specifies which release it is from.
4387295610fSBaptiste Daroussin.It Ic UE
4397295610fSBaptiste DaroussinEnd a uniform resource identifier block started with
4407295610fSBaptiste Daroussin.Ic UR .
4417295610fSBaptiste DaroussinThis is a non-standard GNU extension.
4427295610fSBaptiste Daroussin.It Ic UR
44361d06d6bSBaptiste DaroussinBegin a uniform resource identifier block.
4447295610fSBaptiste DaroussinThis is a non-standard GNU extension.
44561d06d6bSBaptiste DaroussinIt has the following syntax:
4467295610fSBaptiste Daroussin.Bd -unfilled -offset indent
4477295610fSBaptiste Daroussin.Pf . Ic UR Ar uri
44861d06d6bSBaptiste Daroussinlink description to be shown
4497295610fSBaptiste Daroussin.Pf . Ic UE
45061d06d6bSBaptiste Daroussin.Ed
4517295610fSBaptiste Daroussin.It Ic YS
4527295610fSBaptiste DaroussinEnd a synopsis block started with
4537295610fSBaptiste Daroussin.Ic SY .
4547295610fSBaptiste DaroussinThis is a non-standard GNU extension.
4557295610fSBaptiste Daroussin.It Ic in
45661d06d6bSBaptiste DaroussinIndent relative to the current indentation:
45761d06d6bSBaptiste Daroussin.Pp
4587295610fSBaptiste Daroussin.D1 Pf . Ic in Op Ar width
45961d06d6bSBaptiste Daroussin.Pp
46061d06d6bSBaptiste DaroussinIf
46161d06d6bSBaptiste Daroussin.Ar width
46261d06d6bSBaptiste Daroussinis signed, the new offset is relative.
46361d06d6bSBaptiste DaroussinOtherwise, it is absolute.
46461d06d6bSBaptiste DaroussinThis value is reset upon the next paragraph, section, or sub-section.
4657295610fSBaptiste Daroussin.El
46661d06d6bSBaptiste Daroussin.Sh MACRO SYNTAX
46761d06d6bSBaptiste DaroussinThe
46861d06d6bSBaptiste Daroussin.Nm
46961d06d6bSBaptiste Daroussinmacros are classified by scope: line scope or block scope.
47061d06d6bSBaptiste DaroussinLine macros are only scoped to the current line (and, in some
47161d06d6bSBaptiste Daroussinsituations, the subsequent line).
47261d06d6bSBaptiste DaroussinBlock macros are scoped to the current line and subsequent lines until
47361d06d6bSBaptiste Daroussinclosed by another block macro.
47461d06d6bSBaptiste Daroussin.Ss Line Macros
47561d06d6bSBaptiste DaroussinLine macros are generally scoped to the current line, with the body
47661d06d6bSBaptiste Daroussinconsisting of zero or more arguments.
47761d06d6bSBaptiste DaroussinIf a macro is scoped to the next line and the line arguments are empty,
47861d06d6bSBaptiste Daroussinthe next line, which must be text, is used instead.
47961d06d6bSBaptiste DaroussinThus:
48061d06d6bSBaptiste Daroussin.Bd -literal -offset indent
48161d06d6bSBaptiste Daroussin\&.I
48261d06d6bSBaptiste Daroussinfoo
48361d06d6bSBaptiste Daroussin.Ed
48461d06d6bSBaptiste Daroussin.Pp
48561d06d6bSBaptiste Daroussinis equivalent to
4867295610fSBaptiste Daroussin.Sq .I foo .
48761d06d6bSBaptiste DaroussinIf next-line macros are invoked consecutively, only the last is used.
48861d06d6bSBaptiste DaroussinIf a next-line macro is followed by a non-next-line macro, an error is
48961d06d6bSBaptiste Daroussinraised.
49061d06d6bSBaptiste Daroussin.Pp
49161d06d6bSBaptiste DaroussinThe syntax is as follows:
49261d06d6bSBaptiste Daroussin.Bd -literal -offset indent
49361d06d6bSBaptiste Daroussin\&.YO \(lBbody...\(rB
49461d06d6bSBaptiste Daroussin\(lBbody...\(rB
49561d06d6bSBaptiste Daroussin.Ed
49661d06d6bSBaptiste Daroussin.Bl -column "MacroX" "ArgumentsX" "ScopeXXXXX" "CompatX" -offset indent
49761d06d6bSBaptiste Daroussin.It Em Macro Ta Em Arguments Ta Em Scope     Ta Em Notes
4987295610fSBaptiste Daroussin.It Ic AT  Ta    <=1       Ta    current   Ta    \&
4997295610fSBaptiste Daroussin.It Ic B   Ta    n         Ta    next-line Ta    \&
5007295610fSBaptiste Daroussin.It Ic BI  Ta    n         Ta    current   Ta    \&
5017295610fSBaptiste Daroussin.It Ic BR  Ta    n         Ta    current   Ta    \&
5027295610fSBaptiste Daroussin.It Ic DT  Ta    0         Ta    current   Ta    \&
503*45a5aec3SBaptiste Daroussin.It Ic EE  Ta    0         Ta    current   Ta    Version 9 At
504*45a5aec3SBaptiste Daroussin.It Ic EX  Ta    0         Ta    current   Ta    Version 9 At
5057295610fSBaptiste Daroussin.It Ic I   Ta    n         Ta    next-line Ta    \&
5067295610fSBaptiste Daroussin.It Ic IB  Ta    n         Ta    current   Ta    \&
5077295610fSBaptiste Daroussin.It Ic IR  Ta    n         Ta    current   Ta    \&
5087295610fSBaptiste Daroussin.It Ic OP  Ta    >=1       Ta    current   Ta    GNU
5097295610fSBaptiste Daroussin.It Ic PD  Ta    1         Ta    current   Ta    \&
5107295610fSBaptiste Daroussin.It Ic RB  Ta    n         Ta    current   Ta    \&
5117295610fSBaptiste Daroussin.It Ic RI  Ta    n         Ta    current   Ta    \&
5127295610fSBaptiste Daroussin.It Ic SB  Ta    n         Ta    next-line Ta    \&
5137295610fSBaptiste Daroussin.It Ic SM  Ta    n         Ta    next-line Ta    \&
5147295610fSBaptiste Daroussin.It Ic TH  Ta    >1, <6    Ta    current   Ta    \&
5157295610fSBaptiste Daroussin.It Ic UC  Ta    <=1       Ta    current   Ta    \&
5167295610fSBaptiste Daroussin.It Ic in  Ta    1         Ta    current   Ta    Xr roff 7
51761d06d6bSBaptiste Daroussin.El
51861d06d6bSBaptiste Daroussin.Ss Block Macros
51961d06d6bSBaptiste DaroussinBlock macros comprise a head and body.
52061d06d6bSBaptiste DaroussinAs with in-line macros, the head is scoped to the current line and, in
52161d06d6bSBaptiste Daroussinone circumstance, the next line (the next-line stipulations as in
52261d06d6bSBaptiste Daroussin.Sx Line Macros
52361d06d6bSBaptiste Daroussinapply here as well).
52461d06d6bSBaptiste Daroussin.Pp
52561d06d6bSBaptiste DaroussinThe syntax is as follows:
52661d06d6bSBaptiste Daroussin.Bd -literal -offset indent
52761d06d6bSBaptiste Daroussin\&.YO \(lBhead...\(rB
52861d06d6bSBaptiste Daroussin\(lBhead...\(rB
52961d06d6bSBaptiste Daroussin\(lBbody...\(rB
53061d06d6bSBaptiste Daroussin.Ed
53161d06d6bSBaptiste Daroussin.Pp
53261d06d6bSBaptiste DaroussinThe closure of body scope may be to the section, where a macro is closed
53361d06d6bSBaptiste Daroussinby
5347295610fSBaptiste Daroussin.Ic SH ;
53561d06d6bSBaptiste Daroussinsub-section, closed by a section or
5367295610fSBaptiste Daroussin.Ic SS ;
5377295610fSBaptiste Daroussinor paragraph, closed by a section, sub-section,
5387295610fSBaptiste Daroussin.Ic HP ,
5397295610fSBaptiste Daroussin.Ic IP ,
5407295610fSBaptiste Daroussin.Ic LP ,
5417295610fSBaptiste Daroussin.Ic P ,
5427295610fSBaptiste Daroussin.Ic PP ,
5437295610fSBaptiste Daroussin.Ic RE ,
5447295610fSBaptiste Daroussin.Ic SY ,
54561d06d6bSBaptiste Daroussinor
5467295610fSBaptiste Daroussin.Ic TP .
54761d06d6bSBaptiste DaroussinNo closure refers to an explicit block closing macro.
54861d06d6bSBaptiste Daroussin.Pp
54961d06d6bSBaptiste DaroussinAs a rule, block macros may not be nested; thus, calling a block macro
55061d06d6bSBaptiste Daroussinwhile another block macro scope is open, and the open scope is not
55161d06d6bSBaptiste Daroussinimplicitly closed, is syntactically incorrect.
55261d06d6bSBaptiste Daroussin.Bl -column "MacroX" "ArgumentsX" "Head ScopeX" "sub-sectionX" "compatX" -offset indent
55361d06d6bSBaptiste Daroussin.It Em Macro Ta Em Arguments Ta Em Head Scope Ta Em Body Scope  Ta Em Notes
5547295610fSBaptiste Daroussin.It Ic HP  Ta    <2        Ta    current    Ta    paragraph   Ta    \&
5557295610fSBaptiste Daroussin.It Ic IP  Ta    <3        Ta    current    Ta    paragraph   Ta    \&
5567295610fSBaptiste Daroussin.It Ic LP  Ta    0         Ta    current    Ta    paragraph   Ta    \&
5577295610fSBaptiste Daroussin.It Ic ME  Ta    0         Ta    none       Ta    none        Ta    GNU
5587295610fSBaptiste Daroussin.It Ic MT  Ta    1         Ta    current    Ta    to \&ME     Ta    GNU
5597295610fSBaptiste Daroussin.It Ic P   Ta    0         Ta    current    Ta    paragraph   Ta    \&
5607295610fSBaptiste Daroussin.It Ic PP  Ta    0         Ta    current    Ta    paragraph   Ta    \&
5617295610fSBaptiste Daroussin.It Ic RE  Ta    <=1       Ta    current    Ta    none        Ta    \&
5627295610fSBaptiste Daroussin.It Ic RS  Ta    1         Ta    current    Ta    to \&RE     Ta    \&
5637295610fSBaptiste Daroussin.It Ic SH  Ta    >0        Ta    next-line  Ta    section     Ta    \&
5647295610fSBaptiste Daroussin.It Ic SS  Ta    >0        Ta    next-line  Ta    sub-section Ta    \&
5657295610fSBaptiste Daroussin.It Ic SY  Ta    1         Ta    current    Ta    to \&YS     Ta    GNU
5667295610fSBaptiste Daroussin.It Ic TP  Ta    n         Ta    next-line  Ta    paragraph   Ta    \&
5677295610fSBaptiste Daroussin.It Ic TQ  Ta    n         Ta    next-line  Ta    paragraph   Ta    GNU
5687295610fSBaptiste Daroussin.It Ic UE  Ta    0         Ta    current    Ta    none        Ta    GNU
5697295610fSBaptiste Daroussin.It Ic UR  Ta    1         Ta    current    Ta    part        Ta    GNU
5707295610fSBaptiste Daroussin.It Ic YS  Ta    0         Ta    none       Ta    none        Ta    GNU
57161d06d6bSBaptiste Daroussin.El
57261d06d6bSBaptiste Daroussin.Pp
57361d06d6bSBaptiste DaroussinIf a block macro is next-line scoped, it may only be followed by in-line
57461d06d6bSBaptiste Daroussinmacros for decorating text.
57561d06d6bSBaptiste Daroussin.Ss Font handling
57661d06d6bSBaptiste DaroussinIn
57761d06d6bSBaptiste Daroussin.Nm
57861d06d6bSBaptiste Daroussindocuments, both
57961d06d6bSBaptiste Daroussin.Sx Physical markup
58061d06d6bSBaptiste Daroussinmacros and
58161d06d6bSBaptiste Daroussin.Xr roff 7
58261d06d6bSBaptiste Daroussin.Ql \ef
58361d06d6bSBaptiste Daroussinfont escape sequences can be used to choose fonts.
58461d06d6bSBaptiste DaroussinIn text lines, the effect of manual font selection by escape sequences
58561d06d6bSBaptiste Daroussinonly lasts until the next macro invocation; in macro lines, it only lasts
58661d06d6bSBaptiste Daroussinuntil the end of the macro scope.
58761d06d6bSBaptiste DaroussinNote that macros like
5887295610fSBaptiste Daroussin.Ic BR
58961d06d6bSBaptiste Daroussinopen and close a font scope for each argument.
59061d06d6bSBaptiste Daroussin.Sh SEE ALSO
59161d06d6bSBaptiste Daroussin.Xr man 1 ,
59261d06d6bSBaptiste Daroussin.Xr mandoc 1 ,
59361d06d6bSBaptiste Daroussin.Xr eqn 7 ,
59461d06d6bSBaptiste Daroussin.Xr mandoc_char 7 ,
59561d06d6bSBaptiste Daroussin.Xr mdoc 7 ,
59661d06d6bSBaptiste Daroussin.Xr roff 7 ,
59761d06d6bSBaptiste Daroussin.Xr tbl 7
59861d06d6bSBaptiste Daroussin.Sh HISTORY
59961d06d6bSBaptiste DaroussinThe
60061d06d6bSBaptiste Daroussin.Nm
60161d06d6bSBaptiste Daroussinlanguage first appeared as a macro package for the roff typesetting
60261d06d6bSBaptiste Daroussinsystem in
60361d06d6bSBaptiste Daroussin.At v7 .
60461d06d6bSBaptiste DaroussinIt was later rewritten by James Clark as a macro package for groff.
60561d06d6bSBaptiste DaroussinEric S. Raymond wrote the extended
60661d06d6bSBaptiste Daroussin.Nm
60761d06d6bSBaptiste Daroussinmacros for groff in 2007.
60861d06d6bSBaptiste DaroussinThe stand-alone implementation that is part of the
60961d06d6bSBaptiste Daroussin.Xr mandoc 1
61061d06d6bSBaptiste Daroussinutility written by Kristaps Dzonsons appeared in
61161d06d6bSBaptiste Daroussin.Ox 4.6 .
61261d06d6bSBaptiste Daroussin.Sh AUTHORS
61361d06d6bSBaptiste DaroussinThis
61461d06d6bSBaptiste Daroussin.Nm
61561d06d6bSBaptiste Daroussinreference was written by
61661d06d6bSBaptiste Daroussin.An Kristaps Dzonsons Aq Mt kristaps@bsd.lv .
617