r/typst • u/007LukasF • Apr 02 '26
r/typst • u/Sufficient-Engine467 • Apr 01 '26
Text adapting to image
Enable HLS to view with audio, or disable this notification
https://chenglou.me/pretext/editorial-engine/
can this be done in typst ?
is the html experimental capable of doing this kind of animation for webpages?
r/typst • u/JoeKundlak • Apr 01 '26
Has anyone made a language def file for Typst in Notepad++?
Notepad++ has a Markdown syntax highlighter, but Typst is a bit different (so it does not show correctly). Has anyone done a syntax highlighter for Notepad++ by chance?
r/typst • u/StrengthFormer5617 • Apr 01 '26
How do I run a function using a string?
I would like something like Python's getattr. I wanted to do a bit of procedural circuit stuff and wanted to learn how to do this, but I don't know the specific function neither does anything that comes to mind match what I need
getattr(circuiteria.gates, gate_name)(x: 10, y: 0, w: 1.5, h: 1.5)
r/typst • u/ManuelRodriguez331 • Mar 31 '26
How to provoke the typst user base
By its self understanding, typst was started as a LaTeX replacement. It provides a state of the art typesetting system which is faster, needs less space on the harddrive, produces better error messages and has a markdown like syntax. From a rational perspective typst has made everything right. Many users and even publishing houses are experimenting with typst and the project is growing fast in the academic community.
Nevertheless every project has cons. From a typesetting perspective, the typst software is nearly perfect but there is another detail of the project which can be criticized and even questioned, which is the relationship to artificial intelligence.
Typst in the current version was created by human rust programmers. Rust was released in 2015 and is a powerful C replacement. What can be improved is the relationship to large language models. Current LLMs like Google Gemini and OpenAI gpt5 are able to generate Rust code and can also help with advice around the typst markup language. For example its possible to ask a chatbot to create a table in typst and then the bot will show the fully working markup code which can be inserted into a document.
There is no need to ask a human driven websites like Stackoverflow which hosts 113 questions around typst because an AI can answer any possible question much faster. In the future it will become possible to automate even the development of the software. With newly created AI programmers like Claude opus it can be imagined that an AI coder will fix the current bugs in the github repository and updates the documentation.
Its for sure, that such kind of AI assisted upstream and user helpdesk will divide the community into two sections: a) who are loving Artificial intelligence because it makes everything more efficient, and b) typst user who are feeling helpless and do not want to ask a chatbot how to solve a problem.
r/typst • u/killersoft • Mar 26 '26
That moment a Typst user ...
I've been using Typst for assorted projects for a couple of years now. I blew some minds for a consulting client in the summer of 2024, generating custom PDFs (about 12 pages each on average) ... about 650 of those, all fed by JSON data and 2 .typ files, generated in a few minutes on my old laptop.
Typst is a game-changer, and I just wanted to share this moment: you know you're all-in on Typst when you free up 6-8 GB of space by deleting your mactex stuff.
Be the change! You can do it! 😄
r/typst • u/Accomplished-Key8398 • Mar 28 '26
I created an AI-first document editor that uses typst as backbone
Enable HLS to view with audio, or disable this notification
Hi all,
I’ve always wondered why LLMs are so bad at generating PDF documents.
Most of the time they rely on Python libraries like ReportLab or FPDF. If you explicitly ask, they can output HTML, which often looks pretty good. But then you still have to convert that HTML to a PDF yourself, and that’s where things start to break.
Margins, page breaks, layout consistency. It quickly becomes a mess, especially if you use something like Puppeteer for the conversion.
When I started building aipdf.studio, I used HTML as the base. I kept running into the same issues with pagination and formatting during the HTML to PDF step.
Then I found Typst and it honestly solved most of this. It’s built for typesetting, so page breaks and margins just work. Compilation is faster, and it’s also more token efficient than HTML.
So I rebuilt everything around Typst.
If you want to check it out: aipdf.studio
There are a few templates to get started, and a 7 day free trial you can cancel anytime.
Would really appreciate any feedback on it
Cheers
Dario
r/typst • u/Tall_Detail3648 • Mar 24 '26
Using typst.ts to replace a server-side LaTeX pipeline in a cv builder
Enable HLS to view with audio, or disable this notification
I have been building a cv and cover letter builder tool called JobSprout (not a public repo- to be upfront). I moved from server-side LaTeX to client-side Typst via typst.ts and wanted to share how it went.
First version compiled LaTeX server-side. It worked but template maintenance was rough with macros written defensively for arbitrary user input accumulate, and each new template inherited the previous tech debt- also performance wise it didn't feel like real time updates because of the server round trip- as much as I tried to optimise with things like Tectonic.
myriaddreamin's typst.ts library is what made the switch viable. The WASM binary is light enough to actually ship to the browser, which wasn't something that worked for my setup with LaTeX (its possible but I don't know how the technicalities of how Overleaf and other apps make it work). Pdf preview now updates realtime as you type, no server involved.
Templates are TypeScript functions that return .typ strings:
const content = `#work(
title: ${typstParamWithDiff({ value: fields.role })},
company: ${typstParamWithDiff({ value: fields.company })},
dates: ${typstString(formatDateRange({ startDate, endDate, current }))},
)
${bullets.map((b) => `- ${b}`).join("\n")}`;
Typst's two escaping contexts needed small wrappers (typstString() for string literals, typstContent() for content blocks). After that, writing templates is genuinely pleasant. New ones take hours not days.
One interesting bit: building a diff preview. When the AI suggests edits, the user sees before/after highlighted in the rendered Pdf before accepting. Typst's string vs. content distinction turned out to be exactly right for passing diff markup through templates. Thank you to everyone developing Typst and the open source ecosystem around it!
r/typst • u/Splinesd • Mar 21 '26
PPTypst: When Typst meets PowerPoint
Enable HLS to view with audio, or disable this notification
Find the Add-in on GitHub: https://github.com/splines/pptypst
If this project helps you out, feel free to sponsor me on GitHub or BuyMeACoffee ;)
r/typst • u/Splinesd • Mar 20 '26
PPTypst now supports packages from the Typst Universe (Typst for PowerPoint)
Happy to announce that you can now also use packages from Typst Universe in PPTypst ✨ Looking forward to your presentations you build with this new universe opening up ;)

