
蕭箫 發自 凹非寺
量子位 報道 | 公衆号 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
—完—
@量子位 · 追蹤AI技術和産品新動态
深有感觸的朋友,歡迎贊同、關注、分享三連վ'ᴗ' ի ❤