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

Diff for /mandoc/mandoc.1 between version 1.233 and 1.259

version 1.233, 2018/12/20 18:24:12 version 1.259, 2022/06/05 13:54:09
Line 1 
Line 1 
 .\"     $Id$  .\" $Id$
 .\"  .\"
   .\" Copyright (c) 2012, 2014-2022 Ingo Schwarze <schwarze@openbsd.org>
 .\" Copyright (c) 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>  .\" Copyright (c) 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
 .\" Copyright (c) 2012, 2014-2018 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
 .\" 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 52  The options are as follows:
Line 52  The options are as follows:
 If the standard output is a terminal device and  If the standard output is a terminal device and
 .Fl c  .Fl c
 is not specified, use  is not specified, use
 .Xr more 1  .Xr less 1
 to paginate the output, just like  to paginate the output, just like
 .Xr man 1  .Xr man 1
 would.  would.
 .It Fl c  .It Fl c
 Copy the formatted manual pages to the standard output without using  Copy the formatted manual pages to the standard output without using
 .Xr more 1  .Xr less 1
 to paginate them.  to paginate them.
 This is the default.  This is the default.
 It can be specified to override  It can be specified to override
Line 222  reads from standard input.
Line 222  reads from standard input.
 .Pp  .Pp
 The options  The options
 .Fl fhklw  .Fl fhklw
 are also supported and are documented in man(1).  are also supported and are documented in
   .Xr man 1 .
 In  In
 .Fl f  .Fl f
 and  and
Line 256  where
Line 257  where
 is the back-space character number 8.  is the back-space character number 8.
 Emboldened characters are rendered as  Emboldened characters are rendered as
 .Sq c Ns \e[bs] Ns c .  .Sq c Ns \e[bs] Ns c .
   This markup is typically converted to appropriate terminal sequences by
   the pager or
   .Xr ul 1 .
   To remove the markup, pipe the output to
   .Xr col 1
   .Fl b
   instead.
 .Pp  .Pp
 The special characters documented in  The special characters documented in
 .Xr mandoc_char 7  .Xr mandoc_char 7
 are rendered best-effort in an ASCII equivalent.  are rendered best-effort in an ASCII equivalent.
   In particular, opening and closing
   .Sq single quotes
   are represented as characters number 0x60 and 0x27, respectively,
   which agrees with all ASCII standards from 1965 to the latest
   revision (2012) and which matches the traditional way in which
   .Xr roff 7
   formatters represent single quotes in ASCII output.
   This correct ASCII rendering may look strange with modern
   Unicode-compatible fonts because contrary to ASCII, Unicode uses
   the code point U+0060 for the grave accent only, never for an opening
   quote.
 .Pp  .Pp
 The following  The following
 .Fl O  .Fl O
Line 282  Format
Line 301  Format
 input files in  input files in
 .Xr mdoc 7  .Xr mdoc 7
 output style.  output style.
 Specifically, this suppresses the two additional blank lines near the  This prints the operating system name rather than the page title
 top and the bottom of each page, and it implies  on the right side of the footer line, and it implies
 .Fl O Cm indent Ns =5 .  .Fl O Cm indent Ns =5 .
 One useful application is for checking that  One useful application is for checking that
 .Fl T Cm man  .Fl T Cm man
Line 300  If no
Line 319  If no
 is specified, reuse the first command line argument that is not a  is specified, reuse the first command line argument that is not a
 .Ar section  .Ar section
 number.  number.
 This is useful when it is the name of a manual page,  If that argument is in
 in particular the name of a library function.  .Xr apropos 1
   .Ar key Ns = Ns Ar val
   format, only the
   .Ar val
   is used rather than the argument as a whole.
   This is useful for commands like
   .Ql man -akO tag Ic=ulimit
   to search for a keyword and jump right to its definition
   in the matching manual pages.
 .It Cm width Ns = Ns Ar width  .It Cm width Ns = Ns Ar width
 The output width is set to  The output width is set to
 .Ar width  .Ar width
