xref: /freebsd-src/contrib/mandoc/mdoc.7 (revision c1c95add8c80843ba15d784f95c361d795b1f593)
1*c1c95addSBrooks Davis.\" $Id: mdoc.7,v 1.294 2024/09/22 10:34:58 schwarze Exp $
261d06d6bSBaptiste Daroussin.\"
361d06d6bSBaptiste Daroussin.\" Copyright (c) 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
46d38604fSBaptiste 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*c1c95addSBrooks Davis.Dd $Mdocdate: September 22 2024 $
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
3006d38604fSBaptiste 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
442*c1c95addSBrooks Davis.It Ic \&Os Ta operating system footer: Op Ar footer text
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
4526d38604fSBaptiste 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.
6356d38604fSBaptiste 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
6436d38604fSBaptiste 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.
6846d38604fSBaptiste 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
6926d38604fSBaptiste 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 .
7376d38604fSBaptiste 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 .
7566d38604fSBaptiste 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.
7946d38604fSBaptiste 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 .
8856d38604fSBaptiste 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 .
9126d38604fSBaptiste 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.
9356d38604fSBaptiste 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 ,
1018*c1c95addSBrooks Davisexcept that ordinal 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 .
10786d38604fSBaptiste 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 .
11126d38604fSBaptiste 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 .
11216d38604fSBaptiste 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.
11446d38604fSBaptiste 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 .
11646d38604fSBaptiste 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.
11806d38604fSBaptiste 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"
11966d38604fSBaptiste 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.
12226d38604fSBaptiste Daroussin.Tg Dd
12237295610fSBaptiste Daroussin.It Ic \&Dd Cm $\&Mdocdate$ | Ar month day , year
12246d38604fSBaptiste DaroussinDocument date for display in the page footer,
12256d38604fSBaptiste 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 .
12716d38604fSBaptiste 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 .
13006d38604fSBaptiste 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 .
13176d38604fSBaptiste 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 .
13776d38604fSBaptiste 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 .
13976d38604fSBaptiste 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 .
14396d38604fSBaptiste 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.
14796d38604fSBaptiste 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 .
14876d38604fSBaptiste 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.
15106d38604fSBaptiste 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.
15226d38604fSBaptiste 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 .
15396d38604fSBaptiste 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 .
15776d38604fSBaptiste 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 .
15986d38604fSBaptiste 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.
16026d38604fSBaptiste DaroussinFor each argument, prints an ASCII hyphen-minus character
16036d38604fSBaptiste Daroussin.Sq \- ,
16046d38604fSBaptiste Daroussinimmediately followed by the argument.
16056d38604fSBaptiste DaroussinIf no arguments are provided, a hyphen-minus is printed followed by a space.
16066d38604fSBaptiste DaroussinIf the argument is a macro, a hyphen-minus is prefixed
16076d38604fSBaptiste Daroussinto the subsequent macro output.
160861d06d6bSBaptiste Daroussin.Pp
160961d06d6bSBaptiste DaroussinExamples:
16106d38604fSBaptiste Daroussin.Dl ".Nm du Op Fl H | L | P"
16116d38604fSBaptiste Daroussin.Dl ".Nm ls Op Fl 1AaCcdFfgHhikLlmnopqRrSsTtux"
16126d38604fSBaptiste Daroussin.Dl ".Nm route Cm add Fl inet Ar destination gateway"
16136d38604fSBaptiste Daroussin.Dl ".Nm locate.updatedb Op Fl \e-fcodes Ns = Ns Ar dbfile"
16146d38604fSBaptiste Daroussin.Dl ".Nm aucat Fl o Fl"
16156d38604fSBaptiste Daroussin.Dl ".Nm kill Fl Ar signal_number"
16166d38604fSBaptiste Daroussin.Pp
1617*c1c95addSBrooks DavisFor GNU-style long options, escaping the additional hyphen-minus is not
16186d38604fSBaptiste Daroussinstrictly required, but may be safer with future versions of GNU troff; see
16196d38604fSBaptiste Daroussin.Xr mandoc_char 7
16206d38604fSBaptiste Daroussinfor details.
162161d06d6bSBaptiste Daroussin.Pp
162261d06d6bSBaptiste DaroussinSee also
16237295610fSBaptiste Daroussin.Ic \&Cm .
16246d38604fSBaptiste 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 .
16536d38604fSBaptiste 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.
16886d38604fSBaptiste 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 .
17086d38604fSBaptiste 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.
17316d38604fSBaptiste 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.
17516d38604fSBaptiste 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 .
17716d38604fSBaptiste 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 .
18626d38604fSBaptiste 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
18836d38604fSBaptiste 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.
18946d38604fSBaptiste Daroussin.Tg Lk
18957295610fSBaptiste Daroussin.It Ic \&Lk Ar uri Op Ar display_name
189661d06d6bSBaptiste DaroussinFormat a hyperlink.
189761d06d6bSBaptiste Daroussin.Pp
189861d06d6bSBaptiste DaroussinExamples:
18996d38604fSBaptiste Daroussin.Dl \&.Lk https://bsd.lv \(dqThe BSD.lv Project\(dq
19006d38604fSBaptiste 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 .
19076d38604fSBaptiste 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
19146d38604fSBaptiste 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
19236d38604fSBaptiste 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 .
19466d38604fSBaptiste 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.
19846d38604fSBaptiste 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 .
20096d38604fSBaptiste 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 .
20296d38604fSBaptiste 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
20626d38604fSBaptiste 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 .
20766d38604fSBaptiste Daroussin.Tg Os
2077*c1c95addSBrooks Davis.It Ic \&Os Op Ar footer text
2078*c1c95addSBrooks DavisThe mandatory third macro of every
207961d06d6bSBaptiste Daroussin.Nm
208061d06d6bSBaptiste Daroussinfile.
2081*c1c95addSBrooks DavisUsually, do not specify any arguments,
2082*c1c95addSBrooks Davisin particular not the operating system name and/or version.
208361d06d6bSBaptiste Daroussin.Pp
2084*c1c95addSBrooks DavisIf no argument is given,
208561d06d6bSBaptiste Daroussin.Xr mandoc 1
2086*c1c95addSBrooks Davisprints its
208761d06d6bSBaptiste Daroussin.Fl Ios
2088*c1c95addSBrooks Davisargument in the page footer, or
208961d06d6bSBaptiste Daroussin.Fa sysname
209061d06d6bSBaptiste Daroussinand
209161d06d6bSBaptiste Daroussin.Fa release
209261d06d6bSBaptiste Daroussinas returned by
2093*c1c95addSBrooks Davis.Xr uname 3
2094*c1c95addSBrooks Davisby default.
209561d06d6bSBaptiste Daroussin.Pp
2096*c1c95addSBrooks DavisManual pages that are part of a portable software project can override
2097*c1c95addSBrooks Davisthe default by giving the project name and version number as arguments,
2098*c1c95addSBrooks Davisbut leaving it blank is never a bad choice.
209961d06d6bSBaptiste Daroussin.Pp
210061d06d6bSBaptiste DaroussinSee also
21017295610fSBaptiste Daroussin.Ic \&Dd
210261d06d6bSBaptiste Daroussinand
21037295610fSBaptiste Daroussin.Ic \&Dt .
21047295610fSBaptiste Daroussin.It Ic \&Ot Ar functype
210561d06d6bSBaptiste DaroussinThis macro is obsolete.
210661d06d6bSBaptiste DaroussinUse
21077295610fSBaptiste Daroussin.Ic \&Ft
210861d06d6bSBaptiste Daroussininstead; with
210961d06d6bSBaptiste Daroussin.Xr mandoc 1 ,
211061d06d6bSBaptiste Daroussinboth have the same effect.
211161d06d6bSBaptiste Daroussin.Pp
211261d06d6bSBaptiste DaroussinHistorical
211361d06d6bSBaptiste Daroussin.Nm
211461d06d6bSBaptiste Daroussinpackages described it as
211561d06d6bSBaptiste Daroussin.Dq "old function type (FORTRAN)" .
21166d38604fSBaptiste Daroussin.Tg Ox
21177295610fSBaptiste Daroussin.It Ic \&Ox Op Ar version
211861d06d6bSBaptiste DaroussinFormat the
211961d06d6bSBaptiste Daroussin.Ox
212061d06d6bSBaptiste Daroussinversion provided as an argument, or a default value
212161d06d6bSBaptiste Daroussinif no argument is provided.
212261d06d6bSBaptiste Daroussin.Pp
212361d06d6bSBaptiste DaroussinExamples:
212461d06d6bSBaptiste Daroussin.Dl \&.Ox 4.5
212561d06d6bSBaptiste Daroussin.Dl \&.Ox
212661d06d6bSBaptiste Daroussin.Pp
212761d06d6bSBaptiste DaroussinSee also
21287295610fSBaptiste Daroussin.Ic \&At ,
21297295610fSBaptiste Daroussin.Ic \&Bsx ,
21307295610fSBaptiste Daroussin.Ic \&Bx ,
21317295610fSBaptiste Daroussin.Ic \&Dx ,
21327295610fSBaptiste Daroussin.Ic \&Fx ,
213361d06d6bSBaptiste Daroussinand
21347295610fSBaptiste Daroussin.Ic \&Nx .
21356d38604fSBaptiste Daroussin.Tg Pa
21367295610fSBaptiste Daroussin.It Ic \&Pa Ar name ...
213761d06d6bSBaptiste DaroussinAn absolute or relative file system path, or a file or directory name.
213861d06d6bSBaptiste DaroussinIf an argument is not provided, the character
213961d06d6bSBaptiste Daroussin.Sq \(ti
214061d06d6bSBaptiste Daroussinis used as a default.
214161d06d6bSBaptiste Daroussin.Pp
214261d06d6bSBaptiste DaroussinExamples:
214361d06d6bSBaptiste Daroussin.Dl \&.Pa /usr/bin/mandoc
214461d06d6bSBaptiste Daroussin.Dl \&.Pa /usr/share/man/man7/mdoc.7
214561d06d6bSBaptiste Daroussin.Pp
214661d06d6bSBaptiste DaroussinSee also
21477295610fSBaptiste Daroussin.Ic \&Lk .
21487295610fSBaptiste Daroussin.It Ic \&Pc
214961d06d6bSBaptiste DaroussinClose parenthesised context opened by
21507295610fSBaptiste Daroussin.Ic \&Po .
21516d38604fSBaptiste Daroussin.Tg Pf
21527295610fSBaptiste Daroussin.It Ic \&Pf Ar prefix macro Op Ar argument ...
215361d06d6bSBaptiste DaroussinRemoves the space between its argument and the following macro.
21547295610fSBaptiste DaroussinIt is equivalent to:
215561d06d6bSBaptiste Daroussin.Pp
21567295610fSBaptiste Daroussin.D1 Ic \&No Pf \e& Ar prefix Ic \&Ns Ar macro Op Ar argument ...
215761d06d6bSBaptiste Daroussin.Pp
215861d06d6bSBaptiste DaroussinThe
215961d06d6bSBaptiste Daroussin.Ar prefix
216061d06d6bSBaptiste Daroussinargument is not parsed for macro names or delimiters,
216161d06d6bSBaptiste Daroussinbut used verbatim as if it were escaped.
216261d06d6bSBaptiste Daroussin.Pp
216361d06d6bSBaptiste DaroussinExamples:
216461d06d6bSBaptiste Daroussin.Dl ".Pf $ Ar variable_name"
216561d06d6bSBaptiste Daroussin.Dl ".Pf . Ar macro_name"
216661d06d6bSBaptiste Daroussin.Dl ".Pf 0x Ar hex_digits"
216761d06d6bSBaptiste Daroussin.Pp
216861d06d6bSBaptiste DaroussinSee also
21697295610fSBaptiste Daroussin.Ic \&Ns
217061d06d6bSBaptiste Daroussinand
21717295610fSBaptiste Daroussin.Ic \&Sm .
21727295610fSBaptiste Daroussin.It Ic \&Po Ar block
217361d06d6bSBaptiste DaroussinMulti-line version of
21747295610fSBaptiste Daroussin.Ic \&Pq .
21756d38604fSBaptiste Daroussin.Tg Pp
21767295610fSBaptiste Daroussin.It Ic \&Pp
217761d06d6bSBaptiste DaroussinBreak a paragraph.
217861d06d6bSBaptiste DaroussinThis will assert vertical space between prior and subsequent macros
217961d06d6bSBaptiste Daroussinand/or text.
218061d06d6bSBaptiste Daroussin.Pp
218161d06d6bSBaptiste DaroussinParagraph breaks are not needed before or after
21827295610fSBaptiste Daroussin.Ic \&Sh
218361d06d6bSBaptiste Daroussinor
21847295610fSBaptiste Daroussin.Ic \&Ss
218561d06d6bSBaptiste Daroussinmacros or before displays
21867295610fSBaptiste Daroussin.Pq Ic \&Bd Ar line
218761d06d6bSBaptiste Daroussinor lists
21887295610fSBaptiste Daroussin.Pq Ic \&Bl
218961d06d6bSBaptiste Daroussinunless the
219061d06d6bSBaptiste Daroussin.Fl compact
219161d06d6bSBaptiste Daroussinflag is given.
21926d38604fSBaptiste Daroussin.Tg Pq
21937295610fSBaptiste Daroussin.It Ic \&Pq Ar line
219461d06d6bSBaptiste DaroussinParenthesised enclosure.
219561d06d6bSBaptiste Daroussin.Pp
219661d06d6bSBaptiste DaroussinSee also
21977295610fSBaptiste Daroussin.Ic \&Po .
21987295610fSBaptiste Daroussin.It Ic \&Qc
219961d06d6bSBaptiste DaroussinClose quoted context opened by
22007295610fSBaptiste Daroussin.Ic \&Qo .
22016d38604fSBaptiste Daroussin.Tg Ql
22027295610fSBaptiste Daroussin.It Ic \&Ql Ar line
220361d06d6bSBaptiste DaroussinIn-line literal display.
22047295610fSBaptiste DaroussinThis can be used for complete command invocations and for multi-word
22057295610fSBaptiste Daroussincode examples when an indented display is not desired.
220661d06d6bSBaptiste Daroussin.Pp
220761d06d6bSBaptiste DaroussinSee also
22087295610fSBaptiste Daroussin.Ic \&Dl
220961d06d6bSBaptiste Daroussinand
22107295610fSBaptiste Daroussin.Ic \&Bd
221161d06d6bSBaptiste Daroussin.Fl literal .
22127295610fSBaptiste Daroussin.It Ic \&Qo Ar block
221361d06d6bSBaptiste DaroussinMulti-line version of
22147295610fSBaptiste Daroussin.Ic \&Qq .
22156d38604fSBaptiste Daroussin.Tg Qq
22167295610fSBaptiste Daroussin.It Ic \&Qq Ar line
221761d06d6bSBaptiste DaroussinEncloses its arguments in
221861d06d6bSBaptiste Daroussin.Qq typewriter
221961d06d6bSBaptiste Daroussindouble-quotes.
222061d06d6bSBaptiste DaroussinConsider using
22217295610fSBaptiste Daroussin.Ic \&Dq .
222261d06d6bSBaptiste Daroussin.Pp
222361d06d6bSBaptiste DaroussinSee also
22247295610fSBaptiste Daroussin.Ic \&Dq ,
22257295610fSBaptiste Daroussin.Ic \&Sq ,
222661d06d6bSBaptiste Daroussinand
22277295610fSBaptiste Daroussin.Ic \&Qo .
22287295610fSBaptiste Daroussin.It Ic \&Re
222961d06d6bSBaptiste DaroussinClose an
22307295610fSBaptiste Daroussin.Ic \&Rs
223161d06d6bSBaptiste Daroussinblock.
223261d06d6bSBaptiste DaroussinDoes not have any tail arguments.
22336d38604fSBaptiste Daroussin.Tg Rs
22347295610fSBaptiste Daroussin.It Ic \&Rs
223561d06d6bSBaptiste DaroussinBegin a bibliographic
223661d06d6bSBaptiste Daroussin.Pq Dq reference
223761d06d6bSBaptiste Daroussinblock.
223861d06d6bSBaptiste DaroussinDoes not have any head arguments.
223961d06d6bSBaptiste DaroussinThe block macro may only contain
22407295610fSBaptiste Daroussin.Ic \&%A ,
22417295610fSBaptiste Daroussin.Ic \&%B ,
22427295610fSBaptiste Daroussin.Ic \&%C ,
22437295610fSBaptiste Daroussin.Ic \&%D ,
22447295610fSBaptiste Daroussin.Ic \&%I ,
22457295610fSBaptiste Daroussin.Ic \&%J ,
22467295610fSBaptiste Daroussin.Ic \&%N ,
22477295610fSBaptiste Daroussin.Ic \&%O ,
22487295610fSBaptiste Daroussin.Ic \&%P ,
22497295610fSBaptiste Daroussin.Ic \&%Q ,
22507295610fSBaptiste Daroussin.Ic \&%R ,
22517295610fSBaptiste Daroussin.Ic \&%T ,
22527295610fSBaptiste Daroussin.Ic \&%U ,
225361d06d6bSBaptiste Daroussinand
22547295610fSBaptiste Daroussin.Ic \&%V
225561d06d6bSBaptiste Daroussinchild macros (at least one must be specified).
225661d06d6bSBaptiste Daroussin.Pp
225761d06d6bSBaptiste DaroussinExamples:
225861d06d6bSBaptiste Daroussin.Bd -literal -offset indent -compact
225961d06d6bSBaptiste Daroussin\&.Rs
226061d06d6bSBaptiste Daroussin\&.%A J. E. Hopcroft
226161d06d6bSBaptiste Daroussin\&.%A J. D. Ullman
226261d06d6bSBaptiste Daroussin\&.%B Introduction to Automata Theory, Languages, and Computation
226361d06d6bSBaptiste Daroussin\&.%I Addison-Wesley
226461d06d6bSBaptiste Daroussin\&.%C Reading, Massachusetts
226561d06d6bSBaptiste Daroussin\&.%D 1979
226661d06d6bSBaptiste Daroussin\&.Re
226761d06d6bSBaptiste Daroussin.Ed
226861d06d6bSBaptiste Daroussin.Pp
226961d06d6bSBaptiste DaroussinIf an
22707295610fSBaptiste Daroussin.Ic \&Rs
227161d06d6bSBaptiste Daroussinblock is used within a SEE ALSO section, a vertical space is asserted
227261d06d6bSBaptiste Daroussinbefore the rendered output, else the block continues on the current
227361d06d6bSBaptiste Daroussinline.
22746d38604fSBaptiste Daroussin.Tg Rv
22757295610fSBaptiste Daroussin.It Ic \&Rv Fl std Op Ar function ...
227661d06d6bSBaptiste DaroussinInsert a standard sentence regarding a function call's return value of 0
227761d06d6bSBaptiste Daroussinon success and \-1 on error, with the
227861d06d6bSBaptiste Daroussin.Va errno
227961d06d6bSBaptiste Daroussinlibc global variable set on error.
228061d06d6bSBaptiste Daroussin.Pp
228161d06d6bSBaptiste DaroussinIf
228261d06d6bSBaptiste Daroussin.Ar function
228361d06d6bSBaptiste Daroussinis not specified, the document's name set by
22847295610fSBaptiste Daroussin.Ic \&Nm
228561d06d6bSBaptiste Daroussinis used.
228661d06d6bSBaptiste DaroussinMultiple
228761d06d6bSBaptiste Daroussin.Ar function
228861d06d6bSBaptiste Daroussinarguments are treated as separate functions.
228961d06d6bSBaptiste Daroussin.Pp
229061d06d6bSBaptiste DaroussinSee also
22917295610fSBaptiste Daroussin.Ic \&Ex .
22927295610fSBaptiste Daroussin.It Ic \&Sc
229361d06d6bSBaptiste DaroussinClose single-quoted context opened by
22947295610fSBaptiste Daroussin.Ic \&So .
22956d38604fSBaptiste Daroussin.Tg Sh
22967295610fSBaptiste Daroussin.It Ic \&Sh Ar TITLE LINE
229761d06d6bSBaptiste DaroussinBegin a new section.
229861d06d6bSBaptiste DaroussinFor a list of conventional manual sections, see
229961d06d6bSBaptiste Daroussin.Sx MANUAL STRUCTURE .
230061d06d6bSBaptiste DaroussinThese sections should be used unless it's absolutely necessary that
230161d06d6bSBaptiste Daroussincustom sections be used.
230261d06d6bSBaptiste Daroussin.Pp
230361d06d6bSBaptiste DaroussinSection names should be unique so that they may be keyed by
23047295610fSBaptiste Daroussin.Ic \&Sx .
230561d06d6bSBaptiste DaroussinAlthough this macro is parsed, it should not consist of child node or it
230661d06d6bSBaptiste Daroussinmay not be linked with
23077295610fSBaptiste Daroussin.Ic \&Sx .
230861d06d6bSBaptiste Daroussin.Pp
230961d06d6bSBaptiste DaroussinSee also
23107295610fSBaptiste Daroussin.Ic \&Pp ,
23117295610fSBaptiste Daroussin.Ic \&Ss ,
231261d06d6bSBaptiste Daroussinand
23137295610fSBaptiste Daroussin.Ic \&Sx .
23146d38604fSBaptiste Daroussin.Tg Sm
23157295610fSBaptiste Daroussin.It Ic \&Sm Op Cm on | off
231661d06d6bSBaptiste DaroussinSwitches the spacing mode for output generated from macros.
231761d06d6bSBaptiste Daroussin.Pp
231861d06d6bSBaptiste DaroussinBy default, spacing is
231961d06d6bSBaptiste Daroussin.Cm on .
232061d06d6bSBaptiste DaroussinWhen switched
232161d06d6bSBaptiste Daroussin.Cm off ,
232261d06d6bSBaptiste Daroussinno white space is inserted between macro arguments and between the
232361d06d6bSBaptiste Daroussinoutput generated from adjacent macros, but text lines
232461d06d6bSBaptiste Daroussinstill get normal spacing between words and sentences.
232561d06d6bSBaptiste Daroussin.Pp
232661d06d6bSBaptiste DaroussinWhen called without an argument, the
23277295610fSBaptiste Daroussin.Ic \&Sm
232861d06d6bSBaptiste Daroussinmacro toggles the spacing mode.
232961d06d6bSBaptiste DaroussinUsing this is not recommended because it makes the code harder to read.
23307295610fSBaptiste Daroussin.It Ic \&So Ar block
233161d06d6bSBaptiste DaroussinMulti-line version of
23327295610fSBaptiste Daroussin.Ic \&Sq .
23336d38604fSBaptiste Daroussin.Tg Sq
23347295610fSBaptiste Daroussin.It Ic \&Sq Ar line
233561d06d6bSBaptiste DaroussinEncloses its arguments in
233661d06d6bSBaptiste Daroussin.Sq typewriter
233761d06d6bSBaptiste Daroussinsingle-quotes.
233861d06d6bSBaptiste Daroussin.Pp
233961d06d6bSBaptiste DaroussinSee also
23407295610fSBaptiste Daroussin.Ic \&Dq ,
23417295610fSBaptiste Daroussin.Ic \&Qq ,
234261d06d6bSBaptiste Daroussinand
23437295610fSBaptiste Daroussin.Ic \&So .
23446d38604fSBaptiste Daroussin.Tg Ss
23457295610fSBaptiste Daroussin.It Ic \&Ss Ar Title line
234661d06d6bSBaptiste DaroussinBegin a new subsection.
234761d06d6bSBaptiste DaroussinUnlike with
23487295610fSBaptiste Daroussin.Ic \&Sh ,
234961d06d6bSBaptiste Daroussinthere is no convention for the naming of subsections.
235061d06d6bSBaptiste DaroussinExcept
235161d06d6bSBaptiste Daroussin.Em DESCRIPTION ,
235261d06d6bSBaptiste Daroussinthe conventional sections described in
235361d06d6bSBaptiste Daroussin.Sx MANUAL STRUCTURE
235461d06d6bSBaptiste Daroussinrarely have subsections.
235561d06d6bSBaptiste Daroussin.Pp
235661d06d6bSBaptiste DaroussinSub-section names should be unique so that they may be keyed by
23577295610fSBaptiste Daroussin.Ic \&Sx .
235861d06d6bSBaptiste DaroussinAlthough this macro is parsed, it should not consist of child node or it
235961d06d6bSBaptiste Daroussinmay not be linked with
23607295610fSBaptiste Daroussin.Ic \&Sx .
236161d06d6bSBaptiste Daroussin.Pp
236261d06d6bSBaptiste DaroussinSee also
23637295610fSBaptiste Daroussin.Ic \&Pp ,
23647295610fSBaptiste Daroussin.Ic \&Sh ,
236561d06d6bSBaptiste Daroussinand
23667295610fSBaptiste Daroussin.Ic \&Sx .
23676d38604fSBaptiste Daroussin.Tg St
23687295610fSBaptiste Daroussin.It Ic \&St Fl Ns Ar abbreviation
236961d06d6bSBaptiste DaroussinReplace an abbreviation for a standard with the full form.
237061d06d6bSBaptiste DaroussinThe following standards are recognised.
237161d06d6bSBaptiste DaroussinWhere multiple lines are given without a blank line in between,
237261d06d6bSBaptiste Daroussinthey all refer to the same standard, and using the first form
237361d06d6bSBaptiste Daroussinis recommended.
237461d06d6bSBaptiste Daroussin.Bl -tag -width 1n
237561d06d6bSBaptiste Daroussin.It C language standards
237661d06d6bSBaptiste Daroussin.Pp
237761d06d6bSBaptiste Daroussin.Bl -tag -width "-p1003.1g-2000" -compact
237861d06d6bSBaptiste Daroussin.It \-ansiC
237961d06d6bSBaptiste Daroussin.St -ansiC
238061d06d6bSBaptiste Daroussin.It \-ansiC-89
238161d06d6bSBaptiste Daroussin.St -ansiC-89
238261d06d6bSBaptiste Daroussin.It \-isoC
238361d06d6bSBaptiste Daroussin.St -isoC
238461d06d6bSBaptiste Daroussin.It \-isoC-90
238561d06d6bSBaptiste Daroussin.St -isoC-90
238661d06d6bSBaptiste Daroussin.br
238761d06d6bSBaptiste DaroussinThe original C standard.
238861d06d6bSBaptiste Daroussin.Pp
238961d06d6bSBaptiste Daroussin.It \-isoC-amd1
239061d06d6bSBaptiste Daroussin.St -isoC-amd1
239161d06d6bSBaptiste Daroussin.Pp
239261d06d6bSBaptiste Daroussin.It \-isoC-tcor1
239361d06d6bSBaptiste Daroussin.St -isoC-tcor1
239461d06d6bSBaptiste Daroussin.Pp
239561d06d6bSBaptiste Daroussin.It \-isoC-tcor2
239661d06d6bSBaptiste Daroussin.St -isoC-tcor2
239761d06d6bSBaptiste Daroussin.Pp
239861d06d6bSBaptiste Daroussin.It \-isoC-99
239961d06d6bSBaptiste Daroussin.St -isoC-99
240061d06d6bSBaptiste Daroussin.br
240161d06d6bSBaptiste DaroussinThe second major version of the C language standard.
240261d06d6bSBaptiste Daroussin.Pp
240361d06d6bSBaptiste Daroussin.It \-isoC-2011
240461d06d6bSBaptiste Daroussin.St -isoC-2011
240561d06d6bSBaptiste Daroussin.br
240661d06d6bSBaptiste DaroussinThe third major version of the C language standard.
240761d06d6bSBaptiste Daroussin.El
2408*c1c95addSBrooks Davis.It POSIX.1 before XPG4.2
240961d06d6bSBaptiste Daroussin.Pp
241061d06d6bSBaptiste Daroussin.Bl -tag -width "-p1003.1g-2000" -compact
241161d06d6bSBaptiste Daroussin.It \-p1003.1-88
241261d06d6bSBaptiste Daroussin.St -p1003.1-88
241361d06d6bSBaptiste Daroussin.It \-p1003.1
241461d06d6bSBaptiste Daroussin.St -p1003.1
241561d06d6bSBaptiste Daroussin.br
241661d06d6bSBaptiste DaroussinThe original POSIX standard, based on ANSI C.
241761d06d6bSBaptiste Daroussin.Pp
241861d06d6bSBaptiste Daroussin.It \-p1003.1-90
241961d06d6bSBaptiste Daroussin.St -p1003.1-90
242061d06d6bSBaptiste Daroussin.It \-iso9945-1-90
242161d06d6bSBaptiste Daroussin.St -iso9945-1-90
242261d06d6bSBaptiste Daroussin.br
242361d06d6bSBaptiste DaroussinThe first update of POSIX.1.
242461d06d6bSBaptiste Daroussin.Pp
242561d06d6bSBaptiste Daroussin.It \-p1003.1b-93
242661d06d6bSBaptiste Daroussin.St -p1003.1b-93
242761d06d6bSBaptiste Daroussin.It \-p1003.1b
242861d06d6bSBaptiste Daroussin.St -p1003.1b
242961d06d6bSBaptiste Daroussin.br
243061d06d6bSBaptiste DaroussinReal-time extensions.
243161d06d6bSBaptiste Daroussin.Pp
243261d06d6bSBaptiste Daroussin.It \-p1003.1c-95
243361d06d6bSBaptiste Daroussin.St -p1003.1c-95
243461d06d6bSBaptiste Daroussin.br
243561d06d6bSBaptiste DaroussinPOSIX thread interfaces.
243661d06d6bSBaptiste Daroussin.Pp
243761d06d6bSBaptiste Daroussin.It \-p1003.1i-95
243861d06d6bSBaptiste Daroussin.St -p1003.1i-95
243961d06d6bSBaptiste Daroussin.br
244061d06d6bSBaptiste DaroussinTechnical Corrigendum.
244161d06d6bSBaptiste Daroussin.Pp
244261d06d6bSBaptiste Daroussin.It \-p1003.1-96
244361d06d6bSBaptiste Daroussin.St -p1003.1-96
244461d06d6bSBaptiste Daroussin.It \-iso9945-1-96
244561d06d6bSBaptiste Daroussin.St -iso9945-1-96
244661d06d6bSBaptiste Daroussin.br
244761d06d6bSBaptiste DaroussinIncludes POSIX.1-1990, 1b, 1c, and 1i.
244861d06d6bSBaptiste Daroussin.El
2449*c1c95addSBrooks Davis.It X/Open Portability Guide before XPG4.2
245061d06d6bSBaptiste Daroussin.Pp
245161d06d6bSBaptiste Daroussin.Bl -tag -width "-p1003.1g-2000" -compact
245261d06d6bSBaptiste Daroussin.It \-xpg3
245361d06d6bSBaptiste Daroussin.St -xpg3
245461d06d6bSBaptiste Daroussin.br
245561d06d6bSBaptiste DaroussinAn XPG4 precursor, published in 1989.
245661d06d6bSBaptiste Daroussin.Pp
245761d06d6bSBaptiste Daroussin.It \-p1003.2
245861d06d6bSBaptiste Daroussin.St -p1003.2
245961d06d6bSBaptiste Daroussin.It \-p1003.2-92
246061d06d6bSBaptiste Daroussin.St -p1003.2-92
246161d06d6bSBaptiste Daroussin.It \-iso9945-2-93
246261d06d6bSBaptiste Daroussin.St -iso9945-2-93
246361d06d6bSBaptiste Daroussin.br
246461d06d6bSBaptiste DaroussinAn XCU4 precursor.
246561d06d6bSBaptiste Daroussin.Pp
246661d06d6bSBaptiste Daroussin.It \-p1003.2a-92
246761d06d6bSBaptiste Daroussin.St -p1003.2a-92
246861d06d6bSBaptiste Daroussin.br
246961d06d6bSBaptiste DaroussinUpdates to POSIX.2.
247061d06d6bSBaptiste Daroussin.Pp
247161d06d6bSBaptiste Daroussin.It \-xpg4
247261d06d6bSBaptiste Daroussin.St -xpg4
247361d06d6bSBaptiste Daroussin.br
247461d06d6bSBaptiste DaroussinBased on POSIX.1 and POSIX.2, published in 1992.
247561d06d6bSBaptiste Daroussin.El
2476*c1c95addSBrooks Davis.It X/Open Portability Guide Issue 4 Version 2 and related standards
247761d06d6bSBaptiste Daroussin.Pp
247861d06d6bSBaptiste Daroussin.Bl -tag -width "-p1003.1g-2000" -compact
247961d06d6bSBaptiste Daroussin.It \-susv1
248061d06d6bSBaptiste Daroussin.St -susv1
248161d06d6bSBaptiste Daroussin.It \-xpg4.2
248261d06d6bSBaptiste Daroussin.St -xpg4.2
248361d06d6bSBaptiste Daroussin.br
248461d06d6bSBaptiste DaroussinThis standard was published in 1994.
248561d06d6bSBaptiste DaroussinIt was used as the basis for UNIX 95 certification.
2486*c1c95addSBrooks DavisThe following two refer to parts of it.
248761d06d6bSBaptiste Daroussin.Pp
248861d06d6bSBaptiste Daroussin.It \-xcurses4.2
248961d06d6bSBaptiste Daroussin.St -xcurses4.2
249061d06d6bSBaptiste Daroussin.Pp
249161d06d6bSBaptiste Daroussin.It \-p1003.1g-2000
249261d06d6bSBaptiste Daroussin.St -p1003.1g-2000
249361d06d6bSBaptiste Daroussin.br
249461d06d6bSBaptiste DaroussinNetworking APIs, including sockets.
249561d06d6bSBaptiste Daroussin.Pp
249661d06d6bSBaptiste Daroussin.It \-svid4
249761d06d6bSBaptiste Daroussin.St -svid4 ,
249861d06d6bSBaptiste Daroussin.br
249961d06d6bSBaptiste DaroussinPublished in 1995.
250061d06d6bSBaptiste Daroussin.El
2501*c1c95addSBrooks Davis.It X/Open Portability Guide Issue 5 and related standards
250261d06d6bSBaptiste Daroussin.Pp
250361d06d6bSBaptiste Daroussin.Bl -tag -width "-p1003.1g-2000" -compact
250461d06d6bSBaptiste Daroussin.It \-susv2
250561d06d6bSBaptiste Daroussin.St -susv2
2506*c1c95addSBrooks Davis.br
250761d06d6bSBaptiste DaroussinThis Standard was published in 1997
2508*c1c95addSBrooks Davisand is also called X/Open Portability Guide Issue 5.
250961d06d6bSBaptiste DaroussinIt was used as the basis for UNIX 98 certification.
251061d06d6bSBaptiste DaroussinThe following refer to parts of it.
251161d06d6bSBaptiste Daroussin.Pp
251261d06d6bSBaptiste Daroussin.It \-xbd5
251361d06d6bSBaptiste Daroussin.St -xbd5
251461d06d6bSBaptiste Daroussin.Pp
251561d06d6bSBaptiste Daroussin.It \-xsh5
251661d06d6bSBaptiste Daroussin.St -xsh5
251761d06d6bSBaptiste Daroussin.Pp
251861d06d6bSBaptiste Daroussin.It \-xcu5
251961d06d6bSBaptiste Daroussin.St -xcu5
252061d06d6bSBaptiste Daroussin.Pp
252161d06d6bSBaptiste Daroussin.It \-xns5
252261d06d6bSBaptiste Daroussin.St -xns5
252361d06d6bSBaptiste Daroussin.It \-xns5.2
252461d06d6bSBaptiste Daroussin.St -xns5.2
252561d06d6bSBaptiste Daroussin.El
2526*c1c95addSBrooks Davis.It POSIX Issue 6
252761d06d6bSBaptiste Daroussin.Pp
252861d06d6bSBaptiste Daroussin.Bl -tag -width "-p1003.1-2001" -compact
252961d06d6bSBaptiste Daroussin.It \-p1003.1-2001
253061d06d6bSBaptiste Daroussin.St -p1003.1-2001
253161d06d6bSBaptiste Daroussin.It \-susv3
253261d06d6bSBaptiste Daroussin.St -susv3
253361d06d6bSBaptiste Daroussin.br
253461d06d6bSBaptiste DaroussinThis standard is based on C99, SUSv2, POSIX.1-1996, 1d, and 1j.
2535*c1c95addSBrooks DavisIt is also called X/Open Portability Guide Issue 6.
253661d06d6bSBaptiste DaroussinIt is used as the basis for UNIX 03 certification.
253761d06d6bSBaptiste Daroussin.Pp
253861d06d6bSBaptiste Daroussin.It \-p1003.1-2004
253961d06d6bSBaptiste Daroussin.St -p1003.1-2004
254061d06d6bSBaptiste Daroussin.br
254161d06d6bSBaptiste DaroussinThe second and last Technical Corrigendum.
254261d06d6bSBaptiste Daroussin.El
2543*c1c95addSBrooks Davis.It POSIX Issues 7 and 8
254461d06d6bSBaptiste Daroussin.Pp
254561d06d6bSBaptiste Daroussin.Bl -tag -width "-p1003.1g-2000" -compact
254661d06d6bSBaptiste Daroussin.It \-p1003.1-2008
254761d06d6bSBaptiste Daroussin.St -p1003.1-2008
254861d06d6bSBaptiste Daroussin.It \-susv4
254961d06d6bSBaptiste Daroussin.St -susv4
255061d06d6bSBaptiste Daroussin.br
2551*c1c95addSBrooks DavisThis standard is based on C99.
2552*c1c95addSBrooks DavisIt is also called the
2553*c1c95addSBrooks DavisOpen Group Standard Base Specifications, Issue 7.
2554*c1c95addSBrooks Davis.El
2555*c1c95addSBrooks Davis.Pp
2556*c1c95addSBrooks Davis.Bl -tag -width "-p1003.1g-2000" -compact
2557*c1c95addSBrooks Davis.It \-p1003.1-2024
2558*c1c95addSBrooks Davis.St -p1003.1-2024
2559*c1c95addSBrooks Davis.br
2560*c1c95addSBrooks DavisThis standard is based on C17.
2561*c1c95addSBrooks DavisIt is also called the
2562*c1c95addSBrooks DavisOpen Group Standard Base Specifications, Issue 8.
256361d06d6bSBaptiste Daroussin.El
256461d06d6bSBaptiste Daroussin.It Other standards
256561d06d6bSBaptiste Daroussin.Pp
256661d06d6bSBaptiste Daroussin.Bl -tag -width "-p1003.1g-2000" -compact
256761d06d6bSBaptiste Daroussin.It \-ieee754
256861d06d6bSBaptiste Daroussin.St -ieee754
256961d06d6bSBaptiste Daroussin.br
257061d06d6bSBaptiste DaroussinFloating-point arithmetic.
257161d06d6bSBaptiste Daroussin.Pp
257261d06d6bSBaptiste Daroussin.It \-iso8601
257361d06d6bSBaptiste Daroussin.St -iso8601
257461d06d6bSBaptiste Daroussin.br
257561d06d6bSBaptiste DaroussinRepresentation of dates and times, published in 1988.
257661d06d6bSBaptiste Daroussin.Pp
257761d06d6bSBaptiste Daroussin.It \-iso8802-3
257861d06d6bSBaptiste Daroussin.St -iso8802-3
257961d06d6bSBaptiste Daroussin.br
258061d06d6bSBaptiste DaroussinEthernet local area networks.
258161d06d6bSBaptiste Daroussin.Pp
258261d06d6bSBaptiste Daroussin.It \-ieee1275-94
258361d06d6bSBaptiste Daroussin.St -ieee1275-94
258461d06d6bSBaptiste Daroussin.El
258561d06d6bSBaptiste Daroussin.El
25866d38604fSBaptiste Daroussin.Tg Sx
25877295610fSBaptiste Daroussin.It Ic \&Sx Ar Title line
258861d06d6bSBaptiste DaroussinReference a section or subsection in the same manual page.
258961d06d6bSBaptiste DaroussinThe referenced section or subsection name must be identical to the
259061d06d6bSBaptiste Daroussinenclosed argument, including whitespace.
259161d06d6bSBaptiste Daroussin.Pp
259261d06d6bSBaptiste DaroussinExamples:
259361d06d6bSBaptiste Daroussin.Dl \&.Sx MANUAL STRUCTURE
259461d06d6bSBaptiste Daroussin.Pp
259561d06d6bSBaptiste DaroussinSee also
25967295610fSBaptiste Daroussin.Ic \&Sh
259761d06d6bSBaptiste Daroussinand
25987295610fSBaptiste Daroussin.Ic \&Ss .
25996d38604fSBaptiste Daroussin.Tg Sy
26007295610fSBaptiste Daroussin.It Ic \&Sy Ar word ...
260161d06d6bSBaptiste DaroussinRequest a boldface font.
260261d06d6bSBaptiste Daroussin.Pp
260361d06d6bSBaptiste DaroussinThis is most often used to indicate importance or seriousness (not to be
260461d06d6bSBaptiste Daroussinconfused with stress emphasis, see
26057295610fSBaptiste Daroussin.Ic \&Em ) .
260661d06d6bSBaptiste DaroussinWhen none of the semantic macros fit, it is also adequate for syntax
260761d06d6bSBaptiste Daroussinelements that have to be given or that appear verbatim.
260861d06d6bSBaptiste Daroussin.Pp
260961d06d6bSBaptiste DaroussinExamples:
261061d06d6bSBaptiste Daroussin.Bd -literal -compact -offset indent
261161d06d6bSBaptiste Daroussin\&.Sy Warning :
261261d06d6bSBaptiste DaroussinIf
261361d06d6bSBaptiste Daroussin\&.Sy s
261461d06d6bSBaptiste Daroussinappears in the owner permissions, set-user-ID mode is set.
261561d06d6bSBaptiste DaroussinThis utility replaces the former
261661d06d6bSBaptiste Daroussin\&.Sy dumpdir
261761d06d6bSBaptiste Daroussinprogram.
261861d06d6bSBaptiste Daroussin.Ed
261961d06d6bSBaptiste Daroussin.Pp
262061d06d6bSBaptiste DaroussinSee also
26217295610fSBaptiste Daroussin.Ic \&Em ,
26227295610fSBaptiste Daroussin.Ic \&No ,
262361d06d6bSBaptiste Daroussinand
26247295610fSBaptiste Daroussin.Ic \&Ql .
26256d38604fSBaptiste Daroussin.Tg Ta
26267295610fSBaptiste Daroussin.It Ic \&Ta
262761d06d6bSBaptiste DaroussinTable cell separator in
26287295610fSBaptiste Daroussin.Ic \&Bl Fl column
262961d06d6bSBaptiste Daroussinlists; can only be used below
26307295610fSBaptiste Daroussin.Ic \&It .
26316d38604fSBaptiste Daroussin.Tg Tg
26326d38604fSBaptiste Daroussin.It Ic \&Tg Op Ar term
26336d38604fSBaptiste DaroussinAnnounce that the next input line starts a definition of the
26346d38604fSBaptiste Daroussin.Ar term .
26356d38604fSBaptiste DaroussinThis macro must appear alone on its own input line.
26366d38604fSBaptiste DaroussinThe argument defaults to the first argument of the first macro
26376d38604fSBaptiste Daroussinon the next line.
26386d38604fSBaptiste DaroussinThe argument may not contain whitespace characters, not even when it is quoted.
26396d38604fSBaptiste DaroussinThis macro is a
26406d38604fSBaptiste Daroussin.Xr mandoc 1
26416d38604fSBaptiste Daroussinextension and is typically ignored by other formatters.
26426d38604fSBaptiste Daroussin.Pp
26436d38604fSBaptiste DaroussinWhen viewing terminal output with
26446d38604fSBaptiste Daroussin.Xr less 1 ,
26456d38604fSBaptiste Daroussinthe interactive
26466d38604fSBaptiste Daroussin.Ic :t
26476d38604fSBaptiste Daroussincommand can be used to go to the definition of the
26486d38604fSBaptiste Daroussin.Ar term
26496d38604fSBaptiste Daroussinas described for the
26506d38604fSBaptiste Daroussin.Ev MANPAGER
26516d38604fSBaptiste Daroussinvariable in
26526d38604fSBaptiste Daroussin.Xr man 1 ;
26536d38604fSBaptiste Daroussinwhen producing HTML output, a fragment identifier
26546d38604fSBaptiste Daroussin.Pq Ic id No attribute
26556d38604fSBaptiste Daroussinis generated, to be used for deep linking to this place of the document.
26566d38604fSBaptiste Daroussin.Pp
26576d38604fSBaptiste DaroussinIn most cases, adding a
26586d38604fSBaptiste Daroussin.Ic \&Tg
26596d38604fSBaptiste Daroussinmacro would be redundant because
26606d38604fSBaptiste Daroussin.Xr mandoc 1
26616d38604fSBaptiste Daroussinis able to automatically tag most definitions.
26626d38604fSBaptiste DaroussinThis macro is intended for cases where automatic tagging of a
26636d38604fSBaptiste Daroussin.Ar term
26646d38604fSBaptiste Daroussinis unsatisfactory, for example if a definition is not tagged
26656d38604fSBaptiste Daroussinautomatically (false negative) or if places are tagged that do
26666d38604fSBaptiste Daroussinnot define the
26676d38604fSBaptiste Daroussin.Ar term
26686d38604fSBaptiste Daroussin(false positives).
26696d38604fSBaptiste DaroussinWhen there is at least one
26706d38604fSBaptiste Daroussin.Ic \&Tg
26716d38604fSBaptiste Daroussinmacro for a
26726d38604fSBaptiste Daroussin.Ar term ,
26736d38604fSBaptiste Daroussinno other places are automatically marked as definitions of that
26746d38604fSBaptiste Daroussin.Ar term .
26757295610fSBaptiste Daroussin.It Ic \&Tn Ar word ...
267661d06d6bSBaptiste DaroussinSupported only for compatibility, do not use this in new manuals.
267761d06d6bSBaptiste DaroussinEven though the macro name
267861d06d6bSBaptiste Daroussin.Pq Dq tradename
267961d06d6bSBaptiste Daroussinsuggests a semantic function, historic usage is inconsistent, mostly
268061d06d6bSBaptiste Daroussinusing it as a presentation-level macro to request a small caps font.
26817295610fSBaptiste Daroussin.It Ic \&Ud
268261d06d6bSBaptiste DaroussinSupported only for compatibility, do not use this in new manuals.
268361d06d6bSBaptiste DaroussinPrints out
268461d06d6bSBaptiste Daroussin.Dq currently under development.
26857295610fSBaptiste Daroussin.It Ic \&Ux
268661d06d6bSBaptiste DaroussinSupported only for compatibility, do not use this in new manuals.
268761d06d6bSBaptiste DaroussinPrints out
268861d06d6bSBaptiste Daroussin.Dq Ux .
26896d38604fSBaptiste Daroussin.Tg Va
26907295610fSBaptiste Daroussin.It Ic \&Va Oo Ar type Oc Ar identifier ...
269161d06d6bSBaptiste DaroussinA variable name.
269261d06d6bSBaptiste Daroussin.Pp
269361d06d6bSBaptiste DaroussinExamples:
269461d06d6bSBaptiste Daroussin.Dl \&.Va foo
269561d06d6bSBaptiste Daroussin.Dl \&.Va const char *bar ;
269661d06d6bSBaptiste Daroussin.Pp
269761d06d6bSBaptiste DaroussinFor function arguments and parameters, use
26987295610fSBaptiste Daroussin.Ic \&Fa
269961d06d6bSBaptiste Daroussininstead.
270061d06d6bSBaptiste DaroussinFor declarations of global variables in the
270161d06d6bSBaptiste Daroussin.Em SYNOPSIS
270261d06d6bSBaptiste Daroussinsection, use
27037295610fSBaptiste Daroussin.Ic \&Vt .
27046d38604fSBaptiste Daroussin.Tg Vt
27057295610fSBaptiste Daroussin.It Ic \&Vt Ar type Op Ar identifier
270661d06d6bSBaptiste DaroussinA variable type.
270761d06d6bSBaptiste Daroussin.Pp
270861d06d6bSBaptiste DaroussinThis is also used for indicating global variables in the
270961d06d6bSBaptiste Daroussin.Em SYNOPSIS
271061d06d6bSBaptiste Daroussinsection, in which case a variable name is also specified.
271161d06d6bSBaptiste DaroussinNote that it accepts
271261d06d6bSBaptiste Daroussin.Sx Block partial-implicit
271361d06d6bSBaptiste Daroussinsyntax when invoked as the first macro on an input line in the
271461d06d6bSBaptiste Daroussin.Em SYNOPSIS
271561d06d6bSBaptiste Daroussinsection, else it accepts ordinary
271661d06d6bSBaptiste Daroussin.Sx In-line
271761d06d6bSBaptiste Daroussinsyntax.
271861d06d6bSBaptiste DaroussinIn the former case, this macro starts a new output line,
271961d06d6bSBaptiste Daroussinand a blank line is inserted in front if there is a preceding
272061d06d6bSBaptiste Daroussinfunction definition or include directive.
272161d06d6bSBaptiste Daroussin.Pp
272261d06d6bSBaptiste DaroussinExamples:
272361d06d6bSBaptiste Daroussin.Dl \&.Vt unsigned char
272461d06d6bSBaptiste Daroussin.Dl \&.Vt extern const char * const sys_signame[] \&;
272561d06d6bSBaptiste Daroussin.Pp
272661d06d6bSBaptiste DaroussinFor parameters in function prototypes, use
27277295610fSBaptiste Daroussin.Ic \&Fa
272861d06d6bSBaptiste Daroussininstead, for function return types
27297295610fSBaptiste Daroussin.Ic \&Ft ,
273061d06d6bSBaptiste Daroussinand for variable names outside the
273161d06d6bSBaptiste Daroussin.Em SYNOPSIS
273261d06d6bSBaptiste Daroussinsection
27337295610fSBaptiste Daroussin.Ic \&Va ,
273461d06d6bSBaptiste Daroussineven when including a type with the name.
273561d06d6bSBaptiste DaroussinSee also
273661d06d6bSBaptiste Daroussin.Sx MANUAL STRUCTURE .
27377295610fSBaptiste Daroussin.It Ic \&Xc
273861d06d6bSBaptiste DaroussinClose a scope opened by
27397295610fSBaptiste Daroussin.Ic \&Xo .
27407295610fSBaptiste Daroussin.It Ic \&Xo Ar block
274161d06d6bSBaptiste DaroussinExtend the header of an
27427295610fSBaptiste Daroussin.Ic \&It
274361d06d6bSBaptiste Daroussinmacro or the body of a partial-implicit block macro
274461d06d6bSBaptiste Daroussinbeyond the end of the input line.
274561d06d6bSBaptiste DaroussinThis macro originally existed to work around the 9-argument limit
274661d06d6bSBaptiste Daroussinof historic
274761d06d6bSBaptiste Daroussin.Xr roff 7 .
27486d38604fSBaptiste Daroussin.Tg Xr
27497295610fSBaptiste Daroussin.It Ic \&Xr Ar name section
275061d06d6bSBaptiste DaroussinLink to another manual
275161d06d6bSBaptiste Daroussin.Pq Qq cross-reference .
275261d06d6bSBaptiste Daroussin.Pp
275361d06d6bSBaptiste DaroussinCross reference the
275461d06d6bSBaptiste Daroussin.Ar name
275561d06d6bSBaptiste Daroussinand
275661d06d6bSBaptiste Daroussin.Ar section
275761d06d6bSBaptiste Daroussinnumber of another man page.
275861d06d6bSBaptiste Daroussin.Pp
275961d06d6bSBaptiste DaroussinExamples:
276061d06d6bSBaptiste Daroussin.Dl \&.Xr mandoc 1
276161d06d6bSBaptiste Daroussin.Dl \&.Xr mandoc 1 \&;
276261d06d6bSBaptiste Daroussin.Dl \&.Xr mandoc 1 \&Ns s behaviour
27637295610fSBaptiste Daroussin.El
276461d06d6bSBaptiste Daroussin.Sh MACRO SYNTAX
276561d06d6bSBaptiste DaroussinThe syntax of a macro depends on its classification.
276661d06d6bSBaptiste DaroussinIn this section,
276761d06d6bSBaptiste Daroussin.Sq \-arg
276861d06d6bSBaptiste Daroussinrefers to macro arguments, which may be followed by zero or more
276961d06d6bSBaptiste Daroussin.Sq parm
277061d06d6bSBaptiste Daroussinparameters;
277161d06d6bSBaptiste Daroussin.Sq \&Yo
277261d06d6bSBaptiste Daroussinopens the scope of a macro; and if specified,
277361d06d6bSBaptiste Daroussin.Sq \&Yc
277461d06d6bSBaptiste Daroussincloses it out.
277561d06d6bSBaptiste Daroussin.Pp
277661d06d6bSBaptiste DaroussinThe
277761d06d6bSBaptiste Daroussin.Em Callable
277861d06d6bSBaptiste Daroussincolumn indicates that the macro may also be called by passing its name
277961d06d6bSBaptiste Daroussinas an argument to another macro.
278061d06d6bSBaptiste DaroussinFor example,
278161d06d6bSBaptiste Daroussin.Sq \&.Op \&Fl O \&Ar file
278261d06d6bSBaptiste Daroussinproduces
278361d06d6bSBaptiste Daroussin.Sq Op Fl O Ar file .
278461d06d6bSBaptiste DaroussinTo prevent a macro call and render the macro name literally,
278561d06d6bSBaptiste Daroussinescape it by prepending a zero-width space,
278661d06d6bSBaptiste Daroussin.Sq \e& .
278761d06d6bSBaptiste DaroussinFor example,
278861d06d6bSBaptiste Daroussin.Sq \&Op \e&Fl O
278961d06d6bSBaptiste Daroussinproduces
279061d06d6bSBaptiste Daroussin.Sq Op \&Fl O .
279161d06d6bSBaptiste DaroussinIf a macro is not callable but its name appears as an argument
279261d06d6bSBaptiste Daroussinto another macro, it is interpreted as opaque text.
279361d06d6bSBaptiste DaroussinFor example,
279461d06d6bSBaptiste Daroussin.Sq \&.Fl \&Sh
279561d06d6bSBaptiste Daroussinproduces
279661d06d6bSBaptiste Daroussin.Sq Fl \&Sh .
279761d06d6bSBaptiste Daroussin.Pp
279861d06d6bSBaptiste DaroussinThe
279961d06d6bSBaptiste Daroussin.Em Parsed
280061d06d6bSBaptiste Daroussincolumn indicates whether the macro may call other macros by receiving
280161d06d6bSBaptiste Daroussintheir names as arguments.
280261d06d6bSBaptiste DaroussinIf a macro is not parsed but the name of another macro appears
280361d06d6bSBaptiste Daroussinas an argument, it is interpreted as opaque text.
280461d06d6bSBaptiste Daroussin.Pp
280561d06d6bSBaptiste DaroussinThe
280661d06d6bSBaptiste Daroussin.Em Scope
280761d06d6bSBaptiste Daroussincolumn, if applicable, describes closure rules.
280861d06d6bSBaptiste Daroussin.Ss Block full-explicit
280961d06d6bSBaptiste DaroussinMulti-line scope closed by an explicit closing macro.
281061d06d6bSBaptiste DaroussinAll macros contains bodies; only
28116d38604fSBaptiste Daroussin.Ic \&Bf
281261d06d6bSBaptiste Daroussinand
281361d06d6bSBaptiste Daroussin.Pq optionally
28147295610fSBaptiste Daroussin.Ic \&Bl
281561d06d6bSBaptiste Daroussincontain a head.
281661d06d6bSBaptiste Daroussin.Bd -literal -offset indent
281761d06d6bSBaptiste Daroussin\&.Yo \(lB\-arg \(lBparm...\(rB\(rB \(lBhead...\(rB
281861d06d6bSBaptiste Daroussin\(lBbody...\(rB
281961d06d6bSBaptiste Daroussin\&.Yc
282061d06d6bSBaptiste Daroussin.Ed
282161d06d6bSBaptiste Daroussin.Bl -column "MacroX" "CallableX" "ParsedX" "closed by XXX" -offset indent
282261d06d6bSBaptiste Daroussin.It Em Macro Ta Em Callable Ta Em Parsed Ta Em Scope
28237295610fSBaptiste Daroussin.It Ic \&Bd  Ta    \&No     Ta    \&No     Ta    closed by Ic \&Ed
28247295610fSBaptiste Daroussin.It Ic \&Bf  Ta    \&No     Ta    \&No     Ta    closed by Ic \&Ef
28257295610fSBaptiste Daroussin.It Ic \&Bk  Ta    \&No     Ta    \&No     Ta    closed by Ic \&Ek
28267295610fSBaptiste Daroussin.It Ic \&Bl  Ta    \&No     Ta    \&No     Ta    closed by Ic \&El
28277295610fSBaptiste Daroussin.It Ic \&Ed  Ta    \&No     Ta    \&No     Ta    opened by Ic \&Bd
28287295610fSBaptiste Daroussin.It Ic \&Ef  Ta    \&No     Ta    \&No     Ta    opened by Ic \&Bf
28297295610fSBaptiste Daroussin.It Ic \&Ek  Ta    \&No     Ta    \&No     Ta    opened by Ic \&Bk
28307295610fSBaptiste Daroussin.It Ic \&El  Ta    \&No     Ta    \&No     Ta    opened by Ic \&Bl
283161d06d6bSBaptiste Daroussin.El
283261d06d6bSBaptiste Daroussin.Ss Block full-implicit
283361d06d6bSBaptiste DaroussinMulti-line scope closed by end-of-file or implicitly by another macro.
283461d06d6bSBaptiste DaroussinAll macros have bodies; some
283561d06d6bSBaptiste Daroussin.Po
28367295610fSBaptiste Daroussin.Ic \&It Fl bullet ,
283761d06d6bSBaptiste Daroussin.Fl hyphen ,
283861d06d6bSBaptiste Daroussin.Fl dash ,
283961d06d6bSBaptiste Daroussin.Fl enum ,
284061d06d6bSBaptiste Daroussin.Fl item
284161d06d6bSBaptiste Daroussin.Pc
284261d06d6bSBaptiste Daroussindon't have heads; only one
284361d06d6bSBaptiste Daroussin.Po
28447295610fSBaptiste Daroussin.Ic \&It
284561d06d6bSBaptiste Daroussinin
28467295610fSBaptiste Daroussin.Ic \&Bl Fl column
284761d06d6bSBaptiste Daroussin.Pc
284861d06d6bSBaptiste Daroussinhas multiple heads.
284961d06d6bSBaptiste Daroussin.Bd -literal -offset indent
285061d06d6bSBaptiste Daroussin\&.Yo \(lB\-arg \(lBparm...\(rB\(rB \(lBhead... \(lBTa head...\(rB\(rB
285161d06d6bSBaptiste Daroussin\(lBbody...\(rB
285261d06d6bSBaptiste Daroussin.Ed
285361d06d6bSBaptiste Daroussin.Bl -column "MacroX" "CallableX" "ParsedX" "closed by XXXXXXXXXXX" -offset indent
285461d06d6bSBaptiste Daroussin.It Em Macro Ta Em Callable Ta Em Parsed Ta Em Scope
28557295610fSBaptiste Daroussin.It Ic \&It Ta \&No Ta Yes  Ta closed by Ic \&It , Ic \&El
28567295610fSBaptiste Daroussin.It Ic \&Nd Ta \&No Ta \&No Ta closed by Ic \&Sh
28577295610fSBaptiste Daroussin.It Ic \&Nm Ta \&No Ta Yes  Ta closed by Ic \&Nm , Ic \&Sh , Ic \&Ss
28587295610fSBaptiste Daroussin.It Ic \&Sh Ta \&No Ta Yes  Ta closed by Ic \&Sh
28597295610fSBaptiste Daroussin.It Ic \&Ss Ta \&No Ta Yes  Ta closed by Ic \&Sh , Ic \&Ss
286061d06d6bSBaptiste Daroussin.El
286161d06d6bSBaptiste Daroussin.Pp
286261d06d6bSBaptiste DaroussinNote that the
28637295610fSBaptiste Daroussin.Ic \&Nm
286461d06d6bSBaptiste Daroussinmacro is a
286561d06d6bSBaptiste Daroussin.Sx Block full-implicit
286661d06d6bSBaptiste Daroussinmacro only when invoked as the first macro
286761d06d6bSBaptiste Daroussinin a
286861d06d6bSBaptiste Daroussin.Em SYNOPSIS
286961d06d6bSBaptiste Daroussinsection line, else it is
287061d06d6bSBaptiste Daroussin.Sx In-line .
287161d06d6bSBaptiste Daroussin.Ss Block partial-explicit
287261d06d6bSBaptiste DaroussinLike block full-explicit, but also with single-line scope.
287361d06d6bSBaptiste DaroussinEach has at least a body and, in limited circumstances, a head
287461d06d6bSBaptiste Daroussin.Po
28757295610fSBaptiste Daroussin.Ic \&Fo ,
28767295610fSBaptiste Daroussin.Ic \&Eo
287761d06d6bSBaptiste Daroussin.Pc
287861d06d6bSBaptiste Daroussinand/or tail
28797295610fSBaptiste Daroussin.Pq Ic \&Ec .
288061d06d6bSBaptiste Daroussin.Bd -literal -offset indent
288161d06d6bSBaptiste Daroussin\&.Yo \(lB\-arg \(lBparm...\(rB\(rB \(lBhead...\(rB
288261d06d6bSBaptiste Daroussin\(lBbody...\(rB
288361d06d6bSBaptiste Daroussin\&.Yc \(lBtail...\(rB
288461d06d6bSBaptiste Daroussin
288561d06d6bSBaptiste Daroussin\&.Yo \(lB\-arg \(lBparm...\(rB\(rB \(lBhead...\(rB \
288661d06d6bSBaptiste Daroussin\(lBbody...\(rB \&Yc \(lBtail...\(rB
288761d06d6bSBaptiste Daroussin.Ed
288861d06d6bSBaptiste Daroussin.Bl -column "MacroX" "CallableX" "ParsedX" "closed by XXXX" -offset indent
288961d06d6bSBaptiste Daroussin.It Em Macro Ta Em Callable Ta Em Parsed Ta Em Scope
28907295610fSBaptiste Daroussin.It Ic \&Ac  Ta    Yes      Ta    Yes      Ta    opened by Ic \&Ao
28917295610fSBaptiste Daroussin.It Ic \&Ao  Ta    Yes      Ta    Yes      Ta    closed by Ic \&Ac
28927295610fSBaptiste Daroussin.It Ic \&Bc  Ta    Yes      Ta    Yes      Ta    closed by Ic \&Bo
28937295610fSBaptiste Daroussin.It Ic \&Bo  Ta    Yes      Ta    Yes      Ta    opened by Ic \&Bc
28947295610fSBaptiste Daroussin.It Ic \&Brc Ta    Yes      Ta    Yes      Ta    opened by Ic \&Bro
28957295610fSBaptiste Daroussin.It Ic \&Bro Ta    Yes      Ta    Yes      Ta    closed by Ic \&Brc
28967295610fSBaptiste Daroussin.It Ic \&Dc  Ta    Yes      Ta    Yes      Ta    opened by Ic \&Do
28977295610fSBaptiste Daroussin.It Ic \&Do  Ta    Yes      Ta    Yes      Ta    closed by Ic \&Dc
28987295610fSBaptiste Daroussin.It Ic \&Ec  Ta    Yes      Ta    Yes      Ta    opened by Ic \&Eo
28997295610fSBaptiste Daroussin.It Ic \&Eo  Ta    Yes      Ta    Yes      Ta    closed by Ic \&Ec
29007295610fSBaptiste Daroussin.It Ic \&Fc  Ta    Yes      Ta    Yes      Ta    opened by Ic \&Fo
29017295610fSBaptiste Daroussin.It Ic \&Fo  Ta    \&No     Ta    \&No     Ta    closed by Ic \&Fc
29027295610fSBaptiste Daroussin.It Ic \&Oc  Ta    Yes      Ta    Yes      Ta    closed by Ic \&Oo
29037295610fSBaptiste Daroussin.It Ic \&Oo  Ta    Yes      Ta    Yes      Ta    opened by Ic \&Oc
29047295610fSBaptiste Daroussin.It Ic \&Pc  Ta    Yes      Ta    Yes      Ta    closed by Ic \&Po
29057295610fSBaptiste Daroussin.It Ic \&Po  Ta    Yes      Ta    Yes      Ta    opened by Ic \&Pc
29067295610fSBaptiste Daroussin.It Ic \&Qc  Ta    Yes      Ta    Yes      Ta    opened by Ic \&Oo
29077295610fSBaptiste Daroussin.It Ic \&Qo  Ta    Yes      Ta    Yes      Ta    closed by Ic \&Oc
29087295610fSBaptiste Daroussin.It Ic \&Re  Ta    \&No     Ta    \&No     Ta    opened by Ic \&Rs
29097295610fSBaptiste Daroussin.It Ic \&Rs  Ta    \&No     Ta    \&No     Ta    closed by Ic \&Re
29107295610fSBaptiste Daroussin.It Ic \&Sc  Ta    Yes      Ta    Yes      Ta    opened by Ic \&So
29117295610fSBaptiste Daroussin.It Ic \&So  Ta    Yes      Ta    Yes      Ta    closed by Ic \&Sc
29127295610fSBaptiste Daroussin.It Ic \&Xc  Ta    Yes      Ta    Yes      Ta    opened by Ic \&Xo
29137295610fSBaptiste Daroussin.It Ic \&Xo  Ta    Yes      Ta    Yes      Ta    closed by Ic \&Xc
291461d06d6bSBaptiste Daroussin.El
291561d06d6bSBaptiste Daroussin.Ss Block partial-implicit
291661d06d6bSBaptiste DaroussinLike block full-implicit, but with single-line scope closed by the
291761d06d6bSBaptiste Daroussinend of the line.
291861d06d6bSBaptiste Daroussin.Bd -literal -offset indent
291961d06d6bSBaptiste Daroussin\&.Yo \(lB\-arg \(lBval...\(rB\(rB \(lBbody...\(rB \(lBres...\(rB
292061d06d6bSBaptiste Daroussin.Ed
292161d06d6bSBaptiste Daroussin.Bl -column "MacroX" "CallableX" "ParsedX" -offset indent
292261d06d6bSBaptiste Daroussin.It Em Macro Ta Em Callable Ta Em Parsed
29237295610fSBaptiste Daroussin.It Ic \&Aq  Ta    Yes      Ta    Yes
29247295610fSBaptiste Daroussin.It Ic \&Bq  Ta    Yes      Ta    Yes
29257295610fSBaptiste Daroussin.It Ic \&Brq Ta    Yes      Ta    Yes
29267295610fSBaptiste Daroussin.It Ic \&D1  Ta    \&No     Ta    \&Yes
29277295610fSBaptiste Daroussin.It Ic \&Dl  Ta    \&No     Ta    Yes
29287295610fSBaptiste Daroussin.It Ic \&Dq  Ta    Yes      Ta    Yes
29297295610fSBaptiste Daroussin.It Ic \&En  Ta    Yes      Ta    Yes
29307295610fSBaptiste Daroussin.It Ic \&Op  Ta    Yes      Ta    Yes
29317295610fSBaptiste Daroussin.It Ic \&Pq  Ta    Yes      Ta    Yes
29327295610fSBaptiste Daroussin.It Ic \&Ql  Ta    Yes      Ta    Yes
29337295610fSBaptiste Daroussin.It Ic \&Qq  Ta    Yes      Ta    Yes
29347295610fSBaptiste Daroussin.It Ic \&Sq  Ta    Yes      Ta    Yes
29357295610fSBaptiste Daroussin.It Ic \&Vt  Ta    Yes      Ta    Yes
293661d06d6bSBaptiste Daroussin.El
293761d06d6bSBaptiste Daroussin.Pp
293861d06d6bSBaptiste DaroussinNote that the
29397295610fSBaptiste Daroussin.Ic \&Vt
294061d06d6bSBaptiste Daroussinmacro is a
294161d06d6bSBaptiste Daroussin.Sx Block partial-implicit
294261d06d6bSBaptiste Daroussinonly when invoked as the first macro
294361d06d6bSBaptiste Daroussinin a
294461d06d6bSBaptiste Daroussin.Em SYNOPSIS
294561d06d6bSBaptiste Daroussinsection line, else it is
294661d06d6bSBaptiste Daroussin.Sx In-line .
294761d06d6bSBaptiste Daroussin.Ss Special block macro
294861d06d6bSBaptiste DaroussinThe
29497295610fSBaptiste Daroussin.Ic \&Ta
295061d06d6bSBaptiste Daroussinmacro can only be used below
29517295610fSBaptiste Daroussin.Ic \&It
295261d06d6bSBaptiste Daroussinin
29537295610fSBaptiste Daroussin.Ic \&Bl Fl column
295461d06d6bSBaptiste Daroussinlists.
295561d06d6bSBaptiste DaroussinIt delimits blocks representing table cells;
295661d06d6bSBaptiste Daroussinthese blocks have bodies, but no heads.
295761d06d6bSBaptiste Daroussin.Bl -column "MacroX" "CallableX" "ParsedX" "closed by XXXX" -offset indent
295861d06d6bSBaptiste Daroussin.It Em Macro Ta Em Callable Ta Em Parsed Ta Em Scope
29597295610fSBaptiste Daroussin.It Ic \&Ta  Ta    Yes      Ta    Yes    Ta closed by Ic \&Ta , Ic \&It
296061d06d6bSBaptiste Daroussin.El
296161d06d6bSBaptiste Daroussin.Ss In-line
296261d06d6bSBaptiste DaroussinClosed by the end of the line, fixed argument lengths,
296361d06d6bSBaptiste Daroussinand/or subsequent macros.
296461d06d6bSBaptiste DaroussinIn-line macros have only text children.
296561d06d6bSBaptiste DaroussinIf a number (or inequality) of arguments is
296661d06d6bSBaptiste Daroussin.Pq n ,
296761d06d6bSBaptiste Daroussinthen the macro accepts an arbitrary number of arguments.
296861d06d6bSBaptiste Daroussin.Bd -literal -offset indent
296961d06d6bSBaptiste Daroussin\&.Yo \(lB\-arg \(lBval...\(rB\(rB \(lBargs...\(rB \(lBres...\(rB
297061d06d6bSBaptiste Daroussin
297161d06d6bSBaptiste Daroussin\&.Yo \(lB\-arg \(lBval...\(rB\(rB \(lBargs...\(rB Yc...
297261d06d6bSBaptiste Daroussin
297361d06d6bSBaptiste Daroussin\&.Yo \(lB\-arg \(lBval...\(rB\(rB arg0 arg1 argN
297461d06d6bSBaptiste Daroussin.Ed
297561d06d6bSBaptiste Daroussin.Bl -column "MacroX" "CallableX" "ParsedX" "Arguments" -offset indent
297661d06d6bSBaptiste Daroussin.It Em Macro Ta Em Callable Ta Em Parsed Ta Em Arguments
29777295610fSBaptiste Daroussin.It Ic \&%A  Ta    \&No     Ta    \&No     Ta    >0
29787295610fSBaptiste Daroussin.It Ic \&%B  Ta    \&No     Ta    \&No     Ta    >0
29797295610fSBaptiste Daroussin.It Ic \&%C  Ta    \&No     Ta    \&No     Ta    >0
29807295610fSBaptiste Daroussin.It Ic \&%D  Ta    \&No     Ta    \&No     Ta    >0
29817295610fSBaptiste Daroussin.It Ic \&%I  Ta    \&No     Ta    \&No     Ta    >0
29827295610fSBaptiste Daroussin.It Ic \&%J  Ta    \&No     Ta    \&No     Ta    >0
29837295610fSBaptiste Daroussin.It Ic \&%N  Ta    \&No     Ta    \&No     Ta    >0
29847295610fSBaptiste Daroussin.It Ic \&%O  Ta    \&No     Ta    \&No     Ta    >0
29857295610fSBaptiste Daroussin.It Ic \&%P  Ta    \&No     Ta    \&No     Ta    >0
29867295610fSBaptiste Daroussin.It Ic \&%Q  Ta    \&No     Ta    \&No     Ta    >0
29877295610fSBaptiste Daroussin.It Ic \&%R  Ta    \&No     Ta    \&No     Ta    >0
29887295610fSBaptiste Daroussin.It Ic \&%T  Ta    \&No     Ta    \&No     Ta    >0
29897295610fSBaptiste Daroussin.It Ic \&%U  Ta    \&No     Ta    \&No     Ta    >0
29907295610fSBaptiste Daroussin.It Ic \&%V  Ta    \&No     Ta    \&No     Ta    >0
29917295610fSBaptiste Daroussin.It Ic \&Ad  Ta    Yes      Ta    Yes      Ta    >0
29927295610fSBaptiste Daroussin.It Ic \&An  Ta    Yes      Ta    Yes      Ta    >0
29937295610fSBaptiste Daroussin.It Ic \&Ap  Ta    Yes      Ta    Yes      Ta    0
29947295610fSBaptiste Daroussin.It Ic \&Ar  Ta    Yes      Ta    Yes      Ta    n
29957295610fSBaptiste Daroussin.It Ic \&At  Ta    Yes      Ta    Yes      Ta    1
29967295610fSBaptiste Daroussin.It Ic \&Bsx Ta    Yes      Ta    Yes      Ta    n
29977295610fSBaptiste Daroussin.It Ic \&Bt  Ta    \&No     Ta    \&No     Ta    0
29987295610fSBaptiste Daroussin.It Ic \&Bx  Ta    Yes      Ta    Yes      Ta    n
29997295610fSBaptiste Daroussin.It Ic \&Cd  Ta    Yes      Ta    Yes      Ta    >0
30007295610fSBaptiste Daroussin.It Ic \&Cm  Ta    Yes      Ta    Yes      Ta    >0
30017295610fSBaptiste Daroussin.It Ic \&Db  Ta    \&No     Ta    \&No     Ta    1
30027295610fSBaptiste Daroussin.It Ic \&Dd  Ta    \&No     Ta    \&No     Ta    n
30037295610fSBaptiste Daroussin.It Ic \&Dt  Ta    \&No     Ta    \&No     Ta    n
30047295610fSBaptiste Daroussin.It Ic \&Dv  Ta    Yes      Ta    Yes      Ta    >0
30057295610fSBaptiste Daroussin.It Ic \&Dx  Ta    Yes      Ta    Yes      Ta    n
30067295610fSBaptiste Daroussin.It Ic \&Em  Ta    Yes      Ta    Yes      Ta    >0
30077295610fSBaptiste Daroussin.It Ic \&Er  Ta    Yes      Ta    Yes      Ta    >0
30087295610fSBaptiste Daroussin.It Ic \&Es  Ta    Yes      Ta    Yes      Ta    2
30097295610fSBaptiste Daroussin.It Ic \&Ev  Ta    Yes      Ta    Yes      Ta    >0
30107295610fSBaptiste Daroussin.It Ic \&Ex  Ta    \&No     Ta    \&No     Ta    n
30117295610fSBaptiste Daroussin.It Ic \&Fa  Ta    Yes      Ta    Yes      Ta    >0
30127295610fSBaptiste Daroussin.It Ic \&Fd  Ta    \&No     Ta    \&No     Ta    >0
30137295610fSBaptiste Daroussin.It Ic \&Fl  Ta    Yes      Ta    Yes      Ta    n
30147295610fSBaptiste Daroussin.It Ic \&Fn  Ta    Yes      Ta    Yes      Ta    >0
30157295610fSBaptiste Daroussin.It Ic \&Fr  Ta    Yes      Ta    Yes      Ta    >0
30167295610fSBaptiste Daroussin.It Ic \&Ft  Ta    Yes      Ta    Yes      Ta    >0
30177295610fSBaptiste Daroussin.It Ic \&Fx  Ta    Yes      Ta    Yes      Ta    n
30187295610fSBaptiste Daroussin.It Ic \&Hf  Ta    \&No     Ta    \&No     Ta    n
30197295610fSBaptiste Daroussin.It Ic \&Ic  Ta    Yes      Ta    Yes      Ta    >0
3020*c1c95addSBrooks Davis.It Ic \&In  Ta    Yes      Ta    Yes      Ta    1
30217295610fSBaptiste Daroussin.It Ic \&Lb  Ta    \&No     Ta    \&No     Ta    1
30227295610fSBaptiste Daroussin.It Ic \&Li  Ta    Yes      Ta    Yes      Ta    >0
30237295610fSBaptiste Daroussin.It Ic \&Lk  Ta    Yes      Ta    Yes      Ta    >0
30247295610fSBaptiste Daroussin.It Ic \&Lp  Ta    \&No     Ta    \&No     Ta    0
30257295610fSBaptiste Daroussin.It Ic \&Ms  Ta    Yes      Ta    Yes      Ta    >0
30267295610fSBaptiste Daroussin.It Ic \&Mt  Ta    Yes      Ta    Yes      Ta    >0
30277295610fSBaptiste Daroussin.It Ic \&Nm  Ta    Yes      Ta    Yes      Ta    n
30287295610fSBaptiste Daroussin.It Ic \&No  Ta    Yes      Ta    Yes      Ta    >0
30297295610fSBaptiste Daroussin.It Ic \&Ns  Ta    Yes      Ta    Yes      Ta    0
30307295610fSBaptiste Daroussin.It Ic \&Nx  Ta    Yes      Ta    Yes      Ta    n
30317295610fSBaptiste Daroussin.It Ic \&Os  Ta    \&No     Ta    \&No     Ta    n
30327295610fSBaptiste Daroussin.It Ic \&Ot  Ta    Yes      Ta    Yes      Ta    >0
30337295610fSBaptiste Daroussin.It Ic \&Ox  Ta    Yes      Ta    Yes      Ta    n
30347295610fSBaptiste Daroussin.It Ic \&Pa  Ta    Yes      Ta    Yes      Ta    n
30357295610fSBaptiste Daroussin.It Ic \&Pf  Ta    Yes      Ta    Yes      Ta    1
30367295610fSBaptiste Daroussin.It Ic \&Pp  Ta    \&No     Ta    \&No     Ta    0
30377295610fSBaptiste Daroussin.It Ic \&Rv  Ta    \&No     Ta    \&No     Ta    n
30387295610fSBaptiste Daroussin.It Ic \&Sm  Ta    \&No     Ta    \&No     Ta    <2
30397295610fSBaptiste Daroussin.It Ic \&St  Ta    \&No     Ta    Yes      Ta    1
30407295610fSBaptiste Daroussin.It Ic \&Sx  Ta    Yes      Ta    Yes      Ta    >0
30417295610fSBaptiste Daroussin.It Ic \&Sy  Ta    Yes      Ta    Yes      Ta    >0
30426d38604fSBaptiste Daroussin.It Ic \&Tg  Ta    \&No     Ta    \&No     Ta    <2
30437295610fSBaptiste Daroussin.It Ic \&Tn  Ta    Yes      Ta    Yes      Ta    >0
30447295610fSBaptiste Daroussin.It Ic \&Ud  Ta    \&No     Ta    \&No     Ta    0
30457295610fSBaptiste Daroussin.It Ic \&Ux  Ta    Yes      Ta    Yes      Ta    n
30467295610fSBaptiste Daroussin.It Ic \&Va  Ta    Yes      Ta    Yes      Ta    n
30477295610fSBaptiste Daroussin.It Ic \&Vt  Ta    Yes      Ta    Yes      Ta    >0
30487295610fSBaptiste Daroussin.It Ic \&Xr  Ta    Yes      Ta    Yes      Ta    2
304961d06d6bSBaptiste Daroussin.El
305061d06d6bSBaptiste Daroussin.Ss Delimiters
305161d06d6bSBaptiste DaroussinWhen a macro argument consists of one single input character
305261d06d6bSBaptiste Daroussinconsidered as a delimiter, the argument gets special handling.
305361d06d6bSBaptiste DaroussinThis does not apply when delimiters appear in arguments containing
305461d06d6bSBaptiste Daroussinmore than one character.
305561d06d6bSBaptiste DaroussinConsequently, to prevent special handling and just handle it
305661d06d6bSBaptiste Daroussinlike any other argument, a delimiter can be escaped by prepending
305761d06d6bSBaptiste Daroussina zero-width space
305861d06d6bSBaptiste Daroussin.Pq Sq \e& .
305961d06d6bSBaptiste DaroussinIn text lines, delimiters never need escaping, but may be used
306061d06d6bSBaptiste Daroussinas normal punctuation.
306161d06d6bSBaptiste Daroussin.Pp
306261d06d6bSBaptiste DaroussinFor many macros, when the leading arguments are opening delimiters,
306361d06d6bSBaptiste Daroussinthese delimiters are put before the macro scope,
306461d06d6bSBaptiste Daroussinand when the trailing arguments are closing delimiters,
306561d06d6bSBaptiste Daroussinthese delimiters are put after the macro scope.
306661d06d6bSBaptiste DaroussinSpacing is suppressed after opening delimiters
306761d06d6bSBaptiste Daroussinand before closing delimiters.
306861d06d6bSBaptiste DaroussinFor example,
306961d06d6bSBaptiste Daroussin.Pp
307061d06d6bSBaptiste Daroussin.D1 Pf \. \&Aq "( [ word ] ) ."
307161d06d6bSBaptiste Daroussin.Pp
307261d06d6bSBaptiste Daroussinrenders as:
307361d06d6bSBaptiste Daroussin.Pp
307461d06d6bSBaptiste Daroussin.D1 Aq ( [ word ] ) .
307561d06d6bSBaptiste Daroussin.Pp
307661d06d6bSBaptiste DaroussinOpening delimiters are:
307761d06d6bSBaptiste Daroussin.Pp
307861d06d6bSBaptiste Daroussin.Bl -tag -width Ds -offset indent -compact
307961d06d6bSBaptiste Daroussin.It \&(
308061d06d6bSBaptiste Daroussinleft parenthesis
308161d06d6bSBaptiste Daroussin.It \&[
308261d06d6bSBaptiste Daroussinleft bracket
308361d06d6bSBaptiste Daroussin.El
308461d06d6bSBaptiste Daroussin.Pp
308561d06d6bSBaptiste DaroussinClosing delimiters are:
308661d06d6bSBaptiste Daroussin.Pp
308761d06d6bSBaptiste Daroussin.Bl -tag -width Ds -offset indent -compact
308861d06d6bSBaptiste Daroussin.It \&.
308961d06d6bSBaptiste Daroussinperiod
309061d06d6bSBaptiste Daroussin.It \&,
309161d06d6bSBaptiste Daroussincomma
309261d06d6bSBaptiste Daroussin.It \&:
309361d06d6bSBaptiste Daroussincolon
309461d06d6bSBaptiste Daroussin.It \&;
309561d06d6bSBaptiste Daroussinsemicolon
309661d06d6bSBaptiste Daroussin.It \&)
309761d06d6bSBaptiste Daroussinright parenthesis
309861d06d6bSBaptiste Daroussin.It \&]
309961d06d6bSBaptiste Daroussinright bracket
310061d06d6bSBaptiste Daroussin.It \&?
310161d06d6bSBaptiste Daroussinquestion mark
310261d06d6bSBaptiste Daroussin.It \&!
310361d06d6bSBaptiste Daroussinexclamation mark
310461d06d6bSBaptiste Daroussin.El
310561d06d6bSBaptiste Daroussin.Pp
310661d06d6bSBaptiste DaroussinNote that even a period preceded by a backslash
310761d06d6bSBaptiste Daroussin.Pq Sq \e.\&
310861d06d6bSBaptiste Daroussingets this special handling; use
310945a5aec3SBaptiste Daroussin.Sq \e&.\&
311061d06d6bSBaptiste Daroussinto prevent that.
311161d06d6bSBaptiste Daroussin.Pp
311261d06d6bSBaptiste DaroussinMany in-line macros interrupt their scope when they encounter
311361d06d6bSBaptiste Daroussindelimiters, and resume their scope when more arguments follow that
311461d06d6bSBaptiste Daroussinare not delimiters.
311561d06d6bSBaptiste DaroussinFor example,
311661d06d6bSBaptiste Daroussin.Pp
311761d06d6bSBaptiste Daroussin.D1 Pf \. \&Fl "a ( b | c \e*(Ba d ) e"
311861d06d6bSBaptiste Daroussin.Pp
311961d06d6bSBaptiste Daroussinrenders as:
312061d06d6bSBaptiste Daroussin.Pp
312161d06d6bSBaptiste Daroussin.D1 Fl a ( b | c \*(Ba d ) e
312261d06d6bSBaptiste Daroussin.Pp
312361d06d6bSBaptiste DaroussinThis applies to both opening and closing delimiters,
312461d06d6bSBaptiste Daroussinand also to the middle delimiter, which does not suppress spacing:
312561d06d6bSBaptiste Daroussin.Pp
312661d06d6bSBaptiste Daroussin.Bl -tag -width Ds -offset indent -compact
312761d06d6bSBaptiste Daroussin.It \&|
312861d06d6bSBaptiste Daroussinvertical bar
312961d06d6bSBaptiste Daroussin.El
313061d06d6bSBaptiste Daroussin.Pp
313161d06d6bSBaptiste DaroussinAs a special case, the predefined string \e*(Ba is handled and rendered
313261d06d6bSBaptiste Daroussinin the same way as a plain
313361d06d6bSBaptiste Daroussin.Sq \&|
313461d06d6bSBaptiste Daroussincharacter.
313561d06d6bSBaptiste DaroussinUsing this predefined string is not recommended in new manuals.
313645a5aec3SBaptiste Daroussin.Pp
313745a5aec3SBaptiste DaroussinAppending a zero-width space
313845a5aec3SBaptiste Daroussin.Pq Sq \e&
313945a5aec3SBaptiste Daroussinto the end of an input line is also useful to prevent the interpretation
314045a5aec3SBaptiste Daroussinof a trailing period, exclamation or question mark as the end of a
314145a5aec3SBaptiste Daroussinsentence, for example when an abbreviation happens to occur
314245a5aec3SBaptiste Daroussinat the end of a text or macro input line.
314361d06d6bSBaptiste Daroussin.Ss Font handling
314461d06d6bSBaptiste DaroussinIn
314561d06d6bSBaptiste Daroussin.Nm
314661d06d6bSBaptiste Daroussindocuments, usage of semantic markup is recommended in order to have
314761d06d6bSBaptiste Daroussinproper fonts automatically selected; only when no fitting semantic markup
314861d06d6bSBaptiste Daroussinis available, consider falling back to
314961d06d6bSBaptiste Daroussin.Sx Physical markup
315061d06d6bSBaptiste Daroussinmacros.
315161d06d6bSBaptiste DaroussinWhenever any
315261d06d6bSBaptiste Daroussin.Nm
315361d06d6bSBaptiste Daroussinmacro switches the
315461d06d6bSBaptiste Daroussin.Xr roff 7
315561d06d6bSBaptiste Daroussinfont mode, it will automatically restore the previous font when exiting
315661d06d6bSBaptiste Daroussinits scope.
315761d06d6bSBaptiste DaroussinManually switching the font using the
315861d06d6bSBaptiste Daroussin.Xr roff 7
315961d06d6bSBaptiste Daroussin.Ql \ef
316061d06d6bSBaptiste Daroussinfont escape sequences is never required.
316161d06d6bSBaptiste Daroussin.Sh COMPATIBILITY
316261d06d6bSBaptiste DaroussinThis section provides an incomplete list of compatibility issues
316361d06d6bSBaptiste Daroussinbetween mandoc and GNU troff
316461d06d6bSBaptiste Daroussin.Pq Qq groff .
316561d06d6bSBaptiste Daroussin.Pp
316661d06d6bSBaptiste DaroussinThe following problematic behaviour is found in groff:
316761d06d6bSBaptiste Daroussin.Pp
316861d06d6bSBaptiste Daroussin.Bl -dash -compact
316961d06d6bSBaptiste Daroussin.It
31707295610fSBaptiste Daroussin.Ic \&Pa
317161d06d6bSBaptiste Daroussindoes not format its arguments when used in the FILES section under
317261d06d6bSBaptiste Daroussincertain list types.
317361d06d6bSBaptiste Daroussin.It
31747295610fSBaptiste Daroussin.Ic \&Ta
317561d06d6bSBaptiste Daroussincan only be called by other macros, but not at the beginning of a line.
317661d06d6bSBaptiste Daroussin.It
317761d06d6bSBaptiste Daroussin.Sq \ef
317861d06d6bSBaptiste Daroussin.Pq font face
317961d06d6bSBaptiste Daroussinand
318061d06d6bSBaptiste Daroussin.Sq \eF
318161d06d6bSBaptiste Daroussin.Pq font family face
318261d06d6bSBaptiste Daroussin.Sx Text Decoration
318361d06d6bSBaptiste Daroussinescapes behave irregularly when specified within line-macro scopes.
318461d06d6bSBaptiste Daroussin.It
318561d06d6bSBaptiste DaroussinNegative scaling units return to prior lines.
318661d06d6bSBaptiste DaroussinInstead, mandoc truncates them to zero.
318761d06d6bSBaptiste Daroussin.El
318861d06d6bSBaptiste Daroussin.Pp
318961d06d6bSBaptiste DaroussinThe following features are unimplemented in mandoc:
319061d06d6bSBaptiste Daroussin.Pp
319161d06d6bSBaptiste Daroussin.Bl -dash -compact
319261d06d6bSBaptiste Daroussin.It
31937295610fSBaptiste Daroussin.Ic \&Bd Fl file Ar file
319461d06d6bSBaptiste Daroussinis unsupported for security reasons.
319561d06d6bSBaptiste Daroussin.It
31967295610fSBaptiste Daroussin.Ic \&Bd
319761d06d6bSBaptiste Daroussin.Fl filled
319861d06d6bSBaptiste Daroussindoes not adjust the right margin, but is an alias for
31997295610fSBaptiste Daroussin.Ic \&Bd
320061d06d6bSBaptiste Daroussin.Fl ragged .
320161d06d6bSBaptiste Daroussin.It
32027295610fSBaptiste Daroussin.Ic \&Bd
320361d06d6bSBaptiste Daroussin.Fl literal
320461d06d6bSBaptiste Daroussindoes not use a literal font, but is an alias for
32057295610fSBaptiste Daroussin.Ic \&Bd
320661d06d6bSBaptiste Daroussin.Fl unfilled .
320761d06d6bSBaptiste Daroussin.It
32087295610fSBaptiste Daroussin.Ic \&Bd
320961d06d6bSBaptiste Daroussin.Fl offset Cm center
321061d06d6bSBaptiste Daroussinand
321161d06d6bSBaptiste Daroussin.Fl offset Cm right
321261d06d6bSBaptiste Daroussindon't work.
321361d06d6bSBaptiste DaroussinGroff does not implement centered and flush-right rendering either,
321461d06d6bSBaptiste Daroussinbut produces large indentations.
321561d06d6bSBaptiste Daroussin.El
321661d06d6bSBaptiste Daroussin.Sh SEE ALSO
321761d06d6bSBaptiste Daroussin.Xr man 1 ,
321861d06d6bSBaptiste Daroussin.Xr mandoc 1 ,
321961d06d6bSBaptiste Daroussin.Xr eqn 7 ,
322061d06d6bSBaptiste Daroussin.Xr man 7 ,
322161d06d6bSBaptiste Daroussin.Xr mandoc_char 7 ,
322261d06d6bSBaptiste Daroussin.Xr roff 7 ,
322361d06d6bSBaptiste Daroussin.Xr tbl 7
322461d06d6bSBaptiste Daroussin.Pp
322561d06d6bSBaptiste DaroussinThe web page
32266d38604fSBaptiste Daroussin.Lk https://mandoc.bsd.lv/mdoc/ "extended documentation for the mdoc language"
322761d06d6bSBaptiste Daroussinprovides a few tutorial-style pages for beginners, an extensive style
322861d06d6bSBaptiste Daroussinguide for advanced authors, and an alphabetic index helping to choose
322961d06d6bSBaptiste Daroussinthe best macros for various kinds of content.
32306d38604fSBaptiste Daroussin.Pp
32316d38604fSBaptiste DaroussinThe manual page
32326d38604fSBaptiste Daroussin.Lk https://man.voidlinux.org/groff_mdoc "groff_mdoc(7)"
32336d38604fSBaptiste Daroussincontained in the
32346d38604fSBaptiste Daroussin.Dq groff
32356d38604fSBaptiste Daroussinpackage documents exactly the same language in a somewhat different style.
323661d06d6bSBaptiste Daroussin.Sh HISTORY
323761d06d6bSBaptiste DaroussinThe
323861d06d6bSBaptiste Daroussin.Nm
323961d06d6bSBaptiste Daroussinlanguage first appeared as a troff macro package in
324061d06d6bSBaptiste Daroussin.Bx 4.4 .
324161d06d6bSBaptiste DaroussinIt was later significantly updated by Werner Lemberg and Ruslan Ermilov
324261d06d6bSBaptiste Daroussinin groff-1.17.
324361d06d6bSBaptiste DaroussinThe standalone implementation that is part of the
324461d06d6bSBaptiste Daroussin.Xr mandoc 1
324561d06d6bSBaptiste Daroussinutility written by Kristaps Dzonsons appeared in
324661d06d6bSBaptiste Daroussin.Ox 4.6 .
324761d06d6bSBaptiste Daroussin.Sh AUTHORS
324861d06d6bSBaptiste DaroussinThe
324961d06d6bSBaptiste Daroussin.Nm
325061d06d6bSBaptiste Daroussinreference was written by
325161d06d6bSBaptiste Daroussin.An Kristaps Dzonsons Aq Mt kristaps@bsd.lv .
3252