4年前,當(dāng)我還在用word寫畢業(yè)論文時(shí),我偶然接觸了Latex,從那時(shí)候,我便成了一個(gè)不使用Word的人,偶然看到別人發(fā)給我的word文件,我需要偶作修改,但我已近很少去關(guān)心word上怎樣優(yōu)雅的排版了。
但在這之前的十多年,我最為自豪的就是我對(duì)word的領(lǐng)悟了,我看了市面上大部分的word排版的書,都覺(jué)得寫的很爛,但后來(lái)看了一本《word排版之道》放棄了想自己寫一本word排版的書,因?yàn)檫@本書已經(jīng)寫的很好了。那時(shí),在word上基本沒(méi)有我解決不了的排版問(wèn)題,我從word95一直用到word2010,word上的每個(gè)功能我都了如指掌。但最終我放棄了使用word,首先當(dāng)然是因?yàn)槭召M(fèi)的原因,其次,word的自動(dòng)化排版功能實(shí)在是不好。對(duì)于以鍵盤為主要輸入工具的人,Word排版是一件費(fèi)心的事。下面我就說(shuō)說(shuō)這4年來(lái)我是怎樣寫文稿的。
輕量級(jí)標(biāo)記語(yǔ)言
第一次接觸這個(gè)概念是瀏覽Github時(shí)看到每一個(gè)項(xiàng)目介紹的網(wǎng)頁(yè)渲染都做得很好,一直想把自己的博客做成那樣的樣式,后來(lái)才發(fā)現(xiàn),Github使用的是Markdown的輕量級(jí)標(biāo)記語(yǔ)言。關(guān)于這個(gè)輕量級(jí)標(biāo)記語(yǔ)言,最初是用于程序員寫readme文檔,但漸漸的用處越來(lái)越大,比如簡(jiǎn)書用的就是Markdown的標(biāo)記語(yǔ)言。這樣的文章組織結(jié)構(gòu)清晰,而且層次分明,可以通過(guò)定義全局樣式來(lái)輕松改變排版樣式。同時(shí),對(duì)于搜索引擎而言,可以方便的識(shí)別標(biāo)題,tag。在眾多的Markdown軟件可謂各有所長(zhǎng)。下面介紹一二。
CMD Markdown
這是我見(jiàn)過(guò)最為牛叉的Markdown了,直接支持Latex公式輸入,特別適合做學(xué)術(shù)的人。而且支持Windows,Mac和Linux以及網(wǎng)頁(yè),并且是云同步,可謂是程序員的最給力的筆記書寫軟件。但缺點(diǎn)是界面不夠美觀,高級(jí)版本收費(fèi)。
Mac下的Markdown簇群
也許是因?yàn)镸ac系統(tǒng)對(duì)Office的支持不夠好,Mac上的Markdown軟件可謂是各種高大上,能夠應(yīng)付各種需求。有以主打日記為主的Dayone,主打筆記類的Ulysses,主打沉寖式協(xié)作的typed,byword,iA Writer。這些軟件用來(lái)寫文檔干凈利落,再也不用忍受Word那些復(fù)雜的按鈕了。
Latex系
如果說(shuō)Markdown適合些短文的利器的話,Latex則適合需要排版大量文字的需求。但其實(shí)很多人都不知道用什么Latex軟件好。我通過(guò)大量的實(shí)踐發(fā)現(xiàn),Windows下最好用的非Winedt莫屬,Mac下非Texpad莫屬,Linux下非Kile莫屬。三個(gè)軟件的最大特點(diǎn)是既能夠滿足僅僅敲擊鍵盤的需求,又能夠滿足文檔和源碼之間的同步索引問(wèn)題。其中Winedt和Texpad收費(fèi)。還有一些異類如Lyx基本不支持大部分的論文模板,而且容易出錯(cuò)。當(dāng)然,vim黨和sublime黨會(huì)吐槽說(shuō)他們的更好用,但作為一個(gè)兩黨兼修的我在用過(guò)上述三款軟件后都不考慮vim和sublime了。
高階技能
說(shuō)了那么多,很多人可能還在用visio或者OmniGraffle畫圖,用excel或者R或者matlab等做一些簡(jiǎn)單的數(shù)據(jù)分析工作。然后就是調(diào)整各種PDF或者eps格式,讓文章看起來(lái)美觀。但如果你掌握高階Latex技巧,可以畫出漂亮的圖片,而且節(jié)省時(shí)間。在我的碩士論文中,采用了全Latex排版,包含了26張圖片,共80頁(yè)50000字的文檔編輯為PDF后僅僅有300K,這就是Latex繪圖的效果。而且在圖片的細(xì)節(jié)上,沒(méi)有任何失真,這在用visio轉(zhuǎn)換的圖片中是很難做到的。那Latex是怎樣做到的呢?
pgf家族
說(shuō)到這個(gè)問(wèn)題,就要談到Latex的繪圖引擎了,Latex有很多繪圖引擎,但是比較智能且功能強(qiáng)大的就是pgf系列了,其中包括很多包,可以涵蓋普通的圖形繪制,如體系結(jié)構(gòu)圖,狀態(tài)圖等,還有與數(shù)據(jù)結(jié)合的柱狀圖,餅狀圖,折線圖等。除此之外,還有擴(kuò)展包應(yīng)對(duì)各種特殊的繪圖,如UML繪圖,化學(xué)圖形,電路圖等。如果熟悉了tikz得編程方式,可以輕松的繪制各種復(fù)雜的圖形而不用擔(dān)心圖形中有任何問(wèn)題,因?yàn)橐磺卸季_地定義好了。
當(dāng)然這樣的高階技巧需要長(zhǎng)時(shí)間的打磨,可以從最基本的圖形繪和數(shù)據(jù)圖形繪制開始,循序漸進(jìn),你會(huì)發(fā)現(xiàn)用Latex畫得圖形在排版上沒(méi)有瑕疵,整個(gè)論文堪稱一件藝術(shù)品,結(jié)構(gòu)的高度統(tǒng)一和細(xì)節(jié)的無(wú)可挑剔。這些都會(huì)給你的文章本身加分哦。
總而言之,對(duì)于有重度文字審美標(biāo)準(zhǔn)的你,放棄word是一個(gè)明智的舉動(dòng),當(dāng)你在用Markdown寫日記,用Latex制作你的精美小冊(cè)子時(shí),你是以一種藝術(shù)的方式在寫作,以藝術(shù)的方式在繪圖。同時(shí)你也像一個(gè)程序員一樣在編程,體會(huì)指尖快速敲擊鍵盤的質(zhì)感,體會(huì)大腦邏輯交疊快感。