SuperAPI AI 工具集

extract-tikz

办公与效率

查看项目

更新于 10-16 07:57

技能介绍

用途:从 Beamer 的 .tex 源码中提取 TikZ 图表,编译为多页 PDF,再逐页转换为 SVG,供 Quarto 幻灯片使用。若需新建图表而非提取,应改用 /new-diagram。

主要能力与流程:

  1. 新鲜度检查(强制):用 ls Slides/$ARGUMENTS*.tex 找到 Beamer 源文件,提取所有 \begin{tikzpicture} 块,与 Figures/$ARGUMENTS/extract_tikz.tex 比较,有差异则更新,不存在则新建。
  2. 预防预检(强制,违规即停止):运行 python3 scripts/check-tikz-prevention.py "Figures/$ARGUMENTS/extract_tikz.tex",检查 P3(scale=X 未缩放节点,允许 scale=X, every node/.style={scale=X} 或 scale=X, transform shape)与 P4(边标签缺少 above/below/left/right 等方向关键字)。退出码 0 通过、1 违规、2 用法错误;非零则停止并报告,不编译。P1、P2 由第 8 步 tikz-reviewer 检查。
  3. 进入目录:cd Figures/$ARGUMENTS
  4. 编译:TEXINPUTS=../../Preambles:$TEXINPUTS xelatex -interaction=nonstopmode extract_tikz.tex
  5. 统计页数:pdfinfo extract_tikz.pdf | grep "Pages:"
  6. 转 SVG(0 起始索引,PDF 页为 1 起始):PAGES=$(pdfinfo extract_tikz.pdf | grep "Pages:" | awk '{print $2}');for i in $(seq 1 $PAGES); do idx=$(printf "%02d" $((i-1))); pdf2svg extract_tikz.pdf tikz_exact_$idx.svg $i; done
  7. 同步:cd ../.. 后 ./scripts/sync_to_docs.sh $ARGUMENTS
  8. 验证 SVG 标记与文件大小。
  9. 视觉质量审查:调用 tikz-reviewer 代理,若返回 NEEDS REVISION 或 REJECTED,则修改 Beamer 源、重拷贝、重跑预检与编译、重生成 SVG 并重审,最多 5 轮,直到 APPROVED。
  10. 报告结果。

限制与注意:TikZ 图表必须先在 Beamer .tex 中编辑,再原样复制到 extract_tikz.tex(单一事实来源)。预检不覆盖 P1、P2。其余平台、收费等信息暂未提供。