Remix.run Logo
adamnemecek 2 days ago

Typst is the most important open source project of the last 5 years.

I predict a future where markdown and latex are largely replaced by typst. And I couldn't be more excited.

It is such a stepup from markdown and latex. Try it today if you are intrigued.

cryo32 2 days ago | parent | next [-]

Not so sure.

I work with a lot of people in academia who work with LaTeX. I haven't met anyone who knows Typst even exists. And the source material is usually just thrown in Word or LibreOffice.

The problem is also momentum. Do you rewrite 30 years' of CTAN contributions, internal templates/styles and the toolchain off and start again or not? There's not much reason to. And you will hit the same brick walls doing so that you hit with TeX the first time round.

If it is a greenfield, possibly, but all the orgs I've seen using LaTeX have been using TeX since the dawn of time and respect the accumulated knowledge rather than the distraction of a new tool.

lkm0 2 days ago | parent | next [-]

> accumulated knowledge

my experience is the opposite. Due to LaTeX's arcane scripting and the lack of interest people have in learning it beyond "it compiles on overleaf", I'm seeing a lot of accumulated superstition. People copying and pasting preambles with useless packages, unused newcommands. Worse, people sometimes use their group's newcommands without being aware of the native functions, e.g. \beginmymatrix replacing \begin{pmatrix}. Even if change is slow, any amount of Typst adoption is good.

cryo32 2 days ago | parent [-]

If it's any consolation we use native stuff including pmatrix :). In fact most of our typesetting is very very plain LaTeX.

k2enemy 2 days ago | parent | prev | next [-]

I'm in academia and used to use LaTeX for everything, and have switched almost 100% to typst. Not many of my colleagues are aware of typst but a few use it.

I think there is hope though. Grad students are slowly picking it up, and they are the future of academia. I've seen similar transitions away from Fortran and Matlab as grad students embrace different tools than what their advisors use.

Stone515 a day ago | parent | next [-]

Yes, I am a graduate student majoring in mathematics, and my classmates and I strongly hate tikz, especially when drawing relatively complex diagrams like TQFT. But we discovered cetz, and we really love it As for ordinary formula input, we usually already have our preferred snippets, so tpyst doesn’t offer much advantage. But for drawing figures, typst is really incredibly powerful

cozzyd 2 days ago | parent | prev [-]

Until the arxiv supports it, what's the point?

adamnemecek a day ago | parent [-]

You can export typst as latex.

meling 2 days ago | parent | prev | next [-]

I’m in academia and I try to convert everyone I know… I only recently started using it for a few things, and I used Claude to do some pretty advanced stuff that I wouldn’t have ventured to even try with latex. That is, I think a lot of the relevant CTAN packages can be developed using LLMs more quickly than you might expect.

For next year, I plan to prepare a thesis template for our university and encourage students to try it instead of latex (most of our students use latex now).

vatsachak 2 days ago | parent | prev | next [-]

Academia is stuck in the past in a lot of ways.

cryo32 2 days ago | parent | next [-]

I prefer to think of it as mature.

esafak 2 days ago | parent | prev [-]

Just use it and advertise it; they'll catch on eventually.

adamnemecek 2 days ago | parent | prev [-]

> I haven't met anyone who knows Typst even exists.

It was released in 2023 and became polished enough to use like last year. Yeah, adoption takes time but the technology is significantly better.

> The problem is also momentum. Do you rewrite 30 years' of CTAN contributions, internal templates/styles and the toolchain off and start again or not?

With latex you have to rely on third party. With typst you can write it yourself (or with an agent), like writing functions is not painful in typst.

cryo32 2 days ago | parent [-]

Well not really because we have a few CTAN contributors.

utopiah 2 days ago | parent | prev | next [-]

I'm not sure either matter to be honest.

It's cool sure, powerful also... but when anybody has access to both vector-based editor and raster-based editor ... but also tools that incorporate them, e.g. rich text editors ... but also entire toolchain going from compilers to libraries all the way to Web based notebook with their editors and running environment that can then output printable artifacts, I don't think there has to be "the" way. They might be a more popular way within a certain zeitgeist but... does one project has to "replace" another one?

I guess I don't really get the passion some people have for "perfect" rendering. I'm fine with just text, then just readible equations below it, then an OK looking graph. I don't actually care if any of those are pixel perfect. I don't get it.

IMHO in terms of actual knowledge transmission reproducibility and interactivity are way more important. They might not look as good and in fact introduce a TON of complexity but I believe it's better than yet another system that is slightly better looking while being slightly easier, for those people with a specific mindset, to setup and use.

