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

Diff for /mandoc/man.7 between version 1.115 and 1.141

version 1.115, 2012/05/27 17:39:28 version 1.141, 2018/12/16 02:21:00
Line 1 
Line 1 
 .\"     $Id$  .\"     $Id$
 .\"  .\"
 .\" Copyright (c) 2009, 2010, 2011, 2012 Kristaps Dzonsons <kristaps@bsd.lv>  .\" Copyright (c) 2009, 2010, 2011, 2012 Kristaps Dzonsons <kristaps@bsd.lv>
 .\" Copyright (c) 2011 Ingo Schwarze <schwarze@openbsd.org>  .\" Copyright (c) 2011-2015, 2017, 2018 Ingo Schwarze <schwarze@openbsd.org>
   .\" Copyright (c) 2017 Anthony Bentley <bentley@openbsd.org>
   .\" Copyright (c) 2010 Joerg Sonnenberger <joerg@netbsd.org>
 .\"  .\"
 .\" Permission to use, copy, modify, and distribute this software for any  .\" Permission to use, copy, modify, and distribute this software for any
 .\" purpose with or without fee is hereby granted, provided that the above  .\" purpose with or without fee is hereby granted, provided that the above
Line 22 
Line 24 
 .Nm man  .Nm man
 .Nd legacy formatting language for manual pages  .Nd legacy formatting language for manual pages
 .Sh DESCRIPTION  .Sh DESCRIPTION
 Traditionally, the  The
 .Nm man  .Nm man
 language has been used to write  language was the standard formatting language for
 .Ux  .At
 manuals for the  manual pages from 1979 to 1989.
 .Xr man 1  Do not use it to write new manual pages: it is a purely presentational
 utility.  language and lacks support for semantic markup.
 It supports limited control of presentational details like fonts,  
 indentation and spacing.  
 This reference document describes the structure of manual pages  
 and the syntax and usage of the man language.  
 .Pp  
 .Bf -emphasis  
 Do not use  
 .Nm  
 to write your manuals:  
 .Ef  
 It lacks support for semantic markup.  
 Use the  Use the
 .Xr mdoc 7  .Xr mdoc 7
 language, instead.  language, instead.
Line 52  are called
Line 43  are called
 .Dq macro lines .  .Dq macro lines .
 The first word is the macro name.  The first word is the macro name.
 It usually consists of two capital letters.  It usually consists of two capital letters.
 For a list of available macros, see  For a list of portable macros, see
 .Sx MACRO OVERVIEW .  .Sx MACRO OVERVIEW .
 The words following the macro name are arguments to the macro.  The words following the macro name are arguments to the macro.
 .Pp  .Pp