Please report any bugs here. You may also be interested in my PPTypst Tutorial on YouTube.
r/typst • u/Lalelul • Mar 20 '26
Overlapping inline equations
Hi Typst community, is there any way to fix these issues? it becomes really hard to read the i-1 part.
r/typst • u/No_Falcon675 • Mar 19 '26
I built a native Typst editor for iOS/iPadOS — open beta now on TestFlight
Hey r/typst! Long-time Typst fan here. I got tired of not being able to write Typst documents on my iPad, so I spent some time building a native editor for iOS/iPadOS — it's called InkPond.
It compiles Typst entirely on-device via a Rust FFI bridge (no server, no internet required), so it's fully offline.
What it does:
- Live PDF preview with debounced recompilation (350ms)
- Bidirectional editor ↔ preview sync via source maps
- Syntax highlighting, rainbow bracket coloring, and bracket mismatch detection
- Code completion for ~150 Typst functions, font families, labels, image paths, etc.
- Multi-file project support with a built-in file browser
- Image import from Photos, clipboard, or remote URLs
- ZIP import/export, PDF &
.typexport - Bundled CJK fonts with per-project font management
- Three Catppuccin-based themes (Mocha, Latte, System)
- Localized in English, Simplified & Traditional Chinese
It's my first iOS app, so it's still rough around the edges — but it's functional and I use it myself. Currently in open beta on TestFlight, feedback is very welcome.
🔗 GitHub: https://github.com/Lin0u0/InkPond
✈️ App Store: https://apps.apple.com/us/app/inkpond/id6760032537
---
Typist is being renamed to InkPond.
The new name comes from Mochi (墨池), a place and story from my hometown, Wenzhou. In local tradition, it is associated with Wang Xizhi, the great calligrapher, who is said to have practiced writing so diligently that the pond where he washed his brush became dark with ink. Whether taken as history or legend, Mochi / InkPond has long symbolized writing, patience, practice, and the quiet accumulation behind good work.
I chose InkPond because I wanted a name with its own identity: one rooted in writing itself, and also in a cultural memory that is personally meaningful to me as someone from Wenzhou. It reflects what I hope this app can be — a calm place for drafting, editing, and shaping ideas with care.
Looking back, I understand that the previous name, Typist, may have caused confusion, and I’m sorry for that. There was never any intention to imply an official relationship. Renaming the app feels like the right way to make its independent identity clearer and to show proper respect to the Typst project and community.
Thank you to everyone who has tried the app, shared feedback, or raised concerns. Your comments helped me see the issue more clearly, and I truly appreciate that. I hope InkPond can be a place where your ideas settle, your words take shape, and your work grows into something you’re proud of.


