Typesmith

你好,LaTeX

理解「所见即所想」:从编译流程到第一份能跑通的文档

入门约 15 分钟

为什么还要学一门「写代码的排版工具」

用 Word 排三页报告很轻松。可当你面对一篇有几十个公式、上百条参考文献、还要求「第 3 章第 2 节」自动编号的论文时,手动调格式就会变成灾难:改一个标题,全篇编号乱掉;删一条文献,引用处全部报错。

LaTeX 换了一个思路。你不再直接去「画」版面,而是用代码描述结构:这里是一章、这里是一个公式、这里引用了一篇文献。至于字体多大、编号是几、公式怎么居中,全部交给编译器去算。一句话概括:你负责「是什么」,LaTeX 负责「长什么样」。

正因如此,LaTeX 特别擅长四件事:数学公式、自动编号与交叉引用、长篇文档的稳定维护、参考文献管理。它也是绝大多数理工科学位论文、教材与学术期刊事实上的排版标准。

LaTeX 怎么工作:一次编译的旅程

你写下的文件叫源文件(扩展名 .tex),内容是纯文本的排版指令。编译器读取它,反复计算若干遍,最后吐出 PDF。整个流程是一条直线:.tex 源文件 → 引擎编译 → PDF。

常用的引擎有三个。pdfLaTeX 速度最快、兼容最好,是西文文档的默认选择;XeLaTeX 可以直接调用系统字体并很好支持中文;LuaLaTeX 是功能最全的现代引擎,还能嵌入脚本。初学者不必纠结,先用 pdfLaTeX 就够了,遇到中文再换 XeLaTeX。

本站的每个示例都能真实编译:点击「编译运行」,源码会被提交到 TeX Live 官方在线服务,几秒后返回真实的 PDF 渲染结果。这意味着你看到的每一页,都是货真价实的 LaTeX 排出来的。

你的第一份文档
pdfLaTeX
编辑器加载中…
引擎:pdfLaTeX

点击「编译运行」生成真实 PDF

这是能跑通的最小骨架:一行文档类声明,加上一对 document 环境。把它完整复制到练习场,点「编译运行」,你就能得到第一份属于你的 PDF。

文档的三段式骨架

任何一份 LaTeX 文档都可以拆成三段。第一段是文档类:\documentclass{article} 告诉 LaTeX「这是一篇短文章」,article 是最常用的文档类。

第二段是导言区(preamble),指 \documentclass 之后、\begin{document} 之前的所有内容。这里放全局设置:加载宏包、定义标题作者、设置纸张字号。导言区里不写正文。

第三段是正文,全部写在 \begin{document} 和 \end{document} 之间。文档真正的内容——段落、公式、表格、图片——都住在这里。记住这个「三段式」,后面每一课都只是在往这三个位置填东西。

骨架解剖:每部分各司其职
pdfLaTeX
编辑器加载中…
引擎:pdfLaTeX

点击「编译运行」生成真实 PDF

% 开头的是注释,编译时会被完全忽略,用来给自己写提示。把注释行删掉,输出不会有任何变化。

空格、换行与分段:三条反直觉的规则

第一条:连续多个空格只算一个。你在源码里敲十个空格,输出里也只是一个普通词距。这是好事——源码可以随便对齐,不会影响排版。

第二条:单个换行等于一个空格。也就是说,在源码里换行并不会让 PDF 换行;它只是把两行内容接成一段。

第三条:空一行才表示分段。要真正另起一段,必须在两段之间留一个空行(多个连续空行也只算一个)。想让某一行强制断开、又不分段,可以用 \\ 或 \newline,下一课会细讲。

换行与分段的对照实验
pdfLaTeX
编辑器加载中…
引擎:pdfLaTeX

点击「编译运行」生成真实 PDF

编译后请仔细对比源码与 PDF:源码里的换行不见了,只有空行真正切开了段落。这就是「内容与格式分离」的第一课。

练习:补全你的第一份文档
pdfLaTeX

写一份 article 文档:正文至少包含两段英文,其中一段使用 \LaTeX{} 命令打印 logo。写完点「编译运行」看看真实效果。

编辑器加载中…

检查点(实时)

  • 用 \documentclass{article} 声明文档类
  • 正文写在 \begin{document} 与 \end{document} 之间
  • 用 \LaTeX 命令打印 logo
  • 用空行把正文分成至少两段

🎯 目标效果

My name is Xiaoming.

I am learning LaTeX with Typesmith, and it is a lot of fun.

引擎:pdfLaTeX

点击「编译运行」生成真实 PDF

练习:进阶:排一段带 logo 的自我介绍
pdfLaTeX

再写一份文档:正文里同时出现 \LaTeX\ 与 \TeX\ 两个 logo,并用 {} 隔开命令名,确保命令后的空格不被吞掉。

编辑器加载中…

检查点(实时)

  • 用到 \LaTeX 命令
  • 用到 \TeX 命令
  • 用 {} 隔开命令名,保证后面的空格不被吞掉

🎯 目标效果

I typeset my homework with LaTeX and TeX.

引擎:pdfLaTeX

点击「编译运行」生成真实 PDF

完成所有练习的检查点会自动记录