From 5e8666b9a54387c6193397786b2486dd2f069e1e Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Mon, 20 Dec 2021 21:29:42 +0000 Subject: mcfgraph (20dec21) git-svn-id: svn://tug.org/texlive/trunk@61354 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG | 15 +++++- Master/texmf-dist/doc/metapost/mcf2graph/README | 2 +- .../doc/metapost/mcf2graph/mcf_data_base.mcf | 16 +++--- .../doc/metapost/mcf2graph/mcf_exa_soc.mf | 8 +-- .../doc/metapost/mcf2graph/mcf_example.pdf | Bin 312162 -> 312162 bytes .../doc/metapost/mcf2graph/mcf_man_soc.mf | 28 +++++----- .../doc/metapost/mcf2graph/mcf_manual.pdf | Bin 383180 -> 383173 bytes .../doc/metapost/mcf2graph/mcf_manual.tex | 16 +++--- .../doc/metapost/mcf2graph/mcf_mplib_exa.pdf | Bin 183635 -> 183634 bytes .../doc/metapost/mcf2graph/mcf_mplib_exa.tex | 12 ++--- Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf | 59 +++++++++++---------- 11 files changed, 85 insertions(+), 71 deletions(-) (limited to 'Master/texmf-dist') diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG b/Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG index 6f0b66f6866..ef4458a67ee 100644 --- a/Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG +++ b/Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG @@ -1,6 +1,19 @@ ******************************************************************************* - Changelog of mcf2graph software package by Akira Yamaji 2022-12-12 + Changelog of mcf2graph software package by Akira Yamaji 2022-12-20 ******************************************************************************* +[ver. 4.76 / 2022-12-20] + -change syntax of bond type + {a<}=dl => {a'}=dr + {a<}=dr => {a'}=dl + -change syntax of fused ring + {(a<,b)}=?6 => (a',b)=?6 + {(a<,b)}=?5 => (a',b)=?5 + {(a<,b<)}=?6 => (a',b')=?6 + -change syntax of serial number' + {a--b} => {a:b} + -update mcf_data_base.mcf + -update MCF manual,example + [ver. 4.75 / 2022-12-12] -change syntax of bond type {a<}=dl : {a}=dr diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/README b/Master/texmf-dist/doc/metapost/mcf2graph/README index 348026d4fb8..d33c4cf90f0 100644 --- a/Master/texmf-dist/doc/metapost/mcf2graph/README +++ b/Master/texmf-dist/doc/metapost/mcf2graph/README @@ -1,7 +1,7 @@ ******************************************************************************** mcf2graph : Convert Molecular Coding Format to graphics with METAFONT/METAPOST Author : Akira Yamaji - version : 4.75 2021-12-12 + version : 4.76 2021-12-20 E-mail : mcf2graph@gmail.com Located at : http://www.ctan.org/pkg/mcf2graph ******************************************************************************** diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_data_base.mcf b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_data_base.mcf index 2fd8222db10..bdc74d444bd 100644 --- a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_data_base.mcf +++ b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_data_base.mcf @@ -1,5 +1,5 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% molecular data base file mcf_data_base.mcf by Akira Yamaji 2021.12.12 +% molecular data base file mcf_data_base.mcf by Akira Yamaji 2021.12.20 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % tag1:var1;tag2:var2;tag3:var3 ..... % first character of line "%" comment out @@ -440,8 +440,8 @@ Cat:biological;EN:Febrifugine;MW:301.34;EXA:1 +------------------------------------------------------------------------------ Cat:biological;EN:Hypericin;MW:504.44;EXA:1 + -<30,Ph,{-4,-3,(11,4),(16<,17),19,(23<,24),(22,29)}=?6, - {12,14,16,17,22<,24,26,28,33,35}=dl, +<30,Ph,{-4,-3,(11,4),(16',17),19,(23',24),(22,29)}=?6, + {12,14,16,17,22',24,26,28,33,35}=dl, {7,25}://O,{13,26}:/_, {2,6,11,21,23,28}:/OH +------------------------------------------------------------------------------ Cat:biological;EN:Camphor;MW:152.23;EXA:1 @@ -481,7 +481,7 @@ Cat:biological;EN:Reserpine;MW:608.688;EXA:1 +------------------------------------------------------------------------------ Cat:biological;EN:Rotenone;MW:394.423;EXA:1 + -<-60,?5,{-3,-2,-3,-4}=?6,{3<,7,9,17<,-2,-4}=dl, +<-60,?5,{-3,-2,-3,-4}=?6,{3',7,9,17',-2,-4}=dl, {2,13,16}:O,10://O,{11^-60,12^60}:*/H,{-2,-3}:/O!,@1,*\,/_,!! +------------------------------------------------------------------------------ Cat:biological;EN:Pyrethrin I;MW:328.452;EXA:1 @@ -608,13 +608,13 @@ Cat:synthetic;EN:Pyrene;MW:202.25;EXA:- +------------------------------------------------------------------------------ Cat:synthetic;EN:Coronene;MW:300.35;EXA:1 + -<30,Ph,{1,(11,2),(15,3),(19,4),(23,5),(27<,7)}=?6, +<30,Ph,{1,(11,2),(15,3),(19,4),(23,5),(27',7)}=?6, {9,12,14,17,20,22,25,28,30}=dl +------------------------------------------------------------------------------ Cat:synthetic;EN:Kekulene;MW:600.7;EXA:1 + -<30,?6,{3,-3,-2,-3,-2,-3,-2,-3,-2,-3,(-2<,5<),(5<,-4<)}=?6, - {1,5<,7,9,11,13,17,19,21,23,27,29,31,33,37,39,41,43,47,49,51,53,57,60}=dl +<30,?6,{3,-3,-2,-3,-2,-3,-2,-3,-2,-3,(-2',5'),(5',-4')}=?6, + {1,5',7,9,11,13,17,19,21,23,27,29,31,33,37,39,41,43,47,49,51,53,57,60}=dl +------------------------------------------------------------------------------ %============================================================================== Cat:synthetic;EN:12-Crown-4;MW:176.21;EXA:- @@ -1673,7 +1673,7 @@ Cat:pesticide;EN:Uniconazole-P;MW:291.779;EXA:- %****************************************************************************** Cat:pesticide;EN:Azinphos-methyl;MW:317.318;EXA:- + -<-30,!,O,!,P,//S,/O!^160,!,S,!2,|,?6,-3=?6,{2,4,8,10}=dl,{1--3}:N,6://O +<-30,!,O,!,P,//S,/O!^160,!,S,!2,|,?6,-3=?6,{2,4,8,10}=dl,{1:3}:N,6://O +------------------------------------------------------------------------------ Cat:pesticide;EN:Azoxystorbin;MW:403.394;EXA:- + diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_exa_soc.mf b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_exa_soc.mf index 9dd7c5ee311..ebc920a8565 100644 --- a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_exa_soc.mf +++ b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_exa_soc.mf @@ -1,8 +1,8 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Molecular Coding Format for mcf_example.tex by Akira Yamaji 2021.12.12 +% Molecular Coding Format for mcf_example.tex by Akira Yamaji 2021.12.20 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -input mcf2graph.mf; %%% it must be version 4.75 -message "* mcf_exa_soc 2021.12.12"; +input mcf2graph.mf; %%% it must be version 4.76 +message "* mcf_exa_soc 2021.12.20"; message ""; %------------------------------------------------------------------------------ fsize:=(35mm,24mm); @@ -14,7 +14,7 @@ tag1:="J"; tag2:="C"; tag3:="fm"; tag4:="mw"; tag5:="EN"; tag6:="MW"; %------------------------------------------------------------------------------ %% outputformat:="png"; hppp:=vppp:=0.1; outputtemplate:="%j-%3c.png"; %------------------------------------------------------------------------------ -%ext(defaultfont:="uhvr8r"; defaultscale:=.3; label.rt(inf_EN,(0,0));) +%%%%ext(defaultfont:="uhvr8r"; defaultscale:=.3; label.rt(inf_EN,(0,0));) %------------------------------------------------------------------------------ %sw_output:=Font+Info; %ext(defaultfont:="uhvr8r"; defaultscale:=.3; diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.pdf b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.pdf index 2d5e9c832eb..c4df2fa92d6 100644 Binary files a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.pdf and b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.pdf differ diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc.mf b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc.mf index bed8e2420a8..f9b5e2b35eb 100644 --- a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc.mf +++ b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc.mf @@ -1,9 +1,9 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Molecular Coding Format file for mcf_manual.tex by Akira.Yamaji 2021.12.12 +% Molecular Coding Format file for mcf_manual.tex by Akira.Yamaji 2021.12.20 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -input mcf2graph.mf; %% it must be version 4.75 +input mcf2graph.mf; %% it must be version 4.76 % ** use data base file 'mcf_data_base.mcf' -message "mcf_man_soc 2021.12.12"; message ""; +message "mcf_man_soc 2021.12.20"; message ""; %------------------------------------------------------------------------ sw_mframe:=0; sw_expand:=0; @@ -248,7 +248,7 @@ beginfont("EN:rotate 1") numbering_end:=7; defaultscale:=0.5; labeloffset:=2bp; - MC(#1,0,0,<90,0,<-90,0,<$315,0,<$90,0,<$0,0,{1--7}=vf, + MC(#1,0,0,<90,0,<-90,0,<$315,0,<$90,0,<$0,0,{1:7}=vf, {3,4^180}:/_~dt) add( drawarrow B8/*.7{B8left}..{B3left}B3/*.7; label.urt("90",B8/*.7); @@ -329,7 +329,7 @@ beginfont("EN:change multi bond") fsize:=(60mm,8mm); fmargin:=(2mm,3mm); ratio_chain_ring:=1; - MC(<30,!9,{2,4,6,8<}=dl) + MC(<30,!9,{2,4,6,8'}=dl) endfont %*********************************************************************** beginfont("EN:change bond length1") @@ -361,9 +361,9 @@ endfont beginfont("EN:change atom") fsize:=(70mm,10mm); msize:=(0.48,1); - MCat(0,0.5)(<30,!5,2:O,{3--5}:N) + MCat(0,0.5)(<30,!5,2:O,{3:5}:N) sw_numbering:=Atom; - MCat(1,0.5)(<30,!5,2:O,{3--5}:N) + MCat(1,0.5)(<30,!5,2:O,{3:5}:N) endfont %*********************************************************************** beginfont("EN:change atom brock address 1") @@ -413,7 +413,7 @@ beginfont("EN:fused ring") fmargin:=(2mm,1.5mm); sw_trimming:=1; sw_numbering:=Bond; - MC(<30,?6,3=?6,3=dt,{7--11}=bd_r) + MC(<30,?6,3=?6,3=dt,{7:11}=bd_r) endfont %----------------------------------------------------------------------- beginfont("EN:change ring length") @@ -422,7 +422,7 @@ beginfont("EN:change ring length") sw_trimming:=1; sw_numbering:=Bond; MC(?6,@4,\,?6`1.2,5=?6,11=?6, - {14--23}=bd_r,{5,11}=dt) + {14:23}=bd_r,{5,11}=dt) endfont %----------------------------------------------------------------------- beginfont("EN:fused large 6 ring") @@ -431,7 +431,7 @@ beginfont("EN:fused large 6 ring") margin_top_bottom:=1.5mm; sw_numbering:=Bond; sw_trimming:=1; - MC(<30,?6,3=?6[13],3=dt,{7--11}=bd_r) + MC(<30,?6,3=?6[13],3=dt,{7:11}=bd_r) endfont %----------------------------------------------------------------------- beginfont("EN:fuse multi ring") @@ -447,10 +447,10 @@ beginfont("EN:fused ring 2") fmargin:=(2mm,2mm); sw_numbering:=Bond; msize:=(1,.9); - MCat( 0,.5)(<30,?6,{3,(11,4)}=?6,{11,4}=dt,{12--15}=bd_r) + MCat( 0,.5)(<30,?6,{3,(11,4)}=?6,{11,4}=dt,{12:15}=bd_r) add(defaultscale:=0.4; label("(1)",p0);) msize:=(1,.9); - MCat(.5,.5)(<30,?6,3=?6,(11,4)=?5,{11,4}=dt,{12--14}=bd_r) + MCat(.5,.5)(<30,?6,3=?6,(11,4)=?5,{11,4}=dt,{12:14}=bd_r) add(defaultscale:=0.4; label("(2)",p0);) msize:=(1,.9); MCat( 1,.5)(<30,?6,3=?6,(11,4)=?4,{11,4}=dt,{12,13}=bd_r) @@ -461,7 +461,7 @@ beginfont("EN:fused ring 3") fsize:=(60mm,20mm); fmargin:=(2mm,2mm); sw_numbering:=Bond; - MCat(0,1)(?6,{3,10}=?6,(16,4)=?6[3],{16,4}=dt,{17--19}=bd_r) + MCat(0,1)(?6,{3,10}=?6,(16,4)=?6[3],{16,4}=dt,{17:19}=bd_r) add(defaultscale:=0.4; label("(1)",p0);) MCat(1,0)(?6,{3,10}=?6,(16,4)=?5[2],{16,4}=dt,{17,18}=bd_r) add(defaultscale:=0.4; label("(2)",p0);) @@ -606,7 +606,7 @@ beginfont("EN:Serial number") fsize:=(75mm,14mm); max_blength:=8mm; sw_numbering:=Atom; numbering_end:=15; - MC(<30,!14,{2,6--10,14}:/_~bd_r`0.5) + MC(<30,!14,{2,6:10,14}:/_~bd_r`0.5) endfont %*********************************************************************** beginfont("EN:Change color") diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.pdf b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.pdf index 3bb7a0d98c4..b2e585b42a5 100644 Binary files a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.pdf and b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.pdf differ diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.tex b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.tex index 22111988277..945826f92f8 100644 --- a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.tex +++ b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.tex @@ -1,5 +1,5 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Molecular Coding Format manual by Akira Yamaji 2021.12.12 +% Molecular Coding Format manual by Akira Yamaji 2021.12.20 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \documentclass[a4paper]{article} \usepackage[pdftex]{graphicx} @@ -294,9 +294,9 @@ wb_r : wedge backward (half width) \subsubsection{Change multiple bond type} \index{vf}% \begin{verbatim} -{2,4,6,8<}=dl : 2=dl,4=dl,6=dl,8=dr +{2,4,6,8'}=dl : 2=dl,4=dl,6=dl,8=dr -<30,!7,{2,4,6,8<}=dl +<30,!7,{2,4,6,8'}=dl \end{verbatim} \MCFgraph %----------------------------------------------------------------------------- @@ -449,13 +449,13 @@ attached bond length \begin{verbatim} (Attached 3 bond) -(16,4)=?6[3] or {(16<,4)}=?6 +(16,4)=?6[3] or {(16',4)}=?6 : fuse 3/6 ring to B16..B4 -(16,4)=?5[2] or {(16<,4)}=?5 +(16,4)=?5[2] or {(16',4)}=?5 : fuse 2/5 ring to B16..B4 ** ?m[n] (5<=m<=6,n=m-3) -1:?6,{3,10,(16<,4)}=?6 +1:?6,{3,10,(16',4)}=?6 2:?6,{3,10}=?6,(16,4)=?5[2] \end{verbatim} \MCFgraph @@ -467,10 +467,10 @@ attached bond length \begin{verbatim} (Attached 4 bond) -(21,4)=?6[2] or {(21<,4<)}=?6 +(21,4)=?6[2] or {(21',4')}=?6 : fuse 2/6 ring to B21..B4 -<-30,?6,{3,10,15,(21<,4<)}=?6 +<-30,?6,{3,10,15,(21',4')}=?6 ** ?m[n] (m=6,n=2) \end{verbatim} diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.pdf b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.pdf index f0bb0acc09f..be4964ceecc 100644 Binary files a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.pdf and b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.pdf differ diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.tex b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.tex index b2bdbe8ff17..241a9b703a5 100644 --- a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.tex +++ b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.tex @@ -1,7 +1,7 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Example of MCF typest with LuaLaTeX(luamplib) by A.Yamaji 2021.12.12 +% Example of MCF typest with LuaLaTeX(luamplib) by A.Yamaji 2021.12.20 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% ** mcf2graph.mf must be version 4.75 +% ** mcf2graph.mf must be version 4.76 % ** use mcf_data_base.mcf \documentclass{article} %------------------------------------------------------------------------------ @@ -168,8 +168,8 @@ endfont \begin{verbatim} beginfont("EN:Kekulene","MW:600.7", %------------------------------------------------------------------------------ - ": <30,?6,{3,-3,-2,-3,-2,-3,-2,-3,-2,-3,(-2<,5<),(5<,-4<)}=?6, ", - ": {1,5<,7,9,11,13,17,19,21,23,27,29,31,33,37,39,41,43,47,49,51,53,57,60}=dl ") + ": <30,?6,{3,-3,-2,-3,-2,-3,-2,-3,-2,-3,(-2',5'),(5',-4')}=?6, ", + ": {1,5',7,9,11,13,17,19,21,23,27,29,31,33,37,39,41,43,47,49,51,53,57,60}=dl ") %------------------------------------------------------------------------------ fsize:=(120mm,25mm); if check(mc)=0: MC(scantokens(mc)) fi @@ -178,8 +178,8 @@ endfont %---------------------------------------------------------------------------- \begin{mplibcode} beginfont("EN:Kekulene","MW:600.7", - ": <30,?6,{3,-3,-2,-3,-2,-3,-2,-3,-2,-3,(-2<,5<),(5<,-4<)}=?6, ", - ": {1,5<,7,9,11,13,17,19,21,23,27,29,31,33,37,39,41,43,47,49,51,53,57,60}=dl ") + ": <30,?6,{3,-3,-2,-3,-2,-3,-2,-3,-2,-3,(-2',5'),(5',-4')}=?6, ", + ": {1,5',7,9,11,13,17,19,21,23,27,29,31,33,37,39,41,43,47,49,51,53,57,60}=dl ") fsize:=(120mm,25mm); if check(mc)=0: MC(scantokens(mc)) fi ext(defaultscale:=0.8; diff --git a/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf b/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf index f6aa34ab01b..8571096ba0b 100644 --- a/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf +++ b/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf @@ -1,5 +1,5 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% mcf2graph ver 4.75 Copyright (c) 2013-2021 Akira Yamaji +% mcf2graph ver 4.76 Copyright (c) 2013-2021 Akira Yamaji % % Permission is hereby granted, free of charge, to any person obtaining a copy of this software % and associated documentation files (the "Software"), to deal in the Software without restriction, @@ -38,7 +38,7 @@ % Set to use plain.mp (label,arrow,atom) : mpost -s labeloffset=2 FILENAME %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% tracingstats:=1; -message "* This is mcf2graph ver 4.75 2021.12.12"; +message "* This is mcf2graph ver 4.76 2021.12.20"; %------------------------------------------------------------------------------------------------- newinternal cntA,cntB,cntM,minX,minY,maxX,maxY,sftX,sftY,com,par,envT,envB,lenT,lineT,angT,rotT, crR,nA,nB,nC,nD,nE,nF,nS,nL,nR,nU,nP,xpos,ypos,markA,markB,saveA,saveB,bondL; @@ -78,6 +78,7 @@ def fat(expr a,b)= mposition:=b; a enddef; def ext(text TXT)= sw_ext_all:=1; def EXT_ALL = TXT enddef; enddef; def ext_clear= sw_ext_all:=0; def EXT_ALL = enddef; enddef; %-------------------------------------------------------------------------------------------------- +vardef frac primary n= n-floor n enddef; vardef iif(expr a,b,c)=if a: b else: c fi enddef; vardef subc(expr i,s)= substring(i-1,i) of s enddef; vardef sfrt(expr a,b,c)= a shifted ((b,0) rotated c) enddef; @@ -451,7 +452,7 @@ def pickup_data_unit(expr t,v,f)= endgroup; enddef; %-------------------------------------------------------------------------------------------------- -vardef scan_bit(expr n,b)= if b=0: false else: odd(floor(n/b)) fi enddef; +vardef scan_bit(expr n,b)= if b>=1: odd(floor(n/b)) else: odd(floor((frac n)/b)) fi enddef; %-------------------------------------------------------------------------------------------------- vardef scan_char(expr c,s,d,n)= save k,n_s; @@ -491,7 +492,7 @@ tertiarydef a op_bq b = if known b:: (_tmp_len,b),a else:: _nop,a fi enddef; def rot_angle primary n = (_rot_ang,n) enddef; def cyc_atom primary n = (_cyc,n) enddef; def jump_atom_abs primary a = - if numeric a:: (_jp_atom,$a) elseif pair a:: (_jp_atom,$1),<$0,angle(a)~0`length(a),<$0 fi + if numeric a:: (_jp_atom,$a) ef pair a:: (_jp_atom,$1),<$0,angle(a)~0`length(a),<$0 fi enddef; def jump_atom primary a = if numeric a:: (_jp_atom,a) elseif pair a:: <$0,angle(a)~0`length(a),<$0 fi @@ -533,9 +534,9 @@ def read_mcf(expr n)(text TXT)= enddef; %------------------------------------------------------------------------------------------------- vardef read_number(text TXT)= - save --,-+,<,nA,nB,nC; - let -- == from_until; - def < == -3000 enddef; + save ',:,nA,nB,nC; + let : == from_until; + def ' == +0.5 enddef; parts_int:=parts_int+1; nA:=0; for list==TXT:: @@ -595,10 +596,11 @@ vardef change_bond(expr a,b) = if a>=parts_int_start:: for i==1 upto cntD[a]:: if comD[a][i]==_numeric:: - if parD[a][i]>=-999:: com_par(_set_adr,parD[a][i]) com_par(_set_line,b) - ef b==dl:: com_par(_set_adr,parD[a][i]+3000) com_par(_set_line,dr) - ef b==dr:: com_par(_set_adr,parD[a][i]+3000) com_par(_set_line,dl) - else:: com_par(_set_adr,parD[a][i]+3000) com_par(_set_line,b) + if frac parD[a][i]==0:: + com_par(_set_adr,parD[a][i]) com_par(_set_line,b) + ef b==dl:: com_par(_set_adr,floor parD[a][i]) com_par(_set_line,dr) + ef b==dr:: com_par(_set_adr,floor parD[a][i]) com_par(_set_line,dl) + else:: com_par(_set_adr,floor parD[a][i]) com_par(_set_line,b) fi fi endfor @@ -621,22 +623,19 @@ vardef change_bond(expr a,b) = else:: fuse_ring(parD[a][i],b-?3+3) fi else:: - if b==?6:: if (comD[a][i]>=-999)and(parD[a][i]>=-999):: - fuse_ring_bonds((comD[a][i],parD[a][i]),6,4) - ef comD[a][i]>=-999:: - fuse_ring_bonds((comD[a][i],parD[a][i]+3000),6,3) - ef parD[a][i]>=-999:: - fuse_ring_bonds((comD[a][i]+3000,parD[a][i]),6,3) - else:: - fuse_ring_bonds((comD[a][i]+3000,parD[a][i]+3000),6,2) - fi - ef b==?5:: if (comD[a][i]>=-999)and(parD[a][i]>=-999):: - fuse_ring_bonds((comD[a][i],parD[a][i]),5,3) - ef comD[a][i]>=-999:: - fuse_ring_bonds((comD[a][i],parD[a][i]+3000),5,2) - ef parD[a][i]>=-999:: - fuse_ring_bonds((comD[a][i]+3000,parD[a][i]),5,2) - fi + if b==?6:: + if (frac comD[a][i]==0)and(frac parD[a][i]==0):: + fuse_ring_bonds((comD[a][i],parD[a][i]),6,4) + ef frac comD[a][i]==0:: fuse_ring_bonds((comD[a][i],floor parD[a][i]),6,3) + ef frac parD[a][i]==0:: fuse_ring_bonds((floor comD[a][i],parD[a][i]),6,3) + else:: fuse_ring_bonds((floor comD[a][i],floor parD[a][i]),6,2) + fi + ef b==?5:: + if (frac comD[a][i]==0)and(frac parD[a][i]==0):: + fuse_ring_bonds((comD[a][i],parD[a][i]),5,3) + ef frac comD[a][i]==0:: fuse_ring_bonds((comD[a][i],floor parD[a][i]),5,2) + ef frac parD[a][i]==0:: fuse_ring_bonds((floor comD[a][i],floor parD[a][i]),5,2) + fi ef b==?4:: fuse_ring_bonds((comD[a][i],parD[a][i]),4,2) ef b==?6[3]:: fuse_ring_bonds((comD[a][i],parD[a][i]),6,3) ef b==?6[2]:: fuse_ring_bonds((comD[a][i],parD[a][i]),6,2) @@ -2005,8 +2004,10 @@ ONa:=STb("O{Na}")(O,Na); SO3Na:=STb("S{O_3_}{Na}")(S,O,O,O,Na); tbl_group_end:=tbl_cnt; parts_atom_end:=parts_cnt; %================================================================================================= -for i==3 upto 20: ?[i]:='((_com,_len_ss),(_get_len,_ring_len),<((-180 DIV i)-90) - for j==2 upto i:: ,(360 DIV i) endfor,(_cyc_sB,1-i),(_com,_len_ee)); endfor +for i=3 upto 20: + ?[i]:='((_com,_len_ss),(_get_len,_ring_len),<((-180 DIV i)-90) + for j==2 upto i:: ,(360 DIV i) endfor,(_cyc_sB,1-i),(_com,_len_ee)); +endfor Ph:=Ph1:='(?6,-2=dl,-4=dl,-6=dl); Ph2:='(?6,-1=dl,-3=dl,-5=dl); for i=4,5,6: for j=2 upto i-2: ?[i][j]:='(); endfor endfor for i=5,6,7,8: for j=11 upto 15: ?[i][j]:='(); endfor endfor -- cgit v1.2.3