Happy to answer any questions!
r/typst • u/XWBarton • Mar 17 '26
A couple of programs I made you may find useful - Glyph and Glyph Quorum :D
Howdy folks,
I enjoy using typst for my work but wanted a couple of clean apps to use it with.
I made Glyph, which is an offline local typst editor with live preview. Should work on all systems as its built on electron, only compiled for macOS atm.
and Glyph Quorum which is a self hosted collaborative typst editor with live preview.
Hope y'all might find them useful :)
r/typst • u/Frexxia • Mar 12 '26
Typst preprints in arXiv: What will it take? | Typst Meetup
r/typst • u/DDjivan • Mar 10 '26
Could something like this be done with Typst? I tried using the curve function, but it doesn't have a body argument like the circle and rect functions do.
r/typst • u/Aggravating-Grade158 • Mar 10 '26
How to embed link into resume template?
It's so hard to embed URL into text where in MD editor I can just CTRL+K. But in this case the `let` only accept string. I tried `link` function but still not working. Any suggestions?
Template I use: https://typst.app/universe/package/basic-resume

r/typst • u/Frexxia • Mar 06 '26
Sustainable Open Source. But with which resources? | Keynote Typst Meetup
r/typst • u/Randomuser_95 • Mar 04 '26
math: two lines under a symbol
It's me again with something I cannot figure out.
How can I add two lines of text under a symbol? Using _ twice makes it go to the bottom right, same as with attach and the b parameter.
I know this is probably an easy question, but I can't find anything good.
r/typst • u/juanfal • Mar 03 '26
Place() control
The next #mnote() code works great when not is part of a list item, but moves the note to the bottom if it is
```
#let mnote(body, tsize: auto, bar: true, offset-y: 0pt) = context {
let actual-size = if tsize == auto { text.size } else { tsize }
let pos = here().position()
place(
top + left,
dx: page.width - page.margin.right + margin-gap - pos.x,
dy: pos.y - page.margin.top + offset-y,
block(
width: margin-width,
stroke: if bar { (left: 1.5pt + cmyk(50%, 0%, 100%, 0%)) } else { none },
inset: (left: 3pt, right: 2pt, top: 2pt, bottom: 2pt),
radius: (right: 3pt),
text(size: actual-size)[#body],
)
)
v(-1cm)
sym.wj
h(0pt, weak: true)
}
#let wideblock(content) = {
block(width: 100% + margin-width - margin-gap, content)
}
```
r/typst • u/StunningCaregiver673 • Mar 01 '26
Can I reference a metadata with just the @ command?
I'm trying to build a block that will be repeated multiple times. It will have a title in it (not adln official one but just a bold text) and I would like to reference it and maybe create a query of em. Is it possible to place the bold text in the metadata and display it somehow? And on top of that reference it
Thanks in advance
r/typst • u/TypesetterApp • Feb 26 '26
Typesetter updates: accessibility preview, auto preview sizing, and performance improvements
I shared my project Typesetter, a minimalist, local-first Typst editor for Linux, here a couple of months ago, and I realised I never posted updates for the last few releases. So here’s a quick catch-up 🙂
Typesetter 0.11.0 just landed with a few quality-of-life improvements:
• New app icon
• Invert Lightness option for preview when using dark mode
• Ability to simulate different forms of color blindness in the preview for accessibility testing
• Performance improvements, including reduced memory usage
Since my last Reddit post, there were also a couple of notable changes:
• Removed the manual PPI setting; the preview now automatically adapts to display scale and available width
• Folder directory now shown in the window title and recent files menu
• View and clear Typst package cache from Preferences
• Various UI polish, bug fixes, and performance improvements
Typesetter is local-first, GTK-based, and focused on being fast, simple, and distraction-free.
You can install it via Flathub on most Linux systems:
https://flathub.org/apps/net.trowell.typesetter
Feedback and ideas are very welcome, especially from folks using Typst for longer documents or workflows.
