LaTeX 基本概念
内容提要
LaTeX 是基于 TeX 排版引擎的格式,旨在分离内容与格式。TeX 由 Knuth 开发,版本号趋近 π;LaTeX 由 Lamport 开发,当前版本为 LaTeX2e。文章介绍其基本概念,包括首个文档示例、命令与环境语法、源码结构(导言区与正文)、文档类与宏包、辅助文件类型、文件组织方法(\include 与 \input),以及引擎、格式与编译命令的区别。
延伸解读
LaTeX 与 Word 的本质区别
文章指出,将 LaTeX 与 Word 比较没有意义,因为 TeX 是排版引擎,LaTeX 是其封装,而 Word 是文字处理工具。LaTeX 的设计目标是分离内容与格式,让作者专注于内容创作而非版面设计,从而获得高质量排版。理解这一区别有助于选择适合的工具:LaTeX 适合对排版质量要求高、内容结构复杂的文档,而 Word 更侧重于所见即所得的编辑体验。
编译命令的选择与中文支持
文章提到,latex 命令底层调用 pdfTeX 引擎,生成 dvi 格式;pdflatex 同样调用 pdfTeX,但直接生成 pdf;xelatex 调用 XeTeX 引擎,支持 UTF-8 编码和 TrueType/OpenType 字体,是目前较方便的中文排版方案;lualatex 调用 LuaTeX 引擎,除支持 UTF-8 和字体外,还可通过 Lua 语言扩展功能,但中文排版需 luatexja 宏包。用户应根据文档需求和中文支持情况选择合适的编译命令。
辅助文件与多次编译的必要性
文章说明,LaTeX 编译过程中会生成多种辅助文件,如 .aux 记录交叉引用、目录和文献引用,.toc 记录目录,.lof 和 .lot 分别记录图表目录,.bbl 和 .blg 由 BibTeX 生成,.idx 和 .ind 用于索引处理。由于交叉引用、目录、文献等功能需要先通过编译生成辅助文件,再在另一次编译中读取,因此复杂文档可能需要多次编译才能得到正确结果。
文件组织与长文档管理
对于书籍或学位论文等长文档,将内容拆分到多个文件可简化修订和校对。文章介绍了 \include 和 \input 命令:\include 会在插入文件前另起一页,而 \input 仅插入内容。导言区内容较多时,也常单独存放并用 \input 插入。此外,\includeonly 可指定只加载部分文件,syntonly 宏包配合 \syntaxonly 可仅检查错误而不生成文档,加快编译速度。注意文件名应避免空格、特殊字符和中文。
Q&A
LaTeX 和 TeX 有什么区别?
TeX 是 Donald Knuth 开发的排版引擎,用于排版文本和数学公式;LaTeX 是基于 TeX 的格式,相当于对 TeX 的一层封装,其设计目标是分离内容与格式,让作者专注于内容创作。
LaTeX 的版本号是什么?
LaTeX 的当前版本是 LaTeX2e,表示已超出第二版但远未到第三版,在 ASCII 环境中写作 LaTeX2e。
如何编写第一个 LaTeX 文档?
创建一个 .tex 文件,例如 helloworld.tex,内容为:\documentclass{article} \begin{document} ``Hello world!'' from \LaTeX. \end{document}。然后可以用编辑器编译,或用命令行 pdflatex helloworld 或 xelatex helloworld 编译。
LaTeX 中如何组织长文档?
可以使用 \include 或 \input 命令将源文件拆分成多个文件。\include 会在插入文件前另起一页,而 \input 只是简单插入内容。还可以用 \includeonly 指定只加载某些文件。
LaTeX 的文档类是什么?有哪些常见的文档类?
文档类指定 LaTeX 源代码要生成的文档性质,如普通文章、书籍、演示文稿等。必须在源代码开头用 \documentclass 指定。常见的文档类有 article、report、book,以及支持中文的 ctexart、ctexrep、ctexbook,还有 moderncv、beamer 等。
LaTeX 编译时会产生哪些辅助文件?
编译过程中可能生成 .log 日志文件、.aux 主辅助文件、.toc 目录文件、.lof 图片列表文件、.lot 表格列表文件、.bbl 参考文献文件、.blg BIBTEX 日志文件、.idx 索引记录文件、.ind 格式化索引文件、.ilg makeindex 日志文件、.out PDF 书签文件等。
LaTeX 中引擎、格式和编译命令有什么区别?
引擎是排版引擎,如 pdfTeX、XeTeX;格式是定义命令集合的代码,如 LaTeX;编译命令是实际调用的命令,结合引擎和格式,如 xelatex 是 XeTeX 引擎和 LaTeX 格式的组合。