PS: still both Gribouille and Typst are cool projects! Just want to make sure I'm not sounding critical against those efforts.

zhshnsnnaaka 2 days ago | parent | next [-]

I agree but to me it seems humanity has a terminal case of being unable to separate content from presentation. I can see it in this thread with clamoring for Typst in READMEs etc. If READMEs need to be anything they need to be plain bloody text. Markdown is the absolute maximum. Having some “header semantics” defined is fine as that’s universal in a document but let’s keep it simple guys, OK?

Information needs to be plain and clear. Presentation can be fancy. Let’s keep these very, very different things separate. AI will thank you as well.

practal 2 days ago | parent [-]

I agree with that, that's why I am starting with plain syntax first in https://zero.practal.com, because that is really where all the information/logic lives. But there will also be a presentation layer on top of that, building on the information layer, so with time, I would expect it also to subsume much latex/typst functionality. The "header semantics" I already copied from Markdown.

poulpy123 2 days ago | parent | prev | next [-]

I cannot tell the future of typst and gribouille, but for:

> I'm fine with just text, then just readible equations below it, then an OK looking graph. I don't actually care if any of those are pixel perfect. I don't get it.

what you describe is fine for a readme or a blog post, but for books, scientific articles, or any long format, having a good layout and typography will totally impact the end result

adamnemecek 2 days ago | parent | prev | next [-]

> It's cool sure, powerful also... but when anybody has access to both vector-based editor and raster-based editor ... but also tools that incorporate them, e.g. rich text editors ... but also entire toolchain going from compilers to libraries all the way to Web based notebook with their editors and running environment that can then output printable artifacts, I don't think there has to be "the" way. They might be a more popular way within a certain zeitgeist but... does one project has to "replace" another one?

cool, why do you think people use tikz? And like generating images programmatically from text is impossibly more powerful than using vector editors.

red_admiral 2 days ago | parent | prev | next [-]

If you've ever debugged TeX package conflicts because someone wants "that layout, except with those headers and this font", yes the whole stack needs replacing with something that does not hold all its state in global variables and has a sensible scripting language (LuaTeX never really took off).

TRiG_Ireland 2 days ago | parent | prev [-]

My primary use for Typst is pretty agendas for my Toastmasters club. https://typst.app/project/rmyyeU17y51rl6ISSqGji9

Typesetting isn't just for science. I like that it looks good; I enjoy the creative step of experimenting with document design; and Typst is just fun to use.

mastermage 2 days ago | parent | prev | next [-]

For Latex I agree thats definitely. Markdown I am unsure as Markdown is not meant for creating documents but to just have a little Richt Text Markup in READMEs and other Text files. Typst needs a compile step and altough that one is fast as hell it is still different from Markdown that renders directly from the file without an intermediary.

josephg 2 days ago | parent | next [-]

Right; but markdown has expanded beyond that niche. Lots of projects use markdown for other stuff - like mdbook, or for blogs.

I think markdown is a great format for readme files. But for real documentation, the added features of typst are fantastic. Like, being able to write scripts, have figures and custom styling, populate data from JSON files, plugins, typography, numbered sections, footnotes and all sorts of other stuff. Markdown doesn't even support comments properly!

I want typst for blogging, long form articles and documentation. Markdown is great for small stuff. But it doesn't scale.

mastermage 2 days ago | parent | next [-]

Fascinating Ideas I love hearing opinions on this, it enriches me.

I do belive that atleast simple files like for example READMEs will stay and perhaps are better to stay as Markdown. One advantage that has is that while scripting is cool, It make the document not plain text readable which is a tradeoff one can argue.

Certhas 2 days ago | parent | prev | next [-]

What's the state for generating websites from Typst?

josephg a day ago | parent [-]

Typst has experimental support for html in the recent versions.

applicative 2 days ago | parent | prev [-]

Ordinary markdowns have had /everything/ you mention for close to 20 years, except typesetting. Academic papers and books, novels, thousands of ebooks, have been written in single file markdowns for 15 years.

Writing directly in typst is good for small things with intense typesetting like ... wedding invitations, advertisements. But it doesn't scale to serious composition by actual writers.

Writing is not typesetting.

All the forms need for the composition of all civilized text were present in word perfect 5.1, which unlike Word, Latex and Typst, permitted no typsetting during the process of writing. They were all recovered in the writers' markdowns nearly two decades ago.

cycomanic 2 days ago | parent | next [-]

