xref: /freebsd/contrib/mandoc/mdoc.7 (revision 6d38604fc532a3fc060788e3ce40464b46047eaf)
1*6d38604fSBaptiste Daroussin.\"	$Id: mdoc.7,v 1.287 2021/07/29 17:32:01 schwarze Exp $
261d06d6bSBaptiste Daroussin.\"
361d06d6bSBaptiste Daroussin.\" Copyright (c) 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
4*6d38604fSBaptiste Daroussin.\" Copyright (c) 2010, 2011, 2013-2020 Ingo Schwarze <schwarze@openbsd.org>
561d06d6bSBaptiste Daroussin.\"
661d06d6bSBaptiste Daroussin.\" Permission to use, copy, modify, and distribute this software for any
761d06d6bSBaptiste Daroussin.\" purpose with or without fee is hereby granted, provided that the above
861d06d6bSBaptiste Daroussin.\" copyright notice and this permission notice appear in all copies.
961d06d6bSBaptiste Daroussin.\"
1061d06d6bSBaptiste Daroussin.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
1161d06d6bSBaptiste Daroussin.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
1261d06d6bSBaptiste Daroussin.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
1361d06d6bSBaptiste Daroussin.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
1461d06d6bSBaptiste Daroussin.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
1561d06d6bSBaptiste Daroussin.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
1661d06d6bSBaptiste Daroussin.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1761d06d6bSBaptiste Daroussin.\"
18*6d38604fSBaptiste Daroussin.Dd $Mdocdate: July 29 2021 $
1961d06d6bSBaptiste Daroussin.Dt MDOC 7
2061d06d6bSBaptiste Daroussin.Os
2161d06d6bSBaptiste Daroussin.Sh NAME
2261d06d6bSBaptiste Daroussin.Nm mdoc
2361d06d6bSBaptiste Daroussin.Nd semantic markup language for formatting manual pages
2461d06d6bSBaptiste Daroussin.Sh DESCRIPTION
2561d06d6bSBaptiste DaroussinThe
2661d06d6bSBaptiste Daroussin.Nm mdoc
2761d06d6bSBaptiste Daroussinlanguage supports authoring of manual pages for the
2861d06d6bSBaptiste Daroussin.Xr man 1
2961d06d6bSBaptiste Daroussinutility by allowing semantic annotations of words, phrases,
3061d06d6bSBaptiste Daroussinpage sections and complete manual pages.
3161d06d6bSBaptiste DaroussinSuch annotations are used by formatting tools to achieve a uniform
3261d06d6bSBaptiste Daroussinpresentation across all manuals written in
3361d06d6bSBaptiste Daroussin.Nm ,
3461d06d6bSBaptiste Daroussinand to support hyperlinking if supported by the output medium.
3561d06d6bSBaptiste Daroussin.Pp
3661d06d6bSBaptiste DaroussinThis reference document describes the structure of manual pages
3761d06d6bSBaptiste Daroussinand the syntax and usage of the
3861d06d6bSBaptiste Daroussin.Nm
3961d06d6bSBaptiste Daroussinlanguage.
4061d06d6bSBaptiste DaroussinThe reference implementation of a parsing and formatting tool is
4161d06d6bSBaptiste Daroussin.Xr mandoc 1 ;
4261d06d6bSBaptiste Daroussinthe
4361d06d6bSBaptiste Daroussin.Sx COMPATIBILITY
4461d06d6bSBaptiste Daroussinsection describes compatibility with other implementations.
4561d06d6bSBaptiste Daroussin.Pp
4661d06d6bSBaptiste DaroussinIn an
4761d06d6bSBaptiste Daroussin.Nm
4861d06d6bSBaptiste Daroussindocument, lines beginning with the control character
4961d06d6bSBaptiste Daroussin.Sq \&.
5061d06d6bSBaptiste Daroussinare called
5161d06d6bSBaptiste Daroussin.Dq macro lines .
5261d06d6bSBaptiste DaroussinThe first word is the macro name.
5361d06d6bSBaptiste DaroussinIt consists of two or three letters.
5461d06d6bSBaptiste DaroussinMost macro names begin with a capital letter.
5561d06d6bSBaptiste DaroussinFor a list of available macros, see
5661d06d6bSBaptiste Daroussin.Sx MACRO OVERVIEW .
5761d06d6bSBaptiste DaroussinThe words following the macro name are arguments to the macro, optionally
5861d06d6bSBaptiste Daroussinincluding the names of other, callable macros; see
5961d06d6bSBaptiste Daroussin.Sx MACRO SYNTAX
6061d06d6bSBaptiste Daroussinfor details.
6161d06d6bSBaptiste Daroussin.Pp
6261d06d6bSBaptiste DaroussinLines not beginning with the control character are called
6361d06d6bSBaptiste Daroussin.Dq text lines .
6461d06d6bSBaptiste DaroussinThey provide free-form text to be printed; the formatting of the text
6561d06d6bSBaptiste Daroussindepends on the respective processing context:
6661d06d6bSBaptiste Daroussin.Bd -literal -offset indent
6761d06d6bSBaptiste Daroussin\&.Sh Macro lines change control state.
6861d06d6bSBaptiste DaroussinText lines are interpreted within the current state.
6961d06d6bSBaptiste Daroussin.Ed
7061d06d6bSBaptiste Daroussin.Pp
7161d06d6bSBaptiste DaroussinMany aspects of the basic syntax of the
7261d06d6bSBaptiste Daroussin.Nm
7361d06d6bSBaptiste Daroussinlanguage are based on the
7461d06d6bSBaptiste Daroussin.Xr roff 7
7561d06d6bSBaptiste Daroussinlanguage; see the
7661d06d6bSBaptiste Daroussin.Em LANGUAGE SYNTAX
7761d06d6bSBaptiste Daroussinand
7861d06d6bSBaptiste Daroussin.Em MACRO SYNTAX
7961d06d6bSBaptiste Daroussinsections in the
8061d06d6bSBaptiste Daroussin.Xr roff 7
8161d06d6bSBaptiste Daroussinmanual for details, in particular regarding
8261d06d6bSBaptiste Daroussincomments, escape sequences, whitespace, and quoting.
8361d06d6bSBaptiste DaroussinHowever, using
8461d06d6bSBaptiste Daroussin.Xr roff 7
8561d06d6bSBaptiste Daroussinrequests in
8661d06d6bSBaptiste Daroussin.Nm
8761d06d6bSBaptiste Daroussindocuments is discouraged;
8861d06d6bSBaptiste Daroussin.Xr mandoc 1
8961d06d6bSBaptiste Daroussinsupports some of them merely for backward compatibility.
9061d06d6bSBaptiste Daroussin.Sh MANUAL STRUCTURE
9161d06d6bSBaptiste DaroussinA well-formed
9261d06d6bSBaptiste Daroussin.Nm
9361d06d6bSBaptiste Daroussindocument consists of a document prologue followed by one or more
9461d06d6bSBaptiste Daroussinsections.
9561d06d6bSBaptiste Daroussin.Pp
9661d06d6bSBaptiste DaroussinThe prologue, which consists of the
977295610fSBaptiste Daroussin.Ic \&Dd ,
987295610fSBaptiste Daroussin.Ic \&Dt ,
9961d06d6bSBaptiste Daroussinand
1007295610fSBaptiste Daroussin.Ic \&Os
10161d06d6bSBaptiste Daroussinmacros in that order, is required for every document.
10261d06d6bSBaptiste Daroussin.Pp
10361d06d6bSBaptiste DaroussinThe first section (sections are denoted by
1047295610fSBaptiste Daroussin.Ic \&Sh )
10561d06d6bSBaptiste Daroussinmust be the NAME section, consisting of at least one
1067295610fSBaptiste Daroussin.Ic \&Nm
10761d06d6bSBaptiste Daroussinfollowed by
1087295610fSBaptiste Daroussin.Ic \&Nd .
10961d06d6bSBaptiste Daroussin.Pp
11061d06d6bSBaptiste DaroussinFollowing that, convention dictates specifying at least the
11161d06d6bSBaptiste Daroussin.Em SYNOPSIS
11261d06d6bSBaptiste Daroussinand
11361d06d6bSBaptiste Daroussin.Em DESCRIPTION
11461d06d6bSBaptiste Daroussinsections, although this varies between manual sections.
11561d06d6bSBaptiste Daroussin.Pp
11661d06d6bSBaptiste DaroussinThe following is a well-formed skeleton
11761d06d6bSBaptiste Daroussin.Nm
11861d06d6bSBaptiste Daroussinfile for a utility
11961d06d6bSBaptiste Daroussin.Qq progname :
12061d06d6bSBaptiste Daroussin.Bd -literal -offset indent
12161d06d6bSBaptiste Daroussin\&.Dd $\&Mdocdate$
12261d06d6bSBaptiste Daroussin\&.Dt PROGNAME section
12361d06d6bSBaptiste Daroussin\&.Os
12461d06d6bSBaptiste Daroussin\&.Sh NAME
12561d06d6bSBaptiste Daroussin\&.Nm progname
12661d06d6bSBaptiste Daroussin\&.Nd one line about what it does
12761d06d6bSBaptiste Daroussin\&.\e\(dq .Sh LIBRARY
12861d06d6bSBaptiste Daroussin\&.\e\(dq For sections 2, 3, and 9 only.
12961d06d6bSBaptiste Daroussin\&.\e\(dq Not used in OpenBSD.
13061d06d6bSBaptiste Daroussin\&.Sh SYNOPSIS
13161d06d6bSBaptiste Daroussin\&.Nm progname
13261d06d6bSBaptiste Daroussin\&.Op Fl options
13361d06d6bSBaptiste Daroussin\&.Ar
13461d06d6bSBaptiste Daroussin\&.Sh DESCRIPTION
13561d06d6bSBaptiste DaroussinThe
13661d06d6bSBaptiste Daroussin\&.Nm
13761d06d6bSBaptiste Daroussinutility processes files ...
13861d06d6bSBaptiste Daroussin\&.\e\(dq .Sh CONTEXT
13961d06d6bSBaptiste Daroussin\&.\e\(dq For section 9 functions only.
14061d06d6bSBaptiste Daroussin\&.\e\(dq .Sh IMPLEMENTATION NOTES
14161d06d6bSBaptiste Daroussin\&.\e\(dq Not used in OpenBSD.
14261d06d6bSBaptiste Daroussin\&.\e\(dq .Sh RETURN VALUES
14361d06d6bSBaptiste Daroussin\&.\e\(dq For sections 2, 3, and 9 function return values only.
14461d06d6bSBaptiste Daroussin\&.\e\(dq .Sh ENVIRONMENT
14561d06d6bSBaptiste Daroussin\&.\e\(dq For sections 1, 6, 7, and 8 only.
14661d06d6bSBaptiste Daroussin\&.\e\(dq .Sh FILES
14761d06d6bSBaptiste Daroussin\&.\e\(dq .Sh EXIT STATUS
14861d06d6bSBaptiste Daroussin\&.\e\(dq For sections 1, 6, and 8 only.
14961d06d6bSBaptiste Daroussin\&.\e\(dq .Sh EXAMPLES
15061d06d6bSBaptiste Daroussin\&.\e\(dq .Sh DIAGNOSTICS
15161d06d6bSBaptiste Daroussin\&.\e\(dq For sections 1, 4, 6, 7, 8, and 9 printf/stderr messages only.
15261d06d6bSBaptiste Daroussin\&.\e\(dq .Sh ERRORS
15361d06d6bSBaptiste Daroussin\&.\e\(dq For sections 2, 3, 4, and 9 errno settings only.
15461d06d6bSBaptiste Daroussin\&.\e\(dq .Sh SEE ALSO
15561d06d6bSBaptiste Daroussin\&.\e\(dq .Xr foobar 1
15661d06d6bSBaptiste Daroussin\&.\e\(dq .Sh STANDARDS
15761d06d6bSBaptiste Daroussin\&.\e\(dq .Sh HISTORY
15861d06d6bSBaptiste Daroussin\&.\e\(dq .Sh AUTHORS
15961d06d6bSBaptiste Daroussin\&.\e\(dq .Sh CAVEATS
16061d06d6bSBaptiste Daroussin\&.\e\(dq .Sh BUGS
16161d06d6bSBaptiste Daroussin\&.\e\(dq .Sh SECURITY CONSIDERATIONS
16261d06d6bSBaptiste Daroussin\&.\e\(dq Not used in OpenBSD.
16361d06d6bSBaptiste Daroussin.Ed
16461d06d6bSBaptiste Daroussin.Pp
16561d06d6bSBaptiste DaroussinThe sections in an
16661d06d6bSBaptiste Daroussin.Nm
16761d06d6bSBaptiste Daroussindocument are conventionally ordered as they appear above.
16861d06d6bSBaptiste DaroussinSections should be composed as follows:
16961d06d6bSBaptiste Daroussin.Bl -ohang -offset Ds
17061d06d6bSBaptiste Daroussin.It Em NAME
17161d06d6bSBaptiste DaroussinThe name(s) and a one line description of the documented material.
17261d06d6bSBaptiste DaroussinThe syntax for this as follows:
17361d06d6bSBaptiste Daroussin.Bd -literal -offset indent
17461d06d6bSBaptiste Daroussin\&.Nm name0 ,
17561d06d6bSBaptiste Daroussin\&.Nm name1 ,
17661d06d6bSBaptiste Daroussin\&.Nm name2
17761d06d6bSBaptiste Daroussin\&.Nd a one line description
17861d06d6bSBaptiste Daroussin.Ed
17961d06d6bSBaptiste Daroussin.Pp
18061d06d6bSBaptiste DaroussinMultiple
18161d06d6bSBaptiste Daroussin.Sq \&Nm
18261d06d6bSBaptiste Daroussinnames should be separated by commas.
18361d06d6bSBaptiste Daroussin.Pp
18461d06d6bSBaptiste DaroussinThe
1857295610fSBaptiste Daroussin.Ic \&Nm
18661d06d6bSBaptiste Daroussinmacro(s) must precede the
1877295610fSBaptiste Daroussin.Ic \&Nd
18861d06d6bSBaptiste Daroussinmacro.
18961d06d6bSBaptiste Daroussin.Pp
19061d06d6bSBaptiste DaroussinSee
1917295610fSBaptiste Daroussin.Ic \&Nm
19261d06d6bSBaptiste Daroussinand
1937295610fSBaptiste Daroussin.Ic \&Nd .
19461d06d6bSBaptiste Daroussin.It Em LIBRARY
19561d06d6bSBaptiste DaroussinThe name of the library containing the documented material, which is
19661d06d6bSBaptiste Daroussinassumed to be a function in a section 2, 3, or 9 manual.
19761d06d6bSBaptiste DaroussinThe syntax for this is as follows:
19861d06d6bSBaptiste Daroussin.Bd -literal -offset indent
19961d06d6bSBaptiste Daroussin\&.Lb libarm
20061d06d6bSBaptiste Daroussin.Ed
20161d06d6bSBaptiste Daroussin.Pp
20261d06d6bSBaptiste DaroussinSee
2037295610fSBaptiste Daroussin.Ic \&Lb .
20461d06d6bSBaptiste Daroussin.It Em SYNOPSIS
20561d06d6bSBaptiste DaroussinDocuments the utility invocation syntax, function call syntax, or device
20661d06d6bSBaptiste Daroussinconfiguration.
20761d06d6bSBaptiste Daroussin.Pp
20861d06d6bSBaptiste DaroussinFor the first, utilities (sections 1, 6, and 8), this is
20961d06d6bSBaptiste Daroussingenerally structured as follows:
21061d06d6bSBaptiste Daroussin.Bd -literal -offset indent
21161d06d6bSBaptiste Daroussin\&.Nm bar
21261d06d6bSBaptiste Daroussin\&.Op Fl v
21361d06d6bSBaptiste Daroussin\&.Op Fl o Ar file
21461d06d6bSBaptiste Daroussin\&.Op Ar
21561d06d6bSBaptiste Daroussin\&.Nm foo
21661d06d6bSBaptiste Daroussin\&.Op Fl v
21761d06d6bSBaptiste Daroussin\&.Op Fl o Ar file
21861d06d6bSBaptiste Daroussin\&.Op Ar
21961d06d6bSBaptiste Daroussin.Ed
22061d06d6bSBaptiste Daroussin.Pp
22161d06d6bSBaptiste DaroussinCommands should be ordered alphabetically.
22261d06d6bSBaptiste Daroussin.Pp
22361d06d6bSBaptiste DaroussinFor the second, function calls (sections 2, 3, 9):
22461d06d6bSBaptiste Daroussin.Bd -literal -offset indent
22561d06d6bSBaptiste Daroussin\&.In header.h
22661d06d6bSBaptiste Daroussin\&.Vt extern const char *global;
22761d06d6bSBaptiste Daroussin\&.Ft "char *"
22861d06d6bSBaptiste Daroussin\&.Fn foo "const char *src"
22961d06d6bSBaptiste Daroussin\&.Ft "char *"
23061d06d6bSBaptiste Daroussin\&.Fn bar "const char *src"
23161d06d6bSBaptiste Daroussin.Ed
23261d06d6bSBaptiste Daroussin.Pp
23361d06d6bSBaptiste DaroussinOrdering of
2347295610fSBaptiste Daroussin.Ic \&In ,
2357295610fSBaptiste Daroussin.Ic \&Vt ,
2367295610fSBaptiste Daroussin.Ic \&Fn ,
23761d06d6bSBaptiste Daroussinand
2387295610fSBaptiste Daroussin.Ic \&Fo
23961d06d6bSBaptiste Daroussinmacros should follow C header-file conventions.
24061d06d6bSBaptiste Daroussin.Pp
24161d06d6bSBaptiste DaroussinAnd for the third, configurations (section 4):
24261d06d6bSBaptiste Daroussin.Bd -literal -offset indent
24361d06d6bSBaptiste Daroussin\&.Cd \(dqit* at isa? port 0x2e\(dq
24461d06d6bSBaptiste Daroussin\&.Cd \(dqit* at isa? port 0x4e\(dq
24561d06d6bSBaptiste Daroussin.Ed
24661d06d6bSBaptiste Daroussin.Pp
24761d06d6bSBaptiste DaroussinManuals not in these sections generally don't need a
24861d06d6bSBaptiste Daroussin.Em SYNOPSIS .
24961d06d6bSBaptiste Daroussin.Pp
25061d06d6bSBaptiste DaroussinSome macros are displayed differently in the
25161d06d6bSBaptiste Daroussin.Em SYNOPSIS
25261d06d6bSBaptiste Daroussinsection, particularly
2537295610fSBaptiste Daroussin.Ic \&Nm ,
2547295610fSBaptiste Daroussin.Ic \&Cd ,
2557295610fSBaptiste Daroussin.Ic \&Fd ,
2567295610fSBaptiste Daroussin.Ic \&Fn ,
2577295610fSBaptiste Daroussin.Ic \&Fo ,
2587295610fSBaptiste Daroussin.Ic \&In ,
2597295610fSBaptiste Daroussin.Ic \&Vt ,
26061d06d6bSBaptiste Daroussinand
2617295610fSBaptiste Daroussin.Ic \&Ft .
26261d06d6bSBaptiste DaroussinAll of these macros are output on their own line.
26361d06d6bSBaptiste DaroussinIf two such dissimilar macros are pairwise invoked (except for
2647295610fSBaptiste Daroussin.Ic \&Ft
26561d06d6bSBaptiste Daroussinbefore
2667295610fSBaptiste Daroussin.Ic \&Fo
26761d06d6bSBaptiste Daroussinor
2687295610fSBaptiste Daroussin.Ic \&Fn ) ,
26961d06d6bSBaptiste Daroussinthey are separated by a vertical space, unless in the case of
2707295610fSBaptiste Daroussin.Ic \&Fo ,
2717295610fSBaptiste Daroussin.Ic \&Fn ,
27261d06d6bSBaptiste Daroussinand
2737295610fSBaptiste Daroussin.Ic \&Ft ,
27461d06d6bSBaptiste Daroussinwhich are always separated by vertical space.
27561d06d6bSBaptiste Daroussin.Pp
27661d06d6bSBaptiste DaroussinWhen text and macros following an
2777295610fSBaptiste Daroussin.Ic \&Nm
27861d06d6bSBaptiste Daroussinmacro starting an input line span multiple output lines,
27961d06d6bSBaptiste Daroussinall output lines but the first will be indented to align
28061d06d6bSBaptiste Daroussinwith the text immediately following the
2817295610fSBaptiste Daroussin.Ic \&Nm
28261d06d6bSBaptiste Daroussinmacro, up to the next
2837295610fSBaptiste Daroussin.Ic \&Nm ,
2847295610fSBaptiste Daroussin.Ic \&Sh ,
28561d06d6bSBaptiste Daroussinor
2867295610fSBaptiste Daroussin.Ic \&Ss
28761d06d6bSBaptiste Daroussinmacro or the end of an enclosing block, whichever comes first.
28861d06d6bSBaptiste Daroussin.It Em DESCRIPTION
28961d06d6bSBaptiste DaroussinThis begins with an expansion of the brief, one line description in
29061d06d6bSBaptiste Daroussin.Em NAME :
29161d06d6bSBaptiste Daroussin.Bd -literal -offset indent
29261d06d6bSBaptiste DaroussinThe
29361d06d6bSBaptiste Daroussin\&.Nm
29461d06d6bSBaptiste Daroussinutility does this, that, and the other.
29561d06d6bSBaptiste Daroussin.Ed
29661d06d6bSBaptiste Daroussin.Pp
29761d06d6bSBaptiste DaroussinIt usually follows with a breakdown of the options (if documenting a
29861d06d6bSBaptiste Daroussincommand), such as:
29961d06d6bSBaptiste Daroussin.Bd -literal -offset indent
300*6d38604fSBaptiste DaroussinThe options are as follows:
30161d06d6bSBaptiste Daroussin\&.Bl \-tag \-width Ds
30261d06d6bSBaptiste Daroussin\&.It Fl v
30361d06d6bSBaptiste DaroussinPrint verbose information.
30461d06d6bSBaptiste Daroussin\&.El
30561d06d6bSBaptiste Daroussin.Ed
30661d06d6bSBaptiste Daroussin.Pp
30761d06d6bSBaptiste DaroussinList the options in alphabetical order,
30861d06d6bSBaptiste Daroussinuppercase before lowercase for each letter and
30961d06d6bSBaptiste Daroussinwith no regard to whether an option takes an argument.
31061d06d6bSBaptiste DaroussinPut digits in ascending order before all letter options.
31161d06d6bSBaptiste Daroussin.Pp
31261d06d6bSBaptiste DaroussinManuals not documenting a command won't include the above fragment.
31361d06d6bSBaptiste Daroussin.Pp
31461d06d6bSBaptiste DaroussinSince the
31561d06d6bSBaptiste Daroussin.Em DESCRIPTION
31661d06d6bSBaptiste Daroussinsection usually contains most of the text of a manual, longer manuals
31761d06d6bSBaptiste Daroussinoften use the
3187295610fSBaptiste Daroussin.Ic \&Ss
31961d06d6bSBaptiste Daroussinmacro to form subsections.
32061d06d6bSBaptiste DaroussinIn very long manuals, the
32161d06d6bSBaptiste Daroussin.Em DESCRIPTION
32261d06d6bSBaptiste Daroussinmay be split into multiple sections, each started by an
3237295610fSBaptiste Daroussin.Ic \&Sh
32461d06d6bSBaptiste Daroussinmacro followed by a non-standard section name, and each having
32561d06d6bSBaptiste Daroussinseveral subsections, like in the present
32661d06d6bSBaptiste Daroussin.Nm
32761d06d6bSBaptiste Daroussinmanual.
32861d06d6bSBaptiste Daroussin.It Em CONTEXT
32961d06d6bSBaptiste DaroussinThis section lists the contexts in which functions can be called in section 9.
33061d06d6bSBaptiste DaroussinThe contexts are autoconf, process, or interrupt.
33161d06d6bSBaptiste Daroussin.It Em IMPLEMENTATION NOTES
33261d06d6bSBaptiste DaroussinImplementation-specific notes should be kept here.
33361d06d6bSBaptiste DaroussinThis is useful when implementing standard functions that may have side
33461d06d6bSBaptiste Daroussineffects or notable algorithmic implications.
33561d06d6bSBaptiste Daroussin.It Em RETURN VALUES
33661d06d6bSBaptiste DaroussinThis section documents the
33761d06d6bSBaptiste Daroussinreturn values of functions in sections 2, 3, and 9.
33861d06d6bSBaptiste Daroussin.Pp
33961d06d6bSBaptiste DaroussinSee
3407295610fSBaptiste Daroussin.Ic \&Rv .
34161d06d6bSBaptiste Daroussin.It Em ENVIRONMENT
34261d06d6bSBaptiste DaroussinLists the environment variables used by the utility,
34361d06d6bSBaptiste Daroussinand explains the syntax and semantics of their values.
34461d06d6bSBaptiste DaroussinThe
34561d06d6bSBaptiste Daroussin.Xr environ 7
34661d06d6bSBaptiste Daroussinmanual provides examples of typical content and formatting.
34761d06d6bSBaptiste Daroussin.Pp
34861d06d6bSBaptiste DaroussinSee
3497295610fSBaptiste Daroussin.Ic \&Ev .
35061d06d6bSBaptiste Daroussin.It Em FILES
35161d06d6bSBaptiste DaroussinDocuments files used.
35261d06d6bSBaptiste DaroussinIt's helpful to document both the file name and a short description of how
35361d06d6bSBaptiste Daroussinthe file is used (created, modified, etc.).
35461d06d6bSBaptiste Daroussin.Pp
35561d06d6bSBaptiste DaroussinSee
3567295610fSBaptiste Daroussin.Ic \&Pa .
35761d06d6bSBaptiste Daroussin.It Em EXIT STATUS
35861d06d6bSBaptiste DaroussinThis section documents the
35961d06d6bSBaptiste Daroussincommand exit status for section 1, 6, and 8 utilities.
36061d06d6bSBaptiste DaroussinHistorically, this information was described in
36161d06d6bSBaptiste Daroussin.Em DIAGNOSTICS ,
36261d06d6bSBaptiste Daroussina practise that is now discouraged.
36361d06d6bSBaptiste Daroussin.Pp
36461d06d6bSBaptiste DaroussinSee
3657295610fSBaptiste Daroussin.Ic \&Ex .
36661d06d6bSBaptiste Daroussin.It Em EXAMPLES
36761d06d6bSBaptiste DaroussinExample usages.
36861d06d6bSBaptiste DaroussinThis often contains snippets of well-formed, well-tested invocations.
36961d06d6bSBaptiste DaroussinMake sure that examples work properly!
37061d06d6bSBaptiste Daroussin.It Em DIAGNOSTICS
37161d06d6bSBaptiste DaroussinDocuments error messages.
37261d06d6bSBaptiste DaroussinIn section 4 and 9 manuals, these are usually messages printed by the
37361d06d6bSBaptiste Daroussinkernel to the console and to the kernel log.
37461d06d6bSBaptiste DaroussinIn section 1, 6, 7, and 8, these are usually messages printed by
37561d06d6bSBaptiste Daroussinuserland programs to the standard error output.
37661d06d6bSBaptiste Daroussin.Pp
37761d06d6bSBaptiste DaroussinHistorically, this section was used in place of
37861d06d6bSBaptiste Daroussin.Em EXIT STATUS
37961d06d6bSBaptiste Daroussinfor manuals in sections 1, 6, and 8; however, this practise is
38061d06d6bSBaptiste Daroussindiscouraged.
38161d06d6bSBaptiste Daroussin.Pp
38261d06d6bSBaptiste DaroussinSee
3837295610fSBaptiste Daroussin.Ic \&Bl
38461d06d6bSBaptiste Daroussin.Fl diag .
38561d06d6bSBaptiste Daroussin.It Em ERRORS
38661d06d6bSBaptiste DaroussinDocuments
38761d06d6bSBaptiste Daroussin.Xr errno 2
38861d06d6bSBaptiste Daroussinsettings in sections 2, 3, 4, and 9.
38961d06d6bSBaptiste Daroussin.Pp
39061d06d6bSBaptiste DaroussinSee
3917295610fSBaptiste Daroussin.Ic \&Er .
39261d06d6bSBaptiste Daroussin.It Em SEE ALSO
39361d06d6bSBaptiste DaroussinReferences other manuals with related topics.
39461d06d6bSBaptiste DaroussinThis section should exist for most manuals.
39561d06d6bSBaptiste DaroussinCross-references should conventionally be ordered first by section, then
39661d06d6bSBaptiste Daroussinalphabetically (ignoring case).
39761d06d6bSBaptiste Daroussin.Pp
39861d06d6bSBaptiste DaroussinReferences to other documentation concerning the topic of the manual page,
39961d06d6bSBaptiste Daroussinfor example authoritative books or journal articles, may also be
40061d06d6bSBaptiste Daroussinprovided in this section.
40161d06d6bSBaptiste Daroussin.Pp
40261d06d6bSBaptiste DaroussinSee
4037295610fSBaptiste Daroussin.Ic \&Rs
40461d06d6bSBaptiste Daroussinand
4057295610fSBaptiste Daroussin.Ic \&Xr .
40661d06d6bSBaptiste Daroussin.It Em STANDARDS
40761d06d6bSBaptiste DaroussinReferences any standards implemented or used.
40861d06d6bSBaptiste DaroussinIf not adhering to any standards, the
40961d06d6bSBaptiste Daroussin.Em HISTORY
41061d06d6bSBaptiste Daroussinsection should be used instead.
41161d06d6bSBaptiste Daroussin.Pp
41261d06d6bSBaptiste DaroussinSee
4137295610fSBaptiste Daroussin.Ic \&St .
41461d06d6bSBaptiste Daroussin.It Em HISTORY
41561d06d6bSBaptiste DaroussinA brief history of the subject, including where it was first implemented,
41661d06d6bSBaptiste Daroussinand when it was ported to or reimplemented for the operating system at hand.
41761d06d6bSBaptiste Daroussin.It Em AUTHORS
41861d06d6bSBaptiste DaroussinCredits to the person or persons who wrote the code and/or documentation.
41961d06d6bSBaptiste DaroussinAuthors should generally be noted by both name and email address.
42061d06d6bSBaptiste Daroussin.Pp
42161d06d6bSBaptiste DaroussinSee
4227295610fSBaptiste Daroussin.Ic \&An .
42361d06d6bSBaptiste Daroussin.It Em CAVEATS
42461d06d6bSBaptiste DaroussinCommon misuses and misunderstandings should be explained
42561d06d6bSBaptiste Daroussinin this section.
42661d06d6bSBaptiste Daroussin.It Em BUGS
42761d06d6bSBaptiste DaroussinKnown bugs, limitations, and work-arounds should be described
42861d06d6bSBaptiste Daroussinin this section.
42961d06d6bSBaptiste Daroussin.It Em SECURITY CONSIDERATIONS
43061d06d6bSBaptiste DaroussinDocuments any security precautions that operators should consider.
43161d06d6bSBaptiste Daroussin.El
43261d06d6bSBaptiste Daroussin.Sh MACRO OVERVIEW
43361d06d6bSBaptiste DaroussinThis overview is sorted such that macros of similar purpose are listed
43461d06d6bSBaptiste Daroussintogether, to help find the best macro for any given purpose.
43561d06d6bSBaptiste DaroussinDeprecated macros are not included in the overview, but can be found below
43661d06d6bSBaptiste Daroussinin the alphabetical
43761d06d6bSBaptiste Daroussin.Sx MACRO REFERENCE .
43861d06d6bSBaptiste Daroussin.Ss Document preamble and NAME section macros
43961d06d6bSBaptiste Daroussin.Bl -column "Brq, Bro, Brc" description
4407295610fSBaptiste Daroussin.It Ic \&Dd Ta document date: Cm $\&Mdocdate$ | Ar month day , year
4417295610fSBaptiste Daroussin.It Ic \&Dt Ta document title: Ar TITLE section Op Ar arch
4427295610fSBaptiste Daroussin.It Ic \&Os Ta operating system version: Op Ar system Op Ar version
4437295610fSBaptiste Daroussin.It Ic \&Nm Ta document name (one argument)
4447295610fSBaptiste Daroussin.It Ic \&Nd Ta document description (one line)
44561d06d6bSBaptiste Daroussin.El
44661d06d6bSBaptiste Daroussin.Ss Sections and cross references
44761d06d6bSBaptiste Daroussin.Bl -column "Brq, Bro, Brc" description
4487295610fSBaptiste Daroussin.It Ic \&Sh Ta section header (one line)
4497295610fSBaptiste Daroussin.It Ic \&Ss Ta subsection header (one line)
4507295610fSBaptiste Daroussin.It Ic \&Sx Ta internal cross reference to a section or subsection
4517295610fSBaptiste Daroussin.It Ic \&Xr Ta cross reference to another manual page: Ar name section
452*6d38604fSBaptiste Daroussin.It Ic \&Tg Ta tag the definition of a Ar term Pq <= 1 arguments
4537295610fSBaptiste Daroussin.It Ic \&Pp Ta start a text paragraph (no arguments)
45461d06d6bSBaptiste Daroussin.El
45561d06d6bSBaptiste Daroussin.Ss Displays and lists
45661d06d6bSBaptiste Daroussin.Bl -column "Brq, Bro, Brc" description
4577295610fSBaptiste Daroussin.It Ic \&Bd , \&Ed Ta display block:
45861d06d6bSBaptiste Daroussin.Fl Ar type
45961d06d6bSBaptiste Daroussin.Op Fl offset Ar width
46061d06d6bSBaptiste Daroussin.Op Fl compact
4617295610fSBaptiste Daroussin.It Ic \&D1 Ta indented display (one line)
4627295610fSBaptiste Daroussin.It Ic \&Dl Ta indented literal display (one line)
4637295610fSBaptiste Daroussin.It Ic \&Ql Ta in-line literal display: Ql text
4647295610fSBaptiste Daroussin.It Ic \&Bl , \&El Ta list block:
46561d06d6bSBaptiste Daroussin.Fl Ar type
46661d06d6bSBaptiste Daroussin.Op Fl width Ar val
46761d06d6bSBaptiste Daroussin.Op Fl offset Ar val
46861d06d6bSBaptiste Daroussin.Op Fl compact
4697295610fSBaptiste Daroussin.It Ic \&It Ta list item (syntax depends on Fl Ar type )
4707295610fSBaptiste Daroussin.It Ic \&Ta Ta table cell separator in Ic \&Bl Fl column No lists
4717295610fSBaptiste Daroussin.It Ic \&Rs , \&%* , \&Re Ta bibliographic block (references)
47261d06d6bSBaptiste Daroussin.El
47361d06d6bSBaptiste Daroussin.Ss Spacing control
47461d06d6bSBaptiste Daroussin.Bl -column "Brq, Bro, Brc" description
4757295610fSBaptiste Daroussin.It Ic \&Pf Ta prefix, no following horizontal space (one argument)
4767295610fSBaptiste Daroussin.It Ic \&Ns Ta roman font, no preceding horizontal space (no arguments)
4777295610fSBaptiste Daroussin.It Ic \&Ap Ta apostrophe without surrounding whitespace (no arguments)
4787295610fSBaptiste Daroussin.It Ic \&Sm Ta switch horizontal spacing mode: Op Cm on | off
4797295610fSBaptiste Daroussin.It Ic \&Bk , \&Ek Ta keep block: Fl words
48061d06d6bSBaptiste Daroussin.El
48161d06d6bSBaptiste Daroussin.Ss Semantic markup for command line utilities
48261d06d6bSBaptiste Daroussin.Bl -column "Brq, Bro, Brc" description
4837295610fSBaptiste Daroussin.It Ic \&Nm Ta start a SYNOPSIS block with the name of a utility
4847295610fSBaptiste Daroussin.It Ic \&Fl Ta command line options (flags) (>=0 arguments)
4857295610fSBaptiste Daroussin.It Ic \&Cm Ta command modifier (>0 arguments)
4867295610fSBaptiste Daroussin.It Ic \&Ar Ta command arguments (>=0 arguments)
4877295610fSBaptiste Daroussin.It Ic \&Op , \&Oo , \&Oc Ta optional syntax elements (enclosure)
4887295610fSBaptiste Daroussin.It Ic \&Ic Ta internal or interactive command (>0 arguments)
4897295610fSBaptiste Daroussin.It Ic \&Ev Ta environmental variable (>0 arguments)
4907295610fSBaptiste Daroussin.It Ic \&Pa Ta file system path (>=0 arguments)
49161d06d6bSBaptiste Daroussin.El
49261d06d6bSBaptiste Daroussin.Ss Semantic markup for function libraries
49361d06d6bSBaptiste Daroussin.Bl -column "Brq, Bro, Brc" description
4947295610fSBaptiste Daroussin.It Ic \&Lb Ta function library (one argument)
4957295610fSBaptiste Daroussin.It Ic \&In Ta include file (one argument)
4967295610fSBaptiste Daroussin.It Ic \&Fd Ta other preprocessor directive (>0 arguments)
4977295610fSBaptiste Daroussin.It Ic \&Ft Ta function type (>0 arguments)
4987295610fSBaptiste Daroussin.It Ic \&Fo , \&Fc Ta function block: Ar funcname
4997295610fSBaptiste Daroussin.It Ic \&Fn Ta function name: Ar funcname Op Ar argument ...
5007295610fSBaptiste Daroussin.It Ic \&Fa Ta function argument (>0 arguments)
5017295610fSBaptiste Daroussin.It Ic \&Vt Ta variable type (>0 arguments)
5027295610fSBaptiste Daroussin.It Ic \&Va Ta variable name (>0 arguments)
5037295610fSBaptiste Daroussin.It Ic \&Dv Ta defined variable or preprocessor constant (>0 arguments)
5047295610fSBaptiste Daroussin.It Ic \&Er Ta error constant (>0 arguments)
5057295610fSBaptiste Daroussin.It Ic \&Ev Ta environmental variable (>0 arguments)
50661d06d6bSBaptiste Daroussin.El
50761d06d6bSBaptiste Daroussin.Ss Various semantic markup
50861d06d6bSBaptiste Daroussin.Bl -column "Brq, Bro, Brc" description
5097295610fSBaptiste Daroussin.It Ic \&An Ta author name (>0 arguments)
5107295610fSBaptiste Daroussin.It Ic \&Lk Ta hyperlink: Ar uri Op Ar display_name
5117295610fSBaptiste Daroussin.It Ic \&Mt Ta Do mailto Dc hyperlink: Ar localpart Ns @ Ns Ar domain
5127295610fSBaptiste Daroussin.It Ic \&Cd Ta kernel configuration declaration (>0 arguments)
5137295610fSBaptiste Daroussin.It Ic \&Ad Ta memory address (>0 arguments)
5147295610fSBaptiste Daroussin.It Ic \&Ms Ta mathematical symbol (>0 arguments)
51561d06d6bSBaptiste Daroussin.El
51661d06d6bSBaptiste Daroussin.Ss Physical markup
51761d06d6bSBaptiste Daroussin.Bl -column "Brq, Bro, Brc" description
5187295610fSBaptiste Daroussin.It Ic \&Em Ta italic font or underline (emphasis) (>0 arguments)
5197295610fSBaptiste Daroussin.It Ic \&Sy Ta boldface font (symbolic) (>0 arguments)
5207295610fSBaptiste Daroussin.It Ic \&No Ta return to roman font (normal) (>0 arguments)
5217295610fSBaptiste Daroussin.It Ic \&Bf , \&Ef Ta font block: Fl Ar type | Cm \&Em | \&Li | \&Sy
52261d06d6bSBaptiste Daroussin.El
52361d06d6bSBaptiste Daroussin.Ss Physical enclosures
52461d06d6bSBaptiste Daroussin.Bl -column "Brq, Bro, Brc" description
5257295610fSBaptiste Daroussin.It Ic \&Dq , \&Do , \&Dc Ta enclose in typographic double quotes: Dq text
5267295610fSBaptiste Daroussin.It Ic \&Qq , \&Qo , \&Qc Ta enclose in typewriter double quotes: Qq text
5277295610fSBaptiste Daroussin.It Ic \&Sq , \&So , \&Sc Ta enclose in single quotes: Sq text
5287295610fSBaptiste Daroussin.It Ic \&Pq , \&Po , \&Pc Ta enclose in parentheses: Pq text
5297295610fSBaptiste Daroussin.It Ic \&Bq , \&Bo , \&Bc Ta enclose in square brackets: Bq text
5307295610fSBaptiste Daroussin.It Ic \&Brq , \&Bro , \&Brc Ta enclose in curly braces: Brq text
5317295610fSBaptiste Daroussin.It Ic \&Aq , \&Ao , \&Ac Ta enclose in angle brackets: Aq text
5327295610fSBaptiste Daroussin.It Ic \&Eo , \&Ec Ta generic enclosure
53361d06d6bSBaptiste Daroussin.El
53461d06d6bSBaptiste Daroussin.Ss Text production
53561d06d6bSBaptiste Daroussin.Bl -column "Brq, Bro, Brc" description
5367295610fSBaptiste Daroussin.It Ic \&Ex Fl std Ta standard command exit values: Op Ar utility ...
5377295610fSBaptiste Daroussin.It Ic \&Rv Fl std Ta standard function return values: Op Ar function ...
5387295610fSBaptiste Daroussin.It Ic \&St Ta reference to a standards document (one argument)
5397295610fSBaptiste Daroussin.It Ic \&At Ta At
5407295610fSBaptiste Daroussin.It Ic \&Bx Ta Bx
5417295610fSBaptiste Daroussin.It Ic \&Bsx Ta Bsx
5427295610fSBaptiste Daroussin.It Ic \&Nx Ta Nx
5437295610fSBaptiste Daroussin.It Ic \&Fx Ta Fx
5447295610fSBaptiste Daroussin.It Ic \&Ox Ta Ox
5457295610fSBaptiste Daroussin.It Ic \&Dx Ta Dx
54661d06d6bSBaptiste Daroussin.El
54761d06d6bSBaptiste Daroussin.Sh MACRO REFERENCE
54861d06d6bSBaptiste DaroussinThis section is a canonical reference of all macros, arranged
54961d06d6bSBaptiste Daroussinalphabetically.
55061d06d6bSBaptiste DaroussinFor the scoping of individual macros, see
55161d06d6bSBaptiste Daroussin.Sx MACRO SYNTAX .
5527295610fSBaptiste Daroussin.Bl -tag -width 3n
5537295610fSBaptiste Daroussin.It Ic \&%A Ar first_name ... last_name
55461d06d6bSBaptiste DaroussinAuthor name of an
5557295610fSBaptiste Daroussin.Ic \&Rs
55661d06d6bSBaptiste Daroussinblock.
55761d06d6bSBaptiste DaroussinMultiple authors should each be accorded their own
5587295610fSBaptiste Daroussin.Ic \%%A
55961d06d6bSBaptiste Daroussinline.
56061d06d6bSBaptiste DaroussinAuthor names should be ordered with full or abbreviated forename(s)
56161d06d6bSBaptiste Daroussinfirst, then full surname.
5627295610fSBaptiste Daroussin.It Ic \&%B Ar title
56361d06d6bSBaptiste DaroussinBook title of an
5647295610fSBaptiste Daroussin.Ic \&Rs
56561d06d6bSBaptiste Daroussinblock.
56661d06d6bSBaptiste DaroussinThis macro may also be used in a non-bibliographic context when
56761d06d6bSBaptiste Daroussinreferring to book titles.
5687295610fSBaptiste Daroussin.It Ic \&%C Ar location
56961d06d6bSBaptiste DaroussinPublication city or location of an
5707295610fSBaptiste Daroussin.Ic \&Rs
57161d06d6bSBaptiste Daroussinblock.
5727295610fSBaptiste Daroussin.It Ic \&%D Oo Ar month day , Oc Ar year
57361d06d6bSBaptiste DaroussinPublication date of an
5747295610fSBaptiste Daroussin.Ic \&Rs
57561d06d6bSBaptiste Daroussinblock.
5767295610fSBaptiste DaroussinProvide the full English name of the
5777295610fSBaptiste Daroussin.Ar month
5787295610fSBaptiste Daroussinand all four digits of the
57961d06d6bSBaptiste Daroussin.Ar year .
5807295610fSBaptiste Daroussin.It Ic \&%I Ar name
58161d06d6bSBaptiste DaroussinPublisher or issuer name of an
5827295610fSBaptiste Daroussin.Ic \&Rs
58361d06d6bSBaptiste Daroussinblock.
5847295610fSBaptiste Daroussin.It Ic \&%J Ar name
58561d06d6bSBaptiste DaroussinJournal name of an
5867295610fSBaptiste Daroussin.Ic \&Rs
58761d06d6bSBaptiste Daroussinblock.
5887295610fSBaptiste Daroussin.It Ic \&%N Ar number
58961d06d6bSBaptiste DaroussinIssue number (usually for journals) of an
5907295610fSBaptiste Daroussin.Ic \&Rs
59161d06d6bSBaptiste Daroussinblock.
5927295610fSBaptiste Daroussin.It Ic \&%O Ar line
59361d06d6bSBaptiste DaroussinOptional information of an
5947295610fSBaptiste Daroussin.Ic \&Rs
59561d06d6bSBaptiste Daroussinblock.
5967295610fSBaptiste Daroussin.It Ic \&%P Ar number
59761d06d6bSBaptiste DaroussinBook or journal page number of an
5987295610fSBaptiste Daroussin.Ic \&Rs
59961d06d6bSBaptiste Daroussinblock.
60045a5aec3SBaptiste DaroussinConventionally, the argument starts with
60145a5aec3SBaptiste Daroussin.Ql p.\&
60245a5aec3SBaptiste Daroussinfor a single page or
60345a5aec3SBaptiste Daroussin.Ql pp.\&
60445a5aec3SBaptiste Daroussinfor a range of pages, for example:
60545a5aec3SBaptiste Daroussin.Pp
60645a5aec3SBaptiste Daroussin.Dl .%P pp. 42\e(en47
6077295610fSBaptiste Daroussin.It Ic \&%Q Ar name
60861d06d6bSBaptiste DaroussinInstitutional author (school, government, etc.) of an
6097295610fSBaptiste Daroussin.Ic \&Rs
61061d06d6bSBaptiste Daroussinblock.
61161d06d6bSBaptiste DaroussinMultiple institutional authors should each be accorded their own
6127295610fSBaptiste Daroussin.Ic \&%Q
61361d06d6bSBaptiste Daroussinline.
6147295610fSBaptiste Daroussin.It Ic \&%R Ar name
61561d06d6bSBaptiste DaroussinTechnical report name of an
6167295610fSBaptiste Daroussin.Ic \&Rs
61761d06d6bSBaptiste Daroussinblock.
6187295610fSBaptiste Daroussin.It Ic \&%T Ar title
61961d06d6bSBaptiste DaroussinArticle title of an
6207295610fSBaptiste Daroussin.Ic \&Rs
62161d06d6bSBaptiste Daroussinblock.
62261d06d6bSBaptiste DaroussinThis macro may also be used in a non-bibliographical context when
62361d06d6bSBaptiste Daroussinreferring to article titles.
6247295610fSBaptiste Daroussin.It Ic \&%U Ar protocol Ns :// Ns Ar path
62561d06d6bSBaptiste DaroussinURI of reference document.
6267295610fSBaptiste Daroussin.It Ic \&%V Ar number
62761d06d6bSBaptiste DaroussinVolume number of an
6287295610fSBaptiste Daroussin.Ic \&Rs
62961d06d6bSBaptiste Daroussinblock.
6307295610fSBaptiste Daroussin.It Ic \&Ac
63161d06d6bSBaptiste DaroussinClose an
6327295610fSBaptiste Daroussin.Ic \&Ao
63361d06d6bSBaptiste Daroussinblock.
63461d06d6bSBaptiste DaroussinDoes not have any tail arguments.
635*6d38604fSBaptiste Daroussin.Tg Ad
6367295610fSBaptiste Daroussin.It Ic \&Ad Ar address
63761d06d6bSBaptiste DaroussinMemory address.
63861d06d6bSBaptiste DaroussinDo not use this for postal addresses.
63961d06d6bSBaptiste Daroussin.Pp
64061d06d6bSBaptiste DaroussinExamples:
64161d06d6bSBaptiste Daroussin.Dl \&.Ad [0,$]
64261d06d6bSBaptiste Daroussin.Dl \&.Ad 0x00000000
643*6d38604fSBaptiste Daroussin.Tg An
6447295610fSBaptiste Daroussin.It Ic \&An Fl split | nosplit | Ar first_name ... last_name
64561d06d6bSBaptiste DaroussinAuthor name.
64661d06d6bSBaptiste DaroussinCan be used both for the authors of the program, function, or driver
64761d06d6bSBaptiste Daroussindocumented in the manual, or for the authors of the manual itself.
64861d06d6bSBaptiste DaroussinRequires either the name of an author or one of the following arguments:
64961d06d6bSBaptiste Daroussin.Pp
65061d06d6bSBaptiste Daroussin.Bl -tag -width "-nosplitX" -offset indent -compact
65161d06d6bSBaptiste Daroussin.It Fl split
65261d06d6bSBaptiste DaroussinStart a new output line before each subsequent invocation of
6537295610fSBaptiste Daroussin.Ic \&An .
65461d06d6bSBaptiste Daroussin.It Fl nosplit
65561d06d6bSBaptiste DaroussinThe opposite of
65661d06d6bSBaptiste Daroussin.Fl split .
65761d06d6bSBaptiste Daroussin.El
65861d06d6bSBaptiste Daroussin.Pp
65961d06d6bSBaptiste DaroussinThe default is
66061d06d6bSBaptiste Daroussin.Fl nosplit .
66161d06d6bSBaptiste DaroussinThe effect of selecting either of the
66261d06d6bSBaptiste Daroussin.Fl split
66361d06d6bSBaptiste Daroussinmodes ends at the beginning of the
66461d06d6bSBaptiste Daroussin.Em AUTHORS
66561d06d6bSBaptiste Daroussinsection.
66661d06d6bSBaptiste DaroussinIn the
66761d06d6bSBaptiste Daroussin.Em AUTHORS
66861d06d6bSBaptiste Daroussinsection, the default is
66961d06d6bSBaptiste Daroussin.Fl nosplit
67061d06d6bSBaptiste Daroussinfor the first author listing and
67161d06d6bSBaptiste Daroussin.Fl split
67261d06d6bSBaptiste Daroussinfor all other author listings.
67361d06d6bSBaptiste Daroussin.Pp
67461d06d6bSBaptiste DaroussinExamples:
67561d06d6bSBaptiste Daroussin.Dl \&.An -nosplit
67661d06d6bSBaptiste Daroussin.Dl \&.An Kristaps Dzonsons \&Aq \&Mt kristaps@bsd.lv
6777295610fSBaptiste Daroussin.It Ic \&Ao Ar block
67861d06d6bSBaptiste DaroussinBegin a block enclosed by angle brackets.
67961d06d6bSBaptiste DaroussinDoes not have any head arguments.
68061d06d6bSBaptiste DaroussinThis macro is almost never useful.
68161d06d6bSBaptiste DaroussinSee
6827295610fSBaptiste Daroussin.Ic \&Aq
68361d06d6bSBaptiste Daroussinfor more details.
684*6d38604fSBaptiste Daroussin.Tg Ap
6857295610fSBaptiste Daroussin.It Ic \&Ap
68661d06d6bSBaptiste DaroussinInserts an apostrophe without any surrounding whitespace.
68761d06d6bSBaptiste DaroussinThis is generally used as a grammatical device when referring to the verb
68861d06d6bSBaptiste Daroussinform of a function.
68961d06d6bSBaptiste Daroussin.Pp
69061d06d6bSBaptiste DaroussinExamples:
69161d06d6bSBaptiste Daroussin.Dl \&.Fn execve \&Ap d
692*6d38604fSBaptiste Daroussin.Tg Aq
6937295610fSBaptiste Daroussin.It Ic \&Aq Ar line
6947295610fSBaptiste DaroussinEnclose the rest of the input line in angle brackets.
69561d06d6bSBaptiste DaroussinThe only important use case is for email addresses.
69661d06d6bSBaptiste DaroussinSee
6977295610fSBaptiste Daroussin.Ic \&Mt
69861d06d6bSBaptiste Daroussinfor an example.
69961d06d6bSBaptiste Daroussin.Pp
70061d06d6bSBaptiste DaroussinOccasionally, it is used for names of characters and keys, for example:
70161d06d6bSBaptiste Daroussin.Bd -literal -offset indent
70261d06d6bSBaptiste DaroussinPress the
70361d06d6bSBaptiste Daroussin\&.Aq escape
70461d06d6bSBaptiste Daroussinkey to ...
70561d06d6bSBaptiste Daroussin.Ed
70661d06d6bSBaptiste Daroussin.Pp
70761d06d6bSBaptiste DaroussinFor URIs, use
7087295610fSBaptiste Daroussin.Ic \&Lk
70961d06d6bSBaptiste Daroussininstead, and
7107295610fSBaptiste Daroussin.Ic \&In
71161d06d6bSBaptiste Daroussinfor
71261d06d6bSBaptiste Daroussin.Dq #include
71361d06d6bSBaptiste Daroussindirectives.
71461d06d6bSBaptiste DaroussinNever wrap
7157295610fSBaptiste Daroussin.Ic \&Ar
71661d06d6bSBaptiste Daroussinin
7177295610fSBaptiste Daroussin.Ic \&Aq .
71861d06d6bSBaptiste Daroussin.Pp
71961d06d6bSBaptiste DaroussinSince
7207295610fSBaptiste Daroussin.Ic \&Aq
72161d06d6bSBaptiste Daroussinusually renders with non-ASCII characters in non-ASCII output modes,
72261d06d6bSBaptiste Daroussindo not use it where the ASCII characters
72361d06d6bSBaptiste Daroussin.Sq <
72461d06d6bSBaptiste Daroussinand
72561d06d6bSBaptiste Daroussin.Sq >
72661d06d6bSBaptiste Daroussinare required as syntax elements.
72761d06d6bSBaptiste DaroussinInstead, use these characters directly in such cases, combining them
72861d06d6bSBaptiste Daroussinwith the macros
7297295610fSBaptiste Daroussin.Ic \&Pf ,
7307295610fSBaptiste Daroussin.Ic \&Ns ,
73161d06d6bSBaptiste Daroussinor
7327295610fSBaptiste Daroussin.Ic \&Eo
73361d06d6bSBaptiste Daroussinas needed.
73461d06d6bSBaptiste Daroussin.Pp
73561d06d6bSBaptiste DaroussinSee also
7367295610fSBaptiste Daroussin.Ic \&Ao .
737*6d38604fSBaptiste Daroussin.Tg Ar
7387295610fSBaptiste Daroussin.It Ic \&Ar Op Ar placeholder ...
73961d06d6bSBaptiste DaroussinCommand arguments.
74061d06d6bSBaptiste DaroussinIf an argument is not provided, the string
74161d06d6bSBaptiste Daroussin.Dq file ...\&
74261d06d6bSBaptiste Daroussinis used as a default.
74361d06d6bSBaptiste Daroussin.Pp
74461d06d6bSBaptiste DaroussinExamples:
74561d06d6bSBaptiste Daroussin.Dl ".Fl o Ar file"
74661d06d6bSBaptiste Daroussin.Dl ".Ar"
74761d06d6bSBaptiste Daroussin.Dl ".Ar arg1 , arg2 ."
74861d06d6bSBaptiste Daroussin.Pp
74961d06d6bSBaptiste DaroussinThe arguments to the
7507295610fSBaptiste Daroussin.Ic \&Ar
75161d06d6bSBaptiste Daroussinmacro are names and placeholders for command arguments;
75261d06d6bSBaptiste Daroussinfor fixed strings to be passed verbatim as arguments, use
7537295610fSBaptiste Daroussin.Ic \&Fl
75461d06d6bSBaptiste Daroussinor
7557295610fSBaptiste Daroussin.Ic \&Cm .
756*6d38604fSBaptiste Daroussin.Tg At
7577295610fSBaptiste Daroussin.It Ic \&At Op Ar version
75861d06d6bSBaptiste DaroussinFormats an
75961d06d6bSBaptiste Daroussin.At
76061d06d6bSBaptiste Daroussinversion.
76161d06d6bSBaptiste DaroussinAccepts one optional argument:
76261d06d6bSBaptiste Daroussin.Pp
76361d06d6bSBaptiste Daroussin.Bl -tag -width "v[1-7] | 32vX" -offset indent -compact
76461d06d6bSBaptiste Daroussin.It Cm v[1-7] | 32v
76561d06d6bSBaptiste DaroussinA version of
76661d06d6bSBaptiste Daroussin.At .
76761d06d6bSBaptiste Daroussin.It Cm III
76861d06d6bSBaptiste Daroussin.At III .
76961d06d6bSBaptiste Daroussin.It Cm V | V.[1-4]
77061d06d6bSBaptiste DaroussinA version of
77161d06d6bSBaptiste Daroussin.At V .
77261d06d6bSBaptiste Daroussin.El
77361d06d6bSBaptiste Daroussin.Pp
77461d06d6bSBaptiste DaroussinNote that these arguments do not begin with a hyphen.
77561d06d6bSBaptiste Daroussin.Pp
77661d06d6bSBaptiste DaroussinExamples:
77761d06d6bSBaptiste Daroussin.Dl \&.At
77861d06d6bSBaptiste Daroussin.Dl \&.At III
77961d06d6bSBaptiste Daroussin.Dl \&.At V.1
78061d06d6bSBaptiste Daroussin.Pp
78161d06d6bSBaptiste DaroussinSee also
7827295610fSBaptiste Daroussin.Ic \&Bsx ,
7837295610fSBaptiste Daroussin.Ic \&Bx ,
7847295610fSBaptiste Daroussin.Ic \&Dx ,
7857295610fSBaptiste Daroussin.Ic \&Fx ,
7867295610fSBaptiste Daroussin.Ic \&Nx ,
78761d06d6bSBaptiste Daroussinand
7887295610fSBaptiste Daroussin.Ic \&Ox .
7897295610fSBaptiste Daroussin.It Ic \&Bc
79061d06d6bSBaptiste DaroussinClose a
7917295610fSBaptiste Daroussin.Ic \&Bo
79261d06d6bSBaptiste Daroussinblock.
79361d06d6bSBaptiste DaroussinDoes not have any tail arguments.
794*6d38604fSBaptiste Daroussin.Tg Bd
7957295610fSBaptiste Daroussin.It Ic \&Bd Fl Ns Ar type Oo Fl offset Ar width Oc Op Fl compact
79661d06d6bSBaptiste DaroussinBegin a display block.
79761d06d6bSBaptiste DaroussinDisplay blocks are used to select a different indentation and
79861d06d6bSBaptiste Daroussinjustification than the one used by the surrounding text.
79961d06d6bSBaptiste DaroussinThey may contain both macro lines and text lines.
80061d06d6bSBaptiste DaroussinBy default, a display block is preceded by a vertical space.
80161d06d6bSBaptiste Daroussin.Pp
80261d06d6bSBaptiste DaroussinThe
80361d06d6bSBaptiste Daroussin.Ar type
80461d06d6bSBaptiste Daroussinmust be one of the following:
80561d06d6bSBaptiste Daroussin.Bl -tag -width 13n -offset indent
80661d06d6bSBaptiste Daroussin.It Fl centered
80761d06d6bSBaptiste DaroussinProduce one output line from each input line, and center-justify each line.
80861d06d6bSBaptiste DaroussinUsing this display type is not recommended; many
80961d06d6bSBaptiste Daroussin.Nm
81061d06d6bSBaptiste Daroussinimplementations render it poorly.
81161d06d6bSBaptiste Daroussin.It Fl filled
81261d06d6bSBaptiste DaroussinChange the positions of line breaks to fill each line, and left- and
81361d06d6bSBaptiste Daroussinright-justify the resulting block.
81461d06d6bSBaptiste Daroussin.It Fl literal
81561d06d6bSBaptiste DaroussinProduce one output line from each input line,
81661d06d6bSBaptiste Daroussinand do not justify the block at all.
81761d06d6bSBaptiste DaroussinPreserve white space as it appears in the input.
81861d06d6bSBaptiste DaroussinAlways use a constant-width font.
81961d06d6bSBaptiste DaroussinUse this for displaying source code.
82061d06d6bSBaptiste Daroussin.It Fl ragged
82161d06d6bSBaptiste DaroussinChange the positions of line breaks to fill each line, and left-justify
82261d06d6bSBaptiste Daroussinthe resulting block.
82361d06d6bSBaptiste Daroussin.It Fl unfilled
82461d06d6bSBaptiste DaroussinThe same as
82561d06d6bSBaptiste Daroussin.Fl literal ,
82661d06d6bSBaptiste Daroussinbut using the same font as for normal text, which is a variable width font
82761d06d6bSBaptiste Daroussinif supported by the output device.
82861d06d6bSBaptiste Daroussin.El
82961d06d6bSBaptiste Daroussin.Pp
83061d06d6bSBaptiste DaroussinThe
83161d06d6bSBaptiste Daroussin.Ar type
83261d06d6bSBaptiste Daroussinmust be provided first.
83361d06d6bSBaptiste DaroussinAdditional arguments may follow:
83461d06d6bSBaptiste Daroussin.Bl -tag -width 13n -offset indent
83561d06d6bSBaptiste Daroussin.It Fl offset Ar width
83661d06d6bSBaptiste DaroussinIndent the display by the
83761d06d6bSBaptiste Daroussin.Ar width ,
83861d06d6bSBaptiste Daroussinwhich may be one of the following:
83961d06d6bSBaptiste Daroussin.Bl -item
84061d06d6bSBaptiste Daroussin.It
84161d06d6bSBaptiste DaroussinOne of the pre-defined strings
84261d06d6bSBaptiste Daroussin.Cm indent ,
84361d06d6bSBaptiste Daroussinthe width of a standard indentation (six constant width characters);
84461d06d6bSBaptiste Daroussin.Cm indent-two ,
84561d06d6bSBaptiste Daroussintwice
84661d06d6bSBaptiste Daroussin.Cm indent ;
84761d06d6bSBaptiste Daroussin.Cm left ,
84861d06d6bSBaptiste Daroussinwhich has no effect;
84961d06d6bSBaptiste Daroussin.Cm right ,
85061d06d6bSBaptiste Daroussinwhich justifies to the right margin; or
85161d06d6bSBaptiste Daroussin.Cm center ,
85261d06d6bSBaptiste Daroussinwhich aligns around an imagined center axis.
85361d06d6bSBaptiste Daroussin.It
85461d06d6bSBaptiste DaroussinA macro invocation, which selects a predefined width
85561d06d6bSBaptiste Daroussinassociated with that macro.
85661d06d6bSBaptiste DaroussinThe most popular is the imaginary macro
85761d06d6bSBaptiste Daroussin.Ar \&Ds ,
85861d06d6bSBaptiste Daroussinwhich resolves to
85961d06d6bSBaptiste Daroussin.Sy 6n .
86061d06d6bSBaptiste Daroussin.It
86161d06d6bSBaptiste DaroussinA scaling width as described in
86261d06d6bSBaptiste Daroussin.Xr roff 7 .
86361d06d6bSBaptiste Daroussin.It
86461d06d6bSBaptiste DaroussinAn arbitrary string, which indents by the length of this string.
86561d06d6bSBaptiste Daroussin.El
86661d06d6bSBaptiste Daroussin.Pp
86761d06d6bSBaptiste DaroussinWhen the argument is missing,
86861d06d6bSBaptiste Daroussin.Fl offset
86961d06d6bSBaptiste Daroussinis ignored.
87061d06d6bSBaptiste Daroussin.It Fl compact
87161d06d6bSBaptiste DaroussinDo not assert vertical space before the display.
87261d06d6bSBaptiste Daroussin.El
87361d06d6bSBaptiste Daroussin.Pp
87461d06d6bSBaptiste DaroussinExamples:
87561d06d6bSBaptiste Daroussin.Bd -literal -offset indent
87661d06d6bSBaptiste Daroussin\&.Bd \-literal \-offset indent \-compact
87761d06d6bSBaptiste Daroussin   Hello       world.
87861d06d6bSBaptiste Daroussin\&.Ed
87961d06d6bSBaptiste Daroussin.Ed
88061d06d6bSBaptiste Daroussin.Pp
88161d06d6bSBaptiste DaroussinSee also
8827295610fSBaptiste Daroussin.Ic \&D1
88361d06d6bSBaptiste Daroussinand
8847295610fSBaptiste Daroussin.Ic \&Dl .
885*6d38604fSBaptiste Daroussin.Tg Bf
8867295610fSBaptiste Daroussin.It Ic \&Bf Fl emphasis | literal | symbolic | Cm \&Em | \&Li | \&Sy
88761d06d6bSBaptiste DaroussinChange the font mode for a scoped block of text.
88861d06d6bSBaptiste DaroussinThe
88961d06d6bSBaptiste Daroussin.Fl emphasis
89061d06d6bSBaptiste Daroussinand
89161d06d6bSBaptiste Daroussin.Cm \&Em
89261d06d6bSBaptiste Daroussinargument are equivalent, as are
89361d06d6bSBaptiste Daroussin.Fl symbolic
89461d06d6bSBaptiste Daroussinand
89561d06d6bSBaptiste Daroussin.Cm \&Sy ,
89661d06d6bSBaptiste Daroussinand
89761d06d6bSBaptiste Daroussin.Fl literal
89861d06d6bSBaptiste Daroussinand
89961d06d6bSBaptiste Daroussin.Cm \&Li .
90061d06d6bSBaptiste DaroussinWithout an argument, this macro does nothing.
90161d06d6bSBaptiste DaroussinThe font mode continues until broken by a new font mode in a nested
90261d06d6bSBaptiste Daroussinscope or
9037295610fSBaptiste Daroussin.Ic \&Ef
90461d06d6bSBaptiste Daroussinis encountered.
90561d06d6bSBaptiste Daroussin.Pp
90661d06d6bSBaptiste DaroussinSee also
9077295610fSBaptiste Daroussin.Ic \&Li ,
9087295610fSBaptiste Daroussin.Ic \&Ef ,
9097295610fSBaptiste Daroussin.Ic \&Em ,
91061d06d6bSBaptiste Daroussinand
9117295610fSBaptiste Daroussin.Ic \&Sy .
912*6d38604fSBaptiste Daroussin.Tg Bk
9137295610fSBaptiste Daroussin.It Ic \&Bk Fl words
91461d06d6bSBaptiste DaroussinFor each macro, keep its output together on the same output line,
91561d06d6bSBaptiste Daroussinuntil the end of the macro or the end of the input line is reached,
91661d06d6bSBaptiste Daroussinwhichever comes first.
91761d06d6bSBaptiste DaroussinLine breaks in text lines are unaffected.
91861d06d6bSBaptiste Daroussin.Pp
91961d06d6bSBaptiste DaroussinThe
92061d06d6bSBaptiste Daroussin.Fl words
92161d06d6bSBaptiste Daroussinargument is required; additional arguments are ignored.
92261d06d6bSBaptiste Daroussin.Pp
92361d06d6bSBaptiste DaroussinThe following example will not break within each
9247295610fSBaptiste Daroussin.Ic \&Op
92561d06d6bSBaptiste Daroussinmacro line:
92661d06d6bSBaptiste Daroussin.Bd -literal -offset indent
92761d06d6bSBaptiste Daroussin\&.Bk \-words
92861d06d6bSBaptiste Daroussin\&.Op Fl f Ar flags
92961d06d6bSBaptiste Daroussin\&.Op Fl o Ar output
93061d06d6bSBaptiste Daroussin\&.Ek
93161d06d6bSBaptiste Daroussin.Ed
93261d06d6bSBaptiste Daroussin.Pp
93361d06d6bSBaptiste DaroussinBe careful in using over-long lines within a keep block!
93461d06d6bSBaptiste DaroussinDoing so will clobber the right margin.
935*6d38604fSBaptiste Daroussin.Tg Bl
9367295610fSBaptiste Daroussin.It Xo
9377295610fSBaptiste Daroussin.Ic \&Bl
93861d06d6bSBaptiste Daroussin.Fl Ns Ar type
93961d06d6bSBaptiste Daroussin.Op Fl width Ar val
94061d06d6bSBaptiste Daroussin.Op Fl offset Ar val
94161d06d6bSBaptiste Daroussin.Op Fl compact
9427295610fSBaptiste Daroussin.Op Ar col ...
9437295610fSBaptiste Daroussin.Xc
9447295610fSBaptiste DaroussinBegin a list.
9457295610fSBaptiste DaroussinLists consist of items specified using the
9467295610fSBaptiste Daroussin.Ic \&It
9477295610fSBaptiste Daroussinmacro, containing a head or a body or both.
94861d06d6bSBaptiste Daroussin.Pp
94961d06d6bSBaptiste DaroussinThe list
95061d06d6bSBaptiste Daroussin.Ar type
95161d06d6bSBaptiste Daroussinis mandatory and must be specified first.
95261d06d6bSBaptiste DaroussinThe
95361d06d6bSBaptiste Daroussin.Fl width
95461d06d6bSBaptiste Daroussinand
95561d06d6bSBaptiste Daroussin.Fl offset
95661d06d6bSBaptiste Daroussinarguments accept macro names as described for
9577295610fSBaptiste Daroussin.Ic \&Bd
95861d06d6bSBaptiste Daroussin.Fl offset ,
95961d06d6bSBaptiste Daroussinscaling widths as described in
96061d06d6bSBaptiste Daroussin.Xr roff 7 ,
96161d06d6bSBaptiste Daroussinor use the length of the given string.
96261d06d6bSBaptiste DaroussinThe
96361d06d6bSBaptiste Daroussin.Fl offset
96461d06d6bSBaptiste Daroussinis a global indentation for the whole list, affecting both item heads
96561d06d6bSBaptiste Daroussinand bodies.
96661d06d6bSBaptiste DaroussinFor those list types supporting it, the
96761d06d6bSBaptiste Daroussin.Fl width
96861d06d6bSBaptiste Daroussinargument requests an additional indentation of item bodies,
96961d06d6bSBaptiste Daroussinto be added to the
97061d06d6bSBaptiste Daroussin.Fl offset .
97161d06d6bSBaptiste DaroussinUnless the
97261d06d6bSBaptiste Daroussin.Fl compact
97361d06d6bSBaptiste Daroussinargument is specified, list entries are separated by vertical space.
97461d06d6bSBaptiste Daroussin.Pp
97561d06d6bSBaptiste DaroussinA list must specify one of the following list types:
97661d06d6bSBaptiste Daroussin.Bl -tag -width 12n -offset indent
97761d06d6bSBaptiste Daroussin.It Fl bullet
97861d06d6bSBaptiste DaroussinNo item heads can be specified, but a bullet will be printed at the head
97961d06d6bSBaptiste Daroussinof each item.
98061d06d6bSBaptiste DaroussinItem bodies start on the same output line as the bullet
98161d06d6bSBaptiste Daroussinand are indented according to the
98261d06d6bSBaptiste Daroussin.Fl width
98361d06d6bSBaptiste Daroussinargument.
98461d06d6bSBaptiste Daroussin.It Fl column
98561d06d6bSBaptiste DaroussinA columnated list.
98661d06d6bSBaptiste DaroussinThe
98761d06d6bSBaptiste Daroussin.Fl width
98861d06d6bSBaptiste Daroussinargument has no effect; instead, the string length of each argument
98961d06d6bSBaptiste Daroussinspecifies the width of one column.
99061d06d6bSBaptiste DaroussinIf the first line of the body of a
99161d06d6bSBaptiste Daroussin.Fl column
99261d06d6bSBaptiste Daroussinlist is not an
9937295610fSBaptiste Daroussin.Ic \&It
99461d06d6bSBaptiste Daroussinmacro line,
9957295610fSBaptiste Daroussin.Ic \&It
99661d06d6bSBaptiste Daroussincontexts spanning one input line each are implied until an
9977295610fSBaptiste Daroussin.Ic \&It
99861d06d6bSBaptiste Daroussinmacro line is encountered, at which point items start being interpreted as
99961d06d6bSBaptiste Daroussindescribed in the
10007295610fSBaptiste Daroussin.Ic \&It
100161d06d6bSBaptiste Daroussindocumentation.
100261d06d6bSBaptiste Daroussin.It Fl dash
100361d06d6bSBaptiste DaroussinLike
100461d06d6bSBaptiste Daroussin.Fl bullet ,
100561d06d6bSBaptiste Daroussinexcept that dashes are used in place of bullets.
100661d06d6bSBaptiste Daroussin.It Fl diag
100761d06d6bSBaptiste DaroussinLike
100861d06d6bSBaptiste Daroussin.Fl inset ,
100961d06d6bSBaptiste Daroussinexcept that item heads are not parsed for macro invocations.
101061d06d6bSBaptiste DaroussinMost often used in the
101161d06d6bSBaptiste Daroussin.Em DIAGNOSTICS
101261d06d6bSBaptiste Daroussinsection with error constants in the item heads.
101361d06d6bSBaptiste Daroussin.It Fl enum
101461d06d6bSBaptiste DaroussinA numbered list.
101561d06d6bSBaptiste DaroussinNo item heads can be specified.
101661d06d6bSBaptiste DaroussinFormatted like
101761d06d6bSBaptiste Daroussin.Fl bullet ,
101861d06d6bSBaptiste Daroussinexcept that cardinal numbers are used in place of bullets,
101961d06d6bSBaptiste Daroussinstarting at 1.
102061d06d6bSBaptiste Daroussin.It Fl hang
102161d06d6bSBaptiste DaroussinLike
102261d06d6bSBaptiste Daroussin.Fl tag ,
102361d06d6bSBaptiste Daroussinexcept that the first lines of item bodies are not indented, but follow
102461d06d6bSBaptiste Daroussinthe item heads like in
102561d06d6bSBaptiste Daroussin.Fl inset
102661d06d6bSBaptiste Daroussinlists.
102761d06d6bSBaptiste Daroussin.It Fl hyphen
102861d06d6bSBaptiste DaroussinSynonym for
102961d06d6bSBaptiste Daroussin.Fl dash .
103061d06d6bSBaptiste Daroussin.It Fl inset
103161d06d6bSBaptiste DaroussinItem bodies follow items heads on the same line, using normal inter-word
103261d06d6bSBaptiste Daroussinspacing.
103361d06d6bSBaptiste DaroussinBodies are not indented, and the
103461d06d6bSBaptiste Daroussin.Fl width
103561d06d6bSBaptiste Daroussinargument is ignored.
103661d06d6bSBaptiste Daroussin.It Fl item
103761d06d6bSBaptiste DaroussinNo item heads can be specified, and none are printed.
103861d06d6bSBaptiste DaroussinBodies are not indented, and the
103961d06d6bSBaptiste Daroussin.Fl width
104061d06d6bSBaptiste Daroussinargument is ignored.
104161d06d6bSBaptiste Daroussin.It Fl ohang
104261d06d6bSBaptiste DaroussinItem bodies start on the line following item heads and are not indented.
104361d06d6bSBaptiste DaroussinThe
104461d06d6bSBaptiste Daroussin.Fl width
104561d06d6bSBaptiste Daroussinargument is ignored.
104661d06d6bSBaptiste Daroussin.It Fl tag
104761d06d6bSBaptiste DaroussinItem bodies are indented according to the
104861d06d6bSBaptiste Daroussin.Fl width
104961d06d6bSBaptiste Daroussinargument.
105061d06d6bSBaptiste DaroussinWhen an item head fits inside the indentation, the item body follows
105161d06d6bSBaptiste Daroussinthis head on the same output line.
105261d06d6bSBaptiste DaroussinOtherwise, the body starts on the output line following the head.
105361d06d6bSBaptiste Daroussin.El
105461d06d6bSBaptiste Daroussin.Pp
105561d06d6bSBaptiste DaroussinLists may be nested within lists and displays.
105661d06d6bSBaptiste DaroussinNesting of
105761d06d6bSBaptiste Daroussin.Fl column
105861d06d6bSBaptiste Daroussinand
105961d06d6bSBaptiste Daroussin.Fl enum
106061d06d6bSBaptiste Daroussinlists may not be portable.
106161d06d6bSBaptiste Daroussin.Pp
106261d06d6bSBaptiste DaroussinSee also
10637295610fSBaptiste Daroussin.Ic \&El
106461d06d6bSBaptiste Daroussinand
10657295610fSBaptiste Daroussin.Ic \&It .
10667295610fSBaptiste Daroussin.It Ic \&Bo Ar block
106761d06d6bSBaptiste DaroussinBegin a block enclosed by square brackets.
106861d06d6bSBaptiste DaroussinDoes not have any head arguments.
106961d06d6bSBaptiste Daroussin.Pp
107061d06d6bSBaptiste DaroussinExamples:
107161d06d6bSBaptiste Daroussin.Bd -literal -offset indent -compact
107261d06d6bSBaptiste Daroussin\&.Bo 1 ,
107361d06d6bSBaptiste Daroussin\&.Dv BUFSIZ \&Bc
107461d06d6bSBaptiste Daroussin.Ed
107561d06d6bSBaptiste Daroussin.Pp
107661d06d6bSBaptiste DaroussinSee also
10777295610fSBaptiste Daroussin.Ic \&Bq .
1078*6d38604fSBaptiste Daroussin.Tg Bq
10797295610fSBaptiste Daroussin.It Ic \&Bq Ar line
108061d06d6bSBaptiste DaroussinEncloses its arguments in square brackets.
108161d06d6bSBaptiste Daroussin.Pp
108261d06d6bSBaptiste DaroussinExamples:
108361d06d6bSBaptiste Daroussin.Dl \&.Bq 1 , \&Dv BUFSIZ
108461d06d6bSBaptiste Daroussin.Pp
108561d06d6bSBaptiste Daroussin.Em Remarks :
108661d06d6bSBaptiste Daroussinthis macro is sometimes abused to emulate optional arguments for
108761d06d6bSBaptiste Daroussincommands; the correct macros to use for this purpose are
10887295610fSBaptiste Daroussin.Ic \&Op ,
10897295610fSBaptiste Daroussin.Ic \&Oo ,
109061d06d6bSBaptiste Daroussinand
10917295610fSBaptiste Daroussin.Ic \&Oc .
109261d06d6bSBaptiste Daroussin.Pp
109361d06d6bSBaptiste DaroussinSee also
10947295610fSBaptiste Daroussin.Ic \&Bo .
10957295610fSBaptiste Daroussin.It Ic \&Brc
109661d06d6bSBaptiste DaroussinClose a
10977295610fSBaptiste Daroussin.Ic \&Bro
109861d06d6bSBaptiste Daroussinblock.
109961d06d6bSBaptiste DaroussinDoes not have any tail arguments.
11007295610fSBaptiste Daroussin.It Ic \&Bro Ar block
110161d06d6bSBaptiste DaroussinBegin a block enclosed by curly braces.
110261d06d6bSBaptiste DaroussinDoes not have any head arguments.
110361d06d6bSBaptiste Daroussin.Pp
110461d06d6bSBaptiste DaroussinExamples:
110561d06d6bSBaptiste Daroussin.Bd -literal -offset indent -compact
110661d06d6bSBaptiste Daroussin\&.Bro 1 , ... ,
110761d06d6bSBaptiste Daroussin\&.Va n \&Brc
110861d06d6bSBaptiste Daroussin.Ed
110961d06d6bSBaptiste Daroussin.Pp
111061d06d6bSBaptiste DaroussinSee also
11117295610fSBaptiste Daroussin.Ic \&Brq .
1112*6d38604fSBaptiste Daroussin.Tg Brq
11137295610fSBaptiste Daroussin.It Ic \&Brq Ar line
111461d06d6bSBaptiste DaroussinEncloses its arguments in curly braces.
111561d06d6bSBaptiste Daroussin.Pp
111661d06d6bSBaptiste DaroussinExamples:
111761d06d6bSBaptiste Daroussin.Dl \&.Brq 1 , ... , \&Va n
111861d06d6bSBaptiste Daroussin.Pp
111961d06d6bSBaptiste DaroussinSee also
11207295610fSBaptiste Daroussin.Ic \&Bro .
1121*6d38604fSBaptiste Daroussin.Tg Bsx
11227295610fSBaptiste Daroussin.It Ic \&Bsx Op Ar version
112361d06d6bSBaptiste DaroussinFormat the
112461d06d6bSBaptiste Daroussin.Bsx
112561d06d6bSBaptiste Daroussinversion provided as an argument, or a default value if
112661d06d6bSBaptiste Daroussinno argument is provided.
112761d06d6bSBaptiste Daroussin.Pp
112861d06d6bSBaptiste DaroussinExamples:
112961d06d6bSBaptiste Daroussin.Dl \&.Bsx 1.0
113061d06d6bSBaptiste Daroussin.Dl \&.Bsx
113161d06d6bSBaptiste Daroussin.Pp
113261d06d6bSBaptiste DaroussinSee also
11337295610fSBaptiste Daroussin.Ic \&At ,
11347295610fSBaptiste Daroussin.Ic \&Bx ,
11357295610fSBaptiste Daroussin.Ic \&Dx ,
11367295610fSBaptiste Daroussin.Ic \&Fx ,
11377295610fSBaptiste Daroussin.Ic \&Nx ,
113861d06d6bSBaptiste Daroussinand
11397295610fSBaptiste Daroussin.Ic \&Ox .
11407295610fSBaptiste Daroussin.It Ic \&Bt
114161d06d6bSBaptiste DaroussinSupported only for compatibility, do not use this in new manuals.
114261d06d6bSBaptiste DaroussinPrints
114361d06d6bSBaptiste Daroussin.Dq is currently in beta test.
1144*6d38604fSBaptiste Daroussin.Tg Bx
11457295610fSBaptiste Daroussin.It Ic \&Bx Op Ar version Op Ar variant
114661d06d6bSBaptiste DaroussinFormat the
114761d06d6bSBaptiste Daroussin.Bx
114861d06d6bSBaptiste Daroussinversion provided as an argument, or a default value if no
114961d06d6bSBaptiste Daroussinargument is provided.
115061d06d6bSBaptiste Daroussin.Pp
115161d06d6bSBaptiste DaroussinExamples:
115261d06d6bSBaptiste Daroussin.Dl \&.Bx 4.3 Tahoe
115361d06d6bSBaptiste Daroussin.Dl \&.Bx 4.4
115461d06d6bSBaptiste Daroussin.Dl \&.Bx
115561d06d6bSBaptiste Daroussin.Pp
115661d06d6bSBaptiste DaroussinSee also
11577295610fSBaptiste Daroussin.Ic \&At ,
11587295610fSBaptiste Daroussin.Ic \&Bsx ,
11597295610fSBaptiste Daroussin.Ic \&Dx ,
11607295610fSBaptiste Daroussin.Ic \&Fx ,
11617295610fSBaptiste Daroussin.Ic \&Nx ,
116261d06d6bSBaptiste Daroussinand
11637295610fSBaptiste Daroussin.Ic \&Ox .
1164*6d38604fSBaptiste Daroussin.Tg Cd
11657295610fSBaptiste Daroussin.It Ic \&Cd Ar line
116661d06d6bSBaptiste DaroussinKernel configuration declaration.
116761d06d6bSBaptiste DaroussinThis denotes strings accepted by
116861d06d6bSBaptiste Daroussin.Xr config 8 .
116961d06d6bSBaptiste DaroussinIt is most often used in section 4 manual pages.
117061d06d6bSBaptiste Daroussin.Pp
117161d06d6bSBaptiste DaroussinExamples:
117261d06d6bSBaptiste Daroussin.Dl \&.Cd device le0 at scode?
117361d06d6bSBaptiste Daroussin.Pp
117461d06d6bSBaptiste Daroussin.Em Remarks :
117561d06d6bSBaptiste Daroussinthis macro is commonly abused by using quoted literals to retain
117661d06d6bSBaptiste Daroussinwhitespace and align consecutive
11777295610fSBaptiste Daroussin.Ic \&Cd
117861d06d6bSBaptiste Daroussindeclarations.
117961d06d6bSBaptiste DaroussinThis practise is discouraged.
1180*6d38604fSBaptiste Daroussin.Tg Cm
11817295610fSBaptiste Daroussin.It Ic \&Cm Ar keyword ...
118261d06d6bSBaptiste DaroussinCommand modifiers.
118345a5aec3SBaptiste DaroussinTypically used for fixed strings passed as arguments to interactive
118445a5aec3SBaptiste Daroussincommands, to commands in interpreted scripts, or to configuration
118545a5aec3SBaptiste Daroussinfile directives, unless
11867295610fSBaptiste Daroussin.Ic \&Fl
118761d06d6bSBaptiste Daroussinis more appropriate.
118861d06d6bSBaptiste Daroussin.Pp
118961d06d6bSBaptiste DaroussinExamples:
119061d06d6bSBaptiste Daroussin.Dl ".Nm mt Fl f Ar device Cm rewind"
119161d06d6bSBaptiste Daroussin.Dl ".Nm ps Fl o Cm pid , Ns Cm command"
119261d06d6bSBaptiste Daroussin.Dl ".Nm dd Cm if= Ns Ar file1 Cm of= Ns Ar file2"
119345a5aec3SBaptiste Daroussin.Dl ".Ic set Fl o Cm vi"
119445a5aec3SBaptiste Daroussin.Dl ".Ic lookup Cm file bind"
119545a5aec3SBaptiste Daroussin.Dl ".Ic permit Ar identity Op Cm as Ar target"
1196*6d38604fSBaptiste Daroussin.Tg D1
11977295610fSBaptiste Daroussin.It Ic \&D1 Ar line
119861d06d6bSBaptiste DaroussinOne-line indented display.
119961d06d6bSBaptiste DaroussinThis is formatted by the default rules and is useful for simple indented
120061d06d6bSBaptiste Daroussinstatements.
120161d06d6bSBaptiste DaroussinIt is followed by a newline.
120261d06d6bSBaptiste Daroussin.Pp
120361d06d6bSBaptiste DaroussinExamples:
120461d06d6bSBaptiste Daroussin.Dl \&.D1 \&Fl abcdefgh
120561d06d6bSBaptiste Daroussin.Pp
120661d06d6bSBaptiste DaroussinSee also
12077295610fSBaptiste Daroussin.Ic \&Bd
120861d06d6bSBaptiste Daroussinand
12097295610fSBaptiste Daroussin.Ic \&Dl .
12107295610fSBaptiste Daroussin.It Ic \&Db
121161d06d6bSBaptiste DaroussinThis macro is obsolete.
121261d06d6bSBaptiste DaroussinNo replacement is needed.
121361d06d6bSBaptiste DaroussinIt is ignored by
121461d06d6bSBaptiste Daroussin.Xr mandoc 1
121561d06d6bSBaptiste Daroussinand groff including its arguments.
121661d06d6bSBaptiste DaroussinIt was formerly used to toggle a debugging mode.
12177295610fSBaptiste Daroussin.It Ic \&Dc
121861d06d6bSBaptiste DaroussinClose a
12197295610fSBaptiste Daroussin.Ic \&Do
122061d06d6bSBaptiste Daroussinblock.
122161d06d6bSBaptiste DaroussinDoes not have any tail arguments.
1222*6d38604fSBaptiste Daroussin.Tg Dd
12237295610fSBaptiste Daroussin.It Ic \&Dd Cm $\&Mdocdate$ | Ar month day , year
1224*6d38604fSBaptiste DaroussinDocument date for display in the page footer,
1225*6d38604fSBaptiste Daroussinby convention the date of the last change.
122661d06d6bSBaptiste DaroussinThis is the mandatory first macro of any
122761d06d6bSBaptiste Daroussin.Nm
122861d06d6bSBaptiste Daroussinmanual.
122961d06d6bSBaptiste Daroussin.Pp
123061d06d6bSBaptiste DaroussinThe
123161d06d6bSBaptiste Daroussin.Ar month
123261d06d6bSBaptiste Daroussinis the full English month name, the
123361d06d6bSBaptiste Daroussin.Ar day
123461d06d6bSBaptiste Daroussinis an integer number, and the
123561d06d6bSBaptiste Daroussin.Ar year
123661d06d6bSBaptiste Daroussinis the full four-digit year.
123761d06d6bSBaptiste Daroussin.Pp
123861d06d6bSBaptiste DaroussinOther arguments are not portable; the
123961d06d6bSBaptiste Daroussin.Xr mandoc 1
124061d06d6bSBaptiste Daroussinutility handles them as follows:
124161d06d6bSBaptiste Daroussin.Bl -dash -offset 3n -compact
124261d06d6bSBaptiste Daroussin.It
124361d06d6bSBaptiste DaroussinTo have the date automatically filled in by the
124461d06d6bSBaptiste Daroussin.Ox
124561d06d6bSBaptiste Daroussinversion of
124661d06d6bSBaptiste Daroussin.Xr cvs 1 ,
124761d06d6bSBaptiste Daroussinthe special string
124861d06d6bSBaptiste Daroussin.Dq $\&Mdocdate$
124961d06d6bSBaptiste Daroussincan be given as an argument.
125061d06d6bSBaptiste Daroussin.It
125161d06d6bSBaptiste DaroussinThe traditional, purely numeric
125261d06d6bSBaptiste Daroussin.Xr man 7
125361d06d6bSBaptiste Daroussinformat
125461d06d6bSBaptiste Daroussin.Ar year Ns \(en Ns Ar month Ns \(en Ns Ar day
125561d06d6bSBaptiste Daroussinis accepted, too.
125661d06d6bSBaptiste Daroussin.It
125761d06d6bSBaptiste DaroussinIf a date string cannot be parsed, it is used verbatim.
125861d06d6bSBaptiste Daroussin.It
125961d06d6bSBaptiste DaroussinIf no date string is given, the current date is used.
126061d06d6bSBaptiste Daroussin.El
126161d06d6bSBaptiste Daroussin.Pp
126261d06d6bSBaptiste DaroussinExamples:
126361d06d6bSBaptiste Daroussin.Dl \&.Dd $\&Mdocdate$
126461d06d6bSBaptiste Daroussin.Dl \&.Dd $\&Mdocdate: July 2 2018$
126561d06d6bSBaptiste Daroussin.Dl \&.Dd July 2, 2018
126661d06d6bSBaptiste Daroussin.Pp
126761d06d6bSBaptiste DaroussinSee also
12687295610fSBaptiste Daroussin.Ic \&Dt
126961d06d6bSBaptiste Daroussinand
12707295610fSBaptiste Daroussin.Ic \&Os .
1271*6d38604fSBaptiste Daroussin.Tg Dl
12727295610fSBaptiste Daroussin.It Ic \&Dl Ar line
127361d06d6bSBaptiste DaroussinOne-line indented display.
127461d06d6bSBaptiste DaroussinThis is formatted as literal text and is useful for commands and
127561d06d6bSBaptiste Daroussininvocations.
127661d06d6bSBaptiste DaroussinIt is followed by a newline.
127761d06d6bSBaptiste Daroussin.Pp
127861d06d6bSBaptiste DaroussinExamples:
127961d06d6bSBaptiste Daroussin.Dl \&.Dl % mandoc mdoc.7 \e(ba less
128061d06d6bSBaptiste Daroussin.Pp
128161d06d6bSBaptiste DaroussinSee also
12827295610fSBaptiste Daroussin.Ic \&Ql ,
12837295610fSBaptiste Daroussin.Ic \&Bd Fl literal ,
128461d06d6bSBaptiste Daroussinand
12857295610fSBaptiste Daroussin.Ic \&D1 .
12867295610fSBaptiste Daroussin.It Ic \&Do Ar block
128761d06d6bSBaptiste DaroussinBegin a block enclosed by double quotes.
128861d06d6bSBaptiste DaroussinDoes not have any head arguments.
128961d06d6bSBaptiste Daroussin.Pp
129061d06d6bSBaptiste DaroussinExamples:
129161d06d6bSBaptiste Daroussin.Bd -literal -offset indent -compact
129261d06d6bSBaptiste Daroussin\&.Do
129361d06d6bSBaptiste DaroussinApril is the cruellest month
129461d06d6bSBaptiste Daroussin\&.Dc
129561d06d6bSBaptiste Daroussin\e(em T.S. Eliot
129661d06d6bSBaptiste Daroussin.Ed
129761d06d6bSBaptiste Daroussin.Pp
129861d06d6bSBaptiste DaroussinSee also
12997295610fSBaptiste Daroussin.Ic \&Dq .
1300*6d38604fSBaptiste Daroussin.Tg Dq
13017295610fSBaptiste Daroussin.It Ic \&Dq Ar line
130261d06d6bSBaptiste DaroussinEncloses its arguments in
130361d06d6bSBaptiste Daroussin.Dq typographic
130461d06d6bSBaptiste Daroussindouble-quotes.
130561d06d6bSBaptiste Daroussin.Pp
130661d06d6bSBaptiste DaroussinExamples:
130761d06d6bSBaptiste Daroussin.Bd -literal -offset indent -compact
130861d06d6bSBaptiste Daroussin\&.Dq April is the cruellest month
130961d06d6bSBaptiste Daroussin\e(em T.S. Eliot
131061d06d6bSBaptiste Daroussin.Ed
131161d06d6bSBaptiste Daroussin.Pp
131261d06d6bSBaptiste DaroussinSee also
13137295610fSBaptiste Daroussin.Ic \&Qq ,
13147295610fSBaptiste Daroussin.Ic \&Sq ,
131561d06d6bSBaptiste Daroussinand
13167295610fSBaptiste Daroussin.Ic \&Do .
1317*6d38604fSBaptiste Daroussin.Tg Dt
13187295610fSBaptiste Daroussin.It Ic \&Dt Ar TITLE section Op Ar arch
131961d06d6bSBaptiste DaroussinDocument title for display in the page header.
132061d06d6bSBaptiste DaroussinThis is the mandatory second macro of any
132161d06d6bSBaptiste Daroussin.Nm
132261d06d6bSBaptiste Daroussinfile.
132361d06d6bSBaptiste Daroussin.Pp
132461d06d6bSBaptiste DaroussinIts arguments are as follows:
132561d06d6bSBaptiste Daroussin.Bl -tag -width section -offset 2n
132661d06d6bSBaptiste Daroussin.It Ar TITLE
132761d06d6bSBaptiste DaroussinThe document's title (name), defaulting to
132861d06d6bSBaptiste Daroussin.Dq UNTITLED
132961d06d6bSBaptiste Daroussinif unspecified.
133061d06d6bSBaptiste DaroussinTo achieve a uniform appearance of page header lines,
133161d06d6bSBaptiste Daroussinit should by convention be all caps.
133261d06d6bSBaptiste Daroussin.It Ar section
133361d06d6bSBaptiste DaroussinThe manual section.
133461d06d6bSBaptiste DaroussinThis may be one of
133561d06d6bSBaptiste Daroussin.Cm 1
133661d06d6bSBaptiste Daroussin.Pq General Commands ,
133761d06d6bSBaptiste Daroussin.Cm 2
133861d06d6bSBaptiste Daroussin.Pq System Calls ,
133961d06d6bSBaptiste Daroussin.Cm 3
134061d06d6bSBaptiste Daroussin.Pq Library Functions ,
134161d06d6bSBaptiste Daroussin.Cm 3p
134261d06d6bSBaptiste Daroussin.Pq Perl Library ,
134361d06d6bSBaptiste Daroussin.Cm 4
134461d06d6bSBaptiste Daroussin.Pq Device Drivers ,
134561d06d6bSBaptiste Daroussin.Cm 5
134661d06d6bSBaptiste Daroussin.Pq File Formats ,
134761d06d6bSBaptiste Daroussin.Cm 6
134861d06d6bSBaptiste Daroussin.Pq Games ,
134961d06d6bSBaptiste Daroussin.Cm 7
135061d06d6bSBaptiste Daroussin.Pq Miscellaneous Information ,
135161d06d6bSBaptiste Daroussin.Cm 8
135261d06d6bSBaptiste Daroussin.Pq System Manager's Manual ,
135361d06d6bSBaptiste Daroussinor
135461d06d6bSBaptiste Daroussin.Cm 9
135561d06d6bSBaptiste Daroussin.Pq Kernel Developer's Manual .
135661d06d6bSBaptiste DaroussinIt should correspond to the manual's filename suffix and defaults to
135761d06d6bSBaptiste Daroussinthe empty string if unspecified.
135861d06d6bSBaptiste Daroussin.It Ar arch
135961d06d6bSBaptiste DaroussinThis specifies the machine architecture a manual page applies to,
136061d06d6bSBaptiste Daroussinwhere relevant, for example
136161d06d6bSBaptiste Daroussin.Cm alpha ,
136261d06d6bSBaptiste Daroussin.Cm amd64 ,
136361d06d6bSBaptiste Daroussin.Cm i386 ,
136461d06d6bSBaptiste Daroussinor
136561d06d6bSBaptiste Daroussin.Cm sparc64 .
136661d06d6bSBaptiste DaroussinThe list of valid architectures varies by operating system.
136761d06d6bSBaptiste Daroussin.El
136861d06d6bSBaptiste Daroussin.Pp
136961d06d6bSBaptiste DaroussinExamples:
137061d06d6bSBaptiste Daroussin.Dl \&.Dt FOO 1
137161d06d6bSBaptiste Daroussin.Dl \&.Dt FOO 9 i386
137261d06d6bSBaptiste Daroussin.Pp
137361d06d6bSBaptiste DaroussinSee also
13747295610fSBaptiste Daroussin.Ic \&Dd
137561d06d6bSBaptiste Daroussinand
13767295610fSBaptiste Daroussin.Ic \&Os .
1377*6d38604fSBaptiste Daroussin.Tg Dv
13787295610fSBaptiste Daroussin.It Ic \&Dv Ar identifier ...
137961d06d6bSBaptiste DaroussinDefined variables such as preprocessor constants, constant symbols,
138061d06d6bSBaptiste Daroussinenumeration values, and so on.
138161d06d6bSBaptiste Daroussin.Pp
138261d06d6bSBaptiste DaroussinExamples:
138361d06d6bSBaptiste Daroussin.Dl \&.Dv NULL
138461d06d6bSBaptiste Daroussin.Dl \&.Dv BUFSIZ
138561d06d6bSBaptiste Daroussin.Dl \&.Dv STDOUT_FILENO
138661d06d6bSBaptiste Daroussin.Pp
138761d06d6bSBaptiste DaroussinSee also
13887295610fSBaptiste Daroussin.Ic \&Er
138961d06d6bSBaptiste Daroussinand
13907295610fSBaptiste Daroussin.Ic \&Ev
139161d06d6bSBaptiste Daroussinfor special-purpose constants,
13927295610fSBaptiste Daroussin.Ic \&Va
139361d06d6bSBaptiste Daroussinfor variable symbols, and
13947295610fSBaptiste Daroussin.Ic \&Fd
139561d06d6bSBaptiste Daroussinfor listing preprocessor variable definitions in the
139661d06d6bSBaptiste Daroussin.Em SYNOPSIS .
1397*6d38604fSBaptiste Daroussin.Tg Dx
13987295610fSBaptiste Daroussin.It Ic \&Dx Op Ar version
139961d06d6bSBaptiste DaroussinFormat the
140061d06d6bSBaptiste Daroussin.Dx
140161d06d6bSBaptiste Daroussinversion provided as an argument, or a default
140261d06d6bSBaptiste Daroussinvalue if no argument is provided.
140361d06d6bSBaptiste Daroussin.Pp
140461d06d6bSBaptiste DaroussinExamples:
140561d06d6bSBaptiste Daroussin.Dl \&.Dx 2.4.1
140661d06d6bSBaptiste Daroussin.Dl \&.Dx
140761d06d6bSBaptiste Daroussin.Pp
140861d06d6bSBaptiste DaroussinSee also
14097295610fSBaptiste Daroussin.Ic \&At ,
14107295610fSBaptiste Daroussin.Ic \&Bsx ,
14117295610fSBaptiste Daroussin.Ic \&Bx ,
14127295610fSBaptiste Daroussin.Ic \&Fx ,
14137295610fSBaptiste Daroussin.Ic \&Nx ,
141461d06d6bSBaptiste Daroussinand
14157295610fSBaptiste Daroussin.Ic \&Ox .
14167295610fSBaptiste Daroussin.It Ic \&Ec Op Ar closing_delimiter
141761d06d6bSBaptiste DaroussinClose a scope started by
14187295610fSBaptiste Daroussin.Ic \&Eo .
141961d06d6bSBaptiste Daroussin.Pp
142061d06d6bSBaptiste DaroussinThe
14217295610fSBaptiste Daroussin.Ar closing_delimiter
142261d06d6bSBaptiste Daroussinargument is used as the enclosure tail, for example, specifying \e(rq
142361d06d6bSBaptiste Daroussinwill emulate
14247295610fSBaptiste Daroussin.Ic \&Dc .
14257295610fSBaptiste Daroussin.It Ic \&Ed
142661d06d6bSBaptiste DaroussinEnd a display context started by
14277295610fSBaptiste Daroussin.Ic \&Bd .
14287295610fSBaptiste Daroussin.It Ic \&Ef
142961d06d6bSBaptiste DaroussinEnd a font mode context started by
14307295610fSBaptiste Daroussin.Ic \&Bf .
14317295610fSBaptiste Daroussin.It Ic \&Ek
143261d06d6bSBaptiste DaroussinEnd a keep context started by
14337295610fSBaptiste Daroussin.Ic \&Bk .
14347295610fSBaptiste Daroussin.It Ic \&El
143561d06d6bSBaptiste DaroussinEnd a list context started by
14367295610fSBaptiste Daroussin.Ic \&Bl .
143761d06d6bSBaptiste DaroussinSee also
14387295610fSBaptiste Daroussin.Ic \&It .
1439*6d38604fSBaptiste Daroussin.Tg Em
14407295610fSBaptiste Daroussin.It Ic \&Em Ar word ...
144161d06d6bSBaptiste DaroussinRequest an italic font.
144261d06d6bSBaptiste DaroussinIf the output device does not provide that, underline.
144361d06d6bSBaptiste Daroussin.Pp
144461d06d6bSBaptiste DaroussinThis is most often used for stress emphasis (not to be confused with
144561d06d6bSBaptiste Daroussinimportance, see
14467295610fSBaptiste Daroussin.Ic \&Sy ) .
144761d06d6bSBaptiste DaroussinIn the rare cases where none of the semantic markup macros fit,
144861d06d6bSBaptiste Daroussinit can also be used for technical terms and placeholders, except
144961d06d6bSBaptiste Daroussinthat for syntax elements,
14507295610fSBaptiste Daroussin.Ic \&Sy
145161d06d6bSBaptiste Daroussinand
14527295610fSBaptiste Daroussin.Ic \&Ar
145361d06d6bSBaptiste Daroussinare preferred, respectively.
145461d06d6bSBaptiste Daroussin.Pp
145561d06d6bSBaptiste DaroussinExamples:
145661d06d6bSBaptiste Daroussin.Bd -literal -compact -offset indent
145761d06d6bSBaptiste DaroussinSelected lines are those
145861d06d6bSBaptiste Daroussin\&.Em not
145961d06d6bSBaptiste Daroussinmatching any of the specified patterns.
146061d06d6bSBaptiste DaroussinSome of the functions use a
146161d06d6bSBaptiste Daroussin\&.Em hold space
146261d06d6bSBaptiste Daroussinto save the pattern space for subsequent retrieval.
146361d06d6bSBaptiste Daroussin.Ed
146461d06d6bSBaptiste Daroussin.Pp
146561d06d6bSBaptiste DaroussinSee also
14667295610fSBaptiste Daroussin.Ic \&No ,
14677295610fSBaptiste Daroussin.Ic \&Ql ,
146861d06d6bSBaptiste Daroussinand
14697295610fSBaptiste Daroussin.Ic \&Sy .
14707295610fSBaptiste Daroussin.It Ic \&En Ar word ...
147161d06d6bSBaptiste DaroussinThis macro is obsolete.
147261d06d6bSBaptiste DaroussinUse
14737295610fSBaptiste Daroussin.Ic \&Eo
147461d06d6bSBaptiste Daroussinor any of the other enclosure macros.
147561d06d6bSBaptiste Daroussin.Pp
147661d06d6bSBaptiste DaroussinIt encloses its argument in the delimiters specified by the last
14777295610fSBaptiste Daroussin.Ic \&Es
147861d06d6bSBaptiste Daroussinmacro.
1479*6d38604fSBaptiste Daroussin.Tg Eo
14807295610fSBaptiste Daroussin.It Ic \&Eo Op Ar opening_delimiter
148161d06d6bSBaptiste DaroussinAn arbitrary enclosure.
148261d06d6bSBaptiste DaroussinThe
14837295610fSBaptiste Daroussin.Ar opening_delimiter
148461d06d6bSBaptiste Daroussinargument is used as the enclosure head, for example, specifying \e(lq
148561d06d6bSBaptiste Daroussinwill emulate
14867295610fSBaptiste Daroussin.Ic \&Do .
1487*6d38604fSBaptiste Daroussin.Tg Er
14887295610fSBaptiste Daroussin.It Ic \&Er Ar identifier ...
148961d06d6bSBaptiste DaroussinError constants for definitions of the
149061d06d6bSBaptiste Daroussin.Va errno
149161d06d6bSBaptiste Daroussinlibc global variable.
149261d06d6bSBaptiste DaroussinThis is most often used in section 2 and 3 manual pages.
149361d06d6bSBaptiste Daroussin.Pp
149461d06d6bSBaptiste DaroussinExamples:
149561d06d6bSBaptiste Daroussin.Dl \&.Er EPERM
149661d06d6bSBaptiste Daroussin.Dl \&.Er ENOENT
149761d06d6bSBaptiste Daroussin.Pp
149861d06d6bSBaptiste DaroussinSee also
14997295610fSBaptiste Daroussin.Ic \&Dv
150061d06d6bSBaptiste Daroussinfor general constants.
15017295610fSBaptiste Daroussin.It Ic \&Es Ar opening_delimiter closing_delimiter
150261d06d6bSBaptiste DaroussinThis macro is obsolete.
150361d06d6bSBaptiste DaroussinUse
15047295610fSBaptiste Daroussin.Ic \&Eo
150561d06d6bSBaptiste Daroussinor any of the other enclosure macros.
150661d06d6bSBaptiste Daroussin.Pp
150761d06d6bSBaptiste DaroussinIt takes two arguments, defining the delimiters to be used by subsequent
15087295610fSBaptiste Daroussin.Ic \&En
150961d06d6bSBaptiste Daroussinmacros.
1510*6d38604fSBaptiste Daroussin.Tg Ev
15117295610fSBaptiste Daroussin.It Ic \&Ev Ar identifier ...
151261d06d6bSBaptiste DaroussinEnvironmental variables such as those specified in
151361d06d6bSBaptiste Daroussin.Xr environ 7 .
151461d06d6bSBaptiste Daroussin.Pp
151561d06d6bSBaptiste DaroussinExamples:
151661d06d6bSBaptiste Daroussin.Dl \&.Ev DISPLAY
151761d06d6bSBaptiste Daroussin.Dl \&.Ev PATH
151861d06d6bSBaptiste Daroussin.Pp
151961d06d6bSBaptiste DaroussinSee also
15207295610fSBaptiste Daroussin.Ic \&Dv
152161d06d6bSBaptiste Daroussinfor general constants.
1522*6d38604fSBaptiste Daroussin.Tg Ex
15237295610fSBaptiste Daroussin.It Ic \&Ex Fl std Op Ar utility ...
152461d06d6bSBaptiste DaroussinInsert a standard sentence regarding command exit values of 0 on success
152561d06d6bSBaptiste Daroussinand >0 on failure.
152661d06d6bSBaptiste DaroussinThis is most often used in section 1, 6, and 8 manual pages.
152761d06d6bSBaptiste Daroussin.Pp
152861d06d6bSBaptiste DaroussinIf
152961d06d6bSBaptiste Daroussin.Ar utility
153061d06d6bSBaptiste Daroussinis not specified, the document's name set by
15317295610fSBaptiste Daroussin.Ic \&Nm
153261d06d6bSBaptiste Daroussinis used.
153361d06d6bSBaptiste DaroussinMultiple
153461d06d6bSBaptiste Daroussin.Ar utility
153561d06d6bSBaptiste Daroussinarguments are treated as separate utilities.
153661d06d6bSBaptiste Daroussin.Pp
153761d06d6bSBaptiste DaroussinSee also
15387295610fSBaptiste Daroussin.Ic \&Rv .
1539*6d38604fSBaptiste Daroussin.Tg Fa
15407295610fSBaptiste Daroussin.It Ic \&Fa Ar argument ...
154161d06d6bSBaptiste DaroussinFunction argument or parameter.
154261d06d6bSBaptiste DaroussinEach argument may be a name and a type (recommended for the
154361d06d6bSBaptiste Daroussin.Em SYNOPSIS
154461d06d6bSBaptiste Daroussinsection), a name alone (for function invocations),
154561d06d6bSBaptiste Daroussinor a type alone (for function prototypes).
154661d06d6bSBaptiste DaroussinIf both a type and a name are given or if the type consists of multiple
154761d06d6bSBaptiste Daroussinwords, all words belonging to the same function argument have to be
154861d06d6bSBaptiste Daroussingiven in a single argument to the
15497295610fSBaptiste Daroussin.Ic \&Fa
155061d06d6bSBaptiste Daroussinmacro.
155161d06d6bSBaptiste Daroussin.Pp
155261d06d6bSBaptiste DaroussinThis macro is also used to specify the field name of a structure.
155361d06d6bSBaptiste Daroussin.Pp
155461d06d6bSBaptiste DaroussinMost often, the
15557295610fSBaptiste Daroussin.Ic \&Fa
155661d06d6bSBaptiste Daroussinmacro is used in the
155761d06d6bSBaptiste Daroussin.Em SYNOPSIS
155861d06d6bSBaptiste Daroussinwithin
15597295610fSBaptiste Daroussin.Ic \&Fo
156061d06d6bSBaptiste Daroussinblocks when documenting multi-line function prototypes.
156161d06d6bSBaptiste DaroussinIf invoked with multiple arguments, the arguments are separated by a
156261d06d6bSBaptiste Daroussincomma.
156361d06d6bSBaptiste DaroussinFurthermore, if the following macro is another
15647295610fSBaptiste Daroussin.Ic \&Fa ,
156561d06d6bSBaptiste Daroussinthe last argument will also have a trailing comma.
156661d06d6bSBaptiste Daroussin.Pp
156761d06d6bSBaptiste DaroussinExamples:
156861d06d6bSBaptiste Daroussin.Dl \&.Fa \(dqconst char *p\(dq
156961d06d6bSBaptiste Daroussin.Dl \&.Fa \(dqint a\(dq \(dqint b\(dq \(dqint c\(dq
157061d06d6bSBaptiste Daroussin.Dl \&.Fa \(dqchar *\(dq size_t
157161d06d6bSBaptiste Daroussin.Pp
157261d06d6bSBaptiste DaroussinSee also
15737295610fSBaptiste Daroussin.Ic \&Fo .
15747295610fSBaptiste Daroussin.It Ic \&Fc
157561d06d6bSBaptiste DaroussinEnd a function context started by
15767295610fSBaptiste Daroussin.Ic \&Fo .
1577*6d38604fSBaptiste Daroussin.Tg Fd
15787295610fSBaptiste Daroussin.It Ic \&Fd Pf # Ar directive Op Ar argument ...
157961d06d6bSBaptiste DaroussinPreprocessor directive, in particular for listing it in the
158061d06d6bSBaptiste Daroussin.Em SYNOPSIS .
158161d06d6bSBaptiste DaroussinHistorically, it was also used to document include files.
158261d06d6bSBaptiste DaroussinThe latter usage has been deprecated in favour of
15837295610fSBaptiste Daroussin.Ic \&In .
158461d06d6bSBaptiste Daroussin.Pp
158561d06d6bSBaptiste DaroussinExamples:
158661d06d6bSBaptiste Daroussin.Dl \&.Fd #define sa_handler __sigaction_u.__sa_handler
158761d06d6bSBaptiste Daroussin.Dl \&.Fd #define SIO_MAXNFDS
158861d06d6bSBaptiste Daroussin.Dl \&.Fd #ifdef FS_DEBUG
158961d06d6bSBaptiste Daroussin.Dl \&.Ft void
159061d06d6bSBaptiste Daroussin.Dl \&.Fn dbg_open \(dqconst char *\(dq
159161d06d6bSBaptiste Daroussin.Dl \&.Fd #endif
159261d06d6bSBaptiste Daroussin.Pp
159361d06d6bSBaptiste DaroussinSee also
159461d06d6bSBaptiste Daroussin.Sx MANUAL STRUCTURE ,
15957295610fSBaptiste Daroussin.Ic \&In ,
159661d06d6bSBaptiste Daroussinand
15977295610fSBaptiste Daroussin.Ic \&Dv .
1598*6d38604fSBaptiste Daroussin.Tg Fl
15997295610fSBaptiste Daroussin.It Ic \&Fl Op Ar word ...
160061d06d6bSBaptiste DaroussinCommand-line flag or option.
160161d06d6bSBaptiste DaroussinUsed when listing arguments to command-line utilities.
1602*6d38604fSBaptiste DaroussinFor each argument, prints an ASCII hyphen-minus character
1603*6d38604fSBaptiste Daroussin.Sq \- ,
1604*6d38604fSBaptiste Daroussinimmediately followed by the argument.
1605*6d38604fSBaptiste DaroussinIf no arguments are provided, a hyphen-minus is printed followed by a space.
1606*6d38604fSBaptiste DaroussinIf the argument is a macro, a hyphen-minus is prefixed
1607*6d38604fSBaptiste Daroussinto the subsequent macro output.
160861d06d6bSBaptiste Daroussin.Pp
160961d06d6bSBaptiste DaroussinExamples:
1610*6d38604fSBaptiste Daroussin.Dl ".Nm du Op Fl H | L | P"
1611*6d38604fSBaptiste Daroussin.Dl ".Nm ls Op Fl 1AaCcdFfgHhikLlmnopqRrSsTtux"
1612*6d38604fSBaptiste Daroussin.Dl ".Nm route Cm add Fl inet Ar destination gateway"
1613*6d38604fSBaptiste Daroussin.Dl ".Nm locate.updatedb Op Fl \e-fcodes Ns = Ns Ar dbfile"
1614*6d38604fSBaptiste Daroussin.Dl ".Nm aucat Fl o Fl"
1615*6d38604fSBaptiste Daroussin.Dl ".Nm kill Fl Ar signal_number"
1616*6d38604fSBaptiste Daroussin.Pp
1617*6d38604fSBaptiste DaroussinFor GNU-sytle long options, escaping the additional hyphen-minus is not
1618*6d38604fSBaptiste Daroussinstrictly required, but may be safer with future versions of GNU troff; see
1619*6d38604fSBaptiste Daroussin.Xr mandoc_char 7
1620*6d38604fSBaptiste Daroussinfor details.
162161d06d6bSBaptiste Daroussin.Pp
162261d06d6bSBaptiste DaroussinSee also
16237295610fSBaptiste Daroussin.Ic \&Cm .
1624*6d38604fSBaptiste Daroussin.Tg Fn
16257295610fSBaptiste Daroussin.It Ic \&Fn Ar funcname Op Ar argument ...
162661d06d6bSBaptiste DaroussinA function name.
162761d06d6bSBaptiste Daroussin.Pp
162861d06d6bSBaptiste DaroussinFunction arguments are surrounded in parenthesis and
162961d06d6bSBaptiste Daroussinare delimited by commas.
163061d06d6bSBaptiste DaroussinIf no arguments are specified, blank parenthesis are output.
163161d06d6bSBaptiste DaroussinIn the
163261d06d6bSBaptiste Daroussin.Em SYNOPSIS
163361d06d6bSBaptiste Daroussinsection, this macro starts a new output line,
163461d06d6bSBaptiste Daroussinand a blank line is automatically inserted between function definitions.
163561d06d6bSBaptiste Daroussin.Pp
163661d06d6bSBaptiste DaroussinExamples:
163761d06d6bSBaptiste Daroussin.Dl \&.Fn \(dqint funcname\(dq \(dqint arg0\(dq \(dqint arg1\(dq
163861d06d6bSBaptiste Daroussin.Dl \&.Fn funcname \(dqint arg0\(dq
163961d06d6bSBaptiste Daroussin.Dl \&.Fn funcname arg0
16407295610fSBaptiste Daroussin.Bd -literal -offset indent
164161d06d6bSBaptiste Daroussin\&.Ft functype
164261d06d6bSBaptiste Daroussin\&.Fn funcname
164361d06d6bSBaptiste Daroussin.Ed
164461d06d6bSBaptiste Daroussin.Pp
164561d06d6bSBaptiste DaroussinWhen referring to a function documented in another manual page, use
16467295610fSBaptiste Daroussin.Ic \&Xr
164761d06d6bSBaptiste Daroussininstead.
164861d06d6bSBaptiste DaroussinSee also
164961d06d6bSBaptiste Daroussin.Sx MANUAL STRUCTURE ,
16507295610fSBaptiste Daroussin.Ic \&Fo ,
165161d06d6bSBaptiste Daroussinand
16527295610fSBaptiste Daroussin.Ic \&Ft .
1653*6d38604fSBaptiste Daroussin.Tg Fo
16547295610fSBaptiste Daroussin.It Ic \&Fo Ar funcname
165561d06d6bSBaptiste DaroussinBegin a function block.
165661d06d6bSBaptiste DaroussinThis is a multi-line version of
16577295610fSBaptiste Daroussin.Ic \&Fn .
165861d06d6bSBaptiste Daroussin.Pp
165961d06d6bSBaptiste DaroussinInvocations usually occur in the following context:
166061d06d6bSBaptiste Daroussin.Bd -ragged -offset indent
16617295610fSBaptiste Daroussin.Pf \. Ic \&Ft Ar functype
166261d06d6bSBaptiste Daroussin.br
16637295610fSBaptiste Daroussin.Pf \. Ic \&Fo Ar funcname
166461d06d6bSBaptiste Daroussin.br
16657295610fSBaptiste Daroussin.Pf \. Ic \&Fa Qq Ar argtype Ar argname
166661d06d6bSBaptiste Daroussin.br
166761d06d6bSBaptiste Daroussin\&.\.\.
166861d06d6bSBaptiste Daroussin.br
16697295610fSBaptiste Daroussin.Pf \. Ic \&Fc
167061d06d6bSBaptiste Daroussin.Ed
167161d06d6bSBaptiste Daroussin.Pp
167261d06d6bSBaptiste DaroussinA
16737295610fSBaptiste Daroussin.Ic \&Fo
167461d06d6bSBaptiste Daroussinscope is closed by
16757295610fSBaptiste Daroussin.Ic \&Fc .
167661d06d6bSBaptiste Daroussin.Pp
167761d06d6bSBaptiste DaroussinSee also
167861d06d6bSBaptiste Daroussin.Sx MANUAL STRUCTURE ,
16797295610fSBaptiste Daroussin.Ic \&Fa ,
16807295610fSBaptiste Daroussin.Ic \&Fc ,
168161d06d6bSBaptiste Daroussinand
16827295610fSBaptiste Daroussin.Ic \&Ft .
16837295610fSBaptiste Daroussin.It Ic \&Fr Ar number
168461d06d6bSBaptiste DaroussinThis macro is obsolete.
168561d06d6bSBaptiste DaroussinNo replacement markup is needed.
168661d06d6bSBaptiste Daroussin.Pp
168761d06d6bSBaptiste DaroussinIt was used to show numerical function return values in an italic font.
1688*6d38604fSBaptiste Daroussin.Tg Ft
16897295610fSBaptiste Daroussin.It Ic \&Ft Ar functype
169061d06d6bSBaptiste DaroussinA function type.
169161d06d6bSBaptiste Daroussin.Pp
169261d06d6bSBaptiste DaroussinIn the
169361d06d6bSBaptiste Daroussin.Em SYNOPSIS
169461d06d6bSBaptiste Daroussinsection, a new output line is started after this macro.
169561d06d6bSBaptiste Daroussin.Pp
169661d06d6bSBaptiste DaroussinExamples:
169761d06d6bSBaptiste Daroussin.Dl \&.Ft int
169861d06d6bSBaptiste Daroussin.Bd -literal -offset indent -compact
169961d06d6bSBaptiste Daroussin\&.Ft functype
170061d06d6bSBaptiste Daroussin\&.Fn funcname
170161d06d6bSBaptiste Daroussin.Ed
170261d06d6bSBaptiste Daroussin.Pp
170361d06d6bSBaptiste DaroussinSee also
170461d06d6bSBaptiste Daroussin.Sx MANUAL STRUCTURE ,
17057295610fSBaptiste Daroussin.Ic \&Fn ,
170661d06d6bSBaptiste Daroussinand
17077295610fSBaptiste Daroussin.Ic \&Fo .
1708*6d38604fSBaptiste Daroussin.Tg Fx
17097295610fSBaptiste Daroussin.It Ic \&Fx Op Ar version
171061d06d6bSBaptiste DaroussinFormat the
171161d06d6bSBaptiste Daroussin.Fx
171261d06d6bSBaptiste Daroussinversion provided as an argument, or a default value
171361d06d6bSBaptiste Daroussinif no argument is provided.
171461d06d6bSBaptiste Daroussin.Pp
171561d06d6bSBaptiste DaroussinExamples:
171661d06d6bSBaptiste Daroussin.Dl \&.Fx 7.1
171761d06d6bSBaptiste Daroussin.Dl \&.Fx
171861d06d6bSBaptiste Daroussin.Pp
171961d06d6bSBaptiste DaroussinSee also
17207295610fSBaptiste Daroussin.Ic \&At ,
17217295610fSBaptiste Daroussin.Ic \&Bsx ,
17227295610fSBaptiste Daroussin.Ic \&Bx ,
17237295610fSBaptiste Daroussin.Ic \&Dx ,
17247295610fSBaptiste Daroussin.Ic \&Nx ,
172561d06d6bSBaptiste Daroussinand
17267295610fSBaptiste Daroussin.Ic \&Ox .
17277295610fSBaptiste Daroussin.It Ic \&Hf Ar filename
172861d06d6bSBaptiste DaroussinThis macro is not implemented in
172961d06d6bSBaptiste Daroussin.Xr mandoc 1 .
173061d06d6bSBaptiste DaroussinIt was used to include the contents of a (header) file literally.
1731*6d38604fSBaptiste Daroussin.Tg Ic
17327295610fSBaptiste Daroussin.It Ic \&Ic Ar keyword ...
173345a5aec3SBaptiste DaroussinInternal or interactive command, or configuration instruction
173445a5aec3SBaptiste Daroussinin a configuration file.
173545a5aec3SBaptiste DaroussinSee also
173645a5aec3SBaptiste Daroussin.Ic \&Cm .
173761d06d6bSBaptiste Daroussin.Pp
173861d06d6bSBaptiste DaroussinExamples:
173961d06d6bSBaptiste Daroussin.Dl \&.Ic :wq
174061d06d6bSBaptiste Daroussin.Dl \&.Ic hash
174161d06d6bSBaptiste Daroussin.Dl \&.Ic alias
174261d06d6bSBaptiste Daroussin.Pp
174361d06d6bSBaptiste DaroussinNote that using
17447295610fSBaptiste Daroussin.Ic \&Ql ,
17457295610fSBaptiste Daroussin.Ic \&Dl ,
174661d06d6bSBaptiste Daroussinor
17477295610fSBaptiste Daroussin.Ic \&Bd Fl literal
17487295610fSBaptiste Daroussinis preferred for displaying code samples; the
17497295610fSBaptiste Daroussin.Ic \&Ic
17507295610fSBaptiste Daroussinmacro is used when referring to an individual command name.
1751*6d38604fSBaptiste Daroussin.Tg In
17527295610fSBaptiste Daroussin.It Ic \&In Ar filename
175361d06d6bSBaptiste DaroussinThe name of an include file.
175461d06d6bSBaptiste DaroussinThis macro is most often used in section 2, 3, and 9 manual pages.
175561d06d6bSBaptiste Daroussin.Pp
175661d06d6bSBaptiste DaroussinWhen invoked as the first macro on an input line in the
175761d06d6bSBaptiste Daroussin.Em SYNOPSIS
175861d06d6bSBaptiste Daroussinsection, the argument is displayed in angle brackets
175961d06d6bSBaptiste Daroussinand preceded by
176061d06d6bSBaptiste Daroussin.Qq #include ,
176161d06d6bSBaptiste Daroussinand a blank line is inserted in front if there is a preceding
176261d06d6bSBaptiste Daroussinfunction declaration.
176361d06d6bSBaptiste DaroussinIn other sections, it only encloses its argument in angle brackets
176461d06d6bSBaptiste Daroussinand causes no line break.
176561d06d6bSBaptiste Daroussin.Pp
176661d06d6bSBaptiste DaroussinExamples:
176761d06d6bSBaptiste Daroussin.Dl \&.In sys/types.h
176861d06d6bSBaptiste Daroussin.Pp
176961d06d6bSBaptiste DaroussinSee also
177061d06d6bSBaptiste Daroussin.Sx MANUAL STRUCTURE .
1771*6d38604fSBaptiste Daroussin.Tg It
17727295610fSBaptiste Daroussin.It Ic \&It Op Ar head
177361d06d6bSBaptiste DaroussinA list item.
177461d06d6bSBaptiste DaroussinThe syntax of this macro depends on the list type.
177561d06d6bSBaptiste Daroussin.Pp
177661d06d6bSBaptiste DaroussinLists
177761d06d6bSBaptiste Daroussinof type
177861d06d6bSBaptiste Daroussin.Fl hang ,
177961d06d6bSBaptiste Daroussin.Fl ohang ,
178061d06d6bSBaptiste Daroussin.Fl inset ,
178161d06d6bSBaptiste Daroussinand
178261d06d6bSBaptiste Daroussin.Fl diag
178361d06d6bSBaptiste Daroussinhave the following syntax:
178461d06d6bSBaptiste Daroussin.Pp
17857295610fSBaptiste Daroussin.D1 Pf \. Ic \&It Ar args
178661d06d6bSBaptiste Daroussin.Pp
178761d06d6bSBaptiste DaroussinLists of type
178861d06d6bSBaptiste Daroussin.Fl bullet ,
178961d06d6bSBaptiste Daroussin.Fl dash ,
179061d06d6bSBaptiste Daroussin.Fl enum ,
179161d06d6bSBaptiste Daroussin.Fl hyphen
179261d06d6bSBaptiste Daroussinand
179361d06d6bSBaptiste Daroussin.Fl item
179461d06d6bSBaptiste Daroussinhave the following syntax:
179561d06d6bSBaptiste Daroussin.Pp
17967295610fSBaptiste Daroussin.D1 Pf \. Ic \&It
179761d06d6bSBaptiste Daroussin.Pp
179861d06d6bSBaptiste Daroussinwith subsequent lines interpreted within the scope of the
17997295610fSBaptiste Daroussin.Ic \&It
180061d06d6bSBaptiste Daroussinuntil either a closing
18017295610fSBaptiste Daroussin.Ic \&El
180261d06d6bSBaptiste Daroussinor another
18037295610fSBaptiste Daroussin.Ic \&It .
180461d06d6bSBaptiste Daroussin.Pp
180561d06d6bSBaptiste DaroussinThe
180661d06d6bSBaptiste Daroussin.Fl tag
180761d06d6bSBaptiste Daroussinlist has the following syntax:
180861d06d6bSBaptiste Daroussin.Pp
18097295610fSBaptiste Daroussin.D1 Pf \. Ic \&It Op Cm args
181061d06d6bSBaptiste Daroussin.Pp
181161d06d6bSBaptiste DaroussinSubsequent lines are interpreted as with
181261d06d6bSBaptiste Daroussin.Fl bullet
181361d06d6bSBaptiste Daroussinand family.
181461d06d6bSBaptiste DaroussinThe line arguments correspond to the list's left-hand side; body
181561d06d6bSBaptiste Daroussinarguments correspond to the list's contents.
181661d06d6bSBaptiste Daroussin.Pp
181761d06d6bSBaptiste DaroussinThe
181861d06d6bSBaptiste Daroussin.Fl column
181961d06d6bSBaptiste Daroussinlist is the most complicated.
182061d06d6bSBaptiste DaroussinIts syntax is as follows:
182161d06d6bSBaptiste Daroussin.Pp
18227295610fSBaptiste Daroussin.D1 Pf \. Ic \&It Ar cell Op Ic \&Ta Ar cell ...
18237295610fSBaptiste Daroussin.D1 Pf \. Ic \&It Ar cell Op <TAB> Ar cell ...
182461d06d6bSBaptiste Daroussin.Pp
182561d06d6bSBaptiste DaroussinThe arguments consist of one or more lines of text and macros
182661d06d6bSBaptiste Daroussinrepresenting a complete table line.
182761d06d6bSBaptiste DaroussinCells within the line are delimited by the special
18287295610fSBaptiste Daroussin.Ic \&Ta
182961d06d6bSBaptiste Daroussinblock macro or by literal tab characters.
183061d06d6bSBaptiste Daroussin.Pp
183161d06d6bSBaptiste DaroussinUsing literal tabs is strongly discouraged because they are very
183261d06d6bSBaptiste Daroussinhard to use correctly and
183361d06d6bSBaptiste Daroussin.Nm
183461d06d6bSBaptiste Daroussincode using them is very hard to read.
183561d06d6bSBaptiste DaroussinIn particular, a blank character is syntactically significant
183661d06d6bSBaptiste Daroussinbefore and after the literal tab character.
183761d06d6bSBaptiste DaroussinIf a word precedes or follows the tab without an intervening blank,
183861d06d6bSBaptiste Daroussinthat word is never interpreted as a macro call, but always output
183961d06d6bSBaptiste Daroussinliterally.
184061d06d6bSBaptiste Daroussin.Pp
184161d06d6bSBaptiste DaroussinThe tab cell delimiter may only be used within the
18427295610fSBaptiste Daroussin.Ic \&It
184361d06d6bSBaptiste Daroussinline itself; on following lines, only the
18447295610fSBaptiste Daroussin.Ic \&Ta
184561d06d6bSBaptiste Daroussinmacro can be used to delimit cells, and portability requires that
18467295610fSBaptiste Daroussin.Ic \&Ta
184761d06d6bSBaptiste Daroussinis called by other macros: some parsers do not recognize it when
184861d06d6bSBaptiste Daroussinit appears as the first macro on a line.
184961d06d6bSBaptiste Daroussin.Pp
185061d06d6bSBaptiste DaroussinNote that quoted strings may span tab-delimited cells on an
18517295610fSBaptiste Daroussin.Ic \&It
185261d06d6bSBaptiste Daroussinline.
185361d06d6bSBaptiste DaroussinFor example,
185461d06d6bSBaptiste Daroussin.Pp
185561d06d6bSBaptiste Daroussin.Dl .It \(dqcol1 ,\& <TAB> col2 ,\(dq \&;
185661d06d6bSBaptiste Daroussin.Pp
185761d06d6bSBaptiste Daroussinwill preserve the whitespace before both commas,
185861d06d6bSBaptiste Daroussinbut not the whitespace before the semicolon.
185961d06d6bSBaptiste Daroussin.Pp
186061d06d6bSBaptiste DaroussinSee also
18617295610fSBaptiste Daroussin.Ic \&Bl .
1862*6d38604fSBaptiste Daroussin.Tg Lb
18637295610fSBaptiste Daroussin.It Ic \&Lb Cm lib Ns Ar name
186461d06d6bSBaptiste DaroussinSpecify a library.
186561d06d6bSBaptiste Daroussin.Pp
186661d06d6bSBaptiste DaroussinThe
18677295610fSBaptiste Daroussin.Ar name
186861d06d6bSBaptiste Daroussinparameter may be a system library, such as
18697295610fSBaptiste Daroussin.Cm z
187061d06d6bSBaptiste Daroussinor
18717295610fSBaptiste Daroussin.Cm pam ,
187261d06d6bSBaptiste Daroussinin which case a small library description is printed next to the linker
187361d06d6bSBaptiste Daroussininvocation; or a custom library, in which case the library name is
187461d06d6bSBaptiste Daroussinprinted in quotes.
187561d06d6bSBaptiste DaroussinThis is most commonly used in the
187661d06d6bSBaptiste Daroussin.Em SYNOPSIS
187761d06d6bSBaptiste Daroussinsection as described in
187861d06d6bSBaptiste Daroussin.Sx MANUAL STRUCTURE .
187961d06d6bSBaptiste Daroussin.Pp
188061d06d6bSBaptiste DaroussinExamples:
188161d06d6bSBaptiste Daroussin.Dl \&.Lb libz
188261d06d6bSBaptiste Daroussin.Dl \&.Lb libmandoc
1883*6d38604fSBaptiste Daroussin.Tg Li
18847295610fSBaptiste Daroussin.It Ic \&Li Ar word ...
18857295610fSBaptiste DaroussinRequest a typewriter (literal) font.
18867295610fSBaptiste DaroussinDeprecated because on terminal output devices, this is usually
18877295610fSBaptiste Daroussinindistinguishable from normal text.
18887295610fSBaptiste DaroussinFor literal displays, use
18897295610fSBaptiste Daroussin.Ic \&Ql Pq in-line ,
18907295610fSBaptiste Daroussin.Ic \&Dl Pq single line ,
18917295610fSBaptiste Daroussinor
18927295610fSBaptiste Daroussin.Ic \&Bd Fl literal Pq multi-line
18937295610fSBaptiste Daroussininstead.
1894*6d38604fSBaptiste Daroussin.Tg Lk
18957295610fSBaptiste Daroussin.It Ic \&Lk Ar uri Op Ar display_name
189661d06d6bSBaptiste DaroussinFormat a hyperlink.
189761d06d6bSBaptiste Daroussin.Pp
189861d06d6bSBaptiste DaroussinExamples:
1899*6d38604fSBaptiste Daroussin.Dl \&.Lk https://bsd.lv \(dqThe BSD.lv Project\(dq
1900*6d38604fSBaptiste Daroussin.Dl \&.Lk https://bsd.lv
190161d06d6bSBaptiste Daroussin.Pp
190261d06d6bSBaptiste DaroussinSee also
19037295610fSBaptiste Daroussin.Ic \&Mt .
19047295610fSBaptiste Daroussin.It Ic \&Lp
19057295610fSBaptiste DaroussinDeprecated synonym for
19067295610fSBaptiste Daroussin.Ic \&Pp .
1907*6d38604fSBaptiste Daroussin.Tg Ms
19087295610fSBaptiste Daroussin.It Ic \&Ms Ar name
190961d06d6bSBaptiste DaroussinDisplay a mathematical symbol.
191061d06d6bSBaptiste Daroussin.Pp
191161d06d6bSBaptiste DaroussinExamples:
191261d06d6bSBaptiste Daroussin.Dl \&.Ms sigma
191361d06d6bSBaptiste Daroussin.Dl \&.Ms aleph
1914*6d38604fSBaptiste Daroussin.Tg Mt
19157295610fSBaptiste Daroussin.It Ic \&Mt Ar localpart Ns @ Ns Ar domain
191661d06d6bSBaptiste DaroussinFormat a
191761d06d6bSBaptiste Daroussin.Dq mailto:
191861d06d6bSBaptiste Daroussinhyperlink.
191961d06d6bSBaptiste Daroussin.Pp
192061d06d6bSBaptiste DaroussinExamples:
192161d06d6bSBaptiste Daroussin.Dl \&.Mt discuss@manpages.bsd.lv
192261d06d6bSBaptiste Daroussin.Dl \&.An Kristaps Dzonsons \&Aq \&Mt kristaps@bsd.lv
1923*6d38604fSBaptiste Daroussin.Tg Nd
19247295610fSBaptiste Daroussin.It Ic \&Nd Ar line
192561d06d6bSBaptiste DaroussinA one line description of the manual's content.
192661d06d6bSBaptiste DaroussinThis is the mandatory last macro of the
192761d06d6bSBaptiste Daroussin.Em NAME
192861d06d6bSBaptiste Daroussinsection and not appropriate for other sections.
192961d06d6bSBaptiste Daroussin.Pp
193061d06d6bSBaptiste DaroussinExamples:
19317295610fSBaptiste Daroussin.Dl Pf . Ic \&Nd mdoc language reference
19327295610fSBaptiste Daroussin.Dl Pf . Ic \&Nd format and display UNIX manuals
193361d06d6bSBaptiste Daroussin.Pp
193461d06d6bSBaptiste DaroussinThe
19357295610fSBaptiste Daroussin.Ic \&Nd
193661d06d6bSBaptiste Daroussinmacro technically accepts child macros and terminates with a subsequent
19377295610fSBaptiste Daroussin.Ic \&Sh
193861d06d6bSBaptiste Daroussininvocation.
193961d06d6bSBaptiste DaroussinDo not assume this behaviour: some
194061d06d6bSBaptiste Daroussin.Xr whatis 1
194161d06d6bSBaptiste Daroussindatabase generators are not smart enough to parse more than the line
194261d06d6bSBaptiste Daroussinarguments and will display macros verbatim.
194361d06d6bSBaptiste Daroussin.Pp
194461d06d6bSBaptiste DaroussinSee also
19457295610fSBaptiste Daroussin.Ic \&Nm .
1946*6d38604fSBaptiste Daroussin.Tg Nm
19477295610fSBaptiste Daroussin.It Ic \&Nm Op Ar name
194861d06d6bSBaptiste DaroussinThe name of the manual page, or \(em in particular in section 1, 6,
194961d06d6bSBaptiste Daroussinand 8 pages \(em of an additional command or feature documented in
195061d06d6bSBaptiste Daroussinthe manual page.
195161d06d6bSBaptiste DaroussinWhen first invoked, the
19527295610fSBaptiste Daroussin.Ic \&Nm
195361d06d6bSBaptiste Daroussinmacro expects a single argument, the name of the manual page.
195461d06d6bSBaptiste DaroussinUsually, the first invocation happens in the
195561d06d6bSBaptiste Daroussin.Em NAME
195661d06d6bSBaptiste Daroussinsection of the page.
195761d06d6bSBaptiste DaroussinThe specified name will be remembered and used whenever the macro is
195861d06d6bSBaptiste Daroussincalled again without arguments later in the page.
195961d06d6bSBaptiste DaroussinThe
19607295610fSBaptiste Daroussin.Ic \&Nm
196161d06d6bSBaptiste Daroussinmacro uses
196261d06d6bSBaptiste Daroussin.Sx Block full-implicit
196361d06d6bSBaptiste Daroussinsemantics when invoked as the first macro on an input line in the
196461d06d6bSBaptiste Daroussin.Em SYNOPSIS
196561d06d6bSBaptiste Daroussinsection; otherwise, it uses ordinary
196661d06d6bSBaptiste Daroussin.Sx In-line
196761d06d6bSBaptiste Daroussinsemantics.
196861d06d6bSBaptiste Daroussin.Pp
196961d06d6bSBaptiste DaroussinExamples:
197061d06d6bSBaptiste Daroussin.Bd -literal -offset indent
197161d06d6bSBaptiste Daroussin\&.Sh SYNOPSIS
197261d06d6bSBaptiste Daroussin\&.Nm cat
197361d06d6bSBaptiste Daroussin\&.Op Fl benstuv
197461d06d6bSBaptiste Daroussin\&.Op Ar
197561d06d6bSBaptiste Daroussin.Ed
197661d06d6bSBaptiste Daroussin.Pp
197761d06d6bSBaptiste DaroussinIn the
197861d06d6bSBaptiste Daroussin.Em SYNOPSIS
197961d06d6bSBaptiste Daroussinof section 2, 3 and 9 manual pages, use the
19807295610fSBaptiste Daroussin.Ic \&Fn
198161d06d6bSBaptiste Daroussinmacro rather than
19827295610fSBaptiste Daroussin.Ic \&Nm
198361d06d6bSBaptiste Daroussinto mark up the name of the manual page.
1984*6d38604fSBaptiste Daroussin.Tg No
19857295610fSBaptiste Daroussin.It Ic \&No Ar word ...
198661d06d6bSBaptiste DaroussinNormal text.
198761d06d6bSBaptiste DaroussinCloses the scope of any preceding in-line macro.
198861d06d6bSBaptiste DaroussinWhen used after physical formatting macros like
19897295610fSBaptiste Daroussin.Ic \&Em
199061d06d6bSBaptiste Daroussinor
19917295610fSBaptiste Daroussin.Ic \&Sy ,
199261d06d6bSBaptiste Daroussinswitches back to the standard font face and weight.
199361d06d6bSBaptiste DaroussinCan also be used to embed plain text strings in macro lines
199461d06d6bSBaptiste Daroussinusing semantic annotation macros.
199561d06d6bSBaptiste Daroussin.Pp
199661d06d6bSBaptiste DaroussinExamples:
199761d06d6bSBaptiste Daroussin.Dl ".Em italic , Sy bold , No and roman"
19987295610fSBaptiste Daroussin.Bd -literal -offset indent
199961d06d6bSBaptiste Daroussin\&.Sm off
200061d06d6bSBaptiste Daroussin\&.Cm :C No / Ar pattern No / Ar replacement No /
200161d06d6bSBaptiste Daroussin\&.Sm on
200261d06d6bSBaptiste Daroussin.Ed
200361d06d6bSBaptiste Daroussin.Pp
200461d06d6bSBaptiste DaroussinSee also
20057295610fSBaptiste Daroussin.Ic \&Em ,
20067295610fSBaptiste Daroussin.Ic \&Ql ,
200761d06d6bSBaptiste Daroussinand
20087295610fSBaptiste Daroussin.Ic \&Sy .
2009*6d38604fSBaptiste Daroussin.Tg Ns
20107295610fSBaptiste Daroussin.It Ic \&Ns
201161d06d6bSBaptiste DaroussinSuppress a space between the output of the preceding macro
201261d06d6bSBaptiste Daroussinand the following text or macro.
201361d06d6bSBaptiste DaroussinFollowing invocation, input is interpreted as normal text
201461d06d6bSBaptiste Daroussinjust like after an
20157295610fSBaptiste Daroussin.Ic \&No
201661d06d6bSBaptiste Daroussinmacro.
201761d06d6bSBaptiste Daroussin.Pp
201861d06d6bSBaptiste DaroussinThis has no effect when invoked at the start of a macro line.
201961d06d6bSBaptiste Daroussin.Pp
202061d06d6bSBaptiste DaroussinExamples:
202161d06d6bSBaptiste Daroussin.Dl ".Ar name Ns = Ns Ar value"
202261d06d6bSBaptiste Daroussin.Dl ".Cm :M Ns Ar pattern"
202361d06d6bSBaptiste Daroussin.Dl ".Fl o Ns Ar output"
202461d06d6bSBaptiste Daroussin.Pp
202561d06d6bSBaptiste DaroussinSee also
20267295610fSBaptiste Daroussin.Ic \&No
202761d06d6bSBaptiste Daroussinand
20287295610fSBaptiste Daroussin.Ic \&Sm .
2029*6d38604fSBaptiste Daroussin.Tg Nx
20307295610fSBaptiste Daroussin.It Ic \&Nx Op Ar version
203161d06d6bSBaptiste DaroussinFormat the
203261d06d6bSBaptiste Daroussin.Nx
203361d06d6bSBaptiste Daroussinversion provided as an argument, or a default value if
203461d06d6bSBaptiste Daroussinno argument is provided.
203561d06d6bSBaptiste Daroussin.Pp
203661d06d6bSBaptiste DaroussinExamples:
203761d06d6bSBaptiste Daroussin.Dl \&.Nx 5.01
203861d06d6bSBaptiste Daroussin.Dl \&.Nx
203961d06d6bSBaptiste Daroussin.Pp
204061d06d6bSBaptiste DaroussinSee also
20417295610fSBaptiste Daroussin.Ic \&At ,
20427295610fSBaptiste Daroussin.Ic \&Bsx ,
20437295610fSBaptiste Daroussin.Ic \&Bx ,
20447295610fSBaptiste Daroussin.Ic \&Dx ,
20457295610fSBaptiste Daroussin.Ic \&Fx ,
204661d06d6bSBaptiste Daroussinand
20477295610fSBaptiste Daroussin.Ic \&Ox .
20487295610fSBaptiste Daroussin.It Ic \&Oc
204961d06d6bSBaptiste DaroussinClose multi-line
20507295610fSBaptiste Daroussin.Ic \&Oo
205161d06d6bSBaptiste Daroussincontext.
20527295610fSBaptiste Daroussin.It Ic \&Oo Ar block
205361d06d6bSBaptiste DaroussinMulti-line version of
20547295610fSBaptiste Daroussin.Ic \&Op .
205561d06d6bSBaptiste Daroussin.Pp
205661d06d6bSBaptiste DaroussinExamples:
205761d06d6bSBaptiste Daroussin.Bd -literal -offset indent -compact
205861d06d6bSBaptiste Daroussin\&.Oo
205961d06d6bSBaptiste Daroussin\&.Op Fl flag Ns Ar value
206061d06d6bSBaptiste Daroussin\&.Oc
206161d06d6bSBaptiste Daroussin.Ed
2062*6d38604fSBaptiste Daroussin.Tg Op
20637295610fSBaptiste Daroussin.It Ic \&Op Ar line
206461d06d6bSBaptiste DaroussinOptional part of a command line.
206561d06d6bSBaptiste DaroussinPrints the argument(s) in brackets.
206661d06d6bSBaptiste DaroussinThis is most often used in the
206761d06d6bSBaptiste Daroussin.Em SYNOPSIS
206861d06d6bSBaptiste Daroussinsection of section 1 and 8 manual pages.
206961d06d6bSBaptiste Daroussin.Pp
207061d06d6bSBaptiste DaroussinExamples:
207161d06d6bSBaptiste Daroussin.Dl \&.Op \&Fl a \&Ar b
207261d06d6bSBaptiste Daroussin.Dl \&.Op \&Ar a | b
207361d06d6bSBaptiste Daroussin.Pp
207461d06d6bSBaptiste DaroussinSee also
20757295610fSBaptiste Daroussin.Ic \&Oo .
2076*6d38604fSBaptiste Daroussin.Tg Os
20777295610fSBaptiste Daroussin.It Ic \&Os Op Ar system Op Ar version
207861d06d6bSBaptiste DaroussinOperating system version for display in the page footer.
207961d06d6bSBaptiste DaroussinThis is the mandatory third macro of
208061d06d6bSBaptiste Daroussinany
208161d06d6bSBaptiste Daroussin.Nm
208261d06d6bSBaptiste Daroussinfile.
208361d06d6bSBaptiste Daroussin.Pp
208461d06d6bSBaptiste DaroussinThe optional
208561d06d6bSBaptiste Daroussin.Ar system
208661d06d6bSBaptiste Daroussinparameter specifies the relevant operating system or environment.
208761d06d6bSBaptiste DaroussinIt is suggested to leave it unspecified, in which case
208861d06d6bSBaptiste Daroussin.Xr mandoc 1
208961d06d6bSBaptiste Daroussinuses its
209061d06d6bSBaptiste Daroussin.Fl Ios
209161d06d6bSBaptiste Daroussinargument or, if that isn't specified either,
209261d06d6bSBaptiste Daroussin.Fa sysname
209361d06d6bSBaptiste Daroussinand
209461d06d6bSBaptiste Daroussin.Fa release
209561d06d6bSBaptiste Daroussinas returned by
209661d06d6bSBaptiste Daroussin.Xr uname 3 .
209761d06d6bSBaptiste Daroussin.Pp
209861d06d6bSBaptiste DaroussinExamples:
209961d06d6bSBaptiste Daroussin.Dl \&.Os
210061d06d6bSBaptiste Daroussin.Dl \&.Os KTH/CSC/TCS
210161d06d6bSBaptiste Daroussin.Dl \&.Os BSD 4.3
210261d06d6bSBaptiste Daroussin.Pp
210361d06d6bSBaptiste DaroussinSee also
21047295610fSBaptiste Daroussin.Ic \&Dd
210561d06d6bSBaptiste Daroussinand
21067295610fSBaptiste Daroussin.Ic \&Dt .
21077295610fSBaptiste Daroussin.It Ic \&Ot Ar functype
210861d06d6bSBaptiste DaroussinThis macro is obsolete.
210961d06d6bSBaptiste DaroussinUse
21107295610fSBaptiste Daroussin.Ic \&Ft
211161d06d6bSBaptiste Daroussininstead; with
211261d06d6bSBaptiste Daroussin.Xr mandoc 1 ,
211361d06d6bSBaptiste Daroussinboth have the same effect.
211461d06d6bSBaptiste Daroussin.Pp
211561d06d6bSBaptiste DaroussinHistorical
211661d06d6bSBaptiste Daroussin.Nm
211761d06d6bSBaptiste Daroussinpackages described it as
211861d06d6bSBaptiste Daroussin.Dq "old function type (FORTRAN)" .
2119*6d38604fSBaptiste Daroussin.Tg Ox
21207295610fSBaptiste Daroussin.It Ic \&Ox Op Ar version
212161d06d6bSBaptiste DaroussinFormat the
212261d06d6bSBaptiste Daroussin.Ox
212361d06d6bSBaptiste Daroussinversion provided as an argument, or a default value
212461d06d6bSBaptiste Daroussinif no argument is provided.
212561d06d6bSBaptiste Daroussin.Pp
212661d06d6bSBaptiste DaroussinExamples:
212761d06d6bSBaptiste Daroussin.Dl \&.Ox 4.5
212861d06d6bSBaptiste Daroussin.Dl \&.Ox
212961d06d6bSBaptiste Daroussin.Pp
213061d06d6bSBaptiste DaroussinSee also
21317295610fSBaptiste Daroussin.Ic \&At ,
21327295610fSBaptiste Daroussin.Ic \&Bsx ,
21337295610fSBaptiste Daroussin.Ic \&Bx ,
21347295610fSBaptiste Daroussin.Ic \&Dx ,
21357295610fSBaptiste Daroussin.Ic \&Fx ,
213661d06d6bSBaptiste Daroussinand
21377295610fSBaptiste Daroussin.Ic \&Nx .
2138*6d38604fSBaptiste Daroussin.Tg Pa
21397295610fSBaptiste Daroussin.It Ic \&Pa Ar name ...
214061d06d6bSBaptiste DaroussinAn absolute or relative file system path, or a file or directory name.
214161d06d6bSBaptiste DaroussinIf an argument is not provided, the character
214261d06d6bSBaptiste Daroussin.Sq \(ti
214361d06d6bSBaptiste Daroussinis used as a default.
214461d06d6bSBaptiste Daroussin.Pp
214561d06d6bSBaptiste DaroussinExamples:
214661d06d6bSBaptiste Daroussin.Dl \&.Pa /usr/bin/mandoc
214761d06d6bSBaptiste Daroussin.Dl \&.Pa /usr/share/man/man7/mdoc.7
214861d06d6bSBaptiste Daroussin.Pp
214961d06d6bSBaptiste DaroussinSee also
21507295610fSBaptiste Daroussin.Ic \&Lk .
21517295610fSBaptiste Daroussin.It Ic \&Pc
215261d06d6bSBaptiste DaroussinClose parenthesised context opened by
21537295610fSBaptiste Daroussin.Ic \&Po .
2154*6d38604fSBaptiste Daroussin.Tg Pf
21557295610fSBaptiste Daroussin.It Ic \&Pf Ar prefix macro Op Ar argument ...
215661d06d6bSBaptiste DaroussinRemoves the space between its argument and the following macro.
21577295610fSBaptiste DaroussinIt is equivalent to:
215861d06d6bSBaptiste Daroussin.Pp
21597295610fSBaptiste Daroussin.D1 Ic \&No Pf \e& Ar prefix Ic \&Ns Ar macro Op Ar argument ...
216061d06d6bSBaptiste Daroussin.Pp
216161d06d6bSBaptiste DaroussinThe
216261d06d6bSBaptiste Daroussin.Ar prefix
216361d06d6bSBaptiste Daroussinargument is not parsed for macro names or delimiters,
216461d06d6bSBaptiste Daroussinbut used verbatim as if it were escaped.
216561d06d6bSBaptiste Daroussin.Pp
216661d06d6bSBaptiste DaroussinExamples:
216761d06d6bSBaptiste Daroussin.Dl ".Pf $ Ar variable_name"
216861d06d6bSBaptiste Daroussin.Dl ".Pf . Ar macro_name"
216961d06d6bSBaptiste Daroussin.Dl ".Pf 0x Ar hex_digits"
217061d06d6bSBaptiste Daroussin.Pp
217161d06d6bSBaptiste DaroussinSee also
21727295610fSBaptiste Daroussin.Ic \&Ns
217361d06d6bSBaptiste Daroussinand
21747295610fSBaptiste Daroussin.Ic \&Sm .
21757295610fSBaptiste Daroussin.It Ic \&Po Ar block
217661d06d6bSBaptiste DaroussinMulti-line version of
21777295610fSBaptiste Daroussin.Ic \&Pq .
2178*6d38604fSBaptiste Daroussin.Tg Pp
21797295610fSBaptiste Daroussin.It Ic \&Pp
218061d06d6bSBaptiste DaroussinBreak a paragraph.
218161d06d6bSBaptiste DaroussinThis will assert vertical space between prior and subsequent macros
218261d06d6bSBaptiste Daroussinand/or text.
218361d06d6bSBaptiste Daroussin.Pp
218461d06d6bSBaptiste DaroussinParagraph breaks are not needed before or after
21857295610fSBaptiste Daroussin.Ic \&Sh
218661d06d6bSBaptiste Daroussinor
21877295610fSBaptiste Daroussin.Ic \&Ss
218861d06d6bSBaptiste Daroussinmacros or before displays
21897295610fSBaptiste Daroussin.Pq Ic \&Bd Ar line
219061d06d6bSBaptiste Daroussinor lists
21917295610fSBaptiste Daroussin.Pq Ic \&Bl
219261d06d6bSBaptiste Daroussinunless the
219361d06d6bSBaptiste Daroussin.Fl compact
219461d06d6bSBaptiste Daroussinflag is given.
2195*6d38604fSBaptiste Daroussin.Tg Pq
21967295610fSBaptiste Daroussin.It Ic \&Pq Ar line
219761d06d6bSBaptiste DaroussinParenthesised enclosure.
219861d06d6bSBaptiste Daroussin.Pp
219961d06d6bSBaptiste DaroussinSee also
22007295610fSBaptiste Daroussin.Ic \&Po .
22017295610fSBaptiste Daroussin.It Ic \&Qc
220261d06d6bSBaptiste DaroussinClose quoted context opened by
22037295610fSBaptiste Daroussin.Ic \&Qo .
2204*6d38604fSBaptiste Daroussin.Tg Ql
22057295610fSBaptiste Daroussin.It Ic \&Ql Ar line
220661d06d6bSBaptiste DaroussinIn-line literal display.
22077295610fSBaptiste DaroussinThis can be used for complete command invocations and for multi-word
22087295610fSBaptiste Daroussincode examples when an indented display is not desired.
220961d06d6bSBaptiste Daroussin.Pp
221061d06d6bSBaptiste DaroussinSee also
22117295610fSBaptiste Daroussin.Ic \&Dl
221261d06d6bSBaptiste Daroussinand
22137295610fSBaptiste Daroussin.Ic \&Bd
221461d06d6bSBaptiste Daroussin.Fl literal .
22157295610fSBaptiste Daroussin.It Ic \&Qo Ar block
221661d06d6bSBaptiste DaroussinMulti-line version of
22177295610fSBaptiste Daroussin.Ic \&Qq .
2218*6d38604fSBaptiste Daroussin.Tg Qq
22197295610fSBaptiste Daroussin.It Ic \&Qq Ar line
222061d06d6bSBaptiste DaroussinEncloses its arguments in
222161d06d6bSBaptiste Daroussin.Qq typewriter
222261d06d6bSBaptiste Daroussindouble-quotes.
222361d06d6bSBaptiste DaroussinConsider using
22247295610fSBaptiste Daroussin.Ic \&Dq .
222561d06d6bSBaptiste Daroussin.Pp
222661d06d6bSBaptiste DaroussinSee also
22277295610fSBaptiste Daroussin.Ic \&Dq ,
22287295610fSBaptiste Daroussin.Ic \&Sq ,
222961d06d6bSBaptiste Daroussinand
22307295610fSBaptiste Daroussin.Ic \&Qo .
22317295610fSBaptiste Daroussin.It Ic \&Re
223261d06d6bSBaptiste DaroussinClose an
22337295610fSBaptiste Daroussin.Ic \&Rs
223461d06d6bSBaptiste Daroussinblock.
223561d06d6bSBaptiste DaroussinDoes not have any tail arguments.
2236*6d38604fSBaptiste Daroussin.Tg Rs
22377295610fSBaptiste Daroussin.It Ic \&Rs
223861d06d6bSBaptiste DaroussinBegin a bibliographic
223961d06d6bSBaptiste Daroussin.Pq Dq reference
224061d06d6bSBaptiste Daroussinblock.
224161d06d6bSBaptiste DaroussinDoes not have any head arguments.
224261d06d6bSBaptiste DaroussinThe block macro may only contain
22437295610fSBaptiste Daroussin.Ic \&%A ,
22447295610fSBaptiste Daroussin.Ic \&%B ,
22457295610fSBaptiste Daroussin.Ic \&%C ,
22467295610fSBaptiste Daroussin.Ic \&%D ,
22477295610fSBaptiste Daroussin.Ic \&%I ,
22487295610fSBaptiste Daroussin.Ic \&%J ,
22497295610fSBaptiste Daroussin.Ic \&%N ,
22507295610fSBaptiste Daroussin.Ic \&%O ,
22517295610fSBaptiste Daroussin.Ic \&%P ,
22527295610fSBaptiste Daroussin.Ic \&%Q ,
22537295610fSBaptiste Daroussin.Ic \&%R ,
22547295610fSBaptiste Daroussin.Ic \&%T ,
22557295610fSBaptiste Daroussin.Ic \&%U ,
225661d06d6bSBaptiste Daroussinand
22577295610fSBaptiste Daroussin.Ic \&%V
225861d06d6bSBaptiste Daroussinchild macros (at least one must be specified).
225961d06d6bSBaptiste Daroussin.Pp
226061d06d6bSBaptiste DaroussinExamples:
226161d06d6bSBaptiste Daroussin.Bd -literal -offset indent -compact
226261d06d6bSBaptiste Daroussin\&.Rs
226361d06d6bSBaptiste Daroussin\&.%A J. E. Hopcroft
226461d06d6bSBaptiste Daroussin\&.%A J. D. Ullman
226561d06d6bSBaptiste Daroussin\&.%B Introduction to Automata Theory, Languages, and Computation
226661d06d6bSBaptiste Daroussin\&.%I Addison-Wesley
226761d06d6bSBaptiste Daroussin\&.%C Reading, Massachusetts
226861d06d6bSBaptiste Daroussin\&.%D 1979
226961d06d6bSBaptiste Daroussin\&.Re
227061d06d6bSBaptiste Daroussin.Ed
227161d06d6bSBaptiste Daroussin.Pp
227261d06d6bSBaptiste DaroussinIf an
22737295610fSBaptiste Daroussin.Ic \&Rs
227461d06d6bSBaptiste Daroussinblock is used within a SEE ALSO section, a vertical space is asserted
227561d06d6bSBaptiste Daroussinbefore the rendered output, else the block continues on the current
227661d06d6bSBaptiste Daroussinline.
2277*6d38604fSBaptiste Daroussin.Tg Rv
22787295610fSBaptiste Daroussin.It Ic \&Rv Fl std Op Ar function ...
227961d06d6bSBaptiste DaroussinInsert a standard sentence regarding a function call's return value of 0
228061d06d6bSBaptiste Daroussinon success and \-1 on error, with the
228161d06d6bSBaptiste Daroussin.Va errno
228261d06d6bSBaptiste Daroussinlibc global variable set on error.
228361d06d6bSBaptiste Daroussin.Pp
228461d06d6bSBaptiste DaroussinIf
228561d06d6bSBaptiste Daroussin.Ar function
228661d06d6bSBaptiste Daroussinis not specified, the document's name set by
22877295610fSBaptiste Daroussin.Ic \&Nm
228861d06d6bSBaptiste Daroussinis used.
228961d06d6bSBaptiste DaroussinMultiple
229061d06d6bSBaptiste Daroussin.Ar function
229161d06d6bSBaptiste Daroussinarguments are treated as separate functions.
229261d06d6bSBaptiste Daroussin.Pp
229361d06d6bSBaptiste DaroussinSee also
22947295610fSBaptiste Daroussin.Ic \&Ex .
22957295610fSBaptiste Daroussin.It Ic \&Sc
229661d06d6bSBaptiste DaroussinClose single-quoted context opened by
22977295610fSBaptiste Daroussin.Ic \&So .
2298*6d38604fSBaptiste Daroussin.Tg Sh
22997295610fSBaptiste Daroussin.It Ic \&Sh Ar TITLE LINE
230061d06d6bSBaptiste DaroussinBegin a new section.
230161d06d6bSBaptiste DaroussinFor a list of conventional manual sections, see
230261d06d6bSBaptiste Daroussin.Sx MANUAL STRUCTURE .
230361d06d6bSBaptiste DaroussinThese sections should be used unless it's absolutely necessary that
230461d06d6bSBaptiste Daroussincustom sections be used.
230561d06d6bSBaptiste Daroussin.Pp
230661d06d6bSBaptiste DaroussinSection names should be unique so that they may be keyed by
23077295610fSBaptiste Daroussin.Ic \&Sx .
230861d06d6bSBaptiste DaroussinAlthough this macro is parsed, it should not consist of child node or it
230961d06d6bSBaptiste Daroussinmay not be linked with
23107295610fSBaptiste Daroussin.Ic \&Sx .
231161d06d6bSBaptiste Daroussin.Pp
231261d06d6bSBaptiste DaroussinSee also
23137295610fSBaptiste Daroussin.Ic \&Pp ,
23147295610fSBaptiste Daroussin.Ic \&Ss ,
231561d06d6bSBaptiste Daroussinand
23167295610fSBaptiste Daroussin.Ic \&Sx .
2317*6d38604fSBaptiste Daroussin.Tg Sm
23187295610fSBaptiste Daroussin.It Ic \&Sm Op Cm on | off
231961d06d6bSBaptiste DaroussinSwitches the spacing mode for output generated from macros.
232061d06d6bSBaptiste Daroussin.Pp
232161d06d6bSBaptiste DaroussinBy default, spacing is
232261d06d6bSBaptiste Daroussin.Cm on .
232361d06d6bSBaptiste DaroussinWhen switched
232461d06d6bSBaptiste Daroussin.Cm off ,
232561d06d6bSBaptiste Daroussinno white space is inserted between macro arguments and between the
232661d06d6bSBaptiste Daroussinoutput generated from adjacent macros, but text lines
232761d06d6bSBaptiste Daroussinstill get normal spacing between words and sentences.
232861d06d6bSBaptiste Daroussin.Pp
232961d06d6bSBaptiste DaroussinWhen called without an argument, the
23307295610fSBaptiste Daroussin.Ic \&Sm
233161d06d6bSBaptiste Daroussinmacro toggles the spacing mode.
233261d06d6bSBaptiste DaroussinUsing this is not recommended because it makes the code harder to read.
23337295610fSBaptiste Daroussin.It Ic \&So Ar block
233461d06d6bSBaptiste DaroussinMulti-line version of
23357295610fSBaptiste Daroussin.Ic \&Sq .
2336*6d38604fSBaptiste Daroussin.Tg Sq
23377295610fSBaptiste Daroussin.It Ic \&Sq Ar line
233861d06d6bSBaptiste DaroussinEncloses its arguments in
233961d06d6bSBaptiste Daroussin.Sq typewriter
234061d06d6bSBaptiste Daroussinsingle-quotes.
234161d06d6bSBaptiste Daroussin.Pp
234261d06d6bSBaptiste DaroussinSee also
23437295610fSBaptiste Daroussin.Ic \&Dq ,
23447295610fSBaptiste Daroussin.Ic \&Qq ,
234561d06d6bSBaptiste Daroussinand
23467295610fSBaptiste Daroussin.Ic \&So .
2347*6d38604fSBaptiste Daroussin.Tg Ss
23487295610fSBaptiste Daroussin.It Ic \&Ss Ar Title line
234961d06d6bSBaptiste DaroussinBegin a new subsection.
235061d06d6bSBaptiste DaroussinUnlike with
23517295610fSBaptiste Daroussin.Ic \&Sh ,
235261d06d6bSBaptiste Daroussinthere is no convention for the naming of subsections.
235361d06d6bSBaptiste DaroussinExcept
235461d06d6bSBaptiste Daroussin.Em DESCRIPTION ,
235561d06d6bSBaptiste Daroussinthe conventional sections described in
235661d06d6bSBaptiste Daroussin.Sx MANUAL STRUCTURE
235761d06d6bSBaptiste Daroussinrarely have subsections.
235861d06d6bSBaptiste Daroussin.Pp
235961d06d6bSBaptiste DaroussinSub-section names should be unique so that they may be keyed by
23607295610fSBaptiste Daroussin.Ic \&Sx .
236161d06d6bSBaptiste DaroussinAlthough this macro is parsed, it should not consist of child node or it
236261d06d6bSBaptiste Daroussinmay not be linked with
23637295610fSBaptiste Daroussin.Ic \&Sx .
236461d06d6bSBaptiste Daroussin.Pp
236561d06d6bSBaptiste DaroussinSee also
23667295610fSBaptiste Daroussin.Ic \&Pp ,
23677295610fSBaptiste Daroussin.Ic \&Sh ,
236861d06d6bSBaptiste Daroussinand
23697295610fSBaptiste Daroussin.Ic \&Sx .
2370*6d38604fSBaptiste Daroussin.Tg St
23717295610fSBaptiste Daroussin.It Ic \&St Fl Ns Ar abbreviation
237261d06d6bSBaptiste DaroussinReplace an abbreviation for a standard with the full form.
237361d06d6bSBaptiste DaroussinThe following standards are recognised.
237461d06d6bSBaptiste DaroussinWhere multiple lines are given without a blank line in between,
237561d06d6bSBaptiste Daroussinthey all refer to the same standard, and using the first form
237661d06d6bSBaptiste Daroussinis recommended.
237761d06d6bSBaptiste Daroussin.Bl -tag -width 1n
237861d06d6bSBaptiste Daroussin.It C language standards
237961d06d6bSBaptiste Daroussin.Pp
238061d06d6bSBaptiste Daroussin.Bl -tag -width "-p1003.1g-2000" -compact
238161d06d6bSBaptiste Daroussin.It \-ansiC
238261d06d6bSBaptiste Daroussin.St -ansiC
238361d06d6bSBaptiste Daroussin.It \-ansiC-89
238461d06d6bSBaptiste Daroussin.St -ansiC-89
238561d06d6bSBaptiste Daroussin.It \-isoC
238661d06d6bSBaptiste Daroussin.St -isoC
238761d06d6bSBaptiste Daroussin.It \-isoC-90
238861d06d6bSBaptiste Daroussin.St -isoC-90
238961d06d6bSBaptiste Daroussin.br
239061d06d6bSBaptiste DaroussinThe original C standard.
239161d06d6bSBaptiste Daroussin.Pp
239261d06d6bSBaptiste Daroussin.It \-isoC-amd1
239361d06d6bSBaptiste Daroussin.St -isoC-amd1
239461d06d6bSBaptiste Daroussin.Pp
239561d06d6bSBaptiste Daroussin.It \-isoC-tcor1
239661d06d6bSBaptiste Daroussin.St -isoC-tcor1
239761d06d6bSBaptiste Daroussin.Pp
239861d06d6bSBaptiste Daroussin.It \-isoC-tcor2
239961d06d6bSBaptiste Daroussin.St -isoC-tcor2
240061d06d6bSBaptiste Daroussin.Pp
240161d06d6bSBaptiste Daroussin.It \-isoC-99
240261d06d6bSBaptiste Daroussin.St -isoC-99
240361d06d6bSBaptiste Daroussin.br
240461d06d6bSBaptiste DaroussinThe second major version of the C language standard.
240561d06d6bSBaptiste Daroussin.Pp
240661d06d6bSBaptiste Daroussin.It \-isoC-2011
240761d06d6bSBaptiste Daroussin.St -isoC-2011
240861d06d6bSBaptiste Daroussin.br
240961d06d6bSBaptiste DaroussinThe third major version of the C language standard.
241061d06d6bSBaptiste Daroussin.El
241161d06d6bSBaptiste Daroussin.It POSIX.1 before the Single UNIX Specification
241261d06d6bSBaptiste Daroussin.Pp
241361d06d6bSBaptiste Daroussin.Bl -tag -width "-p1003.1g-2000" -compact
241461d06d6bSBaptiste Daroussin.It \-p1003.1-88
241561d06d6bSBaptiste Daroussin.St -p1003.1-88
241661d06d6bSBaptiste Daroussin.It \-p1003.1
241761d06d6bSBaptiste Daroussin.St -p1003.1
241861d06d6bSBaptiste Daroussin.br
241961d06d6bSBaptiste DaroussinThe original POSIX standard, based on ANSI C.
242061d06d6bSBaptiste Daroussin.Pp
242161d06d6bSBaptiste Daroussin.It \-p1003.1-90
242261d06d6bSBaptiste Daroussin.St -p1003.1-90
242361d06d6bSBaptiste Daroussin.It \-iso9945-1-90
242461d06d6bSBaptiste Daroussin.St -iso9945-1-90
242561d06d6bSBaptiste Daroussin.br
242661d06d6bSBaptiste DaroussinThe first update of POSIX.1.
242761d06d6bSBaptiste Daroussin.Pp
242861d06d6bSBaptiste Daroussin.It \-p1003.1b-93
242961d06d6bSBaptiste Daroussin.St -p1003.1b-93
243061d06d6bSBaptiste Daroussin.It \-p1003.1b
243161d06d6bSBaptiste Daroussin.St -p1003.1b
243261d06d6bSBaptiste Daroussin.br
243361d06d6bSBaptiste DaroussinReal-time extensions.
243461d06d6bSBaptiste Daroussin.Pp
243561d06d6bSBaptiste Daroussin.It \-p1003.1c-95
243661d06d6bSBaptiste Daroussin.St -p1003.1c-95
243761d06d6bSBaptiste Daroussin.br
243861d06d6bSBaptiste DaroussinPOSIX thread interfaces.
243961d06d6bSBaptiste Daroussin.Pp
244061d06d6bSBaptiste Daroussin.It \-p1003.1i-95
244161d06d6bSBaptiste Daroussin.St -p1003.1i-95
244261d06d6bSBaptiste Daroussin.br
244361d06d6bSBaptiste DaroussinTechnical Corrigendum.
244461d06d6bSBaptiste Daroussin.Pp
244561d06d6bSBaptiste Daroussin.It \-p1003.1-96
244661d06d6bSBaptiste Daroussin.St -p1003.1-96
244761d06d6bSBaptiste Daroussin.It \-iso9945-1-96
244861d06d6bSBaptiste Daroussin.St -iso9945-1-96
244961d06d6bSBaptiste Daroussin.br
245061d06d6bSBaptiste DaroussinIncludes POSIX.1-1990, 1b, 1c, and 1i.
245161d06d6bSBaptiste Daroussin.El
245261d06d6bSBaptiste Daroussin.It X/Open Portability Guide version 4 and related standards
245361d06d6bSBaptiste Daroussin.Pp
245461d06d6bSBaptiste Daroussin.Bl -tag -width "-p1003.1g-2000" -compact
245561d06d6bSBaptiste Daroussin.It \-xpg3
245661d06d6bSBaptiste Daroussin.St -xpg3
245761d06d6bSBaptiste Daroussin.br
245861d06d6bSBaptiste DaroussinAn XPG4 precursor, published in 1989.
245961d06d6bSBaptiste Daroussin.Pp
246061d06d6bSBaptiste Daroussin.It \-p1003.2
246161d06d6bSBaptiste Daroussin.St -p1003.2
246261d06d6bSBaptiste Daroussin.It \-p1003.2-92
246361d06d6bSBaptiste Daroussin.St -p1003.2-92
246461d06d6bSBaptiste Daroussin.It \-iso9945-2-93
246561d06d6bSBaptiste Daroussin.St -iso9945-2-93
246661d06d6bSBaptiste Daroussin.br
246761d06d6bSBaptiste DaroussinAn XCU4 precursor.
246861d06d6bSBaptiste Daroussin.Pp
246961d06d6bSBaptiste Daroussin.It \-p1003.2a-92
247061d06d6bSBaptiste Daroussin.St -p1003.2a-92
247161d06d6bSBaptiste Daroussin.br
247261d06d6bSBaptiste DaroussinUpdates to POSIX.2.
247361d06d6bSBaptiste Daroussin.Pp
247461d06d6bSBaptiste Daroussin.It \-xpg4
247561d06d6bSBaptiste Daroussin.St -xpg4
247661d06d6bSBaptiste Daroussin.br
247761d06d6bSBaptiste DaroussinBased on POSIX.1 and POSIX.2, published in 1992.
247861d06d6bSBaptiste Daroussin.El
247961d06d6bSBaptiste Daroussin.It Single UNIX Specification version 1 and related standards
248061d06d6bSBaptiste Daroussin.Pp
248161d06d6bSBaptiste Daroussin.Bl -tag -width "-p1003.1g-2000" -compact
248261d06d6bSBaptiste Daroussin.It \-susv1
248361d06d6bSBaptiste Daroussin.St -susv1
248461d06d6bSBaptiste Daroussin.It \-xpg4.2
248561d06d6bSBaptiste Daroussin.St -xpg4.2
248661d06d6bSBaptiste Daroussin.br
248761d06d6bSBaptiste DaroussinThis standard was published in 1994.
248861d06d6bSBaptiste DaroussinIt was used as the basis for UNIX 95 certification.
248961d06d6bSBaptiste DaroussinThe following three refer to parts of it.
249061d06d6bSBaptiste Daroussin.Pp
249161d06d6bSBaptiste Daroussin.It \-xsh4.2
249261d06d6bSBaptiste Daroussin.St -xsh4.2
249361d06d6bSBaptiste Daroussin.Pp
249461d06d6bSBaptiste Daroussin.It \-xcurses4.2
249561d06d6bSBaptiste Daroussin.St -xcurses4.2
249661d06d6bSBaptiste Daroussin.Pp
249761d06d6bSBaptiste Daroussin.It \-p1003.1g-2000
249861d06d6bSBaptiste Daroussin.St -p1003.1g-2000
249961d06d6bSBaptiste Daroussin.br
250061d06d6bSBaptiste DaroussinNetworking APIs, including sockets.
250161d06d6bSBaptiste Daroussin.Pp
250261d06d6bSBaptiste Daroussin.It \-svid4
250361d06d6bSBaptiste Daroussin.St -svid4 ,
250461d06d6bSBaptiste Daroussin.br
250561d06d6bSBaptiste DaroussinPublished in 1995.
250661d06d6bSBaptiste Daroussin.El
250761d06d6bSBaptiste Daroussin.It Single UNIX Specification version 2 and related standards
250861d06d6bSBaptiste Daroussin.Pp
250961d06d6bSBaptiste Daroussin.Bl -tag -width "-p1003.1g-2000" -compact
251061d06d6bSBaptiste Daroussin.It \-susv2
251161d06d6bSBaptiste Daroussin.St -susv2
251261d06d6bSBaptiste DaroussinThis Standard was published in 1997
251361d06d6bSBaptiste Daroussinand is also called X/Open Portability Guide version 5.
251461d06d6bSBaptiste DaroussinIt was used as the basis for UNIX 98 certification.
251561d06d6bSBaptiste DaroussinThe following refer to parts of it.
251661d06d6bSBaptiste Daroussin.Pp
251761d06d6bSBaptiste Daroussin.It \-xbd5
251861d06d6bSBaptiste Daroussin.St -xbd5
251961d06d6bSBaptiste Daroussin.Pp
252061d06d6bSBaptiste Daroussin.It \-xsh5
252161d06d6bSBaptiste Daroussin.St -xsh5
252261d06d6bSBaptiste Daroussin.Pp
252361d06d6bSBaptiste Daroussin.It \-xcu5
252461d06d6bSBaptiste Daroussin.St -xcu5
252561d06d6bSBaptiste Daroussin.Pp
252661d06d6bSBaptiste Daroussin.It \-xns5
252761d06d6bSBaptiste Daroussin.St -xns5
252861d06d6bSBaptiste Daroussin.It \-xns5.2
252961d06d6bSBaptiste Daroussin.St -xns5.2
253061d06d6bSBaptiste Daroussin.El
253161d06d6bSBaptiste Daroussin.It Single UNIX Specification version 3
253261d06d6bSBaptiste Daroussin.Pp
253361d06d6bSBaptiste Daroussin.Bl -tag -width "-p1003.1-2001" -compact
253461d06d6bSBaptiste Daroussin.It \-p1003.1-2001
253561d06d6bSBaptiste Daroussin.St -p1003.1-2001
253661d06d6bSBaptiste Daroussin.It \-susv3
253761d06d6bSBaptiste Daroussin.St -susv3
253861d06d6bSBaptiste Daroussin.br
253961d06d6bSBaptiste DaroussinThis standard is based on C99, SUSv2, POSIX.1-1996, 1d, and 1j.
254061d06d6bSBaptiste DaroussinIt is also called X/Open Portability Guide version 6.
254161d06d6bSBaptiste DaroussinIt is used as the basis for UNIX 03 certification.
254261d06d6bSBaptiste Daroussin.Pp
254361d06d6bSBaptiste Daroussin.It \-p1003.1-2004
254461d06d6bSBaptiste Daroussin.St -p1003.1-2004
254561d06d6bSBaptiste Daroussin.br
254661d06d6bSBaptiste DaroussinThe second and last Technical Corrigendum.
254761d06d6bSBaptiste Daroussin.El
254861d06d6bSBaptiste Daroussin.It Single UNIX Specification version 4
254961d06d6bSBaptiste Daroussin.Pp
255061d06d6bSBaptiste Daroussin.Bl -tag -width "-p1003.1g-2000" -compact
255161d06d6bSBaptiste Daroussin.It \-p1003.1-2008
255261d06d6bSBaptiste Daroussin.St -p1003.1-2008
255361d06d6bSBaptiste Daroussin.It \-susv4
255461d06d6bSBaptiste Daroussin.St -susv4
255561d06d6bSBaptiste Daroussin.br
255661d06d6bSBaptiste DaroussinThis standard is also called
255761d06d6bSBaptiste DaroussinX/Open Portability Guide version 7.
255861d06d6bSBaptiste Daroussin.El
255961d06d6bSBaptiste Daroussin.It Other standards
256061d06d6bSBaptiste Daroussin.Pp
256161d06d6bSBaptiste Daroussin.Bl -tag -width "-p1003.1g-2000" -compact
256261d06d6bSBaptiste Daroussin.It \-ieee754
256361d06d6bSBaptiste Daroussin.St -ieee754
256461d06d6bSBaptiste Daroussin.br
256561d06d6bSBaptiste DaroussinFloating-point arithmetic.
256661d06d6bSBaptiste Daroussin.Pp
256761d06d6bSBaptiste Daroussin.It \-iso8601
256861d06d6bSBaptiste Daroussin.St -iso8601
256961d06d6bSBaptiste Daroussin.br
257061d06d6bSBaptiste DaroussinRepresentation of dates and times, published in 1988.
257161d06d6bSBaptiste Daroussin.Pp
257261d06d6bSBaptiste Daroussin.It \-iso8802-3
257361d06d6bSBaptiste Daroussin.St -iso8802-3
257461d06d6bSBaptiste Daroussin.br
257561d06d6bSBaptiste DaroussinEthernet local area networks.
257661d06d6bSBaptiste Daroussin.Pp
257761d06d6bSBaptiste Daroussin.It \-ieee1275-94
257861d06d6bSBaptiste Daroussin.St -ieee1275-94
257961d06d6bSBaptiste Daroussin.El
258061d06d6bSBaptiste Daroussin.El
2581*6d38604fSBaptiste Daroussin.Tg Sx
25827295610fSBaptiste Daroussin.It Ic \&Sx Ar Title line
258361d06d6bSBaptiste DaroussinReference a section or subsection in the same manual page.
258461d06d6bSBaptiste DaroussinThe referenced section or subsection name must be identical to the
258561d06d6bSBaptiste Daroussinenclosed argument, including whitespace.
258661d06d6bSBaptiste Daroussin.Pp
258761d06d6bSBaptiste DaroussinExamples:
258861d06d6bSBaptiste Daroussin.Dl \&.Sx MANUAL STRUCTURE
258961d06d6bSBaptiste Daroussin.Pp
259061d06d6bSBaptiste DaroussinSee also
25917295610fSBaptiste Daroussin.Ic \&Sh
259261d06d6bSBaptiste Daroussinand
25937295610fSBaptiste Daroussin.Ic \&Ss .
2594*6d38604fSBaptiste Daroussin.Tg Sy
25957295610fSBaptiste Daroussin.It Ic \&Sy Ar word ...
259661d06d6bSBaptiste DaroussinRequest a boldface font.
259761d06d6bSBaptiste Daroussin.Pp
259861d06d6bSBaptiste DaroussinThis is most often used to indicate importance or seriousness (not to be
259961d06d6bSBaptiste Daroussinconfused with stress emphasis, see
26007295610fSBaptiste Daroussin.Ic \&Em ) .
260161d06d6bSBaptiste DaroussinWhen none of the semantic macros fit, it is also adequate for syntax
260261d06d6bSBaptiste Daroussinelements that have to be given or that appear verbatim.
260361d06d6bSBaptiste Daroussin.Pp
260461d06d6bSBaptiste DaroussinExamples:
260561d06d6bSBaptiste Daroussin.Bd -literal -compact -offset indent
260661d06d6bSBaptiste Daroussin\&.Sy Warning :
260761d06d6bSBaptiste DaroussinIf
260861d06d6bSBaptiste Daroussin\&.Sy s
260961d06d6bSBaptiste Daroussinappears in the owner permissions, set-user-ID mode is set.
261061d06d6bSBaptiste DaroussinThis utility replaces the former
261161d06d6bSBaptiste Daroussin\&.Sy dumpdir
261261d06d6bSBaptiste Daroussinprogram.
261361d06d6bSBaptiste Daroussin.Ed
261461d06d6bSBaptiste Daroussin.Pp
261561d06d6bSBaptiste DaroussinSee also
26167295610fSBaptiste Daroussin.Ic \&Em ,
26177295610fSBaptiste Daroussin.Ic \&No ,
261861d06d6bSBaptiste Daroussinand
26197295610fSBaptiste Daroussin.Ic \&Ql .
2620*6d38604fSBaptiste Daroussin.Tg Ta
26217295610fSBaptiste Daroussin.It Ic \&Ta
262261d06d6bSBaptiste DaroussinTable cell separator in
26237295610fSBaptiste Daroussin.Ic \&Bl Fl column
262461d06d6bSBaptiste Daroussinlists; can only be used below
26257295610fSBaptiste Daroussin.Ic \&It .
2626*6d38604fSBaptiste Daroussin.Tg Tg
2627*6d38604fSBaptiste Daroussin.It Ic \&Tg Op Ar term
2628*6d38604fSBaptiste DaroussinAnnounce that the next input line starts a definition of the
2629*6d38604fSBaptiste Daroussin.Ar term .
2630*6d38604fSBaptiste DaroussinThis macro must appear alone on its own input line.
2631*6d38604fSBaptiste DaroussinThe argument defaults to the first argument of the first macro
2632*6d38604fSBaptiste Daroussinon the next line.
2633*6d38604fSBaptiste DaroussinThe argument may not contain whitespace characters, not even when it is quoted.
2634*6d38604fSBaptiste DaroussinThis macro is a
2635*6d38604fSBaptiste Daroussin.Xr mandoc 1
2636*6d38604fSBaptiste Daroussinextension and is typically ignored by other formatters.
2637*6d38604fSBaptiste Daroussin.Pp
2638*6d38604fSBaptiste DaroussinWhen viewing terminal output with
2639*6d38604fSBaptiste Daroussin.Xr less 1 ,
2640*6d38604fSBaptiste Daroussinthe interactive
2641*6d38604fSBaptiste Daroussin.Ic :t
2642*6d38604fSBaptiste Daroussincommand can be used to go to the definition of the
2643*6d38604fSBaptiste Daroussin.Ar term
2644*6d38604fSBaptiste Daroussinas described for the
2645*6d38604fSBaptiste Daroussin.Ev MANPAGER
2646*6d38604fSBaptiste Daroussinvariable in
2647*6d38604fSBaptiste Daroussin.Xr man 1 ;
2648*6d38604fSBaptiste Daroussinwhen producing HTML output, a fragment identifier
2649*6d38604fSBaptiste Daroussin.Pq Ic id No attribute
2650*6d38604fSBaptiste Daroussinis generated, to be used for deep linking to this place of the document.
2651*6d38604fSBaptiste Daroussin.Pp
2652*6d38604fSBaptiste DaroussinIn most cases, adding a
2653*6d38604fSBaptiste Daroussin.Ic \&Tg
2654*6d38604fSBaptiste Daroussinmacro would be redundant because
2655*6d38604fSBaptiste Daroussin.Xr mandoc 1
2656*6d38604fSBaptiste Daroussinis able to automatically tag most definitions.
2657*6d38604fSBaptiste DaroussinThis macro is intended for cases where automatic tagging of a
2658*6d38604fSBaptiste Daroussin.Ar term
2659*6d38604fSBaptiste Daroussinis unsatisfactory, for example if a definition is not tagged
2660*6d38604fSBaptiste Daroussinautomatically (false negative) or if places are tagged that do
2661*6d38604fSBaptiste Daroussinnot define the
2662*6d38604fSBaptiste Daroussin.Ar term
2663*6d38604fSBaptiste Daroussin(false positives).
2664*6d38604fSBaptiste DaroussinWhen there is at least one
2665*6d38604fSBaptiste Daroussin.Ic \&Tg
2666*6d38604fSBaptiste Daroussinmacro for a
2667*6d38604fSBaptiste Daroussin.Ar term ,
2668*6d38604fSBaptiste Daroussinno other places are automatically marked as definitions of that
2669*6d38604fSBaptiste Daroussin.Ar term .
26707295610fSBaptiste Daroussin.It Ic \&Tn Ar word ...
267161d06d6bSBaptiste DaroussinSupported only for compatibility, do not use this in new manuals.
267261d06d6bSBaptiste DaroussinEven though the macro name
267361d06d6bSBaptiste Daroussin.Pq Dq tradename
267461d06d6bSBaptiste Daroussinsuggests a semantic function, historic usage is inconsistent, mostly
267561d06d6bSBaptiste Daroussinusing it as a presentation-level macro to request a small caps font.
26767295610fSBaptiste Daroussin.It Ic \&Ud
267761d06d6bSBaptiste DaroussinSupported only for compatibility, do not use this in new manuals.
267861d06d6bSBaptiste DaroussinPrints out
267961d06d6bSBaptiste Daroussin.Dq currently under development.
26807295610fSBaptiste Daroussin.It Ic \&Ux
268161d06d6bSBaptiste DaroussinSupported only for compatibility, do not use this in new manuals.
268261d06d6bSBaptiste DaroussinPrints out
268361d06d6bSBaptiste Daroussin.Dq Ux .
2684*6d38604fSBaptiste Daroussin.Tg Va
26857295610fSBaptiste Daroussin.It Ic \&Va Oo Ar type Oc Ar identifier ...
268661d06d6bSBaptiste DaroussinA variable name.
268761d06d6bSBaptiste Daroussin.Pp
268861d06d6bSBaptiste DaroussinExamples:
268961d06d6bSBaptiste Daroussin.Dl \&.Va foo
269061d06d6bSBaptiste Daroussin.Dl \&.Va const char *bar ;
269161d06d6bSBaptiste Daroussin.Pp
269261d06d6bSBaptiste DaroussinFor function arguments and parameters, use
26937295610fSBaptiste Daroussin.Ic \&Fa
269461d06d6bSBaptiste Daroussininstead.
269561d06d6bSBaptiste DaroussinFor declarations of global variables in the
269661d06d6bSBaptiste Daroussin.Em SYNOPSIS
269761d06d6bSBaptiste Daroussinsection, use
26987295610fSBaptiste Daroussin.Ic \&Vt .
2699*6d38604fSBaptiste Daroussin.Tg Vt
27007295610fSBaptiste Daroussin.It Ic \&Vt Ar type Op Ar identifier
270161d06d6bSBaptiste DaroussinA variable type.
270261d06d6bSBaptiste Daroussin.Pp
270361d06d6bSBaptiste DaroussinThis is also used for indicating global variables in the
270461d06d6bSBaptiste Daroussin.Em SYNOPSIS
270561d06d6bSBaptiste Daroussinsection, in which case a variable name is also specified.
270661d06d6bSBaptiste DaroussinNote that it accepts
270761d06d6bSBaptiste Daroussin.Sx Block partial-implicit
270861d06d6bSBaptiste Daroussinsyntax when invoked as the first macro on an input line in the
270961d06d6bSBaptiste Daroussin.Em SYNOPSIS
271061d06d6bSBaptiste Daroussinsection, else it accepts ordinary
271161d06d6bSBaptiste Daroussin.Sx In-line
271261d06d6bSBaptiste Daroussinsyntax.
271361d06d6bSBaptiste DaroussinIn the former case, this macro starts a new output line,
271461d06d6bSBaptiste Daroussinand a blank line is inserted in front if there is a preceding
271561d06d6bSBaptiste Daroussinfunction definition or include directive.
271661d06d6bSBaptiste Daroussin.Pp
271761d06d6bSBaptiste DaroussinExamples:
271861d06d6bSBaptiste Daroussin.Dl \&.Vt unsigned char
271961d06d6bSBaptiste Daroussin.Dl \&.Vt extern const char * const sys_signame[] \&;
272061d06d6bSBaptiste Daroussin.Pp
272161d06d6bSBaptiste DaroussinFor parameters in function prototypes, use
27227295610fSBaptiste Daroussin.Ic \&Fa
272361d06d6bSBaptiste Daroussininstead, for function return types
27247295610fSBaptiste Daroussin.Ic \&Ft ,
272561d06d6bSBaptiste Daroussinand for variable names outside the
272661d06d6bSBaptiste Daroussin.Em SYNOPSIS
272761d06d6bSBaptiste Daroussinsection
27287295610fSBaptiste Daroussin.Ic \&Va ,
272961d06d6bSBaptiste Daroussineven when including a type with the name.
273061d06d6bSBaptiste DaroussinSee also
273161d06d6bSBaptiste Daroussin.Sx MANUAL STRUCTURE .
27327295610fSBaptiste Daroussin.It Ic \&Xc
273361d06d6bSBaptiste DaroussinClose a scope opened by
27347295610fSBaptiste Daroussin.Ic \&Xo .
27357295610fSBaptiste Daroussin.It Ic \&Xo Ar block
273661d06d6bSBaptiste DaroussinExtend the header of an
27377295610fSBaptiste Daroussin.Ic \&It
273861d06d6bSBaptiste Daroussinmacro or the body of a partial-implicit block macro
273961d06d6bSBaptiste Daroussinbeyond the end of the input line.
274061d06d6bSBaptiste DaroussinThis macro originally existed to work around the 9-argument limit
274161d06d6bSBaptiste Daroussinof historic
274261d06d6bSBaptiste Daroussin.Xr roff 7 .
2743*6d38604fSBaptiste Daroussin.Tg Xr
27447295610fSBaptiste Daroussin.It Ic \&Xr Ar name section
274561d06d6bSBaptiste DaroussinLink to another manual
274661d06d6bSBaptiste Daroussin.Pq Qq cross-reference .
274761d06d6bSBaptiste Daroussin.Pp
274861d06d6bSBaptiste DaroussinCross reference the
274961d06d6bSBaptiste Daroussin.Ar name
275061d06d6bSBaptiste Daroussinand
275161d06d6bSBaptiste Daroussin.Ar section
275261d06d6bSBaptiste Daroussinnumber of another man page.
275361d06d6bSBaptiste Daroussin.Pp
275461d06d6bSBaptiste DaroussinExamples:
275561d06d6bSBaptiste Daroussin.Dl \&.Xr mandoc 1
275661d06d6bSBaptiste Daroussin.Dl \&.Xr mandoc 1 \&;
275761d06d6bSBaptiste Daroussin.Dl \&.Xr mandoc 1 \&Ns s behaviour
27587295610fSBaptiste Daroussin.El
275961d06d6bSBaptiste Daroussin.Sh MACRO SYNTAX
276061d06d6bSBaptiste DaroussinThe syntax of a macro depends on its classification.
276161d06d6bSBaptiste DaroussinIn this section,
276261d06d6bSBaptiste Daroussin.Sq \-arg
276361d06d6bSBaptiste Daroussinrefers to macro arguments, which may be followed by zero or more
276461d06d6bSBaptiste Daroussin.Sq parm
276561d06d6bSBaptiste Daroussinparameters;
276661d06d6bSBaptiste Daroussin.Sq \&Yo
276761d06d6bSBaptiste Daroussinopens the scope of a macro; and if specified,
276861d06d6bSBaptiste Daroussin.Sq \&Yc
276961d06d6bSBaptiste Daroussincloses it out.
277061d06d6bSBaptiste Daroussin.Pp
277161d06d6bSBaptiste DaroussinThe
277261d06d6bSBaptiste Daroussin.Em Callable
277361d06d6bSBaptiste Daroussincolumn indicates that the macro may also be called by passing its name
277461d06d6bSBaptiste Daroussinas an argument to another macro.
277561d06d6bSBaptiste DaroussinFor example,
277661d06d6bSBaptiste Daroussin.Sq \&.Op \&Fl O \&Ar file
277761d06d6bSBaptiste Daroussinproduces
277861d06d6bSBaptiste Daroussin.Sq Op Fl O Ar file .
277961d06d6bSBaptiste DaroussinTo prevent a macro call and render the macro name literally,
278061d06d6bSBaptiste Daroussinescape it by prepending a zero-width space,
278161d06d6bSBaptiste Daroussin.Sq \e& .
278261d06d6bSBaptiste DaroussinFor example,
278361d06d6bSBaptiste Daroussin.Sq \&Op \e&Fl O
278461d06d6bSBaptiste Daroussinproduces
278561d06d6bSBaptiste Daroussin.Sq Op \&Fl O .
278661d06d6bSBaptiste DaroussinIf a macro is not callable but its name appears as an argument
278761d06d6bSBaptiste Daroussinto another macro, it is interpreted as opaque text.
278861d06d6bSBaptiste DaroussinFor example,
278961d06d6bSBaptiste Daroussin.Sq \&.Fl \&Sh
279061d06d6bSBaptiste Daroussinproduces
279161d06d6bSBaptiste Daroussin.Sq Fl \&Sh .
279261d06d6bSBaptiste Daroussin.Pp
279361d06d6bSBaptiste DaroussinThe
279461d06d6bSBaptiste Daroussin.Em Parsed
279561d06d6bSBaptiste Daroussincolumn indicates whether the macro may call other macros by receiving
279661d06d6bSBaptiste Daroussintheir names as arguments.
279761d06d6bSBaptiste DaroussinIf a macro is not parsed but the name of another macro appears
279861d06d6bSBaptiste Daroussinas an argument, it is interpreted as opaque text.
279961d06d6bSBaptiste Daroussin.Pp
280061d06d6bSBaptiste DaroussinThe
280161d06d6bSBaptiste Daroussin.Em Scope
280261d06d6bSBaptiste Daroussincolumn, if applicable, describes closure rules.
280361d06d6bSBaptiste Daroussin.Ss Block full-explicit
280461d06d6bSBaptiste DaroussinMulti-line scope closed by an explicit closing macro.
280561d06d6bSBaptiste DaroussinAll macros contains bodies; only
2806*6d38604fSBaptiste Daroussin.Ic \&Bf
280761d06d6bSBaptiste Daroussinand
280861d06d6bSBaptiste Daroussin.Pq optionally
28097295610fSBaptiste Daroussin.Ic \&Bl
281061d06d6bSBaptiste Daroussincontain a head.
281161d06d6bSBaptiste Daroussin.Bd -literal -offset indent
281261d06d6bSBaptiste Daroussin\&.Yo \(lB\-arg \(lBparm...\(rB\(rB \(lBhead...\(rB
281361d06d6bSBaptiste Daroussin\(lBbody...\(rB
281461d06d6bSBaptiste Daroussin\&.Yc
281561d06d6bSBaptiste Daroussin.Ed
281661d06d6bSBaptiste Daroussin.Bl -column "MacroX" "CallableX" "ParsedX" "closed by XXX" -offset indent
281761d06d6bSBaptiste Daroussin.It Em Macro Ta Em Callable Ta Em Parsed Ta Em Scope
28187295610fSBaptiste Daroussin.It Ic \&Bd  Ta    \&No     Ta    \&No     Ta    closed by Ic \&Ed
28197295610fSBaptiste Daroussin.It Ic \&Bf  Ta    \&No     Ta    \&No     Ta    closed by Ic \&Ef
28207295610fSBaptiste Daroussin.It Ic \&Bk  Ta    \&No     Ta    \&No     Ta    closed by Ic \&Ek
28217295610fSBaptiste Daroussin.It Ic \&Bl  Ta    \&No     Ta    \&No     Ta    closed by Ic \&El
28227295610fSBaptiste Daroussin.It Ic \&Ed  Ta    \&No     Ta    \&No     Ta    opened by Ic \&Bd
28237295610fSBaptiste Daroussin.It Ic \&Ef  Ta    \&No     Ta    \&No     Ta    opened by Ic \&Bf
28247295610fSBaptiste Daroussin.It Ic \&Ek  Ta    \&No     Ta    \&No     Ta    opened by Ic \&Bk
28257295610fSBaptiste Daroussin.It Ic \&El  Ta    \&No     Ta    \&No     Ta    opened by Ic \&Bl
282661d06d6bSBaptiste Daroussin.El
282761d06d6bSBaptiste Daroussin.Ss Block full-implicit
282861d06d6bSBaptiste DaroussinMulti-line scope closed by end-of-file or implicitly by another macro.
282961d06d6bSBaptiste DaroussinAll macros have bodies; some
283061d06d6bSBaptiste Daroussin.Po
28317295610fSBaptiste Daroussin.Ic \&It Fl bullet ,
283261d06d6bSBaptiste Daroussin.Fl hyphen ,
283361d06d6bSBaptiste Daroussin.Fl dash ,
283461d06d6bSBaptiste Daroussin.Fl enum ,
283561d06d6bSBaptiste Daroussin.Fl item
283661d06d6bSBaptiste Daroussin.Pc
283761d06d6bSBaptiste Daroussindon't have heads; only one
283861d06d6bSBaptiste Daroussin.Po
28397295610fSBaptiste Daroussin.Ic \&It
284061d06d6bSBaptiste Daroussinin
28417295610fSBaptiste Daroussin.Ic \&Bl Fl column
284261d06d6bSBaptiste Daroussin.Pc
284361d06d6bSBaptiste Daroussinhas multiple heads.
284461d06d6bSBaptiste Daroussin.Bd -literal -offset indent
284561d06d6bSBaptiste Daroussin\&.Yo \(lB\-arg \(lBparm...\(rB\(rB \(lBhead... \(lBTa head...\(rB\(rB
284661d06d6bSBaptiste Daroussin\(lBbody...\(rB
284761d06d6bSBaptiste Daroussin.Ed
284861d06d6bSBaptiste Daroussin.Bl -column "MacroX" "CallableX" "ParsedX" "closed by XXXXXXXXXXX" -offset indent
284961d06d6bSBaptiste Daroussin.It Em Macro Ta Em Callable Ta Em Parsed Ta Em Scope
28507295610fSBaptiste Daroussin.It Ic \&It Ta \&No Ta Yes  Ta closed by Ic \&It , Ic \&El
28517295610fSBaptiste Daroussin.It Ic \&Nd Ta \&No Ta \&No Ta closed by Ic \&Sh
28527295610fSBaptiste Daroussin.It Ic \&Nm Ta \&No Ta Yes  Ta closed by Ic \&Nm , Ic \&Sh , Ic \&Ss
28537295610fSBaptiste Daroussin.It Ic \&Sh Ta \&No Ta Yes  Ta closed by Ic \&Sh
28547295610fSBaptiste Daroussin.It Ic \&Ss Ta \&No Ta Yes  Ta closed by Ic \&Sh , Ic \&Ss
285561d06d6bSBaptiste Daroussin.El
285661d06d6bSBaptiste Daroussin.Pp
285761d06d6bSBaptiste DaroussinNote that the
28587295610fSBaptiste Daroussin.Ic \&Nm
285961d06d6bSBaptiste Daroussinmacro is a
286061d06d6bSBaptiste Daroussin.Sx Block full-implicit
286161d06d6bSBaptiste Daroussinmacro only when invoked as the first macro
286261d06d6bSBaptiste Daroussinin a
286361d06d6bSBaptiste Daroussin.Em SYNOPSIS
286461d06d6bSBaptiste Daroussinsection line, else it is
286561d06d6bSBaptiste Daroussin.Sx In-line .
286661d06d6bSBaptiste Daroussin.Ss Block partial-explicit
286761d06d6bSBaptiste DaroussinLike block full-explicit, but also with single-line scope.
286861d06d6bSBaptiste DaroussinEach has at least a body and, in limited circumstances, a head
286961d06d6bSBaptiste Daroussin.Po
28707295610fSBaptiste Daroussin.Ic \&Fo ,
28717295610fSBaptiste Daroussin.Ic \&Eo
287261d06d6bSBaptiste Daroussin.Pc
287361d06d6bSBaptiste Daroussinand/or tail
28747295610fSBaptiste Daroussin.Pq Ic \&Ec .
287561d06d6bSBaptiste Daroussin.Bd -literal -offset indent
287661d06d6bSBaptiste Daroussin\&.Yo \(lB\-arg \(lBparm...\(rB\(rB \(lBhead...\(rB
287761d06d6bSBaptiste Daroussin\(lBbody...\(rB
287861d06d6bSBaptiste Daroussin\&.Yc \(lBtail...\(rB
287961d06d6bSBaptiste Daroussin
288061d06d6bSBaptiste Daroussin\&.Yo \(lB\-arg \(lBparm...\(rB\(rB \(lBhead...\(rB \
288161d06d6bSBaptiste Daroussin\(lBbody...\(rB \&Yc \(lBtail...\(rB
288261d06d6bSBaptiste Daroussin.Ed
288361d06d6bSBaptiste Daroussin.Bl -column "MacroX" "CallableX" "ParsedX" "closed by XXXX" -offset indent
288461d06d6bSBaptiste Daroussin.It Em Macro Ta Em Callable Ta Em Parsed Ta Em Scope
28857295610fSBaptiste Daroussin.It Ic \&Ac  Ta    Yes      Ta    Yes      Ta    opened by Ic \&Ao
28867295610fSBaptiste Daroussin.It Ic \&Ao  Ta    Yes      Ta    Yes      Ta    closed by Ic \&Ac
28877295610fSBaptiste Daroussin.It Ic \&Bc  Ta    Yes      Ta    Yes      Ta    closed by Ic \&Bo
28887295610fSBaptiste Daroussin.It Ic \&Bo  Ta    Yes      Ta    Yes      Ta    opened by Ic \&Bc
28897295610fSBaptiste Daroussin.It Ic \&Brc Ta    Yes      Ta    Yes      Ta    opened by Ic \&Bro
28907295610fSBaptiste Daroussin.It Ic \&Bro Ta    Yes      Ta    Yes      Ta    closed by Ic \&Brc
28917295610fSBaptiste Daroussin.It Ic \&Dc  Ta    Yes      Ta    Yes      Ta    opened by Ic \&Do
28927295610fSBaptiste Daroussin.It Ic \&Do  Ta    Yes      Ta    Yes      Ta    closed by Ic \&Dc
28937295610fSBaptiste Daroussin.It Ic \&Ec  Ta    Yes      Ta    Yes      Ta    opened by Ic \&Eo
28947295610fSBaptiste Daroussin.It Ic \&Eo  Ta    Yes      Ta    Yes      Ta    closed by Ic \&Ec
28957295610fSBaptiste Daroussin.It Ic \&Fc  Ta    Yes      Ta    Yes      Ta    opened by Ic \&Fo
28967295610fSBaptiste Daroussin.It Ic \&Fo  Ta    \&No     Ta    \&No     Ta    closed by Ic \&Fc
28977295610fSBaptiste Daroussin.It Ic \&Oc  Ta    Yes      Ta    Yes      Ta    closed by Ic \&Oo
28987295610fSBaptiste Daroussin.It Ic \&Oo  Ta    Yes      Ta    Yes      Ta    opened by Ic \&Oc
28997295610fSBaptiste Daroussin.It Ic \&Pc  Ta    Yes      Ta    Yes      Ta    closed by Ic \&Po
29007295610fSBaptiste Daroussin.It Ic \&Po  Ta    Yes      Ta    Yes      Ta    opened by Ic \&Pc
29017295610fSBaptiste Daroussin.It Ic \&Qc  Ta    Yes      Ta    Yes      Ta    opened by Ic \&Oo
29027295610fSBaptiste Daroussin.It Ic \&Qo  Ta    Yes      Ta    Yes      Ta    closed by Ic \&Oc
29037295610fSBaptiste Daroussin.It Ic \&Re  Ta    \&No     Ta    \&No     Ta    opened by Ic \&Rs
29047295610fSBaptiste Daroussin.It Ic \&Rs  Ta    \&No     Ta    \&No     Ta    closed by Ic \&Re
29057295610fSBaptiste Daroussin.It Ic \&Sc  Ta    Yes      Ta    Yes      Ta    opened by Ic \&So
29067295610fSBaptiste Daroussin.It Ic \&So  Ta    Yes      Ta    Yes      Ta    closed by Ic \&Sc
29077295610fSBaptiste Daroussin.It Ic \&Xc  Ta    Yes      Ta    Yes      Ta    opened by Ic \&Xo
29087295610fSBaptiste Daroussin.It Ic \&Xo  Ta    Yes      Ta    Yes      Ta    closed by Ic \&Xc
290961d06d6bSBaptiste Daroussin.El
291061d06d6bSBaptiste Daroussin.Ss Block partial-implicit
291161d06d6bSBaptiste DaroussinLike block full-implicit, but with single-line scope closed by the
291261d06d6bSBaptiste Daroussinend of the line.
291361d06d6bSBaptiste Daroussin.Bd -literal -offset indent
291461d06d6bSBaptiste Daroussin\&.Yo \(lB\-arg \(lBval...\(rB\(rB \(lBbody...\(rB \(lBres...\(rB
291561d06d6bSBaptiste Daroussin.Ed
291661d06d6bSBaptiste Daroussin.Bl -column "MacroX" "CallableX" "ParsedX" -offset indent
291761d06d6bSBaptiste Daroussin.It Em Macro Ta Em Callable Ta Em Parsed
29187295610fSBaptiste Daroussin.It Ic \&Aq  Ta    Yes      Ta    Yes
29197295610fSBaptiste Daroussin.It Ic \&Bq  Ta    Yes      Ta    Yes
29207295610fSBaptiste Daroussin.It Ic \&Brq Ta    Yes      Ta    Yes
29217295610fSBaptiste Daroussin.It Ic \&D1  Ta    \&No     Ta    \&Yes
29227295610fSBaptiste Daroussin.It Ic \&Dl  Ta    \&No     Ta    Yes
29237295610fSBaptiste Daroussin.It Ic \&Dq  Ta    Yes      Ta    Yes
29247295610fSBaptiste Daroussin.It Ic \&En  Ta    Yes      Ta    Yes
29257295610fSBaptiste Daroussin.It Ic \&Op  Ta    Yes      Ta    Yes
29267295610fSBaptiste Daroussin.It Ic \&Pq  Ta    Yes      Ta    Yes
29277295610fSBaptiste Daroussin.It Ic \&Ql  Ta    Yes      Ta    Yes
29287295610fSBaptiste Daroussin.It Ic \&Qq  Ta    Yes      Ta    Yes
29297295610fSBaptiste Daroussin.It Ic \&Sq  Ta    Yes      Ta    Yes
29307295610fSBaptiste Daroussin.It Ic \&Vt  Ta    Yes      Ta    Yes
293161d06d6bSBaptiste Daroussin.El
293261d06d6bSBaptiste Daroussin.Pp
293361d06d6bSBaptiste DaroussinNote that the
29347295610fSBaptiste Daroussin.Ic \&Vt
293561d06d6bSBaptiste Daroussinmacro is a
293661d06d6bSBaptiste Daroussin.Sx Block partial-implicit
293761d06d6bSBaptiste Daroussinonly when invoked as the first macro
293861d06d6bSBaptiste Daroussinin a
293961d06d6bSBaptiste Daroussin.Em SYNOPSIS
294061d06d6bSBaptiste Daroussinsection line, else it is
294161d06d6bSBaptiste Daroussin.Sx In-line .
294261d06d6bSBaptiste Daroussin.Ss Special block macro
294361d06d6bSBaptiste DaroussinThe
29447295610fSBaptiste Daroussin.Ic \&Ta
294561d06d6bSBaptiste Daroussinmacro can only be used below
29467295610fSBaptiste Daroussin.Ic \&It
294761d06d6bSBaptiste Daroussinin
29487295610fSBaptiste Daroussin.Ic \&Bl Fl column
294961d06d6bSBaptiste Daroussinlists.
295061d06d6bSBaptiste DaroussinIt delimits blocks representing table cells;
295161d06d6bSBaptiste Daroussinthese blocks have bodies, but no heads.
295261d06d6bSBaptiste Daroussin.Bl -column "MacroX" "CallableX" "ParsedX" "closed by XXXX" -offset indent
295361d06d6bSBaptiste Daroussin.It Em Macro Ta Em Callable Ta Em Parsed Ta Em Scope
29547295610fSBaptiste Daroussin.It Ic \&Ta  Ta    Yes      Ta    Yes    Ta closed by Ic \&Ta , Ic \&It
295561d06d6bSBaptiste Daroussin.El
295661d06d6bSBaptiste Daroussin.Ss In-line
295761d06d6bSBaptiste DaroussinClosed by the end of the line, fixed argument lengths,
295861d06d6bSBaptiste Daroussinand/or subsequent macros.
295961d06d6bSBaptiste DaroussinIn-line macros have only text children.
296061d06d6bSBaptiste DaroussinIf a number (or inequality) of arguments is
296161d06d6bSBaptiste Daroussin.Pq n ,
296261d06d6bSBaptiste Daroussinthen the macro accepts an arbitrary number of arguments.
296361d06d6bSBaptiste Daroussin.Bd -literal -offset indent
296461d06d6bSBaptiste Daroussin\&.Yo \(lB\-arg \(lBval...\(rB\(rB \(lBargs...\(rB \(lBres...\(rB
296561d06d6bSBaptiste Daroussin
296661d06d6bSBaptiste Daroussin\&.Yo \(lB\-arg \(lBval...\(rB\(rB \(lBargs...\(rB Yc...
296761d06d6bSBaptiste Daroussin
296861d06d6bSBaptiste Daroussin\&.Yo \(lB\-arg \(lBval...\(rB\(rB arg0 arg1 argN
296961d06d6bSBaptiste Daroussin.Ed
297061d06d6bSBaptiste Daroussin.Bl -column "MacroX" "CallableX" "ParsedX" "Arguments" -offset indent
297161d06d6bSBaptiste Daroussin.It Em Macro Ta Em Callable Ta Em Parsed Ta Em Arguments
29727295610fSBaptiste Daroussin.It Ic \&%A  Ta    \&No     Ta    \&No     Ta    >0
29737295610fSBaptiste Daroussin.It Ic \&%B  Ta    \&No     Ta    \&No     Ta    >0
29747295610fSBaptiste Daroussin.It Ic \&%C  Ta    \&No     Ta    \&No     Ta    >0
29757295610fSBaptiste Daroussin.It Ic \&%D  Ta    \&No     Ta    \&No     Ta    >0
29767295610fSBaptiste Daroussin.It Ic \&%I  Ta    \&No     Ta    \&No     Ta    >0
29777295610fSBaptiste Daroussin.It Ic \&%J  Ta    \&No     Ta    \&No     Ta    >0
29787295610fSBaptiste Daroussin.It Ic \&%N  Ta    \&No     Ta    \&No     Ta    >0
29797295610fSBaptiste Daroussin.It Ic \&%O  Ta    \&No     Ta    \&No     Ta    >0
29807295610fSBaptiste Daroussin.It Ic \&%P  Ta    \&No     Ta    \&No     Ta    >0
29817295610fSBaptiste Daroussin.It Ic \&%Q  Ta    \&No     Ta    \&No     Ta    >0
29827295610fSBaptiste Daroussin.It Ic \&%R  Ta    \&No     Ta    \&No     Ta    >0
29837295610fSBaptiste Daroussin.It Ic \&%T  Ta    \&No     Ta    \&No     Ta    >0
29847295610fSBaptiste Daroussin.It Ic \&%U  Ta    \&No     Ta    \&No     Ta    >0
29857295610fSBaptiste Daroussin.It Ic \&%V  Ta    \&No     Ta    \&No     Ta    >0
29867295610fSBaptiste Daroussin.It Ic \&Ad  Ta    Yes      Ta    Yes      Ta    >0
29877295610fSBaptiste Daroussin.It Ic \&An  Ta    Yes      Ta    Yes      Ta    >0
29887295610fSBaptiste Daroussin.It Ic \&Ap  Ta    Yes      Ta    Yes      Ta    0
29897295610fSBaptiste Daroussin.It Ic \&Ar  Ta    Yes      Ta    Yes      Ta    n
29907295610fSBaptiste Daroussin.It Ic \&At  Ta    Yes      Ta    Yes      Ta    1
29917295610fSBaptiste Daroussin.It Ic \&Bsx Ta    Yes      Ta    Yes      Ta    n
29927295610fSBaptiste Daroussin.It Ic \&Bt  Ta    \&No     Ta    \&No     Ta    0
29937295610fSBaptiste Daroussin.It Ic \&Bx  Ta    Yes      Ta    Yes      Ta    n
29947295610fSBaptiste Daroussin.It Ic \&Cd  Ta    Yes      Ta    Yes      Ta    >0
29957295610fSBaptiste Daroussin.It Ic \&Cm  Ta    Yes      Ta    Yes      Ta    >0
29967295610fSBaptiste Daroussin.It Ic \&Db  Ta    \&No     Ta    \&No     Ta    1
29977295610fSBaptiste Daroussin.It Ic \&Dd  Ta    \&No     Ta    \&No     Ta    n
29987295610fSBaptiste Daroussin.It Ic \&Dt  Ta    \&No     Ta    \&No     Ta    n
29997295610fSBaptiste Daroussin.It Ic \&Dv  Ta    Yes      Ta    Yes      Ta    >0
30007295610fSBaptiste Daroussin.It Ic \&Dx  Ta    Yes      Ta    Yes      Ta    n
30017295610fSBaptiste Daroussin.It Ic \&Em  Ta    Yes      Ta    Yes      Ta    >0
30027295610fSBaptiste Daroussin.It Ic \&Er  Ta    Yes      Ta    Yes      Ta    >0
30037295610fSBaptiste Daroussin.It Ic \&Es  Ta    Yes      Ta    Yes      Ta    2
30047295610fSBaptiste Daroussin.It Ic \&Ev  Ta    Yes      Ta    Yes      Ta    >0
30057295610fSBaptiste Daroussin.It Ic \&Ex  Ta    \&No     Ta    \&No     Ta    n
30067295610fSBaptiste Daroussin.It Ic \&Fa  Ta    Yes      Ta    Yes      Ta    >0
30077295610fSBaptiste Daroussin.It Ic \&Fd  Ta    \&No     Ta    \&No     Ta    >0
30087295610fSBaptiste Daroussin.It Ic \&Fl  Ta    Yes      Ta    Yes      Ta    n
30097295610fSBaptiste Daroussin.It Ic \&Fn  Ta    Yes      Ta    Yes      Ta    >0
30107295610fSBaptiste Daroussin.It Ic \&Fr  Ta    Yes      Ta    Yes      Ta    >0
30117295610fSBaptiste Daroussin.It Ic \&Ft  Ta    Yes      Ta    Yes      Ta    >0
30127295610fSBaptiste Daroussin.It Ic \&Fx  Ta    Yes      Ta    Yes      Ta    n
30137295610fSBaptiste Daroussin.It Ic \&Hf  Ta    \&No     Ta    \&No     Ta    n
30147295610fSBaptiste Daroussin.It Ic \&Ic  Ta    Yes      Ta    Yes      Ta    >0
30157295610fSBaptiste Daroussin.It Ic \&In  Ta    \&No     Ta    \&No     Ta    1
30167295610fSBaptiste Daroussin.It Ic \&Lb  Ta    \&No     Ta    \&No     Ta    1
30177295610fSBaptiste Daroussin.It Ic \&Li  Ta    Yes      Ta    Yes      Ta    >0
30187295610fSBaptiste Daroussin.It Ic \&Lk  Ta    Yes      Ta    Yes      Ta    >0
30197295610fSBaptiste Daroussin.It Ic \&Lp  Ta    \&No     Ta    \&No     Ta    0
30207295610fSBaptiste Daroussin.It Ic \&Ms  Ta    Yes      Ta    Yes      Ta    >0
30217295610fSBaptiste Daroussin.It Ic \&Mt  Ta    Yes      Ta    Yes      Ta    >0
30227295610fSBaptiste Daroussin.It Ic \&Nm  Ta    Yes      Ta    Yes      Ta    n
30237295610fSBaptiste Daroussin.It Ic \&No  Ta    Yes      Ta    Yes      Ta    >0
30247295610fSBaptiste Daroussin.It Ic \&Ns  Ta    Yes      Ta    Yes      Ta    0
30257295610fSBaptiste Daroussin.It Ic \&Nx  Ta    Yes      Ta    Yes      Ta    n
30267295610fSBaptiste Daroussin.It Ic \&Os  Ta    \&No     Ta    \&No     Ta    n
30277295610fSBaptiste Daroussin.It Ic \&Ot  Ta    Yes      Ta    Yes      Ta    >0
30287295610fSBaptiste Daroussin.It Ic \&Ox  Ta    Yes      Ta    Yes      Ta    n
30297295610fSBaptiste Daroussin.It Ic \&Pa  Ta    Yes      Ta    Yes      Ta    n
30307295610fSBaptiste Daroussin.It Ic \&Pf  Ta    Yes      Ta    Yes      Ta    1
30317295610fSBaptiste Daroussin.It Ic \&Pp  Ta    \&No     Ta    \&No     Ta    0
30327295610fSBaptiste Daroussin.It Ic \&Rv  Ta    \&No     Ta    \&No     Ta    n
30337295610fSBaptiste Daroussin.It Ic \&Sm  Ta    \&No     Ta    \&No     Ta    <2
30347295610fSBaptiste Daroussin.It Ic \&St  Ta    \&No     Ta    Yes      Ta    1
30357295610fSBaptiste Daroussin.It Ic \&Sx  Ta    Yes      Ta    Yes      Ta    >0
30367295610fSBaptiste Daroussin.It Ic \&Sy  Ta    Yes      Ta    Yes      Ta    >0
3037*6d38604fSBaptiste Daroussin.It Ic \&Tg  Ta    \&No     Ta    \&No     Ta    <2
30387295610fSBaptiste Daroussin.It Ic \&Tn  Ta    Yes      Ta    Yes      Ta    >0
30397295610fSBaptiste Daroussin.It Ic \&Ud  Ta    \&No     Ta    \&No     Ta    0
30407295610fSBaptiste Daroussin.It Ic \&Ux  Ta    Yes      Ta    Yes      Ta    n
30417295610fSBaptiste Daroussin.It Ic \&Va  Ta    Yes      Ta    Yes      Ta    n
30427295610fSBaptiste Daroussin.It Ic \&Vt  Ta    Yes      Ta    Yes      Ta    >0
30437295610fSBaptiste Daroussin.It Ic \&Xr  Ta    Yes      Ta    Yes      Ta    2
304461d06d6bSBaptiste Daroussin.El
304561d06d6bSBaptiste Daroussin.Ss Delimiters
304661d06d6bSBaptiste DaroussinWhen a macro argument consists of one single input character
304761d06d6bSBaptiste Daroussinconsidered as a delimiter, the argument gets special handling.
304861d06d6bSBaptiste DaroussinThis does not apply when delimiters appear in arguments containing
304961d06d6bSBaptiste Daroussinmore than one character.
305061d06d6bSBaptiste DaroussinConsequently, to prevent special handling and just handle it
305161d06d6bSBaptiste Daroussinlike any other argument, a delimiter can be escaped by prepending
305261d06d6bSBaptiste Daroussina zero-width space
305361d06d6bSBaptiste Daroussin.Pq Sq \e& .
305461d06d6bSBaptiste DaroussinIn text lines, delimiters never need escaping, but may be used
305561d06d6bSBaptiste Daroussinas normal punctuation.
305661d06d6bSBaptiste Daroussin.Pp
305761d06d6bSBaptiste DaroussinFor many macros, when the leading arguments are opening delimiters,
305861d06d6bSBaptiste Daroussinthese delimiters are put before the macro scope,
305961d06d6bSBaptiste Daroussinand when the trailing arguments are closing delimiters,
306061d06d6bSBaptiste Daroussinthese delimiters are put after the macro scope.
306161d06d6bSBaptiste DaroussinSpacing is suppressed after opening delimiters
306261d06d6bSBaptiste Daroussinand before closing delimiters.
306361d06d6bSBaptiste DaroussinFor example,
306461d06d6bSBaptiste Daroussin.Pp
306561d06d6bSBaptiste Daroussin.D1 Pf \. \&Aq "( [ word ] ) ."
306661d06d6bSBaptiste Daroussin.Pp
306761d06d6bSBaptiste Daroussinrenders as:
306861d06d6bSBaptiste Daroussin.Pp
306961d06d6bSBaptiste Daroussin.D1 Aq ( [ word ] ) .
307061d06d6bSBaptiste Daroussin.Pp
307161d06d6bSBaptiste DaroussinOpening delimiters are:
307261d06d6bSBaptiste Daroussin.Pp
307361d06d6bSBaptiste Daroussin.Bl -tag -width Ds -offset indent -compact
307461d06d6bSBaptiste Daroussin.It \&(
307561d06d6bSBaptiste Daroussinleft parenthesis
307661d06d6bSBaptiste Daroussin.It \&[
307761d06d6bSBaptiste Daroussinleft bracket
307861d06d6bSBaptiste Daroussin.El
307961d06d6bSBaptiste Daroussin.Pp
308061d06d6bSBaptiste DaroussinClosing delimiters are:
308161d06d6bSBaptiste Daroussin.Pp
308261d06d6bSBaptiste Daroussin.Bl -tag -width Ds -offset indent -compact
308361d06d6bSBaptiste Daroussin.It \&.
308461d06d6bSBaptiste Daroussinperiod
308561d06d6bSBaptiste Daroussin.It \&,
308661d06d6bSBaptiste Daroussincomma
308761d06d6bSBaptiste Daroussin.It \&:
308861d06d6bSBaptiste Daroussincolon
308961d06d6bSBaptiste Daroussin.It \&;
309061d06d6bSBaptiste Daroussinsemicolon
309161d06d6bSBaptiste Daroussin.It \&)
309261d06d6bSBaptiste Daroussinright parenthesis
309361d06d6bSBaptiste Daroussin.It \&]
309461d06d6bSBaptiste Daroussinright bracket
309561d06d6bSBaptiste Daroussin.It \&?
309661d06d6bSBaptiste Daroussinquestion mark
309761d06d6bSBaptiste Daroussin.It \&!
309861d06d6bSBaptiste Daroussinexclamation mark
309961d06d6bSBaptiste Daroussin.El
310061d06d6bSBaptiste Daroussin.Pp
310161d06d6bSBaptiste DaroussinNote that even a period preceded by a backslash
310261d06d6bSBaptiste Daroussin.Pq Sq \e.\&
310361d06d6bSBaptiste Daroussingets this special handling; use
310445a5aec3SBaptiste Daroussin.Sq \e&.\&
310561d06d6bSBaptiste Daroussinto prevent that.
310661d06d6bSBaptiste Daroussin.Pp
310761d06d6bSBaptiste DaroussinMany in-line macros interrupt their scope when they encounter
310861d06d6bSBaptiste Daroussindelimiters, and resume their scope when more arguments follow that
310961d06d6bSBaptiste Daroussinare not delimiters.
311061d06d6bSBaptiste DaroussinFor example,
311161d06d6bSBaptiste Daroussin.Pp
311261d06d6bSBaptiste Daroussin.D1 Pf \. \&Fl "a ( b | c \e*(Ba d ) e"
311361d06d6bSBaptiste Daroussin.Pp
311461d06d6bSBaptiste Daroussinrenders as:
311561d06d6bSBaptiste Daroussin.Pp
311661d06d6bSBaptiste Daroussin.D1 Fl a ( b | c \*(Ba d ) e
311761d06d6bSBaptiste Daroussin.Pp
311861d06d6bSBaptiste DaroussinThis applies to both opening and closing delimiters,
311961d06d6bSBaptiste Daroussinand also to the middle delimiter, which does not suppress spacing:
312061d06d6bSBaptiste Daroussin.Pp
312161d06d6bSBaptiste Daroussin.Bl -tag -width Ds -offset indent -compact
312261d06d6bSBaptiste Daroussin.It \&|
312361d06d6bSBaptiste Daroussinvertical bar
312461d06d6bSBaptiste Daroussin.El
312561d06d6bSBaptiste Daroussin.Pp
312661d06d6bSBaptiste DaroussinAs a special case, the predefined string \e*(Ba is handled and rendered
312761d06d6bSBaptiste Daroussinin the same way as a plain
312861d06d6bSBaptiste Daroussin.Sq \&|
312961d06d6bSBaptiste Daroussincharacter.
313061d06d6bSBaptiste DaroussinUsing this predefined string is not recommended in new manuals.
313145a5aec3SBaptiste Daroussin.Pp
313245a5aec3SBaptiste DaroussinAppending a zero-width space
313345a5aec3SBaptiste Daroussin.Pq Sq \e&
313445a5aec3SBaptiste Daroussinto the end of an input line is also useful to prevent the interpretation
313545a5aec3SBaptiste Daroussinof a trailing period, exclamation or question mark as the end of a
313645a5aec3SBaptiste Daroussinsentence, for example when an abbreviation happens to occur
313745a5aec3SBaptiste Daroussinat the end of a text or macro input line.
313861d06d6bSBaptiste Daroussin.Ss Font handling
313961d06d6bSBaptiste DaroussinIn
314061d06d6bSBaptiste Daroussin.Nm
314161d06d6bSBaptiste Daroussindocuments, usage of semantic markup is recommended in order to have
314261d06d6bSBaptiste Daroussinproper fonts automatically selected; only when no fitting semantic markup
314361d06d6bSBaptiste Daroussinis available, consider falling back to
314461d06d6bSBaptiste Daroussin.Sx Physical markup
314561d06d6bSBaptiste Daroussinmacros.
314661d06d6bSBaptiste DaroussinWhenever any
314761d06d6bSBaptiste Daroussin.Nm
314861d06d6bSBaptiste Daroussinmacro switches the
314961d06d6bSBaptiste Daroussin.Xr roff 7
315061d06d6bSBaptiste Daroussinfont mode, it will automatically restore the previous font when exiting
315161d06d6bSBaptiste Daroussinits scope.
315261d06d6bSBaptiste DaroussinManually switching the font using the
315361d06d6bSBaptiste Daroussin.Xr roff 7
315461d06d6bSBaptiste Daroussin.Ql \ef
315561d06d6bSBaptiste Daroussinfont escape sequences is never required.
315661d06d6bSBaptiste Daroussin.Sh COMPATIBILITY
315761d06d6bSBaptiste DaroussinThis section provides an incomplete list of compatibility issues
315861d06d6bSBaptiste Daroussinbetween mandoc and GNU troff
315961d06d6bSBaptiste Daroussin.Pq Qq groff .
316061d06d6bSBaptiste Daroussin.Pp
316161d06d6bSBaptiste DaroussinThe following problematic behaviour is found in groff:
316261d06d6bSBaptiste Daroussin.Pp
316361d06d6bSBaptiste Daroussin.Bl -dash -compact
316461d06d6bSBaptiste Daroussin.It
31657295610fSBaptiste Daroussin.Ic \&Pa
316661d06d6bSBaptiste Daroussindoes not format its arguments when used in the FILES section under
316761d06d6bSBaptiste Daroussincertain list types.
316861d06d6bSBaptiste Daroussin.It
31697295610fSBaptiste Daroussin.Ic \&Ta
317061d06d6bSBaptiste Daroussincan only be called by other macros, but not at the beginning of a line.
317161d06d6bSBaptiste Daroussin.It
317261d06d6bSBaptiste Daroussin.Sq \ef
317361d06d6bSBaptiste Daroussin.Pq font face
317461d06d6bSBaptiste Daroussinand
317561d06d6bSBaptiste Daroussin.Sq \eF
317661d06d6bSBaptiste Daroussin.Pq font family face
317761d06d6bSBaptiste Daroussin.Sx Text Decoration
317861d06d6bSBaptiste Daroussinescapes behave irregularly when specified within line-macro scopes.
317961d06d6bSBaptiste Daroussin.It
318061d06d6bSBaptiste DaroussinNegative scaling units return to prior lines.
318161d06d6bSBaptiste DaroussinInstead, mandoc truncates them to zero.
318261d06d6bSBaptiste Daroussin.El
318361d06d6bSBaptiste Daroussin.Pp
318461d06d6bSBaptiste DaroussinThe following features are unimplemented in mandoc:
318561d06d6bSBaptiste Daroussin.Pp
318661d06d6bSBaptiste Daroussin.Bl -dash -compact
318761d06d6bSBaptiste Daroussin.It
31887295610fSBaptiste Daroussin.Ic \&Bd Fl file Ar file
318961d06d6bSBaptiste Daroussinis unsupported for security reasons.
319061d06d6bSBaptiste Daroussin.It
31917295610fSBaptiste Daroussin.Ic \&Bd
319261d06d6bSBaptiste Daroussin.Fl filled
319361d06d6bSBaptiste Daroussindoes not adjust the right margin, but is an alias for
31947295610fSBaptiste Daroussin.Ic \&Bd
319561d06d6bSBaptiste Daroussin.Fl ragged .
319661d06d6bSBaptiste Daroussin.It
31977295610fSBaptiste Daroussin.Ic \&Bd
319861d06d6bSBaptiste Daroussin.Fl literal
319961d06d6bSBaptiste Daroussindoes not use a literal font, but is an alias for
32007295610fSBaptiste Daroussin.Ic \&Bd
320161d06d6bSBaptiste Daroussin.Fl unfilled .
320261d06d6bSBaptiste Daroussin.It
32037295610fSBaptiste Daroussin.Ic \&Bd
320461d06d6bSBaptiste Daroussin.Fl offset Cm center
320561d06d6bSBaptiste Daroussinand
320661d06d6bSBaptiste Daroussin.Fl offset Cm right
320761d06d6bSBaptiste Daroussindon't work.
320861d06d6bSBaptiste DaroussinGroff does not implement centered and flush-right rendering either,
320961d06d6bSBaptiste Daroussinbut produces large indentations.
321061d06d6bSBaptiste Daroussin.El
321161d06d6bSBaptiste Daroussin.Sh SEE ALSO
321261d06d6bSBaptiste Daroussin.Xr man 1 ,
321361d06d6bSBaptiste Daroussin.Xr mandoc 1 ,
321461d06d6bSBaptiste Daroussin.Xr eqn 7 ,
321561d06d6bSBaptiste Daroussin.Xr man 7 ,
321661d06d6bSBaptiste Daroussin.Xr mandoc_char 7 ,
321761d06d6bSBaptiste Daroussin.Xr roff 7 ,
321861d06d6bSBaptiste Daroussin.Xr tbl 7
321961d06d6bSBaptiste Daroussin.Pp
322061d06d6bSBaptiste DaroussinThe web page
3221*6d38604fSBaptiste Daroussin.Lk https://mandoc.bsd.lv/mdoc/ "extended documentation for the mdoc language"
322261d06d6bSBaptiste Daroussinprovides a few tutorial-style pages for beginners, an extensive style
322361d06d6bSBaptiste Daroussinguide for advanced authors, and an alphabetic index helping to choose
322461d06d6bSBaptiste Daroussinthe best macros for various kinds of content.
3225*6d38604fSBaptiste Daroussin.Pp
3226*6d38604fSBaptiste DaroussinThe manual page
3227*6d38604fSBaptiste Daroussin.Lk https://man.voidlinux.org/groff_mdoc "groff_mdoc(7)"
3228*6d38604fSBaptiste Daroussincontained in the
3229*6d38604fSBaptiste Daroussin.Dq groff
3230*6d38604fSBaptiste Daroussinpackage documents exactly the same language in a somewhat different style.
323161d06d6bSBaptiste Daroussin.Sh HISTORY
323261d06d6bSBaptiste DaroussinThe
323361d06d6bSBaptiste Daroussin.Nm
323461d06d6bSBaptiste Daroussinlanguage first appeared as a troff macro package in
323561d06d6bSBaptiste Daroussin.Bx 4.4 .
323661d06d6bSBaptiste DaroussinIt was later significantly updated by Werner Lemberg and Ruslan Ermilov
323761d06d6bSBaptiste Daroussinin groff-1.17.
323861d06d6bSBaptiste DaroussinThe standalone implementation that is part of the
323961d06d6bSBaptiste Daroussin.Xr mandoc 1
324061d06d6bSBaptiste Daroussinutility written by Kristaps Dzonsons appeared in
324161d06d6bSBaptiste Daroussin.Ox 4.6 .
324261d06d6bSBaptiste Daroussin.Sh AUTHORS
324361d06d6bSBaptiste DaroussinThe
324461d06d6bSBaptiste Daroussin.Nm
324561d06d6bSBaptiste Daroussinreference was written by
324661d06d6bSBaptiste Daroussin.An Kristaps Dzonsons Aq Mt kristaps@bsd.lv .
3247