Remix.run Logo
Typst: A Possible LaTeX Replacement(lwn.net)
562 points by pykello 12 hours ago | 274 comments
mr-karan 9 hours ago | parent | next [-]

It's great to see Typst getting more visibility. We migrated a real-world workload to it a couple of years back: generating and e-mailing 1.5M+ PDFs daily at my org, Zerodha.

Our previous pipeline was LaTeX-based (first pdflatex, then lualatex), but we were constantly fighting cryptic memory errors on large documents and huge Docker image sizes that slowed down boot times of our ephemeral workers.

Switching to Typst was a massive win for us. The single static binary resulted in tiny images and faster boot times. More importantly, the performance gains were huge. Overall compile times were ~3–4× faster than LaTeX. On really large documents (2000+ pages, mostly tables), Typst compiles in ~1 minute vs. ~18 minutes with lualatex.

Beyond performance, the better developer experience and good error messages was a nice bonus too.

We wrote a detailed post about the entire architecture - from the job orchestration with Nomad to the S3 optimizations and the Typst migration in particular. If you're curious, you can read it here: https://zerodha.tech/blog/1-5-million-pdfs-in-25-minutes

Archelaos 7 hours ago | parent | next [-]

I am using a LaTeX pipeline for creating text, invoices, forms, etc. from snippets stored in a database. It was quite complicated to set up, but the results are very satisfying. In principle, I would like an easier markup language, but am afraid to wast my time trying out something new, just to run into limitations after awhile.

Here are my most important requirements: Multiple columns configurable for meaningful column and page breaks (minimum number of lines in a new column or page). Reliable automatic hyphenation for multiple languages (at least English and German, perhaps French, Italian and Spanish in the future). Pictures in columns with dynamic placing according to the available space. Complex tables and forms with sensible automatic page breaks. Background images. Different areas on the page which are treated like mini-pages. -- Is Typst capable of all that?

jijijijij 6 hours ago | parent | next [-]

Now, this isn't really an alternative, but I can recommend using pandoc instead of pure LaTex. Personally, I think text blocks are much easier to handle and read in markdown and pandoc allows you to use in-line LaTex wherever markdown is insufficient, without making basic text styling unnecessarily verbose. In my opinion, the result is a better/friendlier LaTex, or limitless markdown respectively. Especially for writing papers and such, you can always start actually writing in basic markdown, which is trivial and almost-WYSIWYG, and later worry about presentation. In my experience, with pure LaTex you easily get lost in sidequests and it's much harder to get into a writing flow and find your way around your own words in the editor.

henrebotha 4 hours ago | parent [-]

If you're going to do this, might as well go with AsciiDoc instead. It's vastly superior as a syntax. Markdown breaks down at the mere mention of something as trivial as a nested list item containing a table of blockquotes.

GavinMcG 42 minutes ago | parent [-]

Not that it couldn’t be trivial in the abstract, but I’m struggling to imagine a use for a nested list item containing a table of blockquotes. It doesn’t seem at all surprising that a tool wouldn’t anticipate that.

__mharrison__ 6 hours ago | parent | prev [-]

I haven't done pictures in columns but the rest should be doable.

I've migrated my invoicing (and all my other publishing/slides) to typst from latex and couldn't be more happy.

lloydatkinson 4 hours ago | parent | prev | next [-]

I’ve worked places that will regularly send generated PDFs of things like statistics or small reports or other generic boring business stuff every week or month.

It’s always been some combination of MJML, inline DIY HTML, or PDFs generated with Puppeteer etc.

Do you think Typst would be a good fit there too?

lupire 8 hours ago | parent | prev [-]

For your use case, why were you using LaTeX in the first place? That is more surprising than finding a replacement for LaTeX.

Etheryte 8 hours ago | parent | next [-]

If you're compiling millions of documents, many with thousands of pages, you probably need something very universal. LaTeX is boring tech, off the shelf, ready to use. It might take some work to figure out the initial setup with regards to templating and everything else, but after that, you can be generally pretty content that it will handle most things you throw at it just fine.

constantcrying 8 hours ago | parent [-]

LaTeX is notoriously bad at being boring tech. It has a lot of very rough edges, especially when it comes to longer documents.

smartmic 7 hours ago | parent | prev | next [-]

I am currently preparing to switch to DITA. The learning curve is steeper at the beginning, but I find the overall concept of topic-oriented, information-typed authoring with content reuse very attractive.

Some people might say that writing in XML is annoying, but it isn't if you have a decent XML editor. In my case, it is Emacs nXML mode. Customisation is possible with DITA-OT [1] and plugins, and yes, it is also based on XSLT. Overall, I think DITA is an industry-proven XML powerhouse. It may be boring, but it has huge potential for anyone with advanced documentation requirements.

[0] https://dita-lang.org/dita/archspec/base/introduction-to-dit...

[1] https://www.dita-ot.org/

sixtyj 8 hours ago | parent | prev | next [-]

I’d suggest LaTeX because of its strengths with tables, mathematical notation, and similar content.

LaTeX notation works well for this and can be easily converted to both web and PDF formats.

But compilation speed definitely needs improvement.

On the other hand, how often do you actually need to compile thousands of pages into a single document? That’s really an edge case.

xigoi 8 hours ago | parent | prev [-]

What else would you use to generate PDFs from a text-based template?

jayknight 8 hours ago | parent | next [-]

20-ish years ago I wrote a system to do that with xslt. Would not recommend.

chromanoid 6 hours ago | parent | prev | next [-]

A good XSL-FO impl with docbook or something like that?

sixtyj 8 hours ago | parent | prev | next [-]

E.g. Pandoc, universal tool…

dfc 7 hours ago | parent | next [-]

You will be surprised to learn that pandoc uses latex for generating the PDF. It's barely hidden:

https://www.pandoc.org/demo/example33/2.4-creating-a-pdf.htm...

xigoi 7 hours ago | parent | prev | next [-]

Doesn’t Pandoc just use LaTeX under the hood?

__mharrison__ 6 hours ago | parent | prev [-]

Pandoc works with typst too.

smartmic 7 hours ago | parent | prev | next [-]

DITA, see my other comment on level up.

Iwan-Zotow 4 hours ago | parent | prev | next [-]

Docbook

henrebotha 5 hours ago | parent | prev | next [-]

Asciidoctor?

spider-mario 6 hours ago | parent | prev [-]

ReportLab?

throwaway_7274 5 hours ago | parent | prev | next [-]

It's night and day.

I'm a PhD student currently writing my thesis in Typst. On paper this is an absurdly risky decision: it's a new technology without a huge user-base, it's not totally stable yet, etc. But I tried Typst and I had no choice. It was obviously the right thing to do, even though I'm going to have to make a pixel-perfect clone of my university's LaTeX template.

I've been using LaTeX for over ten years and I still wouldn't say that I "know" TeX in any meaningful way. I was not only productive but proficient in Typst in a day or two. If there isn't a package for something that I need (and, surprisingly often, there are packages for what I need, and excellent ones!), I find that I can just do it myself. Quickly. Things that never would have been possible for me with LaTeX are within easy reach. In ways I'd be happy to talk about if anyone's curious, it's been a huge enabler of my productivity as a researcher. I owe this tool so much.

Interestingly, I spend far, far less time yak-shaving in Typst than in TeX, since I can just Do The Thing That I Want. I'm actually focusing on writing instead of figuring out why package A conflicts with package B, and then how to install a different version of just a single package to override one of them, and then... [this sort of thing doesn't/can't happen in Typst; it's a real programming language with real modules] I could go on and on about the (relative) quality of the ergonomics and devex: fast compilation times, as others have said, but so much more than that. Try it out. Just try it out.

I should also say that it's not perfect. There are some funky design decisions for sure. There are some missing features, like including pdfs as images in your document (that one's on its way, I believe). Critically, the quality of the typesetting is maybe... 95% as good as TeX, which is perfect every time. Sometimes things don't kern quite right, and you have to adjust them by hand. It's a work in progress. I'm optimistic that it will achieve parity on that front.

p4bl0 5 hours ago | parent | next [-]

> even though I'm going to have to make a pixel-perfect clone of my university's LaTeX template

That's lucky. Most of us had to do a LaTeX pixel perfect clone of our university's MS Word template.

throwaway_7274 4 hours ago | parent [-]

Ouch ouch ouch. My sympathies :)

TheCondor 3 hours ago | parent | prev | next [-]

I suspect it is getting better but I've experienced some breaking changes with Typst. Nothing that was terribly difficult to fix, debugging it wasn't obvious though.

There seems to be a huge amount of folks that want typst to work. I respect TeX and LaTeX, immensely, but it's so vast and byzantine. Maybe I don't know where or what, but some kind of clean LaTeX "distribution" is needed. It seems like you could build it in to containers or something. Just have some way that sort of makes it more of an atomic unit or something. I don't know how many times I've pulled down a template started to build it and something was missing.

It's good to see innovation in this space and people using it.

daxfohl 2 hours ago | parent [-]

Sounds like they could benefit from the R (language) build model that checks library changes against registered consumers of that library before merging.

https://jtibs.substack.com/p/if-all-the-world-were-a-monorep...

ttfvjktesd 2 hours ago | parent | prev | next [-]

> even though I'm going to have to make a pixel-perfect clone of my university's LaTeX template

I'm not sure if you really mean pixel perfect or if it's just an exaggeration. There are packages in latex which are almost impossible to replicate in a pixel perfect way, one widely used example is microtype, which is especially useful in scientific works.

Rochus 5 hours ago | parent | prev | next [-]

> I've been using LaTeX for over ten years and I still wouldn't say that I "know" TeX in any meaningful way. I was not only productive but proficient in Typst in a day or two.

That's an interesting insight. Do you have an idea why this is? Do you have a CS background?

ajkjk 4 hours ago | parent | next [-]

Isn't that everyone's experience? TeX is a nightmare. It predates all standards for sensible software.

bogeholm 17 minutes ago | parent | prev | next [-]

From experience, you don’t need to not have a CS background to find TeX/LaTeX difficult or obscure to customize or extend.

Here’s a challenge to try (I hacked together something similar that only works in specific cases): write an environment where you get N columns in portrait page mode, with a vertical ruler, say, 12pt to the left of each column; respecting different paper sizes.

The amount of \makeatother, and what does that even mean??, will blow your mind

ulrikrasmussen 3 hours ago | parent | prev | next [-]

That's also been my own personal experience, and I have a CS background and have written several papers and a PhD thesis in LaTeX. I have done many detailed figures in TikZ and done countless presentations using Beamer.

I have no idea how to implement anything in TeX on my own besides rudimentary macros. I did once try to implement a simple typesetting package for typesetting some particularly gnarly natural deduction trees, and I thought it worked fine for a few examples, but then it broke down in ways that was completely non-obvious to me.

The computational model of TeX is really, really opaque to me.

coliveira 2 hours ago | parent [-]

If you had opened and read the TeX book, you'd understand it.

