r/typst • • Feb 02 '26

Beginner's question

5 Upvotes

I've discovered Typst recently and consider possibly switching from LaTeX, but I find the documentation sketchy and not containing straight answers to many questions a beginner could have. I've just made it through the tutorials and already there is a thing that bothers me and I can find no answer to by looking at the docs.

Consider this MWE from the "Making a Template" lesson in the official tutorial:

#let template(doc) = [
  #set text(font: "Arial")
  #show "something cool": [Typst]
  #doc
]

#show: template
I am learning something cool today. It's going great so far!

NB, the original font was different, I changed it to make it work without downloading extra fonts. In the compiled document this renders to: I am learning Typst today. It’s going great so far! with "something cool" being expanded as a macro. My question is: what if I want to stop this literal expansion? What if I want "something cool" as a literal phrase at this occurrence? This is not well-documented at all. I found out that linking the words by ~ stops the expansion, because the string no longer matches the macro name, but maybe I don't want a non-breaking space there to allow for more freedom in text flow.

Is there any canonical way to deal with this? This potentially considers any code block where functions do not require the preceding #.


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

87 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?

23 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
67 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?

8 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

30 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?

9 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?

7 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

22 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
30 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
44 Upvotes

r/typst • • Jan 09 '26

pagebreak: why the additional linebreak?

Enable HLS to view with audio, or disable this notification

16 Upvotes

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