Attention
Version 3 is now the current version of MathJax. This document is for version 2.
What’s New in MathJax v2.7¶
MathJax v2.7 is primarily a bug-fix release with over 60 important bug fixes, in particular to the CommonHTML output. In addition, this release adds several new features as an opt-in. The following are some of the highlights.
Features¶
- Common HTML output improvements Several important bugs in the layout model have been fixed, in particular tabular layout is now much more robust.
- Accessibility improvements. After the completion of the MathJax
Accessibility Extensions, we are integrating the opt-in for the
MathJax menu into the core distribution. We are grateful to the web
accessibility community for their guidance, support, and feedback in
our efforts towards making MathJax completely accessible to all
users. This allows end-users to opt into the following features via
the MathJax Menu:
- Responsive Equations. An innovative responsive rendering of mathematical content through collapsing and exploration of subexpressions.
- Universal aural Rendering. An aural rendering tool providing on-the-fly speech-text for mathematical content and its subexpressions using various rule sets.
- Full Exploration. A fully accessible exploration tool, allowing for meaningful exploration of mathematical content including multiple highlighting features and synchronized aural rendering.
- For more information check the release announcement and the dedicated repository at mathjax/mathjax-a11y.
For a detailed listing please check the release milestone.
Accessibility¶
- mathajx-dev/#20 Add the Menu extension from the MathJax Accessibility tools to all combined configuration files.
- #1465 CHTML and HTML-CSS output: do not add
role=math
by default. - #1483 Catch IE8 errors with inserting MathML from AssistiveMML extension.
- #1513 Disable the AssistiveMML extension when the output renderer is PlainSource.
Interface¶
HTML/SVG/nativeMML display¶
- #1454 SVG output: Use full location URL for
xlink
references in SVG<use>
elements. - #1457 Common-HTML output: Fix problem with characters from Unicode Plane 1 not being mapped to the MathJax fonts properly
- #1458 SVG output: Fix problem with container width when math is scaled.
- #1459 CommonHTML output: Improve
getNode()
to fix processing errors when line-breaking. - #1460 HTML-CSS output: Adjust position of rule for square root when it is made via
createRule()
. - #1461 HTML-CSS output: Make sure
0
remains0
when rounding to pixels (plus a bit). - #1462 CommonHTML output: Bubble percentage widths up while line breaking.
- #1475 PreviewHTML: Avoid error when
\overset
or\underset
is empty. - #1479 All outputs: Properly determine (shrink-wrapping) container widths.
- #1503 CommonHTML output: Handle adjusting table cell heights properly.
- #1507 SVG output: Remove invalid
src
attribute from<mglyph>
output. - #1510 CommonHTML output: Prevent CSS bleed-through for box-sizing.
- #1512 CommonHTML output: make
<mglyph>
scale image size by hand. - #1530 All outputs: Fix problem with Safari inserting line breaks before in-line math.
- #1533 CommonHTML output: improve aligning labels with their table rows.
- #1534 CommonHTML output: ensure output stays a table-cell when focused.
- #1538 All outputs: Don’t let preview width interfere with the determination of the container width.
- #1542 CommonHTML output: improve stretching
<mover>
in<mtd>
elements. - #1547 HTML-CSS output: improve line breaks within fractions.
- #1549 All outputs: Improve determination of line-breaking parent element.
- #1550 CommonHTML output: Improve vector arrow positioning.
- #1552 All outputs: Handle
href
correctly when line breaking. - #1574 HTML-CSS and SVG output: Use
currentColor
formenclose
with nomathcolor
. - #1595 CommonHTML output: Properly scale elements with
font-family
specified.
TeX emulation¶
- #1455 Fix
TeX.Environment()
to use the correct end environment. - #1464 Make sure
resetEquationNumbers
is always defined. - #1484 Mark accented operators as not having movable limits.
- #1485 Allow line breaks within
TeXAtom
elements - #1508 Surround
\middle
withOPEN
andCLOSE
TeXAtoms to match TeX spacing - #1509 Make delimiters (in particular arrows) symmetric for
\left
and\right
. - #1514 Don’t unwrap rows when creating fenced elements.
- #1523 Don’t copy environment into
array
environments. - #1537 mhchem: add config parameter to select mhchem v3.0.
- #1596 Prevent
\require{mhchem}
to override one already loaded. - #1551 Allow
<wbr>
in TeX code. - #1565 Handle
\+SPACE
in macro definitions. - #1569 Treat control sequences as a unit when matching a macro template.
- #1587 Make sure
trimSpaces()
doesn’t remove tailing space in\+SPACE
. - #1602 Handle
\ref
properly when there is a<base>
tag.
Asciimath¶
- asciimath/f649ba4 Add
newsymbol
command for adding a new symbol object
MathML¶
Fonts¶
- #1521 STIX fonts: Make left arrow use combining left arrow for accents.
- #1092 STIX fonts: Make
U+222B
(integral) stretchy. - #1154 STIX fonts: Remap
|
to variant form (with descender) and map variant to original form. - #1175 Use
U+007C
andU+2016
for delimiters rather thanU+2223
andU+2225
. - #1421 MathJax TeX fonts: Fix SVG font data for stretchy characters.
- #1418 Alias
U+2206
toU+0394
and remove incorrectU+2206
from SVG font files. - #1187 Make height and depth of minus match that of plus (needed for TeX-layout super/subscript algorithm to work properly), and adjust for that when it is used as an extender in stretchy characters.
- #1546 MathJax TeX fonts: Add stretchy data for
U+20D7
.
Localization¶
- #1604 Updated locales thanks to the contributors at Translatewiki.net; activate locale for Zazaki.
APIs¶
Misc.¶
- #1456 Prevent removal of DOM elements while MathJax is running from stopping processing, or to leaving duplicate math in place.
- #1524 Prevent pre-processors from adding duplicate preview elements.
- #1554 Safe extension: Add filtering of CSS styles like
padding
,margin
. - #1590 Set previews to have
display:none
. - #1591 Change
rev=
toV=
in cache breaking code.