0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

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

中科院長春光機所 ? 來源:極市平臺 ? 2020-08-21 11:41 ? 次閱讀

寫論文時,手敲成堆的計算公式,被虐到頭禿?

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

△沒錯,就是這幾行

這款名為handcalcs的工具包,生成Latex公式,但不用學(xué)Latex復(fù)雜的語法。 關(guān)鍵是,大小只有4.6MB,相當(dāng)于Jupyter里一個小小的插件。 平方、平方根、分式、三角函數(shù)、腳注……這個插件的功能五臟俱全,不僅能生成公式,還能計算結(jié)果。 此外,也有單位換算、格式調(diào)整等功能。 來看看它的用法。

基礎(chǔ)版:公式+計算

裝上handcalcs插件后,Python就從一個無情的計算器,升級成了華麗的公式生成器。 在Python語法基礎(chǔ)上,將計算公式呈現(xiàn)為Latex格式,只需要加一行代碼。 沒錯,這行代碼就是%%render。 也就是說,如果你想要生成Latex公式,只需要在計算公式前加個%%render。 不僅如此,Python還會自動幫你計算出結(jié)果。 如下圖,先設(shè)好3個參數(shù)a、b、c的值,然后用Python列出表達(dá)式,在最前面放個%%render。 然后,列出x的表達(dá)式。

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

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

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

你以為這就結(jié)束了? 還早,生成Latex公式只是這個工具的基礎(chǔ)用法。

進階版:格式+單位換算

此外,handcalcs還帶有格式調(diào)整、特殊字符、單位換算等功能。

格式調(diào)整

首先,是對參數(shù)格式的調(diào)整。 如果你在某個公式中用到了好幾個參數(shù),但這些參數(shù)單獨占一行會導(dǎo)致浪費紙張可讀性很差,那就試試加一行##Parameters。 這樣,一行里面就能放3個參數(shù),而且不占很多地兒(減小行間距)。

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

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

△當(dāng)你的數(shù)學(xué)老師想讓你計算公式時

而如果想在公式后面加些注釋(或者「式3.1」這種東西),這里也能直接生成。

此外,對于特殊字符的生成,這里也有方法。

特殊字符

如果你需要在字母右下角標(biāo)些腳注,有的腳注可能還會「套娃」。 沒關(guān)系,用一個下劃線就能搞定,一個不夠,就多來幾個。

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

單位換算

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

這樣的話,就不用再費勁地列量綱,看這兩個單位相乘相除的結(jié)果究竟是個啥了。

轉(zhuǎn)成Latex語法

當(dāng)然,如果你想將生成的Latex公式還原成Latex語法,粘回Latex中去用,這里也提供了非常便捷的操作。 只需要一個%%tex,handcalc就會自動幫你生成Latex語法。

小限制

不過,這個工具包也有一些小限制。 例如,并非所有的數(shù)據(jù)類型都適用,例如Python的「容器數(shù)據(jù)」(collections)。 此外,也并非Python中的所有公式都適用,例如for就不支持這個工具的渲染。 但除了這些小限制外,這個工具包不失為一個強大的公式生成器,論文中需要生成的公式基本都夠用了。 還有一些其他的細(xì)節(jié)功能,可以戳下方傳送門查看。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4671

    瀏覽量

    67765
  • python
    +關(guān)注

    關(guān)注

    53

    文章

    4753

    瀏覽量

    84077
  • LATEX
    +關(guān)注

    關(guān)注

    0

    文章

    13

    瀏覽量

    8428

原文標(biāo)題:1行代碼搞定Latex公式編寫

