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

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

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

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

中科院長春光機(jī)所 ? 來源:極市平臺(tái) ? 2020-08-21 11:41 ? 次閱讀

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

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

△沒錯(cuò),就是這幾行

這款名為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格式,只需要加一行代碼。 沒錯(cuò),這行代碼就是%%render。 也就是說,如果你想要生成Latex公式,只需要在計(jì)算公式前加個(gè)%%render。 不僅如此,Python還會(huì)自動(dòng)幫你計(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ú)占一行會(huì)導(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é)果就會(huì)被隱去,取而代之的是只有參數(shù)的表達(dá)式。

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

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

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

特殊字符

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

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

單位換算

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

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

轉(zhuǎn)成Latex語法

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

小限制

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

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

    關(guān)注

    30

    文章

    4801

    瀏覽量

    68731
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4798

    瀏覽量

    84810
  • LATEX
    +關(guān)注

    關(guān)注

    0

    文章

    13

    瀏覽量

    8472

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

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

收藏 人收藏

    評論

    相關(guān)推薦

    AIGC與傳統(tǒng)內(nèi)容生成的區(qū)別 AIGC的優(yōu)勢和挑戰(zhàn)

    、AIGC與傳統(tǒng)內(nèi)容生成的區(qū)別 數(shù)據(jù)類型與處理 : AIGC主要面向非結(jié)構(gòu)化數(shù)據(jù)的生成,如自然語言文本、圖像、音頻、視頻等。這類數(shù)據(jù)規(guī)模更大,內(nèi)在結(jié)構(gòu)更復(fù)雜,對處理技術(shù)提出了更高要求。 傳統(tǒng)內(nèi)容
    的頭像 發(fā)表于 11-22 16:04 ?354次閱讀

    EMC常見公式大全

    在日常工作中,難免會(huì)遇到公式的推導(dǎo)和單位的換算。工作多年后,公式忘記了很正常。特別是EMC的公式時(shí)域頻域轉(zhuǎn)換,又是log,又是dB,實(shí)在是有點(diǎn)燒腦。最近筆者在計(jì)算一些東西查找了一堆公式
    的頭像 發(fā)表于 11-19 09:48 ?564次閱讀
    EMC常見<b class='flag-5'>公式</b>大全

    云端彈性計(jì)算公式有哪些內(nèi)容?

    云端彈性計(jì)算公式有哪些內(nèi)容?云端彈性計(jì)算公式涵蓋資源分配、性能監(jiān)控、自動(dòng)伸縮及積分計(jì)算等方面。資源分配依據(jù)虛擬機(jī)配置和實(shí)際需求動(dòng)態(tài)調(diào)整;性能監(jiān)控實(shí)時(shí)監(jiān)控CPU、內(nèi)存等關(guān)鍵指標(biāo);自動(dòng)伸縮根據(jù)預(yù)設(shè)閾值
    的頭像 發(fā)表于 11-15 11:04 ?191次閱讀

    什么是光子學(xué)

    ? 本文概述了光子學(xué),包括其基本原理、關(guān)鍵技術(shù)、應(yīng)用和新興趨勢。 一、光子學(xué)的基本原理 光子學(xué)是一門研究光和其他形式輻射能的學(xué)科。它涉及使用光學(xué)元件、激光、光纖和電子光學(xué)儀器來產(chǎn)生、操縱和檢測光。它
    的頭像 發(fā)表于 10-29 06:21 ?199次閱讀

    Verilog語法中運(yùn)算符的用法

    verilog語法中使用以下兩個(gè)運(yùn)算符可以簡化我們的位選擇代碼。
    的頭像 發(fā)表于 10-25 15:17 ?939次閱讀
    Verilog<b class='flag-5'>語法</b>中運(yùn)算符的用法

    AIGC與傳統(tǒng)內(nèi)容生成的區(qū)別

    AIGC : 主要面向非結(jié)構(gòu)化數(shù)據(jù)的生成,如自然語言文本、圖像、音頻、視頻等。 這類數(shù)據(jù)規(guī)模更大,內(nèi)在結(jié)構(gòu)更復(fù)雜,對處理技術(shù)提出了更高要求。 傳統(tǒng)內(nèi)容生成 : 主要處理結(jié)構(gòu)化數(shù)據(jù),如數(shù)據(jù)庫中的文本或數(shù)字信息。 數(shù)據(jù)結(jié)構(gòu)和類型是
    的頭像 發(fā)表于 10-25 15:13 ?468次閱讀

    復(fù)雜電磁環(huán)境模擬系統(tǒng)設(shè)計(jì)方案

    是能夠模擬真實(shí)戰(zhàn)場或特定測試場景下的復(fù)雜電磁環(huán)境,包括各種通信信號、雷達(dá)信號、干擾信號、噪聲等,以評估電子設(shè)備的性能和穩(wěn)定性。 智慧華盛恒輝系統(tǒng)組成 1. 信號生成單元 功能:根據(jù)預(yù)設(shè)或?qū)崟r(shí)編輯的信號參數(shù)生成電磁環(huán)境信
    的頭像 發(fā)表于 07-17 17:06 ?461次閱讀

    生成式AI的基本原理和應(yīng)用領(lǐng)域

    復(fù)雜性和創(chuàng)新性的內(nèi)容的技術(shù)。這種技術(shù)不僅限于文本生成,還廣泛應(yīng)用于圖像、音頻、視頻等多個(gè)領(lǐng)域。本文將詳細(xì)探討生成式AI的原理、關(guān)鍵技術(shù)、應(yīng)用領(lǐng)域以及面臨的挑戰(zhàn)。
    的頭像 發(fā)表于 07-04 11:50 ?1547次閱讀

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

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

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

    labview公式節(jié)點(diǎn)中的rand函數(shù)怎么使用呀,我的目的是生成0-3區(qū)間內(nèi)的4位小數(shù)的隨機(jī)數(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

    【鴻蒙】NAPI 框架生成工具實(shí)現(xiàn)流程

    NAPI 框架生成工具 可以根據(jù)用戶指定路徑下的 ts(typescript)接口文件一鍵生成 NAPI 框架代碼、業(yè)務(wù)代碼框架、GN 文件等。在開發(fā) JS 應(yīng)用與 NAPI 間接口時(shí),底層框架
    的頭像 發(fā)表于 02-28 17:00 ?702次閱讀
    【鴻蒙】NAPI 框架<b class='flag-5'>生成</b>工具實(shí)現(xiàn)流程

    小白學(xué)大模型:什么是生成式人工智能?

    來源:Coggle數(shù)據(jù)科學(xué)什么是生成式人工智能?在過去幾年中,機(jī)器學(xué)習(xí)領(lǐng)域取得了迅猛進(jìn)步,創(chuàng)造了人工智能的一個(gè)新的子領(lǐng)域:生成式人工智能。這些程序通過分析大量的數(shù)字化材料產(chǎn)生新穎的文本、圖像、音樂
    的頭像 發(fā)表于 02-22 08:27 ?1708次閱讀
    小白<b class='flag-5'>學(xué)</b>大模型:什么是<b class='flag-5'>生成</b>式人工智能?

    永磁電機(jī)計(jì)算公式是什么

    永磁電機(jī)是一種利用永磁體產(chǎn)生的恒定磁場來產(chǎn)生電磁力的電機(jī)。其結(jié)構(gòu)簡單、體積小、效率高,因此在很多領(lǐng)域中得到了廣泛應(yīng)用。本文將詳細(xì)介紹永磁電機(jī)的計(jì)算公式。 永磁電機(jī)的計(jì)算公式主要涉及到其電磁轉(zhuǎn)矩
    的頭像 發(fā)表于 01-11 10:38 ?6361次閱讀

    歐姆定律三個(gè)公式應(yīng)如何計(jì)算

    歐姆定律是電路中的一種基本關(guān)系,用于描述電壓、電流和電阻之間的關(guān)系。根據(jù)歐姆定律,當(dāng)電流通過一個(gè)導(dǎo)體時(shí),電流與電壓成正比,與電阻成反比。在這篇文章中,我們將詳細(xì)介紹歐姆定律的三個(gè)公式:電流公式、電壓
    的頭像 發(fā)表于 01-10 13:53 ?3897次閱讀