diff options
author | Norbert Preining <norbert@preining.info> | 2017-09-04 09:45:51 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2017-09-04 09:45:51 +0900 |
commit | 138f77fe71e43adc24ecb030d73df81cc5c4eb7e (patch) | |
tree | cd2d906c634149bbecd2f4bad3d540c16b23befa /texmf-dist/scripts/ketpic/ketlib/ketpic2escifiles6/Texsetctr.sci | |
parent | 37bfdbee2c91bab6f0abd54503a0b9c669c9109e (diff) |
add ketpic
Diffstat (limited to 'texmf-dist/scripts/ketpic/ketlib/ketpic2escifiles6/Texsetctr.sci')
-rwxr-xr-x | texmf-dist/scripts/ketpic/ketlib/ketpic2escifiles6/Texsetctr.sci | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/texmf-dist/scripts/ketpic/ketlib/ketpic2escifiles6/Texsetctr.sci b/texmf-dist/scripts/ketpic/ketlib/ketpic2escifiles6/Texsetctr.sci new file mode 100755 index 00000000..166af676 --- /dev/null +++ b/texmf-dist/scripts/ketpic/ketlib/ketpic2escifiles6/Texsetctr.sci @@ -0,0 +1,70 @@ +// 10.01.21 + +function Texsetctr(Nctr,Opstr) + Ctr=Texctr(Nctr); + Opstr=Opstr+'%'; + OperL='+-*/%'; + Oper=''; + Va=''; + Evflg=0; + Paflg=0; + for I=1:length(Opstr) + Tmp=part(Opstr,I); + if Tmp=='(' + Paflg=1; + if length(Va)>0 + Evflg=1; + Va=Va+Tmp; + end; + continue; + end; + if Tmp==')' + Paflg=0; + if Evflg>0 + Va=Va+Tmp; + end; + continue; + end; + if Paflg>0 + Va=Va+Tmp; + continue; + end; + if length(mtlb_findstr(Tmp,OperL))==0 + Va=Va+Tmp; + else + if Evflg>0 + Tmp1=evstr(Va); + Va='\value{'+Tmp1+'}'; + Evflg=0; + end; + if Oper=='' + if length(Va)>0 + Str='\setcounter{'+Ctr+'}{'+Va+'}'; + Texcom(Str); + end; + Oper=Tmp; + Va=''; + elseif Oper=='+' + Str='\addtocounter{'+Ctr+'}{'+Va+'}'; + Texcom(Str); + Oper=Tmp; + Va=''; + elseif Oper=='-' + Str='\addtocounter{'+Ctr+'}{-'+Va+'}'; + Texcom(Str); + Oper=Tmp; + Va=''; + elseif Oper=='*' + Str='\multiply\value{'+Ctr+'} by '+Va; + Texcom(Str); + Oper=Tmp; + Va=''; + elseif Oper=='/' + Str='\divide\value{'+Ctr+'} by '+Va; + Texcom(Str); + Oper=Tmp; + Va='' + end; + end; + end; +endfunction; |