tikz-figure-code

Solid

写出高质量、一次过编译、编辑安全的 TikZ/LaTeX 配图代码的工程基础技能。 教 agent 用「按构造布局」(positioning/fit/chains/anchor) 而非「手填绝对坐标」, 附 8 条硬约束、canonical 箭头、before/after 范例、一个静态检查入口 (lint.sh)。 Use when: 写/审 TikZ 或 LaTeX 图代码、修图的排版/对齐/溢出/箭头问题、 tikz layout、latex figure code、tikz 编译报错、CJK 中文图渲染成色块。

AI & Automation 121 stars 6 forks Updated 2 days ago MIT

Install

View on GitHub

Quality Score: 86/100

Stars 20%
69
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
80
License 10%
100
Description 5%
100

Skill Content

# TikZ Figure Code — 写对 + 编辑安全的工程基础 这是**确定性地基**:怎么写出编译干净、不重叠、改一处不崩的 TikZ 代码。 它**不**管"画什么图才美"——那是设计/编排层(见 [thesis-figure-skill](../thesis-figure-skill/SKILL.md))的事。 本技能管的是:无论画什么,代码本身得**写对、扛得住编辑**。 > 一句话定位:thesis-figure-skill 决定**画什么**,本技能保证**怎么写不出错**。 ## 为什么需要它(问题的根) 模型写 TikZ 的默认习惯是**"坐标凭感觉"**——`\node at (5.2, 3.1)`、`\fill rectangle (x0,y0)(x1,y1)`, 一格一格手摆。这是**业余写法**,导致两类必然的痛: 1. **盲写**:你写到第 800 行时不知道渲染出来什么样,碰撞/溢出/箭头不贴框只能编译后看图才发现 → 被迫进昂贵的"渲染→审查→修"循环。 2. **编辑即崩**:同一个间距/中心被手抄在多处(zone 边界、内容中心、箭头坐标、底栏…)。改一个 stage 宽度要同步 5 处,漏一处就崩——**而静态 checker 抓不到**(实测:一个加宽 hero 的编辑把 zone 压重叠、边框切穿内容,validator + overlap-checker 全报 0 硬 bug,只有看图才发现)。 **解法不是加更多检测,是换写法。** 专家写 TikZ 是**写一张约束图**(相对定位 + fit + matrix), 让布局引擎算位置——碰撞按构造不可能发生,图**correct by construction**,不是 correct-after-review。 证据:`references/examples/` 里同一张 5-stage pipeline,绝对坐标版 (BAD) 和按构造版 (GOOD) 渲染**视觉等价**;但施加同一个最自然的编辑(加宽 hero / 加长 label),BAD 崩、GOOD 自动重排。 见 `proof-edit-safety-hero-widen.png`。 ## 核心原则:LAYOUT BY CONSTRUCTION,不是 BY COORDINATE **作用域**:按构造纪律施加在**宏观骨架层**(模块/zone 彼此怎么放、怎么连)。 **嵌入 viz 内部**(热力图一格格、柱状图)可以继续局部手画——它自包含、坐标错了不级联—— 但要用 `\begin{scope}[shift={(parent.center)}]` 挂到父节点 anchor,让它随父节点移动。 ## 5 条 idiom(必须照做——散文指南传不了布局技能,照抄这些代码) ### ① 布局节奏只放一处 同一个间距/行高/列宽**只定义一次**,到处引用。永不把同一个数字抄在多处。 ```latex \newlength{\stagew}\setlength{\stagew}{4.5cm} % 改一处,全图跟着变 \def\gap{0.5cm} \tikzset{node distance=\gap} ``` ### ② 模块用相对定位摆,不用绝对 `at (x,y)` 第一个锚定,其余 `right=of` / `below=of` 前一个。间距活在 `node distance` 一处。 ```latex \node[zone] (s1) a...

Details

Author
0xE1337
Repository
0xE1337/thesis-figure-skill
Created
4 months ago
Last Updated
2 days ago
Language
TeX
License
MIT

Similar Skills

Semantically similar based on skill content — not just same category

Data & Documents Solid

thesis-figure-skill

生成学术论文配图:LaTeX/TikZ 代码(结构化图表,直接嵌入论文)或 draw.io XML (技术路线图、汇报配图)。自动按论文领域风格设计,编译验证后交付。 Use when the user asks for: 论文配图、画架构图、画流程图、TikZ 图、draw.io 学术图、复刻论文图、tikz/latex diagram。

121 Updated 2 days ago
0xE1337
Data & Documents Listed

tikz

Audit and fix residual TikZ visual collisions in a .tex file. A downstream repair tool — not a safety net. Use /tikz when labels overlap arrows, text sits on boxes, or arrows cross each other. Applies mathematical gap calculations and Bézier depth formulas — no eyeballing. ALSO invoke BEFORE writing any new TikZ figure — Step 0 loads the prevention rules (PREVENTION.md); writing safe TikZ beats repairing it.

0 Updated today
groundnuty
AI & Automation Listed

paper-plot

Paper 绘图代码生成命令(内建于 paper-figure,可独立调用)。当用户要生成绘图代码、plot 代码、画图代码、matplotlib 代码、ggplot2 代码、帮我生成图表代码、帮我写画图脚本、生成柱状图代码、散点图代码、折线图代码、箱线图代码、误差线图代码、直方图代码、热图代码,或说"帮我画个图""帮我写段代码画柱状图""给我一个 matplotlib 脚本"也触发——即使用户只说"画图""plot""代码画图"也应使用。行为铁律:仅 v1.0 P0 7 类图(柱状/条形算 1 类:柱状/条形/折线/散点/箱线/误差线/直方图/热图)× matplotlib + ggplot2;选库让用户拍板(先问 matplotlib/ggplot2/别的,得到答复才生成);配色取自公开色板(Okabe-Ito/ColorBrewer/viridis,非 AI 原创);真实数据或显式占位符(PAPER_PLACEHOLDER),绝不编看似真实的研究数据;确认前零落盘。"帮我画 KM 曲线""帮我画 ROC""帮我画森林图""帮我画 TikZ"走让路说明(v1.1+);"帮我编一组示例数据"走三段式拒绝(处 2 死线)。

2 Updated today
cabbage2000-lab