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). 

外部連結