EQN(1) EQN(1)
**delim $$**
**NAME**
eqn, neqn, checkeq - typeset mathematics
**SYNOPSIS**
eqn [ *-dxy* ] [ *-pn* ] [ *-sn* ] [ *-fn* ] [ file ] ...
checkeq [ file ] ...
**DESCRIPTION**
Eqn is a troff(1) preprocessor for typesetting mathematics on a Graphic Systems phototype-
setter, neqn on terminals. Usage is almost always
eqn file ... | troff
neqn file ... | nroff
If no files are specified, these programs read from the standard input. A line beginning
with `.EQ' marks the start of an equation; the end of an equation is marked by a line
beginning with `.EN'. Neither of these lines is altered, so they may be defined in macro
packages to get centering, numbering, etc. It is also possible to set two characters as
`delimiters'; subsequent text between delimiters is also treated as eqn input. Delimiters
may be set to characters x and y with the command-line argument *-dxy* or (more commonly)
with `delim xy' between .EQ and .EN. The left and right delimiters may be identical.
Delimiters are turned off by `delim off'. All text that is neither between delimiters nor
between .EQ and .EN is passed through untouched.
The program checkeq reports missing or unbalanced delimiters and .EQ/.EN pairs.
Tokens within eqn are separated by spaces, tabs, newlines, braces, double quotes, tildes
or circumflexes. Braces {} are used for grouping; generally speaking, anywhere a single
character like x could appear, a complicated construction enclosed in braces may be used
instead. Tilde ~ represents a full space in the output, circumflex ^ half as much.
Subscripts and superscripts are produced with the keywords sub and sup. Thus x sub i
makes $x sub i$, a sub i sup 2 produces $a sub i sup 2$, and e sup {x sup 2 + y sup 2}
gives $e sup {x sup 2 + y sup 2}$.
Fractions are made with over: a over b yields $a over b$.
sqrt makes square roots: 1 over sqrt {ax sup 2 +bx+c} results in $1 over sqrt {ax sup 2
+bx+c}$ .
The keywords from and to introduce lower and upper limits on arbitrary things: $lim from
{n-> inf} sum from 0 to n x sub i$ is made with lim from {n-> inf } sum from 0 to n x sub
i.
Left and right brackets, braces, etc., of the right height are made with left and right:
left [ x sup 2 + y sup 2 over alpha right ] ~=~1 produces $left [ x sup 2 + y sup 2 over
alpha right ] ~=~1$. The right clause is optional. Legal characters after left and right
are braces, brackets, bars, c and f for ceiling and floor, and "" for nothing at all (use-
ful for a right-side-only bracket).
Vertical piles of things are made with pile, lpile, cpile, and rpile: pile {a above b
above c} produces $pile {a above b above c}$. There can be an arbitrary number of ele-
ments in a pile. lpile left-justifies, pile and cpile center, with different vertical
spacing, and rpile right justifies.
Matrices are made with matrix: matrix { lcol { x sub i above y sub 2 } ccol { 1 above 2 }
} produces $matrix { lcol { x sub i above y sub 2 } ccol { 1 above 2 } }$. In addition,
there is rcol for a right-justified column.
Diacritical marks are made with dot, dotdot, hat, tilde, bar, vec, dyad, and under: x dot
= f(t) bar is $x dot = f(t) bar$, y dotdot bar ~=~ n under is $y dotdot bar ~=~ n under$,
and x vec ~=~ y dyad is $x vec ~=~ y dyad$.
Sizes and font can be changed with size n or size +-n, roman, italic, bold, and font n.
Size and fonts can be changed globally in a document by gsize n and gfont n, or by the
command-line arguments *-sn* and *-fn.
* Normally subscripts and superscripts are reduced by 3 point sizes from the previous size;
this may be changed by the command-line argument *-pn.
* Successive display arguments can be lined up. Place mark before the desired lineup point
in the first equation; place lineup at the place that is to line up vertically in subse-
quent equations.
Shorthands may be defined or existing keywords redefined with define: define thing %
replacement % defines a new token called thing which will be replaced by replacement when-
ever it appears thereafter. The % may be any character that does not occur in replace-
ment.
Keywords like sum ( sum ) int ( int ) inf ( inf ) and shorthands like >= (>=) -> (->), and
!= ( != ) are recognized. Greek letters are spelled out in the desired case, as in alpha
or GAMMA. Mathematical words like sin, cos, log are made Roman automatically. Troff(1)
four-character escapes like \(bs () can be used anywhere. Strings enclosed in double
quotes "..." are passed through untouched; this permits keywords to be entered as text,
and can be used to communicate with troff when all else fails.
**SEE ALSO**
troff(1), tbl(1), ms(7), eqnchar(7)
B. W. Kernighan and L. L. Cherry, Typesetting Mathematics--User's Guide
J. F. Ossanna, NROFF/TROFF User's Manual
**BUGS**
To embolden digits, parens, etc., it is necessary to quote them, as in `bold "12.3"'.
**7th Edition** May 9, 1986 EQN(1)