Supported Syntax for the HTML Equation Preproscessor

You can denote an equation with the <eq> tag. This tag must be closed with a </eq>.
The <eq> tag has two special attributes: num and eqalign.

<eq num="num">
labels the equation with equation number num. The equation number doesn't have to be numeric. In fact,
something like <eq num="(5)"> would be more typical. The num attribute is optional.

<eq eqalign="char">
sets the align character for a multiline equation array. The align character char can be a string. For example,
<eq align="&ge;"> would be perfectly valid and would align on the ≥. The eqalign
attribute is optional.

The <eq> tag corresponds directly to a <table> tag in the table for the equation. Any
other attributes of the <eq> tag are passed directly to the <table> tag.

Inside the <eq></eq>, you may use the <er> tag. This tag must be closed with
a </er>. You do not need to have any <er> tags in your <eq> block. If
you have data in your <eq> block that is not enclosed with <er> tags, then it will be
treated as though it were enclosed with the minimal number of tags. For example,
<eq>data1<er>data2</er>data3</eq>
is equivalent to
<eq><er>data1</er><er>data2</er><er>data3</er></eq>.
The <er> tag has two special attributes: num and eqalign.

<er num="num">
labels the equation row with equation number num. This attribute is ignored if the num attribute is
used in the <eq> tag. The num attribute is optional.

<er eqalign="char">
sets the alignment character for that row. This setting overrides the assignment in the <eq> tag. Since
the alignment characters (or strings) may be different in different rows, you need to know that the left sides
are aligned. The eqalign attribute is optional.

The <er> tag corresponds directly to a <tr> tag in the table for the equation. Any other
attributes of the <er> tag are passed on to the <tr> tag.

Inside the <er></er>, you may use the <ed> tag. (You may also use the
<ed> tag where the <er></er> is omitted, but implied.) This tag must be closed with
a </ed>. If you have data in your <er> block that is not enclosed with <ed>
tags, then it will be treated as though it were enclosed with the minimal number of tags.

Each <ed> tag corresponds directly to a <td> tag. It may also correspond indirectly to other
<td> tags. (This is becuase additional <td> tags may be created to implement the eqalign
feature or <frac><bar></frac> blocks. There are are two known uses for the <ed> tag.
One is to force a change in the way that the HTML is formatted, so that it is easier to make manual changes. The other is
to pass attributes to the resulting <td> tag and any additional <td> tags that are created within
the <ed></ed> block. The attributes are applied to the innermost <td> tags. (There may be
additional tables inside the overall table for the equation. For example, the entire left side of the equation may be a
table inside a <td> tag of the overall table.)

Inside the <ed></ed>, you may use the <frac> tag to create a fraction. (You may also
use the <frac> tag where the <ed></ed> is omitted, but implied.) This tag must be closed
with a </frac>, and there must be an intervening <bar> tag. At this time, you may not nest
<frac><bar></frac> blocks.

Each <frac> tag corresponds directly to a <td> tag. Any attributes will be passed to the
<td> tag. Any attributes which are specified in the <ed> tag will also be passed, unless they
are overridden by the same attribute specified in the <frac> tag. (Note: This is partially implemented. The
attributes of the <ed> tag are passed and come after the arguments of the <frac> tag, but there
is no check to see if attributes are duplicated.)

Inside the <er></er>, you may include an <eqalign> tag. This specifies the location
of the alignment for that equation row. The <eqalign> tag overrides any specification from an eqalign
attribute of an enclosing tag. (Note: The <eqalign> tag is not yet supported.)

The preprocessor now supports the <mi> tag outside of block equations. That is, you can't use
<mi> inside <eq></eq>. This is very useful for putting inline math into roman font with
italicized letters. The <mi> tag must be closed with a corresponding </mi> tag.

At this time, there is no way to turn off math italics for a few characters inside an equation. When I need to do that, I
edit the HTML by hand afterward. I'm considering creating a <t> or <rm> tag for that purpose.