天天看點

latex sign_讓女朋友一周學會 LaTeX(1):第一個 LaTeX 文檔,Oh darling!

為什麼每個人都這麼着急?

Why is everyone in such a rush?

——Peter Norvig《花十年教自己程式設計》(

Teach Yourself Programming in Ten Years)[1]

零、十秒鐘速覽

本篇将講述本系列文章的教學對象和理念,LaTeX 環境安裝、配置和使用,撰寫并編譯第一個 LaTeX 文檔。

作者:Hansimov

一、教學對象

增進兩性關系是提升技術實力的重要途徑(反之未必)。學習 LaTeX 和戀愛一樣,都需要熱情和耐心。本系列将面向女朋友教學,借她之口,将許多新手常遇、而老手不屑的問題抛出,加以解答和拓展。本系列文章的教學對象是:

  1. 即将或已經有女朋友要教的男孩子
  2. 不需要男朋友隻想自學的女孩子
  3. 自由獨立、孑然一身的其他小夥伴

二、教學理念

有的教材隻注重知識的授予,并不注重知識的屏蔽。在教學中知識的屏蔽十分重要,這是一個重點突出的問題。……

力求使我們在學習過程中所接觸到的每一個知識點都是目前唯一要去了解的東西。我們在看到這個知識點之前,已了解了以前所有的内容;在學習這個知識點的過程中,以後的知識也不會對我們造成幹擾。

我們在整個學習過程中,每一步都走得清楚而紮實,不知不覺中,由當初的一個簡單的問題開始,在經曆了一個每一步都相對簡單的過程之後,被帶入了一個深的層次。這同沿着樓梯上高樓一樣,邁出的每一步都不高,結果卻上了樓頂。

——王爽《彙編語言》(第三版)“前言”

給新手講東西,“舍”比“得”更重要。

我們需要學會舍棄重要但是困難的内容,每次教的都恰到好處,勉強能懂、夠用就行。老手常常提醒新手,說 LaTeX 學習曲線陡峭,固然是想讓新手要沉得住氣,但是往往也确實沒有把握好教學的層次性,往往存在盲區和階躍。

給女朋友教東西,“愛”比“教”更重要。

我們不能隻顧教技術,而忽視她在學習過程中微妙的情緒變化。第一件事是要建立良好的學習氛圍,讓她覺得學習晦澀的 LaTeX 是一種享受,而不是覺得是負擔;第二件事是幫她建立學習的信心,讓她在遇到困難時的反應不是“我不會”“我好笨”,而是“我這麼聰明我一定行”。

對于非計算機專業的小白,“學 LaTeX 慢”隻是表面現象,更深層次的原因是“缺乏計算機和軟體的使用基礎”。是以我們在教 LaTeX 的同時,也應當穿插一些相關的計算機的使用基礎,這樣對他們以後自學其他軟體也是很有幫助的。

新手教程不是和同行切磋,技術厲害是次要的,氛圍良好才是主要的。本系列文章不求全面、但求有用,不求牛逼、但求體貼,力圖在短時間内,讓女朋友開心地學會 LaTeX,并且愛上 LaTeX。

三、環境推薦

要用 LaTeX 寫出漂亮的文檔,你需要兩樣東西:

  • 一個 LaTeX 套裝 :幫你處理各種排版的破事
  • 一個稱手的 文本編輯器 :讓你自由自在的寫作碼字

下面針對不同作業系統推薦好用的 LaTeX 套裝。連結裡附了下載下傳位址和有用的文章。當然,不必拘泥于提供的這幾個連結,多搜多看、多試多想,對今後深入了解 LaTeX 和掌握其他軟體,都是大有裨益的。

這部分篇幅雖然不多,但很有可能是最耗時的。不過安裝過程中,除了特别指出的地方,其他都沒有門檻,随便搜一篇教程也都能滿足要求。學會使用搜尋引擎,最好的時間是入門時,其次是現在。關于使用搜尋引擎的重要性,我們以後還會在其他地方以各種形式不斷地強調。

1、LaTeX 套裝推薦

  • macOS:MacTeX
    • 完整的 MacTeX 有 4GB 之大,是以需要等待一段時間才能下載下傳完成。
    • 根據采樣,用 mac 的小夥伴還是挺多的。我主要用的環境是 Windows,當然也會在 mac 上作部分測試,是以遇到問題大家可以發在評論區。
  • Windows:MiKTeX
    • 如何安裝MiKTeX安裝教程-百度經驗
    • 注意:需要将“<安裝路徑>MiKTeXmiktexbinx64”添加到系統環境變量中
      • 如何添加系統環境變量
      • 這裡的“安裝路徑”指的是你安裝 MiKTeX 指定的路徑,不是真打“安裝路徑”這幾個字啊。如果你不知道自己裝在哪裡,可以使用 Everything 在電腦中搜尋

        miktexbinx64

        ,然後定位到對應路徑并複制即可
  • Linux:TeX Live
    • 會用 Linux 的小夥伴就不用我多說怎麼安裝了
  • 都 2020 年了,求求你們不要再用 CTeX 了
    • 慕子:[LaTeX 發行版] 2018年,為什麼不推薦使用 CTeX 套裝了