I'm not sure what you mean. Markdown compared to typst or latex is extremely limited and using it for books or academic papers is very niche. I certainly would (and have for all my previous publications) prefer typst or latex over markdown. I also don't understand your point about not permitting typesetting during writing. Latex and text are the prime examples of separating writing from typesetting.

applicative 2 days ago | parent | next [-]

As an experiment, I recommend to you to put a markdown file into google translate and make pdf via your preferred markdown parser. Now make the corresponding typst document, put it through google translate and enjoy compilation hell.

applicative 2 days ago | parent | prev [-]

It isn't niche. I'm an academic writer and there are thousands like me. Like all typst commentators on this site, you have literally just made something up. As for books, you could hardly be more wrong -- /thousands/ of self-published epubs on Amazon are written in absolutely nothing but markdown of one of the specialized varieties. The familiar markdown parsers know how to write out an epub. Self-publishing writers of all sorts have been principal participants of the lists for almost two decades.

I would rather use microsoft word than write in raw typst, which is no different from trying to think in raw latex - even if in some fields it is necessary. I certainly cannot write unless I can output to docx.

A hundred things would be completely impossible to me without a 'lifeless' text format like markdown. The inclusion of a turing complete programming language into document composition - the principal labor distinctive of advanced civilization - is obviously pure insanity, even if it is necessary in the mathematical case. What one needs are ways of introducing the exact features that e.g. wordperfect 5.1 had already completely perfected: paragraphing, sectioning, noting, emphasizing, citing, etc. These are the internal semantic features of actual expression of actual thought, things that must be preserved e.g. by a translator - as sexy typesetting need not be. Considier the question: What is that which must be preserved by a translator? It is the question: What is thought? If I am typing typsetting commands not relevant to this, I am not writing, I am not thinking, I am not constructing a reasoned argument: I am doing high quality page-scale finger painting.

For example, I now consider it intellectual malpractice to give advanced students a translated text for close study, without also supplying the original in parallel. I can do this by simply zipping two markdown files together header to header, paragraph to paragraph with a simple script making html - the original in, say, smaller type narrower column at left margin.

The translation can be changed or an alternative constructed or a new one produced automatically by one of the translation devices. This is an operation that is basically impossible with genuine typesetting, though each md file compiles to pdf e.g. via typst after a markdown->typst process.

This is quite as impossible in typst as it is in latex - huge projects have been devoted to it in latex with complete failure - the necessity of pagination introduces the necessity of precise knowledge of both languages if the page break happens ... in medias sentence - such people e.g. the Loeb library used to have. With html it's a complete picnic, a literal zip operation with a markdown reader -- but of course isn't proper typsetting. The merit is that html is unpaginated. The file for each language itself makes a perfectly sound typst pdf with a keystroke.

harshreality 2 days ago | parent | next [-]

How are you doing meaning-aware pagination if you're zipping together markdown columns?

A few minutes of asking an AI and writing a pair of simple typst docs with a few sections of #lorem() paragraphs resulted in what I think your ad-hoc scripting (in what language? add and your custom scripting to your collaborators' publishing stack) efforts do: a typst meta-document that pairs two simpler typst documents, section by section, paragraph by paragraph, each sub-document with its own column width and font size, paginated on paragraph breaks. You might balk at typst's embedded language, but it does avoid added dependencies and external scripting, and the language looks fairly simple a nice and functional.

It might require a somewhat different design to accommodate a marginal-note kind of thing with irregular vertical spacing not paragraph-aligned, but I suspect that's quite possible too, probably with some markup to label notes and align them vertically with corresponding labels in the primary text.

applicative 12 hours ago | parent [-]

//I'm not doing pagination//, that was my whole point.

My own attempt to put a typst in deepl failed immediately as 'lang:en' when to 'long:en' and it just kept going, five or six failures in a tiny document.

The markdown files never have problems distinct from translation problems, except e.g. with setext headers. There is a reason for this, and it is in fact the reason why the tokenizing world of ai has a secret love of md.

josephg a day ago | parent | prev [-]

> you have literally just made something up.

Huh?

I’ve authored a couple academic articles in typst. At its base, typst is very similar to markdown. You use == for section headers, * for italics and so on. I authored articles in typst just as I would in markdown. Then I do another pass later filling in tables and figures, editing and doing typesetting.

It works great. Maybe not for your needs, but it works great for mine. And I’m keen to try the new html support in typst for blog posts.

applicative 12 hours ago | parent [-]

Except what you made up was something about markdown and latex, if you look, not something about typst. I gathered you know typst and said not a thing about your cognitions specific to it.

I wish you luck with e.g. automated translation and editing of your typst documents, and look forward to the compile fails when you use 'html support' on these translated files. There are many curiosa with the markdowns but also very very very deep reasons for the uptake, which is only increasing with the AIs.

