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:
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.