EQN(1) UNIX Programmer's Manual EQN(1) NNAAMMEE eqn, neqn, checkeq - typeset mathematics SSYYNNOOPPSSIISS eeqqnn [ --ddxy ] [ --ppn ] [ --ssn ] [ --ffn ] [ file ] ... cchheecckkeeqq [ file ] ... DDEESSCCRRIIPPTTIIOONN _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 --dd_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 ssuubb and ssuupp.. Thus _x _s_u_b _i makes _x_i, _a _s_u_b _i _s_u_p _2 produces _a_i 2 , and _e _s_u_p {_x _s_u_p _2 + _y _s_u_p _2} gives _e _x2+_y2 . Fractions are made with oovveerr: _a _o_v_e_r _b yields _b _a_. ssqqrrtt makes square roots: _1 _o_v_e_r _s_q_r_t {_a_x _s_u_p _2 +_b_x+_c} results in v/~~~~~~~~_a_x 2 +_b_x+_c 1_________ . Printed 7/9/88 1 EQN(1) UNIX Programmer's Manual EQN(1) The keywords ffrroomm and ttoo introduce lower and upper limits on arbitrary things: _n->oo lim 0 _>_~ _n _x_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 lleefftt and rriigghhtt:: _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 | | | _x 2 + _o( _y 2 __ | | | = 1. The rriigghhtt clause is optional. Legal characters after lleefftt and rriigghhtt are braces, brackets, bars, cc and ff for ceiling and floor, and "" for nothing at all (useful for a right-side-only bracket). Vertical piles of things are made with ppiillee, llppiillee, ccppiillee, and rrppiillee: _p_i_l_e {_a _a_b_o_v_e _b _a_b_o_v_e _c} produces _c _b _a . There can be an arbitrary number of elements in a pile. llppiillee left- justifies, ppiillee and ccppiillee center, with different vertical spacing, and rrppiillee right justifies. Matrices are made with mmaattrriixx: _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 _y2 _x_i 2 1 . In addition, there is rrccooll for a right-justified column. Diacritical marks are made with ddoott, ddoottddoott, hhaatt, ttiillddee, bbaarr, vveecc, ddyyaadd, and uunnddeerr: _x _d_o_t = _f(_t) _b_a_r is _x.=_f(_t)~~~~, _y _d_o_t_d_o_t _b_a_r ~=~ _n _u_n_d_e_r is _y..~ = _n_, and _x _v_e_c ~=~ _y _d_y_a_d is _x->= _y<-->. Sizes and font can be changed with ssiizzee _n or ssiizzee ++___n, rroommaann, iittaalliicc, bboolldd, and ffoonntt _n. Size and fonts can be changed glo- bally in a document by ggssiizzee _n and ggffoonntt _n, or by the command-line arguments --ss_n and --ff_n. Normally subscripts and superscripts are reduced by 3 point sizes from the previous size; this may be changed by the command-line argument --pp_n. Successive display arguments can be lined up. Place mmaarrkk before the desired lineup point in the first equation; place lliinneeuupp at the place that is to line up vertically in subse- quent equations. Shorthands may be defined or existing keywords redefined with ddeeffiinnee: _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 Printed 7/9/88 2 EQN(1) UNIX Programmer's Manual EQN(1) 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 (_>_~) _i_n_t () _i_n_f (oo) 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 keywords to be entered as text, and can be used to communicate with _t_r_o_f_f when all else fails. SSEEEE AALLSSOO 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 BBUUGGSS To embolden digits, parens, etc., it is necessary to quote them, as in `bold "12.3"'. Printed 7/9/88 3