MathJax Best Practices for Publishers
What is MathJax?
MathJax is an exciting new development for rendering TeX or MathML-coded mathematics in browsers without requiring font installation or browser plug-ins. Any modern browser with javascript enabled will be MathJax-ready. For more information about MathJax, visit mathjax.org
Users of Project Euclid content will benefit greatly from being able to read beautifully rendered math in article titles, abstracts, and reference lists that up to now have been coded in a combination of TeX, HTML, or even images. Even the journals that use MathML haven't used it in reference lists. We provide here some guidelines to help publishers prepare their metadata and content in a "MathJax-ready" way.
Publishers that use MathML
MathJax understands MathML (indeed, MathML is MathJax's "internal" language). Publishers that already provide Euclid with MathML-coded metadata (in titles and abstracts) should not do anything differently. Your submissions will work as they are, just for more browsers. If you provide TeX source for reference list processing, then see the next section.
Publishers that use TeX
MathJax understands a very large (and growing) subset of TeX, including AMS math and symbols. What MathJax does not understand (unless instructed) are user macros. So, for example, if an abstract contains '$\rtwo$' as a shortcut for '$\mathbf{R}^2$', then MathJax will not be able to render this expression. Publishers should use only standard LaTeX and AMSLaTeX macros in titles, abstracts, and reference lists. If you are not sure whether a certain expression will work with MathJax, contact us, and we will be able to tell you. Pay careful attention to article titles in reference lists, which can sometimes contain non-standard macros defined in the original BibTeX database files.
Also, since '<' is a reserved character in HTML, special care must be taken in its use. Usually just adding a space after it will suffice for it to not be interpreted as the start of an element name (e.g., 'x < y', not 'x<y'); but if in doubt, use the entity reference '<'.
Please note: Only TeX code in math mode will be processed, which means that '$\bf N$' will be rendered as N, but '{\bf 12}' will not be processed at all and be rendered as '{\bf 12}'. If you really want a bold "12" in your non-math abstract text, use the HTML code '<b>12</b>' to give 12.
Euclid Back Content
Every effort will be made to "teach" MathJax about non-standard macros used in journal back content metadata. If you become aware of any TeX code that is not rendering properly, contact us and we'll address it.
Contact
If you have any questions about MathJax or its implementation on Project Euclid, please contact Steve Grathwohl, <sgrathwohl@dukeupress.edu>.
MathJax Best Practices for Publishers by Project Euclid is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.