Download as pdf or txt
Download as pdf or txt
You are on page 1of 99

快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

LATEX 基础入门

李向阳

2018-12-14

Stat-PKU LaTeX 2018-12-14 1 / 94


快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

Outline

1 快速入门 LATEX

2 文档元素

3 排版文字

4 排版图片和表格

5 排版数学公式

6 关于 LATEX 的一些说明及高级用法

Stat-PKU LaTeX 2018-12-14 2 / 94


快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

快速入门 LATEX

Stat-PKU LaTeX 2018-12-14 3 / 94


快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

LATEX 是什么

关于 TEX
TEX 是高德纳 (Donald E.Knuth) 开发的、以排版文字和数学公式为目的的一个计算机软
件. TEX 读作 “Tech” , 其中 “ch” 的发音类似于 “h” , 与汉字“泰赫”的发音相近. 在 ASCII
字符环境, TEX 写作 TeX.

TEX 的版本号不断趋近于 π, 当前为 3.141592653.

Stat-PKU LaTeX 2018-12-14 4 / 94


快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

LATEX 是什么

关于 TEX
TEX 是高德纳 (Donald E.Knuth) 开发的、以排版文字和数学公式为目的的一个计算机软
件. TEX 读作 “Tech” , 其中 “ch” 的发音类似于 “h” , 与汉字“泰赫”的发音相近. 在 ASCII
字符环境, TEX 写作 TeX.

TEX 的版本号不断趋近于 π, 当前为 3.141592653.

关于 LATEX
LATEX 是 TEX 基础上的一套格式, 使用 TEX 作为排版引擎, 由 Leslie Lamport 开发, 令作
者能够使用预定义的专业格式以较高质量排版和印刷他们的作品. LATEX 读作 “Lah-tech”
或者 “Lay-tech” , 与汉字“拉泰赫”或“雷泰赫”的发音相近. LATEX 在 ASCII 字符环境写作
LaTeX.

当前的 LATEX 版本为 LATEX 2ε , 意思是超出了第二版, 接近但没达到第三版.


简单来说, LATEX 就是一个排版软件.

Stat-PKU LaTeX 2018-12-14 4 / 94


快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

Stat-PKU LaTeX 2018-12-14 5 / 94


快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

快速利用 LATEX 编写文档

(1) 下载安装一个 TEX 发行版

(2) 选择一个编辑器和 PDF 阅读器


TeXworks, TeXShop, WinEdt, TeXstudio 等等

(3) 撰写文档, 编译生成 PDF

Stat-PKU LaTeX 2018-12-14 6 / 94


快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

安装 TEX 发行版

所谓 TeX 发行版, 也叫 TeX 发行、TeX 系统或者 TeX 套装, 指的是包括 TeX 系统的各
种可执行程序, 以及他们执行时需要的一些辅助程序和宏包文档的集合. 常见的比如
CTeX 套装 (MikTeX)、TeX Live 和 MacTeX.

Windows 用户和 Linux 用户推荐使用 TeX Live

不要再使用 CTeX 套装

Mac 用户推荐使用 MacTeX

Stat-PKU LaTeX 2018-12-14 7 / 94


快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

安装 TEX 发行版

所谓 TeX 发行版, 也叫 TeX 发行、TeX 系统或者 TeX 套装, 指的是包括 TeX 系统的各
种可执行程序, 以及他们执行时需要的一些辅助程序和宏包文档的集合. 常见的比如
CTeX 套装 (MikTeX)、TeX Live 和 MacTeX.

Windows 用户和 Linux 用户推荐使用 TeX Live

不要再使用 CTeX 套装

Mac 用户推荐使用 MacTeX

推荐下载地址:
https://mirrors.tuna.tsinghua.edu.cn/CTAN/
TeX Live 安装教程:
https://zhuanlan.zhihu.com/p/19779481?columnSlug=LaTeX

Stat-PKU LaTeX 2018-12-14 7 / 94


快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

选择编辑器和 PDF 阅读器

注意: .tex 文件也就是个纯文本文件而已.


因此本质上可以用任何一个文本编辑器编辑.tex 文件.
工欲善其事, 必先利其器.
编辑器 (或 IDE) 推荐: TeXstudio, Sublime Text

Stat-PKU LaTeX 2018-12-14 8 / 94


快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

选择编辑器和 PDF 阅读器

注意: .tex 文件也就是个纯文本文件而已.


因此本质上可以用任何一个文本编辑器编辑.tex 文件.
工欲善其事, 必先利其器.
编辑器 (或 IDE) 推荐: TeXstudio, Sublime Text
Sublime + LaTeX 的配置参考 (直接搜 sublime latex 即可):
Windows 用户:
https://blog.csdn.net/jenyzhang/article/details/78271711
Mac 用户:
https://www.jianshu.com/p/50a813c8a6ea.
关于 PDF 阅读器, Windows 上推荐 Sumatra PDF, Mac 上推荐 Skim.

Stat-PKU LaTeX 2018-12-14 8 / 94


快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

选择编辑器和 PDF 阅读器

Sublime Text 3 与 TeXstudio:

Stat-PKU LaTeX 2018-12-14 9 / 94


快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

撰写文档并编译

主要步骤:

(1) 新建一个文件夹, 比如: 期末报告

(2) 进入新建的文件, 新建一个 TEX 文件 (或者直接复制之前的), 比如: test.tex

(3) 用编辑器打开 TEX 文件, 撰写文档, 编译生成 PDF 文件.

几点注意:

.tex 文件采用 UTF-8 编码, 编译方式选择 XeLaTeX.

文件命名尽量采用英文.

最好在新建的文件夹里再新建一个 figures 子文件夹, 方便后面的插图.

Stat-PKU LaTeX 2018-12-14 10 / 94


快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

在线 LATEX 编辑器

在线 LATEX 编辑器可以实现多人协同工作.

Overleaf: https://www.overleaf.com/

ShareLaTeX: https://www.sharelatex.com/

Stat-PKU LaTeX 2018-12-14 11 / 94


快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

一个最简单的文档示例

一个最简单的示例如下:

\documentclass{article}
\begin{document}
Hello world!
\end{document}

Stat-PKU LaTeX 2018-12-14 12 / 94


快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

中英文混排

引用一句话:

关于 LaTeX 的中文支持, 首先要说的是: 在现在, 一切教你使用 CJK 宏包的模板、


人、网页、书, 都是糟糕的、有害的、恼人的、邪恶的和应该摒弃的.

现在可以使用 xeCJK 宏包, 但是更推荐 ctex 宏包及其文档类.

\documentclass{ctexart}
\begin{document}
你好, world!
\end{document}

Stat-PKU LaTeX 2018-12-14 13 / 94


快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

LATEX 命令和环境
LATEX 命令以反斜杠 \ 开头, 为以下两种形式之一:

反斜杠和后面的一串字母, 如 \alpha. 它们以任意非字母符号(空格、数字、标点


等)为界限.

反斜杠和后面的单个非字母符号, 如 \$、\% 等.

要注意 LATEX 命令是对大小写敏感的.


许多 LATEX 命令需要一个或多个参数, 每个参数用花括号 { 和 } 包裹.

Stat-PKU LaTeX 2018-12-14 14 / 94


快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

LATEX 命令和环境
LATEX 命令以反斜杠 \ 开头, 为以下两种形式之一:

反斜杠和后面的一串字母, 如 \alpha. 它们以任意非字母符号(空格、数字、标点


等)为界限.

反斜杠和后面的单个非字母符号, 如 \$、\% 等.

要注意 LATEX 命令是对大小写敏感的.


许多 LATEX 命令需要一个或多个参数, 每个参数用花括号 { 和 } 包裹.
LATEX 还引入了环境的用法, 用以令一些效果在局部生效, 或是生成特殊的文档元素.
LATEX 环境的用法为一对命令 \begin 和 \end:

\begin{⟨environment name⟩}{⟨arguments⟩}

\end{⟨environment name⟩}

其中 ⟨environment name⟩ 为环境名, \begin 和 \end 中填写的环境名应当一致.


⟨arguments⟩ 为环境所需的参数, 可能包括可选参数. 环境允许嵌套使用.
Stat-PKU LaTeX 2018-12-14 14 / 94
快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

LATEX 源代码结构

LATEX 源代码以一个命令 \documentclass 作为开头, 它规定了文档使用的文档类:

\documentclass{...}

之后用 \usepackage 命令调用宏包:

\usepackage{...}

再接着, 用 \document 环境来标记正文内容范围:

\begin{document}
\section{...}
正文内容……
\end{document}

在 \documentclass 和 \begin{document} 之间的位置称为导言区, 除了使用


\usepackage 调用宏包之外, 一些对文档的全局设置命令也在这里使用.

Stat-PKU LaTeX 2018-12-14 15 / 94


快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

LATEX 文档类

文档类规定了 LATEX 源代码所要生成的文档的性质——普通文章、书籍、演示文稿、个


人简历等等. LATEX 源代码的开头须用 \documentclass 指定文档类:

\documentclass[⟨options⟩]{⟨class-name⟩}

其中 ⟨class-name⟩ 为文档类的名称, 如 LATEX 提供的 article, book, report, 在其基础上派


生的一些文档类如支持中文排版的 ctexart / ctexbook / ctexrep, 或者有其它功能的一些
文档类, 如 moderncv / beamer 等等.
可选参数 ⟨options⟩ 为文档类指定选项, 以全局地规定一些排版的参数, 如字号、纸张大
小、单双面等等. 比如调用 article 文档类排版文章, 指定纸张为 A4 大小, 基本字号为
11pt, 双面排版:

\documentclass[11pt,twoside,a4paper]{article}

Stat-PKU LaTeX 2018-12-14 16 / 94


快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

LATEX 宏包

在使用 LATEX 时, 时常需要依赖一些扩展来增强或补充 LATEX 的功能, 比如排版复杂的表


格、插入图片、增加颜色甚至超链接等等. 这些扩展称为宏包. 调用宏包的方法非常类似
调用文档类的方法:

\usepackage[⟨options⟩]{⟨package-name⟩}

\usepackage 可以一次性调用多个宏包„ 在 ⟨package-name⟩ 中用逗号隔开. 这种用法一


般不要指定选项:

% 一次性调用两个排版表格常用的宏包
\usepackage{tabularx,multirow}

在使用宏包和文档类之前, 一定要首先确认它们是否安装在你的计算机中. 不过, 一般的


发行版比如 TeX Live 等已经包含了大部分的宏包了.

Stat-PKU LaTeX 2018-12-14 17 / 94


快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

文档元素

Stat-PKU LaTeX 2018-12-14 18 / 94


快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

标题页中的作者、标题、日期
LATEX 支持生成简单的标题页. 首先需要给定标题和作者等信息:

\title{⟨title⟩} \author{⟨author⟩} \date{⟨date⟩}

在 \title、\author 等命令内可以使用 \thanks 命令生成标题页的脚注, 用 \and 隔开


多个人名.
给定信息之后, 使用 \maketitle 命令生成标题页.

\documentclass[UTF8]{ctexart}
\title{期末大报告}
\author{Tony}
\date{\today}
\begin{document}
\maketitle

你好, world!
\end{document}

Stat-PKU LaTeX 2018-12-14 19 / 94


快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

章节划分
三个标准文档类 article、report 和 book 提供了划分章节的命令:

\chapter{⟨title⟩} \section{⟨title⟩} \subsection{⟨title⟩}

\subsubsection{⟨title⟩} \paragraph{⟨title⟩} \subparagraph{⟨title⟩}

其中 \chapter 只在 book 和 report 文档类有定义. 这些命令生成章节标题, 并能够自


动编号.
上述命令除了生成带编号的标题之外, 还向目录中添加条目, 并影响页眉页脚的内容. 每
个命令有两种变体:

带可选参数的变体: \section[⟨short title⟩]{⟨title⟩}


标题使用 ⟨title⟩ 参数, 在目录和页眉页脚中使用 ⟨short title⟩ 参数.

带星号的变体: \section*{⟨title⟩}
标题不带编号, 也不生成目录项和页眉页脚.

LATEX 及标准文档类并未提供为 \section 等章节命令定制格式的功能, 这一功能由


titlesec 宏包提供.
Stat-PKU LaTeX 2018-12-14 20 / 94
快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

添加目录

在 LATEX 中生成目录非常容易, 只需在合适的地方使用命令:

\tableofcontents

标题默认为 “Contents”, 不过可通过命令 \renewcommand 来修改.


\tableofcontents 生成的章节默认不写入目录 (\section* 或 \chapter*), 可使用
tocbibind 等宏包修改设置.
正确生成目录项, 一般需要编译两次源代码。

Stat-PKU LaTeX 2018-12-14 21 / 94


快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

添加目录

在 LATEX 中生成目录非常容易, 只需在合适的地方使用命令:

\tableofcontents

标题默认为 “Contents”, 不过可通过命令 \renewcommand 来修改.


\tableofcontents 生成的章节默认不写入目录 (\section* 或 \chapter*), 可使用
tocbibind 等宏包修改设置.
正确生成目录项, 一般需要编译两次源代码。
有时我们使用了 \chapter* 或 \section* 这样不生成目录项的章节标题命令, 而又想手
动生成该章节的目录项, 可以在标题命令后面使用:

\addcontentsline{toc}{⟨level⟩}{⟨title⟩}

其中 ⟨level⟩ 为章节层次 chapter 或 section 等, ⟨title⟩ 为出现于目录项的章节标题。


titletoc、tocloft 等宏包提供了具体定制目录项格式的功能, 详情请参考宏包的帮助文档.

Stat-PKU LaTeX 2018-12-14 21 / 94


快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

交叉引用

交叉引用是 LATEX 强大的自动排版功能的体现之一. 在能够被交叉引用的地方, 如章节、


公式、图表、定理等位置使用 \label 命令:

\label{⟨label-name⟩}

之后可以在别处使用 \ref 或 \pageref 命令, 分别生成交叉引用的编号或页码:

\ref{⟨label-name⟩} \pageref{⟨label-name⟩}

A reference to this subsection


\label{sec:this} looks like: A reference to this subsection looks like:
``see section~\ref{sec:this} on “see section 22 on page 27.”
page~\pageref{sec:this}.''

为了生成正确的交叉引用, 一般也需要多次编译源代码.

Stat-PKU LaTeX 2018-12-14 22 / 94


快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

交叉引用

\label 命令可用于记录各种类型的交叉引用, 使用位置分别为:

章节标题 在章节标题命令 \section 等之后紧接着使用.

行间公式 单行公式在公式内任意位置使用; 多行公式在每一行公式的任意位置使


用.

