This is a package for creating presentation slides in Typst. Read the book to learn all about it and click here to see what’s new!

If you like it, consider giving a star on GitHub!

Book badge GitHub GitHub release (latest by date) GitHub Repo stars Demo badge Themes badge


For the bare-bones, do-it-yourself experience, all you need is:

// Get Polylux from the official package repository
#import "@preview/polylux:0.3.1": *

// Make the paper dimensions fit for a presentation and the text larger
#set page(paper: "presentation-16-9")
#set text(size: 25pt)

// Use #polylux-slide to create a slide and style it using your favourite Typst functions
  #align(horizon + center)[
    = Very minimalist slides

    A lazy author

    July 23, 2023

  == First slide

  Some static text on this slide.

  == This slide changes!

  You can always see this.
  // Make use of features like #uncover, #only, and others to create dynamic content
  #uncover(2)[But this appears later!]

This code produces these PDF pages: minimal example

From there, you can either start creatively adapting the looks to your likings or you can use one of the provided themes. The simplest one of them is called simple (what a coincidence!). It is still very unintrusive but gives you some sensible defaults:

#import "@preview/polylux:0.3.1": *

#import themes.simple: *

#set text(font: "Inria Sans")

#show: simple-theme.with(
  footer: [Simple slides],

  = Keep it simple!

  Alpha #footnote[Uni Augsburg] #h(1em)
  Bravo #footnote[Uni Bayreuth] #h(1em)
  Charlie #footnote[Uni Chemnitz] #h(1em)

  July 23

  == First slide



  This is very important.

  = Let's start a new section!

  == Dynamic slide
  Did you know that...

  ...you can see the current section at the top of the slide?

This time, we obtain these PDF pages: simple example

As you can see, a theme can introduce its own types of slides (here: title-slide, slide, focus-slide, centered-slide) to let you quickly switch between different layouts. The book has more infos on how to use (and create your own) themes.

For dynamic content, Polylux also provides a convenient API for complex overlays.

If you use pdfpc to display your slides, you can rely on Polylux’ support for it and create speaker notes, hide slides, configure the timer and more!

Visit the book for more details or take a look at the demo PDF where you can see the features of this template in action.

⚠ This package is under active development and there are no backwards compatibility guarantees!


Thank you to…

  • @drupol for the university theme
  • @Enivex for the metropolis theme
  • @MarkBlyth for contributing to the clean theme
  • @ntjess for contributing to the height fitting feature
  • @JuliusFreudenberger for maintaining the polylux2pdfpc AUR package
  • @fncnt for coming up with the name “Polylux”
  • the Typst authors and contributors for this refreshing piece of software