将Microsoft Word方程转换为Latex

时间:2014-06-25 17:53:00

标签: python ms-word latex equation python-docx

我有一个docx文件,其中包含不同页面中的几个方程式。使用Python和lxml,我成功地提取了内容。我现在需要将Word中的方程式转换为Latex。一些方程显示为:

- eq \\f (sinx,\\r(1 - sin 2 x))

我可以使用任何工具的Python库将公式转换为Latex格式吗?

以下是我从docxfile / word / document.xml获取的XML文件片段:

<w:p w:rsidR="00677018" w:rsidRPr="007D05E5" w:rsidRDefault="00677018" w:rsidP="00677018">
            <w:pPr>
                <w:pStyle w:val="w" />
                <w:jc w:val="both" /></w:pPr>
            <w:r w:rsidRPr="007D05E5">
                <w:tab/>
                <w:t>a.</w:t>
            </w:r>
            <w:r w:rsidRPr="007D05E5">
                <w:tab/></w:r>
            <w:r w:rsidR="00453EF1" w:rsidRPr="007D05E5">
                <w:fldChar w:fldCharType="begin" /></w:r>
            <w:r w:rsidRPr="007D05E5">
                <w:instrText xml:space="preserve">eq \b\bc\[(\a\co2\hs4(7,-3,-1,2))</w:instrText>
            </w:r>
            <w:r w:rsidR="00453EF1" w:rsidRPr="007D05E5">
                <w:fldChar w:fldCharType="end" /></w:r>
            <w:r w:rsidRPr="007D05E5">
                <w:tab/>
                <w:t>b.</w:t>
            </w:r>
            <w:r w:rsidRPr="007D05E5">
                <w:tab/></w:r>
            <w:r w:rsidR="00453EF1" w:rsidRPr="007D05E5">
                <w:fldChar w:fldCharType="begin" /></w:r>
            <w:r w:rsidRPr="007D05E5">
                <w:instrText xml:space="preserve">eq \f(5,8)</w:instrText>
            </w:r>
            <w:r w:rsidR="00453EF1" w:rsidRPr="007D05E5">
                <w:fldChar w:fldCharType="end" /></w:r>
            <w:r w:rsidR="00453EF1" w:rsidRPr="007D05E5">
                <w:fldChar w:fldCharType="begin" /></w:r>
            <w:r w:rsidRPr="007D05E5">
                <w:instrText xml:space="preserve">eq \b\bc\[(\a\co2\hs4(7,-3,-1,2))</w:instrText>
            </w:r>
            <w:r w:rsidR="00453EF1" w:rsidRPr="007D05E5">
                <w:fldChar w:fldCharType="end" /></w:r>
        </w:p>

1 个答案:

答案 0 :(得分:1)

我不确定这本身就是一个答案,但也许在去一个人的路上。

我前一段时间寻找这样的工具并没有找到一个,所以我认为简短的答案是否定的。

Word支持多种方程式格式。您拥有的类型称为“Word EQ Field equation”。 http://office.microsoft.com/en-us/word-help/field-codes-eq-equation-field-HP005186148.aspx

我在搜索时找不到任何Python解决方案,我知道某些python-docx不支持它。希望我有更好的消息:(

如果您已经下定决心,似乎有一些非Python解决方案可以进行此转换,如果您决定自己鞭打它们,它们可能是一个替代或研究示例:)