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

Diff for /mandoc/mandoc.1 between version 1.224 and 1.248

version 1.224, 2018/04/29 14:29:53 version 1.248, 2020/09/01 18:25:27
Line 1 
Line 1 
 .\"     $Id$  .\" $OpenBSD$
 .\"  .\"
   .\" Copyright (c) 2012, 2014-2020 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 290  One useful application is for checking that
Line 309  One useful application is for checking that
 output formats in the same way as the  output formats in the same way as the
 .Xr mdoc 7  .Xr mdoc 7
 source it was generated from.  source it was generated from.
   .It Cm tag Ns Op = Ns Ar term
   If the formatted manual page is opened in a pager,
   go to the definition of the
   .Ar term
   rather than showing the manual page from the beginning.
   If no
   .Ar term
   is specified, reuse the first command line argument that is not a
   .Ar section
   number.
   If that argument is in
   .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 308  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 319  readable in any graphical or text-based web
Line 358  readable in any graphical or text-based web
 browser.  browser.
 .Pp  .Pp
 Non-ASCII characters are rendered  Non-ASCII characters are rendered
 as decimal numeric Unicode character references.  as hexadecimal Unicode character references.
 .Pp  .Pp
 The following  The following
 .Fl O  .Fl O
Line 345  Instances of
Line 384  Instances of
 are replaced with the include filename.  are replaced with the include filename.
 The default is not to present a  The default is not to present a
 hyperlink.  hyperlink.
 .It Cm man Ns = Ns Ar fmt  .It Cm man Ns = Ns Ar fmt Ns Op ; Ns Ar fmt
 The string  The string
 .Ar fmt ,  .Ar fmt ,
 for example,  for example,
Line 361  are replaced with the linked manual's name and section
Line 400  are replaced with the linked manual's name and section
 If no section is included, section 1 is assumed.  If no section is included, section 1 is assumed.
 The default is not to  The default is not to
 present a hyperlink.  present a hyperlink.
   If two formats are given and a file
   .Ar %N.%S
   exists in the current directory, the first format is used;
   otherwise, the second format is used.
 .It Cm style Ns = Ns Ar style.css  .It Cm style Ns = Ns Ar style.css
 The file  The file
 .Ar style.css  .Ar style.css
 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
   If an input file contains at least two non-standard sections,
   print a table of contents near the beginning of the output.
 .El  .El
 .Ss Locale Output  .Ss Locale Output
 By default,  By default,
Line 397  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 582  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 596  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 652  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 667  To page manuals to the terminal:
Line 738  To page manuals to the terminal:
 .Dl $ mandoc -l mandoc.1 man.1 apropos.1 makewhatis.8  .Dl $ mandoc -l 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 678  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 688  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
 follow this format:  follow this format:
 .Bd -ragged -offset indent  .Bd -ragged -offset indent
 .Nm :  .Nm :
 .Ar file : Ns Ar line : Ns Ar column : level : message : macro args  .Ar file : Ns Ar line : Ns Ar column : level : message : macro arguments
 .Pq Ar os  .Pq Ar os
 .Ed  .Ed
 .Pp  .Pp
 Line and column numbers start at 1.  The first three fields identify the
   .Ar file
   name,
   .Ar line
   number, and
   .Ar column
   number of the input file where the message was triggered.
   The line and column numbers start at 1.
 Both are omitted for messages referring to an input file as a whole.  Both are omitted for messages referring to an input file as a whole.
 Macro names and arguments are omitted where meaningless.  All
   .Ar level
   and
   .Ar message
   strings are explained below.
   The name of the
   .Ar macro
   triggering the message and its
   .Ar arguments
   are omitted where meaningless.
 The  The
 .Ar os  .Ar os
 operating system specifier is omitted for messages that are relevant  operating system specifier is omitted for messages that are relevant
Line 716  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 764  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 853  Consider using the conventional
Line 946  Consider using the conventional
 date format  date format
 .Dq "Month dd, yyyy"  .Dq "Month dd, yyyy"
 instead.  instead.
   .It Sy "normalizing date format to" : No ...
   .Pq mdoc , man
   The
   .Ic \&Dd
   or
   .Ic \&TH
   macro provides an abbreviated month name or a day number with a
   leading zero.
   In the formatted output, the month name is written out in full
   and the leading zero is omitted.
 .It Sy "lower case character in document title"  .It Sy "lower case character in document title"
 .Pq mdoc , man  .Pq mdoc , man
 The title is still used as given in the  The title is still used as given in the
Line 995  macro lacks the mandatory section argument.
Line 1098  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 1596  or
Line 1713  or
 .Cm off .  .Cm off .
 The invalid argument is moved out of the macro, which leaves the macro  The invalid argument is moved out of the macro, which leaves the macro
 empty, causing it to toggle the spacing mode.  empty, causing it to toggle the spacing mode.
   .It Sy "argument contains two font escapes"
   .Pq roff
   The second argument of a
   .Ic char
   request contains more than one font escape sequence.
   A wrong font may remain active after using the character.
 .It Sy "unknown font, skipping request"  .It Sy "unknown font, skipping request"
 .Pq man , tbl  .Pq man , tbl
 A  A
