EQN(1) EQN(1) delim $$ 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 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 cen‐ tering, 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, dou‐ ble 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-justi‐ fies, 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-justi‐ fied 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 globally 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 subsequent 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 shorthands 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 double quotes "..." are passed through untouched; this permits key‐ words to be entered as text, and can be used to communicate 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"’. 7th Edition May 9, 1986 EQN(1)