vec2typst
Extract text from SVG figures into editable Typst overlays while preserving the original vector graphics. A Typst equivalent of Inkscape's PDF+LaTeX SVG export.
[!NOTE] vec2typst is still in an early stage. Future versions may also support PDF-based workflows.
Why not just use image()?
SVG figures can already be embedded directly in Typst with image().
However, the text inside the SVG remains part of the original graphic and cannot participate
in Typst's typesetting system.
vec2typst extracts SVG text into editable Typst overlays while preserving the original vector graphics.
The goal is to preserve the original SVG rendering as closely as possible while allowing figure texts to become native Typst content. This makes it possible to:
- use native Typst content inside figure texts, including math, styling
- adjust text styling with
set text(...)
Installation
uv tool install vec2typst
Usage
vec2typst figure.svg
This generates:
figure.typfigure_notext.svg
To include the figure in your document:
#figure(
{
import "figure.typ": fig
set text(size: .75em) // adjustment
fig(width: 50%)
},
caption: [Caption.],
) <fig>
Metadata
Release files for vec2typst 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| vec2typst-0.2.0.tar.gz | 14.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| vec2typst-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 19.9 kB
Release files / vec2typst-0.2.0.tar.gz
| Download URL | vec2typst-0.2.0.tar.gz |
|---|---|
| Size | 14.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1af8670da03b4e0dff8d2644d526d769b49d4cf7bcdec71aa203ff3710fb5d0d
|
|
BLAKE2b-256 checksum How to use checksums |
b6ffb2d94ba7acf89c32a634b06a2ff3d94c1c3217df53deaf84d32835efa02d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 26, 2026.
Transparency logRelease files / vec2typst-0.2.0-py3-none-any.whl
| Download URL | vec2typst-0.2.0-py3-none-any.whl |
|---|---|
| Size | 5.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c00ce5ad487b177ed65ddb6ac51760b8e59aeaeca968cd4e0f60074e18d00f2f
|
|
BLAKE2b-256 checksum How to use checksums |
dc2d964ed4a49d1b0f640b984270c21da809b23179c228b090a2677d61883865
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 26, 2026.
Transparency log