]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/mandoc/man.7
bhyvectl(8): Normalize the man page date
[FreeBSD/FreeBSD.git] / contrib / mandoc / man.7
1 .\"     $Id: man.7,v 1.144 2019/07/09 03:46:59 schwarze Exp $
2 .\"
3 .\" Copyright (c) 2009, 2010, 2011, 2012 Kristaps Dzonsons <kristaps@bsd.lv>
4 .\" Copyright (c) 2011-2015,2017,2018,2019 Ingo Schwarze <schwarze@openbsd.org>
5 .\" Copyright (c) 2017 Anthony Bentley <bentley@openbsd.org>
6 .\" Copyright (c) 2010 Joerg Sonnenberger <joerg@netbsd.org>
7 .\"
8 .\" Permission to use, copy, modify, and distribute this software for any
9 .\" purpose with or without fee is hereby granted, provided that the above
10 .\" copyright notice and this permission notice appear in all copies.
11 .\"
12 .\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
13 .\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
14 .\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
15 .\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
16 .\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
17 .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
18 .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
19 .\"
20 .Dd $Mdocdate: July 9 2019 $
21 .Dt MAN 7
22 .Os
23 .Sh NAME
24 .Nm man
25 .Nd legacy formatting language for manual pages
26 .Sh DESCRIPTION
27 The
28 .Nm man
29 language was the standard formatting language for
30 .At
31 manual pages from 1979 to 1989.
32 Do not use it to write new manual pages: it is a purely presentational
33 language and lacks support for semantic markup.
34 Use the
35 .Xr mdoc 7
36 language, instead.
37 .Pp
38 In a
39 .Nm
40 document, lines beginning with the control character
41 .Sq \&.
42 are called
43 .Dq macro lines .
44 The first word is the macro name.
45 It usually consists of two capital letters.
46 For a list of portable macros, see
47 .Sx MACRO OVERVIEW .
48 The words following the macro name are arguments to the macro.
49 .Pp
50 Lines not beginning with the control character are called
51 .Dq text lines .
52 They provide free-form text to be printed; the formatting of the text
53 depends on the respective processing context:
54 .Bd -literal -offset indent
55 \&.SH Macro lines change control state.
56 Text lines are interpreted within the current state.
57 .Ed
58 .Pp
59 Many aspects of the basic syntax of the
60 .Nm
61 language are based on the
62 .Xr roff 7
63 language; see the
64 .Em LANGUAGE SYNTAX
65 and
66 .Em MACRO SYNTAX
67 sections in the
68 .Xr roff 7
69 manual for details, in particular regarding
70 comments, escape sequences, whitespace, and quoting.
71 .Pp
72 Each
73 .Nm
74 document starts with the
75 .Ic TH
76 macro specifying the document's name and section, followed by the
77 .Sx NAME
78 section formatted as follows:
79 .Bd -literal -offset indent
80 \&.TH PROGNAME 1 1979-01-10
81 \&.SH NAME
82 \efBprogname\efR \e(en one line about what it does
83 .Ed
84 .Sh MACRO OVERVIEW
85 This overview is sorted such that macros of similar purpose are listed
86 together.
87 Deprecated and non-portable macros are not included in the overview,
88 but can be found in the alphabetical reference below.
89 .Ss Page header and footer meta-data
90 .Bl -column "RS, RE" description
91 .It Ic TH Ta set the title: Ar name section date Op Ar source Op Ar volume
92 .It Ic AT Ta display AT&T UNIX version in the page footer (<= 1 argument)
93 .It Ic UC Ta display BSD version in the page footer (<= 1 argument)
94 .El
95 .Ss Sections and paragraphs
96 .Bl -column "RS, RE" description
97 .It Ic SH Ta section header (one line)
98 .It Ic SS Ta subsection header (one line)
99 .It Ic PP Ta start an undecorated paragraph (no arguments)
100 .It Ic RS , RE Ta reset the left margin: Op Ar width
101 .It Ic IP Ta indented paragraph: Op Ar head Op Ar width
102 .It Ic TP Ta tagged paragraph: Op Ar width
103 .It Ic PD Ta set vertical paragraph distance: Op Ar height
104 .It Ic in Ta additional indent: Op Ar width
105 .El
106 .Ss Physical markup
107 .Bl -column "RS, RE" description
108 .It Ic B Ta boldface font
109 .It Ic I Ta italic font
110 .It Ic SB Ta small boldface font
111 .It Ic SM Ta small roman font
112 .It Ic BI Ta alternate between boldface and italic fonts
113 .It Ic BR Ta alternate between boldface and roman fonts
114 .It Ic IB Ta alternate between italic and boldface fonts
115 .It Ic IR Ta alternate between italic and roman fonts
116 .It Ic RB Ta alternate between roman and boldface fonts
117 .It Ic RI Ta alternate between roman and italic fonts
118 .El
119 .Sh MACRO REFERENCE
120 This section is a canonical reference to all macros, arranged
121 alphabetically.
122 For the scoping of individual macros, see
123 .Sx MACRO SYNTAX .
124 .Bl -tag -width 3n
125 .It Ic AT
126 Sets the volume for the footer for compatibility with man pages from
127 .At
128 releases.
129 The optional arguments specify which release it is from.
130 .It Ic B
131 Text is rendered in bold face.
132 .It Ic BI
133 Text is rendered alternately in bold face and italic.
134 Thus,
135 .Sq .BI this word and that
136 causes
137 .Sq this
138 and
139 .Sq and
140 to render in bold face, while
141 .Sq word
142 and
143 .Sq that
144 render in italics.
145 Whitespace between arguments is omitted in output.
146 .Pp
147 Example:
148 .Pp
149 .Dl \&.BI bold italic bold italic
150 .It Ic BR
151 Text is rendered alternately in bold face and roman (the default font).
152 Whitespace between arguments is omitted in output.
153 See also
154 .Ic BI .
155 .It Ic DT
156 Restore the default tabulator positions.
157 They are at intervals of 0.5 inches.
158 This has no effect unless the tabulator positions were changed with the
159 .Xr roff 7
160 .Ic ta
161 request.
162 .It Ic EE
163 This is a non-standard Version 9
164 .At
165 extension later adopted by GNU.
166 In
167 .Xr mandoc 1 ,
168 it does the same as the
169 .Xr roff 7
170 .Ic fi
171 request (switch to fill mode).
172 .It Ic EX
173 This is a non-standard Version 9
174 .At
175 extension later adopted by GNU.
176 In
177 .Xr mandoc 1 ,
178 it does the same as the
179 .Xr roff 7
180 .Ic nf
181 request (switch to no-fill mode).
182 .It Ic HP
183 Begin a paragraph whose initial output line is left-justified, but
184 subsequent output lines are indented, with the following syntax:
185 .Pp
186 .D1 Pf . Ic HP Op Ar width
187 .Pp
188 The
189 .Ar width
190 argument is a
191 .Xr roff 7
192 scaling width.
193 If specified, it's saved for later paragraph left margins;
194 if unspecified, the saved or default width is used.
195 .Pp
196 This macro is portable, but deprecated
197 because it has no good representation in HTML output,
198 usually ending up indistinguishable from
199 .Ic PP .
200 .It Ic I
201 Text is rendered in italics.
202 .It Ic IB
203 Text is rendered alternately in italics and bold face.
204 Whitespace between arguments is omitted in output.
205 See also
206 .Ic BI .
207 .It Ic IP
208 Begin an indented paragraph with the following syntax:
209 .Pp
210 .D1 Pf . Ic IP Op Ar head Op Ar width
211 .Pp
212 The
213 .Ar width
214 argument is a
215 .Xr roff 7
216 scaling width defining the left margin.
217 It's saved for later paragraph left-margins; if unspecified, the saved or
218 default width is used.
219 .Pp
220 The
221 .Ar head
222 argument is used as a leading term, flushed to the left margin.
223 This is useful for bulleted paragraphs and so on.
224 .It Ic IR
225 Text is rendered alternately in italics and roman (the default font).
226 Whitespace between arguments is omitted in output.
227 See also
228 .Ic BI .
229 .It Ic LP
230 A synonym for
231 .Ic PP .
232 .It Ic ME
233 End a mailto block started with
234 .Ic MT .
235 This is a non-standard GNU extension.
236 .It Ic MT
237 Begin a mailto block.
238 This is a non-standard GNU extension.
239 It has the following syntax:
240 .Bd -unfilled -offset indent
241 .Pf . Ic MT Ar address
242 link description to be shown
243 .Pf . Ic ME
244 .Ed
245 .It Ic OP
246 Optional command-line argument.
247 This is a non-standard GNU extension.
248 It has the following syntax:
249 .Pp
250 .D1 Pf . Ic OP Ar key Op Ar value
251 .Pp
252 The
253 .Ar key
254 is usually a command-line flag and
255 .Ar value
256 its argument.
257 .It Ic P
258 A synonym for
259 .Ic PP .
260 .It Ic PD
261 Specify the vertical space to be inserted before each new paragraph.
262 .br
263 The syntax is as follows:
264 .Pp
265 .D1 Pf . Ic PD Op Ar height
266 .Pp
267 The
268 .Ar height
269 argument is a
270 .Xr roff 7
271 scaling width.
272 It defaults to
273 .Cm 1v .
274 If the unit is omitted,
275 .Cm v
276 is assumed.
277 .Pp
278 This macro affects the spacing before any subsequent instances of
279 .Ic HP ,
280 .Ic IP ,
281 .Ic LP ,
282 .Ic P ,
283 .Ic PP ,
284 .Ic SH ,
285 .Ic SS ,
286 .Ic SY ,
287 and
288 .Ic TP .
289 .It Ic PP
290 Begin an undecorated paragraph.
291 The scope of a paragraph is closed by a subsequent paragraph,
292 sub-section, section, or end of file.
293 The saved paragraph left-margin width is reset to the default.
294 .It Ic RB
295 Text is rendered alternately in roman (the default font) and bold face.
296 Whitespace between arguments is omitted in output.
297 See also
298 .Ic BI .
299 .It Ic RE
300 Explicitly close out the scope of a prior
301 .Ic RS .
302 The default left margin is restored to the state before that
303 .Ic RS
304 invocation.
305 .Pp
306 The syntax is as follows:
307 .Pp
308 .D1 Pf . Ic RE Op Ar level
309 .Pp
310 Without an argument, the most recent
311 .Ic RS
312 block is closed out.
313 If
314 .Ar level
315 is 1, all open
316 .Ic RS
317 blocks are closed out.
318 Otherwise,
319 .Ar level No \(mi 1
320 nested
321 .Ic RS
322 blocks remain open.
323 .It Ic RI
324 Text is rendered alternately in roman (the default font) and italics.
325 Whitespace between arguments is omitted in output.
326 See also
327 .Ic BI .
328 .It Ic RS
329 Temporarily reset the default left margin.
330 This has the following syntax:
331 .Pp
332 .D1 Pf . Ic RS Op Ar width
333 .Pp
334 The
335 .Ar width
336 argument is a
337 .Xr roff 7
338 scaling width.
339 If not specified, the saved or default width is used.
340 .Pp
341 See also
342 .Ic RE .
343 .It Ic SB
344 Text is rendered in small size (one point smaller than the default font)
345 bold face.
346 .It Ic SH
347 Begin a section.
348 The scope of a section is only closed by another section or the end of
349 file.
350 The paragraph left-margin width is reset to the default.
351 .It Ic SM
352 Text is rendered in small size (one point smaller than the default
353 font).
354 .It Ic SS
355 Begin a sub-section.
356 The scope of a sub-section is closed by a subsequent sub-section,
357 section, or end of file.
358 The paragraph left-margin width is reset to the default.
359 .It Ic SY
360 Begin a synopsis block with the following syntax:
361 .Bd -unfilled -offset indent
362 .Pf . Ic SY Ar command
363 .Ar arguments
364 .Pf . Ic YS
365 .Ed
366 .Pp
367 This is a non-standard GNU extension
368 and very rarely used even in GNU manual pages.
369 Formatting is similar to
370 .Ic IP .
371 .It Ic TH
372 Set the name of the manual page for use in the page header
373 and footer with the following syntax:
374 .Pp
375 .D1 Pf . Ic TH Ar name section date Op Ar source Op Ar volume
376 .Pp
377 Conventionally, the document
378 .Ar name
379 is given in all caps.
380 The
381 .Ar section
382 is usually a single digit, in a few cases followed by a letter.
383 The recommended
384 .Ar date
385 format is
386 .Sy YYYY-MM-DD
387 as specified in the ISO-8601 standard;
388 if the argument does not conform, it is printed verbatim.
389 If the
390 .Ar date
391 is empty or not specified, the current date is used.
392 The optional
393 .Ar source
394 string specifies the organisation providing the utility.
395 When unspecified,
396 .Xr mandoc 1
397 uses its
398 .Fl Ios
399 argument.
400 The
401 .Ar volume
402 string replaces the default volume title of the
403 .Ar section .
404 .Pp
405 Examples:
406 .Pp
407 .Dl \&.TH CVS 5 "1992-02-12" GNU
408 .It Ic TP
409 Begin a paragraph where the head, if exceeding the indentation width, is
410 followed by a newline; if not, the body follows on the same line after
411 advancing to the indentation width.
412 Subsequent output lines are indented.
413 The syntax is as follows:
414 .Bd -unfilled -offset indent
415 .Pf . Ic TP Op Ar width
416 .Ar head No \e" one line
417 .Ar body
418 .Ed
419 .Pp
420 The
421 .Ar width
422 argument is a
423 .Xr roff 7
424 scaling width.
425 If specified, it's saved for later paragraph left-margins; if
426 unspecified, the saved or default width is used.
427 .It Ic TQ
428 Like
429 .Ic TP ,
430 except that no vertical spacing is inserted before the paragraph.
431 This is a non-standard GNU extension
432 and very rarely used even in GNU manual pages.
433 .It Ic UC
434 Sets the volume for the footer for compatibility with man pages from
435 .Bx
436 releases.
437 The optional first argument specifies which release it is from.
438 .It Ic UE
439 End a uniform resource identifier block started with
440 .Ic UR .
441 This is a non-standard GNU extension.
442 .It Ic UR
443 Begin a uniform resource identifier block.
444 This is a non-standard GNU extension.
445 It has the following syntax:
446 .Bd -unfilled -offset indent
447 .Pf . Ic UR Ar uri
448 link description to be shown
449 .Pf . Ic UE
450 .Ed
451 .It Ic YS
452 End a synopsis block started with
453 .Ic SY .
454 This is a non-standard GNU extension.
455 .It Ic in
456 Indent relative to the current indentation:
457 .Pp
458 .D1 Pf . Ic in Op Ar width
459 .Pp
460 If
461 .Ar width
462 is signed, the new offset is relative.
463 Otherwise, it is absolute.
464 This value is reset upon the next paragraph, section, or sub-section.
465 .El
466 .Sh MACRO SYNTAX
467 The
468 .Nm
469 macros are classified by scope: line scope or block scope.
470 Line macros are only scoped to the current line (and, in some
471 situations, the subsequent line).
472 Block macros are scoped to the current line and subsequent lines until
473 closed by another block macro.
474 .Ss Line Macros
475 Line macros are generally scoped to the current line, with the body
476 consisting of zero or more arguments.
477 If a macro is scoped to the next line and the line arguments are empty,
478 the next line, which must be text, is used instead.
479 Thus:
480 .Bd -literal -offset indent
481 \&.I
482 foo
483 .Ed
484 .Pp
485 is equivalent to
486 .Sq .I foo .
487 If next-line macros are invoked consecutively, only the last is used.
488 If a next-line macro is followed by a non-next-line macro, an error is
489 raised.
490 .Pp
491 The syntax is as follows:
492 .Bd -literal -offset indent
493 \&.YO \(lBbody...\(rB
494 \(lBbody...\(rB
495 .Ed
496 .Bl -column "MacroX" "ArgumentsX" "ScopeXXXXX" "CompatX" -offset indent
497 .It Em Macro Ta Em Arguments Ta Em Scope     Ta Em Notes
498 .It Ic AT  Ta    <=1       Ta    current   Ta    \&
499 .It Ic B   Ta    n         Ta    next-line Ta    \&
500 .It Ic BI  Ta    n         Ta    current   Ta    \&
501 .It Ic BR  Ta    n         Ta    current   Ta    \&
502 .It Ic DT  Ta    0         Ta    current   Ta    \&
503 .It Ic EE  Ta    0         Ta    current   Ta    Version 9 At
504 .It Ic EX  Ta    0         Ta    current   Ta    Version 9 At
505 .It Ic I   Ta    n         Ta    next-line Ta    \&
506 .It Ic IB  Ta    n         Ta    current   Ta    \&
507 .It Ic IR  Ta    n         Ta    current   Ta    \&
508 .It Ic OP  Ta    >=1       Ta    current   Ta    GNU
509 .It Ic PD  Ta    1         Ta    current   Ta    \&
510 .It Ic RB  Ta    n         Ta    current   Ta    \&
511 .It Ic RI  Ta    n         Ta    current   Ta    \&
512 .It Ic SB  Ta    n         Ta    next-line Ta    \&
513 .It Ic SM  Ta    n         Ta    next-line Ta    \&
514 .It Ic TH  Ta    >1, <6    Ta    current   Ta    \&
515 .It Ic UC  Ta    <=1       Ta    current   Ta    \&
516 .It Ic in  Ta    1         Ta    current   Ta    Xr roff 7
517 .El
518 .Ss Block Macros
519 Block macros comprise a head and body.
520 As with in-line macros, the head is scoped to the current line and, in
521 one circumstance, the next line (the next-line stipulations as in
522 .Sx Line Macros
523 apply here as well).
524 .Pp
525 The syntax is as follows:
526 .Bd -literal -offset indent
527 \&.YO \(lBhead...\(rB
528 \(lBhead...\(rB
529 \(lBbody...\(rB
530 .Ed
531 .Pp
532 The closure of body scope may be to the section, where a macro is closed
533 by
534 .Ic SH ;
535 sub-section, closed by a section or
536 .Ic SS ;
537 or paragraph, closed by a section, sub-section,
538 .Ic HP ,
539 .Ic IP ,
540 .Ic LP ,
541 .Ic P ,
542 .Ic PP ,
543 .Ic RE ,
544 .Ic SY ,
545 or
546 .Ic TP .
547 No closure refers to an explicit block closing macro.
548 .Pp
549 As a rule, block macros may not be nested; thus, calling a block macro
550 while another block macro scope is open, and the open scope is not
551 implicitly closed, is syntactically incorrect.
552 .Bl -column "MacroX" "ArgumentsX" "Head ScopeX" "sub-sectionX" "compatX" -offset indent
553 .It Em Macro Ta Em Arguments Ta Em Head Scope Ta Em Body Scope  Ta Em Notes
554 .It Ic HP  Ta    <2        Ta    current    Ta    paragraph   Ta    \&
555 .It Ic IP  Ta    <3        Ta    current    Ta    paragraph   Ta    \&
556 .It Ic LP  Ta    0         Ta    current    Ta    paragraph   Ta    \&
557 .It Ic ME  Ta    0         Ta    none       Ta    none        Ta    GNU
558 .It Ic MT  Ta    1         Ta    current    Ta    to \&ME     Ta    GNU
559 .It Ic P   Ta    0         Ta    current    Ta    paragraph   Ta    \&
560 .It Ic PP  Ta    0         Ta    current    Ta    paragraph   Ta    \&
561 .It Ic RE  Ta    <=1       Ta    current    Ta    none        Ta    \&
562 .It Ic RS  Ta    1         Ta    current    Ta    to \&RE     Ta    \&
563 .It Ic SH  Ta    >0        Ta    next-line  Ta    section     Ta    \&
564 .It Ic SS  Ta    >0        Ta    next-line  Ta    sub-section Ta    \&
565 .It Ic SY  Ta    1         Ta    current    Ta    to \&YS     Ta    GNU
566 .It Ic TP  Ta    n         Ta    next-line  Ta    paragraph   Ta    \&
567 .It Ic TQ  Ta    n         Ta    next-line  Ta    paragraph   Ta    GNU
568 .It Ic UE  Ta    0         Ta    current    Ta    none        Ta    GNU
569 .It Ic UR  Ta    1         Ta    current    Ta    part        Ta    GNU
570 .It Ic YS  Ta    0         Ta    none       Ta    none        Ta    GNU
571 .El
572 .Pp
573 If a block macro is next-line scoped, it may only be followed by in-line
574 macros for decorating text.
575 .Ss Font handling
576 In
577 .Nm
578 documents, both
579 .Sx Physical markup
580 macros and
581 .Xr roff 7
582 .Ql \ef
583 font escape sequences can be used to choose fonts.
584 In text lines, the effect of manual font selection by escape sequences
585 only lasts until the next macro invocation; in macro lines, it only lasts
586 until the end of the macro scope.
587 Note that macros like
588 .Ic BR
589 open and close a font scope for each argument.
590 .Sh SEE ALSO
591 .Xr man 1 ,
592 .Xr mandoc 1 ,
593 .Xr eqn 7 ,
594 .Xr mandoc_char 7 ,
595 .Xr mdoc 7 ,
596 .Xr roff 7 ,
597 .Xr tbl 7
598 .Sh HISTORY
599 The
600 .Nm
601 language first appeared as a macro package for the roff typesetting
602 system in
603 .At v7 .
604 It was later rewritten by James Clark as a macro package for groff.
605 Eric S. Raymond wrote the extended
606 .Nm
607 macros for groff in 2007.
608 The stand-alone implementation that is part of the
609 .Xr mandoc 1
610 utility written by Kristaps Dzonsons appeared in
611 .Ox 4.6 .
612 .Sh AUTHORS
613 This
614 .Nm
615 reference was written by
616 .An Kristaps Dzonsons Aq Mt kristaps@bsd.lv .