LaTeX 完整学习笔记 -- 几乎涵盖全部使用方法

LaTeX 完整学习笔记

日期:2026-03-15


一、LaTeX 基础

1.1 什么是 LaTeX?

LaTeX 不是文字处理器(如 Word),而是一个文档排版系统。它使用纯文本 + 标记命令来描述文档结构,类似于 HTML 的工作方式。

核心思想:用命令标记内容的逻辑意义,而非直接设置外观。

1.2 LaTeX vs Word

特性 LaTeX Word
排版方式 代码 + 编译 所见即所得
公式排版 强大专业 一般
文档一致性 自动保持 手动调整
学习曲线 较陡 较平

1.3 工作流程

复制代码
.tex 源文件 → LaTeX 编译器 → PDF 文件

常用编译器

  • pdflatex:最常用
  • lualatex:推荐,支持 Unicode 和大文档
  • xelatex:支持 Unicode

1.4 特殊字符

字符 用途
\ 开始命令
{} 包裹参数
% 注释
~ 硬空格(禁止换行)
\\ 换行(慎用)

二、文档基本结构

2.1 最小文档

latex 复制代码
% !TEX program=lualatex
\documentclass{ctexart}

\begin{document}
Hello, world!

这是一个简单的中英文混排文档。
\end{document}

2.2 文档组成

latex 复制代码
\documentclass{article}          % 文档类(必选)

% ---------- 前言区 ----------
\usepackage{宏包}                 % 加载宏包
自定义命令                       % \newcommand

% ---------- 正文 ----------
\begin{document}
\section{第一节}
\subsection{第一节}
内容正文
\end{document}

2.3 三个区域

  1. 导言区 (Preamble):\documentclass\begin{document} 之间
  2. 正文区\begin{document}\end{document} 之间
  3. 浮动体环境\begin{}...\end{}

三、文档类

3.1 标准文档类

文档类 用途
article 短文章,无章节
report 长报告,单面打印,支持章节
book 书籍,双面打印,支持章节
letter 信件
beamer 演示文稿

3.2 中文文档类(CTeX)

文档类 用途
ctexart 中文文章
ctexrep 中文报告
ctexbook 中文书籍
ctexbeamer 中文幻灯片

3.3 文档类选项

latex 复制代码
\documentclass[10pt,twocolumn,a4paper]{article}

常用选项:

  • 字体大小:10pt11pt12pt
  • 纸张:a4paperletterpaper
  • 单/双栏:onesidetwosidetwocolumn
  • 公式左对齐:fleqn
  • 公式编号在左:leqno

四、逻辑结构

4.1 章节命令

latex 复制代码
\chapter{章标题}          % book/report(需要章节)
\section{节标题}
\subsection{小节标题}
\subsubsection{小小节}
paragraph{段落标题}
\subparagraph{子段落}

示例

latex 复制代码
\section{第一节}
第一小节内容

\subsection{第一小节}
小节内容

\section{第二节}
第二节内容

4.2 有序列表

latex 复制代码
\begin{enumerate}
 \item 第一个条目
 \item 第二个条目
 \item 第三个条目
\end{enumerate}

4.3 无序列表

latex 复制代码
\begin{itemize}
 \item 第一个条目
 \item 第二个条目
 \item 第三个条目
\end{itemize}

4.4 嵌套列表

latex 复制代码
\begin{enumerate}
 \item 第一层
 \begin{itemize}
  \item 第二层
  \item 第二层
 \end{itemize}
 \item 第一层
\end{enumerate}

建议最多嵌套 4 层

4.5 文本格式化

逻辑标记(推荐):

latex 复制代码
 emph{强调}       % 自动处理嵌套
 textbf{粗体}
 textit{斜体}

视觉标记

latex 复制代码
textit{斜体}     % 总是斜体
textbf{粗体}     % 总是粗体

优先使用逻辑标记,保持内容与样式分离


五、宏包扩展

5.1 加载宏包

latex 复制代码
\usepackage{包名}
\usepackage[选项]{包名}

5.2 常用宏包

宏包 用途
geometry 页边距设置
graphicx 图片插入
amsmath 数学公式
booktabs 专业表格线
babel 语言支持
ctex 中文支持
xcolor 颜色
hyperref 超链接
natbib / biblatex 参考文献
fancyhdr 页眉页脚

