LaTeX中文排版实战:环境配置、数学公式与自定义命令全攻略
简介:这是一份为LaTeX初学者量身打造的中文PDF教程,适合高校学生、科研人员与工程技术人员快速入门科技排版。资源仅1个PDF文件,压缩包约2.5MB,完整收录《简单粗暴 LaTeX》中文手册v1.6.4内容,排版精美、目录清晰。手册从第一份文稿讲起,依次覆盖命令与环境、保留字符、标点与强调、格式控制、字体与颜色、引用与注释、封面与目录、计数器与列表、浮动体图表、页面设置、抄录与代码环境、分栏、文档拆分与西文排版等基础至进阶主题,并在数学排版章节详述行内行间公式、上下标、分式根式、矩阵、多行公式编号等高频用法,还配有大量可操作示例。该PDF已吸引258人学习,内容由浅入深,可帮助读者系统掌握LaTeX核心语法,熟练处理文档结构、公式排版和图表插入等常见需求,快速产出格式规范的专业PDF文档。
1. 学 LaTeX 不必从零啃文档:把 v1.6.4-pre 中文教程当查错手册用
写论文的人第一次碰 LaTeX,十个有九个是被公式逼来的:Word 里敲矩阵和分段函数,对齐全靠手,翻两页就崩。这份中文教程手册正好卡在这个痛点上——它是某开发者维护多年的开源项目,标题叫《简单粗暴 LaTeX(中文版)》,当前版本 v1.6.4-pre,最后一次更新停在 2021 年 5 月,核心思路就四个字:简单粗暴。少讲理论,直接给能编译的实例,整本手册覆盖基础排版、数学公式、自定义命令进阶三块,附录还能当符号表查。
这套资源以开源方式发布,在常见的开源代码托管平台可以直接下到源码,跟着第 2 章配好环境就能编译出 PDF。适合两类人:一类是刚装完 TEX Live 还没写出过完整文档的新手,照着示例改一改就能出第一份稿子;另一类是被 Word 公式编辑器折磨到想换路线、打算把论文和书籍排版做规范的人。最好的用法不是从头读到尾,而是当查错手册用——遇到问题先翻目录找到对应小节,把示例抄下来改一改,比你翻英文文档快得多。
2. 从安装到第一份 PDF:XƎLATEX 选型、导言区结构与保留字符
2.1 环境选型:TEX Live 配 TEX Studio 是目前门槛最低的组合
安装阶段最省心的组合是 TEX Live 完整版加上 TEX Studio。TEX Live 免费、跨平台、宏包最全,完整版虽然体积大,但省掉了后续补装宏包和字体的麻烦;TEX Studio 自带 PDF 预览、行级错误定位和反向搜索,比商业编辑器更适合新手。装完之后先改一个设置:打开 TEX Studio,选项 → 设置 TEX Studio → 构建 → 默认编译器,改成 XƎLATEX。
\documentclass{ctexart} \begin{document} Hello, world! 你好,世界! \end{document}把这段保存成 .tex 文件,点编译按钮生成,按 F7 预览,PDF 和 tex 文件在同一目录。\documentclass{ctexart} 直接声明了中文 article 文档类,自动处理中文字体和中文章节标题;正文夹在 \begin{document} 和 \end{document} 之间,前者是内容区起点,后者结束整份文稿。参数说明:想要章一级结构时,把 ctexart 换成 ctexrep 或 ctexbook,对应报告和书籍的章节层级,我们自己写论文时按学校模板选,平时练习用 ctexart 就够了。
为什么默认编译器选 XƎLATEX 而不是 PDFLATEX?因为 XƎLATEX 能直接调用系统字体来排版中文,配合 ctex 文档类基本不会碰到字体配置硬伤,编译英文也没问题。手册的建议是一律用它,我复现下来也认同:新手阶段少引入一个变量,就少一次翻车。别在引擎选择上纠结,XƎLATEX 是当前中文化最平滑的路线。
2.2 导言区、文档类与宏包加载:一份 tex 文件的三层结构
任何一份 LaTeX 文档都长这样:
\documentclass[11pt,a4paper]{article} \usepackage{graphicx} \usepackage{xcolor} \begin{document} 正文内容 \end{document}写在 \begin{document} 之前的部分叫导言区,可以理解为模板定义。\documentclass 的两个可选参数 11pt 和 a4paper 分别是字号和纸张,不写就用默认的 10pt 和 letterpaper。\usepackage 每行装一个宏包:graphicx 负责插图片,xcolor 负责颜色,这两行属于基础配置,建议照抄进自己的模板。
文档类的选择逻辑很直接:article 用于单篇论文、短报告,没有 chapter 命令;report 适合长报告和毕业论文,book 处理书籍排版时会额外区分奇偶页与章首页;做幻灯片用 beamer 文档类,而不是正文里提的 slides,后者实际中很少见。宏包装好后,在终端输入 texdoc 加宏包名就能调出官方 PDF 文档,比如 texdoc xeCJK。本地文档永远比网上零散博客可靠,这是排查所有宏包问题的第一入口。
2.3 保留字符、文件输出与编译原理:先弄懂哪些字符不能直接打
LaTeX 有一组保留字符,直接输入不会打印,甚至会报错:# $ % & _ { } \。前五个都能用反斜杠转义:# 输出 #,% 输出 %;_ 和 ^ 在数学环境里分别代表下标和上标,文本里输出下划线要写 _。最麻烦的是反斜杠本身,我一般用 \textbackslash 或 \texttt{\char92},前者语义清晰,后者在等宽字体环境下也稳定。
\# \$ \% \& \_ \{ \} $\backslash$ \textbackslash \texttt{\char92} \textbackslash波浪线也特殊:直接打 ~ 会变成不断行空格,要输出波浪号本体得用 \textasciitilde 或数学模式的 $\sim$。这些细节在第一次写代码环境时最容易翻车,提前记住能省很多时间。
编译输出相关的文件也值得认识。一次编译后文件夹里多出的 .aux 存交叉引用信息,更新公式或章节编号后必须编译两次才显示正确;.log 是完整日志,报错时顺着它查行号;.toc 是目录文件,由 \tableofcontents 生成。明白了这些,遇到"目录没更新""交叉引用全是问号"就知道是编译次数问题,不是代码写错。另外牢记一个边界:LaTeX 生成不了 docx,硬性要求提交 Word 的环境就别硬上,手册里也专门点过这一点,这不是 LaTeX 的缺点,是格式定位不同。
3. 把版面控制权拿回来:章节、交叉引用、浮动体图表的排版套路
3.1 标点与强调:中英文混排里最容易忽略的几个命令
中文混排最容易翻车的不是宏包而是符号。英文双引号要写成 `` 和 '' 两个引号组合,直接打中文引号在某些字体下会乱;省略号用 \ldots 而不是连续三个点,长破折号用 ---,短横 - 保留为连字符。强调命令集中在 \textbf{} 加粗、\textit{} 斜体、\underline{} 下划线这三件套上。
``引号'' 与 \ldots 省略号,以及 --- 破折号 \textbf{粗体}、\textit{斜体}、\underline{下划线}这套覆盖了日常写稿八成的符号需求。删除线需要额外加载 ulem 宏包用 \sout{},颜色标注则需要 xcolor。记不住没关系,知道"有这个命令、用的时候再查"就够了,重点是引号和省略号这两个高频符号别用错,直接影响稿件的观感。
3.2 章节结构、目录与交叉引用:两次编译才能看到目录的原因
章节命令从大到小是 part、chapter、section、subsection、paragraph,article 文档类没有 chapter。写完章节加 \label{},正文里用 \ref{} 引用编号、\pageref{} 引用页码,调整章节顺序时编号会自动跟着更新。第一次编译时编号写进 .aux,第二次才读回来,所以目录和交叉引用必须编译两次才稳定。
\section{实验设计}\label{sec:design} 具体流程参见第~\ref{sec:design}~节,位于第~\pageref{sec:design}~页。 \tableofcontents~ 是硬空格,防止编号和"节"字被拆到两行。\tableofcontents 放在正文里,第一次编译时目录为空,.toc 写完后第二次才填满。TEX Studio 的"构建并查看"会自动判断是否需要补编译,但命令行编译很容易漏。记忆方法:只要动了 \ref、\cite、\tableofcontents 相关的内容,至少编译两次再检查结果,这是骑共享单车一样的习惯,顺手就做了。
3.3 浮动体与图表:figure/table 位置参数、宽度、列格式
图片和表格默认是浮动体,LaTeX 会把它移动到当前页或下一页的合适位置。figure 环境的 [htbp] 表示允许的位置依次是这里、顶部、底部、独立浮动页:
\begin{figure}[htbp] \centering \includegraphics[width=0.8\linewidth]{figures/example.png} \caption{实验流程图} \label{fig:flow} \end{figure}\includegraphics 的 width=0.8\linewidth 是按当前行宽比例缩放,比写死 10cm 更稳妥,换模板或改纸张时图片自动跟着缩放。\caption 负责题注,\label 供正文引用,题注文字会同步进图表目录。
表格的难点在列格式。tabular 环境的 l、c、r 分别是左、中、右对齐,但都是自然宽度,遇到长文本会把表格撑出页面。解决办法是把列声明为 p{3cm} 或 p{0.4\textwidth},内容会自动换行:
\begin{table}[htbp] \centering \begin{tabular}{l c p{0.5\textwidth}} 方法 & 耗时 & 备注 \\ A & 1.2s & 适合小样本,参数少 \\ B & 3.5s & 内存占用高,不推荐 \\ \end{tabular} \caption{对比结果} \end{table}& 是列分隔符,\ 是行尾。p{} 列是处理长文本的标准手段,让表格变成"左对齐文字+固定宽度"的混合结构。浮动体最常见的投诉是"图不听话,非要跑到下一页"。先别急着删 [htbp],大概率是文档里某个表格没闭合或者前面浮动体堆太多;实在要强制固定在当前位置,用 float 宏包提供的 [H] 参数,但 H 会牺牲 LaTeX 的自动排版能力,慎用。
两张图并排也是高频需求,办法是在 figure 里放两个 minipage,各占 0.48\linewidth,中间留 0.04 的空隙,别写 0.5+0.5,因为行末容不下整行时又会触发换行。这个比例是小细节,但实际排版时非常管用。
3.4 页面、字体与颜色:从纸张边距到页眉页脚
页面设置的标准做法是 geometry 宏包,一行命令定义所有边距:
\usepackage[a4paper, top=2.5cm, bottom=2.5cm, left=3cm, right=2.5cm]{geometry} \usepackage{xeCJK} \setCJKmainfont{思源宋体} \pagestyle{fancy}xeCJK 是中文排版的核心宏包,\setCJKmainfont 直接指定系统字体名,装过思源宋体就能用,Windows 内置字体可以直接写"宋体""黑体"。页眉页脚用 fancyhdr 宏包,\pagestyle{fancy} 开启后,再用 \fancyhead 分别设置左中右和奇偶页内容。
这里有个加速技巧值得单独记:安装新字体后执行 fc-cache 刷新字体缓存,能明显加快 XƎLATEX 调用字体的速度。手册更新日志里专门提过这条,我复现时体验非常明显,字体文件多的时候差距不止一倍。颜色系统由 xcolor 提供,\textcolor{red}{内容} 修改局部文字颜色,但论文里别滥用,审稿人不会因为红色标题加分。
4. 数学公式排版:从行内公式到多行公式对齐与编号控制
4.1 行内与行间公式:三种写法怎么选
数学公式有三种基本写法:行内公式用 $...$,独立成段用 [...],带编号用 equation 环境。行内公式适合"当 x > 0 时"这种简短引用;独立公式不编号,适合不打算引用的推导中间步;equation 环境的公式自动编号,需要配合 \label 才能被正文引用为"式 (3)"。
行内公式 $f(x)=x^2$,独立公式 \[ \int_0^1 x^2 \, dx = \frac{1}{3} \] 编号公式 \begin{equation}\label{eq:energy} E = mc^2 \end{equation}\int_0^1 是定积分,上下标直接跟在命令后面;, 是数学模式下的窄空格,防止积分号和 dx 挤在一起;\frac{1}{3} 是分式,分子分母各占一组花括号。公式里的字母默认意大利体,想写直立的微分算子要用 \mathrm{d},这是很多新手没注意的细节,排版出来专业度差距很大。
4.2 上下标、分式、根式、矩阵与省略号:高频写法速查
上下标是数学模式的基本功:^ 后面是上标,_ 后面是下标,多字符必须用花括号括起来,比如 e^{2\pi i},漏掉花括号会让 2 成为唯一的上标。这个"花括号圈定整体"的思维贯穿整个 LaTeX——任何命令都可以用 {} 把多个字符合并成一个参数,这是写长公式的底层逻辑。
矩阵和省略号的组合是论文里的高频场景:
\[ \begin{pmatrix} a_{11} & a_{12} & \cdots & a_{1n} \\ a_{21} & a_{22} & \cdots & a_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ a_{m1} & a_{m2} & \cdots & a_{mn} \end{pmatrix} \]pmatrix 是圆括号矩阵,bmatrix 方括号、vmatrix 竖线,按用途挑。& 是列分隔符,\ 是换行,和 tabular 的表格思维完全一致,学过表格的人上手矩阵非常快。省略号分三种:\cdots 水平居中省略号、\vdots 竖排、\ddots 斜排,矩阵里按位置对号入座。
根式用 \sqrt[n]{x},n 是可选参数,缺省时是平方根。分段函数用 cases 环境,每行左列公式、右列条件,& 对齐、\ 换行:
f(x) = \begin{cases} x^2 & x > 0 \\ 0 & x = 0 \\ -x^2 & x < 0 \end{cases}这是写分段函数的唯一推荐写法,比手动控制间距省心得多。注意 cases 每个分支后面的条件区域直接写文本,不用再加多余的括号,x > 0 里的空格在数学模式下会自动处理。
4.3 多行公式与编号控制:align 环境、取消编号、指定编号
多行公式的标准环境是 align,& 指定对齐位置,一般放在等号前。默认每行都会编号,不需要编号的行尾加 \notag,整组不编号用 align*。
\begin{align} y &= (x+1)^2 \notag \\ &= x^2 + 2x + 1 \label{eq:expand} \end{align}第一行不编号、第二行编号,等号上下对齐。\label 加在哪一行,\ref 引用的就是哪一行的编号。手册还介绍了 \numberthis 命令,给多行公式里的某一行单独补编号,适合推导过程中需要单独索引某一式的场景;\allowdisplaybreaks 则允许多行公式跨页,解决长推导在第一页放不下的问题,用之前先留意模板是否允许公式跨页。
公式编号样式也能改:文档类选项 leqno 把编号从右侧移到左侧;\numberwithin{equation}{section} 让公式按章编号,第 2 章的公式显示为 2.1、2.2,这是理工科模板的标准配置,建议直接写进导言区。公式编号的显示样式由 \theequation 控制,进阶需求从这里入手,但日常用到 \numberwithin 就足够。
4.4 定理环境与常用符号:写论文时的另一套生态
定理、引理、证明是数学写作的基本环境,\newtheorem 声明一次就能全文复用:
\newtheorem{theorem}{定理} \newtheorem{lemma}[theorem]{引理} \begin{theorem}\label{thm:main} 若函数在闭区间上连续,则它在该区间上一致连续。 \end{theorem}\newtheorem 第一个参数是环境名,第二个参数是显示标题;[theorem] 表示引理和定理公用一套编号,不加则各自独立编号。长文档里插入新定理类型时经常出现编号对不上,就是忘了加这个方括号参数。
希腊字母和符号没必要背,知道怎么查就行:手册附录按希腊字母、二元运算符、二元关系符、箭头分好了类别。论文里常用的也就是 \alpha、\beta、\gamma、\Delta、\theta,关系符 \leq、\geq、\approx、\in、\subset,箭头 \rightarrow、\Longrightarrow。写不出来时去附录查表比发帖问快得多,这也是这套资源作为查错手册最实用的部分。
5. 常见问题与排查:编译报错、坏盒子和玄学翻车清单
5.1 编译输出先分级:Errors、Warnings 与 Bad Boxes
TEX Studio 编译完成后,输出面板会显示三类诊断:Errors 严重错误,一旦出现通常没有 PDF 产出;Warnings 警告,能出文档但暗示潜在问题;Bad Boxes 这个"坏箱"概念,指排版层面的长短问题,最常见的是 Overfull(内容超出页面边界)和 Underfull(空白过多)。
日志面板里搜 Overfull 或 Underfull 能定位到具体行,后面跟着的数字是溢出长度,B 后面的数值是严重度。定位之后最常见的修法是调整措辞、改图片宽度、给表格列加 p{宽度}。别动不动用 \small 缩小字号,那会把整篇字号带偏,得不偿失。
5.2 高频踩坑记录:现象、原因、解决各就各位
坑 1:编译报 Missing $ inserted。现象是编译失败,日志指向正文里的某个数学符号。原因是普通文本模式直接用了数学命令。解决:把 \alpha、\sum、\leq 这类内容包进 $...$,或者补上数学环境缺掉的结束符。这个报错大多是行内公式漏了右半边美元符,顺着日志给的行号往上看几行就能确认。
坑 2:目录和交叉引用全是问号。现象是 \ref 显示 ??,目录少条目。原因基本就是只编译了一次,.aux 和 .toc 还没写入编号数据。解决:命令行按 xelatex → xelatex 跑两遍;TEX Studio 用户直接点"构建并查看",它会自动补跑。别改代码,先试编译次数,血泪经验告诉我这占了问号类问题的一半。
坑 3:图片不显示,只有占位空框。现象是编译通过但图出不来。常见原因两个:一是 \includegraphics 的路径和文件名对不上,目录层级写错;二是编译时带了 draft 选项,图片会被替换成占位框。解决:先核对路径和大小写,再检查 \documentclass 后有没有 draft 参数。我排查过三次图片消失,两次路径、一次 draft 忘删,都是这两类原因。
坑 4:表格溢出页面。现象是表格宽度超过正文被截断。原因是 tabular 的列没限制宽度,长文字不换行。解决:把长文本列改成 p{0.4\textwidth} 一类的固定宽度列;表格实在太宽再考虑 sideways 横向表格,缩小字号永远是最后手段。
坑 5:中文乱码或字体不对。现象是中文变方框或编译报字体错误。原因通常是编码问题或字体缓存陈旧。解决:源文件强制 UTF-8 保存、默认编译器保持 XƎLATEX;安装新字体后执行 fc-cache -f 刷新,再重启 TEX Studio 重新编译。这套组合拳解决了九成以上中文显示问题。
5.3 排查的"玄学"阶段:删辅助文件、注释法与分块调试
有时候代码没改,昨天能编译今天报错,这种我称之为玄学问题,八成是辅助文件坏了。解决方法是关掉 PDF 预览窗口,删除 .aux、.toc、.out 等辅助文件再重编译,它们只是缓存,删了不丢内容。注意别删 .tex 源文件,也别清理整个目录。这是编译问题的后悔药,也是我遇到奇怪报错时第一个尝试的动作。
另一个高效定位手段是注释排查法:把 \begin{document} 之后的内容按 section 一段段注释掉,直到找出触发报错的那段代码,再对这段做二分缩小。配合 \include 拆分文档,报错信息会直接指向具体子文件,大型文档能省出大量时间。手册里提到 syntonly 宏包可以只查语法不生成 PDF,\usepackage{syntonly} 加 \syntaxonly 后编译速度明显提升,但对个别宏包兼容性不稳定,适合当快速检查手段,正常编译记得注释掉。
6. 把重复劳动收拢成命令:自定义宏与一个值得建立的编译习惯
6.1 用 \newcommand 消灭重复输入
写论文时同一个式子出现几十次,每次手敲 \frac{\partial f}{\partial x} 既累又容易出错。自定义命令是根治办法:
\newcommand{\pdx}[1]{\frac{\partial #1}{\partial x}} \newcommand{\dd}{\mathrm{d}} 现在书写:$\pdx{f}$ 和 $\dd x$, 等价于:$\frac{\partial f}{\partial x}$ 和 $\mathrm{d}x$。\newcommand 的语法是命令名、参数个数、定义体,[1] 表示接收一个参数,#1 在右侧代表第一个参数。命名时建议用简短统一的前缀,比如 \dd、\pdx,方便记忆也不会和已有命令冲突。公式多的论文把高频式子缩写一遍,正文会清爽非常多,改样式时也只需要改一处定义。
配合这个思路,我养成了一套固定的收尾习惯:论文定稿前,强制走一遍"关闭预览 → 删除辅助文件 → 编译两次 → 检查日志里 Overfull 和警告数 → 刷新目录确认页码"的流程;公式多的文件再跑一遍 BIBTEX 编译链(xelatex → bibtex → xelatex → xelatex),确认参考文献和编号全部稳定才提交。这套流程朴素但有效,替我挡掉了至少三次交稿前才发现目录页码错乱的翻车。希望帮到你。
本文还有配套的精品资源,点击获取