exe与源码 下载链接:https://sxf1024.lanzouv.com/b09tjx45a
密码:bgmy
背景说明
复制Word中的公式,有时候是对的,有时候是乱码,比如:
latex是识别不正确的:
手动转换方法
一种可行的方法是,先将Word的公式复制设置为“MathML”:
然后选中公式,并复制:
这时得到的MathML长这样:
p x y ^ = ( A 1 T A 1 ) - 1 A 1 T b 1
反正就是很长很看不懂。
然后用转换网页转为latex:
https://johnmacfarlane.net/texmath.html
这时候就可以正确识别latex了:
脚本设计自动转换
但每次都这样操作也太麻烦了吧。
所以设计了一个自动转换的脚本:
- 运行脚本后,在后台监听剪切板;
- 我们手动复制Word中的公式;
- 脚本检测到剪切板复制了东西进来,先判断是不是MathML格式;
- 如果是,就自动完成转换;
- 将转换后的结果,复制到剪切板;
- 我们直接Ctrl+V就可以了。
看下效果:
(虽然有这个选择界面,但目前还只是支持“MathMl转其他格式”)
实现代码
(由于代码编辑器会自动丢失部分代码,所以请进最上面的“下载链接”下载源码)
如果要打包成exe,使用:
pyinstaller -F .\mathml格式转latex.py --hidden-import plyer.platforms.win.notification
自己搭建转换服务器
转换用到的texmath是开源的,我们现在用的他的服务器。但用别人的,总担心哪天就挂了。因此我们也可以自己搭一个服务器:
- 首先免费领取(或购买)腾讯云轻量服务器:
- 领取地址:https://curl.qcloud.com/HfOuxzXC
- 购买地址:https://curl.qcloud.com/fnG9lyjo
- 创建Ubuntu环境,具体步骤可以参考这篇博文的“免费领取轻量应用服务器”和“SSH连接服务器”,非常详细。记得再开通一个3000端口哦:
http://xfxuezhang.cn/index.php/archives/418/ 输入安装命令:
sudo apt install haskell-stack -y
将 texmath 作为服务器运行
stack install --flag texmath:server
如果运气不好,跟我一样遇到了Timeout,就需要设置一下hosts文件。
首先查一下“raw.githubusercontent.com”对应的IP是什么。- 进入这个网站:https://ipaddress.com
- 分别搜索raw.githubusercontent.com和hackage.haskell.org
- 随便选一个IPv4的;
编辑hosts文件:
sudo vim /etc/hosts
在最后添加:
185.199.111.133 raw.githubusercontent.com 199.232.4.68 hackage.haskell.org
这时候再去执行上面的指令,应该就可以了,只不过等的有点久。。。
然后在端口 3000 上运行服务器,
texmath-server -p 3000
评论 (0)