TikZero: Zero-Shot Text-Guided Graphics Program Synthesis

Jonas Belouadi, Eddy Ilg, Margret Keuper, Hideki Tanaka, Masao Utiyama +3 more
3/14/2025
cs.CLcs.CV

No official code found. Best implementation: potamides/DeTikZify (1,806 stars, Apache-2.0, PyTorch, last commit 2026-02-04).

Abstract

Automatically synthesizing figures from text captions is a compelling capability. However, achieving high geometric precision and editability requires representing figures as graphics programs in languages like TikZ, and aligned training data (i.e., graphics programs with captions) remains scarce. Meanwhile, large amounts of unaligned graphics programs and captioned raster images are more readily available. We reconcile these disparate data sources by presenting TikZero, which decouples graphics program generation from text understanding by using image representations as an intermediary bridge. It enables independent training on graphics programs and captioned images and allows for zero-shot text-guided graphics program synthesis during inference. We show that our method substantially outperforms baselines that can only operate with caption-aligned graphics programs. Furthermore, when leveraging caption-aligned graphics programs as a complementary training signal, TikZero matches or exceeds the performance of much larger models, including commercial systems like GPT-4o. Our code, datasets, and select models are publicly available.

View on arXivView PDF

Code Implementations(1)

potamides/DeTikZifyCommunity100%
PyTorchApache-2.0

Synthesizing Graphics Programs for Scientific Figures and Sketches with TikZ.

1,80691PythonNov 27, 20238 months agoApache-2.0
drawgraphhuggingfaceinverse-graphicslatex+8 more

Similar Papers

Cite this paper

@article{belouadi2025tikzero,
  title  = {TikZero: Zero-Shot Text-Guided Graphics Program Synthesis},
  author = {Jonas Belouadi and Eddy Ilg and Margret Keuper and Hideki Tanaka and Masao Utiyama and Raj Dabre and Steffen Eger and Simone Paolo Ponzetto},
  year   = {2025},
  eprint = {2503.11509},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2503.11509v3}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2503.11509.svg)](https://codeofpaper.com/paper/2503.11509)

Discussion