在我们学习生活中,经常需要记很多笔记,或者发发个人博客网站,那么工具就必不可少了。一般情况下,我们都钟爱使用贼简单、贼优美的 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 绝对可以通过这个图灵测试!——图灵