每個人的機器不同,電腦環境又千差萬别,是以在安裝時會碰到各種問題,一言難盡,請善用百度、谷歌和必應。沒法裸連谷歌的,可以試試 Google 鏡像。

2、文本編輯器推薦

  • 新手首推: TeXstudio
    • 有很多和 LaTeX 密切相關的功能和預設配置
    • 注意,macOS 版本下載下傳在網頁很下面,得往下使勁拉才能找到,或者用 Ctrl+F 搜尋“mac”,然後下載下傳 .dmg 檔案
  • 新手進階:VS Code
    • 說不定就愛上寫代碼了呢
  • 作者最愛:Sublime Text
    • 顔值高、響應快,試問哪個女孩子能拒絕呢
  • 都 2020 年了,求求你們不要再用 WinEdt 了
    • 界面醜,操作反人類

選用其他編輯器的小夥伴,你們的水準已經不需要我來推薦了。不過有空也許我可以寫篇《編輯器标準大讨論》……

本系列文章的主要測試環境為:

Windows + MiKTeX + TeXstudio。

四、提升 TeXstudio 的顔值

終于安裝好煩人的環境了,讓我們開始鼓搗軟體。

打開 TeXstudio,它的預設界面是這樣的:

latex sign_讓女朋友一周學會 LaTeX(1):第一個 LaTeX 文檔,Oh darling!

TeXstudio 的預設界面

字型又醜又小,配色也蒼白。21 世紀居然還有這樣醜的軟體,完全勸退女朋友。不過别急,簡單幾個操作,我們可以将其顔值提升許多。

讓我們來點開最上面菜單欄中的 Options,或者按下快捷鍵 Alt+O(以後你會發現,很多軟體都可以使用類似方式的快捷鍵打開菜單欄選項)。然後點開 Configure TeXstudio > General,把原本的内容改成如下:

  • Color Scheme: 把 Classic 改成 Modern - dark
    • 把配色改成暗色調,更具進階感,長時間工作也會降低視覺疲勞度
  • Font: 把 simSun 改成 微軟雅黑
    • 顯示器上還是非襯線字型讀起來更舒适一些
  • Font Size: 把 9 改成 12
    • 老年人就該看大字型…(咣!)…不是,寶貝你在我眼裡永遠都是 18 歲。
  • Language: 推薦還是用 en(英文)
    • 畢竟很多術語翻譯并不統一,從長遠來看還是英文更好一些,而且本身也沒有非常複雜的單詞,何況以寶貝的聰明才智,這點難度的英文完全不在話下…

簡單設定完,TeXstudio 美容成了下面的樣子:

latex sign_讓女朋友一周學會 LaTeX(1):第一個 LaTeX 文檔,Oh darling!

改善後的 TeXstudio 界面

雖然還是一股濃濃的 Qt 風(這裡的 Qt 念作 cute,不是說這個風格可愛,事實上,Qt 是一個開發使用者界面程式的架構),但是已經比預設的好很多啦。

不過我最喜歡的,自然還是清爽幹淨的 Sublime Text:

latex sign_讓女朋友一周學會 LaTeX(1):第一個 LaTeX 文檔,Oh darling!

Sublime Text 的界面

當然啦,無論這些軟體多麼好看,都不及寶貝美麗心靈的萬分之一…

五、建構第一個 LaTeX 文檔

提升完 TeXstudio 的顔值以後,我們就可以着手寫第一個文檔了。

1、建立檔案并輸入内容

菜單欄點選 File > New(快捷鍵 Ctrl+N),建立一個文檔,它的預設名字叫 untitled,意思是你還沒給他起名,它就暫時用這個名字啦。讓我們按下 Ctrl+S,儲存到一個指定的位置,再起一個名字,比如“darling.tex”,可以看到标題欄已經從 untitled 變成了 darling.tex。這裡的“.tex”字尾,自然就表示這是一個 TeX 檔案。

然後我們把下面的内容複制到編輯器裡面去:

documentclass{article} % 這一行說明文檔的類型
begin{document}        % begin{...} 開始一個環境
Oh darling!             % 在這裡寫正文
end{document}          % end{...} 結束一個環境
           

2、調整編輯器字型大小

啊,輸入進去以後,感覺字好小啊,有點看不清,老年人…(“嗯?”)…不是,為了保護寶貝的眼睛,我們應該把這個字型調大一些。

打開菜單欄 Options > Configure TeXstudio > Editor,修改如下:

  • Font Size: 把 10 改成 12

