本文作者,David Matthews,《自然》特約作者。
翻譯作者,Swimmer,哆嗒數(shù)學(xué)網(wǎng)翻譯組成員。
各路廠商一直在試圖開發(fā)文字處理軟件中支持LaTeX排版語言的公式編輯器。下面描述了如何入手做這件事。
使用LaTeX還是Word?對于物理學(xué)家和數(shù)學(xué)家們,答案是顯然的。但是對于其他領(lǐng)域的科學(xué)家們,LaTeX的優(yōu)點還未被充分認識到。
LaTeX作為一個用于創(chuàng)建和精確排版科學(xué)手稿件的開源軟件系統(tǒng),它的工作方式更像是編寫代碼而不是寫作。自1985年問世以來,它一直流行于數(shù)學(xué)、物理和計算機科學(xué)等學(xué)科。
支持者之所以青睞LaTeX,是因為它提供的對文檔排版的完全控制,或者說它代表了對一些商業(yè)軟件開發(fā)者尤其是微軟的一種叛逆。另外的人則認為LaTeX過于復(fù)雜,雖然用它可以最大限度完成自己的排版需求。2014年的一個研究(M. Knauff & J. Nejasmic PLoS ONE 9, e115069; 2014)讓來自不同領(lǐng)域的科學(xué)家評測微軟Word和LaTeX。根據(jù)數(shù)據(jù)科學(xué)公司Altmetric(Altmetric由Holtzbrinck出版集團旗下的Digital Science公司所有,Holtzbrinck出版集團在Nature出版社的Springer Nature擁有股份)的數(shù)據(jù),這篇文章成為下一年線上討論最多的十大文章之一。而這篇文章已經(jīng)被瀏覽超過240,000次。
然而在過去幾年中,這些編輯工具的界限已經(jīng)模糊了。在2017年,微軟使在Word中已經(jīng)可以直接使用LaTeX的語法編寫公式,而且在2018,微軟放棄了Word內(nèi)置的公式編輯器。其他一些文本編輯器也開始支持LaTeX的語法,允許新用戶在其中隨心使用LaTeX。
“對于我來說,當(dāng)我想要精確排版時我會選擇LaTeX,當(dāng)‘差不多就行’時以及我的合作伙伴都用Word時,我就用Word”費城的賓夕法尼亞大學(xué)的生物信息學(xué)家Casey Greene如是說。
編寫公式代碼
不像Word,LibreOffice以及Open Office這些“所見即所得”的文本編輯器,用LaTeX寫文檔就像是編寫代碼。普通文本被放進花括號中,描述文本格式的命令放在括號前面(例如,斜體字用命令 extit{text},黑體字用命令 extbf{text}),而表格是一塊一塊生成的。這些源代碼隨后被編譯成簡潔流暢的PDF便于閱讀。
公式編寫被認為是LaTeX最擅長的方面(參見《在LaTeX中編寫方程》)。這種語言擁有大量的快捷方式來展示數(shù)學(xué)符號。(2017年版的《LaTeX綜合符號列表》The Comprehensive LaTeX Symbol List包含約14,000個符號)加拿大倫敦西部大學(xué)的心理學(xué)家John Paul Minda說:“我開始使用LaTeX的原因之一是我能夠輕松編排出漂亮的公式。”
用LaTeX中編寫方程
在LaTeX中生成愛因斯坦著名的方程E = mc^2就跟直接手寫一樣簡單。
唯一的不同是“倒V符”(^),它表明其后的數(shù)字是個上標(biāo)。但是為了在LaTeX中恰當(dāng)?shù)卣宫F(xiàn)方程,你需要把方程內(nèi)容包在一個指令中。方括號和反斜線([E = mc^2])能讓方程在它所在行居中顯示,而如果用美元符號來包含方程($E=mc^2$E=mc2),那么方程會被置于文本中,而不會單獨成行。
LaTeX文檔通常在頂部包含命令來明確文檔的長度和寬度(例如A4紙大小)以及格式。為了讓數(shù)學(xué)命令生效,使用者必須事先聲明使用的哪些數(shù)學(xué)包。TeX綜合檔案網(wǎng)有超過5,000個工具包,能讓LaTeX用戶使用各種各樣的文字,從作家J. R. R. Tolkien(譯者注,代表作品有《霍比特人》、《魔戒》)腦袋里的精靈文字到蒙古文字,以及模仿報紙的排版風(fēng)格。
對于更加復(fù)雜的方程,用戶需要學(xué)習(xí)他們想要使用的命令的句法規(guī)則。例如,分數(shù)可以通過輸入rac{numerator}{denominator}來創(chuàng)建,int_{a}^{b}表示區(qū)間[a,b]上的積分。這樣,函數(shù)x2 + (1/2π)x在區(qū)間[0,100]上的積分可以寫成int_{0}^{100} x^2 + rac{1}{2pi}x dx。基于瀏覽器的編輯器Overleaf在go.nature.com/2eh1daz上提供了LaTeX方程編寫的概述。
不得不說,2014年的一個比較LaTeX和Word兩種編輯器的研究表明,LaTeX僅僅在公式編輯上的表現(xiàn)好于Word。另外文章作者還注意到,盡管LaTeX用戶“頻繁說明他們有偏好的編輯器”,但如果處理文本和表格,Word被證明更為快速且用戶更少犯錯。
甚至一些LaTeX批評者例如倫敦國王學(xué)院的一位計算社會科學(xué)家Daniel Allington也得承認LaTeX編輯方程比其他工具更優(yōu)秀。這位學(xué)者曾在他的博客上痛罵那些被他稱為“LaTeX迷戀狂”的人。
但是Allington同時也指出,如今科學(xué)家可以在使用LaTeX的方程句法規(guī)則的同時而不必拋棄“所見即所得”的編輯器。例如,Allington使用了一款叫做MathJax的線上工具。他往一個網(wǎng)頁表格中插入了幾行LaTeX代碼——不必進行任何安裝——然后MathJax就在一個網(wǎng)頁中生成了對應(yīng)的方程。
Word用戶也可以直接用LaTeX語法進行編寫,然后點擊將其轉(zhuǎn)換成排版好的公式。微軟聲稱Word支持“大多數(shù)”LaTeX表達式,然而它的網(wǎng)站列出了不支持的20個關(guān)鍵詞(例如角度符號degree)。
對于谷歌文檔用戶,Auto-LaTeX附加組件可以將LaTeX公式轉(zhuǎn)成嵌入圖片。波士頓東北大學(xué)的海洋環(huán)境科學(xué)家Katie Lotterhos說,這些組合工具對她來說尤其有幫助因為她的大多數(shù)合作者不知道如何使用LaTeX。她補充道,有個缺點是,這種組合工具把公式以圖片的方式插入文檔“便于同行審議但對于排版人員來說并不常見”。
類似的,LibreOffice作為Word的免費替代品,它的用戶可以用一個叫做TeXMaths的擴展工具編寫公式,它能將LaTeX語法轉(zhuǎn)換成一個PNG或者SVG格式的圖片。
掌握LaTeX
希望進一步了解LaTeX的用戶可以安裝一個LaTeX軟件包,例如在Windows平臺運行的MikTeX,在Mac OS運行的MacTeX以及適用于Linux系統(tǒng)的TeX Live。這些軟件都是免費下載和使用的,而且包括了將LaTeX“源碼”編譯成PDF的工具。雖然一個微軟發(fā)言人聲稱他們確實為一些機構(gòu)的研究人員提供了免費的線上Word版本,但是Word還是向每位使用更多Office軟件套裝的用戶收取了每月8.25美元的費用。
這些LaTeX軟件包為在LaTeX中編寫整個PDF文檔敞開了大門。Philip Judge作為一位LaTeX的支持者以及位于科羅拉多州博爾德的High Altitude天文臺的一名天文學(xué)家,認為這樣能讓研究人員“真正控制”文檔的外觀。而對于英國牛津大學(xué)的進化人類學(xué)家Laura Fortunato來說,正是因為文字處理器的“不可靠”促使她在博士期間學(xué)習(xí)使用LaTeX,這種“不可靠”體現(xiàn)在當(dāng)“你認為你編輯沒有出錯時”,這些文字處理器卻可能會出現(xiàn)“隨機的”錯誤。
但有時候用LaTeX編輯會讓人感覺繁瑣。“對我來說LaTeX主要的缺點是我必須不斷地編譯文本來查看文檔是什么樣子的,然后如果編譯出錯我就得花時間來追蹤錯誤。”同樣是牛津大學(xué)的鉆石生長研究員Shannon Nicley這樣說。
Nicley的解決方法是使用基于瀏覽器的編輯器Overleaf,它可以實現(xiàn)多人協(xié)作編輯科學(xué)文檔(Overleaf也是屬于Digital Science的產(chǎn)品)。Overleaf能夠在顯示文章源碼的同時在旁邊顯示實時PDF,這意味著使用者可以迅速看到他們對源碼的修改如何轉(zhuǎn)為完成的文檔。個人用戶可以免費使用Overleaf,但如果想要使用更多功能就要每月支付14美元,例如協(xié)同辦公以及實時同步到代碼分享網(wǎng)站GitHub。
那么我們值得精通LaTeX嗎?這取決于研究者:是否頻繁使用公式,是否需要精細控制PDF,是否有時間去學(xué)習(xí)一門新語言。
LaTeX基本的文檔編寫相對直接。然而制作表格卻并非如此。不像Word,LaTeX表格不能直接畫出來放到頁面上,必須一維一維地編程序。在2014年的調(diào)查中,即使是LaTeX專家,比起使用Word的新手,在30分鐘的測試時間中用 LaTeX生成表格犯了更多的錯誤,編輯的文本也更少。Nicley說:“在LaTeX中生成表格讓人望而生畏,即使你之前已經(jīng)做了很多遍。對我來說更快的制作表格的方式是打開一個新的Excel表格,然后把表格的基本內(nèi)容打出來,再直接復(fù)制粘貼到Word,這樣我能很方便地調(diào)整表格的外觀和內(nèi)容。”
LaTeX并不是唯一的編程式的文檔排版工具。Allington經(jīng)常使用Markdown,他認為它比LaTeX更加“輕量級”,因為排版命令更加直接清晰。威斯康星大學(xué)麥迪遜分校的計算生物學(xué)家Anthony Gitter說,Markdown“幾乎沒有技術(shù)性的句法規(guī)則可供文檔編輯參與者快速上手”。這是Gitter和他的同事包括賓夕法尼亞的Greene使用Markdown撰寫生物和醫(yī)藥方面的深度學(xué)習(xí)公開評論的原因之一。Gitter警告說,文檔編輯參與者的修改會讓代碼無法編譯成PDF,這種事情在LaTeX的合作編輯中更加可能發(fā)生。
莫斯科物理技術(shù)協(xié)會的研究員Dmitry Fedyanin說,部分雜志和會議不接受Markdown格式的文檔。
《自然》制片總編輯Simon Gribbin舉例說,《自然》雜志更喜歡用Word寫的遞交的文章,因為雜志的排版系統(tǒng)要求這種格式。然而依然有大約十分之一被接受的文章是LaTeX格式的;Simon說這些文章在被發(fā)給技術(shù)編輯之前會被轉(zhuǎn)成Word格式。
但由于《自然物理學(xué)》雜志包含了很多廣泛使用LaTeX的學(xué)科,這些雜志編輯對文檔格式的要求更加靈活。雜志主編Andrea Taroni解釋說:“LaTeX正是物理學(xué)家們追求的編輯器,如果想讓他們改用其他編輯器,無異于試圖將一群亂跑的貓趕到一塊。”