thesis-figure-skill
生成学术论文配图:LaTeX/TikZ 代码(结构化图表,直接嵌入论文)或 draw.io XML (技术路线图、汇报配图)。自动按论文领域风格设计,编译验证后交付。 Use when the user asks for: 论文配图、画架构图、画流程图、TikZ 图、draw.io 学术图、复刻论文图、tikz/latex diagram。
DeepseekModel
Curated skill
Quality Excellent · 78
v1.0.0
Get
https://deepseekmodel.com/api/download.php?id=0xe1337-thesis-figure-skill-skills-thesis-figure-skill-skill-md&format=skill
Download .skill
Standard format with system_prompt and model_config, ready for any agent framework
The actual content of the system_prompt field in the .skill file.
name thesis-figure-skill description 生成学术论文配图:LaTeX/TikZ 代码(结构化图表,直接嵌入论文)或 draw.io XML (技术路线图、汇报配图)。自动按论文领域风格设计,编译验证后交付。 Use when the user asks for: 论文配图、画架构图、画流程图、TikZ 图、draw.io 学术图、复刻论文图、tikz/latex diagram。 Academic Diagram Skill (TikZ + draw.io) 把论文中的系统架构/协议流程/技术方案转化为高质量配图。 目标:高信息密度 + 设计感 + 一次过编译 。失败模式:平庸、对齐松散、坐标凭感觉。 工具选择 维度 TikZ draw.io 适合 嵌入 LaTeX 论文、数学公式、结构化图表 技术路线图、汇报展示、装饰性强(渐变/3D) 精度 像素级 拖拽,坐标不如 TikZ 精确 中文 需 ctex/fontspec, rotate=90 中文会崩溃 原生支持 数学 原生 LaTeX 完美 MathJax 一般 编译 xelatex + pdftoppm drawio CLI → PDF → PNG 可编辑 代码即源 .drawio 可在 app.diagrams.net 编辑 默认 TikZ 。draw.io 用于:用户要求 / 参考图为 draw.io 风格 / 需要渐变-3D-空心字 / 内容简单且装饰 > 精确。 输出格式仅这两种 ——HTML/CSS/SVG 不可嵌入论文也无法在 draw.io 编辑。 Philosophy(每次画图前必读,所有规则之上) The UNFORGETTABLE Question 画图前 + 交付前问自己: 审稿人 5 秒看完,记住的是什么? 一个独特的 hero 子结构? 嵌入的真实热力图 / 曲线 / 图像? 信息密集的 hyperparameters / loss panel? 多色和谐的 zone 划分? 没有"记得住的东西" = 不要交付。 Naming the Gravitational Pull(你必须主动避开的统计中心) 模型默认会画出 "AI slop 学术图" ——下面是统计中心的平庸默认, 主动避开 : ❌ box + arrow only, 零 嵌入数据可视化 ❌ 3 色单调配色(蓝/橙/紫常见组合) ❌ "FFN" / "Attention" 单字标签, 不写公式 / 不写参数 ❌ hero 内 只有 box list ,无嵌入热力图/曲线/微图 ❌ 没有信息 panel(hyperparameters / loss curve / legend / metrics) ❌ 平面布局 无 visual hierarchy (核心和辅助同重量) ❌ 看起来"像 AI 一次性生成的"——无设计痕迹 Permission for Creativity Claude is capable of extraordinary academic figure design. Checklist 是 catching last-mile bugs, 不是 safe defaults 。 你不是在练习画结构图。你在为 NeurIPS / ICML / Nature 投稿画 figure。 审稿人会用这张图判断作者的领域素养和认真程度。 box+arrow only 的平庸图 = desk reject。 创造空间 — 复杂档可调用的词汇(不强制,但 应该考虑 ) 维度 选项 嵌入可视化 attention heatmap / loss curve / 真实图像色块 / signal waveform / 数学曲线 / N×N matrix / mel spectrogram / 散点分类 信息 panel hyperparameters 框 / metrics 表 (FID/BLEU/Acc) / color legend / glossary 注释 / 数学符号速查 数学公式嵌入 FFN(x) = max(0, xW₁+b₁)W₂+b₂ 直接写进 box 内部, 不是只贴标签 配色 ≥5 种 zone tone + accent color;浅色 zone 背景 + 中饱和度 box + dark accent 层级 五种造层级的手段—— 尺寸 / 字重 / 颜色 / 留白 / 描边粗细 ,任选 ≥2 种叠加。例:hero ≥ 2× 辅助 box、hero 容器描边 1.4pt 而其余 0.6pt、hero 用唯一中调底色、"N=6 layers" 灰色透明栈背景。 ⚠️ 画布尺寸已定时,优先用字重/颜色/描边/留白,不要用字号 ——字号是全局耦合量,放大它等于同时挤压所有框 Cross-zone dashed rail + 跨段标签 (如 "K, V") 学术 polish dataset 标注 ("CIFAR-10") / 性能数字 ("FID=3.17") / 引用作者年份 视觉直觉法则(meta,在 ④.5 Step 0 应用) 0.1 秒直觉 :视觉流向 ≠ 逻辑流向 = 必错(每写一条 \draw ,问读者直觉对吗) 眼睛轨迹 :沿主线走,任何"卡住"位置 = blocker 删除测试 :能删的就该删; 修一个 bug 不能引入新审美问题 最重要的一点 审美 + 信息密度 > 规则合规。 规则只是地板,审美是天花板。 18 项 checklist 是 catching last-mile bugs ——不是设计指南。设计指南是上面的 Philosophy。 复杂档画图捷径 — TikZ Snippet Library(21 个 + 预览 PNG) Batch 17 fig153 教训 :Philosophy 文本指南让 sub-agent 知道要嵌入 viz / panel / 公式 ,但 写出来的视觉重量、留白、配色协调仍然失败 ——因为这些是 visual perception 而非 textual 任务。 解决方案 : references/tikz-snippets/ 提供 21 个手工精雕的 TikZ 片段(各带 PNG 预览)+ 6 个 example-skeleton + 1 个组合规则文档 (完整清单见该目录 README.md )——sub-agent 看 PNG 选 + 复制粘贴 + 替换参数 + 按组合规则拼装 即可达到 examples 标杆。 5 大类零件 (详见 references/tikz-snippets/README.md inline gallery): 类别 数量 文件 1. 嵌入数据可视化 6 attention-heatmap / confusion-matrix / mini-spectrogram / image-strip / scatter-plot / embedded-graph 2. 信息 panel / 图表 5 bar-chart / line-chart / radar-chart / hyperparams-table / metrics-card 3. 数学 / 几何 3 gaussian-curve / vector-arrows / formula-box 4. 结构 / 流程 4 stage-container / pipeline-stages / layer-stack / feedback-loop 5. 整图骨架元素 3 multi-zone-palette / color-legend / summary-bar 组合规则 ( 必读 ): COMPOSITION-RULES.md — snippet 间留白 / 对齐 / Z-order / 整图骨架(双栏对称 / 5 stage 横向 / 中央 hero + 4 panels) 复杂档强制流程 : 先读 references/tikz-snippets/README.md —— inline gallery 含每个 snippet 的 PNG 预览 首选 :复制完整 example-skeleton-B-horizontal.tex (pipeline 类)或 example-skeleton-C-centralhero.tex (hero+panels 类)作 figure.tex,改 content 不动 layout(连线拓扑与需求语义不匹配时按「mode A 拓扑逃生舱」改拓扑,见 4 路径一节) 次选 (特殊布局需求):看 PNG 选 ≥ 3 snippet 自己拼装 必读 COMPOSITION-RULES.md —— 解决"snippets 都塞进去但仍乱"问题 底部必有 color-legend OR summary-bar 绝对不能"简化"snippet 核心结构 —— 简化 = 信息稀疏 = 平庸 硬约束(违反必失败) 🧱 代码正确性地基 → tikz-figure-code skill 。本技能管"画什么 + 怎么编排迭代"; "怎么写出编译干净、编辑安全的 TikZ 代码"(5 条按构造 idiom + 8 条硬约束全集 + canonical 箭头 + lint.sh 静态检查入口) 沉淀在那个地基技能里。写从零图 / 改排版 bug / CJK 渲染问题时按需加载它。本节是其硬约束的高频子集。 🔴 工具铁律:只用 TikZ 或 draw.io,禁止 Python/matplotlib 替代 (2026-05-22 Batch 17 fig153 教训:sub-agent 在执行 Module-First 时用 Python+matplotlib 生成 .py 文件 = 完全偏离 thesis-figure-skill 价值主张): Module-First 子流程(③.A→③.D)必须保持 TikZ ——即使 matplotlib 画嵌入 viz 更方便 复杂嵌入 viz 仍用 TikZ 原生( \foreach 画 cell / pgfplots 包 / \draw 手画 patch) 学术论文图嵌入仍是金标准 : \input{figure.tex} 比 \includegraphics{fig.png} 在公式渲染、矢量缩放、风格统一上都优 仅当用户 明确要求 Python 时才允许 — 默认必 TikZ 🔴 配色铁律:默认 light background,dark theme 需用户明确请求 : 学术论文标准是 white/light bg;dark theme 与正文风格断裂 Philosophy 段"≥5 种 zone tone"指 zone 浅色背景 + box 中饱和度, 不是 整图反转色 sub-agent 不要自作主张套 dark theme ⚠️ xelatex + rotate=90 中文 — 渲染为不可读色块,所有中文标注必须水平 ⚠️ \texttt 包裹中文 — 报错,纯英文代码才用 \texttt / code_block ⚠️ ctex 不可用 — 编译前 kpsewhich ctex.sty ,否则切方案 B(fontspec) ⚠️ ucharclasses — tikz 节点内中英混排频繁 Missing character,禁用 ⚠️ xelatex 对缺失字体静默失败 — 编译后必须 grep "Missing character" *.log ⚠️ 单条 \draw + rounded corners 画长距离 U 型回路 — 路径异常,拆 3 段独立 \draw ⚠️ SVG clip-path + preserveAspectRatio="none" 模拟梯形 — 高度不可控,禁用 ⚠️ 空心描边字 stroke-width ≥ 1.2 — 笔画间隙被填满变模糊,控制 0.6-0.8 工作流(⓪→⑦) ⓪ 依赖检测 → ① 画图指令 → ② 加载规则 → ③ 生成代码 → ④ 编译验证 → ⑤ 评分 → ⑥ 迭代 → ⑦ 沉淀 ⓪ 依赖检测(首次自动执行一次) TeX / pdftoppm 缺失: 只提示用户安装 ,不自动装。 which xelatex || echo "请装 mactex-no-gui (macOS) / texlive-xetex (Linux)" which pdftoppm || echo "请装 poppler" Python 工具(小依赖,缺失自动 pip3 install ): pdfplumber 、 pymupdf 、 pathfinding 、 opencv-python 、 scikit-image ( pymupdf 不装 → line-through-node + node-overlap 两类几何检测会 ERROR 退出,不静默跳过——别忽略) ⓪.5 入口模式分流(⓪ 之后第一问,路径分叉点) skill 现在支持 4 种生成路径 ——画图前必须先确定走哪条。 A / C 之间必须让用户选(见下方判断规则第 5 条),B / D 由关键词触发 。 路径 触发关键词(用户原 prompt) 说明 状态 A — Skeleton 复用 "画一张 X 图"、"帮我画 Y"、未明示其他 从已验证 skeleton (B/C/D/E/F/G) 选一个, 复制全部 + 改 content + 不动 layout 常量 ;需求语义与 skeleton 连线拓扑不匹配时走**「mode A 拓扑逃生舱」**(见下)。⚠️ mode A 高发缺陷=语义被 skeleton 拓扑绑架(stale-semantics),④.5 文末 gate 对 A 同样强制 ✅ 默认 B — Remix(跨 skeleton 拼模块) "组合 D 的雷达 + G 的图表那种"、"想要 X 的左半 + Y 的右半" 多选 skeleton 部件,自动拼装 🚧 暂未实装, 回退到 A C — 原创设计 "独特版面"、"复刻这张 ref.png"、"从零设计"、"我没有合适的 skeleton" 从零设计 layout(Module-First ③.A→③.D)→ 强制独立多镜头审查 gate (④.5 文末)。⚠️ mode C 最易在"图里最新、无 skeleton 先例的那个结构"上崩,且 generator 自审对此 结构性失明 ✅ 现有路径 D — 沉淀入库 "把这张 .tex 存进库"、"作为新 skeleton"、"添加到 examples"、"沉淀到模板库" 用户已有 .tex → 自动入库为 example-skeleton-{H..Z}-<topic>.tex ✅ 走 Φ 沉淀通道 走 A → 继续 ① ② ③ ④ ④.5 ⑤ ⑥ ⑦(③ 走 A 路:从 6 个 skeleton 选最匹配的 → 复制全部 → 改 content / 不动 layout 常量 / 严格遵守 CONSTRAINTS section;连线拓扑与需求语义冲突时 必须 走「mode A 拓扑逃生舱」;④.5 必走「独立多镜头审查 gate」 ——与 mode C 同一道,见 ④.5 文末) 走 B → 当前不可用。报告用户"Remix 模式暂未实装,当前请用 A skeleton 复用;如果你想要的部件组合在某个 skeleton 里近似存在,可以直接走 A 选最接近的" 走 C → 继续 ① ② ③ ④ ④.5 ⑤ ⑥ ⑦(③ 走从零路 + Module-First ③.A→③.D 子流程;④.5 必走「独立多镜头审查 gate」 ——见 ④.5 文末,不可只靠 generator 自审) 走 D → 跳过 ①-⑦ ,直接进 Φ 沉淀通道 (见文末) 判断规则 (按优先级): 用户提到 "存进库 / 入库 / 作为模板 / save to examples" → 强 D (直接走 Φ) 用户提到 "组合 X 的 Y + Z 的 W" → 强 B (回退到 A + 提示) 用户明确要 "独特 / 原创 / 从零 / 自由发挥 / 复刻这张 ref.png" → 强 C (不必再问) 用户明确要 "用模板 / 照 skeleton X / 跟上次那张一样" → 强 A (不必再问) 其余( 绝大多数情况 )→ 🔴 必须询问用户走 A 还是 C,禁止默认 A 静默开画 为什么第 5 条必须问 (2026-07-25 skill 作者澄清原始设计意图):「用参考组件(按模板样式) vs 自由发挥(用模型能力)」是 用户的审美决策,不是 agent 的技术决策 ——它决定成品是 "skeleton X 的换皮版"还是"为这段文字原创的版面",而用户对此的偏好 agent 无法从 prompt 推断 。 旧规则"其余 → A,不需要询问"把这个决策硬编码掉了,且与 ①.5(复杂度档不明确时必须问用户) 自相矛盾 ——模式选择的后果比复杂度档更大,没有理由反而不问。 问之前先做 skeleton 贴合度预检(便宜,≤1 次 Read),带着推荐去问 ——不要空手问"你要哪个": a) 从需求拓扑(几路输入 / 有无 hero / 有无闭环 / 几个输出 / 版面宽高比)粗选最接近的 skeleton b) 粗数 需要改几处拓扑 才装得下(删列 / 加连线 / 改连线角色 / 折叠 zone 链 / 换底部 panel 语义) c) 由改动量形成推荐: - 0–2 处 → 推荐 A (复用真省事,且版面已被验证过,几何风险低) - ≥3 处 → 推荐 C (改到这个量级,"复用"已名不副实;继续硬套 A 只是规则惯性, 不如从零为内容设计版面。⚠️ 这也是「拓扑逃生舱」被反复触发的信号) - 库里没有形态相近的 skeleton → 推荐 C d) 用 AskUserQuestion 把两条路的 代价 一起讲清,而不是只列名字: A = 快 / 稳 / 一次过编译概率高,但版面创意上限受限于库里现有 6 个骨架; C = 上限高 / 版面为内容量身定制,但实测 3/3 会在"图里最新、无先例的那个结构"上崩, 必须靠独立多镜头 gate 兜回来,迭代轮数更多。 e) 顺带可与 ①.5 的复杂度档合并成一次 AskUserQuestion 调用(2 个问题),少打断一次用户。 模式选择对编译验证 / vision-audit 的影响 :A 模式因为 skeleton 已经过版面验证,④.5 重点放在"内容是否完全脱离 skeleton 主题(renaming 漏掉、stale 标签)+ 连线拓扑是否还在讲 skeleton 原来的故事 (stale-semantics)"上,且 同样必须过「独立多镜头审查 gate」 (2026-07-22 实测:mode A 复用图 checker 全绿、生成方自审通过,独立 gate 仍抓出 3 个 HIGH 语义缺陷——skeleton 复用的语义缺陷率不比 mode C 低); C 模式走完整 18 项 checklist + 同一道 gate (generator 自审在 mode C 实测 3/3 漏掉核心缺陷,必须外部对抗审查兜底);D 模式走 Φ.2 简化版 audit。 mode A 拓扑逃生舱(2026-07-22 实测坐实) :skeleton 的连线拓扑是为它原来的故事设计的——当用户需求的数据流与之不匹配(典型症状:子步骤间缺内部流程箭头、fan-out 目标错位被读成错误分发、闭环/回传通道缺失), "只改 content 不动拓扑"会让语义被 skeleton 绑架:图看起来对、读起来错 。实测案例(纵向联邦学习 × skeleton-F):生成方自己把两条语义缺陷列进"遗留问题",仍因"不改拓扑"规则照常交付,独立 gate 判 REJECT。规则: ①.0 图契约写完后, 显式核对 skeleton 连线拓扑 vs 需求数据流 ,不匹配处逐条列出——不允许"语义松弛处理"后沉默交付。 需要改拓扑时 允许且必须改 ,但只能用 by-construction 方式:新连线走 node anchor( .east / .west )、fan-out 用 trunk+spine+stub canonical、长回环拆段挂 zone anchor—— 禁止手填绝对坐标 (实测:按此方式改拓扑 3 处 + 框加行,几何零新伤,下游元素 anchor 自动回流)。 改动的拓扑记录进 figure.tex 头部契约注释(改了什么、为什么),供 ④.5 与 gate 审查。 已知语义遗留 = blocker,不是"遗留问题" ——生成方列得出来的语义缺陷必须修掉或升级给用户拍板,不允许自知有缺陷仍按"规则不让改"交付。 ① 画图指令(强制显式输出,不可跳过) 加载 references/step1-instructions.md ——里面有完整的 10 项要素清单、参考图测量规则、ASCII 草图法、嵌入可视化决策表、 密度参考表(按论文复杂度选档位) 、节点形状/连线速查、Pre-flight P1-P7。 禁止"心里想好直接写代码" ——跳过这步返工率 100%。 关键认识 :步骤① 的输出不是"最大复杂度版本"。先判断论文实际复杂度(极简/中等/复杂/超复杂),再选画图档位。 从复杂版起步然后修瑕疵 比 从合适档位起步 累计 token 高一个数量级——MMAlign 11 轮迭代就是反面教材。 ①.0 图契约(动笔/选 form 前先写,≤6 行;极简档可一句话带过) conclusion-first:先确定"这张图要证明什么",再选最小结构——而不是先挑模板再填内容。 写进 figure.tex 头部注释块 最顶部 : 核心结论:<一句话,必须带动词。如"X 通过 Z 把 Y 降低"——不是"X 的结果"/"系统架构"> 图原型:<对应 skeleton/mode:横向流水线=B / 中心 hero=C / 纵向侧栏=D / 多模态融合=E / 多阶段多子图=F / 联邦纵向=G / 纯几何·对比=无 skeleton> 证据层级:hero(最该被 5 秒记住的那块)=<…>;支撑=<…,视觉上更安静,不抢 hero> 能不能更少?:<去掉哪个框/panel 后仍能证明核心结论?能去就去——每个元素必须挣到位置> 为什么加这一步 (借鉴 nature-figure 的 figure-contract,砍掉其 Python/SVG/统计字段): 核心结论 = ④.5 Step 0「审稿人 5 秒记住什么」的标准答案,提前钉死,避免画完才发现没重点。 图原型直接决定档位与 skeleton —— 判档看原型,不是数节点 (消解下面的"节点数悖论":原型一旦定了,form 和档位随之确定)。 「能不能更少」是反 AI-slop 的硬约束 :把 Philosophy 的"每个元素earn its place"变成动笔前的一次显式删减,而不是 ④.5 事后做无用功。 极简档 :核心结论写一句、图原型选「纯几何·对比」即可,证据层级/能不能更少可略。 🔴 强制物质化要求 (fig126 Tacotron2 教训:sub-agent 加载 step1 但跳过实际输出,产生大块空白): 步骤 ① 必须 以文字形式实际输出 (不是"想了就过"),且 第一段写进 figure.tex 头部注释块 作为证据。 形式两选一 ,按图复杂度选: 🔵 form A/B 选择前的先决条件 (消除"节点数悖论"——判档依赖草图、草图依赖判档的循环): 首选信号 = ①.0 的图原型 (原型一旦定下,form 与档位随之确定,不必先数节点):C/E/F/G 原型 → 复杂档 → form B;B 原型 → 中等或复杂档 → form A 或 B;纯几何·对比原型 → 极简档 → form A。原型仍模糊时,再用下面的兜底信号: 1. 先粗估档位(无需精确节点数,先看明显信号): ① 含 hero 子结构 / 嵌入热力图 / 多 panel / ≥3 列 → 复杂档 → form B ② 含 fan-out / 时序生命线 / 12+ 模块 → 中等档 → form A 或 form B ③ 纯几何/单链/对比图(明显 < 15 节点)→ 极简档 → form A 2. 按粗判选 form 写注释块(form A 画 ASCII OR form B 写 narrative) 3. 注释块写完后**数节点 → ①.5 精确确认档位** 4. 若精确档位 ≠ 粗判档位 → 调整 form(极简误判为复杂 = 简化为 A; 复杂误判为极简 = ASCII 画不下 → 改写 B) 铁律 :先粗判 → 写注释块 → ①.5 精确确认 → 必要时调整。 禁止凭直觉直接选 form 又凭直觉判档 。 形式 A — ASCII 草图(极简档 / 中等档无嵌入 viz) % Step ① 设计文档 % 领域 / 格式 / 档位 / 整图 W×H cm / 信息流方向 / 行×列 % 模块列表 N 个,核心 = X / 连线逻辑 / 空间规划 rail x / 视觉强调 % ASCII 草图: % +-----------+ +-----------+ +-----------+ % | Encoder |----->| Attention |----->| Decoder | % +-----------+ +-----------+ +-----------+ % 预防 issues:[2-3 个坑] 形式 B — Narrative 设计文字(复杂档 / hero 子结构 / 嵌入 viz / 多 panel) 复杂图 ASCII 表达不全,用 叙述性空间描述 ——每列/每 zone 写一段:(a) x/y 范围 (b) 内部子结构 (c) 与相邻列关系 (d) 留白处理 ( 特别要预想哪里可能出现大块空白并写出应对 — fig126/137 教训) 写在 figure.tex 头部作为注释 ,sub-agent 在 ④.5 Step 0 时读取核验。若注释不存在 → blocker 回 ① 重做。 注意 :form B 不是必须填模板,是用"设计师的叙述思维"展开布局——重点是 Philosophy 段的 UNFORGETTABLE Question :你怎么布局让审稿人 5 秒记住一个独特结构? ①.5 图档判断( 用户驱动 + 自动检测兜底)
Keywords that activate this skill. Click one to copy it.
This skill does not provide trigger words.
The downloaded .skill package contains the following fields.
| Field | Description |
|---|---|
| format | Format tag (skill/v1) |
| skill_id | Unique skill ID |
| name | Skill name |
| version | Version |
| description | Description |
| category | Categories (array) |
| trigger_words | Trigger words |
| tags | Tags |
| source | Source |
| source_url | Source URL (this page) |
| exported_at | Exported at (set per download) |
| system_prompt | System prompt body |
| model_config | Model config: provider / model / temperature / max_tokens / top_p |
| examples | Examples |
| install_guide | Import guide for Coze / Dify / Claude / custom frameworks |
The same skill can be exported in different platform formats.