eqn(1) (BSD Compatibility Package) eqn(1)
NAME
eqn, neqn, checkeq - typeset mathematics
SYNOPSIS
/usr/ucb/eqn [ -dxy ] [ -fn ] [ -pn ] [ -sn ] [ filename ] ...
/usr/ucb/neqn [ filename ] ...
/usr/ucb/checkeq [ filename ] ...
DESCRIPTION
The eqn and neqn commands are language processors to assist in
describing equations. 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.
checkeq reports missing or unbalanced delimiters and .EQ/.EN pairs.
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.
The following options are available for eqn and neqn:
-dxy Set equation delimiters set to characters x and y with the
command-line 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 Set equations in point size n globally in the document. The
point size can also be changed globally in the body of the
document by using the gsize directive.
-Tdev Prepare output for device dev. If no -T option is present, eqn
looks at the environment variable TYPESETTER to see what the
intended output device is. If no such variable is found in the
8/91 Page 1
eqn(1) (BSD Compatibility Package) eqn(1)
environment, a system-dependent default device is assumed. Not
available using neqn.
USAGE
eqn Language
Tokens within eqn are separated by braces, double quotes, tildes,
circumflexes, 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 subaa
nd
nd`e
sup.{xTsup 2x+subsip 2}'
keg
sive
xi
s ,
ex2
`aysub i sup 2' produces ai
a.
Fractions are made with over: `a over b' yields b
sqrt makes square roots: `1 over down 10 sqrt {ax sup 2 +bx+c}'
results in
_____1____.
________
\|ax2+bx+c
Although eqn tries to get most things at the right place on the
paper, occasionally you will need to tune the output to make it just
right. In the previous example, a local motion, down 10 was used to
get more space between the square root and the line above it.
The keywords from and tonintroduce lower and upper limits on
arbitrary things: lim ≳xi is made with `lim from {n-> inf } sum
from 0 to n x sub i'
n-
.>oo0
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 |
| y2| = 1.
|x2+α |
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 right-side-only bracket).
Vertical piles of things are made wia
th pile, lpile, cpile, and rpile:
`pile {a above b above c}' produces b. There can be an arbitrary
number of elements in a pile. lpile c
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 xi
y2
1
2
. In addition, there is rcol
Page 2 8/91
eqn(1) (BSD Compatibility Package) eqn(1)
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=f(t), `y dotdot bar ~=~ n
under' is y = n, and `x vec ~=~ y dyad' is x = y.
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.
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 (≳), int (∫), inf (oo), 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) four-character
escapes like \(bu (⊕) 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.
EXAMPLE
eqn filename ... | troff
neqn filename ... | nroff
SEE ALSO
tbl(1), troff(1), eqnchar(7), ms(7)
NOTES
To embolden digits, parens, etc., it is necessary to quote them, as
in bold "12.3".
8/91 Page 3