Inserting MathMl , Tex or LaTex equation in MS wor

2020-06-05 02:34发布

问题:

I've been looking for some dll for .Net in C# for inserting any of MathMl , Tex or LaTex equations in MS Word, I tried some like DocX but they failed, do you know any? or any hint how to it? thanks

回答1:

Word (2007+) can accept MathML off the clipboard. The Windows 7 Math Input Panel for example, on its "insert" button simply puts the generated MathML on the clipboard and then sends a simulated control-v key event to the next active application which hopefully inserts the mathml at the current point.

Internally Word 2007 does this by running an XSLT stylesheet of the MathML to generate OOML markup which it then inserts to make a math zone in the docx file.

The stylesheet is typically installed as something like

/Program Files/Microsoft Office/Office12/OMML2MML.XSL

so an alternative approach which gives you more control is to use the .NET XSLT processor to transform the MathML to OMML and then either directly in the ooxml xml files or via the office API add the ooMML to the document's content xml.