[HN Gopher] TeX and Typst: Layout Models (2024)
___________________________________________________________________
TeX and Typst: Layout Models (2024)
Author : fngjdflmdflg
Score : 223 points
Date : 2025-02-13 04:34 UTC (2 days ago)
(HTM) web link (laurmaedje.github.io)
(TXT) w3m dump (laurmaedje.github.io)
| aidenn0 wrote:
| I remember in word for windows (Either 2 or 6, not sure) on my
| 40MHz 386, you could watch it reflowing text if you edited a
| paragraph near the beginning of a multi-page document. It would
| correct for widows and orphans, which would cause surrounding
| pages to potentially do the same. It could take a non-trivial
| amount of time to stabilize, and if you printed a document before
| it did, you could end up with duplicated or missing lines at page
| breaks.
| natemcintosh wrote:
| This was a really great write-up, and gives me a lot of hope for
| the future of Typst. I think one of the best ways to overcome the
| enormous momentum of TeX is to point out its limitations (while
| still keeping an eye on Typst's limitations), and explain how
| Typst overcomes them.
| szvsw wrote:
| > I think one of the best ways to overcome the enormous
| momentum of TeX is to point out its limitations (while still
| keeping an eye on Typst's limitations), and explain how Typst
| overcomes them.
|
| One of the other easy ways to overcome it is to provide as many
| templates as possible for journals. I've used LaTeX for years,
| but would by no means consider myself an expert in LaTeX, as
| I've almost exclusively been able to grab a template from a
| journal or from my university, and then just draft in the
| relevant blocks, write equations, add figures, and, rarely, add
| a package. I would guess that there are a _huge_ amount of
| LaTeX users like me out there. I do all my drafting on
| Overleaf. I love TeX (and curse my PI whenever he requires that
| we use Word /365 instead of LaTeX/Overleaf)... but so much of
| the benefit, for me at least, comes from the fact that
| templates are readily available for any journal I would want to
| submit to; my masters thesis was built in a template provided
| by my university; etc. I don't have to deal with any of the
| cognitive overhead of styling and formatting (except for
| flowing the occasional figure) and can just focus on drafting.
|
| For me to even consider typst, it's pretty much a requirement
| that there is some degree of template parity actively being
| worked on. The most natural way to approach that would be to
| just sort every journal by impact factor and start working top
| to bottom; given that so many journals share templates due to
| being within elsevier, springer etc, it should be
| straightforward to reach a reasonable degree of parity
| relatively quickly.
|
| Getting the major publishers to support and offer their Typst
| templates would make me try it out immediately for what it's
| worth.
| jedbrown wrote:
| Many journals require LaTeX due to their post-acceptance
| pipeline. I use Typst for letters and those docs for which my
| PDF is the final version (modulo incomplete PDF/A in Typst),
| but for many journals in my field, I'd need a way to "compile
| to LaTeX" or the journal would need to implement a post-
| acceptance workflow for Typst (I'm not aware of any that
| have).
| bombcar wrote:
| Exactly - they require LaTeX not only to make it match the
| style, but because the final document is a prepared LaTeX
| work. Sometimes you can even see all the hooks and such
| that are waiting for \include and similar.
| szvsw wrote:
| Right, I guess that's my point: If Typst wants to compete
| with LaTeX, IMO it needs some sort of mechanism by which
| journals will deem a Typst submission acceptable, along
| with readily available templates for said submissions.
| That's a _big_ hill to climb probably, but probably the
| single most valuable development they could achieve from a
| product diffusion perspective.
| mr_mitm wrote:
| Typst doesn't even have a stable release yet. Give it
| some time, I genuinely believe it will get there.
| gnatolf wrote:
| Interestingly enough, e.g. Elsevier accepts latex but has
| their own typesetting backend. Which typically means that
| the last editing steps are quite annoying, because even if
| one is using the provided latex templates, what actually
| happens for the final typesetting is done by some
| mechanical turk editor on a slightly different publishing
| system.
| dmitriz wrote:
| Can you use AI tools to covert Typst to Latex? That would
| remove the acceptance issue.
| coliveira wrote:
| One of the big benefits of LaTeX is the ecosystem of
| packages, but that only happens because so much effort was
| put into creating a package mechanism for the typesetting
| system. LaTeX has a long history of providing the technical
| infrastructure for package creation, and that was one of the
| main focus since its inception. No typesetting system can
| compete with LaTeX without a focus on package and template
| creation. My personal view is that LaTeX will continue to be
| king in this area for the foreseeable future.
| okanat wrote:
| Typst has a far easier to use packaging system but the
| default feature set is already good enough for the most.
|
| Don't forget that many LaTeX packages exist solely because
| TeX and LaTeX suck and they are very underengineered save-
| the-day type of languages. They survived since everybody
| else asked money for their better typesetting systems. It
| is quite similar to how Unix and Unix-like systems survived
| despite the mountains of OS research and many new, more
| secure (usually paid) OS implementations.
| coliveira wrote:
| LaTeX survived because it provides better results than
| comercial packages and has a much larger user base.
| okanat wrote:
| I don't think it generates better results than Adobe
| Indesign nor it is easier to use.
|
| One wonders why LaTeX has many users?Larger userbase can
| easily explained by being free. Students and PhDs usually
| don't have extra money to buy or nowadays rent Indesign
| but LaTeX is there for free. It doesn't mean it is
| technically superior or nice to use.
| khaled wrote:
| > I don't think it generates better results
|
| It does if one is doing typesetting math-heavy documents.
| Nothing really matches TeX quality or flexibility in math
| typesetting, not even typst (yet, at least).
| tkuraku wrote:
| This is exactly right. I like latex not because it's super
| ergonomic, but if I use a template I don't have to think
| about any formatting.
| okanat wrote:
| Until you need a table with wrapped lines or slightly
| different settings for figure placement.
| Al-Khwarizmi wrote:
| Yeah, exactly. Having used LaTeX for around two decades, I'm
| really eager for something to replace it, because honestly,
| it's very old and it shows (for example, among many other
| issues, dealing with non-English characters is still a pain,
| in spite of hack upon hack upon hack).
|
| But if there is no available template for the venues where I
| publish (in my case mostly conferences, although also some
| journals) it's not feasible for me to replace it. Maybe I
| could for slide presentations, posters or other documents
| that I design from scratch, but I'd say that's no more than
| 20% of the time I spend with LaTeX. The majority of the time
| I'm working with conference or journal templates.
| sa46 wrote:
| > As we've seen, TeX's model falls short on everything that
| requires knowledge of exact vertical positions:
|
| Interestingly, classical CSS had a similar limitation, that
| height is determined by content size, leading practitioners to
| search for the Holy Grail [1].
|
| [1]: https://en.wikipedia.org/wiki/Holy_grail_(web_design)
| Sharlin wrote:
| Not surprising, of course, given that both are (originally)
| _document_ -layout systems first and foremost, and given that
| we write horizontal lines, the primary layouting constraint has
| always been the width of the page/monitor/clay tablet/whatever,
| and the text (and possible other content) then just flows to
| whatever "height" is required (or until one runs out of space).
| fngjdflmdflg wrote:
| Also interestingly, Chrome began supporting pagination
| recently[0] which until now required something like pagedjs. I
| wonder to what extent Typst's (or TeX's) layout model can map
| onto CSS now. I would assume concepts like widow and orphan
| prevention are not implemented but I haven't looked into it.
|
| [0] https://developer.chrome.com/blog/print-margins
| zellyn wrote:
| For reference, this blog post appears to be by the same person
| who is the overwhelmingly primary contributor to Typst: See
| https://github.com/typst/typst/graphs/contributors
| leothelion_ wrote:
| One of the two founders of Typst project, in fact
|
| https://typst.app/about/
| reikonomusha wrote:
| I found it mildly irksome that the blog post was written almost
| as if it were a completely unbiased comparison.
| epidemian wrote:
| I didn't get that impression at all. The first paragraph
| includes the sentence:
|
| > I want to use this post to explore these differences, to
| identify the benefits and limitations of both models, and to
| present my thinking on the future of Typst's layout engine.
|
| Which immediately made me think the author of the post was
| involved in Typst development.
| sundarurfriend wrote:
| I find it mildly irksome that Hacker News readers often
| assume that blog posts are always written for someone like
| them - i.e. someone unfamiliar with the author who happened
| upon the post without context.
|
| That used to be the way blogs work, just written for a broad,
| unknown audience, but these days most blogs are written with
| a specific audience in mind, often one that knows the author
| reasonably well. Sometimes the blog is even just a secondary
| place to have an archive of the post, the main intended place
| being a post on a close-knit forum.
|
| Once you take away the assumption that you're the intended
| audience, it's much easier to see the article - and the
| things it says and doesn't explicitly say - in a clearer
| light.
| Upvoter33 wrote:
| I love a lot about Typst. Hope it keeps growing and getting
| better!
| n_eutrino wrote:
| life is short, use typst.
| __mharrison__ wrote:
| Great article. Appears to be one of those articles where writing
| it forces you to think and leads to new solutions like relayout.
|
| As for myself I've completely abandoned LaTeX for Typst and
| couldn't be happier. My life will be better if I never have to
| touch LaTeX again. (Have written almost a dozen books with
| LaTeX.)
| tolerance wrote:
| The one thing the Typst could do to eclipse TeX is market itself
| to authors outside of STEM disciplines who still possess a
| willingness to get their hands techy.
|
| I view Typst on the high-end of software that can encourage more
| people who are into the "arts" or "humanities" into coding.
|
| I used it once to typeset a booklet and had a lot of fun. One of
| the benefits of it being new and having an engaged community and
| being just fun to use is that I got to explore different
| workarounds to achieve certain layouts, learning more about how
| it works along the way.
|
| Troff is lots of fun too.
| replete wrote:
| Great write up. Looking forward to a day when a Typst doc
| framework is a reality.
| watersb wrote:
| Typst is a re-flowable document description language; TeX spends
| more computation on the One True text justification and
| hyphenation paragraph builder.
|
| PDF has recently implemented a limited reflow feature by marking
| up text elements with metadata tags originally introduced to add
| accessibility features, hints for text to speech...
|
| Meanwhile, Amazon has moved new books and user-submitted
| documents from its own Kindle format to ePub.
|
| ePub is the e-book standard format that extends a subset of HTML.
|
| Web browser teams have been hurling themselves against the walls
| of nearly-intractable layout cases for decades now.
|
| We take it for granted: on your Kindle e-ink reader, change the
| font size. Boom: the whole book has to re-compute its layout.
|
| Typst is far more computationally efficient, even elegant, but as
| yet it can't flow text around embedded sidebars or images.
| red_admiral wrote:
| For my own work, I already find Typst superior to TeX and I use
| it in some of my PDF creation pipelines. One can debate the
| differences of math syntax, of course.
|
| For documents whose source is likely to be shared or handed over
| to other people, writing in TeX rather than expecting them to
| learn a new language is still good citizenship.
|
| The big differences for me are:
|
| (1) TeX has the feeling of separating the author and editor, I
| get to write my stuff and someone else (Elsevier etc.) handles
| the template and layout. This is a good thing when the two are
| actually different people, but when I'm asked to do both ("write
| this up in the style of that") there's a whole lot of Yak Shaving
| to get it right. For Typst it's much more intuitive to say here's
| the page layout, this is the font to use. (yes XeTeX exists, but
| that has other problems over here)
|
| (2) TeX ends up in dependency hell sooner or later where package
| X is incompatible with Y when you've also loaded Z. There's a lot
| in the comprehensive LaTeX symbol list where you just want to
| load some symbol to draw a triangle and you end up fighting the
| Type1/Type3 fonts thing and getting stmaryrd to play nice. I
| still don't have a clean solution for making some basic shapes
| (circle, triangles pointing in several directions, square,
| diamond) that come in outline and filled versions and take up
| space exactly from the baseline to the cap line (I could probably
| live with just the x-height instead).
| Hendrikto wrote:
| You could define these basic shapes as TikZ pictures. If you
| reuse them often, you could abstract them into some package.
| Syzygies wrote:
| "For documents whose source is likely to be shared or handed
| over to other pe ople, writing in TeX rather than expecting
| them to learn a new language is still good citizenship."
|
| Conversely, my entire interest in Typst is have an input format
| more efficiently read by AI. We've passed the inflection point
| where one can responsibly only write for humans.
|
| Typst is Markdown-adjacent, while PreTeXT is XML-adjacent. More
| characters but even easier for AI to process. I'd switch for
| the HTML and ePub support, but no syntax coloring for code
| blocks?
| patrick451 wrote:
| Calling writing for just humans irresponsible is quite the
| claim. Personally, I'd rather AI did not injest anything I
| write whatsoever. Not that there's much I can do about it.
| svat wrote:
| This is a nice post; a few comments:
|
| * TeX's boxes-and-glue-and-penalties model is remarkably simple
| and flexible, as the author says. I've long been planning to
| write a post about this; the Knuth-Plass paper has some beautiful
| examples of how much you can cleverly achieve with such simple
| primitives. Really a model of elegance.
|
| * This simplicity allows some ingenious solutions. With TeX
| (especially LuaTeX) one _can_ do things that require knowledge of
| where on what page a paragraph is on: see for example this
| "demo" of mine: https://tex.stackexchange.com/a/403353 -- of
| course one is fighting the system to some extent, but it is
| possible.
|
| * Of the three "Challenges" it discusses, the first two "Varying
| container width" and "Side-floating elements" are both examples
| of things that are possible in TeX with caveats (parshape and
| wrapfig), but currently not possible in Typst -- would be nice to
| see those limitations removed in Typst in a clean way.
|
| * In the TeX world, note that there is Martin Ruckert's ongoing
| HINT project, which moves some of the TeX layout to the client
| (custom viewer), and thus supports arbitrarily varying widths
| (really cool to read a hint "book" on a phone):
| https://hint.userweb.mwn.de/#:~:text=TEX-,HINT,-%2C%20follow...
| (demo videos here: https://hint.userweb.mwn.de/hint/video/ and
| articles in TUGboat:
| https://tug.org/TUGboat/Contents/listauthor.html#Ruckert,Mar... )
|
| On the whole, happy to see this post and that more attention is
| getting paid to text layout.
| ykonstant wrote:
| I struggled a bit with `wrapfig` but ultimately got very decent
| results for one of my expository writings:
| https://drive.google.com/file/d/1h1Lro8owakjE-3Kuo1mKJL_XpZR...
|
| The margin calculations can definitely be improved, but in
| order to swap typesetting systems I need to be able to do at
| least this much (including the TikZ/PGF rendering for the
| images).
___________________________________________________________________
(page generated 2025-02-15 23:01 UTC)