document

Macro document 

Source
document!() { /* proc-macro */ }
Expand description

Creates a Document with embedded templates, fonts, and packages.

§Usage

// Generate PDF
let pdf = typst_bake::document!("main.typ").to_pdf()?;

// Generate SVG (one per page)
let svgs = typst_bake::document!("main.typ").to_svg()?;

// Generate PNG at 144 DPI (Retina)
let pngs = typst_bake::document!("main.typ").to_png(144.0)?;

§Configuration

Add to your Cargo.toml:

[package.metadata.typst-bake]
template-dir = "./templates"
fonts-dir = "./fonts"

§What Gets Embedded

  • Templates: All files in template-dir are embedded and accessible from .typ files
  • Fonts: Only supported font formats (TTF, OTF, TTC) are embedded. At least one font is required; without fonts, Typst produces invisible text
  • Packages: Using packages requires no manual setup. Just use #import "@preview/..." as you normally would in Typst. The macro scans for package imports and recursively resolves all dependencies at compile time