volemo 2 hours ago | parent [-]

Oh, you mean those 500 pages of dense Knuth writing?

stevesimmons an hour ago | parent [-]

Dense? The TeX book is a total delight to read.

throwaway_7274 5 hours ago | parent | prev | next [-]

Yep, I'm a CS researcher in a top-3 department. (Hate to be all credentialist like that, but I'm guessing it does mean something to this audience.)

I think a lot of the reason is that, ok, LaTeX is extremely complicated. We all know this. Its partisans tend to believe that this is because typesetting is a hard problem. Typesetting is a hard problem! We know this, too. But I think that a substantial fraction of the complexity of LaTeX is accidental complexity stemming, ultimately, from the inherently loosey-goosey nature of the system.

See, there is no real abstraction in TeX. There are no real mechanisms for encapsulation/information hiding/whatever. It's all just characters that eat characters and turn into other characters. Anything can do anything. Anything can be anything. As a result, the whole "theory" of what a TeX program "is" (like in the sense that Peter Naur used that word?) is conventional.

This means that even to reuse other people's code, you have to imbibe decades of convention that's maybe semi-documented, maybe folkloric, or maybe perfectly sound but requires you to read a 230-page manual. I can only speak for myself, but for me, it's no way to live.

Now, again, TeX-lovers tend to claim that its high degree of loosey-gooseyness is necessary, that it's what makes TeX "powerful." I don't know, that sounds to me like the same old "you can't handle writing assembly" story. Sure I can. I'd just rather not if I can help it.

Maybe it's the PL person in me.

Rochus 5 hours ago | parent | next [-]

Or could it be that the fact that LaTeX is a layer on top of TeX is a cause of additional complexity and that you still have to deal with TeX, so the abstraction is neither complete nor opaque? I assume in Typst they don't (yet) have this issue. Another reason could be missing static typing and thus less formal means to find bugs? You "missing abstractions" finding would point to that.

throwaway_7274 4 hours ago | parent [-]

Yeah, absolutely, the sheer number of moving parts is related to this. There's TeX-the-language, there's LaTeX-the-format (a big layer of macros and conventions), the different LaTeX standards (LaTeX2ε, LaTeX3, whatever, I don't know the ins and outs). Then there's the implementation: all the different engines (pdftex, XeTeX, LuaTex), then there are the distributions, then there are build systems and wrapper scripts to handle all the mysterious compilation-cycle incantations that depend on all the other stuff (latexmk, etc.).

All these layers and alternatives have proliferated partly because of age and the necessity of new solutions to new problems. I also think they're partly coping with fundamental limitations, design decisions that seemed like (or very much were!) a good idea in 1978, that sort of thing.

ok123456 2 hours ago | parent [-]

And the TeX that we know is the "new" TeX, which was created after Knuth completely rewrote the "old" TeX in 1983.

fredguth an hour ago | parent | prev | next [-]

I totally agree. I have written in LaTeX extensively and Typst is a game changer and a life saver. The community is also a plus. I love it and I will never go back to TeX.

ashton314 4 hours ago | parent | prev | next [-]

Fellow PL grad student—not a top-3 tho ;)

I’ve looked at Typst and it looks attractive. I’m not quite willing to invest in it until, say, PACMPL lets me use it there. Any idea if that will happen any time soon?

throwaway_7274 3 hours ago | parent [-]

I wouldn't count on it!

For me, it's been invaluable for notes and memos (and my thesis). When it comes time to submit a paper, I transcribe everything to LaTeX. It's a pain, but it's a lesser pain than transcribing from handwritten notes scattered across three notebooks and several crumpled-up sheets of printer paper in the bottom of my bag. That's my own peculiarity; YMMV.

(Edit: also, ugh, I feel like such a goof for having written that. Thanks for being nice about it.)

jfengel 5 hours ago | parent | prev | next [-]

TeX had many design goals. "Being a good programming language" was not one of them.

throwaway_7274 5 hours ago | parent [-]

Indeed! It undeniably succeeded at setting the standard for typesetting quality. Big ups to Don K.

analog31 3 hours ago | parent [-]

It also brought typesetting to academic research, which means it's doing something that wasn't necessary before it arrived.

I was one of the last holdouts from a bygone era. I finished my dissertation in physics, in 1993. It's neither typeset, nor even in a computer readable form. Some fellow students were already using LaTeX by that point (mostly high energy physics, the slowest to graduate of the physics specialties) but I wasn't going to change my already obsolete tech stack within mere months of finishing.

I also have my parents' chemistry theses. They took handwritten manuscripts to a typist who banged out 4 copies at once using carbon paper. And then they entered their equations and figures by hand. (My thesis is hand corrected too). And their theses were short.

LaTeX did a lot of things for my fellow students, but it didn't make them finish quicker.

throwaway_7274 3 hours ago | parent [-]

You wrote an analog thesis about 31 years ago, analog31? You've been playing the long game with this account!

Appreciate the story, thanks for sharing. Can I ask what your thesis was on (in whatever way isn't too personally-identifying if that's a concern)?

analog31 3 hours ago | parent [-]

I anticipated this moment. ;-)

It was at a time of extremely rapid development of laser technology, where you built your own lasers to be at the cutting edge, which meant optics, electronics, and in my case, computer control plus data collection. I developed a method of increasing the signal-to-noise for a class of spectroscopy measurements by a factor of roughly 1000. This opened up a number of possible experiments involving otherwise weak effects.

My experiment produced some token physics results, but the method that I developed was really the point of it. A couple other labs used my setup, substituting more modern lasers as they became available. Meanwhile, I went into industry, and still work on measurement instrumentation today.

throwaway_7274 3 hours ago | parent [-]

Good stuff, nothing but respect for that kind of work. AMO people are a different breed. Spending all day interpreting power spectral densities and tracking down ground loops takes a certain je-ne-sais-quoi. Literally. Last time I used a microwave amplifier I plugged it in with the wrong polarity and blew it up!

analog31 2 hours ago | parent [-]

It probably required negative power for some unexpected reason.

CMOS has spoiled us.

fergie 4 hours ago | parent | prev [-]

> top-3 departement

I’m curious- what does this mean?

throwaway_7274 4 hours ago | parent | next [-]

Ugh, unfortunately it means "please note that I'm not an unserious person." Very often when you have opinions on software on the internet, trolls will jump out of the hedgerow and shout, "who are you to have an opinion?" And, sadly, that same sort of person will often be mollified somewhat by prestige.

Feels kind of icky to have written that, though, and maybe I regret it slightly.

ok123456 2 hours ago | parent [-]

It also belies an ignorance that some schools have specializations. Utah wouldn't come to mind as a "top-20" school by the snobs, but they basically created computer graphics.

analog31 4 hours ago | parent | prev [-]

It narrows things down to about 20 departments. ;-)

throwaway_7274 4 hours ago | parent [-]

:)

Retr0id 4 hours ago | parent | prev [-]

I used to use LaTeX pretty frequently and although I was reasonably productive I also never felt that I "knew" it. It was a whole lot of googling "how to do x in latex" and pasting in something that was too arcane for me to remember for next time (and/or copy pasting from my own prior documents)

In all honesty, I only ever did it to achieve the "LaTeX look". These days I write in markdown or (gasp) wysiwyg editors like google docs.

cruffle_duffle 3 hours ago | parent [-]

Thanks to pervasive use of LLMs I predict the future is mostly markdown. It’s the defacto output format for every LLM. It’s simple, plaintext and easy to version control.

Hell I wish I could submit my resume as markdown.

shrinks99 3 hours ago | parent | prev | next [-]

You should check out this blog post about somebody who did the same! https://fransskarman.com/phd_thesis_in_typst.html

wildzzz 3 hours ago | parent | prev | next [-]

Maybe the best compromise here is a markdown interpreter that converts to latex so you can use existing libraries and templates but not have to worry as much about syntax.

gucci-on-fleek 21 minutes ago | parent | next [-]

Pandoc can do this [0], and there's also the "markdown" LaTeX package [1].

[0]: https://pandoc.org/MANUAL.html#specifying-formats

[1]: https://ctan.org/pkg/markdown

volemo an hour ago | parent | prev | next [-]

I don't think syntax is the problem here. Using some tool that transpiles to LaTeX, you'll still have to fight your TeX engine sometimes, but now you also add friction and gotchas of your tool that does transpiling.

I've tried writing Org and compiling it to LaTeX, but gave up this idea because ultimately I had to figure out idiosyncrasies of both LaTeX and Org-mode engines.

afiori 2 hours ago | parent | prev [-]

There are already good html to pdf solutions, people using latex generally would not be satisfied with those

chickenzzzzu 5 hours ago | parent | prev [-]

>on paper absurdly risky

to use a different program for turning equations to pixels?

>pixel perfect clone

why? they wont give you a phd if a single pixel is off by one bit in the alpha channel?

WastedCucumber 4 hours ago | parent | next [-]

In my experience, formatting is just about the only thing that a department/university cares about (outside of the folks on the committee), and they will send back a thesis until they're satisfied with the formatting, and that means lost time. Perhaps throwaway_7274's department has a reputation for particular attention to (meaningless) detail.

contrarian1234 3 hours ago | parent | next [-]

While there are formatting guidelines, I've never seen them so specific that you could only easily do it in Latex. Is that really common?

I've never actually see it as the assumed default option.. Maybe a decade back I could see that.. but not now.

afiori 3 hours ago | parent | next [-]

The matter isn't really that something is possible only in latex, but that a department/university might have its own template/document class of arbitrary complexity that you would have to reimplement

echoangle 3 hours ago | parent | prev [-]

I think there’s a Latex template you can use, or you have to make your own document that looks as similar as possible. It’s not a list of guidelines but a template that specifies how it’s supposed to look.

chickenzzzzu 4 hours ago | parent | prev [-]

that is a good observation, but it actually proves that the riskiest thing you could do with your time is a meaningless credentialist PHD, instead of actually learning skills that rich people will pay you for immediately without the pomp and circumstance

fathermarz 4 hours ago | parent | prev [-]

If you don’t understand what they mean and are hunting for pedantic discoveries in explanations of a problem, then please try to dig deeper and contribute more meaningfully, as per the HN guidelines.

chickenzzzzu 4 hours ago | parent [-]

please explain to me how anything i said displays pedantry or lack of understanding?

THEY were the ones that asserted they needed to be pixel perfect, not I!!!

fathermarz 3 hours ago | parent [-]

> to use a different program for turning equations to pixels?

They explain in the comment why it was risky (new thing instead of tried and true methods, not a large user base, etc.) and yet you minimized their explanation, over simplified and seem to not understand the risk involved in writing one of the most important pieces of literature in one’s career.

> why? they wont give you a phd if a single pixel is off by one bit in the alpha channel?

They meant pixel perfect as in matching the template to infer the importance of this. Then for some reason you went down the “off by one bit in the alpha channel” which is a bit of wise-assery and not meaningful nor necessary to the conversation.

