xref: /dflybsd-src/contrib/mdocml/man.7 (revision 1e4d43f9c96723e4e55543d240f182e1aac9a4c2)
1*99db7d0eSSascha Wildner.\"	$Id: man.7,v 1.148 2021/08/05 14:31:14 schwarze Exp $
280387638SSascha Wildner.\"
3f88b6c16SFranco Fichtner.\" Copyright (c) 2009, 2010, 2011, 2012 Kristaps Dzonsons <kristaps@bsd.lv>
4*99db7d0eSSascha Wildner.\" Copyright (c) 2011-2015, 2017-2020 Ingo Schwarze <schwarze@openbsd.org>
554ba9607SSascha Wildner.\" Copyright (c) 2017 Anthony Bentley <bentley@openbsd.org>
6070c62a6SFranco Fichtner.\" Copyright (c) 2010 Joerg Sonnenberger <joerg@netbsd.org>
780387638SSascha Wildner.\"
880387638SSascha Wildner.\" Permission to use, copy, modify, and distribute this software for any
980387638SSascha Wildner.\" purpose with or without fee is hereby granted, provided that the above
1080387638SSascha Wildner.\" copyright notice and this permission notice appear in all copies.
1180387638SSascha Wildner.\"
1280387638SSascha Wildner.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
1380387638SSascha Wildner.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
1480387638SSascha Wildner.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
1580387638SSascha Wildner.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
1680387638SSascha Wildner.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
1780387638SSascha Wildner.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
1880387638SSascha Wildner.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1980387638SSascha Wildner.\"
20*99db7d0eSSascha Wildner.Dd $Mdocdate: August 5 2021 $
2180387638SSascha Wildner.Dt MAN 7
2280387638SSascha Wildner.Os
2380387638SSascha Wildner.Sh NAME
2480387638SSascha Wildner.Nm man
2536342e81SSascha Wildner.Nd legacy formatting language for manual pages
2680387638SSascha Wildner.Sh DESCRIPTION
2754ba9607SSascha WildnerThe
2880387638SSascha Wildner.Nm man
2954ba9607SSascha Wildnerlanguage was the standard formatting language for
3054ba9607SSascha Wildner.At
3154ba9607SSascha Wildnermanual pages from 1979 to 1989.
3254ba9607SSascha WildnerDo not use it to write new manual pages: it is a purely presentational
3354ba9607SSascha Wildnerlanguage and lacks support for semantic markup.
3480387638SSascha WildnerUse the
3580387638SSascha Wildner.Xr mdoc 7
3680387638SSascha Wildnerlanguage, instead.
3780387638SSascha Wildner.Pp
3836342e81SSascha WildnerIn a
3980387638SSascha Wildner.Nm
4036342e81SSascha Wildnerdocument, lines beginning with the control character
4180387638SSascha Wildner.Sq \&.
4236342e81SSascha Wildnerare called
4336342e81SSascha Wildner.Dq macro lines .
4436342e81SSascha WildnerThe first word is the macro name.
4536342e81SSascha WildnerIt usually consists of two capital letters.
4654ba9607SSascha WildnerFor a list of portable macros, see
4736342e81SSascha Wildner.Sx MACRO OVERVIEW .
4836342e81SSascha WildnerThe words following the macro name are arguments to the macro.
4936342e81SSascha Wildner.Pp
5036342e81SSascha WildnerLines not beginning with the control character are called
5136342e81SSascha Wildner.Dq text lines .
5236342e81SSascha WildnerThey provide free-form text to be printed; the formatting of the text
5336342e81SSascha Wildnerdepends on the respective processing context:
5480387638SSascha Wildner.Bd -literal -offset indent
5580387638SSascha Wildner\&.SH Macro lines change control state.
5636342e81SSascha WildnerText lines are interpreted within the current state.
5780387638SSascha Wildner.Ed
5836342e81SSascha Wildner.Pp
5936342e81SSascha WildnerMany aspects of the basic syntax of the
6080387638SSascha Wildner.Nm
6136342e81SSascha Wildnerlanguage are based on the
6236342e81SSascha Wildner.Xr roff 7
6336342e81SSascha Wildnerlanguage; see the
6436342e81SSascha Wildner.Em LANGUAGE SYNTAX
6580387638SSascha Wildnerand
6636342e81SSascha Wildner.Em MACRO SYNTAX
6736342e81SSascha Wildnersections in the
6836342e81SSascha Wildner.Xr roff 7
6936342e81SSascha Wildnermanual for details, in particular regarding
7036342e81SSascha Wildnercomments, escape sequences, whitespace, and quoting.
7154ba9607SSascha Wildner.Pp
7280387638SSascha WildnerEach
7380387638SSascha Wildner.Nm
7454ba9607SSascha Wildnerdocument starts with the
7554ba9607SSascha Wildner.Ic TH
7654ba9607SSascha Wildnermacro specifying the document's name and section, followed by the
7754ba9607SSascha Wildner.Sx NAME
7854ba9607SSascha Wildnersection formatted as follows:
7980387638SSascha Wildner.Bd -literal -offset indent
8054ba9607SSascha Wildner\&.TH PROGNAME 1 1979-01-10
8180387638SSascha Wildner\&.SH NAME
82070c62a6SFranco Fichtner\efBprogname\efR \e(en one line about what it does
8380387638SSascha Wildner.Ed
8436342e81SSascha Wildner.Sh MACRO OVERVIEW
8536342e81SSascha WildnerThis overview is sorted such that macros of similar purpose are listed
8654ba9607SSascha Wildnertogether.
8754ba9607SSascha WildnerDeprecated and non-portable macros are not included in the overview,
8854ba9607SSascha Wildnerbut can be found in the alphabetical reference below.
8936342e81SSascha Wildner.Ss Page header and footer meta-data
9054ba9607SSascha Wildner.Bl -column "RS, RE" description
9154ba9607SSascha Wildner.It Ic TH Ta set the title: Ar name section date Op Ar source Op Ar volume
9254ba9607SSascha Wildner.It Ic AT Ta display AT&T UNIX version in the page footer (<= 1 argument)
9354ba9607SSascha Wildner.It Ic UC Ta display BSD version in the page footer (<= 1 argument)
9480387638SSascha Wildner.El
9536342e81SSascha Wildner.Ss Sections and paragraphs
9654ba9607SSascha Wildner.Bl -column "RS, RE" description
9754ba9607SSascha Wildner.It Ic SH Ta section header (one line)
9854ba9607SSascha Wildner.It Ic SS Ta subsection header (one line)
9954ba9607SSascha Wildner.It Ic PP Ta start an undecorated paragraph (no arguments)
10054ba9607SSascha Wildner.It Ic RS , RE Ta reset the left margin: Op Ar width
10154ba9607SSascha Wildner.It Ic IP Ta indented paragraph: Op Ar head Op Ar width
10254ba9607SSascha Wildner.It Ic TP Ta tagged paragraph: Op Ar width
10354ba9607SSascha Wildner.It Ic PD Ta set vertical paragraph distance: Op Ar height
10454ba9607SSascha Wildner.It Ic in Ta additional indent: Op Ar width
10580387638SSascha Wildner.El
10636342e81SSascha Wildner.Ss Physical markup
10754ba9607SSascha Wildner.Bl -column "RS, RE" description
10854ba9607SSascha Wildner.It Ic B Ta boldface font
10954ba9607SSascha Wildner.It Ic I Ta italic font
11054ba9607SSascha Wildner.It Ic SB Ta small boldface font
11154ba9607SSascha Wildner.It Ic SM Ta small roman font
11254ba9607SSascha Wildner.It Ic BI Ta alternate between boldface and italic fonts
11354ba9607SSascha Wildner.It Ic BR Ta alternate between boldface and roman fonts
11454ba9607SSascha Wildner.It Ic IB Ta alternate between italic and boldface fonts
11554ba9607SSascha Wildner.It Ic IR Ta alternate between italic and roman fonts
11654ba9607SSascha Wildner.It Ic RB Ta alternate between roman and boldface fonts
11754ba9607SSascha Wildner.It Ic RI Ta alternate between roman and italic fonts
11836342e81SSascha Wildner.El
11936342e81SSascha Wildner.Sh MACRO REFERENCE
12080387638SSascha WildnerThis section is a canonical reference to all macros, arranged
12180387638SSascha Wildneralphabetically.
12280387638SSascha WildnerFor the scoping of individual macros, see
12380387638SSascha Wildner.Sx MACRO SYNTAX .
12454ba9607SSascha Wildner.Bl -tag -width 3n
12554ba9607SSascha Wildner.It Ic AT
12680387638SSascha WildnerSets the volume for the footer for compatibility with man pages from
127070c62a6SFranco Fichtner.At
12880387638SSascha Wildnerreleases.
12980387638SSascha WildnerThe optional arguments specify which release it is from.
130*99db7d0eSSascha WildnerThis macro is an extension that first appeared in
131*99db7d0eSSascha Wildner.Bx 4.3 .
13254ba9607SSascha Wildner.It Ic B
13380387638SSascha WildnerText is rendered in bold face.
13454ba9607SSascha Wildner.It Ic BI
13580387638SSascha WildnerText is rendered alternately in bold face and italic.
13680387638SSascha WildnerThus,
13780387638SSascha Wildner.Sq .BI this word and that
13880387638SSascha Wildnercauses
13980387638SSascha Wildner.Sq this
14080387638SSascha Wildnerand
14180387638SSascha Wildner.Sq and
14280387638SSascha Wildnerto render in bold face, while
14380387638SSascha Wildner.Sq word
14480387638SSascha Wildnerand
14580387638SSascha Wildner.Sq that
14680387638SSascha Wildnerrender in italics.
14780387638SSascha WildnerWhitespace between arguments is omitted in output.
14880387638SSascha Wildner.Pp
14954ba9607SSascha WildnerExample:
15080387638SSascha Wildner.Pp
15180387638SSascha Wildner.Dl \&.BI bold italic bold italic
15254ba9607SSascha Wildner.It Ic BR
15380387638SSascha WildnerText is rendered alternately in bold face and roman (the default font).
15480387638SSascha WildnerWhitespace between arguments is omitted in output.
15580387638SSascha WildnerSee also
15654ba9607SSascha Wildner.Ic BI .
15754ba9607SSascha Wildner.It Ic DT
15854ba9607SSascha WildnerRestore the default tabulator positions.
15954ba9607SSascha WildnerThey are at intervals of 0.5 inches.
16054ba9607SSascha WildnerThis has no effect unless the tabulator positions were changed with the
16154ba9607SSascha Wildner.Xr roff 7
16254ba9607SSascha Wildner.Ic ta
16354ba9607SSascha Wildnerrequest.
16454ba9607SSascha Wildner.It Ic EE
165*99db7d0eSSascha WildnerThis is a non-standard Version 9
166*99db7d0eSSascha Wildner.At
167*99db7d0eSSascha Wildnerextension later adopted by GNU.
168f88b6c16SFranco FichtnerIn
169f88b6c16SFranco Fichtner.Xr mandoc 1 ,
17054ba9607SSascha Wildnerit does the same as the
17154ba9607SSascha Wildner.Xr roff 7
17254ba9607SSascha Wildner.Ic fi
17354ba9607SSascha Wildnerrequest (switch to fill mode).
17454ba9607SSascha Wildner.It Ic EX
175*99db7d0eSSascha WildnerThis is a non-standard Version 9
176*99db7d0eSSascha Wildner.At
177*99db7d0eSSascha Wildnerextension later adopted by GNU.
178f88b6c16SFranco FichtnerIn
179f88b6c16SFranco Fichtner.Xr mandoc 1 ,
18054ba9607SSascha Wildnerit does the same as the
18154ba9607SSascha Wildner.Xr roff 7
18254ba9607SSascha Wildner.Ic nf
18354ba9607SSascha Wildnerrequest (switch to no-fill mode).
18454ba9607SSascha Wildner.It Ic HP
18580387638SSascha WildnerBegin a paragraph whose initial output line is left-justified, but
18680387638SSascha Wildnersubsequent output lines are indented, with the following syntax:
18754ba9607SSascha Wildner.Pp
18854ba9607SSascha Wildner.D1 Pf . Ic HP Op Ar width
18980387638SSascha Wildner.Pp
19080387638SSascha WildnerThe
19154ba9607SSascha Wildner.Ar width
192f88b6c16SFranco Fichtnerargument is a
193f88b6c16SFranco Fichtner.Xr roff 7
194f88b6c16SFranco Fichtnerscaling width.
19554ba9607SSascha WildnerIf specified, it's saved for later paragraph left margins;
19654ba9607SSascha Wildnerif unspecified, the saved or default width is used.
19780387638SSascha Wildner.Pp
19854ba9607SSascha WildnerThis macro is portable, but deprecated
19954ba9607SSascha Wildnerbecause it has no good representation in HTML output,
20054ba9607SSascha Wildnerusually ending up indistinguishable from
20154ba9607SSascha Wildner.Ic PP .
20254ba9607SSascha Wildner.It Ic I
20380387638SSascha WildnerText is rendered in italics.
20454ba9607SSascha Wildner.It Ic IB
20580387638SSascha WildnerText is rendered alternately in italics and bold face.
20680387638SSascha WildnerWhitespace between arguments is omitted in output.
20780387638SSascha WildnerSee also
20854ba9607SSascha Wildner.Ic BI .
20954ba9607SSascha Wildner.It Ic IP
21080387638SSascha WildnerBegin an indented paragraph with the following syntax:
21154ba9607SSascha Wildner.Pp
21254ba9607SSascha Wildner.D1 Pf . Ic IP Op Ar head Op Ar width
21380387638SSascha Wildner.Pp
21480387638SSascha WildnerThe
21554ba9607SSascha Wildner.Ar width
216f88b6c16SFranco Fichtnerargument is a
217f88b6c16SFranco Fichtner.Xr roff 7
218f88b6c16SFranco Fichtnerscaling width defining the left margin.
21980387638SSascha WildnerIt's saved for later paragraph left-margins; if unspecified, the saved or
22080387638SSascha Wildnerdefault width is used.
22180387638SSascha Wildner.Pp
22280387638SSascha WildnerThe
22354ba9607SSascha Wildner.Ar head
22480387638SSascha Wildnerargument is used as a leading term, flushed to the left margin.
22580387638SSascha WildnerThis is useful for bulleted paragraphs and so on.
22654ba9607SSascha Wildner.It Ic IR
22780387638SSascha WildnerText is rendered alternately in italics and roman (the default font).
22880387638SSascha WildnerWhitespace between arguments is omitted in output.
22980387638SSascha WildnerSee also
23054ba9607SSascha Wildner.Ic BI .
23154ba9607SSascha Wildner.It Ic LP
23254ba9607SSascha WildnerA synonym for
23354ba9607SSascha Wildner.Ic PP .
23454ba9607SSascha Wildner.It Ic ME
23554ba9607SSascha WildnerEnd a mailto block started with
23654ba9607SSascha Wildner.Ic MT .
23754ba9607SSascha WildnerThis is a non-standard GNU extension.
23854ba9607SSascha Wildner.It Ic MT
23954ba9607SSascha WildnerBegin a mailto block.
24054ba9607SSascha WildnerThis is a non-standard GNU extension.
241f88b6c16SFranco FichtnerIt has the following syntax:
24254ba9607SSascha Wildner.Bd -unfilled -offset indent
24354ba9607SSascha Wildner.Pf . Ic MT Ar address
24454ba9607SSascha Wildnerlink description to be shown
24554ba9607SSascha Wildner.Pf . Ic ME
24636342e81SSascha Wildner.Ed
24754ba9607SSascha Wildner.It Ic OP
24854ba9607SSascha WildnerOptional command-line argument.
249*99db7d0eSSascha WildnerThis is a non-standard DWB extension.
25054ba9607SSascha WildnerIt has the following syntax:
25154ba9607SSascha Wildner.Pp
25254ba9607SSascha Wildner.D1 Pf . Ic OP Ar key Op Ar value
25336342e81SSascha Wildner.Pp
25436342e81SSascha WildnerThe
25554ba9607SSascha Wildner.Ar key
25636342e81SSascha Wildneris usually a command-line flag and
25754ba9607SSascha Wildner.Ar value
25836342e81SSascha Wildnerits argument.
25954ba9607SSascha Wildner.It Ic P
260*99db7d0eSSascha WildnerThis synonym for
261*99db7d0eSSascha Wildner.Ic PP
262*99db7d0eSSascha Wildneris an
263*99db7d0eSSascha Wildner.At III
264*99db7d0eSSascha Wildnerextension later adopted by
265*99db7d0eSSascha Wildner.Bx 4.3 .
26654ba9607SSascha Wildner.It Ic PD
267f88b6c16SFranco FichtnerSpecify the vertical space to be inserted before each new paragraph.
268f88b6c16SFranco Fichtner.br
269f88b6c16SFranco FichtnerThe syntax is as follows:
27054ba9607SSascha Wildner.Pp
27154ba9607SSascha Wildner.D1 Pf . Ic PD Op Ar height
272f88b6c16SFranco Fichtner.Pp
273f88b6c16SFranco FichtnerThe
27454ba9607SSascha Wildner.Ar height
275f88b6c16SFranco Fichtnerargument is a
276f88b6c16SFranco Fichtner.Xr roff 7
277f88b6c16SFranco Fichtnerscaling width.
278f88b6c16SFranco FichtnerIt defaults to
279f88b6c16SFranco Fichtner.Cm 1v .
280f88b6c16SFranco FichtnerIf the unit is omitted,
281f88b6c16SFranco Fichtner.Cm v
282f88b6c16SFranco Fichtneris assumed.
283f88b6c16SFranco Fichtner.Pp
284f88b6c16SFranco FichtnerThis macro affects the spacing before any subsequent instances of
28554ba9607SSascha Wildner.Ic HP ,
28654ba9607SSascha Wildner.Ic IP ,
28754ba9607SSascha Wildner.Ic LP ,
28854ba9607SSascha Wildner.Ic P ,
28954ba9607SSascha Wildner.Ic PP ,
29054ba9607SSascha Wildner.Ic SH ,
29154ba9607SSascha Wildner.Ic SS ,
29254ba9607SSascha Wildner.Ic SY ,
293f88b6c16SFranco Fichtnerand
29454ba9607SSascha Wildner.Ic TP .
29554ba9607SSascha Wildner.It Ic PP
29654ba9607SSascha WildnerBegin an undecorated paragraph.
29754ba9607SSascha WildnerThe scope of a paragraph is closed by a subsequent paragraph,
29854ba9607SSascha Wildnersub-section, section, or end of file.
29954ba9607SSascha WildnerThe saved paragraph left-margin width is reset to the default.
30054ba9607SSascha Wildner.It Ic RB
30180387638SSascha WildnerText is rendered alternately in roman (the default font) and bold face.
30280387638SSascha WildnerWhitespace between arguments is omitted in output.
30380387638SSascha WildnerSee also
30454ba9607SSascha Wildner.Ic BI .
30554ba9607SSascha Wildner.It Ic RE
30680387638SSascha WildnerExplicitly close out the scope of a prior
30754ba9607SSascha Wildner.Ic RS .
30854ba9607SSascha WildnerThe default left margin is restored to the state before that
30954ba9607SSascha Wildner.Ic RS
31036342e81SSascha Wildnerinvocation.
31154ba9607SSascha Wildner.Pp
31254ba9607SSascha WildnerThe syntax is as follows:
31354ba9607SSascha Wildner.Pp
31454ba9607SSascha Wildner.D1 Pf . Ic RE Op Ar level
31554ba9607SSascha Wildner.Pp
31654ba9607SSascha WildnerWithout an argument, the most recent
31754ba9607SSascha Wildner.Ic RS
31854ba9607SSascha Wildnerblock is closed out.
31954ba9607SSascha WildnerIf
32054ba9607SSascha Wildner.Ar level
32154ba9607SSascha Wildneris 1, all open
32254ba9607SSascha Wildner.Ic RS
32354ba9607SSascha Wildnerblocks are closed out.
32454ba9607SSascha WildnerOtherwise,
32554ba9607SSascha Wildner.Ar level No \(mi 1
32654ba9607SSascha Wildnernested
32754ba9607SSascha Wildner.Ic RS
32854ba9607SSascha Wildnerblocks remain open.
32954ba9607SSascha Wildner.It Ic RI
33080387638SSascha WildnerText is rendered alternately in roman (the default font) and italics.
33180387638SSascha WildnerWhitespace between arguments is omitted in output.
33280387638SSascha WildnerSee also
33354ba9607SSascha Wildner.Ic BI .
33454ba9607SSascha Wildner.It Ic RS
33536342e81SSascha WildnerTemporarily reset the default left margin.
33680387638SSascha WildnerThis has the following syntax:
33754ba9607SSascha Wildner.Pp
33854ba9607SSascha Wildner.D1 Pf . Ic RS Op Ar width
33980387638SSascha Wildner.Pp
34080387638SSascha WildnerThe
34154ba9607SSascha Wildner.Ar width
342f88b6c16SFranco Fichtnerargument is a
343f88b6c16SFranco Fichtner.Xr roff 7
344f88b6c16SFranco Fichtnerscaling width.
34580387638SSascha WildnerIf not specified, the saved or default width is used.
34636342e81SSascha Wildner.Pp
34736342e81SSascha WildnerSee also
34854ba9607SSascha Wildner.Ic RE .
34954ba9607SSascha Wildner.It Ic SB
35080387638SSascha WildnerText is rendered in small size (one point smaller than the default font)
35180387638SSascha Wildnerbold face.
352*99db7d0eSSascha WildnerThis macro is an extension that probably first appeared in SunOS 4.0
353*99db7d0eSSascha Wildnerand was later adopted by GNU and by
354*99db7d0eSSascha Wildner.Bx 4.4 .
35554ba9607SSascha Wildner.It Ic SH
35680387638SSascha WildnerBegin a section.
35780387638SSascha WildnerThe scope of a section is only closed by another section or the end of
35880387638SSascha Wildnerfile.
35980387638SSascha WildnerThe paragraph left-margin width is reset to the default.
36054ba9607SSascha Wildner.It Ic SM
36180387638SSascha WildnerText is rendered in small size (one point smaller than the default
36280387638SSascha Wildnerfont).
36354ba9607SSascha Wildner.It Ic SS
36480387638SSascha WildnerBegin a sub-section.
36580387638SSascha WildnerThe scope of a sub-section is closed by a subsequent sub-section,
36680387638SSascha Wildnersection, or end of file.
36780387638SSascha WildnerThe paragraph left-margin width is reset to the default.
36854ba9607SSascha Wildner.It Ic SY
36954ba9607SSascha WildnerBegin a synopsis block with the following syntax:
37054ba9607SSascha Wildner.Bd -unfilled -offset indent
37154ba9607SSascha Wildner.Pf . Ic SY Ar command
37254ba9607SSascha Wildner.Ar arguments
37354ba9607SSascha Wildner.Pf . Ic YS
37480387638SSascha Wildner.Ed
37580387638SSascha Wildner.Pp
37654ba9607SSascha WildnerThis is a non-standard GNU extension
37754ba9607SSascha Wildnerand very rarely used even in GNU manual pages.
37854ba9607SSascha WildnerFormatting is similar to
37954ba9607SSascha Wildner.Ic IP .
38054ba9607SSascha Wildner.It Ic TH
38154ba9607SSascha WildnerSet the name of the manual page for use in the page header
38254ba9607SSascha Wildnerand footer with the following syntax:
38354ba9607SSascha Wildner.Pp
38454ba9607SSascha Wildner.D1 Pf . Ic TH Ar name section date Op Ar source Op Ar volume
38554ba9607SSascha Wildner.Pp
38660e1e752SSascha WildnerConventionally, the document
38754ba9607SSascha Wildner.Ar name
38860e1e752SSascha Wildneris given in all caps.
38954ba9607SSascha WildnerThe
39054ba9607SSascha Wildner.Ar section
39154ba9607SSascha Wildneris usually a single digit, in a few cases followed by a letter.
39260e1e752SSascha WildnerThe recommended
39360e1e752SSascha Wildner.Ar date
39460e1e752SSascha Wildnerformat is
39560e1e752SSascha Wildner.Sy YYYY-MM-DD
39660e1e752SSascha Wildneras specified in the ISO-8601 standard;
39760e1e752SSascha Wildnerif the argument does not conform, it is printed verbatim.
39860e1e752SSascha WildnerIf the
39960e1e752SSascha Wildner.Ar date
40060e1e752SSascha Wildneris empty or not specified, the current date is used.
40160e1e752SSascha WildnerThe optional
40260e1e752SSascha Wildner.Ar source
40380387638SSascha Wildnerstring specifies the organisation providing the utility.
40454ba9607SSascha WildnerWhen unspecified,
40554ba9607SSascha Wildner.Xr mandoc 1
40654ba9607SSascha Wildneruses its
40754ba9607SSascha Wildner.Fl Ios
40854ba9607SSascha Wildnerargument.
40980387638SSascha WildnerThe
41060e1e752SSascha Wildner.Ar volume
41154ba9607SSascha Wildnerstring replaces the default volume title of the
41254ba9607SSascha Wildner.Ar section .
41380387638SSascha Wildner.Pp
41480387638SSascha WildnerExamples:
41580387638SSascha Wildner.Pp
41680387638SSascha Wildner.Dl \&.TH CVS 5 "1992-02-12" GNU
41754ba9607SSascha Wildner.It Ic TP
41880387638SSascha WildnerBegin a paragraph where the head, if exceeding the indentation width, is
41954ba9607SSascha Wildnerfollowed by a newline; if not, the body follows on the same line after
42054ba9607SSascha Wildneradvancing to the indentation width.
42180387638SSascha WildnerSubsequent output lines are indented.
42280387638SSascha WildnerThe syntax is as follows:
42354ba9607SSascha Wildner.Bd -unfilled -offset indent
42454ba9607SSascha Wildner.Pf . Ic TP Op Ar width
42554ba9607SSascha Wildner.Ar head No \e" one line
42654ba9607SSascha Wildner.Ar body
42780387638SSascha Wildner.Ed
42880387638SSascha Wildner.Pp
42980387638SSascha WildnerThe
43054ba9607SSascha Wildner.Ar width
431f88b6c16SFranco Fichtnerargument is a
432f88b6c16SFranco Fichtner.Xr roff 7
433f88b6c16SFranco Fichtnerscaling width.
43480387638SSascha WildnerIf specified, it's saved for later paragraph left-margins; if
43580387638SSascha Wildnerunspecified, the saved or default width is used.
43654ba9607SSascha Wildner.It Ic TQ
43754ba9607SSascha WildnerLike
43854ba9607SSascha Wildner.Ic TP ,
43954ba9607SSascha Wildnerexcept that no vertical spacing is inserted before the paragraph.
44054ba9607SSascha WildnerThis is a non-standard GNU extension
44154ba9607SSascha Wildnerand very rarely used even in GNU manual pages.
44254ba9607SSascha Wildner.It Ic UC
44380387638SSascha WildnerSets the volume for the footer for compatibility with man pages from
444f88b6c16SFranco Fichtner.Bx
445f88b6c16SFranco Fichtnerreleases.
44680387638SSascha WildnerThe optional first argument specifies which release it is from.
447*99db7d0eSSascha WildnerThis macro is an extension that first appeared in
448*99db7d0eSSascha Wildner.Bx 3 .
44954ba9607SSascha Wildner.It Ic UE
45054ba9607SSascha WildnerEnd a uniform resource identifier block started with
45154ba9607SSascha Wildner.Ic UR .
45254ba9607SSascha WildnerThis is a non-standard GNU extension.
45354ba9607SSascha Wildner.It Ic UR
454070c62a6SFranco FichtnerBegin a uniform resource identifier block.
45554ba9607SSascha WildnerThis is a non-standard GNU extension.
456070c62a6SFranco FichtnerIt has the following syntax:
45754ba9607SSascha Wildner.Bd -unfilled -offset indent
45854ba9607SSascha Wildner.Pf . Ic UR Ar uri
459070c62a6SFranco Fichtnerlink description to be shown
46054ba9607SSascha Wildner.Pf . Ic UE
461070c62a6SFranco Fichtner.Ed
46254ba9607SSascha Wildner.It Ic YS
46354ba9607SSascha WildnerEnd a synopsis block started with
46454ba9607SSascha Wildner.Ic SY .
46554ba9607SSascha WildnerThis is a non-standard GNU extension.
46654ba9607SSascha Wildner.It Ic in
46780387638SSascha WildnerIndent relative to the current indentation:
46880387638SSascha Wildner.Pp
46954ba9607SSascha Wildner.D1 Pf . Ic in Op Ar width
47080387638SSascha Wildner.Pp
47180387638SSascha WildnerIf
47254ba9607SSascha Wildner.Ar width
47380387638SSascha Wildneris signed, the new offset is relative.
47480387638SSascha WildnerOtherwise, it is absolute.
47580387638SSascha WildnerThis value is reset upon the next paragraph, section, or sub-section.
47654ba9607SSascha Wildner.El
47736342e81SSascha Wildner.Sh MACRO SYNTAX
47836342e81SSascha WildnerThe
47936342e81SSascha Wildner.Nm
48036342e81SSascha Wildnermacros are classified by scope: line scope or block scope.
48136342e81SSascha WildnerLine macros are only scoped to the current line (and, in some
48236342e81SSascha Wildnersituations, the subsequent line).
48336342e81SSascha WildnerBlock macros are scoped to the current line and subsequent lines until
48436342e81SSascha Wildnerclosed by another block macro.
48536342e81SSascha Wildner.Ss Line Macros
48636342e81SSascha WildnerLine macros are generally scoped to the current line, with the body
48736342e81SSascha Wildnerconsisting of zero or more arguments.
48836342e81SSascha WildnerIf a macro is scoped to the next line and the line arguments are empty,
48936342e81SSascha Wildnerthe next line, which must be text, is used instead.
49036342e81SSascha WildnerThus:
49136342e81SSascha Wildner.Bd -literal -offset indent
49236342e81SSascha Wildner\&.I
49336342e81SSascha Wildnerfoo
49436342e81SSascha Wildner.Ed
49536342e81SSascha Wildner.Pp
49636342e81SSascha Wildneris equivalent to
49754ba9607SSascha Wildner.Sq .I foo .
49836342e81SSascha WildnerIf next-line macros are invoked consecutively, only the last is used.
49936342e81SSascha WildnerIf a next-line macro is followed by a non-next-line macro, an error is
50054ba9607SSascha Wildnerraised.
50136342e81SSascha Wildner.Pp
50236342e81SSascha WildnerThe syntax is as follows:
50336342e81SSascha Wildner.Bd -literal -offset indent
50436342e81SSascha Wildner\&.YO \(lBbody...\(rB
50536342e81SSascha Wildner\(lBbody...\(rB
50636342e81SSascha Wildner.Ed
50736342e81SSascha Wildner.Bl -column "MacroX" "ArgumentsX" "ScopeXXXXX" "CompatX" -offset indent
50836342e81SSascha Wildner.It Em Macro Ta Em Arguments Ta Em Scope     Ta Em Notes
50954ba9607SSascha Wildner.It Ic AT  Ta    <=1       Ta    current   Ta    \&
51054ba9607SSascha Wildner.It Ic B   Ta    n         Ta    next-line Ta    \&
51154ba9607SSascha Wildner.It Ic BI  Ta    n         Ta    current   Ta    \&
51254ba9607SSascha Wildner.It Ic BR  Ta    n         Ta    current   Ta    \&
51354ba9607SSascha Wildner.It Ic DT  Ta    0         Ta    current   Ta    \&
514*99db7d0eSSascha Wildner.It Ic EE  Ta    0         Ta    current   Ta    Version 9 At
515*99db7d0eSSascha Wildner.It Ic EX  Ta    0         Ta    current   Ta    Version 9 At
51654ba9607SSascha Wildner.It Ic I   Ta    n         Ta    next-line Ta    \&
51754ba9607SSascha Wildner.It Ic IB  Ta    n         Ta    current   Ta    \&
51854ba9607SSascha Wildner.It Ic IR  Ta    n         Ta    current   Ta    \&
519*99db7d0eSSascha Wildner.It Ic OP  Ta    >=1       Ta    current   Ta    DWB
52054ba9607SSascha Wildner.It Ic PD  Ta    1         Ta    current   Ta    \&
52154ba9607SSascha Wildner.It Ic RB  Ta    n         Ta    current   Ta    \&
52254ba9607SSascha Wildner.It Ic RI  Ta    n         Ta    current   Ta    \&
52354ba9607SSascha Wildner.It Ic SB  Ta    n         Ta    next-line Ta    \&
52454ba9607SSascha Wildner.It Ic SM  Ta    n         Ta    next-line Ta    \&
52554ba9607SSascha Wildner.It Ic TH  Ta    >1, <6    Ta    current   Ta    \&
52654ba9607SSascha Wildner.It Ic UC  Ta    <=1       Ta    current   Ta    \&
52754ba9607SSascha Wildner.It Ic in  Ta    1         Ta    current   Ta    Xr roff 7
52836342e81SSascha Wildner.El
52936342e81SSascha Wildner.Ss Block Macros
53036342e81SSascha WildnerBlock macros comprise a head and body.
53136342e81SSascha WildnerAs with in-line macros, the head is scoped to the current line and, in
53236342e81SSascha Wildnerone circumstance, the next line (the next-line stipulations as in
53336342e81SSascha Wildner.Sx Line Macros
53436342e81SSascha Wildnerapply here as well).
53536342e81SSascha Wildner.Pp
53636342e81SSascha WildnerThe syntax is as follows:
53736342e81SSascha Wildner.Bd -literal -offset indent
53836342e81SSascha Wildner\&.YO \(lBhead...\(rB
53936342e81SSascha Wildner\(lBhead...\(rB
54036342e81SSascha Wildner\(lBbody...\(rB
54136342e81SSascha Wildner.Ed
54236342e81SSascha Wildner.Pp
54336342e81SSascha WildnerThe closure of body scope may be to the section, where a macro is closed
54436342e81SSascha Wildnerby
54554ba9607SSascha Wildner.Ic SH ;
54636342e81SSascha Wildnersub-section, closed by a section or
54754ba9607SSascha Wildner.Ic SS ;
54854ba9607SSascha Wildneror paragraph, closed by a section, sub-section,
54954ba9607SSascha Wildner.Ic HP ,
55054ba9607SSascha Wildner.Ic IP ,
55154ba9607SSascha Wildner.Ic LP ,
55254ba9607SSascha Wildner.Ic P ,
55354ba9607SSascha Wildner.Ic PP ,
55454ba9607SSascha Wildner.Ic RE ,
55554ba9607SSascha Wildner.Ic SY ,
55636342e81SSascha Wildneror
55754ba9607SSascha Wildner.Ic TP .
55836342e81SSascha WildnerNo closure refers to an explicit block closing macro.
55936342e81SSascha Wildner.Pp
56036342e81SSascha WildnerAs a rule, block macros may not be nested; thus, calling a block macro
56136342e81SSascha Wildnerwhile another block macro scope is open, and the open scope is not
56236342e81SSascha Wildnerimplicitly closed, is syntactically incorrect.
56336342e81SSascha Wildner.Bl -column "MacroX" "ArgumentsX" "Head ScopeX" "sub-sectionX" "compatX" -offset indent
56436342e81SSascha Wildner.It Em Macro Ta Em Arguments Ta Em Head Scope Ta Em Body Scope  Ta Em Notes
56554ba9607SSascha Wildner.It Ic HP  Ta    <2        Ta    current    Ta    paragraph   Ta    \&
56654ba9607SSascha Wildner.It Ic IP  Ta    <3        Ta    current    Ta    paragraph   Ta    \&
56754ba9607SSascha Wildner.It Ic LP  Ta    0         Ta    current    Ta    paragraph   Ta    \&
56854ba9607SSascha Wildner.It Ic ME  Ta    0         Ta    none       Ta    none        Ta    GNU
56954ba9607SSascha Wildner.It Ic MT  Ta    1         Ta    current    Ta    to \&ME     Ta    GNU
57054ba9607SSascha Wildner.It Ic P   Ta    0         Ta    current    Ta    paragraph   Ta    \&
57154ba9607SSascha Wildner.It Ic PP  Ta    0         Ta    current    Ta    paragraph   Ta    \&
57254ba9607SSascha Wildner.It Ic RE  Ta    <=1       Ta    current    Ta    none        Ta    \&
57354ba9607SSascha Wildner.It Ic RS  Ta    1         Ta    current    Ta    to \&RE     Ta    \&
57454ba9607SSascha Wildner.It Ic SH  Ta    >0        Ta    next-line  Ta    section     Ta    \&
57554ba9607SSascha Wildner.It Ic SS  Ta    >0        Ta    next-line  Ta    sub-section Ta    \&
57654ba9607SSascha Wildner.It Ic SY  Ta    1         Ta    current    Ta    to \&YS     Ta    GNU
57754ba9607SSascha Wildner.It Ic TP  Ta    n         Ta    next-line  Ta    paragraph   Ta    \&
57854ba9607SSascha Wildner.It Ic TQ  Ta    n         Ta    next-line  Ta    paragraph   Ta    GNU
57954ba9607SSascha Wildner.It Ic UE  Ta    0         Ta    current    Ta    none        Ta    GNU
58054ba9607SSascha Wildner.It Ic UR  Ta    1         Ta    current    Ta    part        Ta    GNU
58154ba9607SSascha Wildner.It Ic YS  Ta    0         Ta    none       Ta    none        Ta    GNU
58236342e81SSascha Wildner.El
58336342e81SSascha Wildner.Pp
58436342e81SSascha WildnerIf a block macro is next-line scoped, it may only be followed by in-line
58536342e81SSascha Wildnermacros for decorating text.
58636342e81SSascha Wildner.Ss Font handling
58736342e81SSascha WildnerIn
58836342e81SSascha Wildner.Nm
58936342e81SSascha Wildnerdocuments, both
59036342e81SSascha Wildner.Sx Physical markup
59136342e81SSascha Wildnermacros and
59236342e81SSascha Wildner.Xr roff 7
59336342e81SSascha Wildner.Ql \ef
59436342e81SSascha Wildnerfont escape sequences can be used to choose fonts.
59536342e81SSascha WildnerIn text lines, the effect of manual font selection by escape sequences
59636342e81SSascha Wildneronly lasts until the next macro invocation; in macro lines, it only lasts
59736342e81SSascha Wildneruntil the end of the macro scope.
59836342e81SSascha WildnerNote that macros like
59954ba9607SSascha Wildner.Ic BR
60036342e81SSascha Wildneropen and close a font scope for each argument.
60180387638SSascha Wildner.Sh SEE ALSO
60280387638SSascha Wildner.Xr man 1 ,
60380387638SSascha Wildner.Xr mandoc 1 ,
60460e1e752SSascha Wildner.Xr eqn 7 ,
60580387638SSascha Wildner.Xr mandoc_char 7 ,
60680387638SSascha Wildner.Xr mdoc 7 ,
60780387638SSascha Wildner.Xr roff 7 ,
60880387638SSascha Wildner.Xr tbl 7
60980387638SSascha Wildner.Sh HISTORY
61080387638SSascha WildnerThe
61180387638SSascha Wildner.Nm
61280387638SSascha Wildnerlanguage first appeared as a macro package for the roff typesetting
61380387638SSascha Wildnersystem in
61480387638SSascha Wildner.At v7 .
615*99db7d0eSSascha Wildner.Pp
61680387638SSascha WildnerThe stand-alone implementation that is part of the
61780387638SSascha Wildner.Xr mandoc 1
618*99db7d0eSSascha Wildnerutility first appeared in
61980387638SSascha Wildner.Ox 4.6 .
62080387638SSascha Wildner.Sh AUTHORS
621*99db7d0eSSascha Wildner.An -nosplit
622*99db7d0eSSascha Wildner.An Douglas McIlroy Aq Mt m.douglas.mcilroy@dartmouth.edu
623*99db7d0eSSascha Wildnerdesigned and implemented the original version of these macros,
624*99db7d0eSSascha Wildnerwrote the original version of this manual page,
625*99db7d0eSSascha Wildnerand was the first to use them when he edited volume 1 of the
626*99db7d0eSSascha Wildner.At v7
627*99db7d0eSSascha Wildnermanual pages.
628*99db7d0eSSascha Wildner.Pp
629*99db7d0eSSascha Wildner.An James Clark
630*99db7d0eSSascha Wildnerlater rewrote the macros for groff.
631*99db7d0eSSascha Wildner.An Eric S. Raymond Aq Mt esr@thyrsus.com
632*99db7d0eSSascha Wildnerand
633*99db7d0eSSascha Wildner.An Werner Lemberg Aq Mt wl@gnu.org
634*99db7d0eSSascha Wildneradded the extended
63580387638SSascha Wildner.Nm
636*99db7d0eSSascha Wildnermacros to groff in 2007.
637*99db7d0eSSascha Wildner.Pp
638*99db7d0eSSascha WildnerThe
639*99db7d0eSSascha Wildner.Xr mandoc 1
640*99db7d0eSSascha Wildnerprogram and this
641*99db7d0eSSascha Wildner.Nm
642*99db7d0eSSascha Wildnerreference were written by
643f88b6c16SFranco Fichtner.An Kristaps Dzonsons Aq Mt kristaps@bsd.lv .
644