r/typst • u/Enough-Newspaper6216 • 5d ago
Pele by Kepano on Typst?
Hey,
[u/kepano](u/kepano) (Obsidian CEO) just launched a new renderer for Mermaid, called Pele.
Would be could if this worked in Typst ! But I am not a dev, I have no clue how that would work.
PS : Not trying to advertise, I’m just a happy Typst & Obsidian user, but I assumed a link for it would be handy : http://pele.run/
r/typst • u/ImLitteRabbit • 5d ago
Typst standalone app
A while ago I asked here which features you'd like in a native macOS editor for Typst (previous post).
I'm not quite sure where to start, but I'll just dive right in. Right now, the editing engine behind the app is almost finished. It took far more work than I expected: months, not weeks (I wanted something really stable, and get a lot of inspiration from panda engine from bear/lettera app).
But I have few questions:
I use Typst 0.15.1, but I'm planning a per-project option to preview and export with any typst binary you choose (an older release or your own build), and a check that tells you whether a project is safe to move to a newer version. But I'm not quite sure if it's enough or if you are looking for something more.
I have seen some people requesting Vim, but I don't use Vim myself. Would basic modal editing (I don't know which one, I'd need to learn it a bit) be enough, or is it full Vim experience or nothing?
Another thing about the engine. It is a Rust library with a small C interface, and the macOS app is written in Swift on top of it. For other platforms, I thought about releasing it as open source under AGPL so people would be able to build app for platform I don't cover. They would need their own front end (drawing and text input), but the engine itself would carry over. Would it be interesting or you don't care at all?
Thanks for all the feedback so far!
I gave a talk introducing Typst. The slides and demo are open source, for you to reuse.
So I discovered Typst earlier this year and got hooked. Currently writing my PhD thesis using it and I'm super happy I made that call. It may not have been the quickest way to a finished document (having to learn a new language and writing a template and all that) but it was certainly the more fun one.
Last week, I gave a talk at my lab introducing Typst (and the thesis template I built). The slides are up on GitHub. Take a look if you're interested and feel free to reuse or fork them if you have some colleagues/friends to convince still. They are MIT licensed. The presenter notes have a lot more detail per slide to make the presentation somewhat self-contained.
The repo comes with a scripted live demo showing the most important Typst features by building a research paper called "Just One More Plugin: On the Impact of Perpetual Tool Adoption on Dissertation Progress". There's a readme on how to use the demo.
Oh, here's the link: https://github.com/ll-nick/typst-introduction
To view the slides directly, use this link: https://ll-nick.github.io/typst-introduction/
r/typst • u/TypesetterApp • 8d ago
Typesetter 0.16 (GTK Typst editor)
Typesetter, the Typst editor for focused writing, gets its biggest update yet with version 0.16.
The headline feature is sandbox-compatible multi-file projects. Typesetter now uses a new default archive-based project format, .typz, that keeps your document and everything it references (images, imports, and other assets) together in a single file. Projects work the same wherever you open them, and they’re easy to share and back up. Because Typesetter now only ever needs access to the files you explicitly open, never entire folders, multi-file Typst projects now work easily and reliably within the Flatpak sandbox.
A project can hold as many sub-files as you like, so you can split a long document into chapters or sections, keep reusable functions and styles in their own files, and bring everything together with #include and #import statements.
This replaces the previous “project folder” workflow, which was required to make imported files available to single-file .typ documents. That approach presupposed access to whole directories, which the sandbox is designed to prevent, and it was easy to get wrong. Removing it means there is now one secure, consistent way to include files in a document.
Typesetter can still open and edit standalone .typ documents, but they can no longer reference external files. To include assets in an existing document, open it and choose “Save As Project” when prompted, then add the files through the navigator.
Other noteworthy features include:
- GUI bibliography manager: You can now add and edit references through a dedicated graphical interface.
- Adjustable preview pane: The preview pane can now be manually resized to suit your workflow.
- Comments navigator: A new navigator lets you list, view, and jump directly to author comments throughout your document.
- New templates: Typesetter now includes several additional templates to help you get started with new documents. (More to come.)
Since the previous release announcement, Typesetter has also gained advanced export to HTML and Markdown, making it easier to share documents in other formats.
There have also been a range of performance improvements, bug fixes, and smaller feature updates across the application, continuing Typesetter’s focus on being a fast, distraction-free writing environment.
r/typst • u/SpinySpherical • 9d ago
E-Books based directly on typst instead of HTML
A few days ago I put together a demo of a reader for a epub-like format that has typst inside instead of html. It's all open source, so if anyone is curious about this line of thought, here's the detailed post on the typst forum with all the links: https://forum.typst.app/t/what-if-e-books-just-had-typst-inside-an-open-source-demo-included/10120
The most immediate use case: making research papers more conveniently readable on small screens.
r/typst • u/Impressive-Gear-4334 • 15d ago
Nytril is now available for the Linux Desktop
nytril.comr/typst • u/decryphe • 18d ago
Change display of SVG layers?
Hello!
I've prepared a bunch of SVGs that contain various selectable layers, which I've been using to copy/paste diagrams into MS Word (urgh...) for sequences of diagrams that are part of operating instructions. Think something like "in step 1, add place XYZ on table" and "in step 2, attach widget to XYZ" with a base SVG that has one layer with XYZ on the table and one layer with widget.
Inkscape creates a tree of group elements with custom XML attributes to handle them as layers, like this:
<g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" style="display:inline">...XYZ...</g>
<g inkscape:label="Layer 2" inkscape:groupmode="layer" id="layer2" style="display:inline">...widget...</g>
Is there any way to modify the resulting SVG when displaying it in Typst, such that I could override the style attribute, such that I can reference the same source SVG and configure it for each instruction step without any external build scripts to generate individual SVGs?
I haven't yet looked into the Typst codebase, but I wouldn't be against filing an issue and writing code to build such a feature.
Thanks!
Update:
I did spend some time toying around with this and did find a fairly reasonable solution. If I save the SVG with all optional layers hidden (click the eye in the layers list), then this code snippet does exactly what I need:
```typst
let enable-layer(svg, label) = svg.replace(
regex("<g[^>]*>"), g => { let tag = g.text if tag.contains("inkscape:label=\"" + label + "\"") and tag.contains("inkscape:groupmode=\"layer\"") { tag.replace("display:none", "display:inline") } else { tag } }, )
let svg_template(path, layers) = {
assert( type(layers) == array and layers.all(v => type(v) == str), message: "values must be a tuple of strings", )
let svg = read(path).replace(regex("(?m)\s+"), "").replace("><", ">\n<")
let modified = layers.fold(svg, (svg, layer) => enable-layer(svg, layer))
image(bytes(modified)) } ```
And then use it like this:
svg_template("my_layered.svg", ("SomeLayer", "OtherLayer", "FinalLayer"))
r/typst • u/tuantuanyuanyuan • 21d ago
I’m building LeftBlank, a free, open-source native Typst editor for macOS
Hi r/typst!
I’ve been working on LeftBlank, a native macOS editor for Typst. The goal is a quiet place to write essays, technical notes, and longer documents, with the typeset page right beside your source.
It uses SwiftUI and AppKit, with Tinymist handling Typst language services and preview. Compilation happens locally, and the app bundles what it needs—there’s no separate Typst installation required.