As I said before, please dig deeper and use your well meaning System 2 to contribute, and not your Reddit-Tainted System 1.

commandersaki 11 hours ago | parent | prev | next [-]

These are some notes I wrote when I started out with typst when comparing with LaTeX:

1. It doesn't generate 5 bloody files when compiling.

2. Compiling is instant.

3. Diagnostics are way easier to understand (sort of like Rust compiler suggestion style).

4. List items can be either - item1 - item2, etc. or [item1], [item2]. The latter is way better because you can use anchoring to match on the braces (like "%" in vim), which means navigating long item entries is much easier.

5. In latex you have the \document{...} where you can't specify macros so they need to be at the top, in Typst you can specify the macros close to where you need them.

6. It's easier to version control and diff, especially if you use semantic line breaks.

7. Changing page layout, margins, spacing between things, etc., footers with page counters, etc. just seems way easier to do.

josephg 11 hours ago | parent | next [-]

8. Programming with it is lovely. Its got a little interpreted language built in, with helper functions like json("some_file.json"). I wrote a paper in it, and used that extensively to populate all my result tables. (Benchmark script -> JSON files -> typst compiled the results directly into the PDF).

TRiG_Ireland 9 hours ago | parent | next [-]

I've said that in Typst, when you're writing, it feels like writing, and when you're programming, it feels like programming. Whereas LaTeX always feels almost, but not quite, entirely unlike programming.

wasabi991011 2 hours ago | parent | next [-]

Nice Hitchhiker's Guide to the Galaxy reference! That's my favourite quote from it :)

For others, here's the quote being referenced:

> After a fairly shaky start to the day, Arthur's mind was beginning to reassemble itself from the shellshocked fragments the previous day had left him with. He had found a Nutri-­‐Matic machine which had provided him with a plastic cup filled with a liquid that was almost, but not quite, entirely unlike tea. The way it functioned was very interesting. When the Drink button was pressed it made an instant but highly detailed examination of the subject's taste buds, a spectroscopic analysis of the subject's metabolism and then sent tiny experimental signals down the neural pathways to the taste centres of the subject's brain to see what was likely to go down well. However, no one knew quite why it did this because it invariably delivered a cupful of liquid that was almost, but not quite, entirely unlike tea.

foobarian 4 hours ago | parent | prev [-]

The primary feeling I get from using LaTeX is: fear. Any little special thing I adjust tends to break the document, or move figures, or fixing one thing breaks another and so on. And forget about changing templates.

3eb7988a1663 an hour ago | parent [-]

My paranoid workflow is that I have to make many subdivisions of the document so that I can trivially enable/disable components when I am triaging a problem. When something breaks, I am less reliant on the garbage error messages.

So the top-level document is just a long list of inputs

  \input{intro}
  \input{prelude}
  \input{complex_figure1}
  ...
The side benefit is that I can disable all but the component on which I am directly working, so compilation is faster.
kzrdude 10 hours ago | parent | prev | next [-]

The fast preview makes it a fun environment for interactive graphical/visual programming. With some limitations, unfortunately no animations and don't try to create thousands of objects or curves, the language server will run out of memory and have to be restarted.

repeekad 10 hours ago | parent [-]

Is what you’re describing something that latex handles well? I’m no expert, but that problem seems solvable by rendering previews with say sampling of large or complex objects vs full builds that maybe take a minute if high fidelity animations or very large graphs are desired as a supported use case in something fully open source

lupire 8 hours ago | parent [-]

LaTeX comping/rendering is generally extremely slow.

yodaDrofnats 2 hours ago | parent [-]

TeX is slow?!

Writing and editing an entire book manuscript is slow.

For pesky TeX chaos smashups, you create a small dedicated TeX file with necessary driver files, edit-compile-loop till satisfied.

Twenty years ago I ran a makefile producing 1755 pages on a 32 bit INTeL CPU. This was just to see what a fat book would look like, thousands of edits remained, still remain. All the two-column formatting was fine, except for problems of long equations and tables blowing up beyond the column, and other mess I couldn't solve. The compile run time was insignificant.

BTW its laTeX not LaTeX.

Donald Knuth's original creation will ever be infinitely more significant than the sprawling ocean of all the crumpled paper bag shenanigans Leslie and whomever-ephemeral else, RUSTy-paper-clips to the side.

De Laude Scriptorum

3eb7988a1663 an hour ago | parent | prev | next [-]

Oooh that is nice. I have long relied on various conversion hacks to update data tables (mostly settled on pandoc markdown), but that little usability nugget is worth quite a bit to me.

phi-go 8 hours ago | parent | prev | next [-]

As you wrote a paper, how difficult would you say is it to recreate the template of the venue you submitted to?

colelyman 6 hours ago | parent [-]

I haven’t explicitly recreated a template for an academic venue, but I have recreated a custom template to match and existing PDF. It was pretty straightforward to recreate it as the language and “standard library” (if you could call it that?) is well designed and has excellent documentation.

red_trumpet 10 hours ago | parent | prev [-]

Have you compared this to using lua in lualatex?

gucci-on-fleek 9 hours ago | parent | prev | next [-]

> 5. In latex you have the \document{...} where you can't specify macros so they need to be at the top, in Typst you can specify the macros close to where you need them.

You can define macros anywhere you want, but you can only load packages in the preamble (before \begin{document}). I'm not familiar with Typst, but I would assume that it also requires you to load packages at the top of the document (or at least that's the only place that you would want to load packages).

> 6. It's easier to version control and diff, especially if you use semantic line breaks.

Semantic line breaks should be totally fine with LaTeX too.

> 2. Compiling is instant.

> 3. Diagnostics are way easier to understand (sort of like Rust compiler suggestion style).

Agreed, these are definitely LaTeX's biggest weaknesses.

mastermage 4 hours ago | parent [-]

I am 95% sure that you can import wherever you want. I remember doing it with Tables i defined in an extra document and then imported only where i actually needed them.

gignico 10 hours ago | parent | prev | next [-]

Actually number 5 is not an issue. Defining macros in the preamble is a custom but you can define macros anywhere.

toxik 10 hours ago | parent | prev | next [-]

Have you tried actually writing an article with it? I had very limited success. And since nobody is using it really, you're kind of on your own.

commandersaki 10 hours ago | parent [-]

Nah, just work documents (built in CI), resume, legal documents, ad-hoc documents. Publishing is not really in my purview.

throwaway_7274 6 hours ago | parent | prev | next [-]

Actually, you can’t specify macros anywhere. Unlike TeX, it’s a real honest-to-goodness programming language with functions and types and modules (yes! It has namespaces!) instead of just macros on macros on macros.

It’s not perfect, they definitely made some interesting choices here and there, but this makes it ~80% less painful than TeX when you’re doing anything other than happy-path undergrad-lab-report writing.

(To be clear, I know you know this! I’m writing this for the benefit of all sentient beings :))

baby 6 hours ago | parent | prev | next [-]

Oh wow, I was hopping something would come along with better friendlier errors like modern programming languages

porridgeraisin 6 hours ago | parent | prev [-]

> 5 bloody files

For those that have to use latex for various reasons, but absolutely hate these files from intermediate compiler passes, here are two aliases from my .bashrc

  latexloop() { latexmk -pdf -pvc -emulate-aux-dir -aux-directory=/tmp/latexcrap "$@"; }

  alias latexmk='latexmk -pdf -emulate-aux-dir -aux-directory=/tmp/latexcrap'
You can now `latexmk file.tex` and it will put all the auxiliary files in /tmp/latexcrap.

The `latexloop file.tex` invocation is just a helper that hot-reloads when you save the tex file.

jbaber 7 hours ago | parent | prev | next [-]

It's my duty bring up that plain TeX, the Knuth language in which the large macro collection LaTeX is written, isn't as verbose and opaque as LaTeX when people complain about that.

It has the opposite problem where you may have more control than you'd like. But it is in some sense very simple. e.g. this is a valid plain TeX document:

$$\aleph_0$$

\bye

Things don't have to begin{ and end{ etc.

There are simple collections of useful macros like [extended plain] kind of like lodash where the aim is to enhance the classic syntax by ` input eplain` at the top, not take over.

NB: I was so proud to write my thesis entirely in [extended plain], but when it was time to submit it to the library they basically said, "That's nice, nerd, but we have specific style files." and I had to rewrite it into LaTeX anyway!

[extended plain]: https://tug.org/eplain/

bombcar 7 hours ago | parent [-]

Anyone who has only ever used LaTeX will be pleasantly surprised by plain TeX - so many of the things that you'd think must be LaTeX macros are actually just TeX itself.

ossner 5 hours ago | parent | prev | next [-]

The crucial component for the success of this, in my opinion, is the acceptance of Typst templates in scientific journals and conferences. The adoption of something like this in universities relies entirely on the adoption by these publishers.

I see almost no support in the scientific community for Typst since everyone already has a LaTeX template for a thesis, paper, slides, etc. Researchers need to take the initiative and create a template that is accepted by first a chair, then propagate it in the university and try and get it popular enough so that it hopefully forces the creation of templates for conferences and journals.

This is an incredibly long, tedious, (and I am guessing ongoing) process, but one that is crucial for Typst to be a real contender with LaTeX

HiPhish 11 hours ago | parent | prev | next [-]

I have written a couple of lecture notes in LaTeX and I wrote my master's thesis (mathematics) in LaTeX as well[1]. It's actually a fine language if all you want to do is write and rely on other people's templates. But actually writing my own package or understand how the underlying systems work has always seemed like black magic where individual packages have to avoid stepping on each other's toes, or add specific workarounds. Maybe I'm wrong, but that's the impression I got.

It would be nice if Typst could be a LaTeX replacement that makes actually layout and designing the document approachable. I have only used it once for a quick one-off experiment and I did like the language, but as I have said above the language is not the problem if you just want to write text.

[1] That's not quite true, actually. I first wrote my thesis in reStructuredText and used Pandoc to generate the LaTeX and subsequent PDF. This allowed me to get started without having to write a lengthy preamble first. Then after I had more than half of it written down and had a good idea of what I wanted the document to look like did I clean up the generated LaTeX, adjust the formatting to my needs, redid the drawing in TikZ, and then kept writing LaTeX from there. I still think the language is not the problem, but it's easy to get hung up in the design phase before even the first chapter is written.

eigenspace 10 hours ago | parent | next [-]

I also haven't delved too deep into Typst, but I can say that in my experience, writing templates involves way less black magic than LaTeX. I feel like I'm already more proficient and making my own structures with it than with LaTeX despite using LaTeX for a decade

Gualdrapo 10 hours ago | parent | prev | next [-]

> It would be nice if Typst could be a LaTeX replacement that makes actually layout and designing the document approachable

Those goals fall way out of the scope of LaTeX (and of course of Typst). If you want to have more control and power into a document's design, there's ConTeXt - as a graphic designer I just love it and can't imagine myself replacing it with LaTeX or Typst.

