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

Diff for /mandoc/mandoc.1 between version 1.68 and 1.92

version 1.68, 2010/07/01 14:23:45 version 1.92, 2011/09/18 14:14:15
Line 1 
Line 1 
 .\"     $Id$  .\"     $Id$
 .\"  .\"
 .\" Copyright (c) 2009 Kristaps Dzonsons <kristaps@bsd.lv>  .\" Copyright (c) 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
 .\"  .\"
 .\" 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 23 
Line 23 
 .Sh SYNOPSIS  .Sh SYNOPSIS
 .Nm mandoc  .Nm mandoc
 .Op Fl V  .Op Fl V
 .Op Fl f Ns Ar option  
 .Op Fl m Ns Ar format  .Op Fl m Ns Ar format
 .Op Fl O Ns Ar option  .Op Fl O Ns Ar option
 .Op Fl T Ns Ar output  .Op Fl T Ns Ar output
 .Op Fl W Ns Ar err  .Op Fl W Ns Ar level
 .Op Ar file...  .Op Ar
 .Sh DESCRIPTION  .Sh DESCRIPTION
 The  The
 .Nm  .Nm
Line 37  utility formats
Line 36  utility formats
 manual pages for display.  manual pages for display.
 The arguments are as follows:  The arguments are as follows:
 .Bl -tag -width Ds  .Bl -tag -width Ds
 .It Fl f Ns Ar option  
 Comma-separated compiler options.  
 See  
 .Sx Compiler Options  
 for details.  
 .It Fl m Ns Ar format  .It Fl m Ns Ar format
 Input format.  Input format.
 See  See
Line 60  Defaults to
Line 54  Defaults to
 .Fl T Ns Cm ascii .  .Fl T Ns Cm ascii .
 .It Fl V  .It Fl V
 Print version and exit.  Print version and exit.
 .It Fl W Ns Ar err  .It Fl W Ns Ar level
 Comma-separated warning options.  Specify the minimum message
 Use  .Ar level
   to be reported on the standard error output and to affect the exit status.
   The
   .Ar level
   can be
   .Cm warning ,
   .Cm error ,
   or
   .Cm fatal .
   The default is
   .Fl W Ns Cm fatal ;
 .Fl W Ns Cm all  .Fl W Ns Cm all
 to print warnings,  is an alias for
 .Fl W Ns Cm error  .Fl W Ns Cm warning .
 for warnings to be considered errors and cause utility  See
 termination.  .Sx EXIT STATUS
 Multiple  and
 .Fl W  .Sx DIAGNOSTICS
 arguments may be comma-separated, such as  for details.
 .Fl W Ns Cm error , Ns Cm all .  .Pp
   The special option
   .Fl W Ns Cm stop
   tells
   .Nm
   to exit after parsing a file that causes warnings or errors of at least
   the requested level.
   No formatted output will be produced from that file.
   If both a
   .Ar level
   and
   .Cm stop
   are requested, they can be joined with a comma, for example
   .Fl W Ns Cm error , Ns Cm stop .
 .It Ar file  .It Ar file
 Read input from zero or more files.  Read input from zero or more files.
 If unspecified, reads from stdin.  If unspecified, reads from stdin.
Line 91  text from stdin, implying
Line 108  text from stdin, implying
 and produces  and produces
 .Fl T Ns Cm ascii  .Fl T Ns Cm ascii
 output.  output.
 .Pp  
 .Ex -std mandoc  
 .Ss Input Formats  .Ss Input Formats
 The  The
 .Nm  .Nm
