標籤:

LaTeX 第一課:準備就緒

本文同時發於公眾號:兩個少年的奇幻漂流(ID: Amazing_Adventure)。

本文是蔣先生的 LaTeX 入門介紹的第一篇。主要內容有:

  • 為什麼要使用 LaTeX ?

  • 你適合使用 LaTeX 嗎?

  • LaTeX 小史

  • LaTeX 的工作原理

  • LaTeX 的安裝

  • 第一個文檔

本文適合完全沒有接觸過 LaTeX 的小白,裡面也有一些有趣的故事!

=================================================

為什麼要使用 LaTeX ?

高二那年,數學競賽課上,來了一個年輕的老師。他打開了他給我們帶來的習題,投影在大屏幕上。起初我們並不以為意,直到我們發現了其中有個地方打錯了字。

「噢我改一下……」 他打開了另外一個中英夾雜的文檔,在裡面改了幾個字,然後點了一個鍵,打開了 Windows 的控制台。上面產生了大量的輸出,幾秒鐘後,習題文檔跳了出來,原來的錯字已經改好了。

帥呆了。

課間的時候我們端詳了老師電腦上的文檔,發現那不是我們常用的 Microsoft Word,而是一個 PDF 文件。其中的數學公式非常漂亮,讓我對這個新的工具非常好奇。老師說,這個東西叫 LaTeX。

我回家立刻到處搜索到處找資料,給自己的電腦上裝了個 LaTeX。然後我看了一些資料,就排版出了一個漂亮的公式。原來扮酷並沒有那麼難。

之前我們在寫實驗報告的時候(心理系的應該都知道這個痛),我們都是從 Google scholar 上面找到要引用的文獻,點擊一下「引用」,然後把 APA 格式的拷貝下來,粘貼到論文的最後。注意最後的參考文獻列表要記得按字母順序排列噢,別忘了同一作者同一年份的文章別忘了加abc,它們之間也要按字母順序排列。引用的時候,還要注意別把作者的名字寫錯了,姓當成名這種錯誤我覺得中國學生還是很容易犯的。年份也別忘了核對一下。我從一開始就知道這樣做肯定是不對的,要是真的有百八十篇參考文獻那怎麼辦?別人要寫書的,百八十頁參考文獻怎麼辦?那時苦於我自己真的只會使用 MS Word,我也不得不這樣做。那個學期我花了很多時間來研究如何使用 LaTeX 來自動生成參考文獻,終於我現在寫綜述的時候不用擔心參考文獻的問題了。我可以在 LaTeX 最開始設計的哲學之下專心地寫文稿,一邊寫一邊引用別人的成果,然後個「make」就可以拿到我要的東西。我相信這個技能以後能幫我省下不少的時間。(當然後來我也知道了有種叫 EndNote 的東西,不過那時用 LaTeX 已經輕車熟路了)

說了這麼多,其實想表達的 LaTeX 的巨大優勢就是自動化。這就是工具的力量,機械的工作都應該交給計算機,它們生來就是為人類完成這些任務的。它們極少出錯,也不會喊累,還特別快。另外,它免費開源、全平台可用、佔用資源少、社區龐大、文檔全面,還有許多其他優點,大家在學習的過程中會慢慢感受到的。

所以為什麼要用 LaTeX 呢?因為方便啊。我們專心寫東西就行了,排版的問題,就交給它吧。

=================================================

你適合使用 LaTeX 嗎?

LaTeX 與 Word 的聖戰從來沒有停止過。LaTeX 和 Word 各有各的優勢,也各有各的缺點,說誰更好其實沒有任何意義。對不同的人群來說,只要選擇自己合適的工具就好。

