From 6e95eb9f5ffa8d677a43a498ee09248674790abc Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sun, 3 Jan 2021 22:29:20 +0000 Subject: mcf2graph (3jan21) git-svn-id: svn://tug.org/texlive/trunk@57310 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf | 141 ++++++++++++---------- 1 file changed, 77 insertions(+), 64 deletions(-) (limited to 'Master/texmf-dist/metapost') diff --git a/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf b/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf index 6fa08622710..49c50f02635 100644 --- a/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf +++ b/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf @@ -1,5 +1,5 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% mcf2graph ver 4.54 Copyright (c) 2013-2020 Akira Yamaji +% mcf2graph ver 4.55 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,11 +38,11 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% tracingstats:=1; message "---------------------------------------------"; -message "This is mcf2graph ver 4.54 2020.12"; +message "This is mcf2graph ver 4.55 2021.01"; message "---------------------------------------------"; %------------------------------------------------------------------------------------------------- -newinternal cntA,cntB,cntM,minX,minY,sftX,sftY,com,par,nA,nB,nC,nD,nE,nF,nN,nP,nU,nP,nL,nR,nS,nW, - xpos,ypos; +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,nN,nP,nU,nP,nL,nR,nS,nW,xpos,ypos,markA,markB,saveA,saveB,bondL; numeric save_num[],comD[][],parD[][],adrD[][],cntD[],tbl_atom[],tbl_group[][],f_char[], tbl_atom_wt[],tbl_atom_mi[],tbl_char_wd[],tbl_char_ht[],andA[],and_rot[],chargeA[], com_group[][],par_group[][],cnt_group[],colorA[],colorB[],sumA[],bondC[],hideH[], @@ -207,8 +207,8 @@ def parameter_list= offset_bond_gap,thickness_fframe,thickness_mframe,thickness_aframe,offset_thickness, numberA_start,numberA_end,numberB_start,numberB_end,defaultsize,defaultscale,labeloffset,mangle, fsize,fmargin,msize,mposition,defaultfont,atomfont,dottedline_gap, - Me,Et,Pr,Bu,iPr,tBu,CF3,CCl3,CBr3,CH3,NH,NH2,NO2,OH,CHO,COOH,CN,SH,OMe,OEt,SMe,SEt, - !CH3,!NH2,!NO2,!OH,!CHO,!COOH,!CN,!SH,!2CH3,!2NH2,!2NO2,!2OH,!2CHO,!2COOH,!2CN,!2SH + Me,Et,Pr,Bu,iPr,tBu,CH3,NH,NH2,NO2,OH,CHO,COOH,CN,SH, + !CH3,!NH2,!NO2,!OH,!CHO,!COOH,!CN,!SH enddef; %-------------------------------------------------------------------------------------------------- def ]]]=] ] ] enddef; @@ -338,13 +338,12 @@ def set_def_MC= tertiarydef a~b == if known b:: (_tmp_line,b),a else:: _nop,a fi enddef; tertiarydef a>b == if known b:: (_tmp_env,b),a else:: _nop,a fi enddef; def # == _connect_at enddef; def @ == _jump_at enddef; primarydef a@#b == a:@,b:# enddef; - def \ == @,0 enddef; def \\ == \~dm enddef; - def *\ == \~wf enddef; def \* == \~zf enddef; def *\* == \~wv enddef; + def \ == @,0 enddef; def \\ == \~dm enddef; def *\ == \~wf enddef; def \* == \~zf enddef; + def *\* == \~wv enddef; def | == (_com,_mark) enddef; def || == (_com,_moff) enddef; def ||| == (_com,_term) enddef; def |< == (_com,_len_s) enddef; def >| == (_com,_len_e) enddef; def |<< == (_com,_len_ss) enddef; def >>| == (_com,_len_ee) enddef; - def |=primary n == |<,(_chg_len,n) enddef; def =| == >| enddef; - def :| == (_com,_rest) enddef; + def |=primary n == |<,(_chg_len,n) enddef; def =| == >| enddef; def :| == (_com,_rest) enddef; def /secondary n == if known n:: (_group_si,n) else:: _nop fi enddef; def //secondary n == /n~dm enddef; def */secondary n == /n~wf enddef; def /*secondary n == /n~zf enddef; def */*secondary n == /n~wv enddef; @@ -412,7 +411,7 @@ enddef; %------------------------------------------------------------------------------------------------- def fuse_ring_bonds(expr a,b,c) = CP(_jp_bond,xpart(a)) CP(_rot_ang,180) CP(_com,_len_s) - if b==6:: CP(_chg_len,_ring_len) for i==1 upto c-1:: CP(_mk_bond,60) endfor + if b==6:: CP(_chg_len,1) for i==1 upto c-1:: CP(_mk_bond,60) endfor elseif b==5:: if c==2:: CP(_chg_len,1.25) CP(_mk_bond,80) elseif c==3:: CP(_chg_len,1.1) CP(_mk_bond,78) CP(_mk_bond,72) fi elseif b==4:: CP(_chg_len,1.225) CP(_mk_bond,105) fi @@ -464,9 +463,18 @@ vardef change_atom(expr a,b)= parts_int:=parts_int+1; nCP:=0; if numeric b:: - if (b>=H)and(b<=U):: CPe(a)(_chg_atom,b) - ef b==NH:: CPe(a)(_chg_atom,N) CP(_tmp_line,nl) - CP(_com,_group_s) CPx(a)(_group_si,H) CP(_com,_group_e) + if (b GT parts_emb_start)and(b<=parts_atom_end):: CPe(a)(_chg_atom,b) + ef b==NH:: CPe(a)(_chg_atom,N) CP(_tmp_line,nl) + CP(_com,_group_s) CPx(a)(_group_si,H) CP(_com,_group_e) + ef b==N!:: CPe(a)(_chg_atom,N) CP(_com,_group_s) CPx(a)(_group_si,_) CP(_com,_group_e) + ef b==N!2:: CPe(a)(_chg_atom,N) CP(_com,_group_s) CPx(a)(_group_si,!) CP(_com,_group_e) + ef b==??:: CP(_com,_group_s) CP(_tmp_rot,35) CPx(a)(_group_si,_) + CP(_tmp_rot,-35) CPx(a)(_group_si,_) CP(_com,_group_e) + ef b==SOO:: CPe(a)(_chg_atom,S) CP(_com,_group_s) + CP(_tmp_line,dm) CP(_tmp_rot,35) CPx(a)(_group_si,O) + CP(_tmp_line,dm) CP(_tmp_rot,-35) CPx(a)(_group_si,O) CP(_com,_group_e) + ef b==SO:: CPe(a)(_chg_atom,S) CP(_com,_group_s) CP(_tmp_line,dm) + CPx(a)(_group_si,O) CP(_com,_group_e) ef b==_jump_at:: CP(_jp_atom,a) ef b==_connect_at:: CP(_cyc,a) fi @@ -739,9 +747,8 @@ enddef; %------------------------------------------------------------------------------------------------- def MC(text TXT)= begingroup - save markA,markB,saveA,saveB,f_bra,envT,envB,lenT,lineT,strAT,cnt_group,bondL,temp_lenE, - temp_lenF,temp_cntB,f_end,f_term,rotT,f_at,f_lineT,f_rotT,f_lenT,f_envT,angT, - maxX,maxY,sA,sC,factor,m_wd,m_ht,crR,defaultsize,defaultscale; + save f_bra,strAT,cnt_group,temp_lenE,temp_lenF,temp_cntB,f_end,f_term,f_at,f_lineT,f_rotT, + f_lenT,f_envT,sA,sC,factor,m_wd,m_ht,defaultsize,defaultscale; %----------------------------------------------------------------------------------------------- string sA,sC; %----------------------------------------------------------------------------------------------- @@ -1251,7 +1258,7 @@ enddef; %================================================================================================= parts_int:=parts_emi_start; parts_cnt:=parts_emb_start; -%================================================================================================= +%------------------------------------------------------------------------------------------------- C:= STa("C" ,12.0107, 12.0000000); H:= STa("H" , 1.00794, 1.00782503223); Al:=STa("{Al}",26.9815, 26.98153853); As:=STa("{As}",74.9216, 74.92159457); B:= STa("B" ,10.811, 11.00930536); Br:=STa("{Br}",79.904, 78.9183376); @@ -1271,54 +1278,54 @@ U:= STa("U", 238.0289, 238.05079); Zn:=STa("{Zn}",65.409, 63.929142 tbl_atom_end:=tbl_cnt; %------------------------------------------------------------------------------------------------- CH3:=STb("C{H_3_}")(C,H,H,H); CH2:=STb("C{H_3_}")(C,H,H); CN:=STb("CN")(C,N); OH:=STb("OH")(O,H); -CF3:=STb("C{F_3_}")(C,F,F,F); COOH:=STb("COOH")(C,O,O,H); SH:= STb("SH")(S,H); -CHO:= STb("CHO")(C,H,O); NO2:=STb("N{O_2_}")(N,O,O); NH2:=STb("N{H_2_}")(N,H,H); -H2:= STb("{H_2_}")(H,H); ONa:=STb("O{Na}")(O,Na); SO3:= STb("S{O_3_}")(S,O,O,O); +COOH:=STb("COOH")(C,O,O,H); SH:= STb("SH")(S,H); CHO:=STb("CHO")(C,H,O); +NO2:=STb("N{O_2_}")(N,O,O); NH2:=STb("N{H_2_}")(N,H,H); +ONa:=STb("O{Na}")(O,Na); SO3Na:=STb("S{O_3_}{Na}")(S,O,O,O,Na); +%------------------------------------------------------------------------------------------------- +str_plus:=str_cnt; +N[1]:=STb("{N^+^}")(N); H[1]:=STb("{H^+^}")(H); Na[1]:=STb("{Na^+^}")(Na); K[1]:=STb("{K^+^}")(K); +NH3[1]:= STb("{N^+^}{H_3_}")(N,H,H,H); NH4[1]:= STb("{N^+^}{H_4_}")(N,H,H,H,H); +S[1]:= STb("{S^+^}")(S); +str_minus:=str_cnt; +O[-1]:=STb("{O^-^}")(O); COO[-1]:=STb("COO^-^")(C,O,O); SO3[-1]:=STb("S{O_3_}^-^")(S,O,O,O); +Cl[-1]:=STb("{Cl^-^}")(Cl); Br[-1]:=STb("{Br^-^}")(Br); I[-1]:=STb("{I^-^}")(I); %------------------------------------------------------------------------------------------------- -Br[-1]:=STb("{Br^-^}")(Br); Cl[-1]:=STb("{Cl^-^}")(Cl); -N[1]:= STb("{N^+^}")(N); N[-1]:= STb("{N^-^}")(N); -O[1]:= STb("{O^p^}")(O); O[-1]:= STb("{O^-^}")(O); -S[1]:= STb("{S^p^}")(S); S[-1]:= STb("{S^m^}")(S); +str_minus_end:=str_cnt; tbl_group_end:=tbl_cnt; +parts_atom_end:=parts_cnt; %================================================================================================= -lr:='(60 for i==1 upto 10:: ,-60,60 endfor); rl:='(-60,lr); for i==3 upto 20: ?[i]:='(|<<,(_get_len,_ring_len),<((-180 DIV i)-90) for j==2 upto i:: ,(360 DIV i) endfor,(_cyc_sB,1-i),>>|); endfor Ph:=Ph1:='(?6,-2=dl,-4=dl,-6=dl); Ph2:='(?6,-1=dl,-3=dl,-5=dl); !:=!1:='((_mk_bond,_arg_ang)); !!:='(!~db); !!!:='(!~tm); for i==2 upto 20: ![i]:='(|<<,(_get_len,_tmp_len),! for j==2 upto i::,! endfor ,>>|); endfor -Me:='(); Et:='(!); Pr:='(!,!); Bu:='(!,!,!); -for i=4,5,6: for j=2 upto i-2: ?[i][j]:='((_fuse,i),(j,0)); endfor endfor -for i=5,6,7,8: for j=11 upto 15: ?[i][j]:='((_fuse,i),(j,0)); endfor endfor +Me:='(); Et:='(!); Pr:='(!,!); Bu:='(!,!,!); iPr:=?!:='(/_,!); tBu:=??!:='(/_,/_^60,60); %------------------------------------------------------------------------------------------------- -NH:='(N,/H~nl); NMe:=N!:='(N,/_); iPr:=Me!:='(/_,60); tBu:='(/_,/_^60,60); -SO:='(S,//O); SOO:='(S,//O^-35,//O^35); -OMe:=O!:='(O,!); OEt:=O!2:='(O,!,!); OPr:=O!3:='(O,!,!,!); OiPr:=OMe!:='(O,!,iPr); -SMe:=S!:='(S,!); SEt:=S!2:='(S,!,!); SPr:=S!3:='(S,!,!,!); SiPr:=SMe!:='(S,!,iPr); +NH:='(N,/H~nl); N!:='(N,/_); N!2:='(N,/!); SO:='(S,//O); SOO:='(S,//O^-35,//O^35); +O!:='(O,!); O!2:='(O,!,!); O!3:='(O,!,!,!); O!?!:='(O,!,?!); O!??!:='(O,!,??!); +S!:='(S,!); S!2:='(S,!,!); S!3:='(S,!,!,!); S!?!:='(S,!,?!); S!??!:='(S,!,??!); %------------------------------------------------------------------------------------------------- -COO:='(//O,!,O); COOMe:=COO!:='(COO,!); COOEt:=COO!2:='(COO,!,!); COOiPr:=COOMe!:='(COO,!,iPr); -COOPr:=COO!3:='(COO,!,!,!); COOtBu:='(COO,!,tBu); -COMe:=CO!:='(//O,!); COEt:=CO!2:='(//O,!,!); COPr:=CO!3:='(//O,!,!,!); -OCOMe:=OCO!:='(O,!,//O,!); NMeMe:=NMe!:=N!_:='(N!,!); NMeEt:=NMe!2:=N!2_:='(N!,!,!); -NHMe:=NH!:='(NH,!); NHEt:=NH!2:='(NH,!,!); NHPr:=NH!3:='(NH,!,!,!); +COO:='(//O,!,O); COO!:='(COO,!); COO!2:='(COO,!,!); COO!??:='(COO,!,?!); COO!3:='(COO,!,!,!); +CO!:='(//O,!); CO!2:='(//O,!,!); CO!3:='(//O,!,!,!); OCO!:='(O,!,//O,!); +N?!:='(N!,!); N?!2:='(N!,!,!); NH!:='(NH,!); NH!2:='(NH,!,!); NH!3:='(NH,!,!,!); +NH!?!:='(NH,!,?!); NHCO!:='(NH,!,//O,!); CONH2:='(//O,!,NH2); ??:='(/_^35,/_^-35); %------------------------------------------------------------------------------------------------- -!OH:='(!,OH); !SH:='(!,SH); !NH2:='(!,NH2); -!COMe:=!CO!:='(!,//O,!); !COEt:=!CO!2:='(!,CO!2); !COPr:=!CO!3:='(!,CO!3); -!OMe:=!O!:='(!,O!); !OEt:=!O!2:='(!,O!2); !OPr:=!O!3:='(!,O!3); !OiPr:=!OMe!:='(!,OMe!); -!SMe:=!S!:='(!,S!); !SEt:=!S!2:='(!,S!2); !SPr:=!S!3:='(!,S!3); !SiPr:=!SMe!:='(!,SMe!); -!NHMe:=!NH!:='(!,NH!); !NHEt:=!NH!2:='(!,NH!2); !NHPr:=!NH!3:='(!,NH!3); -!COOH:='(!,COOH); !COOMe:=!COO!:='(!,COO!); !COOEt:=!COO!2:='(!,COO!2); -!CH3:='(!,CH3); !CN:='(!,CN); !iPr:=!Me!:='(!,iPr); !tBu:='(!,tBu); +!OH:='(!,OH); !SH:='(!,SH); !NH2:='(!,NH2); !CO!:='(!,//O,!); !CO!2:='(!,CO!2); !CO!3:='(!,CO!3); +!O!:='(!,O!); !O!2:='(!,O!2); !O!3:='(!,O!3); +!S!:='(!,S!); !S!2:='(!,S!2); !S!3:='(!,S!3); +!NH!:='(!,NH!); !NH!2:='(!,NH!2); !NH!3:='(!,NH!3); +!COOH:='(!,COOH); !COO!:='(!,COO!); !COO!2:='(!,COO!2); +!CH3:='(!,CH3); !CN:='(!,CN); !?!:='(!,?!); !??!:='(!,??!); !CHO:='(!,CHO); !NO2:='(!,NO2); !Cl:='(!,Cl); !Br:='(!,Br); !F:='(!,F); !?3:='(!,?3); !?4:='(!,?4); !?5:='(!,?5); !?6:='(!,?6); !?7:='(!,?7); !?8:='(!,?8); !Ph:='(!,Ph); %------------------------------------------------------------------------------------------------- -!2OH:='(!,!,OH); !2COOH:='(!,!,COOH); !2NH2:='(!,!,NH2); !2CN:='(!,!,CN); !2NO2:='(!,!,NO2); -!2CH3:='(!,!,CH3); !2CHO:='(!,!,CHO); !2SH:='(!,!SH); !2tBu:='(!,!,tBu); !2Cl:='(!,!,Cl); -!2?5:='(!,!,?5); !2?6:='(!,!,?6); !2Ph:='(!,!,Ph); -%------------------------------------------------------------------------------------------------- CF2:='(/F,60,F); CCl2:='(/Cl,60,Cl); CBr2:='(/Br,60,Br); CF3:='(/F,/F^60,60,F); CCl3:='(/Cl,/Cl^60,60,Cl); CBr3:='(/Br,/Br^60,60,Br); %------------------------------------------------------------------------------------------------- +lr:='(60 for i==1 upto 10:: ,-60,60 endfor); rl:='(-60,lr); +for i=4,5,6: for j=2 upto i-2: ?[i][j]:='((_fuse,i),(j,0)); endfor endfor +for i=5,6,7,8: for j=11 upto 15: ?[i][j]:='((_fuse,i),(j,0)); endfor endfor +%------------------------------------------------------------------------------------------------- R:='("R"); R1:='("{R^1^}"); R2:='("{R^2^}"); R3:='("{R^3^}"); R4:='("R^4^"); R5:='("{R^5^}"); R6:='("R6"); R7:='("{R^7^}"); R8:='("{R^8^}"); R9:='("{R^9^}"); R10:='("R^10^"); R11:='("{R^11^}"); %------------------------------------------------------------------------------------------------- @@ -1327,14 +1334,13 @@ xCHO:='(//O,!,H); xCOOH:='(//O,!,O,!,H); xCN:='(!~tm,N); xSH:='(S,!,H); %================================================================================================= init_par(parameter_list); %------------------------------------------------------------------------------------------------- -%%message "parts_emb =" & decimal(parts_emb_start) &" => " & decimal(parts_cnt); -%%message "parts_emi =" & decimal(parts_emi_start) &" => " & decimal(parts_int); +%%%%message "parts_emb =" & decimal(parts_emb_start) &" => " & decimal(parts_cnt); +%%%%message "parts_emi =" & decimal(parts_emi_start) &" => " & decimal(parts_int); %------------------------------------------------------------------------------------------------- def expand_set= CH3:=xCH3; NH:=xNH; NH2:=xNH2; NO2:=xNO2; OH:=xOH; CHO:=xCHO; COOH:=xCOOH; CN:=xCN; SH:=xSH; !CH3:='(!,CH3); !OH:='(!,OH); !NH2:='(!,NH2); !CHO:='(!,CHO); !COOH:='(!,COOH); !CN:='(!,CN); - !SH:='(!,SH); !NO2:='(!,NO2); !2CH3:='(!,!CH3); !2OH:='(!,!OH); !2NH2:='(!,!NH2); - !2CHO:='(!,!CHO); !2COOH:='(!,!COOH); !2CN:='(!,!CN); !2SH:='(!,!SH); !2NO2:='(!,!NO2); + !SH:='(!,SH); !NO2:='(!,NO2); enddef; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% def char_size_set(expr WD)(expr HT)(expr STR)= @@ -1503,7 +1509,9 @@ vardef fdl(expr n)(expr s)=fixed_l(n)(decimal(s)) enddef; def warning(expr s)= message "% "&decimal(char_num)&fdr(3)(incr warning_cnt)&")"&s; enddef; %------------------------------------------------------------------------------------------------- def warning_bond(expr a)= - warning("A"&decimal(a)&" ( "&fixed_l(8)(strD[numS[a]])&") has"&fdr(2)(bond_cnt)&" bonds"); + if andA[a]=0: + warning("A"&decimal(a)&" ( "&fixed_l(8)(strD[numS[a]])&") has"&fdr(2)(bond_cnt)&" bonds"); + fi enddef; %------------------------------------------------------------------------------------------------- vardef cut_paren(expr ATOM)= @@ -1515,24 +1523,28 @@ enddef; %================================================================================================= def proc_calc= begingroup - save warning_cnt,MWp,knownA,bondC,tmp_wtp,bond_cnt,cnt_hide_H; - cnt_hide_H:=warning_cnt:=num_MW:=num_MI:=MWp:=tbl_atom_max:=0; + save warning_cnt,MWp,knownA,bondC,tmp_wtp,bond_cnt,hideH_cnt; + hideH_cnt:=warning_cnt:=num_MW:=num_MI:=MWp:=tbl_atom_max:=0; nE:=parts_emb_start; for i=1 upto tbl_atom_end: sumA[i]:=0; endfor for i=1 upto cntA: + if (numS[i]>str_plus)and(numS[i]<=str_minus): chargeA[i]:=1; + elseif (numS[i]>str_minus)and(numS[i]<=str_minus_end): chargeA[i]:=-1; + fi knownA:=bond_cnt:=0; nS:=numS[i]; for j=1 upto cntB: if (lineB[j]>=dl)and(lineB[j]<=dm): bondC[j]:=2; ef lineB[j]=tm: bondC[j]:=3; ef (lineB[j]=vf)or(lineB[j]=vb): bondC[j]:=0; + ef lineB[j]=0: bondC[j]:=0; else: bondC[j]:=1; fi if (sB[j]=i)or(eB[j]=i): bond_cnt:=bond_cnt+bondC[j]; fi endfor Bcnt[i]:=bond_cnt; if ((nS=0)or(nS=(C-nE)))and(bond_cnt<4): - hideH[i]:=4-bond_cnt; cnt_hide_H:=cnt_hide_H+hideH[i]; else: hideH[i]:=0; + hideH[i]:=4-bond_cnt; hideH_cnt:=hideH_cnt+hideH[i]; else: hideH[i]:=0; fi if nS=0: if bond_cnt>4: warning_bond(i) fi ef nS=(O-nE): if bond_cnt<>2: warning_bond(i) fi @@ -1565,7 +1577,8 @@ def proc_calc= if knownA=0: warning(" Unknown Str("&strD[numS[i]]&") is used "&decimal(i)); fi endfor %------------------------------------------------------------------------------------- - sumA[2]:=sumA[2]+cnt_hide_H; + sumA[2]:=sumA[2]+hideH_cnt; + if (tbl_atom_max=1)and(sumA[2]>0): tbl_atom_max:=2; fi for i=1 upto tbl_atom_max: if sumA[i]>=1: nA:=tbl_atom_wt[i]/100*sumA[i]; @@ -1640,15 +1653,15 @@ def proc_report_out= printf " Shift width * height = "& fdr(10)(minX)&" * "&fdr(10)(minY); printf " Bond length = "&fdr(3)(blen)&" Atom size = "&fdr(3)(atom_wd); printf " Atom count="&fdr(3)(cntA)&" Bond count="&fdr(3)(cntB)& - " Ring count="&fdr(3)(cntB-cntA+1)&" Hide H count="&fdr(3)(cnt_hide_H); + " Ring count="&fdr(3)(cntB-cntA+1)&" Hide H count="&fdr(3)(hideH_cnt); printf "------------------------------------------------------------------"; - printf "< NO. >( x axis , y axis )< atom >< bond >< hideH >< chg >"; + printf "< NO. >( x axis , y axis )< atom(s) >"; for i=1 upto cntA: printf " A"&fdl(4)(i)&" ("&fdr(10)(round_auto(xpart(posA[i])/blen))&" , "& - fdr(10)(round_auto(ypart(posA[i])/blen))&" ) "&fixed_l(8)(strD[numS[i]])& - " "&fdr(3)(Bcnt[i]) - &iif(hideH[i]>0,fdr(8)(hideH[i])," ") - if chargeA[i]<>0: &fdr(8)(chargeA[i]) fi; + fdr(10)(round_auto(ypart(posA[i])/blen))&" ) "& + fixed_l(12)(strD[numS[i]])&" "&fdr(3)(Bcnt[i]) + &iif(hideH[i]>0,fdr(6)(hideH[i])," ") + if chargeA[i]<>0: &fdr(4)(chargeA[i]) fi; endfor printf "------------------------------------------------------------------"; printf "< NO. >< bond (sdt)>"; -- cgit v1.2.3