Hacker News new | past | comments | ask | show | jobs | submit login
AsciiMath – An easy-to-write markup language for mathematics (asciimath.org)
364 points by mintplant on Mar 26, 2017 | hide | past | web | favorite | 111 comments



To everyone who says "why do we need this when we have LaTeX?" I ask the question "why do we need Markdown when we have HTML?"

The nice thing about Markdown is that it's quite legible in its source form, which makes it less distracting to edit. Same deal with AsciiMath and LaTeX: AsciiMath is more legible in its source form which means that it has lower overhead during editing.

One of these is more legible than the other:

  (f'(x^2+y^2)^2)/(g'(x^2+y^2)^2)
  \frac{f'\left(x^2+y^2\right)}{g'\left(x^2+y^2\right)^2}
In my experience, most people who learn LaTeX don't do so until sometime around the middle or end of their undergrad career (certainly in Physics--maybe mathematicians learn it sooner). Earlier than that, people struggle with junk like the Microsoft equation editor. No big deal?


I would say that markdown for informal writing is fine and I like Markdown for many thing BUT if I need formatting LaTeX is a better tool. I have always waited for a new system but its hard to replace what works (With some cursing and banging on the desktop). Writing Math equations there is almost always a need for formatting within the document.

To me a math equation is just another plot. I love making quick plots but when it is my name on the document I want to be able to control every line and space.

I really like Scribble a Racket made document language is certainly the way to go but it will take a while to get broader usage. https://docs.racket-lang.org/scribble/

EDIT----

Math Library - http://docs.racket-lang.org/scribble-math/

What Scribble does really well is you write your document and it is a one line change to change the output. It can output to MathJax or LaTeX or Markdown or PDF etc....


Not a fan of markdown myself at least for comment boxes. Everything that uses markdown as input (which seems to be hacker news comments too) ignores a single newline as a single newline, giving you different output than what you see in the box you type it in, which is very bad for intuitive web comment boxes.

Lots of people make that mistake, making a nice listing with newlines in between but them it becomes an ugly single line.

BBcode from forums in the past worked better for comments.


I don't understand why they mess with newlines, what's the reason?


Somebody argued to me that it is to support editing like source code where you want a line length limit like 80 characters.

That is a very specific thing for source code editors. But bad for comment boxes. So I don't understand the popularity of markdown for comment boxes.

IMHO markdown should have done the opposite, make listening to all your newlines the default, and if you want to make it ignore a newline, end the line with a backslash or something like that.


I like MS equation editor.

I think it does a pretty great job at being a WYSIWYG editor.


The typesetting of MS equation editor is awful though. The spacing, fonts, font sizing etc all look wrong to me. LaTeX just looks beautiful.

https://image.slidesharecdn.com/latexseminar-130324215215-ph...


TL;DR: Actual output on Word 2010: http://hypftier.de/temp/2017-03-27_090308.png

That output is from the ancient equation editor (MathType Lite, effectively). It used a user-defined font (usuallly Times New Roman), so had no idea about what and where to kern. Output from Word 2007 onwards is significantly better as since then math typesetting is native to Word instead of an OLE object from another application. Also they have their own font (which I find okay for math but ugly for body text), which uses an OpenType table to define math-relevant spacing and kerning factors.

