前几年看 Typst 的时候,看到一句话叫“天下苦 LaTeX 久矣”,诚然。我从大一入学就开始尝试学 LaTeX,前后十余次,无一不是从入门到放弃。这东西对我来说即时反馈几乎为零,学不明白,也不想学了。
然后 LLM 爆发了。从最开始用 ChatGPT,需要频繁地手动复制粘贴,踉踉跄跄才能把问题解决,到后来 MCP 的出现搞了个 LaTeX-MCP,再到后来 Claude Code 直接用 Bash 帮我直接编译改错,我就再也没自己写过 LaTeX。折腾了这么多年,最后终于用上了 LaTeX,只不过学会它的是我的 Agent。
站在现在看,论文初稿 Markdown 已经足够了,写完告诉 Agent 要投什么期刊,让它找模板、做排版。但 markdown 够用只是写初稿,到了后面的投稿阶段,章节、公式、图表和参考文献都有具体要求,该用期刊的模版也得用。AI 帮我总结了一句“论文的正文写完了,代表着要开始准备排版和投稿了,这趟旅程才刚刚开始。”
在 Agent 时代,用 LaTeX 或者说学 LaTeX 需要学的或许不再是语法了,我们更值得把有限的时间花在了解它适合做什么、有什么现成的解决方案,以及如何把自己的排版需求讲清楚。至于具体的命令怎么写、编译出错了怎么修,交给 Agent 去吧。
LaTeX 到底是什么
LaTeX 是一个排版工具,从论文、书籍、研究报告到组会用的幻灯片,都可以用它来做。它的工作方式是把正文、公式、图表和参考文献组织在原稿里,配合模板生成 PDF,这个过程就叫编译,而学校和期刊提供的模板,以及围绕公式、文献和图表积累起来的成熟方案,让它在科研写作里算得上一个硬通货。拿到一份 LaTeX 项目,后面可以继续修改正文和排版规则;换个期刊,也可以在保留原稿的基础上适配新模板,不必每次都从一份空白文档开始折腾。
当然,LaTeX 对技术是有要求的,很多在 Word 里点几下就能完成的调整,放到这里可能要写命令、改配置,再编译看看结果,碰到中文字体、参考文献或者模板里的特殊格式,还可能先花一段时间排错。但它的上限也很高,页边距、字体、章节结构、公式编号、图表注释和参考文献样式都可以细调,现成模板不够用,还可以通过宏包,也就是给 LaTeX 增加功能的组件,以及自定义命令继续扩展。这意味着它既能处理几页的文章,也能排几百页的书,还能把复杂的格式要求写成可以反复使用的规则,只是想把这些能力用充分,过去往往需要自己投入不少时间去学。
到了 Agent 时代,这个投入就有了另一种安排:排版要求还是由我们来定,但查命令、改源码、编译和排错这些具体工作,可以让 Agent 去做,而不必为了用上一套成熟的排版工具,先把自己训练成一个熟练的 LaTeX 使用者。对研究者来说,更值得花时间的是判断论文需要什么格式、现成模板能不能满足要求,以及生成的结果是不是自己想要的,LaTeX 的技术门槛仍然存在,只是其中相当一部分操作,现在可以交给 Agent 来完成。
社科论文用 LaTeX,有什么好处
对做实证研究的人来说,论文写作经常和分析交替进行,正文写到结果部分,可能又要回去补一个设定、换一种变量定义,或者根据讨论重新整理样本。比如一篇研究政策效果的论文,主结果、稳健性检验、异质性分析和相应的图,不一定从第一版开始就定下来;每次分析调整之后,文章里的结果也要跟着换。如果这些表都是从软件里复制出来再手动整理,改一次模型就要重新搬一次结果,而用 LaTeX 时,可以让 Stata、R 或 Python 把结果导出到固定的表格和图片文件,论文再引用这些文件,后续沿着同一套程序更新、重新编译,就能少做一轮搬运和排版。
这件事还有一层,是结果该怎么呈现。社科实证论文里的回归表,不只是把几个系数放得好看,还要让读者知道每列是什么设定、控制了什么、用了多少观察,以及括号里的数值和表下注释分别是什么意思。几列模型之间哪些信息应该重复、哪些可以统一放在表注里,正文又该引用哪一列,都和文章的论证有关。LaTeX 可以把这些呈现要求写进表格的生成和排版规则里,后面增加一列、替换一组结果,不必每次重新调整整张表;不过,模型改了之后,表头、注释和正文解释是不是仍然对应,还是要一起核对,编译成功不会替我们完成这一步。
到了修改和投稿阶段,主文与附录之间的取舍也会反复变化:某组异质性结果需要放回正文,一张补充图转到附录,或者审稿意见要求新增一组检验。把结果文件和正文分开组织,调整的就主要是文章在哪里调用哪份结果,以及怎样解释它们,而不是重新复制一遍数字。让 Agent 来协助时,也可以直接限定任务,例如用指定程序更新结果文件、把某张表移到附录,同时保留原有正文供自己修改。对这类论文,LaTeX 比较有用的地方就在于能和已有的分析程序接起来,让分析、呈现和写作之间少一些重复操作,而研究者继续把时间花在结果该不该放、说明了什么、能支持什么判断上。
有哪些成熟的方案
TeX Live / MacTeX + VS Code
这是一套在本地使用 LaTeX 的方案,TeX Live 提供编译需要的程序和常用组件,macOS 上可以选择基于 TeX Live 的 MacTeX,编辑器则用 VS Code,配合 LaTeX Workshop 扩展来编辑和编译。打开论文项目之后,可以一边看 .tex 原稿,一边看生成的 PDF,改完再编译,结果就在旁边更新,正文、图片、表格和参考文献也都在自己的项目目录里,后面换电脑或者交给别人继续改,保留完整项目即可。
这套组合比较适合希望自己管理文件、也愿意在本地编辑器里工作的人,尤其分析本来就在 Stata、R 或 Python 中进行,导出的表格和图片可以直接放进论文项目,不需要每次另外上传。环境和所需组件准备齐全之后,很多编辑和编译工作可以离线完成,不过字体、宏包和模板要求也需要在本机处理。编辑器的选择上,少折腾就好,已经在用 VS Code,就沿用这个工作环境,不必为了写 LaTeX 再研究一圈新的工具。
Overleaf
如果不想在本机准备编译环境,或者合作者本来就在网页里写,可以用 Overleaf。它把编辑、编译和 PDF 预览放在同一个在线项目里,找一份模板就可以开始改,几个人也可以围绕同一份原稿编辑和讨论,不需要每次把文件压缩后发来发去。对于合作写作,这一点比较实际,尤其讨论和修改都发生在同一个项目里时,至少不用先确认大家手里的稿件是不是同一版。
Overleaf 有源码编辑,也有可视化编辑,后者能减少一些直接输入命令的操作,但遇到复杂模板或者特殊排版,还是可能需要处理源码。选择它也意味着要把稿件和配套材料上传到平台,具体能用多少协作、历史记录和编译资源,要看当前套餐;如果材料不适合上传,或者本地工作已经很顺手,就没有必要为了换工具再搬一遍项目。至于合作者主要在 Word 里开修订的情况,也要先商量交付格式,LaTeX 和 Word 之间有转换工具,但复杂公式、表格和引用转换之后仍然需要检查。
Agent Driven
Agent Driven 的核心是把内容生产和排版解耦,写论文的时候,人可以把注意力放在问题、论证和表达上,先用自己顺手的工具把内容写出来,至于怎么变成符合要求的 LaTeX 文档,把这件事 offshoring 给 Agent 就好。前面说 Markdown 写初稿已经够用,也是这个意思:写到一个段落,不需要同时考虑它在模板里怎么放;整理一张结果表,也不用马上停下来研究宽度、字号和换页,先把要表达的内容确定下来,后面再把稿件、目标期刊和排版要求一起交给 Agent。
在这套工作方式里,LaTeX 是承接排版的工具,Agent 则承担把内容整理进模板、调整图表和处理编译问题的工作,研究者不必一直在写内容和改格式之间来回切换。后续正文有修改,就把更新的内容继续交给 Agent;需要换一个投稿模板,也可以围绕同一份内容重新安排排版。人仍然要看最终文档,判断内容有没有被改动、图表和引用是否对应,以及格式是不是符合要求,但精力可以更多地留给论文本身,具体怎样把这些要求写成 LaTeX,交给 Agent 去做。
把内容和要求交给 Agent
把排版交给 Agent,首先要确定这次到底交出去什么。如果已经有一篇基本写完的稿件,就可以把任务限定为按要求排版,正文和研究内容保持原样;如果文章还在写,也可以只处理当前这一章、这张表或者这一组图,不需要每次都从整篇论文开始。这样内容生产和排版虽然分开了,仍然可以交替进行,正文继续写,已经确定的部分先排,后面再根据进展更新。关键是这次使用哪一版稿件、处理到哪里,让双方围绕同一份内容工作。
接着是交代用途,同样一篇文章,准备给合作者讨论、放出工作论文,还是进入正式投稿,对格式的要求并不完全一样。已经确定目标期刊,就把投稿说明、模板和其他明确要求一起给 Agent;暂时还没有定,也可以先约定一份适合阅读和修改的版式,等内容稳定后再适配。需要交付什么也可以在这里说清楚,例如这次先看 PDF 效果,后面还要把可编辑原稿交给合作者,或者投稿系统需要另外准备匿名稿和标题页,这些都会影响排版时怎样组织材料。
有现成模板时,可以直接要求 Agent 在模板里安排内容,保留它原有的版式规则,而不是照着某张截图从头模仿。模板从哪里来、是不是目标期刊目前提供的版本,也值得一开始确认;如果还没找到,就让 Agent 先找并说明依据,找不到也可以先按明确的格式要求处理,不必凭空做出一份所谓“期刊官方模板”。有些要求只在投稿说明里,例如摘要长度、是否匿名、图表放置方式,不能因为模板能编译,就默认其他要求也已经满足。
交稿件的时候,正文和配套材料最好一次说明对应关系,特别是同一个项目里已经有几版结果的情况。哪张图用于哪一部分、哪份表格是这次要用的、标题和注释是否已经确定,这些信息比教 Agent 怎么写插图命令更有用。比如已经导出一张新的回归表,就可以要求它替换原来的表,沿用已有版式,并保留新表的数值、列名和注释;这是一次排版更新,不代表还要重新估计模型。如果某份材料缺失,就先把缺口指出来,等补齐后再放进去,别让排版任务顺手变成补写研究结果。
参考文献也需要把“是哪篇文章”和“显示成什么格式”分开交代。如果已经有文献库或者整理好的参考文献表,就让 Agent 沿用这些记录,把正文引用和条目对应起来,再按需要的样式排;如果初稿里只是作者年份,最好同时提供对应文章的题名或其他能确定身份的信息,尤其同一作者同一年有多篇文章时,单靠一个括号并不足够。拿不准的引用可以先列出来确认,不必为了让文献表看上去完整,就把缺失的作者、年份或 DOI 猜出来,格式问题和来源问题在这里各自处理。
版式要求可以进一步区分哪些已经定了、哪些允许 Agent 调整,例如学校指定的字体、页边距和行距属于固定要求,而某张表的列宽、图形尺寸和分页位置,则可以在不改变内容的前提下调整。遇到宽表、长表或者主文与附录之间的安排,直接告诉它希望读者怎样阅读,比只说“排得好看一点”更容易落实:一张表需要在同一页比较各列,或者长表跨页后仍然要看得到表头,都是具体的需求。至于哪些结果留在正文、哪些转到附录,涉及文章结构时可以先由研究者决定,再让 Agent 实现。
第一版出来以后,就打开文档按实际效果提修改,不必一次把所有潜在问题都想完。反馈能定位到某一页、某张表或者某个标题,并说明哪里不好读、希望怎样变,就足够继续做下一轮,例如“结果部分第二张表的注释太挤,保留字号,看看能不能调整列宽和留白”。一次改一类问题也比较容易看出变化,尤其正文仍在更新的时候,可以明确这轮只替换内容、沿用版式,或者只改格式、保留当前文字,避免每次交回来的稿件连已经确认过的部分也变了。
最后交付的也可以是一套后面能继续用的材料:这次生成的 PDF、对应的完整可编辑原稿,以及还有哪些地方没有处理完。打开 PDF 看的是当前效果,保留原稿则是为了下一次修改、和合作者交换,或者换一个投稿目标时继续使用,不能只留下一个看起来已经完成的文档,却找不到它对应的内容。研究者最终关注的仍然是文章有没有遗漏、图表和引用是否对应、格式是否符合要求;具体怎样组织 LaTeX、用了哪些命令,可以留给 Agent,交接围绕内容、要求和成果来完成。
Marx Max 能帮你完成什么
Marx Max 可以把已有的论文材料接到 Agent 的排版工作中,让研究者通过自然语言提出要求,由 Agent 协助整理 LaTeX 原稿,并在可用的编译环境中生成 PDF。手里已经有 Markdown 初稿、分析导出的图表和参考文献,就可以从这些材料开始,说明要用什么模板、这次处理哪些部分,最后得到一份可以打开阅读、也能继续修改的文稿。对于不想自己写 LaTeX 的人,这意味着可以用上它的排版能力,同时保留自己熟悉的内容写作方式。
如果已经有学校或期刊模板,也可以让 Agent 直接围绕这份模板处理内容,例如把正文放进对应章节、安排公式和图表、整理已有文献的引用格式,再生成文档查看效果。需要调整时,继续说明哪张表太宽、哪个标题层级不合适,或者哪些部分需要按模板重新安排,Agent 可以修改相应原稿并再次编译。用户提出的是论文需要呈现成什么样,具体怎样把要求写进 LaTeX,由 Agent 来处理,模板之外的投稿要求仍然可以作为本次任务的材料一并提供。
环境方面,Marx Max 的 LaTeX 相关能力可以帮助检查电脑上已有的编译工具,并用小文档验证基本编译是否可用,减少研究者自己判断“到底装没装好”的摸索。已有环境就优先使用,缺少什么则根据检查结果继续处理;对于已经能编译、但某份论文报错的情况,也可以让 Agent 读取日志,区分是缺文件、字体不匹配还是原稿中的问题,再针对具体原因修改。这样遇到报错时,可以围绕这份论文继续解决,而不必先把自己变成环境配置和编译工具的熟练使用者。
对已经在 Marx Max 中做分析的研究者,另一个实际用途是把结果接进文章。正文、分析程序和图表可以放在同一个研究项目中,排版时让 Agent 使用指定的结果文件,按照论文现有的标题、注释和版式安排进正文。比如已经完成了一组补充分析,可以要求它把新表放到附录,保留数值和注释,并更新正文中对应的引用;需要继续分析时,再明确提出分析任务。已有结果进入文稿的这一步可以和研究工作衔接,少一些在聊天、结果文件和论文之间反复复制的操作。
后续修改也可以继续围绕同一份文稿进行,正文更新了就交代使用新的内容,结果表替换了就指定新的文件,投稿目标变化了就提供新的模板和要求。每一轮都可以把任务限定在当前要处理的部分,例如只替换结果、不改正文,或者只调整版式、保留已经确认的内容,让 Agent 生成新的 PDF 再看效果。对于经常需要补分析、改稿和回应讨论意见的论文,这种持续修改的方式能把排版接在研究进展后面,不必每次重新解释整篇文章是怎么组成的。
用户最终要拿到的,是能阅读的成果和后面还能继续工作的材料,因此可以要求 Agent 一起保留生成的 PDF、对应的 LaTeX 原稿及配套图表和文献,并说明还有哪些要求没有处理好。PDF 可以用于讨论和核对,完整原稿则可以继续交给合作者,或者放进其他 LaTeX 工具中编辑,论文后续怎么修改、在哪里继续写,仍然有选择。排版过程中有什么变化,也可以直接对着这些真实文件查看,而不只是留在聊天里的一段说明。
放在整项研究里,Marx Max 提供的是把材料、分析、写作和排版衔接起来的工作方式,研究者可以在项目中继续讨论内容、处理已有结果,再把文档制作的具体操作交给 Agent。论文的问题有没有价值、论证站不站得住、结果能说明什么,仍然值得投入时间;至于怎样把确定下来的内容整理进模板、生成文档并按反馈修改,就让 Agent 多做一些。前面所说的内容生产与排版解耦,在这里可以落实到一份能够找到、核对和继续编辑的论文上。