Mathematical markup languages

Mathematical markup languages

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 (although increasing support for Unicode is obsoleting very simple uses). 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 and MathML.

Contents

Notations for human input

Popular languages for input by humans and interpretation by computers include TeX[1]/LaTeX[2] and Eqn.[3]

Computer algebra systems such as Macsyma, Mathematica, Maple, and MATLAB each have their own syntax.

When the purpose is informal communication with other humans, syntax is often ad hoc, sometimes called "ASCII math notation". Academics sometimes use syntax based on TeX due to familiarity with it from writing papers. Those used to programming languages may also use shorthands like "!" for \neg. Web pages may also use a limited amount of HTML to mark up a small subset, for example superscripting.[4] Ad-hoc syntax requires context to interpret ambiguous syntax, for example ">=" could be "implies" or "greater than or equal to", and "dx/dy" is likely to denote a derivative, but strictly speaking could also mean a finite quantity dx divided by dy.

Examples

TeX eqn ad-hoc ASCII ad-hoc Unicode formula
$a^2$ a sup 2 a^2 a2
$\sum_{k=1}^N k^2$ sum from { k = 1 } to N { k sup 2 } sum_{k=1}^N k^2 Σ_{k=1}^N k² \sum_{k=1}^N k^2
$\neg a > 2 \Rightarrow a \le 2$ !(a > 2) => a <= 2 ¬ a > 2 ⇒ a ≤ 2 \neg a > 2 \Rightarrow a \le 2

Markup languages for computer interchange

Markup languages optimized for computer-to-computer communication include MathML,[5] OpenMath, and OMDoc. These are designed for verbosity and to minimize ambiguity. However, the verbosity makes them clumsier for humans to type directly.[5]

Conversion

Many input, rendering, and conversion tools exist.

Microsoft Word includes Equation Editor, a limited version of MathType. These allow entering formulae using a graphical user interface, and converting to standard markup languages such as MathML. SciWriter is another GUI that can generate MathML and LaTeX.[6]

ASCIIMathML, a JavaScript program, can convert ad-hoc ASCII notation to MathML.[7]

References

  1. ^ Donald E. Knuth. The TeXbook (Computers and Typesetting, Volume A). Reading, Massachusetts: Addison-Wesley, 1984. ISBN 0-201-13448-9.
  2. ^ Lamport. LaTeX: A document preparation system, 2nd edition User's guide and reference manual. ISBN. http://www.latex-project.org/guides/books.html. 
  3. ^ Brian W. Kernighan and Lorinda L. Cherry. A System for Typesetting Mathematics, Communications of the ACM 18 (1975), 151–157.
  4. ^ Drexel University (2007). "Math Typesetting for the Internet". http://mathforum.org/typesetting/index.html. Retrieved 2007-04-16. 
  5. ^ a b Buswell, Stephen; Devitt, Stan; Diaz, Angel; et al. (7 July 1999). "Mathematical Markup Language (MathML) 1.01 Specification (Abstract)". http://www.w3.org/TR/REC-MathML/#abstract. Retrieved 2007-04-13. "While MathML is human-readable it is anticipated that, in all but the simplest cases, authors will use equation editors, conversion programs, and other specialized software tools to generate MathML." 
  6. ^ "SciWriter". Archived from the original on 2007-01-22. http://web.archive.org/web/20070122005920/http://www.soft4science.com/products/sciwriter/index.html. Retrieved 2007-04-13. 
  7. ^ Peter Jipsen (August 2005). "ASCIIMathML". http://www1.chapman.edu/~jipsen/mathml/asciimath.html. Retrieved 2007-04-13. 

External links


Wikimedia Foundation. 2010.

Игры ⚽ Поможем сделать НИР

Look at other dictionaries:

  • Comparison of document markup languages — The following tables compare general and technical information for a number of document markup languages. Please see the individual markup languages articles for further information. Contents 1 General information 2 Characteristics 3 Notes 4 …   Wikipedia

  • List of document markup languages — The following is a list of document markup languages.Well known document markup languages*HyperText Markup Language (HTML) *Mathematical Markup Language (MathML) *Rich Text Format (RTF) Microsoft format for exchanging documents with other vendors …   Wikipedia

  • List of XML markup languages — This page aims to list articles related XML markup languages. This is so that those interested in the subject can monitor changes to the pages by clicking on Related changes in the sidebar and on the bottom of the page.The list is not necessarily …   Wikipedia

  • Entities in Markup Languages — Die Artikel Entitäten in Auszeichnungssprachen und Zeichen Entität Referenz überschneiden sich thematisch. Hilf mit, die Artikel besser voneinander abzugrenzen oder zu vereinigen. Beteilige dich dazu an der Diskussion über diese Überschneidungen …   Deutsch Wikipedia

  • Markup language — Example of RecipeBook, a simple markup language based on XML for creating recipes. The markup can be converted to HTML, PDF and Rich Text Format using a programming language or XSL. A markup language is a modern system for annotating a text in a… …   Wikipedia

  • Mathematical notation — For information on rendering mathematical formulas in Wikipedia, see Help:Formula. See also: Table of mathematical symbols Mathematical notation is a system of symbolic representations of mathematical objects and ideas. Mathematical notations are …   Wikipedia

  • Lightweight markup language — A lightweight markup language is a markup language with a simple syntax, designed to be easy for a human to enter with a simple text editor, and easy to read in its raw form. Lightweight markup languages are used in applications where people… …   Wikipedia

  • Content syndication markup language — A Content syndication markup language is a markup language that allows for syndication of media across the internet (also known as web feeds). The majority of content syndication markup languages are based upon the XML standard, and are… …   Wikipedia

  • ColdFusion Markup Language — CFML redirects here. For the radio station, see CFML FM. Cold Fusion Markup Language (CFML) Paradigm(s) imperative, object oriented Appeared in 1995 Designed by Jeremy Allaire Developer Adobe System …   Wikipedia

  • List of programming languages by category — Programming language lists Alphabetical Categorical Chronological Generational This is a list of programming languages grouped by category. Some languages are listed in multiple categories. Contents …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”