Print this page
9718 update mandoc to 1.14.4


  17 EQUATION STRUCTURE
  18      Each equation is bracketed by `.EQ' and `.EN' strings.  Note: these are
  19      not the same as mandoc_roff(5) macros, and may only be invoked as `.EQ'.
  20 
  21      The equation grammar is as follows, where quoted strings are case-
  22      sensitive literals in the input:
  23 
  24            eqn     : box | eqn box
  25            box     : text
  26                    | "{" eqn "}"
  27                    | "define" text text
  28                    | "ndefine" text text
  29                    | "tdefine" text text
  30                    | "gfont" text
  31                    | "gsize" text
  32                    | "set" text text
  33                    | "undef" text
  34                    | "sqrt" box
  35                    | box pos box
  36                    | box mark
  37                    | "matrix" "{" [col "{" list "}" ]*
  38                    | pile "{" list "}"
  39                    | font box
  40                    | "size" text box
  41                    | "left" text eqn ["right" text]
  42            col     : "lcol" | "rcol" | "ccol" | "col"
  43            text    : [^space\"]+ | \".*\"
  44            pile    : "lpile" | "cpile" | "rpile" | "pile"
  45            pos     : "over" | "sup" | "sub" | "to" | "from"
  46            mark    : "dot" | "dotdot" | "hat" | "tilde" | "vec"
  47                    | "dyad" | "bar" | "under"
  48            font    : "roman" | "italic" | "bold" | "fat"
  49            list    : eqn
  50                    | list "above" eqn
  51            space   : [\^~ \t]
  52 
  53      White-space consists of the space, tab, circumflex, and tilde characters.
  54      It is required to delimit tokens consisting of alphabetic characters and
  55      it is ignored at other places.  Braces and quotes also delimit tokens.
  56      If within a quoted string, these space characters are retained.  Quoted
  57      strings are also not scanned for keywords, glyph names, and expansion of


 277      mandoc(1), man(5), mandoc_char(5), mandoc_roff(5), mdoc(5)
 278 
 279      Brian W. Kernighan and Lorinda L. Cherry, "System for Typesetting
 280      Mathematics", Communications of the ACM, 18, 151-157, March, 1975.
 281 
 282      Brian W. Kernighan and Lorinda L. Cherry, Typesetting Mathematics, User's
 283      Guide, 1976.
 284 
 285      Brian W. Kernighan and Lorinda L. Cherry, Typesetting Mathematics, User's
 286      Guide (Second Edition), 1978.
 287 
 288 HISTORY
 289      The eqn utility, a preprocessor for troff, was originally written by
 290      Brian W. Kernighan and Lorinda L. Cherry in 1975.  The GNU
 291      reimplementation of eqn, part of the GNU troff package, was released in
 292      1989 by James Clark.  The eqn component of mandoc(1) was added in 2011.
 293 
 294 AUTHORS
 295      This eqn reference was written by Kristaps Dzonsons <kristaps@bsd.lv>.
 296 
 297 illumos                          July 20, 2017                         illumos


  17 EQUATION STRUCTURE
  18      Each equation is bracketed by `.EQ' and `.EN' strings.  Note: these are
  19      not the same as mandoc_roff(5) macros, and may only be invoked as `.EQ'.
  20 
  21      The equation grammar is as follows, where quoted strings are case-
  22      sensitive literals in the input:
  23 
  24            eqn     : box | eqn box
  25            box     : text
  26                    | "{" eqn "}"
  27                    | "define" text text
  28                    | "ndefine" text text
  29                    | "tdefine" text text
  30                    | "gfont" text
  31                    | "gsize" text
  32                    | "set" text text
  33                    | "undef" text
  34                    | "sqrt" box
  35                    | box pos box
  36                    | box mark
  37                    | "matrix" "{" [col "{" list "}"]* "}"
  38                    | pile "{" list "}"
  39                    | font box
  40                    | "size" text box
  41                    | "left" text eqn ["right" text]
  42            col     : "lcol" | "rcol" | "ccol" | "col"
  43            text    : [^space\"]+ | \".*\"
  44            pile    : "lpile" | "cpile" | "rpile" | "pile"
  45            pos     : "over" | "sup" | "sub" | "to" | "from"
  46            mark    : "dot" | "dotdot" | "hat" | "tilde" | "vec"
  47                    | "dyad" | "bar" | "under"
  48            font    : "roman" | "italic" | "bold" | "fat"
  49            list    : eqn
  50                    | list "above" eqn
  51            space   : [\^~ \t]
  52 
  53      White-space consists of the space, tab, circumflex, and tilde characters.
  54      It is required to delimit tokens consisting of alphabetic characters and
  55      it is ignored at other places.  Braces and quotes also delimit tokens.
  56      If within a quoted string, these space characters are retained.  Quoted
  57      strings are also not scanned for keywords, glyph names, and expansion of


 277      mandoc(1), man(5), mandoc_char(5), mandoc_roff(5), mdoc(5)
 278 
 279      Brian W. Kernighan and Lorinda L. Cherry, "System for Typesetting
 280      Mathematics", Communications of the ACM, 18, 151-157, March, 1975.
 281 
 282      Brian W. Kernighan and Lorinda L. Cherry, Typesetting Mathematics, User's
 283      Guide, 1976.
 284 
 285      Brian W. Kernighan and Lorinda L. Cherry, Typesetting Mathematics, User's
 286      Guide (Second Edition), 1978.
 287 
 288 HISTORY
 289      The eqn utility, a preprocessor for troff, was originally written by
 290      Brian W. Kernighan and Lorinda L. Cherry in 1975.  The GNU
 291      reimplementation of eqn, part of the GNU troff package, was released in
 292      1989 by James Clark.  The eqn component of mandoc(1) was added in 2011.
 293 
 294 AUTHORS
 295      This eqn reference was written by Kristaps Dzonsons <kristaps@bsd.lv>.
 296 
 297 illumos                        September 4, 2017                       illumos