Line 136  specified and
Line 151  specified and
 or  or
 .Fl m Ns Cm an  .Fl m Ns Cm an
 is specified, then this format is used exclusively.  is specified, then this format is used exclusively.
 .Ss Compiler Options  
 Default  
 .Xr mdoc 7  
 and  
 .Xr man 7  
 compilation behaviour may be overridden with the  
 .Fl f  
 flag.  
 .Bl -tag -width Ds  
 .It Fl f Ns Cm ign-errors  
 When parsing multiple files, don't halt when one errors out.  
 Useful with  
 .Fl T Ns Cm lint  
 over a large set of manuals passed on the command line.  
 .It Fl f Ns Cm ign-escape  
 Ignore invalid escape sequences.  
 This is the default, but the option can be used to override an earlier  
 .Fl f Ns Cm strict .  
 .It Fl f Ns Cm ign-scope  
 When rewinding the scope of a block macro, forces the compiler to ignore  
 scope violations.  
 This can seriously mangle the resulting tree.  
 .Pq mdoc only  
 .It Fl f Ns Cm no-ign-escape  
 Do not ignore invalid escape sequences.  
 .It Fl f Ns Cm no-ign-macro  
 Do not ignore unknown macros at the start of input lines.  
 .It Fl f Ns Cm strict  
 Implies  
 .Fl f Ns Cm no-ign-escape  
 and  
 .Fl f Ns Cm no-ign-macro .  
 .El  
 .Ss Output Formats  .Ss Output Formats
 The  The
 .Nm  .Nm
Line 176  utility accepts the following
Line 158  utility accepts the following
 .Fl T  .Fl T
 arguments, which correspond to output modes:  arguments, which correspond to output modes:
 .Bl -tag -width Ds  .Bl -tag -width Ds
   .It Fl T Ns Cm utf8
   Encode output in the UTF\-8 multi-byte format.
   See
   .Sx UTF\-8 Output .
   .It Fl T Ns Cm locale
   Encode output using the current locale.
   See
   .Sx Locale Output .
 .It Fl T Ns Cm ascii  .It Fl T Ns Cm ascii
 Produce 7-bit ASCII output, backspace-encoded for bold and underline  Produce 7-bit ASCII output.
 styles.  
 This is the default.  This is the default.
 See  See
 .Sx ASCII Output .  .Sx ASCII Output .
 .It Fl T Ns Cm html  .It Fl T Ns Cm html
 Produce strict HTML-4.01 output, with a sane default style.  Produce strict CSS1/HTML-4.01 output.
 See  See
 .Sx HTML Output .  .Sx HTML Output .
 .It Fl T Ns Cm lint  .It Fl T Ns Cm lint
 Parse only: produce no output.  Parse only: produce no output.
 Implies  Implies
 .Fl W Ns Cm all  .Fl W Ns Cm warning .
 and  .It Fl T Ns Cm man
 .Fl f Ns Cm strict .  Produce output in
   .Xr man 7
   format; only useful when applied to
   .Fl m Ns Cm doc
   input.
   .It Fl T Ns Cm pdf
   Produce PDF output.
   See
   .Sx PDF Output .
 .It Fl T Ns Cm ps  .It Fl T Ns Cm ps
 Produce PostScript output.  Produce PostScript output.
 See  See
Line 199  See
Line 196  See
 .It Fl T Ns Cm tree  .It Fl T Ns Cm tree
 Produce an indented parse tree.  Produce an indented parse tree.
 .It Fl T Ns Cm xhtml  .It Fl T Ns Cm xhtml
 Produce strict XHTML-1.0 output, with a sane default style.  Produce strict CSS1/XHTML-1.0 output.
 See  See
 .Sx XHTML Output .  .Sx XHTML Output .
 .El  .El
 .Pp  .Pp
 If multiple input files are specified, these will be processed by the  If multiple input files are specified, these will be processed by the
 corresponding filter in-order.  corresponding filter in-order.
   .Ss UTF\-8 Output
   Use
   .Fl T Ns Cm utf8
   to force a UTF\-8 locale.
   See
   .Sx Locale Output
   for details and options.
   .Ss Locale Output
   Locale-depending output encoding is triggered with
   .Fl T Ns Cm locale .
   This option is not available on all systems: systems without locale
   support, or those whose internal representation is not natively UCS-4,
   will fall back to
   .Fl T Ns Cm ascii .
   See
   .Sx ASCII Output
   for font style specification and available command-line arguments.
 .Ss ASCII Output  .Ss ASCII Output
 Output produced by  Output produced by
 .Fl T Ns Cm ascii ,  .Fl T Ns Cm ascii ,
