summaryrefslogtreecommitdiff
path: root/usr/src/man/man5/mdoc.5
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/man/man5/mdoc.5')
-rw-r--r--usr/src/man/man5/mdoc.53337
1 files changed, 0 insertions, 3337 deletions
diff --git a/usr/src/man/man5/mdoc.5 b/usr/src/man/man5/mdoc.5
deleted file mode 100644
index 4c85b861a7..0000000000
--- a/usr/src/man/man5/mdoc.5
+++ /dev/null
@@ -1,3337 +0,0 @@
-.\" $Id: mdoc.7,v 1.287 2021/07/29 17:32:01 schwarze Exp $
-.\"
-.\" Copyright (c) 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
-.\" Copyright (c) 2010, 2011, 2013-2020 Ingo Schwarze <schwarze@openbsd.org>
-.\"
-.\" Permission to use, copy, modify, and distribute this software for any
-.\" purpose with or without fee is hereby granted, provided that the above
-.\" copyright notice and this permission notice appear in all copies.
-.\"
-.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\"
-.\" Copyright 2014 Garrett D'Amore <garrett@damore.org>
-.\" Copyright 2018 Nexenta Systems, Inc.
-.\"
-.Dd $Mdocdate: July 29 2021 $
-.Dt MDOC 5
-.Os
-.Sh NAME
-.Nm mdoc
-.Nd semantic markup language for formatting manual pages
-.Sh DESCRIPTION
-The
-.Nm mdoc
-language supports authoring of manual pages for the
-.Xr man 1
-utility by allowing semantic annotations of words, phrases,
-page sections and complete manual pages.
-Such annotations are used by formatting tools to achieve a uniform
-presentation across all manuals written in
-.Nm ,
-and to support hyperlinking if supported by the output medium.
-.Pp
-This reference document describes the structure of manual pages
-and the syntax and usage of the
-.Nm
-language.
-The reference implementation of a parsing and formatting tool is
-.Xr mandoc 1 ;
-the
-.Sx COMPATIBILITY
-section describes compatibility with other implementations.
-.Pp
-In an
-.Nm
-document, lines beginning with the control character
-.Sq \&.
-are called
-.Dq macro lines .
-The first word is the macro name.
-It consists of two or three letters.
-Most macro names begin with a capital letter.
-For a list of available macros, see
-.Sx MACRO OVERVIEW .
-The words following the macro name are arguments to the macro, optionally
-including the names of other, callable macros; see
-.Sx MACRO SYNTAX
-for details.
-.Pp
-Lines not beginning with the control character are called
-.Dq text lines .
-They provide free-form text to be printed; the formatting of the text
-depends on the respective processing context:
-.Bd -literal -offset indent
-\&.Sh Macro lines change control state.
-Text lines are interpreted within the current state.
-.Ed
-.Pp
-Many aspects of the basic syntax of the
-.Nm
-language are based on the
-.Xr mandoc_roff 5
-language; see the
-.Em LANGUAGE SYNTAX
-and
-.Em MACRO SYNTAX
-sections in the
-.Xr mandoc_roff 5
-manual for details, in particular regarding
-comments, escape sequences, whitespace, and quoting.
-However, using
-.Xr mandoc_roff 5
-requests in
-.Nm
-documents is discouraged;
-.Xr mandoc 1
-supports some of them merely for backward compatibility.
-.Sh MANUAL STRUCTURE
-A well-formed
-.Nm
-document consists of a document prologue followed by one or more
-sections.
-.Pp
-The prologue, which consists of the
-.Ic \&Dd ,
-.Ic \&Dt ,
-and
-.Ic \&Os
-macros in that order, is required for every document.
-.Pp
-The first section (sections are denoted by
-.Ic \&Sh )
-must be the NAME section, consisting of at least one
-.Ic \&Nm
-followed by
-.Ic \&Nd .
-.Pp
-Following that, convention dictates specifying at least the
-.Em SYNOPSIS
-and
-.Em DESCRIPTION
-sections, although this varies between manual sections.
-.Pp
-The following is a well-formed skeleton
-.Nm
-file for a utility
-.Qq progname :
-.Bd -literal -offset indent
-\&.Dd Jan 1, 1970
-\&.Dt PROGNAME section
-\&.Os
-\&.Sh NAME
-\&.Nm progname
-\&.Nd one line about what it does
-\&.\e\(dq .Sh LIBRARY
-\&.\e\(dq For sections 2, 3, and 9 only.
-\&.Sh SYNOPSIS
-\&.Nm progname
-\&.Op Fl options
-\&.Ar
-\&.Sh DESCRIPTION
-The
-\&.Nm
-utility processes files ...
-\&.\e\(dq .Sh IMPLEMENTATION NOTES
-\&.\e\(dq .Sh RETURN VALUES
-\&.\e\(dq For sections 2, 3, 7, and 9 only.
-\&.\e\(dq .Sh CONTEXT
-\&.\e\(dq For section 9 functions only.
-\&.\e\(dq .Sh ENVIRONMENT
-\&.\e\(dq For sections 1, 1M, and 5.
-\&.\e\(dq .Sh FILES
-\&.\e\(dq .Sh EXIT STATUS
-\&.\e\(dq For sections 1, 1M, and 5.
-\&.\e\(dq .Sh EXAMPLES
-\&.\e\(dq .Sh DIAGNOSTICS
-\&.\e\(dq .Sh ERRORS
-\&.\e\(dq For sections 2, 3, 7, and 9 only.
-\&.\e\(dq .Sh ARCHITECTURE
-\&.\e\(dq .Sh CODE SET INDEPENDENCE
-\&.\e\(dq For sections 1, 1M, and 3 only.
-\&.\e\(dq .Sh INTERFACE STABILITY
-\&.\e\(dq .Sh MT-LEVEL
-\&.\e\(dq For sections 2 and 3 only.
-\&.\e\(dq .Sh SECURITY
-\&.\e\(dq .Sh SEE ALSO
-\&.\e\(dq .Xr foobar 1
-\&.\e\(dq .Sh STANDARDS
-\&.\e\(dq .Sh HISTORY
-\&.\e\(dq .Sh AUTHORS
-\&.\e\(dq .Sh CAVEATS
-\&.\e\(dq .Sh BUGS
-.Ed
-.Pp
-The sections in an
-.Nm
-document are conventionally ordered as they appear above.
-Sections should be composed as follows:
-.Bl -ohang -offset Ds
-.It Em NAME
-The name(s) and a one line description of the documented material.
-The syntax for this as follows:
-.Bd -literal -offset indent
-\&.Nm name0 ,
-\&.Nm name1 ,
-\&.Nm name2
-\&.Nd a one line description
-.Ed
-.Pp
-Multiple
-.Sq \&Nm
-names should be separated by commas.
-.Pp
-The
-.Ic \&Nm
-macro(s) must precede the
-.Ic \&Nd
-macro.
-.Pp
-See
-.Ic \&Nm
-and
-.Ic \&Nd .
-.It Em LIBRARY
-The name of the library containing the documented material, which is
-assumed to be a function in a section 2, 3, or 9 manual.
-The syntax for this is as follows:
-.Bd -literal -offset indent
-\&.Lb libarm
-.Ed
-.Pp
-See
-.Ic \&Lb .
-.It Em SYNOPSIS
-Documents the utility invocation syntax, function call syntax, or device
-configuration.
-.Pp
-For the first, utilities (sections 1 and 1M), this is
-generally structured as follows:
-.Bd -literal -offset indent
-\&.Nm bar
-\&.Op Fl v
-\&.Op Fl o Ar file
-\&.Op Ar
-\&.Nm foo
-\&.Op Fl v
-\&.Op Fl o Ar file
-\&.Op Ar
-.Ed
-.Pp
-Commands should be ordered alphabetically.
-.Pp
-For the second, function calls (sections 2, 3, 7I, 7P, 9):
-.Bd -literal -offset indent
-\&.In header.h
-\&.Vt extern const char *global;
-\&.Ft "char *"
-\&.Fn foo "const char *src"
-\&.Ft "char *"
-\&.Fn bar "const char *src"
-.Ed
-.Pp
-Ordering of
-.Ic \&In ,
-.Ic \&Vt ,
-.Ic \&Fn ,
-and
-.Ic \&Fo
-macros should follow C header-file conventions.
-.Pp
-And for the third, configurations (section 7D):
-.Bd -literal -offset indent
-\&.Pa /dev/device_node
-.Ed
-.Pp
-Manuals not in these sections generally don't need a
-.Em SYNOPSIS .
-.Pp
-Some macros are displayed differently in the
-.Em SYNOPSIS
-section, particularly
-.Ic \&Nm ,
-.Ic \&Cd ,
-.Ic \&Fd ,
-.Ic \&Fn ,
-.Ic \&Fo ,
-.Ic \&In ,
-.Ic \&Vt ,
-and
-.Ic \&Ft .
-All of these macros are output on their own line.
-If two such dissimilar macros are pairwise invoked (except for
-.Ic \&Ft
-before
-.Ic \&Fo
-or
-.Ic \&Fn ) ,
-they are separated by a vertical space, unless in the case of
-.Ic \&Fo ,
-.Ic \&Fn ,
-and
-.Ic \&Ft ,
-which are always separated by vertical space.
-.Pp
-When text and macros following an
-.Ic \&Nm
-macro starting an input line span multiple output lines,
-all output lines but the first will be indented to align
-with the text immediately following the
-.Ic \&Nm
-macro, up to the next
-.Ic \&Nm ,
-.Ic \&Sh ,
-or
-.Ic \&Ss
-macro or the end of an enclosing block, whichever comes first.
-.It Em DESCRIPTION
-This begins with an expansion of the brief, one line description in
-.Em NAME :
-.Bd -literal -offset indent
-The
-\&.Nm
-utility does this, that, and the other.
-.Ed
-.Pp
-It usually follows with a breakdown of the options (if documenting a
-command), such as:
-.Bd -literal -offset indent
-The options are as follows:
-\&.Bl \-tag \-width Ds
-\&.It Fl v
-Print verbose information.
-\&.El
-.Ed
-.Pp
-List the options in alphabetical order,
-uppercase before lowercase for each letter and
-with no regard to whether an option takes an argument.
-Put digits in ascending order before all letter options.
-.Pp
-Manuals not documenting a command won't include the above fragment.
-.Pp
-Since the
-.Em DESCRIPTION
-section usually contains most of the text of a manual, longer manuals
-often use the
-.Ic \&Ss
-macro to form subsections.
-In very long manuals, the
-.Em DESCRIPTION
-may be split into multiple sections, each started by an
-.Ic \&Sh
-macro followed by a non-standard section name, and each having
-several subsections, like in the present
-.Nm
-manual.
-.It Em IMPLEMENTATION NOTES
-Implementation-specific notes should be kept here.
-This is useful when implementing standard functions that may have side
-effects or notable algorithmic implications.
-.It Em RETURN VALUES
-This section documents the
-return values of functions in sections 2, 3, and 9.
-.Pp
-See
-.Ic \&Rv .
-.It Em CONTEXT
-This section lists the contexts in which functions can be called in section 9.
-The contexts are user, kernel, or interrupt.
-.It Em ENVIRONMENT
-Lists the environment variables used by the utility,
-and explains the syntax and semantics of their values.
-The
-.Xr environ 5
-manual provides examples of typical content and formatting.
-.Pp
-See
-.Ic \&Ev .
-.It Em FILES
-Documents files used.
-It's helpful to document both the file name and a short description of how
-the file is used (created, modified, etc.).
-.Pp
-See
-.Ic \&Pa .
-.It Em EXIT STATUS
-This section documents the
-command exit status for sections 1 and 1M.
-Historically, this information was described in
-.Em DIAGNOSTICS ,
-a practise that is now discouraged.
-.Pp
-See
-.Ic \&Ex .
-.It Em EXAMPLES
-Example usages.
-This often contains snippets of well-formed, well-tested invocations.
-Make sure that examples work properly!
-.It Em DIAGNOSTICS
-Documents error and diagnostic messages displayed to the user or
-sent to logs.
-Note that exit status and return values should be documented in the
-.Em EXIT STATUS
-and
-.Em RETURN VALUES
-sections.
-.Pp
-See
-.Ic \&Bl
-.Fl diag .
-.It Em ERRORS
-Documents error handling in sections 2, 3, 7, and 9.
-.Pp
-See
-.Ic \&Er .
-.It Em ARCHITECTURE
-This section is usually absent, but will be present when the
-interface is specific to one or more architectures.
-.It Em CODE SET INDEPENDENCE
-Indicates whether the interface operates correctly with various different
-code sets.
-True independent code sets will support not only ASCII and Extended UNIX
-Codesets (EUC), but also other multi-byte encodings such as UTF-8 and GB2312.
-.Pp
-Generally there will be some limitations that are fairly standard.
-See
-.Xr standards 5
-for more information about some of these.
-Most interfaces should support at least UTF-8 in addition to ASCII.
-.It Em INTERFACE STABILITY
-Indicates the level of commitment to the interface.
-Interfaces can be described with in the following ways:
-.Bl -tag -width Ds
-.It Nm Standard
-Indicates that the interface is defined by one or more standards bodies.
-Generally, changes to the interface will be carefully managed to conform
-to the relevant standards.
-These interfaces are generally the most suitable for use in portable programs.
-.It Nm Committed
-Indicates that the interface is intended to be preserved for the long-haul, and
-will rarely, if ever change, and never without notification (barring
-extraordinary and extenuating circumstances).
-These interfaces are preferred over other interfaces with the exeception of
-.Nm Standard
-interfaces.
-.It Nm Uncommitted
-Indicates that the interface may change.
-Generally, changes to these interfaces should be infrequent, and some effort
-will be made to address compatibility considerations when changing or removing
-such interfaces.
-However, there is no firm commitment to the preservation of the interface.
-Most often this is applied to interfaces where operational experience with the
-interface is still limited and some need to change may be anticipated.
-.Pp
-Consumers should expect to revalidate any
-.Nm Uncommitted
-interfaces when crossing release boundaries.
-Products intended for use on many releases or intended to support compatibility
-with future releases should avoid these interfaces.
-.It Nm Volatile
-The interface can change at any time for any reason.
-Often this relates to interfaces that are part of external software components
-that are still evolving rapidly.
-Consumers should not expect that the interface (either binary or source level)
-will be unchanged from one release to the next.
-.It Nm Not-an-Interface
-Describes something that is specifically not intended for programmatic
-consumption.
-For example, specific human-readable output, or the layout of graphical items on
-a user interface, may be described this way.
-Generally programmatic alternatives to these will be available, and should be
-used when programmatic consumption is needed.
-.It Nm Private
-This is an internal interface.
-Generally these interfaces should only be used within the project, and should
-not be used by other programs or modules.
-The interface can and will change without notice as the project needs, at any
-time.
-.Pp
-Most often, Private interfaces will lack any documentation whatsoever, and
-generally any undocumented interface can be assumed to be Private.
-.It Nm Obsolete
-The interface is not intended for use in new projects or programs, and may
-be removed at a future date.
-The
-.Nm Obsolete
-word is a modifier that can
-be applied to other commitment levels.
-For example an
-.Nm Obsolete Committed
-interface is unlikely to be removed or changed, but nonetheless new use
-is discouraged (perhaps a better newer alternative is present).
-.El
-.It Em MT-LEVEL
-This section describes considerations for the interface when used within
-programs that use multiple threads.
-More discussion of these considerations is made in the MT-Level section of
-.Xr attributes 5 .
-The interface can be described in the following ways.
-.Bl -tag -width Ds
-.It Nm Safe
-Indicates the interface is safe for use within multiple threads.
-There may be additional caveats that apply, in which case those will be
-described.
-Note that some interfaces have semantics which may affect other threads, but
-these should be an intrinsic part of the interface rather than an unexpected
-side effect.
-For example, closing a file in one thread will cause that file to be closed in
-all threads.
-.It Nm Unsafe
-Indicates the interface is unsuitable for concurrent use within multiple
-threads.
-A threaded application may still make use of the interface, but will be required
-to provide external synchronization means to ensure that only a single thread
-calls the interface at a time.
-.It Nm MT-Safe
-Indicates that the interface is not only safe for concurrent use, but is
-designed for such use.
-For example, a
-.Nm Safe
-interface may make use of a global lock to provide safety, but at reduced
-internal concurrency, whereas an
-.Nm MT-Safe
-interface will be designed to be efficient even when used concurrently.
-.It Nm Async-Signal-Safe
-Indicates that the library is safe for use within a signal handler.
-An
-.Nm MT-Safe
-interface can be made
-.Nm Async-Signal-Safe
-by ensuring that it blocks signals when acquiring locks.
-.It Nm Safe with Exceptions
-As for
-.Nm Safe
-but with specific exceptions noted.
-.It Nm MT-Safe with Exceptions
-As for
-.Nm MT-Safe
-but with specific exceptions noted.
-.El
-.It Em SECURITY
-Documents any security precautions that operators should consider.
-.It Em SEE ALSO
-References other manuals with related topics.
-This section should exist for most manuals.
-Cross-references should conventionally be ordered first by section, then
-alphabetically (ignoring case).
-.Pp
-References to other documentation concerning the topic of the manual page,
-for example authoritative books or journal articles, may also be
-provided in this section.
-.Pp
-See
-.Ic \&Rs
-and
-.Ic \&Xr .
-.It Em STANDARDS
-References any standards implemented or used.
-If not adhering to any standards, the
-.Em HISTORY
-section should be used instead.
-.Pp
-See
-.Ic \&St .
-.It Em HISTORY
-A brief history of the subject, including where it was first implemented,
-and when it was ported to or reimplemented for the operating system at hand.
-.It Em AUTHORS
-Credits to the person or persons who wrote the code and/or documentation.
-Authors should generally be noted by both name and email address.
-.Pp
-See
-.Ic \&An .
-.It Em CAVEATS
-Common misuses and misunderstandings should be explained
-in this section.
-.It Em BUGS
-Known bugs, limitations, and work-arounds should be described
-in this section.
-.El
-.Sh MACRO OVERVIEW
-This overview is sorted such that macros of similar purpose are listed
-together, to help find the best macro for any given purpose.
-Deprecated macros are not included in the overview, but can be found below
-in the alphabetical
-.Sx MACRO REFERENCE .
-.Ss Document preamble and NAME section macros
-.Bl -column "Brq, Bro, Brc" description
-.It Ic \&Dd Ta document date: Cm $\&Mdocdate$ | Ar month day , year
-.It Ic \&Dt Ta document title: Ar TITLE section Op Ar arch
-.It Ic \&Os Ta operating system version: Op Ar system Op Ar version
-.It Ic \&Nm Ta document name (one argument)
-.It Ic \&Nd Ta document description (one line)
-.El
-.Ss Sections and cross references
-.Bl -column "Brq, Bro, Brc" description
-.It Ic \&Sh Ta section header (one line)
-.It Ic \&Ss Ta subsection header (one line)
-.It Ic \&Sx Ta internal cross reference to a section or subsection
-.It Ic \&Xr Ta cross reference to another manual page: Ar name section
-.It Ic \&Tg Ta tag the definition of a Ar term Pq <= 1 arguments
-.It Ic \&Pp Ta start a text paragraph (no arguments)
-.El
-.Ss Displays and lists
-.Bl -column "Brq, Bro, Brc" description
-.It Ic \&Bd , \&Ed Ta display block:
-.Fl Ar type
-.Op Fl offset Ar width
-.Op Fl compact
-.It Ic \&D1 Ta indented display (one line)
-.It Ic \&Dl Ta indented literal display (one line)
-.It Ic \&Ql Ta in-line literal display: Ql text
-.It Ic \&Bl , \&El Ta list block:
-.Fl Ar type
-.Op Fl width Ar val
-.Op Fl offset Ar val
-.Op Fl compact
-.It Ic \&It Ta list item (syntax depends on Fl Ar type )
-.It Ic \&Ta Ta table cell separator in Ic \&Bl Fl column No lists
-.It Ic \&Rs , \&%* , \&Re Ta bibliographic block (references)
-.El
-.Ss Spacing control
-.Bl -column "Brq, Bro, Brc" description
-.It Ic \&Pf Ta prefix, no following horizontal space (one argument)
-.It Ic \&Ns Ta roman font, no preceding horizontal space (no arguments)
-.It Ic \&Ap Ta apostrophe without surrounding whitespace (no arguments)
-.It Ic \&Sm Ta switch horizontal spacing mode: Op Cm on | off
-.It Ic \&Bk , \&Ek Ta keep block: Fl words
-.El
-.Ss Semantic markup for command line utilities
-.Bl -column "Brq, Bro, Brc" description
-.It Ic \&Nm Ta start a SYNOPSIS block with the name of a utility
-.It Ic \&Fl Ta command line options (flags) (>=0 arguments)
-.It Ic \&Cm Ta command modifier (>0 arguments)
-.It Ic \&Ar Ta command arguments (>=0 arguments)
-.It Ic \&Op , \&Oo , \&Oc Ta optional syntax elements (enclosure)
-.It Ic \&Ic Ta internal or interactive command (>0 arguments)
-.It Ic \&Ev Ta environmental variable (>0 arguments)
-.It Ic \&Pa Ta file system path (>=0 arguments)
-.El
-.Ss Semantic markup for function libraries
-.Bl -column "Brq, Bro, Brc" description
-.It Ic \&Lb Ta function library (one argument)
-.It Ic \&In Ta include file (one argument)
-.It Ic \&Fd Ta other preprocessor directive (>0 arguments)
-.It Ic \&Ft Ta function type (>0 arguments)
-.It Ic \&Fo , \&Fc Ta function block: Ar funcname
-.It Ic \&Fn Ta function name: Ar funcname Op Ar argument ...
-.It Ic \&Fa Ta function argument (>0 arguments)
-.It Ic \&Vt Ta variable type (>0 arguments)
-.It Ic \&Va Ta variable name (>0 arguments)
-.It Ic \&Dv Ta defined variable or preprocessor constant (>0 arguments)
-.It Ic \&Er Ta error constant (>0 arguments)
-.It Ic \&Ev Ta environmental variable (>0 arguments)
-.El
-.Ss Various semantic markup
-.Bl -column "Brq, Bro, Brc" description
-.It Ic \&An Ta author name (>0 arguments)
-.It Ic \&Lk Ta hyperlink: Ar uri Op Ar display_name
-.It Ic \&Mt Ta Do mailto Dc hyperlink: Ar localpart Ns @ Ns Ar domain
-.It Ic \&Cd Ta kernel configuration declaration (>0 arguments)
-.It Ic \&Ad Ta memory address (>0 arguments)
-.It Ic \&Ms Ta mathematical symbol (>0 arguments)
-.El
-.Ss Physical markup
-.Bl -column "Brq, Bro, Brc" description
-.It Ic \&Em Ta italic font or underline (emphasis) (>0 arguments)
-.It Ic \&Sy Ta boldface font (symbolic) (>0 arguments)
-.It Ic \&No Ta return to roman font (normal) (>0 arguments)
-.It Ic \&Bf , \&Ef Ta font block: Fl Ar type | Cm \&Em | \&Li | \&Sy
-.El
-.Ss Physical enclosures
-.Bl -column "Brq, Bro, Brc" description
-.It Ic \&Dq , \&Do , \&Dc Ta enclose in typographic double quotes: Dq text
-.It Ic \&Qq , \&Qo , \&Qc Ta enclose in typewriter double quotes: Qq text
-.It Ic \&Sq , \&So , \&Sc Ta enclose in single quotes: Sq text
-.It Ic \&Pq , \&Po , \&Pc Ta enclose in parentheses: Pq text
-.It Ic \&Bq , \&Bo , \&Bc Ta enclose in square brackets: Bq text
-.It Ic \&Brq , \&Bro , \&Brc Ta enclose in curly braces: Brq text
-.It Ic \&Aq , \&Ao , \&Ac Ta enclose in angle brackets: Aq text
-.It Ic \&Eo , \&Ec Ta generic enclosure
-.El
-.Ss Text production
-.Bl -column "Brq, Bro, Brc" description
-.It Ic \&Ex Fl std Ta standard command exit values: Op Ar utility ...
-.It Ic \&Rv Fl std Ta standard function return values: Op Ar function ...
-.It Ic \&St Ta reference to a standards document (one argument)
-.It Ic \&At Ta At
-.It Ic \&Bx Ta Bx
-.It Ic \&Bsx Ta Bsx
-.It Ic \&Nx Ta Nx
-.It Ic \&Fx Ta Fx
-.It Ic \&Ox Ta Ox
-.It Ic \&Dx Ta Dx
-.El
-.Sh MACRO REFERENCE
-This section is a canonical reference of all macros, arranged
-alphabetically.
-For the scoping of individual macros, see
-.Sx MACRO SYNTAX .
-.Bl -tag -width 3n
-.It Ic \&%A Ar first_name ... last_name
-Author name of an
-.Ic \&Rs
-block.
-Multiple authors should each be accorded their own
-.Ic \%%A
-line.
-Author names should be ordered with full or abbreviated forename(s)
-first, then full surname.
-.It Ic \&%B Ar title
-Book title of an
-.Ic \&Rs
-block.
-This macro may also be used in a non-bibliographic context when
-referring to book titles.
-.It Ic \&%C Ar location
-Publication city or location of an
-.Ic \&Rs
-block.
-.It Ic \&%D Oo Ar month day , Oc Ar year
-Publication date of an
-.Ic \&Rs
-block.
-Provide the full English name of the
-.Ar month
-and all four digits of the
-.Ar year .
-.It Ic \&%I Ar name
-Publisher or issuer name of an
-.Ic \&Rs
-block.
-.It Ic \&%J Ar name
-Journal name of an
-.Ic \&Rs
-block.
-.It Ic \&%N Ar number
-Issue number (usually for journals) of an
-.Ic \&Rs
-block.
-.It Ic \&%O Ar line
-Optional information of an
-.Ic \&Rs
-block.
-.It Ic \&%P Ar number
-Book or journal page number of an
-.Ic \&Rs
-block.
-Conventionally, the argument starts with
-.Ql p.\&
-for a single page or
-.Ql pp.\&
-for a range of pages, for example:
-.Pp
-.Dl .%P pp. 42\e(en47
-.It Ic \&%Q Ar name
-Institutional author (school, government, etc.) of an
-.Ic \&Rs
-block.
-Multiple institutional authors should each be accorded their own
-.Ic \&%Q
-line.
-.It Ic \&%R Ar name
-Technical report name of an
-.Ic \&Rs
-block.
-.It Ic \&%T Ar title
-Article title of an
-.Ic \&Rs
-block.
-This macro may also be used in a non-bibliographical context when
-referring to article titles.
-.It Ic \&%U Ar protocol Ns :// Ns Ar path
-URI of reference document.
-.It Ic \&%V Ar number
-Volume number of an
-.Ic \&Rs
-block.
-.It Ic \&Ac
-Close an
-.Ic \&Ao
-block.
-Does not have any tail arguments.
-.Tg Ad
-.It Ic \&Ad Ar address
-Memory address.
-Do not use this for postal addresses.
-.Pp
-Examples:
-.Dl \&.Ad [0,$]
-.Dl \&.Ad 0x00000000
-.Tg An
-.It Ic \&An Fl split | nosplit | Ar first_name ... last_name
-Author name.
-Can be used both for the authors of the program, function, or driver
-documented in the manual, or for the authors of the manual itself.
-Requires either the name of an author or one of the following arguments:
-.Pp
-.Bl -tag -width "-nosplitX" -offset indent -compact
-.It Fl split
-Start a new output line before each subsequent invocation of
-.Ic \&An .
-.It Fl nosplit
-The opposite of
-.Fl split .
-.El
-.Pp
-The default is
-.Fl nosplit .
-The effect of selecting either of the
-.Fl split
-modes ends at the beginning of the
-.Em AUTHORS
-section.
-In the
-.Em AUTHORS
-section, the default is
-.Fl nosplit
-for the first author listing and
-.Fl split
-for all other author listings.
-.Pp
-Examples:
-.Dl \&.An -nosplit
-.Dl \&.An Kristaps Dzonsons \&Aq \&Mt kristaps@bsd.lv
-.It Ic \&Ao Ar block
-Begin a block enclosed by angle brackets.
-Does not have any head arguments.
-This macro is almost never useful.
-See
-.Ic \&Aq
-for more details.
-.Tg Ap
-.It Ic \&Ap
-Inserts an apostrophe without any surrounding whitespace.
-This is generally used as a grammatical device when referring to the verb
-form of a function.
-.Pp
-Examples:
-.Dl \&.Fn execve \&Ap d
-.Tg Aq
-.It Ic \&Aq Ar line
-Enclose the rest of the input line in angle brackets.
-The only important use case is for email addresses.
-See
-.Ic \&Mt
-for an example.
-.Pp
-Occasionally, it is used for names of characters and keys, for example:
-.Bd -literal -offset indent
-Press the
-\&.Aq escape
-key to ...
-.Ed
-.Pp
-For URIs, use
-.Ic \&Lk
-instead, and
-.Ic \&In
-for
-.Dq #include
-directives.
-Never wrap
-.Ic \&Ar
-in
-.Ic \&Aq .
-.Pp
-Since
-.Ic \&Aq
-usually renders with non-ASCII characters in non-ASCII output modes,
-do not use it where the ASCII characters
-.Sq <
-and
-.Sq >
-are required as syntax elements.
-Instead, use these characters directly in such cases, combining them
-with the macros
-.Ic \&Pf ,
-.Ic \&Ns ,
-or
-.Ic \&Eo
-as needed.
-.Pp
-See also
-.Ic \&Ao .
-.Tg Ar
-.It Ic \&Ar Op Ar placeholder ...
-Command arguments.
-If an argument is not provided, the string
-.Dq file ...\&
-is used as a default.
-.Pp
-Examples:
-.Dl ".Fl o Ar file"
-.Dl ".Ar"
-.Dl ".Ar arg1 , arg2 ."
-.Pp
-The arguments to the
-.Ic \&Ar
-macro are names and placeholders for command arguments;
-for fixed strings to be passed verbatim as arguments, use
-.Ic \&Fl
-or
-.Ic \&Cm .
-.Tg At
-.It Ic \&At Op Ar version
-Formats an
-.At
-version.
-Accepts one optional argument:
-.Pp
-.Bl -tag -width "v[1-7] | 32vX" -offset indent -compact
-.It Cm v[1-7] | 32v
-A version of
-.At .
-.It Cm III
-.At III .
-.It Cm V | V.[1-4]
-A version of
-.At V .
-.El
-.Pp
-Note that these arguments do not begin with a hyphen.
-.Pp
-Examples:
-.Dl \&.At
-.Dl \&.At III
-.Dl \&.At V.1
-.Pp
-See also
-.Ic \&Bsx ,
-.Ic \&Bx ,
-.Ic \&Dx ,
-.Ic \&Fx ,
-.Ic \&Nx ,
-and
-.Ic \&Ox .
-.It Ic \&Bc
-Close a
-.Ic \&Bo
-block.
-Does not have any tail arguments.
-.Tg Bd
-.It Ic \&Bd Fl Ns Ar type Oo Fl offset Ar width Oc Op Fl compact
-Begin a display block.
-Display blocks are used to select a different indentation and
-justification than the one used by the surrounding text.
-They may contain both macro lines and text lines.
-By default, a display block is preceded by a vertical space.
-.Pp
-The
-.Ar type
-must be one of the following:
-.Bl -tag -width 13n -offset indent
-.It Fl centered
-Produce one output line from each input line, and center-justify each line.
-Using this display type is not recommended; many
-.Nm
-implementations render it poorly.
-.It Fl filled
-Change the positions of line breaks to fill each line, and left- and
-right-justify the resulting block.
-.It Fl literal
-Produce one output line from each input line,
-and do not justify the block at all.
-Preserve white space as it appears in the input.
-Always use a constant-width font.
-Use this for displaying source code.
-.It Fl ragged
-Change the positions of line breaks to fill each line, and left-justify
-the resulting block.
-.It Fl unfilled
-The same as
-.Fl literal ,
-but using the same font as for normal text, which is a variable width font
-if supported by the output device.
-.El
-.Pp
-The
-.Ar type
-must be provided first.
-Additional arguments may follow:
-.Bl -tag -width 13n -offset indent
-.It Fl offset Ar width
-Indent the display by the
-.Ar width ,
-which may be one of the following:
-.Bl -item
-.It
-One of the pre-defined strings
-.Cm indent ,
-the width of a standard indentation (six constant width characters);
-.Cm indent-two ,
-twice
-.Cm indent ;
-.Cm left ,
-which has no effect;
-.Cm right ,
-which justifies to the right margin; or
-.Cm center ,
-which aligns around an imagined center axis.
-.It
-A macro invocation, which selects a predefined width
-associated with that macro.
-The most popular is the imaginary macro
-.Ar \&Ds ,
-which resolves to
-.Sy 6n .
-.It
-A scaling width as described in
-.Xr mandoc_roff 5 .
-.It
-An arbitrary string, which indents by the length of this string.
-.El
-.Pp
-When the argument is missing,
-.Fl offset
-is ignored.
-.It Fl compact
-Do not assert vertical space before the display.
-.El
-.Pp
-Examples:
-.Bd -literal -offset indent
-\&.Bd \-literal \-offset indent \-compact
- Hello world.
-\&.Ed
-.Ed
-.Pp
-See also
-.Ic \&D1
-and
-.Ic \&Dl .
-.Tg Bf
-.It Ic \&Bf Fl emphasis | literal | symbolic | Cm \&Em | \&Li | \&Sy
-Change the font mode for a scoped block of text.
-The
-.Fl emphasis
-and
-.Cm \&Em
-argument are equivalent, as are
-.Fl symbolic
-and
-.Cm \&Sy ,
-and
-.Fl literal
-and
-.Cm \&Li .
-Without an argument, this macro does nothing.
-The font mode continues until broken by a new font mode in a nested
-scope or
-.Ic \&Ef
-is encountered.
-.Pp
-See also
-.Ic \&Li ,
-.Ic \&Ef ,
-.Ic \&Em ,
-and
-.Ic \&Sy .
-.Tg Bk
-.It Ic \&Bk Fl words
-For each macro, keep its output together on the same output line,
-until the end of the macro or the end of the input line is reached,
-whichever comes first.
-Line breaks in text lines are unaffected.
-.Pp
-The
-.Fl words
-argument is required; additional arguments are ignored.
-.Pp
-The following example will not break within each
-.Ic \&Op
-macro line:
-.Bd -literal -offset indent
-\&.Bk \-words
-\&.Op Fl f Ar flags
-\&.Op Fl o Ar output
-\&.Ek
-.Ed
-.Pp
-Be careful in using over-long lines within a keep block!
-Doing so will clobber the right margin.
-.Tg Bl
-.It Xo
-.Ic \&Bl
-.Fl Ns Ar type
-.Op Fl width Ar val
-.Op Fl offset Ar val
-.Op Fl compact
-.Op Ar col ...
-.Xc
-Begin a list.
-Lists consist of items specified using the
-.Ic \&It
-macro, containing a head or a body or both.
-.Pp
-The list
-.Ar type
-is mandatory and must be specified first.
-The
-.Fl width
-and
-.Fl offset
-arguments accept macro names as described for
-.Ic \&Bd
-.Fl offset ,
-scaling widths as described in
-.Xr mandoc_roff 5 ,
-or use the length of the given string.
-The
-.Fl offset
-is a global indentation for the whole list, affecting both item heads
-and bodies.
-For those list types supporting it, the
-.Fl width
-argument requests an additional indentation of item bodies,
-to be added to the
-.Fl offset .
-Unless the
-.Fl compact
-argument is specified, list entries are separated by vertical space.
-.Pp
-A list must specify one of the following list types:
-.Bl -tag -width 12n -offset indent
-.It Fl bullet
-No item heads can be specified, but a bullet will be printed at the head
-of each item.
-Item bodies start on the same output line as the bullet
-and are indented according to the
-.Fl width
-argument.
-.It Fl column
-A columnated list.
-The
-.Fl width
-argument has no effect; instead, the string length of each argument
-specifies the width of one column.
-If the first line of the body of a
-.Fl column
-list is not an
-.Ic \&It
-macro line,
-.Ic \&It
-contexts spanning one input line each are implied until an
-.Ic \&It
-macro line is encountered, at which point items start being interpreted as
-described in the
-.Ic \&It
-documentation.
-.It Fl dash
-Like
-.Fl bullet ,
-except that dashes are used in place of bullets.
-.It Fl diag
-Like
-.Fl inset ,
-except that item heads are not parsed for macro invocations.
-Most often used in the
-.Em DIAGNOSTICS
-section with error constants in the item heads.
-.It Fl enum
-A numbered list.
-No item heads can be specified.
-Formatted like
-.Fl bullet ,
-except that cardinal numbers are used in place of bullets,
-starting at 1.
-.It Fl hang
-Like
-.Fl tag ,
-except that the first lines of item bodies are not indented, but follow
-the item heads like in
-.Fl inset
-lists.
-.It Fl hyphen
-Synonym for
-.Fl dash .
-.It Fl inset
-Item bodies follow items heads on the same line, using normal inter-word
-spacing.
-Bodies are not indented, and the
-.Fl width
-argument is ignored.
-.It Fl item
-No item heads can be specified, and none are printed.
-Bodies are not indented, and the
-.Fl width
-argument is ignored.
-.It Fl ohang
-Item bodies start on the line following item heads and are not indented.
-The
-.Fl width
-argument is ignored.
-.It Fl tag
-Item bodies are indented according to the
-.Fl width
-argument.
-When an item head fits inside the indentation, the item body follows
-this head on the same output line.
-Otherwise, the body starts on the output line following the head.
-.El
-.Pp
-Lists may be nested within lists and displays.
-Nesting of
-.Fl column
-and
-.Fl enum
-lists may not be portable.
-.Pp
-See also
-.Ic \&El
-and
-.Ic \&It .
-.It Ic \&Bo Ar block
-Begin a block enclosed by square brackets.
-Does not have any head arguments.
-.Pp
-Examples:
-.Bd -literal -offset indent -compact
-\&.Bo 1 ,
-\&.Dv BUFSIZ \&Bc
-.Ed
-.Pp
-See also
-.Ic \&Bq .
-.Tg Bq
-.It Ic \&Bq Ar line
-Encloses its arguments in square brackets.
-.Pp
-Examples:
-.Dl \&.Bq 1 , \&Dv BUFSIZ
-.Pp
-.Em Remarks :
-this macro is sometimes abused to emulate optional arguments for
-commands; the correct macros to use for this purpose are
-.Ic \&Op ,
-.Ic \&Oo ,
-and
-.Ic \&Oc .
-.Pp
-See also
-.Ic \&Bo .
-.It Ic \&Brc
-Close a
-.Ic \&Bro
-block.
-Does not have any tail arguments.
-.It Ic \&Bro Ar block
-Begin a block enclosed by curly braces.
-Does not have any head arguments.
-.Pp
-Examples:
-.Bd -literal -offset indent -compact
-\&.Bro 1 , ... ,
-\&.Va n \&Brc
-.Ed
-.Pp
-See also
-.Ic \&Brq .
-.Tg Brq
-.It Ic \&Brq Ar line
-Encloses its arguments in curly braces.
-.Pp
-Examples:
-.Dl \&.Brq 1 , ... , \&Va n
-.Pp
-See also
-.Ic \&Bro .
-.Tg Bsx
-.It Ic \&Bsx Op Ar version
-Format the
-.Bsx
-version provided as an argument, or a default value if
-no argument is provided.
-.Pp
-Examples:
-.Dl \&.Bsx 1.0
-.Dl \&.Bsx
-.Pp
-See also
-.Ic \&At ,
-.Ic \&Bx ,
-.Ic \&Dx ,
-.Ic \&Fx ,
-.Ic \&Nx ,
-and
-.Ic \&Ox .
-.It Ic \&Bt
-Supported only for compatibility, do not use this in new manuals.
-Prints
-.Dq is currently in beta test.
-.Tg Bx
-.It Ic \&Bx Op Ar version Op Ar variant
-Format the
-.Bx
-version provided as an argument, or a default value if no
-argument is provided.
-.Pp
-Examples:
-.Dl \&.Bx 4.3 Tahoe
-.Dl \&.Bx 4.4
-.Dl \&.Bx
-.Pp
-See also
-.Ic \&At ,
-.Ic \&Bsx ,
-.Ic \&Dx ,
-.Ic \&Fx ,
-.Ic \&Nx ,
-and
-.Ic \&Ox .
-.Tg Cd
-.It Ic \&Cd Ar line
-Kernel configuration declaration.
-It is found in pages for
-.Bx
-and not used here.
-.Pp
-Examples:
-.Dl \&.Cd device le0 at scode?
-.Pp
-.Em Remarks :
-this macro is commonly abused by using quoted literals to retain
-whitespace and align consecutive
-.Ic \&Cd
-declarations.
-This practise is discouraged.
-.Tg Cm
-.It Ic \&Cm Ar keyword ...
-Command modifiers.
-Typically used for fixed strings passed as arguments to interactive
-commands, to commands in interpreted scripts, or to configuration
-file directives, unless
-.Ic \&Fl
-is more appropriate.
-Also useful when specifying configuration options or keys.
-.Pp
-Examples:
-.Dl ".Nm mt Fl f Ar device Cm rewind"
-.Dl ".Nm ps Fl o Cm pid , Ns Cm command"
-.Dl ".Nm dd Cm if= Ns Ar file1 Cm of= Ns Ar file2"
-.Dl ".Ic set Fl o Cm vi"
-.Dl ".Ic lookup Cm file bind"
-.Dl ".Ic permit Ar identity Op Cm as Ar target"
-.Tg D1
-.It Ic \&D1 Ar line
-One-line indented display.
-This is formatted by the default rules and is useful for simple indented
-statements.
-It is followed by a newline.
-.Pp
-Examples:
-.Dl \&.D1 \&Fl abcdefgh
-.Pp
-See also
-.Ic \&Bd
-and
-.Ic \&Dl .
-.It Ic \&Db
-This macro is obsolete.
-No replacement is needed.
-It is ignored by
-.Xr mandoc 1
-and groff including its arguments.
-It was formerly used to toggle a debugging mode.
-.It Ic \&Dc
-Close a
-.Ic \&Do
-block.
-Does not have any tail arguments.
-.Tg Dd
-.It Ic \&Dd Cm $\&Mdocdate$ | Ar month day , year
-Document date for display in the page footer,
-by convention the date of the last change.
-This is the mandatory first macro of any
-.Nm
-manual.
-.Pp
-The
-.Ar month
-is the full English month name, the
-.Ar day
-is an integer number, and the
-.Ar year
-is the full four-digit year.
-.Pp
-Other arguments are not portable; the
-.Xr mandoc 1
-utility handles them as follows:
-.Bl -dash -offset 3n -compact
-.It
-To have the date automatically filled in by the
-.Ox
-version of
-.Xr cvs 1 ,
-the special string
-.Dq $\&Mdocdate$
-can be given as an argument.
-.It
-The traditional, purely numeric
-.Xr man 5
-format
-.Ar year Ns \(en Ns Ar month Ns \(en Ns Ar day
-is accepted, too.
-.It
-If a date string cannot be parsed, it is used verbatim.
-.It
-If no date string is given, the current date is used.
-.El
-.Pp
-Examples:
-.Dl \&.Dd $\&Mdocdate$
-.Dl \&.Dd $\&Mdocdate: July 2 2018$
-.Dl \&.Dd July 2, 2018
-.Pp
-See also
-.Ic \&Dt
-and
-.Ic \&Os .
-.Tg Dl
-.It Ic \&Dl Ar line
-One-line indented display.
-This is formatted as literal text and is useful for commands and
-invocations.
-It is followed by a newline.
-.Pp
-Examples:
-.Dl \&.Dl % mandoc mdoc.5 \e(ba less
-.Pp
-See also
-.Ic \&Ql ,
-.Ic \&Bd Fl literal ,
-and
-.Ic \&D1 .
-.It Ic \&Do Ar block
-Begin a block enclosed by double quotes.
-Does not have any head arguments.
-.Pp
-Examples:
-.Bd -literal -offset indent -compact
-\&.Do
-April is the cruellest month
-\&.Dc
-\e(em T.S. Eliot
-.Ed
-.Pp
-See also
-.Ic \&Dq .
-.Tg Dq
-.It Ic \&Dq Ar line
-Encloses its arguments in
-.Dq typographic
-double-quotes.
-.Pp
-Examples:
-.Bd -literal -offset indent -compact
-\&.Dq April is the cruellest month
-\e(em T.S. Eliot
-.Ed
-.Pp
-See also
-.Ic \&Qq ,
-.Ic \&Sq ,
-and
-.Ic \&Do .
-.Tg Dt
-.It Ic \&Dt Ar TITLE section Op Ar arch
-Document title for display in the page header.
-This is the mandatory second macro of any
-.Nm
-file.
-.Pp
-Its arguments are as follows:
-.Bl -tag -width section -offset 2n
-.It Ar TITLE
-The document's title (name), defaulting to
-.Dq UNTITLED
-if unspecified.
-To achieve a uniform appearance of page header lines,
-it should by convention be all caps.
-.It Ar SECTION
-The manual section.
-It should correspond to the manual's filename suffix and defaults to
-the empty string if unspecified.
-This field is optional.
-To achieve a uniform appearance of page header lines,
-it should by convention be all caps.
-.It Ar arch
-This specifies the machine architecture a manual page applies to,
-where relevant.
-.El
-.It Ic \&Dv
-Defined variables such as preprocessor constants, constant symbols,
-enumeration values, and so on.
-.Pp
-Examples:
-.Dl \&.Dv NULL
-.Dl \&.Dv BUFSIZ
-.Dl \&.Dv STDOUT_FILENO
-.Pp
-See also
-.Ic \&Er
-and
-.Ic \&Ev
-for special-purpose constants,
-.Ic \&Va
-for variable symbols, and
-.Ic \&Fd
-for listing preprocessor variable definitions in the
-.Em SYNOPSIS .
-.Tg Dx
-.It Ic \&Dx Op Ar version
-Format the
-.Dx
-version provided as an argument, or a default
-value if no argument is provided.
-.Pp
-Examples:
-.Dl \&.Dx 2.4.1
-.Dl \&.Dx
-.Pp
-See also
-.Ic \&At ,
-.Ic \&Bsx ,
-.Ic \&Bx ,
-.Ic \&Fx ,
-.Ic \&Nx ,
-and
-.Ic \&Ox .
-.It Ic \&Ec Op Ar closing_delimiter
-Close a scope started by
-.Ic \&Eo .
-.Pp
-The
-.Ar closing_delimiter
-argument is used as the enclosure tail, for example, specifying \e(rq
-will emulate
-.Ic \&Dc .
-.It Ic \&Ed
-End a display context started by
-.Ic \&Bd .
-.It Ic \&Ef
-End a font mode context started by
-.Ic \&Bf .
-.It Ic \&Ek
-End a keep context started by
-.Ic \&Bk .
-.It Ic \&El
-End a list context started by
-.Ic \&Bl .
-See also
-.Ic \&It .
-.Tg Em
-.It Ic \&Em Ar word ...
-Request an italic font.
-If the output device does not provide that, underline.
-.Pp
-This is most often used for stress emphasis (not to be confused with
-importance, see
-.Ic \&Sy ) .
-In the rare cases where none of the semantic markup macros fit,
-it can also be used for technical terms and placeholders, except
-that for syntax elements,
-.Ic \&Sy
-and
-.Ic \&Ar
-are preferred, respectively.
-.Pp
-Examples:
-.Bd -literal -compact -offset indent
-Selected lines are those
-\&.Em not
-matching any of the specified patterns.
-Some of the functions use a
-\&.Em hold space
-to save the pattern space for subsequent retrieval.
-.Ed
-.Pp
-See also
-.Ic \&No ,
-.Ic \&Ql ,
-and
-.Ic \&Sy .
-.It Ic \&En Ar word ...
-This macro is obsolete.
-Use
-.Ic \&Eo
-or any of the other enclosure macros.
-.Pp
-It encloses its argument in the delimiters specified by the last
-.Ic \&Es
-macro.
-.Tg Eo
-.It Ic \&Eo Op Ar opening_delimiter
-An arbitrary enclosure.
-The
-.Ar opening_delimiter
-argument is used as the enclosure head, for example, specifying \e(lq
-will emulate
-.Ic \&Do .
-.Tg Er
-.It Ic \&Er Ar identifier ...
-Error constants for definitions of the
-.Va errno
-libc global variable.
-This is most often used in section 2 and 3 manual pages.
-.Pp
-Examples:
-.Dl \&.Er EPERM
-.Dl \&.Er ENOENT
-.Pp
-See also
-.Ic \&Dv
-for general constants.
-.It Ic \&Es Ar opening_delimiter closing_delimiter
-This macro is obsolete.
-Use
-.Ic \&Eo
-or any of the other enclosure macros.
-.Pp
-It takes two arguments, defining the delimiters to be used by subsequent
-.Ic \&En
-macros.
-.Tg Ev
-.It Ic \&Ev Ar identifier ...
-Environmental variables such as those specified in
-.Xr environ 5 .
-.Pp
-Examples:
-.Dl \&.Ev DISPLAY
-.Dl \&.Ev PATH
-.Pp
-See also
-.Ic \&Dv
-for general constants.
-.Tg Ex
-.It Ic \&Ex Fl std Op Ar utility ...
-Insert a standard sentence regarding command exit values of 0 on success
-and >0 on failure.
-This is most often used in section 1 and 1M manual pages.
-.Pp
-If
-.Ar utility
-is not specified, the document's name set by
-.Ic \&Nm
-is used.
-Multiple
-.Ar utility
-arguments are treated as separate utilities.
-.Pp
-See also
-.Ic \&Rv .
-.Tg Fa
-.It Ic \&Fa Ar argument ...
-Function argument or parameter.
-Each argument may be a name and a type (recommended for the
-.Em SYNOPSIS
-section), a name alone (for function invocations),
-or a type alone (for function prototypes).
-If both a type and a name are given or if the type consists of multiple
-words, all words belonging to the same function argument have to be
-given in a single argument to the
-.Ic \&Fa
-macro.
-.Pp
-This macro is also used to specify the field name of a structure.
-.Pp
-Most often, the
-.Ic \&Fa
-macro is used in the
-.Em SYNOPSIS
-within
-.Ic \&Fo
-blocks when documenting multi-line function prototypes.
-If invoked with multiple arguments, the arguments are separated by a
-comma.
-Furthermore, if the following macro is another
-.Ic \&Fa ,
-the last argument will also have a trailing comma.
-.Pp
-Examples:
-.Dl \&.Fa \(dqconst char *p\(dq
-.Dl \&.Fa \(dqint a\(dq \(dqint b\(dq \(dqint c\(dq
-.Dl \&.Fa \(dqchar *\(dq size_t
-.Pp
-See also
-.Ic \&Fo .
-.It Ic \&Fc
-End a function context started by
-.Ic \&Fo .
-.Tg Fd
-.It Ic \&Fd Pf # Ar directive Op Ar argument ...
-Preprocessor directive, in particular for listing it in the
-.Em SYNOPSIS .
-Historically, it was also used to document include files.
-The latter usage has been deprecated in favour of
-.Ic \&In .
-.Pp
-Examples:
-.Dl \&.Fd #define sa_handler __sigaction_u.__sa_handler
-.Dl \&.Fd #define SIO_MAXNFDS
-.Dl \&.Fd #ifdef FS_DEBUG
-.Dl \&.Ft void
-.Dl \&.Fn dbg_open \(dqconst char *\(dq
-.Dl \&.Fd #endif
-.Pp
-See also
-.Sx MANUAL STRUCTURE ,
-.Ic \&In ,
-and
-.Ic \&Dv .
-.Tg Fl
-.It Ic \&Fl Op Ar word ...
-Command-line flag or option.
-Used when listing arguments to command-line utilities.
-For each argument, prints an ASCII hyphen-minus character
-.Sq \- ,
-immediately followed by the argument.
-If no arguments are provided, a hyphen-minus is printed followed by a space.
-If the argument is a macro, a hyphen-minus is prefixed
-to the subsequent macro output.
-.Pp
-Examples:
-.Dl ".Nm du Op Fl H | L | P"
-.Dl ".Nm ls Op Fl 1AaCcdFfgHhikLlmnopqRrSsTtux"
-.Dl ".Nm route Cm add Fl inet Ar destination gateway"
-.Dl ".Nm locate.updatedb Op Fl \e-fcodes Ns = Ns Ar dbfile"
-.Dl ".Nm aucat Fl o Fl"
-.Dl ".Nm kill Fl Ar signal_number"
-.Pp
-For GNU-sytle long options, escaping the additional hyphen-minus is not
-strictly required, but may be safer with future versions of GNU troff; see
-.Xr mandoc_char 5
-for details.
-.Pp
-See also
-.Ic \&Cm .
-.Tg Fn
-.It Ic \&Fn Ar funcname Op Ar argument ...
-A function name.
-.Pp
-Function arguments are surrounded in parenthesis and
-are delimited by commas.
-If no arguments are specified, blank parenthesis are output.
-In the
-.Em SYNOPSIS
-section, this macro starts a new output line,
-and a blank line is automatically inserted between function definitions.
-.Pp
-Examples:
-.Dl \&.Fn \(dqint funcname\(dq \(dqint arg0\(dq \(dqint arg1\(dq
-.Dl \&.Fn funcname \(dqint arg0\(dq
-.Dl \&.Fn funcname arg0
-.Bd -literal -offset indent
-\&.Ft functype
-\&.Fn funcname
-.Ed
-.Pp
-When referring to a function documented in another manual page, use
-.Ic \&Xr
-instead.
-See also
-.Sx MANUAL STRUCTURE ,
-.Ic \&Fo ,
-and
-.Ic \&Ft .
-.Tg Fo
-.It Ic \&Fo Ar funcname
-Begin a function block.
-This is a multi-line version of
-.Ic \&Fn .
-.Pp
-Invocations usually occur in the following context:
-.Bd -ragged -offset indent
-.Pf \. Ic \&Ft Ar functype
-.br
-.Pf \. Ic \&Fo Ar funcname
-.br
-.Pf \. Ic \&Fa Qq Ar argtype Ar argname
-.br
-\&.\.\.
-.br
-.Pf \. Ic \&Fc
-.Ed
-.Pp
-A
-.Ic \&Fo
-scope is closed by
-.Ic \&Fc .
-.Pp
-See also
-.Sx MANUAL STRUCTURE ,
-.Ic \&Fa ,
-.Ic \&Fc ,
-and
-.Ic \&Ft .
-.It Ic \&Fr Ar number
-This macro is obsolete.
-No replacement markup is needed.
-.Pp
-It was used to show numerical function return values in an italic font.
-.Tg Ft
-.It Ic \&Ft Ar functype
-A function type.
-.Pp
-In the
-.Em SYNOPSIS
-section, a new output line is started after this macro.
-.Pp
-Examples:
-.Dl \&.Ft int
-.Bd -literal -offset indent -compact
-\&.Ft functype
-\&.Fn funcname
-.Ed
-.Pp
-See also
-.Sx MANUAL STRUCTURE ,
-.Ic \&Fn ,
-and
-.Ic \&Fo .
-.Tg Fx
-.It Ic \&Fx Op Ar version
-Format the
-.Fx
-version provided as an argument, or a default value
-if no argument is provided.
-.Pp
-Examples:
-.Dl \&.Fx 7.1
-.Dl \&.Fx
-.Pp
-See also
-.Ic \&At ,
-.Ic \&Bsx ,
-.Ic \&Bx ,
-.Ic \&Dx ,
-.Ic \&Nx ,
-and
-.Ic \&Ox .
-.It Ic \&Hf Ar filename
-This macro is not implemented in
-.Xr mandoc 1 .
-It was used to include the contents of a (header) file literally.
-.Tg Ic
-.It Ic \&Ic Ar keyword ...
-Internal or interactive command, or configuration instruction
-in a configuration file.
-See also
-.Ic \&Cm .
-.Pp
-Examples:
-.Dl \&.Ic :wq
-.Dl \&.Ic hash
-.Dl \&.Ic alias
-.Pp
-Note that using
-.Ic \&Ql ,
-.Ic \&Dl ,
-or
-.Ic \&Bd Fl literal
-is preferred for displaying code samples; the
-.Ic \&Ic
-macro is used when referring to an individual command name.
-.Tg In
-.It Ic \&In Ar filename
-The name of an include file.
-This macro is most often used in section 2, 3, and 9 manual pages.
-.Pp
-When invoked as the first macro on an input line in the
-.Em SYNOPSIS
-section, the argument is displayed in angle brackets
-and preceded by
-.Qq #include ,
-and a blank line is inserted in front if there is a preceding
-function declaration.
-In other sections, it only encloses its argument in angle brackets
-and causes no line break.
-.Pp
-Examples:
-.Dl \&.In sys/types.h
-.Pp
-See also
-.Sx MANUAL STRUCTURE .
-.Tg It
-.It Ic \&It Op Ar head
-A list item.
-The syntax of this macro depends on the list type.
-.Pp
-Lists
-of type
-.Fl hang ,
-.Fl ohang ,
-.Fl inset ,
-and
-.Fl diag
-have the following syntax:
-.Pp
-.D1 Pf \. Ic \&It Ar args
-.Pp
-Lists of type
-.Fl bullet ,
-.Fl dash ,
-.Fl enum ,
-.Fl hyphen
-and
-.Fl item
-have the following syntax:
-.Pp
-.D1 Pf \. Ic \&It
-.Pp
-with subsequent lines interpreted within the scope of the
-.Ic \&It
-until either a closing
-.Ic \&El
-or another
-.Ic \&It .
-.Pp
-The
-.Fl tag
-list has the following syntax:
-.Pp
-.D1 Pf \. Ic \&It Op Cm args
-.Pp
-Subsequent lines are interpreted as with
-.Fl bullet
-and family.
-The line arguments correspond to the list's left-hand side; body
-arguments correspond to the list's contents.
-.Pp
-The
-.Fl column
-list is the most complicated.
-Its syntax is as follows:
-.Pp
-.D1 Pf \. Ic \&It Ar cell Op Ic \&Ta Ar cell ...
-.D1 Pf \. Ic \&It Ar cell Op <TAB> Ar cell ...
-.Pp
-The arguments consist of one or more lines of text and macros
-representing a complete table line.
-Cells within the line are delimited by the special
-.Ic \&Ta
-block macro or by literal tab characters.
-.Pp
-Using literal tabs is strongly discouraged because they are very
-hard to use correctly and
-.Nm
-code using them is very hard to read.
-In particular, a blank character is syntactically significant
-before and after the literal tab character.
-If a word precedes or follows the tab without an intervening blank,
-that word is never interpreted as a macro call, but always output
-literally.
-.Pp
-The tab cell delimiter may only be used within the
-.Ic \&It
-line itself; on following lines, only the
-.Ic \&Ta
-macro can be used to delimit cells, and portability requires that
-.Ic \&Ta
-is called by other macros: some parsers do not recognize it when
-it appears as the first macro on a line.
-.Pp
-Note that quoted strings may span tab-delimited cells on an
-.Ic \&It
-line.
-For example,
-.Pp
-.Dl .It \(dqcol1 ,\& <TAB> col2 ,\(dq \&;
-.Pp
-will preserve the whitespace before both commas,
-but not the whitespace before the semicolon.
-.Pp
-See also
-.Ic \&Bl .
-.Tg Lb
-.It Ic \&Lb Cm lib Ns Ar name
-Specify a library.
-.Pp
-The
-.Ar name
-parameter may be a system library, such as
-.Cm z
-or
-.Cm pam ,
-in which case a small library description is printed next to the linker
-invocation; or a custom library, in which case the library name is
-printed in quotes.
-This is most commonly used in the
-.Em SYNOPSIS
-section as described in
-.Sx MANUAL STRUCTURE .
-.Pp
-Examples:
-.Dl \&.Lb libz
-.Dl \&.Lb libmandoc
-.Tg Li
-.It Ic \&Li Ar word ...
-Request a typewriter (literal) font.
-Deprecated because on terminal output devices, this is usually
-indistinguishable from normal text.
-For literal displays, use
-.Ic \&Ql Pq in-line ,
-.Ic \&Dl Pq single line ,
-or
-.Ic \&Bd Fl literal Pq multi-line
-instead.
-.Tg Lk
-.It Ic \&Lk Ar uri Op Ar display_name
-Format a hyperlink.
-.Pp
-Examples:
-.Dl \&.Lk https://bsd.lv \(dqThe BSD.lv Project\(dq
-.Dl \&.Lk https://bsd.lv
-.Pp
-See also
-.Ic \&Mt .
-.It Ic \&Lp
-Deprecated synonym for
-.Ic \&Pp .
-.Tg Ms
-.It Ic \&Ms Ar name
-Display a mathematical symbol.
-.Pp
-Examples:
-.Dl \&.Ms sigma
-.Dl \&.Ms aleph
-.Tg Mt
-.It Ic \&Mt Ar localpart Ns @ Ns Ar domain
-Format a
-.Dq mailto:
-hyperlink.
-.Pp
-Examples:
-.Dl \&.Mt discuss@manpages.bsd.lv
-.Dl \&.An Kristaps Dzonsons \&Aq \&Mt kristaps@bsd.lv
-.Tg Nd
-.It Ic \&Nd Ar line
-A one line description of the manual's content.
-This is the mandatory last macro of the
-.Em NAME
-section and not appropriate for other sections.
-.Pp
-Examples:
-.Dl Pf . Ic \&Nd mdoc language reference
-.Dl Pf . Ic \&Nd format and display UNIX manuals
-.Pp
-The
-.Ic \&Nd
-macro technically accepts child macros and terminates with a subsequent
-.Ic \&Sh
-invocation.
-Do not assume this behaviour: some
-.Xr whatis 1
-database generators are not smart enough to parse more than the line
-arguments and will display macros verbatim.
-.Pp
-See also
-.Ic \&Nm .
-.Tg Nm
-.It Ic \&Nm Op Ar name
-The name of the manual page, or \(em in particular in section 1
-pages \(em of an additional command or feature documented in
-the manual page.
-When first invoked, the
-.Ic \&Nm
-macro expects a single argument, the name of the manual page.
-Usually, the first invocation happens in the
-.Em NAME
-section of the page.
-The specified name will be remembered and used whenever the macro is
-called again without arguments later in the page.
-The
-.Ic \&Nm
-macro uses
-.Sx Block full-implicit
-semantics when invoked as the first macro on an input line in the
-.Em SYNOPSIS
-section; otherwise, it uses ordinary
-.Sx In-line
-semantics.
-.Pp
-Examples:
-.Bd -literal -offset indent
-\&.Sh SYNOPSIS
-\&.Nm cat
-\&.Op Fl benstuv
-\&.Op Ar
-.Ed
-.Pp
-In the
-.Em SYNOPSIS
-of section 2, 3 and 9 manual pages, use the
-.Ic \&Fn
-macro rather than
-.Ic \&Nm
-to mark up the name of the manual page.
-.Tg No
-.It Ic \&No Ar word ...
-Normal text.
-Closes the scope of any preceding in-line macro.
-When used after physical formatting macros like
-.Ic \&Em
-or
-.Ic \&Sy ,
-switches back to the standard font face and weight.
-Can also be used to embed plain text strings in macro lines
-using semantic annotation macros.
-.Pp
-Examples:
-.Dl ".Em italic , Sy bold , No and roman"
-.Bd -literal -offset indent
-\&.Sm off
-\&.Cm :C No / Ar pattern No / Ar replacement No /
-\&.Sm on
-.Ed
-.Pp
-See also
-.Ic \&Em ,
-.Ic \&Ql ,
-and
-.Ic \&Sy .
-.Tg Ns
-.It Ic \&Ns
-Suppress a space between the output of the preceding macro
-and the following text or macro.
-Following invocation, input is interpreted as normal text
-just like after an
-.Ic \&No
-macro.
-.Pp
-This has no effect when invoked at the start of a macro line.
-.Pp
-Examples:
-.Dl ".Ar name Ns = Ns Ar value"
-.Dl ".Cm :M Ns Ar pattern"
-.Dl ".Fl o Ns Ar output"
-.Pp
-See also
-.Ic \&No
-and
-.Ic \&Sm .
-.Tg Nx
-.It Ic \&Nx Op Ar version
-Format the
-.Nx
-version provided as an argument, or a default value if
-no argument is provided.
-.Pp
-Examples:
-.Dl \&.Nx 5.01
-.Dl \&.Nx
-.Pp
-See also
-.Ic \&At ,
-.Ic \&Bsx ,
-.Ic \&Bx ,
-.Ic \&Dx ,
-.Ic \&Fx ,
-and
-.Ic \&Ox .
-.It Ic \&Oc
-Close multi-line
-.Ic \&Oo
-context.
-.It Ic \&Oo Ar block
-Multi-line version of
-.Ic \&Op .
-.Pp
-Examples:
-.Bd -literal -offset indent -compact
-\&.Oo
-\&.Op Fl flag Ns Ar value
-\&.Oc
-.Ed
-.Tg Op
-.It Ic \&Op Ar line
-Optional part of a command line.
-Prints the argument(s) in brackets.
-This is most often used in the
-.Em SYNOPSIS
-section of section 1 and 1M manual pages.
-.Pp
-Examples:
-.Dl \&.Op \&Fl a \&Ar b
-.Dl \&.Op \&Ar a | b
-.Pp
-See also
-.Ic \&Oo .
-.Tg Os
-.It Ic \&Os Op Ar system Op Ar version
-Operating system version for display in the page footer.
-This is the mandatory third macro of
-any
-.Nm
-file.
-.Pp
-The optional
-.Ar system
-parameter specifies the relevant operating system or environment.
-It is suggested to leave it unspecified, in which case
-.Xr mandoc 1
-uses its
-.Fl Ios
-argument or, if that isn't specified either,
-.Fa sysname
-and
-.Fa release
-as returned by
-.Xr uname 3 .
-.Pp
-Examples:
-.Dl \&.Os
-.Dl \&.Os KTH/CSC/TCS
-.Dl \&.Os BSD 4.3
-.Pp
-See also
-.Ic \&Dd
-and
-.Ic \&Dt .
-.It Ic \&Ot Ar functype
-This macro is obsolete.
-Use
-.Ic \&Ft
-instead; with
-.Xr mandoc 1 ,
-both have the same effect.
-.Pp
-Historical
-.Nm
-packages described it as
-.Dq "old function type (FORTRAN)" .
-.Tg Ox
-.It Ic \&Ox Op Ar version
-Format the
-.Ox
-version provided as an argument, or a default value
-if no argument is provided.
-.Pp
-Examples:
-.Dl \&.Ox 4.5
-.Dl \&.Ox
-.Pp
-See also
-.Ic \&At ,
-.Ic \&Bsx ,
-.Ic \&Bx ,
-.Ic \&Dx ,
-.Ic \&Fx ,
-and
-.Ic \&Nx .
-.Tg Pa
-.It Ic \&Pa Ar name ...
-An absolute or relative file system path, or a file or directory name.
-If an argument is not provided, the character
-.Sq \(ti
-is used as a default.
-.Pp
-Examples:
-.Dl \&.Pa /usr/bin/mandoc
-.Dl \&.Pa /usr/share/man/man5/mdoc.5
-.Pp
-See also
-.Ic \&Lk .
-.It Ic \&Pc
-Close parenthesised context opened by
-.Ic \&Po .
-.Tg Pf
-.It Ic \&Pf Ar prefix macro Op Ar argument ...
-Removes the space between its argument and the following macro.
-It is equivalent to:
-.Pp
-.D1 Ic \&No Pf \e& Ar prefix Ic \&Ns Ar macro Op Ar argument ...
-.Pp
-The
-.Ar prefix
-argument is not parsed for macro names or delimiters,
-but used verbatim as if it were escaped.
-.Pp
-Examples:
-.Dl ".Pf $ Ar variable_name"
-.Dl ".Pf . Ar macro_name"
-.Dl ".Pf 0x Ar hex_digits"
-.Pp
-See also
-.Ic \&Ns
-and
-.Ic \&Sm .
-.It Ic \&Po Ar block
-Multi-line version of
-.Ic \&Pq .
-.Tg Pp
-.It Ic \&Pp
-Break a paragraph.
-This will assert vertical space between prior and subsequent macros
-and/or text.
-.Pp
-Paragraph breaks are not needed before or after
-.Ic \&Sh
-or
-.Ic \&Ss
-macros or before displays
-.Pq Ic \&Bd Ar line
-or lists
-.Pq Ic \&Bl
-unless the
-.Fl compact
-flag is given.
-.Tg Pq
-.It Ic \&Pq Ar line
-Parenthesised enclosure.
-.Pp
-See also
-.Ic \&Po .
-.It Ic \&Qc
-Close quoted context opened by
-.Ic \&Qo .
-.Tg Ql
-.It Ic \&Ql Ar line
-In-line literal display.
-This can be used for complete command invocations and for multi-word
-code examples when an indented display is not desired.
-.Pp
-See also
-.Ic \&Dl
-and
-.Ic \&Bd
-.Fl literal .
-.It Ic \&Qo Ar block
-Multi-line version of
-.Ic \&Qq .
-.Tg Qq
-.It Ic \&Qq Ar line
-Encloses its arguments in
-.Qq typewriter
-double-quotes.
-Consider using
-.Ic \&Dq .
-.Pp
-See also
-.Ic \&Dq ,
-.Ic \&Sq ,
-and
-.Ic \&Qo .
-.It Ic \&Re
-Close an
-.Ic \&Rs
-block.
-Does not have any tail arguments.
-.Tg Rs
-.It Ic \&Rs
-Begin a bibliographic
-.Pq Dq reference
-block.
-Does not have any head arguments.
-The block macro may only contain
-.Ic \&%A ,
-.Ic \&%B ,
-.Ic \&%C ,
-.Ic \&%D ,
-.Ic \&%I ,
-.Ic \&%J ,
-.Ic \&%N ,
-.Ic \&%O ,
-.Ic \&%P ,
-.Ic \&%Q ,
-.Ic \&%R ,
-.Ic \&%T ,
-.Ic \&%U ,
-and
-.Ic \&%V
-child macros (at least one must be specified).
-.Pp
-Examples:
-.Bd -literal -offset indent -compact
-\&.Rs
-\&.%A J. E. Hopcroft
-\&.%A J. D. Ullman
-\&.%B Introduction to Automata Theory, Languages, and Computation
-\&.%I Addison-Wesley
-\&.%C Reading, Massachusetts
-\&.%D 1979
-\&.Re
-.Ed
-.Pp
-If an
-.Ic \&Rs
-block is used within a SEE ALSO section, a vertical space is asserted
-before the rendered output, else the block continues on the current
-line.
-.Tg Rv
-.It Ic \&Rv Fl std Op Ar function ...
-Insert a standard sentence regarding a function call's return value of 0
-on success and \-1 on error, with the
-.Va errno
-libc global variable set on error.
-.Pp
-If
-.Ar function
-is not specified, the document's name set by
-.Ic \&Nm
-is used.
-Multiple
-.Ar function
-arguments are treated as separate functions.
-.Pp
-See also
-.Ic \&Ex .
-.It Ic \&Sc
-Close single-quoted context opened by
-.Ic \&So .
-.Tg Sh
-.It Ic \&Sh Ar TITLE LINE
-Begin a new section.
-For a list of conventional manual sections, see
-.Sx MANUAL STRUCTURE .
-These sections should be used unless it's absolutely necessary that
-custom sections be used.
-.Pp
-Section names should be unique so that they may be keyed by
-.Ic \&Sx .
-Although this macro is parsed, it should not consist of child node or it
-may not be linked with
-.Ic \&Sx .
-.Pp
-See also
-.Ic \&Pp ,
-.Ic \&Ss ,
-and
-.Ic \&Sx .
-.Tg Sm
-.It Ic \&Sm Op Cm on | off
-Switches the spacing mode for output generated from macros.
-.Pp
-By default, spacing is
-.Cm on .
-When switched
-.Cm off ,
-no white space is inserted between macro arguments and between the
-output generated from adjacent macros, but text lines
-still get normal spacing between words and sentences.
-.Pp
-When called without an argument, the
-.Ic \&Sm
-macro toggles the spacing mode.
-Using this is not recommended because it makes the code harder to read.
-.It Ic \&So Ar block
-Multi-line version of
-.Ic \&Sq .
-.Tg Sq
-.It Ic \&Sq Ar line
-Encloses its arguments in
-.Sq typewriter
-single-quotes.
-.Pp
-See also
-.Ic \&Dq ,
-.Ic \&Qq ,
-and
-.Ic \&So .
-.Tg Ss
-.It Ic \&Ss Ar Title line
-Begin a new subsection.
-Unlike with
-.Ic \&Sh ,
-there is no convention for the naming of subsections.
-Except
-.Em DESCRIPTION ,
-the conventional sections described in
-.Sx MANUAL STRUCTURE
-rarely have subsections.
-.Pp
-Sub-section names should be unique so that they may be keyed by
-.Ic \&Sx .
-Although this macro is parsed, it should not consist of child node or it
-may not be linked with
-.Ic \&Sx .
-.Pp
-See also
-.Ic \&Pp ,
-.Ic \&Sh ,
-and
-.Ic \&Sx .
-.Tg St
-.It Ic \&St Fl Ns Ar abbreviation
-Replace an abbreviation for a standard with the full form.
-The following standards are recognised.
-Where multiple lines are given without a blank line in between,
-they all refer to the same standard, and using the first form
-is recommended.
-.Bl -tag -width 1n
-.It C language standards
-.Pp
-.Bl -tag -width "-p1003.1g-2000" -compact
-.It \-ansiC
-.St -ansiC
-.It \-ansiC-89
-.St -ansiC-89
-.It \-isoC
-.St -isoC
-.It \-isoC-90
-.St -isoC-90
-.br
-The original C standard.
-.Pp
-.It \-isoC-amd1
-.St -isoC-amd1
-.Pp
-.It \-isoC-tcor1
-.St -isoC-tcor1
-.Pp
-.It \-isoC-tcor2
-.St -isoC-tcor2
-.Pp
-.It \-isoC-99
-.St -isoC-99
-.br
-The second major version of the C language standard.
-.Pp
-.It \-isoC-2011
-.St -isoC-2011
-.br
-The third major version of the C language standard.
-.El
-.It POSIX.1 before the Single UNIX Specification
-.Pp
-.Bl -tag -width "-p1003.1g-2000" -compact
-.It \-p1003.1-88
-.St -p1003.1-88
-.It \-p1003.1
-.St -p1003.1
-.br
-The original POSIX standard, based on ANSI C.
-.Pp
-.It \-p1003.1-90
-.St -p1003.1-90
-.It \-iso9945-1-90
-.St -iso9945-1-90
-.br
-The first update of POSIX.1.
-.Pp
-.It \-p1003.1b-93
-.St -p1003.1b-93
-.It \-p1003.1b
-.St -p1003.1b
-.br
-Real-time extensions.
-.Pp
-.It \-p1003.1c-95
-.St -p1003.1c-95
-.br
-POSIX thread interfaces.
-.Pp
-.It \-p1003.1i-95
-.St -p1003.1i-95
-.br
-Technical Corrigendum.
-.Pp
-.It \-p1003.1-96
-.St -p1003.1-96
-.It \-iso9945-1-96
-.St -iso9945-1-96
-.br
-Includes POSIX.1-1990, 1b, 1c, and 1i.
-.El
-.It X/Open Portability Guide version 4 and related standards
-.Pp
-.Bl -tag -width "-p1003.1g-2000" -compact
-.It \-xpg3
-.St -xpg3
-.br
-An XPG4 precursor, published in 1989.
-.Pp
-.It \-p1003.2
-.St -p1003.2
-.It \-p1003.2-92
-.St -p1003.2-92
-.It \-iso9945-2-93
-.St -iso9945-2-93
-.br
-An XCU4 precursor.
-.Pp
-.It \-p1003.2a-92
-.St -p1003.2a-92
-.br
-Updates to POSIX.2.
-.Pp
-.It \-xpg4
-.St -xpg4
-.br
-Based on POSIX.1 and POSIX.2, published in 1992.
-.El
-.It Single UNIX Specification version 1 and related standards
-.Pp
-.Bl -tag -width "-p1003.1g-2000" -compact
-.It \-susv1
-.St -susv1
-.It \-xpg4.2
-.St -xpg4.2
-.br
-This standard was published in 1994.
-It was used as the basis for UNIX 95 certification.
-The following three refer to parts of it.
-.Pp
-.It \-xsh4.2
-.St -xsh4.2
-.Pp
-.It \-xcurses4.2
-.St -xcurses4.2
-.Pp
-.It \-p1003.1g-2000
-.St -p1003.1g-2000
-.br
-Networking APIs, including sockets.
-.Pp
-.It \-svid4
-.St -svid4 ,
-.br
-Published in 1995.
-.El
-.It Single UNIX Specification version 2 and related standards
-.Pp
-.Bl -tag -width "-p1003.1g-2000" -compact
-.It \-susv2
-.St -susv2
-This Standard was published in 1997
-and is also called X/Open Portability Guide version 5.
-It was used as the basis for UNIX 98 certification.
-The following refer to parts of it.
-.Pp
-.It \-xbd5
-.St -xbd5
-.Pp
-.It \-xsh5
-.St -xsh5
-.Pp
-.It \-xcu5
-.St -xcu5
-.Pp
-.It \-xns5
-.St -xns5
-.It \-xns5.2
-.St -xns5.2
-.El
-.It Single UNIX Specification version 3
-.Pp
-.Bl -tag -width "-p1003.1-2001" -compact
-.It \-p1003.1-2001
-.St -p1003.1-2001
-.It \-susv3
-.St -susv3
-.br
-This standard is based on C99, SUSv2, POSIX.1-1996, 1d, and 1j.
-It is also called X/Open Portability Guide version 6.
-It is used as the basis for UNIX 03 certification.
-.Pp
-.It \-p1003.1-2004
-.St -p1003.1-2004
-.br
-The second and last Technical Corrigendum.
-.El
-.It Single UNIX Specification version 4
-.Pp
-.Bl -tag -width "-p1003.1g-2000" -compact
-.It \-p1003.1-2008
-.St -p1003.1-2008
-.It \-susv4
-.St -susv4
-.br
-This standard is also called
-X/Open Portability Guide version 7.
-.El
-.It Other standards
-.Pp
-.Bl -tag -width "-p1003.1g-2000" -compact
-.It \-ieee754
-.St -ieee754
-.br
-Floating-point arithmetic.
-.Pp
-.It \-iso8601
-.St -iso8601
-.br
-Representation of dates and times, published in 1988.
-.Pp
-.It \-iso8802-3
-.St -iso8802-3
-.br
-Ethernet local area networks.
-.Pp
-.It \-ieee1275-94
-.St -ieee1275-94
-.El
-.El
-.Tg Sx
-.It Ic \&Sx Ar Title line
-Reference a section or subsection in the same manual page.
-The referenced section or subsection name must be identical to the
-enclosed argument, including whitespace.
-.Pp
-Examples:
-.Dl \&.Sx MANUAL STRUCTURE
-.Pp
-See also
-.Ic \&Sh
-and
-.Ic \&Ss .
-.Tg Sy
-.It Ic \&Sy Ar word ...
-Request a boldface font.
-.Pp
-This is most often used to indicate importance or seriousness (not to be
-confused with stress emphasis, see
-.Ic \&Em ) .
-When none of the semantic macros fit, it is also adequate for syntax
-elements that have to be given or that appear verbatim.
-.Pp
-Examples:
-.Bd -literal -compact -offset indent
-\&.Sy Warning :
-If
-\&.Sy s
-appears in the owner permissions, set-user-ID mode is set.
-This utility replaces the former
-\&.Sy dumpdir
-program.
-.Ed
-.Pp
-See also
-.Ic \&Em ,
-.Ic \&No ,
-and
-.Ic \&Ql .
-.Tg Ta
-.It Ic \&Ta
-Table cell separator in
-.Ic \&Bl Fl column
-lists; can only be used below
-.Ic \&It .
-.Tg Tg
-.It Ic \&Tg Op Ar term
-Announce that the next input line starts a definition of the
-.Ar term .
-This macro must appear alone on its own input line.
-The argument defaults to the first argument of the first macro
-on the next line.
-The argument may not contain whitespace characters, not even when it is quoted.
-This macro is a
-.Xr mandoc 1
-extension and is typically ignored by other formatters.
-.Pp
-When viewing terminal output with
-.Xr less 1 ,
-the interactive
-.Ic :t
-command can be used to go to the definition of the
-.Ar term
-as described for the
-.Ev MANPAGER
-variable in
-.Xr man 1 ;
-when producing HTML output, a fragment identifier
-.Pq Ic id No attribute
-is generated, to be used for deep linking to this place of the document.
-.Pp
-In most cases, adding a
-.Ic \&Tg
-macro would be redundant because
-.Xr mandoc 1
-is able to automatically tag most definitions.
-This macro is intended for cases where automatic tagging of a
-.Ar term
-is unsatisfactory, for example if a definition is not tagged
-automatically (false negative) or if places are tagged that do
-not define the
-.Ar term
-(false positives).
-When there is at least one
-.Ic \&Tg
-macro for a
-.Ar term ,
-no other places are automatically marked as definitions of that
-.Ar term .
-.It Ic \&Tn Ar word ...
-Supported only for compatibility, do not use this in new manuals.
-Even though the macro name
-.Pq Dq tradename
-suggests a semantic function, historic usage is inconsistent, mostly
-using it as a presentation-level macro to request a small caps font.
-.It Ic \&Ud
-Supported only for compatibility, do not use this in new manuals.
-Prints out
-.Dq currently under development.
-.It Ic \&Ux
-Supported only for compatibility, do not use this in new manuals.
-Prints out
-.Dq Ux .
-.Tg Va
-.It Ic \&Va Oo Ar type Oc Ar identifier ...
-A variable name.
-.Pp
-Examples:
-.Dl \&.Va foo
-.Dl \&.Va const char *bar ;
-.Pp
-For function arguments and parameters, use
-.Ic \&Fa
-instead.
-For declarations of global variables in the
-.Em SYNOPSIS
-section, use
-.Ic \&Vt .
-.Tg Vt
-.It Ic \&Vt Ar type Op Ar identifier
-A variable type.
-.Pp
-This is also used for indicating global variables in the
-.Em SYNOPSIS
-section, in which case a variable name is also specified.
-Note that it accepts
-.Sx Block partial-implicit
-syntax when invoked as the first macro on an input line in the
-.Em SYNOPSIS
-section, else it accepts ordinary
-.Sx In-line
-syntax.
-In the former case, this macro starts a new output line,
-and a blank line is inserted in front if there is a preceding
-function definition or include directive.
-.Pp
-Examples:
-.Dl \&.Vt unsigned char
-.Dl \&.Vt extern const char * const sys_signame[] \&;
-.Pp
-For parameters in function prototypes, use
-.Ic \&Fa
-instead, for function return types
-.Ic \&Ft ,
-and for variable names outside the
-.Em SYNOPSIS
-section
-.Ic \&Va ,
-even when including a type with the name.
-See also
-.Sx MANUAL STRUCTURE .
-.It Ic \&Xc
-Close a scope opened by
-.Ic \&Xo .
-.It Ic \&Xo Ar block
-Extend the header of an
-.Ic \&It
-macro or the body of a partial-implicit block macro
-beyond the end of the input line.
-This macro originally existed to work around the 9-argument limit
-of historic
-.Xr mandoc_roff 5 .
-.Tg Xr
-.It Ic \&Xr Ar name section
-Link to another manual
-.Pq Qq cross-reference .
-.Pp
-Cross reference the
-.Ar name
-and
-.Ar section
-number of another man page.
-.Pp
-Examples:
-.Dl \&.Xr mandoc 1
-.Dl \&.Xr mandoc 1 \&;
-.Dl \&.Xr mandoc 1 \&Ns s behaviour
-.El
-.Sh MACRO SYNTAX
-The syntax of a macro depends on its classification.
-In this section,
-.Sq \-arg
-refers to macro arguments, which may be followed by zero or more
-.Sq parm
-parameters;
-.Sq \&Yo
-opens the scope of a macro; and if specified,
-.Sq \&Yc
-closes it out.
-.Pp
-The
-.Em Callable
-column indicates that the macro may also be called by passing its name
-as an argument to another macro.
-For example,
-.Sq \&.Op \&Fl O \&Ar file
-produces
-.Sq Op Fl O Ar file .
-To prevent a macro call and render the macro name literally,
-escape it by prepending a zero-width space,
-.Sq \e& .
-For example,
-.Sq \&Op \e&Fl O
-produces
-.Sq Op \&Fl O .
-If a macro is not callable but its name appears as an argument
-to another macro, it is interpreted as opaque text.
-For example,
-.Sq \&.Fl \&Sh
-produces
-.Sq Fl \&Sh .
-.Pp
-The
-.Em Parsed
-column indicates whether the macro may call other macros by receiving
-their names as arguments.
-If a macro is not parsed but the name of another macro appears
-as an argument, it is interpreted as opaque text.
-.Pp
-The
-.Em Scope
-column, if applicable, describes closure rules.
-.Ss Block full-explicit
-Multi-line scope closed by an explicit closing macro.
-All macros contains bodies; only
-.Ic \&Bf
-and
-.Pq optionally
-.Ic \&Bl
-contain a head.
-.Bd -literal -offset indent
-\&.Yo \(lB\-arg \(lBparm...\(rB\(rB \(lBhead...\(rB
-\(lBbody...\(rB
-\&.Yc
-.Ed
-.Bl -column "MacroX" "CallableX" "ParsedX" "closed by XXX" -offset indent
-.It Em Macro Ta Em Callable Ta Em Parsed Ta Em Scope
-.It Ic \&Bd Ta \&No Ta \&No Ta closed by Ic \&Ed
-.It Ic \&Bf Ta \&No Ta \&No Ta closed by Ic \&Ef
-.It Ic \&Bk Ta \&No Ta \&No Ta closed by Ic \&Ek
-.It Ic \&Bl Ta \&No Ta \&No Ta closed by Ic \&El
-.It Ic \&Ed Ta \&No Ta \&No Ta opened by Ic \&Bd
-.It Ic \&Ef Ta \&No Ta \&No Ta opened by Ic \&Bf
-.It Ic \&Ek Ta \&No Ta \&No Ta opened by Ic \&Bk
-.It Ic \&El Ta \&No Ta \&No Ta opened by Ic \&Bl
-.El
-.Ss Block full-implicit
-Multi-line scope closed by end-of-file or implicitly by another macro.
-All macros have bodies; some
-.Po
-.Ic \&It Fl bullet ,
-.Fl hyphen ,
-.Fl dash ,
-.Fl enum ,
-.Fl item
-.Pc
-don't have heads; only one
-.Po
-.Ic \&It
-in
-.Ic \&Bl Fl column
-.Pc
-has multiple heads.
-.Bd -literal -offset indent
-\&.Yo \(lB\-arg \(lBparm...\(rB\(rB \(lBhead... \(lBTa head...\(rB\(rB
-\(lBbody...\(rB
-.Ed
-.Bl -column "MacroX" "CallableX" "ParsedX" "closed by XXXXXXXXXXX" -offset indent
-.It Em Macro Ta Em Callable Ta Em Parsed Ta Em Scope
-.It Ic \&It Ta \&No Ta Yes Ta closed by Ic \&It , Ic \&El
-.It Ic \&Nd Ta \&No Ta \&No Ta closed by Ic \&Sh
-.It Ic \&Nm Ta \&No Ta Yes Ta closed by Ic \&Nm , Ic \&Sh , Ic \&Ss
-.It Ic \&Sh Ta \&No Ta Yes Ta closed by Ic \&Sh
-.It Ic \&Ss Ta \&No Ta Yes Ta closed by Ic \&Sh , Ic \&Ss
-.El
-.Pp
-Note that the
-.Ic \&Nm
-macro is a
-.Sx Block full-implicit
-macro only when invoked as the first macro
-in a
-.Em SYNOPSIS
-section line, else it is
-.Sx In-line .
-.Ss Block partial-explicit
-Like block full-explicit, but also with single-line scope.
-Each has at least a body and, in limited circumstances, a head
-.Po
-.Ic \&Fo ,
-.Ic \&Eo
-.Pc
-and/or tail
-.Pq Ic \&Ec .
-.Bd -literal -offset indent
-\&.Yo \(lB\-arg \(lBparm...\(rB\(rB \(lBhead...\(rB
-\(lBbody...\(rB
-\&.Yc \(lBtail...\(rB
-
-\&.Yo \(lB\-arg \(lBparm...\(rB\(rB \(lBhead...\(rB \
-\(lBbody...\(rB \&Yc \(lBtail...\(rB
-.Ed
-.Bl -column "MacroX" "CallableX" "ParsedX" "closed by XXXX" -offset indent
-.It Em Macro Ta Em Callable Ta Em Parsed Ta Em Scope
-.It Ic \&Ac Ta Yes Ta Yes Ta opened by Ic \&Ao
-.It Ic \&Ao Ta Yes Ta Yes Ta closed by Ic \&Ac
-.It Ic \&Bc Ta Yes Ta Yes Ta closed by Ic \&Bo
-.It Ic \&Bo Ta Yes Ta Yes Ta opened by Ic \&Bc
-.It Ic \&Brc Ta Yes Ta Yes Ta opened by Ic \&Bro
-.It Ic \&Bro Ta Yes Ta Yes Ta closed by Ic \&Brc
-.It Ic \&Dc Ta Yes Ta Yes Ta opened by Ic \&Do
-.It Ic \&Do Ta Yes Ta Yes Ta closed by Ic \&Dc
-.It Ic \&Ec Ta Yes Ta Yes Ta opened by Ic \&Eo
-.It Ic \&Eo Ta Yes Ta Yes Ta closed by Ic \&Ec
-.It Ic \&Fc Ta Yes Ta Yes Ta opened by Ic \&Fo
-.It Ic \&Fo Ta \&No Ta \&No Ta closed by Ic \&Fc
-.It Ic \&Oc Ta Yes Ta Yes Ta closed by Ic \&Oo
-.It Ic \&Oo Ta Yes Ta Yes Ta opened by Ic \&Oc
-.It Ic \&Pc Ta Yes Ta Yes Ta closed by Ic \&Po
-.It Ic \&Po Ta Yes Ta Yes Ta opened by Ic \&Pc
-.It Ic \&Qc Ta Yes Ta Yes Ta opened by Ic \&Oo
-.It Ic \&Qo Ta Yes Ta Yes Ta closed by Ic \&Oc
-.It Ic \&Re Ta \&No Ta \&No Ta opened by Ic \&Rs
-.It Ic \&Rs Ta \&No Ta \&No Ta closed by Ic \&Re
-.It Ic \&Sc Ta Yes Ta Yes Ta opened by Ic \&So
-.It Ic \&So Ta Yes Ta Yes Ta closed by Ic \&Sc
-.It Ic \&Xc Ta Yes Ta Yes Ta opened by Ic \&Xo
-.It Ic \&Xo Ta Yes Ta Yes Ta closed by Ic \&Xc
-.El
-.Ss Block partial-implicit
-Like block full-implicit, but with single-line scope closed by the
-end of the line.
-.Bd -literal -offset indent
-\&.Yo \(lB\-arg \(lBval...\(rB\(rB \(lBbody...\(rB \(lBres...\(rB
-.Ed
-.Bl -column "MacroX" "CallableX" "ParsedX" -offset indent
-.It Em Macro Ta Em Callable Ta Em Parsed
-.It Ic \&Aq Ta Yes Ta Yes
-.It Ic \&Bq Ta Yes Ta Yes
-.It Ic \&Brq Ta Yes Ta Yes
-.It Ic \&D1 Ta \&No Ta \&Yes
-.It Ic \&Dl Ta \&No Ta Yes
-.It Ic \&Dq Ta Yes Ta Yes
-.It Ic \&En Ta Yes Ta Yes
-.It Ic \&Op Ta Yes Ta Yes
-.It Ic \&Pq Ta Yes Ta Yes
-.It Ic \&Ql Ta Yes Ta Yes
-.It Ic \&Qq Ta Yes Ta Yes
-.It Ic \&Sq Ta Yes Ta Yes
-.It Ic \&Vt Ta Yes Ta Yes
-.El
-.Pp
-Note that the
-.Ic \&Vt
-macro is a
-.Sx Block partial-implicit
-only when invoked as the first macro
-in a
-.Em SYNOPSIS
-section line, else it is
-.Sx In-line .
-.Ss Special block macro
-The
-.Ic \&Ta
-macro can only be used below
-.Ic \&It
-in
-.Ic \&Bl Fl column
-lists.
-It delimits blocks representing table cells;
-these blocks have bodies, but no heads.
-.Bl -column "MacroX" "CallableX" "ParsedX" "closed by XXXX" -offset indent
-.It Em Macro Ta Em Callable Ta Em Parsed Ta Em Scope
-.It Ic \&Ta Ta Yes Ta Yes Ta closed by Ic \&Ta , Ic \&It
-.El
-.Ss In-line
-Closed by the end of the line, fixed argument lengths,
-and/or subsequent macros.
-In-line macros have only text children.
-If a number (or inequality) of arguments is
-.Pq n ,
-then the macro accepts an arbitrary number of arguments.
-.Bd -literal -offset indent
-\&.Yo \(lB\-arg \(lBval...\(rB\(rB \(lBargs...\(rB \(lBres...\(rB
-
-\&.Yo \(lB\-arg \(lBval...\(rB\(rB \(lBargs...\(rB Yc...
-
-\&.Yo \(lB\-arg \(lBval...\(rB\(rB arg0 arg1 argN
-.Ed
-.Bl -column "MacroX" "CallableX" "ParsedX" "Arguments" -offset indent
-.It Em Macro Ta Em Callable Ta Em Parsed Ta Em Arguments
-.It Ic \&%A Ta \&No Ta \&No Ta >0
-.It Ic \&%B Ta \&No Ta \&No Ta >0
-.It Ic \&%C Ta \&No Ta \&No Ta >0
-.It Ic \&%D Ta \&No Ta \&No Ta >0
-.It Ic \&%I Ta \&No Ta \&No Ta >0
-.It Ic \&%J Ta \&No Ta \&No Ta >0
-.It Ic \&%N Ta \&No Ta \&No Ta >0
-.It Ic \&%O Ta \&No Ta \&No Ta >0
-.It Ic \&%P Ta \&No Ta \&No Ta >0
-.It Ic \&%Q Ta \&No Ta \&No Ta >0
-.It Ic \&%R Ta \&No Ta \&No Ta >0
-.It Ic \&%T Ta \&No Ta \&No Ta >0
-.It Ic \&%U Ta \&No Ta \&No Ta >0
-.It Ic \&%V Ta \&No Ta \&No Ta >0
-.It Ic \&Ad Ta Yes Ta Yes Ta >0
-.It Ic \&An Ta Yes Ta Yes Ta >0
-.It Ic \&Ap Ta Yes Ta Yes Ta 0
-.It Ic \&Ar Ta Yes Ta Yes Ta n
-.It Ic \&At Ta Yes Ta Yes Ta 1
-.It Ic \&Bsx Ta Yes Ta Yes Ta n
-.It Ic \&Bt Ta \&No Ta \&No Ta 0
-.It Ic \&Bx Ta Yes Ta Yes Ta n
-.It Ic \&Cd Ta Yes Ta Yes Ta >0
-.It Ic \&Cm Ta Yes Ta Yes Ta >0
-.It Ic \&Db Ta \&No Ta \&No Ta 1
-.It Ic \&Dd Ta \&No Ta \&No Ta n
-.It Ic \&Dt Ta \&No Ta \&No Ta n
-.It Ic \&Dv Ta Yes Ta Yes Ta >0
-.It Ic \&Dx Ta Yes Ta Yes Ta n
-.It Ic \&Em Ta Yes Ta Yes Ta >0
-.It Ic \&Er Ta Yes Ta Yes Ta >0
-.It Ic \&Es Ta Yes Ta Yes Ta 2
-.It Ic \&Ev Ta Yes Ta Yes Ta >0
-.It Ic \&Ex Ta \&No Ta \&No Ta n
-.It Ic \&Fa Ta Yes Ta Yes Ta >0
-.It Ic \&Fd Ta \&No Ta \&No Ta >0
-.It Ic \&Fl Ta Yes Ta Yes Ta n
-.It Ic \&Fn Ta Yes Ta Yes Ta >0
-.It Ic \&Fr Ta Yes Ta Yes Ta >0
-.It Ic \&Ft Ta Yes Ta Yes Ta >0
-.It Ic \&Fx Ta Yes Ta Yes Ta n
-.It Ic \&Hf Ta \&No Ta \&No Ta n
-.It Ic \&Ic Ta Yes Ta Yes Ta >0
-.It Ic \&In Ta \&No Ta \&No Ta 1
-.It Ic \&Lb Ta \&No Ta \&No Ta 1
-.It Ic \&Li Ta Yes Ta Yes Ta >0
-.It Ic \&Lk Ta Yes Ta Yes Ta >0
-.It Ic \&Lp Ta \&No Ta \&No Ta 0
-.It Ic \&Ms Ta Yes Ta Yes Ta >0
-.It Ic \&Mt Ta Yes Ta Yes Ta >0
-.It Ic \&Nm Ta Yes Ta Yes Ta n
-.It Ic \&No Ta Yes Ta Yes Ta >0
-.It Ic \&Ns Ta Yes Ta Yes Ta 0
-.It Ic \&Nx Ta Yes Ta Yes Ta n
-.It Ic \&Os Ta \&No Ta \&No Ta n
-.It Ic \&Ot Ta Yes Ta Yes Ta >0
-.It Ic \&Ox Ta Yes Ta Yes Ta n
-.It Ic \&Pa Ta Yes Ta Yes Ta n
-.It Ic \&Pf Ta Yes Ta Yes Ta 1
-.It Ic \&Pp Ta \&No Ta \&No Ta 0
-.It Ic \&Rv Ta \&No Ta \&No Ta n
-.It Ic \&Sm Ta \&No Ta \&No Ta <2
-.It Ic \&St Ta \&No Ta Yes Ta 1
-.It Ic \&Sx Ta Yes Ta Yes Ta >0
-.It Ic \&Sy Ta Yes Ta Yes Ta >0
-.It Ic \&Tg Ta \&No Ta \&No Ta <2
-.It Ic \&Tn Ta Yes Ta Yes Ta >0
-.It Ic \&Ud Ta \&No Ta \&No Ta 0
-.It Ic \&Ux Ta Yes Ta Yes Ta n
-.It Ic \&Va Ta Yes Ta Yes Ta n
-.It Ic \&Vt Ta Yes Ta Yes Ta >0
-.It Ic \&Xr Ta Yes Ta Yes Ta 2
-.El
-.Ss Delimiters
-When a macro argument consists of one single input character
-considered as a delimiter, the argument gets special handling.
-This does not apply when delimiters appear in arguments containing
-more than one character.
-Consequently, to prevent special handling and just handle it
-like any other argument, a delimiter can be escaped by prepending
-a zero-width space
-.Pq Sq \e& .
-In text lines, delimiters never need escaping, but may be used
-as normal punctuation.
-.Pp
-For many macros, when the leading arguments are opening delimiters,
-these delimiters are put before the macro scope,
-and when the trailing arguments are closing delimiters,
-these delimiters are put after the macro scope.
-Spacing is suppressed after opening delimiters
-and before closing delimiters.
-For example,
-.Pp
-.D1 Pf \. \&Aq "( [ word ] ) ."
-.Pp
-renders as:
-.Pp
-.D1 Aq ( [ word ] ) .
-.Pp
-Opening delimiters are:
-.Pp
-.Bl -tag -width Ds -offset indent -compact
-.It \&(
-left parenthesis
-.It \&[
-left bracket
-.El
-.Pp
-Closing delimiters are:
-.Pp
-.Bl -tag -width Ds -offset indent -compact
-.It \&.
-period
-.It \&,
-comma
-.It \&:
-colon
-.It \&;
-semicolon
-.It \&)
-right parenthesis
-.It \&]
-right bracket
-.It \&?
-question mark
-.It \&!
-exclamation mark
-.El
-.Pp
-Note that even a period preceded by a backslash
-.Pq Sq \e.\&
-gets this special handling; use
-.Sq \e&.\&
-to prevent that.
-.Pp
-Many in-line macros interrupt their scope when they encounter
-delimiters, and resume their scope when more arguments follow that
-are not delimiters.
-For example,
-.Pp
-.D1 Pf \. \&Fl "a ( b | c \e*(Ba d ) e"
-.Pp
-renders as:
-.Pp
-.D1 Fl a ( b | c \*(Ba d ) e
-.Pp
-This applies to both opening and closing delimiters,
-and also to the middle delimiter, which does not suppress spacing:
-.Pp
-.Bl -tag -width Ds -offset indent -compact
-.It \&|
-vertical bar
-.El
-.Pp
-As a special case, the predefined string \e*(Ba is handled and rendered
-in the same way as a plain
-.Sq \&|
-character.
-Using this predefined string is not recommended in new manuals.
-.Pp
-Appending a zero-width space
-.Pq Sq \e&
-to the end of an input line is also useful to prevent the interpretation
-of a trailing period, exclamation or question mark as the end of a
-sentence, for example when an abbreviation happens to occur
-at the end of a text or macro input line.
-.Ss Font handling
-In
-.Nm
-documents, usage of semantic markup is recommended in order to have
-proper fonts automatically selected; only when no fitting semantic markup
-is available, consider falling back to
-.Sx Physical markup
-macros.
-Whenever any
-.Nm
-macro switches the
-.Xr mandoc_roff 5
-font mode, it will automatically restore the previous font when exiting
-its scope.
-Manually switching the font using the
-.Xr mandoc_roff 5
-.Ql \ef
-font escape sequences is never required.
-.Sh COMPATIBILITY
-This section provides an incomplete list of compatibility issues
-between mandoc and GNU troff
-.Pq Qq groff .
-.Pp
-The following problematic behaviour is found in groff:
-.Pp
-.Bl -dash -compact
-.It
-.Ic \&Pa
-does not format its arguments when used in the FILES section under
-certain list types.
-.It
-.Ic \&Ta
-can only be called by other macros, but not at the beginning of a line.
-.It
-.Sq \ef
-.Pq font face
-and
-.Sq \eF
-.Pq font family face
-.Sx Text Decoration
-escapes behave irregularly when specified within line-macro scopes.
-.It
-Negative scaling units return to prior lines.
-Instead, mandoc truncates them to zero.
-.El
-.Pp
-The following features are unimplemented in mandoc:
-.Pp
-.Bl -dash -compact
-.It
-.Ic \&Bd Fl file Ar file
-is unsupported for security reasons.
-.It
-.Ic \&Bd
-.Fl filled
-does not adjust the right margin, but is an alias for
-.Ic \&Bd
-.Fl ragged .
-.It
-.Ic \&Bd
-.Fl literal
-does not use a literal font, but is an alias for
-.Ic \&Bd
-.Fl unfilled .
-.It
-.Ic \&Bd
-.Fl offset Cm center
-and
-.Fl offset Cm right
-don't work.
-Groff does not implement centered and flush-right rendering either,
-but produces large indentations.
-.El
-.Sh SEE ALSO
-.Xr man 1 ,
-.Xr mandoc 1 ,
-.Xr eqn 5 ,
-.Xr man 5 ,
-.Xr mandoc_char 5 ,
-.Xr mandoc_roff 5 ,
-.Xr tbl 5
-.Pp
-The web page
-.Lk https://mandoc.bsd.lv/mdoc/ "extended documentation for the mdoc language"
-provides a few tutorial-style pages for beginners, an extensive style
-guide for advanced authors, and an alphabetic index helping to choose
-the best macros for various kinds of content.
-.Pp
-The manual page
-.Lk https://man.voidlinux.org/groff_mdoc "groff_mdoc(7)"
-contained in the
-.Dq groff
-package documents exactly the same language in a somewhat different style.
-.Sh HISTORY
-The
-.Nm
-language first appeared as a troff macro package in
-.Bx 4.4 .
-It was later significantly updated by Werner Lemberg and Ruslan Ermilov
-in groff-1.17.
-The standalone implementation that is part of the
-.Xr mandoc 1
-utility written by Kristaps Dzonsons appeared in
-.Ox 4.6 .
-.Sh AUTHORS
-The
-.Nm
-reference was written by
-.An Kristaps Dzonsons Aq Mt kristaps@bsd.lv .