-.\" $Id: eqn.7,v 1.19 2011/07/23 09:47:25 kristaps Exp $
+.\" $Id: eqn.7,v 1.28 2011/09/25 18:37:09 schwarze Exp $
.\"
.\" Copyright (c) 2011 Kristaps Dzonsons <kristaps@bsd.lv>
.\"
.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
.\"
-.Dd $Mdocdate: July 23 2011 $
+.Dd $Mdocdate: September 25 2011 $
.Dt EQN 7
.Os
.Sh NAME
.Sh DESCRIPTION
The
.Nm eqn
-language is a equation-formatting language.
+language is an equation-formatting language.
It is used within
.Xr mdoc 7
and
.Xr man 7
.Ux
manual pages.
-This manual describes the subset of the
+It describes the
+.Em structure
+of an equation, not its mathematical meaning.
+This manual describes the
.Nm
language accepted by the
.Xr mandoc 1
-utility.
+utility, which corresponds to the Second Edition eqn specification (see
+.Sx SEE ALSO
+for references).
.Pp
Equations within
.Xr mdoc 7
box : text
| \*q{\*q eqn \*q}\*q
| \*qdefine\*q text text
+ | \*qndefine\*q text text
+ | \*qtdefine\*q text text
| \*qgfont\*q text
| \*qgsize\*q text
| \*qset\*q text text
| \*qundef\*q text
| box pos box
| box mark
+ | \*qmatrix\*q \*q{\*q [col \*q{\*q list \*q}\*q ]*
| pile \*q{\*q list \*q}\*q
| font box
| \*qsize\*q text box
| \*qleft\*q text eqn [\*qright\*q text]
+col : \*qlcol\*q | \*qrcol\*q | \*qccol\*q | \*qcol\*q
text : [^space\e\*q]+ | \e\*q.*\e\*q
-pile : \*qlpile\*q | \*qcpile\*q | \*qrpile\*q
+pile : \*qlpile\*q | \*qcpile\*q | \*qrpile\*q | \*qpile\*q
pos : \*qover\*q | \*qsup\*q | \*qsub\*q | \*qto\*q | \*qfrom\*q
mark : \*qdot\*q | \*qdotdot\*q | \*qhat\*q | \*qtilde\*q | \*qvec\*q
| \*qdyad\*q | \*qbar\*q | \*qunder\*q
-font : \*qroman\*q | \*qitalic\*q | \*\*qbold\*q
+font : \*qroman\*q | \*qitalic\*q | \*qbold\*q | \*qfat\*q
list : eqn
| list \*qabove\*q eqn
space : [\e^~ \et]
The following control statements are available:
.Bl -tag -width Ds
.It Cm define
-Replace all occurances of a key with a value.
+Replace all occurrences of a key with a value.
Its syntax is as follows:
.Pp
.D1 define Ar key cvalc
.D1 define Ar foo cbar bazc
.Pp
It is an error to have an empty
-.Ar key or
+.Ar key
+or
.Ar val .
Note that a quoted
.Ar key
.Ed
.Pp
Self-referencing definitions will raise an error.
+The
+.Cm ndefine
+statement is a synonym for
+.Cm define ,
+while
+.Cm tdefine
+is discarded.
.It Cm gfont
Set the default font of subsequent output.
Its syntax is as follows:
and
.Ar val
are not expanded for replacements.
+This statement is a GNU extension.
.It Cm undef
Unset a previously-defined key.
Its syntax is as follows:
The
.Ar key
is not expanded for replacements.
+This statement is a GNU extension.
.El
.Sh COMPATIBILITY
This section documents the compatibility of mandoc
In troff, The circumflex and tilde white-space symbols map to
fixed-width spaces.
In mandoc, these characters are synonyms for the space character.
+.It
+The troff implementation of
+.Nm
+allows for equation alignment with the
+.Cm mark
+and
+.Cm lineup
+tokens.
+mandoc discards these tokens.
+The
+.Cm back Ar n ,
+.Cm fwd Ar n ,
+.Cm up Ar n ,
+and
+.Cm down Ar n
+commands are also ignored.
.El
.Sh SEE ALSO
.Xr mandoc 1 ,
This
.Nm
reference was written by
-.An Kristaps Dzonsons Aq kristaps@bsd.lv .
+.An Kristaps Dzonsons ,
+.Mt kristaps@bsd.lv .