diff options
Diffstat (limited to 'Master/texmf-dist/scripts/ketcindy')
12 files changed, 551 insertions, 379 deletions
diff --git a/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibbasic1logr.txt b/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibbasic1logr.txt index a232cdc7be6..15b944ba68f 100644 --- a/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibbasic1logr.txt +++ b/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibbasic1logr.txt @@ -1,3 +1,16 @@ +// 20191203 +// Ketinit changed (Yacut 0.2 as default) +// Changestyle changed ( for list setting, color->) +// 20191126 +// Framedata changed ("corner" option) +// 20191027 +// Ellipseplot, Hyperbolaplot debugged ( for Ptpos ) +// 20191025 +// Pointdata debugged ( Inside=numeric ) +// 20191005 +// Setwindow(str) changed ( in case of deleting NE,SW) +// 20191002 +// Ketinit changed (GPACK) // 20190927 // Setwindow debugged ( for Strictmove) // 20190917 diff --git a/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibbasic1r.cs b/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibbasic1r.cs index 2dc633a782e..e2178a919aa 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.3.0"); println(ketjavaversion()); -println("ketcindylibbasic1[20190927] loaded"); +println("ketcindylibbasic1[20191203] loaded"); //help:start(); @@ -69,7 +69,8 @@ Ketinit(work,sy,rangex,rangey,strictsep):=(////190831to TenSizeInit=0.02; TenSize=TenSizeInit; YaSize=1; YaAngle=18; YaPosition=1; - YaCut=0; YasenStyle="dr,1"; Yajiristyle="tf"; + YaCut=0.2; //191203 + YasenStyle="dr,1"; Yajiristyle="tf"; KETPICCOUNT=1; KCOLOR=[0,0,0]; GLIST=[]; // no ketjs @@ -99,7 +100,7 @@ Ketinit(work,sy,rangex,rangey,strictsep):=(////190831to FigPdfList=[]; // 16.04.08 //no ketjs off Fillstore(); //181212 ADDPACK=[]; // 16.05.16 //no ketjs on - GPACK="tpic"; //180817 + if(!isstring(GPACK),GPACK="tpic",Usegraphics(GPACK)); //180817//191002 ErrFlag=0; KETJSOP=[]; //190129 REMOVEPTJS=[]; SLIDEFLG="Y"; //190504 @@ -329,14 +330,22 @@ Setwindow(str):=( tmp=indexof(str,"="); // 16.02.10 msg=Toupper(substring(str,tmp,tmp+1)); Strictmove("SW"); Strictmove("NE");//190927 - if((ispoint(SW) & ispoint(NE)), + if((ispoint(SW)) & (ispoint(NE)), tmp1=LLcrd(Ptpos(SW));//190912[2lines] tmp2=LLcrd(Ptpos(NE)); XMIN=tmp1_1; XMAX=tmp2_1; YMIN=tmp1_2; YMAX=tmp2_2; , - Putpoint("SW",Pcrd([XMIN,YMIN])); - Putpoint("NE", Pcrd([XMAX,YMAX])); + if(!ispoint(SW), //191005from + Putpoint("SW",Pcrd([-5,-5])); + XMIN=-5; YMIN=-5; + Ptpos(SW,SW.xy); + ); + if(!ispoint(NE), + Putpoint("NE", Pcrd([5,5])); + XMAX=5; YMAX=5; + Ptpos(NE,NE.xy); + ); //191005to ); if(msg=="Y", // no ketjs on println("Setwindow(["+XMIN+","+XMAX+"],["+YMIN+","+YMAX+"])"); @@ -346,7 +355,8 @@ Setwindow(str):=( drawpoly([Pcrd([XMIN,YMIN]), Pcrd([XMAX,YMIN]), Pcrd([XMAX,YMAX]),Pcrd([XMIN,YMAX])],color->[1,1,1]); // no ketjs off ); -Setwindow(xrange,yrange):=( +Setwindow(xrange,yrange):=Setwindow(xrange,yrange,"Msg=y"); +Setwindow(xrange,yrange,msg):=( //help:Setwindow([2,3],[-1,1]); XMIN=xrange_1; XMAX=xrange_2; @@ -359,6 +369,9 @@ Setwindow(xrange,yrange):=( autoclearlayer(KETPICLAYER,true); drawpoly([Pcrd([XMIN,YMIN]), Pcrd([XMAX,YMIN]), Pcrd([XMAX,YMAX]),Pcrd([XMIN,YMAX])],color->[1,1,1]); //190927to + if(Toupper(substring(msg,0,1))=="Y", + println("Setwindow(["+XMIN+","+XMAX+"],["+YMIN+","+YMAX+"])"); + ); ); ////%Setwindow end//// @@ -896,14 +909,35 @@ Changework(dirorg,options):=( //16.10.21 ////%Changework end//// ////%Changestyle start//// -Changestyle(nameL,style):=( +Changestyle(nameL,styleorg):=( //help:Changestyle(["sgAB"],["da"]); - regional(nmL,name,Ltype,Ltypeorg,Noflg,color,opcindy,tmp); + regional(nmL,name,style,Ltype,Ltypeorg,Noflg,reL,color,opcindy, + tmp,tmp1,tmp2); + style=styleorg; //191203from + style=apply(style, + if(isstring(#),replace(#,",color->","Color="),#); + ); //191203to tmp=Divoptions(style); Ltypeorg=tmp_1; Noflg=tmp_2; color=tmp_(length(tmp)-2); opcindy=tmp_(length(tmp)); + reL=tmp_6; //191203from + if(length(reL)>0, + tmp1=reL_1; + if(islist(tmp1), + tmp=tmp1_1; + if(tmp==0,tmp2="dr"); + if(tmp==1,tmp2="da"); + if(tmp==2,tmp2="id"); + if(tmp==3,tmp2="do"); + if(tmp==-1,tmp2="nodisp"); + forall(2..(length(tmp1)), + if(tmp1_# !=0,tmp2=tmp2+","+text(tmp1_#)); + ); + Ltypeorg=tmp2; + ); + ); if(islist(nameL),nmL=nameL,nmL=[nameL]); forall(nmL,name, tmp=select(GCLIST,#_1==name); @@ -3962,8 +3996,9 @@ Pointdata(nm,listorg,options):=( inside=text(tmp); , if(contains(["0","1"],tmp2), + tmp2=tmp_2; //191025 tmp=[1,1,1]-color; - tmp=parse(tmp_2)*tmp; + tmp=parse(tmp2)*tmp; //191025 inside=[1,1,1]-tmp; , if(tmp2=="N", @@ -5043,22 +5078,37 @@ Framedata(nm,list,optionsorg):=( //190424modified //help:Framedata(); //help:Framedata("1",[C,A]); //help:Framedata("1",[C,dx,dy]); +//help:Framedata("1",[p1,p2],["corner"]); regional(name,options,Out,tmp,tmp1,x1,x2,y1,y2,dx,dy, - opcindy,Ltype,Noflg,strL,cent,dx,dy,color); + opcindy,Ltype,Noflg,strL,cent,dx,dy,color,strL,corner); name="fr"+nm; options=optionsorg; tmp=Divoptions(options); Ltype=tmp_1; Noflg=tmp_2; + strL=tmp_7; //191126 color=tmp_(length(tmp)-2); opcindy=tmp_(length(tmp)); - if(length(list)==2, // 15.05.12 - cent=Lcrd(list_1); tmp=Lcrd(list_2); - dx=abs(tmp_1-cent_1); dy=abs(tmp_2-cent_2); - , - cent=Lcrd(list_1); - dx=list_2; dy=list_3; + corner=0; //191126from + forall(strL, + tmp=substring(Toupper(#),0,1); + if(tmp=="C", + cent=(list_1+list_2)/2; + dx=abs(list_2_1-list_1_1)/2; + dy=abs(list_2_2-list_1_2)/2; + corner=1; + options=remove(options,[#]); + ); ); + if(corner==0, + if(length(list)==2, // 15.05.12 + cent=Lcrd(list_1); tmp=Lcrd(list_2); + dx=abs(tmp_1-cent_1); dy=abs(tmp_2-cent_2); + , + cent=Lcrd(list_1); + dx=list_2; dy=list_3; + ); + ); //191126to x1=cent_1-dx; x2=cent_1+dx; y1=cent_2-dy; y2=cent_2+dy; Listplot("-"+name,[[x1,y1],[x2,y1],[x2,y2],[x1,y2],[x1,y1]],options); @@ -5276,14 +5326,14 @@ Ellipseplot(nm,ptlist,Arg):=( Ellipseplot(nm,ptlist,rng,options):=( //help:Ellipseplot("1",[A,B,3]); //help:Ellipseplot("1",[A,B,C],"[0,pi]",[options]); - regional(pA,pB,d,angle,f,a,b,pM,tmp,tmp1,tmp2); + regional(pA,pB,dd,angle,f,a,b,pM,tmp,tmp1,tmp2); pA=Lcrd(ptlist_1); tmp1=Lcrd(ptlist_2); - if(ispoint(ptlist_3), + if((ispoint(ptlist_3))%(length(ptlist_3)>1), //191027 tmp2=Lcrd(ptlist_3); - d=|tmp2-pA|+|tmp2-tmp1|; + dd=|tmp2-pA|+|tmp2-tmp1|; , - d=ptlist_3; + dd=ptlist_3; ); tmp=(tmp1-pA)/|tmp1-pA|; if(tmp_2>=0, @@ -5297,8 +5347,8 @@ Ellipseplot(nm,ptlist,rng,options):=( ); pB=Rotatepoint(tmp1,-angle,pA); f=|pB_1-pA_1|/2; - a=d/2; - b=sqrt(d^2/4-f^2); + a=dd/2; + b=sqrt(dd^2/4-f^2); pM=(pA+pB)/2; tmp="["+format(pM_1,5)+","+format(pM_2,5)+"]"; tmp=tmp+"+["+format(a,5)+"*cos(t),"+format(b,5)+"*sin(t)]"; @@ -5337,7 +5387,7 @@ Hyperbolaplot(nm,ptlist,rng,optionsorg):=( ); pA=Lcrd(ptlist_1); tmp1=Lcrd(ptlist_2); - if(ispoint(ptlist_3), + if((ispoint(ptlist_3))%(length(ptlist_3)>1), //191027 tmp2=Lcrd(ptlist_3); d=abs(|tmp2-pA|-|tmp2-tmp1|); , diff --git a/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibbasic2logr.txt b/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibbasic2logr.txt index 90dd67b9954..ebc5f932531 100644 --- a/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibbasic2logr.txt +++ b/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibbasic2logr.txt @@ -1,3 +1,48 @@ +// 20191208 +// Arrowheaddata debugged (decision of pC) +// 20191207 +// Arrowheaddata debugged (selecting intersect) +// Arrowhead debugged (name of partcrv) +// 20191204 +// Arrowheaddata changed ( segpos ) +// 20191203 +// Arrowheaddata,Arrowhead changed ( style ) +// 20191202 +// Arrowdataseg,Arrowhead changed (for segpos==1) +// 20191201 +// Arrowdata debugged (pB => pC) +// 20191128 +// Arrowheaddata,Arrowhead remade +// 20191123 +// Setarrow debugged (YaAngle) +// Arrowdataseg debugged (Unitlen,MilliIn) +// 20191119 +// Arrowdata(Arrowdataseg) changed ( making seg short to be hidden ) +// 20191114 +// Arrowhead changed ( position supported ) +// Setarrow changed ( any position ) +// 20191106 +// Lightarrowdata debugged +// 20191104 +// Arrowhead debugged/changed (cut, datalist) +// 20191101 +// Htickmark,Vtickmark changed (options added to ticks) +// 20191030 +// Putpoint changed (for ketcindyjs ) +// 20191023 +// Tabledata debugged (Strsplit(#)) +// 20191012 +// Arrowhead changed (fillpoly) +// 20191011 +// Lightarrowhead debugged (angle) and changed (fillpoly) +// 20191008 +// Shade debugged (in case of "nodisp"/"notex") +// Tabledata changed ("Geo=") +// Tabledatalight changed (tb+Counter+str added ) +// 20191007 +// Shade changed (option "First" added) +// 20191005 +// Putpoint changed (Ptpos added in case of new point) // 20190921 // Enclosing debugged/changed ( in case of length(KL)==1, epspara removed) // 20190917 diff --git a/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibbasic2r.cs b/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibbasic2r.cs index 5f65ad6c50d..2b382904cb8 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("ketcindylibbasic2[20190921] loaded"); +println("ketcindylibbasic2[20191208] loaded"); //help:start(); @@ -120,10 +120,10 @@ Setarrow(arglist):=( if((tmp_1>0),YaSize=tmp_1); ); if(length(tmp)>=2, - if((tmp_2>0)&(tmp_2<90),YaAngle=tmp_2); + if(tmp_2<2.5,YaAngle=tmp_2*YaAngle,Yaangle=tmp_2); //191123 ); if(length(tmp)>=3, - if((tmp_3>=0)&(tmp_3<=1),YaPosition=tmp_3); + YaPosition=tmp_3; //191114 ); if(length(tmp)>=4, if((tmp_4>=0)&(tmp_4<1),YaCut=tmp_4); @@ -137,99 +137,113 @@ Setarrow(arglist):=( ////%Setarrow end//// ////%Arrowheaddata start//// -Arrowheaddata(point,direction):=Arrowheaddata(point,direction,[]); -Arrowheaddata(point,direction,options):=( +Arrowheaddata(point,direction):= + Arrowheaddata(point,direction,[YaSize,YaAngle,YaPosition,YaCut]); +Arrowheaddata(point,direction,options):=( //191127remade // help:Arrowheaddata(A,B); -// help:Arrowheaddata(options=[size(1),angle(18), "Coord=phy"]); - regional(list,ookisa,hiraki,Houkou,Str,Flg,Ev,Nv,pA,pB, - reL,eqL,coord,pP,rF,gG,Flg,Nj,Eps,scx,scy,tmp,tmp1,tmp2); - Eps=10^(-3); - coord="P"; - ookisa=0.2*YaSize; - hiraki=YaAngle; - iti=1; - kiri=0; - Futosa=0; - Str=YaStyle; +// help:Arrowheaddata("1",A,"gr1"); +// help:Arrowheaddata("1",A,gr1); +// help:Arrowheaddata(options=[size(1),angle(18),pos(1),cut(0)]); + regional(scaley,Eps,size,angle,segpos,cut, Houkou,hflg,Str,Ev,Nv, + reL,pP,vec,pA,pB,pC,par,out,tmp,tmp1,tmp2); + Eps=10^(-4); tmp=Divoptions(options); - eqL=tmp_5; //181018from reL=tmp_6; - forall(eqL, - tmp=Strsplit(#,"="); - tmp1=substring(tmp_1,0,1); - tmp2=substring(tmp_2,0,1); - if(Toupper(tmp1)=="C", - coord=Touppera(tmp2); - ); - ); //181018to - forall(1..(length(reL)), //181110from - tmp=reL_#; - if(#==1,ookisa=ookisa*tmp); - if(#==2, - if(tmp<5, - hiraki=hiraki*tmp; - , - hiraki=tmp; + size=0.2*YaSize*1/2.54*1000/MilliIn; + angle=YaAngle*pi/180; + segpos=YaPosition; + cut=YaCut; + if(length(reL)>=1, + size=0.2*reL_1*1/2.54*1000/MilliIn; + ); + if(length(reL)>=2, + if(reL_2<2.5,angle=reL_2*YaAngle,angle=reL_2); + angle=angle*pi/180; + ); + if(length(reL)>=3, + segpos=reL_3; + ); + if(length(reL)>=4, + cut=reL_4; + ); + if(ispoint(point),pP=Lcrd(point),pP=point); + hflg=0; + out=[]; + if(ispoint(direction), + Houkou=direction.xy; + hflg=2; + ); + if(hflg==0, //191203from + if(!isstring(direction), //191207 + if(Measuredepth(direction)==0, + Houkou=direction; + hflg=2; ); - ); - ); //181110to - Flg=0; - 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(coord=="P",//181018from - if(ispoint(point),pP=point.xy,pP=point); - , - pP=Pcrd(point); - if(!islist(Houkou_1), - Houkou=Pcrd(Houkou); + ); //191207to + ); //191203to + scaley=SCALEY; + Setscaling(1); //191203(moved) + if(hflg==0, + if(isstring(direction),Houkou=parse(direction),Houkou=direction); + if(!islist(pP), + par=1+(length(Houkou)-1)*pP; //191207 + pP=Ptcrv(par,Houkou); + tmp=floor(tmp); //191203from , - Houkou=apply(Houkou,Pcrd(#)); - ); - );//181018to - if(islist(Houkou_1), - tmp=Nearestpt(pP,Houkou); - pP=tmp_1; - rF=floor(tmp_2); - if(rF==1, - if(|Ptend(Houkou)-Ptstart(Houkou)|<Eps, - rF=Numptcrv(Houkou); - ); - ); - gG=apply(0..10,pP+ookisa*cos(hiraki)*[cos(2*pi/10*#),sin(2*pi/10*#)]); - Flg=0; - forall(1..rF,Nj, - if(Flg==0, - pB=Ptcrv(rF+1-Nj,Houkou); - tmp1=apply([pP,pB],LLcrd(#)); - tmp2=apply(gG,LLcrd(#)); - tmp=Intersectcrvspp([pP,pB],gG); - if(length(tmp)>0, - Houkou=pP-Pcrd(tmp_1_1); - Flg=1; - ); - ); + tmp=Nearestpt(pP,Houkou); + pP=tmp_1; + par=tmp_2; + tmp=floor(par); //191203to + ); + if(tmp<length(Houkou), + tmp1=Houkou_tmp; + tmp2=Houkou_(tmp+1); + , + tmp1=Houkou_(tmp-1); + tmp2=Houkou_tmp; ); - if(Flg==0, + vec=(tmp2-tmp1)/|tmp2-tmp1|; + gG=Circledata("",[pP,size*cos(angle)],["Num=10","nodata"]); + tmp1=Intersectcrvspp(Houkou,gG); + if(length(tmp1)==0, println("Arrowhead may be too large (no intersect)"); - Flg=2; - ); - ); - if(Flg<2, - Ev=-1/|Houkou|*Houkou; - Nv=[-Ev_2, Ev_1]; - if(indexof(Str,"c")>0, - pP=pP-0.5*ookisa*cos(hiraki)*Ev; - ); - if(indexof(Str,"b")>0, - pP=pP-ookisa*cos(hiraki)*Ev; - ); - pA=pP+ookisa*cos(hiraki)*Ev+ookisa*sin(hiraki)*Nv; - pB=pP+ookisa*cos(hiraki)*Ev-ookisa*sin(hiraki)*Nv; - list=[pA,pP,pB]; - list; + , + tmp=select(tmp1,#_2<par); //191208from + if(length(tmp)>0, + tmp=sort(tmp,[-#_2]); + pC=tmp_1_1; + , + if(Norm(Ptend(direction)-Ptstart(direction))>Eps, + tmp=sort(tmp1,[#_2]); + pC=2*pP-tmp_1_1; + , + tmp=sort(tmp1,[-#_2]); + pC=tmp_1_1; + ); + ); //191208to + Houkou=pP-pC; + hflg=1; + ); + ); + if(hflg>=1, + Ev=-Houkou/|Houkou|; + Nv=[-Ev_2, Ev_1]; + pA=pP+size*cos(angle)*Ev+size*sin(angle)*Nv; + pB=pP+size*cos(angle)*Ev-size*sin(angle)*Nv; + if(hflg==2, + pC=(pA+pB)/2; + ); + pC=pC+cut*(pP-pC); + tmp=(pP-(pA+pB)/2); + tmp=(1-segpos)*tmp; + pP=Translatepoint(pP,tmp); + pA=Translatepoint(pA,tmp); + pB=Translatepoint(pB,tmp); + pC=Translatepoint(pC,tmp); + Setscaling(scaley); + out=apply([pA,pP,pB,pC,pA],LLcrd(#)); ); + out; ); ////%Arrowheaddata end//// @@ -242,105 +256,84 @@ Arrowhead(Arg1,Arg2,Arg3):=( Arrowhead(text(ArrowheadNumber),Arg1,Arg2,Arg3); ); ); -Arrowhead(nm,point,direction,optionsorg):=(//181018from +Arrowhead(nm,point,direction,optionsorg):=(//191129remade //help:Arrowhead("1",B,B-A); -//help:Arrowhead(options=[size(1),angle(18),position(1),cut(0),"Coord=P(L)"]); -//help:Arrowhead(the default is -1 for numeric option); -//help:Arrowhead(A,"gr1"); - regional(name,Ltype,Noflg,reL,opstr,opcindy,color,eqL,coord, - options,cut,pP,Houkou,ptstr,hostr,tmp,tmp1,tmp2,list); +//help:Arrowhead("1",[1,2],"gr1"); +//help:Arrowhead("1",0.5,"gr1"); +//help:Arrowhead(options=[size(1),angle(18),position(1),cut(0),"Line=n(y)"]); + regional(Eps,name,Ltype,Noflg,opstr,opcindy,color,eqL,line, + options,pP,Houkou,ptstr,hostr,tmp,tmp1,tmp2,list); + Eps=10^(-4); name="arh"+nm; //181018 ArrowheadNumber=ArrowheadNumber+1; options=optionsorg; tmp=Divoptions(options); Ltype=tmp_1; Noflg=tmp_2; - reL=tmp_6; color=tmp_(length(tmp)-2); eqL=tmp_5; - coord="P"; + line="N"; forall(eqL, tmp=Strsplit(#,"="); tmp1=substring(tmp_1,0,1); tmp2=substring(tmp_2,0,1); - if(Toupper(tmp1)=="C", - coord=Toupper(tmp2); + if(Toupper(tmp1)=="L", + line=Toupper(tmp2); options=remove(options,[#]); ); - ); //181018to - tmp1=[YaSize,YaAngle,YaPosition,YaCut]; //181214from - forall(1..(length(reL)), - if(reL_#<0, reL_#=tmp1_#); - ); - forall((length(reL)+1)..4, - reL=append(reL,tmp1_#); ); - cut=reL_4; - tmp=reL_(1..3); - options=select(options,!isreal(#)); - 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(coord=="P",//181018from - if(ispoint(point),pP=point.xy,pP=point); - , - pP=Pcrd(point); - if(!islist(Houkou_1), - Houkou=Pcrd(Houkou); - , - Houkou=apply(Houkou,Pcrd(#)); - ); - );//181018to - list=Arrowheaddata(pP,Houkou,options); - if(!Inwindow(LLcrd(pP)),Noflg=2);//181018 + list=Arrowheaddata(point,direction,options); + if((ispoint(point))%(islist(point)), + if(!Inwindow(point),Noflg=2); + ); if(Noflg<3, - tmp1=apply(list,LLcrd(#)); - tmp=name+"="+Textformat(tmp1,5)+";"; //190415 + tmp=name+"="+Textformat(list,5)+";"; parse(tmp); - ); - if(Noflg<3, //190818 if(isstring(Ltype), - Listplot("-arh"+nm,apply(list,LLcrd(#)),concat(options,["notex","Msg=n"])); - ); - ); - if(Noflg==0, - tmp=Divoptions(options); - opstr=tmp_(length(tmp)-1); - opstr=opstr+","+Dqq("Cut="+format(cut,5)); - ptstr=Textformat(LLcrd(pP),5); - if(isstring(direction), //181019 - hostr=direction; - , - if(!islist(Houkou_1), - hostr=format(LLcrd(Houkou),5); + if(line=="N", + fillpoly(apply(list,Pcrd(#)),color->color); + if(Noflg==0, + if((point==1)&(isstring(direction)), //191202from + if(Norm(Ptend(direction)-Ptstart(direction))>Eps, //191203from + tmp=select(GCLIST,#_1==direction); + tmp=tmp_1; + tmp1=Nearestpt(list_4,direction); + tmp1=tmp1_2; + Partcrv(direction,1,tmp1,direction,["Msg=n"]); //191207 + Changestyle("part"+direction,[tmp_2,tmp_3]); + Changestyle(direction,["nodisp"]); + ); + ); //191202to + Listplot("-arh"+nm,list,["dr,0.1","Color="+text(color),"Msg=n"]);//191202 + Shade(["arh"+nm],["Color="+text(color)]); + ); , - hostr=format(apply(Houkou,LLcrd(#)),5); + Listplot("-arh"+nm,list_(1..3),concat(options,["Msg=n"])); ); - ); - if((Noflg==0)&(color!=KCOLOR), //180904 //no ketjs on - Texcom("{");Com2nd("Setcolor("+color+")");//180722 - ); //no ketjs off - Com2nd("Arrowhead("+ptstr+","+hostr+opstr+")"); - if((Noflg==0)&(color!=KCOLOR), //180904 //no ketjs on - Texcom("}");//180722 - ); //no ketjs off + ); ); + list; //191202 ); ////%Arrowhead end//// -////%Arrowdata start//// 190727 (<= Lightarrowdata) -Arrowdata(ptlist):=Lightarrowdata(ptlist,[]); -Arrowdata(Arg1,Arg2):=Lightarrowdata(Arg1,Arg2); -Arrowdata(nm,ptlistorg,optionsorg):=Lightarrowdata(nm,ptlistorg,optionsorg); +////%Arrowdata start//// 191119 (Arrowdataseg,Arrowdatacrv) +Arrowdata(ptlist):=Arrowdataseg(ptlist); +Arrowdata(Arg1,Arg2):=Arrowdataseg(Arg1,Arg2); +Arrowdata(nm,ptlistorg,optionsorg):=( +//help:Arrowdata("1",[A,B]); +//help:Arrowdata("1",[p1,p2]); +//help:Arrowdata(options=[size(1),angle(18),pos(1),cut(0),"Cutend=0,0","Coord=p/l"]); +//help:Arrowdata(optionsadded=["line"]); + Arrowdataseg(nm,ptlistorg,optionsorg); +); ////%Arrowdata end//// -////%OldArrowdata start//// -Arrowdata(ptlist):=OldArrowdata(ptlist,[]); //181110from -OldArrowdata(Arg1,Arg2):=( +////%Oldarrowdata start//// +Oldrrowdata(ptlist):=Oldarrowdata(ptlist,[]); //181110from +Oldrrowdata(Arg1,Arg2):=( regional(name); if(isstring(Arg1), - OldArrowdata(Arg1,Arg2,[]); + Oldarrowdata(Arg1,Arg2,[]); , name=""; forall(Arg1, @@ -348,14 +341,14 @@ OldArrowdata(Arg1,Arg2):=( name=name+#.name; //190505 ); ); - OldArrowdata(name,Arg1,Arg2); + Oldarrowdata(name,Arg1,Arg2); ); -); //181110from -OldArrowdata(nm,ptlistorg,optionsorg):=( +); //181110to +Oldarrowdata(nm,ptlistorg,optionsorg):=( // help:Arrowdata("1",[A,B]); // help:Arrowdata("1",[pt1,pt2]); -// help:Arrowdata(options=[size(1),angle(18),pos(1),cut(0),"Cutend=0,0","Coord=p/l"]); -// help:Arrowdata(optionsadded=["line"]); +// help:Arrowdatacrv(options=[size(1),angle(18),pos(1),cut(0),"Cutend=0,0","Coord=p/l"]); +// help:Arrowdatacrv(optionsadded=["line"]); regional(options,Ltype,Noflg,name,opstr,opcindy,eqL,reL,strL,color,size,coord, flg,lineflg,cutend,tmp,tmp1,tmp2,pA,pB,angle,segpos,cut,scaley,ptlist); name="ar"+nm; @@ -442,7 +435,7 @@ OldArrowdata(nm,ptlistorg,optionsorg):=( ); if(Noflg<2, if(isstring(Ltype), - Listplot("-ar"+nm,[LLcrd(pA),LLcrd(pB)],append(options,"Msg=n")); + Listplot("-ar"+nm,[LLcrd(pA),LLcrd(pB)],concat(options,["Msg=n"])); Arrowhead(nm,pA+segpos*(pB-pA),pB-pA,options); //181110 , if(Noflg==1,Ltype=0); @@ -451,14 +444,14 @@ OldArrowdata(nm,ptlistorg,optionsorg):=( Setscaling(scaley); //190412 [Lcrd(pA),Lcrd(pB)]; ); -////%OldArrowdata end//// +////%Oldarrowdata end//// -////%Lightarrowdata start//// -Lightarrowdata(ptlist):=Lightarrowdata(ptlist,[]); //181110from -Lightarrowdata(Arg1,Arg2):=( +////%Arrowdataseg start//// +Arrowdataseg(ptlist):=Arrowdataseg(ptlist,[]); //181110from +Arrowdataseg(Arg1,Arg2):=( regional(name); if(isstring(Arg1), - Lightarrowdata(Arg1,Arg2,[]); + Arrowdataseg(Arg1,Arg2,[]); , name=""; forall(Arg1, @@ -466,26 +459,23 @@ Lightarrowdata(Arg1,Arg2):=( name=name+#.name; //190505 ); ); - Lightarrowdata(name,Arg1,Arg2); + Arrowdataseg(name,Arg1,Arg2); ); ); //181110from -Lightarrowdata(nm,ptlist,optionsorg):=( -//help:Arrowdata("1",[pt1,pt2]); -//help:Arrowdata(options=[size(1),angle(18),pos(1),cut(0),"Cutend=0,0","Line=y(n)"]); - regional(options,Ltype,Noflg,opstr,opcindy,eqL,reL,strL,color,size,coord,lineflg, - flg,lineflg,cutend,tmp,tmp1,tmp2,pA,pB,angle,segpos,cut,scaley,Ev,Nv,pP); - pA=Pcrd(ptlist_1); pB=Pcrd(ptlist_2); +Arrowdataseg(nm,ptlistorg,optionsorg):=( +//help:Arrowdataseg("1",[pt1,pt2]); +//help:Arrowdataseg(options=[size(1),angle(18),pos(1),cut(0),"Cutend=0,0","Line=n(y)"]); + regional(options,Ltype,Noflg,opstr,opcindy,eqL,reL,strL,color,size,lineflg, + flg,cutend,tmp,tmp1,tmp2,pA,pB,pC,angle,segpos,cut,scaley,Ev,Nv,pP,ptlist); scaley=SCALEY; //190412 Setscaling(1); ptlist=[]; forall(ptlistorg, - if(ispoint(#),tmp=[#.x, scaley*#.y], tmp=[#_1,scaley*#_2]); + if(ispoint(#),tmp=[#.x, #.y], tmp=[#_1,scaley*#_2]); ptlist=append(ptlist,tmp); ); + pA=ptlist_1; pB=ptlist_2; options=optionsorg; - tmp=select(options,isstring(#)); //181214from - tmp1=select(tmp,contains(["dr","da","do","id"],substring(#,0,2))); - if(length(tmp1)==0,options=append(options,YasenStyle)); //181214to tmp=Divoptions(options); Ltype=tmp_1; Noflg=tmp_2; @@ -495,25 +485,26 @@ Lightarrowdata(nm,ptlist,optionsorg):=( color=tmp_(length(tmp)-2); opstr=tmp_(length(tmp)-1); opcindy=tmp_(length(tmp)); - tmp1=[YaSize,YaAngle,YaPosition,YaCut]; //181214from - forall(1..(length(reL)), - if(reL_#<0, reL_#=tmp1_#); - ); - forall((length(reL)+1)..4, - reL=append(reL,tmp1_#); + size=0.2*YaSize*1/2.54*1000/MilliIn; + angle=YaAngle*pi/180; + segpos=YaPosition; + cut=YaCut; + if(length(reL)>=1, + size=0.2*reL_1*1/2.54*1000/MilliIn; + ); + if(length(reL)>=2, + if(reL_2<2.5,angle=reL_2*YaAngle,angle=reL_2); + angle=angle*pi/180; ); - size=reL_1; - angle=reL_2; - segpos=reL_3; - cut=reL_4; - lineflg=0; - if(contains(strL,"l")%contains(strL,"L"), - lineflg=1; - );//181018from - options=remove(options,strL); + if(length(reL)>=3, + segpos=reL_3; + ); + if(length(reL)>=4, + cut=reL_4; + ); + options=remove(options,reL); //191202 cutend=[0,0];//180719 - coord="P";//181018 - lineflg=1; //190504 + lineflg=0; forall(eqL, tmp=Strsplit(#,"="); tmp1=Toupper(substring(tmp_1,0,2)); @@ -523,60 +514,39 @@ Lightarrowdata(nm,ptlist,optionsorg):=( tmp2=replace(tmp2,"]",""); cutend=tokenize(tmp2,","); if(length(cutend)==1,cutend=[cutend_1,cutend_1]); - options=remove(options,[#]); ); if(tmp1=="LI",//190504from tmp2=Toupper(substring(tmp2,0,1)); - if(tmp2=="N",lineflg=0); - options=remove(options,[#]); + if(tmp2=="Y",lineflg=1); );//190504to ); - if(Noflg<3, - tmp="ar"+nm+"="+Textformat([pA,pB],5)+";"; - parse(tmp); - ); - if(Noflg<3, //190818 - if(isstring(Ltype), - if(lineflg==1, //190504from - Listplot("-ar"+nm,[LLcrd(pA),LLcrd(pB)],append(options,"Msg=n")); - , - tmp=pB; - pB=pA; - pA=pB-tmp; - ); //190504to - size=0.2*size; - angle=angle*pi/180; - pP=pA+segpos*(pB-pA); - Ev=-1/|pB-pA|*(pB-pA); - Nv=[-Ev_2, Ev_1]; - tmp1=pP+size*cos(angle)*Ev+size*sin(angle)*Nv; - tmp2=pP+size*cos(angle)*Ev-size*sin(angle)*Nv; - ArrowheadNumber=ArrowheadNumber+1; - Listplot("-arh"+nm,[tmp1,pP,tmp2],append(options,"Msg=n")); - if((Noflg==0)&(color!=KCOLOR), //180904 //no ketjs on - Texcom("{");Com2nd("Setcolor("+color+")");//180722 - ); //no ketjs off - Setscaling(scaley); - tmp1=Textformat(LLcrd(pP),5); //no ketjs on - tmp2=Textformat(LLcrd(pB-pA),5); - if(cut>0, //190727from //no ketjs on - tmp=Indexall(opstr,","); - tmp=tmp_(length(tmp)); - opstr=substring(opstr,0,tmp-1); - opstr=opstr+","+Dqq("Cut="+text(cut)); - ); //190727to - Com2nd("Arrowhead("+tmp1+","+tmp2+opstr+")"); - if((Noflg==0)&(color!=KCOLOR), //180904 - Texcom("}");//180722 - ); //no ketjs off + tmp=pB-pA; + tmp=tmp/|tmp|; + pA=ptlist_1+tmp*cutend_1; + pB=ptlist_2-tmp*cutend_2; + pP=pA+segpos*(pB-pA); + Ev=-1/|pB-pA|*(pB-pA); + Nv=[-Ev_2, Ev_1]; + tmp1=pP+size*cos(angle)*Ev+size*sin(angle)*Nv; + tmp2=pP+size*cos(angle)*Ev-size*sin(angle)*Nv; + pC=pP+(1-cut)*((tmp1+tmp2)/2-pP); + ArrowheadNumber=ArrowheadNumber+1; + if(Noflg<2, + if(lineflg==1, + Listplot("-arh"+nm,[tmp1,pP,tmp2],append(options,"Msg=n")); //191106 , - if(Noflg==1,Ltype=0); + Listplot("-arh"+nm,[tmp1,pP,tmp2,pC,tmp1],["dr,0.1","Color="+color,"Msg=n"]); //191106 + Shade(["arh"+nm],[Ltype,"Color="+color]); + ); + if(lineflg==0, + if(segpos==1,pB=pC); //191202 ); + Listplot("-ar"+nm,[pA,pB],[Ltype,"Color="+color,"Msg=n"]); ); Setscaling(scaley); //190412 - [Lcrd(pA),Lcrd(pB)]; + [LLcrd(pA),LLcrd(pB)]; ); -////%Lightarrowdata end//// +////%Arrowdataseg end//// ////%Anglemark start//// Anglemark(plist):=Anglemark(plist,[]); @@ -1944,20 +1914,17 @@ Shade(Arg1,Arg2):=( ); ); 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(["gr1"]); +// help:Shade(options=["Trim=(n)","Enc=(n)",Rirst=(n)","Color=",Startpoint]); //help:Shade(["gr2","Invert(sg1)"],["Enc=y",(Startpoint)]); - regional(name,plist,jj,nn,trim,tmp,tmp1,tmp2, + regional(name,plist,jj,nn,trim,first,tmp,tmp1,tmp2, opstr,opcindy,eqL,reL,Str,G2,flg,encflg,startpt,color,ctr); name="shade"+nm; plist=plistorg; if(isstring(plist_1), // 16.01.24 - println("output Shade of "+plist); +// println("output Shade of "+plist); , - println("output Shade of lists"); +// println("output Shade of lists"); ); tmp=Divoptions(options); eqL=tmp_5; @@ -1968,6 +1935,7 @@ Shade(nm,plistorg,options):=( tmp=select(plist,indexof(#,"Invert")>0); //180929from if(length(tmp)>0,encflg=1,encflg=0); trim="N"; + first="N"; //191007 forall(eqL, tmp=Strsplit(#,"="); tmp1=Toupper(tmp_1); @@ -1983,6 +1951,9 @@ Shade(nm,plistorg,options):=( if(substring(tmp1,0,1)=="T", trim=substring(tmp2,0,1); ); + if(substring(tmp1,0,1)=="F", + first=substring(tmp2,0,1); + ); ); startpt=[]; forall(reL, @@ -2050,11 +2021,16 @@ Shade(nm,plistorg,options):=( ); 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)); - ); + if(first=="Y", //191007from + jj=1; + , + jj=nn; + forall(plist,tmp1, + tmp=select(1..nn,indexof(COM2ndlist_#,tmp1)>0); + jj=min(append(tmp,jj)); + ); + if(jj==0, jj=1); //191008 + ); //191007to tmp1=["Texcom("+Dqq("{")+")","Setcolor("+color+")",Str,"Texcom("+Dqq("}")+")"]; tmp2=COM2ndlist_(1..(jj-1)); tmp=COM2ndlist_(jj..(length(COM2ndlist))); @@ -2066,8 +2042,6 @@ Shade(nm,plistorg,options):=( ); ////%Shade end//// -/////////// end of new Hatchdata(cindy) /////////// - ////%Rotatepoint start//// Rotatepoint(point,Theta,ctr):=( //help:Rotatepoint(A,2*pi/3,B); @@ -2586,7 +2560,7 @@ Htickmark(arglist,options):=( //190203 tmp1=select(1..(length(arglist)),!isstring(arglist_#)); //180710from forall(tmp1,nn, Listplot("ht"+text(nn), - [[arglist_nn,mark],[arglist_nn,-mark]],["Msg=n"]);//181017 + [[arglist_nn,mark],[arglist_nn,-mark]],append(options,"Msg=n"));//191101 if(nn+2<=length(arglist), tmp=arglist_(nn+2); if(!isstring(tmp), @@ -2613,7 +2587,7 @@ Vtickmark(arglist,options):=( //190203 tmp1=select(1..(length(arglist)),!isstring(arglist_#)); //180710from forall(tmp1,nn, Listplot("vt"+text(nn), - [[mark,arglist_nn],[-mark,arglist_nn]],["Msg=n"]); //181021 + [[mark,arglist_nn],[-mark,arglist_nn]],append(options,"Msg=n")); //191101 if(nn+2<=length(arglist), tmp=arglist_(nn+2); if(!isstring(tmp), @@ -2776,9 +2750,9 @@ Drwxy(add,optionsorg):=( if(length(tmp)>0,size=parse(tmp),size=YaSize); tmp1=concat(options,[size,YaAngle,YaPosition,YaCut,colorax]);//181216 tmp=[[xrng_1,org_2],[xrng_2,org_2]]; - Lightarrowdata("axx"+text(AXCOUNT),tmp,tmp1); + Arrowdataseg("axx"+text(AXCOUNT),tmp,tmp1); tmp=[[org_1,yrng_1],[org_1,yrng_2]]; - Lightarrowdata("axy"+text(AXCOUNT),tmp,tmp1); //190419 + Arrowdataseg("axy"+text(AXCOUNT),tmp,tmp1); //190419 , tmp=[[xrng_1,org_2],[xrng_2,org_2]]; tmp1=concat(options,[colorax,"Msg=n"]);//181216,190325 @@ -3168,14 +3142,15 @@ Slider(ptstr,p1,p2,options):=(//190120 Putpoint(name,Pt):=Putpoint(name,Pt,Pt); Putpoint(name,Ptinit,Pt):=( //help:Putpoint("A",[1,2],[1,A.y]); - regional(ptstr); - ptstr=apply(allpoints(),#.name); //no ketjs on + regional(ptstr); + ptstr=apply(allpoints(),#.name); //no ketjs on //191030 if(!contains(ptstr,name), createpoint(name,Pcrd([Ptinit_1,Ptinit_2])); - , //no ketjs off + Ptpos(name,Pcrd([Ptinit_1,Ptinit_2])); //191005 + , //no ketjs off //191030 ptstr=name+".xy="+Textformat(Pcrd(Pt),5)+";"; parse(ptstr); - ); //no ketjs + ); //no ketjs //191030 ); ////%Putpoint end//// @@ -4105,15 +4080,22 @@ Tabledata(Arg1,Arg2,Arg3,Arg4):=( ); ); //190428to Tabledata(nm,xL,yL,rmvL,optionorg):=( -//help:Tabledata(xL,yL,rmvL,["Geo=n"]); +//help:Tabledata(xL,yL,rmvL,["Geo=y(n)"]); //help:Tabledata(options=[2(tick,0 for no tick),"Setwin=y","Move=[0,0]"]); //190428 regional(options,geo,tmp,tmp1,tmp2); options=optionorg; tmp=Divoptions(options); eqL=tmp_5; - tmp=select(tmp_5,indexof(Toupper(#),"GEO")>0); - if(length(tmp)>0, - options=remove(options,tmp); + geo="N"; //191008from + forall(eqL, + tmp=Strsplit(#,"="); //191023 + tmp1=Toupper(substring(tmp_1,0,1)); + if(tmp1=="G", + geo=Toupper(substring(tmp_2,0,1)); + options=remove(options,#); + ); + ); + if(geo=="Y", //191008to Tabledatageo(nm,xL,yL,rmvL,options); , Tabledatalight(nm,xL,yL,rmvL,options); @@ -4134,7 +4116,7 @@ Tabledatalight(nm,xLst,yLst,rmvL,optionorg):=( //help:Tabledatalight(xLst,yLst,rmvL,[0(notick)]); //help:Tabledatalight(xLst,yLst,rmvL,[2,"Setwindow=y","Move=[0,0]"]); //190428 regional(options,rng,name,upleft,ul,flg,tick,eqL,reL,n,m,xsize,ysize, - rlist,clist,Tb,jj,kk,tmp,tmp1,tmp2,tmp3,Eps); + rlist,clist,Tb,jj,kk,tmp,tmp1,tmp2,tmp3,Eps,tbstr); // TableMove is global for Table TABLECOUNT=TABLECOUNT+1; //190428from TableMove=GENTEN; //190428to @@ -4193,17 +4175,20 @@ Tabledatalight(nm,xLst,yLst,rmvL,optionorg):=( Tb=[clist,rlist]; //190427 tmp=name+"="+Tb+";"; //190415 parse(tmp); + tbstr="["; //191008 forall(0..m,jj, //190507from tmp3="c"+text(jj); if(length(rmvL)>=0, tmp1="r"+text(0); tmp2="r"+text(n); - Tlistplot("-"+name+tmp3+tmp1+tmp2,[tmp3+tmp1,tmp3+tmp2],options); + Tlistplot("-"+name+tmp3+tmp1+tmp2,[tmp3+tmp1,tmp3+tmp2],options); + tbstr=tbstr+Dqq(name+tmp3+tmp1+tmp2)+"," //191008 , forall(0..(n-1), tmp1="r"+text(#); tmp2="r"+text(#+1); Tlistplot("-"+name+tmp3+tmp1+tmp2,[tmp3+tmp1,tmp3+tmp2],options); + tbstr=tbstr+Dqq(name+tmp3+tmp1+tmp2)+"," //191008 ); ); //190507to if(tick!=0, //190421 @@ -4218,11 +4203,13 @@ Tabledatalight(nm,xLst,yLst,rmvL,optionorg):=( tmp1="c"+text(0); tmp2="c"+text(m); Tlistplot("-"+name+tmp3+tmp1+tmp2,[tmp1+tmp3,tmp2+tmp3],options); + tbstr=tbstr+Dqq(name+tmp3+tmp1+tmp2)+"," //191008 , forall(0..(m-1), tmp1="c"+text(#); tmp2="c"+text(#+1); Tlistplot("-"+name+tmp3+tmp1+tmp2,[tmp1+tmp3,tmp2+tmp3],options); + tbstr=tbstr+Dqq(name+tmp3+tmp1+tmp2)+"," //191008 ); ); if(tick!=0, //190421 @@ -4231,6 +4218,10 @@ Tabledatalight(nm,xLst,yLst,rmvL,optionorg):=( ); ); ); + tbstr=substring(tbstr,0,length(tbstr)-1)+"]"; //101008from + tmp1=parse(tbstr); + tmp=name+"str="+tbstr+";"; + parse(tmp); //101008to Changetablestyle(rmvL,["nodisp"]); //190428 Addax(0); Eps=10^(-3); diff --git a/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibbasic3logr.txt b/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibbasic3logr.txt index 0d2b2ac394a..644edcc2a3e 100644 --- a/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibbasic3logr.txt +++ b/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibbasic3logr.txt @@ -1,3 +1,7 @@ +// 20191004 +// Mkketcindyjs changed ( import for ketcindyjs supported) +// 20191003 +// Usegraphics changed ( for tpic ) // 201908918 // Defvar changed ( precision 5 -> 16) // 201908916 diff --git a/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibbasic3r.cs b/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibbasic3r.cs index b5308c171bf..16dac182d0a 100644 --- a/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibbasic3r.cs +++ b/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibbasic3r.cs @@ -14,7 +14,7 @@ // along with this program. If not, see <http://www.gnu.org/licenses/> // -println("ketcindylibbasic3[20190918] loaded"); +println("ketcindylibbasic3[20191127] loaded"); //help:start(); @@ -1222,14 +1222,16 @@ Addpackage(packorg):=( ////%Usegraphics start//// Usegraphics(gpack):=( //180817 //help:Usegraphics("pict2e"); - if(!contains(ADDPACK,gpack), - if(indexof(gpack,"tikz")>0, //181213from //190615 + regional(tmp); + GPACK=gpack; + if(Toupper(gpack)=="TIKZ", //190615 Addpackage(["pgf","tikz"]); //190101 - , - Addpackage([gpack]); - ); //181213to + ADDPACK=set(ADDPACK); //191127 + ); + if(Toupper(gpack)=="PICT2E", + Addpackage(["pict2e"]); + ADDPACK=set(ADDPACK); //191127 ); - GPACK=gpack; ); ////%Usegraphics end//// @@ -3376,6 +3378,7 @@ Setketcindyjs(list):=( ////%Ketcindyjsbody start//// 190909 Ketcindyjsbody(list1,list2):=( //help:Ketcindyjsbody(listfront,listrear); +//help:Ketcindyjsbody(["<p,f10>_;_;Sample"],[]); //191004 JSBODY=[list1,list2]; JSBODY; ); @@ -3782,7 +3785,7 @@ Mkketcindyjs(options):=( //17.11.18 regional(webflg,localflg,htm,htmorg,from,upto,flg,fL,fun,jj,tmp,tmp1,tmp2,tmp3, libnameL,libL,lib,jc,nn,name,partL,toppart,lastpart,path,ketflg,flg,cmdL,scale, nolabel,color,grid,axes,out,Out,igno,onlyflg,rmptL,colorrgb,ptname,eqflg,eqrep, - figure,dpi,margin,defaultbuttonsize,defaulteditsize); + figure,dpi,margin,defaultbuttonsize,defaulteditsize,dname,fname); libnameL=["basic1","basic2","basic3","3d"]; //190416,190428 webflg="Y"; //190128 texflg removed localflg="Y"; //190209,0215 @@ -3904,7 +3907,32 @@ Mkketcindyjs(options):=( //17.11.18 drawtext(mouse().xy-[0,1],Cdyname()+".html not found",size->24,color->[1,0,0]); wait(3000); , - htmorg=Readlines(Dircdy,Fhead+".html"); + tmp3=Readlines(Dircdy,Fhead+".html"); + tmp=select(1..(length(tmp3)),indexof(tmp3_#,"import")>0); + tmp2=select(tmp,indexof(tmp3_#,"ketcindy.ini")==0); + tmp1=[]; + forall(tmp2, + tmp=Removespace(tmp3_#); + if(substring(tmp,0,2)!="//", + tmp1=append(tmp1,#); + ); + ); + htmorg=[]; + from=1; + forall(tmp1, + htmorg=concat(htmorg,tmp3_(from..(#-2))); + tmp=Bracket(tmp3_(#-1),"()"); + dname=substring(tmp3_(#-1),tmp_1_1,tmp_(length(tmp))_1-1); + dname=parse(dname); + tmp=Bracket(tmp3_#,"()"); + fname=substring(tmp3_#,tmp_1_1,tmp_(length(tmp))_1-1); + fname=parse(fname); + tmp2=Readlines(dname,fname); + htmorg=concat(htmorg,tmp2); + from=#+2; + ); + upto=length(tmp3); + htmorg=concat(htmorg,tmp3_(from..upto)); tmp=select(1..(length(htmorg)),indexof(htmorg_#,"id="+Dqq("csinit"))>0); //190206from from=tmp_1+5; flg=0; diff --git a/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindyliboutlogr.txt b/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindyliboutlogr.txt index 738591b8afd..6b9da36826d 100644 --- a/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindyliboutlogr.txt +++ b/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindyliboutlogr.txt @@ -1,3 +1,7 @@ +// 20191020 +// PlotdataR, PlotdatadiscR debugged ( "Pre=PVF") +// 20191006 +// Sfparadata,... debugged (tmp_7 removed) // 20190821 // CalcbyR changed ( pre->dig, 6->8) // 20190818 diff --git a/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindyliboutr.cs b/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindyliboutr.cs index 7e4a4e5ba86..499b69ebc84 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[20190821] loaded"); +println("ketcindylibout[20191020] loaded"); //help:start(); @@ -1345,8 +1345,8 @@ PlotdataR(name1,Arg1,Arg2,Arg3):=( ); PlotdataR(name1,path,func,variable,optionorg):=( //help:PlotdataR("1","dnorm(x)","x"); -//help:PlotdataR(options=["m/r","Num=50","Wait=10"]); - regional(options,tmp,tmp1,tmp2,tmp3,name,varstr,flg,Num, +//help:PlotdataR(options=["Num=50","Pre=PVF","Wait=10"]); //191020 + regional(options,tmp,tmp1,tmp2,tmp3,name,varstr,flg,Num,pre, Ltype,Noflg,eqL,strL,flg,outreg,filename,wfile,cmdL,waiting); name="grR"+name1; options=optionorg; @@ -1356,23 +1356,28 @@ PlotdataR(name1,path,func,variable,optionorg):=( Num=50; waiting=5; outreg=0; + pre="PVF"; flg=0; forall(eqL, - tmp=indexof(#,"="); - tmp1=substring(#,tmp,length(#)); - if(Toupper(substring(#,0,1))=="N", - Num=parse(tmp1); + tmp=Strsplit(#,"="); + tmp1=Toupper(substring(tmp_1,0,1)); + if(tmp1=="N", + Num=parse(tmp_2); options=remove(options,[#]); ); - if(Toupper(substring(#,0,1))=="W", - waiting=parse(tmp1); + if(tmp1=="W", + waiting=parse(tmp_2); options=remove(options,[#]); ); - if(Toupper(substring(#,0,1))=="O", - tmp=Toupper(substring(tmp1,0,1)); - if(tmp=="T" % tmp=="Y", outreg=1); + if(tmp1=="O", + tmp2=Toupper(substring(tmp_2,0,1)); + if(tmp2=="T" % tmp2=="Y", outreg=1); options=remove(options,[#]); ); + if(tmp1=="P", //191020from + pre=tmp_2; + options=remove(options,[#]); + ); //191020to ); tmp=indexof(variable,"="); if(tmp>0, @@ -1384,13 +1389,14 @@ PlotdataR(name1,path,func,variable,optionorg):=( varstr=replace(varstr,"]",")"); filename=Fhead+name+".r"; wfile=Fhead+name+".txt"; - cmdL=MkprecommandR(); + cmdL=MkprecommandR(pre); //191020 cmdL=concat(cmdL,[ - name+"=Plotdata",[Dq+func+Dq,Dq+varstr+Dq,Dq+"Num="+text(Num)+Dq], - "WriteOutData",[Dq+wfile+Dq,Dq+name+Dq,name] + name+"=Plotdata",[Dqq(func),Dqq(varstr),Dqq("Num="+text(Num))], + "WriteOutData",[Dqq(wfile),Dqq(name),name] ]); if(ErrFlag==0, - CalcbyR(name,cmdL,concat(options,["Cat=middle","Wait="+text(waiting)])); + tmp=["Cat=middle","Wait="+text(waiting)]; //191020[2lines] + CalcbyR(name,cmdL,concat(options,tmp)); ); if(ErrFlag==1, println("PlotdataR not completed"); @@ -1412,23 +1418,44 @@ PlotdataR(name1,path,func,variable,optionorg):=( ////%PlotdiscR start//// PlotdiscR(nm,fun,varrng):=PlotdiscR(nm,fun,varrng,[]); -PlotdiscR(nm,fun,varrng,options):=( +PlotdiscR(nm,fun,varrng,optionorg):=( //help:PlotdiscR("1","dbinom(k,10,0.4)","k=[0,10]"); - regional(name,pb,cmdL,var,range,tmp,tmp1,tmp2,wfile); +//help:PlotdiscR(options=["Pre=PVF","Wait=10"]); //191020 + regional(name,pb,cmdL,var,range,tmp,tmp1,tmp2, + pre,waiting,options,wfile,eqL); name="grd"+nm; + options=optionorg; //191020from + tmp=Divoptions(options); + eqL=tmp_5; + waiting=5; + pre="PVF"; + forall(eqL, + tmp=Strsplit(#,"="); + tmp1=Toupper(substring(tmp_1,0,1)); + if(tmp1=="W", + waiting=parse(tmp_2); + options=remove(options,[#]); + ); + if(tmp1=="P", //191020from + pre=tmp_2; + options=remove(options,[#]); + ); + ); //191020 tmp=indexof(varrng,"="); var=substring(varrng,0,tmp-1); range=parse(substring(varrng,tmp,length(varrng))); if(length(range)==2, range=(range_1)..(range_2); ); - cmdL=[ + wfile=Fhead+name+".txt"; + cmdL=MkprecommandR(pre); //191020from + cmdL=concat(cmdL,[ "fnb=function("+var+") "+fun,[], name+"=sapply",[range,"fnb"] - ]; - wfile=Fhead+name+".txt"; + ]); //191020to if(ErrFlag==0, - CalcbyR(name,cmdL,options); + tmp=["Wait="+text(waiting)]; //191020[2lines] + CalcbyR(name,cmdL,concat(options,tmp)); ); if(ErrFlag==1, println("PlotdiscR not completed"); @@ -5564,11 +5591,11 @@ SfbdparadataC(nm,fdorg,optionorg,optionshorg):=( name3h="sfbdh3d"+nm; fname=Fhead+"sfbd"+nm+".txt"; options=select(optionorg,length(#)>0); //190123from - tmp=Divoptions(options); - if(length(tmp_7)==0,options=append(options,"dr")); +// tmp=Divoptions(options); //191006[2lines] +// if(length(tmp_7)==0,options=append(options,"dr")); optionsh=select(optionshorg,length(#)>0); - tmp=Divoptions(optionsh); - if(length(tmp_7)==0,optionsh=append(optionsh,"do")); //190123to +// tmp=Divoptions(optionsh); //191006[2lines] +// if(length(tmp_7)==0,optionsh=append(optionsh,"do")); //190123to tmp=Divoptions(options); eqL=tmp_5; reL=tmp_6; @@ -5691,12 +5718,12 @@ CrvsfparadataC(nm,Fk,sfbdorg,fdorg,optionorg,optionshorg):=( name2h="crvsfh2d"+nm; name3h="crvsfh3d"+nm; fname=Fhead+"crvsf"+nm+".txt"; - options=select(optionorg,length(#)>0); //190123from - tmp=Divoptions(options); - if(length(tmp_7)==0,options=append(options,"dr")); + options=select(optionorg,length(#)>0); //190123from +// tmp=Divoptions(options); //191006[2lines] +// if(length(tmp_7)==0,options=append(options,"dr")); optionsh=select(optionshorg,length(#)>0); - tmp=Divoptions(optionsh); - if(length(tmp_7)==0,optionsh=append(optionsh,"do")); //190123to +// tmp=Divoptions(optionsh);//191006[2lines] +// if(length(tmp_7)==0,optionsh=append(optionsh,"do")); //190123to tmp=Divoptions(options); eqL=tmp_5; reL=tmp_6; @@ -5880,7 +5907,7 @@ Crv3onsfparadataC(nm,crv3d,sfbdorg,fdorg,optionorg,optionshorg):=( fname=Fhead+"crv3onsf"+nm+".txt"; tmp=apply(fdorg,if(isstring(#),Dqq(#),#)); tmp=text(tmp); - options=optionorg; + options=select(optionorg,length(#)>0); optionsh=select(optionshorg,length(#)>0); //181107 tmp=Divoptions(options); eqL=tmp_5; @@ -6058,11 +6085,11 @@ WireparadataC(nm,sfbd,fdorg,wr1,wr2,optionorg,optionshorg):=( fname=Fhead+"wire"+nm+".txt"; fnameh=replace(fname,".txt","h.txt"); options=select(optionorg,length(#)>0); //190123from - tmp=Divoptions(options); - if(length(tmp_7)==0,options=append(options,"dr")); +// tmp=Divoptions(options); //191006[2lines] +// if(length(tmp_7)==0,options=append(options,"dr")); optionsh=select(optionshorg,length(#)>0); - tmp=Divoptions(optionsh); - if(length(tmp_7)==0,optionsh=append(optionsh,"do")); //190123to +// tmp=Divoptions(optionsh); //191006[2lines] +// if(length(tmp_7)==0,optionsh=append(optionsh,"do")); //190123to tmp=Divoptions(options); eqL=tmp_5; reL=tmp_6; @@ -6385,7 +6412,7 @@ SfcutparadataC(nm,cutfunLorg,sfbd,fdorg,optionorg,optionshorg):=( name3h="sfcuth3d"+nm; fname=Fhead+"sfcut"+nm+".txt"; fnameh=replace(fname,".txt","h.txt"); - options=optionorg; + options=select(optionorg,length(#)>0); optionsh=select(optionshorg,length(#)>0); //181107 tmp=Divoptions(options); eqL=tmp_5; @@ -6414,11 +6441,11 @@ SfcutparadataC(nm,cutfunLorg,sfbd,fdorg,optionorg,optionshorg):=( ); ); options=select(optionorg,length(#)>0); //190123from - tmp=Divoptions(options); - if(length(tmp_7)==0,options=append(options,"dr")); +// tmp=Divoptions(options); //191006[2lines] +// if(length(tmp_7)==0,options=append(options,"dr")); optionsh=select(optionshorg,length(#)>0); - tmp=Divoptions(optionsh); - if(length(tmp_7)==0,optionsh=append(optionsh,"do")); //190123to +// tmp=Divoptions(optionsh); //191006[2lines] +// if(length(tmp_7)==0,optionsh=append(optionsh,"do")); //190123to tmp1=select(options, (indexof(#,"=")>0)&(Toupper(substring(#,0,1))=="C")); //181114from if(length(tmp1)>0, diff --git a/Master/texmf-dist/scripts/ketcindy/ketlib/ketpiccurrent.r b/Master/texmf-dist/scripts/ketcindy/ketlib/ketpiccurrent.r index 76998cc41d6..129d9f0a42a 100755 --- a/Master/texmf-dist/scripts/ketcindy/ketlib/ketpiccurrent.r +++ b/Master/texmf-dist/scripts/ketcindy/ketlib/ketpiccurrent.r @@ -16,10 +16,14 @@ ######################################### -ThisVersion<- "KeTpic for R v5_2_4(20190921)" +ThisVersion<- "KeTpic for R v5_2_4(20191126)" print(ThisVersion) +# 20191126 +# Drwpt debugge/changed (sh 1, pen) +# 20191001 +# Intersectpartseg, Enclosing2 debugged (Listplot => rbind) # 20190921 # Enclosing2 debugged/changed (epspara removed) # 20190627 @@ -2476,14 +2480,14 @@ Drwpt<-function(...){ } Mojisu=0 } - Str1<- "\\special{sh}\\special{fp}" #190405from + Str1<- "\\special{sh 1}\\special{fp}" #190405from, 191126 if(Same=="n"){ Str1<- paste(Str1,"}",sep="") } Str1<- paste(Str1,"%\n",sep="") #190405to cat(Str1,file=Wfile,append=TRUE) } - cat("\\special{pn 4}",file=Wfile,append=TRUE) #181231 + cat("\\special{pn 8}",file=Wfile,append=TRUE) #181231,191126 Mojisu=0 for (J in 1:Nrow(PL)){ Q<- PL[J,] @@ -12685,8 +12689,8 @@ Intersectpartseg<- function(...){ Eps00=10^(-8) Eps0=10^(-4) out=list() - seg1=Listplot(Op(ii,crv1),Op(ii+1,crv1)) - seg2=Listplot(Op(jj,crv2),Op(jj+1,crv2)) + seg1=rbind(Op(ii,crv1),Op(ii+1,crv1)) #191001 + seg2=rbind(Op(jj,crv2),Op(jj+1,crv2)) #191001 tmp1=Op(2,seg1)-Op(1,seg1) tmp2=Op(2,seg2)-Op(1,seg2) snang=abs(Crossprod(tmp1,tmp2))/(Norm(tmp1)*Norm(tmp2)) @@ -12741,8 +12745,8 @@ Intersectpartseg<- function(...){ tmp2=list() for(kk in Looprange(1,Length(os1)-1)){ for(ll in Looprange(1,Length(os2)-1)){ - seg1=Listplot(Op(kk,os1),Op(kk+1,os1)) - seg2=Listplot(Op(ll,os2),Op(ll+1,os2)) + seg1=rbind(Op(kk,os1),Op(kk+1,os1)) #191001 + seg2=rbind(Op(ll,os2),Op(ll+1,os2)) #191001 tmp=Intersectseg(seg1,seg2,Eps1) if((Op(1,tmp)<Eps1)&&(length(tmp)>1)){ #18.02.05 if(Op(1,tmp)<dst+Eps00){ @@ -13055,7 +13059,7 @@ Enclosing2<- function(...){ if(length(KL)==0){ tmp1=Op(Length(Gdata),Gdata) tmp2=Op(1,Fdata) - tmp=Listplot(tmp1,tmp2) + tmp=rbind(tmp1,tmp2) #191001 plist=c(plist,list(tmp)) Start=tmp2 tst=1 diff --git a/Master/texmf-dist/scripts/ketcindy/ketlib/ketpiccurrent_rep2e.r b/Master/texmf-dist/scripts/ketcindy/ketlib/ketpiccurrent_rep2e.r index 084f94c70c2..a71673a6cbf 100755 --- a/Master/texmf-dist/scripts/ketcindy/ketlib/ketpiccurrent_rep2e.r +++ b/Master/texmf-dist/scripts/ketcindy/ketlib/ketpiccurrent_rep2e.r @@ -16,8 +16,12 @@ ######################################### -ThisVersion<- "2ev5_2_4(190405)" +ThisVersion<- "2ev5_2_4(191106)" +# 20191106 +# Drwline debugged ( Thick) +# 20191104 +# Dottedline changed ( Ookisa 2->1) # 20190405 # Drwpt debugged/changed ( Incolor ) # 20181230 @@ -38,7 +42,7 @@ Dottedline<- function(...) varargin <- list(...) Nall <- length(varargin) Nagasa <- 0.1 - Ookisa <- PenThick*2 #17.10.07 + Ookisa <- PenThick*1 #2 #17.10.07,191104(*1) I <- Nall Tmp <- varargin[[I]] while (mode(Tmp)=="numeric" && length(Tmp)==1 ) { @@ -154,9 +158,10 @@ Drwline<-function(...) { varargin<-list(...) Nall<-length(varargin) - Thick<-0 + Thick<- 0 Tmp<-varargin[[Nall]] if (mode(Tmp)=="numeric" && length(Tmp)==1){ + Thick<- PenThick/PenThickInit #191106 Setpen(Tmp) Nall<-Nall-1 } @@ -203,8 +208,7 @@ Drwline<-function(...) } } if (Thick>0){ - Tmp<-PenThick/PenThickInit - Setpen(Tmp) + Setpen(Thick) #191106 } } diff --git a/Master/texmf-dist/scripts/ketcindy/ketlib/ketpiccurrent_reptikz.r b/Master/texmf-dist/scripts/ketcindy/ketlib/ketpiccurrent_reptikz.r index c68ccc5e83e..673d457e780 100644 --- a/Master/texmf-dist/scripts/ketcindy/ketlib/ketpiccurrent_reptikz.r +++ b/Master/texmf-dist/scripts/ketcindy/ketlib/ketpiccurrent_reptikz.r @@ -16,8 +16,12 @@ ######################################### -ThisVersion<- "tikzv1_1_1(190402)" +ThisVersion<- "tikzv1_1_1(191126)" +# 20191126 +# Drwpt debugged/changed +# 20191104 +# Dotteline changed (Ookisa 2->1/0.075) # 2019.04.05 Drwpt ( Incolor, Takato) # 2019.04.02 Beginpicture ( Unitlen, Takato) # 2019.04.02 Drwline ( Sepen restore when finished, Takato) @@ -248,7 +252,7 @@ Dottedline<- function(...) varargin <- list(...) Nall <- length(varargin) Nagasa <- 0.1 - Ookisa <- PenThick*2 #17.10.07 + Ookisa <- PenThick*1/0.075 #2 #171007,191104(1/0.075) I <- Nall Tmp <- varargin[[I]] while (mode(Tmp)=="numeric" && length(Tmp)==1 ) { @@ -503,24 +507,23 @@ Drwpt<-function(...) #181230 P<- Doscaling(P) X=sprintf('%5.5f',P[1]) Y=sprintf('%5.5f',P[2]) - if(Same!="no"){ #190405from - Str=paste("{\\linethickness{0 in}",Incolor,sep="") - } - if(Same!="no"){ #190405from - Str=paste("{\\linethickness{0 in}%\n",sep="") - cat(Str,file=Wfile,append=TRUE) - if(Same=="n"){ #190405 - Str1<- paste("{\\color[rgb]",Incolor,"%\n",sep="") - cat(Str1,file=Wfile,append=TRUE) - } - Str=paste('\\put(',X,',',Y,'){\\circle*{',sprintf('%6.6f',Ra),'}}%\n',sep="") - cat(Str,file=Wfile,append=TRUE) - if(Same=="n"){ - cat("}%\n",file=Wfile,append=TRUE) + Str1<- paste("{\\color[rgb]",Incolor,"%\n",sep="") + cat(Str1,file=Wfile,append=TRUE) + Str=paste('\\fill (',X,',',Y,') circle [radius=',sprintf('%6.6f',Ra/2),'];%\n',sep="") + #191126 + cat(Str,file=Wfile,append=TRUE) + cat("}%\n",file=Wfile,append=TRUE) + Str=paste('\\draw [line width=','0.008','in]',sep="") + for(J in 0:24){ + Tmp1=sprintf('%6.6f',P[1]+Ra/2*cos(J*2*pi/24)) + Tmp2=sprintf('%6.6f',P[2]+Ra/2*sin(J*2*pi/24)) + Str=paste(Str,"(",Tmp1,",",Tmp2,")",sep=""); + if(J<24){ + Str=paste(Str,"--",sep="") + }else{ + Str=paste(Str,";%\n",sep="") } - cat("}%\n",file=Wfile,append=TRUE) } - Str=paste('\\put(',X,',',Y,'){\\circle{',sprintf('%6.6f',Ra),'}}%\n',sep="") cat(Str,file=Wfile,append=TRUE) } } # 190405to diff --git a/Master/texmf-dist/scripts/ketcindy/ketoutset.txt b/Master/texmf-dist/scripts/ketcindy/ketoutset.txt index 5fb93561f50..b553658f6c2 100644 --- a/Master/texmf-dist/scripts/ketcindy/ketoutset.txt +++ b/Master/texmf-dist/scripts/ketcindy/ketoutset.txt @@ -1,7 +1,6 @@ if(!isstring(PathThead), PathThead=""; ); -PathT=PathThead+"uplatex"; if(iswindows(), PathS="C:\Program Files\scilab-6.0.0\bin\scilex"; PathC="C:\MinGW\bin\gcc.exe"; @@ -37,10 +36,10 @@ if(islinux(), PathAd="acroread"; ); -if(indexof(PathT,"platex")>0, - Helplist(["+","+3d","+mv"],"helpJ"); -, +if(Langhelp=="e", Helplist(["+","+3d","+mv"],"helpE"); +, + Helplist(["+","+3d","+mv"],"helpJ"); ); setdirectory(Dircdy); |