tex怎么转化java_latex转word公式 java (latextoword,latex_word,latex2word,latex_omml)

latex_word

主要目的:

给大家分享一个我的原创作品:latex转为word公式(omml)工具 [java]

此工具主要用于将含有latex公式的文本下载成word时,将latex转换为word格式的公式

如果这不是你想要的你走吧,不要给我打赏

创作背景:  (纯粹扯淡,可以忽略)

需要将html格式且带有latex公式的试题下载成word版的试卷

html转到word版并且要求一定的排版,还有一些可配置显示,这块也比较难弄,我的另一篇文章有分享

起初用了一些别人编写的转换工具,大多是先将latex转为mathml,再由mathml转为omml(word的公式),但其中有很多公式

转换不出来或转换出错,转换出错的再用另一种将latex转换为图片的形式,这样做到一个折中的方案,但在显示效果上图片相

对于word公式还是有很大差距的,另外图片的公式不能编辑,不是很理想,于是打算自己写一个转换工具

因此我的第一个原创作品出现了,给大家分享一下

latex:

mathml:

omml:

一般转换步骤:

\(\sqrt[3]{2+x}\)

2+x3

32+x

我的工具:

\(\sqrt[3]{2+x}\)

不需做中转,直接转omml

32+x

作品简介:

支持以 \( \),\[ \],$ $,$$ $$ 为公式边界的latex代码的转换

\(\sqrt[3]{2+x}\) \[\{\frac{3-a}{2+x}\}\] $3^(x+1)$ $$sum\limits_{i=1}^n$$

支持较复杂公式的转换

\(f(x)= \begin{cases}x,x>0 \\ 0,x=0 \\-x,x<0 \end{cases}\)

\(\left\{ \begin{array}{l}{x+y-1≥0} \\ {x-1≤0} \\ {ax-y+1≥0} \end{array} \right.\)

\(7+97+997+9997+\cdots\underbrace{99\cdots9}_{10个9}7\)

支持部分字体转换

\(37.5^\circ {\rm C}\) \(str\bf{B}C^\circ\)

使用方法:

给诸位献上我的工具包:https://github.com/mao-yuwei/latex_word.git

将下载下来的 latex-word-1.0.x.jar导入本地maven库

依赖jar:jackson-databind-2.9.x.jar

mvn install:install-file -Dfile=(jar包的位置) -DgroupId=com.latextoword -DartifactId=latex-word -Dversion=1.0.x -Dpackaging=jar

pom添加依赖

com.latextoword

latex-word

1.0.x

com.fasterxml.jackson.core

jackson-databind

2.9.3

调用代码

public static voidmain(String[] args) {

String latexStr="\\(\\sqrt[3]{2+x}\\)";

String omml=Latex_Word.latexToWord(latexStr);

System.out.println(omml);

}

如果在调用之前你已经处理掉公式边界,用下面的方法

public static voidmain(String[] args) {

String latexStr="\\sqrt[3]{2+x}";

String omml=Latex_Word.latexToWordAlreadyClean(latexStr);

System.out.println(omml);

}

输出:无异常输出

32+x

输出:有异常

ERROR

有异常时日志会打印发生异常的位置(这种情况时,先检查latex公式有没有错误,如果没错请告诉我不能解析的公式,以便我及时修复,完善)

五月 16, 2019 2:39:43下午 com.latextoword.Latex_Word latexToWordAlreadyClean

信息: [latexToWord:ERROR]:ERROR:解析标记:[\sqqq]没有对应的解析规则

ERROR

验证公式转换的是否正确:

>>新建word文档

>> 将word文档另存为 Word Xml 文档(*.xml)的格式

>>用NotePad++等工具以文本的形式打开另存后的.xml文件

>> 在

标签之间粘贴进出转换后的omml公式,保存

>> 直接打开.xml文件就可以看见公式在word里面显示了

a5aa8ad01664bb83ce26b67444a32676.png

04aae08d7f3abf2c6437408dc5dbf089.png

小结:

此工具已经过大量公式测试,但应该还有不能转换的公式,如果有遇到敬请告知

公式展示字体相对大小这块没兼顾

在内容完整度上还是可以的

如果有将html的题文下载成word的需求可以看下面这篇文章

如果你觉得这个工具对你还有一点用处或将来能用到,请走这里,不要太多意思意思就行了

有想法的,有问题的猿请走这里:mao_yuwei@163.com

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值