百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程字典 > 正文

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

toyiye 2024-09-04 20:15 4 浏览 0 评论

萧箫 发自 凹非寺
量子位 报道 | 公众号 QbitAI

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

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

— 完 —

量子位 QbitAI · 头条号签约

关注我们,第一时间获知前沿科技动态

相关推荐

# Python 3 # Python 3字典Dictionary(1)

Python3字典字典是另一种可变容器模型,且可存储任意类型对象。字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中,格式如...

Python第八课:数据类型中的字典及其函数与方法

Python3字典字典是另一种可变容器模型,且可存储任意类型对象。字典的每个键值...

Python中字典详解(python 中字典)

字典是Python中使用键进行索引的重要数据结构。它们是无序的项序列(键值对),这意味着顺序不被保留。键是不可变的。与列表一样,字典的值可以保存异构数据,即整数、浮点、字符串、NaN、布尔值、列表、数...

Python3.9又更新了:dict内置新功能,正式版十月见面

机器之心报道参与:一鸣、JaminPython3.8的热乎劲还没过去,Python就又双叒叕要更新了。近日,3.9版本的第四个alpha版已经开源。从文档中,我们可以看到官方透露的对dic...

Python3 基本数据类型详解(python三种基本数据类型)

文章来源:加米谷大数据Python中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。在Python中,变量就是变量,它没有类型,我们所说的"类型"是变...

一文掌握Python的字典(python字典用法大全)

字典是Python中最强大、最灵活的内置数据结构之一。它们允许存储键值对,从而实现高效的数据检索、操作和组织。本文深入探讨了字典,涵盖了它们的创建、操作和高级用法,以帮助中级Python开发...

超级完整|Python字典详解(python字典的方法或操作)

一、字典概述01字典的格式Python字典是一种可变容器模型,且可存储任意类型对象,如字符串、数字、元组等其他容器模型。字典的每个键值key=>value对用冒号:分割,每个对之间用逗号,...

Python3.9版本新特性:字典合并操作的详细解读

处于测试阶段的Python3.9版本中有一个新特性:我们在使用Python字典时,将能够编写出更可读、更紧凑的代码啦!Python版本你现在使用哪种版本的Python?3.7分?3.5分?还是2.7...

python 自学,字典3(一些例子)(python字典有哪些基本操作)

例子11;如何批量复制字典里的内容2;如何批量修改字典的内容3;如何批量修改字典里某些指定的内容...

Python3.9中的字典合并和更新,几乎影响了所有Python程序员

全文共2837字,预计学习时长9分钟Python3.9正在积极开发,并计划于今年10月发布。2月26日,开发团队发布了alpha4版本。该版本引入了新的合并(|)和更新(|=)运算符,这个新特性几乎...

Python3大字典:《Python3自学速查手册.pdf》限时下载中

最近有人会想了,2022了,想学Python晚不晚,学习python有前途吗?IT行业行业薪资高,发展前景好,是很多求职群里严重的香饽饽,而要进入这个高薪行业,也不是那么轻而易举的,拿信工专业的大学生...

python学习——字典(python字典基本操作)

字典Python的字典数据类型是基于hash散列算法实现的,采用键值对(key:value)的形式,根据key的值计算value的地址,具有非常快的查取和插入速度。但它是无序的,包含的元素个数不限,值...

324页清华教授撰写【Python 3 菜鸟查询手册】火了,小白入门字典

如何入门学习python...

Python3.9中的字典合并和更新,了解一下

全文共2837字,预计学习时长9分钟Python3.9正在积极开发,并计划于今年10月发布。2月26日,开发团队发布了alpha4版本。该版本引入了新的合并(|)和更新(|=)运算符,这个新特性几乎...

python3基础之字典(python中字典的基本操作)

字典和列表一样,也是python内置的一种数据结构。字典的结构如下图:列表用中括号[]把元素包起来,而字典是用大括号{}把元素包起来,只不过字典的每一个元素都包含键和值两部分。键和值是一一对应的...

取消回复欢迎 发表评论:

请填写验证码