But as you said, if you want to concentrate on writing your text without thinking too much about its design, LaTeX or Typst are great for that.

the-wumpus 10 hours ago | parent | next [-]

I disagree with it being outside the scope of typst. Typst makes designing a template entirely feasible, I've tried and succeeded.

HiPhish 8 hours ago | parent | prev [-]

I have hear of ConTeXt, but never tried it. I originally wanted to write my resume in LaTeX, but I quickly realized that my choice was either to use a template and have a resume that looks like everyone else's, or dig deeply into the arcane working of TeX. In the end I had my sister do it in InDesign, but now she is the only one who can update it. I would love to remake it in something I can actually edit myself, whether ConTeXt, Typst or Sile.

zelphirkalt 9 hours ago | parent | prev | next [-]

I also have written. thesis in reStructuredText and used Pandoc to make a latex file and then latexmk to make a PDF file from it. I also used matplotlib and Python to make PDF plots, which I then could losslessly embed into the main document.

Was there anything that you were not able to achieve with reStructuredText? I am not aware of any limitations, because you can use latex in your Pandoc template and reStructuredText is very powerful to begin with, compared to most if not all Markdown dialects for example. I think it might have been easy to continue writing reStructuredText, instead of latex.

HiPhish 8 hours ago | parent [-]

> Was there anything that you were not able to achieve with reStructuredText? I am not aware of any limitations, because you can use latex in your Pandoc template and reStructuredText is very powerful to begin with, compared to most if not all Markdown dialects for example. I think it might have been easy to continue writing reStructuredText, instead of latex.

Honestly I can't remember, it has been seven years since. I don't think I was aware that I could add LaTeX inside the reStructuredText, or maybe that wasn't a feature at that time. Or maybe the formulas were too complex to express in reSturedText (my topic was differential geometry). I think my main reason was that I did want control over the final layout and I wanted to add drawings in TikZ because that way the fonts in the image would match exactly the fonts in the text.

tossandthrow 10 hours ago | parent | prev [-]

You footnote really describes why latex was not fine.

I recently wrote a thesis in typst. I have written other thesis in latex.

In latex i actually wrote in markdown and compiled to latex.

I don't need that for typst.

If typst can avoid enshittifaction over the next years, then I will stay with them.

__mharrison__ 6 hours ago | parent | next [-]

You can still write in markdown and use pandoc to create typst.

eigenspace 9 hours ago | parent | prev [-]

The nice thing about Typst is that I think they've built up a community and business model that should disincentivize enshittification. The compiler is open source, and there's a large number of people using it now. If they start enshittifying, it can just be forked and maintained by the community at the very least at the level of functionality it's currently at, which is good enough for a large segment of people.

bolangi 16 minutes ago | parent | prev | next [-]

Don't forget other alternatives. On the pre-unicode side, we have lout http://jeffreykingston.id.au/lout/ . On the postmodern side, we have rakudoc https://raku.github.io/rakudoc .

noelwelsh 10 hours ago | parent | prev | next [-]

I've ditched Pandoc + Latex for Typst for a book [1] that I'm writing. Typst is as easy to write a Markdown, and so much easier to program than Latex (though it is still a bit rough in some places). In Latex I would have to rely on a slew of packages to get anything done, and then work around their quirky interactions. With Typst it's feasible to just write it myself. It's also really fast and doesn't poo all over the file system. Strong recommend if you're producing technical documentation with PDF as your primary target.

[1]: https://github.com/scalawithcats/scala-with-cats/tree/featur...

Eddy_Viscosity2 8 hours ago | parent | prev | next [-]

As a long time latex user, and one who is occasionally frustrated by usual things about latex, I have two qualms about attempting to switch to a new system. The first is I already have found solutions to many of my edge cases in latex. Will I have to do this all over again in something like Typst? It can't be so good as to not have any. And when I do encounter them, is the user base big enough to have already encountered it and solved it and wrote about it, so I can just look it up?

Looking at the example in the link, in principle it looks great. But one of the strengths of latex is that I can customize things. Like for the list example, I can have fine tune control over the indent on both sides, the list marker symbol, the space between the marker and the text, and so on and so on. Does typst have this level of control?

philistine an hour ago | parent | next [-]

Typst still does not natively support floating images. You can put images at the top of a page, or at the bottom, but there is no native way to declare an image as floating with text wrapping around it.

SabrinaJewson 17 minutes ago | parent [-]

“Natively” is important here because it’s actually relatively easy to get it working with a package: https://github.com/ntjess/wrap-it

vessenes 7 hours ago | parent | prev | next [-]

Same boat here. It’s a very good layout language. And vastly superior production process. Will you find new edge cases? Yes. Is there a large user base covering all problems? No.

You can add: “Does Claude Code understand it well enough?” No as of a year ago, last time I checked.

throwaway_7274 6 hours ago | parent | next [-]

Yesterday I had Claude write me a simple 3d renderer using the CetZ package (typst’s Tikz) to draw illustrations of surfaces for a math paper. It pretty much nailed it.

__mharrison__ 6 hours ago | parent | prev [-]

I've had decent results from AI for typst.

foobarian 3 hours ago | parent | prev | next [-]

I guess to add to that, what if there is another party involved with your work that will demand latex? Like a library or journal publishing your thesis/paper?

tcfhgj 7 hours ago | parent | prev [-]

Control for indentation, spacing and symbol is available: https://typst.app/docs/reference/model/list/

defanor 11 hours ago | parent | prev | next [-]

Among alternative typesetting systems, there is also SILE, which supports two syntaxes (XML-based and TeX-style), supports scripting in lua, comes with freely available sort-of-specification (unlike (La)TeX or Typst, unless one counts program sources as specification). For formulae, it additionally allows direct MathML input. I have not used either Typst or SILE though, only looked into their documentation.

HTML with MathML may make a decent system as well; possibly with an XML source and XSLT for templating, which is apparently how OpenStax textbooks are composed (via CNXML, though that also has just a couple of rain frog pictures in its documentation repository -- seems to be a common pattern around typesetting systems).

Then there is troff with eqn(1), which looks simpler, but not sure if there is an actual specification for it around, either.

And then there are Texinfo, org-mode with LaTeX embedding, other TeX-adjacent options, perhaps Markdown with HTML and MathML embedding.

gucci-on-fleek 8 hours ago | parent [-]

> HTML with MathML may make a decent system as well

HTML is fine to write by hand (especially when you take advantage of tag omission [0]), but I can't imagine handwriting MathML, since even simple equations need lots of tags [1].

[0]: https://html.spec.whatwg.org/multipage/syntax.html#syntax-ta...

[1]: https://en.wikipedia.org/wiki/MathML#Presentation_and_semant...

b1c837696ba28b 5 hours ago | parent | next [-]

I also had problems with MathML verbosity, and the culprit is the markup for the individual character classes (mi, mn, mo, ms.) I wrote a little filter that pulls apart character sequences and applies the respective character markup tags using a lookup table, so I can write MathML without using character markup. If any character markup is already present then it is skipped, so the automatic behavior can be bypassed by explicitly tagging characters and symbols as needed. This drastically reduces the character markup and makes it quite readable, even to my dyslexic eyes. As a bonus I'm not tied to some other tool that I have to game from time to time to get a particular MathML expression, I can say exactly what I want. BoBW.

pkal 7 hours ago | parent | prev | next [-]

This is probably not useful for most people, but I wrote a little script for Emacs that lets me write TeX-style math in a comment and then render/update it below in MathML: http://sdf.org/~pkal/src+etc/mathml-from-tex.el. The translation itself is done by LaTeXML, which one must install on your system separately.

defanor 8 hours ago | parent | prev [-]

It is indeed considerably more verbose, especially the "context" version (the one focusing on semantics, rather than presentation), and I did not write much of it myself, but I can imagine it being fine. It should not be a bottleneck for carefully (and slowly) composed documents, while for more casual and quick notes, even with LaTeX it appears to be common to use both a preview (often inline) and some input assistance, avoiding completely manual handwriting. Besides, as the linked Wikipedia article mentions, it is rather like expressions in Lisp-family programming languages (or pretty much any common ones, if you avoid infix operators), which are not that bad. I imagine it may also be more convenient (and terse) in combination with SXML or KDL, to avoid closing tags.

xurukefi 26 minutes ago | parent | prev | next [-]

The LaTeX community is astonishingly good at gatekeeping. I can't think of another field where the adoption of a clearly superior modern alternative has been so slow. For some reason, they seem to take pride in clinging to a 50-year-old typesetting system—with its bloated footprint, sluggish compilation, incomprehensible error messages, and a baroque syntax that nobody truly understands. People have simply learned just enough to make it work, and now they treat that fragile familiarity as a virtue.

dev_l1x_be 23 minutes ago | parent [-]

The problem is that with Latex i end up in the same situation like in Word. I do not understand what is happenig and why.

Typst was an amazing addition to the modern IT stack. I use it whenever I can. The only issue is that companies like Google and Micrososft are dominating the collaboration space and I have zero chance to convince a comany to adopt Typst for internal documents that need to look good. It would be great though.

impendia 7 hours ago | parent | prev | next [-]

One advantage of LaTeX is that it's virtually impossible to generate markup by accident. This contrasts with other platforms which often decide that I'm trying to create a bulleted list, write something in boldface, etc. -- which hasn't always been the case.

It seems that part of the design philosophy of Typst is to make more assumptions about what the user is trying to do. For example, apparently if the user wants "dif" to appear in a math formula, typing "dif" would instead produce a differential -- although I presume there is some easy way to handle this.

Anyone who has used Typst -- did this potential disadvantage materialize in any way which was at all significant? Or did it turn out to be a nonissue?

airstrike 5 hours ago | parent | next [-]

This is a nonissue. I've written several lengthy documents mixing up all sorts of pieces in Typst over a year, created my own template, modules, functions...

tcfhgj 7 hours ago | parent | prev [-]

Text needs quotes in math mode, only single letters are rendered as text.

Markup is indicated by [].

Math by $$

Code by #

Accidentally entering markup mode hasn't happened to me so far.

oldie17 11 hours ago | parent | prev | next [-]

Typst is just wonderful, I hear maths majors now procrastinate on thesis writing by writing typst packages instead. Give it ten years and see how it developed.

Pros:

- Instant compile. It just sits there waiting, and once you save your .typ, boom, your .pdf is ready.

- Surprisingly often I find myself using it as markdown replacement, e.g., for random meeting notes. Syntax is as easy as markdown and without boilerplate it produces a nice pdf.

What's not to like?

- IMO debugging can be tricky with quite concise error messages. And it does not produce any pdf once there is a single syntax error, precluding one favourite latex debugging route.

- When using packages, one does encounter hickups, but no surprise here for long-time latex users.

throwaway_7274 6 hours ago | parent [-]

