]> git.cameronkatri.com Git - mandoc.git/blobdiff - mandoc.1
"Groff allows the initial macro on a line to be delimited by a space of
[mandoc.git] / mandoc.1
index 4a8020e673a431759f39ff331ad0b3458bd16923..187d7d40f3c61abf112c18a04bdabae891d14c5e 100644 (file)
--- a/mandoc.1
+++ b/mandoc.1
@@ -1,6 +1,6 @@
-.\"    $Id: mandoc.1,v 1.62 2010/06/07 20:57:09 kristaps Exp $
+.\"    $Id: mandoc.1,v 1.74 2010/08/07 17:46:39 kristaps Exp $
 .\"
-.\" Copyright (c) 2009 Kristaps Dzonsons <kristaps@bsd.lv>
+.\" Copyright (c) 2009, 2010 Kristaps Dzonsons <kristaps@bsd.lv>
 .\"
 .\" Permission to use, copy, modify, and distribute this software for any
 .\" purpose with or without fee is hereby granted, provided that the above
@@ -14,7 +14,7 @@
 .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 .\"
-.Dd $Mdocdate: June 7 2010 $
+.Dd $Mdocdate: August 7 2010 $
 .Dt MANDOC 1
 .Os
 .Sh NAME
@@ -51,9 +51,6 @@ Defaults to
 .Fl m Ns Cm andoc .
 .It Fl O Ns Ar option
 Comma-separated output options.
-See
-.Sx Output Options
-for details.
 .It Fl T Ns Ar output
 Output format.
 See
@@ -139,13 +136,45 @@ specified and
 or
 .Fl m Ns Cm an
 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
 The
 .Nm
 utility accepts the following
 .Fl T
-arguments (see
-.Sx OUTPUT ) :
+arguments, which correspond to output modes:
 .Bl -tag -width Ds
 .It Fl T Ns Cm ascii
 Produce 7-bit ASCII output, backspace-encoded for bold and underline
@@ -163,6 +192,10 @@ Implies
 .Fl W Ns Cm all
 and
 .Fl f Ns Cm strict .
+.It Fl T Ns Cm pdf
+Produce PDF output.
+See
+.Sx PDF Output .
 .It Fl T Ns Cm ps
 Produce PostScript output.
 See
@@ -177,136 +210,6 @@ See
 .Pp
 If multiple input files are specified, these will be processed by the
 corresponding filter in-order.
