version 1.1, 2011/02/09 10:03:02 |
version 1.18, 2011/07/22 14:59:02 |
|
|
.Xr mdoc 7 |
.Xr mdoc 7 |
or |
or |
.Xr man 7 |
.Xr man 7 |
are enclosed by the |
documents are enclosed by the standalone |
.Sq EQ |
.Sq \&.EQ |
and |
and |
.Sq EN |
.Sq \&.EN |
macro tags, whose precise syntax is documented in |
tags. |
.Xr roff 7 . |
Equations are multi-line blocks consisting of formulas and control |
Equations consist of multi-line equation data. |
statements. |
|
.Sh EQUATION STRUCTURE |
|
Each equation is bracketed by |
|
.Sq \&.EQ |
|
and |
|
.Sq \&.EN |
|
strings. |
|
.Em Note : |
|
these are not the same as |
|
.Xr roff 7 |
|
macros, and may only be invoked as |
|
.Sq \&.EQ . |
|
.Pp |
|
The equation grammar is as follows, where quoted strings are |
|
case-sensitive literals in the input: |
|
.Bd -literal -offset indent |
|
eqn : box | eqn box |
|
box : text |
|
| "{" eqn "}" |
|
| "define" text text |
|
| "gfont" text |
|
| "gsize" 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 |
|
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 |
|
.Pp |
|
Data in TEXT form is a non-empty sequence of non-space characters or a |
|
non-empty quoted string. |
|
Unless within a quoted string, white-space (and enclosing literal quote |
|
pairs) is thrown away. |
|
Quoted strings are not scanned for replacement definitions. |
|
.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: |
|
.Bl -tag -width Ds |
|
.It Cm define |
|
Replace all occurances of a key with a value. |
|
Its syntax is as follows: |
|
.Pp |
|
.D1 define Ar key cvalc |
|
.Pp |
|
The first character of the value string, |
|
.Ar c , |
|
is used as the delimiter for the value |
|
.Ar val . |
|
This allows for arbitrary enclosure of terms (not just quotes), such as |
|
.Pp |
|
.D1 define Ar foo 'bar baz' |
|
.D1 define Ar foo cbar bazc |
|
.Pp |
|
It is an error to have an empty |
|
.Ar key or |
|
.Ar val . |
|
Note that a quoted |
|
.Ar key |
|
causes errors in some |
|
.Nm |
|
implementations and should not be considered portable. |
|
It is not expanded for replacements. |
|
Definitions may refer to other definitions; these are evaluated |
|
recursively when text replacement occurs and not when the definition is |
|
created. |
|
.Pp |
|
Definitions can create arbitrary strings, for example, the following is |
|
a legal construction. |
|
.Bd -literal -offset indent |
|
define foo 'define' |
|
foo bar 'baz' |
|
.Ed |
|
.Pp |
|
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 |
|
Set an equation mode. |
|
In mandoc, 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 |
|
Unset a previously-defined key. |
|
Its syntax is as follows: |
|
.Pp |
|
.D1 define Ar key |
|
.Pp |
|
Once invoked, the definition for |
|
.Ar key |
|
is discarded. |
|
The |
|
.Ar key |
|
is not expanded for replacements. |
|
.El |
|
.Sh COMPATIBILITY |
|
This section documents the compatibility of mandoc |
|
.Nm |
|
and the troff |
|
.Nm |
|
implementation (including GNU troff). |
|
.Pp |
|
.Bl -dash -compact |
|
.It |
|
The text string |
|
.Sq \e\*q |
|
is interpreted as a literal quote in troff. |
|
In mandoc, this is interpreted as a comment. |
|
.El |
.Sh SEE ALSO |
.Sh SEE ALSO |
.Xr mandoc 1 , |
.Xr mandoc 1 , |
.Xr man 7 , |
.Xr man 7 , |
Line 62 Equations consist of multi-line equation data. |
|
Line 213 Equations consist of multi-line equation data. |
|
.%P 151\(en157 |
.%P 151\(en157 |
.%D March, 1975 |
.%D March, 1975 |
.Re |
.Re |
.\" .Sh HISTORY |
.Rs |
.\" The tbl utility, a preprocessor for troff, was originally written by M. |
.%A Brian W. Kernighan |
.\" E. Lesk at Bell Labs in 1975. |
.%A Lorinda L. Cherry |
.\" The GNU reimplementation of tbl, part of the groff package, was released |
.%T Typesetting Mathematics, User's Guide |
.\" in 1990 by James Clark. |
.%D 1976 |
.\" A standalone tbl implementation was written by Kristaps Dzonsons in |
.Re |
.\" 2010. |
.Rs |
.\" This formed the basis of the implementation that is part of the |
.%A Brian W. Kernighan |
.\" .Xr mandoc 1 |
.%A Lorinda L. Cherry |
.\" utility. |
.%T Typesetting Mathematics, User's Guide (Second Edition) |
|
.%D 1978 |
|
.Re |
|
.Sh HISTORY |
|
The eqn utility, a preprocessor for troff, was originally written by |
|
Brian W. Kernighan and Lorinda L. Cherry in 1975. |
|
The GNU reimplementation of eqn, part of the GNU troff package, was |
|
released in 1989 by James Clark. |
|
The eqn component of |
|
.Xr mandoc 1 |
|
was added in 2011. |
.Sh AUTHORS |
.Sh AUTHORS |
This partial |
This |
.Nm |
.Nm |
reference was written by |
reference was written by |
.An Kristaps Dzonsons Aq kristaps@bsd.lv . |
.An Kristaps Dzonsons Aq kristaps@bsd.lv . |