In my experience, the hiccups with packages are of a different kind than those with LaTeX packages. They’re more often “normal programming” hiccups where a function is poorly-documented, or there’s simply a bug. LaTeX packages can cause bigger problems: even usepackage-ing them can do arbitrary ‘stuff’ and have weird nonlocal effects that are basically undebuggable. Oftentimes two packages will just be incompatible, which should not ever be the case in a sensible programming language.

sieve 10 hours ago | parent | prev | next [-]

I have been planning to put out a quarterly Sanskrit newsletter for some time now, and was dreading having to deal with LaTeX. For basic stuff, LibreOffice PDF export works. But that is not a plain text workflow.

I then discovered typst and it is a breath of fresh air. Unicode/Dēvanāgarī support out-of-the-box, no installing gigabytes of packages, near-instant compilation.

My complements to those who got this done.

topaz0 3 hours ago | parent | prev | next [-]

The programming parts are very tempting, but I find the philosophy of the math mode input simplification to be questionable. E.g. automatically generating fractions from "/", or removing parentheses depending on whether they are redundant with other grouping. Those are all choices that I want explicit control over, and the most readable choice depends strongly on the details of the expressions. After some digging it's clear that all of that can be overridden without too much effort, but it still seems like a poor default for my use cases.

tiagod an hour ago | parent | prev | next [-]

I've written a system that consists of a JS front-end/backend, which then feeds a json object to a typst template to generate PDF reports with hundreds of pages, multipage tables, references to bibliography within the json strings, and translated to multiple languages. It works extremely well, and it's very intuitive to work with it.

For example, for the translations, I just made an object with every piece of text in a hierarchical structure, with the leaf being an object with keys for every language and the texts as values. Then I have a function called t() that is created after we already know the language for this report that just extracts the current language string when given an object like #t(content.section1.subsection.header.title) in the main report template (which imports this translations object from another file)

For bibliography references, I just have a regex for __REF\d+ that will replace all those references with real bibtex references.

mcswell 2 hours ago | parent | prev | next [-]

From the article: "Typst... can, for example, easily split large tables across page breaks, something that LaTeX struggles with even with specialized packages." That would be nice. I remember when I first started working with LaTeX that I was surprised that I needed to decide ahead of time whether a table would fit on one page or not. If Typst can make that decision on its own, that's a step forward.

One thing I have not seen mentioned as yet: cross-references. In LaTeX, I can create cross references to anything: page number, table or figure number, even an item in a numbered list. Does Typst have that capability? I saw a package for cross-referencing numbered boxes (it's called statementsp), but it wasn't clear how you xref other things. (Not saying it's not there, it just doesn't jump out at me.)

WastedCucumber 11 hours ago | parent | prev | next [-]

God it's so much easier than LaTeX. I wrote so many things in LaTeX over the years, and writing (and debugging) switching to Typst felt like, well, like somebody had been fighting me every step of the way, and then finally stopped. I'm not going back, if I can help it.

But I will say I've mostly written relatively simple documents in it, so maybe that colors my experience.

nyc1983 9 hours ago | parent | prev | next [-]

Nobody seems to be taking about how great typst is to use programmatically. It’s absolutely trivial for example to build a Lambda function that parses some json input into a PDF. We’re using it to generate PDF invoices for our customers. We save massive amounts of compute because of how fast typst compiles into the PDF.

bluenose69 9 hours ago | parent | prev | next [-]

I've started using typst for small local documents that I would previously have written in markdown (or R-markdown). Typst offers programming features that are very helpful for small writing tasks that need more customization than markdown provides but that don't need the wildly expansive set of templates available in the latex world.

Like other academics, I plan to stick with latex for journal articles and books, unless publishers provide support for typst.

Markdown still has a place for files on github, because that means that web browsers will display formatted material, not just the raw code. A similar thing applies to code documentation, with many systems (R, Julia, etc) supporting various flavours of markdown.

I recommend typst to students for small tasks like assignments. It offers more typesetting power than markdown, it's a great replacement for msword, and it's easier to learn than latex.

Long story short, typst fills a niche. But it's not the be-all and end-all, at least in my (natural science) field.

bjackman 9 hours ago | parent | next [-]

> Like other academics, I plan to stick with latex for journal articles and books, unless publishers provide support for typst.

In my undergrad we sent all our essays etc as LaTeX and it was honestly very usable. I assume this was somewhat dependent on having a wealth of enthusiast professors and postgrads to develop the templates though...?

Since then, I've used LaTeX in a "freeform" way and absolutely hated it, I will definitely be trying Typst next time I need more than Markdown/RST.

But I can imagine that if you are unlucky, working with the journal-provided templates could be WORSE - if the templates suck you are surely in a world of pain!

bombcar 7 hours ago | parent [-]

LaTeX absolutely shines when you have someone providing a template; hardly anything comes close.

When you're on your own, you need to either steal someone else's and modify it, learn to build your own, or just use something like the Memoir package (which is the first but designed for it.)

Even if you don't use LaTeX at all, "A Few Notes on Book Design" is worth the read: https://ctan.org/pkg/memdesign

__mharrison__ 4 hours ago | parent [-]

Elements of Typographic Style is also a good one if you want to geek out.

lupire 8 hours ago | parent | prev [-]

I imagine that it would be productive to write a draft of a paper or book in Typist, and then do the painful LaTeX writing for the later and final drafts. The pain saved on early drafts would outweigh the cost of doing some work twice.

tkw01536 2 hours ago | parent | prev | next [-]

Like other commentators, I have worked with LaTeX for a long time (> 10 years) and have to say that it very much shows its age.

For once, the compilation time is terrible - it can take several minutes to compile a typical document. I recently tried to create a poster for a conference - a single A0 page - and even this took more than a minute to compile. Because positioning in images and figures in LaTeX is not obvious, this made iteration extremely slow.

Additionally, by forgetting a single bracket, one can easily encounter cryptic error messages relating to boxes. In the past, I have also worked on LaTeXML (the LaTeX-to-HTML "converter" amongst other things being used to power ar5iv [1]). Even though this exposed me to some of (La)TeX's internals, it is still extremely difficult trying to decipher error messages.

Typst, on the other hand, is much faster when compiling and provides much clearer error messages.

For this reason, I also decided to write my 130-something PhD dissertation in Typst [2]. My university only provided a LaTeX and a Word template, but I ended up copying that in Typst extremely quickly. My thesis compiles in about 7 seconds on my laptop - I cannot imagine how long it would take had I chosen LaTeX instead. Not only that, when I showed an initial draft of my dissertation to my supervisor - also a decades-long LaTeX user - he could not tell that I wasn't using LaTeX.

I only really encountered one problem with Typst so far - citation styles. In particular, the alphanumeric style preferred by my field produced duplicate citation keys, making the output unreadable in printed form. But given all the other benefits Typst offered, I ended up switching to IEEE's citation style instead.

I am also hoping that Typst improves its HTML export - it is very barebones at the moment - but that seems to be in the works [3].

[1] https://news.ycombinator.com/item?id=36947004

[2] https://doi.org/10.25593/open-fau-1825

[3] https://github.com/typst/typst/issues/5512

throwaway_7274 2 hours ago | parent [-]

Hey, I've had the same problem with duplicate citation keys! I couldn't find an issue on it. One of us should file a bug report.

tkw01536 2 hours ago | parent [-]

I already did [1]. It got moved into hayagriva, which appears to be the library used to implement citation in typst.

[1] https://github.com/typst/hayagriva/issues/255

throwaway_7274 an hour ago | parent [-]

Amazing, thanks!

marginalia_nu 11 hours ago | parent | prev | next [-]

Assuming it's at all desirable, it's an interesting and recurring problem of how to dislodge existing sub-optimal (sometimes even harmful) standards and notations.

Almost nobody wants to learn something new when they already know something similar.

Creates a heck of a momentum effect, not just from the practitioners resisting the change, but also available resources and so on.

josephg 11 hours ago | parent | next [-]

> Almost nobody wants to learn something new when they already know something similar.

Yeah, I wrote a paper using typst - which was much more pleasant to draft. But for the final version submitted to the journal, we ended up converting it to latex because that's what the journal wanted.

I think it'll be hard to dislodge latex for academic papers - particularly in CS. But there's plenty of other uses for it. Personally I'm looking forward to HTML output. I want to use it to write blog posts and long form documentation. (Markdown simply isn't powerful enough for my needs.)

gucci-on-fleek 8 hours ago | parent | prev | next [-]

> it's an interesting and recurring problem of how to dislodge existing sub-optimal (sometimes even harmful) standards and notations.

> Almost nobody wants to learn something new when they already know something similar.

There are lots of people (myself included) who genuinely like LaTeX, so it's not just inertia preventing people from switching (although that is definitely a significant factor).

bonoboTP 11 hours ago | parent | prev | next [-]

If the software is actually good, it can start from an enthusiastic core of students, PhD students and later niche conference organizers and niche journal editors and if they gossip about their experience, it can spread through word of mouth if it's sufficiently good.

marginalia_nu 10 hours ago | parent [-]

Yeah I think this is correct, with the added caveat that it must be as good as the alternative PLUS the awkwardness of switching to have any hopes of breaking out of the local minimum.

Otherwise you become Dvorak, which despite being better than Qwerty and having been around for almost a hundred years, still hasn't seen widespread adoption, in this case because the awkwardness of switching is very significant. The effect is likely smaller on something like Typst.

lupire 8 hours ago | parent [-]

Dvorak is only slightly better than Qwerty at most.

__mharrison__ 4 hours ago | parent | prev | next [-]

I'm convinced no one really knows tex/latex. Everyone googles enough to get by.

Typst on the other hand is completely sensible.

It takes less time to learn typst than to refresh on latex.

benrutter 11 hours ago | parent | prev | next [-]

> Almost nobody wants to learn something new when they already know something similar.

I think it depends on what the thing is. I use LaTeX for occasional documentation, a better version would save me a maximum of 5 minutes a year. I probably won't be an early Typst adopter.

But, I spend loads of time for example, working with dataframes in Python. I got into Polars fairly early because improvements in that space can massively affect my productivity.

If you're routinely using LaTeX to write papers, the time spent learning something new isn't comparably large.

zelphirkalt 9 hours ago | parent | next [-]

If a better Latex only saves you 5 minutes per year, then that means, that you are either a latex god, who types 200wpm in special characters and talks latex fluently, or, that you don't actually write much documentation per year, or, that someone else has invested significant time to create all the document layout, macros, environments, etc. so that you only need to type the text.

My point is, that creating a proper latex document, specific to one's use case can consume many hours of time.

nbernard 11 hours ago | parent | prev [-]

> If you're routinely using LaTeX to write papers, the time spent learning something new isn't comparably large.

I don't know. By then aren't you quite comfortable with LaTeX?

It may be Stockholm syndrome and sunk costs speaking, but I'm using LaTeX all the time: I quite like it and I don't feel any need for something else to replace it...

__mharrison__ 4 hours ago | parent | next [-]

Folks who know latex would benefit the most from typst, just from the compiling aspect.

setr 10 hours ago | parent | prev [-]

