Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • M MathJax
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 304
    • Issues 304
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 15
    • Merge requests 15
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • MathJax
  • MathJax
  • Wiki
  • Mathjax backlog

Mathjax backlog · Changes

Page history
update after 2.4 release authored Jul 02, 2014 by Peter Krautzberger's avatar Peter Krautzberger
Hide whitespace changes
Inline Side-by-side
Mathjax-backlog.md
View page @ 2ae4d8a1
We collect potential features. Note: This is not a discussion area but a presentation area for review. We collect potential future features. Note: This is not a discussion area but a presentation area for review.
* Speed Improvements ## Completing MathML 3 support
* reduce the number of measurements in the HTML-CSS output.
* get HTML-CSS up to SVG speed. * implement the elementary math elements (mlongdiv, mstack etc)
* multi-pass rendering * [MML spec](http://www.w3.org/Math/draft-spec/chapter3.html#presm.elementary)
* enable a first, faster but less precise pass, followed by a second, precise pass. * [mlongdiv example](http://www.w3.org/Math/testsuite/build/main/Presentation/GeneralLayout/menclose/rec-enclose1-form.xhtml),
* develop “simple” HTML-output (faster but potentially lower quality) * [longdiv extension example](https://github.com/mathjax/MathJax-third-party-extensions/tree/master/longdiv)
* integrate jqmath as output option * add TeX macros to match
* [[Improve loading behavior]] * implement missing mtable attributes
* improve loading techniques and behavior (review current state of art) * rowspan, colspan
* improve build tools (for combined configs & single-file versions) * allow HTML5 foreign content
* mini fetcher script to check for math in the page. * tolerate HTML in mtext
* investigate webservice for building combined configurations * switch to HTML parser
* create lazy loading extension (prefetch MathJax components after typesetting is complete) * implement right-to-left support
* leverage latest browser technologies (IE9+) * improve linebreaking support
* Create lazy typesetting extension (typeset the viewport) * align@id
* Leverage local storage technologies to reduce need for re-rendering content. * linebreaking characters
* Leverage server-side preprocessing (TeX to MathML, MathML to SVG, image previews etc) * linebreaking in token elements
* collaborate with browser developers to improve MathJax speed * inline math linebreaking support
* Completing MathML 3 support * improve annotation-xml support
* implement elementary math elements ([mlongdiv, mstack etc](http://www.w3.org/Math/draft-spec/chapter3.html#presm.elementary)) * embed annotations in a more HTML5 way (OA, ARIA etc)
* [mlongdiv example](http://www.w3.org/Math/testsuite/build/main/Presentation/GeneralLayout/menclose/rec-enclose1-form.xhtml), * use specific annotations as preview (image, TeX etc)
* implement missing mtable attributes (e.g., rowspan, colspan) * implement in-table alignments
* implement right-to-left support
* improve ContentMathML support ## Seamless MathJax
* see [[ContentMathML extension proposal]]
* improve annotation-xml support Use ShadowDOM/webcomponents to make MathJax appear as a seamless polyfill.
* provide options to use specific annotations as preview (image, TeX etc)
* implement in-table alignments * Hide output in ShadowDOM
* HTML5 foreign content * leave (author preferred) source in the LightDOM
* tolerate HTML in mtext, switch to HTML parser * use mutation observers to pickup rendering
* Accessibility * CSS inheritance
* Improve UI (MathJax Menu) accessibility * getComputedStyle
* finalize discovery-mode of the UI * remapping to SVG
* Investigate ShadowDOM potential for accessibility
* speech-text extension. ## Improved loading & typesetting behavior
* collaborating with other open source solutions from Benetech or Google ChromeVox
* embedding alternative source formats of math (TeX, MathML, OpenMath, computer algebra notation) * lazy typesetting extension
* Add APIs for accessibility tools (AT) to interact with MathJax rendering as if it was native MathML. This includes * typeset the viewport first, followed by rest of page
* handing MathML over to AT * linebreaking for responsive design extension
* enable user navigation * lazy typesetting after viewport size changes (tablet rotation etc)
* enable synchronized highlighting * 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
* embed speech-text generation from AT * pre-loading extension
* interact with accessibility preferences coming from AT * prefetch remaining MathJax components after typesetting is complete
* compatibility with user style sheets * tiny fetcher script to check for math in the page and load MathJax
* Server side MathJax * improve build tools
* enable MathJax outside the DOM (e.g. nodejs, rhino) * evaluate switching to JS tools (grunt, gulp etc)
* enable server-side pre-processing * simplify combined configuration building
* server side testing * enable single-file builds
* production environment testing * investigate webservice for building combined configurations
* UI improvements * investigate local storage
* copy&paste (share mechanisms, microdata, rdf, shadow dom, web components) * load components into local storage
* discoverability of math on the page See also [[Improve loading behavior]]
* menu extensions
* search menu (enabling math search engines such as symbolab, wolfram alpha, Springer LaTeX search etc)
* Font improvements ## Accessibility and UI
* allow font mixing (different math fonts, supplementing character coverage, generic font support in HTML output)
* Support for ubiquitous commercial fonts (local installation only) * Improve UI (MathJax Menu) accessibility
* Lucida Sans, Apple symbol fonts, Arial unicode * enable call of menu from keyboard navigation
* crowdsource font-metric generation for local fonts * use modern ARIA
* Input improvements * finalize discovery-mode of the UI
* Create jqmath input jax * haze
* Improve asciimath input * marker
* Improve asciimath to MathML converter * 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)
### Speed Improvements
* Use local storage to reduce need for re-rendering content.
* collaborate with browser developers to improve MathJax speed
### Font improvements
* allow font mixing
* switch fonts within document (e.g.,
* supplementing character coverage
* generic font support in HTML output
* Support for ubiquitous commercial fonts (local installation only)
* Lucida Sans, Apple symbol fonts, Arial unicode
* crowdsource font-metric generation for local fonts
### Input improvements
* Create jqmath input jax
* Improve asciimath input
* Improve asciimath to MathML converter
* Create asciimath to TeX converter * Create asciimath to TeX converter
* possibly using [this one](http://dlippman.imathas.com/asciimathtex/AMT.html) * possibly using [this one](http://dlippman.imathas.com/asciimathtex/AMT.html)
* Create MathJax-TeX-to-Content-MathML generator * Create MathJax-TeX-to-Content-MathML generator
* Output improvements
* improve our “tweaked” native MathML output that works around browser implementation deficiencies.
* investigating new output formats such as canvas
* Extensions
* official third party extension repository
* integration of existing extensions
* XyJax (xypic), mathapedia (pstricks), computer algebra (e.g. Sage Cell), chemdoodle, kitware (chemistry)
* community outreach: TeX-macro extensions
* ideas for extension writing
* Feynman diagrams; could use http://photino.github.io/jquery-feyn/index.html
* Documentation
* improve community involvement
* Building a collection of code samples
* document plugin using MathJax in other systems, e.g., CMS, LMS.
* Internal Testing
* improve fuzz testing
* integrating MathJax testing into other testing environments
* Outreach activities
* 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.
## User stories
Collecting [user stories](https://en.wikipedia.org/wiki/User_story)).
### Using MathJax outside the DOM
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](https://en.wikipedia.org/wiki/Comparison_of_server-side_JavaScript_solutions).
### Testing speed ### Output improvements
Authors want to know how fast MathJax should be. Authors and Developers want to track down performance bottlenecks. * improve our “tweaked” native MathML output that works around browser implementation deficiencies.
* investigating new output formats
* canvas
We want to be able to test speed enhancements. #### integrate graphical component
### Accessibility * expand internal format 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)
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. ### Extensions
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. * list of requested extensions / ideas / potential user contributiosn
* chemfig
* Feynman diagrams; could use http://photino.github.io/jquery-feyn/index.html
* mathapedia (pstricks)
* SageTeX
* chemdoodle, kitware (chemistry)
### Documentation
### Internal Testing
### TeX input enhancements * improve fuzz testing
* integrating MathJax testing into other testing environments
Authors want the convenience of TeX packages in MathJax. ### Outreach activities
Authors want to easily input commutative diagrams. * MathJax workshop / conference
* MathJax community meetups
Authors want easy ways to input diagrams like xypics, pstricks and tikz. * Math accessibility workshop (AIM)
* MathJax in education (web literacy, authoring, annotation)
Users want documentation for writing TeX input extensions. * 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.
### Speed related enhancements
Authors don't want to worry about very large equations locking up the browser while rendering. Similarly, community driven content can't afford to have a page lock up because of "vandalism" with huge MathML equations. Compare: [#425], [#409]
\ No newline at end of file
Clone repository

MathJax Wiki

  • Contributing
    • Contributor License Agreement etc
    • Quick guide to translating mathjax
  • Development
    • Development Process
      • Release Process Checklist
      • Documentation Update Process
      • Source Control Policies
    • Design Documents
      • MathJax Roadmap
      • CDN Hosting
        • CDN requirements
        • CDN Hosting at Google Cloud Storage
      • Performance Discussion
      • Profiling and Diagnostics Tools
      • Documentation generation guide
      • Testing
        • Platforms supported
        • Test Machines
  • MathJax web presence
  • Drafts