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