Line 226  Emboldened characters are rendered as
Line 240  Emboldened characters are rendered as
 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.
   If no equivalent is found,
   .Sq \&?
   is used instead.
 .Pp  .Pp
 Output width is limited to 78 visible columns unless literal input lines  Output width is limited to 78 visible columns unless literal input lines
 exceed this limit.  exceed this limit.
Line 244  Output produced by
Line 261  Output produced by
 .Fl T Ns Cm html  .Fl T Ns Cm html
 conforms to HTML-4.01 strict.  conforms to HTML-4.01 strict.
 .Pp  .Pp
 Font styles and page structure are applied using CSS2.  
 By default, no font style is applied to any text,  
 although CSS2 is hard-coded to format  
 the basic structure of output.  
 .Pp  
 The  The
 .Pa example.style.css  .Pa example.style.css
 file documents the range of styles applied to output and, if used, will  file documents style-sheet classes available for customising output.
 cause rendered documents to appear as they do in  If a style-sheet is not specified with
 .Fl T Ns Cm ascii .  .Fl O Ns Ar style ,
   .Fl T Ns Cm html
   defaults to simple output readable in any graphical or text-based web
   browser.
 .Pp  .Pp
 Special characters are rendered in decimal-encoded UTF-8.  Special characters are rendered in decimal-encoded UTF\-8.
 .Pp  .Pp
 The following  The following
 .Fl O  .Fl O
Line 304  Level-2 pages may be generated by
Line 319  Level-2 pages may be generated by
 .Fl T Ns Cm ps .  .Fl T Ns Cm ps .
 Output pages default to letter sized and are rendered in the Times font  Output pages default to letter sized and are rendered in the Times font
 family, 11-point.  family, 11-point.
   Margins are calculated as 1/9 the page length and width.
   Line-height is 1.4m.
 .Pp  .Pp
 Special characters are rendered as in  Special characters are rendered as in
 .Sx ASCII Output .  .Sx ASCII Output .
Line 329  If an unknown value is encountered,
Line 346  If an unknown value is encountered,
 .Ar letter  .Ar letter
 is used.  is used.
 .El  .El
   .Ss PDF Output
   PDF-1.1 output may be generated by
   .Fl T Ns Cm pdf .
   See
   .Sx PostScript Output
   for
   .Fl O
   arguments and defaults.
 .Ss XHTML Output  .Ss XHTML Output
 Output produced by  Output produced by
 .Fl T Ns Cm xhtml  .Fl T Ns Cm xhtml
