version 1.5, 2011/07/21 10:24:35 |
version 1.16, 2011/07/22 14:26:32 |
Line 59 these are not the same as |
|
Line 59 these are not the same as |
|
macros, and may only be invoked as |
macros, and may only be invoked as |
.Sq \&.EQ . |
.Sq \&.EQ . |
.Pp |
.Pp |
The equation grammar is as follows: |
The equation grammar is as follows, where quoted strings are |
|
case-sensitive literals in the input: |
.Bd -literal -offset indent |
.Bd -literal -offset indent |
eqn : box | eqn box |
eqn : box | eqn box |
box : text |
box : text |
| DEFINE text text |
| "{" eqn "}" |
| SET text text |
| "define" text text |
| UNDEF text |
| "set" text text |
|
| "undef" text |
|
| box pos box |
|
| box mark |
|
| pile "{" list "}" |
|
| font box |
|
| "size" text box |
|
| "left" text eqn ["right" text] |
text : TEXT |
text : TEXT |
|
pile : "lpile" | "cpile" | "rpile" |
|
pos : "over" | "sup" | "sub" | "to" | "from" |
|
mark : "dot" | "dotdot" | "hat" | "tilde" | "vec" |
|
| "dyad" | "bar" | "under" |
|
font : "roman" | "italic" | "bold" |
|
list : eqn |
|
| list "above" eqn |
.Ed |
.Ed |
.Pp |
.Pp |
Data in TEXT form is a non-empty sequence of non-space characters or a |
Data in TEXT form is a non-empty sequence of non-space characters or a |
non-empty quoted string. |
non-empty quoted string. |
Unless within a quoted string, white-space (and enclosing literal quote |
Unless within a quoted string, white-space (and enclosing literal quote |
pairs) is thrown away. |
pairs) is thrown away. |
|
Quoted strings are not scanned for replacement definitions. |
.Pp |
.Pp |
|
The following TEXT terms are translated into a rendered glyph, if |
|
available: alpha, beta, chi, delta, epsilon, eta, gamma, iota, kappa, |
|
lambda, mu, nu, omega, omicron, phi, pi, psi, rho, sigma, tau, theta, |
|
upsilon, xi, zeta, DELTA, GAMMA, LAMBDA, OMEGA, PHI, PI, PSI, SIGMA, |
|
THETA, UPSILON, XI, inter (intersection), union (union), prod (product), |
|
int (integral), sum (summation), grad (gradient), del (vector |
|
differential), times (multiply), cdot (centre-dot), nothing (zero-width |
|
space), approx (approximately equals), prime (prime), half (one-half), |
|
partial (partial differential), inf (infinity), >> (much greater), << |
|
(much less), \-> (left arrow), <\- (right arrow), += (plus-minus), != |
|
(not equal), == (equivalence), <= (less-than-equal), and >= |
|
(more-than-equal). |
|
.Pp |
The following control statements are available: |
The following control statements are available: |
.Bl -tag -width Ds |
.Bl -tag -width Ds |
.It Cm define |
.It Cm define |
Line 99 Note that a quoted |
|
Line 128 Note that a quoted |
|
causes errors in some |
causes errors in some |
.Nm |
.Nm |
implementations and should not be considered portable. |
implementations and should not be considered portable. |
|
It is not expanded for replacements. |
Definitions may refer to other definitions; these are evaluated |
Definitions may refer to other definitions; these are evaluated |
recursively when text replacement occurs and not when the definition is |
recursively when text replacement occurs and not when the definition is |
created. |
created. |
Line 114 Self-referencing definitions will raise an error. |
|
Line 144 Self-referencing definitions will raise an error. |
|
.It Cm set |
.It Cm set |
Set an equation mode. |
Set an equation mode. |
Both arguments are thrown away. |
Both arguments are thrown away. |
|
Its syntax is as follows: |
|
.Pp |
|
.D1 set Ar key val |
|
.Pp |
|
The |
|
.Ar key |
|
and |
|
.Ar val |
|
are not expanded for replacements. |
.It Cm undef |
.It Cm undef |
Unset a previously-defined key. |
Unset a previously-defined key. |
Its syntax is as follows: |
Its syntax is as follows: |
Line 123 Its syntax is as follows: |
|
Line 162 Its syntax is as follows: |
|
Once invoked, the definition for |
Once invoked, the definition for |
.Ar key |
.Ar key |
is discarded. |
is discarded. |
|
The |
|
.Ar key |
|
is not expanded for replacements. |
.El |
.El |
.Sh COMPATIBILITY |
.Sh COMPATIBILITY |
This section documents the compatibility of mandoc |
This section documents the compatibility of mandoc |
Line 166 In mandoc, this is interpreted as a comment. |
|
Line 208 In mandoc, this is interpreted as a comment. |
|
.%D 1978 |
.%D 1978 |
.Re |
.Re |
.Sh HISTORY |
.Sh HISTORY |
The eqn utility, a preprocessor for troff, was originally written by |
The eqn utility, a preprocessor for troff, was originally written by |
Brian W. Kernighan and Lorinda L. Cherry in 1975. |
Brian W. Kernighan and Lorinda L. Cherry in 1975. |
The GNU reimplementation of eqn, part of the GNU troff package, was |
The GNU reimplementation of eqn, part of the GNU troff package, was |
released in 1989 by James Clark. |
released in 1989 by James Clark. |