Amiga Unix — 68040 · 68060

Manual pages › BSD versions of commands (1B)

eqn(1B)

typeset mathematics

From the original Amiga UNIX 2.1 manual. Some things it mentions may not be in this release.

NAME

eqn, neqn, checkeq - typeset mathematics

SYNOPSIS

/usr/ucb/eqn [ -dxy ] [ -fn ] [ -pn ] [ -sn ] [  filename  ]
...   /usr/ucb/neqn  [  filename  ]  ...  /usr/ucb/checkeq [
filename ] ...

DESCRIPTION

The eqn and neqn commands are language processors to assist in describing equations. eqn is a preprocessor for troff(1) and is intended for devices that can print troff's output. neqn is a preprocessor for nroff(1) and is intended for use with terminals. checkeq reports missing or unbalanced delimiters and .EQ/.EN pairs. If no filenames are specified, eqn and neqn read 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 eqn input. The following options are available for eqn and neqn:

-dxy Set equation delimiters set to characters x and y  with
     the  command-line  argument.  The more common way to do
     this is with delimxy between .EQ and .EN.  The left and
     right  delimiters  may  be  identical.   Delimiters are
     turned off by delim off appearing  in  the  text.   All
     text that is neither between delimiters nor between .EQ
     and .EN is passed through untouched.

-fn Change font to n globally in the document. The font can also be changed globally in the body of the document by using the gfont directive.

-pn Reduce subscripts and superscripts by n point sizes from the previous size. In the absence of the -p option, subscripts and superscripts are reduced by 3 point sizes from the previous size.

-sn Set equations in point size n globally in the document. The point size can also be changed globally in the body of the document by using the gsize directive.

-Tdev

Prepare output for device dev. If no -T option is present, eqn looks at the environment variable TYPESETTER to see what the intended output device is. If no such variable is found in the environment, a system-dependent default device is assumed. Not available using neqn.

USAGE

eqn Language

 Tokens within eqn are separated by  braces,  double  quotes,
 tildes,  circumflexes,  SPACE,  TAB,  or NEWLINE characters.
 Braces {} are used for grouping;  generally  speaking,  any-
 where  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 sub i' makes  x  , `a sub
 i sup 2' produces a2, and `e sup {x sup 2 + y sup i}'  gives
  x2+y2             i                                      _
 e     .  Fractions are made with over:  `a over b' yields  .
 sqrt makes square roots:  `1 over down 10  sqrt  {ax  sup b2
 +bx+c}' results in
           1
      __________.
      \/ax2+bx+c
 Although eqn tries to get most things at the right place  on
 the  paper, occasionally you will need to tune the output to
 make it just  right.   In  the  previous  example,  a  local
 motion,  down  10  was  used  to  get more space between the
 square root and the line above it.  The keywords from and to
 intronuce  lower  and  upper  limits  on  arbitrary  things:

  lim Rxi is made with `lim       from {n-> inf } sum from 0 to n x
 n->oo0
 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
                        2
                  | 2  __|
                  |x +   | = 1.
                  |    A |

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
b.   There  can be an arbitrary number of elements in a pile.
c
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  }
                                 i   .  In addition, there is
ccol  { 1 above 2 } }' produces     2
rcol for a right-justified  coluyn.   Diacritical  marks  are
made with dot, dotdot,.h__,_tilde, bar, vec, dyad, and under:
.x dot = f(t) bar' is x=f(t), `y dotdot bar ~=~ n  under'  is
y = _,  and  `x vec ~=~ y dyad' is x>= y>  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.   Successive  display  arguments  can  be lined up.
Place mark before the desired lineup point in the first equa-
tion; place lineup at the place that is to line up vertically
in subsequent equations.  Shorthands may be defined or exist-
ing keywords redefined with define:

      define thing % replacement % defines a new token called
      thing which will be replaced by replacement whenever it
      appears thereafter.  The % may be  any  character  that
      does  not occur in replacement.  Keywords like sum (R),
      int (^), inf (oo), and shorthands like >= (>), -> (->),
      and  !=  (/) are recognized.  Greek letters are spelled
      out  in  the  desired  case,  as  in  alpha  or  GAMMA.
      Mathematical  words  like  sin,  cos,  and log are made
      Roman automatically.  troff(1)  four-character  escapes
      like  \(bu  (•) 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 troff when all else fails.

EXAMPLE

eqn filename ... | troff neqn filename ... | nroff

SEE ALSO

tbl(1), troff(1), eqnchar(7), ms(7)

NOTES

To embolden digits, parens, etc., it is necessary to quote them, as in bold "12.3".