Extension:Math/Roadmap

Introduction
The Math extension (or, more broadly, the rendering of the tag) has a long history. It has been modified by a number of different people with different goals, different ideas, and different and programming styles, using different underlying technologies. As a result, the extension's current implementation is more a grown than a well-designed or -documented structure.

An overview of what can currently be done with this extension is found at the English Wikipedia's documentation.

The aim of this page is to co-ordinate the development activities concerning this extension.

Wanted features
See also Making Math Searchable in Wikipedia
 * MathML support
 * Specification of the subset of commands that are allowed "MediaWiki uses a subset of AMS-LaTeX markup, a superset of LaTeX markup which is in turn a superset of TeX markup, for mathematical formulae"
 * Automatic testing
 * Security stategie
 * Links to formula (in the current development version $parser->nextLinkID is used to generate an anchor id, which is not human readable. The problem is that the same TeX string can occur more than once in page.) see Extension:MathSearch
 * Automatic numbering of equations (bug 5600)
 * To be able to install without having to apt-get/make texvc etc.

Current activities
Currently the following changesets are open: https://gerrit.wikimedia.org/r/#/q/status:open+project:mediawiki/extensions/Math,n,z

Next steps
The next step is to collect problems with MathML rendering with Firefox on this page. Note that you use custom CSS to change the default font or even switch back to SVG: https://www.mediawiki.org/wiki/Extension:Math#CSS_for_the_MathML_with_SVG_fallback_mode


 * In displaystyle the symbol $$\displaystyle \iiiint_A$$ does not look like the other integral symbols ($$\displaystyle \oint_A \int_A \iint_A \iiint_A$$). --Christian1985 (talk) 17:06, 29 October 2014 (UTC)
 * Task 1: Figure out how this realtes to Mathjax bug 116--Physikerwelt (talk) 17:58, 29 October 2014 (UTC)
 * Which font-family are you using? That works well for me with Latin Modern Math.
 * Yes it works well with the font Latin Modern Math. I tested it with Cambria.--Christian1985 (talk) 20:44, 29 October 2014 (UTC)
 * The MathVariants table is missing an entry for the QUADRUPLE INTEGRAL OPERATOR U+2A0C. I reported this to Microsoft Frédéric Wang (talk) 09:05, 31 October 2014 (UTC)


 * I think it would be nice when big symbols like integrals $$\int_A$$ in body text will be displayed in textstyle $$\textstyle \int_A$$. --Christian1985 (talk) 17:06, 29 October 2014 (UTC)
 * I'm not sure if that's a question specific to MathML in Firefox. By default, all formulas are in "inline displaystyle". However, we introduced the two new more classical modes. See http://math-preview.wmflabs.org/wiki/Displaystyle. Frédéric Wang (talk) 08:03, 31 October 2014 (UTC)
 * Perhaps this question should be discussed in another place. I got accustomed by MathJax to small formulas in running text.--Christian1985 (talk) 14:36, 31 October 2014 (UTC)


 * Brackets around big symbols like Integrals should be greater. Today it looks like: $$\left( \int_A \right)$$; code: --Christian1985 (talk) 17:14, 29 October 2014 (UTC)
 * I checked how this is rendered whith LaTeXML. However it produces the same problem. This indicates that it might be a Firefox issue. can you comment on that? --Physikerwelt (talk) 17:58, 29 October 2014 (UTC)
 * This seems to be a bug in Gecko.
 * Reported as https://bugzilla.mozilla.org/show_bug.cgi?id=1092053 Frédéric Wang (talk) 08:00, 31 October 2014 (UTC)


 * The code  should be rendered correctly. Today it looks like: $$\overline{A}^T$$.--Christian1985 (talk) 18:05, 29 October 2014 (UTC)
 * The input is valid. Texvccheck transforms it to  which renderes correctly as $${\overline  {A}}^{T}$$
 * Task 1: check what texvcjs does with the input.--Physikerwelt (talk) 17:58, 29 October 2014 (UTC)


 * The symbol $$\lim_{x\to {x_0}\atop x\in I}$$ does not look very nice. The distance between $$\lim$$ and $$x \to x_0$$ is too small.--Christian1985 (talk) 18:05, 29 October 2014 (UTC)
 * This is a major problem, and should be resolved before I'd propose to make MathML standard for Firefox users. It might be a MathJax bug so I reported it as bug 948 --Physikerwelt (talk) 18:27, 29 October 2014 (UTC)
 * I'm not sure why an is generated by MathJax here.
 * With the font Latin Modern Math the $$0$$ below the $$\lim$$ is too big.--Christian1985 (talk) 20:44, 29 October 2014 (UTC)


 * The symbol $$\bigoplus$$ (\bigoplus) is compared to $$\sum$$ very small.--Christian1985 (talk) 18:16, 29 October 2014 (UTC)
 * Question: How large should the symbol be? Should they be the same size. LaTeXML adds the attribute mathsize="1.5em" to the mo element that contains the &oplus; but does not add the same attribute to &sum; ... however that seems to be a hack. If LaTeXML rendering is considered as correct, I could contact the LaTeXML developers how and why this was done. --Physikerwelt (talk) 18:38, 29 October 2014 (UTC)
 * I think it should be a little bit smaller then the symbol $$\sum$$. In the skript the symbol has the correct height.--Christian1985 (talk) 18:47, 29 October 2014 (UTC)
 * Which font-family are you using? That works well for me with Latin Modern Math.
 * Where can I see my currently used font and where can I change the font?--Christian1985 (talk) 19:19, 29 October 2014 (UTC)
 * In Firefox DOM inspector select one formula (using the "select one page element" button) and more precisely a "math" element. On the right panel, there is a tab "Fonts" that indicates the font currently used. You can also try http://fred-wang.github.io/MathFonts/ and https://addons.mozilla.org/en-US/firefox/addon/mathml-font-settings/.
 * You can also install http://www.gust.org.pl/projects/e-foundry/lm-math and add "math { font-family: Latin Modern Math; }" to your custom CSS.
 * I'm using the font Cambria. I will now try to install the Latin Modern Math. --Christian1985 (talk) 20:31, 29 October 2014 (UTC)
 * Yes it works well with the font Latin Modern Math.--Christian1985 (talk) 20:44, 29 October 2014 (UTC)
 * U+2A01 N-ARY CIRCLED PLUS OPERATOR seems to be in the MathVariants table of Cambria Math, so that might be a bug in Gecko.


 * Follows after formula a comma, then the distance between formula and comma is too big. Example: $$\omega$$, --Christian1985 (talk) 19:19, 29 October 2014 (UTC)
 * This is because there is a space in the code generated by MediaWiki: ,
 * Reported as https://bugzilla.wikimedia.org/show_bug.cgi?id=72806 Frédéric Wang (talk) 09:19, 31 October 2014 (UTC)


 * The Integral $$\int_{\R^n}$$ looks not very well. I think the Space between the Integral and $$\R$$ is too small.--Christian1985 (talk) 20:21, 31 October 2014 (UTC)


 * Sometimes I get an Error like the following:
 * Fehler beim Parsen (MathML mit SVG- oder PNG-Rückgriff (empfohlen für moderne Browser und Barrierefreiheitswerkzeuge): Ungültige Antwort („ Fehler beim Abruf der URL: Empty reply from server “) von Server „http://mathoid.svc.eqiad.wmnet:10042“:): H^i(E.,D_.)
 * (Can I generate the Error Message in English by certain settings?) But if I click on edit and then on preview, I don't get an error. After that I go back to read mode, the error is back. If a reload the page after some hours, then the error is gone. For example I got the Error on the page de:Hodge-Zerlegung and same days ago on the page de:Hauptachsentransformation.--Christian1985 (talk) 20:49, 31 October 2014 (UTC)


 * In the Symbol $$\frac{\partial g}{\partial \overline{f(z)}}(f(z_0))$$ from de:Wirtinger-Kalkül the bar over f(z) is slipped in the "fraction line".--Christian1985 (talk) 22:22, 31 October 2014 (UTC)


 * Double sub- oder superscripts: in $${a^c}^b$$ or $${a_c}_b$$ the b should be in a smaller font than the c. Applies to mixed cases as well. --Quartl (talk) 12:02, 1 November 2014 (UTC)


 * Primes: in $$v'$$ or $$v''$$ the primes are too high. --Quartl (talk) 12:02, 1 November 2014 (UTC)


 * Vector arrows: in $$\vec{v}$$ the vector arrow is (slightly) too large. --Quartl (talk) 12:02, 1 November 2014 (UTC)


 * Centering: in $$\| f \|_w = \sqrt{ \langle f,f \rangle_w}$$ the first f is not centered within the brackets.


 * Square root: in $$\sqrt{\frac{1}{2}}$$ the square root sign extends too far below and the vinculum is not aligned (similar to the one above). Also in $$\sqrt{\tfrac{1}{2}}$$. --Quartl (talk) 12:02, 1 November 2014 (UTC)
 * I think this is a problem with the Cambria font. With the Latin Modern Math font the square root has the right height.--Christian1985 (talk) 15:36, 1 November 2014 (UTC)


 * Unary minus: in $$(3,-5)$$ the minus should be closer to the number. --Quartl (talk) 12:28, 1 November 2014 (UTC)


 * Operators: in $$\dim V = \dim \mathrm{ker}(f) + \dim \mathrm{im}(f)$$ there should be spaces between dim and ker or dim and im. Similarly $$\sin \cos x$$. --Quartl (talk) 12:28, 1 November 2014 (UTC)

Feature Requests

 * 3840 Looks for high math images printing. The only thoughts I have here are to switch form dvipng to dvisvg and use svg images which would look better at all scales and hopefully would print better. Related 15777
 * 5856, 10186 and 6722 are related to mhchem package. Users seem to be very interested in this.  Perhaps this should looked into.
 * 20902 request to install chemarr
 * 12223 Desperately needed and long overdue inline math tags. Probably would only make sense if base line issue is sorted out.  Should we use a slightly smaller font for inline math?  Not done in latex but may look nice on the web.
 * 28258 It would be nice to have some commutative diagram packages. xy-pic may be a good option.
 * 31546 Make error messages for Math use wikitext (Nobody assigned... Maybe target release 2.1)
 * 36063 Math settings provided by MathJax should be a part of user preferences. (Nobody assigned... Maybe target release 2.2)

Visual Appearance Issues
For a list of all bugs see
 * 15777 I have to agree this looks fairly bad. Curious if switching to dvisvg would straighten this out.
 * 38722

Localization

 * 2458 In TeX/LaTeX terms, this is about the babel package.

Abandoned changes
A list of abandoned changes. If anybody want to work on them the can be restored:
 * https://gerrit.wikimedia.org/r/#/c/129974/
 * https://gerrit.wikimedia.org/r/#/c/130828/
 * https://gerrit.wikimedia.org/r/#/c/4060/
 * https://gerrit.wikimedia.org/r/#/c/64523/