Notes about Typst (and LaTeX)
I have some little story with document writing. My thesis for university was written in LaTeX, also my mini-thesis for high-school was written in LaTeX (translated from "tesina" which was a thing in Italy).
I am accustomed to the idea of compiling my documents. I can version control it easily writing meaningfull commits easy to manage (unlike Word) and I don't have to worry about weird stuff happening in the document because some obscure option hidden inside some random menu was set wrong. All that's matter is in your document, maybe in a specific file, you cannot miss it.
I wrote it to have an example and I was expecting to open some documentation, but I wrote so many of these docs I wrote the skeleton all by hearth.
Shaping LaTeX documents
During the writing of my thesis, I wanted my document to be really professional. With all the details in the right place: This was really hard.
LaTeX documents have a lot of different variables which should do different jobs but in reality none of them actually do a difference and another unrelated variable fixes the document, after 2 hours of research. Shaping the document is hard, really hard. The community on CTAN (the standard package manager for LaTeX) has the geometry package, but by default it makes a lot of changes that I didn't like. I ended up reshaping margins (for odd and even pages) by hand without geometry. It wasted me a lot of time. Also this problem repeated by having the frontispice (the first page with the title, just to be clear) on a different geometry. I had to set a geometry, then end the page and reset the geometry and the page numbering to make it works.
So what about Typst
I found Typst some time after finishing my thesis. It is exactly what I was wondering about during my hellish search and discoveries. Typst is a new typesetting system rewritten from zero that aims to replace LaTeX with its ease of use and modern syntax.
It has some nice features like an official tutorial and official documentation for all primitives. setting the geometry for a document is a breeze. It have some nice features like webassembly plugins and the possibility to use it on their platform. The compiler is embeddable enought that probably is easy to create a new web platform but I don't know about licensing there.
Working on Typst
Starting on Typst is really easy, just read the tutorial from the site and experiment. This system really shows fast some of its quality. Its programming language nature makes easy to understand how to make code blocks, maybe create a variable and set margin the triple of that.
It is functional and easy to understand. It has some nice fuction for graphics and easy control structures.
Packages
Typst has a package search. It collects libraries that can be used for various reasons. Creating text boxes, graphs, presentations, CVs is already a matter of importing packages. Outside of the usuals, you'll probably find yourself better writing stuff yourself than using packages. Often on typst universe (their package list), all the stuff is in beta version and sometimes these packages work in strange ways.
What's the target?
Someone could say that in a world where all documentation is now web stuff, there is no place for a new LaTeX. Why would you restart LaTeX when the only uses are accademic, where at this point they know all the secrets and weirdness of this tool.
The typesetting world is not so small. I can see some usecases where Typst has sense:
- The accademy. While now everybody know well LaTeX, people change and maybe the next doctors, while college freshman, would choose Typst instead of LaTeX.
- Journal and magazines. They can find value in a typesetting tool easily configurable for their needs. This require Typst to be competitive against Word, a path arleady traced by their online software.
- School books. These uses tools similar to tcolorboxes and ticz for graphics and details. Typst would be a good fit in here.
- Technical people. This tool would be great to write CVs and to mantain documents that change a little over the time.
- Developers. Because of the small footprint of the compiler, it is a good candidate for automatic typesetting. Maybe the user write some markdown text or composed a form and the result can be converted in pdf with a lot of customizability and library support.
On each area, Typst has to compete, but there is room to work with.
Stuff missing
One thing people really miss is the possibility to export typst text into html. As now the compiler can only provide pdf documents. I see typst is in development and new stuff is added.
Probably that's enought shilling.
CYA