LaTeX

文档标记语言

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

LaTeX
LaTeX 標志
原作者萊斯利·蘭伯特
首次發佈1984年,​40年前​(1984
目前版本
  • June 2024 LaTeX release(2024年6月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. ^ "https://www.latex-project.org/news/latex2e-news/"; 檢索日期: 2024年6月29日; 刊載處: LaTeX.
  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). 

外部連結