1 行代碼搞定 Latex 公式編寫,這個 4.6M 的 Python 小插件,堪稱論文必備神器

2021-02-19 AI有道
蕭簫 發自 凹非寺
量子位 報導 | 公眾號 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有道年度技術文章電子版PDF來啦!

掃描下方二維碼,添加 AI有道小助手微信,可申請入群,並獲得2020完整技術文章合集PDF(一定要備註:入群 + 地點 + 學校/公司。例如:入群+上海+復旦。 

長按掃碼,申請入群

(添加人數較多,請耐心等待)

感謝你的分享,點讚,在看三連↓

相關焦點

  • 1行代碼搞定Latex公式編寫,這個4.6M的Python小插件,寫論文神器
    現在,解放雙手的時刻來了,只需要掌握一點Python語法,上面的公式只需要4行就能生成,其中3行還是Python的計算公式。△ 沒錯,就是這幾行這款名為handcalcs的工具包,生成Latex公式,但不用學Latex複雜的語法。關鍵是,大小只有4.6MB,相當於Jupyter裡一個小小的插件。
  • 1行Python代碼搞定Latex公式編寫
    做講課PPT時,幾十頁的計算推理公式,恨不得直接手寫拍照?現在,解放雙手的時刻來了,只需要掌握一點Python語法,上面的公式只需要4行就能生成,其中3行還是Python的計算公式。關鍵是,大小只有4.6MB,相當於Jupyter裡一個小小的插件。平方、平方根、分式、三角函數、腳註……這個插件的功能五臟俱全,不僅能生成公式,還能計算結果。此外,也有單位換算、格式調整等功能。來看看它的用法。
  • 不會用latex寫公式? 看看這個python轉latex的庫
    代碼轉latex公式的庫一. python2latex相信大家都用latex編輯過自己的論文,但是對於一些比較複雜的公式,在latex的代碼中會比較複雜,對於初學者有一定難度,而這個庫可以把python下的數學公式轉換成latex代碼和公式,對於初學者會有非常大的幫助。
  • LaTeX寫公式很強?Python:我也行!
    真心不想用啊,寫論文就夠令人頭疼了,沒想到,最難的是編輯超長的公式。最近 GitHub 上出現了一個開源項目 latexify_py,它使用 Python 就能生成 LaTeX 數學公式,分分鐘甩 Word 幾條街。沒想到編輯公式變得如此簡單!
  • 數學公式編輯神器——LaTeX
    LaTeX的編譯過程Visual Studio Code配置TeXLiveVisual Studio Code是一個文本編輯器,它可以配合插件擴展完成各種程序代碼的編輯調試同類的其他知名編輯器還有Sublime Text、Atom等,使用這些編輯器可以編寫markdown文件,高效的整理記錄數學內容。
  • Python 代碼轉 Latex 公式,這個開源庫用一行代碼幫你搞定
    在編寫代碼時,我們常常需要定義數學公式的計算形式。像 S=r^2 這樣簡單的數學公式,大概不會出現拼寫錯誤。但如果是下面這樣的公式呢?人們習慣於手寫公式的運算過程。而如果計算機程式語言能夠顯示出類似於手寫公式的計算過程,檢查公式運算是否準確就可以輕鬆多了吧。近日,GitHub 上一個名叫 handcalcs 的開源庫就解決了這個問題。
  • Python代碼轉Latex公式,這個開源庫用一行代碼幫你搞定
    機器之心報導  編輯:小舟  你的代碼中有數學公式嗎?  數學是數據科學和機器學習的重要基礎,數學運算的結果對於機器學習項目而言是至關重要的。在編寫代碼時,我們常常需要定義數學公式的計算形式。像 S=r^2 這樣簡單的數學公式,大概不會出現拼寫錯誤。
  • LaTeX 搞定學術論文排版王者 (上)
    對於致力於「研究學術」的同學,latex是一項必需的技能,尤其對於理工科同學來說。  對於文科同學,進一步學術研究也需要接觸latex,但是也推薦markdown,畢竟更輕量更簡單易學。markdown教程見歷史記錄,或在小菜單自查。  這系列文章整理了我自己學習latex的一些心得,希望幫助大家快速上手latex。
  • 用LaTeX for WordPress插件在WordPress中寫數學公式
    現在有一種更為簡單的辦法,雖然在某些時候顯示效果不那麼完美,但是大多數都是沒問題的,那就是:使用WordPress的LaTex[1]插件LaTeX for WordPress(直接在WordPress後臺的插件安裝中搜索即可找到),可以直接在WordPress中用LaTex語法書寫數學公式,當一個訪客打開此文章頁面時,它會自動地調用MathJax[2]的服務將頁面中的LaTex代碼渲染為數學公式
  • 使用開源的Atom軟體打造自己專屬的Markdown版論文編輯工具
    引言:對於一個科研人員或者程式設計師來說,經常會有這樣的需求,編寫含有大量的數學公式和圖表的論文或者經常做有大量推理證明算法和有原始碼的學習筆記,普通的Word已經不能滿足我們對多元素的論文的需求以及對效率的追求。
  • LaTeX學習記錄(1):安裝與使用
    編寫文檔更像是編寫代碼初學者可能會止步於這種代碼式的文檔編寫方法,但隨著使用的熟練,在科技報告、論文方面,其至少在下面幾個方面碾壓 Word :數學公式支持:為此,我們還需要一個友好的編寫代碼環境(當然,你完全可以用記事本之類的軟體,取決於個人愛好)。在之前Linux安裝記錄我推薦了TeXstudio作為編輯器,這款軟體對新手非常友好,基本上不需要進行特別的配置。對於我們需要編寫中文文檔的,只需要將編譯器改為xelatex即可。
  • [LaTeX常用庫]公式
    這裡列舉了幾個非常常用的論文公式必備模板,能夠幫助讀者快速上手LaTeX公式。%數學字體1.1 最簡單的公式-效果圖1.2 最簡單的公式-代碼這是一種最簡單的公式,公式內容只有一行,最後跟一個序號。\begin{equation}\label{這裡寫標籤名}y=kx+b % 這裡寫代碼即可\end{equation}2.1 多行公式-效果圖
  • Markdown與LaTeX公式的使用入門指南
    這個操作主要是讓 $ 符號之間的latex代碼可以直接被渲染為公式,比較方便。但特別要注意的是圖片存放的位置,一般來說可以有2種:直接使用外鏈圖片地址(不過有時可能被會屏蔽,或者可能面臨過期的情況)4、插入代碼大段代碼:```python# 這是一段python代碼```效果:
  • 用R語言+ bookdown實現Markdown 撰寫學術論文並實現Latex排版
    概述R語言的bookdown包可以實現直接用markdown撰寫,並最終實現latex排版。把生成的latex代碼套用到期刊模板就可以實現latex撰寫。用Atom編輯器來寫論文,可以實時預覽和代碼補全,更加直觀和高效。
  • 在Rust 代碼中編寫 Python 是種怎樣的體驗?
    我們將從一個比這個簡單得多的案例開始,然後逐步努力以達到這個結果(甚至更多!)。運行Python代碼首先,讓我們看一下如何在Rust中運行Python代碼。過程宏是作為編譯器插件實現的。不過或者..也許有一種方法可以解決這個問題。重建空白符儘管rustc編譯器只在解析和編譯時使用單詞,但是在某種程度上它仍然可以準確地知道何時報告錯誤。單詞中沒有換行符,但是它仍然知道我們的錯誤發生在第6到第9行。那它如何做到的?
  • 高效科研:10款科研必備神器,讓你的效率提高80%
    科研黨每天寫論文、查資料、繪圖制表在電腦前一坐就是十幾個小時,渾身酸痛,結果一天過去,可能還得留個小尾巴,工作沒有完成。支持手寫輸入公式,智能識別手寫內容,輕觸滑鼠編寫即可完成,除此之外還有許多實用功能,一鍵轉換為Latex、Amslatex等代碼;提供常用數學、物理公式模板;這些就等待你去發現啦!
  • LaTeX 相對於 Word 有什麼優勢?
    不論是Word自帶的公式編輯器還是MathType,公式都非常醜,這個毋庸置疑,推薦一款插件 Aurora,產生的效果與LaTeX的一致。不過LaTeX還是有一些實用功能Word不具備:1.注釋功能,可以把自己的寫作的思路寫在上面,Word的批註,勉強可以吧。2.
  • 科學公式編輯器哪家強?
    ~~~關注冰子琪,學辦公技能~~~在撰寫論文,書寫教案試卷時,最讓人抓狂在是大量的特殊字符、行內公式和行間公式、操作符、定義式、方程……為此筆者查找和試用了常見的公式編輯器,介紹給各位老師們,希望能給大家以幫助。
  • 查閱arXiv論文新神器,一行代碼比較版本差別,Github新開源!
    查閱arXiv論文新神器,一行代碼比較版本差別,Github新開源!Github上的一個比較預印本論文版本差別的工具也許能幫到你,而且只需一行代碼就能實現。使用教程運行這個工具你需要安裝PyPI包、以及帶有pdflatex和latexdiff的文本分布工具。
  • 寫代碼用這6款IDEA插件,讓你快到飛起!
    搞Java開發當然必用神器idea,那麼,idea的插件一定是你不可或缺的了。一方面可以提升自己的編碼效率,另一方面減輕工作時的苦悶煩躁。以下就為大家介紹幾款優秀的idea插件以及它們的使用方法。以下插件可以直接在 IDEA 插件管理裡面搜索安裝:1. Background Image Plus它是一個「換壁紙」插件。可以將編輯器背景隨意換為文件夾中的任何圖片。