MM(7) Standards, Environments, and Macros MM(7)

NAME


mm - text formatting (memorandum) macros

SYNOPSIS


nroff -mm [options] filename...


troff -mm [options] filename...


DESCRIPTION


This package of nroff(1) and troff(1) macro definitions provides a
formatting facility for various styles of articles, theses, and books.
When producing 2-column output on a terminal or lineprinter, or when
reverse line motions are needed, filter the output through col(1). All
external -mm macros are defined below.


Note: this -mm macro package is an extended version written at Berkeley
and is a superset of the standard -mm macro packages as supplied by Bell
Labs. Some of the Bell Labs macros have been removed; for instance, it
is assumed that the user has little interest in producing headers stating
that the memo was generated at Whippany Labs.


Many nroff and troff requests are unsafe in conjunction with this
package. However, the first four requests below may be used with impunity
after initialization, and the last two may be used even before
initialization:

.bp
begin new page


.br
break output line


.spn
insert n spacing lines


.cen
center next n lines


.lsn
line spacing: n=1 single, n=2 double space


.na
no alignment of right margin


Font and point size changes with \f and \s are also allowed; for example,
\fIword\fR will italicize word. Output of the tbl(1), eqn(1) and refer(1)
preprocessors for equations, tables, and references is acceptable as
input.

REQUESTS


Here is a table of macros.


