A 16:9 presentation template for BIPS using Typst and Touying. Based on the institutional style from bips-beamer.
#import "@preview/bypst:0.2.0": *
#show: bips-theme
#title-slide(
title: "Your Presentation Title",
author: "Your Name",
institute: bips-en, // or bips-de
date: datetime.today().display(),
)
#bips-slide(title: "Introduction")[
- Bullet points
- *Bold* and _italic_ in BIPS blue
- Math: $s^2 = 1/(n-1) sum_(i=1)^n (x_i - overline(x))^2$
#pause
- Revealed on click
]
#thanks-slide(
contact-author: "Your Name",
email: "your.email@leibniz-bips.de",
qr-url: "https://link-to-slides.example.com",
)Once available from the Typst package registry, just import it like any other package:
#import "@preview/bypst:0.2.0": *To work on the theme itself, clone and install locally:
git clone https://github.com/bips-hb/bips-typst.git
cd bips-typst
just installThen use the local import instead:
#import "@local/bypst:0.2.0": *| Function | Purpose |
|---|---|
#title-slide() |
Opening slide with author, institute, date |
#bips-slide() |
Content slide with optional title/subtitle |
#section-slide() |
Section divider |
#thanks-slide() |
Closing slide with contact info and optional QR code |
#bibliography-slide[] |
References |
#empty-slide[] |
Blank slide without branding |
#bips-slide(
title: "Slide Title",
subtitle: "Optional Subtitle",
content-align: center + horizon, // center content vertically and horizontally
text-size: 16pt, // override text size for this slide
)[
Content here
]content-align accepts any Typst alignment: center, horizon, center + horizon, etc.
#title-slide(
title: "Collaborative Research",
authors: (
"Jane Doe" + inst(1,2),
"John Smith" + inst(1),
),
institutes: (
"BIPS",
"University of Bremen",
),
)#section-slide("Results")
#section-slide("Methods", show-logo: false)// Two columns (equal by default)
#two-columns[Left][Right]
#two-columns(columns: (2fr, 1fr), gutter: 2em)[Wide][Narrow]
// Three columns
#three-columns[A][B][C]#blue[text] #orange[text] #green[text] #gray[text]#callout(type: "note")[Information]
#callout(type: "tip")[Helpful hint]
#callout(type: "warning")[Caution]
#callout(type: "important")[Critical]
#callout(type: "tip", title: "Custom Title")[With a title]For dense layouts (e.g. multi-column slides), use #compact to tighten list spacing:
#compact[
- Item A
- Item B
- Item C
]Adjustable: #compact(spacing: 0.2em, leading: 0.2em)[...]
For lighter adjustments, #set list(spacing: 0.4em) works as a local override.
#vfill // shorthand for v(1fr)#bips-en // Leibniz Institute for Prevention Research and Epidemiology — BIPS
#bips-de // Leibniz-Institut für Präventionsforschung und Epidemiologie — BIPSThe theme re-exports Touying's animation functions:
#pause // reveal on click
#uncover(2)[On second click] // show on specific subslide
#only(1)[First click only] // only on specific subslide
#alternatives[Version A][Version B] // swap contentNote: Do not use #pause inside #two-columns / #three-columns. Use #uncover() or #only() instead.
The theme ships with a placeholder logo. Replace it with your own:
#show: bips-theme.with(
logo: image("bips-logo.png"),
)Set logo: none to hide the logo entirely.
The actual BIPS logo (bips-logo.png) is available in the GitHub repository but is not included in the Typst package due to unclear redistribution licensing. Download it and place it next to your .typ file, then use logo: image("bips-logo.png").
#show: bips-theme.with(
aspect-ratio: "16-9", // default
// Font families (string or array with fallbacks)
font: "Fira Sans",
code-font: "Fira Mono",
math-font: "New Computer Modern Math",
// Font sizes
base-size: 20pt, // scales headings, small/tiny proportionally
slide-title-size: 28pt, // explicit pt overrides take precedence
slide-subtitle-size: 22pt,
heading-1-size: 22pt,
heading-2-size: 20pt,
heading-3-size: 18pt,
small-size: 16pt,
tiny-size: 14pt,
page-number-size: 16pt,
code-block-scale: 0.9,
code-inline-scale: 1,
)#huge[Largest text for emphasis]
#large[Larger text for subheadings]
#small[Smaller text for captions or notes]
#tiny[Even smaller text for fine print]The gallery/ directory contains example presentations:
basic.typ— starter templatecomplete.typ— comprehensive feature showcasebibliography.typ— citations and referencesaspect-ratio.typ— 4:3 formatlecture-demo.typ— realistic 100-slide scale test
just install # install package locally
just all # compile all gallery demos
just test # run test suite
just clean # remove generated PDFsAfter editing theme files, run just install before compiling.
bypst.typ # package entrypoint
theme.typ # theme implementation
logo.png # placeholder logo (replace with your own)
typst.toml # package metadata
template/ # Typst Universe templates
gallery/ # example presentations
tests/ # test suiteThe theme uses Fira Sans for body text and Fira Mono for code, with automatic fallbacks if they are not installed:
| Role | Preferred | Fallback |
|---|---|---|
| Body text | Fira Sans | Noto Sans |
| Code | Fira Mono | DejaVu Sans Mono (Typst built-in) |
| Math | New Computer Modern Math | (Typst built-in) |
For the best results, install the Fira fonts. Override with the font:, code-font:, and math-font: parameters on bips-theme().
- Typst >= 0.12.0
- Dependencies: touying 0.7.1, codetastic 0.2.2 (resolved automatically)
MIT
The BIPS presentation theme zoo for "I don't want to use PowerPoint" folks:
| Markup format | Intermediate format | Output format | Based on | Repo / Package | Status |
|---|---|---|---|---|---|
| LaTeX | --- | bips-beamer | Stable | ||
| RMarkdown | LaTeX | bips-beamer | bipsdown | Stable | |
| RMarkdown | xaringan | HTML | bipsdown | Experimental | |
| Quarto | LaTeX | bips-beamer | bips-quarto | Stable | |
| Quarto | reveal.js | HTML | bips-quarto | Experimental | |
| typst | --- | bips-typst / bypst | Stable |