DeTikZify 是一个能把手绘草图或已有图形自动转成 TikZ 图形代码的开源工具,主要解决画高质量科学图表费时费力,以及重建没有保存语义信息的现有图表很麻烦的两个问题。
DeTikZify的核心功能
根据草图或已有图形,自动生成带语义信息的 TikZ 图形程序;
用基于 MCTS 的推理算法,不用额外训练就能反复优化结果;
提供网页版操作界面(Web UI),也能通过编程接口调用全部功能(比如编译、渲染、保存 TikZ 图形)。
模型和数据集都放在 Hugging Face Hub 上,其中 TikZero 模型有专门集合。不过 DaTikZ_v2 和 DaTikZ_v3 这两个数据集因为 arXiv 的许可限制,公开版本删了部分内容,但提供了脚本,用户可以自己重建完整版。
DeTikZify优势
结果质量高:生成的 TikZ 程序能保留图表原本的语义信息,保证准确性和可读性;
用起来高效:自动化生成图表,省去大量手动写和调 TikZ 代码的时间;
使用灵活:支持多种输入方式(比如图片或文字描述),能适应不同场景。
DeTikZify安装和使用方法:
安装步骤:
基础安装(Python 包):用 pip 装:pip install 'detikzify[legacy] @ git+链接'(如果只用 DeTikZify v2 模型,可以去掉 [legacy]);
如果要运行项目里的示例,先克隆仓库,再用可编辑模式安装:git clone 链接,然后执行 pip install -e DeTikZify[examples];
另外还需要安装完整的 TeX Live 2023、ghostscript 和 poppler(通过系统软件包管理器或其他方式装)。
使用方式:
可以通过命令行启动网页版界面:python -m detikzify.webui --light;
也能通过编程接口直接调用功能(比如编译、渲染、保存 TikZ 图形)。下面是具体例子:
根据图片生成 TikZ 程序:
from operator import itemgetter
from detikzify.model import load
from detikzify.infer import DetikzifyPipeline
image = "https://w.wiki/A7Cc"
pipeline = DetikzifyPipeline(*load(
model_name_or_path="nllg/detikzify-v2-8b",
device_map="auto",
torch_dtype="bfloat16",
))
# generate a single TikZ program
fig = pipeline.sample(image=image)
# if it compiles, rasterize it and show it
if fig.is_rasterizable:
fig.rasterize().show()
# run MCTS for 10 minutes and generate multiple TikZ programs
figs = set()
for score, fig in pipeline.simulate(image=image, timeout=600):
figs.add((score, fig))
# save the best TikZ program
best = sorted(figs, key=itemgetter(0))[-1][1]
best.save("fig.tex")根据文字描述生成 TikZ 程序:
from detikzify.model import load from detikzify.infer import DetikzifyPipeline caption = "A multi-layer perceptron with two hidden layers." pipeline = DetikzifyPipeline(*load( model_name_or_path="nllg/tikzero-plus-10b", device_map="auto", torch_dtype="bfloat16", )) # generate a single TikZ program fig = pipeline.sample(text=caption) # if it compiles, rasterize it and show it if fig.is_rasterizable: fig.rasterize().show()
DeTikZify适合哪些人用?
做研究的人:需要快速画出高质量科学图表;
学生:需要绘制科学相关的图表;
用 LaTeX 的人:想在 LaTeX 文档里插入高质量的图表。
相关链接
GitHub 仓库:https://github.com/potamides/DeTikZify
Hugging Face 模型页面:https://huggingface.co/nllg/detikzify-v2-8b
Hugging Face 数据集页面:https://huggingface.co/collections/nllg/detikzify-664460c521aa7c2880095a8b
体验试用:https://nllg-detikzify.hf.space/


论文工具
文献管理
中文文献
英文文献
投稿选刊
专利检索
学术检索
学术社区
Ai+学习
英语学习
考研考公
出国留学
资格考试
学习平台
宝藏网站 