Macro Name | Initial Value | Break? Reset? | Explanation
---------------------------------+---------------+---------------+-----------------------------------------
.1C | on | y,y | one column format on a new page
---------------------------------+---------------+---------------+-----------------------------------------
.2C [ l ] | - | y,y | two column format l=line length
---------------------------------+---------------+---------------+-----------------------------------------
.AE | - | y | end abstract
---------------------------------+---------------+---------------+-----------------------------------------
.AL [ t ] [ i ] [ s ] | t=1;i=.Li;s=0 | y | Start automatic list type t=[1,A,a,I,i]
| | | 1=arabic numbers; A=uppercase letters
| | | a=lowercase letters; I=uppercase Roman
| | | numerals; i=lowercase Roman numerals
| | | indentation i; separation s
---------------------------------+---------------+---------------+-----------------------------------------
.AS m [ n ] | n=0 | y | begin abstract
---------------------------------+---------------+---------------+-----------------------------------------
.AU | - | y | author's name
---------------------------------+---------------+---------------+-----------------------------------------
.AV x | - | y | signature and date line of verifier x
---------------------------------+---------------+---------------+-----------------------------------------
.B x | - | n | embolden x; if no x, switch to boldface
---------------------------------+---------------+---------------+-----------------------------------------
.BE | - | y | end block text
---------------------------------+---------------+---------------+-----------------------------------------
.BI x y | - | n | embolden x and underline y
---------------------------------+---------------+---------------+-----------------------------------------
.BL | - | y | bullet list
---------------------------------+---------------+---------------+-----------------------------------------
.BR x y | - | n | embolden x and use Roman font for y
---------------------------------+---------------+---------------+-----------------------------------------
.BS | - | n | start block text
---------------------------------+---------------+---------------+-----------------------------------------
.CN | - | y | same as .DE (nroff)
---------------------------------+---------------+---------------+-----------------------------------------
.CS | - | y | cover sheet
---------------------------------+---------------+---------------+-----------------------------------------
.CW | - | n | same as .DS I (nroff)
---------------------------------+---------------+---------------+-----------------------------------------
.DE | - | y | end display
---------------------------------+---------------+---------------+-----------------------------------------
.DF [ p ] [ f ] [ rp ] | p=L;f=N | y | start floating display; position
| | | p=[L,C,CB] L=left; I=indent; C=center;
| | | CB=center block fill f=[N,Y]; right
| | | position rp (fill only)
---------------------------------+---------------+---------------+-----------------------------------------
.DL [ i ] [ s ] | - | y | start dash list
---------------------------------+---------------+---------------+-----------------------------------------
.DS [ p ] [ f ] [ rp ] | p=L;f=N | y | begin static display (see .DF for
| | | argument descriptions)
---------------------------------+---------------+---------------+-----------------------------------------
.EC x [ n ] | n=1 | y | equation title; equation x; number n
---------------------------------+---------------+---------------+-----------------------------------------
.EF x | - | n | even footer appears at the bottom of
| | | even-numbered pages; x="l'c'r" l=left;
| | | c=center; r=right
---------------------------------+---------------+---------------+-----------------------------------------
.EH x | - | n | even header appears at the top of
| | | even-numbered pages; x="l'c'r" l=left;
| | | c=center; r=right
---------------------------------+---------------+---------------+-----------------------------------------
.EN | - | y | end displayed equation produced by eqn
---------------------------------+---------------+---------------+-----------------------------------------
.EQ | - | y | break out equation produced by eqn
---------------------------------+---------------+---------------+-----------------------------------------
.EX x [ n ] | n=1 | y | exhibit title; exhibit x
---------------------------------+---------------+---------------+-----------------------------------------
| | | number n
---------------------------------+---------------+---------------+-----------------------------------------
.FD [ f ] [ r ] | f=10;r=1 | n | set footnote style format f=[0-11];
| | | renumber r=[0,1]
---------------------------------+---------------+---------------+-----------------------------------------
.FE | - | y | end footnote
---------------------------------+---------------+---------------+-----------------------------------------
.FG x [ n ] | n=1 | y | figure title; figure x; number n
---------------------------------+---------------+---------------+-----------------------------------------
.FS | - | n | start footnote
---------------------------------+---------------+---------------+-----------------------------------------
.H l [ t ] | - | y | produce numbered heading level l=[1-7];
| | | title t
---------------------------------+---------------+---------------+-----------------------------------------
.HU t | - | y | produce unnumbered heading; title t
---------------------------------+---------------+---------------+-----------------------------------------
.I x | - | n | underline x
---------------------------------+---------------+---------------+-----------------------------------------
.IB x y | - | n | underline x and embolden y
---------------------------------+---------------+---------------+-----------------------------------------
.IR x y | - | n | underline x and use Roman font on y
---------------------------------+---------------+---------------+-----------------------------------------
.LE [ s ] | s=0 | y | end list; separation s
---------------------------------+---------------+---------------+-----------------------------------------
.LI [ m ] [ p ] | - | y | start new list item; mark m
---------------------------------+---------------+---------------+-----------------------------------------
| | | prefix p (mark only)
---------------------------------+---------------+---------------+-----------------------------------------
.ML m [ i ] [ s ] | s=0 | y | start marked list; mark m indentation
| | | i; separation s=[0,1]
---------------------------------+---------------+---------------+-----------------------------------------
.MT x | | y | memo title; title x
---------------------------------+---------------+---------------+-----------------------------------------
.ND x | | n | no date in page footer; x is date on
| | | cover
---------------------------------+---------------+---------------+-----------------------------------------
.NE | - | y | end block text
---------------------------------+---------------+---------------+-----------------------------------------
.NS | - | y | start block text
---------------------------------+---------------+---------------+-----------------------------------------
.OF x | - | n | odd footer appears at the bottom of
| | | odd-numbered pages; x="l'c'r" l=left;
| | | c=center; r=right
---------------------------------+---------------+---------------+-----------------------------------------
.OF x | - | n | odd header appears at the top of
| | | odd-numbered pages; x="l'c'r" l=left;
| | | c=center; r=right
---------------------------------+---------------+---------------+-----------------------------------------
.OP | - | y | skip to the top of an odd-number page
---------------------------------+---------------+---------------+-----------------------------------------
.P [ t ] | t=0 | y,y | begin paragraph; t=[0,1] 0=justified;
| | | 1=indented
---------------------------------+---------------+---------------+-----------------------------------------
.PF x | - | n | page footer appears at the bottom of
| | | every page; x="l'c'r" l=left; c=center;
| | | r=right
---------------------------------+---------------+---------------+-----------------------------------------
.PH x | - | n | page header appears at the top of every
| | | page; x="l'c'r" l=left; c=center;
| | | r=right
---------------------------------+---------------+---------------+-----------------------------------------
.R | on | n | return to Roman font
---------------------------------+---------------+---------------+-----------------------------------------
.RB x y | - | n | use Roman on x and embolden y
---------------------------------+---------------+---------------+-----------------------------------------
.RI x y | - | n | use Roman on x and underline y
---------------------------------+---------------+---------------+-----------------------------------------
.RP x | - | y,y | released paper format ? x=no stops
| | | title on first
---------------------------------+---------------+---------------+-----------------------------------------
.RS | 5n | y,y | right shift: start level of relative
| | | indentation
---------------------------------+---------------+---------------+-----------------------------------------
.S m n | - | n | set character point size & vertical
| | | space character point size m; vertical
| | | space n
---------------------------------+---------------+---------------+-----------------------------------------
.SA x | x=1 | n | justification; x=[0,1]
---------------------------------+---------------+---------------+-----------------------------------------
.SK x | - | y | skip x pages
---------------------------------+---------------+---------------+-----------------------------------------
.SM | - | n | smaller; decrease point size by 2
---------------------------------+---------------+---------------+-----------------------------------------
.SP [ x ] | - | y | leave x blank lines
---------------------------------+---------------+---------------+-----------------------------------------
.TB x [ n ] | n=1 | y | table title; table x; number n
---------------------------------+---------------+---------------+-----------------------------------------
.TC | - | y | print table of contents (put at end of
| | | input file)
---------------------------------+---------------+---------------+-----------------------------------------
---------------------------------+---------------+---------------+-----------------------------------------
.TH - Y "multi-page end, header" | | |
---------------------------------+---------------+---------------+-----------------------------------------
.TL | - | n | title in boldface and two points larger
---------------------------------+---------------+---------------+-----------------------------------------
.TM | - | n | UC Berkeley thesis mode
---------------------------------+---------------+---------------+-----------------------------------------
.TP i | y | y | i=p.i. Begin indented paragraph, with
| | | the tag given on the next text line.
| | | Set prevailing indent to i.
---------------------------------+---------------+---------------+-----------------------------------------
.TE | - | y | end of table processed by tbl
.TS x | - | y,y | begin table; if x=H table has
| | | multi-page header
---------------------------------+---------------+---------------+-----------------------------------------
.TY | - | y | display centered title CONTENTS
---------------------------------+---------------+---------------+-----------------------------------------
.VL i [ m ] [ s ] | m=0;s=0 | y | start variable-item list; indentation i
| | | mark-indentation m; separation s