文章出處:【微信號:cas-ciomp,微信公眾號:中科院長春光機所】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    FPGA學(xué)習(xí)筆記---基本語法

    :task...endtask 11、循環(huán)語句:for 12、賦值符號:=和<=(阻塞和非阻塞賦值) 硬件設(shè)計的精髓,力求用最簡單的語言描述最復(fù)雜的硬件,這也是硬件描述語言的本質(zhì)。對于做RTL級別的設(shè)計而言,掌握好上面這些語法很重要。
    發(fā)表于 06-23 14:58

    labview公式節(jié)點中的rand函數(shù)使用

    labview公式節(jié)點中的rand函數(shù)怎么使用呀,我的目的是生成0-3區(qū)間內(nèi)的4位小數(shù)的隨機數(shù)
    發(fā)表于 04-25 23:54

    什么是方波發(fā)生器?詳解方波發(fā)生器電路圖和應(yīng)用

    一次又一次地重復(fù)并產(chǎn)生方波。 方波的頻率由 [Latex]f=\\\\frac{1}{1.2RC}[/Latex] 2、使用與非門的方波發(fā)生器 使用與非門是制作方波發(fā)生器的最簡單方法之一。 我們需要
    發(fā)表于 04-02 14:24

    生成式人工智能的應(yīng)用

    ChatGPT 雖然很酷,但這只是一個開始; 生成式人工智能的企業(yè)用途要復(fù)雜得多。
    的頭像 發(fā)表于 01-09 11:19 ?1084次閱讀

    labview公式波形里的公式

    以通過輸入公式生成波形數(shù)據(jù)。 在LabVIEW中,公式波形是通過數(shù)學(xué)公式生成數(shù)據(jù)點序列的一種功能模塊。通過在
    的頭像 發(fā)表于 01-07 17:12 ?1852次閱讀

    電機扭矩的計算公式和轉(zhuǎn)速計算公式

    在電機學(xué)中,電機轉(zhuǎn)速和扭矩是非常重要的參數(shù),在實際應(yīng)用中,電機轉(zhuǎn)速和扭矩的計算公式也使用得非常頻繁,本文詳細(xì)介紹扭矩的計算公式和轉(zhuǎn)速計算公式
    發(fā)表于 12-25 09:41 ?3732次閱讀

    OCR終結(jié)了?曠視提出可以文檔級OCR的多模態(tài)大模型框架Vary,支持中英文,已開源!

    : 無論是中英文的大段文字: 還是包含了公式的文檔圖片: 又或是手機頁面截圖: 甚至可以將圖片中的表格轉(zhuǎn)換成 Latex 格式: 當(dāng)然,作為多模大模型,通用能力的保持也是必須的: Vary 表現(xiàn)出了很大的潛力和極高的上限,OCR 可以不再需要冗長的 pipline,直接
    的頭像 發(fā)表于 12-24 21:40 ?1668次閱讀
    OCR終結(jié)了?曠視提出可以文檔級OCR的多模態(tài)大模型框架Vary,支持中英文,已開源!

    oracle的update語法

    Oracle是一種強大的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),具有廣泛的應(yīng)用,UPDATE語句是用于修改數(shù)據(jù)庫中現(xiàn)有記錄的重要操作之一。在本文中,我們將詳細(xì)介紹Oracle的UPDATE語法及其用法。 首先,我們
    的頭像 發(fā)表于 12-05 16:22 ?1818次閱讀

    php生成動態(tài)網(wǎng)頁內(nèi)容的方法

    。與靜態(tài)網(wǎng)頁相比,動態(tài)網(wǎng)頁可以根據(jù)特定條件生成不同的內(nèi)容。 PHP的基本概念和語法 PHP是一種服務(wù)器端腳本語言,它可以嵌入到HTML中。PHP文件通常以.php擴展名保存,并且在服務(wù)器上執(zhí)行。 PHP使用簡單的語法和控制結(jié)構(gòu),
    的頭像 發(fā)表于 12-04 16:22 ?668次閱讀

    javascript的基本語法遵循的標(biāo)準(zhǔn)

    JavaScript是一種腳本語言,用于為網(wǎng)站添加交互性和動態(tài)性的功能。它的基本語法遵循ECMAScript標(biāo)準(zhǔn),這是一種由Ecma國際組織制定的語言標(biāo)準(zhǔn)。本文將詳細(xì)介紹JavaScript
    的頭像 發(fā)表于 12-03 11:35 ?2434次閱讀

    if函數(shù)如何嵌套計算公式

    嵌套if函數(shù)可以在Excel等電子表格軟件中實現(xiàn)復(fù)雜的條件判斷和計算公式。本文將詳細(xì)介紹if函數(shù)的嵌套使用方法,包括語法、常見應(yīng)用場景和實例演示等,以及注意事項和進階技巧。 一、if函數(shù)的基本
    的頭像 發(fā)表于 11-30 16:55 ?4699次閱讀

    select語句的基本語法

    、詳實、細(xì)致地解釋SELECT語句的基本語法以及關(guān)鍵部分。 SELECT語句的基本語法如下: SELECT 列名 1 , 列名 2 , ... FROM 表名 WHERE 條件 上述語法可以分為三個
    的頭像 發(fā)表于 11-17 16:23 ?1347次閱讀

    LaTeX入門(2)#計算機

    計算機軟件
    未來加油dz
    發(fā)布于 :2023年11月15日 20:46:47

    LaTeX入門(1)#計算機

    計算機軟件
    未來加油dz
    發(fā)布于 :2023年11月15日 20:46:20

    【既實用又裝逼】不用公式理解傅立葉分析!??!

    前言 這篇文章的核心思想就是: 要讓讀者在不看任何數(shù)學(xué)公式的情況下理解傅里葉分析。 傅里葉分析不僅僅是一個數(shù)學(xué)工具,更是一種可以徹底顛覆一個人以前世界觀的思維模式。但不幸的是,傅里葉分析的公式看起來
    的頭像 發(fā)表于 09-27 19:40 ?633次閱讀
    【既實用又裝逼】<b class='flag-5'>不用</b><b class='flag-5'>公式</b>理解傅立葉分析?。。? />    </a>
</div>                </div>            </div><!-- .main-wrap -->
        </article>

        <aside class=

    推薦專欄

    更多