[BACK]Return to mdoc.7 CVS log [TXT][DIR] Up to [cvsweb.bsd.lv] / mandoc

Diff for /mandoc/mdoc.7 between version 1.173 and 1.201

version 1.173, 2010/12/29 16:16:50 version 1.201, 2011/08/17 22:20:14
Line 1 
Line 1 
 .\"     $Id$  .\"     $Id$
 .\"  .\"
 .\" Copyright (c) 2009, 2010 Kristaps Dzonsons <kristaps@bsd.lv>  .\" Copyright (c) 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
 .\" Copyright (c) 2010 Ingo Schwarze <schwarze@openbsd.org>  .\" Copyright (c) 2010 Ingo Schwarze <schwarze@openbsd.org>
 .\"  .\"
 .\" Permission to use, copy, modify, and distribute this software for any  .\" Permission to use, copy, modify, and distribute this software for any
Line 30  language is used to format
Line 30  language is used to format
 manuals.  manuals.
 This reference document describes its syntax, structure, and  This reference document describes its syntax, structure, and
 usage.  usage.
 The reference implementation is  The reference implementation for
   .Nm
   formatting is
 .Xr mandoc 1 ;  .Xr mandoc 1 ;
 the  the
 .Sx COMPATIBILITY  .Sx COMPATIBILITY
 section describes compatibility with other troff \-mdoc implementations.  section describes compatibility with other implementations.
 .Pp  .Pp
 An  An
 .Nm  .Nm
 document follows simple rules: lines beginning with the control  document follows simple rules: lines beginning with the control
 character  character
 .Sq \.  .Sq \&.
 are parsed for macros.  are parsed for macros.
 Other lines are interpreted within the scope of  Lines not beginning with the control character are
 prior macros:  interpreted within the scope of prior macros:
 .Bd -literal -offset indent  .Bd -literal -offset indent
 \&.Sh Macro lines change control state.  \&.Sh Macro lines change control state.
 Other lines are interpreted within the current state.  Text lines are interpreted within the current state.
 .Ed  .Ed
 .Sh LANGUAGE SYNTAX  .Sh LANGUAGE SYNTAX
 .Nm  .Nm
 documents may contain only graphable 7-bit ASCII characters, the space  documents may contain only graphable 7-bit ASCII characters, the space
 character, and, in certain circumstances, the tab character.  character, and, in certain circumstances, the tab character.
 All manuals must have  The back-space character
 .Ux  .Sq \e
 line terminators.  indicates the start of an escape sequence for
   .Sx Comments ,
   .Sx Predefined Strings ,
   and
   .Sx Special Characters .
 .Ss Comments  .Ss Comments
 Text following a  Text following an escaped double-quote
 .Sq \e\*q ,  .Sq \e\*q ,
 whether in a macro or free-form text line, is ignored to the end of  whether in a macro or text line, is ignored to the end of
 line.  line.
 A macro line with only a control character and comment escape,  A macro line beginning with a control character and comment escape
 .Sq \&.\e\*q ,  .Sq \&.\e\*q
 is also ignored.  is also ignored.
 Macro lines with only a control character and optional whitespace are  Furthermore,
   macro lines with only a control character and optional trailing
   whitespace are
 stripped from input.  stripped from input.
 .Ss Reserved Characters  
 Within a macro line, the following characters are reserved:  
 .Pp  .Pp
 .Bl -tag -width Ds -offset indent -compact  Examples:
 .It \&.  .Bd -literal -offset indent -compact
 .Pq period  \&.\e\*q This is a comment line.
 .It \&,  \&.\e\*q The next line is ignored:
 .Pq comma  \&.
 .It \&:  \&.Em Emphasis \e\*q This is also a comment.
 .Pq colon  .Ed
 .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  .Ss Special Characters
 Special characters may occur in both macro and free-form lines.  Special characters are used to encode special glyphs and are rendered
   differently across output media.
   They may occur in both macro and text lines.
 Sequences begin with the escape character  Sequences begin with the escape character
 .Sq \e  .Sq \e
 followed by either an open-parenthesis  followed by either an open-parenthesis
