> For the complete documentation index, see [llms.txt](https://ayakaleaf-pro.ayaka.space/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ayakaleaf-pro.ayaka.space/texlive/zh-cn/latex-ji-chu/30-fen-zhong-xue-hui-latex.md).

# 30 分钟学会 LaTeX

> **新：** 访问新的 [Overleaf 学习中心](https://learn.overleaf.com/) 来探索免费的在线课程和直播网络研讨会——掌握 LaTeX 并充分利用 Overleaf 所需的一切。

本入门教程不假设你有任何 LaTeX 经验，但希望在你完成时，你不仅已经写出了你的第一份 LaTeX 文档，还获得了足够的知识和信心，去迈向 LaTeX 熟练使用的下一步。

## 什么是 LaTeX？

LaTeX（发音为“*LAY*-tek”或“*LAH*-tek”）是一种用于排版专业外观文档的工具。然而，LaTeX 的工作方式与许多其他你可能使用过的文档制作应用程序大不相同，例如 Microsoft Word 或 LibreOffice Writer：那些“[所见即所得](https://en.wikipedia.org/wiki/WYSIWYG)”工具为用户提供一个交互式页面，用户可以在其中输入和编辑文本，并应用各种样式。LaTeX 的工作方式非常不同：相反，你的文档是一个纯文本文件，其中穿插着 LaTeX *命令* ，用于表达所需的（排版后的）结果。为了生成可见的排版文档，你的 LaTeX 文件会由一款称为 *TeX 引擎* 的软件处理，该软件使用嵌入在文本文件中的命令来引导和控制排版过程，将 LaTeX 命令和文档文本转换为专业排版的 PDF 文件。这意味着你只需要专注于文档的 *内容* ，而计算机则会通过 LaTeX 命令和 TeX 引擎来负责 *视觉外观* （格式）。

## 为什么要学习 LaTeX？

关于学习使用 LaTeX 而不是其他文档编写应用程序，可以提出各种支持或反对的理由；但最终，这是一种基于偏好、兴趣和文档需求的个人选择。

支持 LaTeX 的理由包括：

* 支持排版极其复杂的数学、表格以及物理科学领域的技术内容；
* 脚注、交叉引用和参考文献管理功能；
* 便于生成复杂或繁琐的文档元素，例如索引、术语表、目录、图表目录；
* 由于其内在的可编程性以及通过数千个 [免费附加宏包](https://www.ctan.org/pkg).

总体而言，LaTeX 为用户提供了对文档制作的极大控制，而这些文档会以极高标准进行排版。当然，也有一些文档或出版物类型并不适合 LaTeX，包括许多杂志类出版物中常见的“自由形式”页面设计。

LaTeX 的一个重要优点是将文档内容与文档样式分离：一旦你写好了文档内容，其外观就可以轻松更改。同样，你可以创建一个定义特定文档类型布局/样式的 LaTeX 文件，并将该文件用作 *模板* ，用于标准化该类型额外文档的撰写/制作；例如，这使科学出版商能够在 LaTeX 中创建文章模板，作者用它来撰写投稿给期刊的论文。Overleaf 有一个 [包含数千个模板的图库](https://www.overleaf.com/gallery)，涵盖极其广泛的文档类型——从科研论文、报告和书籍到简历和演示文稿，应有尽有。由于这些模板定义了文档的布局和样式，作者只需在 Overleaf 中打开它们——创建一个新项目——然后开始写作，添加自己的内容。

## 编写你的第一段 LaTeX

第一步是创建一个新的 LaTeX 项目。你可以在自己的电脑上通过创建一个新的 `.tex` 文件；或者，你可以 [在 Overleaf 中启动一个新项目](broken://pages/a98124e37f4e2b820f914bc770f117bd515731cb).

让我们从最简单的可运行示例开始，它可以直接在 Overleaf 中打开：

```latex
\documentclass{article}
\begin{document}
第一篇文档。这是一个简单示例，不包含 
额外参数或附加包。
\end{document}
```

[在 Overleaf 中打开此示例。](https://www.overleaf.com/docs?engine=pdflatex\&snip%5Fname=Simplest+working+example+LaTeX+document\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0AFirst+document.+This+is+a+simple+example%2C+with+no+%0Aextra+parameters+or+packages+included.%0A%5Cend%7Bdocument%7D)

此示例产生如下输出：

![示例文档](https://images.ctfassets.net/nrgyaltdicpt/5oBbZABsWEnHZpwhfvV2PD/95ba7d5496616b4f10dffe6fb90f578a/LL30Fig1-plain.svg)

你可以看到，LaTeX 已自动缩进了段落的第一行，替你处理好了该格式。让我们更仔细地看看代码的每一部分在做什么。

代码的第一行， `\documentclass{article}`，声明了文档类型，即其 *类*，它控制文档的整体外观。不同类型的文档需要不同的类；例如，简历/履历所需的类与科研论文不同，后者可能使用标准的 LaTeX `article` 类。你可能正在处理的其他类型文档可能需要不同的类，例如 `book` 或 `report`。想了解可用的众多 LaTeX 类类型， [请访问 CTAN（Comprehensive TeX Archive Network）上的相关页面](https://www.ctan.org/topic/class).

设置好文档类后，我们的内容，即文档的 *正文* ，写在 `\begin{document}` 和 `\end{document}` 标签之间。打开上面的示例后，你可以修改文本，完成后通过 *重新编译文档*来查看生成的排版 PDF。在 Overleaf 中，只需点击 **重新编译**，如下短视频所示：

任何 Overleaf 项目都可以配置为在每次编辑后自动重新编译：点击 **重新编译** 按钮旁边的小箭头，并将 **自动编译** 设置为 **开启**，如下截图所示：

![显示如何将自动编译设置为开启或关闭的截图](/files/2314cf998a81f45b259b2fcf522635515781f549)

既然已经看到如何向文档中添加内容，下一步就是给它加上标题。为此，我们需要简要谈谈 **导言区**.

## 文档的导言区

上面的截图显示 Overleaf 将一个 LaTeX 文档存储为名为 `main.tex`：文件扩展名 `.tex` 按惯例用于命名包含文档 LaTeX 代码的文件。

前面的示例展示了文档内容如何在 `\begin{document}` 命令之后输入；然而，你的 `.tex` 文件中出现在 *之前* 的所有内容都称为 *导言区*导言区，它充当文档的“设置”部分。在导言区中，你可以定义文档类（类型），以及诸如写作时使用的语言等具体设置；加载你想使用的 *宏包* （更多相关内容见 [后面](#Finding%5Fand%5Fusing%5FLaTeX%5Fpackages)），并在此处应用其他类型的配置。

一个最简文档导言区可能如下所示：

```latex
\documentclass[12pt, letterpaper]{article}
\usepackage{graphicx}
```

其中 `\documentclass[12pt, letterpaper]{article}` 定义了文档的整体类（类型）。附加参数必须用逗号分隔，并放在方括号（`[...]`）中，用于配置此 article 类的实例；也就是说，这些是我们希望用于该特定 `article`基于类的文档的设置。

在这个例子中，这两个参数分别起以下作用：

* `12pt` 设置字体大小
* `letterpaper` 设置纸张大小

当然，也可以使用其他字体大小， `9pt`, `11pt`, `12pt`，但如果未指定，则默认大小为 `10pt`。至于纸张大小，其他可能的值还有 `a4paper` 和 `legalpaper`。更多信息请参见关于 [页面尺寸和页边距](broken://pages/b6c7882c5673728e050c28950d52b3a49aaae6a2).

导言区中的这一行

```latex
\usepackage{graphicx}
```

是加载外部宏包（这里是 [graphicx](https://ctan.org/pkg/graphicx?lang=en)）以扩展 LaTeX 功能、使其能够导入外部图形文件的一个例子。LaTeX 宏包将在 [查找并使用 LaTeX 宏包](#Finding%5Fand%5Fusing%5FLaTeX%5Fpackages).

## 包含标题、作者和日期信息

为文档添加标题、作者和日期需要在 *导言区* (*不是* 文档的主体）。这些行是：

* `\title{我的第一份 LaTeX 文档}`：文档标题
* `\author{Hubert Farnsworth}`：在这里写作者姓名，并可选地写入 `\thanks` 命令，放在大括号内：
  * `\thanks{由 Overleaf 团队资助。}`：可以在作者姓名之后、放在 `author` 命令的大括号内添加。它会添加一个上标和一个脚注，脚注文本就是大括号中的内容。如果你需要在文章中感谢某个机构，这会很有用。
* `\date{2022 年 8 月}`：你可以手动输入日期，或者使用命令 `\today` ，让其在文档每次编译时排版当前日期

添加这些行后，你的导言区应类似如下：

```latex
\documentclass[12pt, letterpaper]{article}
\title{我的第一份 LaTeX 文档}
\author{Hubert Farnsworth\thanks{由 Overleaf 团队资助。}}
\date{2022 年 8 月}
```

要排版标题、作者和日期，请使用 `\maketitle` 命令，放在文档的 *正文* 正文中：

```latex
\begin{document}
\maketitle
我们现在已经为第一份 \LaTeX{} 文档添加了标题、作者和日期！
\end{document}
```

现在可以将导言区和正文结合起来，生成一个可在 Overleaf 中打开的完整文档：

```latex
\documentclass[12pt, letterpaper]{article}
\title{我的第一份 LaTeX 文档}
\author{Hubert Farnsworth\thanks{由 Overleaf 团队资助。}}
\date{2022 年 8 月}
\begin{document}
\maketitle
我们现在已经为第一份 \LaTeX{} 文档添加了标题、作者和日期！
\end{document}
```

[在 Overleaf 中打开此示例。](https://www.overleaf.com/docs?engine=pdflatex\&snip%5Fname=My+first+LaTeX+document\&snip=%5Cdocumentclass%5B12pt%2C+letterpaper%5D%7Barticle%7D%0A%5Ctitle%7BMy+first+LaTeX+document%7D%0A%5Cauthor%7BHubert+Farnsworth%5Cthanks%7BFunded+by+the+Overleaf+team.%7D%7D%0A%5Cdate%7BAugust+2022%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cmaketitle%0AWe+have+now+added+a+title%2C+author+and+date+to+our+first+%5CLaTeX%7B%7D+document%21%0A%5Cend%7Bdocument%7D)

此示例产生如下输出：

![LaTeX 生成的简单文档图像](https://images.ctfassets.net/nrgyaltdicpt/3WzMd0bx2zlj3zLTKS8SxT/dc2b7c16adbc96bdd750b6d2c8b4227e/LL30Fig2r-plain.svg)

## 添加注释

LaTeX 是一种“程序代码”，但它专门用于文档排版；因此，与任何其他编程语言编写的代码一样，在文档中加入注释会很有用。LaTeX 注释是一段不会被排版、也不会以任何方式影响文档的文本——通常用于添加“待办”说明；加入解释性说明；为棘手的宏提供行内解释；或者在调试时将 LaTeX 代码的某些行/部分注释掉。

要在 LaTeX 中添加注释，只需在行首写一个 `%` 符号，如下面使用上例的代码所示：

```latex
\documentclass[12pt, letterpaper]{article}
\title{我的第一份 LaTeX 文档}
\author{Hubert Farnsworth\thanks{由 Overleaf 团队资助。}}
\date{2022 年 8 月}
\begin{document}
\maketitle
我们现在已经为第一份 \LaTeX{} 文档添加了标题、作者和日期！

% 这里这一行是注释。它不会在文档中排版。
\end{document}
```

[在 Overleaf 中打开此示例。](https://www.overleaf.com/docs?engine=pdflatex\&snip%5Fname=My+first+LaTeX+document+with+a+comment\&snip=%5Cdocumentclass%5B12pt%2C+letterpaper%5D%7Barticle%7D%0A%5Ctitle%7BMy+first+LaTeX+document%7D%0A%5Cauthor%7BHubert+Farnsworth%5Cthanks%7BFunded+by+the+Overleaf+team.%7D%7D%0A%5Cdate%7BAugust+2022%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cmaketitle%0AWe+have+now+added+a+title%2C+author+and+date+to+our+first+%5CLaTeX%7B%7D+document%21%0A%0A%25+This+line+here+is+a+comment.+It+will+not+be+typeset+in+the+document.%0A%5Cend%7Bdocument%7D)

此示例生成的输出与前面不包含注释的 LaTeX 代码完全相同。

## 粗体、斜体和下划线

接下来，我们来看一些文本格式化命令：

* **粗体**：LaTeX 中的粗体文本使用 `\textbf{...}` 命令来排版。
* *斜体*：斜体文本使用 `\textit{...}` 命令来排版。
* 下划线：要给文本加下划线，请使用 `\underline{...}` 命令来排版。

下一个示例演示这些命令：

```latex
一些 \textbf{最伟大的}
发现是在 \underline{科学}中 
由 \textbf{\textit{偶然}}完成的。
```

[在 Overleaf 中打开此示例。](https://www.overleaf.com/docs?engine=pdflatex\&snip%5Fname=First+example+with+formatted+text\&snip=%5Cdocumentclass%5B12pt%2C+letterpaper%5D%7Barticle%7D%0A%5Ctitle%7BMy+first+LaTeX+document%7D%0A%5Cauthor%7BHubert+Farnsworth%5Cthanks%7BFunded+by+the+Overleaf+team.%7D%7D%0A%5Cdate%7BAugust+2022%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cmaketitle%0ASome+of+the+%5Ctextbf%7Bgreatest%7D%0Adiscoveries+in+%5Cunderline%7Bscience%7D+%0Awere+made+by+%5Ctextbf%7B%5Ctextit%7Baccident%7D%7D.%0A%5Cend%7Bdocument%7D)

此示例产生如下输出：

![LaTeX 文档中文本格式化示意图](https://images.ctfassets.net/nrgyaltdicpt/6vo15r0tLCByTpcvn1w2E8/8f14edc7ece1f10ce4ba2c76e1e58a56/LL30Fig3r-plain.svg)

另一个非常有用的命令是 `\emph{_参数_}`，它对其 `_参数_` 的效果取决于上下文。在普通文本中，被强调的文本会变为斜体，但如果在斜体文本中使用，这种行为会反过来——见下一个示例：

```latex
科学中的一些最伟大的 \emph{发现} 
是偶然完成的。

\textit{科学中的一些最伟大的 \emph{发现} 
是偶然完成的。}

\textbf{科学中的一些最伟大的 \emph{发现} 
是偶然完成的。}
```

[在 Overleaf 中打开此 **\emph** 示例。](https://www.overleaf.com/docs?engine=pdflatex\&snip%5Fname=Using+the+emph+command\&snip=%5Cdocumentclass%5B12pt%2C+letterpaper%5D%7Barticle%7D%0A%5Ctitle%7BMy+first+LaTeX+document%7D%0A%5Cauthor%7BHubert+Farnsworth%5Cthanks%7BFunded+by+the+Overleaf+team.%7D%7D%0A%5Cdate%7BAugust+2022%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cparindent0pt%25+To+remove+the+paragraph+indentation%0A%5Cmaketitle%0ASome+of+the+greatest+%5Cemph%7Bdiscoveries%7D+in+science+%0Awere+made+by+accident.%0A%0A%5Ctextit%7BSome+of+the+greatest+%5Cemph%7Bdiscoveries%7D+%0Ain+science+were+made+by+accident.%7D%0A%0A%5Ctextbf%7BSome+of+the+greatest+%5Cemph%7Bdiscoveries%7D+%0Ain+science+were+made+by+accident.%7D%0A%5Cend%7Bdocument%7D)

此示例产生如下输出：

![演示 LaTeX \emph 命令使用的图像](https://images.ctfassets.net/nrgyaltdicpt/1K0A8RXXOomakJBAr2usmp/62d0e8b5275092dd0b1b4a59c745b632/LL30Fig4r-plain.svg)

* **注意：** 某些宏包，例如 [Beamer](broken://pages/ce6cc0ca9d77d5b25ff614d7a0a8d4afd9ab5854)，会改变 `\emph` 命令来排版。

## 添加图片

在这一节中，我们将看看如何向 LaTeX 文档添加图片。Overleaf 支持三种插入图片的方式：

1. 使用 [**插入图形** 按钮](https://learn.overleaf.com/learn/Kb/How%5Fto%5Finsert%5Ffigures%5Fin%5FOverleaf#Using%5FInsert%5FFigure%5Fto%5Fadd%5Fa%5Ffigure%5Fto%5Fyour%5Fproject)(![The Insert Figure button on the editor toolbar](https://sharelatex-wiki-cdn-671420.cdn77.org/learn-scripts/images/a/a8/InsertFigureButton.png)），位于编辑器工具栏上，可将图像插入到 **可视化编辑器** 或 **代码编辑器**.
2. [复制并粘贴一张图片](broken://pages/f1508162e3b830a0d81244456a60a22d37f62c38) 到 **可视化编辑器** 或 **代码编辑器**.
3. 使用 **代码编辑器** 来编写插入图形的 LaTeX 代码。

选项 1 和 2 会自动生成插入图片所需的 LaTeX 代码，但这里我们介绍选项 3——请注意，你需要 [上传这些图片](https://docs.overleaf.com/writing-and-editing/inserting-images) 到你的 Overleaf 项目中。下面的示例演示如何包含一张图片：

```latex
\documentclass{article}
\usepackage{graphicx} %用于导入图形的 LaTeX 宏包
\graphicspath{{images/}} %配置 graphicx 宏包
 
\begin{document}
宇宙是浩瀚的，而且看起来在 
大尺度上，我们所见之处都是均匀的。

% \includegraphics 命令由 
% 提供（实现）于 
% graphicx 宏包
\includegraphics{universe}  
 
上面有一张星系图片。
\end{document}
```

[在 Overleaf 中打开此图片示例。](https://www.overleaf.com/project/new/template/25686?id=107971142\&templateName=Example+using+images+in+LaTeX\&latexEngine=pdflatex\&texImage=texlive-full%3A2022.1\&mainFile=)

此示例产生如下输出：

![将图像导入 LaTeX 文档的示意图](https://images.ctfassets.net/nrgyaltdicpt/4p5toat08FUgehv4yuNwXS/efc9e75e4342c9caeec94f26627fa337/LL30Fig5v2-plain.svg)

将图形导入 LaTeX 文档需要一个附加 [包 *，它提供了包含外部图形文件所需的命令和功能。上面的示例加载了*](#Finding%5Fand%5Fusing%5FLaTeX%5Fpackages) graphicx 宏包 [，它除了许多其他命令之外，还提供](https://ctan.org/pkg/graphicx?lang=en) \includegraphics{...} `来导入图形，以及` \graphicspath{...} `用来告诉 LaTeX 图形所在位置。` 。

要使用该 `graphicx` 宏包，请在你的 Overleaf 文档导言区中加入以下一行：

```latex
\usepackage{graphicx}
```

在我们的示例中，命令 `\graphicspath{{images/}}` 告诉 LaTeX 图片保存在一个名为 `images`的文件夹中，而该文件夹位于当前目录：

![显示 LaTeX 正在访问存储于文件夹中的图片的图像](https://sharelatex-wiki-cdn-671420.cdn77.org/learn-scripts/images/1/17/ImagesInAFolder.png)

该 `\includegraphics{universe}` 命令真正完成了将图片插入文档的工作。这里， `universe` 是图片文件的名称，但不包括其扩展名。

**注意**:

* 虽然在 `\includegraphics` 命令中允许使用包含扩展名的完整文件名，但最佳做法是省略文件扩展名，因为这会提示 LaTeX 搜索所有受支持的格式。
* 通常，图形文件名不应包含空格或多个点；在向 Overleaf 上传图片文件时，也建议将文件扩展名使用小写字母。

关于 LaTeX 宏包的更多信息，可在本教程末尾的 [查找并使用 LaTeX 宏包](#Finding%5Fand%5Fusing%5FLaTeX%5Fpackages).

## 标题、标签和引用

部分找到。图片可以通过 `figure` 环境进行标题、标签和引用，如下所示：

```latex
\documentclass{article}
\usepackage{graphicx}
\graphicspath{{images/}}
 
\begin{document}

\begin{figure}[h]
    \centering
    \includegraphics[width=0.75\textwidth]{mesh}
    \caption{一个很好的图。}
    \label{fig:mesh1}
\end{figure}
 
如你在图 \ref{fig:mesh1} 中所见，函数在原点附近增长。这个示例在第 \pageref{fig:mesh1} 页。

\end{document}
```

[在 Overleaf 中打开此图片示例。](https://www.overleaf.com/project/new/template/25519?id=107980830\&templateName=Example+using+image+captions+in+LaTeX\&latexEngine=pdflatex\&texImage=texlive-full%3A2022.1\&mainFile=)

此示例产生如下输出：

![LaTeX 中使用图题的示意图](https://images.ctfassets.net/nrgyaltdicpt/4DkAWWkQqZP6QHU2EErogQ/9aa2371f2cde0f3f8bf22aa1c0b91789/LL30Fig6r-plain.svg)

示例中有几个值得注意的命令：

* **`\includegraphics[width=0.75\textwidth]{mesh}`**：这种形式的 `\includegraphics` 指示 LaTeX 将图形宽度设为文本宽度的 75%——其值存储在 `\textwidth` 命令来排版。
* **`\caption{一个很好的图。}`**：顾名思义，此命令设置图题，可放在图形上方或下方。如果你创建图表目录，这个图题将用于该目录。
* **`\label{fig:mesh1}`**：要在文档中引用此图像，你需要使用 `\label` 命令给它加上标签。该标签用于为图像生成编号，并与下一个命令结合后，允许你引用它。
* **`\ref{fig:mesh1}`**：这段代码会被替换为与所引用图形对应的编号。

嵌入 LaTeX 文档中的图片应放在一个 `figure` 环境或类似结构中，这样 LaTeX 就能自动将图片放置在文档中的合适位置。

进一步指导可参见以下 Overleaf 帮助文章：

* [图形位置设置](broken://pages/6b1c4a1ddddb6579c97848fda34402175c010fda)
* [插入图片](https://docs.overleaf.com/writing-and-editing/inserting-images)

## 在 LaTeX 中创建列表

你可以使用 *环境*创建不同类型的列表，这些环境用于封装实现特定排版功能所需的 LaTeX 代码。一个环境以 `\begin{_environment-name_}` 开头，并以 `\end{_environment-name_}` 其中 `_environment-name_` 可以是 `figure`, `tabular` 或以下列表类型之一： `itemize` 用于无序列表，或 `enumerate` 用于有序列表。

### 无序列表

无序列表由 `itemize` 环境生成。每个列表项前必须加上 `\item` 命令，如下所示：

```latex
\documentclass{article}
\begin{document}
\begin{itemize}
  \item 各个条目用黑点表示，也就是所谓的项目符号。
  \item 条目中的文本可以任意长。
\end{itemize}
\end{document}
```

[在 Overleaf 中打开此示例。](https://www.overleaf.com/docs?engine=pdflatex\&snip%5Fname=Example+of+a+LaTeX+unordered+list\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Bitemize%7D%0A++%5Citem+The+individual+entries+are+indicated+with+a+black+dot%2C+a+so-called+bullet.%0A++%5Citem+The+text+in+the+entries+may+be+of+any+length.%0A%5Cend%7Bitemize%7D%0A%5Cend%7Bdocument%7D)

此示例产生如下输出：

![LaTeX 中项目符号列表示例](https://images.ctfassets.net/nrgyaltdicpt/1lDj29Mg9ZuLNHXwZrTJew/cd7d950c65fd05b251c4aa55746f4eb7/LL30Fig7-plain.svg)

你也可以打开这个 [更大的 Overleaf 项目](https://www.overleaf.com/project/new/template/25521?id=107987258\&templateName=Demonstrating+various+types+of+LaTeX+list\&latexEngine=pdflatex\&texImage=texlive-full%3A2022.1\&mainFile=) ，其中演示了各种 LaTeX 列表。

### 有序列表

有序列表使用与无序列表相同的语法，但通过 `enumerate` 环境：

```latex
\documentclass{article}
\begin{document}
\begin{enumerate}
  \item 这是列表中的第一个条目。
  \item 随着我们添加的每个条目，列表编号都会增加。
\end{enumerate}
\end{document}
```

[在 Overleaf 中打开此示例。](https://www.overleaf.com/docs?engine=pdflatex\&snip%5Fname=Example+of+the+enumerate+environment\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Benumerate%7D%0A++%5Citem+This+is+the+first+entry+in+our+list.%0A++%5Citem+The+list+numbers+increase+with+each+entry+we+add.%0A%5Cend%7Benumerate%7D%0A%5Cend%7Bdocument%7D)

此示例产生如下输出：

![一个用 LaTeX 生成的编号列表示例](https://images.ctfassets.net/nrgyaltdicpt/2vkfa7RiAIJxv5wIZbg9UK/530c384f159d091a587de279d13fefec/LL30Fig8-plain.svg)

与 `无序` 列表一样，每个条目都必须在前面加上 `\item` 命令，在这里它会自动生成有序列表的数字标签值，从 1 开始。

如需更多信息，你可以打开这篇 [更大的 Overleaf 项目](https://www.overleaf.com/project/new/template/25521?id=107987258\&templateName=Demonstrating+various+types+of+LaTeX+list\&latexEngine=pdflatex\&texImage=texlive-full%3A2022.1\&mainFile=) 它演示了各种类型的 LaTeX 列表，或者访问我们专门的 [LaTeX 列表帮助文章](broken://pages/5338ff1b9104b9c9b7eec009ba79096a94df009b)，其中提供了更多示例，并展示了如何创建自定义列表。

## 在 LaTeX 中添加数学

LaTeX 的主要优势之一是可以轻松地书写数学表达式。LaTeX 提供两种用于排版数学的写作模式：

* *行内* 用于书写作为段落一部分的公式的数学模式
* *显示* 用于书写不属于文本或段落、并单独排版在独立行上的表达式的数学模式

### 行内数学模式

让我们看看一个行内数学模式的示例：

```latex
\documentclass[12pt, letterpaper]{article}
\begin{document}
在物理学中，质能等价关系表述为 
由方程 $E=mc^2$ 给出，该方程由阿尔伯特·爱因斯坦于 1905 年发现。
\end{document}
```

[在 Overleaf 中打开此示例。](https://www.overleaf.com/docs?engine=pdflatex\&snip%5Fname=Inline+LaTeX+maths+example\&snip=%5Cdocumentclass%5B12pt%2C+letterpaper%5D%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0AIn+physics%2C+the+mass-energy+equivalence+is+stated+%0Aby+the+equation+%24E%3Dmc%5E2%24%2C+discovered+in+1905+by+Albert+Einstein.%0A%5Cend%7Bdocument%7D)

此示例产生如下输出：

![显示行内数学模式下排版的数学的图片](https://images.ctfassets.net/nrgyaltdicpt/77oK8pfew1B1VvxiBtALag/15714f2da4e469bbb8cf70a0d3733e5d/LL30Fig9-plain.svg)

要排版行内模式的数学，你可以使用以下成对分隔符之一： `\( ... \)`, `$ ... $` 或 `\begin{math} ... \end{math}`，如下例所示：

```latex
\documentclass[12pt, letterpaper]{article}
\begin{document}
\begin{math}
E=mc^2
\end{math} 使用行内数学模式在段落中排版——\(E=mc^2\) 也是如此，$E=mc^2$ 亦然。
\end{document}
```

[在 Overleaf 中打开此示例。](https://www.overleaf.com/docs?engine=pdflatex\&snip%5Fname=Demonstrating+inline+math+mode\&snip=%5Cdocumentclass%5B12pt%2C+letterpaper%5D%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Bmath%7D%0AE%3Dmc%5E2%0A%5Cend%7Bmath%7D+is+typeset+in+a+paragraph+using+inline+math+mode---as+is+%24E%3Dmc%5E2%24%2C+and+so+too+is+%5C%28E%3Dmc%5E2%5C%29.%0A%5Cend%7Bdocument%7D)

此示例产生如下输出：

![使用 LaTeX 行内数学模式生成内容的图片](https://images.ctfassets.net/nrgyaltdicpt/46VPfEGxYJ3di18TLzaLo9/ed67df07532c52b6543fd2bae7cb7c04/LL30Fig10r-plain.svg)

### 显示数学模式

以显示模式排版的方程可以编号，也可以不编号，如下例所示：

```latex
\documentclass[12pt, letterpaper]{article}
\begin{document}
质能等价关系由著名方程描述
\[ E=mc^2 \]，该方程由阿尔伯特·爱因斯坦于 1905 年发现。 

在自然单位制（$c = 1$）下，该公式表达了恒等式
\begin{equation}
E=m
\end{equation}
\end{document}
```

[在 Overleaf 中打开此示例。](https://www.overleaf.com/docs?engine=pdflatex\&snip%5Fname=Display+math+mode+example\&snip=%5Cdocumentclass%5B12pt%2C+letterpaper%5D%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0AThe+mass-energy+equivalence+is+described+by+the+famous+equation%0A%5C%5B+E%3Dmc%5E2+%5C%5D+discovered+in+1905+by+Albert+Einstein.+%0A%0AIn+natural+units+%28%24c+%3D+1%24%29%2C+the+formula+expresses+the+identity%0A%5Cbegin%7Bequation%7D%0AE%3Dm%0A%5Cend%7Bequation%7D%0A%5Cend%7Bdocument%7D)

此示例产生如下输出：

![显示 LaTeX 中显示模式数学的图片](https://images.ctfassets.net/nrgyaltdicpt/6n1FPYFzmzCHPpWoEoYQZM/79b33f1096be06326bff7d2e1976c67c/LL30Fig11-plain.svg)

要排版显示模式的数学，你可以使用以下成对分隔符之一： `\[ ... \]`, `\begin{displaymath} ... \end{displaymath}` 或 `\begin{equation} ... \end{equation}`。从历史上看，排版显示模式数学需要使用 `$$` 字符分隔符，如 `$$ _... display math here ..._$$`，但这种方法 [不再推荐](https://texfaq.org/FAQ-dolldoll)：请改用 LaTeX 的分隔符 `\[ ... \]` 。

### 更多完整示例

以下示例演示了使用 LaTeX 排版的各种数学内容。

```latex
\documentclass{article}
\begin{document}
在数学模式中，下标写作 $a_b$，上标写作 $a^b$。它们可以组合并嵌套，以写出如下表达式

\[ T^{i_1 i_2 \dots i_p}_{j_1 j_2 \dots j_q} = T(x^{i_1},\dots,x^{i_p},e_{j_1},\dots,e_{j_q}) \]
 
我们使用 $\int$ 表示积分，使用 $\frac{a}{b}$ 表示分数。积分的上下限通过上标和下标来放置：

\[ \int_0^1 \frac{dx}{e^x} =  \frac{e-1}{e} \]

小写希腊字母写作 $\omega$ $\delta$ 等，而大写希腊字母写作 $\Omega$ $\Delta$。

数学运算符前面要加反斜杠，如 $\sin(\beta)$、$\cos(\alpha)$、$\log(x)$ 等。
\end{document}
```

[在 Overleaf 中打开此示例。](https://www.overleaf.com/docs?engine=pdflatex\&snip%5Fname=More+advanced+LaTeX+math+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0ASubscripts+in+math+mode+are+written+as+%24a%5Fb%24+and+superscripts+are+written+as+%24a%5Eb%24.+These+can+be+combined+and+nested+to+write+expressions+such+as%0A%0A%5C%5B+T%5E%7Bi%5F1+i%5F2+%5Cdots+i%5Fp%7D%5F%7Bj%5F1+j%5F2+%5Cdots+j%5Fq%7D+%3D+T%28x%5E%7Bi%5F1%7D%2C%5Cdots%2Cx%5E%7Bi%5Fp%7D%2Ce%5F%7Bj%5F1%7D%2C%5Cdots%2Ce%5F%7Bj%5Fq%7D%29+%5C%5D%0A+%0AWe+write+integrals+using+%24%5Cint%24+and+fractions+using+%24%5Cfrac%7Ba%7D%7Bb%7D%24.+Limits+are+placed+on+integrals+using+superscripts+and+subscripts%3A%0A%0A%5C%5B+%5Cint%5F0%5E1+%5Cfrac%7Bdx%7D%7Be%5Ex%7D+%3D++%5Cfrac%7Be-1%7D%7Be%7D+%5C%5D%0A%0ALower+case+Greek+letters+are+written+as+%24%5Comega%24+%24%5Cdelta%24+etc.+while+upper+case+Greek+letters+are+written+as+%24%5COmega%24+%24%5CDelta%24.%0A%0AMathematical+operators+are+prefixed+with+a+backslash+as+%24%5Csin%28%5Cbeta%29%24%2C+%24%5Ccos%28%5Calpha%29%24%2C+%24%5Clog%28x%29%24+etc.%0A%5Cend%7Bdocument%7D)

此示例产生如下输出：

![显示用 LaTeX 排版的一系列数学内容的图片](https://images.ctfassets.net/nrgyaltdicpt/5xfm4NybWckHL5ndpdnBRq/bc0b5e27044820ea5cdd11648a68f543/LL30Fig12r-plain.svg)

下一个示例使用 `equation*` 环境，它由 `amsmath` 宏包提供，因此我们需要在文档导言区添加以下一行：

```latex
\usepackage{amsmath}% 用于 equation* 环境
```

如需关于使用 `amsmath` 的更多信息，请参见 [我们的帮助文章](broken://pages/a46cf3eb682aa6e2478173038b354f9f4de1cfae).

```latex
\documentclass{article}
\usepackage{amsmath}% 用于 equation* 环境
\begin{document}
\section{First example}

众所周知的勾股定理 \(x^2 + y^2 = z^2\) 已被证明对其他指数不成立，这意味着下面的方程在 \(n>2\) 时没有整数解：

\[ x^n + y^n = z^n \]

\section{Second example}

这是文本中的一个简单数学表达式 \(\sqrt{x^2+1}\)。 
这也是同样的： 
\begin{math}
\sqrt{x^2+1}
\end{math}
但使用了另一条命令。

这是一个不带编号的简单数学表达式
\[\sqrt{x^2+1}\] 
与文本分开。

这也是同样的：
\begin{displaymath}
\sqrt{x^2+1}
\end{displaymath}

\ldots 还有这个：
\begin{equation*}
\sqrt{x^2+1}
\end{equation*}
\end{document}
```

[在 Overleaf 中打开此示例。](https://www.overleaf.com/docs?engine=pdflatex\&snip%5Fname=More+math+content+typeset+in+LaTeX\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bamsmath%7D%25+For+the+equation%2A+environment%0A%5Cbegin%7Bdocument%7D%0A%5Csection%7BFirst+example%7D%0A%0AThe+well-known+Pythagorean+theorem+%5C%28x%5E2+%2B+y%5E2+%3D+z%5E2%5C%29+was+proved+to+be+invalid+for+other+exponents%2C+meaning+the+next+equation+has+no+integer+solutions+for+%5C%28n%3E2%5C%29%3A%0A%0A%5C%5B+x%5En+%2B+y%5En+%3D+z%5En+%5C%5D%0A%0A%5Csection%7BSecond+example%7D%0A%0AThis+is+a+simple+math+expression+%5C%28%5Csqrt%7Bx%5E2%2B1%7D%5C%29+inside+text.+%0AAnd+this+is+also+the+same%3A+%0A%5Cbegin%7Bmath%7D%0A%5Csqrt%7Bx%5E2%2B1%7D%0A%5Cend%7Bmath%7D%0Abut+by+using+another+command.%0A%0AThis+is+a+simple+math+expression+without+numbering%0A%5C%5B%5Csqrt%7Bx%5E2%2B1%7D%5C%5D+%0Aseparated+from+text.%0A%0AThis+is+also+the+same%3A%0A%5Cbegin%7Bdisplaymath%7D%0A%5Csqrt%7Bx%5E2%2B1%7D%0A%5Cend%7Bdisplaymath%7D%0A%0A%5Cldots+and+this%3A%0A%5Cbegin%7Bequation%2A%7D%0A%5Csqrt%7Bx%5E2%2B1%7D%0A%5Cend%7Bequation%2A%7D%0A%5Cend%7Bdocument%7D)

此示例产生如下输出：

![显示用 LaTeX 排版的一系列数学内容的图片](https://images.ctfassets.net/nrgyaltdicpt/hT85gkewCDlxCHeNU5slE/9256c129b25bec7a93dcfe9e44b0654a/LL30Fig13r-plain.svg)

LaTeX 中数学的可能性是无穷无尽的，因此一定要访问我们的帮助页面，获取针对特定主题的建议和示例：

* [数学表达式](broken://pages/8ae0a2493a173b29eb4bc17aae4ac735a29dff26)
* [下标和上标](broken://pages/9d796040c4c9349435742df8e4b8de5f76cdbb57)
* [括号和圆括号](broken://pages/d249a0f3ec8e384c1c7d17077343cbce4a0ddc10)
* [分数和二项式](broken://pages/804b55b951a4dccc46f6cdf00e63fc256169d79f)
* [对齐方程](broken://pages/0423a61fec57331aa562b3642c1b251a77e03ade)
* [运算符](broken://pages/e4756e57feff60bb740715ca3e488427aa6b71b5)
* [数学模式中的间距](broken://pages/d32316feecd6265662ac894f053331b3752b0043)
* [积分、求和和极限](broken://pages/1aaa559369ac9e33d0724d7b8736b19ddbed0110)
* [数学模式中的显示样式](broken://pages/93c19dc135023aad73573719795c84fdc4d13539)
* [希腊字母和数学符号列表](broken://pages/0d934bf151e768f9bf341061b595705cfe446e5c)
* [数学字体](broken://pages/aa635109fde367f7a93801d20d9cfe56604daef1)

## 基本文档结构

接下来，我们来探讨摘要，以及如何将 LaTeX 文档划分为不同的章、节和段落。

### 摘要

科研论文通常会提供一个 *摘要* ，即对其核心主题或论点的简要概述/总结。下一个示例演示了如何使用 LaTeX 的 `摘要` 环境：

```latex
\documentclass{article}
\begin{document}
\begin{abstract}
这是文档开头的一个简单段落 
。关于主题的简短介绍。
\end{abstract}
\end{document}
```

[在 Overleaf 中打开此示例。](https://www.overleaf.com/docs?engine=pdflatex\&snip%5Fname=How+to+create+a+document+abstract\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Babstract%7D%0AThis+is+a+simple+paragraph+at+the+beginning+of+the+%0Adocument.+A+brief+introduction+about+the+main+subject.%0A%5Cend%7Babstract%7D%0A%5Cend%7Bdocument%7D)

此示例产生如下输出：

![显示用 LaTeX 排版的摘要的图片](https://images.ctfassets.net/nrgyaltdicpt/4cPu8x8ZxuDVF6efcZ03yi/91aa6aa84719613b0e25c725b70aa0b8/LL30Fig14-plain.svg)

### 段落和换行

有了摘要，我们就可以开始编写第一个段落了。下一个示例演示：

* 如何通过按两次“enter”键来创建新段落，即结束当前行并插入下一空行；
* 如何通过插入手动换行来在不开始新段落的情况下换到新行，使用 `\\` 命令，它是两个反斜杠；或者使用 `\newline` 命令来排版。

本示例中的第三个段落演示了命令的用法 `\\` 和 `\newline`:

```latex
\documentclass{article}
\begin{document}

\begin{abstract}
这是文档开头的一个简单段落 
。关于主题的简短介绍。
\end{abstract}

在摘要之后，我们可以开始第一个段落，然后按两次 ``enter'' 来开始第二个段落。

这一行将开始第二个段落。

我将开始第三个段落，然后添加 \\ 一个手动换行，这会使这段文字从新的一行开始，但仍属于同一段落。或者，我可以使用 \verb|\newline|\newline 命令来开始新的一行，这同样属于同一段落。
\end{document}
```

[在 Overleaf 中打开此示例。](https://www.overleaf.com/docs?engine=pdflatex\&snip%5Fname=Example+to+create+a+new+paragraph\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0A%0A%5Cbegin%7Babstract%7D%0AThis+is+a+simple+paragraph+at+the+beginning+of+the+%0Adocument.+A+brief+introduction+about+the+main+subject.%0A%5Cend%7Babstract%7D%0A%0AAfter+our+abstract+we+can+begin+the+first+paragraph%2C+then+press+%60%60enter%27%27+twice+to+start+the+second+one.%0A%0AThis+line+will+start+a+second+paragraph.%0A%0AI+will+start+the+third+paragraph+and+then+add+%5C%5C+a+manual+line+break+which+causes+this+text+to+start+on+a+new+line+but+remains+part+of+the+same+paragraph.+Alternatively%2C+I+can+use+the+%5Cverb%7C%5Cnewline%7C%5Cnewline+command+to+start+a+new+line%2C+which+is+also+part+of+the+same+paragraph.%0A%5Cend%7Bdocument%7D)

此示例产生如下输出：

![显示 LaTeX 中段落创建的图片](https://images.ctfassets.net/nrgyaltdicpt/5DdSH06hFli8k4lR0dxw4m/a55cddf9aa10b64302ae7b72ba0c6447/LL30Fig15r-plain.svg)

注意 LaTeX 会自动缩进段落——除非紧接着文档标题（如 section 和 subsection）之后——[我们将会看到](#Chapters%5Fand%5Fsections).

建议新用户不要使用多个 `\\` 或 `\newline`空格来“模拟”段落之间更大的间距，因为这会干扰 LaTeX 的排版算法。推荐的方法是继续使用空行来创建新段落，而不添加任何 `\\`，并加载 [parskip 宏包](https://ctan.org/pkg/parskip?lang=en) 通过添加 `\usepackage{parskip}` 到导言区。

关于段落的更多信息可在以下文章中找到：

* [段落和换行](broken://pages/66ba062b8001292e3343a1669f7d561f46d04bcd)
* [如何在 LaTeX 中更改段落间距](broken://pages/7fd07a5e4affd9ed535a4d94e7442a9be697bfed)
* [LaTeX 错误：这里没有可结束的行](broken://pages/dc7916efd0eef6b177f600afac99e6b28f653d4a) 提供关于使用 `\\`.

### 章和节

无论使用何种创作软件，较长的文档通常都会被划分为若干部分、章、节、小节等等。LaTeX 也提供文档结构化命令，但可用命令及其实现方式（它们所做的事情）可能取决于所使用的文档类。举例来说，使用 `book` 类创建的文档可以被划分为部分、章、节、小节等等，但 `letter` 类不提供（支持）任何用于执行此操作的命令。

下面的示例演示了用于基于 `book` 类来组织文档的命令：

```latex
\documentclass{book}
\begin{document}

\chapter{第一章}

\section{引言}

这是第一节。

Lorem  ipsum  dolor  sit  amet,  consectetuer  adipiscing  
elit. Etiam  lobortisfacilisis sem.  Nullam nec mi et 
neque pharetra sollicitudin.  Praesent imperdietmi nec ante. 
Donec ullamcorper, felis non sodales...

\section{第二节}

Lorem ipsum dolor sit amet, consectetuer adipiscing elit.  
Etiam lobortis facilisissem.  Nullam nec mi et neque pharetra 
sollicitudin.  Praesent imperdiet mi necante...

\subsection{第一小节}
Praesent imperdietmi nec ante. Donec ullamcorper, felis non sodales...

\section*{未编号节}
Lorem ipsum dolor sit amet, consectetuer adipiscing elit.  
Etiam lobortis facilisissem...
\end{document}
```

[在 Overleaf 中打开此示例。](https://www.overleaf.com/docs?engine=pdflatex\&snip%5Fname=Book+class+example+document\&snip=%5Cdocumentclass%7Bbook%7D%0A%5Cbegin%7Bdocument%7D%0A%0A%5Cchapter%7BFirst+Chapter%7D%0A%0A%5Csection%7BIntroduction%7D%0A%0AThis+is+the+first+section.%0A%0ALorem++ipsum++dolor++sit++amet%2C++consectetuer++adipiscing++%0Aelit.+Etiam++lobortisfacilisis+sem.++Nullam+nec+mi+et+%0Aneque+pharetra+sollicitudin.++Praesent+imperdietmi+nec+ante.+%0ADonec+ullamcorper%2C+felis+non+sodales...%0A%0A%5Csection%7BSecond+Section%7D%0A%0ALorem+ipsum+dolor+sit+amet%2C+consectetuer+adipiscing+elit.++%0AEtiam+lobortis+facilisissem.++Nullam+nec+mi+et+neque+pharetra+%0Asollicitudin.++Praesent+imperdiet+mi+necante...%0A%0A%5Csubsection%7BFirst+Subsection%7D%0APraesent+imperdietmi+nec+ante.+Donec+ullamcorper%2C+felis+non+sodales...%0A%0A%5Csection%2A%7BUnnumbered+Section%7D%0ALorem+ipsum+dolor+sit+amet%2C+consectetuer+adipiscing+elit.++%0AEtiam+lobortis+facilisissem...%0A%5Cend%7Bdocument%7D)

此示例产生如下输出：

![显示 LaTeX book 文档中各节的图片](https://images.ctfassets.net/nrgyaltdicpt/1A1T7YsurQdM058OwmLqd8/7f6e962c31356bafa702bab9062f6061/LL30Fig16-plain.svg)

节标题命令的名称大多不言自明；例如， `\chapter{第一章}` 会创建一个标题为 `第一章`, `\section{引言}` 的节 `引言`，等等。节还可以进一步划分为 `\subsection{...}` ，甚至 `\subsubsection{...}`。节、小节等的编号是自动的，但可以通过使用所谓的 *带星号版本* 来禁用，即在相应命令末尾加上星号（\*），例如 `\section*{...}` 和 `\subsection*{...}`.

*总的来说*，LaTeX 文档类提供以下节标题命令，具体类只支持其中相关的一个子集：

* `\part{部分}`
* `\chapter{章}`
* `\section{节}`
* `\subsection{小节}`
* `\subsubsection{次小节}`
* `\paragraph{段落}`
* `\subparagraph{子段落}`

特别是， `\part` 和 `\chapter` 命令仅在 `report` 和 `book` 文档类中可用。

请访问 Overleaf 文章 [关于节和章的文章](broken://pages/12dbb1a6ecccdef6f616af2bf92d2b6da2b45fa4) 以获取有关文档结构命令的更多信息。

## 创建表格

Overleaf 提供三种创建表格的选项：

1. 使用 [**插入表格** 按钮](https://www.overleaf.com/learn/how-to/How%5Fto%5Finsert%5Ftables%5Fin%5FOverleaf%23inserttable#Using%5FInsert%5FTable%5Fto%5Fcreate%5Fa%5Ftable%5Fin%5Fyour%5Fproject) 在 **可视化编辑器** （或 **代码编辑器**）工具栏中。
2. [复制并粘贴一个表格](https://www.overleaf.com/learn/how-to/How%5Fto%5Fpaste%5Fformatted%5Fcontent%5Finto%5FOverleaf%23pastingtables) 来自另一个文档，同时使用 **可视化编辑器**.
3. 在代码编辑器中编写表格的 LaTeX 代码。

如果你是 LaTeX 新手，使用 **可视化编辑器** 中的工具栏（选项 1）是一个很好的入门方式——你可以在 **可视化编辑器** 和 **代码编辑器** 之间切换，以查看表格背后的代码。

这里，我们重点介绍选项 3——创建表格最灵活的方法——并提供示例，演示如何在 LaTeX 中创建表格，包括添加线条（规则）和标题。随着经验的增长，请查看我们关于 [如何使用 LaTeX 创建表格](https://www.overleaf.com/learn/latex/Tables).

### 在 LaTeX 中创建基本表格

我们先看一个示例，展示如何排版一个基本表格：

```latex
\begin{center}
\begin{tabular}{c c c}
 cell1 & cell2 & cell3 \\ 
 cell4 & cell5 & cell6 \\  
 cell7 & cell8 & cell9    
\end{tabular}
\end{center}
```

[在 Overleaf 中打开此示例。](https://www.overleaf.com/docs?engine=pdflatex\&snip%5Fname=An+example+of+a+basic+table\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Bcenter%7D%0A%5Cbegin%7Btabular%7D%7Bc+c+c%7D%0A+cell1+%26+cell2+%26+cell3+%5C%5C+%0A+cell4+%26+cell5+%26+cell6+%5C%5C++%0A+cell7+%26+cell8+%26+cell9++++%0A%5Cend%7Btabular%7D%0A%5Cend%7Bcenter%7D%0A%5Cend%7Bdocument%7D%0A%3C%2Fsource%3E)

此示例产生如下输出：

![显示用 LaTeX 排版的表格的图片](https://images.ctfassets.net/nrgyaltdicpt/5K46QavbKv9vF4RI1GbUf2/f22d4f8a06d00251166f86d2c891321e/LL30Fig17-plain.svg)

该 `tabular` 环境是创建表格的默认 LaTeX 方法。你必须为此环境指定一个参数，在本例中为 `{c c c}` ，这表示 LaTeX 会有三列，并且每一列中的文本都必须居中。你也可以使用 `r` 将文本右对齐，使用 `l` 将文本左对齐。对齐符号 `&` 用于在表格行中标示各个单元格。要结束一行，请使用 *换行* 命令 `\\`。我们的表格包含在一个 `center` 环境中，使其在页面正文宽度内居中。

### 添加边框

该 `tabular` 环境支持作为表格一部分的水平线和垂直线（规则）：

* 要添加水平线，在行的上方和下方使用 `\hline` 命令
* 要添加列之间的垂直线，请使用竖线参数 `|`

在这个示例中，参数是 `{|c|c|c|}` ，它声明了三列（居中），每列之间都由一条竖线（规则）分隔；此外，我们使用 `\hline` 在第一行上方和最后一行下方放置一条水平线：

```latex
\begin{center}
\begin{tabular}{|c|c|c|} 
 \hline
 cell1 & cell2 & cell3 \\ 
 cell4 & cell5 & cell6 \\ 
 cell7 & cell8 & cell9 \\ 
 \hline
\end{tabular}
\end{center}
```

[在 Overleaf 中打开此示例。](https://www.overleaf.com/docs?engine=pdflatex\&snip%5Fname=Table+example+with+rules\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Bcenter%7D%0A%5Cbegin%7Btabular%7D%7B%7Cc%7Cc%7Cc%7C%7D+%0A+%5Chline%0A+cell1+%26+cell2+%26+cell3+%5C%5C+%0A+cell4+%26+cell5+%26+cell6+%5C%5C+%0A+cell7+%26+cell8+%26+cell9+%5C%5C+%0A+%5Chline%0A%5Cend%7Btabular%7D%0A%5Cend%7Bcenter%7D%0A%5Cend%7Bdocument%7D)

此示例产生如下输出：

![显示包含水平线和垂直线的 LaTeX 表格的图片](https://images.ctfassets.net/nrgyaltdicpt/5uWYGUhK1XJJJaWz5R1EmX/3ee88bf6b2eaf8d0644b57fa8064800b/LL30Fig18-plain.svg)

下面还有一个示例：

```latex
\begin{center}
 \begin{tabular}{||c c c c||} 
 \hline
 Col1 & Col2 & Col2 & Col3 \\ [0.5ex] 
 \hline\hline
 1 & 6 & 87837 & 787 \\ 
 \hline
 2 & 7 & 78 & 5415 \\
 \hline
 3 & 545 & 778 & 7507 \\
 \hline
 4 & 545 & 18744 & 7560 \\
 \hline
 5 & 88 & 788 & 6344 \\ [1ex] 
 \hline
\end{tabular}
\end{center}
```

[在 Overleaf 中打开此示例。](https://www.overleaf.com/docs?engine=pdflatex\&snip%5Fname=Another+table+example+containing+rules\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Bcenter%7D%0A+%5Cbegin%7Btabular%7D%7B%7C%7Cc+c+c+c%7C%7C%7D+%0A+%5Chline%0A+Col1+%26+Col2+%26+Col2+%26+Col3+%5C%5C+%5B0.5ex%5D+%0A+%5Chline%5Chline%0A+1+%26+6+%26+87837+%26+787+%5C%5C+%0A+%5Chline%0A+2+%26+7+%26+78+%26+5415+%5C%5C%0A+%5Chline%0A+3+%26+545+%26+778+%26+7507+%5C%5C%0A+%5Chline%0A+4+%26+545+%26+18744+%26+7560+%5C%5C%0A+%5Chline%0A+5+%26+88+%26+788+%26+6344+%5C%5C+%5B1ex%5D+%0A+%5Chline%0A%5Cend%7Btabular%7D%0A%5Cend%7Bcenter%7D%0A%5Cend%7Bdocument%7D)

此示例产生如下输出：

![显示包含水平线和垂直线的 LaTeX 表格的图片](https://images.ctfassets.net/nrgyaltdicpt/1Cy9FcRnDVDRUPQdCgaKq6/c21e5f7d9a53514756c6e1f2996e51e0/LL30Fig19-plain.svg)

### 标题、标签和引用

你可以像处理图片一样为表格添加标题并引用表格。唯一的区别是，你使用的不是 **`figure`** 环境，而是使用 **`table`** 环境。

表 \ref{table:data} 展示了如何添加表格标题并引用表格。

```latex
\begin{table}[h!]
\centering
\begin{tabular}{||c c c c||} 
 \hline
 Col1 & Col2 & Col2 & Col3 \\ [0.5ex] 
 \hline\hline
 1 & 6 & 87837 & 787 \\ 
 2 & 7 & 78 & 5415 \\
 3 & 545 & 778 & 7507 \\
 4 & 545 & 18744 & 7560 \\
 5 & 88 & 788 & 6344 \\ [1ex] 
 \hline
\end{tabular}
\caption{用于测试标题和标签的表格。}
\label{table:data}
\end{table}
```

[在 Overleaf 中打开此示例。](https://www.overleaf.com/docs?engine=pdflatex\&snip%5Fname=Table+captions+and+references\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0ATable+%5Cref%7Btable%3Adata%7D+shows+how+to+add+a+table+caption+and+reference+a+table.%0A%5Cbegin%7Btable%7D%5Bh%21%5D%0A%5Ccentering%0A%5Cbegin%7Btabular%7D%7B%7C%7Cc+c+c+c%7C%7C%7D+%0A+%5Chline%0A+Col1+%26+Col2+%26+Col2+%26+Col3+%5C%5C+%5B0.5ex%5D+%0A+%5Chline%5Chline%0A+1+%26+6+%26+87837+%26+787+%5C%5C+%0A+2+%26+7+%26+78+%26+5415+%5C%5C%0A+3+%26+545+%26+778+%26+7507+%5C%5C%0A+4+%26+545+%26+18744+%26+7560+%5C%5C%0A+5+%26+88+%26+788+%26+6344+%5C%5C+%5B1ex%5D+%0A+%5Chline%0A%5Cend%7Btabular%7D%0A%5Ccaption%7BTable+to+test+captions+and+labels.%7D%0A%5Clabel%7Btable%3Adata%7D%0A%5Cend%7Btable%7D%0A%5Cend%7Bdocument%7D)

此示例产生如下输出：

![一个带标题的 LaTeX 表格](https://images.ctfassets.net/nrgyaltdicpt/1f5w74UIaTCkpApaPdVeWf/580a87c2413ddc9d6bdef3bf462689fc/LL30Fig20-plain.svg)

## 添加目录

创建目录很简单，因为命令 `\tableofcontents` 几乎为你完成了所有工作：

```latex
\documentclass{article}
\title{节和章}
\author{Gubert Farnsworth}
\date{2022 年 8 月}
\begin{document}
  
\maketitle
  
\tableofcontents

\section{引言}
   
这是第一节。
      
Lorem  ipsum  dolor  sit  amet,  consectetuer  adipiscing  
elit.   Etiam  lobortisfacilisis sem.  Nullam nec mi et 
neque pharetra sollicitudin.  Praesent imperdietmi nec ante. 
Donec ullamcorper, felis non sodales...
       
\section*{未编号节}
\addcontentsline{toc}{section}{Unnumbered Section}

Lorem ipsum dolor sit amet, consectetuer adipiscing elit.  
Etiam lobortis facilisissem.  Nullam nec mi et neque pharetra 
sollicitudin.  Praesent imperdiet mi necante...

\section{第二节}
       
Lorem ipsum dolor sit amet, consectetuer adipiscing elit.  
Etiam lobortis facilisissem.  Nullam nec mi et neque pharetra 
sollicitudin.  Praesent imperdiet mi necante...
\end{document}
```

[在 Overleaf 中打开此示例。](https://www.overleaf.com/docs?engine=pdflatex\&snip%5Fname=Generating+a+table+of+contents\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Ctitle%7BSections+and+Chapters%7D%0A%5Cauthor%7BGubert+Farnsworth%7D%0A%5Cdate%7BAugust+2022%7D%0A%5Cbegin%7Bdocument%7D%0A++%0A%5Cmaketitle%0A++%0A%5Ctableofcontents%0A%0A%5Csection%7BIntroduction%7D%0A+++%0AThis+is+the+first+section.%0A++++++%0ALorem++ipsum++dolor++sit++amet%2C++consectetuer++adipiscing++%0Aelit.+++Etiam++lobortisfacilisis+sem.++Nullam+nec+mi+et+%0Aneque+pharetra+sollicitudin.++Praesent+imperdietmi+nec+ante.+%0ADonec+ullamcorper%2C+felis+non+sodales...%0A+++++++%0A%5Csection%2A%7BUnnumbered+Section%7D%0A%5Caddcontentsline%7Btoc%7D%7Bsection%7D%7BUnnumbered+Section%7D%0A%0ALorem+ipsum+dolor+sit+amet%2C+consectetuer+adipiscing+elit.++%0AEtiam+lobortis+facilisissem.++Nullam+nec+mi+et+neque+pharetra+%0Asollicitudin.++Praesent+imperdiet+mi+necante...%0A%0A%5Csection%7BSecond+Section%7D%0A+++++++%0ALorem+ipsum+dolor+sit+amet%2C+consectetuer+adipiscing+elit.++%0AEtiam+lobortis+facilisissem.++Nullam+nec+mi+et+neque+pharetra+%0Asollicitudin.++Praesent+imperdiet+mi+necante...%0A%5Cend%7Bdocument%7D)

此示例产生如下输出：

![显示 LaTeX 生成的目录的图片](https://images.ctfassets.net/nrgyaltdicpt/MxY592Q6EGsDKMA2mZw0t/fffa41a0a0d30770526f73aff72a7be1/LL30Fig21r-plain.svg)

节、小节和章会自动包含在目录中。要手动添加条目，例如一个未编号的节，请使用命令 `\addcontentsline` ，如示例所示。

## 下载你完成的文档

下面的简短视频片段展示了如何下载你项目的源代码或排版后的 PDF 文件：

更多信息可在 Overleaf 帮助文章 [从 Overleaf 导出你的作品](https://docs.overleaf.com/managing-projects-and-files/downloading-a-project).

## 查找并使用 LaTeX 宏包

LaTeX 不仅提供了强大的排版能力，还提供了一个 *可扩展性的框架* 通过使用附加组件 *宏包*。LaTeX 并不是试图提供“包罗万象”的命令和功能，而是被设计为 *可扩展的*，允许用户加载外部代码主体（宏包），以提供更专业的排版能力或扩展 LaTeX 内置功能——例如表格排版。正如在 [添加图片](#Adding%5Fimages)，该 `graphicx` 宏包通过提供导入图形文件的命令来扩展 LaTeX，并且是在导言区通过写入以下内容来加载的

```latex
\usepackage{graphicx}
```

### 加载宏包

如上所述，宏包通过 `\usepackage` 命令在文档导言区中加载，但由于（许多）LaTeX 宏包提供了一组 *选项*，可用于配置其行为，因此 `\usepackage` 命令通常如下所示：

```latex
\usepackage[options]{somepackage}
```

方括号“`[...]`”会告知 LaTeX 在加载 `somepackage`时应应用哪组选项。在用户请求的一组选项中，单个选项或设置通常用逗号分隔；例如， [geometry 宏包](https://ctan.org/pkg/geometry) 提供了许多用于配置 LaTeX 页面布局的选项，因此 `geometry` 的典型用法可能如下所示：

```latex
\usepackage[total={6.5in,8.75in},
top=1.2in, left=0.9in, includefoot]{geometry}
```

该 `geometry` 该宏包是由全球 LaTeX 社区成员编写并贡献的一个示例包，并免费提供给任何想使用它的人。

如果某个 LaTeX 宏包不提供任何选项，或者用户想使用该宏包选项的默认值，那么它会像这样加载：

```latex
\usepackage{somepackage}
```

当你写下 `\usepackage[...]{somepackage}` LaTeX 会查找一个名为 `_somepackage_.sty`，它需要加载并处理该文件——以使该宏包的命令可用并执行该宏包提供的任何其他代码。如果 LaTeX 找不到 `_somepackage_.sty` 它就会以错误终止，如下面的 Overleaf 示例所示：

```latex
\documentclass[12pt, letterpaper]{article}
\usepackage{somepackage}% 一个不存在的宏包
\begin{document}
这将失败！
\end{document}
```

[在 Overleaf 中打开此 ***会产生错误的示例*** 在 Overleaf 上](https://www.overleaf.com/docs?engine=pdflatex\&snip%5Fname=Error+due+to+missing+package\&snip=%5Cdocumentclass%5B12pt%2C+letterpaper%5D%7Barticle%7D%0A%5Cusepackage%7Bsomepackage%7D%25+a+NON-EXISTENT+package%0A%5Cbegin%7Bdocument%7D%0AThis+will+fail%21%0A%5Cend%7Bdocument%7D)

此示例产生如下输出：

![显示由缺失宏包引起错误的图片](https://sharelatex-wiki-cdn-671420.cdn77.org/learn-scripts/images/6/60/LL30packagefail.png)

### 查找有关宏包的信息：CTAN

宏包通过以下渠道分发： [综合 TeX 归档网络](https://www.ctan.org/)，通常称为 CTAN，截至撰写本文时，它托管着来自 2881 位贡献者的 6287 个宏包。CTAN [将自己描述为](https://www.ctan.org/ctan) 为

> ……一组遍布全球、提供可下载 TEX 相关资料的网站。

你可以浏览 CTAN 寻找有用的宏包；例如：

* [按主题](https://www.ctan.org/topics/cloud)
* [按字母顺序](https://www.ctan.org/pkg) （如果你知道宏包名称，这很有用）

你还可以使用 [搜索功能](https://www.ctan.org/pkg) （位于页面顶部）。

### Overleaf 上可用的宏包：TeX Live 简介

每年一次，一个（庞大）的 *子集* 托管在 CTAN 上的宏包，加上与 LaTeX 相关的字体和其他软件，会被汇总并作为一个名为 [TeX Live](https://tug.org/texlive/)的系统发布，你可以用它来安装你自己的（本地）LaTeX 环境。事实上， [Overleaf 的服务器也使用 TeX Live](https://www.overleaf.com/learn/latex/Overleaf%5Fand%5FTeX%5FLive) 并会在 TeX Live 新版本发布时更新。Overleaf 的 TeX Live 更新并不会立即进行，而是在发布后几个月才进行，这给了我们时间来对新 TeX Live 版本与 [我们图库中包含的数千个模板](https://www.overleaf.com/gallery)进行兼容性测试。例如，这里是我们的 [TeX Live 2025 升级公告](https://www.overleaf.com/blog/tex-live-2025-is-now-available).

尽管 TeX Live 包含一个（庞大的） *子集* CTAN 宏包子集，但仍然可能找到一个有趣的宏包，例如 [用于排版围棋图的 igo](https://ctan.org/pkg/igo?lang=en)，它托管在 CTAN 上，但不包含在 TeX Live（的发行版）中，因此在 Overleaf 上不可用。CTAN 上托管的一些宏包并不属于 TeX Live，原因多种多样：也许某个宏包已经过时、存在许可问题、非常新（刚上传不久），或者依赖特定平台，例如能在 Windows 上运行但不能在 Linux 上运行。

新宏包以及现有宏包的更新会全年上传到 CTAN，但 TeX Live 的更新则按年发布；因此，当前版本 TeX Live 中包含的宏包不会像 CTAN 上托管的那些那样最新。由于 Overleaf 的服务器使用 TeX Live，我们服务器上安装的宏包——即用户可用的宏包——可能不是 CTAN 上可获得的最新版本，但通常这不太可能造成问题。


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://ayakaleaf-pro.ayaka.space/texlive/zh-cn/latex-ji-chu/30-fen-zhong-xue-hui-latex.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
