version 1.12, 2011/07/21 15:21:13 |
version 1.20, 2011/07/23 12:01:54 |
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 |
| { eqn } |
| \*q{\*q eqn \*q}\*q |
| DEFINE text text |
| \*qdefine\*q text text |
| SET text text |
| \*qgfont\*q text |
| UNDEF text |
| \*qgsize\*q text |
|
| \*qset\*q text text |
|
| \*qundef\*q text |
| box pos box |
| box pos box |
| box mark |
| box mark |
|
| \*qmatrix\*q \*q{\*q [col \*q{\*q list \*q}\*q ]* |
|
| pile \*q{\*q list \*q}\*q |
| font box |
| font box |
| SIZE text box |
| \*qsize\*q text box |
text : TEXT |
| \*qleft\*q text eqn [\*qright\*q text] |
pos : OVER |
col : \*qlcol\*q | \*qrcol\*q | \*qccol\*q |
| SUP |
text : [^space\e\*q]+ | \e\*q.*\e\*q |
| SUB |
pile : \*qlpile\*q | \*qcpile\*q | \*qrpile\*q |
| TO |
pos : \*qover\*q | \*qsup\*q | \*qsub\*q | \*qto\*q | \*qfrom\*q |
| FROM |
mark : \*qdot\*q | \*qdotdot\*q | \*qhat\*q | \*qtilde\*q | \*qvec\*q |
mark : DOT |
| \*qdyad\*q | \*qbar\*q | \*qunder\*q |
| DOTDOT |
font : \*qroman\*q | \*qitalic\*q | \*qbold\*q |
| HAT |
list : eqn |
| TILDE |
| list \*qabove\*q eqn |
| VEC |
space : [\e^~ \et] |
| DYAD |
|
| BAR |
|
| UNDER |
|
font : ROMAN |
|
| ITALIC |
|
| BOLD |
|
.Ed |
.Ed |
.Pp |
.Pp |
Data in TEXT form is a non-empty sequence of non-space characters or a |
White-space consists of the space, tab, circumflex, and tilde |
non-empty quoted string. |
characters. |
Unless within a quoted string, white-space (and enclosing literal quote |
If within a quoted string, these space characters are retained. |
pairs) is thrown away. |
Quoted strings are also not scanned for replacement definitions. |
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 |
|
|
.Ed |
.Ed |
.Pp |
.Pp |
Self-referencing definitions will raise an error. |
Self-referencing definitions will raise an error. |
|
.It Cm gfont |
|
Set the default font of subsequent output. |
|
Its syntax is as follows: |
|
.Pp |
|
.D1 gfont Ar font |
|
.Pp |
|
In mandoc, this value is discarded. |
|
.It Cm gsize |
|
Set the default size of subsequent output. |
|
Its syntax is as follows: |
|
.Pp |
|
.D1 gsize Ar size |
|
.Pp |
|
The |
|
.Ar size |
|
value should be an integer. |
.It Cm set |
.It Cm set |
Set an equation mode. |
Set an equation mode. |
Both arguments are thrown away. |
In mandoc, both arguments are thrown away. |
Its syntax is as follows: |
Its syntax is as follows: |
.Pp |
.Pp |
.D1 set Ar key val |
.D1 set Ar key val |
|
|
.Sq \e\*q |
.Sq \e\*q |
is interpreted as a literal quote in troff. |
is interpreted as a literal quote in troff. |
In mandoc, this is interpreted as a comment. |
In mandoc, this is interpreted as a comment. |
|
.It |
|
In troff, The circumflex and tilde white-space symbols map to |
|
fixed-width spaces. |
|
In mandoc, these characters are synonyms for the space character. |
.El |
.El |
.Sh SEE ALSO |
.Sh SEE ALSO |
.Xr mandoc 1 , |
.Xr mandoc 1 , |
Line 201 In mandoc, this is interpreted as a comment. |
|
Line 232 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. |