-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Mathjax backlog
pkra edited this page Sep 5, 2014
·
4 revisions
We collect potential future features. Note: This is not a discussion area but a presentation area for review.
- implement the elementary math elements (mlongdiv, mstack etc)
- MML spec
- mlongdiv example,
- longdiv extension example
- add TeX macros to match
- implement missing mtable attributes
- rowspan, colspan
- allow HTML5 foreign content
- tolerate HTML in mtext
- switch to HTML parser
- implement right-to-left support
- improve linebreaking support
- align@id
- linebreaking characters
- linebreaking in token elements
- inline math linebreaking support
- improve annotation-xml support
- embed annotations in a more HTML5 way (OA, ARIA etc)
- use specific annotations as preview (image, TeX etc)
- implement in-table alignments
Use ShadowDOM/webcomponents to make MathJax appear as a seamless polyfill.
- Hide output in ShadowDOM
- leave (author preferred) source in the LightDOM
- use mutation observers to pickup rendering
- CSS inheritance
- getComputedStyle
- remapping to SVG
- lazy typesetting extension
- typeset the viewport first, followed by rest of page
- linebreaking for responsive design extension
- lazy typesetting after viewport size changes (tablet rotation etc)
- leveraging server-side preprocessing: using MathJax-node to produce MathML line-broken for desired viewport sizes, pick up viewport size before rendering, render the fitting equation
- pre-loading extension
- prefetch remaining MathJax components after typesetting is complete
- tiny fetcher script to check for math in the page and load MathJax
- improve build tools
- evaluate switching to JS tools (grunt, gulp etc)
- simplify combined configuration building
- enable single-file builds
- investigate webservice for building combined configurations
- investigate local storage
- load components into local storage See also Improve loading behavior
See also Accessibility goals, this user group discussion
- Improve UI (MathJax Menu) accessibility
- enable call of menu from keyboard navigation
- use modern ARIA
- finalize discovery-mode of the UI
- haze
- marker
- switch to hamburger icon? generic math symbol? (like sections on docs or github markdown)
- smoother menu interaction (roll under/over etc)
- optional permanent marker
- speech-text extension
- collaborating with other open source solutions from Benetech or Google ChromeVox
- 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
- handing MathML over to AT
- enable user navigation
- enable synchronized highlighting
- embed speech-text generation from AT
- interact with accessibility preferences coming from AT
- compatibility with user style sheets
- Investigate ShadowDOM / web components potential for accessibility
- improve copy&paste
- share mechanisms (webintents, mathproc://)
- microdata support (rdfa, schema.org)
- copy&paste with web components
- menu extensions
- search menu (enabling math search engines such as symbolab, wolfram alpha, Springer LaTeX search etc)
- Globally placed menu (incl. an accessibility menu for options such as "present speech-text" vs "present source" etc)
- Use local storage to reduce need for re-rendering content.
- collaborate with browser developers to improve MathJax speed
- switch to CSS Font Loading Module Level 3 on Chrome 35+
- supplementing character coverage
- if the selected font does not cover a Unicode character, load a second font to provide it.
- enable dev-tools to produce such "mixed" fontdata (e.g., "combine Font X with fallbacks from STIX-MathJax").
- allow font mixing
- switch fonts within document (e.g., some equations use STIX, others Neo Euler perhaps depending on the CSS of their context (e.g., textbook problems vs solutions))
- generic font support in HTML output
- Support for ubiquitous commercial fonts (local installation only)
- Lucida Sans, Apple symbol fonts, Arial unicode
- Support for ubiquitous commercial fonts (local installation only)
- Create jqmath input jax
- Improve asciimath input
- Improve asciimath to MathML converter
- Create asciimath to TeX converter
- possibly using this one
- Create MathJax-TeX-to-Content-MathML generator
- improve our “tweaked” native MathML output that works around browser implementation deficiencies.
- investigating new output formats
- canvas
- expand internal format (e.g., with SVG)
- move beyond MathML 3
- diagrams, graphs, etc.
- visualizations
- dynamic graphics (e.g., commutative diagram being drawn)
- enable manipulation of diagrammatic content (e.g. allow reader to rearrange nodes of a graph)
- list of requested extensions / ideas / potential user contributions
- LaTeX packages
- braket
- siunitx
- bordermatrix (needs colspan/rowspan?; requested on various SE sites)
- algorithms, listings
- babel macros (e.g., Russian (see 6.4) via twitter)
- fontpackages (stmaryd, wasysym etc) via unicode
- Q-circuit (via xyjax) see [this discussionhttps://groups.google.com/forum/?fromgroups#!searchin/mathjax-users/macros/mathjax-users/ORLZ3Fm1qIs/8kNkSYz_XWgJ
- mathapedia (pstricks)
- SageTeX
- chemfig
- Feynman diagrams (cf. http://photino.github.io/jquery-feyn/index.html)
- chemdoodle, kitware (chemistry)
- LaTeX macros for MathML constructs (mtable)
- options for TeX packages to benefit from things that are easier in MathML, e.g, equalcolumns/rows
- LaTeX packages
- improve fuzz testing
- integrating MathJax testing into other testing environments
- MathJax workshop / conference
- MathJax community meetups
- Math accessibility workshop (AIM)
- MathJax in education (web literacy, authoring, annotation)
- MathJax in authoring tool chains for research and publishing
- Native browser MathML development in Gecko and WebKit
- Develop a long term project that would allow for Gecko/Firefox and WebKit/Safari development.