Line 320  Equations rendered from
Line 347  Equations rendered from
 .Xr eqn 7  .Xr eqn 7
 blocks use MathML.  blocks use MathML.
 .Pp  .Pp
 The  The file
 .Pa mandoc.css  .Pa /usr/share/misc/mandoc.css
 file documents style-sheet classes available for customising output.  documents style-sheet classes available for customising output.
 If a style-sheet is not specified with  If a style-sheet is not specified with
 .Fl O Cm style ,  .Fl O Cm style ,
 .Fl T Cm html  .Fl T Cm html
Line 383  The file
Line 410  The file
 is used for an external style-sheet.  is used for an external style-sheet.
 This must be a valid absolute or  This must be a valid absolute or
 relative URI.  relative URI.
   .It Cm tag Ns Op = Ns Ar term
   Same syntax and semantics as for
   .Sx ASCII Output .
   This is implemented by passing a
   .Ic file://
   URI ending in a fragment identifier to the pager
   rather than passing merely a file name.
   When using this argument, use a pager supporting such URIs, for example
   .Bd -literal -offset 3n
   MANPAGER='lynx -force_html' man -T html -O tag=MANPAGER man
   MANPAGER='w3m -T text/html' man -T html -O tag=toc mandoc
   .Ed
   .Pp
   Consequently, for HTML output, this argument does not work with
   .Xr more 1
   or
   .Xr less 1 .
   For example,
   .Ql MANPAGER=less man -T html -O tag=toc mandoc
   does not work because
   .Xr less 1
   does not support
   .Ic file://
   URIs.
 .It Cm toc  .It Cm toc
 If an input file contains at least two non-standard sections,  If an input file contains at least two non-standard sections,
 print a table of contents near the beginning of the output.  print a table of contents near the beginning of the output.
Line 416  This is useful for distributing manual sources to lega
Line 467  This is useful for distributing manual sources to lega
 lacking  lacking
 .Xr mdoc 7  .Xr mdoc 7
 formatters.  formatters.
   Embedded
   .Xr eqn 7
   and
   .Xr tbl 7
   code is not supported.
 .Pp  .Pp
 If the input format of a file is  If the input format of a file is
 .Xr man 7 ,  .Xr man 7 ,
 the input is copied to the output, expanding any  the input is copied to the output.
 .Xr roff 7  
 .Ic so  
 requests.  
 The parser is also run, and as usual, the  The parser is also run, and as usual, the
 .Fl W  .Fl W
 level controls which  level controls which
Line 434  Use
Line 487  Use
 to translate  to translate
 .Xr mdoc 7  .Xr mdoc 7
 input to the markdown format conforming to  input to the markdown format conforming to
 .Lk http://daringfireball.net/projects/markdown/syntax.text\  .Lk https://daringfireball.net/projects/markdown/syntax.text\
  "John Gruber's 2004 specification" .   "John Gruber's 2004 specification" .
 The output also almost conforms to the  The output also almost conforms to the
 .Lk http://commonmark.org/ CommonMark  .Lk https://commonmark.org/ CommonMark
 specification.  specification.
 .Pp  .Pp
 The character set used for the markdown output is ASCII.  The character set used for the markdown output is ASCII.
Line 601  It never affects the interpretation of input files.
Line 654  It never affects the interpretation of input files.
 Any non-empty value of the environment variable  Any non-empty value of the environment variable
 .Ev MANPAGER  .Ev MANPAGER
 is used instead of the standard pagination program,  is used instead of the standard pagination program,
 .Xr more 1 ;  .Xr less 1 ;
 see  see
 .Xr man 1  .Xr man 1
 for details.  for details.
Line 615  Specifies the pagination program to use when
Line 668  Specifies the pagination program to use when
 .Ev MANPAGER  .Ev MANPAGER
 is not defined.  is not defined.
 If neither PAGER nor MANPAGER is defined,  If neither PAGER nor MANPAGER is defined,
 .Xr more 1  .Xr less 1
 .Fl s  
 is used.  is used.
 Only used if  Only used if
 .Fl a  .Fl a
