毕业论文格式规范检测与修复
Overview
本 Skill 提供一套完整的毕业论文格式检测工作流,支持任意学校的撰写规范文档输入,自动化完成:规范解析 → 格式检测 → 问题诊断 → 自动修复 → 对比报告生成。
前置要求
- - Python 3.7+
- 依赖库:
python-docx(必需),pywin32(仅 Windows 读取 .doc 格式时需要), INLINECODE2 - 安装命令: INLINECODE3
核心工作流
Phase 1: 输入收集
收集以下信息:
- 1. 规范文档(可选):学校的毕业论文撰写规范文件(支持 .doc / .docx / .txt / .pdf 格式)
- 论文文档:待检查的毕业论文 .docx 文件
- 输出目录:检查报告和修复文件的存放路径(默认与论文文件同目录)
规范来源优先级:
- 1. ✅ 用户提供了规范文档 → 解析该文档,按院校规范执行检查和修复
- ✅ 用户未提供规范文档 → 使用本 Skill 内置的通用默认规范(见下方"通用格式检查清单"章节),基于 GB/T 7713.1-2006 等国标和多校通用惯例
注意:建议告知用户"当前使用通用默认规范,如需按特定院校规范检查,请提供学校官方的论文撰写规范文件"。
Phase 2: 规范文档解析
根据规范文档格式选择解析方式:
- 1. .txt 文件:直接读取
- .docx 文件:使用 python-docx 提取文本
- .doc 文件(Windows):使用 pywin32 COM 接口转换
- .pdf 文件:使用可用的 PDF 提取工具
解析规范文档后,提取以下关键格式要求(参考 references/format_rules_template.md):
- - 页面设置:页边距(上/下/左/右)、装订线、页眉距、页脚距
- 字体字号:各部分(封面/摘要/正文/标题/参考文献/致谢等)的中英文字体、字号、加粗/斜体
- 段落格式:对齐方式、首行缩进、悬挂缩进、行距、段前段后间距
- 页眉页脚:内容、字体、对齐、页码格式
- 标题格式:各级标题的字体字号、编号格式、段前段后
- 表格格式:三线表规则、边框粗细
- 图片格式:图题位置、字体字号
- 参考文献:著录格式(GB/T 7714)、缩进方式、文献标识
- 特殊部分:摘要、目录、致谢、附录的特殊格式要求
Phase 3: 论文格式全面检测
运行格式检测脚本 scripts/check_format.py 对论文文档进行全面扫描。检测脚本会输出以下信息:
- 1. 页面设置信息(每个节的页边距、页眉页脚距、纸张方向)
- 文档样式定义(Normal、Heading 1-4、TOC 等关键样式)
- 段落详细格式(每个段落的样式、对齐、间距、缩进、字体信息)
- 表格格式信息(边框样式、粗细、对齐)
- 图片信息(尺寸、位置、上下文)
- 编号/列表定义
- 文档默认字体设置
执行方式:
CODEBLOCK0
Phase 4: 问题诊断与分析
将检测报告与规范要求逐项比对,生成问题清单。每个问题包含:
检查的格式属性 |
| 规范要求 | 对应的规范条款内容 |
| 当前值 | 论文中的实际值 |
| 严重程度 | 高/中/低 |
| 修复建议 | 具体的修复方案 |
严重程度分级标准:
- - 高:页边距错误、标题字体字号错误、行距错误等影响整体排版的问题
- 中:缩进方式不当(固定厘米值 vs 字符单位)、段前段后间距缺失
- 低:需人工确认的内容性问题(参考文献格式、页眉横线等)
Phase 5: 自动修复
使用 scripts/fix_format.py 脚本模板自动修复可自动化的格式问题。
修复能力范围:
- - ✅ 页面边距(上/下/左/右/页眉距/页脚距/装订线)
- ✅ 段落首行缩进(固定厘米值 → 字符单位)
- ✅ 段落悬挂缩进
- ✅ 段前段后间距
- ✅ 对齐方式(左/中/右/两端对齐)
- ✅ 字体设置(中文字体 + 西文字体 + 字号)
- ✅ 页眉内容和格式
- ✅ 表格三线表边框
- ✅ 标题字间距(如"参 考 文 献")
无法自动修复(需提示用户手动处理):
- - ❌ 页眉横线(python-docx 限制)
- ❌ 参考文献编号内容(如添加 [1] [2])
- ❌ 目录更新(需在 Word 中操作)
- ❌ 图片/公式的精确位置调整
- ❌ 脚注格式
Phase 6: 对比报告生成
使用 scripts/generate_report.py(v5.0)生成修改前后对比报告(.docx 格式,A4 横向),包含:
- 1. 报告标题:论文名称、修改日期、修改项数
- 对比表格(6列):序号 | 位置/定位 | 检查项 | 规范文档要求 | 修改前(原文件) | 修改后(已修复)
- 智能位置定位:
- 单个段落显示为"第N段"
- 多处同类修改合并显示范围"第88~394段(共166处)"
- 附带章节名称(如【研究背景和意义、国内外研究现状等】)
- 附带原文内容预览,便于快速定位修改位置
- 4. 颜色区分:修改前红色文字、修改后绿色文字+绿色底纹
- 分类展示:按检查类别(页面设置/摘要/页眉/正文/参考文献等)分组,交替行背景色
- 修改统计:按分类显示已修复/总数,✅已完成 / ⚠️待确认
- 人工确认事项:列出无法自动修复的问题
- 修改依据:标注规范文档来源
两种调用接口:
- -
create_report_from_records(output, title, subtitle, date, records) — ★推荐:从 fix_format.repair_records 自动生成,智能合并同类修改 - INLINECODE10 — 兼容v2.0:手动传入 categories
通用格式检查清单(默认规范)
以下为中国高校毕业论文常见的格式检查项,基于 GB/T 7713.1-2006 等国标和多校规范汇总。
当用户未提供规范文档时,按以下默认值执行检查和修复:
1. 页面设置(默认值)
- - 纸张大小:A4 (210mm × 297mm)
- 页边距:上 2.8cm / 下 2.2cm / 左 3.0cm / 右 2.0cm
- 装订线:0mm(左侧)
- 页眉距:1.8cm
- 页脚距:1.4cm
2. 封面格式(默认值)
- - 题目字体字号:三号黑体加粗,居中
- 学生信息字体字号:小四号宋体
- 对齐方式:居中
- 日期格式:中文格式
3. 摘要格式(默认值)
- - "摘要"标题:三号黑体加粗,居中,字间 2 个汉字字距,段前段后各 1 行
- 摘要正文:小四号宋体/Times New Roman,首行缩进 2 字符,1.5 倍行距
- 关键词:"关键词"三字加粗,分号分隔,末尾无标点
- 英文摘要(Abstract)与中文摘要对应格式
4. 目录格式(默认值)
- - "目录"标题:三号黑体加粗,居中,字间 2 个汉字字距
- 各级目录条目:小四号宋体
- 目录显示级数:3 级
5. 正文格式(默认值)
- - 中文字体:小四号宋体
- 英文/数字字体:小四号 Times New Roman
- 行距:1.5 倍
- 首行缩进:2 字符
- 各级标题格式:一级 三号黑体 / 二级 小三号黑体 / 三级 四号黑体 / 四级 小四号黑体
6. 图表格式(默认值)
- - 表格:一律三线表(上下粗线 1.5 磅,中间细线 1 磅)
- 图题:在图下方,五号宋体,居中
- 表题:在表上方,五号宋体,居中
- 续表标注
7. 参考文献(默认值)
- - "参考文献"标题:三号黑体加粗,居中,字间加空格
- 著录格式:GB/T 7714-2015
- 文献类型标识:[M] [J] [D] [C] [P] [R] [S] [N] [EB/OL] 等
- 缩进方式:悬挂缩进 2 字符
- 字体:小四号宋体 / Times New Roman
8. 页眉页脚(默认值)
- - 页眉内容:奇数页为论文题目,偶数页为学校名+论文类型(如有要求)
- 页眉字体字号:五号宋体 / Times New Roman,居中
- 页码格式:阿拉伯数字,底部居中
- 页眉横线:细线(0.5 磅)
9. 致谢/附录(默认值)
- - 标题:三号黑体加粗,居中,字间加空格
- 内容字体字号:小四号宋体 / Times New Roman
- 段前段后间距:标题段前段后各 1 行
10. 其他规范性检查
- - 标点符号规范(中文全角 vs 英文半角)
- 计量单位规范(国际单位制)
- 数字使用规范
- 缩写使用规范(首次出现写全称)
- 公式编号格式
- 脚注格式
- 中英文混排时的字体一致性
- 孤行控制(标题不在页末、段尾不在页首)
脚本设计注意事项
重要:在编写修复脚本时,必须注意以下问题,避免函数间的逻辑冲突。
1. 函数执行顺序与依赖问题
问题描述:多个修复函数之间存在隐式依赖,后执行的函数可能无法检测到已被修改的内容。
典型案例:
CODEBLOCK1
解决方案:
CODEBLOCK2
2. 标题检测的精确性
问题描述:目录中可能包含类似标题的条目(如 致 谢\t43),导致误判。
典型案例:
CODEBLOCK3
解决方案:
CODEBLOCK4
3. 修复记录的完整性
问题描述:修复操作没有添加到 repair_records,导致报告中缺少该类别。
典型案例:
CODEBLOCK5
解决方案:
CODEBLOCK6
4. 推荐的脚本结构
CODEBLOCK7
5. 调试技巧
CODEBLOCK8
关键技术要点
python-docx 缩进处理
重要经验:Word 文档中的首行缩进有两种单位:
- - 固定厘米值(
firstLine in twips):不随字号变化,不同字号下显示效果不一致 - 字符单位(
firstLineChars):随字号自动调整,推荐使用
修复时应将固定厘米值转换为字符单位:
CODEBLOCK9
Normal 样式继承
Normal 样式可能自带首行缩进。对于不需要缩进的段落(如居中标题),必须显式设置为 0,不能仅删除 <w:ind> 元素:
CODEBLOCK10
三线表实现
CODEBLOCK11
页眉字体双重设置
页眉中文用宋体,西文用 Times New Roman,需要同时设置 w:eastAsia 和 w:ascii/w:hAnsi。
Resources
scripts/
- -
check_format.py — v2.0 全面格式检测脚本,含 DocumentStructure 章节定位能力,扫描 docx 文件的所有格式属性 - INLINECODE20 — v2.0 格式修复脚本模板,包含各类
fix_* 函数,修复过程自动收集 repair_records 记录 - INLINECODE23 — v5.0 精简对比报告生成器(6列表格含位置/定位列,智能合并同类修改,颜色区分,A4横向)
references/
- -
format_rules_template.md - 格式规则模板,用于结构化存储从规范文档解析出的格式要求 - INLINECODE25 - 常见格式问题汇总与修复方案(TOP 10 + python-docx 已知限制 + 修复优先级)
assets/
此 Skill 不包含静态资产文件。
毕业论文格式规范检测与修复
Overview
本 Skill 提供一套完整的毕业论文格式检测工作流,支持任意学校的撰写规范文档输入,自动化完成:规范解析 → 格式检测 → 问题诊断 → 自动修复 → 对比报告生成。
前置要求
- - Python 3.7+
- 依赖库:python-docx(必需),pywin32(仅 Windows 读取 .doc 格式时需要),lxml
- 安装命令:pip install python-docx lxml pywin32
核心工作流
Phase 1: 输入收集
收集以下信息:
- 1. 规范文档(可选):学校的毕业论文撰写规范文件(支持 .doc / .docx / .txt / .pdf 格式)
- 论文文档:待检查的毕业论文 .docx 文件
- 输出目录:检查报告和修复文件的存放路径(默认与论文文件同目录)
规范来源优先级:
- 1. ✅ 用户提供了规范文档 → 解析该文档,按院校规范执行检查和修复
- ✅ 用户未提供规范文档 → 使用本 Skill 内置的通用默认规范(见下方通用格式检查清单章节),基于 GB/T 7713.1-2006 等国标和多校通用惯例
注意:建议告知用户当前使用通用默认规范,如需按特定院校规范检查,请提供学校官方的论文撰写规范文件。
Phase 2: 规范文档解析
根据规范文档格式选择解析方式:
- 1. .txt 文件:直接读取
- .docx 文件:使用 python-docx 提取文本
- .doc 文件(Windows):使用 pywin32 COM 接口转换
- .pdf 文件:使用可用的 PDF 提取工具
解析规范文档后,提取以下关键格式要求(参考 references/formatrulestemplate.md):
- - 页面设置:页边距(上/下/左/右)、装订线、页眉距、页脚距
- 字体字号:各部分(封面/摘要/正文/标题/参考文献/致谢等)的中英文字体、字号、加粗/斜体
- 段落格式:对齐方式、首行缩进、悬挂缩进、行距、段前段后间距
- 页眉页脚:内容、字体、对齐、页码格式
- 标题格式:各级标题的字体字号、编号格式、段前段后
- 表格格式:三线表规则、边框粗细
- 图片格式:图题位置、字体字号
- 参考文献:著录格式(GB/T 7714)、缩进方式、文献标识
- 特殊部分:摘要、目录、致谢、附录的特殊格式要求
Phase 3: 论文格式全面检测
运行格式检测脚本 scripts/check_format.py 对论文文档进行全面扫描。检测脚本会输出以下信息:
- 1. 页面设置信息(每个节的页边距、页眉页脚距、纸张方向)
- 文档样式定义(Normal、Heading 1-4、TOC 等关键样式)
- 段落详细格式(每个段落的样式、对齐、间距、缩进、字体信息)
- 表格格式信息(边框样式、粗细、对齐)
- 图片信息(尺寸、位置、上下文)
- 编号/列表定义
- 文档默认字体设置
执行方式:
bash
python scripts/check_format.py <论文路径> <报告输出路径>
Phase 4: 问题诊断与分析
将检测报告与规范要求逐项比对,生成问题清单。每个问题包含:
检查的格式属性 |
| 规范要求 | 对应的规范条款内容 |
| 当前值 | 论文中的实际值 |
| 严重程度 | 高/中/低 |
| 修复建议 | 具体的修复方案 |
严重程度分级标准:
- - 高:页边距错误、标题字体字号错误、行距错误等影响整体排版的问题
- 中:缩进方式不当(固定厘米值 vs 字符单位)、段前段后间距缺失
- 低:需人工确认的内容性问题(参考文献格式、页眉横线等)
Phase 5: 自动修复
使用 scripts/fix_format.py 脚本模板自动修复可自动化的格式问题。
修复能力范围:
- - ✅ 页面边距(上/下/左/右/页眉距/页脚距/装订线)
- ✅ 段落首行缩进(固定厘米值 → 字符单位)
- ✅ 段落悬挂缩进
- ✅ 段前段后间距
- ✅ 对齐方式(左/中/右/两端对齐)
- ✅ 字体设置(中文字体 + 西文字体 + 字号)
- ✅ 页眉内容和格式
- ✅ 表格三线表边框
- ✅ 标题字间距(如参 考 文 献)
无法自动修复(需提示用户手动处理):
- - ❌ 页眉横线(python-docx 限制)
- ❌ 参考文献编号内容(如添加 [1] [2])
- ❌ 目录更新(需在 Word 中操作)
- ❌ 图片/公式的精确位置调整
- ❌ 脚注格式
Phase 6: 对比报告生成
使用 scripts/generate_report.py(v5.0)生成修改前后对比报告(.docx 格式,A4 横向),包含:
- 1. 报告标题:论文名称、修改日期、修改项数
- 对比表格(6列):序号 | 位置/定位 | 检查项 | 规范文档要求 | 修改前(原文件) | 修改后(已修复)
- 智能位置定位:
- 单个段落显示为第N段
- 多处同类修改合并显示范围第88~394段(共166处)
- 附带章节名称(如【研究背景和意义、国内外研究现状等】)
- 附带原文内容预览,便于快速定位修改位置
- 4. 颜色区分:修改前红色文字、修改后绿色文字+绿色底纹
- 分类展示:按检查类别(页面设置/摘要/页眉/正文/参考文献等)分组,交替行背景色
- 修改统计:按分类显示已修复/总数,✅已完成 / ⚠️待确认
- 人工确认事项:列出无法自动修复的问题
- 修改依据:标注规范文档来源
两种调用接口:
- - createreportfromrecords(output, title, subtitle, date, records) — ★推荐:从 fixformat.repairrecords 自动生成,智能合并同类修改
- createreport(output, title, subtitle, date, total, categories) — 兼容v2.0:手动传入 categories
通用格式检查清单(默认规范)
以下为中国高校毕业论文常见的格式检查项,基于 GB/T 7713.1-2006 等国标和多校规范汇总。
当用户未提供规范文档时,按以下默认值执行检查和修复:
1. 页面设置(默认值)
- - 纸张大小:A4 (210mm × 297mm)
- 页边距:上 2.8cm / 下 2.2cm / 左 3.0cm / 右 2.0cm
- 装订线:0mm(左侧)
- 页眉距:1.8cm
- 页脚距:1.4cm
2. 封面格式(默认值)
- - 题目字体字号:三号黑体加粗,居中
- 学生信息字体字号:小四号宋体
- 对齐方式:居中
- 日期格式:中文格式
3. 摘要格式(默认值)
- - 摘要标题:三号黑体加粗,居中,字间 2 个汉字字距,段前段后各 1 行
- 摘要正文:小四号宋体/Times New Roman,首行缩进 2 字符,1.5 倍行距
- 关键词:关键词三字加粗,分号分隔,末尾无标点
- 英文摘要(Abstract)与中文摘要对应格式
4. 目录格式(默认值)
- - 目录标题:三号黑体加粗,居中,字间 2 个汉字字距
- 各级目录条目:小四号宋体
- 目录显示级数:3 级
5. 正文格式(默认值)
- - 中文字体:小四号宋体
- 英文/数字字体:小四号 Times New Roman
- 行距:1.5 倍
- 首行缩进:2