Here is an example:
Input:
<math xmlns="http://www.w3.org/1998/Math/MathML">
<mi mathcolor="#FF0000">y</mi>
<mo mathcolor="#00FF00">−</mo>
<msub>
<mi mathcolor="#0000FF">y</mi>
<mn mathcolor="#FFFF00">0</mn>
</msub>
<mo mathcolor="#FF00FF">=</mo>
<mo mathcolor="#00FFFF">±</mo>
<mfrac mathcolor="#800000">
<mi mathcolor="#008000">a</mi>
<mi mathcolor="#000080">b</mi>
</mfrac>
<mo mathcolor="#808000">(</mo>
<mi mathcolor="#800080">x</mi>
<mo mathcolor="#008080">−</mo>
<msub>
<mi mathcolor="#808080">x</mi>
<mn mathcolor="#400000">0</mn>
</msub>
<mo mathcolor="#004000">)</mo>
</math>
Output:
{\color[rgb]{1.0, 0.0, 0.0}y}
{\color[rgb]{0.0, 1.0, 0.0}-}
{\color[rgb]{0.0, 0.0, 1.0}y}_{\color[rgb]{1.0, 1.0, 0.0}0}
{\color[rgb]{1.0, 0.0, 1.0}=}
{\color[rgb]{0.0, 1.0, 1.0}\pm}
{\color[rgb]{0.5, 0.0, 0.0}\frac{\color[rgb]{0.0, 0.5, 0.0}a}{\color[rgb]{0.0, 0.0, 0.5}b}}
{\color[rgb]{0.5, 0.5, 0.0}(}
{\color[rgb]{0.5, 0.0, 0.5}x}
{\color[rgb]{0.0, 0.5, 0.5}-}
{\color[rgb]{0.5, 0.5, 0.5}x}_{\color[rgb]{0.25, 0.0, 0.0}0}
{\color[rgb]{0.0, 0.25, 0.0})}
As you can see, I need mathcolor
attribute to be translated also. I have found online demo that does this (http://www.wiris.com/editor/demo/en/developers), but I need to run this on many, many examples. Any suggestions how I can do this? I need it to run on windows. Thanks.
Best Answer
In the end, this solved my problem: https://stackoverflow.com/questions/27196826/convert-mathml-to-latex
Most stylesheets that I found would ignore the
mathcolor
attribute. This one solved it for me https://sourceforge.net/projects/xsltml/.And since I've never before worked with stylesheets, I am writing this in case someone needs help with usage. Most languages have some support for xsl. For instance, in C#, this is the usage:
And that is about it. It works great.