Line 110  for two-character sequences; an open-bracket
Line 94  for two-character sequences; an open-bracket
 for n-character sequences (terminated at a close-bracket  for n-character sequences (terminated at a close-bracket
 .Sq \&] ) ;  .Sq \&] ) ;
 or a single one character sequence.  or a single one character sequence.
   .Pp
   Examples:
   .Bl -tag -width Ds -offset indent -compact
   .It \e(em
   em dash
   .It \ee
   backslash
   .El
   .Pp
 See  See
 .Xr mandoc_char 7  .Xr mandoc_char 7
 for a complete list.  for a complete list.
 Examples include  
 .Sq \e(em  
 .Pq em-dash  
 and  
 .Sq \ee  
 .Pq back-slash .  
 .Ss Text Decoration  .Ss Text Decoration
 Terms may be text-decorated using the  Terms may be text-decorated using the
 .Sq \ef  .Sq \ef
 escape followed by an indicator: B (bold), I (italic), R (Roman), or P  escape followed by an indicator: B (bold), I (italic), R (regular), or P
 (revert to previous mode):  (revert to previous mode).
 .Pp  A numerical representation 3, 2, or 1 (bold, italic, and regular,
 .Dl \efBbold\efR \efIitalic\efP  
 .Pp  
 A numerical representation 3, 2, or 1 (bold, italic, and Roman,  
 respectively) may be used instead.  respectively) may be used instead.
 A text decoration is valid within  If a macro opens a font scope after calling
 the current font scope only: if a macro opens a font scope alongside  .Sq \ef ,
 its own scope, such as  such as with
 .Sx \&Bf  .Sx \&Bf ,
 .Cm \&Sy ,  the
 in-scope invocations of  
 .Sq \ef  .Sq \ef
 are only valid within the font scope of the macro.  mode will be restored upon exiting the
 If  .Sx \&Bf
 .Sq \ef  scope.
 is specified outside of any font scope, such as in unenclosed, free-form  
 text, it will affect the remainder of the document.  
 .Pp  .Pp
 Note this form is  Examples:
   .Bl -tag -width Ds -offset indent -compact
   .It \efBbold\efR
   write in bold, then switch to regular
   .It \efIitalic\efP
   write in italic, then return to previous
   .El
   .Pp
   Text decoration is
 .Em not  .Em not
 recommended for  recommended for
 .Nm ,  .Nm ,
 which encourages semantic annotation.  which encourages semantic annotation.
 .Ss Predefined Strings  .Ss Predefined Strings
 Historically,  Predefined strings, like
 troff  
 also defined a set of package-specific  
 .Dq predefined strings ,  
 which, like  
 .Sx Special Characters ,  .Sx Special Characters ,
 mark special output characters and strings by way of input codes.  mark special output glyphs.
 Predefined strings are escaped with the slash-asterisk,  Predefined strings are escaped with the slash-asterisk,
 .Sq \e* :  .Sq \e* :
 single-character  single-character
Line 163  two-character
Line 148  two-character
 .Sq \e*(XX ,  .Sq \e*(XX ,
 and N-character  and N-character
 .Sq \e*[N] .  .Sq \e*[N] .
 See  .Pp
 .Xr mandoc_char 7  Examples:
 for a complete list.  .Bl -tag -width Ds -offset indent -compact
 Examples include  .It \e*(Am
 .Sq \e*(Am  ampersand
 .Pq ampersand  .It \e*(Ba
 and  vertical bar
 .Sq \e*(Ba  .El
 .Pq vertical bar .  .Pp
   These strings are set using
   .Xr roff 7 ,
   although
   .Nm
   consists of several pre-set escapes listed in
   .Xr mandoc_char 7 .
 .Ss Whitespace  .Ss Whitespace
 Whitespace consists of the space character.  Whitespace consists of the space character.
 In free-form lines, whitespace is preserved within a line; unescaped  In text lines, whitespace is preserved within a line.
 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.  In macro lines, whitespace delimits arguments and is discarded.
 If arguments are quoted, whitespace within the quotes is retained.  .Pp
   Unescaped trailing spaces are stripped from text line input unless in a
   literal context.
   In general, trailing whitespace on any input line is discouraged for
   reasons of portability.
   In the rare case that a blank character is needed at the end of an
   input line, it may be forced by
   .Sq \e\ \e& .
   .Pp
   Blank text lines, which may include whitespace, are only permitted
   within literal contexts.
   If the first character of a text line is a space, that line is printed
   with a leading newline.
 .Ss Quotation  .Ss Quotation
 Macro arguments may be quoted with double-quotes to group  Macro arguments may be quoted with double-quotes; in this case,
 space-delimited terms or to retain blocks of whitespace.  whitespace within the quotes is retained as part of the argument.
   For example,
   .Pp
   .D1 Pf \. \&Fn strlen "\(dqconst char *s\(dq"
   .Pp
   renders as
   .Sq Fn strlen "const char *s" ,
   while
   .Pp
   .D1 Pf \. \&Fn strlen "const char *s"
   .Pp
   would produce
   .Sq Fn strlen const char *s .
   .Pp
 A quoted argument begins with a double-quote preceded by whitespace.  A quoted argument begins with a double-quote preceded by whitespace.
 The next double-quote not pairwise adjacent to another double-quote  The next double-quote not pairwise adjacent to another double-quote
 terminates the literal, regardless of surrounding whitespace.  terminates the literal, regardless of surrounding whitespace.
 .Pp  .Pp
   In unquoted arguments, space characters can alternatively be included
   by preceding them with a backslash
   .Pq Sq \e\~ ,
   but quoting is usually better for clarity.
   .Pp
 Note that any quoted text, even if it would cause a macro invocation  Note that any quoted text, even if it would cause a macro invocation
 when unquoted, is considered literal text.  when unquoted, is considered literal text.
 Thus, the following produces  Thus, the following produces
Line 196  Thus, the following produces
Line 213  Thus, the following produces
 \&.Op "Fl a"  \&.Op "Fl a"
 .Ed  .Ed
 .Pp  .Pp
 In free-form mode, quotes are regarded as opaque text.  In text lines, 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  .Ss Scaling Widths
 Many macros support scaled widths for their arguments, such as  Many macros support scaled widths for their arguments.
 stipulating a two-inch list indentation with the following:  The syntax for a scaled width is
 .Bd -literal -offset indent  
 \&.Bl -tag -width 2i  
 .Ed  
 .Pp  
 The syntax for scaled widths is  
 .Sq Li [+-]?[0-9]*.[0-9]*[:unit:] ,  .Sq Li [+-]?[0-9]*.[0-9]*[:unit:] ,
 where a decimal must be preceded or proceeded by at least one digit.  where a decimal must be preceded or proceeded by at least one digit.
 Negative numbers, while accepted, are truncated to zero.  Negative numbers, while accepted, are truncated to zero.
   .Pp
 The following scaling units are accepted:  The following scaling units are accepted:
 .Pp  .Pp
 .Bl -tag -width Ds -offset indent -compact  .Bl -tag -width Ds -offset indent -compact
Line 277  or
Line 262  or
 is necessarily non-portable across output media.  is necessarily non-portable across output media.
 See  See
 .Sx COMPATIBILITY .  .Sx COMPATIBILITY .
   .Pp
   Examples:
   .Bl -tag -width Ds -offset indent -compact
   .It \&.Bl -tag -width 2i
   two-inch tagged list indentation
   .Pq see Sx \&Bl
   .It \&.sp 2v
   two vertical spaces
   .Pq see Sx \&sp
   .El
 .Ss Sentence Spacing  .Ss Sentence Spacing
 When composing a manual, make sure that sentences end at the end of  Sentences should terminate at the end of an input line.
 a line.  By doing this, a formatter will be able to apply the proper amount of
 By doing so, front-ends will be able to apply the proper amount of  
 spacing after the end of sentence (unescaped) period, exclamation mark,  spacing after the end of sentence (unescaped) period, exclamation mark,
 or question mark followed by zero or more non-sentence closing  or question mark followed by zero or more non-sentence closing
 delimiters (  delimiters
 .Ns Sq \&) ,  .Po
   .Sq \&) ,
 .Sq \&] ,  .Sq \&] ,
 .Sq \&' ,  .Sq \&' ,
 .Sq \&" ) .  .Sq \&"
   .Pc .
 .Pp  .Pp
 The proper spacing is also intelligently preserved if a sentence ends at  The proper spacing is also intelligently preserved if a sentence ends at
 the boundary of a macro line.  the boundary of a macro line.
 For example:  
 .Pp  .Pp
 .Dl \&Xr mandoc 1 \.  Examples:
 .Dl \&Fl T \&Ns \&Cm ascii \.  .Bd -literal -offset indent -compact
   Do not end sentences mid-line like this.  Instead,
   end a sentence like this.
   A macro would end like this:
   \&.Xr mandoc 1 \&.
   .Ed
 .Sh MANUAL STRUCTURE  .Sh MANUAL STRUCTURE
 A well-formed  A well-formed
 .Nm  .Nm
Line 323  sections, although this varies between manual sections
Line 323  sections, although this varies between manual sections
 .Pp  .Pp
 The following is a well-formed skeleton  The following is a well-formed skeleton
 .Nm  .Nm
 file:  file for a utility
   .Qq progname :
 .Bd -literal -offset indent  .Bd -literal -offset indent
 \&.Dd $\&Mdocdate$  \&.Dd $\&Mdocdate$
 \&.Dt mdoc 7  \&.Dt PROGNAME section
 \&.Os  \&.Os
 \&.Sh NAME  \&.Sh NAME
 \&.Nm foo  \&.Nm progname
 \&.Nd a description goes here  \&.Nd one line about what it does
 \&.\e\*q .Sh LIBRARY  \&.\e\*q .Sh LIBRARY
 \&.\e\*q For sections 2, 3, & 9 only.  \&.\e\*q For sections 2, 3, & 9 only.
 \&.\e\*q Not used in OpenBSD.  \&.\e\*q Not used in OpenBSD.
 \&.Sh SYNOPSIS  \&.Sh SYNOPSIS
 \&.Nm foo  \&.Nm progname
 \&.Op Fl options  \&.Op Fl options
 \&.Ar  \&.Ar
 \&.Sh DESCRIPTION  \&.Sh DESCRIPTION
Line 382  The syntax for this as follows:
Line 383  The syntax for this as follows:
 \&.Nd a one line description  \&.Nd a one line description
 .Ed  .Ed
 .Pp  .Pp
   Multiple
   .Sq \&Nm
   names should be separated by commas.
   .Pp
 The  The
 .Sx \&Nm  .Sx \&Nm
 macro(s) must precede the  macro(s) must precede the
Line 409  configuration.
Line 414  configuration.
 For the first, utilities (sections 1, 6, and 8), this is  For the first, utilities (sections 1, 6, and 8), this is
 generally structured as follows:  generally structured as follows:
 .Bd -literal -offset indent  .Bd -literal -offset indent
 \&.Nm foo  \&.Nm bar
 \&.Op Fl v  \&.Op Fl v
 \&.Op Fl o Ar file  \&.Op Fl o Ar file
 \&.Op Ar  \&.Op Ar
 \&.Nm bar  \&.Nm foo
 \&.Op Fl v  \&.Op Fl v
 \&.Op Fl o Ar file  \&.Op Fl o Ar file
 \&.Op Ar  \&.Op Ar
 .Ed  .Ed
 .Pp  .Pp
   Commands should be ordered alphabetically.
   .Pp
 For the second, function calls (sections 2, 3, 9):  For the second, function calls (sections 2, 3, 9):
 .Bd -literal -offset indent  .Bd -literal -offset indent
 \&.In header.h  \&.In header.h
Line 429  For the second, function calls (sections 2, 3, 9):
Line 436  For the second, function calls (sections 2, 3, 9):
 \&.Fn bar "const char *src"  \&.Fn bar "const char *src"
 .Ed  .Ed
 .Pp  .Pp
   Ordering of
   .Sx \&In ,
   .Sx \&Vt ,
   .Sx \&Fn ,
   and
   .Sx \&Fo
   macros should follow C header-file conventions.
   .Pp
 And for the third, configurations (section 4):  And for the third, configurations (section 4):
 .Bd -literal -offset indent  .Bd -literal -offset indent
 \&.Cd \*qit* at isa? port 0x2e\*q  \&.Cd \*qit* at isa? port 0x2e\*q
Line 477  or
Line 492  or
 .Sx \&Ss  .Sx \&Ss
 macro or the end of an enclosing block, whichever comes first.  macro or the end of an enclosing block, whichever comes first.
 .It Em DESCRIPTION  .It Em DESCRIPTION
 This expands upon the brief, one line description in  This begins with an expansion of the brief, one line description in
 .Em NAME .  .Em NAME :
 It usually contains a breakdown of the options (if documenting a  .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:  command), such as:
 .Bd -literal -offset indent  .Bd -literal -offset indent
 The arguments are as follows:  The arguments are as follows:
Line 490  Print verbose information.
Line 511  Print verbose information.
 .Ed  .Ed
 .Pp  .Pp
 Manuals not documenting a command won't include the above fragment.  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
   .Sx \&Ss
   macro to form subsections.
   In very long manuals, the
   .Em DESCRIPTION
   may be split into multiple sections, each started by an
   .Sx \&Sh
   macro followed by a non-standard section name, and each having
   several subsections, like in the present
   .Nm
   manual.
 .It Em IMPLEMENTATION NOTES  .It Em IMPLEMENTATION NOTES
 Implementation-specific notes should be kept here.  Implementation-specific notes should be kept here.
 This is useful when implementing standard functions that may have side  This is useful when implementing standard functions that may have side
Line 551  This section should exist for most manuals.
Line 587  This section should exist for most manuals.
 Cross-references should conventionally be ordered first by section, then  Cross-references should conventionally be ordered first by section, then
 alphabetically.  alphabetically.
 .Pp  .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  See
   .Sx \&Rs
   and
 .Sx \&Xr .  .Sx \&Xr .
 .It Em STANDARDS  .It Em STANDARDS
 References any standards implemented or used.  References any standards implemented or used.
Line 562  section should be used instead.
Line 604  section should be used instead.
 See  See
 .Sx \&St .  .Sx \&St .
 .It Em HISTORY  .It Em HISTORY
 A brief history of the subject, including where support first appeared.  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  .It Em AUTHORS
 Credits to the person or persons who wrote the code and/or documentation.  Credits to the person or persons who wrote the code and/or documentation.
 Authors should generally be noted by both name and email address.  Authors should generally be noted by both name and email address.
Line 606  The
Line 649  The
 .Em Callable  .Em Callable
 column indicates that the macro may also be called by passing its name  column indicates that the macro may also be called by passing its name
 as an argument to another macro.  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  If a macro is not callable but its name appears as an argument
 to another macro, it is interpreted as opaque text.  to another macro, it is interpreted as opaque text.
 For example,  For example,
Line 627  column, if applicable, describes closure rules.
Line 681  column, if applicable, describes closure rules.
 Multi-line scope closed by an explicit closing macro.  Multi-line scope closed by an explicit closing macro.
 All macros contains bodies; only  All macros contains bodies; only
 .Sx \&Bf  .Sx \&Bf
 contains a head.  and
   .Pq optionally
   .Sx \&Bl
   contain a head.
 .Bd -literal -offset indent  .Bd -literal -offset indent
 \&.Yo \(lB\-arg \(lBparm...\(rB\(rB \(lBhead...\(rB  \&.Yo \(lB\-arg \(lBparm...\(rB\(rB \(lBhead...\(rB
 \(lBbody...\(rB  \(lBbody...\(rB
Line 669  has multiple heads.
Line 726  has multiple heads.
 .Pp  .Pp
 .Bl -column -compact -offset indent "MacroX" "CallableX" "ParsedX" "closed by XXXXXXXXXXX"  .Bl -column -compact -offset indent "MacroX" "CallableX" "ParsedX" "closed by XXXXXXXXXXX"
 .It Em Macro Ta Em Callable Ta Em Parsed Ta Em Scope  .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 \&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 \&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 \&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 \&Sh Ta \&No Ta Yes  Ta closed by Sx \&Sh
 .It Sx \&Ss  Ta    \&No     Ta    \&No     Ta    closed by Sx \&Sh , Sx \&Ss  .It Sx \&Ss Ta \&No Ta Yes  Ta closed by Sx \&Sh , Sx \&Ss
 .El  .El
 .Pp  .Pp
 Note that the  Note that the
Line 731  and/or tail
Line 788  and/or tail
 .It Sx \&Xo  Ta    Yes      Ta    Yes      Ta    closed by Sx \&Xc  .It Sx \&Xo  Ta    Yes      Ta    Yes      Ta    closed by Sx \&Xc
 .El  .El
 .Ss Block partial-implicit  .Ss Block partial-implicit
 Like block full-implicit, but with single-line scope closed by  Like block full-implicit, but with single-line scope closed by the
 .Sx Reserved Characters  end of the line.
 or end of line.  
 .Bd -literal -offset indent  .Bd -literal -offset indent
 \&.Yo \(lB\-arg \(lBval...\(rB\(rB \(lBbody...\(rB \(lBres...\(rB  \&.Yo \(lB\-arg \(lBval...\(rB\(rB \(lBbody...\(rB \(lBres...\(rB
 .Ed  .Ed
Line 763  in a
Line 819  in a
 .Em SYNOPSIS  .Em SYNOPSIS
 section line, else it is  section line, else it is
 .Sx In-line .  .Sx In-line .
   .Ss Special block macro
   The
   .Sx \&Ta
   macro can only be used below
   .Sx \&It
   in
   .Sx \&Bl Fl column
   lists.
   It delimits blocks representing table cells;
   these blocks have bodies, but no heads.
   .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 \&Ta  Ta    Yes      Ta    Yes    Ta closed by Sx \&Ta , Sx \&It
   .El
 .Ss In-line  .Ss In-line
 Closed by  Closed by the end of the line, fixed argument lengths,
 .Sx Reserved Characters ,  and/or subsequent macros.
 end of line, fixed argument lengths, and/or subsequent macros.  
 In-line macros have only text children.  In-line macros have only text children.
 If a number (or inequality) of arguments is  If a number (or inequality) of arguments is
 .Pq n ,  .Pq n ,
Line 795  then the macro accepts an arbitrary number of argument
Line 865  then the macro accepts an arbitrary number of argument
 .It Sx \&%T  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 \&%U  Ta    \&No     Ta    \&No     Ta    >0
 .It Sx \&%V  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 \&Ad  Ta    Yes      Ta    Yes      Ta    >0
 .It Sx \&An  Ta    Yes      Ta    Yes      Ta    n  .It Sx \&An  Ta    Yes      Ta    Yes      Ta    >0
 .It Sx \&Ap  Ta    Yes      Ta    Yes      Ta    0  .It Sx \&Ap  Ta    Yes      Ta    Yes      Ta    0
 .It Sx \&Ar  Ta    Yes      Ta    Yes      Ta    n  .It Sx \&Ar  Ta    Yes      Ta    Yes      Ta    n
 .It Sx \&At  Ta    Yes      Ta    Yes      Ta    1  .It Sx \&At  Ta    Yes      Ta    Yes      Ta    1
Line 804  then the macro accepts an arbitrary number of argument
Line 874  then the macro accepts an arbitrary number of argument
 .It Sx \&Bt  Ta    \&No     Ta    \&No     Ta    0  .It Sx \&Bt  Ta    \&No     Ta    \&No     Ta    0
 .It Sx \&Bx  Ta    Yes      Ta    Yes      Ta    n  .It Sx \&Bx  Ta    Yes      Ta    Yes      Ta    n
 .It Sx \&Cd  Ta    Yes      Ta    Yes      Ta    >0  .It Sx \&Cd  Ta    Yes      Ta    Yes      Ta    >0
 .It Sx \&Cm  Ta    Yes      Ta    Yes      Ta    n  .It Sx \&Cm  Ta    Yes      Ta    Yes      Ta    >0
 .It Sx \&Db  Ta    \&No     Ta    \&No     Ta    1  .It Sx \&Db  Ta    \&No     Ta    \&No     Ta    1
 .It Sx \&Dd  Ta    \&No     Ta    \&No     Ta    n  .It Sx \&Dd  Ta    \&No     Ta    \&No     Ta    n
 .It Sx \&Dt  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 \&Dv  Ta    Yes      Ta    Yes      Ta    >0
 .It Sx \&Dx  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 \&Em  Ta    Yes      Ta    Yes      Ta    >0
 .It Sx \&En  Ta    \&No     Ta    \&No     Ta    0  .It Sx \&En  Ta    \&No     Ta    \&No     Ta    0
 .It Sx \&Er  Ta    Yes      Ta    Yes      Ta    >0  .It Sx \&Er  Ta    Yes      Ta    Yes      Ta    >0
 .It Sx \&Es  Ta    \&No     Ta    \&No     Ta    0  .It Sx \&Es  Ta    \&No     Ta    \&No     Ta    0
 .It Sx \&Ev  Ta    Yes      Ta    Yes      Ta    n  .It Sx \&Ev  Ta    Yes      Ta    Yes      Ta    >0
 .It Sx \&Ex  Ta    \&No     Ta    \&No     Ta    n  .It Sx \&Ex  Ta    \&No     Ta    \&No     Ta    n
 .It Sx \&Fa  Ta    Yes      Ta    Yes      Ta    n  .It Sx \&Fa  Ta    Yes      Ta    Yes      Ta    >0
 .It Sx \&Fd  Ta    \&No     Ta    \&No     Ta    >0  .It Sx \&Fd  Ta    \&No     Ta    \&No     Ta    >0
 .It Sx \&Fl  Ta    Yes      Ta    Yes      Ta    n  .It Sx \&Fl  Ta    Yes      Ta    Yes      Ta    n
 .It Sx \&Fn  Ta    Yes      Ta    Yes      Ta    >0  .It Sx \&Fn  Ta    Yes      Ta    Yes      Ta    >0
 .It Sx \&Fr  Ta    \&No     Ta    \&No     Ta    n  .It Sx \&Fr  Ta    \&No     Ta    \&No     Ta    n
 .It Sx \&Ft  Ta    Yes      Ta    Yes      Ta    n  .It Sx \&Ft  Ta    Yes      Ta    Yes      Ta    >0
 .It Sx \&Fx  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 \&Hf  Ta    \&No     Ta    \&No     Ta    n
 .It Sx \&Ic  Ta    Yes      Ta    Yes      Ta    >0  .It Sx \&Ic  Ta    Yes      Ta    Yes      Ta    >0
 .It Sx \&In  Ta    \&No     Ta    \&No     Ta    n  .It Sx \&In  Ta    \&No     Ta    \&No     Ta    1
 .It Sx \&Lb  Ta    \&No     Ta    \&No     Ta    1  .It Sx \&Lb  Ta    \&No     Ta    \&No     Ta    1
 .It Sx \&Li  Ta    Yes      Ta    Yes      Ta    n  .It Sx \&Li  Ta    Yes      Ta    Yes      Ta    >0
 .It Sx \&Lk  Ta    Yes      Ta    Yes      Ta    n  .It Sx \&Lk  Ta    Yes      Ta    Yes      Ta    >0
 .It Sx \&Lp  Ta    \&No     Ta    \&No     Ta    0  .It Sx \&Lp  Ta    \&No     Ta    \&No     Ta    0
 .It Sx \&Ms  Ta    Yes      Ta    Yes      Ta    >0  .It Sx \&Ms  Ta    Yes      Ta    Yes      Ta    >0
 .It Sx \&Mt  Ta    Yes      Ta    Yes      Ta    >0  .It Sx \&Mt  Ta    Yes      Ta    Yes      Ta    >0
Line 856  then the macro accepts an arbitrary number of argument
Line 926  then the macro accepts an arbitrary number of argument
 .It Sx \&br  Ta    \&No     Ta    \&No     Ta    0  .It Sx \&br  Ta    \&No     Ta    \&No     Ta    0
 .It Sx \&sp  Ta    \&No     Ta    \&No     Ta    1  .It Sx \&sp  Ta    \&No     Ta    \&No     Ta    1
 .El  .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.
   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:
   .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.
 .Sh REFERENCE  .Sh REFERENCE
 This section is a canonical reference of all macros, arranged  This section is a canonical reference of all macros, arranged
 alphabetically.  alphabetically.
Line 884  block.
Line 1038  block.
 Publication date of an  Publication date of an
 .Sx \&Rs  .Sx \&Rs
 block.  block.
 This should follow the reduced or canonical form syntax described in  Recommended formats of arguments are
 .Sx Dates .  .Ar month day , year
   or just
   .Ar year .
 .Ss \&%I  .Ss \&%I
 Publisher or issuer name of an  Publisher or issuer name of an
 .Sx \&Rs  .Sx \&Rs
Line 943  Examples:
Line 1099  Examples:
 .Dl \&.Ad 0x00000000  .Dl \&.Ad 0x00000000
 .Ss \&An  .Ss \&An
 Author 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:  Requires either the name of an author or one of the following arguments:
 .Pp  .Pp
 .Bl -tag -width "-nosplitX" -offset indent -compact  .Bl -tag -width "-nosplitX" -offset indent -compact
Line 1013  If an argument is not provided, the string
Line 1171  If an argument is not provided, the string
 is used as a default.  is used as a default.
 .Pp  .Pp
 Examples:  Examples:
 .Dl \&.Fl o \&Ns \&Ar file1  .Dl ".Fl o Ar file"
 .Dl \&.Ar  .Dl ".Ar"
 .Dl \&.Ar arg1 , arg2 .  .Dl ".Ar arg1 , arg2 ."
   .Pp
   The arguments to the
   .Sx \&Ar
   macro are names and placeholders for command arguments;
   for fixed strings to be passed verbatim as arguments, use
   .Sx \&Fl
   or
   .Sx \&Cm .
 .Ss \&At  .Ss \&At
 Formats an AT&T version.  Formats an AT&T version.
 Accepts one optional argument:  Accepts one optional argument:
Line 1024  Accepts one optional argument:
Line 1190  Accepts one optional argument:
 .It Cm v[1-7] | 32v  .It Cm v[1-7] | 32v
 A version of  A version of
 .At .  .At .
   .It Cm III
   .At III .
 .It Cm V[.[1-4]]?  .It Cm V[.[1-4]]?
 A version of  A version of
 .At V .  .At V .
Line 1033  Note that these arguments do not begin with a hyphen.
Line 1201  Note that these arguments do not begin with a hyphen.
 .Pp  .Pp
 Examples:  Examples:
 .Dl \&.At  .Dl \&.At
   .Dl \&.At III
 .Dl \&.At V.1  .Dl \&.At V.1
 .Pp  .Pp
 See also  See also
Line 1061  Its syntax is as follows:
Line 1230  Its syntax is as follows:
 .Pp  .Pp
 Display blocks are used to select a different indentation and  Display blocks are used to select a different indentation and
 justification than the one used by the surrounding text.  justification than the one used by the surrounding text.
 They may contain both macro lines and free-form text lines.  They may contain both macro lines and text lines.
 By default, a display block is preceded by a vertical space.  By default, a display block is preceded by a vertical space.
 .Pp  .Pp
 The  The
Line 1069  The
Line 1238  The
 must be one of the following:  must be one of the following:
 .Bl -tag -width 13n -offset indent  .Bl -tag -width 13n -offset indent
 .It Fl centered  .It Fl centered
 Centre-justify each line.  Produce one output line from each input line, and centre-justify each line.
 Using this display type is not recommended; many  Using this display type is not recommended; many
 .Nm  .Nm
 implementations render it poorly.  implementations render it poorly.
 .It Fl filled  .It Fl filled
 Left- and right-justify the block.  Change the positions of line breaks to fill each line, and left- and
   right-justify the resulting block.
 .It Fl literal  .It Fl literal
 Do not justify the block at all.  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.  Preserve white space as it appears in the input.
   Always use a constant-width font.
   Use this for displaying source code.
 .It Fl ragged  .It Fl ragged
 Only left-justify the block.  Change the positions of line breaks to fill each line, and left-justify
   the resulting block.
 .It Fl unfilled  .It Fl unfilled
 An alias for  The same as
 .Fl literal .  .Fl literal ,
   but using the same font as for normal text, which is a variable width font
   if supported by the output device.
 .El  .El
 .Pp  .Pp
 The  The
Line 1098  which may be one of the following:
Line 1274  which may be one of the following:
 .It  .It
 One of the pre-defined strings  One of the pre-defined strings
 .Cm indent ,  .Cm indent ,
 the width of standard indentation;  the width of a standard indentation (six constant width characters);
 .Cm indent-two ,  .Cm indent-two ,
 twice  twice
 .Cm indent ;  .Cm indent ;
Line 1176  See also
Line 1352  See also
 and  and
 .Sx \&Sy .  .Sx \&Sy .
 .Ss \&Bk  .Ss \&Bk
 Keep the output generated from each macro input line together  For each macro, keep its output together on the same output line,
 on one single output line.  until the end of the macro or the end of the input line is reached,
 Line breaks in free-form text lines are unaffected.  whichever comes first.
   Line breaks in text lines are unaffected.
 The syntax is as follows:  The syntax is as follows:
 .Pp  .Pp
 .D1 Pf \. Sx \&Bk Fl words  .D1 Pf \. Sx \&Bk Fl words
Line 1274  except that dashes are used in place of bullets.
Line 1451  except that dashes are used in place of bullets.
 Like  Like
 .Fl inset ,  .Fl inset ,
 except that item heads are not parsed for macro invocations.  except that item heads are not parsed for macro invocations.
 .\" but with additional formatting to the head.  Most often used in the
   .Em DIAGNOSTICS
   section with error constants in the item heads.
 .It Fl enum  .It Fl enum
 A numbered list.  A numbered list.
   No item heads can be specified.
 Formatted like  Formatted like
 .Fl bullet ,  .Fl bullet ,
 except that cardinal numbers are used in place of bullets,  except that cardinal numbers are used in place of bullets,
Line 1316  this head on the same output line.
Line 1496  this head on the same output line.
 Otherwise, the body starts on the output line following the head.  Otherwise, the body starts on the output line following the head.
 .El  .El
 .Pp  .Pp
   Lists may be nested within lists and displays.
   Nesting of
   .Fl column
   and
   .Fl enum
   lists may not be portable.
   .Pp
 See also  See also
 .Sx \&El  .Sx \&El
 and  and
Line 1392  and
Line 1579  and
 .Sx \&Ux .  .Sx \&Ux .
 .Ss \&Bt  .Ss \&Bt
 Prints  Prints
 .Dq is currently in beta test .  .Dq is currently in beta test.
 .Ss \&Bx  .Ss \&Bx
 Format the BSD version provided as an argument, or a default value if no  Format the BSD version provided as an argument, or a default value if no
 argument is provided.  argument is provided.
 .Pp  .Pp
 Examples:  Examples:
   .Dl \&.Bx 4.3 Tahoe
 .Dl \&.Bx 4.4  .Dl \&.Bx 4.4
 .Dl \&.Bx  .Dl \&.Bx
 .Pp  .Pp
Line 1414  and
Line 1602  and
 Kernel configuration declaration.  Kernel configuration declaration.
 This denotes strings accepted by  This denotes strings accepted by
 .Xr config 8 .  .Xr config 8 .
   It is most often used in section 4 manual pages.
 .Pp  .Pp
 Examples:  Examples:
 .Dl \&.Cd device le0 at scode?  .Dl \&.Cd device le0 at scode?
Line 1426  declarations.
Line 1615  declarations.
 This practise is discouraged.  This practise is discouraged.
 .Ss \&Cm  .Ss \&Cm
 Command modifiers.  Command modifiers.
 Useful when specifying configuration options or keys.  Typically used for fixed strings passed as arguments, unless
   .Sx \&Fl
   is more appropriate.
   Also useful when specifying configuration options or keys.
 .Pp  .Pp
 Examples:  Examples:
 .Dl \&.Cm ControlPath  .Dl ".Nm mt Fl f Ar device Cm rewind"
 .Dl \&.Cm ControlMaster  .Dl ".Nm ps Fl o Cm pid , Ns Cm command"
 .Pp  .Dl ".Nm dd Cm if= Ns Ar file1 Cm of= Ns Ar file2"
 See also  .Dl ".Cm IdentityFile Pa ~/.ssh/id_rsa"
 .Sx \&Fl .  .Dl ".Cm LogLevel Dv DEBUG"
 .Ss \&D1  .Ss \&D1
 One-line indented display.  One-line indented display.
 This is formatted by the default rules and is useful for simple indented  This is formatted by the default rules and is useful for simple indented
Line 1467  This is the mandatory first macro of any
Line 1659  This is the mandatory first macro of any
 manual.  manual.
 Its syntax is as follows:  Its syntax is as follows:
 .Pp  .Pp
 .D1 Pf \. Sx \&Dd Op Ar date  .D1 Pf \. Sx \&Dd Ar month day , year
 .Pp  .Pp
 The  The
 .Ar date  .Ar month
 may be either  is the full English month name, the
 .Ar $\&Mdocdate$ ,  .Ar day
 which signifies the current manual revision date dictated by  is an optionally zero-padded numeral, 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 ,  .Xr cvs 1 ,
 or instead a valid canonical date as specified by  the special string
 .Sx Dates .  .Dq $\&Mdocdate$
 If a date does not conform or is empty, the current date is used.  can be given as an argument.
   .It
   A few alternative date formats are accepted as well
   and converted to the standard form.
   .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  .Pp
 Examples:  Examples:
 .Dl \&.Dd $\&Mdocdate$  .Dl \&.Dd $\&Mdocdate$
Line 1672  See also
Line 1883  See also
 and  and
 .Sx \&Os .  .Sx \&Os .
 .Ss \&Dv  .Ss \&Dv
 Defined variables such as preprocessor constants.  Defined variables such as preprocessor constants, constant symbols,
   enumeration values, and so on.
 .Pp  .Pp
 Examples:  Examples:
   .Dl \&.Dv NULL
 .Dl \&.Dv BUFSIZ  .Dl \&.Dv BUFSIZ
 .Dl \&.Dv STDOUT_FILENO  .Dl \&.Dv STDOUT_FILENO
 .Pp  .Pp
 See also  See also
 .Sx \&Er .  .Sx \&Er
   and
   .Sx \&Ev
   for special-purpose constants and
   .Sx \&Va
   for variable symbols.
 .Ss \&Dx  .Ss \&Dx
 Format the DragonFly BSD version provided as an argument, or a default  Format the DragonFly BSD version provided as an argument, or a default
 value if no argument is provided.  value if no argument is provided.
Line 1727  See also
Line 1945  See also
 and  and
 .Sx \&It .  .Sx \&It .
 .Ss \&Em  .Ss \&Em
 Denotes text that should be emphasised.  Denotes text that should be
   .Em emphasised .
 Note that this is a presentation term and should not be used for  Note that this is a presentation term and should not be used for
 stylistically decorating technical terms.  stylistically decorating technical terms.
   Depending on the output device, this is usually represented
   using an italic font or underlined characters.
 .Pp  .Pp
 Examples:  Examples:
 .Dl \&.Em Warnings!  .Dl \&.Em Warnings!
Line 1737  Examples:
Line 1958  Examples:
 .Pp  .Pp
 See also  See also
 .Sx \&Bf ,  .Sx \&Bf ,
 .Sx \&Sy ,  .Sx \&Li ,
   .Sx \&No ,
 and  and
 .Sx \&Li .  .Sx \&Sy .
 .Ss \&En  .Ss \&En
 This macro is obsolete and not implemented in  This macro is obsolete and not implemented in
 .Xr mandoc 1 .  .Xr mandoc 1 .
Line 1755  argument is used as the enclosure head, for example, s
Line 1977  argument is used as the enclosure head, for example, s
 will emulate  will emulate
 .Sx \&Do .  .Sx \&Do .
 .Ss \&Er  .Ss \&Er
 Display error constants.  Error constants for definitions of the
   .Va errno
   libc global variable.
   This is most often used in section 2 and 3 manual pages.
 .Pp  .Pp
 Examples:  Examples:
 .Dl \&.Er EPERM  .Dl \&.Er EPERM
 .Dl \&.Er ENOENT  .Dl \&.Er ENOENT
 .Pp  .Pp
 See also  See also
 .Sx \&Dv .  .Sx \&Dv
   for general constants.
 .Ss \&Es  .Ss \&Es
 This macro is obsolete and not implemented.  This macro is obsolete and not implemented.
 .Ss \&Ev  .Ss \&Ev
Line 1772  Environmental variables such as those specified in
Line 1998  Environmental variables such as those specified in
 Examples:  Examples:
 .Dl \&.Ev DISPLAY  .Dl \&.Ev DISPLAY
 .Dl \&.Ev PATH  .Dl \&.Ev PATH
   .Pp
   See also
   .Sx \&Dv
   for general constants.
 .Ss \&Ex  .Ss \&Ex
 Insert a standard sentence regarding exit values.  Insert a standard sentence regarding command exit values of 0 on success
   and >0 on failure.
   This is most often used in section 1, 6, and 8 manual pages.
 Its syntax is as follows:  Its syntax is as follows:
 .Pp  .Pp
 .D1 Pf \. Sx \&Ex Fl std Op Ar utility  .D1 Pf \. Sx \&Ex Fl std Op Ar utility ...
 .Pp  .Pp
 When  If
 .Ar utility  .Ar utility
 is not specified, the document's name set by  is not specified, the document's name set by
 .Sx \&Nm  .Sx \&Nm
 is used.  is used.
   Multiple
   .Ar utility
   arguments are treated as separate utilities.
 .Pp  .Pp
 See also  See also
 .Sx \&Rv .  .Sx \&Rv .
Line 1831  See also
Line 2066  See also
 and  and
 .Sx \&In .  .Sx \&In .
 .Ss \&Fl  .Ss \&Fl
 Command-line flag.  Command-line flag or option.
 Used when listing arguments to command-line utilities.  Used when listing arguments to command-line utilities.
 Prints a fixed-width hyphen  Prints a fixed-width hyphen
 .Sq \-  .Sq \-
Line 1841  If the argument is a macro, a hyphen is prefixed to th
Line 2076  If the argument is a macro, a hyphen is prefixed to th
 output.  output.
 .Pp  .Pp
 Examples:  Examples:
 .Dl \&.Fl a b c  .Dl ".Fl R Op Fl H | L | P"
 .Dl \&.Fl \&Pf a b  .Dl ".Op Fl 1AaCcdFfgHhikLlmnopqRrSsTtux"
 .Dl \&.Fl  .Dl ".Fl type Cm d Fl name Pa CVS"
 .Dl \&.Op \&Fl o \&Ns \&Ar file  .Dl ".Fl Ar signal_number"
   .Dl ".Fl o Fl"
 .Pp  .Pp
 See also  See also
 .Sx \&Cm .  .Sx \&Cm .
Line 1853  A function name.
Line 2089  A function name.
 Its syntax is as follows:  Its syntax is as follows:
 .Bd -ragged -offset indent  .Bd -ragged -offset indent
 .Pf \. Ns Sx \&Fn  .Pf \. Ns Sx \&Fn
 .Op Cm functype  .Op Ar functype
 .Cm funcname  .Ar funcname
 .Op Oo Cm argtype Oc Cm argname  .Op Oo Ar argtype Oc Ar argname
 .Ed  .Ed
 .Pp  .Pp
 Function arguments are surrounded in parenthesis and  Function arguments are surrounded in parenthesis and
 are delimited by commas.  are delimited by commas.
 If no arguments are specified, blank parenthesis are output.  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  .Pp
 Examples:  Examples:
 .Dl \&.Fn "int funcname" "int arg0" "int arg1"  .Dl \&.Fn \*qint funcname\*q \*qint arg0\*q \*qint arg1\*q
 .Dl \&.Fn funcname "int arg0"  .Dl \&.Fn funcname \*qint arg0\*q
 .Dl \&.Fn funcname arg0  .Dl \&.Fn funcname arg0
   .Pp
 .Bd -literal -offset indent -compact  .Bd -literal -offset indent -compact
 \&.Ft functype  \&.Ft functype
 \&.Fn funcname  \&.Fn funcname
Line 1875  When referring to a function documented in another man
Line 2116  When referring to a function documented in another man
 .Sx \&Xr  .Sx \&Xr
 instead.  instead.
 See also  See also
 .Sx MANUAL STRUCTURE  .Sx MANUAL STRUCTURE ,
   .Sx \&Fo ,
 and  and
 .Sx \&Ft .  .Sx \&Ft .
 .Ss \&Fo  .Ss \&Fo
Line 1884  This is a multi-line version of
Line 2126  This is a multi-line version of
 .Sx \&Fn .  .Sx \&Fn .
 Its syntax is as follows:  Its syntax is as follows:
 .Pp  .Pp
 .D1 Pf \. Sx \&Fo Cm funcname  .D1 Pf \. Sx \&Fo Ar funcname
 .Pp  .Pp
 Invocations usually occur in the following context:  Invocations usually occur in the following context:
 .Bd -ragged -offset indent  .Bd -ragged -offset indent
 .Pf \. Sx \&Ft Cm functype  .Pf \. Sx \&Ft Ar functype
 .br  .br
 .Pf \. Sx \&Fo Cm funcname  .Pf \. Sx \&Fo Ar funcname
 .br  .br
 .Pf \. Sx \&Fa Oo Cm argtype Oc Cm argname  .Pf \. Sx \&Fa Oo Ar argtype Oc Ar argname
 .br  .br
 \.\.\.  \&.\.\.
 .br  .br
 .Pf \. Sx \&Fc  .Pf \. Sx \&Fc
 .Ed  .Ed
Line 1902  Invocations usually occur in the following context:
Line 2144  Invocations usually occur in the following context:
 A  A
 .Sx \&Fo  .Sx \&Fo
 scope is closed by  scope is closed by
   .Sx \&Fc .
 .Pp  .Pp
 See also  See also
 .Sx MANUAL STRUCTURE ,  .Sx MANUAL STRUCTURE ,
Line 1909  See also
Line 2152  See also
 .Sx \&Fc ,  .Sx \&Fc ,
 and  and
 .Sx \&Ft .  .Sx \&Ft .
   .Ss \&Fr
   This macro is obsolete and not implemented in
   .Xr mandoc 1 .
   .Pp
   It was used to show function return values.
   The syntax was:
   .Pp
   .Dl Pf . Sx \&Fr Ar value
 .Ss \&Ft  .Ss \&Ft
 A function type.  A function type.
 Its syntax is as follows:  Its syntax is as follows:
 .Pp  .Pp
 .D1 Pf \. Sx \&Ft Cm functype  .D1 Pf \. Sx \&Ft Ar functype
 .Pp  .Pp
   In the
   .Em SYNOPSIS
   section, a new output line is started after this macro.
   .Pp
 Examples:  Examples:
 .Dl \&.Ft int  .Dl \&.Ft int
 .Bd -literal -offset indent -compact  .Bd -literal -offset indent -compact
Line 1947  See also
Line 2202  See also
 and  and
 .Sx \&Ux .  .Sx \&Ux .
 .Ss \&Hf  .Ss \&Hf
 This macro is obsolete and not implemented.  This macro is not implemented in
   .Xr mandoc 1 .
   .Pp
   It was used to include the contents of a (header) file literally.
   The syntax was:
   .Pp
   .Dl Pf . Sx \&Hf Ar filename
 .Ss \&Ic  .Ss \&Ic
 Designate an internal or interactive command.  Designate an internal or interactive command.
 This is similar to  This is similar to
Line 1955  This is similar to
Line 2216  This is similar to
 but used for instructions rather than values.  but used for instructions rather than values.
 .Pp  .Pp
 Examples:  Examples:
   .Dl \&.Ic :wq
 .Dl \&.Ic hash  .Dl \&.Ic hash
 .Dl \&.Ic alias  .Dl \&.Ic alias
 .Pp  .Pp
Line 1969  macro is used when referring to specific instructions.
Line 2231  macro is used when referring to specific instructions.
 An  An
 .Dq include  .Dq include
 file.  file.
 In the  When invoked as the first macro on an input line in the
 .Em SYNOPSIS  .Em SYNOPSIS
 section (only if invoked as the line macro), the first argument is  section, the argument is displayed in angle brackets
 preceded by  and preceded by
 .Dq #include ,  .Dq #include ,
 the arguments is enclosed in angle brackets.  and a blank line is inserted in front if there is a preceding
   function declaration.
   This is most often used in section 2, 3, and 9 manual pages.
 .Pp  .Pp
 Examples:  Examples:
 .Dl \&.In sys/types  .Dl \&.In sys/types.h
 .Pp  .Pp
 See also  See also
 .Sx MANUAL STRUCTURE .  .Sx MANUAL STRUCTURE .
Line 1994  and
Line 2258  and
 .Fl diag  .Fl diag
 have the following syntax:  have the following syntax:
 .Pp  .Pp
 .D1 Pf \. Sx \&It Cm args  .D1 Pf \. Sx \&It Ar args
 .Pp  .Pp
 Lists of type  Lists of type
 .Fl bullet ,  .Fl bullet ,
Line 2031  The
Line 2295  The
 list is the most complicated.  list is the most complicated.
 Its syntax is as follows:  Its syntax is as follows:
 .Pp  .Pp
 .D1 Pf \. Sx \&It Op Cm args  .D1 Pf \. Sx \&It Ar cell Op <TAB> Ar cell ...
   .D1 Pf \. Sx \&It Ar cell Op Sx \&Ta Ar cell ...
 .Pp  .Pp
 The  The arguments consist of one or more lines of text and macros
 .Cm args  representing a complete table line.
 are phrases, a mix of macros and text corresponding to a line column,  Cells within the line are delimited by tabs or by the special
 delimited by tabs or the special  .Sx \&Ta
 .Sq \&Ta  block macro.
 pseudo-macro.  The tab cell delimiter may only be used within the
 Lines subsequent the  
 .Sx \&It  .Sx \&It
 are interpreted within the scope of the last phrase.  line itself; on following lines, only the
 Calling the pseudo-macro  .Sx \&Ta
 .Sq \&Ta  macro can be used to delimit cells, and
 will open a new phrase scope (this must occur on a macro line to be  .Sx \&Ta
 interpreted as a macro).  is only recognized as a macro when called by other macros,
 Note that the tab phrase delimiter may only be used within the  not as the first macro on a line.
   .Pp
   Note that quoted strings may span tab-delimited cells on an
 .Sx \&It  .Sx \&It
 line itself.  line.
 Subsequent this, only the  For example,
 .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  .Pp
 .Dl .It \(dqcol1 ; <TAB> col2 ;\(dq \&;  .Dl .It \(dqcol1 ; <TAB> col2 ;\(dq \&;
 .Pp  .Pp
Line 2067  See also
Line 2327  See also
 Specify a library.  Specify a library.
 The syntax is as follows:  The syntax is as follows:
 .Pp  .Pp
 .D1 Pf \. Sx \&Lb Cm library  .D1 Pf \. Sx \&Lb Ar library
 .Pp  .Pp
 The  The
 .Cm library  .Ar library
 parameter may be a system library, such as  parameter may be a system library, such as
 .Cm libz  .Cm libz
 or  or
Line 2087  Examples:
Line 2347  Examples:
 .Dl \&.Lb libz  .Dl \&.Lb libz
 .Dl \&.Lb mdoc  .Dl \&.Lb mdoc
 .Ss \&Li  .Ss \&Li
 Denotes text that should be in a literal font mode.  Denotes text that should be in a
   .Li literal
   font mode.
 Note that this is a presentation term and should not be used for  Note that this is a presentation term and should not be used for
 stylistically decorating technical terms.  stylistically decorating technical terms.
 .Pp  .Pp
   On terminal output devices, this is often indistinguishable from
   normal text.
   .Pp
 See also  See also
 .Sx \&Bf ,  .Sx \&Bf ,
 .Sx \&Sy ,  .Sx \&Em ,
   .Sx \&No ,
 and  and
 .Sx \&Em .  .Sx \&Sy .
 .Ss \&Lk  .Ss \&Lk
 Format a hyperlink.  Format a hyperlink.
 Its syntax is as follows:  Its syntax is as follows:
 .Pp  .Pp
 .D1 Pf \. Sx \&Lk Cm uri Op Cm name  .D1 Pf \. Sx \&Lk Ar uri Op Ar name
 .Pp  .Pp
 Examples:  Examples:
 .Dl \&.Lk http://bsd.lv \*qThe BSD.lv Project\*q  .Dl \&.Lk http://bsd.lv \*qThe BSD.lv Project\*q
Line 2115  Synonym for
Line 2381  Synonym for
 Display a mathematical symbol.  Display a mathematical symbol.
 Its syntax is as follows:  Its syntax is as follows:
 .Pp  .Pp
 .D1 Pf \. Sx \&Ms Cm symbol  .D1 Pf \. Sx \&Ms Ar symbol
 .Pp  .Pp
 Examples:  Examples:
 .Dl \&.Ms sigma  .Dl \&.Ms sigma
Line 2126  Format a
Line 2392  Format a
 hyperlink.  hyperlink.
 Its syntax is as follows:  Its syntax is as follows:
 .Pp  .Pp
 .D1 Pf \. Sx \&Mt Cm address  .D1 Pf \. Sx \&Mt Ar address
 .Pp  .Pp
 Examples:  Examples:
 .Dl \&.Mt discuss@manpages.bsd.lv  .Dl \&.Mt discuss@manpages.bsd.lv
Line 2139  section subsequent the
Line 2405  section subsequent the
 macro.  macro.
 .Pp  .Pp
 Examples:  Examples:
 .Dl \&.Sx \&Nd mdoc language reference  .Dl Pf . Sx \&Nd mdoc language reference
 .Dl \&.Sx \&Nd format and display UNIX manuals  .Dl Pf . Sx \&Nd format and display UNIX manuals
 .Pp  .Pp
 The  The
 .Sx \&Nd  .Sx \&Nd
Line 2192  macro rather than
Line 2458  macro rather than
 .Sx \&Nm  .Sx \&Nm
 to mark up the name of the manual page.  to mark up the name of the manual page.
 .Ss \&No  .Ss \&No
 A  Normal text.
 .Dq noop  Closes the scope of any preceding in-line macro.
 macro used to terminate prior macro contexts.  When used after physical formatting macros like
   .Sx \&Em
   or
   .Sx \&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  .Pp
 Examples:  Examples:
 .Dl \&.Sx \&Fl ab \&No cd \&Fl ef  .Dl ".Em italic , Sy bold , No and roman"
   .Pp
   .Bd -literal -offset indent -compact
   \&.Sm off
   \&.Cm :C No / Ar pattern No / Ar replacement No /
   \&.Sm on
   .Ed
   .Pp
   See also
   .Sx \&Em ,
   .Sx \&Li ,
   and
   .Sx \&Sy .
 .Ss \&Ns  .Ss \&Ns
 Suppress a space.  Suppress a space between the output of the preceding macro
 Following invocation, text is interpreted as free-form text until a  and the following text or macro.
 macro is encountered.  Following invocation, input is interpreted as normal text
   just like after an
   .Sx \&No
   macro.
 .Pp  .Pp
   This has no effect when invoked at the start of a macro line.
   .Pp
 Examples:  Examples:
 .Dl \&.Fl o \&Ns \&Ar output  .Dl ".Ar name Ns = Ns Ar value"
   .Dl ".Cm :M Ns Ar pattern"
   .Dl ".Fl o Ns Ar output"
 .Pp  .Pp
 See also  See also
 .Sx \&No  .Sx \&No
Line 2244  Examples:
Line 2535  Examples:
 \&.Oc  \&.Oc
 .Ed  .Ed
 .Ss \&Op  .Ss \&Op
 Command-line option.  Optional part of a command line.
 Used when listing options to command-line utilities.  
 Prints the argument(s) in brackets.  Prints the argument(s) in brackets.
   This is most often used in the
   .Em SYNOPSIS
   section of section 1 and 8 manual pages.
 .Pp  .Pp
 Examples:  Examples:
 .Dl \&.Op \&Fl a \&Ar b  .Dl \&.Op \&Fl a \&Ar b
Line 2262  any
Line 2555  any
 file.  file.
 Its syntax is as follows:  Its syntax is as follows:
 .Pp  .Pp
 .D1 Pf \. Sx \&Os Op Cm system Op Cm version  .D1 Pf \. Sx \&Os Op Ar system Op Ar version
 .Pp  .Pp
 The optional  The optional
 .Cm system  .Ar system
 parameter specifies the relevant operating system or environment.  parameter specifies the relevant operating system or environment.
 Left unspecified, it defaults to the local operating system version.  Left unspecified, it defaults to the local operating system version.
 This is the suggested form.  This is the suggested form.
Line 2280  See also
Line 2573  See also
 and  and
 .Sx \&Dt .  .Sx \&Dt .
 .Ss \&Ot  .Ss \&Ot
 Unknown usage.  This macro is obsolete and not implemented in
   .Xr mandoc 1 .
 .Pp  .Pp
 .Em Remarks :  Historical
 this macro has been deprecated.  .Xr mdoc 7
   packages described it as
   .Dq "old function type (FORTRAN)" .
 .Ss \&Ox  .Ss \&Ox
 Format the  Format the
 .Ox  .Ox
Line 2304  See also
Line 2600  See also
 and  and
 .Sx \&Ux .  .Sx \&Ux .
 .Ss \&Pa  .Ss \&Pa
 A file-system path.  An absolute or relative file system path, or a file or directory name.
 If an argument is not provided, the string  If an argument is not provided, the character
 .Dq \(ti  .Sq \(ti
 is used as a default.  is used as a default.
 .Pp  .Pp
 Examples:  Examples:
Line 2319  See also
Line 2615  See also
 Close parenthesised context opened by  Close parenthesised context opened by
 .Sx \&Po .  .Sx \&Po .
 .Ss \&Pf  .Ss \&Pf
 Removes the space  Removes the space between its argument
 .Pq Dq prefix  .Pq Dq prefix
 between its arguments.  and the following macro.
 Its syntax is as follows:  Its syntax is as follows:
 .Pp  .Pp
 .D1 Pf \. \&Pf Cm prefix suffix  .D1 .Pf Ar prefix macro arguments ...
 .Pp  .Pp
 The  This is equivalent to:
 .Cm suffix  
 argument may be a macro.  
 .Pp  .Pp
   .D1 .No Ar prefix No \&Ns Ar macro arguments ...
   .Pp
 Examples:  Examples:
 .Dl \&.Pf \e. \&Sx \&Pf \&Cm prefix suffix  .Dl ".Pf $ Ar variable_name"
   .Dl ".Pf 0x Ar hex_digits"
   .Pp
   See also
   .Sx \&Ns
   and
   .Sx \&Sm .
 .Ss \&Po  .Ss \&Po
 Multi-line version of  Multi-line version of
 .Sx \&Pq .  .Sx \&Pq .
Line 2339  Multi-line version of
Line 2641  Multi-line version of
 Break a paragraph.  Break a paragraph.
 This will assert vertical space between prior and subsequent macros  This will assert vertical space between prior and subsequent macros
 and/or text.  and/or text.
   .Pp
   Paragraph breaks are not needed before or after
   .Sx \&Sh
   or
   .Sx \&Ss
   macros or before displays
   .Pq Sx \&Bd
   or lists
   .Pq Sx \&Bl
   unless the
   .Fl compact
   flag is given.
 .Ss \&Pq  .Ss \&Pq
 Parenthesised enclosure.  Parenthesised enclosure.
 .Pp  .Pp
Line 2358  Multi-line version of
Line 2672  Multi-line version of
 .Sx \&Qq .  .Sx \&Qq .
 .Ss \&Qq  .Ss \&Qq
 Encloses its arguments in  Encloses its arguments in
 .Dq typewriter  .Qq typewriter
 double-quotes.  double-quotes.
 Consider using  Consider using
 .Sx \&Dq .  .Sx \&Dq .
Line 2414  block is used within a SEE ALSO section, a vertical sp
Line 2728  block is used within a SEE ALSO section, a vertical sp
 before the rendered output, else the block continues on the current  before the rendered output, else the block continues on the current
 line.  line.
 .Ss \&Rv  .Ss \&Rv
 Inserts text regarding a function call's return value.  Insert a standard sentence regarding a function call's return value of 0
 This macro must consist of the  on success and \-1 on error, with the
 .Fl std  .Va errno
 argument followed by an optional  libc global variable set on error.
 .Ar function .  Its syntax is as follows:
   .Pp
   .D1 Pf \. Sx \&Rv Fl std Op Ar function ...
   .Pp
 If  If
 .Ar function  .Ar function
 is not provided, the document's name as stipulated by the first  is not specified, the document's name set by
 .Sx \&Nm  .Sx \&Nm
 is provided.  is used.
   Multiple
   .Ar function
   arguments are treated as separate functions.
 .Pp  .Pp
 See also  See also
 .Sx \&Ex .  .Sx \&Ex .
Line 2439  custom sections be used.
Line 2759  custom sections be used.
 .Pp  .Pp
 Section names should be unique so that they may be keyed by  Section names should be unique so that they may be keyed by
 .Sx \&Sx .  .Sx \&Sx .
   Although this macro is parsed, it should not consist of child node or it
   may not be linked with
   .Sx \&Sx .
 .Pp  .Pp
 See also  See also
 .Sx \&Pp ,  .Sx \&Pp ,
Line 2456  By default, spacing is
Line 2779  By default, spacing is
 When switched  When switched
 .Cm off ,  .Cm off ,
 no white space is inserted between macro arguments and between the  no white space is inserted between macro arguments and between the
 output generated from adjacent macros, but free-form text lines  output generated from adjacent macros, but text lines
 still get normal spacing between words and sentences.  still get normal spacing between words and sentences.
 .Ss \&So  .Ss \&So
 Multi-line version of  Multi-line version of
 .Sx \&Sq .  .Sx \&Sq .
 .Ss \&Sq  .Ss \&Sq
 Encloses its arguments in  Encloses its arguments in
 .Dq typewriter  .Sq typewriter
 single-quotes.  single-quotes.
 .Pp  .Pp
 See also  See also
Line 2472  See also
Line 2795  See also
 and  and
 .Sx \&So .  .Sx \&So .
 .Ss \&Ss  .Ss \&Ss
 Begin a new sub-section.  Begin a new subsection.
 Unlike with  Unlike with
 .Sx \&Sh ,  .Sx \&Sh ,
 there's no convention for sub-sections.  there is no convention for the naming of subsections.
 Conventional sections, as described in  Except
 .Sx MANUAL STRUCTURE ,  .Em DESCRIPTION ,
 rarely have sub-sections.  the conventional sections described in
   .Sx MANUAL STRUCTURE
   rarely have subsections.
 .Pp  .Pp
 Sub-section names should be unique so that they may be keyed by  Sub-section names should be unique so that they may be keyed by
 .Sx \&Sx .  .Sx \&Sx .
   Although this macro is parsed, it should not consist of child node or it
   may not be linked with
   .Sx \&Sx .
 .Pp  .Pp
 See also  See also
 .Sx \&Pp ,  .Sx \&Pp ,
Line 2563  The following standards are recognised:
Line 2891  The following standards are recognised:
 .St -xpg4  .St -xpg4
 .It \-xpg4.2  .It \-xpg4.2
 .St -xpg4.2  .St -xpg4.2
   .It \-xpg4.3
 .St -xpg4.3  .St -xpg4.3
 .It \-xbd5  .It \-xbd5
 .St -xbd5  .St -xbd5
Line 2586  The following standards are recognised:
Line 2915  The following standards are recognised:
 .St -svid4  .St -svid4
 .El  .El
 .Ss \&Sx  .Ss \&Sx
 Reference a section or sub-section.  Reference a section or subsection in the same manual page.
 The referenced section or sub-section name must be identical to the  The referenced section or subsection name must be identical to the
 enclosed argument, including whitespace.  enclosed argument, including whitespace.
 .Pp  .Pp
 Examples:  Examples:
Line 2605  stylistically decorating technical terms.
Line 2934  stylistically decorating technical terms.
 .Pp  .Pp
 See also  See also
 .Sx \&Bf ,  .Sx \&Bf ,
   .Sx \&Em ,
 .Sx \&Li ,  .Sx \&Li ,
 and  and
 .Sx \&Em .  .Sx \&No .
   .Ss \&Ta
   Table cell separator in
   .Sx \&Bl Fl column
   lists; can only be used below
   .Sx \&It .
 .Ss \&Tn  .Ss \&Tn
 Format a tradename.  Format a tradename.
 .Pp  .Pp
   Since this macro is often implemented to use a small caps font,
   it has historically been used for acronyms (like ASCII) as well.
   Such usage is not recommended because it would use the same macro
   sometimes for semantical annotation, sometimes for physical formatting.
   .Pp
 Examples:  Examples:
 .Dl \&.Tn IBM  .Dl \&.Tn IBM
 .Ss \&Ud  .Ss \&Ud
 Prints out  Prints out
 .Dq currently under development .  .Dq currently under development.
 .Ss \&Ux  .Ss \&Ux
 Format the UNIX name.  Format the UNIX name.
 Accepts no argument.  Accepts no argument.
Line 2645  This is also used for indicating global variables in t
Line 2985  This is also used for indicating global variables in t
 section, in which case a variable name is also specified.  section, in which case a variable name is also specified.
 Note that it accepts  Note that it accepts
 .Sx Block partial-implicit  .Sx Block partial-implicit
 syntax when invoked as the first macro in the  syntax when invoked as the first macro on an input line in the
 .Em SYNOPSIS  .Em SYNOPSIS
 section, else it accepts ordinary  section, else it accepts ordinary
 .Sx In-line  .Sx In-line
 syntax.  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  .Pp
 Note that this should not be confused with  Note that this should not be confused with
 .Sx \&Ft ,  .Sx \&Ft ,
Line 2679  Link to another manual
Line 3022  Link to another manual
 .Pq Qq cross-reference .  .Pq Qq cross-reference .
 Its syntax is as follows:  Its syntax is as follows:
 .Pp  .Pp
 .D1 Pf \. Sx \&Xr Cm name section  .D1 Pf \. Sx \&Xr Ar name section
 .Pp  .Pp
 The  The
 .Cm name  .Ar name
 and  and
 .Cm section  .Ar section
 are the name and section of the linked manual.  are the name and section of the linked manual.
 If  If
 .Cm section  .Ar section
 is followed by non-punctuation, an  is followed by non-punctuation, an
 .Sx \&Ns  .Sx \&Ns
 is inserted into the token stream.  is inserted into the token stream.
Line 2712  This macro should not be used; it is implemented for c
Line 3055  This macro should not be used; it is implemented for c
 historical manuals.  historical manuals.
 Its syntax is as follows:  Its syntax is as follows:
 .Pp  .Pp
 .D1 Pf \. Sx \&sp Op Cm height  .D1 Pf \. Sx \&sp Op Ar height
 .Pp  .Pp
 The  The
 .Cm height  .Ar height
 argument must be formatted as described in  argument must be formatted as described in
 .Sx Scaling Widths .  .Sx Scaling Widths .
 If unspecified,  If unspecified,
Line 2757  Newer groff and mandoc print
Line 3100  Newer groff and mandoc print
 .Qq AT&T UNIX  .Qq AT&T UNIX
 and the arguments.  and the arguments.
 .It  .It
 .Sx \&Bd Fl column  .Sx \&Bl Fl column
 does not recognize trailing punctuation characters when they immediately  does not recognize trailing punctuation characters when they immediately
 precede tabulator characters, but treats them as normal text and  precede tabulator characters, but treats them as normal text and
 outputs a space before them.  outputs a space before them.
Line 2767  does not start a new line.
Line 3110  does not start a new line.
 \*[hist]  \*[hist]
 .It  .It
 .Sx \&Dd  .Sx \&Dd
 without an argument prints  with non-standard arguments behaves very strangely.
 .Dq Epoch .  When there are three arguments, they are printed verbatim.
 In mandoc, it resolves to the current date.  Any other number of arguments is replaced by the current date,
   but without any arguments the string
   .Dq Epoch
   is printed.
 .It  .It
 .Sx \&Fl  .Sx \&Fl
 does not print a dash for an empty argument.  does not print a dash for an empty argument.
Line 2814  In new groff and mandoc, any list may be nested by def
Line 3160  In new groff and mandoc, any list may be nested by def
 lists will restart the sequence only for the sub-list.  lists will restart the sequence only for the sub-list.
 .It  .It
 .Sx \&Li  .Sx \&Li
 followed by a reserved character is incorrectly used in some manuals  followed by a delimiter is incorrectly used in some manuals
 instead of properly quoting that character, which sometimes works with  instead of properly quoting that character, which sometimes works with
 historic groff.  historic groff.
 .It  .It
Line 2903  This is not supported by mandoc.
Line 3249  This is not supported by mandoc.
 .Sh SEE ALSO  .Sh SEE ALSO
 .Xr man 1 ,  .Xr man 1 ,
 .Xr mandoc 1 ,  .Xr mandoc 1 ,
 .Xr mandoc_char 7  .Xr eqn 7 ,
   .Xr man 7 ,
   .Xr mandoc_char 7 ,
   .Xr roff 7 ,
   .Xr tbl 7
 .Sh HISTORY  .Sh HISTORY
 The  The
 .Nm  .Nm

Legend:
Removed from v.1.173  
changed lines
  Added in v.1.201

CVSweb