The non-control characters of ASCII are largely characters you might actually want to put in a document. TeX uses some of these as markup, e.g., the dollar sign to bracket maths mode and the ampersand as a column separator in tables. Typst takes this much further, using plus and minus signs to introduce list items, at signs for references, and so on.
Ideally, all visible characters should produce themselves in the printed output, except for the backslash introducing control sequences that represent all of the markup and braces for delimiting the extent of parameters to those control sequences. This would produce a very predictable and easily-parsed syntax.
- the cryptic error messages and infinite logs
- the unintuitive ways to do stuff like store a value for later use or sum two lengths
- the very long compile times
- the amount of reliance on global state from various packages, which contributes to even more cryptic errors or weird behavior when something goes wrong
- various other quirks, e.g. the fact you often need to end a line with a comment or the newline will skrew up your content.
Typst on the other hand is inherently readable.
Also, typst is just really good.
Though I ended being a graphic designer so LaTeX felt rather limiting very quickly, but fortunately found ConTeXt.
Hoped Typst was going to be great for my use case but alas it's got the same "problem" as LaTeX - modularity. Still it seems to be a great alternative for people doing standard documents.
I'm sure you remember that quite clearly.
Yeah - typst has a bunch of features that I really want for blog posts and rich documentation, where markdown isn't a powerful enough tool. For example:
- Boxes & named figures
- Footnotes
- Variables, functions (incl populated from nearby files)
- Comments
- Chapter / Section headings (& auto generated table of contents)
- Custom formatting rules (For example, typst lets you define your own "warning box". Stuff like that.)
I don't know of a better tool to write my blog posts today. Markdown doesn't have enough features. And I'm obviously not writing blog posts in latex or a rich text editor. I could use actual javascript / JSX or something - but those tools aren't designed well for long form text content. (I don't want to manually add <p> tags around my paragraphs like a savage.)
Pity the html output is still a work in progress. I'm eagerly awaiting it being ready for use!
I filed a bug (this was a few years ago) and I was told commonmark compatibility was an explicit non goal for the project. Meh.
[^0]: it doesn't matter where this is placed, just that this one has a colon.
The table of contents thing is annoying but it's not hard to write a little bash script. Sed and regex are all you need.
> Markdown doesn't have enough features
Markdown has too many featuresThe issue is you're using the wrong tool. Markdown is not intended for making fancy documents or blogs, it's meant to be a deadass simple format that can be read in anything. Hell, its goal is to be readable in a text editor so its more about styling. If you really want to use it and have occasional fanciness, you can use html.
But don't turn a tool that is explicitly meant to be simple into something complicated just because it doesn't have enough features. The lack of features is the point.
Yes, I think we're in violent agreement that markdown is the wrong tool for the job. That's why I find it baffling how so many blogging & documentation tools lock you in to using markdown, with its anaemic feature set (eg mdbook).
Even markdown + inline HTML is wildly inadequate. For example, you can't make automatically numbered sections. Or figures with links in the text. Or a ToC. And so on. Try and attach a caption to an image and you're basically hand authoring your document in crappy HTML.
So I agree with you. I don't think the answer is "markdown++" with comments, templating and scripting support. I think the answer is something else. Something which has considered the needs of authoring documents from the start. Something like typst.
> That's why I find it baffling how so many blogging & documentation tools lock you in to using
I feel this about so many things and it boggles my mind why people often choose to do things the hardest way possible.Honestly, I think a good portion of it of the unwillingness to toss something aside and write something new. If it's just a hack on a hack on a hack on a hack then no wonder it's shit. It's funny that often it's quicker to rewrite than force your way through.
I'm worried that with LLMs and vibe coding on the rise we're just going to get more. Because people will be asking "how do I make X do Y" when in reality you shouldn't ever make X do Y, you need to find a different tool.
I'm hoping the opposite, at least eventually. I think before long it'll be easy to get chatgpt to build your own version of whatever you want, from scratch.
Eg, "Hey, I want something kinda like markdown but with these other features. Write me the spec. Implement a renderer for documents in Go - and write a vs code extension + language server for it."
But if that happens, we'll get way more fragmentation of the computing ecosystem. Maybe to the point that you really need the memory of a LLM to even know what's out there - let alone understand how to glue everything together.
When you are losing your semester's 25-page seminal work an hour before deadline because Word had that weird little bug about long documents and random CJK characters (and whether or not the moon was currently in the House of Aquarius supposedly), you develop a ... healthy dislike for it.
LaTeX back in the day didn't need zealots - Word did all the heavy lifting in demolishing itself for anything more involved than 'Secretary writes a letter', 'grandma Jones writes down her secret butterball recipe' or 'suits need a text, and only text, on paper, quickly".
(Yes, that was snarky. I am still bitter about that document being eaten.)
Word still has a closed format. It supposedly standardized OOXML, but - it doesn't follow that standard; Microsoft apparently managed to warp the XML standard to accommodate its weirdness; and all sorts of details encoded by MSO in that format are not actually documented.
There also used to be the problem of different renderings on different machines (even if you had all the relevant fonts installed): You opened a document on another person's computer and things were out-of-place, styling and spacing a bit different, page transitions not at same point etc. I don't know if that's the case today.
Granted, though, hangs and crashes and weird gibberish on opening a document are rare today.
When this happened to me on my job in the late 90s we were able to locate that problem in the printer driver that was visible in the Word print dialog. I don't remember the details but it looked like Word was adjusting font metrics to the metrics of the specific printer, and all the shifted pixels quickly added up to destroy the finely balanced lines of our print publication (yes, an official public health periodical by a European government was typeset with MS Word, and there was a lot of manual typographical work in each print). Given the technology at the time, it's not clear to me whether Word's behavior was a feature (in the sense of: automatically adjusts to your output device for best results) or a bug (automatically destroys your work without asking or telling you when not in its accustomed environment).
A bug, because even if this was merited somehow, they could have just made it a nice prominent checkbox for the user to decide what behavior they wanted.
In two years I hardly met anyone still doing pure LaTeX publications, unless the publishing body only accepted LaTeX as submission format.
I would suspect (based on my own experience) is that the reason folks shout "typst!" anytime they hear latex is that the user experience is 1000x better than latex.
That and Computer Modern. I bet a significant number of users use it because of that!
Personally I would just use LyX. Its equation editor is actually fantastic.
Many people say that they use LaTeX because it produces more beautiful output. Microtypography is one of the reasons for that. It's especially noticeable when microtype pushes hyphens or quotes at the end of a line slightly into the margin. (A nearby comment mentions that Typst has this feature, too.)
It has a lot of good things going for it, but it is the least attractive font that I think I have ever seen.
And there's another microtype PR open, by the reporter of the linked issue (nice!)
The microtype user manual shows how much thought has gone into it: https://mirror.foobar.to/CTAN/macros/latex/contrib/microtype...
A lot of things are possible in PDF.
These interactive links did not work for me (using Linux) in the in-browser reader in Brave nor in sioyek, but they did work in evince.
I find some stuff like this.. is it raw pdf directives? Literally an example of something typst can't do right now. I also can't read this.
``` \def\mt@toggle@sample#1{% \pdfstartlink user{/Subtype/Link /BS << /Type/Border/W 1 /S/D /D[4 1] >> /H/O /C[0.65 0.04 0.07] /Contents(Click to Toggle #1!) %/OC << /Type/OCMD /VE[/Not \csname mt@_compatibility@\endcsname] >> % not honoured by older viewers anyway /A << /S/SetOCGState /State[/Toggle \csname mt@#1@true\endcsname \csname mt@#1@false\endcsname] >>} #1 \hfill\pdfendlink & \mt@layer{#1true}{\rlap{on}}\mt@layer{#1false}{off}} ```
What doesn't work?
Are people looking seriously at shortcomings of latex and moved towards modern replacements?
Major problems include:
- Tables are a huge pain.
- Customized formatting like chapter headings, footers, etc is painful.
- Latex as a language somehow felt like it was having issues with composability of functions, the details of the problem eludes me now, but it was something like if you have a function to make text bold, and if you have another function to make it italic, then if apply one to the output of another, it should give you bold and italic, but such composability was not happening for a some functions.
-Mixing of physical and logical formatting.
-Lot of fine tuning require to get passable final output.
Like when our chess trainer could not put six diagrams on one page with latex, s.th. that is very feasible with typst (https://github.com/Phorkyas/typst-samples/tree/main/chess)
Ah yes, this definitely is the “Modern” approach.
There does seem to be an open source, non-SAAS part, but information about it looks pretty deliberately buried.
They developed the main face of the product first - the online webapp which has live collaboration - which sounds like a sane choice for a new company.
It does, but this is actually part of the critique. Typst is developed by a company, while LaTeX is not.
So... yeah.
That is an overly broad generalization.
> no hesitation to pay AWS, Netflix, Amazon, etc.
Again, an overly broad generalization.
I am unsure what kind of conclusion you can objectively make out of such generic statements.
I used latex for 20+ years and don't know how to file a bug for latex. Do I do it for xelatex, latex? Where? How do I update things? Download 4 gigs? Where's to documentation? Where's a book that explains how to contribute to latex? These are some of the issues I've dealt with and am happy to never have to again.
The same contributor has recently put a lot work into building a better foundation for Typst's PDF export [1], which decreases file sizes further, and brings many further benefits.