back
40 comments
Over the years many people have hypothesized that once WASM was really mature, it would become practical to fix the issues with web browser layout by sending down custom layout machines to users.

I would find it hilarious if LaTeX turned into a leader in that space. I doubt it could hold on to that. There's a lot of things that something designed from the beginning for web-like uses could probably improve on that would be capable of overcoming LaTeX. But I could see a world where it carves out a niche and holds on to that niche for a long period of time.

I added DVI support to NCSA Mosaic back in 1993-94, believing it to be a better format for "rich" documents than HTML or PDF.

Nobody else seemed convinced :(

The problem with DVI is twofold:

First, font support is purely by reference which means that you need some way of connecting the fonts used in the document with the DVI file. Use of the wrong font could produce some spectacularly bad output.

Second, graphical support, other than rectangular boxes is only handled through the xxx opcode which never had any standardized meaning (although I tried). This limitation also applied to colors. Really, it was only with the final victory of PDF as the universal document format that these limitations were finally ameliorated.

I would never advocate for DVI today.

In 1993/94 ? It was a much stronger candidate, and given that any DVI (including images) could be rendered into PDF (or whatever), its supposed technical limitations at that time were not of much significance.

Html back then had the same limitations.
Not really. <img> was a first-class tag if not from the beginning, pretty early on and the same with color.
pretty sure I remember reading about this with excitement and wonder ...
Running layout in WASM is already practical. A good demo is https://www.nicbarker.com/clay

The things you can't do are things like expose an accessibility tree (without a dummy DOM), interact with the system IME, and access system fonts.

I feel like it's fair to say that you have not "fixed the issues with browser layout" if you lose accessibility and input. System fonts I can live without, we can push our own, but those two things are a big deal.

Even input you might be able to hack around but accessibility is a big deal and the "hack" at that point is nearly to both lay it out in the browser and the supposed "fixed" layout system, and while that may work in some sense I again have lots of questions about whether that is really "fixed".

Nowadays I imagine OCR and vllms would solve that? Tesseract is incredibly fast and accurate.
Accessibility is not just about getting text out. It's about the navigation flow, integration into various OS features, Aria attributes in HTML and what they do. Plus you may not count this as "accessibility" but things like integrating fully with multi-lingual text entry methods.

It's solvable, except for what isn't solvable because the browser doesn't expose it, which can be solved by fixing that too. But it's a lot more work than meets the eye. And building the layout engine is hard enough in the first place. Give me a week and an AI budget and I'll produce you some sort of layout engine that works when fed exactly the sorts of inputs I anticipated, but to build something that survives contact with the real world is going to be well beyond something you just prompt your way around today.

I mean, I agree it's not fixed. I guess I'm just saying it's not the layout engine that's the blocker.

FWIW, I actually think it would be much more valuable just to fix the spec and make CSS layout fast-by-default.

This page starts flickering madly when I pinch-to-zoom. Until a11y details like this are figured out, I don’t think this should be considered for general use beyond a cool prototype.
Hard to imagine anything worse than LaTeX for web layout. Imagine resizing a page and waiting for the re-compilation of the whole page.
That's part of the reason I'd find it so funny, yes.

The reason why I consider it a possibility is that LaTeX has two things out of the gate: The technical capability, and a small but arguably rabid user base. It's the sort of thing that can take an early lead but is quite unlikely to sustain it.

But you can't deny that LaTeX has had incredible staying power, despite the list of issues that everyone who uses it has with it.

There's also PDF/PostScript as a format, but it's also made for fixed/absolute/print layouts. HTML/CSS (and I suppose related tech like XAML) were the only technologies where responsiveness was first priority.

Now if only the browser conglomerates can disrupt Pantone too...

I use LaTeX daily and hate it with a passion. I kinda lost all hope when ArXiv decided to do the HTML support by hacking a LaTeX to HTML conversion.

We already have a very powerful layouting engine: the web browser. The only missing piece is printing/pagination, for which there was some CSS Paged Media progress, but that stalled.

However, why the hell are we even doing paged media? For screen viewing it's strictly worse, and very few people print papers anymore. And even for those HTML pages print passably enough.

Citations. Until we can cite specific passages in HTML as quickly, easily and readably as we can cite pages in paged media, HTML will remain a second class citizen for serious scholarship.
Sections, anchors, url text fragments.

In many fields citing a page is also quite rare.

Yes, I'm aware. The problem with anchors is that the author has to take care to make them both unique and human-readable across the whole document. The problem with URL text fragments is that they generally become too long to be a citation. Both need quality-of-life improvements in the tooling before academics will consider using them.

For example, it's pretty easy to use CSS counters to create as many automatically incrementing counters as you need. Page number, section number, theorem number, etc. But (a) you can't do this in raw HTML, which means you can't rely on this working in any user agent that has poor support for CSS; and (b) you can't refer to the values of those counters outside of CSS. Thus, there's no way for you, as an author, to write the write the equivalent of LaTeX's "See Theorem~\ref{thm:foo}" in HTML and rely on having it auto-numbered and rendered correctly wherever your readers are. So the number has to already be there as text in the HTML, and you need a separate, document-unique id attribute coordinated with the number to use for linking. This means you need a separate compilation step to produce the HTML, so you've lost pretty much the only advantage that HTML had over LaTeX.

But fundamentally, the problem is that citation practices assume that the reading format is controlled by the author/publisher, so that all readers are looking at a common view of the document, whereas the Web assumes that the reading format is controlled by the user agent, and user agents vary widely. Thus, on the Web, you need formatting-independent citation practices, which have not yet evolved, or at least not become widely used, because it's too hard compared to page-based media, which have been working for centuries.

I immediately received the following error :|

This is pdfTeX, Version 3.14159265-2.6-1.40.21 (SwiftLaTeX PDFTeX 0.3.0) (preloaded format=swiftlatexpdftex) I can't find the format file `swiftlatexpdftex.fmt'!

Likewise for XeTeX

Same.
Is this related to web2js[1], which has been around for a while? It compiles the pascal code of TeX to wasm.

It looks like the live demo is no longer up, but it did run latex in the browser and render the dvi output to html. The wasm for TeX is about 495kb / 88kb compressed, but the memory image for LaTeX was a bit larger.

[1]: https://github.com/kisonecat/web2js

https://www.swiftlatex.com/editor.html for the wysiwyg editor says "We are working hard to fix the editor." It has said this for many years. I think I tried it once when it was live and it was pretty cool. My guess is people observed it could corrupt documents, so it was taken down.
Add LuaLaTeX and you're cookin' with gas. For real would be fantastic if we could get more or less the full LaTeX ecosystem readily and rapidly available online and in a huge variety of desktop applications.
I'm looking forward to run Lua inside Latex inside Javascript inside Firefox inside my Android ART virtual machine.
I’m really glad the main AI chatbot apps and sites support latex rendering. I tuned my system prompts to get the bots to explain their high level reasoning in equations for me to read if they think it will convey more nuance or dimensionality than casting down to English.
Please no. LaTeX and its ecosystem needs to be put out to pasture.
Is anyone else where familiar with MathML[1] and tried using it place of LaTeX?

Obviously not a replacement for all usecase of the above package (like rendering existing documents), but I use mostly for rendering math here and there in my own notes, I prefer it as I can render math without any dependencies, some examples here [2].

That said I'm my own user and mostly view it the same browser, but I've heard there are inconsistencies in rendering in different browsers.

[1] https://developer.mozilla.org/en-US/docs/Web/MathML

[2] https://akst.io/notes/?app=unsw.3202.07#uc-widget-0-title-13

> LaTeX Engines in Browsers

This is hillarious. Browsers lost the ability to print some 10 years ago. Today, printing a web page is an exercise in masochism.

I am very curious how the output will look like.

I really hope it can get LuaTeX support at some point, and SVG output added back in (although it hasn't been updated in two years, so it might be up to me). I have a project where this would solve a big problem if it had both of those. TikZJax might solve it better but it also doesn't support LuaTeX either and it feels like a bigger ask.
I might be interested in running this offline too. Every time I try to do anything with LaTeX it pulls gigabytes of stuff but it's somehow still not batteries-included. I'm assuming this distribution is a bit more curated and out-of-the-box.
Here is also one based on the tectonic latex engine: https://github.com/nl5887/tectonic-wasm
> Due to the way Bibtex works, you may need to compile at least three times to see correct reference numbers in the PDF.

I'm not sure I understand why the second or third compile would work, but not the first.

This talk contains a really good explanation of this problem (and also discussion around how it's solved in Typst) https://www.youtube.com/watch?v=yWWVhbyOWWE
There are Latex documents whose output keeps changing no matter how many times you run Latex on them: https://tex.stackexchange.com/questions/30674/document-requi...
It is not 3 compiles of the same code after another, but e.g. latex, bibtex, latex, with each step creating part of the final output. I imagine latex like part of multi-pass compiler, so calling latex once is like running only one stage of the compiler. Latexmk (https://www.ctan.org/pkg/latexmk) solves this problem more elegantly by knowing how often each tool and in what order is required.
In latex, I have to compile once so that it can find out the references it needs, then bibtex so that it extracts the actual references, compile a second time to get the references into the paper and then a third time because a ton of things shift around and now it knows all the figure/page numbers etc.
Pretty funny that there is both an installation and that its not cross platform. What is the point of web assembly again?
Why is there no npm registry package?