32v 1m eqn
From Computer History Wiki
Contents
NAME
eqn, neqn, checkeq - typeset mathematics
SYNOPSIS
eqn [ -dxy ] [ -pn ] [ -sn ] [ -fn ] [ file ] ...
checkeq [ file ] ...
DESCRIPTION
_E_q_n is a troff(1) preprocessor for typesetting mathematics
on a Graphic Systems phototypesetter, _n_e_q_n on terminals.
Usage is almost always
eqn file ... | troff
neqn file ... | nroff
If no files are specified, these programs reads 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 _e_q_n input. Delimiters may be set to characters _x
and _y with the command-line argument -d_x_y or (more commonly)
with `delim _x_y' 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 _c_h_e_c_k_e_q reports missing or unbalanced delimiters
and .EQ/.EN pairs.
Tokens within _e_q_n 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 _s_u_b _i makes $x sub i$, _a _s_u_b _i _s_u_p _2
produces $a sub i sup 2$, and _e _s_u_p {_x _s_u_p _2 + _y _s_u_p _2}
gives $e sup {x sup 2 + y sup 2}$.
Fractions are made with over: _a _o_v_e_r _b yields $a over b$.
sqrt makes square roots: _1 _o_v_e_r _s_q_r_t {_a_x _s_u_p _2 +_b_x+_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 _l_i_m _f_r_o_m {_n-> _i_n_f } _s_u_m _f_r_o_m _0 _t_o _n _x _s_u_b _i.
Left and right brackets, braces, etc., of the right height
are made with left and right: _l_e_f_t [ _x _s_u_p _2 + _y _s_u_p _2 _o_v_e_r
_a_l_p_h_a _r_i_g_h_t ] ~=~_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: _p_i_l_e {_a _a_b_o_v_e _b _a_b_o_v_e _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: _m_a_t_r_i_x { _l_c_o_l { _x _s_u_b _i _a_b_o_v_e
_y _s_u_b _2 } _c_c_o_l { _1 _a_b_o_v_e _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 _d_o_t = _f(_t) _b_a_r is $x dot = f(t)
bar$, _y _d_o_t_d_o_t _b_a_r ~=~ _n _u_n_d_e_r is $y dotdot bar ~=~ n
under$, and _x _v_e_c ~=~ _y _d_y_a_d 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 glo-
bally in a document by gsize _n and gfont _n, or by the
command-line arguments -s_n and -f_n.
Normally subscripts and superscripts are reduced by 3 point
sizes from the previous size; this may be changed by the
command-line argument -p_n.
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: _d_e_f_i_n_e _t_h_i_n_g % _r_e_p_l_a_c_e_m_e_n_t % defines a new
token called _t_h_i_n_g which will be replaced by _r_e_p_l_a_c_e_m_e_n_t
whenever it appears thereafter. The % may be any character
that does not occur in _r_e_p_l_a_c_e_m_e_n_t.
Keywords like _s_u_m ( sum ) _i_n_t ( int ) _i_n_f ( inf ) and short-
hands like >= (>=) -> (->), and != ( != ) are recognized.
Greek letters are spelled out in the desired case, as in
_a_l_p_h_a or _G_A_M_M_A. Mathematical words like sin, cos, log are
made Roman automatically. _T_r_o_f_f(1) four-character escapes
like \(bs () can be used anywhere. Strings enclosed in dou-
ble quotes "..." are passed through untouched; this permits
keywords to be entered as text, and can be used to communi-
cate with _t_r_o_f_f when all else fails.
SEE ALSO
troff(1), tbl(1), ms(7), eqnchar(7) B. W. Kernighan and L. L. Cherry, _T_y_p_e_s_e_t_t_i_n_g _M_a_t_h_e_m_a_t_i_c_s- _U_s_e_r'_s _G_u_i_d_e J. F. Ossanna, _N_R_O_F_F/_T_R_O_F_F _U_s_e_r'_s _M_a_n_u_a_l
BUGS
To embolden digits, parens, etc., it is necessary to quote
them, as in `bold "12.3"'.