|  | .TH EQN 1 | 
|  | .EQ | 
|  | delim $$ | 
|  | .EN | 
|  | .SH NAME | 
|  | eqn  \- typeset mathematics | 
|  | .SH SYNOPSIS | 
|  | .B eqn | 
|  | [ | 
|  | .I option ... | 
|  | ] | 
|  | [ | 
|  | .I file ... | 
|  | ] | 
|  | .SH DESCRIPTION | 
|  | .I Eqn | 
|  | is a | 
|  | .IR troff (1) | 
|  | preprocessor | 
|  | for typesetting mathematics | 
|  | on a typesetter. | 
|  | Usage is almost always | 
|  | .IP | 
|  | .L | 
|  | eqn file ... | troff | 
|  | .PP | 
|  | If no files are specified, | 
|  | .I eqn | 
|  | reads from the standard input. | 
|  | .I Eqn | 
|  | prepares output for the typesetter | 
|  | named in the | 
|  | .BI -T dest | 
|  | option (default | 
|  | .BR -Tutf ; | 
|  | see | 
|  | .IR troff (1)). | 
|  | When run with other preprocessor filters, | 
|  | .I eqn | 
|  | usually comes last. | 
|  | .PP | 
|  | A line beginning with | 
|  | .B .EQ | 
|  | marks the start of an equation; | 
|  | the end of an equation | 
|  | is marked by a line beginning with | 
|  | .BR .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'; | 
|  | text between delimiters is also | 
|  | .I eqn | 
|  | input. | 
|  | Delimiters may be set to characters | 
|  | .I x | 
|  | and | 
|  | .I y | 
|  | with the option | 
|  | .BI -d xy | 
|  | or (more commonly) with | 
|  | .B delim | 
|  | .I xy | 
|  | between | 
|  | .B .EQ | 
|  | and | 
|  | .BR .EN . | 
|  | Left and right delimiters may be identical. | 
|  | (They are customarily taken to be | 
|  | $font L "$$" )$. | 
|  | Delimiters are turned off by | 
|  | .LR "delim off" . | 
|  | All text that is neither between delimiters nor between | 
|  | .B .EQ | 
|  | and | 
|  | .B .EN | 
|  | is passed through untouched. | 
|  | .PP | 
|  | Tokens within | 
|  | .I 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 | 
|  | .L x | 
|  | could appear, a complicated construction | 
|  | enclosed in braces may be used instead. | 
|  | Tilde | 
|  | .L ~ | 
|  | represents a full space in the output, | 
|  | circumflex | 
|  | .L ^ | 
|  | half as much. | 
|  | .PP | 
|  | .vs 13p | 
|  | Subscripts and superscripts are produced with the keywords | 
|  | .B sub | 
|  | and | 
|  | .BR sup . | 
|  | Thus | 
|  | .L "x sub i" | 
|  | makes | 
|  | $x sub i$, | 
|  | .L "a sub i sup 2" | 
|  | produces | 
|  | $a sub i sup 2$, | 
|  | and | 
|  | .L "e sup {x sup 2 + y sup 2}" | 
|  | gives | 
|  | $e sup {x sup 2 + y sup 2}$. | 
|  | .PP | 
|  | .B Over | 
|  | makes fractions: | 
|  | .L "a over b" | 
|  | yields $a over b$. | 
|  | .PP | 
|  | .B Sqrt | 
|  | produces square roots: | 
|  | .L "1 over sqrt {ax sup 2 +bx+c}" | 
|  | results in | 
|  | $1 over sqrt {ax sup 2 +bx+c}$ . | 
|  | .PP | 
|  | The keywords | 
|  | .B from | 
|  | and | 
|  | .B to | 
|  | introduce lower and upper | 
|  | limits on arbitrary things: | 
|  | $lim from {n -> inf} sum from 0 to n x sub i$ | 
|  | is made with | 
|  | .LR "lim from {n -> inf} sum from 0 to n x sub i" . | 
|  | .PP | 
|  | Left and right brackets, braces, etc., of the right height are made with | 
|  | .B left | 
|  | and | 
|  | .BR right : | 
|  | .L "left [ x sup 2 + y sup 2 over alpha right ] ~=~1" | 
|  | produces | 
|  | $left [ x sup 2 + y sup 2 over alpha right ] ~=~1$. | 
|  | The | 
|  | .B right | 
|  | clause is optional. | 
|  | Legal characters after | 
|  | .B left | 
|  | and | 
|  | .B right | 
|  | are braces, brackets, bars, | 
|  | .B c | 
|  | and | 
|  | .B f | 
|  | for ceiling and floor, | 
|  | and | 
|  | .B | 
|  | "" | 
|  | for nothing at all (useful for a right-side-only bracket). | 
|  | .PP | 
|  | Vertical piles of things are made with | 
|  | .BR pile , | 
|  | .BR lpile , | 
|  | .BR cpile , | 
|  | and | 
|  | .BR rpile : | 
|  | .L "pile {a above b above c}" | 
|  | produces | 
|  | $pile {a above b above c}$. | 
|  | There can be an arbitrary number of elements in a pile. | 
|  | .B lpile | 
|  | left-justifies, | 
|  | .B pile | 
|  | and | 
|  | .B cpile | 
|  | center, with different vertical spacing, | 
|  | and | 
|  | .B rpile | 
|  | right justifies. | 
|  | .PP | 
|  | Matrices are made with | 
|  | .BR matrix : | 
|  | .L "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 | 
|  | .B rcol | 
|  | for a right-justified column. | 
|  | .PP | 
|  | .vs 12p | 
|  | Diacritical marks are made with | 
|  | .BR prime , | 
|  | .BR dot , | 
|  | .BR dotdot , | 
|  | .BR hat , | 
|  | .BR tilde , | 
|  | .BR bar , | 
|  | .BR under , | 
|  | .BR vec , | 
|  | .BR dyad , | 
|  | and | 
|  | .BR under : | 
|  | .L "x sub 0 sup prime = f(t) bar + g(t) under" | 
|  | is | 
|  | $x sub 0 sup prime = f(t) bar + g(t) under$, | 
|  | and | 
|  | .L "x vec = y dyad" | 
|  | is | 
|  | $x vec = y dyad$. | 
|  | .PP | 
|  | Sizes and fonts can be changed with prefix operators | 
|  | .B size | 
|  | .IR n , | 
|  | .B size | 
|  | .BI ± n \f1, | 
|  | .BR fat , | 
|  | .BR roman , | 
|  | .BR italic , | 
|  | .BR bold , | 
|  | or | 
|  | .BR font | 
|  | .IR n . | 
|  | Size and fonts can be changed globally in a document by | 
|  | .B gsize | 
|  | .I n | 
|  | and | 
|  | .B gfont | 
|  | .IR n , | 
|  | or by the command-line arguments | 
|  | .BI -s n | 
|  | and | 
|  | .BI -f n\f1. | 
|  | .PP | 
|  | Normally subscripts and superscripts are reduced by | 
|  | 3 point sizes from the previous size; | 
|  | this may be changed by the command-line argument | 
|  | .BI -p n\f1. | 
|  | .PP | 
|  | Successive display arguments can be lined up. | 
|  | Place | 
|  | .B mark | 
|  | before the desired lineup point in the first equation; | 
|  | place | 
|  | .B lineup | 
|  | at the place that is to line up vertically in subsequent equations. | 
|  | .PP | 
|  | Shorthands may be defined | 
|  | or existing keywords redefined with | 
|  | .BR define : | 
|  | .L define | 
|  | .I thing | 
|  | .L % | 
|  | .I replacement | 
|  | .L % | 
|  | defines a new token called | 
|  | .I thing | 
|  | which will be replaced by | 
|  | .I replacement | 
|  | whenever it appears thereafter. | 
|  | The | 
|  | .L % | 
|  | may be any character that does not occur in | 
|  | .LR replacement . | 
|  | .PP | 
|  | Keywords like | 
|  | .L sum | 
|  | .EQ | 
|  | ( sum ), | 
|  | .EN | 
|  | .L int | 
|  | .EQ | 
|  | ( int ), | 
|  | .EN | 
|  | .L inf | 
|  | .EQ | 
|  | ( inf ), | 
|  | .EN | 
|  | and shorthands like | 
|  | .L >= | 
|  | .EQ | 
|  | (>=), | 
|  | .EN | 
|  | .L -> | 
|  | .EQ | 
|  | (->), | 
|  | .EN | 
|  | and | 
|  | .L != | 
|  | .EQ | 
|  | ( != ) | 
|  | .EN | 
|  | are recognized. | 
|  | Greek letters are spelled out in the desired case, as in | 
|  | .L alpha | 
|  | or | 
|  | .LR GAMMA . | 
|  | Mathematical words like | 
|  | .LR sin , | 
|  | .LR cos , | 
|  | .L log | 
|  | are made Roman automatically. | 
|  | .IR Troff (1) | 
|  | four-character escapes like | 
|  | .L \e(lh | 
|  | (\(lh) 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 | 
|  | .I troff | 
|  | when all else fails. | 
|  | .SH FILES | 
|  | .TF /sys/lib/troff/font/devutf | 
|  | .TP | 
|  | .B /sys/lib/troff/font/devutf | 
|  | font descriptions for PostScript | 
|  | .SH SOURCE | 
|  | .B /sys/src/cmd/eqn | 
|  | .SH "SEE ALSO" | 
|  | .IR troff (1), | 
|  | .IR tbl (1) | 
|  | .br | 
|  | J. F. Ossanna and B. W. Kernighan, | 
|  | ``Troff User's Manual''. | 
|  | .br | 
|  | B. W. Kernighan and L. L. Cherry, | 
|  | ``Typesetting Mathematics\(emUser's Guide'', | 
|  | .I | 
|  | Unix Research System Programmer's Manual, | 
|  | Tenth Edition, Volume 2. | 
|  | .SH BUGS | 
|  | To embolden digits, parens, etc., | 
|  | it is necessary to quote them, | 
|  | as in | 
|  | .LR bold\ "12.3" . | 
|  | .EQ | 
|  | delim off | 
|  | .EN |