summaryrefslogtreecommitdiff
path: root/usr.bin/mandoc
diff options
context:
space:
mode:
Diffstat (limited to 'usr.bin/mandoc')
-rw-r--r--usr.bin/mandoc/mdoc.72868
1 files changed, 0 insertions, 2868 deletions
diff --git a/usr.bin/mandoc/mdoc.7 b/usr.bin/mandoc/mdoc.7
deleted file mode 100644
index 204066e617c..00000000000
--- a/usr.bin/mandoc/mdoc.7
+++ /dev/null
@@ -1,2868 +0,0 @@
-.\" $Id: mdoc.7,v 1.43 2010/08/01 00:09:48 schwarze Exp $
-.\"
-.\" Copyright (c) 2009, 2010 Kristaps Dzonsons <kristaps@bsd.lv>
-.\" Copyright (c) 2010 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.
-.\"
-.Dd $Mdocdate: August 1 2010 $
-.Dt MDOC 7
-.Os
-.Sh NAME
-.Nm mdoc
-.Nd mdoc language reference
-.Sh DESCRIPTION
-The
-.Nm mdoc
-language is used to format
-.Bx
-.Ux
-manuals.
-In this reference document, we describe its syntax, structure, and
-usage.
-Our reference implementation is mandoc; the
-.Sx COMPATIBILITY
-section describes compatibility with other troff \-mdoc implementations.
-.Pp
-An
-.Nm
-document follows simple rules: lines beginning with the control
-character
-.Sq \.
-are parsed for macros.
-Other lines are interpreted within the scope of
-prior macros:
-.Bd -literal -offset indent
-\&.Sh Macro lines change control state.
-Other lines are interpreted within the current state.
-.Ed
-.Sh LANGUAGE SYNTAX
-.Nm
-documents may contain only graphable 7-bit ASCII characters, the space
-character, and, in certain circumstances, the tab character.
-All manuals must have
-.Ux
-line terminators.
-.Ss Comments
-Text following a
-.Sq \e\*q ,
-whether in a macro or free-form text line, is ignored to the end of
-line.
-A macro line with only a control character and comment escape,
-.Sq \&.\e\*q ,
-is also ignored.
-Macro lines with only a control character and optionally whitespace are
-stripped from input.
-.Ss Reserved Characters
-Within a macro line, the following characters are reserved:
-.Pp
-.Bl -tag -width Ds -offset indent -compact
-.It \&.
-.Pq period
-.It \&,
-.Pq comma
-.It \&:
-.Pq colon
-.It \&;
-.Pq semicolon
-.It \&(
-.Pq left-parenthesis
-.It \&)
-.Pq right-parenthesis
-.It \&[
-.Pq left-bracket
-.It \&]
-.Pq right-bracket
-.It \&?
-.Pq question
-.It \&!
-.Pq exclamation
-.It \&|
-.Pq vertical bar
-.El
-.Pp
-Use of reserved characters is described in
-.Sx MACRO SYNTAX .
-For general use in macro lines, these characters can either be escaped
-with a non-breaking space
-.Pq Sq \e&
-or, if applicable, an appropriate escape sequence can be used.
-.Ss Special Characters
-Special characters may occur in both macro and free-form lines.
-Sequences begin with the escape character
-.Sq \e
-followed by either an open-parenthesis
-.Sq \&(
-for two-character sequences; an open-bracket
-.Sq \&[
-for n-character sequences (terminated at a close-bracket
-.Sq \&] ) ;
-or a single one-character sequence.
-See
-.Xr mandoc_char 7
-for a complete list.
-Examples include
-.Sq \e(em
-.Pq em-dash
-and
-.Sq \ee
-.Pq back-slash .
-.Ss Text Decoration
-Terms may be text-decorated using the
-.Sq \ef
-escape followed by an indicator: B (bold), I, (italic), R (Roman), or P
-(revert to previous mode):
-.Pp
-.D1 \efBbold\efR \efIitalic\efP
-.Pp
-A numerical representation 3, 2, or 1 (bold, italic, and Roman,
-respectively) may be used instead.
-A text decoration is valid within
-the current font scope only: if a macro opens a font scope alongside
-its own scope, such as
-.Sx \&Bf
-.Cm \&Sy ,
-in-scope invocations of
-.Sq \ef
-are only valid within the font scope of the macro.
-If
-.Sq \ef
-is specified outside of any font scope, such as in unenclosed, free-form
-text, it will affect the remainder of the document.
-.Pp
-Note this form is
-.Em not
-recommended for
-.Nm ,
-which encourages semantic annotation.
-.Ss Predefined Strings
-Historically,
-.Xr groff 1
-also defined a set of package-specific
-.Dq predefined strings ,
-which, like
-.Sx Special Characters ,
-mark special output characters and strings by way of input codes.
-Predefined strings are escaped with the slash-asterisk,
-.Sq \e* :
-single-character
-.Sq \e*X ,
-two-character
-.Sq \e*(XX ,
-and N-character
-.Sq \e*[N] .
-See
-.Xr mandoc_char 7
-for a complete list.
-Examples include
-.Sq \e*(Am
-.Pq ampersand
-and
-.Sq \e*(Ba
-.Pq vertical bar .
-.Ss Whitespace
-Whitespace consists of the space character.
-In free-form lines, whitespace is preserved within a line; un-escaped
-trailing spaces are stripped from input (unless in a literal context).
-Blank free-form lines, which may include whitespace, are only permitted
-within literal contexts.
-.Pp
-In macro lines, whitespace delimits arguments and is discarded.
-If arguments are quoted, whitespace within the quotes is retained.
-.Ss Quotation
-Macro arguments may be quoted with double-quotes to group
-space-delimited terms or to retain blocks of whitespace.
-A quoted argument begins with a double-quote preceded by whitespace.
-The next double-quote not pair-wise adjacent to another double-quote
-terminates the literal, regardless of surrounding whitespace.
-.Pp
-Note that any quoted text, even if it would cause a macro invocation
-when unquoted, is considered literal text.
-Thus, the following produces
-.Sq Op "Fl a" :
-.Bd -literal -offset indent
-\&.Op "Fl a"
-.Ed
-.Pp
-In free-form mode, quotes are regarded as opaque text.
-.Ss Dates
-There are several macros in
-.Nm
-that require a date argument.
-The canonical form for dates is the American format:
-.Pp
-.D1 Cm Month Day , Year
-.Pp
-The
-.Cm Day
-value is an optionally zero-padded numeral.
-The
-.Cm Month
-value is the full month name.
-The
-.Cm Year
-value is the full four-digit year.
-.Pp
-Reduced form dates are broken-down canonical form dates:
-.Pp
-.D1 Cm Month , Year
-.D1 Cm Year
-.Pp
-Some examples of valid dates follow:
-.Pp
-.D1 "May, 2009" Pq reduced form
-.D1 "2009" Pq reduced form
-.D1 "May 20, 2009" Pq canonical form
-.Ss Scaling Widths
-Many macros support scaled widths for their arguments, such as
-stipulating a two-inch list indentation with the following:
-.Bd -literal -offset indent
-\&.Bl -tag -width 2i
-.Ed
-.Pp
-The syntax for scaled widths is
-.Sq Li [+-]?[0-9]*.[0-9]*[:unit:] ,
-where a decimal must be preceded or proceeded by at least one digit.
-Negative numbers, while accepted, are truncated to zero.
-The following scaling units are accepted:
-.Pp
-.Bl -tag -width Ds -offset indent -compact
-.It c
-centimetre
-.It i
-inch
-.It P
-pica (~1/6 inch)
-.It p
-point (~1/72 inch)
-.It f
-synonym for
-.Sq u
-.It v
-default vertical span
-.It m
-width of rendered
-.Sq m
-.Pq em
-character
-.It n
-width of rendered
-.Sq n
-.Pq en
-character
-.It u
-default horizontal span
-.It M
-mini-em (~1/100 em)
-.El
-.Pp
-Using anything other than
-.Sq m ,
-.Sq n ,
-.Sq u ,
-or
-.Sq v
-is necessarily non-portable across output media.
-See
-.Sx COMPATIBILITY .
-.Ss Sentence Spacing
-When composing a manual, make sure that your sentences end at the end of
-a line.
-By doing so, front-ends will be able to apply the proper amount of
-spacing after the end of sentence (unescaped) period, exclamation mark,
-or question mark followed by zero or more non-sentence closing
-delimiters (
-.Ns Sq \&) ,
-.Sq \&] ,
-.Sq \&' ,
-.Sq \&" ) .
-.Pp
-The proper spacing is also intelligently preserved if a sentence ends at
-the boundary of a macro line, e.g.,
-.Pp
-.D1 \&Xr mandoc 1 \.
-.D1 \&Fl T \&Ns \&Cm ascii \.
-.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
-.Sx \&Dd ,
-.Sx \&Dt ,
-and
-.Sx \&Os
-macros in that order, is required for every document.
-.Pp
-The first section (sections are denoted by
-.Sx \&Sh )
-must be the NAME section, consisting of at least one
-.Sx \&Nm
-followed by
-.Sx \&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:
-.Bd -literal -offset indent
-\&.Dd $\&Mdocdate$
-\&.Dt mdoc 7
-\&.Os
-\&.Sh NAME
-\&.Nm foo
-\&.Nd a description goes here
-\&.\e\*q The next is for sections 2, 3, & 9 only.
-\&.\e\*q .Sh LIBRARY
-\&.Sh SYNOPSIS
-\&.Nm foo
-\&.Op Fl options
-\&.Ar
-\&.Sh DESCRIPTION
-The
-\&.Nm
-utility processes files ...
-\&.\e\*q .Sh IMPLEMENTATION NOTES
-\&.\e\*q The next is for sections 2, 3, & 9 only.
-\&.\e\*q .Sh RETURN VALUES
-\&.\e\*q The next is for sections 1, 6, 7, & 8 only.
-\&.\e\*q .Sh ENVIRONMENT
-\&.\e\*q .Sh FILES
-\&.\e\*q The next is for sections 1 & 8 only.
-\&.\e\*q .Sh EXIT STATUS
-\&.\e\*q .Sh EXAMPLES
-\&.\e\*q The next is for sections 1, 4, 6, 7, & 8 only.
-\&.\e\*q .Sh DIAGNOSTICS
-\&.\e\*q The next is for sections 2, 3, & 9 only.
-\&.\e\*q .Sh ERRORS
-\&.\e\*q .Sh SEE ALSO
-\&.\e\*q .Xr foobar 1
-\&.\e\*q .Sh STANDARDS
-\&.\e\*q .Sh HISTORY
-\&.\e\*q .Sh AUTHORS
-\&.\e\*q .Sh CAVEATS
-\&.\e\*q .Sh BUGS
-\&.\e\*q .Sh SECURITY CONSIDERATIONS
-.Ed
-.Pp
-The sections in a
-.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
-The
-.Sx \&Nm
-macro(s) must precede the
-.Sx \&Nd
-macro.
-.Pp
-See
-.Sx \&Nm
-and
-.Sx \&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
-.Sx \&Lb .
-.It Em SYNOPSIS
-Documents the utility invocation syntax, function call syntax, or device
-configuration.
-.Pp
-For the first, utilities (sections 1, 6, and 8), this is
-generally structured as follows:
-.Bd -literal -offset indent
-\&.Nm foo
-\&.Op Fl v
-\&.Op Fl o Ar file
-\&.Op Ar
-\&.Nm bar
-\&.Op Fl v
-\&.Op Fl o Ar file
-\&.Op Ar
-.Ed
-.Pp
-For the second, function calls (sections 2, 3, 9):
-.Bd -literal -offset indent
-\&.Vt extern const char *global;
-\&.In header.h
-\&.Ft "char *"
-\&.Fn foo "const char *src"
-\&.Ft "char *"
-\&.Fn bar "const char *src"
-.Ed
-.Pp
-And for the third, configurations (section 4):
-.Bd -literal -offset indent
-\&.Cd \*qit* at isa? port 0x2e\*q
-\&.Cd \*qit* at isa? port 0x4e\*q
-.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
-.Sx \&Nm ,
-.Sx \&Cd ,
-.Sx \&Fd ,
-.Sx \&Fn ,
-.Sx \&Fo ,
-.Sx \&In ,
-.Sx \&Vt ,
-and
-.Sx \&Ft .
-All of these macros are output on their own line.
-If two such dissimilar macros are pair-wise invoked (except for
-.Sx \&Ft
-before
-.Sx \&Fo
-or
-.Sx \&Fn ) ,
-they are separated by a vertical space, unless in the case of
-.Sx \&Fo ,
-.Sx \&Fn ,
-and
-.Sx \&Ft ,
-which are always separated by vertical space.
-.Pp
-When text and macros following an
-.Sx \&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
-.Sx \&Nm
-macro, up to the next
-.Sx \&Nm ,
-.Sx \&Sh ,
-or
-.Sx \&Ss
-macro or the end of an enclosing block, whichever comes first.
-.It Em DESCRIPTION
-This expands upon the brief, one-line description in
-.Em NAME .
-It usually contains a break-down of the options (if documenting a
-command), such as:
-.Bd -literal -offset indent
-The arguments are as follows:
-\&.Bl \-tag \-width Ds
-\&.It Fl v
-Print verbose information.
-\&.El
-.Ed
-.Pp
-Manuals not documenting a command won't include the above fragment.
-.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 is the dual of
-.Em EXIT STATUS ,
-which is used for commands.
-It documents the return values of functions in sections 2, 3, and 9.
-.Pp
-See
-.Sx \&Rv .
-.It Em ENVIRONMENT
-Lists the environment variables used by the utility,
-and explains the syntax and semantics of their values.
-The
-.Xr environ 7
-manual provides examples of typical content and formatting.
-.Pp
-See
-.Sx \&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
-.Sx \&Pa .
-.It Em EXIT STATUS
-Command exit status for section 1, 6, and 8 manuals.
-This section is the dual of
-.Em RETURN VALUES ,
-which is used for functions.
-Historically, this information was described in
-.Em DIAGNOSTICS ,
-a practise that is now discouraged.
-.Pp
-See
-.Sx \&Ex .
-.It Em EXAMPLES
-Example usages.
-This often contains snippets of well-formed, well-tested invocations.
-Make doubly sure that your examples work properly!
-.It Em DIAGNOSTICS
-Documents error conditions.
-This is most useful in section 4 manuals.
-Historically, this section was used in place of
-.Em EXIT STATUS
-for manuals in sections 1, 6, and 8; however, this practise is
-discouraged.
-.Pp
-See
-.Sx \&Bl
-.Fl diag .
-.It Em ERRORS
-Documents error handling in sections 2, 3, and 9.
-.Pp
-See
-.Sx \&Er .
-.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.
-.Pp
-See
-.Sx \&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
-.Sx \&St .
-.It Em HISTORY
-The history of any manual without a
-.Em STANDARDS
-section should be described in this section.
-.It Em AUTHORS
-Credits to authors, if applicable, should appear in this section.
-Authors should generally be noted by both name and email address.
-.Pp
-See
-.Sx \&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.
-.It Em SECURITY CONSIDERATIONS
-Documents any security precautions that operators should consider.
-.El
-.Sh MACRO SYNTAX
-Macros are one to three three characters in length and begin with a
-control character,
-.Sq \&. ,
-at the beginning of the line.
-An arbitrary amount of whitespace may sit between the control character
-and the macro name.
-Thus, the following are equivalent:
-.Bd -literal -offset indent
-\&.Pp
-\&.\ \ \ \&Pp
-.Ed
-.Pp
-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 be called subsequent to the initial
-line-macro.
-If a macro is not callable, then its invocation after the initial line
-macro is interpreted as opaque text, such that
-.Sq \&.Fl \&Sh
-produces
-.Sq Fl \&Sh .
-.Pp
-The
-.Em Parsed
-column indicates whether the macro may be followed by further
-(ostensibly callable) macros.
-If a macro is not parsed, subsequent macro invocations on the line
-will be 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
-.Sx \&Bf
-contains a head.
-.Bd -literal -offset indent
-\&.Yo \(lB\-arg \(lBparm...\(rB\(rB \(lBhead...\(rB
-\(lBbody...\(rB
-\&.Yc
-.Ed
-.Pp
-.Bl -column -compact -offset indent "MacroX" "CallableX" "ParsedX" "closed by XXX"
-.It Em Macro Ta Em Callable Ta Em Parsed Ta Em Scope
-.It Sx \&Bd Ta \&No Ta \&No Ta closed by Sx \&Ed
-.It Sx \&Bf Ta \&No Ta \&No Ta closed by Sx \&Ef
-.It Sx \&Bk Ta \&No Ta \&No Ta closed by Sx \&Ek
-.It Sx \&Bl Ta \&No Ta \&No Ta closed by Sx \&El
-.It Sx \&Ed Ta \&No Ta \&No Ta opened by Sx \&Bd
-.It Sx \&Ef Ta \&No Ta \&No Ta opened by Sx \&Bf
-.It Sx \&Ek Ta \&No Ta \&No Ta opened by Sx \&Bk
-.It Sx \&El Ta \&No Ta \&No Ta opened by Sx \&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
-.Sx \&It Fl bullet ,
-.Fl hyphen ,
-.Fl dash ,
-.Fl enum ,
-.Fl item
-.Pc
-don't have heads; only one
-.Po
-.Sx \&It
-in
-.Sx \&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
-.Pp
-.Bl -column -compact -offset indent "MacroX" "CallableX" "ParsedX" "closed by XXXXXXXXXXX"
-.It Em Macro Ta Em Callable Ta Em Parsed Ta Em Scope
-.It Sx \&It Ta \&No Ta Yes Ta closed by Sx \&It , Sx \&El
-.It Sx \&Nd Ta \&No Ta \&No Ta closed by Sx \&Sh
-.It Sx \&Nm Ta \&No Ta Yes Ta closed by Sx \&Nm , Sx \&Sh , Sx \&Ss
-.It Sx \&Sh Ta \&No Ta \&No Ta closed by Sx \&Sh
-.It Sx \&Ss Ta \&No Ta \&No Ta closed by Sx \&Sh , Sx \&Ss
-.El
-.Pp
-Note that the
-.Sx \&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
-.Sx \&Fo ,
-.Sx \&Eo
-.Pc
-and/or tail
-.Pq Sx \&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
-.Pp
-.Bl -column "MacroX" "CallableX" "ParsedX" "closed by XXXX" -compact -offset indent
-.It Em Macro Ta Em Callable Ta Em Parsed Ta Em Scope
-.It Sx \&Ac Ta Yes Ta Yes Ta opened by Sx \&Ao
-.It Sx \&Ao Ta Yes Ta Yes Ta closed by Sx \&Ac
-.It Sx \&Bc Ta Yes Ta Yes Ta closed by Sx \&Bo
-.It Sx \&Bo Ta Yes Ta Yes Ta opened by Sx \&Bc
-.It Sx \&Brc Ta Yes Ta Yes Ta opened by Sx \&Bro
-.It Sx \&Bro Ta Yes Ta Yes Ta closed by Sx \&Brc
-.It Sx \&Dc Ta Yes Ta Yes Ta opened by Sx \&Do
-.It Sx \&Do Ta Yes Ta Yes Ta closed by Sx \&Dc
-.It Sx \&Ec Ta Yes Ta Yes Ta opened by Sx \&Eo
-.It Sx \&Eo Ta Yes Ta Yes Ta closed by Sx \&Ec
-.It Sx \&Fc Ta Yes Ta Yes Ta opened by Sx \&Fo
-.It Sx \&Fo Ta \&No Ta \&No Ta closed by Sx \&Fc
-.It Sx \&Oc Ta Yes Ta Yes Ta closed by Sx \&Oo
-.It Sx \&Oo Ta Yes Ta Yes Ta opened by Sx \&Oc
-.It Sx \&Pc Ta Yes Ta Yes Ta closed by Sx \&Po
-.It Sx \&Po Ta Yes Ta Yes Ta opened by Sx \&Pc
-.It Sx \&Qc Ta Yes Ta Yes Ta opened by Sx \&Oo
-.It Sx \&Qo Ta Yes Ta Yes Ta closed by Sx \&Oc
-.It Sx \&Re Ta \&No Ta \&No Ta opened by Sx \&Rs
-.It Sx \&Rs Ta \&No Ta \&No Ta closed by Sx \&Re
-.It Sx \&Sc Ta Yes Ta Yes Ta opened by Sx \&So
-.It Sx \&So Ta Yes Ta Yes Ta closed by Sx \&Sc
-.It Sx \&Xc Ta Yes Ta Yes Ta opened by Sx \&Xo
-.It Sx \&Xo Ta Yes Ta Yes Ta closed by Sx \&Xc
-.El
-.Ss Block partial-implicit
-Like block full-implicit, but with single-line scope closed by
-.Sx Reserved Characters
-or end of line.
-.Bd -literal -offset indent
-\&.Yo \(lB\-arg \(lBval...\(rB\(rB \(lBbody...\(rB \(lBres...\(rB
-.Ed
-.Pp
-.Bl -column "MacroX" "CallableX" "ParsedX" -compact -offset indent
-.It Em Macro Ta Em Callable Ta Em Parsed
-.It Sx \&Aq Ta Yes Ta Yes
-.It Sx \&Bq Ta Yes Ta Yes
-.It Sx \&Brq Ta Yes Ta Yes
-.It Sx \&D1 Ta \&No Ta \&Yes
-.It Sx \&Dl Ta \&No Ta Yes
-.It Sx \&Dq Ta Yes Ta Yes
-.It Sx \&Op Ta Yes Ta Yes
-.It Sx \&Pq Ta Yes Ta Yes
-.It Sx \&Ql Ta Yes Ta Yes
-.It Sx \&Qq Ta Yes Ta Yes
-.It Sx \&Sq Ta Yes Ta Yes
-.It Sx \&Vt Ta Yes Ta Yes
-.El
-.Pp
-Note that the
-.Sx \&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 In-line
-Closed by
-.Sx Reserved Characters ,
-end of 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
-.Pp
-.Bl -column "MacroX" "CallableX" "ParsedX" "Arguments" -compact -offset indent
-.It Em Macro Ta Em Callable Ta Em Parsed Ta Em Arguments
-.It Sx \&%A Ta \&No Ta \&No Ta >0
-.It Sx \&%B Ta \&No Ta \&No Ta >0
-.It Sx \&%C Ta \&No Ta \&No Ta >0
-.It Sx \&%D Ta \&No Ta \&No Ta >0
-.It Sx \&%I Ta \&No Ta \&No Ta >0
-.It Sx \&%J Ta \&No Ta \&No Ta >0
-.It Sx \&%N Ta \&No Ta \&No Ta >0
-.It Sx \&%O Ta \&No Ta \&No Ta >0
-.It Sx \&%P Ta \&No Ta \&No Ta >0
-.It Sx \&%Q Ta \&No Ta \&No Ta >0
-.It Sx \&%R Ta \&No Ta \&No Ta >0
-.It Sx \&%T Ta \&No Ta \&No Ta >0
-.It Sx \&%U Ta \&No Ta \&No Ta >0
-.It Sx \&%V Ta \&No Ta \&No Ta >0
-.It Sx \&Ad Ta Yes Ta Yes Ta n
-.It Sx \&An Ta Yes Ta Yes Ta n
-.It Sx \&Ap Ta Yes Ta Yes Ta 0
-.It Sx \&Ar Ta Yes Ta Yes Ta n
-.It Sx \&At Ta Yes Ta Yes Ta 1
-.It Sx \&Bsx Ta Yes Ta Yes Ta n
-.It Sx \&Bt Ta \&No Ta \&No Ta 0
-.It Sx \&Bx Ta Yes Ta Yes Ta n
-.It Sx \&Cd Ta Yes Ta Yes Ta >0
-.It Sx \&Cm Ta Yes Ta Yes Ta n
-.It Sx \&Db Ta \&No Ta \&No Ta 1
-.It Sx \&Dd Ta \&No Ta \&No Ta n
-.It Sx \&Dt Ta \&No Ta \&No Ta n
-.It Sx \&Dv Ta Yes Ta Yes Ta n
-.It Sx \&Dx Ta Yes Ta Yes Ta n
-.It Sx \&Em Ta Yes Ta Yes Ta >0
-.It Sx \&En Ta \&No Ta \&No Ta 0
-.It Sx \&Er Ta Yes Ta Yes Ta >0
-.It Sx \&Es Ta \&No Ta \&No Ta 0
-.It Sx \&Ev Ta Yes Ta Yes Ta n
-.It Sx \&Ex Ta \&No Ta \&No Ta n
-.It Sx \&Fa Ta Yes Ta Yes Ta n
-.It Sx \&Fd Ta \&No Ta \&No Ta >0
-.It Sx \&Fl Ta Yes Ta Yes Ta n
-.It Sx \&Fn Ta Yes Ta Yes Ta >0
-.It Sx \&Fr Ta \&No Ta \&No Ta n
-.It Sx \&Ft Ta Yes Ta Yes Ta n
-.It Sx \&Fx Ta Yes Ta Yes Ta n
-.It Sx \&Hf Ta \&No Ta \&No Ta n
-.It Sx \&Ic Ta Yes Ta Yes Ta >0
-.It Sx \&In Ta \&No Ta \&No Ta n
-.It Sx \&Lb Ta \&No Ta \&No Ta 1
-.It Sx \&Li Ta Yes Ta Yes Ta n
-.It Sx \&Lk Ta Yes Ta Yes Ta n
-.It Sx \&Lp Ta \&No Ta \&No Ta 0
-.It Sx \&Ms Ta Yes Ta Yes Ta >0
-.It Sx \&Mt Ta Yes Ta Yes Ta >0
-.It Sx \&Nm Ta Yes Ta Yes Ta n
-.It Sx \&No Ta Yes Ta Yes Ta 0
-.It Sx \&Ns Ta Yes Ta Yes Ta 0
-.It Sx \&Nx Ta Yes Ta Yes Ta n
-.It Sx \&Os Ta \&No Ta \&No Ta n
-.It Sx \&Ot Ta \&No Ta \&No Ta n
-.It Sx \&Ox Ta Yes Ta Yes Ta n
-.It Sx \&Pa Ta Yes Ta Yes Ta n
-.It Sx \&Pf Ta Yes Ta Yes Ta 1
-.It Sx \&Pp Ta \&No Ta \&No Ta 0
-.It Sx \&Rv Ta \&No Ta \&No Ta n
-.It Sx \&Sm Ta \&No Ta \&No Ta 1
-.It Sx \&St Ta \&No Ta Yes Ta 1
-.It Sx \&Sx Ta Yes Ta Yes Ta >0
-.It Sx \&Sy Ta Yes Ta Yes Ta >0
-.It Sx \&Tn Ta Yes Ta Yes Ta >0
-.It Sx \&Ud Ta \&No Ta \&No Ta 0
-.It Sx \&Ux Ta Yes Ta Yes Ta n
-.It Sx \&Va Ta Yes Ta Yes Ta n
-.It Sx \&Vt Ta Yes Ta Yes Ta >0
-.It Sx \&Xr Ta Yes Ta Yes Ta >0
-.It Sx \&br Ta \&No Ta \&No Ta 0
-.It Sx \&sp Ta \&No Ta \&No Ta 1
-.El
-.Sh REFERENCE
-This section is a canonical reference of all macros, arranged
-alphabetically.
-For the scoping of individual macros, see
-.Sx MACRO SYNTAX .
-.Ss \&%A
-Author name of an
-.Sx \&Rs
-block.
-Multiple authors should each be accorded their own
-.Sx \%%A
-line.
-Author names should be ordered with full or abbreviated forename(s)
-first, then full surname.
-.Ss \&%B
-Book title of an
-.Sx \&Rs
-block.
-This macro may also be used in a non-bibliographic context when
-referring to book titles.
-.Ss \&%C
-Publication city or location of an
-.Sx \&Rs
-block.
-.Pp
-.Em Remarks :
-this macro is not implemented in
-.Xr groff 1 .
-.Ss \&%D
-Publication date of an
-.Sx \&Rs
-block.
-This should follow the reduced or canonical form syntax described in
-.Sx Dates .
-.Ss \&%I
-Publisher or issuer name of an
-.Sx \&Rs
-block.
-.Ss \&%J
-Journal name of an
-.Sx \&Rs
-block.
-.Ss \&%N
-Issue number (usually for journals) of an
-.Sx \&Rs
-block.
-.Ss \&%O
-Optional information of an
-.Sx \&Rs
-block.
-.Ss \&%P
-Book or journal page number of an
-.Sx \&Rs
-block.
-.Ss \&%Q
-Institutional author (school, government, etc.) of an
-.Sx \&Rs
-block.
-Multiple institutional authors should each be accorded their own
-.Sx \&%Q
-line.
-.Ss \&%R
-Technical report name of an
-.Sx \&Rs
-block.
-.Ss \&%T
-Article title of an
-.Sx \&Rs
-block.
-This macro may also be used in a non-bibliographical context when
-referring to article titles.
-.Ss \&%U
-URI of reference document.
-.Ss \&%V
-Volume number of an
-.Sx \&Rs
-block.
-.Ss \&Ac
-Close an
-.Sx \&Ao
-block.
-Does not have any tail arguments.
-.Ss \&Ad
-Memory address.
-Do not use this for postal addresses.
-.Pp
-Examples:
-.D1 \&.Ad [0,$]
-.D1 \&.Ad 0x00000000
-.Ss \&An
-Author name.
-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
-.Sx \&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:
-.D1 \&.An -nosplit
-.D1 \&.An Kristaps Dzonsons \&Aq kristaps@bsd.lv
-.Ss \&Ao
-Begin a block enclosed by angle brackets.
-Does not have any head arguments.
-.Pp
-Examples:
-.D1 \&.Fl -key= \&Ns \&Ao \&Ar val \&Ac
-.Pp
-See also
-.Sx \&Aq .
-.Ss \&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:
-.D1 \&.Fn execve \&Ap d
-.Ss \&Aq
-Encloses its arguments in angle brackets.
-.Pp
-Examples:
-.D1 \&.Fl -key= \&Ns \&Aq \&Ar val
-.Pp
-.Em Remarks :
-this macro is often abused for rendering URIs, which should instead use
-.Sx \&Lk
-or
-.Sx \&Mt ,
-or to note pre-processor
-.Dq Li #include
-statements, which should use
-.Sx \&In .
-.Pp
-See also
-.Sx \&Ao .
-.Ss \&Ar
-Command arguments.
-If an argument is not provided, the string
-.Dq file ...\&
-is used as a default.
-.Pp
-Examples:
-.D1 \&.Fl o \&Ns \&Ar file1
-.D1 \&.Ar
-.D1 \&.Ar arg1 , arg2 .
-.Ss \&At
-Formats an AT&T 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 V[.[1-4]]?
-A version of
-.At V .
-.El
-.Pp
-Note that these arguments do not begin with a hyphen.
-.Pp
-Examples:
-.D1 \&.At
-.D1 \&.At V.1
-.Pp
-See also
-.Sx \&Bsx ,
-.Sx \&Bx ,
-.Sx \&Dx ,
-.Sx \&Fx ,
-.Sx \&Nx ,
-.Sx \&Ox ,
-and
-.Sx \&Ux .
-.Ss \&Bc
-Close a
-.Sx \&Bo
-block.
-Does not have any tail arguments.
-.Ss \&Bd
-Begin a display block.
-Its syntax is as follows:
-.Bd -ragged -offset indent
-.Pf \. Sx \&Bd
-.Fl Ns Ar type
-.Op Fl offset Ar width
-.Op Fl compact
-.Ed
-.Pp
-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 free-form 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
-Centre-justify each line.
-Using this display type is not recommended; many
-.Nm
-implementations render it poorly.
-.It Fl filled
-Left- and right-justify the block.
-.It Fl literal
-Do not justify the block at all.
-Preserve white space as it appears in the input.
-.It Fl ragged
-Only left-justify the block.
-.It Fl unfilled
-An alias for
-.Fl literal .
-.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 standard indentation;
-.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 centre 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 width using the syntax described in
-.Sx Scaling Widths .
-.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
-.Sx \&D1
-and
-.Sx \&Dl .
-.Ss \&Bf
-Change the font mode for a scoped block of text.
-Its syntax is as follows:
-.Bd -ragged -offset indent
-.Pf \. Sx \&Bf
-.Oo
-.Fl emphasis | literal | symbolic |
-.Cm \&Em | \&Li | \&Sy
-.Oc
-.Ed
-.Pp
-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
-.Sx \&Ef
-is encountered.
-.Pp
-See also
-.Sx \&Li ,
-.Sx \&Ef ,
-.Sx \&Em ,
-and
-.Sx \&Sy .
-.Ss \&Bk
-Keep the output generated from each macro input line together
-on one single output line.
-Line breaks in free-form text lines are unaffected.
-The syntax is as follows:
-.Pp
-.D1 Pf \. Sx \&Bk Fl words
-.Pp
-The
-.Fl words
-argument is required; additional arguments are ignored.
-.Pp
-The following example will not break within each
-.Sx \&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.
-.Ss \&Bl
-Begin a list.
-Lists consist of items started by the
-.Sx \&It
-macro, containing a head or a body or both.
-The list syntax is as follows:
-.Bd -ragged -offset indent
-.Pf \. Sx \&Bl
-.Fl Ns Ar type
-.Op Fl width Ar val
-.Op Fl offset Ar val
-.Op Fl compact
-.Op HEAD ...
-.Ed
-.Pp
-The list
-.Ar type
-is mandatory and must be specified first.
-The
-.Fl width
-and
-.Fl offset
-arguments accept
-.Sx Scaling Widths
-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, each argument specifies the width
-of one column, using either the
-.Sx Scaling Widths
-syntax or the string length of the argument.
-If the first line of the body of a
-.Fl column
-list is not an
-.Sx \&It
-macro line,
-.Sx \&It
-contexts spanning one input line each are implied until an
-.Sx \&It
-macro line is encountered, at which point items start being interpreted as
-described in the
-.Sx \&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.
-.\" but with additional formatting to the head.
-.It Fl enum
-A numbered list.
-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
-See also
-.Sx \&El
-and
-.Sx \&It .
-.Ss \&Bo
-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
-.Sx \&Bq .
-.Ss \&Bq
-Encloses its arguments in square brackets.
-.Pp
-Examples:
-.D1 \&.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
-.Sx \&Op ,
-.Sx \&Oo ,
-and
-.Sx \&Oc .
-.Pp
-See also
-.Sx \&Bo .
-.Ss \&Brc
-Close a
-.Sx \&Bro
-block.
-Does not have any tail arguments.
-.Ss \&Bro
-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
-.Sx \&Brq .
-.Ss \&Brq
-Encloses its arguments in curly braces.
-.Pp
-Examples:
-.D1 \&.Brq 1 , ... , \&Va n
-.Pp
-See also
-.Sx \&Bro .
-.Ss \&Bsx
-Format the BSD/OS version provided as an argument, or a default value if
-no argument is provided.
-.Pp
-Examples:
-.D1 \&.Bsx 1.0
-.D1 \&.Bsx
-.Pp
-See also
-.Sx \&At ,
-.Sx \&Bx ,
-.Sx \&Dx ,
-.Sx \&Fx ,
-.Sx \&Nx ,
-.Sx \&Ox ,
-and
-.Sx \&Ux .
-.Ss \&Bt
-Prints
-.Dq is currently in beta test.
-.Ss \&Bx
-Format the BSD version provided as an argument, or a default value if no
-argument is provided.
-.Pp
-Examples:
-.D1 \&.Bx 4.4
-.D1 \&.Bx
-.Pp
-See also
-.Sx \&At ,
-.Sx \&Bsx ,
-.Sx \&Dx ,
-.Sx \&Fx ,
-.Sx \&Nx ,
-.Sx \&Ox ,
-and
-.Sx \&Ux .
-.Ss \&Cd
-Kernel configuration declaration.
-This denotes strings accepted by
-.Xr config 8 .
-.Pp
-Examples:
-.D1 \&.Cd device le0 at scode?
-.Pp
-.Em Remarks :
-this macro is commonly abused by using quoted literals to retain
-whitespace and align consecutive
-.Sx \&Cd
-declarations.
-This practise is discouraged.
-.Ss \&Cm
-Command modifiers.
-Useful when specifying configuration options or keys.
-.Pp
-Examples:
-.D1 \&.Cm ControlPath
-.D1 \&.Cm ControlMaster
-.Pp
-See also
-.Sx \&Fl .
-.Ss \&D1
-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:
-.D1 \&.D1 \&Fl abcdefgh
-.Pp
-See also
-.Sx \&Bd
-and
-.Sx \&Dl .
-.Ss \&Db
-Switch debugging mode.
-Its syntax is as follows:
-.Pp
-.D1 Pf \. Sx \&Db Cm on | off
-.Pp
-This macro is ignored by
-.Xr mandoc 1 .
-.Ss \&Dc
-Close a
-.Sx \&Do
-block.
-Does not have any tail arguments.
-.Ss \&Dd
-Document date.
-This is the mandatory first macro of any
-.Nm
-manual.
-Its syntax is as follows:
-.Pp
-.D1 Pf \. Sx \&Dd Op Ar date
-.Pp
-The
-.Ar date
-may be either
-.Ar $\&Mdocdate$ ,
-which signifies the current manual revision date dictated by
-.Xr cvs 1 ,
-or instead a valid canonical date as specified by
-.Sx Dates .
-If a date does not conform or is empty, the current date is used.
-.Pp
-Examples:
-.D1 \&.Dd $\&Mdocdate$
-.D1 \&.Dd $\&Mdocdate: July 21 2007$
-.D1 \&.Dd July 21, 2007
-.Pp
-See also
-.Sx \&Dt
-and
-.Sx \&Os .
-.Ss \&Dl
-One-line intended display.
-This is formatted as literal text and is useful for commands and
-invocations.
-It is followed by a newline.
-.Pp
-Examples:
-.D1 \&.Dl % mandoc mdoc.7 \e(ba less
-.Pp
-See also
-.Sx \&Bd
-and
-.Sx \&D1 .
-.Ss \&Do
-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
-.Sx \&Dq .
-.Ss \&Dq
-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
-.Sx \&Qq ,
-.Sx \&Sq ,
-and
-.Sx \&Do .
-.Ss \&Dt
-Document title.
-This is the mandatory second macro of any
-.Nm
-file.
-Its syntax is as follows:
-.Bd -ragged -offset indent
-.Pf \. Sx \&Dt
-.Oo
-.Ar title
-.Oo
-.Ar section
-.Op Ar volume | arch
-.Oc
-.Oc
-.Ed
-.Pp
-Its arguments are as follows:
-.Bl -tag -width Ds -offset Ds
-.It Ar title
-The document's title (name), defaulting to
-.Dq UNKNOWN
-if unspecified.
-It should be capitalised.
-.It Ar section
-The manual section.
-This may be one of
-.Ar 1
-.Pq utilities ,
-.Ar 2
-.Pq system calls ,
-.Ar 3
-.Pq libraries ,
-.Ar 3p
-.Pq Perl libraries ,
-.Ar 4
-.Pq devices ,
-.Ar 5
-.Pq file formats ,
-.Ar 6
-.Pq games ,
-.Ar 7
-.Pq miscellaneous ,
-.Ar 8
-.Pq system utilities ,
-.Ar 9
-.Pq kernel functions ,
-.Ar X11
-.Pq X Window System ,
-.Ar X11R6
-.Pq X Window System ,
-.Ar unass
-.Pq unassociated ,
-.Ar local
-.Pq local system ,
-.Ar draft
-.Pq draft manual ,
-or
-.Ar paper
-.Pq paper .
-It should correspond to the manual's filename suffix and defaults to
-.Dq 1
-if unspecified.
-.It Ar volume
-This overrides the volume inferred from
-.Ar section .
-This field is optional, and if specified, must be one of
-.Ar USD
-.Pq users' supplementary documents ,
-.Ar PS1
-.Pq programmers' supplementary documents ,
-.Ar AMD
-.Pq administrators' supplementary documents ,
-.Ar SMM
-.Pq system managers' manuals ,
-.Ar URM
-.Pq users' reference manuals ,
-.Ar PRM
-.Pq programmers' reference manuals ,
-.Ar KM
-.Pq kernel manuals ,
-.Ar IND
-.Pq master index ,
-.Ar MMI
-.Pq master index ,
-.Ar LOCAL
-.Pq local manuals ,
-.Ar LOC
-.Pq local manuals ,
-or
-.Ar CON
-.Pq contributed manuals .
-.It Ar arch
-This specifies a specific relevant architecture.
-If
-.Ar volume
-is not provided, it may be used in its place, else it may be used
-subsequent that.
-It, too, is optional.
-It must be one of
-.Ar alpha ,
-.Ar amd64 ,
-.Ar amiga ,
-.Ar arc ,
-.Ar arm ,
-.Ar armish ,
-.Ar aviion ,
-.Ar hp300 ,
-.Ar hppa ,
-.Ar hppa64 ,
-.Ar i386 ,
-.Ar landisk ,
-.Ar loongson ,
-.Ar luna88k ,
-.Ar mac68k ,
-.Ar macppc ,
-.Ar mvme68k ,
-.Ar mvme88k ,
-.Ar mvmeppc ,
-.Ar pmax ,
-.Ar sgi ,
-.Ar socppc ,
-.Ar sparc ,
-.Ar sparc64 ,
-.Ar sun3 ,
-.Ar vax ,
-or
-.Ar zaurus .
-.El
-.Pp
-Examples:
-.D1 \&.Dt FOO 1
-.D1 \&.Dt FOO 4 KM
-.D1 \&.Dt FOO 9 i386
-.Pp
-See also
-.Sx \&Dd
-and
-.Sx \&Os .
-.Ss \&Dv
-Defined variables such as preprocessor constants.
-.Pp
-Examples:
-.D1 \&.Dv BUFSIZ
-.D1 \&.Dv STDOUT_FILENO
-.Pp
-See also
-.Sx \&Er .
-.Ss \&Dx
-Format the DragonFly BSD version provided as an argument, or a default
-value if no argument is provided.
-.Pp
-Examples:
-.D1 \&.Dx 2.4.1
-.D1 \&.Dx
-.Pp
-See also
-.Sx \&At ,
-.Sx \&Bsx ,
-.Sx \&Bx ,
-.Sx \&Fx ,
-.Sx \&Nx ,
-.Sx \&Ox ,
-and
-.Sx \&Ux .
-.Ss \&Ec
-Close a scope started by
-.Sx \&Eo .
-Its syntax is as follows:
-.Pp
-.D1 Pf \. Sx \&Ec Op Ar TERM
-.Pp
-The
-.Ar TERM
-argument is used as the enclosure tail, for example, specifying \e(rq
-will emulate
-.Sx \&Dc .
-.Ss \&Ed
-End a display context started by
-.Sx \&Bd .
-.Ss \&Ef
-End a font mode context started by
-.Sx \&Bf .
-.Ss \&Ek
-End a keep context started by
-.Sx \&Bk .
-.Ss \&El
-End a list context started by
-.Sx \&Bl .
-.Pp
-See also
-.Sx \&Bl
-and
-.Sx \&It .
-.Ss \&Em
-Denotes text that should be emphasised.
-Note that this is a presentation term and should not be used for
-stylistically decorating technical terms.
-.Pp
-Examples:
-.D1 \&.Em Warnings!
-.D1 \&.Em Remarks :
-.Pp
-See also
-.Sx \&Bf ,
-.Sx \&Sy ,
-and
-.Sx \&Li .
-.Ss \&En
-This macro is obsolete and not implemented in
-.Xr mandoc 1 .
-.Ss \&Eo
-An arbitrary enclosure.
-Its syntax is as follows:
-.Pp
-.D1 Pf \. Sx \&Eo Op Ar TERM
-.Pp
-The
-.Ar TERM
-argument is used as the enclosure head, for example, specifying \e(lq
-will emulate
-.Sx \&Do .
-.Ss \&Er
-Display error constants.
-.Pp
-Examples:
-.D1 \&.Er EPERM
-.D1 \&.Er ENOENT
-.Pp
-See also
-.Sx \&Dv .
-.Ss \&Es
-This macro is obsolete and not implemented.
-.Ss \&Ev
-Environmental variables such as those specified in
-.Xr environ 7 .
-.Pp
-Examples:
-.D1 \&.Ev DISPLAY
-.D1 \&.Ev PATH
-.Ss \&Ex
-Insert a standard sentence regarding exit values.
-Its syntax is as follows:
-.Pp
-.D1 Pf \. Sx \&Ex Fl std Op Ar utility
-.Pp
-When
-.Ar utility
-is not specified, the document's name set by
-.Sx \&Nm
-is used.
-.Pp
-See also
-.Sx \&Rv .
-.Ss \&Fa
-Function argument.
-Its syntax is as follows:
-.Bd -ragged -offset indent
-.Pf \. Sx \&Fa
-.Op Cm argtype
-.Cm argname
-.Ed
-.Pp
-This may be invoked for names with or without the corresponding type.
-It is also used to specify the field name of a structure.
-Most often, the
-.Sx \&Fa
-macro is used in the
-.Em SYNOPSIS
-within
-.Sx \&Fo
-section 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
-.Sx \&Fa ,
-the last argument will also have a trailing comma.
-.Pp
-Examples:
-.D1 \&.Fa \(dqconst char *p\(dq
-.D1 \&.Fa \(dqint a\(dq \(dqint b\(dq \(dqint c\(dq
-.D1 \&.Fa foo
-.Pp
-See also
-.Sx \&Fo .
-.Ss \&Fc
-End a function context started by
-.Sx \&Fo .
-.Ss \&Fd
-Historically used to document include files.
-This usage has been deprecated in favour of
-.Sx \&In .
-Do not use this macro.
-.Pp
-See also
-.Sx MANUAL STRUCTURE
-and
-.Sx \&In .
-.Ss \&Fl
-Command-line flag.
-Used when listing arguments to command-line utilities.
-Prints a fixed-width hyphen
-.Sq \-
-directly followed by each argument.
-If no arguments are provided, a hyphen is printed followed by a space.
-If the argument is a macro, a hyphen is prefixed to the subsequent macro
-output.
-.Pp
-Examples:
-.D1 \&.Fl a b c
-.D1 \&.Fl \&Pf a b
-.D1 \&.Fl
-.D1 \&.Op \&Fl o \&Ns \&Ar file
-.Pp
-See also
-.Sx \&Cm .
-.Ss \&Fn
-A function name.
-Its syntax is as follows:
-.Bd -ragged -offset indent
-.Pf \. Ns Sx \&Fn
-.Op Cm functype
-.Cm funcname
-.Op Oo Cm argtype Oc Cm argname
-.Ed
-.Pp
-Function arguments are surrounded in parenthesis and
-are delimited by commas.
-If no arguments are specified, blank parenthesis are output.
-.Pp
-Examples:
-.D1 \&.Fn "int funcname" "int arg0" "int arg1"
-.D1 \&.Fn funcname "int arg0"
-.D1 \&.Fn funcname arg0
-.Bd -literal -offset indent -compact
-\&.Ft functype
-\&.Fn funcname
-.Ed
-.Pp
-See also
-.Sx MANUAL STRUCTURE
-and
-.Sx \&Ft .
-.Ss \&Fo
-Begin a function block.
-This is a multi-line version of
-.Sx \&Fn .
-Its syntax is as follows:
-.Pp
-.D1 Pf \. Sx \&Fo Cm funcname
-.Pp
-Invocations usually occur in the following context:
-.Bd -ragged -offset indent
-.Pf \. Sx \&Ft Cm functype
-.br
-.Pf \. Sx \&Fo Cm funcname
-.br
-.Pf \. Sx \&Fa Oo Cm argtype Oc Cm argname
-.br
-\.\.\.
-.br
-.Pf \. Sx \&Fc
-.Ed
-.Pp
-A
-.Sx \&Fo
-scope is closed by
-.Pp
-See also
-.Sx MANUAL STRUCTURE ,
-.Sx \&Fa ,
-.Sx \&Fc ,
-and
-.Sx \&Ft .
-.Ss \&Ft
-A function type.
-Its syntax is as follows:
-.Pp
-.D1 Pf \. Sx \&Ft Cm functype
-.Pp
-Examples:
-.D1 \&.Ft int
-.Bd -literal -offset indent -compact
-\&.Ft functype
-\&.Fn funcname
-.Ed
-.Pp
-See also
-.Sx MANUAL STRUCTURE ,
-.Sx \&Fn ,
-and
-.Sx \&Fo .
-.Ss \&Fx
-Format the FreeBSD version provided as an argument, or a default value
-if no argument is provided.
-.Pp
-Examples:
-.D1 \&.Fx 7.1
-.D1 \&.Fx
-.Pp
-See also
-.Sx \&At ,
-.Sx \&Bsx ,
-.Sx \&Bx ,
-.Sx \&Dx ,
-.Sx \&Nx ,
-.Sx \&Ox ,
-and
-.Sx \&Ux .
-.Ss \&Hf
-This macro is obsolete and not implemented.
-.Ss \&Ic
-Designate an internal or interactive command.
-This is similar to
-.Sx \&Cm
-but used for instructions rather than values.
-.Pp
-Examples:
-.D1 \&.Ic hash
-.D1 \&.Ic alias
-.Pp
-Note that using
-.Sx \&Bd No Fl literal
-or
-.Sx \&D1
-is preferred for displaying code; the
-.Sx \&Ic
-macro is used when referring to specific instructions.
-.Ss \&In
-An
-.Dq include
-file.
-In the
-.Em SYNOPSIS
-section (only if invoked as the line macro), the first argument is
-preceded by
-.Dq #include ,
-the arguments is enclosed in angle brackets.
-.Pp
-Examples:
-.D1 \&.In sys/types
-.Pp
-See also
-.Sx MANUAL STRUCTURE .
-.Ss \&It
-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 \. Sx \&It Cm args
-.Pp
-Lists of type
-.Fl bullet ,
-.Fl dash ,
-.Fl enum ,
-.Fl hyphen
-and
-.Fl item
-have the following syntax:
-.Pp
-.D1 Pf \. Sx \&It
-.Pp
-with subsequent lines interpreted within the scope of the
-.Sx \&It
-until either a closing
-.Sx \&El
-or another
-.Sx \&It .
-.Pp
-The
-.Fl tag
-list has the following syntax:
-.Pp
-.D1 Pf \. Sx \&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 \. Sx \&It Op Cm args
-.Pp
-The
-.Cm args
-are phrases, a mix of macros and text corresponding to a line column,
-delimited by tabs or the special
-.Sq \&Ta
-pseudo-macro.
-Lines subsequent the
-.Sx \&It
-are interpreted within the scope of the last phrase.
-Calling the pseudo-macro
-.Sq \&Ta
-will open a new phrase scope (this must occur on a macro line to be
-interpreted as a macro).
-Note that the tab phrase delimiter may only be used within the
-.Sx \&It
-line itself.
-Subsequent this, only the
-.Sq \&Ta
-pseudo-macro may be used to delimit phrases.
-Furthermore, note that quoted sections propagate over tab-delimited
-phrases on an
-.Sx \&It ,
-for example,
-.Pp
-.D1 .It \(dqcol1 ; <TAB> col2 ;\(dq \&;
-.Pp
-will preserve the semicolon whitespace except for the last.
-.Pp
-See also
-.Sx \&Bl .
-.Ss \&Lb
-Specify a library.
-The syntax is as follows:
-.Pp
-.D1 Pf \. Sx \&Lb Cm library
-.Pp
-The
-.Cm library
-parameter may be a system library, such as
-.Cm libz
-or
-.Cm libpam ,
-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:
-.D1 \&.Lb libz
-.D1 \&.Lb mdoc
-.Ss \&Li
-Denotes text that should be in a literal font mode.
-Note that this is a presentation term and should not be used for
-stylistically decorating technical terms.
-.Pp
-See also
-.Sx \&Bf ,
-.Sx \&Sy ,
-and
-.Sx \&Em .
-.Ss \&Lk
-Format a hyperlink.
-Its syntax is as follows:
-.Pp
-.D1 Pf \. Sx \&Lk Cm uri Op Cm name
-.Pp
-Examples:
-.D1 \&.Lk http://bsd.lv "The BSD.lv Project"
-.D1 \&.Lk http://bsd.lv
-.Pp
-See also
-.Sx \&Mt .
-.Ss \&Lp
-Synonym for
-.Sx \&Pp .
-.Ss \&Ms
-Display a mathematical symbol.
-Its syntax is as follows:
-.Pp
-.D1 Pf \. Sx \&Ms Cm symbol
-.Pp
-Examples:
-.D1 \&.Ms sigma
-.D1 \&.Ms aleph
-.Ss \&Mt
-Format a
-.Dq mailto:
-hyperlink.
-Its syntax is as follows:
-.Pp
-.D1 Pf \. Sx \&Mt Cm address
-.Pp
-Examples:
-.D1 \&.Mt discuss@manpages.bsd.lv
-.Ss \&Nd
-A one-line description of the manual's content.
-This may only be invoked in the
-.Em SYNOPSIS
-section subsequent the
-.Sx \&Nm
-macro.
-.Pp
-Examples:
-.D1 \&.Sx \&Nd mdoc language reference
-.D1 \&.Sx \&Nd format and display UNIX manuals
-.Pp
-The
-.Sx \&Nd
-macro technically accepts child macros and terminates with a subsequent
-.Sx \&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
-.Sx \&Nm .
-.Ss \&Nm
-The name of the manual page, or \(em in particular in section 1, 6,
-and 8 pages \(em of an additional command or feature documented in
-the manual page.
-When first invoked, the
-.Sx \&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
-.Sx \&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
-.Sx \&Fn
-macro rather than
-.Sx \&Nm
-to mark up the name of the manual page.
-.Ss \&No
-A
-.Dq noop
-macro used to terminate prior macro contexts.
-.Pp
-Examples:
-.D1 \&.Sx \&Fl ab \&No cd \&Fl ef
-.Ss \&Ns
-Suppress a space.
-Following invocation, text is interpreted as free-form text until a
-macro is encountered.
-.Pp
-Examples:
-.D1 \&.Fl o \&Ns \&Ar output
-.Pp
-See also
-.Sx \&No
-and
-.Sx \&Sm .
-.Ss \&Nx
-Format the NetBSD version provided as an argument, or a default value if
-no argument is provided.
-.Pp
-Examples:
-.D1 \&.Nx 5.01
-.D1 \&.Nx
-.Pp
-See also
-.Sx \&At ,
-.Sx \&Bsx ,
-.Sx \&Bx ,
-.Sx \&Dx ,
-.Sx \&Fx ,
-.Sx \&Ox ,
-and
-.Sx \&Ux .
-.Ss \&Oc
-Close multi-line
-.Sx \&Oo
-context.
-.Ss \&Oo
-Multi-line version of
-.Sx \&Op .
-.Pp
-Examples:
-.Bd -literal -offset indent -compact
-\&.Oo
-\&.Op Fl flag Ns Ar value
-\&.Oc
-.Ed
-.Ss \&Op
-Command-line option.
-Used when listing options to command-line utilities.
-Prints the argument(s) in brackets.
-.Pp
-Examples:
-.D1 \&.Op \&Fl a \&Ar b
-.D1 \&.Op \&Ar a | b
-.Pp
-See also
-.Sx \&Oo .
-.Ss \&Os
-Document operating system version.
-This is the mandatory third macro of
-any
-.Nm
-file.
-Its syntax is as follows:
-.Pp
-.D1 Pf \. Sx \&Os Op Cm system
-.Pp
-The optional
-.Cm system
-parameter specifies the relevant operating system or environment.
-Left unspecified, it defaults to the local operating system version.
-This is the suggested form.
-.Pp
-Examples:
-.D1 \&.Os
-.D1 \&.Os KTH/CSC/TCS
-.D1 \&.Os BSD 4.3
-.Pp
-See also
-.Sx \&Dd
-and
-.Sx \&Dt .
-.Ss \&Ot
-Unknown usage.
-.Pp
-.Em Remarks :
-this macro has been deprecated.
-.Ss \&Ox
-Format the OpenBSD version provided as an argument, or a default value
-if no argument is provided.
-.Pp
-Examples:
-.D1 \&.Ox 4.5
-.D1 \&.Ox
-.Pp
-See also
-.Sx \&At ,
-.Sx \&Bsx ,
-.Sx \&Bx ,
-.Sx \&Dx ,
-.Sx \&Fx ,
-.Sx \&Nx ,
-and
-.Sx \&Ux .
-.Ss \&Pa
-A file-system path.
-.Pp
-Examples:
-.D1 \&.Pa /usr/bin/mandoc
-.D1 \&.Pa /usr/share/man/man7/mdoc.7
-.Pp
-See also
-.Sx \&Lk .
-.Ss \&Pc
-Close parenthesised context opened by
-.Sx \&Po .
-.Ss \&Pf
-Removes the space
-.Pq Dq prefix
-between its arguments.
-Its syntax is as follows:
-.Pp
-.D1 Pf \. \&Pf Cm prefix suffix
-.Pp
-The
-.Cm suffix
-argument may be a macro.
-.Pp
-Examples:
-.D1 \&.Pf \e. \&Sx \&Pf \&Cm prefix suffix
-.Ss \&Po
-Multi-line version of
-.Sx \&Pq .
-.Ss \&Pp
-Break a paragraph.
-This will assert vertical space between prior and subsequent macros
-and/or text.
-.Ss \&Pq
-Parenthesised enclosure.
-.Pp
-See also
-.Sx \&Po .
-.Ss \&Qc
-Close quoted context opened by
-.Sx \&Qo .
-.Ss \&Ql
-Format a single-quoted literal.
-See also
-.Sx \&Qq
-and
-.Sx \&Sq .
-.Ss \&Qo
-Multi-line version of
-.Sx \&Qq .
-.Ss \&Qq
-Encloses its arguments in
-.Dq typewriter
-double-quotes.
-Consider using
-.Sx \&Dq .
-.Pp
-See also
-.Sx \&Dq ,
-.Sx \&Sq ,
-and
-.Sx \&Qo .
-.Ss \&Re
-Close an
-.Sx \&Rs
-block.
-Does not have any tail arguments.
-.Ss \&Rs
-Begin a bibliographic
-.Pq Dq reference
-block.
-Does not have any head arguments.
-The block macro may only contain
-.Sx \&%A ,
-.Sx \&%B ,
-.Sx \&%C ,
-.Sx \&%D ,
-.Sx \&%I ,
-.Sx \&%J ,
-.Sx \&%N ,
-.Sx \&%O ,
-.Sx \&%P ,
-.Sx \&%Q ,
-.Sx \&%R ,
-.Sx \&%T ,
-.Sx \&%U ,
-and
-.Sx \&%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, Massachusettes
-\&.%D 1979
-\&.Re
-.Ed
-.Pp
-If an
-.Sx \&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.
-.Ss \&Rv
-Inserts text regarding a function call's return value.
-This macro must consist of the
-.Fl std
-argument followed by an optional
-.Ar function .
-If
-.Ar function
-is not provided, the document's name as stipulated by the first
-.Sx \&Nm
-is provided.
-.Pp
-See also
-.Sx \&Ex .
-.Ss \&Sc
-Close single-quoted context opened by
-.Sx \&So .
-.Ss \&Sh
-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
-.Sx \&Sx .
-.Pp
-See also
-.Sx \&Pp ,
-.Sx \&Ss ,
-and
-.Sx \&Sx .
-.Ss \&Sm
-Switches the spacing mode for output generated from macros.
-Its syntax is as follows:
-.Pp
-.D1 Pf \. Sx \&Sm Cm on | off
-.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 free-form text lines
-still get normal spacing between words and sentences.
-.Ss \&So
-Multi-line version of
-.Sx \&Sq .
-.Ss \&Sq
-Encloses its arguments in
-.Dq typewriter
-single-quotes.
-.Pp
-See also
-.Sx \&Dq ,
-.Sx \&Qq ,
-and
-.Sx \&So .
-.Ss \&Ss
-Begin a new sub-section.
-Unlike with
-.Sx \&Sh ,
-there's no convention for sub-sections.
-Conventional sections, as described in
-.Sx MANUAL STRUCTURE ,
-rarely have sub-sections.
-.Pp
-Sub-section names should be unique so that they may be keyed by
-.Sx \&Sx .
-.Pp
-See also
-.Sx \&Pp ,
-.Sx \&Sh ,
-and
-.Sx \&Sx .
-.Ss \&St
-Replace an abbreviation for a standard with the full form.
-The following standards are recognised:
-.Pp
-.Bl -tag -width "-p1003.1g-2000X" -compact
-.It \-p1003.1-88
-.St -p1003.1-88
-.It \-p1003.1-90
-.St -p1003.1-90
-.It \-p1003.1-96
-.St -p1003.1-96
-.It \-p1003.1-2001
-.St -p1003.1-2001
-.It \-p1003.1-2004
-.St -p1003.1-2004
-.It \-p1003.1-2008
-.St -p1003.1-2008
-.It \-p1003.1
-.St -p1003.1
-.It \-p1003.1b
-.St -p1003.1b
-.It \-p1003.1b-93
-.St -p1003.1b-93
-.It \-p1003.1c-95
-.St -p1003.1c-95
-.It \-p1003.1g-2000
-.St -p1003.1g-2000
-.It \-p1003.1i-95
-.St -p1003.1i-95
-.It \-p1003.2-92
-.St -p1003.2-92
-.It \-p1003.2a-92
-.St -p1003.2a-92
-.It \-p1387.2-95
-.St -p1387.2-95
-.It \-p1003.2
-.St -p1003.2
-.It \-p1387.2
-.St -p1387.2
-.It \-isoC
-.St -isoC
-.It \-isoC-90
-.St -isoC-90
-.It \-isoC-amd1
-.St -isoC-amd1
-.It \-isoC-tcor1
-.St -isoC-tcor1
-.It \-isoC-tcor2
-.St -isoC-tcor2
-.It \-isoC-99
-.St -isoC-99
-.It \-iso9945-1-90
-.St -iso9945-1-90
-.It \-iso9945-1-96
-.St -iso9945-1-96
-.It \-iso9945-2-93
-.St -iso9945-2-93
-.It \-ansiC
-.St -ansiC
-.It \-ansiC-89
-.St -ansiC-89
-.It \-ansiC-99
-.St -ansiC-99
-.It \-ieee754
-.St -ieee754
-.It \-iso8802-3
-.St -iso8802-3
-.It \-ieee1275-94
-.St -ieee1275-94
-.It \-xpg3
-.St -xpg3
-.It \-xpg4
-.St -xpg4
-.It \-xpg4.2
-.St -xpg4.2
-.St -xpg4.3
-.It \-xbd5
-.St -xbd5
-.It \-xcu5
-.St -xcu5
-.It \-xsh5
-.St -xsh5
-.It \-xns5
-.St -xns5
-.It \-xns5.2
-.St -xns5.2
-.It \-xns5.2d2.0
-.St -xns5.2d2.0
-.It \-xcurses4.2
-.St -xcurses4.2
-.It \-susv2
-.St -susv2
-.It \-susv3
-.St -susv3
-.It \-svid4
-.St -svid4
-.El
-.Ss \&Sx
-Reference a section or sub-section.
-The referenced section or sub-section name must be identical to the
-enclosed argument, including whitespace.
-.Pp
-Examples:
-.D1 \&.Sx MANUAL STRUCTURE
-.Ss \&Sy
-Format enclosed arguments in symbolic
-.Pq Dq boldface .
-Note that this is a presentation term and should not be used for
-stylistically decorating technical terms.
-.Pp
-See also
-.Sx \&Bf ,
-.Sx \&Li ,
-and
-.Sx \&Em .
-.Ss \&Tn
-Format a tradename.
-.Pp
-Examples:
-.D1 \&.Tn IBM
-.Ss \&Ud
-Prints out
-.Dq currently under development.
-.Ss \&Ux
-Format the UNIX name.
-Accepts no argument.
-.Pp
-Examples:
-.D1 \&.Ux
-.Pp
-See also
-.Sx \&At ,
-.Sx \&Bsx ,
-.Sx \&Bx ,
-.Sx \&Dx ,
-.Sx \&Fx ,
-.Sx \&Nx ,
-and
-.Sx \&Ox .
-.Ss \&Va
-A variable name.
-.Pp
-Examples:
-.D1 \&.Va foo
-.D1 \&.Va const char *bar ;
-.Ss \&Vt
-A variable type.
-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 in the
-.Em SYNOPSIS
-section, else it accepts ordinary
-.Sx In-line
-syntax.
-.Pp
-Note that this should not be confused with
-.Sx \&Ft ,
-which is used for function return types.
-.Pp
-Examples:
-.D1 \&.Vt unsigned char
-.D1 \&.Vt extern const char * const sys_signame[] \&;
-.Pp
-See also
-.Sx MANUAL STRUCTURE
-and
-.Sx \&Va .
-.Ss \&Xc
-Close a scope opened by
-.Sx \&Xo .
-.Ss \&Xo
-Open an extension scope.
-This macro originally existed to extend the 9-argument limit of troff;
-since this limit has been lifted, the macro has been deprecated.
-.Ss \&Xr
-Link to another manual
-.Pq Qq cross-reference .
-Its syntax is as follows:
-.Pp
-.D1 Pf \. Sx \&Xr Cm name section
-.Pp
-The
-.Cm name
-and
-.Cm section
-are the name and section of the linked manual.
-If
-.Cm section
-is followed by non-punctuation, an
-.Sx \&Ns
-is inserted into the token stream.
-This behaviour is for compatibility with
-.Xr groff 1 .
-.Pp
-Examples:
-.D1 \&.Xr mandoc 1
-.D1 \&.Xr mandoc 1 \&;
-.D1 \&.Xr mandoc 1 \&Ns s behaviour
-.Ss \&br
-Emits a line-break.
-This macro should not be used; it is implemented for compatibility with
-historical manuals.
-.Pp
-Consider using
-.Sx \&Pp
-in the event of natural paragraph breaks.
-.Ss \&sp
-Emits vertical space.
-This macro should not be used; it is implemented for compatibility with
-historical manuals.
-Its syntax is as follows:
-.Pp
-.D1 Pf \. Sx \&sp Op Cm height
-.Pp
-The
-.Cm height
-argument must be formatted as described in
-.Sx Scaling Widths .
-If unspecified,
-.Sx \&sp
-asserts a single vertical space.
-.Sh COMPATIBILITY
-This section documents compatibility between mandoc and other other
-troff implementations, at this time limited to GNU troff
-.Pq Qq groff .
-The term
-.Qq historic groff
-refers to groff versions before the
-.Pa doc.tmac
-file re-write
-.Pq somewhere between 1.15 and 1.19 .
-.Pp
-Heirloom troff, the other significant troff implementation accepting
-\-mdoc, is similar to historic groff.
-.Pp
-.Bl -dash -compact
-.It
-An empty
-.Sq \&Dd
-macro in groff prints
-.Dq Epoch .
-In mandoc, it resolves to the current date.
-.It
-The \es (font size), \em (font colour), and \eM (font filling colour)
-font decoration escapes are all discarded in mandoc.
-.It
-Old groff fails to assert a newline before
-.Sx \&Bd Fl ragged compact .
-.It
-groff behaves inconsistently when encountering
-.Pf non- Sx \&Fa
-children of
-.Sx \&Fo
-regarding spacing between arguments.
-In mandoc, this is not the case: each argument is consistently followed
-by a single space and the trailing
-.Sq \&)
-suppresses prior spacing.
-.It
-groff behaves inconsistently when encountering
-.Sx \&Ft
-and
-.Sx \&Fn
-in the
-.Em SYNOPSIS :
-at times newline(s) are suppressed depending on whether a prior
-.Sx \&Fn
-has been invoked.
-In mandoc, this is not the case.
-See
-.Sx \&Ft
-and
-.Sx \&Fn
-for the normalised behaviour.
-.It
-Historic groff does not break before an
-.Sx \&Fn
-when not invoked as the line macro in the
-.Em SYNOPSIS
-section.
-.It
-Historic groff formats the
-.Sx \&In
-badly: trailing arguments are trashed and
-.Em SYNOPSIS
-is not specially treated.
-.It
-groff does not accept the
-.Sq \&Ta
-pseudo-macro as a line macro.
-mandoc does.
-.It
-The comment syntax
-.Sq \e\."
-is no longer accepted.
-.It
-In groff, the
-.Sx \&Pa
-macro does not format its arguments when used in the FILES section under
-certain list types.
-mandoc does.
-.It
-Historic groff does not print a dash for empty
-.Sx \&Fl
-arguments.
-mandoc and newer groff implementations do.
-.It
-groff behaves irregularly when specifying
-.Sq \ef
-.Sx Text Decoration
-within line-macro scopes.
-mandoc follows a consistent system.
-.It
-In mandoc, negative scaling units are truncated to zero; groff would
-move to prior lines.
-Furthermore, the
-.Sq f
-scaling unit, while accepted, is rendered as the default unit.
-.It
-In quoted literals, groff allowed pair-wise double-quotes to produce a
-standalone double-quote in formatted output.
-This idiosyncratic behaviour is not applicable in mandoc.
-.It
-Display offsets
-.Sx \&Bd
-.Fl offset Ar center
-and
-.Fl offset Ar right
-are disregarded in mandoc.
-Furthermore, troff specifies a
-.Fl file Ar file
-argument that is not supported in mandoc.
-Lastly, since text is not right-justified in mandoc (or even groff),
-.Fl ragged
-and
-.Fl filled
-are aliases, as are
-.Fl literal
-and
-.Fl unfilled .
-.It
-Historic groff has many un-callable macros.
-Most of these (excluding some block-level macros) are now callable.
-.It
-The vertical bar
-.Sq \(ba
-made historic groff
-.Qq go orbital
-but has been a proper delimiter since then.
-.It
-.Sx \&It Fl nested
-is assumed for all lists (it wasn't in historic groff): any list may be
-nested and
-.Fl enum
-lists will restart the sequence only for the sub-list.
-.It
-Some manuals use
-.Sx \&Li
-incorrectly by following it with a reserved character and expecting the
-delimiter to render.
-This is not supported in mandoc.
-.It
-In groff, the
-.Sx \&Cd ,
-.Sx \&Er ,
-.Sx \&Ex ,
-and
-.Sx \&Rv
-macros were stipulated only to occur in certain manual sections.
-mandoc does not have these restrictions.
-.It
-Newer groff and mandoc print
-.Qq AT&T UNIX
-prior to unknown arguments of
-.Sx \&At ;
-older groff did nothing.
-.El
-.Sh SEE ALSO
-.Xr mandoc 1 ,
-.Xr mandoc_char 7
-.Sh AUTHORS
-The
-.Nm
-reference was written by
-.An Kristaps Dzonsons Aq kristaps@bsd.lv .