前言我是一個物理工作者,MS Word/WPS 什么的很早就扔掉了。LaTeX 才是我們的家常便飯。本科時候在課堂上我就喜歡拿著 LaTeX 編輯器做筆記,當(dāng)時就盼望著哪天 Evernote 能夠支持 LaTeX 語法。在 macOS 下配置 LaTeX 編譯環(huán)境十分簡單,只要下載一個 MacTeX,它自帶 TeXShop,然后一切就都搞定了。 后來知道了 Markdown 語法,這樣一個花 2 分鐘就能學(xué)會的「標(biāo)記語言」直接戳中我這樣一個極簡主義者的 G 點。與 LaTeX 最大的不同在于,它不會像大多數(shù) LaTeX 編輯器一樣在僅修改了一個標(biāo)點之后,都要求重新編譯。 然而要同時實現(xiàn) Markdown 的極「簡」,和 LaTeX 的「效」能是非常艱難的。雖然在靜態(tài)博客里可以使用 MathJax 顯示公式,但在 macOS 端編輯博文時沒有 LaTeX 預(yù)覽也是很難過的一件事。
你可能會說 MWeb 就支持 LaTeX 的編輯和預(yù)覽呀!的確,我嘗試過它,但這里提出兩點我后來放棄它的原因:
還有聲名鵲起的 Typora,我覺得它單作為 Markdown+LaTeX 編輯器可謂最優(yōu)選:插入公式的方式不能再漂亮、默認(rèn)的主題也簡單優(yōu)雅。 但它不能對文檔進(jìn)行管理,沒有所謂的「外部文件夾」。而且,它也沒有 iOS 版。 綜上,我的要求其實很苛刻——優(yōu)秀的編輯環(huán)境、Markdown、LaTeX 預(yù)覽、多設(shè)備同步集合為一體。于是我開始在 Ulysses 和 iA Writer 上尋求出路,因為這兩個軟件首先就符合我對「優(yōu)秀的編輯環(huán)境」的要求。最終我找到了我的解決方案。 方案一:Ulysses + HTMLUlysses 是支持 HTML 預(yù)覽的,所以我們在 Markdown 文檔里插入一些 HTML 語言也沒有關(guān)系。前天我就在 @ulysses 官推上看到了這個在 Ulysses 下實現(xiàn)公式預(yù)覽的方案。 只需要在文檔開頭加入這四行 Raw Source Block 即可 ~~ ~~ 其實這就是 HTML 下的 MathJax 相關(guān)設(shè)置。不用擔(dān)心那些小波浪號,它們是 Ulysses 用來標(biāo)記 Raw Source 的符號,無論是導(dǎo)出還是發(fā)布到你的的靜態(tài)博客上都不會影響。 之后只要將正常 LaTeX 語法包裹進(jìn) Raw Source 格式中即可,比如 神奇公式:~~ $$\left(iD\!\!\!/+m\right)\psi = 0$$~$\dfrac{1}{2}$~,這就是二分之一,想不到吧! 然后調(diào)整 Ulysses 的導(dǎo)出格式為 HTML,使用 ?+?+P 就可以預(yù)覽文檔里的公式了! 原文鏈接:Writing Mathematical Equations in Ulysses 方案二:iA Writer + Export Markdown to PDF我們也可以利用 iA Writer 實現(xiàn) Markdown + LaTeX。 同樣是解決 LaTeX 公式預(yù)覽問題,我發(fā)現(xiàn)了這樣一個系統(tǒng)服務(wù)——Export Markdown to PDF。它是基于 pandoc 命令,在 iA Writer 下將文檔轉(zhuǎn)換為 PDF,并在默認(rèn) PDF 應(yīng)用程序下預(yù)覽。雖然不像 iA Writer 自帶的預(yù)覽那樣高效,但如果只是插入幾行公式,對我來說這已經(jīng)最佳方案了。況且近日發(fā)布的 iA Writer 4 支持多文件、模塊化編輯,對于每個子文件而言 pandoc 的編譯效率也十分高了。
第一步首先,毋庸置疑你的電腦里必須安裝有 MacTeX,并且我建議安裝最新的 2016 版,否則環(huán)境設(shè)置可能會略有不同,導(dǎo)致不必要的麻煩。 以及,轉(zhuǎn)換 PDF 所需的 pandoc(在終端下用 brew install pandoc 命令安裝)。 第二步配置 xelatex 中文編譯模板 mkdir ~/Templatescd ~/Templatespandoc -D latex > template.tex %導(dǎo)出pandoc默認(rèn)模板文件 然后我們在導(dǎo)出的默認(rèn)模板文件 template.tex 上進(jìn)行修改。定位到 % SUPPORT for Chinese\usepackage[boldfont,slantfont,CJKchecksingle]{xeCJK}\usepackage{fontspec,xltxtra,xunicode}\defaultfontfeatures{Mapping=tex-text,Scale=MatchLowercase}\punctstyle{quanjiao}\setCJKmainfont{WenQuanYi Micro Hei}\setCJKsansfont{KaiTi}\setCJKmonofont{SimSun}\defaultfontfeatures{Ligatures=TeX,Scale=MatchLowercase} 其中 fc-list :outline -f '%{family}\n' 第三步下載我 Fork 的 Export Markdown to PDF,把 Workflow 文件放到「~/Library/Services」路徑下 第四步在 iA Writer 下使用:iA Writer - Services - Export Markdown to PDF 即可。編譯的時候可以看到右上菜單欄會有個旋轉(zhuǎn)的小齒輪,特別可愛。如果 LaTeX 語法有錯誤,錯誤信息會以彈窗的形式出現(xiàn),方便你 debug。
結(jié)語祝大家 LaTeX 愉快! |
|