Equation-Editor OfficeMath Feature Comparison

This post compares the Design Science Equation Editor and MathType features with the Microsoft Office native math features (OfficeMath). Some comparison is given in the post Other Office Math Editing Facilities. Most math constructs are supported by all three environments. Notably missing in OfficeMath are long division and matrix row/column lines. We start with an overview table, which is followed by sections describing the differences that appear in each column of the table. The MathType and Equation Editor sources for the comparison are in Section MathType’s Equation Format (MTEF) of the MathType 6.9 SDK. There may be features available in the Equation Editor file format that users couldn’t have entered using the Equation Editor’s toolbar and hot keys. We assume anything in the file format could have been entered somehow.

The information in this post is useful if you’re considering whether to convert MathType and/or Equation Editor OLE objects to OfficeMath zones, particularly if it becomes easy to convert them. If the conversions are faithful to the original semantics, you gain [La]TeX quality typography, in-line editing and search and support across all platforms including iOS and Android. But if you use features only available with the original OLE objects, you’ll want to stick with MathType or MathType Lite. You can download MathType for free. It downgrades to MathType Lite in 30 days if you don’t pay for it, but that downgrade is a significant upgrade from the Equation Editor. Note that if your computer doesn’t have the MT Extra font needed for some Equation Editor symbols, you can download it from here.

This post doesn’t compare the user interfaces (UI) between the products, although that would make for interesting blog post(s). The UI varies considerably and if you’re used to MathType and its hot keys, you may find it harder to enter math into OfficeMath math zones. But it’s mostly a question of what you’re used to. The OfficeMath autocorrect facility is handy, and you can define your own control sequences. MathType and Office apps support [La]TeX, in case you prefer [La]TeX, and they support math pen input (Windows Math Input Panel).

Here’s the summary comparison table

Format Long division... Matrix lines... User spacing Symbols Templates
MathType 1 or 2 lines Row/column Nudges Unicode 2.1++ Yes
Equation Editor ... 1 or 2 lines Row/column Nudges Unicode 2.1+ Yes
OfficeMath No No Unicode, phantom ... Unicode 11 Yes

 

Long Division

Both MathType and the Equation Editor support one and two-line long division expressions such as                                                              Multiline long division expressions that have intermediate divisions shown below the baseline can be handled by multiple lines with enough nudges. With lots of effort using a flush-right tab and nudges, I managed to produce the multiline long-division expression

But since this takes a lot of effort, there probably aren’t many multiline long-division expressions in Equation-Editor objects (unless there’s an easier way to create them). OfficeMath has no provision for long division.

Matrix Lines

MathType and the Equation Editor support lines above and below any row in a matrix and left and right of any column. The lines are defined by the values: 0 for none, 1 for solid, 2 for dashed, and 3 for dotted. For example, you can put lines before and after every row and column as in the 2×2 matrixOfficeMath doesn’t support such lines.

User Spacing

Math typography has well-defined rules for horizontal and vertical spacing of symbols and structures as described in the post User Spaces in Math Zones. In most cases, added user spacing detracts from the quality of math typography and is discouraged. Nevertheless, there are occasions where users may want to change the spacing. All three formats have ways to do this, but they are not necessarily interchangeable. In OfficeMath you can insert any Unicode space to increase spacing and you can remove or add precise spacing via smashes and other phantoms (see Section 3.17 of UnicodeMath). MathType and the Equation Editor don’t have phantoms, but they do have nudges. To nudge text and objects, select what you want to nudge and move it using the arrow keys while holding the Ctrl key down. The nudge offset can vary between −32768 and 32767. For rarely used mathematical special purposes, such flexibility could be useful, and OfficeMath has no counterpart. I used nudges in simulating the multiline long division above. It can also be useful in nonmathematical contexts. Note that the nudge values do not scale with the font height.

MathType lets users change the math spacing for math quantities, while OfficeMath gets those values from the math font’s OpenType MATH table. Math fonts such as Cambria Math use values compatible with [La]TeX, the publishing industry’s math standard. MathType lets you define intra-line spacing in multiline equations. OfficeMath does too, but it’s not currently exposed in the Office apps.

MathType also has a ruler for defining tab settings. In apps like Word, such settings don’t apply in math zones, so this might be a consideration in deciding whether to convert Design Science OLE objects to native math zones. The Equation Editor 3.0 menu doesn’t have a ruler, so it’s not clear how a user could define the tab settings. But the Equation Editor file format includes the tabs and their settings.

Symbols

