Skip to content

Consider supporting an alternative to AsciiMath #32

Open
@davidfarmer

Description

@davidfarmer

In a previous issue was written:

I'm currently studying markup languages that can serve as a viable alternative to LaTeX in the academic document preparation space.

Let me describe some thoughts about this.

First, there is no existing viable alternative. But I think it is possible to invent one,
which I started doing a couple years ago. I had a student working on a project,
which started out as a way to convert AsciiMath to LaTeX. (There exists such a
converter, but it does not output LaTeX in a form a human would write.) After
working for a while, we decided to rethink the AsciiMath syntax and create a
new (but similar-looking) math markup language. We got pretty far, but then the
student graduated and I have not actively worked on that project (but I continue
to think about it and intend to return to it).

I named the project "Space Math" and started sketching a retro 1950's logo.
The name comes from the critical role that the space character plays. As
mentioned elsewhere, you can disambiguate function application and implied
multiplication: f(x) means function application because there is no space
between the f and the (x).

We also found the need to introduce some Python-like syntax for expressions
that naturally take up multiple lines. The markup is intended to be human
readable and human writable, for example:

abs(x) = cases:
    x if x >= 0
   -x if x < 0

Note also the abs keyword. This is preferable to |.| because out of context
the meaning of |A| is ambiguous. The use of multiple lines was considered a
deal-breaker for AsciiMath, but for me it is a deal-breaker that there is no good
way to write the above construction, or multiline equations or derivations,
in AsciiMath.

I don't claim that we totally figured out everything, but we definitely were on the
right track and were able to handle a lot of things that didn't work well in
AsciiMath.

I can dig up my old material if you think this is worth considering.

I should also mention that my use case for this was the PreTeXt authoring system,
a project in which I am actively involved: https://pretextbook.org .

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions