frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

The Lingua Franca of LaTeX (2019)

https://increment.com/open-source/the-lingua-franca-of-latex/
13•ripe•1d ago

Comments

dhosek•1h ago
The article, sadly, gives an example that completely messes up the example of LaTeX’s input formatting (sigh).

I think the problem with a lot of would-be LaTeX successors is that they tend to miss two key things:

1. The document markup language of LaTeX is pretty good. Yes, it’s not as lightweight as Markdown, but the cost is paid back in expressiveness.

2. Programming the TeX engine is a mess. I’ve seen a number of people who’ve done things like translated tex.web into rust over the course of a weekend and similar such things. The problem is that the program was developed under the constraints of 1979–1982 computer hardware, when even 7-bit ASCII was not universally implemented on systems and it has a number of constraints that a modern developer would not face and design decisions that don’t make sense with modern development processes and capabilities. Too much of the system is tightly coupled with other parts so things like parsing end up being a real challenge (LaTeX, within the limitations of what was possible in the 1980s, did a decent job of trying to standardize syntax while Knuth’s original markup tended to be somewhat inscrutable to a non-technical (non-TeXnical?) person. One of the most glaring cases being the difference between, plain TeX’s \centerline{…} vs {\bf …}¹ (LaTeX 2.09 retained the plain TeX font selection commands, but LaTeX 2e regularized them with other LaTeX syntax so now you can write \textbf{…} instead of {\bf …} (also, the 2e syntax disentangled weight and shape selectors so that \textbf{\textit …}} produces bold italic while {\bf {\it …}} produces non-bold italic, but that’s a different can of worms). Add in that TeX can change its parsing rules on the fly (and not always transparently) which makes doing things like including \verb for verbatim text in the argument to another command break.²

I think an ideal LaTeX-successor would retain the document markup language almost exactly so that a LaTeX document, at least within the \begin{document}…\end{document} section would require little or no changes to still be typeset with its successor (albeit with the likelihood of different formatting) but provide easier customization and abandon the macro-expansion language of TeX which, while it’s kind of intellectually satisfying to work with, is so unlike any other programming language that it presents an almost impassible barrier to entry.

⸻

1. The other dramatic difference being Knuth’s preference of {1 \over 2} vs the LaTeX \frac{1}{2}. The former has the advantage of being closer to how one would read a fraction, but has the complication of requiring the enclosing braces which again creates inconsistent formatting.

2. And to make things somewhat worse, in the years since the initial release of LaTeX2e, LaTeX has required an extended TeX engine which does allow some limited ability to do things like include a \url{…} command in the argument to another command in a way that allows the \url to include special characters, but because of the weight of backwards compatibility this feature is (a) not always consistently functional and (2) doesn’t extend to \verb and friends so those still end up complicating matters.

WillAdams•36m ago
Well, LaTeX3 was sort of what you describe, but has been dropped:

https://www.latex-project.org/latex3/

If nothing else, the support for Unicode via UTF-8 has been a big win, and the new programming model and Lua allow some pretty cool stuff, if I do say so myself --- I'm still impressed by Alan Xiang's solution here:

https://tex.stackexchange.com/questions/722886/how-to-write-...

I agree that the preamble stuff is kind of a trainwreck --- I've always held that someone needs to put together a templated version where quite a large number of options are available, but commented out, so that one could work up a version of a document by just uncommenting the appropriate lines --- it really feels like something which LyX should have done.

The problem of course is the old greybeards are accustomed to tomes such as:

https://ctan.math.washington.edu/tex-archive/macros/latex/co...

kumarvvr•20m ago
LaTeX has a huge learning curve, and a mess of online information.

I tried to use it to generate automated reports, and was frustrated at every turn. My usage scenario was a completely offline system to generate reports of a few dozen pages, which included graphics, tables and other visualizations.

1. The whole system download is about 1 or more Gigs. 2. Each report is accompanied by half a dozen files. 3. The choice of packages to use, and the versons to use, is all confusing, with various books and site using various packages, often further customized. 4. The syntax is confusing and jarring, at least to me.

Finally, I ended up using simple template tools to generate HTML with proper semantic structing and CSS print media queries to generate my reports.

I do appreciate the fact that my requirement does not involve laying out content over multiple pages, something which LaTeX is good at. That is very difficult to achieve with HTML and CSS.

But, for use cases where each document page is independent, HTML, CSS and print media queries are great.

You can also use all the exciting javascript visualization libraries to generate awesome graphics.

Zed 1.0

https://zed.dev/blog/zed-1-0
1522•salkahfi•11h ago•498 comments

Copy Fail – CVE-2026-31431

https://copy.fail/
573•unsnap_biceps•7h ago•257 comments

Cursor Camp

https://neal.fun/cursor-camp/
623•bpierre•10h ago•107 comments

OpenTrafficMap

https://opentrafficmap.org/
151•moooo99•5h ago•33 comments

HERMES.md in commit messages causes requests to route to extra usage billing

https://github.com/anthropics/claude-code/issues/53262
980•homebrewer•6h ago•420 comments

FastCGI: 30 years old and still the better protocol for reverse proxies

https://www.agwa.name/blog/post/fastcgi_is_the_better_protocol_for_reverse_proxies
247•agwa•9h ago•64 comments

Vera: a programming language designed for machines to write

https://github.com/aallan/vera
47•unignorant•4h ago•30 comments

Why I still reach for Lisp and Scheme instead of Haskell

https://jointhefreeworld.org/blog/articles/lisps/why-i-still-reach-for-scheme-instead-of-haskell/...
166•jjba23•17h ago•52 comments

I benchmarked Claude Code's caveman plugin against "be brief."

https://www.maxtaylor.me/articles/i-benchmarked-caveman-against-two-words
51•max-t-dev•4h ago•30 comments

Claude.ai and API Unavailable

https://status.claude.com/incidents/2gf1jpyty350
74•rob•27m ago•53 comments

DRAM Crunch: Lessons for System Design

https://www.eetimes.com/what-the-dram-crunch-teaches-us-about-system-design/
30•giuliomagnifico•1d ago•2 comments

Laws of UX

https://lawsofux.com/
184•bobbiechen•8h ago•30 comments

An open-source stethoscope that costs between $2.5 and $5 to produce

https://github.com/GliaX/Stethoscope
199•0x54MUR41•11h ago•78 comments

Gooseworks (YC W23) Is Hiring a Founding Growth Engineer

https://www.ycombinator.com/companies/gooseworks/jobs/ztgY6bD-founding-growth-engineer
1•shivsak•3h ago

Ramp's Sheets AI Exfiltrates Financials

https://www.promptarmor.com/resources/ramps-sheets-ai-exfiltrates-financials
103•takira•8h ago•34 comments

Consequences of passing too few register parameters to a C function

https://devblogs.microsoft.com/oldnewthing/20260427-00/?p=112271
8•aragonite•1d ago•1 comments

Be Alexandra Elbakyan

https://nitter.space/MushtaqBilalPhD/status/2049057344013881523#m
96•DanielleMolloy•3h ago•8 comments

We need a federation of forges

https://blog.tangled.org/federation/
519•icy•11h ago•327 comments

The Lingua Franca of LaTeX (2019)

https://increment.com/open-source/the-lingua-franca-of-latex/
13•ripe•1d ago•3 comments

Kyoto cherry blossoms now bloom earlier than at any point in 1,200 years

https://jivx.com/kyoto-bloom
240•momentmaker•6h ago•69 comments

Online age verification is the hill to die on

https://x.com/GlennMeder/status/2049088498163216560
749•Cider9986•9h ago•471 comments

How to Build the Future: Demis Hassabis [video]

https://www.youtube.com/watch?v=JNyuX1zoOgU
87•sandslash•11h ago•46 comments

Postgres's lateral joins allow for quite the good eDSL

https://bensimms.moe/postgres-lateral-makes-quite-a-good-dsl/
56•nitros•2d ago•6 comments

Ghostty is leaving GitHub

https://mitchellh.com/writing/ghostty-leaving-github
3348•WadeGrimridge•1d ago•997 comments

What can we gain by losing infinity?

https://www.quantamagazine.org/what-can-we-gain-by-losing-infinity-20260429/
14•Tomte•10h ago•20 comments

Claude.ai Down Again?

7•zh_code•28m ago•13 comments

Virtualisation on Apple Silicon Macs is different

https://eclecticlight.co/2026/04/29/virtualisation-on-apple-silicon-macs-is-different/
72•zdw•8h ago•21 comments

GitHub – DOS 1.0: Transcription of Tim Paterson's DOS Printouts

https://github.com/DOS-History/Paterson-Listings
126•s2l•14h ago•6 comments

Maryland becomes first state to ban surveillance pricing in grocery stores

https://www.theguardian.com/technology/2026/apr/29/maryland-grocery-stores-ban-surveillance-pricing
259•01-_-•8h ago•178 comments

At Protocol: Building the Social Internet

https://atproto.com/
69•resiros•9h ago•34 comments