首页 > temp > python入门教程 >
-
基于texlive定制chemfig化学式转换Python服务镜像
chemfig
据别人介绍,在绘制平面分子式,乃至化学反应式、机理图时,大家使用的基本都是ChemDraw。当然ChemDraw是一款强大的软件,无论是平面的还是立体的分子结构式都能毫不费力地绘制出来。当然这份强大是要钱的,对于平面的分子式或反应式,不要钱而且还可行的方案大致也就LaTeX语言中的Chemfig宏包。
Chemfig是法国学者开发的宏包,εTeX,pdfLaTeX等TeX编译器都能正常使用,并且相对来说开发是比较活跃的。
texlive
TeX Live 是 TUG (TeX User Group) 发布并维护的的 TeX 系统,可以称得上是TeX的官方系统。对于任何阶段的TeX用户,都可以使用TeX Live, 以保持在跨操作系统、跨用户的TeX文件一致性。
texlive Docker镜像及服务化改造
texlive的安装B站有很多教程,目标是需要提供绘制chemfig化学方程式转换的服务,而texlive软件本身并不提供相关的api服务,需要对其进行服务化改造,因为考虑容器化部署,需要将texlive封装成docker镜像
话不多说,我们选择的基础镜像是 texlive:2020 ,使用Python对外提供服务,关于texlive相关的介绍可以参考博客:chemfig化学式转换为pdf
拉取镜像并运行
安装python,制作texlive-python镜像
替换文件内容为阿里源: http://mirrors.aliyun.com/alpine/v3.8/main/ http://mirrors.aliyun.com/alpine/v3.8/community/
保存镜像
至此,我们的拥有python环境texlive镜像就已经制作好了
服务化改造
python脚本
Latex模板
template.tex
mol2chemfig.sty
requirements.txt
startup.sh
DockerFile
服务镜像制作
构建 texlive-python-api
跑一个试试
请求body
postman 拷贝出来放在浏览器就可以直接访问了,这个是a6纸张的渲染效果,可以根据图的大小动态的传入纸张规格 再来个大的
PS:LaTeX是一种基于ΤΕΧ的排版系统,不光是化学方程式,其他latex语法都可以通过本镜像渲染,template.tex是模板文件,对latex排版有要求的可以自行定制
参考链接
chemfig化学式转换为pdf:https://www.cnblogs.com/xiaoqi/p/chemfig.html mol2chemfig:http://chimpsky.uwaterloo.ca/mol2chemfig/index Chemfig中文手册:https://chemfig.man.huzheyang.cn/index.html 用latex绘制有机化学分子式:http://static.latexstudio.net/wp-content/uploads/2016/09/chemfig.pdf
__EOF__