用于将 Word 论文快速整理为山东中医药大学论文格式的 VBA 宏项目。
运行宏前,请先备份文档。
原因:
- 宏会直接修改 Word 文档内容和格式
- 运行后通常不能可靠地通过
Ctrl + Z完整撤回 - 尤其是目录、分页、分节、页码、参考文献这类操作,建议一定在副本上先测试
建议做法:
- 先复制一份论文文档副本。
- 在副本上运行宏。
- 检查结果无误后,再决定是否覆盖原文档。
大多数情况下,你只需要运行一个宏:
FormatThesisToSDUTCM
它会自动处理:
- 页面设置
- 标题格式
- 正文格式
- 摘要和关键词
- 目录
- 参考文献
- 表格内单倍行距(保留已有表格样式)
- 图片与图题
- 页码 目录前为罗马数字,目录后为阿拉伯数字
推荐安装为独立的全局 Word 加载项。先关闭 Word,然后在仓库目录运行:
& ./install.ps1安装器会询问 Word 自己的 STARTUP 路径,生成并加载 ThesisFormatter.dotm。安装一次后,所有普通 .docx 文档都能使用宏,不需要另存为 .docm,也不需要修改 Normal.dotm。
以后更新仓库代码后,重新运行同一条命令即可升级;旧加载项会自动备份到 %LOCALAPPDATA%\ThesisFormatter\backups。
卸载命令:
& ./install.ps1 -Uninstall如果系统阻止程序访问 VBA 工程,请在 Word 的“信任中心 -> 宏设置”中启用“信任对 VBA 工程对象模型的访问”,然后重新运行安装命令。
手动复制 format_macro.bas 到 VBA 编辑器仍可作为临时使用方式,但不再是推荐安装方法。
- 回到 Word。
- 按
Alt + F8打开宏列表。 - 选择
FormatThesisToSDUTCM。 - 点击“运行”。
运行 FormatThesisToSDUTCM 后,程序会按顺序完成以下工作:
- 设置 A4 页面和行距。
- 统一题目、一级标题、二级标题、三级标题格式。
- 统一正文格式。
- 处理摘要和关键词。
- 处理目录。 如果已有目录域,会更新目录并统一目录标题。 如果没有目录域,但有“目录”标题或文字,会在“目录”位置插入目录。
- 处理参考文献。
- 将表格内段落恢复为单倍行距。 不改动已有表格的字体、对齐、缩进、边框、列宽或 AutoFit 设置。
- 处理图片和图题。
- 设置页码。 目录前为罗马数字,目录后为阿拉伯数字。
默认主入口宏(FormatThesisToSDUTCM)使用的是混合页码:
- 目录前:罗马数字
- 目录后:阿拉伯数字,从
1开始
如果你不想使用混合页码,而是希望全文都用阿拉伯数字,可以在运行 FormatThesisToSDUTCM 结束后,再单独运行:
ApplyArabicPageNumbersOnly
如果你只想单独重设混合页码,也可以单独运行:
ApplyMixedPageNumbersByTOC
为了让宏识别得更稳定,建议文档尽量满足下面几点:
- 题目使用
标题样式。 - 正文章节标题尽量使用:
标题 1/标题 2/标题 3或Heading 1/Heading 2/Heading 3 - 正文尽量使用:
正文文本、正文、Normal、First Paragraph - 目录部分最好满足下面两种情况之一:
- 已经有 Word 目录域
- 文中有单独一行“目录”
- 参考文献部分最好以“参考文献”或
References开头。
建议这样使用:
- 先把论文内容基本写完。
- 确认标题样式尽量正确。
- 如果需要目录,保证文中已有目录域,或者保留单独一行“目录”。
- 先备份文档。
- 运行
FormatThesisToSDUTCM。 - 检查目录、页码和参考文献是否符合你的具体要求。
通常是因为文档中既没有已有目录域,也没有单独一行“目录”。
解决方法:
- 先在文中放一行单独的“目录”,再运行
FormatThesisToSDUTCM - 或者先手动插入一次 Word 目录,再运行
FormatThesisToSDUTCM
通常是因为这些段落没有使用正确的标题样式。
建议先检查它们是否使用了:
标题标题 1/标题 2/标题 3- 或
Heading 1/Heading 2/Heading 3
一般不需要。
默认运行 FormatThesisToSDUTCM 时,就已经会自动应用混合页码。
只有当你想改成“全文阿拉伯数字页码”时,才需要再运行:
ApplyArabicPageNumbersOnly
可以,但仍建议先备份文档再运行。
目前已经尽量按可重复运行的方式处理,正常情况下再次运行不会不断重复插入目录或页码结构;但由于 Word 文档结构差异较大,复杂文档仍建议先在副本上测试。
这是 Word 宏的常见限制之一。
宏会批量修改格式、目录、分节、分页和页码,运行后通常不能像普通手动编辑那样可靠地使用 Ctrl + Z 完整撤销。
因此请务必在运行前备份文档。
欢迎将不符合要求的情况提交 issue 说明,我们会根据反馈调整规则。
当前规则是“基础规范”,仍建议人工微调。
性能测试应在文档副本上进行,不能覆盖原论文。可通过环境变量指定代表性文档并运行完整流程:
$benchmark = $env:THESIS_FORMATTER_BENCHMARK_DOC
& ./tests/full-performance-profile.ps1 -DocumentPath $benchmark -MaxSeconds 1202026-06-21 使用一份包含 815 个段落和 11 个表格的实际文档测试:
- 完整格式化流程由约
132.5秒降至49.2秒。 - 混合页码阶段由约
98.9秒降至3.6秒。 - 主要优化是将目录后分节符清理限制在目录与正文之间的局部范围,避免通过
ActiveDocument.Paragraphs(i)按索引扫描全文。
这些数字用于观察同一环境下的性能回归,不是固定耗时承诺。Word 的后台分页、缓存、文档是否打开以及 Office 当前状态都可能造成明显波动;调整主流程后应比较多次运行结果,并检查生成文档的目录、页码、表格和标题格式。
format_macro.bas主宏文件install.ps1全局 Word 加载项的安装、升级与卸载脚本FORMAT_SPEC.md格式目标说明MACRO_REFERENCE.md宏与函数说明CHANGELOG.md版本更新记录LICENSEMIT 许可证
- 增强参考文献识别能力
- 支持更多心理学期刊模板
如果你发现:
- 格式不符合学校要求
- 某些文档处理异常
欢迎: