Move AlignII from AMSmath.js to TeX/jax.js and rename as AlignedArray. Use it for array and alignedat environments as well as aligned and gathered. Fix some issues with alignedat.

This commit is contained in:
Davide P. Cervone 2011-10-25 17:28:24 -04:00
parent 1c4580c2c0
commit f4ebdbd549
10 changed files with 34 additions and 30 deletions

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

View File

@ -114,8 +114,8 @@ MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () {
'alignat*': ['AlignAt',null,false,true],
alignedat: ['AlignAt',null,false,false],
aligned: ['ArrayII',null,null,null,'rlrlrlrlrlrl',COLS([5/18,2,5/18,2,5/18,2,5/18,2,5/18,2,5/18]),".5em",'D'],
gathered: ['ArrayII',null,null,null,'c',null,".5em",'D'],
aligned: ['AlignedArray',null,null,null,'rlrlrlrlrlrl',COLS([5/18,2,5/18,2,5/18,2,5/18,2,5/18,2,5/18]),".5em",'D'],
gathered: ['AlignedArray',null,null,null,'c',null,".5em",'D'],
subarray: ['Array',null,null,null,null,COLS([0,0,0,0]),"0.1em",'S',1],
smallmatrix: ['Array',null,null,null,'c',COLS([1/3]),".2em",'S',1],
@ -283,27 +283,19 @@ MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () {
});
},
ArrayII: function (begin) {
var align = this.GetBrackets("\\begin{"+begin.name+"}");
var array = this.Array.apply(this,arguments);
if (align === "t") {array.arraydef.align = "baseline 1"}
else if (align === "b") {array.arraydef.align = "baseline -1"}
else if (align === "c") {array.arraydef.align = "center"}
else if (align !== "") {array.arraydef.align = align} // FIXME: should be an error?
return array;
},
/*
* Handle alignat environments
*/
AlignAt: function (begin,numbered,taggable) {
var n = this.GetArgument("\\begin{"+begin.name+"}");
var n, valign, align = "", spacing = [];
if (!taggable) {valign = this.GetBrackets("\\begin{"+begin.name+"}")}
n = this.GetArgument("\\begin{"+begin.name+"}");
if (n.match(/[^0-9]/)) {TEX.Error("Argument to \\begin{"+begin.name+"} must me a positive integer")}
align = ""; spacing = [];
while (n > 0) {align += "rl"; spacing.push("0em 0em"); n--}
spacing = spacing.join(" ");
if (taggable) {return this.AMSarray(begin,numbered,taggable,align,spacing)}
return this.Array(begin,null,null,align,spacing,".5em",'D');
var array = this.Array.call(this,begin,null,null,align,spacing,".5em",'D');
return this.setArrayAlign(array,valign);
},
/*

View File

@ -905,7 +905,7 @@
},
environment: {
array: ['Array'],
array: ['AlignedArray'],
matrix: ['Array',null,null,null,'c'],
pmatrix: ['Array',null,'(',')','c'],
bmatrix: ['Array',null,'[',']','c'],
@ -1588,6 +1588,18 @@
return array;
},
AlignedArray: function (begin) {
var align = this.GetBrackets("\\begin{"+begin.name+"}");
return this.setArrayAlign(this.Array.apply(this,arguments),align);
},
setArrayAlign: function (array,align) {
if (align === "t") {array.arraydef.align = "baseline 1"}
else if (align === "b") {array.arraydef.align = "baseline -1"}
else if (align === "c") {array.arraydef.align = "center"}
else if (align !== "") {array.arraydef.align = align} // FIXME: should be an error?
return array;
},
/************************************************************************/
/*
* String handling routines