`$x^2 make-textbook-figure · Skills-SI Market `$\\sqrt{x} make-textbook-figure · Skills-SI Market `$\\theta make-textbook-figure · Skills-SI Market `$\\to make-textbook-figure · Skills-SI Market `$\\approx make-textbook-figure · Skills-SI Market 。\n\n3. **图形必须用 SVG 绘制**:线条、形状、箭头都是 SVG 元素。禁止用 Canvas(位图,缩放必糊)、禁止用位图截图充当矢量。\n\n4. **教学准确性**:标注、比例、符号、方向必须符合学科规范(力的箭头从作用点沿方向画出、光路图光线带方向、电路符号标准化)。这是教材插图的命脉——一张画错的受力图会直接误导学生。\n\n## 工作流程\n\n### 1. 明确图的内容(信息不全就问)\n用 AskUserQuestion 问清:学科与图类型(几何/力学/电学/光学/函数…)、要表达什么(哪个原理/哪道题)、关键要素(哪些力、哪些点、哪些量)。宁可多问一句,不要画错重画。\n\n### 2. 设计 SVG 结构与 LaTeX 标注\n规划:画布尺寸(默认 720×420)、坐标系/基准线、主要几何元素(用哪类线型)、需要的数学标注(变量、符号、公式)及其大致坐标。\n\n### 3. 基于 template.html 生成自包含 HTML\n复制 `${CLAUDE_SKILL_DIR}/assets/template.html` 为起点,替换三部分:`\u003csvg>` 里的几何元素、`.anno` 标注的坐标(`left`/`top` = SVG 坐标)与 LaTeX 公式、`.figure-title` 标题与 `.figure-caption` 图注。\n\n**关键技术点(务必遵守)**:SVG 只画线条/形状,数学标注用 `\u003cspan class=\"anno\">` 绝对定位叠加——因为 SVG `\u003ctext>` 不能承载 MathJax 渲染的公式。由于模板里 `viewBox` 与 `width/height` 一致,叠加标注的 `left`/`top` 直接填 SVG 坐标即可。各类图的画法见 `${CLAUDE_SKILL_DIR}/references/svg-drawing-guide.md`。\n\n### 4. 视觉质检(用视觉模型看截图)\n生成 HTML 后,用 Playwright/webapp-testing 打开截图,用视觉模型检查:\n- 公式是否全部 LaTeX 渲染(无裸 Unicode、无未渲染的 ` make-textbook-figure · Skills-SI Market )\n- 是否黑白矢量风格(无彩色/渐变)\n- 线条是否精确、线型语义是否正确\n- 标注位置是否对齐、有无重叠遮挡\n- 学科内容是否准确\n\n发现问题就回到第 3 步修正。\n\n### 5. 导出高清 PNG\n在浏览器中打开 HTML,点右上角\"导出高清 PNG\"按钮,下载后存到 `AI_output/`(文件名与内容相符)。导出依赖网络(MathJax/html-to-image 走 CDN)。导出细节与排坑见 `${CLAUDE_SKILL_DIR}/references/export-guide.md`。\n\n## 参考资料\n\n- `${CLAUDE_SKILL_DIR}/references/svg-drawing-guide.md` —— 坐标系、箭头、线型语义,以及受力图/光路图/电路图/函数图/几何图的 SVG 画法(画图前读对应章节)\n- `${CLAUDE_SKILL_DIR}/references/latex-cheatsheet.md` —— 教材常用 LaTeX(希腊字母、上下标、向量、求和积分、物理符号、矩阵)+ 禁止 Unicode 对照表\n- `${CLAUDE_SKILL_DIR}/references/export-guide.md` —— 高清 PNG 导出三要素与排错表\n- `${CLAUDE_SKILL_DIR}/assets/template.html` —— 复制即用的黑白矢量模板\n\n## 交付前自检清单\n\n- [ ] 所有公式/符号都是 LaTeX(页面无残留未渲染的 ` make-textbook-figure · Skills-SI Market 、无裸 Unicode 数学符号)\n- [ ] 纯黑白矢量(截图里无彩色/渐变/阴影)\n- [ ] 线型语义正确(实线/虚线/点划线/箭头各司其职)\n- [ ] 标注位置准确、无重叠遮挡\n- [ ] 学科内容正确(力的方向、光路、电路符号、几何关系)\n- [ ] 导出的 PNG 高清、无左侧空白、公式字体不丢\n","licenseDocuments":[]}}
L’interface est localisée ; les présentations et documents des Skills sont traduits automatiquement par IA dans votre langue. Le code, les commandes, chemins et termes techniques restent en version originale, et le document de l’auteur fait foi.
Explorer les Skills
Productivité · SKILL.md