-.Ss Compiler Options
-Default compiler 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 Options
-The
-.Fl T Ns Ar html
-and
-.Fl T Ns Ar xhtml
-modes accept the following output options:
-.Bl -tag -width Ds
-.It Fl O Ns Cm includes Ns = Ns Ar fmt
-The string
-.Ar fmt ,
-for example,
-.Ar ../src/%I.html ,
-is used as a template for linked header files (usually via the
-.Sq \&In
-macro).
-Instances of
-.Sq \&%I
-are replaced with the include filename.
-The default is not to present a
-hyperlink.
-.It Fl O Ns Cm man Ns = Ns Ar fmt
-The string
-.Ar fmt ,
-for example,
-.Ar ../html%S/%N.%S.html ,
-is used as a template for linked manuals (usually via the
-.Sq \&Xr
-macro).
-Instances of
-.Sq \&%N
-and
-.Sq %S
-are replaced with the linked manual's name and section, respectively.
-If no section is included, section 1 is assumed.
-The default is not to
-present a hyperlink.
-.It Fl O Ns Cm style Ns = Ns Ar style.css
-The file
-.Ar style.css
-is used for an external style-sheet.
-This must be a valid absolute or
-relative URI.
-.El
-.Pp
-The
-.Fl T Ns Ar ascii
-mode accepts the following output option:
-.Bl -tag -width Ds
-.It Fl O Ns Cm width Ns = Ns Ar width
-The output width is set to
-.Ar width ,
-which will normalise to \(>=60.
-.El
-.Sh OUTPUT
-This section documents output details of
-.Nm .
-In general, output conforms to the traditional manual style of a header,
-a body composed of sections and sub-sections, and a footer.
-.Pp
-The text style of output characters (non-macro characters, punctuation,
-and white-space) is dictated by context.
-.Pp
-White-space is generally stripped from input.
-This can be changed with
-character escapes (specified in
-.Xr mandoc_char 7 )
-or literal modes (specified in
-.Xr mdoc 7
-and
-.Xr man 7 ) .
-.Pp
-If non-macro punctuation is set apart from words, such as in the phrase
-.Dq to be \&, or not to be ,
-it's processed by
-.Nm ,
-regardless of output format, according to the following rules:  opening
-punctuation
-.Po
-.Sq \&( ,
-.Sq \&[ ,
-and
-.Sq \&{
-.Pc
-is not followed by a space; closing punctuation
-.Po
-.Sq \&. ,
-.Sq \&, ,
-.Sq \&; ,
-.Sq \&: ,
-.Sq \&? ,
-.Sq \&! ,
-.Sq \&) ,
-.Sq \&]
-and
-.Sq \&}
-.Pc
-is not preceded by white-space.
-.Pp
-If the input is
-.Xr mdoc 7 ,
-however, these rules are also applied to macro arguments when appropriate.
 .Ss ASCII Output
 Output produced by
 .Fl T Ns Cm ascii ,
@@ -330,6 +233,16 @@ are rendered best-effort in an ASCII equivalent.
 .Pp
 Output width is limited to 78 visible columns unless literal input lines
 exceed this limit.
+.Pp
+The following
+.Fl O
+arguments are accepted:
+.Bl -tag -width Ds
+.It Cm width Ns = Ns Ar width
+The output width is set to
+.Ar width ,
+which will normalise to \(>=60.
+.El
 .Ss HTML Output
 Output produced by
 .Fl T Ns Cm html
@@ -347,11 +260,89 @@ cause rendered documents to appear as they do in
 .Fl T Ns Cm ascii .
 .Pp
 Special characters are rendered in decimal-encoded UTF-8.
+.Pp
+The following
+.Fl O
+arguments are accepted:
+.Bl -tag -width Ds
+.It Cm includes Ns = Ns Ar fmt
+The string
+.Ar fmt ,
+for example,
+.Ar ../src/%I.html ,
+is used as a template for linked header files (usually via the
+.Sq \&In
+macro).
+Instances of
+.Sq \&%I
+are replaced with the include filename.
+The default is not to present a
+hyperlink.
+.It Cm man Ns = Ns Ar fmt
+The string
+.Ar fmt ,
+for example,
+.Ar ../html%S/%N.%S.html ,
+is used as a template for linked manuals (usually via the
+.Sq \&Xr
+macro).
+Instances of
+.Sq \&%N
+and
+.Sq %S
+are replaced with the linked manual's name and section, respectively.
+If no section is included, section 1 is assumed.
+The default is not to
+present a hyperlink.
+.It Cm style Ns = Ns Ar style.css
+The file
+.Ar style.css
+is used for an external style-sheet.
+This must be a valid absolute or
+relative URI.
+.El
 .Ss PostScript Output
-PostScript Level 1 pages may be generated by
+PostScript
+.Qq Adobe-3.0
+Level-2 pages may be generated by
 .Fl T Ns Cm ps .
-Output pages are US-letter sized (215.9 x 279.4 mm) and rendered in
-fixed, 10-point Courier font.
+Output pages default to letter sized and are rendered in the Times font
+family, 11-point.
+Margins are calculated as 1/9 the page length and width.
+Line-height is 1.4m.
+.Pp
+Special characters are rendered as in
+.Sx ASCII Output .
+.Pp
+The following
+.Fl O
+arguments are accepted:
+.Bl -tag -width Ds
+.It Cm paper Ns = Ns Ar name
+The paper size
+.Ar name
+may be one of
+.Ar a3 ,
+.Ar a4 ,
+.Ar a5 ,
+.Ar legal ,
+or
+.Ar letter .
+You may also manually specify dimensions as
+.Ar NNxNN ,
+width by height in millimetres.
+If an unknown value is encountered,
+.Ar letter
+is used.
+.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
 Output produced by
 .Fl T Ns Cm xhtml
@@ -376,6 +367,10 @@ as the style-sheet:
 To check over a large set of manuals:
 .Pp
 .Dl $ mandoc \-Tlint \-fign-errors `find /usr/src -name \e*\e.[1-9]`
+.Pp
+To produce a series of PostScript manuals for A4 paper:
+.Pp
+.D1 $ mandoc \-Tps \-Opaper=a4 mdoc.7 man.7 \*(Gt manuals.ps
 .Sh COMPATIBILITY
 This section summarises
 .Nm
@@ -386,11 +381,6 @@ Each input and output format is separately noted.
 .Bl -bullet -compact
 .It
 The
-.Sq \e~
-special character doesn't produce expected behaviour in
-.Fl T Ns Cm ascii .
-.It
-The
 .Sq \&Bd \-literal
 and
 .Sq \&Bd \-unfilled
@@ -428,11 +418,6 @@ has no effect.
 .It
 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
 .Ss HTML/XHTML Compatibility