1 .\" $Id: mandoc.1,v 1.38 2009/09/21 13:44:56 kristaps Exp $
3 .\" Copyright (c) 2009 Kristaps Dzonsons <kristaps@kth.se>
5 .\" Permission to use, copy, modify, and distribute this software for any
6 .\" purpose with or without fee is hereby granted, provided that the above
7 .\" copyright notice and this permission notice appear in all copies.
9 .\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 .\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 .\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 .\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 .\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17 .Dd $Mdocdate: September 21 2009 $
24 .Nd format and display UNIX manuals
29 .Op Fl f Ns Ar option...
31 .Op Fl o Ns Ar option...
43 manual pages for display. The arguments are as follows:
46 .It Fl f Ns Ar option...
47 Comma-separated compiler options. See
54 for available formats. Defaults to
58 Comma-separated output options. See
65 for available formats. Defaults to
69 Print version and exit.
72 Comma-separated warning options. Use
76 for warnings to be considered errors and cause utility
79 arguments may be comma-separated, such as
80 .Fl W Ns Ar error,all .
83 Read input from zero or more
85 If unspecified, reads from stdin. If multiple files are specified,
87 will halt with the first failed parse.
97 text from stdin, implying
99 and prints 78-column backspace-encoded output to stdout as if
107 .Ss Punctuation and Spacing
108 If punctuation is set apart from words, such as in the phrase
109 .Dq to be \&, or not to be ,
112 according to the following rules: opening punctuation
119 is not followed by a space; closing punctuation
132 is not preceded by whitespace.
137 these rules are also applied to macro arguments when appropriate.
140 White-space, in non-literal (normal) mode, is stripped from input and
141 replaced on output by a single space. Thus, if you wish to preserve multiple
142 spaces, they must be space-escaped or used in a literal display mode, e.g.,
165 should only be used for legacy manuals.
170 which is also the default, determines encoding on-the-fly: if the first
177 parser is used; otherwise, the
183 files are specified with
185 each has its file-type determined this way. If multiple files are
190 is specified, then this format is used exclusively.
196 utility accepts the following
202 Produce 7-bit ASCII output, backspace-encoded for bold and underline
203 styles. This is the default.
206 Produce strict HTML-4.01 output, with a sane default style.
209 Produce an indented parse tree.
212 Parse only: produce no output.
216 If multiple input files are specified, these will be processed by the
217 corresponding filter in-order.
221 Default compiler behaviour may be overridden with the
226 .It Fl f Ns Ar ign-scope
227 When rewinding the scope of a block macro, forces the compiler to ignore
228 scope violations. This can seriously mangle the resulting tree.
231 .It Fl f Ns Ar no-ign-escape
232 Don't ignore invalid escape sequences.
234 .It Fl f Ns Ar no-ign-macro
235 Do not ignore unknown macros at the start of input lines.
237 .It Fl f Ns Ar no-ign-chars
238 Do not ignore disallowed characters.
240 .It Fl f Ns Ar strict
242 .Fl f Ns Ar no-ign-escape ,
243 .Fl f Ns Ar no-ign-macro
245 .Fl f Ns Ar no-ign-chars .
247 .It Fl f Ns Ar ign-errors
248 Don't halt when encountering parse errors. Useful with
250 over a large set of manuals passed on the command line.
254 For the time being, only
256 is the only mode with output options:
258 .It Fl o Ns Ar style=style.css
261 is used for an external style-sheet. This must be a valid absolute or
263 .It Fl o Ns Ar base=http://base/
266 is used as a base URL for all relative links. This is useful when
267 linking between documents via the
273 To page manuals to the terminal:
276 .D1 % mandoc \-Wall,error \-fstrict mandoc.1 2>&1 | less
277 .D1 % mandoc mandoc.1 mdoc.3 mdoc.7 | less
280 To produce HTML manuals with
281 .Pa http://localhost/
284 .D1 % mandoc \-Thtml -obase=http://localhost/ mdoc.7 > mdoc.7.html
286 To check over a large set of manuals:
289 .Dl % mandoc \-Tlint \-fign-errors `find /usr/src -name \e*\e.[1-9]`
293 This section summarises
297 Each input and output format is separately noted.
305 special character doesn't produce expected behaviour in
317 are synonyms, as are \-filled and \-ragged.
325 macro does not underline when scoped under an
327 in the FILES section. This behaves correctly in
331 A list or display following
336 does not assert a prior vertical break, just as it doesn't with
348 Words aren't hyphenated.
351 In normal mode (not a literal block), blocks of spaces aren't preserved,
352 so double spaces following sentence closure are reduced to a single space;
357 Sentences are unilaterally monospaced.
368 utility was written by
369 .An Kristaps Dzonsons Aq kristaps@kth.se .