EQN(1) General Commands Manual EQN(1)
delim $$
NAME
eqn, neqn, checkeq  typeset mathematics
SYNOPSIS
eqn [ dxy ] [ fn ] [ pn ] [ sn ] [ filename ] ...
neqn [ filename ] ...
checkeq [ filename ] ...
AVAILABILITY
This command is available with the Text software installation option.
Refer to for information on how to install optional software.
DESCRIPTION
eqn (and neqn) are language processors to assist in describing equa
tions. eqn is a preprocessor for troff(1) and is intended for devices
that can print troff's output. neqn is a preprocessor for nroff(1) and
is intended for use with terminals. Usage is almost always:
example% eqn filename ...  troff
example% neqn filename ...  nroff
If no filenames are specified, eqn and neqn 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.
checkeq reports missing or unbalanced delimiters and .EQ/.EN pairs.
OPTIONS
dxy Set equation delimiters set to characters x and y with the com
mandline argument. The more common way to do this is with
delimxy between .EQ and .EN. The left and right delimiters may
be identical. Delimiters are turned off by delim off appearing
in the text. All text that is neither between delimiters nor
between .EQ and .EN is passed through untouched.
fn Change font to n globally in the document. The font can also be
changed globally in the body of the document by using the gfont
directive.
pn Reduce subscripts and superscripts by n point sizes from the
previous size. In the absence of the p option, subscripts and
superscripts are reduced by 3 point sizes from the previous
size.
sn Change point size to n globally in the document. The point size
can also be changed globally in the body of the document by
using the gsize directive.
EQN LANGUAGE
Tokens within eqn are separated by braces, double quotes, tildes, cir
cumflexes, SPACE, TAB, or NEWLINE characters. 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 (useful for a rightsideonly 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 elements in a pile. lpile leftjusti
fies, 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 rightjusti
fied 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 commandline arguments sn and fn.
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 subsequent 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
whenever it appears thereafter. The % may be any character that does
not occur in replacement.
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, and log are made Roman automatically. troff(1)
fourcharacter escapes like \(bu (o) 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
tbl(1), troff(1), eqnchar(7), ms(7)
BUGS
To embolden digits, parens, etc., it is necessary to quote them, as in
`bold "12.3"'.
20 January 1988 EQN(1)
