-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Mathjax backlog
We collect potential features. This is not a discussion area but a presentation area for review.
-
Completing the MathML implementation
- elementary math
- more mtable attributes (e.g., rowspan, colspan)
- in-table alignments
- right-to-left support
- improve annotation-xml
- improving ContentMathML support
-
Speed Improvements
- “simple” (fast but lower quality) HTML-output
- Caching APIs for local storage and mobile device storage
- Move towards “jquery of math” by implementing a “tweaked” native MathML output that works around browser implementation deficiencies.
- server-side preprocessing (TeX to MathML, MathML to SVG etc)
-
Accessibility
- Add APIs for accessibility tools (AT) to interact with MathJax rendering as if it was native MathML. This includes
- compatibility to user style sheets (used for improved readability
- interact with accessibility preferences coming from AT
- handing MathML over to AT
- embed speech-text generation from AT
- enable synchronized highlighting
- enable user navigation
- basic math-speech extension.
- collaborating with other open source solutions from Benetech or Google ChromeVox
- accessible MathJax menu
- embedding alternative source formats of math (TeX, MathML, OpenMath, computer algebra notation)
- Add APIs for accessibility tools (AT) to interact with MathJax rendering as if it was native MathML. This includes
-
Outreach activities
- Math accessibility workshop (AIM)
- MathJax community meetups -- virtual and real-life
- MathJax in education (web literacy, authoring, annotation)
- MathJax in authoring tool chains for research and publishing
-
Content Testing
- server side testing
- production environment testing
- enable MathJax outside the DOM
-
Internal Testing
- fuzz testing
- integrating MathJax testing into other testing environments
-
Interface improvements
- better interface on mobile devices
- improving copy&paste (share mechanisms, microdata, rdf, shadow dom, web components)
- improve discoverability of math on the page
- menu extensions
-
search menu (enabling math search engines such as symbolab, wolfram alpha, Springer LaTeX search etc)
-
Fonts
- Asana fonts
- DejaVu fonts
- crowdsource font-metric generation for local fonts
- find ways to make use of commercial local fonts that we can’t deliver as webfonts but which are ubiquitous
- Lucida Sans
- Apple symbol fonts
- Arial unicode
-
Output extensions
- Canvas output
- VML output for old IE
- fluid output choice (content-dependent choice, mixed output modes)
- “tweaked MathML” output
-
Input extensions
- crowd-sourcing TeX-macro extensions
- integrating XyJax (mixed), mathapedia (PStricks), graphing tools (d3.js, three.js, asciisvg), computer algebra tools (e.g. Sage Cell, R-notebooks, ipython notebooks)
-
Documentation
- building more community involvement
- good code examples, moving towards a proper SDK
- document plugin using MathJax in other systems, e.g., CMS, LMS.
-
Native browser MathML development in Gecko and WebKit
- re-enabling MathML support in Chrome / Blink
- Developing Gecko/Firefox at least on the level that allows us to keep a “tweaked” MathML output.
- Continuing WebKit implementation.
-
Outreach to other sciences
- Chemistry: chemdoodle, kitware
Collecting user stories).
Authors and Readers want to use the MathJax user interface in their native language. MathJax currently uses a number of English language strings in its UI, namely the MathJax Menu and the various messages (processing, error etc). To support global use of MathJax, a full localization of the UI allows MathJax users to flexibly decide on the locale and allows translators to contribute easily and efficiently.
Authors want to specify the UI language depending on the language of their content. Authors want to load translations they supply themselves, just like configuration options in general.
Readers want to be able to set the UI to their language of choice. Readers want to be able to copy&paste math even if they don't understand the surrounding language.
Developers want to use MathJax outside the DOM for testing. MathJax depends on the DOM and parts of its functionality does not make sense outside the DOM. We want to enable MathJax outside the DOM to the extent possible and provide APIs for servers-side javascript implementations.
Authors want to know how fast MathJax should be. Authors and Developers want to track down performance bottlenecks.
We want to be able to test speed enhancements.
Users want their AT tools to pick up MathJax-generated content just as well as regular MathML.
AT vendors want to use a robust API to seamlessly integrate with MathJax rendering. This currently includes User preference negotiation, Highlighting, Sync-Highlighting and copy & paste.
Open source solutions (like Benetech's prototype or possibly ChromeVox) want to integrate into MathJax to provide math speech text and other data for passive AT on mobile platforms.
Authors want the convenience of TeX packages in MathJax.
Authors want to easily input commutative diagrams.
Authors want easy ways to input diagrams like xypics, pstricks and tikz.
Users want documentation for writing TeX input extensions.
Authors don't want to worry about very large equations locking up the browser while rendering. Simileraly, community driven content can't afford to have a page lock up because of "vandalism" with huge MathML equations. Compare: [#425], [#409]