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