**Eqn** is another popular formatter for math formulas. It is
designed for use with the TROFF text formatter, and comes standard
with many versions of Unix. The `d E` (`calc-eqn-language`

)
command selects **eqn** notation.

The **eqn** language's main idiosyncrasy is that whitespace plays
a significant part in the parsing of the language. For example,
``sqrt x+1 + y'` treats ``x+1'` as the argument of the
`sqrt`

operator. **Eqn** also understands more conventional
grouping using curly braces: ``sqrt{x+1} + y'`. Braces are
required only when the argument contains spaces.

In Calc's **eqn** mode, however, curly braces are required to
delimit arguments of operators like `sqrt`

. The first of the
above examples would treat only the ``x'` as the argument of
`sqrt`

, and in fact ``sin x+1'` would be interpreted as
``sin * x + 1'`, because `sin`

is not a special operator
in the **eqn** language. If you always surround the argument
with curly braces, Calc will never misunderstand.

Calc also understands parentheses as grouping characters. Another
peculiarity of **eqn**'s syntax makes it advisable to separate
words with spaces from any surrounding characters that aren't curly
braces, so Calc writes ``sin ( x + y )'` in **eqn** mode.
(The spaces around `sin`

are important to make **eqn**
recognize that `sin`

should be typeset in a roman font, and
the spaces around `x`

and `y`

are a good idea just in
case the **eqn** document has defined special meanings for these
names, too.)

Powers and subscripts are written with the `sub`

and `sup`

operators, respectively. Note that the caret symbol ``^'` is
treated the same as a space in **eqn** mode, as is the ``~'`
symbol (these are used to introduce spaces of various widths into
the typeset output of **eqn**).

As in TeX mode, Calc's formatter omits parentheses around the
arguments of functions like `ln`

and `sin`

if they are
"simple-looking"; in this case Calc surrounds the argument with
braces, separated by a ``~'` from the function name: ``sin~{x}'`.

Font change codes (like ``roman x'`) and positioning codes
(like

`left`

, `right`

,
`mark`

, and `lineup`

. Quotation marks in
Accent codes (`` x dot'`) are handled by treating them as
function calls (

`prime`

accent
is treated specially if it occurs on a variable or function name:
Assignments are written with the ``<-'` (left-arrow) symbol,
and `evalto`

operators are written with ``->'` or
``evalto ... ->'` (see section TeX Language Mode, for a discussion
of this). The regular Calc symbols ``:='` and ``=>'` are also
recognized for these operators during reading.

Vectors in **eqn** mode use regular Calc square brackets, but
matrices are formatted as ``matrix { ccol { a above b } ... }'`.
The words `lcol`

and `rcol`

are recognized as synonyms
for `ccol`

during input, and are generated instead of `ccol`

if the matrix justification mode so specifies.

Go to the first, previous, next, last section, table of contents.