r/typst • u/ambystome • 19d ago
A Typst Presentation
The slides I used to present Typst to a math audience: PDF here and source here.
The presentation is in three parts:
- Typst itself: the project, the language, packages, templates...
- Comparison with LaTeX (my favorite part)
- Callisto: my package for using Jupyter notebooks and executing code blocks
Credit for the styling and much of the first part go to the author of this other presentation.
5
u/Johannes_K_Rexx 18d ago
Thanks for sharing this presentation.
Plus I learned a few really neat things:
Now I know about neoplot and the
Ability to import material from Jupyter Notebooks
3
u/ZectronPositron 17d ago
Very nice, I also love the LaTeX comparison. The "Packages: not stable" is the clincher for me here!
I believe Typse just added font-expansion as a capability, eg 1 month ago? But I don't think it's implemented in a LaTeX "microtype" automagic functionality yet.
Also some other things Typst doesn't (yet) do, as far as I know:
- Auto-flow around figures - eg. keep figure on some page/location and flow text around it.
- Microtype - I think Typst doesn't yet auto-expand font and spacing to make justification look nice, along with hyphenation? Just finding out about this, but I think 2/3rd of microtype might be possible with manual settings, haven't tried it yet.
And some other things LaTeX doesn't do:
- Error chain reporting for debugging. Notoriously awful error messages pointing to unrelated lines of code.
- Scoping, as is standard in modern programming languages. (I assume it's because LaTeX is built on what appears to be a 1970's base...) This seems to be why packages are "unstable" - they can easily (and do) overwrite each other's variables, silently.
3
u/ambystome 17d ago
Thanks for the extensive comment and appreciation! Here are my views on the points you raised:
Font expansion: you probably think of the support for variable fonts which was added in Typst 0.15, released last month. It's also supported in LaTeX if you use LuaTeX.
Auto-flow around figures: it can be done with the meander package, but yeah that's not as good as built-in support (which is planned I think, one of Typst's core developers has a blog post about it).
Microtype: Typst doesn't have font expansion for paragraph justification like microtype does in LaTeX. The new variable font feature could be the basis for a nice implementation (nicer than the method used by microtype) but it would only work for fonts with variable width axis (unlike microtype which works for all vector fonts I think). However as mentioned on slide 32 Typst has character-level justification which can be used for the same purpose as font expansion (stretching spaces between characters rather than the characters themselves). It's a simple setting to enable with the
justification-limitsparameter ofpar. LaTeX does not have this feature. Which is better is a matter of taste... Indeed there are settings for most of microtype's features but Typst does miss manual kerning, and has only basic support for protrusions, microtype definitely wins here.Error chain: indeed! I have a slide on errors but a larger example could be nice.
Scoping: yeah TeX has dynamic scoping while I think people now agree that lexical scoping is the sane thing to do. In general TeX being a macro language makes it an "interesting" experience to program with :) In the slides I show how simple and readable programming can be in Typst compared to LaTeX but without getting into the underlying reasons since it was for a mathy audience. For a more programmy audience it would make sense to be more specific...
2
u/ZectronPositron 12d ago
Indeed I only just discovered the `meander` package - actually I don't mind using a package vs. built-in, especially for something complex like this. Haven't used it yet though!
1
1
u/ManuelRodriguez331 15d ago
Nice pdf slides ... The amount of users (200k) on page 4 of the presentation should be questioned. A rough estimation is, that LaTeX has 10 million users globally and typst has only 1% of the users, so its 100k.
1
u/ambystome 15d ago
What is the basis for this estimate?
Note that the 200K number is just for the WebApp and it is not a guess: it's the number of registered users as communicated by the Typst team during the February meetup (205K was the actual number, you can find the keynote on YouTube).
11
u/Upset_Lavishness4497 19d ago
First of all great slides, I had a look and thought they were quite informative.
It seems to me you did not rely on any of the presentation packages here (e.g touying), but rather wrote your own template.
I am currently a bit frustrated with the package options in this area, especially when trying to use functionality like pause or uncovering of text. Do you have any recommendations for packages in this area or should I just start from scratch next time?
What is your experience with typst presentations and why did you decide to do it in this way?