make-textbook-figure

make-textbook-figure

构建教材级别的黑白矢量插图(几何图、受力分析图、光路图、电路图、函数图像、坐标系、物理/数学示意图等),以自包含 HTML 文件呈现——所有线条用 SVG 绘制,所有公式、符号、运算符、物理/数学符号用 LaTeX 经 MathJax 渲染为矢量,支持一键导出高清 PNG。当用户说"画个教材图/教材插图/教学示意图""画受力分析图/光路图/电路图/函数图/几何图""做一张黑白矢量图/示意图""把这道题/这个原理配张图""画个坐标系/数轴",或任何为教材、讲义、试卷、课件绘制精确黑白教学插图的需求时,必须使用本技能,即使用户没明说"教材"二字。注意:本技能与 make-infographic 不同——make-infographic 做彩色信息图/海报(给家长客户看,版式驱动),本技能做黑白精确教学插图(给师生…

Independent GitHub snapshot · Automated classification · Original documentation governs

Documentation de la Skill

GitHub

name: make-textbook-figure description: 构建教材级别的黑白矢量插图(几何图、受力分析图、光路图、电路图、函数图像、坐标系、物理/数学示意图等),以自包含 HTML 文件呈现——所有线条用 SVG 绘制,所有公式、符号、运算符、物理/数学符号用 LaTeX 经 MathJax 渲染为矢量,支持一键导出高清 PNG。当用户说"画个教材图/教材插图/教学示意图""画受力分析图/光路图/电路图/函数图/几何图""做一张黑白矢量图/示意图""把这道题/这个原理配张图""画个坐标系/数轴",或任何为教材、讲义、试卷、课件绘制精确黑白教学插图的需求时,必须使用本技能,即使用户没明说"教材"二字。注意:本技能与 make-infographic 不同——make-infographic 做彩色信息图/海报(给家长客户看,版式驱动),本技能做黑白精确教学插图(给师生用,准确性驱动),不要混用。

构建教材黑白矢量插图(SVG + LaTeX + 高清 PNG 导出)

这个技能产出什么

一张教材级别的黑白矢量插图,交付为自包含 HTML 文件(双击可在浏览器打开预览),可一键导出高清 PNG。适用于教材、讲义、试卷、课件中需要精确线条 + 数学/物理符号的示意图:几何证明图、受力分析图、光路图、电路图、函数图像、坐标系等。

硬性约束(违反即不合格)

这些约束来自教材插图的本质要求——精确、规范、可印刷。理解了"为什么",执行时才不会走偏:

  1. 黑白矢量风格:仅用 #000(黑)/#fff(白)+ 1–2 级灰度(#555 / #e5e5e5)。不用彩色、渐变、阴影、彩色填充。原因:教材多为黑白印刷,彩色会印成不可控灰阶;矢量才能任意缩放不糊。用线型区分语义:实线=实体边界/已知线,虚线=辅助线/隐藏边,点划线=对称轴,箭头=力/方向。

  2. 所有公式、符号、运算符、物理/数学符号必须用 LaTeX 渲染:经 MathJax tex-svg.js 渲染为矢量。禁止用 Unicode 字符凑(½ ² √ θ → ≈ 等)——它们字体不统一、排版不专业、上下标错位。正确写法:$\frac{1}{2}$ $x^2$ $\sqrt{x}$ $\theta$ $\to$ $\approx$。

  3. 图形必须用 SVG 绘制:线条、形状、箭头都是 SVG 元素。禁止用 Canvas(位图,缩放必糊)、禁止用位图截图充当矢量。

  4. 教学准确性:标注、比例、符号、方向必须符合学科规范(力的箭头从作用点沿方向画出、光路图光线带方向、电路符号标准化)。这是教材插图的命脉——一张画错的受力图会直接误导学生。

工作流程

1. 明确图的内容(信息不全就问)

用 AskUserQuestion 问清:学科与图类型(几何/力学/电学/光学/函数…)、要表达什么(哪个原理/哪道题)、关键要素(哪些力、哪些点、哪些量)。宁可多问一句,不要画错重画。

2. 设计 SVG 结构与 LaTeX 标注

规划:画布尺寸(默认 720×420)、坐标系/基准线、主要几何元素(用哪类线型)、需要的数学标注(变量、符号、公式)及其大致坐标。

3. 基于 template.html 生成自包含 HTML

复制 ${CLAUDE_SKILL_DIR}/assets/template.html 为起点,替换三部分:<svg> 里的几何元素、.anno 标注的坐标(left/top = SVG 坐标)与 LaTeX 公式、.figure-title 标题与 .figure-caption 图注。

关键技术点(务必遵守):SVG 只画线条/形状,数学标注用 <span class="anno"> 绝对定位叠加——因为 SVG <text> 不能承载 MathJax 渲染的公式。由于模板里 viewBox 与 width/height 一致,叠加标注的 left/top 直接填 SVG 坐标即可。各类图的画法见 ${CLAUDE_SKILL_DIR}/references/svg-drawing-guide.md。

4. 视觉质检(用视觉模型看截图)

生成 HTML 后,用 Playwright/webapp-testing 打开截图,用视觉模型检查:

  • 公式是否全部 LaTeX 渲染(无裸 Unicode、无未渲染的 $)
  • 是否黑白矢量风格(无彩色/渐变)
  • 线条是否精确、线型语义是否正确
  • 标注位置是否对齐、有无重叠遮挡
  • 学科内容是否准确

发现问题就回到第 3 步修正。

5. 导出高清 PNG

在浏览器中打开 HTML,点右上角"导出高清 PNG"按钮,下载后存到 AI_output/(文件名与内容相符)。导出依赖网络(MathJax/html-to-image 走 CDN)。导出细节与排坑见 ${CLAUDE_SKILL_DIR}/references/export-guide.md。

参考资料

  • ${CLAUDE_SKILL_DIR}/references/svg-drawing-guide.md —— 坐标系、箭头、线型语义,以及受力图/光路图/电路图/函数图/几何图的 SVG 画法(画图前读对应章节)
  • ${CLAUDE_SKILL_DIR}/references/latex-cheatsheet.md —— 教材常用 LaTeX(希腊字母、上下标、向量、求和积分、物理符号、矩阵)+ 禁止 Unicode 对照表
  • ${CLAUDE_SKILL_DIR}/references/export-guide.md —— 高清 PNG 导出三要素与排错表
  • ${CLAUDE_SKILL_DIR}/assets/template.html —— 复制即用的黑白矢量模板

交付前自检清单

  • 所有公式/符号都是 LaTeX(页面无残留未渲染的 $、无裸 Unicode 数学符号)
  • 纯黑白矢量(截图里无彩色/渐变/阴影)
  • 线型语义正确(实线/虚线/点划线/箭头各司其职)
  • 标注位置准确、无重叠遮挡
  • 学科内容正确(力的方向、光路、电路符号、几何关系)
  • 导出的 PNG 高清、无左侧空白、公式字体不丢
Skills enregistrées