josephg 4 hours ago | parent [-]

No, latex does not resemble markdown while authoring. Text ends up intermingled with ugly \sectionheader tags everywhere.

Re: automated translation, you’re projecting your requirements onto me. I can see how automatic translation would be difficult with typst. But, I don’t translate my blog into multiple languages. So that doesn’t matter to me. What does matter is the requirements I listed above - like numbered figures, captions on my images, programmatically generated tables, footnotes and so on.

You repeatedly claimed you can do this stuff with markdown. I don’t believe you.

Certhas 2 days ago | parent | prev | next [-]

So LaTeX also doesn't scale to serious composition by actual writers?

applicative 2 days ago | parent [-]

If they need to do typsetting, as mathematicians in fact do. Mathematics breaks the civilized opposition of content and format, because it involves the invention of symbols on the fly. Reasoning about this is actually quite simple but the typst brigaders have no experience with the history of the topic.

It is universal that the flood of largely automated hackernews typst brigaders cannot make a single post without flatly lying about every other existing instrument. On this site I have never read a single true statement by a typst brigader about latex or markdown, but I have read literally /hundreds/ of lies. If these accounts are real and not bots, the community is fated to die, unfortunately.

I use typst countless times a day, but don't need to lie.

josephg 2 days ago | parent | prev [-]

> Ordinary markdowns have had /everything/ you mention for close to 20 years, except typesetting.

Huh? I roll to doubt. How do you do this stuff with markdown? I tried for ages but only got half-baked hacky "markdown extensions" which weren't even commonmark compliant. I've found nothing even remotely as powerful as typst in the markdown world.

applicative 2 days ago | parent [-]

I don't know, since I haven't used a form not commonmark compliant since the spec came out. Get back to me when you want to get your typst file translated or in e-reader format.

_flux 2 days ago | parent | next [-]

Typst html support is already available as an experimental feature, so e.g. EPUB probably isn't too much work in addition to that (as I understand it, it's basically zipped HTML with some metadata). It's also in the roadmap: https://typst.app/docs/roadmap/#:~:text=EPUB%20export .

If the translator has access to a service like typst.app, then I don't see too many obstacles for translating. But I don't have any experience on doing translations.

applicative 12 hours ago | parent [-]

Why would I use a typesetting engine to output an epub or html? They are //by definition not typeset//, but the user e.g. increases font size and rewraps.

_flux 10 hours ago | parent [-]

Perhaps you would enjoy the rest of the tooling, that may be useful in scientific contexts or in books discussing programming languages. Or perhaps you would also want to publish in PDF, like for an actual print book.

What kind of issues did you expect to encounter in translating Typst documents to other languages?

josephg a day ago | parent | prev [-]

I’ve never seen a markdown based workflow which supports the features I listed. If I’m wrong, it would be easy to demonstrate it by citing some tools.

Just calling me a liar for disagreeing with you will convince nobody.

applicative 12 hours ago | parent [-]

> Like, being able to write scripts, have figures and custom styling, populate data from JSON files, plugins, typography, numbered sections, footnotes and all sorts of other stuff. Markdown doesn't even support comments properly!

it is plain you want typst or latex and not a markdown or any other so called lightweight markup - and you were lying about footnotes, figures, numbered sections, and depending what you meant, a number of other things.

It completely violates the concept that you are doing 'custom styling', typography ... you might as well add launching missiles, calling a C compiler, etc. Why not use microsoft word? I find markdowns irritating in many ways -- only those are not among them. Why would I want an intellectual document to be in a programming language?

adamnemecek 2 days ago | parent | prev [-]

The problem with markdown is that it's not extensible and that there is no spec. Essentially all READMEs would be better off using typst, they would make for better READMEs.

sbysb 2 days ago | parent | next [-]

I do not think that is the problem with markdown lol. There are lots of problems with markdown, especially vanilla or the more limited versions of it - but really its super power is that it is readable with a regular text editor (or `cat`) and can be rendered without a compilation step.

Markdown is not competing with latex or typst, it is competing with (and has won against) .txt files

Certhas 2 days ago | parent [-]

