EQN(1)EQN(1)
unhandled troff command .EQ
delim $$
unhandled troff command .EN
NAME
eqn – typeset mathematics
SYNOPSIS
eqn
[
option ...
]
[
file ...
]
DESCRIPTION
Eqn
is a
troff(1)
preprocessor
for typesetting mathematics
on a typesetter.
Usage is almost always
eqn file ... | troff
If no files are specified,
eqn
reads from the standard input.
Eqn
prepares output for the typesetter
named in the
-Tdest
option (default
-Tutf;
see
troff(1)).
When run with other preprocessor filters,
eqn
usually comes last.
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’;
text between delimiters is also
eqn
input.
Delimiters may be set to characters
x
and
y
with the option
-dxy
or (more commonly) with
delim
xy
between
.EQ
and
.EN.
Left and right delimiters may be identical.
(They are customarily taken to be
$font L "$$" )$.
Delimiters are turned off by
delim off .
All text that is neither between delimiters nor between
.EQ
and
.EN
is passed through untouched.
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.
unhandled troff command .vs
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}$.
Over
makes fractions:
a over b
yields $a over b$.
Sqrt
produces 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 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 elements 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.
unhandled troff command .vs
Diacritical marks are made with
prime,
dot,
dotdot,
hat,
tilde,
bar,
under,
vec,
dyad,
and
under:
x sub 0 sup prime = f(t) bar + g(t) under
is
$x sub 0 sup prime = f(t) bar + g(t) under$,
and
x vec = y dyad
is
$x vec = y dyad$.
Sizes and fonts can be changed with prefix operators
size
n,
size
±n,
fat,
roman,
italic,
bold,
or
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 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
unhandled troff command .EQ
( sum ),
unhandled troff command .EN
int
unhandled troff command .EQ
( int ),
unhandled troff command .EN
inf
unhandled troff command .EQ
( inf ),
unhandled troff command .EN
and shorthands like
>=
unhandled troff command .EQ
(>=),
unhandled troff command .EN
->
unhandled troff command .EQ
(->),
unhandled troff command .EN
and
!=
unhandled troff command .EQ
( != )
unhandled troff command .EN
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
\(lh
(\(lh) 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.
FILES
/sys/lib/troff/font/devutf
font descriptions for PostScript
SOURCE
/sys/src/cmd/eqn
SEE ALSO
troff(1),
tbl(1)
J. F. Ossanna and B. W. Kernighan,
“Troff User’s Manual”.
B. W. Kernighan and L. L. Cherry,
“Typesetting MathematicsUser’s Guide”,
Unix Research System Programmer’s Manual,
Tenth Edition, Volume 2.
BUGS
To embolden digits, parens, etc.,
it is necessary to quote them,
as in
bold 12.3 .
unhandled troff command .EQ
delim off
unhandled troff command .EN