搭建 Ulysses 学术写作之公式输入



在 iOS 上不断探索适合自己的工作方式,基于学术写作的需要,常常文章中有希腊字母以及公式的出现,本文的目的是让在 iPad 上输入公式变得简单一些,从传统的打字输入变为手写输入,同时满足在 MS word 上二次编辑的需求。

在 MS Word 输入公式的历史

由于种种的限制,我自己的学术写作的最后一稿基本在 MS Word 里,支持它的 MathType 是最为熟知的公式编辑器。有时候是很无奈的,例如本科毕业论文期间,我的文章发到其他人的电脑上后,Mathtype 编辑的公式全部变成图片,就是像素很渣且不能编辑的那种图片公式。我记得在最后一稿提交之前,就把公式全部重新输入一遍。其实到现在我都不知道为什么,可能是 MS word 版本不兼容自动将公式转换为了图片,也可能是盗版 Mathtype 的原因,盗版的环境最终会引起的就是自己的各种麻烦。

后来开始写 Paper,发现国外杂志给出的模版除了 .dot ,还有 LaTeX 格式。对于 LaTeX 的入门,这是一份其实很短的 LaTeX 入门文档,这是我反复研究的一篇博客,但如果你觉得它还是不够短,你也只需要在文章中输入公式,对其余排版的要求不高,看我这篇手写输入的文章就够了。我认为,熟练掌握 LaTeX 的希腊字母、公式格式不是简单的事,如果你一定要这么做,我的建议是把数学符号打印出来放在手边,learning from doing.

如何使用 MathPad 手写公式

手写是一个极其自然的输入方式,我们有了更大屏幕,有了分屏,还有了 Apple Pencil,你还差一个名叫 MathPad 的识别和渲染系统:

如果对于 MathPad 大多数人还很陌生,那么同一家公司的计算器应该是有更大的受众群,如下图:

更神奇的是它们家叫 Nebo 的笔记软件,可以说是将手写这一古老的输入方式融入机器语言,我会继续使用 Nebo 并且写下自己的感受。

再回到 MathPad,它的用法是

  • 手写输入公式,在纸上怎么写在 MathPad 里就怎么写
  • 以图片输出,如下图:

  • 以 LaTeX 输出,如下图:

  • 其实我也不知道 MathML 是什么,也如下图吧:

在 LaTeX 标签下导出(此处你可能需要内购,¥18),然后到这里,这个 App 就介绍完了。

LaTeX 公式的用法

近半年来,我主要用 Ulysses 写报告、少数派文章、自己的博客。博士论文的最后一章就是用 Ulysses 写出来的,带有公式、参考文献,算是一种尝试。所以对我个人来说,公式跟 Ulysses 的连接使得 iPad Pro 增加了另一重效率,而 MathPad 和分屏 iPad Pro的配合可以说天衣无缝,当然 12.9′ 就更完美了。

先退一步讲如何在 Ulysses 上打字输入公式。最初根据少数派文章简中有效:Markdown 遇上 LaTeX,柯基同学的文章中的方案一 Ulysses + HTML 实现在 Ulysses 上公式的渲染,文章中介绍说这是 Ulysses 官方给出的公式预览方案。需要做的有两件事:

  1. 在文章开头加入如下段落:
~~ <script type="text/x-mathjax-config">
~~ MathJax.Hub.Config({tex2jax: {inlineMath:[['$','$']]}});
~~ </script>
~~ <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
  1. 在文中需要输入公式的地方输入
~~$$我是居中公式本人$$
~$我是文中出现的公式$~

其中第一行表示这是一个居中的正经公式,第二行表示文中出现的某个希腊字母组成的参数符号等。

现在就是填写居中公式本人的时候了。接着导出 MathPad 生成的公式,粘贴取代我是居中公式本人八个字,得到:

~~$$E_{s}=\dfrac {E_{i}}{\sqrt {2}}r_{s}e^{-i\left( 2kz_{s}+\varphi \right) } 

在 Ulysses 的 HTML 预览中显示为:

$$E_{s}=\dfrac {E_{i}}{\sqrt {2}}r_{s}e^{-i\left( 2kz_{s}+\varphi \right) }$$

到这里并没有结束。

回到 MS Word

不能在 Word 上二次修改就不能算是一个好方案。根据MathType TeX的指导,我们可以打开 MS Word 的 MathType 插件栏,复制 MatPad 生成的公式到任意区域,如下图

选中并 Toggle,(该操作可正向可逆向):

这样就可以无缝连接 Ulysses 的纯文本和 MS Word 文档,至少在公式这一领域里。

完整学术写作的工作流

可能有人还是会提问说为什么搞得这么麻烦,不能直接用 MS Word 写文章吗,当然可以。当你的论文超过一百页或者100M的时候,打开一篇 MS word 都很费时间;其次,Mac 和 PC 的 MS Word 有一定差异,有时候莫名其妙公式就被转换成图片了,而用 MathPad 生成的 LaTeX 代码永远都保持稳定;最后,用 iOS 写博士论文,我觉得很酷。我们还有 Overleaf,专门用来写学术文章的在线 LaTeX 网站,我觉得不实用,因为它严重依赖网络编译。因此我用 Ulysses 拆分章节写,通常我学术写作的工作流是:

  1. 用 Ulysses 写第一稿,除了排版以外的所有内容;
  2. 生成 HTML 文件夹;
  3. 全文(纯文本)复制进 MS Word;
  4. 用 MathType toggle 公式。

比如这个将论文第六章拆分成章节完成的例子:

尾巴

