[BACK]Return to eqn.7 CVS log [TXT][DIR] Up to [cvsweb.bsd.lv] / mandoc

Diff for /mandoc/eqn.7 between version 1.10 and 1.29

version 1.10, 2011/07/21 13:37:04 version 1.29, 2013/07/13 19:41:16
Line 23 
Line 23 
 .Sh DESCRIPTION  .Sh DESCRIPTION
 The  The
 .Nm eqn  .Nm eqn
 language is a equation-formatting language.  language is an equation-formatting language.
 It is used within  It is used within
 .Xr mdoc 7  .Xr mdoc 7
 and  and
 .Xr man 7  .Xr man 7
 .Ux  .Ux
 manual pages.  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  .Nm
 language accepted by the  language accepted by the
 .Xr mandoc 1  .Xr mandoc 1
 utility.  utility, which corresponds to the Second Edition eqn specification (see
   .Sx SEE ALSO
   for references).
 .Pp  .Pp
 Equations within  Equations within
 .Xr mdoc 7  .Xr mdoc 7
Line 59  these are not the same as
Line 64  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          | \*qndefine\*q text text
         | UNDEF text          | \*qtdefine\*q text text
           | \*qgfont\*q text
           | \*qgsize\*q text
           | \*qset\*q text text
           | \*qundef\*q text
           | 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
 text    : TEXT          | \*qsize\*q text box
 mark    : DOT          | \*qleft\*q text eqn [\*qright\*q text]
         | DOTDOT  col     : \*qlcol\*q | \*qrcol\*q | \*qccol\*q | \*qcol\*q
         | HAT  text    : [^space\e\*q]+ | \e\*q.*\e\*q
         | TILDE  pile    : \*qlpile\*q | \*qcpile\*q | \*qrpile\*q | \*qpile\*q
         | VEC  pos     : \*qover\*q | \*qsup\*q | \*qsub\*q | \*qto\*q | \*qfrom\*q
         | DYAD  mark    : \*qdot\*q | \*qdotdot\*q | \*qhat\*q | \*qtilde\*q | \*qvec\*q
         | BAR          | \*qdyad\*q | \*qbar\*q | \*qunder\*q
         | UNDER  font    : \*qroman\*q | \*qitalic\*q | \*qbold\*q | \*qfat\*q
 font    : ROMAN  list    : eqn
         | ITALIC          | list \*qabove\*q eqn
         | BOLD  space   : [\e^~ \et]
 .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
 Replace all occurances of a key with a value.  Replace all occurrences of a key with a value.
 Its syntax is as follows:  Its syntax is as follows:
 .Pp  .Pp
 .D1 define Ar key cvalc  .D1 define Ar key cvalc
Line 107  This allows for arbitrary enclosure of terms (not just
Line 132  This allows for arbitrary enclosure of terms (not just
 .D1 define Ar foo cbar bazc  .D1 define Ar foo cbar bazc
 .Pp  .Pp
 It is an error to have an empty  It is an error to have an empty
 .Ar key or  .Ar key
   or
 .Ar val .  .Ar val .
 Note that a quoted  Note that a quoted
 .Ar key  .Ar key
Line 127  foo bar 'baz'
Line 153  foo bar 'baz'
 .Ed  .Ed
 .Pp  .Pp
 Self-referencing definitions will raise an error.  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:
   .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
Line 139  The
Line 188  The
 and  and
 .Ar val  .Ar val
 are not expanded for replacements.  are not expanded for replacements.
   This statement is a GNU extension.
 .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 151  is discarded.
Line 201  is discarded.
 The  The
 .Ar key  .Ar key
 is not expanded for replacements.  is not expanded for replacements.
   This statement is a GNU extension.
 .El  .El
 .Sh COMPATIBILITY  .Sh COMPATIBILITY
 This section documents the compatibility of mandoc  This section documents the compatibility of mandoc
Line 165  The text string
Line 216  The text string
 .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.
   .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  .El
 .Sh SEE ALSO  .Sh SEE ALSO
 .Xr mandoc 1 ,  .Xr mandoc 1 ,
Line 194  In mandoc, this is interpreted as a comment.
Line 265  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.
Line 205  was added in 2011.
Line 276  was added in 2011.
 This  This
 .Nm  .Nm
 reference was written by  reference was written by
 .An Kristaps Dzonsons Aq kristaps@bsd.lv .  .An Kristaps Dzonsons Aq Mt kristaps@bsd.lv .

Legend:
Removed from v.1.10  
changed lines
  Added in v.1.29

CVSweb