[HN Gopher] The fastest math typesetting library for the web
       ___________________________________________________________________
        
       The fastest math typesetting library for the web
        
       Author : jayhoon
       Score  : 196 points
       Date   : 2023-04-16 11:12 UTC (11 hours ago)
        
 (HTM) web link (katex.org)
 (TXT) w3m dump (katex.org)
        
       | keithalewis wrote:
       | MathJax got a tune-up. It is much faster now
        
       | kerkeslager wrote:
       | Is there a way to get this as just a single JS file, so I don't
       | have to use node?
       | 
       | I can probably figure it out but if anyone already knows how it
       | would save me some time.
       | 
       | EDIT: Figured it out: https://unpkg.com/katex
        
         | Timon3 wrote:
         | They have a wonderful section on just this in their
         | installation guide:
         | https://katex.org/docs/browser.html#download--host-things-yo...
        
           | kerkeslager wrote:
           | Ah, nice. I'm glad to see it's an officially-supported way of
           | doing things.
        
       | giraj wrote:
       | The speed of KaTeX is great, but the lack of support for diagrams
       | (a la tikz-cd) is what makes KaTeX unsuitable for general
       | adoption by mathematicians (e.g., mathoverflow.net and all online
       | mathematical wikis I know use MathJax). KaTeX has some
       | rudimentary support for diagrams though the {CD} environment, but
       | something more fully fledged akin to tizk-cd or xymatrix is
       | needed. There's been some discussion on their github
       | (https://github.com/KaTeX/KaTeX/issues/219), but I wouldn't hold
       | my breath.
        
         | xeonmc wrote:
         | Wait, MathJax supports tikz?
        
           | bmacho wrote:
           | AsciiMath has AsciiSvg:
           | http://www1.chapman.edu/~jipsen/svg/asciisvgeditor.html
           | (Well, no, rather the other way around, but sister projects.)
        
       | moffkalast wrote:
       | It may be fastest to render, but with that syntax I sure doubt
       | it's fastest to write. It's barely human readable.
        
         | CrazyStat wrote:
         | It's standard LaTeX syntax. Almost everyone who writes a lot of
         | math already knows it.
        
           | eviks wrote:
           | That excludes the vast majority of future users who will have
           | to waste a lot of time learning it As well as current casual
           | users
        
             | dhosek wrote:
             | I would be really surprised to hear of a single undergrad
             | math major hitting 300-level math without learning at least
             | the basics of LaTeX syntax. For better or worse, TeX is to
             | math what SQL is to databases. It might be old and have
             | some serious challenges surrounding it, but it's managed to
             | remain better than anything that's tried to dethrone it. I
             | can remember how mysterious all the backslashes looked when
             | I first started working with TeX in 1986, but they quickly
             | disappear into the background.
        
           | moffkalast wrote:
           | Ah yes why make something good when you can make it standard
           | instead and force everyone bang their heads against the wall.
        
             | CrazyStat wrote:
             | Is there another math typesetting language that you prefer?
        
             | wiseowise wrote:
             | You surely have a better standard written out somewhere,
             | right?
        
               | moffkalast wrote:
               | Sure thing, a quick search yields Asciimath which seems
               | at least at first glance as huge improvement in the
               | syntax department: http://asciimath.org
               | 
               | As for LaTeX in general, Markdown beats it soundly in
               | most aspects.
        
               | todd8 wrote:
               | In my experience, LaTeX has the advantage of being able
               | to handle even very complex documents and books. LaTeX
               | can be challenging to master, but in return it can
               | produce amazing results. See some of the references
               | below. In particular take a look at [4] (it's a 1200 page
               | LaTeX document) and consider if it could be written in
               | Markdown and Asciimath. The hundreds of graphics
               | appearing in [4] are also produced by LaTeX--the document
               | is the manual for pgf/TikZ a popular graphic package that
               | is itself a set of LaTeX macros.
               | 
               | [1] https://uva-fnwi.github.io/LaTeX/week2/maths2/
               | 
               | [2]
               | https://en.wikibooks.org/wiki/LaTeX/Advanced_Mathematics
               | 
               | [3] https://tex.stackexchange.com/questions/397453/what-
               | are-all-...
               | 
               | [4] https://pgf-tikz.github.io/pgf/pgfmanual.pdf
        
               | moffkalast wrote:
               | In my experience of writing my BSc thesis in it, it's an
               | absolute trainwreck to work with, especially with
               | Overleaf. Takes forever to compile, won't ever give you a
               | single useful error message, as for Tikz I'd much rather
               | make a proper svg in literally anything else and then
               | import it.
               | 
               | One can also produce amazing results programming in
               | assembly, but I sure as fuck ain't doing that for
               | anything I actually need to get done.
        
               | teo_zero wrote:
               | Honestly, I don't see any difference in difficulty
               | between LaTeX's syntax and Asciimath's one. The former
               | has more backslashes and curly braces where the latter
               | uses spaces and parens.
               | 
               | I personally find LaTeX easier to read because I
               | immediately recognize that a curly brace is not part of
               | the formula but just of its representation, while with
               | Asciimath I'm left to guess if a parenthesis was put just
               | to group a subexpression or if it carries a mathematical
               | meaning. For example:                 \frac{abc}{def}
               | 
               | It's clearly "abc" over "def".
               | (abc)/(def)
               | 
               | Is the numerator "abc" or "(abc)"? Parentheses often do
               | matter: does the following describe a derivative of order
               | 2n or a power?                 f^(2n)
        
               | xeonmc wrote:
               | My favorite part of AsciiMath is the concise matrix
               | syntax and also just using quotes to write normal words:
               | (-1)^n = {             [  1         ,  n " even"  ],
               | [ -1         ,  n " odd"   ],             [ cosn+isinn ,
               | "otherwise" ]         :}              R(theta) = (
               | [ costheta , -sintheta ] ,           [ sintheta ,
               | costheta ]          )
               | 
               | It makes typing simple equations very simple, and if it
               | gets complicated I could always write more
               | explicitly/fall back to latex syntax which it parses as
               | well.
               | 
               | It's kinda similar to the philosophy of Markdown -- make
               | simple things easy and allow an escape hatch for when you
               | need to be unambiguous.
        
               | runarberg wrote:
               | Hey, shameless plug. I actually wrote a language derived
               | from AsciiMath trying to fix some of these. I use spaces
               | heavily to derive intentions meaning you can write stuff
               | like:                   abc / def         f^ 2n
               | 
               | even matrices are straight forward:                   [a,
               | b, c          d, e, f]
               | 
               | https://runarberg.github.io/mathup/
        
               | moffkalast wrote:
               | Well\believe\it\or\not,\people\usually\read\text\separate
               | d\by spaces\rather\than\backslashes. Wouldn't it make
               | sense to carry that over into a programming and markup
               | languages as well? There's no point in redefining
               | something so ubiquitous unless you have a damn good
               | reason for it, or you're just inflating the learning
               | curve. That goes for all language rules.
        
             | ssivark wrote:
             | It's about the same as typing out code when programming
             | :shrug:
             | 
             | That said, if you have a concrete proposal for a slicker
             | alternative, I'm sure lots of folks would be curious.
        
         | humean_being wrote:
         | Its pretty much lingua franca for type setting mathematical
         | formula. In my experience most math graduates already know it
         | from typesetting their own work for assessment submission or
         | publication.
        
           | bmacho wrote:
           | It _is_ the lingua franca for type setting mathematical
           | formula. It doesn 't make it good. ASCIImath is easier to
           | write, and easier to read in plain text, for example in
           | e-mails (/reddit/HN/fb/discord/whatever people use).
           | 
           | MathJax for example eats ASCIImath, I don't know if KaTeX can
           | do that.
        
       | universemaster wrote:
       | I am using temml for MathML. MUCH smaller output than katex:
       | https://temml.org/
        
       | chinaman425 wrote:
       | [dead]
        
       | nomemory wrote:
       | It is fast, I was previously using mathjax, and for a significant
       | document I had to wait for a few seconds until the formulas were
       | parsed and rendered. For the same document with katex, everything
       | happens in less than a second.
        
       | garbagecoder wrote:
       | I am working on a project that needs to put latex in a browser.
       | We are currently trying out different libraries, but so far Katex
       | does seem the fastest.
        
       | thangalin wrote:
       | A while ago I optimized KeenType, which is a Java-based fork of
       | NTS that can convert TeX commands into SVG images:
       | 
       | https://github.com/DaveJarvis/keentype
       | 
       | The following tutorial shows the real-time rendering speed of
       | KeenType within my text editor, KeenWrite:
       | 
       | https://youtu.be/vgyYXwwF_lc?list=PLB-WIt1cZYLm1MMx2FBG9KWzP...
       | 
       | KeenWrite can produce web pages from Markdown with the TeX
       | commands included as either as plain TeX macros (usable by
       | JavaScript TeX renderers) or as pre-rendered SVG elements (no
       | JavaScript required).
        
       | runarberg wrote:
       | This is a bold claim. In theory any library that defers rendering
       | to MathML should be faster (including my own MathUp
       | https://runarberg.github.io/mathup/). Has anyone run benchmarks
       | to test this claim?
        
       | the__alchemist wrote:
       | Nice! I hadn't heard of this. I have a plainly coded blog that
       | uses math notation. MathJax was previously the speed limfac. I
       | replaced the mathjax script with the ones recommended on the
       | Katex installation page; drop-in replacement.
        
       | mkl wrote:
       | There have been quite a few past discussions of Katex:
       | 
       | https://news.ycombinator.com/item?id=8320439 9 years ago, 98
       | comments.
       | 
       | https://news.ycombinator.com/item?id=19475273 4 years ago, 40
       | comments.
       | 
       | https://news.ycombinator.com/item?id=24742518 3 years ago, 87
       | comments.
        
       | gwgundersen wrote:
       | I really like Katex. I used to use MathJax for my blog, but the
       | page reflow was annoying. Now I use Katex with server-side
       | rendering, and even pages with a lot of math load quickly and
       | without reflow.
        
         | ihodes wrote:
         | Greg's blog is a great example of Katex in the wild:
         | http://gregorygundersen.com/
        
       | rosebay wrote:
       | Katex is truly great. Fun trivia facts - one of its developers
       | also played a core role in React (she is a legend)
        
       | vrglvrglvrgl wrote:
       | [dead]
        
       | MontyCarloHall wrote:
       | This is amazing. Probably the final nail in the coffin of MathML;
       | what's the point of a non-human readable intermediary language
       | that other higher-level languages get compiled to, that only
       | works in certain browsers (and with browser-dependent
       | rendering/implementation), when you can instead write directly in
       | LaTeX and have KaTeX work identically everywhere?
        
         | mkl wrote:
         | MathML is not just for presentation. It encodes a lot of
         | semantic information that Latex leaves out, and that
         | information can be useful for accessibility, computer algebra
         | system interoperability, etc. That said, I don't think it's
         | used much for those things. I had really high hopes for MathML
         | when it was first announced, but the poor browser support and
         | consequential lack of use has been really disappointing.
        
           | edflsafoiewq wrote:
           | Marking up the semantic structure of all your mathematical
           | formulas is about as likely as marking up the parse tree and
           | parts of speech for all your regular prose sentences.
           | Presentational MathML is the only thing that matters;
           | Semantic MathML is W3C semantic web wank.
        
             | breck wrote:
             | That's put bluntly but well.
             | 
             | I understand the parent's sentiment though. Every few years
             | when I need to use Tex for something it always take me a
             | second to remember that it is not a computer algebra
             | system, just a rendering engine hyper focused on rendering
             | 2D math notation that predates web rendering engines by
             | about two decades. For some reason it surprises me that CSS
             | did not grow to eat the publication rendering use case. I
             | get that Tex has solved that problem quite well, but it
             | seems like the sheer number of people who used CSS would
             | mean that those capabilities would be ported to the
             | language. But no, didn't happen. So we still have the two
             | rendering languages.
        
             | mkl wrote:
             | The idea is the MathML is generated by a computer algebra
             | system or similar which has all that data, not manually.
        
               | Kwpolska wrote:
               | What if you do not have any computer algebra system in
               | your pipeline? LaTeX can be written and read by actual
               | humans, MathML cannot.
        
               | throwaway290 wrote:
               | You can use latex to author mathml, like we everywhere
               | use markdown to author HTML.
        
               | Kwpolska wrote:
               | The first hit in Google for "latex mathml converter" is
               | https://temml.org/ . The list of supported LaTeX
               | constructs looks fine, but the output... The example
               | LaTeX converts to 67 lines of MathML. The vectors (arrows
               | above B, l, E) are built like this:
               | <mover>           <mi>B</mi>           <mo
               | stretchy="false" style="transform:scale(0.75)
               | translate(10%, 30%);">-</mo>         </mover>
               | 
               | But the hat above n is:                   <mover>
               | <mi>n</mi>           <mo stretchy="false" style="math-
               | style:normal;math-depth:0;">^</mo>         </mover>
               | 
               | Markdown is great, but I can always take the HTML
               | produced by a Markdown-HTML converter and edit it by
               | hand, since HTML is human-readable and human-editable.
               | MathML is neither.
               | 
               | The output of MathML is also uglier than KaTeX's, with
               | wonky spacing. In Firefox, there's an ugly space after
               | all \d's (derivative sign). It's better in Edgium, but
               | there is still an ugly space in \d\vec{l}.
               | 
               | If I need an intermediary tooling/format for math, I'd
               | prefer beautiful LaTeX-esque output, and keep LaTeX code
               | that wold be converted by KaTeX on the fly to whatever
               | ugly HTML is required.
        
               | throwaway290 wrote:
               | Is that the canonical mathml way of expressing vectors?
               | Then yikes, I thought it's more semantic than that
        
               | hgsgm wrote:
               | LaTeX is isn't semantic, so how could MathML computed
               | from LaTEX be semantic?
        
               | Kwpolska wrote:
               | \vec{x} is quite semantic.
        
               | throwaway290 wrote:
               | I guess <mover> is semantic enough, actually? Though I
               | don't get why the engine doesn't just know to render the
               | arrow appropriately and it needs all those <mo stretchy>
               | things with inline styling.
        
               | runarberg wrote:
               | <mover> has a boolean accent attribute so I guess you can
               | write:                   <mover accent="true">
               | <mi>B</mi>           <mo>-</mo>         </mover>
        
               | IshKebab wrote:
               | What is anyone going to do with that information?
        
             | xpe wrote:
             | > Marking up the semantic structure of all your
             | mathematical formulas is about as likely as marking up the
             | parse tree and parts of speech for all your regular prose
             | sentences.
             | 
             | No. The semantics of math are simpler than English prose.
        
             | xpe wrote:
             | > Presentational MathML is the only thing that matters;
             | Semantic MathML is W3C semantic web wank.
             | 
             | No. There are situations where a semantic interpretation is
             | beneficial. A simple example is '(x + y) / z'. The best
             | rendering (inline or full line) depends on the context.
             | 
             | People can discuss the tradeoffs without exaggerations and
             | calling names. Let's try.
        
             | gwern wrote:
             | > as likely as marking up the parse tree and parts of
             | speech for all your regular prose sentences
             | 
             | That sounds completely doable with modern NLP like GPT-4.
             | Maybe we should start doing more design experiments with
             | how one could exploit such semantics? There's no reason to
             | think that syntax-free writing ought to be ideal, any more
             | than space-free and punctuation-free writing was the ideal
             | form of writing which could not be improved...
        
               | edflsafoiewq wrote:
               | Yes it does, so there's no reason to mark it up. The
               | failure of the semantic web was trying to lower human
               | text to the level the machine could operate on it. The
               | success of LLMs is to raise the machine to level it can
               | operate on ordinary human text.
        
         | camdenreslink wrote:
         | KaTeX is really old (like 9 or 10 years?). So if it was going
         | to kill MathML, it probably already did it.
        
           | diarrhea wrote:
           | I'm TeX parlance, that makes it an infant.
        
           | IshKebab wrote:
           | MathML was never alive to be killed. It's MathML that might
           | kill Katex (with Chrome's recently improved support), not the
           | other way around.
        
         | Georgelemental wrote:
         | MathML is faster to render. KaTex is a lot faster than MathJax
         | but the difference remains noticeable. (Firefox extension to
         | force native MathML rendering: https://addons.mozilla.org/en-
         | US/firefox/addon/native-mathml...)
        
           | g8oz wrote:
           | Igalia is doing amazing work shipping native MathML support
           | for Chromium based browsers.
           | 
           | https://www.igalia.com/2023/01/10/Igalia-Brings-MathML-
           | Back-...
        
           | esperent wrote:
           | You can pre-build katex, or render server side.
        
             | xigoi wrote:
             | That's better, but it generates a lot of markup, causing
             | the sites to be very heavy (several megabytes). I know this
             | because I'm using pre-rendered KaTeX to write my school
             | notes, see for example:
             | https://kmlinux.fjfi.cvut.cz/~blazead5/school/difr/ Notice
             | that the page takes a while to load, even though it's
             | mostly text.
        
               | esperent wrote:
               | It loaded in about 3s for me, on Android.
        
               | xigoi wrote:
               | Well, it depends on your connection speed and whether
               | your browser supports gzip compression (which hopefully
               | most browsers should at this point).
        
         | tannhaeuser wrote:
         | MathML support in Chrome has been greatly enhanced just in
         | January [1].
         | 
         | I don't have strong opinions, but I guess the advantage over
         | TeX is, as always, that MathML is much better integrated with
         | the web stack and markup such that you can target math formulas
         | using CSS, that it has much better accessibility,
         | internationalization, and search, that you can use JS/DOM
         | access with MathML for educational and science presentation
         | apps, etc.
         | 
         | It's not like TeX is uncontroversially better (eg Turing
         | completeness, terse, lacking editor support, print-oriented,
         | purely presentational, ...)
         | 
         | [1]: https://mathml.igalia.com/news/2023/01/10/mathml-in-
         | chromium...
         | 
         | Edit: arguably MathML is excessive as well but at least its
         | XMLism such as insistence on enclosing every operand in tags as
         | the primary source of bloat and incomprehensibility in
         | presentational math can be somewhat mitigated using SGML, as
         | was already suggested with MathML's precursor in 1995 or so [2]
         | for high school math and/or custom math fragments.
         | 
         | [2]: https://www.w3.org/MarkUp/html3/maths.html
        
         | RyEgswuCsn wrote:
         | I am not that familiar with MathML, but I can imagine
         | programmatically manipulate math expressions with MathML; can
         | TeX math expressions be manipulated in the same way?
        
           | [deleted]
        
         | simplotek wrote:
         | I believe MathML is still the only way to get proper math
         | typesetting in epub, and I doubt katex is an option.
        
           | mkl wrote:
           | Katex supports ahead-of-time server-side rendering which just
           | generates HTML, so it may indeed be an option.
        
           | auggierose wrote:
           | Unfortunately MathML doesn't get you proper typesetting in
           | epubs, so it has that in common with katex.
        
             | simplotek wrote:
             | > Unfortunately MathML doesn't get you proper typesetting
             | in epubs (...)
             | 
             | Wrong. MathML is a part of the Epub3 specification. All
             | e-reader implementations that comply with the epub3 specs
             | get you proper typesetting in books published in epub3
             | format.
        
               | auggierose wrote:
               | I guess it is you that is living in a dream world. There
               | are no epub3 compliant implementations then, because none
               | of them display math properly. If they were compliant,
               | they would also run KaTeX just fine, because Javascript
               | and HTML are part of the standard, too.
        
               | simplotek wrote:
               | > I guess it is you that is living in a dream world.
               | There are no epub3 compliant implementations then,
               | because none of them display math properly.
               | 
               | To start off, you already have posts in this very
               | discussion rejecting your misconception.
               | 
               | Secondly, mathml works fine when we have an epub3 reader
               | opening a epub3 doc created by epub3 generators from
               | epub3+mathml input. If any of those requirements aren't
               | met, you get issues. This happens with each and every
               | single typesetting feature, not just mathml. Would you
               | claim that epub fails to support tables if you open an
               | epub doc with broken tables?
               | 
               | Thirdly, a typical implementation shortcut taken by epub
               | readers is to reuse whatever WebView they pick. If your
               | epub reader uses an outdated or shitty WebView
               | implementation, you get shitty epub docs.
               | 
               | https://caniuse.com/?search=mathml
               | 
               | Why are you commenting on subjects you are clearly
               | clueless about?
        
               | auggierose wrote:
               | I think I will indeed refrain from commenting in the
               | future, as conversing with people as knowledgeable as you
               | are is becoming a chore.
        
               | [deleted]
        
             | Georgelemental wrote:
             | It does if your EPUB reader supports it--which most don't,
             | but a few do! I am partial to http://koreader.rocks/
        
               | auggierose wrote:
               | I have tried out a few readers, none I tried so far
               | support it in satisfying quality comparable to what katex
               | would deliver. Maybe koreader is an exception, but I
               | doubt it. Will give it a try at some point.
        
               | simplotek wrote:
               | > (...) comparable to what katex would deliver.
               | 
               | You're comparing real world working implementations based
               | on mathml with your hopeful expectations of how you wish
               | katex could work in an epub implementation.
               | 
               | It's good to have hopes and dreams and a positive
               | outlook, but your perceived solution does not exist. It's
               | hardly relevant to present it as a better alternative.
        
               | auggierose wrote:
               | I have no need for real-world implementations that do not
               | work as well as I need them to work. KaTeX is proof that
               | math can be displayed properly in a browser-like
               | environment. Anything less will not do it, at least for
               | me. That's why I have exclusively PDFs in my digital
               | library, except for books that are just text, like
               | fiction.
               | 
               | No hopes and dreams needed, just use PDF. But making epub
               | work properly for math is not a problem in principle,
               | just make katex work in an epub reader, problem solved.
               | 
               | And people who are satisfied with substandard solutions
               | are actually part of the problem, not the solution.
        
               | Georgelemental wrote:
               | > just make katex work in an epub reader
               | 
               | "Just write a full JavaScript and DOM implementation for
               | your resource-constrained e-ink device"
        
               | auggierose wrote:
               | Also want to note that this is not a matter of resource
               | constraints: The implementations of MathML for (desktop)
               | browsers are just as shitty.
        
               | auggierose wrote:
               | I think you need that already if you want a compliant
               | epub reader. Javascript is part of the epub standard.
        
               | Georgelemental wrote:
               | If you need it to be pixel-perfect it will probably
               | disappoint, yes. It's good enough for the few times I
               | have made use of it. (It's also open-source, so you can
               | always contribute improvements)
        
               | auggierose wrote:
               | Never understood that need to contribute to open-source.
               | Why would I try to meddle with somebody else's messed up
               | implementation? I have enough messes of my own to clean
               | up!
        
               | hgsgm wrote:
               | Team work makes the dream work.
        
               | simplotek wrote:
               | > Team work makes the dream work.
               | 
               | Except there is no team, and people dream differently.
               | 
               | More often than not, open source creates problems for
               | developers. See Rust's Actix framework.
        
               | auggierose wrote:
               | Must be why Avenger movies are so popular.
        
         | the__alchemist wrote:
         | I don't understand MathML's intent; likely because I have a
         | different design mentality or model.
         | 
         | I like to represent things like this in 3 forms:
         | 
         | #1: Rendered notation for reading; what all these tools produce
         | for people reading the document
         | 
         | #2: A clean, well-documented API for writing. This is the
         | Latex, Mathjax, katex syntax etc, replete with backslashes.
         | 
         | #3: A representation in a computing language used to create the
         | rendered form from the API. Depends on the language, but ie
         | something like a set of structs and enums that can be
         | manipulated by a compiler.
         | 
         | MathML is none of these; it's neither readable, nor writable,
         | nor manipulable natively by a programming language.
        
           | runarberg wrote:
           | Think of MathML like SVG. It is a target language which
           | browsers understand. With SVG you can write it in hand, but
           | most likely you are gonna use a special editor (Inkscape) or
           | a library (d3).
           | 
           | With MathML you can write your equations e.g. in libreOffice
           | or pick a library like MathJax or TeXZilla.
           | 
           | In fact I wrote a library my self which compiles a AsciiMath
           | derived language to MathML, it was my first time writing a
           | compiler, and it was an absolute joy targeting MathML. The
           | mapping between DOM nodes and XML nodes is a perfect fit for
           | the web as it allows my to implement DOM as a direct target
           | (`mathup(expression).toString()` vs.
           | `mathup(expression).toDOM()` and even
           | `mathup(expression).updateDOM(parentNode)`.
           | 
           | The documentation for MathML on MDN if fine actually, good
           | enough for me to write a compiler. The structure of the
           | language is much easier to compile to than LaTeX by nature of
           | actually having a standard (as opposed to an implementation
           | which functions as a standard).
           | 
           | MathML is a unique fit for what it was intended to do, which
           | is a targeting language which browsers understand.
        
       | BrandiATMuhkuh wrote:
       | We use Katex extensively at Amy.app
       | 
       | Being able to render latex super fast is very important for us as
       | we use it for live tutoring.
       | 
       | Shameless plug: We currently offer 2 free tutoring for Fractions
       | and Calculus. Perfect to revise or even learn those topics. The
       | cool thing is, Amy will find knowledge gaps from previous
       | years/subjects as well. (No account need to try it out)
       | 
       | Fractions: https://learn.amy.app?inviteCode=f2d7h Calculus:
       | https://learn.amy.app?inviteCode=zkjus
        
         | xpe wrote:
         | If you are able to write "shameless plug:", you are probably
         | also able to _not_ write the commercial plug that came after
         | that prefix.
         | 
         | Your comment serves _you_ , not the general audience here.
         | Every action of the kind above degrades the core purpose of
         | HN.*
         | 
         | * It is not even necessary to appeal to the "if everyone did X"
         | argument.
        
       | mk12 wrote:
       | You can compare MathJax, KaTeX, and your browser's MathML support
       | with this website I made: https://mk12.github.io/web-math-demo/
        
         | Paul-Craft wrote:
         | Neat. Have you considered adding latex.js to the site?
        
           | mk12 wrote:
           | Thanks. I hadn't heard of latex.js before, but I just looked
           | it up now, and it says "Math is typeset using KaTeX."
        
         | runarberg wrote:
         | Nice. Do you accept PRs for other libraries. I wrote one myself
         | a bit ago and wouldn't mind seeing it there
        
         | xworld21 wrote:
         | Cool!
         | 
         | Would you consider adding a web font with the proper OpenType
         | features to render the MathML content? The Igalia work in
         | Chrome is quite decent when the font is good, but for now it
         | needs to be set via CSS (presumably Chrome does not feel like
         | bundling a math font just yet).
         | 
         | Some nice demos are at https://fred-
         | wang.github.io/MathFonts/mozilla_mathml_test/ (with Latin
         | Modern, the TeX Gyre's, FiraMath - other fonts are still
         | glitchy).
        
       | photochemsyn wrote:
       | This is also a great aid to learing LaTex. I wonder if anyone has
       | ever tried to make an OCR system that generates the appropriate
       | LaTex from an picture of an equation?
       | 
       | Turns out the answer is yes:
       | 
       | https://github.com/lukas-blecher/LaTeX-OCR
        
       | larodi wrote:
       | The lib behind chatGpt rendering of latex script
        
       | smohare wrote:
       | [dead]
        
       | 3rd3 wrote:
       | I wonder how does it render synchronously without needing to
       | reflow the page?
        
         | mkl wrote:
         | Server-side rendering will do that.
        
           | 3rd3 wrote:
           | So this only refers to the server-side rendering mode, not
           | in-browser rendering (which KaTeX supports too)?
        
             | mkl wrote:
             | If by "this" you mean "no reflowing", yes. If the maths is
             | laid out client-side at run time, the exact dimensions of
             | the formula are not known until the Latex code is
             | interpreted.
        
       ___________________________________________________________________
       (page generated 2023-04-16 23:01 UTC)