version 1.231, 2018/11/22 11:30:23 |
version 1.240, 2019/07/10 19:39:01 |
|
|
.\" $Id$ |
.\" $Id$ |
.\" |
.\" |
.\" 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> |
.\" Copyright (c) 2012, 2014-2019 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 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 |
|
|
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 |
|
|
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 671 No input files have been read. |
|
Line 698 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 686 To page manuals to the terminal: |
|
Line 713 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 697 To check over a large set of manuals: |
|
Line 724 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 734 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 |
|
|
.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 |
|
|
.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 1657 The meaning of blank input lines is only well-defined |
|
Line 1706 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 1676 Start it on a new input line to help formatters produc |
|
Line 1728 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 |
|
|
.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 2154 implementations but not by |
|
Line 2213 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 |
|
|
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 , |