Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

mm(1)

mmt(1)

nroff(1)

tbl(1)

troff(1)

eqnchar(5)

mm(5)

mv(5)

     delim $$

     NAME
          eqn, neqn, checkeq - format mathematical text

     SYNOPSIS
          eqn [-dxy] [-pn] [-sn] [-fn] [-Tdest] [files]

          neqn [-dxy] [-pn] [-sn] [-fn] [files]

          checkeq [files]

     DESCRIPTION
          eqn is a troff(1) preprocessor for typesetting mathematical
          text on a phototypesetter or laser printer, while neqn is
          used for the same purpose with nroff on typewriter-like
          terminals.  Usage is almost always:

               eqn files | troff
               neqn files | nroff

          or equivalent.

          If no files are specified (or if - is specified as the last
          argument), these programs read the standard input.  eqn
          prepares output for the typesetter named in the -T flag
          option.  Currently supported devices are -Taps (Autologic
          APS-5), -TX97 (Xerox 9700), -Ti10 (Imagen Imprint-10), and
          -Tcat (Wang CAT).  Default is -Taps.

          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 designate two characters as
          delimiters; subsequent text between delimiters is then
          treated as eqn 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 the same character; the dollar sign is
          often used as such a delimiter.  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 checkeq reports missing or unbalanced delimiters
          and .EQ/.EN pairs.

          Tokens within eqn are separated by spaces, tabs, newlines,
          braces, double quotes, tildes, and carets.  Braces {} are
          used for grouping; generally speaking, anywhere a single
          character such as x could appear, a complicated construction
          enclosed in braces may be used instead.  Tilde (~)
          represents a full space in the output, caret (^), half as
          much.

          Subscripts and superscripts are produced with the keywords
          sub and sup.  Thus,
               x sub j
          produces:



     Page 1                                        (last mod. 1/16/87)





     eqn(1)                                                     eqn(1)



               $x sub j$,

               a sub k sup 2
          produces:
               $a sub k sup 2$,
          while
               $e sup {x sup 2 + y sup 2}$
          is made with e sup {x sup 2 + y sup 2}.

          Fractions are produced 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:
               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$.

          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).  A left thing
          need not have a matching right thing.

          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}$.
          Piles may have arbitrary numbers of elements; lpile left-
          justifies, pile and cpile center (but with different
          vertical spacing), and rpile right justifies.

          Matrixes 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.



     Page 2                                        (last mod. 1/16/87)





     eqn(1)                                                     eqn(1)



          Diacritical marks are made with dot, dotdot, hat, tilde,
          bar, vec, dyad, and under:

               x dot = f(t) bar
          is
               $x dot = f(t) bar$,

               y dotdot bar ~=~ n under
          is
               $y dotdot bar ~=~ n under$,

          and
               x vec ~=~ y dyad
          is
               $x vec ~=~ y dyad$.

          Point sizes and fonts can be changed with size n or size +n,
          roman, italic, bold, and font n.  Point sizes 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
          points 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
          subsequent equations.

          Shorthands may be defined or existing keywords redefined
          with define:

               define thing % replacement %

          defines a new token called thing that will be replaced by
          replacement whenever it appears thereafter.  The % may be
          any character that does not occur in replacement.

          Keywords such as sum ( sum ), int ( int ), inf ( inf ), and
          shorthands such as >= (>=), != ( != ), and -> (->) are
          recognized.  Greek letters are spelled out in the desired
          case, as in alpha ( alpha ), or GAMMA ( GAMMA ).
          Mathematical words such as sin, cos, and log are made Roman
          automatically.  troff(1) four-character escapes such as \(dd
          (‡) may 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
          troff(1) when all else fails.  Full details are given in the
          manual cited below.

     EXAMPLE



     Page 3                                        (last mod. 1/16/87)





     eqn(1)                                                     eqn(1)



               eqn file1 | troff

          would process the file file1 with the preprocessor before
          formatting it with troff.

     FILES
          /bin/eqn

     SEE ALSO
          mm(1), mmt(1), nroff(1), tbl(1), troff(1), eqnchar(5),
          mm(5), mv(5).
          ``eqn Reference'' and ``Other Text Processing Tools'' in
          Oreo Text Processing Tools.

     BUGS
          To embolden digits, parentheses, etc., it is necessary to
          quote them, as in bold "12.3".
          See also BUGS under troff(1).





































     Page 4                                        (last mod. 1/16/87)



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026