I'm searching a solution to write equations other than (but compatible with) latex. While latex is excellent for math rendering, it is not suited to describe the structure or meaning of the equations.

I'm thinking about this since the beginning of my thesis (both in chemistry and physics with a lot of maths). I experienced a lot of frustration using latex with which I have to rewrite again and again the same equation that I cannot manipulate programmatically. I do not find a satisfactory framework that would have the following properties:

  • Easy to write and read
  • Encode the mathematical content (is that thing a function, variable, vector, operator?)
  • Can be used programmatically (through sympy or lualatex for example)
  • Self consistent (1 formula contain all you have to know about it)
  • Can be labeled with many contextual tags

My final goals are to:

  • Quickly write equations while writing working notes
  • Store them for later reuse
  • Classify and store well known formulas (in math and physics)
  • Classify and index equations according to their structure, the type of equation they solve, the kind of problem people
  • tag equation according to the purpose I am using them punctually (approximation, relation, equation of motion, description of the hamiltonian, ...)
  • Render (through latex) equations according to the mathematical conventions (e.g. different type setting for constant, function, real, vector, etc.)
  • Select a mathematical structure then choose only the symbols.

I guess these issues are shared (at least partly) by many people. I know, this is a quite complex question... But I think mathematical software already have this kind of features. I do not expect definitive answers, but I'm seeking informations about:

  • Others experiences on that topics
  • Beginning of solutions (or the way you would personally approach the problem)
  • Markdown language well suited for math typing (as more information is injected in each equation, the typing synthax seem to be very important)
  • Promising (openSource) projects on that topic and pitfall I should try to avoid while working on that (quite broad) problem.
  • $\begingroup$ Have you looked at w3.org/Math? It meets some, though not all, of your requirements. $\endgroup$
    – msh210
    Commented Apr 19, 2015 at 6:20
  • $\begingroup$ Most of my professors have gotten familiar with macros so equations arent usually a problem. But i know how you feel having to type the same thing over and over... $\endgroup$
    – Triatticus
    Commented Apr 19, 2015 at 6:23
  • $\begingroup$ This is also quite interesting... collection and classification of proof. proofwiki.org/wiki/Main_Page $\endgroup$
    – jvtrudel
    Commented Apr 19, 2015 at 14:42
  • $\begingroup$ @jvtrudel: Regarding the abstract-algebra tag, I do not understand why your question refers to algebraic structures (especially monoids, groups, rings, fields, etc.). It appears to be more concerned with the structure of formulae. $\endgroup$ Commented Apr 19, 2015 at 22:23
  • $\begingroup$ Maybe I should change this tag and I surely should change the title. It would also be a good idea to clean-up my question which contain too many ideas. I realized afterward, that I am not interested at in typing or rendering equations. But in there "semantic description" and algebraic manipulation. OpenMath and mathML that has been pointed out are closely related to the web semantic initiatives. It look similar for me to abstract algebra (maybe I am wrong) and people seem to work on algebraic approach of web semantic $\endgroup$
    – jvtrudel
    Commented Apr 19, 2015 at 22:45

1 Answer 1


I think what you want is too ambitious and results from a somewhat naive view of mathematical formulae as self-contained structures. In fact almost all mathematical formulae have a lot of implicit dependence on each other, on context and on conventions. If one were to make all those dependencies explicit, the resulting structure would be quite complicated indeed, which would almost certainly go against your desire to be able to quickly write formulae. In fact I think one might compare the situation with that of (open source) software packages which have to establish dependences very carefully to make sure that one component will always have the proper functioning (meaning) while still being able manipulate many components fairly easily.

This being said, take a look at OpenMath, which is a long standing project with some ambitions common to what you describe.

  • $\begingroup$ I totally agree with you Marc, it is maybe too ambitious. But I do not accept it as a valid criticism. My goal is not exactly to quickly write equations. $\endgroup$
    – jvtrudel
    Commented Apr 19, 2015 at 13:13
  • $\begingroup$ Sorry, I have the bad habit to entangle issues... Being able to quickly write equations is important in the sense of the human/machine communication, see [a quick reflexion on that topic in french ](github.com/jvtrudel/crystals/issues/1) . When you work on maths or physics, it needs a lot of concentration and XML based syntax are certainly useful for tagging and structuration purpose, but not to interactively manipulate equations while staying focused on you problem (which is not to find out how to write equation). $\endgroup$
    – jvtrudel
    Commented Apr 19, 2015 at 14:18

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .