ms

- text formatting macros

Synopsis

nroff-ms [options] filename...

troff-ms [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 -ms macros are defined below.

Note: this -ms macro package is an extended version written at
Berkeley and is a superset of the standard -ms 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

.sp n

insert n spacing lines

.ce n

center next n lines

.ls n

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

Macro Name

Initial
Value

Break? Reset?

Explanation

.ABx

–

y

begin abstract; if x=no do not label abstract

.AE

–

y

end abstract

.AI

–

y

author's institution

.AM

–

n

better
accent mark definitions

.AU

–

y

author's name

.Bx

–

n

embolden x; if no x, switch to boldface

.B1

–

y

begin
text to be enclosed in a box

.B2

–

y

end boxed text and print it

.BT

date

n

bottom
title, printed at foot of page

.BXx

–

n

print word x in a box

.CM

if
t

n

cut mark between pages

.CT

–

y,y

chapter title: page number moved to CF (TM only)

.DAx

if n

n

force date x at bottom of page; today if no x

.DE

–

y

end
display (unfilled text) of any kind

.DSx y

I

y

begin display with keep; x=I, L, C, B; y=indent

.ID y

8n,.5i

y

indented display with no keep; y=indent

.LD

–

y

left display with no keep

.CD

–

y

centered display with
no keep

.BD

–

y

block display; center entire block

.EFx

–

n

even page footer x (3 part
as for .tl)

.EHx

–

n

even page header x (3 part as for .tl)

.EN

–

y

end
displayed equation produced by eqn

.EQx y

–

y

break out equation; x=L,I,C; y=equation number

.FE

–

n

end footnote
to be placed at bottom of page

.FP

–

n

numbered footnote paragraph; may be redefined

.FSx

–

n

start footnote; x is optional footnote label

.HD

undef

n

optional page header below header margin

.Ix

–

n

italicize x; if no x, switch to italics

.IPx y

–

y,y

indented paragraph, with hanging
tag x; y=indent

.IXx y

–

y

index words xy and so on (up to
5 levels)

.KE

–

n

end keep of any kind

.KF

–

n

begin floating keep; text fills remainder of
page

.KS

–

y

begin keep; unit kept together on a single page

.LG

–

n

larger; increase point size
by 2

.LP

–

y,y

left (block) paragraph.

.MCx

–

y,y

multiple columns; x=column width

.NDx

if t

n

no date in
page footer; x is date on cover

.NHx y

–

y,y

numbered header; x=level, x=0 resets,
x=S sets to y

.NL

10p

n

set point size back to normal

.OFx

–

n

odd page footer
x (3 part as for .tl)

.OHx

–

n

odd page header x (3 part
as for .tl)

.P1

if TM

n

print header on first page

.PP

–

y,y

paragraph with first line indented

.PT

-
% -

n

page title, printed at head of page

.PXx

–

y

print index (table of
contents); x=no suppresses title

.QP

–

y,y

quote paragraph (indented and shorter)

.R

on

n

return to Roman font

.RE

5n

y,y

retreat: end
level of relative indentation

.RPx

–

n

released paper format; x=no stops title on first
page

.RS

5n

y,y

right shift: start level of relative indentation

.SH

–

y,y

section header, in boldface

.SM

–

n

smaller; decrease point
size by 2

.TA

8n,5n

n

set TAB characters to 8n 16n . . . (nroff) or
5n 10n . . . (troff)

.TCx

–

y

print table of contents at end; x=no suppresses
title

.TE

–

y

end of table processed by tbl

.TH

–

y

end multi-page header of table

.TL

–

y

title in boldface
and two points larger

.TM

off

n

UC Berkeley thesis mode

.TSx

–

y,y

begin table; if x=H table
has multi-page header

.ULx

–

n

underline x, even in troff

.UXx

–

n

UNIX; trademark message first
time; x appended

.XAx y

–

y

another index entry; x=page or no for none;
y=indent

.XE

–

y

end index entry (or series of .IX entries)

.XP

–

y,y

paragraph with first line indented,
others indented

.XSx y

–

y

begin index entry; x=page or no for none; y=indent

.1C

on

y,y

one column
format, on a new page

.2C

–

y,y

begin two column format

.] –

–

n

beginning of refer reference

.[ 0

–

n

end of
unclassifiable type of reference

.[ N

–

n

N= 1:journal-article, 2:book, 3:book-article, 4:report

REGISTERS

Formatting distances can be controlled in -ms 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

PS

point size

paragraph

10

VS

vertical spacing

paragraph

12

LL

line length

paragraph

6i

LT

title length

next page

same as LL

FL

footnote length

next .FS

5.5i

PD

paragraph distance

paragraph

1v (if n), .3v (if t)

DD

display distance

displays

1v (if n), .5v
(if t)

PI

paragraph indent

paragraph

5n

QI

quote indent

next .QP

5n

FI

footnote indent

next .FS

2n

PO

page
offset

next page

0 (if n), ≃1i (if t)

HM

header
margin

next page

1i

FM

footer margin

next page

1i

FF

footnote format

next
.FS

0 (1, 2, 3 available)

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 FF to 1 suppresses footnote superscripting; setting
it to 2 also suppresses indentation of the first line; and setting it
to 3 produces an .IP-like footnote paragraph.

Here is a list of string registers available in -ms; 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)

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