diff options
author | Karl Berry <karl@freefriends.org> | 2016-08-21 21:41:46 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2016-08-21 21:41:46 +0000 |
commit | f167632e77743ca0800df913dbe56c6f032ffbaf (patch) | |
tree | b58606fc19b4dd827ab7c1bddff5542c543b4415 /Master/texmf-dist/metapost | |
parent | 61f034941d65cf39d29d8b935d96af5bd35d72b5 (diff) |
mcf2graph (21aug16)
git-svn-id: svn://tug.org/texlive/trunk@41900 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/metapost')
-rw-r--r-- | Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf b/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf index a778a1da880..b674e468a9c 100644 --- a/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf +++ b/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf @@ -1,5 +1,5 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% mcf2graph ver 3.96 Copyright (c) 2013-2016 Akira Yamaji +% mcf2graph ver 3.97 Copyright (c) 2013-2016 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, @@ -90,7 +90,7 @@ def_com(-4000)(_term,_jp_atom,_jp_atom_abs,_jp_bond,_cyc,_cyc_sB,_cyc_eB,_set_li _dl,_N,_O,_S,_H,_tmp_line,_chg_len,_get_len,_ring_len,_tmp_len,_rot_ang,_set_ang,_adj_ang,_chg_env, _tmp_env,_set_colorA,_set_colorB,_postA,_postB,_postC,_postD,_postE,_postF,_set_psA,_stack_reset, _set_clr,_set_adr,_mk_bond,_set_atom,_arg_ang,_chg_atom,_tmp_rot,_fuse,_push,_pop,_size_a); -def_com(1)(si,dl,dr,dm,tm,wf,wb,bd,bz,zf,zb,ov,dt,no,ar,vf,vb,wv,nl); +def_com(1)(si,dl,dr,dm,tm,wf,wb,bd,bz,zf,zb,dt,no,ar,vf,vb,wv,nl,si_,wf_,wb_,bd_); %------------------------------------------------------------------------------------------------- def parameter_list= sw_checklist,sw_numberA,sw_numberB,sw_mol_frame,sw_auxout,sw_solid,sw_expand,sw_MOLout, @@ -279,7 +279,7 @@ def PB(expr a,b)= cntBS:=cntBS+1; comMC[ab_num][cntBS]:=a; parMC[ab_num][cntBS]: def $$(text t)(expr e) = begingroup save cntBS; cntBS:=0; ab_num:=ab_num+1; if known e:: if numeric e:: - if (e>=si)and(e<=nl):: if e==dl:: for list==t:: PB(_dl,list) endfor + if (e>=si)and(e<=bd_):: if e==dl:: for list==t:: PB(_dl,list) endfor else:: for list==t:: PB(_set_adr,list) PB(_set_line,e) endfor fi elseif (e>=?3)and(e<=?20):: for list==t:: !?(list)(e-?3+3) endfor elseif e==Ph1:: !?(t)(6) PB(_dl,-2) PB(_dl,-4) @@ -382,8 +382,8 @@ def MCd(expr RW,RH)(expr FW,FH)(text s)= else: for i=1 upto 4: proc_skeleton; scaling; resize(RW,RH); size_setup; endfor fi fi font_setup; if sw_subst_off=1: cntA:=cntA_skeleton; cntB:=cntB_skeleton; fi - for i=1 upto cntB: if lineB[i]<>ov: draw_bond(i,sB[i],eB[i],angB[i],lineB[i]); fi endfor - for i=1 upto cntB: if lineB[i]=ov: draw_bond(i,sB[i],eB[i],angB[i],lineB[i]); fi endfor + for i=1 upto cntB: if lineB[i]<si_ : draw_bond(i,sB[i],eB[i],angB[i],lineB[i]); fi endfor + for i=1 upto cntB: if lineB[i]>=si_: draw_bond(i,sB[i],eB[i],angB[i],lineB[i]); fi endfor for i=1 upto cntA: if (sw_numberA>=1)and(i>=numberA_start)and(i<=numberA_end): if sw_numberA=2: nA:=i-numberA_start+1; @@ -605,9 +605,18 @@ if (nC>0)and(LN<>0): elseif LN=zb:wz_put(Le,sfB(Ls,ww,am),sfB(Ls,ww,ap),nB); elseif LN=dt:for i=0 step .75zebra_gap/length(Le-Ls) until 1: drawdot i[Ls,Le]; endfor elseif LN=wv:draw_wv; - elseif LN=ov:erase draw 0.15[Ls,Le]--0.85[Ls,Le] wpcs gap; draw pA Cp(nB); elseif LN=vf:draw pA Cp(nB);draw sfB(Le,gap,ANG-150)--Le--sfB(Le,gap,ANG+150) Cp(nB); - elseif LN=vb:draw pA Cp(nB);draw sfB(Ls,gap,ANG-30)--Ls--sfB(Ls,gap,ANG+30) Cp(nB); fi + elseif LN=vb:draw pA Cp(nB);draw sfB(Ls,gap,ANG-30)--Ls--sfB(Ls,gap,ANG+30) Cp(nB); + elseif LN=si_:erase draw 0.15[Ls,Le]--0.85[Ls,Le] wpcs .75gap; draw pA Cp(nB); + elseif LN=wf_:erase fill sfB(0.15[Ls,Le],.5ww,ap)--sfB(0.15[Ls,Le],.5ww,am)-- + sfB(0.85[Ls,Le],1.25ww,am)--sfB(0.85[Ls,Le],1.25ww,ap)--cycle; + fill Ls--sfB(Le,ww,am)--sfB(Le,ww,ap)--cycle; + elseif LN=wb_:erase fill sfB(0.15[Ls,Le],1.25ww,ap)--sfB(0.15[Ls,Le],1.25ww,am)-- + sfB(0.85[Ls,Le],.5ww,am)--sfB(0.85[Ls,Le],.5ww,ap)--cycle; + fill sfB(Ls,ww,am)--Le--sfB(Ls,ww,ap)--cycle; + elseif LN=bd_:erase draw 0.15[Ls,Le]--0.85[Ls,Le] wpcs 1.5gap; + draw pA withpen penrazor rotated ap scaled gap Cp(nB); + fi if (sw_numberB>=1)and(n>=numberB_start)and(n<=numberB_end): if sw_numberB=2: nB:=n-numberB_start+1; elseif sw_numberB=3: if numberB_end<cntB: nB:=numberB_end-n+1; else: nB:=cntB-n+1; fi |