Text editors progress one funeral at a time.

nbernard 10 hours ago | parent [-]

Scientific text editors, you mean? ;)

I suspect it is actually worse than that and that they are actually subject to the Lindy effect ( https://en.wikipedia.org/wiki/Lindy_effect ).

mystifyingpoi 11 hours ago | parent | prev [-]

See: YAML, JS, /etc structure, credit cards in US...

marginalia_nu 11 hours ago | parent [-]

Keyboards being modeled after typewriters, unit of electrical charge being negative, pi being half a turn, etc.

Our basis vectors are very much wide of the mark.

spookie 11 hours ago | parent [-]

We... have failed so much...

xvilka 3 hours ago | parent | prev | next [-]

There is still continued work on LaTeX3[1][2], but it took so long without any release[3], by this time not sure if it will get adopted.

[1] https://www.latex-project.org/latex3/

[2] https://github.com/latex3/latex3

[3] https://tex.stackexchange.com/questions/572113/whats-the-cur...

gucci-on-fleek 8 minutes ago | parent [-]

LaTeX3 has either been cancelled or has already happened, depending on how you look at at. [0] But despite that, LaTeX is still continuously improving, although it will never beat Typst on speed or simpler markup.

[0]: https://www.texdev.net/2024/11/11/the-mythical-latex3

renerick 11 hours ago | parent | prev | next [-]

Typst is fantastic and I recommend to dive into it to see how much value it offers. To me personally, the biggest strength is the ergonomics of both the tooling and the language, and how ergonomics persist even between documents of various complexity. Writing a paper in LaTeX is nice, but making something like a CV takes some patience. Meanwhile, in typst it was quick to get started and go all the way to building resumes, character sheets, and I know of at least one occurrence of implementing symbolic math in typst language. It's not without quirks, but still, very solid alternative

specproc an hour ago | parent | next [-]

All I've done in Typst is my CV, I saw it here a while back and thought it'd be a nice use case.

It took about a day to get my head round the language an another to get it looking like I wanted. It's pretty simple, but I found it easy to run up and maintain.

chanux 11 hours ago | parent | prev [-]

I maintained my CV in Latex for years (originally got started on this due to the fear of MS Word) and recently tried out Typst. I agree with you that it's quite simple to get started with. Also, I had to maintain a Ubuntu based Docker image with everything needed for the build.

Also if anyone is looking for a little help in getting started, LLMs are pretty decent at converting (and I forget which one I used).

klabetron 10 hours ago | parent [-]

My CV is still in LaTeX which gives me the opportunity to procrastinate updating it (rather than actually applying for jobs) because of all of the tweaking I do.

If nothing else, typist is going go give me more opportunities to procrastinate! Nice.

fgdelcueto 3 hours ago | parent | prev | next [-]

I had been using LaTeX for 25 years. I gave it a try recently to write a technical paper and I was blown away. I saved so much time. The immediate feedback and the advanced features were impressive. I had to include a budget proposal in one of the chapters and I was able to create a quick script that read a csv file with the different concepts and costs. I would modify the contents of the csv file and the document would update right away. I didn't have to recompile the document as I used to do with LaTeX... the results were there, right away, beautifully formatted. I am very impressed and will definitely consider doing more work with Typst.

jakegmaths 10 hours ago | parent | prev | next [-]

Almost all my computer science students are using Typst on my recommendation to write up their programming projects, vs most using Microsoft Word last year. Specifically, writing in VSCode with the Tinymist Typist extension. All going very well so far and no complaints.

zelphirkalt 9 hours ago | parent [-]

I was with you when you explained how you got them off of MS Word (even worse if it was the web version!!), until you brought up VSCode. I get it, you are probably advocating very practical choices. Just that I wouldn't recommend students to become dependent on VSCode (due to its vendor and "telemetry"). Basically, that makes the students again dependent on MS. But I guess since you recommend an extension, you cannot recommend VSCodium and adding the extension store as someone in a teaching position? If you can, then I would strongly advocate recommending VSCodium instead (or non-electron app editors), to avoid spyware on their machines and to promote a healthier tooling.

HiPhish 8 hours ago | parent [-]

There is a language server for Typst: https://github.com/Myriad-Dreamin/tinymist

I have not tried this one, but the predecessor (typst-lsp) was working fine with Neovim for me when I did my little Typst experiment last year. Whatever the VSCode plugin is offering should be possible to replicate on top of tinymist.

kzrdude 8 hours ago | parent [-]

Tinymist is working very well with Neovim too - and there is a preview plugin based off of tinymist, too, for Neovim.

delta_p_delta_x 11 hours ago | parent | prev | next [-]

I must say I really like the more straightforward syntax, semantics, and distribution model of Typst. LaTeX is akin to programming with the C preprocessor, it's both ridiculous and amazing what people have done with it but it gets quickly intractable. However, I really do enjoy the quality of graphics, diagrammatic, and scientific output from LaTeX, even if typing them is a pain (LLMs are a huge help here).

So asking the community here: what does Typst offer in place of PGF/TikZ[1], PGFPlots[2], Asymptote[3], chemfig[4], siunitx[5], physics2[6], and how does it work with existing bibliography providers? I use biber[7] with the Zotero Connector and Better BibTeX[8] so any paper I visit on the web is essentially instantly available to cite with one click on LaTeX.

A good test for Typst ought to be reproducing most of these typographic and diagrammatic exemplars: https://tex.stackexchange.com/questions/1319/

[1]: https://tikz.dev/

[2]: https://tikz.dev/pgfplots/

[3]: https://asymptote.sourceforge.io/

[4]: https://mirrors.ctan.org/macros/generic/chemfig/chemfig-en.p...

[5]: https://mirrors.ctan.org/macros/latex/contrib/siunitx/siunit...

[6]: https://mirrors.ctan.org/macros/latex/contrib/physics2/physi...

[7]: https://mirrors.ctan.org/biblio/biber/base/documentation/bib...

[8]: https://retorque.re/zotero-better-bibtex/

ioasuncvinvaer 10 hours ago | parent | next [-]

Cetz[0] is the drawing library in typst. For your other needs check out the package repository at [1] (visualization should be the correct category).

Typst has a bibtex support by default [2].

[0] https://typst.app/universe/package/cetz [1] https://typst.app/universe/search/?kind=packages&category=vi... [2] https://typst.app/docs/reference/model/bibliography/

constantcrying 8 hours ago | parent | prev [-]

Obviously the drawing capabilities aren't equivalent yet.

bibtex files can be used in typst.

bawolff 10 hours ago | parent | prev | next [-]

Fun fact: TeX was written closer in time to Alan Turing's famous paper introducing the Turing machine, than to present day.

The absolute staying power of TeX has been incredible.

bryanhogan 5 hours ago | parent | prev | next [-]

I had originally dismissed Typst, since at first glance it seemed like some closed online-only tool. But actually there's solutions such as Typstify[1] which works offline, haven't tried it yet but seemed promising.

[1]: https://typstify.com/

aeve890 4 hours ago | parent [-]

Typst is open source. It can be used as a cli tool https://github.com/typst/typst

colonial 2 hours ago | parent | next [-]

There's also an LSP (Tinymist.) My Typst workflow is all local in VSCode, with the source markup in the left pane and a live preview on the right.

ktosobcy 3 hours ago | parent | prev [-]

Is the format "open" as well?

aborsy 11 hours ago | parent | prev | next [-]

Tex doesn’t attract software developers. The programming language has remained really old fashioned and clunky. The error system is particularly bad. I use it on a daily basis, and it doesn’t feel nice, far from the experience with Python or Rust.

The output is superb though, which is why everyone in academia keep using it. It’s just the tooling that is poor.

I think it needs to be modernized.

kzrdude 10 hours ago | parent | next [-]

TeX has the idea that it's feature complete and should not develop, so then by definition (cheekily) it cannot attract any developers.

zzless 7 hours ago | parent | prev [-]

With all due respect to your perspective on TeX, isn't it the whole point? There are weaknesses in TeX (like using $ for both beginning and ending the math mode) but they are quite minor. Quirkiness is not a weakness but being a standard (since 1986!) is a major strength. The fact that it does not change is a blessing, truly. Python may be a fine language with a great community of supporters and I use it because I pretty much must but programming in something that is essentially a moving target is no fun. And I would take TeX macros over Python ugly syntax any day, no offense. Not to say I am right just to point out that taste is not necessarily a reliable guide.

locao 3 hours ago | parent | prev | next [-]

My first thought was "why would anyone want to ditch LaTeX?". But it's been almost 20 years I left academy, so I knew I would be missing something.

Reading the comments reminded me of the pain.

I didn't see anyone mentioning, maybe it was me "holding it wrong", but boy what have I done to get proper references. After a year or so writing articles I had an unfailing process to get them right, but whenever I tried to explain it to my colleagues I heard "yeah, ok, I'm staying in MS Word".

I also did a pixel-perfect template for my university. As a programmer, I never felt so ashamed of sharing something. I felt like it would be selfish to keep it to myself, so I did it, but it almost physically hurt me. After 10 years people stopped emailing me asking for help. Maybe they fixed the template or just ditched LaTeX at all.

As I'm planning to get back to academy next year, it was good to learn about Typist.

linsomniac 5 hours ago | parent | prev | next [-]

Any experience with using Typst to produce "pixel perfect" reproductions of existing documents? At work we have a series of contracts that are updated every year, with fillable blanks that we fill in with provided data. We currently use latex for them and have a contractor is very good at making them look basically exactly like the original contracts, but at some point she's going to retire, probably sooner rather than later.

Probably our best solution is to decide that we don't care about nearly pixel perfect reproduction of the contract, which probably makes a switch to typst a lot easier.

mr_mitm 4 hours ago | parent [-]

I've reproduced documents with Typst, mostly pixel perfect. I've done the same in LaTeX before, and it was orders of magnitudes easier with Typst. However, I didn't care if a couple of paragraphs with hundreds of words in them were a line longer or shorter. That might be an issue if you care about literal pixel perfection. But why would that be important in contracts?

qbit42 6 hours ago | parent | prev | next [-]

Typst seems like an improvement in many respects, but I definitely prefer LaTeX when working with detailed math equations (most of my use of LaTeX). I think there is a lot of inertia for anything to replace LaTeX for mathematical research.

robert-zaremba 10 hours ago | parent | prev | next [-]

TBH, I'm sick about LaTeX: - compilation is heavy - it's not friendly for writing (far from the dominant markup languages) - poor support to HTML / Epub / mobile outputs - output (PDF) not friendly for parsing / digesting. - tonnes of templates, lot of mess.

We should just use human friendly markups like MyST Markdown [1] or Org Mode [2].

Unfortunately, whitepapers are predominantly written in LaTeX. Thankfully, arXiv recently made a move to parse and render those documents in the web format. It's a hard job. But this is the wrong way around: instead of keep composing documents in LaTeX (which is not human friendly), and then doing the hard job with tooling, we should start with human first approach and have win-win!

We are living in the world where web content is the primary content and friendly for desktop, mobile devices and readers and tools (select, copy, edit...). It's easy to package any web content into epub and ship it in a single file. Printing is also easy. Only cons: precise typesetting is not harder. But this is less of the problem. I would prefer a content that is friendly to read and is responsive, than a precise typesetting.

[1] https://mystmd.org/ [2] https://orgmode.org/manual/Summary.html [3] https://info.arxiv.org/about/accessible_HTML.html

anta40 3 hours ago | parent | next [-]

I'm pretty sure LaTeX can do all the documents I want to, e.g anything with complicated math expressions, various pseudocodes, computer science-y diagrams like karnaugh map, algorithm flowchart etc etc.

Of course, it's not all roses and sunshines, though. Depending on your usecases, usually need to import a few packages and sometimes they don't work out of the box easily.

For real life work I don't need that much power, though. But after learning various alternatives like markdown, asciidoctor etc etc eventually I go back to LaTeX. Oh well :p

constantcrying 8 hours ago | parent | prev | next [-]

Typst wants to target both PDF and HTML, making it trivial to have a PDF document and a HTML page with identical content.

That way you get the best out of both worlds.

Syzygies 7 hours ago | parent [-]

Wants to, but still experimental:

https://typst.app/docs/reference/html/

lupire 8 hours ago | parent | prev [-]

MyST seems nice but it appears to be not a replacement for LaTeX, but is a way to embed LaTeX in non-LaTeX content

mystifyingpoi 11 hours ago | parent | prev | next [-]

I just found out https://typst.app/play/ - this is an absolute gamechanger. Tried it for a minute, but already loving it.

notpushkin 10 hours ago | parent | next [-]

This is basically their monetization strategy btw – the SaaS offering is exactly this app, but with cloud sync and collaboration features. This part is proprietary, sadly, but I’d say fair enough considering it pays for the compiler and other tooling (FOSS).

arendtio 6 hours ago | parent | prev [-]

It even supports vim bindings :-)