Actually basic typst is as readable as markdown, e.g. this is the example from the webapp:

  = The Typst Playground

  Welcome to the Typst Playground! This is a sandbox where you can experiment with Typst. You can type anywhere in the editor panel on the left. The preview panel to the right will update live.
  
  = Basics <basics>
  
  Typst is a _markup_ language. You use it to express not just the content, but also the structure and formatting of your document. For example, surrounding a word with underscores _emphasizes_ it with italics and starting a line with an equals sign creates a section heading.
  
  Typst has lightweight syntax like this for the most common formatting needs. Among other things, you can use it to:
  
  - *Strongly emphasize* some text
  - Refer to @basics
  - Typeset math: $a, b in { 1/2, sqrt(4 a b) }$
  
  That's just the surface though! Typst has powerful systems for scripting, styling, introspection, and more. In the realm of a Typst document, there is nothing you can't automate.
mastermage 2 days ago | parent | prev | next [-]

As I said in a previous comment typst especialy with extending via scripting stops being plain text readable. A Markdown file (whatever flavor it may be) is still fundamentaly one vi,nano, Editor, Notepad++ away from being read with all its context included. It is a tradeoff that for READMES I would not want to make.

cycomanic 2 days ago | parent [-]

If you restrict typat to the basic functionally of markdown it is just as readable as plain text (not surprising considering that typat syntax was inspirered by markdown). However, once we include more unusual things I would argue that markdown becomes more illegible than typst (as for markdown you start adding html essentially).

applicative 2 days ago | parent | prev | next [-]

There have been theoretically precise published specs for serious markdowns for 15 years. The commonmark convention is a common specification for many including e.g the familiar simple github variant, which emphatically does have a completely perfect specification.

harshreality 2 days ago | parent [-]

Commonmark isn't serious because it doesn't include several major quality of life improvements like [^1] for footnote/reference syntax. Pandoc should be the serious "common" markdown standard.

applicative 13 hours ago | parent [-]

It is perfectly serious, though hobbled by various recalcitrant forces. For example, if I write using only ye olde original markdown devices, pandoc will render as it would commonmark. The core commonmark idea is to have an unambiguous specification of /the original syntax/ -- which emphatically didnt exist: the perl regex script was the only actual specification.

Part of the problem is that people want to say 'markdown' but John Gruber, pissing on the corpse of Aaron Schwarz, falsely claims total possession of everything that comes under that head, and that there must be no independent specification. This simple fact totally destroys the entire milieu. 80% of complaints about 'markdown' are due to his recalcitrance. Thus there can be no spec, no spec specifying extensions, etc. He does not want anything like html to be defined as he will lose ... I'm not sure what, since he is deeply evil, as this one case shows with total clarity. Industrial interests would be enough to get an html-like convention if it were otherwise.

tlarkworthy 2 days ago | parent | prev [-]

Of course it's extensible, you can put HTML in it, and HTML is extensible.

adamnemecek 2 days ago | parent [-]

That is like saying "Ruby is not slow, you can write native extensions in C". No, Markdown is not extensible.

tlarkworthy a day ago | parent [-]

Ruby is extensible as well, these things flourish because their creators thought hard about escape hatches. The things that are not extensible we don't talk about because they already died.

sieve 2 days ago | parent | prev | next [-]

I like typst. But I am not a fan of the syntax. I use it as an intermediate format on the way to PDF. A document markup language should avoid building a programming language inside it. Pick python, or lua, or whatever.

eikenberry 2 days ago | parent | prev | next [-]

How is it an step-up from markdown? Markdown (w/o any embedded html) is a simple text formatting that lets you read it as a plain text file with some minor formatting when rendered. Typst source files are not human readable in the same way and would be terrible at it. Typst is great when you need typesetting, but if you just want plain text, readable files it isn't it. E.g. markdown for notes, typst for papers.

Diti 2 days ago | parent | next [-]

Anything is a step-up for Markdown, unless you include HTML in your Markdown. The base features of AsciiDoc (or Org-mode) are alike to Markdown in terms of simplicity (no typesetting).

fourthark a day ago | parent | prev [-]

It's intended to be a markdown with code. So it has nesting and scopes and code/math modes in with the markdown.

Idk, I find it mind-bending but quite readable.

red_admiral 2 days ago | parent | prev | next [-]

Markdown and Typst serve different markets - I don't need page layouts and font choices in a pull request, for example. Typst is however a good Markdown++ in that once a collection of markdown files grows to book size, it's easy enough to port.

Typst challenging TeX would be my dream too - there's a lot of math you can port just be leaving off the backslashes. Mind you the kids these days know TeX primarily as "that language in overleaf".

aloisdg 2 days ago | parent | prev [-]

Markdown is already seen as arcane by non technical folks. Which is sad btw.

Typst is not going to replace it.

That said I was not a huge latex user and nowadays I use typst a lot. Typst is everything I was expected from latex.

The content is in markdown and loaded by typst with cmarker