xref: /minix3/external/bsd/mdocml/dist/mdoc.7 (revision 0a6a1f1d05b60e214de2f05a7310ddd1f0e590e7)
1*0a6a1f1dSLionel Sambuc.\"	Id: mdoc.7,v 1.224 2013/12/31 23:29:41 schwarze Exp
2d65f6f70SBen Gras.\"
392395e9cSLionel Sambuc.\" Copyright (c) 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
4*0a6a1f1dSLionel Sambuc.\" Copyright (c) 2010, 2011, 2013 Ingo Schwarze <schwarze@openbsd.org>
5d65f6f70SBen Gras.\"
6d65f6f70SBen Gras.\" Permission to use, copy, modify, and distribute this software for any
7d65f6f70SBen Gras.\" purpose with or without fee is hereby granted, provided that the above
8d65f6f70SBen Gras.\" copyright notice and this permission notice appear in all copies.
9d65f6f70SBen Gras.\"
10d65f6f70SBen Gras.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
11d65f6f70SBen Gras.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
12d65f6f70SBen Gras.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
13d65f6f70SBen Gras.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
14d65f6f70SBen Gras.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
15d65f6f70SBen Gras.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
16d65f6f70SBen Gras.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17d65f6f70SBen Gras.\"
18*0a6a1f1dSLionel Sambuc.Dd December 31, 2013
19d65f6f70SBen Gras.Dt MDOC 7
20d65f6f70SBen Gras.Os
21d65f6f70SBen Gras.Sh NAME
22d65f6f70SBen Gras.Nm mdoc
2392395e9cSLionel Sambuc.Nd semantic markup language for formatting manual pages
24d65f6f70SBen Gras.Sh DESCRIPTION
25d65f6f70SBen GrasThe
26d65f6f70SBen Gras.Nm mdoc
2792395e9cSLionel Sambuclanguage supports authoring of manual pages for the
2892395e9cSLionel Sambuc.Xr man 1
2992395e9cSLionel Sambucutility by allowing semantic annotations of words, phrases,
3092395e9cSLionel Sambucpage sections and complete manual pages.
3192395e9cSLionel SambucSuch annotations are used by formatting tools to achieve a uniform
3292395e9cSLionel Sambucpresentation across all manuals written in
3392395e9cSLionel Sambuc.Nm ,
3492395e9cSLionel Sambucand to support hyperlinking if supported by the output medium.
3592395e9cSLionel Sambuc.Pp
3692395e9cSLionel SambucThis reference document describes the structure of manual pages
3792395e9cSLionel Sambucand the syntax and usage of the
3892395e9cSLionel Sambuc.Nm
3992395e9cSLionel Sambuclanguage.
4092395e9cSLionel SambucThe reference implementation of a parsing and formatting tool is
41d65f6f70SBen Gras.Xr mandoc 1 ;
42d65f6f70SBen Grasthe
43d65f6f70SBen Gras.Sx COMPATIBILITY
4492395e9cSLionel Sambucsection describes compatibility with other implementations.
45d65f6f70SBen Gras.Pp
4692395e9cSLionel SambucIn an
47d65f6f70SBen Gras.Nm
4892395e9cSLionel Sambucdocument, lines beginning with the control character
4992395e9cSLionel Sambuc.Sq \&.
5092395e9cSLionel Sambucare called
5192395e9cSLionel Sambuc.Dq macro lines .
5292395e9cSLionel SambucThe first word is the macro name.
5392395e9cSLionel SambucIt consists of two or three letters.
5492395e9cSLionel SambucMost macro names begin with a capital letter.
5592395e9cSLionel SambucFor a list of available macros, see
5692395e9cSLionel Sambuc.Sx MACRO OVERVIEW .
5792395e9cSLionel SambucThe words following the macro name are arguments to the macro, optionally
5892395e9cSLionel Sambucincluding the names of other, callable macros; see
5992395e9cSLionel Sambuc.Sx MACRO SYNTAX
6092395e9cSLionel Sambucfor details.
6192395e9cSLionel Sambuc.Pp
6292395e9cSLionel SambucLines not beginning with the control character are called
6392395e9cSLionel Sambuc.Dq text lines .
6492395e9cSLionel SambucThey provide free-form text to be printed; the formatting of the text
6592395e9cSLionel Sambucdepends on the respective processing context:
66d65f6f70SBen Gras.Bd -literal -offset indent
67d65f6f70SBen Gras\&.Sh Macro lines change control state.
6892395e9cSLionel SambucText lines are interpreted within the current state.
69d65f6f70SBen Gras.Ed
7092395e9cSLionel Sambuc.Pp
7192395e9cSLionel SambucMany aspects of the basic syntax of the
72d65f6f70SBen Gras.Nm
7392395e9cSLionel Sambuclanguage are based on the
7492395e9cSLionel Sambuc.Xr roff 7
7592395e9cSLionel Sambuclanguage; see the
7692395e9cSLionel Sambuc.Em LANGUAGE SYNTAX
77d65f6f70SBen Grasand
7892395e9cSLionel Sambuc.Em MACRO SYNTAX
7992395e9cSLionel Sambucsections in the
8092395e9cSLionel Sambuc.Xr roff 7
8192395e9cSLionel Sambucmanual for details, in particular regarding
8292395e9cSLionel Sambuccomments, escape sequences, whitespace, and quoting.
8392395e9cSLionel SambucHowever, using
8492395e9cSLionel Sambuc.Xr roff 7
8592395e9cSLionel Sambucrequests in
86d65f6f70SBen Gras.Nm
8792395e9cSLionel Sambucdocuments is discouraged;
8892395e9cSLionel Sambuc.Xr mandoc 1
8992395e9cSLionel Sambucsupports some of them merely for backward compatibility.
90d65f6f70SBen Gras.Sh MANUAL STRUCTURE
91d65f6f70SBen GrasA well-formed
92d65f6f70SBen Gras.Nm
93d65f6f70SBen Grasdocument consists of a document prologue followed by one or more
94d65f6f70SBen Grassections.
95d65f6f70SBen Gras.Pp
96d65f6f70SBen GrasThe prologue, which consists of the
97d65f6f70SBen Gras.Sx \&Dd ,
98d65f6f70SBen Gras.Sx \&Dt ,
99d65f6f70SBen Grasand
100d65f6f70SBen Gras.Sx \&Os
101d65f6f70SBen Grasmacros in that order, is required for every document.
102d65f6f70SBen Gras.Pp
103d65f6f70SBen GrasThe first section (sections are denoted by
104d65f6f70SBen Gras.Sx \&Sh )
105d65f6f70SBen Grasmust be the NAME section, consisting of at least one
106d65f6f70SBen Gras.Sx \&Nm
107d65f6f70SBen Grasfollowed by
108d65f6f70SBen Gras.Sx \&Nd .
109d65f6f70SBen Gras.Pp
110d65f6f70SBen GrasFollowing that, convention dictates specifying at least the
111d65f6f70SBen Gras.Em SYNOPSIS
112d65f6f70SBen Grasand
113d65f6f70SBen Gras.Em DESCRIPTION
114d65f6f70SBen Grassections, although this varies between manual sections.
115d65f6f70SBen Gras.Pp
116d65f6f70SBen GrasThe following is a well-formed skeleton
117d65f6f70SBen Gras.Nm
11892395e9cSLionel Sambucfile for a utility
11992395e9cSLionel Sambuc.Qq progname :
120d65f6f70SBen Gras.Bd -literal -offset indent
121d65f6f70SBen Gras\&.Dd $\&Mdocdate$
12292395e9cSLionel Sambuc\&.Dt PROGNAME section
123d65f6f70SBen Gras\&.Os
124d65f6f70SBen Gras\&.Sh NAME
12592395e9cSLionel Sambuc\&.Nm progname
12692395e9cSLionel Sambuc\&.Nd one line about what it does
12792395e9cSLionel Sambuc\&.\e\(dq .Sh LIBRARY
12892395e9cSLionel Sambuc\&.\e\(dq For sections 2, 3, & 9 only.
12992395e9cSLionel Sambuc\&.\e\(dq Not used in OpenBSD.
130d65f6f70SBen Gras\&.Sh SYNOPSIS
13192395e9cSLionel Sambuc\&.Nm progname
132d65f6f70SBen Gras\&.Op Fl options
133d65f6f70SBen Gras\&.Ar
134d65f6f70SBen Gras\&.Sh DESCRIPTION
135d65f6f70SBen GrasThe
136d65f6f70SBen Gras\&.Nm
137d65f6f70SBen Grasutility processes files ...
13892395e9cSLionel Sambuc\&.\e\(dq .Sh IMPLEMENTATION NOTES
13992395e9cSLionel Sambuc\&.\e\(dq Not used in OpenBSD.
14092395e9cSLionel Sambuc\&.\e\(dq .Sh RETURN VALUES
14192395e9cSLionel Sambuc\&.\e\(dq For sections 2, 3, & 9 only.
14292395e9cSLionel Sambuc\&.\e\(dq .Sh ENVIRONMENT
14392395e9cSLionel Sambuc\&.\e\(dq For sections 1, 6, 7, & 8 only.
14492395e9cSLionel Sambuc\&.\e\(dq .Sh FILES
14592395e9cSLionel Sambuc\&.\e\(dq .Sh EXIT STATUS
14692395e9cSLionel Sambuc\&.\e\(dq For sections 1, 6, & 8 only.
14792395e9cSLionel Sambuc\&.\e\(dq .Sh EXAMPLES
14892395e9cSLionel Sambuc\&.\e\(dq .Sh DIAGNOSTICS
14992395e9cSLionel Sambuc\&.\e\(dq For sections 1, 4, 6, 7, & 8 only.
15092395e9cSLionel Sambuc\&.\e\(dq .Sh ERRORS
15192395e9cSLionel Sambuc\&.\e\(dq For sections 2, 3, & 9 only.
15292395e9cSLionel Sambuc\&.\e\(dq .Sh SEE ALSO
15392395e9cSLionel Sambuc\&.\e\(dq .Xr foobar 1
15492395e9cSLionel Sambuc\&.\e\(dq .Sh STANDARDS
15592395e9cSLionel Sambuc\&.\e\(dq .Sh HISTORY
15692395e9cSLionel Sambuc\&.\e\(dq .Sh AUTHORS
15792395e9cSLionel Sambuc\&.\e\(dq .Sh CAVEATS
15892395e9cSLionel Sambuc\&.\e\(dq .Sh BUGS
15992395e9cSLionel Sambuc\&.\e\(dq .Sh SECURITY CONSIDERATIONS
16092395e9cSLionel Sambuc\&.\e\(dq Not used in OpenBSD.
161d65f6f70SBen Gras.Ed
162d65f6f70SBen Gras.Pp
163d65f6f70SBen GrasThe sections in an
164d65f6f70SBen Gras.Nm
165d65f6f70SBen Grasdocument are conventionally ordered as they appear above.
166d65f6f70SBen GrasSections should be composed as follows:
167d65f6f70SBen Gras.Bl -ohang -offset Ds
168d65f6f70SBen Gras.It Em NAME
169d65f6f70SBen GrasThe name(s) and a one line description of the documented material.
170d65f6f70SBen GrasThe syntax for this as follows:
171d65f6f70SBen Gras.Bd -literal -offset indent
172d65f6f70SBen Gras\&.Nm name0 ,
173d65f6f70SBen Gras\&.Nm name1 ,
174d65f6f70SBen Gras\&.Nm name2
175d65f6f70SBen Gras\&.Nd a one line description
176d65f6f70SBen Gras.Ed
177d65f6f70SBen Gras.Pp
17892395e9cSLionel SambucMultiple
17992395e9cSLionel Sambuc.Sq \&Nm
18092395e9cSLionel Sambucnames should be separated by commas.
18192395e9cSLionel Sambuc.Pp
182d65f6f70SBen GrasThe
183d65f6f70SBen Gras.Sx \&Nm
184d65f6f70SBen Grasmacro(s) must precede the
185d65f6f70SBen Gras.Sx \&Nd
186d65f6f70SBen Grasmacro.
187d65f6f70SBen Gras.Pp
188d65f6f70SBen GrasSee
189d65f6f70SBen Gras.Sx \&Nm
190d65f6f70SBen Grasand
191d65f6f70SBen Gras.Sx \&Nd .
192d65f6f70SBen Gras.It Em LIBRARY
193d65f6f70SBen GrasThe name of the library containing the documented material, which is
194d65f6f70SBen Grasassumed to be a function in a section 2, 3, or 9 manual.
195d65f6f70SBen GrasThe syntax for this is as follows:
196d65f6f70SBen Gras.Bd -literal -offset indent
197d65f6f70SBen Gras\&.Lb libarm
198d65f6f70SBen Gras.Ed
199d65f6f70SBen Gras.Pp
200d65f6f70SBen GrasSee
201d65f6f70SBen Gras.Sx \&Lb .
202d65f6f70SBen Gras.It Em SYNOPSIS
203d65f6f70SBen GrasDocuments the utility invocation syntax, function call syntax, or device
204d65f6f70SBen Grasconfiguration.
205d65f6f70SBen Gras.Pp
206d65f6f70SBen GrasFor the first, utilities (sections 1, 6, and 8), this is
207d65f6f70SBen Grasgenerally structured as follows:
208d65f6f70SBen Gras.Bd -literal -offset indent
209d65f6f70SBen Gras\&.Nm bar
210d65f6f70SBen Gras\&.Op Fl v
211d65f6f70SBen Gras\&.Op Fl o Ar file
212d65f6f70SBen Gras\&.Op Ar
21392395e9cSLionel Sambuc\&.Nm foo
21492395e9cSLionel Sambuc\&.Op Fl v
21592395e9cSLionel Sambuc\&.Op Fl o Ar file
21692395e9cSLionel Sambuc\&.Op Ar
217d65f6f70SBen Gras.Ed
218d65f6f70SBen Gras.Pp
21992395e9cSLionel SambucCommands should be ordered alphabetically.
22092395e9cSLionel Sambuc.Pp
221d65f6f70SBen GrasFor the second, function calls (sections 2, 3, 9):
222d65f6f70SBen Gras.Bd -literal -offset indent
223d65f6f70SBen Gras\&.In header.h
224d65f6f70SBen Gras\&.Vt extern const char *global;
225d65f6f70SBen Gras\&.Ft "char *"
226d65f6f70SBen Gras\&.Fn foo "const char *src"
227d65f6f70SBen Gras\&.Ft "char *"
228d65f6f70SBen Gras\&.Fn bar "const char *src"
229d65f6f70SBen Gras.Ed
230d65f6f70SBen Gras.Pp
23192395e9cSLionel SambucOrdering of
23292395e9cSLionel Sambuc.Sx \&In ,
23392395e9cSLionel Sambuc.Sx \&Vt ,
23492395e9cSLionel Sambuc.Sx \&Fn ,
23592395e9cSLionel Sambucand
23692395e9cSLionel Sambuc.Sx \&Fo
23792395e9cSLionel Sambucmacros should follow C header-file conventions.
23892395e9cSLionel Sambuc.Pp
239d65f6f70SBen GrasAnd for the third, configurations (section 4):
240d65f6f70SBen Gras.Bd -literal -offset indent
24192395e9cSLionel Sambuc\&.Cd \(dqit* at isa? port 0x2e\(dq
24292395e9cSLionel Sambuc\&.Cd \(dqit* at isa? port 0x4e\(dq
243d65f6f70SBen Gras.Ed
244d65f6f70SBen Gras.Pp
245d65f6f70SBen GrasManuals not in these sections generally don't need a
246d65f6f70SBen Gras.Em SYNOPSIS .
247d65f6f70SBen Gras.Pp
248d65f6f70SBen GrasSome macros are displayed differently in the
249d65f6f70SBen Gras.Em SYNOPSIS
250d65f6f70SBen Grassection, particularly
251d65f6f70SBen Gras.Sx \&Nm ,
252d65f6f70SBen Gras.Sx \&Cd ,
253d65f6f70SBen Gras.Sx \&Fd ,
254d65f6f70SBen Gras.Sx \&Fn ,
255d65f6f70SBen Gras.Sx \&Fo ,
256d65f6f70SBen Gras.Sx \&In ,
257d65f6f70SBen Gras.Sx \&Vt ,
258d65f6f70SBen Grasand
259d65f6f70SBen Gras.Sx \&Ft .
260d65f6f70SBen GrasAll of these macros are output on their own line.
261d65f6f70SBen GrasIf two such dissimilar macros are pairwise invoked (except for
262d65f6f70SBen Gras.Sx \&Ft
263d65f6f70SBen Grasbefore
264d65f6f70SBen Gras.Sx \&Fo
265d65f6f70SBen Grasor
266d65f6f70SBen Gras.Sx \&Fn ) ,
267d65f6f70SBen Grasthey are separated by a vertical space, unless in the case of
268d65f6f70SBen Gras.Sx \&Fo ,
269d65f6f70SBen Gras.Sx \&Fn ,
270d65f6f70SBen Grasand
271d65f6f70SBen Gras.Sx \&Ft ,
272d65f6f70SBen Graswhich are always separated by vertical space.
273d65f6f70SBen Gras.Pp
274d65f6f70SBen GrasWhen text and macros following an
275d65f6f70SBen Gras.Sx \&Nm
276d65f6f70SBen Grasmacro starting an input line span multiple output lines,
277d65f6f70SBen Grasall output lines but the first will be indented to align
278d65f6f70SBen Graswith the text immediately following the
279d65f6f70SBen Gras.Sx \&Nm
280d65f6f70SBen Grasmacro, up to the next
281d65f6f70SBen Gras.Sx \&Nm ,
282d65f6f70SBen Gras.Sx \&Sh ,
283d65f6f70SBen Grasor
284d65f6f70SBen Gras.Sx \&Ss
285d65f6f70SBen Grasmacro or the end of an enclosing block, whichever comes first.
286d65f6f70SBen Gras.It Em DESCRIPTION
28792395e9cSLionel SambucThis begins with an expansion of the brief, one line description in
28892395e9cSLionel Sambuc.Em NAME :
28992395e9cSLionel Sambuc.Bd -literal -offset indent
29092395e9cSLionel SambucThe
29192395e9cSLionel Sambuc\&.Nm
29292395e9cSLionel Sambucutility does this, that, and the other.
29392395e9cSLionel Sambuc.Ed
29492395e9cSLionel Sambuc.Pp
29592395e9cSLionel SambucIt usually follows with a breakdown of the options (if documenting a
296d65f6f70SBen Grascommand), such as:
297d65f6f70SBen Gras.Bd -literal -offset indent
298d65f6f70SBen GrasThe arguments are as follows:
299d65f6f70SBen Gras\&.Bl \-tag \-width Ds
300d65f6f70SBen Gras\&.It Fl v
301d65f6f70SBen GrasPrint verbose information.
302d65f6f70SBen Gras\&.El
303d65f6f70SBen Gras.Ed
304d65f6f70SBen Gras.Pp
305d65f6f70SBen GrasManuals not documenting a command won't include the above fragment.
30692395e9cSLionel Sambuc.Pp
30792395e9cSLionel SambucSince the
30892395e9cSLionel Sambuc.Em DESCRIPTION
30992395e9cSLionel Sambucsection usually contains most of the text of a manual, longer manuals
31092395e9cSLionel Sambucoften use the
31192395e9cSLionel Sambuc.Sx \&Ss
31292395e9cSLionel Sambucmacro to form subsections.
31392395e9cSLionel SambucIn very long manuals, the
31492395e9cSLionel Sambuc.Em DESCRIPTION
31592395e9cSLionel Sambucmay be split into multiple sections, each started by an
31692395e9cSLionel Sambuc.Sx \&Sh
31792395e9cSLionel Sambucmacro followed by a non-standard section name, and each having
31892395e9cSLionel Sambucseveral subsections, like in the present
31992395e9cSLionel Sambuc.Nm
32092395e9cSLionel Sambucmanual.
321d65f6f70SBen Gras.It Em IMPLEMENTATION NOTES
322d65f6f70SBen GrasImplementation-specific notes should be kept here.
323d65f6f70SBen GrasThis is useful when implementing standard functions that may have side
324d65f6f70SBen Graseffects or notable algorithmic implications.
325d65f6f70SBen Gras.It Em RETURN VALUES
326d65f6f70SBen GrasThis section documents the
327d65f6f70SBen Grasreturn values of functions in sections 2, 3, and 9.
328d65f6f70SBen Gras.Pp
329d65f6f70SBen GrasSee
330d65f6f70SBen Gras.Sx \&Rv .
331d65f6f70SBen Gras.It Em ENVIRONMENT
332d65f6f70SBen GrasLists the environment variables used by the utility,
333d65f6f70SBen Grasand explains the syntax and semantics of their values.
334d65f6f70SBen GrasThe
335d65f6f70SBen Gras.Xr environ 7
336d65f6f70SBen Grasmanual provides examples of typical content and formatting.
337d65f6f70SBen Gras.Pp
338d65f6f70SBen GrasSee
339d65f6f70SBen Gras.Sx \&Ev .
340d65f6f70SBen Gras.It Em FILES
341d65f6f70SBen GrasDocuments files used.
342d65f6f70SBen GrasIt's helpful to document both the file name and a short description of how
343d65f6f70SBen Grasthe file is used (created, modified, etc.).
344d65f6f70SBen Gras.Pp
345d65f6f70SBen GrasSee
346d65f6f70SBen Gras.Sx \&Pa .
347d65f6f70SBen Gras.It Em EXIT STATUS
348d65f6f70SBen GrasThis section documents the
349d65f6f70SBen Grascommand exit status for section 1, 6, and 8 utilities.
350d65f6f70SBen GrasHistorically, this information was described in
351d65f6f70SBen Gras.Em DIAGNOSTICS ,
352d65f6f70SBen Grasa practise that is now discouraged.
353d65f6f70SBen Gras.Pp
354d65f6f70SBen GrasSee
355d65f6f70SBen Gras.Sx \&Ex .
356d65f6f70SBen Gras.It Em EXAMPLES
357d65f6f70SBen GrasExample usages.
358d65f6f70SBen GrasThis often contains snippets of well-formed, well-tested invocations.
359d65f6f70SBen GrasMake sure that examples work properly!
360d65f6f70SBen Gras.It Em DIAGNOSTICS
361d65f6f70SBen GrasDocuments error conditions.
362d65f6f70SBen GrasThis is most useful in section 4 manuals.
363d65f6f70SBen GrasHistorically, this section was used in place of
364d65f6f70SBen Gras.Em EXIT STATUS
365d65f6f70SBen Grasfor manuals in sections 1, 6, and 8; however, this practise is
366d65f6f70SBen Grasdiscouraged.
367d65f6f70SBen Gras.Pp
368d65f6f70SBen GrasSee
369d65f6f70SBen Gras.Sx \&Bl
370d65f6f70SBen Gras.Fl diag .
371d65f6f70SBen Gras.It Em ERRORS
372d65f6f70SBen GrasDocuments error handling in sections 2, 3, and 9.
373d65f6f70SBen Gras.Pp
374d65f6f70SBen GrasSee
375d65f6f70SBen Gras.Sx \&Er .
376d65f6f70SBen Gras.It Em SEE ALSO
377d65f6f70SBen GrasReferences other manuals with related topics.
378d65f6f70SBen GrasThis section should exist for most manuals.
379d65f6f70SBen GrasCross-references should conventionally be ordered first by section, then
380d65f6f70SBen Grasalphabetically.
381d65f6f70SBen Gras.Pp
38292395e9cSLionel SambucReferences to other documentation concerning the topic of the manual page,
38392395e9cSLionel Sambucfor example authoritative books or journal articles, may also be
38492395e9cSLionel Sambucprovided in this section.
38592395e9cSLionel Sambuc.Pp
386d65f6f70SBen GrasSee
38792395e9cSLionel Sambuc.Sx \&Rs
38892395e9cSLionel Sambucand
389d65f6f70SBen Gras.Sx \&Xr .
390d65f6f70SBen Gras.It Em STANDARDS
391d65f6f70SBen GrasReferences any standards implemented or used.
392d65f6f70SBen GrasIf not adhering to any standards, the
393d65f6f70SBen Gras.Em HISTORY
394d65f6f70SBen Grassection should be used instead.
395d65f6f70SBen Gras.Pp
396d65f6f70SBen GrasSee
397d65f6f70SBen Gras.Sx \&St .
398d65f6f70SBen Gras.It Em HISTORY
39992395e9cSLionel SambucA brief history of the subject, including where it was first implemented,
40092395e9cSLionel Sambucand when it was ported to or reimplemented for the operating system at hand.
401d65f6f70SBen Gras.It Em AUTHORS
402d65f6f70SBen GrasCredits to the person or persons who wrote the code and/or documentation.
403d65f6f70SBen GrasAuthors should generally be noted by both name and email address.
404d65f6f70SBen Gras.Pp
405d65f6f70SBen GrasSee
406d65f6f70SBen Gras.Sx \&An .
407d65f6f70SBen Gras.It Em CAVEATS
408d65f6f70SBen GrasCommon misuses and misunderstandings should be explained
409d65f6f70SBen Grasin this section.
410d65f6f70SBen Gras.It Em BUGS
411d65f6f70SBen GrasKnown bugs, limitations, and work-arounds should be described
412d65f6f70SBen Grasin this section.
413d65f6f70SBen Gras.It Em SECURITY CONSIDERATIONS
414d65f6f70SBen GrasDocuments any security precautions that operators should consider.
415d65f6f70SBen Gras.El
41692395e9cSLionel Sambuc.Sh MACRO OVERVIEW
41792395e9cSLionel SambucThis overview is sorted such that macros of similar purpose are listed
41892395e9cSLionel Sambuctogether, to help find the best macro for any given purpose.
41992395e9cSLionel SambucDeprecated macros are not included in the overview, but can be found below
42092395e9cSLionel Sambucin the alphabetical
42192395e9cSLionel Sambuc.Sx MACRO REFERENCE .
42292395e9cSLionel Sambuc.Ss Document preamble and NAME section macros
42392395e9cSLionel Sambuc.Bl -column "Brq, Bro, Brc" description
42492395e9cSLionel Sambuc.It Sx \&Dd Ta document date: Cm $\&Mdocdate$ | Ar month day , year
42592395e9cSLionel Sambuc.It Sx \&Dt Ta document title: Ar TITLE section Op Ar volume | arch
42692395e9cSLionel Sambuc.It Sx \&Os Ta operating system version: Op Ar system Op Ar version
42792395e9cSLionel Sambuc.It Sx \&Nm Ta document name (one argument)
42892395e9cSLionel Sambuc.It Sx \&Nd Ta document description (one line)
429d65f6f70SBen Gras.El
43092395e9cSLionel Sambuc.Ss Sections and cross references
43192395e9cSLionel Sambuc.Bl -column "Brq, Bro, Brc" description
43292395e9cSLionel Sambuc.It Sx \&Sh Ta section header (one line)
43392395e9cSLionel Sambuc.It Sx \&Ss Ta subsection header (one line)
43492395e9cSLionel Sambuc.It Sx \&Sx Ta internal cross reference to a section or subsection
43592395e9cSLionel Sambuc.It Sx \&Xr Ta cross reference to another manual page: Ar name section
43692395e9cSLionel Sambuc.It Sx \&Pp , \&Lp Ta start a text paragraph (no arguments)
437d65f6f70SBen Gras.El
43892395e9cSLionel Sambuc.Ss Displays and lists
43992395e9cSLionel Sambuc.Bl -column "Brq, Bro, Brc" description
44092395e9cSLionel Sambuc.It Sx \&Bd , \&Ed Ta display block:
44192395e9cSLionel Sambuc.Fl Ar type
44292395e9cSLionel Sambuc.Op Fl offset Ar width
44392395e9cSLionel Sambuc.Op Fl compact
44492395e9cSLionel Sambuc.It Sx \&D1 Ta indented display (one line)
44592395e9cSLionel Sambuc.It Sx \&Dl Ta indented literal display (one line)
44692395e9cSLionel Sambuc.It Sx \&Bl , \&El Ta list block:
44792395e9cSLionel Sambuc.Fl Ar type
44892395e9cSLionel Sambuc.Op Fl width Ar val
44992395e9cSLionel Sambuc.Op Fl offset Ar val
45092395e9cSLionel Sambuc.Op Fl compact
45192395e9cSLionel Sambuc.It Sx \&It Ta list item (syntax depends on Fl Ar type )
45292395e9cSLionel Sambuc.It Sx \&Ta Ta table cell separator in Sx \&Bl Fl column No lists
45392395e9cSLionel Sambuc.It Sx \&Rs , \&%* , \&Re Ta bibliographic block (references)
454d65f6f70SBen Gras.El
45592395e9cSLionel Sambuc.Ss Spacing control
45692395e9cSLionel Sambuc.Bl -column "Brq, Bro, Brc" description
45792395e9cSLionel Sambuc.It Sx \&Pf Ta prefix, no following horizontal space (one argument)
45892395e9cSLionel Sambuc.It Sx \&Ns Ta roman font, no preceding horizontal space (no arguments)
45992395e9cSLionel Sambuc.It Sx \&Ap Ta apostrophe without surrounding whitespace (no arguments)
46092395e9cSLionel Sambuc.It Sx \&Sm Ta switch horizontal spacing mode: Cm on | off
46192395e9cSLionel Sambuc.It Sx \&Bk , \&Ek Ta keep block: Fl words
46292395e9cSLionel Sambuc.It Sx \&br Ta force output line break in text mode (no arguments)
46392395e9cSLionel Sambuc.It Sx \&sp Ta force vertical space: Op Ar height
464d65f6f70SBen Gras.El
46592395e9cSLionel Sambuc.Ss Semantic markup for command line utilities:
46692395e9cSLionel Sambuc.Bl -column "Brq, Bro, Brc" description
46792395e9cSLionel Sambuc.It Sx \&Nm Ta start a SYNOPSIS block with the name of a utility
46892395e9cSLionel Sambuc.It Sx \&Fl Ta command line options (flags) (>=0 arguments)
46992395e9cSLionel Sambuc.It Sx \&Cm Ta command modifier (>0 arguments)
47092395e9cSLionel Sambuc.It Sx \&Ar Ta command arguments (>=0 arguments)
47192395e9cSLionel Sambuc.It Sx \&Op , \&Oo , \&Oc Ta optional syntax elements (enclosure)
47292395e9cSLionel Sambuc.It Sx \&Ic Ta internal or interactive command (>0 arguments)
47392395e9cSLionel Sambuc.It Sx \&Ev Ta environmental variable (>0 arguments)
47492395e9cSLionel Sambuc.It Sx \&Pa Ta file system path (>=0 arguments)
475d65f6f70SBen Gras.El
47692395e9cSLionel Sambuc.Ss Semantic markup for function libraries:
47792395e9cSLionel Sambuc.Bl -column "Brq, Bro, Brc" description
47892395e9cSLionel Sambuc.It Sx \&Lb Ta function library (one argument)
47992395e9cSLionel Sambuc.It Sx \&In Ta include file (one argument)
480*0a6a1f1dSLionel Sambuc.It Sx \&Fd Ta other preprocessor directive (>0 arguments)
48192395e9cSLionel Sambuc.It Sx \&Ft Ta function type (>0 arguments)
48292395e9cSLionel Sambuc.It Sx \&Fo , \&Fc Ta function block: Ar funcname
48392395e9cSLionel Sambuc.It Sx \&Fn Ta function name:
48492395e9cSLionel Sambuc.Op Ar functype
48592395e9cSLionel Sambuc.Ar funcname
48692395e9cSLionel Sambuc.Oo
48792395e9cSLionel Sambuc.Op Ar argtype
48892395e9cSLionel Sambuc.Ar argname
48992395e9cSLionel Sambuc.Oc
49092395e9cSLionel Sambuc.It Sx \&Fa Ta function argument (>0 arguments)
49192395e9cSLionel Sambuc.It Sx \&Vt Ta variable type (>0 arguments)
49292395e9cSLionel Sambuc.It Sx \&Va Ta variable name (>0 arguments)
49392395e9cSLionel Sambuc.It Sx \&Dv Ta defined variable or preprocessor constant (>0 arguments)
49492395e9cSLionel Sambuc.It Sx \&Er Ta error constant (>0 arguments)
49592395e9cSLionel Sambuc.It Sx \&Ev Ta environmental variable (>0 arguments)
49692395e9cSLionel Sambuc.El
49792395e9cSLionel Sambuc.Ss Various semantic markup:
49892395e9cSLionel Sambuc.Bl -column "Brq, Bro, Brc" description
49992395e9cSLionel Sambuc.It Sx \&An Ta author name (>0 arguments)
50092395e9cSLionel Sambuc.It Sx \&Lk Ta hyperlink: Ar uri Op Ar name
50192395e9cSLionel Sambuc.It Sx \&Mt Ta Do mailto Dc hyperlink: Ar address
50292395e9cSLionel Sambuc.It Sx \&Cd Ta kernel configuration declaration (>0 arguments)
50392395e9cSLionel Sambuc.It Sx \&Ad Ta memory address (>0 arguments)
50492395e9cSLionel Sambuc.It Sx \&Ms Ta mathematical symbol (>0 arguments)
50592395e9cSLionel Sambuc.It Sx \&Tn Ta tradename (>0 arguments)
50692395e9cSLionel Sambuc.El
50792395e9cSLionel Sambuc.Ss Physical markup
50892395e9cSLionel Sambuc.Bl -column "Brq, Bro, Brc" description
50992395e9cSLionel Sambuc.It Sx \&Em Ta italic font or underline (emphasis) (>0 arguments)
51092395e9cSLionel Sambuc.It Sx \&Sy Ta boldface font (symbolic) (>0 arguments)
51192395e9cSLionel Sambuc.It Sx \&Li Ta typewriter font (literal) (>0 arguments)
51292395e9cSLionel Sambuc.It Sx \&No Ta return to roman font (normal) (no arguments)
51392395e9cSLionel Sambuc.It Sx \&Bf , \&Ef Ta font block:
51492395e9cSLionel Sambuc.Op Fl Ar type | Cm \&Em | \&Li | \&Sy
51592395e9cSLionel Sambuc.El
51692395e9cSLionel Sambuc.Ss Physical enclosures
51792395e9cSLionel Sambuc.Bl -column "Brq, Bro, Brc" description
51892395e9cSLionel Sambuc.It Sx \&Dq , \&Do , \&Dc Ta enclose in typographic double quotes: Dq text
51992395e9cSLionel Sambuc.It Sx \&Qq , \&Qo , \&Qc Ta enclose in typewriter double quotes: Qq text
52092395e9cSLionel Sambuc.It Sx \&Sq , \&So , \&Sc Ta enclose in single quotes: Sq text
52192395e9cSLionel Sambuc.It Sx \&Ql Ta single-quoted literal text: Ql text
52292395e9cSLionel Sambuc.It Sx \&Pq , \&Po , \&Pc Ta enclose in parentheses: Pq text
52392395e9cSLionel Sambuc.It Sx \&Bq , \&Bo , \&Bc Ta enclose in square brackets: Bq text
52492395e9cSLionel Sambuc.It Sx \&Brq , \&Bro , \&Brc Ta enclose in curly braces: Brq text
52592395e9cSLionel Sambuc.It Sx \&Aq , \&Ao , \&Ac Ta enclose in angle brackets: Aq text
52692395e9cSLionel Sambuc.It Sx \&Eo , \&Ec Ta generic enclosure
52792395e9cSLionel Sambuc.El
52892395e9cSLionel Sambuc.Ss Text production
52992395e9cSLionel Sambuc.Bl -column "Brq, Bro, Brc" description
53092395e9cSLionel Sambuc.It Sx \&Ex Fl std Ta standard command exit values: Op Ar utility ...
53192395e9cSLionel Sambuc.It Sx \&Rv Fl std Ta standard function return values: Op Ar function ...
53292395e9cSLionel Sambuc.It Sx \&St Ta reference to a standards document (one argument)
53392395e9cSLionel Sambuc.It Sx \&Ux Ta Ux
53492395e9cSLionel Sambuc.It Sx \&At Ta At
53592395e9cSLionel Sambuc.It Sx \&Bx Ta Bx
53692395e9cSLionel Sambuc.It Sx \&Bsx Ta Bsx
53792395e9cSLionel Sambuc.It Sx \&Nx Ta Nx
53892395e9cSLionel Sambuc.It Sx \&Fx Ta Fx
53992395e9cSLionel Sambuc.It Sx \&Ox Ta Ox
54092395e9cSLionel Sambuc.It Sx \&Dx Ta Dx
54192395e9cSLionel Sambuc.El
54292395e9cSLionel Sambuc.Sh MACRO REFERENCE
543d65f6f70SBen GrasThis section is a canonical reference of all macros, arranged
544d65f6f70SBen Grasalphabetically.
545d65f6f70SBen GrasFor the scoping of individual macros, see
546d65f6f70SBen Gras.Sx MACRO SYNTAX .
547d65f6f70SBen Gras.Ss \&%A
548d65f6f70SBen GrasAuthor name of an
549d65f6f70SBen Gras.Sx \&Rs
550d65f6f70SBen Grasblock.
551d65f6f70SBen GrasMultiple authors should each be accorded their own
552d65f6f70SBen Gras.Sx \%%A
553d65f6f70SBen Grasline.
554d65f6f70SBen GrasAuthor names should be ordered with full or abbreviated forename(s)
555d65f6f70SBen Grasfirst, then full surname.
556d65f6f70SBen Gras.Ss \&%B
557d65f6f70SBen GrasBook title of an
558d65f6f70SBen Gras.Sx \&Rs
559d65f6f70SBen Grasblock.
560d65f6f70SBen GrasThis macro may also be used in a non-bibliographic context when
561d65f6f70SBen Grasreferring to book titles.
562d65f6f70SBen Gras.Ss \&%C
563d65f6f70SBen GrasPublication city or location of an
564d65f6f70SBen Gras.Sx \&Rs
565d65f6f70SBen Grasblock.
566d65f6f70SBen Gras.Ss \&%D
567d65f6f70SBen GrasPublication date of an
568d65f6f70SBen Gras.Sx \&Rs
569d65f6f70SBen Grasblock.
57092395e9cSLionel SambucRecommended formats of arguments are
57192395e9cSLionel Sambuc.Ar month day , year
57292395e9cSLionel Sambucor just
57392395e9cSLionel Sambuc.Ar year .
574d65f6f70SBen Gras.Ss \&%I
575d65f6f70SBen GrasPublisher or issuer name of an
576d65f6f70SBen Gras.Sx \&Rs
577d65f6f70SBen Grasblock.
578d65f6f70SBen Gras.Ss \&%J
579d65f6f70SBen GrasJournal name of an
580d65f6f70SBen Gras.Sx \&Rs
581d65f6f70SBen Grasblock.
582d65f6f70SBen Gras.Ss \&%N
583d65f6f70SBen GrasIssue number (usually for journals) of an
584d65f6f70SBen Gras.Sx \&Rs
585d65f6f70SBen Grasblock.
586d65f6f70SBen Gras.Ss \&%O
587d65f6f70SBen GrasOptional information of an
588d65f6f70SBen Gras.Sx \&Rs
589d65f6f70SBen Grasblock.
590d65f6f70SBen Gras.Ss \&%P
591d65f6f70SBen GrasBook or journal page number of an
592d65f6f70SBen Gras.Sx \&Rs
593d65f6f70SBen Grasblock.
594d65f6f70SBen Gras.Ss \&%Q
595d65f6f70SBen GrasInstitutional author (school, government, etc.) of an
596d65f6f70SBen Gras.Sx \&Rs
597d65f6f70SBen Grasblock.
598d65f6f70SBen GrasMultiple institutional authors should each be accorded their own
599d65f6f70SBen Gras.Sx \&%Q
600d65f6f70SBen Grasline.
601d65f6f70SBen Gras.Ss \&%R
602d65f6f70SBen GrasTechnical report name of an
603d65f6f70SBen Gras.Sx \&Rs
604d65f6f70SBen Grasblock.
605d65f6f70SBen Gras.Ss \&%T
606d65f6f70SBen GrasArticle title of an
607d65f6f70SBen Gras.Sx \&Rs
608d65f6f70SBen Grasblock.
609d65f6f70SBen GrasThis macro may also be used in a non-bibliographical context when
610d65f6f70SBen Grasreferring to article titles.
611d65f6f70SBen Gras.Ss \&%U
612d65f6f70SBen GrasURI of reference document.
613d65f6f70SBen Gras.Ss \&%V
614d65f6f70SBen GrasVolume number of an
615d65f6f70SBen Gras.Sx \&Rs
616d65f6f70SBen Grasblock.
617d65f6f70SBen Gras.Ss \&Ac
618d65f6f70SBen GrasClose an
619d65f6f70SBen Gras.Sx \&Ao
620d65f6f70SBen Grasblock.
621d65f6f70SBen GrasDoes not have any tail arguments.
622d65f6f70SBen Gras.Ss \&Ad
623d65f6f70SBen GrasMemory address.
624d65f6f70SBen GrasDo not use this for postal addresses.
625d65f6f70SBen Gras.Pp
626d65f6f70SBen GrasExamples:
627d65f6f70SBen Gras.Dl \&.Ad [0,$]
628d65f6f70SBen Gras.Dl \&.Ad 0x00000000
629d65f6f70SBen Gras.Ss \&An
630d65f6f70SBen GrasAuthor name.
63192395e9cSLionel SambucCan be used both for the authors of the program, function, or driver
63292395e9cSLionel Sambucdocumented in the manual, or for the authors of the manual itself.
633d65f6f70SBen GrasRequires either the name of an author or one of the following arguments:
634d65f6f70SBen Gras.Pp
635d65f6f70SBen Gras.Bl -tag -width "-nosplitX" -offset indent -compact
636d65f6f70SBen Gras.It Fl split
637d65f6f70SBen GrasStart a new output line before each subsequent invocation of
638d65f6f70SBen Gras.Sx \&An .
639d65f6f70SBen Gras.It Fl nosplit
640d65f6f70SBen GrasThe opposite of
641d65f6f70SBen Gras.Fl split .
642d65f6f70SBen Gras.El
643d65f6f70SBen Gras.Pp
644d65f6f70SBen GrasThe default is
645d65f6f70SBen Gras.Fl nosplit .
646d65f6f70SBen GrasThe effect of selecting either of the
647d65f6f70SBen Gras.Fl split
648d65f6f70SBen Grasmodes ends at the beginning of the
649d65f6f70SBen Gras.Em AUTHORS
650d65f6f70SBen Grassection.
651d65f6f70SBen GrasIn the
652d65f6f70SBen Gras.Em AUTHORS
653d65f6f70SBen Grassection, the default is
654d65f6f70SBen Gras.Fl nosplit
655d65f6f70SBen Grasfor the first author listing and
656d65f6f70SBen Gras.Fl split
657d65f6f70SBen Grasfor all other author listings.
658d65f6f70SBen Gras.Pp
659d65f6f70SBen GrasExamples:
660d65f6f70SBen Gras.Dl \&.An -nosplit
661*0a6a1f1dSLionel Sambuc.Dl \&.An Kristaps Dzonsons \&Aq \&Mt kristaps@bsd.lv
662d65f6f70SBen Gras.Ss \&Ao
663d65f6f70SBen GrasBegin a block enclosed by angle brackets.
664d65f6f70SBen GrasDoes not have any head arguments.
665d65f6f70SBen Gras.Pp
666d65f6f70SBen GrasExamples:
667d65f6f70SBen Gras.Dl \&.Fl -key= \&Ns \&Ao \&Ar val \&Ac
668d65f6f70SBen Gras.Pp
669d65f6f70SBen GrasSee also
670d65f6f70SBen Gras.Sx \&Aq .
671d65f6f70SBen Gras.Ss \&Ap
672d65f6f70SBen GrasInserts an apostrophe without any surrounding whitespace.
673d65f6f70SBen GrasThis is generally used as a grammatical device when referring to the verb
674d65f6f70SBen Grasform of a function.
675d65f6f70SBen Gras.Pp
676d65f6f70SBen GrasExamples:
677d65f6f70SBen Gras.Dl \&.Fn execve \&Ap d
678d65f6f70SBen Gras.Ss \&Aq
679d65f6f70SBen GrasEncloses its arguments in angle brackets.
680d65f6f70SBen Gras.Pp
681d65f6f70SBen GrasExamples:
682d65f6f70SBen Gras.Dl \&.Fl -key= \&Ns \&Aq \&Ar val
683d65f6f70SBen Gras.Pp
684d65f6f70SBen Gras.Em Remarks :
685d65f6f70SBen Grasthis macro is often abused for rendering URIs, which should instead use
686d65f6f70SBen Gras.Sx \&Lk
687d65f6f70SBen Grasor
688d65f6f70SBen Gras.Sx \&Mt ,
689d65f6f70SBen Grasor to note pre-processor
690d65f6f70SBen Gras.Dq Li #include
691d65f6f70SBen Grasstatements, which should use
692d65f6f70SBen Gras.Sx \&In .
693d65f6f70SBen Gras.Pp
694d65f6f70SBen GrasSee also
695d65f6f70SBen Gras.Sx \&Ao .
696d65f6f70SBen Gras.Ss \&Ar
697d65f6f70SBen GrasCommand arguments.
698d65f6f70SBen GrasIf an argument is not provided, the string
699d65f6f70SBen Gras.Dq file ...\&
700d65f6f70SBen Grasis used as a default.
701d65f6f70SBen Gras.Pp
702d65f6f70SBen GrasExamples:
70392395e9cSLionel Sambuc.Dl ".Fl o Ar file"
70492395e9cSLionel Sambuc.Dl ".Ar"
70592395e9cSLionel Sambuc.Dl ".Ar arg1 , arg2 ."
70692395e9cSLionel Sambuc.Pp
70792395e9cSLionel SambucThe arguments to the
70892395e9cSLionel Sambuc.Sx \&Ar
70992395e9cSLionel Sambucmacro are names and placeholders for command arguments;
71092395e9cSLionel Sambucfor fixed strings to be passed verbatim as arguments, use
71192395e9cSLionel Sambuc.Sx \&Fl
71292395e9cSLionel Sambucor
71392395e9cSLionel Sambuc.Sx \&Cm .
714d65f6f70SBen Gras.Ss \&At
715*0a6a1f1dSLionel SambucFormats an
716*0a6a1f1dSLionel Sambuc.At
717*0a6a1f1dSLionel Sambucversion.
718d65f6f70SBen GrasAccepts one optional argument:
719d65f6f70SBen Gras.Pp
720d65f6f70SBen Gras.Bl -tag -width "v[1-7] | 32vX" -offset indent -compact
721d65f6f70SBen Gras.It Cm v[1-7] | 32v
722d65f6f70SBen GrasA version of
723d65f6f70SBen Gras.At .
72492395e9cSLionel Sambuc.It Cm III
72592395e9cSLionel Sambuc.At III .
726d65f6f70SBen Gras.It Cm V[.[1-4]]?
727d65f6f70SBen GrasA version of
728d65f6f70SBen Gras.At V .
729d65f6f70SBen Gras.El
730d65f6f70SBen Gras.Pp
731d65f6f70SBen GrasNote that these arguments do not begin with a hyphen.
732d65f6f70SBen Gras.Pp
733d65f6f70SBen GrasExamples:
734d65f6f70SBen Gras.Dl \&.At
73592395e9cSLionel Sambuc.Dl \&.At III
736d65f6f70SBen Gras.Dl \&.At V.1
737d65f6f70SBen Gras.Pp
738d65f6f70SBen GrasSee also
739d65f6f70SBen Gras.Sx \&Bsx ,
740d65f6f70SBen Gras.Sx \&Bx ,
741d65f6f70SBen Gras.Sx \&Dx ,
742d65f6f70SBen Gras.Sx \&Fx ,
743d65f6f70SBen Gras.Sx \&Nx ,
744d65f6f70SBen Gras.Sx \&Ox ,
745d65f6f70SBen Grasand
746d65f6f70SBen Gras.Sx \&Ux .
747d65f6f70SBen Gras.Ss \&Bc
748d65f6f70SBen GrasClose a
749d65f6f70SBen Gras.Sx \&Bo
750d65f6f70SBen Grasblock.
751d65f6f70SBen GrasDoes not have any tail arguments.
752d65f6f70SBen Gras.Ss \&Bd
753d65f6f70SBen GrasBegin a display block.
754d65f6f70SBen GrasIts syntax is as follows:
755d65f6f70SBen Gras.Bd -ragged -offset indent
756d65f6f70SBen Gras.Pf \. Sx \&Bd
757d65f6f70SBen Gras.Fl Ns Ar type
758d65f6f70SBen Gras.Op Fl offset Ar width
759d65f6f70SBen Gras.Op Fl compact
760d65f6f70SBen Gras.Ed
761d65f6f70SBen Gras.Pp
762d65f6f70SBen GrasDisplay blocks are used to select a different indentation and
763d65f6f70SBen Grasjustification than the one used by the surrounding text.
76492395e9cSLionel SambucThey may contain both macro lines and text lines.
765d65f6f70SBen GrasBy default, a display block is preceded by a vertical space.
766d65f6f70SBen Gras.Pp
767d65f6f70SBen GrasThe
768d65f6f70SBen Gras.Ar type
769d65f6f70SBen Grasmust be one of the following:
770d65f6f70SBen Gras.Bl -tag -width 13n -offset indent
771d65f6f70SBen Gras.It Fl centered
77292395e9cSLionel SambucProduce one output line from each input line, and centre-justify each line.
773d65f6f70SBen GrasUsing this display type is not recommended; many
774d65f6f70SBen Gras.Nm
775d65f6f70SBen Grasimplementations render it poorly.
776d65f6f70SBen Gras.It Fl filled
77792395e9cSLionel SambucChange the positions of line breaks to fill each line, and left- and
77892395e9cSLionel Sambucright-justify the resulting block.
779d65f6f70SBen Gras.It Fl literal
78092395e9cSLionel SambucProduce one output line from each input line,
78192395e9cSLionel Sambucand do not justify the block at all.
782d65f6f70SBen GrasPreserve white space as it appears in the input.
78392395e9cSLionel SambucAlways use a constant-width font.
78492395e9cSLionel SambucUse this for displaying source code.
785d65f6f70SBen Gras.It Fl ragged
78692395e9cSLionel SambucChange the positions of line breaks to fill each line, and left-justify
78792395e9cSLionel Sambucthe resulting block.
788d65f6f70SBen Gras.It Fl unfilled
78992395e9cSLionel SambucThe same as
79092395e9cSLionel Sambuc.Fl literal ,
79192395e9cSLionel Sambucbut using the same font as for normal text, which is a variable width font
79292395e9cSLionel Sambucif supported by the output device.
793d65f6f70SBen Gras.El
794d65f6f70SBen Gras.Pp
795d65f6f70SBen GrasThe
796d65f6f70SBen Gras.Ar type
797d65f6f70SBen Grasmust be provided first.
798d65f6f70SBen GrasAdditional arguments may follow:
799d65f6f70SBen Gras.Bl -tag -width 13n -offset indent
800d65f6f70SBen Gras.It Fl offset Ar width
801d65f6f70SBen GrasIndent the display by the
802d65f6f70SBen Gras.Ar width ,
803d65f6f70SBen Graswhich may be one of the following:
804d65f6f70SBen Gras.Bl -item
805d65f6f70SBen Gras.It
806d65f6f70SBen GrasOne of the pre-defined strings
807d65f6f70SBen Gras.Cm indent ,
80892395e9cSLionel Sambucthe width of a standard indentation (six constant width characters);
809d65f6f70SBen Gras.Cm indent-two ,
810d65f6f70SBen Grastwice
811d65f6f70SBen Gras.Cm indent ;
812d65f6f70SBen Gras.Cm left ,
813d65f6f70SBen Graswhich has no effect;
814d65f6f70SBen Gras.Cm right ,
815d65f6f70SBen Graswhich justifies to the right margin; or
816d65f6f70SBen Gras.Cm center ,
817d65f6f70SBen Graswhich aligns around an imagined centre axis.
818d65f6f70SBen Gras.It
819d65f6f70SBen GrasA macro invocation, which selects a predefined width
820d65f6f70SBen Grasassociated with that macro.
821d65f6f70SBen GrasThe most popular is the imaginary macro
822d65f6f70SBen Gras.Ar \&Ds ,
823d65f6f70SBen Graswhich resolves to
824d65f6f70SBen Gras.Sy 6n .
825d65f6f70SBen Gras.It
826*0a6a1f1dSLionel SambucA scaling width as described in
827*0a6a1f1dSLionel Sambuc.Xr roff 7 .
828d65f6f70SBen Gras.It
829d65f6f70SBen GrasAn arbitrary string, which indents by the length of this string.
830d65f6f70SBen Gras.El
831d65f6f70SBen Gras.Pp
832d65f6f70SBen GrasWhen the argument is missing,
833d65f6f70SBen Gras.Fl offset
834d65f6f70SBen Grasis ignored.
835d65f6f70SBen Gras.It Fl compact
836d65f6f70SBen GrasDo not assert vertical space before the display.
837d65f6f70SBen Gras.El
838d65f6f70SBen Gras.Pp
839d65f6f70SBen GrasExamples:
840d65f6f70SBen Gras.Bd -literal -offset indent
841d65f6f70SBen Gras\&.Bd \-literal \-offset indent \-compact
842d65f6f70SBen Gras   Hello       world.
843d65f6f70SBen Gras\&.Ed
844d65f6f70SBen Gras.Ed
845d65f6f70SBen Gras.Pp
846d65f6f70SBen GrasSee also
847d65f6f70SBen Gras.Sx \&D1
848d65f6f70SBen Grasand
849d65f6f70SBen Gras.Sx \&Dl .
850d65f6f70SBen Gras.Ss \&Bf
851d65f6f70SBen GrasChange the font mode for a scoped block of text.
852d65f6f70SBen GrasIts syntax is as follows:
853d65f6f70SBen Gras.Bd -ragged -offset indent
854d65f6f70SBen Gras.Pf \. Sx \&Bf
855d65f6f70SBen Gras.Oo
856d65f6f70SBen Gras.Fl emphasis | literal | symbolic |
857d65f6f70SBen Gras.Cm \&Em | \&Li | \&Sy
858d65f6f70SBen Gras.Oc
859d65f6f70SBen Gras.Ed
860d65f6f70SBen Gras.Pp
861d65f6f70SBen GrasThe
862d65f6f70SBen Gras.Fl emphasis
863d65f6f70SBen Grasand
864d65f6f70SBen Gras.Cm \&Em
865d65f6f70SBen Grasargument are equivalent, as are
866d65f6f70SBen Gras.Fl symbolic
867d65f6f70SBen Grasand
868d65f6f70SBen Gras.Cm \&Sy ,
869d65f6f70SBen Grasand
870d65f6f70SBen Gras.Fl literal
871d65f6f70SBen Grasand
872d65f6f70SBen Gras.Cm \&Li .
873d65f6f70SBen GrasWithout an argument, this macro does nothing.
874d65f6f70SBen GrasThe font mode continues until broken by a new font mode in a nested
875d65f6f70SBen Grasscope or
876d65f6f70SBen Gras.Sx \&Ef
877d65f6f70SBen Grasis encountered.
878d65f6f70SBen Gras.Pp
879d65f6f70SBen GrasSee also
880d65f6f70SBen Gras.Sx \&Li ,
881d65f6f70SBen Gras.Sx \&Ef ,
882d65f6f70SBen Gras.Sx \&Em ,
883d65f6f70SBen Grasand
884d65f6f70SBen Gras.Sx \&Sy .
885d65f6f70SBen Gras.Ss \&Bk
88692395e9cSLionel SambucFor each macro, keep its output together on the same output line,
88792395e9cSLionel Sambucuntil the end of the macro or the end of the input line is reached,
88892395e9cSLionel Sambucwhichever comes first.
88992395e9cSLionel SambucLine breaks in text lines are unaffected.
890d65f6f70SBen GrasThe syntax is as follows:
891d65f6f70SBen Gras.Pp
892d65f6f70SBen Gras.D1 Pf \. Sx \&Bk Fl words
893d65f6f70SBen Gras.Pp
894d65f6f70SBen GrasThe
895d65f6f70SBen Gras.Fl words
896d65f6f70SBen Grasargument is required; additional arguments are ignored.
897d65f6f70SBen Gras.Pp
898d65f6f70SBen GrasThe following example will not break within each
899d65f6f70SBen Gras.Sx \&Op
900d65f6f70SBen Grasmacro line:
901d65f6f70SBen Gras.Bd -literal -offset indent
902d65f6f70SBen Gras\&.Bk \-words
903d65f6f70SBen Gras\&.Op Fl f Ar flags
904d65f6f70SBen Gras\&.Op Fl o Ar output
905d65f6f70SBen Gras\&.Ek
906d65f6f70SBen Gras.Ed
907d65f6f70SBen Gras.Pp
908d65f6f70SBen GrasBe careful in using over-long lines within a keep block!
909d65f6f70SBen GrasDoing so will clobber the right margin.
910d65f6f70SBen Gras.Ss \&Bl
911d65f6f70SBen GrasBegin a list.
912d65f6f70SBen GrasLists consist of items specified using the
913d65f6f70SBen Gras.Sx \&It
914d65f6f70SBen Grasmacro, containing a head or a body or both.
915d65f6f70SBen GrasThe list syntax is as follows:
916d65f6f70SBen Gras.Bd -ragged -offset indent
917d65f6f70SBen Gras.Pf \. Sx \&Bl
918d65f6f70SBen Gras.Fl Ns Ar type
919d65f6f70SBen Gras.Op Fl width Ar val
920d65f6f70SBen Gras.Op Fl offset Ar val
921d65f6f70SBen Gras.Op Fl compact
922d65f6f70SBen Gras.Op HEAD ...
923d65f6f70SBen Gras.Ed
924d65f6f70SBen Gras.Pp
925d65f6f70SBen GrasThe list
926d65f6f70SBen Gras.Ar type
927d65f6f70SBen Grasis mandatory and must be specified first.
928d65f6f70SBen GrasThe
929d65f6f70SBen Gras.Fl width
930d65f6f70SBen Grasand
931d65f6f70SBen Gras.Fl offset
932*0a6a1f1dSLionel Sambucarguments accept scaling widths as described in
933*0a6a1f1dSLionel Sambuc.Xr roff 7
934d65f6f70SBen Grasor use the length of the given string.
935d65f6f70SBen GrasThe
936d65f6f70SBen Gras.Fl offset
937d65f6f70SBen Grasis a global indentation for the whole list, affecting both item heads
938d65f6f70SBen Grasand bodies.
939d65f6f70SBen GrasFor those list types supporting it, the
940d65f6f70SBen Gras.Fl width
941d65f6f70SBen Grasargument requests an additional indentation of item bodies,
942d65f6f70SBen Grasto be added to the
943d65f6f70SBen Gras.Fl offset .
944d65f6f70SBen GrasUnless the
945d65f6f70SBen Gras.Fl compact
946d65f6f70SBen Grasargument is specified, list entries are separated by vertical space.
947d65f6f70SBen Gras.Pp
948d65f6f70SBen GrasA list must specify one of the following list types:
949d65f6f70SBen Gras.Bl -tag -width 12n -offset indent
950d65f6f70SBen Gras.It Fl bullet
951d65f6f70SBen GrasNo item heads can be specified, but a bullet will be printed at the head
952d65f6f70SBen Grasof each item.
953d65f6f70SBen GrasItem bodies start on the same output line as the bullet
954d65f6f70SBen Grasand are indented according to the
955d65f6f70SBen Gras.Fl width
956d65f6f70SBen Grasargument.
957d65f6f70SBen Gras.It Fl column
958d65f6f70SBen GrasA columnated list.
959d65f6f70SBen GrasThe
960d65f6f70SBen Gras.Fl width
961d65f6f70SBen Grasargument has no effect; instead, each argument specifies the width
962*0a6a1f1dSLionel Sambucof one column, using either the scaling width syntax described in
963*0a6a1f1dSLionel Sambuc.Xr roff 7
964*0a6a1f1dSLionel Sambucor the string length of the argument.
965d65f6f70SBen GrasIf the first line of the body of a
966d65f6f70SBen Gras.Fl column
967d65f6f70SBen Graslist is not an
968d65f6f70SBen Gras.Sx \&It
969d65f6f70SBen Grasmacro line,
970d65f6f70SBen Gras.Sx \&It
971d65f6f70SBen Grascontexts spanning one input line each are implied until an
972d65f6f70SBen Gras.Sx \&It
973d65f6f70SBen Grasmacro line is encountered, at which point items start being interpreted as
974d65f6f70SBen Grasdescribed in the
975d65f6f70SBen Gras.Sx \&It
976d65f6f70SBen Grasdocumentation.
977d65f6f70SBen Gras.It Fl dash
978d65f6f70SBen GrasLike
979d65f6f70SBen Gras.Fl bullet ,
980d65f6f70SBen Grasexcept that dashes are used in place of bullets.
981d65f6f70SBen Gras.It Fl diag
982d65f6f70SBen GrasLike
983d65f6f70SBen Gras.Fl inset ,
984d65f6f70SBen Grasexcept that item heads are not parsed for macro invocations.
98592395e9cSLionel SambucMost often used in the
98692395e9cSLionel Sambuc.Em DIAGNOSTICS
98792395e9cSLionel Sambucsection with error constants in the item heads.
988d65f6f70SBen Gras.It Fl enum
989d65f6f70SBen GrasA numbered list.
99092395e9cSLionel SambucNo item heads can be specified.
991d65f6f70SBen GrasFormatted like
992d65f6f70SBen Gras.Fl bullet ,
993d65f6f70SBen Grasexcept that cardinal numbers are used in place of bullets,
994d65f6f70SBen Grasstarting at 1.
995d65f6f70SBen Gras.It Fl hang
996d65f6f70SBen GrasLike
997d65f6f70SBen Gras.Fl tag ,
998d65f6f70SBen Grasexcept that the first lines of item bodies are not indented, but follow
999d65f6f70SBen Grasthe item heads like in
1000d65f6f70SBen Gras.Fl inset
1001d65f6f70SBen Graslists.
1002d65f6f70SBen Gras.It Fl hyphen
1003d65f6f70SBen GrasSynonym for
1004d65f6f70SBen Gras.Fl dash .
1005d65f6f70SBen Gras.It Fl inset
1006d65f6f70SBen GrasItem bodies follow items heads on the same line, using normal inter-word
1007d65f6f70SBen Grasspacing.
1008d65f6f70SBen GrasBodies are not indented, and the
1009d65f6f70SBen Gras.Fl width
1010d65f6f70SBen Grasargument is ignored.
1011d65f6f70SBen Gras.It Fl item
1012d65f6f70SBen GrasNo item heads can be specified, and none are printed.
1013d65f6f70SBen GrasBodies are not indented, and the
1014d65f6f70SBen Gras.Fl width
1015d65f6f70SBen Grasargument is ignored.
1016d65f6f70SBen Gras.It Fl ohang
1017d65f6f70SBen GrasItem bodies start on the line following item heads and are not indented.
1018d65f6f70SBen GrasThe
1019d65f6f70SBen Gras.Fl width
1020d65f6f70SBen Grasargument is ignored.
1021d65f6f70SBen Gras.It Fl tag
1022d65f6f70SBen GrasItem bodies are indented according to the
1023d65f6f70SBen Gras.Fl width
1024d65f6f70SBen Grasargument.
1025d65f6f70SBen GrasWhen an item head fits inside the indentation, the item body follows
1026d65f6f70SBen Grasthis head on the same output line.
1027d65f6f70SBen GrasOtherwise, the body starts on the output line following the head.
1028d65f6f70SBen Gras.El
1029d65f6f70SBen Gras.Pp
103092395e9cSLionel SambucLists may be nested within lists and displays.
103192395e9cSLionel SambucNesting of
103292395e9cSLionel Sambuc.Fl column
103392395e9cSLionel Sambucand
103492395e9cSLionel Sambuc.Fl enum
103592395e9cSLionel Sambuclists may not be portable.
103692395e9cSLionel Sambuc.Pp
1037d65f6f70SBen GrasSee also
1038d65f6f70SBen Gras.Sx \&El
1039d65f6f70SBen Grasand
1040d65f6f70SBen Gras.Sx \&It .
1041d65f6f70SBen Gras.Ss \&Bo
1042d65f6f70SBen GrasBegin a block enclosed by square brackets.
1043d65f6f70SBen GrasDoes not have any head arguments.
1044d65f6f70SBen Gras.Pp
1045d65f6f70SBen GrasExamples:
1046d65f6f70SBen Gras.Bd -literal -offset indent -compact
1047d65f6f70SBen Gras\&.Bo 1 ,
1048d65f6f70SBen Gras\&.Dv BUFSIZ \&Bc
1049d65f6f70SBen Gras.Ed
1050d65f6f70SBen Gras.Pp
1051d65f6f70SBen GrasSee also
1052d65f6f70SBen Gras.Sx \&Bq .
1053d65f6f70SBen Gras.Ss \&Bq
1054d65f6f70SBen GrasEncloses its arguments in square brackets.
1055d65f6f70SBen Gras.Pp
1056d65f6f70SBen GrasExamples:
1057d65f6f70SBen Gras.Dl \&.Bq 1 , \&Dv BUFSIZ
1058d65f6f70SBen Gras.Pp
1059d65f6f70SBen Gras.Em Remarks :
1060d65f6f70SBen Grasthis macro is sometimes abused to emulate optional arguments for
1061d65f6f70SBen Grascommands; the correct macros to use for this purpose are
1062d65f6f70SBen Gras.Sx \&Op ,
1063d65f6f70SBen Gras.Sx \&Oo ,
1064d65f6f70SBen Grasand
1065d65f6f70SBen Gras.Sx \&Oc .
1066d65f6f70SBen Gras.Pp
1067d65f6f70SBen GrasSee also
1068d65f6f70SBen Gras.Sx \&Bo .
1069d65f6f70SBen Gras.Ss \&Brc
1070d65f6f70SBen GrasClose a
1071d65f6f70SBen Gras.Sx \&Bro
1072d65f6f70SBen Grasblock.
1073d65f6f70SBen GrasDoes not have any tail arguments.
1074d65f6f70SBen Gras.Ss \&Bro
1075d65f6f70SBen GrasBegin a block enclosed by curly braces.
1076d65f6f70SBen GrasDoes not have any head arguments.
1077d65f6f70SBen Gras.Pp
1078d65f6f70SBen GrasExamples:
1079d65f6f70SBen Gras.Bd -literal -offset indent -compact
1080d65f6f70SBen Gras\&.Bro 1 , ... ,
1081d65f6f70SBen Gras\&.Va n \&Brc
1082d65f6f70SBen Gras.Ed
1083d65f6f70SBen Gras.Pp
1084d65f6f70SBen GrasSee also
1085d65f6f70SBen Gras.Sx \&Brq .
1086d65f6f70SBen Gras.Ss \&Brq
1087d65f6f70SBen GrasEncloses its arguments in curly braces.
1088d65f6f70SBen Gras.Pp
1089d65f6f70SBen GrasExamples:
1090d65f6f70SBen Gras.Dl \&.Brq 1 , ... , \&Va n
1091d65f6f70SBen Gras.Pp
1092d65f6f70SBen GrasSee also
1093d65f6f70SBen Gras.Sx \&Bro .
1094d65f6f70SBen Gras.Ss \&Bsx
1095*0a6a1f1dSLionel SambucFormat the
1096*0a6a1f1dSLionel Sambuc.Bsx
1097*0a6a1f1dSLionel Sambucversion provided as an argument, or a default value if
1098d65f6f70SBen Grasno argument is provided.
1099d65f6f70SBen Gras.Pp
1100d65f6f70SBen GrasExamples:
1101d65f6f70SBen Gras.Dl \&.Bsx 1.0
1102d65f6f70SBen Gras.Dl \&.Bsx
1103d65f6f70SBen Gras.Pp
1104d65f6f70SBen GrasSee also
1105d65f6f70SBen Gras.Sx \&At ,
1106d65f6f70SBen Gras.Sx \&Bx ,
1107d65f6f70SBen Gras.Sx \&Dx ,
1108d65f6f70SBen Gras.Sx \&Fx ,
1109d65f6f70SBen Gras.Sx \&Nx ,
1110d65f6f70SBen Gras.Sx \&Ox ,
1111d65f6f70SBen Grasand
1112d65f6f70SBen Gras.Sx \&Ux .
1113d65f6f70SBen Gras.Ss \&Bt
1114d65f6f70SBen GrasPrints
1115d65f6f70SBen Gras.Dq is currently in beta test.
1116d65f6f70SBen Gras.Ss \&Bx
1117*0a6a1f1dSLionel SambucFormat the
1118*0a6a1f1dSLionel Sambuc.Bx
1119*0a6a1f1dSLionel Sambucversion provided as an argument, or a default value if no
1120d65f6f70SBen Grasargument is provided.
1121d65f6f70SBen Gras.Pp
1122d65f6f70SBen GrasExamples:
112392395e9cSLionel Sambuc.Dl \&.Bx 4.3 Tahoe
1124d65f6f70SBen Gras.Dl \&.Bx 4.4
1125d65f6f70SBen Gras.Dl \&.Bx
1126d65f6f70SBen Gras.Pp
1127d65f6f70SBen GrasSee also
1128d65f6f70SBen Gras.Sx \&At ,
1129d65f6f70SBen Gras.Sx \&Bsx ,
1130d65f6f70SBen Gras.Sx \&Dx ,
1131d65f6f70SBen Gras.Sx \&Fx ,
1132d65f6f70SBen Gras.Sx \&Nx ,
1133d65f6f70SBen Gras.Sx \&Ox ,
1134d65f6f70SBen Grasand
1135d65f6f70SBen Gras.Sx \&Ux .
1136d65f6f70SBen Gras.Ss \&Cd
1137d65f6f70SBen GrasKernel configuration declaration.
1138d65f6f70SBen GrasThis denotes strings accepted by
1139d65f6f70SBen Gras.Xr config 8 .
114092395e9cSLionel SambucIt is most often used in section 4 manual pages.
1141d65f6f70SBen Gras.Pp
1142d65f6f70SBen GrasExamples:
1143d65f6f70SBen Gras.Dl \&.Cd device le0 at scode?
1144d65f6f70SBen Gras.Pp
1145d65f6f70SBen Gras.Em Remarks :
1146d65f6f70SBen Grasthis macro is commonly abused by using quoted literals to retain
1147d65f6f70SBen Graswhitespace and align consecutive
1148d65f6f70SBen Gras.Sx \&Cd
1149d65f6f70SBen Grasdeclarations.
1150d65f6f70SBen GrasThis practise is discouraged.
1151d65f6f70SBen Gras.Ss \&Cm
1152d65f6f70SBen GrasCommand modifiers.
115392395e9cSLionel SambucTypically used for fixed strings passed as arguments, unless
115492395e9cSLionel Sambuc.Sx \&Fl
115592395e9cSLionel Sambucis more appropriate.
115692395e9cSLionel SambucAlso useful when specifying configuration options or keys.
1157d65f6f70SBen Gras.Pp
1158d65f6f70SBen GrasExamples:
115992395e9cSLionel Sambuc.Dl ".Nm mt Fl f Ar device Cm rewind"
116092395e9cSLionel Sambuc.Dl ".Nm ps Fl o Cm pid , Ns Cm command"
116192395e9cSLionel Sambuc.Dl ".Nm dd Cm if= Ns Ar file1 Cm of= Ns Ar file2"
116292395e9cSLionel Sambuc.Dl ".Cm IdentityFile Pa ~/.ssh/id_rsa"
116392395e9cSLionel Sambuc.Dl ".Cm LogLevel Dv DEBUG"
1164d65f6f70SBen Gras.Ss \&D1
1165d65f6f70SBen GrasOne-line indented display.
1166d65f6f70SBen GrasThis is formatted by the default rules and is useful for simple indented
1167d65f6f70SBen Grasstatements.
1168d65f6f70SBen GrasIt is followed by a newline.
1169d65f6f70SBen Gras.Pp
1170d65f6f70SBen GrasExamples:
1171d65f6f70SBen Gras.Dl \&.D1 \&Fl abcdefgh
1172d65f6f70SBen Gras.Pp
1173d65f6f70SBen GrasSee also
1174d65f6f70SBen Gras.Sx \&Bd
1175d65f6f70SBen Grasand
1176d65f6f70SBen Gras.Sx \&Dl .
1177d65f6f70SBen Gras.Ss \&Db
1178d65f6f70SBen GrasSwitch debugging mode.
1179d65f6f70SBen GrasIts syntax is as follows:
1180d65f6f70SBen Gras.Pp
1181d65f6f70SBen Gras.D1 Pf \. Sx \&Db Cm on | off
1182d65f6f70SBen Gras.Pp
1183d65f6f70SBen GrasThis macro is ignored by
1184d65f6f70SBen Gras.Xr mandoc 1 .
1185d65f6f70SBen Gras.Ss \&Dc
1186d65f6f70SBen GrasClose a
1187d65f6f70SBen Gras.Sx \&Do
1188d65f6f70SBen Grasblock.
1189d65f6f70SBen GrasDoes not have any tail arguments.
1190d65f6f70SBen Gras.Ss \&Dd
1191d65f6f70SBen GrasDocument date.
1192d65f6f70SBen GrasThis is the mandatory first macro of any
1193d65f6f70SBen Gras.Nm
1194d65f6f70SBen Grasmanual.
1195d65f6f70SBen GrasIts syntax is as follows:
1196d65f6f70SBen Gras.Pp
119792395e9cSLionel Sambuc.D1 Pf \. Sx \&Dd Ar month day , year
1198d65f6f70SBen Gras.Pp
1199d65f6f70SBen GrasThe
120092395e9cSLionel Sambuc.Ar month
120192395e9cSLionel Sambucis the full English month name, the
120292395e9cSLionel Sambuc.Ar day
120392395e9cSLionel Sambucis an optionally zero-padded numeral, and the
120492395e9cSLionel Sambuc.Ar year
120592395e9cSLionel Sambucis the full four-digit year.
120692395e9cSLionel Sambuc.Pp
120792395e9cSLionel SambucOther arguments are not portable; the
120892395e9cSLionel Sambuc.Xr mandoc 1
120992395e9cSLionel Sambucutility handles them as follows:
121092395e9cSLionel Sambuc.Bl -dash -offset 3n -compact
121192395e9cSLionel Sambuc.It
121292395e9cSLionel SambucTo have the date automatically filled in by the
121392395e9cSLionel Sambuc.Ox
121492395e9cSLionel Sambucversion of
1215d65f6f70SBen Gras.Xr cvs 1 ,
121692395e9cSLionel Sambucthe special string
121792395e9cSLionel Sambuc.Dq $\&Mdocdate$
121892395e9cSLionel Sambuccan be given as an argument.
121992395e9cSLionel Sambuc.It
122092395e9cSLionel SambucA few alternative date formats are accepted as well
122192395e9cSLionel Sambucand converted to the standard form.
122292395e9cSLionel Sambuc.It
122392395e9cSLionel SambucIf a date string cannot be parsed, it is used verbatim.
122492395e9cSLionel Sambuc.It
122592395e9cSLionel SambucIf no date string is given, the current date is used.
122692395e9cSLionel Sambuc.El
1227d65f6f70SBen Gras.Pp
1228d65f6f70SBen GrasExamples:
1229d65f6f70SBen Gras.Dl \&.Dd $\&Mdocdate$
1230d65f6f70SBen Gras.Dl \&.Dd $\&Mdocdate: July 21 2007$
1231d65f6f70SBen Gras.Dl \&.Dd July 21, 2007
1232d65f6f70SBen Gras.Pp
1233d65f6f70SBen GrasSee also
1234d65f6f70SBen Gras.Sx \&Dt
1235d65f6f70SBen Grasand
1236d65f6f70SBen Gras.Sx \&Os .
1237d65f6f70SBen Gras.Ss \&Dl
1238d65f6f70SBen GrasOne-line intended display.
1239d65f6f70SBen GrasThis is formatted as literal text and is useful for commands and
1240d65f6f70SBen Grasinvocations.
1241d65f6f70SBen GrasIt is followed by a newline.
1242d65f6f70SBen Gras.Pp
1243d65f6f70SBen GrasExamples:
1244d65f6f70SBen Gras.Dl \&.Dl % mandoc mdoc.7 \e(ba less
1245d65f6f70SBen Gras.Pp
1246d65f6f70SBen GrasSee also
1247d65f6f70SBen Gras.Sx \&Bd
1248d65f6f70SBen Grasand
1249d65f6f70SBen Gras.Sx \&D1 .
1250d65f6f70SBen Gras.Ss \&Do
1251d65f6f70SBen GrasBegin a block enclosed by double quotes.
1252d65f6f70SBen GrasDoes not have any head arguments.
1253d65f6f70SBen Gras.Pp
1254d65f6f70SBen GrasExamples:
1255d65f6f70SBen Gras.Bd -literal -offset indent -compact
1256d65f6f70SBen Gras\&.Do
1257d65f6f70SBen GrasApril is the cruellest month
1258d65f6f70SBen Gras\&.Dc
1259d65f6f70SBen Gras\e(em T.S. Eliot
1260d65f6f70SBen Gras.Ed
1261d65f6f70SBen Gras.Pp
1262d65f6f70SBen GrasSee also
1263d65f6f70SBen Gras.Sx \&Dq .
1264d65f6f70SBen Gras.Ss \&Dq
1265d65f6f70SBen GrasEncloses its arguments in
1266d65f6f70SBen Gras.Dq typographic
1267d65f6f70SBen Grasdouble-quotes.
1268d65f6f70SBen Gras.Pp
1269d65f6f70SBen GrasExamples:
1270d65f6f70SBen Gras.Bd -literal -offset indent -compact
1271d65f6f70SBen Gras\&.Dq April is the cruellest month
1272d65f6f70SBen Gras\e(em T.S. Eliot
1273d65f6f70SBen Gras.Ed
1274d65f6f70SBen Gras.Pp
1275d65f6f70SBen GrasSee also
1276d65f6f70SBen Gras.Sx \&Qq ,
1277d65f6f70SBen Gras.Sx \&Sq ,
1278d65f6f70SBen Grasand
1279d65f6f70SBen Gras.Sx \&Do .
1280d65f6f70SBen Gras.Ss \&Dt
1281d65f6f70SBen GrasDocument title.
1282d65f6f70SBen GrasThis is the mandatory second macro of any
1283d65f6f70SBen Gras.Nm
1284d65f6f70SBen Grasfile.
1285d65f6f70SBen GrasIts syntax is as follows:
1286d65f6f70SBen Gras.Bd -ragged -offset indent
1287d65f6f70SBen Gras.Pf \. Sx \&Dt
1288d65f6f70SBen Gras.Oo
1289d65f6f70SBen Gras.Ar title
1290d65f6f70SBen Gras.Oo
1291d65f6f70SBen Gras.Ar section
129292395e9cSLionel Sambuc.Op Ar volume
129392395e9cSLionel Sambuc.Op Ar arch
1294d65f6f70SBen Gras.Oc
1295d65f6f70SBen Gras.Oc
1296d65f6f70SBen Gras.Ed
1297d65f6f70SBen Gras.Pp
1298d65f6f70SBen GrasIts arguments are as follows:
1299d65f6f70SBen Gras.Bl -tag -width Ds -offset Ds
1300d65f6f70SBen Gras.It Ar title
1301d65f6f70SBen GrasThe document's title (name), defaulting to
1302d65f6f70SBen Gras.Dq UNKNOWN
1303d65f6f70SBen Grasif unspecified.
1304d65f6f70SBen GrasIt should be capitalised.
1305d65f6f70SBen Gras.It Ar section
1306d65f6f70SBen GrasThe manual section.
1307d65f6f70SBen GrasThis may be one of
1308d65f6f70SBen Gras.Ar 1
1309d65f6f70SBen Gras.Pq utilities ,
1310d65f6f70SBen Gras.Ar 2
1311d65f6f70SBen Gras.Pq system calls ,
1312d65f6f70SBen Gras.Ar 3
1313d65f6f70SBen Gras.Pq libraries ,
1314d65f6f70SBen Gras.Ar 3p
1315d65f6f70SBen Gras.Pq Perl libraries ,
1316d65f6f70SBen Gras.Ar 4
1317d65f6f70SBen Gras.Pq devices ,
1318d65f6f70SBen Gras.Ar 5
1319d65f6f70SBen Gras.Pq file formats ,
1320d65f6f70SBen Gras.Ar 6
1321d65f6f70SBen Gras.Pq games ,
1322d65f6f70SBen Gras.Ar 7
1323d65f6f70SBen Gras.Pq miscellaneous ,
1324d65f6f70SBen Gras.Ar 8
1325d65f6f70SBen Gras.Pq system utilities ,
1326d65f6f70SBen Gras.Ar 9
1327d65f6f70SBen Gras.Pq kernel functions ,
1328d65f6f70SBen Gras.Ar X11
1329d65f6f70SBen Gras.Pq X Window System ,
1330d65f6f70SBen Gras.Ar X11R6
1331d65f6f70SBen Gras.Pq X Window System ,
1332d65f6f70SBen Gras.Ar unass
1333d65f6f70SBen Gras.Pq unassociated ,
1334d65f6f70SBen Gras.Ar local
1335d65f6f70SBen Gras.Pq local system ,
1336d65f6f70SBen Gras.Ar draft
1337d65f6f70SBen Gras.Pq draft manual ,
1338d65f6f70SBen Grasor
1339d65f6f70SBen Gras.Ar paper
1340d65f6f70SBen Gras.Pq paper .
1341d65f6f70SBen GrasIt should correspond to the manual's filename suffix and defaults to
1342d65f6f70SBen Gras.Dq 1
1343d65f6f70SBen Grasif unspecified.
1344d65f6f70SBen Gras.It Ar volume
1345d65f6f70SBen GrasThis overrides the volume inferred from
1346d65f6f70SBen Gras.Ar section .
1347d65f6f70SBen GrasThis field is optional, and if specified, must be one of
1348d65f6f70SBen Gras.Ar USD
1349d65f6f70SBen Gras.Pq users' supplementary documents ,
1350d65f6f70SBen Gras.Ar PS1
1351d65f6f70SBen Gras.Pq programmers' supplementary documents ,
1352d65f6f70SBen Gras.Ar AMD
1353d65f6f70SBen Gras.Pq administrators' supplementary documents ,
1354d65f6f70SBen Gras.Ar SMM
1355d65f6f70SBen Gras.Pq system managers' manuals ,
1356d65f6f70SBen Gras.Ar URM
1357d65f6f70SBen Gras.Pq users' reference manuals ,
1358d65f6f70SBen Gras.Ar PRM
1359d65f6f70SBen Gras.Pq programmers' reference manuals ,
1360d65f6f70SBen Gras.Ar KM
1361d65f6f70SBen Gras.Pq kernel manuals ,
1362d65f6f70SBen Gras.Ar IND
1363d65f6f70SBen Gras.Pq master index ,
1364d65f6f70SBen Gras.Ar MMI
1365d65f6f70SBen Gras.Pq master index ,
1366d65f6f70SBen Gras.Ar LOCAL
1367d65f6f70SBen Gras.Pq local manuals ,
1368d65f6f70SBen Gras.Ar LOC
1369d65f6f70SBen Gras.Pq local manuals ,
1370d65f6f70SBen Grasor
1371d65f6f70SBen Gras.Ar CON
1372d65f6f70SBen Gras.Pq contributed manuals .
1373d65f6f70SBen Gras.It Ar arch
137492395e9cSLionel SambucThis specifies the machine architecture a manual page applies to,
137592395e9cSLionel Sambucwhere relevant, for example
137692395e9cSLionel Sambuc.Cm alpha ,
137792395e9cSLionel Sambuc.Cm amd64 ,
137892395e9cSLionel Sambuc.Cm i386 ,
1379d65f6f70SBen Grasor
138092395e9cSLionel Sambuc.Cm sparc64 .
138192395e9cSLionel SambucThe list of supported architectures varies by operating system.
138292395e9cSLionel SambucFor the full list of all architectures recognized by
138392395e9cSLionel Sambuc.Xr mandoc 1 ,
138492395e9cSLionel Sambucsee the file
138592395e9cSLionel Sambuc.Pa arch.in
138692395e9cSLionel Sambucin the source distribution.
1387d65f6f70SBen Gras.El
1388d65f6f70SBen Gras.Pp
1389d65f6f70SBen GrasExamples:
1390d65f6f70SBen Gras.Dl \&.Dt FOO 1
1391d65f6f70SBen Gras.Dl \&.Dt FOO 4 KM
1392d65f6f70SBen Gras.Dl \&.Dt FOO 9 i386
1393d65f6f70SBen Gras.Pp
1394d65f6f70SBen GrasSee also
1395d65f6f70SBen Gras.Sx \&Dd
1396d65f6f70SBen Grasand
1397d65f6f70SBen Gras.Sx \&Os .
1398d65f6f70SBen Gras.Ss \&Dv
139992395e9cSLionel SambucDefined variables such as preprocessor constants, constant symbols,
140092395e9cSLionel Sambucenumeration values, and so on.
1401d65f6f70SBen Gras.Pp
1402d65f6f70SBen GrasExamples:
140392395e9cSLionel Sambuc.Dl \&.Dv NULL
1404d65f6f70SBen Gras.Dl \&.Dv BUFSIZ
1405d65f6f70SBen Gras.Dl \&.Dv STDOUT_FILENO
1406d65f6f70SBen Gras.Pp
1407d65f6f70SBen GrasSee also
140892395e9cSLionel Sambuc.Sx \&Er
140992395e9cSLionel Sambucand
141092395e9cSLionel Sambuc.Sx \&Ev
1411*0a6a1f1dSLionel Sambucfor special-purpose constants,
141292395e9cSLionel Sambuc.Sx \&Va
1413*0a6a1f1dSLionel Sambucfor variable symbols, and
1414*0a6a1f1dSLionel Sambuc.Sx \&Fd
1415*0a6a1f1dSLionel Sambucfor listing preprocessor variable definitions in the
1416*0a6a1f1dSLionel Sambuc.Em SYNOPSIS .
1417d65f6f70SBen Gras.Ss \&Dx
1418*0a6a1f1dSLionel SambucFormat the
1419*0a6a1f1dSLionel Sambuc.Dx
1420*0a6a1f1dSLionel Sambucversion provided as an argument, or a default
1421d65f6f70SBen Grasvalue if no argument is provided.
1422d65f6f70SBen Gras.Pp
1423d65f6f70SBen GrasExamples:
1424d65f6f70SBen Gras.Dl \&.Dx 2.4.1
1425d65f6f70SBen Gras.Dl \&.Dx
1426d65f6f70SBen Gras.Pp
1427d65f6f70SBen GrasSee also
1428d65f6f70SBen Gras.Sx \&At ,
1429d65f6f70SBen Gras.Sx \&Bsx ,
1430d65f6f70SBen Gras.Sx \&Bx ,
1431d65f6f70SBen Gras.Sx \&Fx ,
1432d65f6f70SBen Gras.Sx \&Nx ,
1433d65f6f70SBen Gras.Sx \&Ox ,
1434d65f6f70SBen Grasand
1435d65f6f70SBen Gras.Sx \&Ux .
1436d65f6f70SBen Gras.Ss \&Ec
1437d65f6f70SBen GrasClose a scope started by
1438d65f6f70SBen Gras.Sx \&Eo .
1439d65f6f70SBen GrasIts syntax is as follows:
1440d65f6f70SBen Gras.Pp
1441d65f6f70SBen Gras.D1 Pf \. Sx \&Ec Op Ar TERM
1442d65f6f70SBen Gras.Pp
1443d65f6f70SBen GrasThe
1444d65f6f70SBen Gras.Ar TERM
1445d65f6f70SBen Grasargument is used as the enclosure tail, for example, specifying \e(rq
1446d65f6f70SBen Graswill emulate
1447d65f6f70SBen Gras.Sx \&Dc .
1448d65f6f70SBen Gras.Ss \&Ed
1449d65f6f70SBen GrasEnd a display context started by
1450d65f6f70SBen Gras.Sx \&Bd .
1451d65f6f70SBen Gras.Ss \&Ef
1452d65f6f70SBen GrasEnd a font mode context started by
1453d65f6f70SBen Gras.Sx \&Bf .
1454d65f6f70SBen Gras.Ss \&Ek
1455d65f6f70SBen GrasEnd a keep context started by
1456d65f6f70SBen Gras.Sx \&Bk .
1457d65f6f70SBen Gras.Ss \&El
1458d65f6f70SBen GrasEnd a list context started by
1459d65f6f70SBen Gras.Sx \&Bl .
1460d65f6f70SBen Gras.Pp
1461d65f6f70SBen GrasSee also
1462d65f6f70SBen Gras.Sx \&Bl
1463d65f6f70SBen Grasand
1464d65f6f70SBen Gras.Sx \&It .
1465d65f6f70SBen Gras.Ss \&Em
146692395e9cSLionel SambucDenotes text that should be
146792395e9cSLionel Sambuc.Em emphasised .
1468d65f6f70SBen GrasNote that this is a presentation term and should not be used for
1469d65f6f70SBen Grasstylistically decorating technical terms.
147092395e9cSLionel SambucDepending on the output device, this is usually represented
147192395e9cSLionel Sambucusing an italic font or underlined characters.
1472d65f6f70SBen Gras.Pp
1473d65f6f70SBen GrasExamples:
1474d65f6f70SBen Gras.Dl \&.Em Warnings!
1475d65f6f70SBen Gras.Dl \&.Em Remarks :
1476d65f6f70SBen Gras.Pp
1477d65f6f70SBen GrasSee also
1478d65f6f70SBen Gras.Sx \&Bf ,
147992395e9cSLionel Sambuc.Sx \&Li ,
148092395e9cSLionel Sambuc.Sx \&No ,
1481d65f6f70SBen Grasand
148292395e9cSLionel Sambuc.Sx \&Sy .
1483d65f6f70SBen Gras.Ss \&En
1484d65f6f70SBen GrasThis macro is obsolete and not implemented in
1485d65f6f70SBen Gras.Xr mandoc 1 .
1486d65f6f70SBen Gras.Ss \&Eo
1487d65f6f70SBen GrasAn arbitrary enclosure.
1488d65f6f70SBen GrasIts syntax is as follows:
1489d65f6f70SBen Gras.Pp
1490d65f6f70SBen Gras.D1 Pf \. Sx \&Eo Op Ar TERM
1491d65f6f70SBen Gras.Pp
1492d65f6f70SBen GrasThe
1493d65f6f70SBen Gras.Ar TERM
1494d65f6f70SBen Grasargument is used as the enclosure head, for example, specifying \e(lq
1495d65f6f70SBen Graswill emulate
1496d65f6f70SBen Gras.Sx \&Do .
1497d65f6f70SBen Gras.Ss \&Er
149892395e9cSLionel SambucError constants for definitions of the
149992395e9cSLionel Sambuc.Va errno
150092395e9cSLionel Sambuclibc global variable.
150192395e9cSLionel SambucThis is most often used in section 2 and 3 manual pages.
1502d65f6f70SBen Gras.Pp
1503d65f6f70SBen GrasExamples:
1504d65f6f70SBen Gras.Dl \&.Er EPERM
1505d65f6f70SBen Gras.Dl \&.Er ENOENT
1506d65f6f70SBen Gras.Pp
1507d65f6f70SBen GrasSee also
150892395e9cSLionel Sambuc.Sx \&Dv
150992395e9cSLionel Sambucfor general constants.
1510d65f6f70SBen Gras.Ss \&Es
1511d65f6f70SBen GrasThis macro is obsolete and not implemented.
1512d65f6f70SBen Gras.Ss \&Ev
1513d65f6f70SBen GrasEnvironmental variables such as those specified in
1514d65f6f70SBen Gras.Xr environ 7 .
1515d65f6f70SBen Gras.Pp
1516d65f6f70SBen GrasExamples:
1517d65f6f70SBen Gras.Dl \&.Ev DISPLAY
1518d65f6f70SBen Gras.Dl \&.Ev PATH
151992395e9cSLionel Sambuc.Pp
152092395e9cSLionel SambucSee also
152192395e9cSLionel Sambuc.Sx \&Dv
152292395e9cSLionel Sambucfor general constants.
1523d65f6f70SBen Gras.Ss \&Ex
152492395e9cSLionel SambucInsert a standard sentence regarding command exit values of 0 on success
152592395e9cSLionel Sambucand >0 on failure.
152692395e9cSLionel SambucThis is most often used in section 1, 6, and 8 manual pages.
1527d65f6f70SBen GrasIts syntax is as follows:
1528d65f6f70SBen Gras.Pp
152992395e9cSLionel Sambuc.D1 Pf \. Sx \&Ex Fl std Op Ar utility ...
1530d65f6f70SBen Gras.Pp
153192395e9cSLionel SambucIf
1532d65f6f70SBen Gras.Ar utility
1533d65f6f70SBen Grasis not specified, the document's name set by
1534d65f6f70SBen Gras.Sx \&Nm
1535d65f6f70SBen Grasis used.
153692395e9cSLionel SambucMultiple
153792395e9cSLionel Sambuc.Ar utility
153892395e9cSLionel Sambucarguments are treated as separate utilities.
1539d65f6f70SBen Gras.Pp
1540d65f6f70SBen GrasSee also
1541d65f6f70SBen Gras.Sx \&Rv .
1542d65f6f70SBen Gras.Ss \&Fa
1543d65f6f70SBen GrasFunction argument.
1544d65f6f70SBen GrasIts syntax is as follows:
1545d65f6f70SBen Gras.Bd -ragged -offset indent
1546d65f6f70SBen Gras.Pf \. Sx \&Fa
1547d65f6f70SBen Gras.Op Cm argtype
1548d65f6f70SBen Gras.Cm argname
1549d65f6f70SBen Gras.Ed
1550d65f6f70SBen Gras.Pp
1551d65f6f70SBen GrasThis may be invoked for names with or without the corresponding type.
1552d65f6f70SBen GrasIt is also used to specify the field name of a structure.
1553d65f6f70SBen GrasMost often, the
1554d65f6f70SBen Gras.Sx \&Fa
1555d65f6f70SBen Grasmacro is used in the
1556d65f6f70SBen Gras.Em SYNOPSIS
1557d65f6f70SBen Graswithin
1558d65f6f70SBen Gras.Sx \&Fo
1559d65f6f70SBen Grassection when documenting multi-line function prototypes.
1560d65f6f70SBen GrasIf invoked with multiple arguments, the arguments are separated by a
1561d65f6f70SBen Grascomma.
1562d65f6f70SBen GrasFurthermore, if the following macro is another
1563d65f6f70SBen Gras.Sx \&Fa ,
1564d65f6f70SBen Grasthe last argument will also have a trailing comma.
1565d65f6f70SBen Gras.Pp
1566d65f6f70SBen GrasExamples:
1567d65f6f70SBen Gras.Dl \&.Fa \(dqconst char *p\(dq
1568d65f6f70SBen Gras.Dl \&.Fa \(dqint a\(dq \(dqint b\(dq \(dqint c\(dq
1569d65f6f70SBen Gras.Dl \&.Fa foo
1570d65f6f70SBen Gras.Pp
1571d65f6f70SBen GrasSee also
1572d65f6f70SBen Gras.Sx \&Fo .
1573d65f6f70SBen Gras.Ss \&Fc
1574d65f6f70SBen GrasEnd a function context started by
1575d65f6f70SBen Gras.Sx \&Fo .
1576d65f6f70SBen Gras.Ss \&Fd
1577*0a6a1f1dSLionel SambucPreprocessor directive, in particular for listing it in the
1578*0a6a1f1dSLionel Sambuc.Em SYNOPSIS .
1579*0a6a1f1dSLionel SambucHistorically, it was also used to document include files.
1580*0a6a1f1dSLionel SambucThe latter usage has been deprecated in favour of
1581d65f6f70SBen Gras.Sx \&In .
1582*0a6a1f1dSLionel Sambuc.Pp
1583*0a6a1f1dSLionel SambucIts syntax is as follows:
1584*0a6a1f1dSLionel Sambuc.Bd -ragged -offset indent
1585*0a6a1f1dSLionel Sambuc.Pf \. Sx \&Fd
1586*0a6a1f1dSLionel Sambuc.Li # Ns Ar directive
1587*0a6a1f1dSLionel Sambuc.Op Ar argument ...
1588*0a6a1f1dSLionel Sambuc.Ed
1589*0a6a1f1dSLionel Sambuc.Pp
1590*0a6a1f1dSLionel SambucExamples:
1591*0a6a1f1dSLionel Sambuc.Dl \&.Fd #define sa_handler __sigaction_u.__sa_handler
1592*0a6a1f1dSLionel Sambuc.Dl \&.Fd #define SIO_MAXNFDS
1593*0a6a1f1dSLionel Sambuc.Dl \&.Fd #ifdef FS_DEBUG
1594*0a6a1f1dSLionel Sambuc.Dl \&.Ft void
1595*0a6a1f1dSLionel Sambuc.Dl \&.Fn dbg_open \(dqconst char *\(dq
1596*0a6a1f1dSLionel Sambuc.Dl \&.Fd #endif
1597d65f6f70SBen Gras.Pp
1598d65f6f70SBen GrasSee also
1599*0a6a1f1dSLionel Sambuc.Sx MANUAL STRUCTURE ,
1600*0a6a1f1dSLionel Sambuc.Sx \&In ,
1601d65f6f70SBen Grasand
1602*0a6a1f1dSLionel Sambuc.Sx \&Dv .
1603d65f6f70SBen Gras.Ss \&Fl
160492395e9cSLionel SambucCommand-line flag or option.
1605d65f6f70SBen GrasUsed when listing arguments to command-line utilities.
1606d65f6f70SBen GrasPrints a fixed-width hyphen
1607d65f6f70SBen Gras.Sq \-
1608d65f6f70SBen Grasdirectly followed by each argument.
1609d65f6f70SBen GrasIf no arguments are provided, a hyphen is printed followed by a space.
1610d65f6f70SBen GrasIf the argument is a macro, a hyphen is prefixed to the subsequent macro
1611d65f6f70SBen Grasoutput.
1612d65f6f70SBen Gras.Pp
1613d65f6f70SBen GrasExamples:
161492395e9cSLionel Sambuc.Dl ".Fl R Op Fl H | L | P"
161592395e9cSLionel Sambuc.Dl ".Op Fl 1AaCcdFfgHhikLlmnopqRrSsTtux"
161692395e9cSLionel Sambuc.Dl ".Fl type Cm d Fl name Pa CVS"
161792395e9cSLionel Sambuc.Dl ".Fl Ar signal_number"
161892395e9cSLionel Sambuc.Dl ".Fl o Fl"
1619d65f6f70SBen Gras.Pp
1620d65f6f70SBen GrasSee also
1621d65f6f70SBen Gras.Sx \&Cm .
1622d65f6f70SBen Gras.Ss \&Fn
1623d65f6f70SBen GrasA function name.
1624d65f6f70SBen GrasIts syntax is as follows:
1625d65f6f70SBen Gras.Bd -ragged -offset indent
1626d65f6f70SBen Gras.Pf \. Ns Sx \&Fn
162792395e9cSLionel Sambuc.Op Ar functype
162892395e9cSLionel Sambuc.Ar funcname
162992395e9cSLionel Sambuc.Op Oo Ar argtype Oc Ar argname
1630d65f6f70SBen Gras.Ed
1631d65f6f70SBen Gras.Pp
1632d65f6f70SBen GrasFunction arguments are surrounded in parenthesis and
1633d65f6f70SBen Grasare delimited by commas.
1634d65f6f70SBen GrasIf no arguments are specified, blank parenthesis are output.
163592395e9cSLionel SambucIn the
163692395e9cSLionel Sambuc.Em SYNOPSIS
163792395e9cSLionel Sambucsection, this macro starts a new output line,
163892395e9cSLionel Sambucand a blank line is automatically inserted between function definitions.
1639d65f6f70SBen Gras.Pp
1640d65f6f70SBen GrasExamples:
164192395e9cSLionel Sambuc.Dl \&.Fn \(dqint funcname\(dq \(dqint arg0\(dq \(dqint arg1\(dq
164292395e9cSLionel Sambuc.Dl \&.Fn funcname \(dqint arg0\(dq
1643d65f6f70SBen Gras.Dl \&.Fn funcname arg0
164492395e9cSLionel Sambuc.Pp
1645d65f6f70SBen Gras.Bd -literal -offset indent -compact
1646d65f6f70SBen Gras\&.Ft functype
1647d65f6f70SBen Gras\&.Fn funcname
1648d65f6f70SBen Gras.Ed
1649d65f6f70SBen Gras.Pp
1650d65f6f70SBen GrasWhen referring to a function documented in another manual page, use
1651d65f6f70SBen Gras.Sx \&Xr
1652d65f6f70SBen Grasinstead.
1653d65f6f70SBen GrasSee also
165492395e9cSLionel Sambuc.Sx MANUAL STRUCTURE ,
165592395e9cSLionel Sambuc.Sx \&Fo ,
1656d65f6f70SBen Grasand
1657d65f6f70SBen Gras.Sx \&Ft .
1658d65f6f70SBen Gras.Ss \&Fo
1659d65f6f70SBen GrasBegin a function block.
1660d65f6f70SBen GrasThis is a multi-line version of
1661d65f6f70SBen Gras.Sx \&Fn .
1662d65f6f70SBen GrasIts syntax is as follows:
1663d65f6f70SBen Gras.Pp
166492395e9cSLionel Sambuc.D1 Pf \. Sx \&Fo Ar funcname
1665d65f6f70SBen Gras.Pp
1666d65f6f70SBen GrasInvocations usually occur in the following context:
1667d65f6f70SBen Gras.Bd -ragged -offset indent
166892395e9cSLionel Sambuc.Pf \. Sx \&Ft Ar functype
1669d65f6f70SBen Gras.br
167092395e9cSLionel Sambuc.Pf \. Sx \&Fo Ar funcname
1671d65f6f70SBen Gras.br
167292395e9cSLionel Sambuc.Pf \. Sx \&Fa Oo Ar argtype Oc Ar argname
1673d65f6f70SBen Gras.br
167492395e9cSLionel Sambuc\&.\.\.
1675d65f6f70SBen Gras.br
1676d65f6f70SBen Gras.Pf \. Sx \&Fc
1677d65f6f70SBen Gras.Ed
1678d65f6f70SBen Gras.Pp
1679d65f6f70SBen GrasA
1680d65f6f70SBen Gras.Sx \&Fo
1681d65f6f70SBen Grasscope is closed by
168292395e9cSLionel Sambuc.Sx \&Fc .
1683d65f6f70SBen Gras.Pp
1684d65f6f70SBen GrasSee also
1685d65f6f70SBen Gras.Sx MANUAL STRUCTURE ,
1686d65f6f70SBen Gras.Sx \&Fa ,
1687d65f6f70SBen Gras.Sx \&Fc ,
1688d65f6f70SBen Grasand
1689d65f6f70SBen Gras.Sx \&Ft .
169092395e9cSLionel Sambuc.Ss \&Fr
169192395e9cSLionel SambucThis macro is obsolete and not implemented in
169292395e9cSLionel Sambuc.Xr mandoc 1 .
169392395e9cSLionel Sambuc.Pp
169492395e9cSLionel SambucIt was used to show function return values.
169592395e9cSLionel SambucThe syntax was:
169692395e9cSLionel Sambuc.Pp
169792395e9cSLionel Sambuc.Dl Pf . Sx \&Fr Ar value
1698d65f6f70SBen Gras.Ss \&Ft
1699d65f6f70SBen GrasA function type.
1700d65f6f70SBen GrasIts syntax is as follows:
1701d65f6f70SBen Gras.Pp
170292395e9cSLionel Sambuc.D1 Pf \. Sx \&Ft Ar functype
170392395e9cSLionel Sambuc.Pp
170492395e9cSLionel SambucIn the
170592395e9cSLionel Sambuc.Em SYNOPSIS
170692395e9cSLionel Sambucsection, a new output line is started after this macro.
1707d65f6f70SBen Gras.Pp
1708d65f6f70SBen GrasExamples:
1709d65f6f70SBen Gras.Dl \&.Ft int
1710d65f6f70SBen Gras.Bd -literal -offset indent -compact
1711d65f6f70SBen Gras\&.Ft functype
1712d65f6f70SBen Gras\&.Fn funcname
1713d65f6f70SBen Gras.Ed
1714d65f6f70SBen Gras.Pp
1715d65f6f70SBen GrasSee also
1716d65f6f70SBen Gras.Sx MANUAL STRUCTURE ,
1717d65f6f70SBen Gras.Sx \&Fn ,
1718d65f6f70SBen Grasand
1719d65f6f70SBen Gras.Sx \&Fo .
1720d65f6f70SBen Gras.Ss \&Fx
1721d65f6f70SBen GrasFormat the
1722d65f6f70SBen Gras.Fx
1723d65f6f70SBen Grasversion provided as an argument, or a default value
1724d65f6f70SBen Grasif no argument is provided.
1725d65f6f70SBen Gras.Pp
1726d65f6f70SBen GrasExamples:
1727d65f6f70SBen Gras.Dl \&.Fx 7.1
1728d65f6f70SBen Gras.Dl \&.Fx
1729d65f6f70SBen Gras.Pp
1730d65f6f70SBen GrasSee also
1731d65f6f70SBen Gras.Sx \&At ,
1732d65f6f70SBen Gras.Sx \&Bsx ,
1733d65f6f70SBen Gras.Sx \&Bx ,
1734d65f6f70SBen Gras.Sx \&Dx ,
1735d65f6f70SBen Gras.Sx \&Nx ,
1736d65f6f70SBen Gras.Sx \&Ox ,
1737d65f6f70SBen Grasand
1738d65f6f70SBen Gras.Sx \&Ux .
1739d65f6f70SBen Gras.Ss \&Hf
174092395e9cSLionel SambucThis macro is not implemented in
174192395e9cSLionel Sambuc.Xr mandoc 1 .
174292395e9cSLionel Sambuc.Pp
174392395e9cSLionel SambucIt was used to include the contents of a (header) file literally.
174492395e9cSLionel SambucThe syntax was:
174592395e9cSLionel Sambuc.Pp
174692395e9cSLionel Sambuc.Dl Pf . Sx \&Hf Ar filename
1747d65f6f70SBen Gras.Ss \&Ic
1748d65f6f70SBen GrasDesignate an internal or interactive command.
1749d65f6f70SBen GrasThis is similar to
1750d65f6f70SBen Gras.Sx \&Cm
1751d65f6f70SBen Grasbut used for instructions rather than values.
1752d65f6f70SBen Gras.Pp
1753d65f6f70SBen GrasExamples:
175492395e9cSLionel Sambuc.Dl \&.Ic :wq
1755d65f6f70SBen Gras.Dl \&.Ic hash
1756d65f6f70SBen Gras.Dl \&.Ic alias
1757d65f6f70SBen Gras.Pp
1758d65f6f70SBen GrasNote that using
1759d65f6f70SBen Gras.Sx \&Bd Fl literal
1760d65f6f70SBen Grasor
1761d65f6f70SBen Gras.Sx \&D1
1762d65f6f70SBen Grasis preferred for displaying code; the
1763d65f6f70SBen Gras.Sx \&Ic
1764d65f6f70SBen Grasmacro is used when referring to specific instructions.
1765d65f6f70SBen Gras.Ss \&In
1766d65f6f70SBen GrasAn
1767d65f6f70SBen Gras.Dq include
1768d65f6f70SBen Grasfile.
176992395e9cSLionel SambucWhen invoked as the first macro on an input line in the
1770d65f6f70SBen Gras.Em SYNOPSIS
177192395e9cSLionel Sambucsection, the argument is displayed in angle brackets
177292395e9cSLionel Sambucand preceded by
1773d65f6f70SBen Gras.Dq #include ,
177492395e9cSLionel Sambucand a blank line is inserted in front if there is a preceding
177592395e9cSLionel Sambucfunction declaration.
177692395e9cSLionel SambucThis is most often used in section 2, 3, and 9 manual pages.
1777d65f6f70SBen Gras.Pp
1778d65f6f70SBen GrasExamples:
177992395e9cSLionel Sambuc.Dl \&.In sys/types.h
1780d65f6f70SBen Gras.Pp
1781d65f6f70SBen GrasSee also
1782d65f6f70SBen Gras.Sx MANUAL STRUCTURE .
1783d65f6f70SBen Gras.Ss \&It
1784d65f6f70SBen GrasA list item.
1785d65f6f70SBen GrasThe syntax of this macro depends on the list type.
1786d65f6f70SBen Gras.Pp
1787d65f6f70SBen GrasLists
1788d65f6f70SBen Grasof type
1789d65f6f70SBen Gras.Fl hang ,
1790d65f6f70SBen Gras.Fl ohang ,
1791d65f6f70SBen Gras.Fl inset ,
1792d65f6f70SBen Grasand
1793d65f6f70SBen Gras.Fl diag
1794d65f6f70SBen Grashave the following syntax:
1795d65f6f70SBen Gras.Pp
179692395e9cSLionel Sambuc.D1 Pf \. Sx \&It Ar args
1797d65f6f70SBen Gras.Pp
1798d65f6f70SBen GrasLists of type
1799d65f6f70SBen Gras.Fl bullet ,
1800d65f6f70SBen Gras.Fl dash ,
1801d65f6f70SBen Gras.Fl enum ,
1802d65f6f70SBen Gras.Fl hyphen
1803d65f6f70SBen Grasand
1804d65f6f70SBen Gras.Fl item
1805d65f6f70SBen Grashave the following syntax:
1806d65f6f70SBen Gras.Pp
1807d65f6f70SBen Gras.D1 Pf \. Sx \&It
1808d65f6f70SBen Gras.Pp
1809d65f6f70SBen Graswith subsequent lines interpreted within the scope of the
1810d65f6f70SBen Gras.Sx \&It
1811d65f6f70SBen Grasuntil either a closing
1812d65f6f70SBen Gras.Sx \&El
1813d65f6f70SBen Grasor another
1814d65f6f70SBen Gras.Sx \&It .
1815d65f6f70SBen Gras.Pp
1816d65f6f70SBen GrasThe
1817d65f6f70SBen Gras.Fl tag
1818d65f6f70SBen Graslist has the following syntax:
1819d65f6f70SBen Gras.Pp
1820d65f6f70SBen Gras.D1 Pf \. Sx \&It Op Cm args
1821d65f6f70SBen Gras.Pp
1822d65f6f70SBen GrasSubsequent lines are interpreted as with
1823d65f6f70SBen Gras.Fl bullet
1824d65f6f70SBen Grasand family.
1825d65f6f70SBen GrasThe line arguments correspond to the list's left-hand side; body
1826d65f6f70SBen Grasarguments correspond to the list's contents.
1827d65f6f70SBen Gras.Pp
1828d65f6f70SBen GrasThe
1829d65f6f70SBen Gras.Fl column
1830d65f6f70SBen Graslist is the most complicated.
1831d65f6f70SBen GrasIts syntax is as follows:
1832d65f6f70SBen Gras.Pp
183392395e9cSLionel Sambuc.D1 Pf \. Sx \&It Ar cell Op <TAB> Ar cell ...
183492395e9cSLionel Sambuc.D1 Pf \. Sx \&It Ar cell Op Sx \&Ta Ar cell ...
1835d65f6f70SBen Gras.Pp
183692395e9cSLionel SambucThe arguments consist of one or more lines of text and macros
183792395e9cSLionel Sambucrepresenting a complete table line.
183892395e9cSLionel SambucCells within the line are delimited by tabs or by the special
183992395e9cSLionel Sambuc.Sx \&Ta
184092395e9cSLionel Sambucblock macro.
184192395e9cSLionel SambucThe tab cell delimiter may only be used within the
1842d65f6f70SBen Gras.Sx \&It
184392395e9cSLionel Sambucline itself; on following lines, only the
184492395e9cSLionel Sambuc.Sx \&Ta
184592395e9cSLionel Sambucmacro can be used to delimit cells, and
184692395e9cSLionel Sambuc.Sx \&Ta
184792395e9cSLionel Sambucis only recognised as a macro when called by other macros,
184892395e9cSLionel Sambucnot as the first macro on a line.
184992395e9cSLionel Sambuc.Pp
185092395e9cSLionel SambucNote that quoted strings may span tab-delimited cells on an
1851d65f6f70SBen Gras.Sx \&It
185292395e9cSLionel Sambucline.
185392395e9cSLionel SambucFor example,
1854d65f6f70SBen Gras.Pp
1855d65f6f70SBen Gras.Dl .It \(dqcol1 ; <TAB> col2 ;\(dq \&;
1856d65f6f70SBen Gras.Pp
1857d65f6f70SBen Graswill preserve the semicolon whitespace except for the last.
1858d65f6f70SBen Gras.Pp
1859d65f6f70SBen GrasSee also
1860d65f6f70SBen Gras.Sx \&Bl .
1861d65f6f70SBen Gras.Ss \&Lb
1862d65f6f70SBen GrasSpecify a library.
1863d65f6f70SBen GrasThe syntax is as follows:
1864d65f6f70SBen Gras.Pp
186592395e9cSLionel Sambuc.D1 Pf \. Sx \&Lb Ar library
1866d65f6f70SBen Gras.Pp
1867d65f6f70SBen GrasThe
186892395e9cSLionel Sambuc.Ar library
1869d65f6f70SBen Grasparameter may be a system library, such as
1870d65f6f70SBen Gras.Cm libz
1871d65f6f70SBen Grasor
1872d65f6f70SBen Gras.Cm libpam ,
1873d65f6f70SBen Grasin which case a small library description is printed next to the linker
1874d65f6f70SBen Grasinvocation; or a custom library, in which case the library name is
1875d65f6f70SBen Grasprinted in quotes.
1876d65f6f70SBen GrasThis is most commonly used in the
1877d65f6f70SBen Gras.Em SYNOPSIS
1878d65f6f70SBen Grassection as described in
1879d65f6f70SBen Gras.Sx MANUAL STRUCTURE .
1880d65f6f70SBen Gras.Pp
1881d65f6f70SBen GrasExamples:
1882d65f6f70SBen Gras.Dl \&.Lb libz
1883*0a6a1f1dSLionel Sambuc.Dl \&.Lb libmandoc
1884d65f6f70SBen Gras.Ss \&Li
188592395e9cSLionel SambucDenotes text that should be in a
188692395e9cSLionel Sambuc.Li literal
188792395e9cSLionel Sambucfont mode.
1888d65f6f70SBen GrasNote that this is a presentation term and should not be used for
1889d65f6f70SBen Grasstylistically decorating technical terms.
1890d65f6f70SBen Gras.Pp
189192395e9cSLionel SambucOn terminal output devices, this is often indistinguishable from
189292395e9cSLionel Sambucnormal text.
189392395e9cSLionel Sambuc.Pp
1894d65f6f70SBen GrasSee also
1895d65f6f70SBen Gras.Sx \&Bf ,
189692395e9cSLionel Sambuc.Sx \&Em ,
189792395e9cSLionel Sambuc.Sx \&No ,
1898d65f6f70SBen Grasand
189992395e9cSLionel Sambuc.Sx \&Sy .
1900d65f6f70SBen Gras.Ss \&Lk
1901d65f6f70SBen GrasFormat a hyperlink.
1902d65f6f70SBen GrasIts syntax is as follows:
1903d65f6f70SBen Gras.Pp
190492395e9cSLionel Sambuc.D1 Pf \. Sx \&Lk Ar uri Op Ar name
1905d65f6f70SBen Gras.Pp
1906d65f6f70SBen GrasExamples:
190792395e9cSLionel Sambuc.Dl \&.Lk http://bsd.lv \(dqThe BSD.lv Project\(dq
1908d65f6f70SBen Gras.Dl \&.Lk http://bsd.lv
1909d65f6f70SBen Gras.Pp
1910d65f6f70SBen GrasSee also
1911d65f6f70SBen Gras.Sx \&Mt .
1912d65f6f70SBen Gras.Ss \&Lp
1913d65f6f70SBen GrasSynonym for
1914d65f6f70SBen Gras.Sx \&Pp .
1915d65f6f70SBen Gras.Ss \&Ms
1916d65f6f70SBen GrasDisplay a mathematical symbol.
1917d65f6f70SBen GrasIts syntax is as follows:
1918d65f6f70SBen Gras.Pp
191992395e9cSLionel Sambuc.D1 Pf \. Sx \&Ms Ar symbol
1920d65f6f70SBen Gras.Pp
1921d65f6f70SBen GrasExamples:
1922d65f6f70SBen Gras.Dl \&.Ms sigma
1923d65f6f70SBen Gras.Dl \&.Ms aleph
1924d65f6f70SBen Gras.Ss \&Mt
1925d65f6f70SBen GrasFormat a
1926d65f6f70SBen Gras.Dq mailto:
1927d65f6f70SBen Grashyperlink.
1928d65f6f70SBen GrasIts syntax is as follows:
1929d65f6f70SBen Gras.Pp
193092395e9cSLionel Sambuc.D1 Pf \. Sx \&Mt Ar address
1931d65f6f70SBen Gras.Pp
1932d65f6f70SBen GrasExamples:
1933d65f6f70SBen Gras.Dl \&.Mt discuss@manpages.bsd.lv
1934*0a6a1f1dSLionel Sambuc.Dl \&.An Kristaps Dzonsons \&Aq \&Mt kristaps@bsd.lv
1935d65f6f70SBen Gras.Ss \&Nd
1936d65f6f70SBen GrasA one line description of the manual's content.
1937d65f6f70SBen GrasThis may only be invoked in the
1938d65f6f70SBen Gras.Em SYNOPSIS
1939d65f6f70SBen Grassection subsequent the
1940d65f6f70SBen Gras.Sx \&Nm
1941d65f6f70SBen Grasmacro.
1942d65f6f70SBen Gras.Pp
1943d65f6f70SBen GrasExamples:
194492395e9cSLionel Sambuc.Dl Pf . Sx \&Nd mdoc language reference
194592395e9cSLionel Sambuc.Dl Pf . Sx \&Nd format and display UNIX manuals
1946d65f6f70SBen Gras.Pp
1947d65f6f70SBen GrasThe
1948d65f6f70SBen Gras.Sx \&Nd
1949d65f6f70SBen Grasmacro technically accepts child macros and terminates with a subsequent
1950d65f6f70SBen Gras.Sx \&Sh
1951d65f6f70SBen Grasinvocation.
1952d65f6f70SBen GrasDo not assume this behaviour: some
1953d65f6f70SBen Gras.Xr whatis 1
1954d65f6f70SBen Grasdatabase generators are not smart enough to parse more than the line
1955d65f6f70SBen Grasarguments and will display macros verbatim.
1956d65f6f70SBen Gras.Pp
1957d65f6f70SBen GrasSee also
1958d65f6f70SBen Gras.Sx \&Nm .
1959d65f6f70SBen Gras.Ss \&Nm
1960d65f6f70SBen GrasThe name of the manual page, or \(em in particular in section 1, 6,
1961d65f6f70SBen Grasand 8 pages \(em of an additional command or feature documented in
1962d65f6f70SBen Grasthe manual page.
1963d65f6f70SBen GrasWhen first invoked, the
1964d65f6f70SBen Gras.Sx \&Nm
1965d65f6f70SBen Grasmacro expects a single argument, the name of the manual page.
1966d65f6f70SBen GrasUsually, the first invocation happens in the
1967d65f6f70SBen Gras.Em NAME
1968d65f6f70SBen Grassection of the page.
1969d65f6f70SBen GrasThe specified name will be remembered and used whenever the macro is
1970d65f6f70SBen Grascalled again without arguments later in the page.
1971d65f6f70SBen GrasThe
1972d65f6f70SBen Gras.Sx \&Nm
1973d65f6f70SBen Grasmacro uses
1974d65f6f70SBen Gras.Sx Block full-implicit
1975d65f6f70SBen Grassemantics when invoked as the first macro on an input line in the
1976d65f6f70SBen Gras.Em SYNOPSIS
1977d65f6f70SBen Grassection; otherwise, it uses ordinary
1978d65f6f70SBen Gras.Sx In-line
1979d65f6f70SBen Grassemantics.
1980d65f6f70SBen Gras.Pp
1981d65f6f70SBen GrasExamples:
1982d65f6f70SBen Gras.Bd -literal -offset indent
1983d65f6f70SBen Gras\&.Sh SYNOPSIS
1984d65f6f70SBen Gras\&.Nm cat
1985d65f6f70SBen Gras\&.Op Fl benstuv
1986d65f6f70SBen Gras\&.Op Ar
1987d65f6f70SBen Gras.Ed
1988d65f6f70SBen Gras.Pp
1989d65f6f70SBen GrasIn the
1990d65f6f70SBen Gras.Em SYNOPSIS
1991d65f6f70SBen Grasof section 2, 3 and 9 manual pages, use the
1992d65f6f70SBen Gras.Sx \&Fn
1993d65f6f70SBen Grasmacro rather than
1994d65f6f70SBen Gras.Sx \&Nm
1995d65f6f70SBen Grasto mark up the name of the manual page.
1996d65f6f70SBen Gras.Ss \&No
199792395e9cSLionel SambucNormal text.
199892395e9cSLionel SambucCloses the scope of any preceding in-line macro.
199992395e9cSLionel SambucWhen used after physical formatting macros like
200092395e9cSLionel Sambuc.Sx \&Em
200192395e9cSLionel Sambucor
200292395e9cSLionel Sambuc.Sx \&Sy ,
200392395e9cSLionel Sambucswitches back to the standard font face and weight.
200492395e9cSLionel SambucCan also be used to embed plain text strings in macro lines
200592395e9cSLionel Sambucusing semantic annotation macros.
2006d65f6f70SBen Gras.Pp
2007d65f6f70SBen GrasExamples:
200892395e9cSLionel Sambuc.Dl ".Em italic , Sy bold , No and roman"
200992395e9cSLionel Sambuc.Pp
201092395e9cSLionel Sambuc.Bd -literal -offset indent -compact
201192395e9cSLionel Sambuc\&.Sm off
201292395e9cSLionel Sambuc\&.Cm :C No / Ar pattern No / Ar replacement No /
201392395e9cSLionel Sambuc\&.Sm on
201492395e9cSLionel Sambuc.Ed
201592395e9cSLionel Sambuc.Pp
201692395e9cSLionel SambucSee also
201792395e9cSLionel Sambuc.Sx \&Em ,
201892395e9cSLionel Sambuc.Sx \&Li ,
201992395e9cSLionel Sambucand
202092395e9cSLionel Sambuc.Sx \&Sy .
2021d65f6f70SBen Gras.Ss \&Ns
202292395e9cSLionel SambucSuppress a space between the output of the preceding macro
202392395e9cSLionel Sambucand the following text or macro.
202492395e9cSLionel SambucFollowing invocation, input is interpreted as normal text
202592395e9cSLionel Sambucjust like after an
202692395e9cSLionel Sambuc.Sx \&No
202792395e9cSLionel Sambucmacro.
202892395e9cSLionel Sambuc.Pp
202992395e9cSLionel SambucThis has no effect when invoked at the start of a macro line.
2030d65f6f70SBen Gras.Pp
2031d65f6f70SBen GrasExamples:
203292395e9cSLionel Sambuc.Dl ".Ar name Ns = Ns Ar value"
203392395e9cSLionel Sambuc.Dl ".Cm :M Ns Ar pattern"
203492395e9cSLionel Sambuc.Dl ".Fl o Ns Ar output"
2035d65f6f70SBen Gras.Pp
2036d65f6f70SBen GrasSee also
2037d65f6f70SBen Gras.Sx \&No
2038d65f6f70SBen Grasand
2039d65f6f70SBen Gras.Sx \&Sm .
2040d65f6f70SBen Gras.Ss \&Nx
2041d65f6f70SBen GrasFormat the
2042d65f6f70SBen Gras.Nx
2043d65f6f70SBen Grasversion provided as an argument, or a default value if
2044d65f6f70SBen Grasno argument is provided.
2045d65f6f70SBen Gras.Pp
2046d65f6f70SBen GrasExamples:
2047d65f6f70SBen Gras.Dl \&.Nx 5.01
2048d65f6f70SBen Gras.Dl \&.Nx
2049d65f6f70SBen Gras.Pp
2050d65f6f70SBen GrasSee also
2051d65f6f70SBen Gras.Sx \&At ,
2052d65f6f70SBen Gras.Sx \&Bsx ,
2053d65f6f70SBen Gras.Sx \&Bx ,
2054d65f6f70SBen Gras.Sx \&Dx ,
2055d65f6f70SBen Gras.Sx \&Fx ,
2056d65f6f70SBen Gras.Sx \&Ox ,
2057d65f6f70SBen Grasand
2058d65f6f70SBen Gras.Sx \&Ux .
2059d65f6f70SBen Gras.Ss \&Oc
2060d65f6f70SBen GrasClose multi-line
2061d65f6f70SBen Gras.Sx \&Oo
2062d65f6f70SBen Grascontext.
2063d65f6f70SBen Gras.Ss \&Oo
2064d65f6f70SBen GrasMulti-line version of
2065d65f6f70SBen Gras.Sx \&Op .
2066d65f6f70SBen Gras.Pp
2067d65f6f70SBen GrasExamples:
2068d65f6f70SBen Gras.Bd -literal -offset indent -compact
2069d65f6f70SBen Gras\&.Oo
2070d65f6f70SBen Gras\&.Op Fl flag Ns Ar value
2071d65f6f70SBen Gras\&.Oc
2072d65f6f70SBen Gras.Ed
2073d65f6f70SBen Gras.Ss \&Op
207492395e9cSLionel SambucOptional part of a command line.
2075d65f6f70SBen GrasPrints the argument(s) in brackets.
207692395e9cSLionel SambucThis is most often used in the
207792395e9cSLionel Sambuc.Em SYNOPSIS
207892395e9cSLionel Sambucsection of section 1 and 8 manual pages.
2079d65f6f70SBen Gras.Pp
2080d65f6f70SBen GrasExamples:
2081d65f6f70SBen Gras.Dl \&.Op \&Fl a \&Ar b
2082d65f6f70SBen Gras.Dl \&.Op \&Ar a | b
2083d65f6f70SBen Gras.Pp
2084d65f6f70SBen GrasSee also
2085d65f6f70SBen Gras.Sx \&Oo .
2086d65f6f70SBen Gras.Ss \&Os
2087d65f6f70SBen GrasDocument operating system version.
2088d65f6f70SBen GrasThis is the mandatory third macro of
2089d65f6f70SBen Grasany
2090d65f6f70SBen Gras.Nm
2091d65f6f70SBen Grasfile.
2092d65f6f70SBen GrasIts syntax is as follows:
2093d65f6f70SBen Gras.Pp
209492395e9cSLionel Sambuc.D1 Pf \. Sx \&Os Op Ar system Op Ar version
2095d65f6f70SBen Gras.Pp
2096d65f6f70SBen GrasThe optional
209792395e9cSLionel Sambuc.Ar system
2098d65f6f70SBen Grasparameter specifies the relevant operating system or environment.
2099d65f6f70SBen GrasLeft unspecified, it defaults to the local operating system version.
2100d65f6f70SBen GrasThis is the suggested form.
2101d65f6f70SBen Gras.Pp
2102d65f6f70SBen GrasExamples:
2103d65f6f70SBen Gras.Dl \&.Os
2104d65f6f70SBen Gras.Dl \&.Os KTH/CSC/TCS
2105d65f6f70SBen Gras.Dl \&.Os BSD 4.3
2106d65f6f70SBen Gras.Pp
2107d65f6f70SBen GrasSee also
2108d65f6f70SBen Gras.Sx \&Dd
2109d65f6f70SBen Grasand
2110d65f6f70SBen Gras.Sx \&Dt .
2111d65f6f70SBen Gras.Ss \&Ot
211292395e9cSLionel SambucThis macro is obsolete and not implemented in
211392395e9cSLionel Sambuc.Xr mandoc 1 .
2114d65f6f70SBen Gras.Pp
211592395e9cSLionel SambucHistorical
2116*0a6a1f1dSLionel Sambuc.Nm
211792395e9cSLionel Sambucpackages described it as
211892395e9cSLionel Sambuc.Dq "old function type (FORTRAN)" .
2119d65f6f70SBen Gras.Ss \&Ox
2120d65f6f70SBen GrasFormat the
2121d65f6f70SBen Gras.Ox
2122d65f6f70SBen Grasversion provided as an argument, or a default value
2123d65f6f70SBen Grasif no argument is provided.
2124d65f6f70SBen Gras.Pp
2125d65f6f70SBen GrasExamples:
2126d65f6f70SBen Gras.Dl \&.Ox 4.5
2127d65f6f70SBen Gras.Dl \&.Ox
2128d65f6f70SBen Gras.Pp
2129d65f6f70SBen GrasSee also
2130d65f6f70SBen Gras.Sx \&At ,
2131d65f6f70SBen Gras.Sx \&Bsx ,
2132d65f6f70SBen Gras.Sx \&Bx ,
2133d65f6f70SBen Gras.Sx \&Dx ,
2134d65f6f70SBen Gras.Sx \&Fx ,
2135d65f6f70SBen Gras.Sx \&Nx ,
2136d65f6f70SBen Grasand
2137d65f6f70SBen Gras.Sx \&Ux .
2138d65f6f70SBen Gras.Ss \&Pa
213992395e9cSLionel SambucAn absolute or relative file system path, or a file or directory name.
214092395e9cSLionel SambucIf an argument is not provided, the character
214192395e9cSLionel Sambuc.Sq \(ti
2142d65f6f70SBen Grasis used as a default.
2143d65f6f70SBen Gras.Pp
2144d65f6f70SBen GrasExamples:
2145d65f6f70SBen Gras.Dl \&.Pa /usr/bin/mandoc
2146d65f6f70SBen Gras.Dl \&.Pa /usr/share/man/man7/mdoc.7
2147d65f6f70SBen Gras.Pp
2148d65f6f70SBen GrasSee also
2149d65f6f70SBen Gras.Sx \&Lk .
2150d65f6f70SBen Gras.Ss \&Pc
2151d65f6f70SBen GrasClose parenthesised context opened by
2152d65f6f70SBen Gras.Sx \&Po .
2153d65f6f70SBen Gras.Ss \&Pf
215492395e9cSLionel SambucRemoves the space between its argument
2155d65f6f70SBen Gras.Pq Dq prefix
215692395e9cSLionel Sambucand the following macro.
2157d65f6f70SBen GrasIts syntax is as follows:
2158d65f6f70SBen Gras.Pp
215992395e9cSLionel Sambuc.D1 .Pf Ar prefix macro arguments ...
2160d65f6f70SBen Gras.Pp
216192395e9cSLionel SambucThis is equivalent to:
216292395e9cSLionel Sambuc.Pp
216392395e9cSLionel Sambuc.D1 .No Ar prefix No \&Ns Ar macro arguments ...
2164d65f6f70SBen Gras.Pp
2165d65f6f70SBen GrasExamples:
216692395e9cSLionel Sambuc.Dl ".Pf $ Ar variable_name"
216792395e9cSLionel Sambuc.Dl ".Pf 0x Ar hex_digits"
216892395e9cSLionel Sambuc.Pp
216992395e9cSLionel SambucSee also
217092395e9cSLionel Sambuc.Sx \&Ns
217192395e9cSLionel Sambucand
217292395e9cSLionel Sambuc.Sx \&Sm .
2173d65f6f70SBen Gras.Ss \&Po
2174d65f6f70SBen GrasMulti-line version of
2175d65f6f70SBen Gras.Sx \&Pq .
2176d65f6f70SBen Gras.Ss \&Pp
2177d65f6f70SBen GrasBreak a paragraph.
2178d65f6f70SBen GrasThis will assert vertical space between prior and subsequent macros
2179d65f6f70SBen Grasand/or text.
218092395e9cSLionel Sambuc.Pp
218192395e9cSLionel SambucParagraph breaks are not needed before or after
218292395e9cSLionel Sambuc.Sx \&Sh
218392395e9cSLionel Sambucor
218492395e9cSLionel Sambuc.Sx \&Ss
218592395e9cSLionel Sambucmacros or before displays
218692395e9cSLionel Sambuc.Pq Sx \&Bd
218792395e9cSLionel Sambucor lists
218892395e9cSLionel Sambuc.Pq Sx \&Bl
218992395e9cSLionel Sambucunless the
219092395e9cSLionel Sambuc.Fl compact
219192395e9cSLionel Sambucflag is given.
2192d65f6f70SBen Gras.Ss \&Pq
2193d65f6f70SBen GrasParenthesised enclosure.
2194d65f6f70SBen Gras.Pp
2195d65f6f70SBen GrasSee also
2196d65f6f70SBen Gras.Sx \&Po .
2197d65f6f70SBen Gras.Ss \&Qc
2198d65f6f70SBen GrasClose quoted context opened by
2199d65f6f70SBen Gras.Sx \&Qo .
2200d65f6f70SBen Gras.Ss \&Ql
2201d65f6f70SBen GrasFormat a single-quoted literal.
2202d65f6f70SBen GrasSee also
2203d65f6f70SBen Gras.Sx \&Qq
2204d65f6f70SBen Grasand
2205d65f6f70SBen Gras.Sx \&Sq .
2206d65f6f70SBen Gras.Ss \&Qo
2207d65f6f70SBen GrasMulti-line version of
2208d65f6f70SBen Gras.Sx \&Qq .
2209d65f6f70SBen Gras.Ss \&Qq
2210d65f6f70SBen GrasEncloses its arguments in
221192395e9cSLionel Sambuc.Qq typewriter
2212d65f6f70SBen Grasdouble-quotes.
2213d65f6f70SBen GrasConsider using
2214d65f6f70SBen Gras.Sx \&Dq .
2215d65f6f70SBen Gras.Pp
2216d65f6f70SBen GrasSee also
2217d65f6f70SBen Gras.Sx \&Dq ,
2218d65f6f70SBen Gras.Sx \&Sq ,
2219d65f6f70SBen Grasand
2220d65f6f70SBen Gras.Sx \&Qo .
2221d65f6f70SBen Gras.Ss \&Re
2222d65f6f70SBen GrasClose an
2223d65f6f70SBen Gras.Sx \&Rs
2224d65f6f70SBen Grasblock.
2225d65f6f70SBen GrasDoes not have any tail arguments.
2226d65f6f70SBen Gras.Ss \&Rs
2227d65f6f70SBen GrasBegin a bibliographic
2228d65f6f70SBen Gras.Pq Dq reference
2229d65f6f70SBen Grasblock.
2230d65f6f70SBen GrasDoes not have any head arguments.
2231d65f6f70SBen GrasThe block macro may only contain
2232d65f6f70SBen Gras.Sx \&%A ,
2233d65f6f70SBen Gras.Sx \&%B ,
2234d65f6f70SBen Gras.Sx \&%C ,
2235d65f6f70SBen Gras.Sx \&%D ,
2236d65f6f70SBen Gras.Sx \&%I ,
2237d65f6f70SBen Gras.Sx \&%J ,
2238d65f6f70SBen Gras.Sx \&%N ,
2239d65f6f70SBen Gras.Sx \&%O ,
2240d65f6f70SBen Gras.Sx \&%P ,
2241d65f6f70SBen Gras.Sx \&%Q ,
2242d65f6f70SBen Gras.Sx \&%R ,
2243d65f6f70SBen Gras.Sx \&%T ,
2244d65f6f70SBen Gras.Sx \&%U ,
2245d65f6f70SBen Grasand
2246d65f6f70SBen Gras.Sx \&%V
2247d65f6f70SBen Graschild macros (at least one must be specified).
2248d65f6f70SBen Gras.Pp
2249d65f6f70SBen GrasExamples:
2250d65f6f70SBen Gras.Bd -literal -offset indent -compact
2251d65f6f70SBen Gras\&.Rs
2252d65f6f70SBen Gras\&.%A J. E. Hopcroft
2253d65f6f70SBen Gras\&.%A J. D. Ullman
2254d65f6f70SBen Gras\&.%B Introduction to Automata Theory, Languages, and Computation
2255d65f6f70SBen Gras\&.%I Addison-Wesley
2256d65f6f70SBen Gras\&.%C Reading, Massachusettes
2257d65f6f70SBen Gras\&.%D 1979
2258d65f6f70SBen Gras\&.Re
2259d65f6f70SBen Gras.Ed
2260d65f6f70SBen Gras.Pp
2261d65f6f70SBen GrasIf an
2262d65f6f70SBen Gras.Sx \&Rs
2263d65f6f70SBen Grasblock is used within a SEE ALSO section, a vertical space is asserted
2264d65f6f70SBen Grasbefore the rendered output, else the block continues on the current
2265d65f6f70SBen Grasline.
2266d65f6f70SBen Gras.Ss \&Rv
226792395e9cSLionel SambucInsert a standard sentence regarding a function call's return value of 0
226892395e9cSLionel Sambucon success and \-1 on error, with the
226992395e9cSLionel Sambuc.Va errno
227092395e9cSLionel Sambuclibc global variable set on error.
227192395e9cSLionel SambucIts syntax is as follows:
227292395e9cSLionel Sambuc.Pp
227392395e9cSLionel Sambuc.D1 Pf \. Sx \&Rv Fl std Op Ar function ...
227492395e9cSLionel Sambuc.Pp
2275d65f6f70SBen GrasIf
2276d65f6f70SBen Gras.Ar function
227792395e9cSLionel Sambucis not specified, the document's name set by
2278d65f6f70SBen Gras.Sx \&Nm
227992395e9cSLionel Sambucis used.
228092395e9cSLionel SambucMultiple
228192395e9cSLionel Sambuc.Ar function
228292395e9cSLionel Sambucarguments are treated as separate functions.
2283d65f6f70SBen Gras.Pp
2284d65f6f70SBen GrasSee also
2285d65f6f70SBen Gras.Sx \&Ex .
2286d65f6f70SBen Gras.Ss \&Sc
2287d65f6f70SBen GrasClose single-quoted context opened by
2288d65f6f70SBen Gras.Sx \&So .
2289d65f6f70SBen Gras.Ss \&Sh
2290d65f6f70SBen GrasBegin a new section.
2291d65f6f70SBen GrasFor a list of conventional manual sections, see
2292d65f6f70SBen Gras.Sx MANUAL STRUCTURE .
2293d65f6f70SBen GrasThese sections should be used unless it's absolutely necessary that
2294d65f6f70SBen Grascustom sections be used.
2295d65f6f70SBen Gras.Pp
2296d65f6f70SBen GrasSection names should be unique so that they may be keyed by
2297d65f6f70SBen Gras.Sx \&Sx .
229892395e9cSLionel SambucAlthough this macro is parsed, it should not consist of child node or it
229992395e9cSLionel Sambucmay not be linked with
230092395e9cSLionel Sambuc.Sx \&Sx .
2301d65f6f70SBen Gras.Pp
2302d65f6f70SBen GrasSee also
2303d65f6f70SBen Gras.Sx \&Pp ,
2304d65f6f70SBen Gras.Sx \&Ss ,
2305d65f6f70SBen Grasand
2306d65f6f70SBen Gras.Sx \&Sx .
2307d65f6f70SBen Gras.Ss \&Sm
2308d65f6f70SBen GrasSwitches the spacing mode for output generated from macros.
2309d65f6f70SBen GrasIts syntax is as follows:
2310d65f6f70SBen Gras.Pp
2311d65f6f70SBen Gras.D1 Pf \. Sx \&Sm Cm on | off
2312d65f6f70SBen Gras.Pp
2313d65f6f70SBen GrasBy default, spacing is
2314d65f6f70SBen Gras.Cm on .
2315d65f6f70SBen GrasWhen switched
2316d65f6f70SBen Gras.Cm off ,
2317d65f6f70SBen Grasno white space is inserted between macro arguments and between the
231892395e9cSLionel Sambucoutput generated from adjacent macros, but text lines
2319d65f6f70SBen Grasstill get normal spacing between words and sentences.
2320d65f6f70SBen Gras.Ss \&So
2321d65f6f70SBen GrasMulti-line version of
2322d65f6f70SBen Gras.Sx \&Sq .
2323d65f6f70SBen Gras.Ss \&Sq
2324d65f6f70SBen GrasEncloses its arguments in
232592395e9cSLionel Sambuc.Sq typewriter
2326d65f6f70SBen Grassingle-quotes.
2327d65f6f70SBen Gras.Pp
2328d65f6f70SBen GrasSee also
2329d65f6f70SBen Gras.Sx \&Dq ,
2330d65f6f70SBen Gras.Sx \&Qq ,
2331d65f6f70SBen Grasand
2332d65f6f70SBen Gras.Sx \&So .
2333d65f6f70SBen Gras.Ss \&Ss
233492395e9cSLionel SambucBegin a new subsection.
2335d65f6f70SBen GrasUnlike with
2336d65f6f70SBen Gras.Sx \&Sh ,
233792395e9cSLionel Sambucthere is no convention for the naming of subsections.
233892395e9cSLionel SambucExcept
233992395e9cSLionel Sambuc.Em DESCRIPTION ,
234092395e9cSLionel Sambucthe conventional sections described in
234192395e9cSLionel Sambuc.Sx MANUAL STRUCTURE
234292395e9cSLionel Sambucrarely have subsections.
2343d65f6f70SBen Gras.Pp
2344d65f6f70SBen GrasSub-section names should be unique so that they may be keyed by
2345d65f6f70SBen Gras.Sx \&Sx .
234692395e9cSLionel SambucAlthough this macro is parsed, it should not consist of child node or it
234792395e9cSLionel Sambucmay not be linked with
234892395e9cSLionel Sambuc.Sx \&Sx .
2349d65f6f70SBen Gras.Pp
2350d65f6f70SBen GrasSee also
2351d65f6f70SBen Gras.Sx \&Pp ,
2352d65f6f70SBen Gras.Sx \&Sh ,
2353d65f6f70SBen Grasand
2354d65f6f70SBen Gras.Sx \&Sx .
2355d65f6f70SBen Gras.Ss \&St
2356d65f6f70SBen GrasReplace an abbreviation for a standard with the full form.
2357d65f6f70SBen GrasThe following standards are recognised:
2358d65f6f70SBen Gras.Pp
2359d65f6f70SBen Gras.Bl -tag -width "-p1003.1g-2000X" -compact
2360d65f6f70SBen Gras.It \-p1003.1-88
2361d65f6f70SBen Gras.St -p1003.1-88
2362d65f6f70SBen Gras.It \-p1003.1-90
2363d65f6f70SBen Gras.St -p1003.1-90
2364d65f6f70SBen Gras.It \-p1003.1-96
2365d65f6f70SBen Gras.St -p1003.1-96
2366d65f6f70SBen Gras.It \-p1003.1-2001
2367d65f6f70SBen Gras.St -p1003.1-2001
2368d65f6f70SBen Gras.It \-p1003.1-2004
2369d65f6f70SBen Gras.St -p1003.1-2004
2370d65f6f70SBen Gras.It \-p1003.1-2008
2371d65f6f70SBen Gras.St -p1003.1-2008
2372*0a6a1f1dSLionel Sambuc.It \-p1003.1-2013
2373*0a6a1f1dSLionel Sambuc.St -p1003.1-2013
2374d65f6f70SBen Gras.It \-p1003.1
2375d65f6f70SBen Gras.St -p1003.1
2376d65f6f70SBen Gras.It \-p1003.1b
2377d65f6f70SBen Gras.St -p1003.1b
2378d65f6f70SBen Gras.It \-p1003.1b-93
2379d65f6f70SBen Gras.St -p1003.1b-93
2380d65f6f70SBen Gras.It \-p1003.1c-95
2381d65f6f70SBen Gras.St -p1003.1c-95
2382*0a6a1f1dSLionel Sambuc.It \-p1003.1d-99
2383*0a6a1f1dSLionel Sambuc.St -p1003.1d-99
2384d65f6f70SBen Gras.It \-p1003.1g-2000
2385d65f6f70SBen Gras.St -p1003.1g-2000
2386d65f6f70SBen Gras.It \-p1003.1i-95
2387d65f6f70SBen Gras.St -p1003.1i-95
2388*0a6a1f1dSLionel Sambuc.It \-p1003.1j-2000
2389*0a6a1f1dSLionel Sambuc.St -p1003.1j-2000
2390*0a6a1f1dSLionel Sambuc.It \-p1003.1q-2000
2391*0a6a1f1dSLionel Sambuc.St -p1003.1q-2000
2392*0a6a1f1dSLionel Sambuc.It \-p1003.2
2393*0a6a1f1dSLionel Sambuc.St -p1003.2
2394d65f6f70SBen Gras.It \-p1003.2-92
2395d65f6f70SBen Gras.St -p1003.2-92
2396d65f6f70SBen Gras.It \-p1003.2a-92
2397d65f6f70SBen Gras.St -p1003.2a-92
2398d65f6f70SBen Gras.It \-p1387.2
2399d65f6f70SBen Gras.St -p1387.2
2400*0a6a1f1dSLionel Sambuc.It \-p1387.2-95
2401*0a6a1f1dSLionel Sambuc.St -p1387.2-95
2402d65f6f70SBen Gras.It \-isoC
2403d65f6f70SBen Gras.St -isoC
2404d65f6f70SBen Gras.It \-isoC-90
2405d65f6f70SBen Gras.St -isoC-90
2406d65f6f70SBen Gras.It \-isoC-amd1
2407d65f6f70SBen Gras.St -isoC-amd1
2408d65f6f70SBen Gras.It \-isoC-tcor1
2409d65f6f70SBen Gras.St -isoC-tcor1
2410d65f6f70SBen Gras.It \-isoC-tcor2
2411d65f6f70SBen Gras.St -isoC-tcor2
2412d65f6f70SBen Gras.It \-isoC-99
2413d65f6f70SBen Gras.St -isoC-99
241492395e9cSLionel Sambuc.It \-isoC-2011
241592395e9cSLionel Sambuc.St -isoC-2011
2416d65f6f70SBen Gras.It \-iso9945-1-90
2417d65f6f70SBen Gras.St -iso9945-1-90
2418d65f6f70SBen Gras.It \-iso9945-1-96
2419d65f6f70SBen Gras.St -iso9945-1-96
2420d65f6f70SBen Gras.It \-iso9945-2-93
2421d65f6f70SBen Gras.St -iso9945-2-93
2422d65f6f70SBen Gras.It \-ansiC
2423d65f6f70SBen Gras.St -ansiC
2424d65f6f70SBen Gras.It \-ansiC-89
2425d65f6f70SBen Gras.St -ansiC-89
2426d65f6f70SBen Gras.It \-ansiC-99
2427d65f6f70SBen Gras.St -ansiC-99
2428d65f6f70SBen Gras.It \-ieee754
2429d65f6f70SBen Gras.St -ieee754
2430d65f6f70SBen Gras.It \-iso8802-3
2431d65f6f70SBen Gras.St -iso8802-3
243292395e9cSLionel Sambuc.It \-iso8601
243392395e9cSLionel Sambuc.St -iso8601
2434d65f6f70SBen Gras.It \-ieee1275-94
2435d65f6f70SBen Gras.St -ieee1275-94
2436d65f6f70SBen Gras.It \-xpg3
2437d65f6f70SBen Gras.St -xpg3
2438d65f6f70SBen Gras.It \-xpg4
2439d65f6f70SBen Gras.St -xpg4
2440d65f6f70SBen Gras.It \-xpg4.2
2441d65f6f70SBen Gras.St -xpg4.2
244292395e9cSLionel Sambuc.It \-xpg4.3
2443d65f6f70SBen Gras.St -xpg4.3
2444d65f6f70SBen Gras.It \-xbd5
2445d65f6f70SBen Gras.St -xbd5
2446d65f6f70SBen Gras.It \-xcu5
2447d65f6f70SBen Gras.St -xcu5
2448*0a6a1f1dSLionel Sambuc.It \-xsh4.2
2449*0a6a1f1dSLionel Sambuc.St -xsh4.2
2450d65f6f70SBen Gras.It \-xsh5
2451d65f6f70SBen Gras.St -xsh5
2452d65f6f70SBen Gras.It \-xns5
2453d65f6f70SBen Gras.St -xns5
2454d65f6f70SBen Gras.It \-xns5.2
2455d65f6f70SBen Gras.St -xns5.2
2456d65f6f70SBen Gras.It \-xns5.2d2.0
2457d65f6f70SBen Gras.St -xns5.2d2.0
2458d65f6f70SBen Gras.It \-xcurses4.2
2459d65f6f70SBen Gras.St -xcurses4.2
2460d65f6f70SBen Gras.It \-susv2
2461d65f6f70SBen Gras.St -susv2
2462d65f6f70SBen Gras.It \-susv3
2463d65f6f70SBen Gras.St -susv3
2464d65f6f70SBen Gras.It \-svid4
2465d65f6f70SBen Gras.St -svid4
2466d65f6f70SBen Gras.El
2467d65f6f70SBen Gras.Ss \&Sx
246892395e9cSLionel SambucReference a section or subsection in the same manual page.
246992395e9cSLionel SambucThe referenced section or subsection name must be identical to the
2470d65f6f70SBen Grasenclosed argument, including whitespace.
2471d65f6f70SBen Gras.Pp
2472d65f6f70SBen GrasExamples:
2473d65f6f70SBen Gras.Dl \&.Sx MANUAL STRUCTURE
2474d65f6f70SBen Gras.Pp
2475d65f6f70SBen GrasSee also
2476d65f6f70SBen Gras.Sx \&Sh
2477d65f6f70SBen Grasand
2478d65f6f70SBen Gras.Sx \&Ss .
2479d65f6f70SBen Gras.Ss \&Sy
2480d65f6f70SBen GrasFormat enclosed arguments in symbolic
2481d65f6f70SBen Gras.Pq Dq boldface .
2482d65f6f70SBen GrasNote that this is a presentation term and should not be used for
2483d65f6f70SBen Grasstylistically decorating technical terms.
2484d65f6f70SBen Gras.Pp
2485d65f6f70SBen GrasSee also
2486d65f6f70SBen Gras.Sx \&Bf ,
248792395e9cSLionel Sambuc.Sx \&Em ,
2488d65f6f70SBen Gras.Sx \&Li ,
2489d65f6f70SBen Grasand
249092395e9cSLionel Sambuc.Sx \&No .
249192395e9cSLionel Sambuc.Ss \&Ta
249292395e9cSLionel SambucTable cell separator in
249392395e9cSLionel Sambuc.Sx \&Bl Fl column
249492395e9cSLionel Sambuclists; can only be used below
249592395e9cSLionel Sambuc.Sx \&It .
2496d65f6f70SBen Gras.Ss \&Tn
2497d65f6f70SBen GrasFormat a tradename.
2498d65f6f70SBen Gras.Pp
249992395e9cSLionel SambucSince this macro is often implemented to use a small caps font,
250092395e9cSLionel Sambucit has historically been used for acronyms (like ASCII) as well.
250192395e9cSLionel SambucSuch usage is not recommended because it would use the same macro
250292395e9cSLionel Sambucsometimes for semantical annotation, sometimes for physical formatting.
250392395e9cSLionel Sambuc.Pp
2504d65f6f70SBen GrasExamples:
2505d65f6f70SBen Gras.Dl \&.Tn IBM
2506d65f6f70SBen Gras.Ss \&Ud
2507d65f6f70SBen GrasPrints out
2508d65f6f70SBen Gras.Dq currently under development.
2509d65f6f70SBen Gras.Ss \&Ux
2510*0a6a1f1dSLionel SambucFormat the
2511*0a6a1f1dSLionel Sambuc.Ux
2512*0a6a1f1dSLionel Sambucname.
2513d65f6f70SBen GrasAccepts no argument.
2514d65f6f70SBen Gras.Pp
2515d65f6f70SBen GrasExamples:
2516d65f6f70SBen Gras.Dl \&.Ux
2517d65f6f70SBen Gras.Pp
2518d65f6f70SBen GrasSee also
2519d65f6f70SBen Gras.Sx \&At ,
2520d65f6f70SBen Gras.Sx \&Bsx ,
2521d65f6f70SBen Gras.Sx \&Bx ,
2522d65f6f70SBen Gras.Sx \&Dx ,
2523d65f6f70SBen Gras.Sx \&Fx ,
2524d65f6f70SBen Gras.Sx \&Nx ,
2525d65f6f70SBen Grasand
2526d65f6f70SBen Gras.Sx \&Ox .
2527d65f6f70SBen Gras.Ss \&Va
2528d65f6f70SBen GrasA variable name.
2529d65f6f70SBen Gras.Pp
2530d65f6f70SBen GrasExamples:
2531d65f6f70SBen Gras.Dl \&.Va foo
2532d65f6f70SBen Gras.Dl \&.Va const char *bar ;
2533d65f6f70SBen Gras.Ss \&Vt
2534d65f6f70SBen GrasA variable type.
2535d65f6f70SBen GrasThis is also used for indicating global variables in the
2536d65f6f70SBen Gras.Em SYNOPSIS
2537d65f6f70SBen Grassection, in which case a variable name is also specified.
2538d65f6f70SBen GrasNote that it accepts
2539d65f6f70SBen Gras.Sx Block partial-implicit
254092395e9cSLionel Sambucsyntax when invoked as the first macro on an input line in the
2541d65f6f70SBen Gras.Em SYNOPSIS
2542d65f6f70SBen Grassection, else it accepts ordinary
2543d65f6f70SBen Gras.Sx In-line
2544d65f6f70SBen Grassyntax.
254592395e9cSLionel SambucIn the former case, this macro starts a new output line,
254692395e9cSLionel Sambucand a blank line is inserted in front if there is a preceding
254792395e9cSLionel Sambucfunction definition or include directive.
2548d65f6f70SBen Gras.Pp
2549d65f6f70SBen GrasNote that this should not be confused with
2550d65f6f70SBen Gras.Sx \&Ft ,
2551d65f6f70SBen Graswhich is used for function return types.
2552d65f6f70SBen Gras.Pp
2553d65f6f70SBen GrasExamples:
2554d65f6f70SBen Gras.Dl \&.Vt unsigned char
2555d65f6f70SBen Gras.Dl \&.Vt extern const char * const sys_signame[] \&;
2556d65f6f70SBen Gras.Pp
2557d65f6f70SBen GrasSee also
2558d65f6f70SBen Gras.Sx MANUAL STRUCTURE
2559d65f6f70SBen Grasand
2560d65f6f70SBen Gras.Sx \&Va .
2561d65f6f70SBen Gras.Ss \&Xc
2562d65f6f70SBen GrasClose a scope opened by
2563d65f6f70SBen Gras.Sx \&Xo .
2564d65f6f70SBen Gras.Ss \&Xo
2565d65f6f70SBen GrasExtend the header of an
2566d65f6f70SBen Gras.Sx \&It
2567d65f6f70SBen Grasmacro or the body of a partial-implicit block macro
2568d65f6f70SBen Grasbeyond the end of the input line.
2569d65f6f70SBen GrasThis macro originally existed to work around the 9-argument limit
2570d65f6f70SBen Grasof historic
2571d65f6f70SBen Gras.Xr roff 7 .
2572d65f6f70SBen Gras.Ss \&Xr
2573d65f6f70SBen GrasLink to another manual
2574d65f6f70SBen Gras.Pq Qq cross-reference .
2575d65f6f70SBen GrasIts syntax is as follows:
2576d65f6f70SBen Gras.Pp
2577*0a6a1f1dSLionel Sambuc.D1 Pf \. Sx \&Xr Ar name Op section
2578d65f6f70SBen Gras.Pp
2579*0a6a1f1dSLionel SambucCross reference the
258092395e9cSLionel Sambuc.Ar name
2581d65f6f70SBen Grasand
258292395e9cSLionel Sambuc.Ar section
2583*0a6a1f1dSLionel Sambucnumber of another man page;
2584*0a6a1f1dSLionel Sambucomitting the section number is rarely useful.
2585d65f6f70SBen Gras.Pp
2586d65f6f70SBen GrasExamples:
2587d65f6f70SBen Gras.Dl \&.Xr mandoc 1
2588d65f6f70SBen Gras.Dl \&.Xr mandoc 1 \&;
2589d65f6f70SBen Gras.Dl \&.Xr mandoc 1 \&Ns s behaviour
2590d65f6f70SBen Gras.Ss \&br
2591d65f6f70SBen GrasEmits a line-break.
2592d65f6f70SBen GrasThis macro should not be used; it is implemented for compatibility with
2593d65f6f70SBen Grashistorical manuals.
2594d65f6f70SBen Gras.Pp
2595d65f6f70SBen GrasConsider using
2596d65f6f70SBen Gras.Sx \&Pp
2597d65f6f70SBen Grasin the event of natural paragraph breaks.
2598d65f6f70SBen Gras.Ss \&sp
2599d65f6f70SBen GrasEmits vertical space.
2600d65f6f70SBen GrasThis macro should not be used; it is implemented for compatibility with
2601d65f6f70SBen Grashistorical manuals.
2602d65f6f70SBen GrasIts syntax is as follows:
2603d65f6f70SBen Gras.Pp
260492395e9cSLionel Sambuc.D1 Pf \. Sx \&sp Op Ar height
2605d65f6f70SBen Gras.Pp
2606d65f6f70SBen GrasThe
260792395e9cSLionel Sambuc.Ar height
2608*0a6a1f1dSLionel Sambucargument is a scaling width as described in
2609*0a6a1f1dSLionel Sambuc.Xr roff 7 .
2610d65f6f70SBen GrasIf unspecified,
2611d65f6f70SBen Gras.Sx \&sp
2612d65f6f70SBen Grasasserts a single vertical space.
261392395e9cSLionel Sambuc.Sh MACRO SYNTAX
261492395e9cSLionel SambucThe syntax of a macro depends on its classification.
261592395e9cSLionel SambucIn this section,
261692395e9cSLionel Sambuc.Sq \-arg
261792395e9cSLionel Sambucrefers to macro arguments, which may be followed by zero or more
261892395e9cSLionel Sambuc.Sq parm
261992395e9cSLionel Sambucparameters;
262092395e9cSLionel Sambuc.Sq \&Yo
262192395e9cSLionel Sambucopens the scope of a macro; and if specified,
262292395e9cSLionel Sambuc.Sq \&Yc
262392395e9cSLionel Sambuccloses it out.
262492395e9cSLionel Sambuc.Pp
262592395e9cSLionel SambucThe
262692395e9cSLionel Sambuc.Em Callable
262792395e9cSLionel Sambuccolumn indicates that the macro may also be called by passing its name
262892395e9cSLionel Sambucas an argument to another macro.
262992395e9cSLionel SambucFor example,
263092395e9cSLionel Sambuc.Sq \&.Op \&Fl O \&Ar file
263192395e9cSLionel Sambucproduces
263292395e9cSLionel Sambuc.Sq Op Fl O Ar file .
263392395e9cSLionel SambucTo prevent a macro call and render the macro name literally,
263492395e9cSLionel Sambucescape it by prepending a zero-width space,
263592395e9cSLionel Sambuc.Sq \e& .
263692395e9cSLionel SambucFor example,
263792395e9cSLionel Sambuc.Sq \&Op \e&Fl O
263892395e9cSLionel Sambucproduces
263992395e9cSLionel Sambuc.Sq Op \&Fl O .
264092395e9cSLionel SambucIf a macro is not callable but its name appears as an argument
264192395e9cSLionel Sambucto another macro, it is interpreted as opaque text.
264292395e9cSLionel SambucFor example,
264392395e9cSLionel Sambuc.Sq \&.Fl \&Sh
264492395e9cSLionel Sambucproduces
264592395e9cSLionel Sambuc.Sq Fl \&Sh .
264692395e9cSLionel Sambuc.Pp
264792395e9cSLionel SambucThe
264892395e9cSLionel Sambuc.Em Parsed
264992395e9cSLionel Sambuccolumn indicates whether the macro may call other macros by receiving
265092395e9cSLionel Sambuctheir names as arguments.
265192395e9cSLionel SambucIf a macro is not parsed but the name of another macro appears
265292395e9cSLionel Sambucas an argument, it is interpreted as opaque text.
265392395e9cSLionel Sambuc.Pp
265492395e9cSLionel SambucThe
265592395e9cSLionel Sambuc.Em Scope
265692395e9cSLionel Sambuccolumn, if applicable, describes closure rules.
265792395e9cSLionel Sambuc.Ss Block full-explicit
265892395e9cSLionel SambucMulti-line scope closed by an explicit closing macro.
265992395e9cSLionel SambucAll macros contains bodies; only
266092395e9cSLionel Sambuc.Sx \&Bf
266192395e9cSLionel Sambucand
266292395e9cSLionel Sambuc.Pq optionally
266392395e9cSLionel Sambuc.Sx \&Bl
266492395e9cSLionel Sambuccontain a head.
266592395e9cSLionel Sambuc.Bd -literal -offset indent
266692395e9cSLionel Sambuc\&.Yo \(lB\-arg \(lBparm...\(rB\(rB \(lBhead...\(rB
266792395e9cSLionel Sambuc\(lBbody...\(rB
266892395e9cSLionel Sambuc\&.Yc
266992395e9cSLionel Sambuc.Ed
267092395e9cSLionel Sambuc.Bl -column "MacroX" "CallableX" "ParsedX" "closed by XXX" -offset indent
267192395e9cSLionel Sambuc.It Em Macro Ta Em Callable Ta Em Parsed Ta Em Scope
267292395e9cSLionel Sambuc.It Sx \&Bd  Ta    \&No     Ta    \&No     Ta    closed by Sx \&Ed
267392395e9cSLionel Sambuc.It Sx \&Bf  Ta    \&No     Ta    \&No     Ta    closed by Sx \&Ef
267492395e9cSLionel Sambuc.It Sx \&Bk  Ta    \&No     Ta    \&No     Ta    closed by Sx \&Ek
267592395e9cSLionel Sambuc.It Sx \&Bl  Ta    \&No     Ta    \&No     Ta    closed by Sx \&El
267692395e9cSLionel Sambuc.It Sx \&Ed  Ta    \&No     Ta    \&No     Ta    opened by Sx \&Bd
267792395e9cSLionel Sambuc.It Sx \&Ef  Ta    \&No     Ta    \&No     Ta    opened by Sx \&Bf
267892395e9cSLionel Sambuc.It Sx \&Ek  Ta    \&No     Ta    \&No     Ta    opened by Sx \&Bk
267992395e9cSLionel Sambuc.It Sx \&El  Ta    \&No     Ta    \&No     Ta    opened by Sx \&Bl
268092395e9cSLionel Sambuc.El
268192395e9cSLionel Sambuc.Ss Block full-implicit
268292395e9cSLionel SambucMulti-line scope closed by end-of-file or implicitly by another macro.
268392395e9cSLionel SambucAll macros have bodies; some
268492395e9cSLionel Sambuc.Po
268592395e9cSLionel Sambuc.Sx \&It Fl bullet ,
268692395e9cSLionel Sambuc.Fl hyphen ,
268792395e9cSLionel Sambuc.Fl dash ,
268892395e9cSLionel Sambuc.Fl enum ,
268992395e9cSLionel Sambuc.Fl item
269092395e9cSLionel Sambuc.Pc
269192395e9cSLionel Sambucdon't have heads; only one
269292395e9cSLionel Sambuc.Po
269392395e9cSLionel Sambuc.Sx \&It
269492395e9cSLionel Sambucin
269592395e9cSLionel Sambuc.Sx \&Bl Fl column
269692395e9cSLionel Sambuc.Pc
269792395e9cSLionel Sambuchas multiple heads.
269892395e9cSLionel Sambuc.Bd -literal -offset indent
269992395e9cSLionel Sambuc\&.Yo \(lB\-arg \(lBparm...\(rB\(rB \(lBhead... \(lBTa head...\(rB\(rB
270092395e9cSLionel Sambuc\(lBbody...\(rB
270192395e9cSLionel Sambuc.Ed
270292395e9cSLionel Sambuc.Bl -column "MacroX" "CallableX" "ParsedX" "closed by XXXXXXXXXXX" -offset indent
270392395e9cSLionel Sambuc.It Em Macro Ta Em Callable Ta Em Parsed Ta Em Scope
270492395e9cSLionel Sambuc.It Sx \&It Ta \&No Ta Yes  Ta closed by Sx \&It , Sx \&El
270592395e9cSLionel Sambuc.It Sx \&Nd Ta \&No Ta \&No Ta closed by Sx \&Sh
270692395e9cSLionel Sambuc.It Sx \&Nm Ta \&No Ta Yes  Ta closed by Sx \&Nm , Sx \&Sh , Sx \&Ss
270792395e9cSLionel Sambuc.It Sx \&Sh Ta \&No Ta Yes  Ta closed by Sx \&Sh
270892395e9cSLionel Sambuc.It Sx \&Ss Ta \&No Ta Yes  Ta closed by Sx \&Sh , Sx \&Ss
270992395e9cSLionel Sambuc.El
271092395e9cSLionel Sambuc.Pp
271192395e9cSLionel SambucNote that the
271292395e9cSLionel Sambuc.Sx \&Nm
271392395e9cSLionel Sambucmacro is a
271492395e9cSLionel Sambuc.Sx Block full-implicit
271592395e9cSLionel Sambucmacro only when invoked as the first macro
271692395e9cSLionel Sambucin a
271792395e9cSLionel Sambuc.Em SYNOPSIS
271892395e9cSLionel Sambucsection line, else it is
271992395e9cSLionel Sambuc.Sx In-line .
272092395e9cSLionel Sambuc.Ss Block partial-explicit
272192395e9cSLionel SambucLike block full-explicit, but also with single-line scope.
272292395e9cSLionel SambucEach has at least a body and, in limited circumstances, a head
272392395e9cSLionel Sambuc.Po
272492395e9cSLionel Sambuc.Sx \&Fo ,
272592395e9cSLionel Sambuc.Sx \&Eo
272692395e9cSLionel Sambuc.Pc
272792395e9cSLionel Sambucand/or tail
272892395e9cSLionel Sambuc.Pq Sx \&Ec .
272992395e9cSLionel Sambuc.Bd -literal -offset indent
273092395e9cSLionel Sambuc\&.Yo \(lB\-arg \(lBparm...\(rB\(rB \(lBhead...\(rB
273192395e9cSLionel Sambuc\(lBbody...\(rB
273292395e9cSLionel Sambuc\&.Yc \(lBtail...\(rB
273392395e9cSLionel Sambuc
273492395e9cSLionel Sambuc\&.Yo \(lB\-arg \(lBparm...\(rB\(rB \(lBhead...\(rB \
273592395e9cSLionel Sambuc\(lBbody...\(rB \&Yc \(lBtail...\(rB
273692395e9cSLionel Sambuc.Ed
273792395e9cSLionel Sambuc.Bl -column "MacroX" "CallableX" "ParsedX" "closed by XXXX" -offset indent
273892395e9cSLionel Sambuc.It Em Macro Ta Em Callable Ta Em Parsed Ta Em Scope
273992395e9cSLionel Sambuc.It Sx \&Ac  Ta    Yes      Ta    Yes      Ta    opened by Sx \&Ao
274092395e9cSLionel Sambuc.It Sx \&Ao  Ta    Yes      Ta    Yes      Ta    closed by Sx \&Ac
274192395e9cSLionel Sambuc.It Sx \&Bc  Ta    Yes      Ta    Yes      Ta    closed by Sx \&Bo
274292395e9cSLionel Sambuc.It Sx \&Bo  Ta    Yes      Ta    Yes      Ta    opened by Sx \&Bc
274392395e9cSLionel Sambuc.It Sx \&Brc Ta    Yes      Ta    Yes      Ta    opened by Sx \&Bro
274492395e9cSLionel Sambuc.It Sx \&Bro Ta    Yes      Ta    Yes      Ta    closed by Sx \&Brc
274592395e9cSLionel Sambuc.It Sx \&Dc  Ta    Yes      Ta    Yes      Ta    opened by Sx \&Do
274692395e9cSLionel Sambuc.It Sx \&Do  Ta    Yes      Ta    Yes      Ta    closed by Sx \&Dc
274792395e9cSLionel Sambuc.It Sx \&Ec  Ta    Yes      Ta    Yes      Ta    opened by Sx \&Eo
274892395e9cSLionel Sambuc.It Sx \&Eo  Ta    Yes      Ta    Yes      Ta    closed by Sx \&Ec
274992395e9cSLionel Sambuc.It Sx \&Fc  Ta    Yes      Ta    Yes      Ta    opened by Sx \&Fo
275092395e9cSLionel Sambuc.It Sx \&Fo  Ta    \&No     Ta    \&No     Ta    closed by Sx \&Fc
275192395e9cSLionel Sambuc.It Sx \&Oc  Ta    Yes      Ta    Yes      Ta    closed by Sx \&Oo
275292395e9cSLionel Sambuc.It Sx \&Oo  Ta    Yes      Ta    Yes      Ta    opened by Sx \&Oc
275392395e9cSLionel Sambuc.It Sx \&Pc  Ta    Yes      Ta    Yes      Ta    closed by Sx \&Po
275492395e9cSLionel Sambuc.It Sx \&Po  Ta    Yes      Ta    Yes      Ta    opened by Sx \&Pc
275592395e9cSLionel Sambuc.It Sx \&Qc  Ta    Yes      Ta    Yes      Ta    opened by Sx \&Oo
275692395e9cSLionel Sambuc.It Sx \&Qo  Ta    Yes      Ta    Yes      Ta    closed by Sx \&Oc
275792395e9cSLionel Sambuc.It Sx \&Re  Ta    \&No     Ta    \&No     Ta    opened by Sx \&Rs
275892395e9cSLionel Sambuc.It Sx \&Rs  Ta    \&No     Ta    \&No     Ta    closed by Sx \&Re
275992395e9cSLionel Sambuc.It Sx \&Sc  Ta    Yes      Ta    Yes      Ta    opened by Sx \&So
276092395e9cSLionel Sambuc.It Sx \&So  Ta    Yes      Ta    Yes      Ta    closed by Sx \&Sc
276192395e9cSLionel Sambuc.It Sx \&Xc  Ta    Yes      Ta    Yes      Ta    opened by Sx \&Xo
276292395e9cSLionel Sambuc.It Sx \&Xo  Ta    Yes      Ta    Yes      Ta    closed by Sx \&Xc
276392395e9cSLionel Sambuc.El
276492395e9cSLionel Sambuc.Ss Block partial-implicit
276592395e9cSLionel SambucLike block full-implicit, but with single-line scope closed by the
276692395e9cSLionel Sambucend of the line.
276792395e9cSLionel Sambuc.Bd -literal -offset indent
276892395e9cSLionel Sambuc\&.Yo \(lB\-arg \(lBval...\(rB\(rB \(lBbody...\(rB \(lBres...\(rB
276992395e9cSLionel Sambuc.Ed
277092395e9cSLionel Sambuc.Bl -column "MacroX" "CallableX" "ParsedX" -offset indent
277192395e9cSLionel Sambuc.It Em Macro Ta Em Callable Ta Em Parsed
277292395e9cSLionel Sambuc.It Sx \&Aq  Ta    Yes      Ta    Yes
277392395e9cSLionel Sambuc.It Sx \&Bq  Ta    Yes      Ta    Yes
277492395e9cSLionel Sambuc.It Sx \&Brq Ta    Yes      Ta    Yes
277592395e9cSLionel Sambuc.It Sx \&D1  Ta    \&No     Ta    \&Yes
277692395e9cSLionel Sambuc.It Sx \&Dl  Ta    \&No     Ta    Yes
277792395e9cSLionel Sambuc.It Sx \&Dq  Ta    Yes      Ta    Yes
277892395e9cSLionel Sambuc.It Sx \&Op  Ta    Yes      Ta    Yes
277992395e9cSLionel Sambuc.It Sx \&Pq  Ta    Yes      Ta    Yes
278092395e9cSLionel Sambuc.It Sx \&Ql  Ta    Yes      Ta    Yes
278192395e9cSLionel Sambuc.It Sx \&Qq  Ta    Yes      Ta    Yes
278292395e9cSLionel Sambuc.It Sx \&Sq  Ta    Yes      Ta    Yes
278392395e9cSLionel Sambuc.It Sx \&Vt  Ta    Yes      Ta    Yes
278492395e9cSLionel Sambuc.El
278592395e9cSLionel Sambuc.Pp
278692395e9cSLionel SambucNote that the
278792395e9cSLionel Sambuc.Sx \&Vt
278892395e9cSLionel Sambucmacro is a
278992395e9cSLionel Sambuc.Sx Block partial-implicit
279092395e9cSLionel Sambuconly when invoked as the first macro
279192395e9cSLionel Sambucin a
279292395e9cSLionel Sambuc.Em SYNOPSIS
279392395e9cSLionel Sambucsection line, else it is
279492395e9cSLionel Sambuc.Sx In-line .
279592395e9cSLionel Sambuc.Ss Special block macro
279692395e9cSLionel SambucThe
279792395e9cSLionel Sambuc.Sx \&Ta
279892395e9cSLionel Sambucmacro can only be used below
279992395e9cSLionel Sambuc.Sx \&It
280092395e9cSLionel Sambucin
280192395e9cSLionel Sambuc.Sx \&Bl Fl column
280292395e9cSLionel Sambuclists.
280392395e9cSLionel SambucIt delimits blocks representing table cells;
280492395e9cSLionel Sambucthese blocks have bodies, but no heads.
280592395e9cSLionel Sambuc.Bl -column "MacroX" "CallableX" "ParsedX" "closed by XXXX" -offset indent
280692395e9cSLionel Sambuc.It Em Macro Ta Em Callable Ta Em Parsed Ta Em Scope
280792395e9cSLionel Sambuc.It Sx \&Ta  Ta    Yes      Ta    Yes    Ta closed by Sx \&Ta , Sx \&It
280892395e9cSLionel Sambuc.El
280992395e9cSLionel Sambuc.Ss In-line
281092395e9cSLionel SambucClosed by the end of the line, fixed argument lengths,
281192395e9cSLionel Sambucand/or subsequent macros.
281292395e9cSLionel SambucIn-line macros have only text children.
281392395e9cSLionel SambucIf a number (or inequality) of arguments is
281492395e9cSLionel Sambuc.Pq n ,
281592395e9cSLionel Sambucthen the macro accepts an arbitrary number of arguments.
281692395e9cSLionel Sambuc.Bd -literal -offset indent
281792395e9cSLionel Sambuc\&.Yo \(lB\-arg \(lBval...\(rB\(rB \(lBargs...\(rB \(lBres...\(rB
281892395e9cSLionel Sambuc
281992395e9cSLionel Sambuc\&.Yo \(lB\-arg \(lBval...\(rB\(rB \(lBargs...\(rB Yc...
282092395e9cSLionel Sambuc
282192395e9cSLionel Sambuc\&.Yo \(lB\-arg \(lBval...\(rB\(rB arg0 arg1 argN
282292395e9cSLionel Sambuc.Ed
282392395e9cSLionel Sambuc.Bl -column "MacroX" "CallableX" "ParsedX" "Arguments" -offset indent
282492395e9cSLionel Sambuc.It Em Macro Ta Em Callable Ta Em Parsed Ta Em Arguments
282592395e9cSLionel Sambuc.It Sx \&%A  Ta    \&No     Ta    \&No     Ta    >0
282692395e9cSLionel Sambuc.It Sx \&%B  Ta    \&No     Ta    \&No     Ta    >0
282792395e9cSLionel Sambuc.It Sx \&%C  Ta    \&No     Ta    \&No     Ta    >0
282892395e9cSLionel Sambuc.It Sx \&%D  Ta    \&No     Ta    \&No     Ta    >0
282992395e9cSLionel Sambuc.It Sx \&%I  Ta    \&No     Ta    \&No     Ta    >0
283092395e9cSLionel Sambuc.It Sx \&%J  Ta    \&No     Ta    \&No     Ta    >0
283192395e9cSLionel Sambuc.It Sx \&%N  Ta    \&No     Ta    \&No     Ta    >0
283292395e9cSLionel Sambuc.It Sx \&%O  Ta    \&No     Ta    \&No     Ta    >0
283392395e9cSLionel Sambuc.It Sx \&%P  Ta    \&No     Ta    \&No     Ta    >0
283492395e9cSLionel Sambuc.It Sx \&%Q  Ta    \&No     Ta    \&No     Ta    >0
283592395e9cSLionel Sambuc.It Sx \&%R  Ta    \&No     Ta    \&No     Ta    >0
283692395e9cSLionel Sambuc.It Sx \&%T  Ta    \&No     Ta    \&No     Ta    >0
283792395e9cSLionel Sambuc.It Sx \&%U  Ta    \&No     Ta    \&No     Ta    >0
283892395e9cSLionel Sambuc.It Sx \&%V  Ta    \&No     Ta    \&No     Ta    >0
283992395e9cSLionel Sambuc.It Sx \&Ad  Ta    Yes      Ta    Yes      Ta    >0
284092395e9cSLionel Sambuc.It Sx \&An  Ta    Yes      Ta    Yes      Ta    >0
284192395e9cSLionel Sambuc.It Sx \&Ap  Ta    Yes      Ta    Yes      Ta    0
284292395e9cSLionel Sambuc.It Sx \&Ar  Ta    Yes      Ta    Yes      Ta    n
284392395e9cSLionel Sambuc.It Sx \&At  Ta    Yes      Ta    Yes      Ta    1
284492395e9cSLionel Sambuc.It Sx \&Bsx Ta    Yes      Ta    Yes      Ta    n
284592395e9cSLionel Sambuc.It Sx \&Bt  Ta    \&No     Ta    \&No     Ta    0
284692395e9cSLionel Sambuc.It Sx \&Bx  Ta    Yes      Ta    Yes      Ta    n
284792395e9cSLionel Sambuc.It Sx \&Cd  Ta    Yes      Ta    Yes      Ta    >0
284892395e9cSLionel Sambuc.It Sx \&Cm  Ta    Yes      Ta    Yes      Ta    >0
284992395e9cSLionel Sambuc.It Sx \&Db  Ta    \&No     Ta    \&No     Ta    1
285092395e9cSLionel Sambuc.It Sx \&Dd  Ta    \&No     Ta    \&No     Ta    n
285192395e9cSLionel Sambuc.It Sx \&Dt  Ta    \&No     Ta    \&No     Ta    n
285292395e9cSLionel Sambuc.It Sx \&Dv  Ta    Yes      Ta    Yes      Ta    >0
285392395e9cSLionel Sambuc.It Sx \&Dx  Ta    Yes      Ta    Yes      Ta    n
285492395e9cSLionel Sambuc.It Sx \&Em  Ta    Yes      Ta    Yes      Ta    >0
285592395e9cSLionel Sambuc.It Sx \&En  Ta    \&No     Ta    \&No     Ta    0
285692395e9cSLionel Sambuc.It Sx \&Er  Ta    Yes      Ta    Yes      Ta    >0
285792395e9cSLionel Sambuc.It Sx \&Es  Ta    \&No     Ta    \&No     Ta    0
285892395e9cSLionel Sambuc.It Sx \&Ev  Ta    Yes      Ta    Yes      Ta    >0
285992395e9cSLionel Sambuc.It Sx \&Ex  Ta    \&No     Ta    \&No     Ta    n
286092395e9cSLionel Sambuc.It Sx \&Fa  Ta    Yes      Ta    Yes      Ta    >0
286192395e9cSLionel Sambuc.It Sx \&Fd  Ta    \&No     Ta    \&No     Ta    >0
286292395e9cSLionel Sambuc.It Sx \&Fl  Ta    Yes      Ta    Yes      Ta    n
286392395e9cSLionel Sambuc.It Sx \&Fn  Ta    Yes      Ta    Yes      Ta    >0
286492395e9cSLionel Sambuc.It Sx \&Fr  Ta    \&No     Ta    \&No     Ta    n
286592395e9cSLionel Sambuc.It Sx \&Ft  Ta    Yes      Ta    Yes      Ta    >0
286692395e9cSLionel Sambuc.It Sx \&Fx  Ta    Yes      Ta    Yes      Ta    n
286792395e9cSLionel Sambuc.It Sx \&Hf  Ta    \&No     Ta    \&No     Ta    n
286892395e9cSLionel Sambuc.It Sx \&Ic  Ta    Yes      Ta    Yes      Ta    >0
286992395e9cSLionel Sambuc.It Sx \&In  Ta    \&No     Ta    \&No     Ta    1
287092395e9cSLionel Sambuc.It Sx \&Lb  Ta    \&No     Ta    \&No     Ta    1
287192395e9cSLionel Sambuc.It Sx \&Li  Ta    Yes      Ta    Yes      Ta    >0
287292395e9cSLionel Sambuc.It Sx \&Lk  Ta    Yes      Ta    Yes      Ta    >0
287392395e9cSLionel Sambuc.It Sx \&Lp  Ta    \&No     Ta    \&No     Ta    0
287492395e9cSLionel Sambuc.It Sx \&Ms  Ta    Yes      Ta    Yes      Ta    >0
287592395e9cSLionel Sambuc.It Sx \&Mt  Ta    Yes      Ta    Yes      Ta    >0
287692395e9cSLionel Sambuc.It Sx \&Nm  Ta    Yes      Ta    Yes      Ta    n
287792395e9cSLionel Sambuc.It Sx \&No  Ta    Yes      Ta    Yes      Ta    0
287892395e9cSLionel Sambuc.It Sx \&Ns  Ta    Yes      Ta    Yes      Ta    0
287992395e9cSLionel Sambuc.It Sx \&Nx  Ta    Yes      Ta    Yes      Ta    n
288092395e9cSLionel Sambuc.It Sx \&Os  Ta    \&No     Ta    \&No     Ta    n
288192395e9cSLionel Sambuc.It Sx \&Ot  Ta    \&No     Ta    \&No     Ta    n
288292395e9cSLionel Sambuc.It Sx \&Ox  Ta    Yes      Ta    Yes      Ta    n
288392395e9cSLionel Sambuc.It Sx \&Pa  Ta    Yes      Ta    Yes      Ta    n
288492395e9cSLionel Sambuc.It Sx \&Pf  Ta    Yes      Ta    Yes      Ta    1
288592395e9cSLionel Sambuc.It Sx \&Pp  Ta    \&No     Ta    \&No     Ta    0
288692395e9cSLionel Sambuc.It Sx \&Rv  Ta    \&No     Ta    \&No     Ta    n
288792395e9cSLionel Sambuc.It Sx \&Sm  Ta    \&No     Ta    \&No     Ta    1
288892395e9cSLionel Sambuc.It Sx \&St  Ta    \&No     Ta    Yes      Ta    1
288992395e9cSLionel Sambuc.It Sx \&Sx  Ta    Yes      Ta    Yes      Ta    >0
289092395e9cSLionel Sambuc.It Sx \&Sy  Ta    Yes      Ta    Yes      Ta    >0
289192395e9cSLionel Sambuc.It Sx \&Tn  Ta    Yes      Ta    Yes      Ta    >0
289292395e9cSLionel Sambuc.It Sx \&Ud  Ta    \&No     Ta    \&No     Ta    0
289392395e9cSLionel Sambuc.It Sx \&Ux  Ta    Yes      Ta    Yes      Ta    n
289492395e9cSLionel Sambuc.It Sx \&Va  Ta    Yes      Ta    Yes      Ta    n
289592395e9cSLionel Sambuc.It Sx \&Vt  Ta    Yes      Ta    Yes      Ta    >0
289692395e9cSLionel Sambuc.It Sx \&Xr  Ta    Yes      Ta    Yes      Ta    >0
289792395e9cSLionel Sambuc.It Sx \&br  Ta    \&No     Ta    \&No     Ta    0
289892395e9cSLionel Sambuc.It Sx \&sp  Ta    \&No     Ta    \&No     Ta    1
289992395e9cSLionel Sambuc.El
290092395e9cSLionel Sambuc.Ss Delimiters
290192395e9cSLionel SambucWhen a macro argument consists of one single input character
290292395e9cSLionel Sambucconsidered as a delimiter, the argument gets special handling.
290392395e9cSLionel SambucThis does not apply when delimiters appear in arguments containing
290492395e9cSLionel Sambucmore than one character.
290592395e9cSLionel SambucConsequently, to prevent special handling and just handle it
290692395e9cSLionel Sambuclike any other argument, a delimiter can be escaped by prepending
290792395e9cSLionel Sambuca zero-width space
290892395e9cSLionel Sambuc.Pq Sq \e& .
290992395e9cSLionel SambucIn text lines, delimiters never need escaping, but may be used
291092395e9cSLionel Sambucas normal punctuation.
291192395e9cSLionel Sambuc.Pp
291292395e9cSLionel SambucFor many macros, when the leading arguments are opening delimiters,
291392395e9cSLionel Sambucthese delimiters are put before the macro scope,
291492395e9cSLionel Sambucand when the trailing arguments are closing delimiters,
291592395e9cSLionel Sambucthese delimiters are put after the macro scope.
291692395e9cSLionel SambucFor example,
291792395e9cSLionel Sambuc.Pp
291892395e9cSLionel Sambuc.D1 Pf \. \&Aq "( [ word ] ) ."
291992395e9cSLionel Sambuc.Pp
292092395e9cSLionel Sambucrenders as:
292192395e9cSLionel Sambuc.Pp
292292395e9cSLionel Sambuc.D1 Aq ( [ word ] ) .
292392395e9cSLionel Sambuc.Pp
292492395e9cSLionel SambucOpening delimiters are:
292592395e9cSLionel Sambuc.Pp
292692395e9cSLionel Sambuc.Bl -tag -width Ds -offset indent -compact
292792395e9cSLionel Sambuc.It \&(
292892395e9cSLionel Sambucleft parenthesis
292992395e9cSLionel Sambuc.It \&[
293092395e9cSLionel Sambucleft bracket
293192395e9cSLionel Sambuc.El
293292395e9cSLionel Sambuc.Pp
293392395e9cSLionel SambucClosing delimiters are:
293492395e9cSLionel Sambuc.Pp
293592395e9cSLionel Sambuc.Bl -tag -width Ds -offset indent -compact
293692395e9cSLionel Sambuc.It \&.
293792395e9cSLionel Sambucperiod
293892395e9cSLionel Sambuc.It \&,
293992395e9cSLionel Sambuccomma
294092395e9cSLionel Sambuc.It \&:
294192395e9cSLionel Sambuccolon
294292395e9cSLionel Sambuc.It \&;
294392395e9cSLionel Sambucsemicolon
294492395e9cSLionel Sambuc.It \&)
294592395e9cSLionel Sambucright parenthesis
294692395e9cSLionel Sambuc.It \&]
294792395e9cSLionel Sambucright bracket
294892395e9cSLionel Sambuc.It \&?
294992395e9cSLionel Sambucquestion mark
295092395e9cSLionel Sambuc.It \&!
295192395e9cSLionel Sambucexclamation mark
295292395e9cSLionel Sambuc.El
295392395e9cSLionel Sambuc.Pp
295492395e9cSLionel SambucNote that even a period preceded by a backslash
295592395e9cSLionel Sambuc.Pq Sq \e.\&
295692395e9cSLionel Sambucgets this special handling; use
295792395e9cSLionel Sambuc.Sq \e&.
295892395e9cSLionel Sambucto prevent that.
295992395e9cSLionel Sambuc.Pp
296092395e9cSLionel SambucMany in-line macros interrupt their scope when they encounter
296192395e9cSLionel Sambucdelimiters, and resume their scope when more arguments follow that
296292395e9cSLionel Sambucare not delimiters.
296392395e9cSLionel SambucFor example,
296492395e9cSLionel Sambuc.Pp
296592395e9cSLionel Sambuc.D1 Pf \. \&Fl "a ( b | c \e*(Ba d ) e"
296692395e9cSLionel Sambuc.Pp
296792395e9cSLionel Sambucrenders as:
296892395e9cSLionel Sambuc.Pp
296992395e9cSLionel Sambuc.D1 Fl a ( b | c \*(Ba d ) e
297092395e9cSLionel Sambuc.Pp
297192395e9cSLionel SambucThis applies to both opening and closing delimiters,
297292395e9cSLionel Sambucand also to the middle delimiter:
297392395e9cSLionel Sambuc.Pp
297492395e9cSLionel Sambuc.Bl -tag -width Ds -offset indent -compact
297592395e9cSLionel Sambuc.It \&|
297692395e9cSLionel Sambucvertical bar
297792395e9cSLionel Sambuc.El
297892395e9cSLionel Sambuc.Pp
297992395e9cSLionel SambucAs a special case, the predefined string \e*(Ba is handled and rendered
298092395e9cSLionel Sambucin the same way as a plain
298192395e9cSLionel Sambuc.Sq \&|
298292395e9cSLionel Sambuccharacter.
298392395e9cSLionel SambucUsing this predefined string is not recommended in new manuals.
298492395e9cSLionel Sambuc.Ss Font handling
298592395e9cSLionel SambucIn
298692395e9cSLionel Sambuc.Nm
298792395e9cSLionel Sambucdocuments, usage of semantic markup is recommended in order to have
298892395e9cSLionel Sambucproper fonts automatically selected; only when no fitting semantic markup
298992395e9cSLionel Sambucis available, consider falling back to
299092395e9cSLionel Sambuc.Sx Physical markup
299192395e9cSLionel Sambucmacros.
299292395e9cSLionel SambucWhenever any
299392395e9cSLionel Sambuc.Nm
299492395e9cSLionel Sambucmacro switches the
299592395e9cSLionel Sambuc.Xr roff 7
299692395e9cSLionel Sambucfont mode, it will automatically restore the previous font when exiting
299792395e9cSLionel Sambucits scope.
299892395e9cSLionel SambucManually switching the font using the
299992395e9cSLionel Sambuc.Xr roff 7
300092395e9cSLionel Sambuc.Ql \ef
300192395e9cSLionel Sambucfont escape sequences is never required.
3002d65f6f70SBen Gras.Sh COMPATIBILITY
3003*0a6a1f1dSLionel SambucThis section documents compatibility between mandoc and other
3004d65f6f70SBen Grastroff implementations, at this time limited to GNU troff
3005d65f6f70SBen Gras.Pq Qq groff .
3006d65f6f70SBen GrasThe term
3007d65f6f70SBen Gras.Qq historic groff
3008d65f6f70SBen Grasrefers to groff versions before 1.17,
3009d65f6f70SBen Graswhich featured a significant update of the
3010d65f6f70SBen Gras.Pa doc.tmac
3011d65f6f70SBen Grasfile.
3012d65f6f70SBen Gras.Pp
3013d65f6f70SBen GrasHeirloom troff, the other significant troff implementation accepting
3014d65f6f70SBen Gras\-mdoc, is similar to historic groff.
3015d65f6f70SBen Gras.Pp
3016d65f6f70SBen GrasThe following problematic behaviour is found in groff:
3017d65f6f70SBen Gras.ds hist (Historic groff only.)
3018d65f6f70SBen Gras.Pp
3019d65f6f70SBen Gras.Bl -dash -compact
3020d65f6f70SBen Gras.It
3021d65f6f70SBen GrasDisplay macros
3022d65f6f70SBen Gras.Po
3023d65f6f70SBen Gras.Sx \&Bd ,
3024d65f6f70SBen Gras.Sx \&Dl ,
3025d65f6f70SBen Grasand
3026d65f6f70SBen Gras.Sx \&D1
3027d65f6f70SBen Gras.Pc
3028d65f6f70SBen Grasmay not be nested.
3029d65f6f70SBen Gras\*[hist]
3030d65f6f70SBen Gras.It
3031d65f6f70SBen Gras.Sx \&At
3032d65f6f70SBen Graswith unknown arguments produces no output at all.
3033d65f6f70SBen Gras\*[hist]
3034d65f6f70SBen GrasNewer groff and mandoc print
3035d65f6f70SBen Gras.Qq AT&T UNIX
3036d65f6f70SBen Grasand the arguments.
3037d65f6f70SBen Gras.It
303892395e9cSLionel Sambuc.Sx \&Bl Fl column
303992395e9cSLionel Sambucdoes not recognise trailing punctuation characters when they immediately
3040d65f6f70SBen Grasprecede tabulator characters, but treats them as normal text and
3041d65f6f70SBen Grasoutputs a space before them.
3042d65f6f70SBen Gras.It
3043d65f6f70SBen Gras.Sx \&Bd Fl ragged compact
3044d65f6f70SBen Grasdoes not start a new line.
3045d65f6f70SBen Gras\*[hist]
3046d65f6f70SBen Gras.It
3047d65f6f70SBen Gras.Sx \&Dd
304892395e9cSLionel Sambucwith non-standard arguments behaves very strangely.
304992395e9cSLionel SambucWhen there are three arguments, they are printed verbatim.
305092395e9cSLionel SambucAny other number of arguments is replaced by the current date,
305192395e9cSLionel Sambucbut without any arguments the string
305292395e9cSLionel Sambuc.Dq Epoch
305392395e9cSLionel Sambucis printed.
3054d65f6f70SBen Gras.It
3055d65f6f70SBen Gras.Sx \&Fl
3056d65f6f70SBen Grasdoes not print a dash for an empty argument.
3057d65f6f70SBen Gras\*[hist]
3058d65f6f70SBen Gras.It
3059d65f6f70SBen Gras.Sx \&Fn
3060d65f6f70SBen Grasdoes not start a new line unless invoked as the line macro in the
3061d65f6f70SBen Gras.Em SYNOPSIS
3062d65f6f70SBen Grassection.
3063d65f6f70SBen Gras\*[hist]
3064d65f6f70SBen Gras.It
3065d65f6f70SBen Gras.Sx \&Fo
3066d65f6f70SBen Graswith
3067d65f6f70SBen Gras.Pf non- Sx \&Fa
3068d65f6f70SBen Graschildren causes inconsistent spacing between arguments.
3069d65f6f70SBen GrasIn mandoc, a single space is always inserted between arguments.
3070d65f6f70SBen Gras.It
3071d65f6f70SBen Gras.Sx \&Ft
3072d65f6f70SBen Grasin the
3073d65f6f70SBen Gras.Em SYNOPSIS
3074d65f6f70SBen Grascauses inconsistent vertical spacing, depending on whether a prior
3075d65f6f70SBen Gras.Sx \&Fn
3076d65f6f70SBen Grashas been invoked.
3077d65f6f70SBen GrasSee
3078d65f6f70SBen Gras.Sx \&Ft
3079d65f6f70SBen Grasand
3080d65f6f70SBen Gras.Sx \&Fn
3081d65f6f70SBen Grasfor the normalised behaviour in mandoc.
3082d65f6f70SBen Gras.It
3083d65f6f70SBen Gras.Sx \&In
3084d65f6f70SBen Grasignores additional arguments and is not treated specially in the
3085d65f6f70SBen Gras.Em SYNOPSIS .
3086d65f6f70SBen Gras\*[hist]
3087d65f6f70SBen Gras.It
3088d65f6f70SBen Gras.Sx \&It
3089d65f6f70SBen Grassometimes requires a
3090d65f6f70SBen Gras.Fl nested
3091d65f6f70SBen Grasflag.
3092d65f6f70SBen Gras\*[hist]
3093d65f6f70SBen GrasIn new groff and mandoc, any list may be nested by default and
3094d65f6f70SBen Gras.Fl enum
3095d65f6f70SBen Graslists will restart the sequence only for the sub-list.
3096d65f6f70SBen Gras.It
3097d65f6f70SBen Gras.Sx \&Li
309892395e9cSLionel Sambucfollowed by a delimiter is incorrectly used in some manuals
3099d65f6f70SBen Grasinstead of properly quoting that character, which sometimes works with
3100d65f6f70SBen Grashistoric groff.
3101d65f6f70SBen Gras.It
3102d65f6f70SBen Gras.Sx \&Lk
3103d65f6f70SBen Grasonly accepts a single link-name argument; the remainder is misformatted.
3104d65f6f70SBen Gras.It
3105d65f6f70SBen Gras.Sx \&Pa
3106d65f6f70SBen Grasdoes not format its arguments when used in the FILES section under
3107d65f6f70SBen Grascertain list types.
3108d65f6f70SBen Gras.It
3109d65f6f70SBen Gras.Sx \&Ta
3110d65f6f70SBen Grascan only be called by other macros, but not at the beginning of a line.
3111d65f6f70SBen Gras.It
3112d65f6f70SBen Gras.Sx \&%C
3113d65f6f70SBen Grasis not implemented.
3114d65f6f70SBen Gras.It
3115d65f6f70SBen GrasHistoric groff only allows up to eight or nine arguments per macro input
3116d65f6f70SBen Grasline, depending on the exact situation.
3117d65f6f70SBen GrasProviding more arguments causes garbled output.
3118d65f6f70SBen GrasThe number of arguments on one input line is not limited with mandoc.
3119d65f6f70SBen Gras.It
3120d65f6f70SBen GrasHistoric groff has many un-callable macros.
3121d65f6f70SBen GrasMost of these (excluding some block-level macros) are callable
3122d65f6f70SBen Grasin new groff and mandoc.
3123d65f6f70SBen Gras.It
3124d65f6f70SBen Gras.Sq \(ba
3125d65f6f70SBen Gras(vertical bar) is not fully supported as a delimiter.
3126d65f6f70SBen Gras\*[hist]
3127d65f6f70SBen Gras.It
3128d65f6f70SBen Gras.Sq \ef
3129d65f6f70SBen Gras.Pq font face
3130d65f6f70SBen Grasand
3131d65f6f70SBen Gras.Sq \ef
3132d65f6f70SBen Gras.Pq font family face
3133d65f6f70SBen Gras.Sx Text Decoration
3134d65f6f70SBen Grasescapes behave irregularly when specified within line-macro scopes.
3135d65f6f70SBen Gras.It
3136d65f6f70SBen GrasNegative scaling units return to prior lines.
3137d65f6f70SBen GrasInstead, mandoc truncates them to zero.
3138d65f6f70SBen Gras.El
3139d65f6f70SBen Gras.Pp
3140d65f6f70SBen GrasThe following features are unimplemented in mandoc:
3141d65f6f70SBen Gras.Pp
3142d65f6f70SBen Gras.Bl -dash -compact
3143d65f6f70SBen Gras.It
3144d65f6f70SBen Gras.Sx \&Bd
3145d65f6f70SBen Gras.Fl file Ar file .
3146d65f6f70SBen Gras.It
3147d65f6f70SBen Gras.Sx \&Bd
3148d65f6f70SBen Gras.Fl offset Ar center
3149d65f6f70SBen Grasand
3150d65f6f70SBen Gras.Fl offset Ar right .
315192395e9cSLionel SambucGroff does not implement centred and flush-right rendering either,
3152d65f6f70SBen Grasbut produces large indentations.
3153d65f6f70SBen Gras.It
3154d65f6f70SBen GrasThe
3155d65f6f70SBen Gras.Sq \eh
3156d65f6f70SBen Gras.Pq horizontal position ,
3157d65f6f70SBen Gras.Sq \ev
3158d65f6f70SBen Gras.Pq vertical position ,
3159d65f6f70SBen Gras.Sq \em
3160d65f6f70SBen Gras.Pq text colour ,
3161d65f6f70SBen Gras.Sq \eM
3162d65f6f70SBen Gras.Pq text filling colour ,
3163d65f6f70SBen Gras.Sq \ez
3164d65f6f70SBen Gras.Pq zero-length character ,
3165d65f6f70SBen Gras.Sq \ew
3166d65f6f70SBen Gras.Pq string length ,
3167d65f6f70SBen Gras.Sq \ek
3168d65f6f70SBen Gras.Pq horizontal position marker ,
3169d65f6f70SBen Gras.Sq \eo
3170d65f6f70SBen Gras.Pq text overstrike ,
3171d65f6f70SBen Grasand
3172d65f6f70SBen Gras.Sq \es
3173d65f6f70SBen Gras.Pq text size
3174d65f6f70SBen Grasescape sequences are all discarded in mandoc.
3175d65f6f70SBen Gras.It
3176d65f6f70SBen GrasThe
3177d65f6f70SBen Gras.Sq \ef
3178d65f6f70SBen Grasscaling unit is accepted by mandoc, but rendered as the default unit.
3179d65f6f70SBen Gras.It
3180d65f6f70SBen GrasIn quoted literals, groff allows pairwise double-quotes to produce a
3181d65f6f70SBen Grasstandalone double-quote in formatted output.
3182d65f6f70SBen GrasThis is not supported by mandoc.
3183d65f6f70SBen Gras.El
3184d65f6f70SBen Gras.Sh SEE ALSO
3185d65f6f70SBen Gras.Xr man 1 ,
3186d65f6f70SBen Gras.Xr mandoc 1 ,
318792395e9cSLionel Sambuc.Xr eqn 7 ,
3188d65f6f70SBen Gras.Xr man 7 ,
318992395e9cSLionel Sambuc.Xr mandoc_char 7 ,
3190d65f6f70SBen Gras.Xr roff 7 ,
3191d65f6f70SBen Gras.Xr tbl 7
3192d65f6f70SBen Gras.Sh HISTORY
3193d65f6f70SBen GrasThe
3194d65f6f70SBen Gras.Nm
3195d65f6f70SBen Graslanguage first appeared as a troff macro package in
3196d65f6f70SBen Gras.Bx 4.4 .
3197d65f6f70SBen GrasIt was later significantly updated by Werner Lemberg and Ruslan Ermilov
3198d65f6f70SBen Grasin groff-1.17.
3199d65f6f70SBen GrasThe standalone implementation that is part of the
3200d65f6f70SBen Gras.Xr mandoc 1
3201d65f6f70SBen Grasutility written by Kristaps Dzonsons appeared in
3202d65f6f70SBen Gras.Ox 4.6 .
3203d65f6f70SBen Gras.Sh AUTHORS
3204d65f6f70SBen GrasThe
3205d65f6f70SBen Gras.Nm
3206d65f6f70SBen Grasreference was written by
3207*0a6a1f1dSLionel Sambuc.An Kristaps Dzonsons Aq Mt kristaps@bsd.lv .
3208