社区
教程
Wiki
注册
登录
创作新主题
社区所有版块导航
Python
python开源
Django
Python
DjangoApp
pycharm
DATA
docker
Elasticsearch
分享
问与答
闲聊
招聘
翻译
创业
分享发现
分享创造
求职
区块链
支付之战
aigc
aigc
chatgpt
WEB开发
linux
MongoDB
Redis
DATABASE
NGINX
其他Web框架
web工具
zookeeper
tornado
NoSql
Bootstrap
js
peewee
Git
bottle
IE
MQ
Jquery
机器学习
机器学习算法
Python88.com
反馈
公告
社区推广
产品
短视频
印度
印度
一周十大热门主题
机器学习学术速递[7.15]
潘渡招商ETF持仓系列:Galaxy Digital -致力于成为加密货币界的“高盛”
Nginx 正式拥抱现代 JavaScript!
速递|OpenAI亲自下场做Agent,ChatGPT能做Excel和PPT,Manus们还卷得动吗...
AI日报:12306 MCP Server上线;百度推AI搜索助手Tizzy.ai;ChatGPT录...
OpenAI 史上最惨发布:ChatGPT Agent 遭暴击,国产 AI 轮番「公开处刑」
机器学习学术速递[7.16]
Cell重磅综述---从ChatGPT到AlphaFold:生成式AI正在重写生物医学未来!
深度学习中的“捷径”:残差网络(ResNet)
CGI科技周报(2025第29周)| ChatGPT Agent、自主微创手术机器人、AI预测结构性...
关注
Py学习
»
Python
1行代码搞定Latex公式编写,这个4.6M的Python小插件,堪称论文必备神器
互联网侦察
• 4 年前 • 546 次点击
写论文时,手敲成堆的计算公式,被虐到头秃?
做讲课PPT时,几十页的计算推理公式,恨不得直接手写拍照?
现在,解放双
手的时
刻来了,只需要掌握
一点Python语法
,上面的公式只需要4行就能生成,其中3行还是Python的计算公式。
△
没错,就是这几行
这款名为
handcalcs
的工具包,生成Latex公式,但不用学Latex复杂的语法。
关键是,大小
只有4.6MB
,相当于Jupyter里一个小小的插件。
平方、平方根、分式、三角函数、脚注……这个插件的功能五脏俱全,不仅能生成公式,还能计算结果。
此外,也有单位换算、格式调整等功能。
来看看它的用法。
基础版:公式+计算
装上handcalcs插件后,Python就从一个无情的计算器,升级成了华丽的公式生成器。
在Python语法基础上,将计算公式呈现为Latex格式,只需要加
一行代码
。
没错,这行代码就是%%render。
也就是说,如果你想要生成Latex公式,只需要在计算公式前加个%%render。
不仅如此,Python还会自动帮你计算出结果。
如下图,先设好3个参数a、b、c的值,然后用Python列出表达式,在最前面放个%%render。
然后,列出x的表达式。
duang的一下,x用a、b、c表达的结果就展示了出来,而且还算出了结果。
再也不用输入大段Latex的复杂语法,生成复杂的计算公式了。
此外,如果想在函数中用这个工具插件,那就再加一行@handcalc(),但要注意return locals(),像这样:
生成的效果也是一样的。
此外,如果需要在公式中加上判断条件,系统也能生成。
至于积分什么的,生成起来也无压力。
你以为这就结束了?
还早,生成Latex公式只是这个工具的基础用法。
进阶版:格式+单位换算
此外,handcalcs还带有格式调整、特殊字符、
单位换算
等功能。
格式调整
首先,是对参数格式的调整。
如果你在某个公式中用到了好几个参数,但这些参数单独占一行会导致
浪费纸张
可读性很差,那就试试加一行##Parameters。
这样,一行里面就能放3个参数,而且不占很多地儿
(减小行间距)
。
当然,如果一行公式看起来太拥挤,还能调整它的长短。
只需要在公式前面加上#long或者#short,公式就能根据你的心意变成几行,使推导过程看起来更清晰。
此外,如果不想在结论中给出计算结果,只保留参数公式,也是可以的,在前面加个#symbolic就好了。
如下图,原本的计算结果就会被隐去,取而代之的是只有参数的表达式。
△
当你的数学老师想让你计算公式时
而如果想在公式后面加些注释
(或者「式3.1」这种东西)
,这里也能直接生成。
此外,对于特殊字符的生成,这里也有方法。
特殊字符
如果你需要在字母右下角标些脚注,有的脚注可能还会「套娃」。
没关系,用一个下划线就能搞定,一个不够,就多来几个。
此外,有着各种奇怪念法的希腊字母、还有特殊字符等,这里也能根据读音生成。
单位换算
最关键的是,handcalcs绝不仅仅是数学计算式生成器,它还带有单位换算的功能。
如果是物理方面的计算公式,输入表达式和单位后,handcalcs能自动生成单位换算结果。
这样的话,就不用再费劲地列量纲,看这两个单位相乘相除的结果究竟是个啥了。
转成Latex语法
当然,如果你想将生成的Latex公式还原成Latex语法,粘回Latex中去用,这里也提供了非常便捷的操作。
只需要一个%%tex,handcalc就会自动帮你生成Latex语法。
小限制
不过,这个工具包也有一些小限制。
例如,并非所有的数据类型都适用,例如Python的「容器数据」
(collections)
。
此外,也并非Python中的所有公式都适用,例如for就不支持这个工具的渲染。
但除了这些小限制外,这个工具包不失为一个强大的公式生成器,论文中需要生成的公式基本都够用了。
还有一些其他的细节功能,可以戳下方传送门查看。
作者介绍
这份工具的制作者Connor Ferster,并不是计算机专业出身,不过他对Python很感兴趣。
据Conner在社交媒体上的自我介绍,他目前是一名土木工程系的学生。
所以,土木工程论文需求的计算量可能真挺多的?
传送门
工具包链接:
https://github.com/connorferster/handcalcs
Python社区是高质量的Python/Django开发社区
本文地址:
http://www.python88.com/topic/72649
546 次点击
登录后回复