在实际学术写作、技术报告和数学建模竞赛中,LaTeX 以其卓越的排版质量、强大的数学公式处理能力和对大型文档的结构化管理,成为许多高校、研究机构和顶级赛事(如全国大学生数学建模竞赛)的推荐甚至强制使用的工具。对于初次接触 LaTeX 的理工科学生或研究者,尤其是面临国赛、美赛等时间紧迫的竞赛选手,如何在短时间内从零上手,避开繁琐的配置和语法陷阱,高效地完成一篇格式规范的论文,是一个普遍且迫切的需求。
本文旨在为这类读者提供一份聚焦实战的 LaTeX 快速入门指南。我们将绕过 LaTeX 庞大而复杂的体系,直接切入核心:如何搭建一个能立即开始写作的最小化环境,如何理解并应用一个现成的优秀论文模板,以及如何解决在“从安装到成文”过程中最可能遇到的几个关键问题。目标是让读者在阅读和实践后,能够独立完成一篇结构清晰、排版美观的竞赛论文或技术报告,并为后续深入学习打下坚实基础。
1. 理解 LaTeX:它是什么,以及为什么在学术写作中不可替代
在开始安装和敲击代码之前,我们需要先厘清 LaTeX 的本质。这有助于建立正确的学习预期,避免将其与 Word 等所见即所得(WYSIWYG)编辑器混淆,从而减少初期的挫败感。
1.1 LaTeX 的核心:内容与格式分离的标记语言
LaTeX 不是一个“文字处理软件”,而是一个基于 TeX 排版系统的文档准备系统。你可以将其理解为一套用于定义文档结构和格式的“编程语言”或“标记语言”。
- 内容与格式分离:在 Word 中,你边写边调整字体、间距、标题样式。在 LaTeX 中,你首先用纯文本写下内容,并用特定的命令(如
\section{引言})来“标记”这部分内容是“一级章节标题”。然后,LaTeX 编译器会读取你的文本和这些标记,根据预定义的或你指定的样式规则(即“模板”或“文档类”),自动生成格式精美的 PDF 文件。 - 专注于内容:这种分离让你在写作时无需频繁中断思路去调整格式。格式的一致性由模板和编译器保证,这尤其适合需要严格遵循某种出版格式(如期刊模板、学位论文模板、竞赛模板)的场景。
- 强大的自动化能力:目录、图表编号、交叉引用、参考文献列表等,在 LaTeX 中都可以自动生成和更新。你只需要用
\label和\ref命令标记和引用,LaTeX 会处理所有编号问题。
1.2 为什么数学建模竞赛青睐 LaTeX?
对于全国大学生数学建模竞赛(国赛)、美国大学生数学建模竞赛(美赛)这类赛事,LaTeX 的优势尤为突出:
- 数学公式排版:这是 LaTeX 的“杀手锏”。其数学公式语法直观、强大,能轻松处理复杂的多行公式、矩阵、积分、求和等,且输出效果是印刷级质量。
- 代码与排版:竞赛论文中常需要插入算法伪代码或程序代码片段。LaTeX 的
listings或minted宏包可以高亮显示多种编程语言,使代码清晰可读。 - 图表管理:通过
figure和table环境,可以方便地插入图片和表格,并自动为其添加“图1”、“表1”这样的浮动标签和题注。交叉引用时,编号会自动更新。 - 参考文献:使用 BibTeX 或 BibLaTeX 管理参考文献,只需维护一个
.bib文件,在文中用\cite引用,文末的参考文献列表会自动按指定格式(如国赛常用的顺序编码制)生成。 - 版本控制友好:LaTeX 源文件是纯文本,可以很好地与 Git 等版本控制系统配合,方便团队协作和追踪修改历史。
- 稳定性与一致性:对于几十页的论文,LaTeX 几乎不会出现 Word 中常见的格式错乱、图片跑位、编号混乱等问题。
理解了这些,我们就知道学习 LaTeX 的重点不是去记忆所有命令,而是学会如何利用一个现成的模板,并掌握修改关键部分(如标题、作者、章节、公式、图表、参考文献)的方法。
2. 环境搭建:选择最省时省力的 LaTeX 发行版与编辑器组合
对于新手,尤其是备赛时间紧张的选手,不建议从零开始手动配置 TeX Live 或 MiKTeX 的所有组件。我们的目标是快速获得一个能编译中文、包含常用宏包的完整环境。
2.1 LaTeX 发行版选择:TeX Live 完整安装
发行版是 LaTeX 编译器、宏包和文档的集合。主流选择有 TeX Live 和 MiKTeX。
- 推荐选择:TeX Live。它包含几乎所有你可能用到的宏包,一次安装,基本无需后续在线下载,避免了网络问题导致的编译中断。虽然安装包较大(约4-6GB),但一劳永逸。
- 安装方式:
- Windows: 从 TeX Live 官网 下载
install-tl-windows.exe安装程序。运行后,在安装界面建议勾选“安装 TeXworks 前端”(一个简单的编辑器),然后进行完整安装。安装时间可能较长,请耐心等待。 - macOS: 推荐使用 MacTeX 发行版,它本质上是为 macOS 定制的 TeX Live。从 MacTeX 官网 下载
MacTeX.pkg安装即可。 - Linux: 通常可以通过包管理器安装,如 Ubuntu/Debian 的
sudo apt install texlive-full。
- Windows: 从 TeX Live 官网 下载
注意:务必进行“完整安装”(Full Installation),以确保所有宏包就位。精简安装可能在编译他人模板时因缺少宏包而失败。
2.2 编辑器选择:VSCode + LaTeX Workshop 插件
虽然 TeX Live 自带了 TeXworks,但为了获得更流畅的写作体验(如实时预览、语法高亮、错误提示、一键编译),强烈推荐使用 Visual Studio Code (VSCode) 配合 LaTeX Workshop 插件。
- 安装 VSCode:从官网下载并安装。
- 安装 LaTeX Workshop 插件:在 VSCode 扩展商店中搜索 “LaTeX Workshop” 并安装。
- 基本配置:安装后,LaTeX Workshop 已具备良好默认配置。为了更好支持中文和常用编译流程,可以修改用户设置(
Ctrl+,,搜索latex)。以下是一个关键配置示例,可添加到settings.json中:"latex-workshop.latex.recipes": [ { "name": "xelatex -> bibtex -> xelatex*2", "tools": [ "xelatex", "bibtex", "xelatex", "xelatex" ] } ], "latex-workshop.latex.tools": [ { "name": "xelatex", "command": "xelatex", "args": [ "-synctex=1", "-interaction=nonstopmode", "-file-line-error", "%DOC%" ] }, { "name": "bibtex", "command": "bibtex", "args": [ "%DOCFILE%" ] } ], "latex-workshop.view.pdf.viewer": "tab", "latex-workshop.latex.autoClean.run": "onBuilt", "latex-workshop.latex.autoBuild.run": "onSave"recipes:定义编译流程。上述流程 (xelatex -> bibtex -> xelatex*2) 是处理包含参考文献和交叉引用的标准流程,能确保编号和引用正确。xelatex:使用 XeLaTeX 引擎,它对中文和系统字体的支持最好,是处理中文文档的首选。autoBuild.run:onSave:设置保存时自动编译,可以近乎实时地预览 PDF 效果。
2.3 验证安装
创建一个简单的测试文件test.tex:
% !TEX program = xelatex \documentclass{article} \usepackage{ctex} % 引入中文支持宏包 \begin{document} 你好,LaTeX!这是一个简单的测试。 这是一个数学公式:$E = mc^2$。 \end{document}在 VSCode 中打开此文件并保存。如果环境配置正确,LaTeX Workshop 会自动编译并在右侧打开 PDF 预览窗口,显示包含中文和公式的文档。
3. 实战核心:获取、理解并使用一个数学建模竞赛模板
对于新手,从零开始编写.tex文件是不现实的。最高效的方式是找到一个成熟、可靠的竞赛论文模板,然后在其基础上修改内容。国赛虽然没有官方模板,但网络上流传着许多由往届优秀选手整理的精美模板。
3.1 如何寻找模板
- GitHub/Gitee:搜索关键词如
mathmodeling-latex-template,cumcm-thesis,mcm-icm。选择 Star 数多、最近有更新的仓库。 - CTAN:LaTeX 宏包存档网络,可以搜索特定的文档类或宏包,但模板较少。
- 往届优秀论文开源:有些获奖团队会公开其 LaTeX 源码,这是极佳的学习材料。
假设我们找到了一个名为cumcm_template.zip的模板包。
3.2 解压并理解模板结构
解压后,典型的模板目录结构如下:
cumcm_template/ ├── main.tex % 主文档入口 ├── chapters/ % 章节文件夹 │ ├── abstract.tex % 摘要 │ ├── introduction.tex % 问题重述/引言 │ ├── model_build.tex % 模型建立 │ ├── model_solve.tex % 模型求解 │ ├── results.tex % 结果分析 │ └── conclusion.tex % 结论与展望 ├── figures/ % 存放图片 │ └── model_flowchart.pdf ├── references.bib % BibTeX 参考文献数据库 ├── setup/ % 样式和宏包配置 │ └── packages.tex └── README.md % 说明文件main.tex:这是文档的“总控制器”。它通过\documentclass定义文档类型,通过\input或\include命令组织各个章节文件,并设置全局样式。chapters/:将论文的不同部分拆分成独立文件,便于管理和协作。figures/:集中管理图片文件。推荐使用.pdf,.png,.jpg格式。references.bib:以特定格式存储所有参考文献信息。setup/packages.tex:集中加载所有需要用到的 LaTeX 宏包,使main.tex更简洁。
3.3 从main.tex开始:理解文档框架
打开main.tex,其核心结构如下:
% !TEX program = xelatex % 指定使用 XeLaTeX 引擎编译 \documentclass[12pt, a4paper]{article} % 文档类:文章,12磅字,A4纸 \usepackage{../setup/packages} % 引入宏包配置 \graphicspath{{figures/}} % 设置图片搜索路径 % 文档信息 \title{全国大学生数学建模竞赛论文} \author{队伍编号:\textbf{AB1234} \\ 队员姓名:张三\ 李四\ 王五} \date{\today} \begin{document} \maketitle % 生成标题页 \tableofcontents % 生成目录 \newpage % 导入各个章节 \input{chapters/abstract} \input{chapters/introduction} \input{chapters/model_build} % ... 其他章节 % 参考文献部分 \bibliographystyle{gbt7714-numerical} % 使用国标顺序编码制样式 \bibliography{references} % 从 references.bib 生成参考文献列表 % 附录(可选) \begin{appendix} \input{chapters/appendix} \end{appendix} \end{document}关键点解释:
\documentclass: 定义了文档的基类。竞赛论文常用article,学位论文可能用report或book。\usepackage: 加载宏包。ctex宏包通常已在packages.tex中加载,用于中文支持。\graphicspath: 告诉编译器去figures/文件夹找图片,这样插入图片时只需写文件名。\input: 将外部.tex文件的内容插入当前位置。这是模块化写作的关键。\bibliographystyle和\bibliography: 用于生成参考文献。gbt7714-numerical是一个符合中国国家标准(顺序编码制)的 BibTeX 样式。
4. 填充内容:掌握最常用的 LaTeX 语法
现在,你可以打开chapters/下的各个.tex文件,开始撰写你的论文内容。你需要掌握以下核心语法。
4.1 章节与段落
\section{问题重述与背景} % 一级标题 这是问题重述的段落内容。在 LaTeX 中,空行表示分段。 \subsection{问题一的分析} % 二级标题 \subsubsection{模型假设} % 三级标题(谨慎使用,避免过深)标题会自动编号并加入目录。使用\section*{摘要}可以生成不带编号的章节(如摘要)。
4.2 数学公式
- 行内公式:用
$...$包裹,如能量公式为 $E=mc^2$。 - 行间公式:用
\[...\]或equation环境。根据牛顿第二定律: \[ F = ma \] 或者使用带编号的公式: \begin{equation} \label{eq:newton} % 给公式加标签,用于引用 F = ma \end{equation} 如公式 \eqref{eq:newton} 所示... - 复杂公式与对齐:使用
align环境。
使用\begin{align} \min \quad & f(x) \\ \text{s.t.} \quad & g_i(x) \leq 0, \quad i = 1, \ldots, m \label{eq:constraint1}\\ & h_j(x) = 0, \quad j = 1, \ldots, p \end{align}&来指定对齐点。
4.3 插入图片
将图片(如flowchart.pdf)放入figures/文件夹。
\begin{figure}[htbp] % htbp 是位置参数,让 LaTeX 自动选择最佳位置 \centering % 居中 \includegraphics[width=0.8\textwidth]{flowchart} % 宽度设为文本宽度的0.8倍 \caption{系统流程图} % 图题 \label{fig:flow} % 标签,用于交叉引用 \end{figure}在文中引用时,使用如图 \ref{fig:flow} 所示。LaTeX 会自动替换为“如图 1 所示”。
4.4 插入表格
\begin{table}[htbp] \centering \caption{实验数据对比} % 表题 \label{tab:data} \begin{tabular}{c|ccc} % c:居中,l:左对齐,r:右对齐,|:竖线 \hline 算法 & 精度 (\%) & 召回率 (\%) & F1 分数 \\ \hline SVM & 95.2 & 93.8 & 94.5 \\ RF & 96.1 & 94.5 & 95.3 \\ \hline \end{tabular} \end{table}引用方式与图片相同:表 \ref{tab:data}。
4.5 管理参考文献 (BibTeX)
- 维护
.bib文件:打开references.bib,每条文献的格式如下:@article{zhang2020model, title={A novel model for prediction}, author={Zhang, San and Li, Si}, journal={Journal of Modeling}, volume={10}, number={2}, pages={100--120}, year={2020} } @book{latexcompanion, author = {Frank Mittelbach and others}, title = {The {\LaTeX} Companion}, year = {2004}, publisher = {Addison-Wesley}, }zhang2020model和latexcompanion是引用键(cite key),在文中用来引用。 - 在文中引用:在需要引用的地方使用
\cite{zhang2020model}或\cite{zhang2020model, latexcompanion}。 - 编译流程:如前文 VSCode 配置所示,必须执行包含
bibtex的编译流程(如xelatex -> bibtex -> xelatex -> xelatex),才能正确生成参考文献列表和引用编号。
5. 编译、排错与最佳实践
5.1 标准编译流程与验证
在 VSCode 中,如果配置了自动编译,保存文件后侧边栏的 PDF 会自动更新。也可以手动点击 TeX 图标选择编译方案。
- 编写内容并保存。
- 观察 VSCode 的“输出”面板(View -> Output, 选择 “LaTeX Workshop”),查看是否有错误(Error)或警告(Warning)。
- 检查生成的 PDF:
- 标题、作者信息是否正确。
- 目录是否完整,页码是否正确。
- 所有公式、图表编号是否连续。
- 所有
\ref和\cite引用是否都变成了正确的数字。 - 参考文献列表格式是否符合要求。
5.2 常见问题与排查路径
即使使用模板,新手也常会遇到以下问题。请按此顺序排查:
| 问题现象 | 可能原因 | 检查与解决方式 |
|---|---|---|
| 编译失败,报错 “File ended while scanning use of @writefile” 或类似 | 1..tex文件中存在不匹配的括号{}、$或环境命令(如\begin无\end)。2. 中文引号、破折号等特殊字符未正确处理。 | 1. 仔细检查报错位置附近的代码,确保所有括号和环境成对出现。 2. 在英文输入法下输入代码部分,中文内容不受影响。对于中文破折号,可在宏包中引入 \usepackage{xeCJK}并配置。 |
| PDF 中缺少参考文献列表,引用显示为问号 [?] | 编译流程不完整,未执行bibtex命令。 | 确保在 VSCode 中使用了包含bibtex的 recipe(如本文 2.2 节配置)进行编译。通常需要连续运行 LaTeX -> BibTeX -> LaTeX -> LaTeX。 |
图片无法显示,报错 “Filexxxnot found” | 1. 图片文件路径或名称错误(注意大小写)。 2. 图片格式不支持(推荐 PDF, PNG, JPG)。 3. 未在导言区用 \graphicspath指定路径。 | 1. 确认图片文件在figures/目录下,且文件名(不含后缀)与\includegraphics中的一致。2. 检查 \graphicspath{{figures/}}是否已设置。 |
| 中文显示为乱码或空白 | 1. 未使用 XeLaTeX 或 LuaLaTeX 引擎编译。 2. 未加载 ctex宏包或xeCJK宏包。 | 1. 确认.tex文件首行有% !TEX program = xelatex或编译器选择了 XeLaTeX。2. 确认 \usepackage{ctex}已加载。 |
| 公式编号或引用编号不正确 | 1. 编译次数不够,交叉引用信息未更新。 2. 在 \label之前使用了\ref。 | 1. 再次完整编译(在 VSCode 中可执行 “Clean Auxiliary Files” 后重新编译)。 2. 确保 \label命令放在需要引用的对象(如equation,figure,table)内部。 |
5.3 竞赛写作中的最佳实践
- 尽早并频繁编译:不要写完一大段才编译。每写完一个小节或插入一个图表后就编译一次,及时发现问题。
- 使用版本控制:用 Git 管理你的 LaTeX 源文件。每次大的修改前进行一次提交,便于回溯和团队协作。
- 图片格式优先矢量图:流程图、示意图尽量使用
.pdf或.svg格式,放大不失真。照片、截图可用.png或.jpg。 - 保持
.bib文件整洁:使用 Zotero、JabRef 等文献管理工具导出 BibTeX 条目,避免手动输入错误。 - 备份与云同步:竞赛期间,将整个项目文件夹备份到网盘或 Git 远程仓库,防止电脑故障。
- 善用模板的抽象层:不要直接修改模板的样式定义文件(如
.cls或packages.tex),除非你明确知道在做什么。你的修改应集中在chapters/下的内容文件和references.bib。
掌握以上内容,你已经能够应对数学建模竞赛论文写作中 90% 的 LaTeX 需求。核心策略是:找到一个好模板,理解其框架,然后只关注内容填充和最基本的语法。当遇到更复杂的需求(如自定义封面、复杂表格、算法排版)时,再针对性地搜索相关宏包(如booktabs,algorithm2e,multirow)的使用方法。LaTeX 的学习是一个渐进的过程,先完成一篇完整的论文,比一开始就追求所有细节更重要。