I need to store equations in a text file, in a source format that can be converted to something that can be rendered (e.g. mathML). I like the format used in OpenOffice. I don't want to use TeX, or at least I don't want to pull in all the baggage of interpreting TeX. What format does OpenOffice Equation Editor use, and are there 3rd party command-line converters that will process this format? I don't want to have to run OpenOffice every time I need to render/convert my equations.
What format does OpenOffice Equation Editor use?
Just save any equation using Math and simply unpack it (it is ZIP packed).
For example if you create famous [E=mc²] and save it, then in
content.xml inside your
.odt file you will find something like this:
<?xml version="1.0" encoding="UTF-8"?> <math xmlns="http://www.w3.org/1998/Math/MathML"> <semantics> <mfenced open="[" close="]"><mrow> <mi>E</mi><mo stretchy="false">=</mo><msup><mi mathvariant="italic">mc</mi><mn>2</mn></msup> </mrow></mfenced> <annotation encoding="StarMath 5.0">left[ E=mc^2 right]</annotation> </semantics> </math>
As you see, Math stores equation in own format
annotation section, but you can use plain MathML as input format.
… command-line converters that will process this format
I believe, you can use Python API for Libre (Open) Office.
You can put your own equation in annotation (in StarMath's format). Looks like Math builds equation based on how it is represented in annotation and the rest of MathML file is just for representation/compatibility.
If MathML doesn't look like made from StartMath it will propose to "repair" the file and it will work just fine after this.
I assume you want to know about the math commands for OpenOffice Math. The commands are proprietary, and there don't seem to be any 3rd party converters.
The syntax in OpenOffice Math is based on eqn, which is much more readable than LaTeX. If you store equations as eqn code, you can render them very quickly with troff or convert to LaTeX and render that way. Troff's rendering of math is not quite as nice as LaTeX's, but troff is much more lightweight.
The format for StarMath is documented in the LibreOffice 4.4 Math Guide. Appendix A contains the Command Reference.