From 262485121e8c575dc4c539ceea330851e684ff28 Mon Sep 17 00:00:00 2001 From: Kristaps Dzonsons Date: Tue, 13 Apr 2010 05:26:49 +0000 Subject: As per Jason McIntyre's heartful urgings, do away with '.' separators between logical sections. Change email address to BSD.lv one (this is not an academic project...) --- man.3 | 44 ---------------- man.7 | 135 +----------------------------------------------- mandoc.1 | 80 +---------------------------- mandoc_char.7 | 41 +-------------- manuals.7 | 2 +- mdoc.7 | 161 +--------------------------------------------------------- 6 files changed, 9 insertions(+), 454 deletions(-) diff --git a/man.3 b/man.3 index 64059cf1..4145f81c 100644 --- a/man.3 +++ b/man.3 @@ -17,8 +17,6 @@ .Dd $Mdocdate$ .Dt MAN 3 .Os -. -. .Sh NAME .Nm man , .Nm man_alloc , @@ -29,8 +27,6 @@ .Nm man_free , .Nm man_reset .Nd man macro compiler library -. -. .Sh SYNOPSIS .In man.h .Vt extern const char * const * man_macronames; @@ -48,8 +44,6 @@ .Fn man_meta "const struct man *man" .Ft int .Fn man_endparse "struct man *man" -. -. .Sh DESCRIPTION The .Nm @@ -58,7 +52,6 @@ library parses lines of input (and .Em only man) into an abstract syntax tree (AST). -. .Pp In general, applications initiate a parsing sequence with .Fn man_alloc , @@ -78,14 +71,12 @@ function may be used in order to reset the parser for another input sequence. See the .Sx EXAMPLES section for a full example. -. .Pp Beyond the full set of macros defined in .Xr man 7 , the .Nm library also accepts the following macros: -. .Pp .Bl -tag -width Ds -compact .It am @@ -100,25 +91,20 @@ and may begin anywhere, although they may not break the next-line scoping rules specified in .Xr man 7 . These blocks are discarded. -. .It PD Has no effect. Handled as a current-scope line macro. -. .It Sp A synonym for .Sq sp 0.5v .Pq part of the standard preamble for Perl documentation . Handled as a line macro. -. .It UC Has no effect. Handled as a current-scope line macro. -. .It Vb A synonym for .Sq nf .Pq part of the standard preamble for Perl documentation . Handled as a current-scope line macro. -. .It Ve A synonym for .Sq fi , @@ -151,8 +137,6 @@ documents to be correctly formatted: \e*(Th (Thorn), and \e*(th (thorn). -. -. .Sh REFERENCE This section further defines the .Sx Types , @@ -162,8 +146,6 @@ and available to programmers. Following that, the .Sx Abstract Syntax Tree section documents the output tree. -. -. .Ss Types Both functions (see .Sx Functions ) @@ -171,16 +153,13 @@ and variables (see .Sx Variables ) may use the following types: .Bl -ohang -. .It Vt struct man An opaque type defined in .Pa man.c . Its values are only used privately within the library. -. .It Vt struct man_cb A set of message callbacks defined in .Pa man.h . -. .It Vt struct man_node A parsed node. Defined in .Pa man.h . @@ -188,12 +167,9 @@ See .Sx Abstract Syntax Tree for details. .El -. -. .Ss Functions Function descriptions follow: .Bl -ohang -. .It Fn man_alloc Allocates a parsing structure. The .Fa data @@ -206,29 +182,24 @@ arguments are defined in .Pa man.h . Returns NULL on failure. If non-NULL, the pointer must be freed with .Fn man_free . -. .It Fn man_reset Reset the parser for another parse routine. After its use, .Fn man_parseln behaves as if invoked for the first time. -. .It Fn man_free Free all resources of a parser. The pointer is no longer valid after invocation. -. .It Fn man_parseln Parse a nil-terminated line of input. This line should not contain the trailing newline. Returns 0 on failure, 1 on success. The input buffer .Fa buf is modified by this function. -. .It Fn man_endparse Signals that the parse is complete. Note that if .Fn man_endparse is called subsequent to .Fn man_node , the resulting tree is incomplete. Returns 0 on failure, 1 on success. -. .It Fn man_node Returns the first node of the parse. Note that if .Fn man_parseln @@ -243,17 +214,12 @@ or .Fn man_endparse return 0, the data will be incomplete. .El -. -. .Ss Variables The following variables are also defined: .Bl -ohang -. .It Va man_macronames An array of string-ified token names. .El -. -. .Ss Abstract Syntax Tree The .Nm @@ -267,13 +233,11 @@ or after or .Fn man_parseln fail, it may be incomplete. -. .Pp This AST is governed by the ontological rules dictated in .Xr man 7 and derives its terminology accordingly. -. .Pp The AST is composed of .Vt struct man_node @@ -292,7 +256,6 @@ fields), its position in the tree (the and .Va prev fields) and some type-specific data. -. .Pp The tree itself is arranged according to the following normal form, where capitalised non-terminals represent nodes. @@ -313,13 +276,10 @@ where capitalised non-terminals represent nodes. .It TEXT \(<- [[:alpha:]]* .El -. .Pp The only elements capable of nesting other elements are those with next-lint scope as documented in .Xr man 7 . -. -. .Sh EXAMPLES The following example reads lines from stdin and parses them, operating on the finished parse tree with @@ -355,13 +315,9 @@ if (NULL == (node = man_node(man))) parsed(man, node); man_free(man); .Ed -. -. .Sh SEE ALSO .Xr mandoc 1 , .Xr man 7 -. -. .Sh AUTHORS The .Nm diff --git a/man.7 b/man.7 index fa4a0f8e..af75bff3 100644 --- a/man.7 +++ b/man.7 @@ -1,6 +1,6 @@ .\" $Id$ .\" -.\" Copyright (c) 2009 Kristaps Dzonsons +.\" Copyright (c) 2009 Kristaps Dzonsons .\" .\" Permission to use, copy, modify, and distribute this software for any .\" purpose with or without fee is hereby granted, provided that the above @@ -17,13 +17,9 @@ .Dd $Mdocdate$ .Dt MAN 7 .Os -. -. .Sh NAME .Nm man .Nd man language reference -. -. .Sh DESCRIPTION The .Nm man @@ -31,7 +27,6 @@ language was historically used to format .Ux manuals. This reference document describes its syntax, structure, and usage. -. .Pp .Bf -emphasis Do not use @@ -41,7 +36,6 @@ to write your manuals. Use the .Xr mdoc 7 language, instead. -. .Pp An .Nm @@ -54,20 +48,15 @@ prior macros: \&.SH Macro lines change control state. Other lines are interpreted within the current state. .Ed -. -. .Sh INPUT ENCODING .Nm documents may contain only graphable 7-bit ASCII characters, the space character, and the tabs character. All manuals must have .Ux line termination. -. .Pp Blank lines are acceptable; where found, the output will assert a vertical space. -. -. .Ss Comments Text following a .Sq \e\*" , @@ -76,8 +65,6 @@ line. A macro line with only a control character and comment escape, .Sq \&.\e" , is also ignored. Macro lines with only a control character and optionally whitespace are stripped from input. -. -. .Ss Special Characters Special characters may occur in both macro and free-form lines. Sequences begin with the escape character @@ -96,8 +83,6 @@ for a complete list. Examples include and .Sq \ee .Pq back-slash . -. -. .Ss Text Decoration Terms may be text-decorated using the .Sq \ef @@ -140,15 +125,11 @@ Both and .Sq \ef attributes are forgotten when entering or exiting a macro block. -. -. .Ss Whitespace Unless specifically escaped, consecutive blocks of whitespace are pruned from input. These are later re-added, if applicable, by a front-end utility such as .Xr mandoc 1 . -. -. .Ss Dates The .Sx \&TH @@ -157,22 +138,18 @@ macro is the only macro that requires a date. The form for this date is the ISO-8601 standard .Cm YYYY-MM-DD . -. -. .Ss Scaling Widths Many macros support scaled widths for their arguments, such as stipulating a two-inch paragraph indentation with the following: .Bd -literal -offset indent \&.HP 2i .Ed -. .Pp The syntax for scaled widths is .Sq Li [+-]?[0-9]*.[0-9]*[:unit:]? , where a decimal must be preceded or proceeded by at least one digit. Negative numbers, while accepted, are truncated to zero. The following scaling units are accepted: -. .Pp .Bl -tag -width Ds -offset indent -compact .It c @@ -211,7 +188,6 @@ Using anything other than or .Sq v is necessarily non-portable across output media. -. .Pp If a scaling unit is not provided, the numerical value is interpreted under the default rules of @@ -224,8 +200,6 @@ this differs from .Xr mdoc 7 , which, if a unit is not provided, will instead interpret the string as literal text. -. -. .Sh MANUAL STRUCTURE Each .Nm @@ -234,7 +208,6 @@ document must contain contains at least the macro describing the document's section and title. It may occur anywhere in the document, although conventionally, it appears as the first macro. -. .Pp Beyond .Sx \&TH , @@ -329,36 +302,29 @@ which is used for functions. Historically, this information was described in .Em DIAGNOSTICS , a practise that is now discouraged. -. .It Em RETURN VALUES This section is the dual of .Em EXIT STATUS , which is used for commands. It documents the return values of functions in sections 2, 3, and 9. -. .It Em ENVIRONMENT Documents any usages of environment variables, e.g., .Xr environ 7 . -. .It Em FILES Documents files used. It's helpful to document both the file and a short description of how the file is used (created, modified, etc.). -. .It Em EXAMPLES Example usages. This often contains snippets of well-formed, well-tested invocations. Make doubly sure that your examples work properly! -. .It Em DIAGNOSTICS Documents error conditions. This is most useful in section 4 manuals. Historically, this section was used in place of .Em EXIT STATUS for manuals in sections 1, 6, and 8; however, this practise is discouraged. -. .It Em ERRORS Documents error handling in sections 2, 3, and 9. -. .It Em SEE ALSO References other manuals with related topics. This section should exist for most manuals. @@ -367,7 +333,6 @@ for most manuals. .Pp Cross-references should conventionally be ordered first by section, then alphabetically. -. .It Em STANDARDS References any standards implemented or used, such as .Pp @@ -376,29 +341,21 @@ References any standards implemented or used, such as If not adhering to any standards, the .Em HISTORY section should be used. -. .It Em HISTORY The history of any manual without a .Em STANDARDS section should be described in this section. -. .It Em AUTHORS Credits to authors, if applicable, should appear in this section. Authors should generally be noted by both name and an e-mail address. -. .It Em CAVEATS Explanations of common misuses and misunderstandings should be explained in this section. -. .It Em BUGS Extant bugs should be described in this section. -. .It Em SECURITY CONSIDERATIONS Documents any security precautions that operators should consider. -. .El -. -. .Sh MACRO SYNTAX Macros are one to three three characters in length and begin with a control character , @@ -412,7 +369,6 @@ the macro name. Thus, the following are equivalent: \&.PP \&.\ \ \ PP .Ed -. .Pp The .Nm @@ -420,8 +376,6 @@ macros are classified by scope: line scope or block scope. Line macros are only scoped to the current line (and, in some situations, the subsequent line). Block macros are scoped to the current line and subsequent lines until closed by another block macro. -. -. .Ss Line Macros Line macros are generally scoped to the current line, with the body consisting of zero or more arguments. If a macro is scoped to the next @@ -431,7 +385,6 @@ text, is used instead. Thus: \&.I foo .Ed -. .Pp is equivalent to .Sq \&.I foo . @@ -448,7 +401,6 @@ The syntax is as follows: \&.YO \(lBbody...\(rB \(lBbody...\(rB .Ed -. .Pp .Bl -column -compact -offset indent "MacroX" "ArgumentsX" "ScopeXXXXX" "CompatX" .It Em Macro Ta Em Arguments Ta Em Scope Ta Em Notes @@ -478,7 +430,6 @@ The syntax is as follows: .\" .It Sx \&Vb Ta <1 Ta current Ta compat .\" .It Sx \&Ve Ta 0 Ta current Ta compat .El -. .Pp Macros marked as .Qq compat @@ -487,8 +438,6 @@ manuals that mix dialects of roff. These macros should not be used for portable .Nm manuals. -. -. .Ss Block Macros Block macros are comprised of a head and body. Like for in-line macros, the head is scoped to the current line and, in one circumstance, the @@ -502,7 +451,6 @@ The syntax is as follows: \(lBhead...\(rB \(lBbody...\(rB .Ed -. .Pp The closure of body scope may be to the section, where a macro is closed by @@ -520,12 +468,10 @@ or paragraph, closed by a section, sub-section, part, or .Sx \&TP . No closure refers to an explicit block closing macro. -. .Pp As a rule, block macros may not be nested; thus, calling a block macro while another block macro scope is open, and the open scope is not implicitly closed, is syntactically incorrect. -. .Pp .Bl -column -compact -offset indent "MacroX" "ArgumentsX" "Head ScopeX" "sub-sectionX" "compatX" .It Em Macro Ta Em Arguments Ta Em Head Scope Ta Em Body Scope Ta Em Notes @@ -541,23 +487,17 @@ implicitly closed, is syntactically incorrect. .It Sx \&TP Ta n Ta next-line Ta paragraph Ta \& .El .Pp -. Macros marked .Qq compat are as mentioned in .Sx Line Macros . -. .Pp If a block macro is next-line scoped, it may only be followed by in-line macros for decorating text. -. -. .Sh REFERENCE This section is a canonical reference to all macros, arranged alphabetically. For the scoping of individual macros, see .Sx MACRO SYNTAX . -. -. .Ss \&B Text is rendered in bold face. .Pp @@ -568,8 +508,6 @@ See also .Sx \&i , and .Sx \&r . -. -. .Ss \&BI Text is rendered alternately in bold face and italic. Thus, .Sq .BI this word and that @@ -600,8 +538,6 @@ See also .Sx \&RI , and .Sx \&IR . -. -. .Ss \&BR Text is rendered alternately in bold face and roman (the default font). Whitespace between arguments is omitted in output. @@ -617,12 +553,8 @@ See also .Sx \&RI , and .Sx \&IR . -. -. .Ss \&DT Has no effect. Included for compatibility. -. -. .Ss \&HP Begin a paragraph whose initial output line is left-justified, but subsequent output lines are indented, with the following syntax: @@ -645,8 +577,6 @@ See also .Sx \&PP , and .Sx \&TP . -. -. .Ss \&I Text is rendered in italics. .Pp @@ -657,8 +587,6 @@ See also .Sx \&i , and .Sx \&r . -. -. .Ss \&IB Text is rendered alternately in italics and bold face. Whitespace between arguments is omitted in output. @@ -674,8 +602,6 @@ See also .Sx \&RI , and .Sx \&IR . -. -. .Ss \&IP Begin an indented paragraph with the following syntax: .Bd -filled -offset indent @@ -702,8 +628,6 @@ See also .Sx \&PP , and .Sx \&TP . -. -. .Ss \&IR Text is rendered alternately in italics and roman (the default font). Whitespace between arguments is omitted in output. @@ -719,8 +643,6 @@ See also .Sx \&RB , and .Sx \&RI . -. -. .Ss \&LP Begin an undecorated paragraph. The scope of a paragraph is closed by a subsequent paragraph, sub-section, section, or end of file. The saved @@ -733,8 +655,6 @@ See also .Sx \&PP , and .Sx \&TP . -. -. .Ss \&P Synonym for .Sx \&LP . @@ -746,8 +666,6 @@ See also .Sx \&PP , and .Sx \&TP . -. -. .Ss \&PP Synonym for .Sx \&LP . @@ -759,8 +677,6 @@ See also .Sx \&P , and .Sx \&TP . -. -. .Ss \&R Text is rendered in roman (the default font). .Pp @@ -771,8 +687,6 @@ See also .Sx \&i , and .Sx \&r . -. -. .Ss \&RB Text is rendered alternately in roman (the default font) and bold face. Whitespace between arguments is omitted in output. @@ -788,13 +702,9 @@ See also .Sx \&RI , and .Sx \&IR . -. -. .Ss \&RE Explicitly close out the scope of a prior .Sx \&RS . -. -. .Ss \&RI Text is rendered alternately in roman (the default font) and italics. Whitespace between arguments is omitted in output. @@ -810,8 +720,6 @@ See also .Sx \&RB , and .Sx \&IR . -. -. .Ss \&RS Begin a part setting the left margin. The left margin controls the offset, following an initial indentation, to un-indented text such as @@ -828,30 +736,20 @@ The argument must conform to .Sx Scaling Widths . If not specified, the saved or default width is used. -. -. .Ss \&SB Text is rendered in small size (one point smaller than the default font) bold face. -. -. .Ss \&SH Begin a section. The scope of a section is only closed by another section or the end of file. The paragraph left-margin width is re-set to the default. -. -. .Ss \&SM Text is rendered in small size (one point smaller than the default font). -. -. .Ss \&SS Begin a sub-section. The scope of a sub-section is closed by a subsequent sub-section, section, or end of file. The paragraph left-margin width is re-set to the default. -. -. .Ss \&TH Sets the title of the manual page with the following syntax: .Bd -filled -offset indent @@ -878,8 +776,6 @@ manual section. Examples: .Pp .D1 \&.TH CVS 5 "1992-02-12" GNU -. -. .Ss \&TP Begin a paragraph where the head, if exceeding the indentation width, is followed by a newline; if not, the body follows on the same line after a @@ -912,20 +808,14 @@ and .\" . .\" .Ss \&UC .\" Has no effect. Included for compatibility. -. -. .Ss \&br Breaks the current line. Consecutive invocations have no further effect. .Pp See also .Sx \&sp . -. -. .Ss \&fi End literal mode begun by .Sx \&nf . -. -. .Ss \&i Italicise arguments. Synonym for .Sx \&I . @@ -937,18 +827,12 @@ See also .Sx \&b , and .Sx \&r . -. -. .Ss \&na Don't align to the right margin. -. -. .Ss \&nf Begin literal mode: all subsequent free-form lines have their end of line boundaries preserved. May be ended by .Sx \&fi . -. -. .Ss \&r Fonts and styles (bold face, italics) reset to roman (default font). .Pp @@ -959,8 +843,6 @@ See also .Sx \&b , and .Sx \&i . -. -. .Ss \&sp Insert vertical spaces into output with the following syntax: .Bd -filled -offset indent @@ -978,7 +860,6 @@ macro. Defaults to 1, if unspecified. .Pp See also .Sx \&br . -. .\" .Ss \&Sp .\" A synonym for .\" .Sx \&sp @@ -994,32 +875,27 @@ See also .\" A synonym for .\" .Sx \&fi . .\" . -. .Sh COMPATIBILITY This section documents areas of questionable portability between implementations of the .Nm language. -. .Pp .Bl -dash -compact .It In quoted literals, GNU troff allowed pair-wise double-quotes to produce a standalone double-quote in formatted output. It is not known whether this behaviour is exhibited by other formatters. -. .It Blocks of whitespace are stripped from macro and free-form text lines (except when in literal mode) in mandoc. This is not the case for GNU troff: for maximum portability, whitespace sensitive blocks should be enclosed in literal contexts. -. .It The .Sx \&sp macro does not accept negative values in mandoc. In GNU troff, this would result in strange behaviour. -. .It The .Sq \(aq @@ -1028,22 +904,15 @@ newline before macro output; in mandoc, it is an alias for the standard .Sq \&. control character. .El -. -. .Sh SEE ALSO .Xr mandoc 1 , .Xr mandoc_char 7 -. -. .Sh AUTHORS The .Nm reference was written by -.An Kristaps Dzonsons Aq kristaps@kth.se . -. -. +.An Kristaps Dzonsons Aq kristaps@bsd.lv . .Sh CAVEATS Do not use this language. Use .Xr mdoc 7 , instead. -. diff --git a/mandoc.1 b/mandoc.1 index 839f7964..0d429fd2 100644 --- a/mandoc.1 +++ b/mandoc.1 @@ -1,6 +1,6 @@ .\" $Id$ .\" -.\" Copyright (c) 2009 Kristaps Dzonsons +.\" Copyright (c) 2009 Kristaps Dzonsons .\" .\" Permission to use, copy, modify, and distribute this software for any .\" purpose with or without fee is hereby granted, provided that the above @@ -17,13 +17,9 @@ .Dd $Mdocdate$ .Dt MANDOC 1 .Os -. -. .Sh NAME .Nm mandoc .Nd format and display UNIX manuals -. -. .Sh SYNOPSIS .Nm mandoc .Op Fl V @@ -33,8 +29,6 @@ .Op Fl T Ns Ar output .Op Fl W Ns Ar err .Op Ar file... -. -. .Sh DESCRIPTION The .Nm @@ -42,14 +36,12 @@ utility formats .Ux manual pages for display. The arguments are as follows: -. .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 Input format. See @@ -57,13 +49,11 @@ See for available formats. 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 @@ -71,10 +61,8 @@ See for available formats. Defaults to .Fl T Ns Cm ascii . -. .It Fl V Print version and exit. -. .It Fl W Ns Ar err Comma-separated warning options. Use @@ -87,7 +75,6 @@ Multiple .Fl W arguments may be comma-separated, such as .Fl W Ns Cm error , Ns Cm all . -. .It Ar file Read input from zero or more files. If unspecified, reads from stdin. @@ -95,7 +82,6 @@ If multiple files are specified, .Nm will halt with the first failed parse. .El -. .Pp By default, .Nm @@ -108,11 +94,8 @@ text from stdin, implying and produces .Fl T Ns Cm ascii output. -. .Pp .Ex -std mandoc -. -. .Ss Input Formats The .Nm @@ -132,7 +115,6 @@ format is recommended; .Xr man 7 should only be used for legacy manuals. -. .Pp A third option, .Fl m Ns Cm andoc , @@ -146,7 +128,6 @@ the parser is used; otherwise, the .Xr man 7 parser is used. -. .Pp If multiple files are specified with @@ -158,8 +139,6 @@ specified and or .Fl m Ns Cm an is specified, then this format is used exclusively. -. -. .Ss Output Formats The .Nm @@ -167,7 +146,6 @@ utility accepts the following .Fl T arguments (see .Sx OUTPUT ) : -. .Bl -tag -width Ds .It Fl T Ns Cm ascii Produce 7-bit ASCII output, backspace-encoded for bold and underline @@ -175,65 +153,51 @@ styles. This is the default. See .Sx ASCII Output . -. .It Fl T Ns Cm html Produce strict HTML-4.01 output, with a sane default style. See .Sx HTML Output . -. .It Fl T Ns Cm lint Parse only: produce no output. Implies .Fl W Ns Cm all and .Fl f Ns Cm strict . -. .It Fl T Ns Cm tree Produce an indented parse tree. -. .It Fl T Ns Cm xhtml Produce strict XHTML-1.0 output, with a sane default style. See .Sx XHTML Output . .El -. .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-chars Do not ignore disallowed characters. -. .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 , @@ -241,8 +205,6 @@ Implies and .Fl f Ns Cm no-ign-chars . .El -. -. .Ss Output Options For the time being, only .Fl T Ns Ar html @@ -286,8 +248,6 @@ is used for an external style-sheet. This must be a valid absolute or relative URI. .El -. -. .Sh OUTPUT This section documents output details of .Nm . @@ -332,13 +292,10 @@ 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 , @@ -362,8 +319,6 @@ are rendered best-effort in an ASCII equivalent. .Pp Output width is limited to 78 visible columns unless literal input lines exceed this limit. -. -. .Ss HTML Output Output produced by .Fl T Ns Cm html @@ -381,8 +336,6 @@ cause rendered documents to appear as they do in .Fl T Ns Cm ascii . .Pp Special characters are rendered in decimal-encoded UTF-8. -. -. .Ss XHTML Output Output produced by .Fl T Ns Cm xhtml @@ -392,15 +345,11 @@ See .Sx HTML Output for details; beyond generating XHTML tags instead of HTML tags, these output modes are identical. -. -. .Sh EXAMPLES To page manuals to the terminal: -. .Pp .D1 $ mandoc \-Wall,error \-fstrict mandoc.1 2\*(Gt&1 | less .D1 $ mandoc mandoc.1 mdoc.3 mdoc.7 | less -. .Pp To produce HTML manuals with .Ar style.css @@ -409,19 +358,14 @@ as the style-sheet: .D1 $ mandoc \-Thtml -Ostyle=style.css mdoc.7 \*(Gt mdoc.7.html .Pp To check over a large set of manuals: -. .Pp .Dl $ mandoc \-Tlint \-fign-errors `find /usr/src -name \e*\e.[1-9]` -. -. .Sh COMPATIBILITY This section summarises .Nm compatibility with .Xr groff 1 . Each input and output format is separately noted. -. -. .Ss ASCII Compatibility .Bl -bullet -compact .It @@ -429,7 +373,6 @@ The .Sq \e~ special character doesn't produce expected behaviour in .Fl T Ns Cm ascii . -. .It The .Sq \&Bd \-literal @@ -440,7 +383,6 @@ macros of in .Fl T Ns Cm ascii are synonyms, as are \-filled and \-ragged. -. .It In .Xr groff 1 , @@ -452,7 +394,6 @@ macro does not underline when scoped under an in the FILES section. This behaves correctly in .Nm . -. .It A list or display following the .Sq \&Ss @@ -461,7 +402,6 @@ macro in .Fl T Ns Cm ascii does not assert a prior vertical break, just as it doesn't with .Sq \&Sh . -. .It The .Sq \&na @@ -469,21 +409,16 @@ The macro in .Fl T Ns Cm ascii 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 .Bl -bullet -compact .It @@ -506,7 +441,6 @@ and .Sq \&Bl \-tag list types render similarly (no break following overreached left-hand side) due to the expressive constraints of HTML. -. .It The .Xr man 7 @@ -515,20 +449,15 @@ and .Sq TP lists render similarly. .El -. -. .Sh SEE ALSO .Xr man 7 , .Xr mandoc_char 7 , .Xr mdoc 7 -. .Sh AUTHORS The .Nm utility was written by -.An Kristaps Dzonsons Aq kristaps@kth.se . -. -. +.An Kristaps Dzonsons Aq kristaps@bsd.lv . .Sh CAVEATS The .Fl T Ns Cm html @@ -538,7 +467,6 @@ 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 .Fl T Ns Cm html @@ -550,7 +478,6 @@ which is usually 1024 bytes. Be aware of this when setting long link formats such as .Fl O Ns Cm style Ns = Ns Ar really/long/link . -. .Pp The .Fl T Ns Cm html @@ -562,7 +489,6 @@ font size escape documented in .Xr mdoc 7 and .Xr man 7 . -. .Pp Nesting elements within next-line element scopes of .Fl m Ns Cm an , @@ -575,7 +501,6 @@ will confuse and .Fl T Ns Cm xhtml and cause them to forget the formatting of the prior next-line scope. -. .Pp The .Sq i @@ -583,7 +508,6 @@ 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 .Sq \(aq control character is an alias for the standard macro control character diff --git a/mandoc_char.7 b/mandoc_char.7 index 9c725327..7e575aac 100644 --- a/mandoc_char.7 +++ b/mandoc_char.7 @@ -1,6 +1,6 @@ .\" $Id$ .\" -.\" Copyright (c) 2009 Kristaps Dzonsons +.\" Copyright (c) 2009 Kristaps Dzonsons .\" .\" Permission to use, copy, modify, and distribute this software for any .\" purpose with or without fee is hereby granted, provided that the above @@ -17,13 +17,9 @@ .Dd $Mdocdate$ .Dt MANDOC_CHAR 7 .Os -. -. .Sh NAME .Nm mandoc_char .Nd mandoc special characters -. -. .Sh DESCRIPTION This page documents the special characters and predefined strings accepted by .Xr mandoc 1 @@ -32,7 +28,6 @@ to format and .Xr man 7 documents. -. .Pp Both .Xr mdoc 7 @@ -70,17 +65,13 @@ and .Sq \e*X as .Sq \e*[X] . -. .Pp Note that each output mode will have a different rendering of the characters. It's guaranteed that each input symbol will correspond to a (more or less) meaningful output rendering, regardless the mode. -. -. .Sh SPECIAL CHARACTERS These are the preferred input symbols for producing special characters. -. .Pp Spacing: .Bl -column -compact -offset indent "Input" "Description" @@ -94,7 +85,6 @@ Spacing: .It \e0 Ta breaking, non-collapsing digit-width space .It \ec Ta removes any trailing space (if applicable) .El -. .Pp Lines: .Bl -column -compact -offset indent "Input" "Rendered" "Description" @@ -107,7 +97,6 @@ Lines: .It \e(sl Ta \(sl Ta forward slash .It \e(rs Ta \(rs Ta backward slash .El -. .Pp Text markers: .Bl -column -compact -offset indent "Input" "Rendered" "Description" @@ -127,7 +116,6 @@ Text markers: .It \e(CR Ta \(CR Ta carriage return .It \e(OK Ta \(OK Ta check mark .El -. .Pp Legal symbols: .Bl -column -compact -offset indent "Input" "Rendered" "Description" @@ -136,7 +124,6 @@ Legal symbols: .It \e(rg Ta \(rg Ta registered .It \e(tm Ta \(tm Ta trademarked .El -. .Pp Punctuation: .Bl -column -compact -offset indent "Input" "Rendered" "Description" @@ -149,7 +136,6 @@ Punctuation: .It \e(r! Ta \(r! Ta upside-down exclamation .It \e(r? Ta \(r? Ta upside-down question .El -. .Pp Quotes: .Bl -column -compact -offset indent "Input" "Rendered" "Description" @@ -167,7 +153,6 @@ Quotes: .It \e(fo Ta \(fo Ta left single guillemet .It \e(fc Ta \(fc Ta right single guillemet .El -. .Pp Brackets: .Bl -column -compact -offset indent "x[bracketrightbp]" Rendered Description @@ -207,7 +192,6 @@ Brackets: .It \e[parenrightbp] Ta \[parenrightbp] Ta bottom-right hooked parenthesis .It \e[parenrightex] Ta \[parenrightex] Ta right hooked parenthesis extension .El -. .Pp Arrows: .Bl -column -compact -offset indent "Input" "Rendered" "Description" @@ -225,7 +209,6 @@ Arrows: .It \e(dA Ta \(dA Ta down double-arrow .It \e(vA Ta \(vA Ta up-down double-arrow .El -. .Pp Logical: .Bl -column -compact -offset indent "Input" "Rendered" "Description" @@ -241,7 +224,6 @@ Logical: .It \e(3d Ta \(3d Ta therefore .It \e(or Ta \(or Ta bitwise or .El -. .Pp Mathematical: .Bl -column -compact -offset indent "\[coproduct]X" "Rendered" "Description" @@ -307,7 +289,6 @@ Mathematical: .It \e(pd Ta \(pd Ta partial differential .It \e(-h Ta \(-h Ta Planck constant over 2\(*p .El -. .Pp Ligatures: .Bl -column -compact -offset indent "Input" "Rendered" "Description" @@ -325,7 +306,6 @@ Ligatures: .It \e(IJ Ta \(IJ Ta IJ ligature .It \e(ij Ta \(ij Ta ij ligature .El -. .Pp Accents: .Bl -column -compact -offset indent "Input" "Rendered" "Description" @@ -348,7 +328,6 @@ Accents: .It \e(ha Ta \(ha Ta hat (text) .It \e(ti Ta \(ti Ta tilde (text) .El -. .Pp Accented letters: .Bl -column -compact -offset indent "Input" "Rendered" "Description" @@ -409,7 +388,6 @@ Accented letters: .It \e(oA Ta \(oA Ta ring A .It \e(oa Ta \(oa Ta ring a .El -. .Pp Special letters: .Bl -column -compact -offset indent "Input" "Rendered" "Description" @@ -421,7 +399,6 @@ Special letters: .It \e(.i Ta \(.i Ta dotless i .It \e(.j Ta \(.j Ta dotless j .El -. .Pp Currency: .Bl -column -compact -offset indent "Input" "Rendered" "Description" @@ -435,7 +412,6 @@ Currency: .It \e(Cs Ta \(Cs Ta Scandinavian .It \e(Fn Ta \(Fn Ta florin .El -. .Pp Units: .Bl -column -compact -offset indent "Input" "Rendered" "Description" @@ -446,7 +422,6 @@ Units: .It \e(sd Ta \(sd Ta second .It \e(mc Ta \(mc Ta micro .El -. .Pp Greek letters: .Bl -column -compact -offset indent "Input" "Rendered" "Description" @@ -505,12 +480,9 @@ Greek letters: .It \e(+e Ta \(+e Ta epsilon variant .It \e(ts Ta \(ts Ta sigma terminal .El -. -. .Sh PREDEFINED STRINGS These are not recommended for use, as they differ across implementations: -. .Pp .Bl -column -compact -offset indent "Input" "Rendered" "Description" .It Em Input Ta Em Rendered Ta Em Description @@ -541,14 +513,11 @@ implementations: .It \e*(aa Ta \*(aa Ta acute .It \e*(ga Ta \*(ga Ta grave .El -. -. .Sh COMPATIBILITY This section documents compatibility of .Nm with older or existing versions of .Xr groff 1 . -. .Pp The following render differently in .Fl T Ns Ar ascii @@ -557,7 +526,6 @@ output mode: \e(ss, \e(nm, \e(nb, \e(nc, \e(ib, \e(ip, \e(pp, \e[sum], \e[product], \e[coproduct], \e(gr, \e(-h, \e(a. .Ed -. .Pp The following render differently in .Fl T Ns Ar html @@ -565,21 +533,16 @@ output mode: .Bd -ragged -offset indent \e(~=, \e(nb, \e(nc .Ed -. .Pp Finally, the following have been omitted by being poorly documented or having no known representation: .Bd -ragged -offset indent \e[radicalex], \e[sqrtex], \e(ru .Ed -. -. .Sh SEE ALSO .Xr mandoc 1 -. -. .Sh AUTHORS The .Nm manual page was written by -.An Kristaps Dzonsons Aq kristaps@kth.se . +.An Kristaps Dzonsons Aq kristaps@bsd.lv . diff --git a/manuals.7 b/manuals.7 index 9cb6ada1..039e5899 100644 --- a/manuals.7 +++ b/manuals.7 @@ -1,6 +1,6 @@ .\" $Id$ .\" -.\" Copyright (c) 2009 Kristaps Dzonsons +.\" Copyright (c) 2009 Kristaps Dzonsons .\" .\" Permission to use, copy, modify, and distribute this software for any .\" purpose with or without fee is hereby granted, provided that the above diff --git a/mdoc.7 b/mdoc.7 index fed27032..c354a3b5 100644 --- a/mdoc.7 +++ b/mdoc.7 @@ -1,6 +1,6 @@ .\" $Id$ .\" -.\" Copyright (c) 2009 Kristaps Dzonsons +.\" Copyright (c) 2009 Kristaps Dzonsons .\" .\" Permission to use, copy, modify, and distribute this software for any .\" purpose with or without fee is hereby granted, provided that the above @@ -17,13 +17,9 @@ .Dd $Mdocdate$ .Dt MDOC 7 .Os -. -. .Sh NAME .Nm mdoc .Nd mdoc language reference -. -. .Sh DESCRIPTION The .Nm mdoc @@ -34,7 +30,6 @@ manuals. In this reference document, we describe its syntax, structure, and usage. Our reference implementation is mandoc; the .Sx COMPATIBILITY section describes compatibility with other troff \-mdoc implementations. -. .Pp An .Nm @@ -47,8 +42,6 @@ prior macros: \&.Sh Macro lines change control state. Other lines are interpreted within the current state. .Ed -. -. .Sh LANGUAGE SYNTAX .Nm documents may contain only graphable 7-bit ASCII characters, the space @@ -56,8 +49,6 @@ character, and, in certain circumstances, the tab character. All manuals must have .Ux line terminators. -. -. .Ss Comments Text following a .Sq \e" , @@ -66,8 +57,6 @@ line. A macro line with only a control character and comment escape, .Sq \&.\e" , is also ignored. Macro lines with only a control charater and optionally whitespace are stripped from input. -. -. .Ss Reserved Characters Within a macro line, the following characters are reserved: .Pp @@ -95,7 +84,6 @@ Within a macro line, the following characters are reserved: .It \&| .Pq vertical bar .El -. .Pp Use of reserved characters is described in .Sx MACRO SYNTAX . @@ -103,8 +91,6 @@ For general use in macro lines, these characters must either be escaped with a non-breaking space .Pq Sq \e& or, if applicable, an appropriate escape sequence used. -. -. .Ss Special Characters Special characters may occur in both macro and free-form lines. Sequences begin with the escape character @@ -123,8 +109,6 @@ for a complete list. Examples include and .Sq \ee .Pq back-slash . -. -. .Ss Text Decoration Terms may be text-decorated using the .Sq \ef @@ -172,8 +156,6 @@ Note these forms are recommended for .Nm , which encourages semantic annotation. -. -. .Ss Predefined Strings Historically, .Xr groff 1 @@ -198,8 +180,6 @@ for a complete list. Examples include and .Sq \e*(Ba .Pq vertical bar . -. -. .Ss Whitespace In non-literal free-form lines, consecutive blocks of whitespace are pruned from input and added later in the output filter, if applicable: @@ -209,26 +189,21 @@ These spaces are pruned from input. These are not. \&.Ed .Ed -. .Pp In macro lines, whitespace delimits arguments and is discarded. If arguments are quoted, whitespace within the quotes is retained. -. .Pp Blank lines are only permitted within literal contexts, as are lines containing only whitespace. Tab characters are only acceptable when delimiting .Sq \&Bl \-column or when in a literal context. -. -. .Ss Quotation Macro arguments may be quoted with a double-quote to group space-delimited terms or to retain blocks of whitespace. A quoted argument begins with a double-quote preceded by whitespace. The next double-quote not pair-wise adjacent to another double-quote terminates the literal, regardless of surrounding whitespace. -. .Pp This produces tokens .Sq a" , @@ -242,10 +217,8 @@ considered literal text. Thus, the following produces .Bd -literal -offset indent \&.Em "Em a" .Ed -. .Pp In free-form mode, quotes are regarded as opaque text. -. .Ss Dates There are several macros in .Nm @@ -272,14 +245,12 @@ Some examples of valid dates follow: .D1 "May, 2009" Pq reduced form .D1 "2009" Pq reduced form .D1 "May 20, 2009" Pq canonical form -. .Ss Scaling Widths Many macros support scaled widths for their arguments, such as stipulating a two-inch list indentation with the following: .Bd -literal -offset indent \&.Bl -tag -width 2i .Ed -. .Pp The syntax for scaled widths is .Sq Li [+-]?[0-9]*.[0-9]*[:unit:] , @@ -325,8 +296,6 @@ or .Sq v is necessarily non-portable across output media. See .Sx COMPATIBILITY . -. -. .Sh MANUAL STRUCTURE A well-formed .Nm @@ -421,7 +390,6 @@ See .Sx \&Nm and .Sx \&Nd . -. .It Em LIBRARY The name of the library containing the documented material, which is assumed to be a function in a section 2 or 3 manual. The syntax for @@ -432,7 +400,6 @@ this is as follows: .Pp See .Sx \&Lb . -. .It Em SYNOPSIS Documents the utility invocation syntax, function call syntax, or device configuration. @@ -476,7 +443,6 @@ See .Sx \&Ft , and .Sx \&Vt . -. .It Em DESCRIPTION This expands upon the brief, one-line description in .Em NAME . @@ -491,12 +457,10 @@ Print verbose information. .Ed .Pp Manuals not documenting a command won't include the above fragment. -. .It Em IMPLEMENTATION NOTES Implementation-specific notes should be kept here. This is useful when implementing standard functions that may have side effects or notable algorithmic implications. -. .It Em EXIT STATUS Command exit status for section 1, 6, and 8 manuals. This section is the dual of @@ -508,7 +472,6 @@ a practise that is now discouraged. .Pp See .Sx \&Ex . -. .It Em RETURN VALUES This section is the dual of .Em EXIT STATUS , @@ -517,26 +480,22 @@ in sections 2, 3, and 9. .Pp See .Sx \&Rv . -. .It Em ENVIRONMENT Documents any usages of environment variables, e.g., .Xr environ 7 . .Pp See .Sx \&Ev . -. .It Em FILES Documents files used. It's helpful to document both the file and a short description of how the file is used (created, modified, etc.). .Pp See .Sx \&Pa . -. .It Em EXAMPLES Example usages. This often contains snippets of well-formed, well-tested invocations. Make doubly sure that your examples work properly! -. .It Em DIAGNOSTICS Documents error conditions. This is most useful in section 4 manuals. Historically, this section was used in place of @@ -547,13 +506,11 @@ discouraged. See .Sx \&Bl .Fl diag . -. .It Em ERRORS Documents error handling in sections 2, 3, and 9. .Pp See .Sx \&Er . -. .It Em SEE ALSO References other manuals with related topics. This section should exist for most manuals. Cross-references should conventionally be ordered @@ -561,7 +518,6 @@ first by section, then alphabetically. .Pp See .Sx \&Xr . -. .It Em STANDARDS References any standards implemented or used. If not adhering to any standards, the @@ -570,32 +526,24 @@ section should be used instead. .Pp See .Sx \&St . -. .It Em HISTORY The history of any manual without a .Em STANDARDS section should be described in this section. -. .It Em AUTHORS Credits to authors, if applicable, should appear in this section. Authors should generally be noted by both name and an e-mail address. .Pp See .Sx \&An . -. .It Em CAVEATS Explanations of common misuses and misunderstandings should be explained in this section. -. .It Em BUGS Extant bugs should be described in this section. -. .It Em SECURITY CONSIDERATIONS Documents any security precautions that operators should consider. -. .El -. -. .Sh MACRO SYNTAX Macros are one to three three characters in length and begin with a control character , @@ -607,7 +555,6 @@ following are equivalent: \&.Pp \&.\ \ \ \&Pp .Ed -. .Pp The syntax of a macro depends on its classification. In this section, .Sq \-arg @@ -618,7 +565,6 @@ parameters; opens the scope of a macro; and if specified, .Sq \&Yc closes it out. -. .Pp The .Em Callable @@ -628,20 +574,16 @@ initial line macro is interpreted as opaque text, such that .Sq \&.Fl \&Sh produces .Sq Fl \&Sh . -. .Pp The .Em Parsable column indicates whether the macro may be followed by further (ostensibly callable) macros. If a macro is not parsable, subsequent macro invocations on the line will be interpreted as opaque text. -. .Pp The .Em Scope column, if applicable, describes closure rules. -. -. .Ss Block full-explicit Multi-line scope closed by an explicit closing macro. All macros contains bodies; only @@ -652,7 +594,6 @@ contains a head. \(lBbody...\(rB \&.Yc .Ed -. .Pp .Bl -column -compact -offset indent "MacroX" "CallableX" "ParsableX" "closed by XXX" .It Em Macro Ta Em Callable Ta Em Parsable Ta Em Scope @@ -665,8 +606,6 @@ contains a head. .It Sx \&Ek Ta \&No Ta \&No Ta opened by Sx \&Bk .It Sx \&El Ta \&No Ta \&No Ta opened by Sx \&Bl .El -. -. .Ss Block full-implicit Multi-line scope closed by end-of-file or implicitly by another macro. All macros have bodies; some @@ -686,7 +625,6 @@ has multiple heads. \&.Yo \(lB\-arg \(lBparm...\(rB\(rB \(lBhead... \(lBTa head...\(rB\(rB \(lBbody...\(rB .Ed -. .Pp .Bl -column -compact -offset indent "MacroX" "CallableX" "ParsableX" "closed by XXXXXXXXXXX" .It Em Macro Ta Em Callable Ta Em Parsable Ta Em Scope @@ -695,8 +633,6 @@ has multiple heads. .It Sx \&Sh Ta \&No Ta \&No Ta closed by Sx \&Sh .It Sx \&Ss Ta \&No Ta \&No Ta closed by Sx \&Sh , Sx \&Ss .El -. -. .Ss Block partial-explicit Like block full-explicit, but also with single-line scope. Each has at least a body and, in limited circumstances, a head @@ -714,7 +650,6 @@ and/or tail \&.Yo \(lB\-arg \(lBparm...\(rB\(rB \(lBhead...\(rB \ \(lBbody...\(rB \&Yc \(lBtail...\(rB .Ed -. .Pp .Bl -column "MacroX" "CallableX" "ParsableX" "closed by XXXX" -compact -offset indent .It Em Macro Ta Em Callable Ta Em Parsable Ta Em Scope @@ -743,8 +678,6 @@ and/or tail .It Sx \&Xc Ta Yes Ta Yes Ta opened by Sx \&Xo .It Sx \&Xo Ta Yes Ta Yes Ta closed by Sx \&Xc .El -. -. .Ss Block partial-implicit Like block full-implicit, but with single-line scope closed by .Sx Reserved Characters @@ -752,7 +685,6 @@ or end of line. .Bd -literal -offset indent \&.Yo \(lB\-arg \(lBval...\(rB\(rB \(lBbody...\(rB \(lBres...\(rB .Ed -. .Pp .Bl -column "MacroX" "CallableX" "ParsableX" -compact -offset indent .It Em Macro Ta Em Callable Ta Em Parsable @@ -777,8 +709,6 @@ macro is a only when invoked as the first macro in a SYNOPSIS section line, else it is .Sx In-line . -. -. .Ss In-line Closed by .Sx Reserved Characters , @@ -794,7 +724,6 @@ then the macro accepts an arbitrary number of arguments. \&.Yo \(lB\-arg \(lBval...\(rB\(rB arg0 arg1 argN .Ed -. .Pp .Bl -column "MacroX" "CallableX" "ParsableX" "Arguments" -compact -offset indent .It Em Macro Ta Em Callable Ta Em Parsable Ta Em Arguments @@ -873,13 +802,10 @@ then the macro accepts an arbitrary number of arguments. .It Sx \&br Ta \&No Ta \&No Ta 0 .It Sx \&sp Ta \&No Ta \&No Ta 1 .El -. -. .Sh REFERENCE This section is a canonical reference of all macros, arranged alphabetically. For the scoping of individual macros, see .Sx MACRO SYNTAX . -. .Ss \&%A Author name of an .Sx \&Rs @@ -887,13 +813,11 @@ block. Multiple authors should each be accorded their own .Sx \%%A line. Author names should be ordered with full or abbreviated forename(s) first, then full surname. -. .Ss \&%B Book title of an .Sx \&Rs block. This macro may also be used in a non-bibliographic context when referring to book titles. -. .Ss \&%C Publication city or location of an .Sx \&Rs @@ -902,70 +826,57 @@ block. .Em Remarks : this macro is not implemented in .Xr groff 1 . -. .Ss \&%D Publication date of an .Sx \&Rs block. This should follow the reduced or canonical form syntax described in .Sx Dates . -. .Ss \&%I Publisher or issuer name of an .Sx \&Rs block. -. .Ss \&%J Journal name of an .Sx \&Rs block. -. .Ss \&%N Issue number (usually for journals) of an .Sx \&Rs block. -. .Ss \&%O Optional information of an .Sx \&Rs block. -. .Ss \&%P Book or journal page number of an .Sx \&Rs block. -. .Ss \&%Q Institutional author (school, government, etc.) of an .Sx \&Rs block. Multiple institutional authors should each be accorded their own .Sx \&%Q line. -. .Ss \&%R Technical report name of an .Sx \&Rs block. -. .Ss \&%T Article title of an .Sx \&Rs block. This macro may also be used in a non-bibliographical context when referring to article titles. -. .Ss \&%U URI of reference document. -. .Ss \&%V Volume number of an .Sx \&Rs block. -. .Ss \&Ac Closes an .Sx \&Ao block. Does not have any tail arguments. -. .Ss \&Ad Address construct: usually in the context of an computational address in memory, not a physical (post) address. @@ -973,7 +884,6 @@ memory, not a physical (post) address. Examples: .D1 \&.Ad [0,$] .D1 \&.Ad 0x00000000 -. .Ss \&An Author name. This macro may alternatively accepts the following arguments, although these may not be specified along with a parameter: @@ -1005,7 +915,6 @@ are re-set when entering the AUTHORS section, so if one specifies .Sx \&An Fl nosplit in the general document body, it must be re-specified in the AUTHORS section. -. .Ss \&Ao Begins a block enclosed by angled brackets. Does not have any head arguments. @@ -1015,7 +924,6 @@ Examples: .Pp See also .Sx \&Aq . -. .Ss \&Ap Inserts an apostrophe without any surrounding white-space. This is generally used as a grammatic device when referring to the verb form of @@ -1023,7 +931,6 @@ a function: .Bd -literal -offset indent \&.Fn execve Ap d .Ed -. .Ss \&Aq Encloses its arguments in angled brackets. .Pp @@ -1042,7 +949,6 @@ statements, which should use .Pp See also .Sx \&Ao . -. .Ss \&Ar Command arguments. If an argument is not provided, the string .Dq file ... @@ -1052,7 +958,6 @@ Examples: .D1 \&.Fl o \&Ns \&Ar file1 .D1 \&.Ar .D1 \&.Ar arg1 , arg2 . -. .Ss \&At Formats an AT&T version. Accepts at most one parameter: .Bl -tag -width 12n -offset indent @@ -1079,12 +984,10 @@ See also .Sx \&Ox , and .Sx \&Ux . -. .Ss \&Bc Closes a .Sx \&Bo block. Does not have any tail arguments. -. .Ss \&Bd Begins a display block. A display is collection of macros or text which may be collectively offset or justified in a manner different from that @@ -1163,7 +1066,6 @@ See also .Sx \&D1 and .Sx \&Dl . -. .Ss \&Bf .Ss \&Bk .Ss \&Bl @@ -1233,7 +1135,6 @@ Examples: .Pp See also .Sx \&Bq . -. .Ss \&Bq Encloses its arguments in square brackets. .Pp @@ -1250,12 +1151,10 @@ and .Pp See also .Sx \&Bo . -. .Ss \&Brc Closes a .Sx \&Bro block. Does not have any tail arguments. -. .Ss \&Bro Begins a block enclosed by curly braces. Does not have any head arguments. @@ -1268,7 +1167,6 @@ Examples: .Pp See also .Sx \&Brq . -. .Ss \&Brq Encloses its arguments in curly braces. .Pp @@ -1277,7 +1175,6 @@ Examples: .Pp See also .Sx \&Bro . -. .Ss \&Bsx Format the BSD/OS version provided as an argument, or a default value if no argument is provided. @@ -1295,11 +1192,9 @@ See also .Sx \&Ox , and .Sx \&Ux . -. .Ss \&Bt Prints .Dq is currently in beta test. -. .Ss \&Bx Format the BSD version provided as an argument, or a default value if no argument is provided. @@ -1317,7 +1212,6 @@ See also .Sx \&Ox , and .Sx \&Ux . -. .Ss \&Cd Configuration declaration. This denotes strings accepted by .Xr config 8 . @@ -1330,7 +1224,6 @@ this macro is commonly abused by using quoted literals to retain white-space and align consecutive .Sx \&Cd declarations. This practise is discouraged. -. .Ss \&Cm Command modifiers. Useful when specifying configuration options or keys. @@ -1341,7 +1234,6 @@ Examples: .Pp See also .Sx \&Fl . -. .Ss \&D1 One-line indented display. This is formatted by the default rules and is useful for simple indented statements. It is followed by a newline. @@ -1353,13 +1245,11 @@ See also .Sx \&Bd and .Sx \&Dl . -. .Ss \&Db .Ss \&Dc Closes a .Sx \&Do block. Does not have any tail arguments. -. .Ss \&Dd Document date. This is the mandatory first macro of any .Nm @@ -1386,7 +1276,6 @@ See also .Sx \&Dt and .Sx \&Os . -. .Ss \&Dl One-line intended display. This is formatted as literal text and is useful for commands and invocations. It is followed by a newline. @@ -1398,7 +1287,6 @@ See also .Sx \&Bd and .Sx \&D1 . -. .Ss \&Do Begins a block enclosed by double quotes. Does not have any head arguments. @@ -1408,7 +1296,6 @@ Examples: .Pp See also .Sx \&Dq . -. .Ss \&Dq Encloses its arguments in double quotes. .Pp @@ -1420,7 +1307,6 @@ Examples: .Pp See also .Sx \&Do . -. .Ss \&Dt Document title. This is the mandatory second macro of any .Nm @@ -1544,7 +1430,6 @@ See also .Sx \&Dd and .Sx \&Os . -. .Ss \&Dv Defined variables such as preprocessor constants. .Pp @@ -1554,7 +1439,6 @@ Examples: .Pp See also .Sx \&Er . -. .Ss \&Dx Format the DragonFly BSD version provided as an argument, or a default value if no argument is provided. @@ -1572,13 +1456,11 @@ See also .Sx \&Ox , and .Sx \&Ux . -. .Ss \&Ec .Ss \&Ed .Ss \&Ef .Ss \&Ek .Ss \&El -. .Ss \&Em Denotes text that should be emphasised. Note that this is a presentation term and should not be used for stylistically decorating @@ -1587,7 +1469,6 @@ technical terms. Examples: .D1 \&.Em Warnings! .D1 \&.Em Remarks : -. .Ss \&En .Ss \&Eo .Ss \&Er @@ -1599,9 +1480,7 @@ Examples: .Pp See also .Sx \&Dv . -. .Ss \&Es -. .Ss \&Ev Environmental variables such as those specified in .Xr environ 7 . @@ -1609,7 +1488,6 @@ Environmental variables such as those specified in Examples: .D1 \&.Ev DISPLAY .D1 \&.Ev PATH -. .Ss \&Ex Inserts text regarding a utility's exit values. This macro must have first the @@ -1640,7 +1518,6 @@ Examples: .Pp See also .Sx \&Cm . -. .Ss \&Fn .Ss \&Fo .Ss \&Fr @@ -1662,7 +1539,6 @@ See also .Sx \&Ox , and .Sx \&Ux . -. .Ss \&Hf .Ss \&Ic .Ss \&In @@ -1680,7 +1556,6 @@ Examples: .Pp See also .Sx \&Mt . -. .Ss \&Lp .Ss \&Ms .Ss \&Mt @@ -1705,7 +1580,6 @@ See also .Sx \&Ox , and .Sx \&Ux . -. .Ss \&Oc .Ss \&Oo .Ss \&Op @@ -1732,13 +1606,11 @@ See also .Sx \&Dd and .Sx \&Dt . -. .Ss \&Ot Unknown usage. .Pp .Em Remarks : this macro has been deprecated. -. .Ss \&Ox Format the OpenBSD version provided as an argument, or a default value if no argument is provided. @@ -1756,7 +1628,6 @@ See also .Sx \&Nx , and .Sx \&Ux . -. .Ss \&Pa .Ss \&Pc .Ss \&Pf @@ -1767,12 +1638,10 @@ and .Ss \&Ql .Ss \&Qo .Ss \&Qq -. .Ss \&Re Closes a .Sx \&Rs block. Does not have any tail arguments. -. .Ss \&Rs Begins a bibliographic .Pq Dq reference @@ -1811,7 +1680,6 @@ If an block is used within a SEE ALSO section, a vertical space is asserted before the rendered output, else the block continues on the current line. -. .Ss \&Rv .Ss \&Sc .Ss \&Sh @@ -1839,7 +1707,6 @@ See also .Sx \&Nx , and .Sx \&Ox . -. .Ss \&Va .Ss \&Vt A variable type. This is also used for indicating global variables in the @@ -1863,16 +1730,13 @@ See also .Sx \&Ft and .Sx \&Va . -. .Ss \&Xc Close a scope opened by .Sx \&Xo . -. .Ss \&Xo Open an extension scope. This macro originally existed to extend the 9-argument limit of troff; since this limit has been lifted, the macro has been deprecated. -. .Ss \&Xr Link to another manual .Pq Qq cross-reference . @@ -1896,11 +1760,8 @@ Examples: .D1 \&.Xr mandoc 1 .D1 \&.Xr mandoc 1 ; .D1 \&.Xr mandoc 1 \&Ns s behaviour -. .Ss \&br .Ss \&sp -. -. .Sh COMPATIBILITY This section documents compatibility between mandoc and other other troff implementations, at this time limited to GNU troff @@ -1911,24 +1772,20 @@ refers to groff versions before the .Pa doc.tmac file re-write .Pq somewhere between 1.15 and 1.19 . -. .Pp Heirloom troff, the other significant troff implementation accepting \-mdoc, is similar to historic groff. -. .Pp .Bl -dash -compact .It The comment syntax .Sq \e." is no longer accepted. -. .It In groff, the .Sx \&Pa macro does not format its arguments when used in the FILES section under certain list types. mandoc does. -. .It Historic groff does not print a dash for empty .Sx \&Fl @@ -1938,18 +1795,15 @@ groff behaves irregularly when specifying .Sq \ef .Sx Text Decoration within line-macro scopes. mandoc follows a consistent system. -. .It In mandoc, negative scaling units are truncated to zero; groff would move to prior lines. Furthermore, the .Sq f scaling unit, while accepted, is rendered as the default unit. -. .It In quoted literals, groff allowed pair-wise double-quotes to produce a standalone double-quote in formatted output. This idiosyncratic behaviour is not applicable in mandoc. -. .It Display types .Sx \&Bd @@ -1969,42 +1823,35 @@ are aliases, as are .Fl literal and .Fl unfilled . -. .It In mandoc, blocks of whitespace are stripped from both macro and free-form text lines (except when in literal mode); groff would retain whitespace in free-form text lines. -. .It Historic groff has many un-callable macros. Most of these (excluding some block-level macros) are now callable. -. .It The vertical bar .Sq \(ba made historic groff .Qq go orbital but has been a proper delimiter since then. -. .It .Sx \&It Fl nested is assumed for all lists (it wasn't in historic groff): any list may be nested and .Fl enum lists will restart the sequence only for the sub-list. -. .It Some manuals use .Sx \&Li incorrectly by following it with a reserved character and expecting the delimiter to render. This is not supported in mandoc. -. .It In groff, the .Sx \&Fo macro only produces the first parameter. This is not the case in mandoc. -. .It In groff, the .Sx \&Cd , @@ -2014,18 +1861,14 @@ and macros were stipulated only to occur in certain manual sections. mandoc does not have these restrictions. .El -. -. .Sh SEE ALSO .Xr mandoc 1 , .Xr mandoc_char 7 -. -. .Sh AUTHORS The .Nm reference was written by -.An Kristaps Dzonsons Aq kristaps@kth.se . +.An Kristaps Dzonsons Aq kristaps@bsd.lv . .\" .\" XXX: this really isn't the place for these caveats. .\" . -- cgit