xref: /openbsd-src/share/man/man7/man.7 (revision 7d481ed348ac9e46fc8cc7a23e555c74915a7198)
1*7d481ed3Sschwarze.\"	$OpenBSD: man.7,v 1.62 2023/10/23 22:57:51 schwarze Exp $
2b998c354Sschwarze.\"
3c8cf6358Sschwarze.\" Copyright (c) 2009, 2010, 2011, 2012 Kristaps Dzonsons <kristaps@bsd.lv>
4*7d481ed3Sschwarze.\" Copyright (c) 2011-2015,2017-2020,2023 Ingo Schwarze <schwarze@openbsd.org>
55e5a9c61Sschwarze.\" Copyright (c) 2017 Anthony Bentley <bentley@openbsd.org>
639c2a57eSschwarze.\" Copyright (c) 2010 Joerg Sonnenberger <joerg@netbsd.org>
7b998c354Sschwarze.\"
8b998c354Sschwarze.\" Permission to use, copy, modify, and distribute this software for any
9b998c354Sschwarze.\" purpose with or without fee is hereby granted, provided that the above
10b998c354Sschwarze.\" copyright notice and this permission notice appear in all copies.
11b998c354Sschwarze.\"
12b998c354Sschwarze.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
13b998c354Sschwarze.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
14b998c354Sschwarze.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
15b998c354Sschwarze.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
16b998c354Sschwarze.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
17b998c354Sschwarze.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
18b998c354Sschwarze.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
19b998c354Sschwarze.\"
20*7d481ed3Sschwarze.Dd $Mdocdate: October 23 2023 $
21b998c354Sschwarze.Dt MAN 7
22b998c354Sschwarze.Os
23b998c354Sschwarze.Sh NAME
24b998c354Sschwarze.Nm man
2542a588f7Sschwarze.Nd legacy formatting language for manual pages
26b998c354Sschwarze.Sh DESCRIPTION
279d585ce4SschwarzeThe
28b998c354Sschwarze.Nm man
299d585ce4Sschwarzelanguage was the standard formatting language for
309d585ce4Sschwarze.At
319d585ce4Sschwarzemanual pages from 1979 to 1989.
329d585ce4SschwarzeDo not use it to write new manual pages: it is a purely presentational
339d585ce4Sschwarzelanguage and lacks support for semantic markup.
34b998c354SschwarzeUse the
35b998c354Sschwarze.Xr mdoc 7
36b998c354Sschwarzelanguage, instead.
37b998c354Sschwarze.Pp
3842a588f7SschwarzeIn a
39b998c354Sschwarze.Nm
4042a588f7Sschwarzedocument, lines beginning with the control character
41b998c354Sschwarze.Sq \&.
4242a588f7Sschwarzeare called
4342a588f7Sschwarze.Dq macro lines .
4442a588f7SschwarzeThe first word is the macro name.
4542a588f7SschwarzeIt usually consists of two capital letters.
469d585ce4SschwarzeFor a list of portable macros, see
4742a588f7Sschwarze.Sx MACRO OVERVIEW .
4842a588f7SschwarzeThe words following the macro name are arguments to the macro.
4942a588f7Sschwarze.Pp
5042a588f7SschwarzeLines not beginning with the control character are called
5142a588f7Sschwarze.Dq text lines .
5242a588f7SschwarzeThey provide free-form text to be printed; the formatting of the text
5342a588f7Sschwarzedepends on the respective processing context:
54b998c354Sschwarze.Bd -literal -offset indent
55b998c354Sschwarze\&.SH Macro lines change control state.
566d10740dSschwarzeText lines are interpreted within the current state.
57b998c354Sschwarze.Ed
5842a588f7Sschwarze.Pp
5942a588f7SschwarzeMany aspects of the basic syntax of the
60b998c354Sschwarze.Nm
6142a588f7Sschwarzelanguage are based on the
6242a588f7Sschwarze.Xr roff 7
6342a588f7Sschwarzelanguage; see the
6442a588f7Sschwarze.Em LANGUAGE SYNTAX
656d10740dSschwarzeand
6642a588f7Sschwarze.Em MACRO SYNTAX
6742a588f7Sschwarzesections in the
6842a588f7Sschwarze.Xr roff 7
6942a588f7Sschwarzemanual for details, in particular regarding
7042a588f7Sschwarzecomments, escape sequences, whitespace, and quoting.
719d585ce4Sschwarze.Pp
72b998c354SschwarzeEach
73b998c354Sschwarze.Nm
749d585ce4Sschwarzedocument starts with the
750992050eSschwarze.Ic TH
769d585ce4Sschwarzemacro specifying the document's name and section, followed by the
779d585ce4Sschwarze.Sx NAME
789d585ce4Sschwarzesection formatted as follows:
79b998c354Sschwarze.Bd -literal -offset indent
809d585ce4Sschwarze\&.TH PROGNAME 1 1979-01-10
81b998c354Sschwarze\&.SH NAME
82be89e780Sschwarze\efBprogname\efR \e(en one line about what it does
83b998c354Sschwarze.Ed
8433ead51aSschwarze.Sh MACRO OVERVIEW
8533ead51aSschwarzeThis overview is sorted such that macros of similar purpose are listed
869d585ce4Sschwarzetogether.
879d585ce4SschwarzeDeprecated and non-portable macros are not included in the overview,
889d585ce4Sschwarzebut can be found in the alphabetical reference below.
8933ead51aSschwarze.Ss Page header and footer meta-data
909d585ce4Sschwarze.Bl -column "RS, RE" description
910992050eSschwarze.It Ic TH Ta set the title: Ar name section date Op Ar source Op Ar volume
920992050eSschwarze.It Ic AT Ta display AT&T UNIX version in the page footer (<= 1 argument)
930992050eSschwarze.It Ic UC Ta display BSD version in the page footer (<= 1 argument)
9433ead51aSschwarze.El
9533ead51aSschwarze.Ss Sections and paragraphs
969d585ce4Sschwarze.Bl -column "RS, RE" description
970992050eSschwarze.It Ic SH Ta section header (one line)
980992050eSschwarze.It Ic SS Ta subsection header (one line)
990992050eSschwarze.It Ic PP Ta start an undecorated paragraph (no arguments)
1000992050eSschwarze.It Ic IP Ta indented paragraph: Op Ar head Op Ar width
1010992050eSschwarze.It Ic TP Ta tagged paragraph: Op Ar width
1020992050eSschwarze.It Ic PD Ta set vertical paragraph distance: Op Ar height
103e822a21fSschwarze.It Ic EX , EE Ta display an example (no arguments)
104e822a21fSschwarze.It Ic RS , RE Ta reset the left margin: Op Ar width
1050992050eSschwarze.It Ic in Ta additional indent: Op Ar width
10633ead51aSschwarze.El
10733ead51aSschwarze.Ss Physical markup
1089d585ce4Sschwarze.Bl -column "RS, RE" description
1090992050eSschwarze.It Ic B Ta boldface font
1100992050eSschwarze.It Ic I Ta italic font
1110992050eSschwarze.It Ic SB Ta small boldface font
1120992050eSschwarze.It Ic SM Ta small roman font
1130992050eSschwarze.It Ic BI Ta alternate between boldface and italic fonts
1140992050eSschwarze.It Ic BR Ta alternate between boldface and roman fonts
1150992050eSschwarze.It Ic IB Ta alternate between italic and boldface fonts
1160992050eSschwarze.It Ic IR Ta alternate between italic and roman fonts
1170992050eSschwarze.It Ic RB Ta alternate between roman and boldface fonts
1180992050eSschwarze.It Ic RI Ta alternate between roman and italic fonts
11933ead51aSschwarze.El
12042a588f7Sschwarze.Sh MACRO REFERENCE
121b998c354SschwarzeThis section is a canonical reference to all macros, arranged
122b998c354Sschwarzealphabetically.
123b998c354SschwarzeFor the scoping of individual macros, see
124b998c354Sschwarze.Sx MACRO SYNTAX .
1250992050eSschwarze.Bl -tag -width 3n
1260992050eSschwarze.It Ic AT
127b998c354SschwarzeSets the volume for the footer for compatibility with man pages from
128afb92f6cSschwarze.At
129b998c354Sschwarzereleases.
130b998c354SschwarzeThe optional arguments specify which release it is from.
131a90ba16aSschwarzeThis macro is an extension that first appeared in
132a90ba16aSschwarze.Bx 4.3 .
1330992050eSschwarze.It Ic B
134b998c354SschwarzeText is rendered in bold face.
1350992050eSschwarze.It Ic BI
136b998c354SschwarzeText is rendered alternately in bold face and italic.
137b998c354SschwarzeThus,
138b998c354Sschwarze.Sq .BI this word and that
139b998c354Sschwarzecauses
140b998c354Sschwarze.Sq this
141b998c354Sschwarzeand
142b998c354Sschwarze.Sq and
143b998c354Sschwarzeto render in bold face, while
144b998c354Sschwarze.Sq word
145b998c354Sschwarzeand
146b998c354Sschwarze.Sq that
147b998c354Sschwarzerender in italics.
148b998c354SschwarzeWhitespace between arguments is omitted in output.
149b998c354Sschwarze.Pp
1509d585ce4SschwarzeExample:
151b998c354Sschwarze.Pp
1526c887334Sschwarze.Dl \&.BI bold italic bold italic
1530992050eSschwarze.It Ic BR
154b998c354SschwarzeText is rendered alternately in bold face and roman (the default font).
155b998c354SschwarzeWhitespace between arguments is omitted in output.
156b998c354SschwarzeSee also
1570992050eSschwarze.Ic BI .
1580992050eSschwarze.It Ic DT
1598ea764d3SschwarzeRestore the default tabulator positions.
1608ea764d3SschwarzeThey are at intervals of 0.5 inches.
1618ea764d3SschwarzeThis has no effect unless the tabulator positions were changed with the
1628ea764d3Sschwarze.Xr roff 7
1630992050eSschwarze.Ic ta
1648ea764d3Sschwarzerequest.
1650992050eSschwarze.It Ic EE
166e822a21fSschwarzeEnd an example block started with
167e822a21fSschwarze.Ic EX .
168e822a21fSschwarzeThis is a Version 9
169d70b8e3cSschwarze.At
170d70b8e3cSschwarzeextension later adopted by GNU.
1718d0fa220SschwarzeIn
1728d0fa220Sschwarze.Xr mandoc 1 ,
173327aba9dSschwarzeit does the same as the
174327aba9dSschwarze.Xr roff 7
1750992050eSschwarze.Ic fi
176327aba9dSschwarzerequest (switch to fill mode).
1770992050eSschwarze.It Ic EX
178e822a21fSschwarzeBegin a block to display an example.
179e822a21fSschwarzeThis is a Version 9
180d70b8e3cSschwarze.At
181d70b8e3cSschwarzeextension later adopted by GNU.
1828d0fa220SschwarzeIn
1838d0fa220Sschwarze.Xr mandoc 1 ,
184327aba9dSschwarzeit does the same as the
185327aba9dSschwarze.Xr roff 7
1860992050eSschwarze.Ic nf
187327aba9dSschwarzerequest (switch to no-fill mode).
1880992050eSschwarze.It Ic HP
189b998c354SschwarzeBegin a paragraph whose initial output line is left-justified, but
190b998c354Sschwarzesubsequent output lines are indented, with the following syntax:
1910992050eSschwarze.Pp
1920992050eSschwarze.D1 Pf . Ic HP Op Ar width
193b998c354Sschwarze.Pp
194b998c354SschwarzeThe
1956d4e5426Sschwarze.Ar width
196ced94a49Sschwarzeargument is a
197ced94a49Sschwarze.Xr roff 7
198ced94a49Sschwarzescaling width.
199fc1a5002SschwarzeIf specified, it's saved for later paragraph left margins;
200fc1a5002Sschwarzeif unspecified, the saved or default width is used.
201fc1a5002Sschwarze.Pp
202fc1a5002SschwarzeThis macro is portable, but deprecated
203fc1a5002Sschwarzebecause it has no good representation in HTML output,
204fc1a5002Sschwarzeusually ending up indistinguishable from
2050992050eSschwarze.Ic PP .
2060992050eSschwarze.It Ic I
207b998c354SschwarzeText is rendered in italics.
2080992050eSschwarze.It Ic IB
209fb438eb6SjmcText is rendered alternately in italics and bold face.
210fb438eb6SjmcWhitespace between arguments is omitted in output.
211b998c354SschwarzeSee also
2120992050eSschwarze.Ic BI .
2130992050eSschwarze.It Ic IP
214b998c354SschwarzeBegin an indented paragraph with the following syntax:
2150992050eSschwarze.Pp
2160992050eSschwarze.D1 Pf . Ic IP Op Ar head Op Ar width
217b998c354Sschwarze.Pp
218b998c354SschwarzeThe
2196d4e5426Sschwarze.Ar width
220ced94a49Sschwarzeargument is a
221ced94a49Sschwarze.Xr roff 7
222ced94a49Sschwarzescaling width defining the left margin.
223b998c354SschwarzeIt's saved for later paragraph left-margins; if unspecified, the saved or
224b998c354Sschwarzedefault width is used.
225b998c354Sschwarze.Pp
226b998c354SschwarzeThe
2276d4e5426Sschwarze.Ar head
228b998c354Sschwarzeargument is used as a leading term, flushed to the left margin.
229b998c354SschwarzeThis is useful for bulleted paragraphs and so on.
2300992050eSschwarze.It Ic IR
231b998c354SschwarzeText is rendered alternately in italics and roman (the default font).
232b998c354SschwarzeWhitespace between arguments is omitted in output.
233b998c354SschwarzeSee also
2340992050eSschwarze.Ic BI .
2350992050eSschwarze.It Ic LP
2369d585ce4SschwarzeA synonym for
2370992050eSschwarze.Ic PP .
2380992050eSschwarze.It Ic ME
2399d585ce4SschwarzeEnd a mailto block started with
2400992050eSschwarze.Ic MT .
241e822a21fSschwarzeThis is a GNU extension.
2420992050eSschwarze.It Ic MT
243df9a9479SbentleyBegin a mailto block.
244e822a21fSschwarzeThis is a GNU extension.
245df9a9479SbentleyIt has the following syntax:
2460992050eSschwarze.Bd -unfilled -offset indent
2470992050eSschwarze.Pf . Ic MT Ar address
248df9a9479Sbentleylink description to be shown
2490992050eSschwarze.Pf . Ic ME
250df9a9479Sbentley.Ed
2510992050eSschwarze.It Ic OP
25266ae7cc0SschwarzeOptional command-line argument.
253e822a21fSschwarzeThis is a rarely used DWB extension.
25466ae7cc0SschwarzeIt has the following syntax:
2550992050eSschwarze.Pp
2560992050eSschwarze.D1 Pf . Ic OP Ar key Op Ar value
25766ae7cc0Sschwarze.Pp
25866ae7cc0SschwarzeThe
2596d4e5426Sschwarze.Ar key
26066ae7cc0Sschwarzeis usually a command-line flag and
2616d4e5426Sschwarze.Ar value
26266ae7cc0Sschwarzeits argument.
2630992050eSschwarze.It Ic P
264a90ba16aSschwarzeThis synonym for
265a90ba16aSschwarze.Ic PP
266a90ba16aSschwarzeis an
267a90ba16aSschwarze.At III
268a90ba16aSschwarzeextension later adopted by
269a90ba16aSschwarze.Bx 4.3 .
2700992050eSschwarze.It Ic PD
271c8cf6358SschwarzeSpecify the vertical space to be inserted before each new paragraph.
272c8cf6358Sschwarze.br
273c8cf6358SschwarzeThe syntax is as follows:
2740992050eSschwarze.Pp
2750992050eSschwarze.D1 Pf . Ic PD Op Ar height
276c8cf6358Sschwarze.Pp
277c8cf6358SschwarzeThe
2786d4e5426Sschwarze.Ar height
279c8cf6358Sschwarzeargument is a
280c8cf6358Sschwarze.Xr roff 7
281c8cf6358Sschwarzescaling width.
282c8cf6358SschwarzeIt defaults to
283c8cf6358Sschwarze.Cm 1v .
284c8cf6358SschwarzeIf the unit is omitted,
285c8cf6358Sschwarze.Cm v
286c8cf6358Sschwarzeis assumed.
287c8cf6358Sschwarze.Pp
288c8cf6358SschwarzeThis macro affects the spacing before any subsequent instances of
2890992050eSschwarze.Ic HP ,
2900992050eSschwarze.Ic IP ,
2910992050eSschwarze.Ic LP ,
2920992050eSschwarze.Ic P ,
2930992050eSschwarze.Ic PP ,
2940992050eSschwarze.Ic SH ,
2950992050eSschwarze.Ic SS ,
2960992050eSschwarze.Ic SY ,
297c8cf6358Sschwarzeand
2980992050eSschwarze.Ic TP .
2990992050eSschwarze.It Ic PP
3009d585ce4SschwarzeBegin an undecorated paragraph.
3019d585ce4SschwarzeThe scope of a paragraph is closed by a subsequent paragraph,
3029d585ce4Sschwarzesub-section, section, or end of file.
3039d585ce4SschwarzeThe saved paragraph left-margin width is reset to the default.
3040992050eSschwarze.It Ic RB
305b998c354SschwarzeText is rendered alternately in roman (the default font) and bold face.
306b998c354SschwarzeWhitespace between arguments is omitted in output.
307b998c354SschwarzeSee also
3080992050eSschwarze.Ic BI .
3090992050eSschwarze.It Ic RE
310b998c354SschwarzeExplicitly close out the scope of a prior
3110992050eSschwarze.Ic RS .
31204d44d89SschwarzeThe default left margin is restored to the state before that
3130992050eSschwarze.Ic RS
314f2c465bcSschwarzeinvocation.
31504d44d89Sschwarze.Pp
31604d44d89SschwarzeThe syntax is as follows:
3170992050eSschwarze.Pp
3180992050eSschwarze.D1 Pf . Ic RE Op Ar level
31904d44d89Sschwarze.Pp
32004d44d89SschwarzeWithout an argument, the most recent
3210992050eSschwarze.Ic RS
32204d44d89Sschwarzeblock is closed out.
32304d44d89SschwarzeIf
32404d44d89Sschwarze.Ar level
32504d44d89Sschwarzeis 1, all open
3260992050eSschwarze.Ic RS
32704d44d89Sschwarzeblocks are closed out.
32804d44d89SschwarzeOtherwise,
32904d44d89Sschwarze.Ar level No \(mi 1
33004d44d89Sschwarzenested
3310992050eSschwarze.Ic RS
33204d44d89Sschwarzeblocks remain open.
3330992050eSschwarze.It Ic RI
334b998c354SschwarzeText is rendered alternately in roman (the default font) and italics.
335b998c354SschwarzeWhitespace between arguments is omitted in output.
336b998c354SschwarzeSee also
3370992050eSschwarze.Ic BI .
3380992050eSschwarze.It Ic RS
339f2c465bcSschwarzeTemporarily reset the default left margin.
340b998c354SschwarzeThis has the following syntax:
3410992050eSschwarze.Pp
3420992050eSschwarze.D1 Pf . Ic RS Op Ar width
343b998c354Sschwarze.Pp
344b998c354SschwarzeThe
3456d4e5426Sschwarze.Ar width
346ced94a49Sschwarzeargument is a
347ced94a49Sschwarze.Xr roff 7
348ced94a49Sschwarzescaling width.
349b998c354SschwarzeIf not specified, the saved or default width is used.
350f2c465bcSschwarze.Pp
351f2c465bcSschwarzeSee also
3520992050eSschwarze.Ic RE .
3530992050eSschwarze.It Ic SB
354b998c354SschwarzeText is rendered in small size (one point smaller than the default font)
355b998c354Sschwarzebold face.
356a90ba16aSschwarzeThis macro is an extension that probably first appeared in SunOS 4.0
357a90ba16aSschwarzeand was later adopted by GNU and by
358a90ba16aSschwarze.Bx 4.4 .
3590992050eSschwarze.It Ic SH
360b998c354SschwarzeBegin a section.
361b998c354SschwarzeThe scope of a section is only closed by another section or the end of
362b998c354Sschwarzefile.
363a778b769SschwarzeThe paragraph left-margin width is reset to the default.
3640992050eSschwarze.It Ic SM
365b998c354SschwarzeText is rendered in small size (one point smaller than the default
366b998c354Sschwarzefont).
3670992050eSschwarze.It Ic SS
368b998c354SschwarzeBegin a sub-section.
369b998c354SschwarzeThe scope of a sub-section is closed by a subsequent sub-section,
370b998c354Sschwarzesection, or end of file.
371a778b769SschwarzeThe paragraph left-margin width is reset to the default.
3720992050eSschwarze.It Ic SY
3735e5a9c61SschwarzeBegin a synopsis block with the following syntax:
3745e5a9c61Sschwarze.Bd -unfilled -offset indent
3750992050eSschwarze.Pf . Ic SY Ar command
3765e5a9c61Sschwarze.Ar arguments
3770992050eSschwarze.Pf . Ic YS
3785e5a9c61Sschwarze.Ed
3795e5a9c61Sschwarze.Pp
380e822a21fSschwarzeThis is a GNU extension and rarely used even in GNU manual pages.
3815e5a9c61SschwarzeFormatting is similar to
3820992050eSschwarze.Ic IP .
3830992050eSschwarze.It Ic TH
3849d585ce4SschwarzeSet the name of the manual page for use in the page header
38556d99a3fSschwarzeand footer with the following syntax:
3860992050eSschwarze.Pp
3870992050eSschwarze.D1 Pf . Ic TH Ar name section date Op Ar source Op Ar volume
388b998c354Sschwarze.Pp
389b058e777SschwarzeConventionally, the document
3909d585ce4Sschwarze.Ar name
391b058e777Sschwarzeis given in all caps.
392fc1a5002SschwarzeThe
393fc1a5002Sschwarze.Ar section
394fc1a5002Sschwarzeis usually a single digit, in a few cases followed by a letter.
395b058e777SschwarzeThe recommended
396b058e777Sschwarze.Ar date
397b058e777Sschwarzeformat is
398b058e777Sschwarze.Sy YYYY-MM-DD
399b058e777Sschwarzeas specified in the ISO-8601 standard;
400b058e777Sschwarzeif the argument does not conform, it is printed verbatim.
401b058e777SschwarzeIf the
402b058e777Sschwarze.Ar date
403b058e777Sschwarzeis empty or not specified, the current date is used.
404b058e777SschwarzeThe optional
405b058e777Sschwarze.Ar source
406b998c354Sschwarzestring specifies the organisation providing the utility.
40756d99a3fSschwarzeWhen unspecified,
40856d99a3fSschwarze.Xr mandoc 1
40956d99a3fSschwarzeuses its
41056d99a3fSschwarze.Fl Ios
41156d99a3fSschwarzeargument.
412b998c354SschwarzeThe
413b058e777Sschwarze.Ar volume
414fc1a5002Sschwarzestring replaces the default volume title of the
415fc1a5002Sschwarze.Ar section .
416b998c354Sschwarze.Pp
417b998c354SschwarzeExamples:
418b998c354Sschwarze.Pp
4196c887334Sschwarze.Dl \&.TH CVS 5 "1992-02-12" GNU
4200992050eSschwarze.It Ic TP
421b998c354SschwarzeBegin a paragraph where the head, if exceeding the indentation width, is
422fc1a5002Sschwarzefollowed by a newline; if not, the body follows on the same line after
423fc1a5002Sschwarzeadvancing to the indentation width.
424b998c354SschwarzeSubsequent output lines are indented.
425b998c354SschwarzeThe syntax is as follows:
426fc1a5002Sschwarze.Bd -unfilled -offset indent
4270992050eSschwarze.Pf . Ic TP Op Ar width
428fc1a5002Sschwarze.Ar head No \e" one line
429fc1a5002Sschwarze.Ar body
430b998c354Sschwarze.Ed
431b998c354Sschwarze.Pp
432b998c354SschwarzeThe
4336d4e5426Sschwarze.Ar width
434ced94a49Sschwarzeargument is a
435ced94a49Sschwarze.Xr roff 7
436ced94a49Sschwarzescaling width.
437b998c354SschwarzeIf specified, it's saved for later paragraph left-margins; if
438b998c354Sschwarzeunspecified, the saved or default width is used.
4390992050eSschwarze.It Ic TQ
440d991fc2cSschwarzeLike
4410992050eSschwarze.Ic TP ,
442d991fc2cSschwarzeexcept that no vertical spacing is inserted before the paragraph.
443*7d481ed3SschwarzeThis is a GNU extension.
4440992050eSschwarze.It Ic UC
445b998c354SschwarzeSets the volume for the footer for compatibility with man pages from
446720a7a94Sjmc.Bx
447720a7a94Sjmcreleases.
448b998c354SschwarzeThe optional first argument specifies which release it is from.
449a90ba16aSschwarzeThis macro is an extension that first appeared in
450a90ba16aSschwarze.Bx 3 .
4510992050eSschwarze.It Ic UE
4529d585ce4SschwarzeEnd a uniform resource identifier block started with
4530992050eSschwarze.Ic UR .
454e822a21fSschwarzeThis is a GNU extension.
4550992050eSschwarze.It Ic UR
456aa2f4ce7SschwarzeBegin a uniform resource identifier block.
457e822a21fSschwarzeThis is a GNU extension.
458aa2f4ce7SschwarzeIt has the following syntax:
4590992050eSschwarze.Bd -unfilled -offset indent
4600992050eSschwarze.Pf . Ic UR Ar uri
461aa2f4ce7Sschwarzelink description to be shown
4620992050eSschwarze.Pf . Ic UE
46328ef2290Sschwarze.Ed
4640992050eSschwarze.It Ic YS
4659d585ce4SschwarzeEnd a synopsis block started with
4660992050eSschwarze.Ic SY .
467e822a21fSschwarzeThis is a GNU extension.
4680992050eSschwarze.It Ic in
469f7482c13SschwarzeIndent relative to the current indentation:
470f7482c13Sschwarze.Pp
4710992050eSschwarze.D1 Pf . Ic in Op Ar width
472f7482c13Sschwarze.Pp
473f7482c13SschwarzeIf
4746d4e5426Sschwarze.Ar width
475f7482c13Sschwarzeis signed, the new offset is relative.
476f7482c13SschwarzeOtherwise, it is absolute.
477f7482c13SschwarzeThis value is reset upon the next paragraph, section, or sub-section.
4780992050eSschwarze.El
47942a588f7Sschwarze.Sh MACRO SYNTAX
48042a588f7SschwarzeThe
48142a588f7Sschwarze.Nm
48242a588f7Sschwarzemacros are classified by scope: line scope or block scope.
48342a588f7SschwarzeLine macros are only scoped to the current line (and, in some
48442a588f7Sschwarzesituations, the subsequent line).
48542a588f7SschwarzeBlock macros are scoped to the current line and subsequent lines until
48642a588f7Sschwarzeclosed by another block macro.
48742a588f7Sschwarze.Ss Line Macros
48842a588f7SschwarzeLine macros are generally scoped to the current line, with the body
48942a588f7Sschwarzeconsisting of zero or more arguments.
49042a588f7SschwarzeIf a macro is scoped to the next line and the line arguments are empty,
49142a588f7Sschwarzethe next line, which must be text, is used instead.
49242a588f7SschwarzeThus:
49342a588f7Sschwarze.Bd -literal -offset indent
49442a588f7Sschwarze\&.I
49542a588f7Sschwarzefoo
49642a588f7Sschwarze.Ed
49742a588f7Sschwarze.Pp
49842a588f7Sschwarzeis equivalent to
4990992050eSschwarze.Sq .I foo .
50042a588f7SschwarzeIf next-line macros are invoked consecutively, only the last is used.
50142a588f7SschwarzeIf a next-line macro is followed by a non-next-line macro, an error is
502ce691df8Sschwarzeraised.
50342a588f7Sschwarze.Pp
50442a588f7SschwarzeThe syntax is as follows:
50542a588f7Sschwarze.Bd -literal -offset indent
50642a588f7Sschwarze\&.YO \(lBbody...\(rB
50742a588f7Sschwarze\(lBbody...\(rB
50842a588f7Sschwarze.Ed
50942a588f7Sschwarze.Bl -column "MacroX" "ArgumentsX" "ScopeXXXXX" "CompatX" -offset indent
51042a588f7Sschwarze.It Em Macro Ta Em Arguments Ta Em Scope     Ta Em Notes
5110992050eSschwarze.It Ic AT  Ta    <=1       Ta    current   Ta    \&
5120992050eSschwarze.It Ic B   Ta    n         Ta    next-line Ta    \&
5130992050eSschwarze.It Ic BI  Ta    n         Ta    current   Ta    \&
5140992050eSschwarze.It Ic BR  Ta    n         Ta    current   Ta    \&
5150992050eSschwarze.It Ic DT  Ta    0         Ta    current   Ta    \&
516d70b8e3cSschwarze.It Ic EE  Ta    0         Ta    current   Ta    Version 9 At
517d70b8e3cSschwarze.It Ic EX  Ta    0         Ta    current   Ta    Version 9 At
5180992050eSschwarze.It Ic I   Ta    n         Ta    next-line Ta    \&
5190992050eSschwarze.It Ic IB  Ta    n         Ta    current   Ta    \&
5200992050eSschwarze.It Ic IR  Ta    n         Ta    current   Ta    \&
521fd444336Sschwarze.It Ic OP  Ta    >=1       Ta    current   Ta    DWB
5220992050eSschwarze.It Ic PD  Ta    1         Ta    current   Ta    \&
5230992050eSschwarze.It Ic RB  Ta    n         Ta    current   Ta    \&
5240992050eSschwarze.It Ic RI  Ta    n         Ta    current   Ta    \&
5250992050eSschwarze.It Ic SB  Ta    n         Ta    next-line Ta    \&
5260992050eSschwarze.It Ic SM  Ta    n         Ta    next-line Ta    \&
5270992050eSschwarze.It Ic TH  Ta    >1, <6    Ta    current   Ta    \&
5280992050eSschwarze.It Ic UC  Ta    <=1       Ta    current   Ta    \&
5290992050eSschwarze.It Ic in  Ta    1         Ta    current   Ta    Xr roff 7
53042a588f7Sschwarze.El
53142a588f7Sschwarze.Ss Block Macros
53242a588f7SschwarzeBlock macros comprise a head and body.
53342a588f7SschwarzeAs with in-line macros, the head is scoped to the current line and, in
53442a588f7Sschwarzeone circumstance, the next line (the next-line stipulations as in
53542a588f7Sschwarze.Sx Line Macros
53642a588f7Sschwarzeapply here as well).
53742a588f7Sschwarze.Pp
53842a588f7SschwarzeThe syntax is as follows:
53942a588f7Sschwarze.Bd -literal -offset indent
54042a588f7Sschwarze\&.YO \(lBhead...\(rB
54142a588f7Sschwarze\(lBhead...\(rB
54242a588f7Sschwarze\(lBbody...\(rB
54342a588f7Sschwarze.Ed
54442a588f7Sschwarze.Pp
54542a588f7SschwarzeThe closure of body scope may be to the section, where a macro is closed
54642a588f7Sschwarzeby
5470992050eSschwarze.Ic SH ;
54842a588f7Sschwarzesub-section, closed by a section or
5490992050eSschwarze.Ic SS ;
5509d585ce4Sschwarzeor paragraph, closed by a section, sub-section,
5510992050eSschwarze.Ic HP ,
5520992050eSschwarze.Ic IP ,
5530992050eSschwarze.Ic LP ,
5540992050eSschwarze.Ic P ,
5550992050eSschwarze.Ic PP ,
5560992050eSschwarze.Ic RE ,
5570992050eSschwarze.Ic SY ,
55842a588f7Sschwarzeor
5590992050eSschwarze.Ic TP .
56042a588f7SschwarzeNo closure refers to an explicit block closing macro.
56142a588f7Sschwarze.Pp
56242a588f7SschwarzeAs a rule, block macros may not be nested; thus, calling a block macro
56342a588f7Sschwarzewhile another block macro scope is open, and the open scope is not
56442a588f7Sschwarzeimplicitly closed, is syntactically incorrect.
56542a588f7Sschwarze.Bl -column "MacroX" "ArgumentsX" "Head ScopeX" "sub-sectionX" "compatX" -offset indent
56642a588f7Sschwarze.It Em Macro Ta Em Arguments Ta Em Head Scope Ta Em Body Scope  Ta Em Notes
5670992050eSschwarze.It Ic HP  Ta    <2        Ta    current    Ta    paragraph   Ta    \&
5680992050eSschwarze.It Ic IP  Ta    <3        Ta    current    Ta    paragraph   Ta    \&
5690992050eSschwarze.It Ic LP  Ta    0         Ta    current    Ta    paragraph   Ta    \&
5700992050eSschwarze.It Ic ME  Ta    0         Ta    none       Ta    none        Ta    GNU
5710992050eSschwarze.It Ic MT  Ta    1         Ta    current    Ta    to \&ME     Ta    GNU
5720992050eSschwarze.It Ic P   Ta    0         Ta    current    Ta    paragraph   Ta    \&
5730992050eSschwarze.It Ic PP  Ta    0         Ta    current    Ta    paragraph   Ta    \&
5740992050eSschwarze.It Ic RE  Ta    <=1       Ta    current    Ta    none        Ta    \&
5750992050eSschwarze.It Ic RS  Ta    1         Ta    current    Ta    to \&RE     Ta    \&
5760992050eSschwarze.It Ic SH  Ta    >0        Ta    next-line  Ta    section     Ta    \&
5770992050eSschwarze.It Ic SS  Ta    >0        Ta    next-line  Ta    sub-section Ta    \&
5780992050eSschwarze.It Ic SY  Ta    1         Ta    current    Ta    to \&YS     Ta    GNU
5790992050eSschwarze.It Ic TP  Ta    n         Ta    next-line  Ta    paragraph   Ta    \&
5800992050eSschwarze.It Ic TQ  Ta    n         Ta    next-line  Ta    paragraph   Ta    GNU
5810992050eSschwarze.It Ic UE  Ta    0         Ta    current    Ta    none        Ta    GNU
5820992050eSschwarze.It Ic UR  Ta    1         Ta    current    Ta    part        Ta    GNU
5830992050eSschwarze.It Ic YS  Ta    0         Ta    none       Ta    none        Ta    GNU
58442a588f7Sschwarze.El
58542a588f7Sschwarze.Pp
58642a588f7SschwarzeIf a block macro is next-line scoped, it may only be followed by in-line
58742a588f7Sschwarzemacros for decorating text.
58842a588f7Sschwarze.Ss Font handling
58942a588f7SschwarzeIn
59042a588f7Sschwarze.Nm
59142a588f7Sschwarzedocuments, both
59242a588f7Sschwarze.Sx Physical markup
59342a588f7Sschwarzemacros and
59442a588f7Sschwarze.Xr roff 7
59542a588f7Sschwarze.Ql \ef
59642a588f7Sschwarzefont escape sequences can be used to choose fonts.
59742a588f7SschwarzeIn text lines, the effect of manual font selection by escape sequences
59842a588f7Sschwarzeonly lasts until the next macro invocation; in macro lines, it only lasts
59942a588f7Sschwarzeuntil the end of the macro scope.
60042a588f7SschwarzeNote that macros like
6010992050eSschwarze.Ic BR
60242a588f7Sschwarzeopen and close a font scope for each argument.
603b998c354Sschwarze.Sh SEE ALSO
60467259fb4Sschwarze.Xr man 1 ,
605b998c354Sschwarze.Xr mandoc 1 ,
6066d10740dSschwarze.Xr eqn 7 ,
60767259fb4Sschwarze.Xr mandoc_char 7 ,
6082683b1e5Sschwarze.Xr mdoc 7 ,
6092683b1e5Sschwarze.Xr roff 7 ,
6102683b1e5Sschwarze.Xr tbl 7
611a778b769Sschwarze.Sh HISTORY
612b998c354SschwarzeThe
613b998c354Sschwarze.Nm
614a778b769Sschwarzelanguage first appeared as a macro package for the roff typesetting
615a778b769Sschwarzesystem in
616a778b769Sschwarze.At v7 .
617f2a7ab29Sschwarze.Pp
618f2a7ab29SschwarzeThe stand-alone implementation that is part of the
619f2a7ab29Sschwarze.Xr mandoc 1
620f2a7ab29Sschwarzeutility first appeared in
621f2a7ab29Sschwarze.Ox 4.6 .
622f2a7ab29Sschwarze.Sh AUTHORS
623f2a7ab29Sschwarze.An -nosplit
624f2a7ab29Sschwarze.An Douglas McIlroy Aq Mt m.douglas.mcilroy@dartmouth.edu
625f2a7ab29Sschwarzedesigned and implemented the original version of these macros,
626f2a7ab29Sschwarzewrote the original version of this manual page,
627f2a7ab29Sschwarzeand was the first to use them when he edited volume 1 of the
628f2a7ab29Sschwarze.At v7
629f2a7ab29Sschwarzemanual pages.
630f2a7ab29Sschwarze.Pp
631c18b40cbSschwarze.An James Clark
632f2a7ab29Sschwarzelater rewrote the macros for groff.
633c18b40cbSschwarze.An Eric S. Raymond Aq Mt esr@thyrsus.com
634c18b40cbSschwarzeand
635c18b40cbSschwarze.An Werner Lemberg Aq Mt wl@gnu.org
636f2a7ab29Sschwarzeadded the extended
63766ae7cc0Sschwarze.Nm
638f2a7ab29Sschwarzemacros to groff in 2007.
639f2a7ab29Sschwarze.Pp
640f2a7ab29SschwarzeThe
641a778b769Sschwarze.Xr mandoc 1
642f2a7ab29Sschwarzeprogram and this
643a778b769Sschwarze.Nm
644f2a7ab29Sschwarzereference were written by
645866a81f2Sschwarze.An Kristaps Dzonsons Aq Mt kristaps@bsd.lv .
646