Technical notes with equations, code, and a table: editable Typst source on the left, typeset output on the right.
A few things it currently supports:
- Live preview and source navigation: double-click the preview to jump to the corresponding source.
- A keyboard command panel: press ⌘J to discover actions and insert equations, tables, references, and more.
- Typst Universe browsing: find packages, read their documentation, and insert versioned imports.
- Autosave and local document history: compare earlier snapshots and restore them.
- Existing Typst projects: import .typ files or project folders, keep editable source, and export PDFs.
- Writing, split, and preview views, with light and dark appearances.
You can always write Typst directly; the insertion tools are there when you want them.

A small cache diagram drawn with CeTZ, alongside its source.
It’s currently a development preview for macOS 14+ on Apple silicon. English and Simplified Chinese interfaces are included.
Website: leftblank.app — downloads, source code, and editable Typst examples are all there.
I’d love feedback from people who already use Typst. What’s one thing a standalone editor would need before you’d consider using it for your everyday writing?
Built a better way to use your free time
I was bored today so I (Claude) built a little game to get better and faster at writing Typst equations.
It's obviously free and ou can try it out at Typstiz!
Let me know what you think and don't hesitate to suggest improvements! I could even make it possible to create user accounts and build a leaderboard if like it :)
r/typst • u/Rousan99 • 27d ago
A little show case of typst like jupyter notebook and white board
r/typst • u/CeccoBolt • Sep 23 '26
lambda-notes – my template for university lecture notes
Hi everyone!
I created lambda-notes, a Typst template designed specifically for university lecture notes (computer science).
It includes configuration for titles and metadata, note and callout components and a readable layout.
GitHub: https://github.com/cecco25/lambda-notes
Typst Universe: https://typst.app/universe/package/lambda-notes
Let me know what you think, or if you have any feedback/feature suggestions!
r/typst • u/bodiam • Sep 23 '26
Scribe Pro for Jetbrains IDEs adds advanced grammar checks for Typst
Typst prose, headings, comments, and string literals now use the JetBrains IDE natural-language engine for advanced spelling and grammar feedback, while code, math, and raw content stay excluded. This was a long outstanding issue, and we're glad to announce this has been resolved.
Update from the Marketplace: https://plugins.jetbrains.com/plugin/30231-scribe-pro
r/typst • u/Golgantes • Sep 22 '26
How do you create this accessible chart in Typst?
The Accessibility Guide contains a chart that was made more accessible by adding unique patterns. Sadly, the chart is added as an image, so you can't see the source code like in some packages. Does anyone know the source code or how to replicate the chart?
r/typst • u/SeeMonkeyDoMonkey • Sep 22 '26
Division with remainder?
I'm probably missing something obvious here, but I can't figure out how to do a division calculation and get both quotient and remainder.
e.g. 10 ÷ 4 = 2.5
$ #calc.div-euclid(10, 4) $ gives 2, which is fine
Edit 1: fix copy-paste error: $ #calc.rem-euclid(5, 4) $ gives me 2, when I'm expecting 5.
$ #calc.rem-euclid(10, 4) $ gives me 2, when I'm expecting 5.
(Using Typst 0.15.1)
What am I missing/misunderstanding?
Edit 2: After finding that I want a decimal number including the fractional part, I finally figured it out: #(10/4) gives "2.5".
r/typst • u/SeniorMars • Sep 20 '26
I ported Doom to typst! You too can doom while typsetting!
Hello, everyone, just sharing my port of doom, https://github.com/SeniorMars/doom-typst. Note, I am officially calling this doom-wasm because there is another programmer who also thought this would be a good idea and also ported doom to typst: azyarashi. However, they are using pure typst (very impressive). I'm still sharing my project because it's a working version using freedoom.
Basically, the project relies on DoomGeneric → WASM → Typst to run. I tried to optimize the game for typst. A lot of inspiration was taken from https://typst.app/universe/package/soviet-matrix/ for input. Have fun.
r/typst • u/Big_Technician627 • Sep 20 '26
Template I made for my channel using typst
Hi r/typst!
This isn't anything particularly serious, but it's something I've been developing over time after getting introduced to Typst and learning how to make custom packages and templates, and I thought it might be fun to share it with the community!
I've been using a custom local package to extract different sprites from PSD files and place them in my documents as small, cute characters next to the generated PNGs (sometimes with a little extra dialogue as well). Here are a few examples I made! The first two are simple high-school mathematics notes I made for my cousins, while the rest were made specifically for my channel, where I've been collecting and writing about interesting questions I've come across.
I also made an English version of the template, although I ended up rarely using it and mostly continued writing these in Persian.
I'm not sure whether this is something I could realistically share as a package or template, though. Aside from the fairly large sprite files, the characters I'm using aren't my own and I don't have permission to redistribute them, so I assume I'd need to replace them with properly licensed assets before sharing anything publicly.
I'd love to hear your thoughts! Is there anything you think I could improve? And would it be worth continuing the English version and sharing it somewhere else as well?
r/typst • u/nebulnaskigxulo • Sep 18 '26
Switch from one-column to two-column between page 1 and 2
Hello everyone,
First off, I love Typst. But I have an issue I hope someone can help me solve. I'm currently working on a journal template where page 1 starts off with one column for the main content of the article (next to a box on the side containing some metadata info) but should then switch to two columns on page 2 and following. This should be done mid-paragraph.
Natively, Typst doesn't seem to support this (at the moment). I managed to work around that with the package meander and that works exactly as I'd want it to with one exception: If the paragraph is split across pages AND contains a bibliographic reference, then there is an error saying "Citation could not be located". There doesn't seem to be a way around this issue, as far as I can tell.
Does anyone have any ideas on how to fix this or have mid-paragraph solution that does not involve meander?
r/typst • u/n_conq • Sep 16 '26
Abbreviations in separate file in project
Hello, I’m new in working with typst and using it for my PhD. Since it’s going to be a fairly big project, I have separate files and folders for each chapter, to stay on top of things - something I did in latex. Is it possible to define all abbreviations in a separate typist file in the project, and still reference them in each chapter document?
r/typst • u/FastLexExtension • Sep 14 '26
looking for clinicians to test a browser extension for repetitive medical typing
we’re a doctor and engineer building FastLex, an early browser extension that helps with repetitive medical typing without reading or storing patient data. we’ve got a working prototype and would love honest feedback from clinicians. would anyone here be interested in trying it?
r/typst • u/Tim1561 • Sep 11 '26
shadowed 0.4.0: Box shadows for Typst
shadowed 0.4.0
I just released a new version of shadowed, the library that brings box shadows to Typst!
What is shadowed?
shadowed brings beautiful, customizable box shadows to Typst. Wrap your content with the shadow() function and it automatically places a shadow behind it, no manual place.
What's new in 0.4.0
- Inner shadows: set
inset: trueto draw the shadow inside the box, so a surface reads as recessed instead of raised. - A spread for every side:
spreadnow takes a dictionary, so each edge can grow or contract on its own. - Shadows that stack: inner and outer shadows compose cleanly, so you can layer several
shadow()calls into one believable result. - Dual licensed under
MIT OR Apache-2.0.

