MathJax
mathjax.org
mathjax.org
You can scroll through https://ultimateelectronicsbook.com/systems-of-equations/ for a particularly formatting-heavy example with lots of matrix equations and augmented matrices, working through Gaussian decomposition and LU factorization examples.
Instead, for performance, I wrote a small Ruby / Jekyll plugin to do MathJax server-side rendering. It calls the mathjax-node npm package, with some caching on top because it's so slow. This outputs static HTML and CSS with a few math fonts.
The mathjax-node-sre npm package even populates aria-label fields for each equation:
<span class="mjx-math" aria-label="y left-parenthesis x right-parenthesis equals StartFraction 1 Over 1 plus x EndFraction">...</span>
If you have the option to consider server-side equation rendering, your users may thank you.I'm developing KeenWrite[0], a desktop-based text editor that provides real-time rendering of TeX. It has two TeX-related HTML export formats: SVG (no rendering for either client or server) or TeX (requires client-side rendering). Behind the scenes it uses a highly-optimized version of JMathTeX[1] that includes a custom renderer to handle translating math font glyphs into SVG paths.
I hope to see more server-side solutions. The customizability and client-side overhead (you only need to render once on the server, possibly with caching) is not something a client-side library can achieve.
In CoCalc.com I made it use Katex, but if there is an error it falls back to MathJax.
What % of Katex's rendering attempts fail over to MathJax?
https://www.intmath.com/cg5/katex-mathjax-comparison.php?pro...
Still not as fast as KaTeX though.
My android phone gets ~2700ms for KaTeX, ~3100ms for MathJax 3, ~17000ms for MathJax 2.7. There were times KaTeX and MathJax traded which I'm guessing is due to page size differences and my poor Internet connection.
https://mathml.igalia.com/news/2019/12/03/igalia-chats-with-...
It's mostly about MathML implementation in browsers, but a fair amount talks about MathJax as well and how good it is, including for accessibility.
I use them together but there is a pretty noticeable delay with tikzjax - I'm not sure of any alternatives at this point.
1: https://github.com/qubyte/qubyte-codes/blob/main/lib/render....
2: https://qubyte.codes/blog/advent-of-code-2017-day-20-task-2
/get off my lawn
Mathematica can export to Latex which is definitely preferable to embedding images into papers.
There were other diagrams and charts and graphs, but at some point, no text editor could process and render everything natively, or be fully accessible to every disability.
NSF grands are only part of the picture. Knowledge is dispersed among arxive.org papers, pdf textbooks and random blog articles with each of them doing different thing and very often this thing is just slap an image of the formula and go on.
Mathjax reminds me of the AJAX hype. What happened to it? These days no one talks about AJAX. There was material design a few years later but that was just the looks.
Is AJAX now replaced with React.js? or a combination of other stuff (like HTML5 and modern-JS and React.js and stuff)?
edit: I just looked up Angular and apparently it was rewritten in Typescript, a strict superset of JS. This doesn't make sense. JS is known for massive amounts of cruft. An improvement would've been a scripting language that compiles to "JS: the good parts", i.e., a subset of JS. But now we should have "Typescript: the good parts" because TS inherited all the bad parts of JS?
edit 2: It turns out, there is valid JS that is invalid TS [0]. And yet, TS is described on wikipedia as "a strict superset of JS" [1]. (invalid TS == non-error-free TS).
edit 3: Further confirmation about error-free TS not being a strict superset of JS [2]. Such a lie can only be expected from a company like micro$hit.
edit 5: even with-error TS is not a superset of JS (the behavior is different) [3].
edit 6: Typescript is an opinionated-yet-spineless Javascript!
[0] https://github.com/microsoft/TypeScript/issues/38546
[1] https://en.wikipedia.org/wiki/TypeScript
AJAX is just ubiquitous and it's easier to use without frameworks nowadays. React is a library that solves different problems from the frameworks that made AJAX easier like Prototype and jQuery.
React helps folk build UIs through interesting data-models and the ShadowDOM. AJAX is required by anything but the most trivial React projects to make server-side requests.
Hope that helps :)
I think your footnote [3] is a reference to an HN comment of mine. I think you should know I actually like typescript even though the "superset of JS" thing is a bit oversold.
For context, as somewhat of an outsider, I knew about Crockford 'JS: The Good Parts' and knew the community cared about working within the limits of a sane "subset" of JS.
A few years later, I hear Typescript is everywhere and JS folks love it. I didn't pay attention to what it really claims to be, but made a connection with the Crockford book, and started mentioning in discussion with acquaintances that it's a subset of JS (it must be because that's what the community wanted).
Lo and behold, one of them heard TS is a "superset", not a subset, and dissed me as a knowledgeable tech person, despite himself knowing so little that barely weeks ago he didn't know the difference between Java and Javascript.
Sorry, I'm done with this mess.