当前位置: 首页 > 科技观察

一行代码可以写出Latex公式,写论文必备这个4.6M的Python插件

时间:2023-03-18 12:34:09 科技观察

写论文的时候敲出一堆计算公式,被虐到秃顶?做讲座PPT时,几十页的计算推理公式,是不是迫不及待地手写、拍照?现在,是时候解放您的双手了。你只需要掌握一点Python语法。上面的公式只需要4行就可以生成,其中3行还是Python的计算公式。△没错,这个叫handcalcs的工具包就这么几行就生成了Latex公式,但是你不需要学习Latex复杂的语法。关键是大小只有4.6MB,相当于Jupyter中的一个小插件。平方、平方根、分数、三角函数、脚注……这个插件功能齐全,不仅可以生成公式,还可以计算结果。此外,还有单位转换、格式调整等功能。让我们看看如何使用它。基础版:公式+计算安装了handcalcs插件后,Python从无情的计算器升级为华丽的公式生成器。基于Python语法,计算公式以Latex格式呈现,仅需一行代码。没错,这行代码就是%%render。也就是说,如果要生成Latex公式,只需要在计算公式前加上%%render即可。不仅如此,Python会自动为你计算结果。如下图,先设置a、b、c三个参数的值,然后用Python列出表达式,把%%render放在最前面。然后,列出x的表达式。点一下duang,就会显示用a、b、c用x表示的结果,同时计算出结果。不再需要输入大段复杂的Latex语法来生成复杂的计算公式。另外,如果你想在一个函数中使用这个工具插件,那就加一行@handcalc(),但是要注意returnlocals(),像这样:生成的效果也是一样的。另外,如果需要在公式中加入判断条件,系统也可以生成。至于积分什么的,没有压力产生。你以为这就是结局?现在还早,生成Latex公式只是这个工具的基本用法。进阶版:格式+单位转换另外,handcalcs还有格式调整、特殊字符、单位转换等功能。格式调整首先是参数格式的调整。如果在一个公式中使用了多个参数,但单行参数会造成纸张浪费和可读性差,请尝试添加一行##Parameters。这样一行可以放3个参数,而且不占空间(减少行距)。当然,如果一行公式显得过于拥挤,你也可以调整它的长度。只需在公式前加上#long或#short,公式就可以随心所欲地改成几行,让推导过程看起来更清晰。另外,如果不想在结论中给出计算结果,也可以只保留参数公式,在前面加上#symbolic即可。如下图所示,原来的计算结果会被隐藏,取而代之的是一个只有参数的表达式。△当你的数学老师要你计算公式时,如果你想在公式后面加上一些注释(或者类似“公式3.1”之类的东西),也可以直接在这里生成。另外,对于特殊字符的生成,这里也有方法。特殊字符如果需要在字母的右下角标注一些脚注,有些脚注也可能是“matryoshka”。没关系,一个下划线就搞定了,一个不够就加几个。此外,各种发音奇怪的希腊字母,以及特殊字符等,也可以根据发音在这里生成。单位换算最重要的是handcalcs不仅仅是一个数学计算公式生成器,它还有单位换算的功能。如果是物理中的计算公式,输入表达式和单位后,handcalcs可以自动生成单位换算结果。这样的话,就不用费劲去罗列维度,看看这两个单位相乘相除的结果是什么了。转换为Latex语法当然,如果你想将生成的Latex公式恢复为Latex语法,粘贴回Latex中使用,这里也提供了一个非常方便的操作。只需要一个%%tex,handcalc会自动为你生成Latex语法。次要限制但是,此套件有一些次要限制。例如,并不是所有的数据类型都适合,比如Python的“容器数据”(集合)。另外,并不是所有Python中的公式都适用,比如for不支持这个工具的渲染。但是除了这些小限制,这个工具包还是一个强大的公式生成器,论文中需要生成的公式基本够用了。还有一些其他的详细功能,大家可以查看下面的传送门。作者介绍了这个工具的制作者ConnorFerster,他不是计算机专业的,但是对Python非常感兴趣。根据康纳在社交媒体上的自我介绍,他目前是一名土木工程专业的学生。因此,土木工程论文所需的计算量可能会很多?门户工具包链接:https://github.com/connorferster/handcalcs