I recently came across Typst. It’s a typesetting software under active development that is designed to be as powerful as LaTeX while being much easier to learn and use. Features Free and open-source. 22,000+ Github stars: https://github.com/typst/typst
The one dealbreaker for me in Typst is the current lack of locale-aware decimal separators. The rest of it is so good that I've donated a couple times.
Note that this is not only a cli and a (closed source) web editor, but also a library. So it's possible to embed a full typesetting library in your project, which is awesome. It's probably not on par with TeX yet, but you can already do an awful lot with it. Scripting it is really much, much easier than, say, LaTeX.
Did it all from neovim, exportPdf = "onSave" as a part of lsp setup, and zathura open in a tiling window manager. zathura auto-reloads the PDF when it changes on disk. So no web editor needed ;)
First class RTL support (which was required for the task at hand) was a very pleasant surprise.
Gotta admit though that I couldn't figure out why typst-lsp didn't work initially. Took me some time to figure out that it needs a git repo and files checked in to work. That probably should be mentioned in the README.
And there was the odd behavior here and there, like setting gradients on text elements in table fields actually setting the gradient over the whole table for some reason. Not sure if it was my fault since I was learning on the go, or an edge case not handled.
Feel free to crosspost into them or post future content on this topic there if they are relevant.
I am a bot and this was performed automatically 🤖 For any issues contact Ategon.