20 lines
11 KiB
JavaScript
20 lines
11 KiB
JavaScript
![]() |
/*
|
||
|
* /MathJax/jax/output/HTML-CSS/autoload/mtable.js
|
||
|
*
|
||
|
* Copyright (c) 2009-2014 The MathJax Consortium
|
||
|
*
|
||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||
|
* you may not use this file except in compliance with the License.
|
||
|
* You may obtain a copy of the License at
|
||
|
*
|
||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||
|
*
|
||
|
* Unless required by applicable law or agreed to in writing, software
|
||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||
|
* See the License for the specific language governing permissions and
|
||
|
* limitations under the License.
|
||
|
*/
|
||
|
|
||
|
MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready",function(){var c="2.4.0";var a=MathJax.ElementJax.mml,b=MathJax.OutputJax["HTML-CSS"];a.mtable.Augment({toHTML:function(t){t=this.HTMLcreateSpan(t);if(this.data.length===0){return t}var K=this.getValues("columnalign","rowalign","columnspacing","rowspacing","columnwidth","equalcolumns","equalrows","columnlines","rowlines","frame","framespacing","align","useHeight","width","side","minlabelspacing");var aI=K.width.match(/%$/);var ax=b.createStack(t);var aF=this.HTMLgetScale(),az=this.HTMLgetMu(t),aA=-1;var ap=[],at=[],ak=[],av=[],au=[],af,ae,ao=-1,ad,an,Z,aE,R,aB,aN=[],aS;var I=b.FONTDATA.lineH*aF*K.useHeight,O=b.FONTDATA.lineD*aF*K.useHeight;for(af=0,ad=this.data.length;af<ad;af++){aE=this.data[af];Z=(aE.type==="mlabeledtr"?aA:0);av[af]=[];ap[af]=I;at[af]=O;for(ae=Z,an=aE.data.length+Z;ae<an;ae++){if(ak[ae]==null){if(ae>ao){ao=ae}au[ae]=b.createStack(b.createBox(ax));ak[ae]=-b.BIGDIMEN}av[af][ae]=b.createBox(au[ae]);aN.push(aE.data[ae-Z].toHTML(av[af][ae]))}}b.MeasureSpans(aN);for(af=0,ad=this.data.length;af<ad;af++){aE=this.data[af];Z=(aE.type==="mlabeledtr"?aA:0);for(ae=Z,an=aE.data.length+Z;ae<an;ae++){R=aE.data[ae-Z];if(R.isMultiline){av[af][ae].style.width="100%"}if(R.isEmbellished()){aB=R.CoreMO();var aR=aB.Get("minsize",true);if(aR){var aK=aB.HTMLspanElement().bbox;if(aB.HTMLcanStretch("Vertical")){aS=aK.h+aK.d;if(aS){aR=b.length2em(aR,az,aS);if(aR*aK.h/aS>ap[af]){ap[af]=aR*aK.h/aS}if(aR*aK.d/aS>at[af]){at[af]=aR*aK.d/aS}}}else{if(aB.HTMLcanStretch("Horizontal")){aR=b.length2em(aR,az,aK.w);if(aR>ak[ae]){ak[ae]=aR}}}}}if(av[af][ae].bbox.h>ap[af]){ap[af]=av[af][ae].bbox.h}if(av[af][ae].bbox.d>at[af]){at[af]=av[af][ae].bbox.d}if(av[af][ae].bbox.w>ak[ae]){ak[ae]=av[af][ae].bbox.w}}}var aD=MathJax.Hub.SplitList;var ay=aD(K.columnspacing),aP=aD(K.rowspacing),e=aD(K.columnalign),E=aD(K.rowalign),d=aD(K.columnlines),z=aD(K.rowlines),aL=aD(K.columnwidth),V=[];for(af=0,ad=ay.length;af<ad;af++){ay[af]=b.length2em(ay[af],az)}for(af=0,ad=aP.length;af<ad;af++){aP[af]=b.length2em(aP[af],az)}while(ay.length<ao){ay.push(ay[ay.length-1])}while(e.length<=ao){e.push(e[e.length-1])}while(d.length<ao){d.push(d[d.length-1])}while(aL.length<=ao){aL.push(aL[aL.length-1])}while(aP.length<av.length){aP.push(aP[aP.length-1])}while(E.length<=av.length){E.push(E[E.length-1])}while(z.length<av.length){z.push(z[z.length-1])}if(au[aA]){e[aA]=(K.side.substr(0,1)==="l"?"left":"right");ay[aA]=-ak[aA]}for(af=0,ad=av.length;af<ad;af++){aE=this.data[af];V[af]=[];if(aE.rowalign){E[af]=aE.rowalign}if(aE.columnalign){V[af]=aD(aE.columnalign);while(V[af].length<=ao){V[af].push(V[af][V[af].length-1])}}}if(K.equalrows){var aC=Math.max.apply(Math,ap),X=Math.max.apply(Math,at);for(af=0,ad=av.length;af<ad;af++){Z=((aC+X)-(ap[af]+at[af]))/2;ap[af]+=Z;at[af]+=Z}}aS=ap[0]+at[av.length-1];for(af=0,ad=av.length-1;af<ad;af++){aS+=Math.max(0,at[af]+ap[af+1]+aP[af])}var aH=0,aG=0,aU,g=aS;if(K.frame!=="none"||(K.columnlines+K.rowlines).match(/solid|dashed/)){var w=aD(K.framespacing);if(w.length!=2){w=aD(this.defaults.framespacing)}aH=b.length2em(w[0],az);aG=b.length2em(w[1],az);g=aS+2*aG}var aj,aT,ab="";if(typeof(K.align)!=="string"){K.align=String(K.align)}if(K.align.match(/(top|bottom|center|baseline|axis)( +(-?\d+))?/)){ab=RegExp.$3;K.align=RegExp.$1}else{K.align=this.defaults.align}if(ab!==""){ab=parseInt(ab);if(ab<0){ab=av.length+1+ab}if(ab<1){ab=1}else{if(ab>av.length){ab=av.length}}aj=0;aT=-(aS+aG)+ap[0];for(af=0,ad=ab-1;af<ad;af++){var N=Math.max(0,at[af]+ap[af+1]+aP[af]);aj+=N;aT+=N}}else{aj=({top:-(ap[0]+aG),bottom:aS+aG-ap[0],center:aS/2-ap[0],baseline:aS/2-ap[0],axis:aS/2+b.TeX.axis_height*aF-ap[0]})[K.align];aT=({top:-(aS+2*aG),bottom:0,center:-(aS/2+aG),baseline:-(aS/2+aG),axis:b.TeX.axis_height*aF-aS/2-aG})[K.align]}var ac,ag=0,B=0,L=0,aa=0,ah=0,am=[],ar=[],S=1;if(K.equalcolumns&&K.width!=="auto"){if(aI){ac=(100/(ao+1)).toFixed(2).replace(/\.?0+$/,"")+"%";for(af=0,ad=Math.min(ao+1,aL.length);af<ad;af++){aL[af]=ac}ac=0;ag=1;ah=ao+1;for(af=0,ad=Math.min(ao+1,ay.length);af<ad;af++){ac+=ay[af]}}else{ac=b.le
|