LaTeX

文档标记语言

LaTeX/ˈlɑːtɛx//ˈltɛx/[2],常被讀作/ˈlɑːtɛk//ˈltɛk/風格化後寫作「LaTeX」),是一種基於TeX排版系統,由美國計算機科學萊斯利·蘭伯特在20世紀80年代初期開發,利用這種格式系統的處理,即使使用者沒有排版和程序設計的知識也可以充分發揮由TeX所提供的強大功能,不必一一親自去設計或校對,能在幾天,甚至幾小時內生成很多具有書籍品質的印刷品生成複雜表格和數學公式,這一點表現得尤為突出。因此它非常適用於生成高印刷質量的科技數學物理文檔。這個系統同樣適用於生成從簡單的信件到完整書籍的所有其他種類的文檔。

LaTeX
LaTeX 標志
原作者萊斯利·蘭伯特
首次發布1984年,​40年前​(1984
當前版本
  • November 2024 LaTeX release(2024年11月1日;穩定版本)[1]
編輯維基數據鏈接
源代碼庫 編輯維基數據鏈接
平台跨平台
語言多國語言
類型排版
許可協議LaTeX Project Public License英語LaTeX Project Public License(LPPL)
網站latex-project.org

LaTeX使用TeX作為它的格式化引擎,當前的版本是LaTeX2e(寫作「LaTeX2ε」)。

排版系統

LaTeX遵循呈現與內容分離的設計理念,以便作者可以專注於他們正在編寫的內容,而不必同時注視其外觀。在準備LaTeX文檔時,作者使用章(chapter)、節(section)、表(table)、圖(figure)等簡單的概念指定文檔的邏輯結構,並讓LaTeX系統負責這些結構的格式和布局。因此,它鼓勵從內容中分離布局,同時仍然允許在需要時進行手動排版調整。這個概念類似於許多文字處理器允許全局定義整個文檔的樣式的機制,或使用層疊樣式表來規定HTML的樣式。LaTeX系統是一種可以處理排版和渲染的標記語言[3]

LaTeX的讀音和書寫

由於TeX一詞應該讀作「泰赫」([tɛx][4],所以LaTeX一詞可以讀作 [lətɛx],發音近似為 「拉泰赫」。

  • 英語中,LaTeX 實際通常讀作 /ˈleɪ.tɛk/(音譯「萊泰克」)或者 /ˈlɑ.tɛk/(音譯「拉泰克」)。
  • LaTeX 的開發者 Lamport 表示對 LaTeX 的讀音沒有偏好[5]

LaTeX 的標準寫法是 「LaTeX」。如果因技術限制而無法做到,則應該寫成 「LaTeX」。不得改變任何一個字母的大小寫,以免和 「latex」(乳膠)混淆。

中文支持

CCT

最早支持簡體中文的TeX是CCT,由中國科學院數學與系統科學研究院張林波研究員編寫。最初,由於計算機內存以及運算速度等方面的限制,需要將符合CCT格式的.ctx文件預處理之後再使用LaTeX編譯,生成的.dvi文件需要後處理。

在最新版的CCT中,用cct.sty代替了原來的預處理程序,與CJK結合,直接使用.tex文件,而不必再使用.ctx文件,可以用LaTeX直接編譯,不再需要後處理.dvi文件。

CJK

讓LaTeX支持中文的另一種方法是使用德國人Werner Lemberg編寫的CJK巨集包。這個巨集包不僅僅支持繁簡體中文、日文、朝鮮文等東亞語言,而且它也是一個多種語言支持包,另外還支持幾十種其他不同的語言。

CTeX套裝

曾在簡體中文用戶中廣泛使用的TeX發行版是Windows平台下的CTeX中文套裝,它也是最早的支持中文TeX的軟件套裝。[6]但現已不再活躍開發,最後更新於2012年3月22日。[7]

ChinaTeX發行版

hooklee(李樹鈞)製作的ChinaTeX發行版也非常不錯,它集成了與TeX有關的許多軟件,大大減小了初學者的安裝配置困難,適用於簡體中文用戶。[8]最有特色的是將TeX有關的命令都集成在WinTeX編輯器的按鈕中,鼠標一點,即可編譯。

cwTeX

繁體中文的用戶可以使用cwTeX或PUTeX。cwTeX排版系統由吳聰敏(國立台灣大學經濟學系教授)、吳聰慧、翁鴻翎共同發展,cwTeX可以在MSDOS、Windows、Linux、FreeBSD等系統上執行,全部軟件(含使用使用手冊PDF文件及5套中文字型)可自網站上免費下載。

PUTeX

PUTeX由台中市沙鹿區靜宜大學資訊管理系蔡奇偉教授發展,是國家科學委員會八十六年度(1997)計劃的成果(國家科學委員會計劃編號:NSC-86-2213-E-126-005)。PUTeX以Christian Schenk先生的MiKTeX系統為基礎,改寫D. E. Knuth教授TeX程序的原始碼,使之能夠直接排版中文,並支持TrueType中文字型。PUTeX最大的特色就是可以直接採用安裝在Microsoft Windows操作系統中的中文字型。

ChiTeX

原作者為國立中央大學數學系陳弘毅。適用於Big5及GB內碼之中文。此一Unix版可用於裝有teTeX的GNU/Linux,FreeBSD,Solaris,與SunOS系統。

XeLaTeX

為了支持Unicode現代字體XǝTeX被開發出來,其直接使用本機計算機中安裝的字體的方法,大大降低了使用LaTeX的難度。從效果看,生成的PDF文件與DVI文件相差不大。以下是XeLaTeX文件及其編譯的pdf文件截圖。

源代碼 輸出
\documentclass[12pt]{article}
\usepackage[cm-default]{fontspec}
\usepackage{xunicode}
\usepackage{amsmath}
\title{\LaTeX}
\author{}
\date{}
\begin{document}
\maketitle
  \LaTeX{} is a document preparation system
  for the \TeX{}   typesetting program. It offers
  programmable desktop publishing features and
  extensive facilities for automating most aspects
  of typesetting and desktop publishing, including
  numbering and cross-referencing, tables and figures,
  page layout, bibliographies,   and much more.
  \LaTeX{} was originally written in 1984 by Leslie
  Lamport and has become the dominant method for
  using \TeX; few people write in plain \TeX{} anymore.
  The current version is  \LaTeXe.
\setmainfont[BoldFont=Adobe Heiti Std]{SimSun}

这是一个测试。                             \\
\textbf{测试环境}:XeTeX TeXLive2008      \\
  \begin{align}
    E &= mc^2                              \\
    m &= \frac{m_0}{\sqrt{1-\frac{v^2}{c^2}}}
  \end{align}
\end{document}
 

其他應用

由於LaTeX是透過語法來排版的,任何可以想象得到的東西,像是樂譜棋譜(可動態)、化學結構式電路圖物理學中的費曼圖等等都可以先定義規則,然後再以簡單的語法排版出來。而那些規則也往往早有人寫出對應的巨集包,所以使用者只需要弄懂它的語法就可以了。下面的表格列出了一些例子:

主題 巨集包 範例圖 對應語法(或有截取)
中國象棋 cchess  
\normalboard
\begin{position}
\piece{a}{1}{r}
\piece{i}{1}{r}
\piece{b}{1}{n}
\piece{h}{1}{n}
\piece{c}{1}{b}
\end{position}
西洋棋 skak  
\fenboard{%
r5k1/%
1b1p1ppp/%
p7/%
1p1Q4/%
2p1r3/%
PP4Pq/%
BBP2b1P/%
R4R1K w - - 0 20}
\mbox{}\showboard
南管工尺譜 自訂規則
\begin{landscape}
〔■想 〕
〔六シ 〕
〔■起 〕
〔六ˋ、〕
〔■來 〕
〔工ˊ 〕
〔■那 〕
〔ㄨˋ 〕
\end{landscape}
五線譜 musixtex  
\begin{music}
\generalsignature{-1}%一個降記號
\startextract%一行譜之開始
\Notes \csong{}\Dqbu gg\en
\Notes \ibu0f0\qb0f\nbbu0\qb0f\tbu0\qb0d\en
\Notes \csong{}\qa{fd}\en
\endextract%一行譜之結束
\end{music}
化學式 chemfig  
\chemfig{
 H_3C-[:72]{\color{blue}N}*5(- 
*6(-(={\color{red}O})-
{\color{blue}N}(-CH_3)-
(={\color{red}O})-
{\color{blue}N}(-CH_3)-=)--
{\color{blue}N}=-)}
電路圖 circuitikz  
\begin{circuitikz}\draw
  (0,0) to[C, l=10<\micro\farad>] (0,2) -- (0,3)
        to[R, l=2.2<\kilo\ohm>] (4,3) -- (4,2)
        to[L, l=12<\milli\henry>, i=$i_1$,v=b] (4,0) -- (0,0)
  (4,2) { to[D*, *-*, color=red] (2,0) }
  (0,2) to[R, l=1<\kilo\ohm>, *-] (2,2) 
        to[cV, i=1,v=$\SI{.3}{\kilo\ohm} i_1$] (4,2)
  (2,0) to[I, i=1<\milli\ampere>, -*] (2,2); 
\end{circuitikz}

許可證

LaTeX通常與TeX一起在自由軟件許可下進行分發:LaTeX項目公共許可證英語LaTeX Project Public License(LPPL)。[2]LPPL與GNU通用公共許可證不兼容,因為它要求修改的文件必須與原始文件明顯不同(通常通過更改文件名實現);這樣做是為了確保依賴其他文件的文件正常運作,並避免依賴地獄。自1.3版本起,LPPL符合Debian自由軟件指導方針(DFSG)。作為自由軟件,LaTeX可在大多數操作系統上使用,其中包括UnixSolarisHP-UXAIX)、BSDFreeBSDmacOSNetBSDOpenBSD)、LinuxRed HatDebianArchGentoo)、WindowsDOSRISC OSAmigaOSPlan 9

