AsciiMath

Last updated

AsciiMath is a client-side mathematical markup language for displaying mathematical expressions in web browsers. [1] [2]

Contents

Using the JavaScript script ASCIIMathML.js, AsciiMath notation is converted to MathML at the time the page is loaded by the browser, natively in Mozilla Firefox, Safari, and via a plug-in in IE7. The simplified markup language supports a subset of the LaTeX language instructions, as well as a less verbose syntax (which, for example, replaces "\times" with "xx" or "times" to produce the "×" symbol). The resulting MathML mathematics can be styled by applying CSS to class "mstyle". [3]

The script ASCIIMathML.js is freely available under the MIT License. [4] The latest version also includes support for SVG graphics, natively in Mozilla Firefox and via a plug-in in IE7.

Per May 2009 there is a new version available. This new version still contains the original ASCIIMathML and LaTeXMathML as developed by Peter Jipsen, but the ASCIIsvg part has been extended with linear-logarithmic, logarithmic-linear, logarithmic-logarithmic, polar graphs and pie charts, normal and stacked bar charts, different functions like integration and differentiation and a series of event trapping functions, buttons and sliders, in order to create interactive lecture material and exams online in web pages.

ASCIIMathML.js has been integrated into MathJax, starting with MathJax v2.0. [5] [6]

Example

The well-known quadratic formula

looks like this in AsciiMath:

x=(-b +- sqrt(b^2 – 4ac))/(2a)


Related Research Articles

<span class="mw-page-title-main">LaTeX</span> Document preparation software system

LaTeX is a software system for document preparation. When writing, the writer uses plain text as opposed to the formatted text found in WYSIWYG word processors like Microsoft Word, LibreOffice Writer and Apple Pages. The writer uses markup tagging conventions to define the general structure of a document, to stylise text throughout a document, and to add citations and cross-references. A TeX distribution such as TeX Live or MiKTeX is used to produce an output file suitable for printing or digital distribution.

Mathematical Markup Language (MathML) is a mathematical markup language, an application of XML for describing mathematical notations and capturing both its structure and content, and is one of a number of mathematical markup languages. Its aim is to natively integrate mathematical formulae into World Wide Web pages and other documents. It is part of HTML5 and is a ISO/IEC standard ISO/IEC 40314 since 2015.

<span class="mw-page-title-main">SpiderMonkey</span> JavaScript and WebAssembly engine maintained by the Mozilla Foundation

SpiderMonkey is open-source JavaScript and WebAssembly engine by the Mozilla Foundation.

Mozilla Firefox has features that allow it to be distinguished from other web browsers, such as Chrome and Internet Explorer.

<span class="mw-page-title-main">TiddlyWiki</span> Wiki software

TiddlyWiki is a personal wiki and a non-linear notebook for organising and sharing complex information. It is an open-source single page application wiki in the form of a single HTML file that includes CSS, JavaScript, embedded files such as images, and the text content. It is designed to be easy to customize and re-shape depending on application. It facilitates re-use of content by dividing it into small pieces called Tiddlers.

NoScript is a free and open-source extension for Firefox- and Chromium-based web browsers, written and maintained by Giorgio Maone, an Italian software developer and member of the Mozilla Security Group.

A mathematical markup language is a computer notation for representing mathematical formulae, based on mathematical notation. Specialized markup languages are necessary because computers normally deal with linear text and more limited character sets. A formally standardized syntax also allows a computer to interpret otherwise ambiguous content, for rendering or even evaluating. For computer-interpretable syntaxes, the most popular are TeX/LaTeX, MathML, OpenMath and OMDoc.

<span class="mw-page-title-main">WebGL</span> JavaScript bindings for OpenGL in web browsers

WebGL is a JavaScript API for rendering interactive 2D and 3D graphics within any compatible web browser without the use of plug-ins. WebGL is fully integrated with other web standards, allowing GPU-accelerated usage of physics and image processing and effects as part of the web page canvas. WebGL elements can be mixed with other HTML elements and composited with other parts of the page or page background.

