寫論文時(shí),手敲成堆的計(jì)算公式,被虐到頭禿?

做講課PPT時(shí),幾十頁的計(jì)算推理公式,恨不得直接手寫拍照? 現(xiàn)在,解放雙手的時(shí)刻來了,只需要掌握一點(diǎn)Python語法,上面的公式只需要4行就能生成,其中3行還是Python的計(jì)算公式。

△沒錯,就是這幾行
這款名為handcalcs的工具包,生成Latex公式,但不用學(xué)Latex復(fù)雜的語法。 關(guān)鍵是,大小只有4.6MB,相當(dāng)于Jupyter里一個(gè)小小的插件。 平方、平方根、分式、三角函數(shù)、腳注……這個(gè)插件的功能五臟俱全,不僅能生成公式,還能計(jì)算結(jié)果。 此外,也有單位換算、格式調(diào)整等功能。 來看看它的用法。
基礎(chǔ)版:公式+計(jì)算
裝上handcalcs插件后,Python就從一個(gè)無情的計(jì)算器,升級成了華麗的公式生成器。 在Python語法基礎(chǔ)上,將計(jì)算公式呈現(xiàn)為Latex格式,只需要加一行代碼。 沒錯,這行代碼就是%%render。 也就是說,如果你想要生成Latex公式,只需要在計(jì)算公式前加個(gè)%%render。 不僅如此,Python還會自動幫你計(jì)算出結(jié)果。 如下圖,先設(shè)好3個(gè)參數(shù)a、b、c的值,然后用Python列出表達(dá)式,在最前面放個(gè)%%render。 然后,列出x的表達(dá)式。

duang的一下,x用a、b、c表達(dá)的結(jié)果就展示了出來,而且還算出了結(jié)果。 再也不用輸入大段Latex的復(fù)雜語法,生成復(fù)雜的計(jì)算公式了。 此外,如果想在函數(shù)中用這個(gè)工具插件,那就再加一行@handcalc(),但要注意return locals(),像這樣:

生成的效果也是一樣的。 此外,如果需要在公式中加上判斷條件,系統(tǒng)也能生成。

至于積分什么的,生成起來也無壓力。

你以為這就結(jié)束了? 還早,生成Latex公式只是這個(gè)工具的基礎(chǔ)用法。
進(jìn)階版:格式+單位換算
此外,handcalcs還帶有格式調(diào)整、特殊字符、單位換算等功能。
格式調(diào)整
首先,是對參數(shù)格式的調(diào)整。 如果你在某個(gè)公式中用到了好幾個(gè)參數(shù),但這些參數(shù)單獨(dú)占一行會導(dǎo)致浪費(fèi)紙張可讀性很差,那就試試加一行##Parameters。 這樣,一行里面就能放3個(gè)參數(shù),而且不占很多地兒(減小行間距)。

當(dāng)然,如果一行公式看起來太擁擠,還能調(diào)整它的長短。 只需要在公式前面加上#long或者#short,公式就能根據(jù)你的心意變成幾行,使推導(dǎo)過程看起來更清晰。

此外,如果不想在結(jié)論中給出計(jì)算結(jié)果,只保留參數(shù)公式,也是可以的,在前面加個(gè)#symbolic就好了。 如下圖,原本的計(jì)算結(jié)果就會被隱去,取而代之的是只有參數(shù)的表達(dá)式。

△當(dāng)你的數(shù)學(xué)老師想讓你計(jì)算公式時(shí)
而如果想在公式后面加些注釋(或者「式3.1」這種東西),這里也能直接生成。

此外,對于特殊字符的生成,這里也有方法。
特殊字符
如果你需要在字母右下角標(biāo)些腳注,有的腳注可能還會「套娃」。 沒關(guān)系,用一個(gè)下劃線就能搞定,一個(gè)不夠,就多來幾個(gè)。

此外,有著各種奇怪念法的希臘字母、還有特殊字符等,這里也能根據(jù)讀音生成。

單位換算
最關(guān)鍵的是,handcalcs絕不僅僅是數(shù)學(xué)計(jì)算式生成器,它還帶有單位換算的功能。 如果是物理方面的計(jì)算公式,輸入表達(dá)式和單位后,handcalcs能自動生成單位換算結(jié)果。

這樣的話,就不用再費(fèi)勁地列量綱,看這兩個(gè)單位相乘相除的結(jié)果究竟是個(gè)啥了。
轉(zhuǎn)成Latex語法
當(dāng)然,如果你想將生成的Latex公式還原成Latex語法,粘回Latex中去用,這里也提供了非常便捷的操作。 只需要一個(gè)%%tex,handcalc就會自動幫你生成Latex語法。

小限制
不過,這個(gè)工具包也有一些小限制。 例如,并非所有的數(shù)據(jù)類型都適用,例如Python的「容器數(shù)據(jù)」(collections)。 此外,也并非Python中的所有公式都適用,例如for就不支持這個(gè)工具的渲染。 但除了這些小限制外,這個(gè)工具包不失為一個(gè)強(qiáng)大的公式生成器,論文中需要生成的公式基本都夠用了。 還有一些其他的細(xì)節(jié)功能,可以戳下方傳送門查看。
-
代碼
+關(guān)注
關(guān)注
30文章
4932瀏覽量
72855 -
python
+關(guān)注
關(guān)注
57文章
4851瀏覽量
89350 -
LATEX
+關(guān)注
關(guān)注
0文章
13瀏覽量
8642
原文標(biāo)題:1行代碼搞定Latex公式編寫
文章出處:【微信號:cas-ciomp,微信公眾號:中科院長春光機(jī)所】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
語法糾錯和testbench的自動生成
學(xué)linux呢?還是去研究學(xué)習(xí)單片機(jī)內(nèi)核,一些很底層的東西啥的呢?
nuclei studio生成的c語言文件是不支持c的語法嗎?
邊緣計(jì)算網(wǎng)關(guān)的公式計(jì)算功能體現(xiàn)在哪
FOSAN 富捷科技揭秘:電阻公式的 “硬核邏輯”—— 從歐姆定律到 TCR 如何守護(hù)設(shè)備穩(wěn)定?
開發(fā)單片機(jī)需要學(xué)習(xí)什么?軟件編程的 4 個(gè)關(guān)鍵層次
電阻公式如何保障電子設(shè)備穩(wěn)定運(yùn)行
使用s32ds軟件時(shí),無法生成是怎么回事?
edge瀏覽器識別 latex語法插件
Python中的迭代器與生成器
了解DeepSeek-V3 和 DeepSeek-R1兩個(gè)大模型的不同定位和應(yīng)用選擇
AIGC與傳統(tǒng)內(nèi)容生成的區(qū)別 AIGC的優(yōu)勢和挑戰(zhàn)
EMC常見公式大全

生成Latex公式,不用學(xué)Latex復(fù)雜的語法
評論