LaTeX 命令速查表 - LaTeX 学术排版常用命令大全
论文交稿前两小时才第一次打开 .tex,最容易崩的不是公式,而是浮动体跑丢、参考文献键对不上、图片路径换台机器就失效。这张表按文档结构、文本格式、数学公式、列表环境、表格、图表、参考文献分组,每个条目给出写法与配套宏包,让你在动手写正文前先把一份能编译通过的骨架搭出来。判断依据很实际:先让 pdflatex 干净通过一次,再逐段加内容,每次只加一个包,一旦报错就回退到上一次通过的版本,这样永远知道问题出在哪一行。什么时候翻它:换模板、给公式调行距、把长表格改成 booktabs 样式、批量改引用键、或者 BibTeX 报 undefined citation。和 Markdown 的分界在于 LaTeX 是排版系统,浮动的图、自动编号的公式、多级目录都由它接管,你真正该关心的只有一件事:这份文档能不能一次编译出 PDF。
典型使用场景
面向需要产出论文、技术报告或带公式文档的写作者,尤其是要交叉引用、插图表和管理参考文献的场景。本表把 LaTeX 最实用的三层能力串起来:文档结构层面说明文档类、宏包与标题目录如何组织;内容层面区分行内公式、带编号公式与对齐环境,以及表格、图表的浮动参数怎么写才不会乱跑;引用层面把 label/ref 与参考文献样式打通,避免手写编号在改稿后全部错位。易错点部分集中了数学模式下空格失效、浮体跑到错误位置、多次编译才能出正确引用、特殊字符未转义这几类真实会卡住新手的现象。
文档结构 8
\documentclass{article}\usepackage[utf8]{inputenc}\usepackage{amsmath}\title{Title} \author{Author} \date{\today}\begin{document} ... \end{document}\maketitle\tableofcontents\section{} \subsection{} \subsubsection{}文本格式 8
\textbf{bold}\textit{italic}\underline{underline}\emph{emphasis}\texttt{monospace}\footnote{footnote text}\label{sec:intro} \ref{sec:intro}\cite{key}数学公式 10
$E = mc^2$\[ E = mc^2 \]\begin{equation} ... \end{equation}\begin{align} ... \end{align}\frac{a}{b}\sqrt{x}\sum_{i=1}^{n} x_i\int_{a}^{b} f(x) dx\alpha \beta \gamma \delta\infty \partial \nabla列表环境 3
\begin{itemize} \item ... \end{itemize}\begin{enumerate} \item ... \end{enumerate}\begin{description} \item[term] desc \end{description}表格 6
\begin{tabular}{|c|c|c|} ... \end{tabular}\hlinea & b & c \\\multicolumn{2}{|c|}{text}\begin{table}[htbp] ... \end{table}\caption{Caption} \label{tab:1}图表 5
\usepackage{graphicx}\includegraphics[width=0.5\textwidth]{image.png}\begin{figure}[htbp] ... \end{figure}\caption{Caption} \label{fig:1}\begin{subfigure} ... \end{subfigure}参考文献 5
\bibliographystyle{plain}\bibliography{references}\begin{thebibliography}{99} ... \end{thebibliography}\cite{key}\citep{key} \citet{key}参数矩阵
| 参数 | 作用 | 示例 |
|---|---|---|
\documentclass{article} | 选择文档类(article/report/book/beamer) | \documentclass{article} |
\usepackage[utf8]{inputenc} | 设置输入编码 | \usepackage[utf8]{inputenc} |
\usepackage{amsmath} | 引入数学宏包,align/equation 等环境依赖它 | \usepackage{amsmath} |
\usepackage{graphicx} | 引入图形宏包,\includegraphics 依赖它 | \usepackage{graphicx} |
\title{} \author{} \date{} | 声明标题、作者与日期 | \title{Title} \author{Author} \date{\today} |
\maketitle | 生成标题页 | \maketitle |
\tableofcontents | 生成目录 | \tableofcontents |
\section{} \subsection{} \subsubsection{} | 章节层级命令 | \section{} \subsection{} |
\begin{document} ... \end{document} | 文档正文环境,所有内容必须写在其内 | \begin{document} ... \end{document} |
\textbf{} / \textit{} / \emph{} / \underline{} | 粗体、斜体、强调、下划线 | \textbf{bold} |
\texttt{} | 等宽字体排版代码 | \texttt{monospace} |
\footnote{} | 插入脚注 | \footnote{footnote text} |
\label{} + \ref{} | 打标签并交叉引用,避免硬编码编号 | \label{sec:intro} \ref{sec:intro} |
$ ... $ | 行内公式环境 | $E = mc^2$ |
\[ ... \] | 独立无编号公式 | \[ E = mc^2 \] |
\begin{equation} ... \end{equation} | 带编号的独立公式,可被 \ref 引用 | \begin{equation} ... \end{equation} |
\begin{align} ... \end{align} | 多行对齐公式,按 & 对齐、\\ 换行 | \begin{align} ... \end{align} |
\frac{a}{b} | 分数 | \frac{a}{b} |
\sqrt{x} | 平方根 | \sqrt{x} |
\sum_{i=1}^{n} x_i | 带上下限的求和 | \sum_{i=1}^{n} x_i |
\int_{a}^{b} f(x) dx | 带上下限的积分 | \int_{a}^{b} f(x) dx |
\alpha \beta \gamma \delta | 希腊字母命令 | \alpha \beta \gamma \delta |
\infty \partial \nabla | 无穷、偏导、梯度符号 | \infty \partial \nabla |
\left( ... \right) | 让括号随内容自动调整大小 | \left( \frac{a}{b} \right) |
itemize / enumerate / description | 无序、有序、描述三类列表环境 | \begin{itemize} \item ... \end{itemize} |
\begin{tabular}{|c|c|c|} ... \end{tabular} | 表格环境,竖线与 c 指定列对齐方式 | \begin{tabular}{|c|c|c|} ... \end{tabular} |
\hline | 表格横线 | \hline |
\multicolumn{2}{|c|}{text} | 横跨多列的单元格 | \multicolumn{2}{|c|}{text} |
\begin{table}[htbp] ... \end{table} | 浮动表格,htbp 控制放置位置偏好 | \begin{table}[htbp] ... \end{table} |
\caption{} + \label{} | 图表标题与标签,编号由文档自动维护 | \caption{Caption} \label{tab:1} |
\includegraphics[width=...]{file} | 按比例插入图片 | \includegraphics[width=0.5\textwidth]{image.png} |
\begin{figure}[htbp] ... \end{figure} | 浮动图环境 | \begin{figure}[htbp] ... \end{figure} |
\begin{subfigure} ... \end{subfigure} | 子图环境,需 subcaption 宏包 | \begin{subfigure} ... \end{subfigure} |
\bibliographystyle{plain} | 指定参考文献样式 | \bibliographystyle{plain} |
\bibliography{references} | 引入 bib 文件生成文献表 | \bibliography{references} |
\begin{thebibliography}{99} | 不用 bib 文件时手写文献列表 | \begin{thebibliography}{99} ... \end{thebibliography} |
\cite{} / \citep{} / \citet{} | 普通引用、括号引用、文本引用(natbib) | \cite{key} |
易错点与避坑指南
现象数学公式里的空格完全消失,多项之间紧贴在一起。
原因数学模式会忽略普通空格,源码里的空格不产生排版宽度。
处置用 \left( 与 \right) 让括号随内容自动缩放,多项之间靠对齐环境的 & 与排版规则留白,不要靠打空格。
现象图表跑到了完全意料之外的页面,甚至插到了参考文献后面。
原因LaTeX 的浮动体只给 [htbp] 一个位置偏好,最终落点由排版算法决定,且会被当作不可打断的整体搬运。
处置把 [htbp] 改写为 [H](需 float 宏包)强制就地放置,或把浮动体放得更靠近首次被 \ref 引用的位置,减少乱跑。
现象第一次编译后所有 \ref 显示成 ??,交叉引用和目录都不对。
原因交叉引用需要先编译一遍把标签写入辅助文件,再编译一遍才能回填编号。
处置连续编译两次(或清理辅助文件后编译两次),确认 aux 文件已生成再核对编号。
现象正文中的下划线、百分号、井号等符号排版错乱甚至报未定义命令。
原因LaTeX 中这些字符有特殊含义,没有用对应命令转义。
处置正文里的下划线用 \underline{} 或 text 环境的转义写法,百分号写成 \%,井号写成 \#,不要直接敲原字符。
现象文章里出现了 ? 或方框,PDF 中中文全部缺失。
原因引擎没有正确处理 UTF-8 中文,或缺了中文排版支持相关配置。
处置确认文件以 UTF-8 保存并在导言区保留 \usepackage[utf8]{inputenc},再按所用引擎补对应的中文支持宏包。
现象修改了章节顺序后,图表编号和正文引用对不上。
原因把编号硬编码写进了正文,而不是用 \label + \ref 自动维护。
处置全部改为 \label{tab:1} + \ref{tab:1} 的写法,让编号随文档结构自动重排;标题文本也一律用 \caption{} 生成。
现象子图环境报错:找不到 subfigure 之类的环境定义。
原因subfigure 依赖 subcaption 宏包,导言区没有引入。
处置在导言区加载 subcaption 宏包后再使用 \begin{subfigure} ... \end{subfigure}。
排障路径
1连续编译两次让交叉引用与目录落定
pdflatex main.tex && pdflatex main.tex第二次编译后 \ref 与 \tableofcontents 的编号应全部解析完成。
2清理辅助文件后重编,排除旧辅助文件干扰
latexmk -C && latexmk main.texlatexmk 会自动判断需要编译几次,输出应包含 aux 文件重新生成的记录。
3查看完整编译日志定位报错行
pdflatex main.tex > build.log 2>&1在 build.log 中搜索 Undefined control sequence 或 LaTeX Error,可定位到具体行号。
4确认图片确实被引用到且尺寸可解析
\includegraphics[width=0.5\textwidth]{image.png}若报文件未找到,检查路径与扩展名是否与磁盘上的实际文件一致。
5检查文献表是否正确生成
\bibliographystyle{plain} + \bibliography{references}确认 references.bib 中每一项都有 key,且正文 \cite{key} 的 key 与之一致。
6核对数学环境所需宏包是否已加载
\usepackage{amsmath}align/equation 环境依赖 amsmath,缺失时报环境未定义。
命令示例
最小可用论文骨架:标题、目录、章节一次配齐
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\title{Report Title} \author{Author} \date{\today}
\begin{document}
\maketitle
\tableofcontents
\section{Introduction}
第一段正文,\textbf{加粗}与\texttt{等宽}都来自导言区已加载的宏包。
\subsection{Background}
\begin{itemize}
\item 要点一
\item 要点二
\end{itemize}
\end{document}导言区与正文区的分界就是 \begin{document}:它之前只能出现宏包与标题信息,之后才是正文。\maketitle 把 \title/\author/\date 渲染成首页标题块,\today 会自动写入编译当天的日期,不用手写日期。数学内容放到最后记得确认 amsmath 仍在导言区,否则 \begin{equation} 会报未定义环境。
数学公式:行内、带编号、多行对齐与常用符号
行内公式:$E = mc^2$ 出现在句子中间。
带编号公式,编号可被正文引用:
\begin{equation}
\frac{a}{b} = \sqrt{x}
\label{eq:fraction}
\end{equation}
多行对齐公式:
\begin{align}
\sum_{i=1}^{n} x_i &= \alpha + \beta \label{eq:sum} \\
\int_{a}^{b} f(x) \, dx &= \infty \partial \nabla
\end{align}
不带编号的独立公式:
\[ E = mc^2 \]equation 环境负责编号(正文用 \ref{eq:fraction} 取编号),align 环境负责多行对齐:每一行末尾的 \\ 不可省,对齐点用 & 放在等号前。行内公式用 $...$,独立但无编号的用 \[ ... \]。数学模式下普通空格不产生宽度,排版留白要靠对齐环境而不是打空格。
表格:合并单元格、浮动位置与可被引用的表号
\begin{table}[htbp]
\begin{tabular}{|c|c|c|}
\hline
a & b & c \\
\hline
\multicolumn{2}{|c|}{跨两列的标题} & d \\
\hline
1 & 2 & 3 \\
\hline
\end{tabular}
\caption{结果汇总表}
\label{tab:result}
\end{table}
正文引用:见表~\ref{tab:result}。列数由 \begin{tabular} 里的列格式({|c|c|c|})决定,每行的 & 数量必须与列数一致,最后一行也要以 \\ 结尾,否则该行会与下一行黏在一起。\multicolumn{2}{|c|}{...} 把两列合成一格,两侧的竖线要照写。表号由 \caption 生成、\label 必须紧跟在 \caption 之后,交叉引用才是准的。
插图、子图与参考文献的完整引用链
\usepackage{graphicx}
\begin{figure}[htbp]
\includegraphics[width=0.5\textwidth]{pipeline.png}
\caption{整体流程}
\label{fig:pipeline}
\end{figure}
\begin{figure}[htbp]
\begin{subfigure}
\includegraphics[width=0.45\textwidth]{stage-a.png}
\caption{阶段 A}
\end{subfigure}
\begin{subfigure}
\includegraphics[width=0.45\textwidth]{stage-b.png}
\caption{阶段 B}
\end{subfigure}
\caption{两阶段对比}
\label{fig:stages}
\end{figure}
正文:图~\ref{fig:pipeline} 与图~\ref{fig:stages}。
\bibliographystyle{plain}
\bibliography{references}subfigure 环境需要导言区加载 subcaption 宏包,否则报「找不到 subfigure 环境定义」。图片路径建议只用小写字母、数字与连字符:文件名带空格或非 ASCII 字符时,换一台机器编译常静默丢图。\bibliography{references} 里的 references 就是同目录下的 references.bib,缺文件不会中断编译,参考文献会静默变成空的。
常见坑与注意事项
- 正文里的 % 是注释符:同一行 % 之后的全部内容会被无声吞掉,包括本该出现在 PDF 里的文字与命令。下划线、井号、美元符号、& 也必须写成对应命令,直接敲原字符不是排版走样就是整篇编译中断。
- 只编译一次就交付,PDF 里的 \ref 会全是 ??,目录也是空的;改章节顺序后硬编码的图表编号会与正文引用整体错位。交叉引用必须靠 \label + \ref,并在清理辅助文件后连续编译两次。
- \bibliography{references} 指向的 .bib 没提交、被 .gitignore 忽略或路径写错时,LaTeX 不报错,参考文献直接消失(只剩 [?]),审稿人看到的是一份缺引用的稿子。
- \includegraphics 的路径带空格或非 ASCII 字符时,本机能编出 PDF,换机器/换 CI 环境就静默变成一个空白占位框——图没了但构建仍然是绿的。文件名统一用小写字母、数字与连字符。
- 长表格塞进 tabular 会横向溢出纸面被裁掉,而 LaTeX 不拦你;同时浮动体里的内容超过一页时会被推到别处甚至参考文献之后。需要分页的长表用可跨页的环境,不要靠缩小字号硬塞。
提示
- 数学公式中用 \left( 和 \right) 自动调整括号大小。
- 图表浮动体 [htbp] 参数控制位置:h 此处,t 顶部,b 底部,p 单独页。
- 用 \label 和 \ref 实现交叉引用,避免硬编码编号。
- 图表参数 [htbp] 仍可能让 float 跑远,正文顺序要求严格时用 [H](需 float 宏包)强制就地放置。
- 文件名带空格或非 ASCII 字符时,includegraphics 常在别的机器上失效,建议路径只用小写字母、数字与连字符。
- 图片与参考文献数量多时加 \usepackage{placeins} 并在章节处用 \FloatBarrier 防止浮动体跨章漂移。
常见问题
LaTeX 常用命令有哪些?
按用途分:文档结构用 \documentclass、\begin{document}/\end{document}、\section;文本格式用 \textbf、\emph、\verb;数学用 $...$ 行内与 $$...$$ 独立公式、\frac、\sum;列表用 itemize/enumerate;表格用 tabular;参考文献用 \cite 配合 BibTeX/biblatex。本页按这些分组整理可复制片段。
LaTeX 怎么插入数学公式?
行内公式用一对美元符 $E=mc^2$,独立成行的公式用双美元符 $$...$$ 或 equation 环境。需要编号用 equation,不编号用 $$...$$。
LaTeX 怎么插入参考文献?
用 \cite{key} 在正文中引用,文末用 \bibliography{filename} 或 biblatex 的 \printbibliography 输出;参考文献条目写在 .bib 文件里。配合 BibTeX 或 biblatex 编译即可生成参考文献列表。
LaTeX 编译报错怎么快速定位?
看编译器日志里第一个 error 的行号,多数问题(缺包、未闭合环境、特殊字符未转义)都会指向具体行。建议先搭出最小可编译骨架,再逐步加内容,比临交稿大改更稳。
由 巧匠 维护
公开更新于 2026年7月21日,内容持续校对官方文档。