The syntax is something between ASCIImath and LaTeX and IMHO quite readable and way more writable than the latter. The syntax is also described in a Unicode Technical Note (http://unicode.org/notes/tn28/), so there's no reason it couldn't be used elsewhere, either.

What has been typed in Word (mostly; as it included cursor movement to get out of inner expressions again; thus can't be pasted right now):

    \iiint_G [u\nabla^2 v+(\nabla u,\nabla v)]\dd^3 V =\oiint_S (u \partial v/\partial n +v \partial u/\partial n)\dd^2 A
This results in this monstrosity when converted back to linear format (which can be pasted):

    ∭_G〖[u∇^2 v+(∇u,∇v)] ⅆ^3 V〗=∯_S〖(u ∂v/∂n+v ∂u/∂n) ⅆ^2 A〗
Although the following still works just as well (spacing can eliminate the explicit \begin and \end brackets):

    ∭_G[u∇^2 v+(∇u,∇v)] ⅆ^3 V =∯_S(u ∂v/∂n+v ∂u/∂n) ⅆ^2 A
It just seems to me that many people still decrying the old equation editor haven't used or seen Word in a decade. There was a time when publishers still enforced MathType since that's what their Word publishing toolchains were built around for math for over a decade, but I think that has passed by now as well.


I used to think it was about as good as could be expected for a graphical editor (which meant it was rubbish). And then I found LyX which was infinitely better. That was years ago and MS might have caught up by now.

And yet, despite how much I like LyX, I keep using real LaTeX instead -- especially when there is complex maths. That's because the ability to create macros in maths eventually outweighs everything else readability-wise.

And I'm afraid the same logic applies to AsciiMath. Is there some equivalent to

    \newcommand[1]{vr}{\mathbf{r_#1}}
Or am I just going to have to use somethng `bb"r"_1` for every instance? That's a lot less readable than `\vr1`.


I find TeXmac's equation editor to be an even faster WYSIWIG UI than LyX's.

For example, a λ is just 'l'+tab.

Simarly, you can cycle through other symbols. For b: b->β->

Sadly, TeXmacs hasn't gotten as much love as it deserves: I find it way better than jupyter at producing notebooks/papers that involve math, interactive code, and prose.


TeXmacs hasn't gotten as much love as it deserves...

Ouch, no Ubuntu package since Vivid? The screenshots look OK... is this worth building from source?


LyX actually has support for math macros, or is that support just not ergonomic for you? Not certain what the best way would be to support macros in a graphical math editor.


Never noticed them.

I mean you can always use evil-red-text. But then what is the point LyX?


My father opted to write his maths textbook with MS equation editor. There's always a strong need for tools that aren't just for the technically minded (or HN-reading) audience.


I wonder if it's gotten better since 2002-2004, which is when I used it a lot.

I'd be curious to hear what you think about the equation editor in Desmos[1] (full disclosure, my employer).

We use an open source WYSIWYG typesetting library called MathQuill[2]. The keystrokes you use are very similar to AsciiMath, but the result is direct editing of the typeset math. E.g. you type '_' to move into a subscript, '^' to move into a superscript, '/' to create a fraction, 'sqrt' to create a radical, etc.

I believe that I can edit much faster with this interface than with Microsoft Equation Editor, and that it's approximately similar difficulty to learn. But I'm biased.

[1] https://www.desmos.com/calculator

[2] http://mathquill.com/


> I wonder if it's gotten better since 2002-2004, which is when I used it a lot.

MS equation editor? It's got so much better! The version released when office 2007 came out allows a latex like syntax when writing equations. - still don't use it myself because that would require using ms office which was still broken in other ways when i last used it (2010).


Desmos is decent IME (am an u/g, so I've used it occasionally); I don't think I ever had serious issues with typesetting (backspacing between sub and superscripts is occasionally awkward, iirc), but navigating the site and using advanced features was always troublesome. I had to fallback to Googling for a specific Desmos calculator a lot.


I've used mathquill. Thanks so so much for open-sourcing it.

I think I remember MS being better in some edge cases. OTOH, I haven't used it in so long maybe that speaks for itself.


It was open source before we started using it, but we're friends with the creators, so I can pass on the compliment.


Actually it's funny you say that your employer is Desmos. My friends and I use Desmos for all of our graphing assignments and let's say that it has saved us a lot of trouble!


I tried using MS equation editor when we were supposed to type our proofs in undergrad. Without fail it would crash or start to lag horribly half way through. It seemed to be tied to the number of equations in a document. That's what finally pushed me into learning LaTeX.


i am studying CS an we had to use it (not learn it ;) ) in the 3rd semester to hand in reports in their special format. I first thought this is stupid, but later when i needed it (my math proseminar, CS proseminar then now (or next semester) my bachelor-thesis), i could already do simple things. So in hindsight it was a good move from my university.

But i was always a bit disappointed, because i had to try hard to keep my source readable. LATEX really clutters your enumerations, equations etc with way to much syntax. I always thought about writing a simple Markdown-with special math mode (similar to AsciiMath)-to-LATEX compiler.


If you were to remove your \left and \right commands, which are unnecessary in the example, there would be very little difference in legibility between the two examples.


Since there are superscripts in the parentheses they would appear at a different height, wouldn't they?


I don't know about other math departments, but most of the students and professors I knew during my math degree knew LaTeX.

From my cursory glance over the page, this isn't much simpler than LaTeX and it mostly just reduces a number of backslashes. It doesn't save me much time when typesetting equations. Nowadays, I mostly type LaTeX for MathJax or Jupyter notebook. Adding asciimath to Jupyter seems to be on the backlog[0], and it's dependent on CommonMark coming up with an extension system.

0: https://github.com/jupyter/notebook/issues/1918


Notice the subtlety. The first example on the site is:

sum_(i=1)^n i^3=((n(n+1))/2)^2

To render this in LateX as it is shown would be

\sum_{i = 0}^n i^3 = \bigg( \frac{n(n+1)}{2} \bigg)^2

No fracts, just "/", no parenthesis enlarging with "\bigg", no slashes or brackets.

Looks pretty nice :-)


One may use \left( and \right) to get automatically-sized brackets.


What's more, you can use a package like \usepackage{physics} which includes several convenience macros like \qty( [...] ) as a shorthand to \left( [...] \right). To go yet another step further, define something like \newcommand{\p}{\qty} to shorten the notation to simply dropping a \p before your delimiters to autosize them.


None of those things are difficult. And don't say 'no slashes or brackets'. Swapping `\sum_{..}` for `sum_(..)` isn't reducing the number of brackets, and in fact I find the top harder to read as it has more of just one type of bracket.


>None of those things are difficult.

But all of these things distract from the main task.

And you also have to learn LaTeX, which many might not care for.


Well if your work involves typing equations it's implied that you understand LaTeX.


If you work involves rare occasions of having to type equations, it doesn't.


Nobody's work involves that.


Looks like it does some more parsing than LaTeX; in the example you don't need to type \frac and \left(\right).


But to produce high-quality renderings of mathematical formulas, you need this fine-grained level of control. Not all fractions should use "\frac", sometimes "\tfrac" (which produces a vertically smaller fraction) or even an in-line "/" are more appropriate.

Similarly, "\left(" and "\right)" sometimes result in parentheses whose size don't reflect stress and emphasis. In those cases, it's good to have "\bigl(" and friends available.

LaTeX has several flaws. But it's also astonishingly good, making it extremely hard for a competitor to catch on. We're kind of locked in to LaTeX.


Also, AMS LaTeX, by its nature, allows you to write custom macros to shorten the particular notation(s) you happen to use most. A lot of these comparisons fail to note that important fact about the use of the tool.


AsciiMath has one large benefit over Latex: It fits how you would write math in an email.

AsciiMath is perfect for users who do not know Latex (or code for that matter) but needs to use mathematical notation on a daily basis.

I applaud that AsciiMath has resurfaced. I've used it in combination with Katex a cuple of times with great results.


Hmm, in all my correspondence with engineers and mathematicians, we just paste or write latex directly in the email.

Knowledge of latex is assumed, and honestly I (and my colleagues) are able to parse thus natively.


Which is, in a nutshell, why it's important for a formal language to be easy to read and write, and why eliminating overly verbose notation matters. It's not just for computers...


In this respect I think AsciiMath doesn't go far enough, precisely because of the Ascii part. Especially for super- and subscripts, why not use the corresponding Unicode characters?

At least on my keyboard, "x^2" is one keystroke more than "x²", and the latter is much more redable.


AsciiMath optimises for ease of use in both reading and writing. Fewer people know how to write x² than x^2, yet virtually everyone will read them equivalently. That's not true for n/2 versus \frac{n}{2}.


Isn't x^2 typed <x><^><space><2>, while x² is the same minus the <space>, on most keyboards?


Not in US standard keyboards, no. You're using an international keyboard layout with dead keys.


I've never knowingly seen a keyboard that would allow you to type ² at all. So, no.


On my Linux Mint 18 KDE system, ² can be typeset by typing AltGr-2 (I can get ½ by pressing AltGr-5). I am using an Italian keyboard, but I bet this works with US keyboards as well.

Recently I used Windows 10 quite a bit, and the number of AltGr combinations available on Linux has been the thing I missed the most!


I wouldn't want to make that bet, considering a US keyboard has no AltGr key.

It might work with a US keyboard as long as your computer was configured for an Italian keyboard, though. https://en.wikipedia.org/wiki/AltGr_key suggests that from the keyboard's perspective, AltGr and right Alt are the same thing. Really, no keyboard allows any character -- they just send key codes (and modifier codes), and it's on your software to interpret those. But typing ² is not part of the normal, expected functioning of a US keyboard.

Edit: it occurs to me that perhaps I should gloss "it's on your software to interpret those" as "it is the responsibility of your software to interpret those".


You're right, US keyboards do not support AltGr! I have always used european keyboards and every one of them supports AltGr, so I assumed that US keyboards did the same.

Just for testing, I installed a few new keyboards on my KDE desktop, and I can confirm that French, German, Spanish, and Greek keyboards have support for AltGr combinations to get superscripts/fractions/other characters.

I've never required that a keyboard could allow any character. However, this is indeed possible today, as Shift+Ctrl+u+HexNumber allows to quickly insert any Unicode character. (This works under Xfce and KDE, and probably other DEs.)

Nevertheless, I think that a 100-and-more-keys keyboard should support a subset of the most useful ones. I am a physicist and an Italian, so having quick keyboard combinations for exponents, fractions, and the euro sign € is extremely handy for my everyday activities.


I think what you are looking for is the us international keyboard layout, which has support for altgr combinations


The AltGr key is one of the three things I hate about EU keyboards, because it removes the right Alt key, along with the ability to use you right hand to type shortcuts such as alt-ctrl-arrows or alt-ctrl-<some letter on the right side of the keyboard>.

The other abominations on those keyboards are the shorter left Shift key and the vertical Enter, both of which put two of the most used keys one position further away from home row.


No. I've never seen a keyboard do this.


Every german keyboard can do this. And a quick (non-exhaustive) google image search shows that many other keyboard layouts support it, e.g. french, turkish and portuguese (brazil but not portugal)


same, even when it adds nothing, for example I wrote \alpha in an email recently.


Now if only email had autocomplete like the Juno IDE does...

http://junolab.org/ (scroll down)


If you want email to have autocomplete, then it does. 'Email' isn't a client. The client you choose to use is. Write your emails in vim -> now you have autocomplete.


But does vim have a top class email plugin that allows powerful research, editing, sending and receiving emails?

Because Emacs does. Choose smart, choose Emacs.

(this comment is written half in jest)

https://www.djcbsoftware.nl/code/mu/mu4e.html


No. The way to write your emails in vim is to use an email client that lets you open the text in an editor of your choice. E.g. mutt, or a webclient combined with an add on that let's your open textarea in an external editor (vimperator or its all text).

P.s. emacs sounds like a great OS - are there any add ons that allow one to open its textareas in a decent editor? :p


Well no, because vim isn't an email client. It is a text editor, and good email clients can use it to edit emails.


Eh.. there should be plugins for that.


This is about a decade old before MathJax and back when its predecessor, jsMath, was still pretty new. It was targeting students the most, not those who use latex professionally. I used it to create TidlyWiki notebooks for my students and it was something they actually did!

The goal was also about being translated into MathML. LaTeX is not necessarily concerned with mathematical sense while MathML (sometimes) is. I think this was also a motivation.

And, quite frankly, replacing \frac{a}{b} with a/b is a huge win for ease of writing basic math.


MathJax integrated asciimath long time ago: http://docs.mathjax.org/en/latest/asciimath.html


The site has no date information, but says "currently this only works in Firefox 3+ and Safari 5.1+", so this goes back many years.


The original native AsciiMath script was limited in support, but AsciiMath via MathJax has wide browser support. We maintain the original script still, but most people use AsciiMath through MathJax.


I'm curious who the audience is for this. If it's people who actually care about maths, then this doesn't have any real value, because they already know LaTeX and will most likely appreciate the higher precision that offers (I personally fall in that category). If it's people who normally don't really need to write mathematics, then for the few times they need to, LaTeX might still make more sense due to convenient quickly-googled online LaTeX creators like https://www.codecogs.com/latex/eqneditor.php

If there's a demographic between those two groups, then I might simply have a blind spot, but... whose problem does this solve, and what is that problem? Because just saying "LaTeX is too much effort", the immediate counter-question is "for whom, exactly?" because it won't be people who already use LaTeX, or need reliable maths typesetting on a daily basis, and it probably isn't for people who need to use maths maybe a handful of times a year. So who's left, and what problem do they have where asciimath makes life easier?


As someone who would "need" this only once or twice every few years at best. I vastly prefer the idea of using this. I will likely never care about nitty gritty typesetting details. Getting things to "remotely legible" is more than enough for me.


One audience: undergrad students. They are familiar with calculator notation but not Tex. Particularly for simple algebraic expressions, AsciiMath is very similar to infix.


People who write emails.


Despite knowing LaTeX, this is much more intuitive for me when communicating in plaintext. It just matches how I'd write it anyway. In an email I'd always use 1/2 or (f(x+h)-f(x))/h over their LaTeX alternatives.

If, however, the goal is to more easily edit LaTeX -- especially for folks who are less confident with LaTeX -- I suspect WYSIWYG is frequently a better option. MathQuill (mathquill.com), for example, is a fantastic open-source WISYWIG editor for LaTeX.

Disclosure: we use MathQuill heavily at desmos.com, where I work, and have contributed to its development.


It's probably worth somebody investigating a more short-hand notation for this kind of task. However, I feel compelled to say that I've never found the syntax which is commonly used to typeset equations with LaTeX to be all that complicated. When I was first learning it, I remember repeatedly thinking to myself, "This is it? This really isn't so bad!" Furthermore, the thing I like about LaTeX is that the syntax is very extensible. You can easily add more directives or macros and there are really only a few syntactic constructs that you can use to represent them. If I'm not mistaken, AsciiMath's approach requires that more specialized syntax would be needed when adding more features.


This is pretty nice and intuitive! What is odd is how you don't need spaces between string identifiers

intintint does the same as int int int, 3 integrals

del becomes a del symbol, delt becomes a del symbol plus a t, delta becomes a delta symbol

rhoint: will it become rh + oint (circular integral), or rho + int? It happens to become rho + int here, but does it specify that in its specification?

deltau: will it become del + tau, or delta + u? it happens to become delta + u here. Opposite of the rhoint case about where it chose to make both things a rendered symbol

So it's inconsistent parsing rules, simply requiring spaces between textual identifiers would make it more logical :)

Also, what is now => and lArr could make more sense as ==> and <==. Also sad that <- or <-- doesn't work for left arrow.


What about this is so much different than LaTeX? It seems to have the same basic syntax but the commands don't start with a backslash. Also the symbol list seems severely limited.


After using MathJax to render LaTex on my website I switched to KaTeX and saw a dramatic decrease in load times. I hope that asciiMath doesn't also suffer from the same speed issues from MathJax.

https://github.com/Khan/KaTeX


That's nice, but we are in 2017. It may be better to support unicode. I mean I prefer to write things like:

∀α,β ∈ ℝ², √ϕ=αβ, ...

∃ a⃗ + b⃗ ≥ ...

What I think is needed are generic 2d composition diacritics for unicode, to have text above/below/to the upper left/UR/LL/LR angle -- I mean, some more generic version to write things like Ψ̂⁹⁻¹=Ψ⁸, ρ₁₂ with composition characters instead of the dedicated numbers, or letters.

I don't like LaTeX because I want WYSIWYG, which is what unicode is for. Even in the body of an email. Even in a reply on YN.


The COMBINING RIGHT ARROW ABOVE combination on that second line rendered both the letter and the arrow as two separate squares, on macOS, in fully-updated Chrome.

It maybe 2017, but this doesn't quite work yet. Not to mention how it falls apart as soon as I want some _clever_ typesetting. Don't get me wrong: I think we can do better than TeX, and in a lot of cases common characters like e.g. Greek characters might be fine, but, uh, we aren't there yet.


Well, there already is something like that: UTN #28 (http://unicode.org/notes/tn28/).


Great find, thank you!!

I hope the combining diacritics will not be relegated too far off the BMP.


I don't know how you would type those characters though, other than auto complete from the TeX commands?


Yeah, TeX name autocomplete or better yet free unicode description search triggered by \ is the obvious direction. (think github emoji search, like how :ship also offers :anchor: and :package:)

https://kasperpeulen.github.io/PressAndHold/Unicode/ was a novel attempt. [source: https://github.com/kasperpeulen/PressAndHold] The trick is you long-press any letter, e.g. press Shift+A and don't release => you get a popup offering 𝐴 ∀ 𝒜 𝔄 (use arrors & Enter to select) Long-pressing letters is amusingly unnatural, I have to make a conscious effor :-)

Apropos unicode notations, that demo was made for https://github.com/kasperpeulen/CoffeeTeX, a unicode AsciiMath-inspired notation.


Yeah, the original design philosophy of AsciiMath was to make that input symbol something in ASCII that looks kind of like the desired symbol. The idea of supporting Unicode as an alternative is reasonable idea and probably one we should look at (feel free to make a pull request).


I see unicode as both an alternative rendering for text based devices, and an alternative input (because on my keyboard, the right Alt key followed by a gives me α, which is faster than typing alpha)


A couple of ideas:

- Keyboard shortcuts, like for diacritics on european keyboards.

- On screen keyboard, like for phones and tablets.

But entry is not the important part - rendering is.


> But entry is not the important part - rendering is.

If that was true, TeX already has us covered.


TeX does not render in my email, in hacker news, in reddit, in ascii files (that I edit with leafpad or vim or anything else depending on my needs)


One of my earlier programming experience was writing a more expressive alternative to ascii math [1]. I learned later that this was also the first compiler that I ever write. It fixes some of the shortcomings of asciiMath, like you should never have to resort to latex like syntax, you can enter Unicode characters directly, and it has a nice mapping to MathML.

1: https://runarberg.github.io/ascii2mathml/


AsciiMath is more readable than Latex for just about everyone except perhaps professional mathematicians. Simplicity versus power.


This looks nice, with a much more legible syntax than LaTeX. I'd love to use this, e.g., on my blog. The reasons why I won't:

- No server-side rendering. I don't want to burden my reader's browser with Javascript. (With MathJax, you can do it server-side, I explained how here: https://a3nm.net/blog/selfhost_mathjax.html)

- The project looks dead: https://github.com/asciimath/asciimathml/pulse/monthly


The project isn't exactly dead (I'm one of the maintainers). The direct-to-MathML version is somewhat dead, but the AsciiMath syntax rendered via MathJax is still widely used. The syntax is pretty mature at over 10 years old, hence the lack of commit activity.


Thanks for explaining this! I wasn't implying at all that the project was not being used. I understand that the syntax may be mature, but the lack of commit activity does not explain why there are still so many pending issues in the repository. :)


Not that this and Latex aren't great, but I wonder if there is a more outside the box solution. APL can represent mathematics very well using Iverson Notation as the design and it is executable to boot. I haven't spent a ton of time with it, so I'm not sure if I could read complex equations as easily with it or not once suitably trained. Other benfits of APL's notation is no order of operations and all you need is the character set which is really easy to deal with I would guess. If it hasn't become popular after 1/2 century, perhaps there really is something to the critical mass of our current notation.


Anyone remember eqn?

https://en.wikipedia.org/wiki/Eqn

I've enjoyed the part of this interview with Linda Cherry, one of its creators, talking about it in comparison with Tex (incorrectly transcribed as "tech").

http://www.princeton.edu/~hos/mike/transcripts/cherry.htm


Thank you! I've been wanting to do this for a while for myself after becoming fed up with the verbosity of LaTex. My strategy has been a little different in that I've been working on plugging into equations using a Pandoc filter.

Instead of rolling my own or hacking into SymPy, I'll use asciimath.


Don't even have to make it, it looks like a Pandoc filter exists already https://github.com/Kerl13/AsciiMath


Same here! It's been on my to-do list but I haven't gotten around to solving it in a robust manner (tried regexes just for kicks and they failed like I expected)...


I would love to have the opposite, get the code from writing maths as it is printed. Has that been made?


It has been tried several times with different approaches. I mentioned some of them in my bachelor's thesis "Multimodal mathematical formula editing for web services": http://matracas.org/tacto/index.html.en

As part of that work I implemented part of the DRACULAE formula layout analysis algorithm and improved on it to allow certain disambiguations when parsing the formula: the result encoding is not presentational like LaTeX but semantical like the ones used in Computer Algebra Systems. That makes thing much more complicated and I only implemented simple notations like super/subscripts and fractions. Still, it might give you an idea of how it can be done.You can play with it here: http://matracas.org/tacto/test.html

Speech synthesis using the HTML5 audio API (reads aloud the formula you write) worked in several browsers including Chrome at the time, but nowadays it seems to work only in Firefox.

You might combine the handwritten symbol recognition of detexify, mentioned in a sibling comment, with this layout analysis to have full handwritten recognition of formulas but it's not straightforward.

Some time ago there was a story in HN about someone else's PhD thesis that went much further ahead: "SESHAT: Handwritten math expression parser" https://news.ycombinator.com/item?id=12388407 This one is closer to what you want.


The best tool I've found for that is grapher.app which is still shipped with Macs. It has an interactive editor and the option to copy out latex.


Do you mean something like Detexify?


That only works for individual glyphs. I guess they meant something like the Math Input Panel where you can draw an entire expression and paste it into other applications.


I actually wrote a little compiler that converts AsciiMath to LaTeX for a course in school.

Hooked up the executable to an Automator service so I could highlight some AsciiMath text and replace it with LaTeX from the right-click menu. Much faster for writing math notes in LaTeX!

If anyone's interested, the project's at https://github.com/studouglas/AsciiMathToLatex. Haven't touched it since I made it, so don't judge too hard :p


What are the benefits of this over just using latex with mathjax?


It's a little bit easier to read in raw notation such as in Github readme.md documents, since GH hasn't yet figured out how to incorporate Mathjax. (If I'm wrong about this, please correct me!)


This is fabulous. It seems crazy to me, that some in this thread are like "meh, no big deal, LaTeX is fine".

Except, I guess it would be better if that could be compiled to LaTeX instead of rendering it directly. LaTeX is still de-facto standard, and surely there are situations when it would be more powerful. So this mid-layer still would be useful, I guess. But otherwise, I would gladly write everything I need in Markdown+AsciiMath instead of pure LaTeX.


Everything is about how we get used it to quickly though! Takes a little time to get used to latex, but this is definitely something worth trying. Especially the word syntax seems much more effective here! Thanks! The website named http://www.mathifyit.com/ helps in getting latex syntax through plain english. Seems like something I'll use!


Great. Would love to have some support for diagrams drawing.

This seem to tackle the issue that Latex equations are not very readable, which is great. A related problem is that tikz code for drawing commutative diagrams in latex is basically completely incomprehensible. Looks like this project is in a good position to start tackling that problem.


I have a projects which, in a addition to a asciimath-inspired language, have support for click-and-drag graph creation.

https://mathblocks.net

It's a work in progress (probably forever).


Comparison of ASCIIMathML, PHPMathPublisher, MathJax, KaTeX, MathTeX

http://www.intmath.com/blog/mathematics/comparison-math-web-...


In a perfect world, everything is generated from ASCII: https://github.com/sigvef/sigvehtml .


This is really neat. Your table doesn't mention that => can make a double arrow, even though it does. Also it would be nice for the dx in integrals to be \mathrm{d}x.


As someone who doesn't have a math background, and doesn't know latex. This is very handy as a teaching and learning tool.


This is great. It would make an awesome addition to Markdown. Does parsing conflict with the use of backticks in Markdown?


To all the commenters pointing out the people that talk about LaTeX, you are getting a part of the criticism wrong. It's not: "Why this when we already have LaTeX?", but a "Why this when LaTeX does it better?".

I wouldn't mind for an easier way to introduce mathematics, but just from the example given, I can see right away that the typography in AsciiMath is not good.

Just look at the space (or lack of it) around the inner parenthesis for instance.


At my kid's school, some children used Latex for their maths. Surely, adults can grok Latex too.




Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact

Search: