5 ms·
This is neat. I've used Latex before, and it definitely suffers from poor ergonomics. Both the language and tooling contribute to this. The selling point see
by alphazard 2y ago
This is neat. I've used Latex before, and it definitely suffers from poor ergonomics. Both the language and tooling contribute to this.
The selling point seems to be that this is more similar to Markdown. That makes sense, Markdown is objectively more common and has more users than Latex. I've used both, but Markdown way more often.
Here's something I don't understand: it would be trivial to make Typst even more similar to Markdown, and yet it exists at some strange middle point in the language design space, arbitrarily far from Markdown.
- prettymuchnoone 2y agoCould you give an example of how it could be more similar to Markdown? I recently used Typst for my bachelor's project and never really thought that it needed to be simpler
- huijzer 2y agoWell maybe it’s good to make it clear that it isn’t markdown to avoid confusion? Also Typst has less syntactic sugar which also has benefits. More generally, I am really impressed by Typst’s abstractions. I have typset my whole PhD thesis in it without needing any external packages. It was so easy to use the basic building blocks and write a few extra functions for the rest.
- raphman 2y agoIs your template/source available by chance?
- huijzer 2y agoYes at https://github.com/rikhuijzer/phd-thesis https://github.com/rikhuijzer/phd-thesis
- com 2y agoGreat thesis on an interesting topic. I’m always a fan of good model explainability. What did you use to generate the attractive and clear svgs?
- huijzer 2y agoThank you for the kind words. The plots were all created with Makie.jl [1] and lots of fiddling and manually writing code to get things right. Although I think Makie is great, I guess it would also be possible with other plotting libraries. [1]: https://docs.makie.org/stable/ https://docs.makie.org/stable/
- llm_trw 2y agoMarkdown is a very poor language to try and use for anything other than single column typewriter like text. As evidenced by the fact that every project which uses it for more than that adds arbitrary extensions. The minimum viable language for non-mathematical technical documentation is reStructuredText.
- mbivert 2y agoI'm not sure the selling point is similarity with markdown, but rather, to improve, or modernize LaTeX/TeX-the-language/s: TeX is really archaic: if you're curious, there's a series of articles by overleaf[0] detailing some of TeX's inner-working, quite insightful. I remember reading — but can't find a source at the moment — that TeX originally didn't had counters; people came to rely on Church numerals[1] instead, before Knuth finally implemented them. EDIT: found out where I've read about it: [2] [0]: https://www.overleaf.com/learn/latex/A_six-part_series%3A_How_do_TeX_macros_actually_work%3F https://www.overleaf.com/learn/latex/A_six-part_series%3A_Ho... [1]: https://en.wikipedia.org/wiki/Church_encoding https://en.wikipedia.org/wiki/Church_encoding [2]: https://news.ycombinator.com/item?id=29713270 https://news.ycombinator.com/item?id=29713270
- Animats 2y ago> The selling point seems to be that this is more similar to Markdown. The problem is that extending Markdown syntax gets messy. #figure( image("image.jpg", width: 70%), caption: [ Observe the image in the picture ], ) <figure> This is kind of a strange blend of Markdown, CSS, JSON, and HTML. TeX at least has a consistent syntax.
- airstrike 2y agoStrange to the untrained eye, perhaps. To me that just looks like a function. In a long document I recently wrote, I defined a custom function #let img(filepath, inset: 0.5em, caption: none) = { figure( box(inset: inset, stroke: 0.5pt + gray, image(filepath)), caption: caption ); } and just used it like: #img("images/excel-5.0.png", caption: "Microsoft Excel 5.0 was released in 1993.") edit: fixed unused inset param
- smartmic 2y agoThese 6 lines actually put me off. Probably I have to read more about Typst syntax but, same for me, consistent syntax which covers necessary complexity wins over bending a markup language for purposes for which it was never intended.
- josephg 2y ago
- sshine 2y agoPlaces I’ve switched from LaTeX to Typst: My resume, research papers. Markdown was never a serious contender for my resume, since I want to control the rendering and the layout. Places I’ve switched from Markdown to Typst: Slides. There are some okay Markdown-to-HTML solutions, but they have this unfortunate side-effect that you move the slides to some other computer, and something breaks in your rendering. PDFs ftw.
- josephg 2y agoI really wish typst had a good way to emit html. Id love to use it for blogging & technical writing and documentation.
- laurmaedje 2y ago(Typst dev here.) That's one of the next big things we plan to work on once Typst 0.12 has shipped. :)
- josephg 2y agoI can’t wait! Thankyou for all your work - I really appreciate what you’re building!
- gumbojuice 2y agoAre there journals/conferences that accept typst for typesetting yet? It is probably my main reason for staying in LaTeX.
- ykonstant 2y agoPerhaps you can use pandoc to turn Typst into Latex and then do the little dance of making it compatible with the provided headers? [ The latter is painful no matter what; once, I had a paper that I simply could not get to compile with the journal's header and had to give it to a wizard for examination. He did some manual TeX shenanigans resulting in a big blob of raw TeX at the preamble and it all worked. ]
- SkiFire13 2y agoPersonally, I don't really care about it being similar to Markdown. After all if someone wants Markdown they can just use that... For me the selling point is that it provides almost the same features as Latex except with a sane scripting language. This allows me to actually write my own scripts, as opposed to Latex where even understanding how basic stuff worked was a huge pain.
- __mharrison__ 2y agoI write markdown and use Pandoc (plus some filters) to create Typst. Happy to never touch LaTeX again.
- necovek 2y agoAs a side note, TeX engine could support Markdown or HTML or many other syntaxes too: it's easy to redefine control character in TeX to be anything instead or in addition to "\" (I've actually done that with Plain TeX a couple decades earlier to allow two-byte UTF-8 input by making all first-bytes of valid 2-byte UTF-8 sequences into control characters). So, LaTeX being "unergonomic" is only relative — it's pretty ergonomic compared to things like HTML but especially DocBook or TEI SGML/XML schemas, but less ergonomic than Markdown or even Plain TeX. However, it inherits the most complex part where it is extremely ergonomic from Plain TeX (for the most part): editing math formulae. But it's also much richer in expressing intent than any of those, and from what I can see, compared to Typst as well — LaTeX is basically semantic markup for excellent printed output (where Plain TeX is excellent printed output with no semantics, DocBook/TEI are pure semantic markup, and HTML/Markdown/Typst are somewhere in the middle too).