diff options
Diffstat (limited to 'texmf-dist/scripts/ketpic/ketlib/ketpicscifiles6/Htickmark.sci')
-rw-r--r-- | texmf-dist/scripts/ketpic/ketlib/ketpicscifiles6/Htickmark.sci | 144 |
1 files changed, 144 insertions, 0 deletions
diff --git a/texmf-dist/scripts/ketpic/ketlib/ketpicscifiles6/Htickmark.sci b/texmf-dist/scripts/ketpic/ketlib/ketpicscifiles6/Htickmark.sci new file mode 100644 index 00000000..ab8a54b6 --- /dev/null +++ b/texmf-dist/scripts/ketpic/ketlib/ketpicscifiles6/Htickmark.sci @@ -0,0 +1,144 @@ +// 08.05.17 Debugged +// 09.12.25 +// 11.04.13 debugged ( [a,b] ) +// 14.03.05 MARKLEN + +function Htickmark(varargin) + global Wfile FID MARKLEN GENTEN XMIN XMAX; + Nargs=length(varargin); + ArgsL=list(varargin(1:Nargs)); + if type(Op(1,ArgsL))==10 + Str=Op(1,ArgsL); + Tmp=mtlb_findstr(Str,'m'); + if Tmp~=[] + I=Tmp(1); + else + I=0; + end + Tmp=mtlb_findstr(Str,'n'); + if Tmp~=[] + J=Tmp(1); + else + J=0; + end + Tmp=mtlb_findstr(Str,'r'); + if Tmp~=[] + K=Tmp(1); + else + K=0; + end; + if K>0 + Tmp=ascii(Str); + S=char(Tmp(K+1:length(Tmp))); + R=msscanf(S,'%f'); + if length(R)==0 + R=1; + end + else + R=1; + K=length(Str)+1; + end + if J>0 then + Tmp=ascii(Str); + S=char(Tmp(J+1:K-1)); + if S==[] + S=''; + end; + Dn=msscanf(S,'%d'); + if length(Dn)==0 + Dn=1; + end + else + Dn=1000; + J=length(Str)+1; + end + Tmp=ascii(Str); + S=char(Tmp(I+1:J-1)); + if S==[] + S=''; + end + Dm=msscanf(S,'%f'); + if length(Dm)==0 + Dm=1; + end + ArgsL=list(); + for I=1:floor((XMAX-GENTEN(1))/Dm) + ArgsL($+1)=I*Dm; + if I-floor(I/Dn)*Dn==0 + Str=string(I*Dm*R); + K=length(Str); + Tmp=ascii(Str); + if char(Tmp(K))=='.' + Str=char(Tmp(1:k-1)); + end + ArgsL($+1)=Str; + end + end + for I=-1:-1:ceil((XMIN-GENTEN(1))/Dm) + ArgsL($+1)=I*Dm; + if I-floor(I/Dn)*Dn==0 + Str=string(I*Dm*R); + K=length(Str); + Tmp=ascii(Str); + if char(Tmp(K))=='.' + Str=char(1:K-1); + end + ArgsL($+1)=Str; + end + end + end + MemoriList=list(); + Memori=list(); + for N=1:length(ArgsL) + Dt=ArgsL(N); + if type(Dt)==1 & length(Dt)>1 + if length(Memori)>0 + MemoriList($+1)=Memori; + end + Memori=list(Dt(1),Dt(2)); + continue + end + if type(Dt)==10 + Memori($+1)=Dt; + else + if length(Memori)>0 + MemoriList($+1)=Memori; + end + Memori=list(Dt,GENTEN(2)); + end + end + MemoriList($+1)=Memori; + for N=1:length(MemoriList) + Dt=MemoriList(N); + Ndt=length(Dt); + X=Op(1,Dt); + Y=Op(2,Dt); + Tmp=Doscaling([X,Y]); + X=Tmp(1); + Y=Tmp(2); + Moji=Op(Ndt,Dt); + Tmp1=Unscaling([X,Y+MARKLEN]); + Tmp2=Unscaling([X,Y-MARKLEN]); + Fd=Listplot([Tmp1,Tmp2]); + Drwline(Fd); + if Ndt==3 + Tmp=Unscaling([X,Y-MARKLEN]); + Expr(Tmp,'s',Moji); + end + if Ndt==4 + Houkou=Op(3,Dt); + if mtlb_findstr(Houkou,'s')~=[] + Tmp=Unscaling([X,Y-MARKLEN]); + Expr(Tmp,Houkou,Moji); + else + Tmp=Unscaling([X,Y+MARKLEN]); + Expr(Tmp,Houkou,Moji); + end + end + if Wfile=='default' + mprintf('%s\n','%'); + else + mfprintf(FID,'%s\n','%'); + end + end +endfunction; |