LaTeX在MS Office中的支援

MS Office的域指令EQ支援部分類LaTeX的格式,經測試可用於MS Office Word 2000、2002、2003、2007和2010。[來源請求]

參見

參考資料

  1. ^ LaTeX2e Release Newsletter. [2024年11月27日]. 
  2. ^ 2.0 2.1 Introduction to LaTeX. www.latex-project.org. [2023-12-25]. (原始內容存檔於2022-01-29). LaTeX, which is pronounced «Lah-tech» or «Lay-tech» (to rhyme with «blech» or «Bertolt Brecht») 
  3. ^ LaTeX的設計借鑑了一些更早的標記系統,如Scribe.
  4. ^ Knuth, Donald Ervin. The TeXbook. Addison-Wesley. 1993. ISBN 0-201-13448-9. 
  5. ^ Lamport, Leslie. TLZ. Workshops in Computing. London: Springer London. 1994: 267–268. ISBN 978-3-540-19884-0. TeX is usually pronounced tech, making lah-tech, lah-tech, and lay-tech the logical choices; but language is not always logical, so lay-tecks is also possible. 
  6. ^ CTeX 套装:CTEX. [2018-10-28]. (原始內容存檔於2020-11-24). 
  7. ^ CTeX Release Notes:CTEX. [2018-10-28]. (原始內容存檔於2020-08-31). 
  8. ^ hooklee. ChinaTeX —TeX使用指南. [2018-10-28]. (原始內容存檔於2012-01-01). 

外部連結