mattxxx 3 hours ago | parent | prev | next [-]

typst is so good! the syntax is cleaner, and it's much easier to write re-usable and clever formatting.

LaTeX will have a special spot in my heart, but it's pretty bloated (even minimalist distributions) and suffers from being an early pass at a problem.

malshe 4 hours ago | parent | prev | next [-]

Quarto has typst support. You can create pdf documents quite easily as explained here: https://quarto.org/docs/output-formats/typst.html

codedokode 43 minutes ago | parent | prev | next [-]

Markdown is an awful choice - it has no definition, and it is difficult once you need something more complicated that a paragraph with a header (for example: a list with multi-paragraph items, forced line break etc).

perlgeek 5 hours ago | parent | prev | next [-]

Long term Latex user here, I've been working on generating automatic invoices in Typst for a year now.

On the plus side:

* Getting structured data into typst is sooo much simpler than into latex. For latex, you basically have to render a template, and have to know all the crazy escaping rules for special characters. In typst, you can just read a json file, and do the rendering in typst.

* Super fast. Love it.

* Mostly very easy to use.

Minus:

* Our invoices are structured as multi-page tables, and widow and orphan prevention in a multi-page table seems to be non-existent. The workarounds we tried were too disruptive (lead to text overlapping other text, for example).

* There's a bug in the Python wrapper that means we sometimes don't get a proper error message when there happens to be an error, then we have to recreate the scenario on the command line to find out what the error was.

* Docs could be better (but are mostly OK)

Overall I'm very happy with typst for this use case.

colelyman 6 hours ago | parent | prev | next [-]

I love Typst! Currently rewriting my CV in Typst and it has been an excellent experience. One small hindrance is the inability to have multiple bibliographies.

In the past I have also used it to generates quotes (in terms of finances, invoice etc.). It was neat because all of the logic for adding up the subtotal was written in the language (and was fairly easy to understand). I can imagine trying to do that logic in LaTeX…

amoshebb 11 hours ago | parent | prev | next [-]

Tinymist plugin in vscode is all you need to install, no giant amorphous TexLive thing needed for local editing.

the__alchemist 4 hours ago | parent | prev | next [-]

I'm working through the tutorial on the WSIWYG official webapp now. The syntax for equations is remarkably intuitive! I tried a few things from guessing after skimming the tutorial, and they mostly worked in the most intuitive way. Here is what I gather this is. A mix of:

  - Markdown general formatting (images, lists etc)
  - LaTeX or MathJax-like equation syntax
  - A rendering engine and software that turns these into pixels
Is this right?
anonu 2 hours ago | parent | prev | next [-]

Anyone have success with typesetting in HTML and then printing to PDF? This works really well for me and if your application is web centric then it's an easy win if you need to generate PDFs as well.

mbanerjeepalmer 5 hours ago | parent | prev | next [-]

I've used Typst to produce books (for https://printstack.net) and it's been excellent.

I started with this: https://news.ycombinator.com/item?id=42271078

But wouldn't recommend going via Pandoc, for example for this reason: https://github.com/jgm/pandoc/discussions/10438

Some things like #show rules can be a bit confusing. And obviously LLMs can't really help you.

ThinkBeat 5 hours ago | parent | prev | next [-]

Whenever someone creates a "better and lightweight" successor to latex they will over time be asked to, or by themselves need to add another small feature to extend its capabilities will over time move closer and closer to the LaTex features set.

Or someone will use it and create a large document and find that Typst just does not have enough features they need, they will get frustrated and feel the need to move over to Latex.

Just like the original markup definition was fine, but then we have a forrest over forks or similar projects that add specific features someone needed.

That said if your needs are covered by Typst it's certainly easier to learn.

tcfhgj 5 hours ago | parent [-]

Are you implying latex is a global optimum?

kolibril13 9 hours ago | parent | prev | next [-]

if you want create animations with typst, I've written a blender extension for rendering typst content: https://github.com/kolibril13/blender_typst_importer

kumarvvr 9 hours ago | parent | prev | next [-]

It has a paid version, which frightens me that future greatness of the software and eco-system may be over-shadowed by greed and control.

Only paid version has "private packages".

TRiG_Ireland 9 hours ago | parent | next [-]

The free online version doesn't have private packages. You are, of course, free to run the compiler locally with as many private packages as your heart desires.

tcfhgj 9 hours ago | parent | prev | next [-]

*paid version of an editor

pydry 9 hours ago | parent | prev [-]

The lack of this would frighten me that it would be neglected.

slashdave 2 hours ago | parent | prev | next [-]

Tex was for math lovers. And as a math lover, using a parenthesis for $\arcsin^2 x$ already turns me off to this page.

enricozb 10 hours ago | parent | prev | next [-]

Typst is great for web content as well (even though their HTML export functionality is still experimental). I've written blog posts on interaction nets in Typst [0] and I really like how the diagrams look.

[0]: https://ezb.io/thoughts/interaction_nets/lambda_calculus/202...

erk__ 9 hours ago | parent [-]

I rewrote my website to use typst for all the content and I really like how it is to integrate as well, its just a rust crate that I use in my build script because Typst is just on crates.io

https://erk.dev/2025/04/19/bureaucracy

raybb 8 hours ago | parent | prev | next [-]

I also recently published a book written with Typst. It was absolutely a joy to work with, especially because the book was a collection of student essays. I converted them from docx to Typst and then getting all the figures and tables setup nicely and uniformly was easy. The PDF generation was perfect but converting to docx/epub I ran into a few bugs in pandoc. I reported them and a few were fixed and a few are still open. Overall, a very positive experience.

Book: https://thelabofthought.co/shop/p/nbmi3

Bugs: https://github.com/jgm/pandoc/issues?q=is%3Aissue%20state%3A...

TRiG_Ireland 8 hours ago | parent | prev | next [-]

I've been using Typst to create some good-looking agendas for my Toastmasters club. [1] I've found it a lot of fun, and have received a fair few compliments.

[1]: https://typst.app/project/rmyyeU17y51rl6ISSqGji9

qmmmur 11 hours ago | parent | prev | next [-]

I've changed all my teaching materials to Typst. It is such a breath of fresh air.

hn-ifs 4 hours ago | parent | prev | next [-]

I'm a masters student, I've gone with a quarto workflow. From quarto markdown to Word, little bit of VBA for tables and images, and to pdf from there if needed. Technically I could go straight to pdf, but not tried that yet.

robin_reala 8 hours ago | parent | prev | next [-]

I’ve used neither Latex or Typst, but how are they at producing accessible PDFs?

reknih 7 hours ago | parent | next [-]

We're pretty close, actually. The PRs for accessible PDFs [^1] and their associated documentation [^2] are landing next week.

[^1]: https://github.com/typst/typst/pull/6619

[^2]: https://github.com/typst/typst/pull/6905

nicce 8 hours ago | parent | prev | next [-]

They aren’t fully compatible yet but there is a lot of work going on now because of the new EU legistlation. LaTeX is closer.

E.g

https://github.com/typst/typst/issues/133

https://www.latex-project.org/news/2024/03/27/PDFUA2-example...

https://latex3.github.io/tagging-project/

flokl 7 hours ago | parent | prev [-]

Typst will support PDF/UA-1 with the upcoming version 0.14. Pull with the current progress: https://github.com/typst/typst/pull/6619

3036e4 10 hours ago | parent | prev | next [-]

I guess if Pandoc adds Typst output support I will consider using that, but "LaTeX replacement" sounds like something that is too low level to consider for most usecases? It was many years since I used LaTeX for anything other than at most short snippets embedded in other documents (e.g. md or org). Or would Typst replace something like Pandoc Markdown (with a long list of supported output formats and a convenient Lua filter API)?

