EQN(1) EQN(1) delim $$ NAME eqn, neqn, checkeq - typeset mathematics SYNOPSIS eqn [ -dxy ] [ -pn ] [ -sn ] [ -fn ] [ -Tdest ] [ file ] ... neqn [ option ] ... [ file ] ... checkeq [ file ] ... DESCRIPTION Eqn is a troff(1) preprocessor for typesetting mathematics on a phototypesetter, neqn on terminals. Usage is almost always eqn file ... | troff neqn file ... | nroff If no files are specified, these programs read from the standard input. Eqn prepares output for the typesetter named in the -T option (Mergenthaler Linotron 202 default, see troff(1)). 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 _eeee_qqqq_nnnn input. Delimiters may be set to characters x and y with the command-line argument -dxy or (more commonly) with `delim xy' 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. Checkeq reports missing or unbalanced delimiters and .EQ/.EN pairs. 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, and tab represents an ordinary troff tab character. 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} EQN(1) EQN(1) gives $e sup {x sup 2 + y sup 2}$. Fractions are made with over: a over b yields $a over b$. sqrt makes 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. 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 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 -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 subse- quent 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 EQN(1) EQN(1) whenever it appears thereafter. The % may be any character that does not occur in replacement. Keywords like sum ( sum ) int ( int ) inf ( inf ) and short- hands like >= (>=) -> (->), and != ( != ) 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 () 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 troff when all else fails. SEE ALSO troff(1), tbl(1), ms(7), eqnchar(7), doctype(1) B. W. Kernighan and L. L. Cherry, _TTTT_yyyy_pppp_eeee_ssss_eeee_tttt_tttt_iiii_nnnn_gggg _MMMM_aaaa_tttt_hhhh_eeee_mmmm_aaaa_tttt_iiii_cccc_ssss- _UUUU_ssss_eeee_rrrr'_ssss _GGGG_uuuu_iiii_dddd_eeee J. F. Ossanna, _NNNN_RRRR_OOOO_FFFF_FFFF/_TTTT_RRRR_OOOO_FFFF_FFFF _UUUU_ssss_eeee_rrrr'_ssss _MMMM_aaaa_nnnn_uuuu_aaaa_llll BUGS To embolden digits, parens, etc., it is necessary to quote them, as in `bold "12.3"'.