在我們學習生活中,經常需要記很多筆記,或者發發個人部落格網站,那麼工具就必不可少了。一般情況下,我們都鍾愛使用賊簡單、賊優美的 Markdown 標記語言,它的學習曲線並不陡峭,且基本上能 Cover 絕大多數使用場景。
Markdown 語法簡潔明瞭,小白看幾眼就能知道個大概。但是我們總不能一直以標記語言的形式看文章啊,因此也就需要 Typora 編輯器了,鍵入標記語言,編輯器將自動渲染為檢視頁面。總之用 Markdown 記下學習生活,才是程式猿必不可少的。
對於 ML 領域的程式猿,Markdown 的一個缺點是不能用 LaTex 數學表示式,但 Typora 能完美解決這個問題,它可以直接展示 LaTex 數學表示式。既然要寫 ML 數學表示式,那麼神器 Mathpix Snip 就必不可少了,它可以將表示式截圖轉化為 LaTex 程式碼。小編用它「抄了」這麼多公式,基本上語法沒有錯誤,而且還很「規矩」。
在這一篇文章中,我們將重點介紹這兩大神器,至少在老編們的心中,它們是無敵的。如果你有更好的配置,歡迎留言推薦。
最好的 Markdown 編輯器 Typora
其實優秀的 Markdown 編輯器有很多,例如微軟開源的 Madoko 線上 IDE、Cmd Markdown 等等。但是 Typora 簡潔的介面和實時預覽效果非常優美,而且甚至我們都不需要了解 Markdown 語法就能完成文件。Typora 比較適合輕量級的日常使用,它的特點就是入門簡單。
Typora:https://typora.io/
有了 Typora,語法自動補全、Markdown 與 Word 或 PDF 等的匯入與匯出、字數統計等各種功能也就都有了。如下所示為 Typora 中的數學公式特點:
Typora 還支援各種主題、各種功能,還沒搭上 Markdown 高速列車的小夥伴們,推薦使用 Typora。
數學公式神器 Mathpix Snip
前面我們可以使用 Typora 完成各種文章與筆記,那麼我們該怎樣寫得更高效呢?這裡可能需要花些時間的就是嵌入數學公式。其實用 LaTex 表示式寫數學公式還是挺麻煩的,至少一般人做不到手寫速度。但是我們有 Mathpix Snip 啊,只要截個圖,公式會自動轉化為 LaTex 表示式,我們只需要簡單地修改修改就行了。
Mathpix Snip 的設計初衷是幫助人們在通過手機或電腦輸入數學公式時節省時間。為此,Mathpix 研發了一款免費 APP——Snip 來自動化這一繁瑣過程。
Mathpix Snip:https://mathpix.com/
Mathpix 怎麼用?
以下是官網展示的操作步驟,其演示了各個作業系統配合使用的快捷鍵以及詳細步驟。實際上,我們就只需要截個圖:
以下是小編在 Windows 系統上安裝該工具後,系統給出的操作步驟提示:
然後,小編親手操作了一波:
開啟 Mathpix 後,它會在後臺執行。當遇到想編輯的圖片公式時,只要按快捷鍵 Ctrl+Alt+M 即可對圖片截圖:
如上,截圖選中了紅框裡的公式之後,很快就出現了轉化效果。注意上面綠色的方框表示轉換程式碼的置信度,只要截圖正確,基本上它都是 OK 的。
最後 copy 想要的結果,再貼上到 Typora 編輯器中就大功告成啦!有沒有超簡單?!
萬能的 API
為了方便使用,該公司還研發了一個 API(MathpixOCR),可以幫助開發者將 Mathpix 的功能整合到自己的應用程式。
你向 MathpixOCR 傳送一張圖片,它就會告訴你其中的數學公式。就這麼簡單。該 API 會返回 LaTex 以及圖片後設資料,你可以在你的應用中使用它。
如下展示瞭如何簡單呼叫 API 處理單張影象:
#!/usr/bin/env python
import sys
import base64
import requests
import json
# 將檔案路徑放在此處
file_path = 'limit.jpg'
image_uri = "data:image/jpg;base64," + base64.b64encode(open(file_path, "rb").read())
r = requests.post("https://api.mathpix.com/v3/latex",
data=json.dumps({'url': image_uri}),
headers={"app_id": "trial", "app_key": "34f1a4cea0eaca8540c95908b4dc84ab",
"Content-type": "application/json"})
print json.dumps(json.loads(r.text), indent=4, sort_keys=True)
curl -X POST https://api.mathpix.com/v3/latex \
-H 'app_id: trial' \
-H 'app_key: 34f1a4cea0eaca8540c95908b4dc84ab' \
-H 'Content-Type: application/json' \
--data '{ "url": "data:image/jpeg;base64,'$(base64 -i limit.jpg)'" }'
API 返回的 JSON 結構如下所示:
{
"detection_list": [],
"detection_map": {
"contains_chart": 0,
"contains_diagram": 0,
"contains_geometry": 0,
"contains_graph": 0,
"contains_table": 0,
"is_inverted": 0,
"is_not_math": 0,
"is_printed": 0
},
"error": "",
"latex": "\\lim _ { x \\rightarrow 3} ( \\frac { x ^ { 2} + 9} { x - 3} )",
"latex_confidence": 0.86757309488734,
"position": {
"height": 273,
"top_left_x": 57,
"top_left_y": 14,
"width": 605
}
}
他們用了都說好
該工具的官網還調侃了愛因斯坦、牛頓和圖靈,模仿三人對 Mathpix Snip 進行評價:
如果我早一點知道 Mathpix Snip,也許我會有足夠的時間來計算大統一理論——愛因斯坦
Mathpix 可以幫我在新作《自然哲學的數學原理》中輕鬆使用數學公式。現在我有更多的時間站在蘋果樹下等著蘋果砸了——牛頓
Mathpix 的 AI 絕對可以通過這個圖靈測試!——圖靈