diff options
author | Norbert Preining <norbert@preining.info> | 2018-02-12 14:52:54 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2018-02-12 14:52:54 +0900 |
commit | 8c3c49fd56de185396400a0e8a636ac03d8239ab (patch) | |
tree | adf96aee3f0bfbdc9df3a9e2dd86332a9dfee9cd /texmf-dist/scripts/ketcindy/ketlib/ketcindylibmvr.cs | |
parent | 5a993b26c76714f0810fdc7e3ae7bdc5eb1afd10 (diff) |
update ketcindy
Diffstat (limited to 'texmf-dist/scripts/ketcindy/ketlib/ketcindylibmvr.cs')
-rw-r--r-- | texmf-dist/scripts/ketcindy/ketlib/ketcindylibmvr.cs | 870 |
1 files changed, 252 insertions, 618 deletions
diff --git a/texmf-dist/scripts/ketcindy/ketlib/ketcindylibmvr.cs b/texmf-dist/scripts/ketcindy/ketlib/ketcindylibmvr.cs index b2905ecb..5cc91de2 100644 --- a/texmf-dist/scripts/ketcindy/ketlib/ketcindylibmvr.cs +++ b/texmf-dist/scripts/ketcindy/ketlib/ketcindylibmvr.cs @@ -14,542 +14,28 @@ // along with this program. If not, see <http://www.gnu.org/licenses/> // -println("ketcindymv(2017.10.13) loaded"); +println("ketcindymv(2017.11.24) loaded"); //help:start(); -Ketinitmv():=( - regional(tmp,tmp1,tmp2,tmp3); - Ketinit();//17.04.10 - Texmov=Fhead+"movie"; - Texpara=Fhead+"para"; - ParaTitle=Texpara;//16.12.10 - tmp1=round(4*SW.y)/4-0.5; - tmp2=SW.x+1; - tmp3=NE.x-1; - Listplot("sl",[[tmp2,tmp1],[tmp3,tmp1]],["notex","linecolor->[0,1,0]"]); - PutonCurve("MF",sgsl,[tmp2,tmp3]); - Paraamble(); // 16.08.10 - Pathpdf=Pathad; // 17.10.13 -); - -Moviedata(func,var):=Moviedata(func,var,[]); -Moviedata(func,var,options):=( -//help:Moviedata("mf(t)","t=[0,4]"); -//help:Moviedata(Options=["Cut=20","Div=80"]); - regional(tmp,tmp1,tmp2,eqL); - tmp=Divoptions(options); - eqL=tmp_5; - CUT=20; - DVALL=0; - Ec=[]; - forall(eqL, - tmp=indexof(#,"="); - tmp1=Toupper(substring(#,0,1)); - tmp2=Toupper(substring(#,tmp,length(#))); - if(tmp1=="D", - DVALL=parse(tmp2); - ); - if(tmp1=="C", - CUT=parse(tmp2); - ); - ); - if(DVALL==0, - DVALL=4*CUT; - ); - tmp=indexof(var,"="); - tmp1=substring(var,0,tmp-1); - tmp2=substring(var,tmp,length(var)); - tmp2=parse(tmp2); - if(indexof(func,"Moiveframe")==0, - tmp="Movieframe("+tmp1+"):="+func+";"; - parse(tmp); - ); - tmp="Movierange="+tmp2+";"; - parse(tmp); -// tmp="Movieoptions=["+Dq+"Div="+text(DVALL)+Dq+","+Dq+"Cut="+text(CUT)+Dq+"]"; -// parse(tmp); -); - -Paraamble():=Paraamble(""); -Paraamble(str):=( -//help:Paraamble(); -//help:Paraamble(amblelist); -//help:Paraamble(filename); - regional(cmdall,sep,tmp,tmp1,tmp2); - if(isstring(str), - if(str=="", - Parafirsthead=[ - "\def\ketcbox{white}", // 17.02.26 - "\newslide[0]{"+ParaTitle+"}", //16.12.10 - "", - "\hypertarget{FIRST}{}", - "Commonhead" - ]; - Parafirsttail=[ - "Commontail" - ]; - Parahead=[ - "\sameslide[0]", - "Commonhead" - ]; - Paratail=[ - "Commontail" - ]; - Paralasthead=[ - "\sameslide[0]", - "", - "\hypertarget{LAST}{}", - "Commonhead" - ]; - Paralasttail=[ - "Commontail" - ]; - Commonhead=[ - "", - "\definecolor{thinblue}{cmyk}{0.3,0.3,0,0}", //17.02.19 - "\begin{layer}{130}{0}", - "\hyperlink{FIRST}{\colorframe[8]{0}{80}{thinblue}{yellow}{blue}{FIRST}}", //17.02.19 - "\hyperlink{LAST}{\colorframe[8]{110}{80}{thinblue}{yellow}{blue}{LAST}}", //17.02.19 - "\putnotec{60}{40}{" // 16.07.06 - ]; - Commontail=[ - "", - "}", - "\end{layer}", - "" - ]; - , - if(indexof(str,".")>0,tmp1=str,tmp1=str+".txt"); - tmp=load(tmp1); - cmdall=tokenize(tmp,"..."); - cmdall=apply(cmdall,Removespace(#)); - sep=select(1..length(cmdall),substring(cmdall_#,0,5)=="%Para"); - Parafirsthead=cmdall_(2..(sep_2-1)); - Parafirsttail=cmdall_((sep_2+1)..(sep_3-1)); - Parahead=cmdall_((sep_3+1)..(sep_4-1)); - Paratail=cmdall_((sep_4+1)..(sep_5-1)); - Paralasthead=cmdall_((sep_5+1)..(sep_6-1)); - tmp1=cmdall_((sep_6+1)..length(cmdall)); - sep=select(1..length(tmp1),substring(tmp1_#,0,7)=="%Common"); - Paralasttail=tmp1_(1..sep_1-1); - Commonhead=tmp1_((sep_1+1)..(sep_2-1)); - Commontail=tmp1_((sep_2+1)..length(tmp1)); - ); - ); - if(islist(str), - Parafirsthead=str_1; - Parafirsttail=str_2; - Parahead=str_3; - Paratail=str_4; - Paralasthead=str_5; - Paralasttail=str_6; - Commonhead=str_7; - Commontail=str_8; - ); - tmp1=apply(Parafirsthead,Dq+#+Dq); - tmp2=apply(Parafirsttail,Dq+#+Dq); - tmp=[tmp1,tmp2]; - tmp1=apply(Parahead,Dq+#+Dq); - tmp2=apply(Paratail,Dq+#+Dq); - tmp=concat(tmp,[tmp1,tmp2]); - tmp1=apply(Paralasthead,Dq+#+Dq); - tmp2=apply(Paralasttail,Dq+#+Dq); - tmp=concat(tmp,[tmp1,tmp2]); - tmp1=apply(Commonhead,Dq+#+Dq); - tmp2=apply(Commontail,Dq+#+Dq); - tmp=concat(tmp,[tmp1,tmp2]); - tmp; -); - -Writeparaamble(filename):=( - //regional(tmp,tmp1,tmp2); - SCEOUTPUT=openfile(filename); - println(SCEOUTPUT,"%Parafirsthead"+"..."); - forall(Parafirsthead, - println(SCEOUTPUT,#+"..."); - ); - println(SCEOUTPUT,""); - println(SCEOUTPUT,"%Parafirsttail"+"..."); - forall(Parafirsttail, - println(SCEOUTPUT,#+"..."); - ); - println(SCEOUTPUT,""); - println(SCEOUTPUT,"%Parahead"+"..."); - forall(Parahead, - println(SCEOUTPUT,#+"..."); - ); - println(SCEOUTPUT,""); - println(SCEOUTPUT,"%Paratail"+"..."); - forall(Paratail, - println(SCEOUTPUT,#+"..."); - ); - println(SCEOUTPUT,""); - println(SCEOUTPUT,"%Paralasthead"+"..."); - forall(Paralasthead, - println(SCEOUTPUT,#+"..."); - ); - println(SCEOUTPUT,""); - println(SCEOUTPUT,"%Paralasttail"+"..."); - forall(Paralasttail, - println(SCEOUTPUT,#+"..."); - ); - println(SCEOUTPUT,""); - println(SCEOUTPUT,"%Commonhead"+"..."); - forall(Commonhead, - println(SCEOUTPUT,#+"..."); - ); - println(SCEOUTPUT,""); - println(SCEOUTPUT,"%Commontail"+"..."); - forall(Commontail, - println(SCEOUTPUT,#+"..."); - ); - closefile(SCEOUTPUT); -); - -Mvdispg():=( - regional(tmp,tmp1,tmp2,tmp3,num,s,i); - CLIST=COM2ndlist; - FIXGLIST=[]; - forall(2..length(GLIST), - FIXGLIST=append(FIXGLIST,GLIST_#); - ); - STPTlist=remove(allpoints(),[SW,NE,MF]); - STPlist=[]; - STPnamelist=[]; - STPvaluelist=[]; - forall(STPTlist, - tmp=Lcrd(#); - tmp1=format(re(tmp_1),5); - tmp2=format(re(tmp_2),5); - tmp="["+tmp1+","+tmp2+"]"; - STPlist=append(STPlist,#.name+"="+tmp+";"); - STPnamelist=append(STPnamelist,#.name); - STPvaluelist=append(STPvaluelist,tmp); - ); - tmp1=round(4*SW.y)/4-0.5; - tmp2=SW.x+1; - tmp3=NE.x-1; - if(length(Movierange)==2, - s=Movierange_1+(MF.x-tmp2)/(tmp3-tmp2)*(Movierange_2-Movierange_1); - Movieframe(s); - , - num=length(Movierange); - tmp=Movierange_1+(MF.x-tmp2)/(tmp3-tmp2)*(Movierange_num-Movierange_1); - i=1; - while(Movierange_(i+1)<=tmp, - i=i+1; - ); - s=Movierange_i; - Movieframe(s); - ); - Windispg(); - Defvar("s",s); - GOUTLIST=[]; -); - -Mkmovie():=Mkmovie(Movierange); -Mkmovie(rng):=( - regional(x1,x2,PLIST,GL,num0,num1,num2,num3,num4,num5,num6,num, - l,s,k,tmp,tmp1,tmp2,tmp3,Plist,Pnamelist,Pvaluelist, - ALLPlist,MVPlist); - if(length(rng)==2, - x1=rng_1; - x2=rng_2; - PLIST=[x1]; - forall(1..DVALL,k, - s=x1+k*(x2-x1)/DVALL; - PLIST=append(PLIST,s); - ); - , - PLIST=rng; - DVALL=length(rng)-1; - ); - if(VERNUM==0, - SCEOUTPUT=openfile(Texmov+".sce"); - , - SCEOUTPUT=openfile(Texpara+".sce"); - ); - println(SCEOUTPUT,"cd('"+Dirwork+"');"); - println(SCEOUTPUT,"Ketlib=lib('"+Libname+"');"); - println(SCEOUTPUT,"Ketinit();"); - println(SCEOUTPUT,"pi=%pi;"); - tmp="Setwindow(["+text(XMIN)+","+text(XMAX)+ - "],["+text(YMIN)+","+text(YMAX)+"]);";// 16.05.19 - println(SCEOUTPUT,tmp); - //println(SCEOUTPUT,"Setax('l','x','e','y','n','O','sw');"); - num1=length(COM1stlist); - forall(1..num1,l, - println(SCEOUTPUT,COM1stlist_l+";"); - ); - forall(1..length(STPlist), - print(SCEOUTPUT,STPlist_#); - println(SCEOUTPUT," Assignrep('"+STPnamelist_#+"',"+STPvaluelist_#+");"); - ); - num2=length(CLIST); - num3=length(FIXGLIST); - num=0; - repeat(num3, - num=num+1; - tmp1=FIXGLIST_num; - num4=indexof(tmp1,"="); - if(num4>0, - tmp2=substring(tmp1,num4,length(tmp1)); - tmp=substring(tmp1,0,num4-1); - println(SCEOUTPUT,tmp+"="+text(tmp2)+";"); - ); - ); - if(VERNUM==0, - println(SCEOUTPUT,"Openfile('"+Texmov+"figs.tex');"); - println(SCEOUTPUT,"Texcom('\begin{animateinline}{"+text(CUT)+"}');"); - , - println(SCEOUTPUT,"Openfile('"+Texpara+"figs.tex');"); - ); - println(SCEOUTPUT,""); - forall(0..DVALL,k, - s=PLIST_(k+1); - println(SCEOUTPUT,"s="+format(s,5)+";"); - GLIST=[]; - COM2ndlist=[]; - GCLIST=FIXGCLIST; - Movieframe(s); - clrscr(); // 15.06.17 - Plist=[]; - Pnamelist=[]; - Pvaluelist=[]; - ALLPlist=remove(allpoints(),[SW,NE,MF]); - RMPlist=[]; - forall(1..length(ALLPlist), - tmp=indexof(STPvaluelist_#,","); - tmp1=substring(STPvaluelist_#,1,tmp-1); - tmp2=substring(STPvaluelist_#,tmp,length(STPvaluelist_#)-1); - if(parse(format(Lcrd(ALLPlist_#)_1,5))==parse(tmp1), - if(parse(format(Lcrd(ALLPlist_#)_2,5))==parse(tmp2), - RMPlist=append(RMPlist,ALLPlist_#); - ); - ); - ); - MVPlist=remove(ALLPlist,RMPlist); - forall(MVPlist, - tmp=Lcrd(#); - tmp1=format(re(tmp_1),5); - tmp2=format(re(tmp_2),5); - tmp="["+tmp1+","+tmp2+"]"; - Plist=append(Plist,#.name+"="+tmp+";"); - Pnamelist=append(Pnamelist,#.name); - Pvaluelist=append(Pvaluelist,tmp); - ); - forall(1..length(Plist), - print(SCEOUTPUT,Plist_#); - println(SCEOUTPUT," Assignrep('"+Pnamelist_#+"',"+Pvaluelist_#+");"); - ); - num3=length(GLIST); - num=0; - GL=[]; - forall(GCLIST, - GL=append(GL,#_1); - ); - repeat(num3, - num=num+1; - tmp1=GLIST_num; - num4=indexof(tmp1,"="); - tmp2=substring(tmp1,num4,length(tmp1)); - tmp=substring(tmp1,0,num4-1); - //if(indexof(tmp2,"=")>0, - if(substring(tmp2,0,5)=="Param", - num5=indexof(tmp2,"="); - tmp3=substring(tmp2,num5,length(tmp2)-2); - tmp3=parse(tmp3); - if(tmp3_1==tmp3_2, - tmp2="Pointdata([0,0])"; - ); - ); - println(SCEOUTPUT,tmp+"="+text(tmp2)+";"); - ); - forall(GOUTLIST, - tmp=#_1; - println(SCEOUTPUT,"Tmpout=ReadOutData('"+tmp+"');"); - println(SCEOUTPUT,"execstr(Tmpout);"); - ); - if(VERNUM==1, - if(k==0, - tmp1=apply(Parafirsthead,Removespace(#)); - , - if(k<DVALL, - tmp1=apply(Parahead,Removespace(#)); - , - tmp1=apply(Paralasthead,Removespace(#)); - ); - ); - tmp1=apply(tmp1,if(length(#)==0,"newline",#)); - tmp=select(1..length(tmp1),indexof(tmp1_#,"Common")>0); - tmp2=apply(Commonhead,Removespace(#)); - tmp2=apply(tmp2,if(length(#)==0,"newline",#)); - tmp1_(tmp_1)=tmp2; - tmp1=flatten(tmp1); - forall(tmp1, - println(SCEOUTPUT,"Texcom('"+#+"');"); - ); - ); - tmp=indexof(ULEN,"cm"); // 16.05.19from - if(tmp>0, - tmp1=Removespace(substring(ULEN,0,tmp-1)); - tmp2=0.5/parse(tmp1) - ); // 16.05.19upto - tmp=indexof(ULEN,"mm"); - if(tmp>0, - tmp1=Removespace(substring(ULEN,0,tmp-1)); - tmp2=5/parse(tmp1); - ); - tmp="Setwindow(["+text(XMIN)+","+text(XMAX+tmp2)+ - "],["+text(YMIN)+","+text(YMAX+tmp2)+"]);";// 16.05.19 - println(SCEOUTPUT,tmp);// 16.05.19 - println(SCEOUTPUT,"Beginpicture('"+ULEN+"');"); - tmp="Setwindow(["+text(XMIN)+","+text(XMAX)+ - "],["+text(YMIN)+","+text(YMAX)+"]);";// 16.05.19 - println(SCEOUTPUT,tmp);// 16.05.19 - forall(1..num2,l, - println(SCEOUTPUT,CLIST_l+";"); - ); - forall(1..length(COM2ndlist),l, - println(SCEOUTPUT,COM2ndlist_l+";"); - ); - println(SCEOUTPUT,"Endpicture("+ADDAXES+");"); - if(VERNUM==0, - println(SCEOUTPUT,""); - println(SCEOUTPUT,"Texcom('');"); - if(k<DVALL, - println(SCEOUTPUT,"Texcom('\newframe');"); - println(SCEOUTPUT,""); - , - println(SCEOUTPUT,"Texcom('\end{animateinline}')"); - println(SCEOUTPUT,"Closefile();"); - println(SCEOUTPUT,"quit();"); - closefile(SCEOUTPUT); - ); - , - if(k==0, - tmp1=apply(Parafirsttail,Removespace(#)); - , - if(k<DVALL, - tmp1=apply(Paratail,Removespace(#)); - , - tmp1=apply(Paralasttail,Removespace(#)); - ); - ); - tmp1=apply(tmp1,if(length(#)==0,"newline",#)); - tmp=select(1..length(tmp1),indexof(tmp1_#,"Common")>0); - tmp2=apply(Commontail,Removespace(#)); - tmp2=apply(tmp2,if(length(#)==0,"newline",#)); - tmp1_(tmp_1)=tmp2; - tmp1=flatten(tmp1); - forall(tmp1, - println(SCEOUTPUT,"Texcom('"+#+"');"); - ); - if(k==DVALL, - println(SCEOUTPUT,""); - println(SCEOUTPUT,"Closefile();"); - println(SCEOUTPUT,"quit();"); - closefile(SCEOUTPUT); - ); - ); - Windispg(GL); - time=1000/CUT; - wait(time); - GLIST=[]; - GCLIST=[]; - COM2ndlist=[]; - GOUTLIST=[]; - ); -); - -Mkmovietexmain():=( - TEXOUTPUT=openfile(Texmov+"main"+".tex"); // 15.03.28 - println(TEXOUTPUT,""); - println(TEXOUTPUT,"\documentclass{article}"); - println(TEXOUTPUT,"\usepackage{amsmath,amssymb}"); // 16.07.06 - println(TEXOUTPUT,"\usepackage{graphicx}"); - println(TEXOUTPUT,"\usepackage[dvipdfmx]{animate}"); - println(TEXOUTPUT,"\usepackage{color}"); - println(TEXOUTPUT,"\usepackage{ketpic,ketlayer}"); - println(TEXOUTPUT,"\setmargin{20}{20}{20}{20}"); - println(TEXOUTPUT,"\begin{document}"); - println(TEXOUTPUT,"\input{"+Texmov+"figs.tex}%"); - println(TEXOUTPUT,"\end{document}"); - closefile(TEXOUTPUT); -); - -Mkmoviesh():=( - regional(parentorg,tmp); - parentorg=Texparent;//17.04.10 - Texparent="";//17.04.10 - tmp=Fhead;// 15.03.28 - Fhead=Texmov; - if(length(Shellparent)>0, - Makeshell() - , - Makebat(); - ); - Fhead=tmp; - Texparent=parentorg;//17.04.10 -); - -Texmovie():=( - VERNUM=0; - Mkmovie(); - Mkmovietexmain(); - Mkmoviesh(); -); - -Mkparatexmain():=( - TEXOUTPUT=openfile(Texpara+"main"+".tex"); - println(TEXOUTPUT,""); - println(TEXOUTPUT,"\documentclass[landscape,10pt]{article}"); - println(TEXOUTPUT,"\usepackage{amsmath,amssymb}"); // 16.07.06 - println(TEXOUTPUT,"\usepackage{graphicx}"); - println(TEXOUTPUT,"\usepackage[dvipdfmx,colorlinks=true,linkcolor=black]{hyperref}"); - println(TEXOUTPUT,"\AtBeginDvi{\special{pdf:tounicode 90ms-RKSJ-UCS2}}"); - println(TEXOUTPUT,"\usepackage{color}"); - println(TEXOUTPUT,"\usepackage{ketpic,ketlayer,ketslide}"); - println(TEXOUTPUT,"\ketmarginE"); - println(TEXOUTPUT,"\ketslideinit"); - println(TEXOUTPUT,"\begin{document}"); - println(TEXOUTPUT,"\input{"+Texpara+"figs.tex}%"); - println(TEXOUTPUT,"\end{document}"); - closefile(TEXOUTPUT); -); - -Mkparash():=( - regional(tmp); - tmp=Fhead; - Fhead=Texpara; - if(length(Shellparent)>0, - Makeshell() - , - Makebat(); - ); - Fhead=tmp; -); - -Texpara():=( - VERNUM=1; - Mkmovie(); - Mkparatexmain(); - Mkparash(); -); - -Setpara(path,fstr,sL):=Setpara(path,fstr,sL,[]); // 16.12.27added -Setpara(pathorg,fstr,sL,options):=( -//help:Setpara("folder name","funstr","range",options); +Setpara(path,fstr,sL):=Setpara(path,fstr,sL,[],[]); // 16.12.27added +Setpara(pathorg,fstr,sL,options):= //17.11.25(3lines) + Setpara(pathorg,fstr,sL,options,[]); +Setpara(pathorg,fstr,sL,options,optionsanim):=( +//help:Setpara("folder name","funstr","range",options,optionsanim); //help:Setpara(folder,funstr,range,options); //help:Setpara(options=["m/r","Div=25"]); -//help:Setpara(options=["Frate=10","Scale=1","OpA=[loop]"] for animation); +//help:Setpara(options2anim1=["Frate=10","Scale=1"]); +//help:Setpara(options2anim2=["OpA=[loop,controls,buttonsize=3mm]"]); +//help:Setpara(options2anim3=["OpA=+step"]); +//help:Setpara(options2anim4=["Mag=1600","Title=folder"]); regional(path);//17.04.10 if(length(pathorg)==0, path=Slidename,path=pathorg);//17.04.10 ParaPath=path; ParaFstr=fstr; ParaSL=sL; ParaOp=options; + ParaOpAnim=optionsanim; //17.11.25 GLISTback=GLIST; GCLISTback=GCLIST; GOUTLISTback=GOUTLIST; @@ -568,7 +54,7 @@ Parafolder(path,fstr,sLorg,optionorg):=( //help:Parafolder(foldername,1..4); //help:Parafolder(foldername,"s=[0,1]"); //help:Parafolder("mf(s)",foldername,"s=[0,1]"); -//help:Parafolder(options=["m/r","Div=25"]); +//help:Parafolder(options=["m/r","Div=25","Wait=20"]); //help:Paraslide(para=folder:layery:pos:input,scale); //help:Paraslide(para=folder:layery:pos:include:[width=100]); regional(nn,sL,tmp,tmp1,tmp2,strL,eqL,waiting, @@ -631,7 +117,9 @@ Parafolder(path,fstr,sLorg,optionorg):=( sL=[]; ); , - if(mkr=="Y", + tmp=fileslist(Dirwork+pathsep()+path); //17.12.09(3lines); + tmp=length(tmp); + if((mkr=="Y") & (tmp>0), tmp1=replace(Dirwork,"\","/");//17.10.13 cmdL=[ "setwd",[Dq+tmp1+"/"+path+Dq], @@ -648,7 +136,6 @@ Parafolder(path,fstr,sLorg,optionorg):=( ); sfL=[]; forall(1..(length(sL)),nn, - clrscr(); // 16.12.28 GLIST=GLISTback; GCLIST=GCLISTback; GOUTLIST=GOUTLISTback; @@ -668,7 +155,7 @@ Parafolder(path,fstr,sLorg,optionorg):=( Movieframe(sL_nn); //17.10.13 if(!isexists(Dirwork,FnameR) % mkr=="Y", if(ErrFlag!=-1, - Viewtex(); + WritetoRS(2); //17.12.09 ); ); ); @@ -677,7 +164,6 @@ Parafolder(path,fstr,sLorg,optionorg):=( "setwd",[Dq+tmp1+"/"+path+Dq], "Mkallfile=function(fname){",[], " Ctr<<- Ctr+1",[], - " cat('print(',Ctr,')\n',file='all.r',append=TRUE)",[], " tmp=readLines(fname)",[], " first=1",[], " if(Ctr>1){",[], @@ -687,18 +173,18 @@ Parafolder(path,fstr,sLorg,optionorg):=( " for(J in first:(length(tmp)-1)){",[], " cat(paste(tmp[J],'\n',sep=''),file='all.r',append=TRUE)",[], " }",[], -// " source(fname)",[], + " cat('print(',Ctr,')\n',file='all.r',append=TRUE)",[], + " Tmp=proc.time()-Tm",[], + " cat('print(',Tmp[3],')\n',file='all.r',append=TRUE)",[], "}",[], - "file.remove('all.r')",[], + "if(file.exists('all.r')){file.remove('all.r')}",[], //17.10.24 "fL=list.files()",[], "Ctr=0",[], - "t<-proc.time()",[], + "Tm<-invisible(proc.time())",[], "for(fname in fL){",[], - " Mkallfile(fname)",[], + " if(length(grep('.r',fname))>0){Mkallfile(fname)}",[], // 17.11.24 "}",[], - "proc.time()-t",[], "source('all.r')",[], - "proc.time()-t",[], "setwd",[Dq+tmp1+Dq] ]; if(ErrFlag!=-1, @@ -716,68 +202,16 @@ Parafolder(path,fstr,sLorg,optionorg):=( ); ); -Flipbook():=( //17.04.09 - regional(parentorg,Dirworkorg,figfolder,sep,x0,y0,sc,title,tmp,tmp1,tmp2); - Dirworkorg=Dirwork; - Slidework(Dirwork); - figfolder=Dirwork; - parentorg=Texparent; - PageStyle="empty"; - title=Texparent; - tmp=Divoptions(ParaOp); - tmp1=tmp_5; - forall(tmp1, - tmp2=substring(Toupper(#),0,1); - if(tmp2=="T", - tmp=indexof(#,"="); - title=substring(#,tmp,length(#)); - ParaOp=remove(ParaOp,[#]); - ); - ); - x0="60"; y0="5"; sc="1"; - tmp=select(ParaOp,islist(#)); - if(length(tmp)>0, - x0=text(tmp_1_1); - y0=text(tmp_1_2); - ParaOp=remove(ParaOp,[tmp_1]); - ); - tmp=select(ParaOp,!islist(#) & isreal(#)); - if(length(tmp)>0, - sc=text(tmp_1); - ParaOp=remove(ParaOp,[tmp_1]); - ); - Parafolder(); - Changework(Dirworkorg); - if(isstring(Slidename), - Texparent=Slidename; - , - Texparent=parentorg+"flip"; - ); - SCEOUTPUT = openfile(Texparent+".txt"); - println(SCEOUTPUT,"%title//"); - println(SCEOUTPUT,"\pagestyle{empty};//"); - println(SCEOUTPUT,"new::"+title+"//"); - println(SCEOUTPUT, - "%repeat=,para="+ParaPath+":{0}:s{"+x0+"}{"+y0+"}:input:"+sc+"//"); - closefile(SCEOUTPUT); - Changework(figfolder); - Setslidebody("black"); - Setslidehyper(""); - Mkslides(); - Changework(Dirworkorg); - Texparent=parentorg; -); - Animatefile():=Animatefile(Dirwork,ParaPath); Animatefile(path,folder):=( //help:Animatefile(); //help:Animatefile(Dirwork,ParaPath); regional(FRate, Scale, OpA, pa,fname,eqL,tmp,tmp1,tmp2); - tmp=divoptions(ParaOp); + tmp=divoptions(ParaOpAnim); //17.11.24 eqL=tmp_5; FRate="10"; Scale="1"; - OpA=""; + OpA="loop,controls,buttonsize=3mm"; remflg=0; forall(eqL, tmp1=Toupper(substring(#,0,2)); @@ -789,11 +223,19 @@ Animatefile(path,folder):=( if(tmp1=="SC", Scale=tmp2; ); - if(tmp1=="OP", - if(substring(tmp2,0,1)!="[",tmp2="["+tmp2+"]"); - OpA=tmp2; + if(tmp1=="OP", // 17.12.07from + if(length(tmp2)>0, + tmp2=replace(tmp2,"[",""); + tmp2=replace(tmp2,"]",""); + if(substring(tmp2,0,1)=="+", + OpA=OpA+","+substring(tmp2,1,length(tmp2)); + , + OpA=tmp2; + ); + ); ); ); + if(length(OpA)>0,OpA="["+OpA+"]"); pa=replace(path,"\","/"); fname="anim"+folder+".tex"; tmp=Dirwork+"/"+folder; @@ -804,13 +246,14 @@ Animatefile(path,folder):=( tmp1=select(tmp1,indexof(#,".tex")>0); SCEOUTPUT= openfile(fname); println(SCEOUTPUT,"\def\parapath{"+pa+"}%"); //17.06.22 + println(SCEOUTPUT,"\def\figsize{"+Scale+"}%"); //17.12.07 println(SCEOUTPUT,"\begin{animateinline}"+OpA+"{"+FRate+"}%"); forall(1..(length(tmp1)), if(Scale==1, // 17.08.30from tmp="\input{\parapath/"; tmp=tmp+folder+"/"+tmp1_#+"}%"; , - tmp="\scalebox{"+Scale+"}{\input{\parapath/";//17.06.22(3lines) + tmp="\scalebox{\figsize}{\input{\parapath/";//17.12.07 tmp=tmp+folder+"/"+tmp1_#+"}}%"; ); // 17.08.30upto println(SCEOUTPUT,tmp); @@ -830,23 +273,33 @@ Mkanimation():=( Parafolder(); ); Animatefile(); //17.10.14upto - Mkanimation("fig",ParaPath); + Mkanimation(Dirwork,ParaPath); ); -Mkanimation(folder):=Mkanimation("fig",folder); +Mkanimation(folder):=Mkanimation(Dirwork,folder); Mkanimation(path,folder):=( //help:Mkanimation(); //help:Mkanimation(path,folder); - regional(Fheadbkup,Dirworkbkup,Pathpdfbkup,tex,article,parent, - tmp,tmp1,tmp2,tmp3,flg); + regional(Fheadbkup,Pathpdfbkup,tex,article,parent, + eqL,mag,title,tmp,tmp1,tmp2,tmp3,flg); + tmp=Divoptions(ParaOpAnim); //17.11.25from + eqL=tmp_5; + mag="1600"; + title=folder; + forall(eqL, + tmp=Indexof(#,"="); + tmp1=Toupper(substring(#,0,1)); + tmp2=substring(#,tmp,length(#)); + if(tmp1=="M", + mag=tmp2; + ); + if(tmp1=="T", + title=tmp2; + ); + ); //17.11.25upto Fheadbkup=Fhead; - Dirworkbkup=Dirwork; - Pathpdfbkup=Pathpdf; Fhead="animate"+folder; + Pathpdfbkup=Pathpdf; Pathpdf=PathAd; - Dirwork=replace(Dirwork,"\",pathsep()); - Dirwork=replace(Dirwork,"/",pathsep()); - Dirwork=replace(Dirwork,pathsep()+"fig",""); - Setdirectory(Dirwork); tmp1=replace(PathT,pathsep(),"/"); tmp=indexall(tmp1,"/");//17.10.14from if(length(tmp)>0, @@ -864,6 +317,7 @@ Mkanimation(path,folder):=( if((tex=="platex")%(tex=="uplatex")%(tex=="latex"), tmp="\special{papersize=\the\paperwidth,\the\paperheight}"; println(SCEOUTPUT,tmp); + println(SCEOUTPUT,"\mag="+mag);//17.11.25 ); if((tex=="pdflatex")%(tex=="lualatex")%(tex=="xelatex"), if((tex=="pdflatex")%(tex=="xelatex"), @@ -872,13 +326,25 @@ Mkanimation(path,folder):=( println(SCEOUTPUT,"\usepackage{pict2e}"); println(SCEOUTPUT,"\usepackage{luatexja}"); ); - tmp=replace(Dirhead+"/ketpicstyle",pathsep(),"/"); - println(SCEOUTPUT,"\usepackage{"+tmp+"/ketpic2e}"); - println(SCEOUTPUT,"\usepackage{"+tmp+"/ketlayer2e}"); + tmp=replace(Dirhead,"\","/"); //17.10.30from + tmp=replace(tmp,"scripts","tex/latex"); + if(isexists(tmp,""), + println(SCEOUTPUT,"\usepackage{ketpic2e,ketlayer2e}"); + , + tmp=replace(Dirhead+"/ketpicstyle","\","/"); + println(SCEOUTPUT,"\usepackage{"+tmp+"/ketpic2e}"); + println(SCEOUTPUT,"\usepackage{"+tmp+"/ketlayer2e}"); + ); , - tmp=replace(Dirhead+"/ketpicstyle",pathsep(),"/"); - println(SCEOUTPUT,"\usepackage{"+tmp+"/ketpic}"); - println(SCEOUTPUT,"\usepackage{"+tmp+"/ketlayer}"); + tmp=replace(Dirhead,"\","/"); //17.10.30from + tmp=replace(tmp,"scripts","tex/latex"); + if(isexists(tmp,""), + println(SCEOUTPUT,"\usepackage{ketpic,ketlayer}"); + , + tmp=replace(Dirhead+"/ketpicstyle","\","/"); + println(SCEOUTPUT,"\usepackage{"+tmp+"/ketpic}"); + println(SCEOUTPUT,"\usepackage{"+tmp+"/ketlayer}"); + ); ); println(SCEOUTPUT,"\usepackage{amsmath,amssymb}"); println(SCEOUTPUT,"\usepackage{bm,enumerate}"); @@ -896,35 +362,203 @@ Mkanimation(path,folder):=( println(SCEOUTPUT,"\usepackage"+tmp1); ); ); + println(SCEOUTPUT,"\pagestyle{empty}"); + println(SCEOUTPUT,"\setmargin{0}{0}{0}{0}"); println(SCEOUTPUT,""); println(SCEOUTPUT,"\begin{document}"); + println(SCEOUTPUT,"\large"); println(SCEOUTPUT,""); - println(SCEOUTPUT,"\begin{center}"); - println(SCEOUTPUT,"\input{"+path+"/anim"+folder+".tex}"); - println(SCEOUTPUT,"\end{center}"); + println(SCEOUTPUT,"\vspace*{25mm}"); + println(SCEOUTPUT,""); + tmp=floor(parse("290*1000/"+mag)); + print(SCEOUTPUT,"\Ctab{"+text(tmp)+"mm}{"); + print(SCEOUTPUT,"\fbox{\Large\bf "+title+"}"); + println(SCEOUTPUT,"}"); + tmp=parse("6*1000/"+mag); + println(SCEOUTPUT,"\vspace{"+text(tmp)+"mm}"); + println(SCEOUTPUT,""); + tmp=indexof(ULEN,"cm"); + if(tmp>0, + tmp1=substring(ULEN,0,tmp-1); + tmp1=parse(replace(tmp1," ",""))*10; + ); + tmp=indexof(ULEN,"mm"); + if(tmp>0, + tmp1=substring(ULEN,0,tmp-1); + tmp1=parse(replace(tmp1," ","")); + ); + tmp=parse("300*1000/"+mag); + tmp1=(tmp-(XMAX-XMIN)*tmp1)/2; + tmp1=tmp1+parse("("+mag+"-1000)/100*1.3"); + print(SCEOUTPUT,"\hspace*{"+text(tmp1)+"mm}"); + tmp=replace(path,"\","/"); //17.12.09(2lines) + println(SCEOUTPUT,"\input{"+tmp+"/anim"+folder+".tex}"); println(SCEOUTPUT,"\end{document}"); closefile(SCEOUTPUT); if(iswindows(), - parent=replace(Dirwork+Batparent,pathsep()+"fig",""); + parent=Dirwork+Batparent; Makebat(Fhead,"ttv"); kc():=( println("kc : "+kc(parent,Dirlib,Fnametex)) ); kc(); , - parent=replace(Dirwork+Shellparent,pathsep()+"fig",""); + parent=Dirwork+Shellparent; Makeshell(Fhead,"ttv"); kc():=( println("kc : "+kc(parent,Mackc+Dirlib,Fnametex)); ); kc(); ); - Dirwork=Dirworkbkup; - Dirwork=Dirwork+pathsep()+"fig"; - setdirectory(Dirwork); Fhead=Fheadbkup; Pathpdf= Pathpdfbkup; ); +Mkflipanime():=( + regional(remflg,tmp,eqL,tmp1,tmp2); + if(!isexists(Dirwork,ParaPath), //17.10.14from + Parafolder(); + ); + Mkflipanime(Dirwork,ParaPath); +); +Mkflipanime(folder):=Mkflipanime(Dirwork,folder); +Mkflipanime(path,folder):=( +//help:Mkfilpanime(); +//help:Mkflipanime(path,folder); + regional(Fheadbkup,tex,article,parent,eqL,mag,title, + tmp,tmp1,tmp2,tmp3,texfiles,flg); + tmp=Divoptions(ParaOpAnim); //17.11.25from + eqL=tmp_5; + mag="1600"; + title=folder; + forall(eqL, + tmp=Indexof(#,"="); + tmp1=Toupper(substring(#,0,1)); + tmp2=substring(#,tmp,length(#)); + if(tmp1=="M", + mag=tmp2; + ); + if(tmp1=="T", + title=tmp2; + ); + ); //17.11.25upto + Fheadbkup=Fhead; + Fhead="flipanime"+folder; + tmp1=replace(PathT,pathsep(),"/"); + tmp=indexall(tmp1,"/");//17.10.14from + if(length(tmp)>0, + tex=substring(tmp1,tmp_(length(tmp)),length(tmp1)); + , + tex=tmp1; + );//17.10.14upto + if((tex=="platex")%(tex=="uplatex"), + if(tex=="platex",article="jarticle",article="ujarticle"); + , + article="article"; + ); + SCEOUTPUT=openfile(Fhead+".tex"); + println(SCEOUTPUT,"\documentclass[landscape]{"+article+"}"); + if((tex=="platex")%(tex=="uplatex")%(tex=="latex"), + tmp="\special{papersize=\the\paperwidth,\the\paperheight}"; + println(SCEOUTPUT,tmp); + println(SCEOUTPUT,"\mag="+mag);//17.11.25 + ); + if((tex=="pdflatex")%(tex=="lualatex")%(tex=="xelatex"), + if((tex=="pdflatex")%(tex=="xelatex"), + println(SCEOUTPUT,"\usepackage[pdftex]{pict2e}"); + , + println(SCEOUTPUT,"\usepackage{pict2e}"); + println(SCEOUTPUT,"\usepackage{luatexja}"); + ); + tmp=replace(Dirhead,"\","/"); //17.10.30from + tmp=replace(tmp,"scripts","tex/latex"); + if(isexists(tmp,""), + println(SCEOUTPUT,"\usepackage{ketpic2e,ketlayer2e}"); + , + tmp=replace(Dirhead+"/ketpicstyle","\","/"); + println(SCEOUTPUT,"\usepackage{"+tmp+"/ketpic2e}"); + println(SCEOUTPUT,"\usepackage{"+tmp+"/ketlayer2e}"); + ); + , + tmp=replace(Dirhead,"\","/"); //17.10.30from + tmp=replace(tmp,"scripts","tex/latex"); + if(isexists(tmp,""), + println(SCEOUTPUT,"\usepackage{ketpic,ketlayer}"); + , + tmp=replace(Dirhead+"/ketpicstyle","\","/"); + println(SCEOUTPUT,"\usepackage{"+tmp+"/ketpic}"); + println(SCEOUTPUT,"\usepackage{"+tmp+"/ketlayer}"); + ); + ); + println(SCEOUTPUT,"\usepackage{amsmath,amssymb}"); + println(SCEOUTPUT,"\usepackage{bm,enumerate}"); + if((tex=="platex")%(tex=="uplatex")%(tex=="latex"), + println(SCEOUTPUT,"\usepackage[dvipdfmx]{graphicx}"); + , + println(SCEOUTPUT,"\usepackage{graphicx}"); + ); + println(SCEOUTPUT,"\usepackage{xcolor}"); + forall(ADDPACK, tmp1, + if(tmp==0, + println(SCEOUTPUT,"\usepackage"+tmp1); + ); + ); + println(SCEOUTPUT,"\pagestyle{empty}"); + println(SCEOUTPUT,"\setmargin{0}{0}{0}{0}"); + println(SCEOUTPUT,""); + println(SCEOUTPUT,"\begin{document}"); + println(SCEOUTPUT,"\large"); + println(SCEOUTPUT,""); + tmp=fileslist(Dirwork+pathsep()+folder); + tmp=tokenize(tmp,","); + texfiles=select(tmp,indexof(#,".tex")>0); + forall(texfiles, + println(SCEOUTPUT,"\vspace*{25mm}"); + println(SCEOUTPUT,""); + tmp=floor(parse("290*1000/"+mag)); + print(SCEOUTPUT,"\Ctab{"+text(tmp)+"mm}{"); + print(SCEOUTPUT,"\fbox{\Large\bf "+title+"}"); + println(SCEOUTPUT,"}"); + tmp=parse("6*1000/"+mag); + println(SCEOUTPUT,"\vspace{"+text(tmp)+"mm}"); + println(SCEOUTPUT,""); + tmp=indexof(ULEN,"cm"); + if(tmp>0, + tmp1=substring(ULEN,0,tmp-1); + tmp1=parse(replace(tmp1," ",""))*10; + ); + tmp=indexof(ULEN,"mm"); + if(tmp>0, + tmp1=substring(ULEN,0,tmp-1); + tmp1=parse(replace(tmp1," ","")); + ); + tmp=parse("300*1000/"+mag); + tmp1=(tmp-(XMAX-XMIN)*tmp1)/2; + tmp1=tmp1+parse("("+mag+"-1000)/100*1.3"); + print(SCEOUTPUT,"\hspace*{"+text(tmp1)+"mm}"); + println(SCEOUTPUT,"\input{"+folder+"/"+#+"}"); + println(SCEOUTPUT,""); + println(SCEOUTPUT,"\newpage"); + ); + println(SCEOUTPUT,"\end{document}"); + closefile(SCEOUTPUT); + if(iswindows(), + parent=Dirwork+Batparent; + Makebat(Fhead,"tv"); + kc():=( + println("kc : "+kc(parent,Dirlib,Fnametex)) + ); + kc(); + , + parent=Dirwork+Shellparent; + Makeshell(Fhead,"tv"); + kc():=( + println("kc : "+kc(parent,Mackc+Dirlib,Fnametex)); + ); + kc(); + ); + Fhead=Fheadbkup; +); + //help:end(); |