LaTeX 主要面向的用戶是科研工作者,或者需要高質量學術排版的用戶。但是不得不承認,它其實並不是一個好學的東西。我們只有通過刻苦的鑽研才能用它排版出自己心儀的作品。它並不像 Word,打開打字就能用,排版效果也無法直接顯示在面前,所以學習的成本還是挺高的。我在大二的時候為了滿足課程作業的需求折騰了半年才在期末排版出了漂亮的作業,但是最後看到我的成果時我還是非常滿足的。因此學習和使用 LaTeX 需要一定的毅力去學習,就像學習任何其他的東西一樣。

LaTeX 雖然是一個優秀的排版工具,但是它的圖文混排能力並不強。如果你是希望排版畫冊、雜誌等出版物,我想 LaTeX 並不是你需要的,你應該去看看 Adobe Indesign。但是排版學術論文(尤其是有很多參考文獻和交叉引用的)和簡歷還是非常給力的。天一在簡單學習了一個小時之後就排版出了非常漂亮的簡歷,又學習了一個小時之後就自己排版了課程論文,還得到了老師的好評。

LaTeX 小史

學數學或者學計算機的人都知道一個人,就是高德納 (Donald E. Knuth)。他在而立之年就寫下了巨著《計算機程序設計藝術 (The Art of Computer Programming, TAOCP)》的前三卷,並憑藉它成為歷史上最年輕的圖靈獎獲得者。當這部書交付印刷後給他看時,他說:「我不知道怎麼辦。我花了整整 15 年寫這些書,可要是這麼難看,我就 再也不寫了。我怎麼能對這樣的作品引以為豪呢?」 於是20世紀70年代他就放下了 TAOCP 的寫作,用十年的時間寫出了 LaTeX 的前身:TeX。同時發布的還有他為 TeX 寫的說明書《The TeXBook》。TeX 的版本號從3開始,每次更新都會按照圓周率pi的小數順序向後加一位,比如3,3.1,3.14,3.141……目前我使用的 TeX 版本是3.14159265。

這一系統推出之後對出版業影響巨大。TeX 的核心思想就是源自中國的活字印刷術,使用一系列命令來在紙上的不同位置放下不同的文字,這樣完成排版工作。但是最初的 TeX 和手動排版沒有太大的本質差別,使用起來還是有些不方便。於是在80年代,美國計算機科學家萊斯利·蘭伯特 (Leslie Lamport) 在原來 TeX 的基礎上加上了許多功能,使得它變得更加易用。大家在 TeX 的前面加上了蘭伯特姓氏的前兩個字母,就成為了LaTeX。LaTeX 目前的版本是2ε,表示比2大但是比3小,一般也寫作 LaTeX2e。萊斯利·蘭伯特也在2014年獲得2013年度圖靈獎。當時的國際計算機學會 (Association of Computer Machinery, ACM) 和美國數學學會 (American Mathematical Society, AMS) 都採用了這一排版系統,直到今天它仍然是學術排版的不二工具。許多學術期刊都提供 LaTeX 模板,並只接收 TeX 源文件投稿。

由於 LaTeX 是公開源代碼的軟體,整個業界都在為之貢獻。大家寫出了很多功能各異的宏包來實現各種各樣的功能。比如 AMS 官方開發了 amsmath 系列宏包,提供數學排版標準和相應的符號支持;甚至還有專門排版樂譜、化學式、棋譜的宏包。龐大的社區使得 LaTeX 的功能越來越豐富,也讓它變得越來越強大。

對了還要提到一點,LaTeX 中的L、T、X應該大寫,a和e應該小寫,這是一個傳統。LaTeX 的標誌中本來都是大寫的字母,但為了體現它是一個排版軟體的名字,A和E分別上升、下降了一些,於是在例如微信等普通排版過程中,都用小寫來標記這兩個字母,請大家在表達時務必注意。TeX 這個名字來源於英文單詞 technology 的希臘文詞根τεχ,依原文讀作「泰克」,而 LaTeX 則讀作「拉泰克」。

=================================================

LaTeX 的工作原理

說了這麼多,LaTeX 到底是個什麼東西呢?下面我們就來回答這個問題。

