Command Section

GROFF_MM(7)	       Miscellaneous Information Manual		   GROFF_MM(7)

NAME
       groff_mm	- memorandum macros for	GNU roff

SYNOPSIS
       groff -mm [option ...] [file ...]
       groff -m	mm [option ...]	[file ...]

DESCRIPTION
       The  groff  mm  macros  are  intended  to be compatible with the	DWB mm
       macros with the following limitations:

             No Bell Labs localisms are implemented.

             The macros OK and	PM are not implemented.

             groff mm does not	support	cut marks.

       mm is intended to support easy localization.  Use mmse  as  an  example
       how  to	adapt  the  output  format  to a national standard.  Localized
       strings	   are	    collected	   in	   the	    file      /usr/lo-
       cal/share/groff/1.22.4/tmac/xx.tmac,  where  xx	denotes	the two-letter
       code for	the language,  as  defined  in	the  ISO  639  standard.   For
       Swedish,	this is	`sv.tmac' - not	`se', which is the ISO 3166 two-letter
       code for	the country (as	used for the output format localization).

       A file called locale or country_locale is read after the	initialization
       of  the	global	variables.   It	 is therefore possible to localize the
       macros with a different company name and	so on.

       In this manual, square brackets are used	to show	optional arguments.

   Number registers and	strings
       Many macros can be controlled by	number registers and strings.  A  num-
       ber register is assigned	with the nr command:

	      .nr XXX [+-]n [i]

       XXX  is	the  name  of the register, n is the value to be assigned, and
       i is the	increment value	for auto-increment.  n can have	a plus or  mi-
       nus  sign as a prefix if	an increment or	decrement of the current value
       is wanted.  (Auto-increment or auto-decrement occurs if the number reg-
       ister is	used with a plus or minus sign,	\n+[XXX] or \n-[XXX].)

       Strings are defined with	ds.

	      .ds YYY string

       The  string is assigned everything to the end of	the line, even blanks.
       Initial blanks in  string  should  be  prefixed	with  a	 double-quote.
       (Strings	are used in the	text as	\*[YYY].)

   Special formatting of number	registers
       A  number  register is printed with normal digits if no format has been
       given.  Set the format with af:

	      .af R c

       R is the	name of	the register, c	is the format.

	      Form   Sequence
	      1	     0,	1, 2, 3, ...

	      001    000, 001, 002, 003, ...
	      i	     0,	i, ii, iii, iv,	...
	      I	     0,	I, II, III, IV,	...
	      a	     0,	a, b, c, ..., z, aa, ab, ...
	      A	     0,	A, B, C, ..., Z, AA, AB, ...

   Fonts
       In mm, the fonts	(or rather, font styles) R (normal), I	(italic),  and
       B  (bold)  are  hardwired  to font positions 1, 2, and 3, respectively.
       Internally, font	positions are used for backwards compatibility.	  From
       a  practical point of view it doesn't make a big	difference - a differ-
       ent font	family can still be selected with a call to the	 .fam  request
       or  using  groff's  -f  command-line option.  On	the other hand,	if you
       want to replace just, say, font B, you have to replace the font at  po-
       sition 2	(with a	call to	`.fp 2 ...').

   Macros
       )E level	text
	      Add heading text text to the table of contents with level, which
	      is either	0 or in	the range 1 to 7.  See also .H.	 This macro is
	      used for customized tables of contents.

       1C [1] Begin  one-column	 processing.   A 1 as an argument disables the
	      page break.  Use wide footnotes, small footnotes	may  be	 over-
	      printed.

       2C     Begin  two-column	 processing.   Splits the page in two columns.
	      It is a special case of MC.  See also 1C.

       AE     Abstract end, see	AS.

       AF [name-of-firm]
	      Author's firm, should be called before AU, see also COVER.

       AL [type	[text-indent [1]]]
	      Start auto-increment list.  Items	are  numbered  beginning  with
	      one.  The	type argument controls the format of numbers.

		     Arg   Description
		     1	   Arabic (the default)
		     A	   Upper-case letters (A-Z)
		     a	   Lower-case letters (a-z)
		     I	   Upper-case roman
		     i	   Lower-case roman

	      text-indent  sets	the indentation	and overrides Li.  A third ar-
	      gument prohibits printing	of a blank line	before each item.

       APP name	text
	      Begin an appendix	with name name.	 Automatic  naming  occurs  if
	      name  is "".  The	appendices start with A	if automatic naming is
	      used.  A new page	is ejected, and	a header is also  produced  if
	      the  number variable Aph is non-zero.  This is the default.  The
	      appendix always appears in the `List of contents'	 with  correct
	      page numbers.  The name `APPENDIX' can be	changed	by setting the
	      string App to the	desired	text.  The string Apptxt contains  the
	      current appendix text.

       APPSK name pages	text
	      Same  as	.APP,  but  the	page number is incremented with	pages.
	      This is used when	diagrams or other non-formatted	documents  are
	      included as appendices.

       AS [arg [indent]]
	      Abstract	start.	Indentation is specified in `ens', but scaling
	      is  allowed.   Argument  arg  controls  where  the  abstract  is
	      printed.

	      Arg   Placement
	      0	    Abstract  is  printed  on page 1 and on the	cover sheet if
		    used in the	released-paper style (MT 4), otherwise	it  is
		    printed on page 1 without a	cover sheet.
	      1	    Abstract is	only printed on	the cover sheet	(MT 4 only).
	      2	    Abstract is	printed	only on	the cover sheet	(other than MT
		    4 only).  The cover	sheet is printed without  a  need  for
		    CS.

	      An  abstract  is	not printed at all in external letters (MT 5).
	      The indent parameter controls the	indentation of	both  margins,
	      otherwise	normal text indentation	is used.

       AST [title]
	      Abstract title.  Default is `ABSTRACT'.  Sets the	text above the
	      abstract text.

       AT title1 [title2 [...]]
	      Author's title.  AT must appear just after each AU.   The	 title
	      shows up after the name in the signature block.

       AU [name	[initials [loc [dept [ext [room	[arg [arg [arg]]]]]]]]]
	      Author  information.  Specifies the author of the	memo or	paper,
	      and is printed on	the cover sheet	and on other  similar  places.
	      AU  must	not appear before TL.  The author information can con-
	      tain initials, location, department, telephone  extension,  room
	      number or	name and up to three extra arguments.

       AV [name	[1]]
	      Approval	signature.   Generates an approval line	with place for
	      signature	and date.  The string `APPROVED:' can be changed  with
	      variable	Letapp;	it is replaced with an empty lin if there is a
	      second argument.	The string `Date' can be changed with variable
	      Letdate.

       AVL [name]
	      Letter signature.	 Generates a line with place for signature.

       B [bold-text [prev-font-text [bold [...]]]]
	      Begin boldface.  No limit	on the number of arguments.  All argu-
	      ments are	concatenated to	one word; the first, third and	so  on
	      is printed in boldface.

       B1     Begin  box (as the ms macro).  Draws a box around	the text.  The
	      text is indented one character, and  the	right  margin  is  one
	      character	shorter.

       B2     End box.	Finishes the box started with B1.

       BE     End bottom block,	see BS.

       BI [bold-text [italic-text [bold-text [...]]]]
	      Bold-italic.  No limit on	the number of arguments, see B.

       BL [text-indent [1]]
	      Start bullet list.  Initializes a	list with a bullet and a space
	      in the beginning of each list item (see LI).  text-indent	 over-
	      rides  the  default  indentation of the list items set by	number
	      register Pi.  A third argument prohibits	printing  of  a	 blank
	      line before each item.

       BR [bold-text [roman-text [bold-text [...]]]]
	      Bold-roman.  No limit on the number of arguments.

       BS     Bottom block start.  Begins the definition of a text block which
	      is printed at the	bottom of each page.  The block	ends with BE.

       BVL text-indent [mark-indent [1]]
	      Start of broken variable-item list.  Broken  variable-item  list
	      has  no fixed mark, it assumes that every	LI has a mark instead.
	      The text always begins at	the next line after the	 mark.	 text-
	      indent  sets  the	 indentation  to the text, and mark-indent the
	      distance from the	current	indentation to the mark.  A third  ar-
	      gument prohibits printing	of a blank line	before each item.

       COVER [arg]
	      Begin  a coversheet definition.  It is important that .COVER ap-
	      pears before any normal text.  This macro	uses arg to build  the
	      filename	/usr/local/share/groff/1.22.4/tmac/mm/arg.cov.	There-
	      fore it is possible to create unlimited types of	cover  sheets.
	      ms.cov  is supposed to look like the ms cover sheet.  .COVER re-
	      quires a .COVEND at the end of the cover definition.  Always use
	      this order of the	cover macros:

		     .COVER
		     .TL
		     .AF
		     .AU
		     .AT
		     .AS
		     .AE
		     .COVEND

	      However, only .TL	and .AU	are required.

       COVEND Finish  the  cover  description and print	the cover page.	 It is
	      defined in the cover file.

       DE     Display end.  Ends a block of text or display that  begins  with
	      DS or DF.

       DF [format [fill	[rindent]]]
	      Begin floating display (no nesting allowed).  A floating display
	      is saved in a queue and is printed in the	order  entered.	  For-
	      mat, fill, and rindent are the same as in	DS.  Floating displays
	      are controlled by	the two	number registers De and	Df.

	      De register

		     0	 Nothing special, this is the default.
		     1	 A page	eject occurs after each	printed	display,  giv-
			 ing  only  one	display	per page and no	text following
			 it.

	      Df register

		     0	 Displays are printed at the end of each section (when
			 section-page  numbering  is  active) or at the	end of
			 the document.
		     1	 A new display is printed on the current page if there
			 is  enough  space, otherwise it is printed at the end
			 of the	document.
		     2	 One display is	printed	at the top  of	each  page  or
			 column	(in multi-column mode).
		     3	 Print	one  display  if there is enough space for it,
			 otherwise it is printed at the	top of the  next  page
			 or column.

		     4	 Print	as  many displays as possible in a new page or
			 column.  A page break occurs between each display  if
			 De is not zero.
		     5	 Fill  the current page	with displays and the rest be-
			 ginning at a new page or column.  (This  is  the  de-
			 fault.)   A page break	occurs between each display if
			 De is not zero.

       DL [text-indent [1 [1]]]
	      Dash list	start.	Begins a list where each item is printed after
	      a	dash.  text-indent changes the default indentation of the list
	      items set	by number register Pi.	A second argument prevents  an
	      empty  line  between  each list item.  See LI.  A	third argument
	      prohibits	printing of a blank line before	each item.

       DS [format [fill	[rindent]]]
	      Static display start.  Begins collection of text until DE.   The
	      text  is	printed	together on the	same page, unless it is	longer
	      than the height of the page.  DS can be nested arbitrarily.

	      format

		     ""	    No indentation.
		     none   No indentation.
		     L	    No indentation.
		     I	    Indent text	with the value of number register Si.
		     C	    Center each	line.
		     CB	    Center the whole display as	a block.
		     R	    Right-adjust the lines.
		     RB	    Right-adjust the whole display as a	block.

	      The values `L', `I', `C',	and `CB' can also be specified as `0',
	      `1', `2',	and `3', respectively, for compatibility reasons.

	      fill

		     ""	    Line-filling turned	off.
		     none   Line-filling turned	off.
		     N	    Line-filling turned	off.
		     F	    Line-filling turned	on.

	      `N' and `F' can also be specified	as `0' and `1',	respectively.

	      By  default,  an empty line is printed before and	after the dis-
	      play.  Setting number register Ds	to 0 prevents  this.   rindent
	      shortens the line	length by that amount.

       EC [title [override [flag [refname]]]]
	      Equation title.  Sets a title for	an equation.  The override ar-
	      gument changes the numbering.

	      flag

		     none   override is	a prefix to the	number.
		     0	    override is	a prefix to the	number.
		     1	    override is	a suffix to the	number.
		     2	    override replaces the number.

	      EC uses the number register Ec as	a counter.  It is possible  to
	      use  .af to change the format of the number.  If number register
	      Of is 1, the format of title uses	a dash instead of a dot	 after
	      the number.

	      The  string  Le controls the title of the	List of	Equations; de-
	      fault is `LIST OF	EQUATIONS'.  The List  of  Equations  is  only
	      printed  if  number  register  Le	 is 1.	The default is 0.  The
	      string Liec contains the word `Equation',	which is  printed  be-
	      fore  the	 number.  If refname is	used, then the equation	number
	      is saved with .SETR, and can be retrieved	with `.GETST refname'.

	      Special handling of the title occurs if EC is used inside	DS/DE;
	      it is not	affected by the	format of DS.

       EF [arg]
	      Even-page	 footer,  printed just above the normal	page footer on
	      even pages.  See PF.

	      This macro defines string	EOPef.

       EH [arg]
	      Even-page	header,	printed	just below the normal page  header  on
	      even pages.  See PH.

	      This macro defines string	TPeh.

       EN     Equation end, see	EQ.

       EOP    End-of-page user-defined macro.  This macro is called instead of
	      the normal printing of the footer.  The macro is executed	 in  a
	      separate environment, without any	trap active.  See TP.

	      Strings available	to EOP

	      EOPf    argument of PF
	      EOPef   argument of EF
	      EOPof   argument of OF

       EPIC [-L] width height [name]
	      Draw  a box with the given width and height.  It also prints the
	      text name	or a default string if name is not specified.  This is
	      used  to	include	 external  pictures; just give the size	of the
	      picture.	-L left-adjusts	the picture; the default is to center.
	      See PIC.

       EQ [label]
	      Equation	start.	EQ/EN are the delimiters for equations written
	      for eqn(1).  EQ/EN must be inside	of a DS/DE pair, except	if  EQ
	      is used to set options for eqn only.  The	label argument appears
	      at the right margin of the equation, centered vertically	within
	      the DS/DE	block, unless number register Eq is 1.	Then the label
	      appears at the left margin.

	      If there are multiple EQ/EN blocks within	a single  DS/DE	 pair,
	      only the last equation label (if any) is printed.

       EX [title [override [flag [refname]]]]
	      Exhibit  title.	The arguments are the same as for EC.  EX uses
	      the number register Ex as	a counter.  The	string Lx controls the
	      title  of	 the  List of Exhibits;	default	is `LIST OF EXHIBITS'.
	      The List of Exhibits is only printed if number register Lx is 1,
	      which  is	 the  default.	The string Liex	contains the word `Ex-
	      hibit', which is printed before the number.  If refname is used,
	      the  exhibit  number  is	saved with .SETR, and can be retrieved
	      with `.GETST refname'.

	      Special handling of the title occurs if EX is used inside	DS/DE;
	      it is not	affected by the	format of DS.

       FC [closing]
	      Print  `Yours  very  truly,'  as a formal	closing	of a letter or
	      memorandum.  The argument	replaces the default string.  The  de-
	      fault is stored in string	variable Letfc.

       FD [arg [1]]
	      Footnote	default	 format.   Controls  the hyphenation (hyphen),
	      right margin justification (adjust), and indentation of footnote
	      text  (indent).	It  can	 also  change  the label justification
	      (ljust).

		     arg   hyphen   adjust   indent   ljust
		     0	   no	    yes	     yes      left
		     1	   yes	    yes	     yes      left
		     2	   no	    no	     yes      left
		     3	   yes	    no	     yes      left
		     4	   no	    yes	     no	      left
		     5	   yes	    yes	     no	      left
		     6	   no	    no	     no	      left
		     7	   yes	    no	     no	      left
		     8	   no	    yes	     yes      right
		     9	   yes	    yes	     yes      right
		     10	   no	    no	     yes      right
		     11	   yes	    no	     yes      right

	      An argument greater  than	 or  equal  to	11  is	considered  as
	      value 0.	Default	for mm is 10.

       FE     Footnote end.

       FG [title [override [flag [refname]]]]
	      Figure  title.   The  arguments are the same as for EC.  FG uses
	      the number register Fg as	a counter.  The	string Lf controls the
	      title of the List	of Figures; default is `LIST OF	FIGURES'.  The
	      List of Figures is only printed if  number  register  Lf	is  1,
	      which  is	 the default.  The string Lifg contains	the word `Fig-
	      ure', which is printed before the	number.	 If refname  is	 used,
	      then the figure number is	saved with .SETR, and can be retrieved
	      with `.GETST refname'.

	      Special handling of the title occurs if FG is used inside	DS/DE,
	      it is not	affected by the	format of DS.

       FS [label]
	      Footnote start.  The footnote is ended by	FE.  By	default, foot-
	      notes are	automatically numbered;	the  number  is	 available  in
	      string  F.   Just	 add  \*F in the text.	By adding label, it is
	      possible to have other number or names on	the footnotes.	 Foot-
	      notes  in	 displays  are	now possible.  An empty	line separates
	      footnotes; the height of the line	is controlled by number	regis-
	      ter Fs, default value is 1.

       GETHN refname [varname]
	      Include the header number	where the corresponding	`SETR refname'
	      was placed.  This	is displayed  as  `X.X.X.'  in	pass  1.   See
	      INITR.   If varname is used, GETHN sets the string variable var-
	      name to the header number.

       GETPN refname [varname]
	      Include the page number where the	corresponding  `SETR  refname'
	      was  placed.  This is displayed as `9999'	in pass	1.  See	INITR.
	      If varname is used, GETPN	sets the stringvariable	varname	to the
	      page number.

       GETR refname
	      Combine  GETHN  and  GETPN with the text `chapter' and `,	page'.
	      The string Qrf contains the text for the cross reference:

		     .ds Qrf See chapter \\*[Qrfh], page \\*[Qrfp].

	      Qrf may be changed to support other languages.  Strings Qrfh and
	      Qrfp are set by GETR and contain the page	and header number, re-
	      spectively.

       GETST refname [varname]
	      Include the string saved with  the  second  argument  to	.SETR.
	      This  is	a  dummy  string in pass 1.  If	varname	is used, GETST
	      sets it to the saved string.  See	INITR.

       H level [heading-text [heading-suffix]]
	      Numbered section heading.	 Section headers can have a level  be-
	      tween  1 and 14; level 1 is the top level.  The text is given in
	      heading-text, and	must be	surrounded by double quotes if it con-
	      tains spaces.  heading-suffix is added to	the header in the text
	      but not in the table of contents.	 This  is  normally  used  for
	      footnote	marks  and  similar things.  Don't use \*F in heading-
	      suffix, it doesn't work.	A manual label must be used, see FS.

	      A	call to	the paragraph macro P directly	after  H  is  ignored.
	      H	takes care of spacing and indentation.

	      Page ejection before heading

		     Number  register  Ej  controls  page  ejection before the
		     heading.  By default, a level-one heading gets two	 blank
		     lines  before it; higher levels only get one.  A new page
		     is	ejected	before each first-level	heading	if number reg-
		     ister Ej is 1.  All levels	below or equal the value of Ej
		     get a new page.  Default value for	Ej is 0.

	      Heading break level

		     A line break occurs after	the  heading  if  the  heading
		     level  is	less  or equal to number register Hb.  Default
		     value is 2.

	      Heading space level

		     A blank line is inserted after the	heading	if the heading
		     level  is	less  or equal to number register Hs.  Default
		     value is 2.

		     Text follows the heading on the same line if the level is
		     greater than both Hb and Hs.

	      Post-heading indent

		     Indentation  of  the text after the heading is controlled
		     by	number register	Hi.  Default value is 0.

		     Hi

		     0	 The text is left-justified.
		     1	 Indentation of	the text follows the value  of	number
			 register Pt , see P.
		     2	 The text is lined up with the first word of the head-
			 ing.

	      Centered section headings

		     All headings whose	level is equal or below	number	regis-
		     ter  Hc  and also less than or equal to Hb	or Hs are cen-
		     tered.

	      Font control of the heading

		     The font of each heading level is	controlled  by	string
		     HF.   It  contains	 a  font  number or font name for each
		     level.  Default value is

			    2 2	2 2 2 2	2 2 2 2	2 2 2 2

		     (all headings in italic).	This could also	be written as

			    I I	I I I I	I I I I	I I I I

		     Note that some other implementations use 3	3 2 2 2	2 2 as
		     the  default  value.   All	omitted	values are presumed to
		     have value	1.

	      Point size control

		     String HP controls	the point size of each heading,	in the
		     same  way	as HF controls the font.  A value of 0 selects
		     the default point size.  Default value is

			    0 0	0 0 0 0	0 0 0 0	0 0 0 0

		     Beware that only the point	size changes, not the vertical
		     size.  The	latter can be controlled by the	user-specified
		     macros HX and/or HZ.

	      Heading counters

		     Fourteen number registers named H1	up to H14 contain  the
		     counter  for  each	heading	level.	The values are printed
		     using Arabic numerals; this can be	changed	with the macro
		     HM	(see below).  All marks	are concatenated before	print-
		     ing.  To avoid this, set number register Ht to  1.	  This
		     only prints the current heading counter at	each heading.

	      Automatic	table of contents

		     All  headings whose level is equal	or below number	regis-
		     ter Cl are	saved to be printed in the table of  contents.
		     Default value is 2.

	      Special control of the heading, user-defined macros

		     The  following macros can be defined by the user to get a
		     finer control of vertical spacing,	fonts, or  other  fea-
		     tures.   Argument level is	the level-argument to H, but 0
		     for unnumbered headings (see HU).	Argument rlevel	is the
		     real  level;  it  is set to number	register Hu for	unnum-
		     bered headings.  Argument heading-text is the text	 argu-
		     ment to H and HU.

		     HX	level rlevel heading-text
			    This  macro	 is called just	before the printing of
			    the	heading.  The following	registers  are	avail-
			    able  for  HX.  Note that HX may alter }0, }2, and
			    ;3.

			    }0 (string)
				   Contains the	heading	mark plus  two	spaces
				   if rlevel is	non-zero, otherwise empty.

			    ;0 (register)
				   Contains the	position of the	text after the
				   heading.  0 means that the text should fol-
				   low	the  heading on	the same line, 1 means
				   that	a line break should occur  before  the
				   text,  and 2	means that a blank line	should
				   separate the	heading	and the	text.

			    }2 (string)
				   Contains two	spaces if register  ;0	is  0.
				   It is used to separate the heading from the
				   text.  The string is	empty if  ;0  is  non-
				   zero.

			    ;3 (register)
				   Contains  the  needed  space	in units after
				   the heading.	 Default is 2v.	 Can  be  used
				   to  change things like numbering (}0), ver-
				   tical spacing (}2), and  the	 needed	 space
				   after the heading.

		     HY	dlevel rlevel heading-text
			    This  macro	is called after	size and font calcula-
			    tions and might be used to change indentation.

		     HZ	dlevel rlevel heading-text
			    This macro is called after	the  printing  of  the
			    heading,  just  before H or	HU exits.  Can be used
			    to change the page header according	to the section
			    heading.

       HC [hyphenation-character]
	      Set  hyphenation	character.   Default value is `\%'.  Resets to
	      the default if called  without  argument.	  Hyphenation  can  be
	      turned  off  by setting number register Hy to 0 at the beginning
	      of the file.

       HM [arg1	[arg2 [... [arg14]]]]
	      Heading mark style.  Controls the	type of	marking	 for  printing
	      of the heading counters.	Default	is 1 for all levels.

	      Argument

	      1	     Arabic numerals.
	      0001   Arabic numerals with leading zeroes, one or more.
	      A	     upper-case	alphabetic
	      a	     lower-case	alphabetic
	      I	     upper-case	roman numerals
	      i	     lower-case	roman numerals
	      ""     Arabic numerals.

       HU heading-text
	      Unnumbered  section  header.   HU	behaves	like H at the level in
	      number register Hu.  See H.

       HX dlevel rlevel	heading-text
	      User-defined heading exit.   Called  just	 before	 printing  the
	      header.  See H.

       HY dlevel rlevel	heading-text
	      User-defined  heading  exit.   Called  just  before printing the
	      header.  See H.

       HZ dlevel rlevel	heading-text
	      User-defined heading  exit.   Called  just  after	 printing  the
	      header.  See H.

       I [italic-text [prev-font-text [italic-text [...]]]]
	      Italic.  Changes the font	to italic if called without arguments.
	      With one argument	it sets	the word in italic.   With  two	 argu-
	      ments it concatenates them and sets the first word in italic and
	      the second in the	previous font.	There is no limit on the  num-
	      ber of argument; all are concatenated.

       IA [addressee-name [title]]
	      Begin  specification of the addressee and	addressee's address in
	      letter style.  Several names can be specified with empty	IA/IE-
	      pairs, but only one address.  See	LT.

       IB [italic-text [bold-text [italic-text [...]]]]
	      Italic-bold.  Even arguments are printed in italic, odd in bold-
	      face.  See I.

       IE     End the address specification after IA.

       INITI type filename [macro]
	      Initialize the new index system and set the filename to  collect
	      index  lines in with IND.	 Argument type selects the type	of in-
	      dex: page	number,	header marks or	both.	The  default  is  page
	      numbers.

	      It  is  also  possible to	create a macro that is responsible for
	      formatting each row; just	add the	name of	the macro as  a	 third
	      argument.	  The  macro  is  then	called with the	index as argu-
	      ment(s).

	      type

	      N	  Page numbers
	      H	  Header marks
	      B	  Both page numbers and	header marks,  separated  with	a  tab
		  character.

       INITR filename
	      Initialize  the  cross  reference	 macros.  Cross	references are
	      written to stderr	and are	supposed to be	redirected  into  file
	      filename.qrf.   Requires	two passes with	groff; this is handled
	      by a separate program called mmroff(1).  This program exists be-
	      cause groff(1) by	default	deactivates the	unsafe operations that
	      are required by INITR.  The first	pass looks  for	 cross	refer-
	      ences, and the second one	includes them.	INITR can be used sev-
	      eral times, but it is only the first occurrence of INITR that is
	      active.

	      See also SETR, GETPN, and	GETHN.

       IND arg1	[arg2 [...]]
	      Write  a line in the index file selected by INITI	with all argu-
	      ments and	the page number	or header mark separated by tabs.

		     Examples

		     arg1\tpage	number
		     arg1\targ2\tpage number
		     arg1\theader mark
		     arg1\tpage	number\theader mark

       INDP   Print the	index by running the command specified by string vari-
	      able  Indcmd,  which has `sort -t\t' as the default value.  INDP
	      reads the	output from the	command	to form	the index, by  default
	      in two columns (this can be changed by defining TYIND).  The in-
	      dex is printed with string variable Index	as header, default  is
	      `INDEX'.	 One-column  processing	is reactivated after the list.
	      INDP calls the user-defined macros TXIND,	TYIND,	and  TZIND  if
	      defined.	 TXIND	is  called before printing the string `INDEX',
	      TYIND is called instead of printing `INDEX', and TZIND is	called
	      after  the  printing and should take care	of restoring to	normal
	      operation	again.

       ISODATE [0]
	      Change the predefined date string	in DT to ISO-format, this  is,
	      `YYYY-MM-DD'.   This  can	 also be done by adding	-rIso=1	on the
	      command line.  Reverts to	old date format	if argument is 0.

       IR [italic-text [roman-text [italic-text	[...]]]]
	      Italic-roman.  Even arguments are	printed	in italic, odd in  ro-
	      man.  See	I.

       LB text-indent mark-indent pad type [mark [LI-space [LB-space]]]
	      List-begin  macro.  This is the common macro used	for all	lists.
	      text-indent is the number	of spaces to indent the	text from  the
	      current indentation.

	      pad  and mark-indent control where to put	the mark.  The mark is
	      placed within the	mark area, and mark-indent sets	the number  of
	      spaces  before  this  area.   By default it is 0.	 The mark area
	      ends where the text begins.  The start of	the text is still con-
	      trolled by text-indent.

	      The mark is left-justified within	the mark area if pad is	0.  If
	      pad is greater than 0, mark-indent is ignored, and the  mark  is
	      placed  pad  spaces  before  the text.  This right-justifies the
	      mark.

	      If type is 0 the list either has a hanging  indentation  or,  if
	      argument mark is given, the string mark as a mark.

	      If type is greater than 0	automatic numbering occurs, using ara-
	      bic numbers if mark is empty.  mark can then be any of `1', `A',
	      `a', `I',	or `i'.

	      type selects one of six possible ways to display the mark.

	      type

		     1	 x.
		     2	 x)
		     3	 (x)
		     4	 [x]
		     5	 <x>
		     6	 {x}

	      Every  item  in the list gets LI-space number of blank lines be-
	      fore them.  Default is 1.

	      LB itself	prints LB-space	blank lines.  Default is 0.

       LC [list-level]
	      List-status clear.  Terminates all current active	lists down  to
	      list-level,  or 0	if no argument is given.  This is used by H to
	      clear any	active list.

       LE [1] List end.	 Terminates the	current	list.  LE outputs a blank line
	      if an argument is	given.

       LI [mark	[1|2]]
	      List  item preceding every item in a list.  Without argument, LI
	      prints the mark determined by the	current	list type.  By	giving
	      LI  one  argument,  it uses that as the mark instead.  Two argu-
	      ments to LI makes	mark a prefix to the current mark.   There  is
	      no  separating space between the prefix and the mark if the sec-
	      ond argument is `2' instead of `1'.  This	behaviour can also  be
	      achieved	by  setting  number  register  Limsp  to zero.	A zero
	      length mark makes	a hanging indentation instead.

	      A	blank line is printed before the list item by  default.	  This
	      behaviour	 can be	controlled by number register Ls.  Pre-spacing
	      occurs for each list level less than or equal  to	 Ls.   Default
	      value is 99.  There is no	nesting	limit.

	      The  indentation can be changed through number register Li.  De-
	      fault is 6.

	      All lists	begin with a list  initialization  macro,  LB.	 There
	      are,  however,  seven predefined list types to make lists	easier
	      to use.  They all	call LB	with different default values.

		     AL	   Automatically Incremented List
		     ML	   Marked List
		     VL	   Variable-Item List
		     BL	   Bullet List
		     DL	   Dash	List
		     RL	   Reference List
		     BVL   Broken Variable List.

	      These lists are described	at other places	in this	 manual.   See
	      also LB.

       LT [arg]
	      Format a letter in one of	four different styles depending	on the
	      argument.	 Also see section "Internals" below.

		     Arg   Style
		     BL	   Blocked.  Date line,	return address,	 writer's  ad-
			   dress and closing begins at the center of the line.
			   All other lines begin at the	left margin.
		     SB	   Semi-blocked.  Same as  blocked,  except  that  the
			   first line in every paragraph is indented five spa-
			   ces.
		     FB	   Full-blocked.  All lines begin at the left margin.
		     SP	   Simplified.	Almost the same	 as  the  full-blocked
			   style.  Subject and the writer's identification are
			   printed in all-capital.

       LO type [arg]
	      Specify options in letter	(see .LT).  This  is  a	 list  of  the
	      standard options:

		     CN	  Confidential notation.  Prints `CONFIDENTIAL'	on the
			  second line below the	date line.  Any	 argument  re-
			  places  `CONFIDENTIAL'.   See	 also  string variable
			  LetCN.
		     RN	  Reference notation.  Prints `In reference  to:'  and
			  the  argument	 two  lines  below the date line.  See
			  also string variable LetRN.
		     AT	  Attention.  Prints `ATTENTION:' and the argument be-
			  low  the  inside  address.  See also string variable
			  LetAT.
		     SA	  Salutation.  Prints 'To Whom It May Concern:'	or the
			  argument  if	it  was	 present.   The	 salutation is
			  printed two lines below  the	inside	address.   See
			  also string variable LetSA.
		     SJ	  Subject  line.   Prints the argument as subject pre-
			  fixed	with `SUBJECT:'	two lines below	the inside ad-
			  dress, except	in letter type `SP', where the subject
			  is printed in	all-capital without any	 prefix.   See
			  also string variable LetSJ.

       MC column-size [column-separation]
	      Begin  multiple  columns.	 Return	to normal with 1C.  MC creates
	      as many columns as the current line length permits.  column-size
	      is  the width of each column, and	column-separation is the space
	      between two columns.  Default separation is column-size/15.  See
	      also 1C.

       ML mark [text-indent [1]]
	      Marked  list  start.   The  mark argument	is printed before each
	      list item.  text-indent sets the indent  and  overrides  Li.   A
	      third  argument  prohibits  printing of a	blank line before each
	      item.

       MT [arg [addressee]]
	      Memorandum type.	The argument arg is  part  of  a  filename  in
	      /usr/local/share/groff/1.22.4/tmac/mm/*.MT.   Memorandum types 0
	      to 5 are supported, including type `string' (which  gets	inter-
	      nally  mapped  to	type 6).  addressee just sets a	variable, used
	      in the AT&T macros.

	      arg

		     0	 Normal	memorandum, no type printed.
		     1	 Memorandum with `MEMORANDUM FOR FILE' printed.
		     2	 Memorandum with `PROGRAMMER'S NOTES' printed.
		     3	 Memorandum with `ENGINEER'S NOTES' printed.
		     4	 Released paper	style.
		     5	 External letter style.

	      See also COVER/COVEND, a more flexible type of front page.

       MOVE y-pos [x-pos [line-length]]
	      Move to a	position, setting page	offset	to  x-pos.   If	 line-
	      length is	not given, the difference between current and new page
	      offset is	used.  Use PGFORM without arguments to return to  nor-
	      mal.

       MULB cw1	space1 [cw2 space2 [cw3	...]]
	      Begin  a	special	multi-column mode.  All	columns	widths must be
	      specified.  The space between  the  columns  must	 be  specified
	      also.  The last column does not need any space definition.  MULB
	      starts a diversion, and MULE ends	the diversion and  prints  the
	      columns.	The unit for the width and space arguments is `n', but
	      MULB accepts all normal unit specifications like	`c'  and  `i'.
	      MULB operates in a separate environment.

       MULN   Begin  the next column.  This is the only	way to switch the col-
	      umn.

       MULE   End the multi-column mode	and print the columns.

       nP [type]
	      Print numbered paragraph with header level two.  See .P.

       NCOL   Force printing to	the next column.  Don't	use this together with
	      the MUL* macros, see 2C.

       NS [arg [1]]
	      Print  different	types  of notations.  The argument selects be-
	      tween the	predefined type	of notations.  If the second  argument
	      is available, then the argument becomes the entire notation.  If
	      the argument doesn't select a predefined type, it	is printed  as
	      `Copy (arg) to'.	It is possible to add more standard notations,
	      see the string variables Letns and Letnsdef.

		     Arg    Notation
		     none   Copy To
		     ""	    Copy To
		     1	    Copy To (with att.)	to
		     2	    Copy To (without att.) to

		     3	    Att.
		     4	    Atts.
		     5	    Enc.
		     6	    Encs.
		     7	    Under separate cover
		     8	    Letter to
		     9	    Memorandum to
		     10	    Copy (with atts.) to
		     11	    Copy (without atts.) to
		     12	    Abstract Only to
		     13	    Complete Memorandum	to
		     14	    CC

       ND new-date
	      New date.	 Overrides the current date.  Date is not  printed  if
	      new-date is an empty string.

       OF [arg]
	      Odd-page	footer,	 a  line printed just above the	normal footer.
	      See EF and PF.

	      This macro defines string	EOPof.

       OH [arg]
	      Odd-page header, a line printed just below  the  normal  header.
	      See EH and PH.

	      This macro defines string	TPoh.

       OP     Make  sure  that	the following text is printed at the top of an
	      odd-numbered page.  Does not output an empty page	 if  currently
	      at the top of an odd page.

       P [type]
	      Begin new	paragraph.  P without argument produces	left-justified
	      text, even the first line	of the paragraph.  This	is the same as
	      setting type to 0.  If the argument is 1,	the first line of text
	      following	P is indented by the number of spaces in number	regis-
	      ter Pi, by default 5.

	      Instead  of  giving  an  argument	to P it	is possible to set the
	      paragraph	type in	number register	Pt.  Using 0 and 1 is the same
	      as adding	that value to P.  A value of 2 indents all paragraphs,
	      except after headings, lists, and	displays (this value can't  be
	      used as an argument to P itself).

	      The  space between two paragraphs	is controlled by number	regis-
	      ter Ps, and is 1 by default (one blank line).

       PGFORM [linelength [pagelength [pageoffset [1]]]]
	      Set line length, page length, and/or page	 offset.   This	 macro
	      can be used for special formatting, like letter heads and	other.
	      It is normally the first command in a file,  though  it  is  not
	      necessary.  PGFORM can be	used without arguments to reset	every-
	      thing after a MOVE call.	A line break is	done unless the	fourth
	      argument is given.  This can be used to avoid the	page number on
	      the first	page while setting new width and length.  (It seems as
	      if this macro sometimes doesn't work too well.  Use the command-
	      line arguments to	change line length, page length, and page off-
	      set instead.)

       PGNH   No  header  is printed on	the next page.	Used to	get rid	of the
	      header in	letters	or other special texts.	 This  macro  must  be
	      used  before  any	 text  to inhibit the page header on the first
	      page.

       PIC [-B]	[-L] [-C] [-R] [-I n] filename [width [height]]
	      Include a	PostScript file	in the document.  The macro depends on
	      mmroff(1)	 and INITR.  The arguments -L, -C, -R, and -I n	adjust
	      the picture or indent it.	 With no flag the picture is  adjusted
	      to the left.  Adding -B draws a box around the picture.  The op-
	      tional width and height can also be given	to resize the picture.

       PE     Picture end.  Ends a picture for pic(1).

       PF [arg]
	      Page footer.  PF sets the	line to	be printed at  the  bottom  of
	      each  page.  Empty by default.  See PH for the argument specifi-
	      cation.

	      This macro defines string	EOPf.

       PH [arg]
	      Page header, a line printed at the top of	each page.  The	 argu-
	      ment should be specified as

		     "'left-part'center-part'right-part'"

	      where  left-part,	 center-part, and right-part are printed left-
	      justified, centered, and right justified,	respectively.	Within
	      the  argument to PH, the character `%' is	changed	to the current
	      page number.  The	default	argument is

		     "''- % -''"

	      which gives the page number between two dashes.

	      This macro defines string	TPh.

       PS     Picture start (from pic).	 Begins	a picture for pic(1).

       PX     Page header user-defined exit.  This macro is called just	 after
	      the printing of the page header in no-space mode.

       R      Roman.  Return to	roman font, see	also I.

       RB [roman-text [bold-text [roman-text [...]]]]
	      Roman-bold.   Even  arguments are	printed	in roman, odd in bold-
	      face.  See I.

       RD [prompt [diversion [string]]]
	      Read from	standard input to diversion and/or string.   The  text
	      is  saved	 in  a	diversion named	diversion.  Recall the text by
	      writing the name of the diversion	after a	dot on an empty	 line.
	      A	 string	 is also defined if string is given.  Diversion	and/or
	      prompt can be empty ("").

       RF     Reference	end.  Ends a reference definition and returns to  nor-
	      mal processing.  See RS.

       RI [roman-text [italic-text [roman-text [...]]]]
	      Print even arguments in roman, odd in italic.  See I.

       RL [text-indent[1]]
	      Reference	list start.  Begins a list where each item is preceded
	      with an automatically incremented	number between	square	brack-
	      ets.  text-indent	changes	the default indentation.

       RP [arg1	[arg2]]
	      Produce  reference  page.	 This macro can	be used	if a reference
	      page is wanted somewhere in the document.	 It is not  needed  if
	      TC  is  used to produce a	table of contents.  The	reference page
	      is then printed automatically.

	      The reference counter is not reset if arg1 is 1.

	      arg2 tells RP whether to eject a page or not.

	      arg2

		     0	 The reference page is printed on a separate page.
		     1	 Do not	eject page after the list.
		     2	 Do not	eject page before the list.
		     3	 Do not	eject page before and after the	list.

	      The reference items are separated	by a blank line.  Setting num-
	      ber register Ls to 0 suppresses the line.

	      The  string  Rp  contains	the reference page title and is	set to
	      `REFERENCES' by default.	The number register Rpe	holds the  de-
	      fault  value  for	the second argument of RP; it is initially set
	      to 0.

       RS [string-name]
	      Begin an automatically numbered reference	definition.   Put  the
	      string  \*(Rf  where  the	reference mark should be and write the
	      reference	between	RS/RF at next new  line	 after	the  reference
	      mark.  The reference number is stored in number register :R.  If
	      string-name is given, a string with that	name  is  defined  and
	      contains	the  current reference mark.  The string can be	refer-
	      enced as \*[string-name] later in	the text.

       S [size [spacing]]
	      Set point	size and vertical spacing.  If any argument  is	 equal
	      to  `P', the previous value is used.  A `C' means	current	value,
	      and `D' the default value.  If `+' or `-'	 is  used  before  the
	      value,  the current value	is incremented or decremented, respec-
	      tively.

       SA [arg]
	      Set right-margin justification.  Justification is	turned	on  by
	      default.	 No argument or	value `0' turns	off justification, and
	      `1' turns	on justification.

       SETR refname [string]
	      Remember the current header and page number as  refname.	 Saves
	      string  if  string is defined.  string is	retrieved with .GETST.
	      See INITR.

       SG [arg [1]]
	      Signature	line.  Prints the authors  name(s)  after  the	formal
	      closing.	 The  argument	is  appended  to  the  reference data,
	      printed at either	the first or last author.  The reference  data
	      is  the  location,  department, and initials specified with .AU.
	      It is printed at the first author	 if  the  second  argument  is
	      given,  otherwise	 at the	last.  No reference data is printed if
	      the author(s) is specified through .WA/.WE.  See section "Inter-
	      nals" below.

       SK [pages]
	      Skip  pages.   If	pages is 0 or omitted, a skip to the next page
	      occurs unless it is already at the top of	a page.	 Otherwise  it
	      skips pages pages.

       SM string1 [string2 [string3]]
	      Make  a  string  smaller.	  If string2 is	given, string1 is made
	      smaller and string2 stays	 at  normal  size,  concatenated  with
	      string1.	 With three arguments, everything is concatenated, but
	      only string2 is made smaller.

       SP [lines]
	      Space vertically.	 lines can have	any scaling factor, like  `3i'
	      or  `8v'.	  Several SP calls in a	line only produces the maximum
	      number of	lines, not the sum.  SP	 is  ignored  also  until  the
	      first  text line in a page.  Add \& before a call	to SP to avoid
	      this.

       TAB    Reset tabs to every 5n.  Normally	used to	reset any previous tab
	      positions.

       TB [title [override [flag [refname]]]]
	      Table title.  The	arguments are the same as for EC.  TB uses the
	      number register Tb as a counter.	The string Lt controls the ti-
	      tle  of  the  List of Tables; default value is `LIST OF TABLES'.
	      The List of Tables is only printed if number register Lt	is  1,
	      which  is	 the  default.	The string Litb	contains the word `TA-
	      BLE', which is printed before the	number.

	      Special handling of the title occurs if TB is used inside	DS/DE,
	      it is not	affected by the	format of DS.

       TC [slevel [spacing [tlevel [tab	[h1 [h2	[h3 [h4	[h5]]]]]]]]]
	      Table of contents.  This macro is	normally used as the last line
	      of the document.	It generates a table of	contents with headings
	      up  to the level controlled by number register Cl.  Note that Cl
	      controls the saving of headings, it has nothing to do  with  TC.
	      Headings	with  a	level less than	or equal to slevel get spacing
	      number of	lines before them.  Headings with a level less than or
	      equal  to	 tlevel	 have  their page numbers right-justified with
	      dots or spaces separating	the text and the page number.	Spaces
	      are  used	 if  tab  is greater than zero,	dots otherwise.	 Other
	      headings have the	page number directly at	the end	of the heading
	      text (ragged-right).

	      The rest of the arguments	is printed, centered, before the table
	      of contents.

	      The user-defined macros TX and TY	are used if TC is called  with
	      at most four arguments.  TX is called before the printing	of the
	      string `CONTENTS', and TY	is called instead  of  printing	 `CON-
	      TENTS'.

	      Equivalent  macros  can  be defined for list of figures, tables,
	      equations	and exhibits by	defining TXxx or  TYxx,	 where	xx  is
	      `Fg', `TB', `EC',	or `EX', respectively.

	      String  Ci can be	set to control the indentations	for each head-
	      ing-level.  It must be scaled, like

		     .ds Ci .25i .5i .75i 1i 1i

	      By default, the indentation is controlled	by the maximum	length
	      of headings in each level.

	      The  string  variables Lifg, Litb, Liex, Liec, and Licon contain
	      `Figure',	`TABLE', `Exhibit', `Equation',	 and  `CONTENTS',  re-
	      spectively.  These can be	redefined to other languages.

       TE     Table end.  See TS.

       TH [N] Table  header.   See TS.	TH ends	the header of the table.  This
	      header is	printed	again if a page	break  occurs.	 Argument  `N'
	      isn't implemented	yet.

       TL [charging-case-number	[filing-case-number]]
	      Begin  title  of	memorandum.  All text up to the	next AU	is in-
	      cluded in	the title.  charging-case-number and  filing-case-num-
	      ber are saved for	use in the front page processing.

       TM [num1	[num2 [...]]]
	      Technical	 memorandum  numbers used in .MT.  An unlimited	number
	      of arguments may be given.

       TP     Top-of-page user-defined macro.  This macro is called instead of
	      the  normal page header.	It is possible to get complete control
	      over the header.	Note  that  the	 header	 and  the  footer  are
	      printed  in  a  separate environment.  Line length is preserved,
	      though.  See EOP.

	      strings available	to TP

	      TPh    argument of PH
	      TPeh   argument of EH
	      TPoh   argument of OH

       TS [H] Table start.  This is the	start  of  a  table  specification  to
	      tbl(1).	TS ends	with TE.  Argument `H' tells mm	that the table
	      has a header.  See TH.

       TX     User-defined table of contents exit.  This macro is called  just
	      before TC	prints the word	`CONTENTS'.  See TC.

       TY     User-defined  table  of contents exit.  This macro is called in-
	      stead of printing	`CONTENTS'.  See TC.

       VERBON [flag [point-size	[font]]]
	      Begin verbatim output using Courier font.	 Usually for  printing
	      programs.	  All characters have equal width.  The	point size can
	      be changed with the second argument.  By specifying a third  ar-
	      gument  it  is  possible to use another font instead of Courier.
	      flag controls several special features.  Its value is the	sum of
	      all wanted features.

		     Arg   Description
		     1	   Disable the escape character	(\).  This is normally
			   turned on during verbose output.
		     2	   Add an empty	line before the	verbose	text.
		     4	   Add an empty	line after the verbose text.
		     8	   Print the verbose text with numbered	 lines.	  This
			   adds	 four  digit-sized  spaces in the beginning of
			   each	line.  Finer control  is  available  with  the
			   string  variable Verbnm.  It	contains all arguments
			   to the troff(1) command .nm,	normally `1'.
		     16	   Indent the verbose text  by	`5n'.	This  is  con-
			   trolled by the number-variable Verbin (in units).

       VERBOFF
	      End verbatim output.

       VL text-indent [mark-indent [1]]
	      Variable-item list.  It has no fixed mark, it assumes that every
	      LI has a mark instead.  text-indent sets the indent to the text,
	      and mark-indent the distance from	the current indentation	to the
	      mark.  A third argument prohibits	printing of a blank  line  be-
	      fore each	item.

       VM [-T] [top [bottom]]
	      Vertical	margin.	 Increase the top and bottom margin by top and
	      bottom, respectively.  If	option -T is specified,	set those mar-
	      gins to top and bottom.  If no argument is given,	reset the mar-
	      gin to zero, or to the default (`7v 5v') if -T is	used.	It  is
	      highly  recommended that macros TP and/or	EOP are	defined	if us-
	      ing -T and setting top and/or bottom margin to less than the de-
	      fault.

       WA [writer-name [title]]
	      Begin specification of the writer	and writer's address.  Several
	      names can	be specified with empty	WA/WE pairs, but only one  ad-
	      dress.

       WE     End the address specification after .WA.

       WC [format1] [format2] [...]
	      Footnote and display width control.

	      N	    Set	 default mode which is equal to	using the options -WF,
		    -FF, -WD, and FB.
	      WF    Wide footnotes, wide also in two-column mode.
	      -WF   Normal footnote width, follow column mode.
	      FF    All	footnotes gets the same	width as  the  first  footnote
		    encountered.
	      -FF   Normal footnotes, width follows WF and -WF.
	      WD    Wide displays, wide	also in	two-column mode.
	      -WD   Normal display width, follow column	mode.
	      FB    Floating  displays	generates a line break when printed on
		    the	current	page.
	      -FB   Floating displays does not generate	line break.

   Strings used	in mm
       App    A	string containing the word `APPENDIX'.

       Apptxt The current appendix text.

       EM     Em dash string

       H1txt  Updated by .H and	.HU to the current heading text.  Also updated
	      in table of contents & friends.

       HF     Font list	for headings, `2 2 2 2 2 2 2' by default.  Non-numeric
	      font names may also be used.

       HP     Point size list for headings.  By	default, this is '0 0 0	0 0  0
	      0' which is the same as `10 10 10	10 10 10 10'.

       Index  Contains the string `INDEX'.

       Indcmd Contains the index command.  Default value is `sort -t\t'.

       Lifg   String containing	`Figure'.

       Litb   String containing	`TABLE'.

       Liex   String containing	`Exhibit'.

       Liec   String containing	`Equation'.

       Licon  String containing	`CONTENTS'.

       Lf     Contains the string `LIST	OF FIGURES'.

       Lt     Contains the string `LIST	OF TABLES'.

       Lx     Contains the string `LIST	OF EXHIBITS'.

       Le     Contains the string `LIST	OF EQUATIONS'.

       Letfc  Contains the string `Yours very truly,', used in .FC.

       Letapp Contains the string `APPROVED:', used in .AV.

       Letdate
	      Contains the string `Date', used in .AV.

       LetCN  Contains the string `CONFIDENTIAL', used in .LO CN.

       LetSA  Contains the string `To Whom It May Concern:', used in .LO SA.

       LetAT  Contains the string `ATTENTION:',	used in	.LO AT.

       LetSJ  Contains the string `SUBJECT:', used in .LO SJ.

       LetRN  Contains the string `In reference	to:', used in .LO RN.

       Letns  is an array containing the different strings used	in .NS.	 It is
	      really a number of string	variables prefixed  with  Letns!.   If
	      the  argument  doesn't  exist,  it  is  included between () with
	      Letns!copy as a prefix and Letns!to as a	suffix.	  Observe  the
	      space after `Copy' and before `to'.

		     Name	  Value
		     Letns!0	  Copy to
		     Letns!1	  Copy (with att.) to
		     Letns!2	  Copy (without	att.) to
		     Letns!3	  Att.
		     Letns!4	  Atts.
		     Letns!5	  Enc.
		     Letns!6	  Encs.
		     Letns!7	  Under	separate cover
		     Letns!8	  Letter to
		     Letns!9	  Memorandum to
		     Letns!10	  Copy (with atts.) to
		     Letns!11	  Copy (without	atts.) to
		     Letns!12	  Abstract Only	to
		     Letns!13	  Complete Memorandum to
		     Letns!14	  CC
		     Letns!copy	  Copy (with trailing space)
		     Letns!to	   to (note leading space)

       Letnsdef
	      Define  the  standard notation used when no argument is given to
	      .NS.  Default is 0.

       MO1 - MO12
	      Strings containing the month names `January' through `December'.

       Qrf    String containing	`See chapter \\*[Qrfh],	page \\n[Qrfp].'.

       Rp     Contains the string `REFERENCES'.

       Tcst   Contains the current status of the table of contents and list of
	      figures,	etc.   Empty  outside  of .TC.	Useful in user-defined
	      macros like .TP.

		     Value   Meaning
		     co	     Table of contents
		     fg	     List of figures
		     tb	     List of tables
		     ec	     List of equations
		     ex	     List of exhibits
		     ap	     Appendix

       Tm     Contains the string `\(tm', the trade mark symbol.

       Verbnm Argument to .nm in the .VERBON command.  Default is 1.

   Number variables used in mm
       Aph    Print an appendix	page for every new appendix   if  this	number
	      variable	is  non-zero.	No  output  occurs if Aph is zero, but
	      there is always an appendix entry	in the `List of	contents'.

       Cl     Contents level (in the range 0 to	14).  The contents is saved if
	      a	 heading level is lower	than or	equal to the value of Cl.  De-
	      fault is 2.

       Cp     Eject page between list of table,	list of	figure,	etc.,  if  the
	      value of Cp is zero.  Default is 0.

       D      Debug  flag.  Values greater than	zero produce debug information
	      of increasing verbosity.	A value	of 1 gives  information	 about
	      the progress of formatting.  Default is 0.

       De     If  set  to  1, eject after floating display is output.  Default
	      is 0.

       Dsp    If defined, it controls the space	output before and after	static
	      displays.	 Otherwise the value of	Lsp is used.

       Df     Control  floating	 keep output.  This is a number	in the range 0
	      to 5, with a default value of 5.	See .DF.

       Ds     If set to	1, use the amount of space stored in register Lsp  be-
	      fore and after display.  Default is 1.

       Ej     If  set  to  1, eject page before	each first-level heading.  De-
	      fault is 0.

       Eq     Equation labels are left-adjusted	if set to 0 and	right-adjusted
	      if set to	1.  Default is 0.

       Fs     Footnote spacing.	 Default is 1.

       H1 - H7
	      Heading counters

       H1dot  Append  a	 dot  after  the  level-one heading number if value is
	      greater than zero.  Default is 1.

       H1h    A	copy of	number register	H1, but	it is incremented just	before
	      the page break.  Useful in user-defined header macros.

       Hb     Heading  break level.  A number in the range 0 to	14, with a de-
	      fault value of 2.	 See .H.

       Hc     Heading centering	level.	A number in the	range 0	to 14, with  a
	      default value value of 0.	 See .H.

       Hi     Heading  temporary indent.  A number in the range	0 to 2,	with a
	      default value of 1.

		     0	 no indentation, left margin
		     1	 indent	to the right, similar to `.P 1'
		     2	 indent	to line	up with	text part of preceding heading

       Hps    Heading pre-space	level.	If the heading level is	less  than  or
	      equal  to	 Hps, two lines	precede	the section heading instead of
	      one.  Default is first level only.  The real amount of lines  is
	      controlled by the	variables Hps1 and Hps2.

       Hps1   Number  of  lines	 preceding  .H if the heading level is greater
	      than Hps.	 Value is in units, default is 0.5.

       Hps2   Number of	lines preceding	.H if the heading level	is  less  than
	      or equal to Hps.	Value is in units, default is 1.

       Hs     Heading  space level.  A number in the range 0 to	14, with a de-
	      fault value of 2.	 See .H.

       Hss    Number of	lines following	.H if the heading level	is  less  than
	      or equal to Hs.  Value is	in units, default is 1.

       Ht     Heading numbering	type.

		     0	 multiple levels (1.1.1, 1.1.2,	etc.)
		     1	 single	level

	      Default is 0.

       Hu     Unnumbered heading level.	 Default is 2.

       Hy     Hyphenation status of text body.

		     0	 no hyphenation
		     1	 hyphenation on, set to	value 6

	      Default is 0.

       Iso    Set this variable	to 1 on	the command line to get	an ISO-format-
	      ted date string (-rIso=1).  Useless inside of a document.

       L      Page length, only	for command-line settings.

       Letwam Maximum lines  in	 return-address,  used	in  .WA/.WE.   Default
	      is 14.

       Lf, Lt, Lx, Le
	      Enable  (1) or disable (0) the printing of List of figures, List
	      of tables, List of exhibits and List of equations, respectively.
	      Default values are Lf=1, Lt=1, Lx=1, and Le=0.

       Li     List indentation,	used by	.AL.  Default is 6.

       Limsp  A	 flag  controlling  the	 insertion of space between prefix and
	      mark in automatic	lists (.AL).

		     0	 no space
		     1	 emit space

       Ls     List space threshold.  If	current	list level is greater than  Ls
	      no spacing occurs	around lists.  Default is 99.

       Lsp    The  vertical  space used	by an empty line.  The default is 0.5v
	      in troff mode and	1v in nroff mode.

       N      Page numbering style.

		     0	 normal	header for all pages.
		     1	 header	replaces  footer  on  first  page,  header  is
			 empty.
		     2	 page header is	removed	on the first page.
		     3	 `section-page'	numbering style	enabled.
		     4	 page header is	removed	on the first page.
		     5	 `section-page'	 and  `section-figure' numbering style
			 enabled.

	      Default is 0.  See also the number registers Sectf and Sectp.

       Np     A	flag to	control	whether	paragraphs are numbered.

		     0	 not numbered
		     1	 numbered in first-level headings.

	      Default is 0.

       O      Page offset, only	for command-line settings.

       Of     Format of	figure,	table, exhibit,	and equation titles.

		     0	 ". "
		     1	 " - "

	      Default is 0.

       P      Current page-number, normally the	same as	`%'  unless  `section-
	      page' numbering style is enabled.

       Pi     Paragraph	indentation.  Default is 5.

       Pgps   A	 flag  to  control whether header and footer point size	should
	      follow the current settings or just change when the  header  and
	      footer are defined.

		     0	 Point	size  only changes to the current setting when
			 .PH, .PF, .OH,	.EH, .OF, or .OE is executed.
		     1	 Point size changes after every	.S.  This is  the  de-
			 fault.

       Ps     Paragraph	spacing.  Default is 1.

       Pt     Paragraph	type.

		     0	 left-justified
		     1	 indented paragraphs
		     2	 indented paragraphs except after .H, .DE, or .LE.

	      Default is 0.

       Rpe    Set default value	for second argument of .RP.  Default is	0.

       Sectf  A	 flag  controlling  `section-figures' numbering	style.	A non-
	      zero value enables this.	See also register N.

       Sectp  A	flag controlling 'section-page'	numbering style.   A  non-zero
	      value enables this.  See also register N.

       Si     Display indentation.  Default is 5.

       Verbin Indentation for .VERBON.	Default	is 5n.

       W      Line length, only	for command-line settings.

       .mgm   Always 1.

INTERNALS
       The letter macros are using different submacros depending on the	letter
       type.  The name of the submacro has the letter type as suffix.	It  is
       therefore possible to define other letter types,	either in the national
       macro-file, or as local additions.  .LT sets the	 number	 variables  Pt
       and Pi to 0 and 5, respectively.	 The following strings and macros must
       be defined for a	new letter type.

       let@init_type
	      This macro is called directly by .LT.  It	is  supposed  to  ini-
	      tialize variables	and other stuff.

       let@head_type
	      This  macro prints the letter head, and is called	instead	of the
	      normal  page  header.   It  is  supposed	to  remove  the	 alias
	      let@header, otherwise it is called for all pages.

       let@sg_type name	title n	flag [arg1 [arg2 [...]]]
	      .SG is calling this macro	only for letters; memorandums have its
	      own processing.  name and	title are specified  through  .WA/.WB.
	      n	 is  the  counter,  1-max, and flag is true for	the last name.
	      Any other	argument to .SG	is appended.

       let@fc_type closing
	      This macro is called by .FC, and has the formal closing  as  the
	      argument.

       .LO is implemented as a general option-macro.  It demands that a	string
       named Lettype is	defined, where type is the letter type.	 .LO then  as-
       signs the argument to the string	variable let*lo-type.

FILES
       /usr/local/share/groff/1.22.4/tmac/m.tmac

       /usr/local/share/groff/1.22.4/tmac/mm/*.cov

       /usr/local/share/groff/1.22.4/tmac/mm/*.MT

       /usr/local/share/groff/1.22.4/tmac/mm/locale

AUTHORS
       The GNU version of the mm macro package was written by J"rgen H"gg <jh@
       axis.se>	of Lund, Sweden.

SEE ALSO
       groff(1), troff(1), tbl(1), pic(1), eqn(1)
       groff_mmse(7)

groff 1.22.4		       17 December 2018			   GROFF_MM(7)

Command Section

man2web Home...