用 Claude Code 做毕业论文格式化
毕业论文的格式要求是我见过的最反人类的文档之一。
华中科技大学的规范大概是这样的:正文小四宋体,标题三号黑体,页码前言用罗马数字、正文用阿拉伯数字,参考文献要按引用顺序编号,引用处要用上标……
每一条单独看都不难,但组合在一起,在一个几万字的 Word 文档里操作,就是噩梦。
我最开始打算手动改,改了两页就放弃了,转而让 Claude Code 来处理这件事。效果出乎意料地好。
总体思路
Claude Code 处理 Word 文档的方式是通过 Python 的 python-docx 库操作 .docx 文件的 XML 结构。我的整个流程分四步,每步解决一个格式问题。
第一步:正文字体统一
任务: 把所有正文段落的字体改为小四(12pt)宋体。
这步看起来简单,难点在于 Word 文档里的字体设置极其混乱——每个段落可能有不同的 Run,每个 Run 的字体设置可能在段落级别、Run 级别、或者主题字体里。直接遍历改会漏掉很多。
Claude Code 写了一个递归遍历所有段落 Run 的脚本,统一设置 font.name(中文用宋体、西文用 Times New Roman)和 font.size(Pt(12))。
运行之后,整篇论文的正文字号终于一致了。
第二步:页码分节设置
任务: 前言部分(目录、摘要)用罗马数字,第一章之后用阿拉伯数字,且阿拉伯数字从 1 开始重新计数。
这是最麻烦的一步。Word 的页码是通过「节」(Section)来控制的,需要在正确的位置插入分节符,并分别设置每节的页码格式。
python-docx 对页码的支持很有限,Claude Code 的方案是直接操作底层 XML,在需要的地方注入 <w:pgNumType> 节点,指定格式和起始页码。
这步调试了两轮——第一次罗马数字部分的页码位置对了,但阿拉伯数字没有从 1 重新开始;第二次修正了起始值参数之后才完全正确。
第三步:参考文献重排序 + 引用编号重新整理
任务: 参考文献必须按正文中出现的先后顺序排列,且文末参考文献列表的编号要和正文引用的标注一致。
这步的逻辑分两部分:
- 扫描正文,找出所有引用标注(格式是
[数字]),记录每个引用第一次出现的顺序 - 重排参考文献列表,按第一次出现的顺序重新排列,并更新正文里的所有引用编号
这个脚本写起来比较复杂,因为有的引用是「[1,2]」「[3-5]」这种合并格式,需要单独处理。
最终效果是正确的,参考文献从原来按添加顺序变成了按引用顺序,所有编号保持一致。
第四步:引用改上标 + 公式符号规范化
任务: 正文引用从 [1] 格式改为上标格式,同时统一规范公式里的变量符号格式。
引用改上标相对简单,找到所有 [数字] 的 Run,把它们的 font.superscript 设为 True,删掉方括号即可。
公式符号规范化是额外的需求——论文里有些公式用的是普通文字,有些用的是 Word 公式编辑器。这步主要是把用普通文字写的变量(如斜体的「x」「y」)替换成统一格式,保证视觉一致性。
最终结果
四步跑完,生成了 格式规范后的论文_V4_引用上标.docx。
人工校对花了大概 45 分钟,主要是检查几个边缘情况(引用在图注里的情况、跨段落的公式)。
如果手动做这些事,我估计需要 5-8 小时,还容易出错。用 Claude Code 的方式,加上调试和校对,总共花了不到 2 小时。
一点反思
这次经历让我确认了一件事:Claude Code 处理「有明确规则的结构化任务」非常擅长。 只要你能清楚地描述规则,它基本上都能找到实现方式。
难点不在 AI,在于你自己要弄清楚规则是什么。论文格式这件事,我自己也是在说清楚规则的过程中,才真正理解了 Word 的页码机制。
如果你也有类似的格式化需求,可以直接让 Claude Code 帮你写 python-docx 脚本,比你自己查文档快得多。