summaryrefslogtreecommitdiffstats
path: root/upstream/opensuse-leap-15-6/man1/eqn.1
diff options
context:
space:
mode:
Diffstat (limited to 'upstream/opensuse-leap-15-6/man1/eqn.1')
-rw-r--r--upstream/opensuse-leap-15-6/man1/eqn.11375
1 files changed, 1375 insertions, 0 deletions
diff --git a/upstream/opensuse-leap-15-6/man1/eqn.1 b/upstream/opensuse-leap-15-6/man1/eqn.1
new file mode 100644
index 00000000..523cc6e5
--- /dev/null
+++ b/upstream/opensuse-leap-15-6/man1/eqn.1
@@ -0,0 +1,1375 @@
+'\" t
+.TH EQN 1 "7 February 2022" "groff 1.22.4"
+.SH NAME
+eqn \- format equations for troff or MathML
+.
+.
+.\" Save and disable compatibility mode (for, e.g., Solaris 10/11).
+.do nr eqn_C \n[.C]
+.cp 0
+.
+.
+.\" ====================================================================
+.\" Legal Terms
+.\" ====================================================================
+.\"
+.\" Copyright (C) 1989-2018 Free Software Foundation, Inc.
+.\"
+.\" Permission is granted to make and distribute verbatim copies of this
+.\" manual provided the copyright notice and this permission notice are
+.\" preserved on all copies.
+.\"
+.\" Permission is granted to copy and distribute modified versions of
+.\" this manual under the conditions for verbatim copying, provided that
+.\" the entire resulting derived work is distributed under the terms of
+.\" a permission notice identical to this one.
+.\"
+.\" Permission is granted to copy and distribute translations of this
+.\" manual into another language, under the above conditions for
+.\" modified versions, except that this permission notice may be
+.\" included in translations approved by the Free Software Foundation
+.\" instead of in the original English.
+.
+.
+.ie \n(.V<\n(.v \
+. ds tx T\h'-.1667m'\v'.224m'E\v'-.224m'\h'-.125m'X
+.el \
+. ds tx TeX
+.
+.
+.\" ====================================================================
+.SH SYNOPSIS
+.\" ====================================================================
+.
+.SY eqn
+.OP \-rvCNR
+.OP \-d xy
+.OP \-T name
+.OP \-M dir
+.OP \-f F
+.OP \-s n
+.OP \-p n
+.OP \-m n
+.RI [ file
+\&.\|.\|.\&]
+.YS
+.
+.
+.\" ====================================================================
+.SH DESCRIPTION
+.\" ====================================================================
+.
+This manual page describes the GNU version of
+.BR eqn ,
+which is part of the groff document formatting system.
+.
+.B eqn
+compiles descriptions of equations embedded within
+.B troff
+input files into commands that are understood by
+.BR troff .
+.
+Normally, it should be invoked using the
+.B \-e
+option of
+.BR groff .
+.
+The syntax is quite compatible with Unix eqn.
+.
+The output of GNU
+.B eqn
+cannot be processed with Unix troff;
+it must be processed with GNU troff.
+.
+If no files are given on the command line, the standard input is read.
+.
+A filename of
+.B \-
+causes the standard input to be read.
+.
+.
+.LP
+.B eqn
+searches for the file
+.I eqnrc
+in the directories given with the
+.B \-M
+option first, then in
+.IR /usr/\:lib/\:groff/\:site\-tmac ,
+.IR /usr/\:share/\:groff/\:site\-tmac ,
+and finally in the standard macro directory
+.IR /usr/\:share/\:groff/\:1.22.4/\:tmac .
+.
+If it exists,
+.B eqn
+processes it before the other input files.
+.
+The
+.B \-R
+option prevents this.
+.
+.
+.LP
+GNU
+.B eqn
+does not provide the functionality of neqn:
+it does not support low-resolution, typewriter-like devices
+(although it may work adequately for very simple input).
+.
+.
+.\" ====================================================================
+.SH OPTIONS
+.\" ====================================================================
+.
+Whitespace is permitted between a command-line option and its argument.
+.
+.
+.TP
+.BI \-d xy
+Specify delimiters
+.I x
+and\~\c
+.I y
+for the left and right end, respectively, of in-line equations.
+.
+Any
+.B delim
+statements in the source file overrides this.
+.
+.TP
+.B \-C
+Recognize
+.B .EQ
+and
+.B .EN
+even when followed by a character other than space or newline.
+.
+Also, the statement
+.RB \[oq] "delim on" \[cq]
+is not handled specially.
+.
+.TP
+.B \-N
+Don't allow newlines within delimiters.
+.
+This option allows
+.B eqn
+to recover better from missing closing delimiters.
+.
+.TP
+.B \-v
+Print the version number.
+.
+.TP
+.B \-r
+Only one size reduction.
+.
+.TP
+.BI \-m n
+The minimum point-size is\~\c
+.IR n .
+.
+.B eqn
+does not reduce the size of subscripts or superscripts to
+a smaller size than\~\c
+.IR n .
+.
+.TP
+.BI \-T name
+The output is for device
+.IR name .
+.
+Normally, the only effect of this is to define a macro
+.I name
+with a value of\~\c
+.BR 1 ;
+.I eqnrc
+uses this to provide definitions appropriate for the output device.
+.
+However, if the specified device is \[lq]MathML\[rq], the output is
+MathML markup rather than troff commands, and
+.I eqnrc
+is not loaded at all.
+.
+The default output device is
+.BR ps .
+.
+.TP
+.BI \-M dir
+Search
+.I dir
+for
+.I eqnrc
+before the default directories.
+.
+.TP
+.B \-R
+Don't load
+.IR eqnrc .
+.
+.TP
+.BI \-f F
+This is equivalent to a
+.BI gfont\ F
+command.
+.
+.TP
+.BI \-s n
+This is equivalent to a
+.BI gsize\ n
+command.
+.
+This option is deprecated.
+.B eqn
+normally sets equations at whatever the current point size
+is when the equation is encountered.
+.
+.TP
+.BI \-p n
+This says that subscripts and superscripts should be
+.IR n \~points
+smaller than the surrounding text.
+.
+This option is deprecated.
+.
+Normally
+.B eqn
+sets subscripts and superscripts at 70% of the size of the surrounding
+text.
+.
+.
+.\" ====================================================================
+.SH USAGE
+.\" ====================================================================
+.
+Only the differences between GNU
+.B eqn
+and Unix eqn are described here.
+.
+.
+.LP
+GNU
+.B eqn
+emits Presentation MathML output when invoked with the
+.B "-T\~MathML"
+option.
+.
+.
+.LP
+GNU eqn sets the input token
+.B \&"..."
+as three periods or low dots, rather than the three centered dots of
+classic eqn. To get three centered dots, write
+.B "cdots"
+or
+.BR "cdot cdot cdot".
+.
+.
+.LP
+Most of the new features of the GNU
+.B eqn
+input language are based on \*(tx.
+.
+There are some references to the differences between \*(tx and GNU
+.B eqn
+below;
+these may safely be ignored if you do not know \*(tx.
+.
+.
+.\" ====================================================================
+.SS Controlling delimiters
+.\" ====================================================================
+.
+If not in compatibility mode,
+.B eqn
+recognizes
+.
+.RS
+.LP
+.B delim on
+.RE
+.
+.LP
+to restore the delimiters which have been previously disabled
+with a call to
+.RB \[oq] "delim off" \[cq].
+.
+If delimiters haven't been specified, the call has no effect.
+.
+.
+.\" ====================================================================
+.SS Automatic spacing
+.\" ====================================================================
+.
+.B eqn
+gives each component of an equation a type, and adjusts the spacing
+between components using that type.
+.
+Possible types are described in the table below.
+.
+.
+.TS
+lB l.
+ordinary T{
+an ordinary character such as \[oq]1\[cq] or
+.RI \[oq] x \[cq]
+T}
+operator T{
+a large operator such as
+.ds Su \[oq]\s+5\(*S\s0\[cq]
+.if \n(.g .if !c\(*S .ds Su the summation operator
+\*(Su
+T}
+binary a binary operator such as \[oq]\[pl]\[cq]
+relation a relation such as \[oq]=\[cq]
+opening a opening bracket such as \[oq](\[cq]
+closing a closing bracket such as \[oq])\[cq]
+punctuation a punctuation character such as \[oq],\[cq]
+inner a subformula contained within brackets
+suppress a type that suppresses automatic spacing adjustment
+.TE
+.
+.
+.LP
+Components of an equation
+get a type in one of two ways.
+.
+.TP
+.BI type\ t\ e
+This yields an equation component that contains\~\c
+.I e
+but that has type\~\c
+.IR t ,
+where
+.I t
+is one of the types mentioned above.
+.
+For example,
+.B times
+is defined as
+.
+.RS
+.IP
+.B
+type "binary" \e(mu
+.RE
+.
+.IP
+The name of the type doesn't have to be quoted, but quoting protects
+from macro expansion.
+.
+.TP
+.BI chartype\ t\ text
+Unquoted groups of characters are split up into individual characters,
+and the type of each character is looked up;
+this changes the type that is stored for each character;
+it says that the characters in
+.I text
+from now on have type\~\c
+.IR t .
+For example,
+.
+.RS
+.IP
+.B
+chartype "punctuation" .,;:
+.RE
+.
+.IP
+would make the characters \[oq].,;:\[cq] have type punctuation
+whenever they subsequently appeared in an equation.
+.
+The type\~\c
+.I t
+can also be
+.B letter
+or
+.BR digit ;
+in these cases
+.B chartype
+changes the font type of the characters.
+.
+See subsection \[lq]Fonts\[rq] below.
+.
+.
+.\" ====================================================================
+.SS New primitives
+.\" ====================================================================
+.
+.TP
+.BI big\ e
+Enlarges the expression it modifies; intended to have semantics like
+CSS \[oq]large\[cq].
+.
+In troff output, the point size is increased by\~5; in MathML output,
+the expression uses
+.
+.RS
+.IP
+.EX
+<mstyle \%mathsize='big'>
+.EE
+.RE
+.
+.TP
+.IB e1\ smallover\ e2
+This is similar to
+.BR over ;
+.B smallover
+reduces the size of
+.I e1
+and
+.IR e2 ;
+it also puts less vertical space between
+.I e1
+or
+.I e2
+and the fraction bar.
+.
+The
+.B over
+primitive corresponds to the \*(tx
+.B \eover
+primitive in display styles;
+.B smallover
+corresponds to
+.B \eover
+in non-display styles.
+.
+.TP
+.BI vcenter\ e
+This vertically centers
+.I e
+about the math axis.
+.
+The math axis is the vertical position about which characters such as
+\[oq]\[pl]\[cq] and \[oq]\[mi]\[cq] are centered; also it is the
+vertical position used for the bar of fractions.
+.
+For example,
+.B sum
+is defined as
+.
+.RS
+.IP
+.B
+{ type "operator" vcenter size +5 \e(*S }
+.RE
+.
+.IP
+(Note that vcenter is silently ignored when generating MathML.)
+.
+.TP
+.IB e1\ accent\ e2
+This sets
+.I e2
+as an accent over
+.IR e1 .
+.I e2
+is assumed to be at the correct height for a lowercase letter;
+.I e2
+is moved down according to whether
+.I e1
+is taller or shorter than a lowercase letter.
+.
+For example,
+.B hat
+is defined as
+.
+.RS
+.IP
+.B
+accent { "^" }
+.RE
+.
+.IP
+.BR dotdot ,
+.BR dot ,
+.BR tilde ,
+.BR vec ,
+and
+.B dyad
+are also defined using the
+.B accent
+primitive.
+.
+.TP
+.IB e1\ uaccent\ e2
+This sets
+.I e2
+as an accent under
+.IR e1 .
+.I e2
+is assumed to be at the correct height for a character without a descender;
+.I e2
+is moved down if
+.I e1
+has a descender.
+.
+.B utilde
+is pre-defined using
+.B uaccent
+as a tilde accent below the baseline.
+.
+.TP
+.BI split\ \[dq] text \[dq]
+This has the same effect as simply
+.
+.RS
+.IP
+.I text
+.RE
+.
+.IP
+but
+.I text
+is not subject to macro expansion because it is quoted;
+.I text
+is split up and the spacing between individual characters is adjusted.
+.
+.TP
+.BI nosplit\ text
+This has the same effect as
+.
+.RS
+.IP
+.BI \[dq] text \[dq]
+.RE
+.
+.IP
+but because
+.I text
+is not quoted it is subject to macro expansion;
+.I text
+is not split up
+and the spacing between individual characters is not adjusted.
+.
+.TP
+.IB e\ opprime
+This is a variant of
+.B prime
+that acts as an operator on\~\c
+.IR e .
+.
+It produces a different result from
+.B prime
+in a case such as
+.BR A\ opprime\ sub\ 1 :
+with
+.B opprime
+the\~\c
+.B 1
+is tucked under the prime as a subscript to the\~\c
+.B A
+(as is conventional in mathematical typesetting),
+whereas with
+.B prime
+the\~\c
+.B 1
+is a subscript to the prime character.
+.
+The precedence of
+.B opprime
+is the same as that of
+.B bar
+and
+.BR under ,
+which is higher than that of everything except
+.B accent
+and
+.BR uaccent .
+.
+In unquoted text a\~\c
+.B \[aq]
+that is not the first character is treated like
+.BR opprime .
+.
+.TP
+.BI special\ text\ e
+This constructs a new object from\~\c
+.I e
+using a
+.BR troff (1)
+macro named
+.IR text .
+.
+When the macro is called,
+the string
+.B 0s
+contains the output for\~\c
+.IR e ,
+and the number registers
+.BR 0w ,
+.BR 0h ,
+.BR 0d ,
+.BR 0skern ,
+and
+.B 0skew
+contain the width, height, depth, subscript kern, and skew of\~\c
+.IR e .
+.
+(The
+.I "subscript kern"
+of an object says how much a subscript on that object should be tucked in;
+the
+.I skew
+of an object says how far to the right of the center of the object an
+accent over the object should be placed.)
+.
+The macro must modify
+.B 0s
+so that it outputs the desired result with its origin at the current
+point, and increase the current horizontal position by the width
+of the object.
+.
+The number registers must also be modified so that they correspond to the
+result.
+.
+.IP
+For example, suppose you wanted a construct that \[oq]cancels\[cq] an
+expression by drawing a diagonal line through it.
+.
+.RS
+.IP
+.ft B
+.if t .ne 6+\n(.Vu
+.br
+\&.EQ
+.br
+define cancel 'special Ca'
+.br
+\&.EN
+.br
+\&.de Ca
+.br
+\&.\ \ ds 0s \e
+.br
+\eZ'\e\e*(0s'\e
+.br
+\ev'\e\en(0du'\e
+.br
+\eD'l \e\en(0wu -\e\en(0hu-\e\en(0du'\e
+.br
+\ev'\e\en(0hu'
+.br
+\&..
+.ft
+.RE
+.
+.IP
+Then you could cancel an expression\~\c
+.I e
+with
+.BI \%cancel\ {\ e\ }
+.
+.IP
+Here's a more complicated construct that draws a box round an
+expression:
+.
+.RS
+.IP
+.ft B
+.if t .ne 11+\n(.Vu
+\&.EQ
+.br
+define box 'special Bx'
+.br
+\&.EN
+.br
+\&.de Bx
+.br
+\&.\ \ ds 0s \e
+.br
+\eZ'\eh'1n'\e\e*(0s'\e
+.br
+\eZ'\e
+.br
+\ev'\e\en(0du+1n'\e
+.br
+\eD'l \e\en(0wu+2n 0'\e
+.br
+\eD'l 0 -\e\en(0hu-\e\en(0du-2n'\e
+.br
+\eD'l -\e\en(0wu-2n 0'\e
+.br
+\eD'l 0 \e\en(0hu+\e\en(0du+2n'\e
+.br
+\&'\e
+.br
+\eh'\e\en(0wu+2n'
+.br
+\&.\ \ nr 0w +2n
+.br
+\&.\ \ nr 0d +1n
+.br
+\&.\ \ nr 0h +1n
+.br
+\&..
+.ft
+.RE
+.
+.TP
+.BI space\ n
+A positive value of the integer\~\c
+.I n
+(in hundredths of an em) sets the vertical spacing before the
+equation, a negative value sets the spacing after the equation,
+replacing the default values.
+.
+This primitive provides an interface to
+.BR groff 's
+.B \ex
+escape (but with opposite sign).
+.
+.IP
+This keyword has no effect if the equation is part of a
+.B pic
+picture.
+.
+.
+.\" ====================================================================
+.SS Extended primitives
+.\" ====================================================================
+.
+.TP
+.BI col\ n\ {\ .\|.\|.\ }
+.TQ
+.BI ccol\ n\ {\ .\|.\|.\ }
+.TQ
+.BI lcol\ n\ {\ .\|.\|.\ }
+.TQ
+.BI rcol\ n\ {\ .\|.\|.\ }
+.TQ
+.BI pile\ n\ {\ .\|.\|.\ }
+.TQ
+.BI cpile\ n\ {\ .\|.\|.\ }
+.TQ
+.BI lpile\ n\ {\ .\|.\|.\ }
+.TQ
+.BI rpile\ n\ {\ .\|.\|.\ }
+The integer value\~\c
+.I n
+(in hundredths of an em) increases the vertical spacing between rows,
+using
+.BR groff 's
+.B \ex
+escape (the value has no effect in MathML mode).
+Negative values are possible but have no effect.
+If there is more than a single value given in a matrix, the biggest one
+is used.
+.
+.
+.\" ====================================================================
+.SS Customization
+.\" ====================================================================
+.
+When
+.B eqn
+is generating troff markup, the appearance of equations is controlled
+by a large number of parameters.
+.
+They have no effect when generating MathML mode, which pushes
+typesetting and fine motions downstream to a MathML rendering engine.
+.
+These parameters can be set using the
+.B set
+command.
+.
+.TP
+.BI set\ p\ n
+This sets parameter\~\c
+.I p
+to value\~\c
+.IR n ;
+.IR n \~is
+an integer.
+.
+For example,
+.
+.RS
+.IP
+.B
+set x_height 45
+.RE
+.
+.IP
+says that
+.B eqn
+should assume an x\~height of 0.45\~ems.
+.
+.
+.RS
+.LP
+Possible parameters are as follows.
+.
+Values are in units of hundredths of an em unless otherwise stated.
+.
+These descriptions are intended to be expository rather than
+definitive.
+.
+.TP
+.B minimum_size
+.B eqn
+doesn't set anything at a smaller point-size than this.
+.
+The value is in points.
+.
+.TP
+.B fat_offset
+The
+.B fat
+primitive emboldens an equation by overprinting two copies of the
+equation horizontally offset by this amount.
+.
+This parameter is not used in MathML mode; instead, fat text uses
+.
+.RS
+.IP
+.EX
+<mstyle mathvariant='double-struck'>
+.EE
+.RE
+.
+.TP
+.B over_hang
+A fraction bar is longer by twice this amount than
+the maximum of the widths of the numerator and denominator;
+in other words, it overhangs the numerator and
+denominator by at least this amount.
+.
+.TP
+.B accent_width
+When
+.B bar
+or
+.B under
+is applied to a single character,
+the line is this long.
+.
+Normally,
+.B bar
+or
+.B under
+produces a line whose length is the width of the object to which it applies;
+in the case of a single character,
+this tends to produce a line that looks too long.
+.
+.TP
+.B delimiter_factor
+Extensible delimiters produced with the
+.B left
+and
+.B right
+primitives have a combined height and depth of at least this many
+thousandths of twice the maximum amount by which the sub-equation that
+the delimiters enclose extends away from the axis.
+.
+.TP
+.B delimiter_shortfall
+Extensible delimiters produced with the
+.B left
+and
+.B right
+primitives have a combined height and depth not less than the
+difference of twice the maximum amount by which the sub-equation that
+the delimiters enclose extends away from the axis and this amount.
+.
+.TP
+.B null_delimiter_space
+This much horizontal space is inserted on each side of a fraction.
+.
+.TP
+.B script_space
+The width of subscripts and superscripts is increased by this amount.
+.
+.TP
+.B thin_space
+This amount of space is automatically inserted after punctuation
+characters.
+.
+.TP
+.B medium_space
+This amount of space is automatically inserted on either side of
+binary operators.
+.
+.TP
+.B thick_space
+This amount of space is automatically inserted on either side of
+relations.
+.
+.TP
+.B x_height
+The height of lowercase letters without ascenders such as \[oq]x\[cq].
+.
+.TP
+.B axis_height
+The height above the baseline of the center of characters such as
+\[oq]\[pl]\[cq] and \[oq]\[mi]\[cq].
+.
+It is important that this value is correct for the font
+you are using.
+.
+.TP
+.B default_rule_thickness
+This should set to the thickness of the
+.B \e(ru
+character, or the thickness of horizontal lines produced with the
+.B \eD
+escape sequence.
+.
+.TP
+.B num1
+The
+.B over
+command shifts up the numerator by at least this amount.
+.
+.TP
+.B num2
+The
+.B smallover
+command shifts up the numerator by at least this amount.
+.
+.TP
+.B denom1
+The
+.B over
+command shifts down the denominator by at least this amount.
+.
+.TP
+.B denom2
+The
+.B smallover
+command shifts down the denominator by at least this amount.
+.
+.TP
+.B sup1
+Normally superscripts are shifted up by at least this amount.
+.
+.TP
+.B sup2
+Superscripts within superscripts or upper limits
+or numerators of
+.B smallover
+fractions are shifted up by at least this amount.
+.
+This is usually less than sup1.
+.
+.TP
+.B sup3
+Superscripts within denominators or square roots
+or subscripts or lower limits are shifted up by at least
+this amount.
+.
+This is usually less than sup2.
+.
+.TP
+.B sub1
+Subscripts are normally shifted down by at least this amount.
+.
+.TP
+.B sub2
+When there is both a subscript and a superscript, the subscript is
+shifted down by at least this amount.
+.
+.TP
+.B sup_drop
+The baseline of a superscript is no more than this much amount below
+the top of the object on which the superscript is set.
+.
+.TP
+.B sub_drop
+The baseline of a subscript is at least this much below the bottom of
+the object on which the subscript is set.
+.
+.TP
+.B big_op_spacing1
+The baseline of an upper limit is at least this much above the top of
+the object on which the limit is set.
+.
+.TP
+.B big_op_spacing2
+The baseline of a lower limit is at least this much below the bottom
+of the object on which the limit is set.
+.
+.TP
+.B big_op_spacing3
+The bottom of an upper limit is at least this much above the top of
+the object on which the limit is set.
+.
+.TP
+.B big_op_spacing4
+The top of a lower limit is at least this much below the bottom of the
+object on which the limit is set.
+.
+.TP
+.B big_op_spacing5
+This much vertical space is added above and below limits.
+.
+.TP
+.B baseline_sep
+The baselines of the rows in a pile or matrix are normally this far
+apart.
+.
+In most cases this should be equal to the sum of
+.B num1
+and
+.BR denom1 .
+.
+.TP
+.B shift_down
+The midpoint between the top baseline and the bottom baseline in a
+matrix or pile is shifted down by this much from the axis.
+.
+In most cases this should be equal to
+.BR axis_height .
+.
+.TP
+.B column_sep
+This much space is added between columns in a matrix.
+.
+.TP
+.B matrix_side_sep
+This much space is added at each side of a matrix.
+.
+.TP
+.B draw_lines
+If this is non-zero, lines are drawn using the
+.B \eD
+escape sequence, rather than with the
+.B \el
+escape sequence and the
+.B \e(ru
+character.
+.
+.TP
+.B body_height
+The amount by which the height of the equation exceeds this is added
+as extra space before the line containing the equation (using
+.BR \ex ).
+.
+The default value is 85.
+.
+.TP
+.B body_depth
+The amount by which the depth of the equation exceeds this is added as
+extra space after the line containing the equation (using
+.BR \ex ).
+.
+The default value is 35.
+.
+.TP
+.B nroff
+If this is non-zero,
+then
+.B ndefine
+behaves like
+.B define
+and
+.B tdefine
+is ignored, otherwise
+.B tdefine
+behaves like
+.B define
+and
+.B ndefine
+is ignored.
+.
+The default value is\~0 (This is typically changed to\~1 by the
+.I eqnrc
+file for the
+.BR ascii ,
+.BR latin1 ,
+.BR utf8 ,
+and
+.B cp1047
+devices.)
+.
+.
+.LP
+A more precise description of the role of many of these
+parameters can be found in Appendix\~H of
+.IR "The \*(txbook" .
+.RE
+.
+.
+.\" ====================================================================
+.SS Macros
+.\" ====================================================================
+.
+Macros can take arguments.
+.
+In a macro body,
+.BI $ n
+where
+.I n
+is between 1 and\~9, is replaced by the
+.IR n th
+argument if the macro is called with arguments;
+if there are fewer than
+.IR n \~arguments,
+it is replaced by nothing.
+.
+A word containing a left parenthesis where the part of the word
+before the left parenthesis has been defined using the
+.B define
+command is recognized as a macro call with arguments; characters
+following the left parenthesis up to a matching right parenthesis are
+treated as comma-separated arguments; commas inside nested parentheses
+do not terminate an argument.
+.
+.TP
+.BI sdefine\ name\ X\ anything\ X
+This is like the
+.B define
+command, but
+.I name
+is not recognized if called with arguments.
+.
+.TP
+.BI include\ \[dq] file \[dq]
+.TQ
+.BI copy\ \[dq] file \[dq]
+Include the contents of
+.I file
+.RB ( include
+and
+.B copy
+are synonyms).
+.
+Lines of
+.I file
+beginning with
+.B .EQ
+or
+.B .EN
+are ignored.
+.
+.TP
+.BI ifdef\ name\ X\ anything\ X
+If
+.I name
+has been defined by
+.B define
+(or has been automatically defined because
+.I name
+is the output device) process
+.IR anything ;
+otherwise ignore
+.IR anything .
+.
+.I X
+can be any character not appearing in
+.IR anything .
+.
+.TP
+.BI undef\ name
+Remove definition of
+.IR name ,
+making it undefined.
+.
+.
+.LP
+Besides the macros mentioned above, the following definitions are available:
+.BR Alpha ,
+.BR Beta ,
+\&.\|.\|.,
+.B Omega
+(this is the same as
+.BR ALPHA ,
+.BR BETA ,
+\&.\|.\|.,
+.BR OMEGA ),
+.B ldots
+(three dots on the base line), and
+.BR dollar .
+.
+.
+.\" ====================================================================
+.SS Fonts
+.\" ====================================================================
+.
+.B eqn
+normally uses at least two fonts to set an equation:
+an italic font for letters,
+and a roman font for everything else.
+.
+The existing
+.B gfont
+command
+changes the font that is used as the italic font.
+.
+By default this is\~\c
+.BR I .
+The font that is used as the roman font can be changed using the new
+.B grfont
+command.
+.
+.TP
+.BI grfont\ f
+Set the roman font to\~\c
+.IR f .
+.
+.
+.LP
+The
+.B italic
+primitive uses the current italic font set by
+.BR gfont ;
+the
+.B roman
+primitive uses the current roman font set by
+.BR grfont .
+.
+There is also a new
+.B gbfont
+command, which changes the font used by the
+.B bold
+primitive.
+.
+If you only use the
+.BR roman ,
+.B italic
+and
+.B bold
+primitives to changes fonts within an equation, you can change all the
+fonts used by your equations just by using
+.BR gfont ,
+.B grfont
+and
+.B gbfont
+commands.
+.
+.
+.LP
+You can control which characters are treated as letters
+(and therefore set in italics) by using the
+.B chartype
+command described above.
+.
+A type of
+.B letter
+causes a character to be set in italic type.
+.
+A type of
+.B digit
+causes a character to be set in roman type.
+.
+.
+.\" ====================================================================
+.SH FILES
+.\" ====================================================================
+.
+.TP
+.I /usr/\:share/\:groff/\:1.22.4/\:tmac/eqnrc
+Initialization file.
+.
+.
+.\" ====================================================================
+.SH MATHML MODE LIMITATIONS
+.\" ====================================================================
+.
+MathML is designed on the assumption that it cannot know the exact
+physical characteristics of the media and devices on which it will
+be rendered.
+.
+It does not support fine control of motions and sizes to the same
+degree troff does.
+.
+Thus:
+.
+.IP *
+.B eqn
+parameters have no effect on the generated MathML.
+.
+.IP *
+The
+.BR special ,
+.BR up ,
+.BR down ,
+.BR fwd ,
+and
+.B back
+operations cannot be implemented, and yield a MathML
+\[oq]<merror>\[cq] message instead.
+.
+.IP *
+The
+.B vcenter
+keyword is silently ignored, as centering on the math axis is the
+MathML default.
+.
+.IP *
+Characters that
+.B eqn
+over troff sets extra large \(en notably the integral sign \(en may
+appear too small and need to have their \[oq]<mstyle>\[cq] wrappers
+adjusted by hand.
+.
+.
+.LP
+As in its troff mode,
+.B eqn
+in MathML mode leaves the
+.B .EQ
+and
+.B .EN
+delimiters in place for displayed equations, but emits no explicit
+delimiters around inline equations.
+.
+They can, however, be recognized as strings that begin with
+\[oq]<math>\[cq] and end with \[oq]</math>\[cq] and do not cross line
+boundaries.
+.
+.
+.LP
+See section \[lq]Bugs\[rq] below for translation limits specific to
+.BR eqn .
+.
+.
+.\" ====================================================================
+.SH BUGS
+.\" ====================================================================
+.
+Inline equations are set at the point size that is current at the
+beginning of the input line.
+.
+.
+.LP
+In MathML mode, the
+.B mark
+and
+.B lineup
+features don't work.
+.
+These could, in theory, be implemented with \[oq]<maligngroup>\[cq]
+elements.
+.
+.
+.LP
+In MathML mode, each digit of a numeric literal gets a separate
+\[oq]<mn>\:</mn>\[cq] pair, and decimal points are tagged with
+\[oq]<mo>\:</mo>\[cq].
+.
+This is allowed by the specification, but inefficient.
+.
+.
+.\" ====================================================================
+.SH "SEE ALSO"
+.\" ====================================================================
+.
+.BR groff (1),
+.BR troff (1),
+.BR pic (1),
+.BR groff_font (5),
+.I The\ \*[tx]book
+.
+.
+.\" Restore compatibility mode (for, e.g., Solaris 10/11).
+.cp \n[eqn_C]
+.
+.
+.\" Local Variables:
+.\" mode: nroff
+.\" tab-width: 12
+.\" End:
+.\" vim: set filetype=groff tabstop=12: