FigGenie 论文插图 · DSH 插件
Draw camera-ready paper figures as real vector SVG — then fix them in the sidebar, export PDF, and hand an editable
.drawioto a co-author. 中文说明见下。
把一段论文描述变成能进论文的插图:按 OSDI/NSDI/SOSP 与 ICLR/ICML/NeurIPS 的排版习惯手写 SVG,画完自动跑一遍排版体检,再在右侧栏里边看边改。
它解决什么
论文插图有自己的规矩:字号不能比图注小、线宽要统一、框间距要等距、箭头不能穿过盒子、文字不能溢出边框、整体要落在单栏或双栏版心内。这些规矩靠"手感"画不出来。FigGenie 把它们写成可执行的检查:越界、溢出、重叠、连线穿盒、字号越界、重复 ID,按 error / warning 分级列出,改到干净为止。
输出是真正的矢量 SVG(不是截图),字体按子集嵌入、随图带走。
装好之后
右侧边栏多一个「插图」标签:
- 预览:列出工作区里的
.svg,点一下按 1×–6× 渲染成 PNG(本机 Chromium 渲染,所见即投稿所得)。 - 检查:一键排版体检,问题分级列出。
- 导出:矢量 PDF(Type0 字体嵌入),以及在 draw.io 里能继续编辑的
.drawio。 - 编辑:侧栏内的画布编辑器。
画布编辑器
- 38 种图形,分四组
- 流程:矩形、圆角、起止、判断、数据(平行四边形)、准备、手动操作、合并、子流程、延时、显示、手动输入、跨页
- 数据与文档:文档、数据库圆柱、注释、多文档、内部存储、云
- 基础:椭圆、圆、三角、梯形、六边形、八边形、五边形、星形、对话气泡、块箭头、纯文字
- UML:参与者、类、对象、包、组件、接口、用例、状态、初始节点、终止节点、UML 注释
- 任意角度旋转:拖手柄即转(Shift 吸附 15°),也能输入精确角度、按 15° 步进、一键复位;连线端点跟随旋转。
- 容器:勾选后该图形可以合法容纳其它节点(导出为
c:组),体检不会再误判重叠。 - 连线四轴可调:箭头位置(无 / 终点 / 两端 / 起点)、箭头样式(实心三角、开口箭头、菱形、圆点)、线型(实线 / 虚线 / 点线 / 自定义)、走线(直线 / 折线 / 曲线)。
- 拖拽即改:拖动移动(Shift 吸附 10pt)、8 个手柄缩放、四边端口拉出新连线。
- 撤销重做 60 步,Delete 删除,方向键微调,Ctrl+S 保存。
- 色盘与吸管:色相环 + 饱和度/明度方块,十六进制输入,「最近 / 图中已有 / 预设」三行色块;吸管取画布真实像素。填充、描边、文字颜色、连线颜色与标签颜色都能单独上色。
- 画布尺寸:宽高可改,另有「适应内容」「居中」。
保存写回 SVG,并在旁边留一份 .edit.json,下次打开仍是可编辑状态;保存前自动体检。
安装
- 侧栏 插件 → 添加插件,把本包的
.tgz绝对路径填进输入框(或拖进对话框)。 - 完成后右侧栏出现 插图 标签,按 F5 刷新页面即可。
依赖:
py -m pip install lxml jsonschema pypdf pymupdf python-pptx playwright
py -m playwright install chromium
已知边界
- draw.io 没有自由多边形 / 网格 / 径向渐变图元,这类内容只能作为矢量图片单元格保留(缩放不糊、可整体移动旋转),线性渐变则是原生可编辑填充。
- 体检是"规则检查"不是"审美判断":它能发现越界、溢出、重叠、连线穿盒,但不能替你决定这张图讲得好不好。
- 字符宽度按 Chromium 实测字体度量计算,换字体后需要重新生成。
- 预览与 PNG 是栅格,投稿请用 SVG 或 PDF。
版本
当前 1.7.3。更新日志见 CHANGELOG.md。
许可
MIT。技能与调色板素材来自 FigGenie Skill(Sleepy Avacado),本仓库为其 DSH 插件封装(技能注册、侧栏预览、画布编辑器、draw.io 导出)。
No comments yet. Be the first to write one.