Command Section

GROFF_MAN(7)	       Miscellaneous Information Manual		  GROFF_MAN(7)

NAME
       groff_man - GNU roff macro package for formatting man pages

SYNOPSIS
       groff -man [option ...] [input-file ...]
       groff -m	man [option ...] [input-file ...]

DESCRIPTION
       The  man	 macro	package	 for  groff  is	 used  to produce manual pages
       ("man pages") like the one you are reading.  GNU	roff's	implementation
       was written by James Clark.

       This  document  presents	 the  macros thematically to aid learners; for
       those needing only a quick reference, the following  table  lists  them
       alphabetically, with cross-references to	appropriate subsections	below.

       Macro   Meaning			       Subsection
       -------------------------------------------------------------------
       .B      Bold			       Font style macros
       .BI     Bold, italic alternating	       Font style macros
       .BR     Bold, roman alternating	       Font style macros
       .EE     Example end		       Document	structure macros
       .EX     Example begin		       Document	structure macros
       .I      Italic			       Font style macros
       .IB     Italic, bold alternating	       Font style macros
       .IP     Indented	paragraph	       Paragraph macros
       .IR     Italic, roman alternating       Font style macros
       .LP     (Left) paragraph		       Paragraph macros
       .ME     Mail-to end		       Hyperlink and email macros
       .MT     Mail-to start		       Hyperlink and email macros
       .OP     (Command-line) option	       Command synopsis	macros
       .P      Paragraph		       Paragraph macros
       .PP     Paragraph		       Paragraph macros
       .RB     Roman, bold alternating	       Font style macros
       .RE     Relative-indent end	       Document	structure macros
       .RI     Roman, italic alternating       Font style macros
       .RS     Relative-indent start	       Document	structure macros
       .SB     Small bold		       Font style macros
       .SH     Section heading		       Document	structure macros
       .SM     Small			       Font style macros
       .SS     Subection heading	       Document	structure macros
       .SY     Synopsis	start		       Command synopsis	macros
       .TH     Title heading		       Document	structure macros
       .TP     Tagged paragraph		       Paragraph macros
       .TQ     Tagged paragraph	continuation   Paragraph macros
       .UE     URL end			       Hyperlink and email macros
       .UR     URL start		       Hyperlink and email macros
       .YS     Synopsis	end		       Command synopsis	macros

       Macros  whose use we discourage (.AT, .BT, .DT, .HP, .PD, .PT, and .UC)
       are described in	subsection "Deprecated features", below.

   Macro reference preliminaries
       Each macro is described in a tagged paragraph.  Closely related macros,
       such as .EX and .EE, are	grouped	together.

       Optional	 macro arguments are indicated by surrounding them with	square
       brackets.  If a macro accepts multiple arguments, arguments  containing
       whitespace  must	 be  double-quoted ("one two"),	to be interpreted cor-
       rectly.	Most macro arguments are strings that will be output as	 text;
       exceptions are noted.

       Bear in mind that groff is fundamentally	a programming system for type-
       setting.	 Consequently, the verb	"to set" is frequently used  below  in
       the sense "to typeset".

   Document structure macros
       The  highest  level of organization of a	man page is determined by this
       group of	macros.	 .TH (title heading) identifies	the document as	a  man
       page  and  defines  information	enabling its indexing by mandb(8) or a
       similar tool.  Sections (.SH), one of which is mandatory	 and  many  of
       which  are standardized,	facilitate quick location of relevant material
       by the reader and aid the man page writer to discuss all	essential  as-
       pects of	the topic.  Subsections	(.SS) are optional and permit sections
       that grow long to develop in a controlled way.  Many technical  discus-
       sions  require examples;	lengthy	ones, especially those reflecting mul-
       tiple lines of input to or output from the system, are usefully	brack-
       eted by .EX and .EE.  When none of the foregoing	meets a	structural de-
       mand, a section of the discussion can be	manually indented  within  .RS
       and .RE macros.

       .TH title section [footer-middle] [footer-outside] [header-middle]
	      Define  the  title  of  the man page as title and	the section as
	      section.	See man(1) for details on the section numbers and suf-
	      fixes  applicable	 to  your system.  title and section are posi-
	      tioned together at the left and right in the header  line	 (with
	      section  in parentheses immediately appended to title).  footer-
	      middle is	centered in the	footer line.  footer-outside is	 posi-
	      tioned  at  the  left in the footer line (or at the left on even
	      pages and	at the right on	odd pages if double-sided printing  is
	      active).	header-middle is centered in the header	line.  If sec-
	      tion is a	simple integer between 1 and 9 (inclusive), or is  ex-
	      actly "3p", there	is no need to specify header-middle; the macro
	      package will supply text for it.

	      For HTML output, headers and footers are completely suppressed.

	      Additionally, this macro starts a	new page; the page  number  is
	      reset  to	 1  (unless  the  -rC1	option is given	on the command
	      line).  This feature is intended only  for  formatting  multiple
	      man pages.

	      A	 man  page  should contain exactly one .TH call	at or near the
	      beginning	of the file, prior to any other	macro calls.

	      By convention, footer-middle is  the  most  recent  modification
	      date  of the man page source document, and footer-outside	is the
	      name and version or release of the project providing it.

       .SH [heading-text]
	      Set heading-text as a section heading flush left.	 The text fol-
	      lowing  .SH  up  to the end of the line, or the text on the next
	      input line if .SH	is given no arguments, is set in bold (or  the
	      font  specified  by the string register HF) slightly larger than
	      the base font size.  Additionally, the left margin and  indenta-
	      tion  affecting  subsequent text are reset to their default val-
	      ues.  Text on input lines	after heading-text is set as a	normal
	      paragraph	(.PP).

	      The  content  of	heading-text and ordering of sections has been
	      standardized by common practice, as has much of  the  layout  of
	      material	within sections.  For example, a section called	"Name"
	      or "NAME"	must exist, must be the	first section  after  the  .TH
	      call, and	must contain only a line of the	form
		     page-topic[, ...] \- summary-description
	      for  a man page to be properly indexed.  See man(7) for the con-
	      ventions prevailing on your system.

       .SS [subheading-text]
	      Set subheading-text as a subsection  heading  indented  (by  de-
	      fault) partway between a section heading and a normally-indented
	      paragraph	(.PP).	The text following .SS up to the  end  of  the
	      line,  or	the text on the	next input line	if .SS is given	no ar-
	      guments, is set in bold (or the font  specified  by  the	string
	      register HF) at the base font size.  Additionally, the left mar-
	      gin and indentation affecting subsequent text are	reset to their
	      default  values.	 Text  on input	lines after subheading-text is
	      set as a normal paragraph	(.PP).

       .EX
       .EE    Begin and	end example.  After .EX, filling and  hyphenation  are
	      disabled	and  a	constant-width	(monospaced) font is selected.
	      Calling .EE enables filling and restores the  previous  hyphena-
	      tion setting and font.

	      Example  regions are useful for formatting code, shell sessions,
	      and text file contents.

	      These macros are defined on many (but not	all) legacy Unix  sys-
	      tems  running  classic  troff.   To be certain your page will be
	      portable to those	 systems,  copy	 their	definitions  from  the
	      an-ext.tmac file of a groff installation.

       .RS [indent]
	      Move the left margin to the right	by the value indent, if	speci-
	      fied, and	by a default amount otherwise; see  subsection	"Hori-
	      zontal and vertical spacing" below.  Calls to .RS	can be nested;
	      each call	increments by 1	the indentation	 level	used  by  .RE.
	      The indentation level prior to any .RS calls is 1.

       .RE [level]
	      Move  the	 left margin back to that corresponding	to indentation
	      level level.  If no argument is given, move the left margin  one
	      level back.

   Paragraph macros
       A  typical  paragraph (.PP) is set at the current left margin, which by
       default is indented from	the left margin	of the output device.  In  man
       pages  and  other technical literature, definition lists	are frequently
       encountered; these can be set as	"tagged	 paragraphs"  (.TP  and	 .TQ),
       which have one or more leading tags followed by a paragraph that	has an
       additional left indent.	The indented paragraph (.IP) macro  is	useful
       to continue the indented	content	of a narrative started with .TP, or to
       present an itemized or ordered list.

       .LP
       .PP
       .P     Begin a new paragraph; these macros are synonymous.  They	 break
	      the  output line at the current position,	followed by a vertical
	      space downward by	a default amount (which	can be changed by  the
	      deprecated .PD macro).  The font size and	style are reset	to de-
	      faults; see subsection "Font style macros" below.	 Finally,  the
	      left margin and indentation are reset to default values.

       .TP [indent]
	      Set a tagged, indented paragraph.	 The input line	following this
	      macro, known as the tag, is printed at the current left  margin.
	      Subsequent  text	is  indented by	indent,	if specified, and by a
	      default amount otherwise;	see subsection "Horizontal and	verti-
	      cal spacing" below.

	      If  the  tag  is	not  as	wide as	the indentation, the paragraph
	      starts on	the same line as the tag, at the  applicable  indenta-
	      tion,  and continues on the following lines.  Otherwise, the de-
	      scriptive	part of	the paragraph begins on	the line following the
	      tag, entirely indented.  The line	containing the tag can include
	      a	macro call, for	instance to set	the tag	in bold	with .B.

	      .TP was used to write the	first paragraph	of this	description of
	      .TP, and .IP the subsequent ones.

       .TQ    Set  an  additional  tag	for  a paragraph tagged	with .TP.  The
	      pending output line is broken.  The tag on the input  line  fol-
	      lowing this macro	and subsequent lines are handled as with .TP.

	      This macro is not	defined	on legacy Unix systems running classic
	      troff.  To be certain your page will be portable to  those  sys-
	      tems,  copy  its definition from the an-ext.tmac file of a groff
	      installation.

	      The descriptions of .LP, .PP, and	.P above  were	written	 using
	      .TP and .TQ.

       .IP [tag] [indent]
	      Set an indented paragraph	with an	optional tag.  The tag and in-
	      dent arguments, if present, are handled as with  .TP,  with  the
	      exception	 that  the  tag	argument to .IP	cannot include a macro
	      call.

	      Two convenient use cases for .IP are

		     (1) to start a new	paragraph with the same	indentation as
			 the previous .IP or .TP paragraph, if no indent argu-
			 ment is given;	and

		     (2) to set	a paragraph with a short tag that is  not  se-
			 mantically  important,	such as	a bullet (-obtained
			 with the `\(bu' character escape--or list enumerator,
			 as seen in this very paragraph.

   Command synopsis macros
       Command	synopses  are  a  staple  of section 1 and 8 man pages.	 These
       macros aid you to construct one that has	the classical Unix appearance.
       Furthermore, some tools are able	to interpret these macros semantically
       and treat them appropriately for	localization and/or  presentation.   A
       command synopsis	is wrapped in .SY/.YS calls, with command-line options
       of some formats indicated by .OP.

       These macros are	not defined on legacy  Unix  systems  running  classic
       troff.  To be certain your page will be portable	to those systems, copy
       their definitions from the an-ext.tmac file of a	groff installation.

       .SY command
	      Begin synopsis.  Hyphenation is turned off.  The	command	 argu-
	      ment  is	set in bold.  The output line is filled	as normal, but
	      if a break is required, subsequent output	lines are indented  by
	      the width	of command plus	a space.

       .OP option-name [option-argument]
	      Indicate an optional command parameter called option-name, which
	      is set in	bold.  If the option takes an  argument,  specify  op-
	      tion-argument  using  a  noun,  abbreviation, or hyphenated noun
	      phrase.  If present, option-argument is preceded by a space  and
	      set  in italics.	Square brackets	(in roman) surround both argu-
	      ments.

       .YS    End synopsis.  Restore indentation and hyphenation  to  previous
	      values.

       Multiple	 .SY/.YS  blocks can be	specified, for instance	to distinguish
       differing modes of operation of a complex  command  like	 tar(1);  each
       will be separated by a paragraph	space.

       .SY  can	also be	repeated multiple times	before a closing .YS, which is
       useful to indicate synonymous ways of invoking a	particular mode	of op-
       eration.

       For example,

	      .SY groff
	      .OP \-abcegiklpstzCEGNRSUVXZ
	      .OP \-d cs
	      .OP \-f fam
	      .OP \-F dir
	      .OP \-I dir
	      .OP \-K arg
	      .OP \-L arg
	      .OP \-m name
	      .OP \-M dir
	      .OP \-n num
	      .OP \-o list
	      .OP \-P arg
	      .OP \-r cn
	      .OP \-T dev
	      .OP \-w name
	      .OP \-W name
	      .RI [ file
	      \&.\|.\|.\&]
	      .YS
	      .
	      .SY groff
	      .B \-h
	      .SY groff
	      .B \-\-help
	      .YS

       produces	the following output.

	      groff [-abcegiklpstzCEGNRSUVXZ] [-d cs] [-f fam] [-F dir]
		    [-I	dir] [-K arg] [-L arg] [-m name] [-M dir] [-n num]
		    [-o	list] [-P arg] [-r cn] [-T dev]	[-w name] [-W name]
		    [file ...]

	      groff -h
	      groff --help

       Several features	of the above example are of note.

           The empty	request	(.), which does	nothing, is used for  vertical
	      spacing  in the input file for readability by the	document main-
	      tainer.  Do not put empty	lines in a roff	source document.

           The command and option names are presented in bold  to  cue  the
	      user that	they should be input literally.

           Option  dashes are specified with	the `\-' escape	sequence; this
	      is an important practice to make them clearly visible and	to fa-
	      cilitate	cut-and-paste  from  the  rendered man page to a shell
	      prompt or	text file.

           Option arguments and command operands are	presented  in  italics
	      (underlined on some output devices, such as terminals and	emula-
	      tors), to	cue the	user that they must be replaced	with appropri-
	      ate text.

           Symbols  that  are  neither to be	typed literally	nor simply re-
	      placed appear in the roman style;	brackets surround optional ar-
	      guments, and an ellipsis indicates that the previous syntactical
	      element may be repeated arbitrarily.

	      Some  man	 pages	use  a	 brace-and-pipe	  notation   such   as
	      "{--diff|--compare}"  to	indicate  that one and only one	of the
	      `|'-separated items within the braces must be  input.   If  this
	      braced  construct	 is furthermore	surrounded by square brackets,
	      it means that at most one	of the items is	accepted.

	      Authors of man pages should note the use of the zero-width space
	      escape  sequence	`\&'  on both sides of the ellipsis; this is a
	      good practice to avoid surprises in the event the	ellipsis  gets
	      refilled	in  your  text editor.	See "Portability", below.  The
	      morbidly curious may consult groff(7) regarding the narrow-space
	      escape sequence `\|'.

   Hyperlink and email macros
       Email  addresses	 are  bracketed	 with  .MT/.ME and URL hyperlinks with
       .UR/.UE.

       These macros are	not defined on legacy  Unix  systems  running  classic
       troff.  To be certain your page will be portable	to those systems, copy
       their definitions from the an-ext.tmac file of a	groff installation.

       .MT address
       .ME [punctuation]
	      Identify address as an RFC 6068 addr-spec	for  a	"mailto:"  URI
	      with  the	 text between the two macro calls as the link text.  A
	      punctuation argument to .ME is placed at the  end	 of  the  link
	      text  without  intervening  space.  Note that address may	not be
	      visible in the output text, particularly if the man page is  be-
	      ing  viewed as HTML.  On a device	that is	not a browser, address
	      is set in	angle brackets after the link text and before punctua-
	      tion.

	      When rendered by groff to	a TTY or PostScript output device,

		     Contact
		     .MT fred.foonly@\:fubar.net
		     Fred Foonly
		     .ME
		     for more information.

	      displays	as:  "Contact  Fred Foonly <fred.foonly@fubar.net> for
	      more information.".

	      The use of `\:' to insert	hyphenless discretionary breaks	 is  a
	      groff extension and can be omitted.

       .UR URL
       .UE [punctuation]
	      Identify	URL as an RFC 3986 URI hyperlink with the text between
	      the two macro calls as the link text.  A punctuation argument to
	      .UE  is  placed  at the end of the link text without intervening
	      space.  Note that	URL may	not be visible	in  the	 output	 text,
	      particularly  if the man page is being viewed as HTML.  On a de-
	      vice that	is not a browser, URL is set in	angle  brackets	 after
	      the link text and	before punctuation.

	      When rendered by groff to	a TTY or PostScript output device,

		     The GNU Project of	the Free Software Foundation hosts the
		     .UR https://\:www.gnu.org/\:software/\:groff/
		     Groff home	page
		     .UE .

	      displays	as:  "The  GNU Project of the Free Software Foundation
	      hosts  the  Groff	  home	 page	<https://www.gnu.org/software/
	      groff/>.".

	      The  use	of `\:'	to insert hyphenless discretionary breaks is a
	      groff extension and can be omitted.

   Font	style macros
       The man macro package is	limited	in its font styling options,  offering
       only  bold  (.B), italic	(.I), and roman	(the default).	Italic text is
       usually set underscored instead on terminals and	other classical	nroff-
       style  output  devices.	 The  .SM  and .SB macros set text in roman or
       bold, respectively, at a	smaller	point size; these differ visually from
       regular-sized  roman  or	 bold text only	on troff-style output devices.
       The foregoing macros cause word breaks before  and  after  their	 argu-
       ments,  but it is often necessary to set	text in	different styles with-
       out intervening whitespace.  The	macros .BI, .BR, .IB,  .IR,  .RB,  and
       .RI,  where `B',	`I', and `R' indicate bold, italic, and	roman, respec-
       tively, set their  odd-	and  even-numbered  arguments  in  alternating
       styles, with no whitespace separating them.

       Because	font styles are	presentational rather than semantic, conflict-
       ing traditions have arisen regarding which font styles should  be  used
       to  mark	 file  or path names, environment variables, in-line literals,
       and even	man page cross-references.

       The default font	size and family	(for troff output devices) is 10-point
       Times.  The default style is roman.

       .B [text]
	      Set  text	in bold.  If the macro is given	no arguments, the text
	      of the next input	line is	set in bold.

	      Use bold for literal portions of syntax synopses,	 for  command-
	      line  options  in	 running text, and for literals	that are major
	      topics of	the subject under discussion; for example,  this  page
	      uses  bold for macro and register	names.	In .EX/.EE examples of
	      interactive I/O (such as a shell session), set  only  the	 user-
	      typed input in bold.

       .I [text]
	      Set  text	 in  italics.  If the macro is given no	arguments, the
	      text of the next input line is set in italics.

	      Use italics for file and path names, for environment  variables,
	      for  enumeration	or  preprocessor  constants in C, for variable
	      (user-determined)	portions of syntax synopses, for the first oc-
	      currence only of a technical concept being introduced, for names
	      of works of software (including commands and functions, but  ex-
	      cluding  names  of operating systems or their kernels), and any-
	      where a parameter	requiring replacement by the user  is  encoun-
	      tered.  An exception involves variable text in a context that is
	      already marked up	in italics, such as file or  path  names  with
	      variable	components;  in	 such  cases, follow the convention of
	      mathematical typography: set the file or path name in italics as
	      usual  (see .IR below), but use roman for	the variable part, and
	      italics again in running roman text when referring to the	 vari-
	      able material.

       .SM [text]
	      Set  text	 one point size	smaller	than the default size.	If the
	      macro is given no	arguments, the text of the next	input line  is
	      set smaller.

	      Note: nroff-style	output devices,	such as	terminals, will	render
	      text at the normal font size instead.  Do	not rely upon  .SM  to
	      communicate semantic information distinct	from using roman style
	      at the normal size; it will be hidden from  readers  using  such
	      devices.

       .SB [text]
	      Set  text	in bold, one point size	smaller	than the default size.
	      If the macro is given no arguments, the text of the  next	 input
	      line is set smaller and in bold.

	      Note: nroff-style	output devices,	such as	terminals, will	render
	      text in bold at the normal font size instead.  Do	not rely  upon
	      .SB to communicate semantic information distinct from using bold
	      style at the normal size;	it will	be hidden from	readers	 using
	      such devices.

       Note  what is not prescribed for	setting	in bold	or italics above: ele-
       ments of	"synopsis language" such as ellipses and brackets  around  op-
       tions; proper names and adjectives; titles of anything other than works
       of literature or	software; identifiers for standards documents or tech-
       nical   reports	 such	as  CSTR  #54,	RFC  1918,  Unicode  11.0,  or
       POSIX.1-2017; acronyms; and occurrences after the first of a  technical
       term  or	 piece	of  jargon.  Again, the	names of operating systems and
       their kernels are, by practically universal convention, set in roman.

       Be frugal with the use of italics for emphasis, and  particularly  with
       the use of bold.	 Brief runs of literal text, such as references	to in-
       dividual	characters or short strings, including section and  subsection
       headings	 of  man  pages,  are  suitable	objects	for quotation; see the
       `\(lq', `\(rq', `\(oq', and `\(cq' escapes in subsection	 "Portability"
       below.

       Unlike  the  above font style macros, the font alternation macros below
       accept only arguments on	the same line as the macro  call.   If	white-
       space  is  required within one of the arguments,	first consider whether
       the same	result could be	achieved with as much  clarity	by  using  the
       single-style  macros  on	separate input lines.  When it cannot, double-
       quote an	argument with one or more embedded space characters.   Setting
       all   three  different  styles  within  one  whitespace-delimited  word
       presents	challenges; it is possible with	the `\c' and/or	`\f'  escapes,
       but see subsection "Portability"	below for caveats.

       .BI bold-text italic-text ...
	      Set each argument	in bold	and italics, alternately.

		     .BI \-r name = n

       .BR bold-text roman-text	...
	      Set each argument	in bold	and roman, alternately.

		     Any such change becomes effective with the	first use of
		     .BR .NH ,
		     .I	after
		     the new alias is defined.

       .IB italic-text bold-text ...
	      Set each argument	in italics and bold, alternately.

		     All macro package files must be named
		     .IB name .tmac
		     to	fully use the
		     .I	tmac
		     mechanism.

       .IR italic-text roman-text ...
	      Set each argument	in italics and roman, alternately.

		     This is the first command of the
		     .IR prologue .

       .RB roman-text bold-text	...
	      Set each argument	in roman and bold, alternately.

		     Also, the statement
		     .RB \(oq "delim on" \(cq
		     is	not handled specially.

       .RI roman-text italic-text ...
	      Set each argument	in roman and italics, alternately.

		     .RI [ file
		     \&.\|.\|.\&]

   Horizontal and vertical spacing
       The  indent  argument accepted by .RS, .IP, .TP,	and the	deprecated .HP
       is a number plus	an optional scaling indicator.	If no scaling  indica-
       tor is given, the man package assumes `n'; that is, the width of	a let-
       ter "n" in the font current when	the macro is called.  See section "Nu-
       merical Expressions" in groff(7)	for further details.  An indent	speci-
       fied in a call to .IP, .TP, or the deprecated .HP  persists  until  (1)
       another	of these macros	is called with an explicit indent argument, or
       (2) .SH,	.SS, or	.PP or its synonyms is called; these clear the	indent
       entirely.

       Indents	set  by	 .RS  move the left margin and persist until .RS, .RE,
       .SH, or .SS is called.  The default indentation,	exhibited by  ordinary
       .PP  paragraphs not within an .RS/.RE relative indent, is 7.2n in troff
       mode and	7n in nroff mode.  The HTML output device is an	exception;  it
       ignores	indentation  completely.   This	same indentation is used again
       (additively) for	the defaults of	.IP, .TP, .RS, and the deprecated .HP.
       Section headings	(.SH) are set flush with the left margin of the	output
       device, and subsection headings (.SS) are indented 3n.

       Resist the temptation to	mock up	tabular	or  multi-column  output  with
       ASCII  tab characters or	the indentation	arguments to .IP, .TP, .RS, or
       the deprecated .HP; the result may not render comprehensibly on an out-
       put device you fail to check, or	which is developed in the future.  The
       table preprocessor tbl(1) can likely meet your needs.

       The following macros cause a line break with the	insertion of  vertical
       space:  .SH, .SS, .TP, .TQ, .PP (and its	synonyms), .IP,	and the	depre-
       cated .HP.  The default inter-section and  inter-paragraph  spacing  is
       1  line	in  nroff mode,	and 0.4v in troff mode.	 (The deprecated macro
       .PD can change this vertical spacing, but its use is discouraged.)  The
       macros  .RS,  .RE,  .EX,	and .EE	also cause a break but no insertion of
       vertical	space.

   Number registers
       Number registers	are described in section "Options" below.

   String registers
       The following strings are defined.

       \*R    expands to the character escape for the "registered sign"	glyph,
	      `\(rg', if available, and	"(Reg.)" otherwise.

       \*S    expands  to  an escape setting the font size to the document de-
	      fault.

       \*(HF  expands to the font identifier used to print headings  and  sub-
	      headings.	 The default is	`B'.

       \*(lq
       \*(rq  expand to	the character escapes for left and right double-quota-
	      tion marks, `\(lq' and `\(rq', respectively.

       \*(Tm  expands to the character escape for the "trade mark sign"	glyph,
	      `\(tm', if available, and	"(TM)" otherwise.

   Interaction with preprocessors
       When  a	preprocessor like tbl or eqn is	needed,	a hint can be given to
       the man page formatter by making	the first line of a man	page look like
       this:

	      '\" word

       Note that the line starts with an apostrophe ('), not a dot, and	that a
       single space character follows the double quote.	 The word consists  of
       one  letter  for	 each needed preprocessor: `e' for eqn,	`r' for	refer,
       and `t' for tbl.	 Modern	implementations	of the man  program  interpret
       this first line and automatically call the right	preprocessor(s).

       The  usual  tbl	and  eqn macros	for table and equation inclusion, .TS,
       .T&, .TE, .EQ, and .EN, may be used freely.  Note that nroff output de-
       vices are extremely limited in presentation of mathematical equations.

   Portability
       The two major syntactical categories of roff languages are requests and
       escapes.	 Since the man macros are implemented in terms	of  groff  re-
       quests and escapes, one can, in principle, supplement the functionality
       of man with these lower-level elements where necessary.

       Note, however, that using raw groff requests is	likely	to  make  your
       page  render  poorly on the class of viewers that transform it to HTML.
       Some requests make implicit assumptions about things like character and
       page  sizes  that  may  not  hold in an HTML environment; also, many of
       these viewers don't interpret the full groff vocabulary,	a problem that
       can lead	to portions of your text being silently	dropped.

       For  portability	 to  modern viewers, it	is best	to write your page en-
       tirely with the macros described	in this	 page  (except	for  the  ones
       identified as deprecated, which should be avoided).  The	macros we have
       described as extensions (.EX/.EE, .SY/.OP/.YS,  .UR/.UE,	 and  .MT/.ME)
       should  be  used	 with caution, as they may not yet be built in to some
       viewer that is important	to your	audience.  If in doubt,	copy  the  im-
       plementation into your page--after the .TH call and the "Name" section,
       to accommodate timid mandb implementations.

       Similar caveats apply to	escapes.  Some escape  sequences  are  however
       required	 for  correct typesetting even in man pages and	usually	do not
       cause portability problems:

       \"     Comment.	Everything after the double-quote to the  end  of  the
	      input  line  is  ignored.	  Whole-line  comments	are frequently
	      placed immediately after the empty request `.'.

       \newline
	      Join the next input line to the current one.  Except for the up-
	      date of the input	line counter (used for diagnostic messages and
	      related purposes), a series of lines ending in backslash-newline
	      is  transparent  to groff.  Use this escape to break excessively
	      input long lines for document maintenance.

       \~     Adjustable, non-breaking space character.	 Use  this  escape  to
	      prevent  a  break	 inside	 a short phrase	or between a numerical
	      quantity and its corresponding unit(s).

		     Before starting the motor,	set the	output speed to\~1.
		     There are 1,024\~bytes in 1\~kiB.
		     CSTR\~#8 documents	the B language.

       \&     Zero-width space.	 Append	to an input line to prevent an end-of-
	      sentence	punctuation sequence from being	recognized as such, or
	      insert at	the beginning of an input line to  prevent  a  dot  or
	      apostrophe from being interpreted	as the beginning of a roff re-
	      quest.

       \(aq   ASCII apostrophe.	 Use for syntax	elements of  programming  lan-
	      guages because some output devices might replace unescaped apos-
	      trophes with right single	quotation marks.

       \(oq   Opening single quotation mark.
       \(cq   Closing single quotation mark.

	      Use these	for paired directional single quotes, `like this'.

       \(dq   ASCII double-quote.  Sometimes needed after macro	calls to  pre-
	      vent  the	 interpretation	 of the	ASCII quotation	mark character
	      `"' as the beginning or end of a macro argument.

       \(lq   Left double quotation mark.
       \(rq   Right double quotation mark.

	      Use these	for paired directional double quotes, "like this".

       \(em   Em-dash.	Use for	an interruption	in a  sentence--such  as  this
	      one.

       \(en   En-dash.	Use to separate	the two	ends of	a range, in particular
	      between numbers, for example: the	digits 1-9.

       \(ga   ASCII grave accent.  Use for syntax elements of programming lan-
	      guages,  for  example  shell command substitutions, because some
	      output devices might replace unescaped grave accents  with  left
	      single quotation marks.

       \(ha   ASCII circumflex accent.	Use for	syntax elements	of programming
	      languages	because	some output devices  might  replace  unescaped
	      circumflex accents with non-ASCII	glyphs like the	Unicode	U+02C6
	      modifier letter circumflex.

       \(ti   ASCII tilde.  Use	for syntax elements of	programming  languages
	      because  some output devices might replace unescaped tildes with
	      non-ASCII	glyphs like the	Unicode	U+02DC small tilde.

       \-     Minus sign.  Also	use this to display syntax elements  that  re-
	      quire the	ASCII hyphen-minus character, for example command-line
	      options and C language operators.	 The unescaped `-' input char-
	      acter  is	 not appropriate for these cases because it may	render
	      as a hyphen on some output devices.

       \c     If this escape sequence occurs at	the end	of an input  line,  no
	      white  space  is	inserted  between the last glyph on it and the
	      first glyph resulting from the next input	line.  This  is	 occa-
	      sionally	useful when three different fonts are needed in	a sin-
	      gle word.

		     Normally, the final output	file should be named
		     .IB file .pdf\c
		     \&.

	      Note that	when using this	trick with the .BI or .RI macros,  you
	      will  need  to manually add an italic correction escape `\/' be-
	      fore the `\c' due	to way macros expand their arguments.

		     Files processed with
		     .B	groff \-mom
		     (or
		     .BI "\-m "	mom\/\c
		     ) produce PostScript output by default.

	      Alternatively, and perhaps with  better  portability,  the  `\f'
	      font  escape sequence can	be used; see below.  Using `\c'	to in-
	      clude the	output from more than one input	line  into  the	 next-
	      line  argument of	a .TP macro will render	incorrectly with groff
	      1.22.3, mandoc 1.14.1, older versions  of	 these	programs,  and
	      perhaps with some	other formatters.

       \e     Widely  used in man pages	to represent a backslash output	glyph.
	      It works reliably	as long	as the .ec request is not used,	 which
	      should never happen in man pages,	and it is slightly more	porta-
	      ble than the more	exact `\(rs' ("reverse	solidus")  escape  se-
	      quence.

       \fB, \fI, \fR, \fP
	      Switch to	bold, italic, roman, or	back to	the previous font, re-
	      spectively.  Either these	or `\c'	is needed when three different
	      fonts are	required in a single whitespace-delimited word.

		     .RB [ \-\-reference\-dictionary=\fI\,name\/\fP ]

		     .RB [ \-\-reference\-dictionary=\c
		     .IR name ]

	      Font escapes may be more portable	than `\c'.  As shown above, it
	      is up to you to account for italic  corrections  with  `\/'  and
	      `\,',  which  are	themselves groff extensions, if	desired	and if
	      supported	by your	implementation.

	      Note that	`\fP' reliably returns to the style in use immediately
	      preceding	 the previous `\f' escape only if no sectioning, para-
	      graph, or	font face macro	calls have intervened.

	      As long as only two fonts	are needed in any  single  whitespace-
	      delimited	 word, font alternation	macros like .BI	usually	result
	      in more readable source code than	`\f' escapes do.

       For maximum portability,	escape sequences and  special  characters  not
       listed above are	better avoided in man pages.

   Deprecated features
       Use of the following is discouraged.

       .AT [system [release]]
	      Alter  the  footer  for  use with	AT&T man pages,	overriding any
	      definition of the	footer-outside argument	to  .TH.   This	 macro
	      exists only for compatibility; don't use it.

	      The first	argument system	can be:

		     3	    7th	edition	(default)

		     4	    System III

		     5	    System V

	      The  optional second argument release specifies the release num-
	      ber, such	as in "System V	Release	3".

       .BT    Set the page footer.  Redefine this macro	to get control of  the
	      footer.

       .DT    Set  tabs	 every	0.5 inches.  Since this	macro is always	called
	      during a .TH macro, it makes sense to call it only  if  the  tab
	      positions	have been changed.

	      Use  of  this presentation-level macro is	deprecated.  It	trans-
	      lates poorly to HTML, under which	exact whitespace  control  and
	      tabbing  are  not	 readily available.  Thus, information or dis-
	      tinctions	that you use .DT to express are	likely to be lost.  If
	      you  feel	 tempted to use	it, you	should probably	be composing a
	      table using tbl(1) markup	instead.

       .HP [indent]
	      Set up a paragraph with a	hanging	left indentation.  The	indent
	      argument,	if present, is handled as with .TP.

	      Use of this presentation-level macro is deprecated.  While it is
	      universally portable to legacy Unix systems, a hanging  indenta-
	      tion  cannot  be	expressed naturally under HTML,	and many HTML-
	      based manual viewers simply interpret it as a starter for	a nor-
	      mal  paragraph.	Thus, any information or distinction you tried
	      to express with the indentation may be lost.

       .PD [vertical-space]
	      Define the vertical space	between	paragraphs  or	(sub)sections.
	      The  optional  argument  vertical-space  specifies the amount of
	      space; the default scaling is `v').  Without  an	argument,  the
	      spacing  is reset	to its default value; see "Horizontal and ver-
	      tical spacing" above.

	      Use of this presentation-level macro is deprecated.   It	trans-
	      lates  poorly  to	HTML, under which exact	control	of inter-para-
	      graph spacing is not readily available.	Thus,  information  or
	      distinctions that	you use	.PD to express are likely to be	lost.

       .PT    Set  the page header.  Redefine this macro to get	control	of the
	      header.

       .UC [version]
	      Alter the	footer for use with BSD	man pages, overriding any def-
	      inition  of  the footer-outside argument to .TH.	This macro ex-
	      ists only	for compatibility; don't use it.

	      The argument version can be:

		     3	    3rd	Berkeley Distribution (default)

		     4	    4th	Berkeley Distribution

		     5	    4.2	Berkeley Distribution

		     6	    4.3	Berkeley Distribution

		     7	    4.4	Berkeley Distribution

   History
       According to its	own man(7) page, Version 7 Unix	(1979)	supported  all
       of  the macros described	in this	page not listed	as GNU extensions, ex-
       cept .P,	.SB, .SS, and the deprecated .AT, .BT, .PT, and	.UC.  The only
       string  registers  defined were R and S;	no number registers were docu-
       mented.

OPTIONS
       The following groff options set number registers	recognized and used by
       the man macro package.

       -rcR=1 Continuous  rendering.   Create a	single,	very long page instead
	      of multiple pages.  This is the  default	in  nroff  mode.   Use
	      -rcR=0 to	disable	it.

       -rC1   Number  pages  continuously.  If more than one man page is given
	      on the command line, number the pages continuously, rather  than
	      starting each at 1.

       -rD1   Enable  double-sided  printing.	Footers	for even and odd pages
	      are formatted differently; see the description of	.TH in	"Docu-
	      ment structure macros", above.

       -rFT=footer-distance
	      Set  distance  of	the footer, relative to	the bottom of the page
	      if negative or relative to the top if positive,  to  footer-dis-
	      tance.  The default is -0.5i.

       -rHY=flags
	      Set  hyphenation	flags.	 Permissible values of flags are docu-
	      mented in	section	"Hyphenation" of groff(7).  The	default	 is  4
	      if  continuous rendering is enabled (-rcR=1 above), and 6	other-
	      wise.

       -rIN=indent
	      Set the body text	indentation (for normal	paragraphs) to indent.
	      See  "Horizontal and vertical spacing" above for the default in-
	      dentation	value.	For nroff, indent should always	be an  integer
	      multiple of unit `n' to get consistent indentation.

       -rLL=line-length
	      Set  line	 length.  If this option is not	given, the line	length
	      is set to	respect	any value set by a prior ".ll" request	(which
	      must  be	in effect when the .TH macro is	invoked), if this dif-
	      fers from	the built-in default for the formatter;	 otherwise  it
	      defaults to 78n in nroff mode and	6.5i in	troff mode.

	      Note  that  the  use  of	a ".ll"	request	to initialize the line
	      length is	supported for backward compatibility  with  some  ver-
	      sions of the man program;	direct initialization of the LL	regis-
	      ter should always	be preferred to	the use	of such	a request.  In
	      particular,  note	that a ".ll 65n" request does not preserve the
	      normal nroff default line	length (the man	default	initialization
	      to  78n prevails), whereas the -rLL=65n option, or an equivalent
	      ".nr LL 65n" request preceding the use of	the  .TH  macro,  does
	      set a line length	of 65n.

       -rLT=title-length
	      Set title	length.	 If this option	is not given, the title	length
	      defaults to the line length.

       -rPn   Start enumeration	of pages at n rather than 1.

       -rSpoint-size
	      Use point-size as	the base document font size.  Acceptable  val-
	      ues are 10, 11, or 12.  See subsection "Font style macros" above
	      for the default.

       -rSN=subsection-indent
	      Set subsection indentation to subsection-indent.	See  "Horizon-
	      tal  and	vertical  spacing"  above  for the default indentation
	      value.

       -rXp   After page p, number pages as pa,	pb, pc,	and so forth.  For ex-
	      ample,  the  option -rX2 produces	the following page numbers: 1,
	      2, 2a, 2b, 2c, and so on.

FILES
       /usr/local/share/groff/1.22.4/tmac/man.tmac
       /usr/local/share/groff/1.22.4/tmac/an.tmac
	      These are	wrapper	files to call andoc.tmac.

       /usr/local/share/groff/1.22.4/tmac/andoc.tmac
	      This brief groff program detects whether the man or  mdoc	 macro
	      package  is being	used by	a document and loads the correct macro
	      definitions, taking advantage of the fact	that pages using  them
	      must  call  .TH or .Dd, respectively, as their first macro.  Be-
	      cause the	wrappers above load this file, a man program  or  user
	      typing,  for  example,  "groff -man page.1", need	not know which
	      package the file page.1 uses.  Multiple  man  pages,  in	either
	      format, can be handled.

       /usr/local/share/groff/1.22.4/tmac/an-old.tmac
	      Most  man	 macros	are contained in this file.  It	also loads the
	      GNU extensions from an-ext.tmac (see below).

       /usr/local/share/groff/1.22.4/tmac/an-ext.tmac
	      The extension macro definitions for .SY, .OP, .YS, .TQ, .EX/.EE,
	      .UR/.UE,	and .MT/.ME are	contained in this file,	which is writ-
	      ten in classic troff and permissively licensed--not  copylefted.
	      Man page authors concerned about portability to legacy Unix sys-
	      tems are encouraged to copy these	definitions into their	pages,
	      and  maintainers	of troff implementations or work-alike systems
	      that format man pages are	encouraged to re-use them.

	      Note that	the definitions	for these macros are  read  after  the
	      call  of	.TH, so	they will replace any macros of	the same names
	      preceding	it in your file.  If you use your own  implementations
	      of  these	macros,	they must be defined after calling .TH to have
	      any effect.

       /usr/local/share/groff/site-tmac/man.local
	      Local changes and	customizations should be put into this file.

NOTES
       Some tips on troubleshooting your man pages follow.

       .RS doesn't indent relative to	my indented paragraph
	      The .RS macro sets the indentation relative to the amount	 of  a
	      normal  paragraph	 (.PP and its synonyms).  The same default in-
	      dentation	amount is used for .RS,	.IP, .TP, and  the  deprecated
	      .HP.   If	 you  need  to start an	indent relative	to an indented
	      paragraph, call .RS repeatedly until an  acceptable  indentation
	      is  achieved,  or	 give  .RS  an indentation argument that is at
	      least as much as the paragraph's indentation amount relative  to
	      an  adjacent  .PP	paragraph.  See	"Horizontal and	vertical spac-
	      ing" above for the values.

       .RE doesn't reset the indent to the expected level
       arning: scale	indicator invalid in this context
       arning: number register 'an-saved-marginn' not defined
       arning: number register 'an-saved-prevailing-indentn'	not defined
	      The .RS macro takes an indentation amount	as  an	argument;  the
	      .RE  macro's  argument  is  a specific indentation level.	 .RE 1
	      goes to the level	before any .RS macros were called, .RE 2  goes
	      to  the  level of	the first .RS call you made, and so forth.  If
	      you desire symmetry in your macro	calls, simply  issue  one  .RE
	      without an argument for each .RS that precedes it.

	      After  calls  to the .SH and .SS sectioning macros, all relative
	      indents are cleared and calls to .RE have	no effect.

AUTHORS
       The GNU version of the man macro	package	was written by James Clark and
       contributors.  The extension macros were	written	by Werner Lemberg <wl@
       gnu.org>	and Eric S. Raymond <esr@thyrsus.com>.

       This document was originally written for	the Debian GNU/Linux system by
       Susan  G.  Kleinmann <sgk@debian.org>.  It was corrected	and updated by
       Werner Lemberg and G. Branden Robinson.	The extension macros were doc-
       umented by Eric S. Raymond; he also originated the portability section,
       to which	Ingo Schwarze contributed most of the material on  escape  se-
       quences.

SEE ALSO
       Groff:  The  GNU	Implementation of troff, by Trent A. Fisher and	Werner
       Lemberg,	is the main groff documentation.  You can browse  it  interac-
       tively with "info groff".

       tbl(1), eqn(1), and refer(1) are	preprocessors used with	man pages.

       man(1) describes	the man	page formatter on your system.

       _mdoc&section=7">groff_mdoc(7)  describes	the groff version of the BSD-originated	alter-
       native macro package for	man pages.

       groff(7), _char&section=7">groff_char(7),	man(7)

groff 1.22.4		       17 December 2018			  GROFF_MAN(7)

Command Section

man2web Home...