MathType and the Equation Editor are based on Unicode 2.0 (1996), while OfficeMath uses the current Unicode Standard. The math alphanumerics were added in Unicode 3.1 (2002) and many math operators were added in Unicode 3.2 (2002) (see DerivedAge.txt). A few more mathematical symbols have been added since then, notably the long division symbol ⟌... in Unicode 5.1. 364 characters have the math property in Unicode 2.0, while the current Unicode Standard has 2310 math characters. Because of the importance of many of these symbols, particularly the math alphanumerics, MathType has some non-Unicode ways of accessing symbols that weren’t defined in Unicode 2.0. There are also some symbols that MathType supports, e.g., the Apple logo (see character code 0xE7 of MT Extra 4.30), that OfficeMath doesn’t support natively, although you can insert normal text in a math zone formatted with any font. OfficeMath supports almost all math symbols in the Unicode math symbol set, which has many symbols not available in MathType. OfficeMath supports ISO standard math fonts, while MathType does not.

In OfficeMath if you don’t want to use a math font for symbols that appear in a math font (almost all mathematical symbols), then you have to mark the symbols with the “Text” attribute and you lose automatic mathematical spacing. When the “Text” attribute is used, any characters from any font can be inserted into a math zone.

For a complete listing of MathType symbols, see MTCode Encoding Table and Font Encoding Tables. For descriptions of the Unicode math symbol set see Unicode Technical Report #25 and UnicodeMath. If you’re converting from the Equation Editor or MathType to OfficeMath, it’s unlikely that you’ll lose any symbols. MathType can’t handle math alphanumerics in the U+1D400..1D7FF block since it can only handle Unicode characters with codes < 0x10000. It simulates common math alphanumerics using font styles with ASCII and Greek characters. The Unicode math alphanumerics are summarized along with MathType support in the following table adapted from Section 2.2 of UTR #25

Math Style Characters from Basic Set... Location... MathType
plain (upright, serifed) Latin, Greek and digits BMP Yes
bold Latin, Greek and digits Plane 1 Yes
italic Latin and Greek Plane 1* Yes
bold italic Latin and Greek Plane 1 Yes
script (calligraphic) Latin Plane 1* Yes
bold script (calligraphic) ... Latin Plane 1 No
Fraktur Latin Plane 1* Yes
bold Fraktur Latin Plane 1 No
double-struck Latin and digits Plane 1* Yes
sans-serif Latin and digits Plane 1 No
sans-serif bold Latin, Greek and digits Plane 1 No
sans-serif italic Latin Plane 1 No
sans-serif bold italic Latin and Greek Plane 1 No
monospace Latin and digits Plane 1 No

Here * means that some of the characters are in the Letterlike block U+2100..U+214F.

The following symbols are in MathType’s MTCode Encoding Table, but not in Unicode (although usually there are Unicode symbols with the same semantics). The codes given are in the Unicode Private Use Area and, as such, depend on the font used.

E949 Lazy S (Unicode considers this to be a glyph variant of reversed tilde U+223D ∽)
E94E Alias delimiter, E954 Round implies
E955 Smile under bar, E956 Frown over bar
E959 Greater-than almost equal to or less-than
E95A Less-than almost equal or greater-than
E966 Equals with dotted top line
E967 Precedes with colon, E968 Succeeds with colon
E97A Paired quadruple vertical dots
E986..E989... Dashed solidus, dashed backslash, dashed mid-line, dashed vertical bar
E98E Vertical bar with double hook
E98F Medium dot operator (free radical)
E996 Vertical bar over circle
E997 Vertical proportional to
E998 Black last quarter moon
E999 Black first quarter moon
E99A Negative sine wave
E9E0 Precedes equivalent to or succeeds
E9E1 Succeeds equivalent to or precedes
E9E2 Precedes almost equal to or succeeds
E9E3 Succeeds almost equal to or precedes
EB00..EB6F Has quite a few missing arrows and negations

Templates

The Equation Editor 3.0, MathType and OfficeMath all have template menus for various kinds of fractions, integrals, matrices, accents, subscripts, superscripts, etc. MathType and Word’s OfficeMath let users save templates and equations for quick recall. In addition, OfficeMath has the math autocorrect facility, which allows users to assign templates and equations to math-autocorrect control words. For example, “\integral” is predefined to insert the equation

You can add others using the math ribbon Equation Tools/Equations Option dialog.

One cool way to enter an n×m matrix template is to type alt+= to enter a math zone, then \matrix(&…&@...@) where &…& consists of m − 1 &’s and @...@ consists of n − 1 @’s. So a 3×3 matrix template is given by \matrix(&&@@), which you can type pretty quickly.The \matofficrix() construct is designed to produce a rectangular matrix, so you only have to enter &’s for the first row.