Line 338  See
Line 363  See
 .Sx HTML Output  .Sx HTML Output
 for details; beyond generating XHTML tags instead of HTML tags, these  for details; beyond generating XHTML tags instead of HTML tags, these
 output modes are identical.  output modes are identical.
   .Sh EXIT STATUS
   The
   .Nm
   utility exits with one of the following values, controlled by the message
   .Ar level
   associated with the
   .Fl W
   option:
   .Pp
   .Bl -tag -width Ds -compact
   .It 0
   No warnings or errors occurred, or those that did were ignored because
   they were lower than the requested
   .Ar level .
   .It 2
   At least one warning occurred, but no error, and
   .Fl W Ns Cm warning
   was specified.
   .It 3
   At least one parsing error occurred, but no fatal error, and
   .Fl W Ns Cm error
   or
   .Fl W Ns Cm warning
   was specified.
   .It 4
   A fatal parsing error occurred.
   .It 5
   Invalid command line arguments were specified.
   No input files have been read.
   .It 6
   An operating system error occurred, for example memory exhaustion or an
   error accessing input files.
   Such errors cause
   .Nm
   to exit at once, possibly in the middle of parsing or formatting a file.
   .El
   .Pp
   Note that selecting
   .Fl T Ns Cm lint
   output mode implies
   .Fl W Ns Cm warning .
 .Sh EXAMPLES  .Sh EXAMPLES
 To page manuals to the terminal:  To page manuals to the terminal:
 .Pp  .Pp
 .D1 $ mandoc \-Wall,error \-fstrict mandoc.1 2\*(Gt&1 | less  .Dl $ mandoc \-Wall,stop mandoc.1 2\*(Gt&1 | less
 .D1 $ mandoc mandoc.1 mdoc.3 mdoc.7 | less  .Dl $ mandoc mandoc.1 mdoc.3 mdoc.7 | less
 .Pp  .Pp
 To produce HTML manuals with  To produce HTML manuals with
 .Ar style.css  .Ar style.css
 as the style-sheet:  as the style-sheet:
 .Pp  .Pp
 .D1 $ mandoc \-Thtml -Ostyle=style.css mdoc.7 \*(Gt mdoc.7.html  .Dl $ mandoc \-Thtml -Ostyle=style.css mdoc.7 \*(Gt mdoc.7.html
 .Pp  .Pp
 To check over a large set of manuals:  To check over a large set of manuals:
 .Pp  .Pp
 .Dl $ mandoc \-Tlint \-fign-errors `find /usr/src -name \e*\e.[1-9]`  .Dl $ mandoc \-Tlint `find /usr/src -name \e*\e.[1-9]`
 .Pp  .Pp
 To produce a series of PostScript manuals for A4 paper:  To produce a series of PostScript manuals for A4 paper:
 .Pp  .Pp
 .D1 $ mandoc \-Tps \-Opaper=a4 mdoc.7 man.7 \*(Gt manuals.ps  .Dl $ mandoc \-Tps \-Opaper=a4 mdoc.7 man.7 \*(Gt manuals.ps
   .Pp
   Convert a modern
   .Xr mdoc 7
   manual to the older
   .Xr man 7
   format, for use on systems lacking an
   .Xr mdoc 7
   parser:
   .Pp
   .Dl $ mandoc \-Tman foo.mdoc \*(Gt foo.man
   .Sh DIAGNOSTICS
   Standard error messages reporting parsing errors are prefixed by
   .Pp
   .Sm off
   .D1 Ar file : line : column : \ level :
   .Sm on
   .Pp
   where the fields have the following meanings:
   .Bl -tag -width "column"
   .It Ar file
   The name of the input file causing the message.
   .It Ar line
   The line number in that input file.
   Line numbering starts at 1.
   .It Ar column
   The column number in that input file.
   Column numbering starts at 1.
   If the issue is caused by a word, the column number usually
   points to the first character of the word.
   .It Ar level
   The message level, printed in capital letters.
   .El
   .Pp
   Message levels have the following meanings:
   .Bl -tag -width "warning"
   .It Cm fatal
   The parser is unable to parse a given input file at all.
   No formatted output is produced from that input file.
   .It Cm error
   An input file contains syntax that cannot be safely interpreted,
   either because it is invalid or because
   .Nm
   does not implement it yet.
   By discarding part of the input or inserting missing tokens,
   the parser is able to continue, and the error does not prevent
   generation of formatted output, but typically, preparing that
   output involves information loss, broken document structure
   or unintended formatting.
   .It Cm warning
   An input file uses obsolete, discouraged or non-portable syntax.
   All the same, the meaning of the input is unambiguous and a correct
   rendering can be produced.
   Documents causing warnings may render poorly when using other
   formatting tools instead of
   .Nm .
   .El
   .Pp
   Messages of the
   .Cm warning
   and
   .Cm error
   levels are hidden unless their level, or a lower level, is requested using a
   .Fl W
   option or
   .Fl T Ns Cm lint
   output mode.
   .Pp
   The
   .Nm
   utility may also print messages related to invalid command line arguments
   or operating system errors, for example when memory is exhausted or
   input files cannot be read.
   Such messages do not carry the prefix described above.
 .Sh COMPATIBILITY  .Sh COMPATIBILITY
 This section summarises  This section summarises
 .Nm  .Nm
 compatibility with  compatibility with GNU troff.
 .Xr groff 1 .  
 Each input and output format is separately noted.  Each input and output format is separately noted.
 .Ss ASCII Compatibility  .Ss ASCII Compatibility
 .Bl -bullet -compact  .Bl -bullet -compact
 .It  .It
 The  Unrenderable unicode codepoints specified with
 .Sq \e~  .Sq \e[uNNNN]
 special character doesn't produce expected behaviour in  escapes are printed as
 .Fl T Ns Cm ascii .  .Sq \&?
   in mandoc.
   In GNU troff, these raise an error.
 .It  .It
 The  The
 .Sq \&Bd \-literal  .Sq \&Bd \-literal
Line 381  in
Line 521  in
 .Fl T Ns Cm ascii  .Fl T Ns Cm ascii
 are synonyms, as are \-filled and \-ragged.  are synonyms, as are \-filled and \-ragged.
 .It  .It
 In  In historic GNU troff, the
 .Xr groff 1 ,  
 the  
 .Sq \&Pa  .Sq \&Pa
 .Xr mdoc 7  .Xr mdoc 7
 macro does not underline when scoped under an  macro does not underline when scoped under an
Line 408  macro in
Line 546  macro in
 has no effect.  has no effect.
 .It  .It
 Words aren't hyphenated.  Words aren't hyphenated.
 .It  
 In normal mode (not a literal block), blocks of spaces aren't preserved,  
 so double spaces following sentence closure are reduced to a single space;  
 .Xr groff 1  
 retains spaces.  
 .It  
 Sentences are unilaterally monospaced.  
 .El  .El
 .Ss HTML/XHTML Compatibility  .Ss HTML/XHTML Compatibility
 .Bl -bullet -compact  .Bl -bullet -compact
Line 447  and
Line 578  and
 lists render similarly.  lists render similarly.
 .El  .El
 .Sh SEE ALSO  .Sh SEE ALSO
   .Xr eqn 7 ,
 .Xr man 7 ,  .Xr man 7 ,
 .Xr mandoc_char 7 ,  .Xr mandoc_char 7 ,
 .Xr mdoc 7  .Xr mdoc 7 ,
   .Xr roff 7 ,
   .Xr tbl 7
 .Sh AUTHORS  .Sh AUTHORS
 The  The
 .Nm  .Nm
 utility was written by  utility was written by
 .An Kristaps Dzonsons Aq kristaps@bsd.lv .  .An Kristaps Dzonsons ,
   .Mt kristaps@bsd.lv .
 .Sh CAVEATS  .Sh CAVEATS
 The  
 .Fl T Ns Cm html  
 and  
 .Fl T Ns Cm xhtml  
 CSS2 styling used for  
 .Fl m Ns Cm doc  
 input lists does not render properly in older browsers, such as Internet  
 Explorer 6 and earlier.  
 .Pp  
 In  In
 .Fl T Ns Cm html  .Fl T Ns Cm html
 and  and
Line 476  Be aware of this when setting long link
Line 602  Be aware of this when setting long link
 formats such as  formats such as
 .Fl O Ns Cm style Ns = Ns Ar really/long/link .  .Fl O Ns Cm style Ns = Ns Ar really/long/link .
 .Pp  .Pp
 The  
 .Fl T Ns Cm html  
 and  
 .Fl T Ns Cm xhtml  
 output modes don't render the  
 .Sq \es  
 font size escape documented in  
 .Xr mdoc 7  
 and  
 .Xr man 7 .  
 .Pp  
 Nesting elements within next-line element scopes of  Nesting elements within next-line element scopes of
 .Fl m Ns Cm an ,  .Fl m Ns Cm an ,
 such as  such as
Line 499  and
Line 614  and
 .Fl T Ns Cm xhtml  .Fl T Ns Cm xhtml
 and cause them to forget the formatting of the prior next-line scope.  and cause them to forget the formatting of the prior next-line scope.
 .Pp  .Pp
 The  
 .Sq i  
 macro in  
 .Fl m Ns Cm an  
 should italicise all subsequent text if a line argument is not provided.  
 This behaviour is not implemented.  
 The  The
 .Sq \(aq  .Sq \(aq
 control character is an alias for the standard macro control character  control character is an alias for the standard macro control character

Legend:
Removed from v.1.68  
changed lines
  Added in v.1.92

CVSweb