首先回到为什么用 Ulysses 写作这个问题上来,轻量纯文本和随时随地快速的输入想法是我最看重的两点。对于 Science 的学生来说,公式输入就是刚需,记住 LaTeX 符号各自的代码不是简单的事情,使用支持分屏以及手写公式 MathPad 为 Ulysses 和 LaTeX 公式架起高速公路(梗)。其实搞清一件事最好从根源出发,比如可以思考一下根源是什么,为什么 MathType/MathPad/Ulysses 都可以识别 LaTeX 公式?当从底层搞清楚后,就不用怕 iOS 软件之间的壁垒,在理解基础上的一切需求都可以被满足。

Code Matters and Happy Writing!!

數學與編程

這兩天忙着FF-OCT對洋蔥根尖有絲分裂的實驗,所以下載了全部的內核恐慌Kernel Panic來聽。我既不是一個程序員,也不是computer science專業出生,要說關係,可能也就是大一學習過C++,後來使用51開發板和FPGA做過兩個同步控制器,所以我個人對「內核恐慌」大部分的播客內容都不知所云(顯然除了第二期的鍵盤巡禮)。然而,第十二期的數學與編程使我反覆聽了三遍,就在寫這篇博文的時候,也是邊寫想法邊聽博客。本期內容如下:

特别嘉宾木遥与 Rio 和吴涛讨论了数学与编程之间的联系。话题包括但不限于:数学系的发展、统计学、数学与科学的关联、明尼苏达的天气、数学背景对于成为程序员的助益、Google 的工程师驱动特性、人们嘲讽新泽西的原因、养猫的经验、抽象几何学、Haskell、编程动手能力的来源、学习编程语言的意义、可视化编程、Lisp、FORTRAN、Go、C++、Swift、Optional、Google 的激励机制、欧洲的社会保障体制、技术变革带来的社会影响、中国政治坐标系测试、和食物替代饮料 Soylent。

從小熱愛並擅長數學,從小學奧數學習到高等數學,再到范數理論,這一經歷也幫助我理解這一期的內容。貝葉斯理論來自於統計學,光統計學就學習了三遍,高中、大學、碩士一年級,難度和細緻度也逐漸加深。對於國內「矩陣分析」這一課程的吐槽,我也深有同感,在我們學校那位剛剛畢業的學生(很有可能,但不確定)來教我們「矩陣」,那叫一個崩潰。每天上課就帶領我們推導矩陣,不管我們是否理解。這一入門非常糟糕,但是後來碩士課程由理學院的教授來教。雖說還是填鴨式,但比這位「年輕老師」高明很多。碩士期間我最喜歡的數學課,應該是「小波分析」吧,這一由應用爲導向的課程可以實現很多濾波功能。教授上課說最多的一句話就是:「我不會教你們推導公式,這些東西網上都有。」直到現在我還是在沒有別的方法可想了之後,會找一些數學的思路來幫我解決光學問題。

博客中還提到了ProgrammerMaker的想法的不同和這一狀況背後的原因。像吳濤這樣從小學習Basic語言之後,就編寫程序實現四則運算,實在太酷了。而木遙老師也提到了一臺抽水馬桶是非常難以復刻的,因爲它是一個非線性反饋系統。說實話,雖然是女生,在父親出門上班交代我用螺絲與螺絲刀裝好抽水馬桶的事情,我一直沒有控訴給我媽。我是真的研究過抽水馬桶這一「非線性反饋系統」。這樣看來,物理老師的父親對我整個觸碰到的東西和思維方式造成極大的影響。再回到這個話題,ProgrammerMaker,前者更多的是努力使自己的頭腦像電腦、機器一樣去思考;後者更多的是動手和下決心的能力。這時對工具的使用,將兩者結合起來。很大意義上講,我好像是一個對「工具」有執着的人。通常工作中,我會找尋自己喜歡和習慣的工具,並且會大量嘗試,來找這麼一個適合自己的。而且我也會寫程序來完成一個重複性很高的工作,期待它可以簡單化我的工作日常。很有意思。

再說回吳濤對編程產生興趣,我記得小學四年級暑假的時候,我曾學習使用Frontpage軟件搭建一個網站。

歡迎來到ZY網站

對,這是我小學建立的個人網站的名稱,並因此獲得了上網卡200元人民幣的收入,在2001年的江蘇省江都市实验小学,這也是我人生第一桶金。但這並沒有幫助我繼續下去,現在看來非常可惜,這應該是一個由興趣驅動和獎金激勵的好例子,如果我現在是一名Programmer。回想小學,業餘時間在學習奧數,搞奧林匹克競賽;高年級後,學習英語與計算機,交到一名好朋友。我們在失去聯繫N年以後,在2015年八月底一起去Dumaguete遊玩。

小學的時候我在做什麼

如果要整理自己的計算機學習史,可以分爲下面三段:

  • Frontpage搭建網站(小學)
  • Q Basic 語言 (小學-初中)
  • 視頻音頻剪輯(初中)

每一個在現在看來,都是我現在希望的樣子,好神奇的是,十幾年前,這就是我。

現在我在做什麼

今天中午,在搭建新的自己的個人網站Stirdxmup

現在的我是:

Yue Zhu, Ph.D. Candidate, Optical Engineering, Nanjing University of Science and Technology

Research Area

  • Full-field optical coherence tomography
  • Signal and Image Processing
  • Optical System Design
  • Early diagnosis of liver cancer
  • Build the personal blog
  • Learn Swift and Xcode

將來我想做什麼

我喜歡具體的:

  • 陽光下,陪伴喜歡的人
  • 工作中,保持學習的能力
  • 喝咖啡,寫博客
  • 跑步或者游泳,必須鍛鍊
  • 蔬菜或者Soylent,必須健康