17 lines
9.6 KiB
JavaScript
17 lines
9.6 KiB
JavaScript
/*
|
|
* /MathJax/jax/output/HTML-CSS/autoload/mtable.js
|
|
*
|
|
* Copyright (c) 2010 Design Science, Inc.
|
|
*
|
|
* Part of the MathJax library.
|
|
* See http://www.mathjax.org for details.
|
|
*
|
|
* Licensed under the Apache License, Version 2.0;
|
|
* you may not use this file except in compliance with the License.
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*/
|
|
|
|
MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready",function(){var c="1.1.1";var a=MathJax.ElementJax.mml,b=MathJax.OutputJax["HTML-CSS"];a.mtable.Augment({toHTML:function(X){X=this.HTMLcreateSpan(X);if(this.data.length===0){return X}var aK=this.getValues("columnalign","rowalign","columnspacing","rowspacing","columnwidth","equalcolumns","equalrows","columnlines","rowlines","frame","framespacing","align","useHeight","width","side","minlabelspacing");var r=aK.width.match(/%$/);var ag=b.createStack(X);var am=this.HTMLgetScale();var aI=-1;var w=[],I=[],l=[],O=[],K=[],aG,aF,v=-1,aD,t,az,R,av=[];var aM=b.FONTDATA.baselineskip*am*aK.useHeight,Z=b.FONTDATA.lineH*am,af=b.FONTDATA.lineD*am;for(aG=0,aD=this.data.length;aG<aD;aG++){R=this.data[aG];az=(R.type==="mlabeledtr"?aI:0);O[aG]=[];w[aG]=I[aG]=0;for(aF=az,t=R.data.length+az;aF<t;aF++){if(l[aF]==null){if(aF>v){v=aF}K[aF]=b.createStack(b.createBox(ag));l[aF]=-b.BIGDIMEN}O[aG][aF]=b.createBox(K[aF]);av.push(R.data[aF-az].toHTML(O[aG][aF]))}}b.MeasureSpans(av);for(aG=0,aD=this.data.length;aG<aD;aG++){R=this.data[aG];az=(R.type==="mlabeledtr"?aI:0);for(aF=az,t=R.data.length+az;aF<t;aF++){if(R.data[aF-az].isMultiline){O[aG][aF].style.width="100%"}if(O[aG][aF].bbox.h>w[aG]){w[aG]=O[aG][aF].bbox.h}if(O[aG][aF].bbox.d>I[aG]){I[aG]=O[aG][aF].bbox.d}if(O[aG][aF].bbox.w>l[aF]){l[aF]=O[aG][aF].bbox.w}}}if(w[0]+I[0]){w[0]=Math.max(w[0],Z)}if(w[O.length-1]+I[O.length-1]){I[O.length-1]=Math.max(I[O.length-1],af)}var al=aK.columnspacing.split(/ /),S=aK.rowspacing.split(/ /),ah=aK.columnalign.split(/ /),L=aK.rowalign.split(/ /),N=aK.columnlines.split(/ /),k=aK.rowlines.split(/ /),ap=aK.columnwidth.split(/ /),au=[];for(aG=0,aD=al.length;aG<aD;aG++){al[aG]=b.length2em(al[aG])}for(aG=0,aD=S.length;aG<aD;aG++){S[aG]=b.length2em(S[aG])}while(al.length<v){al.push(al[al.length-1])}while(ah.length<=v){ah.push(ah[ah.length-1])}while(N.length<v){N.push(N[N.length-1])}while(ap.length<=v){ap.push(ap[ap.length-1])}while(S.length<O.length){S.push(S[S.length-1])}while(L.length<=O.length){L.push(L[L.length-1])}while(k.length<O.length){k.push(k[k.length-1])}if(K[aI]){ah[aI]=(aK.side.substr(0,1)==="l"?"left":"right");al[aI]=-l[aI]}for(aG=0,aD=O.length;aG<aD;aG++){R=this.data[aG];au[aG]=[];if(R.rowalign){L[aG]=R.rowalign}if(R.columnalign){au[aG]=R.columnalign.split(/ /);while(au[aG].length<=v){au[aG].push(au[aG][au[aG].length-1])}}}var aA=w[0]+I[O.length-1];for(aG=0,aD=O.length-1;aG<aD;aG++){aA+=Math.max((w[aG]+I[aG]?aM:0),I[aG]+w[aG+1]+S[aG])}var ac=0,aa=0,aB,aJ=aA;if(aK.frame!=="none"||(aK.columnlines+aK.rowlines).match(/solid|dashed/)){ac=b.length2em(aK.framespacing.split(/[, ]+/)[0]);aa=b.length2em(aK.framespacing.split(/[, ]+/)[1]);aJ=aA+2*aa}var h,ay;if(String(aK.align).match(/^\d+$/)){h=aA/2+b.TeX.axis_height*am-w[0];ay=-(aA/2+aa)}else{h=({top:-(w[0]+aa),bottom:aA+aa-w[0],center:aA/2-w[0],baseline:aA/2-w[0],axis:aA/2+b.TeX.axis_height*am-w[0]})[aK.align];ay=({top:-(aA+2*aa),bottom:0,center:-(aA/2+aa),baseline:-(aA/2+aa),axis:b.TeX.axis_height*am-aA/2-aa})[aK.align]}var aq,ax=0,U=0,V=0,aC=0,aH=0,o=[],B=[],ai=1;if(aK.equalcolumns&&aK.width!=="auto"){if(r){aq=(100/(v+1)).toFixed(2).replace(/\.?0+$/,"")+"%";for(aG=0,aD=Math.min(v+1,ap.length);aG<aD;aG++){ap[aG]=aq}aq=0;ax=1;aH=v+1;for(aG=0,aD=Math.min(v+1,al.length);aG<aD;aG++){aq+=al[aG]}}else{aq=b.length2em(aK.width);for(aG=0,aD=Math.min(v+1,al.length);aG<aD;aG++){aq-=al[aG]}aq/=v+1;for(aG=0,aD=Math.min(v+1,ap.length);aG<aD;aG++){l[aG]=aq}}}else{for(aG=0,aD=Math.min(v+1,ap.length);aG<aD;aG++){if(ap[aG]==="auto"){U+=l[aG]}else{if(ap[aG]==="fit"){B[aH]=aG;aH++;U+=l[aG]}else{if(ap[aG].match(/%$/)){o[aC]=aG;aC++;V+=l[aG];ax+=b.length2em(ap[aG],1)}else{l[aG]=b.length2em(ap[aG]);U+=l[aG]}}}}if(r){aq=0;for(aG=0,aD=Math.min(v,al.length);aG<aD;aG++){aq+=al[aG]}if(ax>0.98){ai=0.98/ax;ax=0.98}}else{if(aK.width==="auto"){if(ax>0.98){ai=V/(U+V);aq=U+V}else{aq=U/(1-ax)}}else{aq=b.length2em(aK.width);for(aG=0,aD=Math.min(v+1,al.length);aG<aD;aG++){aq-=al[aG]}}for(aG=0,aD=o.length;aG<aD;aG++){l[o[aG]]=b.length2em(ap[o[aG]],aq*ai);U+=l[o[aG]]}if(Math.abs(aq-U)>0.01){if(aH&&aq>U){aq=(aq-U)/aH;for(aG=0,aD=B.length;aG<aD;aG++){l[B[aG]]+=aq}}else{aq=aq/U;for(aF=0;aF<=v;aF++){l[aF]*=aq}}}if(aK.equalcolumns){var ad=Math.max.apply(Math,l);for(aF=0;aF<=v;aF++){l[aF]=ad}}}}if(aK.equalrows){var T=Math.max.apply(Math,w),ao=Math.max.apply(Math,I);for(aG=0,aD=O.length;aG<aD;aG++){az=((T+ao)-(w[aG]+I[aG]))/2;w[aG]+=az;I[aG]+=az}}var ar=h,n,u,aE;az=(K[aI]?aI:0);for(aF=az;aF<=v;aF++){for(aG=0,aD=O.length;aG<aD;aG++){if(O[aG][aF]){az=(this.data[aG].type==="mlabeledtr"?aI:0);var ak=this.data[aG].data[aF-az];if(ak.HTMLcanStretch("Horizontal")){O[aG][aF].bbox=ak.HTMLstretchH(K[aF],l[aF]).bbox}else{if(ak.HTMLcanStretch("Vertical")){var z=ak.CoreMO();var ab=z.symmetric;z.symmetric=false;O[aG][aF].bbox=ak.HTMLstretchV(K[aF],w[aG],I[aG]).bbox;z.symmetric=ab}}aE=ak.rowalign||this.data[aG].rowalign||L[aG];n=({top:w[aG]-O[aG][aF].bbox.h,bottom:O[aG][aF].bbox.d-I[aG],center:((w[aG]-I[aG])-(O[aG][aF].bbox.h-O[aG][aF].bbox.d))/2,baseline:0,axis:0})[aE];aE=(ak.columnalign||au[aG][aF]||ah[aF]);b.alignBox(O[aG][aF],aE,ar+n)}if(aG<O.length-1){ar-=Math.max((w[aG]+I[aG]?aM:0),I[aG]+w[aG+1]+S[aG])}}ar=h}if(r){var q=b.createBox(ag);q.style.left=q.style.top=0;q.style.right=b.Em(aq+2*ac);q.style.display="inline-block";q.style.height="0px";if(b.msieRelativeWidthBug){q=b.createBox(q);q.style.position="relative";q.style.height="1em";q.style.width="100%";q.bbox=ag.bbox}var an=0,aw=ac,aL,g;if(aH){aL=100*(1-ax)/aH,g=U/aH}else{aL=100*(1-ax)/(v+1);g=U/(v+1)}for(aF=0;aF<=v;aF++){b.placeBox(K[aF].parentNode,0,0);K[aF].style.position="relative";K[aF].style.left=b.Em(aw);K[aF].style.width="100%";K[aF].parentNode.parentNode.removeChild(K[aF].parentNode);var e=b.createBox(q);b.addBox(e,K[aF]);K[aF]=e;var ae=e.style;ae.display="inline-block";ae.left=an+"%";if(ap[aF].match(/%$/)){var G=parseFloat(ap[aF])*ai;if(aH===0){ae.width=(aL+G)+"%";an+=aL+G;e=b.createBox(e);b.addBox(e,K[aF].firstChild);e.style.left=0;e.style.right=b.Em(g);aw-=g}else{ae.width=G+"%";an+=G}}else{if(ap[aF]==="fit"||aH===0){ae.width=aL+"%";e=b.createBox(e);b.addBox(e,K[aF].firstChild);e.style.left=0;e.style.right=b.Em(g-l[aF]);aw+=l[aF]-g;an+=aL}else{ae.width=b.Em(l[aF]);aw+=l[aF]}}if(b.msieRelativeWidthBug){b.addText(e.firstChild,b.NBSP);e.firstChild.style.position="relative"}aw+=al[aF];if(N[aF]!=="none"&&aF<v&&aF!==aI){u=b.createBox(q);u.style.left=an+"%";u=b.createRule(u,aJ,0,1.25/b.em);u.style.position="absolute";u.bbox={h:aJ,d:0,w:0,rw:1.25/b.em,lw:0};u.parentNode.bbox=ag.bbox;b.placeBox(u,aw-al[aF]/2,ay,true);u.style.borderStyle=N[aF]}}}else{var at=ac;for(aF=0;aF<=v;aF++){if(!K[aF].bbox.width){b.setStackWidth(K[aF],l[aF])}if(ap[aF]!=="auto"&&ap[aF]!=="fit"){K[aF].bbox.width=l[aF];K[aF].bbox.isFixed=true}b.placeBox(K[aF].parentNode,at,0);at+=l[aF]+al[aF];if(N[aF]!=="none"&&aF<v&&aF!==aI){u=b.createRule(ag,aJ,0,1.25/b.em);b.addBox(ag,u);u.bbox={h:aJ,d:0,w:0,rw:1.25/b.em,lw:0};b.placeBox(u,at-al[aF]/2,ay,true);u.style.borderStyle=N[aF]}}}aB=ag.bbox.w+ac;var d;if(aK.frame!=="none"){d=b.createFrame(ag,aJ,0,aB,1.25/b.em,aK.frame);b.addBox(ag,d);b.placeBox(d,0,ay,true);if(r){d.style.width="100%"}}ar=h;for(aG=0,aD=O.length-1;aG<aD;aG++){n=Math.max(aM,I[aG]+w[aG+1]+S[aG]);if(k[aG]!=="none"){u=b.createRule(ag,1.25/b.em,0,aB);b.addBox(ag,u);u.bbox={h:1.25/b.em,d:0,w:aB,rw:aB,lw:0};b.placeBox(u,0,ar-I[aG]-(n-I[aG]-w[aG+1])/2,true);if(k[aG]==="dashed"||r){u.style.borderTop=u.style.height+" "+k[aG];u.style.height=0;u.style.width=u.style.borderLeftWidth;u.style.borderLeft="";if(r){u.style.width="100%"}}}ar-=n}if(r){X.bbox.width=aK.width;ag.style.width="100%"}if(K[aI]){var Q=this.getValues("indentalignfirst","indentshiftfirst","indentalign","indentshift");if(Q.indentalignfirst!==a.INDENTALIGN.INDENTALIGN){Q.indentalign=Q.indentalignfirst}if(Q.indentalign===a.INDENTALIGN.AUTO){Q.indentalign=this.displayAlign}if(Q.indentshiftfirst!==a.INDENTSHIFT.INDENTSHIFT){Q.indentshift=Q.indentshiftfirst}if(Q.indentshift==="auto"){Q.indentshift=this.displayIndent}var E=b.createStack(X,false,"100%");b.addBox(E,ag);b.alignBox(ag,Q.indentalign,0);if(Q.indentshift&&Q.indentalign!==a.INDENTALIGN.CENTER){ag.style[{left:"Left",right:"Right"}[Q.indentalign]]=b.Em(b.length2em(Q.indentshift))}K[aI].parentNode.parentNode.removeChild(K[aI].parentNode);b.addBox(E,K[aI]);b.alignBox(K[aI],ah[aI],0);if(b.msieRelativeWidthBug){ag.style.top=K[aI].style.top=""}if(r){ag.style.width=aK.width;X.bbox.width="100%"}K[aI].style.marginRight=K[aI].style.marginLeft=b.Em(b.length2em(aK.minlabelspacing))}if(!r){this.HTMLhandleSpace(X)}var aj=this.HTMLhandleColor(X);if(aj&&r){if(!d){d=b.createFrame(ag,aJ,0,aB,0,"none");b.addBox(ag,d);b.placeBox(d,0,ay,true);d.style.width="100%"}d.style.backgroundColor=aj.style.backgroundColor;d.parentNode.insertBefore(d,d.parentNode.firstChild);aj.parentNode.removeChild(aj)}return X},HTMLhandleSpace:function(d){d.style.paddingLeft=d.style.paddingRight=".1667em"}});a.mtd.Augment({toHTML:function(e,d,g){e=this.HTMLcreateSpan(e);if(this.data[0]){var f=this.data[0].toHTML(e);if(g!=null){f=this.data[0].HTMLstretchV(e,d,g)}else{if(d!=null){f=this.data[0].HTMLstretchH(e,d)}}e.bbox=f.bbox}this.HTMLhandleSpace(e);this.HTMLhandleColor(e);return e},HTMLstretchH:a.mbase.HTMLstretchH,HTMLstretchV:a.mbase.HTMLstretchV});MathJax.Hub.Startup.signal.Post("HTML-CSS mtable Ready");MathJax.Ajax.loadComplete(b.autoloadDir+"/mtable.js")});
|
|
|