SuperAPI AI 工具集

docx-footnotes

通用与其它

查看项目

更新于 10-15 21:37

技能介绍

用途:处理 .docx 脚注在 Google Docs 或 Word Online 往返编辑后的格式损坏,并将硬编码的 “supra note N” 引用改为可自动更新的 NOTEREF 域。

主要能力: fix_footnotes.py 检测并修复 OOXML 脚注损坏,可多次运行:补回缺失的分隔符/续接脚注(id=-1、0),恢复作者简介脚注的自定义标记(*、†、‡),重排脚注 ID,补全或纠正脚注段落样式(如 FNStyleBest),从模板恢复被剥离的样式定义,修复被改动的样式定义(如超链接残留、白色底纹),处理目录分隔段膨胀,以及清除 pandoc-citeproc 包裹括号。 create_crossrefs.py 查找正文和脚注中的 supra note 数字,创建书签目标并替换为 NOTEREF _RefFN<id> \h 域,保留 “supra” 斜体。 refresh_noteref_caches.py 在合著者插入或移动脚注后,以渲染出的页面底部脚注标记为准,通配每个脚注的真实编号并刷新 NOTEREF 缓存;需 ONLYOFFICE x2t(优先)或 LibreOffice soffice 及 pymupdf。

必要用法示例: uv run --with lxml python3 "$SKILL_DIR/scripts/fix_footnotes.py" path/to/file.docx --crossrefs uv run --with lxml python3 "$SKILL_DIR/scripts/fix_footnotes.py" path/to/file.docx --dry-run uv run --with lxml python3 "$SKILL_DIR/scripts/create_crossrefs.py" --docx path/to/file.docx "$SKILL_DIR/scripts/refresh_noteref_caches.py" path/to/file.docx --verify

适用场景:脚注分隔线缺失、样式被剥离、标记与编号混用、编号起点偏移、目录分隔段占满一页、硬编码 supra 引用需自动化,以及 NOTEREF 域编号过期。

限制:需通过命令行运行并具备相应 Python 依赖;refresh_noteref_caches.py 只刷新编号,不做编辑性重定向;numRestart 需写入 settings.xml,不能放在 sectPr。