有序列表 在 enumerate 环境的每个 \item 命令之后、下一个 \item 命令之前任


意位置使用.

图表标题 在图表标题命令 \caption 之后紧接着使用.

定理环境 在定理环境内部任意位置使用.

在使用不记编号的命令形式 (\section*、\caption*、带可选参数的 \item 命令等) 时


不要使用 \label 命令, 否则生成的引用编号不正确.

Stat-PKU LaTeX 2018-12-14 23 / 94


快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

摘要环境

写论文的摘要时, 可以使用摘要环境 abstract.

\begin{abstract}

本文主要讲述了...

\end{abstract}

注意摘要环境放在 \maketitle 之后.


至于摘要, 可以在导言区自定义命令:

\providecommand{\keywords}[1]{\textbf{Keywords:} #1}

然后在摘要环境之后书写, 比如 \keywords{NLP, LSTM, CRF}

Stat-PKU LaTeX 2018-12-14 24 / 94


快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

列表环境

有序和无序列表环境分别是 enumerate 和 itemize. 列表可嵌套使用.

\begin{enumerate}

\item …

\end{enumerate}

\begin{itemize}
数学分析
\item 数学分析
\item 高等代数 高等代数
\end{itemize}

\begin{enumerate}
1 首先,
\item 首先,
\item 其次, 2 其次,
\end{enumerate}

Stat-PKU LaTeX 2018-12-14 25 / 94


快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

对齐环境

center、flushleft 和 flushright 环境分别用于生成居中、左对齐和右对齐的文本环


境。

\begin{center} … \end{center}

\begin{flushleft} … \end{flushleft}

\begin{flushright} … \end{flushright}

\begin{flushright}
这是一段右对齐的文本, 不信的话你可以 这是一段右对齐的文本, 不信的话你可
好好看看. 以好好看看.
\end{flushright}

除此之外, 还可以用以下命令直接改变文字的对齐方式:

\centering \raggedright \raggedleft

Stat-PKU LaTeX 2018-12-14 26 / 94


快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

代码环境

基本代码环境为 verbatim.

\begin{verbatim}
#include <iostream>
#include <iostream>
int main()
int main()
{ {
std::cout << "Hello, world!" std::cout << "Hello, world!"
<< std::endl; << std::endl;
return 0;
return 0;
}
\end{verbatim}
}

要排版简短的代码或关键字,可使用 \verb 命令:

安装包: \verb|pip install numpy| 安装包: pip install numpy

Stat-PKU LaTeX 2018-12-14 27 / 94


快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

代码环境

追求代码高亮可以使用 listings 宏包或者 minted 宏包.

\begin{minted}[frame=lines,linenos]{c}
#include <iostream> 1 #include <iostream>
int main() 2 int main()
{ 3 {
std::cout << "Hello, world!" 4 std::cout << "Hello, world!"
<< std::endl; 5 << std::endl;
return 0; 6 return 0;
} 7 }
\end{minted}

推荐使用 minted 宏包, 不过编译的时候需要开启 --shell-escape.

Stat-PKU LaTeX 2018-12-14 28 / 94


快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

排版文字

Stat-PKU LaTeX 2018-12-14 29 / 94


快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

字符和符号

普通文字直接输入即可, 如同 txt 文档和 Word 文档一样.

善用空格: 空格键和 Tab 键输入的空白字符视为“空格”. 连续的若干个空白字符视为


一个空格.

段落分段: 段落与段落之间用空行隔开即可 (也可以在行末使用命令 \par 或者 \\


手动分段, 但不推荐使用).

LATEX 使用 % 作为注释.

特殊符号

\# \$ \% \& \{ \} \_
#$%&{}_ˆ˜\
\^{} \~{} \textbackslash

Stat-PKU LaTeX 2018-12-14 30 / 94


快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

文字强调

强调文字的常用方法: 改变字体或者添加下划线等.
LATEX 定义了 \underline 命令用来为文字添加下划线:

An \underline{underlined} text. An underlined text.

\underline 命令生成下划线的样式比较机械, 不同的单词可能生成高低各异的下划线,


并且无法换行. ulem 宏包解决了这一问题, 它提供的 \uline 命令能够轻松生成自动换
行的下划线:

An example of \uline{some An example of some long and underlined


long and underlined words.} words.

\emph 命令用来将文字变为斜体以示强调.

Some \emph{emphasized words}. Some emphasized words.

Stat-PKU LaTeX 2018-12-14 31 / 94


快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

排版样式设定 - 字体样式

Table 1: 字体命令.

\rmfamily \textrm{…} roman 衬线字体 (罗马体)


\sffamily \textsf{…} sans serif 无衬线字体
\ttfamily \texttt{…} typewriter 等宽字体

\mdseries \textmd{…} medium 正常粗细 (中等)


\bfseries \textbf{…} bold face 粗体

\upshape \textup{…} upright 直立体


\itshape \textit{…} italic 意大利斜体
\slshape \textsl{…} slanted 倾斜体
\scshape \textsc{…} Small Caps 小字母大写

\em \emph{…} emphasized 强调, 默认斜体


\normalfont \textnormal{…} normal font 默认字体

Stat-PKU LaTeX 2018-12-14 32 / 94


快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

排版样式设定 - 全局字体

xelatex 编译命令能够支持直接调用系统和 TEX 发行版中的 .ttf 或 .otf 格式字体.


xelatex 命令下支持用户调用字体的宏包是 fontspec. 宏包提供了几个设置全局字体的
命令 (主字体、无衬线字体、等宽字体):

\setmainfont[⟨font features⟩]{⟨font name⟩}

\setsansfont[⟨font features⟩]{⟨font name⟩}

\setmonofont[⟨font features⟩]{⟨font name⟩}

其中 ⟨font name⟩ 使用字体的文件名 (带扩展名) 或者字体的英文名称. ⟨font features⟩


用来手动配置对应的粗体或斜体, 比如为 Windows 下的无衬线字体 Arial 配置粗体和斜
体 (通常情况下自动检测并设置对应的粗体和斜体, 无需手动指定):

\setsansfont[BoldFont={Arial Bold}, ItalicFont={Arial Italic}]{Arial}

Stat-PKU LaTeX 2018-12-14 33 / 94


快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

排版样式设定 - 字号

LATEX 中有局部的命令可以修改字号大小.

Table 2: 字号.

\tiny tiny font


\Large larger font
\scriptsize very small font

\footnotesize quite small font \LARGE very large font


\small small font \huge huge
\normalsize normal font
\large large font
\Huge largest

Stat-PKU LaTeX 2018-12-14 34 / 94


快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

排版样式设定 - 页边距

设置页边距, 推荐使用 geometry 宏包. 详细可查阅文档.


例如将纸张的长度设置为 20cm、宽度设置为 15cm, 左边距 1cm、右边距 2cm、上边距
3cm、下边距 4cm, 可以在导言区加入如下命令:

\usepackage{geometry}
\geometry{papersize={20cm,15cm}}
\geometry{left=1cm,right=2cm,top=3cm,bottom=4cm}

Stat-PKU LaTeX 2018-12-14 35 / 94


快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

排版样式设定 - 页眉页脚

设置页眉页脚, 推荐使用 fancyhdr 宏包.


例如在页眉左边写姓名, 中间写日期, 右边写电话; 页脚的正中写上页码; 页眉和正文之
间有一道宽为 0.4pt 的横线分割, 可以在导言区加上如下命令:

\usepackage{fancyhdr}
\pagestyle{fancy}
\lhead{\author}
\chead{\date}
\rhead{152xxxxxxxx}
\lfoot{}
\cfoot{\thepage}
\rfoot{}
\renewcommand{\headrulewidth}{0.4pt}
\renewcommand{\headwidth}{\textwidth}
\renewcommand{\footrulewidth}{0pt}

Stat-PKU LaTeX 2018-12-14 36 / 94


快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

排版图片和表格

Stat-PKU LaTeX 2018-12-14 37 / 94


快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

插入图片

LATEX 本身不支持插图功能, 需要借助 graphicx 宏包.

Table 3: 各种编译方式支持的主流图片格式.

编译格式 矢量图 位图
latex + dvipdfmx .eps n/a
⌞(调用 bmpsize 宏包) .eps .pdf .jpg .png .bmp
pdflatex .pdf .jpg .png
⌞(调用 epstopdf 宏包) .pdf .eps .jpg .png
xelatex .pdf .eps .jpg .png .bmp

几点说明:

LATEX 插入矢量图和位图都可以 (矢量图可以无限放大不失真).

再次推荐使用 xelatex 编译.

Stat-PKU LaTeX 2018-12-14 38 / 94


快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

插入图片

调用 graphicx 宏包之后, 使用 \includegraphics 命令插入图片:

\includegraphics[⟨options⟩]{⟨filename⟩}

其中 ⟨filename⟩ 为图片文件名, 图片与.tex 主文件在同一目录下时可不写路径.


另外 graphicx 宏包还提供了 \graphicspath 命令, 用于声明一个或多个图片文件存放的
目录, 使用这些目录里的图片时可不用写路径:

% 假设主要的图片放在 figures 子目录下, 标志放在 logo 子目录下


\graphicspath{{figures/}{logo/}}

推荐新建一个 figures 文件夹.

插图一般结合图片浮动体环境 figure 使用.

使用浮动体, 不用刻意关注图片的具体位置, 需要时利用交叉引用.

Stat-PKU LaTeX 2018-12-14 39 / 94


快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

插入图片

一个简单插图示例, 使用命令

\includegraphics[width = 0.65 \textwidth]{sin.pdf}

1.00

0.75

0.50

0.25
y

0.00

−0.25

−0.50

−0.75

−1.00

0.0 2.5 5.0 7.5 10.0 12.5 15.0 17.5 20.0


x
Stat-PKU LaTeX 2018-12-14 40 / 94
快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

采用浮动体环境 figure 插图

\begin{figure}[!htb]
\centering
\includegraphics[width = 0.50 \textwidth]{sin.pdf}
\caption{正弦函数的图像}
\label{fig:sin}
\end{figure}

1.00

0.75

0.50

0.25
y

0.00

−0.25

−0.50

−0.75

−1.00

0.0 2.5 5.0 7.5 10.0 12.5 15.0 17.5 20.0


x

Fig 1: 正弦函数的图像
Stat-PKU LaTeX 2018-12-14 41 / 94
快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

子图并排
子图并排推荐使用 subfig 宏包里的 \subfoat 命令.

\begin{figure}[!htb]
\centering
\subfloat[欠拟合]{
\includegraphics[width=1.0in]{fit1.pdf}
}
\hspace{0.2in}
\subfloat[正常]{
\includegraphics[width=1.0in]{fit2.pdf}
}
\hspace{0.2in}
\subfloat[过拟合]{
\includegraphics[width=1.0in]{fit3.pdf}
}
\caption{拟合情况}
\label{overfit}
\end{figure}
Stat-PKU LaTeX 2018-12-14 42 / 94
快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

子图并排

上页代码的显示效果如下图 2.

x2 x2
x2

x1 x1 x1

(a) 欠拟合 (b) 正常 (c) 过拟合

Fig 2: 拟合情况

Stat-PKU LaTeX 2018-12-14 43 / 94


快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

图文混排

图文混排推荐使用 minipage 环境.

\begin{minipage}{4.2cm}
\includegraphics[height=4cm, width=4cm]{fit3.pdf}
\end{minipage}%
\begin{minipage}{6cm}
\textbf{William George Horner} (geboren in 1786,
gestorven in 1837) was een Brits wiskundige.
Hij studeerde aan de Kingswood School in Bristol,
waar hij reeds op 14(!)-jarige leeftijd een masteropleiding volgde.
Daarna trok hij richting Bath waar hij een school stichtte.
\end{minipage}

Stat-PKU LaTeX 2018-12-14 44 / 94


快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

图文混排

上页代码显示效果图.

x2
William George Horner (geboren in 1786,
gestorven in 1837) was een Brits wiskundige.
Hij studeerde aan de Kingswood School in
Bristol, waar hij reeds op 14(!)-jarige leeftijd
een masteropleiding volgde. Daarna trok hij
x1 richting Bath waar hij een school stichtte.

Stat-PKU LaTeX 2018-12-14 45 / 94


快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

好用的绘图工具

知乎: 如何在论文中画出漂亮的插图?

推荐
跑代码出图, 存为 pdf 格式或者 svg 格式

LATEX 的 TikZ 和 PGF 宏包


http://www.texample.net/tikz/examples/

Ipe: http://ipe.otfried.org/

GeoGebra: https://www.geogebra.org/

Stat-PKU LaTeX 2018-12-14 46 / 94


快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

插入表格

排版表格最基本的 tabular 环境用法为:

\begin{tabular}{⟨column-spec⟩}

⟨item1⟩ & ⟨item2⟩ & … \\

\hline

⟨item1⟩ & ⟨item2⟩ & … \\

\end{tabular}

其中 ⟨column-spec⟩ 是列格式标记; & 用来分隔单元格; \\ 用来换行; \hline 用来在行与


行之间绘制横线.

插入表格时一般配合表格浮动体环境 table 插入.

可以使用 Excel 插件.

在线表格编辑: http://www.tablesgenerator.com/.

Stat-PKU LaTeX 2018-12-14 47 / 94


快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

插入表格

tabular 环境提用 \hline 命令表示横线, 在列格式中用 | 表示竖线; 用 & 来分列, 用 \\


来换行; 每列可以采用居左、居中、居右等横向对齐方式, 分别用 l、c、r 来表示.
基本的列格式见表 4.

Table 4: LATEX 表格列格式.

列格式 说明
l/c/r 单元格内容左对齐/居中/右对齐, 不折行
p{⟨width⟩} 单元格宽度固定为 ⟨width⟩, 可自动折行
| 绘制竖线
@{⟨string⟩} 自定义内容 ⟨string⟩

Stat-PKU LaTeX 2018-12-14 48 / 94


快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

插入表格

表格简单示例:

\begin{table}[!htb]
\centering
\caption{简单表格示例}
\label{tab:example} Table 5: 简单表格示例
\begin{tabular}{l|c|c}
\hline 姓名 身高 年龄
姓名 & 身高 & 年龄 \\ \hline
张小明 175 19
张小明 & 175 & 19 \\ \hline
李四 & 182 & 20 \\ 李四 182 20
\hline
\end{tabular}
\end{table}

复杂表格 (合并单元格、自动调整列宽等) 的生成, 可以借助一些宏包 (tabularx、


multirow 等). 利用 Excel 插件 (Excel2LaTeX) 或者在线表格制作器也可以.

Stat-PKU LaTeX 2018-12-14 49 / 94


快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

横向合并单元格

横向合并单元格由 \multicolumn 命令实现:

\multicolumn{⟨n⟩}{⟨column-spec⟩}{⟨item⟩}

其中 ⟨n⟩ 为要合并的列数, ⟨column-spec⟩ 为合并单元格后的列格式.

\begin{tabular}{|c|c|c|}
\hline
1 & 2 & Center \\ \hline 1 2 Center
\multicolumn{2}{|c|}{3} & 3 Right
\multicolumn{1}{r|}{Right} \\ \hline 4 C
4 & \multicolumn{2}{c|}{C} \\ \hline
\end{tabular}

Stat-PKU LaTeX 2018-12-14 50 / 94


快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

纵向合并单元格

纵向合并单元格需要用到 multirow 宏包提供的 \multirow 命令:

\multirow{⟨n⟩}{⟨width⟩}{⟨item⟩}

其中 ⟨width⟩ 为合并后单元格的宽度, 可以填 * 以使用自然宽度.

\begin{tabular}{ccc}
\hline
\multirow{2}{*}{Item} & Value
\multicolumn{2}{c}{Value} \\ Item
First Second
\cline{2-3}
& First & Second \\ \hline A 1 2
A & 1 & 2 \\ \hline
\end{tabular}

Stat-PKU LaTeX 2018-12-14 51 / 94


快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

三线表的绘制

在科技论文排版中广泛应用的表格形式是三线表, 形式干净简明. 三线表由 booktabs 宏


包支持, 它提供了 \toprule、\midrule 和 \bottomrule 命令用以排版三线表的三条线,
以及和 \cline 对应的 \cmidrule. 除此之外, 最好不要用其它横线以及竖线:

\begin{tabular}{cccc}
\toprule
& \multicolumn{3}{c}{Numbers} \\
Numbers
\cmidrule{2-4}
& 1 & 2 & 3 \\ 1 2 3
\midrule
Alphabet A B C
Alphabet & A & B & C \\
Roman & I & II& III \\ Roman I II III
\bottomrule
\end{tabular}

Stat-PKU LaTeX 2018-12-14 52 / 94


快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

排版数学公式

Stat-PKU LaTeX 2018-12-14 53 / 94


快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

行内公式和行间公式

排版数学公式, 经常用到 AMS 宏集, 其核心是 amsmath 宏包, 还有 amsfonts、


amssymb、amsthm 等宏包.
LATEX 的数学模式有两种: 行内模式 (inline) 和行间模式 (display).
行内公式由一对 $ 符号包裹:

勾股定理是: $a^2 + b^2 = c^2$. 勾股定理是: a2 + b2 = c2 .

行间公式在由 equation 环境包裹. equation 环境为公式自动生成一个编号, 这个编号


可以用 \label 和 \ref 生成交叉引用.

勾股定理是: 勾股定理是:
\begin{equation}\label{eq:gougu}
a^2 + b^2 = c^2 a2 + b2 = c2 (1)
\end{equation}
根据公式(\ref{eq:gougu})可得, 根据公式 (1) 可得,

Stat-PKU LaTeX 2018-12-14 54 / 94


快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

行内公式和行间公式

若需要不带编号的行间公式, 可将公式用命令 \[ 和 \] 包裹 (不推荐使用一对 $$), 或者


使用 amsmath 宏包中的 equation* 环境.
行内公式与行间公式的对比:

In text:
$\lim_{n \to \infty}
\sum_{k=1}^n \frac{1}{k^2}
∑n 1 π2
= \frac{\pi^2}{6}$. In text: limn→∞ k=1 k2 = 6
.

In display:
In display:
\[ ∑
n
1 π2
lim =
\lim_{n \to \infty} n→∞ k2 6
k=1
\sum_{k=1}^n \frac{1}{k^2}
= \frac{\pi^2}{6}
\]

Stat-PKU LaTeX 2018-12-14 55 / 94


快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

数学模式
当使用 $ 开启行内公式输入, 或是使用 \[ 命令、equation 环境时, LATEX 就进入了数学
模式.
数学模式相比于文本模式有以下特点:
1 数学模式中输入的空格被忽略. 数学符号的间距默认由符号的性质 (关系符号、运算
符等) 决定. 需要人为引入间距时, 使用 \quad 和 \qquad 等命令.
2 不允许有空行 (分段). 行间公式中也无法用 \\ 命令手动换行. 排版多行公式有其他
环境.
3 所有的字母被当作数学公式中的变量处理, 字母间距与文本模式不一致, 也无法生成
单词之间的空格. 如果想在数学公式中输入正体的文本, 可使用 amsmath 宏包提供
的 \text 命令.

$x^{2} \geq 0 \qquad


\text{for \textbf{all} } x2 ≥ 0 for all x ∈ R
x \in \mathbb{R}$

Stat-PKU LaTeX 2018-12-14 56 / 94


快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

常用数学符号

LaTeX 默认提供了常用的数学符号, 另一些符号可以用 amssymb 宏包.

$a_1, a_2, \dots, a_n$ \\


$a_1 + a_2 + \cdots + a_n$ \\ a1 , a2 , . . . , an
$p^3_{ij} \qquad a1 + a2 + · · · + an
m_\mathrm{Knuth} \qquad ∑3
p3ij mKnuth k=1 k
\sum_{k=1}^3 k $ \\[5pt]
2
$a^x + y \neq a^{x + y} \qquad ax + y ̸= ax+y ex ̸= ex2
e^{x^2} \neq {e^x}^2$ \\
f(x) = x2 f′ (x) = 2x f′′2 (x) = 4
$f(x) = x^2 \quad f'(x)
a∝b x≈y
= 2x \quad f''^{2}(x) = 4$ \\
$a \propto b \qquad x \approx y$ \\

Stat-PKU LaTeX 2018-12-14 57 / 94


快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

常用数学符号

\[
\lim_{x \rightarrow 0}
\frac{\sin x}{x} = 1
\]
sin x
In text: lim =1
x→0 x
$\sum_{i=1}^n \quad ∑n ∫π Hπ ∏
\int_0^{\frac{\pi}{2}} \quad In text: i=1 0
2 2
0 ϵ

\oint_0^{\frac{\pi}{2}} \quad In display:


\prod_\epsilon $ \\

n ∫ π I π

2 2
In display:
i=1 0 0 ϵ
\[\sum_{i=1}^n \quad
\int_0^{\frac{\pi}{2}} \quad
\oint_0^{\frac{\pi}{2}} \quad
\prod_\epsilon \]

Stat-PKU LaTeX 2018-12-14 58 / 94


快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

括号和定界符

使用 \left 和 \right 命令可令括号 (定界符) 的大小可变. \left 和 \right 必须成对


使用, 需要单独使用时, 另一个定界符写成 \left. 或 \right.

\[
1 + (\frac{1}{1 - x^{2}})^3 \quad
1 + \left( \frac{1}{1 - x^{2}}
( )3
\right)^3 \quad 1 1 ∂f
1+( )3 1+
\left.\frac{\partial f}{\partial t} 1 − x2 1 − x2 ∂t t=0
\right|_{t = 0}
\]

Stat-PKU LaTeX 2018-12-14 59 / 94


快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

括号和定界符

有时我们不满意于 LATEX 为我们自动调节的定界符大小. 这时还可用 \big、\bigg 等命


令生成固定大小的定界符.
更常用的形式是类似 \left 的 \bigl、\biggl 等, 以及类似 \right 的 \bigr、\biggr
等 (\bigl 和 \bigr 不必成对出现).

$\Bigl((x + 1)(x - 1)\Bigr)^{2}$\\


$\bigl( \Bigl( \biggl( \Biggl( \quad ( )2
(x + 1)(x − 1)
\bigr\} \Bigr\} \biggr\} \Biggr\} \quad (( }} ww
(( }} ww ww
\big\| \Big\| \bigg\| \Bigg\| \quad w
w
w
w

\big\Downarrow \Big\Downarrow
\bigg\Downarrow \Bigg\Downarrow$

使用 \big 和 \bigg 等命令的另外一个好处是: 用 \left 和 \right 分界符包裹的公式


块是不允许断行的, 因此也不允许在多行公式里跨行使用, 而 \big 和 \bigg 等命令不受
限制.

Stat-PKU LaTeX 2018-12-14 60 / 94


快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

多行公式

多行公式推荐 amsmath 宏包的 align 环境, 它将公式用 & 隔为两部分并对齐. 分隔符通


常放在等号左边:

\begin{align}
a & = b + c \\
a=b+c (2)
& = d + e
\end{align} =d+e (3)

align 还能够对齐多组公式, 除等号前的 & 之外, 公式之间也用 & 分隔:

\begin{align}
a &=1 & b &=2 & c &=3 \\
a=1 b=2 c=3 (4)
d &=-1 & e &=-2 & f &=-5
\end{align} d = −1 e = −2 f = −5 (5)

Stat-PKU LaTeX 2018-12-14 61 / 94


快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

多行公式

align 环境会给每行公式都编号. 可以用 \notag 命令去掉某行的编号. 下例中为了让长


公式折行, 手动添加了一个空格 (\quad).

\begin{align}
a & = b + c \\
a=b+c (6)
& = d + e + f + g + h + i
+ j + k + l \notag \\ =d+e+f+g+h+i+j+k+l
& \quad + m + n + o \\
+m+n+o (7)
& = p + q + r + s
\end{align} =p+q+r+s (8)

同 equation 环境一样, align 环境也有对应的不带编号的版本 align*.

Stat-PKU LaTeX 2018-12-14 62 / 94


快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

多行公式

如果不需要按等号对齐, 只需罗列数个公式, 可以使用 gather 环境.

\begin{gather}
a = b + c \\ a=b+c (9)
d = e + f + g \\
d=e+f+g (10)
h + i = j + k \notag \\
l + m = n h+i=j+k
\end{gather} l+m=n (11)

Stat-PKU LaTeX 2018-12-14 63 / 94


快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

公用编号的多行公式

多个公式组在一起公用一个编号可以使用 amsmath 宏包中的 aligned、gathered 等环


境, 与 equation 环境套用.
以 -ed 结尾的环境用法与不以 -ed 结尾的环境用法一一对应. 以 aligned 举例:

\begin{equation}
\begin{aligned}
a=b+c
a & = b + c \\
d & = e + f + g \\ d=e+f+g
(12)
h + i & = j + k \\
h+i=j+k
l + m & = n
\end{aligned} l+m=n
\end{equation}

split 环境和 aligned 环境用法类似, 也用于和 equation 环境套用, 区别是 split 只


能将每行的一个公式分两栏, aligned 允许每行多个公式多栏.

Stat-PKU LaTeX 2018-12-14 64 / 94


快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

数组和矩阵
为了排版二维数组, LATEX 提供了 array 环境, 用法与 tabular 环境极为类似, 也需要定
义列格式, 并用 \\ 换行. 数组可作为一个公式块, 在外套用 \left、\right 等定界符:
\[ \mathbf{X} = \left(
\begin{array}{cccc}
 
x11 x12 ... x1n
x_{11} & x_{12} & \ldots & x_{1n}\\  
 x 
x_{21} & x_{22} & \ldots & x_{2n}\\  21 x22 ... x2n 
X=
 .. .. .. ..


\vdots & \vdots & \ddots & \vdots\\  . . . . 
 
x_{n1} & x_{n2} & \ldots & x_{nn}\\
xn1 xn2 ... xnn
\end{array} \right) \]

也可利用空的定界符排版出分段函数:
\[ |x| = \left\{
\begin{array}{rl}


-x & \text{if } x < 0,\\  −x
 if x < 0,
|x| = 0 if x = 0,
0 & \text{if } x = 0,\\ 


x & \text{if } x > 0. x if x > 0.
\end{array} \right. \]
Stat-PKU LaTeX 2018-12-14 65 / 94
快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

分段函数

不过排版分段函数更推荐 amsmath 宏包提供的 cases 环境更轻松地完成:

\[
|x| = 
\begin{cases} 
−x

 if x < 0,
-x & \text{if } x < 0, \\ 
|x| = 0 if x = 0,
0 & \text{if } x = 0, \\ 



x & \text{if } x > 0. x if x > 0.
\end{cases}
\]

很多情况下, 都会存在这种情况, 即实现一个排版效果有多种方式, 但是我们要尽量选择


最合适优雅的方式.

Stat-PKU LaTeX 2018-12-14 66 / 94


快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

矩阵

排版矩阵当然可以用 array 环境, 但是更推荐 amsmath 宏包提供的环境, 包括不带定界


( [ {
符的 matrix, 以及带各种定界符的矩阵 pmatrix( )、bmatrix( )、Bmatrix( )、
vmatrix( )、Vmatrix( ). 使用这些环境时, 无需给定列格式.

\[
\begin{pmatrix}
1 & 2 \\
3 & 4    
\end{pmatrix}, 1 2 1 2
 , 
\begin{bmatrix} 3 4 3 4
1 & 2 \\
3 & 4
\end{bmatrix}
\]

Stat-PKU LaTeX 2018-12-14 67 / 94


快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

定理环境

\newtheorem{⟨theorem environment⟩}{⟨title⟩}[⟨section-level⟩]

\newtheorem{⟨theorem environment⟩}[⟨counter⟩]{⟨title⟩}

\newtheorem{mythm}{Theorem}[section]
\begin{mythm}\label{thm:light} Theorem
The light speed in vacuum
is $299,792,458\,\mathrm{m/s}$. The light speed in vacuum is
\end{mythm} 299, 792, 458 m/s.
\begin{mythm}[EM relation]
The relationship of energy, Theorem (EM relation)
momentum and mass is The relationship of energy, momentum
$E^2 = m_0^2 c^4 + p^2 c^2$,
and mass is E2 = m20 c4 + p2 c2 , where
where $c$ is the light speed
described in theorem \ref{thm:light}. c is the light speed described in theorem
\end{mythm} 5.1.

Stat-PKU LaTeX 2018-12-14 68 / 94


快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

\Alpha,\Beta 等希腊字母符号不存在,因为它们和拉丁字母 A,B 等一模一样;小写字母里也不存在


常用希腊字母表
\omicron,直接用拉丁字母 o 代替。

α \alpha θ \theta o o υ \upsilon


β \beta ϑ \vartheta π \pi ϕ \phi
γ \gamma ι \iota ϖ \varpi φ \varphi
δ \delta κ \kappa ρ \rho χ \chi
ϵ \epsilon λ \lambda ϱ \varrho ψ \psi
ε \varepsilon µ \mu σ \sigma ω \omega
ζ \zeta ν \nu ς \varsigma
η \eta ξ \xi τ \tau

Γ \Gamma Λ \Lambda Σ \Sigma Ψ \Psi


∆ \Delta Ξ \Xi Υ \Upsilon Ω \Omega
Θ \Theta Π \Pi Φ \Phi

Γ \varGamma Λ \varLambda Σ \varSigma Ψ \varPsi


∆ \varDelta Ξ \varXi Υ \varUpsilon Ω \varOmega
Θ \varTheta Π \varPi Φ \varPhi

Stat-PKU LaTeX 2018-12-14 69 / 94


快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

关于公式

在线 LaTeX 公式编辑器 - CodeCogs

如何在 Word 和 PowerPoint 中优雅地插入 LaTeX 公式?

MathType, Mathematica 等软件导出公式

Stat-PKU LaTeX 2018-12-14 70 / 94


快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

关于 LATEX 的一些说明及高级用法

Stat-PKU LaTeX 2018-12-14 71 / 94


快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

Stat-PKU LaTeX 2018-12-14 72 / 94


快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

TeX 引擎、格式、发行版

可以参考: https://liam.page/2018/11/26/
introduction-to-TeX-engine-format-and-distribution/
几个概念:

引擎 全称为排版引擎,是编译源代码并生成文档的程序,如 pdfTEX、XƎTEX
等, 有时也称为编译器.

格式 是定义了一组命令的代码集. LATEX 就是最广泛应用的一个格式, 高德纳


本人还编写了一个简单的 plain TEX 格式.

编译命令 是实际调用的、结合了引擎和格式的命令, 如 xelatex 命令是结合 XƎTEX.


引擎和 LATEX 格式的一个编译命令。

Stat-PKU LaTeX 2018-12-14 73 / 94


快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

TeX 引擎、格式、发行版

常见的引擎、格式和编译命令的关系总结于表 6.

Table 6: TEX 引擎、格式和编译命令。

文档格式 plain TEX 格式 LATEX 格式


TEX 引擎 DVI tex N/A
pdfTEX 引擎 DVI etex latex
PDF pdftex pdflatex
XƎTEX 引擎 PDF xetex xelatex
LuaTEX 引擎 PDF luatex lualatex

Stat-PKU LaTeX 2018-12-14 74 / 94


快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

命令行编译

可以在命令行 (终端) 中编译 TEX 文件. 比如

xelatex test.tex

bibtex test.tex

xelatex test.tex

xelatex test.tex

Stat-PKU LaTeX 2018-12-14 75 / 94


快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

LATEX 的安装目录树
以 TEX Live 为例, 假设系统的 TEXMF 树根目录为 C:\texlive\2018\texmf-dist, 其
下有很多子目录, 仅举几例:

tex/latex LATEX 宏包。

doc/latex LATEX 宏包的帮助文档。

source/latex LATEX 宏包的源代码。

bibtex BIBTEX 工具相关文件,许多宏包配套的 BIBTEX 格式文件位于子目录 bst


中。

fonts/tfm TEX 使用的字体文件,TFM 格式。

fonts/type1 PostScript 字体文件(Type1),PFB 格式。

fonts/opentype OpenType 格式的字体文件。

Mac 和 Linux 的对应路径为

/usr/local/texlive/2018/texmf-dist/

Stat-PKU LaTeX 2018-12-14 76 / 94


快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

文字和编码

LATEX 的源代码文件本质上也是文本文件, 而文本文件的一个重要性质就是它的编码 (多


数乱码问题都是由编码不同产生).

ASCII 编码

Unicode 编码

UTF-8 编码

GBK 和 GB2312 编码

xelatex 和 lualatex 命令原生支持 UTF-8 编码.

Stat-PKU LaTeX 2018-12-14 77 / 94


快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

LATEX 用到的文件
LATEX 在编译过程中除了生成 .dvi 或 .pdf 格式的文档外, 还生成相当多的辅助文件和
日志.
.log 排版引擎生成的日志文件,供排查错误使用.
.aux LaTeX 生成的主辅助文件,记录交叉引用、目录、参考文献的引用等.
.toc LaTeX 生成的目录记录文件.
.lof LaTeX 生成的图片目录记录文件.
.lot LaTeX 生成的表格目录记录文件.
.bbl BibTeX 生成的参考文献记录文件.
.blg BibTeX 生成的日志文件.
.idx LaTeX 生成的供 makeindex 处理的索引记录文件.
.ind makeindex 处理 .idx 生成的用于排版的格式化索引文件.
.ilg makeindex 生成的日志文件.
.out hyperref 宏包生成的 PDF 书签记录文件.
Stat-PKU LaTeX 2018-12-14 78 / 94
快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

LATEX 可能用到的额外文件

常见的额外文件:

.sty 宏包文件. 宏包的名称与文件名一致.

.cls 文档类文件. 文档类名称与文件名一致.

.bib BibTeX 参考文献数据库文件.

.bst BibTeX 用到的参考文献格式模板.

Stat-PKU LaTeX 2018-12-14 79 / 94


快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

代码规范
代码规范是一个良好的编程习惯.

文档采用 UTF-8 编码, 采用 xelatex 编译.


适当使用代码缩进和对齐.
不论中英文, 科技类文章均使用英文标点, 标点之后空一格.
代码注释% 和文字之间要至少空一格.
英文与中文之间用空格隔开, 即英文两边各空一格.
文中的数字可以用 $ 符号, 也可以自然书写, 自然书写时两边各空一格.
多用空格使代码易读, 比如二元运算符两边要有空格, 两个变量之前要有空格, 等等

其他讨论:

使用 LaTeX 有什么比较好的编写技巧或习惯?
LaTeX 有哪些「新手须知」的内容?
强迫症玩转 LaTeX
论文常用格式及其 LaTeX 书写方法介绍
Stat-PKU LaTeX 2018-12-14 80 / 94
快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

参考文献
LATEX 提供的参考文献和引用方式比较原始, 需要用户自行书写参考文献列表 (包括格
式), 下面稍作介绍但是不推荐使用.
LATEX 提供了最基本的 \cite 命令用于在正文中引用参考文献:

\cite{⟨citation⟩}

⟨citation⟩ 为引用的参考文献的标签, 类似 \ref 里的参数.


参考文献由 thebibliography 环境包裹. 每条参考文献由 \bibitem 开头, 其后是参考
文献本身的内容:

\begin{thebibliography}{⟨widest label⟩}

\bibitem[⟨item number⟩]{⟨citation⟩} ...

\end{thebibliography}

其中 ⟨citation⟩ 是 \cite 使用的文献标签, ⟨item number⟩ 自定义参考文献的序号, 如果


省略, 则按自然排序给定序号. ⟨widest label⟩ 用以限制参考文献序号的宽度, 如 99 意味
着不超过两位数字. 通常设定为与参考文献的数目一致.
Stat-PKU LaTeX 2018-12-14 81 / 94
快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

使用 BIBTEX 排版参考文献

使用 BIBTEX 数据库生成参考文献和引用主要分为三步:

(1) 准备一份 BIBTEX 数据库, 假设数据库文件名为 books.bib, 和 LATEX 源代码一般位于


同一个目录下.

(2) 在源代码中添加必要的命令. 假设源代码名为 main.tex, 其示例程序为

\documentclass{article}
\bibliographystyle{plain}
\begin{document}
\section{Some words}
Some excellent books, for example, \cite{citation1}
and \cite{citation2} \ldots

\bibliography{books}
\end{document}

(3) 编译主 TEX 源文件 main.tex.

Stat-PKU LaTeX 2018-12-14 82 / 94


快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

使用 BIBTEX 排版参考文献
BIBTEX 数据库以 .bib 作为扩展名, 其内容是若干个文献条目, 每个条目的格式为:

@⟨type⟩{⟨citation⟩,

⟨key1⟩ = {⟨value1⟩},

⟨key2⟩ = {⟨value2⟩},

}
其中 ⟨type⟩ 为文献的类别, ⟨citation⟩ 为 \cite 命令使用的文献标签. 在 ⟨citation⟩ 之后
为条目里的各个数据项, 以 ⟨key⟩ = {⟨value⟩} 的形式组织.
无需自己手写 BIBTEX 文献条目. 从 Google Scholar 或者期刊/数据库的网站上都能
够导出 BIBTEX 文献条目.
可以更改参考文献的样式:
\bibliographystyle{⟨bst-name⟩}
其中 ⟨bst-name⟩ 为 .bst 样式文件的名称, 不要带 .bst 扩展名.
Stat-PKU LaTeX 2018-12-14 83 / 94
快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

自定义 LATEX 命令和功能 - 定义命令

定义新命令:

\newcommand{\⟨name⟩}[⟨num⟩]{⟨definition⟩}

其中参数 ⟨name⟩ 是命令的名称 (带反斜杠), 参数 ⟨definition⟩ 是命令的定义. 例如自定


义微分符号和求偏导算子

\newcommand{\diff}{\,{\mathrm d}}
\newcommand{\p}[3]{\frac{\partial^{#1}#2}{\partial{#3}^{#1}}}

然后可以直接使用

\[ \int_{a}^{b} f(x) d x \qquad


∫ b ∫ b
\int_{a}^{b} f(x) \diff x \qquad ∂2f
f(x)dx f(x) dx
\p{2}{f}{x} \] a a ∂x2

LATEX 不允许你定义一个与现有命令重名的命令. 若要修改命令定义, 可使用


\renewcommand 命令, 用法与 \newcommand 相同.
Stat-PKU LaTeX 2018-12-14 84 / 94
快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

自定义 LATEX 命令和功能 - 定义环境

定义新环境:

\newenvironment{⟨name⟩}[⟨num⟩]{⟨before⟩}{⟨after⟩}

比如定义一个证明环境:

\newenvironment{myproof}{{\color{blue} 证明}: }{{\color{magenta}\qed}}

然后直接使用

\begin{myproof}
证明: 考虑到 x = y − 1, 因此可得
考虑到$x = y - 1$, 因此可得
\[ a^2 + b^2 = c^2 \] a2 + b2 = c2
代入上式即证.
\end{myproof} 代入上式即证.

Stat-PKU LaTeX 2018-12-14 85 / 94


快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

自定义 LATEX 命令和功能 - 编写宏包

编写简单的宏包, 基本工作就是将导言区里的很长的内容放到另外一个文件中, 以.sty


作扩展名, 并加入一个宏包专用的命令:

\ProvidesPackage{⟨package name⟩}

这个命令应该放在你的宏包的最前面, 并且一定要注意: ⟨package name⟩ 需要和宏包的


文件名一致.
若想在.sty 文件中调用其他宏包, 可以使用命令 \RequirePackage, 用法和
\usepackage 一致:

\RequirePackage[⟨options⟩]{⟨package name⟩}

Stat-PKU LaTeX 2018-12-14 86 / 94


快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

自定义 LATEX 命令和功能 - 编写文档类

若想编写自己的文档类, 如论文模板等, 需要编写 .cls 文件. 文件开头使用


\ProvidesClass 命令:

\ProvidesClass{⟨class name⟩}

当然, {⟨class name⟩} 也需要和文档类的文件名一致.


事实上, 诸如 \chapter、\section 等等许多常用的命令都是在基本文档类中定义的. 因
此多数时候我们只需要像调用宏包那样调用一个基本的文档类, 使用命令是 \LoadClass
, 用法和 \documentclass 十分类似:

\LoadClass[⟨options⟩]{⟨package name⟩}

Stat-PKU LaTeX 2018-12-14 87 / 94


快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

编写大型文档
编写大型文档 (书籍、毕业论文等), 可以将源代码分成若干个文件, 比如每章内容为一
个.tex 文件, 然后使用命令 \include 用来在源代码里插入文件:

\include{⟨filename⟩}

⟨filename⟩ 为文件名, 如果和要编译的主文件不在一个目录中, 则要加上相对或绝对路径,

\include{chapters/a.tex} % 相对路径
\include{/home/Bob/file.tex} % Linux/macOS 绝对路径
\include{D:/file.tex} % Windows 绝对路径, 用正斜杠

⟨filename⟩ 可以不带扩展名, 此时默认扩展名为 .tex.


值得注意的是 \include 在读入 ⟨filename⟩ 之前会另起一页. 有的时候我们并不需要这
样, 而是用 \input 命令, 它纯粹是把文件里的内容插入:

\input{⟨filename⟩}

Stat-PKU LaTeX 2018-12-14 88 / 94


快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

北大学位论文模板 pkuthss

北大模板安装及使用说明可见未名 BBS Thesis 版或 MathTools 版:


TeX Live + pkuthss 安装使用傻瓜指南 v0.1.6

其他各个大学学位论文模板:
国内大学毕业论文 LaTeX 模板集合

Stat-PKU LaTeX 2018-12-14 89 / 94


快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

LATEX 与 Markdown

关于 Mardkown
Markdown 是一种极简的标记语言

Markdown 可以兼容部分 TEX 语法

几点推荐
Markdown 编辑器可用 Typora 或者 VS Code + 插件

R Markdown 推荐使用 rticles 包

Jupyter / IPython Notebook

Stat-PKU LaTeX 2018-12-14 90 / 94


快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

LATEX 的其他用途

LATEX 的其他用途
使用 beamer 类制作演示文稿

使用 moderncv 类制作个人简历

制作海报

……

谨记: LATEX 是一个排版工具.

Stat-PKU LaTeX 2018-12-14 91 / 94


快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

遇到问题怎么办

几点建议
不要自以为是的去实现效果, 尽量去搜索优雅的解决方式.

使用宏包, 阅读其文档说明可以直接在谷歌搜“宏包名 package”, 或者在本地命令行


输入: texdoc 宏包名.

若有不会, 善用谷歌搜索, 你的问题绝大多数都能在 Stack Exchange 上得到解答.

可在知乎上提问, 一些大牛在上面 (刘海洋、李阿玲、孟晨等).

若要买书, 推荐刘海洋的《LaTeX 入门》

有甄别地下载模板使用

Stat-PKU LaTeX 2018-12-14 92 / 94


快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

参考资料

lshort-cn: 一份不太简短的 LaTeX2e 介绍,


https://github.com/CTeX-org/lshort-cn

LaTeX 入门 - 刘海洋

孟晨: 一份其实很短的 LaTeX 入门文档


https://liam.page/2014/09/08/latex-introduction/

Stat-PKU LaTeX 2018-12-14 93 / 94


快速入门 LATEX 文档元素 排版文字 排版图片和表格 排版数学公式 关于 LATEX 的一些说明及高级用法

Any question ?

Stat-PKU LaTeX 2018-12-14 94 / 94

You might also like