社区所有版块导航
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
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

1行代码搞定Latex公式编写,这个4.6M的Python小插件,堪称论文必备神器

深度学习自然语言处理 • 4 年前 • 464 次点击  

点击上方,选择星标置顶,不定期资源大放送

阅读大概需要5分钟

Follow小博主,每天更新前沿干货

转自:量子位

写论文时,手敲成堆的计算公式,被虐到头秃?

做讲课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

下载一:中文版!学习TensorFlow、PyTorch、机器学习、深度学习和数据结构五件套!
后台回复【五件套


下载二:南大模式识别PPT
后台回复南大模式识别




说个正事哈



由于微信平台算法改版,公号内容将不再以时间排序展示,如果大家想第一时间看到我们的推送,强烈建议星标我们和给我们多点点【在看】。星标具体步骤为:

(1)点击页面最上方深度学习自然语言处理 ”,进入公众号主页。

(2)点击右上角的小点点,在弹出页面点击“设为星标”,就可以啦。

感谢支持,比心



投稿或交流学习,备注:昵称-学校(公司)-方向,进入DL&NLP交流群。

方向有很多:机器学习、深度学习,python,情感分析、意见挖掘、句法分析、机器翻译、人机对话、知识图谱、语音识别等

记得备注呦


推荐两个专辑给大家:
专辑 | 李宏毅人类语言处理2020笔记
专辑 | NLP论文解读
专辑 | 情感分析

整理不易,还望给个在看!

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/73441
 
464 次点击