commit 4e143688ccb440d6e8cec5d96146c3d64c42a6bf
parent 0b3454ce25eace2785d933baa2aeef8d2379b340
Author: Davide P. Cervone <dpvc@union.edu>
Date: Thu, 20 Feb 2014 12:37:03 -0500
Add useMathMLspacing option to AsciiMath input jax. Resolves issue #743
Diffstat:
3 files changed, 14 insertions(+), 1 deletion(-)
diff --git a/unpacked/config/default.js b/unpacked/config/default.js
@@ -593,6 +593,14 @@ MathJax.Hub.Config({
fixphi: true,
//
+ // Determines whether the MathML should be marked so that the HTML-CSS
+ // and SVG output jax will use MathML spacing rules rather than TeX
+ // spacing rules. Since AsciiMath was designed for MathML output, the
+ // MathML rules are used by default.
+ //
+ useMathMLspacing: true,
+
+ //
// Determines whether limits are placed above and below operators,
// or next to them. (AsciiMath doesn't have separate in-line and
// display modes like TeX and MathML do, so this is the only control
diff --git a/unpacked/jax/input/AsciiMath/config.js b/unpacked/jax/input/AsciiMath/config.js
@@ -36,6 +36,7 @@ MathJax.InputJax.AsciiMath = MathJax.InputJax({
config: {
fixphi: true, // switch phi and varphi unicode values
+ useMathMLspacing: true, // use MathML spacing rather than TeX spacing?
displaystyle: true, // put limits above and below operators
decimalsign: "." // can change to "," but watch out for "(1,2)"
}
diff --git a/unpacked/jax/input/AsciiMath/jax.js b/unpacked/jax/input/AsciiMath/jax.js
@@ -167,7 +167,11 @@
//
var document = {
getElementById: true,
- createElementNS: function (ns,type) {return MML[type]()},
+ createElementNS: function (ns,type) {
+ var node = MML[type]();
+ if (type === "mo" && ASCIIMATH.config.useMathMLspacing) {node.useMMLspacing = 0x80}
+ return node;
+ },
createTextNode: function (text) {return MML.chars(text).With({nodeValue:text})},
createDocumentFragment: function () {return DOCFRAG()}
};