eqn(1) USER COMMANDS 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 del-
imiters 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 equa-
tion 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 pos-
sible 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 docu-
ment 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 environment, a
system-dependent default device is assumed. Not avail-
able using neqn.
Last change: BSD Compatibility Package 1
eqn(1) USER COMMANDS eqn(1)
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, any-
where 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 , `a sub
i sup 2' produces a2, and `e sup {x sup 2 + y sup 2
i}' gives
x2+y2 i a
e . Fractions are made with over: `a over b' yields .
sqrt makes square roots: `1 over down 10 sqrt {ax sup b2
+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 to
introd
nuce lower and upper limits on arbitrary things:
lim Σxi is made with `lim from {n-> inf } sum from 0 to n x
n->oo0
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
2
| 2 y_|
|x + | = 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 right-side-
only bracket). Vertical piles of things are made with pile,
lpile, cpile, and rpile: `pile {a above b above c}' produces
b. There can be an arbitrary number of elements in a pile.
c
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 }
i . In addition, there is
ccol { 1 above 2 } }' produces 2
rcol for a right-justified colum
y2
n. 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
Last change: BSD Compatibility Package 2
eqn(1) USER COMMANDS eqn(1)
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 equa-
tion; place lineup at the place that is to line up vertically
in subsequent equations. Shorthands may be defined or exist-
ing 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".
Last change: BSD Compatibility Package 3