使用python实现的一个latex转Mathml的命令行小工具(方便latex公式放到word里使用)

哇,又到了要写论文的时间,总是会有喜欢latex数学语法的同学,会烦恼怎么把latex的公式搞进word里。
(word2019明明说好了支持latex语法的,但就是转换不出来,很难受)
于是就有了下面的内容

事前准备

  • 安装好python环境
  • word2019(其他版本没实验过,应该都是可行的)
  • pip install latex2mathml

mathml 获取latex的解析能力

  • pip install pyperclip

pyperclip 方便将输出好的mathml直接复制到剪贴板上,然后复制就好了

l2m.py

import latex2mathml.converter
import pyperclip as pp

def parser_latex(latex_string):
    latex_input = latex_string #latex代码写在这里!!!!!
    mathml_output = latex2mathml.converter.convert(latex_input)
    pp.copy(mathml_output)
    print(">>",mathml_output)

def main():
    print("欢迎使用latex转mathml程序,输入latex后就可以直接粘贴到word里用了\n")
    while True:
        option = input("请输入要解析的latex的代码:\n>> ")
        if option == 'exit' or option == 'quit':
            print(">> 退出!\n")
            break
        elif option == '':
            print(">> 输入为空\n")
        elif option == 'help' or option == '-h':
            print(">> 将latex代码粘贴过来,回车就可以解析成mathml\n")
        else:
            parser_latex(option)
            print("已经复制好了,去word里粘贴一下吧\n")

if __name__ == '__main__':
    main()

使用

比如说下面这个公式
在这里插入图片描述
启动

python .\l2m.py
欢迎使用latex转mathml程序,输入latex后就可以直接粘贴到word里用了

请输入要解析的latex的代码:
>> g(x,y) = \frac{1}{n^2} \sum_{i=[n/2]}^{n/2} \sum_{j=[n/2]}^{n/2} f(x+i,x+j)
>> <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><mrow><mi>g</mi><mo stretchy="false">&#x00028;x,y)=1n2i=n/2n/2j=n/2n/2f(x+i,x+j)
已经复制好了,去word里粘贴一下吧

请输入要解析的latex的代码:
>>

打开word,粘贴就可以看到下面的公式了

使用python实现的一个latex转Mathml的命令行小工具(方便latex公式放到word里使用)_第1张图片
上面的虚线空格要消去,可以在里面打一个空格号

注意 word文档要用docx,而不是doc,否则显示不出公式

参考

https://blog.csdn.net/Aldielshala/article/details/104784081
https://blog.csdn.net/qq_39241986/article/details/105781202

做完这些发现论文还没写多少的我,不禁瑟瑟发抖了起来

你可能感兴趣的:(python,latex)