David Stadelmann 94268c0a22 feat: add shell parameter and outside port names to block
Add `port-names-outside` to draw port name labels outside the block
border. It defaults to `auto`, which follows the new `shell` setting.

Add `shell` to `block` so it can act as a container, as an alternative
to `group`. Placing elements into such a block lets them be aligned to
the ports of the outer block. A shell block draws its port names outside
and, through the existing `wire-inside` behaviour, attaches wires to the
inner tip of pentagon ports. Child elements can be passed as a
positional body argument.

Add the `port-names-outside` and `shell` examples.
2026-10-22 00:30:16 +02:00
2026-10-22 00:30:10 +02:00
2024-05-16 21:34:50 +00:00
2026-10-21 23:39:59 +02:00
2026-07-04 01:35:35 +02:00

circuiteria

Circuiteria is a Typst package for drawing block circuit diagrams using the CeTZ package.

A platypus / Perry the Platypus meme made with colored rounded rectangles

Examples

Block diagram of a multi-cycle RISC-V FPGA processor
A bit of everything
Block diagram of a single-cycle RISC-V processor
Wires everywhere
Top-level block diagram of a single-cycle RISC-V processor Block diagram of a simple single-cycle RISC-V ALU
Groups Rotated

Note


These circuit layouts were copied from a digital design course given by prof. S. Zahno and recreated using this package

Click on the example image to jump to the code.

Usage

For more information, see the manual

To use this package, simply import circuiteria and call the circuit function:

#import "@preview/circuiteria:0.2.1"
#circuiteria.circuit({
  import circuiteria: *
  ...
})
S
Description
Drawing block circuits with Typst made easy, using CeTZ
Readme Apache-2.0
11 MiB
0 Stars 1 Watchers 0 Forks
Languages
Typst 99.8%
Just 0.2%