version 1.153, 2015/02/16 16:23:54 |
version 1.161, 2015/09/26 12:56:04 |
|
|
.Sh SYNOPSIS |
.Sh SYNOPSIS |
.Nm mandoc |
.Nm mandoc |
.Op Fl acfhkl |
.Op Fl acfhkl |
.Sm off |
.Op Fl I Cm os Ns = Ns Ar name |
.Op Fl I Cm os Li = Ar name |
.Op Fl K Ar encoding |
.Sm on |
|
.Op Fl K Ns Ar encoding |
|
.Op Fl m Ns Ar format |
.Op Fl m Ns Ar format |
.Op Fl O Ns Ar option |
.Op Fl O Ar option |
.Op Fl T Ns Ar output |
.Op Fl T Ar output |
.Op Fl W Ns Ar level |
.Op Fl W Ar level |
.Op Ar |
.Op Ar |
.Sh DESCRIPTION |
.Sh DESCRIPTION |
The |
The |
|
|
text from stdin, implying |
text from stdin, implying |
.Fl m Ns Cm andoc , |
.Fl m Ns Cm andoc , |
and produces |
and produces |
.Fl T Ns Cm locale |
.Fl T Cm locale |
output. |
output. |
.Pp |
.Pp |
The options are as follows: |
The options are as follows: |
Line 77 This overrides any earlier |
|
Line 75 This overrides any earlier |
|
and |
and |
.Fl l |
.Fl l |
options. |
options. |
.Sm off |
.It Fl I Cm os Ns = Ns Ar name |
.It Fl I Cm os Li = Ar name |
|
.Sm on |
|
Override the default operating system |
Override the default operating system |
.Ar name |
.Ar name |
for the |
for the |
|
|
Display only the SYNOPSIS lines. |
Display only the SYNOPSIS lines. |
Implies |
Implies |
.Fl c . |
.Fl c . |
.It Fl K Ns Ar encoding |
.It Fl K Ar encoding |
Specify the input encoding. |
Specify the input encoding. |
The supported |
The supported |
.Ar encoding |
.Ar encoding |
|
|
for available formats. |
for available formats. |
Defaults to |
Defaults to |
.Fl m Ns Cm andoc . |
.Fl m Ns Cm andoc . |
.It Fl O Ns Ar option |
.It Fl O Ar option |
Comma-separated output options. |
Comma-separated output options. |
.It Fl T Ns Ar output |
.It Fl T Ar output |
Output format. |
Output format. |
See |
See |
.Sx Output Formats |
.Sx Output Formats |
for available formats. |
for available formats. |
Defaults to |
Defaults to |
.Fl T Ns Cm locale . |
.Fl T Cm locale . |
.It Fl W Ns Ar level |
.It Fl W Ar level |
Specify the minimum message |
Specify the minimum message |
.Ar level |
.Ar level |
to be reported on the standard error output and to affect the exit status. |
to be reported on the standard error output and to affect the exit status. |
|
|
for details. |
for details. |
.Pp |
.Pp |
The special option |
The special option |
.Fl W Ns Cm stop |
.Fl W Cm stop |
tells |
tells |
.Nm |
.Nm |
to exit after parsing a file that causes warnings or errors of at least |
to exit after parsing a file that causes warnings or errors of at least |
|
|
and |
and |
.Cm stop |
.Cm stop |
are requested, they can be joined with a comma, for example |
are requested, they can be joined with a comma, for example |
.Fl W Ns Cm error , Ns Cm stop . |
.Fl W 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. |
|
|
utility accepts the following |
utility accepts the following |
.Fl T |
.Fl T |
arguments, which correspond to output modes: |
arguments, which correspond to output modes: |
.Bl -tag -width "-Tlocale" |
.Bl -tag -width "-T locale" |
.It Fl T Ns Cm ascii |
.It Fl T Cm ascii |
Produce 7-bit ASCII output. |
Produce 7-bit ASCII output. |
See |
See |
.Sx ASCII Output . |
.Sx ASCII Output . |
.It Fl T Ns Cm html |
.It Fl T Cm html |
Produce HTML5, CSS1, and MathML output. |
Produce HTML5, CSS1, and MathML output. |
See |
See |
.Sx HTML Output . |
.Sx HTML Output . |
.It Fl T Ns Cm lint |
.It Fl T Cm lint |
Parse only: produce no output. |
Parse only: produce no output. |
Implies |
Implies |
.Fl W Ns Cm warning . |
.Fl W Cm warning . |
.It Fl T Ns Cm locale |
.It Fl T Cm locale |
Encode output using the current locale. |
Encode output using the current locale. |
This is the default. |
This is the default. |
See |
See |
.Sx Locale Output . |
.Sx Locale Output . |
.It Fl T Ns Cm man |
.It Fl T Cm man |
Produce |
Produce |
.Xr man 7 |
.Xr man 7 |
format output. |
format output. |
See |
See |
.Sx Man Output . |
.Sx Man Output . |
.It Fl T Ns Cm pdf |
.It Fl T Cm pdf |
Produce PDF output. |
Produce PDF output. |
See |
See |
.Sx PDF Output . |
.Sx PDF Output . |
.It Fl T Ns Cm ps |
.It Fl T Cm ps |
Produce PostScript output. |
Produce PostScript output. |
See |
See |
.Sx PostScript Output . |
.Sx PostScript Output . |
.It Fl T Ns Cm tree |
.It Fl T Cm tree |
Produce an indented parse tree. |
Produce an indented parse tree. |
.It Fl T Ns Cm utf8 |
See |
|
.Sx Syntax tree output . |
|
.It Fl T Cm utf8 |
Encode output in the UTF\-8 multi-byte format. |
Encode output in the UTF\-8 multi-byte format. |
See |
See |
.Sx UTF\-8 Output . |
.Sx UTF\-8 Output . |
.It Fl T Ns Cm xhtml |
.It Fl T Cm xhtml |
This is a synonym for |
This is a synonym for |
.Fl T Ns Cm html . |
.Fl T Cm html . |
.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 ASCII Output |
.Ss ASCII Output |
Output produced by |
Output produced by |
.Fl T Ns Cm ascii |
.Fl T Cm ascii |
is rendered in standard 7-bit ASCII documented in |
is rendered in standard 7-bit ASCII documented in |
.Xr ascii 7 . |
.Xr ascii 7 . |
.Pp |
.Pp |
Line 343 which will normalise to \(>=58. |
|
Line 341 which will normalise to \(>=58. |
|
.El |
.El |
.Ss HTML Output |
.Ss HTML Output |
Output produced by |
Output produced by |
.Fl T Ns Cm html |
.Fl T Cm html |
conforms to HTML5 using optional self-closing tags. |
conforms to HTML5 using optional self-closing tags. |
Default styles use only CSS1. |
Default styles use only CSS1. |
Equations rendered from |
Equations rendered from |
|
|
.Pa example.style.css |
.Pa example.style.css |
file documents style-sheet classes available for customising output. |
file 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 Ns Ar style , |
.Fl O Cm style , |
.Fl T Ns Cm html |
.Fl T Cm html |
defaults to simple output (via an embedded style-sheet) |
defaults to simple output (via an embedded style-sheet) |
readable in any graphical or text-based web |
readable in any graphical or text-based web |
browser. |
browser. |
|
|
.El |
.El |
.Ss Locale Output |
.Ss Locale Output |
Locale-depending output encoding is triggered with |
Locale-depending output encoding is triggered with |
.Fl T Ns Cm locale . |
.Fl T Cm locale . |
This is the default. |
This is the default. |
.Pp |
.Pp |
This option is not available on all systems: systems without locale |
This option is not available on all systems: systems without locale |
support, or those whose internal representation is not natively UCS-4, |
support, or those whose internal representation is not natively UCS-4, |
will fall back to |
will fall back to |
.Fl T Ns Cm ascii . |
.Fl T Cm ascii . |
See |
See |
.Sx ASCII Output |
.Sx ASCII Output |
for font style specification and available command-line arguments. |
for font style specification and available command-line arguments. |
Line 447 level controls which |
|
Line 445 level controls which |
|
are displayed before copying the input to the output. |
are displayed before copying the input to the output. |
.Ss PDF Output |
.Ss PDF Output |
PDF-1.1 output may be generated by |
PDF-1.1 output may be generated by |
.Fl T Ns Cm pdf . |
.Fl T Cm pdf . |
See |
See |
.Sx PostScript Output |
.Sx PostScript Output |
for |
for |
Line 457 arguments and defaults. |
|
Line 455 arguments and defaults. |
|
PostScript |
PostScript |
.Qq Adobe-3.0 |
.Qq Adobe-3.0 |
Level-2 pages may be generated by |
Level-2 pages may be generated by |
.Fl T Ns Cm ps . |
.Fl T 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. |
Margins are calculated as 1/9 the page length and width. |
|
|
.El |
.El |
.Ss UTF\-8 Output |
.Ss UTF\-8 Output |
Use |
Use |
.Fl T Ns Cm utf8 |
.Fl T Cm utf8 |
to force a UTF\-8 locale. |
to force a UTF\-8 locale. |
See |
See |
.Sx Locale Output |
.Sx Locale Output |
for details and options. |
for details and options. |
|
.Ss Syntax tree output |
|
Use |
|
.Fl T Cm tree |
|
to show a human readable representation of the syntax tree. |
|
It is useful for debugging the source code of manual pages. |
|
The exact format is subject to change, don't write parsers for it. |
|
Each output line shows one syntax tree node. |
|
Child nodes are indented with respect to their parent node. |
|
The columns are: |
|
.Pp |
|
.Bl -enum -compact |
|
.It |
|
For macro nodes, the macro name; for text and |
|
.Xr tbl 7 |
|
nodes, the content. There is a special format for |
|
.Xr eqn 7 |
|
nodes. |
|
.It |
|
Node type (text, elem, block, head, body, body-end, tail, tbl, eqn). |
|
.It |
|
Flags: |
|
.Bl -dash -compact |
|
.It |
|
An opening parenthesis if the node is an opening delimiter. |
|
.It |
|
An asterisk if the node starts a new input line. |
|
.It |
|
The input line number (starting at one). |
|
.It |
|
A colon. |
|
.It |
|
The input column number (starting at one). |
|
.It |
|
A closing parenthesis if the node is a closing delimiter. |
|
.It |
|
A full stop if the node ends a sentence. |
|
.El |
|
.El |
.Sh ENVIRONMENT |
.Sh ENVIRONMENT |
.Bl -tag -width MANPAGER |
.Bl -tag -width MANPAGER |
.It Ev MANPAGER |
.It Ev MANPAGER |
Line 506 Specifies the pagination program to use when |
|
Line 542 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, |
.Pa /usr/bin/more Fl s |
.Xr more 1 |
|
.Fl s |
will be used. |
will be used. |
.El |
.El |
.Sh EXIT STATUS |
.Sh EXIT STATUS |
Line 525 they were lower than the requested |
|
Line 562 they were lower than the requested |
|
.Ar level . |
.Ar level . |
.It 2 |
.It 2 |
At least one warning occurred, but no error, and |
At least one warning occurred, but no error, and |
.Fl W Ns Cm warning |
.Fl W Cm warning |
was specified. |
was specified. |
.It 3 |
.It 3 |
At least one parsing error occurred, |
At least one parsing error occurred, |
but no unsupported feature was encountered, and |
but no unsupported feature was encountered, and |
.Fl W Ns Cm error |
.Fl W Cm error |
or |
or |
.Fl W Ns Cm warning |
.Fl W Cm warning |
was specified. |
was specified. |
.It 4 |
.It 4 |
At least one unsupported feature was encountered, and |
At least one unsupported feature was encountered, and |
.Fl W Ns Cm unsupp , |
.Fl W Cm unsupp , |
.Fl W Ns Cm error |
.Fl W Cm error |
or |
or |
.Fl W Ns Cm warning |
.Fl W Cm warning |
was specified. |
was specified. |
.It 5 |
.It 5 |
Invalid command line arguments were specified. |
Invalid command line arguments were specified. |
Line 553 to exit at once, possibly in the middle of parsing or |
|
Line 590 to exit at once, possibly in the middle of parsing or |
|
.El |
.El |
.Pp |
.Pp |
Note that selecting |
Note that selecting |
.Fl T Ns Cm lint |
.Fl T Cm lint |
output mode implies |
output mode implies |
.Fl W Ns Cm warning . |
.Fl W Cm warning . |
.Sh EXAMPLES |
.Sh EXAMPLES |
To page manuals to the terminal: |
To page manuals to the terminal: |
.Pp |
.Pp |
.Dl $ mandoc \-Wall,stop mandoc.1 2\*(Gt&1 | less |
.Dl $ mandoc \-W all,stop mandoc.1 2\*(Gt&1 | less |
.Dl $ 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 |
.Dl $ mandoc \-Thtml -Ostyle=style.css mdoc.7 \*(Gt mdoc.7.html |
.Dl $ mandoc \-T html -O style=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 `find /usr/src -name \e*\e.[1-9]` |
.Dl $ mandoc \-T lint \(gafind /usr/src -name \e*\e.[1-9]\(ga |
.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 \-Tps \-Opaper=a4 mdoc.7 man.7 \*(Gt manuals.ps |
.Dl $ mandoc \-T ps \-O paper=a4 mdoc.7 man.7 \*(Gt manuals.ps |
.Pp |
.Pp |
Convert a modern |
Convert a modern |
.Xr mdoc 7 |
.Xr mdoc 7 |
Line 584 format, for use on systems lacking an |
|
Line 621 format, for use on systems lacking an |
|
.Xr mdoc 7 |
.Xr mdoc 7 |
parser: |
parser: |
.Pp |
.Pp |
.Dl $ mandoc \-Tman foo.mdoc \*(Gt foo.man |
.Dl $ mandoc \-T man foo.mdoc \*(Gt foo.man |
.Sh DIAGNOSTICS |
.Sh DIAGNOSTICS |
Messages displayed by |
Messages displayed by |
.Nm |
.Nm |
Line 651 levels except those about non-existent or unreadable i |
|
Line 688 levels except those about non-existent or unreadable i |
|
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 Ns Cm lint |
.Fl T Cm lint |
output mode. |
output mode. |
.Ss Warnings related to the document prologue |
.Ss Warnings related to the document prologue |
.Bl -ohang |
.Bl -ohang |
Line 771 This may confuse |
|
Line 808 This may confuse |
|
.Xr makewhatis 8 |
.Xr makewhatis 8 |
and |
and |
.Xr apropos 1 . |
.Xr apropos 1 . |
.It Sy "bad NAME section contents" |
.It Sy "NAME section without name" |
.Pq mdoc |
.Pq mdoc |
The last node in the NAME section is not an |
The NAME section does not contain any |
|
.Ic \&Nm |
|
child macro. |
|
.It Sy "NAME section without description" |
|
.Pq mdoc |
|
The NAME section lacks the mandatory |
.Ic \&Nd |
.Ic \&Nd |
macro, or any preceding macro is not |
child macro. |
.Ic \&Nm , |
.It Sy "description not at the end of NAME" |
or the NAME section is completely empty. |
.Pq mdoc |
This may confuse |
The NAME section does contain an |
.Xr makewhatis 8 |
.Ic \&Nd |
|
child macro, but other content follows it. |
|
.It Sy "bad NAME section content" |
|
.Pq mdoc |
|
The NAME section contains plain text or macros other than |
|
.Ic \&Nm |
and |
and |
.Xr apropos 1 . |
.Ic \&Nd . |
.It Sy "missing description line, using \(dq\(dq" |
.It Sy "missing description line, using \(dq\(dq" |
.Pq mdoc |
.Pq mdoc |
The |
The |
Line 807 In the SEE ALSO section, an |
|
Line 854 In the SEE ALSO section, an |
|
macro with a lower section number follows one with a higher number, |
macro with a lower section number follows one with a higher number, |
or two |
or two |
.Ic \&Xr |
.Ic \&Xr |
macros refering to the same section are out of alphabetical order. |
macros referring to the same section are out of alphabetical order. |
.It Sy "unusual Xr punctuation" |
.It Sy "unusual Xr punctuation" |
.Pq mdoc |
.Pq mdoc |
In the SEE ALSO section, punctuation between two |
In the SEE ALSO section, punctuation between two |
Line 927 list block contains text or macros before the first |
|
Line 974 list block contains text or macros before the first |
|
.Ic \&It |
.Ic \&It |
macro. |
macro. |
The offending children are moved before the beginning of the list. |
The offending children are moved before the beginning of the list. |
.It Sy ".Vt block has child macro" |
|
.Pq mdoc |
|
The |
|
.Ic \&Vt |
|
macro supports plain text arguments only. |
|
Formatting may be ugly and semantic searching |
|
for the affected content might not work. |
|
.It Sy "fill mode already enabled, skipping" |
.It Sy "fill mode already enabled, skipping" |
.Pq man |
.Pq man |
A |
A |
Line 1687 or a request of the |
|
Line 1727 or a request of the |
|
.Ic \&de |
.Ic \&de |
family with more than two arguments |
family with more than two arguments |
.It |
.It |
|
.Ic \&Dt |
|
with more than three arguments |
|
.It |
.Ic \&TH |
.Ic \&TH |
with more than five arguments |
with more than five arguments |
.It |
.It |
Line 1754 as if they were a text line. |
|
Line 1797 as if they were a text line. |
|
.Xr roff 7 , |
.Xr roff 7 , |
.Xr tbl 7 |
.Xr tbl 7 |
.Sh AUTHORS |
.Sh AUTHORS |
|
.An -nosplit |
The |
The |
.Nm |
.Nm |
utility was written by |
utility was written by |
Line 1762 and is maintained by |
|
Line 1806 and is maintained by |
|
.An Ingo Schwarze Aq Mt schwarze@openbsd.org . |
.An Ingo Schwarze Aq Mt schwarze@openbsd.org . |
.Sh BUGS |
.Sh BUGS |
In |
In |
.Fl T Ns Cm html , |
.Fl T Cm html , |
the maximum size of an element attribute is determined by |
the maximum size of an element attribute is determined by |
.Dv BUFSIZ , |
.Dv BUFSIZ , |
which is usually 1024 bytes. |
which is usually 1024 bytes. |
Be aware of this when setting long link |
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 Cm style Ns = Ns Ar really/long/link . |