Return to eqn.7 CVS log | Up to [cvsweb.bsd.lv] / mandoc |
version 1.3, 2011/07/17 14:08:49 | version 1.11, 2011/07/21 14:13:00 | ||
---|---|---|---|
|
|
||
.Bd -literal -offset indent | .Bd -literal -offset indent | ||
eqn : box | eqn box | eqn : box | eqn box | ||
box : text | box : text | ||
| { eqn } | |||
| DEFINE text text | | DEFINE text text | ||
| SET text text | | SET text text | ||
| UNDEF text | | UNDEF text | ||
| box pos box | |||
| box mark | |||
| font box | |||
text : TEXT | text : TEXT | ||
pos : OVER | |||
| SUP | |||
| SUB | |||
| TO | |||
| FROM | |||
mark : DOT | |||
| DOTDOT | |||
| HAT | |||
| TILDE | |||
| VEC | |||
| 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 | Data in TEXT form is a non-empty sequence of non-space characters or a | ||
non-empty quoted string. | non-empty quoted string. | ||
White-space (and enclosing literal quote pairs) is thrown away and | Unless within a quoted string, white-space (and enclosing literal quote | ||
productions may not be broken by newlines. | pairs) is thrown away. | ||
Quoted strings are not scanned for replacement definitions. | |||
.Pp | .Pp | ||
The following control statements are available: | The following control statements are available: | ||
.Bl -tag -width Ds | .Bl -tag -width Ds | ||
|
|
||
Replace all occurances of a key with a value. | Replace all occurances of a key with a value. | ||
Its syntax is as follows: | Its syntax is as follows: | ||
.Pp | .Pp | ||
.D1 define Ar key val | .D1 define Ar key cvalc | ||
.Pp | .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 | It is an error to have an empty | ||
.Ar key or | .Ar key or | ||
.Ar value . | .Ar val . | ||
Note that a quoted | Note that a quoted | ||
.Ar key | .Ar key | ||
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 | |||
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 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: | ||
|
|
||
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 | |||
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 , | ||
|
|
||
.%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 . |