xref: /dragonfly/contrib/mdocml/mdoc.7 (revision 99db7d0e)
1*99db7d0eSSascha Wildner.\"	$Id: mdoc.7,v 1.287 2021/07/29 17:32:01 schwarze Exp $
280387638SSascha Wildner.\"
360e1e752SSascha Wildner.\" Copyright (c) 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
4*99db7d0eSSascha Wildner.\" Copyright (c) 2010, 2011, 2013-2020 Ingo Schwarze <schwarze@openbsd.org>
580387638SSascha Wildner.\"
680387638SSascha Wildner.\" Permission to use, copy, modify, and distribute this software for any
780387638SSascha Wildner.\" purpose with or without fee is hereby granted, provided that the above
880387638SSascha Wildner.\" copyright notice and this permission notice appear in all copies.
980387638SSascha Wildner.\"
1080387638SSascha Wildner.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
1180387638SSascha Wildner.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
1280387638SSascha Wildner.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
1380387638SSascha Wildner.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
1480387638SSascha Wildner.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
1580387638SSascha Wildner.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
1680387638SSascha Wildner.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1780387638SSascha Wildner.\"
18*99db7d0eSSascha Wildner.Dd $Mdocdate: July 29 2021 $
1980387638SSascha Wildner.Dt MDOC 7
2080387638SSascha Wildner.Os
2180387638SSascha Wildner.Sh NAME
2280387638SSascha Wildner.Nm mdoc
2336342e81SSascha Wildner.Nd semantic markup language for formatting manual pages
2480387638SSascha Wildner.Sh DESCRIPTION
2580387638SSascha WildnerThe
2680387638SSascha Wildner.Nm mdoc
2736342e81SSascha Wildnerlanguage supports authoring of manual pages for the
2836342e81SSascha Wildner.Xr man 1
2936342e81SSascha Wildnerutility by allowing semantic annotations of words, phrases,
3036342e81SSascha Wildnerpage sections and complete manual pages.
3136342e81SSascha WildnerSuch annotations are used by formatting tools to achieve a uniform
3236342e81SSascha Wildnerpresentation across all manuals written in
3336342e81SSascha Wildner.Nm ,
3436342e81SSascha Wildnerand to support hyperlinking if supported by the output medium.
3536342e81SSascha Wildner.Pp
3636342e81SSascha WildnerThis reference document describes the structure of manual pages
3736342e81SSascha Wildnerand the syntax and usage of the
3836342e81SSascha Wildner.Nm
3936342e81SSascha Wildnerlanguage.
4036342e81SSascha WildnerThe reference implementation of a parsing and formatting tool is
4180387638SSascha Wildner.Xr mandoc 1 ;
4280387638SSascha Wildnerthe
4380387638SSascha Wildner.Sx COMPATIBILITY
4436342e81SSascha Wildnersection describes compatibility with other implementations.
4580387638SSascha Wildner.Pp
4636342e81SSascha WildnerIn an
4780387638SSascha Wildner.Nm
4836342e81SSascha Wildnerdocument, lines beginning with the control character
49a4c7eb57SSascha Wildner.Sq \&.
5036342e81SSascha Wildnerare called
5136342e81SSascha Wildner.Dq macro lines .
5236342e81SSascha WildnerThe first word is the macro name.
5336342e81SSascha WildnerIt consists of two or three letters.
5436342e81SSascha WildnerMost macro names begin with a capital letter.
5536342e81SSascha WildnerFor a list of available macros, see
5636342e81SSascha Wildner.Sx MACRO OVERVIEW .
5736342e81SSascha WildnerThe words following the macro name are arguments to the macro, optionally
5836342e81SSascha Wildnerincluding the names of other, callable macros; see
5936342e81SSascha Wildner.Sx MACRO SYNTAX
6036342e81SSascha Wildnerfor details.
6136342e81SSascha Wildner.Pp
6236342e81SSascha WildnerLines not beginning with the control character are called
6336342e81SSascha Wildner.Dq text lines .
6436342e81SSascha WildnerThey provide free-form text to be printed; the formatting of the text
6536342e81SSascha Wildnerdepends on the respective processing context:
6680387638SSascha Wildner.Bd -literal -offset indent
6780387638SSascha Wildner\&.Sh Macro lines change control state.
68a4c7eb57SSascha WildnerText lines are interpreted within the current state.
6980387638SSascha Wildner.Ed
7036342e81SSascha Wildner.Pp
7136342e81SSascha WildnerMany aspects of the basic syntax of the
7280387638SSascha Wildner.Nm
7336342e81SSascha Wildnerlanguage are based on the
7436342e81SSascha Wildner.Xr roff 7
7536342e81SSascha Wildnerlanguage; see the
7636342e81SSascha Wildner.Em LANGUAGE SYNTAX
7780387638SSascha Wildnerand
7836342e81SSascha Wildner.Em MACRO SYNTAX
7936342e81SSascha Wildnersections in the
8036342e81SSascha Wildner.Xr roff 7
8136342e81SSascha Wildnermanual for details, in particular regarding
8236342e81SSascha Wildnercomments, escape sequences, whitespace, and quoting.
8336342e81SSascha WildnerHowever, using
8436342e81SSascha Wildner.Xr roff 7
8536342e81SSascha Wildnerrequests in
8636342e81SSascha Wildner.Nm
8736342e81SSascha Wildnerdocuments is discouraged;
8836342e81SSascha Wildner.Xr mandoc 1
8936342e81SSascha Wildnersupports some of them merely for backward compatibility.
9080387638SSascha Wildner.Sh MANUAL STRUCTURE
9180387638SSascha WildnerA well-formed
9280387638SSascha Wildner.Nm
9380387638SSascha Wildnerdocument consists of a document prologue followed by one or more
9480387638SSascha Wildnersections.
9580387638SSascha Wildner.Pp
9680387638SSascha WildnerThe prologue, which consists of the
9754ba9607SSascha Wildner.Ic \&Dd ,
9854ba9607SSascha Wildner.Ic \&Dt ,
9980387638SSascha Wildnerand
10054ba9607SSascha Wildner.Ic \&Os
10180387638SSascha Wildnermacros in that order, is required for every document.
10280387638SSascha Wildner.Pp
10380387638SSascha WildnerThe first section (sections are denoted by
10454ba9607SSascha Wildner.Ic \&Sh )
10580387638SSascha Wildnermust be the NAME section, consisting of at least one
10654ba9607SSascha Wildner.Ic \&Nm
10780387638SSascha Wildnerfollowed by
10854ba9607SSascha Wildner.Ic \&Nd .
10980387638SSascha Wildner.Pp
11080387638SSascha WildnerFollowing that, convention dictates specifying at least the
11180387638SSascha Wildner.Em SYNOPSIS
11280387638SSascha Wildnerand
11380387638SSascha Wildner.Em DESCRIPTION
11480387638SSascha Wildnersections, although this varies between manual sections.
11580387638SSascha Wildner.Pp
11680387638SSascha WildnerThe following is a well-formed skeleton
11780387638SSascha Wildner.Nm
118a4c7eb57SSascha Wildnerfile for a utility
119a4c7eb57SSascha Wildner.Qq progname :
12080387638SSascha Wildner.Bd -literal -offset indent
12180387638SSascha Wildner\&.Dd $\&Mdocdate$
122a4c7eb57SSascha Wildner\&.Dt PROGNAME section
12380387638SSascha Wildner\&.Os
12480387638SSascha Wildner\&.Sh NAME
125a4c7eb57SSascha Wildner\&.Nm progname
12636342e81SSascha Wildner\&.Nd one line about what it does
12736342e81SSascha Wildner\&.\e\(dq .Sh LIBRARY
128070c62a6SFranco Fichtner\&.\e\(dq For sections 2, 3, and 9 only.
12936342e81SSascha Wildner\&.\e\(dq Not used in OpenBSD.
13080387638SSascha Wildner\&.Sh SYNOPSIS
131a4c7eb57SSascha Wildner\&.Nm progname
13280387638SSascha Wildner\&.Op Fl options
13380387638SSascha Wildner\&.Ar
13480387638SSascha Wildner\&.Sh DESCRIPTION
13580387638SSascha WildnerThe
13680387638SSascha Wildner\&.Nm
13780387638SSascha Wildnerutility processes files ...
138070c62a6SFranco Fichtner\&.\e\(dq .Sh CONTEXT
139070c62a6SFranco Fichtner\&.\e\(dq For section 9 functions only.
14036342e81SSascha Wildner\&.\e\(dq .Sh IMPLEMENTATION NOTES
14136342e81SSascha Wildner\&.\e\(dq Not used in OpenBSD.
14236342e81SSascha Wildner\&.\e\(dq .Sh RETURN VALUES
143070c62a6SFranco Fichtner\&.\e\(dq For sections 2, 3, and 9 function return values only.
14436342e81SSascha Wildner\&.\e\(dq .Sh ENVIRONMENT
145070c62a6SFranco Fichtner\&.\e\(dq For sections 1, 6, 7, and 8 only.
14636342e81SSascha Wildner\&.\e\(dq .Sh FILES
14736342e81SSascha Wildner\&.\e\(dq .Sh EXIT STATUS
148070c62a6SFranco Fichtner\&.\e\(dq For sections 1, 6, and 8 only.
14936342e81SSascha Wildner\&.\e\(dq .Sh EXAMPLES
15036342e81SSascha Wildner\&.\e\(dq .Sh DIAGNOSTICS
151070c62a6SFranco Fichtner\&.\e\(dq For sections 1, 4, 6, 7, 8, and 9 printf/stderr messages only.
15236342e81SSascha Wildner\&.\e\(dq .Sh ERRORS
153070c62a6SFranco Fichtner\&.\e\(dq For sections 2, 3, 4, and 9 errno settings only.
15436342e81SSascha Wildner\&.\e\(dq .Sh SEE ALSO
15536342e81SSascha Wildner\&.\e\(dq .Xr foobar 1
15636342e81SSascha Wildner\&.\e\(dq .Sh STANDARDS
15736342e81SSascha Wildner\&.\e\(dq .Sh HISTORY
15836342e81SSascha Wildner\&.\e\(dq .Sh AUTHORS
15936342e81SSascha Wildner\&.\e\(dq .Sh CAVEATS
16036342e81SSascha Wildner\&.\e\(dq .Sh BUGS
16136342e81SSascha Wildner\&.\e\(dq .Sh SECURITY CONSIDERATIONS
16236342e81SSascha Wildner\&.\e\(dq Not used in OpenBSD.
16380387638SSascha Wildner.Ed
16480387638SSascha Wildner.Pp
16580387638SSascha WildnerThe sections in an
16680387638SSascha Wildner.Nm
16780387638SSascha Wildnerdocument are conventionally ordered as they appear above.
16880387638SSascha WildnerSections should be composed as follows:
16980387638SSascha Wildner.Bl -ohang -offset Ds
17080387638SSascha Wildner.It Em NAME
17180387638SSascha WildnerThe name(s) and a one line description of the documented material.
17280387638SSascha WildnerThe syntax for this as follows:
17380387638SSascha Wildner.Bd -literal -offset indent
17480387638SSascha Wildner\&.Nm name0 ,
17580387638SSascha Wildner\&.Nm name1 ,
17680387638SSascha Wildner\&.Nm name2
17780387638SSascha Wildner\&.Nd a one line description
17880387638SSascha Wildner.Ed
17980387638SSascha Wildner.Pp
180a4c7eb57SSascha WildnerMultiple
181a4c7eb57SSascha Wildner.Sq \&Nm
182a4c7eb57SSascha Wildnernames should be separated by commas.
183a4c7eb57SSascha Wildner.Pp
18480387638SSascha WildnerThe
18554ba9607SSascha Wildner.Ic \&Nm
18680387638SSascha Wildnermacro(s) must precede the
18754ba9607SSascha Wildner.Ic \&Nd
18880387638SSascha Wildnermacro.
18980387638SSascha Wildner.Pp
19080387638SSascha WildnerSee
19154ba9607SSascha Wildner.Ic \&Nm
19280387638SSascha Wildnerand
19354ba9607SSascha Wildner.Ic \&Nd .
19480387638SSascha Wildner.It Em LIBRARY
19580387638SSascha WildnerThe name of the library containing the documented material, which is
19680387638SSascha Wildnerassumed to be a function in a section 2, 3, or 9 manual.
19780387638SSascha WildnerThe syntax for this is as follows:
19880387638SSascha Wildner.Bd -literal -offset indent
19980387638SSascha Wildner\&.Lb libarm
20080387638SSascha Wildner.Ed
20180387638SSascha Wildner.Pp
20280387638SSascha WildnerSee
20354ba9607SSascha Wildner.Ic \&Lb .
20480387638SSascha Wildner.It Em SYNOPSIS
20580387638SSascha WildnerDocuments the utility invocation syntax, function call syntax, or device
20680387638SSascha Wildnerconfiguration.
20780387638SSascha Wildner.Pp
20880387638SSascha WildnerFor the first, utilities (sections 1, 6, and 8), this is
20980387638SSascha Wildnergenerally structured as follows:
21080387638SSascha Wildner.Bd -literal -offset indent
21180387638SSascha Wildner\&.Nm bar
21280387638SSascha Wildner\&.Op Fl v
21380387638SSascha Wildner\&.Op Fl o Ar file
21480387638SSascha Wildner\&.Op Ar
215a4c7eb57SSascha Wildner\&.Nm foo
216a4c7eb57SSascha Wildner\&.Op Fl v
217a4c7eb57SSascha Wildner\&.Op Fl o Ar file
218a4c7eb57SSascha Wildner\&.Op Ar
21980387638SSascha Wildner.Ed
22080387638SSascha Wildner.Pp
221a4c7eb57SSascha WildnerCommands should be ordered alphabetically.
222a4c7eb57SSascha Wildner.Pp
22380387638SSascha WildnerFor the second, function calls (sections 2, 3, 9):
22480387638SSascha Wildner.Bd -literal -offset indent
22580387638SSascha Wildner\&.In header.h
22680387638SSascha Wildner\&.Vt extern const char *global;
22780387638SSascha Wildner\&.Ft "char *"
22880387638SSascha Wildner\&.Fn foo "const char *src"
22980387638SSascha Wildner\&.Ft "char *"
23080387638SSascha Wildner\&.Fn bar "const char *src"
23180387638SSascha Wildner.Ed
23280387638SSascha Wildner.Pp
233a4c7eb57SSascha WildnerOrdering of
23454ba9607SSascha Wildner.Ic \&In ,
23554ba9607SSascha Wildner.Ic \&Vt ,
23654ba9607SSascha Wildner.Ic \&Fn ,
237a4c7eb57SSascha Wildnerand
23854ba9607SSascha Wildner.Ic \&Fo
239a4c7eb57SSascha Wildnermacros should follow C header-file conventions.
240a4c7eb57SSascha Wildner.Pp
24180387638SSascha WildnerAnd for the third, configurations (section 4):
24280387638SSascha Wildner.Bd -literal -offset indent
24336342e81SSascha Wildner\&.Cd \(dqit* at isa? port 0x2e\(dq
24436342e81SSascha Wildner\&.Cd \(dqit* at isa? port 0x4e\(dq
24580387638SSascha Wildner.Ed
24680387638SSascha Wildner.Pp
24780387638SSascha WildnerManuals not in these sections generally don't need a
24880387638SSascha Wildner.Em SYNOPSIS .
24980387638SSascha Wildner.Pp
25080387638SSascha WildnerSome macros are displayed differently in the
25180387638SSascha Wildner.Em SYNOPSIS
25280387638SSascha Wildnersection, particularly
25354ba9607SSascha Wildner.Ic \&Nm ,
25454ba9607SSascha Wildner.Ic \&Cd ,
25554ba9607SSascha Wildner.Ic \&Fd ,
25654ba9607SSascha Wildner.Ic \&Fn ,
25754ba9607SSascha Wildner.Ic \&Fo ,
25854ba9607SSascha Wildner.Ic \&In ,
25954ba9607SSascha Wildner.Ic \&Vt ,
26080387638SSascha Wildnerand
26154ba9607SSascha Wildner.Ic \&Ft .
26280387638SSascha WildnerAll of these macros are output on their own line.
26380387638SSascha WildnerIf two such dissimilar macros are pairwise invoked (except for
26454ba9607SSascha Wildner.Ic \&Ft
26580387638SSascha Wildnerbefore
26654ba9607SSascha Wildner.Ic \&Fo
26780387638SSascha Wildneror
26854ba9607SSascha Wildner.Ic \&Fn ) ,
26980387638SSascha Wildnerthey are separated by a vertical space, unless in the case of
27054ba9607SSascha Wildner.Ic \&Fo ,
27154ba9607SSascha Wildner.Ic \&Fn ,
27280387638SSascha Wildnerand
27354ba9607SSascha Wildner.Ic \&Ft ,
27480387638SSascha Wildnerwhich are always separated by vertical space.
27580387638SSascha Wildner.Pp
27680387638SSascha WildnerWhen text and macros following an
27754ba9607SSascha Wildner.Ic \&Nm
27880387638SSascha Wildnermacro starting an input line span multiple output lines,
27980387638SSascha Wildnerall output lines but the first will be indented to align
28080387638SSascha Wildnerwith the text immediately following the
28154ba9607SSascha Wildner.Ic \&Nm
28280387638SSascha Wildnermacro, up to the next
28354ba9607SSascha Wildner.Ic \&Nm ,
28454ba9607SSascha Wildner.Ic \&Sh ,
28580387638SSascha Wildneror
28654ba9607SSascha Wildner.Ic \&Ss
28780387638SSascha Wildnermacro or the end of an enclosing block, whichever comes first.
28880387638SSascha Wildner.It Em DESCRIPTION
289a4c7eb57SSascha WildnerThis begins with an expansion of the brief, one line description in
290a4c7eb57SSascha Wildner.Em NAME :
291a4c7eb57SSascha Wildner.Bd -literal -offset indent
292a4c7eb57SSascha WildnerThe
293a4c7eb57SSascha Wildner\&.Nm
294a4c7eb57SSascha Wildnerutility does this, that, and the other.
295a4c7eb57SSascha Wildner.Ed
296a4c7eb57SSascha Wildner.Pp
297a4c7eb57SSascha WildnerIt usually follows with a breakdown of the options (if documenting a
29880387638SSascha Wildnercommand), such as:
29980387638SSascha Wildner.Bd -literal -offset indent
300*99db7d0eSSascha WildnerThe options are as follows:
30180387638SSascha Wildner\&.Bl \-tag \-width Ds
30280387638SSascha Wildner\&.It Fl v
30380387638SSascha WildnerPrint verbose information.
30480387638SSascha Wildner\&.El
30580387638SSascha Wildner.Ed
30680387638SSascha Wildner.Pp
30754ba9607SSascha WildnerList the options in alphabetical order,
30854ba9607SSascha Wildneruppercase before lowercase for each letter and
30954ba9607SSascha Wildnerwith no regard to whether an option takes an argument.
31054ba9607SSascha WildnerPut digits in ascending order before all letter options.
31154ba9607SSascha Wildner.Pp
31280387638SSascha WildnerManuals not documenting a command won't include the above fragment.
31336342e81SSascha Wildner.Pp
31436342e81SSascha WildnerSince the
31536342e81SSascha Wildner.Em DESCRIPTION
31636342e81SSascha Wildnersection usually contains most of the text of a manual, longer manuals
31736342e81SSascha Wildneroften use the
31854ba9607SSascha Wildner.Ic \&Ss
31936342e81SSascha Wildnermacro to form subsections.
32036342e81SSascha WildnerIn very long manuals, the
32136342e81SSascha Wildner.Em DESCRIPTION
32236342e81SSascha Wildnermay be split into multiple sections, each started by an
32354ba9607SSascha Wildner.Ic \&Sh
32436342e81SSascha Wildnermacro followed by a non-standard section name, and each having
32536342e81SSascha Wildnerseveral subsections, like in the present
32636342e81SSascha Wildner.Nm
32736342e81SSascha Wildnermanual.
328070c62a6SFranco Fichtner.It Em CONTEXT
329070c62a6SFranco FichtnerThis section lists the contexts in which functions can be called in section 9.
330070c62a6SFranco FichtnerThe contexts are autoconf, process, or interrupt.
33180387638SSascha Wildner.It Em IMPLEMENTATION NOTES
33280387638SSascha WildnerImplementation-specific notes should be kept here.
33380387638SSascha WildnerThis is useful when implementing standard functions that may have side
33480387638SSascha Wildnereffects or notable algorithmic implications.
33580387638SSascha Wildner.It Em RETURN VALUES
33680387638SSascha WildnerThis section documents the
33780387638SSascha Wildnerreturn values of functions in sections 2, 3, and 9.
33880387638SSascha Wildner.Pp
33980387638SSascha WildnerSee
34054ba9607SSascha Wildner.Ic \&Rv .
34180387638SSascha Wildner.It Em ENVIRONMENT
34280387638SSascha WildnerLists the environment variables used by the utility,
34380387638SSascha Wildnerand explains the syntax and semantics of their values.
34480387638SSascha WildnerThe
34580387638SSascha Wildner.Xr environ 7
34680387638SSascha Wildnermanual provides examples of typical content and formatting.
34780387638SSascha Wildner.Pp
34880387638SSascha WildnerSee
34954ba9607SSascha Wildner.Ic \&Ev .
35080387638SSascha Wildner.It Em FILES
35180387638SSascha WildnerDocuments files used.
35280387638SSascha WildnerIt's helpful to document both the file name and a short description of how
35380387638SSascha Wildnerthe file is used (created, modified, etc.).
35480387638SSascha Wildner.Pp
35580387638SSascha WildnerSee
35654ba9607SSascha Wildner.Ic \&Pa .
35780387638SSascha Wildner.It Em EXIT STATUS
35880387638SSascha WildnerThis section documents the
35980387638SSascha Wildnercommand exit status for section 1, 6, and 8 utilities.
36080387638SSascha WildnerHistorically, this information was described in
36180387638SSascha Wildner.Em DIAGNOSTICS ,
36280387638SSascha Wildnera practise that is now discouraged.
36380387638SSascha Wildner.Pp
36480387638SSascha WildnerSee
36554ba9607SSascha Wildner.Ic \&Ex .
36680387638SSascha Wildner.It Em EXAMPLES
36780387638SSascha WildnerExample usages.
36880387638SSascha WildnerThis often contains snippets of well-formed, well-tested invocations.
36980387638SSascha WildnerMake sure that examples work properly!
37080387638SSascha Wildner.It Em DIAGNOSTICS
371070c62a6SFranco FichtnerDocuments error messages.
372070c62a6SFranco FichtnerIn section 4 and 9 manuals, these are usually messages printed by the
373070c62a6SFranco Fichtnerkernel to the console and to the kernel log.
374070c62a6SFranco FichtnerIn section 1, 6, 7, and 8, these are usually messages printed by
375070c62a6SFranco Fichtneruserland programs to the standard error output.
376070c62a6SFranco Fichtner.Pp
37780387638SSascha WildnerHistorically, this section was used in place of
37880387638SSascha Wildner.Em EXIT STATUS
37980387638SSascha Wildnerfor manuals in sections 1, 6, and 8; however, this practise is
38080387638SSascha Wildnerdiscouraged.
38180387638SSascha Wildner.Pp
38280387638SSascha WildnerSee
38354ba9607SSascha Wildner.Ic \&Bl
38480387638SSascha Wildner.Fl diag .
38580387638SSascha Wildner.It Em ERRORS
386070c62a6SFranco FichtnerDocuments
387070c62a6SFranco Fichtner.Xr errno 2
388070c62a6SFranco Fichtnersettings in sections 2, 3, 4, and 9.
38980387638SSascha Wildner.Pp
39080387638SSascha WildnerSee
39154ba9607SSascha Wildner.Ic \&Er .
39280387638SSascha Wildner.It Em SEE ALSO
39380387638SSascha WildnerReferences other manuals with related topics.
39480387638SSascha WildnerThis section should exist for most manuals.
39580387638SSascha WildnerCross-references should conventionally be ordered first by section, then
39654ba9607SSascha Wildneralphabetically (ignoring case).
39780387638SSascha Wildner.Pp
39836342e81SSascha WildnerReferences to other documentation concerning the topic of the manual page,
39936342e81SSascha Wildnerfor example authoritative books or journal articles, may also be
40036342e81SSascha Wildnerprovided in this section.
40136342e81SSascha Wildner.Pp
40280387638SSascha WildnerSee
40354ba9607SSascha Wildner.Ic \&Rs
40436342e81SSascha Wildnerand
40554ba9607SSascha Wildner.Ic \&Xr .
40680387638SSascha Wildner.It Em STANDARDS
40780387638SSascha WildnerReferences any standards implemented or used.
40880387638SSascha WildnerIf not adhering to any standards, the
40980387638SSascha Wildner.Em HISTORY
41080387638SSascha Wildnersection should be used instead.
41180387638SSascha Wildner.Pp
41280387638SSascha WildnerSee
41354ba9607SSascha Wildner.Ic \&St .
41480387638SSascha Wildner.It Em HISTORY
41536342e81SSascha WildnerA brief history of the subject, including where it was first implemented,
41636342e81SSascha Wildnerand when it was ported to or reimplemented for the operating system at hand.
41780387638SSascha Wildner.It Em AUTHORS
41880387638SSascha WildnerCredits to the person or persons who wrote the code and/or documentation.
41980387638SSascha WildnerAuthors should generally be noted by both name and email address.
42080387638SSascha Wildner.Pp
42180387638SSascha WildnerSee
42254ba9607SSascha Wildner.Ic \&An .
42380387638SSascha Wildner.It Em CAVEATS
42480387638SSascha WildnerCommon misuses and misunderstandings should be explained
42580387638SSascha Wildnerin this section.
42680387638SSascha Wildner.It Em BUGS
42780387638SSascha WildnerKnown bugs, limitations, and work-arounds should be described
42880387638SSascha Wildnerin this section.
42980387638SSascha Wildner.It Em SECURITY CONSIDERATIONS
43080387638SSascha WildnerDocuments any security precautions that operators should consider.
43180387638SSascha Wildner.El
43236342e81SSascha Wildner.Sh MACRO OVERVIEW
43336342e81SSascha WildnerThis overview is sorted such that macros of similar purpose are listed
43436342e81SSascha Wildnertogether, to help find the best macro for any given purpose.
43536342e81SSascha WildnerDeprecated macros are not included in the overview, but can be found below
43636342e81SSascha Wildnerin the alphabetical
43736342e81SSascha Wildner.Sx MACRO REFERENCE .
43836342e81SSascha Wildner.Ss Document preamble and NAME section macros
43936342e81SSascha Wildner.Bl -column "Brq, Bro, Brc" description
44054ba9607SSascha Wildner.It Ic \&Dd Ta document date: Cm $\&Mdocdate$ | Ar month day , year
44154ba9607SSascha Wildner.It Ic \&Dt Ta document title: Ar TITLE section Op Ar arch
44254ba9607SSascha Wildner.It Ic \&Os Ta operating system version: Op Ar system Op Ar version
44354ba9607SSascha Wildner.It Ic \&Nm Ta document name (one argument)
44454ba9607SSascha Wildner.It Ic \&Nd Ta document description (one line)
44580387638SSascha Wildner.El
44636342e81SSascha Wildner.Ss Sections and cross references
44736342e81SSascha Wildner.Bl -column "Brq, Bro, Brc" description
44854ba9607SSascha Wildner.It Ic \&Sh Ta section header (one line)
44954ba9607SSascha Wildner.It Ic \&Ss Ta subsection header (one line)
45054ba9607SSascha Wildner.It Ic \&Sx Ta internal cross reference to a section or subsection
45154ba9607SSascha Wildner.It Ic \&Xr Ta cross reference to another manual page: Ar name section
452*99db7d0eSSascha Wildner.It Ic \&Tg Ta tag the definition of a Ar term Pq <= 1 arguments
45354ba9607SSascha Wildner.It Ic \&Pp Ta start a text paragraph (no arguments)
45480387638SSascha Wildner.El
45536342e81SSascha Wildner.Ss Displays and lists
45636342e81SSascha Wildner.Bl -column "Brq, Bro, Brc" description
45754ba9607SSascha Wildner.It Ic \&Bd , \&Ed Ta display block:
45836342e81SSascha Wildner.Fl Ar type
45936342e81SSascha Wildner.Op Fl offset Ar width
46036342e81SSascha Wildner.Op Fl compact
46154ba9607SSascha Wildner.It Ic \&D1 Ta indented display (one line)
46254ba9607SSascha Wildner.It Ic \&Dl Ta indented literal display (one line)
46354ba9607SSascha Wildner.It Ic \&Ql Ta in-line literal display: Ql text
46454ba9607SSascha Wildner.It Ic \&Bl , \&El Ta list block:
46536342e81SSascha Wildner.Fl Ar type
46636342e81SSascha Wildner.Op Fl width Ar val
46736342e81SSascha Wildner.Op Fl offset Ar val
46836342e81SSascha Wildner.Op Fl compact
46954ba9607SSascha Wildner.It Ic \&It Ta list item (syntax depends on Fl Ar type )
47054ba9607SSascha Wildner.It Ic \&Ta Ta table cell separator in Ic \&Bl Fl column No lists
47154ba9607SSascha Wildner.It Ic \&Rs , \&%* , \&Re Ta bibliographic block (references)
47280387638SSascha Wildner.El
47336342e81SSascha Wildner.Ss Spacing control
47436342e81SSascha Wildner.Bl -column "Brq, Bro, Brc" description
47554ba9607SSascha Wildner.It Ic \&Pf Ta prefix, no following horizontal space (one argument)
47654ba9607SSascha Wildner.It Ic \&Ns Ta roman font, no preceding horizontal space (no arguments)
47754ba9607SSascha Wildner.It Ic \&Ap Ta apostrophe without surrounding whitespace (no arguments)
47854ba9607SSascha Wildner.It Ic \&Sm Ta switch horizontal spacing mode: Op Cm on | off
47954ba9607SSascha Wildner.It Ic \&Bk , \&Ek Ta keep block: Fl words
48080387638SSascha Wildner.El
48154ba9607SSascha Wildner.Ss Semantic markup for command line utilities
48236342e81SSascha Wildner.Bl -column "Brq, Bro, Brc" description
48354ba9607SSascha Wildner.It Ic \&Nm Ta start a SYNOPSIS block with the name of a utility
48454ba9607SSascha Wildner.It Ic \&Fl Ta command line options (flags) (>=0 arguments)
48554ba9607SSascha Wildner.It Ic \&Cm Ta command modifier (>0 arguments)
48654ba9607SSascha Wildner.It Ic \&Ar Ta command arguments (>=0 arguments)
48754ba9607SSascha Wildner.It Ic \&Op , \&Oo , \&Oc Ta optional syntax elements (enclosure)
48854ba9607SSascha Wildner.It Ic \&Ic Ta internal or interactive command (>0 arguments)
48954ba9607SSascha Wildner.It Ic \&Ev Ta environmental variable (>0 arguments)
49054ba9607SSascha Wildner.It Ic \&Pa Ta file system path (>=0 arguments)
49180387638SSascha Wildner.El
49254ba9607SSascha Wildner.Ss Semantic markup for function libraries
49336342e81SSascha Wildner.Bl -column "Brq, Bro, Brc" description
49454ba9607SSascha Wildner.It Ic \&Lb Ta function library (one argument)
49554ba9607SSascha Wildner.It Ic \&In Ta include file (one argument)
49654ba9607SSascha Wildner.It Ic \&Fd Ta other preprocessor directive (>0 arguments)
49754ba9607SSascha Wildner.It Ic \&Ft Ta function type (>0 arguments)
49854ba9607SSascha Wildner.It Ic \&Fo , \&Fc Ta function block: Ar funcname
49954ba9607SSascha Wildner.It Ic \&Fn Ta function name: Ar funcname Op Ar argument ...
50054ba9607SSascha Wildner.It Ic \&Fa Ta function argument (>0 arguments)
50154ba9607SSascha Wildner.It Ic \&Vt Ta variable type (>0 arguments)
50254ba9607SSascha Wildner.It Ic \&Va Ta variable name (>0 arguments)
50354ba9607SSascha Wildner.It Ic \&Dv Ta defined variable or preprocessor constant (>0 arguments)
50454ba9607SSascha Wildner.It Ic \&Er Ta error constant (>0 arguments)
50554ba9607SSascha Wildner.It Ic \&Ev Ta environmental variable (>0 arguments)
50636342e81SSascha Wildner.El
50754ba9607SSascha Wildner.Ss Various semantic markup
50836342e81SSascha Wildner.Bl -column "Brq, Bro, Brc" description
50954ba9607SSascha Wildner.It Ic \&An Ta author name (>0 arguments)
51054ba9607SSascha Wildner.It Ic \&Lk Ta hyperlink: Ar uri Op Ar display_name
51154ba9607SSascha Wildner.It Ic \&Mt Ta Do mailto Dc hyperlink: Ar localpart Ns @ Ns Ar domain
51254ba9607SSascha Wildner.It Ic \&Cd Ta kernel configuration declaration (>0 arguments)
51354ba9607SSascha Wildner.It Ic \&Ad Ta memory address (>0 arguments)
51454ba9607SSascha Wildner.It Ic \&Ms Ta mathematical symbol (>0 arguments)
51536342e81SSascha Wildner.El
51636342e81SSascha Wildner.Ss Physical markup
51736342e81SSascha Wildner.Bl -column "Brq, Bro, Brc" description
51854ba9607SSascha Wildner.It Ic \&Em Ta italic font or underline (emphasis) (>0 arguments)
51954ba9607SSascha Wildner.It Ic \&Sy Ta boldface font (symbolic) (>0 arguments)
52054ba9607SSascha Wildner.It Ic \&No Ta return to roman font (normal) (>0 arguments)
52154ba9607SSascha Wildner.It Ic \&Bf , \&Ef Ta font block: Fl Ar type | Cm \&Em | \&Li | \&Sy
52236342e81SSascha Wildner.El
52336342e81SSascha Wildner.Ss Physical enclosures
52436342e81SSascha Wildner.Bl -column "Brq, Bro, Brc" description
52554ba9607SSascha Wildner.It Ic \&Dq , \&Do , \&Dc Ta enclose in typographic double quotes: Dq text
52654ba9607SSascha Wildner.It Ic \&Qq , \&Qo , \&Qc Ta enclose in typewriter double quotes: Qq text
52754ba9607SSascha Wildner.It Ic \&Sq , \&So , \&Sc Ta enclose in single quotes: Sq text
52854ba9607SSascha Wildner.It Ic \&Pq , \&Po , \&Pc Ta enclose in parentheses: Pq text
52954ba9607SSascha Wildner.It Ic \&Bq , \&Bo , \&Bc Ta enclose in square brackets: Bq text
53054ba9607SSascha Wildner.It Ic \&Brq , \&Bro , \&Brc Ta enclose in curly braces: Brq text
53154ba9607SSascha Wildner.It Ic \&Aq , \&Ao , \&Ac Ta enclose in angle brackets: Aq text
53254ba9607SSascha Wildner.It Ic \&Eo , \&Ec Ta generic enclosure
53336342e81SSascha Wildner.El
53436342e81SSascha Wildner.Ss Text production
53536342e81SSascha Wildner.Bl -column "Brq, Bro, Brc" description
53654ba9607SSascha Wildner.It Ic \&Ex Fl std Ta standard command exit values: Op Ar utility ...
53754ba9607SSascha Wildner.It Ic \&Rv Fl std Ta standard function return values: Op Ar function ...
53854ba9607SSascha Wildner.It Ic \&St Ta reference to a standards document (one argument)
53954ba9607SSascha Wildner.It Ic \&At Ta At
54054ba9607SSascha Wildner.It Ic \&Bx Ta Bx
54154ba9607SSascha Wildner.It Ic \&Bsx Ta Bsx
54254ba9607SSascha Wildner.It Ic \&Nx Ta Nx
54354ba9607SSascha Wildner.It Ic \&Fx Ta Fx
54454ba9607SSascha Wildner.It Ic \&Ox Ta Ox
54554ba9607SSascha Wildner.It Ic \&Dx Ta Dx
54636342e81SSascha Wildner.El
54736342e81SSascha Wildner.Sh MACRO REFERENCE
54880387638SSascha WildnerThis section is a canonical reference of all macros, arranged
54980387638SSascha Wildneralphabetically.
55080387638SSascha WildnerFor the scoping of individual macros, see
55180387638SSascha Wildner.Sx MACRO SYNTAX .
55254ba9607SSascha Wildner.Bl -tag -width 3n
55354ba9607SSascha Wildner.It Ic \&%A Ar first_name ... last_name
55480387638SSascha WildnerAuthor name of an
55554ba9607SSascha Wildner.Ic \&Rs
55680387638SSascha Wildnerblock.
55780387638SSascha WildnerMultiple authors should each be accorded their own
55854ba9607SSascha Wildner.Ic \%%A
55980387638SSascha Wildnerline.
56080387638SSascha WildnerAuthor names should be ordered with full or abbreviated forename(s)
56180387638SSascha Wildnerfirst, then full surname.
56254ba9607SSascha Wildner.It Ic \&%B Ar title
56380387638SSascha WildnerBook title of an
56454ba9607SSascha Wildner.Ic \&Rs
56580387638SSascha Wildnerblock.
56680387638SSascha WildnerThis macro may also be used in a non-bibliographic context when
56780387638SSascha Wildnerreferring to book titles.
56854ba9607SSascha Wildner.It Ic \&%C Ar location
56980387638SSascha WildnerPublication city or location of an
57054ba9607SSascha Wildner.Ic \&Rs
57180387638SSascha Wildnerblock.
57254ba9607SSascha Wildner.It Ic \&%D Oo Ar month day , Oc Ar year
57380387638SSascha WildnerPublication date of an
57454ba9607SSascha Wildner.Ic \&Rs
57580387638SSascha Wildnerblock.
57654ba9607SSascha WildnerProvide the full English name of the
57754ba9607SSascha Wildner.Ar month
57854ba9607SSascha Wildnerand all four digits of the
57960e1e752SSascha Wildner.Ar year .
58054ba9607SSascha Wildner.It Ic \&%I Ar name
58180387638SSascha WildnerPublisher or issuer name of an
58254ba9607SSascha Wildner.Ic \&Rs
58380387638SSascha Wildnerblock.
58454ba9607SSascha Wildner.It Ic \&%J Ar name
58580387638SSascha WildnerJournal name of an
58654ba9607SSascha Wildner.Ic \&Rs
58780387638SSascha Wildnerblock.
58854ba9607SSascha Wildner.It Ic \&%N Ar number
58980387638SSascha WildnerIssue number (usually for journals) of an
59054ba9607SSascha Wildner.Ic \&Rs
59180387638SSascha Wildnerblock.
59254ba9607SSascha Wildner.It Ic \&%O Ar line
59380387638SSascha WildnerOptional information of an
59454ba9607SSascha Wildner.Ic \&Rs
59580387638SSascha Wildnerblock.
59654ba9607SSascha Wildner.It Ic \&%P Ar number
59780387638SSascha WildnerBook or journal page number of an
59854ba9607SSascha Wildner.Ic \&Rs
59980387638SSascha Wildnerblock.
600*99db7d0eSSascha WildnerConventionally, the argument starts with
601*99db7d0eSSascha Wildner.Ql p.\&
602*99db7d0eSSascha Wildnerfor a single page or
603*99db7d0eSSascha Wildner.Ql pp.\&
604*99db7d0eSSascha Wildnerfor a range of pages, for example:
605*99db7d0eSSascha Wildner.Pp
606*99db7d0eSSascha Wildner.Dl .%P pp. 42\e(en47
60754ba9607SSascha Wildner.It Ic \&%Q Ar name
60880387638SSascha WildnerInstitutional author (school, government, etc.) of an
60954ba9607SSascha Wildner.Ic \&Rs
61080387638SSascha Wildnerblock.
61180387638SSascha WildnerMultiple institutional authors should each be accorded their own
61254ba9607SSascha Wildner.Ic \&%Q
61380387638SSascha Wildnerline.
61454ba9607SSascha Wildner.It Ic \&%R Ar name
61580387638SSascha WildnerTechnical report name of an
61654ba9607SSascha Wildner.Ic \&Rs
61780387638SSascha Wildnerblock.
61854ba9607SSascha Wildner.It Ic \&%T Ar title
61980387638SSascha WildnerArticle title of an
62054ba9607SSascha Wildner.Ic \&Rs
62180387638SSascha Wildnerblock.
62280387638SSascha WildnerThis macro may also be used in a non-bibliographical context when
62380387638SSascha Wildnerreferring to article titles.
62454ba9607SSascha Wildner.It Ic \&%U Ar protocol Ns :// Ns Ar path
62580387638SSascha WildnerURI of reference document.
62654ba9607SSascha Wildner.It Ic \&%V Ar number
62780387638SSascha WildnerVolume number of an
62854ba9607SSascha Wildner.Ic \&Rs
62980387638SSascha Wildnerblock.
63054ba9607SSascha Wildner.It Ic \&Ac
63180387638SSascha WildnerClose an
63254ba9607SSascha Wildner.Ic \&Ao
63380387638SSascha Wildnerblock.
63480387638SSascha WildnerDoes not have any tail arguments.
635*99db7d0eSSascha Wildner.Tg Ad
63654ba9607SSascha Wildner.It Ic \&Ad Ar address
63780387638SSascha WildnerMemory address.
63880387638SSascha WildnerDo not use this for postal addresses.
63980387638SSascha Wildner.Pp
64080387638SSascha WildnerExamples:
64180387638SSascha Wildner.Dl \&.Ad [0,$]
64280387638SSascha Wildner.Dl \&.Ad 0x00000000
643*99db7d0eSSascha Wildner.Tg An
64454ba9607SSascha Wildner.It Ic \&An Fl split | nosplit | Ar first_name ... last_name
64580387638SSascha WildnerAuthor name.
64636342e81SSascha WildnerCan be used both for the authors of the program, function, or driver
64736342e81SSascha Wildnerdocumented in the manual, or for the authors of the manual itself.
64880387638SSascha WildnerRequires either the name of an author or one of the following arguments:
64980387638SSascha Wildner.Pp
65080387638SSascha Wildner.Bl -tag -width "-nosplitX" -offset indent -compact
65180387638SSascha Wildner.It Fl split
65280387638SSascha WildnerStart a new output line before each subsequent invocation of
65354ba9607SSascha Wildner.Ic \&An .
65480387638SSascha Wildner.It Fl nosplit
65580387638SSascha WildnerThe opposite of
65680387638SSascha Wildner.Fl split .
65780387638SSascha Wildner.El
65880387638SSascha Wildner.Pp
65980387638SSascha WildnerThe default is
66080387638SSascha Wildner.Fl nosplit .
66180387638SSascha WildnerThe effect of selecting either of the
66280387638SSascha Wildner.Fl split
66380387638SSascha Wildnermodes ends at the beginning of the
66480387638SSascha Wildner.Em AUTHORS
66580387638SSascha Wildnersection.
66680387638SSascha WildnerIn the
66780387638SSascha Wildner.Em AUTHORS
66880387638SSascha Wildnersection, the default is
66980387638SSascha Wildner.Fl nosplit
67080387638SSascha Wildnerfor the first author listing and
67180387638SSascha Wildner.Fl split
67280387638SSascha Wildnerfor all other author listings.
67380387638SSascha Wildner.Pp
67480387638SSascha WildnerExamples:
67580387638SSascha Wildner.Dl \&.An -nosplit
676f88b6c16SFranco Fichtner.Dl \&.An Kristaps Dzonsons \&Aq \&Mt kristaps@bsd.lv
67754ba9607SSascha Wildner.It Ic \&Ao Ar block
67880387638SSascha WildnerBegin a block enclosed by angle brackets.
67980387638SSascha WildnerDoes not have any head arguments.
68054ba9607SSascha WildnerThis macro is almost never useful.
68154ba9607SSascha WildnerSee
68254ba9607SSascha Wildner.Ic \&Aq
68354ba9607SSascha Wildnerfor more details.
684*99db7d0eSSascha Wildner.Tg Ap
68554ba9607SSascha Wildner.It Ic \&Ap
68680387638SSascha WildnerInserts an apostrophe without any surrounding whitespace.
68780387638SSascha WildnerThis is generally used as a grammatical device when referring to the verb
68880387638SSascha Wildnerform of a function.
68980387638SSascha Wildner.Pp
69080387638SSascha WildnerExamples:
69180387638SSascha Wildner.Dl \&.Fn execve \&Ap d
692*99db7d0eSSascha Wildner.Tg Aq
69354ba9607SSascha Wildner.It Ic \&Aq Ar line
69454ba9607SSascha WildnerEnclose the rest of the input line in angle brackets.
69554ba9607SSascha WildnerThe only important use case is for email addresses.
69654ba9607SSascha WildnerSee
69754ba9607SSascha Wildner.Ic \&Mt
69854ba9607SSascha Wildnerfor an example.
69980387638SSascha Wildner.Pp
70054ba9607SSascha WildnerOccasionally, it is used for names of characters and keys, for example:
70154ba9607SSascha Wildner.Bd -literal -offset indent
70254ba9607SSascha WildnerPress the
70354ba9607SSascha Wildner\&.Aq escape
70454ba9607SSascha Wildnerkey to ...
70554ba9607SSascha Wildner.Ed
70680387638SSascha Wildner.Pp
70754ba9607SSascha WildnerFor URIs, use
70854ba9607SSascha Wildner.Ic \&Lk
70954ba9607SSascha Wildnerinstead, and
71054ba9607SSascha Wildner.Ic \&In
71154ba9607SSascha Wildnerfor
71254ba9607SSascha Wildner.Dq #include
71354ba9607SSascha Wildnerdirectives.
71454ba9607SSascha WildnerNever wrap
71554ba9607SSascha Wildner.Ic \&Ar
71654ba9607SSascha Wildnerin
71754ba9607SSascha Wildner.Ic \&Aq .
71854ba9607SSascha Wildner.Pp
71954ba9607SSascha WildnerSince
72054ba9607SSascha Wildner.Ic \&Aq
72154ba9607SSascha Wildnerusually renders with non-ASCII characters in non-ASCII output modes,
72254ba9607SSascha Wildnerdo not use it where the ASCII characters
72354ba9607SSascha Wildner.Sq <
72454ba9607SSascha Wildnerand
72554ba9607SSascha Wildner.Sq >
72654ba9607SSascha Wildnerare required as syntax elements.
72754ba9607SSascha WildnerInstead, use these characters directly in such cases, combining them
72854ba9607SSascha Wildnerwith the macros
72954ba9607SSascha Wildner.Ic \&Pf ,
73054ba9607SSascha Wildner.Ic \&Ns ,
73180387638SSascha Wildneror
73254ba9607SSascha Wildner.Ic \&Eo
73354ba9607SSascha Wildneras needed.
73480387638SSascha Wildner.Pp
73580387638SSascha WildnerSee also
73654ba9607SSascha Wildner.Ic \&Ao .
737*99db7d0eSSascha Wildner.Tg Ar
73854ba9607SSascha Wildner.It Ic \&Ar Op Ar placeholder ...
73980387638SSascha WildnerCommand arguments.
74080387638SSascha WildnerIf an argument is not provided, the string
74180387638SSascha Wildner.Dq file ...\&
74280387638SSascha Wildneris used as a default.
74380387638SSascha Wildner.Pp
74480387638SSascha WildnerExamples:
74536342e81SSascha Wildner.Dl ".Fl o Ar file"
74636342e81SSascha Wildner.Dl ".Ar"
74736342e81SSascha Wildner.Dl ".Ar arg1 , arg2 ."
74836342e81SSascha Wildner.Pp
74936342e81SSascha WildnerThe arguments to the
75054ba9607SSascha Wildner.Ic \&Ar
75136342e81SSascha Wildnermacro are names and placeholders for command arguments;
75236342e81SSascha Wildnerfor fixed strings to be passed verbatim as arguments, use
75354ba9607SSascha Wildner.Ic \&Fl
75436342e81SSascha Wildneror
75554ba9607SSascha Wildner.Ic \&Cm .
756*99db7d0eSSascha Wildner.Tg At
75754ba9607SSascha Wildner.It Ic \&At Op Ar version
758f88b6c16SFranco FichtnerFormats an
759f88b6c16SFranco Fichtner.At
760f88b6c16SFranco Fichtnerversion.
76180387638SSascha WildnerAccepts one optional argument:
76280387638SSascha Wildner.Pp
76380387638SSascha Wildner.Bl -tag -width "v[1-7] | 32vX" -offset indent -compact
76480387638SSascha Wildner.It Cm v[1-7] | 32v
76580387638SSascha WildnerA version of
76680387638SSascha Wildner.At .
76736342e81SSascha Wildner.It Cm III
76836342e81SSascha Wildner.At III .
76954ba9607SSascha Wildner.It Cm V | V.[1-4]
77080387638SSascha WildnerA version of
77180387638SSascha Wildner.At V .
77280387638SSascha Wildner.El
77380387638SSascha Wildner.Pp
77480387638SSascha WildnerNote that these arguments do not begin with a hyphen.
77580387638SSascha Wildner.Pp
77680387638SSascha WildnerExamples:
77780387638SSascha Wildner.Dl \&.At
77836342e81SSascha Wildner.Dl \&.At III
77980387638SSascha Wildner.Dl \&.At V.1
78080387638SSascha Wildner.Pp
78180387638SSascha WildnerSee also
78254ba9607SSascha Wildner.Ic \&Bsx ,
78354ba9607SSascha Wildner.Ic \&Bx ,
78454ba9607SSascha Wildner.Ic \&Dx ,
78554ba9607SSascha Wildner.Ic \&Fx ,
78654ba9607SSascha Wildner.Ic \&Nx ,
78780387638SSascha Wildnerand
78854ba9607SSascha Wildner.Ic \&Ox .
78954ba9607SSascha Wildner.It Ic \&Bc
79080387638SSascha WildnerClose a
79154ba9607SSascha Wildner.Ic \&Bo
79280387638SSascha Wildnerblock.
79380387638SSascha WildnerDoes not have any tail arguments.
794*99db7d0eSSascha Wildner.Tg Bd
79554ba9607SSascha Wildner.It Ic \&Bd Fl Ns Ar type Oo Fl offset Ar width Oc Op Fl compact
79680387638SSascha WildnerBegin a display block.
79780387638SSascha WildnerDisplay blocks are used to select a different indentation and
79880387638SSascha Wildnerjustification than the one used by the surrounding text.
799a4c7eb57SSascha WildnerThey may contain both macro lines and text lines.
80080387638SSascha WildnerBy default, a display block is preceded by a vertical space.
80180387638SSascha Wildner.Pp
80280387638SSascha WildnerThe
80380387638SSascha Wildner.Ar type
80480387638SSascha Wildnermust be one of the following:
80580387638SSascha Wildner.Bl -tag -width 13n -offset indent
80680387638SSascha Wildner.It Fl centered
80754ba9607SSascha WildnerProduce one output line from each input line, and center-justify each line.
80880387638SSascha WildnerUsing this display type is not recommended; many
80980387638SSascha Wildner.Nm
81080387638SSascha Wildnerimplementations render it poorly.
81180387638SSascha Wildner.It Fl filled
81236342e81SSascha WildnerChange the positions of line breaks to fill each line, and left- and
81336342e81SSascha Wildnerright-justify the resulting block.
81480387638SSascha Wildner.It Fl literal
81536342e81SSascha WildnerProduce one output line from each input line,
81636342e81SSascha Wildnerand do not justify the block at all.
81780387638SSascha WildnerPreserve white space as it appears in the input.
81836342e81SSascha WildnerAlways use a constant-width font.
81936342e81SSascha WildnerUse this for displaying source code.
82080387638SSascha Wildner.It Fl ragged
82136342e81SSascha WildnerChange the positions of line breaks to fill each line, and left-justify
82236342e81SSascha Wildnerthe resulting block.
82380387638SSascha Wildner.It Fl unfilled
82436342e81SSascha WildnerThe same as
82536342e81SSascha Wildner.Fl literal ,
82636342e81SSascha Wildnerbut using the same font as for normal text, which is a variable width font
82736342e81SSascha Wildnerif supported by the output device.
82880387638SSascha Wildner.El
82980387638SSascha Wildner.Pp
83080387638SSascha WildnerThe
83180387638SSascha Wildner.Ar type
83280387638SSascha Wildnermust be provided first.
83380387638SSascha WildnerAdditional arguments may follow:
83480387638SSascha Wildner.Bl -tag -width 13n -offset indent
83580387638SSascha Wildner.It Fl offset Ar width
83680387638SSascha WildnerIndent the display by the
83780387638SSascha Wildner.Ar width ,
83880387638SSascha Wildnerwhich may be one of the following:
83980387638SSascha Wildner.Bl -item
84080387638SSascha Wildner.It
84180387638SSascha WildnerOne of the pre-defined strings
84280387638SSascha Wildner.Cm indent ,
84336342e81SSascha Wildnerthe width of a standard indentation (six constant width characters);
84480387638SSascha Wildner.Cm indent-two ,
84580387638SSascha Wildnertwice
84680387638SSascha Wildner.Cm indent ;
84780387638SSascha Wildner.Cm left ,
84880387638SSascha Wildnerwhich has no effect;
84980387638SSascha Wildner.Cm right ,
85080387638SSascha Wildnerwhich justifies to the right margin; or
85180387638SSascha Wildner.Cm center ,
85254ba9607SSascha Wildnerwhich aligns around an imagined center axis.
85380387638SSascha Wildner.It
85480387638SSascha WildnerA macro invocation, which selects a predefined width
85580387638SSascha Wildnerassociated with that macro.
85680387638SSascha WildnerThe most popular is the imaginary macro
85780387638SSascha Wildner.Ar \&Ds ,
85880387638SSascha Wildnerwhich resolves to
85980387638SSascha Wildner.Sy 6n .
86080387638SSascha Wildner.It
861f88b6c16SFranco FichtnerA scaling width as described in
862f88b6c16SFranco Fichtner.Xr roff 7 .
86380387638SSascha Wildner.It
86480387638SSascha WildnerAn arbitrary string, which indents by the length of this string.
86580387638SSascha Wildner.El
86680387638SSascha Wildner.Pp
86780387638SSascha WildnerWhen the argument is missing,
86880387638SSascha Wildner.Fl offset
86980387638SSascha Wildneris ignored.
87080387638SSascha Wildner.It Fl compact
87180387638SSascha WildnerDo not assert vertical space before the display.
87280387638SSascha Wildner.El
87380387638SSascha Wildner.Pp
87480387638SSascha WildnerExamples:
87580387638SSascha Wildner.Bd -literal -offset indent
87680387638SSascha Wildner\&.Bd \-literal \-offset indent \-compact
87780387638SSascha Wildner   Hello       world.
87880387638SSascha Wildner\&.Ed
87980387638SSascha Wildner.Ed
88080387638SSascha Wildner.Pp
88180387638SSascha WildnerSee also
88254ba9607SSascha Wildner.Ic \&D1
88380387638SSascha Wildnerand
88454ba9607SSascha Wildner.Ic \&Dl .
885*99db7d0eSSascha Wildner.Tg Bf
88654ba9607SSascha Wildner.It Ic \&Bf Fl emphasis | literal | symbolic | Cm \&Em | \&Li | \&Sy
88780387638SSascha WildnerChange the font mode for a scoped block of text.
88880387638SSascha WildnerThe
88980387638SSascha Wildner.Fl emphasis
89080387638SSascha Wildnerand
89180387638SSascha Wildner.Cm \&Em
89280387638SSascha Wildnerargument are equivalent, as are
89380387638SSascha Wildner.Fl symbolic
89480387638SSascha Wildnerand
89580387638SSascha Wildner.Cm \&Sy ,
89680387638SSascha Wildnerand
89780387638SSascha Wildner.Fl literal
89880387638SSascha Wildnerand
89980387638SSascha Wildner.Cm \&Li .
90080387638SSascha WildnerWithout an argument, this macro does nothing.
90180387638SSascha WildnerThe font mode continues until broken by a new font mode in a nested
90280387638SSascha Wildnerscope or
90354ba9607SSascha Wildner.Ic \&Ef
90480387638SSascha Wildneris encountered.
90580387638SSascha Wildner.Pp
90680387638SSascha WildnerSee also
90754ba9607SSascha Wildner.Ic \&Li ,
90854ba9607SSascha Wildner.Ic \&Ef ,
90954ba9607SSascha Wildner.Ic \&Em ,
91080387638SSascha Wildnerand
91154ba9607SSascha Wildner.Ic \&Sy .
912*99db7d0eSSascha Wildner.Tg Bk
91354ba9607SSascha Wildner.It Ic \&Bk Fl words
914a4c7eb57SSascha WildnerFor each macro, keep its output together on the same output line,
915a4c7eb57SSascha Wildneruntil the end of the macro or the end of the input line is reached,
916a4c7eb57SSascha Wildnerwhichever comes first.
917a4c7eb57SSascha WildnerLine breaks in text lines are unaffected.
91880387638SSascha Wildner.Pp
91980387638SSascha WildnerThe
92080387638SSascha Wildner.Fl words
92180387638SSascha Wildnerargument is required; additional arguments are ignored.
92280387638SSascha Wildner.Pp
92380387638SSascha WildnerThe following example will not break within each
92454ba9607SSascha Wildner.Ic \&Op
92580387638SSascha Wildnermacro line:
92680387638SSascha Wildner.Bd -literal -offset indent
92780387638SSascha Wildner\&.Bk \-words
92880387638SSascha Wildner\&.Op Fl f Ar flags
92980387638SSascha Wildner\&.Op Fl o Ar output
93080387638SSascha Wildner\&.Ek
93180387638SSascha Wildner.Ed
93280387638SSascha Wildner.Pp
93380387638SSascha WildnerBe careful in using over-long lines within a keep block!
93480387638SSascha WildnerDoing so will clobber the right margin.
935*99db7d0eSSascha Wildner.Tg Bl
93654ba9607SSascha Wildner.It Xo
93754ba9607SSascha Wildner.Ic \&Bl
93880387638SSascha Wildner.Fl Ns Ar type
93980387638SSascha Wildner.Op Fl width Ar val
94080387638SSascha Wildner.Op Fl offset Ar val
94180387638SSascha Wildner.Op Fl compact
94254ba9607SSascha Wildner.Op Ar col ...
94354ba9607SSascha Wildner.Xc
94454ba9607SSascha WildnerBegin a list.
94554ba9607SSascha WildnerLists consist of items specified using the
94654ba9607SSascha Wildner.Ic \&It
94754ba9607SSascha Wildnermacro, containing a head or a body or both.
94880387638SSascha Wildner.Pp
94980387638SSascha WildnerThe list
95080387638SSascha Wildner.Ar type
95180387638SSascha Wildneris mandatory and must be specified first.
95280387638SSascha WildnerThe
95380387638SSascha Wildner.Fl width
95480387638SSascha Wildnerand
95580387638SSascha Wildner.Fl offset
95654ba9607SSascha Wildnerarguments accept macro names as described for
95754ba9607SSascha Wildner.Ic \&Bd
95854ba9607SSascha Wildner.Fl offset ,
95954ba9607SSascha Wildnerscaling widths as described in
96054ba9607SSascha Wildner.Xr roff 7 ,
96180387638SSascha Wildneror use the length of the given string.
96280387638SSascha WildnerThe
96380387638SSascha Wildner.Fl offset
96480387638SSascha Wildneris a global indentation for the whole list, affecting both item heads
96580387638SSascha Wildnerand bodies.
96680387638SSascha WildnerFor those list types supporting it, the
96780387638SSascha Wildner.Fl width
96880387638SSascha Wildnerargument requests an additional indentation of item bodies,
96980387638SSascha Wildnerto be added to the
97080387638SSascha Wildner.Fl offset .
97180387638SSascha WildnerUnless the
97280387638SSascha Wildner.Fl compact
97380387638SSascha Wildnerargument is specified, list entries are separated by vertical space.
97480387638SSascha Wildner.Pp
97580387638SSascha WildnerA list must specify one of the following list types:
97680387638SSascha Wildner.Bl -tag -width 12n -offset indent
97780387638SSascha Wildner.It Fl bullet
97880387638SSascha WildnerNo item heads can be specified, but a bullet will be printed at the head
97980387638SSascha Wildnerof each item.
98080387638SSascha WildnerItem bodies start on the same output line as the bullet
98180387638SSascha Wildnerand are indented according to the
98280387638SSascha Wildner.Fl width
98380387638SSascha Wildnerargument.
98480387638SSascha Wildner.It Fl column
98580387638SSascha WildnerA columnated list.
98680387638SSascha WildnerThe
98780387638SSascha Wildner.Fl width
98854ba9607SSascha Wildnerargument has no effect; instead, the string length of each argument
98954ba9607SSascha Wildnerspecifies the width of one column.
99080387638SSascha WildnerIf the first line of the body of a
99180387638SSascha Wildner.Fl column
99280387638SSascha Wildnerlist is not an
99354ba9607SSascha Wildner.Ic \&It
99480387638SSascha Wildnermacro line,
99554ba9607SSascha Wildner.Ic \&It
99680387638SSascha Wildnercontexts spanning one input line each are implied until an
99754ba9607SSascha Wildner.Ic \&It
99880387638SSascha Wildnermacro line is encountered, at which point items start being interpreted as
99980387638SSascha Wildnerdescribed in the
100054ba9607SSascha Wildner.Ic \&It
100180387638SSascha Wildnerdocumentation.
100280387638SSascha Wildner.It Fl dash
100380387638SSascha WildnerLike
100480387638SSascha Wildner.Fl bullet ,
100580387638SSascha Wildnerexcept that dashes are used in place of bullets.
100680387638SSascha Wildner.It Fl diag
100780387638SSascha WildnerLike
100880387638SSascha Wildner.Fl inset ,
100980387638SSascha Wildnerexcept that item heads are not parsed for macro invocations.
101036342e81SSascha WildnerMost often used in the
101136342e81SSascha Wildner.Em DIAGNOSTICS
101236342e81SSascha Wildnersection with error constants in the item heads.
101380387638SSascha Wildner.It Fl enum
101480387638SSascha WildnerA numbered list.
101536342e81SSascha WildnerNo item heads can be specified.
101680387638SSascha WildnerFormatted like
101780387638SSascha Wildner.Fl bullet ,
101880387638SSascha Wildnerexcept that cardinal numbers are used in place of bullets,
101980387638SSascha Wildnerstarting at 1.
102080387638SSascha Wildner.It Fl hang
102180387638SSascha WildnerLike
102280387638SSascha Wildner.Fl tag ,
102380387638SSascha Wildnerexcept that the first lines of item bodies are not indented, but follow
102480387638SSascha Wildnerthe item heads like in
102580387638SSascha Wildner.Fl inset
102680387638SSascha Wildnerlists.
102780387638SSascha Wildner.It Fl hyphen
102880387638SSascha WildnerSynonym for
102980387638SSascha Wildner.Fl dash .
103080387638SSascha Wildner.It Fl inset
103180387638SSascha WildnerItem bodies follow items heads on the same line, using normal inter-word
103280387638SSascha Wildnerspacing.
103380387638SSascha WildnerBodies are not indented, and the
103480387638SSascha Wildner.Fl width
103580387638SSascha Wildnerargument is ignored.
103680387638SSascha Wildner.It Fl item
103780387638SSascha WildnerNo item heads can be specified, and none are printed.
103880387638SSascha WildnerBodies are not indented, and the
103980387638SSascha Wildner.Fl width
104080387638SSascha Wildnerargument is ignored.
104180387638SSascha Wildner.It Fl ohang
104280387638SSascha WildnerItem bodies start on the line following item heads and are not indented.
104380387638SSascha WildnerThe
104480387638SSascha Wildner.Fl width
104580387638SSascha Wildnerargument is ignored.
104680387638SSascha Wildner.It Fl tag
104780387638SSascha WildnerItem bodies are indented according to the
104880387638SSascha Wildner.Fl width
104980387638SSascha Wildnerargument.
105080387638SSascha WildnerWhen an item head fits inside the indentation, the item body follows
105180387638SSascha Wildnerthis head on the same output line.
105280387638SSascha WildnerOtherwise, the body starts on the output line following the head.
105380387638SSascha Wildner.El
105480387638SSascha Wildner.Pp
105536342e81SSascha WildnerLists may be nested within lists and displays.
105636342e81SSascha WildnerNesting of
105736342e81SSascha Wildner.Fl column
105836342e81SSascha Wildnerand
105936342e81SSascha Wildner.Fl enum
106036342e81SSascha Wildnerlists may not be portable.
106136342e81SSascha Wildner.Pp
106280387638SSascha WildnerSee also
106354ba9607SSascha Wildner.Ic \&El
106480387638SSascha Wildnerand
106554ba9607SSascha Wildner.Ic \&It .
106654ba9607SSascha Wildner.It Ic \&Bo Ar block
106780387638SSascha WildnerBegin a block enclosed by square brackets.
106880387638SSascha WildnerDoes not have any head arguments.
106980387638SSascha Wildner.Pp
107080387638SSascha WildnerExamples:
107180387638SSascha Wildner.Bd -literal -offset indent -compact
107280387638SSascha Wildner\&.Bo 1 ,
107380387638SSascha Wildner\&.Dv BUFSIZ \&Bc
107480387638SSascha Wildner.Ed
107580387638SSascha Wildner.Pp
107680387638SSascha WildnerSee also
107754ba9607SSascha Wildner.Ic \&Bq .
1078*99db7d0eSSascha Wildner.Tg Bq
107954ba9607SSascha Wildner.It Ic \&Bq Ar line
108080387638SSascha WildnerEncloses its arguments in square brackets.
108180387638SSascha Wildner.Pp
108280387638SSascha WildnerExamples:
108380387638SSascha Wildner.Dl \&.Bq 1 , \&Dv BUFSIZ
108480387638SSascha Wildner.Pp
108580387638SSascha Wildner.Em Remarks :
108680387638SSascha Wildnerthis macro is sometimes abused to emulate optional arguments for
108780387638SSascha Wildnercommands; the correct macros to use for this purpose are
108854ba9607SSascha Wildner.Ic \&Op ,
108954ba9607SSascha Wildner.Ic \&Oo ,
109080387638SSascha Wildnerand
109154ba9607SSascha Wildner.Ic \&Oc .
109280387638SSascha Wildner.Pp
109380387638SSascha WildnerSee also
109454ba9607SSascha Wildner.Ic \&Bo .
109554ba9607SSascha Wildner.It Ic \&Brc
109680387638SSascha WildnerClose a
109754ba9607SSascha Wildner.Ic \&Bro
109880387638SSascha Wildnerblock.
109980387638SSascha WildnerDoes not have any tail arguments.
110054ba9607SSascha Wildner.It Ic \&Bro Ar block
110180387638SSascha WildnerBegin a block enclosed by curly braces.
110280387638SSascha WildnerDoes not have any head arguments.
110380387638SSascha Wildner.Pp
110480387638SSascha WildnerExamples:
110580387638SSascha Wildner.Bd -literal -offset indent -compact
110680387638SSascha Wildner\&.Bro 1 , ... ,
110780387638SSascha Wildner\&.Va n \&Brc
110880387638SSascha Wildner.Ed
110980387638SSascha Wildner.Pp
111080387638SSascha WildnerSee also
111154ba9607SSascha Wildner.Ic \&Brq .
1112*99db7d0eSSascha Wildner.Tg Brq
111354ba9607SSascha Wildner.It Ic \&Brq Ar line
111480387638SSascha WildnerEncloses its arguments in curly braces.
111580387638SSascha Wildner.Pp
111680387638SSascha WildnerExamples:
111780387638SSascha Wildner.Dl \&.Brq 1 , ... , \&Va n
111880387638SSascha Wildner.Pp
111980387638SSascha WildnerSee also
112054ba9607SSascha Wildner.Ic \&Bro .
1121*99db7d0eSSascha Wildner.Tg Bsx
112254ba9607SSascha Wildner.It Ic \&Bsx Op Ar version
1123f88b6c16SFranco FichtnerFormat the
1124f88b6c16SFranco Fichtner.Bsx
1125f88b6c16SFranco Fichtnerversion provided as an argument, or a default value if
112680387638SSascha Wildnerno argument is provided.
112780387638SSascha Wildner.Pp
112880387638SSascha WildnerExamples:
112980387638SSascha Wildner.Dl \&.Bsx 1.0
113080387638SSascha Wildner.Dl \&.Bsx
113180387638SSascha Wildner.Pp
113280387638SSascha WildnerSee also
113354ba9607SSascha Wildner.Ic \&At ,
113454ba9607SSascha Wildner.Ic \&Bx ,
113554ba9607SSascha Wildner.Ic \&Dx ,
113654ba9607SSascha Wildner.Ic \&Fx ,
113754ba9607SSascha Wildner.Ic \&Nx ,
113880387638SSascha Wildnerand
113954ba9607SSascha Wildner.Ic \&Ox .
114054ba9607SSascha Wildner.It Ic \&Bt
1141070c62a6SFranco FichtnerSupported only for compatibility, do not use this in new manuals.
114280387638SSascha WildnerPrints
114380387638SSascha Wildner.Dq is currently in beta test.
1144*99db7d0eSSascha Wildner.Tg Bx
114554ba9607SSascha Wildner.It Ic \&Bx Op Ar version Op Ar variant
1146f88b6c16SFranco FichtnerFormat the
1147f88b6c16SFranco Fichtner.Bx
1148f88b6c16SFranco Fichtnerversion provided as an argument, or a default value if no
114980387638SSascha Wildnerargument is provided.
115080387638SSascha Wildner.Pp
115180387638SSascha WildnerExamples:
115236342e81SSascha Wildner.Dl \&.Bx 4.3 Tahoe
115380387638SSascha Wildner.Dl \&.Bx 4.4
115480387638SSascha Wildner.Dl \&.Bx
115580387638SSascha Wildner.Pp
115680387638SSascha WildnerSee also
115754ba9607SSascha Wildner.Ic \&At ,
115854ba9607SSascha Wildner.Ic \&Bsx ,
115954ba9607SSascha Wildner.Ic \&Dx ,
116054ba9607SSascha Wildner.Ic \&Fx ,
116154ba9607SSascha Wildner.Ic \&Nx ,
116280387638SSascha Wildnerand
116354ba9607SSascha Wildner.Ic \&Ox .
1164*99db7d0eSSascha Wildner.Tg Cd
116554ba9607SSascha Wildner.It Ic \&Cd Ar line
116680387638SSascha WildnerKernel configuration declaration.
116780387638SSascha WildnerThis denotes strings accepted by
116880387638SSascha Wildner.Xr config 8 .
116936342e81SSascha WildnerIt is most often used in section 4 manual pages.
117080387638SSascha Wildner.Pp
117180387638SSascha WildnerExamples:
117280387638SSascha Wildner.Dl \&.Cd device le0 at scode?
117380387638SSascha Wildner.Pp
117480387638SSascha Wildner.Em Remarks :
117580387638SSascha Wildnerthis macro is commonly abused by using quoted literals to retain
117680387638SSascha Wildnerwhitespace and align consecutive
117754ba9607SSascha Wildner.Ic \&Cd
117880387638SSascha Wildnerdeclarations.
117980387638SSascha WildnerThis practise is discouraged.
1180*99db7d0eSSascha Wildner.Tg Cm
118154ba9607SSascha Wildner.It Ic \&Cm Ar keyword ...
118280387638SSascha WildnerCommand modifiers.
1183*99db7d0eSSascha WildnerTypically used for fixed strings passed as arguments to interactive
1184*99db7d0eSSascha Wildnercommands, to commands in interpreted scripts, or to configuration
1185*99db7d0eSSascha Wildnerfile directives, unless
118654ba9607SSascha Wildner.Ic \&Fl
118736342e81SSascha Wildneris more appropriate.
118880387638SSascha Wildner.Pp
118980387638SSascha WildnerExamples:
119036342e81SSascha Wildner.Dl ".Nm mt Fl f Ar device Cm rewind"
119136342e81SSascha Wildner.Dl ".Nm ps Fl o Cm pid , Ns Cm command"
119236342e81SSascha Wildner.Dl ".Nm dd Cm if= Ns Ar file1 Cm of= Ns Ar file2"
1193*99db7d0eSSascha Wildner.Dl ".Ic set Fl o Cm vi"
1194*99db7d0eSSascha Wildner.Dl ".Ic lookup Cm file bind"
1195*99db7d0eSSascha Wildner.Dl ".Ic permit Ar identity Op Cm as Ar target"
1196*99db7d0eSSascha Wildner.Tg D1
119754ba9607SSascha Wildner.It Ic \&D1 Ar line
119880387638SSascha WildnerOne-line indented display.
119980387638SSascha WildnerThis is formatted by the default rules and is useful for simple indented
120080387638SSascha Wildnerstatements.
120180387638SSascha WildnerIt is followed by a newline.
120280387638SSascha Wildner.Pp
120380387638SSascha WildnerExamples:
120480387638SSascha Wildner.Dl \&.D1 \&Fl abcdefgh
120580387638SSascha Wildner.Pp
120680387638SSascha WildnerSee also
120754ba9607SSascha Wildner.Ic \&Bd
120880387638SSascha Wildnerand
120954ba9607SSascha Wildner.Ic \&Dl .
121054ba9607SSascha Wildner.It Ic \&Db
121154ba9607SSascha WildnerThis macro is obsolete.
121254ba9607SSascha WildnerNo replacement is needed.
121354ba9607SSascha WildnerIt is ignored by
121454ba9607SSascha Wildner.Xr mandoc 1
121554ba9607SSascha Wildnerand groff including its arguments.
121654ba9607SSascha WildnerIt was formerly used to toggle a debugging mode.
121754ba9607SSascha Wildner.It Ic \&Dc
121880387638SSascha WildnerClose a
121954ba9607SSascha Wildner.Ic \&Do
122080387638SSascha Wildnerblock.
122180387638SSascha WildnerDoes not have any tail arguments.
1222*99db7d0eSSascha Wildner.Tg Dd
122354ba9607SSascha Wildner.It Ic \&Dd Cm $\&Mdocdate$ | Ar month day , year
1224*99db7d0eSSascha WildnerDocument date for display in the page footer,
1225*99db7d0eSSascha Wildnerby convention the date of the last change.
122680387638SSascha WildnerThis is the mandatory first macro of any
122780387638SSascha Wildner.Nm
122880387638SSascha Wildnermanual.
122980387638SSascha Wildner.Pp
123080387638SSascha WildnerThe
123160e1e752SSascha Wildner.Ar month
123260e1e752SSascha Wildneris the full English month name, the
123360e1e752SSascha Wildner.Ar day
123454ba9607SSascha Wildneris an integer number, and the
123560e1e752SSascha Wildner.Ar year
123660e1e752SSascha Wildneris the full four-digit year.
123760e1e752SSascha Wildner.Pp
123860e1e752SSascha WildnerOther arguments are not portable; the
123960e1e752SSascha Wildner.Xr mandoc 1
124060e1e752SSascha Wildnerutility handles them as follows:
124160e1e752SSascha Wildner.Bl -dash -offset 3n -compact
124260e1e752SSascha Wildner.It
124360e1e752SSascha WildnerTo have the date automatically filled in by the
124460e1e752SSascha Wildner.Ox
124560e1e752SSascha Wildnerversion of
124680387638SSascha Wildner.Xr cvs 1 ,
124760e1e752SSascha Wildnerthe special string
124860e1e752SSascha Wildner.Dq $\&Mdocdate$
124960e1e752SSascha Wildnercan be given as an argument.
125060e1e752SSascha Wildner.It
1251070c62a6SFranco FichtnerThe traditional, purely numeric
1252070c62a6SFranco Fichtner.Xr man 7
1253070c62a6SFranco Fichtnerformat
1254070c62a6SFranco Fichtner.Ar year Ns \(en Ns Ar month Ns \(en Ns Ar day
1255070c62a6SFranco Fichtneris accepted, too.
125660e1e752SSascha Wildner.It
125760e1e752SSascha WildnerIf a date string cannot be parsed, it is used verbatim.
125860e1e752SSascha Wildner.It
125960e1e752SSascha WildnerIf no date string is given, the current date is used.
126060e1e752SSascha Wildner.El
126180387638SSascha Wildner.Pp
126280387638SSascha WildnerExamples:
126380387638SSascha Wildner.Dl \&.Dd $\&Mdocdate$
126454ba9607SSascha Wildner.Dl \&.Dd $\&Mdocdate: July 2 2018$
126554ba9607SSascha Wildner.Dl \&.Dd July 2, 2018
126680387638SSascha Wildner.Pp
126780387638SSascha WildnerSee also
126854ba9607SSascha Wildner.Ic \&Dt
126980387638SSascha Wildnerand
127054ba9607SSascha Wildner.Ic \&Os .
1271*99db7d0eSSascha Wildner.Tg Dl
127254ba9607SSascha Wildner.It Ic \&Dl Ar line
127354ba9607SSascha WildnerOne-line indented display.
127480387638SSascha WildnerThis is formatted as literal text and is useful for commands and
127580387638SSascha Wildnerinvocations.
127680387638SSascha WildnerIt is followed by a newline.
127780387638SSascha Wildner.Pp
127880387638SSascha WildnerExamples:
127980387638SSascha Wildner.Dl \&.Dl % mandoc mdoc.7 \e(ba less
128080387638SSascha Wildner.Pp
128180387638SSascha WildnerSee also
128254ba9607SSascha Wildner.Ic \&Ql ,
128354ba9607SSascha Wildner.Ic \&Bd Fl literal ,
128480387638SSascha Wildnerand
128554ba9607SSascha Wildner.Ic \&D1 .
128654ba9607SSascha Wildner.It Ic \&Do Ar block
128780387638SSascha WildnerBegin a block enclosed by double quotes.
128880387638SSascha WildnerDoes not have any head arguments.
128980387638SSascha Wildner.Pp
129080387638SSascha WildnerExamples:
129180387638SSascha Wildner.Bd -literal -offset indent -compact
129280387638SSascha Wildner\&.Do
129380387638SSascha WildnerApril is the cruellest month
129480387638SSascha Wildner\&.Dc
129580387638SSascha Wildner\e(em T.S. Eliot
129680387638SSascha Wildner.Ed
129780387638SSascha Wildner.Pp
129880387638SSascha WildnerSee also
129954ba9607SSascha Wildner.Ic \&Dq .
1300*99db7d0eSSascha Wildner.Tg Dq
130154ba9607SSascha Wildner.It Ic \&Dq Ar line
130280387638SSascha WildnerEncloses its arguments in
130380387638SSascha Wildner.Dq typographic
130480387638SSascha Wildnerdouble-quotes.
130580387638SSascha Wildner.Pp
130680387638SSascha WildnerExamples:
130780387638SSascha Wildner.Bd -literal -offset indent -compact
130880387638SSascha Wildner\&.Dq April is the cruellest month
130980387638SSascha Wildner\e(em T.S. Eliot
131080387638SSascha Wildner.Ed
131180387638SSascha Wildner.Pp
131280387638SSascha WildnerSee also
131354ba9607SSascha Wildner.Ic \&Qq ,
131454ba9607SSascha Wildner.Ic \&Sq ,
131580387638SSascha Wildnerand
131654ba9607SSascha Wildner.Ic \&Do .
1317*99db7d0eSSascha Wildner.Tg Dt
131854ba9607SSascha Wildner.It Ic \&Dt Ar TITLE section Op Ar arch
1319070c62a6SFranco FichtnerDocument title for display in the page header.
132080387638SSascha WildnerThis is the mandatory second macro of any
132180387638SSascha Wildner.Nm
132280387638SSascha Wildnerfile.
132380387638SSascha Wildner.Pp
132480387638SSascha WildnerIts arguments are as follows:
1325070c62a6SFranco Fichtner.Bl -tag -width section -offset 2n
1326070c62a6SFranco Fichtner.It Ar TITLE
132780387638SSascha WildnerThe document's title (name), defaulting to
1328070c62a6SFranco Fichtner.Dq UNTITLED
132980387638SSascha Wildnerif unspecified.
1330070c62a6SFranco FichtnerTo achieve a uniform appearance of page header lines,
1331070c62a6SFranco Fichtnerit should by convention be all caps.
133280387638SSascha Wildner.It Ar section
133380387638SSascha WildnerThe manual section.
133480387638SSascha WildnerThis may be one of
1335070c62a6SFranco Fichtner.Cm 1
133654ba9607SSascha Wildner.Pq General Commands ,
1337070c62a6SFranco Fichtner.Cm 2
133854ba9607SSascha Wildner.Pq System Calls ,
1339070c62a6SFranco Fichtner.Cm 3
134054ba9607SSascha Wildner.Pq Library Functions ,
1341070c62a6SFranco Fichtner.Cm 3p
134254ba9607SSascha Wildner.Pq Perl Library ,
1343070c62a6SFranco Fichtner.Cm 4
134454ba9607SSascha Wildner.Pq Device Drivers ,
1345070c62a6SFranco Fichtner.Cm 5
134654ba9607SSascha Wildner.Pq File Formats ,
1347070c62a6SFranco Fichtner.Cm 6
134854ba9607SSascha Wildner.Pq Games ,
1349070c62a6SFranco Fichtner.Cm 7
135054ba9607SSascha Wildner.Pq Miscellaneous Information ,
1351070c62a6SFranco Fichtner.Cm 8
135254ba9607SSascha Wildner.Pq System Manager's Manual ,
135380387638SSascha Wildneror
135454ba9607SSascha Wildner.Cm 9
135554ba9607SSascha Wildner.Pq Kernel Developer's Manual .
135680387638SSascha WildnerIt should correspond to the manual's filename suffix and defaults to
1357070c62a6SFranco Fichtnerthe empty string if unspecified.
135880387638SSascha Wildner.It Ar arch
135936342e81SSascha WildnerThis specifies the machine architecture a manual page applies to,
136036342e81SSascha Wildnerwhere relevant, for example
136136342e81SSascha Wildner.Cm alpha ,
136236342e81SSascha Wildner.Cm amd64 ,
136336342e81SSascha Wildner.Cm i386 ,
136480387638SSascha Wildneror
136536342e81SSascha Wildner.Cm sparc64 .
136654ba9607SSascha WildnerThe list of valid architectures varies by operating system.
136780387638SSascha Wildner.El
136880387638SSascha Wildner.Pp
136980387638SSascha WildnerExamples:
137080387638SSascha Wildner.Dl \&.Dt FOO 1
137180387638SSascha Wildner.Dl \&.Dt FOO 9 i386
137280387638SSascha Wildner.Pp
137380387638SSascha WildnerSee also
137454ba9607SSascha Wildner.Ic \&Dd
137580387638SSascha Wildnerand
137654ba9607SSascha Wildner.Ic \&Os .
1377*99db7d0eSSascha Wildner.Tg Dv
137854ba9607SSascha Wildner.It Ic \&Dv Ar identifier ...
137936342e81SSascha WildnerDefined variables such as preprocessor constants, constant symbols,
138036342e81SSascha Wildnerenumeration values, and so on.
138180387638SSascha Wildner.Pp
138280387638SSascha WildnerExamples:
138336342e81SSascha Wildner.Dl \&.Dv NULL
138480387638SSascha Wildner.Dl \&.Dv BUFSIZ
138580387638SSascha Wildner.Dl \&.Dv STDOUT_FILENO
138680387638SSascha Wildner.Pp
138780387638SSascha WildnerSee also
138854ba9607SSascha Wildner.Ic \&Er
138936342e81SSascha Wildnerand
139054ba9607SSascha Wildner.Ic \&Ev
13917888c61dSFranco Fichtnerfor special-purpose constants,
139254ba9607SSascha Wildner.Ic \&Va
13937888c61dSFranco Fichtnerfor variable symbols, and
139454ba9607SSascha Wildner.Ic \&Fd
13957888c61dSFranco Fichtnerfor listing preprocessor variable definitions in the
13967888c61dSFranco Fichtner.Em SYNOPSIS .
1397*99db7d0eSSascha Wildner.Tg Dx
139854ba9607SSascha Wildner.It Ic \&Dx Op Ar version
1399f88b6c16SFranco FichtnerFormat the
1400f88b6c16SFranco Fichtner.Dx
1401f88b6c16SFranco Fichtnerversion provided as an argument, or a default
140280387638SSascha Wildnervalue if no argument is provided.
140380387638SSascha Wildner.Pp
140480387638SSascha WildnerExamples:
140580387638SSascha Wildner.Dl \&.Dx 2.4.1
140680387638SSascha Wildner.Dl \&.Dx
140780387638SSascha Wildner.Pp
140880387638SSascha WildnerSee also
140954ba9607SSascha Wildner.Ic \&At ,
141054ba9607SSascha Wildner.Ic \&Bsx ,
141154ba9607SSascha Wildner.Ic \&Bx ,
141254ba9607SSascha Wildner.Ic \&Fx ,
141354ba9607SSascha Wildner.Ic \&Nx ,
141480387638SSascha Wildnerand
141554ba9607SSascha Wildner.Ic \&Ox .
141654ba9607SSascha Wildner.It Ic \&Ec Op Ar closing_delimiter
141780387638SSascha WildnerClose a scope started by
141854ba9607SSascha Wildner.Ic \&Eo .
141980387638SSascha Wildner.Pp
142080387638SSascha WildnerThe
142154ba9607SSascha Wildner.Ar closing_delimiter
142280387638SSascha Wildnerargument is used as the enclosure tail, for example, specifying \e(rq
142380387638SSascha Wildnerwill emulate
142454ba9607SSascha Wildner.Ic \&Dc .
142554ba9607SSascha Wildner.It Ic \&Ed
142680387638SSascha WildnerEnd a display context started by
142754ba9607SSascha Wildner.Ic \&Bd .
142854ba9607SSascha Wildner.It Ic \&Ef
142980387638SSascha WildnerEnd a font mode context started by
143054ba9607SSascha Wildner.Ic \&Bf .
143154ba9607SSascha Wildner.It Ic \&Ek
143280387638SSascha WildnerEnd a keep context started by
143354ba9607SSascha Wildner.Ic \&Bk .
143454ba9607SSascha Wildner.It Ic \&El
143580387638SSascha WildnerEnd a list context started by
143654ba9607SSascha Wildner.Ic \&Bl .
143780387638SSascha WildnerSee also
143854ba9607SSascha Wildner.Ic \&It .
1439*99db7d0eSSascha Wildner.Tg Em
144054ba9607SSascha Wildner.It Ic \&Em Ar word ...
144154ba9607SSascha WildnerRequest an italic font.
144254ba9607SSascha WildnerIf the output device does not provide that, underline.
144354ba9607SSascha Wildner.Pp
144454ba9607SSascha WildnerThis is most often used for stress emphasis (not to be confused with
144554ba9607SSascha Wildnerimportance, see
144654ba9607SSascha Wildner.Ic \&Sy ) .
144754ba9607SSascha WildnerIn the rare cases where none of the semantic markup macros fit,
144854ba9607SSascha Wildnerit can also be used for technical terms and placeholders, except
144954ba9607SSascha Wildnerthat for syntax elements,
145054ba9607SSascha Wildner.Ic \&Sy
145180387638SSascha Wildnerand
145254ba9607SSascha Wildner.Ic \&Ar
145354ba9607SSascha Wildnerare preferred, respectively.
145480387638SSascha Wildner.Pp
145580387638SSascha WildnerExamples:
145654ba9607SSascha Wildner.Bd -literal -compact -offset indent
145754ba9607SSascha WildnerSelected lines are those
145854ba9607SSascha Wildner\&.Em not
145954ba9607SSascha Wildnermatching any of the specified patterns.
146054ba9607SSascha WildnerSome of the functions use a
146154ba9607SSascha Wildner\&.Em hold space
146254ba9607SSascha Wildnerto save the pattern space for subsequent retrieval.
146354ba9607SSascha Wildner.Ed
146480387638SSascha Wildner.Pp
146580387638SSascha WildnerSee also
146654ba9607SSascha Wildner.Ic \&No ,
146754ba9607SSascha Wildner.Ic \&Ql ,
146880387638SSascha Wildnerand
146954ba9607SSascha Wildner.Ic \&Sy .
147054ba9607SSascha Wildner.It Ic \&En Ar word ...
1471070c62a6SFranco FichtnerThis macro is obsolete.
1472070c62a6SFranco FichtnerUse
147354ba9607SSascha Wildner.Ic \&Eo
1474070c62a6SFranco Fichtneror any of the other enclosure macros.
1475070c62a6SFranco Fichtner.Pp
1476070c62a6SFranco FichtnerIt encloses its argument in the delimiters specified by the last
147754ba9607SSascha Wildner.Ic \&Es
1478070c62a6SFranco Fichtnermacro.
1479*99db7d0eSSascha Wildner.Tg Eo
148054ba9607SSascha Wildner.It Ic \&Eo Op Ar opening_delimiter
148180387638SSascha WildnerAn arbitrary enclosure.
148280387638SSascha WildnerThe
148354ba9607SSascha Wildner.Ar opening_delimiter
148480387638SSascha Wildnerargument is used as the enclosure head, for example, specifying \e(lq
148580387638SSascha Wildnerwill emulate
148654ba9607SSascha Wildner.Ic \&Do .
1487*99db7d0eSSascha Wildner.Tg Er
148854ba9607SSascha Wildner.It Ic \&Er Ar identifier ...
148936342e81SSascha WildnerError constants for definitions of the
149036342e81SSascha Wildner.Va errno
149136342e81SSascha Wildnerlibc global variable.
149236342e81SSascha WildnerThis is most often used in section 2 and 3 manual pages.
149380387638SSascha Wildner.Pp
149480387638SSascha WildnerExamples:
149580387638SSascha Wildner.Dl \&.Er EPERM
149680387638SSascha Wildner.Dl \&.Er ENOENT
149780387638SSascha Wildner.Pp
149880387638SSascha WildnerSee also
149954ba9607SSascha Wildner.Ic \&Dv
150036342e81SSascha Wildnerfor general constants.
150154ba9607SSascha Wildner.It Ic \&Es Ar opening_delimiter closing_delimiter
1502070c62a6SFranco FichtnerThis macro is obsolete.
1503070c62a6SFranco FichtnerUse
150454ba9607SSascha Wildner.Ic \&Eo
1505070c62a6SFranco Fichtneror any of the other enclosure macros.
1506070c62a6SFranco Fichtner.Pp
1507070c62a6SFranco FichtnerIt takes two arguments, defining the delimiters to be used by subsequent
150854ba9607SSascha Wildner.Ic \&En
1509070c62a6SFranco Fichtnermacros.
1510*99db7d0eSSascha Wildner.Tg Ev
151154ba9607SSascha Wildner.It Ic \&Ev Ar identifier ...
151280387638SSascha WildnerEnvironmental variables such as those specified in
151380387638SSascha Wildner.Xr environ 7 .
151480387638SSascha Wildner.Pp
151580387638SSascha WildnerExamples:
151680387638SSascha Wildner.Dl \&.Ev DISPLAY
151780387638SSascha Wildner.Dl \&.Ev PATH
151836342e81SSascha Wildner.Pp
151936342e81SSascha WildnerSee also
152054ba9607SSascha Wildner.Ic \&Dv
152136342e81SSascha Wildnerfor general constants.
1522*99db7d0eSSascha Wildner.Tg Ex
152354ba9607SSascha Wildner.It Ic \&Ex Fl std Op Ar utility ...
152436342e81SSascha WildnerInsert a standard sentence regarding command exit values of 0 on success
152536342e81SSascha Wildnerand >0 on failure.
152636342e81SSascha WildnerThis is most often used in section 1, 6, and 8 manual pages.
152780387638SSascha Wildner.Pp
152836342e81SSascha WildnerIf
152980387638SSascha Wildner.Ar utility
153080387638SSascha Wildneris not specified, the document's name set by
153154ba9607SSascha Wildner.Ic \&Nm
153280387638SSascha Wildneris used.
153336342e81SSascha WildnerMultiple
153436342e81SSascha Wildner.Ar utility
153536342e81SSascha Wildnerarguments are treated as separate utilities.
153680387638SSascha Wildner.Pp
153780387638SSascha WildnerSee also
153854ba9607SSascha Wildner.Ic \&Rv .
1539*99db7d0eSSascha Wildner.Tg Fa
154054ba9607SSascha Wildner.It Ic \&Fa Ar argument ...
154154ba9607SSascha WildnerFunction argument or parameter.
1542070c62a6SFranco FichtnerEach argument may be a name and a type (recommended for the
1543070c62a6SFranco Fichtner.Em SYNOPSIS
1544070c62a6SFranco Fichtnersection), a name alone (for function invocations),
1545070c62a6SFranco Fichtneror a type alone (for function prototypes).
1546070c62a6SFranco FichtnerIf both a type and a name are given or if the type consists of multiple
1547070c62a6SFranco Fichtnerwords, all words belonging to the same function argument have to be
1548070c62a6SFranco Fichtnergiven in a single argument to the
154954ba9607SSascha Wildner.Ic \&Fa
1550070c62a6SFranco Fichtnermacro.
1551070c62a6SFranco Fichtner.Pp
1552070c62a6SFranco FichtnerThis macro is also used to specify the field name of a structure.
1553070c62a6SFranco Fichtner.Pp
155480387638SSascha WildnerMost often, the
155554ba9607SSascha Wildner.Ic \&Fa
155680387638SSascha Wildnermacro is used in the
155780387638SSascha Wildner.Em SYNOPSIS
155880387638SSascha Wildnerwithin
155954ba9607SSascha Wildner.Ic \&Fo
1560070c62a6SFranco Fichtnerblocks when documenting multi-line function prototypes.
156180387638SSascha WildnerIf invoked with multiple arguments, the arguments are separated by a
156280387638SSascha Wildnercomma.
156380387638SSascha WildnerFurthermore, if the following macro is another
156454ba9607SSascha Wildner.Ic \&Fa ,
156580387638SSascha Wildnerthe last argument will also have a trailing comma.
156680387638SSascha Wildner.Pp
156780387638SSascha WildnerExamples:
156880387638SSascha Wildner.Dl \&.Fa \(dqconst char *p\(dq
156980387638SSascha Wildner.Dl \&.Fa \(dqint a\(dq \(dqint b\(dq \(dqint c\(dq
1570070c62a6SFranco Fichtner.Dl \&.Fa \(dqchar *\(dq size_t
157180387638SSascha Wildner.Pp
157280387638SSascha WildnerSee also
157354ba9607SSascha Wildner.Ic \&Fo .
157454ba9607SSascha Wildner.It Ic \&Fc
157580387638SSascha WildnerEnd a function context started by
157654ba9607SSascha Wildner.Ic \&Fo .
1577*99db7d0eSSascha Wildner.Tg Fd
157854ba9607SSascha Wildner.It Ic \&Fd Pf # Ar directive Op Ar argument ...
15797888c61dSFranco FichtnerPreprocessor directive, in particular for listing it in the
15807888c61dSFranco Fichtner.Em SYNOPSIS .
15817888c61dSFranco FichtnerHistorically, it was also used to document include files.
15827888c61dSFranco FichtnerThe latter usage has been deprecated in favour of
158354ba9607SSascha Wildner.Ic \&In .
15847888c61dSFranco Fichtner.Pp
15857888c61dSFranco FichtnerExamples:
15867888c61dSFranco Fichtner.Dl \&.Fd #define sa_handler __sigaction_u.__sa_handler
15877888c61dSFranco Fichtner.Dl \&.Fd #define SIO_MAXNFDS
15887888c61dSFranco Fichtner.Dl \&.Fd #ifdef FS_DEBUG
15897888c61dSFranco Fichtner.Dl \&.Ft void
15907888c61dSFranco Fichtner.Dl \&.Fn dbg_open \(dqconst char *\(dq
15917888c61dSFranco Fichtner.Dl \&.Fd #endif
159280387638SSascha Wildner.Pp
159380387638SSascha WildnerSee also
15947888c61dSFranco Fichtner.Sx MANUAL STRUCTURE ,
159554ba9607SSascha Wildner.Ic \&In ,
159680387638SSascha Wildnerand
159754ba9607SSascha Wildner.Ic \&Dv .
1598*99db7d0eSSascha Wildner.Tg Fl
159954ba9607SSascha Wildner.It Ic \&Fl Op Ar word ...
160036342e81SSascha WildnerCommand-line flag or option.
160180387638SSascha WildnerUsed when listing arguments to command-line utilities.
1602*99db7d0eSSascha WildnerFor each argument, prints an ASCII hyphen-minus character
1603*99db7d0eSSascha Wildner.Sq \- ,
1604*99db7d0eSSascha Wildnerimmediately followed by the argument.
1605*99db7d0eSSascha WildnerIf no arguments are provided, a hyphen-minus is printed followed by a space.
1606*99db7d0eSSascha WildnerIf the argument is a macro, a hyphen-minus is prefixed
1607*99db7d0eSSascha Wildnerto the subsequent macro output.
160880387638SSascha Wildner.Pp
160980387638SSascha WildnerExamples:
1610*99db7d0eSSascha Wildner.Dl ".Nm du Op Fl H | L | P"
1611*99db7d0eSSascha Wildner.Dl ".Nm ls Op Fl 1AaCcdFfgHhikLlmnopqRrSsTtux"
1612*99db7d0eSSascha Wildner.Dl ".Nm route Cm add Fl inet Ar destination gateway"
1613*99db7d0eSSascha Wildner.Dl ".Nm locate.updatedb Op Fl \e-fcodes Ns = Ns Ar dbfile"
1614*99db7d0eSSascha Wildner.Dl ".Nm aucat Fl o Fl"
1615*99db7d0eSSascha Wildner.Dl ".Nm kill Fl Ar signal_number"
1616*99db7d0eSSascha Wildner.Pp
1617*99db7d0eSSascha WildnerFor GNU-sytle long options, escaping the additional hyphen-minus is not
1618*99db7d0eSSascha Wildnerstrictly required, but may be safer with future versions of GNU troff; see
1619*99db7d0eSSascha Wildner.Xr mandoc_char 7
1620*99db7d0eSSascha Wildnerfor details.
162180387638SSascha Wildner.Pp
162280387638SSascha WildnerSee also
162354ba9607SSascha Wildner.Ic \&Cm .
1624*99db7d0eSSascha Wildner.Tg Fn
162554ba9607SSascha Wildner.It Ic \&Fn Ar funcname Op Ar argument ...
162680387638SSascha WildnerA function name.
162780387638SSascha Wildner.Pp
162880387638SSascha WildnerFunction arguments are surrounded in parenthesis and
162980387638SSascha Wildnerare delimited by commas.
163080387638SSascha WildnerIf no arguments are specified, blank parenthesis are output.
163136342e81SSascha WildnerIn the
163236342e81SSascha Wildner.Em SYNOPSIS
163336342e81SSascha Wildnersection, this macro starts a new output line,
163436342e81SSascha Wildnerand a blank line is automatically inserted between function definitions.
163580387638SSascha Wildner.Pp
163680387638SSascha WildnerExamples:
163736342e81SSascha Wildner.Dl \&.Fn \(dqint funcname\(dq \(dqint arg0\(dq \(dqint arg1\(dq
163836342e81SSascha Wildner.Dl \&.Fn funcname \(dqint arg0\(dq
163980387638SSascha Wildner.Dl \&.Fn funcname arg0
164054ba9607SSascha Wildner.Bd -literal -offset indent
164180387638SSascha Wildner\&.Ft functype
164280387638SSascha Wildner\&.Fn funcname
164380387638SSascha Wildner.Ed
164480387638SSascha Wildner.Pp
164580387638SSascha WildnerWhen referring to a function documented in another manual page, use
164654ba9607SSascha Wildner.Ic \&Xr
164780387638SSascha Wildnerinstead.
164880387638SSascha WildnerSee also
164936342e81SSascha Wildner.Sx MANUAL STRUCTURE ,
165054ba9607SSascha Wildner.Ic \&Fo ,
165180387638SSascha Wildnerand
165254ba9607SSascha Wildner.Ic \&Ft .
1653*99db7d0eSSascha Wildner.Tg Fo
165454ba9607SSascha Wildner.It Ic \&Fo Ar funcname
165580387638SSascha WildnerBegin a function block.
165680387638SSascha WildnerThis is a multi-line version of
165754ba9607SSascha Wildner.Ic \&Fn .
165880387638SSascha Wildner.Pp
165980387638SSascha WildnerInvocations usually occur in the following context:
166080387638SSascha Wildner.Bd -ragged -offset indent
166154ba9607SSascha Wildner.Pf \. Ic \&Ft Ar functype
166280387638SSascha Wildner.br
166354ba9607SSascha Wildner.Pf \. Ic \&Fo Ar funcname
166480387638SSascha Wildner.br
166554ba9607SSascha Wildner.Pf \. Ic \&Fa Qq Ar argtype Ar argname
166680387638SSascha Wildner.br
166760e1e752SSascha Wildner\&.\.\.
166880387638SSascha Wildner.br
166954ba9607SSascha Wildner.Pf \. Ic \&Fc
167080387638SSascha Wildner.Ed
167180387638SSascha Wildner.Pp
167280387638SSascha WildnerA
167354ba9607SSascha Wildner.Ic \&Fo
167480387638SSascha Wildnerscope is closed by
167554ba9607SSascha Wildner.Ic \&Fc .
167680387638SSascha Wildner.Pp
167780387638SSascha WildnerSee also
167880387638SSascha Wildner.Sx MANUAL STRUCTURE ,
167954ba9607SSascha Wildner.Ic \&Fa ,
168054ba9607SSascha Wildner.Ic \&Fc ,
168180387638SSascha Wildnerand
168254ba9607SSascha Wildner.Ic \&Ft .
168354ba9607SSascha Wildner.It Ic \&Fr Ar number
1684070c62a6SFranco FichtnerThis macro is obsolete.
1685070c62a6SFranco FichtnerNo replacement markup is needed.
168636342e81SSascha Wildner.Pp
1687070c62a6SFranco FichtnerIt was used to show numerical function return values in an italic font.
1688*99db7d0eSSascha Wildner.Tg Ft
168954ba9607SSascha Wildner.It Ic \&Ft Ar functype
169080387638SSascha WildnerA function type.
169180387638SSascha Wildner.Pp
169236342e81SSascha WildnerIn the
169336342e81SSascha Wildner.Em SYNOPSIS
169436342e81SSascha Wildnersection, a new output line is started after this macro.
169536342e81SSascha Wildner.Pp
169680387638SSascha WildnerExamples:
169780387638SSascha Wildner.Dl \&.Ft int
169880387638SSascha Wildner.Bd -literal -offset indent -compact
169980387638SSascha Wildner\&.Ft functype
170080387638SSascha Wildner\&.Fn funcname
170180387638SSascha Wildner.Ed
170280387638SSascha Wildner.Pp
170380387638SSascha WildnerSee also
170480387638SSascha Wildner.Sx MANUAL STRUCTURE ,
170554ba9607SSascha Wildner.Ic \&Fn ,
170680387638SSascha Wildnerand
170754ba9607SSascha Wildner.Ic \&Fo .
1708*99db7d0eSSascha Wildner.Tg Fx
170954ba9607SSascha Wildner.It Ic \&Fx Op Ar version
171080387638SSascha WildnerFormat the
171180387638SSascha Wildner.Fx
171280387638SSascha Wildnerversion provided as an argument, or a default value
171380387638SSascha Wildnerif no argument is provided.
171480387638SSascha Wildner.Pp
171580387638SSascha WildnerExamples:
171680387638SSascha Wildner.Dl \&.Fx 7.1
171780387638SSascha Wildner.Dl \&.Fx
171880387638SSascha Wildner.Pp
171980387638SSascha WildnerSee also
172054ba9607SSascha Wildner.Ic \&At ,
172154ba9607SSascha Wildner.Ic \&Bsx ,
172254ba9607SSascha Wildner.Ic \&Bx ,
172354ba9607SSascha Wildner.Ic \&Dx ,
172454ba9607SSascha Wildner.Ic \&Nx ,
172580387638SSascha Wildnerand
172654ba9607SSascha Wildner.Ic \&Ox .
172754ba9607SSascha Wildner.It Ic \&Hf Ar filename
172836342e81SSascha WildnerThis macro is not implemented in
172936342e81SSascha Wildner.Xr mandoc 1 .
173036342e81SSascha WildnerIt was used to include the contents of a (header) file literally.
1731*99db7d0eSSascha Wildner.Tg Ic
173254ba9607SSascha Wildner.It Ic \&Ic Ar keyword ...
1733*99db7d0eSSascha WildnerInternal or interactive command, or configuration instruction
1734*99db7d0eSSascha Wildnerin a configuration file.
1735*99db7d0eSSascha WildnerSee also
1736*99db7d0eSSascha Wildner.Ic \&Cm .
173780387638SSascha Wildner.Pp
173880387638SSascha WildnerExamples:
173936342e81SSascha Wildner.Dl \&.Ic :wq
174080387638SSascha Wildner.Dl \&.Ic hash
174180387638SSascha Wildner.Dl \&.Ic alias
174280387638SSascha Wildner.Pp
174380387638SSascha WildnerNote that using
174454ba9607SSascha Wildner.Ic \&Ql ,
174554ba9607SSascha Wildner.Ic \&Dl ,
174680387638SSascha Wildneror
174754ba9607SSascha Wildner.Ic \&Bd Fl literal
174854ba9607SSascha Wildneris preferred for displaying code samples; the
174954ba9607SSascha Wildner.Ic \&Ic
175054ba9607SSascha Wildnermacro is used when referring to an individual command name.
1751*99db7d0eSSascha Wildner.Tg In
175254ba9607SSascha Wildner.It Ic \&In Ar filename
175354ba9607SSascha WildnerThe name of an include file.
175454ba9607SSascha WildnerThis macro is most often used in section 2, 3, and 9 manual pages.
175554ba9607SSascha Wildner.Pp
175636342e81SSascha WildnerWhen invoked as the first macro on an input line in the
175780387638SSascha Wildner.Em SYNOPSIS
175836342e81SSascha Wildnersection, the argument is displayed in angle brackets
175936342e81SSascha Wildnerand preceded by
176054ba9607SSascha Wildner.Qq #include ,
176136342e81SSascha Wildnerand a blank line is inserted in front if there is a preceding
176236342e81SSascha Wildnerfunction declaration.
176354ba9607SSascha WildnerIn other sections, it only encloses its argument in angle brackets
176454ba9607SSascha Wildnerand causes no line break.
176580387638SSascha Wildner.Pp
176680387638SSascha WildnerExamples:
176736342e81SSascha Wildner.Dl \&.In sys/types.h
176880387638SSascha Wildner.Pp
176980387638SSascha WildnerSee also
177080387638SSascha Wildner.Sx MANUAL STRUCTURE .
1771*99db7d0eSSascha Wildner.Tg It
177254ba9607SSascha Wildner.It Ic \&It Op Ar head
177380387638SSascha WildnerA list item.
177480387638SSascha WildnerThe syntax of this macro depends on the list type.
177580387638SSascha Wildner.Pp
177680387638SSascha WildnerLists
177780387638SSascha Wildnerof type
177880387638SSascha Wildner.Fl hang ,
177980387638SSascha Wildner.Fl ohang ,
178080387638SSascha Wildner.Fl inset ,
178180387638SSascha Wildnerand
178280387638SSascha Wildner.Fl diag
178380387638SSascha Wildnerhave the following syntax:
178480387638SSascha Wildner.Pp
178554ba9607SSascha Wildner.D1 Pf \. Ic \&It Ar args
178680387638SSascha Wildner.Pp
178780387638SSascha WildnerLists of type
178880387638SSascha Wildner.Fl bullet ,
178980387638SSascha Wildner.Fl dash ,
179080387638SSascha Wildner.Fl enum ,
179180387638SSascha Wildner.Fl hyphen
179280387638SSascha Wildnerand
179380387638SSascha Wildner.Fl item
179480387638SSascha Wildnerhave the following syntax:
179580387638SSascha Wildner.Pp
179654ba9607SSascha Wildner.D1 Pf \. Ic \&It
179780387638SSascha Wildner.Pp
179880387638SSascha Wildnerwith subsequent lines interpreted within the scope of the
179954ba9607SSascha Wildner.Ic \&It
180080387638SSascha Wildneruntil either a closing
180154ba9607SSascha Wildner.Ic \&El
180280387638SSascha Wildneror another
180354ba9607SSascha Wildner.Ic \&It .
180480387638SSascha Wildner.Pp
180580387638SSascha WildnerThe
180680387638SSascha Wildner.Fl tag
180780387638SSascha Wildnerlist has the following syntax:
180880387638SSascha Wildner.Pp
180954ba9607SSascha Wildner.D1 Pf \. Ic \&It Op Cm args
181080387638SSascha Wildner.Pp
181180387638SSascha WildnerSubsequent lines are interpreted as with
181280387638SSascha Wildner.Fl bullet
181380387638SSascha Wildnerand family.
181480387638SSascha WildnerThe line arguments correspond to the list's left-hand side; body
181580387638SSascha Wildnerarguments correspond to the list's contents.
181680387638SSascha Wildner.Pp
181780387638SSascha WildnerThe
181880387638SSascha Wildner.Fl column
181980387638SSascha Wildnerlist is the most complicated.
182080387638SSascha WildnerIts syntax is as follows:
182180387638SSascha Wildner.Pp
182254ba9607SSascha Wildner.D1 Pf \. Ic \&It Ar cell Op Ic \&Ta Ar cell ...
182354ba9607SSascha Wildner.D1 Pf \. Ic \&It Ar cell Op <TAB> Ar cell ...
182480387638SSascha Wildner.Pp
182536342e81SSascha WildnerThe arguments consist of one or more lines of text and macros
182636342e81SSascha Wildnerrepresenting a complete table line.
182754ba9607SSascha WildnerCells within the line are delimited by the special
182854ba9607SSascha Wildner.Ic \&Ta
182954ba9607SSascha Wildnerblock macro or by literal tab characters.
183054ba9607SSascha Wildner.Pp
183154ba9607SSascha WildnerUsing literal tabs is strongly discouraged because they are very
183254ba9607SSascha Wildnerhard to use correctly and
183354ba9607SSascha Wildner.Nm
183454ba9607SSascha Wildnercode using them is very hard to read.
183554ba9607SSascha WildnerIn particular, a blank character is syntactically significant
183654ba9607SSascha Wildnerbefore and after the literal tab character.
183754ba9607SSascha WildnerIf a word precedes or follows the tab without an intervening blank,
183854ba9607SSascha Wildnerthat word is never interpreted as a macro call, but always output
183954ba9607SSascha Wildnerliterally.
184054ba9607SSascha Wildner.Pp
184136342e81SSascha WildnerThe tab cell delimiter may only be used within the
184254ba9607SSascha Wildner.Ic \&It
184336342e81SSascha Wildnerline itself; on following lines, only the
184454ba9607SSascha Wildner.Ic \&Ta
184554ba9607SSascha Wildnermacro can be used to delimit cells, and portability requires that
184654ba9607SSascha Wildner.Ic \&Ta
184754ba9607SSascha Wildneris called by other macros: some parsers do not recognize it when
184854ba9607SSascha Wildnerit appears as the first macro on a line.
184936342e81SSascha Wildner.Pp
185036342e81SSascha WildnerNote that quoted strings may span tab-delimited cells on an
185154ba9607SSascha Wildner.Ic \&It
185236342e81SSascha Wildnerline.
185336342e81SSascha WildnerFor example,
185480387638SSascha Wildner.Pp
185554ba9607SSascha Wildner.Dl .It \(dqcol1 ,\& <TAB> col2 ,\(dq \&;
185680387638SSascha Wildner.Pp
185754ba9607SSascha Wildnerwill preserve the whitespace before both commas,
185854ba9607SSascha Wildnerbut not the whitespace before the semicolon.
185980387638SSascha Wildner.Pp
186080387638SSascha WildnerSee also
186154ba9607SSascha Wildner.Ic \&Bl .
1862*99db7d0eSSascha Wildner.Tg Lb
186354ba9607SSascha Wildner.It Ic \&Lb Cm lib Ns Ar name
186480387638SSascha WildnerSpecify a library.
186580387638SSascha Wildner.Pp
186680387638SSascha WildnerThe
186754ba9607SSascha Wildner.Ar name
186880387638SSascha Wildnerparameter may be a system library, such as
186954ba9607SSascha Wildner.Cm z
187080387638SSascha Wildneror
187154ba9607SSascha Wildner.Cm pam ,
187280387638SSascha Wildnerin which case a small library description is printed next to the linker
187380387638SSascha Wildnerinvocation; or a custom library, in which case the library name is
187480387638SSascha Wildnerprinted in quotes.
187580387638SSascha WildnerThis is most commonly used in the
187680387638SSascha Wildner.Em SYNOPSIS
187780387638SSascha Wildnersection as described in
187880387638SSascha Wildner.Sx MANUAL STRUCTURE .
187980387638SSascha Wildner.Pp
188080387638SSascha WildnerExamples:
188180387638SSascha Wildner.Dl \&.Lb libz
18827888c61dSFranco Fichtner.Dl \&.Lb libmandoc
1883*99db7d0eSSascha Wildner.Tg Li
188454ba9607SSascha Wildner.It Ic \&Li Ar word ...
188554ba9607SSascha WildnerRequest a typewriter (literal) font.
188654ba9607SSascha WildnerDeprecated because on terminal output devices, this is usually
188754ba9607SSascha Wildnerindistinguishable from normal text.
188854ba9607SSascha WildnerFor literal displays, use
188954ba9607SSascha Wildner.Ic \&Ql Pq in-line ,
189054ba9607SSascha Wildner.Ic \&Dl Pq single line ,
189154ba9607SSascha Wildneror
189254ba9607SSascha Wildner.Ic \&Bd Fl literal Pq multi-line
189354ba9607SSascha Wildnerinstead.
1894*99db7d0eSSascha Wildner.Tg Lk
189554ba9607SSascha Wildner.It Ic \&Lk Ar uri Op Ar display_name
189680387638SSascha WildnerFormat a hyperlink.
189780387638SSascha Wildner.Pp
189880387638SSascha WildnerExamples:
1899*99db7d0eSSascha Wildner.Dl \&.Lk https://bsd.lv \(dqThe BSD.lv Project\(dq
1900*99db7d0eSSascha Wildner.Dl \&.Lk https://bsd.lv
190180387638SSascha Wildner.Pp
190280387638SSascha WildnerSee also
190354ba9607SSascha Wildner.Ic \&Mt .
190454ba9607SSascha Wildner.It Ic \&Lp
190554ba9607SSascha WildnerDeprecated synonym for
190654ba9607SSascha Wildner.Ic \&Pp .
1907*99db7d0eSSascha Wildner.Tg Ms
190854ba9607SSascha Wildner.It Ic \&Ms Ar name
190980387638SSascha WildnerDisplay a mathematical symbol.
191080387638SSascha Wildner.Pp
191180387638SSascha WildnerExamples:
191280387638SSascha Wildner.Dl \&.Ms sigma
191380387638SSascha Wildner.Dl \&.Ms aleph
1914*99db7d0eSSascha Wildner.Tg Mt
191554ba9607SSascha Wildner.It Ic \&Mt Ar localpart Ns @ Ns Ar domain
191680387638SSascha WildnerFormat a
191780387638SSascha Wildner.Dq mailto:
191880387638SSascha Wildnerhyperlink.
191980387638SSascha Wildner.Pp
192080387638SSascha WildnerExamples:
192180387638SSascha Wildner.Dl \&.Mt discuss@manpages.bsd.lv
1922f88b6c16SFranco Fichtner.Dl \&.An Kristaps Dzonsons \&Aq \&Mt kristaps@bsd.lv
1923*99db7d0eSSascha Wildner.Tg Nd
192454ba9607SSascha Wildner.It Ic \&Nd Ar line
192580387638SSascha WildnerA one line description of the manual's content.
192654ba9607SSascha WildnerThis is the mandatory last macro of the
192754ba9607SSascha Wildner.Em NAME
192854ba9607SSascha Wildnersection and not appropriate for other sections.
192980387638SSascha Wildner.Pp
193080387638SSascha WildnerExamples:
193154ba9607SSascha Wildner.Dl Pf . Ic \&Nd mdoc language reference
193254ba9607SSascha Wildner.Dl Pf . Ic \&Nd format and display UNIX manuals
193380387638SSascha Wildner.Pp
193480387638SSascha WildnerThe
193554ba9607SSascha Wildner.Ic \&Nd
193680387638SSascha Wildnermacro technically accepts child macros and terminates with a subsequent
193754ba9607SSascha Wildner.Ic \&Sh
193880387638SSascha Wildnerinvocation.
193980387638SSascha WildnerDo not assume this behaviour: some
194080387638SSascha Wildner.Xr whatis 1
194180387638SSascha Wildnerdatabase generators are not smart enough to parse more than the line
194280387638SSascha Wildnerarguments and will display macros verbatim.
194380387638SSascha Wildner.Pp
194480387638SSascha WildnerSee also
194554ba9607SSascha Wildner.Ic \&Nm .
1946*99db7d0eSSascha Wildner.Tg Nm
194754ba9607SSascha Wildner.It Ic \&Nm Op Ar name
194880387638SSascha WildnerThe name of the manual page, or \(em in particular in section 1, 6,
194980387638SSascha Wildnerand 8 pages \(em of an additional command or feature documented in
195080387638SSascha Wildnerthe manual page.
195180387638SSascha WildnerWhen first invoked, the
195254ba9607SSascha Wildner.Ic \&Nm
195380387638SSascha Wildnermacro expects a single argument, the name of the manual page.
195480387638SSascha WildnerUsually, the first invocation happens in the
195580387638SSascha Wildner.Em NAME
195680387638SSascha Wildnersection of the page.
195780387638SSascha WildnerThe specified name will be remembered and used whenever the macro is
195880387638SSascha Wildnercalled again without arguments later in the page.
195980387638SSascha WildnerThe
196054ba9607SSascha Wildner.Ic \&Nm
196180387638SSascha Wildnermacro uses
196280387638SSascha Wildner.Sx Block full-implicit
196380387638SSascha Wildnersemantics when invoked as the first macro on an input line in the
196480387638SSascha Wildner.Em SYNOPSIS
196580387638SSascha Wildnersection; otherwise, it uses ordinary
196680387638SSascha Wildner.Sx In-line
196780387638SSascha Wildnersemantics.
196880387638SSascha Wildner.Pp
196980387638SSascha WildnerExamples:
197080387638SSascha Wildner.Bd -literal -offset indent
197180387638SSascha Wildner\&.Sh SYNOPSIS
197280387638SSascha Wildner\&.Nm cat
197380387638SSascha Wildner\&.Op Fl benstuv
197480387638SSascha Wildner\&.Op Ar
197580387638SSascha Wildner.Ed
197680387638SSascha Wildner.Pp
197780387638SSascha WildnerIn the
197880387638SSascha Wildner.Em SYNOPSIS
197980387638SSascha Wildnerof section 2, 3 and 9 manual pages, use the
198054ba9607SSascha Wildner.Ic \&Fn
198180387638SSascha Wildnermacro rather than
198254ba9607SSascha Wildner.Ic \&Nm
198380387638SSascha Wildnerto mark up the name of the manual page.
1984*99db7d0eSSascha Wildner.Tg No
198554ba9607SSascha Wildner.It Ic \&No Ar word ...
198636342e81SSascha WildnerNormal text.
198736342e81SSascha WildnerCloses the scope of any preceding in-line macro.
198836342e81SSascha WildnerWhen used after physical formatting macros like
198954ba9607SSascha Wildner.Ic \&Em
199036342e81SSascha Wildneror
199154ba9607SSascha Wildner.Ic \&Sy ,
199236342e81SSascha Wildnerswitches back to the standard font face and weight.
199336342e81SSascha WildnerCan also be used to embed plain text strings in macro lines
199436342e81SSascha Wildnerusing semantic annotation macros.
199580387638SSascha Wildner.Pp
199680387638SSascha WildnerExamples:
199736342e81SSascha Wildner.Dl ".Em italic , Sy bold , No and roman"
199854ba9607SSascha Wildner.Bd -literal -offset indent
199936342e81SSascha Wildner\&.Sm off
200036342e81SSascha Wildner\&.Cm :C No / Ar pattern No / Ar replacement No /
200136342e81SSascha Wildner\&.Sm on
200236342e81SSascha Wildner.Ed
200336342e81SSascha Wildner.Pp
200436342e81SSascha WildnerSee also
200554ba9607SSascha Wildner.Ic \&Em ,
200654ba9607SSascha Wildner.Ic \&Ql ,
200736342e81SSascha Wildnerand
200854ba9607SSascha Wildner.Ic \&Sy .
2009*99db7d0eSSascha Wildner.Tg Ns
201054ba9607SSascha Wildner.It Ic \&Ns
201136342e81SSascha WildnerSuppress a space between the output of the preceding macro
201236342e81SSascha Wildnerand the following text or macro.
201336342e81SSascha WildnerFollowing invocation, input is interpreted as normal text
201436342e81SSascha Wildnerjust like after an
201554ba9607SSascha Wildner.Ic \&No
201636342e81SSascha Wildnermacro.
201780387638SSascha Wildner.Pp
201860e1e752SSascha WildnerThis has no effect when invoked at the start of a macro line.
201960e1e752SSascha Wildner.Pp
202080387638SSascha WildnerExamples:
202136342e81SSascha Wildner.Dl ".Ar name Ns = Ns Ar value"
202236342e81SSascha Wildner.Dl ".Cm :M Ns Ar pattern"
202336342e81SSascha Wildner.Dl ".Fl o Ns Ar output"
202480387638SSascha Wildner.Pp
202580387638SSascha WildnerSee also
202654ba9607SSascha Wildner.Ic \&No
202780387638SSascha Wildnerand
202854ba9607SSascha Wildner.Ic \&Sm .
2029*99db7d0eSSascha Wildner.Tg Nx
203054ba9607SSascha Wildner.It Ic \&Nx Op Ar version
203180387638SSascha WildnerFormat the
203280387638SSascha Wildner.Nx
203380387638SSascha Wildnerversion provided as an argument, or a default value if
203480387638SSascha Wildnerno argument is provided.
203580387638SSascha Wildner.Pp
203680387638SSascha WildnerExamples:
203780387638SSascha Wildner.Dl \&.Nx 5.01
203880387638SSascha Wildner.Dl \&.Nx
203980387638SSascha Wildner.Pp
204080387638SSascha WildnerSee also
204154ba9607SSascha Wildner.Ic \&At ,
204254ba9607SSascha Wildner.Ic \&Bsx ,
204354ba9607SSascha Wildner.Ic \&Bx ,
204454ba9607SSascha Wildner.Ic \&Dx ,
204554ba9607SSascha Wildner.Ic \&Fx ,
204680387638SSascha Wildnerand
204754ba9607SSascha Wildner.Ic \&Ox .
204854ba9607SSascha Wildner.It Ic \&Oc
204980387638SSascha WildnerClose multi-line
205054ba9607SSascha Wildner.Ic \&Oo
205180387638SSascha Wildnercontext.
205254ba9607SSascha Wildner.It Ic \&Oo Ar block
205380387638SSascha WildnerMulti-line version of
205454ba9607SSascha Wildner.Ic \&Op .
205580387638SSascha Wildner.Pp
205680387638SSascha WildnerExamples:
205780387638SSascha Wildner.Bd -literal -offset indent -compact
205880387638SSascha Wildner\&.Oo
205980387638SSascha Wildner\&.Op Fl flag Ns Ar value
206080387638SSascha Wildner\&.Oc
206180387638SSascha Wildner.Ed
2062*99db7d0eSSascha Wildner.Tg Op
206354ba9607SSascha Wildner.It Ic \&Op Ar line
206436342e81SSascha WildnerOptional part of a command line.
206580387638SSascha WildnerPrints the argument(s) in brackets.
206636342e81SSascha WildnerThis is most often used in the
206736342e81SSascha Wildner.Em SYNOPSIS
206836342e81SSascha Wildnersection of section 1 and 8 manual pages.
206980387638SSascha Wildner.Pp
207080387638SSascha WildnerExamples:
207180387638SSascha Wildner.Dl \&.Op \&Fl a \&Ar b
207280387638SSascha Wildner.Dl \&.Op \&Ar a | b
207380387638SSascha Wildner.Pp
207480387638SSascha WildnerSee also
207554ba9607SSascha Wildner.Ic \&Oo .
2076*99db7d0eSSascha Wildner.Tg Os
207754ba9607SSascha Wildner.It Ic \&Os Op Ar system Op Ar version
2078070c62a6SFranco FichtnerOperating system version for display in the page footer.
207980387638SSascha WildnerThis is the mandatory third macro of
208080387638SSascha Wildnerany
208180387638SSascha Wildner.Nm
208280387638SSascha Wildnerfile.
208380387638SSascha Wildner.Pp
208480387638SSascha WildnerThe optional
2085a4c7eb57SSascha Wildner.Ar system
208680387638SSascha Wildnerparameter specifies the relevant operating system or environment.
208754ba9607SSascha WildnerIt is suggested to leave it unspecified, in which case
208854ba9607SSascha Wildner.Xr mandoc 1
208954ba9607SSascha Wildneruses its
209054ba9607SSascha Wildner.Fl Ios
209154ba9607SSascha Wildnerargument or, if that isn't specified either,
209254ba9607SSascha Wildner.Fa sysname
209354ba9607SSascha Wildnerand
209454ba9607SSascha Wildner.Fa release
209554ba9607SSascha Wildneras returned by
209654ba9607SSascha Wildner.Xr uname 3 .
209780387638SSascha Wildner.Pp
209880387638SSascha WildnerExamples:
209980387638SSascha Wildner.Dl \&.Os
210080387638SSascha Wildner.Dl \&.Os KTH/CSC/TCS
210180387638SSascha Wildner.Dl \&.Os BSD 4.3
210280387638SSascha Wildner.Pp
210380387638SSascha WildnerSee also
210454ba9607SSascha Wildner.Ic \&Dd
210580387638SSascha Wildnerand
210654ba9607SSascha Wildner.Ic \&Dt .
210754ba9607SSascha Wildner.It Ic \&Ot Ar functype
2108070c62a6SFranco FichtnerThis macro is obsolete.
2109070c62a6SFranco FichtnerUse
211054ba9607SSascha Wildner.Ic \&Ft
2111070c62a6SFranco Fichtnerinstead; with
2112070c62a6SFranco Fichtner.Xr mandoc 1 ,
2113070c62a6SFranco Fichtnerboth have the same effect.
211480387638SSascha Wildner.Pp
211536342e81SSascha WildnerHistorical
2116f88b6c16SFranco Fichtner.Nm
211736342e81SSascha Wildnerpackages described it as
211836342e81SSascha Wildner.Dq "old function type (FORTRAN)" .
2119*99db7d0eSSascha Wildner.Tg Ox
212054ba9607SSascha Wildner.It Ic \&Ox Op Ar version
212180387638SSascha WildnerFormat the
212280387638SSascha Wildner.Ox
212380387638SSascha Wildnerversion provided as an argument, or a default value
212480387638SSascha Wildnerif no argument is provided.
212580387638SSascha Wildner.Pp
212680387638SSascha WildnerExamples:
212780387638SSascha Wildner.Dl \&.Ox 4.5
212880387638SSascha Wildner.Dl \&.Ox
212980387638SSascha Wildner.Pp
213080387638SSascha WildnerSee also
213154ba9607SSascha Wildner.Ic \&At ,
213254ba9607SSascha Wildner.Ic \&Bsx ,
213354ba9607SSascha Wildner.Ic \&Bx ,
213454ba9607SSascha Wildner.Ic \&Dx ,
213554ba9607SSascha Wildner.Ic \&Fx ,
213680387638SSascha Wildnerand
213754ba9607SSascha Wildner.Ic \&Nx .
2138*99db7d0eSSascha Wildner.Tg Pa
213954ba9607SSascha Wildner.It Ic \&Pa Ar name ...
214036342e81SSascha WildnerAn absolute or relative file system path, or a file or directory name.
214136342e81SSascha WildnerIf an argument is not provided, the character
214236342e81SSascha Wildner.Sq \(ti
214380387638SSascha Wildneris used as a default.
214480387638SSascha Wildner.Pp
214580387638SSascha WildnerExamples:
214680387638SSascha Wildner.Dl \&.Pa /usr/bin/mandoc
214780387638SSascha Wildner.Dl \&.Pa /usr/share/man/man7/mdoc.7
214880387638SSascha Wildner.Pp
214980387638SSascha WildnerSee also
215054ba9607SSascha Wildner.Ic \&Lk .
215154ba9607SSascha Wildner.It Ic \&Pc
215280387638SSascha WildnerClose parenthesised context opened by
215354ba9607SSascha Wildner.Ic \&Po .
2154*99db7d0eSSascha Wildner.Tg Pf
215554ba9607SSascha Wildner.It Ic \&Pf Ar prefix macro Op Ar argument ...
215654ba9607SSascha WildnerRemoves the space between its argument and the following macro.
215754ba9607SSascha WildnerIt is equivalent to:
215880387638SSascha Wildner.Pp
215954ba9607SSascha Wildner.D1 Ic \&No Pf \e& Ar prefix Ic \&Ns Ar macro Op Ar argument ...
216080387638SSascha Wildner.Pp
216154ba9607SSascha WildnerThe
216254ba9607SSascha Wildner.Ar prefix
216354ba9607SSascha Wildnerargument is not parsed for macro names or delimiters,
216454ba9607SSascha Wildnerbut used verbatim as if it were escaped.
216580387638SSascha Wildner.Pp
216680387638SSascha WildnerExamples:
216736342e81SSascha Wildner.Dl ".Pf $ Ar variable_name"
216854ba9607SSascha Wildner.Dl ".Pf . Ar macro_name"
216936342e81SSascha Wildner.Dl ".Pf 0x Ar hex_digits"
217036342e81SSascha Wildner.Pp
217136342e81SSascha WildnerSee also
217254ba9607SSascha Wildner.Ic \&Ns
217336342e81SSascha Wildnerand
217454ba9607SSascha Wildner.Ic \&Sm .
217554ba9607SSascha Wildner.It Ic \&Po Ar block
217680387638SSascha WildnerMulti-line version of
217754ba9607SSascha Wildner.Ic \&Pq .
2178*99db7d0eSSascha Wildner.Tg Pp
217954ba9607SSascha Wildner.It Ic \&Pp
218080387638SSascha WildnerBreak a paragraph.
218180387638SSascha WildnerThis will assert vertical space between prior and subsequent macros
218280387638SSascha Wildnerand/or text.
218336342e81SSascha Wildner.Pp
218436342e81SSascha WildnerParagraph breaks are not needed before or after
218554ba9607SSascha Wildner.Ic \&Sh
218636342e81SSascha Wildneror
218754ba9607SSascha Wildner.Ic \&Ss
218836342e81SSascha Wildnermacros or before displays
218954ba9607SSascha Wildner.Pq Ic \&Bd Ar line
219036342e81SSascha Wildneror lists
219154ba9607SSascha Wildner.Pq Ic \&Bl
219236342e81SSascha Wildnerunless the
219336342e81SSascha Wildner.Fl compact
219436342e81SSascha Wildnerflag is given.
2195*99db7d0eSSascha Wildner.Tg Pq
219654ba9607SSascha Wildner.It Ic \&Pq Ar line
219780387638SSascha WildnerParenthesised enclosure.
219880387638SSascha Wildner.Pp
219980387638SSascha WildnerSee also
220054ba9607SSascha Wildner.Ic \&Po .
220154ba9607SSascha Wildner.It Ic \&Qc
220280387638SSascha WildnerClose quoted context opened by
220354ba9607SSascha Wildner.Ic \&Qo .
2204*99db7d0eSSascha Wildner.Tg Ql
220554ba9607SSascha Wildner.It Ic \&Ql Ar line
220654ba9607SSascha WildnerIn-line literal display.
220754ba9607SSascha WildnerThis can be used for complete command invocations and for multi-word
220854ba9607SSascha Wildnercode examples when an indented display is not desired.
220954ba9607SSascha Wildner.Pp
221080387638SSascha WildnerSee also
221154ba9607SSascha Wildner.Ic \&Dl
221280387638SSascha Wildnerand
221354ba9607SSascha Wildner.Ic \&Bd
221454ba9607SSascha Wildner.Fl literal .
221554ba9607SSascha Wildner.It Ic \&Qo Ar block
221680387638SSascha WildnerMulti-line version of
221754ba9607SSascha Wildner.Ic \&Qq .
2218*99db7d0eSSascha Wildner.Tg Qq
221954ba9607SSascha Wildner.It Ic \&Qq Ar line
222080387638SSascha WildnerEncloses its arguments in
222136342e81SSascha Wildner.Qq typewriter
222280387638SSascha Wildnerdouble-quotes.
222380387638SSascha WildnerConsider using
222454ba9607SSascha Wildner.Ic \&Dq .
222580387638SSascha Wildner.Pp
222680387638SSascha WildnerSee also
222754ba9607SSascha Wildner.Ic \&Dq ,
222854ba9607SSascha Wildner.Ic \&Sq ,
222980387638SSascha Wildnerand
223054ba9607SSascha Wildner.Ic \&Qo .
223154ba9607SSascha Wildner.It Ic \&Re
223280387638SSascha WildnerClose an
223354ba9607SSascha Wildner.Ic \&Rs
223480387638SSascha Wildnerblock.
223580387638SSascha WildnerDoes not have any tail arguments.
2236*99db7d0eSSascha Wildner.Tg Rs
223754ba9607SSascha Wildner.It Ic \&Rs
223880387638SSascha WildnerBegin a bibliographic
223980387638SSascha Wildner.Pq Dq reference
224080387638SSascha Wildnerblock.
224180387638SSascha WildnerDoes not have any head arguments.
224280387638SSascha WildnerThe block macro may only contain
224354ba9607SSascha Wildner.Ic \&%A ,
224454ba9607SSascha Wildner.Ic \&%B ,
224554ba9607SSascha Wildner.Ic \&%C ,
224654ba9607SSascha Wildner.Ic \&%D ,
224754ba9607SSascha Wildner.Ic \&%I ,
224854ba9607SSascha Wildner.Ic \&%J ,
224954ba9607SSascha Wildner.Ic \&%N ,
225054ba9607SSascha Wildner.Ic \&%O ,
225154ba9607SSascha Wildner.Ic \&%P ,
225254ba9607SSascha Wildner.Ic \&%Q ,
225354ba9607SSascha Wildner.Ic \&%R ,
225454ba9607SSascha Wildner.Ic \&%T ,
225554ba9607SSascha Wildner.Ic \&%U ,
225680387638SSascha Wildnerand
225754ba9607SSascha Wildner.Ic \&%V
225880387638SSascha Wildnerchild macros (at least one must be specified).
225980387638SSascha Wildner.Pp
226080387638SSascha WildnerExamples:
226180387638SSascha Wildner.Bd -literal -offset indent -compact
226280387638SSascha Wildner\&.Rs
226380387638SSascha Wildner\&.%A J. E. Hopcroft
226480387638SSascha Wildner\&.%A J. D. Ullman
226580387638SSascha Wildner\&.%B Introduction to Automata Theory, Languages, and Computation
226680387638SSascha Wildner\&.%I Addison-Wesley
226754ba9607SSascha Wildner\&.%C Reading, Massachusetts
226880387638SSascha Wildner\&.%D 1979
226980387638SSascha Wildner\&.Re
227080387638SSascha Wildner.Ed
227180387638SSascha Wildner.Pp
227280387638SSascha WildnerIf an
227354ba9607SSascha Wildner.Ic \&Rs
227480387638SSascha Wildnerblock is used within a SEE ALSO section, a vertical space is asserted
227580387638SSascha Wildnerbefore the rendered output, else the block continues on the current
227680387638SSascha Wildnerline.
2277*99db7d0eSSascha Wildner.Tg Rv
227854ba9607SSascha Wildner.It Ic \&Rv Fl std Op Ar function ...
227936342e81SSascha WildnerInsert a standard sentence regarding a function call's return value of 0
228036342e81SSascha Wildneron success and \-1 on error, with the
228136342e81SSascha Wildner.Va errno
228236342e81SSascha Wildnerlibc global variable set on error.
228336342e81SSascha Wildner.Pp
228480387638SSascha WildnerIf
228580387638SSascha Wildner.Ar function
228636342e81SSascha Wildneris not specified, the document's name set by
228754ba9607SSascha Wildner.Ic \&Nm
228836342e81SSascha Wildneris used.
228936342e81SSascha WildnerMultiple
229036342e81SSascha Wildner.Ar function
229136342e81SSascha Wildnerarguments are treated as separate functions.
229280387638SSascha Wildner.Pp
229380387638SSascha WildnerSee also
229454ba9607SSascha Wildner.Ic \&Ex .
229554ba9607SSascha Wildner.It Ic \&Sc
229680387638SSascha WildnerClose single-quoted context opened by
229754ba9607SSascha Wildner.Ic \&So .
2298*99db7d0eSSascha Wildner.Tg Sh
229954ba9607SSascha Wildner.It Ic \&Sh Ar TITLE LINE
230080387638SSascha WildnerBegin a new section.
230180387638SSascha WildnerFor a list of conventional manual sections, see
230280387638SSascha Wildner.Sx MANUAL STRUCTURE .
230380387638SSascha WildnerThese sections should be used unless it's absolutely necessary that
230480387638SSascha Wildnercustom sections be used.
230580387638SSascha Wildner.Pp
230680387638SSascha WildnerSection names should be unique so that they may be keyed by
230754ba9607SSascha Wildner.Ic \&Sx .
230836342e81SSascha WildnerAlthough this macro is parsed, it should not consist of child node or it
230936342e81SSascha Wildnermay not be linked with
231054ba9607SSascha Wildner.Ic \&Sx .
231180387638SSascha Wildner.Pp
231280387638SSascha WildnerSee also
231354ba9607SSascha Wildner.Ic \&Pp ,
231454ba9607SSascha Wildner.Ic \&Ss ,
231580387638SSascha Wildnerand
231654ba9607SSascha Wildner.Ic \&Sx .
2317*99db7d0eSSascha Wildner.Tg Sm
231854ba9607SSascha Wildner.It Ic \&Sm Op Cm on | off
231980387638SSascha WildnerSwitches the spacing mode for output generated from macros.
232080387638SSascha Wildner.Pp
232180387638SSascha WildnerBy default, spacing is
232236342e81SSascha Wildner.Cm on .
232380387638SSascha WildnerWhen switched
232436342e81SSascha Wildner.Cm off ,
232580387638SSascha Wildnerno white space is inserted between macro arguments and between the
2326a4c7eb57SSascha Wildneroutput generated from adjacent macros, but text lines
232780387638SSascha Wildnerstill get normal spacing between words and sentences.
2328070c62a6SFranco Fichtner.Pp
2329070c62a6SFranco FichtnerWhen called without an argument, the
233054ba9607SSascha Wildner.Ic \&Sm
2331070c62a6SFranco Fichtnermacro toggles the spacing mode.
2332070c62a6SFranco FichtnerUsing this is not recommended because it makes the code harder to read.
233354ba9607SSascha Wildner.It Ic \&So Ar block
233480387638SSascha WildnerMulti-line version of
233554ba9607SSascha Wildner.Ic \&Sq .
2336*99db7d0eSSascha Wildner.Tg Sq
233754ba9607SSascha Wildner.It Ic \&Sq Ar line
233880387638SSascha WildnerEncloses its arguments in
233936342e81SSascha Wildner.Sq typewriter
234080387638SSascha Wildnersingle-quotes.
234180387638SSascha Wildner.Pp
234280387638SSascha WildnerSee also
234354ba9607SSascha Wildner.Ic \&Dq ,
234454ba9607SSascha Wildner.Ic \&Qq ,
234580387638SSascha Wildnerand
234654ba9607SSascha Wildner.Ic \&So .
2347*99db7d0eSSascha Wildner.Tg Ss
234854ba9607SSascha Wildner.It Ic \&Ss Ar Title line
234936342e81SSascha WildnerBegin a new subsection.
235080387638SSascha WildnerUnlike with
235154ba9607SSascha Wildner.Ic \&Sh ,
235236342e81SSascha Wildnerthere is no convention for the naming of subsections.
235336342e81SSascha WildnerExcept
235436342e81SSascha Wildner.Em DESCRIPTION ,
235536342e81SSascha Wildnerthe conventional sections described in
235636342e81SSascha Wildner.Sx MANUAL STRUCTURE
235736342e81SSascha Wildnerrarely have subsections.
235880387638SSascha Wildner.Pp
235980387638SSascha WildnerSub-section names should be unique so that they may be keyed by
236054ba9607SSascha Wildner.Ic \&Sx .
236136342e81SSascha WildnerAlthough this macro is parsed, it should not consist of child node or it
236236342e81SSascha Wildnermay not be linked with
236354ba9607SSascha Wildner.Ic \&Sx .
236480387638SSascha Wildner.Pp
236580387638SSascha WildnerSee also
236654ba9607SSascha Wildner.Ic \&Pp ,
236754ba9607SSascha Wildner.Ic \&Sh ,
236880387638SSascha Wildnerand
236954ba9607SSascha Wildner.Ic \&Sx .
2370*99db7d0eSSascha Wildner.Tg St
237154ba9607SSascha Wildner.It Ic \&St Fl Ns Ar abbreviation
237280387638SSascha WildnerReplace an abbreviation for a standard with the full form.
2373070c62a6SFranco FichtnerThe following standards are recognised.
2374070c62a6SFranco FichtnerWhere multiple lines are given without a blank line in between,
2375070c62a6SFranco Fichtnerthey all refer to the same standard, and using the first form
2376070c62a6SFranco Fichtneris recommended.
2377070c62a6SFranco Fichtner.Bl -tag -width 1n
2378070c62a6SFranco Fichtner.It C language standards
237980387638SSascha Wildner.Pp
2380070c62a6SFranco Fichtner.Bl -tag -width "-p1003.1g-2000" -compact
238180387638SSascha Wildner.It \-ansiC
238280387638SSascha Wildner.St -ansiC
238380387638SSascha Wildner.It \-ansiC-89
238480387638SSascha Wildner.St -ansiC-89
2385070c62a6SFranco Fichtner.It \-isoC
2386070c62a6SFranco Fichtner.St -isoC
2387070c62a6SFranco Fichtner.It \-isoC-90
2388070c62a6SFranco Fichtner.St -isoC-90
2389070c62a6SFranco Fichtner.br
2390070c62a6SFranco FichtnerThe original C standard.
2391070c62a6SFranco Fichtner.Pp
2392070c62a6SFranco Fichtner.It \-isoC-amd1
2393070c62a6SFranco Fichtner.St -isoC-amd1
2394070c62a6SFranco Fichtner.Pp
2395070c62a6SFranco Fichtner.It \-isoC-tcor1
2396070c62a6SFranco Fichtner.St -isoC-tcor1
2397070c62a6SFranco Fichtner.Pp
2398070c62a6SFranco Fichtner.It \-isoC-tcor2
2399070c62a6SFranco Fichtner.St -isoC-tcor2
2400070c62a6SFranco Fichtner.Pp
2401070c62a6SFranco Fichtner.It \-isoC-99
2402070c62a6SFranco Fichtner.St -isoC-99
2403070c62a6SFranco Fichtner.br
2404070c62a6SFranco FichtnerThe second major version of the C language standard.
2405070c62a6SFranco Fichtner.Pp
2406070c62a6SFranco Fichtner.It \-isoC-2011
2407070c62a6SFranco Fichtner.St -isoC-2011
2408070c62a6SFranco Fichtner.br
2409070c62a6SFranco FichtnerThe third major version of the C language standard.
2410070c62a6SFranco Fichtner.El
2411070c62a6SFranco Fichtner.It POSIX.1 before the Single UNIX Specification
2412070c62a6SFranco Fichtner.Pp
2413070c62a6SFranco Fichtner.Bl -tag -width "-p1003.1g-2000" -compact
2414070c62a6SFranco Fichtner.It \-p1003.1-88
2415070c62a6SFranco Fichtner.St -p1003.1-88
2416070c62a6SFranco Fichtner.It \-p1003.1
2417070c62a6SFranco Fichtner.St -p1003.1
2418070c62a6SFranco Fichtner.br
2419070c62a6SFranco FichtnerThe original POSIX standard, based on ANSI C.
2420070c62a6SFranco Fichtner.Pp
2421070c62a6SFranco Fichtner.It \-p1003.1-90
2422070c62a6SFranco Fichtner.St -p1003.1-90
2423070c62a6SFranco Fichtner.It \-iso9945-1-90
2424070c62a6SFranco Fichtner.St -iso9945-1-90
2425070c62a6SFranco Fichtner.br
2426070c62a6SFranco FichtnerThe first update of POSIX.1.
2427070c62a6SFranco Fichtner.Pp
2428070c62a6SFranco Fichtner.It \-p1003.1b-93
2429070c62a6SFranco Fichtner.St -p1003.1b-93
2430070c62a6SFranco Fichtner.It \-p1003.1b
2431070c62a6SFranco Fichtner.St -p1003.1b
2432070c62a6SFranco Fichtner.br
2433070c62a6SFranco FichtnerReal-time extensions.
2434070c62a6SFranco Fichtner.Pp
2435070c62a6SFranco Fichtner.It \-p1003.1c-95
2436070c62a6SFranco Fichtner.St -p1003.1c-95
2437070c62a6SFranco Fichtner.br
2438070c62a6SFranco FichtnerPOSIX thread interfaces.
2439070c62a6SFranco Fichtner.Pp
2440070c62a6SFranco Fichtner.It \-p1003.1i-95
2441070c62a6SFranco Fichtner.St -p1003.1i-95
2442070c62a6SFranco Fichtner.br
2443070c62a6SFranco FichtnerTechnical Corrigendum.
2444070c62a6SFranco Fichtner.Pp
2445070c62a6SFranco Fichtner.It \-p1003.1-96
2446070c62a6SFranco Fichtner.St -p1003.1-96
2447070c62a6SFranco Fichtner.It \-iso9945-1-96
2448070c62a6SFranco Fichtner.St -iso9945-1-96
2449070c62a6SFranco Fichtner.br
2450070c62a6SFranco FichtnerIncludes POSIX.1-1990, 1b, 1c, and 1i.
2451070c62a6SFranco Fichtner.El
2452070c62a6SFranco Fichtner.It X/Open Portability Guide version 4 and related standards
2453070c62a6SFranco Fichtner.Pp
2454070c62a6SFranco Fichtner.Bl -tag -width "-p1003.1g-2000" -compact
245580387638SSascha Wildner.It \-xpg3
245680387638SSascha Wildner.St -xpg3
2457070c62a6SFranco Fichtner.br
2458070c62a6SFranco FichtnerAn XPG4 precursor, published in 1989.
2459070c62a6SFranco Fichtner.Pp
2460070c62a6SFranco Fichtner.It \-p1003.2
2461070c62a6SFranco Fichtner.St -p1003.2
2462070c62a6SFranco Fichtner.It \-p1003.2-92
2463070c62a6SFranco Fichtner.St -p1003.2-92
2464070c62a6SFranco Fichtner.It \-iso9945-2-93
2465070c62a6SFranco Fichtner.St -iso9945-2-93
2466070c62a6SFranco Fichtner.br
2467070c62a6SFranco FichtnerAn XCU4 precursor.
2468070c62a6SFranco Fichtner.Pp
2469070c62a6SFranco Fichtner.It \-p1003.2a-92
2470070c62a6SFranco Fichtner.St -p1003.2a-92
2471070c62a6SFranco Fichtner.br
2472070c62a6SFranco FichtnerUpdates to POSIX.2.
2473070c62a6SFranco Fichtner.Pp
247480387638SSascha Wildner.It \-xpg4
247580387638SSascha Wildner.St -xpg4
2476070c62a6SFranco Fichtner.br
2477070c62a6SFranco FichtnerBased on POSIX.1 and POSIX.2, published in 1992.
2478070c62a6SFranco Fichtner.El
2479070c62a6SFranco Fichtner.It Single UNIX Specification version 1 and related standards
2480070c62a6SFranco Fichtner.Pp
2481070c62a6SFranco Fichtner.Bl -tag -width "-p1003.1g-2000" -compact
248254ba9607SSascha Wildner.It \-susv1
248354ba9607SSascha Wildner.St -susv1
248480387638SSascha Wildner.It \-xpg4.2
248580387638SSascha Wildner.St -xpg4.2
2486070c62a6SFranco Fichtner.br
248754ba9607SSascha WildnerThis standard was published in 1994.
2488070c62a6SFranco FichtnerIt was used as the basis for UNIX 95 certification.
2489070c62a6SFranco FichtnerThe following three refer to parts of it.
2490070c62a6SFranco Fichtner.Pp
24917888c61dSFranco Fichtner.It \-xsh4.2
24927888c61dSFranco Fichtner.St -xsh4.2
2493070c62a6SFranco Fichtner.Pp
249480387638SSascha Wildner.It \-xcurses4.2
249580387638SSascha Wildner.St -xcurses4.2
2496070c62a6SFranco Fichtner.Pp
2497070c62a6SFranco Fichtner.It \-p1003.1g-2000
2498070c62a6SFranco Fichtner.St -p1003.1g-2000
2499070c62a6SFranco Fichtner.br
2500070c62a6SFranco FichtnerNetworking APIs, including sockets.
2501070c62a6SFranco Fichtner.Pp
2502070c62a6SFranco Fichtner.It \-svid4
2503070c62a6SFranco Fichtner.St -svid4 ,
2504070c62a6SFranco Fichtner.br
2505070c62a6SFranco FichtnerPublished in 1995.
2506070c62a6SFranco Fichtner.El
2507070c62a6SFranco Fichtner.It Single UNIX Specification version 2 and related standards
2508070c62a6SFranco Fichtner.Pp
2509070c62a6SFranco Fichtner.Bl -tag -width "-p1003.1g-2000" -compact
251080387638SSascha Wildner.It \-susv2
251180387638SSascha Wildner.St -susv2
2512070c62a6SFranco FichtnerThis Standard was published in 1997
2513070c62a6SFranco Fichtnerand is also called X/Open Portability Guide version 5.
2514070c62a6SFranco FichtnerIt was used as the basis for UNIX 98 certification.
2515070c62a6SFranco FichtnerThe following refer to parts of it.
2516070c62a6SFranco Fichtner.Pp
2517070c62a6SFranco Fichtner.It \-xbd5
2518070c62a6SFranco Fichtner.St -xbd5
2519070c62a6SFranco Fichtner.Pp
2520070c62a6SFranco Fichtner.It \-xsh5
2521070c62a6SFranco Fichtner.St -xsh5
2522070c62a6SFranco Fichtner.Pp
2523070c62a6SFranco Fichtner.It \-xcu5
2524070c62a6SFranco Fichtner.St -xcu5
2525070c62a6SFranco Fichtner.Pp
2526070c62a6SFranco Fichtner.It \-xns5
2527070c62a6SFranco Fichtner.St -xns5
2528070c62a6SFranco Fichtner.It \-xns5.2
2529070c62a6SFranco Fichtner.St -xns5.2
2530070c62a6SFranco Fichtner.El
253154ba9607SSascha Wildner.It Single UNIX Specification version 3
2532070c62a6SFranco Fichtner.Pp
253354ba9607SSascha Wildner.Bl -tag -width "-p1003.1-2001" -compact
2534070c62a6SFranco Fichtner.It \-p1003.1-2001
2535070c62a6SFranco Fichtner.St -p1003.1-2001
253680387638SSascha Wildner.It \-susv3
253780387638SSascha Wildner.St -susv3
2538070c62a6SFranco Fichtner.br
2539070c62a6SFranco FichtnerThis standard is based on C99, SUSv2, POSIX.1-1996, 1d, and 1j.
2540070c62a6SFranco FichtnerIt is also called X/Open Portability Guide version 6.
2541070c62a6SFranco FichtnerIt is used as the basis for UNIX 03 certification.
2542070c62a6SFranco Fichtner.Pp
2543070c62a6SFranco Fichtner.It \-p1003.1-2004
2544070c62a6SFranco Fichtner.St -p1003.1-2004
2545070c62a6SFranco Fichtner.br
2546070c62a6SFranco FichtnerThe second and last Technical Corrigendum.
2547070c62a6SFranco Fichtner.El
2548070c62a6SFranco Fichtner.It Single UNIX Specification version 4
2549070c62a6SFranco Fichtner.Pp
2550070c62a6SFranco Fichtner.Bl -tag -width "-p1003.1g-2000" -compact
2551070c62a6SFranco Fichtner.It \-p1003.1-2008
2552070c62a6SFranco Fichtner.St -p1003.1-2008
255354ba9607SSascha Wildner.It \-susv4
255454ba9607SSascha Wildner.St -susv4
2555070c62a6SFranco Fichtner.br
255654ba9607SSascha WildnerThis standard is also called
2557070c62a6SFranco FichtnerX/Open Portability Guide version 7.
2558070c62a6SFranco Fichtner.El
2559070c62a6SFranco Fichtner.It Other standards
2560070c62a6SFranco Fichtner.Pp
2561070c62a6SFranco Fichtner.Bl -tag -width "-p1003.1g-2000" -compact
2562070c62a6SFranco Fichtner.It \-ieee754
2563070c62a6SFranco Fichtner.St -ieee754
2564070c62a6SFranco Fichtner.br
2565070c62a6SFranco FichtnerFloating-point arithmetic.
2566070c62a6SFranco Fichtner.Pp
2567070c62a6SFranco Fichtner.It \-iso8601
2568070c62a6SFranco Fichtner.St -iso8601
2569070c62a6SFranco Fichtner.br
2570070c62a6SFranco FichtnerRepresentation of dates and times, published in 1988.
2571070c62a6SFranco Fichtner.Pp
2572070c62a6SFranco Fichtner.It \-iso8802-3
2573070c62a6SFranco Fichtner.St -iso8802-3
2574070c62a6SFranco Fichtner.br
2575070c62a6SFranco FichtnerEthernet local area networks.
2576070c62a6SFranco Fichtner.Pp
2577070c62a6SFranco Fichtner.It \-ieee1275-94
2578070c62a6SFranco Fichtner.St -ieee1275-94
2579070c62a6SFranco Fichtner.El
258080387638SSascha Wildner.El
2581*99db7d0eSSascha Wildner.Tg Sx
258254ba9607SSascha Wildner.It Ic \&Sx Ar Title line
258336342e81SSascha WildnerReference a section or subsection in the same manual page.
258436342e81SSascha WildnerThe referenced section or subsection name must be identical to the
258580387638SSascha Wildnerenclosed argument, including whitespace.
258680387638SSascha Wildner.Pp
258780387638SSascha WildnerExamples:
258880387638SSascha Wildner.Dl \&.Sx MANUAL STRUCTURE
258980387638SSascha Wildner.Pp
259080387638SSascha WildnerSee also
259154ba9607SSascha Wildner.Ic \&Sh
259280387638SSascha Wildnerand
259354ba9607SSascha Wildner.Ic \&Ss .
2594*99db7d0eSSascha Wildner.Tg Sy
259554ba9607SSascha Wildner.It Ic \&Sy Ar word ...
259654ba9607SSascha WildnerRequest a boldface font.
259754ba9607SSascha Wildner.Pp
259854ba9607SSascha WildnerThis is most often used to indicate importance or seriousness (not to be
259954ba9607SSascha Wildnerconfused with stress emphasis, see
260054ba9607SSascha Wildner.Ic \&Em ) .
260154ba9607SSascha WildnerWhen none of the semantic macros fit, it is also adequate for syntax
260254ba9607SSascha Wildnerelements that have to be given or that appear verbatim.
260354ba9607SSascha Wildner.Pp
260454ba9607SSascha WildnerExamples:
260554ba9607SSascha Wildner.Bd -literal -compact -offset indent
260654ba9607SSascha Wildner\&.Sy Warning :
260754ba9607SSascha WildnerIf
260854ba9607SSascha Wildner\&.Sy s
260954ba9607SSascha Wildnerappears in the owner permissions, set-user-ID mode is set.
261054ba9607SSascha WildnerThis utility replaces the former
261154ba9607SSascha Wildner\&.Sy dumpdir
261254ba9607SSascha Wildnerprogram.
261354ba9607SSascha Wildner.Ed
261480387638SSascha Wildner.Pp
261580387638SSascha WildnerSee also
261654ba9607SSascha Wildner.Ic \&Em ,
261754ba9607SSascha Wildner.Ic \&No ,
261880387638SSascha Wildnerand
261954ba9607SSascha Wildner.Ic \&Ql .
2620*99db7d0eSSascha Wildner.Tg Ta
262154ba9607SSascha Wildner.It Ic \&Ta
262236342e81SSascha WildnerTable cell separator in
262354ba9607SSascha Wildner.Ic \&Bl Fl column
262436342e81SSascha Wildnerlists; can only be used below
262554ba9607SSascha Wildner.Ic \&It .
2626*99db7d0eSSascha Wildner.Tg Tg
2627*99db7d0eSSascha Wildner.It Ic \&Tg Op Ar term
2628*99db7d0eSSascha WildnerAnnounce that the next input line starts a definition of the
2629*99db7d0eSSascha Wildner.Ar term .
2630*99db7d0eSSascha WildnerThis macro must appear alone on its own input line.
2631*99db7d0eSSascha WildnerThe argument defaults to the first argument of the first macro
2632*99db7d0eSSascha Wildneron the next line.
2633*99db7d0eSSascha WildnerThe argument may not contain whitespace characters, not even when it is quoted.
2634*99db7d0eSSascha WildnerThis macro is a
2635*99db7d0eSSascha Wildner.Xr mandoc 1
2636*99db7d0eSSascha Wildnerextension and is typically ignored by other formatters.
2637*99db7d0eSSascha Wildner.Pp
2638*99db7d0eSSascha WildnerWhen viewing terminal output with
2639*99db7d0eSSascha Wildner.Xr less 1 ,
2640*99db7d0eSSascha Wildnerthe interactive
2641*99db7d0eSSascha Wildner.Ic :t
2642*99db7d0eSSascha Wildnercommand can be used to go to the definition of the
2643*99db7d0eSSascha Wildner.Ar term
2644*99db7d0eSSascha Wildneras described for the
2645*99db7d0eSSascha Wildner.Ev MANPAGER
2646*99db7d0eSSascha Wildnervariable in
2647*99db7d0eSSascha Wildner.Xr man 1 ;
2648*99db7d0eSSascha Wildnerwhen producing HTML output, a fragment identifier
2649*99db7d0eSSascha Wildner.Pq Ic id No attribute
2650*99db7d0eSSascha Wildneris generated, to be used for deep linking to this place of the document.
2651*99db7d0eSSascha Wildner.Pp
2652*99db7d0eSSascha WildnerIn most cases, adding a
2653*99db7d0eSSascha Wildner.Ic \&Tg
2654*99db7d0eSSascha Wildnermacro would be redundant because
2655*99db7d0eSSascha Wildner.Xr mandoc 1
2656*99db7d0eSSascha Wildneris able to automatically tag most definitions.
2657*99db7d0eSSascha WildnerThis macro is intended for cases where automatic tagging of a
2658*99db7d0eSSascha Wildner.Ar term
2659*99db7d0eSSascha Wildneris unsatisfactory, for example if a definition is not tagged
2660*99db7d0eSSascha Wildnerautomatically (false negative) or if places are tagged that do
2661*99db7d0eSSascha Wildnernot define the
2662*99db7d0eSSascha Wildner.Ar term
2663*99db7d0eSSascha Wildner(false positives).
2664*99db7d0eSSascha WildnerWhen there is at least one
2665*99db7d0eSSascha Wildner.Ic \&Tg
2666*99db7d0eSSascha Wildnermacro for a
2667*99db7d0eSSascha Wildner.Ar term ,
2668*99db7d0eSSascha Wildnerno other places are automatically marked as definitions of that
2669*99db7d0eSSascha Wildner.Ar term .
267054ba9607SSascha Wildner.It Ic \&Tn Ar word ...
2671070c62a6SFranco FichtnerSupported only for compatibility, do not use this in new manuals.
2672070c62a6SFranco FichtnerEven though the macro name
2673070c62a6SFranco Fichtner.Pq Dq tradename
2674070c62a6SFranco Fichtnersuggests a semantic function, historic usage is inconsistent, mostly
2675070c62a6SFranco Fichtnerusing it as a presentation-level macro to request a small caps font.
267654ba9607SSascha Wildner.It Ic \&Ud
2677070c62a6SFranco FichtnerSupported only for compatibility, do not use this in new manuals.
267880387638SSascha WildnerPrints out
267980387638SSascha Wildner.Dq currently under development.
268054ba9607SSascha Wildner.It Ic \&Ux
2681070c62a6SFranco FichtnerSupported only for compatibility, do not use this in new manuals.
2682070c62a6SFranco FichtnerPrints out
2683070c62a6SFranco Fichtner.Dq Ux .
2684*99db7d0eSSascha Wildner.Tg Va
268554ba9607SSascha Wildner.It Ic \&Va Oo Ar type Oc Ar identifier ...
268680387638SSascha WildnerA variable name.
268780387638SSascha Wildner.Pp
268880387638SSascha WildnerExamples:
268980387638SSascha Wildner.Dl \&.Va foo
269080387638SSascha Wildner.Dl \&.Va const char *bar ;
269154ba9607SSascha Wildner.Pp
269254ba9607SSascha WildnerFor function arguments and parameters, use
269354ba9607SSascha Wildner.Ic \&Fa
269454ba9607SSascha Wildnerinstead.
269554ba9607SSascha WildnerFor declarations of global variables in the
269654ba9607SSascha Wildner.Em SYNOPSIS
269754ba9607SSascha Wildnersection, use
269854ba9607SSascha Wildner.Ic \&Vt .
2699*99db7d0eSSascha Wildner.Tg Vt
270054ba9607SSascha Wildner.It Ic \&Vt Ar type Op Ar identifier
270180387638SSascha WildnerA variable type.
270254ba9607SSascha Wildner.Pp
270380387638SSascha WildnerThis is also used for indicating global variables in the
270480387638SSascha Wildner.Em SYNOPSIS
270580387638SSascha Wildnersection, in which case a variable name is also specified.
270680387638SSascha WildnerNote that it accepts
270780387638SSascha Wildner.Sx Block partial-implicit
270836342e81SSascha Wildnersyntax when invoked as the first macro on an input line in the
270980387638SSascha Wildner.Em SYNOPSIS
271080387638SSascha Wildnersection, else it accepts ordinary
271180387638SSascha Wildner.Sx In-line
271280387638SSascha Wildnersyntax.
271336342e81SSascha WildnerIn the former case, this macro starts a new output line,
271436342e81SSascha Wildnerand a blank line is inserted in front if there is a preceding
271536342e81SSascha Wildnerfunction definition or include directive.
271680387638SSascha Wildner.Pp
271780387638SSascha WildnerExamples:
271880387638SSascha Wildner.Dl \&.Vt unsigned char
271980387638SSascha Wildner.Dl \&.Vt extern const char * const sys_signame[] \&;
272080387638SSascha Wildner.Pp
272154ba9607SSascha WildnerFor parameters in function prototypes, use
272254ba9607SSascha Wildner.Ic \&Fa
272354ba9607SSascha Wildnerinstead, for function return types
272454ba9607SSascha Wildner.Ic \&Ft ,
272554ba9607SSascha Wildnerand for variable names outside the
272654ba9607SSascha Wildner.Em SYNOPSIS
272754ba9607SSascha Wildnersection
272854ba9607SSascha Wildner.Ic \&Va ,
272954ba9607SSascha Wildnereven when including a type with the name.
273080387638SSascha WildnerSee also
273154ba9607SSascha Wildner.Sx MANUAL STRUCTURE .
273254ba9607SSascha Wildner.It Ic \&Xc
273380387638SSascha WildnerClose a scope opened by
273454ba9607SSascha Wildner.Ic \&Xo .
273554ba9607SSascha Wildner.It Ic \&Xo Ar block
273680387638SSascha WildnerExtend the header of an
273754ba9607SSascha Wildner.Ic \&It
273880387638SSascha Wildnermacro or the body of a partial-implicit block macro
273980387638SSascha Wildnerbeyond the end of the input line.
274080387638SSascha WildnerThis macro originally existed to work around the 9-argument limit
274180387638SSascha Wildnerof historic
274280387638SSascha Wildner.Xr roff 7 .
2743*99db7d0eSSascha Wildner.Tg Xr
274454ba9607SSascha Wildner.It Ic \&Xr Ar name section
274580387638SSascha WildnerLink to another manual
274680387638SSascha Wildner.Pq Qq cross-reference .
274780387638SSascha Wildner.Pp
2748f88b6c16SFranco FichtnerCross reference the
2749a4c7eb57SSascha Wildner.Ar name
275080387638SSascha Wildnerand
2751a4c7eb57SSascha Wildner.Ar section
275254ba9607SSascha Wildnernumber of another man page.
275380387638SSascha Wildner.Pp
275480387638SSascha WildnerExamples:
275580387638SSascha Wildner.Dl \&.Xr mandoc 1
275680387638SSascha Wildner.Dl \&.Xr mandoc 1 \&;
275780387638SSascha Wildner.Dl \&.Xr mandoc 1 \&Ns s behaviour
275854ba9607SSascha Wildner.El
275936342e81SSascha Wildner.Sh MACRO SYNTAX
276036342e81SSascha WildnerThe syntax of a macro depends on its classification.
276136342e81SSascha WildnerIn this section,
276236342e81SSascha Wildner.Sq \-arg
276336342e81SSascha Wildnerrefers to macro arguments, which may be followed by zero or more
276436342e81SSascha Wildner.Sq parm
276536342e81SSascha Wildnerparameters;
276636342e81SSascha Wildner.Sq \&Yo
276736342e81SSascha Wildneropens the scope of a macro; and if specified,
276836342e81SSascha Wildner.Sq \&Yc
276936342e81SSascha Wildnercloses it out.
277036342e81SSascha Wildner.Pp
277136342e81SSascha WildnerThe
277236342e81SSascha Wildner.Em Callable
277336342e81SSascha Wildnercolumn indicates that the macro may also be called by passing its name
277436342e81SSascha Wildneras an argument to another macro.
277536342e81SSascha WildnerFor example,
277636342e81SSascha Wildner.Sq \&.Op \&Fl O \&Ar file
277736342e81SSascha Wildnerproduces
277836342e81SSascha Wildner.Sq Op Fl O Ar file .
277936342e81SSascha WildnerTo prevent a macro call and render the macro name literally,
278036342e81SSascha Wildnerescape it by prepending a zero-width space,
278136342e81SSascha Wildner.Sq \e& .
278236342e81SSascha WildnerFor example,
278336342e81SSascha Wildner.Sq \&Op \e&Fl O
278436342e81SSascha Wildnerproduces
278536342e81SSascha Wildner.Sq Op \&Fl O .
278636342e81SSascha WildnerIf a macro is not callable but its name appears as an argument
278736342e81SSascha Wildnerto another macro, it is interpreted as opaque text.
278836342e81SSascha WildnerFor example,
278936342e81SSascha Wildner.Sq \&.Fl \&Sh
279036342e81SSascha Wildnerproduces
279136342e81SSascha Wildner.Sq Fl \&Sh .
279236342e81SSascha Wildner.Pp
279336342e81SSascha WildnerThe
279436342e81SSascha Wildner.Em Parsed
279536342e81SSascha Wildnercolumn indicates whether the macro may call other macros by receiving
279636342e81SSascha Wildnertheir names as arguments.
279736342e81SSascha WildnerIf a macro is not parsed but the name of another macro appears
279836342e81SSascha Wildneras an argument, it is interpreted as opaque text.
279936342e81SSascha Wildner.Pp
280036342e81SSascha WildnerThe
280136342e81SSascha Wildner.Em Scope
280236342e81SSascha Wildnercolumn, if applicable, describes closure rules.
280336342e81SSascha Wildner.Ss Block full-explicit
280436342e81SSascha WildnerMulti-line scope closed by an explicit closing macro.
280536342e81SSascha WildnerAll macros contains bodies; only
2806*99db7d0eSSascha Wildner.Ic \&Bf
280736342e81SSascha Wildnerand
280836342e81SSascha Wildner.Pq optionally
280954ba9607SSascha Wildner.Ic \&Bl
281036342e81SSascha Wildnercontain a head.
281136342e81SSascha Wildner.Bd -literal -offset indent
281236342e81SSascha Wildner\&.Yo \(lB\-arg \(lBparm...\(rB\(rB \(lBhead...\(rB
281336342e81SSascha Wildner\(lBbody...\(rB
281436342e81SSascha Wildner\&.Yc
281536342e81SSascha Wildner.Ed
281636342e81SSascha Wildner.Bl -column "MacroX" "CallableX" "ParsedX" "closed by XXX" -offset indent
281736342e81SSascha Wildner.It Em Macro Ta Em Callable Ta Em Parsed Ta Em Scope
281854ba9607SSascha Wildner.It Ic \&Bd  Ta    \&No     Ta    \&No     Ta    closed by Ic \&Ed
281954ba9607SSascha Wildner.It Ic \&Bf  Ta    \&No     Ta    \&No     Ta    closed by Ic \&Ef
282054ba9607SSascha Wildner.It Ic \&Bk  Ta    \&No     Ta    \&No     Ta    closed by Ic \&Ek
282154ba9607SSascha Wildner.It Ic \&Bl  Ta    \&No     Ta    \&No     Ta    closed by Ic \&El
282254ba9607SSascha Wildner.It Ic \&Ed  Ta    \&No     Ta    \&No     Ta    opened by Ic \&Bd
282354ba9607SSascha Wildner.It Ic \&Ef  Ta    \&No     Ta    \&No     Ta    opened by Ic \&Bf
282454ba9607SSascha Wildner.It Ic \&Ek  Ta    \&No     Ta    \&No     Ta    opened by Ic \&Bk
282554ba9607SSascha Wildner.It Ic \&El  Ta    \&No     Ta    \&No     Ta    opened by Ic \&Bl
282636342e81SSascha Wildner.El
282736342e81SSascha Wildner.Ss Block full-implicit
282836342e81SSascha WildnerMulti-line scope closed by end-of-file or implicitly by another macro.
282936342e81SSascha WildnerAll macros have bodies; some
283036342e81SSascha Wildner.Po
283154ba9607SSascha Wildner.Ic \&It Fl bullet ,
283236342e81SSascha Wildner.Fl hyphen ,
283336342e81SSascha Wildner.Fl dash ,
283436342e81SSascha Wildner.Fl enum ,
283536342e81SSascha Wildner.Fl item
283636342e81SSascha Wildner.Pc
283736342e81SSascha Wildnerdon't have heads; only one
283836342e81SSascha Wildner.Po
283954ba9607SSascha Wildner.Ic \&It
284036342e81SSascha Wildnerin
284154ba9607SSascha Wildner.Ic \&Bl Fl column
284236342e81SSascha Wildner.Pc
284336342e81SSascha Wildnerhas multiple heads.
284436342e81SSascha Wildner.Bd -literal -offset indent
284536342e81SSascha Wildner\&.Yo \(lB\-arg \(lBparm...\(rB\(rB \(lBhead... \(lBTa head...\(rB\(rB
284636342e81SSascha Wildner\(lBbody...\(rB
284736342e81SSascha Wildner.Ed
284836342e81SSascha Wildner.Bl -column "MacroX" "CallableX" "ParsedX" "closed by XXXXXXXXXXX" -offset indent
284936342e81SSascha Wildner.It Em Macro Ta Em Callable Ta Em Parsed Ta Em Scope
285054ba9607SSascha Wildner.It Ic \&It Ta \&No Ta Yes  Ta closed by Ic \&It , Ic \&El
285154ba9607SSascha Wildner.It Ic \&Nd Ta \&No Ta \&No Ta closed by Ic \&Sh
285254ba9607SSascha Wildner.It Ic \&Nm Ta \&No Ta Yes  Ta closed by Ic \&Nm , Ic \&Sh , Ic \&Ss
285354ba9607SSascha Wildner.It Ic \&Sh Ta \&No Ta Yes  Ta closed by Ic \&Sh
285454ba9607SSascha Wildner.It Ic \&Ss Ta \&No Ta Yes  Ta closed by Ic \&Sh , Ic \&Ss
285536342e81SSascha Wildner.El
285636342e81SSascha Wildner.Pp
285736342e81SSascha WildnerNote that the
285854ba9607SSascha Wildner.Ic \&Nm
285936342e81SSascha Wildnermacro is a
286036342e81SSascha Wildner.Sx Block full-implicit
286136342e81SSascha Wildnermacro only when invoked as the first macro
286236342e81SSascha Wildnerin a
286336342e81SSascha Wildner.Em SYNOPSIS
286436342e81SSascha Wildnersection line, else it is
286536342e81SSascha Wildner.Sx In-line .
286636342e81SSascha Wildner.Ss Block partial-explicit
286736342e81SSascha WildnerLike block full-explicit, but also with single-line scope.
286836342e81SSascha WildnerEach has at least a body and, in limited circumstances, a head
286936342e81SSascha Wildner.Po
287054ba9607SSascha Wildner.Ic \&Fo ,
287154ba9607SSascha Wildner.Ic \&Eo
287236342e81SSascha Wildner.Pc
287336342e81SSascha Wildnerand/or tail
287454ba9607SSascha Wildner.Pq Ic \&Ec .
287536342e81SSascha Wildner.Bd -literal -offset indent
287636342e81SSascha Wildner\&.Yo \(lB\-arg \(lBparm...\(rB\(rB \(lBhead...\(rB
287736342e81SSascha Wildner\(lBbody...\(rB
287836342e81SSascha Wildner\&.Yc \(lBtail...\(rB
287936342e81SSascha Wildner
288036342e81SSascha Wildner\&.Yo \(lB\-arg \(lBparm...\(rB\(rB \(lBhead...\(rB \
288136342e81SSascha Wildner\(lBbody...\(rB \&Yc \(lBtail...\(rB
288236342e81SSascha Wildner.Ed
288336342e81SSascha Wildner.Bl -column "MacroX" "CallableX" "ParsedX" "closed by XXXX" -offset indent
288436342e81SSascha Wildner.It Em Macro Ta Em Callable Ta Em Parsed Ta Em Scope
288554ba9607SSascha Wildner.It Ic \&Ac  Ta    Yes      Ta    Yes      Ta    opened by Ic \&Ao
288654ba9607SSascha Wildner.It Ic \&Ao  Ta    Yes      Ta    Yes      Ta    closed by Ic \&Ac
288754ba9607SSascha Wildner.It Ic \&Bc  Ta    Yes      Ta    Yes      Ta    closed by Ic \&Bo
288854ba9607SSascha Wildner.It Ic \&Bo  Ta    Yes      Ta    Yes      Ta    opened by Ic \&Bc
288954ba9607SSascha Wildner.It Ic \&Brc Ta    Yes      Ta    Yes      Ta    opened by Ic \&Bro
289054ba9607SSascha Wildner.It Ic \&Bro Ta    Yes      Ta    Yes      Ta    closed by Ic \&Brc
289154ba9607SSascha Wildner.It Ic \&Dc  Ta    Yes      Ta    Yes      Ta    opened by Ic \&Do
289254ba9607SSascha Wildner.It Ic \&Do  Ta    Yes      Ta    Yes      Ta    closed by Ic \&Dc
289354ba9607SSascha Wildner.It Ic \&Ec  Ta    Yes      Ta    Yes      Ta    opened by Ic \&Eo
289454ba9607SSascha Wildner.It Ic \&Eo  Ta    Yes      Ta    Yes      Ta    closed by Ic \&Ec
289554ba9607SSascha Wildner.It Ic \&Fc  Ta    Yes      Ta    Yes      Ta    opened by Ic \&Fo
289654ba9607SSascha Wildner.It Ic \&Fo  Ta    \&No     Ta    \&No     Ta    closed by Ic \&Fc
289754ba9607SSascha Wildner.It Ic \&Oc  Ta    Yes      Ta    Yes      Ta    closed by Ic \&Oo
289854ba9607SSascha Wildner.It Ic \&Oo  Ta    Yes      Ta    Yes      Ta    opened by Ic \&Oc
289954ba9607SSascha Wildner.It Ic \&Pc  Ta    Yes      Ta    Yes      Ta    closed by Ic \&Po
290054ba9607SSascha Wildner.It Ic \&Po  Ta    Yes      Ta    Yes      Ta    opened by Ic \&Pc
290154ba9607SSascha Wildner.It Ic \&Qc  Ta    Yes      Ta    Yes      Ta    opened by Ic \&Oo
290254ba9607SSascha Wildner.It Ic \&Qo  Ta    Yes      Ta    Yes      Ta    closed by Ic \&Oc
290354ba9607SSascha Wildner.It Ic \&Re  Ta    \&No     Ta    \&No     Ta    opened by Ic \&Rs
290454ba9607SSascha Wildner.It Ic \&Rs  Ta    \&No     Ta    \&No     Ta    closed by Ic \&Re
290554ba9607SSascha Wildner.It Ic \&Sc  Ta    Yes      Ta    Yes      Ta    opened by Ic \&So
290654ba9607SSascha Wildner.It Ic \&So  Ta    Yes      Ta    Yes      Ta    closed by Ic \&Sc
290754ba9607SSascha Wildner.It Ic \&Xc  Ta    Yes      Ta    Yes      Ta    opened by Ic \&Xo
290854ba9607SSascha Wildner.It Ic \&Xo  Ta    Yes      Ta    Yes      Ta    closed by Ic \&Xc
290936342e81SSascha Wildner.El
291036342e81SSascha Wildner.Ss Block partial-implicit
291136342e81SSascha WildnerLike block full-implicit, but with single-line scope closed by the
291236342e81SSascha Wildnerend of the line.
291336342e81SSascha Wildner.Bd -literal -offset indent
291436342e81SSascha Wildner\&.Yo \(lB\-arg \(lBval...\(rB\(rB \(lBbody...\(rB \(lBres...\(rB
291536342e81SSascha Wildner.Ed
291636342e81SSascha Wildner.Bl -column "MacroX" "CallableX" "ParsedX" -offset indent
291736342e81SSascha Wildner.It Em Macro Ta Em Callable Ta Em Parsed
291854ba9607SSascha Wildner.It Ic \&Aq  Ta    Yes      Ta    Yes
291954ba9607SSascha Wildner.It Ic \&Bq  Ta    Yes      Ta    Yes
292054ba9607SSascha Wildner.It Ic \&Brq Ta    Yes      Ta    Yes
292154ba9607SSascha Wildner.It Ic \&D1  Ta    \&No     Ta    \&Yes
292254ba9607SSascha Wildner.It Ic \&Dl  Ta    \&No     Ta    Yes
292354ba9607SSascha Wildner.It Ic \&Dq  Ta    Yes      Ta    Yes
292454ba9607SSascha Wildner.It Ic \&En  Ta    Yes      Ta    Yes
292554ba9607SSascha Wildner.It Ic \&Op  Ta    Yes      Ta    Yes
292654ba9607SSascha Wildner.It Ic \&Pq  Ta    Yes      Ta    Yes
292754ba9607SSascha Wildner.It Ic \&Ql  Ta    Yes      Ta    Yes
292854ba9607SSascha Wildner.It Ic \&Qq  Ta    Yes      Ta    Yes
292954ba9607SSascha Wildner.It Ic \&Sq  Ta    Yes      Ta    Yes
293054ba9607SSascha Wildner.It Ic \&Vt  Ta    Yes      Ta    Yes
293136342e81SSascha Wildner.El
293236342e81SSascha Wildner.Pp
293336342e81SSascha WildnerNote that the
293454ba9607SSascha Wildner.Ic \&Vt
293536342e81SSascha Wildnermacro is a
293636342e81SSascha Wildner.Sx Block partial-implicit
293736342e81SSascha Wildneronly when invoked as the first macro
293836342e81SSascha Wildnerin a
293936342e81SSascha Wildner.Em SYNOPSIS
294036342e81SSascha Wildnersection line, else it is
294136342e81SSascha Wildner.Sx In-line .
294236342e81SSascha Wildner.Ss Special block macro
294336342e81SSascha WildnerThe
294454ba9607SSascha Wildner.Ic \&Ta
294536342e81SSascha Wildnermacro can only be used below
294654ba9607SSascha Wildner.Ic \&It
294736342e81SSascha Wildnerin
294854ba9607SSascha Wildner.Ic \&Bl Fl column
294936342e81SSascha Wildnerlists.
295036342e81SSascha WildnerIt delimits blocks representing table cells;
295136342e81SSascha Wildnerthese blocks have bodies, but no heads.
295236342e81SSascha Wildner.Bl -column "MacroX" "CallableX" "ParsedX" "closed by XXXX" -offset indent
295336342e81SSascha Wildner.It Em Macro Ta Em Callable Ta Em Parsed Ta Em Scope
295454ba9607SSascha Wildner.It Ic \&Ta  Ta    Yes      Ta    Yes    Ta closed by Ic \&Ta , Ic \&It
295536342e81SSascha Wildner.El
295636342e81SSascha Wildner.Ss In-line
295736342e81SSascha WildnerClosed by the end of the line, fixed argument lengths,
295836342e81SSascha Wildnerand/or subsequent macros.
295936342e81SSascha WildnerIn-line macros have only text children.
296036342e81SSascha WildnerIf a number (or inequality) of arguments is
296136342e81SSascha Wildner.Pq n ,
296236342e81SSascha Wildnerthen the macro accepts an arbitrary number of arguments.
296336342e81SSascha Wildner.Bd -literal -offset indent
296436342e81SSascha Wildner\&.Yo \(lB\-arg \(lBval...\(rB\(rB \(lBargs...\(rB \(lBres...\(rB
296536342e81SSascha Wildner
296636342e81SSascha Wildner\&.Yo \(lB\-arg \(lBval...\(rB\(rB \(lBargs...\(rB Yc...
296736342e81SSascha Wildner
296836342e81SSascha Wildner\&.Yo \(lB\-arg \(lBval...\(rB\(rB arg0 arg1 argN
296936342e81SSascha Wildner.Ed
297036342e81SSascha Wildner.Bl -column "MacroX" "CallableX" "ParsedX" "Arguments" -offset indent
297136342e81SSascha Wildner.It Em Macro Ta Em Callable Ta Em Parsed Ta Em Arguments
297254ba9607SSascha Wildner.It Ic \&%A  Ta    \&No     Ta    \&No     Ta    >0
297354ba9607SSascha Wildner.It Ic \&%B  Ta    \&No     Ta    \&No     Ta    >0
297454ba9607SSascha Wildner.It Ic \&%C  Ta    \&No     Ta    \&No     Ta    >0
297554ba9607SSascha Wildner.It Ic \&%D  Ta    \&No     Ta    \&No     Ta    >0
297654ba9607SSascha Wildner.It Ic \&%I  Ta    \&No     Ta    \&No     Ta    >0
297754ba9607SSascha Wildner.It Ic \&%J  Ta    \&No     Ta    \&No     Ta    >0
297854ba9607SSascha Wildner.It Ic \&%N  Ta    \&No     Ta    \&No     Ta    >0
297954ba9607SSascha Wildner.It Ic \&%O  Ta    \&No     Ta    \&No     Ta    >0
298054ba9607SSascha Wildner.It Ic \&%P  Ta    \&No     Ta    \&No     Ta    >0
298154ba9607SSascha Wildner.It Ic \&%Q  Ta    \&No     Ta    \&No     Ta    >0
298254ba9607SSascha Wildner.It Ic \&%R  Ta    \&No     Ta    \&No     Ta    >0
298354ba9607SSascha Wildner.It Ic \&%T  Ta    \&No     Ta    \&No     Ta    >0
298454ba9607SSascha Wildner.It Ic \&%U  Ta    \&No     Ta    \&No     Ta    >0
298554ba9607SSascha Wildner.It Ic \&%V  Ta    \&No     Ta    \&No     Ta    >0
298654ba9607SSascha Wildner.It Ic \&Ad  Ta    Yes      Ta    Yes      Ta    >0
298754ba9607SSascha Wildner.It Ic \&An  Ta    Yes      Ta    Yes      Ta    >0
298854ba9607SSascha Wildner.It Ic \&Ap  Ta    Yes      Ta    Yes      Ta    0
298954ba9607SSascha Wildner.It Ic \&Ar  Ta    Yes      Ta    Yes      Ta    n
299054ba9607SSascha Wildner.It Ic \&At  Ta    Yes      Ta    Yes      Ta    1
299154ba9607SSascha Wildner.It Ic \&Bsx Ta    Yes      Ta    Yes      Ta    n
299254ba9607SSascha Wildner.It Ic \&Bt  Ta    \&No     Ta    \&No     Ta    0
299354ba9607SSascha Wildner.It Ic \&Bx  Ta    Yes      Ta    Yes      Ta    n
299454ba9607SSascha Wildner.It Ic \&Cd  Ta    Yes      Ta    Yes      Ta    >0
299554ba9607SSascha Wildner.It Ic \&Cm  Ta    Yes      Ta    Yes      Ta    >0
299654ba9607SSascha Wildner.It Ic \&Db  Ta    \&No     Ta    \&No     Ta    1
299754ba9607SSascha Wildner.It Ic \&Dd  Ta    \&No     Ta    \&No     Ta    n
299854ba9607SSascha Wildner.It Ic \&Dt  Ta    \&No     Ta    \&No     Ta    n
299954ba9607SSascha Wildner.It Ic \&Dv  Ta    Yes      Ta    Yes      Ta    >0
300054ba9607SSascha Wildner.It Ic \&Dx  Ta    Yes      Ta    Yes      Ta    n
300154ba9607SSascha Wildner.It Ic \&Em  Ta    Yes      Ta    Yes      Ta    >0
300254ba9607SSascha Wildner.It Ic \&Er  Ta    Yes      Ta    Yes      Ta    >0
300354ba9607SSascha Wildner.It Ic \&Es  Ta    Yes      Ta    Yes      Ta    2
300454ba9607SSascha Wildner.It Ic \&Ev  Ta    Yes      Ta    Yes      Ta    >0
300554ba9607SSascha Wildner.It Ic \&Ex  Ta    \&No     Ta    \&No     Ta    n
300654ba9607SSascha Wildner.It Ic \&Fa  Ta    Yes      Ta    Yes      Ta    >0
300754ba9607SSascha Wildner.It Ic \&Fd  Ta    \&No     Ta    \&No     Ta    >0
300854ba9607SSascha Wildner.It Ic \&Fl  Ta    Yes      Ta    Yes      Ta    n
300954ba9607SSascha Wildner.It Ic \&Fn  Ta    Yes      Ta    Yes      Ta    >0
301054ba9607SSascha Wildner.It Ic \&Fr  Ta    Yes      Ta    Yes      Ta    >0
301154ba9607SSascha Wildner.It Ic \&Ft  Ta    Yes      Ta    Yes      Ta    >0
301254ba9607SSascha Wildner.It Ic \&Fx  Ta    Yes      Ta    Yes      Ta    n
301354ba9607SSascha Wildner.It Ic \&Hf  Ta    \&No     Ta    \&No     Ta    n
301454ba9607SSascha Wildner.It Ic \&Ic  Ta    Yes      Ta    Yes      Ta    >0
301554ba9607SSascha Wildner.It Ic \&In  Ta    \&No     Ta    \&No     Ta    1
301654ba9607SSascha Wildner.It Ic \&Lb  Ta    \&No     Ta    \&No     Ta    1
301754ba9607SSascha Wildner.It Ic \&Li  Ta    Yes      Ta    Yes      Ta    >0
301854ba9607SSascha Wildner.It Ic \&Lk  Ta    Yes      Ta    Yes      Ta    >0
301954ba9607SSascha Wildner.It Ic \&Lp  Ta    \&No     Ta    \&No     Ta    0
302054ba9607SSascha Wildner.It Ic \&Ms  Ta    Yes      Ta    Yes      Ta    >0
302154ba9607SSascha Wildner.It Ic \&Mt  Ta    Yes      Ta    Yes      Ta    >0
302254ba9607SSascha Wildner.It Ic \&Nm  Ta    Yes      Ta    Yes      Ta    n
302354ba9607SSascha Wildner.It Ic \&No  Ta    Yes      Ta    Yes      Ta    >0
302454ba9607SSascha Wildner.It Ic \&Ns  Ta    Yes      Ta    Yes      Ta    0
302554ba9607SSascha Wildner.It Ic \&Nx  Ta    Yes      Ta    Yes      Ta    n
302654ba9607SSascha Wildner.It Ic \&Os  Ta    \&No     Ta    \&No     Ta    n
302754ba9607SSascha Wildner.It Ic \&Ot  Ta    Yes      Ta    Yes      Ta    >0
302854ba9607SSascha Wildner.It Ic \&Ox  Ta    Yes      Ta    Yes      Ta    n
302954ba9607SSascha Wildner.It Ic \&Pa  Ta    Yes      Ta    Yes      Ta    n
303054ba9607SSascha Wildner.It Ic \&Pf  Ta    Yes      Ta    Yes      Ta    1
303154ba9607SSascha Wildner.It Ic \&Pp  Ta    \&No     Ta    \&No     Ta    0
303254ba9607SSascha Wildner.It Ic \&Rv  Ta    \&No     Ta    \&No     Ta    n
303354ba9607SSascha Wildner.It Ic \&Sm  Ta    \&No     Ta    \&No     Ta    <2
303454ba9607SSascha Wildner.It Ic \&St  Ta    \&No     Ta    Yes      Ta    1
303554ba9607SSascha Wildner.It Ic \&Sx  Ta    Yes      Ta    Yes      Ta    >0
303654ba9607SSascha Wildner.It Ic \&Sy  Ta    Yes      Ta    Yes      Ta    >0
3037*99db7d0eSSascha Wildner.It Ic \&Tg  Ta    \&No     Ta    \&No     Ta    <2
303854ba9607SSascha Wildner.It Ic \&Tn  Ta    Yes      Ta    Yes      Ta    >0
303954ba9607SSascha Wildner.It Ic \&Ud  Ta    \&No     Ta    \&No     Ta    0
304054ba9607SSascha Wildner.It Ic \&Ux  Ta    Yes      Ta    Yes      Ta    n
304154ba9607SSascha Wildner.It Ic \&Va  Ta    Yes      Ta    Yes      Ta    n
304254ba9607SSascha Wildner.It Ic \&Vt  Ta    Yes      Ta    Yes      Ta    >0
304354ba9607SSascha Wildner.It Ic \&Xr  Ta    Yes      Ta    Yes      Ta    2
304436342e81SSascha Wildner.El
304536342e81SSascha Wildner.Ss Delimiters
304636342e81SSascha WildnerWhen a macro argument consists of one single input character
304736342e81SSascha Wildnerconsidered as a delimiter, the argument gets special handling.
304836342e81SSascha WildnerThis does not apply when delimiters appear in arguments containing
304936342e81SSascha Wildnermore than one character.
305036342e81SSascha WildnerConsequently, to prevent special handling and just handle it
305136342e81SSascha Wildnerlike any other argument, a delimiter can be escaped by prepending
305236342e81SSascha Wildnera zero-width space
305336342e81SSascha Wildner.Pq Sq \e& .
305436342e81SSascha WildnerIn text lines, delimiters never need escaping, but may be used
305536342e81SSascha Wildneras normal punctuation.
305636342e81SSascha Wildner.Pp
305736342e81SSascha WildnerFor many macros, when the leading arguments are opening delimiters,
305836342e81SSascha Wildnerthese delimiters are put before the macro scope,
305936342e81SSascha Wildnerand when the trailing arguments are closing delimiters,
306036342e81SSascha Wildnerthese delimiters are put after the macro scope.
306154ba9607SSascha WildnerSpacing is suppressed after opening delimiters
306254ba9607SSascha Wildnerand before closing delimiters.
306336342e81SSascha WildnerFor example,
306436342e81SSascha Wildner.Pp
306536342e81SSascha Wildner.D1 Pf \. \&Aq "( [ word ] ) ."
306636342e81SSascha Wildner.Pp
306736342e81SSascha Wildnerrenders as:
306836342e81SSascha Wildner.Pp
306936342e81SSascha Wildner.D1 Aq ( [ word ] ) .
307036342e81SSascha Wildner.Pp
307136342e81SSascha WildnerOpening delimiters are:
307236342e81SSascha Wildner.Pp
307336342e81SSascha Wildner.Bl -tag -width Ds -offset indent -compact
307436342e81SSascha Wildner.It \&(
307536342e81SSascha Wildnerleft parenthesis
307636342e81SSascha Wildner.It \&[
307736342e81SSascha Wildnerleft bracket
307836342e81SSascha Wildner.El
307936342e81SSascha Wildner.Pp
308036342e81SSascha WildnerClosing delimiters are:
308136342e81SSascha Wildner.Pp
308236342e81SSascha Wildner.Bl -tag -width Ds -offset indent -compact
308336342e81SSascha Wildner.It \&.
308436342e81SSascha Wildnerperiod
308536342e81SSascha Wildner.It \&,
308636342e81SSascha Wildnercomma
308736342e81SSascha Wildner.It \&:
308836342e81SSascha Wildnercolon
308936342e81SSascha Wildner.It \&;
309036342e81SSascha Wildnersemicolon
309136342e81SSascha Wildner.It \&)
309236342e81SSascha Wildnerright parenthesis
309336342e81SSascha Wildner.It \&]
309436342e81SSascha Wildnerright bracket
309536342e81SSascha Wildner.It \&?
309636342e81SSascha Wildnerquestion mark
309736342e81SSascha Wildner.It \&!
309836342e81SSascha Wildnerexclamation mark
309936342e81SSascha Wildner.El
310036342e81SSascha Wildner.Pp
310136342e81SSascha WildnerNote that even a period preceded by a backslash
310236342e81SSascha Wildner.Pq Sq \e.\&
310336342e81SSascha Wildnergets this special handling; use
3104*99db7d0eSSascha Wildner.Sq \e&.\&
310536342e81SSascha Wildnerto prevent that.
310636342e81SSascha Wildner.Pp
310736342e81SSascha WildnerMany in-line macros interrupt their scope when they encounter
310836342e81SSascha Wildnerdelimiters, and resume their scope when more arguments follow that
310936342e81SSascha Wildnerare not delimiters.
311036342e81SSascha WildnerFor example,
311136342e81SSascha Wildner.Pp
311236342e81SSascha Wildner.D1 Pf \. \&Fl "a ( b | c \e*(Ba d ) e"
311336342e81SSascha Wildner.Pp
311436342e81SSascha Wildnerrenders as:
311536342e81SSascha Wildner.Pp
311636342e81SSascha Wildner.D1 Fl a ( b | c \*(Ba d ) e
311736342e81SSascha Wildner.Pp
311836342e81SSascha WildnerThis applies to both opening and closing delimiters,
311954ba9607SSascha Wildnerand also to the middle delimiter, which does not suppress spacing:
312036342e81SSascha Wildner.Pp
312136342e81SSascha Wildner.Bl -tag -width Ds -offset indent -compact
312236342e81SSascha Wildner.It \&|
312336342e81SSascha Wildnervertical bar
312436342e81SSascha Wildner.El
312536342e81SSascha Wildner.Pp
312636342e81SSascha WildnerAs a special case, the predefined string \e*(Ba is handled and rendered
312736342e81SSascha Wildnerin the same way as a plain
312836342e81SSascha Wildner.Sq \&|
312936342e81SSascha Wildnercharacter.
313036342e81SSascha WildnerUsing this predefined string is not recommended in new manuals.
3131*99db7d0eSSascha Wildner.Pp
3132*99db7d0eSSascha WildnerAppending a zero-width space
3133*99db7d0eSSascha Wildner.Pq Sq \e&
3134*99db7d0eSSascha Wildnerto the end of an input line is also useful to prevent the interpretation
3135*99db7d0eSSascha Wildnerof a trailing period, exclamation or question mark as the end of a
3136*99db7d0eSSascha Wildnersentence, for example when an abbreviation happens to occur
3137*99db7d0eSSascha Wildnerat the end of a text or macro input line.
313836342e81SSascha Wildner.Ss Font handling
313936342e81SSascha WildnerIn
314036342e81SSascha Wildner.Nm
314136342e81SSascha Wildnerdocuments, usage of semantic markup is recommended in order to have
314236342e81SSascha Wildnerproper fonts automatically selected; only when no fitting semantic markup
314336342e81SSascha Wildneris available, consider falling back to
314436342e81SSascha Wildner.Sx Physical markup
314536342e81SSascha Wildnermacros.
314636342e81SSascha WildnerWhenever any
314736342e81SSascha Wildner.Nm
314836342e81SSascha Wildnermacro switches the
314936342e81SSascha Wildner.Xr roff 7
315036342e81SSascha Wildnerfont mode, it will automatically restore the previous font when exiting
315136342e81SSascha Wildnerits scope.
315236342e81SSascha WildnerManually switching the font using the
315336342e81SSascha Wildner.Xr roff 7
315436342e81SSascha Wildner.Ql \ef
315536342e81SSascha Wildnerfont escape sequences is never required.
315680387638SSascha Wildner.Sh COMPATIBILITY
3157070c62a6SFranco FichtnerThis section provides an incomplete list of compatibility issues
315854ba9607SSascha Wildnerbetween mandoc and GNU troff
315980387638SSascha Wildner.Pq Qq groff .
316080387638SSascha Wildner.Pp
316180387638SSascha WildnerThe following problematic behaviour is found in groff:
316280387638SSascha Wildner.Pp
316380387638SSascha Wildner.Bl -dash -compact
316480387638SSascha Wildner.It
316554ba9607SSascha Wildner.Ic \&Pa
316680387638SSascha Wildnerdoes not format its arguments when used in the FILES section under
316780387638SSascha Wildnercertain list types.
316880387638SSascha Wildner.It
316954ba9607SSascha Wildner.Ic \&Ta
317080387638SSascha Wildnercan only be called by other macros, but not at the beginning of a line.
317180387638SSascha Wildner.It
317280387638SSascha Wildner.Sq \ef
317380387638SSascha Wildner.Pq font face
317480387638SSascha Wildnerand
3175070c62a6SFranco Fichtner.Sq \eF
317680387638SSascha Wildner.Pq font family face
317780387638SSascha Wildner.Sx Text Decoration
317880387638SSascha Wildnerescapes behave irregularly when specified within line-macro scopes.
317980387638SSascha Wildner.It
318080387638SSascha WildnerNegative scaling units return to prior lines.
318180387638SSascha WildnerInstead, mandoc truncates them to zero.
318280387638SSascha Wildner.El
318380387638SSascha Wildner.Pp
318480387638SSascha WildnerThe following features are unimplemented in mandoc:
318580387638SSascha Wildner.Pp
318680387638SSascha Wildner.Bl -dash -compact
318780387638SSascha Wildner.It
318854ba9607SSascha Wildner.Ic \&Bd Fl file Ar file
318954ba9607SSascha Wildneris unsupported for security reasons.
319080387638SSascha Wildner.It
319154ba9607SSascha Wildner.Ic \&Bd
319254ba9607SSascha Wildner.Fl filled
319354ba9607SSascha Wildnerdoes not adjust the right margin, but is an alias for
319454ba9607SSascha Wildner.Ic \&Bd
319554ba9607SSascha Wildner.Fl ragged .
319654ba9607SSascha Wildner.It
319754ba9607SSascha Wildner.Ic \&Bd
319854ba9607SSascha Wildner.Fl literal
319954ba9607SSascha Wildnerdoes not use a literal font, but is an alias for
320054ba9607SSascha Wildner.Ic \&Bd
320154ba9607SSascha Wildner.Fl unfilled .
320254ba9607SSascha Wildner.It
320354ba9607SSascha Wildner.Ic \&Bd
3204070c62a6SFranco Fichtner.Fl offset Cm center
320580387638SSascha Wildnerand
320654ba9607SSascha Wildner.Fl offset Cm right
320754ba9607SSascha Wildnerdon't work.
320854ba9607SSascha WildnerGroff does not implement centered and flush-right rendering either,
320980387638SSascha Wildnerbut produces large indentations.
321080387638SSascha Wildner.El
321180387638SSascha Wildner.Sh SEE ALSO
321280387638SSascha Wildner.Xr man 1 ,
321380387638SSascha Wildner.Xr mandoc 1 ,
321460e1e752SSascha Wildner.Xr eqn 7 ,
321580387638SSascha Wildner.Xr man 7 ,
321636342e81SSascha Wildner.Xr mandoc_char 7 ,
321780387638SSascha Wildner.Xr roff 7 ,
321880387638SSascha Wildner.Xr tbl 7
321954ba9607SSascha Wildner.Pp
322054ba9607SSascha WildnerThe web page
3221*99db7d0eSSascha Wildner.Lk https://mandoc.bsd.lv/mdoc/ "extended documentation for the mdoc language"
322254ba9607SSascha Wildnerprovides a few tutorial-style pages for beginners, an extensive style
322354ba9607SSascha Wildnerguide for advanced authors, and an alphabetic index helping to choose
322454ba9607SSascha Wildnerthe best macros for various kinds of content.
3225*99db7d0eSSascha Wildner.Pp
3226*99db7d0eSSascha WildnerThe manual page
3227*99db7d0eSSascha Wildner.Lk https://man.voidlinux.org/groff_mdoc "groff_mdoc(7)"
3228*99db7d0eSSascha Wildnercontained in the
3229*99db7d0eSSascha Wildner.Dq groff
3230*99db7d0eSSascha Wildnerpackage documents exactly the same language in a somewhat different style.
323180387638SSascha Wildner.Sh HISTORY
323280387638SSascha WildnerThe
323380387638SSascha Wildner.Nm
323480387638SSascha Wildnerlanguage first appeared as a troff macro package in
323580387638SSascha Wildner.Bx 4.4 .
323680387638SSascha WildnerIt was later significantly updated by Werner Lemberg and Ruslan Ermilov
323780387638SSascha Wildnerin groff-1.17.
323880387638SSascha WildnerThe standalone implementation that is part of the
323980387638SSascha Wildner.Xr mandoc 1
324080387638SSascha Wildnerutility written by Kristaps Dzonsons appeared in
324180387638SSascha Wildner.Ox 4.6 .
324280387638SSascha Wildner.Sh AUTHORS
324380387638SSascha WildnerThe
324480387638SSascha Wildner.Nm
324580387638SSascha Wildnerreference was written by
3246f88b6c16SFranco Fichtner.An Kristaps Dzonsons Aq Mt kristaps@bsd.lv .
3247