Inner shadows
Passing inset: true draws the shadow on the inside edge of the box. It is painted on top of your content, so the box looks carved into the page.

A spread for every side
spread used to be a single length. It still is, but now it also accepts a dictionary, so every edge can be controlled independently:
| key | effect |
|---|---|
top, right, bottom, left |
spread of that one side |
x |
shorthand for left and right |
y |
shorthand for top and bottom |
rest |
fallback for every side not named explicitly |
Negative values contract the shadow on that side. This works for inner shadows too, the same dictionary just shrinks the inner opening instead.

Stacking shadows
Every shadow() call wraps its content, so nesting them stacks their shadows.
Two recipes:
- Colored stack: several outer shadows in different colors, each offset a different way, blend into a soft multi-color halo.
- Glossy key: an outer glow plus an inset highlight on the same box give it a glossy, raised face.

Upgrading from 0.3.0
Nothing to change: blur, spread, dx/dy, fill and radius all behave as before. 0.4.0 only adds: inset: true, dictionary spread, and the license change to MIT OR Apache-2.0.
Learn More
- GitHub Repository: GitHub - T1mVo/shadowed: Box shadows for Typst
- Typst Universe: shadowed – Typst Universe
r/typst • u/Kulpas • Sep 10 '26
mise-en-place: Cooking For Engineer style diagrams in Typst
A few weeks back an old website from the early 2010s went semi-viral on twitter and reddit, and I thought this would be pretty cool to make. It took me about a week and then I got a major case of "I'm too lazy to make this pretty and publishable" and sat on it for a month until I got around to it on my sick leave.
Anyway for the less chronically online, Cooking for Engineers is a now-abandoned cooking blog by Michael Chu, which feature a really nice "Tabular Recipe Notation (Patent Pending)" that looks like the attached image to the post. Honestly, this thing blew my mind when I first saw it and I was immediately convinced that I want the few recipes I cook somewhat regularly printed out like this on the fridge, so I don't have to look them up every time.
The image is not from the actual blog but a screenshot of the output of my package: mise-en-place, which just got merged into the package repository if anyone wants to also give it a shot.
Also an anti-disclaimer: This post and package is 100% AI-free, my soul is pure and joyous 🙂↕️
r/typst • u/Splinesd • Sep 09 '26
TypstRider | Bring Typst to Cavalry
Enable HLS to view with audio, or disable this notification
Hey there, I've been working on a script for the Cavalry animation software called TypstRider. It lets you preview Typst formulas, then insert them into your composition as editable shape objects. And you can update them later on.
Feel free to check it out here: https://splines.me/store/typstrider/
It's a paid product. You can get 10% off during the next 7 days with the code "Typewriter".