Line 1622  The meaning of blank input lines is only well-defined 
Line 1745  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 1641  Start it on a new input line to help formatters produc
Line 1767  Start it on a new input line to help formatters produc
 .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, lacks the
 closing argument delimiter, or the argument has too few characters.  closing argument delimiter, the argument is of an invalid form, or it is
   a character escape sequence with an invalid name.
 If the argument is incomplete,  If the argument is incomplete,
 .Ic \e*  .Ic \e*
 and  and
Line 1654  and
Line 1781  and
 .Ic \ew  .Ic \ew
 to the length of the incomplete argument.  to the length of the incomplete argument.
 All other invalid escape sequences are ignored.  All other invalid escape sequences are ignored.
   .It Sy "undefined escape, printing literally"
   .Pq roff
   In an escape sequence, the first character
   right after the leading backslash is invalid.
   That character is printed literally,
   which is equivalent to ignoring the backslash.
 .It Sy "undefined string, using \(dq\(dq"  .It Sy "undefined string, using \(dq\(dq"
 .Pq roff  .Pq roff
 If a string is used without being defined before,  If a string is used without being defined before,
Line 1717  The invalid character is discarded.
Line 1850  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 1797  or
Line 1934  or
 macro.  macro.
 It may be mistyped or unsupported.  It may be mistyped or unsupported.
 The request or macro is discarded including its arguments.  The request or macro is discarded including its arguments.
   .It Sy "skipping request outside macro"
   .Pq roff
   A
   .Ic shift
   or
   .Ic return
   request occurs outside any macro definition and has no effect.
 .It Sy "skipping insecure request"  .It Sy "skipping insecure request"
 .Pq roff  .Pq roff
 An input file attempted to run a shell command  An input file attempted to run a shell command
Line 1906  When parsing for a request or a user-defined macro nam
Line 2050  When parsing for a request or a user-defined macro nam
 only the escape sequence is discarded.  only the escape sequence is discarded.
 The characters preceding it are used as the request or macro name,  The characters preceding it are used as the request or macro name,
 the characters following it are used as the arguments to the request or macro.  the characters following it are used as the arguments to the request or macro.
   .It Sy "using macro argument outside macro"
   .Pq roff
   The escape sequence \e$ occurs outside any macro definition
   and expands to the empty string.
   .It Sy "argument number is not numeric"
   .Pq roff
   The argument of the escape sequence \e$ is not a digit;
   the escape sequence expands to the empty string.
 .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 1934  macro fails to specify the list type.
Line 2086  macro fails to specify the list type.
 The argument of a  The argument of a
 .Ic \&ce  .Ic \&ce
 request is not a number.  request is not a number.
   .It Sy "argument is not a character"
   .Pq roff
   The first argument of a
   .Ic char
   request is neither a single ASCII character
   nor a single character escape sequence.
   The request is ignored including all its arguments.
 .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 1968  or
Line 2127  or
 .Ic \&gsize  .Ic \&gsize
 statement has a non-numeric or negative argument or no argument at all.  statement has a non-numeric or negative argument or no argument at all.
 The invalid request or statement is ignored.  The invalid request or statement is ignored.
   .It Sy "excessive shift"
   .Pq roff
   The argument of a
   .Ic shift
   request is larger than the number of arguments of the macro that is
   currently being executed.
   All macro arguments are deleted and \en(.$ is set to zero.
 .It Sy "NOT IMPLEMENTED: .so with absolute path or \(dq..\(dq"  .It Sy "NOT IMPLEMENTED: .so with absolute path or \(dq..\(dq"
 .Pq roff  .Pq roff
 For security reasons,  For security reasons,
Line 2090  implementations but not by
Line 2256  implementations but not by
 .Nm  .Nm
 was found in an input file.  was found in an input file.
 It is replaced by a question mark.  It is replaced by a question mark.
   .It Sy "unsupported escape sequence"
   .Pq roff
   An input file contains an escape sequence supported by GNU troff
   or Heirloom troff but not by
   .Nm ,
   and it is likely that this will cause information loss
   or considerable misformatting.
 .It Sy "unsupported roff request"  .It Sy "unsupported roff request"
 .Pq roff  .Pq roff
 An input file contains a  An input file contains a
Line 2117  or
Line 2290  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.
   .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.
 .El  .El
 .Sh SEE ALSO  .Sh SEE ALSO
 .Xr apropos 1 ,  .Xr apropos 1 ,

Legend:
Removed from v.1.224  
changed lines
  Added in v.1.248

CVSweb