LaTeX 是一個排版系統,它是一個引擎。它以文本作為輸入,以排版好的文檔作為輸出。這就像很久以前還沒有電腦時候的出版社一樣,你把寫好的手稿給出版社,出版社幫你出版成書。真正重要的是你寫的內容,至於用什麼筆、什麼紙,都無所謂。所以純凈的 LaTeX 只是一個引擎,它將一個.tex源文件作為輸入,把成品文檔作為輸出。我們寫作時其實是在編輯這個.tex源文件。源文件其實只是一個純文本文件,你可以用任何一種文本編輯器(比如 Windows 下的記事本)來寫作。但是由於用 LaTeX 寫作不是「所見即所得」的,源文件中會有許多排版命令和標記(類似 HTML),因此方便起見,大家開發了一些專門用於編輯 .tex 文件的編輯器,比如我使用的 Texpad。初學者我推薦 TeXworks (Windows / Linux) 和 TeXShop (macOS),在自己有了一定的編輯習慣和定製編輯器的能力之後,可以再換別的編輯器。不過編輯器從來都沒有最好的,挑一個趁手的用就行了。

由於一些歷史原因,比如列印設備的進步,LaTeX 發行版中帶有多個引擎。目前比較常用的引擎是 XeLaTeX,因為它能夠兼容的字符集更全面,尤其是在處理東亞文字方面支持得更好。關於字符集和字體的問題我會在後面找機會和大家詳細介紹,現在知道這個就好了。所以整個文檔的寫作過程可以表達為:

-(編寫)-> .tex文件 -(輸入)-> XeLaTeX -(輸出)-> PDF文檔 -->發布

這也是我們編寫文檔的全部過程。

=================================================

LaTeX 的安裝

安裝 LaTeX 並不是一件難事,只要選擇合適的發行版就行了。LaTeX 相關的全部資源都在 CTAN (Comprehensive TeX Archive Network) 上,可以登錄世界各地的鏡像網站看到相關的資源。不過需要手動獲取資源的情況其實不多,這裡只是作一個介紹。

  • Windows 平台上比較常用的是 CTeX 套裝,其中自帶的編輯器有 WinEdt 和 TeXWorks。安裝非常簡單,只要下載安裝包(應該是 2 GB 左右)之後點開按提示操作即可,全程傻瓜操作。

  • Linux 平台可用 TeX Live,建議不要用 apt-get 或者 yum 直接安裝,據說那樣安裝出來的版本是殘廢的(我沒有試過)。最好還是到 CTAN 上找到最新的版本下載安裝。

  • macOS/OS X 可以用 MacTeX,和 Windows 一樣可以傻瓜安裝。但是安裝之後可能會有中文字體的問題,需要手動修改一下配置文件來把中文字體對應上,否則會出現只有西文字元沒有中文的情況。這個問題不知道在 2016 版本中有沒有解決,不過在網上都有成熟的解決方案。只要用「MacTeX 中文字體」作為關鍵字搜索基本都能找到相關的幫助。

=================================================

第一個文檔

安裝好 LaTeX 的你是不是著急想要開始排版第一個文檔了呢?這裡我把製作題圖的 LaTeX 源文件貼在下面,大家可以按照這個文檔寫一個 hello.tex,然後自己排版試試看。沒有調好中文字體的朋友們也可以嘗試,因為這裡並沒有漢字出現。

打完了之後用 XeLaTeX 作為引擎排版,然後新鮮出爐的 PDF 文檔就會展現在眼前啦!是不是很有成就感!

下期預告:下期我們將對簡單文檔中的一些基本命令和一些最基本的排版方式作介紹,包括文檔的結構化、字體的樣式、特殊符號的輸出等。有興趣的同學們請繼續關注噢!

歡迎關注我們的公眾號:兩個少年的奇幻漂流(ID: Amazing_Adventure)

weixin.qq.com/r/rzlIUCT (二維碼自動識別)


推薦閱讀:

TAG:LaTeX |