GROFF_MM(7) GROFF_MM(7)
NAME
groff_mm - groff mm macros
SYNOPSIS
groff -mm [ options... ] [ files... ]
DESCRIPTION
The groff mm macros are intended to be compatible with the
DWB mm macros with the following limitations:
o no letter macros implemented (yet).
o no Bell Labs localisms implemented.
o the macros OK and PM is not implemented.
o groff mm does not support cut marks
mm is intended to be international. Therefore it is possi-
ble to write short national macrofiles which change all
english text to the preferred language. Use mmse as an
example.
Groff mm has several extensions:
APP name text
Begin an appendix with name name. Automatic naming
occurs if name is "". The appendixes starts with A
if auto is used. An 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 appear in the 'List of contents' with cor-
rect pagenumber. The name APPENDIX can be changed
by setting the string App to the desired text.
APPSK name pages text
Same as .APP, but the pagenr is incremented with
pages. This is used when diagrams or other non-
formatted documents are included as appendixes.
B1 Begin box (as the ms macro) Draws a box around the
text.
B2 End box. Finish the box.
BVL Start of broken variable-item list. As VL but text
begins always at the next line
COVER [arg]
COVER begins a coversheet definition. It is impor-
tant that .COVER appears before any normal text.
.COVER uses arg to build the filename
/usr/share/tmac/arg.cov. Therefore it is possible
to create unlimited types of coversheets. ms.cov
Groff Version 1.05 March 1, 1993 1
GROFF_MM(7) GROFF_MM(7)
is supposed to look like the ms coversheet. .COVER
requires a .COVEND at the end of the coverdefini-
tion. Always use this order of the covermacros:
.COVER
.TL
.AF
.AU
.AT
.AS
.AE
.COVEND
However, only .TL and .AU are required.
COVEND This finish the cover description and prints the
cover-page. It is defined in the cover file.
GETHN refname [varname]
Includes the headernumber where the corresponding
SETR refname was placed. Will be X.X.X. in pass 1.
See INITR. If varname is used, GETHN sets the
variable varname to the headernumber.
GETPN refname [varname]
Includes the pagenumber where the corresponding
SETR refname was placed. Will be 9999 in pass 1.
See INITR. If varname is used, GETPN sets the
variable varname to the pagenumber.
GETR refname
Combines GETHN and GETPN with the text 'chapter'
and ', page'. The string Qrf contains the text for
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 contains
the page and headernumber.
GETST refname [varname]
Includes the string saved with the second argument
to .SETR. Will be dummystring in pass 1. If var-
name is used, GETST sets the variable varname to
the saved string. See INITR.
INITR filename
Initialize the refencemacros. References will be
written to filename.tmp and filename.qrf. Requires
two passes with groff. The first looks for refer-
ences and the second includes them. INITR can be
used several times, but it is only the first
occurence of INITR that is active. See also SETR,
GETPN and GETHN.
MC column-size [column-separation]
Begin multiple columns. Return to normal with 1C.
Groff Version 1.05 March 1, 1993 2
GROFF_MM(7) GROFF_MM(7)
MT [arg [addressee]]
Memorandom type. The arg is part of a filename in
/usr/share/tmac/*.MT. Memorandum type 0 thru 5 are
supported, including "string". Addresse just sets
a variable, used in the AT&T macros.
MOVE y-pos [x-pos [line-length]]
Move to a position, pageoffset set to x-pos. If
line-length is not given, the difference between
current and new pageoffset is used. Use PGFORM
without arguments to return to normal.
PGFORM [linelength [pagelength [pageoffset]]]
Sets linelength, pagelength and/or pageoffset.
This macro can be used for special formatting, like
letterheads and other. PGFORM can be used without
arguments to reset everything after a MOVE.
PGNH No header is printed on the next page. Used to get
rid off the header in letters or other special
texts This macro must be used before any text to
inhibit the pageheader on the first page.
SETR refname [string]
Remember the current header and page-number as ref-
name. Saves string if string is defined. string is
retrieved with .GETST. See INITR.
TAB reset tabs to every 5n. Normally used to reset any
previous tabpositions.
VERBON Begin verbatim output using courier font. Usually
for printing programs. All character has equal
width.
VERBOFF
End verbatim output.
New variables in mm:
App A string containing the word "APPENDIX".
Aph Print an appendix-page for every new appendix if
this numbervariable is non-zero. No output will
occur if Aph is zero, but there will always be an
appendix-entry in the 'List of contents'.
Hps Numbervariable with the heading pre-space level. If
the heading-level is less than or equal to Hps,
then two lines will 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.
Groff Version 1.05 March 1, 1993 3
GROFF_MM(7) GROFF_MM(7)
Hps1 This is the number of lines preceding .H when the
heading-level is greater than Hps. Value is in
units, normally 0.5v.
Hps2 This is the number of lines preceding .H when the
heading-level is less than or equal to Hps. Value
is in units, normally 1v.
Lifg String containing Figure.
Litb String containing TABLE.
Liex String containing Exhibit.
Liec String containing Equation.
Licon String containing CONTENTS.
Lsp
The size of an empty line. Normally 0.5v, but it is 1v
if n is set (.nroff). MO1 - MO12 Strings contain-
ing January to December.
Qrf String containing "See chapter \\*[Qrfh], page
\\n[Qrfp].".
.mgm Always 1.
A file called locale or langlocale is read after the ini-
tiation of the global variables. It is therefore possible
to localize the macros with companyname and so on.
The following standard macros are implemented:
1C Begin one column processing
2C Begin two column processing
AE Abstract end
AF [name of firm]
Authors firm
AL [type [text-indent [1]]]]
Start autoincrement list
AS [arg [indent]]
Abstract start. Indent is specified in 'ens', but
scaling is allowed.
Groff Version 1.05 March 1, 1993 4
GROFF_MM(7) GROFF_MM(7)
AT title1 [title2 ...]
Authors title
AU name [initials [loc [dept [ext [room [arg [arg
[arg]]]]]]]]
Author information
B [bold-text [prev-font-tex [...]]]
Begin boldface No limit on the number of arguments.
BE End bottom block
BI [bold-text [italic-text [bold-text [...]]]
Bold-italic. No limit on the number of arguments.
BL [text-indent [1]]
Start bullet list
BR [bold-text [roman-text [bold-text [...]]]
Bold-roman. No limit on the number of arguments.
BS Bottom block start
DE Display end
DF [format [fill [rindent]]]
Begin floating display (no nesting allowed)
DL [text-indent [1]]
Dash list start
DS [format [fill [rindent]]]
Static display start. Can now have unlimited nest-
ing. Also right adjusted text and block may be used
(R or RB as format).
EC [title [override [flag [refname]]]]
Equation title. If refname is used, then the equa-
tionnumber is saved with .SETR, and can be
retrieved with .GETST refname.
EF [arg]
Even-page footer.
EH [arg]
Even-page header.
EN Equation end.
EQ [label]
Equation start.
EX [title [override [flag [refname]]]]
Exhibit title. If refname is used, then the
Groff Version 1.05 March 1, 1993 5
GROFF_MM(7) GROFF_MM(7)
exhibitnumber is saved with .SETR, and can be
retrieved with .GETST refname.
FD [arg [1]]
Footnote default format.
FE Footnote end.
FG [title [override [flag [refname]]]]
Figure title. If refname is used, then the fig-
urenumber is saved with .SETR, and can be retrieved
with .GETST refname.
FS Footnote start. Footnotes in displays is now pos-
sible.
H level [heading-text [heading-suffix]]
Numbered heading.
HC [hypenation-character]
Set hypenation character.
HM [arg1 [arg2 [... [arg7]]]]
Heading mark style.
HU heading-text
Unnumbered header.
HX dlevel rlevel heading-text
Userdefined heading exit. Called just before
printing the header.
HY dlevel rlevel heading-text
Userdefined heading exit. Called just before
printing the header.
HZ dlevel rlevel heading-text
Userdefined heading exit. Called just after print-
ing the header.
I [italic-text [prev-font-text [italic-text [...]]]
Italic.
IB [italic-text [bold-text [italic-text [...]]]
Italic-bold
IR [italic-text [roman-text [italic-text [...]]]
Italic-roman
LB text-indent mark-indent pad type [mark [LI-space [LB-
space]]]
List begin macro.
Groff Version 1.05 March 1, 1993 6
GROFF_MM(7) GROFF_MM(7)
LC [list level]
List-status clear
LE List end.
LI [mark [1]]
List item
ML mark [text-indent]
Marked list start
MT [arg [addressee]]
Memorandom type. See above note about MT.
ND new-date
New date.
OF [arg]
Odd-page footer
OH [arg]
Odd-page header
OP Skip to odd page.
P [type]
Begin new paragraph.
PE Picture end.
PF [arg]
Page footer
PH [arg]
Page header
PS Picture start (from pic)
PX Page-header user-defined exit.
R Roman.
RB [roman-text [bold-text [roman-text [...]]]
Roman-bold.
RD [prompt [diversion [string]]]
Read to diversion and/or string.
RF Reference end
RI [roman-text [italic-text [roman-text [...]]]
Roman-italic.
Groff Version 1.05 March 1, 1993 7
GROFF_MM(7) GROFF_MM(7)
RL [text-indent [1]]
Reference list start
RP [arg [arg]]
Produce reference page.
RS [string-name]
Reference start.
S [size [spacing]]
Set point size and vertical spacing. If any argu-
ment is equal 'P', then the previous value is used.
A 'C' means current value, and 'D' default value.
If '+' or '-' is used before the value, then incre-
ment or decrement of the current value will be
done.
SA [arg]
Set adjustment.
SK [pages]
Skip pages.
SM string1 [string2 [string3]]
Make a string smaller.
SP [lines]
Space vertically. lines can have any scalingfactor,
like 3i or 8v.
TB [title [override [flag [refname]]]]
Table title. If refname is used, then the
tablenumber is saved with .SETR, and can be
retrieved with .GETST refname.
TC [slevel [spacing [tlevel [tab [h1 [h2 [h3 [h4
[h5]]]]]]]]]
Table of contents. All texts can be redefined, new
stringvariables Lifg, Litb, Liex, Liec and Licon
contains "Figure", "TABLE", "Exhibit", "Equation"
and "CONTENTS". These can be redefined to other
languages.
TE Table end.
TH [N] Table header.
TL Begin title of memorandom.
TM [num1 [num2 [...]]]
Technical memorandumnumbers used in .MT. Unlimited
number of arguments may be given.
TP Top of page user-defined macro.
Groff Version 1.05 March 1, 1993 8
GROFF_MM(7) GROFF_MM(7)
TS [H] Table start
TX Userdefined table of contents exit.
TY Userdefined tbale of contents exit (no "CONTENTS").
VL [text-indent [mark-indent [1]]]
Variable-item list start
VM [top [bottom]]
Vertical margin.
WC [format]
Footnote and display width control.
Strings used in mm:
EM Em dash string
HF Fontlist for headings, normally "2 2 2 2 2 2 2".
Nonnumeric fontnames may also be used.
HP Pointsize list for headings. Normally "0 0 0 0 0 0
0" which is the same as "10 10 10 10 10 10 10".
Lf Contains "LIST OF FIGURES".
Lt Contains "LIST OF TABLES".
Lx Contains "LIST OF EXHIBITS".
Le Contains "LIST OF EQUATIONS".
Rp Contains "REFERENCES".
Tm Contains \(tm, trade mark.
Number variables used in mm:
Cl=2 Contents level [0:7], contents saved if heading
level <= Cl
Cp=0 Eject page between LIST OF XXXX if Cp == 0
D=0 Debugflag, values >0 produces varying degree of
debug. A value of 1 gives information about the
progress of formatting.
De=0 Eject after floating display is output [0:1]
Df=5 Floating keep output [0:5]
Groff Version 1.05 March 1, 1993 9
GROFF_MM(7) GROFF_MM(7)
Ds=1 space before and after display if == 1 [0:1]
Ej=0 Eject page
Eq=0 Eqation lable adjust 0=left, 1=right
Fs=1 Footnote spacing
H1-H7 Heading counters
Hb=2 Heading break level [0:7]
Hc=0 Heading centering level, [0:7]
Hi=1 Heading temporary indent [0:2] 0 -> 0 indent, left
margin
1 -> indent to right , like .P 1
2 -> indent to line up with text part of preceding
heading
Hs=2 Heading space level [0:7]
Ht=0 Heading numbering type 0 -> multiple (1.1.1 ...)
1 -> single
Hu=2 Unnumbered heading level
Hy=1 Hyphenation in body 0 -> no hyphenation
1 -> hyphenation 14 on
Lf=1, Lt=1, Lx=1, Le=0
Enables (1) or disables (0) the printing of List of
figures, List of tables, List of exhibits and List
of equations.
Li=6 List indent, used by .AL
Ls=99 List space, if current listlevel > Ls then no spac-
ing will occur around lists.
N=0 Numbering style [0:5]
Np=0 Numbered paragraphs.
0 == not numbered
1 == numbered in first level headings.
Of=0 Format of figure,table,exhibit,equation titles.
0= ". "
1= " - "
Pi=5 paragraph indent
Ps=1 paragraph spacing
Groff Version 1.05 March 1, 1993 10
GROFF_MM(7) GROFF_MM(7)
Pt=0 Paragraph type.
0 == left-justified
1 == indented .P
2 == indented .P except after .H, .DE or .LE.
Si=5 Display indent.
AUTHOR
Jrgen Hgg, Lund Institute of Technology, Sweden
<jh@efd.lth.se>
FILES
/usr/share/tmac/tmac.m
/usr/share/tmac/*.cov
/usr/share/tmac/*.MT
/usr/share/tmac/locale.mm
SEE ALSO
groff(1), troff(1), tbl(1), pic(1), eqn(1)
mm(7) mmse(7)
Groff Version 1.05 March 1, 1993 11