你看,字型一下子就變大了,這下眼睛舒适多了吧。

3、建構和檢視

先别急着了解上面的内容,我們按下那個綠綠的雙箭頭,就是那個長得很像快進的。

latex sign_讓女朋友一周學會 LaTeX(1):第一個 LaTeX 文檔,Oh darling!

Build &amp;amp;amp;amp;amp; View (F5)

而且如果你把滑鼠挪到上面等個兩秒鐘,它還會有個懸浮提示“Build & View (F5)”,意思就是“建構(文檔)并檢視”,括号裡面的 F5 是指這個功能的快捷鍵。如果你之後經常要用它,不必每次都把滑鼠移到那裡點一下,直接按下 F5 就可以了。

唰!右邊新彈出了一個視窗,诶嘿,正是我們寫的内容“Oh darling!”(綠色框中部分)。

latex sign_讓女朋友一周學會 LaTeX(1):第一個 LaTeX 文檔,Oh darling!

生成的第一個 PDF

4、PDF 預覽小技巧

此時你會發現,右邊的 PDF 預覽隻顯示了頁面的一部分,你可以在頁面上右鍵,然後選擇 Fit to Window,意思是“适應視窗”,這樣就能顯示一整個頁面了。

你還會注意到,生成的文檔預設帶了頁邊距和頁碼。這展現了 LaTeX 的一個重要優勢:它會主動幫你搞定很多細枝末節。

latex sign_讓女朋友一周學會 LaTeX(1):第一個 LaTeX 文檔,Oh darling!

将 PDF 預覽器适應視窗

而且你的光标在這個頁面上顯示的是一個放大鏡的樣子,你可以按住它,然後可以看到文字被放大了,對于老年人…(“?”)…對于寶貝保護視力很有幫助:

latex sign_讓女朋友一周學會 LaTeX(1):第一個 LaTeX 文檔,Oh darling!

用放大鏡放大文字

5、修改快捷鍵

如果你覺得“Build & View”的快捷鍵 F5 離你手指太遠,想用 Ctrl + B 作為它的快捷鍵,可以點開 Options > TeXstudio Configure > Shortcuts,然後找到 Menus > Tools > Build View,這時我們可以看到三列,分别是預設快捷鍵、目前快捷鍵和附加快捷鍵。輕按兩下第三列,也就是附加快捷鍵,然後在鍵盤上同時按下 Ctrl+B,确認,這時會彈出這樣一個視窗:

latex sign_讓女朋友一周學會 LaTeX(1):第一個 LaTeX 文檔,Oh darling!

修改 TeXstudio 快捷鍵

這個視窗的意思是,Ctrl+B 這個快捷鍵,和你在編輯器裡快速輸入“加粗”指令(“textbf”)的快捷鍵沖突了,你要是選 Yes,就會把原本的加粗快捷鍵覆寫掉。如果你不想覆寫,就試試另一個不沖突的快捷鍵即可。反正我是覆寫掉的。

你看,學 LaTeX 不光是要懂 LaTeX,有時候也要熟悉對應的軟體。這兩個是相輔相成的,而且也沒想象中的那麼難對不對,不必苦大仇深地專門花工夫學。碰到問題的時候動動腦子、搜尋一下,很容易就能解決了。

其實掌握上面的内容,你就已經熟悉 TeXstudio 的 80% 了。以後軟體的使用,就不再成為你寫 LaTeX 的攔路虎了。

六、了解第一個 LaTeX 文檔

1、文檔組成

這下讓我們再來了解一下之前輸入的 LaTeX 文本是什麼含義吧。

documentclass{article} % 這一行說明文檔的類型
begin{document}        % begin{...} 開始一個環境
Oh darling!             % 在這裡寫正文
end{document}          % end{...} 結束一個環境
           
第 1 行指明了這個文檔是“article”的類型。

意思是我們将這個文檔排版成“article”(文章)的樣子。言下之意是,還有其他類型,比如:report(報告)、book(書籍)、letter(信件)……

根據不同的寫作和排版需要,LaTeX 都會幫你設定一套預先調好的樣式。而且通常情況下,LaTeX 預設的樣式,比你自己自作聰明手動調出來的要優雅漂亮許多…(咣!)…不是,寶貝你喜歡什麼樣就用什麼樣…

第 2 行和第 4 行,表明中間包含了一個“document”的環境。

意思是,從 begin 開始到 end 結束,中間的内容都是正文。還有其他環境,比如:center(居中)、equation(公式)、figure(圖檔)……

第 3 行是正文。 反斜杠“”,通常是指令(command)或者宏(macro)的開頭,也用于轉義(下文詳細介紹)。

至于指令和宏具體怎麼用,我們暫時不必深入了解。

花括号“{”和“}”通常用于包含環境。

不要小瞧它,我們以後經常要用到它。

