SEQN(1) UNIX Programmer's Manual SEQN(1) NAME seqn - typeset mathematics SYNOPSIS seqn [ -dxy ] [ -pn ] [ -sn ] [ -fn ] [ file ] ... DESCRIPTION delim $$ _S_e_q_n is a sroff(1) preprocessor for typesetting mathematics on a Sanders Media 12/7 printer. Usage is almost always seqn file ... | sroff If no files are specified, seqn 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 begin- ning with `.EN'. Neither of these lines is altered, so they may be defined in macro packages to get centering, number- ing, etc. It is also possible to set two characters as `delimiters'; subsequent text between delimiters is also treated as _s_e_q_n input. Delimiters may be set to characters _x and _y with the command-line argument -d_x_y or (more com- monly) 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 delim- iters nor between .EQ and .EN is passed through untouched. Tokens within _s_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 Printed 7/25/83 1 SEQN(1) UNIX Programmer's Manual SEQN(1) 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. _S_r_o_f_f(1) four-character escapes like \(dg (|-) can be used anywhere. Strings enclosed in double quotes "..." are passed through untouched; this per- mits keywords to be entered as text, and can be used to com- municate with _s_r_o_f_f when all else fails. SEE ALSO Printed 7/25/83 2 SEQN(1) UNIX Programmer's Manual SEQN(1) sroff(1), tbl(1), eqnchar(7), ms(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 M. J. Karels, _S_R_O_F_F _R_e_f_e_r_e_n_c_e _M_a_n_u_a_l BUGS To embolden digits, parens, etc., it is necessary to quote them, as in `bold "12.3"'. The "from" and "to" keywords to print limits for an integral don't space properly for the big integral ("bint"). Printed 7/25/83 3