So in my last showcase about how I handle private packages I mentioned PRIA, and the main thing we do is a student conference with robotics competitions called ECER. Since I’ve fallen in love with Typst (and also converted my colleague with whom I organize the event), we’ve gone all-in and are doing basically all typesetting tasks using Typst.
Just to be very clear about that: we are not publishing a journal or anything, and our audience are high school students – so don’t see this as a precedent for Typst in academia. It’s still a somewhat big event using Typst for a couple of printing materials, so that’s what this showcase is about.
Here are some examples of materials we used Typst for:
As you can imagine, using Typst made reusing assets and properties super easy. I have a module shared between all documents …
#import "assets/lib.typ" as assets
#let year = "2025"
#let count = 13
… that would be imported and used like this:
#import "../lib.typ": year, assets
...
#set document(
author: "The ECER " + year + " team",
title: [Botball #year Amendments for ECER, Version #version],
date: date,
)
#assets.ecer-logo(width: 50%)
This document contains amendments to the game rules specified in the #year
Botball Game Review which are in effect for the European Botball region and the
PRIA Open competition at the European Conference on Educational Robotics #year.
And the PRIA assets that are not ECER specific are in a private package that I re-export from that shared library module:
#import "@pria/pria-assets:0.1.0": *
#let ecer-logo = image.with("ecer2025_color.svg")
Obviously not all of this is super exciting – putting some logos, text and arrows on a sheet of paper wouldn’t be hard in powerpoint either.
But I won’t have to do it again next year. I will change the ecer-logo
function and a few other things, and it will show up in all documents.
By the time the conference rolls around, we’ll also need name badges, time tables, table cards, checklists, certificates, etc. I will update here once this gets done!