From 3b20e2fc53faaae132472dfb561107e62079a95e Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Mon, 5 Jun 2017 23:09:24 +0000 Subject: mcf2graph (5jun17) git-svn-id: svn://tug.org/texlive/trunk@44468 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG | 16 +- Master/texmf-dist/doc/metapost/mcf2graph/README | 2 +- .../doc/metapost/mcf2graph/mcf_exa_soc.mf | 242 +++++++++--------- .../doc/metapost/mcf2graph/mcf_example.pdf | Bin 235957 -> 235776 bytes .../doc/metapost/mcf2graph/mcf_man_soc.mf | 223 ++++++++--------- .../doc/metapost/mcf2graph/mcf_manual.pdf | Bin 468850 -> 468590 bytes .../doc/metapost/mcf2graph/mcf_manual.tex | 267 ++++++++++---------- .../doc/metapost/mcf2graph/mcf_mplib_exa.pdf | Bin 174415 -> 174090 bytes .../doc/metapost/mcf2graph/mcf_mplib_exa.tex | 99 ++++---- Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf | 271 ++++++++++++--------- 10 files changed, 590 insertions(+), 530 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 acba0eedcf9..657191730db 100644 --- a/Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG +++ b/Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG @@ -1,6 +1,20 @@ ******************************************************************************* - Changelog of mcf2graph software package by Akira Yamaji 2017-05-03 + Changelog of mcf2graph software package by Akira Yamaji 2017-06-04 ******************************************************************************* +[ver. 4.23 / 2017-06-04] + -change syntax n*,n\ + n* => n:@ + n\ => n:\ + -update MCF syntax manual + +[ver. 4.22 / 2017-05-27] + -change syntax @(),$() + @(a,b,...)c => {a,b,...}:c + $(a,b,...)c => {a,b,...}=c + -improve function ext() + add variable Bs[],Be[] + -update MCF syntax manual + [ver. 4.21 / 2017-05-03] -change brock making commands '{','}' => '|<','>|' diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/README b/Master/texmf-dist/doc/metapost/mcf2graph/README index 3e300302f68..6fdfa4bbf4b 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.21 2017-05-03 + version : 4.23 2017-06-04 E-mail : mcf2graph@gmail.com Located at : http://www.ctan.org/pkg/mcf2graph ******************************************************************************** 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 253117e3d1e..bcca33b4e03 100644 --- a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_exa_soc.mf +++ b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_exa_soc.mf @@ -1,7 +1,7 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Molecular Coding Format for mcf_example.tex by Akira Yamaji 2017.05.03 +% Molecular Coding Format for mcf_example.tex by Akira Yamaji 2017.06.04 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -input mcf2graph.mf; %%% it must be version 4.21 or later +input mcf2graph.mf; %%% it must be version 4.23 or later %------------------------------------------------------------------------- font_wd:=33mm; font_ht:=24mm; @@ -29,23 +29,23 @@ var4:="cal_MW"; tag4:="cMW"; %%%% outputformat:="png"; hppp:=vppp:=0.1; outputtemplate:="%j-%3c.png"; %*************************************************************************** beginfont("EN:Acetamiprid","MW:222.676") - MCf(<30,Ph,2:N,1:/Cl,4\,!,N,/_,!,/_,!!,N,!,CN) + MCf(<30,Ph,2:N,1:/Cl,4:\,!,N,/_,!,/_,!!,N,!,CN) endfont %*************************************************************************** beginfont("EN:Imidacloprid","MW:255.662") - MCf(<30,Ph,1:N,6:/Cl,3\,!,|,?5,2=dl,1:N,3:N,2\,NH,!,NO2) + MCf(<30,Ph,1:N,6:/Cl,3:\,!,|,?5,2=dl,1:N,3:N,2:\,NH,!,NO2) endfont %*************************************************************************** beginfont("EN:Thiamethoxam","MW:291.71") - MCf(<30,?6,@(4,6)N,2:O,6:/_,5\\,N,!,NO2,4\,!,|,?5,$(1,3)d,3:N,5:S,4:/Cl) + MCf(<30,?6,{4,6}:N,2:O,6:/_,5:\\,N,!,NO2,4:\,!,|,?5,{1,3}=dl,3:N,5:S,4:/Cl) endfont %*************************************************************************** beginfont("EN:Tebufenozide","MW:352.478") - MCf(<30,Ph,6:/!,3\,//O,!,NH,!,N,/tBu,!,//O,!,|,Ph,@(3,5)/_) + MCf(<30,Ph,6:/!,3:\,//O,!,NH,!,N,/tBu,!,//O,!,|,Ph,{3,5}:/_) endfont %*************************************************************************** beginfont("EN:Pyridaphenthion","MW:340.334") - MCf(<-30,!2,O,!,P,//S,/O!2^160>rl,!,O,!,|,?6,$(1,5)dl,@(2,3)N,4://O,3:/Ph) + MCf(<-30,!2,O,!,P,//S,/O!2^160>rl,!,O,!,|,?6,{1,5}=dl,{2,3}:N,4://O,3:/Ph) endfont %*************************************************************************** beginfont("EN:Fenitrothion","MW:277.231") @@ -53,233 +53,235 @@ beginfont("EN:Fenitrothion","MW:277.231") endfont %*************************************************************************** beginfont("EN:Permethrin","MW:391.288") - MCf(<-30,?3,2^-35:*/_,2^35:/*_,1\,!!,/Cl,!,Cl, - 3\,//O,!,O,!2,|,Ph,3\,O,-60,Ph) + MCf(<-30,?3,2^-35:*/_,2^35:/*_,1:\,!!,/Cl,!,Cl, + 3:\,//O,!,O,!2,|,Ph,3:\,O,-60,Ph) endfont %*************************************************************************** beginfont("EN:Bensultap","MW:431.598") - MCf(<30,Ph,4\,SOO,!,S,!2,N,/iPr,!2,S,!,SOO,!,Ph) + MCf(<30,Ph,4:\,SOO,!,S,!2,N,/iPr,!2,S,!,SOO,!,Ph) endfont %*************************************************************************** beginfont("EN:Azoxystorbin","MW:403.394") - MCf(<30,Ph,2:/CN,3\,O,!,|,Ph,@(4,6)N,3\,O,!,|,Ph,2\,/COO!,!!,!,O,!) + MCf(<30,Ph,2:/CN,3:\,O,!,|,Ph,{4,6}:N,3:\,O,!,|,Ph,2:\,/COO!,!!,!,O,!) endfont %*************************************************************************** beginfont("EN:Isoprothiolane","MW:290.392") - MCf(<30,!,/_,!,O,!,//O,|,!2,//O,!,O,!,/_,!,2\\,|,?5,@(2,5)S) -endfont -%*************************************************************************** + MCf(<30,!,/_,!,O,!,//O,|,!2,//O,!,O,!,/_,!,2:\\,|,?5,{2,5}:S) +endfont%*************************************************************************** beginfont("EN:Etridiazole","MW:247.518") - MCf(<18,?5,$(1,3)d,@(2,4)N,5:S,1:/O!2,3:/CCl3) + MCf(<18,?5,{1,3}=dl,{2,4}:N,5:S,1:/O!2,3:/CCl3) endfont %*************************************************************************** beginfont("EN:Oxine-Copper","MW:351.852") - MCf(Ph,4:N,5=Ph,-4\,O,-60,<90,Cu,-90,O,60,|,Ph,5=Ph,10:N, - ||,4*,&12~vf,23*,&12~vf) + MCf(Ph,4:N,5=Ph,-4:\,O,-60,<90,Cu,-90,O,60,|,Ph,5=Ph,10:N, + ||,4:@,&12~vf,23:@,&12~vf) endfont %*************************************************************************** beginfont("EN:Captan","MW:300.578") - MCf(<12,?6,6=d,3=?5,8:N,@(7,9)//O,8\,S,!,CCl3) + MCf(<12,?6,6=dl,3=?5,8:N,{7,9}://O,8:\,S,!,CCl3) endfont %*************************************************************************** beginfont("EN:Chlorothalonil","MW:265.902") - MCf(<30,Ph,@(1,2,4,6)/Cl,@(3,5)/CN) + MCf(<30,Ph,{1,2,4,6}:/Cl,{3,5}:/CN) endfont %*************************************************************************** beginfont("EN:Tetraconazole","MW:372.145") MCf(<-6, - ?5,$(2,5)d,@(1,2,4)N,4\,!3,O,!,/F^35,/F^-35,!,CF2,7\,|,Ph,@(4,6)/Cl) + ?5,{2,5}=dl,{1,2,4}:N,4:\,!3,O,!,/F^35,/F^-35,!,CF2, + 7:\,|,Ph,{4,6}:/Cl) endfont %*************************************************************************** beginfont("EN:Endosulfan","MW:406.904"); - MCf(<26,?7,7=?6[13],11*,208~wf`1.45,&8~wb,10=d,@(3,5)O,4:S,4://O, - @(8,9,10,11,12^-210,12^-150)/Cl) + MCf(<26,?7,7=?6[13],11:@,208~wf`1.45,&8~wb,10=d,{3,5}:O,4:S,4://O, + {8,9,10,11,12^-210,12^-150}:/Cl) endfont; %*************************************************************************** beginfont("EN:Flutolanil","MW:323.315") - MCf(<30,Ph,2:/CF3,3\,//O,!,NH,!,|,Ph,6:/OiPr) + MCf(<30,Ph,2:/CF3,3:\,//O,!,NH,!,|,Ph,6:/OiPr) endfont %*************************************************************************** beginfont("EN:Propiconazole","MW:342.22") - MCf(<-6,?5,$(2,5)d,@(1,3,4)N, - 4\,!2,Ph,@(-1,-3)/Cl,7*,|,?5,@(1,4)O,3:/!2^24) + MCf(<-6,?5,{2,5}=dl,{1,3,4}:N, + 4:\,!2,Ph,{-1,-3}:/Cl,7:@,|,?5,{1,4}:O,3:/!2^24) endfont %*************************************************************************** beginfont("EN:Pencycuron","MW:328.84") - MCf(<30,Ph,6:/Cl,3\,!,N,/?5,!,//O,!,NH,!,Ph) + MCf(<30,Ph,6:/Cl,3:\,!,N,/?5,!,//O,!,NH,!,Ph) endfont %*************************************************************************** beginfont("EN:Asulam","MW:230.238") - MCf(<30,Ph,6:/NH2,3\,SOO,!,NH,!,//O,!,O,!) + MCf(<30,Ph,6:/NH2,3:\,SOO,!,NH,!,//O,!,O,!) endfont %*************************************************************************** beginfont("EN:Oxadiargyl","MW:341.19") - MCf(<30,Ph,@(1,3)/Cl,4\,|,?5,2=d,@(1,2)N,4:O,5://O,-3:/tBu,#6\,O,!2,!!!) + MCf(<30,Ph,{1,3}:/Cl,4:\,|,?5,2=d,{1,2}:N,4:O,5://O,-3:/tBu,#6:\,O,!2,!!!) endfont %*************************************************************************** beginfont("EN:Oxaziclomefone","MW:376.277") - MCf(<30,?6,6=dl,4:N,2:O,1:/_,5://O,6:/Ph,4\,/_^35,/_^-35,!,|,Ph,@(3,5)/Cl) + MCf(<30,?6,6=dl,4:N,2:O,1:/_,5://O,6:/Ph,4:\,/_^35,/_^-35,!,|,Ph,{3,5}:/Cl) endfont %*************************************************************************** beginfont("EN:Cafenstrole","MW:350.437") - MCf(<30,Ph,@(2,4,6)/_,3\,SOO,!,|,?5,$(2,5)d,@(2,4,5)N,4\,//O,!,N,/!,!2) + MCf(<30,Ph,{2,4,6}:/_,3:\,SOO,!,|,?5,{2,5}=dl,{2,4,5}:N,4:\,//O,!,N,/!,!2) endfont %*************************************************************************** beginfont("EN:Cyclosulfamuron","MW:421.428") MCf(<30, - Ph,5\,//O,!,?3,4\,NH,!,SOO,!,NH,!,//O,!,NH,!,|,Ph,@(2,6)N,@(3,5)/O!) + Ph,5:\,//O,!,?3,4:\,NH,!,SOO,!,NH,!,//O,!,NH,!,|,Ph,{2,6}:N,{3,5}:/O!) endfont %*************************************************************************** beginfont("EN:Napropamide","MW:271.36") - MCf(<-30,Ph,3=Ph,10\,O,!,/_^35,/_^-35,!,//O,!,N,/!,!) + MCf(<-30,Ph,3=Ph,10:\,O,!,/_^35,/_^-35,!,//O,!,N,/!,!) endfont %*************************************************************************** beginfont("EN:Pyributicarb","MW:330.446") - MCf(<30,Ph,5:/tBu,3\,O,!,//S,!,N,/_,!,|,Ph,3:/O!) + MCf(<30,Ph,5:/tBu,3:\,O,!,//S,!,N,/_,!,|,Ph,2:N,3:/O!) endfont %*************************************************************************** beginfont("EN:Propyzamide","MW:256.126") - MCf(<30,Ph,@(1,5)/Cl,3\,//O,!,NH,!,/_^35,/_^-35,!,!!!) + MCf(<30,Ph,{1,5}:/Cl,3:\,//O,!,NH,!,/_^35,/_^-35,!,!!!) endfont %*************************************************************************** beginfont("EN:Pendimethalin","MW:281.312") - MCf(<30,Ph,@(1,2)/_,@(3,5)/NO2,4\,NH,!,/!,!2) + MCf(<30,Ph,{1,2}:/_,{3,5}:/NO2,4:\,NH,!,/!,!2) endfont %*************************************************************************** beginfont("EN:Benfluralin","MW:335.283") - MCf(<30,Ph,@(1,3)/NO2,5:/CF3,2\,N,/!,!4) + MCf(<30,Ph,{1,3}:/NO2,5:/CF3,2:\,N,/!,!4) endfont %*************************************************************************** beginfont("EN:Trinexapac-ethyl","MW:252.266") - MCf(<30,?6,@(2,4)//O,6:/COO!2,3\\,/OH,!,?3) + MCf(<30,?6,{2,4}://O,6:/COO!2,3:\\,/OH,!,?3) endfont %*************************************************************************** beginfont("EN:Buprofezin","MW:305.44") - MCf(<-30,?6,@(1,5)N,3:S,6://O,5:/iPr,4\\,N,!,tBu,1:/Ph) + MCf(<-30,?6,{1,5}:N,3:S,6://O,5:/iPr,4:\\,N,!,tBu,1:/Ph) endfont %*************************************************************************** beginfont("EN:Tricyclazole","MW:189.236") - MCf(<30,Ph,2:/_,|,-4=?5,1:N,3:S,|,-3=?5,$(2,4)d,@(2,3)N) + MCf(<30,Ph,2:/_,|,-4=?5,1:N,3:S,|,-3=?5,{2,4}=dl,{2,3}:N) endfont %*************************************************************************** beginfont("EN:Phthalide","MW:271.91") - MCf(<30,Ph,@(1,2,5,6)/Cl,|,-4=?5,2:O,3://O) + MCf(<30,Ph,{1,2,5,6}:/Cl,|,-4=?5,2:O,3://O) endfont %*************************************************************************** beginfont("EN:Probenazole","MW:223.246") - MCf(<12,Ph,|,-4=?5,-2=dl,1:SOO,2:N,3\,O,!2,!!) + MCf(<12,Ph,|,-4=?5,-2=dl,1:S,{1^35,1^-35}://O,2:N,3:\,O,!2,!!) endfont %*************************************************************************** beginfont("EN:Simetryn","MW:213.303") - MCf(<30,Ph,@(2,4,6)N,5:/S!,@(1,3)/NH!2) + MCf(<30,Ph,{2,4,6}:N,5:/S!,{1,3}:/NH!2) endfont %*************************************************************************** beginfont("EN:Rifampicin","MW:822.94") MCf(<30,Ph,6:/_^30,5:/OH,|,-6=?5,1:O,3://O,2:/*_^60, - |,-8=?6,$(2,4)dl,@(1,4)/OH, - |<,``1,-2\,NH,60,//O,-60,/_,60~dl,60,60~dl,-60, + |,-8=?6,{2,4}=dl,{1,4}:/OH, + |<,``1,-2:\,NH,60,//O,-60,/_,60~dl,60,60~dl,-60, */_,60,/*OH,-60,/*_,60,/*OH,60,*/_^30,-60, 60,/*_^30,-53,66,-53~dl,66`1.2,O,>|,, - -4:/*O!,-6*,-30,O,!,//O,!,#11\,!!,N,!,|,?6,@(1,4)N,4:/_) + -4:/*O!,-6:@,-30,O,!,//O,!,#11:\,!!,N,!,|,?6,{1,4}:N,4:/_) endfont %*************************************************************************** beginfont("EN:Wortmannin","MW:428.43") - MCf(<30,?6,$(-4,-2)?6,-4=?5,(2,7)=?5[3], - 6:O,1://O,$(7,10)d,8://O,17://O,-3=d,-1:O, - @(4,12)*/_^60,11:/*H^-60, - #5\*,60,O,!,#14\*^-25,//O,!,O,!) + MCf(<30,?6,{-4,-2}=?6,-4=?5,(2,7)=?5[3], + 6:O,1://O,{7,10}=dl,8://O,17://O,-3=d,-1:O, + {4,12}:*/_^60,11:/*H^-60, + #5:\*,60,O,!,#14:\*^-25,//O,!,O,!) endfont %*************************************************************************** beginfont("EN:Ampicillin","MW:349.405") MCf(<45,?4,-3=?5,2:N,7:S, - @(3^45,4^-45)/*H,1://O^15,5:/*COOH^-18,@(6^35,6^-35)/_, - ,4*\^75,NH,!,//O,!,/*NH2,!,Ph) + {3^45,4^-45}:/*H,1://O^15,5:/*COOH^-18,{6^35,6^-35}:/_, + ,4:*\^75,NH,!,//O,!,/*NH2,!,Ph) endfont %*************************************************************************** beginfont("EN:Validamycin","MW:497.494") - MCf(<30,?6,@(5,6)/OH,3\,-60,OH, - #4\,O,-60,|,?6,2:O,@(3,4,5)/OH,6:/!OH, - #1\,NH,!,|,?6,2=dl,@(4,5,6)/OH,3:/!OH) + MCf(<30,?6,{5,6}:/OH,3:\,-60,OH, + #4:\,O,-60,|,?6,2:O,{3,4,5}:/OH,6:/!OH, + #1:\,NH,!,|,?6,2=dl,{4,5,6}:/OH,3:/!OH) endfont %************************************************************************** beginfont("EN:Oceltamivir","MW:312.41") - MCf(<30,?6,3=d,1:/NH2,3:/COO!2,6:/NHCO!,5\~zf,O,!,/!,!2) + MCf(<30,?6,3=d,1:/NH2,3:/COO!2,6:/NHCO!,5:\*,O,!,/!,!2) endfont %*************************************************************************** beginfont("EN:Luciferin","MW:280.33") - MCf(<30,Ph,3=?5,8\,?5,$(9,16)d,@(9,14)N,@(7,11)S,1:/OH,-2:*/COOH) + MCf(<30,Ph,3=?5,8:\,?5,{9,16}=dl,{9,14}:N,{7,11}:S,1:/OH,-2:*/COOH) endfont %*************************************************************************** beginfont("EN:Chlorophyll a","MW:893.509") -MCf(<54,|<,``1,?5,$(2,5)dl,4:N,3\,54~dl,|,?5,$(2,4)dl,5:N, - -2\,54~dl,|,?5,2=d,5:N,-2\~dl,54,|,?5,5=d,5:N,-2\~dl,, - -1*,24,/*COO!^15,72,//O,,>|, - @(2,9,15,20~zf)/_,8:/!,14\,!!, - #4\`1.45,Mg,&17,-1*,&11~vb,-1*,&23~vb, - #21*,-6~wf,!2,//O,!,O,!2,!!,|,!13,@(1,5,9,13)/_) +MCf(<54,|<,``1,?5,{2,5}=dl,4:N,3:\,54~dl,|,?5,{2,4}=dl,5:N, + -2:\,54~dl,|,?5,2=d,5:N,-2:\~dl,54,|,?5,5=d,5:N,-2:\~dl,, + -1:@,24,/*COO!^15,72,//O,,>|, + {2,9,15,20~zf}:/_,8:/!,14:\,!!, + #4:\`1.45,Mg,&17,-1:@,&11~vb,-1:@,&23~vb, + #21:@,-6~wf,!2,//O,!,O,!2,!!,|,!13,{1,5,9,13}:/_) endfont %************************************************************************** beginfont("EN:Gibberellin A3","MW:346.379"); - MCf(<18,?5,3=?7,5=?6[12],8*,160`1.3,&3,13=dl,6=wf,8=wb, - 5*,40~zf`1,O,50,//O^180,&14~zb, - 2:/COOH,7://_,13:*/OH,8:/*OH,14:*/_,@(1^60,4^60)*/H) + MCf(<18,?5,3=?7,5=?6[12],8:@,160`1.3,&3,13=dl,6=wf,8=wb, + 5:@,40~zf`1,O,50,//O^180,&14~zb, + 2:/COOH,7://_,13:*/OH,8:/*OH,14:*/_,{1^60,4^60}:*/H) endfont; %************************************************************************** beginfont("EN:Cholesterol","MW:386.664") - MCf(<30,?6,$(-4,-2)?6,-4=?5,7=dl, - 1:*/OH,@(4,12)*/_^60, - 10:/*H^180,@(11,-1)/*H^-60,9:*/H^60,-1\^17,/*_,!4,/_,!) + MCf(<30,?6,{-4,-2}=?6,-4=?5,7=dl, + 1:*/OH,{4,12}:*/_^60, + 10:/*H^180,{11,-1}:/*H^-60,9:*/H^60,-1:@,17,/*_,!4,/_,!) endfont %*************************************************************************** beginfont("EN:Lycorine","MW:287.315") - MCf(<30,Ph,-4=?6,-2=?6,6=?5,(9,12)=?5[3],13=dl,8:N,@(15,17)O, + MCf(<30,Ph,-4=?6,-2=?6,6=?5,(9,12)=?5[3],13=dl,8:N,{15,17}:O, 9:/*H^180,10:*/H^60,13:*/OH,14:/*OH) endfont %************************************************************************** beginfont("EN:Tetrodotoxine","MW:319.27") - MCf(|<,``1,<60,-90,60,-30`1.15,150,60,,#3*,-135,60,-30`1.15,150,, - #10\,O,60`1.33,60,~si_,#8*,-15~si_,O, ,>|,#9*,45,-60,OH,1^120://NH, - @(5~zf^-15,7,9^-75,12,13~zf)/OH,@(2,6^180)NH) + MCf(|<,``1,<60,-90,60,-30`1.15,150,60,,#3:@,-135,60,-30`1.15,150,, + #10:\,O,60`1.33,60,~si_,#8:@,-15~si_,O, ,>|, + #9:@,45,-60,OH,1^120://NH, + {5~zf^-15,7,9^-75,12,13~zf}:/OH,{2,6^180}:NH) endfont %*************************************************************************** beginfont("EN:beta-Carotene","MW:536.888") - MCf(<30,?6,3=dl,@(3,5^35,5^-35)/_, - 4\,|,!18,$(1,3,5,7,9,11,13,15,17)dr,@(3,7,12,16)/_, - |,?6,6=d,@(6,2^35,2^-35)/_) + MCf(<30,?6,3=dl,{3,5^35,5^-35}:/_, + 4:\,|,!18,{1,3,5,7,9,11,13,15,17}=dr,{3,7,12,16}:/_, + |,?6,6=dl,{6,2^35,2^-35}:/_) endfont %************************************************************************** beginfont("EN:alfa-Tocopherol","MW:430.717") - MCf(<30,Ph,3=?6,7:O,@(1,2,5)/_,8:/*_^60,6:/OH,8\,|,!12,@(4,8)/*_,12:/_) + MCf(<30,Ph,3=?6,7:O,{1,2,5}:/_,8:/*_^60,6:/OH,8:\,|,!12,{4,8}:/*_,12:/_) endfont %************************************************************************** beginfont("EN:Quercetin","MW:302.24") - MCf(<30,Ph,3=?6,9\,Ph,9=dl,10:O,7://O,@(2,6,8,13,14)/OH) + MCf(<30,Ph,3=?6,9:\,Ph,9=dl,10:O,7://O,{2,6,8,13,14}:/OH) endfont %*************************************************************************** beginfont("EN:Limonin","MW:470.518") - MCf(<30,?6,$(-3,-4)?6,-5=?3,-2=wf,-1=wb,6=?5,-4=?6,-5=wf, - @(13,15,17,20)O,@(3,12,21)//O, - @(4~wf^60,8~zf^60,18^35,18^-35)/_,@(1^60,5^180,16^60)/*H, - 14\*,|,?5,$(1,4)dl,3:O) + MCf(<30,?6,{-3,-4}=?6,-5=?3,-2=wf,-1=wb,6=?5,-4=?6,-5=wf, + {13,15,17,20}:O,{3,12,21}://O, + {4~wf^60,8~zf^60,18^35,18^-35}:/_,{1^60,5^180,16^60}:/*H, + 14:\*,|,?5,{1,4}=dl,3:O) endfont %************************************************************************** beginfont("EN:Cromolyn","MW:468.37") MCf(<30,Ph,|,-1=?6,3=dl,1:O,4://O,2:/COOH, - #2\,O,!2,/OH,!2,O,60,Ph,|,-5=?6,3=dl,4:O,1://O,3:/COOH) + #2:\,O,!2,/OH,!2,O,60,Ph,|,-5=?6,3=dl,4:O,1://O,3:/COOH) endfont %************************************************************************** beginfont("EN:Emetine","MW:480.649") - MCf(<30,Ph,$(-4,-4)?6,8:N,@(1,6)/O!,-2:/*!,@(7^-60,12^-60)/*H, - -3\,!~zb,<-60,|,?6,5=d,2:NH,-6^-60:*/H,|,-2=?6,$(2,4)dl,@(-2,-3)/O!) + MCf(<30,Ph,{-4,-4}=?6, + 8:N,{1,6}:/O!,-2:/*!,{7^-60,12^-60}:/*H, + -3:\,!~zb,<-60,|,?6,5=d,2:NH,-6^-60:*/H,|,-2=?6,{2,4}=dl,{-2,-3}:/O!) endfont %*************************************************************************** beginfont("EN:Colchicine","MW:399.443") - MCf(<30,Ph,@(1,2,6)/O!,-4=?7,-5=?7,$(-1,-4,-6)dl,-2://O,-3:/O!, - 9\,NH,!,//O,!) + MCf(<30,Ph,{1,2,6}:/O!,-4=?7,-5=?7,{-1,-4,-6}=dl,-2://O,-3:/O!, + 9:\,NH,!,//O,!) endfont %*************************************************************************** beginfont("EN:Caffeine","MW:194.194") - MCf(<30,?6,3=d,@(2,6)N,@(2,6)/_,@(1,5)//O,|,-4=?5,2=dl,@(1,3)N,3:/_) + MCf(<30,?6,3=d,{2,6}:N,{2,6}:/_,{1,5}://O,|,-4=?5,2=dl,{1,3}:N,3:/_) endfont %************************************************************************** beginfont("EN:Acronycine","MW:321.376") @@ -288,104 +290,104 @@ beginfont("EN:Acronycine","MW:321.376") endfont %*************************************************************************** beginfont("EN:Ibotenic acid","MW:158.113") - MCf(<18,?5,4=d,3:O,2:NH,1://O,4\^-24,/NH2,!,COOH) + MCf(<18,?5,4=d,3:O,2:NH,1://O,4:@,-24,/NH2,!,COOH) endfont %************************************************************************** beginfont("EN:Piperine","MW:285.343") - MCf(<30,Ph,|,-1=?5,@(1,3)O,#4\,!!,!,!!,!,//O,!,|,?6,1:N) + MCf(<30,Ph,|,-1=?5,{1,3}:O,#4:\,!!,!,!!,!,//O,!,|,?6,1:N) endfont %*************************************************************************** beginfont("EN:Febrifugine","MW:301.346") - MCf(<30,Ph,|,-4=?6,2=d,@(1,3)N,4://O,#9\,!,//O,!,!~zf,|,?6,2:NH,-1:*/OH) + MCf(<30,Ph,|,-4=?6,2=d,{1,3}:N,4://O,#9:\,!,//O,!,!~zf,|,?6,2:NH,-1:*/OH) endfont %*************************************************************************** beginfont("EN:Mitomycine C","MW:334.332") - MCf(<30,?6,$(3,6)dl,@(2,5)//O,1:/_,|,-4=?5,1:N, + MCf(<30,?6,{3,6}=dl,{2,5}://O,1:/_,|,-4=?5,1:N, #6:/NH2,|,-3=?5,|,-2=?3,-1=wb,-2=wf,-1:NH, - #8:/*O!^35,#9\`1^17.9,!,O,!,//O,!,NH2) + #8:/*O!^35,#9:@,17.9`1,!,O,!,//O,!,NH2) endfont %*************************************************************************** beginfont("EN:Podophyllotoxin","MW:414.41"); - MCf(<0,?5,@(2,5)O,-3=Ph2,-3=?6,-3=?5,-2:O,-1=wb,-3://O, - 10\*,Ph,@(-2,-3,-4)/O!,#13:/*OH,@(#11~wf^-60,#12~zf^60)/H) + MCf(<0,?5,{2,5}:O,-3=Ph2,-3=?6,-3=?5,-2:O,-1=wb,-3://O, + 10:\*,Ph,{-2,-3,-4}:/O!,#13:/*OH,{#11~wf^-60,#12~zf^60}:/H) endfont; %*************************************************************************** beginfont("EN:Warfarin","MW:308.333"); - MCf(<30,Ph,3=?6,8=dl,10:O,7:/OH,9://O,8\,/Ph`1,60,!,//O,!) + MCf(<30,Ph,3=?6,8=dl,10:O,7:/OH,9://O,8:\,/Ph`1,60,!,//O,!) endfont; %*************************************************************************** beginfont("EN:Genistein","MW:270.24"); - MCf(<30,Ph,3=?6,9=dl,10:O,@(2,6)/OH,7://O,8\,Ph,-3:/OH) + MCf(<30,Ph,3=?6,9=dl,10:O,{2,6}:/OH,7://O,8:\,Ph,-3:/OH) endfont; %*************************************************************************** beginfont("EN:Baicalein","MW:270.24"); - MCf(<30,Ph,3=?6,9=dl,10:O,@(1,2,6)/OH,7://O,8\,Ph) + MCf(<30,Ph,3=?6,9=dl,10:O,{1,2,6}:/OH,7://O,8:\,Ph) endfont; %*************************************************************************** beginfont("EN:Reserpine","MW:608.688"); MCf(<54,Ph,-4=?5,-2=?6,-4=?6,-3=?6,9=dl,11:N,7:NH,10:*/H^-60, - @(15^-60,16^60)/*H, - #20*\,O,!,//O,!,|,Ph,@(-2,-3,-4)/O!,@(#1,#19~zf>rl)/O!, - #18*\,//O,!,O,!) + {15^-60,16^60}:/*H, + #20:*\,O,!,//O,!,|,Ph,{-2,-3,-4}:/O!,{#1,#19~zf>rl}:/O!, + #18:*\,//O,!,O,!) endfont; %*************************************************************************** beginfont("EN:Nicotine","MW:162.23"); - MCf(<30,Ph,2:N,4\,|,?5,2:N,2:/_) + MCf(<30,Ph,2:N,4:\,|,?5,2:N,2:/_) endfont; %*************************************************************************** beginfont("EN:Rotenone","MW:394.423"); - MCf(<-60,?5,$(-3,-2,-3,-4)?6,$(7,9,-2,-4)d,$(3,17)dr, - @(2,13,16)O,10://O,@(11^-60,12^60)*/H,@(-2,-3)/O!,1*\,/_,!!) + MCf(<-60,?5,{-3,-2,-3,-4}=?6,{7,9,-2,-4}=dl,{3,17}=dr, + {2,13,16}:O,10://O,{11^-60,12^60}:*/H,{-2,-3}:/O!,1:*\,/_,!!) endfont; %*************************************************************************** beginfont("EN:Pyrethrin I","MW:328.452"); - MCf(<30,?3,@(3^35~wf,3^-35~zf)/_,1*\,!!,iPr, - 2\*,//O,!,O,-36~zb,|,?5,-2=d,-1:/_,-3://O,-2\,!4,$(-1,-3)d) + MCf(<30,?3,{3^35~wf,3^-35~zf}:/_,1:*\,!!,iPr, + 2:\*,//O,!,O,-36~zb,|,?5,-2=d,-1:/_,-3://O,-2:\,!4,{-1,-3}=dl) endfont; %*************************************************************************** beginfont("EN:Erythromycin","MW:733.937"); MCf(<30,|<,``1,<-120,60,60,60,-60,60,60,-60,60,60,60,-60,60,60,>|,&1, - 14:O,13:/*!,@(1,9)//O,@(2,10)*/_,@(4,6^-35,8,12^35)/*_, - @(6^35,11,12^-35)*/OH, - #3\*,O,30,|,?6`.7,2:O,@(3,5^35)/_,4:/OH,5^-35:/O!, - #5\*^30`1.7,O,!,|,?6`.7,6:O,5:/_,2:/OH,3:/NMe!) + 14:O,13:/*!,{1,9}://O,{2,10}:*/_,{4,6^-35,8,12^35}:/*_, + {6^35,11,12^-35}:*/OH, + #3:\*,O,30,|,?6`.7,2:O,{3,5^35}:/_,4:/OH,5^-35:/O!, + #5:\*^30`1.7,O,!,|,?6`.7,6:O,5:/_,2:/OH,3:/NMe!) endfont; %************************************************************************** beginfont("EN:Paclitaxel","MW:853.918") - MCf(?6,5=d,3*,|<,``1,36,45,45,45,45,>|,,-4=?6,-4=?4,||,-1=wb,-3=wf,-1:O, - @(4^35,4^-35,6)/_,@(3^-60,15)*/OH,8:/*H^-60,9:*/_^60,10://O, - #1\,O,!,//O,!,*/OH,!,/Ph,60~wf,NH,-60,//O,60,Ph, - #7\*,O,-45,//O,60,Ph,#11*\,O,-60,//O,60,#12\*^-15,O,60,//O,-60) + MCf(?6,5=d,3:@,|<,``1,36,45,45,45,45,>|,,-4=?6,-4=?4,||,-1=wb,-3=wf,-1:O, + {4^35,4^-35,6}:/_,{3^-60,15}:*/OH,8:/*H^-60,9:*/_^60,10://O, + #1:\,O,!,//O,!,*/OH,!,/Ph,60~wf,NH,-60,//O,60,Ph, + #7:\*,O,-45,//O,60,Ph,#11:*\,O,-60,//O,60,#12:\*^-15,O,60,//O,-60) endfont %************************************************************************** beginfont("EN:Mevastatin","MW:390.52") MCf(<30,?6,2=d,4:*/H^60,|,-4=?6,2=d,9:*/_, - #10*\,!,60~wb,|,?6,6:O,-2://O,-4:/*OH,#5\*,O,60,//O,!,*/_,!2) + #10:*\,!,60~wb,|,?6,6:O,-2://O,-4:/*OH,#5:\*,O,60,//O,!,*/_,!2) endfont %*************************************************************************** beginfont("EN:Sesamine","MW:354.35") - MCf(<54,?5,1=?5,@(4,7)O,@(1^-54,2^54)*/H, - #5*\^-12,Ph,|,-3=?5,@(-1,-3)O,#8*\^-12,Ph,|,-3=?5,@(-1,-3)O) + MCf(<54,?5,1=?5,{4,7}:O,{1^-54,2^54}:*/H, + #5:*\^-12,Ph,|,-3=?5,{-1,-3}:O,#8:*\^-12,Ph,|,-3=?5,{-1,-3}:O) endfont %************************************************************************** beginfont("EN:Morphine","MW:285.343") MCf(<30,Ph,2=?6,-4=?6,(1,12)=?5[2],-1:O,-1=zb, - 7*,60~wf`0.75,70~si_`1.3,45,N,/_,&9~wb, + 7:@,60~wf`0.75,70~si_`1.3,45,N,/_,&9~wb, 15=d,6:/OH,8^180:*/H,12:/*OH) endfont %************************************************************************** beginfont("EN:Capsaicin","MW:305.418") - MCf(<30,Ph,1:/OH,6:/O!,4\,!,NH,!,//O,|,!8,-3=d,-1:/_) + MCf(<30,Ph,1:/OH,6:/O!,4:\,!,NH,!,//O,|,!8,-3=d,-1:/_) endfont %*************************************************************************** beginfont("EN:Quinine","MW:324.424") MCf(<30,Ph,3=Ph,7:N,6:/O!, - 10\,*/OH,/H~zf^-60,!,|,?6,2:N,1:*/H^60,4*\,!!,2*,165~zf,60,&5~zb) + 10:\,*/OH,/H~zf^-60,!,|,?6,2:N,1:*/H^60,4:*\,!!,2:@,165~zf,60,&5~zb) endfont %*************************************************************************** beginfont("EN:Atoropin","MW:289.375") MCf(<-30,O,!,//O,!,!,Ph, - #1\~zb^-120,|,?7`1.1,6*\^190`1.25,N,/_,&3~wb,#3:/!OH~wv) + #1:\~zb^-120,|,?7`1.1,6:*\^190`1.25,N,/_,&3~wb,#3:/!OH~wv) endfont %*************************************************************************** bye diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.pdf b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.pdf index 753b09765a1..77662a0c034 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 793bc5f3bb8..66bc6f1a257 100644 --- a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc.mf +++ b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc.mf @@ -1,7 +1,7 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Molecular Coding Format file for mcf_manual.tex by Akira.Yamaji 2017.05.03 +% Molecular Coding Format file for mcf_manual.tex by Akira.Yamaji 2017.05.24 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -input mcf2graph.mf; %% it must be version 4.21 or later +input mcf2graph.mf; %% it must be version 4.23 or later %------------------------------------------------------------------------ sw_auxout:=0; sw_mol_frame:=0; @@ -27,11 +27,11 @@ beginfont("EN:Valine") endfont %*********************************************************************** beginfont("EN:Leucine") - MCf(<30,NH2,!0,!,COOH,2\,!,/_,!) + MCf(<30,NH2,!0,!,COOH,2:\,!,/_,!) endfont %*********************************************************************** beginfont("EN:Isoleucine") - MCf(<30,NH2,!0,!,COOH,2\,/_,!2) + MCf(<30,NH2,!0,!,COOH,2:\,/_,!2) endfont %*********************************************************************** beginfont("EN:Serine") @@ -39,7 +39,7 @@ beginfont("EN:Serine") endfont %*********************************************************************** beginfont("EN:Threonine") - MCf(<30,NH2,!0,!,COOH,2\,/_,!,OH) + MCf(<30,NH2,!0,!,COOH,2:\,/_,!,OH) endfont %*********************************************************************** beginfont("EN:Cysteine") @@ -47,7 +47,7 @@ beginfont("EN:Cysteine") endfont %*********************************************************************** beginfont("EN:Methionine") - MCf(<30,NH2,!0,!,COOH,2\,!2,SMe) + MCf(<30,NH2,!0,!,COOH,2:\,!2,SMe) endfont %*********************************************************************** beginfont("EN:Phenylalanine") @@ -55,11 +55,11 @@ beginfont("EN:Phenylalanine") endfont %*********************************************************************** beginfont("EN:Tyrosine") - MCf(<30,NH2,!0,!,COOH,2\,!,Ph,-3:/OH) + MCf(<30,NH2,!0,!,COOH,2:\,!,Ph,-3:/OH) endfont %*********************************************************************** beginfont("EN:Triptophan") - MCf(<30,NH2,!0,!,COOH,2\,!,<24,|,?5,-4=Ph,2=dr,5=dl,4:NH) + MCf(<30,NH2,!0,!,COOH,2:\,!,<24,|,?5,-4=Ph,2=dr,5=dl,4:NH) endfont %*********************************************************************** beginfont("EN:Prorine") @@ -67,11 +67,11 @@ beginfont("EN:Prorine") endfont %*********************************************************************** beginfont("EN:Glutamine") - MCf(<30,NH2,!0,!,COOH,2\`1,-45,-45,//O,!,NH2) + MCf(<30,NH2,!0,!,COOH,2:\`1,-45,-45,//O,!,NH2) endfont %*********************************************************************** beginfont("EN:Asparagine") - MCf(<30,NH2,!0,!,COOH,2\,!,//O,!,NH2) + MCf(<30,NH2,!0,!,COOH,2:\,!,//O,!,NH2) endfont %*********************************************************************** beginfont("EN:Aspartic acid") @@ -79,19 +79,19 @@ beginfont("EN:Aspartic acid") endfont %*********************************************************************** beginfont("EN:Glutamic acid") - MCf(<30,NH2,!0,!,COOH,2\,!2,COOH) + MCf(<30,NH2,!0,!,COOH,2:\,!2,COOH) endfont %*********************************************************************** beginfont("EN:Lysine") - MCf(<30,NH2,!0,!,COOH,2\,!4,NH2) + MCf(<30,NH2,!0,!,COOH,2:\,!4,NH2) endfont %*********************************************************************** beginfont("EN:Arginine") - MCf(<30,NH2,!0,!,COOH,2\,-45,-45,60,NH,!,//NH,!,NH2) + MCf(<30,NH2,!0,!,COOH,2:\,-45,-45,60,NH,!,//NH,!,NH2) endfont %*********************************************************************** beginfont("EN:Hystidine") - MCf(<30,NH2,!0,!,COOH,2\,!,|,?5,$(1,3)dl,3:N,5:NH) + MCf(<30,NH2,!0,!,COOH,2:\,!,|,?5,{1,3}=dl,3:N,5:NH) endfont %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% font_wd:=60mm; @@ -112,7 +112,7 @@ beginfont("EN:Chain 1") ratio_chain_ring:=1; %---------------------------------------------------------------------- MCf(<30,-60,60,-90,120,-90,60, - @(1^-60,2^60,3^-45,4^30,5^-45,6^60)/_~dt`.4 + {1^-60,2^60,3^-45,4^30,5^-45,6^60}:/_~dt`.4 ) endfont %*********************************************************************** @@ -123,7 +123,7 @@ beginfont("EN:Chain 2") ratio_chain_ring:=1; %---------------------------------------------------------------------- MCf(<30,!6, - @(1^-60,2^60,3^-60,4^60,5^-60,6^60)/_~dt`.6 + {1^-60,2^60,3^-60,4^60,5^-60,6^60}:/_~dt`.6 ) endfont %*********************************************************************** @@ -134,7 +134,7 @@ beginfont("EN:Jump and Branch") sw_numberA:=1; ratio_chain_ring:=1; %---------------------------------------------------------------------- - MCf(<30,!6,3*,0,!,5*,-30) + MCf(<30,!6,3:@,0,!,5:@,-30) endfont %*********************************************************************** beginfont("EN:Jump and Branch") @@ -144,7 +144,7 @@ beginfont("EN:Jump and Branch") sw_clip:=1; ratio_chain_ring:=1; %---------------------------------------------------------------------- - MCf(<30,!6,3\,!) + MCf(<30,!6,3:\,!) endfont %*********************************************************************** beginfont("EN:branch1") @@ -155,7 +155,7 @@ beginfont("EN:branch1") numberA_end:=9; ratio_chain_ring:=1; %---------------------------------------------------------------------- - MCf(<-30,!8,2\,!,4*\,!,6\*,!,8\\,!) + MCf(<-30,!8,2:\,!,4:*\,!,6:\*,!,8:\\,!) endfont %*********************************************************************** beginfont("EN:branch2") @@ -166,7 +166,7 @@ beginfont("EN:branch2") numberA_end:=7; ratio_chain_ring:=1; %---------------------------------------------------------------------- - MCf(<-30,!6,2\~dr,!,4\`1.5,-90,6\^15,-60) + MCf(<-30,!6,2:\~dr,!,4:\`1.5,-90,6:@,15,-60) endfont %*********************************************************************** beginfont("EN:Connect atom") @@ -176,7 +176,7 @@ beginfont("EN:Connect atom") sw_numberA:=1; ratio_chain_ring:=1; %---------------------------------------------------------------------- - MCf(<30,!6,3\,!,&5) + MCf(<30,!6,3:\,!,&5) endfont %*********************************************************************** beginfont("EN:ring") @@ -194,7 +194,7 @@ beginfont("EN:rotate 1") sw_clip:=1; sw_numberB:=1; numberB_end:=5; - MCf(``1,0,0,<90,0,<-90,0,0,$(1,2,3,4,5)vf,@(3,4^180)/_~dt`.5) + MCf(``1,0,0,<90,0,<-90,0,0,{1,2,3,4,5}=vf,{3,4^180}:/_~dt`.5) endfont %*********************************************************************** beginfont("EN:change bond 1") @@ -249,14 +249,14 @@ beginfont("EN:change bond 5") margin_top_bottom:=3mm; sw_clip:=1; ratio_chain_ring:=1; - MCf(<30,!7,$(2,4,6)dr) + MCf(<30,!7,{2,4,6}=dr) endfont %*********************************************************************** beginfont("EN:over line") sw_clip:=1; font_ht:=20mm; ratio_chain_ring:=1; - MCf(<-30,!8,!,60,90`8,@(2~si_,4~wf_,6~wb_,8~bd_)/_`2) + MCf(<-30,!8,!,60,90`8,{2~si_,4~wf_,6~wb_,8~bd_}:/_`2) endfont %*********************************************************************** beginfont("EN:change bond length1") @@ -276,7 +276,7 @@ beginfont("EN:change ring length") font_ht:=20mm; sw_clip:=1; sw_numberB:=1; - MCf(?6,4\,?6`1.2) + MCf(?6,4:\,?6`1.2) endfont %*********************************************************************** beginfont("EN:Insert atom") @@ -287,41 +287,41 @@ endfont %*********************************************************************** beginfont("EN:change atom") font_ht:=18mm; - MCa(.5,1)(<30,!6,2:O,@(3,5)N) + MCa(.5,1)(<30,!6,2:O,{3,5}:N) sw_numberA:=1; - MCa(.5,.05)(<30,!6,2:O,@(3,5)N) + MCa(.5,.05)(<30,!6,2:O,{3,5}:N) endfont %*********************************************************************** beginfont("EN:change atom brock address 1") font_wd:=70mm; font_ht:=15mm; - MCa(0,.5)(?6,4\,|,?6,2:O) + MCa(0,.5)(?6,4:\,|,?6,2:O) sw_numberA:=1; - MCd(1,.88)(1,.5)(?6,4\,?6) + MCd(1,.88)(1,.5)(?6,4:\,?6) endfont %*********************************************************************** beginfont("EN:change atom brock address 2") font_wd:=70mm; font_ht:=15mm; - MCa(0,.5)(?6,4\,|,?6,||,2:N) + MCa(0,.5)(?6,4:\,|,?6,||,2:N) sw_numberA:=1; - MCd(1,.88)(1,.5)(?6,4\,?6) + MCd(1,.88)(1,.5)(?6,4:\,?6) endfont %*********************************************************************** beginfont("EN:change atom absolute address") font_wd:=70mm; font_ht:=15mm; - MCa(0,.5)(?6,4\,?6,#2:N) + MCa(0,.5)(?6,4:\,?6,#2:N) sw_numberA:=1; - MCd(1,.88)(1,.5)(?6,4\,?6) + MCd(1,.88)(1,.5)(?6,4:\,?6) endfont %*********************************************************************** beginfont("EN:change atom relative adress") font_wd:=70mm; font_ht:=15mm; - MCa(0,.5)(?6,4\,?6,-2:N) + MCa(0,.5)(?6,4:\,?6,-2:N) sw_numberA:=3; - MCd(1,.88)(1,.5)(?6,4\,?6) + MCd(1,.88)(1,.5)(?6,4:\,?6) endfont %*********************************************************************** beginfont("EN:fused ring") @@ -329,7 +329,7 @@ beginfont("EN:fused ring") margin_top_bottom:=1.5mm; sw_clip:=1; sw_numberB:=1; - MCf(<30,?6,3=?6,$(3)dt,$(7,8,9,10,11)bd) + MCf(<30,?6,3=?6,3=dt,{7,8,9,10,11}=bd) endfont %----------------------------------------------------------------------- beginfont("EN:change ring length") @@ -337,7 +337,8 @@ beginfont("EN:change ring length") font_ht:=25mm; sw_clip:=1; sw_numberB:=1; - MCf(?6,4\,?6`1.2,5=?6,11=?6,$(14,15,16,17,18,19,20,21,22,23)bd,$(5,11)dt) + MCf(?6,4:\,?6`1.2,5=?6,11=?6, + {14,15,16,17,18,19,20,21,22,23}=bd,{5,11}=dt) endfont %----------------------------------------------------------------------- beginfont("EN:fused large 6 ring") @@ -345,7 +346,7 @@ beginfont("EN:fused large 6 ring") margin_top_bottom:=1.5mm; sw_numberB:=1; sw_clip:=1; - MCf(<30,?6,3=?6[13],$(3)dt,$(7,8,9,10,11)bd) + MCf(<30,?6,3=?6[13],3=dt,{7,8,9,10,11}=bd) endfont %----------------------------------------------------------------------- beginfont("EN:fuse multi ring") @@ -353,24 +354,24 @@ beginfont("EN:fuse multi ring") font_ht:=20mm; sw_numberB:=1; sw_clip:=1; - MCf(<30,?6,$(-3,-4,-4,-2,-2,-4,-4)?6,$(4,8,13,20,25,28,33)dt) + MCf(<30,?6,{-3,-4,-4,-2,-2,-4,-4}=?6,{4,8,13,20,25,28,33}=dt) endfont %*********************************************************************** beginfont("EN:fused ring 2") font_wd:=75mm; font_ht:=20mm; sw_numberB:=1; - MCa( 0,.5)(<30,?6,3=?6,(11,4)=?6[4],$(11,4)dt,$(12,13,14,15)bd) - MCd(1,.9)(.5,.5)(<30,?6,3=?6,(11,4)=?5[3],$(11,4)dt,$(12,13,14)bd) - MCd(1,.9)( 1,.5)(<30,?6,3=?6,(11,4)=?4[2],$(11,4)dt,$(12,13)bd) + MCa( 0,.5)(<30,?6,3=?6,(11,4)=?6[4],{11,4}=dt,{12,13,14,15}=bd) + MCd(1,.9)(.5,.5)(<30,?6,3=?6,(11,4)=?5[3],{11,4}=dt,{12,13,14}=bd) + MCd(1,.9)( 1,.5)(<30,?6,3=?6,(11,4)=?4[2],{11,4}=dt,{12,13}=bd) endfont %*********************************************************************** beginfont("EN:fused ring 3") font_ht:=20mm; margin_top_bottom:=2mm; sw_numberB:=1; - MCa(0,1)(?6,$(3,10)?6,(16,4)=?6[3],$(16,4)dt,$(17,18,19)bd) - MCa(1,0)(?6,$(3,10)?6,(16,4)=?5[2],$(16,4)dt,$(17,18)bd) + MCa(0,1)(?6,{3,10}=?6,(16,4)=?6[3],{16,4}=dt,{17,18,19}=bd) + MCa(1,0)(?6,{3,10}=?6,(16,4)=?5[2],{16,4}=dt,{17,18}=bd) endfont %*********************************************************************** beginfont("EN:fused ring 4") @@ -378,7 +379,7 @@ beginfont("EN:fused ring 4") font_ht:=22mm; margin_top_bottom:=2mm; sw_numberB:=1; - MCf(<-30,?6,$(3,10,15)?6,(21,4)=?6[2],$(21,4)dt,$(22,23)bd) + MCf(<-30,?6,{3,10,15}=?6,(21,4)=?6[2],{21,4}=dt,{22,23}=bd) endfont %*********************************************************************** beginfont("EN:Spiro ring ") @@ -388,7 +389,7 @@ beginfont("EN:Spiro ring ") sw_numberA:=1; numberA_end:=7; ratio_chain_ring:=1; - MCf(<30,!6,4*,?5) + MCf(<30,!6,4:@,?5) endfont %*********************************************************************** beginfont("EN:substituent 1") @@ -424,7 +425,7 @@ beginfont("EN:substituent 4") sw_clip:=1; margin_top_bottom:=2mm; sw_numberA:=1; numberA_end:=7; - MCf(<-30,!6`1,@(2~wf,4~zf,6^-30)/_) + MCf(<-30,!6`1,{2~wf,4~zf,6^-30}:/_) endfont %*********************************************************************** beginfont("EN:substituent 5") @@ -432,7 +433,7 @@ beginfont("EN:substituent 5") margin_top_bottom:=2mm; sw_clip:=1; sw_numberA:=1; numberA_end:=8; - MCf(<30,!7`1,@(3)/*_`2^30,5:*/!2>lr,7:*/!2>rl) + MCf(<30,!7`1,3:/*_`2^30,5:*/!2>lr,7:*/!2>rl) endfont %*********************************************************************** beginfont("EN:chain strech direction mode 1") @@ -440,8 +441,8 @@ beginfont("EN:chain strech direction mode 1") sw_clip:=1; ratio_chain_ring:=1; MCf( - ?4,@(3^-90,3^-30,3^90)/'(!3,"{hz}")>hz, - @(1^-60,1`1.5,1^60)/'(!2,"{vt}")>vt + ?4,{3^-90,3^-30,3^90}:/'(!3,"{hz}")>hz, + {1^-60,1`1.5,1^60}:/'(!2,"{vt}")>vt ) endfont %*********************************************************************** @@ -450,8 +451,8 @@ beginfont("EN:chain strech direction mode 2") sw_clip:=1; ratio_chain_ring:=1; MCf( - <30,!6,@(3^-30,3,3^30)/'(!,!,!,"{lr}")>lr, - @(5^-30,5,5^30)/'(!,!,!,"{rl}")>rl + <30,!6,{3^-30,3,3^30}:/'(!,!,!,"{lr}")>lr, + {5^-30,5,5^30}:/'(!,!,!,"{rl}")>rl ) endfont %*********************************************************************** @@ -459,8 +460,8 @@ beginfont("EN:chain strech direction mode 3") font_ht:=25mm; sw_clip:=1; ratio_chain_ring:=1; - MCf(<-30,!6,@(6>45)/'(!3,"{45}"), - @(3>'(90,-90,90))/'(!3,"{'(90,-90,90)}") + MCf(<-30,!6,{6>45}:/'(!3,"{45}"), + {3>'(90,-90,90)}:/'(!3,"{'(90,-90,90)}") ) endfont %*********************************************************************** @@ -474,7 +475,7 @@ beginfont("EN:Change color") font_ht:=20mm; sw_clip:=1; margin_left_right:=5mm; - MCf(<30,Ph,@(2,5)N,2:red,5:blue,3=green) + MCf(<30,Ph,{2,5}:N,2:red,5:blue,3=green) endfont %*********************************************************************** beginfont("EN:Make brock") @@ -502,7 +503,7 @@ beginfont("EN:User definition") font_ht:=15mm; sw_clip:=1; iBuOH:='(!,/_,!,OH); - MCf(<30,?6,@(4,6)/iBuOH) + MCf(<30,?6,{4,6}:/iBuOH) endfont %*********************************************************************** beginfont("EN:Inline definition") @@ -517,8 +518,8 @@ beginfont("EN:Font size") font_ht:=20mm;% sw_font_frame:=1; MCf(<30, - ?6,-4=?5,$(3,8)dl,@(2,6,7,9)N, - @(2,6,9)/_,@(1,5)//O) + ?6,-4=?5,{3,8}=dl,{2,6,7,9}:N, + {2,6,9}:/_,{1,5}://O) endfont %*********************************************************************** beginfont("EN:margin_left_right") @@ -564,11 +565,11 @@ endfont beginfont("EN:offset_atom") font_ht:=14mm; offset_atom:=0.0pt; - MCa(0.08, .5)(<30,?6,@(3)O) + MCa(0.08, .5)(<30,?6,3:O) offset_atom:=0.8pt; %<<== default - MCa(.5, .5)(<30,?6,@(3)O) + MCa(.5, .5)(<30,?6,3:O) offset_atom:=2.0pt; - MCa(0.92, .5)(<30,?6,@(3)O) + MCa(0.92, .5)(<30,?6,3:O) endfont %*********************************************************************** beginfont("EN:offset_wedge") @@ -576,7 +577,7 @@ beginfont("EN:offset_wedge") font_ht:=14mm; MCa(0.08, .5)(<30,?6,5:*/_) offset_wedge:=0.4pt; %<<== default - MCa(.5, .5)(<30,?6,5:*/_) + MCa( .5, .5)(<30,?6,5:*/_) offset_wedge:=1.0pt; MCa(0.92, .5)(<30,?6,5:*/_) endfont @@ -587,7 +588,7 @@ beginfont("EN:max_bond_length") max_bond_length:=6mm; MCa(0, .5)(<30,Ph) max_bond_length:=8mm; - MCa(.4, .5)(<30,Ph) + MCa(.4,.5)(<30,Ph) max_bond_length:=20mm; %<<== default MCa(1, .5)(<30,Ph) endfont @@ -625,11 +626,11 @@ endfont beginfont("EN:ratio_atom_bond") font_ht:=15mm; ratio_atom_bond:=0.25; - MCa(0.08, .5)(<30,?6,@(3)O) + MCa(0.08, .5)(<30,?6,3:O) ratio_atom_bond:=0.33; %<<== default - MCa(.5, .5)(<30,?6,@(3)O) + MCa(.5, .5)(<30,?6,3:O) ratio_atom_bond:=0.45; - MCa(0.92, .5)(<30,?6,@(3)O) + MCa(0.92, .5)(<30,?6,3:O) endfont %*********************************************************************** beginfont("EN:ratio_wedge_bond") @@ -646,11 +647,11 @@ beginfont("EN:ratio_atomgap_atom") font_ht:=8mm; sw_atom_frame:=1; ratio_atomgap_atom:=0.00; - MCa(0, .5)(<-30,!2,@(2)O) + MCa(0, .5)(<-30,!2,2:O) ratio_atomgap_atom:=0.050; %<<== default - MCa(.5, .5)(<-30,!2,@(2)O) + MCa(.5, .5)(<-30,!2,2:O) ratio_atomgap_atom:=0.12; - MCa(1, .5)(<-30,!2,@(2)O) + MCa(1, .5)(<-30,!2,2:O) endfont %*********************************************************************** beginfont("EN:ratio_chain_ring") @@ -900,7 +901,7 @@ beginfont("EN:EXT()") font_ht:=30mm; ratio_bond_width:=0.065; sw_solid:=1; - MCa(0.1,0.5)(<-210,60`1,60`1,60`1,$(1,3)dl,1:/R1,4:/R2^-60) + MCa(0.1,0.5)(<-210,60`1,60`1,60`1,{1,3}=dl,1:/R1,4:/R2^-60) ext( defaultscale:=0.6; label.bot("Diene",p0+(0.5wd,0)); @@ -924,8 +925,9 @@ beginfont("EN:ext()") font_ht:=20mm; MCd(1,0.7)(0,0.5)(<30,?6,3=dl,4:/CH3) ext( + B7:=0.37[Bs7,Be7]; label.top("+",A7); - drawarrow B3..((B7-B3) scaled 0.7 rotated -45 shifted B3)..B7; + drawarrow B3..((B7-B3) scaled 0.6 rotated -45 shifted B3)..B7; ) MCd(1,0.7)(1,0.5)(<30,?6,4://CH3) ext( @@ -938,7 +940,7 @@ sw_clip:=1; %*************************************************************************** beginfont("EN:Acetamiprid","MW:222.676") font_ht:=20mm; - MCf(<30,Ph,2:N,1:/Cl,4\,!,N,/_,!,/_,!!,N,!,CN) + MCf(<30,Ph,2:N,1:/Cl,4:\,!,N,/_,!,/_,!!,N,!,CN) endfont %*************************************************************************** beginfont("EN:Fenitrothion","MW:277.231") @@ -948,116 +950,115 @@ endfont %*************************************************************************** beginfont("EN:Permethrin","MW:391.288") font_ht:=25mm; - MCf(<-30,?3,2^-35:*/_,2^35:/*_,1\,!!,/Cl,!,Cl, - 3\,//O,!,O,!2,|,Ph,3\,O,-60,Ph) + MCf(<-30,?3,2^-35:*/_,2^35:/*_,1:\,!!,/Cl,!,Cl, + 3:\,//O,!,O,!2,Ph,-4:\,O,-60,Ph) endfont %*************************************************************************** beginfont("EN:Endosulfan","MW:406.904"); font_ht:=25mm; - MCf(<26,?7,7=?6[13],11*,208~wf`1.45,&8~wb,10=d,@(3,5)O,4:S,4://O, - @(8,9,10,11,12^-210,12^-150)/Cl) + MCf(<26,?7,7=?6[13],11:@,208~wf`1.45,&8~wb,10=d,{3,5}:O,4:S,4://O, + {8,9,10,11,12^-210,12^-150}:/Cl) endfont; %*************************************************************************** beginfont("EN:Luciferin","MW:280.33") - MCf(<30,Ph,3=?5,8\,?5,$(9,16)d, - @(9,14)N,@(7,11)S,1:/OH,-2:*/COOH) + MCf(<30,Ph,3=?5,8:\,?5,{9,16}=dl, + {9,14}:N,{7,11}:S,1:/OH,-2:*/COOH) endfont %*************************************************************************** beginfont("EN:Warfarin","CAS:81-81-2","FM:C19H16O4","MW:308.33") font_ht:=25mm; - MCf(<30,Ph,3=?6,8=dl,10:O,7:/OH,9://O,8\,/Ph`1,60,!,//O,!) + MCf(<30,Ph,3=?6,8=dl,10:O,7:/OH,9://O,8:\,/Ph`1,60,!,//O,!) endfont %*************************************************************************** beginfont("EN:Limonin") font_ht:=30mm; - MCf(<30,?6,$(-3,-4)?6,-5=?3,-2=wf,-1=wb,6=?5,-4=?6,-5=wf, - @(13,15,17,20)O,@(3,12,21)//O, - @(4~wf^60,8~zf^60,18^35,18^-35)/_,@(1^60,5^180,16^60)/*H, - 14\*,|,?5,$(1,4)dl,3:O) + MCf(<30,?6,{-3,-4}=?6,-5=?3,-2=wf,-1=wb,6=?5,-4=?6,-5=wf, + {13,15,17,20}:O,{3,12,21}://O, + {4~wf^60,8~zf^60,18^35,18^-35}:/_,{1^60,5^180,16^60}:/*H, + 14:\*,|,?5,{1,4}=dl,3:O) endfont %*************************************************************************** beginfont("EN:Sesamine") font_ht:=25mm; - MCf(<54,?5,1=?5,@(4,7)O,@(1^-54,2^54)*/H, - #5*\^-12,Ph,|,-3=?5,@(-1,-3)O,#8*\^-12,Ph,|,-3=?5,@(-1,-3)O) + MCf(<54,?5,1=?5,{4,7}:O,{1^-54,2^54}:*/H, + #5:*\^-12,Ph,-3=?5,{-1,-3}:O,8:*\^-12,Ph,-3=?5,{-1,-3}:O) endfont %*************************************************************************** beginfont("EN:Colchicine","CAS:477-27-0","FM:C21H23NO6","MW:385.41") font_ht:=25mm; - MCf(<30,Ph,@(1,2,6)/O!,|,-4=?7, - |,-5=?7,$(-1,-4,-6)dl,-2://O,-3:/O!, - #9\,NH,!,//O,!) + MCf(<30,Ph,{1,2,6}:/O!,|,-4=?7, + |,-5=?7,{-1,-4,-6}=dl,-2://O,-3:/O!, + #9:\,NH,!,//O,!) endfont %*************************************************************************** beginfont("EN:Lycorine","CAS:476-28-8","FM:C16H17NO4","MW:287.31") font_ht:=25mm; MCf(<30, - Ph,-4=?6,-2=?6,6=?5,(9,12)=?5[3],13=dl,8:N,@(15,17)O, + Ph,-4=?6,-2=?6,6=?5,(9,12)=?5[3],13=dl,8:N,{15,17}:O, 9:/*H^180,10:*/H^60,13:*/OH,14:/*OH ) endfont %*********************************************************************** beginfont("EN:Gibberellin A3","CAS:77-06-5","FM:C19H22O6","MW:346.37"); font_ht:=20mm; - MCf(<18,?5,3=?7,5=?6[12],8*,160`1.3,&3,13=dl,6=wf,8=wb, - 5*,40~zf`1,O,50,//O^180,&14~zb, - 2:/COOH,7://_,13:*/OH,8:/*OH,14:*/_,@(1^60,4^60)*/H) + MCf(<18,?5,3=?7,5=?6[12],8:@,160`1.3,&3,13=dl,6=wf,8=wb, + 5:@,40~zf`1,O,50,//O^180,&14~zb, + 2:/COOH,7://_,13:*/OH,8:/*OH,14:*/_,{1^60,4^60}:*/H) endfont %*************************************************************************** beginfont("EN:Quinine","CAS:130-95-0","FM:C20H24N2O2","MW:324.42") font_ht:=25mm; MCf(<30,Ph,3=Ph,7:N,6:/O!, - 10\,*/OH,/H~zf^-60,!,|,?6,2:N,1:*/H^60,4*\,!!,2*,165~zf,60,&5~zb) + 10:\,*/OH,/H~zf^-60,!,|,?6,2:N,1:*/H^60,4:*\,!!,2:@,165~zf,60,&5~zb) endfont %*************************************************************************** beginfont("EN:Atoropin","CAS:51-55-8","FM:C17H23NO3","MW:289.37") font_ht:=25mm; MCf(<-30,O,!,//O,!,!,Ph, - #1\~zb^-120,|,?7,6*\^190`1.12,N,/_,&3~wb,#3\~wv,!,OH) + #1:@,-120~zb,|,?7,6:*\^190`1.12,N,/_,&3~wb,#3:\~wv,!,OH) endfont %*************************************************************************** beginfont("EN:Rotenone"); font_ht:=30mm; - MCf(<-60,?5,$(-3,-2,-3,-4)?6,$(7,9,-2,-4)dl,$(3,17)dr, - @(2,13,16)O,10://O,@(11^-60,12^60)*/H,@(-2,-3)/O!,1*\,/_,!!) + MCf(<-60,?5,{-3,-2,-3,-4}=?6,{7,9,-2,-4}=dl,{3,17}=dr, + {2,13,16}=O,10://O,{11^-60,12^60}:*/H,{-2,-3}:/O!,1:*\,/_,!!) endfont; %*************************************************************************** beginfont("EN:Pyrethrin I"); - MCf(<30,?3,@(3^35~wf,3^-35~zf)/_,1*\,!!,iPr, - 2\*,//O,!,O,-36~zb,|,?5,-2=d,-1:/_,-3://O,-2\,!4,$(-1,-3)dl) + MCf(<30,?3,{3^35~wf,3^-35~zf}:/_,1:*\,!!,iPr, + 2:\*,//O,!,O,-36~zb,|,?5,-2=dl,-1:/_,-3://O,-2:\,!4,{-1,-3}=dl) endfont; %*************************************************************************** beginfont("EN:Validamycin") font_ht:=20mm; - MCf(<30,?6,@(5,6)/OH,3:/!OH>rl, - #4\,O,-60,|,?6,2:O,@(3,4,5)/OH,6:/!OH, - #1\,NH,!,|,?6,2=dl,@(4,5,6)/OH,3:/!OH) + MCf(<30,?6,{5,6}:/OH,3:/!OH>rl, + #4:\,O,-60,|,?6,2:O,{3,4,5}:/OH,6:/!OH, + #1:\,NH,!,|,?6,2=dl,{4,5,6}:/OH,3:/!OH) endfont %*************************************************************************** beginfont("EN:Paclitaxel","CAS:33069-62-4","FM:C47H51NO14","MW:853.91") - MCf(?6,5=d,3*,|<,``1,36,45,45,45,45,>|, + MCf(?6,5=dl,3:@,|<,``1,36,45,45,45,45,>|, ,-4=?6,-4=?4,-1=wb,-3=wf,-1:O,||, - @(4^35,4^-35,6)/_,@(3^-60,15)*/OH,8:/*H^-60,9:*/_^60,10://O, - 1\,O,!,//O,!,*/OH,!,/Ph,60~wf,NH,-60,//O,60,Ph, - 7\*,O,-45,//O,60,Ph,11*\,O,-60,//O,60,12\*^-15,O,60,//O,-60) + {4^35,4^-35,6}:/_,{3^-60,15}:*/OH,8:/*H^-60,9:*/_^60,10://O, + 1:\,O,!,//O,!,*/OH,!,/Ph,60~wf,NH,-60,//O,60,Ph, + 7:\*,O,-45,//O,60,Ph,11:*\,O,-60,//O,60,12:\*^-15,O,60,//O,-60) endfont %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% beginfont("EN:Ampicillin","MW:349.405") font_ht:=15mm; MCf(<45,?4,-3=?5,2:N,7:S, - @(3^45,4^-45)/*H,1://O^15,5:/*COOH^-18,@(6^35,6^-35)/_, - ,4*\^75,NH,!,//O,!,/*NH2,!,Ph) + {3^45,4^-45}:/*H,1://O^15,5:/*COOH^-18,{6^35,6^-35}:/_, + 4:*\^75,NH,!,//O,!,/*NH2,!,Ph) endfont %*************************************************************************** beginfont("EN:Cholesterol","CAS:57-88-5","FM:C27H46O","MW:386.65") font_ht:=15mm; MCf( - <30,?6,$(-4,-2)?6,-4=?5,7=dl, - 1:*/OH,@(4,12)*/_^60,9:*/H^60, + <30,?6,{-4,-2}=?6,-4=?5,7=dl, + 1:*/OH,{4,12}:*/_^60,9:*/H^60, 10:/*H^180,11:/*H^-60,17:/*H^-54, - -1\^18,/*_,-60,!3,/_,!, + -1:@,18,/*_,-60,!3,/_,!, ) endfont %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% bye -ye diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.pdf b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.pdf index 18573240fd8..312eef77182 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 8c50cf9dc56..8fdb87a1527 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 2017.03.26 +% Molecular Coding Format manual by Akira Yamaji 2017.06.04 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \documentclass[a4paper]{article} %%%%\usepackage{graphicx} @@ -111,40 +111,40 @@ pk font,PNG,SVG,EPS or MDL MOL file(V2000).\\ %----------------------------------------------------------------------------- \subsubsection{Jump and branch bond} \begin{verbatim} - n* : Jump to An + n:@ : Jump to An ** An: atom number(-999<=n<=4095) - <30,!6,3*,0,!,5*,-30 + <30,!6,3:@,0,!,5:@,-30 \end{verbatim} \MCFstructure %------------------------------------ \begin{verbatim} - 3\ : 3*,0 + 3:\ : 3:@,0 - <30,!6,3\,! + <30,!6,3:\,! \end{verbatim} \MCFstructure %----------------------------------------------------------------------------- \subsubsection{Branch bond} \begin{verbatim} - 2\ : 2*,0 - 4*\ : 4*,0~wf - 6\* : 6*,0~zf - 8\\ : 8*,0~dm + 2:\ : 2:@,0 + 4:*\ : 4:@,0~wf + 6:\* : 6:@,0~zf + 8:\\ : 8:@,0~dm - <30,!8,2\,!,4*\,!,6\*,!,8\\,! + <30,!8,2:\,!,4:*\,!,6:\*,!,8:\\,! \end{verbatim} \MCFstructure %----------------------------------------------------------------------------- \begin{verbatim} - 2\~dr : 2*,0~dr - 4\`1.5 : 4*,0`1.5 - 6\^15 : 6*,0^15 + 2:\~dr : 2:@,0~dr + 4:\`1.5 : 4:@,0`1.5 + 6:\^15 : 6:@,0^15 <-30,!6, - 2\~dr,!, - 4\`1.5,-90, - 6\^15,-60 + 2:\~dr,!, + 4:\`1.5,-90, + 6:\^15,-60 \end{verbatim} \MCFstructure %----------------------------------------------------------------------------- @@ -152,7 +152,7 @@ pk font,PNG,SVG,EPS or MDL MOL file(V2000).\\ \begin{verbatim} &n : Connect to An - <30,!6,3\,!,&5 + <30,!6,3:\,!,&5 \end{verbatim} \MCFstructure %----------------------------------------------------------------------------- @@ -168,7 +168,7 @@ pk font,PNG,SVG,EPS or MDL MOL file(V2000).\\ \begin{verbatim} hz : horizontal enviroment (default) >vt : vertical enviroment - ?4,@(3^-90,3^-30,3^90)/'(!3,"{hz}")>hz, - @(1^-60,1`2,1^60)/'(!2,"{vt}")>vt + ?4,{3^-90,3^-30,3^90}:/'(!3,"{hz}")>hz, + {1^-60,1`2,1^60}:/'(!2,"{vt}")>vt \end{verbatim} \MCFstructure %----------------------------------------------------------------------------- @@ -507,8 +507,8 @@ pk font,PNG,SVG,EPS or MDL MOL file(V2000).\\ >rl : right-left enviroment <30,!6, - @(3^-30,3,3^30)/'(!3,"{lr}")>lr, - @(5^-30,5,5^30)/'(!3,"{rl}")>rl + {3^-30,3,3^30}:/'(!3,"{lr}")>lr, + {5^-30,5,5^30}:/'(!3,"{rl}")>rl \end{verbatim} \MCFstructure %----------------------------------------------------------------------------- @@ -517,8 +517,8 @@ pk font,PNG,SVG,EPS or MDL MOL file(V2000).\\ >45 : fixed angle enviroment >'(-90,90,-90) : multi angle enviroment - <-30,!6,@(2>45)/'(!3,"{45}"), - @(6>'(-90,90,-90))/'(!3,"{(-90,90,-90)}") + <-30,!6,2>45:/'(!3,"{45}"), + {6>'(-90,90,-90)}:/'(!3,"{(-90,90,-90)}") \end{verbatim} \MCFstructure %----------------------------------------------------------------------------- @@ -536,11 +536,11 @@ pk font,PNG,SVG,EPS or MDL MOL file(V2000).\\ %----------------------------------------------------------------------------- \subsubsection{Change color} \begin{verbatim} - @(5)green : change color of A5 green - $(3)red : change color of B3 red + 5:green : change color of A5 green + 3=red : change color of B3 red ** METAFONT ignore color command - <30,Ph,@(2,5)N,2:red,5:blue,3=green + <30,Ph,{2,5}:N,2:red,5:blue,3=green \end{verbatim} %%%%\MCFstructure % for Metafont \includegraphics{mcf_man_soc-064.eps}% for dvipdfmx @@ -573,7 +573,7 @@ pk font,PNG,SVG,EPS or MDL MOL file(V2000).\\ iBuOH : user defined substructure iBuOH:='(!,/_,!,OH) - MCf(<30,?6,@(4,6)/iBuOH) + MCf(<30,?6,{4,6}:/iBuOH) \end{verbatim} \MCFstructure %----------------------------------------------------------------------------- @@ -594,8 +594,8 @@ pk font,PNG,SVG,EPS or MDL MOL file(V2000).\\ beginfont("EN:Caffeine") font_wd:=30mm; %<==font width font_ht:=20mm; %<==font height - MCf(<30,?6,-4=?5,$(3,8)dl,@(2,6,7,9)N, - @(2,6,9)/_,@(1,5)//O) endfont + MCf(<30,?6,-4=?5,{3,8}=dl,{2,6,7,9}:N, + {2,6,9}:/_,{1,5}://O) endfont \end{verbatim} \MCFstructure %----------------------------------------------------------------------------- @@ -1045,7 +1045,7 @@ beginfont() sw_solid:=1; %--------------------------------------- MCd(1,1)(0.1,0.5) - (<-210,60`1,60`1,60`1,$(1,3)dl, + (<-210,60`1,60`1,60`1,{1,3}=dl, 1:/R1,4:/R2^-60) ext( defaultscale:=0.6; @@ -1089,7 +1089,9 @@ endfont A[m]: atom position A[m]bra: branch angle of A[m] Bn: bond number - B[m]: bond position + B[m]: bond position(0.5[Bs[m],Be[m]]) + Bs[m]: bond start position + Be[m]: bond end position B[m]ang: bond angle %---------------------------------------- @@ -1100,7 +1102,8 @@ beginfont() MCd(1,0.7)(0,0.5)(<30,?6,3=dl,4:/CH3) ext( label.top("+",A7); - drawarrow B3..((B7-B3) scaled 0.7 + B7:=0.37[Bs7,Be7]; + drawarrow B3..((B7-B3) scaled 0.6 rotated -45 shifted B3)..B7; ) %--------------------------------------- @@ -1135,7 +1138,7 @@ drawarrow & drawdblarrow: \subsection{Acetamiprid} \begin{verbatim} <30,Ph,2:N,1:/Cl, - 4\,!,N,/_,!,/_,!!,N,!,CN + 4:\,!,N,/_,!,/_,!!,N,!,CN \end{verbatim} \MCFstructure %----------------------------------------------------------------------------- @@ -1149,24 +1152,24 @@ drawarrow & drawdblarrow: \subsection{Permethrin} \begin{verbatim} <-30,?3,2^-35:*/_,2^35:/*_, - 1\,!!,/Cl,!,Cl, - 3\,//O,!,O,!2,|,Ph, - 3\,O,-60,Ph + 1:\,!!,/Cl,!,Cl, + 3:\,//O,!,O,!2,Ph, + -4:\,O,-60,Ph \end{verbatim} \MCFstructure %----------------------------------------------------------------------------- \subsection{Endosulfan} \begin{verbatim} - <26,?7,7=?6[13],11*,208~wf`1.45,&8~wb, - 10=d,@(3,5)O,4:S,4://O, - @(8,9,10,11,12^-210,12^-150)/Cl + <26,?7,7=?6[13],11:@,208~wf`1.45,&8~wb, + 10=d,{3,5}:O,4:S,4://O, + {8,9,10,11,12^-210,12^-150}:/Cl \end{verbatim} \MCFstructure %----------------------------------------------------------------------------- \subsection{Luciferin} \begin{verbatim} - <30,Ph,3=?5,8\,?5,$(9,16)d, - @(9,14)N,@(7,11)S, + <30,Ph,3=?5,8:\,?5,{9,16}=dl, + {9,14}:N,{7,11}:S, 1:/OH,-2:*/COOH \end{verbatim} \MCFstructure @@ -1175,36 +1178,36 @@ drawarrow & drawdblarrow: \begin{verbatim} <30,Ph,3=?6,8=dl, 10:O,7:/OH,9://O, - 8\,/Ph`1,60,!,//O,! + 8:\,/Ph`1,60,!,//O,! \end{verbatim} \MCFstructure %----------------------------------------------------------------------------- \subsection{Limonin} \begin{verbatim} - <30,?6,$(-3,-4)?6,-5=?3, + <30,?6,{-3,-4}=?6,-5=?3, -2=wf,-1=wb,6=?5,-4=?6,-5=wf, - @(13,15,17,20)O,@(3,12,21)//O, - @(4~wf^60,8~zf^60,18^35,18^-35)/_, - @(1^60,5^180,16^60)/*H, - 14\*,|,?5,$(1,4)dl,3:O + {13,15,17,20}:O,{3,12,21}://O, + {4~wf^60,8~zf^60,18^35,18^-35}:/_, + {1^60,5^180,16^60}:/*H, + 14:\*,|,?5,{1,4}=dl,3:O \end{verbatim} \MCFstructure %----------------------------------------------------------------------------- \subsection{Sesamine} \begin{verbatim} <54,?5,1=?5, - @(4,7)O,@(1^-54,2^54)*/H, - #5*\^-12,Ph,|,-3=?5,@(-1,-3)O, - #8*\^-12,Ph,|,-3=?5,@(-1,-3)O + {4,7}:O,{1^-54,2^54}:*/H, + 5:*\^-12,Ph,-3=?5,{-1,-3}:O, + 8:*\^-12,Ph,-3=?5,{-1,-3}:O \end{verbatim} \MCFstructure %----------------------------------------------------------------------------- \subsection{Colchicine} \begin{verbatim} - <30,Ph,@(1,2,6)/O!, + <30,Ph,{1,2,6}:/O!, -4=?7,-5=?7, - $(-1,-4,-6)dl,-2://O,-3:/O!, - 9\,NH,!,//O,! + {-1,-4,-6}=dl,-2://O,-3:/O!, + 9:\,NH,!,//O,! \end{verbatim} \MCFstructure %----------------------------------------------------------------------------- @@ -1213,7 +1216,7 @@ drawarrow & drawdblarrow: <30,Ph, -4=?6,-2=?6,6=?5,(9,12)=?5[3], 13=dl, - 8:N,@(15,17)O, + 8:N,{15,17}:O, 9:/*H^180,10:*/H^60, 13:*/OH,14:/*OMe \end{verbatim} @@ -1222,68 +1225,68 @@ drawarrow & drawdblarrow: \subsection{Gibberellin} \begin{verbatim} <18,?5,3=?7,5=?6[12], - 8*,160`1.3,&3, + 8:@,160`1.3,&3, 13=dl,6=wf,8=wb, - 5*,40~zf`1,O,60,//O^180,&14~zb, + 5:@,40~zf`1,O,60,//O^180,&14~zb, 2:/COOH,7://_,13:*/OH,8:/*OH, - 14:*/_,@(1^60,4^60)*/H + 14:*/_,{1^60,4^60}:*/H \end{verbatim} \MCFstructure %----------------------------------------------------------------------------- \subsection{Quinine} \begin{verbatim} <30,Ph,3=Ph,7:N,6:/O!, - 10\,*/OH,/H~zf^-60,!, + 10:\,*/OH,/H~zf^-60,!, |,?6,2:N,1:*/H^60, - 4*\,!!, - 2*,165~zf,60,&5~zb + 4:*\,!!, + 2:@,165~zf,60,&5~zb \end{verbatim} \MCFstructure %----------------------------------------------------------------------------- \subsection{Atoropin} \begin{verbatim} <-30,O,!,//O,!,!,Ph, - #1\~zb^-120, - |,?7,6*\^190`1.02,N,/_,&3~wb, - #3\~wv,!,OH + #1:@,-120~zb, + |,?7,6:*\^190`1.02,N,/_,&3~wb, + #3:\~wv,!,OH \end{verbatim} \MCFstructure %----------------------------------------------------------------------------- \subsection{Rotenone} \begin{verbatim} - <-60,?5,$(-3,-2,-3,-4)?6, - $(7,9,-2,-4)dl,$(3,17)dr, - @(2,13,16)O,10://O,@(11^-60,12^60)*/H, - @(-2,-3)/O!,1*\,/_,!! + <-60,?5,{-3,-2,-3,-4}=?6, + {7,9,-2,-4}=dl,{3,17}=dr, + {2,13,16}:O,10://O,{11^-60,12^60}:*/H, + {-2,-3}:/O!,1:*\,/_,!! \end{verbatim} \MCFstructure %----------------------------------------------------------------------------- \subsection{Pyrethrin I} \begin{verbatim} - <30,?3,@(3^35~wf,3^-35~zf)/_, - 1*\,!!,iPr,2\*,//O,!,O,-36~zb,|, - ?5,-2=d,-1:/_,-3://O,-2\,!4,$(-1,-3)dl + <30,?3,{3^35~wf,3^-35~zf}:/_, + 1:*\,!!,iPr,2:\*,//O,!,O,-36~zb,|, + ?5,-2=d,-1:/_,-3://O,-2\,!4,{-1,-3}=dl \end{verbatim} \MCFstructure %----------------------------------------------------------------------------- \subsection{Validamycin} \begin{verbatim} - <30,?6,@(5,6)/OH,3:/!OH>rl, - #4\,O,-60,|,?6,2:O,@(3,4,5)/OH,6:/!OH, - #1\,NH,!,|,?6,2=dl,@(4,5,6)/OH,3:/!OH + <30,?6,{5,6}:/OH,3:/!OH>rl, + #4:\,O,-60,|,?6,2:O,{3,4,5}:/OH,6:/!OH, + #1:\,NH,!,|,?6,2=dl,{4,5,6}:/OH,3:/!OH \end{verbatim} \MCFstructure %----------------------------------------------------------------------------- \subsection{Paclitaxel} \begin{verbatim} - ?6,5=d,3*,|<,``1,36,45,45,45,45,>|,, + ?6,5=d,3:@,|<,``1,36,45,45,45,45,>|,, -4=?6,-4=?4,-1=wb,-3=wf,-1:O,||, - @(4^35,4^-35,6)/_,@(3^-60,15)*/OH, + {4^35,4^-35,6}:/_,{3^-60,15}:*/OH, 8:/*H^-60,9:*/_^60,10://O, - 1\,O,!,//O,!,*/OH,!,/Ph, + 1:\,O,!,//O,!,*/OH,!,/Ph, 60~wf,NH,-60,//O,60,Ph, - 7\*,O,-45,//O,60,Ph,11*\,O,-60,//O,60, - 12\*^-15,O,60,//O,-60 + 7:\*,O,-45,//O,60,Ph,11:*\,O,-60,//O,60, + 12:\*^-15,O,60,//O,-60 \end{verbatim} \MCFstructure %----------------------------------------------------------------------------- @@ -1295,8 +1298,8 @@ drawarrow & drawdblarrow: input mcf2graph.mf; % input macro %------------------------------------------------------------------------- sw_auxout:=1; % aux(information) file output on > Gloval setting -font_wd:=60mm; % font width > -font_ht:=40mm; % font height > +font_wd:=60mm; % font width > +font_ht:=40mm; % font height > var3:="cal_MW"; tag3:="cMW"; > AUX file table var4:="cal_FM"; tag4:="cFM"; > %%%% sw_report:=1; > Report output @@ -1306,40 +1309,40 @@ outputtemplate:="%j-%3c.png"; > %------------------------------------------------------------------------- beginfont("NO:1","EN:Ampicillin") > begin font(information) MCf(<45,?4,2:N,2=?5,-1:S, > begin MCF (1) - @(3^45,4^-45)/*H,1://O^15,5:/*COOH^-18, > - @(6^35,6^-35)/_, > - 4\^75,NH,!,//O,!,/*NH,!,Ph) > end MCF + {3^45,4^-45}:/*H,1://O^15,5:/*COOH^-18, > + {6^35,6^-35}:/_, > + 4:@,75,NH,!,//O,!,/*NH,!,Ph) > end MCF endfont > end font %------------------------------------------------------------------------ beginfont("NO:2","EN:Cholesterol") > begin font(information) - MCf(<30,?6,$(-4,-2)?6,-4=?5,7=dl, > begin MCF (2) - 1:*/OH,@(4,12)*/_^60,9:*/H^60, > - 10:/*H^180,@(11,-1)/*H^-60, > - -1\^17,/*_,!4,/_,!) > end MCF + MCf(<30,?6,{-4,-2}=?6,-4=?5,7=dl, > begin MCF (2) + 1:*/OH,{4,12}:*/_^60,9:*/H^60, > + 10:/*H^180,{11,-1}:/*H^-60, > + -1:@,17,/*_,!4,/_,!) > end MCF endfont > end font %------------------------------------------------------------------------ beginfont("NO:3","EN:Limonin") > begin font(information) - MCf(<30,?6,$(-3,-4)?6, > begin MCF (3) + MCf(<30,?6,{-3,-4}=?6, > begin MCF (3) -5=?3,-2=wf,-1=wb,6=?5,-4=?6,-5=wf, > - @(13,15,17,20)O,@(3,12,21)//O, > - @(4~wf^60,8~zf^60,18^35,18^-35)/_, > - @(1^60,5^180,16^60)/*H, > - 14\*,|,?5,$(1,4)dl,3:O) > end MCF + {13,15,17,20}:O,{3,12,21}://O, > + {4~wf^60,8~zf^60,18^35,18^-35}:/_, > + {1^60,5^180,16^60}:/*H, > + 14:\*,|,?5,{1,4}=dl,3:O) > end MCF endfont > end font %------------------------------------------------------------------------ beginfont("NO:4","EN:beta-carotene) > begin font(information) - MCf(<30,?6,3=dl,@(3,5^35,5^-35)/_, > begin MCF (4) - 4\,|,!18,$(1,3,5,7,9,11,13,15,17)dr, > - @(3,7,12,16)/_, > - |,?6,6=dl,@(6,2^35,2^-35)/_) > end MCF + MCf(<30,?6,3=dl,{3,5^35,5^-35}:/_, > begin MCF (4) + 4:\,|,!18,{1,3,5,7,9,11,13,15,17}=dr, > + {3,7,12,16}:/_, > + |,?6,6=dl,{6,2^35,2^-35}:/_) > end MCF endfont > end font %------------------------------------------------------------------------ beginfont("NO:5","EN:Gibberellin A3"); > begin font(information) MCf(<18,?5,3=?7,5=?6[12], > begin MCF (5) - 8*,160`1.3,&3,13=dl,6=wf,8=wb, > - 5*,40~zf`1,O,60,//O^180,&14~zb, > + 8:@,160`1.3,&3,13=dl,6=wf,8=wb, > + 5:@,40~zf`1,O,60,//O^180,&14~zb, > 2:/COOH,7://_,13:*/OH,8:/*OH, > - 14:*/_,@(1^60,4^60)*/H) > end MCF + 14:*/_,{1^60,4^60}:*/H) > end MCF endfont; > end font %------------------------------------------------------------------------ bye @@ -1546,12 +1549,12 @@ M END font_wd:=50mm; font_ht:=50mm; beginfont("NO:2","EN:Limonin","MW:470.51") MCf(<30, - ?6,$(-3,-4)?6, + ?6,{-3,-4}=?6, -5=?3,-2=wf,-1=wb,6=?5,-4=?6,-5=wf, - @(13,15,17,20)O,@(3,12,21)//O, - @(4~wf^60,8~zf^60,18^35,18^-35)/_, - @(1^60,5^180,16^60)/*H, - 14\*,|,?5,$(1,4)dl,3:O + {13,15,17,20}:O,{3,12,21}://O, + {4~wf^60,8~zf^60,18^35,18^-35}:/_, + {1^60,5^180,16^60}:/*H, + 14:\*,|,?5,{1,4}=dl,3:O ) endfont \end{mplibcode}\\ @@ -1560,10 +1563,10 @@ M END font_wd:=80mm; font_ht:=50mm; beginfont("NO:3","EN:beta-carotene","MW:536.87") MCf(<30, - ?6,3=dl,@(3,5^35,5^-35)/_, - 4\,|,!18,$(1,3,5,7,9,11,13,15,17)dr, - @(3,7,12,16)/_, - |,?6,6=dl,@(6,2^35,2^-35)/_ + ?6,3=dl,{3,5^35,5^-35}:/_, + 4:\,|,!18,{1,3,5,7,9,11,13,15,17}=dr, + {3,7,12,16}:/_, + |,?6,6=dl,{6,2^35,2^-35}:/_ ) endfont \end{mplibcode}\\ @@ -1572,10 +1575,10 @@ M END font_wd:=50mm; font_ht:=50mm; beginfont("NO:4","EN:Gibberellin A3","MW:346.37"); MCf(<18,?5,3=?7,5=?6[12], - 8*,160`1.3,&3,13=dl,6=wf,8=wb, - 5*,40~zf`1,O,60,//O^180,&14~zb, + 8:@,160`1.3,&3,13=dl,6=wf,8=wb, + 5:@,40~zf`1,O,60,//O^180,&14~zb, 2:/COOH,7://_,13:*/OH,8:/*OH, - 14:*/_,@(1^60,4^60)*/H + 14:*/_,{1^60,4^60}:*/H ) endfont; \end{mplibcode}\\ 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 29c2f30dbd8..ab18b688ad0 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 d0ec2e29ec6..b1c902b687d 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 2017.05.03 +% Example of MCF typest with LuaLaTeX(luamplib) by A.Yamaji 2017.06.04 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%% mcf2graph.mf it must be version 4.21 or later +%%% mcf2graph.mf it must be version 4.23 or later \documentclass{article} %------------------------------------------------------------------------------ \usepackage{luamplib}% @@ -96,12 +96,12 @@ font_wd:=90mm; font_ht:=45mm; beginfont("NO:1","EN:Chlorophyll a","MW:893.49") MCf(<54, - |<,``1,?5,$(2,5)d,4:N,3\,54~dl,|,?5,$(2,4)d,5:N, - -2\,54~dl,|,?5,2=d,5:N,-2\~dl,54,|,?5,5=d,5:N,-2\~dl,, - -1*,24,/*COO!^15,72,//O,,>|, - 4\`1.45,Mg,&17,-1*,&11~vb,-1*,&23~vb, - @(2,9,15,20~zf)/_,8:/!,14\,!!, - 21*,-6~wf,!2,//O,!,O,!2,!!,|,!13,@(1,5,9,13)/_, + |<,``1,?5,{2,5}=dl,4:N,3:\,54~dl,|,?5,{2,4}=dl,5:N, + -2:\,54~dl,|,?5,2=dl,5:N,-2:\~dl,54,|,?5,5=dl,5:N,-2:\~dl,, + -1:@,24,/*COO!^15,72,//O,,>|, + 4:\`1.45,Mg,&17,-1:@,&11~vb,-1:@,&23~vb, + {2,9,15,20~zf}:/_,8:/!,14:\,!!, + 21:@,-6~wf,!2,//O,!,O,!2,!!,|,!13,{1,5,9,13}:/_, ) endfont \end{mplibcode} @@ -112,10 +112,10 @@ font_wd:=40mm; font_ht:=35mm; beginfont("NO:2","EN:Limonin","MW:470.51") MCf(<30, - ?6,$(-3,-4)?6,-5=?3,-2=wf,-1=wb,6=?5,-4=?6,-5=wf, - @(13,15,17,20)O,@(3,12,21)//O, - @(4~wf^60,8~zf^60,18^35,18^-35)/_,@(1^60,5^180,16^60)/*H, - 14\*,|,?5,$(1,4)dl,3:O + ?6,{-3,-4}=?6,-5=?3,-2=wf,-1=wb,6=?5,-4=?6,-5=wf, + {13,15,17,20}:O,{3,12,21}://O, + {4~wf^60,8~zf^60,18^35,18^-35}:/_,{1^60,5^180,16^60}:/*H, + 14:\*,|,?5,{1,4}=dl,3:O ) endfont \end{mplibcode} @@ -126,9 +126,9 @@ font_wd:=80mm; font_ht:=28mm; beginfont("NO:3","EN:beta-carotene","MW:536.87") MCf(<30, - ?6,3=dl,@(3,5^35,5^-35)/_, - 4\,|,!18,$(1,3,5,7,9,11,13,15,17)dr,@(3,7,12,16)/_, - |,?6,6=dl,@(6,2^35,2^-35)/_ + ?6,3=dl,{3,5^35,5^-35}:/_, + 4:\,|,!18,{1,3,5,7,9,11,13,15,17}=dr,{3,7,12,16}:/_, + |,?6,6=dl,{6,2^35,2^-35}:/_ ) endfont \end{mplibcode} @@ -138,9 +138,9 @@ \begin{mplibcode} font_wd:=50mm; font_ht:=40mm; beginfont("NO:4","EN:Gibberellin A3","MW:346.37"); - MCf(<18,?5,3=?7,5=?6[12],8*,160`1.3,&3,13=dl,6=wf,8=wb, - 5*,40~zf`1,O,60,//O^180,&14~zb, - 2:/COOH,7://_,13:*/OH,8:/*OH,14:*/_,@(1^60,4^60)*/H) + MCf(<18,?5,3=?7,5=?6[12],8:@,160`1.3,&3,13=dl,6=wf,8=wb, + 5:@,40~zf`1,O,60,//O^180,&14~zb, + 2:/COOH,7://_,13:*/OH,8:/*OH,14:*/_,{1^60,4^60}:*/H) endfont; \end{mplibcode} \inputINFO{temp-info.aux}% @@ -151,10 +151,10 @@ font_wd:=55mm; font_ht:=55mm; beginfont("NO:5","EN:Erythromycin","MW:733.93"); MCf(<30, |<,``1,<-120,60,60,60,-60,60,60,-60,60,60,60,-60,60,60,>|,&1, - 14:O,13:/*Et,@(1,9)//O,@(2,10)*/_,@(4,6^-35,8,12^35)/*_, - @(6^35,11,12^-35)*/OH, - #3\*,O,30,|,?6`.7,2:O,@(3,5^35)/_,4:/OH,5^-35:/O!, - #5\*^30`1.7,O,!,|,?6`.7,6:O,5:/_,2:/OH,3:/NMeMe + 14:O,13:/*Et,{1,9}://O,{2,10}:*/_,{4,6^-35,8,12^35}:/*_, + {6^35,11,12^-35}:*/OH, + #3:\*,O,30,|,?6`.7,2:O,{3,5^35}:/_,4:/OH,5^-35:/O!, + #5:\*^30`1.7,O,!,|,?6`.7,6:O,5:/_,2:/OH,3:/NMeMe ) endfont; \end{mplibcode} @@ -165,16 +165,16 @@ beginfont("NO:5","EN:Erythromycin","MW:733.93"); font_wd:=90mm; font_ht:=55mm; beginfont("NO:6","EN:Vancomycin","MW:1449.25"); MCf(<30, - |<,``1,!12,$(1,3,12)zf,7=wf,/H^-60,60,*/OH,60, - Ph,-4:/Cl,-3\,O,!,Ph,-4\,O,!,Ph,-1^15:/Cl,-3\,/*OH,*/H^-60,, - #7*,,#1\^120,//O,60,NH,60,/*H,*/COOH^180,-60, - Ph,@(-2,-4)/OH,-1\,Ph,-5:/OH,-2*,,>|, - @(3^40,6,9,12)//O,@(2,5,8,11)NH, - @(1^180,4^180)*/H,@(7^-60,10^60,14^60)/*H, - #10*\^-60,60,//O,!,NH2, - #13*\,NH,!,//O,!,/!iPr^-35>60,*/H^60,!~zf,NH,!, - #23\,O,!,|,?6`.7,2:O,3^10:/!OH,@(4,5)/OH, - -1\,O,!,|,?6`.7,6:O,@(3^35,5)/_,3^-35:/NH2,4:/OH + |<,``1,!12,{1,3,12}=zf,7=wf,/H^-60,60,*/OH,60, + Ph,-4:/Cl,-3:\,O,!,Ph,-4:\,O,!,Ph,-1^15:/Cl,-3:\,/*OH,*/H^-60,, + #7:@,,#1:@,120,//O,60,NH,60,/*H,*/COOH^180,-60, + Ph,{-2,-4}:/OH,-1:\,Ph,-5:/OH,-2:@,,>|, + {3^40,6,9,12}://O,{2,5,8,11}:NH, + {1^180,4^180}:*/H,{7^-60,10^60,14^60}:/*H, + #10:*\^-60,60,//O,!,NH2, + #13:*\,NH,!,//O,!,/!iPr^-35>60,*/H^60,!~zf,NH,!, + #23:\,O,!,|,?6`.7,2:O,3^10:/!OH,{4,5}:/OH, + -1:\,O,!,|,?6`.7,6:O,{3^35,5}:/_,3^-35:/NH2,4:/OH ) endfont; \end{mplibcode} @@ -184,27 +184,28 @@ endfont; \begin{mplibcode} font_wd:=150mm; font_ht:=70mm; beginfont("NO:7","EN:Maitotoxin","MW:3425.86") - MCf(<55.8,?6,-4=?7 ,$(-4,-3,-3,-3)?6,-3\,!3,?6,$(-4,-3,-3,-3)?6, - -3\,?6,-3=?6,-3\,!3,60,<-30,?6,-3=?6, - -3\^30,<30,?6,$(-3,-3)?6,-3=?7,$(-4,-3,-3)?6, - -2\,?6,-3=?6,-3=?7,$(-3,-3)?6,-3=?8,-3=dl,$(-5,-3,-3,-3)?6, - @(5,7,15,16,23,24,32,40,41,48,49,58,59,72,73,82,83,90,91,99, - 100,107,113,114,122,123,130,131,140,141,148,149)O, - @(1^60,2,26,28,29,51,54,61,63,68,75^60,78,109)*/OH, - @(11,20,35,45,52,55,65,69,86)/*OH,@(47,57,71)/*H^60, - @(3,8,13,17,21,33,38,42,56,70,84,92,101,106,111,128,138,142,146,150)/*H^-60, - @(4,14,22,34,39,43,81,89,98,102,116,121,125,129,133)*/H^60, - @(6,46,50,53,60,67,74)*/H^-60, - @(9,18,85,93,112,139,143,147)*/_`1^60, - @(80,88,97,115,120,124)/*_`1^-60,108:*/_`1^-60, - #6\,|,!11,60~dr,-60,60,OH,2:/*OH,@(7,10)*/OH,@(1,3)*/_,@(8~zf,11~dm,12)/_, - 6\,O,30,SOO,30,"O{Na}", - #36\~zf^-45,O,30,SOO,30,"O{Na}", - #150\,|,!7,@(1,2)/*OH,4:*/_,5:/*_,7=dl + MCf(<55.8,?6,-4=?7 ,{-4,-3,-3,-3}=?6,-3:\,!3,?6,{-4,-3,-3,-3}=?6, + -3:\,?6,-3=?6,-3:\,!3,60,<-30,?6,-3=?6, + -3:@,30,<30,?6,{-3,-3}=?6,-3=?7,{-4,-3,-3}=?6, + -2:\,?6,-3=?6,-3=?7,{-3,-3}=?6,-3=?8,-3=dl,{-5,-3,-3,-3}=?6, + {5,7,15,16,23,24,32,40,41,48,49,58,59,72,73,82,83,90,91,99, + 100,107,113,114,122,123,130,131,140,141,148,149}:O, + {1^60,2,26,28,29,51,54,61,63,68,75^60,78,109}:*/OH, + {11,20,35,45,52,55,65,69,86}:/*OH,{47,57,71}:/*H^60, + {3,8,13,17,21,33,38,42,56,70,84,92,101,106,111,128,138,142,146,150}:/*H^-60, + {4,14,22,34,39,43,81,89,98,102,116,121,125,129,133}:*/H^60, + {6,46,50,53,60,67,74}:*/H^-60, + {9,18,85,93,112,139,143,147}:*/_`1^60, + {80,88,97,115,120,124}:/*_`1^-60,108:*/_`1^-60, + #6:\,|,!11,60~dr,-60,60,OH,2:/*OH,{7,10}:*/OH,{1,3}:*/_,{8~zf,11~dm,12}:/_, + 6:\,O,30,SOO,30,"O{Na}", + #36:@,-45~zf,O,30,SOO,30,"O{Na}", + #150:\,|,!7,{1,2}:/*OH,4:*/_,5:/*_,7=dl ) endfont \end{mplibcode} \inputINFO{temp-info.aux}% \MOLcaption{110mm}{70mm}\\% +\end{document} %---------------------------------------------------------------------------- \end{document} diff --git a/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf b/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf index 1dff2e0bc02..4747e63571f 100644 --- a/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf +++ b/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf @@ -1,5 +1,5 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% mcf2graph ver 4.21 Copyright (c) 2013-2017 Akira Yamaji +% mcf2graph ver 4.23 Copyright (c) 2013-2017 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, @@ -31,9 +31,9 @@ % Set to use plain.mp label,arrow : mpost -s ahlength=3 FILENAME %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% tracingstats:=1; -message " This is mcf2graph ver 4.2 2017.5"; +message " This is mcf2graph ver 4.2 2017.6"; %------------------------------------------------------------------------------------------------- -newinternal nA,nB,nC,nD,nE,nF,char_num,str_cnt,def_num,def_int,tbl_cnt; +newinternal nA,nB,nC,nD,nE,nF,char_num,str_cnt,sub_usr,sub_int,tbl_cnt; numeric save_para[],comD[][],parD[][],cntD[],tbl_str_wd[],tbl_atom[],tbl_subst[][],tbl_atom_wt[], tbl_atom_mi[],tbl_char_wd[],tbl_char_ht[],tbl_char_dp[]; string tbl_atom_str[],strD[],var[],tag[],mp_log_name,aux_delimiter; @@ -106,15 +106,16 @@ ext_defaultline:=0.5bp; ext_defaultscale:=defaultscale:=1; labeloffset:=3bp; %================================================================================================== -def_emb_start:=500; % 500 => 2499 for embedded definition (max 2000) -def_usr_start:=2500; % 2500 => 2999 for user definition (max 500) -def_int_start:=3000; % 3000 => 4000 for internal definition (max 1000) +sub_emb_start:=500; % 500 => 2499 for embedded sub structure (max 2000) +sub_usr_start:=2500; % 2500 => 2999 for user sub structure (max 500) +sub_int_start:=3000; % 3000 => 4000 for internal sub structure (max 1000) %-------------------------------------------------------------------------------------------------- def def_com(expr n)(text tx)= nA:=n; forsuffixes list=tx:: list:=nA; nA:=nA+1; endfor enddef; def_com(-4000)(_term,_jp_atom,_jp_atom_abs,_jp_bond,_cyc,_cyc_sB,_cyc_eB,_set_line,_chg_line, _dl,_mb,_N,_O,_S,_H,_tmp_line,_chg_len,_get_len,_ring_len,_tmp_len,_rot_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); + _tmp_env,_set_colorA,_set_colorB,_postA,_postB,_postC,_postD,_postE,_postF,_postH,_stack_reset, + _set_clr,_set_adr,_mk_bond,_set_atom,_arg_ang,_chg_atom,_tmp_rot,_fuse,_push,_pop, + _size_a,_numeric); def_com(1)(si,dl,dr,db,dm,tm,wf,wb,bd,bz,zf,zb,dt,wv,nl,vf,vb,si_,wf_,wb_,bd_); %-------------------------------------------------------------------------------------------------- def parameter_list= @@ -186,12 +187,14 @@ def endfont= enddef; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% def set_def_MC= - save /,*,//,/*,*/,**,~,~~,^,^^,`,'`,<,>,>>,:>,&,&#,:,=,\,\\,*\,\*,@,$,#, + save /,//,/*,*/,**,~,~~,^,^^,`,'`,<,>,>>,:>,&,&#,:,=,\,\\,*\,\*,@,#,{,}, |,||,|<,>|,|:,:|,_,d,w,z,inside_def_MC; - inside_def_MC:=1; d:=db; w:=wf; z:=zf; - vardef $(text a)tertiary b == $$(a)(b) enddef; tertiarydef a=b == $$(a)(b) enddef; - vardef @(text a)tertiary b == @@(a)(b) enddef; tertiarydef a:b == @@(a)(b) enddef; - vardef #primary a == if numeric a:: a-4095 elseif pair a:: a+(0,-4095) fi enddef; + inside_def_MC:=1; + _:=Me; d:=db; w:=wf; z:=zf; + tertiarydef a=b == change_bond(a)(b) enddef; + tertiarydef a:b == change_atom(a)(b) enddef; + def { == '''( enddef; let } == ); + vardef #primary a == a-4095 enddef; def &primary n ==(_cyc,n) enddef; def &# == & # enddef; def ^^primary n == (_tmp_rot,n) enddef; def ~~primary n == (_tmp_line,n) enddef; def '`primary n == (_tmp_len,n) enddef; def :>primary n == (_tmp_env,n) enddef; @@ -199,18 +202,17 @@ def set_def_MC= def b == :>b,a enddef; - def * == (0,1) enddef; def \ == *,0 enddef; def \\ == *,0~dm enddef; - def *\ == *,0~wf enddef; def \* == *,0~zf enddef; + def @ == JP_AT enddef; def \ == @,0 enddef; + def \\ == \~dm enddef; def *\ == \~wf enddef; def \* == \~zf enddef; def |< == (_push,1) enddef; def >| == (_pop,1) enddef; def | == |<,>| enddef; def || == (_stack_reset,0) enddef; def |: == (_push,0) enddef; def :| == (_pop,0) enddef; - def _ == Me enddef; def /secondary n == (_postA,n) enddef; def //secondary n == (_postB,n) enddef; def */secondary n == (_postC,n) enddef; def /*secondary n == (_postD,n) enddef; def */*secondary n == (_postE,n) enddef; def **secondary n == (_postF,n) enddef; enddef; %================================================================================================= -vardef '(text s)= ''(incr def_num)(s); def_num enddef; +vardef '(text s)= ''(incr sub_usr)(s); sub_usr enddef; %------------------------------------------------------------------------------------------------- def ''(expr k)(text s)= begingroup @@ -220,7 +222,7 @@ def ''(expr k)(text s)= if known list:: if pair list:: comD[k][incr cntD[k]]:=xpart(list); parD[k][cntD[k]]:=ypart(list); elseif numeric list:: - if list>=def_emb_start:: + if list>=sub_emb_start:: for i==1 upto cntD[list]:: comD[k][incr cntD[k]]:=comD[list][i]; parD[k][cntD[k]]:=parD[list][i]; endfor @@ -233,15 +235,31 @@ def ''(expr k)(text s)= endfor endgroup enddef; -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%------------------------------------------------------------------------------------------------- +vardef '''(text s)= + sub_int:=sub_int+1; + cntD[sub_int]:=0; + for list==s:: + cntD[sub_int]:=cntD[sub_int]+1; + if numeric list:: + comD[sub_int][cntD[sub_int]]:=_numeric; + parD[sub_int][cntD[sub_int]]:=list; + elseif pair list:: + comD[sub_int][cntD[sub_int]]:=xpart(list); + parD[sub_int][cntD[sub_int]]:=ypart(list); + fi + endfor + sub_int %------- Retern value ------- +enddef; +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% def FR(expr a)(expr b) = - PA(_jp_bond,a) PA(_get_len,a) PA(_push,0) + PA(_jp_bond,a) PA(_rot_ang,180) PA(_get_len,a) PA(_push,0) PA(_chg_len,_ring_len) for i==1 upto b-2:: PA(_mk_bond,360 DIV b) endfor PA(_pop,0) if a>=1:: PA(_cyc_eB,0) elseif a>=-999:: PA(_cyc_eB,a-b+2) else:: PA(_cyc_eB,a) fi enddef; %------------------------------------------------------------------------------------------------- def FFR(expr a)(expr b)(expr c) = - PA(_jp_bond,xpart(a)) PA(_push,0) + PA(_jp_bond,xpart(a)) PA(_rot_ang,180) PA(_push,0) if b==6:: PA(_chg_len,0) for i==1 upto c-1:: PA(_mk_bond,60) endfor elseif b==5:: if c==2:: PA(_chg_len,1.25) PA(_mk_bond,80) elseif c==3:: PA(_chg_len,1.1) PA(_mk_bond,78) PA(_mk_bond,72) fi @@ -250,80 +268,64 @@ def FFR(expr a)(expr b)(expr c) = enddef; %------------------------------------------------------------------------------------------------- def FRR(expr a)(expr b)(expr c) = + PA(_jp_bond,a) PA(_rot_ang,180) PA(_push,0) PA(_chg_len,c DIV 10) if b==5:: - PA(_jp_bond,a) PA(_push,0) PA(_chg_len,c DIV 10) PA(_mk_bond,72-((c-9) MUL 1.5)) - PA(_mk_bond,72+(c-9)) PA(_mk_bond,72+(c-9)) PA(_pop,0) - if a>=1:: PA(_cyc_eB,0) else:: PA(_cyc_eB,list) fi + PA(_mk_bond,72-((c-9) MUL 1.5)) PA(_mk_bond,72+(c-9)) PA(_mk_bond,72+(c-9)) elseif b==6:: - PA(_jp_bond,a) PA(_push,0) PA(_chg_len,c DIV 10) PA(_mk_bond,60-(c-8)) + PA(_mk_bond,60-(c-8)) PA(_mk_bond,60+((c-8) DIV 2)) PA(_mk_bond,60+((c-8) DIV 2)) PA(_mk_bond,60+((c-8) DIV 2)) - PA(_pop,0) if a>=1:: PA(_cyc_eB,0) else:: PA(_cyc_eB,list) fi elseif b==7:: - PA(_jp_bond,a) PA(_push,0) PA(_chg_len,c DIV 10) PA(_mk_bond,(360 DIV 7)-(c-8)) + PA(_mk_bond,(360 DIV 7)-(c-8)) PA(_mk_bond,360 DIV 7+((c-8) DIV 2.5)) PA(_mk_bond,360 DIV 7+((c-8) DIV 2.5)) PA(_mk_bond,360 DIV 7+((c-8) DIV 2.5)) PA(_mk_bond,360 DIV 7+((c-8) DIV 2.5)) - PA(_pop,0) if a>=1:: PA(_cyc_eB,0) else:: PA(_cyc_eB,list) fi elseif b==8:: - PA(_jp_bond,a) PA(_push,0) PA(_chg_len,c DIV 10) PA(_mk_bond,45-(c-8)) + PA(_mk_bond,45-(c-8)) PA(_mk_bond,45+((c-8) DIV 3)) PA(_mk_bond,45+((c-8) DIV 3)) PA(_mk_bond,45+((c-8) DIV 3)) PA(_mk_bond,45+((c-8) DIV 3)) PA(_mk_bond,45+((c-8) DIV 3)) - PA(_mk_bond,45+((c-8) DIV 3)) PA(_mk_bond,45+((c-8) DIV 3)) - PA(_pop,0) if a>=1:: PA(_cyc_eB,0) else:: PA(_cyc_eB,list) fi fi + PA(_pop,0) if a>=1:: PA(_cyc_eB,0) else:: PA(_cyc_eB,list) fi enddef; %================================================================================================== -vardef $$(text t)(expr e) = - nA:=0; - def_int:=def_int+1; +vardef change_bond(text t)(expr e) = + sub_int:=sub_int+1; + cntD[sub_int]:=0; if known e:: if numeric e:: - if (e>=si)and(e<=bd_):: if e==dl:: for list==t:: PA(_dl,list) endfor - else:: for list==t:: PA(_set_adr,list) PA(_set_line,e) endfor fi - elseif (e>=?3)and(e<=?20):: for list==t:: FR(list)(e-?3+3) endfor + if (e>=si)and(e<=bd_):: if e==dl:: PP(t)(_dl) else:: PX(t)(_set_line,e) fi + elseif (e>=?3)and(e<=?20):: + for list==t:: + if list>=sub_int_start:: for i==1 upto cntD[list]:: FR(parD[list][i])(e-?3+3) endfor + else:: FR(list)(e-?3+3) fi + endfor elseif e==Ph1:: FR(t)(6) PA(_dl,-2) PA(_dl,-4) elseif e==Ph2:: FR(t)(6) PA(_dl,-1) PA(_dl,-3) PA(_dl,-5) + elseif e==JP_AT:: PA(_jp_bond,t) elseif comD[e][1]==_fuse:: if comD[e][2]<=6:: for list==t:: FFR(list)(parD[e][1])(comD[e][2]) endfor elseif (comD[e][2]>=11)and(comD[e][2]<=15):: for list==t:: FRR(list)(parD[e][1])(comD[e][2]) endfor fi fi - elseif color e:: color_list[incr cntC]:=e; - for list==t:: PA(_set_adr,list) PA(_set_colorB,cntC) endfor + elseif color e:: color_list[incr cntC]:=e; PX(t)(_set_colorB,cntC) fi fi - cntD[def_int]:=nA; - def_int %------- Retern value ------- + sub_int %------- Retern value ------- enddef; %------------------------------------------------------------------------------------------------- -vardef @@(text t)(expr s)= - nA:=0; - def_int:=def_int+1; - if known s:: if numeric s:: - if (s>=H)and(s<=U):: - for list==t:: - if s==N:: PA(_N,list) elseif s==O:: PA(_O,list) elseif s==S:: PA(_S,list) - else:: PA(_set_adr,list) PA(_chg_atom,s) fi endfor - elseif s==NH:: for list==t:: if numeric list:: PAs((_N,list),~~nl,'`_size_a,(_H,list)) - elseif pair list:: PAs(list) fi endfor - elseif s==SOO:: for list==t:: PAs((_S,list),(_set_adr,list), - ^^35,~~dm,(_set_psA,O),^^-35,~~dm,(_set_psA,O)) endfor - elseif s==SO:: for list==t:: - if numeric list:: PAs((_S,list),(_set_adr,list),~~dm,(_set_psA,O)) - elseif pair list:: PAs(list) fi endfor +vardef change_atom(text t)(expr e)= + sub_int:=sub_int+1; + cntD[sub_int]:=0; + if known e:: if numeric e:: + if (e>=H)and(e<=U):: + if e==N:: PP(t)(_N) + elseif e==O:: PP(t)(_O) + elseif e==S:: PP(t)(_S) + else:: PX(t)(_chg_atom,e) + fi + elseif e==NH:: PA(_set_clr,1) PP(t)(_N) PX(t)(_postH,H) PA(_set_clr,0) + elseif e==JP_AT:: PA(_jp_atom,t) fi - elseif pair s:: nE:=xpart(s); nF:=ypart(s); PA(_set_clr,1) - for list==t:: - if numeric list:: - if nE==_postA:: elseif nE==_postB:: PAs(~~dm) - elseif nE==_postC:: PAs(~~wf) elseif nE==_postD:: PAs(~~zf) - elseif nE==_postE:: PAs(~~nl) elseif nE==_postF:: PAs(~~0) - fi - PA(_set_adr,list) PA(_set_psA,nF) - elseif pair list:: PAs(list) fi - endfor - PA(_set_clr,0) - elseif color s:: color_list[incr cntC]:=s; - for list==t:: PA(_set_adr,list) PA(_set_colorA,cntC) endfor fi fi - cntD[def_int]:=nA; - def_int %------- Retern value ------- + elseif pair e:: PA(_set_clr,1) PX(t)(xpart(e),ypart(e)) PA(_set_clr,0) + elseif color e:: color_list[incr cntC]:=e; PX(t)(_set_colorA,cntC) + fi fi + sub_int %------- Retern value ------- enddef; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% def ext_setup= @@ -362,9 +364,9 @@ enddef; %-------------------------------------------------------------------------------------------------- def ext(text s)= begingroup - save wd,ht,n,l,p,sp,ep,am,em,aw,A,B,currentscale; + save wd,ht,n,l,p,am,em,aw,A,B,Bs,Be,currentscale; numeric A[]bra,B[]ang; - pair p[],A[],B[],sp,ep; + pair p[],A[],B[],Bs[],Be[]; ext_setup; wd:=mol_wd; ht:=mol_ht; @@ -374,7 +376,11 @@ def ext(text s)= An:=cntA; Bn:=cntB; for i=1 upto An: A[i]:=posA[i]; A[i]bra:=ang_br[i]; endfor - for i=1 upto Bn: sp:=posA[sB[i]]; ep:=posA[eB[i]]; B[i]:=0.5[sp,ep]; B[i]ang:=angB[i]; endfor + for i=1 upto Bn: + Bs[i]:=posA[sB[i]]; Be[i]:=posA[eB[i]]; + B[i]:=0.5[Bs[i],Be[i]]; + B[i]ang:=angB[i]; + endfor s addto mol_stru[cntM] also currentpicture; clearit; endgroup; enddef; @@ -460,6 +466,29 @@ def ahead_angle(expr p) = angle direction .5ahlength/length(point 1 of p - point 0 of p) of p enddef; %================================================================================================= +def sub_add(expr a,b)= + cntD[sub_int]:=cntD[sub_int]+1; comD[sub_int][cntD[sub_int]]:=a; parD[sub_int][cntD[sub_int]]:=b; +enddef; +def sub_add_op(expr a,b)= + op_cnt[cntP]:=op_cnt[cntP]+1; op_com[cntP][op_cnt[cntP]]:=a; op_par[cntP][op_cnt[cntP]]:=b; +enddef; +def sub_pro(text t)(expr a)= + for list==t:: + if list>=sub_int_start:: for i==1 upto cntD[list]:: sub_add(a,parD[list][i]) endfor + else:: sub_add(a,list) fi + endfor +enddef; +def sub_ext(text t)(expr a,b)= + for list==t:: + if list>=sub_int_start:: + for i==1 upto cntD[list]:: + if comD[list][i]<>_numeric:: sub_add(comD[list][i],parD[list][i]) + else:: sub_add(_set_adr,parD[list][i]) sub_add(a,b) fi + endfor + else:: sub_add(_set_adr,list) sub_add(a,b) fi + endfor +enddef; +%------------------------------------------------------------------------------------------------- def MCa(expr FW,FH)(text s)= MCd(1,1)(FW,FH)(s) enddef; def MCc(expr RW,RH)(text s)= MCd(RW,RH)(0.5,0.5)(s) enddef; def MCf(text s)= MCd(1,1)(0.5,0.5)(s) enddef; @@ -467,23 +496,22 @@ def MCf(text s)= MCd(1,1)(0.5,0.5)(s) enddef; def MCd(expr RW,RH)(expr FW,FH)(text TX)= begingroup save com,par,adrA,adrB,f_bra,envT,envB,lenT,lineT,strAT,stkA,stkB,stkL,stkM,cntP,bondL,temp_len, - temp_cntB,f_end,f_term,rotT,adrS,f_lineT,f_rotT,f_lenT,f_envT,angT,tempB,glu,xpos,ypos, + temp_cntB,f_end,f_term,rotT,adrS,f_at,f_lineT,f_rotT,f_lenT,f_envT,angT,tempB,glu,xpos,ypos, str_len,max_x,max_y,par_s,par_e,score_u,hat,f_char,ps_adr,ps_com,op_com,op_par,op_cnt,crR, - colorA,colorB; + colorA,colorB,PA,PO,PP,PX; %----------------------------------------------------------------------------------------------- - save PA,PAs,PP,PG; - def PA(expr a,b)= comD[def_int][incr nA]:=a; parD[def_int][nA]:=b; enddef; - def PAs(text t)= for list==t:: PA(xpart(list),ypart(list)) endfor enddef; - def PP(expr a,b)= op_com[cntP][incr op_cnt[cntP]]:=a; op_par[cntP][op_cnt[cntP]]:=b; enddef; - def PG(expr a,b)= comD[0][incr cntD[0]]:=a; parD[0][cntD[0]]:=b; enddef; + def PA= sub_add enddef; + def PO= sub_add_op enddef; + def PP= sub_pro enddef; + def PX= sub_ext enddef; %----------------------------------------------------------------------------------------------- numeric stkB[],stkA[],stkL[],stkM[],f_char[],ps_adr[],ps_com[],colorA[],colorB[], op_com[][],op_par[][],op_cnt[]; %----------------------------------------------------------------------------------------------- if (sw_numberA>=1)or(sw_numberB>=1): ratio_atom_bond:=0.25; fi if (sw_expand=1)or(sw_MOLout=1): expand_set; fi - def_num:=def_usr_start; - def_int:=def_int_start; + sub_usr:=sub_usr_start; + sub_int:=sub_int_start; par_s:=ASCII("{"); par_e:=ASCII("}"); score_u:=ASCII("_"); hat:=ASCII("^"); cntA:=cntB:=cntP:=cntC:=0; strD[0]:=""; str_cnt:=2000; crR:=-ratio_chain_ring; %=============================================================================================== @@ -514,7 +542,7 @@ def MCd(expr RW,RH)(expr FW,FH)(text TX)= if (sw_numberA>=1)and(i>=numberA_start)and(i<=numberA_end): if sw_numberA=2: nA:=i-numberA_start+1; elseif sw_numberA=3: if numberA_end=1: @@ -530,16 +558,20 @@ def MCd(expr RW,RH)(expr FW,FH)(text TX)= addto mol_stru[cntM] also currentpicture; clearit; endgroup; + %-------------------------------------------------------------------------------------------------- +%%%% message "count of usr ="& decimal(sub_usr) &" "& decimal(sub_usr-sub_usr_start); +%%%% message "count of int ="& decimal(sub_int) &" "& decimal(sub_int-sub_int_start); + %-------------------------------------------------------------------------------------------------- enddef; %------------------------------------------------------------------------------------------------- def ps_put(expr n,p)= ps_adr[incr cntP]:=n; ps_com[cntP]:=p; op_cnt[cntP]:=0; - if lineT<>0: PP(_tmp_line,lineT) fi - if rotT<>0: PP(_rot_ang,rotT) fi - if lenT<>crR: PP(_chg_len,lenT) fi - if envT<>hz: PP(_chg_env,envT) fi - if lineT=nl: PP(_chg_len,_size_a) PP(_adj_ang,0) fi - if lineT<>0: PP(_mk_bond,0) fi + if lineT<>0: PO(_tmp_line,lineT) fi + if rotT<>0: PO(_rot_ang,rotT) fi + if lenT<>crR: PO(_chg_len,lenT) fi + if envT<>hz: PO(_chg_env,envT) fi + if lineT=nl: PO(_chg_len,_size_a) PO(_adj_ang,0) fi + if lineT<>0: PO(_mk_bond,0) fi if f_lineT=0: lineT:=si; fi if f_lenT=0: lenT:=crR; fi if f_rotT=0: rotT:=0; fi @@ -547,13 +579,15 @@ def ps_put(expr n,p)= enddef; %------------------------------------------------------------------------------------------------- def ps_get(expr n)= + save sub_int; + sub_int:=0; nA:=cntP; nB:=cntD[0]; for i=n upto cntP: - PG(_jp_atom_abs,ps_adr[i]) PG(_push,1) - for j=1 upto op_cnt[i]: PG(op_com[i][j],op_par[i][j]) endfor - for j=1 upto cntD[ps_com[i]]: PG(comD[ps_com[i]][j],parD[ps_com[i]][j]) endfor - PG(_pop,1) PG(_term,0) + PA(_jp_atom_abs,ps_adr[i]) PA(_push,1) + for j=1 upto op_cnt[i]: PA(op_com[i][j],op_par[i][j]) endfor + for j=1 upto cntD[ps_com[i]]: PA(comD[ps_com[i]][j],parD[ps_com[i]][j]) endfor + PA(_pop,1) PA(_term,0) endfor proc_bond_atom(nB+1); if cntP>nA: ps_get(nA+1); fi enddef; @@ -615,7 +649,7 @@ def char_use_check= enddef; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% def proc_bond_atom(expr n)= - f_bra:=f_end:=f_term:=rotT:=adrS:=f_lineT:=f_rotT:=f_lenT:=f_envT:=envT:=envB:=strAT:=0; + f_bra:=f_end:=f_term:=rotT:=adrS:=f_lineT:=f_rotT:=f_lenT:=f_envT:=envT:=envB:=strAT:=f_at:=0; stkL[0]:=bondL:=crR; lenT:=crR; sB[0]:=0; eB[0]:=1; lineT:=si; for i=0 upto 5: stkA[i]:=stkB[i]:=0; endfor %----------------------------------------------------------------------------------------------- @@ -630,15 +664,15 @@ def proc_bond_atom(expr n)= elseif com=_mk_bond: if (par=0)and(rotT<>0): rotT:=0; fi add_atom; elseif com=_set_adr: adrT:=par; elseif com=_set_atom: strAT:=par; - elseif com=_set_psA: ps_put(getA(adrT),par); - elseif com=_postA: ps_put(cntA+1,par); - elseif com=_postB: lineT:=dm; ps_put(cntA+1,par); - elseif com=_postC: lineT:=wf; ps_put(cntA+1,par); - elseif com=_postD: lineT:=zf; ps_put(cntA+1,par); - elseif com=_postE: lineT:=nl; ps_put(cntA+1,par); - elseif com=_postF: lineT:=0; ps_put(cntA+1,par); - elseif com=_jp_bond: tempB:=getB(par); sB[cntB+1]:=sB[tempB]; f_bra:=1; - elseif com=0or_jp_atom: termA; sB[cntB+1]:=getA(par); f_bra:=1; + elseif com=_postA: if f_at=1: ps_put(getA(adrT),par); else: ps_put(cntA+1,par); fi + elseif com=_postB: lineT:=dm; if f_at=1: ps_put(getA(adrT),par); else: ps_put(cntA+1,par); fi + elseif com=_postC: lineT:=wf; if f_at=1: ps_put(getA(adrT),par); else: ps_put(cntA+1,par); fi + elseif com=_postD: lineT:=zf; if f_at=1: ps_put(getA(adrT),par); else: ps_put(cntA+1,par); fi + elseif com=_postE: lineT:=nl; if f_at=1: ps_put(getA(adrT),par); else: ps_put(cntA+1,par); fi + elseif com=_postF: lineT:=0; if f_at=1: ps_put(getA(adrT),par); else: ps_put(cntA+1,par); fi + elseif com=_postH: lineT:=nl; lenT:=_size_a; ps_put(getA(adrT),par); + elseif com=_jp_bond: termA; tempB:=getB(par); sB[cntB+1]:=sB[tempB]; f_bra:=1; + elseif com=_jp_atom: termA; sB[cntB+1]:=getA(par); f_bra:=1; elseif com=_jp_atom_abs: sB[cntB+1]:=par; f_bra:=1; temp_cntB:=cntB; elseif com=_chg_atom: numS[getA(adrT)]:=parD[par][1]; elseif com=_N: numS[getA(par)]:=parD[N][1]; @@ -661,9 +695,11 @@ def proc_bond_atom(expr n)= elseif com=_chg_env: envB:=par; elseif com=_tmp_env: envT:=par; elseif com=_set_clr: - if par=1: if lineT<>si: f_lineT:=1; fi if rotT<>0: f_rotT:=1; fi - if lenT<>crR: f_lenT:=1; fi if envT<>hz: f_envT:=1; fi fi - if par=0: f_lineT:=f_rotT:=f_lenT:=f_envT:=rotT:=envT:=0; lineT:=si; lenT:=crR; fi + f_at:=par; + if par=1: if lineT<>si: f_lineT:=1; fi if rotT<>0: f_rotT:=1; fi + if lenT<>crR: f_lenT:=1; fi if envT<>hz: f_envT:=1; fi + elseif par=0: f_lineT:=f_rotT:=f_lenT:=f_envT:=rotT:=envT:=0; lineT:=si; lenT:=crR; + fi elseif com=_stack_reset: stkA[adrS+1]:=0; elseif com=_term: termA; elseif com=_set_colorA: colorA[getA(adrT)]:=par; @@ -682,7 +718,7 @@ def add_atom= enddef; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% def proc_skeleton= - adrA:=adrB:=cntA:=cntB:=angT:=adrS:=f_end:=f_bra:=rotT:=f_term:=0; + adrA:=adrB:=cntA:=cntB:=angT:=adrS:=f_end:=f_bra:=rotT:=f_term:=f_at:=0; envT:=envB:=f_lineT:=f_rotT:=f_lenT:=f_envT:=stkM[0]:=0; lineT:=si; angA[0]:=angB[0]:=ang_br[0]:=0; posA[0]:=posBs:=posBe:=(0,0); for i=0 upto 5: stkA[i]:=stkB[i]:=0; endfor @@ -694,9 +730,9 @@ def proc_skeleton= elseif par=0: temp_len:=bondL; fi elseif com=_pop: if par=1: adrA:=stkA[decr adrS]; adrB:=stkB[adrS]; envB:=stkM[adrS]; elseif par=0: temp_len:=bondL; fi - elseif com=_jp_bond: tempB:=getB(par); posBs:=posA[sB[tempB]]; - angT:=angB[tempB]-180; f_bra:=1; rotT:=0; - elseif com=0or_jp_atom: termB; adrT:=getA(par); posBs:=posA[adrT]; + elseif com=_jp_bond: termB; tempB:=getB(par); posBs:=posA[sB[tempB]]; + angT:=angB[tempB]; f_bra:=1; rotT:=0; + elseif com=_jp_atom: termB; adrT:=getA(par); posBs:=posA[adrT]; angT:=ang_br[adrT]; f_bra:=1; rotT:=0; elseif com=_jp_atom_abs: adrT:=par; posBs:=posA[adrT]; angT:=ang_br[adrT]; f_bra:=1; rotT:=0; temp_cntB:=cntB; @@ -705,10 +741,10 @@ def proc_skeleton= elseif com=_mk_bond: if (par=0)and(rotT<>0):par:=rotT; rotT:=0; fi add_bond(par); elseif com=_rot_ang: angT:=(angT+par) mod 360; elseif com=_tmp_rot: rotT:=par; - elseif (com>=_postA)and(com<=_postE): rotT:=0; + elseif (com>=_postA)and(com<=_postH): rotT:=0; elseif com=_chg_env: envB:=par; elseif com=_tmp_env: envT:=par; - elseif com=_set_clr: f_clr:=par; if par=0: lineT:=si; lenT:=crR; rotT:=envT:=0; fi + elseif com=_set_clr: f_at:=par; if par=0: lineT:=si; lenT:=crR; rotT:=envT:=0; fi elseif com=_cyc: f_end:=1; proc_cyc(getA(par)); elseif com=_cyc_sB: f_end:=1; proc_cyc(sB[getB(par)]); elseif com=_cyc_eB: f_end:=1; proc_cyc(eB[getB(par)]); @@ -754,7 +790,7 @@ def glu_c(expr n)= if numS[n]<>0: nB:=angT mod 180; nC:=.5tbl_str_wd[numS[n]]*a else :glu:=glu+((cosd(nB)*.5atom_wd)++.5atom_wd) fi fi enddef; vardef proc_env(expr n,m,a,b)= r:=(n mod 360); - if m>=def_emb_start: parD[m][cntB-temp_cntB] else: + if m>=sub_emb_start: parD[m][cntB-temp_cntB] else: if m=hz:if r=0:a elseif r<=90:b elseif r<=180:a elseif r<270:b else:a fi elseif m=vt:if r=0:b elseif r<90:a elseif r<=180:b elseif r<=271:a else:b fi elseif (m>=-180)and(m<=180): m fi fi @@ -871,7 +907,7 @@ def clipping(expr SA,SB,PA,PB,LEN)= pB:=nA[PA,PB]--nA[PB,PA]; pC:=pA:=Ls--Le; fi enddef; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -def_num:=def_emb_start; +sub_usr:=sub_emb_start; %------------------------------------------------------------------------------------------------- lr:='(60 for i==1 upto 10:: ,-60,60 endfor); rl:='(-60,lr); def ring expr n= <((-180 DIV n)-90),(_chg_len,0), @@ -896,11 +932,12 @@ Ag:='("{Ag}");Au:='("{Au}");Sn:='("{Sn}");Cl:='("{Cl}");Br:='("{Br}");Li:='("{Li Na:='("{Na}");Ca:='("{Ca}");Hg:='("{Hg}");Ni:='("{Ni}");Ti:='("{Ti}");U:='("U"); %------------------------------------------------------------------------------------------------- R:='("R"); R1:='("{R^1^}"); R2:='("{R^2^}"); R3:='("{R^3^}"); R4:='("R^4^"); R5:='("{R^5^}"); +JP_AT:='(); %------------------------------------------------------------------------------------------------- plus:='("+"); minus:='("-"); HH:='("H{_2_}"); NH:='(N,*/*H); NnoH:='(); SO:='(S,//O); SOO :='(S,//O^-35,//O^35); CHO:='("CHO"); OH:='("OH"); COOH:='("COOH"); CH2:='("C{H_2_}"); CH3:='("C{H_3_}"); CN:='("CN"); NH2:='("N{H_2_}"); NO2:='("N{O_2_}"); SH:='("SH"); -SO3:='("S{O_3_}"); NMe:=N!:='(N,/Me); iPr:=Me!:='(60,-2\); tBu:='(60,-2\,-3*,60); +SO3:='("S{O_3_}"); NMe:=N!:='(N,/Me); iPr:=Me!:='(/Me,60); tBu:='(/Me,/Me^60,60); OMe:=O!:='(O,!); OEt:=O!2:='(O,!2); OPr:=O!3:='(O,!3); OiPr:=OMe!:='(O,!,iPr); SMe:=S!:='(S,!); SEt:=S!2:='(S,!2); SPr:=S!3:='(S,!3); SiPr:=SMe!:='(S,!,iPr); COOMe:=COO!:='(//O,!,O,!); COMe:=CO!:='(//O,!); COEt:=CO!2:='(//O,!2); @@ -918,6 +955,8 @@ CCl3:='(/Cl,/Cl^60,60,Cl);CBr3:='(/Br,/Br^60,60,Br);O_H:='(O,!,H);CO_H:='(//O,!, CO_OH:='(//O,!,O,!,H); C_N:='(!~tm,N); N_HH:='(N,/H,60,H); N_OO:='(N,//O,60~dm,O); S_H:='(S,!,H); N_H:='(N,/H); C_HHH:='(/H,/H^60,60,H); %-------------------------------------------------------------------------------------------------- +%%%%%%message "count of sub_usr =" & decimal(sub_usr); +%-------------------------------------------------------------------------------------------------- def expand_set= save CH,NH,NO,OH,CHO,COOH,CN,SH; CH3:=C_HHH; NH:=N_H; NH2:=N_HH; NO2:=N_OO; OH:=O_H; CHO:=CO_H; COOH:=CO_OH; CN:=C_N; SH:=S_H; -- cgit v1.2.3