Line 77  sections in the
Line 68  sections in the
 .Xr roff 7  .Xr roff 7
 manual for details, in particular regarding  manual for details, in particular regarding
 comments, escape sequences, whitespace, and quoting.  comments, escape sequences, whitespace, and quoting.
 .Sh MANUAL STRUCTURE  .Pp
 Each  Each
 .Nm  .Nm
 document must contain the  document starts with the
 .Sx \&TH  .Sx \&TH
 macro describing the document's section and title.  macro specifying the document's name and section, followed by the
 It may occur anywhere in the document, although conventionally it  .Sx NAME
 appears as the first macro.  section formatted as follows:
 .Pp  
 Beyond  
 .Sx \&TH ,  
 at least one macro or text line must appear in the document.  
 .Pp  
 The following is a well-formed skeleton  
 .Nm  
 file for a utility  
 .Qq progname :  
 .Bd -literal -offset indent  .Bd -literal -offset indent
 \&.TH PROGNAME 1 2009-10-10  \&.TH PROGNAME 1 1979-01-10
 \&.SH NAME  \&.SH NAME
 \efBprogname\efR \e(en a description goes here  \efBprogname\efR \e(en one line about what it does
 \&.\e\(dq .SH LIBRARY  
 \&.\e\(dq For sections 2 & 3 only.  
 \&.\e\(dq Not used in OpenBSD.  
 \&.SH SYNOPSIS  
 \efBprogname\efR [\efB\e-options\efR] arguments...  
 \&.SH DESCRIPTION  
 The \efBfoo\efR utility processes files...  
 \&.\e\(dq .SH IMPLEMENTATION NOTES  
 \&.\e\(dq Not used in OpenBSD.  
 \&.\e\(dq .SH RETURN VALUES  
 \&.\e\(dq For sections 2, 3, & 9 only.  
 \&.\e\(dq .SH ENVIRONMENT  
 \&.\e\(dq For sections 1, 6, 7, & 8 only.  
 \&.\e\(dq .SH FILES  
 \&.\e\(dq .SH EXIT STATUS  
 \&.\e\(dq For sections 1, 6, & 8 only.  
 \&.\e\(dq .SH EXAMPLES  
 \&.\e\(dq .SH DIAGNOSTICS  
 \&.\e\(dq For sections 1, 4, 6, 7, & 8 only.  
 \&.\e\(dq .SH ERRORS  
 \&.\e\(dq For sections 2, 3, & 9 only.  
 \&.\e\(dq .SH SEE ALSO  
 \&.\e\(dq .BR foo ( 1 )  
 \&.\e\(dq .SH STANDARDS  
 \&.\e\(dq .SH HISTORY  
 \&.\e\(dq .SH AUTHORS  
 \&.\e\(dq .SH CAVEATS  
 \&.\e\(dq .SH BUGS  
 \&.\e\(dq .SH SECURITY CONSIDERATIONS  
 \&.\e\(dq Not used in OpenBSD.  
 .Ed  .Ed
 .Pp  
 The sections in a  
 .Nm  
 document are conventionally ordered as they appear above.  
 Sections should be composed as follows:  
 .Bl -ohang -offset indent  
 .It Em NAME  
 The name(s) and a short description of the documented material.  
 The syntax for this is generally as follows:  
 .Pp  
 .D1 \efBname\efR \e(en description  
 .It Em LIBRARY  
 The name of the library containing the documented material, which is  
 assumed to be a function in a section 2 or 3 manual.  
 For functions in the C library, this may be as follows:  
 .Pp  
 .D1 Standard C Library (libc, -lc)  
 .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:  
 .Pp  
 .D1 \efBname\efR [-\efBab\efR] [-\efBc\efR\efIarg\efR] \efBpath\efR...  
 .Pp  
 For the second, function calls (sections 2, 3, 9):  
 .Pp  
 .D1 \&.B char *name(char *\efIarg\efR);  
 .Pp  
 And for the third, configurations (section 4):  
 .Pp  
 .D1 \&.B name* at cardbus ? function ?  
 .Pp  
 Manuals not in these sections generally don't need a  
 .Em SYNOPSIS .  
 .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).  
 .It Em IMPLEMENTATION NOTES  
 Implementation-specific notes should be kept here.  
 This is useful when implementing standard functions that may have side  
 effects or notable algorithmic implications.  
 .It Em RETURN VALUES  
 This section documents the return values of functions in sections 2, 3, and 9.  
 .It Em ENVIRONMENT  
 Documents any usages of environment variables, e.g.,  
 .Xr environ 7 .  
 .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.).  
 .It Em EXIT STATUS  
 This section documents the command exit status for  
 section 1, 6, and 8 utilities.  
 Historically, this information was described in  
 .Em DIAGNOSTICS ,  
 a practise that is now discouraged.  
 .It Em EXAMPLES  
 Example usages.  
 This often contains snippets of well-formed,  
 well-tested invocations.  
 Make sure that examples work properly!  
 .It Em DIAGNOSTICS  
 Documents error 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.  
 .It Em ERRORS  
 Documents error handling in sections 2, 3, and 9.  
 .It Em SEE ALSO  
 References other manuals with related topics.  
 This section should exist for most manuals.  
 .Pp  
 .D1 \&.BR bar \&( 1 \&),  
 .Pp  
 Cross-references should conventionally be ordered  
 first by section, then alphabetically.  
 .It Em STANDARDS  
 References any standards implemented or used, such as  
 .Pp  
 .D1 IEEE Std 1003.2 (\e(lqPOSIX.2\e(rq)  
 .Pp  
 If not adhering to any standards, the  
 .Em HISTORY  
 section should be used.  
 .It Em HISTORY  
 A brief history of the subject, including where support first appeared.  
 .It Em AUTHORS  
 Credits to the person or persons who wrote the code and/or documentation.  
 Authors should generally be noted by both name and email address.  
 .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 OVERVIEW  .Sh MACRO OVERVIEW
 This overview is sorted such that macros of similar purpose are listed  This overview is sorted such that macros of similar purpose are listed
 together, to help find the best macro for any given purpose.  together.
 Deprecated macros are not included in the overview, but can be found  Deprecated and non-portable macros are not included in the overview,
 in the alphabetical reference below.  but can be found in the alphabetical reference below.
 .Ss Page header and footer meta-data  .Ss Page header and footer meta-data
 .Bl -column "PP, LP, P" description  .Bl -column "RS, RE" description
 .It Sx TH Ta set the title: Ar title section date Op Ar source Op Ar volume  .It Sx TH Ta set the title: Ar name section date Op Ar source Op Ar volume
 .It Sx AT Ta display AT&T UNIX version in the page footer (<= 1 argument)  .It Sx AT Ta display AT&T UNIX version in the page footer (<= 1 argument)
 .It Sx UC Ta display BSD version in the page footer (<= 1 argument)  .It Sx UC Ta display BSD version in the page footer (<= 1 argument)
 .El  .El
 .Ss Sections and paragraphs  .Ss Sections and paragraphs
 .Bl -column "PP, LP, P" description  .Bl -column "RS, RE" description
 .It Sx SH Ta section header (one line)  .It Sx SH Ta section header (one line)
 .It Sx SS Ta subsection header (one line)  .It Sx SS Ta subsection header (one line)
 .It Sx PP , LP , P Ta start an undecorated paragraph (no arguments)  .It Sx PP Ta start an undecorated paragraph (no arguments)
 .It Sx RS , RE Ta reset the left margin: Op Ar width  .It Sx RS , RE Ta reset the left margin: Op Ar width
 .It Sx IP Ta indented paragraph: Op Ar head Op Ar width  .It Sx IP Ta indented paragraph: Op Ar head Op Ar width
 .It Sx TP Ta tagged paragraph: Op Ar width  .It Sx TP Ta tagged paragraph: Op Ar width
 .It Sx HP Ta hanged paragraph: Op Ar width  .It Sx PD Ta set vertical paragraph distance: Op Ar height
 .It Sx \&br Ta force output line break in text mode (no arguments)  
 .It Sx \&sp Ta force vertical space: Op Ar height  
 .It Sx fi , nf Ta fill mode and no-fill mode (no arguments)  .It Sx fi , nf Ta fill mode and no-fill mode (no arguments)
 .It Sx in Ta additional indent: Op Ar width  .It Sx in Ta additional indent: Op Ar width
 .El  .El
 .Ss Physical markup  .Ss Physical markup
 .Bl -column "PP, LP, P" description  .Bl -column "RS, RE" description
 .It Sx B Ta boldface font  .It Sx B Ta boldface font
 .It Sx I Ta italic font  .It Sx I Ta italic font
 .It Sx R Ta roman (default) font  
 .It Sx SB Ta small boldface font  .It Sx SB Ta small boldface font
 .It Sx SM Ta small roman font  .It Sx SM Ta small roman font
 .It Sx BI Ta alternate between boldface and italic fonts  .It Sx BI Ta alternate between boldface and italic fonts
Line 279  For the scoping of individual macros, see
Line 124  For the scoping of individual macros, see
 .Sx MACRO SYNTAX .  .Sx MACRO SYNTAX .
 .Ss \&AT  .Ss \&AT
 Sets the volume for the footer for compatibility with man pages from  Sets the volume for the footer for compatibility with man pages from
 .Tn AT&T UNIX  .At
 releases.  releases.
 The optional arguments specify which release it is from.  The optional arguments specify which release it is from.
 .Ss \&B  .Ss \&B
 Text is rendered in bold face.  Text is rendered in bold face.
 .Pp  
 See also  
 .Sx \&I  
 and  
 .Sx \&R .  
 .Ss \&BI  .Ss \&BI
 Text is rendered alternately in bold face and italic.  Text is rendered alternately in bold face and italic.
 Thus,  Thus,
Line 304  and
Line 144  and
 render in italics.  render in italics.
 Whitespace between arguments is omitted in output.  Whitespace between arguments is omitted in output.
 .Pp  .Pp
 Examples:  Example:
 .Pp  .Pp
 .Dl \&.BI bold italic bold italic  .Dl \&.BI bold italic bold italic
 .Pp  
 The output of this example will be emboldened  
 .Dq bold  
 and italicised  
 .Dq italic ,  
 with spaces stripped between arguments.  
 .Pp  
 See also  
 .Sx \&IB ,  
 .Sx \&BR ,  
 .Sx \&RB ,  
 .Sx \&RI ,  
 and  
 .Sx \&IR .  
 .Ss \&BR  .Ss \&BR
 Text is rendered alternately in bold face and roman (the default font).  Text is rendered alternately in bold face and roman (the default font).
 Whitespace between arguments is omitted in output.  Whitespace between arguments is omitted in output.
 .Pp  
 See  
 .Sx \&BI  
 for an equivalent example.  
 .Pp  
 See also  See also
 .Sx \&BI ,  .Sx \&BI .
 .Sx \&IB ,  
 .Sx \&RB ,  
 .Sx \&RI ,  
 and  
 .Sx \&IR .  
 .Ss \&DT  .Ss \&DT
 Has no effect.  Restore the default tabulator positions.
 Included for compatibility.  They are at intervals of 0.5 inches.
   This has no effect unless the tabulator positions were changed with the
   .Xr roff 7
   .Ic \&ta
   request.
   .Ss \&EE
   This is a non-standard GNU extension.
   In
   .Xr mandoc 1 ,
   it does the same as
   .Sx \&fi .
   .Ss \&EX
   This is a non-standard GNU extension.
   In
   .Xr mandoc 1 ,
   it does the same as
   .Sx \&nf .
 .Ss \&HP  .Ss \&HP
 Begin a paragraph whose initial output line is left-justified, but  Begin a paragraph whose initial output line is left-justified, but
 subsequent output lines are indented, with the following syntax:  subsequent output lines are indented, with the following syntax:
 .Bd -filled -offset indent  .Bd -filled -offset indent
 .Pf \. Sx \&HP  .Pf \. Sx \&HP
 .Op Cm width  .Op Ar width
 .Ed  .Ed
 .Pp  .Pp
 The  The
 .Cm width  .Ar width
 argument must conform to  argument is a
 .Sx Scaling Widths .  .Xr roff 7
 If specified, it's saved for later paragraph left-margins; if unspecified, the  scaling width.
 saved or default width is used.  If specified, it's saved for later paragraph left margins;
   if unspecified, the saved or default width is used.
 .Pp  .Pp
 See also  This macro is portable, but deprecated
 .Sx \&IP ,  because it has no good representation in HTML output,
 .Sx \&LP ,  usually ending up indistinguishable from
 .Sx \&P ,  .Sx \&PP .
 .Sx \&PP ,  
 and  
 .Sx \&TP .  
 .Ss \&I  .Ss \&I
 Text is rendered in italics.  Text is rendered in italics.
 .Pp  
 See also  
 .Sx \&B  
 and  
 .Sx \&R .  
 .Ss \&IB  .Ss \&IB
 Text is rendered alternately in italics and bold face.  Text is rendered alternately in italics and bold face.
 Whitespace between arguments is omitted in output.  Whitespace between arguments is omitted in output.
 .Pp  
 See  
 .Sx \&BI  
 for an equivalent example.  
 .Pp  
 See also  See also
 .Sx \&BI ,  .Sx \&BI .
 .Sx \&BR ,  
 .Sx \&RB ,  
 .Sx \&RI ,  
 and  
 .Sx \&IR .  
 .Ss \&IP  .Ss \&IP
 Begin an indented paragraph with the following syntax:  Begin an indented paragraph with the following syntax:
 .Bd -filled -offset indent  .Bd -filled -offset indent
 .Pf \. Sx \&IP  .Pf \. Sx \&IP
 .Op Cm head Op Cm width  .Op Ar head Op Ar width
 .Ed  .Ed
 .Pp  .Pp
 The  The
 .Cm width  .Ar width
 argument defines the width of the left margin and is defined by  argument is a
 .Sx Scaling Widths .  .Xr roff 7
   scaling width defining the left margin.
 It's saved for later paragraph left-margins; if unspecified, the saved or  It's saved for later paragraph left-margins; if unspecified, the saved or
 default width is used.  default width is used.
 .Pp  .Pp
 The  The
 .Cm head  .Ar head
 argument is used as a leading term, flushed to the left margin.  argument is used as a leading term, flushed to the left margin.
 This is useful for bulleted paragraphs and so on.  This is useful for bulleted paragraphs and so on.
 .Pp  
 See also  
 .Sx \&HP ,  
 .Sx \&LP ,  
 .Sx \&P ,  
 .Sx \&PP ,  
 and  
 .Sx \&TP .  
 .Ss \&IR  .Ss \&IR
 Text is rendered alternately in italics and roman (the default font).  Text is rendered alternately in italics and roman (the default font).
 Whitespace between arguments is omitted in output.  Whitespace between arguments is omitted in output.
 .Pp  
 See  
 .Sx \&BI  
 for an equivalent example.  
 .Pp  
 See also  See also
 .Sx \&BI ,  .Sx \&BI .
 .Sx \&IB ,  
 .Sx \&BR ,  
 .Sx \&RB ,  
 and  
 .Sx \&RI .  
 .Ss \&LP  .Ss \&LP
 Begin an undecorated paragraph.  A synonym for
 The scope of a paragraph is closed by a subsequent paragraph,  .Sx \&PP .
 sub-section, section, or end of file.  .Ss \&ME
 The saved paragraph left-margin width is reset to the default.  End a mailto block started with
 .Pp  .Sx \&MT .
 See also  This is a non-standard GNU extension.
 .Sx \&HP ,  .Ss \&MT
 .Sx \&IP ,  Begin a mailto block.
 .Sx \&P ,  This is a non-standard GNU extension.
 .Sx \&PP ,  It has the following syntax:
 and  .Bd -literal -offset indent
 .Sx \&TP .  .Pf \. Sx \&MT Ar address
   link description to be shown
   .Pf \. Sx ME
   .Ed
 .Ss \&OP  .Ss \&OP
 Optional command-line argument.  Optional command-line argument.
 This is a non-standard GNU extension, included only for compatibility.  This is a non-standard GNU extension.
 It has the following syntax:  It has the following syntax:
 .Bd -filled -offset indent  .Bd -filled -offset indent
 .Pf \. Sx \&OP  .Pf \. Sx \&OP
 .Cm key Op Cm value  .Ar key Op Ar value
 .Ed  .Ed
 .Pp  .Pp
 The  The
 .Cm key  .Ar key
 is usually a command-line flag and  is usually a command-line flag and
 .Cm value  .Ar value
 its argument.  its argument.
 .Ss \&P  .Ss \&P
 Synonym for  A synonym for
 .Sx \&LP .  .Sx \&PP .
   .Ss \&PD
   Specify the vertical space to be inserted before each new paragraph.
   .br
   The syntax is as follows:
   .Bd -filled -offset indent
   .Pf \. Sx \&PD
   .Op Ar height
   .Ed
 .Pp  .Pp
 See also  The
 .Sx \&HP ,  .Ar height
 .Sx \&IP ,  argument is a
 .Sx \&LP ,  .Xr roff 7
 .Sx \&PP ,  scaling width.
 and  It defaults to
 .Sx \&TP .  .Cm 1v .
 .Ss \&PP  If the unit is omitted,
 Synonym for  .Cm v
 .Sx \&LP .  is assumed.
 .Pp  .Pp
 See also  This macro affects the spacing before any subsequent instances of
 .Sx \&HP ,  .Sx \&HP ,
 .Sx \&IP ,  .Sx \&IP ,
 .Sx \&LP ,  .Sx \&LP ,
 .Sx \&P ,  .Sx \&P ,
   .Sx \&PP ,
   .Sx \&SH ,
   .Sx \&SS ,
   .Sx \&SY ,
 and  and
 .Sx \&TP .  .Sx \&TP .
 .Ss \&R  .Ss \&PP
 Text is rendered in roman (the default font).  Begin an undecorated paragraph.
 .Pp  The scope of a paragraph is closed by a subsequent paragraph,
 See also  sub-section, section, or end of file.
 .Sx \&I  The saved paragraph left-margin width is reset to the default.
 and  
 .Sx \&B .  
 .Ss \&RB  .Ss \&RB
 Text is rendered alternately in roman (the default font) and bold face.  Text is rendered alternately in roman (the default font) and bold face.
 Whitespace between arguments is omitted in output.  Whitespace between arguments is omitted in output.
 .Pp  
 See  
 .Sx \&BI  
 for an equivalent example.  
 .Pp  
 See also  See also
 .Sx \&BI ,  .Sx \&BI .
 .Sx \&IB ,  
 .Sx \&BR ,  
 .Sx \&RI ,  
 and  
 .Sx \&IR .  
 .Ss \&RE  .Ss \&RE
 Explicitly close out the scope of a prior  Explicitly close out the scope of a prior
 .Sx \&RS .  .Sx \&RS .
 The default left margin is restored to the state of the original  The default left margin is restored to the state before that
 .Sx \&RS  .Sx \&RS
 invocation.  invocation.
   .Pp
   The syntax is as follows:
   .Bd -filled -offset indent
   .Pf \. Sx \&RE
   .Op Ar level
   .Ed
   .Pp
   Without an argument, the most recent
   .Sx \&RS
   block is closed out.
   If
   .Ar level
   is 1, all open
   .Sx \&RS
   blocks are closed out.
   Otherwise,
   .Ar level No \(mi 1
   nested
   .Sx \&RS
   blocks remain open.
 .Ss \&RI  .Ss \&RI
 Text is rendered alternately in roman (the default font) and italics.  Text is rendered alternately in roman (the default font) and italics.
 Whitespace between arguments is omitted in output.  Whitespace between arguments is omitted in output.
 .Pp  
 See  
 .Sx \&BI  
 for an equivalent example.  
 .Pp  
 See also  See also
 .Sx \&BI ,  .Sx \&BI .
 .Sx \&IB ,  
 .Sx \&BR ,  
 .Sx \&RB ,  
 and  
 .Sx \&IR .  
 .Ss \&RS  .Ss \&RS
 Temporarily reset the default left margin.  Temporarily reset the default left margin.
 This has the following syntax:  This has the following syntax:
 .Bd -filled -offset indent  .Bd -filled -offset indent
 .Pf \. Sx \&RS  .Pf \. Sx \&RS
 .Op Cm width  .Op Ar width
 .Ed  .Ed
 .Pp  .Pp
 The  The
 .Cm width  .Ar width
 argument must conform to  argument is a
 .Sx Scaling Widths .  .Xr roff 7
   scaling width.
 If not specified, the saved or default width is used.  If not specified, the saved or default width is used.
 .Pp  .Pp
 See also  See also
Line 548  Begin a sub-section.
Line 360  Begin a sub-section.
 The scope of a sub-section is closed by a subsequent sub-section,  The scope of a sub-section is closed by a subsequent sub-section,
 section, or end of file.  section, or end of file.
 The paragraph left-margin width is reset to the default.  The paragraph left-margin width is reset to the default.
   .Ss \&SY
   Begin a synopsis block with the following syntax:
   .Bd -unfilled -offset indent
   .Pf \. Sx \&SY Ar command
   .Ar arguments
   .Pf \. Sx \&YS
   .Ed
   .Pp
   This is a non-standard GNU extension
   and very rarely used even in GNU manual pages.
   Formatting is similar to
   .Sx \&IP .
 .Ss \&TH  .Ss \&TH
 Sets the title of the manual page with the following syntax:  Set the name of the manual page for use in the page header
   and footer with the following syntax:
 .Bd -filled -offset indent  .Bd -filled -offset indent
 .Pf \. Sx \&TH  .Pf \. Sx \&TH
 .Ar title section date  .Ar name section date
 .Op Ar source Op Ar volume  .Op Ar source Op Ar volume
 .Ed  .Ed
 .Pp  .Pp
 Conventionally, the document  Conventionally, the document
 .Ar title  .Ar name
 is given in all caps.  is given in all caps.
   The
   .Ar section
   is usually a single digit, in a few cases followed by a letter.
 The recommended  The recommended
 .Ar date  .Ar date
 format is  format is
Line 571  is empty or not specified, the current date is used.
Line 399  is empty or not specified, the current date is used.
 The optional  The optional
 .Ar source  .Ar source
 string specifies the organisation providing the utility.  string specifies the organisation providing the utility.
   When unspecified,
   .Xr mandoc 1
   uses its
   .Fl Ios
   argument.
 The  The
 .Ar volume  .Ar volume
 string replaces the default rendered volume, which is dictated by the  string replaces the default volume title of the
 manual section.  .Ar section .
 .Pp  .Pp
 Examples:  Examples:
 .Pp  .Pp
 .Dl \&.TH CVS 5 "1992-02-12" GNU  .Dl \&.TH CVS 5 "1992-02-12" GNU
 .Ss \&TP  .Ss \&TP
 Begin a paragraph where the head, if exceeding the indentation width, is  Begin a paragraph where the head, if exceeding the indentation width, is
 followed by a newline; if not, the body follows on the same line after a  followed by a newline; if not, the body follows on the same line after
 buffer to the indentation width.  advancing to the indentation width.
 Subsequent output lines are indented.  Subsequent output lines are indented.
 The syntax is as follows:  The syntax is as follows:
 .Bd -filled -offset indent  .Bd -unfilled -offset indent
 .Pf \. Sx \&TP  .Pf \. Sx \&TP Op Ar width
 .Op Cm width  .Ar head No \e" one line
   .Ar body
 .Ed  .Ed
 .Pp  .Pp
 The  The
 .Cm width  .Ar width
 argument must conform to  argument is a
 .Sx Scaling Widths .  .Xr roff 7
   scaling width.
 If specified, it's saved for later paragraph left-margins; if  If specified, it's saved for later paragraph left-margins; if
 unspecified, the saved or default width is used.  unspecified, the saved or default width is used.
 .Pp  .Ss \&TQ
 See also  Like
 .Sx \&HP ,  .Sx \&TP ,
 .Sx \&IP ,  except that no vertical spacing is inserted before the paragraph.
 .Sx \&LP ,  This is a non-standard GNU extension
 .Sx \&P ,  and very rarely used even in GNU manual pages.
 and  
 .Sx \&PP .  
 .Ss \&UC  .Ss \&UC
 Sets the volume for the footer for compatibility with man pages from  Sets the volume for the footer for compatibility with man pages from
 BSD releases.  .Bx
   releases.
 The optional first argument specifies which release it is from.  The optional first argument specifies which release it is from.
 .Ss \&br  .Ss \&UE
 Breaks the current line.  End a uniform resource identifier block started with
 Consecutive invocations have no further effect.  .Sx \&UR .
 .Pp  This is a non-standard GNU extension.
 See also  .Ss \&UR
 .Sx \&sp .  Begin a uniform resource identifier block.
   This is a non-standard GNU extension.
   It has the following syntax:
   .Bd -literal -offset indent
   .Pf \. Sx \&UR Ar uri
   link description to be shown
   .Pf \. Sx UE
   .Ed
   .Ss \&YS
   End a synopsis block started with
   .Sx \&SY .
   This is a non-standard GNU extension.
 .Ss \&fi  .Ss \&fi
 End literal mode begun by  End literal mode started with
 .Sx \&nf .  .Sx \&nf .
 .Ss \&ft  
 Change the current font mode.  
 See  
 .Sx Text Decoration  
 for a listing of available font modes.  
 .Ss \&in  .Ss \&in
 Indent relative to the current indentation:  Indent relative to the current indentation:
 .Pp  .Pp
 .D1 Pf \. Sx \&in Op Cm width  .D1 Pf \. Sx \&in Op Ar width
 .Pp  .Pp
 If  If
 .Cm width  .Ar width
 is signed, the new offset is relative.  is signed, the new offset is relative.
 Otherwise, it is absolute.  Otherwise, it is absolute.
 This value is reset upon the next paragraph, section, or sub-section.  This value is reset upon the next paragraph, section, or sub-section.
 .Ss \&na  
 Don't align to the right margin.  
 .Ss \&nf  .Ss \&nf
 Begin literal mode: all subsequent free-form lines have their end of  Begin literal mode: all subsequent free-form lines have their end of
 line boundaries preserved.  line boundaries preserved.
Line 643  Literal mode is implicitly ended by
Line 481  Literal mode is implicitly ended by
 .Sx \&SH  .Sx \&SH
 or  or
 .Sx \&SS .  .Sx \&SS .
 .Ss \&sp  
 Insert vertical spaces into output with the following syntax:  
 .Bd -filled -offset indent  
 .Pf \. Sx \&sp  
 .Op Cm height  
 .Ed  
 .Pp  
 Insert  
 .Cm height  
 spaces, which must conform to  
 .Sx Scaling Widths .  
 If 0, this is equivalent to the  
 .Sx \&br  
 macro.  
 Defaults to 1, if unspecified.  
 .Pp  
 See also  
 .Sx \&br .  
 .Sh MACRO SYNTAX  .Sh MACRO SYNTAX
 The  The
 .Nm  .Nm
Line 684  is equivalent to
Line 504  is equivalent to
 .Sq \&.I foo .  .Sq \&.I foo .
 If next-line macros are invoked consecutively, only the last is used.  If next-line macros are invoked consecutively, only the last is used.
 If a next-line macro is followed by a non-next-line macro, an error is  If a next-line macro is followed by a non-next-line macro, an error is
 raised, except for  raised.
 .Sx \&br ,  
 .Sx \&sp ,  
 and  
 .Sx \&na .  
 .Pp  .Pp
 The syntax is as follows:  The syntax is as follows:
 .Bd -literal -offset indent  .Bd -literal -offset indent
Line 702  The syntax is as follows:
Line 518  The syntax is as follows:
 .It Sx \&BI  Ta    n         Ta    current   Ta    \&  .It Sx \&BI  Ta    n         Ta    current   Ta    \&
 .It Sx \&BR  Ta    n         Ta    current   Ta    \&  .It Sx \&BR  Ta    n         Ta    current   Ta    \&
 .It Sx \&DT  Ta    0         Ta    current   Ta    \&  .It Sx \&DT  Ta    0         Ta    current   Ta    \&
   .It Sx \&EE  Ta    0         Ta    current   Ta    GNU
   .It Sx \&EX  Ta    0         Ta    current   Ta    GNU
 .It Sx \&I   Ta    n         Ta    next-line Ta    \&  .It Sx \&I   Ta    n         Ta    next-line Ta    \&
 .It Sx \&IB  Ta    n         Ta    current   Ta    \&  .It Sx \&IB  Ta    n         Ta    current   Ta    \&
 .It Sx \&IR  Ta    n         Ta    current   Ta    \&  .It Sx \&IR  Ta    n         Ta    current   Ta    \&
 .It Sx \&OP  Ta    0, 1      Ta    current   Ta    compat  .It Sx \&OP  Ta    >=1       Ta    current   Ta    GNU
 .It Sx \&R   Ta    n         Ta    next-line Ta    \&  .It Sx \&PD  Ta    1         Ta    current   Ta    \&
 .It Sx \&RB  Ta    n         Ta    current   Ta    \&  .It Sx \&RB  Ta    n         Ta    current   Ta    \&
 .It Sx \&RI  Ta    n         Ta    current   Ta    \&  .It Sx \&RI  Ta    n         Ta    current   Ta    \&
 .It Sx \&SB  Ta    n         Ta    next-line Ta    \&  .It Sx \&SB  Ta    n         Ta    next-line Ta    \&
 .It Sx \&SM  Ta    n         Ta    next-line Ta    \&  .It Sx \&SM  Ta    n         Ta    next-line Ta    \&
 .It Sx \&TH  Ta    >1, <6    Ta    current   Ta    \&  .It Sx \&TH  Ta    >1, <6    Ta    current   Ta    \&
 .It Sx \&UC  Ta    <=1       Ta    current   Ta    \&  .It Sx \&UC  Ta    <=1       Ta    current   Ta    \&
 .It Sx \&br  Ta    0         Ta    current   Ta    compat  .It Sx \&fi  Ta    0         Ta    current   Ta    Xr roff 7
 .It Sx \&fi  Ta    0         Ta    current   Ta    compat  .It Sx \&in  Ta    1         Ta    current   Ta    Xr roff 7
 .It Sx \&ft  Ta    1         Ta    current   Ta    compat  .It Sx \&nf  Ta    0         Ta    current   Ta    Xr roff 7
 .It Sx \&in  Ta    1         Ta    current   Ta    compat  
 .It Sx \&na  Ta    0         Ta    current   Ta    compat  
 .It Sx \&nf  Ta    0         Ta    current   Ta    compat  
 .It Sx \&sp  Ta    1         Ta    current   Ta    compat  
 .El  .El
 .Pp  
 Macros marked as  
 .Qq compat  
 are included for compatibility with the significant corpus of existing  
 manuals that mix dialects of roff.  
 These macros should not be used for portable  
 .Nm  
 manuals.  
 .Ss Block Macros  .Ss Block Macros
 Block macros comprise a head and body.  Block macros comprise a head and body.
 As with in-line macros, the head is scoped to the current line and, in  As with in-line macros, the head is scoped to the current line and, in
Line 748  by
Line 554  by
 .Sx \&SH ;  .Sx \&SH ;
 sub-section, closed by a section or  sub-section, closed by a section or
 .Sx \&SS ;  .Sx \&SS ;
 part, closed by a section, sub-section, or  or paragraph, closed by a section, sub-section,
 .Sx \&RE ;  
 or paragraph, closed by a section, sub-section, part,  
 .Sx \&HP ,  .Sx \&HP ,
 .Sx \&IP ,  .Sx \&IP ,
 .Sx \&LP ,  .Sx \&LP ,
 .Sx \&P ,  .Sx \&P ,
 .Sx \&PP ,  .Sx \&PP ,
   .Sx \&RE ,
   .Sx \&SY ,
 or  or
 .Sx \&TP .  .Sx \&TP .
 No closure refers to an explicit block closing macro.  No closure refers to an explicit block closing macro.
Line 768  implicitly closed, is syntactically incorrect.
Line 574  implicitly closed, is syntactically incorrect.
 .It Sx \&HP  Ta    <2        Ta    current    Ta    paragraph   Ta    \&  .It Sx \&HP  Ta    <2        Ta    current    Ta    paragraph   Ta    \&
 .It Sx \&IP  Ta    <3        Ta    current    Ta    paragraph   Ta    \&  .It Sx \&IP  Ta    <3        Ta    current    Ta    paragraph   Ta    \&
 .It Sx \&LP  Ta    0         Ta    current    Ta    paragraph   Ta    \&  .It Sx \&LP  Ta    0         Ta    current    Ta    paragraph   Ta    \&
   .It Sx \&ME  Ta    0         Ta    none       Ta    none        Ta    GNU
   .It Sx \&MT  Ta    1         Ta    current    Ta    to \&ME     Ta    GNU
 .It Sx \&P   Ta    0         Ta    current    Ta    paragraph   Ta    \&  .It Sx \&P   Ta    0         Ta    current    Ta    paragraph   Ta    \&
 .It Sx \&PP  Ta    0         Ta    current    Ta    paragraph   Ta    \&  .It Sx \&PP  Ta    0         Ta    current    Ta    paragraph   Ta    \&
 .It Sx \&RE  Ta    0         Ta    current    Ta    none        Ta    compat  .It Sx \&RE  Ta    <=1       Ta    current    Ta    none        Ta    \&
 .It Sx \&RS  Ta    1         Ta    current    Ta    part        Ta    compat  .It Sx \&RS  Ta    1         Ta    current    Ta    to \&RE     Ta    \&
 .It Sx \&SH  Ta    >0        Ta    next-line  Ta    section     Ta    \&  .It Sx \&SH  Ta    >0        Ta    next-line  Ta    section     Ta    \&
 .It Sx \&SS  Ta    >0        Ta    next-line  Ta    sub-section Ta    \&  .It Sx \&SS  Ta    >0        Ta    next-line  Ta    sub-section Ta    \&
   .It Sx \&SY  Ta    1         Ta    current    Ta    to \&YS     Ta    GNU
 .It Sx \&TP  Ta    n         Ta    next-line  Ta    paragraph   Ta    \&  .It Sx \&TP  Ta    n         Ta    next-line  Ta    paragraph   Ta    \&
   .It Sx \&TQ  Ta    n         Ta    next-line  Ta    paragraph   Ta    GNU
   .It Sx \&UE  Ta    0         Ta    current    Ta    none        Ta    GNU
   .It Sx \&UR  Ta    1         Ta    current    Ta    part        Ta    GNU
   .It Sx \&YS  Ta    0         Ta    none       Ta    none        Ta    GNU
 .El  .El
 .Pp  .Pp
 Macros marked  
 .Qq compat  
 are as mentioned in  
 .Sx Line Macros .  
 .Pp  
 If a block macro is next-line scoped, it may only be followed by in-line  If a block macro is next-line scoped, it may only be followed by in-line
 macros for decorating text.  macros for decorating text.
 .Ss Font handling  .Ss Font handling
Line 799  until the end of the macro scope.
Line 607  until the end of the macro scope.
 Note that macros like  Note that macros like
 .Sx \&BR  .Sx \&BR
 open and close a font scope for each argument.  open and close a font scope for each argument.
 .Sh COMPATIBILITY  
 This section documents areas of questionable portability between  
 implementations of the  
 .Nm  
 language.  
 .Pp  
 .Bl -dash -compact  
 .It  
 Do not depend on  
 .Sx \&SH  
 or  
 .Sx \&SS  
 to close out a literal context opened with  
 .Sx \&nf .  
 This behaviour may not be portable.  
 .It  
 In quoted literals, GNU troff allowed pair-wise double-quotes to produce  
 a standalone double-quote in formatted output.  
 It is not known whether this behaviour is exhibited by other formatters.  
 .It  
 troff suppresses a newline before  
 .Sq \(aq  
 macro output; in mandoc, it is an alias for the standard  
 .Sq \&.  
 control character.  
 .It  
 The  
 .Sq \eh  
 .Pq horizontal position ,  
 .Sq \ev  
 .Pq vertical position ,  
 .Sq \em  
 .Pq text colour ,  
 .Sq \eM  
 .Pq text filling colour ,  
 .Sq \ez  
 .Pq zero-length character ,  
 .Sq \ew  
 .Pq string length ,  
 .Sq \ek  
 .Pq horizontal position marker ,  
 .Sq \eo  
 .Pq text overstrike ,  
 and  
 .Sq \es  
 .Pq text size  
 escape sequences are all discarded in mandoc.  
 .It  
 The  
 .Sq \ef  
 scaling unit is accepted by mandoc, but rendered as the default unit.  
 .It  
 The  
 .Sx \&sp  
 macro does not accept negative values in mandoc.  
 In GNU troff, this would result in strange behaviour.  
 .It  
 In page header lines, GNU troff versions up to and including 1.21  
 only print  
 .Ar volume  
 names explicitly specified in the  
 .Sx \&TH  
 macro; mandoc and newer groff print the default volume name  
 corresponding to the  
 .Ar section  
 number when no  
 .Ar volume  
 is given, like in  
 .Xr mdoc 7 .  
 .El  
 .Pp  
 The  
 .Sx OP  
 macro is part of the extended  
 .Nm  
 macro set, and may not be portable to non-GNU troff implementations.  
 .Sh SEE ALSO  .Sh SEE ALSO
 .Xr man 1 ,  .Xr man 1 ,
 .Xr mandoc 1 ,  .Xr mandoc 1 ,
Line 901  utility written by Kristaps Dzonsons appeared in
Line 633  utility written by Kristaps Dzonsons appeared in
 This  This
 .Nm  .Nm
 reference was written by  reference was written by
 .An Kristaps Dzonsons ,  .An Kristaps Dzonsons Aq Mt kristaps@bsd.lv .
 .Mt kristaps@bsd.lv .  
 .Sh CAVEATS  
 Do not use this language.  
 Use  
 .Xr mdoc 7 ,  
 instead.  

Legend:
Removed from v.1.115  
changed lines
  Added in v.1.141

CVSweb