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”(乳胶)混淆。

中文支持

编辑

最早支持简体中文的TeX是CCT,由中国科学院数学与系统科学研究院张林波研究员编写。最初,由于计算机内存以及运算速度等方面的限制,需要将符合CCT格式的.ctx文件预处理之后再使用LaTeX编译,生成的.dvi文件需要后处理。

在最新版的CCT中,用cct.sty代替了原来的预处理程序,与CJK结合,直接使用.tex文件,而不必再使用.ctx文件,可以用LaTeX直接编译,不再需要后处理.dvi文件。

让LaTeX支持中文的另一种方法是使用德国人Werner Lemberg编写的CJK宏包。这个宏包不仅仅支持繁简体中文、日文、朝鲜文等东亚语言,而且它也是一个多种语言支持包,另外还支持几十种其他不同的语言。

CTeX套装

编辑

曾在简体中文用户中广泛使用的TeX发行版是Windows平台下的CTeX中文套装,它也是最早的支持中文TeX的软件套装。[6]但现已不再活跃开发,最后更新于2012年3月22日。[7]

ChinaTeX发行版

编辑

hooklee(李树钧)制作的ChinaTeX发行版也非常不错,它集成了与TeX有关的许多软件,大大减小了初学者的安装配置困难,适用于简体中文用户。[8]最有特色的是将TeX有关的命令都集成在WinTeX编辑器的按钮中,鼠标一点,即可编译。

繁体中文的用户可以使用cwTeX或PUTeX。cwTeX排版系统由吴聪敏(国立台湾大学经济学系教授)、吴聪慧、翁鸿翎共同发展,cwTeX可以在MSDOS、Windows、Linux、FreeBSD等系统上执行,全部软件(含使用使用手册PDF文件及5套中文字体)可自网站上免费下载。

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

外部链接

编辑