[tex4ht] [bug #340] Math issues in the ODF export
Michal Hoftich
michal.h21 at gmail.com
Tue Nov 22 16:39:54 CET 2016
URL:
<http://puszcza.gnu.org.ua/bugs/?340>
Summary: Math issues in the ODF export
Project: tex4ht
Submitted by: michal_h21
Submitted on: Tue 22 Nov 2016 05:39:54 PM EET
Category: None
Priority: 5 - Normal
Severity: 5 - Normal
Status: None
Privacy: Public
Assigned to: None
Originator Email:
Open/Closed: Open
Discussion Lock: Any
_______________________________________________________
Details:
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
multi-line equation.
2. Instead of "<" characters at start of array columns, upside-down "?" are
displayed.
Ad 1: Definitions of \Configure{left} and \Configure{right} are redefined in
ooffice-mml.4ht. It is generated from tex4ht-ooffice.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
ooffice-mml.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
"filename-m{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 tex4ht-mathml.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
ooffice-mml.4ht. But I guess there is much more instances of prefix-less
attributes which need to be fixed.
Also, maybe it is worth checking whether all mathml fixes in ooffice-mml.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
post-processing of the XML needed?
[1] http://tex.stackexchange.com/q/340322/2891
_______________________________________________________
Reply to this item at:
<http://puszcza.gnu.org.ua/bugs/?340>
_______________________________________________
Message sent via/by Puszcza
http://puszcza.gnu.org.ua/
More information about the tex4ht
mailing list