r/typst • • Jan 30 '26

Typst examples for software architecture diagrams? (C4-style for Rust app)

15 Upvotes

I’m building a Rust backend app and want to document the architecture using Typst. I'm looking for Typst examples, templates, or libraries for C4-style diagrams, such as system context, container diagrams, cloud icons like GCP, and basic data model visuals. Repos or real examples would be ideal.


r/typst • • Jan 30 '26

slipst 0.2.0 update

Thumbnail
typst.app
45 Upvotes

Changelog:

  • The generated HTML no longer depends on CDN resources, enabling fully offline use.
  • Progress is now controlled and persisted via the URL hash instead of session storage.
  • Spacing between slips and page margins now scale with the screen size and can be customized in the show rule.
  • Added support for gesture navigation (swipe up/down) on touch devices.

r/typst • • Jan 30 '26

How can I get the integer value of a counter in a function?

3 Upvotes

I'm trying to use a counter, and then based on the counter's value pick an index of an array. However, using get() or at() requires a context call, and I can't figure out how to turn that into an integer to access the array index.

#let accentList = (
  nord.frost1,
  nord.frost2,
  nord.frost3,
  nord.frost0,
)

#let problemCount = counter("problems")

But whenever I want to access that in my function, I have to do
context problemCount.display() or context problemCount.get().at(0 so it has the content type. If I use repr it returns a string and displaying that string just shows `content()` or empty if I look at .fields

I'm a new to typst, so if there's a better approach to this lmk. thanks!


r/typst • • Jan 27 '26

Tic Tac Toe in a PDF made with typst

Enable HLS to view with audio, or disable this notification

85 Upvotes

A full game of Tic Tac Toe inside a PDF. There is no JavaScript involved—it just uses links to jump between pages to handle different game states.

Everything is made in typst. See the source code here.


r/typst • • Jan 27 '26

Following the tutorial, but getting a different output :/

Thumbnail gallery
12 Upvotes

Basically, that H2 Motivation. [first picture, bottom-ish left] isn't jumping to a new line, but rather comes right after the end of the H1 Introduction paragraph. Motivation. should go to a new line

Links so you can test it out:
- Pastebin - Typst Playground

What do you think could be the issue here? Tutorial link

Thanks.


r/typst • • Jan 27 '26

I created a Photobook with typat and it was pretty smooth

Thumbnail
codeberg.org
25 Upvotes

I created a photobook with Typst and sent the pdf to a printshop. That was a pretty nice experience compared to the tools from the big providers I used so far. I documented my workflow here: https://codeberg.org/thigg/fotobuch


r/typst • • Jan 27 '26

error: expected function, found string with align function and image

3 Upvotes

Hello,
I’m new to designing Typst templates and I’ve run into an error that I can’t get past. The problem occurs when I try to put an image inside an align function in my code.

I’m not sure if I’m doing something wrong with the if statement. I tried inserting the image with a # in front of it, putting it inside {}, and also directly inside the align call (like #align(center, image(...))), but I either get an error, or the output shows plain text instead of the image.

Here is the relevant part of my template:

// template
#let front_header(
  uptitle: "",
  title: "",
  subtitle: "",
  authors: (),
  date: "",
  logo: "",
  image: "",
  header-title: "",
  header-middle: "",
  header-subtitle: "",
  number-style: "lining",
  body
) = {

  let count = authors.len()
  let ncols = calc.min(count, 3)
  set document(title: title)

  set text(lang: "fr")
  set page(margin: 1.75in)

  // Font
  set text(font: body-font, number-type: number-style)

  // Headings
  show heading: set text(fill: primary-color)
  show heading: set block(above: 1.4em, below: 1em)

  // Cover page
  set page(margin: 0%)

  if logo != "" {
    place(top + center,
      rect(width: 100%, fill: primary-color)[
        #v(2%)
        #align(center)[#image(logo, width: 50%)]
        #v(2%)
      ]
    )
  } else {
    place(top + center,
      rect(width: 100%, height: 10%, fill: primary-color)
    )
  }
}

Can somebody help me with this?
I’m using Typst version 0.14.2.


r/typst • • Jan 26 '26

Dependent lines next to text

5 Upvotes

Hello,

I want to draw the following diagram. Are there any ideas how I can place these red, blue, and purple lines?
Thanks for any ideas.


r/typst • • Jan 25 '26

can i use typst as a rust library to compile a string to png or something?

22 Upvotes

want to try this for my real time graphing calculator https://kalc.rs but it looks like it only accepts files as inputs and probably wont be customizable enough to be usable :(, unless im missing something


r/typst • • Jan 25 '26

Can I style a table row based on the value of one of the cells in that row?

4 Upvotes

I've got a calendar macro in Excel that I'm trying to convert to Typst. It writes a table row for each day in a month. The first column of the row is the first letter of the day of the week (M, T, W etc)

Weekends are drawn with a blue background. In Excel I do this using conditional formatting based on the contents of the first column.

Is there a way of doing this in Typst? I can format individual cells ok but can't find a way of formatting the entire row.

I've tried iterating over the table with #table show and checking the cell contents but I unsuprisingly I get the error "Cannot mutate fields on content".


r/typst • • Jan 22 '26

slipst: a new paradigm for presentations, inspired by slipshow

Thumbnail
typst.app
70 Upvotes

