LaTeX/簡介
TeX是由高德納建立的一種語言,用於美觀且一致地排版文件。高德納於1977年開始編寫TeX排版引擎,以探索當時開始滲透出版行業的數位印刷裝置的潛力,希望藉此扭轉他認為影響自己書籍和文章的印刷質量下降的趨勢。雖然TeX從某種意義上說是一種程式語言,因為它圖靈完備,但它的主要作用是作為標記語言來描述文件的外觀。TeX對文件結構和格式提供的精細控制使其成為一個強大而強大的工具。TeX以其極高的穩定性、在多種不同型別的計算機上執行以及幾乎沒有錯誤而聞名。TeX的版本號正在收斂到數學常數,當前版本號為3.1415926。
TeX這個名字的開發者希望發音為/'tɛx/,/x/是軟顎摩擦音,是loch和Bach的最後一個子音。(唐納德·E·克努斯,《TeX書》)該名稱的字母旨在表示希臘語大寫字母tau、epsilon和chi,因為TeX是τέχνη(ΤΕΧΝΗ – technē)的縮寫,希臘語中既表示“藝術”也表示“工藝”,也是technical的詞根。英語使用者通常將其發音為/'tɛk/,就像technical的第一個音節。
TeX提供的“開箱即用”工具相對原始,學習如何執行常見任務可能需要大量的時間投入。幸運的是,確實存在基於TeX的文件準備系統,它們由預構建的命令和宏的集合組成。這些系統透過自動化某些重複性任務來節省時間;但是,這種便利是以完全的設計靈活性為代價的。最流行的宏包之一稱為LaTeX。
LaTeX(發音為“Lah-tech”或“Lay-tech”)是萊斯利·蘭伯特建立的一組TeX宏。其目的是簡化TeX排版,尤其是在包含數學公式的文件中。在排版系統中,其名稱格式化為LaTeX。
TeX既是印刷標記語言,也是邏輯標記語言,在編寫TeX文件時必須同時考慮這兩個問題。在建立LaTeX時,蘭伯特的目標是將這兩個方面分開。排版員可以製作模板,而作者可以專注於LaTeX邏輯標記,即使他們可能對排版一無所知。
除了LaTeX提供的命令和選項外,許多其他作者還貢獻了擴充套件,稱為包或樣式,您可以將其用於您的文件。其中許多都捆綁在大多數TeX/LaTeX軟體發行版中;更多內容可以在Comprehensive TeX Archive Network (CTAN)中找到。
大多數讀者都熟悉所見即所得(What You See Is What You Get)排版系統,例如LibreOffice Writer、Microsoft Word或Google Docs。使用LaTeX與使用這些其他程式 fundamentally不同——您不是看到文件的組合方式,而是使用文字檔案中的命令來描述您希望它是什麼樣子,然後執行該檔案透過LaTeX程式構建結果。雖然這具有需要暫停工作並採取多個步驟才能檢視文件外觀的缺點,但使用LaTeX有很多優點
- 您可以專注於文件的結構和內容。LaTeX將自動確保文件的排版(字型、文字大小、行高和其他佈局注意事項)根據您設定的規則保持一致。
- 在LaTeX中,文件結構對使用者可見,並且可以輕鬆複製到其他文件。在所見即所得應用程式中,通常不清楚是如何產生某種格式的,並且可能無法直接複製以用於其他文件。
- 索引、腳註、引用和參考文獻可以輕鬆且自動生成。
- 數學公式可以輕鬆排版。(高質量的數學是TeX最初的動機之一。)
- 由於文件源是純文字,
- 一些學術期刊只接受或強烈推薦以LaTeX文件的形式提交論文。出版商提供LaTeX模板。
當LaTeX程式或引擎處理原始檔時,它可以生成多種格式的文件。LaTeX原生支援DVI和PDF,但透過使用其他軟體,您可以輕鬆建立PostScript、PNG、JPEG等。
- 文件準備系統
LaTeX 是一種基於 TeX 的文件排版系統。因此,該系統是語言和宏的組合。
- 發行版
TeX 發行版是軟體包和程式(編譯器、字型和宏包)的集合,使您能夠進行排版,而無需手動獲取檔案和配置內容。
- 引擎
引擎是一個可執行檔案,可以將您的原始碼轉換為可列印的輸出格式。引擎本身只處理語法。它還需要載入字型和宏才能完全理解原始碼並正確生成輸出。引擎將確定它可以讀取哪種原始碼,以及它可以輸出哪種格式(通常為 DVI 或 PDF)。
總而言之,發行版是安裝使用引擎和所需系統的簡便方法。發行版通常針對特定的作業系統。您可以在不同的引擎上使用不同的系統,但有時存在限制。為 TeX、LaTeX 或 ConTeXt 編寫的程式碼(大多)不相容。此外,引擎特定的程式碼(如 XeTeX 的字型)可能無法被每個引擎編譯。
在搜尋 LaTeX 資訊時,您也可能會遇到 XeTeX、ConTeXt、LuaTeX 或其他帶有 -TeX 字尾的名稱。讓我們在本表中回顧一下大多數術語。
| 系統 | 描述 |
|---|---|
| AMSTeX | 美國數學學會 (AMS) 從 1982 年到 1985 年使用的基於 TeX 宏的傳統文件準備系統。它發展成為 AMS-LaTeX 集合,其中包括幾乎每個 LaTeX 文件中使用的 amsmath 包以及多個 AMS 出版物佈局標準(文件類)。 |
| ConTeXt | 由荷蘭 Pragma ADE 的 Hans Hagen 和 Ton Otten 約於 1991 年設計的基於 TeX 宏的文件準備系統。它與 pdfTeX、XeTeX 和 LuaTeX 引擎相容。 ConTeXt 假設內容作者(文件文字的編寫者)和樣式作者(文件佈局和外觀的設計者)是同一個人。它具有一個一致且易於理解的語法,為作者提供了必要的工具和自由,可以建立任何所需佈局的文件。在沒有標準可遵循的情況下,ConTeXt 以需要額外努力為代價提供了創意自由。ConTeXt 擅長製作具有創意風格的高質量作品,例如教科書和具有藝術特色佈局的文學作品。 |
| LaTeX | 由 Leslie Lamport 設計的基於 TeX 宏的文件準備系統。 LaTeX 假設內容作者和樣式作者是不同的人。這允許作者(研究人員、學生等)專注於內容並忘記設計,同時允許出版商(期刊、研究生院等)執行機構標準。內容和設計的分離伴隨著包管理的成本、不太一致的語法以及如果作者希望偏離佈局設計師的規範 (documentclass) 時增加的複雜性(與 ConTeXt 相比)。LaTeX 擅長製作符合出版要求的高質量學術文件,例如期刊文章和論文。 |
| MetaFont | 由 Donald Knuth 與 TeX 一起設計的優質字體系統。 |
| MetaPost | 基於 MetaFont 的描述性向量圖形語言。 |
| TeX | 由 Donald Knuth 設計的原始語言。 |
| Texinfo | 由 Richard Stallman 設計的基於 TeX 宏的文件準備系統,專門用於生成技術文件(軟體手冊)。 |
| 引擎 | 描述 |
|---|---|
| xetex, xelatex | 支援 Unicode 輸入的 TeX 引擎以及.ttf和.otf字型。參見 字型。 |
| luatex, lualatex | 一個嵌入 Lua 支援的 TeX 引擎,旨在使 TeX 內部結構更具靈活性。與 XeTeX 一樣,支援 Unicode 輸入和現代字型檔案。 |
| pdftex, pdflatex | 生成 PDF 輸出。 |
| tex, latex | "原始" TeX 引擎。生成 DVI 輸出。 |
| TeX 發行版 | 描述 |
|---|---|
| MacTeX | 一個面向 Mac OS X 的基於 TeX Live 的發行版。 |
| MiKTeX | 一個用於 Windows 的 TeX 發行版。 |
| TeX Live | 一個跨平臺的 TeX 發行版。 |
在下一章中,我們將討論在您的系統上 安裝 LaTeX。然後我們將排版我們的 第一個 LaTeX 檔案。
初學者甚至高階使用者在使用 LaTeX 時可能會遇到最令人沮喪的事情之一是難以更改文件的外觀。雖然 WYSIWYG 程式可以輕鬆更改字型和佈局,但 LaTeX 要求您學習新的命令和包才能做到這一點。後續章節將涵蓋許多常見用例,但請知道本書僅觸及了表面。
來自排版愛好者社群的大多數 LaTeX 包都包含優秀的文件。如果您有任何疑問,這應該是您的第一步——如果包的手冊未作為 TeX 發行版的一部分安裝在您的機器上,則可以在 CTAN 上找到它。
其他有用的資源包括
- TeX Stack Exchange 問答
- the#latexFreenode 上的 IRC 頻道
- #latex連線
- TeX 常見問題解答
- LaTeX.org 論壇
- Donald Knuth 的 TeX 原版指南,《TeX 書》
- Leslie Lamport 的 LaTeX 原版指南,《LaTeX:一種文件準備系統》