5.3 自定义命令

latex 复制代码
% 无参数
\newcommand\cmd{内容}

% 有参数
\newcommand\kw[1]{\textbf{#1}}

示例:

latex 复制代码
\newcommand\diff{\mathop{}\!d}

\newcommand\alert[1]{\textcolor{red}{\textbf{#1}}}

六、图片

6.1 插入图片

latex 复制代码
\usepackage{graphicx}

\begin{document}
\includegraphics{图片文件名}
\end{document}

支持格式:.pdf.png.jpg.eps

6.2 图片尺寸

latex 复制代码
% 宽度相对于文本宽度
includegraphics[width=0.5\textwidth]{image}

% 高度
includegraphics[height=5cm]{image}

% 缩放
includegraphics[scale=0.5]{image}

% 旋转
includegraphics[angle=90]{image}

6.3 浮动体与定位

latex 复制代码
\begin{figure}[htbp]
 \centering
 \includegraphics[width=0.8\textwidth]{image}
 \caption{图片标题}
 \label{fig:myimage}
\end{figure}

位置参数

  • h(here):尽量放在这里
  • t(top):页面顶部
  • b(bottom):页面底部
  • p(page):单独页面

6.4 图片标题与引用

latex 复制代码
% 标题
\caption{我的图片}

% 引用
如图~\ref{fig:myimage} 所示

标签要放在 caption 内部或紧跟其后


七、表格

7.1 基本表格

latex 复制代码
\begin{tabular}{lcr}
  左对齐 & 居中 & 右对齐 \\
  内容1 & 内容2 & 内容3
\end{tabular}

列类型

类型 描述
l 左对齐
c 居中
r 右对齐
p{宽度} 固定宽度,自动换行
` `

7.2 表格线条(booktabs)

latex 复制代码
\usepackage{booktabs}

\begin{tabular}{ccc}
 \toprule
 列1 & 列2 & 列3 \\
 \midrule
 内容1 & 内容2 & 内容3 \\
 \bottomrule
\end{tabular}

7.3 跨列合并

latex 复制代码
\multicolumn{列数}{对齐}{内容}

示例:

latex 复制代码
\multicolumn{2}{c}{合并两列}

7.4 跨行处理

LaTeX 原生不支持垂直合并,通常留空单元格:

latex 复制代码
\begin{tabular}{cp{9cm}}
 \toprule
 动物 & 描述 \\
 \midrule
 狗   & 是家养动物 \\
       & 很聪明 \\
 \bottomrule
\end{tabular}

7.5 复杂列定义

latex 复制代码
% 重复列
*{6}{c}    % 等价于 cccccc

% 单元格前后添加内容
>{bfseries}c    % 该列全部粗体

八、交叉引用

8.1 引用机制

latex 复制代码
% 设置标签
\label{key}

% 引用编号
\ref{key}

% 引用页码
\pageref{key}

8.2 示例

latex 复制代码
\section{引言}
\label{sec:intro}

\subsection{背景}
\label{sec:bg}

\section{实验}
如图~\ref{fig:results} 所示,在第~\pageref{sec:intro} 页...

8.3 引用类型前缀(约定)

latex 复制代码
sec:    % 章节
fig:    % 图片
tab:    % 表格
eq:     % 公式
ch:     % 章节

8.4 注意事项

  1. \label 必须放在引用对象之后
  2. 图片/表格的 label 放在 \caption 内部
  3. 需要编译两次才能正确解析引用
  4. 首次编译会显示 ??,这是正常的

九、数学公式

9.1 行内数学

latex 复制代码
$y = mx + c$

\(a^2 + b^2 = c^2\)

9.2 显示数学

latex 复制代码
[
\int_{-\infty}^{+\infty} e^{-x^2} \, dx
]

或带编号:

latex 复制代码
\begin{equation}
E = mc^2
\label{eq:einstein}
\end{equation}

9.3 上下标

latex 复制代码
x^2          % 上标
x_1          % 下标
x^{2}_{i}    % 组合

9.4 常用数学命令

latex 复制代码
\sin, \cos, \tan      % 三角函数
\log, \ln, \exp       % 对数指数
\int, \sum, \prod     % 积分、求和、连乘
\infty                % 无穷
\sqrt{x}              % 根号
\frac{a}{b}           % 分式
\partial              % 偏导
\nabla                % 梯度

9.5 希腊字母

latex 复制代码
\alpha, \beta, \gamma, \delta
\theta, \pi, \sigma, \omega
\Delta, \Gamma, \Omega

9.6 amsmath 扩展

latex 复制代码
\usepackage{amsmath}

% 对齐环境
\begin{align*}
 a &= b + c \\
   &= d + e
\end{align*}

% 矩阵
\begin{matrix}
 a & b \\
 c & d
\end{matrix}

\begin{pmatrix}
 a & b \\
 c & d
\end{pmatrix}

\begin{bmatrix}
 a & b \\
 c & d
\end{bmatrix}

9.7 数学字体

latex 复制代码
\mathrm{罗马体}
\mathbf{粗体}
\mathsf{无衬线}
\mathtt{等宽}
\mathcal{花体}
\mathbb{黑板粗体}  % 需要 amsfonts

十、字体和间距

10.1 段落间距

latex 复制代码
\usepackage{parskip}

效果:段落间不缩进,用空行分隔

10.2 强制换行

latex 复制代码
\\           % 换行(慎用)
\newline     % 换行

\vspace{2cm}     % 垂直间距
hspace{1cm}      % 水平间距

10.3 细空格

latex 复制代码
\,    % 细空格
\:    % 中等空格
\;    % 较宽空格
\!    % 负空格
\quad % 1em 空格
\qquad % 2em 空格

10.4 字体大小

latex 复制代码
\tiny
\scriptsize
footnotesize
\small
\normalsize
\large
\Large
\LARGE
\huge
\Huge

10.5 字体命令

latex 复制代码
textbf{粗体}
textit{斜体}
textrm{罗马体}
textsf{无衬线}
texttt{等宽}
textsmallcaps{小型大写}

十一、参考文献

11.1 BibTeX 数据库

创建 .bib 文件:

bibtex 复制代码
@article{Author2020,
  author = {Author, A.},
  title = {文章标题},
  journal = {期刊名},
  year = {2020},
  volume = {10},
  pages = {100-110}
}

@book{Book2020,
  author = {Author, B.},
  title = {书名},
  publisher = {出版社},
  year = {2020}
}

11.2 natbib 引用

latex 复制代码
usepackage{natbib}

% 文中引用
citet{key}    % 文本引用
citep{key}    % 括号引用

% 参考文献
bibliographystyle{plainnat}
bibliography{mybib}

11.3 biblatex 引用

latex 复制代码
\usepackage[style=authoryear]{biblatex}
addbibresource{mybib.bib}

% 文中引用
autocite{key}
parencite{key}
textcite{key}

% 参考文献
printbibliography

十二、长文档

12.1 文件拆分

latex 复制代码
% 导入文件(无条件)
\input{chapter1}

% 导入文件(总是新页)
\include{chapter2}

% 选择性导入
\includeonly{
  chap1,
  chap2
}

12.2 文档结构

latex 复制代码
\frontmatter     % 前言部分,罗马页码
\title{书名}
\author{作者}
\maketitle
\tableofcontents

\mainmatter      % 正文部分,阿拉伯页码
\include{chap1}
\include{chap2}

\appendix        % 附录,编号变为 A、B
\include{app}

\backmatter      % 附录后记
\printbibliography

12.3 目录和图表列表

latex 复制代码
\tableofcontents
\listoffigures
\listoftables

十三、错误处理

13.1 常见错误

错误 原因
Missing $ inserted 数学模式内容出现在文本中
Undefined control sequence 命令未定义(拼写错误或未加载宏包)
Runaway argument 参数不匹配
Too many }'s 多余的大括号
?? 引用未解析(需要再次编译)

13.2 调试建议

  1. 查看 .log 文件获取详细错误
  2. 从上往下看,第一个错误往往是根源
  3. 遇到错误输入 x 退出
  4. 编译两次确保引用解析

十四、实用技巧

14.1 在线 LaTeX

14.2 符号识别

14.3 常用模板

latex 复制代码
% 中文文章模板
\documentclass{ctexart}
\usepackage{ctex}
\usepackage{amsmath}
\usepackage{graphicx}
\usepackage{booktabs}

\begin{document}
\title{标题}
\author{作者}
\maketitle

\section{引言}
...

\end{document}

14.4 编译命令

bash 复制代码
# PDFLaTeX
pdflatex doc.tex

# XeLaTeX
xelatex doc.tex

# LuaLaTeX(推荐)
lualatex doc.tex

# 带 BibTeX
pdflatex doc
bibtex doc
pdflatex doc
pdflatex doc

# 带 Biber
lualatex doc
biber doc
lualatex doc

附录:常用符号表

数学符号

符号 命令
± \pm
× \times
÷ \div
\leq
\geq
\neq
\approx
\sum
\prod
\int
\partial
\nabla
\sqrt
\infty

希腊字母

小写 命令 大写
α \alpha Α
β \beta Β
γ \gamma Γ
δ \delta Δ
ε \epsilon Ε
θ \theta Θ
λ \lambda Λ
μ \mu Μ
π \pi Π
σ \sigma Σ
φ \phi Φ
ω \omega Ω

十五、错误处理

15.1 常见错误类型

错误 原因 解决方法
Undefined control sequence 命令未定义 检查拼写或加载宏包
Missing $ inserted 数学模式内容在文本中 加上 $\[ \]
File 'xxx.sty' not found 宏包未安装 安装宏包或检查名称拼写
Too many }'s 多余大括号 检查括号匹配
Runaway argument 参数不匹配 检查命令参数
?? 引用未解析 再次编译

15.2 错误信息格式

复制代码
! 错误类型
\命令 -> 错误位置
l.行号 源代码
?

15.3 调试方法

  1. 查看 .log 日志文件
  2. 从上往下读,第一个错误是根源
  3. 交互式输入 x 退出
  4. 编译两次确保引用解析

15.4 常见错误示例

未定义命令

latex 复制代码
\newcommand\mycommand{\textbold{hmmm}}  % 错误:\textbold 不存在

应改为 \textbf

花括号不匹配

latex 复制代码
\usepackage[leqno}{amsmath}  % 错误:} 和 ] 位置不对

数学环境空行

latex 复制代码
\begin{equation}

1=2

\end{equation}  % 错误:数学环境不允许空行

十六、获取帮助

16.1 本地文档

bash 复制代码
texdoc amsmath        % 打开宏包文档
texdoc -l amsmath    % 列出所有相关文档

16.2 在线资源

16.3 寻求帮助

推荐论坛

提问技巧

  • 创建最小工作示例(MWE)
  • 自包含、只包含必要内容
  • 清楚描述问题现象

生成测试文本

latex 复制代码
\usepackage{lipsum}    % 英文
\usepackage{zhlipsum} % 中文

\lipsum[1-5]          % 生成5段英文

附录:课程索引

主题 链接
1 LaTeX 基础 lesson-01
2 使用 LaTeX lesson-02
3 文档结构 lesson-03
4 逻辑结构 lesson-04
5 文档类 lesson-05
6 扩展 LaTeX lesson-06
7 图片 lesson-07
8 表格 lesson-08
9 交叉引用 lesson-09
10 数学 lesson-10
11 字体和间距 lesson-11
12 参考文献 lesson-12
13 长文档 lesson-13
14 字体引擎 lesson-14
15 错误处理 lesson-15
16 获取帮助 lesson-16

笔记整理完成,建议结合 Overleaf 实践操作

相关推荐
程序媛小鱼2 小时前
深度学习笔记
笔记
71-32 小时前
Android studio的安装下载(Android Studio Panda 1 | 2025.3.1 Patch 1 )
android·笔记·学习·android studio
Alphapeople2 小时前
购买硬件学习推荐
学习
Hello_Embed2 小时前
LVGL 入门(八):标签控件 lv_label
前端·笔记·stm32·单片机·嵌入式
头疼的程序员2 小时前
计算机网络:自顶向下方法(第七版)第四章 学习分享(一)
网络·学习·计算机网络
伊甸32 小时前
Python numpy笔记01
笔记·python·数据分析
凉、介2 小时前
深入 LWIP:数据是如何被封装并发送出去的
网络·驱动开发·笔记·学习·嵌入式
云边散步2 小时前
godot2D游戏教程系列二(15)
笔记·学习·游戏·游戏开发
H Journey2 小时前
学习OpenCV之HSV 颜色模式
人工智能·opencv·学习·hsv