diff --git a/README.markdown b/README.markdown
deleted file mode 100644
--- a/README.markdown
+++ /dev/null
@@ -1,182 +0,0 @@
-# texmath
-
-[![CI
-tests](https://github.com/jgm/texmath/workflows/CI%20tests/badge.svg)](https://github.com/jgm/texmath/actions)
-
-texmath is a Haskell library for converting between formats used to
-represent mathematics.  Currently it provides functions to read and
-write TeX math, presentation MathML, and OMML (Office Math Markup
-Language, used in Microsoft Office), and to write Gnu eqn, typst, and
-[pandoc]'s native format (allowing conversion, using pandoc, to
-a variety of different markup formats).  The TeX reader and
-writer supports basic LaTeX and AMS extensions, and it can parse
-and apply LaTeX macros.  The package also includes several
-utility modules which may be useful for anyone looking to
-manipulate either TeX math or MathML.  For example, a copy of
-the MathML operator dictionary is included.
-
-[pandoc]: http://github.com/jgm/pandoc
-
-You can [try it out online here](http://johnmacfarlane.net/texmath.html).
-
-By default, only the Haskell library is installed.  To install a
-test program, `texmath`, use the `executable` Cabal flag:
-
-    cabal install -fexecutable
-
-By default, the executable will be installed in `~/.cabal/bin`.
-
-Alternatively, texmath can be installed using
-[stack](https://github.com/commercialhaskell/stack).  Install
-the stack binary somewhere in your path.  Then, in the texmath
-repository,
-
-    stack setup
-    stack install --flag texmath:executable
-
-The `texmath` binary will be put in `~/.local/bin`.
-
-Macro definitions may be included before a LaTeX formula.
-
-# Running texmath as a server
-
-`texmath` will behave as a CGI script when called under the name
-`texmath-cgi` (e.g. through a symbolic link).
-The file `cgi/texmath.html` contains an example of how it can
-be used.
-
-But it is also possible to compile a full webserver with a JSON
-API.  To do this, set the `server` cabal flag, e.g.
-
-    stack install --flag texmath:server
-
-To run the server on port 3000:
-
-    texmath-server -p 3000
-
-Sample of use, with `httpie`:
-
-```
-% http --verbose localhost:3000/convert text='2^2' from=tex to=mathml display:=false Accept:'text/plain'
-POST /convert HTTP/1.1
-Accept: text/plain
-Accept-Encoding: gzip, deflate
-Connection: keep-alive
-Content-Length: 64
-Content-Type: application/json
-Host: localhost:3000
-User-Agent: HTTPie/3.1.0
-
-{
-    "display": false,
-    "from": "tex",
-    "text": "2^2",
-    "to": "mathml"
-}
-
-
-HTTP/1.1 200 OK
-Content-Type: text/plain;charset=utf-8
-Date: Mon, 21 Mar 2022 18:29:26 GMT
-Server: Warp/3.3.17
-Transfer-Encoding: chunked
-
-<math display="inline" xmlns="http://www.w3.org/1998/Math/MathML">
-  <msup>
-    <mn>2</mn>
-    <mn>2</mn>
-  </msup>
-</math>
-```
-
-Possible values for `from` are `tex`, `mathml`, and `omml`.
-Possible values for `to` are `tex`, `mathml`, `omml`, `eqn`, and
-`pandoc` (JSON-encoded Pandoc).
-
-Alternatively, you can use the `convert-batch` endpoint to pass
-in a JSON-encoded list of conversions and get back a JSON-encoded
-list of results.
-
-# Generating lookup tables
-
-There are three main lookup tables which are built form externally compiled lists.
-This section contains information about how to modify and regenerate these tables.
-
-In the `lib` direction there are two sub-directories which contain the
-necessary files.
-
-## MMLDict.hs
-
-The utility program `xsltproc` is required.
-You can find these files in `lib/mmldict/`
-
-  1. If desired replace `unicode.xml` with and updated version (you can download a copy from [here](http://www.w3.org/TR/xml-entity-names/#source)
-  2. `xsltproc -o dictionary.xml operatorDictionary.xsl unicode.xml`
-  3. `runghc generateMMLDict.hs`
-  4. Replace the operator table at the bottom of `src/Text/TeXMath/Readers/MathML/MMLDict.hs` with the contents of `mmldict.hs`
-
-## ToTeXMath.hs
-
-You can find these files in `lib/totexmath/`
-
-  1. If desired, replace `unimathsymbols.txt` with an updated version from [here](http://milde.users.sourceforge.net/LUCR/Math/)
-  2. `runghc unicodetotex.hs`
-  3. Replace the record table at the bottom of `src/Text/TeXMath/Unicode/ToTeXMath.hs` with the contents of `UnicodeToLaTeX.hs`
-
-## ToUnicode.hs
-
-You can find these files in `lib/tounicode/`.
-
-  1. If desired, replace `UnicodeData.txt` with an updated verson from
-     [here](ftp://ftp.unicode.org/Public/UNIDATA/UnicodeData.txt).
-  2. `runghc mkUnicodeTable.hs`
-  3. Replace the table at the bottom of
-     `src/Text/TeXMath/Unicode/ToUnicode.hs` with the output.
-
-## Editing the tables
-
-It is not necessary to edit the source files to add records to
-the tables.  To add to or modify a table it is easier to add
-modify either `unicodetotex.hs` or `generateMMLDict.hs`. This is
-easily achieved by adding an item to the corresponding `updates`
-lists. After making the changes, follow the above steps to
-regenerate the table.
-
-# The test suite
-
-To run the test suite, do `cabal test` or `stack test`.
-
-In its standard mode, the test suite will run golden tests of
-the individual readers and writers.  Reader tests can be found
-in `test/reader/{mml,omml,tex}`, and writer tests in
-`test/writer/{eqn,mml,omml,tex}`.  Regression tests linked
-to specific issues are in `test/regression`.
-
-Each test file consists of an input and an expected output.
-The input begins after a line `<<< FORMAT` and the output
-begins after a line `>>> FORMAT`.
-
-If many tests fail as a result of changes, but the test
-failures are all because of improvements in the output,
-you can pass `--accept` to the test suite (e.g., with
-`--test-arguments=--accept` on `stack test`), and the existing
-golden files will be overwritten.  If you do this, inspect
-the outputs very carefully to make sure they are correct.
-
-If you pass the `--roundtrip` option into the test suite
-(e.g., using `--test-arguments=--roundtrip` with `stack test`),
-round-trip tests will be run instead.  Many of these will
-fail. In these tests, the native inputs in `test/roundtrip/*.native`
-will be converted to (respectively) `mml`, `omml`, or `tex`,
-then converted back, and the result will be compared with the
-starting point.  Although we don't guarantee that this kind
-of round-trip transformation will be the identity, looking
-at cases where it fails can be a guide to improvements.
-
-# Authors
-
-John MacFarlane wrote the original TeX reader, MathML writer, Eq
-writer, and OMML writer.  Matthew Pickering contributed the
-MathML reader, the TeX writer, and many of the auxiliary
-modules.  Jesse Rosenthal contributed the OMML reader.  Thanks
-also to John Lenz for many contributions.
diff --git a/README.md b/README.md
new file mode 100644
--- /dev/null
+++ b/README.md
@@ -0,0 +1,182 @@
+# texmath
+
+[![CI
+tests](https://github.com/jgm/texmath/workflows/CI%20tests/badge.svg)](https://github.com/jgm/texmath/actions)
+
+texmath is a Haskell library for converting between formats used to
+represent mathematics.  Currently it provides functions to read and
+write TeX math, presentation MathML, and OMML (Office Math Markup
+Language, used in Microsoft Office), and to write Gnu eqn, typst, and
+[pandoc]'s native format (allowing conversion, using pandoc, to
+a variety of different markup formats).  The TeX reader and
+writer supports basic LaTeX and AMS extensions, and it can parse
+and apply LaTeX macros.  The package also includes several
+utility modules which may be useful for anyone looking to
+manipulate either TeX math or MathML.  For example, a copy of
+the MathML operator dictionary is included.
+
+[pandoc]: http://github.com/jgm/pandoc
+
+You can [try it out online here](http://johnmacfarlane.net/texmath.html).
+
+By default, only the Haskell library is installed.  To install a
+test program, `texmath`, use the `executable` Cabal flag:
+
+    cabal install -fexecutable
+
+By default, the executable will be installed in `~/.cabal/bin`.
+
+Alternatively, texmath can be installed using
+[stack](https://github.com/commercialhaskell/stack).  Install
+the stack binary somewhere in your path.  Then, in the texmath
+repository,
+
+    stack setup
+    stack install --flag texmath:executable
+
+The `texmath` binary will be put in `~/.local/bin`.
+
+Macro definitions may be included before a LaTeX formula.
+
+# Running texmath as a server
+
+`texmath` will behave as a CGI script when called under the name
+`texmath-cgi` (e.g. through a symbolic link).
+The file `cgi/texmath.html` contains an example of how it can
+be used.
+
+But it is also possible to compile a full webserver with a JSON
+API.  To do this, set the `server` cabal flag, e.g.
+
+    stack install --flag texmath:server
+
+To run the server on port 3000:
+
+    texmath-server -p 3000
+
+Sample of use, with `httpie`:
+
+```
+% http --verbose localhost:3000/convert text='2^2' from=tex to=mathml display:=false Accept:'text/plain'
+POST /convert HTTP/1.1
+Accept: text/plain
+Accept-Encoding: gzip, deflate
+Connection: keep-alive
+Content-Length: 64
+Content-Type: application/json
+Host: localhost:3000
+User-Agent: HTTPie/3.1.0
+
+{
+    "display": false,
+    "from": "tex",
+    "text": "2^2",
+    "to": "mathml"
+}
+
+
+HTTP/1.1 200 OK
+Content-Type: text/plain;charset=utf-8
+Date: Mon, 21 Mar 2022 18:29:26 GMT
+Server: Warp/3.3.17
+Transfer-Encoding: chunked
+
+<math display="inline" xmlns="http://www.w3.org/1998/Math/MathML">
+  <msup>
+    <mn>2</mn>
+    <mn>2</mn>
+  </msup>
+</math>
+```
+
+Possible values for `from` are `tex`, `mathml`, and `omml`.
+Possible values for `to` are `tex`, `mathml`, `omml`, `eqn`, and
+`pandoc` (JSON-encoded Pandoc).
+
+Alternatively, you can use the `convert-batch` endpoint to pass
+in a JSON-encoded list of conversions and get back a JSON-encoded
+list of results.
+
+# Generating lookup tables
+
+There are three main lookup tables which are built form externally compiled lists.
+This section contains information about how to modify and regenerate these tables.
+
+In the `lib` direction there are two sub-directories which contain the
+necessary files.
+
+## MMLDict.hs
+
+The utility program `xsltproc` is required.
+You can find these files in `lib/mmldict/`
+
+  1. If desired replace `unicode.xml` with and updated version (you can download a copy from [here](http://www.w3.org/TR/xml-entity-names/#source)
+  2. `xsltproc -o dictionary.xml operatorDictionary.xsl unicode.xml`
+  3. `runghc generateMMLDict.hs`
+  4. Replace the operator table at the bottom of `src/Text/TeXMath/Readers/MathML/MMLDict.hs` with the contents of `mmldict.hs`
+
+## ToTeXMath.hs
+
+You can find these files in `lib/totexmath/`
+
+  1. If desired, replace `unimathsymbols.txt` with an updated version from [here](http://milde.users.sourceforge.net/LUCR/Math/)
+  2. `runghc unicodetotex.hs`
+  3. Replace the record table at the bottom of `src/Text/TeXMath/Unicode/ToTeXMath.hs` with the contents of `UnicodeToLaTeX.hs`
+
+## ToUnicode.hs
+
+You can find these files in `lib/tounicode/`.
+
+  1. If desired, replace `UnicodeData.txt` with an updated verson from
+     [here](ftp://ftp.unicode.org/Public/UNIDATA/UnicodeData.txt).
+  2. `runghc mkUnicodeTable.hs`
+  3. Replace the table at the bottom of
+     `src/Text/TeXMath/Unicode/ToUnicode.hs` with the output.
+
+## Editing the tables
+
+It is not necessary to edit the source files to add records to
+the tables.  To add to or modify a table it is easier to add
+modify either `unicodetotex.hs` or `generateMMLDict.hs`. This is
+easily achieved by adding an item to the corresponding `updates`
+lists. After making the changes, follow the above steps to
+regenerate the table.
+
+# The test suite
+
+To run the test suite, do `cabal test` or `stack test`.
+
+In its standard mode, the test suite will run golden tests of
+the individual readers and writers.  Reader tests can be found
+in `test/reader/{mml,omml,tex}`, and writer tests in
+`test/writer/{eqn,mml,omml,tex}`.  Regression tests linked
+to specific issues are in `test/regression`.
+
+Each test file consists of an input and an expected output.
+The input begins after a line `<<< FORMAT` and the output
+begins after a line `>>> FORMAT`.
+
+If many tests fail as a result of changes, but the test
+failures are all because of improvements in the output,
+you can pass `--accept` to the test suite (e.g., with
+`--test-arguments=--accept` on `stack test`), and the existing
+golden files will be overwritten.  If you do this, inspect
+the outputs very carefully to make sure they are correct.
+
+If you pass the `--roundtrip` option into the test suite
+(e.g., using `--test-arguments=--roundtrip` with `stack test`),
+round-trip tests will be run instead.  Many of these will
+fail. In these tests, the native inputs in `test/roundtrip/*.native`
+will be converted to (respectively) `mml`, `omml`, or `tex`,
+then converted back, and the result will be compared with the
+starting point.  Although we don't guarantee that this kind
+of round-trip transformation will be the identity, looking
+at cases where it fails can be a guide to improvements.
+
+# Authors
+
+John MacFarlane wrote the original TeX reader, MathML writer, Eq
+writer, and OMML writer.  Matthew Pickering contributed the
+MathML reader, the TeX writer, and many of the auxiliary
+modules.  Jesse Rosenthal contributed the OMML reader.  Thanks
+also to John Lenz for many contributions.
diff --git a/changelog b/changelog
deleted file mode 100644
--- a/changelog
+++ /dev/null
@@ -1,949 +0,0 @@
-texmath (0.12.8.13)
-
-  * Remove special override for `\perp` in Text.TeXMath.Readers.TeX.Commands
-    (#247). This caused `\perp` to be read as U+22A5 instead of U+27C2.  This
-    addresses the mismatch with the TeX writer (which associates `\bot` with
-    U+22A5 and `\perp` with U+27C2).
-
-  * Typst writer:
-
-    + Fix several issues with accents and attachments (#245).
-    + Fix handling of some EOver with combining accents (#245).
-    + Escape backslash in text context (#245).
-
-texmath (0.12.8.12)
-
-  * TeX writer: render prime and superscripted prime as `'` (#246).
-
-  * TeX reader:
-
-    + Don't crash on array with `\hline` before blank cell (#244).
-    + Skip whitespace in array column specifier (#244).
-
-  * OMML writer:
-
-    + Fix order of dPr attributes (#243).
-
-  * Typst writer:
-
-    + Escape commas (#242). Otherwise we can get bad results e.g. in fractions,
-      when the commas separate arguments.
-
-  * Require typst-symbols 0.1.7, update tests.
-
-texmath (0.12.8.11)
-
-  * TeX reader: Ignore `@{..}` and `!{..}` in array alignment specifiers (#241).
-
-  * TeX reader: ignore `\color` instead of crashing (#225).
-
-texmath (0.12.8.10)
-
-  * TeX reader: allow `\lVert .. \vVert` to create an EDelimited (#238).
-
-  * Typst writer: improved handling of primes (#239).
-    Use `'` instead of e.g. `prime`. Don't put a space before primes.
-
-  * Typst writer: improve rendering of EDelimited (#238).
-
-  * Typst writer: use `mid()` for middle delimiters (#238).
-
-texmath (0.12.8.9)
-
-  * Parse TeX `\mathbf` as both bold and upright (#236).
-
-texmath (0.12.8.8)
-
-  * TeX reader: support unicode-math Greek symbols, e.g. `\Alpha` (#235).
-    This includes symbols like `\Alpha` and `\omicron` that weren't
-    defined in original TeX.
-
-  * Use typst-symbols 0.1.6
-
-texmath (0.12.8.7)
-
-  * TeX reader: convert Bin symbols to Ord when appropriate (#234).
-    E.g. in '-3', we should have an Ord rather than a Bin, so
-    the spacing will be appropriate.
-
-  * Pandoc writer: fix spacing inside EDelimited (#234).
-    Previously spaces around binary operators were omitted when
-    they occurred inside parens or brackets.
-
-  * test-texmath: allow pandoc output.
-
-texmath (0.12.8.6)
-
-  * Typst writer: avoid redundant `lr`s (#233).
-
-texmath (0.12.8.5)
-
-  * Typst writer: use ASCII symbols when possible instead of symbols (#232).
-    E.g., `+` instead of `plus`. Add `\` to characters needing escape.
-    Enhance list of characters that need escaping.
-
-  * Typst writer: fixed EBoxed output so it includes a border.
-
-  * Handle `\ddot` better in conversion to typst (#231).
-
-  * Use typst-symbols 0.1.5
-
-texmath (0.12.8.4)
-
-  * TeX reader: ignore `\allowbreak` (#230).
-
-  * TeX reader: handle `*{5}{lr}` in array column specifier (#229).
-
-  * OMML reader: allow `m:e` to be missing in `m:nary` (#228).
-    Technically this is not allowed, according to the spec, but
-    Word and LibreOffice seem to tolerate it.
-
-texmath (0.12.8.3)
-
-  * OMML writer: use "on" and "off" instead of "1" and "0" for
-    m:CT_OnOff type.  It is said that "1" and "0" work in Word
-    but not Powerpoint.
-
-texmath (0.12.8.2)
-
-  * Typst writer: use binom instead of a fraction (jgm/pandoc#9063).
-
-texmath (0.12.8.1)
-
-  * Typst writer: several fixes (#223, Lleu Yang).
-
-    + Escape quotes (") in inQuotes
-    + Accent `\8407` corresponds to `arrow()`
-    + Write `#none`'s for matrices with blanks at the beginning of a row
-
-texmath (0.12.8)
-
-  * Expose Text.TeXMath.Shared [API change]
-
-  * Typst writer: Fix bug where 's' turned into 'space' (#219).
-
-  * Typst writer: Fix handling of overline (#214).
-
-  * Typst writer: Fix underbrace (#217).
-
-  * Typst writer: Improve some accents (#216).
-
-  * TeX writer: don't include \\ on last line of matrix.
-
-  * TeX writer: Remove escaping of spaces inside \text{}.
-    It isn't needed, and it causes problems in MathJax rendering.
-
-  * TeX reader: allow empty matrices.
-
-  * MathML writer: Fix rendering of vectors (#218).
-
-  * Depend on external typst-symbols package.
-
-texmath (0.12.7.1)
-
- * Typst writer:
-
-   + Improve under/overbrace/bracket/line.
-   + Fix bugs with super/subscript grouping (#212).
-   + Fix case where super/subscript is on an empty element,
-     by inserting a zws.
-
-texmath (0.12.7)
-
-  * Add typst writer. New module: Text.TeXMath.Writers.Typst.
-
-  * TeX reader: Support multilined environment. Closes #210.
-
-texmath (0.12.6)
-
-  * MathML writer:
-
-    + Use style with CSS as well as columnalign (#205).
-      This seems to be needed by browser implementations of MathML.
-    + Remove reliance on mstyle (#205). mstyle doesn't seem to be
-      supported any more, at least in browser implementations of MathML,
-      and the documentation indicates that it is treated like mrow now
-      that styles can go directly on child elements. This commit removes
-      our use of mstyle. Instead of using mstyle, we change mathvariant
-      attributes on descendent elements (and displaystyle attributes on
-      direct children, in the case of fractions).
-    + Extend our existing use of unicode replacements, since many
-      implementations don't properly handle mathvariant. We now get
-      variant characters for mo, mn, and all elements that can sensibly
-      take them, not just mi and mtext.
-    + Omit mathvariant attribute unless we can't find appropriate Unicode.
-      When MathML is displayed by ODT, having BOTH a bold math Unicode
-      character and a mathvariant="bold" attribute seems to confuse it.
-      (Browsers don't care either way.) This gives us more compact and
-      readable output, as well.
-
-texmath (0.12.5.5)
-
-  * Allow pandoc-types 1.23.
-
-  * TeX reader: remove false positives for isConvertible (#204).
-    "Convertible" symbols are those in which subscripts render
-    under the symbol in display environments, and as subscripts
-    in inline environments. Previously the TeX parser recognized
-    all relation and binary symbols as convertible, which does not
-    match TeX's behavior.
-
-  * TeX reader: Support `\enspace` (#203).
-
-texmath (0.12.5.4)
-
-  * OMML reader: fix treatment of `eqArr` (#196).
-    This change also includes a change to the TeX writer: any array
-    with an alternating sequence of R,L alignments will be rendered
-    as an aligned environment (not just a single [R,L] as currently).
-
-  * OOML Writer: Add low line char ("_") to `isBarChar` (#193, Hagb).
-    Closes jgm/pandoc#8152.
-
-  * Eqn writer: use `-` for minus, `cdots` for cdots (#200).
-
-texmath (0.12.5.3)
-
-  * Eqn writer: avoid empty `{}` (#198).
-    This causes an error, along the lines of
-    ```
-    eqn:<standard input>:73: error: syntax error
-     context is
-            } above { >>> } <<<
-    ```
-    which can be avoided if we use `{""}`.
-
-texmath (0.12.5.2)
-
-  * Fix bug in implementation of `\mspace` (#195).
-
-texmath (0.12.5.1)
-
-  * Compile texmath-server with `-threaded`.
-    This should fix the crashes we have experienced.
-
-  * Add apache style logging to web server.
-
-  * Add more strictness in Unicode.ToTeX.
-
-texmath (0.12.5)
-
-  * TeX reader: Improve treatment of `\operatorname` (#147).
-    We can now handle spaces, as in `\operatorname{arg\,max}`.
-    We also now have a better fallback when the operator name
-    contains content that can't be turned into plain text.
-    (In this case, we just pass through the contents, since EMathOperator
-    takes a text argument.)
-
-  * TeX: Support more `\var...` commands for greek letters (Albert
-    Krewinkel). AMSmath defines `\varGamma`, `\varDelta`, `\varTheta`,
-    `\varLambda`, `\varXi`, `\varPi`, `\varSigma`, `\varUpsilon`, `\varPhi`,
-    `\varPsi`, and `\varOmega`, all of which are now parsed as unicode
-    characters *MATHEMATICAL ITALIC CAPITAL ...*.  Also, `\varsigma` is
-    now parsed as *MATHEMATICAL SMALL FINAL SIGMA*.
-
-  * OMML writer: better handling for scaled delimeter symbols (#140).
-    We now try to represent these using m:d when possible.
-    This allows the parentheses to expand with the content;
-    previously we'd often get small parentheses with large
-    contents.
-
-  * OMML reader:
-
-    + Allow m:pos to be missing or lack an attribute in m:bar (#187).
-    + Set the default value of pos to "bot" (Maximilian Meier).
-    + Implement support for noBar fractions (#191, Meimax).
-
-  * Add servant-based server with a JSON API.
-
-  * Remove old cgi directory.
-
-  * Improve test suite (#189).  The existing test suite was a complicated
-    mess, so that it was hard to add new tests.  (One of the problems
-    was that the same files were used as golden files for reader
-    tests and as sources for writer tests.) This commit shifts
-    the same tests to a new, easier to understand format, so that
-    it will be simple to add new tests in the future.  We now use
-    the tasty test framework, and we use pretty-show to make the
-    native golden tests easier to comprehend.
-
-  * Add regression tests.
-
-texmath (0.12.4)
-
-  * TeX reader: handle hyperref better (#186).  We don't parse it as a link,
-    but we pass its contents through rather than failing.
-
-  * Update scripts and data in `lib/` directory. These are not build
-    dependencies, but they were used to produce some of the large
-    tables in the source code.  Fixed the scripts and Makefile to work
-    with recent texmath and cabal.  Removed two very large unicode data
-    files that can be downloaded when needed.  (This reduces the size of
-    the source tarball considerably.) Remove `lib/toascii` (no longer used).
-
-  * Update MMLDict using latest unicode.xml.
-
-  * TeX reader: support siunitx `\qty`, `\qtyrange`, `\unit` (#185).
-
-  * Remove Text.TeXMath.Compat.  We can now safely require mtl >= 2.2.1.
-
-  * Use symbolMap from ToTeX to shorten the long hardcoded symbols list.
-    Now we only hard-code items that differ what what is in symbolMap.
-    This reduces the code size by thousands of lines.
-
-  * Unicode.ToTeX: export `symbolMap` [API change].  This uses the data in
-  `records` to create a backwards mapping from TeX commands to Exps (ESymbol
-      elements).  This can replace most of the hardcoded list in the current
-  TeX reader.
-
-  * Split out TeXMath.Readers.TeX.Commands internal module.
-    This makes the TeX reader shorter and should help compile times.
-
-  * OMML reader: better handling of m:t nodes (#151).
-    Previously we parsed an m:t element as an EIdentifier if it contains a
-    single letter, but an EText TextNormal if it contains more than one.  This
-    gave bad results in some cases.  It is better to reserve EText for the
-    case where the m:nor property is specified for "normal text."
-
-  * Require base >= 4.11.
-
-  * Remove `network-uri` flag from stack.yaml.
-
-
-texmath (0.12.3.3)
-
-  * OMML writer: use nary only for operators supported by LibreOffice
-    (Albert Krewinkel).  LibreOffice (and possibly Word, too) can handle
-    only a small set of operators in an `nary` element.
-
-  * TeX writer: use `\xleftarrow`, `\xrightarrow` where sensible
-    (Albert Krewinkel).  The commands are generated for expressions over `←`
-    or `→`. Besides being more idiomatic, this change also prevents the
-    generation of invalid LaTeX, as `\leftarrow` and `\rightarrow` are not
-    math operators and hence may not be followed by `\limit`.
-    Both commands are part of amsmath.sty.
-
-  * TeX reader:
-
-    + Improve angled-bracket support (Albert Krewinkel).
-      The amsmath package allows `\left<` and `\right>` as alternatives to
-      `\left\langle` and `\right\rangle`, respectively.
-    + Ignore stared version of `\tag` (Albert Krewinkel).
-    + Support \dots{c,b,m,i,o} from amsmath (#179).
-    + Change symbol returned for \dots{b,i,m} from `…` to `⋯`
-      (Albert Krewinkel).
-
-texmath (0.12.3.2)
-
-  * OMML writer: remove m:nor element in math operators (#178).
-    This caused the document's main font, rather than the math
-    font, to be used in formatting operators, which is undesirable.
-
-texmath (0.12.3.1)
-
-  * MathML reader: don't allow mfenced attributes to inherit (#177).
-    When open and close attributes aren't given on an mfenced,
-    we should use defaults rather than inheriting these from a
-    parent mfenced.
-
-texmath (0.12.3)
-
-  * TeX reader: implement logic to convert a Bin symbol to
-    an Op to Op when it occurs at the beginning of a group,
-    or after an Open, Pun, or Op symbol. This will give much
-    better results for unary `-` (#176).
-
-  * OMML writer: fixed rendering of EDelimited (#173).
-    We now properly render "middles" (separators).
-
-texmath (0.12.2)
-
-  * MathML input: support mmultiscripts element (#158, #100).
-
-  * Make MathML tag/attr recognition case-insensitive (#158).
-
-  * Pandoc writer: better handling of styling such as `\mathrm` (#145).
-    Previously identifiers were always italic, no matter what
-    styling was applied.
-
-  * Ignore `\tag` in TeX input (#162).
-
-  * TeX writer: avoid unneeded `\left` and `\right` for delimited.
-    We don't need `\left` and `\right` when the contents are
-    "standard height."
-
-  * TeX reader: parse implicit EDelimited sections (#172).
-    We now parse `(x)` as EDelimited, even though `\right` and `\left`
-    are not used.
-
-texmath (0.12.1.1)
-
-  * Fix compilation with GHC-9.0.1 (#169, Simon Jakobi).
-    Background:
-    https://gitlab.haskell.org/ghc/ghc/-/wikis/migration/9.0#simplified-subsumption
-  * Add eqn to online demo.
-  * Improve error messages for unknown control sequences, and restructure
-    tex parser to be more efficient (#167).
-
-texmath (0.12.1)
-
-  * OMML writer: explicitly mark symbols as non-italic (#109).
-    Otherwise, for some reason, they appear as italic by default.
-  * Improve error messages in reading tex arrays.
-  * Improve support for `\bmod`, `\mod`, etc. (#165).
-    Allow them to take complex arguments like `\left( 1 \right)`.
-  * Improve support for `\genfrac` (#164).
-  * Ignore `\textstyle`, `\scriptstyle`, `\scriptscriptstyle`,
-    as we currently ignore `\displaystyle`.
-  * Parse siunitx commands in reading tex (#157).
-  * Improve handling of `\not` in reading tex (#161).
-    Previously we only handled `\not` in front of certain symbols.
-  * Support `\pod` and `\pmod` and clean up spacing and font for
-    `\mod` and `\bmod` (#160).
-
-texmath (0.12.0.3)
-
-  * Allow pandoc-types 1.22.
-
-texmath (0.12.0.2)
-
-  * Allow pandoc-types 1.21.
-  * Pandoc output: omit empty Emph for sub/superscript without base (#155).
-  * tex writer: Use `\overline{\overline{B}}` instead of unicode
-    double line accent (#153).
-
-texmath (0.12.0.1)
-
-  * OMML writer: Fix overline and accent rendering (#152).
-  * OMML reader: Fix dropped arrows (#153). Add tests.
-
-texmath (0.12)
-
-  * Use Text instead of String in data types and functions
-    (Christian Despres) [API change].  Note that there are still a few
-    places where we unpack Text to String with a view pattern:
-    performance could likely be increased with further rewriting.
-  * Avoid use of !! with negative index (jgm/pandoc#5853).
-
-texmath (0.11.3)
-
-  * Use error instead of fail to allow building with ghc 8.8.
-  * Test output: remove superfluous spaces after control sequences,
-    superfluous groups, and unicode VARIATION SELECTOR 1.
-  * renderTeX: add space between control sequence and any non-ASCII
-    character.  There are differences in behavior of isAlphaNum between
-    different ghc versions that would affect test output otherwise.
-  * charToLaTeXString: Ignore 65024 VARIATION SELECTOR 1 to avoid putting
-    it literally in the output ; it is used in mathml output and occurs
-    in many of the test cases.
-  * Add cabal.project.
-  * Use actions rather than travis for CI.
-
-texmath (0.11.2.3)
-
-  * OMML reader: properly distinguish normal text from math (#136).
-    If `m:nor` or `m:lit` is set in `m:rPr`, we interpret the
-    contents as literal text and not as math.
-  * TeX reader: use different symbol (`_`) for `\underline` (#142).
-    This gets the right accent properties on MathML output, so
-    that the underline is not lower than it should be.
-  * TeX reader: Treat `\bmod` as a relational symbol rather than
-    an operator (#143).  This fixes spacing problems in several
-    output formats.
-
-texmath (0.11.2.2)
-
-  * OMML writer: use m:nor for normal text (#135).
-
-texmath (0.11.2.1)
-
-  * OMML reader: Don't collapse `fName` to a string (#133).
-    This fixes cases where fName has some complexity, e.g.
-    a subscript or limit.
-
-texmath (0.11.2)
-
-  * Improved handling of \mathop etc (#126).  We now allow operators like
-    `arg\,min`, converting the space into unicode.
-  * Support \hspace (#126).
-  * Support \hdots as synonym of \ldots (#126).
-  * Support \mathds (#126).
-  * In parsing array, ignore `|` in column specs (#127).
-    We have no way to represent this in EArray, currently.
-    Ignoring them seems better than failing altogether.
-
-texmath (0.11.1.2)
-
-  * Eqn writer: properly escape `{` and `}`.
-  * Set more accurate bounds (Herbert Valerio Riedel).
-
-texmath (0.11.1.1)
-
-  * Fix building with ghc-8.6.1 by removing need for now missing
-    MonadFail instances (Jonas Scholl).
-  * TeX reader: Allow operators like `/` to be scaled (#120).
-  * TeX reader: Improved efficiency of basicEnclosure.
-  * TeX reader: Handle `\bmod` (#115).
-
-texmath (0.11.1)
-
-  * OMML writer: Use m:acc for accents in OMML (#119).  This fixes
-    some spacing issues for e.g. the translation of `\dot{m}`.
-
-texmath (0.11.0.1)
-
-  * OMML writer: use zero-width space to avoid dashed box (#118).
-    In Word, a dashed box shows up for empty text runs in
-    exponents and bases, or empty exponents and bases.  So
-    we use a zero-width space in these contexts.
-
-texmath (0.11)
-
-  * Changed treatment of non-ASCII characters.
-    Previously we ensured that the output of conversion to tex
-    was pure ASCII.  This meant rendering "ä" as "a", for
-    example, and it meant that many characters (e.g. Chinese)
-    simply got replaced with an empty string, while others
-    got replaced with "[?]".
-
-    This was not a particularly helpful behavior.  Including
-    the unicode characters verbatim doesn't interfere with
-    latex compilation.  They often won't show up in the generated
-    math, but that is no worse than what happened before.
-
-    This change passes through unicode characters unchanged
-    when they can't be converted to standard LaTeX commands.
-
-    An important reason for including the unicode characters
-    is that pandoc uses TeX to represent math in its AST.
-    So, for example, if you convert HTML with mathml to docx,
-    you'll currently lose all Chinese characters, since they'll
-    disappear in the TeX intermediary, even though a direct
-    mathml to ooml conversion would have passed them through.
-    With this change, these conversions will work better
-    (see jgm/pandoc#4642).
-
-    + Removed Text.TeXMath.Unicode.ToASCII (API change).
-    + Removed cbits that were needed for that module.
-    + Modified Tex.TeXMath.Unicode.ToTeX to pass through
-      unicode characters that can't be converted, rather
-      than trying to asciify them or remove them.
-
-  * Render degree symbol in tex as `{^\circ}`.
-
-texmath (0.10.1.2)
-
-  * eqn writer:  use uppercase letters in unicode escapes (jgm/pandoc#4597).
-
-texmath (0.10.1.1)
-
-  * Handle multicharacter operators better in Eqn, TeX, OMML (#109).
-
-  * OMML reader: unwrap `<w:...>` tags immediately under `<m:oMath>`
-    (#111, Jesse Rosenthal).
-
-texmath (0.10.1)
-
-  * Expose Text.TeXMath.TeX (TeX rendering functions) (#108).
-    This is needed in order to use getTeXMath from Text.TeXMath.Unicode.ToTeX.
-  * Pandoc writer: don't insert punctuation space before explicit space
-    (#107).  E.g. in `2,\!4`.
-  * Fix end-line command ('\\') in AMSmath environments (ARATA Mizuki).
-    The end-line command in AMSmath environments does not allow spaces
-    before its optional argument.
-  * Use `\in` for SMALL ELEMENT OF in "base" (Vaclav Haisman).
-
-texmath (0.10)
-
-  * Use `\ni` in base for U+220D (#103).
-  * Improved unicode -> tex symbol lookup.  Previously we had many
-    cases where the lookup table would map a unicode character to
-    the empty string for the base package, and this would print finding
-    a good match in another package in the environment.
-  * Added support for `\symbf` (#101).
-  * Revert "migrating the lookup structures for Unicode/ToTex.hs to
-    use C source files to accelerate builds."  This change gave us somewhat
-    faster builds (using less memory), but at a huge cost of
-    maintainability.
-  * Removed AlignDefault from Alignment (API change, #102).
-    AlignDefault doesn't make sense for a converter between
-    formats that may have different defaults.  We now properly treat
-    centering as the default in MathML and OMML input.
-
-texmath (0.9.4.4)
-
-  * Update tests that should have been updated for 0.9.4.3.
-
-texmath (0.9.4.3)
-
-  * MathML writer: put linethickness attribute directly on mfrac
-    element. This fixes binomial rendering.
-
-texmath (0.9.4.2)
-
-  * Pandoc writer: better handle accented characters (jgm/pandoc#3922).
-
-texmath (0.9.4.1)
-
-  * Improved handling of accents and upper/lower delimiters (#98).
-  * cgi: use cloudflare cdn for mathjax.
-
-texmath (0.9.4)
-
-  * Added writer for GNU eqn format (used with *roff).
-
-    + New module Text.TeXMath.Writers.Eqn, exporting writeEqn.
-    + Moved handleDownup to Shared.
-    + Add eqn output option in texmath executable.
-    + Add eqn writer tests.
-
-texmath (0.9.3)
-
-  * Expose pMacroDefinition in Text.TeXMath.Readers.TeX.Macros,
-    with generalized type.
-
-texmath (0.9.2)
-
-  * Support `\newenvironment` and `\renewenvironment`.
-
-texmath (0.9.1.1)
-
-  * Added program to generate cbits/{key,val}ToASCII.c from a data file.
-  * Migrate lookup structures for Unicode/ToTex.hs to use C
-    source files to accelerate builds (Carter Tazio Schonwald).
-  * Allow \boldsymbol + a token without braces.
-    And same for other styling commands. Closes #94.
-  * Better ghc-prof-options.
-
-texmath (0.9.1)
-
-  * Pandoc writer:  add thin space after math operators.
-  * TeX reader: improve parsing of `\mathop` to allow
-    multi-character operator names.
-  * Minor optimizations.
-  * Added Ord instances to Exp and associated types.
-
-texmath (0.9)
-
-  * OMML writer: Properly handle nary inside delimiters (#92).
-    Previously under-overs inside delimiters didn't get
-    converted to nary the way they did outside of delimiters.
-  * TeX reader: Support bm, mathbold, pmd.
-  * OMML reader: Handle w:sym (#65).
-  * New module, Text.TeXMath.Unicode.Fonts, for MS font code point
-    lookup.  Copied from pandoc Text.Pandoc.Readers.Docx.Fonts,
-    which will be changed to import this.  [API change]
-  * Fixed typo in test program for round-trip tests.
-  * Parse math inside text constructions (#62).  E.g.
-    `\text{if $y$ is greater than $0$}` Text and math can nest indefinitely.
-  * Modify test suite so tests can be marked as "ought to raise error."
-    So far this is only used in mml.  If the test is called foo
-    and `readers/mml/foo.error` exists, then the test is expected
-    to raise a parse error.
-  * MathML reader err: Don't print colon after line number.
-  * Restore proper error handling to MathML reader.  Note that the tests
-    need to be redone, since they assumed the old behavior of just
-    returning empty elements on parse errors.
-
-texmath (0.8.6.7)
-
-  * TeX reader: treat backslash + newline as like backslash + space.
-    Previously this case gave an error.  See jgm/pandoc#3189.
-
-texmath (0.8.6.6)
-
-  * Allow pandoc-types 1.17.*.
-
-texmath (0.8.6.5)
-
-  * Fixed transposition of sub/super on operators (jgm/pandoc#3040).
-
-texmath (0.8.6.4)
-
-  * Support 'equation' environment, without the numbering of course.
-
-texmath (0.8.6.3)
-
-  * Use POST instead of GET for texmath-cgi.
-
-texmath (0.8.6.2)
-
-  * Fixed array alignment issues (jgm/pandoc#2864, jgm/pandoc#2310).
-  * Use 1 and 0 for _Hide attributes, rather than on and off.
-    Officially it seems that either 1/0 or true/false are wanted.
-  * Fixed EUnderOver for omml output.  Previously both the under and
-    the over part were being placed under (jgm/pandoc#2775).
-
-texmath (0.8.6.1)
-
-  * OMML writer:  Fixed rendering of roots, so that the degree appears
-    in the right place.
-  * OMML writer:  Don't include empty rPr elements.
-
-texmath (0.8.6)
-
-  * TeX reader: Support hundreds more math symbols (all of those defined in
-    Text.TeXMath.Unicode.ToTeX), including `\nwarrow`, `\swarrow`,
-    `\nearrow`, `\searrow` (#90).
-
-texmath (0.8.5.1)
-
-  * OMML writer: Fixed order of elements in nary formulas to conform
-    to OMML spec (#88, Niko Weh).  `<e>` must follow the `<sup>` and `<sub>`
-    parts of `<nary>`. This fixes rendering issues in LibreOffice
-    (though Word copes with the incorrect order).
-  * Added Paths_texmath to Other-Modules for texmath executable.
-
-texmath (0.8.5)
-
-  * TeX parser: Support limited styling inside \DeclareMathOperator (#85).
-  * TeX reader: Correctly parse \mbox.  Its argument is text mode.
-  * Updated mathml tests to use mo for operators.
-  * TeX reader: support mathopen, mathclose, mathpunct.
-  * MathML writer: render EMathOperator as mo, not mi (#86).
-  * MathML: handle leading space in EText (#87).
-  * Take --version in executable from cabal metadata.
-  * Added Paths_texmath to other-modules.
-
-texmath (0.8.4.2)
-
-  * Fixed overbrace, underbrace (#82).  Previously we were using the wrong
-    character: U+FE37 instead of U+23DE.  This didn't work in Word.
-  * Support \mathop, \mathrel, \mathbin, \mathord
-  * MathML - render Symbol Ord as mi, not mo (#83).
-  * Handle align environments with > 2 cells per row (#84).
-
-texmath (0.8.4.1)
-
-  * Added stack install instructions.
-  * Fixed bold-italic in OMML (#76).  Previously `\mathbfit` didn't work
-    properly in OMML output.
-  * Ignore `\nonumber` (#79).
-  * Allow styling in `\operatorname` e.g. `\operatorname{\mathcal{L}}` (#80).
-  * Fixed bug in `supHide` and `subHide` for OMML.  This  led to little
-    empty boxes being displayed in integrals with subscripts but no
-    superscripts.  See jgm/pandoc#2571.
-  * Implemented `\mod` as a math operator (#81).  This doesn't capture all the
-    spacing subtleties of the amsmath version, but should be good enough
-    for most purposes.
-  * Allow pandoc-types < 1.17.
-
-texmath (0.8.4)
-
-  * Improved symbol spacing in Pandoc output (jgm/pandoc#2261).
-    This change avoids putting space around binary symbols that
-    come at the beginning or end of a group, or appear on their
-    own.  It also avoids spacing on a binary symbol that follows
-    a Bin, Op, Rel, Open, or Punct atom, in accord with
-    TeXBook Appendix G.  We could go farther towards exactly
-    matching the TeXBook rules, but this simple change goes some of
-    the way.
-  * Added stack.yaml.
-
-texmath (0.8.3)
-
-  * Parse uppercase Greek letters as EIdentifier, not ESymbol Op.
-    This fixes handling of things like `$Lambda^1$`, particularly in omml.
-
-texmath (0.8.2.2)
-
-  * Handle `.` after number with no following digits.
-
-texmath (0.8.2.1)
-
-  * Handle bare hyphen in `\text{...}`.  Closes jgm/pandoc#2274.
-  * Support `\ltimes` and `\rtimes` in the TeX reader (Arata Mizuki).
-  * Slightly more efficient number parser.
-
-texmath (0.8.2)
-
-  * Better handling of decimal points. Decimal points are now parsed
-    as parts of numbers, not as separate symbols.  E.g. in MathML they
-    now appear in `<mn>` elements.  Closes #74.
-
-texmath (0.8.1)
-
-  * OMML: Don't force everything into Roman font by default.
-    This change ensures that variables will be italic by
-    default in Word.  See jgm/pandoc#2075.
-
-texmath (0.8.0.2)
-
-  * Fixed typo in `defaultEnv` to include `amssymb` (#68).
-  * Moved some lookup tables to C, and disabled aggressive
-    profiling defaults, to avoid excessive memory usage in
-    compiling with clang (#70).
-  * Support `\newcommand*` in `parseMacroDefinition` (jgm/pandoc#2005).
-  * Fixed order bug for over/under in OMML reader (#66).
-  * Support `\boldsymbol` (#67).
-
-texmath (0.8.0.1)
-
-  * Added network-uri flag. This addresses the split of network
-    and network-uri packages.
-  * OMML reader: change default accent (Jesse Rosenthal).
-    The default had previously been set as accute (possibly as a
-    placeholder). It appears to be circumflex/hat instead.
-
-texmath (0.8)
-
-  * Added OMML reader (Jesse Rosenthal).
-  * Support latex \substack (#57).
-  * Added EBoxed and implemented in readers and writers (#58).
-  * Handle latex \genfrac.  Use \genfrac for \brace, \brack,
-    etc. when amsmath is available.
-  * Improvements in handling of space characters.
-  * Use ESpace rather than EText when a mathml mtext just contains
-    a space.
-  * Use \mspace when needed to get latex spaces with odd sizes, rather
-    than finding the closest simple command.
-  * Use Rational instead of Double in ESpaced, EScaled.
-  * Shared: Export getSpaceWidth, getSpaceChars.
-  * Shared: Export fixTree, isEmpty, empty (formerly in MathML reader).
-
-texmath (0.7.0.2)
-
-  * TeX reader:  further improvements in error reporting.
-    Instead of reporting line and column, a snippet is printed
-    with a caret indicating the position of the error.  Also
-    fixed bad position information when control sequences are
-    followed by a letter.
-
-texmath (0.7.0.1)
-
-  * TeX reader:
-
-    + Improved error reporting.
-    + Optimized parser.
-    + Treat `\ ` as ESpaced rather than ESymbol.
-    + Internal improvements, including using the parsec3 interface
-      instead of the older parsec2 compatibility interface.
-
-  * Added tests for phantom.
-
-texmath (0.7)
-
-  * Changes in Exp type:
-
-    + Removed EUp, EDown, EDownup, EUnary, EBinary.
-    + Added EFraction (and FractionType), ESqrt, Eroot, EPhantom.
-    + Added boolean "convertible" parameter to EUnder, EOver, EUnderover.
-    + Changed parameter of EScaled from String to Double.
-    + Changed parameter of ESpace from String to Double.
-    + Removed EStretchy.
-    + Added EStyled, corresponding to mstyle in mathml, and \mathrm,
-      \mathcal, etc. in TeX (which can contain arbitrary math content,
-      not just text).
-    + Changed the type of EDelimited.  The contents of an EDelimited are
-      now either Right Exp or Left String (the latter case represents a
-      fence in middle position, e.g. \mid| in LaTeX).
-
-  * Module reorganisation:  the exposed interface has been completely
-    changed, and modules for reading MathML and writing TeX math
-    have been added:
-
-    + All writers now reside in Text.TeXMath.Writers.
-        - Text.TeXMath.MathML -> Text.TeXMath.Writers.MathML.
-          toMathML and showExp are removed, writeMathML added.
-        - Text.TeXMath.OMML -> Text.TeXMath.Writers.OMML.
-          toOMML and showExp removed, writeOMML added.
-        - Text.TeXMath.Pandoc -> Text.TeXMath.Writers.Pandoc.
-          toPandoc removed, writePandoc added.
-        - New module Text.TeXMath.Writers.TeX, exporting writeTeX,
-          writeTeXWith, addLaTeXEnvironment (the latter giving control
-          over which packages are assumed to be available).
-
-    + All readers now reside in Text.TeXMath.Readers.
-        - Text.TeXMath.MathMLParser -> Text.TeXMath.Readers.MathML,
-	  exporting readMathML.
-        - Text.TeXMath.Readers.TeX nows exports readTeX rather than
-          parseFormula.
-
-    + New modules for unicode conversion: Text.TeXMath.Unicode.ToASCII,
-      Text.TeXMath.Unicode.ToTeX, Text.TeXMath.Unicode.ToUnicode.
-
-    + Two MathML specific modules: Text.TeXMath.Readers.MathML.EntityMap,
-      Text.TeXMath.Readers.MathML.MMLDict.
-
-    + In Text.TeXMath, all the XtoY functions have been removed
-      in favour of rexporting raw reader and writer functions. The
-      data type Exp is now also exported.
-
-  * Bug fixes and improvements.
-
-    + TeX writer: Properly handle accents inside \text{}.
-      Use real text environments for EText (\textrm, not \mathrm).
-      Improved handling of scalers (\Big etc.).  Use amsmath matrix
-      environments when appropriate.  Fixed \varepsilon.
-    + MathML writer:  Omit superfluous outer mrows.  Add position
-      information to fences.
-    + OMML writer:  Handle \phantom.
-    + Pandoc writer:  Use unicode characters to support Fraktur and
-      other text styles.
-    + TeX reader:  Use EUnder/Over for \stackrel, \overset, \underset.
-      Improved handling of primes.  Fixed \notin.  Avoid superfluous
-      grouping of single elements.  Improved handling of scalers (\Big etc.).
-      Handle \choose, \brace, \brack, \bangle (#21).
-    + Macros:  Don't raise an error if applying a macro fails to
-      resolve to a fixed point; instead, just return the original string.
-
-  * Rewrote test suite as a proper cabal test suite.  Added
-    --regenerate-tests and --round-trip options.
-
-  * Updated texmath online demo for bidirectional conversion.
-
-  * Removed cgi and test flags.  Added executable flag to build texmath.
-
-  * Modified texmath so it works like a cgi script when run as
-    texmath-cgi (through symlink or renaming).  Removed dependency on
-    the cgi package.
-
-texmath (0.6.7)
-
-  * New Module: Text.TeXMath.Unidecode, a module for approximating
-    unicode characters in ASCII.
-  * New Module: Text.TeXMath.Shared, a module for shared lookup
-    tables between the various readers and writers
-  * New Module: Text.TeXMath.MathMLParser, exporting readMathML.
-  * New Module: Text.TeXMath.EntityMap, exporting getUnicode,
-    a conversion table from MathML entities to unicode characters.
-  * New Module: Text.TeXMath.UnicodeToLaTeX, exporting getLaTeX,
-    converting a string of unicode characters to a string of equivalent LaTeX
-    commands.
-  * New Module: Text.TeXMath.LaTeX, replacing Text.TeXMath.Parser,
-    exporting toTeXMath.
-  * New Module: Text.TeXMath.MMLDict, implements a lookup table from
-    operators to their default values as defined by the MML dictionary,
-    exporting getOperator.
-  * New Module: Text.TeXMath.Compat, maintaining compatibility with
-    mtl < 2.2.1.
-  * Modified Text.TeXMath to export the primitive readers, as well as
-    mathMLTo{Writer} for all writers
-  * Modified: Text.TeXMath.Types: added additional record types for
-    Text.TeXMath.MMLDict and Text.TeXMath.UnicodeToLaTeX.
-    New Exports: Operator(..), Record(..).
-  * Modified test suite:  use cabal test, added significant number of tests.
-  * Added recognition of the LaTeX command \phantom
-
-texmath (0.6.6.3)
-
-  * Use combining tilde accent for \tilde.  Closes pandoc #1324.
-
-texmath (0.6.6.2)
-
-  * Allow \left to be used with ), ], etc.  Ditto with \right.
-    Previously only (, [, etc. were allowed with \left.  Closes pandoc #1319.
-
-texmath (0.6.6.1)
-
-  * Support \multline (previously it was mispelled "multiline")
-  * Changed data-files to extra-source-files.
-
-texmath (0.6.6)
-
-  * Insert braces around macro expansions to prevent breakage (#7).
-  * Support \operatorname and \DeclareMathOperator (rekka) (#17).
-  * Support \providecommand (#15).
-  * Fixed spacing bugs in pandoc rendering (#24).
-  * Ignore \hline at end of array row instead of failing (#19).
-
diff --git a/changelog.md b/changelog.md
new file mode 100644
--- /dev/null
+++ b/changelog.md
@@ -0,0 +1,1005 @@
+texmath (0.12.9)
+
+  * Better handling of primes in eqn, typst, and tex writers.
+    These writers now render a superscript containing prime
+    characters using a sequence of `'` characters, e.g.
+    `f''`. This syntax is supported by all three formats.
+
+  * Use Planck constant for italic h in unicodeTable. There is no
+    regular italic h in Unicode because this already existed in Planck
+    constant.
+
+  * Text.TeXMath.Shared: expose `isRLSequence` and `toPrimes` and
+    new function `isUpppercaseGreek` [API change, non-breaking].
+
+  * OMML reader: consolidate adjacent texts with same style.
+    This affects EStyled and EText elements. This way we get
+    `\mathbf{123abc456}` in LaTeX output instead of
+    `\mathbf{123}\mathbf{abc}\mathbf{456}`. See
+    https://github.com/jgm/pandoc/discussions/10560 for discussion.
+
+  * OMML writer:
+
+    + Use `m:eqArr` rather than `m:m` for arrays with alternating
+      right, left alignments (#209). (In other writers, TeX and MathML,
+      we presume that these are aligned equations.)
+    + Fix order of `scr` and `sty` elements (#253).
+    + Use upright style by default for uppercase Greek.
+
+  * MathML reader: properly handle `mmultiscripts` (#252).
+
+  * MathML writer:
+
+    + Improve formatting of aligned equations (#207).
+      An EArray with alternating R,L alignments will be assumed
+      to be aligned equations and rendered without padding.
+    + Use `mi` for EMathOperator. Also: insert the unicode 0x2061
+      "function application" character after a math operator, unless
+      it's already there. Ensure that all 0x2061 characters are in
+      `mo` rather than `mi`.
+    + Use upright style for uppercase Greek by default (#255).
+    + Fix invalid `displaystyle` attribute. The attribute goes on
+      enclosing mstyle, not directly on `mfrac`.
+
+  * TeX reader:
+
+    + Parse primes as superscripts (#254). This seems to be
+      how TeX behaves under the hood: `f'` is equivalent to `f^{\prime}`.
+    + Avoid implicit pairing of delimiters (reverts #172).
+    + Use `EIdentifier` instead of `ESymbol Alpha` for `\ell`, etc (#256).
+    + Use Pun for primes in TeX reader, revise type of `toPrimes`.
+      This will ensure that `mo` is used for primes in MathML.
+
+  * test-texmath: allow `mathml` in addition to `mml` to specify mathml.
+
+  * Add `binpath` Makefile target.
+
+texmath (0.12.8.13)
+
+  * Remove special override for `\perp` in Text.TeXMath.Readers.TeX.Commands
+    (#247). This caused `\perp` to be read as U+22A5 instead of U+27C2.  This
+    addresses the mismatch with the TeX writer (which associates `\bot` with
+    U+22A5 and `\perp` with U+27C2).
+
+  * Typst writer:
+
+    + Fix several issues with accents and attachments (#245).
+    + Fix handling of some EOver with combining accents (#245).
+    + Escape backslash in text context (#245).
+
+texmath (0.12.8.12)
+
+  * TeX writer: render prime and superscripted prime as `'` (#246).
+
+  * TeX reader:
+
+    + Don't crash on array with `\hline` before blank cell (#244).
+    + Skip whitespace in array column specifier (#244).
+
+  * OMML writer:
+
+    + Fix order of dPr attributes (#243).
+
+  * Typst writer:
+
+    + Escape commas (#242). Otherwise we can get bad results e.g. in fractions,
+      when the commas separate arguments.
+
+  * Require typst-symbols 0.1.7, update tests.
+
+texmath (0.12.8.11)
+
+  * TeX reader: Ignore `@{..}` and `!{..}` in array alignment specifiers (#241).
+
+  * TeX reader: ignore `\color` instead of crashing (#225).
+
+texmath (0.12.8.10)
+
+  * TeX reader: allow `\lVert .. \vVert` to create an EDelimited (#238).
+
+  * Typst writer: improved handling of primes (#239).
+    Use `'` instead of e.g. `prime`. Don't put a space before primes.
+
+  * Typst writer: improve rendering of EDelimited (#238).
+
+  * Typst writer: use `mid()` for middle delimiters (#238).
+
+texmath (0.12.8.9)
+
+  * Parse TeX `\mathbf` as both bold and upright (#236).
+
+texmath (0.12.8.8)
+
+  * TeX reader: support unicode-math Greek symbols, e.g. `\Alpha` (#235).
+    This includes symbols like `\Alpha` and `\omicron` that weren't
+    defined in original TeX.
+
+  * Use typst-symbols 0.1.6
+
+texmath (0.12.8.7)
+
+  * TeX reader: convert Bin symbols to Ord when appropriate (#234).
+    E.g. in '-3', we should have an Ord rather than a Bin, so
+    the spacing will be appropriate.
+
+  * Pandoc writer: fix spacing inside EDelimited (#234).
+    Previously spaces around binary operators were omitted when
+    they occurred inside parens or brackets.
+
+  * test-texmath: allow pandoc output.
+
+texmath (0.12.8.6)
+
+  * Typst writer: avoid redundant `lr`s (#233).
+
+texmath (0.12.8.5)
+
+  * Typst writer: use ASCII symbols when possible instead of symbols (#232).
+    E.g., `+` instead of `plus`. Add `\` to characters needing escape.
+    Enhance list of characters that need escaping.
+
+  * Typst writer: fixed EBoxed output so it includes a border.
+
+  * Handle `\ddot` better in conversion to typst (#231).
+
+  * Use typst-symbols 0.1.5
+
+texmath (0.12.8.4)
+
+  * TeX reader: ignore `\allowbreak` (#230).
+
+  * TeX reader: handle `*{5}{lr}` in array column specifier (#229).
+
+  * OMML reader: allow `m:e` to be missing in `m:nary` (#228).
+    Technically this is not allowed, according to the spec, but
+    Word and LibreOffice seem to tolerate it.
+
+texmath (0.12.8.3)
+
+  * OMML writer: use "on" and "off" instead of "1" and "0" for
+    m:CT_OnOff type.  It is said that "1" and "0" work in Word
+    but not Powerpoint.
+
+texmath (0.12.8.2)
+
+  * Typst writer: use binom instead of a fraction (jgm/pandoc#9063).
+
+texmath (0.12.8.1)
+
+  * Typst writer: several fixes (#223, Lleu Yang).
+
+    + Escape quotes (") in inQuotes
+    + Accent `\8407` corresponds to `arrow()`
+    + Write `#none`'s for matrices with blanks at the beginning of a row
+
+texmath (0.12.8)
+
+  * Expose Text.TeXMath.Shared [API change]
+
+  * Typst writer: Fix bug where 's' turned into 'space' (#219).
+
+  * Typst writer: Fix handling of overline (#214).
+
+  * Typst writer: Fix underbrace (#217).
+
+  * Typst writer: Improve some accents (#216).
+
+  * TeX writer: don't include \\ on last line of matrix.
+
+  * TeX writer: Remove escaping of spaces inside \text{}.
+    It isn't needed, and it causes problems in MathJax rendering.
+
+  * TeX reader: allow empty matrices.
+
+  * MathML writer: Fix rendering of vectors (#218).
+
+  * Depend on external typst-symbols package.
+
+texmath (0.12.7.1)
+
+ * Typst writer:
+
+   + Improve under/overbrace/bracket/line.
+   + Fix bugs with super/subscript grouping (#212).
+   + Fix case where super/subscript is on an empty element,
+     by inserting a zws.
+
+texmath (0.12.7)
+
+  * Add typst writer. New module: Text.TeXMath.Writers.Typst.
+
+  * TeX reader: Support multilined environment. Closes #210.
+
+texmath (0.12.6)
+
+  * MathML writer:
+
+    + Use style with CSS as well as columnalign (#205).
+      This seems to be needed by browser implementations of MathML.
+    + Remove reliance on mstyle (#205). mstyle doesn't seem to be
+      supported any more, at least in browser implementations of MathML,
+      and the documentation indicates that it is treated like mrow now
+      that styles can go directly on child elements. This commit removes
+      our use of mstyle. Instead of using mstyle, we change mathvariant
+      attributes on descendent elements (and displaystyle attributes on
+      direct children, in the case of fractions).
+    + Extend our existing use of unicode replacements, since many
+      implementations don't properly handle mathvariant. We now get
+      variant characters for mo, mn, and all elements that can sensibly
+      take them, not just mi and mtext.
+    + Omit mathvariant attribute unless we can't find appropriate Unicode.
+      When MathML is displayed by ODT, having BOTH a bold math Unicode
+      character and a mathvariant="bold" attribute seems to confuse it.
+      (Browsers don't care either way.) This gives us more compact and
+      readable output, as well.
+
+texmath (0.12.5.5)
+
+  * Allow pandoc-types 1.23.
+
+  * TeX reader: remove false positives for isConvertible (#204).
+    "Convertible" symbols are those in which subscripts render
+    under the symbol in display environments, and as subscripts
+    in inline environments. Previously the TeX parser recognized
+    all relation and binary symbols as convertible, which does not
+    match TeX's behavior.
+
+  * TeX reader: Support `\enspace` (#203).
+
+texmath (0.12.5.4)
+
+  * OMML reader: fix treatment of `eqArr` (#196).
+    This change also includes a change to the TeX writer: any array
+    with an alternating sequence of R,L alignments will be rendered
+    as an aligned environment (not just a single [R,L] as currently).
+
+  * OOML Writer: Add low line char ("_") to `isBarChar` (#193, Hagb).
+    Closes jgm/pandoc#8152.
+
+  * Eqn writer: use `-` for minus, `cdots` for cdots (#200).
+
+texmath (0.12.5.3)
+
+  * Eqn writer: avoid empty `{}` (#198).
+    This causes an error, along the lines of
+    ```
+    eqn:<standard input>:73: error: syntax error
+     context is
+            } above { >>> } <<<
+    ```
+    which can be avoided if we use `{""}`.
+
+texmath (0.12.5.2)
+
+  * Fix bug in implementation of `\mspace` (#195).
+
+texmath (0.12.5.1)
+
+  * Compile texmath-server with `-threaded`.
+    This should fix the crashes we have experienced.
+
+  * Add apache style logging to web server.
+
+  * Add more strictness in Unicode.ToTeX.
+
+texmath (0.12.5)
+
+  * TeX reader: Improve treatment of `\operatorname` (#147).
+    We can now handle spaces, as in `\operatorname{arg\,max}`.
+    We also now have a better fallback when the operator name
+    contains content that can't be turned into plain text.
+    (In this case, we just pass through the contents, since EMathOperator
+    takes a text argument.)
+
+  * TeX: Support more `\var...` commands for greek letters (Albert
+    Krewinkel). AMSmath defines `\varGamma`, `\varDelta`, `\varTheta`,
+    `\varLambda`, `\varXi`, `\varPi`, `\varSigma`, `\varUpsilon`, `\varPhi`,
+    `\varPsi`, and `\varOmega`, all of which are now parsed as unicode
+    characters *MATHEMATICAL ITALIC CAPITAL ...*.  Also, `\varsigma` is
+    now parsed as *MATHEMATICAL SMALL FINAL SIGMA*.
+
+  * OMML writer: better handling for scaled delimeter symbols (#140).
+    We now try to represent these using m:d when possible.
+    This allows the parentheses to expand with the content;
+    previously we'd often get small parentheses with large
+    contents.
+
+  * OMML reader:
+
+    + Allow m:pos to be missing or lack an attribute in m:bar (#187).
+    + Set the default value of pos to "bot" (Maximilian Meier).
+    + Implement support for noBar fractions (#191, Meimax).
+
+  * Add servant-based server with a JSON API.
+
+  * Remove old cgi directory.
+
+  * Improve test suite (#189).  The existing test suite was a complicated
+    mess, so that it was hard to add new tests.  (One of the problems
+    was that the same files were used as golden files for reader
+    tests and as sources for writer tests.) This commit shifts
+    the same tests to a new, easier to understand format, so that
+    it will be simple to add new tests in the future.  We now use
+    the tasty test framework, and we use pretty-show to make the
+    native golden tests easier to comprehend.
+
+  * Add regression tests.
+
+texmath (0.12.4)
+
+  * TeX reader: handle hyperref better (#186).  We don't parse it as a link,
+    but we pass its contents through rather than failing.
+
+  * Update scripts and data in `lib/` directory. These are not build
+    dependencies, but they were used to produce some of the large
+    tables in the source code.  Fixed the scripts and Makefile to work
+    with recent texmath and cabal.  Removed two very large unicode data
+    files that can be downloaded when needed.  (This reduces the size of
+    the source tarball considerably.) Remove `lib/toascii` (no longer used).
+
+  * Update MMLDict using latest unicode.xml.
+
+  * TeX reader: support siunitx `\qty`, `\qtyrange`, `\unit` (#185).
+
+  * Remove Text.TeXMath.Compat.  We can now safely require mtl >= 2.2.1.
+
+  * Use symbolMap from ToTeX to shorten the long hardcoded symbols list.
+    Now we only hard-code items that differ what what is in symbolMap.
+    This reduces the code size by thousands of lines.
+
+  * Unicode.ToTeX: export `symbolMap` [API change].  This uses the data in
+  `records` to create a backwards mapping from TeX commands to Exps (ESymbol
+      elements).  This can replace most of the hardcoded list in the current
+  TeX reader.
+
+  * Split out TeXMath.Readers.TeX.Commands internal module.
+    This makes the TeX reader shorter and should help compile times.
+
+  * OMML reader: better handling of m:t nodes (#151).
+    Previously we parsed an m:t element as an EIdentifier if it contains a
+    single letter, but an EText TextNormal if it contains more than one.  This
+    gave bad results in some cases.  It is better to reserve EText for the
+    case where the m:nor property is specified for "normal text."
+
+  * Require base >= 4.11.
+
+  * Remove `network-uri` flag from stack.yaml.
+
+
+texmath (0.12.3.3)
+
+  * OMML writer: use nary only for operators supported by LibreOffice
+    (Albert Krewinkel).  LibreOffice (and possibly Word, too) can handle
+    only a small set of operators in an `nary` element.
+
+  * TeX writer: use `\xleftarrow`, `\xrightarrow` where sensible
+    (Albert Krewinkel).  The commands are generated for expressions over `←`
+    or `→`. Besides being more idiomatic, this change also prevents the
+    generation of invalid LaTeX, as `\leftarrow` and `\rightarrow` are not
+    math operators and hence may not be followed by `\limit`.
+    Both commands are part of amsmath.sty.
+
+  * TeX reader:
+
+    + Improve angled-bracket support (Albert Krewinkel).
+      The amsmath package allows `\left<` and `\right>` as alternatives to
+      `\left\langle` and `\right\rangle`, respectively.
+    + Ignore stared version of `\tag` (Albert Krewinkel).
+    + Support \dots{c,b,m,i,o} from amsmath (#179).
+    + Change symbol returned for \dots{b,i,m} from `…` to `⋯`
+      (Albert Krewinkel).
+
+texmath (0.12.3.2)
+
+  * OMML writer: remove m:nor element in math operators (#178).
+    This caused the document's main font, rather than the math
+    font, to be used in formatting operators, which is undesirable.
+
+texmath (0.12.3.1)
+
+  * MathML reader: don't allow mfenced attributes to inherit (#177).
+    When open and close attributes aren't given on an mfenced,
+    we should use defaults rather than inheriting these from a
+    parent mfenced.
+
+texmath (0.12.3)
+
+  * TeX reader: implement logic to convert a Bin symbol to
+    an Op to Op when it occurs at the beginning of a group,
+    or after an Open, Pun, or Op symbol. This will give much
+    better results for unary `-` (#176).
+
+  * OMML writer: fixed rendering of EDelimited (#173).
+    We now properly render "middles" (separators).
+
+texmath (0.12.2)
+
+  * MathML input: support mmultiscripts element (#158, #100).
+
+  * Make MathML tag/attr recognition case-insensitive (#158).
+
+  * Pandoc writer: better handling of styling such as `\mathrm` (#145).
+    Previously identifiers were always italic, no matter what
+    styling was applied.
+
+  * Ignore `\tag` in TeX input (#162).
+
+  * TeX writer: avoid unneeded `\left` and `\right` for delimited.
+    We don't need `\left` and `\right` when the contents are
+    "standard height."
+
+  * TeX reader: parse implicit EDelimited sections (#172).
+    We now parse `(x)` as EDelimited, even though `\right` and `\left`
+    are not used.
+
+texmath (0.12.1.1)
+
+  * Fix compilation with GHC-9.0.1 (#169, Simon Jakobi).
+    Background:
+    https://gitlab.haskell.org/ghc/ghc/-/wikis/migration/9.0#simplified-subsumption
+  * Add eqn to online demo.
+  * Improve error messages for unknown control sequences, and restructure
+    tex parser to be more efficient (#167).
+
+texmath (0.12.1)
+
+  * OMML writer: explicitly mark symbols as non-italic (#109).
+    Otherwise, for some reason, they appear as italic by default.
+  * Improve error messages in reading tex arrays.
+  * Improve support for `\bmod`, `\mod`, etc. (#165).
+    Allow them to take complex arguments like `\left( 1 \right)`.
+  * Improve support for `\genfrac` (#164).
+  * Ignore `\textstyle`, `\scriptstyle`, `\scriptscriptstyle`,
+    as we currently ignore `\displaystyle`.
+  * Parse siunitx commands in reading tex (#157).
+  * Improve handling of `\not` in reading tex (#161).
+    Previously we only handled `\not` in front of certain symbols.
+  * Support `\pod` and `\pmod` and clean up spacing and font for
+    `\mod` and `\bmod` (#160).
+
+texmath (0.12.0.3)
+
+  * Allow pandoc-types 1.22.
+
+texmath (0.12.0.2)
+
+  * Allow pandoc-types 1.21.
+  * Pandoc output: omit empty Emph for sub/superscript without base (#155).
+  * tex writer: Use `\overline{\overline{B}}` instead of unicode
+    double line accent (#153).
+
+texmath (0.12.0.1)
+
+  * OMML writer: Fix overline and accent rendering (#152).
+  * OMML reader: Fix dropped arrows (#153). Add tests.
+
+texmath (0.12)
+
+  * Use Text instead of String in data types and functions
+    (Christian Despres) [API change].  Note that there are still a few
+    places where we unpack Text to String with a view pattern:
+    performance could likely be increased with further rewriting.
+  * Avoid use of !! with negative index (jgm/pandoc#5853).
+
+texmath (0.11.3)
+
+  * Use error instead of fail to allow building with ghc 8.8.
+  * Test output: remove superfluous spaces after control sequences,
+    superfluous groups, and unicode VARIATION SELECTOR 1.
+  * renderTeX: add space between control sequence and any non-ASCII
+    character.  There are differences in behavior of isAlphaNum between
+    different ghc versions that would affect test output otherwise.
+  * charToLaTeXString: Ignore 65024 VARIATION SELECTOR 1 to avoid putting
+    it literally in the output ; it is used in mathml output and occurs
+    in many of the test cases.
+  * Add cabal.project.
+  * Use actions rather than travis for CI.
+
+texmath (0.11.2.3)
+
+  * OMML reader: properly distinguish normal text from math (#136).
+    If `m:nor` or `m:lit` is set in `m:rPr`, we interpret the
+    contents as literal text and not as math.
+  * TeX reader: use different symbol (`_`) for `\underline` (#142).
+    This gets the right accent properties on MathML output, so
+    that the underline is not lower than it should be.
+  * TeX reader: Treat `\bmod` as a relational symbol rather than
+    an operator (#143).  This fixes spacing problems in several
+    output formats.
+
+texmath (0.11.2.2)
+
+  * OMML writer: use m:nor for normal text (#135).
+
+texmath (0.11.2.1)
+
+  * OMML reader: Don't collapse `fName` to a string (#133).
+    This fixes cases where fName has some complexity, e.g.
+    a subscript or limit.
+
+texmath (0.11.2)
+
+  * Improved handling of \mathop etc (#126).  We now allow operators like
+    `arg\,min`, converting the space into unicode.
+  * Support \hspace (#126).
+  * Support \hdots as synonym of \ldots (#126).
+  * Support \mathds (#126).
+  * In parsing array, ignore `|` in column specs (#127).
+    We have no way to represent this in EArray, currently.
+    Ignoring them seems better than failing altogether.
+
+texmath (0.11.1.2)
+
+  * Eqn writer: properly escape `{` and `}`.
+  * Set more accurate bounds (Herbert Valerio Riedel).
+
+texmath (0.11.1.1)
+
+  * Fix building with ghc-8.6.1 by removing need for now missing
+    MonadFail instances (Jonas Scholl).
+  * TeX reader: Allow operators like `/` to be scaled (#120).
+  * TeX reader: Improved efficiency of basicEnclosure.
+  * TeX reader: Handle `\bmod` (#115).
+
+texmath (0.11.1)
+
+  * OMML writer: Use m:acc for accents in OMML (#119).  This fixes
+    some spacing issues for e.g. the translation of `\dot{m}`.
+
+texmath (0.11.0.1)
+
+  * OMML writer: use zero-width space to avoid dashed box (#118).
+    In Word, a dashed box shows up for empty text runs in
+    exponents and bases, or empty exponents and bases.  So
+    we use a zero-width space in these contexts.
+
+texmath (0.11)
+
+  * Changed treatment of non-ASCII characters.
+    Previously we ensured that the output of conversion to tex
+    was pure ASCII.  This meant rendering "ä" as "a", for
+    example, and it meant that many characters (e.g. Chinese)
+    simply got replaced with an empty string, while others
+    got replaced with "[?]".
+
+    This was not a particularly helpful behavior.  Including
+    the unicode characters verbatim doesn't interfere with
+    latex compilation.  They often won't show up in the generated
+    math, but that is no worse than what happened before.
+
+    This change passes through unicode characters unchanged
+    when they can't be converted to standard LaTeX commands.
+
+    An important reason for including the unicode characters
+    is that pandoc uses TeX to represent math in its AST.
+    So, for example, if you convert HTML with mathml to docx,
+    you'll currently lose all Chinese characters, since they'll
+    disappear in the TeX intermediary, even though a direct
+    mathml to ooml conversion would have passed them through.
+    With this change, these conversions will work better
+    (see jgm/pandoc#4642).
+
+    + Removed Text.TeXMath.Unicode.ToASCII (API change).
+    + Removed cbits that were needed for that module.
+    + Modified Tex.TeXMath.Unicode.ToTeX to pass through
+      unicode characters that can't be converted, rather
+      than trying to asciify them or remove them.
+
+  * Render degree symbol in tex as `{^\circ}`.
+
+texmath (0.10.1.2)
+
+  * eqn writer:  use uppercase letters in unicode escapes (jgm/pandoc#4597).
+
+texmath (0.10.1.1)
+
+  * Handle multicharacter operators better in Eqn, TeX, OMML (#109).
+
+  * OMML reader: unwrap `<w:...>` tags immediately under `<m:oMath>`
+    (#111, Jesse Rosenthal).
+
+texmath (0.10.1)
+
+  * Expose Text.TeXMath.TeX (TeX rendering functions) (#108).
+    This is needed in order to use getTeXMath from Text.TeXMath.Unicode.ToTeX.
+  * Pandoc writer: don't insert punctuation space before explicit space
+    (#107).  E.g. in `2,\!4`.
+  * Fix end-line command ('\\') in AMSmath environments (ARATA Mizuki).
+    The end-line command in AMSmath environments does not allow spaces
+    before its optional argument.
+  * Use `\in` for SMALL ELEMENT OF in "base" (Vaclav Haisman).
+
+texmath (0.10)
+
+  * Use `\ni` in base for U+220D (#103).
+  * Improved unicode -> tex symbol lookup.  Previously we had many
+    cases where the lookup table would map a unicode character to
+    the empty string for the base package, and this would print finding
+    a good match in another package in the environment.
+  * Added support for `\symbf` (#101).
+  * Revert "migrating the lookup structures for Unicode/ToTex.hs to
+    use C source files to accelerate builds."  This change gave us somewhat
+    faster builds (using less memory), but at a huge cost of
+    maintainability.
+  * Removed AlignDefault from Alignment (API change, #102).
+    AlignDefault doesn't make sense for a converter between
+    formats that may have different defaults.  We now properly treat
+    centering as the default in MathML and OMML input.
+
+texmath (0.9.4.4)
+
+  * Update tests that should have been updated for 0.9.4.3.
+
+texmath (0.9.4.3)
+
+  * MathML writer: put linethickness attribute directly on mfrac
+    element. This fixes binomial rendering.
+
+texmath (0.9.4.2)
+
+  * Pandoc writer: better handle accented characters (jgm/pandoc#3922).
+
+texmath (0.9.4.1)
+
+  * Improved handling of accents and upper/lower delimiters (#98).
+  * cgi: use cloudflare cdn for mathjax.
+
+texmath (0.9.4)
+
+  * Added writer for GNU eqn format (used with *roff).
+
+    + New module Text.TeXMath.Writers.Eqn, exporting writeEqn.
+    + Moved handleDownup to Shared.
+    + Add eqn output option in texmath executable.
+    + Add eqn writer tests.
+
+texmath (0.9.3)
+
+  * Expose pMacroDefinition in Text.TeXMath.Readers.TeX.Macros,
+    with generalized type.
+
+texmath (0.9.2)
+
+  * Support `\newenvironment` and `\renewenvironment`.
+
+texmath (0.9.1.1)
+
+  * Added program to generate cbits/{key,val}ToASCII.c from a data file.
+  * Migrate lookup structures for Unicode/ToTex.hs to use C
+    source files to accelerate builds (Carter Tazio Schonwald).
+  * Allow \boldsymbol + a token without braces.
+    And same for other styling commands. Closes #94.
+  * Better ghc-prof-options.
+
+texmath (0.9.1)
+
+  * Pandoc writer:  add thin space after math operators.
+  * TeX reader: improve parsing of `\mathop` to allow
+    multi-character operator names.
+  * Minor optimizations.
+  * Added Ord instances to Exp and associated types.
+
+texmath (0.9)
+
+  * OMML writer: Properly handle nary inside delimiters (#92).
+    Previously under-overs inside delimiters didn't get
+    converted to nary the way they did outside of delimiters.
+  * TeX reader: Support bm, mathbold, pmd.
+  * OMML reader: Handle w:sym (#65).
+  * New module, Text.TeXMath.Unicode.Fonts, for MS font code point
+    lookup.  Copied from pandoc Text.Pandoc.Readers.Docx.Fonts,
+    which will be changed to import this.  [API change]
+  * Fixed typo in test program for round-trip tests.
+  * Parse math inside text constructions (#62).  E.g.
+    `\text{if $y$ is greater than $0$}` Text and math can nest indefinitely.
+  * Modify test suite so tests can be marked as "ought to raise error."
+    So far this is only used in mml.  If the test is called foo
+    and `readers/mml/foo.error` exists, then the test is expected
+    to raise a parse error.
+  * MathML reader err: Don't print colon after line number.
+  * Restore proper error handling to MathML reader.  Note that the tests
+    need to be redone, since they assumed the old behavior of just
+    returning empty elements on parse errors.
+
+texmath (0.8.6.7)
+
+  * TeX reader: treat backslash + newline as like backslash + space.
+    Previously this case gave an error.  See jgm/pandoc#3189.
+
+texmath (0.8.6.6)
+
+  * Allow pandoc-types 1.17.*.
+
+texmath (0.8.6.5)
+
+  * Fixed transposition of sub/super on operators (jgm/pandoc#3040).
+
+texmath (0.8.6.4)
+
+  * Support 'equation' environment, without the numbering of course.
+
+texmath (0.8.6.3)
+
+  * Use POST instead of GET for texmath-cgi.
+
+texmath (0.8.6.2)
+
+  * Fixed array alignment issues (jgm/pandoc#2864, jgm/pandoc#2310).
+  * Use 1 and 0 for _Hide attributes, rather than on and off.
+    Officially it seems that either 1/0 or true/false are wanted.
+  * Fixed EUnderOver for omml output.  Previously both the under and
+    the over part were being placed under (jgm/pandoc#2775).
+
+texmath (0.8.6.1)
+
+  * OMML writer:  Fixed rendering of roots, so that the degree appears
+    in the right place.
+  * OMML writer:  Don't include empty rPr elements.
+
+texmath (0.8.6)
+
+  * TeX reader: Support hundreds more math symbols (all of those defined in
+    Text.TeXMath.Unicode.ToTeX), including `\nwarrow`, `\swarrow`,
+    `\nearrow`, `\searrow` (#90).
+
+texmath (0.8.5.1)
+
+  * OMML writer: Fixed order of elements in nary formulas to conform
+    to OMML spec (#88, Niko Weh).  `<e>` must follow the `<sup>` and `<sub>`
+    parts of `<nary>`. This fixes rendering issues in LibreOffice
+    (though Word copes with the incorrect order).
+  * Added Paths_texmath to Other-Modules for texmath executable.
+
+texmath (0.8.5)
+
+  * TeX parser: Support limited styling inside \DeclareMathOperator (#85).
+  * TeX reader: Correctly parse \mbox.  Its argument is text mode.
+  * Updated mathml tests to use mo for operators.
+  * TeX reader: support mathopen, mathclose, mathpunct.
+  * MathML writer: render EMathOperator as mo, not mi (#86).
+  * MathML: handle leading space in EText (#87).
+  * Take --version in executable from cabal metadata.
+  * Added Paths_texmath to other-modules.
+
+texmath (0.8.4.2)
+
+  * Fixed overbrace, underbrace (#82).  Previously we were using the wrong
+    character: U+FE37 instead of U+23DE.  This didn't work in Word.
+  * Support \mathop, \mathrel, \mathbin, \mathord
+  * MathML - render Symbol Ord as mi, not mo (#83).
+  * Handle align environments with > 2 cells per row (#84).
+
+texmath (0.8.4.1)
+
+  * Added stack install instructions.
+  * Fixed bold-italic in OMML (#76).  Previously `\mathbfit` didn't work
+    properly in OMML output.
+  * Ignore `\nonumber` (#79).
+  * Allow styling in `\operatorname` e.g. `\operatorname{\mathcal{L}}` (#80).
+  * Fixed bug in `supHide` and `subHide` for OMML.  This  led to little
+    empty boxes being displayed in integrals with subscripts but no
+    superscripts.  See jgm/pandoc#2571.
+  * Implemented `\mod` as a math operator (#81).  This doesn't capture all the
+    spacing subtleties of the amsmath version, but should be good enough
+    for most purposes.
+  * Allow pandoc-types < 1.17.
+
+texmath (0.8.4)
+
+  * Improved symbol spacing in Pandoc output (jgm/pandoc#2261).
+    This change avoids putting space around binary symbols that
+    come at the beginning or end of a group, or appear on their
+    own.  It also avoids spacing on a binary symbol that follows
+    a Bin, Op, Rel, Open, or Punct atom, in accord with
+    TeXBook Appendix G.  We could go farther towards exactly
+    matching the TeXBook rules, but this simple change goes some of
+    the way.
+  * Added stack.yaml.
+
+texmath (0.8.3)
+
+  * Parse uppercase Greek letters as EIdentifier, not ESymbol Op.
+    This fixes handling of things like `$Lambda^1$`, particularly in omml.
+
+texmath (0.8.2.2)
+
+  * Handle `.` after number with no following digits.
+
+texmath (0.8.2.1)
+
+  * Handle bare hyphen in `\text{...}`.  Closes jgm/pandoc#2274.
+  * Support `\ltimes` and `\rtimes` in the TeX reader (Arata Mizuki).
+  * Slightly more efficient number parser.
+
+texmath (0.8.2)
+
+  * Better handling of decimal points. Decimal points are now parsed
+    as parts of numbers, not as separate symbols.  E.g. in MathML they
+    now appear in `<mn>` elements.  Closes #74.
+
+texmath (0.8.1)
+
+  * OMML: Don't force everything into Roman font by default.
+    This change ensures that variables will be italic by
+    default in Word.  See jgm/pandoc#2075.
+
+texmath (0.8.0.2)
+
+  * Fixed typo in `defaultEnv` to include `amssymb` (#68).
+  * Moved some lookup tables to C, and disabled aggressive
+    profiling defaults, to avoid excessive memory usage in
+    compiling with clang (#70).
+  * Support `\newcommand*` in `parseMacroDefinition` (jgm/pandoc#2005).
+  * Fixed order bug for over/under in OMML reader (#66).
+  * Support `\boldsymbol` (#67).
+
+texmath (0.8.0.1)
+
+  * Added network-uri flag. This addresses the split of network
+    and network-uri packages.
+  * OMML reader: change default accent (Jesse Rosenthal).
+    The default had previously been set as accute (possibly as a
+    placeholder). It appears to be circumflex/hat instead.
+
+texmath (0.8)
+
+  * Added OMML reader (Jesse Rosenthal).
+  * Support latex \substack (#57).
+  * Added EBoxed and implemented in readers and writers (#58).
+  * Handle latex \genfrac.  Use \genfrac for \brace, \brack,
+    etc. when amsmath is available.
+  * Improvements in handling of space characters.
+  * Use ESpace rather than EText when a mathml mtext just contains
+    a space.
+  * Use \mspace when needed to get latex spaces with odd sizes, rather
+    than finding the closest simple command.
+  * Use Rational instead of Double in ESpaced, EScaled.
+  * Shared: Export getSpaceWidth, getSpaceChars.
+  * Shared: Export fixTree, isEmpty, empty (formerly in MathML reader).
+
+texmath (0.7.0.2)
+
+  * TeX reader:  further improvements in error reporting.
+    Instead of reporting line and column, a snippet is printed
+    with a caret indicating the position of the error.  Also
+    fixed bad position information when control sequences are
+    followed by a letter.
+
+texmath (0.7.0.1)
+
+  * TeX reader:
+
+    + Improved error reporting.
+    + Optimized parser.
+    + Treat `\ ` as ESpaced rather than ESymbol.
+    + Internal improvements, including using the parsec3 interface
+      instead of the older parsec2 compatibility interface.
+
+  * Added tests for phantom.
+
+texmath (0.7)
+
+  * Changes in Exp type:
+
+    + Removed EUp, EDown, EDownup, EUnary, EBinary.
+    + Added EFraction (and FractionType), ESqrt, Eroot, EPhantom.
+    + Added boolean "convertible" parameter to EUnder, EOver, EUnderover.
+    + Changed parameter of EScaled from String to Double.
+    + Changed parameter of ESpace from String to Double.
+    + Removed EStretchy.
+    + Added EStyled, corresponding to mstyle in mathml, and \mathrm,
+      \mathcal, etc. in TeX (which can contain arbitrary math content,
+      not just text).
+    + Changed the type of EDelimited.  The contents of an EDelimited are
+      now either Right Exp or Left String (the latter case represents a
+      fence in middle position, e.g. \mid| in LaTeX).
+
+  * Module reorganisation:  the exposed interface has been completely
+    changed, and modules for reading MathML and writing TeX math
+    have been added:
+
+    + All writers now reside in Text.TeXMath.Writers.
+        - Text.TeXMath.MathML -> Text.TeXMath.Writers.MathML.
+          toMathML and showExp are removed, writeMathML added.
+        - Text.TeXMath.OMML -> Text.TeXMath.Writers.OMML.
+          toOMML and showExp removed, writeOMML added.
+        - Text.TeXMath.Pandoc -> Text.TeXMath.Writers.Pandoc.
+          toPandoc removed, writePandoc added.
+        - New module Text.TeXMath.Writers.TeX, exporting writeTeX,
+          writeTeXWith, addLaTeXEnvironment (the latter giving control
+          over which packages are assumed to be available).
+
+    + All readers now reside in Text.TeXMath.Readers.
+        - Text.TeXMath.MathMLParser -> Text.TeXMath.Readers.MathML,
+	  exporting readMathML.
+        - Text.TeXMath.Readers.TeX nows exports readTeX rather than
+          parseFormula.
+
+    + New modules for unicode conversion: Text.TeXMath.Unicode.ToASCII,
+      Text.TeXMath.Unicode.ToTeX, Text.TeXMath.Unicode.ToUnicode.
+
+    + Two MathML specific modules: Text.TeXMath.Readers.MathML.EntityMap,
+      Text.TeXMath.Readers.MathML.MMLDict.
+
+    + In Text.TeXMath, all the XtoY functions have been removed
+      in favour of rexporting raw reader and writer functions. The
+      data type Exp is now also exported.
+
+  * Bug fixes and improvements.
+
+    + TeX writer: Properly handle accents inside \text{}.
+      Use real text environments for EText (\textrm, not \mathrm).
+      Improved handling of scalers (\Big etc.).  Use amsmath matrix
+      environments when appropriate.  Fixed \varepsilon.
+    + MathML writer:  Omit superfluous outer mrows.  Add position
+      information to fences.
+    + OMML writer:  Handle \phantom.
+    + Pandoc writer:  Use unicode characters to support Fraktur and
+      other text styles.
+    + TeX reader:  Use EUnder/Over for \stackrel, \overset, \underset.
+      Improved handling of primes.  Fixed \notin.  Avoid superfluous
+      grouping of single elements.  Improved handling of scalers (\Big etc.).
+      Handle \choose, \brace, \brack, \bangle (#21).
+    + Macros:  Don't raise an error if applying a macro fails to
+      resolve to a fixed point; instead, just return the original string.
+
+  * Rewrote test suite as a proper cabal test suite.  Added
+    --regenerate-tests and --round-trip options.
+
+  * Updated texmath online demo for bidirectional conversion.
+
+  * Removed cgi and test flags.  Added executable flag to build texmath.
+
+  * Modified texmath so it works like a cgi script when run as
+    texmath-cgi (through symlink or renaming).  Removed dependency on
+    the cgi package.
+
+texmath (0.6.7)
+
+  * New Module: Text.TeXMath.Unidecode, a module for approximating
+    unicode characters in ASCII.
+  * New Module: Text.TeXMath.Shared, a module for shared lookup
+    tables between the various readers and writers
+  * New Module: Text.TeXMath.MathMLParser, exporting readMathML.
+  * New Module: Text.TeXMath.EntityMap, exporting getUnicode,
+    a conversion table from MathML entities to unicode characters.
+  * New Module: Text.TeXMath.UnicodeToLaTeX, exporting getLaTeX,
+    converting a string of unicode characters to a string of equivalent LaTeX
+    commands.
+  * New Module: Text.TeXMath.LaTeX, replacing Text.TeXMath.Parser,
+    exporting toTeXMath.
+  * New Module: Text.TeXMath.MMLDict, implements a lookup table from
+    operators to their default values as defined by the MML dictionary,
+    exporting getOperator.
+  * New Module: Text.TeXMath.Compat, maintaining compatibility with
+    mtl < 2.2.1.
+  * Modified Text.TeXMath to export the primitive readers, as well as
+    mathMLTo{Writer} for all writers
+  * Modified: Text.TeXMath.Types: added additional record types for
+    Text.TeXMath.MMLDict and Text.TeXMath.UnicodeToLaTeX.
+    New Exports: Operator(..), Record(..).
+  * Modified test suite:  use cabal test, added significant number of tests.
+  * Added recognition of the LaTeX command \phantom
+
+texmath (0.6.6.3)
+
+  * Use combining tilde accent for \tilde.  Closes pandoc #1324.
+
+texmath (0.6.6.2)
+
+  * Allow \left to be used with ), ], etc.  Ditto with \right.
+    Previously only (, [, etc. were allowed with \left.  Closes pandoc #1319.
+
+texmath (0.6.6.1)
+
+  * Support \multline (previously it was mispelled "multiline")
+  * Changed data-files to extra-source-files.
+
+texmath (0.6.6)
+
+  * Insert braces around macro expansions to prevent breakage (#7).
+  * Support \operatorname and \DeclareMathOperator (rekka) (#17).
+  * Support \providecommand (#15).
+  * Fixed spacing bugs in pandoc rendering (#24).
+  * Ignore \hline at end of array row instead of failing (#19).
+
diff --git a/src/Text/TeXMath/Readers/MathML.hs b/src/Text/TeXMath/Readers/MathML.hs
--- a/src/Text/TeXMath/Readers/MathML.hs
+++ b/src/Text/TeXMath/Readers/MathML.hs
@@ -471,22 +471,38 @@
 multiscripts :: Element -> MML Exp
 multiscripts e = do
   let (xs, pres) = break ((== "mprescripts") . name) (elChildren e)
-  let row'' e' = if name e' == "none"
-                    then return $ EGrouped []
-                    else row e'
+  let row'' e' = case name e' of
+                   "none" -> return $ EGrouped []
+                   "mrow" -> row e'
+                   _ -> mkExp <$> expr e'
+  let maybeGroup [w] = w
+      maybeGroup ws = EGrouped ws
   xs' <- mapM row'' xs
-  let base =
-        case xs' of
-          [x]       -> x
-          [x,y]     -> ESub x y
-          (x:y:z:_) -> ESubsup x y z
-          []        -> EGrouped []
+  let getSubs [] = []
+      getSubs [w] = [w]
+      getSubs (w:_:ws) = w : getSubs ws
+  let getSups [] = []
+      getSups [_] = []
+      getSups (_:w:ws) = w : getSups ws
+  let (base, postSubs, postSups) =
+         case xs' of
+           [] -> (EGrouped [], [], [])
+           (w:ws) -> (w, getSubs ws, getSups ws)
+  let rightSide =
+        case (postSubs, postSups) of
+          ([],[])   -> base
+          (ws,[])   -> ESub base (maybeGroup ws)
+          ([],ws)   -> ESuper base (maybeGroup ws)
+          (ws,ys)   -> ESubsup base (maybeGroup ws) (maybeGroup ys)
   pres' <- mapM row'' $ drop 1 pres
-  return $
-    case pres' of
-        (x:y:_) -> EGrouped [ESubsup (EGrouped []) x y, base]
-        [x]     -> EGrouped [ESub x (EGrouped []), base]
-        []      -> base
+  let (preSubs, preSups) = (getSubs pres', getSups pres')
+  let leftSide =
+        case (preSubs, preSups) of
+          ([],[])   -> EGrouped []
+          (ws,[])   -> ESub (EGrouped []) (maybeGroup ws)
+          ([],ws)   -> ESuper (EGrouped []) (maybeGroup ws)
+          (ws,ys)   -> ESubsup (EGrouped []) (maybeGroup ws) (maybeGroup ys)
+  return $ EGrouped [leftSide, rightSide]
 
 
 -- Table
diff --git a/src/Text/TeXMath/Readers/OMML.hs b/src/Text/TeXMath/Readers/OMML.hs
--- a/src/Text/TeXMath/Readers/OMML.hs
+++ b/src/Text/TeXMath/Readers/OMML.hs
@@ -63,7 +63,7 @@
                    [x] -> x
                    xs -> EGrouped xs) expList
 elemToOMML element  | isElem "m" "oMath" element =
-  Just $ concat $ mapMaybe elemToExps $ unwrapWTags $ elChildren element
+  Just $ elemsToExps $ unwrapWTags $ elChildren element
 elemToOMML _ = Nothing
 
 -- oMath can contain w:hyperlink, w:sdt, etc. I can't find a complete
@@ -117,20 +117,7 @@
                     | OBoldItalic
                     deriving (Show, Eq)
 
-elemToBase :: Element -> Maybe Exp
-elemToBase element | isElem "m" "e" element = do
-  bs <- elemToBases element
-  return $ case bs of
-    (e : []) -> e
-    exps     -> EGrouped exps
-elemToBase _ = Nothing
 
-elemToBases :: Element -> Maybe [Exp]
-elemToBases element | isElem "m" "e" element =
-  return $ concat $ mapMaybe elemToExps' (elChildren element)
-elemToBases _ = Nothing
-
-
 breakOnAmpersand :: [Exp] -> [[Exp]]
 breakOnAmpersand = splitWhen isAmpersand
  where
@@ -234,9 +221,36 @@
     Just $ TextBoldItalic
   | otherwise = Nothing
 
+-- merge adjacent Exps with same style; see jgm/pandoc#10560:
+mergeExps :: [Exp] -> [Exp]
+mergeExps [] = []
+mergeExps (EStyled tt xs : EStyled tt' xs' : rest)
+  | tt == tt' = mergeExps (EStyled tt (xs <> xs') : rest)
+mergeExps (EText tt x : EText tt' x' : rest)
+  | tt == tt' = mergeExps (EText tt (x <> x') : rest)
+mergeExps (x:xs) = x : mergeExps xs
+
+elemsToExps :: [Element] -> [Exp]
+elemsToExps = mergeExps . concat . mapMaybe elemToExps
+
 elemToExps :: Element -> Maybe [Exp]
 elemToExps element = unGroup <$> elemToExps' element
 
+elemToBase :: Element -> Maybe Exp
+elemToBase element | isElem "m" "e" element = do
+  bs <- elemToBases element
+  return $ case bs of
+    (e : []) -> e
+    exps     -> EGrouped exps
+elemToBase _ = Nothing
+
+elemToBases :: Element -> Maybe [Exp]
+elemToBases element | isElem "m" "e" element =
+  return $ concat $ mapMaybe elemToExps' (elChildren element)
+elemToBases _ = Nothing
+
+
+
 elemToExps' :: Element -> Maybe [Exp]
 elemToExps' element | isElem "m" "acc" element = do
   let chr = filterChildName (hasElemName "m" "accPr") element >>=
@@ -301,8 +315,8 @@
   let barType = filterChildName (hasElemName "m" "fPr") element >>=
             filterChildName (hasElemName "m" "type") >>=
             findAttrBy (hasElemName "m" "val")
-  let numExp = EGrouped $ concat $ mapMaybe (elemToExps) (elChildren num)
-      denExp = EGrouped $ concat $ mapMaybe (elemToExps) (elChildren den)
+  let numExp = EGrouped $ elemsToExps (elChildren num)
+      denExp = EGrouped $ elemsToExps (elChildren den)
   case barType of
     Just "noBar" -> Just [EFraction NoLineFrac numExp denExp]
     _            -> Just [EFraction NormalFrac numExp denExp]
@@ -310,7 +324,7 @@
   fName <- filterChildName (hasElemName "m" "fName") element
   baseExp <- filterChildName (hasElemName "m" "e") element >>=
           elemToBase
-  let fnameExp = case mconcat $ mapMaybe (elemToExps') (elChildren fName) of
+  let fnameExp = case mconcat $ mapMaybe elemToExps' (elChildren fName) of
                    [x] -> x
                    xs  -> EGrouped xs
   return [fnameExp, baseExp]
@@ -350,14 +364,14 @@
   baseExp <- filterChildName (hasElemName "m" "e") element
           >>= elemToBase
   limExp <- filterChildName (hasElemName "m" "lim") element
-            >>= (\e -> Just $ concat $ mapMaybe (elemToExps) (elChildren e))
+            >>= (\e -> Just $ elemsToExps (elChildren e))
             >>= (return . EGrouped)
   return [EUnder True baseExp limExp]
 elemToExps' element | isElem "m" "limUpp" element = do
   baseExp <- filterChildName (hasElemName "m" "e") element
           >>= elemToBase
   limExp <- filterChildName (hasElemName "m" "lim") element
-            >>= (\e -> Just $ concat $ mapMaybe (elemToExps) (elChildren e))
+            >>= (\e -> Just $ elemsToExps (elChildren e))
             >>= (return . EGrouped)
   return [EOver True baseExp limExp]
 elemToExps' element | isElem "m" "m" element =
@@ -381,9 +395,9 @@
                filterChildName (hasElemName "m" "limLoc") >>=
                findAttrBy (hasElemName "m" "val")
   subExps <- filterChildName (hasElemName "m" "sub") element >>=
-         (\e -> return $ concat $ mapMaybe (elemToExps) (elChildren e))
+         return . elemsToExps . elChildren
   supExps <- filterChildName (hasElemName "m" "sup") element >>=
-         (\e -> return $ concat $ mapMaybe (elemToExps) (elChildren e))
+         return . elemsToExps . elChildren
   let baseExp = maybeToList $
         filterChildName (hasElemName "m" "e") element >>= elemToBase
   case limLoc of
@@ -404,7 +418,7 @@
   return [EPhantom baseExp]
 elemToExps' element | isElem "m" "rad" element = do
   degExps <- filterChildName (hasElemName "m" "deg") element >>=
-              (\e -> return $ concat $ mapMaybe (elemToExps) (elChildren e))
+              return . elemsToExps . elChildren
   baseExp <- filterChildName (hasElemName "m" "e") element >>=
              elemToBase
   return $ case degExps of
@@ -412,9 +426,9 @@
     ds -> [ERoot (EGrouped ds) baseExp]
 elemToExps' element | isElem "m" "sPre" element = do
   subExps <- filterChildName (hasElemName "m" "sub") element >>=
-            (\e -> return $ concat $ mapMaybe (elemToExps) (elChildren e))
+            return . elemsToExps . elChildren
   supExps <- filterChildName (hasElemName "m" "sup") element >>=
-            (\e -> return $ concat $ mapMaybe (elemToExps) (elChildren e))
+            return . elemsToExps . elChildren
   baseExp <- filterChildName (hasElemName "m" "e") element >>=
              elemToBase
   return [ESubsup
@@ -426,21 +440,21 @@
   baseExp <- filterChildName (hasElemName "m" "e") element >>=
              elemToBase
   subExps <- filterChildName (hasElemName "m" "sub") element >>=
-            (\e -> return $ concat $ mapMaybe (elemToExps) (elChildren e))
+            return . elemsToExps . elChildren
   return [ESub baseExp (EGrouped subExps)]
 elemToExps' element | isElem "m" "sSubSup" element = do
   baseExp <- filterChildName (hasElemName "m" "e") element >>=
              elemToBase
   subExps <- filterChildName (hasElemName "m" "sub") element >>=
-             (\e -> return $ concat $ mapMaybe (elemToExps) (elChildren e))
+             return . elemsToExps . elChildren
   supExps <- filterChildName (hasElemName "m" "sup") element >>=
-             (\e -> return $ concat $ mapMaybe (elemToExps) (elChildren e))
+             return . elemsToExps . elChildren
   return [ESubsup baseExp (EGrouped subExps) (EGrouped supExps)]
 elemToExps' element | isElem "m" "sSup" element = do
   baseExp <- filterChildName (hasElemName "m" "e") element >>=
              elemToBase
   supExps <- filterChildName (hasElemName "m" "sup") element >>=
-            (\e -> return $ concat $ mapMaybe (elemToExps) (elChildren e))
+            return . elemsToExps . elChildren
   return [ESuper baseExp (EGrouped supExps)]
 elemToExps' element | isElem "m" "r" element = do
   let mrPr = filterChildName (hasElemName "m" "rPr") element
diff --git a/src/Text/TeXMath/Readers/TeX.hs b/src/Text/TeXMath/Readers/TeX.hs
--- a/src/Text/TeXMath/Readers/TeX.hs
+++ b/src/Text/TeXMath/Readers/TeX.hs
@@ -52,7 +52,27 @@
 -- The parser
 
 expr1 :: TP Exp
-expr1 = choice
+expr1 = do
+  e <- expr2
+  -- check for primes and add them as a subscript
+  -- in TeX ' is shorthand for ^{\prime}
+  primes <- many (char '\'')
+  let getPrimes cs = case cs of
+                       "" -> ""
+                       "'" -> "\x2032"
+                       "''" -> "\x2033"
+                       "'''" -> "\x2034"
+                       "''''" -> "\x2057"
+                       _ -> "\x2057" ++ getPrimes (drop 4 cs)
+  ignorable
+  case getPrimes primes of
+    "" -> return e
+    cs -> return $ case e of
+                     ESub b sub -> ESubsup b sub (ESymbol Pun (T.pack cs))
+                     _ -> ESuper e (ESymbol Pun (T.pack cs))
+
+expr2 :: TP Exp
+expr2 = choice
           [ inbraces
           , variable
           , number
@@ -62,7 +82,7 @@
           , enclosure
           , hyperref
           , command
-          ] <* ignorable
+          ]
 
 -- | Parse a formula, returning a list of 'Exp'.
 readTeX :: Text -> Either Text [Exp]
@@ -233,7 +253,7 @@
     ctrlseq "operatorname"
     -- these are slightly different but we won't worry about that here...
     convertible <- (char '*' >> spaces >> return True) <|> return False
-    tok' <- texToken
+    tok' <- texSymbol <|> braces (manyExp expr2) <|> texChar
     tok'' <- (EMathOperator <$> (expToOperatorName tok'))
            <|> return (EStyled TextNormal [tok'])
     return (tok'', convertible)
@@ -408,11 +428,7 @@
 
 delimitedImplicit :: TP Exp
 delimitedImplicit = try $ do
-  (opent, closer) <-
-           (("(", symbol ")") <$ symbol "(")
-       <|> (("[", symbol "]") <$ symbol "[")
-       <|> (("|", symbol "|") <$ symbol "|")
-       <|> (("\x2016", "\x2016" <$ ctrlseq "rVert") <$ ctrlseq "lVert")
+  (opent, closer) <- (("\x2016", "\x2016" <$ ctrlseq "rVert") <$ ctrlseq "lVert")
   contents <- concat <$>
               many (try $ ((:[]) . Left  <$> middle)
                       <|> (map Right . unGrouped <$>
@@ -862,6 +878,7 @@
          (\t -> EUnder False t acc) <$> texToken
        Just acc@(ESymbol TOver _) ->
          (\t -> EOver False t acc) <$> texToken
+       Just (ESymbol Alpha t) -> return $ EIdentifier t -- see #256
        Just x  -> return x
        Nothing
          | sym == "\\mod" -> do
diff --git a/src/Text/TeXMath/Shared.hs b/src/Text/TeXMath/Shared.hs
--- a/src/Text/TeXMath/Shared.hs
+++ b/src/Text/TeXMath/Shared.hs
@@ -33,6 +33,9 @@
   , isEmpty
   , empty
   , handleDownup
+  , isUppercaseGreek
+  , toPrimes
+  , isRLSequence
   ) where
 
 
@@ -354,3 +357,27 @@
 handleDownup DisplayBlock  (EOver True x y)        = EOver False  x y
 handleDownup DisplayBlock  (EUnderover True x y z) = EUnderover False x y z
 handleDownup _             x                       = x
+
+isUppercaseGreek :: T.Text -> Bool
+isUppercaseGreek t = not (T.null t) && T.all isUGreek t
+ where
+  isUGreek c = c >= '\x0391' && c <= '\x03A9'
+
+toPrimes :: Exp -> Maybe T.Text
+toPrimes (ESymbol ty s) | ty == Pun || ty == Ord = go s
+ where
+  go t =
+    case T.uncons t of
+      Nothing -> Just ""
+      Just ('\'', t') -> ("'" <>) <$> go t'
+      Just ('\x2032', t') -> ("'" <>) <$> go t'
+      Just ('\x2033', t') -> ("''" <>) <$> go t'
+      Just ('\x2034', t') -> ("'''" <>) <$> go t'
+      Just ('\x2057', t') -> ("''''" <>) <$> go t'
+      _ -> Nothing
+toPrimes _ = Nothing
+
+isRLSequence :: [Alignment] -> Bool
+isRLSequence [AlignRight, AlignLeft] = True
+isRLSequence (AlignRight : AlignLeft : as) = isRLSequence as
+isRLSequence _ = False
diff --git a/src/Text/TeXMath/Unicode/ToUnicode.hs b/src/Text/TeXMath/Unicode/ToUnicode.hs
--- a/src/Text/TeXMath/Unicode/ToUnicode.hs
+++ b/src/Text/TeXMath/Unicode/ToUnicode.hs
@@ -186,6 +186,7 @@
                , ((TextItalic,'e'),'\119890')  -- e -> 𝑒
                , ((TextItalic,'f'),'\119891')  -- f -> 𝑓
                , ((TextItalic,'g'),'\119892')  -- g -> 𝑔
+               , ((TextItalic,'h'),'\8462')  -- h -> ℎ (Planck constant)
                , ((TextItalic,'i'),'\119894')  -- i -> 𝑖
                , ((TextItalic,'j'),'\119895')  -- j -> 𝑗
                , ((TextItalic,'k'),'\119896')  -- k -> 𝑘
diff --git a/src/Text/TeXMath/Writers/Eqn.hs b/src/Text/TeXMath/Writers/Eqn.hs
--- a/src/Text/TeXMath/Writers/Eqn.hs
+++ b/src/Text/TeXMath/Writers/Eqn.hs
@@ -20,6 +20,7 @@
 
 module Text.TeXMath.Writers.Eqn (writeEqn) where
 
+import Text.TeXMath.Shared (toPrimes)
 import Data.List (transpose)
 import Data.Char (isAscii, ord)
 import qualified Data.Text as T
@@ -163,9 +164,15 @@
                 then " / "
                 else " over "
 writeExp (ESub b e1) = writeExp' b <> " sub " <> writeExp' e1
-writeExp (ESuper b e1) = writeExp' b <> " sup " <> writeExp' e1
+writeExp (ESuper b e1) = writeExp' b <>
+  case toPrimes e1 of
+    Just ps -> ps
+    _ -> " sup " <> writeExp' e1
 writeExp (ESubsup b e1 e2) =
-  writeExp' b <> " sub " <> writeExp' e1 <> " sup " <> writeExp' e2
+  writeExp' b <> " sub " <> writeExp' e1 <>
+  case toPrimes e2 of
+    Just ps -> ps
+    _ -> " sup " <> writeExp' e2
 writeExp (EOver _convertible b e1) =
   writeExp' b <> " to " <> writeExp' e1
 writeExp (EUnder _convertible b e1) =
diff --git a/src/Text/TeXMath/Writers/MathML.hs b/src/Text/TeXMath/Writers/MathML.hs
--- a/src/Text/TeXMath/Writers/MathML.hs
+++ b/src/Text/TeXMath/Writers/MathML.hs
@@ -28,7 +28,8 @@
 import Text.TeXMath.Types
 import Text.TeXMath.Unicode.ToUnicode
 import Data.Generics (everywhere, mkT)
-import Text.TeXMath.Shared (getMMLType, handleDownup)
+import Text.TeXMath.Shared (getMMLType, handleDownup,
+                            isUppercaseGreek, isRLSequence)
 import Text.TeXMath.Readers.MathML.MMLDict (getMathMLOperator)
 import qualified Data.Text as T
 import Text.Printf
@@ -54,8 +55,10 @@
   case ft of
        NormalFrac   -> unode "mfrac" [x', y']
        InlineFrac   -> withAttribute "displaystyle" "false" .
+                         unode "mstyle" .
                          unode "mfrac" $ [x', y']
        DisplayFrac  -> withAttribute "displaystyle" "true" .
+                         unode "mstyle" .
                          unode "mfrac" $ [x', y']
        NoLineFrac   -> withAttribute "linethickness" "0" .
                          unode "mfrac" $ [x', y']
@@ -110,18 +113,24 @@
 makeArray :: Maybe TextType -> [Alignment] -> [ArrayLine] -> Element
 makeArray tt as ls = unode "mtable" $
   map (unode "mtr" .
-    zipWith (\a -> setAlignment a .  unode "mtd". map (showExp tt)) as') ls
+    zipWith (\a -> setAlignment a .  unode "mtd". showExps tt) as') ls
    -- see #205 on the need for style attributes:
    where setAlignment AlignLeft    =
            withAttribute "columnalign" "left" .
-           withAttribute "style" "text-align: left"
+           withAttribute "style"
+             (if isRLSequence as
+                 then "text-align: left; padding-left: 0"
+                 else "text-align: left")
          setAlignment AlignRight   =
            withAttribute "columnalign" "right" .
-           withAttribute "style" "text-align: right"
+           withAttribute "style"
+             (if isRLSequence as
+                 then "text-align: right; padding-right: 0"
+                 else "text-align: right")
          setAlignment AlignCenter  =
            withAttribute "columnalign" "center" .
            withAttribute "style" "text-align: center"
-         as'                       = as ++ cycle [AlignCenter]
+         as'                       = as ++ repeat AlignCenter
 
 -- Kept as String for Text.XML.Light
 withAttribute :: String -> T.Text -> Element -> Element
@@ -146,6 +155,17 @@
       in  withAttribute "accent" isaccent $ tunode "mo" x
     _                -> showExp tt e
 
+showExps :: Maybe TextType -> [Exp] -> [Element]
+showExps tt = map (showExp tt) . insertFunctionApps
+
+insertFunctionApps :: [Exp] -> [Exp]
+insertFunctionApps [] = []
+insertFunctionApps (e@EMathOperator{} : ESymbol _ "\x2061" : es) =
+  e : ESymbol Pun "\x2061" : insertFunctionApps es
+insertFunctionApps (e@EMathOperator{} : es) =
+  e : ESymbol Pun "\x2061" : insertFunctionApps es
+insertFunctionApps (e:es) = e : insertFunctionApps es
+
 showExp :: Maybe TextType -> Exp -> Element
 showExp tt e =
  let toUnicodeMaybe :: TextType -> T.Text -> Maybe T.Text
@@ -156,7 +176,10 @@
      vnode :: String -> T.Text -> Element
      vnode elname t
        = case tt of
-           Nothing -> tunode elname t
+           Nothing ->
+             if isUppercaseGreek t -- see #255
+                then withAttribute "mathvariant" "normal" $ tunode elname t
+                else tunode elname t
            Just TextNormal -> withAttribute "mathvariant" "normal" $
                                 tunode elname t
            Just textStyle ->
@@ -168,30 +191,32 @@
   in case e of
    ENumber x        -> vnode "mn" x
    EGrouped [x]     -> showExp tt x
-   EGrouped xs      -> mrow $ map (showExp tt) xs
+   EGrouped xs      -> mrow $ showExps tt xs
    EDelimited start end xs -> mrow $
      [ makeStretchy FPrefix (vnode "mo" start) | not (T.null start) ] ++
      map (either (makeStretchy FInfix . vnode "mo") (showExp tt)) xs ++
      [ makeStretchy FPostfix (vnode "mo" end)
         | not (T.null end) ]
    EIdentifier x    -> vnode "mi" x
-   EMathOperator x  -> vnode "mo" x
+   EMathOperator x  -> vnode "mi" x -- see #257
    ESymbol Open x   -> makeFence FPrefix $ vnode "mo" x
    ESymbol Close x  -> makeFence FPostfix $ vnode "mo" x
-   ESymbol Ord x    -> vnode "mi" x
+   ESymbol Ord x
+     | x == "\x2061" -> vnode "mo" x
+     | otherwise    -> vnode "mi" x
    ESymbol _ x      -> vnode "mo" x
    ESpace x         -> spaceWidth x
    EFraction ft x y -> showFraction tt ft x y
-   ESub x y         -> unode "msub" $ map (showExp tt) [x, y]
-   ESuper x y       -> unode "msup" $ map (showExp tt) [x, y]
-   ESubsup x y z    -> unode "msubsup" $ map (showExp tt) [x, y, z]
-   EUnder _ x y     -> unode "munder" [showExp tt x, showExp' tt y]
+   ESub x y         -> unode "msub" $ showExps tt [x, y]
+   ESuper x y       -> unode "msup" $ showExps tt [x, y]
+   ESubsup x y z    -> unode "msubsup" $ showExps tt [x, y, z]
+   EUnder _ x y     -> unode "munder" $ showExps tt [x] ++ [showExp' tt y]
    EOver _ x (ESymbol Accent "\8407") -- see #218, gives better rendering for vectors
-                    -> unode "mover" [showExp tt x, showExp' tt (ESymbol Accent "\8594")]
-   EOver _ x y      -> unode "mover" [showExp tt x, showExp' tt y]
-   EUnderover _ x y z -> unode "munderover"
-                          [showExp tt x, showExp' tt y, showExp' tt z]
-   EPhantom x       -> unode "mphantom" $ showExp tt x
+                    -> unode "mover" $ showExps tt [x] ++ [showExp' tt (ESymbol Accent "\8594")]
+   EOver _ x y      -> unode "mover" $ showExps tt [x] ++ [showExp' tt y]
+   EUnderover _ x y z -> unode "munderover" $
+                          showExps tt [x] ++ [showExp' tt y, showExp' tt z]
+   EPhantom x       -> unode "mphantom" $ showExps tt [x]
    EBoxed x         -> withAttribute "notation" "box" .
                        unode "menclose" $ showExp tt x
    ESqrt x          -> unode "msqrt" $ showExp tt x
diff --git a/src/Text/TeXMath/Writers/OMML.hs b/src/Text/TeXMath/Writers/OMML.hs
--- a/src/Text/TeXMath/Writers/OMML.hs
+++ b/src/Text/TeXMath/Writers/OMML.hs
@@ -26,11 +26,13 @@
 
 import Text.XML.Light
 import Text.TeXMath.Types
+import Text.TeXMath.Shared (isUppercaseGreek, isRLSequence)
 import Data.Generics (everywhere, mkT)
 import Data.Char (isSymbol, isPunctuation)
 import Data.Either (lefts, isLeft, rights)
 import qualified Data.Text as T
 import Data.List.Split  (splitWhen)
+import Data.List (intercalate)
 
 -- | Transforms an expression tree to an OMML XML Tree
 writeOMML :: DisplayType -> [Exp] -> Element
@@ -83,12 +85,17 @@
 maximum' xs = maximum xs
 
 makeArray :: [Element] -> [Alignment] -> [ArrayLine] -> Element
+makeArray props as rs
+  | isRLSequence as = mnode "eqArr" $ map toE rs
+  where toE r = mnode "e" (intercalate ampersand
+                            (map (concatMap (showExp props)) r))
+        ampersand = [mnode "r" [ mnode "t" ("&" :: String) ]]
 makeArray props as rs = mnode "m" $ mProps : map toMr rs
   where mProps = mnode "mPr"
                   [ mnodeA "baseJc" "center" ()
                   , mnodeA "plcHide" "on" ()
                   , mnode "mcs" $ map toMc as' ]
-        as'    = take (maximum' $ map length rs) $ as ++ cycle [AlignCenter]
+        as'    = take (maximum' $ map length rs) $ as ++ repeat AlignCenter
         toMr r = mnode "mr" $ map (mnode "e" . concatMap (showExp props)) r
         toMc a = mnode "mc" $ mnode "mcPr"
                             [ mnodeA "mcJc" (toAlign a) ()
@@ -111,17 +118,17 @@
        TextNormal       -> [sty "p"]
        TextBold         -> [sty "b"]
        TextItalic       -> [sty "i"]
-       TextMonospace    -> [sty "p", scr "monospace"]
-       TextSansSerif    -> [sty "p", scr "sans-serif"]
-       TextDoubleStruck -> [sty "p", scr "double-struck"]
-       TextScript       -> [sty "p", scr "script"]
-       TextFraktur      -> [sty "p", scr "fraktur"]
+       TextMonospace    -> [scr "monospace", sty "p"]
+       TextSansSerif    -> [scr "sans-serif", sty "p"]
+       TextDoubleStruck -> [scr "double-struck", sty "p"]
+       TextScript       -> [scr "script", sty "p"]
+       TextFraktur      -> [scr "fraktur", sty "p"]
        TextBoldItalic    -> [sty "bi"]
-       TextSansSerifBold -> [sty "b", scr "sans-serif"]
-       TextBoldScript    -> [sty "b", scr "script"]
-       TextBoldFraktur   -> [sty "b", scr "fraktur"]
-       TextSansSerifItalic -> [sty "i", scr "sans-serif"]
-       TextSansSerifBoldItalic -> [sty "bi", scr "sans-serif"]
+       TextSansSerifBold -> [scr "sans-serif", sty "b"]
+       TextBoldScript    -> [scr "script", sty "b"]
+       TextBoldFraktur   -> [scr "fraktur", sty "b"]
+       TextSansSerifItalic -> [scr "sans-serif", sty "i"]
+       TextSansSerifBoldItalic -> [scr "sans-serif", sty "bi"]
    where sty x = mnodeA "sty" x ()
          scr x = mnodeA "scr" x ()
 
@@ -223,7 +230,10 @@
 
    EIdentifier ""   -> [str props "\x200B"]  -- 0-width space
                        -- to avoid the dashed box we get otherwise; see #118
-   EIdentifier x    -> [str props x]
+   EIdentifier x
+     | isUppercaseGreek x
+     , null props -> [str [mnodeA "sty" "p" ()] x]
+     | otherwise  -> [str props x]
    EMathOperator x  -> [str (mnodeA "sty" "p" () : props) x]
    ESymbol ty xs
     | Just (c, xs') <- T.uncons xs
diff --git a/src/Text/TeXMath/Writers/TeX.hs b/src/Text/TeXMath/Writers/TeX.hs
--- a/src/Text/TeXMath/Writers/TeX.hs
+++ b/src/Text/TeXMath/Writers/TeX.hs
@@ -199,16 +199,18 @@
   tellGroup (writeExp e1)
 writeExp (ESuper b e1) = do
   (if isFancy b then tellGroup else id) $ writeExp b
-  case e1 of
-    ESymbol Ord "\8242" -> tell [Token '\'']
+  case S.toPrimes e1 of
+    Just ps -> tell (replicate (T.length ps) (Token '\''))
     _ -> do tell [Token '^']
             tellGroup (writeExp e1)
 writeExp (ESubsup b e1 e2) = do
   (if isFancy b then tellGroup else id) $ writeExp b
   tell [Token '_']
   tellGroup (writeExp e1)
-  tell [Token '^']
-  tellGroup (writeExp e2)
+  case S.toPrimes e2 of
+    Just ps -> tell (replicate (T.length ps) (Token '\''))
+    _ -> do tell [Token '^']
+            tellGroup (writeExp e2)
 writeExp (EOver convertible b e1) = do
   env <- asks mathEnv
   case xarrow b of
@@ -285,7 +287,7 @@
   tell [ControlSeq txtcmd]
   tellGroup (mapM_ writeExp $ everywhere (mkT (fromUnicode ttype)) es)
 writeExp (EArray as rows)
-  | isRLSequence as = do
+  | S.isRLSequence as = do
   env <- asks mathEnv
   if "amsmath" `elem` env
      then table "aligned" [] rows
@@ -295,11 +297,6 @@
   if "amsmath" `elem` env && all (== AlignCenter) aligns
      then table "matrix" [] rows
      else table "array" aligns rows
-
-isRLSequence :: [Alignment] -> Bool
-isRLSequence [AlignRight, AlignLeft] = True
-isRLSequence (AlignRight : AlignLeft : as) = isRLSequence as
-isRLSequence _ = False
 
 table :: T.Text -> [Alignment] -> [ArrayLine] -> Math ()
 table name aligns rows = do
diff --git a/src/Text/TeXMath/Writers/Typst.hs b/src/Text/TeXMath/Writers/Typst.hs
--- a/src/Text/TeXMath/Writers/Typst.hs
+++ b/src/Text/TeXMath/Writers/Typst.hs
@@ -139,9 +139,14 @@
     (_, EGrouped _) -> "frac(" <> writeExp e1 <> ", " <> writeExp e2 <> ")"
     _ -> writeExp e1 <> " / " <> writeExp e2
 writeExp (ESub b e1) = writeExpB b <> "_" <> writeExpS e1
-writeExp (ESuper b e1) = writeExpB b <> "^" <> writeExpS e1
+writeExp (ESuper b e1) = writeExpB b <>
+  case S.toPrimes e1 of
+    Just ps -> ps
+    _ -> "^" <> writeExpS e1
 writeExp (ESubsup b e1 e2) = writeExpB b <> "_" <> writeExpS e1 <>
-                                           "^" <> writeExpS e2
+  case S.toPrimes e2 of
+    Just ps -> ps
+    _ -> "^" <> writeExpS e2
 writeExp (EOver _ (EOver _ b (ESymbol TOver "\9182")) e1) =
   "overbrace(" <> writeExp b <> ", " <> writeExp e1 <> ")"
 writeExp (EOver _ (EOver _ b (ESymbol TOver "\9140")) e1) =
diff --git a/test/reader/omml/20.test b/test/reader/omml/20.test
--- a/test/reader/omml/20.test
+++ b/test/reader/omml/20.test
@@ -814,119 +814,125 @@
 </m:oMathPara>
 
 >>> native
-[ EStyled TextScript [ EIdentifier "A" ]
-, EStyled TextScript [ EIdentifier "B" ]
-, EStyled TextScript [ EIdentifier "C" ]
-, EStyled TextScript [ EIdentifier "D" ]
-, EStyled TextScript [ EIdentifier "E" ]
-, EStyled TextScript [ EIdentifier "F" ]
-, EStyled TextScript [ EIdentifier "G" ]
-, EStyled TextScript [ EIdentifier "H" ]
-, EStyled TextScript [ EIdentifier "I" ]
-, EStyled TextScript [ EIdentifier "J" ]
-, EStyled TextScript [ EIdentifier "K" ]
-, EStyled TextScript [ EIdentifier "L" ]
-, EStyled TextScript [ EIdentifier "M" ]
-, EStyled TextScript [ EIdentifier "N" ]
-, EStyled TextScript [ EIdentifier "O" ]
-, EStyled TextScript [ EIdentifier "P" ]
-, EStyled TextScript [ EIdentifier "Q" ]
-, EStyled TextScript [ EIdentifier "R" ]
-, EStyled TextScript [ EIdentifier "S" ]
-, EStyled TextScript [ EIdentifier "T" ]
-, EStyled TextScript [ EIdentifier "U" ]
-, EStyled TextScript [ EIdentifier "V" ]
-, EStyled TextScript [ EIdentifier "W" ]
-, EStyled TextScript [ EIdentifier "X" ]
-, EStyled TextScript [ EIdentifier "Y" ]
-, EStyled TextScript [ EIdentifier "Z" ]
-, EStyled TextScript [ EIdentifier "a" ]
-, EStyled TextScript [ EIdentifier "b" ]
-, EStyled TextScript [ EIdentifier "c" ]
-, EStyled TextScript [ EIdentifier "d" ]
-, EStyled TextScript [ EIdentifier "e" ]
-, EStyled TextScript [ EIdentifier "f" ]
-, EStyled TextScript [ EIdentifier "g" ]
-, EStyled TextScript [ EIdentifier "h" ]
-, EStyled TextScript [ EIdentifier "i" ]
-, EStyled TextScript [ EIdentifier "j" ]
-, EStyled TextScript [ EIdentifier "k" ]
-, EStyled TextScript [ EIdentifier "l" ]
-, EStyled TextScript [ EIdentifier "m" ]
-, EStyled TextScript [ EIdentifier "n" ]
-, EStyled TextScript [ EIdentifier "o" ]
-, EStyled TextScript [ EIdentifier "p" ]
-, EStyled TextScript [ EIdentifier "q" ]
-, EStyled TextScript [ EIdentifier "r" ]
-, EStyled TextScript [ EIdentifier "s" ]
-, EStyled TextScript [ EIdentifier "t" ]
-, EStyled TextScript [ EIdentifier "u" ]
-, EStyled TextScript [ EIdentifier "v" ]
-, EStyled TextScript [ EIdentifier "w" ]
-, EStyled TextScript [ EIdentifier "x" ]
-, EStyled TextScript [ EIdentifier "y" ]
-, EStyled TextScript [ EIdentifier "z" ]
-, EStyled TextDoubleStruck [ EIdentifier "A" ]
-, EStyled TextDoubleStruck [ EIdentifier "B" ]
-, EStyled TextDoubleStruck [ EIdentifier "C" ]
-, EStyled TextDoubleStruck [ EIdentifier "D" ]
-, EStyled TextDoubleStruck [ EIdentifier "E" ]
-, EStyled TextDoubleStruck [ EIdentifier "F" ]
-, EStyled TextDoubleStruck [ EIdentifier "G" ]
-, EStyled TextDoubleStruck [ EIdentifier "H" ]
-, EStyled TextDoubleStruck [ EIdentifier "I" ]
-, EStyled TextDoubleStruck [ EIdentifier "J" ]
-, EStyled TextDoubleStruck [ EIdentifier "K" ]
-, EStyled TextDoubleStruck [ EIdentifier "L" ]
-, EStyled TextDoubleStruck [ EIdentifier "M" ]
-, EStyled TextDoubleStruck [ EIdentifier "N" ]
-, EStyled TextDoubleStruck [ EIdentifier "O" ]
-, EStyled TextDoubleStruck [ EIdentifier "P" ]
-, EStyled TextDoubleStruck [ EIdentifier "Q" ]
-, EStyled TextDoubleStruck [ EIdentifier "R" ]
-, EStyled TextDoubleStruck [ EIdentifier "S" ]
-, EStyled TextDoubleStruck [ EIdentifier "T" ]
-, EStyled TextDoubleStruck [ EIdentifier "U" ]
-, EStyled TextDoubleStruck [ EIdentifier "V" ]
-, EStyled TextDoubleStruck [ EIdentifier "W" ]
-, EStyled TextDoubleStruck [ EIdentifier "X" ]
-, EStyled TextDoubleStruck [ EIdentifier "Y" ]
-, EStyled TextDoubleStruck [ EIdentifier "Z" ]
-, EStyled TextDoubleStruck [ EIdentifier "a" ]
-, EStyled TextDoubleStruck [ EIdentifier "b" ]
-, EStyled TextDoubleStruck [ EIdentifier "c" ]
-, EStyled TextDoubleStruck [ EIdentifier "d" ]
-, EStyled TextDoubleStruck [ EIdentifier "e" ]
-, EStyled TextDoubleStruck [ EIdentifier "f" ]
-, EStyled TextDoubleStruck [ EIdentifier "g" ]
-, EStyled TextDoubleStruck [ EIdentifier "h" ]
-, EStyled TextDoubleStruck [ EIdentifier "i" ]
-, EStyled TextDoubleStruck [ EIdentifier "j" ]
-, EStyled TextDoubleStruck [ EIdentifier "k" ]
-, EStyled TextDoubleStruck [ EIdentifier "l" ]
-, EStyled TextDoubleStruck [ EIdentifier "m" ]
-, EStyled TextDoubleStruck [ EIdentifier "n" ]
-, EStyled TextDoubleStruck [ EIdentifier "o" ]
-, EStyled TextDoubleStruck [ EIdentifier "p" ]
-, EStyled TextDoubleStruck [ EIdentifier "q" ]
-, EStyled TextDoubleStruck [ EIdentifier "r" ]
-, EStyled TextDoubleStruck [ EIdentifier "s" ]
-, EStyled TextDoubleStruck [ EIdentifier "t" ]
-, EStyled TextDoubleStruck [ EIdentifier "u" ]
-, EStyled TextDoubleStruck [ EIdentifier "v" ]
-, EStyled TextDoubleStruck [ EIdentifier "w" ]
-, EStyled TextDoubleStruck [ EIdentifier "x" ]
-, EStyled TextDoubleStruck [ EIdentifier "y" ]
-, EStyled TextDoubleStruck [ EIdentifier "z" ]
-, EStyled TextDoubleStruck [ ENumber "0" ]
-, EStyled TextDoubleStruck [ ENumber "1" ]
-, EStyled TextDoubleStruck [ ENumber "2" ]
-, EStyled TextDoubleStruck [ ENumber "3" ]
-, EStyled TextDoubleStruck [ ENumber "4" ]
-, EStyled TextDoubleStruck [ ENumber "5" ]
-, EStyled TextDoubleStruck [ ENumber "6" ]
-, EStyled TextDoubleStruck [ ENumber "7" ]
-, EStyled TextDoubleStruck [ ENumber "8" ]
-, EStyled TextDoubleStruck [ ENumber "9" ]
-, EStyled TextDoubleStruck [ ENumber "0" ]
+[ EStyled
+    TextScript
+    [ EIdentifier "A"
+    , EIdentifier "B"
+    , EIdentifier "C"
+    , EIdentifier "D"
+    , EIdentifier "E"
+    , EIdentifier "F"
+    , EIdentifier "G"
+    , EIdentifier "H"
+    , EIdentifier "I"
+    , EIdentifier "J"
+    , EIdentifier "K"
+    , EIdentifier "L"
+    , EIdentifier "M"
+    , EIdentifier "N"
+    , EIdentifier "O"
+    , EIdentifier "P"
+    , EIdentifier "Q"
+    , EIdentifier "R"
+    , EIdentifier "S"
+    , EIdentifier "T"
+    , EIdentifier "U"
+    , EIdentifier "V"
+    , EIdentifier "W"
+    , EIdentifier "X"
+    , EIdentifier "Y"
+    , EIdentifier "Z"
+    , EIdentifier "a"
+    , EIdentifier "b"
+    , EIdentifier "c"
+    , EIdentifier "d"
+    , EIdentifier "e"
+    , EIdentifier "f"
+    , EIdentifier "g"
+    , EIdentifier "h"
+    , EIdentifier "i"
+    , EIdentifier "j"
+    , EIdentifier "k"
+    , EIdentifier "l"
+    , EIdentifier "m"
+    , EIdentifier "n"
+    , EIdentifier "o"
+    , EIdentifier "p"
+    , EIdentifier "q"
+    , EIdentifier "r"
+    , EIdentifier "s"
+    , EIdentifier "t"
+    , EIdentifier "u"
+    , EIdentifier "v"
+    , EIdentifier "w"
+    , EIdentifier "x"
+    , EIdentifier "y"
+    , EIdentifier "z"
+    ]
+, EStyled
+    TextDoubleStruck
+    [ EIdentifier "A"
+    , EIdentifier "B"
+    , EIdentifier "C"
+    , EIdentifier "D"
+    , EIdentifier "E"
+    , EIdentifier "F"
+    , EIdentifier "G"
+    , EIdentifier "H"
+    , EIdentifier "I"
+    , EIdentifier "J"
+    , EIdentifier "K"
+    , EIdentifier "L"
+    , EIdentifier "M"
+    , EIdentifier "N"
+    , EIdentifier "O"
+    , EIdentifier "P"
+    , EIdentifier "Q"
+    , EIdentifier "R"
+    , EIdentifier "S"
+    , EIdentifier "T"
+    , EIdentifier "U"
+    , EIdentifier "V"
+    , EIdentifier "W"
+    , EIdentifier "X"
+    , EIdentifier "Y"
+    , EIdentifier "Z"
+    , EIdentifier "a"
+    , EIdentifier "b"
+    , EIdentifier "c"
+    , EIdentifier "d"
+    , EIdentifier "e"
+    , EIdentifier "f"
+    , EIdentifier "g"
+    , EIdentifier "h"
+    , EIdentifier "i"
+    , EIdentifier "j"
+    , EIdentifier "k"
+    , EIdentifier "l"
+    , EIdentifier "m"
+    , EIdentifier "n"
+    , EIdentifier "o"
+    , EIdentifier "p"
+    , EIdentifier "q"
+    , EIdentifier "r"
+    , EIdentifier "s"
+    , EIdentifier "t"
+    , EIdentifier "u"
+    , EIdentifier "v"
+    , EIdentifier "w"
+    , EIdentifier "x"
+    , EIdentifier "y"
+    , EIdentifier "z"
+    , ENumber "0"
+    , ENumber "1"
+    , ENumber "2"
+    , ENumber "3"
+    , ENumber "4"
+    , ENumber "5"
+    , ENumber "6"
+    , ENumber "7"
+    , ENumber "8"
+    , ENumber "9"
+    , ENumber "0"
+    ]
 ]
diff --git a/test/reader/tex/05.test b/test/reader/tex/05.test
--- a/test/reader/tex/05.test
+++ b/test/reader/tex/05.test
@@ -10,7 +10,9 @@
 , ESpace ((-1) % 6)
 , ESubsup (ESymbol Op "\8747") (EIdentifier "a") (EIdentifier "s")
 , EIdentifier "f"
-, EDelimited "(" ")" [ Right (EIdentifier "y") ]
+, ESymbol Open "("
+, EIdentifier "y"
+, ESymbol Close ")"
 , ESpace (1 % 6)
 , EIdentifier "d"
 , EIdentifier "y"
@@ -20,14 +22,14 @@
 , ESymbol Rel "="
 , ESubsup (ESymbol Op "\8747") (EIdentifier "a") (EIdentifier "x")
 , EIdentifier "f"
-, EDelimited "(" ")" [ Right (EIdentifier "y") ]
-, EDelimited
-    "("
-    ")"
-    [ Right (EIdentifier "x")
-    , Right (ESymbol Bin "\8722")
-    , Right (EIdentifier "y")
-    ]
+, ESymbol Open "("
+, EIdentifier "y"
+, ESymbol Close ")"
+, ESymbol Open "("
+, EIdentifier "x"
+, ESymbol Bin "\8722"
+, EIdentifier "y"
+, ESymbol Close ")"
 , ESpace (1 % 6)
 , EIdentifier "d"
 , EIdentifier "y"
diff --git a/test/reader/tex/07.test b/test/reader/tex/07.test
--- a/test/reader/tex/07.test
+++ b/test/reader/tex/07.test
@@ -3,20 +3,24 @@
 
 
 >>> native
-[ EIdentifier "u"
-, ESymbol Ord "\8243"
+[ ESuper (EIdentifier "u") (ESymbol Pun "\8243")
 , ESymbol Bin "+"
 , EIdentifier "p"
-, EDelimited "(" ")" [ Right (EIdentifier "x") ]
-, EIdentifier "u"
-, ESymbol Ord "\8242"
+, ESymbol Open "("
+, EIdentifier "x"
+, ESymbol Close ")"
+, ESuper (EIdentifier "u") (ESymbol Pun "\8242")
 , ESymbol Bin "+"
 , EIdentifier "q"
-, EDelimited "(" ")" [ Right (EIdentifier "x") ]
+, ESymbol Open "("
+, EIdentifier "x"
+, ESymbol Close ")"
 , EIdentifier "u"
 , ESymbol Rel "="
 , EIdentifier "f"
-, EDelimited "(" ")" [ Right (EIdentifier "x") ]
+, ESymbol Open "("
+, EIdentifier "x"
+, ESymbol Close ")"
 , ESymbol Pun ","
 , ESpace (1 % 1)
 , EIdentifier "x"
diff --git a/test/reader/tex/08.test b/test/reader/tex/08.test
--- a/test/reader/tex/08.test
+++ b/test/reader/tex/08.test
@@ -5,33 +5,32 @@
 
 
 >>> native
-[ EDelimited
-    "|"
-    "|"
-    [ Right (EOver False (EIdentifier "z") (ESymbol Accent "\8254")) ]
+[ ESymbol Open "|"
+, EOver False (EIdentifier "z") (ESymbol Accent "\8254")
+, ESymbol Open "|"
 , ESymbol Rel "="
-, EDelimited "|" "|" [ Right (EIdentifier "z") ]
+, ESymbol Open "|"
+, EIdentifier "z"
+, ESymbol Open "|"
 , ESymbol Pun ","
-, EDelimited
-    "|"
-    "|"
-    [ Right
-        (ESuper
-           (EDelimited
-              "("
-              ")"
-              [ Right (EOver False (EIdentifier "z") (ESymbol Accent "\8254")) ])
-           (EIdentifier "n"))
-    ]
+, ESymbol Open "|"
+, ESymbol Open "("
+, EOver False (EIdentifier "z") (ESymbol Accent "\8254")
+, ESuper (ESymbol Close ")") (EIdentifier "n")
+, ESymbol Open "|"
 , ESymbol Rel "="
-, ESuper
-    (EDelimited "|" "|" [ Right (EIdentifier "z") ]) (EIdentifier "n")
+, ESymbol Open "|"
+, EIdentifier "z"
+, ESuper (ESymbol Open "|") (EIdentifier "n")
 , ESymbol Pun ","
 , EMathOperator "arg"
-, EDelimited
-    "(" ")" [ Right (ESuper (EIdentifier "z") (EIdentifier "n")) ]
+, ESymbol Open "("
+, ESuper (EIdentifier "z") (EIdentifier "n")
+, ESymbol Close ")"
 , ESymbol Rel "="
 , EIdentifier "n"
 , EMathOperator "arg"
-, EDelimited "(" ")" [ Right (EIdentifier "z") ]
+, ESymbol Open "("
+, EIdentifier "z"
+, ESymbol Close ")"
 ]
diff --git a/test/reader/tex/09.test b/test/reader/tex/09.test
--- a/test/reader/tex/09.test
+++ b/test/reader/tex/09.test
@@ -12,9 +12,12 @@
        , ESub (EIdentifier "z") (ENumber "0")
        ])
 , EIdentifier "f"
-, EDelimited "(" ")" [ Right (EIdentifier "z") ]
+, ESymbol Open "("
+, EIdentifier "z"
+, ESymbol Close ")"
 , ESymbol Rel "="
 , EIdentifier "f"
-, EDelimited
-    "(" ")" [ Right (ESub (EIdentifier "z") (ENumber "0")) ]
+, ESymbol Open "("
+, ESub (EIdentifier "z") (ENumber "0")
+, ESymbol Close ")"
 ]
diff --git a/test/reader/tex/10.test b/test/reader/tex/10.test
--- a/test/reader/tex/10.test
+++ b/test/reader/tex/10.test
@@ -8,7 +8,9 @@
 
 >>> native
 [ ESub (EIdentifier "\981") (EIdentifier "n")
-, EDelimited "(" ")" [ Right (EIdentifier "\954") ]
+, ESymbol Open "("
+, EIdentifier "\954"
+, ESymbol Close ")"
 , ESymbol Rel "="
 , EFraction
     NormalFrac
@@ -23,8 +25,10 @@
     NormalFrac
     (EGrouped
        [ EMathOperator "sin"
-       , EDelimited
-           "(" ")" [ Right (EIdentifier "\954") , Right (EIdentifier "R") ]
+       , ESymbol Open "("
+       , EIdentifier "\954"
+       , EIdentifier "R"
+       , ESymbol Close ")"
        ])
     (EGrouped [ EIdentifier "\954" , EIdentifier "R" ])
 , EFraction
@@ -41,7 +45,9 @@
            (EGrouped
               [ ESymbol Ord "\8706"
               , ESub (EIdentifier "D") (EIdentifier "n")
-              , EDelimited "(" ")" [ Right (EIdentifier "R") ]
+              , ESymbol Open "("
+              , EIdentifier "R"
+              , ESymbol Close ")"
               ])
            (EGrouped [ ESymbol Ord "\8706" , EIdentifier "R" ]))
     ]
diff --git a/test/reader/tex/11.test b/test/reader/tex/11.test
--- a/test/reader/tex/11.test
+++ b/test/reader/tex/11.test
@@ -6,7 +6,9 @@
 
 >>> native
 [ ESub (EIdentifier "\981") (EIdentifier "n")
-, EDelimited "(" ")" [ Right (EIdentifier "\954") ]
+, ESymbol Open "("
+, EIdentifier "\954"
+, ESymbol Close ")"
 , ESymbol Rel "="
 , ENumber "0.033"
 , ESubsup (EIdentifier "C") (EIdentifier "n") (ENumber "2")
diff --git a/test/reader/tex/12.test b/test/reader/tex/12.test
--- a/test/reader/tex/12.test
+++ b/test/reader/tex/12.test
@@ -9,7 +9,9 @@
 
 >>> native
 [ EIdentifier "f"
-, EDelimited "(" ")" [ Right (EIdentifier "x") ]
+, ESymbol Open "("
+, EIdentifier "x"
+, ESymbol Close ")"
 , ESymbol Rel "="
 , EDelimited
     "{"
diff --git a/test/reader/tex/13.test b/test/reader/tex/13.test
--- a/test/reader/tex/13.test
+++ b/test/reader/tex/13.test
@@ -8,23 +8,21 @@
 >>> native
 [ ESub (EGrouped []) (EIdentifier "p")
 , ESub (EIdentifier "F") (EIdentifier "q")
-, EDelimited
-    "("
-    ")"
-    [ Right (ESub (EIdentifier "a") (ENumber "1"))
-    , Right (ESymbol Pun ",")
-    , Right (ESymbol Ord "\8230")
-    , Right (ESymbol Pun ",")
-    , Right (ESub (EIdentifier "a") (EIdentifier "p"))
-    , Right (ESymbol Pun ";")
-    , Right (ESub (EIdentifier "c") (ENumber "1"))
-    , Right (ESymbol Pun ",")
-    , Right (ESymbol Ord "\8230")
-    , Right (ESymbol Pun ",")
-    , Right (ESub (EIdentifier "c") (EIdentifier "q"))
-    , Right (ESymbol Pun ";")
-    , Right (EIdentifier "z")
-    ]
+, ESymbol Open "("
+, ESub (EIdentifier "a") (ENumber "1")
+, ESymbol Pun ","
+, ESymbol Ord "\8230"
+, ESymbol Pun ","
+, ESub (EIdentifier "a") (EIdentifier "p")
+, ESymbol Pun ";"
+, ESub (EIdentifier "c") (ENumber "1")
+, ESymbol Pun ","
+, ESymbol Ord "\8230"
+, ESymbol Pun ","
+, ESub (EIdentifier "c") (EIdentifier "q")
+, ESymbol Pun ";"
+, EIdentifier "z"
+, ESymbol Close ")"
 , ESymbol Rel "="
 , EUnderover
     True
@@ -34,26 +32,22 @@
 , EFraction
     NormalFrac
     (EGrouped
-       [ ESub
-           (EDelimited
-              "(" ")" [ Right (ESub (EIdentifier "a") (ENumber "1")) ])
-           (EIdentifier "n")
+       [ ESymbol Open "("
+       , ESub (EIdentifier "a") (ENumber "1")
+       , ESub (ESymbol Close ")") (EIdentifier "n")
        , ESymbol Ord "\8943"
-       , ESub
-           (EDelimited
-              "(" ")" [ Right (ESub (EIdentifier "a") (EIdentifier "p")) ])
-           (EIdentifier "n")
+       , ESymbol Open "("
+       , ESub (EIdentifier "a") (EIdentifier "p")
+       , ESub (ESymbol Close ")") (EIdentifier "n")
        ])
     (EGrouped
-       [ ESub
-           (EDelimited
-              "(" ")" [ Right (ESub (EIdentifier "c") (ENumber "1")) ])
-           (EIdentifier "n")
+       [ ESymbol Open "("
+       , ESub (EIdentifier "c") (ENumber "1")
+       , ESub (ESymbol Close ")") (EIdentifier "n")
        , ESymbol Ord "\8943"
-       , ESub
-           (EDelimited
-              "(" ")" [ Right (ESub (EIdentifier "c") (EIdentifier "q")) ])
-           (EIdentifier "n")
+       , ESymbol Open "("
+       , ESub (EIdentifier "c") (EIdentifier "q")
+       , ESub (ESymbol Close ")") (EIdentifier "n")
        ])
 , EFraction
     NormalFrac
diff --git a/test/reader/tex/axiom_of_power_set.test b/test/reader/tex/axiom_of_power_set.test
--- a/test/reader/tex/axiom_of_power_set.test
+++ b/test/reader/tex/axiom_of_power_set.test
@@ -11,27 +11,22 @@
 , ESymbol Op "\8704"
 , EIdentifier "B"
 , ESpace (1 % 6)
-, EDelimited
-    "["
-    "]"
-    [ Right (EIdentifier "B")
-    , Right (ESymbol Rel "\8712")
-    , Right (EIdentifier "P")
-    , Right (ESymbol Rel "\8660")
-    , Right (ESymbol Op "\8704")
-    , Right (EIdentifier "C")
-    , Right (ESpace (1 % 6))
-    , Right
-        (EDelimited
-           "("
-           ")"
-           [ Right (EIdentifier "C")
-           , Right (ESymbol Rel "\8712")
-           , Right (EIdentifier "B")
-           , Right (ESymbol Rel "\8658")
-           , Right (EIdentifier "C")
-           , Right (ESymbol Rel "\8712")
-           , Right (EIdentifier "A")
-           ])
-    ]
+, ESymbol Open "["
+, EIdentifier "B"
+, ESymbol Rel "\8712"
+, EIdentifier "P"
+, ESymbol Rel "\8660"
+, ESymbol Op "\8704"
+, EIdentifier "C"
+, ESpace (1 % 6)
+, ESymbol Open "("
+, EIdentifier "C"
+, ESymbol Rel "\8712"
+, EIdentifier "B"
+, ESymbol Rel "\8658"
+, EIdentifier "C"
+, ESymbol Rel "\8712"
+, EIdentifier "A"
+, ESymbol Close ")"
+, ESymbol Close "]"
 ]
diff --git a/test/reader/tex/binomial_coefficient.test b/test/reader/tex/binomial_coefficient.test
--- a/test/reader/tex/binomial_coefficient.test
+++ b/test/reader/tex/binomial_coefficient.test
@@ -3,13 +3,11 @@
 
 >>> native
 [ EStyled TextNormal [ EStyled TextBold [ EIdentifier "C" ] ]
-, EDelimited
-    "("
-    ")"
-    [ Right (EIdentifier "n")
-    , Right (ESymbol Pun ",")
-    , Right (EIdentifier "k")
-    ]
+, ESymbol Open "("
+, EIdentifier "n"
+, ESymbol Pun ","
+, EIdentifier "k"
+, ESymbol Close ")"
 , ESymbol Rel "="
 , ESubsup
     (EStyled TextNormal [ EStyled TextBold [ EIdentifier "C" ] ])
@@ -34,13 +32,11 @@
        [ EIdentifier "k"
        , ESymbol Ord "!"
        , ESpace (1 % 6)
-       , EDelimited
-           "("
-           ")"
-           [ Right (EIdentifier "n")
-           , Right (ESymbol Bin "\8722")
-           , Right (EIdentifier "k")
-           ]
+       , ESymbol Open "("
+       , EIdentifier "n"
+       , ESymbol Bin "\8722"
+       , EIdentifier "k"
+       , ESymbol Close ")"
        , ESymbol Ord "!"
        ])
 ]
diff --git a/test/reader/tex/deMorgans_law.test b/test/reader/tex/deMorgans_law.test
--- a/test/reader/tex/deMorgans_law.test
+++ b/test/reader/tex/deMorgans_law.test
@@ -4,19 +4,21 @@
 
 >>> native
 [ ESymbol Op "\172"
-, EDelimited
-    "("
-    ")"
-    [ Right (EIdentifier "p")
-    , Right (ESymbol Bin "\8743")
-    , Right (EIdentifier "q")
-    ]
+, ESymbol Open "("
+, EIdentifier "p"
+, ESymbol Bin "\8743"
+, EIdentifier "q"
+, ESymbol Close ")"
 , ESymbol Rel "\8660"
-, EDelimited
-    "(" ")" [ Right (ESymbol Op "\172") , Right (EIdentifier "p") ]
+, ESymbol Open "("
+, ESymbol Op "\172"
+, EIdentifier "p"
+, ESymbol Close ")"
 , ESymbol Bin "\8744"
-, EDelimited
-    "(" ")" [ Right (ESymbol Op "\172") , Right (EIdentifier "q") ]
+, ESymbol Open "("
+, ESymbol Op "\172"
+, EIdentifier "q"
+, ESymbol Close ")"
 , EOver
     False
     (EGrouped
diff --git a/test/reader/tex/differentiable_manifold.test b/test/reader/tex/differentiable_manifold.test
--- a/test/reader/tex/differentiable_manifold.test
+++ b/test/reader/tex/differentiable_manifold.test
@@ -15,10 +15,14 @@
         (EArray
            [ AlignLeft ]
            [ [ [ ESub (EIdentifier "\947") (ENumber "1")
-               , EDelimited "(" ")" [ Right (ENumber "0") ]
+               , ESymbol Open "("
+               , ENumber "0"
+               , ESymbol Close ")"
                , ESymbol Rel "="
                , ESub (EIdentifier "\947") (ENumber "2")
-               , EDelimited "(" ")" [ Right (ENumber "0") ]
+               , ESymbol Open "("
+               , ENumber "0"
+               , ESymbol Close ")"
                , ESymbol Rel "="
                , EIdentifier "p"
                , ESymbol Pun ","
@@ -38,7 +42,9 @@
                       , Right (EIdentifier "\981")
                       , Right (ESymbol Bin "\8728")
                       , Right (ESub (EIdentifier "\947") (ENumber "1"))
-                      , Right (EDelimited "(" ")" [ Right (EIdentifier "t") ])
+                      , Right (ESymbol Open "(")
+                      , Right (EIdentifier "t")
+                      , Right (ESymbol Close ")")
                       ])
                    (EGrouped [ EIdentifier "t" , ESymbol Rel "=" , ENumber "0" ])
                , ESymbol Rel "="
@@ -55,7 +61,9 @@
                       , Right (EIdentifier "\981")
                       , Right (ESymbol Bin "\8728")
                       , Right (ESub (EIdentifier "\947") (ENumber "2"))
-                      , Right (EDelimited "(" ")" [ Right (EIdentifier "t") ])
+                      , Right (ESymbol Open "(")
+                      , Right (EIdentifier "t")
+                      , Right (ESymbol Close ")")
                       ])
                    (EGrouped [ EIdentifier "t" , ESymbol Rel "=" , ENumber "0" ])
                ]
diff --git a/test/reader/tex/schwinger_dyson.test b/test/reader/tex/schwinger_dyson.test
--- a/test/reader/tex/schwinger_dyson.test
+++ b/test/reader/tex/schwinger_dyson.test
@@ -21,7 +21,9 @@
                          (EIdentifier "\948")
                          (EGrouped [ EIdentifier "\948" , EIdentifier "\981" ]))
                   , Right (EIdentifier "F")
-                  , Right (EDelimited "[" "]" [ Right (EIdentifier "\981") ])
+                  , Right (ESymbol Open "[")
+                  , Right (EIdentifier "\981")
+                  , Right (ESymbol Close "]")
                   ])
            ])
     , Right (EIdentifier "\968")
@@ -43,14 +45,18 @@
                   "{"
                   "}"
                   [ Right (EIdentifier "F")
-                  , Right (EDelimited "[" "]" [ Right (EIdentifier "\981") ])
+                  , Right (ESymbol Open "[")
+                  , Right (EIdentifier "\981")
+                  , Right (ESymbol Close "]")
                   , Right
                       (EFraction
                          NormalFrac
                          (EIdentifier "\948")
                          (EGrouped [ EIdentifier "\948" , EIdentifier "\981" ]))
                   , Right (EIdentifier "S")
-                  , Right (EDelimited "[" "]" [ Right (EIdentifier "\981") ])
+                  , Right (ESymbol Open "[")
+                  , Right (EIdentifier "\981")
+                  , Right (ESymbol Close "]")
                   ])
            ])
     , Right (EIdentifier "\968")
diff --git a/test/reader/tex/sophomores_dream.test b/test/reader/tex/sophomores_dream.test
--- a/test/reader/tex/sophomores_dream.test
+++ b/test/reader/tex/sophomores_dream.test
@@ -14,9 +14,11 @@
     (EGrouped [ EIdentifier "n" , ESymbol Rel "=" , ENumber "1" ])
     (ESymbol Ord "\8734")
 , EGrouped
-    [ ESuper
-        (EDelimited
-           "(" ")" [ Right (ESymbol Ord "\8722") , Right (ENumber "1") ])
+    [ ESymbol Open "("
+    , ESymbol Ord "\8722"
+    , ENumber "1"
+    , ESuper
+        (ESymbol Close ")")
         (EGrouped [ EIdentifier "n" , ESymbol Bin "+" , ENumber "1" ])
     , ESpace (1 % 6)
     , ESuper
diff --git a/test/reader/tex/sphere_volume.test b/test/reader/tex/sphere_volume.test
--- a/test/reader/tex/sphere_volume.test
+++ b/test/reader/tex/sphere_volume.test
@@ -95,13 +95,11 @@
             (ENumber "0")
             (EGrouped [ ENumber "2" , EIdentifier "\960" ])
         , ESpace (2 % 9)
-        , EDelimited
-            "("
-            ")"
-            [ Right (ESymbol Ord "\8722")
-            , Right (EMathOperator "cos")
-            , Right (EIdentifier "\952")
-            ]
+        , ESymbol Open "("
+        , ESymbol Ord "\8722"
+        , EMathOperator "cos"
+        , EIdentifier "\952"
+        , ESymbol Close ")"
         , ESubsup
             (EScaled (9 % 5) (ESymbol Open "|"))
             (ENumber "0")
diff --git a/test/reader/tex/substack.test b/test/reader/tex/substack.test
--- a/test/reader/tex/substack.test
+++ b/test/reader/tex/substack.test
@@ -31,11 +31,9 @@
          ]
        ])
 , EIdentifier "P"
-, EDelimited
-    "("
-    ")"
-    [ Right (EIdentifier "i")
-    , Right (ESymbol Pun ",")
-    , Right (EIdentifier "j")
-    ]
+, ESymbol Open "("
+, EIdentifier "i"
+, ESymbol Pun ","
+, EIdentifier "j"
+, ESymbol Close ")"
 ]
diff --git a/test/reader/tex/tokens.test b/test/reader/tex/tokens.test
--- a/test/reader/tex/tokens.test
+++ b/test/reader/tex/tokens.test
@@ -23,7 +23,9 @@
 , EFraction NormalFrac (EIdentifier "\981") (EIdentifier "\958")
 , EFraction NormalFrac (EIdentifier "\981") (EIdentifier "\958")
 , EFraction NormalFrac (EIdentifier "\981") (EIdentifier "\958")
-, EDelimited "(" ")" [ Right (EIdentifier "\981") ]
-, EDelimited "(" ")" [ Right (EIdentifier "\981") ]
+, EGrouped
+    [ ESymbol Open "(" , EIdentifier "\981" , ESymbol Close ")" ]
+, EGrouped
+    [ ESymbol Open "(" , EIdentifier "\981" , ESymbol Close ")" ]
 , EIdentifier "\958"
 ]
diff --git a/test/regression/235.test b/test/regression/235.test
--- a/test/regression/235.test
+++ b/test/regression/235.test
@@ -89,7 +89,7 @@
 , EIdentifier "\953"
 , EIdentifier "\922"
 , EIdentifier "\954"
-, ESymbol Alpha "\120600"
+, EIdentifier "\120600"
 , EIdentifier "\923"
 , EIdentifier "\120556"
 , EIdentifier "\955"
@@ -105,7 +105,7 @@
 , EIdentifier "\928"
 , EIdentifier "\120561"
 , EIdentifier "\960"
-, ESymbol Alpha "\982"
+, EIdentifier "\982"
 , EIdentifier "\929"
 , EIdentifier "\961"
 , EIdentifier "\931"
diff --git a/test/regression/241.test b/test/regression/241.test
--- a/test/regression/241.test
+++ b/test/regression/241.test
@@ -10,18 +10,26 @@
       , [ EText TextNormal "Waning immunity episode" ]
       ]
     , [ [ ESuper (EIdentifier "b") (ESymbol Ord "\8242")
-        , EDelimited "(" ")" [ Right (EIdentifier "t") ]
+        , ESymbol Open "("
+        , EIdentifier "t"
+        , ESymbol Close ")"
         , ESymbol Rel "="
         , ESub (EIdentifier "\956") (ENumber "0")
         , EIdentifier "b"
-        , EDelimited "(" ")" [ Right (EIdentifier "t") ]
+        , ESymbol Open "("
+        , EIdentifier "t"
+        , ESymbol Close ")"
         , ESymbol Bin "\8722"
         , EIdentifier "c"
         , EIdentifier "y"
-        , EDelimited "(" ")" [ Right (EIdentifier "t") ]
+        , ESymbol Open "("
+        , EIdentifier "t"
+        , ESymbol Close ")"
         ]
       , [ EIdentifier "b"
-        , EDelimited "(" ")" [ Right (EIdentifier "t") ]
+        , ESymbol Open "("
+        , EIdentifier "t"
+        , ESymbol Close ")"
         , ESymbol Rel "="
         , ENumber "0"
         ]
diff --git a/test/regression/245b.test b/test/regression/245b.test
--- a/test/regression/245b.test
+++ b/test/regression/245b.test
@@ -95,10 +95,10 @@
 upright("\\underrightarrow") accent(x, ⃯)\
 upright("\\underline") underline(x)\
 upright("Trailing signs:")\
-upright("^\\prime") x^(')\
-upright("^\\dprime") x^('')\
-upright("^\\trprime") x^(''')\
-upright("^\\qprime") x^('''')\
+upright("^\\prime") x'\
+upright("^\\dprime") x''\
+upright("^\\trprime") x'''\
+upright("^\\qprime") x''''\
 upright("^\\backprime") x^prime.rev\
 upright("^\\backdprime") x^prime.double.rev\
 upright("^\\backtrprime") x^prime.triple.rev\
diff --git a/test/regression/252.test b/test/regression/252.test
new file mode 100644
--- /dev/null
+++ b/test/regression/252.test
@@ -0,0 +1,68 @@
+<<< mml
+<math display="block">
+  <mmultiscripts>
+    <mi>X</mi> <!-- base expression -->
+    <mn>1</mn> <!-- post-sub-script-1 -->
+    <mn>2</mn> <!-- post-sup-script-1 -->
+    <mn>3</mn> <!-- post-sub-script-2 -->
+    <mn>4</mn> <!-- post-sup-script-2 -->
+    <mprescripts />
+    <mn>5</mn> <!-- pre-sub-script-1 -->
+    <mn>6</mn> <!-- pre-sup-script-1 -->
+    <mn>7</mn> <!-- pre-sub-script-2 -->
+    <mn>8</mn> <!-- pre-sup-script-2 -->
+  </mmultiscripts>
+  <mmultiscripts>
+    <mi>X</mi> <!-- base expression -->
+    <mn>1</mn> <!-- post-sub-script -->
+    <mn>4</mn> <!-- post-sup-script -->
+    <mprescripts />
+    <mn>8</mn> <!-- pre-sub-script -->
+  </mmultiscripts>
+  <mmultiscripts>
+    <mi>X</mi> <!-- base expression -->
+    <none/>
+    <mn>4</mn> <!-- post-sup-script -->
+    <mprescripts />
+    <mn>8</mn> <!-- pre-sub-script -->
+  </mmultiscripts>
+  <mmultiscripts>
+    <mi>X</mi> <!-- base expression -->
+    <mn>1</mn> <!-- post-sub-script -->
+  </mmultiscripts>
+  <MMULTISCRIPTS>
+  <MROW><MI>F</MI></MROW>
+  <MROW><MN>2</MN></MROW>
+  <NONE>
+  </NONE>
+  <MPRESCRIPTS></MPRESCRIPTS>
+  <MROW><MN>3</MN></MROW>
+  <NONE>
+  </NONE>
+  </MMULTISCRIPTS>
+</math>
+>>> native
+[ EGrouped
+    [ ESubsup
+        (EGrouped [])
+        (EGrouped [ ENumber "5" , ENumber "7" ])
+        (EGrouped [ ENumber "6" , ENumber "8" ])
+    , ESubsup
+        (EIdentifier "X")
+        (EGrouped [ ENumber "1" , ENumber "3" ])
+        (EGrouped [ ENumber "2" , ENumber "4" ])
+    ]
+, EGrouped
+    [ ESub (EGrouped []) (ENumber "8")
+    , ESubsup (EIdentifier "X") (ENumber "1") (ENumber "4")
+    ]
+, EGrouped
+    [ ESub (EGrouped []) (ENumber "8")
+    , ESubsup (EIdentifier "X") (EGrouped []) (ENumber "4")
+    ]
+, ESub (EIdentifier "X") (ENumber "1")
+, EGrouped
+    [ ESubsup (EGrouped []) (ENumber "3") (EGrouped [])
+    , ESubsup (EIdentifier "F") (ENumber "2") (EGrouped [])
+    ]
+]
diff --git a/test/test-texmath.hs b/test/test-texmath.hs
--- a/test/test-texmath.hs
+++ b/test/test-texmath.hs
@@ -133,6 +133,7 @@
 readers :: [(T.Text, T.Text -> Either T.Text [Exp])]
 readers = [ ("tex", readTeX)
           , ("mml", readMathML)
+          , ("mathml", readMathML)
           , ("omml", readOMML)
           , ("native", readEither)
           ]
diff --git a/test/writer/eqn/complex3.test b/test/writer/eqn/complex3.test
--- a/test/writer/eqn/complex3.test
+++ b/test/writer/eqn/complex3.test
@@ -7684,7 +7684,7 @@
 ]
 >>> eqn
 matrix{
-ccol{ {2  {sum {a  b}}} above {x sup {prime 3}} above {{{f sup prime  {( x )}} + {sin  cos  theta}} = 1} above {{{f  {( z )}} = {sum from {n = 0} to inf {a sub n  z sup n}}} roman ", " {{left | z right | < R} \[u200B] {( {R != 0} )}}} above {left ∫ {""} sub C {left ( {sum from {n = 0} to inf {a sub n  z sup n}} right )  {\[u2146] z}} right "" = {sum from {n = 0} to inf {a sub n  left ∫ {""} sub C {z sup n  {\[u2146] z}} right ""}}} above {{lim from {n -> inf} left | left ∫ {""} sub C {left [ {{f  {( z )}} - {sum from {k = 0} to n {a sub k  z sup k}}} right ]  {\[u2146] z}} right "" right |} = 0} above {left "" {n >= {N  {( \[u03B5] )}}} "⇒" {left | {{f  {( z )}} - {sum from {k = 0} to n {a sub k  z sup k}}} right | < \[u03B5]} right ""} above {{10 roman " Bq"} + {10 roman " Ci"}} above {{10 roman " amol"} + {10 roman " Emol"} - {10 roman " fmol"} + {10 roman " Gmol"} - {10 roman " kmol"} + {10 roman " Mmol"}} above {{10 roman " μmol"} + {10 roman " mmol"} - {10 roman " mol"} + {10 roman " nmol"} - {10 roman " Pmol"} + {10 roman " pmol"} - {10 roman " Tmol"}} above {{10 roman " acre"} + {10 roman " hectare"} - {10 {roman " ft"} sup 2} + {10 {roman " in"} sup 2} - {10 {roman " m"} sup 2}} above {{10 roman " A"} + {10 roman " kA"} - {10 roman " μA"} + {10 roman " mA"} - {10 roman " nA"}} above {{10 roman " F"} + {10 roman " μF"} - {10 roman " mF"} + {10 roman " nF"} - {10 roman " pF"}} above {{10 roman " C"} + {1.0 roman " m/s/s"} - {0.1 {roman " m" / {roman "s"} sup 2}}} above {{10 roman " kS"} + {10 roman " μS"} - {10 roman " mS"} + {10 roman " S"}} above {{10 roman " kV"} + {10 roman " MV"} - {10 roman " μV"} + {10 roman " mV"} - {10 roman " nV"} + {10 roman " pV"} - {10 roman " V"}} above {{10 roman " GΩ"} + {10 roman " kΩ"} - {10 roman " MΩ"} + {10 roman " mΩ"} - {10 roman " Ω"}} above {{10 roman " Btu"} + {10 roman " cal"} - {10 roman " eV"} + {10 roman " erg"} - {10 roman " GeV"} + {10 roman " GJ"}} above {{10 roman " J"} + {10 roman " kcal"} - {10 roman " kJ"} + {10 roman " MeV"} - {10 roman " MJ"} + {10 roman " μJ"} - {10 roman " mJ"} + {10 roman " nJ"}} above {{10 roman " dyn"} + {10 roman " kN"} - {10 roman " MN"} + {10 roman " μN"} - {10 roman " mN"} + {10 roman " N"} - {10 roman " ozf"} + {10 roman " lbf"}} above {{10 roman " EHz"} + {10 roman " GHz"} - {10 roman " Hz"} + {10 roman " kHz"} - {10 roman " MHz"} + {10 roman " PHz"} - {10 roman " THz"}} above {{10 roman " fc"} + {10 roman " lx"} - {10 roman " phot"}} above {{10 roman " Å"} + {10 roman " am"} - {10 roman " cm"} + {10 roman " dm"} - {10 roman " fm"} + {10 roman " ft"} - {10 roman " in"}} above {{10 roman " km"} + {10 roman " m"} - {10 roman " μm"} + {10 roman " mi"} - {10 roman " mm"} + {10 roman " nm"} - {10 roman " pm"}} above {10 roman " sb"} above {10 roman " lm"} above {10 roman " cd"} above {{10 roman " Mx"} + {10 roman " μWb"} - {10 roman " mWb"} + {10 roman " nWb"} - {10 roman " Wb"}} above {{10 roman " G"} + {10 roman " μT"} - {10 roman " mT"} + {10 roman " nT"} - {10 roman " pT"} + {10 roman " T"}} above {{10 roman " H"} + {10 roman " μH"} - {10 roman " mH"}} above {{10 roman " u"} + {10 roman " cg"} - {10 roman " dg"} + {10 roman " g"} - {10 roman " kg"} + {10 roman " μg"} - {10 roman " mg"} + {10 roman " lb"} - {10 roman " slug"}} above {{10 roman " °"} + {10 roman " μrad"} - {10 roman " mrad"} + {10 {fwd 0} sup {roman "′"}} - {10 roman " rad"} + {10 {fwd 0} sup {roman "′′"}}} above {{10 roman " GW"} + {10 roman " hp"} - {10 roman " kW"} + {10 roman " MW"} - {10 roman " μW"} + {10 roman " mW"} - {10 roman " nW"} + {10 roman " W"}} above {{10 roman " atm"} + {10 roman " bar"} - {10 roman " kbar"} + {10 roman " kPa"} - {10 roman " MPa"} + {10 roman " μPa"} - {10 roman " mbar"} + {10 roman " mmHg"} - {10 roman " Pa"} + {10 roman " torr"}} above {10 roman " sr"} above {{10 roman " °C"} + {10 roman " °F"} - {10 roman " K"}} above {{10 roman " as"} + {10 roman " d"} - {10 roman " fs"} + {10 roman " h"} - {10 roman " μs"} + {10 roman " ms"} - {10 roman " min"} + {10 roman " ns"} - {10 roman " ps"} + {10 roman " s"} - {10 roman " y"}} above {{10 {roman " ft"} sup 3} + {10 {roman " in"} sup 3} - {10 {roman " m"} sup 3} + {10 roman " gal"} - {10 roman " l"}} above {{10 roman " ml"} + {10 roman " pint"} - {10 roman " qt"}} above {1 over {x  left ( y right )} = {left ( {{- {int {e sup {{- 1 over 2}  y sup 2}  {sin  y}  {\[u2146] y}}}} + C sub 1} right )  e sup {1 over 2  y sup 2}}} above {{{\[u2145] sub x y} - y} = {sin  x}} above {left ( 1 over 2 right )  left ( 1 over 2 right )  left ( 1 over 2 right )} above {left [ 1 over 2 right ]  left ( 1 over 2 right )  left { 1 over 2 right }} above {left 〈 1 over 2 right 〉  left ⌊ 1 over 2 right ⌋  left ⌈ 1 over 2 right ⌉} above {left "" "↑" 1 over 2 "↑" right ""  left "" "↓" 1 over 2 "↓" right ""  left "" "↕" 1 over 2 "↕" right ""} above {1 over 2  1 over 2  1 over 2} above {1 over 2  1 over 2  1 over 2} above {1 over 2  1 over 2  1 over 2} above {{- {( {a - b} )}} = {b - a}} above {{2 over 5 + 3 over 7} = {{2 \[u22C5] 7} + {3 \[u22C5] 5}} over 35 = 29 over 35} above {left | a right | = left { matrix{
+ccol{ {2  {sum {a  b}}} above {x sup {prime 3}} above {{{f'  {( x )}} + {sin  cos  theta}} = 1} above {{{f  {( z )}} = {sum from {n = 0} to inf {a sub n  z sup n}}} roman ", " {{left | z right | < R} \[u200B] {( {R != 0} )}}} above {left ∫ {""} sub C {left ( {sum from {n = 0} to inf {a sub n  z sup n}} right )  {\[u2146] z}} right "" = {sum from {n = 0} to inf {a sub n  left ∫ {""} sub C {z sup n  {\[u2146] z}} right ""}}} above {{lim from {n -> inf} left | left ∫ {""} sub C {left [ {{f  {( z )}} - {sum from {k = 0} to n {a sub k  z sup k}}} right ]  {\[u2146] z}} right "" right |} = 0} above {left "" {n >= {N  {( \[u03B5] )}}} "⇒" {left | {{f  {( z )}} - {sum from {k = 0} to n {a sub k  z sup k}}} right | < \[u03B5]} right ""} above {{10 roman " Bq"} + {10 roman " Ci"}} above {{10 roman " amol"} + {10 roman " Emol"} - {10 roman " fmol"} + {10 roman " Gmol"} - {10 roman " kmol"} + {10 roman " Mmol"}} above {{10 roman " μmol"} + {10 roman " mmol"} - {10 roman " mol"} + {10 roman " nmol"} - {10 roman " Pmol"} + {10 roman " pmol"} - {10 roman " Tmol"}} above {{10 roman " acre"} + {10 roman " hectare"} - {10 {roman " ft"} sup 2} + {10 {roman " in"} sup 2} - {10 {roman " m"} sup 2}} above {{10 roman " A"} + {10 roman " kA"} - {10 roman " μA"} + {10 roman " mA"} - {10 roman " nA"}} above {{10 roman " F"} + {10 roman " μF"} - {10 roman " mF"} + {10 roman " nF"} - {10 roman " pF"}} above {{10 roman " C"} + {1.0 roman " m/s/s"} - {0.1 {roman " m" / {roman "s"} sup 2}}} above {{10 roman " kS"} + {10 roman " μS"} - {10 roman " mS"} + {10 roman " S"}} above {{10 roman " kV"} + {10 roman " MV"} - {10 roman " μV"} + {10 roman " mV"} - {10 roman " nV"} + {10 roman " pV"} - {10 roman " V"}} above {{10 roman " GΩ"} + {10 roman " kΩ"} - {10 roman " MΩ"} + {10 roman " mΩ"} - {10 roman " Ω"}} above {{10 roman " Btu"} + {10 roman " cal"} - {10 roman " eV"} + {10 roman " erg"} - {10 roman " GeV"} + {10 roman " GJ"}} above {{10 roman " J"} + {10 roman " kcal"} - {10 roman " kJ"} + {10 roman " MeV"} - {10 roman " MJ"} + {10 roman " μJ"} - {10 roman " mJ"} + {10 roman " nJ"}} above {{10 roman " dyn"} + {10 roman " kN"} - {10 roman " MN"} + {10 roman " μN"} - {10 roman " mN"} + {10 roman " N"} - {10 roman " ozf"} + {10 roman " lbf"}} above {{10 roman " EHz"} + {10 roman " GHz"} - {10 roman " Hz"} + {10 roman " kHz"} - {10 roman " MHz"} + {10 roman " PHz"} - {10 roman " THz"}} above {{10 roman " fc"} + {10 roman " lx"} - {10 roman " phot"}} above {{10 roman " Å"} + {10 roman " am"} - {10 roman " cm"} + {10 roman " dm"} - {10 roman " fm"} + {10 roman " ft"} - {10 roman " in"}} above {{10 roman " km"} + {10 roman " m"} - {10 roman " μm"} + {10 roman " mi"} - {10 roman " mm"} + {10 roman " nm"} - {10 roman " pm"}} above {10 roman " sb"} above {10 roman " lm"} above {10 roman " cd"} above {{10 roman " Mx"} + {10 roman " μWb"} - {10 roman " mWb"} + {10 roman " nWb"} - {10 roman " Wb"}} above {{10 roman " G"} + {10 roman " μT"} - {10 roman " mT"} + {10 roman " nT"} - {10 roman " pT"} + {10 roman " T"}} above {{10 roman " H"} + {10 roman " μH"} - {10 roman " mH"}} above {{10 roman " u"} + {10 roman " cg"} - {10 roman " dg"} + {10 roman " g"} - {10 roman " kg"} + {10 roman " μg"} - {10 roman " mg"} + {10 roman " lb"} - {10 roman " slug"}} above {{10 roman " °"} + {10 roman " μrad"} - {10 roman " mrad"} + {10 {fwd 0} sup {roman "′"}} - {10 roman " rad"} + {10 {fwd 0} sup {roman "′′"}}} above {{10 roman " GW"} + {10 roman " hp"} - {10 roman " kW"} + {10 roman " MW"} - {10 roman " μW"} + {10 roman " mW"} - {10 roman " nW"} + {10 roman " W"}} above {{10 roman " atm"} + {10 roman " bar"} - {10 roman " kbar"} + {10 roman " kPa"} - {10 roman " MPa"} + {10 roman " μPa"} - {10 roman " mbar"} + {10 roman " mmHg"} - {10 roman " Pa"} + {10 roman " torr"}} above {10 roman " sr"} above {{10 roman " °C"} + {10 roman " °F"} - {10 roman " K"}} above {{10 roman " as"} + {10 roman " d"} - {10 roman " fs"} + {10 roman " h"} - {10 roman " μs"} + {10 roman " ms"} - {10 roman " min"} + {10 roman " ns"} - {10 roman " ps"} + {10 roman " s"} - {10 roman " y"}} above {{10 {roman " ft"} sup 3} + {10 {roman " in"} sup 3} - {10 {roman " m"} sup 3} + {10 roman " gal"} - {10 roman " l"}} above {{10 roman " ml"} + {10 roman " pint"} - {10 roman " qt"}} above {1 over {x  left ( y right )} = {left ( {{- {int {e sup {{- 1 over 2}  y sup 2}  {sin  y}  {\[u2146] y}}}} + C sub 1} right )  e sup {1 over 2  y sup 2}}} above {{{\[u2145] sub x y} - y} = {sin  x}} above {left ( 1 over 2 right )  left ( 1 over 2 right )  left ( 1 over 2 right )} above {left [ 1 over 2 right ]  left ( 1 over 2 right )  left { 1 over 2 right }} above {left 〈 1 over 2 right 〉  left ⌊ 1 over 2 right ⌋  left ⌈ 1 over 2 right ⌉} above {left "" "↑" 1 over 2 "↑" right ""  left "" "↓" 1 over 2 "↓" right ""  left "" "↕" 1 over 2 "↕" right ""} above {1 over 2  1 over 2  1 over 2} above {1 over 2  1 over 2  1 over 2} above {1 over 2  1 over 2  1 over 2} above {{- {( {a - b} )}} = {b - a}} above {{2 over 5 + 3 over 7} = {{2 \[u22C5] 7} + {3 \[u22C5] 5}} over 35 = 29 over 35} above {left | a right | = left { matrix{
 ccol{ a above {- a} }
 ccol{ {roman "if"} above {roman "if"} }
 ccol{ {a >= 0} above {a < 0} }
@@ -7706,7 +7706,7 @@
 ccol{ 4 above 3 }
 }}} }
 }}}} above {{y  left ( x right )} = {{x  e sup x} - e sup x + 2} over {e sup x} = {x - 1 + 2 over {e sup x}}} above {matrix{
-rcol{ {{{\[u2145] sub {x \[u200B] x} y} - y} = 0} above {{y  {( 0 )}} = 1} above {{y sup prime  left ( 0 right )} = 0} }
+rcol{ {{{\[u2145] sub {x \[u200B] x} y} - y} = 0} above {{y  {( 0 )}} = 1} above {{y'  left ( 0 right )} = 0} }
 }} above {{y  left ( x right )} = {{1 over 3  e sup {{- "" sup 3 sqrt {( {- 1} )}}  x}} + {2 over 3  e sup {1 over 2  "" sup 3 sqrt {( {- 1} )}  x}  {cos  {1 over 2  sqrt 3  "" sup 3 sqrt {left ( {- 1} right )}  x}}}}} above {{y  left ( t right )} = {2  {tan  left ( {{2  t} - {1 over 4  pi}} right )}}} above {{\[u2131]  left ( {matrix{
 ccol{ {e sup {2  pi  i  x}} above {2  pi  {Dirac  left ( {x - {2  pi}} right )}} }
 } , x , s} right )} = left ( matrix{
@@ -7731,7 +7731,7 @@
 }} above {matrix{
 ccol{ {x = z} above {1 = 3} }
 }} above {matrix{
-ccol{ {{A sub 1 = {{N sub 0  {( {lambda ; OMEGA sup prime} )}} - {varphi  {( {lambda ; OMEGA sup prime} )}}}} roman ","} above {{A sub 2 = {{varphi  {( {lambda ; OMEGA sup prime} )}} - {varphi  {( {lambda ; OMEGA} )}}}} roman ","} above {{A sub 3 = {{N}  {( {lambda ; omega} )}}} roman "."} }
+ccol{ {{A sub 1 = {{N sub 0  {( {lambda ; OMEGA'} )}} - {varphi  {( {lambda ; OMEGA'} )}}}} roman ","} above {{A sub 2 = {{varphi  {( {lambda ; OMEGA'} )}} - {varphi  {( {lambda ; OMEGA} )}}}} roman ","} above {{A sub 3 = {{N}  {( {lambda ; omega} )}}} roman "."} }
 }} above {matrix{
 ccol{ {sin  theta} above {cos  gamma} }
 }} above {x = left { matrix{
@@ -7787,7 +7787,7 @@
 } right ]} - 2} = left [ matrix{
 ccol{ 2 above {- 4} }
 ccol{ {- 2} above 0 }
-} right ]} above {x = {lim from {x = 1} {sum from 1 to 2 a}}} above {{int sub a sup b {{f  {( x )}}  {\[u2146] x}}} = {lim from {{\[u2225] P \[u2225]} -> 0} {sum from {i = 1} to n {{f  left ( {x to \[u00AF]} sub i right )}  {DELTA x sub i}}}}} above {{int sub a sup b {{f  {( x )}}  {\[u2146] x}}} = {lim from {n -> inf} {{b - a} over n  {sum from {i = 1} to n {f  left ( {a + {i  {b - a} over n}} right )}}}}} above {{int sub 0 sup 2 {x sup 5  sqrt {x sup 3 + 1}  {\[u2146] x}}} = {int sub 1 sup 3 {2 over 3  u  {sqrt {left ( u sup 2 right )}} over {{left ( {u sup 2 - 1} right )} sup {2 over 3}}  left ( {{u sup 2  {left ( {u sup 2 - 1} right )} sup {2 over 3}} - {left ( {u sup 2 - 1} right )} sup {2 over 3}} right )  {\[u2146] u}}}} above {left ∫ {{f  {( {g  {( x )}} )}}  {g sup prime  {( x )}}  {\[u2146] x}} right "" = left ∫ {{f  {( u )}}  {\[u2146] u}} right ""} above {x = {2  {sum from {n = 1} to 100 {n  {( {n - 1} )}}}}} above {{lim from {x -> 0} {sin  left ( 1 over x right )}} = {{- 1} .. 1}} above {{h  {( {i , j} )}} = {{{( {2 - j} )}  {g  {( i )}}} + {{( {j - 1} )}  {f  {( {g  {( i )}} )}}}}} above {\[u25B3] : left "" left [ {0 , 1} right ] "→" left [ {0 , 1} right ] right ""} above {{0 \[u25BD] x} = x} above {{x \[u25B3] y} = {h sup {- 1}  left ( {{h  left ( x right )}  {h  left ( y right )}} right )}} above {{x \[u25B3] y} = {f sup {- 1}  left ( {max left { {{{f  left ( x right )} + {f  left ( y right )} - 1} , 0} right }} right )}} above {{x \[u25BD] y} = {eta  left ( {{eta  left ( x right )} \[u25B3] {eta  left ( y right )}} right )}} above {{x  {\[u25B3] sub 0 y}} = left { matrix{
+} right ]} above {x = {lim from {x = 1} {sum from 1 to 2 a}}} above {{int sub a sup b {{f  {( x )}}  {\[u2146] x}}} = {lim from {{\[u2225] P \[u2225]} -> 0} {sum from {i = 1} to n {{f  left ( {x to \[u00AF]} sub i right )}  {DELTA x sub i}}}}} above {{int sub a sup b {{f  {( x )}}  {\[u2146] x}}} = {lim from {n -> inf} {{b - a} over n  {sum from {i = 1} to n {f  left ( {a + {i  {b - a} over n}} right )}}}}} above {{int sub 0 sup 2 {x sup 5  sqrt {x sup 3 + 1}  {\[u2146] x}}} = {int sub 1 sup 3 {2 over 3  u  {sqrt {left ( u sup 2 right )}} over {{left ( {u sup 2 - 1} right )} sup {2 over 3}}  left ( {{u sup 2  {left ( {u sup 2 - 1} right )} sup {2 over 3}} - {left ( {u sup 2 - 1} right )} sup {2 over 3}} right )  {\[u2146] u}}}} above {left ∫ {{f  {( {g  {( x )}} )}}  {g'  {( x )}}  {\[u2146] x}} right "" = left ∫ {{f  {( u )}}  {\[u2146] u}} right ""} above {x = {2  {sum from {n = 1} to 100 {n  {( {n - 1} )}}}}} above {{lim from {x -> 0} {sin  left ( 1 over x right )}} = {{- 1} .. 1}} above {{h  {( {i , j} )}} = {{{( {2 - j} )}  {g  {( i )}}} + {{( {j - 1} )}  {f  {( {g  {( i )}} )}}}}} above {\[u25B3] : left "" left [ {0 , 1} right ] "→" left [ {0 , 1} right ] right ""} above {{0 \[u25BD] x} = x} above {{x \[u25B3] y} = {h sup {- 1}  left ( {{h  left ( x right )}  {h  left ( y right )}} right )}} above {{x \[u25B3] y} = {f sup {- 1}  left ( {max left { {{{f  left ( x right )} + {f  left ( y right )} - 1} , 0} right }} right )}} above {{x \[u25BD] y} = {eta  left ( {{eta  left ( x right )} \[u25B3] {eta  left ( y right )}} right )}} above {{x  {\[u25B3] sub 0 y}} = left { matrix{
 ccol{ {x \[u2227] y} above 0 }
 ccol{ {roman "if"} above {roman "if"} }
 ccol{ {x \[u2228] {y = 1}} above {x \[u2228] {y < 1}} }
diff --git a/test/writer/eqn/moAprime16.test b/test/writer/eqn/moAprime16.test
--- a/test/writer/eqn/moAprime16.test
+++ b/test/writer/eqn/moAprime16.test
@@ -6,4 +6,4 @@
 , EDelimited "(" ")" [ Right (EIdentifier "x") ]
 ]
 >>> eqn
-f sup ' left ( x right ) = f sup prime left ( x right )
+f sup ' left ( x right ) = f' left ( x right )
diff --git a/test/writer/eqn/primes1.test b/test/writer/eqn/primes1.test
--- a/test/writer/eqn/primes1.test
+++ b/test/writer/eqn/primes1.test
@@ -37,4 +37,4 @@
 , ESuper (ESymbol Accent "'") (ESymbol Accent "'")
 ]
 >>> eqn
-x sup 2 + 2 sup 2 + x sup prime + x sup ' + x sup "''" + x prime + {x sup '} sup ' + {x sup '} sup 2 + x sup {' + '} + {x sup '} sup ' + x sup {' sup '} + ' sup ' + ' sup '
+x sup 2 + 2 sup 2 + x' + x sup ' + x sup "''" + x prime + {x sup '} sup ' + {x sup '} sup 2 + x sup {' + '} + {x sup '} sup ' + x sup {' sup '} + ' sup ' + ' sup '
diff --git a/test/writer/eqn/primes2.test b/test/writer/eqn/primes2.test
--- a/test/writer/eqn/primes2.test
+++ b/test/writer/eqn/primes2.test
@@ -27,4 +27,4 @@
 , ESuper (EIdentifier "H") (ESymbol Accent "\8279")
 ]
 >>> eqn
-H sup " H sup ' H sup * H sup ` H sup \[u00AA] H sup \[u00B0] H sup \[u00B2] H sup \[u00B3] H sup \[u00B4] H sup \[u00B9] H sup \[u00BA] H sup \[u2018] H sup \[u2019] H sup \[u201A] H sup \[u201B] H sup \[u201C] H sup \[u201D] H sup \[u201E] H sup \[u201F] H sup prime H sup \[u2033] H sup \[u2034] H sup \[u2035] H sup \[u2036] H sup \[u2037] H sup \[u2057]
+H sup " H sup ' H sup * H sup ` H sup \[u00AA] H sup \[u00B0] H sup \[u00B2] H sup \[u00B3] H sup \[u00B4] H sup \[u00B9] H sup \[u00BA] H sup \[u2018] H sup \[u2019] H sup \[u201A] H sup \[u201B] H sup \[u201C] H sup \[u201D] H sup \[u201E] H sup \[u201F] H' H sup \[u2033] H sup \[u2034] H sup \[u2035] H sup \[u2036] H sup \[u2037] H sup \[u2057]
diff --git a/test/writer/mml/00000_C0_Controls_and_Basic_Latin.test b/test/writer/mml/00000_C0_Controls_and_Basic_Latin.test
--- a/test/writer/mml/00000_C0_Controls_and_Basic_Latin.test
+++ b/test/writer/mml/00000_C0_Controls_and_Basic_Latin.test
@@ -224,7 +224,8 @@
         <mi>*</mi>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo></mo>
+        <mi></mi>
+        <mo>&#8289;</mo>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
         <mi>0</mi>
diff --git a/test/writer/mml/00370_Greek_and_Coptic.test b/test/writer/mml/00370_Greek_and_Coptic.test
--- a/test/writer/mml/00370_Greek_and_Coptic.test
+++ b/test/writer/mml/00370_Greek_and_Coptic.test
@@ -248,7 +248,7 @@
         <mi>ΐ</mi>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>Π</mo>
+        <mo mathvariant="normal">Π</mo>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
         <mi>ΰ</mi>
@@ -277,10 +277,10 @@
         <mi>@</mi>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>Α</mo>
+        <mo mathvariant="normal">Α</mo>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>Ρ</mo>
+        <mo mathvariant="normal">Ρ</mo>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
         <mo>α</mo>
@@ -309,7 +309,7 @@
         <mi>@</mi>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>Β</mo>
+        <mo mathvariant="normal">Β</mo>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
         <mi>@</mi>
@@ -341,10 +341,10 @@
         <mi>@</mi>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>Γ</mo>
+        <mo mathvariant="normal">Γ</mo>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>Σ</mo>
+        <mo mathvariant="normal">Σ</mo>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
         <mo>γ</mo>
@@ -373,10 +373,10 @@
         <mi>΄</mi>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>Δ</mo>
+        <mo mathvariant="normal">Δ</mo>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>Τ</mo>
+        <mo mathvariant="normal">Τ</mo>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
         <mo>δ</mo>
@@ -405,10 +405,10 @@
         <mi>΅</mi>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>Ε</mo>
+        <mo mathvariant="normal">Ε</mo>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>Υ</mo>
+        <mo mathvariant="normal">Υ</mo>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
         <mo>ε</mo>
@@ -437,10 +437,10 @@
         <mi>Ά</mi>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>Ζ</mo>
+        <mo mathvariant="normal">Ζ</mo>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>Φ</mo>
+        <mo mathvariant="normal">Φ</mo>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
         <mo>ζ</mo>
@@ -469,10 +469,10 @@
         <mi>·</mi>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>Η</mo>
+        <mo mathvariant="normal">Η</mo>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>Χ</mo>
+        <mo mathvariant="normal">Χ</mo>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
         <mo>η</mo>
@@ -501,10 +501,10 @@
         <mi>Έ</mi>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>Θ</mo>
+        <mo mathvariant="normal">Θ</mo>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>Ψ</mo>
+        <mo mathvariant="normal">Ψ</mo>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
         <mo>θ</mo>
@@ -533,10 +533,10 @@
         <mi>Ή</mi>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>Ι</mo>
+        <mo mathvariant="normal">Ι</mo>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>Ω</mo>
+        <mo mathvariant="normal">Ω</mo>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
         <mo>ι</mo>
@@ -565,7 +565,7 @@
         <mi>Ί</mi>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>Κ</mo>
+        <mo mathvariant="normal">Κ</mo>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
         <mi>Ϊ</mi>
@@ -597,7 +597,7 @@
         <mi>@</mi>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>Λ</mo>
+        <mo mathvariant="normal">Λ</mo>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
         <mi>Ϋ</mi>
@@ -629,7 +629,7 @@
         <mi>Ό</mi>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>Μ</mo>
+        <mo mathvariant="normal">Μ</mo>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
         <mi>ά</mi>
@@ -661,7 +661,7 @@
         <mi>@</mi>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>Ν</mo>
+        <mo mathvariant="normal">Ν</mo>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
         <mi>έ</mi>
@@ -693,7 +693,7 @@
         <mi>Ύ</mi>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>Ξ</mo>
+        <mo mathvariant="normal">Ξ</mo>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
         <mi>ή</mi>
@@ -725,7 +725,7 @@
         <mi>Ώ</mi>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>Ο</mo>
+        <mo mathvariant="normal">Ο</mo>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
         <mi>ί</mi>
diff --git a/test/writer/mml/02000_General_Punctuation.test b/test/writer/mml/02000_General_Punctuation.test
--- a/test/writer/mml/02000_General_Punctuation.test
+++ b/test/writer/mml/02000_General_Punctuation.test
@@ -241,7 +241,7 @@
         <mi>⁑</mi>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mi>&#8289;</mi>
+        <mo>&#8289;</mo>
       </mtd>
     </mtr>
     <mtr>
diff --git a/test/writer/mml/08.test b/test/writer/mml/08.test
--- a/test/writer/mml/08.test
+++ b/test/writer/mml/08.test
@@ -73,7 +73,8 @@
       <mi>n</mi>
     </msup>
     <mo>,</mo>
-    <mo>arg</mo>
+    <mi>arg</mi>
+    <mo>&#8289;</mo>
     <mrow>
       <mo stretchy="true" form="prefix">(</mo>
       <msup>
@@ -84,7 +85,8 @@
     </mrow>
     <mo>=</mo>
     <mi>n</mi>
-    <mo>arg</mo>
+    <mi>arg</mi>
+    <mo>&#8289;</mo>
     <mrow>
       <mo stretchy="true" form="prefix">(</mo>
       <mi>z</mi>
diff --git a/test/writer/mml/09.test b/test/writer/mml/09.test
--- a/test/writer/mml/09.test
+++ b/test/writer/mml/09.test
@@ -19,7 +19,8 @@
 <math display="block" xmlns="http://www.w3.org/1998/Math/MathML">
   <mrow>
     <munder>
-      <mo>lim</mo>
+      <mi>lim</mi>
+      <mo>&#8289;</mo>
       <mrow>
         <mi>z</mi>
         <mo>→</mo>
diff --git a/test/writer/mml/10.test b/test/writer/mml/10.test
--- a/test/writer/mml/10.test
+++ b/test/writer/mml/10.test
@@ -76,7 +76,8 @@
     </msubsup>
     <mfrac>
       <mrow>
-        <mo>sin</mo>
+        <mi>sin</mi>
+        <mo>&#8289;</mo>
         <mrow>
           <mo stretchy="true" form="prefix">(</mo>
           <mi>κ</mi>
diff --git a/test/writer/mml/14.test b/test/writer/mml/14.test
--- a/test/writer/mml/14.test
+++ b/test/writer/mml/14.test
@@ -12,9 +12,11 @@
       <mi>b</mi>
     </mfrac>
     <mspace width="0.222em" />
-    <mfrac displaystyle="false">
-      <mi>a</mi>
-      <mi>b</mi>
-    </mfrac>
+    <mstyle displaystyle="false">
+      <mfrac>
+        <mi>a</mi>
+        <mi>b</mi>
+      </mfrac>
+    </mstyle>
   </mrow>
 </math>
diff --git a/test/writer/mml/19.test b/test/writer/mml/19.test
--- a/test/writer/mml/19.test
+++ b/test/writer/mml/19.test
@@ -88,40 +88,44 @@
       <mtable>
         <mtr>
           <mtd columnalign="center" style="text-align: center">
-            <mfrac displaystyle="true">
-              <mrow>
-                <mi>∂</mi>
-                <msub>
-                  <mi>x</mi>
-                  <mn>1</mn>
-                </msub>
-              </mrow>
-              <mrow>
-                <mi>∂</mi>
-                <msub>
-                  <mi>y</mi>
-                  <mn>1</mn>
-                </msub>
-              </mrow>
-            </mfrac>
+            <mstyle displaystyle="true">
+              <mfrac>
+                <mrow>
+                  <mi>∂</mi>
+                  <msub>
+                    <mi>x</mi>
+                    <mn>1</mn>
+                  </msub>
+                </mrow>
+                <mrow>
+                  <mi>∂</mi>
+                  <msub>
+                    <mi>y</mi>
+                    <mn>1</mn>
+                  </msub>
+                </mrow>
+              </mfrac>
+            </mstyle>
           </mtd>
           <mtd columnalign="center" style="text-align: center">
-            <mfrac displaystyle="true">
-              <mrow>
-                <mi>∂</mi>
-                <msub>
-                  <mi>x</mi>
-                  <mn>2</mn>
-                </msub>
-              </mrow>
-              <mrow>
-                <mi>∂</mi>
-                <msub>
-                  <mi>y</mi>
-                  <mn>1</mn>
-                </msub>
-              </mrow>
-            </mfrac>
+            <mstyle displaystyle="true">
+              <mfrac>
+                <mrow>
+                  <mi>∂</mi>
+                  <msub>
+                    <mi>x</mi>
+                    <mn>2</mn>
+                  </msub>
+                </mrow>
+                <mrow>
+                  <mi>∂</mi>
+                  <msub>
+                    <mi>y</mi>
+                    <mn>1</mn>
+                  </msub>
+                </mrow>
+              </mfrac>
+            </mstyle>
           </mtd>
         </mtr>
         <mtr>
@@ -131,40 +135,44 @@
         </mtr>
         <mtr>
           <mtd columnalign="center" style="text-align: center">
-            <mfrac displaystyle="true">
-              <mrow>
-                <mi>∂</mi>
-                <msub>
-                  <mi>x</mi>
-                  <mn>1</mn>
-                </msub>
-              </mrow>
-              <mrow>
-                <mi>∂</mi>
-                <msub>
-                  <mi>y</mi>
-                  <mn>2</mn>
-                </msub>
-              </mrow>
-            </mfrac>
+            <mstyle displaystyle="true">
+              <mfrac>
+                <mrow>
+                  <mi>∂</mi>
+                  <msub>
+                    <mi>x</mi>
+                    <mn>1</mn>
+                  </msub>
+                </mrow>
+                <mrow>
+                  <mi>∂</mi>
+                  <msub>
+                    <mi>y</mi>
+                    <mn>2</mn>
+                  </msub>
+                </mrow>
+              </mfrac>
+            </mstyle>
           </mtd>
           <mtd columnalign="center" style="text-align: center">
-            <mfrac displaystyle="true">
-              <mrow>
-                <mi>∂</mi>
-                <msub>
-                  <mi>x</mi>
-                  <mn>2</mn>
-                </msub>
-              </mrow>
-              <mrow>
-                <mi>∂</mi>
-                <msub>
-                  <mi>y</mi>
-                  <mn>2</mn>
-                </msub>
-              </mrow>
-            </mfrac>
+            <mstyle displaystyle="true">
+              <mfrac>
+                <mrow>
+                  <mi>∂</mi>
+                  <msub>
+                    <mi>x</mi>
+                    <mn>2</mn>
+                  </msub>
+                </mrow>
+                <mrow>
+                  <mi>∂</mi>
+                  <msub>
+                    <mi>y</mi>
+                    <mn>2</mn>
+                  </msub>
+                </mrow>
+              </mfrac>
+            </mstyle>
           </mtd>
         </mtr>
       </mtable>
diff --git a/test/writer/mml/a.test b/test/writer/mml/a.test
--- a/test/writer/mml/a.test
+++ b/test/writer/mml/a.test
@@ -138,7 +138,8 @@
         <mtext mathvariant="normal">acE</mtext>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>∾̳</mo>
+        <mi>∾̳</mi>
+        <mo>&#8289;</mo>
       </mtd>
     </mtr>
     <mtr>
@@ -202,7 +203,7 @@
         <mtext mathvariant="normal">af</mtext>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mi>&#8289;</mi>
+        <mo>&#8289;</mo>
       </mtd>
     </mtr>
     <mtr>
@@ -562,7 +563,7 @@
         <mtext mathvariant="normal">ApplyFunction</mtext>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mi>&#8289;</mi>
+        <mo>&#8289;</mo>
       </mtd>
     </mtr>
     <mtr>
diff --git a/test/writer/mml/b.test b/test/writer/mml/b.test
--- a/test/writer/mml/b.test
+++ b/test/writer/mml/b.test
@@ -577,7 +577,8 @@
         <mtext mathvariant="normal">bne</mtext>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>=⃥</mo>
+        <mi>=⃥</mi>
+        <mo>&#8289;</mo>
       </mtd>
     </mtr>
     <mtr>
@@ -585,7 +586,8 @@
         <mtext mathvariant="normal">bnequiv</mtext>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>≡⃥</mo>
+        <mi>≡⃥</mi>
+        <mo>&#8289;</mo>
       </mtd>
     </mtr>
     <mtr>
diff --git a/test/writer/mml/c.test b/test/writer/mml/c.test
--- a/test/writer/mml/c.test
+++ b/test/writer/mml/c.test
@@ -237,7 +237,8 @@
         <mtext mathvariant="normal">caps</mtext>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>∩︀</mo>
+        <mi>∩︀</mi>
+        <mo>&#8289;</mo>
       </mtd>
     </mtr>
     <mtr>
@@ -1037,7 +1038,8 @@
         <mtext mathvariant="normal">cups</mtext>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>∪︀</mo>
+        <mi>∪︀</mi>
+        <mo>&#8289;</mo>
       </mtd>
     </mtr>
     <mtr>
diff --git a/test/writer/mml/complex3.test b/test/writer/mml/complex3.test
--- a/test/writer/mml/complex3.test
+++ b/test/writer/mml/complex3.test
@@ -7724,7 +7724,7 @@
                 <mi>f</mi>
                 <mi>′</mi>
               </msup>
-              <mi>&#8289;</mi>
+              <mo>&#8289;</mo>
               <mrow>
                 <mo stretchy="false" form="prefix">(</mo>
                 <mi>x</mi>
@@ -7733,10 +7733,10 @@
             </mrow>
             <mo>+</mo>
             <mrow>
-              <mo>sin</mo>
-              <mi>&#8289;</mi>
-              <mo>cos</mo>
-              <mi>&#8289;</mi>
+              <mi>sin</mi>
+              <mo>&#8289;</mo>
+              <mi>cos</mi>
+              <mo>&#8289;</mo>
               <mi>θ</mi>
             </mrow>
           </mrow>
@@ -7752,7 +7752,7 @@
           <mrow>
             <mrow>
               <mi>f</mi>
-              <mi>&#8289;</mi>
+              <mo>&#8289;</mo>
               <mrow>
                 <mo stretchy="false" form="prefix">(</mo>
                 <mi>z</mi>
@@ -7898,7 +7898,8 @@
         <mrow>
           <mrow>
             <munder>
-              <mo>lim</mo>
+              <mi>lim</mi>
+              <mo>&#8289;</mo>
               <mrow>
                 <mi>n</mi>
                 <mo>→</mo>
@@ -7919,7 +7920,7 @@
                     <mrow>
                       <mrow>
                         <mi>f</mi>
-                        <mi>&#8289;</mi>
+                        <mo>&#8289;</mo>
                         <mrow>
                           <mo stretchy="false" form="prefix">(</mo>
                           <mi>z</mi>
@@ -7976,7 +7977,7 @@
             <mo>≥</mo>
             <mrow>
               <mi>N</mi>
-              <mi>&#8289;</mi>
+              <mo>&#8289;</mo>
               <mrow>
                 <mo stretchy="false" form="prefix">(</mo>
                 <mi>ε</mi>
@@ -7991,7 +7992,7 @@
               <mrow>
                 <mrow>
                   <mi>f</mi>
-                  <mi>&#8289;</mi>
+                  <mo>&#8289;</mo>
                   <mrow>
                     <mo stretchy="false" form="prefix">(</mo>
                     <mi>z</mi>
@@ -9093,7 +9094,7 @@
             <mn>1</mn>
             <mrow>
               <mi>x</mi>
-              <mi>&#8289;</mi>
+              <mo>&#8289;</mo>
               <mrow>
                 <mo stretchy="true" form="prefix">(</mo>
                 <mi>y</mi>
@@ -9130,8 +9131,8 @@
                       </msup>
                       <mi>&#8290;</mi>
                       <mrow>
-                        <mo>sin</mo>
-                        <mi>&#8289;</mi>
+                        <mi>sin</mi>
+                        <mo>&#8289;</mo>
                         <mi>y</mi>
                       </mrow>
                       <mi>&#8290;</mi>
@@ -9186,8 +9187,8 @@
           </mrow>
           <mo>=</mo>
           <mrow>
-            <mo>sin</mo>
-            <mi>&#8289;</mi>
+            <mi>sin</mi>
+            <mo>&#8289;</mo>
             <mi>x</mi>
           </mrow>
         </mrow>
@@ -10078,7 +10079,7 @@
     <mtr>
       <mtd columnalign="center" style="text-align: center">
         <msubsup>
-          <mi>Γ</mi>
+          <mi mathvariant="normal">Γ</mi>
           <msubsup>
             <mn>1</mn>
             <msup>
@@ -10186,7 +10187,7 @@
         <mrow>
           <mrow>
             <mi>y</mi>
-            <mi>&#8289;</mi>
+            <mo>&#8289;</mo>
             <mrow>
               <mo stretchy="true" form="prefix">(</mo>
               <mi>x</mi>
@@ -10266,7 +10267,7 @@
               <mrow>
                 <mrow>
                   <mi>y</mi>
-                  <mi>&#8289;</mi>
+                  <mo>&#8289;</mo>
                   <mrow>
                     <mo stretchy="false" form="prefix">(</mo>
                     <mn>0</mn>
@@ -10286,7 +10287,7 @@
                     <mi>y</mi>
                     <mi>′</mi>
                   </msup>
-                  <mi>&#8289;</mi>
+                  <mo>&#8289;</mo>
                   <mrow>
                     <mo stretchy="true" form="prefix">(</mo>
                     <mn>0</mn>
@@ -10307,7 +10308,7 @@
         <mrow>
           <mrow>
             <mi>y</mi>
-            <mi>&#8289;</mi>
+            <mo>&#8289;</mo>
             <mrow>
               <mo stretchy="true" form="prefix">(</mo>
               <mi>x</mi>
@@ -10376,8 +10377,8 @@
               </msup>
               <mi>&#8290;</mi>
               <mrow>
-                <mo>cos</mo>
-                <mi>&#8289;</mi>
+                <mi>cos</mi>
+                <mo>&#8289;</mo>
                 <mrow>
                   <mfrac>
                     <mn>1</mn>
@@ -10414,7 +10415,7 @@
         <mrow>
           <mrow>
             <mi>y</mi>
-            <mi>&#8289;</mi>
+            <mo>&#8289;</mo>
             <mrow>
               <mo stretchy="true" form="prefix">(</mo>
               <mi>t</mi>
@@ -10426,8 +10427,8 @@
             <mn>2</mn>
             <mi>&#8290;</mi>
             <mrow>
-              <mo>tan</mo>
-              <mi>&#8289;</mi>
+              <mi>tan</mi>
+              <mo>&#8289;</mo>
               <mrow>
                 <mo stretchy="true" form="prefix">(</mo>
                 <mrow>
@@ -10459,7 +10460,7 @@
         <mrow>
           <mrow>
             <mi>ℱ</mi>
-            <mi>&#8289;</mi>
+            <mo>&#8289;</mo>
             <mrow>
               <mo stretchy="true" form="prefix">(</mo>
               <mrow>
@@ -10489,7 +10490,7 @@
                         <mi>&#8290;</mi>
                         <mrow>
                           <mi>Dirac</mi>
-                          <mi>&#8289;</mi>
+                          <mo>&#8289;</mo>
                           <mrow>
                             <mo stretchy="true" form="prefix">(</mo>
                             <mrow>
@@ -10529,7 +10530,7 @@
                     <mi>&#8290;</mi>
                     <mrow>
                       <mi>Dirac</mi>
-                      <mi>&#8289;</mi>
+                      <mo>&#8289;</mo>
                       <mrow>
                         <mo stretchy="true" form="prefix">(</mo>
                         <mrow>
@@ -10809,7 +10810,7 @@
               <mi>K</mi>
               <mi>v</mi>
             </msub>
-            <mi>&#8289;</mi>
+            <mo>&#8289;</mo>
             <mrow>
               <mo stretchy="false" form="prefix">(</mo>
               <mi>z</mi>
@@ -10822,7 +10823,7 @@
               <mi>BesselK</mi>
               <mi>v</mi>
             </msub>
-            <mi>&#8289;</mi>
+            <mo>&#8289;</mo>
             <mrow>
               <mo stretchy="true" form="prefix">(</mo>
               <mi>z</mi>
@@ -10914,7 +10915,7 @@
                 </msup>
                 <mrow>
                   <mi>u</mi>
-                  <mi>&#8289;</mi>
+                  <mo>&#8289;</mo>
                   <mrow>
                     <mo stretchy="false" form="prefix">(</mo>
                     <mrow>
@@ -10943,7 +10944,7 @@
                 </msup>
                 <mrow>
                   <mi>u</mi>
-                  <mi>&#8289;</mi>
+                  <mo>&#8289;</mo>
                   <mrow>
                     <mo stretchy="false" form="prefix">(</mo>
                     <mrow>
@@ -10975,7 +10976,7 @@
         <mrow>
           <mrow>
             <mi>y</mi>
-            <mi>&#8289;</mi>
+            <mo>&#8289;</mo>
             <mrow>
               <mo stretchy="true" form="prefix">(</mo>
               <mrow>
@@ -11231,14 +11232,14 @@
                         <mi>N</mi>
                         <mn>0</mn>
                       </msub>
-                      <mi>&#8289;</mi>
+                      <mo>&#8289;</mo>
                       <mrow>
                         <mo stretchy="false" form="prefix">(</mo>
                         <mrow>
                           <mi>λ</mi>
                           <mo>;</mo>
                           <msup>
-                            <mi>Ω</mi>
+                            <mi mathvariant="normal">Ω</mi>
                             <mi>′</mi>
                           </msup>
                         </mrow>
@@ -11248,14 +11249,14 @@
                     <mo>−</mo>
                     <mrow>
                       <mi>φ</mi>
-                      <mi>&#8289;</mi>
+                      <mo>&#8289;</mo>
                       <mrow>
                         <mo stretchy="false" form="prefix">(</mo>
                         <mrow>
                           <mi>λ</mi>
                           <mo>;</mo>
                           <msup>
-                            <mi>Ω</mi>
+                            <mi mathvariant="normal">Ω</mi>
                             <mi>′</mi>
                           </msup>
                         </mrow>
@@ -11280,14 +11281,14 @@
                   <mrow>
                     <mrow>
                       <mi>φ</mi>
-                      <mi>&#8289;</mi>
+                      <mo>&#8289;</mo>
                       <mrow>
                         <mo stretchy="false" form="prefix">(</mo>
                         <mrow>
                           <mi>λ</mi>
                           <mo>;</mo>
                           <msup>
-                            <mi>Ω</mi>
+                            <mi mathvariant="normal">Ω</mi>
                             <mi>′</mi>
                           </msup>
                         </mrow>
@@ -11297,13 +11298,13 @@
                     <mo>−</mo>
                     <mrow>
                       <mi>φ</mi>
-                      <mi>&#8289;</mi>
+                      <mo>&#8289;</mo>
                       <mrow>
                         <mo stretchy="false" form="prefix">(</mo>
                         <mrow>
                           <mi>λ</mi>
                           <mo>;</mo>
-                          <mi>Ω</mi>
+                          <mi mathvariant="normal">Ω</mi>
                         </mrow>
                         <mo stretchy="false" form="postfix">)</mo>
                       </mrow>
@@ -11325,7 +11326,7 @@
                   <mo>=</mo>
                   <mrow>
                     <mi>𝒩</mi>
-                    <mi>&#8289;</mi>
+                    <mo>&#8289;</mo>
                     <mrow>
                       <mo stretchy="false" form="prefix">(</mo>
                       <mrow>
@@ -11351,8 +11352,8 @@
           <mtr>
             <mtd columnalign="center" style="text-align: center">
               <mrow>
-                <mo>sin</mo>
-                <mi>&#8289;</mi>
+                <mi>sin</mi>
+                <mo>&#8289;</mo>
                 <mi>θ</mi>
               </mrow>
             </mtd>
@@ -11360,8 +11361,8 @@
           <mtr>
             <mtd columnalign="center" style="text-align: center">
               <mrow>
-                <mo>cos</mo>
-                <mi>&#8289;</mi>
+                <mi>cos</mi>
+                <mo>&#8289;</mo>
                 <mi>γ</mi>
               </mrow>
             </mtd>
@@ -11493,7 +11494,8 @@
       <mtd columnalign="center" style="text-align: center">
         <mrow>
           <mrow>
-            <mo>∇×</mo>
+            <mi>∇×</mi>
+            <mo>&#8289;</mo>
             <mi>F</mi>
           </mrow>
           <mo>=</mo>
@@ -11505,7 +11507,8 @@
     <mtr>
       <mtd columnalign="center" style="text-align: center">
         <mrow>
-          <mo>∇·</mo>
+          <mi>∇·</mi>
+          <mo>&#8289;</mo>
           <mi>F</mi>
         </mrow>
       </mtd>
@@ -11515,7 +11518,8 @@
       <mtd columnalign="center" style="text-align: center">
         <mrow>
           <mrow>
-            <mo>∇·∇</mo>
+            <mi>∇·∇</mi>
+            <mo>&#8289;</mo>
             <mi>F</mi>
           </mrow>
           <mo>=</mo>
@@ -11540,7 +11544,8 @@
       <mtd columnalign="center" style="text-align: center">
         <mrow>
           <mrow>
-            <mo>∇×</mo>
+            <mi>∇×</mi>
+            <mo>&#8289;</mo>
             <mrow>
               <mo stretchy="false" form="prefix">(</mo>
               <mrow>
@@ -11604,7 +11609,8 @@
       <mtd columnalign="center" style="text-align: center">
         <mrow>
           <mrow>
-            <mo>∇×</mo>
+            <mi>∇×</mi>
+            <mo>&#8289;</mo>
             <mrow>
               <mo stretchy="false" form="prefix">(</mo>
               <mrow>
@@ -11692,7 +11698,7 @@
             <mo>+</mo>
             <mrow>
               <mi>f</mi>
-              <mi>&#8289;</mi>
+              <mo>&#8289;</mo>
               <mrow>
                 <mo stretchy="false" form="prefix">(</mo>
                 <mi>𝐱</mi>
@@ -11714,7 +11720,7 @@
           <mrow>
             <mi>𝑇</mi>
             <mi>&#8290;</mi>
-            <mi mathvariant="italic">h</mi>
+            <mi>ℎ</mi>
             <mi>&#8290;</mi>
             <mi>𝑒</mi>
             <mi>&#8290;</mi>
@@ -11820,7 +11826,7 @@
                   </msub>
                 </mrow>
               </mfrac>
-              <mi>&#8289;</mi>
+              <mo>&#8289;</mo>
               <mrow>
                 <mo stretchy="true" form="prefix">(</mo>
                 <mrow>
@@ -11859,7 +11865,7 @@
                   </msub>
                 </mrow>
               </mfrac>
-              <mi>&#8289;</mi>
+              <mo>&#8289;</mo>
               <mrow>
                 <mo stretchy="true" form="prefix">(</mo>
                 <mrow>
@@ -11904,7 +11910,7 @@
                   </msub>
                 </mrow>
               </mfrac>
-              <mi>&#8289;</mi>
+              <mo>&#8289;</mo>
               <mrow>
                 <mo stretchy="true" form="prefix">(</mo>
                 <mrow>
@@ -12019,7 +12025,7 @@
                   <mi>&#8290;</mi>
                   <mrow>
                     <mi>f</mi>
-                    <mi>&#8289;</mi>
+                    <mo>&#8289;</mo>
                     <mrow>
                       <mo stretchy="true" form="prefix">(</mo>
                       <mrow>
@@ -12039,7 +12045,7 @@
                     <mi>∇</mi>
                     <mrow>
                       <mi>f</mi>
-                      <mi>&#8289;</mi>
+                      <mo>&#8289;</mo>
                       <mrow>
                         <mo stretchy="true" form="prefix">(</mo>
                         <mrow>
@@ -12076,7 +12082,7 @@
                           <mi>x</mi>
                         </mrow>
                       </mfrac>
-                      <mi>&#8289;</mi>
+                      <mo>&#8289;</mo>
                       <mrow>
                         <mo stretchy="true" form="prefix">(</mo>
                         <mrow>
@@ -12108,7 +12114,7 @@
                           <mi>y</mi>
                         </mrow>
                       </mfrac>
-                      <mi>&#8289;</mi>
+                      <mo>&#8289;</mo>
                       <mrow>
                         <mo stretchy="true" form="prefix">(</mo>
                         <mrow>
@@ -12140,7 +12146,7 @@
                           <mi>z</mi>
                         </mrow>
                       </mfrac>
-                      <mi>&#8289;</mi>
+                      <mo>&#8289;</mo>
                       <mrow>
                         <mo stretchy="true" form="prefix">(</mo>
                         <mrow>
@@ -12192,8 +12198,8 @@
                 <mrow>
                   <mo stretchy="true" form="prefix">(</mo>
                   <mrow>
-                    <mo>arccos</mo>
-                    <mi>&#8289;</mi>
+                    <mi>arccos</mi>
+                    <mo>&#8289;</mo>
                     <mrow>
                       <mfrac>
                         <mn>1</mn>
@@ -12243,8 +12249,8 @@
                 <mrow>
                   <mo stretchy="true" form="prefix">(</mo>
                   <mrow>
-                    <mo>arccos</mo>
-                    <mi>&#8289;</mi>
+                    <mi>arccos</mi>
+                    <mo>&#8289;</mo>
                     <mrow>
                       <mfrac>
                         <mn>1</mn>
@@ -12315,7 +12321,8 @@
       <mtd columnalign="center" style="text-align: center">
         <mrow>
           <mrow>
-            <mo>det</mo>
+            <mi>det</mi>
+            <mo>&#8289;</mo>
             <mrow>
               <mo stretchy="true" form="prefix">(</mo>
               <mtable>
@@ -12394,7 +12401,7 @@
           <mrow>
             <mrow>
               <mi>A</mi>
-              <mi>&#8289;</mi>
+              <mo>&#8289;</mo>
               <mrow>
                 <mo stretchy="true" form="prefix">(</mo>
                 <mi>θ</mi>
@@ -12404,7 +12411,7 @@
             <mi>&#8290;</mi>
             <mrow>
               <mi>A</mi>
-              <mi>&#8289;</mi>
+              <mo>&#8289;</mo>
               <mrow>
                 <mo stretchy="true" form="prefix">(</mo>
                 <mrow>
@@ -12423,8 +12430,8 @@
                 <mtr>
                   <mtd columnalign="center" style="text-align: center">
                     <mrow>
-                      <mo>cos</mo>
-                      <mi>&#8289;</mi>
+                      <mi>cos</mi>
+                      <mo>&#8289;</mo>
                       <mi>θ</mi>
                     </mrow>
                   </mtd>
@@ -12432,8 +12439,8 @@
                     <mrow>
                       <mo>−</mo>
                       <mrow>
-                        <mo>sin</mo>
-                        <mi>&#8289;</mi>
+                        <mi>sin</mi>
+                        <mo>&#8289;</mo>
                         <mi>θ</mi>
                       </mrow>
                     </mrow>
@@ -12442,15 +12449,15 @@
                 <mtr>
                   <mtd columnalign="center" style="text-align: center">
                     <mrow>
-                      <mo>sin</mo>
-                      <mi>&#8289;</mi>
+                      <mi>sin</mi>
+                      <mo>&#8289;</mo>
                       <mi>θ</mi>
                     </mrow>
                   </mtd>
                   <mtd columnalign="center" style="text-align: center">
                     <mrow>
-                      <mo>cos</mo>
-                      <mi>&#8289;</mi>
+                      <mi>cos</mi>
+                      <mo>&#8289;</mo>
                       <mi>θ</mi>
                     </mrow>
                   </mtd>
@@ -12465,15 +12472,15 @@
                 <mtr>
                   <mtd columnalign="center" style="text-align: center">
                     <mrow>
-                      <mo>cos</mo>
-                      <mi>&#8289;</mi>
+                      <mi>cos</mi>
+                      <mo>&#8289;</mo>
                       <mi>θ</mi>
                     </mrow>
                   </mtd>
                   <mtd columnalign="center" style="text-align: center">
                     <mrow>
-                      <mo>sin</mo>
-                      <mi>&#8289;</mi>
+                      <mi>sin</mi>
+                      <mo>&#8289;</mo>
                       <mi>θ</mi>
                     </mrow>
                   </mtd>
@@ -12483,16 +12490,16 @@
                     <mrow>
                       <mo>−</mo>
                       <mrow>
-                        <mo>sin</mo>
-                        <mi>&#8289;</mi>
+                        <mi>sin</mi>
+                        <mo>&#8289;</mo>
                         <mi>θ</mi>
                       </mrow>
                     </mrow>
                   </mtd>
                   <mtd columnalign="center" style="text-align: center">
                     <mrow>
-                      <mo>cos</mo>
-                      <mi>&#8289;</mi>
+                      <mi>cos</mi>
+                      <mo>&#8289;</mo>
                       <mi>θ</mi>
                     </mrow>
                   </mtd>
@@ -12510,7 +12517,7 @@
         <mrow>
           <mrow>
             <mi>J</mi>
-            <mi>&#8289;</mi>
+            <mo>&#8289;</mo>
             <mrow>
               <mo stretchy="false" form="prefix">(</mo>
               <mi>A</mi>
@@ -12531,7 +12538,7 @@
                         <mn>1</mn>
                       </msub>
                     </msub>
-                    <mi>&#8289;</mi>
+                    <mo>&#8289;</mo>
                     <mrow>
                       <mo stretchy="true" form="prefix">(</mo>
                       <msub>
@@ -12565,7 +12572,7 @@
                         <mn>2</mn>
                       </msub>
                     </msub>
-                    <mi>&#8289;</mi>
+                    <mo>&#8289;</mo>
                     <mrow>
                       <mo stretchy="true" form="prefix">(</mo>
                       <msub>
@@ -12616,7 +12623,7 @@
                         <mi>k</mi>
                       </msub>
                     </msub>
-                    <mi>&#8289;</mi>
+                    <mo>&#8289;</mo>
                     <mrow>
                       <mo stretchy="true" form="prefix">(</mo>
                       <msub>
@@ -12639,7 +12646,8 @@
       <mtd columnalign="center" style="text-align: center">
         <mrow>
           <mrow>
-            <mo>det</mo>
+            <mi>det</mi>
+            <mo>&#8289;</mo>
             <mrow>
               <mo stretchy="true" form="prefix">(</mo>
               <mtable>
@@ -12796,7 +12804,8 @@
           <mo>=</mo>
           <mrow>
             <munder>
-              <mo>max</mo>
+              <mi>max</mi>
+              <mo>&#8289;</mo>
               <mrow>
                 <mi>x</mi>
                 <mo>≠</mo>
@@ -13034,7 +13043,7 @@
         <mrow>
           <mrow>
             <mi>f</mi>
-            <mi>&#8289;</mi>
+            <mo>&#8289;</mo>
             <mrow>
               <mo stretchy="true" form="prefix">(</mo>
               <mrow>
@@ -13159,7 +13168,8 @@
           <mo>=</mo>
           <mrow>
             <munder>
-              <mo>lim</mo>
+              <mi>lim</mi>
+              <mo>&#8289;</mo>
               <mrow>
                 <mi>x</mi>
                 <mo>=</mo>
@@ -13191,7 +13201,7 @@
             <mrow>
               <mrow>
                 <mi>f</mi>
-                <mi>&#8289;</mi>
+                <mo>&#8289;</mo>
                 <mrow>
                   <mo stretchy="false" form="prefix">(</mo>
                   <mi>x</mi>
@@ -13208,7 +13218,8 @@
           <mo>=</mo>
           <mrow>
             <munder>
-              <mo>lim</mo>
+              <mi>lim</mi>
+              <mo>&#8289;</mo>
               <mrow>
                 <mrow>
                   <mo>∥</mo>
@@ -13232,7 +13243,7 @@
               <mrow>
                 <mrow>
                   <mi>f</mi>
-                  <mi>&#8289;</mi>
+                  <mo>&#8289;</mo>
                   <mrow>
                     <mo stretchy="true" form="prefix">(</mo>
                     <msub>
@@ -13247,7 +13258,7 @@
                 </mrow>
                 <mi>&#8290;</mi>
                 <mrow>
-                  <mo>Δ</mo>
+                  <mo mathvariant="normal">Δ</mo>
                   <msub>
                     <mi>x</mi>
                     <mi>i</mi>
@@ -13272,7 +13283,7 @@
             <mrow>
               <mrow>
                 <mi>f</mi>
-                <mi>&#8289;</mi>
+                <mo>&#8289;</mo>
                 <mrow>
                   <mo stretchy="false" form="prefix">(</mo>
                   <mi>x</mi>
@@ -13289,7 +13300,8 @@
           <mo>=</mo>
           <mrow>
             <munder>
-              <mo>lim</mo>
+              <mi>lim</mi>
+              <mo>&#8289;</mo>
               <mrow>
                 <mi>n</mi>
                 <mo>→</mo>
@@ -13318,7 +13330,7 @@
                 </munderover>
                 <mrow>
                   <mi>f</mi>
-                  <mi>&#8289;</mi>
+                  <mo>&#8289;</mo>
                   <mrow>
                     <mo stretchy="true" form="prefix">(</mo>
                     <mrow>
@@ -13494,12 +13506,12 @@
             <mrow>
               <mrow>
                 <mi>f</mi>
-                <mi>&#8289;</mi>
+                <mo>&#8289;</mo>
                 <mrow>
                   <mo stretchy="false" form="prefix">(</mo>
                   <mrow>
                     <mi>g</mi>
-                    <mi>&#8289;</mi>
+                    <mo>&#8289;</mo>
                     <mrow>
                       <mo stretchy="false" form="prefix">(</mo>
                       <mi>x</mi>
@@ -13515,7 +13527,7 @@
                   <mi>g</mi>
                   <mi>′</mi>
                 </msup>
-                <mi>&#8289;</mi>
+                <mo>&#8289;</mo>
                 <mrow>
                   <mo stretchy="false" form="prefix">(</mo>
                   <mi>x</mi>
@@ -13535,7 +13547,7 @@
             <mrow>
               <mrow>
                 <mi>f</mi>
-                <mi>&#8289;</mi>
+                <mo>&#8289;</mo>
                 <mrow>
                   <mo stretchy="false" form="prefix">(</mo>
                   <mi>u</mi>
@@ -13595,7 +13607,8 @@
         <mrow>
           <mrow>
             <munder>
-              <mo>lim</mo>
+              <mi>lim</mi>
+              <mo>&#8289;</mo>
               <mrow>
                 <mi>x</mi>
                 <mo>→</mo>
@@ -13603,8 +13616,8 @@
               </mrow>
             </munder>
             <mrow>
-              <mo>sin</mo>
-              <mi>&#8289;</mi>
+              <mi>sin</mi>
+              <mo>&#8289;</mo>
               <mrow>
                 <mo stretchy="true" form="prefix">(</mo>
                 <mfrac>
@@ -13633,7 +13646,7 @@
         <mrow>
           <mrow>
             <mi>h</mi>
-            <mi>&#8289;</mi>
+            <mo>&#8289;</mo>
             <mrow>
               <mo stretchy="false" form="prefix">(</mo>
               <mrow>
@@ -13659,7 +13672,7 @@
               <mi>&#8290;</mi>
               <mrow>
                 <mi>g</mi>
-                <mi>&#8289;</mi>
+                <mo>&#8289;</mo>
                 <mrow>
                   <mo stretchy="false" form="prefix">(</mo>
                   <mi>i</mi>
@@ -13681,12 +13694,12 @@
               <mi>&#8290;</mi>
               <mrow>
                 <mi>f</mi>
-                <mi>&#8289;</mi>
+                <mo>&#8289;</mo>
                 <mrow>
                   <mo stretchy="false" form="prefix">(</mo>
                   <mrow>
                     <mi>g</mi>
-                    <mi>&#8289;</mi>
+                    <mo>&#8289;</mo>
                     <mrow>
                       <mo stretchy="false" form="prefix">(</mo>
                       <mi>i</mi>
@@ -13769,7 +13782,7 @@
               <mrow>
                 <mrow>
                   <mi>h</mi>
-                  <mi>&#8289;</mi>
+                  <mo>&#8289;</mo>
                   <mrow>
                     <mo stretchy="true" form="prefix">(</mo>
                     <mi>x</mi>
@@ -13779,7 +13792,7 @@
                 <mi>&#8290;</mi>
                 <mrow>
                   <mi>h</mi>
-                  <mi>&#8289;</mi>
+                  <mo>&#8289;</mo>
                   <mrow>
                     <mo stretchy="true" form="prefix">(</mo>
                     <mi>y</mi>
@@ -13815,14 +13828,15 @@
             <mrow>
               <mo stretchy="true" form="prefix">(</mo>
               <mrow>
-                <mo>max</mo>
+                <mi>max</mi>
+                <mo>&#8289;</mo>
                 <mrow>
                   <mo stretchy="true" form="prefix">{</mo>
                   <mrow>
                     <mrow>
                       <mrow>
                         <mi>f</mi>
-                        <mi>&#8289;</mi>
+                        <mo>&#8289;</mo>
                         <mrow>
                           <mo stretchy="true" form="prefix">(</mo>
                           <mi>x</mi>
@@ -13832,7 +13846,7 @@
                       <mo>+</mo>
                       <mrow>
                         <mi>f</mi>
-                        <mi>&#8289;</mi>
+                        <mo>&#8289;</mo>
                         <mrow>
                           <mo stretchy="true" form="prefix">(</mo>
                           <mi>y</mi>
@@ -13866,13 +13880,13 @@
           <mo>=</mo>
           <mrow>
             <mi>η</mi>
-            <mi>&#8289;</mi>
+            <mo>&#8289;</mo>
             <mrow>
               <mo stretchy="true" form="prefix">(</mo>
               <mrow>
                 <mrow>
                   <mi>η</mi>
-                  <mi>&#8289;</mi>
+                  <mo>&#8289;</mo>
                   <mrow>
                     <mo stretchy="true" form="prefix">(</mo>
                     <mi>x</mi>
@@ -13882,7 +13896,7 @@
                 <mo>△</mo>
                 <mrow>
                   <mi>η</mi>
-                  <mi>&#8289;</mi>
+                  <mo>&#8289;</mo>
                   <mrow>
                     <mo stretchy="true" form="prefix">(</mo>
                     <mi>y</mi>
@@ -13968,7 +13982,8 @@
         <mrow>
           <mrow>
             <munder>
-              <mo>lim</mo>
+              <mi>lim</mi>
+              <mo>&#8289;</mo>
               <mrow>
                 <mi>a</mi>
                 <mo>→</mo>
@@ -13980,10 +13995,11 @@
             </munder>
             <mrow>
               <msub>
-                <mo>log</mo>
+                <mi>log</mi>
+                <mo>&#8289;</mo>
                 <mi>a</mi>
               </msub>
-              <mi>&#8289;</mi>
+              <mo>&#8289;</mo>
               <mrow>
                 <mo stretchy="true" form="prefix">[</mo>
                 <mrow>
@@ -14031,7 +14047,8 @@
           <mo>=</mo>
           <mrow>
             <munder>
-              <mo>lim</mo>
+              <mi>lim</mi>
+              <mo>&#8289;</mo>
               <mrow>
                 <mi>a</mi>
                 <mo>→</mo>
@@ -14043,10 +14060,11 @@
             </munder>
             <mrow>
               <msub>
-                <mo>log</mo>
+                <mi>log</mi>
+                <mo>&#8289;</mo>
                 <mi>a</mi>
               </msub>
-              <mi>&#8289;</mi>
+              <mo>&#8289;</mo>
               <mrow>
                 <mo stretchy="true" form="prefix">[</mo>
                 <mrow>
@@ -14106,7 +14124,7 @@
         <mrow>
           <mrow>
             <mi>g</mi>
-            <mi>&#8289;</mi>
+            <mo>&#8289;</mo>
             <mrow>
               <mo stretchy="false" form="prefix">(</mo>
               <mi>x</mi>
@@ -14115,8 +14133,8 @@
           </mrow>
           <mo>=</mo>
           <mrow>
-            <mo>exp</mo>
-            <mi>&#8289;</mi>
+            <mi>exp</mi>
+            <mo>&#8289;</mo>
             <mrow>
               <mo stretchy="true" form="prefix">(</mo>
               <mrow>
@@ -14178,7 +14196,8 @@
       <mtd columnalign="center" style="text-align: center">
         <mrow>
           <mrow>
-            <mo>Aut</mo>
+            <mi>Aut</mi>
+            <mo>&#8289;</mo>
             <mrow>
               <mo stretchy="false" form="prefix">(</mo>
               <mi>𝐈</mi>
@@ -14237,7 +14256,7 @@
                       <mrow>
                         <mrow>
                           <mi>f</mi>
-                          <mi>&#8289;</mi>
+                          <mo>&#8289;</mo>
                           <mrow>
                             <mo stretchy="true" form="prefix">(</mo>
                             <mi>x</mi>
@@ -14247,7 +14266,7 @@
                         <mo>≤</mo>
                         <mrow>
                           <mi>f</mi>
-                          <mi>&#8289;</mi>
+                          <mo>&#8289;</mo>
                           <mrow>
                             <mo stretchy="true" form="prefix">(</mo>
                             <mi>y</mi>
@@ -14291,8 +14310,8 @@
           <mtext mathvariant="normal">  </mtext>
           <mrow>
             <mrow>
-              <mo>tan</mo>
-              <mi>&#8289;</mi>
+              <mi>tan</mi>
+              <mo>&#8289;</mo>
               <mi>θ</mi>
             </mrow>
             <mo>=</mo>
@@ -14338,8 +14357,8 @@
                   <mn>2</mn>
                   <mo>+</mo>
                   <mrow>
-                    <mo>sin</mo>
-                    <mi>&#8289;</mi>
+                    <mi>sin</mi>
+                    <mo>&#8289;</mo>
                     <mi>t</mi>
                   </mrow>
                 </mrow>
@@ -14349,8 +14368,8 @@
               <mn>10</mn>
               <mi>&#8290;</mi>
               <mrow>
-                <mo>cos</mo>
-                <mi>&#8289;</mi>
+                <mi>cos</mi>
+                <mo>&#8289;</mo>
                 <mi>t</mi>
               </mrow>
             </mrow>
@@ -14362,8 +14381,8 @@
                   <mn>2</mn>
                   <mo>+</mo>
                   <mrow>
-                    <mo>cos</mo>
-                    <mi>&#8289;</mi>
+                    <mi>cos</mi>
+                    <mo>&#8289;</mo>
                     <mi>t</mi>
                   </mrow>
                 </mrow>
@@ -14373,8 +14392,8 @@
               <mn>10</mn>
               <mi>&#8290;</mi>
               <mrow>
-                <mo>sin</mo>
-                <mi>&#8289;</mi>
+                <mi>sin</mi>
+                <mo>&#8289;</mo>
                 <mi>t</mi>
               </mrow>
             </mrow>
@@ -14383,8 +14402,8 @@
               <mn>3</mn>
               <mi>&#8290;</mi>
               <mrow>
-                <mo>sin</mo>
-                <mi>&#8289;</mi>
+                <mi>sin</mi>
+                <mo>&#8289;</mo>
                 <mrow>
                   <mn>3</mn>
                   <mi>&#8290;</mi>
@@ -14854,7 +14873,7 @@
                 <mi>x</mi>
               </mrow>
             </mfrac>
-            <mi>&#8289;</mi>
+            <mo>&#8289;</mo>
             <mrow>
               <mo stretchy="false" form="prefix">(</mo>
               <msub>
@@ -14969,7 +14988,8 @@
     <mtr>
       <mtd columnalign="center" style="text-align: center">
         <mrow>
-          <mo>mod</mo>
+          <mi>mod</mi>
+          <mo>&#8289;</mo>
           <mi>a</mi>
         </mrow>
       </mtd>
@@ -14980,7 +15000,8 @@
         <mrow>
           <mrow>
             <mn>5</mn>
-            <mo>mod</mo>
+            <mi>mod</mi>
+            <mo>&#8289;</mo>
             <mn>3</mn>
           </mrow>
           <mo>=</mo>
@@ -14995,14 +15016,15 @@
           <mrow>
             <mrow>
               <mi>f</mi>
-              <mi>&#8289;</mi>
+              <mo>&#8289;</mo>
               <mrow>
                 <mo stretchy="false" form="prefix">(</mo>
                 <mn>0</mn>
                 <mo stretchy="false" form="postfix">)</mo>
               </mrow>
             </mrow>
-            <mo>mod</mo>
+            <mi>mod</mi>
+            <mo>&#8289;</mo>
             <mn>3</mn>
           </mrow>
           <mo>=</mo>
@@ -15031,7 +15053,8 @@
           <mrow>
             <mo stretchy="true" form="prefix">(</mo>
             <mrow>
-              <mo>mod</mo>
+              <mi>mod</mi>
+              <mo>&#8289;</mo>
               <mn>13</mn>
             </mrow>
             <mo stretchy="true" form="postfix">)</mo>
@@ -15059,7 +15082,8 @@
               <mi>/</mi>
               <mn>5</mn>
             </mrow>
-            <mo>mod</mo>
+            <mi>mod</mi>
+            <mo>&#8289;</mo>
             <mn>7</mn>
           </mrow>
           <mo>=</mo>
@@ -15106,7 +15130,8 @@
                 <mo stretchy="true" form="postfix">)</mo>
               </mrow>
             </mrow>
-            <mo>mod</mo>
+            <mi>mod</mi>
+            <mo>&#8289;</mo>
             <mn>3</mn>
           </mrow>
           <mo>=</mo>
@@ -15180,7 +15205,7 @@
           </mfrac>
           <mrow>
             <mi>F</mi>
-            <mi>&#8289;</mi>
+            <mo>&#8289;</mo>
             <mrow>
               <mo stretchy="false" form="prefix">(</mo>
               <mi>x</mi>
@@ -15212,7 +15237,7 @@
         <mrow>
           <mrow>
             <mi>BinomialDist</mi>
-            <mi>&#8289;</mi>
+            <mo>&#8289;</mo>
             <mrow>
               <mo stretchy="false" form="prefix">(</mo>
               <mrow>
@@ -15271,7 +15296,8 @@
       <mtd columnalign="center" style="text-align: center">
         <mrow>
           <mrow>
-            <mo>Pr</mo>
+            <mi>Pr</mi>
+            <mo>&#8289;</mo>
             <mrow>
               <mo stretchy="false" form="prefix">(</mo>
               <mrow>
@@ -15285,7 +15311,7 @@
           <mo>=</mo>
           <mrow>
             <mi>BinomialDist</mi>
-            <mi>&#8289;</mi>
+            <mo>&#8289;</mo>
             <mrow>
               <mo stretchy="false" form="prefix">(</mo>
               <mrow>
@@ -15313,7 +15339,8 @@
             <mi>k</mi>
             <mo>=</mo>
             <mrow>
-              <mo>max</mo>
+              <mi>max</mi>
+              <mo>&#8289;</mo>
               <mrow>
                 <mo stretchy="true" form="prefix">{</mo>
                 <mrow>
@@ -15330,7 +15357,7 @@
                           <mi>y</mi>
                         </mrow>
                       </mfrac>
-                      <mi>&#8289;</mi>
+                      <mo>&#8289;</mo>
                       <mrow>
                         <mo stretchy="false" form="prefix">(</mo>
                         <mrow>
@@ -15374,7 +15401,8 @@
           <mo>=</mo>
           <mrow>
             <munder>
-              <mo>lim</mo>
+              <mi>lim</mi>
+              <mo>&#8289;</mo>
               <mrow>
                 <mi>x</mi>
                 <mover>
@@ -15388,7 +15416,7 @@
               <mrow>
                 <mrow>
                   <mi>f</mi>
-                  <mi>&#8289;</mi>
+                  <mo>&#8289;</mo>
                   <mrow>
                     <mo stretchy="false" form="prefix">(</mo>
                     <mi>x</mi>
@@ -15398,7 +15426,7 @@
                 <mo>−</mo>
                 <mrow>
                   <mi>f</mi>
-                  <mi>&#8289;</mi>
+                  <mo>&#8289;</mo>
                   <mrow>
                     <mo stretchy="false" form="prefix">(</mo>
                     <mi>a</mi>
@@ -15765,7 +15793,7 @@
           <mrow>
             <mrow>
               <mi>f</mi>
-              <mi>&#8289;</mi>
+              <mo>&#8289;</mo>
               <mrow>
                 <mo stretchy="false" form="prefix">(</mo>
                 <mi>x</mi>
@@ -16254,7 +16282,7 @@
         <mrow>
           <mrow>
             <mi>f</mi>
-            <mi>&#8289;</mi>
+            <mo>&#8289;</mo>
             <mrow>
               <mo stretchy="false" form="prefix">(</mo>
               <mi>x</mi>
@@ -16269,8 +16297,8 @@
                 <mn>13</mn>
                 <mi>&#8290;</mi>
                 <mrow>
-                  <mo>cos</mo>
-                  <mi>&#8289;</mi>
+                  <mi>cos</mi>
+                  <mo>&#8289;</mo>
                   <mi>x</mi>
                 </mrow>
               </mrow>
@@ -16292,10 +16320,11 @@
                       <mn>9</mn>
                       <mrow>
                         <msup>
-                          <mo>cos</mo>
+                          <mi>cos</mi>
+                          <mo>&#8289;</mo>
                           <mn>2</mn>
                         </msup>
-                        <mi>&#8289;</mi>
+                        <mo>&#8289;</mo>
                         <mi>x</mi>
                       </mrow>
                     </mfrac>
@@ -16304,15 +16333,15 @@
                       <mfrac>
                         <mn>60</mn>
                         <mrow>
-                          <mo>cos</mo>
-                          <mi>&#8289;</mi>
+                          <mi>cos</mi>
+                          <mo>&#8289;</mo>
                           <mi>x</mi>
                         </mrow>
                       </mfrac>
                       <mi>&#8290;</mi>
                       <mrow>
-                        <mo>sin</mo>
-                        <mi>&#8289;</mi>
+                        <mi>sin</mi>
+                        <mo>&#8289;</mo>
                         <mrow>
                           <mo stretchy="true" form="prefix">(</mo>
                           <mrow>
@@ -16349,8 +16378,8 @@
               <mo stretchy="true" form="prefix">∫</mo>
               <mrow>
                 <mrow>
-                  <mo>cos</mo>
-                  <mi>&#8289;</mi>
+                  <mi>cos</mi>
+                  <mo>&#8289;</mo>
                   <mrow>
                     <mo stretchy="false" form="prefix">(</mo>
                     <mrow>
@@ -16363,8 +16392,8 @@
                 </mrow>
                 <mi>&#8290;</mi>
                 <mrow>
-                  <mo>sin</mo>
-                  <mi>&#8289;</mi>
+                  <mi>sin</mi>
+                  <mo>&#8289;</mo>
                   <mrow>
                     <mo stretchy="false" form="prefix">(</mo>
                     <mrow>
@@ -16388,8 +16417,8 @@
                 <mrow>
                   <mo>−</mo>
                   <mrow>
-                    <mo>cos</mo>
-                    <mi>&#8289;</mi>
+                    <mi>cos</mi>
+                    <mo>&#8289;</mo>
                     <mrow>
                       <mrow>
                         <mo stretchy="false" form="prefix">(</mo>
@@ -16424,8 +16453,8 @@
                 <mrow>
                   <mo>−</mo>
                   <mrow>
-                    <mo>cos</mo>
-                    <mi>&#8289;</mi>
+                    <mi>cos</mi>
+                    <mo>&#8289;</mo>
                     <mrow>
                       <mrow>
                         <mo stretchy="false" form="prefix">(</mo>
@@ -16483,7 +16512,8 @@
         <mrow>
           <mrow>
             <munder>
-              <mo>max</mo>
+              <mi>max</mi>
+              <mo>&#8289;</mo>
               <mrow>
                 <mrow>
                   <mo>−</mo>
@@ -16583,8 +16613,8 @@
                 <mi>n</mi>
               </msup>
               <mrow>
-                <mo>sin</mo>
-                <mi>&#8289;</mi>
+                <mi>sin</mi>
+                <mo>&#8289;</mo>
                 <mi>x</mi>
               </mrow>
             </mrow>
@@ -16613,7 +16643,7 @@
             </mfrac>
             <mrow>
               <mi>f</mi>
-              <mi>&#8289;</mi>
+              <mo>&#8289;</mo>
               <mrow>
                 <mo stretchy="false" form="prefix">(</mo>
                 <mi>x</mi>
@@ -16666,7 +16696,7 @@
         <mrow>
           <mrow>
             <mi>f</mi>
-            <mi>&#8289;</mi>
+            <mo>&#8289;</mo>
             <mrow>
               <mo stretchy="false" form="prefix">(</mo>
               <mi>x</mi>
@@ -16681,8 +16711,8 @@
                 <mn>13</mn>
                 <mi>&#8290;</mi>
                 <mrow>
-                  <mo>cos</mo>
-                  <mi>&#8289;</mi>
+                  <mi>cos</mi>
+                  <mo>&#8289;</mo>
                   <mi>x</mi>
                 </mrow>
               </mrow>
@@ -16704,10 +16734,11 @@
                       <mn>9</mn>
                       <mrow>
                         <msup>
-                          <mo>cos</mo>
+                          <mi>cos</mi>
+                          <mo>&#8289;</mo>
                           <mn>2</mn>
                         </msup>
-                        <mi>&#8289;</mi>
+                        <mo>&#8289;</mo>
                         <mi>x</mi>
                       </mrow>
                     </mfrac>
@@ -16716,15 +16747,15 @@
                       <mfrac>
                         <mn>60</mn>
                         <mrow>
-                          <mo>cos</mo>
-                          <mi>&#8289;</mi>
+                          <mi>cos</mi>
+                          <mo>&#8289;</mo>
                           <mi>x</mi>
                         </mrow>
                       </mfrac>
                       <mi>&#8290;</mi>
                       <mrow>
-                        <mo>sin</mo>
-                        <mi>&#8289;</mi>
+                        <mi>sin</mi>
+                        <mo>&#8289;</mo>
                         <mrow>
                           <mo stretchy="true" form="prefix">(</mo>
                           <mrow>
@@ -16838,7 +16869,8 @@
             <mrow>
               <mo stretchy="true" form="prefix">(</mo>
               <mrow>
-                <mo>∇×</mo>
+                <mi>∇×</mi>
+                <mo>&#8289;</mo>
                 <mi>𝐅</mi>
               </mrow>
               <mo stretchy="true" form="postfix">)</mo>
@@ -17049,8 +17081,8 @@
                   </mtd>
                   <mtd columnalign="center" style="text-align: center">
                     <mrow>
-                      <mo>sin</mo>
-                      <mi>&#8289;</mi>
+                      <mi>sin</mi>
+                      <mo>&#8289;</mo>
                       <mi>θ</mi>
                     </mrow>
                   </mtd>
@@ -17250,8 +17282,8 @@
             <mtr>
               <mtd columnalign="center" style="text-align: center">
                 <mrow>
-                  <mo>sin</mo>
-                  <mi>&#8289;</mi>
+                  <mi>sin</mi>
+                  <mo>&#8289;</mo>
                   <mi>θ</mi>
                 </mrow>
               </mtd>
@@ -17339,12 +17371,12 @@
         <mrow>
           <mrow>
             <mi>f</mi>
-            <mi>&#8289;</mi>
+            <mo>&#8289;</mo>
             <mrow>
               <mo stretchy="false" form="prefix">(</mo>
               <mrow>
                 <mi>g</mi>
-                <mi>&#8289;</mi>
+                <mo>&#8289;</mo>
                 <mrow>
                   <mo stretchy="false" form="prefix">(</mo>
                   <mi>x</mi>
@@ -17358,10 +17390,11 @@
           <mrow>
             <mrow>
               <msup>
-                <mo>sin</mo>
+                <mi>sin</mi>
+                <mo>&#8289;</mo>
                 <mn>3</mn>
               </msup>
-              <mi>&#8289;</mi>
+              <mo>&#8289;</mo>
               <msup>
                 <mi>x</mi>
                 <mn>2</mn>
@@ -17370,8 +17403,8 @@
             <mo>+</mo>
             <mrow>
               <mrow>
-                <mo>sin</mo>
-                <mi>&#8289;</mi>
+                <mi>sin</mi>
+                <mo>&#8289;</mo>
                 <msup>
                   <mi>x</mi>
                   <mn>2</mn>
@@ -17379,13 +17412,13 @@
               </mrow>
               <mi>&#8290;</mi>
               <mrow>
-                <mo>sin</mo>
-                <mi>&#8289;</mi>
+                <mi>sin</mi>
+                <mo>&#8289;</mo>
                 <mrow>
                   <mo stretchy="true" form="prefix">(</mo>
                   <mrow>
-                    <mo>sin</mo>
-                    <mi>&#8289;</mi>
+                    <mi>sin</mi>
+                    <mo>&#8289;</mo>
                     <msup>
                       <mi>x</mi>
                       <mn>2</mn>
@@ -18121,7 +18154,7 @@
             <mtd columnalign="center" style="text-align: center">
               <mrow>
                 <mi>V</mi>
-                <mi>&#8289;</mi>
+                <mo>&#8289;</mo>
                 <mrow>
                   <mo stretchy="false" form="prefix">(</mo>
                   <mrow>
@@ -18141,7 +18174,7 @@
             <mtd columnalign="center" style="text-align: center">
               <mrow>
                 <mi>F</mi>
-                <mi>&#8289;</mi>
+                <mo>&#8289;</mo>
                 <mrow>
                   <mo stretchy="false" form="prefix">(</mo>
                   <mrow>
@@ -18189,13 +18222,14 @@
               <mo stretchy="false" form="prefix">(</mo>
               <mrow>
                 <msup>
-                  <mo>csc</mo>
+                  <mi>csc</mi>
+                  <mo>&#8289;</mo>
                   <mrow>
                     <mo>−</mo>
                     <mn>1</mn>
                   </mrow>
                 </msup>
-                <mi>&#8289;</mi>
+                <mo>&#8289;</mo>
                 <mi>x</mi>
               </mrow>
               <mo stretchy="false" form="postfix">)</mo>
@@ -18236,13 +18270,14 @@
           <mrow>
             <mrow>
               <msup>
-                <mo>tanh</mo>
+                <mi>tanh</mi>
+                <mo>&#8289;</mo>
                 <mrow>
                   <mo>−</mo>
                   <mn>1</mn>
                 </mrow>
               </msup>
-              <mi>&#8289;</mi>
+              <mo>&#8289;</mo>
               <mi>x</mi>
             </mrow>
             <mo>=</mo>
@@ -18253,8 +18288,8 @@
               </mfrac>
               <mi>&#8290;</mi>
               <mrow>
-                <mo>ln</mo>
-                <mi>&#8289;</mi>
+                <mi>ln</mi>
+                <mo>&#8289;</mo>
                 <mrow>
                   <mo stretchy="true" form="prefix">(</mo>
                   <mfrac>
@@ -18656,9 +18691,11 @@
       <mtd columnalign="center" style="text-align: center">
         <mrow>
           <mi>x</mi>
-          <mo>≰⃥</mo>
+          <mi>≰⃥</mi>
+          <mo>&#8289;</mo>
           <mi>y</mi>
-          <mo>≰⃥</mo>
+          <mi>≰⃥</mi>
+          <mo>&#8289;</mo>
           <mi>z</mi>
         </mrow>
       </mtd>
@@ -18668,7 +18705,8 @@
       <mtd columnalign="center" style="text-align: center">
         <mrow>
           <mover>
-            <mo>lim</mo>
+            <mi>lim</mi>
+            <mo>&#8289;</mo>
             <mo accent="true">¯</mo>
           </mover>
           <mi>x</mi>
@@ -18680,7 +18718,8 @@
       <mtd columnalign="center" style="text-align: center">
         <mrow>
           <munder>
-            <mo>lim</mo>
+            <mi>lim</mi>
+            <mo>&#8289;</mo>
             <mo accent="true">̲</mo>
           </munder>
           <mi>x</mi>
@@ -18692,7 +18731,8 @@
       <mtd columnalign="center" style="text-align: center">
         <mrow>
           <munder>
-            <mo>lim</mo>
+            <mi>lim</mi>
+            <mo>&#8289;</mo>
             <mo accent="true">→</mo>
           </munder>
           <mi>x</mi>
@@ -18704,7 +18744,8 @@
       <mtd columnalign="center" style="text-align: center">
         <mrow>
           <munder>
-            <mo>lim</mo>
+            <mi>lim</mi>
+            <mo>&#8289;</mo>
             <mo accent="true">←</mo>
           </munder>
           <mi>x</mi>
@@ -19552,8 +19593,8 @@
           <mo stretchy="true" form="prefix">(</mo>
           <mfrac>
             <mrow>
-              <mo>sin</mo>
-              <mi>&#8289;</mi>
+              <mi>sin</mi>
+              <mo>&#8289;</mo>
               <mi>θ</mi>
             </mrow>
             <mi>M</mi>
@@ -19569,8 +19610,8 @@
           <mo stretchy="true" form="prefix">(</mo>
           <mfrac>
             <mrow>
-              <mo>sin</mo>
-              <mi>&#8289;</mi>
+              <mi>sin</mi>
+              <mo>&#8289;</mo>
               <mi>θ</mi>
             </mrow>
             <mi>M</mi>
@@ -19586,8 +19627,8 @@
           <mo stretchy="true" form="prefix">(</mo>
           <mfrac>
             <mrow>
-              <mo>sin</mo>
-              <mi>&#8289;</mi>
+              <mi>sin</mi>
+              <mo>&#8289;</mo>
               <mi>θ</mi>
             </mrow>
             <mi>M</mi>
@@ -19603,8 +19644,8 @@
           <mo stretchy="true" form="prefix">(</mo>
           <mfrac>
             <mrow>
-              <mo>sin</mo>
-              <mi>&#8289;</mi>
+              <mi>sin</mi>
+              <mo>&#8289;</mo>
               <mi>θ</mi>
             </mrow>
             <mi>M</mi>
@@ -19620,8 +19661,8 @@
           <mo stretchy="true" form="prefix">(</mo>
           <mfrac>
             <mrow>
-              <mo>sin</mo>
-              <mi>&#8289;</mi>
+              <mi>sin</mi>
+              <mo>&#8289;</mo>
               <mi>θ</mi>
             </mrow>
             <mi>M</mi>
@@ -19637,8 +19678,8 @@
           <mo stretchy="true" form="prefix">(</mo>
           <mfrac>
             <mrow>
-              <mo>sin</mo>
-              <mi>&#8289;</mi>
+              <mi>sin</mi>
+              <mo>&#8289;</mo>
               <mi>θ</mi>
             </mrow>
             <mi>M</mi>
@@ -19654,8 +19695,8 @@
           <mo stretchy="true" form="prefix">(</mo>
           <mfrac>
             <mrow>
-              <mo>sin</mo>
-              <mi>&#8289;</mi>
+              <mi>sin</mi>
+              <mo>&#8289;</mo>
               <mi>θ</mi>
             </mrow>
             <mi>M</mi>
@@ -19671,8 +19712,8 @@
           <mo stretchy="true" form="prefix">(</mo>
           <mfrac>
             <mrow>
-              <mo>sin</mo>
-              <mi>&#8289;</mi>
+              <mi>sin</mi>
+              <mo>&#8289;</mo>
               <mi>θ</mi>
             </mrow>
             <mi>M</mi>
@@ -19688,8 +19729,8 @@
           <mo stretchy="true" form="prefix">(</mo>
           <mfrac>
             <mrow>
-              <mo>sin</mo>
-              <mi>&#8289;</mi>
+              <mi>sin</mi>
+              <mo>&#8289;</mo>
               <mi>θ</mi>
             </mrow>
             <mi>M</mi>
@@ -19703,8 +19744,8 @@
       <mtd columnalign="center" style="text-align: center">
         <mfrac>
           <mrow>
-            <mo>sin</mo>
-            <mi>&#8289;</mi>
+            <mi>sin</mi>
+            <mo>&#8289;</mo>
             <mi>θ</mi>
           </mrow>
           <mi>M</mi>
@@ -19716,8 +19757,8 @@
       <mtd columnalign="center" style="text-align: center">
         <mfrac>
           <mrow>
-            <mo>sin</mo>
-            <mi>&#8289;</mi>
+            <mi>sin</mi>
+            <mo>&#8289;</mo>
             <mi>θ</mi>
           </mrow>
           <mi>M</mi>
@@ -19729,8 +19770,8 @@
       <mtd columnalign="center" style="text-align: center">
         <mfrac>
           <mrow>
-            <mo>sin</mo>
-            <mi>&#8289;</mi>
+            <mi>sin</mi>
+            <mo>&#8289;</mo>
             <mi>θ</mi>
           </mrow>
           <mi>M</mi>
@@ -19742,8 +19783,8 @@
       <mtd columnalign="center" style="text-align: center">
         <mfrac>
           <mrow>
-            <mo>sin</mo>
-            <mi>&#8289;</mi>
+            <mi>sin</mi>
+            <mo>&#8289;</mo>
             <mi>θ</mi>
           </mrow>
           <mi>M</mi>
@@ -19755,8 +19796,8 @@
       <mtd columnalign="center" style="text-align: center">
         <mfrac>
           <mrow>
-            <mo>sin</mo>
-            <mi>&#8289;</mi>
+            <mi>sin</mi>
+            <mo>&#8289;</mo>
             <mi>θ</mi>
           </mrow>
           <mi>M</mi>
@@ -19768,8 +19809,8 @@
       <mtd columnalign="center" style="text-align: center">
         <mfrac>
           <mrow>
-            <mo>sin</mo>
-            <mi>&#8289;</mi>
+            <mi>sin</mi>
+            <mo>&#8289;</mo>
             <mi>θ</mi>
           </mrow>
           <mi>M</mi>
@@ -19781,8 +19822,8 @@
       <mtd columnalign="center" style="text-align: center">
         <mfrac>
           <mrow>
-            <mo>sin</mo>
-            <mi>&#8289;</mi>
+            <mi>sin</mi>
+            <mo>&#8289;</mo>
             <mi>θ</mi>
           </mrow>
           <mi>M</mi>
@@ -19794,8 +19835,8 @@
       <mtd columnalign="center" style="text-align: center">
         <mfrac>
           <mrow>
-            <mo>sin</mo>
-            <mi>&#8289;</mi>
+            <mi>sin</mi>
+            <mo>&#8289;</mo>
             <mi>θ</mi>
           </mrow>
           <mi>M</mi>
@@ -19807,8 +19848,8 @@
       <mtd columnalign="center" style="text-align: center">
         <mfrac>
           <mrow>
-            <mo>sin</mo>
-            <mi>&#8289;</mi>
+            <mi>sin</mi>
+            <mo>&#8289;</mo>
             <mi>θ</mi>
           </mrow>
           <mi>M</mi>
diff --git a/test/writer/mml/d.test b/test/writer/mml/d.test
--- a/test/writer/mml/d.test
+++ b/test/writer/mml/d.test
@@ -406,7 +406,7 @@
         <mtext mathvariant="normal">Delta</mtext>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>Δ</mo>
+        <mo mathvariant="normal">Δ</mo>
       </mtd>
     </mtr>
     <mtr>
diff --git a/test/writer/mml/emptyContent1.test b/test/writer/mml/emptyContent1.test
--- a/test/writer/mml/emptyContent1.test
+++ b/test/writer/mml/emptyContent1.test
@@ -5,6 +5,7 @@
 <math display="block" xmlns="http://www.w3.org/1998/Math/MathML">
   <msub>
     <mn></mn>
-    <mo></mo>
+    <mi></mi>
+    <mo>&#8289;</mo>
   </msub>
 </math>
diff --git a/test/writer/mml/f.test b/test/writer/mml/f.test
--- a/test/writer/mml/f.test
+++ b/test/writer/mml/f.test
@@ -157,7 +157,8 @@
         <mtext mathvariant="normal">fjlig</mtext>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>fj</mo>
+        <mi>fj</mi>
+        <mo>&#8289;</mo>
       </mtd>
     </mtr>
     <mtr>
diff --git a/test/writer/mml/g.test b/test/writer/mml/g.test
--- a/test/writer/mml/g.test
+++ b/test/writer/mml/g.test
@@ -117,7 +117,7 @@
         <mtext mathvariant="normal">Gamma</mtext>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>Γ</mo>
+        <mo mathvariant="normal">Γ</mo>
       </mtd>
     </mtr>
     <mtr>
@@ -317,7 +317,8 @@
         <mtext mathvariant="normal">gesl</mtext>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>⋛︀</mo>
+        <mi>⋛︀</mi>
+        <mo>&#8289;</mo>
       </mtd>
     </mtr>
     <mtr>
@@ -717,7 +718,8 @@
         <mtext mathvariant="normal">gvertneqq</mtext>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>≩︀</mo>
+        <mi>≩︀</mi>
+        <mo>&#8289;</mo>
       </mtd>
     </mtr>
     <mtr>
@@ -725,7 +727,8 @@
         <mtext mathvariant="normal">gvnE</mtext>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>≩︀</mo>
+        <mi>≩︀</mi>
+        <mo>&#8289;</mo>
       </mtd>
     </mtr>
   </mtable>
diff --git a/test/writer/mml/invChars.test b/test/writer/mml/invChars.test
--- a/test/writer/mml/invChars.test
+++ b/test/writer/mml/invChars.test
@@ -12,11 +12,12 @@
 <math display="block" xmlns="http://www.w3.org/1998/Math/MathML">
   <mrow>
     <mn></mn>
-    <mo></mo>
     <mi></mi>
+    <mo>&#8289;</mo>
+    <mi></mi>
     <mi>&#8290;</mi>
     <mn></mn>
-    <mi>&#8289;</mi>
+    <mo>&#8289;</mo>
     <mspace width="0.0em" />
   </mrow>
 </math>
diff --git a/test/writer/mml/l.test b/test/writer/mml/l.test
--- a/test/writer/mml/l.test
+++ b/test/writer/mml/l.test
@@ -364,7 +364,7 @@
         <mtext mathvariant="normal">Lambda</mtext>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>Λ</mo>
+        <mo mathvariant="normal">Λ</mo>
       </mtd>
     </mtr>
     <mtr>
@@ -548,7 +548,8 @@
         <mtext mathvariant="normal">lates</mtext>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>⪭︀</mo>
+        <mi>⪭︀</mi>
+        <mo>&#8289;</mo>
       </mtd>
     </mtr>
     <mtr>
@@ -1116,7 +1117,8 @@
         <mtext mathvariant="normal">lesg</mtext>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>⋚︀</mo>
+        <mi>⋚︀</mi>
+        <mo>&#8289;</mo>
       </mtd>
     </mtr>
     <mtr>
@@ -1964,7 +1966,8 @@
         <mtext mathvariant="normal">lvertneqq</mtext>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>≨︀</mo>
+        <mi>≨︀</mi>
+        <mo>&#8289;</mo>
       </mtd>
     </mtr>
     <mtr>
@@ -1972,7 +1975,8 @@
         <mtext mathvariant="normal">lvnE</mtext>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>≨︀</mo>
+        <mi>≨︀</mi>
+        <mo>&#8289;</mo>
       </mtd>
     </mtr>
   </mtable>
diff --git a/test/writer/mml/mfencedAempty.test b/test/writer/mml/mfencedAempty.test
--- a/test/writer/mml/mfencedAempty.test
+++ b/test/writer/mml/mfencedAempty.test
@@ -10,6 +10,7 @@
       <mi>x</mi>
       <mi>y</mi>
     </mrow>
-    <mo></mo>
+    <mi></mi>
+    <mo>&#8289;</mo>
   </mrow>
 </math>
diff --git a/test/writer/mml/mfracZcomp-01.test b/test/writer/mml/mfracZcomp-01.test
--- a/test/writer/mml/mfracZcomp-01.test
+++ b/test/writer/mml/mfracZcomp-01.test
@@ -15,8 +15,8 @@
     <mtext mathvariant="normal">Inline, auto, normal line </mtext>
     <mfrac>
       <mrow>
-        <mo>sin</mo>
-        <mi>&#8289;</mi>
+        <mi>sin</mi>
+        <mo>&#8289;</mo>
         <mi>θ</mi>
       </mrow>
       <mi>π</mi>
diff --git a/test/writer/mml/mfracZcomp-02.test b/test/writer/mml/mfracZcomp-02.test
--- a/test/writer/mml/mfracZcomp-02.test
+++ b/test/writer/mml/mfracZcomp-02.test
@@ -15,8 +15,8 @@
     <mtext mathvariant="normal">Inline, display style, normal line </mtext>
     <mfrac>
       <mrow>
-        <mo>ln</mo>
-        <mi>&#8289;</mi>
+        <mi>ln</mi>
+        <mo>&#8289;</mo>
         <mi>x</mi>
       </mrow>
       <mi>y</mi>
diff --git a/test/writer/mml/mfracZcomp-03.test b/test/writer/mml/mfracZcomp-03.test
--- a/test/writer/mml/mfracZcomp-03.test
+++ b/test/writer/mml/mfracZcomp-03.test
@@ -15,8 +15,8 @@
     <mtext mathvariant="normal">Inline, text style, normal line </mtext>
     <mfrac>
       <mrow>
-        <mo>tan</mo>
-        <mi>&#8289;</mi>
+        <mi>tan</mi>
+        <mo>&#8289;</mo>
         <mi>θ</mi>
       </mrow>
       <mn>67</mn>
diff --git a/test/writer/mml/mfracZcomp-12.test b/test/writer/mml/mfracZcomp-12.test
--- a/test/writer/mml/mfracZcomp-12.test
+++ b/test/writer/mml/mfracZcomp-12.test
@@ -21,8 +21,8 @@
       <mo stretchy="true" form="prefix">(</mo>
       <mfrac>
         <mrow>
-          <mo>log</mo>
-          <mi>&#8289;</mi>
+          <mi>log</mi>
+          <mo>&#8289;</mo>
           <mi>x</mi>
         </mrow>
         <mi>y</mi>
diff --git a/test/writer/mml/mfracZcomp-13.test b/test/writer/mml/mfracZcomp-13.test
--- a/test/writer/mml/mfracZcomp-13.test
+++ b/test/writer/mml/mfracZcomp-13.test
@@ -21,8 +21,8 @@
       <mo stretchy="true" form="prefix">|</mo>
       <mfrac>
         <mrow>
-          <mo>sin</mo>
-          <mi>&#8289;</mi>
+          <mi>sin</mi>
+          <mo>&#8289;</mo>
           <mi>θ</mi>
         </mrow>
         <mi>M</mi>
diff --git a/test/writer/mml/mfracZcomp-14.test b/test/writer/mml/mfracZcomp-14.test
--- a/test/writer/mml/mfracZcomp-14.test
+++ b/test/writer/mml/mfracZcomp-14.test
@@ -23,8 +23,8 @@
       <mo stretchy="true" form="infix">↑</mo>
       <mfrac>
         <mrow>
-          <mo>sin</mo>
-          <mi>&#8289;</mi>
+          <mi>sin</mi>
+          <mo>&#8289;</mo>
           <mi>θ</mi>
         </mrow>
         <mi>M</mi>
diff --git a/test/writer/mml/mfracZcomp-15.test b/test/writer/mml/mfracZcomp-15.test
--- a/test/writer/mml/mfracZcomp-15.test
+++ b/test/writer/mml/mfracZcomp-15.test
@@ -23,8 +23,8 @@
       <mo stretchy="true" form="infix">↓</mo>
       <mfrac>
         <mrow>
-          <mo>sin</mo>
-          <mi>&#8289;</mi>
+          <mi>sin</mi>
+          <mo>&#8289;</mo>
           <mi>θ</mi>
         </mrow>
         <mi>M</mi>
diff --git a/test/writer/mml/mfracZcomp-16.test b/test/writer/mml/mfracZcomp-16.test
--- a/test/writer/mml/mfracZcomp-16.test
+++ b/test/writer/mml/mfracZcomp-16.test
@@ -21,8 +21,8 @@
       <mo stretchy="true" form="prefix">⌊</mo>
       <mfrac>
         <mrow>
-          <mo>sin</mo>
-          <mi>&#8289;</mi>
+          <mi>sin</mi>
+          <mo>&#8289;</mo>
           <mi>θ</mi>
         </mrow>
         <mi>M</mi>
diff --git a/test/writer/mml/mfracZcomp-17.test b/test/writer/mml/mfracZcomp-17.test
--- a/test/writer/mml/mfracZcomp-17.test
+++ b/test/writer/mml/mfracZcomp-17.test
@@ -21,8 +21,8 @@
       <mo stretchy="true" form="prefix">⌈</mo>
       <mfrac>
         <mrow>
-          <mo>sin</mo>
-          <mi>&#8289;</mi>
+          <mi>sin</mi>
+          <mo>&#8289;</mo>
           <mi>θ</mi>
         </mrow>
         <mi>M</mi>
diff --git a/test/writer/mml/mfracZcomp-18.test b/test/writer/mml/mfracZcomp-18.test
--- a/test/writer/mml/mfracZcomp-18.test
+++ b/test/writer/mml/mfracZcomp-18.test
@@ -24,8 +24,8 @@
       <mo stretchy="true" form="infix">↕</mo>
       <mfrac>
         <mrow>
-          <mo>sin</mo>
-          <mi>&#8289;</mi>
+          <mi>sin</mi>
+          <mo>&#8289;</mo>
           <mi>θ</mi>
         </mrow>
         <mi>M</mi>
diff --git a/test/writer/mml/mfracZcomp-19.test b/test/writer/mml/mfracZcomp-19.test
--- a/test/writer/mml/mfracZcomp-19.test
+++ b/test/writer/mml/mfracZcomp-19.test
@@ -23,8 +23,8 @@
       <mo stretchy="true" form="infix">⇑</mo>
       <mfrac>
         <mrow>
-          <mo>sin</mo>
-          <mi>&#8289;</mi>
+          <mi>sin</mi>
+          <mo>&#8289;</mo>
           <mi>θ</mi>
         </mrow>
         <mi>M</mi>
diff --git a/test/writer/mml/mfracZcomp-20.test b/test/writer/mml/mfracZcomp-20.test
--- a/test/writer/mml/mfracZcomp-20.test
+++ b/test/writer/mml/mfracZcomp-20.test
@@ -25,8 +25,8 @@
       <mo stretchy="true" form="infix">⇓</mo>
       <mfrac>
         <mrow>
-          <mo>sin</mo>
-          <mi>&#8289;</mi>
+          <mi>sin</mi>
+          <mo>&#8289;</mo>
           <mi>θ</mi>
         </mrow>
         <mi>M</mi>
diff --git a/test/writer/mml/mfracZcomp-21.test b/test/writer/mml/mfracZcomp-21.test
--- a/test/writer/mml/mfracZcomp-21.test
+++ b/test/writer/mml/mfracZcomp-21.test
@@ -25,8 +25,8 @@
       <mo stretchy="true" form="infix">⇕</mo>
       <mfrac>
         <mrow>
-          <mo>sin</mo>
-          <mi>&#8289;</mi>
+          <mi>sin</mi>
+          <mo>&#8289;</mo>
           <mi>θ</mi>
         </mrow>
         <mi>M</mi>
diff --git a/test/writer/mml/mfracZcomp-24.test b/test/writer/mml/mfracZcomp-24.test
--- a/test/writer/mml/mfracZcomp-24.test
+++ b/test/writer/mml/mfracZcomp-24.test
@@ -55,8 +55,8 @@
               <mfrac>
                 <mrow>
                   <mrow>
-                    <mo>sin</mo>
-                    <mi>&#8289;</mi>
+                    <mi>sin</mi>
+                    <mo>&#8289;</mo>
                     <mi>θ</mi>
                   </mrow>
                   <mo>+</mo>
diff --git a/test/writer/mml/mfracZcomp-25.test b/test/writer/mml/mfracZcomp-25.test
--- a/test/writer/mml/mfracZcomp-25.test
+++ b/test/writer/mml/mfracZcomp-25.test
@@ -55,8 +55,8 @@
               <mfrac>
                 <mrow>
                   <mrow>
-                    <mo>sin</mo>
-                    <mi>&#8289;</mi>
+                    <mi>sin</mi>
+                    <mo>&#8289;</mo>
                     <mi>θ</mi>
                   </mrow>
                   <mo>+</mo>
diff --git a/test/writer/mml/mfracZcomp-30.test b/test/writer/mml/mfracZcomp-30.test
--- a/test/writer/mml/mfracZcomp-30.test
+++ b/test/writer/mml/mfracZcomp-30.test
@@ -58,7 +58,7 @@
   <mrow>
     <mrow>
       <mi>HypergeomDist</mi>
-      <mi>&#8289;</mi>
+      <mo>&#8289;</mo>
       <mrow>
         <mo stretchy="true" form="prefix">(</mo>
         <mrow>
diff --git a/test/writer/mml/mfracZcomp-31.test b/test/writer/mml/mfracZcomp-31.test
--- a/test/writer/mml/mfracZcomp-31.test
+++ b/test/writer/mml/mfracZcomp-31.test
@@ -58,7 +58,7 @@
     <mrow>
       <mrow>
         <mi>F</mi>
-        <mi>&#8289;</mi>
+        <mo>&#8289;</mo>
         <mrow>
           <mo stretchy="true" form="prefix">(</mo>
           <mrow>
diff --git a/test/writer/mml/mfracZcomp-33.test b/test/writer/mml/mfracZcomp-33.test
--- a/test/writer/mml/mfracZcomp-33.test
+++ b/test/writer/mml/mfracZcomp-33.test
@@ -73,7 +73,8 @@
           <mn>2</mn>
           <mi>i</mi>
           <mi> </mi>
-          <mo>cos</mo>
+          <mi>cos</mi>
+          <mo>&#8289;</mo>
           <mrow>
             <mo stretchy="true" form="prefix">(</mo>
             <mfrac>
diff --git a/test/writer/mml/mi2.test b/test/writer/mml/mi2.test
--- a/test/writer/mml/mi2.test
+++ b/test/writer/mml/mi2.test
@@ -4,8 +4,8 @@
 <?xml version='1.0' ?>
 <math display="block" xmlns="http://www.w3.org/1998/Math/MathML">
   <mrow>
-    <mo>sin</mo>
-    <mi>&#8289;</mi>
+    <mi>sin</mi>
+    <mo>&#8289;</mo>
     <mi>x</mi>
   </mrow>
 </math>
diff --git a/test/writer/mml/mi4.test b/test/writer/mml/mi4.test
--- a/test/writer/mml/mi4.test
+++ b/test/writer/mml/mi4.test
@@ -8,7 +8,7 @@
 <math display="block" xmlns="http://www.w3.org/1998/Math/MathML">
   <mrow>
     <mi>f</mi>
-    <mi>&#8289;</mi>
+    <mo>&#8289;</mo>
     <mrow>
       <mo stretchy="true" form="prefix">(</mo>
       <mi>x</mi>
diff --git a/test/writer/mml/miSfonts8.test b/test/writer/mml/miSfonts8.test
--- a/test/writer/mml/miSfonts8.test
+++ b/test/writer/mml/miSfonts8.test
@@ -23,7 +23,7 @@
     <mo>+</mo>
     <mi>f</mi>
     <mo>+</mo>
-    <mi>Γ</mi>
+    <mi mathvariant="normal">Γ</mi>
     <mo>+</mo>
     <mi>d</mi>
   </mrow>
diff --git a/test/writer/mml/mo6.test b/test/writer/mml/mo6.test
--- a/test/writer/mml/mo6.test
+++ b/test/writer/mml/mo6.test
@@ -18,18 +18,20 @@
 <?xml version='1.0' ?>
 <math display="block" xmlns="http://www.w3.org/1998/Math/MathML">
   <mrow>
-    <mo>there exists</mo>
+    <mi>there exists</mi>
+    <mo>&#8289;</mo>
     <mrow>
       <mrow>
         <mi>δ</mi>
         <mo>&gt;</mo>
         <mn>0</mn>
       </mrow>
-      <mo>such that</mo>
+      <mi>such that</mi>
+      <mo>&#8289;</mo>
       <mrow>
         <mrow>
           <mi>f</mi>
-          <mi>&#8289;</mi>
+          <mo>&#8289;</mo>
           <mrow>
             <mo stretchy="true" form="prefix">(</mo>
             <mi>x</mi>
diff --git a/test/writer/mml/n.test b/test/writer/mml/n.test
--- a/test/writer/mml/n.test
+++ b/test/writer/mml/n.test
@@ -405,7 +405,8 @@
         <mtext mathvariant="normal">nang</mtext>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>∠⃒</mo>
+        <mi>∠⃒</mi>
+        <mo>&#8289;</mo>
       </mtd>
     </mtr>
     <mtr>
@@ -421,7 +422,8 @@
         <mtext mathvariant="normal">napE</mtext>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>⩰̸</mo>
+        <mi>⩰̸</mi>
+        <mo>&#8289;</mo>
       </mtd>
     </mtr>
     <mtr>
@@ -429,7 +431,8 @@
         <mtext mathvariant="normal">napid</mtext>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>≋̸</mo>
+        <mi>≋̸</mi>
+        <mo>&#8289;</mo>
       </mtd>
     </mtr>
     <mtr>
@@ -549,7 +552,8 @@
         <mtext mathvariant="normal">ncongdot</mtext>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>⩭̸</mo>
+        <mi>⩭̸</mi>
+        <mo>&#8289;</mo>
       </mtd>
     </mtr>
     <mtr>
@@ -629,7 +633,8 @@
         <mtext mathvariant="normal">nedot</mtext>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>≐̸</mo>
+        <mi>≐̸</mi>
+        <mo>&#8289;</mo>
       </mtd>
     </mtr>
     <mtr>
@@ -709,7 +714,8 @@
         <mtext mathvariant="normal">NewLine</mtext>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo></mo>
+        <mi></mi>
+        <mo>&#8289;</mo>
       </mtd>
     </mtr>
     <mtr>
@@ -757,7 +763,8 @@
         <mtext mathvariant="normal">ngE</mtext>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>≧̸</mo>
+        <mi>≧̸</mi>
+        <mo>&#8289;</mo>
       </mtd>
     </mtr>
     <mtr>
@@ -773,7 +780,8 @@
         <mtext mathvariant="normal">ngeqq</mtext>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>≧̸</mo>
+        <mi>≧̸</mi>
+        <mo>&#8289;</mo>
       </mtd>
     </mtr>
     <mtr>
@@ -797,7 +805,8 @@
         <mtext mathvariant="normal">nGg</mtext>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>⋙̸</mo>
+        <mi>⋙̸</mi>
+        <mo>&#8289;</mo>
       </mtd>
     </mtr>
     <mtr>
@@ -821,7 +830,8 @@
         <mtext mathvariant="normal">nGt</mtext>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>≫⃒</mo>
+        <mi>≫⃒</mi>
+        <mo>&#8289;</mo>
       </mtd>
     </mtr>
     <mtr>
@@ -1029,7 +1039,8 @@
         <mtext mathvariant="normal">nLl</mtext>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>⋘̸</mo>
+        <mi>⋘̸</mi>
+        <mo>&#8289;</mo>
       </mtd>
     </mtr>
     <mtr>
@@ -1053,7 +1064,8 @@
         <mtext mathvariant="normal">nLt</mtext>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>≪⃒</mo>
+        <mi>≪⃒</mi>
+        <mo>&#8289;</mo>
       </mtd>
     </mtr>
     <mtr>
@@ -1213,7 +1225,8 @@
         <mtext mathvariant="normal">NotGreaterFullEqual</mtext>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>≧̸</mo>
+        <mi>≧̸</mi>
+        <mo>&#8289;</mo>
       </mtd>
     </mtr>
     <mtr>
@@ -1277,7 +1290,8 @@
         <mtext mathvariant="normal">notindot</mtext>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>⋵̸</mo>
+        <mi>⋵̸</mi>
+        <mo>&#8289;</mo>
       </mtd>
     </mtr>
     <mtr>
@@ -1285,7 +1299,8 @@
         <mtext mathvariant="normal">notinE</mtext>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>⋹̸</mo>
+        <mi>⋹̸</mi>
+        <mo>&#8289;</mo>
       </mtd>
     </mtr>
     <mtr>
@@ -1645,7 +1660,8 @@
         <mtext mathvariant="normal">nparsl</mtext>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>⫽⃥</mo>
+        <mi>⫽⃥</mi>
+        <mo>&#8289;</mo>
       </mtd>
     </mtr>
     <mtr>
@@ -1653,7 +1669,8 @@
         <mtext mathvariant="normal">npart</mtext>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>∂̸</mo>
+        <mi>∂̸</mi>
+        <mo>&#8289;</mo>
       </mtd>
     </mtr>
     <mtr>
@@ -1725,7 +1742,8 @@
         <mtext mathvariant="normal">nrarrc</mtext>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>⤳̸</mo>
+        <mi>⤳̸</mi>
+        <mo>&#8289;</mo>
       </mtd>
     </mtr>
     <mtr>
@@ -1733,7 +1751,8 @@
         <mtext mathvariant="normal">nrarrw</mtext>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>↝̸</mo>
+        <mi>↝̸</mi>
+        <mo>&#8289;</mo>
       </mtd>
     </mtr>
     <mtr>
@@ -1901,7 +1920,8 @@
         <mtext mathvariant="normal">nsubE</mtext>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>⫅̸</mo>
+        <mi>⫅̸</mi>
+        <mo>&#8289;</mo>
       </mtd>
     </mtr>
     <mtr>
@@ -1925,7 +1945,8 @@
         <mtext mathvariant="normal">nsubseteqq</mtext>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>⫅̸</mo>
+        <mi>⫅̸</mi>
+        <mo>&#8289;</mo>
       </mtd>
     </mtr>
     <mtr>
@@ -1965,7 +1986,8 @@
         <mtext mathvariant="normal">nsupE</mtext>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>⫆̸</mo>
+        <mi>⫆̸</mi>
+        <mo>&#8289;</mo>
       </mtd>
     </mtr>
     <mtr>
@@ -1989,7 +2011,8 @@
         <mtext mathvariant="normal">nsupseteqq</mtext>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>⫆̸</mo>
+        <mi>⫆̸</mi>
+        <mo>&#8289;</mo>
       </mtd>
     </mtr>
     <mtr>
@@ -2093,7 +2116,8 @@
         <mtext mathvariant="normal">nvap</mtext>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>≍⃒</mo>
+        <mi>≍⃒</mi>
+        <mo>&#8289;</mo>
       </mtd>
     </mtr>
     <mtr>
@@ -2133,7 +2157,8 @@
         <mtext mathvariant="normal">nvge</mtext>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>≥⃒</mo>
+        <mi>≥⃒</mi>
+        <mo>&#8289;</mo>
       </mtd>
     </mtr>
     <mtr>
@@ -2141,7 +2166,8 @@
         <mtext mathvariant="normal">nvgt</mtext>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>&gt;⃒</mo>
+        <mi>&gt;⃒</mi>
+        <mo>&#8289;</mo>
       </mtd>
     </mtr>
     <mtr>
@@ -2173,7 +2199,8 @@
         <mtext mathvariant="normal">nvle</mtext>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>≤⃒</mo>
+        <mi>≤⃒</mi>
+        <mo>&#8289;</mo>
       </mtd>
     </mtr>
     <mtr>
@@ -2181,7 +2208,8 @@
         <mtext mathvariant="normal">nvlt</mtext>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>&lt;⃒</mo>
+        <mi>&lt;⃒</mi>
+        <mo>&#8289;</mo>
       </mtd>
     </mtr>
     <mtr>
@@ -2189,7 +2217,8 @@
         <mtext mathvariant="normal">nvltrie</mtext>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>⊴⃒</mo>
+        <mi>⊴⃒</mi>
+        <mo>&#8289;</mo>
       </mtd>
     </mtr>
     <mtr>
@@ -2205,7 +2234,8 @@
         <mtext mathvariant="normal">nvrtrie</mtext>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>⊵⃒</mo>
+        <mi>⊵⃒</mi>
+        <mo>&#8289;</mo>
       </mtd>
     </mtr>
     <mtr>
@@ -2213,7 +2243,8 @@
         <mtext mathvariant="normal">nvsim</mtext>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>∼⃒</mo>
+        <mi>∼⃒</mi>
+        <mo>&#8289;</mo>
       </mtd>
     </mtr>
     <mtr>
diff --git a/test/writer/mml/o.test b/test/writer/mml/o.test
--- a/test/writer/mml/o.test
+++ b/test/writer/mml/o.test
@@ -285,7 +285,7 @@
         <mtext mathvariant="normal">ohm</mtext>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>Ω</mo>
+        <mo mathvariant="normal">Ω</mo>
       </mtd>
     </mtr>
     <mtr>
@@ -357,7 +357,7 @@
         <mtext mathvariant="normal">Omega</mtext>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>Ω</mo>
+        <mo mathvariant="normal">Ω</mo>
       </mtd>
     </mtr>
     <mtr>
diff --git a/test/writer/mml/operatorname.test b/test/writer/mml/operatorname.test
--- a/test/writer/mml/operatorname.test
+++ b/test/writer/mml/operatorname.test
@@ -76,23 +76,27 @@
       <mtr>
         <mtd columnalign="left" style="text-align: left">
           <msub>
-            <mo>div</mo>
+            <mi>div</mi>
+            <mo>&#8289;</mo>
             <mi>x</mi>
           </msub>
           <mi>u</mi>
           <msup>
-            <mo>div</mo>
+            <mi>div</mi>
+            <mo>&#8289;</mo>
             <mi>x</mi>
           </msup>
           <mi>u</mi>
           <msubsup>
-            <mo>div</mo>
+            <mi>div</mi>
+            <mo>&#8289;</mo>
             <mi>x</mi>
             <mi>y</mi>
           </msubsup>
           <mi>u</mi>
           <msubsup>
-            <mo>div</mo>
+            <mi>div</mi>
+            <mo>&#8289;</mo>
             <mi>x</mi>
             <mi>y</mi>
           </msubsup>
@@ -105,7 +109,8 @@
       <mtr>
         <mtd columnalign="left" style="text-align: left">
           <munder>
-            <mo>⋆-lim&#39;sup</mo>
+            <mi>⋆-lim&#39;sup</mi>
+            <mo>&#8289;</mo>
             <mrow>
               <mi>x</mi>
               <mo>→</mo>
@@ -114,12 +119,14 @@
           </munder>
           <mi>u</mi>
           <mover>
-            <mo>⋆-lim&#39;sup</mo>
+            <mi>⋆-lim&#39;sup</mi>
+            <mo>&#8289;</mo>
             <mi>w</mi>
           </mover>
           <mi>u</mi>
           <munderover>
-            <mo>⋆-lim&#39;sup</mo>
+            <mi>⋆-lim&#39;sup</mi>
+            <mo>&#8289;</mo>
             <mrow>
               <mi>x</mi>
               <mo>→</mo>
@@ -129,7 +136,8 @@
           </munderover>
           <mi>u</mi>
           <munderover>
-            <mo>⋆-lim&#39;sup</mo>
+            <mi>⋆-lim&#39;sup</mi>
+            <mo>&#8289;</mo>
             <mrow>
               <mi>x</mi>
               <mo>→</mo>
@@ -146,7 +154,8 @@
       <mtr>
         <mtd columnalign="left" style="text-align: left">
           <msub>
-            <mo>⋆-lim&#39;sup</mo>
+            <mi>⋆-lim&#39;sup</mi>
+            <mo>&#8289;</mo>
             <mrow>
               <mi>x</mi>
               <mo>→</mo>
@@ -155,12 +164,14 @@
           </msub>
           <mi>u</mi>
           <msup>
-            <mo>⋆-lim&#39;sup</mo>
+            <mi>⋆-lim&#39;sup</mi>
+            <mo>&#8289;</mo>
             <mi>w</mi>
           </msup>
           <mi>u</mi>
           <msubsup>
-            <mo>⋆-lim&#39;sup</mo>
+            <mi>⋆-lim&#39;sup</mi>
+            <mo>&#8289;</mo>
             <mrow>
               <mi>x</mi>
               <mo>→</mo>
@@ -170,7 +181,8 @@
           </msubsup>
           <mi>u</mi>
           <msubsup>
-            <mo>⋆-lim&#39;sup</mo>
+            <mi>⋆-lim&#39;sup</mi>
+            <mo>&#8289;</mo>
             <mrow>
               <mi>x</mi>
               <mo>→</mo>
@@ -187,12 +199,14 @@
       <mtr>
         <mtd columnalign="left" style="text-align: left">
           <msub>
-            <mo>curl</mo>
+            <mi>curl</mi>
+            <mo>&#8289;</mo>
             <mi>x</mi>
           </msub>
           <mi>v</mi>
           <munder>
-            <mo>argmax</mo>
+            <mi>argmax</mi>
+            <mo>&#8289;</mo>
             <mi>K</mi>
           </munder>
           <mi>u</mi>
diff --git a/test/writer/mml/p.test b/test/writer/mml/p.test
--- a/test/writer/mml/p.test
+++ b/test/writer/mml/p.test
@@ -241,7 +241,7 @@
         <mtext mathvariant="normal">Phi</mtext>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>Φ</mo>
+        <mo mathvariant="normal">Φ</mo>
       </mtd>
     </mtr>
     <mtr>
@@ -281,7 +281,7 @@
         <mtext mathvariant="normal">Pi</mtext>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>Π</mo>
+        <mo mathvariant="normal">Π</mo>
       </mtd>
     </mtr>
     <mtr>
@@ -769,7 +769,7 @@
         <mtext mathvariant="normal">Psi</mtext>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>Ψ</mo>
+        <mo mathvariant="normal">Ψ</mo>
       </mtd>
     </mtr>
     <mtr>
diff --git a/test/writer/mml/primes1.test b/test/writer/mml/primes1.test
--- a/test/writer/mml/primes1.test
+++ b/test/writer/mml/primes1.test
@@ -62,7 +62,8 @@
     <mo>+</mo>
     <msup>
       <mi>x</mi>
-      <mo>&#39;&#39;</mo>
+      <mi>&#39;&#39;</mi>
+      <mo>&#8289;</mo>
     </msup>
     <mo>+</mo>
     <mi>x</mi>
diff --git a/test/writer/mml/s.test b/test/writer/mml/s.test
--- a/test/writer/mml/s.test
+++ b/test/writer/mml/s.test
@@ -636,7 +636,7 @@
         <mtext mathvariant="normal">Sigma</mtext>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>Σ</mo>
+        <mo mathvariant="normal">Σ</mo>
       </mtd>
     </mtr>
     <mtr>
@@ -812,7 +812,8 @@
         <mtext mathvariant="normal">smtes</mtext>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>⪬︀</mo>
+        <mi>⪬︀</mi>
+        <mo>&#8289;</mo>
       </mtd>
     </mtr>
     <mtr>
@@ -908,7 +909,8 @@
         <mtext mathvariant="normal">sqcaps</mtext>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>⊓︀</mo>
+        <mi>⊓︀</mi>
+        <mo>&#8289;</mo>
       </mtd>
     </mtr>
     <mtr>
@@ -924,7 +926,8 @@
         <mtext mathvariant="normal">sqcups</mtext>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>⊔︀</mo>
+        <mi>⊔︀</mi>
+        <mo>&#8289;</mo>
       </mtd>
     </mtr>
     <mtr>
diff --git a/test/writer/mml/serif-italic.test b/test/writer/mml/serif-italic.test
--- a/test/writer/mml/serif-italic.test
+++ b/test/writer/mml/serif-italic.test
@@ -42,7 +42,7 @@
     </mtr>
     <mtr>
       <mtd columnalign="left" style="text-align: left">
-        <mtext mathvariant="italic">`𝑎𝑏𝑐𝑑𝑒𝑓𝑔h𝑖𝑗𝑘𝑙𝑚𝑛𝑜𝑝𝑞𝑟𝑠𝑡𝑢𝑣𝑤𝑥𝑦𝑧{|}~</mtext>
+        <mtext mathvariant="italic">`𝑎𝑏𝑐𝑑𝑒𝑓𝑔ℎ𝑖𝑗𝑘𝑙𝑚𝑛𝑜𝑝𝑞𝑟𝑠𝑡𝑢𝑣𝑤𝑥𝑦𝑧{|}~</mtext>
       </mtd>
     </mtr>
     <mtr>
diff --git a/test/writer/mml/simplePres.test b/test/writer/mml/simplePres.test
--- a/test/writer/mml/simplePres.test
+++ b/test/writer/mml/simplePres.test
@@ -47,7 +47,8 @@
         </mfrac>
         <mo>,</mo>
         <mrow>
-          <mo>sin</mo>
+          <mi>sin</mi>
+          <mo>&#8289;</mo>
           <mi>x</mi>
         </mrow>
         <mo>.</mo>
diff --git a/test/writer/mml/sphere_volume.test b/test/writer/mml/sphere_volume.test
--- a/test/writer/mml/sphere_volume.test
+++ b/test/writer/mml/sphere_volume.test
@@ -155,7 +155,7 @@
     <mo stretchy="false" form="postfix">}</mo>
     <mtable>
       <mtr>
-        <mtd columnalign="right" style="text-align: right">
+        <mtd columnalign="right" style="text-align: right; padding-right: 0">
           <mrow>
             <mi mathvariant="normal">V</mi>
             <mi mathvariant="normal">o</mi>
@@ -165,7 +165,7 @@
             <mi mathvariant="normal">e</mi>
           </mrow>
         </mtd>
-        <mtd columnalign="left" style="text-align: left">
+        <mtd columnalign="left" style="text-align: left; padding-left: 0">
           <mo>=</mo>
           <munder>
             <mo>∭</mo>
@@ -176,7 +176,8 @@
             <mi>ρ</mi>
             <mn>2</mn>
           </msup>
-          <mo>sin</mo>
+          <mi>sin</mi>
+          <mo>&#8289;</mo>
           <mi>θ</mi>
           <mspace width="0.167em" />
           <mi mathvariant="normal">d</mi>
@@ -190,8 +191,8 @@
         </mtd>
       </mtr>
       <mtr>
-        <mtd columnalign="right" style="text-align: right" />
-        <mtd columnalign="left" style="text-align: left">
+        <mtd columnalign="right" style="text-align: right; padding-right: 0" />
+        <mtd columnalign="left" style="text-align: left; padding-left: 0">
           <mo>=</mo>
           <msubsup>
             <mo>∫</mo>
@@ -211,7 +212,8 @@
             <mi>π</mi>
           </msubsup>
           <mspace width="-0.167em" />
-          <mo>sin</mo>
+          <mi>sin</mi>
+          <mo>&#8289;</mo>
           <mi>θ</mi>
           <mspace width="0.167em" />
           <mi mathvariant="normal">d</mi>
@@ -232,8 +234,8 @@
         </mtd>
       </mtr>
       <mtr>
-        <mtd columnalign="right" style="text-align: right" />
-        <mtd columnalign="left" style="text-align: left">
+        <mtd columnalign="right" style="text-align: right; padding-right: 0" />
+        <mtd columnalign="left" style="text-align: left; padding-left: 0">
           <mo>=</mo>
           <mi>ϕ</mi>
           <msubsup>
@@ -248,7 +250,7 @@
           <mrow>
             <mo stretchy="true" form="prefix">(</mo>
             <mo>−</mo>
-            <mo>cos</mo>
+            <mi>cos</mi>
             <mi>θ</mi>
             <mo stretchy="true" form="postfix">)</mo>
           </mrow>
@@ -258,10 +260,12 @@
             <mi>π</mi>
           </msubsup>
           <mspace width="0.222em" />
-          <mfrac displaystyle="false">
-            <mn>1</mn>
-            <mn>3</mn>
-          </mfrac>
+          <mstyle displaystyle="false">
+            <mfrac>
+              <mn>1</mn>
+              <mn>3</mn>
+            </mfrac>
+          </mstyle>
           <msup>
             <mi>ρ</mi>
             <mn>3</mn>
@@ -274,18 +278,20 @@
         </mtd>
       </mtr>
       <mtr>
-        <mtd columnalign="right" style="text-align: right" />
-        <mtd columnalign="left" style="text-align: left">
+        <mtd columnalign="right" style="text-align: right; padding-right: 0" />
+        <mtd columnalign="left" style="text-align: left; padding-left: 0">
           <mo>=</mo>
           <mn>2</mn>
           <mi>π</mi>
           <mo>×</mo>
           <mn>2</mn>
           <mo>×</mo>
-          <mfrac displaystyle="false">
-            <mn>1</mn>
-            <mn>3</mn>
-          </mfrac>
+          <mstyle displaystyle="false">
+            <mfrac>
+              <mn>1</mn>
+              <mn>3</mn>
+            </mfrac>
+          </mstyle>
           <msup>
             <mi>R</mi>
             <mn>3</mn>
@@ -293,13 +299,15 @@
         </mtd>
       </mtr>
       <mtr>
-        <mtd columnalign="right" style="text-align: right" />
-        <mtd columnalign="left" style="text-align: left">
+        <mtd columnalign="right" style="text-align: right; padding-right: 0" />
+        <mtd columnalign="left" style="text-align: left; padding-left: 0">
           <mo>=</mo>
-          <mfrac displaystyle="false">
-            <mn>4</mn>
-            <mn>3</mn>
-          </mfrac>
+          <mstyle displaystyle="false">
+            <mfrac>
+              <mn>4</mn>
+              <mn>3</mn>
+            </mfrac>
+          </mstyle>
           <mi>π</mi>
           <msup>
             <mi>R</mi>
diff --git a/test/writer/mml/subsup.test b/test/writer/mml/subsup.test
--- a/test/writer/mml/subsup.test
+++ b/test/writer/mml/subsup.test
@@ -81,27 +81,32 @@
     </msubsup>
     <mspace width="1.0em" />
     <munder>
-      <mo>min</mo>
+      <mi>min</mi>
+      <mo>&#8289;</mo>
       <mi>A</mi>
     </munder>
     <mspace width="1.0em" />
     <munder>
-      <mo>max</mo>
+      <mi>max</mi>
+      <mo>&#8289;</mo>
       <mi>B</mi>
     </munder>
     <mspace width="1.0em" />
     <munder>
-      <mo>det</mo>
+      <mi>det</mi>
+      <mo>&#8289;</mo>
       <mi>C</mi>
     </munder>
     <mspace width="1.0em" />
     <munder>
-      <mo>Pr</mo>
+      <mi>Pr</mi>
+      <mo>&#8289;</mo>
       <mi>A</mi>
     </munder>
     <mspace width="1.0em" />
     <munder>
-      <mo>gcd</mo>
+      <mi>gcd</mi>
+      <mo>&#8289;</mo>
       <mi>A</mi>
     </munder>
     <mspace width="1.0em" />
diff --git a/test/writer/mml/t.test b/test/writer/mml/t.test
--- a/test/writer/mml/t.test
+++ b/test/writer/mml/t.test
@@ -101,7 +101,8 @@
         <mtext mathvariant="normal">Tab</mtext>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo></mo>
+        <mi></mi>
+        <mo>&#8289;</mo>
       </mtd>
     </mtr>
     <mtr>
@@ -245,7 +246,7 @@
         <mtext mathvariant="normal">Theta</mtext>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>Θ</mo>
+        <mo mathvariant="normal">Θ</mo>
       </mtd>
     </mtr>
     <mtr>
@@ -277,7 +278,8 @@
         <mtext mathvariant="normal">ThickSpace</mtext>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>  </mo>
+        <mi>  </mi>
+        <mo>&#8289;</mo>
       </mtd>
     </mtr>
     <mtr>
diff --git a/test/writer/mml/u.test b/test/writer/mml/u.test
--- a/test/writer/mml/u.test
+++ b/test/writer/mml/u.test
@@ -600,7 +600,7 @@
         <mtext mathvariant="normal">Upsilon</mtext>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>Υ</mo>
+        <mo mathvariant="normal">Υ</mo>
       </mtd>
     </mtr>
     <mtr>
diff --git a/test/writer/mml/v.test b/test/writer/mml/v.test
--- a/test/writer/mml/v.test
+++ b/test/writer/mml/v.test
@@ -185,7 +185,8 @@
         <mtext mathvariant="normal">varsubsetneq</mtext>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>⊊︀</mo>
+        <mi>⊊︀</mi>
+        <mo>&#8289;</mo>
       </mtd>
     </mtr>
     <mtr>
@@ -193,7 +194,8 @@
         <mtext mathvariant="normal">varsubsetneqq</mtext>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>⫋︀</mo>
+        <mi>⫋︀</mi>
+        <mo>&#8289;</mo>
       </mtd>
     </mtr>
     <mtr>
@@ -201,7 +203,8 @@
         <mtext mathvariant="normal">varsupsetneq</mtext>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>⊋︀</mo>
+        <mi>⊋︀</mi>
+        <mo>&#8289;</mo>
       </mtd>
     </mtr>
     <mtr>
@@ -209,7 +212,8 @@
         <mtext mathvariant="normal">varsupsetneqq</mtext>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>⫌︀</mo>
+        <mi>⫌︀</mi>
+        <mo>&#8289;</mo>
       </mtd>
     </mtr>
     <mtr>
@@ -521,7 +525,8 @@
         <mtext mathvariant="normal">vsubne</mtext>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>⊊︀</mo>
+        <mi>⊊︀</mi>
+        <mo>&#8289;</mo>
       </mtd>
     </mtr>
     <mtr>
@@ -529,7 +534,8 @@
         <mtext mathvariant="normal">vsubnE</mtext>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>⫋︀</mo>
+        <mi>⫋︀</mi>
+        <mo>&#8289;</mo>
       </mtd>
     </mtr>
     <mtr>
@@ -537,7 +543,8 @@
         <mtext mathvariant="normal">vsupne</mtext>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>⊋︀</mo>
+        <mi>⊋︀</mi>
+        <mo>&#8289;</mo>
       </mtd>
     </mtr>
     <mtr>
@@ -545,7 +552,8 @@
         <mtext mathvariant="normal">vsupnE</mtext>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>⫌︀</mo>
+        <mi>⫌︀</mi>
+        <mo>&#8289;</mo>
       </mtd>
     </mtr>
     <mtr>
diff --git a/test/writer/mml/white10.test b/test/writer/mml/white10.test
--- a/test/writer/mml/white10.test
+++ b/test/writer/mml/white10.test
@@ -32,15 +32,20 @@
     <mi>H</mi>
     <mi> </mi>
     <mi>H</mi>
-    <mo> ︀</mo>
+    <mi> ︀</mi>
+    <mo>&#8289;</mo>
     <mi>H</mi>
-    <mo> ︀</mo>
+    <mi> ︀</mi>
+    <mo>&#8289;</mo>
     <mi>H</mi>
-    <mo> ︀</mo>
+    <mi> ︀</mi>
+    <mo>&#8289;</mo>
     <mi>H</mi>
-    <mo> ︀</mo>
+    <mi> ︀</mi>
+    <mo>&#8289;</mo>
     <mi>H</mi>
-    <mo></mo>
+    <mi></mi>
+    <mo>&#8289;</mo>
     <mi>H</mi>
   </mrow>
 </math>
diff --git a/test/writer/mml/x.test b/test/writer/mml/x.test
--- a/test/writer/mml/x.test
+++ b/test/writer/mml/x.test
@@ -112,7 +112,7 @@
         <mtext mathvariant="normal">Xi</mtext>
       </mtd>
       <mtd columnalign="center" style="text-align: center">
-        <mo>Ξ</mo>
+        <mo mathvariant="normal">Ξ</mo>
       </mtd>
     </mtr>
     <mtr>
diff --git a/test/writer/omml/20.test b/test/writer/omml/20.test
--- a/test/writer/omml/20.test
+++ b/test/writer/omml/20.test
@@ -124,806 +124,806 @@
   <m:oMath>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="script" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>A</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="script" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>B</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="script" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>C</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="script" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>D</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="script" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>E</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="script" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>F</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="script" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>G</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="script" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>H</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="script" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>I</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="script" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>J</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="script" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>K</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="script" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>L</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="script" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>M</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="script" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>N</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="script" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>O</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="script" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>P</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="script" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>Q</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="script" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>R</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="script" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>S</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="script" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>T</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="script" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>U</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="script" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>V</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="script" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>W</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="script" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>X</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="script" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>Y</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="script" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>Z</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="script" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>a</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="script" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>b</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="script" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>c</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="script" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>d</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="script" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>e</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="script" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>f</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="script" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>g</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="script" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>h</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="script" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>i</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="script" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>j</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="script" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>k</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="script" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>l</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="script" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>m</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="script" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>n</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="script" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>o</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="script" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>p</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="script" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>q</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="script" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>r</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="script" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>s</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="script" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>t</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="script" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>u</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="script" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>v</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="script" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>w</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="script" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>x</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="script" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>y</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="script" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>z</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="double-struck" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>A</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="double-struck" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>B</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="double-struck" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>C</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="double-struck" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>D</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="double-struck" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>E</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="double-struck" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>F</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="double-struck" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>G</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="double-struck" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>H</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="double-struck" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>I</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="double-struck" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>J</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="double-struck" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>K</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="double-struck" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>L</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="double-struck" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>M</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="double-struck" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>N</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="double-struck" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>O</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="double-struck" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>P</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="double-struck" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>Q</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="double-struck" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>R</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="double-struck" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>S</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="double-struck" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>T</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="double-struck" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>U</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="double-struck" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>V</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="double-struck" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>W</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="double-struck" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>X</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="double-struck" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>Y</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="double-struck" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>Z</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="double-struck" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>a</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="double-struck" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>b</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="double-struck" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>c</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="double-struck" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>d</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="double-struck" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>e</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="double-struck" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>f</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="double-struck" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>g</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="double-struck" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>h</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="double-struck" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>i</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="double-struck" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>j</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="double-struck" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>k</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="double-struck" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>l</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="double-struck" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>m</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="double-struck" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>n</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="double-struck" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>o</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="double-struck" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>p</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="double-struck" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>q</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="double-struck" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>r</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="double-struck" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>s</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="double-struck" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>t</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="double-struck" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>u</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="double-struck" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>v</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="double-struck" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>w</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="double-struck" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>x</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="double-struck" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>y</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="double-struck" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>z</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="double-struck" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>0</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="double-struck" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>1</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="double-struck" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>2</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="double-struck" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>3</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="double-struck" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>4</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="double-struck" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>5</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="double-struck" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>6</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="double-struck" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>7</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="double-struck" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>8</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="double-struck" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>9</m:t>
     </m:r>
     <m:r>
       <m:rPr>
-        <m:sty m:val="p" />
         <m:scr m:val="double-struck" />
+        <m:sty m:val="p" />
       </m:rPr>
       <m:t>0</m:t>
     </m:r>
diff --git a/test/writer/omml/22.test b/test/writer/omml/22.test
--- a/test/writer/omml/22.test
+++ b/test/writer/omml/22.test
@@ -280,8 +280,8 @@
           <m:r>
             <m:rPr>
               <m:nor />
-              <m:sty m:val="p" />
               <m:scr m:val="monospace" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>textrm</m:t>
           </m:r>
@@ -301,8 +301,8 @@
           <m:r>
             <m:rPr>
               <m:nor />
-              <m:sty m:val="p" />
               <m:scr m:val="monospace" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>mathrm</m:t>
           </m:r>
@@ -351,8 +351,8 @@
           <m:r>
             <m:rPr>
               <m:nor />
-              <m:sty m:val="p" />
               <m:scr m:val="monospace" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>mathup</m:t>
           </m:r>
@@ -401,8 +401,8 @@
           <m:r>
             <m:rPr>
               <m:nor />
-              <m:sty m:val="p" />
               <m:scr m:val="monospace" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>text</m:t>
           </m:r>
@@ -422,8 +422,8 @@
           <m:r>
             <m:rPr>
               <m:nor />
-              <m:sty m:val="p" />
               <m:scr m:val="monospace" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>mbox</m:t>
           </m:r>
@@ -443,8 +443,8 @@
           <m:r>
             <m:rPr>
               <m:nor />
-              <m:sty m:val="p" />
               <m:scr m:val="monospace" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>mathbf</m:t>
           </m:r>
@@ -493,8 +493,8 @@
           <m:r>
             <m:rPr>
               <m:nor />
-              <m:sty m:val="p" />
               <m:scr m:val="monospace" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>mathbfup</m:t>
           </m:r>
@@ -543,8 +543,8 @@
           <m:r>
             <m:rPr>
               <m:nor />
-              <m:sty m:val="p" />
               <m:scr m:val="monospace" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>textbf</m:t>
           </m:r>
@@ -564,8 +564,8 @@
           <m:r>
             <m:rPr>
               <m:nor />
-              <m:sty m:val="p" />
               <m:scr m:val="monospace" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>mathit</m:t>
           </m:r>
@@ -614,8 +614,8 @@
           <m:r>
             <m:rPr>
               <m:nor />
-              <m:sty m:val="p" />
               <m:scr m:val="monospace" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>textit</m:t>
           </m:r>
@@ -635,8 +635,8 @@
           <m:r>
             <m:rPr>
               <m:nor />
-              <m:sty m:val="p" />
               <m:scr m:val="monospace" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>mathtt</m:t>
           </m:r>
@@ -644,43 +644,43 @@
         <m:e>
           <m:r>
             <m:rPr>
-              <m:sty m:val="p" />
               <m:scr m:val="monospace" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>A</m:t>
           </m:r>
           <m:r>
             <m:rPr>
-              <m:sty m:val="p" />
               <m:scr m:val="monospace" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>B</m:t>
           </m:r>
           <m:r>
             <m:rPr>
-              <m:sty m:val="p" />
               <m:scr m:val="monospace" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>C</m:t>
           </m:r>
           <m:r>
             <m:rPr>
-              <m:sty m:val="p" />
               <m:scr m:val="monospace" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>a</m:t>
           </m:r>
           <m:r>
             <m:rPr>
-              <m:sty m:val="p" />
               <m:scr m:val="monospace" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>b</m:t>
           </m:r>
           <m:r>
             <m:rPr>
-              <m:sty m:val="p" />
               <m:scr m:val="monospace" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>c</m:t>
           </m:r>
@@ -691,8 +691,8 @@
           <m:r>
             <m:rPr>
               <m:nor />
-              <m:sty m:val="p" />
               <m:scr m:val="monospace" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>texttt</m:t>
           </m:r>
@@ -701,8 +701,8 @@
           <m:r>
             <m:rPr>
               <m:nor />
-              <m:sty m:val="p" />
               <m:scr m:val="monospace" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>ABCabc</m:t>
           </m:r>
@@ -713,8 +713,8 @@
           <m:r>
             <m:rPr>
               <m:nor />
-              <m:sty m:val="p" />
               <m:scr m:val="monospace" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>mathsf</m:t>
           </m:r>
@@ -722,43 +722,43 @@
         <m:e>
           <m:r>
             <m:rPr>
-              <m:sty m:val="p" />
               <m:scr m:val="sans-serif" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>A</m:t>
           </m:r>
           <m:r>
             <m:rPr>
-              <m:sty m:val="p" />
               <m:scr m:val="sans-serif" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>B</m:t>
           </m:r>
           <m:r>
             <m:rPr>
-              <m:sty m:val="p" />
               <m:scr m:val="sans-serif" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>C</m:t>
           </m:r>
           <m:r>
             <m:rPr>
-              <m:sty m:val="p" />
               <m:scr m:val="sans-serif" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>a</m:t>
           </m:r>
           <m:r>
             <m:rPr>
-              <m:sty m:val="p" />
               <m:scr m:val="sans-serif" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>b</m:t>
           </m:r>
           <m:r>
             <m:rPr>
-              <m:sty m:val="p" />
               <m:scr m:val="sans-serif" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>c</m:t>
           </m:r>
@@ -769,8 +769,8 @@
           <m:r>
             <m:rPr>
               <m:nor />
-              <m:sty m:val="p" />
               <m:scr m:val="monospace" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>mathsfup</m:t>
           </m:r>
@@ -778,43 +778,43 @@
         <m:e>
           <m:r>
             <m:rPr>
-              <m:sty m:val="p" />
               <m:scr m:val="sans-serif" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>A</m:t>
           </m:r>
           <m:r>
             <m:rPr>
-              <m:sty m:val="p" />
               <m:scr m:val="sans-serif" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>B</m:t>
           </m:r>
           <m:r>
             <m:rPr>
-              <m:sty m:val="p" />
               <m:scr m:val="sans-serif" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>C</m:t>
           </m:r>
           <m:r>
             <m:rPr>
-              <m:sty m:val="p" />
               <m:scr m:val="sans-serif" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>a</m:t>
           </m:r>
           <m:r>
             <m:rPr>
-              <m:sty m:val="p" />
               <m:scr m:val="sans-serif" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>b</m:t>
           </m:r>
           <m:r>
             <m:rPr>
-              <m:sty m:val="p" />
               <m:scr m:val="sans-serif" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>c</m:t>
           </m:r>
@@ -825,8 +825,8 @@
           <m:r>
             <m:rPr>
               <m:nor />
-              <m:sty m:val="p" />
               <m:scr m:val="monospace" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>mathbb</m:t>
           </m:r>
@@ -834,43 +834,43 @@
         <m:e>
           <m:r>
             <m:rPr>
-              <m:sty m:val="p" />
               <m:scr m:val="double-struck" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>A</m:t>
           </m:r>
           <m:r>
             <m:rPr>
-              <m:sty m:val="p" />
               <m:scr m:val="double-struck" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>B</m:t>
           </m:r>
           <m:r>
             <m:rPr>
-              <m:sty m:val="p" />
               <m:scr m:val="double-struck" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>C</m:t>
           </m:r>
           <m:r>
             <m:rPr>
-              <m:sty m:val="p" />
               <m:scr m:val="double-struck" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>a</m:t>
           </m:r>
           <m:r>
             <m:rPr>
-              <m:sty m:val="p" />
               <m:scr m:val="double-struck" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>b</m:t>
           </m:r>
           <m:r>
             <m:rPr>
-              <m:sty m:val="p" />
               <m:scr m:val="double-struck" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>c</m:t>
           </m:r>
@@ -881,8 +881,8 @@
           <m:r>
             <m:rPr>
               <m:nor />
-              <m:sty m:val="p" />
               <m:scr m:val="monospace" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>mathcal</m:t>
           </m:r>
@@ -890,43 +890,43 @@
         <m:e>
           <m:r>
             <m:rPr>
-              <m:sty m:val="p" />
               <m:scr m:val="script" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>A</m:t>
           </m:r>
           <m:r>
             <m:rPr>
-              <m:sty m:val="p" />
               <m:scr m:val="script" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>B</m:t>
           </m:r>
           <m:r>
             <m:rPr>
-              <m:sty m:val="p" />
               <m:scr m:val="script" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>C</m:t>
           </m:r>
           <m:r>
             <m:rPr>
-              <m:sty m:val="p" />
               <m:scr m:val="script" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>a</m:t>
           </m:r>
           <m:r>
             <m:rPr>
-              <m:sty m:val="p" />
               <m:scr m:val="script" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>b</m:t>
           </m:r>
           <m:r>
             <m:rPr>
-              <m:sty m:val="p" />
               <m:scr m:val="script" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>c</m:t>
           </m:r>
@@ -937,8 +937,8 @@
           <m:r>
             <m:rPr>
               <m:nor />
-              <m:sty m:val="p" />
               <m:scr m:val="monospace" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>mathscr</m:t>
           </m:r>
@@ -946,43 +946,43 @@
         <m:e>
           <m:r>
             <m:rPr>
-              <m:sty m:val="p" />
               <m:scr m:val="script" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>A</m:t>
           </m:r>
           <m:r>
             <m:rPr>
-              <m:sty m:val="p" />
               <m:scr m:val="script" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>B</m:t>
           </m:r>
           <m:r>
             <m:rPr>
-              <m:sty m:val="p" />
               <m:scr m:val="script" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>C</m:t>
           </m:r>
           <m:r>
             <m:rPr>
-              <m:sty m:val="p" />
               <m:scr m:val="script" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>a</m:t>
           </m:r>
           <m:r>
             <m:rPr>
-              <m:sty m:val="p" />
               <m:scr m:val="script" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>b</m:t>
           </m:r>
           <m:r>
             <m:rPr>
-              <m:sty m:val="p" />
               <m:scr m:val="script" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>c</m:t>
           </m:r>
@@ -993,8 +993,8 @@
           <m:r>
             <m:rPr>
               <m:nor />
-              <m:sty m:val="p" />
               <m:scr m:val="monospace" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>mathfrak</m:t>
           </m:r>
@@ -1002,43 +1002,43 @@
         <m:e>
           <m:r>
             <m:rPr>
-              <m:sty m:val="p" />
               <m:scr m:val="fraktur" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>A</m:t>
           </m:r>
           <m:r>
             <m:rPr>
-              <m:sty m:val="p" />
               <m:scr m:val="fraktur" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>B</m:t>
           </m:r>
           <m:r>
             <m:rPr>
-              <m:sty m:val="p" />
               <m:scr m:val="fraktur" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>C</m:t>
           </m:r>
           <m:r>
             <m:rPr>
-              <m:sty m:val="p" />
               <m:scr m:val="fraktur" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>a</m:t>
           </m:r>
           <m:r>
             <m:rPr>
-              <m:sty m:val="p" />
               <m:scr m:val="fraktur" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>b</m:t>
           </m:r>
           <m:r>
             <m:rPr>
-              <m:sty m:val="p" />
               <m:scr m:val="fraktur" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>c</m:t>
           </m:r>
@@ -1049,8 +1049,8 @@
           <m:r>
             <m:rPr>
               <m:nor />
-              <m:sty m:val="p" />
               <m:scr m:val="monospace" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>mathbfit</m:t>
           </m:r>
@@ -1099,8 +1099,8 @@
           <m:r>
             <m:rPr>
               <m:nor />
-              <m:sty m:val="p" />
               <m:scr m:val="monospace" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>mathbfsfup</m:t>
           </m:r>
@@ -1108,43 +1108,43 @@
         <m:e>
           <m:r>
             <m:rPr>
-              <m:sty m:val="b" />
               <m:scr m:val="sans-serif" />
+              <m:sty m:val="b" />
             </m:rPr>
             <m:t>A</m:t>
           </m:r>
           <m:r>
             <m:rPr>
-              <m:sty m:val="b" />
               <m:scr m:val="sans-serif" />
+              <m:sty m:val="b" />
             </m:rPr>
             <m:t>B</m:t>
           </m:r>
           <m:r>
             <m:rPr>
-              <m:sty m:val="b" />
               <m:scr m:val="sans-serif" />
+              <m:sty m:val="b" />
             </m:rPr>
             <m:t>C</m:t>
           </m:r>
           <m:r>
             <m:rPr>
-              <m:sty m:val="b" />
               <m:scr m:val="sans-serif" />
+              <m:sty m:val="b" />
             </m:rPr>
             <m:t>a</m:t>
           </m:r>
           <m:r>
             <m:rPr>
-              <m:sty m:val="b" />
               <m:scr m:val="sans-serif" />
+              <m:sty m:val="b" />
             </m:rPr>
             <m:t>b</m:t>
           </m:r>
           <m:r>
             <m:rPr>
-              <m:sty m:val="b" />
               <m:scr m:val="sans-serif" />
+              <m:sty m:val="b" />
             </m:rPr>
             <m:t>c</m:t>
           </m:r>
@@ -1155,8 +1155,8 @@
           <m:r>
             <m:rPr>
               <m:nor />
-              <m:sty m:val="p" />
               <m:scr m:val="monospace" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>mathbfsfit</m:t>
           </m:r>
@@ -1164,43 +1164,43 @@
         <m:e>
           <m:r>
             <m:rPr>
-              <m:sty m:val="bi" />
               <m:scr m:val="sans-serif" />
+              <m:sty m:val="bi" />
             </m:rPr>
             <m:t>A</m:t>
           </m:r>
           <m:r>
             <m:rPr>
-              <m:sty m:val="bi" />
               <m:scr m:val="sans-serif" />
+              <m:sty m:val="bi" />
             </m:rPr>
             <m:t>B</m:t>
           </m:r>
           <m:r>
             <m:rPr>
-              <m:sty m:val="bi" />
               <m:scr m:val="sans-serif" />
+              <m:sty m:val="bi" />
             </m:rPr>
             <m:t>C</m:t>
           </m:r>
           <m:r>
             <m:rPr>
-              <m:sty m:val="bi" />
               <m:scr m:val="sans-serif" />
+              <m:sty m:val="bi" />
             </m:rPr>
             <m:t>a</m:t>
           </m:r>
           <m:r>
             <m:rPr>
-              <m:sty m:val="bi" />
               <m:scr m:val="sans-serif" />
+              <m:sty m:val="bi" />
             </m:rPr>
             <m:t>b</m:t>
           </m:r>
           <m:r>
             <m:rPr>
-              <m:sty m:val="bi" />
               <m:scr m:val="sans-serif" />
+              <m:sty m:val="bi" />
             </m:rPr>
             <m:t>c</m:t>
           </m:r>
@@ -1211,8 +1211,8 @@
           <m:r>
             <m:rPr>
               <m:nor />
-              <m:sty m:val="p" />
               <m:scr m:val="monospace" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>mathbfscr</m:t>
           </m:r>
@@ -1220,43 +1220,43 @@
         <m:e>
           <m:r>
             <m:rPr>
-              <m:sty m:val="b" />
               <m:scr m:val="script" />
+              <m:sty m:val="b" />
             </m:rPr>
             <m:t>A</m:t>
           </m:r>
           <m:r>
             <m:rPr>
-              <m:sty m:val="b" />
               <m:scr m:val="script" />
+              <m:sty m:val="b" />
             </m:rPr>
             <m:t>B</m:t>
           </m:r>
           <m:r>
             <m:rPr>
-              <m:sty m:val="b" />
               <m:scr m:val="script" />
+              <m:sty m:val="b" />
             </m:rPr>
             <m:t>C</m:t>
           </m:r>
           <m:r>
             <m:rPr>
-              <m:sty m:val="b" />
               <m:scr m:val="script" />
+              <m:sty m:val="b" />
             </m:rPr>
             <m:t>a</m:t>
           </m:r>
           <m:r>
             <m:rPr>
-              <m:sty m:val="b" />
               <m:scr m:val="script" />
+              <m:sty m:val="b" />
             </m:rPr>
             <m:t>b</m:t>
           </m:r>
           <m:r>
             <m:rPr>
-              <m:sty m:val="b" />
               <m:scr m:val="script" />
+              <m:sty m:val="b" />
             </m:rPr>
             <m:t>c</m:t>
           </m:r>
@@ -1267,8 +1267,8 @@
           <m:r>
             <m:rPr>
               <m:nor />
-              <m:sty m:val="p" />
               <m:scr m:val="monospace" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>mathbffrak</m:t>
           </m:r>
@@ -1276,43 +1276,43 @@
         <m:e>
           <m:r>
             <m:rPr>
-              <m:sty m:val="b" />
               <m:scr m:val="fraktur" />
+              <m:sty m:val="b" />
             </m:rPr>
             <m:t>A</m:t>
           </m:r>
           <m:r>
             <m:rPr>
-              <m:sty m:val="b" />
               <m:scr m:val="fraktur" />
+              <m:sty m:val="b" />
             </m:rPr>
             <m:t>B</m:t>
           </m:r>
           <m:r>
             <m:rPr>
-              <m:sty m:val="b" />
               <m:scr m:val="fraktur" />
+              <m:sty m:val="b" />
             </m:rPr>
             <m:t>C</m:t>
           </m:r>
           <m:r>
             <m:rPr>
-              <m:sty m:val="b" />
               <m:scr m:val="fraktur" />
+              <m:sty m:val="b" />
             </m:rPr>
             <m:t>a</m:t>
           </m:r>
           <m:r>
             <m:rPr>
-              <m:sty m:val="b" />
               <m:scr m:val="fraktur" />
+              <m:sty m:val="b" />
             </m:rPr>
             <m:t>b</m:t>
           </m:r>
           <m:r>
             <m:rPr>
-              <m:sty m:val="b" />
               <m:scr m:val="fraktur" />
+              <m:sty m:val="b" />
             </m:rPr>
             <m:t>c</m:t>
           </m:r>
@@ -1323,8 +1323,8 @@
           <m:r>
             <m:rPr>
               <m:nor />
-              <m:sty m:val="p" />
               <m:scr m:val="monospace" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>mathbfcal</m:t>
           </m:r>
@@ -1332,43 +1332,43 @@
         <m:e>
           <m:r>
             <m:rPr>
-              <m:sty m:val="b" />
               <m:scr m:val="script" />
+              <m:sty m:val="b" />
             </m:rPr>
             <m:t>A</m:t>
           </m:r>
           <m:r>
             <m:rPr>
-              <m:sty m:val="b" />
               <m:scr m:val="script" />
+              <m:sty m:val="b" />
             </m:rPr>
             <m:t>B</m:t>
           </m:r>
           <m:r>
             <m:rPr>
-              <m:sty m:val="b" />
               <m:scr m:val="script" />
+              <m:sty m:val="b" />
             </m:rPr>
             <m:t>C</m:t>
           </m:r>
           <m:r>
             <m:rPr>
-              <m:sty m:val="b" />
               <m:scr m:val="script" />
+              <m:sty m:val="b" />
             </m:rPr>
             <m:t>a</m:t>
           </m:r>
           <m:r>
             <m:rPr>
-              <m:sty m:val="b" />
               <m:scr m:val="script" />
+              <m:sty m:val="b" />
             </m:rPr>
             <m:t>b</m:t>
           </m:r>
           <m:r>
             <m:rPr>
-              <m:sty m:val="b" />
               <m:scr m:val="script" />
+              <m:sty m:val="b" />
             </m:rPr>
             <m:t>c</m:t>
           </m:r>
@@ -1379,8 +1379,8 @@
           <m:r>
             <m:rPr>
               <m:nor />
-              <m:sty m:val="p" />
               <m:scr m:val="monospace" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>mathsfit</m:t>
           </m:r>
@@ -1388,43 +1388,43 @@
         <m:e>
           <m:r>
             <m:rPr>
-              <m:sty m:val="i" />
               <m:scr m:val="sans-serif" />
+              <m:sty m:val="i" />
             </m:rPr>
             <m:t>A</m:t>
           </m:r>
           <m:r>
             <m:rPr>
-              <m:sty m:val="i" />
               <m:scr m:val="sans-serif" />
+              <m:sty m:val="i" />
             </m:rPr>
             <m:t>B</m:t>
           </m:r>
           <m:r>
             <m:rPr>
-              <m:sty m:val="i" />
               <m:scr m:val="sans-serif" />
+              <m:sty m:val="i" />
             </m:rPr>
             <m:t>C</m:t>
           </m:r>
           <m:r>
             <m:rPr>
-              <m:sty m:val="i" />
               <m:scr m:val="sans-serif" />
+              <m:sty m:val="i" />
             </m:rPr>
             <m:t>a</m:t>
           </m:r>
           <m:r>
             <m:rPr>
-              <m:sty m:val="i" />
               <m:scr m:val="sans-serif" />
+              <m:sty m:val="i" />
             </m:rPr>
             <m:t>b</m:t>
           </m:r>
           <m:r>
             <m:rPr>
-              <m:sty m:val="i" />
               <m:scr m:val="sans-serif" />
+              <m:sty m:val="i" />
             </m:rPr>
             <m:t>c</m:t>
           </m:r>
diff --git a/test/writer/omml/complex3.test b/test/writer/omml/complex3.test
--- a/test/writer/omml/complex3.test
+++ b/test/writer/omml/complex3.test
@@ -13821,6 +13821,9 @@
           <m:sSubSup>
             <m:e>
               <m:r>
+                <m:rPr>
+                  <m:sty m:val="p" />
+                </m:rPr>
                 <m:t>Γ</m:t>
               </m:r>
             </m:e>
@@ -16522,6 +16525,9 @@
                 <m:sSup>
                   <m:e>
                     <m:r>
+                      <m:rPr>
+                        <m:sty m:val="p" />
+                      </m:rPr>
                       <m:t>Ω</m:t>
                     </m:r>
                   </m:e>
@@ -16573,6 +16579,9 @@
                 <m:sSup>
                   <m:e>
                     <m:r>
+                      <m:rPr>
+                        <m:sty m:val="p" />
+                      </m:rPr>
                       <m:t>Ω</m:t>
                     </m:r>
                   </m:e>
@@ -16647,6 +16656,9 @@
                 <m:sSup>
                   <m:e>
                     <m:r>
+                      <m:rPr>
+                        <m:sty m:val="p" />
+                      </m:rPr>
                       <m:t>Ω</m:t>
                     </m:r>
                   </m:e>
@@ -16696,6 +16708,9 @@
                   <m:t>;</m:t>
                 </m:r>
                 <m:r>
+                  <m:rPr>
+                    <m:sty m:val="p" />
+                  </m:rPr>
                   <m:t>Ω</m:t>
                 </m:r>
                 <m:r>
@@ -16735,8 +16750,8 @@
                 </m:r>
                 <m:r>
                   <m:rPr>
-                    <m:sty m:val="p" />
                     <m:scr m:val="script" />
+                    <m:sty m:val="p" />
                   </m:rPr>
                   <m:t>N</m:t>
                 </m:r>
@@ -17911,8 +17926,8 @@
           </m:r>
           <m:r>
             <m:rPr>
-              <m:sty m:val="p" />
               <m:scr m:val="sans-serif" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>l</m:t>
           </m:r>
@@ -17924,8 +17939,8 @@
           </m:r>
           <m:r>
             <m:rPr>
-              <m:sty m:val="p" />
               <m:scr m:val="sans-serif" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>a</m:t>
           </m:r>
@@ -17937,8 +17952,8 @@
           </m:r>
           <m:r>
             <m:rPr>
-              <m:sty m:val="p" />
               <m:scr m:val="sans-serif" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>z</m:t>
           </m:r>
@@ -17950,8 +17965,8 @@
           </m:r>
           <m:r>
             <m:rPr>
-              <m:sty m:val="p" />
               <m:scr m:val="sans-serif" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>y</m:t>
           </m:r>
@@ -17963,8 +17978,8 @@
           </m:r>
           <m:r>
             <m:rPr>
-              <m:sty m:val="p" />
               <m:scr m:val="monospace" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>d</m:t>
           </m:r>
@@ -17976,8 +17991,8 @@
           </m:r>
           <m:r>
             <m:rPr>
-              <m:sty m:val="p" />
               <m:scr m:val="monospace" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>o</m:t>
           </m:r>
@@ -17989,8 +18004,8 @@
           </m:r>
           <m:r>
             <m:rPr>
-              <m:sty m:val="p" />
               <m:scr m:val="monospace" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>g</m:t>
           </m:r>
diff --git a/test/writer/omml/miAtoken5.test b/test/writer/omml/miAtoken5.test
--- a/test/writer/omml/miAtoken5.test
+++ b/test/writer/omml/miAtoken5.test
@@ -116,8 +116,8 @@
         <m:e>
           <m:r>
             <m:rPr>
-              <m:sty m:val="p" />
               <m:scr m:val="script" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>A</m:t>
           </m:r>
@@ -154,8 +154,8 @@
         <m:e>
           <m:r>
             <m:rPr>
-              <m:sty m:val="p" />
               <m:scr m:val="script" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>A</m:t>
           </m:r>
diff --git a/test/writer/omml/miSfonts8.test b/test/writer/omml/miSfonts8.test
--- a/test/writer/omml/miSfonts8.test
+++ b/test/writer/omml/miSfonts8.test
@@ -55,6 +55,9 @@
       <m:t>+</m:t>
     </m:r>
     <m:r>
+      <m:rPr>
+        <m:sty m:val="p" />
+      </m:rPr>
       <m:t>Γ</m:t>
     </m:r>
     <m:r>
diff --git a/test/writer/omml/miequivalents11.test b/test/writer/omml/miequivalents11.test
--- a/test/writer/omml/miequivalents11.test
+++ b/test/writer/omml/miequivalents11.test
@@ -210,8 +210,8 @@
           </m:r>
           <m:r>
             <m:rPr>
-              <m:sty m:val="p" />
               <m:scr m:val="double-struck" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>A</m:t>
           </m:r>
@@ -239,8 +239,8 @@
           </m:r>
           <m:r>
             <m:rPr>
-              <m:sty m:val="p" />
               <m:scr m:val="script" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>A</m:t>
           </m:r>
@@ -268,8 +268,8 @@
           </m:r>
           <m:r>
             <m:rPr>
-              <m:sty m:val="b" />
               <m:scr m:val="script" />
+              <m:sty m:val="b" />
             </m:rPr>
             <m:t>A</m:t>
           </m:r>
@@ -288,8 +288,8 @@
           </m:r>
           <m:r>
             <m:rPr>
-              <m:sty m:val="p" />
               <m:scr m:val="fraktur" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>A</m:t>
           </m:r>
@@ -317,8 +317,8 @@
           </m:r>
           <m:r>
             <m:rPr>
-              <m:sty m:val="b" />
               <m:scr m:val="fraktur" />
+              <m:sty m:val="b" />
             </m:rPr>
             <m:t>A</m:t>
           </m:r>
@@ -337,8 +337,8 @@
           </m:r>
           <m:r>
             <m:rPr>
-              <m:sty m:val="p" />
               <m:scr m:val="sans-serif" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>A</m:t>
           </m:r>
@@ -357,8 +357,8 @@
           </m:r>
           <m:r>
             <m:rPr>
-              <m:sty m:val="b" />
               <m:scr m:val="sans-serif" />
+              <m:sty m:val="b" />
             </m:rPr>
             <m:t>A</m:t>
           </m:r>
@@ -377,8 +377,8 @@
           </m:r>
           <m:r>
             <m:rPr>
-              <m:sty m:val="i" />
               <m:scr m:val="sans-serif" />
+              <m:sty m:val="i" />
             </m:rPr>
             <m:t>A</m:t>
           </m:r>
@@ -397,8 +397,8 @@
           </m:r>
           <m:r>
             <m:rPr>
-              <m:sty m:val="bi" />
               <m:scr m:val="sans-serif" />
+              <m:sty m:val="bi" />
             </m:rPr>
             <m:t>A</m:t>
           </m:r>
@@ -417,8 +417,8 @@
           </m:r>
           <m:r>
             <m:rPr>
-              <m:sty m:val="p" />
               <m:scr m:val="monospace" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>A</m:t>
           </m:r>
diff --git a/test/writer/omml/mimathvariant13.test b/test/writer/omml/mimathvariant13.test
--- a/test/writer/omml/mimathvariant13.test
+++ b/test/writer/omml/mimathvariant13.test
@@ -201,8 +201,8 @@
         <m:e>
           <m:r>
             <m:rPr>
-              <m:sty m:val="p" />
               <m:scr m:val="double-struck" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>a</m:t>
           </m:r>
@@ -210,8 +210,8 @@
         <m:e>
           <m:r>
             <m:rPr>
-              <m:sty m:val="b" />
               <m:scr m:val="fraktur" />
+              <m:sty m:val="b" />
             </m:rPr>
             <m:t>a</m:t>
           </m:r>
@@ -219,8 +219,8 @@
         <m:e>
           <m:r>
             <m:rPr>
-              <m:sty m:val="p" />
               <m:scr m:val="script" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>a</m:t>
           </m:r>
@@ -228,8 +228,8 @@
         <m:e>
           <m:r>
             <m:rPr>
-              <m:sty m:val="b" />
               <m:scr m:val="script" />
+              <m:sty m:val="b" />
             </m:rPr>
             <m:t>a</m:t>
           </m:r>
@@ -237,8 +237,8 @@
         <m:e>
           <m:r>
             <m:rPr>
-              <m:sty m:val="p" />
               <m:scr m:val="fraktur" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>a</m:t>
           </m:r>
@@ -246,8 +246,8 @@
         <m:e>
           <m:r>
             <m:rPr>
-              <m:sty m:val="p" />
               <m:scr m:val="sans-serif" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>a</m:t>
           </m:r>
@@ -255,8 +255,8 @@
         <m:e>
           <m:r>
             <m:rPr>
-              <m:sty m:val="b" />
               <m:scr m:val="sans-serif" />
+              <m:sty m:val="b" />
             </m:rPr>
             <m:t>a</m:t>
           </m:r>
@@ -264,8 +264,8 @@
         <m:e>
           <m:r>
             <m:rPr>
-              <m:sty m:val="i" />
               <m:scr m:val="sans-serif" />
+              <m:sty m:val="i" />
             </m:rPr>
             <m:t>a</m:t>
           </m:r>
@@ -273,8 +273,8 @@
         <m:e>
           <m:r>
             <m:rPr>
-              <m:sty m:val="bi" />
               <m:scr m:val="sans-serif" />
+              <m:sty m:val="bi" />
             </m:rPr>
             <m:t>a</m:t>
           </m:r>
@@ -282,8 +282,8 @@
         <m:e>
           <m:r>
             <m:rPr>
-              <m:sty m:val="p" />
               <m:scr m:val="monospace" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>a</m:t>
           </m:r>
@@ -335,8 +335,8 @@
         <m:e>
           <m:r>
             <m:rPr>
-              <m:sty m:val="p" />
               <m:scr m:val="double-struck" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>A</m:t>
           </m:r>
@@ -344,8 +344,8 @@
         <m:e>
           <m:r>
             <m:rPr>
-              <m:sty m:val="b" />
               <m:scr m:val="fraktur" />
+              <m:sty m:val="b" />
             </m:rPr>
             <m:t>A</m:t>
           </m:r>
@@ -353,8 +353,8 @@
         <m:e>
           <m:r>
             <m:rPr>
-              <m:sty m:val="p" />
               <m:scr m:val="script" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>A</m:t>
           </m:r>
@@ -362,8 +362,8 @@
         <m:e>
           <m:r>
             <m:rPr>
-              <m:sty m:val="b" />
               <m:scr m:val="script" />
+              <m:sty m:val="b" />
             </m:rPr>
             <m:t>A</m:t>
           </m:r>
@@ -371,8 +371,8 @@
         <m:e>
           <m:r>
             <m:rPr>
-              <m:sty m:val="p" />
               <m:scr m:val="fraktur" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>A</m:t>
           </m:r>
@@ -380,8 +380,8 @@
         <m:e>
           <m:r>
             <m:rPr>
-              <m:sty m:val="p" />
               <m:scr m:val="sans-serif" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>A</m:t>
           </m:r>
@@ -389,8 +389,8 @@
         <m:e>
           <m:r>
             <m:rPr>
-              <m:sty m:val="b" />
               <m:scr m:val="sans-serif" />
+              <m:sty m:val="b" />
             </m:rPr>
             <m:t>A</m:t>
           </m:r>
@@ -398,8 +398,8 @@
         <m:e>
           <m:r>
             <m:rPr>
-              <m:sty m:val="i" />
               <m:scr m:val="sans-serif" />
+              <m:sty m:val="i" />
             </m:rPr>
             <m:t>A</m:t>
           </m:r>
@@ -407,8 +407,8 @@
         <m:e>
           <m:r>
             <m:rPr>
-              <m:sty m:val="bi" />
               <m:scr m:val="sans-serif" />
+              <m:sty m:val="bi" />
             </m:rPr>
             <m:t>A</m:t>
           </m:r>
@@ -416,8 +416,8 @@
         <m:e>
           <m:r>
             <m:rPr>
-              <m:sty m:val="p" />
               <m:scr m:val="monospace" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>A</m:t>
           </m:r>
diff --git a/test/writer/omml/mimathvariant14.test b/test/writer/omml/mimathvariant14.test
--- a/test/writer/omml/mimathvariant14.test
+++ b/test/writer/omml/mimathvariant14.test
@@ -63,15 +63,15 @@
         <m:e>
           <m:r>
             <m:rPr>
-              <m:sty m:val="p" />
               <m:scr m:val="fraktur" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>ABCDEFGHIJKLMNOPQRSTUVWXYZ</m:t>
           </m:r>
           <m:r>
             <m:rPr>
-              <m:sty m:val="p" />
               <m:scr m:val="fraktur" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>abcdefghijklmnopqrstuvwxyz</m:t>
           </m:r>
@@ -81,15 +81,15 @@
         <m:e>
           <m:r>
             <m:rPr>
-              <m:sty m:val="b" />
               <m:scr m:val="fraktur" />
+              <m:sty m:val="b" />
             </m:rPr>
             <m:t>ABCDEFGHIJKLMNOPQRSTUVWXYZ</m:t>
           </m:r>
           <m:r>
             <m:rPr>
-              <m:sty m:val="b" />
               <m:scr m:val="fraktur" />
+              <m:sty m:val="b" />
             </m:rPr>
             <m:t>abcdefghijklmnopqrstuvwxyz</m:t>
           </m:r>
@@ -99,15 +99,15 @@
         <m:e>
           <m:r>
             <m:rPr>
-              <m:sty m:val="p" />
               <m:scr m:val="double-struck" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>ABCDEFGHIJKLMNOPQRSTUVWXYZ</m:t>
           </m:r>
           <m:r>
             <m:rPr>
-              <m:sty m:val="p" />
               <m:scr m:val="double-struck" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>abcdefghijklmnopqrstuvwxyz</m:t>
           </m:r>
@@ -117,15 +117,15 @@
         <m:e>
           <m:r>
             <m:rPr>
-              <m:sty m:val="p" />
               <m:scr m:val="script" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>ABCDEFGHIJKLMNOPQRSTUVWXYZ</m:t>
           </m:r>
           <m:r>
             <m:rPr>
-              <m:sty m:val="p" />
               <m:scr m:val="script" />
+              <m:sty m:val="p" />
             </m:rPr>
             <m:t>abcdefghijklmnopqrstuvwxyz</m:t>
           </m:r>
@@ -135,15 +135,15 @@
         <m:e>
           <m:r>
             <m:rPr>
-              <m:sty m:val="b" />
               <m:scr m:val="script" />
+              <m:sty m:val="b" />
             </m:rPr>
             <m:t>ABCDEFGHIJKLMNOPQRSTUVWXYZ</m:t>
           </m:r>
           <m:r>
             <m:rPr>
-              <m:sty m:val="b" />
               <m:scr m:val="script" />
+              <m:sty m:val="b" />
             </m:rPr>
             <m:t>abcdefghijklmnopqrstuvwxyz</m:t>
           </m:r>
diff --git a/test/writer/omml/schwinger_dyson.test b/test/writer/omml/schwinger_dyson.test
--- a/test/writer/omml/schwinger_dyson.test
+++ b/test/writer/omml/schwinger_dyson.test
@@ -81,8 +81,8 @@
           <m:e>
             <m:r>
               <m:rPr>
-                <m:sty m:val="p" />
                 <m:scr m:val="script" />
+                <m:sty m:val="p" />
               </m:rPr>
               <m:t>T</m:t>
             </m:r>
@@ -176,8 +176,8 @@
           <m:e>
             <m:r>
               <m:rPr>
-                <m:sty m:val="p" />
                 <m:scr m:val="script" />
+                <m:sty m:val="p" />
               </m:rPr>
               <m:t>T</m:t>
             </m:r>
diff --git a/test/writer/omml/sphere_volume.test b/test/writer/omml/sphere_volume.test
--- a/test/writer/omml/sphere_volume.test
+++ b/test/writer/omml/sphere_volume.test
@@ -237,528 +237,509 @@
       </m:rPr>
       <m:t>}</m:t>
     </m:r>
-    <m:m>
-      <m:mPr>
-        <m:baseJc m:val="center" />
-        <m:plcHide m:val="on" />
-        <m:mcs>
-          <m:mc>
-            <m:mcPr>
-              <m:mcJc m:val="right" />
-              <m:count m:val="1" />
-            </m:mcPr>
-          </m:mc>
-          <m:mc>
-            <m:mcPr>
-              <m:mcJc m:val="left" />
-              <m:count m:val="1" />
-            </m:mcPr>
-          </m:mc>
-        </m:mcs>
-      </m:mPr>
-      <m:mr>
-        <m:e>
-          <m:r>
-            <m:rPr>
-              <m:sty m:val="p" />
-            </m:rPr>
-            <m:t>V</m:t>
-          </m:r>
-          <m:r>
-            <m:rPr>
-              <m:sty m:val="p" />
-            </m:rPr>
-            <m:t>o</m:t>
-          </m:r>
-          <m:r>
-            <m:rPr>
-              <m:sty m:val="p" />
-            </m:rPr>
-            <m:t>l</m:t>
-          </m:r>
-          <m:r>
-            <m:rPr>
-              <m:sty m:val="p" />
-            </m:rPr>
-            <m:t>u</m:t>
-          </m:r>
-          <m:r>
-            <m:rPr>
-              <m:sty m:val="p" />
-            </m:rPr>
-            <m:t>m</m:t>
-          </m:r>
-          <m:r>
-            <m:rPr>
-              <m:sty m:val="p" />
-            </m:rPr>
-            <m:t>e</m:t>
-          </m:r>
-        </m:e>
-        <m:e>
-          <m:r>
-            <m:rPr>
-              <m:sty m:val="p" />
-            </m:rPr>
-            <m:t>=</m:t>
-          </m:r>
-          <m:nary>
-            <m:naryPr>
-              <m:chr m:val="∭" />
-              <m:limLoc m:val="undOvr" />
-              <m:subHide m:val="off" />
-              <m:supHide m:val="on" />
-            </m:naryPr>
-            <m:sub>
-              <m:r>
-                <m:t>S</m:t>
-              </m:r>
-            </m:sub>
-            <m:sup>
-              <m:r>
-                <m:t>&#8203;</m:t>
-              </m:r>
-            </m:sup>
-            <m:e>
-              <m:r>
-                <m:t>&#8203;</m:t>
-              </m:r>
-            </m:e>
-          </m:nary>
-          <m:sSup>
-            <m:e>
-              <m:r>
-                <m:t>ρ</m:t>
-              </m:r>
-            </m:e>
-            <m:sup>
-              <m:r>
-                <m:t>2</m:t>
-              </m:r>
-            </m:sup>
-          </m:sSup>
-          <m:r>
-            <m:rPr>
-              <m:sty m:val="p" />
-            </m:rPr>
-            <m:t>sin</m:t>
-          </m:r>
-          <m:r>
-            <m:t>θ</m:t>
-          </m:r>
-          <m:r>
-            <m:t> </m:t>
-          </m:r>
-          <m:r>
-            <m:rPr>
-              <m:sty m:val="p" />
-            </m:rPr>
-            <m:t>d</m:t>
-          </m:r>
-          <m:r>
-            <m:t>ρ</m:t>
-          </m:r>
-          <m:r>
-            <m:t> </m:t>
-          </m:r>
-          <m:r>
-            <m:rPr>
-              <m:sty m:val="p" />
-            </m:rPr>
-            <m:t>d</m:t>
-          </m:r>
-          <m:r>
-            <m:t>θ</m:t>
-          </m:r>
-          <m:r>
-            <m:t> </m:t>
-          </m:r>
-          <m:r>
-            <m:rPr>
-              <m:sty m:val="p" />
-            </m:rPr>
-            <m:t>d</m:t>
-          </m:r>
-          <m:r>
-            <m:t>ϕ</m:t>
-          </m:r>
-        </m:e>
-      </m:mr>
-      <m:mr>
-        <m:e />
-        <m:e>
-          <m:r>
-            <m:rPr>
-              <m:sty m:val="p" />
-            </m:rPr>
-            <m:t>=</m:t>
-          </m:r>
-          <m:nary>
-            <m:naryPr>
-              <m:chr m:val="∫" />
-              <m:limLoc m:val="subSup" />
-              <m:subHide m:val="off" />
-              <m:supHide m:val="off" />
-            </m:naryPr>
-            <m:sub>
-              <m:r>
-                <m:t>0</m:t>
-              </m:r>
-            </m:sub>
-            <m:sup>
-              <m:r>
-                <m:t>2</m:t>
-              </m:r>
-              <m:r>
-                <m:t>π</m:t>
-              </m:r>
-            </m:sup>
-            <m:e>
-              <m:r>
-                <m:t>&#8203;</m:t>
-              </m:r>
-            </m:e>
-          </m:nary>
-          <m:r>
-            <m:rPr>
-              <m:sty m:val="p" />
-            </m:rPr>
-            <m:t>d</m:t>
-          </m:r>
-          <m:r>
-            <m:t>ϕ</m:t>
-          </m:r>
-          <m:r>
-            <m:t> </m:t>
-          </m:r>
-          <m:nary>
-            <m:naryPr>
-              <m:chr m:val="∫" />
-              <m:limLoc m:val="subSup" />
-              <m:subHide m:val="off" />
-              <m:supHide m:val="off" />
-            </m:naryPr>
-            <m:sub>
-              <m:r>
-                <m:t>0</m:t>
-              </m:r>
-            </m:sub>
-            <m:sup>
-              <m:r>
-                <m:t>π</m:t>
-              </m:r>
-            </m:sup>
-            <m:e>
-              <m:r>
-                <m:t>&#8203;</m:t>
-              </m:r>
-            </m:e>
-          </m:nary>
-          <m:r>
-            <m:rPr>
-              <m:sty m:val="p" />
-            </m:rPr>
-            <m:t>sin</m:t>
-          </m:r>
-          <m:r>
-            <m:t>θ</m:t>
-          </m:r>
-          <m:r>
-            <m:t> </m:t>
-          </m:r>
-          <m:r>
-            <m:rPr>
-              <m:sty m:val="p" />
-            </m:rPr>
-            <m:t>d</m:t>
-          </m:r>
-          <m:r>
-            <m:t>θ</m:t>
-          </m:r>
-          <m:r>
-            <m:t> </m:t>
-          </m:r>
-          <m:nary>
-            <m:naryPr>
-              <m:chr m:val="∫" />
-              <m:limLoc m:val="subSup" />
-              <m:subHide m:val="off" />
-              <m:supHide m:val="off" />
-            </m:naryPr>
-            <m:sub>
-              <m:r>
-                <m:t>0</m:t>
-              </m:r>
-            </m:sub>
-            <m:sup>
-              <m:r>
-                <m:t>R</m:t>
-              </m:r>
-            </m:sup>
-            <m:e>
-              <m:r>
-                <m:t>&#8203;</m:t>
-              </m:r>
-            </m:e>
-          </m:nary>
-          <m:sSup>
-            <m:e>
-              <m:r>
-                <m:t>ρ</m:t>
-              </m:r>
-            </m:e>
-            <m:sup>
-              <m:r>
-                <m:t>2</m:t>
-              </m:r>
-            </m:sup>
-          </m:sSup>
-          <m:r>
-            <m:rPr>
-              <m:sty m:val="p" />
-            </m:rPr>
-            <m:t>d</m:t>
-          </m:r>
-          <m:r>
-            <m:t>ρ</m:t>
-          </m:r>
-        </m:e>
-      </m:mr>
-      <m:mr>
-        <m:e />
-        <m:e>
-          <m:r>
-            <m:rPr>
-              <m:sty m:val="p" />
-            </m:rPr>
-            <m:t>=</m:t>
-          </m:r>
-          <m:r>
-            <m:t>ϕ</m:t>
-          </m:r>
-          <m:sSubSup>
-            <m:e>
-              <m:r>
-                <m:rPr>
-                  <m:sty m:val="p" />
-                </m:rPr>
-                <m:t>|</m:t>
-              </m:r>
-            </m:e>
-            <m:sub>
-              <m:r>
-                <m:t>0</m:t>
-              </m:r>
-            </m:sub>
-            <m:sup>
-              <m:r>
-                <m:t>2</m:t>
-              </m:r>
-              <m:r>
-                <m:t>π</m:t>
-              </m:r>
-            </m:sup>
-          </m:sSubSup>
-          <m:r>
-            <m:t> </m:t>
-          </m:r>
-          <m:d>
-            <m:dPr>
-              <m:begChr m:val="(" />
-              <m:sepChr m:val="" />
-              <m:endChr m:val=")" />
-              <m:grow />
-            </m:dPr>
-            <m:e>
-              <m:r>
-                <m:rPr>
-                  <m:sty m:val="p" />
-                </m:rPr>
-                <m:t>−</m:t>
-              </m:r>
-              <m:r>
-                <m:rPr>
-                  <m:sty m:val="p" />
-                </m:rPr>
-                <m:t>cos</m:t>
-              </m:r>
-              <m:r>
-                <m:t>θ</m:t>
-              </m:r>
-            </m:e>
-          </m:d>
-          <m:sSubSup>
-            <m:e>
-              <m:r>
-                <m:rPr>
-                  <m:sty m:val="p" />
-                </m:rPr>
-                <m:t>|</m:t>
-              </m:r>
-            </m:e>
-            <m:sub>
-              <m:r>
-                <m:t>0</m:t>
-              </m:r>
-            </m:sub>
-            <m:sup>
-              <m:r>
-                <m:t>π</m:t>
-              </m:r>
-            </m:sup>
-          </m:sSubSup>
-          <m:r>
-            <m:t> </m:t>
-          </m:r>
-          <m:f>
-            <m:fPr>
-              <m:type m:val="lin" />
-            </m:fPr>
-            <m:num>
-              <m:r>
-                <m:t>1</m:t>
-              </m:r>
-            </m:num>
-            <m:den>
-              <m:r>
-                <m:t>3</m:t>
-              </m:r>
-            </m:den>
-          </m:f>
-          <m:sSup>
-            <m:e>
-              <m:r>
-                <m:t>ρ</m:t>
-              </m:r>
-            </m:e>
-            <m:sup>
-              <m:r>
-                <m:t>3</m:t>
-              </m:r>
-            </m:sup>
-          </m:sSup>
-          <m:sSubSup>
-            <m:e>
-              <m:r>
-                <m:rPr>
-                  <m:sty m:val="p" />
-                </m:rPr>
-                <m:t>|</m:t>
-              </m:r>
-            </m:e>
-            <m:sub>
-              <m:r>
-                <m:t>0</m:t>
-              </m:r>
-            </m:sub>
-            <m:sup>
-              <m:r>
-                <m:t>R</m:t>
-              </m:r>
-            </m:sup>
-          </m:sSubSup>
-        </m:e>
-      </m:mr>
-      <m:mr>
-        <m:e />
-        <m:e>
-          <m:r>
-            <m:rPr>
-              <m:sty m:val="p" />
-            </m:rPr>
-            <m:t>=</m:t>
-          </m:r>
-          <m:r>
-            <m:t>2</m:t>
-          </m:r>
-          <m:r>
-            <m:t>π</m:t>
-          </m:r>
-          <m:r>
-            <m:rPr>
-              <m:sty m:val="p" />
-            </m:rPr>
-            <m:t>×</m:t>
-          </m:r>
-          <m:r>
-            <m:t>2</m:t>
-          </m:r>
-          <m:r>
-            <m:rPr>
-              <m:sty m:val="p" />
-            </m:rPr>
-            <m:t>×</m:t>
-          </m:r>
-          <m:f>
-            <m:fPr>
-              <m:type m:val="lin" />
-            </m:fPr>
-            <m:num>
-              <m:r>
-                <m:t>1</m:t>
-              </m:r>
-            </m:num>
-            <m:den>
-              <m:r>
-                <m:t>3</m:t>
-              </m:r>
-            </m:den>
-          </m:f>
-          <m:sSup>
-            <m:e>
-              <m:r>
-                <m:t>R</m:t>
-              </m:r>
-            </m:e>
-            <m:sup>
-              <m:r>
-                <m:t>3</m:t>
-              </m:r>
-            </m:sup>
-          </m:sSup>
-        </m:e>
-      </m:mr>
-      <m:mr>
-        <m:e />
-        <m:e>
-          <m:r>
-            <m:rPr>
-              <m:sty m:val="p" />
-            </m:rPr>
-            <m:t>=</m:t>
-          </m:r>
-          <m:f>
-            <m:fPr>
-              <m:type m:val="lin" />
-            </m:fPr>
-            <m:num>
-              <m:r>
-                <m:t>4</m:t>
-              </m:r>
-            </m:num>
-            <m:den>
-              <m:r>
-                <m:t>3</m:t>
-              </m:r>
-            </m:den>
-          </m:f>
-          <m:r>
-            <m:t>π</m:t>
-          </m:r>
-          <m:sSup>
-            <m:e>
-              <m:r>
-                <m:t>R</m:t>
-              </m:r>
-            </m:e>
-            <m:sup>
-              <m:r>
-                <m:t>3</m:t>
-              </m:r>
-            </m:sup>
-          </m:sSup>
-        </m:e>
-      </m:mr>
-    </m:m>
+    <m:eqArr>
+      <m:e>
+        <m:r>
+          <m:rPr>
+            <m:sty m:val="p" />
+          </m:rPr>
+          <m:t>V</m:t>
+        </m:r>
+        <m:r>
+          <m:rPr>
+            <m:sty m:val="p" />
+          </m:rPr>
+          <m:t>o</m:t>
+        </m:r>
+        <m:r>
+          <m:rPr>
+            <m:sty m:val="p" />
+          </m:rPr>
+          <m:t>l</m:t>
+        </m:r>
+        <m:r>
+          <m:rPr>
+            <m:sty m:val="p" />
+          </m:rPr>
+          <m:t>u</m:t>
+        </m:r>
+        <m:r>
+          <m:rPr>
+            <m:sty m:val="p" />
+          </m:rPr>
+          <m:t>m</m:t>
+        </m:r>
+        <m:r>
+          <m:rPr>
+            <m:sty m:val="p" />
+          </m:rPr>
+          <m:t>e</m:t>
+        </m:r>
+        <m:r>
+          <m:t>&amp;</m:t>
+        </m:r>
+        <m:r>
+          <m:rPr>
+            <m:sty m:val="p" />
+          </m:rPr>
+          <m:t>=</m:t>
+        </m:r>
+        <m:nary>
+          <m:naryPr>
+            <m:chr m:val="∭" />
+            <m:limLoc m:val="undOvr" />
+            <m:subHide m:val="off" />
+            <m:supHide m:val="on" />
+          </m:naryPr>
+          <m:sub>
+            <m:r>
+              <m:t>S</m:t>
+            </m:r>
+          </m:sub>
+          <m:sup>
+            <m:r>
+              <m:t>&#8203;</m:t>
+            </m:r>
+          </m:sup>
+          <m:e>
+            <m:r>
+              <m:t>&#8203;</m:t>
+            </m:r>
+          </m:e>
+        </m:nary>
+        <m:sSup>
+          <m:e>
+            <m:r>
+              <m:t>ρ</m:t>
+            </m:r>
+          </m:e>
+          <m:sup>
+            <m:r>
+              <m:t>2</m:t>
+            </m:r>
+          </m:sup>
+        </m:sSup>
+        <m:r>
+          <m:rPr>
+            <m:sty m:val="p" />
+          </m:rPr>
+          <m:t>sin</m:t>
+        </m:r>
+        <m:r>
+          <m:t>θ</m:t>
+        </m:r>
+        <m:r>
+          <m:t> </m:t>
+        </m:r>
+        <m:r>
+          <m:rPr>
+            <m:sty m:val="p" />
+          </m:rPr>
+          <m:t>d</m:t>
+        </m:r>
+        <m:r>
+          <m:t>ρ</m:t>
+        </m:r>
+        <m:r>
+          <m:t> </m:t>
+        </m:r>
+        <m:r>
+          <m:rPr>
+            <m:sty m:val="p" />
+          </m:rPr>
+          <m:t>d</m:t>
+        </m:r>
+        <m:r>
+          <m:t>θ</m:t>
+        </m:r>
+        <m:r>
+          <m:t> </m:t>
+        </m:r>
+        <m:r>
+          <m:rPr>
+            <m:sty m:val="p" />
+          </m:rPr>
+          <m:t>d</m:t>
+        </m:r>
+        <m:r>
+          <m:t>ϕ</m:t>
+        </m:r>
+      </m:e>
+      <m:e>
+        <m:r>
+          <m:t>&amp;</m:t>
+        </m:r>
+        <m:r>
+          <m:rPr>
+            <m:sty m:val="p" />
+          </m:rPr>
+          <m:t>=</m:t>
+        </m:r>
+        <m:nary>
+          <m:naryPr>
+            <m:chr m:val="∫" />
+            <m:limLoc m:val="subSup" />
+            <m:subHide m:val="off" />
+            <m:supHide m:val="off" />
+          </m:naryPr>
+          <m:sub>
+            <m:r>
+              <m:t>0</m:t>
+            </m:r>
+          </m:sub>
+          <m:sup>
+            <m:r>
+              <m:t>2</m:t>
+            </m:r>
+            <m:r>
+              <m:t>π</m:t>
+            </m:r>
+          </m:sup>
+          <m:e>
+            <m:r>
+              <m:t>&#8203;</m:t>
+            </m:r>
+          </m:e>
+        </m:nary>
+        <m:r>
+          <m:rPr>
+            <m:sty m:val="p" />
+          </m:rPr>
+          <m:t>d</m:t>
+        </m:r>
+        <m:r>
+          <m:t>ϕ</m:t>
+        </m:r>
+        <m:r>
+          <m:t> </m:t>
+        </m:r>
+        <m:nary>
+          <m:naryPr>
+            <m:chr m:val="∫" />
+            <m:limLoc m:val="subSup" />
+            <m:subHide m:val="off" />
+            <m:supHide m:val="off" />
+          </m:naryPr>
+          <m:sub>
+            <m:r>
+              <m:t>0</m:t>
+            </m:r>
+          </m:sub>
+          <m:sup>
+            <m:r>
+              <m:t>π</m:t>
+            </m:r>
+          </m:sup>
+          <m:e>
+            <m:r>
+              <m:t>&#8203;</m:t>
+            </m:r>
+          </m:e>
+        </m:nary>
+        <m:r>
+          <m:rPr>
+            <m:sty m:val="p" />
+          </m:rPr>
+          <m:t>sin</m:t>
+        </m:r>
+        <m:r>
+          <m:t>θ</m:t>
+        </m:r>
+        <m:r>
+          <m:t> </m:t>
+        </m:r>
+        <m:r>
+          <m:rPr>
+            <m:sty m:val="p" />
+          </m:rPr>
+          <m:t>d</m:t>
+        </m:r>
+        <m:r>
+          <m:t>θ</m:t>
+        </m:r>
+        <m:r>
+          <m:t> </m:t>
+        </m:r>
+        <m:nary>
+          <m:naryPr>
+            <m:chr m:val="∫" />
+            <m:limLoc m:val="subSup" />
+            <m:subHide m:val="off" />
+            <m:supHide m:val="off" />
+          </m:naryPr>
+          <m:sub>
+            <m:r>
+              <m:t>0</m:t>
+            </m:r>
+          </m:sub>
+          <m:sup>
+            <m:r>
+              <m:t>R</m:t>
+            </m:r>
+          </m:sup>
+          <m:e>
+            <m:r>
+              <m:t>&#8203;</m:t>
+            </m:r>
+          </m:e>
+        </m:nary>
+        <m:sSup>
+          <m:e>
+            <m:r>
+              <m:t>ρ</m:t>
+            </m:r>
+          </m:e>
+          <m:sup>
+            <m:r>
+              <m:t>2</m:t>
+            </m:r>
+          </m:sup>
+        </m:sSup>
+        <m:r>
+          <m:rPr>
+            <m:sty m:val="p" />
+          </m:rPr>
+          <m:t>d</m:t>
+        </m:r>
+        <m:r>
+          <m:t>ρ</m:t>
+        </m:r>
+      </m:e>
+      <m:e>
+        <m:r>
+          <m:t>&amp;</m:t>
+        </m:r>
+        <m:r>
+          <m:rPr>
+            <m:sty m:val="p" />
+          </m:rPr>
+          <m:t>=</m:t>
+        </m:r>
+        <m:r>
+          <m:t>ϕ</m:t>
+        </m:r>
+        <m:sSubSup>
+          <m:e>
+            <m:r>
+              <m:rPr>
+                <m:sty m:val="p" />
+              </m:rPr>
+              <m:t>|</m:t>
+            </m:r>
+          </m:e>
+          <m:sub>
+            <m:r>
+              <m:t>0</m:t>
+            </m:r>
+          </m:sub>
+          <m:sup>
+            <m:r>
+              <m:t>2</m:t>
+            </m:r>
+            <m:r>
+              <m:t>π</m:t>
+            </m:r>
+          </m:sup>
+        </m:sSubSup>
+        <m:r>
+          <m:t> </m:t>
+        </m:r>
+        <m:d>
+          <m:dPr>
+            <m:begChr m:val="(" />
+            <m:sepChr m:val="" />
+            <m:endChr m:val=")" />
+            <m:grow />
+          </m:dPr>
+          <m:e>
+            <m:r>
+              <m:rPr>
+                <m:sty m:val="p" />
+              </m:rPr>
+              <m:t>−</m:t>
+            </m:r>
+            <m:r>
+              <m:rPr>
+                <m:sty m:val="p" />
+              </m:rPr>
+              <m:t>cos</m:t>
+            </m:r>
+            <m:r>
+              <m:t>θ</m:t>
+            </m:r>
+          </m:e>
+        </m:d>
+        <m:sSubSup>
+          <m:e>
+            <m:r>
+              <m:rPr>
+                <m:sty m:val="p" />
+              </m:rPr>
+              <m:t>|</m:t>
+            </m:r>
+          </m:e>
+          <m:sub>
+            <m:r>
+              <m:t>0</m:t>
+            </m:r>
+          </m:sub>
+          <m:sup>
+            <m:r>
+              <m:t>π</m:t>
+            </m:r>
+          </m:sup>
+        </m:sSubSup>
+        <m:r>
+          <m:t> </m:t>
+        </m:r>
+        <m:f>
+          <m:fPr>
+            <m:type m:val="lin" />
+          </m:fPr>
+          <m:num>
+            <m:r>
+              <m:t>1</m:t>
+            </m:r>
+          </m:num>
+          <m:den>
+            <m:r>
+              <m:t>3</m:t>
+            </m:r>
+          </m:den>
+        </m:f>
+        <m:sSup>
+          <m:e>
+            <m:r>
+              <m:t>ρ</m:t>
+            </m:r>
+          </m:e>
+          <m:sup>
+            <m:r>
+              <m:t>3</m:t>
+            </m:r>
+          </m:sup>
+        </m:sSup>
+        <m:sSubSup>
+          <m:e>
+            <m:r>
+              <m:rPr>
+                <m:sty m:val="p" />
+              </m:rPr>
+              <m:t>|</m:t>
+            </m:r>
+          </m:e>
+          <m:sub>
+            <m:r>
+              <m:t>0</m:t>
+            </m:r>
+          </m:sub>
+          <m:sup>
+            <m:r>
+              <m:t>R</m:t>
+            </m:r>
+          </m:sup>
+        </m:sSubSup>
+      </m:e>
+      <m:e>
+        <m:r>
+          <m:t>&amp;</m:t>
+        </m:r>
+        <m:r>
+          <m:rPr>
+            <m:sty m:val="p" />
+          </m:rPr>
+          <m:t>=</m:t>
+        </m:r>
+        <m:r>
+          <m:t>2</m:t>
+        </m:r>
+        <m:r>
+          <m:t>π</m:t>
+        </m:r>
+        <m:r>
+          <m:rPr>
+            <m:sty m:val="p" />
+          </m:rPr>
+          <m:t>×</m:t>
+        </m:r>
+        <m:r>
+          <m:t>2</m:t>
+        </m:r>
+        <m:r>
+          <m:rPr>
+            <m:sty m:val="p" />
+          </m:rPr>
+          <m:t>×</m:t>
+        </m:r>
+        <m:f>
+          <m:fPr>
+            <m:type m:val="lin" />
+          </m:fPr>
+          <m:num>
+            <m:r>
+              <m:t>1</m:t>
+            </m:r>
+          </m:num>
+          <m:den>
+            <m:r>
+              <m:t>3</m:t>
+            </m:r>
+          </m:den>
+        </m:f>
+        <m:sSup>
+          <m:e>
+            <m:r>
+              <m:t>R</m:t>
+            </m:r>
+          </m:e>
+          <m:sup>
+            <m:r>
+              <m:t>3</m:t>
+            </m:r>
+          </m:sup>
+        </m:sSup>
+      </m:e>
+      <m:e>
+        <m:r>
+          <m:t>&amp;</m:t>
+        </m:r>
+        <m:r>
+          <m:rPr>
+            <m:sty m:val="p" />
+          </m:rPr>
+          <m:t>=</m:t>
+        </m:r>
+        <m:f>
+          <m:fPr>
+            <m:type m:val="lin" />
+          </m:fPr>
+          <m:num>
+            <m:r>
+              <m:t>4</m:t>
+            </m:r>
+          </m:num>
+          <m:den>
+            <m:r>
+              <m:t>3</m:t>
+            </m:r>
+          </m:den>
+        </m:f>
+        <m:r>
+          <m:t>π</m:t>
+        </m:r>
+        <m:sSup>
+          <m:e>
+            <m:r>
+              <m:t>R</m:t>
+            </m:r>
+          </m:e>
+          <m:sup>
+            <m:r>
+              <m:t>3</m:t>
+            </m:r>
+          </m:sup>
+        </m:sSup>
+      </m:e>
+    </m:eqArr>
   </m:oMath>
 </m:oMathPara>
diff --git a/test/writer/typst/primes1.test b/test/writer/typst/primes1.test
--- a/test/writer/typst/primes1.test
+++ b/test/writer/typst/primes1.test
@@ -37,4 +37,4 @@
 , ESuper (ESymbol Accent "'") (ESymbol Accent "'")
 ]
 >>> typst
-x^2 + 2^2 + x^(') + x^(') + x^("''") + x' + x^(')^(') + x^(')^2 + x^(' +') + x^(')^(') + x^('^(')) +'^(') +'^(')
+x^2 + 2^2 + x' + x^(') + x^("''") + x' + x^(')^(') + x^(')^2 + x^(' +') + x^(')^(') + x^('^(')) +'^(') +'^(')
diff --git a/test/writer/typst/primes2.test b/test/writer/typst/primes2.test
--- a/test/writer/typst/primes2.test
+++ b/test/writer/typst/primes2.test
@@ -27,4 +27,4 @@
 , ESuper (EIdentifier "H") (ESymbol Accent "\8279")
 ]
 >>> typst
-H^(\") H^(') H^(\*) H^(`) H^ª H^degree H^(²) H^(³) H^acute H^(¹) H^º H^quote.l.single H^quote.r.single H^quote.low.single H^quote.high.single H^quote.l.double H^quote.r.double H^quote.low.double H^quote.high.double H^(') H^('') H^(''') H^prime.rev H^prime.double.rev H^prime.triple.rev H^('''')
+H^(\") H^(') H^(\*) H^(`) H^ª H^degree H^(²) H^(³) H^acute H^(¹) H^º H^quote.l.single H^quote.r.single H^quote.low.single H^quote.high.single H^quote.l.double H^quote.r.double H^quote.low.double H^quote.high.double H' H^('') H^(''') H^prime.rev H^prime.double.rev H^prime.triple.rev H^('''')
diff --git a/texmath.cabal b/texmath.cabal
--- a/texmath.cabal
+++ b/texmath.cabal
@@ -1,5 +1,5 @@
 Name:                texmath
-Version:             0.12.8.13
+Version:             0.12.9
 Cabal-Version:       >= 1.10
 Build-type:          Simple
 Synopsis:            Conversion between math formats.
@@ -34,8 +34,8 @@
 Author:              John MacFarlane, Matthew Pickering
 Maintainer:          jgm@berkeley.edu
 Homepage:            http://github.com/jgm/texmath
-Extra-source-files:  README.markdown
-                     changelog
+Extra-source-files:  README.md
+                     changelog.md
                      man/texmath.1.md
                      man/Makefile
                      man/man1/texmath.1
@@ -61,7 +61,7 @@
 
 Source-repository head
   type:              git
-  location:          git://github.com/jgm/texmath.git
+  location:          https://github.com/jgm/texmath.git
 
 Flag executable
   description:       Compile test executable.
