// Copyright (C) 2014 Masataka Kaneko, Setsuo Takato, KETCindyJapan project team // //This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation; either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program. If not, see // println("ketcindymv(2017.08.19) 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 Shellfile="mv"; // 17.04.09 ); 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(k0); 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(k0); 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); //help:Setpara(folder,funstr,range,options); //help:Setpara(options=["m/r","Div=25"]); //help:Setpara(options=["Frate=10","Scale=1","OpA=[loop]"] for animation); regional(path);//17.04.10 if(length(pathorg)==0, path=Slidename,path=pathorg);//17.04.10 ParaPath=path; ParaFstr=fstr; ParaSL=sL; ParaOp=options; GLISTback=GLIST; GCLISTback=GCLIST; GOUTLISTback=GOUTLIST; POUTLISTback=POUTLIST; VLISTback=VLIST; FUNLISTback=FUNLIST; LETTERlistback=LETTERlist; COM0thlistback=COM0thlist; COM1stlistback=COM1stlist; COM2ndlistback=COM2ndlist; ); Parafolder():=Parafolder(ParaPath,ParaFstr,ParaSL,ParaOp); Parafolder(path,fstr,sL):=Parafolder(path,fstr,sL,[]); 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:Paraslide(para=folder:layery:pos:input,scale); //help:Paraslide(para=folder:layery:pos:include:[width=100]); regional(nn,sL,tmp,tmp1,tmp2,strL,eqL, mksce,mktex,ndiv,options,sciall,sfL); if(!isstring(ParaPath), println("Setpara not executed"); , sL=sLorg;//16.12.24from if(!isstring(sL), tmp=indexof(fstr,"("); tmp1=substring(fstr,tmp,length(fstr)); tmp=indexof(tmp1,")"); tmp1=substring(tmp1,0,tmp-1); , tmp=indexof(sL,"=");//16.12.21from if(length(tmp)>0, tmp1=substring(sL,0,tmp-1); ); );//16.12.21,24upto parse("Movieframe("+tmp1+"):="+fstr); options=optionorg; tmp=Divoptions(options); eqL=tmp_5; strL=tmp_7; if(length(strL)==0,options=append(options,"m"));//16.12.18 mksce="A"; mktex="A"; ndiv=25; forall(eqL, tmp=Indexof(#,"="); tmp1=Toupper(substring(#,0,1)); tmp2=substring(#,tmp,length(#)); if(tmp1=="D", ndiv=parse(tmp2); options=remove(options,[#]); ); ); forall(strL, tmp1=Toupper(substring(#,0,1)); if(tmp1=="M", mksce="Y"; mktex="Y"; ); ); sL=sLorg; if(isstring(sL), tmp=indexof(sL,"="); tmp1=parse(substring(sL,tmp,length(sL))); sL=apply(0..ndiv,tmp1_1+#*(tmp1_2-tmp1_1)/ndiv); ); if(!isexists(Dirwork,path), if(ErrFlag!=-1, cmdL=["createdir",[Dq+path+Dq]];//16.12.20 CalcbyS("crdr",cmdL,["m"]); wait(200);//17.02.20from repeat(1..30, if(!isexists(Dirwork,path),wait(100)); );//17.02.20upto , println(" ==> Changework may not work properly"); sL=[]; ); , if(mksce=="Y", cmdL=[ "rmdir",[Dq+path+Dq,Dq+"s"+Dq], "createdir",[Dq+path+Dq] ];//16.12.20 CalcbyS("crdr",cmdL,["m"]); wait(200);//17.02.20from tmp=Dirwork+"/"+path; if(iswindows(),tmp=replace(tmp,"/","\")); repeat(1..30, if(!isexists(Dirwork,path), wait(100); , if(length(fileslist(tmp))>0,wait(100)); ); ); );//17.02.20upto ); sciall=path+"/all.sce"; if(iswindows(),sciall=replace(sciall,"/","\"));//17.02.20 sfL=[]; forall(1..(length(sL)),nn, clrscr(); // 16.12.28 GLIST=GLISTback; GCLIST=GCLISTback; GOUTLIST=GOUTLISTback; POUTLIST=POUTLISTback; VLIST=VLISTback; FUNLIST=FUNLISTback; LETTERlist=LETTERlistback; COM0thlist=COM0thlistback; COM1stlist=COM1stlistback; COM2ndlist=COM2ndlistback; tmp1=Sprintf(nn/1000,3); tmp=indexof(tmp1,"."); tmp1=substring(tmp1,tmp,length(tmp1)); Fnamesci=path+"/p"+tmp1+".sce"; sfL=append(sfL,Fnamesci); Fnametex=replace(Fnamesci,".sce",".tex"); Movieframe(sL_nn); // windispg();//16.12.28 if(!isexists(Dirwork,Fnamesci) % mksce=="Y", if(ErrFlag!=-1, Viewtex(); ); ); ); // 16.12.27upto cmdL=[ "fL="+text(apply(sfL,Dq+#+Dq)),[], "Dt=mgetl(fL(1));",[], "Dt=Dt(1:(size(Dt,1)-1),:)",[], "for I=2:size(fL,2),Tmp=mgetl(fL(I));N=size(Tmp,1)-1;Tmp1=Tmp(13:N,:);Dt=[Dt;Tmp1],end",[], "mputl(Dt,'"+sciall+"')",[], "exec('"+sciall+"',-1)",[] ]; if(ErrFlag!=-1, if(!isexists(Dirwork,Fnametex) % mktex=="Y", CalcbyS("all",cmdL,options); , println("Parafolder "+path+" finished");//16.12.20 ); if(length(after)>0, // 16.12.27 parse(after); ); Fnamesci=Fhead+".sce"; Fnametex=Fhead+".tex"; ); ); ); 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); eqL=tmp_5; FRate="10"; Scale="1"; OpA=""; forall(eqL, tmp1=Toupper(substring(#,0,2)); tmp=indexof(#,"="); tmp2=substring(#,tmp,length(#)); if(tmp1=="FR", FRate=tmp2; ); if(tmp1=="SC", Scale=tmp2; ); if(tmp1=="OP", if(substring(tmp2,0,1)!="[",tmp2="["+tmp2+"]"); OpA=tmp2; ); ); pa=replace(path,"\","/"); fname="anim"+folder+".tex"; tmp=Dirwork+"/"+folder; path=replace(tmp,"\","/"); if(iswindows(),tmp=replace(tmp,"/","\")); tmp1=fileslist(tmp); tmp1=tokenize(tmp1,","); tmp1=select(tmp1,indexof(#,".tex")>0); SCEOUTPUT= openfile(fname); println(SCEOUTPUT,"\def\parapath{"+pa+"}%"); //17.06.22 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=tmp+folder+"/"+tmp1_#+"}}%"; ); // 17.08.30upto println(SCEOUTPUT,tmp); // println(SCEOUTPUT,""); //17.06.25 if(#