Universe

finite is a Typst package for rendering finite automata on top of CeTZ.

Usage

For Typst 0.6.0 or later, import the package from the Typst preview repository:

#import "@preview/finite:0.4.1": automaton

After importing the package, simply call #automaton() with a dictionary holding a transition table:

#import "@preview/finite:0.4.1": automaton

#automaton((
  q0: (q1:0, q0:"0,1"),
  q1: (q0:(0,1), q2:"0"),
  q2: (),
))

The output should look like this: Example for a finite automaton drawn with finite

Further documentation

See manual.pdf for a full manual of the package.

Development

The documentation is created using Mantys, a Typst template for creating package documentation.

To compile the manual, Mantys needs to be available as a local package. Refer to Mantys’ manual for instructions on how to do so.