Merge branch 'issue119' into develop
This commit is contained in:
commit
f47dbc4cc0
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -46,6 +46,10 @@ MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () {
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
|
|
||||||
TEXDEF.Add({
|
TEXDEF.Add({
|
||||||
|
mathchar0mo: {
|
||||||
|
iiiint: ['2A0C',{texClass: MML.TEXCLASS.OP}]
|
||||||
|
},
|
||||||
|
|
||||||
macros: {
|
macros: {
|
||||||
mathring: ['Accent','2DA'], // or 0x30A
|
mathring: ['Accent','2DA'], // or 0x30A
|
||||||
|
|
||||||
|
@ -53,14 +57,16 @@ MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () {
|
||||||
negmedspace: ['Spacer',MML.LENGTH.NEGATIVEMEDIUMMATHSPACE],
|
negmedspace: ['Spacer',MML.LENGTH.NEGATIVEMEDIUMMATHSPACE],
|
||||||
negthickspace: ['Spacer',MML.LENGTH.NEGATIVETHICKMATHSPACE],
|
negthickspace: ['Spacer',MML.LENGTH.NEGATIVETHICKMATHSPACE],
|
||||||
|
|
||||||
intI: ['Macro','\\mathchoice{\\!}{}{}{}\\!\\!\\int'],
|
// intI: ['Macro','\\mathchoice{\\!}{}{}{}\\!\\!\\int'],
|
||||||
// iint: ['MultiIntegral','\\int\\intI'], // now in core TeX input jax
|
// iint: ['MultiIntegral','\\int\\intI'], // now in core TeX input jax
|
||||||
// iiint: ['MultiIntegral','\\int\\intI\\intI'], // now in core TeX input jax
|
// iiint: ['MultiIntegral','\\int\\intI\\intI'], // now in core TeX input jax
|
||||||
iiiint: ['MultiIntegral','\\int\\intI\\intI\\intI'],
|
// iiiint: ['MultiIntegral','\\int\\intI\\intI\\intI'], // now in mathchar0mo above
|
||||||
idotsint: ['MultiIntegral','\\int\\cdots\\int'],
|
idotsint: ['MultiIntegral','\\int\\cdots\\int'],
|
||||||
|
|
||||||
dddot: ['Macro','\\mathop{#1}\\limits^{\\textstyle \\mathord{.}\\mathord{.}\\mathord{.}}',1],
|
// dddot: ['Macro','\\mathop{#1}\\limits^{\\textstyle \\mathord{.}\\mathord{.}\\mathord{.}}',1],
|
||||||
ddddot: ['Macro','\\mathop{#1}\\limits^{\\textstyle \\mathord{.}\\mathord{.}\\mathord{.}\\mathord{.}}',1],
|
// ddddot: ['Macro','\\mathop{#1}\\limits^{\\textstyle \\mathord{.}\\mathord{.}\\mathord{.}\\mathord{.}}',1],
|
||||||
|
dddot: ['Accent','20DB'],
|
||||||
|
ddddot: ['Accent','20DC'],
|
||||||
|
|
||||||
sideset: ['Macro','\\mathop{\\mathop{\\rlap{\\phantom{#3}}}\\nolimits#1\\!\\mathop{#3}\\nolimits#2}',3],
|
sideset: ['Macro','\\mathop{\\mathop{\\rlap{\\phantom{#3}}}\\nolimits#1\\!\\mathop{#3}\\nolimits#2}',3],
|
||||||
|
|
||||||
|
|
|
@ -878,18 +878,18 @@
|
||||||
hphantom: ['Phantom',0,1],
|
hphantom: ['Phantom',0,1],
|
||||||
smash: 'Smash',
|
smash: 'Smash',
|
||||||
|
|
||||||
acute: ['Accent', "02CA"], // or 0301
|
acute: ['Accent', "00B4"], // or 0301 or 02CA
|
||||||
grave: ['Accent', "02CB"], // or 0300
|
grave: ['Accent', "0060"], // or 0300 or 02CB
|
||||||
ddot: ['Accent', "00A8"], // or 0308
|
ddot: ['Accent', "00A8"], // or 0308
|
||||||
tilde: ['Accent', "02DC"], // or 0303
|
tilde: ['Accent', "007E"], // or 0303 or 02DC
|
||||||
bar: ['Accent', "02C9"], // or 0304
|
bar: ['Accent', "00AF"], // or 0304 or 02C9
|
||||||
breve: ['Accent', "02D8"], // or 0306
|
breve: ['Accent', "02D8"], // or 0306
|
||||||
check: ['Accent', "02C7"], // or 030C
|
check: ['Accent', "02C7"], // or 030C
|
||||||
hat: ['Accent', "02C6"], // or 0302
|
hat: ['Accent', "005E"], // or 0302 or 02C6
|
||||||
vec: ['Accent', "20D7"],
|
vec: ['Accent', "2192"], // or 20D7
|
||||||
dot: ['Accent', "02D9"], // or 0307
|
dot: ['Accent', "02D9"], // or 0307
|
||||||
widetilde: ['Accent', "02DC",1], // or 0303
|
widetilde: ['Accent', "007E",1], // or 0303 or 02DC
|
||||||
widehat: ['Accent', "02C6",1], // or 0302
|
widehat: ['Accent', "005E",1], // or 0302 or 02C6
|
||||||
|
|
||||||
matrix: 'Matrix',
|
matrix: 'Matrix',
|
||||||
array: 'Matrix',
|
array: 'Matrix',
|
||||||
|
@ -1205,6 +1205,7 @@
|
||||||
var sup = ""; this.i--;
|
var sup = ""; this.i--;
|
||||||
do {sup += this.PRIME; this.i++, c = this.GetNext()}
|
do {sup += this.PRIME; this.i++, c = this.GetNext()}
|
||||||
while (c === "'" || c === this.SMARTQUOTE);
|
while (c === "'" || c === this.SMARTQUOTE);
|
||||||
|
sup = ["","\u2032","\u2033","\u2034","\u2057"][sup.length] || sup;
|
||||||
this.Push(STACKITEM.prime(base,this.mmlToken(MML.mo(sup))));
|
this.Push(STACKITEM.prime(base,this.mmlToken(MML.mo(sup))));
|
||||||
},
|
},
|
||||||
mi2mo: function (mi) {
|
mi2mo: function (mi) {
|
||||||
|
|
|
@ -204,15 +204,21 @@
|
||||||
0x22E2: "\u2291\u0338", // \not\sqsubseteq
|
0x22E2: "\u2291\u0338", // \not\sqsubseteq
|
||||||
0x22E3: "\u2292\u0338", // \not\sqsupseteq
|
0x22E3: "\u2292\u0338", // \not\sqsupseteq
|
||||||
|
|
||||||
|
0x2A0C: "\u222C\u222C", // quadruple integral
|
||||||
|
|
||||||
0x2033: "\u2032\u2032", // double prime
|
0x2033: "\u2032\u2032", // double prime
|
||||||
0x2034: "\u2032\u2032\u2032", // triple prime
|
0x2034: "\u2032\u2032\u2032", // triple prime
|
||||||
0x2036: "\u2035\u2035", // double back prime
|
0x2036: "\u2035\u2035", // double back prime
|
||||||
0x2037: "\u2035\u2035\u2035", // trile back prime
|
0x2037: "\u2035\u2035\u2035", // trile back prime
|
||||||
0x2057: "\u2032\u2032\u2032\u2032" // quadruple prime
|
0x2057: "\u2032\u2032\u2032\u2032", // quadruple prime
|
||||||
|
0x20DB: "...", // combining three dots above (only works with mover/under)
|
||||||
|
0x20DC: "...." // combining four dots above (only works with mover/under)
|
||||||
},
|
},
|
||||||
|
|
||||||
REMAPACCENT: {
|
REMAPACCENT: {
|
||||||
"\u2192":"\u20D7"
|
"\u2192":"\u20D7",
|
||||||
|
"\u2032":"'",
|
||||||
|
"\u2035":"`"
|
||||||
},
|
},
|
||||||
REMAPACCENTUNDER: {
|
REMAPACCENTUNDER: {
|
||||||
},
|
},
|
||||||
|
|
|
@ -1861,8 +1861,9 @@
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
MML.entity.Augment({
|
MML.entity.Augment({
|
||||||
toHTML: function (span,variant) {
|
toHTML: function (span,variant,remap,chars) {
|
||||||
var text = this.toString().replace(/[\u2061-\u2064]/g,""); // remove invisibles
|
var text = this.toString().replace(/[\u2061-\u2064]/g,""); // remove invisibles
|
||||||
|
if (remap) {text = remap(text,chars)}
|
||||||
if (variant.fontInherit) {
|
if (variant.fontInherit) {
|
||||||
var scale = Math.floor(100/HTMLCSS.scale+.5) + "%";
|
var scale = Math.floor(100/HTMLCSS.scale+.5) + "%";
|
||||||
HTMLCSS.addElement(span,"span",{style:{"font-size":scale}},[text]);
|
HTMLCSS.addElement(span,"span",{style:{"font-size":scale}},[text]);
|
||||||
|
@ -1937,7 +1938,7 @@
|
||||||
//
|
//
|
||||||
// STIX and TeX fonts need quotes from variant font
|
// STIX and TeX fonts need quotes from variant font
|
||||||
//
|
//
|
||||||
if (isScript && text.match(/['`"\u00B4\u2032-\u2037]/))
|
if (isScript && text.match(/['`"\u00B4\u2032-\u2037\u2057]/))
|
||||||
{variant = HTMLCSS.FONTDATA.VARIANT["-"+HTMLCSS.fontInUse+"-variant"]}
|
{variant = HTMLCSS.FONTDATA.VARIANT["-"+HTMLCSS.fontInUse+"-variant"]}
|
||||||
//
|
//
|
||||||
// Typeset contents
|
// Typeset contents
|
||||||
|
|
|
@ -113,7 +113,7 @@
|
||||||
remap: {0x391:0x41, 0x392:0x42, 0x395:0x45, 0x396:0x5A, 0x397:0x48,
|
remap: {0x391:0x41, 0x392:0x42, 0x395:0x45, 0x396:0x5A, 0x397:0x48,
|
||||||
0x399:0x49, 0x39A:0x4B, 0x39C:0x4D, 0x39D:0x4E, 0x39F:0x4F,
|
0x399:0x49, 0x39A:0x4B, 0x39C:0x4D, 0x39D:0x4E, 0x39F:0x4F,
|
||||||
0x3A1:0x50, 0x3A4:0x54, 0x3A7:0x58}},
|
0x3A1:0x50, 0x3A4:0x54, 0x3A7:0x58}},
|
||||||
"-TeX-variant": {fonts:[MAIN]},
|
"-TeX-variant": {fonts:[MAIN]}, // HACK: to get larger prime for \prime
|
||||||
"-largeOp": {fonts:[SIZE2,SIZE1,MAIN]},
|
"-largeOp": {fonts:[SIZE2,SIZE1,MAIN]},
|
||||||
"-smallOp": {fonts:[SIZE1,MAIN]}
|
"-smallOp": {fonts:[SIZE1,MAIN]}
|
||||||
},
|
},
|
||||||
|
@ -200,15 +200,21 @@
|
||||||
0x22E2: "\u2291\u0338", // \not\sqsubseteq
|
0x22E2: "\u2291\u0338", // \not\sqsubseteq
|
||||||
0x22E3: "\u2292\u0338", // \not\sqsupseteq
|
0x22E3: "\u2292\u0338", // \not\sqsupseteq
|
||||||
|
|
||||||
|
0x2A0C: "\u222C\u222C", // quadruple integral
|
||||||
|
|
||||||
0x2033: "\u2032\u2032", // double prime
|
0x2033: "\u2032\u2032", // double prime
|
||||||
0x2034: "\u2032\u2032\u2032", // triple prime
|
0x2034: "\u2032\u2032\u2032", // triple prime
|
||||||
0x2036: "\u2035\u2035", // double back prime
|
0x2036: "\u2035\u2035", // double back prime
|
||||||
0x2037: "\u2035\u2035\u2035", // trile back prime
|
0x2037: "\u2035\u2035\u2035", // trile back prime
|
||||||
0x2057: "\u2032\u2032\u2032\u2032" // quadruple prime
|
0x2057: "\u2032\u2032\u2032\u2032", // quadruple prime
|
||||||
|
0x20DB: "...", // combining three dots above (only works with mover/under)
|
||||||
|
0x20DC: "...." // combining four dots above (only works with mover/under)
|
||||||
},
|
},
|
||||||
|
|
||||||
REMAPACCENT: {
|
REMAPACCENT: {
|
||||||
"\u2192":"\u20D7"
|
"\u2192":"\u20D7",
|
||||||
|
"\u2032":"'",
|
||||||
|
"\u2035":"`"
|
||||||
},
|
},
|
||||||
REMAPACCENTUNDER: {
|
REMAPACCENTUNDER: {
|
||||||
},
|
},
|
||||||
|
|
|
@ -1235,8 +1235,10 @@
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
MML.entity.Augment({
|
MML.entity.Augment({
|
||||||
toSVG: function (variant,scale) {
|
toSVG: function (variant,scale,remap,chars) {
|
||||||
return this.SVGhandleVariant(variant,scale,this.toString().replace(/[\u2061-\u2064]/g,"")); // remove invisibles
|
var text = this.toString().replace(/[\u2061-\u2064]/g,""); // remove invisibles
|
||||||
|
if (remap) {text = remap(text,chars)}
|
||||||
|
return this.SVGhandleVariant(variant,scale,text);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -1267,7 +1269,7 @@
|
||||||
//
|
//
|
||||||
// Primes must come from another font
|
// Primes must come from another font
|
||||||
//
|
//
|
||||||
if (isScript && this.data.join("").match(/['`"\u00B4\u2032-\u2037]/))
|
if (isScript && this.data.join("").match(/['`"\u00B4\u2032-\u2037\u2057]/))
|
||||||
{variant = SVG.FONTDATA.VARIANT["-TeX-variant"]}
|
{variant = SVG.FONTDATA.VARIANT["-TeX-variant"]}
|
||||||
//
|
//
|
||||||
// Typeset contents
|
// Typeset contents
|
||||||
|
|
Loading…
Reference in New Issue
Block a user