Line 671  No input files have been read.
Line 723  No input files have been read.
 .It 6  .It 6
 An operating system error occurred, for example exhaustion  An operating system error occurred, for example exhaustion
 of memory, file descriptors, or process table entries.  of memory, file descriptors, or process table entries.
 Such errors cause  Such errors may cause
 .Nm  .Nm
 to exit at once, possibly in the middle of parsing or formatting a file.  to exit at once, possibly in the middle of parsing or formatting a file.
 .El  .El
Line 683  output mode implies
Line 735  output mode implies
 .Sh EXAMPLES  .Sh EXAMPLES
 To page manuals to the terminal:  To page manuals to the terminal:
 .Pp  .Pp
 .Dl $ mandoc -l mandoc.1 man.1 apropos.1 makewhatis.8  .Dl $ mandoc -a mandoc.1 man.1 apropos.1 makewhatis.8
 .Pp  .Pp
 To produce HTML manuals with  To produce HTML manuals with
 .Pa mandoc.css  .Pa /usr/share/misc/mandoc.css
 as the style-sheet:  as the style-sheet:
 .Pp  .Pp
 .Dl $ mandoc \-T html -O style=mandoc.css mdoc.7 \*(Gt mdoc.7.html  .Dl $ mandoc \-T html -O style=/usr/share/misc/mandoc.css mdoc.7 > mdoc.7.html
 .Pp  .Pp
 To check over a large set of manuals:  To check over a large set of manuals:
 .Pp  .Pp
Line 697  To check over a large set of manuals:
Line 749  To check over a large set of manuals:
 .Pp  .Pp
 To produce a series of PostScript manuals for A4 paper:  To produce a series of PostScript manuals for A4 paper:
 .Pp  .Pp
 .Dl $ mandoc \-T ps \-O paper=a4 mdoc.7 man.7 \*(Gt manuals.ps  .Dl $ mandoc \-T ps \-O paper=a4 mdoc.7 man.7 > manuals.ps
 .Pp  .Pp
 Convert a modern  Convert a modern
 .Xr mdoc 7  .Xr mdoc 7
Line 707  format, for use on systems lacking an
Line 759  format, for use on systems lacking an
 .Xr mdoc 7  .Xr mdoc 7
 parser:  parser:
 .Pp  .Pp
 .Dl $ mandoc \-T man foo.mdoc \*(Gt foo.man  .Dl $ mandoc \-T man foo.mdoc > foo.man
 .Sh DIAGNOSTICS  .Sh DIAGNOSTICS
 Messages displayed by  Messages displayed by
 .Nm  .Nm
Line 751  fields.
Line 803  fields.
 .Pp  .Pp
 Message levels have the following meanings:  Message levels have the following meanings:
 .Bl -tag -width "warning"  .Bl -tag -width "warning"
   .It Cm syserr
   An operating system error occurred.
   There isn't necessarily anything wrong with the input files.
   Output may all the same be missing or incomplete.
   .It Cm badarg
   Invalid command line arguments were specified.
   No input files have been read and no output is produced.
 .It Cm unsupp  .It Cm unsupp
 An input file uses unsupported low-level  An input file uses unsupported low-level
 .Xr roff 7  .Xr roff 7
Line 776  message levels, the
Line 835  message levels, the
 .Cm style  .Cm style
 level tries to reduce the probability that issues go unnoticed,  level tries to reduce the probability that issues go unnoticed,
 so it may occasionally issue bogus suggestions.  so it may occasionally issue bogus suggestions.
 Please use your good judgement to decide whether any particular  Use your judgement to decide whether any particular
 .Cm style  .Cm style
 suggestion really justifies a change to the input file.  suggestion really justifies a change to the input file.
 .It Cm base  .It Cm base
Line 799  Messages of the
Line 858  Messages of the
 .Cm error ,  .Cm error ,
 and  and
 .Cm unsupp  .Cm unsupp
 levels except those about non-existent or unreadable input files  levels are hidden unless their level, or a lower level, is requested using a
 are hidden unless their level, or a lower level, is requested using a  
 .Fl W  .Fl W
 option or  option or
 .Fl T Cm lint  .Fl T Cm lint
Line 864  generated by CVS
Line 922  generated by CVS
 or  or
 .Ic NetBSD  .Ic NetBSD
 keyword substitution as conventionally used in these operating systems.  keyword substitution as conventionally used in these operating systems.
 .It Sy "referenced manual not found"  
 .Pq mdoc  
 An  
 .Ic \&Xr  
 macro references a manual page that is not found in the base system.  
 The path to look for base system manuals is configurable at compile  
 time and defaults to  
 .Pa /usr/share/man : /usr/X11R6/man .  
 .El  .El
 .Ss Style suggestions  .Ss Style suggestions
 .Bl -ohang  .Bl -ohang
Line 958  list contains two consecutive
Line 1008  list contains two consecutive
 entries describing the same  entries describing the same
 .Ic \&Er  .Ic \&Er
 number.  number.
   .It Sy "referenced manual not found"
   .Pq mdoc
   An
   .Ic \&Xr
   macro references a manual page that was not found.
   When running with
   .Fl W Cm base ,
   the search is restricted to the base system, by default to
   .Pa /usr/share/man : Ns Pa /usr/X11R6/man .
   This path can be configured at compile time using the
   .Dv MANPATH_BASE
   preprocessor macro.
   When running with
   .Fl W Cm style ,
   the search is done along the full search path as described in the
   .Xr man 1
   manual page, respecting the
   .Fl m
   and
   .Fl M
   command line options, the
   .Ev MANPATH
   environment variable, the
   .Xr man.conf 5
   file and falling back to the default of
   .Pa /usr/share/man : Ns Pa /usr/X11R6/man : Ns Pa /usr/local/man ,
   also configurable at compile time using the
   .Dv MANPATH_DEFAULT
   preprocessor macro.
 .It Sy "trailing delimiter"  .It Sy "trailing delimiter"
 .Pq mdoc  .Pq mdoc
 The last argument of an  The last argument of an
Line 987  An
Line 1066  An
 request occurs even though the document already switched to no-fill mode  request occurs even though the document already switched to no-fill mode
 and did not switch back to fill mode yet.  and did not switch back to fill mode yet.
 It has no effect.  It has no effect.
   .It Sy "input text line longer than 80 bytes"
   Consider breaking the input text line
   at one of the blank characters before column 80.
 .It Sy "verbatim \(dq--\(dq, maybe consider using \e(em"  .It Sy "verbatim \(dq--\(dq, maybe consider using \e(em"
 .Pq mdoc  .Pq mdoc
 Even though the ASCII output device renders an em-dash as  Even though the ASCII output device renders an em-dash as
Line 1040  macro lacks the mandatory section argument.
Line 1122  macro lacks the mandatory section argument.
 The section number in a  The section number in a
 .Ic \&Dt  .Ic \&Dt
 line is invalid, but still used.  line is invalid, but still used.
 .It Sy "missing date, using today's date"  .It Sy "filename/section mismatch"
   .Pq mdoc , man
   The name of the input file being processed is known and its file
   name extension starts with a non-zero digit, but the
   .Ic \&Dt
   or
   .Ic \&TH
   macro contains a
   .Ar section
   argument that starts with a different non-zero digit.
   The
   .Ar section
   argument is used as provided anyway.
   Consider checking whether the file name or the argument need a correction.
   .It Sy "missing date, using \(dq\(dq"
 .Pq mdoc, man  .Pq mdoc, man
 The document was parsed as  The document was parsed as
 .Xr mdoc 7  .Xr mdoc 7
Line 1658  request or a
Line 1754  request or a
 layout modifier has an unknown  layout modifier has an unknown
 .Ar font  .Ar font
 argument.  argument.
   .It Sy "ignoring distance argument"
   .Pq roff
   In addition to the margin character, an
   .Ic \&mc
   request has a second argument supposed to represent a distance, but the
   .Nm
   implementation of
   .Ic \&mc
   always ignores the second argument.
 .It Sy "odd number of characters in request"  .It Sy "odd number of characters in request"
 .Pq roff  .Pq roff
 A  A
Line 1673  The meaning of blank input lines is only well-defined 
Line 1778  The meaning of blank input lines is only well-defined 
 In fill mode, line breaks of text input lines are not supposed to be  In fill mode, line breaks of text input lines are not supposed to be
 significant.  significant.
 However, for compatibility with groff, blank lines in fill mode  However, for compatibility with groff, blank lines in fill mode
 are replaced with  are formatted like
 .Ic \&sp  .Ic \&sp
 requests.  requests.
   To request a paragraph break, use
   .Ic \&Pp
   instead of a blank line.
 .It Sy "tab in filled text"  .It Sy "tab in filled text"
 .Pq mdoc , man  .Pq mdoc , man
 The meaning of tab characters is only well-defined in non-fill mode:  The meaning of tab characters is only well-defined in non-fill mode:
Line 1691  A new sentence starts in the middle of a text line.
Line 1799  A new sentence starts in the middle of a text line.
 Start it on a new input line to help formatters produce correct spacing.  Start it on a new input line to help formatters produce correct spacing.
 .It Sy "invalid escape sequence"  .It Sy "invalid escape sequence"
 .Pq roff  .Pq roff
 An escape sequence has an invalid opening argument delimiter, lacks the  An escape sequence has an invalid opening argument delimiter
 closing argument delimiter, the argument is of an invalid form, or it is  or the argument is of an invalid form.
 a character escape sequence with an invalid name.  Invalid escape sequences are ignored.
 If the argument is incomplete,  
 .Ic \e*  
 and  
 .Ic \en  
 expand to an empty string,  
 .Ic \eB  
 to the digit  
 .Sq 0 ,  
 and  
 .Ic \ew  
 to the length of the incomplete argument.  
 All other invalid escape sequences are ignored.  
 .It Sy "undefined escape, printing literally"  .It Sy "undefined escape, printing literally"
 .Pq roff  .Pq roff
 In an escape sequence, the first character  In an escape sequence, the first character
Line 1775  The invalid character is discarded.
Line 1871  The invalid character is discarded.
 A table layout specification contains an opening parenthesis,  A table layout specification contains an opening parenthesis,
 but no matching closing parenthesis.  but no matching closing parenthesis.
 The rest of the input line, starting from the parenthesis, has no effect.  The rest of the input line, starting from the parenthesis, has no effect.
   .It Sy "ignoring excessive spacing in tbl layout"
   .Pq tbl
   A spacing modifier in a table layout is unreasonably large.
   The default spacing of 3n is used instead.
 .It Sy "tbl without any data cells"  .It Sy "tbl without any data cells"
 .Pq tbl  .Pq tbl
 A table does not contain any data cells.  A table does not contain any data cells.
Line 1979  and expands to the empty string.
Line 2079  and expands to the empty string.
 .Pq roff  .Pq roff
 The argument of the escape sequence \e$ is not a digit;  The argument of the escape sequence \e$ is not a digit;
 the escape sequence expands to the empty string.  the escape sequence expands to the empty string.
   .It Sy "negative argument, using 0"
   .Pq roff
   A
   .Ic \&shift
   request has a negative argument
   or an argument that is negative due to integer overflow.
   Macro argument numbering remains unchanged.
 .It Sy "NOT IMPLEMENTED: Bd -file"  .It Sy "NOT IMPLEMENTED: Bd -file"
 .Pq mdoc  .Pq mdoc
 For security reasons, the  For security reasons, the
Line 2014  The first argument of a
Line 2121  The first argument of a
 request is neither a single ASCII character  request is neither a single ASCII character
 nor a single character escape sequence.  nor a single character escape sequence.
 The request is ignored including all its arguments.  The request is ignored including all its arguments.
   .It Sy "skipping unusable escape sequence"
   .Pq roff
   The first argument of an
   .Ic mc
   request is neither a single ASCII character
   nor a single character escape sequence.
   All arguments are ignored and printing of a margin character is disabled.
 .It Sy "missing manual name, using \(dq\(dq"  .It Sy "missing manual name, using \(dq\(dq"
 .Pq mdoc  .Pq mdoc
 The first call to  The first call to
Line 2159  with invalid arguments
Line 2273  with invalid arguments
 .El  .El
 The excess arguments are ignored.  The excess arguments are ignored.
 .El  .El
   .Ss "Errors related to escape sequences"
   .Bl -ohang
   .It Sy "incomplete escape sequence"
   .Pq roff
   The end of the input line is encountered
   while parsing the argument of an escape sequence.
   In this case,
   .Ic \e*
   and
   .Ic \en
   expand to an empty string,
   .Ic \eB
   to the digit
   .Sq 0 ,
   and
   .Ic \ew
   to the length of the incomplete argument.
   All other incomplete escape sequences are ignored.
   .It Sy "invalid special character"
   .Pq roff
   A special character escape sequence is invalid,
   for example a Unicode sequence pointing to a surrogate
   or beyond the Unicode range, a \e[char...] escape sequence
   representing a control character or pointing beyond the
   .Vt unsigned char
   range, or an invalid variable-length form
   of a single-byte character escape sequence, for example writing
   .Qq \e[e]
   or
   .Qq \e[~]
   instead of
   .Qq \ee
   or
   .Qq \e~ ,
   respectively.
   The escape sequence is ignored.
   .It Sy "unknown special character"
   .Pq roff
   The name given in a special character escape sequence is not known to
   .Nm .
   The escape sequence is ignored.
   .El
 .Ss Unsupported features  .Ss Unsupported features
 .Bl -ohang  .Bl -ohang
 .It Sy "input too large"  .It Sy "input too large"
Line 2211  or
Line 2367  or
 macro or of an undefined macro.  macro or of an undefined macro.
 The macro is ignored, and its arguments are handled  The macro is ignored, and its arguments are handled
 as if they were a text line.  as if they were a text line.
   .It Sy "skipping tbl in -Tman mode"
   .Pq mdoc , tbl
   An input file contains the
   .Ic \&TS
   macro.
   This message is only generated in
   .Fl T Cm man
   output mode, where
   .Xr tbl 7
   input is not supported.
   .It Sy "skipping eqn in -Tman mode"
   .Pq mdoc , eqn
   An input file contains the
   .Ic \&EQ
   macro.
   This message is only generated in
   .Fl T Cm man
   output mode, where
   .Xr eqn 7
   input is not supported.
   .El
   .Ss Bad command line arguments
   .Bl -ohang
   .It Sy "bad command line argument"
   The argument following one of the
   .Fl IKMmOTW
   command line options is invalid, or a
   .Ar file
   given as a command line argument cannot be opened.
   .It Sy "duplicate command line argument"
   The
   .Fl I
   command line option was specified twice.
   .It Sy "option has a superfluous value"
   An argument to the
   .Fl O
   option has a value but does not accept one.
   .It Sy "missing option value"
   An argument to the
   .Fl O
   option has no argument but requires one.
   .It Sy "bad option value"
   An argument to the
   .Fl O
   .Cm indent
   or
   .Cm width
   option has an invalid value.
   .It Sy "duplicate option value"
   The same
   .Fl O
   option is specified more than once.
   .It Sy "no such tag"
   The
   .Fl O Cm tag
   option was specified but the tag was not found in any of the displayed
   manual pages.
   .It Sy "\-Tmarkdown unsupported for man(7) input"
   .Pq man
   The
   .Fl T Cm markdown
   option was specified but an input file uses the
   .Xr man 7
   language.
   No output is produced for that input file.
 .El  .El
 .Sh SEE ALSO  .Sh SEE ALSO
 .Xr apropos 1 ,  .Xr apropos 1 ,

Legend:
Removed from v.1.233  
changed lines
  Added in v.1.259

CVSweb