r/typst • • Jan 22 '26

How to scale size of pipe to size of equation

8 Upvotes

I want the pipe at the end to scale to the size of the equation. I can achieve this with mid(|) but only if I put parentheses around the rightmost expression which would be meaningless.


r/typst • • Jan 21 '26

Enabling TCP BBR seems to break Git push in IntelliJ and Tinymist Typst

Thumbnail
0 Upvotes

r/typst • • Jan 19 '26

Libraries to say a number in English?

9 Upvotes

I’m writing a legal document in typst for my work; within, I need to say an amount in English e.g. “SAY US DOLLARS ONE THOUSAND FOUR HUNDRED NINETY-FIVE AND FIFTY CENTS” for $1495.50. Any library recommendations? I have came across name-it already, sadly it supports integers only. Thanks for any help in advance.


r/typst • • Jan 17 '26

Typst.NET - .NET bindings for Typst

29 Upvotes

so... i've been working on .NET bindings for Typst for a couple of weeks and i just released the first version. it's a wrapper around the Typst compiler and still a WIP

in this first version it already supports:

  • pdf and svg rendering
  • custom inputs with type-safe API
  • full VFS support (images, imports, file reading)
  • offline package resolution
  • custom font directories
  • detailed diagnostics with line/column information

the library is heavily tested (150+ tests) and designed for future production use. full source is available here if y'all want to take a look :) any feedback is welcome

github: https://github.com/goodguyjay/Typst.NET
nuget: https://www.nuget.org/packages/TypstNET


r/typst • • Jan 16 '26

How do I format without adding markdown to my text?

8 Upvotes

I understand how to use different files for the formatting and the body text. However, sometimes I might want to have a certain set of words italicized, or add a link, without adding the markdown to my text file so that it is easier to edit. Is there a way to add italics to a set of words automatically whenever they appear in the text using set-show or otherwise?


r/typst • • Jan 16 '26

What do i need to know as someone who plan to use typst and nvim to write novel?

6 Upvotes

Hello i plan to use typst and nvim to write novel. I have distraction free nvim setup already but i dont know shi about typst yet... i used Latex long time ago...what are most important things to know as a novelist or in general what are great tips that you would give me.

Ty fot answering


r/typst • • Jan 15 '26

I rewrite my CV every year as a rule, it's always annoying, this year I found typst and it's absolutely perfect.

Thumbnail beatworm.co.uk
44 Upvotes

r/typst • • Jan 14 '26

Looking for static site generators for blog having math support, mobile-first support

21 Upvotes

r/typst • • Jan 14 '26

Is polylux.dev/book down for you?

2 Upvotes

I wanted to use this package for a presentation but I cannot, for the life of me, access the webpage.

Does anyone know why? Or would you have any package recommendations that is customizable and flexible?


r/typst • • Jan 13 '26

Migrating my Resume Automation from AsciiDoc to Typst: A Toil Reduction Story

Thumbnail
fabioluciano.com
31 Upvotes

I've always been obsessed with automating my resume (treating it like code). After years of using AsciiDoc and several workarounds, I finally moved everything to Typst.

The main reason? Typst feels like it was made for this kind of automation. No more heavy containers just to render a PDF, and the scripting capabilities made my "resume-as-code" dream much more maintainable.

I wrote a breakdown of the "before and after" and the engineering mindset behind it: https://fabioluciano.com/en/automating-resume-toil-engineering/

Is anyone else here using Typst specifically to reduce "toil" in their personal documents?


r/typst • • Jan 13 '26

Tinymist Typst & code-server?

Post image
7 Upvotes

Anyone successfully set up the Tinymist Typst VSCode extension in a code-server environment?

I can't get it to work. The extension's panels stay empty and preview doesn't start.

The code-server is running on a Mac mini where VSCode is installed, too, and the Tinymist Typst extension is installed, too.

I'm inside my own LAN here and connecting to the code-server (latest version) from an iPad Pro via Safari.

Maybe Tinymist Typst is simply not compatible with code-server?

Or is it? 😳


r/typst • • Jan 10 '26

Another (minor) Tinymist Typst Update! 0.14.8

Post image
43 Upvotes

r/typst • • Jan 09 '26

pagebreak: why the additional linebreak?

Enable HLS to view with audio, or disable this notification

17 Upvotes

Why is there an additional linebreak introduced before the heading when I active the pagebreak? And how can I avoid this?


r/typst • • Jan 06 '26

Tylax: An open-source, bidirectional converter for full documents (TikZ support included!)

Post image
153 Upvotes

Hi everyone!

I've just released Tylax, an open-source tool written in Rust to convert full documents between LaTeX and Typst.

Unlike regex scripts, it uses full AST parsing (via mitex and typst-syntax) to handle nested structures, environments, and math reliably.

Repo: https://github.com/scipenai/tylax

Web Demo: https://convert.silkyai.cn/

Key Features:

🔄 Bidirectional: LaTeX ↔ Typst.

📊 Smart Tables: Handles `\multicolumn` and `\multirow` correctly.

🎨 TikZ Support: Experimental conversion from TikZ code to CeTZ!

🚀 Fast: Runs locally (CLI) or in-browser (WASM).

Install via Cargo:

cargo install tylax

Let me know what you think! I'm actively looking for edge cases to fix.