Skip to content

cetz-package/cetz

Repository files navigation

CeTZ

CeTZ (CeTZ, ein Typst Zeichenpaket) is a library for drawing with Typst with an API inspired by TikZ and Processing.

Examples

Karl's Picture Tree Layout Waves

Click on the example image to jump to the code.

Usage

For information, see the online manual.

To use this package, simply add the following code to your document:

#import "@preview/cetz:0.3.1"

#cetz.canvas({
  import cetz.draw: *
  // Your drawing code goes here
})

CeTZ Libraries

Installing

To install the CeTZ package under your local typst package dir you can use the install script from the repository.

just install

The installed version can be imported by prefixing the package name with @local.

#import "@local/cetz:0.3.1"

#cetz.canvas({
  import cetz.draw: *
  // Your drawing code goes here
})

Just

This project uses just, a handy command runner.

You can run all commands without having just installed, just have a look into the justfile. To install just on your system, use your systems package manager. On Windows, Cargo (cargo install just), Chocolatey (choco install just) and some other sources can be used. You need to run it from a sh compatible shell on Windows (e.g git-bash).

Testing

This package comes with some unit tests under the tests directory. To run all tests you can run the just test target. You need to have typst-test in your PATH: cargo install typst-test --git https://github.com/tingerrr/typst-test.

Projects using CeTZ

  • cirCeTZ A port of circuitikz to Typst.
  • conchord Package for writing lyrics with chords that generates fretboard diagrams using CeTZ.
  • finite Finite is a Typst package for rendering finite automata.
  • fletcher Package for drawing commutative diagrams and figures with arrows.
  • riesketcher Package for drawing Riemann sums.
  • chronos Package for drawing sequence diagrams.
  • circuiteria Package for drawing circuits.
  • rivet Package for drawing instruction / register diagrams.