-.\" $Id: mdoc.7,v 1.80 2010/01/01 16:27:32 kristaps Exp $
+.\" $Id: mdoc.7,v 1.86 2010/03/26 07:07:58 kristaps Exp $
.\"
.\" Copyright (c) 2009 Kristaps Dzonsons <kristaps@kth.se>
.\"
.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
.\"
-.Dd $Mdocdate: January 1 2010 $
+.Dd $Mdocdate: March 26 2010 $
.Dt MDOC 7
.Os
.
Terms may be text-decorated using the
.Sq \ef
escape followed by an indicator: B (bold), I, (italic), R (Roman), or P
-(revert to previous mode):
+(revert to previous mode):
.Pp
.D1 \efBbold\efR \efIitalic\efP
.Pp
.D1 \es+(10much bigger\es-(10
.D1 \es+'100'much much bigger\es-'100'
.Pp
-Note these forms are
+Note these forms are
.Em not
-recommended for
+recommended for
.Nm ,
which encourages semantic annotation.
.
.
.Ss Predefined Strings
-Historically,
+Historically,
.Xr groff 1
-also defined a set of package-specific
+also defined a set of package-specific
.Dq predefined strings ,
-which, like
+which, like
.Sx Special Characters ,
demark special output characters and strings by way of input codes.
Predefined strings are escaped with the slash-asterisk,
.Sx \&Os
macros, is required for every document.
.Pp
-The first section (sections are denoted by
+The first section (sections are denoted by
.Sx \&Sh )
must be the NAME section, consisting of at least one
.Sx \&Nm
.Sx \&Nd
macro.
.Pp
-See
+See
.Sx \&Nm
and
.Sx \&Nd .
.
.It Em SYNOPSIS
Documents the utility invocation syntax, function call syntax, or device
-configuration.
+configuration.
.Pp
For the first, utilities (sections 1, 6, and 8), this is
generally structured as follows:
\&.Cd \*qit* at isa? port 0x4e\*q
.Ed
.Pp
-Manuals not in these sections generally don't need a
+Manuals not in these sections generally don't need a
.Em SYNOPSIS .
.Pp
-See
+See
.Sx \&Op ,
.Sx \&Cd ,
.Sx \&Fn ,
.Sx \&Vt .
.
.It Em DESCRIPTION
-This expands upon the brief, one-line description in
+This expands upon the brief, one-line description in
.Em NAME .
It usually contains a break-down of the options (if documenting a
command), such as:
don't have heads; only one
.Po
.Sx \&It Fl column
-.Pc
+.Pc
has multiple heads.
.Bd -literal -offset indent
\&.Yo \(lB\-arg \(lBparm...\(rB\(rB \(lBhead... \(lBTa head...\(rB\(rB
.It Sx \&Ql Ta Yes Ta Yes
.It Sx \&Qq Ta Yes Ta Yes
.It Sx \&Sq Ta Yes Ta Yes
+.It Sx \&Vt Ta Yes Ta Yes
.El
+.Pp
+Note that the
+.Sx \&Vt
+macro is a
+.Sx Block partial-implicit
+only when invoked as the first macro
+in a SYNOPSIS section line, else it is
+.Sx In-line .
.
.
.Ss In-line
.It Sx \&Ux Ta Yes Ta Yes Ta n
.It Sx \&Va Ta Yes Ta Yes Ta n
.It Sx \&Vt Ta Yes Ta Yes Ta >0
-.It Sx \&Xr Ta Yes Ta Yes Ta >0, <3
+.It Sx \&Xr Ta Yes Ta Yes Ta >0
.It Sx \&br Ta \&No Ta \&No Ta 0
.It Sx \&sp Ta \&No Ta \&No Ta 1
-.El
+.El
.
.
.Sh REFERENCE
.Ed
.
.Ss \&Aq
-Encloses its arguments in angled brackets.
+Encloses its arguments in angled brackets.
.Pp
Examples:
.Bd -literal -offset indent
.Pp
Examples:
.Bd -literal -offset indent
-\&.At
+\&.At
\&.At V.1
.Ed
.Pp
.Sx \&Bq .
.
.Ss \&Bq
-Encloses its arguments in square brackets.
+Encloses its arguments in square brackets.
.Pp
Examples:
.Bd -literal -offset indent
.Pp
.D1 \. Ns Sx \&Dd Cm date
.Pp
-The
+The
.Cm date
field may be either
.Ar $\&Mdocdate$ ,
.Sx \&Dq .
.
.Ss \&Dq
-Encloses its arguments in double quotes.
+Encloses its arguments in double quotes.
.Pp
Examples:
.Bd -literal -offset indent
.Ar hppa64 ,
.Ar i386 ,
.Ar landisk ,
+.Ar loongson ,
.Ar luna88k ,
.Ar mac68k ,
.Ar macppc ,
.
.Ss \&Va
.Ss \&Vt
+A variable type. This is also used for indicating global variables in the
+SYNOPSIS section, in which case a variable name is also specified. Note that
+it accepts
+.Sx Block partial-implicit
+syntax when invoked as the first macro in the SYNOPSIS section, else it
+accepts ordinary
+.Sx In-line
+syntax.
+.Pp
+Note that this should not be confused with
+.Sx \&Ft ,
+which is used for function return types.
+.Pp
+Examples:
+.Bd -literal -offset indent
+\&.Vt unsigned char
+\&.Vt extern const char * const sys_signame[] ;
+.Ed
+.Pp
+See also
+.Sx \&Ft
+and
+.Sx \&Va .
+.
.Ss \&Xc
.Ss \&Xo
.Ss \&Xr
+Link to another manual
+.Pq Qq cross-reference .
+Its calling syntax is
+.Pp
+.D1 \. Ns Sx \&Xr Cm name section
+.Pp
+The
+.Cm name
+and
+.Cm section
+are the name and section of the linked manual. If
+.Cm section
+is followed by non-punctuation, an
+.Sx \&Ns
+is inserted into the token stream. This behaviour is for compatibility
+with
+.Xr groff 1 .
+.Pp
+Examples:
+.Bd -literal -offset indent
+\&.Xr mandoc 1
+\&.Xr mandoc 1 ;
+\&.Xr mandoc 1 s behaviour
+.Ed
+.
.Ss \&br
.Ss \&sp
.
.Pp
.Bl -dash -compact
.It
+The comment syntax
+.Sq \e."
+is no longer accepted.
+.It
In
.Xr groff 1 ,
the
macro does not format its arguments when used in the FILES section under
certain list types. This irregular behaviour has been discontinued.
.It
-Historic
+Historic
.Xr groff 1
-does not print a dash for empty
+does not print a dash for empty
.Sx \&Fl
arguments. This behaviour has been discontinued.
.It