Tue 22 Nov 2016 05:39:54 PM EET, original submission:
When I tried to compile the code from a question on TeX.sx [1], I found several issues in ODT export:
1. The braces from \left are small, they don't cover the three lines in the multiline equation.
2. Instead of "<" characters at start of array columns, upsidedown "?" are displayed.
Ad 1: Definitions of \Configure{left} and \Configure{right} are redefined in oofficemml.4ht. It is generated from tex4htooffice.tex. There is a comment in the sources:
> OO doesn't seem to hono mfenced
I've tried to delete the configurations for `left` and `right` from oofficemml.4ht, so the default mathml configuration was used. This resulted in brackets of correct size, but wrong form. "(" instead of "{" was used, right bracket shouldn't be displayed at all.
I've took a look at the generated mathml code. For each math, one file named "filenamem{count}/content.xml" is created. The automatic size bracket are contained in `<mfenced>` element, with attributes `left` and `right`, where the bracket character is specified. mathml used in odf uses `math:` prefix on each element, this prefix must be used also on attributes. In our case `left` and `right` attributes didn't have this prefix, so they haven't been taken into the account and default brackets are used.
The prefixes are added using `\a:mathml` command in the tex4htmathml.tex, it is empty by default, but ooffice uses mathml: prefix. It is used on all element names and on most attributes, but it is missing on some of them, in particular in all configurations which use `<mfenced>` element.
I will add the prefix for the attributes to all configurations which use `<mfenced>` element and remove the configurations of "left" and "right" from oofficemml.4ht. But I guess there is much more instances of prefixless attributes which need to be fixed.
Also, maybe it is worth checking whether all mathml fixes in oofficemml.4ht are really useful, or if there were only some minor bugs in mathml.4ht as in this case.
Ad 2: It seems to be a bug in the LibreOffice mathml handling. Minimal example which shows this issue is ${} < c$
This result in following mathml:
<math:math xmlns:math="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink"> <math:mo><</math:mo> <math:mi> c</math:mi></math:math>
this seems like valid code and Firefox for instance has no problem in displaying that. It can be fixed if we add `<math:mtext />` tag before `<math:mo>`.
So my question is: is it really a bug in LO, or is there also some issue with the mathml from tex4ht? If it is bug in tex4ht, can we insert `<mtext />` automatically in the place of {} in the math context? Or is some postprocessing of the XML needed?
[1] http://tex.stackexchange.com/q/340322/2891
