[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-11533":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":16,"stars7d":17,"stars30d":18,"stars90d":15,"forks30d":15,"starsTrendScore":19,"compositeScore":20,"rankGlobal":9,"rankLanguage":9,"license":21,"archived":22,"fork":22,"defaultBranch":23,"hasWiki":24,"hasPages":22,"topics":25,"createdAt":9,"pushedAt":9,"updatedAt":39,"readmeContent":40,"aiSummary":41,"trendingCount":15,"starSnapshotCount":15,"syncStatus":42,"lastSyncTime":43,"discoverSource":44},11533,"thesis-defense-pptx-skill","zouchenzhen\u002Fthesis-defense-pptx-skill","zouchenzhen","Codex \u002F Claude Skill for editable thesis-defense PPTX from PDF or LaTeX while preserving a PowerPoint template. 从论文 PDF \u002F LaTeX 生成可编辑答辩 PPTX，并保留指定 PPT 模板风格。",null,"Python",167,10,27,1,0,7,26,120,21,3.12,"Apache License 2.0",false,"main",true,[26,27,28,29,30,31,32,33,34,35,36,37,38],"agent-skill","chinese","claude-skill","codex-skill","latex","office-automation","pdf","powerpoint","pptx","presentation","python-pptx","template-matching","thesis-defense","2026-06-12 02:02:32","# Thesis Defense PPTX Skill\n\n一个用于生成本科\u002F研究生毕业论文答辩 PPT 的 Codex\u002FAgent Skill。它面向需要严格复用本地 PowerPoint 模板的场景，能够从本地论文 PDF\u002FLaTeX 项目和指定 `.pptx` 模板出发，生成可编辑的正式答辩 PPTX，并执行逐页导出、版式检查和文字溢出检查。\n\n[English README](README.en.md)\n\n![License](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-Apache%202.0-blue.svg)\n![Platform](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fplatform-Windows%20%7C%20macOS%20%7C%20Linux-lightgrey.svg)\n![Python](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fpython-3.10%2B-3776AB.svg)\n![Skill](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fskill-Codex%20%2F%20Agent-orange.svg)\n![Output](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Foutput-PPTX-D24726.svg)\n\n---\n\n## 一分钟看效果\n\n仓库自带最小可跑示例 [`examples\u002Fminimal_markdown\u002F`](examples\u002Fminimal_markdown\u002F)，在仓库根目录跑：\n\n```bash\npython examples\u002Fminimal_markdown\u002Frun_example.py\n```\n\n脚本会现场生成模板、可编辑 PPTX、dump 结构、scan 旧词，并输出 PPT 总览图。\n下面四张参考图来自一份**真实的郑州大学开题\u002F答辩 PowerPoint 模板**，但画面不是\n模板原页截图，而是 `thesis.md` 示例内容被生成进模板后的 `final.pptx` 渲染结果：\n\n![生成示例 slides 1-4 总览](examples\u002Fminimal_markdown\u002Fexpected\u002Fgenerated_overview_01.png)\n\n![生成示例 slides 5-8 总览](examples\u002Fminimal_markdown\u002Fexpected\u002Fgenerated_overview_02.png)\n\n![封面细节](examples\u002Fminimal_markdown\u002Fexpected\u002Fdetail_slide_01.png)\n\n![方法页细节](examples\u002Fminimal_markdown\u002Fexpected\u002Fdetail_slide_06.png)\n\n> 这些图通过 `--template` 指定本地真实模板生成：\n>\n> ```bash\n> python examples\u002Fminimal_markdown\u002Frun_example.py \\\n>     --template \u003C你的本地模板.pptx> \\\n>     --detail-slides \"1,6\"\n> ```\n>\n> `--template` 模式会调用 `build_deck.py --real-template`：不清空真实模板里的\n> 复杂 shape，而是在模板页面上覆盖 `thesis.md` 生成的示例内容，输出真正可编辑\n> 的 `final.pptx`。README 图片来自 PowerPoint COM 对这个生成后 deck 的真实\n> 渲染；每页右上角的 `Generated from thesis.md` 标记用于避免和模板原页截图混淆。\n\n> 该示例不依赖 Microsoft PowerPoint，因此 macOS \u002F Linux \u002F Windows 都能跑通。\n> 真实交付仍建议在 Windows + PowerPoint 下走 COM 导出和文字溢出检查。\n\n## 功能\n\n- 从本地论文 PDF\u002FLaTeX 项目中提取论文内容和候选图表。\n- 尽量保留已有 PowerPoint 模板的封面、字体、字号、配色、导航、卡片样式和页面比例。\n- 输出真实可编辑的 `.pptx` 文件，而不是图片型幻灯片。\n- 使用 PowerPoint COM 导出逐页 PNG，便于视觉检查。\n- 生成整套 PPT 的总览图，快速发现版式问题。\n- 使用真实 PowerPoint 渲染结果检查文字框溢出风险。\n- 检查旧模板文字、占位词、TODO 等残留内容。\n\n## 为什么需要这个 Skill\n\n很多 AI PPT 工具擅长从文档重新设计一套新风格 PPT。但毕业论文答辩经常有相反的需求：学校或学院已经给了 `.pptx` 模板，封面、校徽、郑大红配色、顶部导航、卡片式正文、字体大小都不希望被改掉，只需要把论文内容转成适合答辩展示的表达。\n\n本 Skill 针对的正是这种“严格套用现成模板”的工作流：\n\n- 把用户提供的 `.pptx` 模板作为视觉基准。\n- 优先复制模板中的原生页面，再替换内容。\n- 尽量保持封面、章节页、导航条、卡片样式、字体字号、颜色和页面比例。\n- 将论文段落转写为正式、简洁、适合答辩讲述的页面内容。\n- 使用真实 PowerPoint 导出结果做逐页检查，而不是只检查文件能否生成。\n\n## 与 `ppt-master` 的对比\n\n[`ppt-master`](https:\u002F\u002Fgithub.com\u002Fhugohe3\u002Fppt-master) 是一个优秀的开源项目，主打从 PDF、Word、Markdown、网页等资料生成原生可编辑 PPTX。它更适合从资料出发重新生成一套 AI 设计的可编辑 PPT。\n\n本 Skill 的目标更窄：生成毕业论文答辩 PPT，并尽量严格沿用用户已有的 PowerPoint 模板。\n\n| 维度 | `ppt-master` | `thesis-defense-pptx` |\n|---|---|---|\n| 核心目标 | 从资料生成原生可编辑 PPTX | 在保留现有模板的基础上生成答辩 PPTX |\n| 适用场景 | 新建 AI 设计风格 PPT、文档转 PPT、可编辑 SVG\u002FDrawingML 流程 | 本科\u002F研究生答辩、学院模板、实验室模板、品牌学术汇报 |\n| 模板处理 | 可以参考或创建模板，但整体偏生成式设计 | 直接复制用户原始 PPTX 模板页并在其上替换内容 |\n| 对既有模板的还原度 | 取决于模板导入和生成效果 | 作为最高优先级处理 |\n| 输出形态 | 可编辑 PPTX | 可编辑 PPTX |\n| 质量检查 | SVG\u002Fproject 检查和导出流程 | PowerPoint 导出 PNG、总览图检查、文字溢出检查、旧模板词扫描 |\n\n如果你想从资料生成一套全新的可编辑 PPT，`ppt-master` 更合适；如果你已经有学校模板，并且要求“封面、配色、导航、卡片风格都别乱改”，本 Skill 更合适。\n\n## 工作原理\n\n本 Skill 采用保守的本地生成流程：\n\n1. 读取论文 PDF、LaTeX 项目和可选旧版答辩 PPT。\n2. 提取研究背景、问题定义、方法设计、实验设置、实验结果、结论和候选图表。\n3. 分析用户提供的 `.pptx` 模板，包括封面、目录、章节页、导航、字体、字号、颜色、卡片和间距。\n4. 在可用时使用 PowerPoint COM 复制模板原生页面，生成稳定的 PPT 骨架。\n5. 用可编辑的 PowerPoint 文本框、图片、表格和图形替换内容。\n6. 导出逐页 PNG，生成整套 PPT 的总览图。\n7. 检查文字溢出、旧模板词残留、图片缺失、导航错误和明显视觉问题。\n8. 根据检查结果继续修复，直到达到交付标准。\n\n## 版权与 `ppt-master` 关系说明\n\n本仓库不是 `ppt-master` 的 fork，不内置 `ppt-master`，也没有复制 `ppt-master` 的源代码。当前实现是围绕 PowerPoint COM、`python-pptx`、Pillow 和 PDF\u002F文本提取工具编写的一组独立脚本。\n\nREADME 中引用 `ppt-master` 是为了说明相关开源项目和适用场景差异。若未来版本直接复用 `ppt-master` 的代码，应按照其 MIT License 明确保留对应源码文件和版权\u002F许可声明。\n\n使用者需要自行确认其论文文本、实验图、学校模板、校徽、字体和第三方素材具备合法使用权限。本 Skill 不自带学校模板，也不分发第三方模板资产。\n\n## 仓库结构\n\n```text\nskills\u002F\n└── thesis-defense-pptx\u002F\n    ├── SKILL.md\n    ├── agents\u002F\n    │   └── openai.yaml\n    ├── references\u002F\n    │   └── pptx_quality_gate.md\n    └── scripts\u002F\n        ├── clone_template_deck.ps1\n        ├── dump_pptx_content.py\n        ├── export_pptx_png.ps1\n        ├── extract_thesis_context.py\n        ├── inspect_pptx_overflow.ps1\n        ├── make_contact_sheet.py\n        ├── pptx_template_tools.py\n        └── scan_pptx_text.py\n```\n\n## 环境要求\n\n- 推荐在 Windows 上使用。\n- 如果需要完整质量检查，需要安装 Microsoft PowerPoint。\n- Python 3.10 或更高版本。\n- Python 依赖：\n  - `python-pptx`\n  - `Pillow`\n  - `PyMuPDF` 或 `pypdf`\n\n安装依赖：\n\n```powershell\npython -m pip install python-pptx Pillow PyMuPDF pypdf\n```\n\n## 当前输入支持范围\n\n当前内置提取脚本主要支持 PDF 文本提取、LaTeX `.tex` 章节提取和候选图表扫描。Word `.docx` 提取尚未实现。Markdown 和纯文本文件可以由 Agent 在需要时手动读取参考，但 `extract_thesis_context.py` 目前还不会把它们解析成结构化论文上下文。\n\n## 本地安装\n\n将 Skill 复制到 Codex skills 目录：\n\n```powershell\nCopy-Item -Recurse -Force `\n  .\\skills\\thesis-defense-pptx `\n  \"$env:USERPROFILE\\.codex\\skills\\thesis-defense-pptx\"\n```\n\n然后新开一个 Codex 会话，直接提出生成答辩 PPT 的需求，或明确说明：\n\n```text\n使用 thesis-defense-pptx skill。\n```\n\n## 推荐流程\n\n1. 从论文 PDF\u002FLaTeX 项目中提取研究背景、方法、实验和结论。\n2. 分析用户提供的 PowerPoint 模板。\n3. 使用 PowerPoint COM 复制模板原生页面，生成 PPT 骨架。\n4. 将论文内容转写为答辩口径，填入可编辑文本框、表格和图表。\n5. 导出每页 PNG。\n6. 生成总览图并进行视觉检查。\n7. 检查文字溢出和旧模板词残留。\n8. 根据检查结果反复修复，直到通过质量门槛。\n\n## 常用命令\n\n提取论文上下文：\n\n```powershell\npython .\\skills\\thesis-defense-pptx\\scripts\\extract_thesis_context.py `\n  --input \"D:\\path\\to\\thesis-project\" `\n  --output \"D:\\path\\to\\thesis_context.md\"\n```\n\n导出整套 PPT 的形状\u002F文本\u002F表格\u002F图片清单（推荐在做任何内容替换前先跑一次，把精确字符串复制到替换字典里）：\n\n```powershell\npython .\\skills\\thesis-defense-pptx\\scripts\\dump_pptx_content.py `\n  --pptx \"D:\\path\\to\\skeleton.pptx\" `\n  --output \"D:\\path\\to\\dump.md\"\n```\n\n可以加 `--slide 4,8,9` 只 dump 指定页，便于迭代调试。\n\n导出 PPTX 为逐页 PNG：\n\n```powershell\npowershell -NoProfile -ExecutionPolicy Bypass `\n  -File .\\skills\\thesis-defense-pptx\\scripts\\export_pptx_png.ps1 `\n  -Pptx \"D:\\path\\to\\deck.pptx\" `\n  -OutDir \"D:\\path\\to\\visual_check\" `\n  -Width 1600 -Height 900\n```\n\n检查文字溢出：\n\n```powershell\npowershell -NoProfile -ExecutionPolicy Bypass `\n  -File .\\skills\\thesis-defense-pptx\\scripts\\inspect_pptx_overflow.ps1 `\n  -Pptx \"D:\\path\\to\\deck.pptx\" `\n  -Tolerance 40\n```\n\n生成总览图：\n\n```powershell\npython .\\skills\\thesis-defense-pptx\\scripts\\make_contact_sheet.py `\n  --input \"D:\\path\\to\\visual_check\" `\n  --output \"D:\\path\\to\\contact_sheet.png\"\n```\n\n## 说明\n\n本 Skill 不内置固定 PPT 模板。它的目标是尽量复用用户提供的模板，而不是强行套用通用设计风格。\n\n## 许可证\n\n本项目采用 [Apache License 2.0](LICENSE) 开源许可。\n\nApache-2.0 允许使用、修改、分发、私有使用和商业使用，但需要遵守许可证条款。\n\n项目的商业化方向不是限制核心 skill 的使用，而是围绕服务、定制模板适配、托管流程、企业支持、模板包和自愿赞助来实现可持续发展。详见 [COMMERCIAL.md](COMMERCIAL.md)。\n\n## 社区\n\n[LINUX DO — 中文开发者社区](https:\u002F\u002Flinux.do\u002F)\n\n本项目认可并感谢 LINUX DO 社区在中文开发者开源交流、项目分享和技术讨论中的价值。除非社区另有明确说明，此处仅为社区致谢和链接，不代表官方背书。\n","该项目用于从论文 PDF 或 LaTeX 生成可编辑的答辩 PPTX，并保留指定的 PowerPoint 模板风格。其核心功能包括从本地论文中提取内容和图表，尽量保留模板中的封面、字体、配色等元素，并输出真实可编辑的 `.pptx` 文件。此外，它还支持逐页导出 PNG 格式以进行视觉检查，以及文字溢出和旧模板残留内容的检查。适合需要严格复用本地 PowerPoint 模板的场景，如本科或研究生毕业论文答辩，确保学校或学院提供的模板风格不被改变。",2,"2026-06-11 03:32:02","CREATED_QUERY"]