summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/metapost
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2016-08-21 21:41:46 +0000
committerKarl Berry <karl@freefriends.org>2016-08-21 21:41:46 +0000
commitf167632e77743ca0800df913dbe56c6f032ffbaf (patch)
treeb58606fc19b4dd827ab7c1bddff5542c543b4415 /Master/texmf-dist/metapost
parent61f034941d65cf39d29d8b935d96af5bd35d72b5 (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.mf23
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