REGISTERS


Formatting distances can be controlled in -mm by means of built-in number
registers. For example, this sets the line length to 6.5 inches:

.nr LL 6.5i


Here is a table of number registers and their default values:


Name | Register Controls | Takes Effect | Default
-----+--------------------+-------------------+---------------------
Cl | contents level | table of contents | 2
-----+--------------------+-------------------+---------------------
De | display eject | display | 0
-----+--------------------+-------------------+---------------------
Df | display floating | display | 5
-----+--------------------+-------------------+---------------------
Ds | display spacing | display | 1v
-----+--------------------+-------------------+---------------------
Hb | heading break | heading | 2
-----+--------------------+-------------------+---------------------
Hc | heading centering | heading | 0
-----+--------------------+-------------------+---------------------
Hi | heading indent | heading | 1
-----+--------------------+-------------------+---------------------
Hi | heading spacing | heading | 1
-----+--------------------+-------------------+---------------------
Hu | heading unnumbered | heading | 2
-----+--------------------+-------------------+---------------------
Li | list indentation | list | 6 (nroff) 5 (troff)
-----+--------------------+-------------------+---------------------
Ls | list spacing | list | 6
-----+--------------------+-------------------+---------------------
Pi | paragraph indent | paragraph | 5
-----+--------------------+-------------------+---------------------
Pt | paragraph type | paragraph | 1
-----+--------------------+-------------------+---------------------
Si | static indent | display | 5 (nroff) 3 (troff)


When resetting these values, make sure to specify the appropriate units.
Setting the line length to 7, for example, will result in output with one
character per line. Setting Pi to 0 suppresses paragraph indentation


Here is a list of string registers available in -mm; they may be used
anywhere in the text:


Name | String's Function
------+------------------------------------
\*Q | quote (" in nroff, `` in troff )
------+------------------------------------
\*U | unquote (" in nroff, '' in troff )
------+------------------------------------
\*- | dash (-- in nroff, -- in troff )
------+------------------------------------
\*(MO | month (month of the year)
------+------------------------------------
\*(DY | day (current date)
------+------------------------------------
\** | automatically numbered footnote
------+------------------------------------
\*' | acute accent (before letter)
------+------------------------------------
\*` | grave accent (before letter)
------+------------------------------------
\*^ | circumflex (before letter)
------+------------------------------------
\*, | cedilla (before letter)
------+------------------------------------
\*: | umlaut (before letter)
------+------------------------------------
\*~ | tilde (before letter)
------+------------------------------------
\(BU | bullet item
------+------------------------------------
\(DT | date (month day, yr)
------+------------------------------------
\(EM | em dash
------+------------------------------------
\(Lf | LIST OF FIGURES title
------+------------------------------------
\(Lt | LIST OF TABLES title
------+------------------------------------
\(Lx | LIST OF EXHIBITS title
------+------------------------------------
\(Le | LIST OF EQUATIONS title
------+------------------------------------
\(Rp | REFERENCES title
------+------------------------------------
\(Tm | trademark character (TM)


When using the extended accent mark definitions available with .AM, these
strings should come after, rather than before, the letter to be accented.

FILES


/usr/share/lib/tmac/m


/usr/share/lib/tmac/mm.[nt]

nroff and troff definitions of mm.


SEE ALSO


col(1), eqn(1), nroff(1), refer(1), tbl(1), troff(1), attributes(7)

BUGS


Floating keeps and regular keeps are diverted to the same space, so they
cannot be mixed together with predictable results.

illumos January 1, 1997 MM(7)