]> git.cameronkatri.com Git - mandoc.git/blob - man.7
Add support for 1/2, 1/4, and 3/4 (needed by eqn).
[mandoc.git] / man.7
1 .\" $Id: man.7,v 1.102 2011/07/08 09:35:06 kristaps Exp $
2 .\"
3 .\" Copyright (c) 2009, 2010 Kristaps Dzonsons <kristaps@bsd.lv>
4 .\"
5 .\" Permission to use, copy, modify, and distribute this software for any
6 .\" purpose with or without fee is hereby granted, provided that the above
7 .\" copyright notice and this permission notice appear in all copies.
8 .\"
9 .\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 .\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 .\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 .\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 .\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 .\"
17 .Dd $Mdocdate: July 8 2011 $
18 .Dt MAN 7
19 .Os
20 .Sh NAME
21 .Nm man
22 .Nd man language reference
23 .Sh DESCRIPTION
24 The
25 .Nm man
26 language was historically used to format
27 .Ux
28 manuals.
29 This reference document describes its syntax, structure, and usage.
30 .Pp
31 .Bf -emphasis
32 Do not use
33 .Nm
34 to write your manuals.
35 .Ef
36 Use the
37 .Xr mdoc 7
38 language, instead.
39 .Pp
40 A
41 .Nm
42 document follows simple rules: lines beginning with the control
43 character
44 .Sq \&.
45 are parsed for macros.
46 Other lines are interpreted within the scope of
47 prior macros:
48 .Bd -literal -offset indent
49 \&.SH Macro lines change control state.
50 Other lines are interpreted within the current state.
51 .Ed
52 .Sh INPUT ENCODING
53 .Nm
54 documents may contain only graphable 7-bit ASCII characters, the
55 space character, and the tab character.
56 .Pp
57 Blank lines are acceptable; where found, the output will assert a
58 vertical space.
59 .Pp
60 If the first character of a line is a space, that line is printed
61 with a leading newline.
62 .Ss Comments
63 Text following a
64 .Sq \e\*q ,
65 whether in a macro or free-form text line, is ignored to the end of
66 line.
67 A macro line with only a control character and comment escape,
68 .Sq \&.\e\*q ,
69 is also ignored.
70 Macro lines with only a control character and optionally whitespace are
71 stripped from input.
72 .Ss Special Characters
73 Special characters may occur in both macro and free-form lines.
74 Sequences begin with the escape character
75 .Sq \e
76 followed by either an open-parenthesis
77 .Sq \&(
78 for two-character sequences; an open-bracket
79 .Sq \&[
80 for n-character sequences (terminated at a close-bracket
81 .Sq \&] ) ;
82 or a single one-character sequence.
83 See
84 .Xr mandoc_char 7
85 for a complete list.
86 Examples include
87 .Sq \e(em
88 .Pq em-dash
89 and
90 .Sq \ee
91 .Pq back-slash .
92 .Ss Text Decoration
93 Terms may be text-decorated using the
94 .Sq \ef
95 escape followed by an indicator: B (bold), I (italic), R (Roman), or P
96 (revert to previous mode):
97 .Pp
98 .D1 \efBbold\efR \efIitalic\efP
99 .Pp
100 A numerical representation 3, 2, or 1 (bold, italic, and Roman,
101 respectively) may be used instead.
102 A text decoration is only valid, if specified in free-form text, until
103 the next macro invocation; if specified within a macro, it's only valid
104 until the macro closes scope.
105 Note that macros like
106 .Sx \&BR
107 open and close a font scope with each argument.
108 .Pp
109 The
110 .Sq \ef
111 attribute is forgotten when entering or exiting a macro block.
112 .Ss Whitespace
113 Whitespace consists of the space character.
114 In free-form lines, whitespace is preserved within a line; unescaped
115 trailing spaces are stripped from input (unless in a literal context).
116 Blank free-form lines, which may include spaces, are permitted and
117 rendered as an empty line.
118 .Pp
119 In macro lines, whitespace delimits arguments and is discarded.
120 If arguments are quoted, whitespace within the quotes is retained.
121 .Ss Scaling Widths
122 Many macros support scaled widths for their arguments, such as
123 stipulating a two-inch paragraph indentation with the following:
124 .Bd -literal -offset indent
125 \&.HP 2i
126 .Ed
127 .Pp
128 The syntax for scaled widths is
129 .Sq Li [+-]?[0-9]*.[0-9]*[:unit:]? ,
130 where a decimal must be preceded or proceeded by at least one digit.
131 Negative numbers, while accepted, are truncated to zero.
132 The following scaling units are accepted:
133 .Pp
134 .Bl -tag -width Ds -offset indent -compact
135 .It c
136 centimetre
137 .It i
138 inch
139 .It P
140 pica (~1/6 inch)
141 .It p
142 point (~1/72 inch)
143 .It f
144 synonym for
145 .Sq u
146 .It v
147 default vertical span
148 .It m
149 width of rendered
150 .Sq m
151 .Pq em
152 character
153 .It n
154 width of rendered
155 .Sq n
156 .Pq en
157 character
158 .It u
159 default horizontal span
160 .It M
161 mini-em (~1/100 em)
162 .El
163 .Pp
164 Using anything other than
165 .Sq m ,
166 .Sq n ,
167 .Sq u ,
168 or
169 .Sq v
170 is necessarily non-portable across output media.
171 .Pp
172 If a scaling unit is not provided, the numerical value is interpreted
173 under the default rules of
174 .Sq v
175 for vertical spaces and
176 .Sq u
177 for horizontal ones.
178 .Em Note :
179 this differs from
180 .Xr mdoc 7 ,
181 which, if a unit is not provided, will instead interpret the string as
182 literal text.
183 .Ss Sentence Spacing
184 When composing a manual, make sure that sentences end at the end of
185 a line.
186 By doing so, front-ends will be able to apply the proper amount of
187 spacing after the end of sentence (unescaped) period, exclamation mark,
188 or question mark followed by zero or more non-sentence closing
189 delimiters
190 .Po
191 .Sq \&) ,
192 .Sq \&] ,
193 .Sq \&' ,
194 .Sq \&"
195 .Pc .
196 .Sh MANUAL STRUCTURE
197 Each
198 .Nm
199 document must contain the
200 .Sx \&TH
201 macro describing the document's section and title.
202 It may occur anywhere in the document, although conventionally it
203 appears as the first macro.
204 .Pp
205 Beyond
206 .Sx \&TH ,
207 at least one macro or text node must appear in the document.
208 .Pp
209 The following is a well-formed skeleton
210 .Nm
211 file for a utility
212 .Qq progname :
213 .Bd -literal -offset indent
214 \&.TH PROGNAME 1 2009-10-10
215 \&.SH NAME
216 \efBprogname\efR \e(en a description goes here
217 \&.\e\*q .SH LIBRARY
218 \&.\e\*q For sections 2 & 3 only.
219 \&.\e\*q Not used in OpenBSD.
220 \&.SH SYNOPSIS
221 \efBprogname\efR [\efB\e-options\efR] arguments...
222 \&.SH DESCRIPTION
223 The \efBfoo\efR utility processes files...
224 \&.\e\*q .SH IMPLEMENTATION NOTES
225 \&.\e\*q Not used in OpenBSD.
226 \&.\e\*q .SH RETURN VALUES
227 \&.\e\*q For sections 2, 3, & 9 only.
228 \&.\e\*q .SH ENVIRONMENT
229 \&.\e\*q For sections 1, 6, 7, & 8 only.
230 \&.\e\*q .SH FILES
231 \&.\e\*q .SH EXIT STATUS
232 \&.\e\*q For sections 1, 6, & 8 only.
233 \&.\e\*q .SH EXAMPLES
234 \&.\e\*q .SH DIAGNOSTICS
235 \&.\e\*q For sections 1, 4, 6, 7, & 8 only.
236 \&.\e\*q .SH ERRORS
237 \&.\e\*q For sections 2, 3, & 9 only.
238 \&.\e\*q .SH SEE ALSO
239 \&.\e\*q .BR foo ( 1 )
240 \&.\e\*q .SH STANDARDS
241 \&.\e\*q .SH HISTORY
242 \&.\e\*q .SH AUTHORS
243 \&.\e\*q .SH CAVEATS
244 \&.\e\*q .SH BUGS
245 \&.\e\*q .SH SECURITY CONSIDERATIONS
246 \&.\e\*q Not used in OpenBSD.
247 .Ed
248 .Pp
249 The sections in a
250 .Nm
251 document are conventionally ordered as they appear above.
252 Sections should be composed as follows:
253 .Bl -ohang -offset indent
254 .It Em NAME
255 The name(s) and a short description of the documented material.
256 The syntax for this is generally as follows:
257 .Pp
258 .D1 \efBname\efR \e(en description
259 .It Em LIBRARY
260 The name of the library containing the documented material, which is
261 assumed to be a function in a section 2 or 3 manual.
262 For functions in the C library, this may be as follows:
263 .Pp
264 .D1 Standard C Library (libc, -lc)
265 .It Em SYNOPSIS
266 Documents the utility invocation syntax, function call syntax, or device
267 configuration.
268 .Pp
269 For the first, utilities (sections 1, 6, and 8), this is
270 generally structured as follows:
271 .Pp
272 .D1 \efBname\efR [-\efBab\efR] [-\efBc\efR\efIarg\efR] \efBpath\efR...
273 .Pp
274 For the second, function calls (sections 2, 3, 9):
275 .Pp
276 .D1 \&.B char *name(char *\efIarg\efR);
277 .Pp
278 And for the third, configurations (section 4):
279 .Pp
280 .D1 \&.B name* at cardbus ? function ?
281 .Pp
282 Manuals not in these sections generally don't need a
283 .Em SYNOPSIS .
284 .It Em DESCRIPTION
285 This expands upon the brief, one-line description in
286 .Em NAME .
287 It usually contains a break-down of the options (if documenting a
288 command).
289 .It Em IMPLEMENTATION NOTES
290 Implementation-specific notes should be kept here.
291 This is useful when implementing standard functions that may have side
292 effects or notable algorithmic implications.
293 .It Em RETURN VALUES
294 This section documents the return values of functions in sections 2, 3, and 9.
295 .It Em ENVIRONMENT
296 Documents any usages of environment variables, e.g.,
297 .Xr environ 7 .
298 .It Em FILES
299 Documents files used.
300 It's helpful to document both the file name and a short description of how
301 the file is used (created, modified, etc.).
302 .It Em EXIT STATUS
303 This section documents the command exit status for
304 section 1, 6, and 8 utilities.
305 Historically, this information was described in
306 .Em DIAGNOSTICS ,
307 a practise that is now discouraged.
308 .It Em EXAMPLES
309 Example usages.
310 This often contains snippets of well-formed,
311 well-tested invocations.
312 Make sure that examples work properly!
313 .It Em DIAGNOSTICS
314 Documents error conditions.
315 This is most useful in section 4 manuals.
316 Historically, this section was used in place of
317 .Em EXIT STATUS
318 for manuals in sections 1, 6, and 8; however, this practise is
319 discouraged.
320 .It Em ERRORS
321 Documents error handling in sections 2, 3, and 9.
322 .It Em SEE ALSO
323 References other manuals with related topics.
324 This section should exist for most manuals.
325 .Pp
326 .D1 \&.BR bar \&( 1 \&),
327 .Pp
328 Cross-references should conventionally be ordered
329 first by section, then alphabetically.
330 .It Em STANDARDS
331 References any standards implemented or used, such as
332 .Pp
333 .D1 IEEE Std 1003.2 (\e(lqPOSIX.2\e(rq)
334 .Pp
335 If not adhering to any standards, the
336 .Em HISTORY
337 section should be used.
338 .It Em HISTORY
339 A brief history of the subject, including where support first appeared.
340 .It Em AUTHORS
341 Credits to the person or persons who wrote the code and/or documentation.
342 Authors should generally be noted by both name and email address.
343 .It Em CAVEATS
344 Common misuses and misunderstandings should be explained
345 in this section.
346 .It Em BUGS
347 Known bugs, limitations, and work-arounds should be described
348 in this section.
349 .It Em SECURITY CONSIDERATIONS
350 Documents any security precautions that operators should consider.
351 .El
352 .Sh MACRO SYNTAX
353 Macros are one to three characters in length and begin with a
354 control character,
355 .Sq \&. ,
356 at the beginning of the line.
357 The
358 .Sq \(aq
359 macro control character is also accepted.
360 An arbitrary amount of whitespace (spaces or tabs) may sit between the
361 control character and the macro name.
362 Thus, the following are equivalent:
363 .Bd -literal -offset indent
364 \&.PP
365 \&.\ \ \ PP
366 .Ed
367 .Pp
368 To include space characters in macro arguments, arguments may be quoted;
369 see the
370 .Sq MACRO SYNTAX
371 section in the
372 .Xr roff 7
373 manual for details.
374 .Pp
375 The
376 .Nm
377 macros are classified by scope: line scope or block scope.
378 Line macros are only scoped to the current line (and, in some
379 situations, the subsequent line).
380 Block macros are scoped to the current line and subsequent lines until
381 closed by another block macro.
382 .Ss Line Macros
383 Line macros are generally scoped to the current line, with the body
384 consisting of zero or more arguments.
385 If a macro is scoped to the next line and the line arguments are empty,
386 the next line, which must be text, is used instead.
387 Thus:
388 .Bd -literal -offset indent
389 \&.I
390 foo
391 .Ed
392 .Pp
393 is equivalent to
394 .Sq \&.I foo .
395 If next-line macros are invoked consecutively, only the last is used.
396 If a next-line macro is followed by a non-next-line macro, an error is
397 raised, except for
398 .Sx \&br ,
399 .Sx \&sp ,
400 and
401 .Sx \&na .
402 .Pp
403 The syntax is as follows:
404 .Bd -literal -offset indent
405 \&.YO \(lBbody...\(rB
406 \(lBbody...\(rB
407 .Ed
408 .Pp
409 .Bl -column -compact -offset indent "MacroX" "ArgumentsX" "ScopeXXXXX" "CompatX"
410 .It Em Macro Ta Em Arguments Ta Em Scope Ta Em Notes
411 .It Sx \&AT Ta <=1 Ta current Ta \&
412 .It Sx \&B Ta n Ta next-line Ta \&
413 .It Sx \&BI Ta n Ta current Ta \&
414 .It Sx \&BR Ta n Ta current Ta \&
415 .It Sx \&DT Ta 0 Ta current Ta \&
416 .It Sx \&I Ta n Ta next-line Ta \&
417 .It Sx \&IB Ta n Ta current Ta \&
418 .It Sx \&IR Ta n Ta current Ta \&
419 .It Sx \&R Ta n Ta next-line Ta \&
420 .It Sx \&RB Ta n Ta current Ta \&
421 .It Sx \&RI Ta n Ta current Ta \&
422 .It Sx \&SB Ta n Ta next-line Ta \&
423 .It Sx \&SM Ta n Ta next-line Ta \&
424 .It Sx \&TH Ta >1, <6 Ta current Ta \&
425 .It Sx \&UC Ta <=1 Ta current Ta \&
426 .It Sx \&br Ta 0 Ta current Ta compat
427 .It Sx \&fi Ta 0 Ta current Ta compat
428 .It Sx \&ft Ta 1 Ta current Ta compat
429 .It Sx \&in Ta 1 Ta current Ta compat
430 .It Sx \&na Ta 0 Ta current Ta compat
431 .It Sx \&nf Ta 0 Ta current Ta compat
432 .It Sx \&sp Ta 1 Ta current Ta compat
433 .El
434 .Pp
435 Macros marked as
436 .Qq compat
437 are included for compatibility with the significant corpus of existing
438 manuals that mix dialects of roff.
439 These macros should not be used for portable
440 .Nm
441 manuals.
442 .Ss Block Macros
443 Block macros comprise a head and body.
444 As with in-line macros, the head is scoped to the current line and, in
445 one circumstance, the next line (the next-line stipulations as in
446 .Sx Line Macros
447 apply here as well).
448 .Pp
449 The syntax is as follows:
450 .Bd -literal -offset indent
451 \&.YO \(lBhead...\(rB
452 \(lBhead...\(rB
453 \(lBbody...\(rB
454 .Ed
455 .Pp
456 The closure of body scope may be to the section, where a macro is closed
457 by
458 .Sx \&SH ;
459 sub-section, closed by a section or
460 .Sx \&SS ;
461 part, closed by a section, sub-section, or
462 .Sx \&RE ;
463 or paragraph, closed by a section, sub-section, part,
464 .Sx \&HP ,
465 .Sx \&IP ,
466 .Sx \&LP ,
467 .Sx \&P ,
468 .Sx \&PP ,
469 or
470 .Sx \&TP .
471 No closure refers to an explicit block closing macro.
472 .Pp
473 As a rule, block macros may not be nested; thus, calling a block macro
474 while another block macro scope is open, and the open scope is not
475 implicitly closed, is syntactically incorrect.
476 .Pp
477 .Bl -column -compact -offset indent "MacroX" "ArgumentsX" "Head ScopeX" "sub-sectionX" "compatX"
478 .It Em Macro Ta Em Arguments Ta Em Head Scope Ta Em Body Scope Ta Em Notes
479 .It Sx \&HP Ta <2 Ta current Ta paragraph Ta \&
480 .It Sx \&IP Ta <3 Ta current Ta paragraph Ta \&
481 .It Sx \&LP Ta 0 Ta current Ta paragraph Ta \&
482 .It Sx \&P Ta 0 Ta current Ta paragraph Ta \&
483 .It Sx \&PP Ta 0 Ta current Ta paragraph Ta \&
484 .It Sx \&RE Ta 0 Ta current Ta none Ta compat
485 .It Sx \&RS Ta 1 Ta current Ta part Ta compat
486 .It Sx \&SH Ta >0 Ta next-line Ta section Ta \&
487 .It Sx \&SS Ta >0 Ta next-line Ta sub-section Ta \&
488 .It Sx \&TP Ta n Ta next-line Ta paragraph Ta \&
489 .El
490 .Pp
491 Macros marked
492 .Qq compat
493 are as mentioned in
494 .Sx Line Macros .
495 .Pp
496 If a block macro is next-line scoped, it may only be followed by in-line
497 macros for decorating text.
498 .Sh REFERENCE
499 This section is a canonical reference to all macros, arranged
500 alphabetically.
501 For the scoping of individual macros, see
502 .Sx MACRO SYNTAX .
503 .Ss \&AT
504 Sets the volume for the footer for compatibility with man pages from
505 .Tn AT&T UNIX
506 releases.
507 The optional arguments specify which release it is from.
508 .Ss \&B
509 Text is rendered in bold face.
510 .Pp
511 See also
512 .Sx \&I
513 and
514 .Sx \&R .
515 .Ss \&BI
516 Text is rendered alternately in bold face and italic.
517 Thus,
518 .Sq .BI this word and that
519 causes
520 .Sq this
521 and
522 .Sq and
523 to render in bold face, while
524 .Sq word
525 and
526 .Sq that
527 render in italics.
528 Whitespace between arguments is omitted in output.
529 .Pp
530 Examples:
531 .Pp
532 .Dl \&.BI bold italic bold italic
533 .Pp
534 The output of this example will be emboldened
535 .Dq bold
536 and italicised
537 .Dq italic ,
538 with spaces stripped between arguments.
539 .Pp
540 See also
541 .Sx \&IB ,
542 .Sx \&BR ,
543 .Sx \&RB ,
544 .Sx \&RI ,
545 and
546 .Sx \&IR .
547 .Ss \&BR
548 Text is rendered alternately in bold face and roman (the default font).
549 Whitespace between arguments is omitted in output.
550 .Pp
551 See
552 .Sx \&BI
553 for an equivalent example.
554 .Pp
555 See also
556 .Sx \&BI ,
557 .Sx \&IB ,
558 .Sx \&RB ,
559 .Sx \&RI ,
560 and
561 .Sx \&IR .
562 .Ss \&DT
563 Has no effect.
564 Included for compatibility.
565 .Ss \&HP
566 Begin a paragraph whose initial output line is left-justified, but
567 subsequent output lines are indented, with the following syntax:
568 .Bd -filled -offset indent
569 .Pf \. Sx \&HP
570 .Op Cm width
571 .Ed
572 .Pp
573 The
574 .Cm width
575 argument must conform to
576 .Sx Scaling Widths .
577 If specified, it's saved for later paragraph left-margins; if unspecified, the
578 saved or default width is used.
579 .Pp
580 See also
581 .Sx \&IP ,
582 .Sx \&LP ,
583 .Sx \&P ,
584 .Sx \&PP ,
585 and
586 .Sx \&TP .
587 .Ss \&I
588 Text is rendered in italics.
589 .Pp
590 See also
591 .Sx \&B
592 and
593 .Sx \&R .
594 .Ss \&IB
595 Text is rendered alternately in italics and bold face.
596 Whitespace between arguments is omitted in output.
597 .Pp
598 See
599 .Sx \&BI
600 for an equivalent example.
601 .Pp
602 See also
603 .Sx \&BI ,
604 .Sx \&BR ,
605 .Sx \&RB ,
606 .Sx \&RI ,
607 and
608 .Sx \&IR .
609 .Ss \&IP
610 Begin an indented paragraph with the following syntax:
611 .Bd -filled -offset indent
612 .Pf \. Sx \&IP
613 .Op Cm head Op Cm width
614 .Ed
615 .Pp
616 The
617 .Cm width
618 argument defines the width of the left margin and is defined by
619 .Sx Scaling Widths .
620 It's saved for later paragraph left-margins; if unspecified, the saved or
621 default width is used.
622 .Pp
623 The
624 .Cm head
625 argument is used as a leading term, flushed to the left margin.
626 This is useful for bulleted paragraphs and so on.
627 .Pp
628 See also
629 .Sx \&HP ,
630 .Sx \&LP ,
631 .Sx \&P ,
632 .Sx \&PP ,
633 and
634 .Sx \&TP .
635 .Ss \&IR
636 Text is rendered alternately in italics and roman (the default font).
637 Whitespace between arguments is omitted in output.
638 .Pp
639 See
640 .Sx \&BI
641 for an equivalent example.
642 .Pp
643 See also
644 .Sx \&BI ,
645 .Sx \&IB ,
646 .Sx \&BR ,
647 .Sx \&RB ,
648 and
649 .Sx \&RI .
650 .Ss \&LP
651 Begin an undecorated paragraph.
652 The scope of a paragraph is closed by a subsequent paragraph,
653 sub-section, section, or end of file.
654 The saved paragraph left-margin width is reset to the default.
655 .Pp
656 See also
657 .Sx \&HP ,
658 .Sx \&IP ,
659 .Sx \&P ,
660 .Sx \&PP ,
661 and
662 .Sx \&TP .
663 .Ss \&P
664 Synonym for
665 .Sx \&LP .
666 .Pp
667 See also
668 .Sx \&HP ,
669 .Sx \&IP ,
670 .Sx \&LP ,
671 .Sx \&PP ,
672 and
673 .Sx \&TP .
674 .Ss \&PP
675 Synonym for
676 .Sx \&LP .
677 .Pp
678 See also
679 .Sx \&HP ,
680 .Sx \&IP ,
681 .Sx \&LP ,
682 .Sx \&P ,
683 and
684 .Sx \&TP .
685 .Ss \&R
686 Text is rendered in roman (the default font).
687 .Pp
688 See also
689 .Sx \&I
690 and
691 .Sx \&B .
692 .Ss \&RB
693 Text is rendered alternately in roman (the default font) and bold face.
694 Whitespace between arguments is omitted in output.
695 .Pp
696 See
697 .Sx \&BI
698 for an equivalent example.
699 .Pp
700 See also
701 .Sx \&BI ,
702 .Sx \&IB ,
703 .Sx \&BR ,
704 .Sx \&RI ,
705 and
706 .Sx \&IR .
707 .Ss \&RE
708 Explicitly close out the scope of a prior
709 .Sx \&RS .
710 The default left margin is restored to the state of the original
711 .Sx \&RS
712 invocation.
713 .Ss \&RI
714 Text is rendered alternately in roman (the default font) and italics.
715 Whitespace between arguments is omitted in output.
716 .Pp
717 See
718 .Sx \&BI
719 for an equivalent example.
720 .Pp
721 See also
722 .Sx \&BI ,
723 .Sx \&IB ,
724 .Sx \&BR ,
725 .Sx \&RB ,
726 and
727 .Sx \&IR .
728 .Ss \&RS
729 Temporarily reset the default left margin.
730 This has the following syntax:
731 .Bd -filled -offset indent
732 .Pf \. Sx \&RS
733 .Op Cm width
734 .Ed
735 .Pp
736 The
737 .Cm width
738 argument must conform to
739 .Sx Scaling Widths .
740 If not specified, the saved or default width is used.
741 .Pp
742 See also
743 .Sx \&RE .
744 .Ss \&SB
745 Text is rendered in small size (one point smaller than the default font)
746 bold face.
747 .Ss \&SH
748 Begin a section.
749 The scope of a section is only closed by another section or the end of
750 file.
751 The paragraph left-margin width is reset to the default.
752 .Ss \&SM
753 Text is rendered in small size (one point smaller than the default
754 font).
755 .Ss \&SS
756 Begin a sub-section.
757 The scope of a sub-section is closed by a subsequent sub-section,
758 section, or end of file.
759 The paragraph left-margin width is reset to the default.
760 .Ss \&TH
761 Sets the title of the manual page with the following syntax:
762 .Bd -filled -offset indent
763 .Pf \. Sx \&TH
764 .Ar title section date
765 .Op Ar source Op Ar volume
766 .Ed
767 .Pp
768 Conventionally, the document
769 .Ar title
770 is given in all caps.
771 The recommended
772 .Ar date
773 format is
774 .Sy YYYY-MM-DD
775 as specified in the ISO-8601 standard;
776 if the argument does not conform, it is printed verbatim.
777 If the
778 .Ar date
779 is empty or not specified, the current date is used.
780 The optional
781 .Ar source
782 string specifies the organisation providing the utility.
783 The
784 .Ar volume
785 string replaces the default rendered volume, which is dictated by the
786 manual section.
787 .Pp
788 Examples:
789 .Pp
790 .Dl \&.TH CVS 5 "1992-02-12" GNU
791 .Ss \&TP
792 Begin a paragraph where the head, if exceeding the indentation width, is
793 followed by a newline; if not, the body follows on the same line after a
794 buffer to the indentation width.
795 Subsequent output lines are indented.
796 The syntax is as follows:
797 .Bd -filled -offset indent
798 .Pf \. Sx \&TP
799 .Op Cm width
800 .Ed
801 .Pp
802 The
803 .Cm width
804 argument must conform to
805 .Sx Scaling Widths .
806 If specified, it's saved for later paragraph left-margins; if
807 unspecified, the saved or default width is used.
808 .Pp
809 See also
810 .Sx \&HP ,
811 .Sx \&IP ,
812 .Sx \&LP ,
813 .Sx \&P ,
814 and
815 .Sx \&PP .
816 .Ss \&UC
817 Sets the volume for the footer for compatibility with man pages from
818 BSD releases.
819 The optional first argument specifies which release it is from.
820 .Ss \&br
821 Breaks the current line.
822 Consecutive invocations have no further effect.
823 .Pp
824 See also
825 .Sx \&sp .
826 .Ss \&fi
827 End literal mode begun by
828 .Sx \&nf .
829 .Ss \&ft
830 Change the current font mode.
831 See
832 .Sx Text Decoration
833 for a listing of available font modes.
834 .Ss \&in
835 Indent relative to the current indentation:
836 .Pp
837 .D1 Pf \. Sx \&in Op Cm width
838 .Pp
839 If
840 .Cm width
841 is signed, the new offset is relative.
842 Otherwise, it is absolute.
843 This value is reset upon the next paragraph, section, or sub-section.
844 .Ss \&na
845 Don't align to the right margin.
846 .Ss \&nf
847 Begin literal mode: all subsequent free-form lines have their end of
848 line boundaries preserved.
849 May be ended by
850 .Sx \&fi .
851 Literal mode is implicitly ended by
852 .Sx \&SH
853 or
854 .Sx \&SS .
855 .Ss \&sp
856 Insert vertical spaces into output with the following syntax:
857 .Bd -filled -offset indent
858 .Pf \. Sx \&sp
859 .Op Cm height
860 .Ed
861 .Pp
862 Insert
863 .Cm height
864 spaces, which must conform to
865 .Sx Scaling Widths .
866 If 0, this is equivalent to the
867 .Sx \&br
868 macro.
869 Defaults to 1, if unspecified.
870 .Pp
871 See also
872 .Sx \&br .
873 .Sh COMPATIBILITY
874 This section documents areas of questionable portability between
875 implementations of the
876 .Nm
877 language.
878 .Pp
879 .Bl -dash -compact
880 .It
881 In quoted literals, GNU troff allowed pair-wise double-quotes to produce
882 a standalone double-quote in formatted output.
883 It is not known whether this behaviour is exhibited by other formatters.
884 .It
885 troff suppresses a newline before
886 .Sq \(aq
887 macro output; in mandoc, it is an alias for the standard
888 .Sq \&.
889 control character.
890 .It
891 The
892 .Sq \eh
893 .Pq horizontal position ,
894 .Sq \ev
895 .Pq vertical position ,
896 .Sq \em
897 .Pq text colour ,
898 .Sq \eM
899 .Pq text filling colour ,
900 .Sq \ez
901 .Pq zero-length character ,
902 .Sq \ew
903 .Pq string length ,
904 .Sq \ek
905 .Pq horizontal position marker ,
906 .Sq \eo
907 .Pq text overstrike ,
908 and
909 .Sq \es
910 .Pq text size
911 escape sequences are all discarded in mandoc.
912 .It
913 The
914 .Sq \ef
915 scaling unit is accepted by mandoc, but rendered as the default unit.
916 .It
917 The
918 .Sx \&sp
919 macro does not accept negative values in mandoc.
920 In GNU troff, this would result in strange behaviour.
921 .El
922 .Sh SEE ALSO
923 .Xr man 1 ,
924 .Xr mandoc 1 ,
925 .Xr eqn 7 ,
926 .Xr mandoc_char 7 ,
927 .Xr mdoc 7 ,
928 .Xr roff 7 ,
929 .Xr tbl 7
930 .Sh HISTORY
931 The
932 .Nm
933 language first appeared as a macro package for the roff typesetting
934 system in
935 .At v7 .
936 It was later rewritten by James Clark as a macro package for groff.
937 The stand-alone implementation that is part of the
938 .Xr mandoc 1
939 utility written by Kristaps Dzonsons appeared in
940 .Ox 4.6 .
941 .Sh AUTHORS
942 This
943 .Nm
944 reference was written by
945 .An Kristaps Dzonsons Aq kristaps@bsd.lv .
946 .Sh CAVEATS
947 Do not use this language.
948 Use
949 .Xr mdoc 7 ,
950 instead.