원클릭으로
sysu-ppt
基于 officer 与中山大学官方模板制作组会、开题、中期、答辩或正式学术汇报 PPT。用户要求中大学术演示文件或新汇报文件夹时使用;页数与结构服从时长、内容和证据,组会禁止目录页及章节分隔页。实际文件操作配合 pptx。
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
基于 officer 与中山大学官方模板制作组会、开题、中期、答辩或正式学术汇报 PPT。用户要求中大学术演示文件或新汇报文件夹时使用;页数与结构服从时长、内容和证据,组会禁止目录页及章节分隔页。实际文件操作配合 pptx。
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
| name | sysu-ppt |
| description | 基于 officer 与中山大学官方模板制作组会、开题、中期、答辩或正式学术汇报 PPT。用户要求中大学术演示文件或新汇报文件夹时使用;页数与结构服从时长、内容和证据,组会禁止目录页及章节分隔页。实际文件操作配合 pptx。 |
用 R officer + 官方模板,代码化生成可直接上台、精美完整的学术汇报 PPT。给定主题/内容/要求,按本文件流程即可产出合规 PPT。
精确实现每一条要求,不堆字、不过度设计。 “内容丰富”指主信息、证据或结构、必要解释已经闭环,不是元素更多。空荡页面必须处理:先从已有材料补充有来源的证据、解释或边界;没有更多有效内容就合并薄页或换构图;仍偏空时再增大字号、行距、段间距和主视觉,并调整内容区纵向位置。不得编造内容或用装饰图填空。
先判断体裁,再从对应蓝本中选取适用模块。蓝本是论证结构参考,不是逐页清单:
| 体裁 | 参考规模(非硬限) | 章节分隔页 | 常见论证顺序 | 蓝本 |
|---|---|---|---|---|
| 组会汇报 / 文献分享 / 方法讲解 | 由内容与时长决定;示例骨架完全展开约 13 页 | 不用 | 背景 → 概念 → 方法 → 对比 → 决策 → 收束 | references/deck_skeleton.R |
| 开题 / 中期 / 答辩 / 正式研究汇报 | 由用户要求、研究设计与答辩时长决定 | 按需要使用 | 封面 → 立题依据 → 目的与内容 → 方法 → 技术路线 → 创新与可行性 → 计划 → 收束 | references/defense_blueprint.R |
先满足用户明确页数或时长;未指定时按论证链自然决定。删除无内容模块,合并证据不足的相邻页,只有一页无法清楚表达时才拆页。不得为了靠近参考规模补页,也不得假设骨架中的每张示例页都必须生成。
sysu_add_section()。该函数只属于开题、答辩、中期和正式研究汇报。sysu_save(ppt, path, genre = "meeting");meeting 也是默认值,保存前会检测目录页与章节分隔页,命中即停止写出。正式体裁必须显式使用 genre = "formal"。开题/答辩体裁的常见模块、规范用词库(章节名 / 段落标签 / 方法对比表头 / 封面署名 / 结尾语)和设计基调在 references/defense_blueprint.R 顶部。写作前先读,但只选与用户要求和研究设计有关的模块;保留必要的论证先后关系,不机械填满全部示例页。
写内容前先读 references/slide-design-practice.md 并建立逐页故事板,至少记录“结论式名词短语标题、主信息、证据或结构、解释或边界、主视觉、版式、口头内容”。
#014924;强调红 #C00000 全篇仅用于 1–2 处关键结论。统一标题、字体、题注、图号和页码,变化来自内容关系、图文比例、视觉权重和留白。Sys.setlocale("LC_ALL", "Chinese (Simplified)_China.utf8")
skill_roots <- path.expand(c(
Sys.getenv("EPIAGENTKIT_SKILLS"), Sys.getenv("EPICLAUDE_SKILLS"),
"~/.claude/skills", "~/.agents/skills", "~/.codex/skills"
))
skill_dirs <- file.path(skill_roots[nzchar(skill_roots)], "sysu-ppt")
SKILL <- skill_dirs[dir.exists(skill_dirs)][1]
if (!length(SKILL) || is.na(SKILL)) stop("找不到 sysu-ppt;请设置 EPIAGENTKIT_SKILLS")
source(file.path(SKILL, "scripts", "sysu_toolkit.R"))
ppt <- sysu_init("default") # 默认=原“模板2”中大医学版;旧公卫模板可用 sysu_init("模板2")
ppt <- sysu_add_cover(ppt, "主标题", "English Subtitle", "汇报人:姓名", "2026 组会")
ppt <- sysu_add_text(ppt, "1 背景", block_list( prose(bd("定义 "), tx("……")) ))
# ……更多内容页(见 API)……
sysu_save(ppt, "输出.pptx", genre = "meeting") # 组会:强制禁目录/章节过渡页
完整骨架见 references/deck_skeleton.R;逐页设计与版式映射见 references/slide-design-practice.md;配图函数见 references/figure_snippets.R。
sysu_init("default") = assets/template.pptx(原模板2:中大医学棕榈实景封面 + 校徽 + 城市水印)。sysu_init("模板2") = assets/template-公卫学院.pptx(原模板1:公卫学院绿色封面 + 标题绿竖条)。.pptx 完整路径。两套模板内容页 API 完全一致,只改 sysu_init 参数。.fp() 内置,无需手动切)。已在 slide XML 层校验 <a:ea>=宋体、<a:latin>=Times New Roman。top 调整纵向位置”,不得原样交付。officer 文本框不自动缩字:左右图文 / 左文右表的左栏最多 5 块、约 12 行 / 230 中文字,纯文字全宽页最多 7 块 / 340 字;这是防溢出上限,不是填充目标。超出后删次要句或拆页,绝不缩小字号。生成后逐页检查最后一行是否压到页眉、页脚或页码。1.1 / 1.2 等二级编号;单页主题不为凑层级增设子页,正文不写 1.1.1。编号随实际论证结构生成,不得反过来驱动补页,也不得据此为组会生成目录或章节过渡页。sysu_add_section(),不得添加目录、汇报提纲或任何过渡页,封面后直接进内容;开题、答辩和正式研究汇报只有在用户要求、既有模板或篇幅层级确实需要时才使用章节页、目录与致谢页(见 defense_blueprint.R)。bd()(加粗+主色)。
7bis. 数字单源取数:汇报里的统计数字(估计值/CI/P/百分比/样本量)若项目有 07_paper/results.yaml,一律
val("07_paper/results.yaml", "key") 取已渲染串(toolkit 已内置 val()),禁止手敲;改数字回 results.yaml 改再重生成。num_item,不要 bullet)。AUC(Area Under the Curve)、IDI(Integrated Discrimination Improvement)、NRI(Net Reclassification Improvement)、DCA(Decision Curve Analysis) 等,后文再用缩写。intro/note(如"这几乎覆盖了最常见的误用""核心:…")直接删,不靠它凑版面。.pptx、当前生成脚本和必要素材,不生成“完善版 / 最终版 / v2 / final”等并列文件。每次重生成前,把被替代 PPT、对应旧脚本、渲染页图与旧素材按原相对目录移入 09_backup/YYYY-MM-DD_HHMM_<汇报主题>_<阶段>/,写 MANIFEST.md 并登记 09_backup/INDEX.md;sysu_save() 始终写当前稳定文件名。| 函数 | 版式 | 关键参数 |
|---|---|---|
sysu_init(tpl) | 初始化、清空演示页 | "default"/"模板1"=中大医学;"模板2"=原公卫模板;或路径 |
sysu_add_cover(ppt,title,subtitle,author,date) | 封面 | subtitle 用一行短副标题 |
sysu_add_text(ppt,title,blocks,top,height) | 纯文字(全宽) | 稀疏但必须独立的页面可调 top/height 与文字助手字号/行距 |
sysu_add_two_text(ppt,title,left,right,top,height) | 双栏文字 | 两个 block_list;top/height 同时控制两栏 |
sysu_add_text_image(ppt,title,blocks,img,img_w,img_h,side,caption) | 左右图文 | side="right"/"left" |
sysu_add_image_caption(ppt,title,img,img_w,img_h,blocks,img_pos,caption) | 上下图文 | img_pos="top"/"bottom";caption="图N …" |
sysu_add_image(ppt,title,img,img_w,img_h,caption) | 整图居中 | |
sysu_add_table(ppt,title,ft,left,top,note) | 表格 | ft 用 sysu_flextable() |
sysu_add_text_table(ppt,title,blocks,ft) | 左文右表 | |
sysu_add_code(ppt,title,code_lines,intro) | 代码/示例(显式浅底代码框) | 短代码框按最长行收紧并居中,长代码保留全宽 |
sysu_add_cards(ppt,title,cards,cols,intro) | 卡片网格(近白绿灰) | cards=list(list(tag,head,body)…) |
sysu_add_section(ppt,title,subtitle) | 正式汇报章节页 | 组会禁止调用 |
sysu_save(ppt,path,genre) | 保存 + 体裁检查 + 顶端对齐修正 | 组会 meeting;正式汇报 formal |
文本助手:tx(text,size) 正文 / bd(text,size) 加粗主色 / cd() 等宽 / prose(...,line_spacing,space_after,space_before) 成段 / num_item(...,size,line_spacing,space_after) 编号条目 / bullet(...,size,line_spacing,space_after) 圆点列表 / sp(h) 间距。解释页优先用 prose() 保留完整论证;字号与间距只向上调以平衡稀疏页,不得用来掩盖内容缺口。
表格:sysu_flextable(df, widths, fsize, align) — 绿表头 + 斑马行 + 三线表。
#F7FAF8 + 低对比绿灰边框 + 品牌绿细左条;编号、标题、正文分三个色阶,禁止每张卡随机换色或使用高饱和彩色方块。只有来源材料本身存在明确类别、顺序或风险等级时才允许使用不同色阶,并必须同时保留文字标签。prose/num_item。../research-visuals/references/research-figure-patterns.md,逐页标记主要表达方式和是否需要图。背景页优先“核心论断 + 证据视觉”;方法页只为难以口述的时间、空间、变换、模型分支和验证关系配图;创新、可行性和研究计划优先结构化文字、真实前期结果和甘特图。research-visuals。生成前读取实际模板、图片区、标题位置和配色,并按 ../research-visuals/references/carrier-specs.md 与 ../research-visuals/references/scenario-playbook.md 区分内容图和氛围图:内容图直接包含必要标签与关系,封面和章节氛围图才默认无字。模板只锁定品牌与安全区,图件结构、密度、主体尺度和图文比例按本页内容重算。Codex 有工具时直接使用内置 imagegen/image_gen,以高质量 PNG 嵌入 sysu_add_image*。用户明确要求矢量、工具不可用,或 Image 1、适用 Image 2 与允许的整图重生成均不能保证文字与关系准确时,才最终回退 svg-diagrams。统计图仍走 publication-figures。research-visuals 在原始分辨率与实际幻灯片中双重核验。流程、框架和路线图逐字检查标签、数字、节点和箭头;有误时继续用 imagegen 定向编辑完整成图或整图重生成,不得用 Python、PPT 文本框或 SVG 覆盖层补字。PPT 主视觉和章节配图默认不烧录标题或正文,由幻灯片原生文本承担。labs(title=...)、删掉像"偏离对角线 = 概率不准""模型净获益最高的阈值区间"这类讲道理的 annotate("text")。图里只保留坐标轴、图例、必要的数据标签(如曲线旁的"病例/非病例"、参考线旁的阈值数值)。解释一律写到 PPT 正文或题注。sysu_add_image* 的 caption= 参数;需要编号的图按出现顺序连续使用 图1/图2…。封面主视觉、纯背景图和章节氛围图不编号,也不强加题注。coord_equal 常导致图例与面板间出现大块空白——用 coord_cartesian(expand=FALSE) + 短标签修复。ggsave 的画布长宽比要贴合内容,否则四周留白。ROC/校准等用 coord_cartesian(expand=FALSE) 让面板填满画布;少用 coord_equal(它强制方形面板,常在另一维留出大块空白)。注释/图例尽量收紧,plot.margin 适当压小。自检发现某图上下/左右有空条 → 调画布比例或换 coord 重渲染。showtext,从当前系统已有字体中按候选路径检测并注册;找不到兼容字体时报告缺口,不硬编码单一 Windows 路径,也不安装字体。img_w/img_h 只是最大边界框,.fit() 自动按 PNG 真实比例等比缩放,不会变形;给的比例不必精确。$pp = New-Object -ComObject PowerPoint.Application
$pres = $pp.Presentations.Open("绝对路径.pptx", $true, $false, $false)
$pres.Export("png输出目录", "PNG", 1280, 720)
$pres.Close(); try { $pp.Quit() } catch {}
逐页读 PNG 检查(每一项不合格都要改了重生成,不许将就):
⓪ 组会体裁检查:无目录/汇报提纲/Agenda 页,无章节分隔/过渡页;封面下一页即实质内容;生成脚本无 sysu_add_section(),并以 genre = "meeting" 保存。
① 字体对(宋体/Times);② 不空半屏、不溢出(表格列不被截断);③ 逐页配图决策合理——不需要图的页面未强加装饰图,需要图的页面能明确回答对象、证据、机制、时间或路径问题;④ 图内文字够大且逐字准确——流程图/框架图框内字、坐标轴、注释在缩略图上仍清晰可读,偏小或错误立即回到 imagegen 完整图修正或重生成;⑤ 图无多余空边——图四周没有明显空白条,有则调 imagegen 构图、SVG 画布或统计图输出比例重渲染;⑥ 非统计图关系正确——节点、箭头、方向和层级与来源逐项一致,无伪文字、重复节点或无语义装饰;技术路线从数据源闭合到验证与输出;⑦ 来源与证据属性正确——外部图可追溯,无水印、低清截图、缺图占位符和混杂画风;⑧ 模板按内容适配——母版品牌元素保留,但结构、密度、图文比例、留白和视觉权重已按本页信息关系优化,无机械套版、卡片墙或硬塞;⑨ 表格上下居中——表格块在内容区垂直居中而非贴顶;⑩ 图居中不变形;⑪ 重点已加粗;⑫ 页眉锚点正确——默认模板的标题横线与左侧两块绿色矩形底边共线,公卫模板的标题横线与绿色竖条底边共线;⑬ 图内无重复标题、无解释性长句,内容图保留必要节点标签,讲道理的文字写到正文或题注;⑭ 题注使用正确——证据图、统计图、方法示意和技术路线有题注且编号连续,封面与纯背景图不强加编号;⑮ 图例简短;⑯ 学术书面(见硬性规范 9)。
归档检查:当前目录仅保留一份稳定命名 PPT 与当前源;无“完善版 / 最终版 / v2 / final”等旧版;旧版批次可由 09_backup/INDEX.md 定位且含 MANIFEST.md。
图件大于 ~2000px 时图像读取工具可能报错,可先缩放到 ≤1280px 再读;或直接读 1280×720 的逐页导出 PNG。 只关闭本次自动化创建的 presentation 与 PowerPoint application 实例。不得用
Stop-Process结束用户其他 PowerPoint 进程;若文件仍被占用,报告具体路径并停下等待用户关闭占用者。
cover="1_空白"、content="3_空白"。误用朴素 标题和内容/空白 会得到纯白页。3_空白 左侧自带两块绿色矩形;标题和 flextable 横线共同锚定到矩形底边,禁止复用公卫模板的纵向坐标。Title and Content 自带单个绿色竖条;标题和独立 flextable 横线共同锚定到竖条底边。不得依赖标题段落边框,PowerPoint 对该边框的渲染不稳定。scripts/sysu_toolkit.R 的 .TPL_REG[[...]]$header 中维护;G、.add_title() 和调用脚本不得另写标题或横线坐标。修改模板后先重新测量版式锚点,再更新注册表并生成两套代表页验证,不能让两套模板共享同一纵向坐标。sysu_save() 按字节把空 <a:bodyPr/> 设 anchor="t",故用 sysu_save 而非 print。sysu_add_table / sysu_add_text_table 的 top 默认 NULL = 按表实际高度在内容区(1.58~7.0)自动垂直居中(行数少的表不再贴顶)。需固定位置时显式传 top= 数值。单元格内文字已由 sysu_flextable 设 valign="center"。scripts/sysu_toolkit.R — 核心工具库。scripts/example_ppt.R — 覆盖全部 API 的运行与渲染测试,不作为生产内容或版式节奏蓝本。references/slide-design-practice.md — 基于 Harvard、MIT 与 UC San Diego 公开指南整理的逐页合同、版式映射、视觉节奏、文字密度与配图准确性规范。references/deck_skeleton.R — 组会汇报可选页面与版式示例;完全展开约 13 页,实际按内容选、删、合并或拆分,无章节页。references/defense_blueprint.R — 开题/答辩/正式研究汇报的参考模块、示例顺序、规范用词库与设计基调;目录、章节页、技术路线、进度表和致谢均按任务要求选用。../research-visuals/references/research-figure-patterns.md — 通用科研流程图、框架图、机制图、研究设计、技术路线和图形摘要的内容与视觉规范。references/figure_snippets.R — 数据散点/谱系等统计型配图示例;非统计流程、结构与场景配图改用 research-visuals,全部适用 imagegen 路径耗尽后才最终回退 svg-diagrams。assets/template.pptx(默认中大医学)、assets/template-公卫学院.pptx(模板2)— 两套模板。初始化标准卫生统计研究或咨询项目,默认生成 R 七层目录,也可按用户明确选择生成 Python 目录,并创建 PROTOCOL、SAP、结果单源、registry 与可选 Git 配置。仅在用户明确要求创建项目或把空工作区建成正式项目时使用;简单作业、快速核验和已有项目分析不触发。上游为 biostat-principles;咨询项目完成分析后再用 consulting-delivery。
Python 流行病学与生物统计分析的可选执行层,仅用于用户明确要求 Python,或既有项目已经以 Python 为主流程时的数据清洗、描述统计、回归、生存分析、预测验证、统计表图、代码调试和结果复现。开工先遵循 biostat-principles;统计图配合 publication-figures,客户外发再用 consulting-delivery。未指定语言的普通统计分析、R 环境或依赖缺失、研究设计定稿、论文写作或仅操作 xlsx 文件不触发。
R 流行病学与生物统计的主要执行层,用于 R 数据清洗、描述统计、回归、生存、中介、Meta 分析、统计表图和代码调试;用户未指定语言且无既有语言合同时也使用。开工先遵循 biostat-principles;统计图配合 publication-figures,客户外发再用 consulting-delivery。不用于已明确采用 Python 的分析、研究设计定稿或论文写作。
基于已验证的代码、结果单源和表图生成或结构性重写中英文期刊论文、学位论文部件、摘要、题名、cover letter、审稿回复、highlights 和投稿正式往来,并做投稿前一致性自查。开工先用 biostat-principles,终审用 academic-humanizer;实际 Word 操作再配合 docx。已有文本的局部润色或压缩只用 academic-humanizer。
流行病学与生物统计的上游行为原则,用于研究设计、R/Python 分析、论文、咨询交付和项目审查开工前,以及口径争议、结果不一致或试新方法时。提供原始数据只读、最小实现、可验证目标、结果追溯、复现、异常闭环和隔离实验规则;轻量任务不因此升级为正式项目。
把已完成并验证的 R 或 Python 分析打包为客户可独立复现、可直接阅读且保留真实溯源的咨询交付物。用于“给客户交付”“打包结果”或在 05_reports/ 建正式结果包;不用于未完成分析或内部探索。上游为 biostat-principles,文本终审配合 academic-humanizer,签发配合 epi-project-audit。