Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
fichiers:xml:mathml [2018/05/23 20:27] – joseph.wright | 5_fichiers:xml:mathml [2021/02/16 01:19] (Version actuelle) – Typos. jejust |
---|
--- | ====== Math on the Web ====== |
ID: Q-mathml | |
section: Current TeX-related projects | |
revised: 2014-06-10 | |
--- | |
# Future WWW technologies and (La)TeX | |
| |
An earlier answer | An earlier answer ([[5_fichiers:xml:convertir_du_latex_en_html|"converting to HTML"]]) |
([''converting to HTML''](FAQ-LaTeX2HTML.md)) | |
addresses the issue of converting existing (La)TeX documents for | addresses the issue of converting existing (La)TeX documents for |
viewing on the Web as HTML. All the present techniques are | viewing on the Web as HTML. |
somewhat flawed: the answer explains why. | |
| |
However, things are changing, with | Better font availability and the support for new Web standards means |
better font availability, cunning HTML programming and the | that there are now several possibilities for good rendering |
support for new Web standards. | of mathematics on the web. |
| |
- Font technologies Direct representation of mathematics in | * Font technologies: Direct representation of mathematics in browsers was hampered by the limited range of symbols in the fonts that were available. However, all modern operating systems now include OpenType fonts with large collections of symbols and the availablity of web font technology means that page authors may specify fonts without relying on the reader having pre-installed suitable fonts. |
browsers has been hampered up to now by the limited range of symbols | |
in the fonts whose availability designers can count on. Some existing | |
(La)TeX to HTML converters provide maths symbols by | |
hitching them to alternate font face specifications for standard | |
code points in a non-standard way. This does nothing for the | |
universality of the HTML so generated. | |
| |
Now, however, free Unicode-encoded OpenType fonts, with coverage of | The available OpenType math fonts are discussed in [[5_fichiers:fontes:fontes_opentype_pour_les_mathematiques|OpenType fonts]]. |
mathematical symbols, are starting to appear. The much-heralded | |
[`STIX` fonts](http://www.stixfonts.org/) are now | |
available on CTAN, and a tweaked version | |
(`XITS`) and `Asana Math` are also | |
available. The STIX project has still not released macros | |
for using the fonts, but the [`unicode-math`](https://ctan.org/pkg/unicode-math) package will do | |
what is necessary under XeTeX and LuaTeX, and the fonts can of | |
course be used in browsers. | |
- XML The core of the range of new standards is | |
XML, which provides a framework for better structured markup; | |
limited support for it has already appeared in some browsers. | |
| |
Conversion of (La)TeX source to XML is already available | * Direct interpretaton of a subset of LaTeX math markup by Javascript. The speed of modern javaScript engines means that it is feasible to serve web pages that contain fragments of TeX markup that is converted in the reader's browser. Two main systems are in common use: |
(through TeX4ht at least), and work continues in that arena. The | |
alternative, authoring in XML (thus producing documents that | |
are immediately Web-friendly, if not ready) and using (La)TeX to | |
typeset is also well advanced. One useful technique is | |
[_transforming_ the XML to LaTeX](FAQ-SGML2TeX.md), | |
using an XSLT stylesheet or code for an XML library, | |
and then simply using LaTeX; alternatively, one may | |
[typeset direct from the XML source](FAQ-readML.md). | |
- Direct representation of mathematics | |
MathML is a standard for representing maths on the Web; its | |
original version was distinctly limited, but version 2 of MathML | |
has had major browser support since 2002 with richness of mathematical | |
content for online purposes approaching that of TeX for print. | |
Browser support for MathML is provided by `amaya`, the | |
''Open Source'' browser `mozilla` (and its derivatives | |
including `NetScape`, `Firefox` and `Galeon`) and | |
`Internet Explorer` when equipped with a suitable plug-in | |
such as `MathPlayer`. | |
There's evidence that (La)TeX users are starting to use such | |
browsers. Some believe that XHTML+MathML now provides | |
better online viewing than PDF. | |
Work to produce XHTML+MathML is well advanced in both the | |
TeX4ht and `TtH` projects for (La)TeX conversion. | |
| |
The [`MathJax`](http://www.mathjax.org) engine will process the | * [[https://www.mathjax.org/|MathJax]] is the most widely used JavaScript Library for rendering mathematics. It supports several input syntaxes includedin a subset of LaTeX math syntax, and may be configured to render using several output forms, MathML, or SVG or (most commonly) HTML+CSS. While normally used as a JavaScript Library running in the reader's browser it is also possible (using its [[https://nodejs.org/|Node.js]] interface) to do the conversion in advance,and serve the generated HTML pages. |
content of LaTeX `\[` … `\]` and `\(` … `\)` | |
''environments'' in an HTML document, to produce mathematical | |
output that may (for example) be cut-and-pasted into other programs. | |
| |
Incorporation into your document can be | * [[https://khan.github.io/KaTeX/|KaTeX]] is a newer alternative JavasScript Library, its main aim is to be simpler and faster than MathJax. It has fewer input or output forms and covers a smaller range of LaTeX constructs, but is a viable alternative for pages that do not require the additional features of MathJax. |
as simple as incorporating: | |
```latex | |
<script type="text/javascript" | |
src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML"> | |
</script> | |
``` | |
into the header of your HTML document, | |
though the [MathJax project's site](http://www.mathjax.org/) | |
also allows you to download your own copy and install it on one of | |
_your_ servers. `MathJax` is open source software, so | |
you could, in principle, extend it to do even more eccentric tasks. | |
| |
An approach different from (La)TeX conversion is taken by | * Conversion of (La)TeX source to XML is already available (through TeX4ht at least), and work continues in that arena. The alternative, authoring in XML (thus producing documents that are immediately Web-friendly, if not ready) and using (La)TeX to typeset is also well advanced. One useful technique is [//transforming// the XML to LaTeX](FAQ-SGML2TeX), using an XSLT stylesheet or code for an XML library, and then simply using LaTeX; alternatively, one may [[5_fichiers:xml:utiliser_latex_pour_lire_du_xml|typeset direct from the XML source]]. |
the [_GELLMU_ Project](http://www.albany.edu/~hammond/gellmu/). | |
Its _article_ XML document type, which has a markup vocabulary | |
close to LaTeX that can be edited using LaTeX-like markup | |
(even though it is not LaTeX — so far), comes with translators | |
that make both PDF (via _pdflatex_) and | |
XHTML+MathML. Such an approach avoids the inherent | |
limitations of the ''traditional'' (La)TeX translation processes, | |
which have traps that can be sprung by unfettered use of (La)TeX | |
markup. | |
- Graphics | |
SVG is a standard for graphics representation on the web. | |
While the natural use is for converting existing figures, | |
representations of formulas are also possible, in place of the separate | |
bitmaps that have been used in the past (and while we wait for the | |
wider deployment of MathML). | |
| |
Browser plug-ins, that deal with SVG are already available | * Direct representation of mathematics MathML is a standard for representing maths on the Web; Browser support for MathML is provided by ''firefox'', and ''safari'' and other browsers using te same underlying html rendering libraries. At the current time it is not supported by Chrome or Edge browsers. MathML in the page may be rendered by MathJax, with an output identical to its TeX r.endering. MathJax uses a variant of MathML as its intermediate format. |
(Adobe offer one, for example). More recently, the open source | |
graphics editor [`Inkscape`](http://www.inkscape.org/) | |
has appeared, and has been reported to be useful for | |
SVG-related work in at least one TeX-related project. Be | |
aware that the developers of `Inkscape` have no illusions | |
about being able to replace commercial software, yet… | |
- Direct use of TeX markup | |
Some time back, IBM developed a browser plug-in called | |
TechExplorer, which would display (La)TeX documents direct in a | |
browser. Over the years, it developed into a MathML browser | |
plug-in, while still retaining its (La)TeX abilities, but it's now | |
distributed (free for Linux and Windows platforms) by | |
[Integre Technical Publishing](http://www.integretechpub.com/). | |
| |
The disadvantage of the TechExplorer approach is that it places the | The [[https://www.mathjax.org/|MathJax project's site]] also allows you to download your own copy and install it on one of //your// servers. ''MathJax'' is open source software. |
onus on the browser user; and however technically proficient | |
_you_ are, it's never safe to assume too much of your readers. | |
An interesting alternative is | |
[MathTeX](http://www.forkosh.com/mathtex.html), which sits | |
on your server as a CGI script, and you use it to include | |
your TeX, in your HTML, as if it were an image: | |
```latex | |
<img src="/cgi-bin/mathtex.cgi?f(x)=\int\limits_{-\infty}^xe^{-t^2}dt"> | |
``` | |
([`Mathtex`](https://ctan.org/pkg/Mathtex) supersedes the author's earlier [`mimetex`](https://ctan.org/pkg/mimetex).) | |
| |
| * An approach different from (La)TeX conversion is taken by the [[https://www.albany.edu/~hammond/gellmu/|//GELLMU// Project]]. Its //article// XML document type, which has a markup vocabulary close to LaTeX that can be edited using LaTeX-like markup (even though it is not LaTeX --- so far), comes with translators that make both PDF (via //pdflatex//) and XHTML+MathML. Such an approach avoids the inherent limitations of the "traditional" (La)TeX translation processes, which have traps that can be sprung by unfettered use of (La)TeX markup. |
| |
| * Graphics SVG is a standard for graphics representation on the web. While the natural use is for converting existing figures, representations of formulas are also possible. |
| |
| * An interesting alternative is [[http://www.forkosh.com/mathtex.html|MathTeX]], which sits on your server as a CGI script, and you use it to include your TeX, in your HTML, as if it were an image: |
| <code html> |
| <img src="/cgi-bin/mathtex.cgi?f(x)=\int\limits_{-\infty}^xe^{-t^2}dt" /> |
| </code> |
| ([[ctanpkg>mathtex|Mathtex]] supersedes the author's earlier [[ctanpkg>mimetex]].) |
| |
| |
| ----- |
| //Source:// [[faquk>FAQ-mathml|Math on the Web]] |
| |
| {{htmlmetatags>metatag-keywords=(LaTeX,formules mathématiques,HTML,équations,pages web,pages HTML,hypertexte) |
| metatag-og:title=(Math on the Web) |
| metatag-og:site_name=(FAQ LaTeX francophone) |
| }} |
| |