1*0a6a1f1dSLionel Sambuc.\" Id: man.7,v 1.121 2013/12/31 15:17:51 schwarze Exp 2d65f6f70SBen Gras.\" 3*0a6a1f1dSLionel Sambuc.\" Copyright (c) 2009, 2010, 2011, 2012 Kristaps Dzonsons <kristaps@bsd.lv> 4*0a6a1f1dSLionel Sambuc.\" Copyright (c) 2011, 2012, 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 MAN 7 20d65f6f70SBen Gras.Os 21d65f6f70SBen Gras.Sh NAME 22d65f6f70SBen Gras.Nm man 2392395e9cSLionel Sambuc.Nd legacy formatting language for manual pages 24d65f6f70SBen Gras.Sh DESCRIPTION 2592395e9cSLionel SambucTraditionally, the 26d65f6f70SBen Gras.Nm man 2792395e9cSLionel Sambuclanguage has been used to write 28d65f6f70SBen Gras.Ux 2992395e9cSLionel Sambucmanuals for the 3092395e9cSLionel Sambuc.Xr man 1 3192395e9cSLionel Sambucutility. 3292395e9cSLionel SambucIt supports limited control of presentational details like fonts, 3392395e9cSLionel Sambucindentation and spacing. 3492395e9cSLionel SambucThis reference document describes the structure of manual pages 3592395e9cSLionel Sambucand the syntax and usage of the man language. 36d65f6f70SBen Gras.Pp 37d65f6f70SBen Gras.Bf -emphasis 38d65f6f70SBen GrasDo not use 39d65f6f70SBen Gras.Nm 4092395e9cSLionel Sambucto write your manuals: 41d65f6f70SBen Gras.Ef 4292395e9cSLionel SambucIt lacks support for semantic markup. 43d65f6f70SBen GrasUse the 44d65f6f70SBen Gras.Xr mdoc 7 45d65f6f70SBen Graslanguage, instead. 46d65f6f70SBen Gras.Pp 4792395e9cSLionel SambucIn a 48d65f6f70SBen Gras.Nm 4992395e9cSLionel Sambucdocument, lines beginning with the control character 50d65f6f70SBen Gras.Sq \&. 5192395e9cSLionel Sambucare called 5292395e9cSLionel Sambuc.Dq macro lines . 5392395e9cSLionel SambucThe first word is the macro name. 5492395e9cSLionel SambucIt usually consists of two capital letters. 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. 5892395e9cSLionel Sambuc.Pp 5992395e9cSLionel SambucLines not beginning with the control character are called 6092395e9cSLionel Sambuc.Dq text lines . 6192395e9cSLionel SambucThey provide free-form text to be printed; the formatting of the text 6292395e9cSLionel Sambucdepends on the respective processing context: 63d65f6f70SBen Gras.Bd -literal -offset indent 64d65f6f70SBen Gras\&.SH Macro lines change control state. 6592395e9cSLionel SambucText lines are interpreted within the current state. 66d65f6f70SBen Gras.Ed 67d65f6f70SBen Gras.Pp 6892395e9cSLionel SambucMany aspects of the basic syntax of the 6992395e9cSLionel Sambuc.Nm 7092395e9cSLionel Sambuclanguage are based on the 7192395e9cSLionel Sambuc.Xr roff 7 7292395e9cSLionel Sambuclanguage; see the 7392395e9cSLionel Sambuc.Em LANGUAGE SYNTAX 74d65f6f70SBen Grasand 7592395e9cSLionel Sambuc.Em MACRO SYNTAX 7692395e9cSLionel Sambucsections in the 7792395e9cSLionel Sambuc.Xr roff 7 7892395e9cSLionel Sambucmanual for details, in particular regarding 7992395e9cSLionel Sambuccomments, escape sequences, whitespace, and quoting. 80d65f6f70SBen Gras.Sh MANUAL STRUCTURE 81d65f6f70SBen GrasEach 82d65f6f70SBen Gras.Nm 83d65f6f70SBen Grasdocument must contain the 84d65f6f70SBen Gras.Sx \&TH 85d65f6f70SBen Grasmacro describing the document's section and title. 86d65f6f70SBen GrasIt may occur anywhere in the document, although conventionally it 87d65f6f70SBen Grasappears as the first macro. 88d65f6f70SBen Gras.Pp 89d65f6f70SBen GrasBeyond 90d65f6f70SBen Gras.Sx \&TH , 9192395e9cSLionel Sambucat least one macro or text line must appear in the document. 9292395e9cSLionel Sambuc.Pp 9392395e9cSLionel SambucThe following is a well-formed skeleton 9492395e9cSLionel Sambuc.Nm 9592395e9cSLionel Sambucfile for a utility 9692395e9cSLionel Sambuc.Qq progname : 97d65f6f70SBen Gras.Bd -literal -offset indent 9892395e9cSLionel Sambuc\&.TH PROGNAME 1 2009-10-10 99d65f6f70SBen Gras\&.SH NAME 10092395e9cSLionel Sambuc\efBprogname\efR \e(en a description goes here 10192395e9cSLionel Sambuc\&.\e\(dq .SH LIBRARY 10292395e9cSLionel Sambuc\&.\e\(dq For sections 2 & 3 only. 10392395e9cSLionel Sambuc\&.\e\(dq Not used in OpenBSD. 104d65f6f70SBen Gras\&.SH SYNOPSIS 10592395e9cSLionel Sambuc\efBprogname\efR [\efB\e-options\efR] arguments... 106d65f6f70SBen Gras\&.SH DESCRIPTION 107d65f6f70SBen GrasThe \efBfoo\efR utility processes files... 10892395e9cSLionel Sambuc\&.\e\(dq .SH IMPLEMENTATION NOTES 10992395e9cSLionel Sambuc\&.\e\(dq Not used in OpenBSD. 11092395e9cSLionel Sambuc\&.\e\(dq .SH RETURN VALUES 11192395e9cSLionel Sambuc\&.\e\(dq For sections 2, 3, & 9 only. 11292395e9cSLionel Sambuc\&.\e\(dq .SH ENVIRONMENT 11392395e9cSLionel Sambuc\&.\e\(dq For sections 1, 6, 7, & 8 only. 11492395e9cSLionel Sambuc\&.\e\(dq .SH FILES 11592395e9cSLionel Sambuc\&.\e\(dq .SH EXIT STATUS 11692395e9cSLionel Sambuc\&.\e\(dq For sections 1, 6, & 8 only. 11792395e9cSLionel Sambuc\&.\e\(dq .SH EXAMPLES 11892395e9cSLionel Sambuc\&.\e\(dq .SH DIAGNOSTICS 11992395e9cSLionel Sambuc\&.\e\(dq For sections 1, 4, 6, 7, & 8 only. 12092395e9cSLionel Sambuc\&.\e\(dq .SH ERRORS 12192395e9cSLionel Sambuc\&.\e\(dq For sections 2, 3, & 9 only. 12292395e9cSLionel Sambuc\&.\e\(dq .SH SEE ALSO 12392395e9cSLionel Sambuc\&.\e\(dq .BR foo ( 1 ) 12492395e9cSLionel Sambuc\&.\e\(dq .SH STANDARDS 12592395e9cSLionel Sambuc\&.\e\(dq .SH HISTORY 12692395e9cSLionel Sambuc\&.\e\(dq .SH AUTHORS 12792395e9cSLionel Sambuc\&.\e\(dq .SH CAVEATS 12892395e9cSLionel Sambuc\&.\e\(dq .SH BUGS 12992395e9cSLionel Sambuc\&.\e\(dq .SH SECURITY CONSIDERATIONS 13092395e9cSLionel Sambuc\&.\e\(dq Not used in OpenBSD. 131d65f6f70SBen Gras.Ed 132d65f6f70SBen Gras.Pp 133d65f6f70SBen GrasThe sections in a 134d65f6f70SBen Gras.Nm 135d65f6f70SBen Grasdocument are conventionally ordered as they appear above. 136d65f6f70SBen GrasSections should be composed as follows: 137d65f6f70SBen Gras.Bl -ohang -offset indent 138d65f6f70SBen Gras.It Em NAME 139d65f6f70SBen GrasThe name(s) and a short description of the documented material. 140d65f6f70SBen GrasThe syntax for this is generally as follows: 141d65f6f70SBen Gras.Pp 142d65f6f70SBen Gras.D1 \efBname\efR \e(en description 143d65f6f70SBen Gras.It Em LIBRARY 144d65f6f70SBen GrasThe name of the library containing the documented material, which is 145d65f6f70SBen Grasassumed to be a function in a section 2 or 3 manual. 146d65f6f70SBen GrasFor functions in the C library, this may be as follows: 147d65f6f70SBen Gras.Pp 148d65f6f70SBen Gras.D1 Standard C Library (libc, -lc) 149d65f6f70SBen Gras.It Em SYNOPSIS 150d65f6f70SBen GrasDocuments the utility invocation syntax, function call syntax, or device 151d65f6f70SBen Grasconfiguration. 152d65f6f70SBen Gras.Pp 153d65f6f70SBen GrasFor the first, utilities (sections 1, 6, and 8), this is 154d65f6f70SBen Grasgenerally structured as follows: 155d65f6f70SBen Gras.Pp 156d65f6f70SBen Gras.D1 \efBname\efR [-\efBab\efR] [-\efBc\efR\efIarg\efR] \efBpath\efR... 157d65f6f70SBen Gras.Pp 158d65f6f70SBen GrasFor the second, function calls (sections 2, 3, 9): 159d65f6f70SBen Gras.Pp 160d65f6f70SBen Gras.D1 \&.B char *name(char *\efIarg\efR); 161d65f6f70SBen Gras.Pp 162d65f6f70SBen GrasAnd for the third, configurations (section 4): 163d65f6f70SBen Gras.Pp 164d65f6f70SBen Gras.D1 \&.B name* at cardbus ? function ? 165d65f6f70SBen Gras.Pp 166d65f6f70SBen GrasManuals not in these sections generally don't need a 167d65f6f70SBen Gras.Em SYNOPSIS . 168d65f6f70SBen Gras.It Em DESCRIPTION 169d65f6f70SBen GrasThis expands upon the brief, one-line description in 170d65f6f70SBen Gras.Em NAME . 171d65f6f70SBen GrasIt usually contains a break-down of the options (if documenting a 172d65f6f70SBen Grascommand). 173d65f6f70SBen Gras.It Em IMPLEMENTATION NOTES 174d65f6f70SBen GrasImplementation-specific notes should be kept here. 175d65f6f70SBen GrasThis is useful when implementing standard functions that may have side 176d65f6f70SBen Graseffects or notable algorithmic implications. 177d65f6f70SBen Gras.It Em RETURN VALUES 178d65f6f70SBen GrasThis section documents the return values of functions in sections 2, 3, and 9. 179d65f6f70SBen Gras.It Em ENVIRONMENT 180d65f6f70SBen GrasDocuments any usages of environment variables, e.g., 181d65f6f70SBen Gras.Xr environ 7 . 182d65f6f70SBen Gras.It Em FILES 183d65f6f70SBen GrasDocuments files used. 184d65f6f70SBen GrasIt's helpful to document both the file name and a short description of how 185d65f6f70SBen Grasthe file is used (created, modified, etc.). 186d65f6f70SBen Gras.It Em EXIT STATUS 187d65f6f70SBen GrasThis section documents the command exit status for 188d65f6f70SBen Grassection 1, 6, and 8 utilities. 189d65f6f70SBen GrasHistorically, this information was described in 190d65f6f70SBen Gras.Em DIAGNOSTICS , 191d65f6f70SBen Grasa practise that is now discouraged. 192d65f6f70SBen Gras.It Em EXAMPLES 193d65f6f70SBen GrasExample usages. 194d65f6f70SBen GrasThis often contains snippets of well-formed, 195d65f6f70SBen Graswell-tested invocations. 196d65f6f70SBen GrasMake sure that examples work properly! 197d65f6f70SBen Gras.It Em DIAGNOSTICS 198d65f6f70SBen GrasDocuments error conditions. 199d65f6f70SBen GrasThis is most useful in section 4 manuals. 200d65f6f70SBen GrasHistorically, this section was used in place of 201d65f6f70SBen Gras.Em EXIT STATUS 202d65f6f70SBen Grasfor manuals in sections 1, 6, and 8; however, this practise is 203d65f6f70SBen Grasdiscouraged. 204d65f6f70SBen Gras.It Em ERRORS 205d65f6f70SBen GrasDocuments error handling in sections 2, 3, and 9. 206d65f6f70SBen Gras.It Em SEE ALSO 207d65f6f70SBen GrasReferences other manuals with related topics. 208d65f6f70SBen GrasThis section should exist for most manuals. 209d65f6f70SBen Gras.Pp 210d65f6f70SBen Gras.D1 \&.BR bar \&( 1 \&), 211d65f6f70SBen Gras.Pp 212d65f6f70SBen GrasCross-references should conventionally be ordered 213d65f6f70SBen Grasfirst by section, then alphabetically. 214d65f6f70SBen Gras.It Em STANDARDS 215d65f6f70SBen GrasReferences any standards implemented or used, such as 216d65f6f70SBen Gras.Pp 217d65f6f70SBen Gras.D1 IEEE Std 1003.2 (\e(lqPOSIX.2\e(rq) 218d65f6f70SBen Gras.Pp 219d65f6f70SBen GrasIf not adhering to any standards, the 220d65f6f70SBen Gras.Em HISTORY 221d65f6f70SBen Grassection should be used. 222d65f6f70SBen Gras.It Em HISTORY 223d65f6f70SBen GrasA brief history of the subject, including where support first appeared. 224d65f6f70SBen Gras.It Em AUTHORS 225d65f6f70SBen GrasCredits to the person or persons who wrote the code and/or documentation. 226d65f6f70SBen GrasAuthors should generally be noted by both name and email address. 227d65f6f70SBen Gras.It Em CAVEATS 228d65f6f70SBen GrasCommon misuses and misunderstandings should be explained 229d65f6f70SBen Grasin this section. 230d65f6f70SBen Gras.It Em BUGS 231d65f6f70SBen GrasKnown bugs, limitations, and work-arounds should be described 232d65f6f70SBen Grasin this section. 233d65f6f70SBen Gras.It Em SECURITY CONSIDERATIONS 234d65f6f70SBen GrasDocuments any security precautions that operators should consider. 235d65f6f70SBen Gras.El 23692395e9cSLionel Sambuc.Sh MACRO OVERVIEW 23792395e9cSLionel SambucThis overview is sorted such that macros of similar purpose are listed 23892395e9cSLionel Sambuctogether, to help find the best macro for any given purpose. 23992395e9cSLionel SambucDeprecated macros are not included in the overview, but can be found 24092395e9cSLionel Sambucin the alphabetical reference below. 24192395e9cSLionel Sambuc.Ss Page header and footer meta-data 24292395e9cSLionel Sambuc.Bl -column "PP, LP, P" description 24392395e9cSLionel Sambuc.It Sx TH Ta set the title: Ar title section date Op Ar source Op Ar volume 24492395e9cSLionel Sambuc.It Sx AT Ta display AT&T UNIX version in the page footer (<= 1 argument) 24592395e9cSLionel Sambuc.It Sx UC Ta display BSD version in the page footer (<= 1 argument) 246d65f6f70SBen Gras.El 24792395e9cSLionel Sambuc.Ss Sections and paragraphs 24892395e9cSLionel Sambuc.Bl -column "PP, LP, P" description 24992395e9cSLionel Sambuc.It Sx SH Ta section header (one line) 25092395e9cSLionel Sambuc.It Sx SS Ta subsection header (one line) 25192395e9cSLionel Sambuc.It Sx PP , LP , P Ta start an undecorated paragraph (no arguments) 25292395e9cSLionel Sambuc.It Sx RS , RE Ta reset the left margin: Op Ar width 25392395e9cSLionel Sambuc.It Sx IP Ta indented paragraph: Op Ar head Op Ar width 25492395e9cSLionel Sambuc.It Sx TP Ta tagged paragraph: Op Ar width 25592395e9cSLionel Sambuc.It Sx HP Ta hanged paragraph: Op Ar width 256*0a6a1f1dSLionel Sambuc.It Sx PD Ta set vertical paragraph distance: Op Ar height 25792395e9cSLionel Sambuc.It Sx \&br Ta force output line break in text mode (no arguments) 25892395e9cSLionel Sambuc.It Sx \&sp Ta force vertical space: Op Ar height 25992395e9cSLionel Sambuc.It Sx fi , nf Ta fill mode and no-fill mode (no arguments) 26092395e9cSLionel Sambuc.It Sx in Ta additional indent: Op Ar width 261d65f6f70SBen Gras.El 26292395e9cSLionel Sambuc.Ss Physical markup 26392395e9cSLionel Sambuc.Bl -column "PP, LP, P" description 26492395e9cSLionel Sambuc.It Sx B Ta boldface font 26592395e9cSLionel Sambuc.It Sx I Ta italic font 26692395e9cSLionel Sambuc.It Sx R Ta roman (default) font 26792395e9cSLionel Sambuc.It Sx SB Ta small boldface font 26892395e9cSLionel Sambuc.It Sx SM Ta small roman font 26992395e9cSLionel Sambuc.It Sx BI Ta alternate between boldface and italic fonts 27092395e9cSLionel Sambuc.It Sx BR Ta alternate between boldface and roman fonts 27192395e9cSLionel Sambuc.It Sx IB Ta alternate between italic and boldface fonts 27292395e9cSLionel Sambuc.It Sx IR Ta alternate between italic and roman fonts 27392395e9cSLionel Sambuc.It Sx RB Ta alternate between roman and boldface fonts 27492395e9cSLionel Sambuc.It Sx RI Ta alternate between roman and italic fonts 27592395e9cSLionel Sambuc.El 27692395e9cSLionel Sambuc.Sh MACRO REFERENCE 277d65f6f70SBen GrasThis section is a canonical reference to all macros, arranged 278d65f6f70SBen Grasalphabetically. 279d65f6f70SBen GrasFor the scoping of individual macros, see 280d65f6f70SBen Gras.Sx MACRO SYNTAX . 281d65f6f70SBen Gras.Ss \&AT 282d65f6f70SBen GrasSets the volume for the footer for compatibility with man pages from 283d65f6f70SBen Gras.Tn AT&T UNIX 284d65f6f70SBen Grasreleases. 285d65f6f70SBen GrasThe optional arguments specify which release it is from. 286d65f6f70SBen Gras.Ss \&B 287d65f6f70SBen GrasText is rendered in bold face. 288d65f6f70SBen Gras.Pp 289d65f6f70SBen GrasSee also 290d65f6f70SBen Gras.Sx \&I 291d65f6f70SBen Grasand 292d65f6f70SBen Gras.Sx \&R . 293d65f6f70SBen Gras.Ss \&BI 294d65f6f70SBen GrasText is rendered alternately in bold face and italic. 295d65f6f70SBen GrasThus, 296d65f6f70SBen Gras.Sq .BI this word and that 297d65f6f70SBen Grascauses 298d65f6f70SBen Gras.Sq this 299d65f6f70SBen Grasand 300d65f6f70SBen Gras.Sq and 301d65f6f70SBen Grasto render in bold face, while 302d65f6f70SBen Gras.Sq word 303d65f6f70SBen Grasand 304d65f6f70SBen Gras.Sq that 305d65f6f70SBen Grasrender in italics. 306d65f6f70SBen GrasWhitespace between arguments is omitted in output. 307d65f6f70SBen Gras.Pp 308d65f6f70SBen GrasExamples: 309d65f6f70SBen Gras.Pp 310d65f6f70SBen Gras.Dl \&.BI bold italic bold italic 311d65f6f70SBen Gras.Pp 312d65f6f70SBen GrasThe output of this example will be emboldened 313d65f6f70SBen Gras.Dq bold 314d65f6f70SBen Grasand italicised 315d65f6f70SBen Gras.Dq italic , 316d65f6f70SBen Graswith spaces stripped between arguments. 317d65f6f70SBen Gras.Pp 318d65f6f70SBen GrasSee also 319d65f6f70SBen Gras.Sx \&IB , 320d65f6f70SBen Gras.Sx \&BR , 321d65f6f70SBen Gras.Sx \&RB , 322d65f6f70SBen Gras.Sx \&RI , 323d65f6f70SBen Grasand 324d65f6f70SBen Gras.Sx \&IR . 325d65f6f70SBen Gras.Ss \&BR 326d65f6f70SBen GrasText is rendered alternately in bold face and roman (the default font). 327d65f6f70SBen GrasWhitespace between arguments is omitted in output. 328d65f6f70SBen Gras.Pp 329d65f6f70SBen GrasSee 330d65f6f70SBen Gras.Sx \&BI 331d65f6f70SBen Grasfor an equivalent example. 332d65f6f70SBen Gras.Pp 333d65f6f70SBen GrasSee also 334d65f6f70SBen Gras.Sx \&BI , 335d65f6f70SBen Gras.Sx \&IB , 336d65f6f70SBen Gras.Sx \&RB , 337d65f6f70SBen Gras.Sx \&RI , 338d65f6f70SBen Grasand 339d65f6f70SBen Gras.Sx \&IR . 340d65f6f70SBen Gras.Ss \&DT 341d65f6f70SBen GrasHas no effect. 342d65f6f70SBen GrasIncluded for compatibility. 343*0a6a1f1dSLionel Sambuc.Ss \&EE 344*0a6a1f1dSLionel SambucThis is a non-standard GNU extension, included only for compatibility. 345*0a6a1f1dSLionel SambucIn 346*0a6a1f1dSLionel Sambuc.Xr mandoc 1 , 347*0a6a1f1dSLionel Sambucit does the same as 348*0a6a1f1dSLionel Sambuc.Sx \&fi . 349*0a6a1f1dSLionel Sambuc.Ss \&EX 350*0a6a1f1dSLionel SambucThis is a non-standard GNU extension, included only for compatibility. 351*0a6a1f1dSLionel SambucIn 352*0a6a1f1dSLionel Sambuc.Xr mandoc 1 , 353*0a6a1f1dSLionel Sambucit does the same as 354*0a6a1f1dSLionel Sambuc.Sx \&nf . 355d65f6f70SBen Gras.Ss \&HP 356d65f6f70SBen GrasBegin a paragraph whose initial output line is left-justified, but 357d65f6f70SBen Grassubsequent output lines are indented, with the following syntax: 358d65f6f70SBen Gras.Bd -filled -offset indent 359d65f6f70SBen Gras.Pf \. Sx \&HP 360d65f6f70SBen Gras.Op Cm width 361d65f6f70SBen Gras.Ed 362d65f6f70SBen Gras.Pp 363d65f6f70SBen GrasThe 364d65f6f70SBen Gras.Cm width 365*0a6a1f1dSLionel Sambucargument is a 366*0a6a1f1dSLionel Sambuc.Xr roff 7 367*0a6a1f1dSLionel Sambucscaling width. 368d65f6f70SBen GrasIf specified, it's saved for later paragraph left-margins; if unspecified, the 369d65f6f70SBen Grassaved or default width is used. 370d65f6f70SBen Gras.Pp 371d65f6f70SBen GrasSee also 372d65f6f70SBen Gras.Sx \&IP , 373d65f6f70SBen Gras.Sx \&LP , 374d65f6f70SBen Gras.Sx \&P , 375d65f6f70SBen Gras.Sx \&PP , 376d65f6f70SBen Grasand 377d65f6f70SBen Gras.Sx \&TP . 378d65f6f70SBen Gras.Ss \&I 379d65f6f70SBen GrasText is rendered in italics. 380d65f6f70SBen Gras.Pp 381d65f6f70SBen GrasSee also 382d65f6f70SBen Gras.Sx \&B 383d65f6f70SBen Grasand 384d65f6f70SBen Gras.Sx \&R . 385d65f6f70SBen Gras.Ss \&IB 386d65f6f70SBen GrasText is rendered alternately in italics and bold face. 387d65f6f70SBen GrasWhitespace between arguments is omitted in output. 388d65f6f70SBen Gras.Pp 389d65f6f70SBen GrasSee 390d65f6f70SBen Gras.Sx \&BI 391d65f6f70SBen Grasfor an equivalent example. 392d65f6f70SBen Gras.Pp 393d65f6f70SBen GrasSee also 394d65f6f70SBen Gras.Sx \&BI , 395d65f6f70SBen Gras.Sx \&BR , 396d65f6f70SBen Gras.Sx \&RB , 397d65f6f70SBen Gras.Sx \&RI , 398d65f6f70SBen Grasand 399d65f6f70SBen Gras.Sx \&IR . 400d65f6f70SBen Gras.Ss \&IP 401d65f6f70SBen GrasBegin an indented paragraph with the following syntax: 402d65f6f70SBen Gras.Bd -filled -offset indent 403d65f6f70SBen Gras.Pf \. Sx \&IP 404d65f6f70SBen Gras.Op Cm head Op Cm width 405d65f6f70SBen Gras.Ed 406d65f6f70SBen Gras.Pp 407d65f6f70SBen GrasThe 408d65f6f70SBen Gras.Cm width 409*0a6a1f1dSLionel Sambucargument is a 410*0a6a1f1dSLionel Sambuc.Xr roff 7 411*0a6a1f1dSLionel Sambucscaling width defining the left margin. 412d65f6f70SBen GrasIt's saved for later paragraph left-margins; if unspecified, the saved or 413d65f6f70SBen Grasdefault width is used. 414d65f6f70SBen Gras.Pp 415d65f6f70SBen GrasThe 416d65f6f70SBen Gras.Cm head 417d65f6f70SBen Grasargument is used as a leading term, flushed to the left margin. 418d65f6f70SBen GrasThis is useful for bulleted paragraphs and so on. 419d65f6f70SBen Gras.Pp 420d65f6f70SBen GrasSee also 421d65f6f70SBen Gras.Sx \&HP , 422d65f6f70SBen Gras.Sx \&LP , 423d65f6f70SBen Gras.Sx \&P , 424d65f6f70SBen Gras.Sx \&PP , 425d65f6f70SBen Grasand 426d65f6f70SBen Gras.Sx \&TP . 427d65f6f70SBen Gras.Ss \&IR 428d65f6f70SBen GrasText is rendered alternately in italics and roman (the default font). 429d65f6f70SBen GrasWhitespace between arguments is omitted in output. 430d65f6f70SBen Gras.Pp 431d65f6f70SBen GrasSee 432d65f6f70SBen Gras.Sx \&BI 433d65f6f70SBen Grasfor an equivalent example. 434d65f6f70SBen Gras.Pp 435d65f6f70SBen GrasSee also 436d65f6f70SBen Gras.Sx \&BI , 437d65f6f70SBen Gras.Sx \&IB , 438d65f6f70SBen Gras.Sx \&BR , 439d65f6f70SBen Gras.Sx \&RB , 440d65f6f70SBen Grasand 441d65f6f70SBen Gras.Sx \&RI . 442d65f6f70SBen Gras.Ss \&LP 443d65f6f70SBen GrasBegin an undecorated paragraph. 444d65f6f70SBen GrasThe scope of a paragraph is closed by a subsequent paragraph, 445d65f6f70SBen Grassub-section, section, or end of file. 446d65f6f70SBen GrasThe saved paragraph left-margin width is reset to the default. 447d65f6f70SBen Gras.Pp 448d65f6f70SBen GrasSee also 449d65f6f70SBen Gras.Sx \&HP , 450d65f6f70SBen Gras.Sx \&IP , 451d65f6f70SBen Gras.Sx \&P , 452d65f6f70SBen Gras.Sx \&PP , 453d65f6f70SBen Grasand 454d65f6f70SBen Gras.Sx \&TP . 45592395e9cSLionel Sambuc.Ss \&OP 45692395e9cSLionel SambucOptional command-line argument. 457*0a6a1f1dSLionel SambucThis is a non-standard GNU extension, included only for compatibility. 458*0a6a1f1dSLionel SambucIt has the following syntax: 45992395e9cSLionel Sambuc.Bd -filled -offset indent 46092395e9cSLionel Sambuc.Pf \. Sx \&OP 46192395e9cSLionel Sambuc.Cm key Op Cm value 46292395e9cSLionel Sambuc.Ed 46392395e9cSLionel Sambuc.Pp 46492395e9cSLionel SambucThe 46592395e9cSLionel Sambuc.Cm key 46692395e9cSLionel Sambucis usually a command-line flag and 46792395e9cSLionel Sambuc.Cm value 46892395e9cSLionel Sambucits argument. 469d65f6f70SBen Gras.Ss \&P 470d65f6f70SBen GrasSynonym for 471d65f6f70SBen Gras.Sx \&LP . 472d65f6f70SBen Gras.Pp 473d65f6f70SBen GrasSee also 474d65f6f70SBen Gras.Sx \&HP , 475d65f6f70SBen Gras.Sx \&IP , 476d65f6f70SBen Gras.Sx \&LP , 477d65f6f70SBen Gras.Sx \&PP , 478d65f6f70SBen Grasand 479d65f6f70SBen Gras.Sx \&TP . 480*0a6a1f1dSLionel Sambuc.Ss \&PD 481*0a6a1f1dSLionel SambucSpecify the vertical space to be inserted before each new paragraph. 482*0a6a1f1dSLionel Sambuc.br 483*0a6a1f1dSLionel SambucThe syntax is as follows: 484*0a6a1f1dSLionel Sambuc.Bd -filled -offset indent 485*0a6a1f1dSLionel Sambuc.Pf \. Sx \&PD 486*0a6a1f1dSLionel Sambuc.Op Cm height 487*0a6a1f1dSLionel Sambuc.Ed 488*0a6a1f1dSLionel Sambuc.Pp 489*0a6a1f1dSLionel SambucThe 490*0a6a1f1dSLionel Sambuc.Cm height 491*0a6a1f1dSLionel Sambucargument is a 492*0a6a1f1dSLionel Sambuc.Xr roff 7 493*0a6a1f1dSLionel Sambucscaling width. 494*0a6a1f1dSLionel SambucIt defaults to 495*0a6a1f1dSLionel Sambuc.Cm 1v . 496*0a6a1f1dSLionel SambucIf the unit is omitted, 497*0a6a1f1dSLionel Sambuc.Cm v 498*0a6a1f1dSLionel Sambucis assumed. 499*0a6a1f1dSLionel Sambuc.Pp 500*0a6a1f1dSLionel SambucThis macro affects the spacing before any subsequent instances of 501*0a6a1f1dSLionel Sambuc.Sx \&HP , 502*0a6a1f1dSLionel Sambuc.Sx \&IP , 503*0a6a1f1dSLionel Sambuc.Sx \&LP , 504*0a6a1f1dSLionel Sambuc.Sx \&P , 505*0a6a1f1dSLionel Sambuc.Sx \&PP , 506*0a6a1f1dSLionel Sambuc.Sx \&SH , 507*0a6a1f1dSLionel Sambuc.Sx \&SS , 508*0a6a1f1dSLionel Sambucand 509*0a6a1f1dSLionel Sambuc.Sx \&TP . 510d65f6f70SBen Gras.Ss \&PP 511d65f6f70SBen GrasSynonym for 512d65f6f70SBen Gras.Sx \&LP . 513d65f6f70SBen Gras.Pp 514d65f6f70SBen GrasSee also 515d65f6f70SBen Gras.Sx \&HP , 516d65f6f70SBen Gras.Sx \&IP , 517d65f6f70SBen Gras.Sx \&LP , 518d65f6f70SBen Gras.Sx \&P , 519d65f6f70SBen Grasand 520d65f6f70SBen Gras.Sx \&TP . 521d65f6f70SBen Gras.Ss \&R 522d65f6f70SBen GrasText is rendered in roman (the default font). 523d65f6f70SBen Gras.Pp 524d65f6f70SBen GrasSee also 525d65f6f70SBen Gras.Sx \&I 526d65f6f70SBen Grasand 527d65f6f70SBen Gras.Sx \&B . 528d65f6f70SBen Gras.Ss \&RB 529d65f6f70SBen GrasText is rendered alternately in roman (the default font) and bold face. 530d65f6f70SBen GrasWhitespace between arguments is omitted in output. 531d65f6f70SBen Gras.Pp 532d65f6f70SBen GrasSee 533d65f6f70SBen Gras.Sx \&BI 534d65f6f70SBen Grasfor an equivalent example. 535d65f6f70SBen Gras.Pp 536d65f6f70SBen GrasSee also 537d65f6f70SBen Gras.Sx \&BI , 538d65f6f70SBen Gras.Sx \&IB , 539d65f6f70SBen Gras.Sx \&BR , 540d65f6f70SBen Gras.Sx \&RI , 541d65f6f70SBen Grasand 542d65f6f70SBen Gras.Sx \&IR . 543d65f6f70SBen Gras.Ss \&RE 544d65f6f70SBen GrasExplicitly close out the scope of a prior 545d65f6f70SBen Gras.Sx \&RS . 54692395e9cSLionel SambucThe default left margin is restored to the state of the original 54792395e9cSLionel Sambuc.Sx \&RS 54892395e9cSLionel Sambucinvocation. 549d65f6f70SBen Gras.Ss \&RI 550d65f6f70SBen GrasText is rendered alternately in roman (the default font) and italics. 551d65f6f70SBen GrasWhitespace between arguments is omitted in output. 552d65f6f70SBen Gras.Pp 553d65f6f70SBen GrasSee 554d65f6f70SBen Gras.Sx \&BI 555d65f6f70SBen Grasfor an equivalent example. 556d65f6f70SBen Gras.Pp 557d65f6f70SBen GrasSee also 558d65f6f70SBen Gras.Sx \&BI , 559d65f6f70SBen Gras.Sx \&IB , 560d65f6f70SBen Gras.Sx \&BR , 561d65f6f70SBen Gras.Sx \&RB , 562d65f6f70SBen Grasand 563d65f6f70SBen Gras.Sx \&IR . 564d65f6f70SBen Gras.Ss \&RS 56592395e9cSLionel SambucTemporarily reset the default left margin. 566d65f6f70SBen GrasThis has the following syntax: 567d65f6f70SBen Gras.Bd -filled -offset indent 56892395e9cSLionel Sambuc.Pf \. Sx \&RS 569d65f6f70SBen Gras.Op Cm width 570d65f6f70SBen Gras.Ed 571d65f6f70SBen Gras.Pp 572d65f6f70SBen GrasThe 573d65f6f70SBen Gras.Cm width 574*0a6a1f1dSLionel Sambucargument is a 575*0a6a1f1dSLionel Sambuc.Xr roff 7 576*0a6a1f1dSLionel Sambucscaling width. 577d65f6f70SBen GrasIf not specified, the saved or default width is used. 57892395e9cSLionel Sambuc.Pp 57992395e9cSLionel SambucSee also 58092395e9cSLionel Sambuc.Sx \&RE . 581d65f6f70SBen Gras.Ss \&SB 582d65f6f70SBen GrasText is rendered in small size (one point smaller than the default font) 583d65f6f70SBen Grasbold face. 584d65f6f70SBen Gras.Ss \&SH 585d65f6f70SBen GrasBegin a section. 586d65f6f70SBen GrasThe scope of a section is only closed by another section or the end of 587d65f6f70SBen Grasfile. 588d65f6f70SBen GrasThe paragraph left-margin width is reset to the default. 589d65f6f70SBen Gras.Ss \&SM 590d65f6f70SBen GrasText is rendered in small size (one point smaller than the default 591d65f6f70SBen Grasfont). 592d65f6f70SBen Gras.Ss \&SS 593d65f6f70SBen GrasBegin a sub-section. 594d65f6f70SBen GrasThe scope of a sub-section is closed by a subsequent sub-section, 595d65f6f70SBen Grassection, or end of file. 596d65f6f70SBen GrasThe paragraph left-margin width is reset to the default. 597d65f6f70SBen Gras.Ss \&TH 598d65f6f70SBen GrasSets the title of the manual page with the following syntax: 599d65f6f70SBen Gras.Bd -filled -offset indent 600d65f6f70SBen Gras.Pf \. Sx \&TH 60192395e9cSLionel Sambuc.Ar title section date 60292395e9cSLionel Sambuc.Op Ar source Op Ar volume 603d65f6f70SBen Gras.Ed 604d65f6f70SBen Gras.Pp 60592395e9cSLionel SambucConventionally, the document 60692395e9cSLionel Sambuc.Ar title 60792395e9cSLionel Sambucis given in all caps. 60892395e9cSLionel SambucThe recommended 60992395e9cSLionel Sambuc.Ar date 61092395e9cSLionel Sambucformat is 61192395e9cSLionel Sambuc.Sy YYYY-MM-DD 61292395e9cSLionel Sambucas specified in the ISO-8601 standard; 61392395e9cSLionel Sambucif the argument does not conform, it is printed verbatim. 61492395e9cSLionel SambucIf the 61592395e9cSLionel Sambuc.Ar date 61692395e9cSLionel Sambucis empty or not specified, the current date is used. 61792395e9cSLionel SambucThe optional 61892395e9cSLionel Sambuc.Ar source 619d65f6f70SBen Grasstring specifies the organisation providing the utility. 620d65f6f70SBen GrasThe 62192395e9cSLionel Sambuc.Ar volume 622d65f6f70SBen Grasstring replaces the default rendered volume, which is dictated by the 623d65f6f70SBen Grasmanual section. 624d65f6f70SBen Gras.Pp 625d65f6f70SBen GrasExamples: 626d65f6f70SBen Gras.Pp 627d65f6f70SBen Gras.Dl \&.TH CVS 5 "1992-02-12" GNU 628d65f6f70SBen Gras.Ss \&TP 629d65f6f70SBen GrasBegin a paragraph where the head, if exceeding the indentation width, is 630d65f6f70SBen Grasfollowed by a newline; if not, the body follows on the same line after a 631d65f6f70SBen Grasbuffer to the indentation width. 632d65f6f70SBen GrasSubsequent output lines are indented. 633d65f6f70SBen GrasThe syntax is as follows: 634d65f6f70SBen Gras.Bd -filled -offset indent 635d65f6f70SBen Gras.Pf \. Sx \&TP 636d65f6f70SBen Gras.Op Cm width 637d65f6f70SBen Gras.Ed 638d65f6f70SBen Gras.Pp 639d65f6f70SBen GrasThe 640d65f6f70SBen Gras.Cm width 641*0a6a1f1dSLionel Sambucargument is a 642*0a6a1f1dSLionel Sambuc.Xr roff 7 643*0a6a1f1dSLionel Sambucscaling width. 644d65f6f70SBen GrasIf specified, it's saved for later paragraph left-margins; if 645d65f6f70SBen Grasunspecified, the saved or default width is used. 646d65f6f70SBen Gras.Pp 647d65f6f70SBen GrasSee also 648d65f6f70SBen Gras.Sx \&HP , 649d65f6f70SBen Gras.Sx \&IP , 650d65f6f70SBen Gras.Sx \&LP , 651d65f6f70SBen Gras.Sx \&P , 652d65f6f70SBen Grasand 653d65f6f70SBen Gras.Sx \&PP . 654d65f6f70SBen Gras.Ss \&UC 655d65f6f70SBen GrasSets the volume for the footer for compatibility with man pages from 656*0a6a1f1dSLionel Sambuc.Bx 657*0a6a1f1dSLionel Sambucreleases. 658d65f6f70SBen GrasThe optional first argument specifies which release it is from. 659*0a6a1f1dSLionel Sambuc.Ss \&UE 660*0a6a1f1dSLionel SambucEnd a uniform resource identifier block. 661*0a6a1f1dSLionel SambucThis is a non-standard GNU extension, included only for compatibility. 662*0a6a1f1dSLionel SambucSee 663*0a6a1f1dSLionel Sambuc.Sx \&UE . 664*0a6a1f1dSLionel Sambuc.Ss \&UR 665*0a6a1f1dSLionel SambucBegin a uniform resource identifier block. 666*0a6a1f1dSLionel SambucThis is a non-standard GNU extension, included only for compatibility. 667*0a6a1f1dSLionel SambucIt has the following syntax: 668*0a6a1f1dSLionel Sambuc.Bd -literal -offset indent 669*0a6a1f1dSLionel Sambuc.Pf \. Sx \&UR Ar uri 670*0a6a1f1dSLionel Sambuclink description to be shown 671*0a6a1f1dSLionel Sambuc.Pf \. Sx UE 672*0a6a1f1dSLionel Sambuc.Ed 673d65f6f70SBen Gras.Ss \&br 674d65f6f70SBen GrasBreaks the current line. 675d65f6f70SBen GrasConsecutive invocations have no further effect. 676d65f6f70SBen Gras.Pp 677d65f6f70SBen GrasSee also 678d65f6f70SBen Gras.Sx \&sp . 679d65f6f70SBen Gras.Ss \&fi 680d65f6f70SBen GrasEnd literal mode begun by 681d65f6f70SBen Gras.Sx \&nf . 682d65f6f70SBen Gras.Ss \&ft 683d65f6f70SBen GrasChange the current font mode. 684d65f6f70SBen GrasSee 685d65f6f70SBen Gras.Sx Text Decoration 686d65f6f70SBen Grasfor a listing of available font modes. 687d65f6f70SBen Gras.Ss \&in 688d65f6f70SBen GrasIndent relative to the current indentation: 689d65f6f70SBen Gras.Pp 690d65f6f70SBen Gras.D1 Pf \. Sx \&in Op Cm width 691d65f6f70SBen Gras.Pp 692d65f6f70SBen GrasIf 693d65f6f70SBen Gras.Cm width 694d65f6f70SBen Grasis signed, the new offset is relative. 695d65f6f70SBen GrasOtherwise, it is absolute. 696d65f6f70SBen GrasThis value is reset upon the next paragraph, section, or sub-section. 697d65f6f70SBen Gras.Ss \&na 698d65f6f70SBen GrasDon't align to the right margin. 699d65f6f70SBen Gras.Ss \&nf 700d65f6f70SBen GrasBegin literal mode: all subsequent free-form lines have their end of 701d65f6f70SBen Grasline boundaries preserved. 702d65f6f70SBen GrasMay be ended by 703d65f6f70SBen Gras.Sx \&fi . 70492395e9cSLionel SambucLiteral mode is implicitly ended by 70592395e9cSLionel Sambuc.Sx \&SH 70692395e9cSLionel Sambucor 70792395e9cSLionel Sambuc.Sx \&SS . 708d65f6f70SBen Gras.Ss \&sp 709d65f6f70SBen GrasInsert vertical spaces into output with the following syntax: 710d65f6f70SBen Gras.Bd -filled -offset indent 711d65f6f70SBen Gras.Pf \. Sx \&sp 712d65f6f70SBen Gras.Op Cm height 713d65f6f70SBen Gras.Ed 714d65f6f70SBen Gras.Pp 715*0a6a1f1dSLionel SambucThe 716d65f6f70SBen Gras.Cm height 717*0a6a1f1dSLionel Sambucargument is a scaling width as described in 718*0a6a1f1dSLionel Sambuc.Xr roff 7 . 719d65f6f70SBen GrasIf 0, this is equivalent to the 720d65f6f70SBen Gras.Sx \&br 721d65f6f70SBen Grasmacro. 722d65f6f70SBen GrasDefaults to 1, if unspecified. 723d65f6f70SBen Gras.Pp 724d65f6f70SBen GrasSee also 725d65f6f70SBen Gras.Sx \&br . 72692395e9cSLionel Sambuc.Sh MACRO SYNTAX 72792395e9cSLionel SambucThe 72892395e9cSLionel Sambuc.Nm 72992395e9cSLionel Sambucmacros are classified by scope: line scope or block scope. 73092395e9cSLionel SambucLine macros are only scoped to the current line (and, in some 73192395e9cSLionel Sambucsituations, the subsequent line). 73292395e9cSLionel SambucBlock macros are scoped to the current line and subsequent lines until 73392395e9cSLionel Sambucclosed by another block macro. 73492395e9cSLionel Sambuc.Ss Line Macros 73592395e9cSLionel SambucLine macros are generally scoped to the current line, with the body 73692395e9cSLionel Sambucconsisting of zero or more arguments. 73792395e9cSLionel SambucIf a macro is scoped to the next line and the line arguments are empty, 73892395e9cSLionel Sambucthe next line, which must be text, is used instead. 73992395e9cSLionel SambucThus: 74092395e9cSLionel Sambuc.Bd -literal -offset indent 74192395e9cSLionel Sambuc\&.I 74292395e9cSLionel Sambucfoo 74392395e9cSLionel Sambuc.Ed 74492395e9cSLionel Sambuc.Pp 74592395e9cSLionel Sambucis equivalent to 74692395e9cSLionel Sambuc.Sq \&.I foo . 74792395e9cSLionel SambucIf next-line macros are invoked consecutively, only the last is used. 74892395e9cSLionel SambucIf a next-line macro is followed by a non-next-line macro, an error is 74992395e9cSLionel Sambucraised, except for 75092395e9cSLionel Sambuc.Sx \&br , 75192395e9cSLionel Sambuc.Sx \&sp , 75292395e9cSLionel Sambucand 75392395e9cSLionel Sambuc.Sx \&na . 75492395e9cSLionel Sambuc.Pp 75592395e9cSLionel SambucThe syntax is as follows: 75692395e9cSLionel Sambuc.Bd -literal -offset indent 75792395e9cSLionel Sambuc\&.YO \(lBbody...\(rB 75892395e9cSLionel Sambuc\(lBbody...\(rB 75992395e9cSLionel Sambuc.Ed 76092395e9cSLionel Sambuc.Bl -column "MacroX" "ArgumentsX" "ScopeXXXXX" "CompatX" -offset indent 76192395e9cSLionel Sambuc.It Em Macro Ta Em Arguments Ta Em Scope Ta Em Notes 76292395e9cSLionel Sambuc.It Sx \&AT Ta <=1 Ta current Ta \& 76392395e9cSLionel Sambuc.It Sx \&B Ta n Ta next-line Ta \& 76492395e9cSLionel Sambuc.It Sx \&BI Ta n Ta current Ta \& 76592395e9cSLionel Sambuc.It Sx \&BR Ta n Ta current Ta \& 76692395e9cSLionel Sambuc.It Sx \&DT Ta 0 Ta current Ta \& 767*0a6a1f1dSLionel Sambuc.It Sx \&EE Ta 0 Ta current Ta compat 768*0a6a1f1dSLionel Sambuc.It Sx \&EX Ta 0 Ta current Ta compat 76992395e9cSLionel Sambuc.It Sx \&I Ta n Ta next-line Ta \& 77092395e9cSLionel Sambuc.It Sx \&IB Ta n Ta current Ta \& 77192395e9cSLionel Sambuc.It Sx \&IR Ta n Ta current Ta \& 77292395e9cSLionel Sambuc.It Sx \&OP Ta 0, 1 Ta current Ta compat 773*0a6a1f1dSLionel Sambuc.It Sx \&PD Ta 1 Ta current Ta \& 77492395e9cSLionel Sambuc.It Sx \&R Ta n Ta next-line Ta \& 77592395e9cSLionel Sambuc.It Sx \&RB Ta n Ta current Ta \& 77692395e9cSLionel Sambuc.It Sx \&RI Ta n Ta current Ta \& 77792395e9cSLionel Sambuc.It Sx \&SB Ta n Ta next-line Ta \& 77892395e9cSLionel Sambuc.It Sx \&SM Ta n Ta next-line Ta \& 77992395e9cSLionel Sambuc.It Sx \&TH Ta >1, <6 Ta current Ta \& 78092395e9cSLionel Sambuc.It Sx \&UC Ta <=1 Ta current Ta \& 78192395e9cSLionel Sambuc.It Sx \&br Ta 0 Ta current Ta compat 78292395e9cSLionel Sambuc.It Sx \&fi Ta 0 Ta current Ta compat 78392395e9cSLionel Sambuc.It Sx \&ft Ta 1 Ta current Ta compat 78492395e9cSLionel Sambuc.It Sx \&in Ta 1 Ta current Ta compat 78592395e9cSLionel Sambuc.It Sx \&na Ta 0 Ta current Ta compat 78692395e9cSLionel Sambuc.It Sx \&nf Ta 0 Ta current Ta compat 78792395e9cSLionel Sambuc.It Sx \&sp Ta 1 Ta current Ta compat 78892395e9cSLionel Sambuc.El 78992395e9cSLionel Sambuc.Pp 79092395e9cSLionel SambucMacros marked as 79192395e9cSLionel Sambuc.Qq compat 79292395e9cSLionel Sambucare included for compatibility with the significant corpus of existing 79392395e9cSLionel Sambucmanuals that mix dialects of roff. 79492395e9cSLionel SambucThese macros should not be used for portable 79592395e9cSLionel Sambuc.Nm 79692395e9cSLionel Sambucmanuals. 79792395e9cSLionel Sambuc.Ss Block Macros 79892395e9cSLionel SambucBlock macros comprise a head and body. 79992395e9cSLionel SambucAs with in-line macros, the head is scoped to the current line and, in 80092395e9cSLionel Sambucone circumstance, the next line (the next-line stipulations as in 80192395e9cSLionel Sambuc.Sx Line Macros 80292395e9cSLionel Sambucapply here as well). 80392395e9cSLionel Sambuc.Pp 80492395e9cSLionel SambucThe syntax is as follows: 80592395e9cSLionel Sambuc.Bd -literal -offset indent 80692395e9cSLionel Sambuc\&.YO \(lBhead...\(rB 80792395e9cSLionel Sambuc\(lBhead...\(rB 80892395e9cSLionel Sambuc\(lBbody...\(rB 80992395e9cSLionel Sambuc.Ed 81092395e9cSLionel Sambuc.Pp 81192395e9cSLionel SambucThe closure of body scope may be to the section, where a macro is closed 81292395e9cSLionel Sambucby 81392395e9cSLionel Sambuc.Sx \&SH ; 81492395e9cSLionel Sambucsub-section, closed by a section or 81592395e9cSLionel Sambuc.Sx \&SS ; 81692395e9cSLionel Sambucpart, closed by a section, sub-section, or 81792395e9cSLionel Sambuc.Sx \&RE ; 81892395e9cSLionel Sambucor paragraph, closed by a section, sub-section, part, 81992395e9cSLionel Sambuc.Sx \&HP , 82092395e9cSLionel Sambuc.Sx \&IP , 82192395e9cSLionel Sambuc.Sx \&LP , 82292395e9cSLionel Sambuc.Sx \&P , 82392395e9cSLionel Sambuc.Sx \&PP , 82492395e9cSLionel Sambucor 82592395e9cSLionel Sambuc.Sx \&TP . 82692395e9cSLionel SambucNo closure refers to an explicit block closing macro. 82792395e9cSLionel Sambuc.Pp 82892395e9cSLionel SambucAs a rule, block macros may not be nested; thus, calling a block macro 82992395e9cSLionel Sambucwhile another block macro scope is open, and the open scope is not 83092395e9cSLionel Sambucimplicitly closed, is syntactically incorrect. 83192395e9cSLionel Sambuc.Bl -column "MacroX" "ArgumentsX" "Head ScopeX" "sub-sectionX" "compatX" -offset indent 83292395e9cSLionel Sambuc.It Em Macro Ta Em Arguments Ta Em Head Scope Ta Em Body Scope Ta Em Notes 83392395e9cSLionel Sambuc.It Sx \&HP Ta <2 Ta current Ta paragraph Ta \& 83492395e9cSLionel Sambuc.It Sx \&IP Ta <3 Ta current Ta paragraph Ta \& 83592395e9cSLionel Sambuc.It Sx \&LP Ta 0 Ta current Ta paragraph Ta \& 83692395e9cSLionel Sambuc.It Sx \&P Ta 0 Ta current Ta paragraph Ta \& 83792395e9cSLionel Sambuc.It Sx \&PP Ta 0 Ta current Ta paragraph Ta \& 83892395e9cSLionel Sambuc.It Sx \&RE Ta 0 Ta current Ta none Ta compat 83992395e9cSLionel Sambuc.It Sx \&RS Ta 1 Ta current Ta part Ta compat 84092395e9cSLionel Sambuc.It Sx \&SH Ta >0 Ta next-line Ta section Ta \& 84192395e9cSLionel Sambuc.It Sx \&SS Ta >0 Ta next-line Ta sub-section Ta \& 84292395e9cSLionel Sambuc.It Sx \&TP Ta n Ta next-line Ta paragraph Ta \& 843*0a6a1f1dSLionel Sambuc.It Sx \&UE Ta 0 Ta current Ta none Ta compat 844*0a6a1f1dSLionel Sambuc.It Sx \&UR Ta 1 Ta current Ta part Ta compat 84592395e9cSLionel Sambuc.El 84692395e9cSLionel Sambuc.Pp 84792395e9cSLionel SambucMacros marked 84892395e9cSLionel Sambuc.Qq compat 84992395e9cSLionel Sambucare as mentioned in 85092395e9cSLionel Sambuc.Sx Line Macros . 85192395e9cSLionel Sambuc.Pp 85292395e9cSLionel SambucIf a block macro is next-line scoped, it may only be followed by in-line 85392395e9cSLionel Sambucmacros for decorating text. 85492395e9cSLionel Sambuc.Ss Font handling 85592395e9cSLionel SambucIn 85692395e9cSLionel Sambuc.Nm 85792395e9cSLionel Sambucdocuments, both 85892395e9cSLionel Sambuc.Sx Physical markup 85992395e9cSLionel Sambucmacros and 86092395e9cSLionel Sambuc.Xr roff 7 86192395e9cSLionel Sambuc.Ql \ef 86292395e9cSLionel Sambucfont escape sequences can be used to choose fonts. 86392395e9cSLionel SambucIn text lines, the effect of manual font selection by escape sequences 86492395e9cSLionel Sambuconly lasts until the next macro invocation; in macro lines, it only lasts 86592395e9cSLionel Sambucuntil the end of the macro scope. 86692395e9cSLionel SambucNote that macros like 86792395e9cSLionel Sambuc.Sx \&BR 86892395e9cSLionel Sambucopen and close a font scope for each argument. 869d65f6f70SBen Gras.Sh COMPATIBILITY 870d65f6f70SBen GrasThis section documents areas of questionable portability between 871d65f6f70SBen Grasimplementations of the 872d65f6f70SBen Gras.Nm 873d65f6f70SBen Graslanguage. 874d65f6f70SBen Gras.Pp 875d65f6f70SBen Gras.Bl -dash -compact 876d65f6f70SBen Gras.It 87792395e9cSLionel SambucDo not depend on 87892395e9cSLionel Sambuc.Sx \&SH 87992395e9cSLionel Sambucor 88092395e9cSLionel Sambuc.Sx \&SS 88192395e9cSLionel Sambucto close out a literal context opened with 88292395e9cSLionel Sambuc.Sx \&nf . 88392395e9cSLionel SambucThis behaviour may not be portable. 88492395e9cSLionel Sambuc.It 885d65f6f70SBen GrasIn quoted literals, GNU troff allowed pair-wise double-quotes to produce 886d65f6f70SBen Grasa standalone double-quote in formatted output. 887d65f6f70SBen GrasIt is not known whether this behaviour is exhibited by other formatters. 888d65f6f70SBen Gras.It 889d65f6f70SBen Grastroff suppresses a newline before 890d65f6f70SBen Gras.Sq \(aq 891d65f6f70SBen Grasmacro output; in mandoc, it is an alias for the standard 892d65f6f70SBen Gras.Sq \&. 893d65f6f70SBen Grascontrol character. 894d65f6f70SBen Gras.It 895d65f6f70SBen GrasThe 896d65f6f70SBen Gras.Sq \eh 897d65f6f70SBen Gras.Pq horizontal position , 898d65f6f70SBen Gras.Sq \ev 899d65f6f70SBen Gras.Pq vertical position , 900d65f6f70SBen Gras.Sq \em 901d65f6f70SBen Gras.Pq text colour , 902d65f6f70SBen Gras.Sq \eM 903d65f6f70SBen Gras.Pq text filling colour , 904d65f6f70SBen Gras.Sq \ez 905d65f6f70SBen Gras.Pq zero-length character , 906d65f6f70SBen Gras.Sq \ew 907d65f6f70SBen Gras.Pq string length , 908d65f6f70SBen Gras.Sq \ek 909d65f6f70SBen Gras.Pq horizontal position marker , 910d65f6f70SBen Gras.Sq \eo 911d65f6f70SBen Gras.Pq text overstrike , 912d65f6f70SBen Grasand 913d65f6f70SBen Gras.Sq \es 914d65f6f70SBen Gras.Pq text size 915d65f6f70SBen Grasescape sequences are all discarded in mandoc. 916d65f6f70SBen Gras.It 917d65f6f70SBen GrasThe 918d65f6f70SBen Gras.Sq \ef 919d65f6f70SBen Grasscaling unit is accepted by mandoc, but rendered as the default unit. 920d65f6f70SBen Gras.It 921d65f6f70SBen GrasThe 922d65f6f70SBen Gras.Sx \&sp 923d65f6f70SBen Grasmacro does not accept negative values in mandoc. 924d65f6f70SBen GrasIn GNU troff, this would result in strange behaviour. 92592395e9cSLionel Sambuc.It 92692395e9cSLionel SambucIn page header lines, GNU troff versions up to and including 1.21 92792395e9cSLionel Sambuconly print 92892395e9cSLionel Sambuc.Ar volume 92992395e9cSLionel Sambucnames explicitly specified in the 93092395e9cSLionel Sambuc.Sx \&TH 93192395e9cSLionel Sambucmacro; mandoc and newer groff print the default volume name 93292395e9cSLionel Sambuccorresponding to the 93392395e9cSLionel Sambuc.Ar section 93492395e9cSLionel Sambucnumber when no 93592395e9cSLionel Sambuc.Ar volume 93692395e9cSLionel Sambucis given, like in 93792395e9cSLionel Sambuc.Xr mdoc 7 . 938d65f6f70SBen Gras.El 93992395e9cSLionel Sambuc.Pp 94092395e9cSLionel SambucThe 94192395e9cSLionel Sambuc.Sx OP 94292395e9cSLionel Sambucmacro is part of the extended 94392395e9cSLionel Sambuc.Nm 94492395e9cSLionel Sambucmacro set, and may not be portable to non-GNU troff implementations. 945d65f6f70SBen Gras.Sh SEE ALSO 946d65f6f70SBen Gras.Xr man 1 , 947d65f6f70SBen Gras.Xr mandoc 1 , 94892395e9cSLionel Sambuc.Xr eqn 7 , 949d65f6f70SBen Gras.Xr mandoc_char 7 , 950d65f6f70SBen Gras.Xr mdoc 7 , 951d65f6f70SBen Gras.Xr roff 7 , 952d65f6f70SBen Gras.Xr tbl 7 953d65f6f70SBen Gras.Sh HISTORY 954d65f6f70SBen GrasThe 955d65f6f70SBen Gras.Nm 956d65f6f70SBen Graslanguage first appeared as a macro package for the roff typesetting 957d65f6f70SBen Grassystem in 958d65f6f70SBen Gras.At v7 . 959d65f6f70SBen GrasIt was later rewritten by James Clark as a macro package for groff. 96092395e9cSLionel SambucEric S. Raymond wrote the extended 96192395e9cSLionel Sambuc.Nm 96292395e9cSLionel Sambucmacros for groff in 2007. 963d65f6f70SBen GrasThe stand-alone implementation that is part of the 964d65f6f70SBen Gras.Xr mandoc 1 965d65f6f70SBen Grasutility written by Kristaps Dzonsons appeared in 966d65f6f70SBen Gras.Ox 4.6 . 967d65f6f70SBen Gras.Sh AUTHORS 968d65f6f70SBen GrasThis 969d65f6f70SBen Gras.Nm 970d65f6f70SBen Grasreference was written by 971*0a6a1f1dSLionel Sambuc.An Kristaps Dzonsons Aq Mt kristaps@bsd.lv . 972d65f6f70SBen Gras.Sh CAVEATS 973d65f6f70SBen GrasDo not use this language. 974d65f6f70SBen GrasUse 975d65f6f70SBen Gras.Xr mdoc 7 , 976d65f6f70SBen Grasinstead. 977