MM(@MAN7EXT@) MM(@MAN7EXT@)
NAMEmm - groff mm macros
SYNOPSIS
groff -m@TMAC_M@ [ options... ] [ files... ]
DESCRIPTION
The groff mm macros are intended to be compatible with the DWB mm
macros with the following limitations:
· no letter macros implemented (yet).
· no Bell Labs localisms implemented.
· the macros OK and PM is not implemented.
· groff mm does not support cut marks
m@TMAC_M@ is intended to be international. Therefore it is possible to
write short national macrofiles which change all english text to the
preferred language. Use m@TMAC_M@se 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 correct 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 important that
.COVER appears before any normal text. .COVER uses arg to build
the filename @TMAC_MDIR@/arg.cov. Therefore it is possible to
create unlimited types of coversheets. ms.cov is supposed to
look like the ms coversheet. .COVER requires a .COVEND at the
end of the coverdefinition. Always use this order of the cover‐
macros:
.COVER
.TL
.AF
.AU
.AT
.AS
.AE
.COVEND
However, only .TL and .AU are required.
COVEND This finishes 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 stringvariable 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 stringvariable 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 varname is used, GETST sets
the stringvariable 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 references 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.
MT [arg [addressee]]
Memorandum type. The arg is part of a filename in
@TMAC_MDIR@/*.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.
MULB cw1 space1 [cw2 space2 [cw3 ...]]
Begin a special multi-column mode. Every columns width must be
specified. Also the space between the columns must be speci‐
fied. 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 width and space is 'n', but MULB accepts
all normal unitspecifications like 'c' and 'i'. MULB operates
in a separate environment.
MULN Begin the next column. This is the only way to switch column.
MULE End the multi-column mode and print the columns.
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 refname. 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 tab‐
positions.
VERBON [flag [pointsize [font]]]
Begin verbatim output using courier font. Usually for printing
programs. All character has equal width. The pointsize can be
changed with the second argument. By specifying the font-argu‐
ment it is possible to use another font instead of courier.
flag control several special features. It contains the sum of
all wanted features.
ValueDescription
1 Enable the escape-character (\). This is normally turned
off during verbose output.
2 Add en empty line before the verbose text.
4 Add en empty line after the verbose text.
8 Print the verbose text with numbered lines. This adds four
digitsized spaces in the beginning of each line. Finer con‐
trol is available with the string-variable Verbnm. It con‐
tains all arguments to the troff-command .nm, normally '1'.
16 Indent the verbose text with five 'n':s. This is controlled
by the number-variable Verbin (in units).
VERBOFF
End verbatim output.
New variables in m@TMAC_M@:
App A string containing the word "APPENDIX".
Aph Print an appendix-page for every new appendix if this number‐
variable is non-zero. No output will occur if Aph is zero, but
there will always be an appendix-entry in the 'List of con‐
tents'.
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.
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 containing January to
December.
Qrf String containing "See chapter \\*[Qrfh], page \\n[Qrfp].".
Sectf Flag controlling "section-figures". A non-zero value enables
this. Se also register N.
Sectp Flag controlling "section-page-numbers". A non-zero value
enables this. Se also register N.
.mgm Always 1.
A file called locale or lang_locale is read after the initiation 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.
AST [title]
Abstract title. Default is 'ABSTRACT'.
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 nesting. 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 equationnumber 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 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 figurenumber is
saved with .SETR, and can be retrieved with .GETST refname.
FS Footnote start. Footnotes in displays is now possible.
H level [heading-text [heading-suffix]]
Numbered heading.
HC [hyphenation-character]
Set hyphenation 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 printing 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.
LC [list level]
List-status clear
LE List end.
LI [mark [1]]
List item
ML mark [text-indent]
Marked list start
MT [arg [addressee]]
Memorandum 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.
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 argument 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 increment 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 stringvari‐
ables Lifg, Litb, Liex, Liec and Licon contains "Figure", "TA‐
BLE", "Exhibit", "Equation" and "CONTENTS". These can be rede‐
fined to other languages.
TE Table end.
TH [N] Table header.
TL Begin title of memorandum.
TM [num1 [num2 [...]]]
Technical memorandumnumbers used in .MT. Unlimited number of
arguments may be given.
TP Top of page user-defined macro.
TS [H] Table start
TX Userdefined table of contents exit.
TY Userdefined table 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 m@TMAC_M@:
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 m@TMAC_M@:
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]
Ds=1 space before and after display if == 1 [0:1]
Ej=0 Eject page
Eq=0 Equation label 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 spacing will occur
around lists.
N=0 Numbering style [0:5] 0 == (default) 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 enabled.
4 == page header is removed on the first page.
5 == "section-page" and "section-figure" numbering enabled. Se
also the number-register Sectf and Sectp.
Np=0 Numbered paragraphs.
0 == not numbered
1 == numbered in first level headings.
Of=0 Format of figure,table,exhibit,equation titles.
0= ". "
1= " - "
P Current page-number, normally the same as % unless "section-
page" numbering is enabled.
Pi=5 paragraph indent
Ps=1 paragraph spacing
Pt=0 Paragraph type.
0 == left-justified
1 == indented .P
2 == indented .P except after .H, .DE or .LE.
Si=5 Display indent.
AUTHOR
Jvrgen Hdgg, Lund Institute of Technology, Sweden <jh@efd.lth.se>
FILES
@MACRODIR@/tmac.@TMAC_M@
@TMAC_MDIR@/*.cov
@TMAC_MDIR@/*.MT
@TMAC_MDIR@/locale
SEE ALSO
groff(@MAN1EXT@), @g@troff(@MAN1EXT@), @g@tbl(@MAN1EXT@),
@g@pic(@MAN1EXT@), @g@eqn(@MAN1EXT@)
mm(@MAN7EXT@)
Groff Version @VERSION@ @MDATE@ MM(@MAN7EXT@)