* Submitted too fast. A quick search tells me Pandoc already added Typst input and output support (e.g. https://pandoc.org/typst-property-output.html), so guess I need to look into if I should switch to use that for generating PDFs.

noelwelsh 10 hours ago | parent | next [-]

Depends what you want to do, but Typst has replaced Pandoc for the book [1] I'm writing.

[1]: https://github.com/scalawithcats/scala-with-cats/tree/featur...

cbolton 10 hours ago | parent | prev [-]

I moved from Pandoc+Lua filters to Typst. Having the scripting language integrated is just nicer, though I sometimes miss the separation between data (from Pandoc markdown) and code.

3036e4 9 hours ago | parent [-]

Is it as good for generating EPUB or HTML for instance? Or just plain text?

cbolton 8 hours ago | parent [-]

I use it to generate PDF. The last release introduced experimental HTML output which is promising but still immature. Work on EPUB support hasn't started as far as I know but it's on the roadmap, and I guess it will be relatively easy once the ongoing work on HTML and accessibility is done.

3036e4 6 hours ago | parent [-]

Sounds like it may eventually turn into an interesting replacement for Pandoc then, but I will stick to the latter for now.

fhcbix 9 hours ago | parent | prev | next [-]

For me Tectonic[1] solved many of the issues I had with LaTeX, so that's what I'd recommend if you still depend on LaTeX as a language. Make sure to use the V2 CLI (`tectonic -X`) which comes with convenient features like watch mode. With vim and evince (or any PDF viewer that auto refreshes) open I get a similar real-time experience to popular online editors like Overleaf, but in the comfort of my own editor.

[1] https://tectonic-typesetting.github.io/

jamamp an hour ago | parent | prev | next [-]

> Another drawback is the difficulty of learning Typst. The official documentation is confusingly organized, with information scattered unpredictably among "Tutorial", "Reference", and "Guides" sections.

I would have thought that this method of organizing documentation is preferred, as I assumed The Grand Unified Theory of Documentation[0] was well known and liked.

[0] https://docs.divio.com/documentation-system/

throawayonthe 8 hours ago | parent | prev | next [-]

Writing a 3d renderer in Typst because https://youtu.be/ocsR-o7auak

jszymborski 5 hours ago | parent | prev | next [-]

I'll need to give this another go sometime. I gave writing my thesis in Typst a go, but ended up using LaTeX/XeTeX because I couldn't figure out how to customize the existing templates to my liking.

colonial 2 hours ago | parent | prev | next [-]

Another stamp of approval for Typst here.

It's simple enough that I can easily typeset CS theory homework (with all the fancy notation that entails) without having to subject myself to the insanity of LaTeX or the friction of a standard word processor.

But at the same time, I can also crank out a full paper in a (professor mandated, LaTeX templated) style without raising any eyebrows.

The fact that it's a "real" programming language is also lovely - I have a very simple template (took me an ~hour to write) that ingests TOML descriptions of recipes and marshals them into pretty, standardized PDFs for my recipe binder.

flexagoon 5 hours ago | parent | prev | next [-]

I love typst. Literally no reason to use LaTeX in 2025 unless you really need some specific package or you need to submit raw TeX code somewhere

mcny 11 hours ago | parent | prev | next [-]

Since there are typist folks here, how do you work with hash and dollar signs?

If I want to write C# on my resume, I do C`#` but there has to be a better way?

ithkuil 10 hours ago | parent | next [-]

I'm not a typst user but from a quick look at the language you should be able to type C\#

You can also write a macro

#let csharp = [C\#]

And then use it as #csharp

TRiG_Ireland 8 hours ago | parent [-]

Or even `#show "csharp": [C\#]` and then just write `csharp`. Though then you couldn't include the actual text "csharp" in your document, should you wish to, so perhaps defining the variable is a better option.

tcfhgj 10 hours ago | parent | prev [-]

C\#

khalic 10 hours ago | parent | prev | next [-]

I just gotta ask: what’s this trend of tech blogs to appear like 90s html? No typographical rules whatsoever, basic colours with outrageous contrasts.

Does it make the blogs look more edgy and geeky? Is it a an artistic trend in web design?

I’d love some insights from someone with a better sense of the situation

tcfhgj 9 hours ago | parent | next [-]

according to Wikipedia, the blog was launched January 29, 1998

topaz0 3 hours ago | parent | prev [-]

LWN is one of the most important journalistic outfits of the open source software world, not just some guy's blog. As the other commenter noted, it also dates to the '90s.

donperignon 10 hours ago | parent | prev | next [-]

No criticism, but just reading the title my brain said, rust, and… voila! Apart from that, neat project.

moltar 7 hours ago | parent | prev | next [-]

I love Typst and have standardized all our company docs on that. Much easier to render neat looking docs. And coding agents are quite capable at making edits.

euroderf 11 hours ago | parent | prev | next [-]

Typst could be great for SSG blogging, but there doesn't seem to be much going on in that space.

cyp0633 8 hours ago | parent | prev | next [-]

I loved typesetting my bachelor thesis with Typst (but with LaTeX math formula), and now it's even more promising after being able to embed PDF figures this July (see issue #145).

thrance 11 hours ago | parent | prev | next [-]

I've tried pushing Typst on my academic friends. One of them listened and eventually wrote his entire PhD thesis with it. He didn't seem to regret it.

agnishom 7 hours ago | parent | prev | next [-]

The experience of editing Typst on VSCode (with appropriate plugins) is great. The text is updated real time, and there is no full-page refresh

jedberg 2 hours ago | parent | prev | next [-]

> Another drawback is the difficulty of learning Typst. The official documentation is confusingly organized, with information scattered unpredictably among "Tutorial", "Reference", and "Guides" sections.

They should add Dosu[0] to their repo. Dosu works with a lot of open source packages already.

[0] https://dosu.dev

imiric 11 hours ago | parent | prev | next [-]

Typst is great. I'm sure it's not a complete LaTeX replacement, given the dominance of TeX for many decades, but for simple documents it's a breath of fresh air.

Not having to deal with the insanity of the LaTeX distribution system alone is worth the switch. Everything is contained in a single binary. The language itself is much simpler to read and write, and seems just as flexible. LLMs do a decent job of generating it. Compilation takes less than a second, making it so much faster to iterate.

Many thanks to the authors and contributors, and please don't ruin it. :)

constantcrying 8 hours ago | parent | prev | next [-]

Typst fixes pretty much every problem LaTeX has.

It replaces the macro language of LaTeX with a python/rust like language, which couldn't be easier to write.

The markup language has a markdown like syntax which makes writing simple things simple. And allows for complex, but easy to comprehend operations when useful.

It has good tooling, with helpful error messages and is not arbitrarily limited on memory or font support. (I know some LaTeX engines do not have that problem anymore, but even the Idea of competing engines with different feature sets is somewhat ridiculous)

I have used it a lot, for many different things.

netbioserror 2 hours ago | parent | prev | next [-]

I'm becoming acutely aware of the first-mover problem in open source software: Nobody truly knows how the software is going to be used in half a century. And once that time is past, the accumulated tech debt of the first-generation tool should probably just be thrown out entirely, for a new second-generation tool that easily does what people have shown they actually want do with it.

I've been using Typst for work documentation and hobby authorship. It is unreal how powerful it is out of the box, with no plugins. It's a Turing-complete programming language where you can switch between a code context and a document context with a simple change of brackets. Everything you WISH Latex did out of the box, it does. Highly recommend the VSCode plugin with live PDF generation and automatic scrolling.

braincat31415 4 hours ago | parent | prev | next [-]

Is anyone here still using [tg]roff?

Squeeeez 4 hours ago | parent | prev | next [-]

Looking at the examples on the website, I can see the appeal regarding the input. The output makes my head slightly dizzy - not sure why, but like the letters are all slightly off, in both dimensions. Is it just me, or the font/screen combination, or did it occur to anyone else also?

fithisux 11 hours ago | parent | prev | next [-]

I used it for a presentation. Easy for the basics but it felt like a down grade from Latex or TeXmacs

amai 7 hours ago | parent | prev | next [-]

If Typst would also allow to create HTML it could become a successor of LaTeX. Without it it is just another kind of LaTeX, created for printing stuff on paper. But that is not what a digital future needs.

echoangle 7 hours ago | parent [-]

Theres experimental support for HTML export:

https://typst.app/docs/reference/html/

commandersaki 5 hours ago | parent [-]

I tried this out about 6 or so months ago; it was pretty bad unfortunately. I was willing to put my money where my mouth is and pay a bit to dedicate resources for it like a bounty, but typst organisation doesn't seem to have something like that. I have actually donated to the project AND paid for a subscription to their web service though.

wolfgangbabad 10 hours ago | parent | prev | next [-]

Another unpronounceable project name. Well done.

tcfhgj 10 hours ago | parent | next [-]

Straight forward if you ask me:

> /taɪpst/. "Ty" like in Typesetting and "pst" like in Hipster.

https://github.com/typst/typst?tab=readme-ov-file#pronunciat...

notpushkin 9 hours ago | parent | next [-]

Huh, I was reading it as “typist” all this time (and will probably continue).

flokl 4 hours ago | parent [-]

I noticed quite a few people must do that because I have heard that pronunciation a few times already IRL and in videos. Some people also write it that way, a search here in the comments results in 4 matches.

andrewshadura 9 hours ago | parent | prev [-]

I keep reading it as tüpst.

bartvk 9 hours ago | parent | prev [-]

I agree but I'm thankful that it's a very searchable but still related name at least.

Ademseifu 4 hours ago | parent | prev | next [-]

Yes more

einpoklum 9 hours ago | parent | prev | next [-]

Typst seems to be the product of a commercial company - fully controlled by it. That's not appropriate as a foundation for document authoring by "the public".

I am also worried about the rust-centricity, seeing how rust is somewhat of a moving target.

Mikhail_K 9 hours ago | parent | next [-]

It's under Apache license, and therefore it can be taken closed-source at any moment.

Rust is a language for virtue-signalling, rather than for doing useful work.

eigenspace 8 hours ago | parent | next [-]

Can you clarify what you mean when you say it can be taken closed-source at any moment?

Do you mean that future iterations of the software could be closed source?

As far as I understand, they can't just revoke the existing open source license for the existing already distributed software, and if they did decide to move forward from here with closed source distribution, the community would be free to just fork the existing codebase and continue working on it.

throawayonthe 4 hours ago | parent | prev [-]

how? as a copyright holder you can at any time relicense code as proprietary of course, but that neither revokes the existing licensed code, nor is at all unique to the apache license?

suddenlybananas 9 hours ago | parent | prev [-]

What do you mean the rust-centricity?

tialaramex 5 hours ago | parent [-]

Some people have this weird idea that because Rust ships new versions very often (every six weeks, like a web browser) this means it's unstable. They see rust 1.90 and they're like "Oh no, that's dozens of incompatible versions" rather than "Wow, over ten years of commitment to compatibility".

nxpnsv 6 hours ago | parent | prev | next [-]

[deleted]

Ar-Curunir 5 hours ago | parent [-]

Typst is entirely open-source as well. Only the online overleaf-like system is proprietary.

> Compilation is faster, but so much more time is spent writing than typesetting.

Continuing in your vein of writing dismissive comments, the moment you actually start caring about how things look in your documents (you know, the reason why people use LaTeX), typesetting starts taking up a non-trivial amount of time. Not in the act of setting up the typesetting, but actually debugging it.

nxpnsv 4 hours ago | parent [-]

I do care how my things look, I've written books, papers, reports, CVs, slides and posters (the last two was admittedly painful). I think I reacted to a very dismissive tone towards LaTeX from typst fanboys who cannot imagine why someone would still use LaTeX, but thinking about it - I don't like the tone of my message either so I'll delete it.

northlondoner 10 hours ago | parent | prev [-]

Typst is a markdown plug-in. It is a productivity tool. It lacks the standalone nature of LaTeX as a language and proper extensibility.

constantcrying 8 hours ago | parent | next [-]

How does a project with a built in package manger and a wide variety of packages lack "proper" extensibility?

MatejKafka 10 hours ago | parent | prev [-]

Huh? Other than borowing some of the syntax, Typst is completely unrelated to markdown.