diff options
author | Karl Berry <karl@freefriends.org> | 2019-03-20 22:30:53 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2019-03-20 22:30:53 +0000 |
commit | 8e508e8b0218f17eb318645073096f2cf645cc78 (patch) | |
tree | 3e7a05382ab52c0fb47456f98aee6ed1d168ece0 /Master/texmf-dist/scripts | |
parent | c03bf39f7b8b76e13cd139bc0a100a8115bc0b15 (diff) |
ketcindy (20mar19)
git-svn-id: svn://tug.org/texlive/trunk@50488 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/scripts')
15 files changed, 850 insertions, 418 deletions
diff --git a/Master/texmf-dist/scripts/ketcindy/allbuttons.cdy b/Master/texmf-dist/scripts/ketcindy/allbuttons.cdy Binary files differnew file mode 100644 index 00000000000..0925ce4386a --- /dev/null +++ b/Master/texmf-dist/scripts/ketcindy/allbuttons.cdy diff --git a/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylib3dlogr.txt b/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylib3dlogr.txt index de1caada09d..d95eabc503f 100644 --- a/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylib3dlogr.txt +++ b/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylib3dlogr.txt @@ -1,3 +1,8 @@ +// 20190301 +// MeasureDepth => Measuredepth +// 20190209 +// ////% added +// Start3d changed ( Slider used ) // 20190128 // Vertexedgeface changed ( size of point name, drawpoint ) // 20190127 diff --git a/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylib3dr.cs b/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylib3dr.cs index e4e59151022..f14e3ff603e 100644 --- a/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylib3dr.cs +++ b/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylib3dr.cs @@ -14,7 +14,7 @@ // along with this program. If not, see <http://www.gnu.org/licenses/> // -println("ketcindylib3d(20190128) loaded"); +println("ketcindylib3d[20190301] loaded"); //help:start(); @@ -30,7 +30,6 @@ Ketinit3d(subflg,position):=( //help:Ketinit3d(); //help:Ketinit3d(0); regional(ctr,tmp,tmp1,tmp2,tmp3,tmp4,xPos,yTh,yPh); -// println("KETCindy3d V.2.3.5(2016.02.03)"); BezierNumber3=1; //15.02.28 if(!islist(BZLIST3), BZLIST3=[]; //15.02.28 @@ -89,6 +88,7 @@ Start3d(ptexception):=( //help:Start3d(["A","B"](exceptionptlist)); regional(xmn,xMx,ymn,yMx,pt,pt3,pt2, xPos,yTh,yPh,Eps,tmp,tmp1,tmp2,tmp3,tmp4); + PTEXCEPTION=[]; Setfiles(Namecdy); //180608 ConstantListC=[[50,50],[5000,1500,500,200],[0.00001,0.01,0.1]]; FuncListC=[]; @@ -117,23 +117,17 @@ Start3d(ptexception):=( FnameR=Fhead+".r"; FnameRbody=Fhead+"body.r"; Fnameout=Fhead+".txt"; -// Ketinit3d(SUBSCR); // 16.06.20 Setwindow("Msg=no"); // 16.06.20from tmp=round(4*SW.y)/4; - xPos=-5;yTh=tmp-0.5;yPh=tmp-1; - Listplot("th",[[xPos,yTh],[xPos+9,yTh]], - ["notex","linecolor->[0,1,0]","Msg=no"]); - Listplot("ph",[[xPos,yPh],[xPos+9,yPh]], - ["notex","linecolor->[0,1,0]","Msg=no"]); - //16.02.10 - PutonCurve("TH",sgth,[xPos,xPos+9,"Msg=no"]); - PutonCurve("FI",sgph,[xPos,xPos+9,"Msg=no"]); + xPos=-5; yTh=tmp-0.5; yPh=tmp-1; + Slider("TH",[xPos,yTh],[xPos+9,yTh],["Color=green"]); //190209 + Slider("FI",[xPos,yPh],[xPos+9,yPh],["Color=green"]); //190209 drawtext([xPos-0.8,yTh-0.1],Sprintf((TH.x-xPos)*20,2),align->"right"); //17.05.02 drawtext([xPos-0.8,yPh-0.1],Sprintf((FI.x-xPos)*40,2),align->"right"); //17.05.02 - tmp="Setangle(" + tmp="Setangle(" //no ketjs on +format((TH.x-xPos)*20,5)+"," +format((FI.x-xPos)*40,5)+")"; - GLIST=append(GLIST,tmp); + GLIST=append(GLIST,tmp); //no ketjs off THETA=(TH.x-xPos)*20*pi/180; PHI=(FI.x-xPos)*40*pi/180; // 16.06.20until if(isselected(TH) % isselected(FI), // 17.05.18from @@ -155,16 +149,18 @@ Start3d(ptexception):=( connect([[NE.x-SW.x,yMx],[NE.x-SW.x,ymn]], color->[0.5,0.5,0.5]); ); - // for Presentation //17.07.01from + // for Presentation //17.07.01from //no ketjs on letterc=[0.98,0.13,0,0.43]; boxc=[0,0.32,0.52,0]; shadowc=[0,0,0,0.5]; mboxc="yellow"; //17.03.02 regional debugged SlideColorList=[letterc,boxc,boxc,boxc,shadowc,shadowc,6,1.3, letterc,mboxc,mboxc,mboxc,62,2,letterc]; - ThinDense=0.1; //17.07.01to - tmp=ptexception; //181106(3lines) - if(!islist(tmp),PTEXCEPTION=[tmp],PTEXCEPTION=tmp); + ThinDense=0.1; //17.07.01to //no ketjs off + tmp=ptexception; //181106 + if(!islist(tmp),tmp=[tmp]); //190209 + PTEXCEPTION=concat(PTEXCEPTION,tmp); //190209 +// if(!islist(tmp),PTEXCEPTION=[tmp],PTEXCEPTION=tmp); Ptseg3data(PTEXCEPTION); //16.08.23 - PTEXCEPTION=ptexception; //180916 +// PTEXCEPTION=ptexception; //180916 //190209[del] ); ////%Start3d end//// @@ -194,7 +190,7 @@ Setangle(theta,phi):=( //16.12.24 tmp1=text(pt); tmp=substring(tmp1,length(tmp1)-1,length(tmp1)); if(tmp!="z", - tmp=parse(tmp1+"z.xy"); //181028(2lines); + tmp=parse(tmp1+"z.xy"); //181028[2lines]; pt3=Xyzcoord(pt.xy,tmp); Defvar(tmp1+"3d",pt3); pt2=Parapt(pt3); // 16.05.28from @@ -225,7 +221,7 @@ Setangle(theta,phi):=( //16.12.24 tmp2=parse(tmp1+"z"); if(isselected(pt) % isselected(tmp2), Defvar(tmp1+"2d",pt.xy); - tmp=parse(tmp1+"z.xy"); //181028(2lines) + tmp=parse(tmp1+"z.xy"); //181028[2lines] tmp=Xyzcoord(pt.xy,tmp); Defvar(tmp1+"3d",tmp); ); @@ -269,9 +265,9 @@ Getangle(option):=( Angleselected():=IsAngle(); //180713 //isAngle():=Isangle(); //180517 ////%Angleselected end//// + ////%Isangle start//// Isangle():=isselected(TH)%isselected(FI); //180517 -////%Angleselected end//// ////%Isangle end//// ////%Changestyle3d start//// @@ -320,6 +316,7 @@ Dist3d(pt1,pt2):=( ); ////%Dist3d end//// +////%Findangle start//// Findangle(vec):=( //help:Findangle([2,1,4]); //help:Findangle([0,0,1,0]); @@ -338,7 +335,9 @@ Findangle(vec):=( ); [th,ph]; ); +////%Findangle end//// +////%Cancoordpara start//// Cancoordpara(pc):=( //help:Cancoordpara([1,2,0]); regional(Xz,Yz,Zz,tmp1,tmp2,tmp3); @@ -348,6 +347,7 @@ Cancoordpara(pc):=( tmp3=Yz*sin(THETA)+Zz*cos(THETA); [tmp1,tmp2,tmp3]; ); +////%Cancoordpara end//// ////%Zparapt start//// Zparapt(cc):=( @@ -376,7 +376,7 @@ Parapt(pt):=( ); ////%Parapt end//// -///%Parasubpt start//// +////%Parasubpt start//// Parasubpt(pt):=( //181027 regional(mv,dp,xs); mv=NE.x-SW.x; @@ -426,7 +426,7 @@ ProjCurve(crv):=( sp=sin(PHI); cp=cos(PHI); st=sin(THETA); ct=cos(THETA); if(isstring(crv),CurveL=parse(crv),CurveL=crv); - if(MeasureDepth(CurveL)==1,CurveL=[CurveL]); + if(Measuredepth(CurveL)==1,CurveL=[CurveL]); Out=[]; forall(CurveL,Curve, AnsL=[]; @@ -544,6 +544,7 @@ Projpara(ptdata,optionsorg):=( ); ////%Projpara end//// +////%InvparaptPp start//// InvparaptPp(pt,pd):=( regional(Eps,fk,nfk,ph,fh,ah,bh,ak,bk,v1,v2, nn,s0,t2,out,tmp,tmp1,tmp2,flg); @@ -600,6 +601,7 @@ InvparaptPp(pt,pd):=( ); out; ); +////%InvparaptPp end//// ////%Invparapt start//// Invparapt(pt,pd):=( @@ -614,7 +616,7 @@ Subgraph(name3,opcindy):=( //181029 regional(name,crvL,sub2d,color,tmp,tmp1,tmp2); name=replace("sub"+name3,"3d","2d"); crvL=parse(name3); - if(MeasureDepth(crvL)==1,crvL=[crvL]); + if(Measuredepth(crvL)==1,crvL=[crvL]); sub2d=[]; forall(crvL,tmp1, tmp2=[]; @@ -1033,7 +1035,7 @@ Joincrvs3d(nm,plotstrL,options):=( ); PtL; ); -////%Joincrvs3d( end//// +////%Joincrvs3d end//// ////%Xyzax3data start//// Xyzax3data(nm,Xrange,Yrange,Zrange):= @@ -1168,7 +1170,7 @@ Xyzaxparaname(Xrange,Yrange,Zrange,options):=( Zname=tmp1_1; tmp=parse(tmp1_2); pz=[0,0,tmp_1]; qz=[0,0,tmp_2]; - COM2ndlist=select(COM2ndlist,indexof(#,Dqq("$"+Xname+"$"))==0);//180608(3lines) + COM2ndlist=select(COM2ndlist,indexof(#,Dqq("$"+Xname+"$"))==0);//180608[3lines] COM2ndlist=select(COM2ndlist,indexof(#,Dqq("$"+Yname+"$"))==0); COM2ndlist=select(COM2ndlist,indexof(#,Dqq("$"+Zname+"$"))==0); ph=Parapt(px); qh=Parapt(qx); rr=|ph-qh|; @@ -1226,10 +1228,10 @@ Embed(nm,Pd2str,funstr,varstr,options):=( tmp1=[]; // 15.10.31 forall(Pd2L, if(isstring(#),tmp=parse(#),tmp=#); - if(MeasureDepth(tmp)==2, + if(Measuredepth(tmp)==2, tmp1=concat(tmp1,tmp); ); - if(MeasureDepth(tmp)==1, + if(Measuredepth(tmp)==1, tmp1=append(tmp1,tmp); ); ); @@ -1360,7 +1362,7 @@ Rotatepoint3d(point,w1,w2,center):=( ); ); if(Retflg==0, - if(MeasureDepth(point)>0, + if(Measuredepth(point)>0, PtL=point; , PtL=[point]; @@ -1419,7 +1421,7 @@ Rotatedata3d(nm,P3data,w1,w2,options):=( Out=[]; forall(Pd3,Pd, if(isstring(Pd),Pd=parse(Pd)); -// if(MeasureDepth(Pd)==1,Pd=[Pd]); +// if(Measuredepth(Pd)==1,Pd=[Pd]); Ans=[]; forall(Pd, tmp=Rotatepoint3d(#,w1,w2,center); //180729 @@ -1475,7 +1477,7 @@ Translatepoint3d(point,w1):=( //help:Translatepoint3d(pt3d,[1,2,3]); regional(Eps,Ans,PtL,pt,num,xx,yy,zz,flg); Eps=10^(-4); - if(MeasureDepth(point)>0, + if(Measuredepth(point)>0, PtL=point; , PtL=[point]; @@ -1517,7 +1519,7 @@ Translatedata3d(nm,P3data,w1,options):=( Out=[]; forall(Pd3,Pd, if(isstring(Pd),Pd=parse(Pd)); - if(MeasureDepth(Pd)==1,Pd=[Pd]); + if(Measuredepth(Pd)==1,Pd=[Pd]); Ans=[]; forall(Pd, tmp=Translatepoint3d(#,w1); @@ -1613,7 +1615,7 @@ Reflectdata3d(nm,P3data,vecL,options):=( Out=[]; forall(Pd3,Pd, if(isstring(Pd),Pd=parse(Pd)); -// if(MeasureDepth(Pd)==1,Pd=[Pd]); +// if(Measuredepth(Pd)==1,Pd=[Pd]); Ans=[]; forall(Pd, tmp=Reflectpoint3d(#,vecL); @@ -1708,7 +1710,7 @@ Scaledata3d(nm,P3data,ratio,options):=( Out=[]; forall(Pd3,Pd, if(isstring(Pd),Pd=parse(Pd)); -// if(MeasureDepth(Pd)==1,Pd=[Pd]); +// if(Measuredepth(Pd)==1,Pd=[Pd]); Ans=[]; forall(Pd, tmp=Scalepoint3d(#,ratio,center); @@ -1769,6 +1771,7 @@ Xyzcoord(X,Y,ps):=( ); ////%Xyzcoord end//// +////%PutonCurve3d start//// PutonCurve3d(name,pdstr):=( //help:PutonCurve3d("T","sc3d1"); regional(pt,pd2str,tmp,tmp1,tmp2); @@ -1776,16 +1779,17 @@ PutonCurve3d(name,pdstr):=( PutonCurve(name,pd2str); pt=parse(name+".xy"); tmp=Nearestpt(pt,pd2str); // 15.03.13 - tmp1=ParamonCurve(tmp_1,tmp_2,pd2str); + tmp1=Paramoncurve(tmp_1,tmp_2,pd2str); tmp="sub"+pd2str; tmp2=PointonCurve(tmp1,tmp); -// pt=append(pt,tmp2_2); //181028(2lines) +// pt=append(pt,tmp2_2); //181028[2lines] pt=Xyzcoord(pt,tmp2); // 15.03.13 tmp=name+"z.xy="+textformat(tmp2,5); parse(tmp); // VLIST=select(VLIST,#_1!=name+"3d"); Defvar(name+"3d",pt); ); +////%PutonCurve3d end//// ////%Mkpointlist start//// Mkpointlist():=Mkpointlist([]); //16.11.12 @@ -1889,7 +1893,7 @@ Mkpointlist(options):=( //181030 if(length(tmp)>0, //17.10.07 tmp1=Parapt(tmp_1_2); Putpoint(text(pt),tmp1); //181029 - tmp2=Parasubpt(tmp_1_2);//181027(2lines) + tmp2=Parasubpt(tmp_1_2);//181027[2lines] Putpoint(text(ptz),tmp2); //181029 flg=3; ); //17.10.07 @@ -1908,6 +1912,7 @@ Mkpointlist(options):=( //181030 ); ////%Mkpointlist end//// +////%Mkseg3d start//// Mkseg3d():=Mkseg3d([]); Mkseg3d(options):=( regional(seg,nmseg,def,ptA,ptB,segL,opstr,opcindy, @@ -1951,6 +1956,7 @@ Mkseg3d(options):=( ); segL; ); +////%Mkseg3d end//// ////%Ptseg3data start//// Ptseg3data():=Ptseg3data([]); @@ -1975,7 +1981,7 @@ Ptseg3data(options):=( parse(tmp); ); , - tmp=Mainsubpt3d(parse(pt+".xy"),parse(tmp1+"z.xy")); //181107(2lines) + tmp=Mainsubpt3d(parse(pt+".xy"),parse(tmp1+"z.xy")); //181107[2lines] Defvar(tmp1+"3d",tmp); ); ); @@ -2039,7 +2045,7 @@ Putonseg3d(name,pt1,pt2,options):=( tmp1=replace(tmp1,"PBs",pn2); parse(tmp1); ); - tmp1=parse(name+".xy"); //181028(3lines) + tmp1=parse(name+".xy"); //181028[3lines] tmp2=parse(name+"z.xy"); tmp=Xyzcoord(tmp1,tmp2); Defvar(name+"3d",tmp); @@ -2271,7 +2277,7 @@ Perpplane(name,ptstr,nstr,option):=( if(tmp=="P", Putpoint3d([tmp1,pA,tmp2,pB],["fix"]); , - Defvar(tmp1+"3d",pA); //181107(2lines) + Defvar(tmp1+"3d",pA); //181107[2lines] Defvar(tmp2+"3d",pB); ); if(tmp=="D", @@ -2290,7 +2296,7 @@ Drawpoint3d(pt3,options):=( regional(ptL,tmp,tmp1,tmp2); tmp=Divoptions(options); opcindy=tmp_(length(tmp)); - if(MeasureDepth(pt3)==0,ptL=[pt3],ptL=pt3); + if(Measuredepth(pt3)==0,ptL=[pt3],ptL=pt3); forall(ptL, tmp="draw("+Textformat(Parapt(#),6)+opcindy+")"; parse(tmp); @@ -2307,7 +2313,7 @@ Pointdata3d(nm,pt3):=Pointdata3d(nm,pt3,[]);//181017from Pointdata3d(nm,pt3,options):=( //181017from //help:Pointdata3d("1",pt3dlist,options); regional(pt3L,pt2L,tmp); - if(MeasureDepth(pt3)==0,pt3L=[pt3],pt3L=pt3); + if(Measuredepth(pt3)==0,pt3L=[pt3],pt3L=pt3); pt2L=apply(pt3L,Parapt(#)); Pointdata("2d"+nm,pt2L,append(options,"Disp=n")); tmp="pt3d"+nm+"="+format(pt3L,6); @@ -2408,7 +2414,7 @@ IntersectsgpL(name,sgstr,pLstr,optionsorg):=( ); nvec=Crossprod(pB-pA,pC-pA); if(abs(Dotprod(nvec,pQ-pP))>Eps, - pH=(Reflectpoint3d(pP,[pA,pB,pC])+pP)/2; //180811(2lines) + pH=(Reflectpoint3d(pP,[pA,pB,pC])+pP)/2; //180811[2lines] pK=(Reflectpoint3d(pQ,[pA,pB,pC])+pQ)/2; tmp1=pP-pH; tmp2=tmp1+pK-pQ; @@ -2446,6 +2452,7 @@ IntersectsgpL(name,sgstr,pLstr,optionsorg):=( ); ////%IntersectsgpL end//// +////%Bezier3d start//// Bezier3d(nm,ptctrlist):=Bezier3(nm,ptctrlist); Bezier3d(nm,Ag1,Ag2):=Bezier3(nm,Ag1,Ag2); Bezier3d(nm,ptlistorg,ctrlistorg,options):= @@ -2453,10 +2460,10 @@ Bezier3d(nm,ptlistorg,ctrlistorg,options):= //help:Bezier3d("1",["A","B","C"],["D","E","F","G"]); Bezier3(nm,ptctrlist):=Bezier3(nm,ptctrlist_1,ptctrlist_2,[]); Bezier3(nm,Ag1,Ag2):=( - if(MeasureDepth(Ag1)==0, + if(Measuredepth(Ag1)==0, Bezier3(nm,Ag1,Ag2,[]); , - if(MeasureDepth(Ag1)>1, + if(Measuredepth(Ag1)>1, Bezier3(nm,Ag1_1,Ag1_2,Ag2); , if(isstring(Ag_1_1), @@ -2544,7 +2551,9 @@ Bezier3(nm,ptlistorg,ctrlistorg,options):=( //17.10.08 greatly changed ); out; ); +////%Bezier3d end//// +////%Putbezier3data start//// Putbezier3data(name,pt3Lorg):=Putbezier3data(name,pt3Lorg,[]); Putbezier3data(name,pt3Lorg,options):=( // 17.10.08 greatly changed regional(pt3L,psize,Deg,nn,numstr, @@ -2584,7 +2593,9 @@ Putbezier3data(name,pt3Lorg,options):=( // 17.10.08 greatly changed ); ctrpts; ); +////%Putbezier3data end//// +////%Mkbezierptcrv3d start//// Mkbezierptcrv3d(ptdata):=Mkbezierptcrv3(ptdata); Mkbezierptcrv3d(ptdata,options):=Mkbezierptcrv3(ptdata,options); //help:Mkbezierptcrv3d(["A","B","C","D"]); @@ -2606,6 +2617,7 @@ Mkbezierptcrv3(ptdata,options):=( //17.10.08 greatly changed BezierNumber3=BezierNumber3+1; Out; ); +////%Mkbezierptcrv3d end//// //////////old version /////////////////////////////// @@ -2747,6 +2759,7 @@ Readobj(filename,options):=( ); ////%Readobj end//// +////%Concatobj start//// Concatobj(objL):=Concatobj(objL,[]); Concatobj(objL,options):=( //help:Concatobj([polyhed,triangle]); @@ -2818,6 +2831,7 @@ Concatobj(objL,options):=( ); [vL,fL]; ); +////%Concatobj end//// if(1==0, @@ -2850,7 +2864,7 @@ Mkobjfile(path,fnameorg,objL):=( setdirectory(Dirwork); ); -); +); //end of skip ////%VertexEdgeFace start//// VertexEdgeFace(nm,vfnL):=VertexEdgeFace(nm,vfnL,[]); // 16.02.10 @@ -2895,7 +2909,7 @@ VertexEdgeFace(nm,vfnLorg,optionorg):=( options=remove(options,[#]); ); //180905to if(tmp1=="E", - if((tmp2=="Y")%(tmp2=="G"),//181107(2lines) + if((tmp2=="Y")%(tmp2=="G"),//181107[2lines] if(vtxflg==1,edgflg=1); ); options=remove(options,[#]); @@ -3512,7 +3526,7 @@ Faceremovaldata(nm,vfdata,crvdata,options):=( if(Noflg<3, if(Outflg>=1, println("Output Faceremovaldata "+name3); - if(MeasureDepth(vfdata)==1, + if(Measuredepth(vfdata)==1, tmp1=text(apply(vfdata,#_[1,3])); , tmp1=text([vfdata_[1,3]]); @@ -3542,7 +3556,7 @@ Faceremovaldata(nm,vfdata,crvdata,options):=( if(Noflg==1,Ltype=0); ); if(Inflg==1, - if(MeasureDepth(vfdata)==1, + if(Measuredepth(vfdata)==1, tmp1=apply(vfdata,parse(#_2)); , tmp1=[parse(vfdata_2)]; @@ -3654,6 +3668,7 @@ Fullformfunc(FdL):=( ); ////%Fullformfunc end//// +////%Surffun start//// Surffun(nm,Fd):=( regional(name,coord,var1,var2,rng1,rng2,bdy,tmp,tmp1,tmp2); tmp=Fullformfunc(Fd); @@ -3671,7 +3686,9 @@ Surffun(nm,Fd):=( Deffun(name,["regional(tmp)","tmp="+coord,"tmp"]); [name,var1,rng1,var2,rng2,bdy]; ); +////%Surffun end//// +////%Sf3data start//// Sf3data(nm,fdata):=Sf3data(nm,fdata,[]); Sf3data(nm,fdata,optionorg):=( regional(tmp,tmp1,tmp2); @@ -3757,7 +3774,9 @@ Sf3data(nm,funstr,var1org,var2org,optionorg):=( ); [sfdtuL,sfdtvL]; ); +////%Sf3data end//// +////%SfbdparadataR start//// SfbdparadataR(nm,fd):= SfbdparadataR(nm,fd,[],["nodisp"]); SfbdparadataR(nm,fd,options):= @@ -3767,7 +3786,7 @@ SfbdparadataR(nm,fdorg,optionorg,optionsh):=( // help:SfbdparadataR(options2=["Wait=60",division(c(50,50)),Eps1(0.01), Eps2(0.05)]); regional(fd,options,name3,name3h,waiting, eqL,reL,strL,fname,tmp,tmp1,tmp2,flg,wflg); - tmp=ConvertFdtoC(fdorg);//180430(2lines) + tmp=ConvertFdtoC(fdorg);//180430[2lines] FuncListC=append(FuncListC,tmp); name3="sfbd3d"+nm; name3h="sfbdh3d"+nm; @@ -3835,7 +3854,7 @@ SfbdparadataR(nm,fdorg,optionorg,optionsh):=( err("Sfbdparadata not completed"); , ReadOutData(fname); - if(islist(parse(name3)), //180508(2lines) + if(islist(parse(name3)), //180508[2lines] Extractdata(name3,["nodisp"]); Projpara(name3,options); if(length(optionsh)>0,tmp=optionsh,tmp=["nodisp"]); @@ -3845,7 +3864,9 @@ SfbdparadataR(nm,fdorg,optionorg,optionsh):=( ); ); ); +////%SfbdparadataR end//// +////%Addpoints start//// Addpoints():=(//18.02.20 if(isstring(ADDPOINT), ADDPOINT; @@ -3862,7 +3883,9 @@ Addpoints(ptlist):=( ); ADDPOINT; ); +////%Addpoints end//// +////%CrvsfparadataR start//// CrvsfparadataR(nm,crv,sf,fd):= CrvsfparadataR(nm,crv,sf,fd,[],["nodisp"]); CrvsfparadataR(nm,crv,sf,fd,options):= @@ -3956,7 +3979,7 @@ CrvsfparadataR(nm,crvstr,sfstr,fdorg,optionorg,optionsh):=( err("Crvsfparadata not completed"); , ReadOutData(fname); - if(islist(parse(name3)), //180507(2lines) + if(islist(parse(name3)), //180507[2lines] Extractdata(name3,["nodisp"]); Projpara(name3,options); if(length(optionsh)>0,tmp=optionsh,tmp=["nodisp"]); @@ -3966,7 +3989,9 @@ CrvsfparadataR(nm,crvstr,sfstr,fdorg,optionorg,optionsh):=( ); ); ); +////%CrvsfparadataR end//// +////%Crv3onsfparadataR start//// Crv3onsfparadataR(nm,crv3d,sf,fd):= Crvs3onfparadataR(nm,crv3d,sf,fd,[],["nodisp"]); Crv3onsfparadataR(nm,crv3d,sf,fd,options):= @@ -4068,7 +4093,9 @@ Crv3onsfparadataR(nm,crv3dstr,sfstr,fdorg,optionorg,optionsh):=( ); ); ); +////%Crv3onsfparadataR end//// +////%Crv2onsfparadataR start//// Crv2onsfparadataR(nm,crv2d,sf,fd):= Crvs2onfparadataR(nm,crv2d,sf,fd,[],["nodisp"]); Crv2onsfparadataR(nm,crv2d,sf,fd,options):= @@ -4171,7 +4198,9 @@ Crv2onsfparadataR(nm,crv2dstr,sfstr,fdorg,optionorg,optionsh):=( ); ); ); +////%Crv2onsfparadataR end//// +////%WireparadataR start//// WireparadataR(nm,sf,wr1,wr2,fd):= WireparadataR(nm,sf,fd,wr1,wr2,[],["nodisp"]); WireparadataR(nm,sf,fd,wr1,wr2,options):= @@ -4274,7 +4303,9 @@ WireparadataR(nm,sfstr,fdorg,wr1,wr2,optionorg,optionsh):=( ); ); ); +////%WireparadataR end//// +////%IntersectcrvsfR start//// IntersectcrvsfR(nm,crv,fd):=Intersectcrvsf(nm,crv,fd,"",[]); IntersectcrvsfR(nm,crv,fd,Arg):=( if(isstring(Arg), @@ -4364,7 +4395,9 @@ IntersectcrvsfR(nm,crvstr,fdorg,bdyeq,optionorg):=( println("generate "+name); parse(name); ); +////%IntersectcrvsfR end//// +////%SfcutparadataR start//// SfcutparadataR(nm,eqstr,sf,fd):= SfcutparadataR(nm,eqstr,sf,fd,[]); SfcutparadataR(nm,eqstr,sf,fd,options):= @@ -4463,12 +4496,15 @@ SfcutparadataR(nm,eqstrorg,sf,fdorg,optionorg,optionsh):=( ); ); ); +////%SfcutparadataR end//// +////%Skeletonparadata start//// Skeletonparadata(nm):=Skeletondatacindy(nm,[]); Skeletonparadata(nm,options):=Skeletondatacindy(nm,options); Skeletonparadata(nm,pltdata1,pltdata2):=Skeletondatacindy(nm,pltdata1,pltdata2); Skeletonparadata(nm,pltdata1org,pltdata2org,options):= Skeletondatacindy(nm,pltdata1org,pltdata2org,options); +////%Skeletonparadata end//// ////////////// new skeleton 2018.01.04 not completed and slow//////////////// @@ -5124,6 +5160,7 @@ Kukannozoku(Jokyo,KukanL):=( ////////////////// end of current skeleton////////////// +////%ProjcoordCurve start//// ProjcoordCurve(Curve):=( regional(SP,CP,ST,CT,Out,jj,pt,x,y,z,xz,yz,zz); SP=sin(PHI); CP=cos(PHI); @@ -5139,7 +5176,9 @@ ProjcoordCurve(Curve):=( ); Out; ); +////%ProjcoordCurve end//// +////%Divnohidhid start//// Divnohidhid(nm,dt3dorg,nvec):=Divnohidhid(nm,dt3dorg,nvec,[],["do"]); Divnohidhid(nm,dt3dorg,nvec,optionorg,options2):=( //help:Divnohidhid("1","sc3d1",nvec,["Num=100"],["Num=100","do"]); @@ -5204,7 +5243,9 @@ Divnohidhid(nm,dt3dorg,nvec,optionorg,options2):=( parse(name+"h="+tmp1); [nohid,hid]; ); +////%Divnohidhid end//// +////%Beziersurf start//// Beziersurf(nm,m,n,pL):=( //help:Beziersurf("pt",2,2,pL); regional(p3dL,ptlistx,ptlilsty,ptlistz); @@ -5261,5 +5302,6 @@ Beziersurf(nm,m,n,pL):=( ]; tmp; ); +////%Beziersurf end//// //help:end(); diff --git a/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibbasic1logr.txt b/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibbasic1logr.txt index ab492956087..79cc8fc315b 100644 --- a/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibbasic1logr.txt +++ b/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibbasic1logr.txt @@ -1,4 +1,32 @@ -/ 20190128 +// 20190311 +// Shade changed ( order of COM2ndlist) +// Com2nd changed ("before" removed ) +// 20190301 +// Pointdata changed ( a single point => [[ , ]]) +// MeasureDepth => Measuredepth +// 20190224 +// Shade changed ("Trim=n" added ) +// 20190223 +// Shadein debugged +// Ketinit, Shade changed (SHADCTR added) +// Ketinit debugged (positon Changework) +// 20190221 +// Intersectcurves changed ( "out" sorted ) +// Changework changed ( "/kc.command" => Shellparent) +// 20190220 +// Shadein added, Shade changed (Shadein for 1 data) +// Shadein debugged +// 20190219 +// Anglemark debugged ( tmp => tmp_2 ) +// 20190211 +// Deqplot changed ( for incorret form of equation ) +// 20190210 +// bug of "Msg=" fixed +// 20190206 +// Deqplot changed ( ‘ replace to ` ) +// Lineplot,Plotdata,Paramplot,Circledata,Bowdata,Anglemark changed ("Msg" option) +// Pointdata changed ("Msg" option) +// 20190128 // Ketinit changed (Userhome added) // Changesetting majorly changed // 20190127 diff --git a/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibbasic1r.cs b/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibbasic1r.cs index e473027def3..4957f56cd83 100644 --- a/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibbasic1r.cs +++ b/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibbasic1r.cs @@ -16,7 +16,7 @@ println("KeTCindy V.3.2.5"); println(ketjavaversion()); -println("ketcindylibbasic1[20190131] loaded"); +println("ketcindylibbasic1[20190311] loaded"); //help:start(); @@ -80,10 +80,11 @@ Ketinit(work,sy,rangex,rangey):=(//181001to COM0thlist=[]; COM1stlist=[]; COM2ndlist=[]; - COM2ndlistb=[]; //180612 + // COM2ndlistb=[]; //180612 ADDAXES="1"; AXSTYLE=["l","x","e","y","n","O","sw","","",""]; //181216 AXCOUNT=1; //181215 + SHADECTR=1; //190222 LFmark=unicode("000a"); CRmark=unicode("000d");//16.12.13 Dq=unicode("0022"); @@ -99,7 +100,7 @@ Ketinit(work,sy,rangex,rangey):=(//181001to ErrFlag=0; KETJSOP=[]; //190129 // no ketjs on 190122 - setdirectory(Dirwork); +// setdirectory(Dirwork); if(!isstring(Fhead), // 17.10.13from, 17.11.12 Fhead=text(curkernel()); Fhead=replace(Fhead,".cdy",""); @@ -125,36 +126,23 @@ Ketinit(work,sy,rangex,rangey):=(//181001to ); ); Userhome=Homehead+pathsep()+getname(); //190128 - Changesetting(); //190128 - Changework(Dircdy+pathsep()+work); //180329to,181001 - Fnametex=Fhead+".tex"; - FnameR=Fhead+".r"; - FnamebodyR=Fhead+"body.r"; - Fnameout=Fhead+".txt"; // 17.10.13until - if(!isstring(Mackc),// 16.06.07 - Mackc="sh"; - ); if(iswindows(), Batparent="\kc.bat"; , if(ismacosx(), //181125from Shellparent="/kc.command"; + Mackc="open"; //190222 , Shellparent="/kc.sh"; - Mackc="sh"; //190116 + Mackc="bash"; //190222 ); //181125to - if(!isexists(Dirwork,""), - println(Dirwork+" not exists"); - , - if(!iskcexists(Dirwork), - setdirectory(Dirwork); - SCEOUTPUT = openfile(Shellparent); - closefile(SCEOUTPUT); - println(Shellparent+" generated"); - ); - println(setexec(Dirwork,Shellparent)); - ); ); + Changesetting(); //190128 + Changework(Dircdy+pathsep()+work); //180329to,181001 + Fnametex=Fhead+".tex"; + FnameR=Fhead+".r"; + FnamebodyR=Fhead+"body.r"; + Fnameout=Fhead+".txt"; // 17.10.13to // no ketjs off 190122 ArrowlineNumber=1; // 15.01.05 ArrowheadNumber=1; @@ -169,7 +157,7 @@ Ketinit(work,sy,rangex,rangey):=(//181001to Setwindow("Msg=n"); // 16.05.31 // no ketjs on 190122 // for Presentation - letterc=[0.98,0.13,0,0.43]; boxc=[0,0.32,0.52,0]; + letterc=[0.98,0.13,0,0.43]; boxc=[0.2,0,0,0];//190307 [0,0.32,0.52,0]; shadowc=[0,0,0,0.5]; mboxc="yellow"; //17.03.02 regional debugged SlideColorList=[letterc,boxc,boxc,boxc,shadowc,shadowc,6,1.3, letterc,mboxc,mboxc,mboxc,62,2,letterc]; @@ -834,9 +822,6 @@ Changework(dirorg,options):=( //16.10.21 , println("Directory "+dir+" not exist, so "+Dqq(Dirwork)+" not changed"); ); //180618to -// println("Directory "+dir+" not exist, so set to "+Dircdy);//180604[2lines] -// Dirwork=Dircdy; -// ErrFlag=-1; , if(length(subdir)>0, //180605 if(makesub==1,//180606from @@ -849,9 +834,9 @@ Changework(dirorg,options):=( //16.10.21 setdirectory(Dirwork); if(!iswindows(), //17.04.11 if(!iskcexists(Dirwork), - SCEOUTPUT = openfile("/kc.command"); //181125 + SCEOUTPUT = openfile(Shellparent); //190221 closefile(SCEOUTPUT); - println(setexec(Dirwork,"/kc.command")); //181125 + println(setexec(Dirwork,Shellparent)); //190221 ); ); ); @@ -1225,8 +1210,8 @@ Assign(funstr,varname,rep):=( ); ////%Assign end//// -////%MeasureDepth start//// -MeasureDepth(list):=( +////%Measuredepth start//// +Measuredepth(list):=( regional(tmp,tmp1,Depth,Flg); Flg=0; Depth=0; @@ -1252,19 +1237,19 @@ MeasureDepth(list):=( );//180501 Depth; ); -////%MeasureDepth end//// +////%Measuredepth end//// ////%Flattenlist start//// Flattenlist(pltlist):=( //help:Flattenlist([[2,3],[[1,2],[5,6]]]); regional(Out,nn,Dt,ii,tmp,flg); Out=[]; - if(MeasureDepth(pltlist)==1, + if(Measuredepth(pltlist)==1, Out=[pltlist]; , forall(1..(length(pltlist)),nn, Dt=pltlist_nn; - if(MeasureDepth(Dt)<2, + if(Measuredepth(Dt)<2, Out=append(Out,Dt); , forall(1..(length(Dt)),ii, @@ -1414,7 +1399,7 @@ Crossprod(a,b):=( ////%Mvprod start//// Mvprod(mat,vec):=( //190127 regional(vecL); - if(MeasureDepth(vec)==0,vecL=[vec],vecL=vec); + if(Measuredepth(vec)==0,vecL=[vec],vecL=vec); Mvprod(mat,vecL,length(vecL)); ); Mvprod(mat,vecL,nn):=( @@ -1489,9 +1474,9 @@ Invert(nm,Fig,options):=( ////%Paramoncrv start//// Paramoncrv(pP,Gdata):=Paramoncurve(pP,Gdata);//180723 ////%Paramoncrv end//// -////%ParamonCurve start//// -ParamonCurve(point,Gdata):=( -//help:ParamonCurve(A,"gr1");//180723[3lines] +////%Paramoncurve start//// +Paramoncurve(point,Gdata):=( +//help:Paramoncurve(A,"gr1");//180723[3lines] regional(Tmp,PtL,pP); if(ispoint(point),pP=point.xy,pP=point); // Eps=10^(-8); @@ -1499,8 +1484,8 @@ ParamonCurve(point,Gdata):=( Tmp=Nearestpt(pP,PtL); Tmp_2; ); -ParamonCurve(pP,nN,plist):=( -//help:ParamonCurve(A,10,"gr1"); +Paramoncurve(pP,nN,plist):=( +//help:Paramoncurve(A,10,"gr1"); regional(PtL,Out,Pa,Pb,vV,vW,sS); if(isstring(plist),PtL=parse(plist),PtL=plist); PtL=apply(PtL,LLcrd(#));//16.10.16 @@ -1517,14 +1502,14 @@ ParamonCurve(pP,nN,plist):=( ); Out; ); -////%ParamonCurve end//// +////%Paramoncurve end//// ////%Pointoncrv start//// -Pointoncrv(tT,PtL):=PointonCurve(tT,PtL); +Pointoncrv(tT,PtL):=Pointoncurve(tT,PtL); ////%Pointoncrv end//// -////%PointonCurve start//// -PointonCurve(tTorg,Gdata):=( -//help:PointonCurve(20.5,"gr1"); +////%Pointoncurve start//// +Pointoncurve(tTorg,Gdata):=( +//help:Pointoncurve(20.5,"gr1"); regional(tT,Out,Eps,nN,sS,Pa,Pb,PtL); if(isstring(Gdata),PtL=parse(Gdata),PtL=Gdata); if(length(PtL)==1,PtL=PtL_1); @@ -1542,7 +1527,7 @@ PointonCurve(tTorg,Gdata):=( ); Out; ); -////%PointonCurve end//// +////%Pointoncurve end//// ////%Koutenseg start//// Koutenseg(pA,pB,pC,pD):=Koutenseg(pA,pB,pC,pD,[]); @@ -1690,8 +1675,8 @@ IntersectcrvsPp(Gr1,Gr2,options):=( Flg=0; if(isstring(Gr1),Data1=parse(Gr1),Data1=Gr1); if(isstring(Gr2),Data2=parse(Gr2),Data2=Gr2); - if(MeasureDepth(Data1)==2,Data1=Data1_1); - if(MeasureDepth(Data2)==2,Data2=Data2_1); + if(Measuredepth(Data1)==2,Data1=Data1_1); + if(Measuredepth(Data2)==2,Data2=Data2_1); Data1=apply(Data1,LLcrd(#)); Data2=apply(Data2,LLcrd(#)); if(length(Data1)==length(Data2), @@ -2225,6 +2210,9 @@ IntersectcurvesPp(crv1org,crv2org,options):=( out_ii=tmp2; ); ); + if(length(out)>0, //190221from + out=sort(out,[#_2]); + ); //190221to out; ); ////%IntersectcurvesPp end//// @@ -2247,7 +2235,7 @@ NearestptcrvPhy(point,PL):=( regional(tmp,pP,plist); pP=Pcrd(point); if(isstring(PL),plist=parse(PL),plist=PL); - if(MeasureDepth(plist)==2,plist=plist_1); + if(Measuredepth(plist)==2,plist=plist_1); plist=apply(plist,#); // 14.12.18 tmp=Nearestpt(pP,plist); tmp=tmp_1; @@ -2271,7 +2259,7 @@ Nearestpt(point,PL2):=( a1,b1,a2,b2,v1,v2,x1,x2,Tmp,rT,pP,sS,Lm,Pm,Sm,Flg); //help:Nearestpt("gr1","gr2"); if(isstring(point),PL1=parse(point),PL1=point); - if(MeasureDepth(PL1)==2,PL1=PL1_1); + if(Measuredepth(PL1)==2,PL1=PL1_1); if(!islist(PL1_1), PL1=[PL1]; Flg=0; @@ -2279,7 +2267,7 @@ Nearestpt(point,PL2):=( Flg=1; ); if(isstring(PL2),PL=parse(PL2),PL=PL2); - if(MeasureDepth(PL)==2,PL=PL_1); + if(Measuredepth(PL)==2,PL=PL_1); Eps=10^(-6); Ans=[PL1_1,1,PL_1,1,|PL1_1-PL_1|]; forall(1..(length(PL1)),Nn, // 16.05.04 @@ -2306,7 +2294,7 @@ Nearestpt(point,PL2):=( ); sS=|pP-pA|; if(sS<Sm-Eps, - Tmp=ParamonCurve(pP,Ni,PL); + Tmp=Paramoncurve(pP,Ni,PL); Pm=pP; Lm=Tmp; Sm=sS; ); ); @@ -2503,7 +2491,7 @@ Integratedt(pltdata,range,options):=( Sm= IntegrateO(pltdata,range); , if(isstring(pltdata),pdata=parse(pltdata),pdata=pltdata); - if(MeasureDepth(pdata)==2,pdata=pdata_1); + if(Measuredepth(pdata)==2,pdata=pdata_1); va1=MeetCurve(pdata,range_1,0); va2=MeetCurve(pdata,range_2,0); list=select(pdata,(#_1>range_1 & #_1<range_2)); @@ -2616,7 +2604,7 @@ IntegrateO(pltdata,rangeorg):=( , pdata=pltdata; ); - if(MeasureDepth(pdata)==2,pdata=pdata_1); + if(Measuredepth(pdata)==2,pdata=pdata_1); range=rangeorg; pmflg=1; if(range_2<range_1, @@ -2801,17 +2789,11 @@ Com1st(String):=( ////%Com1st end//// ////%Com2nd start//// -Com2nd(String):=Com2nd(String,["a"]);//180612 -Com2nd(String,option):=( -// help:Com2nd(str,["before"]); +Com2nd(String):=( +// help:Com2nd(str); regional(str,tmp); str=replace(String,LFmark,""); - tmp=substring(option_1,0,1);//180612from - if(Toupper(tmp)=="B", - COM2ndlistb=append(COM2ndlistb,str); - , - COM2ndlist=append(COM2ndlist,str); - );//180612to + COM2ndlist=append(COM2ndlist,str); ); ////%Com2nd end//// @@ -3610,7 +3592,7 @@ AddGraph(nm,pltdata,options):=( ); GLIST=append(GLIST,name+"="+tmp1); //no ketjs , - if(MeasureDepth(pdata)==1, + if(Measuredepth(pdata)==1, tmp1=name+"=Listplot("+Textformat(pdata,5)+")"; , tmp1="list"+PaO(); @@ -3756,7 +3738,7 @@ Partcrv(nm,pA,pB,PkLstr,options):=( name="part"+nm; if(isstring(PkLstr),PkL=parse(PkLstr),PkL=PkLstr); DepthFlg=0; - if(MeasureDepth(PkL)==2, + if(Measuredepth(PkL)==2, PkL=PkL_1; DepthFlg=1; ); @@ -3858,7 +3840,7 @@ Pointdata(nm,listorg,options):=( //help:Pointdata("2",[[2,3],[4,1]]); //help:Pointdata(options=["Size=(1)","Disp=(y)","Inside="]); //help:Pointdata("Inside=1(def)/ratio/rgblist/colorname/-1"]); - regional(list,name,nameL,ptlist,opstr,opcindy, + regional(list,name,nameL,ptlist,opstr,opcindy,Msg, eqL,dispflg,size,thick,tmp,tmp1,tmp2,tmp3, Ltype,Noflg,color,inside); name="pt"+nm; @@ -3873,6 +3855,7 @@ Pointdata(nm,listorg,options):=( size=""; dispflg="Y"; inside=color; + Msg="Y"; forall(eqL, tmp=Strsplit(#,"="); tmp1=Toupper(substring(tmp_1,0,1)); @@ -3898,22 +3881,31 @@ Pointdata(nm,listorg,options):=( inside=concat(inside,tmp); ); ); //181229to + if(tmp1=="M", //190206from + Msg=Toupper(substring(tmp_2,0,1)); + ); //190206to ); if(dispflg=="Y", - println("generate pointdata "+name); + if(Msg=="Y", //190206 + println("generate pointdata "+name); + ); ); //181030to if(isstring(listorg), list=parse(listorg) , list=listorg ); //17.10.23 - if(MeasureDepth(list)==0,list=[list]);//180530 - tmp=MeasureDepth(list); + if(Measuredepth(list)==0,list=[list]);//180530 + tmp=Measuredepth(list); if(tmp==1,ptlist=list,ptlist=list_1); //190126from tmp=apply(ptlist,[Textformat(Pcrd(#),5)]); tmp1=text(tmp); tmp2=substring(tmp1,1,length(tmp1)-1); tmp3=tmp1; + tmp=parse(tmp1); + if(length(tmp)==1, //190301from + tmp1=Textformat(tmp_1,5); + ); //190301to tmp=name+"="+tmp1; parse(tmp); tmp=nameL+"="+tmp3; @@ -4006,27 +3998,23 @@ Listplot(nm,list,options):=( eqL=tmp_5; color=tmp_(length(tmp)-2); opcindy=tmp_(length(tmp)); - Msg=1; // 15.09.17 + Msg="Y"; //190206 cutend=[0,0];//180719 forall(eqL, tmp=Strsplit(#,"="); tmp1=Toupper(substring(tmp_1,0,1)); - tmp2=tmp_2; if(tmp1=="M", - tmp=Toupper(substring(tmp2,0,1)); - if(tmp=="N", // 16.06.28 - Msg=0; - ); + Msg=Toupper(substring(tmp_2,0,1)); ); if(tmp1=="C",//180719from - tmp2=replace(tmp2,"[",""); + tmp2=replace(tmp_2,"[",""); tmp2=replace(tmp2,"]",""); cutend=tokenize(tmp2,","); if(length(cutend)==1,cutend=[cutend_1,cutend_1]); );//180719to ); if(Noflg<3, - if(Msg==1, + if(Msg=="Y", //190206 println("generate Listplot "+name); ); if(isstring(list_1),tmp=apply(list,parse(#)),tmp=list); // 15.03.24 @@ -4061,20 +4049,33 @@ Listplot(nm,list,options):=( ////%Listplot end//// ////%Lineplot start//// -Lineplot(nm,list,options):=( +Lineplot(nm,list,optionorg):=( //help:Lineplot([A,B]); //help:Lineplot("1",[[2,1],[3,3]]); - regional(name,Out,tmp,tmp1,opstr,opcindy,Mag,Semi, - Vec,pA,pB,Ltype,Noflg,color); + regional(name,Out,tmp,tmp1,tmp2,opstr,opcindy,Mag,Semi, + Vec,pA,pB,options,Ltype,Noflg,color,Msg,eqL); name="ln"+nm; + options=optionorg; Mag=100; Semi=""; + Msg="Y"; tmp=Divoptions(options); Ltype=tmp_1; Noflg=tmp_2; color=tmp_(length(tmp)-2); opcindy=tmp_(length(tmp)); opstr=tmp_(length(tmp)-1); + eqL=tmp_5; + forall(eqL, + tmp=Strsplit(#,"="); + tmp1=Toupper(substring(tmp_1,0,1)); + if(tmp1=="M", //190206from + Msg=Toupper(substring(tmp_2,0,1)); + options=remove(options,[#]); + ); //190206to + ); + tmp=Divoptions(options); + opstr=tmp_(length(tmp)-1); tmp1=tmp_6; if(length(tmp1)>0,Mag=tmp1_1); tmp1=tmp_7; @@ -4091,7 +4092,9 @@ Lineplot(nm,list,options):=( ); ); if(Noflg<3, - println("generate Lineplot "+name); + if(Msg=="Y", //190206 + println("generate Lineplot "+name); + ); tmp1=apply(Out,Pcrd(#)); tmp=name+"="+Textformat(tmp1,5); parse(tmp); @@ -4139,7 +4142,7 @@ Plotdata(name1,func,variable,options):=( //help:Plotdata("2","x^2","x=[-1,1]"); //help:Plotdata("3","Fout(x)","x",["out"]); regional(Fn,Va,tmp,tmp1,tmp2,eqL,name,Vname,x1,x2,dx, - PdL,Num,Ec,Dc,Fun,Exfun,x,Ke,Eps,Pa, + PdL,Num,Ec,Dc,Fun,Exfun,x,Ke,Eps,Pa,Msg, Ltype,Noflg,Inflg,Outflg,opstr,opcindy,color); name="gr"+name1; tmp=Divoptions(options); @@ -4155,17 +4158,18 @@ Plotdata(name1,func,variable,options):=( Ec=[]; Exfun=""; Dc=1000; + Msg="Y"; forall(eqL, - tmp=indexof(#,"="); - tmp1=substring(#,tmp,length(#)); - if(substring(#,0,1)=="N", - Num=parse(tmp1); + tmp=Strsplit(#,"="); + tmp1=Toupper(substring(#,0,1)); + if(tmp1=="N", + Num=parse(tmp_2); opstr=opstr+","+Dqq(#); ); - if(substring(#,0,1)=="E", - if(substring(tmp1,0,1)=="[", //180817from - Ec=parse(tmp1); - tmp1=replace(tmp1,"[","c"+PaO()); + if(tmp1=="E", + if(substring(tmp_2,0,1)=="[", //180817from + Ec=parse(tmp_2); + tmp1=replace(tmp_2,"[","c"+PaO()); tmp1=replace(tmp1,",",".0,"); tmp1=replace(tmp1,"]",".0)"); opstr=opstr+","+Dqq("Exc="+tmp1); //180817to @@ -4175,9 +4179,12 @@ Plotdata(name1,func,variable,options):=( ); ); if(substring(#,0,1)=="D", - Dc=parse(tmp1); + Dc=parse(tmp_2); opstr=opstr+","+Dqq(#); ); + if(tmp1=="M", //190206from + Msg=Toupper(substring(tmp_2,0,1)); + ); //190206to ); if(Inflg==0 & Outflg==0, Eps=10^(-3); @@ -4279,8 +4286,10 @@ Plotdata(name1,func,variable,options):=( PdL=PdL_1; ); if(Noflg<3, - println("generate Plotdata "+name); - if(MeasureDepth(PdL)==1, + if(Msg=="Y", //190206 + println("generate Plotdata "+name); + ); + if(Measuredepth(PdL)==1, tmp1=apply(PdL,Pcrd(#)); , tmp1=[]; @@ -4335,7 +4344,7 @@ Plotdata(name1,func,variable,options):=( Paramplot(nm,funstr,variable):=Paramplot(nm,funstr,variable,[]); Paramplot(nm,funstr,variable,options):=( //help:Paramplot("1","[2*cos(t),sin(t)]","t=[0,2*pi]"); - regional(name,Out,tmp,tmp1,tmp2,vname,func,str,Rng,Num, + regional(name,Out,tmp,tmp1,tmp2,vname,func,str,Rng,Num,Msg, Ec,Exfun,Dc,eqL,Fntmp,Vatmp,t1,t2,dt,tt,pa,ke, pt, //190103 Ltype,Noflg,Inflg,Outflg,opstr,opcindy,color); if(substring(nm,0,1)=="-", // 180928from @@ -4358,16 +4367,16 @@ Paramplot(nm,funstr,variable,options):=( Exfun=""; Dc=1000; forall(eqL, - tmp=indexof(#,"="); - tmp1=substring(#,tmp,length(#)); - if(substring(#,0,1)=="N", - Num=parse(tmp1); + tmp=Strsplit(#,"="); + tmp1=Toupper(substring(tmp_1,0,1)); + if(tmp1=="N", + Num=parse(tmp_2); opstr=opstr+","+Dqq(#); ); - if(substring(#,0,1)=="E", - if(substring(tmp1,0,1)=="[", //180817from - Ec=parse(tmp1); - tmp1=replace(tmp1,"[","c"+PaO()); + if(tmp1=="E", + if(substring(tmp_2,0,1)=="[", //180817from + Ec=parse(tmp_2); + tmp1=replace(tmp_2,"[","c"+PaO()); tmp1=replace(tmp1,",",".0,"); tmp1=replace(tmp1,"]",".0)"); opstr=opstr+","+Dqq("Exc="+tmp1); //180817to @@ -4377,9 +4386,12 @@ Paramplot(nm,funstr,variable,options):=( ); ); if(substring(#,0,1)=="D", - Dc=parse(tmp1); + Dc=parse(tmp_2); opstr=opstr+","+Dqq(#); ); + if(tmp1=="M", //190206from + Msg=Toupper(substring(tmp_2,0,1)); + ); //190206to ); if(Inflg==0 & Outflg==0, tmp=indexof(variable,"="); @@ -4449,8 +4461,10 @@ Paramplot(nm,funstr,variable,options):=( Out=Out_1; ); if(Noflg<3, - println("generate Paramplot "+name); - if(MeasureDepth(Out)==1, + if(Msg=="Y", //190206 + println("generate Paramplot "+name); + ); + if(Measuredepth(Out)==1, tmp1=apply(Out,Pcrd(#)); , tmp1=[]; @@ -4596,7 +4610,6 @@ Implicitplot(name1,func,xrng,yrng,optionsorg):=( Noflg=tmp_2; eqL=tmp_5; color=tmp_(length(tmp)-2); - opstr=tmp_(length(tmp)-1); opcindy=tmp_(length(tmp)); Mdv=50;Ndv=50; msg="Y"; @@ -4604,7 +4617,6 @@ Implicitplot(name1,func,xrng,yrng,optionsorg):=( tmp=Strsplit(#,"="); tmp1=Toupper(substring(tmp_1,0,1)); tmp2=tmp_2; - opstr=opstr+",'"+#+"'"; if(substring(#,0,1)=="N", Mdv=parse(tmp2); if(!islist(Mdv), @@ -4613,6 +4625,7 @@ Implicitplot(name1,func,xrng,yrng,optionsorg):=( Ndv=Mdv_2; Mdv=Mdv_1; ); + opstr=",'"+#+"'"; ); if(substring(#,0,1)=="M", //181112from msg=Toupper(substring(tmp2,0,1)); @@ -4691,7 +4704,7 @@ Implicitplot(name1,func,xrng,yrng,optionsorg):=( if(msg=="Y", //181112 println("generate Implicitplotdata "+name); ); - if(MeasureDepth(out)==1, + if(Measuredepth(out)==1, tmp1=apply(out,Pcrd(#)); , tmp1=[]; @@ -4743,8 +4756,8 @@ Circledata(para1,para2):=( Circledata(name,cenrad,options); ); Circledata(nm,cenrad,options):=( - regional(name,Out,Ctr,Ptcir,ra,Num,Rg,opstr,opcindy,color, - tmp,tmp1,tmp1,Th,Ltype,Noflg,eqL,pA,pB,pC,d1,d2,Eps); + regional(name,Out,Ctr,Ptcir,ra,Num,Rg,opstr,opcindy,color,Msg, + tmp,tmp1,tmp2,Th,Ltype,Noflg,eqL,pA,pB,pC,d1,d2,Eps); name="cr"+nm; tmp=Divoptions(options); Ltype=tmp_1; @@ -4755,16 +4768,21 @@ Circledata(nm,cenrad,options):=( opcindy=tmp_(length(tmp)); Num=50; Rg=[0,2*pi]; + Msg="Y"; forall(eqL, - tmp=indexof(#,"="); - tmp1=substring(#,tmp,length(#)); - opstr=opstr+",'"+#+"'"; + tmp=Strsplit(#,"="); + tmp1=Toupper(substring(tmp_1,0,1)); if(substring(#,0,1)=="N", - Num=parse(tmp1); + Num=parse(tmp_2); + opstr=opstr+",'"+#+"'"; ); if(substring(#,0,1)=="R", - Rg=parse(tmp1); + Rg=parse(tmp_2); + opstr=opstr+",'"+#+"'"; ); + if(tmp1=="M", //190206from + Msg=Toupper(substring(tmp_2,0,1)); + ); //190206to ); if(length(cenrad)==2, Ctr=Lcrd(cenrad_1); @@ -4802,7 +4820,9 @@ Circledata(nm,cenrad,options):=( Out=Lineplot("1",[pA,pB],["nodata"]); ); if(Noflg<3, - println("generate Circledata "+name); + if(Msg=="Y", //190206 + println("generate Circledata "+name); + ); tmp1=apply(Out,Pcrd(#)); tmp=name+"="+Textformat(tmp1,5); parse(tmp); @@ -4839,7 +4859,7 @@ Circledata(nm,cenrad,options):=( Framedata():=Framedata(["dr"]);//16.10.29from Framedata(list):=( regional(pA,pB); - if(MeasureDepth(list)==0, + if(Measuredepth(list)==0, pA=LLcrd((SW+NE)/2); // 15.09.17 pB=LLcrd(NE); Framedata("win",[pA,pB],list); @@ -5426,7 +5446,7 @@ Arrowheaddata(point,direction,options):=( hiraki=hiraki*pi/180; if(ispoint(direction),Houkou=direction.xy); //181018 if(isstring(direction),Houkou=parse(direction),Houkou=direction); - if(MeasureDepth(Houkou)==2,Houkou=Houkou_1); + if(Measuredepth(Houkou)==2,Houkou=Houkou_1); if(coord=="P",//181018from if(ispoint(point),pP=point.xy,pP=point); , @@ -5530,7 +5550,7 @@ Arrowhead(nm,point,direction,optionsorg):=(//181018from options=concat(options,tmp); //181214to if(ispoint(direction),Houkou=direction.xy); //181018 if(isstring(direction),Houkou=parse(direction),Houkou=direction); - if(MeasureDepth(Houkou)==2,Houkou=Houkou_1); + if(Measuredepth(Houkou)==2,Houkou=Houkou_1); if(coord=="P",//181018from if(ispoint(point),pP=point.xy,pP=point); , @@ -5687,7 +5707,7 @@ Arrowdata(nm,ptlist,optionsorg):=( ////%Anglemark start//// Anglemark(plist):=Anglemark(plist,[]); -Anglemark(Arg1,Arg2):=( // 2015.04.28 from +Anglemark(Arg1,Arg2):=( // 2015.04.28 from regional(nm,plist,options,tmp); if(isstring(Arg1), nm=Arg1; @@ -5705,17 +5725,16 @@ Anglemark(Arg1,Arg2):=( // 2015.04.28 from Anglemark(nm,plist,options):=( //help([A,B,C],["E=\theta",2]); //help:Anglemark("1",[A,B,C],["E=1.2,\theta",2]); -//help:Anglemark("1",[A,B,2*pi]); +// help:Anglemark("1",[A,B,2*pi]); //help:Anglemark(options=[size,"E/L=(sep,)letter"]); regional(name,Out,pB,pA,pC,Ctr,ra,sab,sac,ratio,opstr,Bname,Bpos,color, - Brat,tmp,tmp1,tmp2,Num,opcindy,Ltype,eqL,realL,Rg,Th,Noflg); + Brat,tmp,tmp1,tmp2,Num,opcindy,Ltype,eqL,realL,Rg,Th,Noflg,Msg); name="ag"+nm; Bpos="md"+name; ra=0.5; tmp=Divoptions(options); Ltype=tmp_1; Noflg=tmp_2; -// opstr=tmp_(length(tmp)-1);//180530 color=tmp_(length(tmp)-2); opcindy=tmp_(length(tmp)); eqL=tmp_5; @@ -5723,21 +5742,28 @@ Anglemark(nm,plist,options):=( Bname=""; Brat=1.2; //180530 Num=20; + Msg="Y"; opstr=""; if(length(realL)>0, ra=realL_1*ra; opstr=","+text(realL_1);//180530 ); forall(eqL, - if(substring(#,0,1)=="L",Bname="Letter("); - if(substring(#,0,1)=="E",Bname="Expr("); - Bname=Bname+Bpos+","+Dq+"c"+Dq+","+Dq;//16.10.29 - tmp=substring(#,indexof(#,"="),length(#)); - tmp1=indexof(tmp,","); - Bname=Bname+substring(tmp,tmp1,length(tmp))+Dq+")"; - if(tmp1>0, - Brat=parse(substring(tmp,0,tmp1-1)); + tmp=Strsplit(#,"="); + tmp1=Toupper(substring(tmp_1,0,1)); + if((tmp1=="L")%(tmp1=="E"), + if(tmp1=="L",Bname="Letter("); + if(tmp1=="E",Bname="Expr("); + Bname=Bname+Bpos+","+Dq+"c"+Dq+","+Dq;//16.10.29 + tmp1=indexof(tmp_2,","); + Bname=Bname+substring(tmp_2,tmp1,length(tmp_2))+Dq+")"; //190219 + if(tmp1>0, + Brat=parse(substring(tmp_2,0,tmp1-1)); + ); ); + if(tmp1=="M", //190206from + Msg=Toupper(substring(tmp_2,0,1)); + ); //190206to ); pB=Lcrd(plist_1); pA=Lcrd(plist_2); sab=pB-pA; Ctr=pA; @@ -5767,7 +5793,9 @@ Anglemark(nm,plist,options):=( parse(Bname); ); if(Noflg<3, - println("generate anglemark "+name+" and "+Bpos); + if(Msg=="Y", //190206 + println("generate anglemark "+name+" and "+Bpos); + ); tmp1=apply(Out,Pcrd(#)); tmp=name+"="+Textformat(tmp1,5); parse(tmp); @@ -5922,7 +5950,7 @@ Bowdata(nm,plist,options):=( //help:Bowdata([A,B],["Expr=t0n3,a"]); //help:Bowdata([A,B],["Exprrot=t0n2r,a"]); regional(name,Out,pB,pA,pC,ra,tmp,tmp1,tmp2,Ltype,eqL,realL, - Bname,Bpos,Th,Cut,Num,Hgt,opstr,opcindy,Ydata,pC, + Bname,Bpos,Th,Cut,Num,Hgt,opstr,opcindy,Ydata,pC,Msg, Th1,Th2,Noflg,Bops,Bmov,Tmov,Nmov,rev,color); name="bw"+nm; tmp=Divoptions(options); @@ -5938,6 +5966,7 @@ Bowdata(nm,plist,options):=( Cut=0; Num=24; Bname=""; + Msg="Y"; //190206 Tmov=0;//16.11.01from Nmov=0; Bmov=""; @@ -5947,23 +5976,27 @@ Bowdata(nm,plist,options):=( if(length(realL)>1,Cut=realL_2); ); forall(eqL, - tmp=substring(#,0,1); - if(tmp=="L" % tmp=="l", + tmp=Strsplit(#,"="); + tmp1=Toupper(substring(tmp_1,0,1)); + if(tmp1=="L", if(indexof(#,"rot")>0, Bname="Letterrot("; , Bname="Letter("; ); + Bops=tmp_2; ); - if(tmp=="E" % tmp=="e", + if(tmp1=="E", if(indexof(#,"rot")>0, Bname="Exprrot("; , Bname="Expr("; ); + Bops=tmp_2; ); - tmp=indexof(#,"="); - Bops=substring(#,tmp,length(#)); // 16.11.01 + if(tmp1=="M", //190206from + Msg=Toupper(substring(tmp_2,0,1)); + ); //190206to ); Ydata=MakeBowdata(pA,pB,Hgt); pC=Ydata_1; @@ -6041,8 +6074,10 @@ Bowdata(nm,plist,options):=( Out=[tmp1,tmp2]; ); if(Noflg<3, - println("generate bowdata "+name+" and "+Bpos);//16.10.31 - if(MeasureDepth(Out)==1,Out=[Out]); + if(Msg=="Y", //190206 + println("generate bowdata "+name+" and "+Bpos);//16.10.31 + ); + if(Measuredepth(Out)==1,Out=[Out]); tmp1=[]; forall(Out,tmp2, tmp=apply(tmp2,Pcrd(#)); @@ -6084,7 +6119,7 @@ Bownamerot(bwdata,str,updown):=Bownamerot(bwdata,0,0,str,updown); Bownamerot(bwdata,tmov,nmov,str):=Bownamerot(bwdata,tmov,nmov,str,1); Bownamerot(bwdata,tmov,nmov,str,updown):=( regional(bdata,tmp); - tmp=MeasureDepth(bwdata); + tmp=Measuredepth(bwdata); if(tmp==1,bdata=[bwdata],bdata=bwdata); if(length(bdata)>1, tmp=Ptend(bdata_2)-Ptstart(bdata_1); @@ -6178,7 +6213,7 @@ Deqplot(nm,deqorg,rngorg,initt,initf,options):=( //17.10.06 //help:Deqplot("1","y''=-y","x",0, [1,0]); //help:Deqplot("3","[x,y]'=[x*(1-y),0.3*y*(x-1)]","t=[0,20]",0,[1,0.5]); regional(deq,rng,Ltype,Noflg,eqL,opcindy,Num,name,nn,pdL,phase, - sel,tmp,tmp1,tmp2,color); + sel,tmp,tmp1,tmp2,tmp3,color); name="de"+nm; tmp=Divoptions(options); Ltype=tmp_1; @@ -6200,10 +6235,11 @@ Deqplot(nm,deqorg,rngorg,initt,initf,options):=( //17.10.06 if(indexof(rng,"=")==0, rng=rng+"="+Textformat([XMIN,XMAX],6); ); - deq=deqorg; + deq=replace(deqorg,"‘","`"); //190206 deq=replace(deq,"'","`"); //180527 - tmp=indexof(deq,"="); - tmp1=substring(deq,0,tmp-1); + tmp3=indexof(deq,"="); + tmp1=substring(deq,0,tmp3-1); + tmp2=substring(deq,tmp3,length(deq)); if(indexof(tmp1,"[")==0, phase=0; sel=[1,2]; @@ -6211,14 +6247,32 @@ Deqplot(nm,deqorg,rngorg,initt,initf,options):=( //17.10.06 phase=1; sel=[2,3]; ); - tmp2=substring(deq,tmp,length(deq)); nn=length(Indexall(tmp1,"`")); + if(nn==0, //190211from + println(" Lhs of equation has no single/back quotation "+tmp1); + ); + if(nn>0, + tmp=Indexall(tmp1,"`"); + if(tmp_(length(tmp))!=tmp3-1, + nn=0; + , + forall(reverse(2..(length(tmp))), + if((nn>0)&(!contains(tmp,tmp_#-1)), + nn=0; + ); + ); + ); + if(nn==0, + println(" Lhs of equation is not correct"); + ); + ); //190211to if(nn==1, if(indexof(tmp1,"[")==0, tmp1="["+replace(tmp1,"`","]`"); deq=tmp1+"="+tmp2; ); - , + ); + if(nn>1, tmp=indexof(tmp1,"`"); tmp1=substring(tmp1,0,tmp-1); deq="["; @@ -6252,7 +6306,7 @@ Deqplot(nm,deqorg,rngorg,initt,initf,options):=( //17.10.06 ); deq=deq+"]"; ); - if(Noflg<3, + if((nn>0)&(Noflg<3), //190211 pdL=Deqdata(deq,rng,initt,initf,Num); if(phase==1, pdL=apply(pdL,#_(2..3)); @@ -6261,7 +6315,7 @@ Deqplot(nm,deqorg,rngorg,initt,initf,options):=( //17.10.06 tmp=name+"="+Textformat(tmp1,5); parse(tmp); ); - if(Noflg<1, //no ketjs on + if((nn>0)&(Noflg<1), //190211 //no ketjs on tmp=Assign(deq); tmp=replace(deq,"'","`"); tmp=name+"=Deqplot('"+tmp+"','"+rng+"',"; @@ -6270,7 +6324,7 @@ Deqplot(nm,deqorg,rngorg,initt,initf,options):=( //17.10.06 tmp=RSform(tmp); GLIST=append(GLIST,tmp); ); //no ketjs off - if(Noflg<2, + if((nn>0)&(Noflg<2), //190211 if(isstring(Ltype), if((Noflg==0)&(color!=KCOLOR), //180904 //no ketjs on Texcom("{");Com2nd("Setcolor("+color+")");//180722 @@ -6399,7 +6453,7 @@ EnclosingS(nm,plist,options):=( forall(1..(length(KL)),ii, tmp1=KL_ii_1; tmp=KL_ii_3; - tmp2=ParamonCurve(tmp1,tmp,Fdata); + tmp2=Paramoncurve(tmp1,tmp,Fdata); tmp3=KL_ii_2; if(tmp2>t1+Eps & tmp2<t2+Eps, qt=tmp1; @@ -7043,23 +7097,114 @@ Hatchdatacindy(nm,iostr,bdylistorg,optionsorg):=( ); ////%Hatchdata end//// +////%Shadein start//// +Shadein(pstrorg):=( //190220 + regional(pstr,ptL,pL,crv,nn, + tmp,tmp1,tmp2,pm1,pm2,p1,p2,flg); + if(islist(pstrorg),pstr=pstrorg_1,pstr=pstrorg); + crv=[]; + Framedata(["nodisp"]); + ptL=IntersectcurvesPp(pstr,frwin); + if(length(ptL)>0, + pL=apply(ptL,#_2); + forall(1..(length(pL)),nn, + if(nn<length(pL), + tmp1=pL_nn; + tmp2=pL_(nn+1); + tmp=Pointoncrv((tmp1+tmp2)/2,pstr); + , + tmp1=pL_nn; + tmp2=pL_1; + tmp=parse(pstr); + if(pL_nn==length(tmp), + tmp=tmp_1; + , + tmp=tmp_(length(tmp)); + ); + ); + if(Inwindow(tmp), + tmp=Partcrv("",tmp1,tmp2,pstr,["nodata"]); + , + tmp1=Pointoncrv(tmp1,pstr); + tmp2=Pointoncrv(tmp2,pstr); + pm1=Paramoncrv(tmp1,frwin); + pm2=Paramoncrv(tmp2,frwin); + if(floor(pm1)==floor(pm2), + tmp=Listplot("",[tmp1,tmp2],["nodata"]); + , + tmp=floor(pm1); + p1=Pointoncrv(tmp,"frwin"); + p2=Pointoncrv(mod(tmp,4)+1,"frwin"); + tmp=p1-10*(p2-p1); + Listplot("frwin",[p1,tmp],["nodisp","Msg=n"]); + tmp=IntersectcurvesPp("sgfrwin",pstr); + if(mod(length(tmp),2)==0, //190223from + if(pm2<pm1,pm2=pm2+4); + tmp=[tmp1]; + pm1=floor(pm1)+1; + flg=0; + forall(1..3, + if(flg==0, + if(pm1<pm2, + p1=Pointoncrv(mod(pm1-1,4)+1,"frwin"); + tmp=append(tmp,p1); + pm1=pm1+1; + , + flg=1; + ); + ); + ); + if(pm1-1<pm2,tmp=append(tmp,tmp2)); + , + if(pm2>pm1,pm2=pm2-4); + tmp=[tmp1]; + pm1=floor(pm1); + flg=0; + forall(1..3, + if(flg==0, + if(pm1>pm2, + p1=Pointoncrv(mod(pm1-1,4)+1,"frwin"); + tmp=append(tmp,p1); + pm1=pm1-1; + , + flg=1; + ); + ); + ); + if(pm1+1>pm2,tmp=append(tmp,tmp2)); + ); //190223to + ); + ); + if(length(crv)==0, + crv=tmp; + , + crv=Joincrvs("",[crv,tmp],["nodata"]); + ); + ); + , + if(Inwindow(parse(pstr+"_1")),crv=pstr,crv=frwin); + ); + crv; +); +////%Shadein end//// + ////%Shade start//// -Shade(plist):=Shade("",plist,[]); //180613from +Shade(plist):=Shade(plist,[]); Shade(Arg1,Arg2):=( - if(isstring(Arg1), - Shade(Arg1,Arg2,[]); + if(!isstring(Arg1), + Shade(text(SHADECTR),Arg1,Arg2); //190222 , - Shade("",Arg1,Arg2); + Shade(Arg1,Arg2,[]); ); ); -Shade(nm,plistorg,options):=( //180613to -//help:Shade(["gr"],[0.5]); -//help:Shade(["gr"],["Color=red"]); -//help:Shade(["gr2","sg1"],["Color=[0,0,0,0.5]"]); -//help:Shade(["gr2","sg1"],["Color=[1,0,0]"]); +Shade(nm,plistorg,options):=( +//help:Shade(["gr1"],[0.5]); +//help:Shade(["gr1"],["Color=red"]); +//help:Shade(["gr1"],["Trim=y(n)"]); //190224 +// help:Shade(["gr1","sg1"],["Color=[1,0,0]"]); // help:Shade([[A,B,C,A]]); -//help:Shade("1",["gr2","Invert(sg1)"],["Enc=y",startpt]]); - regional(name,plist,jj,tmp,tmp1,tmp2, +//help:Shade(["gr2","Invert(sg1)"],["Enc=y",(Startpoint)]); + regional(name,plist,jj,nn,trim,tmp,tmp1,tmp2, opstr,opcindy,eqL,reL,Str,G2,flg,encflg,startpt,color,ctr); name="shade"+nm; plist=plistorg; @@ -7076,6 +7221,7 @@ Shade(nm,plistorg,options):=( //180613to opcindy=tmp_(length(tmp)); tmp=select(plist,indexof(#,"Invert")>0); //180929from if(length(tmp)>0,encflg=1,encflg=0); + trim="N"; forall(eqL, tmp=Strsplit(#,"="); tmp1=Toupper(tmp_1); @@ -7088,6 +7234,9 @@ Shade(nm,plistorg,options):=( //180613to encflg=0; ); ); + if(substring(tmp1,0,1)=="T", + trim=substring(tmp2,0,1); + ); ); startpt=[]; forall(reL, @@ -7107,6 +7256,9 @@ Shade(nm,plistorg,options):=( //180613to ); plist=["en"+nm]; ); //180929to + if((length(plist)==1)&(trim=="Y"), //190220from,109224 + plist=[Shadein(plist)]; + ); //190220to forall(1..(length(plist)),jj, //180613from if(flg==0, tmp1=plist_jj; @@ -7131,13 +7283,13 @@ Shade(nm,plistorg,options):=( //180613to );//180613to if(flg==1, println(" some data not defined properly"); - , + , G2=Joincrvs("1",plist,["nodata"]); G2=apply(G2,Pcrd(#)); tmp1="fillpoly("+Textformat(G2,5)+opcindy+");"; parse(tmp1); ); - Str="Shade("; + Str="Shade("; //no ketjs on tmp1="list"+PaO(); forall(plist, if(isstring(#), // from 16.01.24 @@ -7150,10 +7302,21 @@ Shade(nm,plistorg,options):=( //180613to tmp1=tmp1+"Listplot("+Textformat(#,5)+"),"; ); //16.01.24to ); - Str=Str+substring(tmp1,0,length(tmp1)-1)+")"+")"; //180929 - Com2nd("Texcom("+Dqq("{")+")",["before"]);Com2nd("Setcolor("+color+")",["before"]);//180722 //no ketjs on - Com2nd(Str,["before"]); - Com2nd("Texcom("+Dqq("}")+")",["before"]);//180722 //no ketjs off + Str=Str+substring(tmp1,0,length(tmp1)-1)+")"+")"; //180929 + nn=length(COM2ndlist); //190311from + jj=nn; + forall(plist,tmp1, + tmp=select(1..nn,indexof(COM2ndlist_#,tmp1)>0); + jj=min(append(tmp,jj)); + ); + tmp1=["Texcom("+Dqq("{")+")","Setcolor("+color+")",Str,"Texcom("+Dqq("}")+")"]; + tmp2=COM2ndlist_(1..(jj-1)); + tmp=COM2ndlist_(jj..(length(COM2ndlist))); + if(!islist(tmp),tmp=[tmp]); + COM2ndlist=concat(tmp2,tmp1); + COM2ndlist=concat(COM2ndlist,tmp); //190311to + //no ketjs off + SHADECTR=SHADECTR+1; ); ////%Shade end//// diff --git a/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibbasic2logr.txt b/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibbasic2logr.txt index 64a995c970e..fb2ec442dcf 100644 --- a/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibbasic2logr.txt +++ b/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibbasic2logr.txt @@ -1,3 +1,29 @@ +// 20190301 +// MeasureDepth => Measuredepth +// 20190228 +// Putcell,Putcellexpr,Putrow,Putrowexpr,Putcell,Putcellexpr changed ( options added ) +// 20190225 +// Mkketcindyjs debugged ( nolabel ) +// 20190222 +// Mktitle, Presentation changed ( "xcolor" => "color" ) +// 20190217 +// Putoncurve remade +/// 20190216 +// Putonseg changed, Putonline debugged +// 20190215 +// Mkketcindyjs changed (default of "Locsl=" reverted to "y") +// 20190214 +// Copyketcindyjs changed (for Mac,Linux) +// 20190209 +// Mkketcindyjs changed (fliename when Local="y", Case of rhs of option is blank) +// Mkketcindyjs changed ( "3d" added ) +// Letter changed ("Size=ratio" added ) +// Mkketcindyjs changed ( Local="n" as default) +// Slider changed ( for no end points ) +// 20190208 +// Mkketcindyjs changed ( Local="y" as default) +// 20190206 +// Mkketcindyjs changed ( kettex added to init slot, "only ketjs" added) // 20190203 // Mkketcindyjs debugged ( in case of local=y ) // 20190202 diff --git a/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibbasic2r.cs b/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibbasic2r.cs index a9611b0f98d..0ff8a34535b 100644 --- a/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibbasic2r.cs +++ b/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibbasic2r.cs @@ -14,7 +14,7 @@ // along with this program. If not, see <http://www.gnu.org/licenses/> // -println("ketcindybasic2[20190203] loaded"); +println("ketcindybasic2[20190301] loaded"); //help:start(); @@ -131,7 +131,7 @@ Rotatedata(nm,plist,angle,options):=( if(length(tmp1)>0,Pt=Lcrd(tmp1_1)); pdata=plist; if(isstring(pdata),pdata=[pdata]); - if(!isstring(pdata_1) & MeasureDepth(pdata)==1, + if(!isstring(pdata_1) & Measuredepth(pdata)==1, pdata=[pdata]; ); if(isstring(angle),Theta=parse(angle),Theta=angle); @@ -139,8 +139,8 @@ Rotatedata(nm,plist,angle,options):=( PdL=[]; forall(pdata,Njj, if(isstring(Njj),Kj=parse(Njj),Kj=Njj); - if(MeasureDepth(Kj)==0,Kj=[Kj]); //17.11.24 - if(MeasureDepth(Kj)==1,Kj=[Kj]); + if(Measuredepth(Kj)==0,Kj=[Kj]); //17.11.24 + if(Measuredepth(Kj)==1,Kj=[Kj]); tmp2=[]; forall(Kj,Nj, tmp1=[]; @@ -204,7 +204,7 @@ Translatedata(nm,plist,mov,options):=( opcindy=tmp_(length(tmp)); pdata=plist; if(isstring(pdata),pdata=[pdata]); - if(!isstring(pdata_1) & MeasureDepth(pdata)==1, + if(!isstring(pdata_1) & Measuredepth(pdata)==1, pdata=[pdata]; ); tmp=Lcrd(mov); @@ -212,7 +212,7 @@ Translatedata(nm,plist,mov,options):=( PdL=[]; forall(pdata,Njj, if(isstring(Njj),Kj=parse(Njj),Kj=Njj); - if(MeasureDepth(Kj)==1,Kj=[Kj]); + if(Measuredepth(Kj)==1,Kj=[Kj]); tmp2=[]; forall(Kj,Nj, tmp1=[]; @@ -297,14 +297,14 @@ Scaledata(nm,plist,rx,ry,options):=( ); pdata=plist; if(isstring(pdata),pdata=[pdata]); - if(!isstring(pdata_1) & MeasureDepth(pdata)==1, + if(!isstring(pdata_1) & Measuredepth(pdata)==1, pdata=[pdata]; ); Cx=Pt_1; Cy=Pt_2; PdL=[]; forall(pdata,Njj, if(isstring(Njj),Kj=parse(Njj),Kj=Njj); - if(MeasureDepth(Kj)==1,Kj=[Kj]); + if(Measuredepth(Kj)==1,Kj=[Kj]); tmp2=[]; forall(Kj,Nj, tmp1=[]; @@ -367,7 +367,7 @@ Reflectdata(nm,plist,symL,options):=( opcindy=tmp_(length(tmp)); pdata=plist; if(isstring(pdata),pdata=[pdata]); - if(!isstring(pdata_1) & MeasureDepth(pdata)==1, + if(!isstring(pdata_1) & Measuredepth(pdata)==1, pdata=[pdata]; ); Pt1=Lcrd(symL_1); @@ -381,7 +381,7 @@ Reflectdata(nm,plist,symL,options):=( PdL=[]; forall(pdata,Njj, if(isstring(Njj),Kj=parse(Njj),Kj=Njj); - if(MeasureDepth(Kj)==1,Kj=[Kj]); + if(Measuredepth(Kj)==1,Kj=[Kj]); tmp2=[]; forall(Kj,Nj, tmp1=[]; @@ -724,7 +724,7 @@ Drawpoint(ptlistorg,nn):=( regional(ptlist,thick,tmp,tmp1); println("Drwpt : "+text(ptlistorg)); if(islist(ptlistorg), - if(MeasureDepth(ptlistorg)==1, + if(Measuredepth(ptlistorg)==1, ptlist=ptlistorg , ptlist=[ptlistorg] @@ -776,13 +776,14 @@ Letter(list,options):=( //help:Letter([C,"c","Graph of $f(x)$"]); //help:Letter([C,"c","xy"],["size->30"]); regional(Nj,Pos,Dir,Str,Off,Dmv,Xmv,Ymv,Noflg,opcindy, - opL,aln,sz,clr,bld,ita,tmp,tmp1,tmp2,color); + opL,aln,sz,clr,bld,ita,tmp,tmp1,tmp2,color,eqL); tmp=Divoptions(options); + eqL=tmp_5; //190209 Noflg=tmp_2; color=tmp_(length(tmp)-2); opL=select(options,indexof(#,"->")>0); //16.10.09from tmp=select(opL,indexof(#,"color")); - size=12; + sz=12; bld=false; ita=false; aln="left"; @@ -794,12 +795,18 @@ Letter(list,options):=( if(tmp1=="color",clr=parse(tmp2)); if(tmp1=="bold",bld=parse(tmp2)); if(tmp1=="ita",ita=parse(tmp2)); - );//16.10.09until + );//16.10.09to + forall(eqL, //190209from + tmp=Strsplit(#,"="); + tmp1=Toupper(substring(tmp_1,0,1)); + if(tmp1=="S", + sz=round(parse(tmp_2)*12); + ); + ); //190209to Off=-4; Dmv=8; Nj=1; while(Nj+2<=length(list), -// Pos=Textformat(list_Nj,5); Pos=list_Nj; Dir=list_(Nj+1); tmp=indexof(Dir,"s")+indexof(Dir,"n");//16.10.19from @@ -957,6 +964,7 @@ Exprrot(pt,dir,tmov,nmov,str,options):=( Slider(ptstr,p1,p2):=Slider(ptstr,p1,p2,[]); Slider(ptstr,p1,p2,options):=(//190120 //help:Slider("A-C-B",[-3,0],[3,0]); +//help:Slider("C",[-3,0],[3,0]); //help:Slider(options=["Color=0.6*[0,0,1]","Size=2"]); regional(pA,pB,pC,seg,sname,Alpha,color,size,tmp,tmp1); color="Color=0.6*[0,0,1]"; //190120from @@ -972,28 +980,34 @@ Slider(ptstr,p1,p2,options):=(//190120 ); ); //190120to tmp=Indexall(ptstr,"-"); - pA=substring(ptstr,0,tmp_1-1); - pC=substring(ptstr,tmp_1,tmp_2-1); - pB=substring(ptstr,tmp_2,length(ptstr)); - seg=pA+pB; - Alpha="ABCDEFGHIJKLMNOPQRSTUVWXYZ"; - sname=""; - forall(1..(length(seg)), - tmp=substring(seg,#-1,#); - tmp1=indexof(Alpha,tmp); - if(tmp1>0, - sname=sname+unicode(text(tmp1+96),base->10); - , - sname=sname+tmp; - ); - ); - Putpoint(pA,p1); - Putpoint(pB,p2); - Listplot([parse(pA),parse(pB)],["Msg=n","notex",color,size]); -// create([sname],"Segment",[parse(pA),parse(pB)]); -// tmp2=Listplot("",[p1,p2],["nodata"]); - Putonseg(pC,parse("sg"+pA+pB)); -// create([pC],"PointOn",[parse(sname),0.5]); + if(length(tmp)>0, //190209from + pA=substring(ptstr,0,tmp_1-1); + pC=substring(ptstr,tmp_1,tmp_2-1); + pB=substring(ptstr,tmp_2,length(ptstr)); + seg=pA+pB; + Alpha="ABCDEFGHIJKLMNOPQRSTUVWXYZ"; + sname=""; + forall(1..(length(seg)), + tmp=substring(seg,#-1,#); + tmp1=indexof(Alpha,tmp); + if(tmp1>0, + sname=sname+unicode(text(tmp1+96),base->10); + , + sname=sname+tmp; + ); + ); + Putpoint(pA,p1); + Putpoint(pB,p2); + Listplot([parse(pA),parse(pB)],["Msg=n","notex",color,size]); + Putonseg(pC,parse("sg"+pA+pB)); + PTEXCEPTION=concat(TEXCEPTION,[pA,pC,pB]); + , + pA=""; pB=""; pC=ptstr; + tmp=pC+"l"+pC+pC+"r"; + Listplot(tmp,[p1,p2],["Msg=n","notex",color,size]); + Putonseg(pC,parse("sg"+tmp)); + PTEXCEPTION=concat(TEXCEPTION,[pC]); + ); //190209to ); ////%Slider end//// @@ -1099,7 +1113,7 @@ BezierCurve(nm,ptlistorg,ctrlistorg,options):=( if(length(ctrlistorg)==length(ptlist)-1, forall(1..(length(ctrlistorg)),ii, //190202 tmp1=apply(ctrlistorg_ii,Lcrd(#)); //190202 - if(MeasureDepth(tmp1)==0,tmp=[tmp1],tmp=tmp1); + if(Measuredepth(tmp1)==0,tmp=[tmp1],tmp=tmp1); ctrlist=append(ctrlist,tmp); ); , @@ -1289,7 +1303,7 @@ Mkbezierptcrv(ptdata,options):=( , ptlist=ptdata; ); - if(MeasureDepth(ptlist)==1,ptlist=[ptlist]); + if(Measuredepth(ptlist)==1,ptlist=[ptlist]); Out=[]; forall(1..length(ptlist), tmp=floor((BezierNumber-1)/26);// 15.02.23 @@ -1311,7 +1325,7 @@ Mkbeziercrv(nm,ptctrL):=Mkbeziercrv(nm,ptctrL,[]); Mkbeziercrv(nm,ptctrL,options):=( //help:Mkbeziercrv("1",[[A,B,C,D],[[P,Q],[R,S],T]]); regional(ptctrLL,name,ptlist,ctrlist,tmp,tmp1,tmp2); - if(MeasureDepth(ptctrL)==2,ptctrLL=[ptctrL],ptctrLL=ptctrL); + if(Measuredepth(ptctrL)==2,ptctrLL=[ptctrL],ptctrLL=ptctrL); forall(1..length(ptctrLL), name=nm+text(#); ptlist=ptctrLL_#_1; @@ -1390,7 +1404,7 @@ Readbezier(file,optionorg):=( tmp=file+text(nc); tmp1=parse(tmp+"k"); tmp2=parse(tmp+"c"); - if(MeasureDepth(tmp2)==1,tmp2=[tmp2]); // 16.04.22from + if(Measuredepth(tmp2)==1,tmp2=[tmp2]); // 16.04.22from if(geo==1, alpha="abcdefghijklmnopqrstuvwxyz"; forall(1..length(tmp1), @@ -1689,7 +1703,7 @@ Bspline(nm,ctrL,options):=( MeetCurve(Crv,Xorg,Yorg):=( regional(Cv,tmp,tmp1,tmp2,X0,Y0,x1,x2,y1,y2,Ylist,Ban,Tate); if(isstring(Crv),Cv=parse(Crv),Cv=Crv); - if(MeasureDepth(Cv)==2,Cv=Cv_1); + if(Measuredepth(Cv)==2,Cv=Cv_1); Cv=apply(Cv,LLcrd(#)); // 14.12.18 while(length(Cv)==1, Cv=Cv_1; @@ -1750,36 +1764,27 @@ MeetCurve(Crv,Xorg,Yorg):=( ////%MeetCurve end//// ////%Putonline start//// -Putonline(name,p1,p2):=PutonLine(name,p1,p2,[]); -Putonline(name,p1org,p2org,options):=( -//help:Putonline("C","sgAB"); -//help:Putonline("C",pA,pB); - regional(par,p1,p2,dx,dy,tmp,tmp1,tmp2); - par=0.5; - tmp=Divoptions(options); - if(length(tmp_6)>0, - par=tmp_6_1; - ); - p1=Lcrd(p1org);//16.10.11from - p2=Lcrd(p2org); - dx=p2_1-p1_1; - dy=p2_2-p1_2; - tmp1=(1-par)*p1+par*p2; - if(abs(dx)>abs(dy), - tmp=name+".x"; - tmp2="["+tmp+",dy/dx*("+tmp+"-p1_1)+p1_2]";//16.10.11until - Putpoint(name,tmp1,parse(tmp2)); +Putonline(name,linestr):=Putonline(name,linestr,[]); //190216from +Putonline(name,Arg1,Arg2):=( + regional(line,options); + if(isstring(Arg1), + line=parse(Arg1); options=Arg2; + Putonseg(name,LLcrd(line_1),LLcrd(line_2),options); , - if(abs(dy)>0, - tmp=name+".y"; - tmp2="[dx/dy*("+tmp+"-p1.y)+p1_1,"+tmp+"]"; - Putpoint(name,tmp1,parse(tmp2)); - , - tmp2=p1;//16.10.11 - Putpoint(name,tmp1,tmp2); - ); + Putonline(name,LLcrd(Arg1),LLcrd(Arg2),[]); ); ); +Putonline(name,p1,p2,options):=( +//help:Putonline("C","lnAB"); +//help:Putonline("C",pA,pB); + regional(line); + line=Lineplot("",[p1,p2],["nodata"]); +// tmp1=name+"1"; +// tmp2=name+"2"; +// Putpoint(tmp1,line_1); // 190216 +// Putpoint(tmp22,line_2); // 190216 + Putonseg(name,line_1,line_2,options); +); //190216to ////%Putonline end//// ////%Putonseg start//// @@ -1792,7 +1797,7 @@ Putonseg(name,p1,p2):=Putonseg(name,p1,p2,[]); Putonseg(name,p1org,p2org,options):=( //help:Putonseg("C","sgAB"); //help:Putonseg("C",pA,pB); - regional(Eps,par,dx,dy,p,tmp,tmp1,tmp2); + regional(Eps,par,p1,p2,dx,dy,p,tmp,tmp1,tmp2); Eps=10^(-5); par=0.5; tmp=Divoptions(options); @@ -1801,12 +1806,11 @@ Putonseg(name,p1org,p2org,options):=( ); p1=Lcrd(p1org);//16.10.11from p2=Lcrd(p2org); - Putonline(name,p1,p2,[par]); + Putpoint(name,(p1+p2)/2,parse(name+".xy")); //190216 //no ketjs p1=Pcrd(p1); p2=Pcrd(p2); //190120 dx=p2_1-p1_1; dy=p2_2-p1_2; p=parse(name+".xy"); -// p=LLcrd(p); if(abs(dx)>abs(dy), //190120from if(p1_1>p2_1,tmp=p1;p1=p2;p2=tmp); if(p_1<p1_1,parse(name+".xy="+Textformat(p1,5));p=p1); @@ -1824,47 +1828,34 @@ Putonseg(name,p1org,p2org,options):=( ////%Putonseg end//// ////%Putoncurve start//// -Putoncurve(pn,crv):=Putoncurve(pn,crv,[]); -Putoncurve(pn,crv,options):=( +Putoncurve(pn,crv):=putoncurve(pn,crv,[]); +Putoncurve(pn,crvorg,options):=( //help:Putoncurve("A","gr1"); -//help:Putoncurve("A","gr1",[0,XMAX]); - regional(Pmt,pstr,optionL,leftlim,rightlim,tmp,tmp1,Flg,Msg); - if(!islist(options),optionL=[options],optionL=options); - leftlim=XMIN; - rightlim=XMAX; - Flg=0; - Msg="y"; - forall(optionL, - if(isstring(#), // 16.02.10 from - tmp=indexof(#,"="); - tmp1=Toupper(substring(#,tmp,tmp+1)); - if(tmp1=="N", Msg="n"); // 16.02.10 until - , - if(Flg==0, - leftlim=#; - Flg=Flg+1; - , - rightlim=#; - ); - ); - ); - Pmt=MeetCurve(crv,leftlim,0); - pstr=apply(allpoints(),Textformat(#,5)); // 15.04.07 - if(!contains(pstr,pn), - createpoint(pn,Pcrd(Pmt)); + regional(eps,crv,close,nn,p1,p2,tmp,tmp1); + eps=10^(-3); + crv=crvorg; + if(isstring(crv),crv=parse(crv)); + close=false; + if(|crv_1-crv_(length(crv))|<eps, + close=true; + ); + tmp=parse(pn); //no ketjs on + if(!ispoint(tmp), + Putpoint(pn,[0,0],parse(pn+".xy")); + ); //no ketjs off + tmp=Paramoncurve(parse(pn),crvorg); + nn=floor(tmp); + p1=crv_nn; + if(nn<length(crv), + p2=crv_(nn+1); + Putonseg(pn,p1,p2); , - tmp1=parse(pn+".x"); - if(tmp1< leftlim % tmp1>rightlim, - if(tmp1< leftlim,tmp= leftlim, tmp=rightlim); - Pmt=MeetCurve(crv,Textformat(tmp,5),pn+".y"); + if(close, + p2=crv_1; + Putonseg(pn,p1,p2); , - Pmt=MeetCurve(crv,pn+".x",pn+".y"); + parse(pn+".xy="+Textformat(Ptend(crv),5)); ); - ptstr=pn+".xy="+Textformat(Pcrd(Pmt),5)+";"; - parse(ptstr); - ); - if(Msg=="y", - println("Put "+pn+" on Curve "+text(crv)); ); ); ////%Putoncurve end//// @@ -2438,10 +2429,18 @@ Findcell(Tbdata,pos1,pos2):=( ////%Findcell end//// ////%Putcell start//// -Putcell(pos1,pos2,dir,lttr):=Putcell("",pos1,pos2,dir,lttr); -Putcell(Tbdata,pos1,pos2,dir,lttr):=( +Putcell(pos1,pos2,dir,lttr):=Putcell("",pos1,pos2,dir,lttr,[]); //190228from +Putcell(Arg1,Arg2,Arg3,Arg4,Arg5):=( + if(islist(Arg5), + Putcell("",Arg1,Arg2,Arg3,Arg4,Arg5); + , + Putcell(Arg1,Arg2,Arg3,Arg4,Arg5,[]); + ); +); +Putcell(Tbdata,pos1,pos2,dir,lttr,options):=( //help:Putcell("c0r0","c2r1","lt","abc"); //help:Putcell(2,3,"c","xyz"); +//help:Putcell(options=["Color="]); regional(tmp,tmp1,tmp2,posnw,posse, posdir,posstr,ctr,dx,dy); tmp=Findcell(Tbdata,pos1,pos2); @@ -2464,59 +2463,96 @@ Putcell(Tbdata,pos1,pos2,dir,lttr):=( posdir_1=posdir_1+dx; posstr=replace(posstr,"r","w"); ); - Letter(posdir,posstr,text(lttr)); -); + Letter([posdir,posstr,text(lttr)],options); +); //190228to +////%Putcell end//// -Putcellexpr(pos1,pos2,dir,ex):=Putcellexpr("",pos1,pos2,dir,ex); -Putcellexpr(Tbdata,pos1,pos2,dir,ex):=( +////%Putcellexpr start//// +Putcellexpr(pos1,pos2,dir,ex):=Putcellexpr("",pos1,pos2,dir,ex,[]); //190228from +Putcellexpr(Arg1,Arg2,Arg3,Arg4,Arg5):=( + if(islist(Arg5), + Putcellexpr("",Arg1,Arg2,Arg3,Arg4,Arg5); + , + Putcellexpr(Arg1,Arg2,Arg3,Arg4,Arg5,[]); + ); +); +Putcellexpr(Tbdata,pos1,pos2,dir,ex,options):=( //help:Putcellexpr("c0r0","c2r1","lt","abc"); //help:Putcellexpr(2,3,"c","\sin x"); - Putcell(Tbdata,pos1,pos2,dir,"$"+text(ex)+"$"); -); -////%Putcell end//// + Putcell(Tbdata,pos1,pos2,dir,"$"+text(ex)+"$",options); +); //190228to +////%Putcellexpr end//// ////%Putrow start//// -Putrow(nrow,dir,lttrL):=Putrow("",nrow,dir,lttrL); -Putrow(Tbdata,nrow,dir,lttrL):=( +Putrow(nrow,dir,lttrL):=Putrow("",nrow,dir,lttrL,[]); //190228from +Putrow(Arg1,Arg2,Arg3,Arg4):=( + if(islist(Arg4), + Putrow("",Arg1,Arg2,Arg3,Arg4); + , + Putcellrow(Arg1,Arg2,Arg3,Arg4,[]); + ); +); +Putrow(Tbdata,nrow,dir,lttrL,options):=( //help:Putrow(1,"c",["x","y","z"]); regional(tmp,tmp1,mcol); mcol=length(lttrL); forall(1..mcol, - Putcell(Tbdata,#,nrow,dir,lttrL_#); + Putcell(Tbdata,#,nrow,dir,lttrL_#,options); ); -); +); //190228to ////%Putrow end//// ////%Putrowexpr start//// -Putrowexpr(nrow,dir,exL):=Putrowexpr("",nrow,dir,exL); -Putrowexpr(Tbdata,nrow,dir,exL):=( +Putrowexpr(nrow,dir,exL):=Putrowexpr("",nrow,dir,exL,[]); //190228from +Putrowexpr(Arg1,Arg2,Arg3,Arg4):=( + if(islist(Arg4), + Putrowexpr("",Arg1,Arg2,Arg3,Arg4); + , + Putrowexpr(Arg1,Arg2,Arg3,Arg4,[]); + ); +); +Putrowexpr(Tbdata,nrow,dir,exL,options):=( //help:Putrowexpr(2,"r",["x","y","z"]); regional(lttrL); lttrL=apply(exL,"$"+#+"$"); - Putrow(Tbdata,nrow,dir,lttrL); -); + Putrow(Tbdata,nrow,dir,lttrL,options); +); //190228to ////%Putrowexpr end//// ////%PutcoL start//// -PutcoL(mcol,dir,lttrL):=PutcoL("",mcol,dir,lttrL); -PutcoL(Tbdata,mcol,dir,lttrL):=( +PutcoL(mcol,dir,lttrL):=PutcoL("",mcol,dir,lttrL,[]); //190228from +Putcellexpr(Arg1,Arg2,Arg3,Arg4):=( + if(islist(Arg4), + Putcellexpr("",Arg1,Arg2,Arg3,Arg4); + , + Putcellexpr(Arg1,Arg2,Arg3,Arg4,[]); + ); +); +PutcoL(Tbdata,mcol,dir,lttrL,options):=( //help:PutcoL(1,"c",["x","y","z"]); regional(tmp,tmp1,nrow); nrow=length(lttrL); forall(1..nrow, - Putcell(Tbdata,mcol,#,dir,lttrL_#); + Putcell(Tbdata,mcol,#,dir,lttrL_#,options); ); -); +); //190228to ////%PutcoL end//// ////%PutcoLexpr start//// -PutcoLexpr(mcol,dir,exL):=PutcoLexpr("",mcol,dir,exL); -PutcoLexpr(Tbdata,mcol,dir,exL):=( +PutcoLexpr(mcol,dir,exL):=PutcoLexpr("",mcol,dir,exL,[]); //190228from +Putcellexpr(Arg1,Arg2,Arg3,Arg4):=( + if(islist(Arg4), + Putcellexpr("",Arg1,Arg2,Arg3,Arg4); + , + Putcellexpr(Arg1,Arg2,Arg3,Arg4,[]); + ); +); +PutcoLexpr(Tbdata,mcol,dir,exL,options):=( //help:PutcoLexpr(2,"r",["x","y","z"]); regional(lttrL); lttrL=apply(exL,"$"+#+"$"); - PutcoL(Tbdata,mcol,dir,lttrL); -); + PutcoL(Tbdata,mcol,dir,lttrL,options); +); //190228to ////%PutcoLexpr end//// ////%Setrange start//// @@ -2877,7 +2913,7 @@ Windispg(gcLorg):=( //190125 forall(gcL,Nj, if(isstring(Nj_1),Dt=parse(Nj_1),Dt=Nj_1); // 11.17 if(islist(Dt) & length(Dt)>0, // 12.19,12.22 - tmp=MeasureDepth(Dt); + tmp=Measuredepth(Dt); if(tmp==1,Dt=[Dt]); opcindy=Nj_3; tmp=Nj_2; //190119from @@ -3383,7 +3419,7 @@ WriteOutData(filename,ptlist):=( Gdata=parse(Gname); ); Gdata=Flattenlist(Gdata); - if(MeasureDepth(Gdata)==1,Gdata=[Gdata]); + if(Measuredepth(Gdata)==1,Gdata=[Gdata]); forall(Gdata,Gj, println(SCEOUTPUT,"start//"); Str=""; @@ -4568,7 +4604,7 @@ Maketitle(name):=( , println(SCEOUTPUT,"\usepackage[dvipdfmx]{graphicx}"); ); - println(SCEOUTPUT,"\usepackage[usenames]{xcolor}"); + println(SCEOUTPUT,"\usepackage[usenames]{color}"); //190222 forall(ADDPACK, // if(indexof(#,"[")==0, // println(SCEOUTPUT,"\usepackage{"+#+"}"); @@ -4904,7 +4940,7 @@ Presentation(texfile,txtfile):=( , println(SCEOUTPUT,"\usepackage[dvipdfmx]{graphicx}"); ); - println(SCEOUTPUT,"\usepackage{xcolor}");//17.07.31 + println(SCEOUTPUT,"\usepackage{color}");//190222 letterc=[0.98,0.13,0,0.43]; boxc=[0,0.32,0.52,0]; shadowc=[0,0,0,0.5]; mboxc="yellow"; tmp4="abcdefghijklmno"; @@ -5927,10 +5963,21 @@ Copyketcindyjs():=( kc():=( println("kc : "+kc(Dirwork+Shellparent,Mackc+Dirlib,Fnametex)); ); + tmp1=Dircdy; //190214from + if(substring(tmp1,length(tmp1)-1,length(tmp1))=="/", + tmp1=substring(tmp1,0,length(tmp1)-1); + ); //190214to SCEOUTPUT = openfile(Shellparent); println(SCEOUTPUT,"#!/bin/sh"); - println(SCEOUTPUT,"cd "+Dqq(Dirhead)); - println(SCEOUTPUT,"cp -r -p ketcindyjs "+Dircdy+"/"); + println(SCEOUTPUT,"cd "+Dqq(tmp1)); //190214from + println(SCEOUTPUT,"mkdir ketcindyjs"); + println(SCEOUTPUT,"cd "+Dqq(Dirhead+"/ketcindyjs")); + println(SCEOUTPUT,"cp -r -p katex "+tmp1+"/ketcindyjs"); + println(SCEOUTPUT,"cp -p Cindy.js "+tmp1+"/ketcindyjs"); + println(SCEOUTPUT,"cp -p Cindy.js.map "+tmp1+"/ketcindyjs"); + println(SCEOUTPUT,"cp -p CindyJS.css "+tmp1+"/ketcindyjs"); + println(SCEOUTPUT,"cp -p katex-plugin.js "+tmp1+"/ketcindyjs"); + println(SCEOUTPUT,"cp -p webfont.js "+tmp1+"/ketcindyjs"); //190214to println(SCEOUTPUT,"exit 0"); closefile(SCEOUTPUT); ); @@ -5968,13 +6015,14 @@ Setketcindyjs(list):=( Mkketcindyjs():=Mkketcindyjs(KETJSOP); //190129 Mkketcindyjs(options):=( //17.11.18 //help:Mkketcindyjs(); -//help:Mkketcindyjs(options=["Local=(n)","Scale=(1)","Nolabel=[]","Color=","Grid="]); +//help:Mkketcindyjs(options=["Local=(y)","Scale=(1)","Nolabel=[]","Color=","Grid="]); //help:Mkketcindyjs(optionsadd=["Web=(y)","Path=Dircdy"]); regional(webflg,localflg,htm,htmorg,from,upto,flg,fL,fun,jj,tmp,tmp1,tmp2,tmp3, - lib1,lib2,jc,nn,name,partL,toppart,lastpart,path,ketflg,flg,cmdL,scale,nolabel, - color,grid,out,igL,DL,Out); + libnameL,libL,lib,jc,nn,name,partL,toppart,lastpart,path,ketflg,flg,cmdL,scale, + nolabel,color,grid,out,igL,DL,Out); + libnameL=["basic1","basic2","3d"]; webflg="Y"; //190128 texflg removed - localflg="N"; //190128 + localflg="Y"; //190209,0215 scale=1; //190129 nolabel=["SW","NE"]; //190129 color=""; @@ -5985,30 +6033,42 @@ Mkketcindyjs(options):=( //17.11.18 tmp1=Toupper(substring(tmp_1,0,1)); tmp2=tmp_2; if(tmp1=="W", - webflg=Toupper(substring(tmp2,0,1)); + if(length(tmp2)>0, //190209 + webflg=Toupper(substring(tmp2,0,1)); + ); ); if(tmp1=="L", - localflg=Toupper(substring(tmp2,0,1)); + if(length(tmp2)>0, //190209 + localflg=Toupper(substring(tmp2,0,1)); + ); ); if(tmp1=="S", - scale=parse(tmp2); + if(length(tmp2)>0, //190209 + scale=parse(tmp2); + ); ); if(tmp1=="N", - tmp=tmp2; - if(indexof(tmp2,"[")>0, - tmp=substring(tmp2,1,length(tmp2)-1); + if(length(tmp2)>0, //190209 + tmp=tmp2; + if(indexof(tmp2,"[")>0, + tmp=substring(tmp2,1,length(tmp2)-1); + ); + tmp=tokenize(tmp,","); + nolabel=concat(nolabe,tmp); ); - tmp=tokenize(tmp,","); - nolabel=concat(nolabe,tmp); ); - if(tmp1=="C", - color=tmp2; - if(substring(color,0,1)=="[", //190130from - color=substring(color,1,length(color)-1); - ); //190130to + if(tmp1=="C", //190209 + if(length(tmp2)>0, + color=tmp2; + if(substring(color,0,1)=="[", //190130from + color=substring(color,1,length(color)-1); + ); //190130to + ); ); if(tmp1=="G", - grid=tmp2; + if(length(tmp2)>0, + grid=tmp2; + ); ); if(tmp1=="P", if(!tmp2="Dircdy", @@ -6027,6 +6087,36 @@ Mkketcindyjs(options):=( //17.11.18 wait(3000); , htmorg=Readlines(Dircdy,Fhead+".html"); + tmp=select(1..(length(htmorg)),indexof(htmorg_#,"id="+Dqq("csinit"))>0); //190206from + from=tmp_1+5; + flg=0; + forall(from..(length(htmorg)), + if(flg==0, + if(indexof(htmorg_#,"</script>")>0, + upto=#-1; + flg=1; + ); + ); + ); + tmp2=[]; + ketflg="off"; + forall(htmorg_(from..upto), + if(indexof(#,"no ketjs")>0, + if(indexof(#,"no ketjs on")>0, + ketflg="on"; + ); + if(indexof(#,"no ketjs off")>0, + ketflg="off"; + ); + , + if(ketflg=="off", + tmp=Removespace(#); + if(substring(tmp,0,2)!="//", + tmp2=append(tmp2,#); + ); + ); + ); + ); tmp=select(1..(length(htmorg)),indexof(htmorg_#,"id="+Dqq("csdraw"))>0); from=tmp_1+1; flg=0; @@ -6038,10 +6128,42 @@ Mkketcindyjs(options):=( //17.11.18 ); ); ); - fL=Extractfun(htmorg_(from..upto)); - DL=Readcsv(Dirhead+pathsep()+"ketcindyjs","basic1list.txt"); - tmp=Readcsv(Dirhead+pathsep()+"ketcindyjs","basic2list.txt"); - DL=concat(DL,tmp); //DL and Out arenecessary for Extractall + ketflg="off"; + forall(htmorg_(from..upto), + if(indexof(#,"no ketjs")>0, + if(indexof(#,"no ketjs on")>0, + ketflg="on"; + ); + if(indexof(#,"no ketjs off")>0, + ketflg="off"; + ); + , + if(ketflg=="off", + tmp=Removespace(#); + if(substring(tmp,0,2)!="//", + tmp2=append(tmp2,#); + ); + ); + ); + ); + fL=Extractfun(tmp2); //190206to + DL=[]; + forall(libnameL,name, //190209from + tmp2=Readlines(Dirhead+pathsep()+"ketcindyjs",name+"list.txt"); + tmp1=[]; + forall(1..(length(tmp2)),nn, + tmp=Indexall(tmp2_nn,","); + from=0; + tmp3=[]; + forall(tmp, + tmp3=append(tmp3,substring(tmp2_nn,from,#-1)); + from=#; + ); + tmp3=append(tmp3,substring(tmp2_nn,from,length(tmp2_nn))); + tmp1=append(tmp1,tmp3); + ); + DL=concat(DL,tmp1); //DL and Out are necessary for Extractall + ); //190209to Out=[]; forall(fL,fun, Extractall(fun); @@ -6072,6 +6194,7 @@ Mkketcindyjs(options):=( //17.11.18 tmp1=Fhead+"json.html"; , tmp1=Fhead+"jsoff.html"; + if(localflg=="Y",tmp1=replace(tmp1,"off.","offL.")); //190209 ); setdirectory(path); SCEOUTPUT = openfile(tmp1); @@ -6107,15 +6230,17 @@ Mkketcindyjs(options):=( //17.11.18 forall(tmp, println(SCEOUTPUT,#); ); - lib1=Readlines(Dirhead+"/ketlib","ketcindylibbasic1r.cs"); - lib2=Readlines(Dirhead+"/ketlib","ketcindylibbasic2r.cs"); + libL=[]; //190209from + forall(libnameL, + tmp=Readlines(Dirhead+"/ketlib","ketcindylib"+#+"r.cs"); + libL=append(libL,tmp); + ); //190209to forall(Out,fun, - libf=fun_2;from=fun_3;upto=fun_4; - if(indexof(libf,"basic1")>0, - tmp1=lib1_(from..upto); - , - tmp1=lib2_(from..upto); - ); + libf=fun_2;from=parse(fun_3);upto=parse(fun_4); + tmp=select(1..(length(libnameL)),indexof(libf,libnameL_#)>0); //190209from + tmp=tmp_1; + lib=libL_tmp; + tmp1=lib_(from..upto); //190209from ketflg="off"; //190122from forall(tmp1, if(indexof(#,"no ketjs")>0, @@ -6138,14 +6263,32 @@ Mkketcindyjs(options):=( //17.11.18 tmp=select(partL,#_1=="csinit"); if(length(tmp)>0, tmp=tmp_1; - from=tmp_2; + from=tmp_2+5; //190206 upto=tmp_3; tmp1=htmorg_((from+1)..(upto-1)); //190119 + kettef="off"; //190206from forall(tmp1, - if((indexof(#,"import(")==0)&(indexof(#,"use(")==0), - println(SCEOUTPUT,#); + if(indexof(#,"no ketjs")>0, + if(indexof(#,"no ketjs on")>0, + ketflg="on"; + ); + if(indexof(#,"no ketjs off")>0, + ketflg="off"; + ); + , + if(ketflg=="off", + tmp=Removespace(#); + if(substring(tmp,0,2)!="//", + println(SCEOUTPUT,#); + , + tmp1=indexof(tmp,"only ketjs"); //19020l6from + if(tmp1>0, + println(SCEOUTPUT,substring(tmp,2,tmp1-1)); + ); //190206to + ); + ); ); - ); + ); ); println(SCEOUTPUT,"</script>"); tmp=select(partL,#_1=="csdraw"); @@ -6167,10 +6310,15 @@ Mkketcindyjs(options):=( //17.11.18 tmp=Removespace(#); if(substring(tmp,0,2)!="//", println(SCEOUTPUT,#); + , + tmp1=indexof(tmp,"only ketjs"); //19020l6from + if(tmp1>0, + println(SCEOUTPUT,substring(tmp,2,tmp1-1)); + ); //190206to ); ); ); - ); + ); //190206to tmp1=htmorg_((lastpart_1)..(lastpart_2)); tmp=select(1..(length(tmp1)),indexof(tmp1_#,Dqq("cs*"))>0); tmp=tmp_1; @@ -6196,7 +6344,7 @@ Mkketcindyjs(options):=( //17.11.18 flg=1; ); if(flg==0, - tmp=indexof(tmp1_jj,"type: "+Dq+"Free")+indexof(tmp1_jj,"type: "+Dq+"Point"); + tmp=Indexof(tmp1_jj,"labeled: "); //190225 if(tmp>0, tmp2=tmp1_jj; tmp=Indexall(tmp2,Dq); //190129from diff --git a/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibhelpE.txt b/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibhelpE.txt index 0c89e3e75ed..ceec4ccd062 100755 --- a/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibhelpE.txt +++ b/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibhelpE.txt @@ -61,7 +61,7 @@ //help:Hatchdata*(add hatching into some region // option : slope, degree, space betwen lines)); //help:Enclosing*(generate the plot data of closed curve connecting some curves); -//help:Shade*(add shading into some region option : depth); +//help:Shade*(add shading into some region option : color,trimming(y/n)); //help:Rotatepoint*(rotate the point, option : center); //help:Translatepoint*(pararell transport of the point); //help:Scalepoint*(magnify or reduce the position of point option : center); diff --git a/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibhelpJ.txt b/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibhelpJ.txt index 93e5e323add..c3e02a5c21c 100755 --- a/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibhelpJ.txt +++ b/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibhelpJ.txt @@ -60,7 +60,7 @@ //追加オプション : "Num="); //help:Hatchdata*(斜線塗り. オプション : 傾き(度),間隔); //help:Enclosing*(複数曲線をつなげて閉曲線を作成); -//help:Shade*(シェーディング. オプション : 濃さ); +//help:Shade*(シェーディング. オプション : 色, トリミング(y/n)); //help:Rotatepoint*(点を回転. オプション : 中心); //help:Translatepoint*(点を平行移動); //help:Translatedata*(プロットデータを平行移動); diff --git a/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibmvlogr.txt b/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibmvlogr.txt index a0a087ca49b..a1aa7df77e3 100644 --- a/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibmvlogr.txt +++ b/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibmvlogr.txt @@ -1,3 +1,5 @@ +// 20190317 +// Setpara debugged ( default value of Frate changed to 20) // 20181224 // Setpara debugged ( ADDAXES=="1") // 20181128 diff --git a/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibmvr.cs b/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibmvr.cs index 3e43e80d55e..618a070f121 100755 --- a/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibmvr.cs +++ b/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibmvr.cs @@ -14,7 +14,7 @@ // along with this program. If not, see <http://www.gnu.org/licenses/> // -println("ketcindymv(20181224) loaded"); +println("ketcindymv(20190317) loaded"); //help:start(); @@ -278,7 +278,7 @@ Animatefile(path,folder):=( regional(FRate, Scale, OpA, pa,fname,eqL,tmp,tmp1,tmp2,texfiles); tmp=divoptions(ParaOpAnim); //17.11.24 eqL=tmp_5; - FRate="10"; + FRate="20"; //190317 Scale="1"; OpA="loop,controls,buttonsize=3mm"; remflg=0; diff --git a/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindyliboutlogr.txt b/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindyliboutlogr.txt index 5a61f9a92e3..ceb338a17a9 100644 --- a/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindyliboutlogr.txt +++ b/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindyliboutlogr.txt @@ -1,5 +1,12 @@ +// 20190301 +// MeasureDepth => Measuredepth +// Readcsv changed ( for 2 arg, ".csv" can be omitted ) +// 20190226 +// Histplot changed ( [ ] => c( ) ) +// 20190224 +// CalcbyR changed (defaut of Pre : PVOFG => VF ) // 20190127 - Gccexists changed (in case that PathC is full path in Mac/Windws) +// Gccexists changed (in case that PathC is full path in Mac/Windws) // 20190126 // Boxplot changed ( Pointdata[size] ) // 20190125 diff --git a/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindyliboutr.cs b/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindyliboutr.cs index 354cedc324e..c5fbf3a999d 100644 --- a/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindyliboutr.cs +++ b/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindyliboutr.cs @@ -14,7 +14,7 @@ // along with this program. If not, see <http://www.gnu.org/licenses/> // -println("ketcindylibout(20190127 loaded"); +println("ketcindylibout[20190301] loaded"); //help:start(); @@ -772,7 +772,7 @@ CalcbyR(name,Arg1,Arg2):=( ); CalcbyR(name,path,cmd,optionorg):=( //help:CalcbyR(name,cmd); -//help:CalcbyR(options=["m/r","Wait=2","Out=y/n","Pre=PVOFG"]); +//help:CalcbyR(options=["m/r","Wait=2","Out=y/n","Pre=PVFG"]); //help:CalcbyR(options2=["Pre=!G" ]); regional(options,tmp,tmp1,tmp2,tmp3,realL,strL,eqL, cat,dig,prestr,flg,wflg,file,nc,arg,cmdR,cmdlist,wfile,waiting); @@ -795,8 +795,9 @@ CalcbyR(name,path,cmd,optionorg):=( ); ); //181130to wfile=""; - prestr="PVOFG"; //180508 + prestr="VF"; //180508,190224 waiting=30; //180608 + nopoint="n"; //190222 forall(eqL, tmp=Strsplit(#,"="); tmp1=Toupper(substring(tmp_1,0,1)); @@ -1105,7 +1106,7 @@ CalcbyR(name,path,cmd,optionorg):=( Rfun(name,fun,argL):=Rfun(name,fun,argL,[]);//16.10.22 Rfun(name,fun,argL,optionorg):=( //help:Rfun("1","rnorm",[10]); -//help:Rfun(options=["Disp=y"]); +//help:Rfun(options=["Disp=y(n)","Pre="]); regional(nm,options,eqL,disp,cmdL, tmp,tmp1,tmp2); nm="R"+name; @@ -1285,7 +1286,13 @@ Readcsv(pathorg,file,optionorg):=( ); // New readcsv [181125] Readcsv(file):=Readcsv(Dirwork,file); -Readcsv(path,file):=Readcsv(path,file,[]); +Readcsv(Arg1,Arg2):=( //190301from + if(islist(Arg2), + Readcsv(Dirwork,Arg1,Arg2); + , + Readcsv(path,file,[]); + ); +); //190301from Readcsv(path,file,options):=( //help:Readcsv("ex.csv"); //help:Readcsv(directory,"ex.csv"); @@ -1303,7 +1310,9 @@ Readcsv(path,file,options):=( if(Toupper(head)=="Y", from=2; ); //190125to - dt=readfile2str(path,file); + tmp=file; + if(indexof(tmp,".csv")==0,tmp=tmp+".csv"); //190301 + dt=readfile2str(path,tmp); dt=tokenize(dt,"/LF/"); end=length(dt); if(dt_(length(dt))=="", @@ -1751,9 +1760,11 @@ Histplot(nm,dataorg,optionorg):=( tmp=Strsplit(#,"="); tmp1=Toupper(substring(tmp_1,0,1)); if(tmp1=="B", - if(substring(tmp_2,0,1)=="[", - tmp1="c("+substring(tmp_2,1,length(tmp_2)-1)+")"; //181104 - ); + if(substring(tmp_2,0,1)=="[", // 190226from + tmp1=RSform(tmp_2); + , + tmp1=tmp_2; + );// 190226to breaks="breaks="+tmp1; options=remove(options,[#]); ); @@ -4122,8 +4133,8 @@ Mkobjplatecmd(nm,pdorg,optionorg):=( // 16.06.18 regional(pd,options,cmd,out,thick1,thick2,nn,pdn, reL,vtx,face,nv,npttmp,tmp1,tmp2,tmp3,tmp4); pd=pdorg; - if(MeasureDepth(pd)==1,pd=[pd]); - if(MeasureDepth(pd)==2,pd=[pd]);//16.10.04from + if(Measuredepth(pd)==1,pd=[pd]); + if(Measuredepth(pd)==2,pd=[pd]);//16.10.04from forall(1..length(pd),nn, // 16.06.19from pdn=pd_nn; vtx=pdn_1; @@ -4229,8 +4240,8 @@ Mkobjcrvcmd(nm,pstorg,options):=( out=[]; tmp1=parse(pst); flg=0; // 16.04.23from - if(MeasureDepth(tmp1)==2,flg=1); - if(MeasureDepth(tmp1)==0, + if(Measuredepth(tmp1)==2,flg=1); + if(Measuredepth(tmp1)==0, if(islist(tmp1),flg=1); ); if(flg==1, // 16.04.23until @@ -5167,7 +5178,7 @@ WritedataC(fnameorg,dataorg):=( regional(tmp,fname,data,kk,nn,pt); data=dataorg; if(isstring(data),data=parse(data)); - if(MeasureDepth(data)==1,data=[data]); + if(Measuredepth(data)==1,data=[data]); fname=fnameorg; if(indexof(fname,".")==0, fname=fname+".txt"); SCEOUTPUT=openfile(fname); @@ -6448,7 +6459,7 @@ Sfcutparadatacdy(nm,cutfun,fd,options):=( Implicitplot("sfc"+nm,tmp,fd_5,fd_6,["Msg=n","nodisp"]); out3=[]; out2=[]; tmp1=parse("impsfc"+nm); - if(MeasureDepth(tmp1)==1,tmp1=[tmp1]); + if(Measuredepth(tmp1)==1,tmp1=[tmp1]); forall(1..(length(tmp1)),jj, pL=tmp1_jj; tmp2=[]; diff --git a/Master/texmf-dist/scripts/ketcindy/template2allbuttons.cdy b/Master/texmf-dist/scripts/ketcindy/template2slide.cdy Binary files differindex 5b518f9f9e3..5b518f9f9e3 100644 --- a/Master/texmf-dist/scripts/ketcindy/template2allbuttons.cdy +++ b/Master/texmf-dist/scripts/ketcindy/template2slide.cdy diff --git a/Master/texmf-dist/scripts/ketcindy/template4ketcindyjs.cdy b/Master/texmf-dist/scripts/ketcindy/template4ketcindyjs.cdy Binary files differnew file mode 100644 index 00000000000..da71001ab72 --- /dev/null +++ b/Master/texmf-dist/scripts/ketcindy/template4ketcindyjs.cdy |