<span class="mw-page-title-main">MathJax</span> Cross-browser JavaScript library that displays mathematical equations in web browsers

MathJax is a cross-browser JavaScript library that displays mathematical notation in web browsers, using MathML, LaTeX and ASCIIMathML markup. MathJax is released as open-source software under the Apache License.

jsMath was a JavaScript library for displaying mathematics in browsers in a cross-platform way. jsMath is free software released under the Apache License.

Content Security Policy (CSP) is a computer security standard introduced to prevent cross-site scripting (XSS), clickjacking and other code injection attacks resulting from execution of malicious content in the trusted web page context. It is a Candidate Recommendation of the W3C working group on Web Application Security, widely supported by modern web browsers. CSP provides a standard method for website owners to declare approved origins of content that browsers should be allowed to load on that website—covered types are JavaScript, CSS, HTML frames, web workers, fonts, images, embeddable objects such as Java applets, ActiveX, audio and video files, and other HTML5 features.

<span class="mw-page-title-main">Firemath</span>

Firemath is a WYSIWYG equation editor which generates MathML. It is open source software published under the GNU General Public License (GPL) version 3. Firemath is an add-on for the web browser Firefox. It uses the rendering facilities of the browser.

<span class="mw-page-title-main">Mozilla</span> Free and open-source software community, developer of Firefox and Thunderbird

Mozilla is a free software community founded in 1998 by members of Netscape. The Mozilla community uses, develops, spreads and supports Mozilla products, thereby promoting exclusively free software and open standards, with only minor exceptions. The community is supported institutionally by the non-profit Mozilla Foundation and its tax-paying subsidiary, the Mozilla Corporation.

<span class="mw-page-title-main">PDF.js</span> PDF viewer in JavaScript included in Mozilla Firefox

PDF.js is a JavaScript library that renders Portable Document Format (PDF) files using the web standards-compliant HTML5 Canvas. The project is led by the Mozilla Corporation after Andreas Gal launched it in 2011.

asm.js is a subset of JavaScript designed to allow computer software written in languages such as C to be run as web applications while maintaining performance characteristics considerably better than standard JavaScript, which is the typical language used for such applications.

Gollum is a wiki software using git as the back end storage mechanism, and written mostly in Ruby. It started life as the wiki system used by the GitHub web hosting system. Although the open source Gollum project and the software currently used to run GitHub wikis have diverged from one another, Gollum strives to maintain compatibility with the latter. Currently it is used by GitLab server to store and interconnect wiki-pages with wiki-links, but the plan is to move complete away from Gollum in the future.

<span class="mw-page-title-main">KaTeX</span> Cross-browser JavaScript library that displays mathematical notation in web browsers

KaTeX is a cross-browser JavaScript library that displays mathematical notation in web browsers. It puts special emphasis on being fast and easy to use.

This is a list of articles related to the JavaScript programming language.

References

  1. Gray, James (2007), "ASCIIMathML: now everyone can type MathML", MSOR Connections, 7 (3): 26–30, doi:10.11120/msor.2007.07030026 .
  2. Johnson, Brian (January 2005), Interactive LATEX to MathML/HTML translation (PDF), Maersk Mc-Kinney Moller Institute for Production Technology, University of Southern Denmark, Odense, archived from the original (PDF) on 2016-03-04, retrieved 2015-04-20.
  3. Sorge, Volker; Chen, Charles; Raman, T. V.; Tseng, David (2014), "Towards Making Mathematics a First Class Citizen in General Screen Readers", Proceedings of the 11th Web for All Conference (W4A '14), New York, NY, USA: ACM, pp. 40:1–40:10, doi:10.1145/2596695.2596700, ISBN   978-1-4503-2651-3, S2CID   6892997 .
  4. asciimathml/LICENSE at master · mathjax/asciimathml
  5. "MathJax v2.0 beta available". 11 February 2012.
  6. Cervone, Davide (February 2012), "MathJax: A Platform for Mathematics on the Web" (PDF), Notices of the AMS , 59 (2): 312–316.