十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

美赛论文排版不翻车:LaTeX模板解压、配置到编译全流程指南

美赛论文排版不翻车:LaTeX模板解压、配置到编译全流程指南 简介面向美赛数学建模参赛者的LaTeX论文排版模板基于mcmthesis标准编写附带详尽中文注释可直接套用于2020年及之后的美赛论文写作解决从零排版的痛点。压缩包共22个文件核心由mcmthesis.cls样式类、Main.tex主文档、myreference.bib参考文献库构成同时包含eps矢量图、PDF安装说明、CPP算法示例、M语言辅助函数及必要的缓存日志文件整体体积仅3.04MB部署轻量且结构清晰。已有2401人学习下载模板注释对章节结构、图表插入、公式排版、参考文献引用等均有逐步解说并附有LaTeX安装及快速入门PDF适合刚接触LaTeX或希望快速上手美赛排版的学生直接使用。通过此模板使用者可专注于建模内容本身无需耗费大量时间调整格式同时能学习美赛论文的规范写作框架与文件组织方式尤其适合需要快速产出高质量论文的队伍有助于提升备赛效率。 第一次参加美赛的时候我差点在排版上翻车。队友辛辛苦苦写出来的模型推导放进 Word 里公式直接乱飞图片编号对不齐摘要页的页眉更是折腾了半小时都没搞定。后来我从学长那里拷贝了一份 2020 美赛 LaTeX 模板解压 zip、改掉队伍号、换好选题字母一顿操作下来只花了不到二十分钟整篇论文的排版就已经比 Word 折腾一天的成果干净得多。这篇博文我就围绕这份模板把从解压到顺利出 PDF 的完整流程、核心文件的配置方法以及新手最容易踩的编译坑一份一份讲清楚。如果你已经报名了美赛、正在找论文排版方案或者第一次接触 LaTeX 想拿现成模板快速上手这篇文章基本可以当作你的“赛前排版逃生手册”来用。我会从文件结构讲到环境配置再讲模板里每个关键字段怎么改最后把编译报错和版本调整的常见问题梳理一遍争取让你拿到 zip 之后两小时内跑出一份像样的 PDF。1. 压缩包解压后先弄清楚每个文件是干什么的很多同学解压 zip 之后看到一堆 .tex、.cls、.bst、.pdf 文件直接懵了。其实这份模板的文件结构非常清晰核心就三样东西文档类文件、主文件、参考文献样式文件。剩下的要么是自动生成的编译产物要么是官方规则说明。1.1 核心三件套cls、tex、bst 的分工拿到的压缩包里最重要的文件是带mcmthesis前缀的那几个。mcmthesis.cls是模板的“骨架”它决定了整篇论文的页面尺寸、页眉页脚、标题样式、摘要页布局这些底层排版规则全在这一个文件里。一般情况下你不需要去改它改了反而容易把摘要页布局弄坏。mcmthesis-demo.tex才是你真正要打开、要编辑的文件。它相当于一位“示例作者”已经写好的论文草稿里面包含摘要、正文、公式、表格、图片、参考文献的完整写法。你可以把它想象成装修公司给的样板间结构都搭好了你只需要把每个房间的家具换成自己的内容。还有一个后缀名为.bst的文件比如plain.bst或者模板自带的参考文献样式它控制参考文献条目的排列格式。美赛对参考文献的规范程度比较敏感所以这一步不要偷懒用模板自带的样式就好别手动去折腾格式。1.2 目录结构清单哪些要动哪些碰都别碰我习惯在解压后先把文件按“可编辑”和“不可编辑”分成两类这样队友协作的时候也不会误操作。文件/目录作用操作建议mcmthesis.cls文档类定义整篇论文的排版框架不要动除非你想重写样式mcmthesis-demo.tex主文件写摘要和正文都在这里核心编辑对象*.bst/*.bib参考文献格式与文献库按需修改 bib 内容不要改 bstfigures/或图片文件存放论文配图把自己的图放进来保持路径正确*.pdf官方说明或编译预览参考用不参与编译你还会看到一些奇怪的中间文件比如.aux、.log、.toc、.out这些是 LaTeX 编译过程中自动生成的临时文件。每次编译后它们会自动更新不用手动管理也不要在最后提交时把它们打包进去。有的同学图省事直接把整个文件夹拖进压缩包发给队友结果几百个中间文件混在一起最后在 Overleaf 上编译还容易出缓存问题。正确做法是只保留源文件和图片中间文件在比赛结束后全部清掉。还有一点要注意打开.tex文件时编辑器必须用 UTF-8 编码。早期 Windows 记事本默认的 ANSI 编码容易让文件里出现乱码尤其是摘要里如果夹了特殊符号编译阶段会突然报错。我建议直接用 VS Code 或者 TeXstudio 打开不推荐用系统自带的记事本编辑。2. 环境配置先让模板能编译出一份 PDF 再说模板拿到手第一件事不是改内容而是先原封不动编译一遍确认能出一份完整 PDF。很多人上来就改题目、改摘要结果一编译满屏红色报错根本分不清是模板问题还是自己改坏的问题。所以正确顺序是装好环境跑通原版再动内容。2.1 TeX Live 安装推荐完整版还是精简版LaTeX 本身是一套排版系统它不只是一个软件而是一整套宏包生态。美赛模板用到了很多宏包比如amsmath、graphicx、booktabs、geometry缺一个编译就会卡住。市面上最常见的发行版是 TeX Live 和 MiKTeX。如果你在 Windows 上参赛我推荐直接装 TeX Live 完整版。完整版体积确实大下载 ISO 镜像文件大概要四五个 GB安装完占硬盘七八 GB但它把常用宏包全部集成进去了比赛期间几乎不会出现“缺少某个宏包然后满世界找”的尴尬。尤其是赛前最后一天队友都在改论文你不可能还有心思去单独补宏包。下载时建议用国内镜像不要直接从 CTAN 官网拉速度差距非常大。比较稳的路径是清华 TUNA 镜像站打开texlive/Images目录下载最新的texlive.iso挂载后运行安装脚本。安装时间可能在半小时到一小时之间取决于硬盘速度建议提前一个晚上搞定。如果你的硬盘空间实在紧张或者只打算在 Overleaf 上在线写那就直接登录 Overleaf 新建项目上传模板 zip选XeLaTeX编译器在线直接编译。Overleaf 的好处是自动管理宏包队友还能实时共同编辑坏处是比赛高峰期偶尔服务器排队而且免费版的编译时长限制在比赛场景下有点紧张。所以我的建议是主用本地 TeX Live备用 Overleaf。2.2 编辑器怎么选VS Code 与 TeXstudio 的取舍环境配好之后还要选编辑器。市面上的方案主要有两个TeXstudio 和 VS Code LaTeX Workshop 插件。TeXstudio 是专门为 LaTeX 设计的编辑器左边源码、右边预览内置公式快捷面板和表格向导对新手非常友好。它对模板里的目录结构、章节跳转支持也都很直观。缺点就是界面有点老气但比赛期间你根本没时间在意这个。VS Code 需要你手动装 LaTeX Workshop 扩展第一次配置还算顺手功能也很强大能实现正反向同步按住 Ctrl 点击预览窗口直接跳回源码对应位置。对于那种动辄二三十页、图表特别多的美赛论文来说这个功能在后期修改阶段非常好用。如果你用 VS Code.vscode/settings.json里至少要有一段编译配置把编译器指定为 XeLaTeX{ latex-workshop.latex.tools: [ { name: xelatex, command: xelatex, args: [ -synctex1, -interactionnonstopmode, -file-line-error, %DOC% ] } ], latex-workshop.latex.recipes: [ { name: xelatex, tools: [xelatex] } ], latex-workshop.view.pdf.viewer: tab }2.3 用 XeLaTeX 编译模板默认路径已经帮你铺好2020 美赛模板正常应该用XeLaTeX编译而不是默认的PDFLaTeX因为 XeLaTeX 对 Unicode 字符和中文支持的宽容度更高也能更好地调用系统字体。虽然美赛论文要求英文写作但团队名、作者名、备注信息里偶尔会出现特殊字符XeLaTeX 的容错能力会好很多。如果你用的是 TeXstudio只需要在“选项 - 设置 - 构建”里把默认编译器改成XeLaTeX然后点绿色播放按钮就行。第一次编译可能比第二次慢因为要生成辅助文件、目录和交叉引用之后每次编译大约就三五秒。有一点必须提醒不要以为编译一次就完事。带目录、带交叉引用、带参考文献的文档至少需要连续编译两遍甚至三遍。第一遍生成.aux文件记录章节编号和引用位置第二遍才把这些信息写进 PDF。如果你改了参考文献中间可能还要加跑一遍 BibTeX。TeXstudio 里默认的“构建并查看”其实已经内置了这个多次编译流程VS Code 的 recipe 配置里也建议把 xelatex 执行三遍。嫌麻烦的话直接在配置里加一个 triple xelatex 的 recipe。3. 模板核心玩法从摘要到正文的规范化写作环境跑通之后真正的大头就是往主文件里填内容。模板里已经给出了示例文本但很多人不知道哪些命令能改、哪些位置不能动。我按摘要页、正文、参考文献、页数控制四个方面拆开讲。3.1 摘要页Team Control Number 与一页限制美赛对于第一页的要求特别严格。这一页只允许出现队伍控制号和选题不允许出现任何作者姓名、学校名称否则会按违规处理。2020 模板在mcmthesis-demo.tex开头直接提供了设置入口\mcmsetup{ tcn 1234567, problem A, sheet true, titleinsheet false, keywordsinsheet true, titlepage false }这里tcn改成你们队伍的 Team Control Numberproblem改成你们选的题目字母A、B、C、D、E、F 对应哪个小题就填哪个。sheet true表示启用独立的 Summary Sheet 页这个千万不能关它是硬性要求。摘要内容写在abstract环境里。很多队伍到交卷前最后一晚还在压缩摘要这是最失分的行为。摘要不是“内容简介”而是一份“充满结论的总结”。评审很大概率先看摘要再决定要不要细看正文所以摘要里必须出现你们做了什么模型、用什么方法解决的、得到的关键结果是什么、方案在什么条件下有效。每一句话都应该有实际信息量不要写“本文提出了一种模型”这种废话。页数方面美赛规则明确要求摘要页只能有一页。模板里已经帮你把摘要页排版成单页但你写的内容一旦超过一页整个摘要页布局就会溢出这属于低级错误。我推荐写完摘要后单独编译一遍确认摘要正文结尾能落在第一页底部区域如果超了就删掉次要文字先保核心结论。3.2 正文写作章节、公式、表格、图片的标配写法正文部分模板已经建好了基本的section结构比如 Introduction、Assumptions、Model、Verification、Conclusion 这些。你可以按自己的框架调整但要注意章节编号是模板自动生成的不要在标题里手动写数字。公式是美赛论文里最容易出问题的排版点。Word 用户经常被抓出公式字体不对齐、行距被撑大的问题LaTeX 在这方面天然有优势。行内公式用一对美元符号包起来比如$J \sum_{i1}^{n} w_i x_i$独立公式放进equation环境模板自动给公式编号。表格建议多用booktabs宏包的三线表格式这也是模板自带支持的\begin{table}[htbp] \centering \caption{模型参数对比} \begin{tabular}{lcc} \toprule 参数 模型A 模型B \\ \midrule 准确率 0.87 0.92 \\ 运行时间 12s 45s \\ \bottomrule \end{tabular} \end{table}图片直接扔进figures文件夹然后在源码里引用。特别提醒一下图片路径不要出现中文名也不要出现空格否则大概率编译报错。插入代码写成\begin{figure}[htbp] \centering \includegraphics[width0.8\textwidth]{figures/model-architecture.png} \caption{模型整体结构} \label{fig:architecture} \end{figure}3.3 参考文献与附录不要在这里丢分参考文献部分模板提供了两种方式。简单粗暴的方式是直接用thebibliography环境手动写条目适合条目不多的情况。规范一点的方式是用 BibTeX把文献信息放在.bib文件里然后正文里用\cite{key}引用。美赛评审对参考文献格式要求没有期刊那么严苛但原则必须是“规范统一、真实可查”。有的队伍为了凑数量编造一些不存在的文献或者贴一堆没在正文里引用的文献这种行为一旦被发现会非常麻烦。引用时注意用~\cite{}而不是裸写\cite{}LaTeX 里波浪号表示不换行空格能避免行尾断开时引用符号和编号被拆到两行。附录不是越多越好。你以为把代码全塞进去显得工作量足实际上评审看到大段啰嗦代码只会觉得你没做过筛选。附录放核心算法的伪代码、补充的实验数据表就够了完整代码放到 GitHub 链接里。3.4 页数规则25 页的账要算清楚美赛对页数的限制每年都会在官网明示拿 2020 年前后的规则来说整体要求一般是 PDF 总页数不能超过 25 页其中第一页固定是 Summary Sheet剩余篇幅给正文、参考文献和附录。不同年份的具体细则可能有微调报名后一定要去官网读最新规则。怎么算页数不是看你 Word 里排了几页而是以生成的 PDF 为准。很多人提交前才发现超页然后就慌了。我的建议是写正文时打开模板自带的分页结构随时编译检查摘要页一到两页第一页固定摘要第二页开始正文正文一般建议控制在 18 到 20 页参考文献 1 到 2 页附录看情况控制在 2 到 4 页。总计不超过 25 页留出 1 页左右的余量最稳妥。4. 编译报错与排查实录新手最容易卡住的几个坑LaTeX 的报错信息一开始看很吓人满屏红色、英文、一堆看不懂的符号。其实大部分报错就那几种类型你只要学会看第一个错误提示绝大多数问题都能快速定位。4.1 缺宏包、乱码、引用不更新三个高频问题第一个高频问题是宏包缺失。如果你用的是精简版 TeX Live或者 MiKTeX 没开启自动安装编译时会报类似File somepackage.sty not found。这时先看报错信息里缺的是哪个.sty文件然后找到宏包对应名称用包管理器安装。TeX Live 里可以执行tlmgr install 包名MiKTeX 一般在启动时弹窗提示自动安装。装完之后重启编辑器再编译一遍基本就好了。第二个高频问题是中文乱码。明明模板是英文的但你把作者信息或者备注写成了中文然后编辑器默认用读 UTF-8 没问题可 XeLaTeX 配上某些中文字体时字体没有正确加载PDF 里就会出现方块字或者问号。美赛论文严格要求英文写作所以我建议所有正文内容都写成英文包括作者信息页也尽量用拼音。第三个高频问题是目录和引用编号对不上。你看到 PDF 里目录还是旧的章节名交叉引用的编号也乱掉这往往是因为只编译了一遍。解决方法很简单多编译几次。在 TeXstudio 里点“构建并查看”它会自动跑完整流程在 VS Code 里如果你配置的 recipe 只有单个 xelatex就把上面那段配置改成连续执行三次就能解决引用编号滞后的问题。4.2 一次真实排错流程从报错信息到修复这里分享一次我实际排错的完整思路。有一次队友在模板里加了一张 PNG 图片编译后 PDF 预览里图片位置直接不见了日志报错! LaTeX Error: Cannot determine size of graphic。很多人看到这个错误就慌了其实原因非常常见XeLaTeX 在编译时读取图片的尺寸元数据PNG 文件如果没有正确的物理尺寸信息LaTeX 就不知道这张图该占多大版面。我的排查步骤是第一打开图片看格式是否真实是 PNG有的同学把其他格式的文件直接改了后缀名这个坑特别常踩。第二用画图软件重新另存一张标准 PNG。第三如果图片实在不正常就换成模板支持的 PDF 或 EPS 矢量图用\includegraphics[width0.8\textwidth]{figures/xxx.pdf}。一通调整之后重新编译问题就没了。类似的还有表格列数不匹配的报错。比如你定义了{lccc}四列但每一行里只写了三个数据LaTeX 就会报 “Extra alignment tab” 或者 “Missing number”。这种错误用最常见的排查思路数一遍表头列数再数一遍每行列数保证完全对齐。4.3 压缩包层面下载损坏导致的 EOCD 错误还有一类问题发生在解压阶段严格说不是模板的问题但每年都有很多人白着急。如果你在解压时看到报错信息里有invalid zip archive: could not find EOCD说明你下载的 zip 文件本身不完整或者文件在后缀名上被改动了。这种情况不要反复尝试用不同解压软件去解先检查压缩包的实际大小回到下载源头重新下载一次大多数问题就解决了。另外有的同学把压缩包里所有文件都解压到桌面但文件名带空格或者特殊字符比如2020 美赛LaTeX模板(最终版).zip。中文文件名在某些编辑器里会影响编译路径我建议所有文件放在一个纯英文路径的目录下例如D:/mcm-template/目录一级一级都别带中文。5. 让模板更顺手进阶调整与实战协作建议模板跑通、内容写好这只是第一步。真正让你在比赛里不慌的是那些不起眼但很实用的调整技巧以及多人协作时的操作纪律。5.1 换年份、改页眉、自定义颜色2020 美赛模板里的年份字样大概率是当年的 MCM/ICM 2020。等到你要参加下一届、甚至拿这个模板继续复用的时候必须先把年份改对。年份一般存在于两个地方摘要页的页眉文字和文档类的默认标题。你可以在编辑器里全局搜索2020把所有和比赛年份相关的字样替换成当前年份。注意不要替换参考文献里的数字年份区分方式很简单参考文献里的年份一般是四位数字但标题附近的年份通常写在\mcmyear或者页眉命令旁边。如果你不确定可以先全局搜索一次逐个判断。页眉上还会显示队伍号和选题字母这些由\mcmsetup里的tcn和problem决定。每次提交前我都建议单独编译一个最终版检查第一页页码是否正确、有没有意外出现的个人信息。有一个很容易被忽略的点模板在每页页眉会自动带上队伍号这是官方要求的身份标识不需要你手动添加但你要确认它没有显示成模板默认的1234567示例值。颜色方面美赛没有要求必须是黑白色但多数获奖论文都会克制地使用一种强调色。模板里如果定义了主题色变量可以搜color或\definecolor然后改成你想强调的蓝色或者深青色。标题、表格线、图表注释用同一套颜色整体观感会好很多。不建议全篇五颜六色评审是第一眼看整体调性的。5.2 多文件写作与版本管理别让队友互相覆盖比赛最后一天三个人同时打开同一个.tex文件是很致命的操作。一个人插入一张图另一个人改了一行公式保存后必然互相覆盖最后版本混乱到想哭。有两种解决方案。第一种是简单粗暴的“分工分文件”把正文拆成多个子文件比如introduction.tex、model.tex、experiment.tex主文件里用\input{introduction.tex}按顺序引入。每个人只负责自己那个文件互不干扰。合并的时候只要主文件没有冲突编译就顺利通过。缺点是如果两个人同时改了主文件的摘要部分依然会冲突所以摘要固定由一个人负责到底。第二种是在 Overleaf 上使用在线协作实时看到队友光标、同时编辑同一个文档不容易出现覆盖问题。不过在线协作受网络和服务器状态影响比较大我见过比赛高峰期 Overleaf 被大量用户挤爆编译排队排了十分钟。稳妥的做法是本地用 TeX Live 装一份完整环境Overleaf 只作为备用协作平台两个环境保持同步更新。版本管理是另一个容易忽略的点。强烈建议每天凌晨把整个模板目录打一个 zip 备份按照日期命名比如mcm-day1-final.zip、mcm-day2-final.zip。真到了第三天发现模型章节被删掉了重要推导你还能从第二天的备份里找回来。比赛最怕的不是模型不对而是辛辛苦苦写的内容莫名其妙丢了。我个人在多次比赛后的体会是LaTeX 模板不需要你会多少高深命令真正决定成败的全是细节。摘要页是否超出一页、队伍号是否改对、图片路径是否带中文、提交前有没有重新编译三遍这些看起来很小的事情每一件都能让你在最后一晚焦头烂额。而只要你把模板的编译流程跑顺把每个字段的含义弄清楚它就能帮你省下大把排版时间让你把精力放在建模本身。最后再分享一个小技巧提交前最后一小时别再做任何内容上的大改动。只做两件事用干净的临时目录重新解压一次原始模板、把最新版.tex文件和图片替换进去然后完整编译三遍确认生成的 PDF 页数符合规则。这个流程走完你就已经比相当一部分队伍专业了。本文还有配套的精品资源点击获取
返回列表