百分号“%”後面的内容是注釋。

意思是,這部分内容不輸出在正文中,而是寫作中間的輔助說明,普通的注釋一般都會被機器忽視掉。

2、轉義

在上面的樣例中,我們知道百分号用于注釋,那如果正文要用百分号(%)怎麼辦呢?很簡單,在百分号前面加一個反斜杠(),也就是寫成“%”的樣子。

為什麼這樣做呢,因為 LaTeX 和 Word 不同,檔案裡面既包含寫作内容,也包含一些告訴機器的指令(比如調樣式),而這些指令通常是用反斜杠()開頭的。一些符号就被用作特殊的用途,比如百分号(%)就被用來作為注釋的開頭,那麼為了能在正文中還能使用這些字元,我們就要用某種方式告訴機器,這個字元在此處解釋成字元本義,而不是特殊字元。是以就采用了在字元前加上反斜杠()的做法來告訴機器這一點。這個過程也叫做

“轉義”

(escape),被轉義掉的字元,就叫“轉義字元”(escape character)。啊,這部分聽得迷迷糊糊也沒關系,以後多用用就了解啦。

那如果要在正文中寫反斜杠字元“”怎麼辦呢?是不是用兩個反斜杠“”?

答案是,不,應當用“textbackslash”。兩個反斜杠“”的作用是換行。盡管其換行特性略微有些古怪,并非像你所想那樣簡單,但是我們暫時可以不必深究。

在今後的 LaTeX 學習過程中,我們會碰到非常多的細節,其實一點都不要害怕。隻要你稍微花幾分鐘查閱和思考一下,這個細節是為了解決什麼問題而設計的,很容易就記住了。如果實在了解不了,也沒關系,說明你暫時還很少用它,既然很少用,那不懂也沒關系對吧。就像我們大部分人學開車,也不用了解發動機是怎麼設計和工作的。

3、生成的檔案

這時你特别想把生成的第一個 PDF 檔案發給閨蜜嘚瑟一下。可是我們隻在 TeXstudio 内置的 PDF 檢視器裡面看到檔案内容,實際的 PDF 檔案哪去了呢?

你還記得你一開始儲存 darling.tex 檔案的地方嗎,是的,生成的 PDF 檔案也預設在同一個檔案夾下。

latex sign_讓女朋友一周學會 LaTeX(1):第一個 LaTeX 文檔,Oh darling!

編譯生成的檔案

我們一眼就能看到其中的 .tex 和 .pdf 檔案。.tex 檔案自然就是我們自己寫的内容了。.pdf 檔案自然就是得到的成品了。

剩下的幾個檔案,可能很多人連它的字尾名都是第一次見,不用擔心,我們一般用不上它們。我隻簡單講一下它們是做什麼的吧,這樣你也能知道機器和男朋友為了讓你省心,幫你任勞任怨地幹了多少髒活累活。

  • .log 是日志檔案,記錄了機器在幫你把 .tex 檔案生成 .pdf 檔案時都做了什麼工作,比方說導入了哪些檔案和字型,機器的開銷怎麼樣。
  • .aux 是輔助(auxiliary)檔案 ,比方說記錄了你文檔中的一些引用資訊。
  • .synctex.gz 是同步(synchronization)檔案,用于在生成的 PDF 檔案和原始的 .tex 檔案互相跳轉,比方說,你點選 PDF 中的某一處,會幫你定位到這段文字在 .tex 檔案對應的部分,反向也是可以的。

如果沒太了解,也沒關系。我們的目标,始終是當一名合格的司機,而不是出色的汽車工程師。

七、總結

在本篇中,我們有如下收獲:

  • 介紹了本系列的教學對象(女朋友)和教學理念(适度舍棄、注重感受),我們将在之後的系列中不斷增進和教學對象之間的感情,并進一步踐行和深化我們的教學理念
  • 初步安裝和配置了 LaTeX 的環境,并根據我們的喜好和需求,對環境進行了簡單的定制,樣例雖然簡單,但是思路卻足夠通用。有了這樣的基礎,我們的教學對象可以進行更多的嘗試和探索,把環境和軟體打造得更加得心應手
  • 撰寫了第一個 LaTeX 文檔,了解了 LaTeX 文檔的主要結構和基本概念,并對一些技術和實作細節進行了适度的延伸

八、家庭作業

撰寫一個 LaTeX 檔案并生成對應的 PDF。要求文檔類型為 book,正文内容為:

Oh darling~

My love for you is 120%. {Really!}

注意:第一行兩個詞中間有三個空格。

九、下篇預告

下一篇我們将介紹新手應當掌握的學習方法,并對一些新手常見的疑惑和問題進行回答和解釋。

參考

  1. ^Peter Norvig, Teach Yourself Programming in Ten Years https://norvig.com/21-days.html

繼續閱讀