I was on the typst train, particularly because its layout engine has some additional vertical control for long documents that latex lacks. However, just about when I was looking at moving over, LLM coding became good or at least good enough, and one area the current crop is bad at is doing layout in anything but latex. Not that they are good at latex, but they are terrible, terrible, terrible at typst. Really bad. Maybe in another year or six months!

I understand why people like using LLMs for coding, saves them having to think, but it is deeply frustrating to see it being such a crutch that some people cannot use new tools without it.

I suppose the issue is not new, many people didn't want to use new lanuages before because they couldn't copy snippets from the internet, but it was frustrating then too.

You’re going to be frustrated a long time into the future I would guess.

I’ve been coding since before the camel book was published: at that time it was basically ask Larry Wall on Usenet or a local bearded guru if you weren’t in a university setting and wanted to learn to code.

I can hand craft code in many a language; I can also do fine wooden joinery. When a project has value to me in the completion and hours to completion is my metric then a cnc machine or an llm is a great tool, and allows me to make things that aren’t “worth” hand coding.

When I want to work on a technical skill or just get in the flow I code by hand or use my wood tools. Upshot: different strokes for different folks.

> and one area the current crop is bad at is doing layout in anything but latex. Not that they are good at latex, but they are terrible, terrible, terrible at typst

I'm surprised to hear that—I've been using GitHub Copilot with ConTeXt [0] since 2021, and it mostly works fairly well. And ConTeXt is much more obscure than Typst (but also much older, so maybe that gives it an advantage?).

[0] https://wiki.contextgarden.net/Introduction/Quick_Start

I’ll tell you my failing prompt - hopefully you can help! I haven’t tried since 4.0 / o3 / 2.5 pro came out.

I want a flowed book layout (so we have a facing page with inner and outer margins.)

I am rendering chats in the main part of the page. Chats alternate left and right alignment so it looks a bit like a text conversation. For each chat I want to put metadata (reactions, sender, time) on the margin it is aligned to.

So For a left chat, on a left page, I want to use the left (outside) margin. A left chat right hand page the inside margin.

Two things I could not get sorted: first, perfect vertical alignment between the chat and metadata, ( I think this is possible but difficult) and a persnickety bug where the first chat on each page chooses the last page’s proper margin side.

Happy to pay for an answer - I did try to hire a typesetter for this as well.

Well, they are good in markdown and rust. Perhaps feeding some Typst documentation overview into the prompt could solve it?

An llm friendly language spec would help, I’d guess. FWIW it’s a common long tail language issue — everybody’s realll good at python and typescript, things fall off from there