From 26d5c51066cc6a4f833138783d77c0889b273f28 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sat, 6 Aug 2016 22:38:49 +0000 Subject: mcf2graph (6aug16) git-svn-id: svn://tug.org/texlive/trunk@41814 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG | 7 +- Master/texmf-dist/doc/metapost/mcf2graph/README | 4 +- .../doc/metapost/mcf2graph/mcf_exa_soc.mf | 17 +- .../doc/metapost/mcf2graph/mcf_example.pdf | Bin 241608 -> 241812 bytes .../doc/metapost/mcf2graph/mcf_example.tex | 2 +- .../doc/metapost/mcf2graph/mcf_man_soc-035.eps | 77 ------- .../doc/metapost/mcf2graph/mcf_man_soc-042.eps | 90 ++++++++ .../doc/metapost/mcf2graph/mcf_man_soc.mf | 99 +++++++-- .../doc/metapost/mcf2graph/mcf_manual.pdf | Bin 430115 -> 476539 bytes .../doc/metapost/mcf2graph/mcf_manual.tex | 241 ++++++++++++++++----- .../doc/metapost/mcf2graph/mcf_mplib_exa.pdf | Bin 123678 -> 123162 bytes .../doc/metapost/mcf2graph/mcf_mplib_exa.tex | 11 +- Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf | 35 ++- 13 files changed, 401 insertions(+), 182 deletions(-) delete mode 100644 Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc-035.eps create mode 100644 Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc-042.eps diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG b/Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG index d214c28b950..611d4ab2851 100644 --- a/Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG +++ b/Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG @@ -1,6 +1,11 @@ ******************************************************************************* - Changelog of mcf2graph software package by Akira Yamaji 2016-07-10 + Changelog of mcf2graph software package by Akira Yamaji 2016-08-06 ******************************************************************************* +[ver. 3.96 / 2016-08-06] + -large scaled rings can fuse + 5,6,7,8 membered ring scaled 11/10,12/10,13/10,14/10,15/10 + -update MCF syntax manual + [ver. 3.95 / 2016-07-10] -improve bond type 'ov' -update MCF syntax manual and example diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/README b/Master/texmf-dist/doc/metapost/mcf2graph/README index 45491fa57d8..9a1a8a58a9a 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 : 3.95 2016-07-10 + version : 3.96 2016-08-06 E-mail : mcf2graph@gmail.com Located at : http://www.ctan.org/pkg/mcf2graph ******************************************************************************** @@ -19,7 +19,7 @@ ( 3) mcf2graph.mf Macro of Metafont / Metapost ( 4) mcf_manual.tex MCF syntax manual(LaTeX file) ( 5) mcf_man_soc.mf Molecular difinition file for mcf_manual.tex - ( 6) mcf_man_soc-035.eps No.31 EPS(with color) file of (4) + ( 6) mcf_man_soc-042.eps No.42 EPS(with color) file of (4) ( 7) mcf_manual.pdf PDF of (4) (used LaTeX,dvipdfmx) ( 8) mcf_example.tex LaTeX example, Make file 'mcf_exa_soc-info.aux' before typeset 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 dcc3ebbcdb0..e0833ba7e6e 100644 --- a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_exa_soc.mf +++ b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_exa_soc.mf @@ -1,5 +1,5 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Molecular Coding Format for mcf_example.tex by Akira Yamaji 2016.06.19 +% Molecular Coding Format for mcf_example.tex by Akira Yamaji 2016.08.06 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% input mcf2graph.mf; %------------------------------------------------------------------------- @@ -27,7 +27,7 @@ var4:="cal_MW"; tag4:="cMW"; %%%% sw_checklist:=1; %%%% sw_MOLout:=1; %%%% outputformat:="png"; hppp:=vppp:=0.1; outputtemplate:="%j-%3c.png"; -%*************************************************************************** +%************************************************************************** beginfont("EN:Acetamiprid") MCf(<30,Ph,4\,!,NH,!,!~dr,N,!,CN) endfont @@ -92,8 +92,8 @@ beginfont("EN:Tetraconazole") endfont %*************************************************************************** beginfont("EN:Endosulfan"); - MCf(<30,?6`1.3,3=?7,2*,210~wf`1.45,&5~wb,6=d, - @(1,2,5,6,12^-210,12^-150)/Cl,@(8,10)O,9:S,9://O) + MCf(<26,?7,7=?6[13],11*,208~wf`1.45,&8~wb,10=dl,@(3,5)O,4:S,4://O, + @(8,9,10,11,12^-210,12^-150)/Cl) endfont; %*************************************************************************** beginfont("EN:Flutolanil") @@ -220,10 +220,9 @@ MCf(<54,{,``1,?5,$(2,5)dl,4:N,3\,54~dl,|,?5,$(2,4)dl,5:N, endfont %************************************************************************** beginfont("EN:Gibberellin A3"); - MCf(<12,?6`1.3,3=?5,9=?7,12\^160`1.6,&8, - 4\^155~zf`1.2,O,55,//O^180`1,&2~zb, - 5=dl,11=wf,13=wb,7:/COOH,11://Me,1:*/OH,12:/*OH,2:*/Me, - @(3^-60,9^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://Me,13:*/OH,8:/*OH,14:*/Me,@(1^60,4^60)*/H) endfont; %************************************************************************** beginfont("EN:Cholesterol") @@ -390,5 +389,3 @@ beginfont("EN:Atoropin") endfont %*************************************************************************** bye -***** -bye diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.pdf b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.pdf index 4d1aeb8c6d0..be83fbebaf0 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_example.tex b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.tex index 26e298caed9..29d915c3f97 100644 --- a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.tex +++ b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.tex @@ -1,5 +1,5 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Example of MCF typeset by LaTeX mcf_examples.tex by A.Yamaji 2016.7.10 +% Example of MCF typeset by LaTeX mcf_examples.tex by A.Yamaji 2016.8.06 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \documentclass[a4paper]{article} \usepackage{graphicx} diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc-035.eps b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc-035.eps deleted file mode 100644 index f307e5d2162..00000000000 --- a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc-035.eps +++ /dev/null @@ -1,77 +0,0 @@ -%!PS -%%BoundingBox: 47 20 112 93 -%%HiResBoundingBox: 47.18906 20.76202 111.88002 92.6236 -%%Creator: MetaPost 1.9991 -%%CreationDate: 2016.07.10:0747 -%%Pages: 1 -%%BeginProlog -%%EndProlog -%%Page: 1 1 - 0 0 0 setrgbcolor 0 0.65842 dtransform truncate idtransform setlinewidth pop - [] 0 setdash 1 setlinecap 1 setlinejoin 10 setmiterlimit -newpath 58.52762 41.38638 moveto -78.5395 29.83258 lineto stroke -newpath 63.62425 44.09106 moveto -80.98482 34.068 lineto stroke -newpath 91.53891 29.83247 moveto -111.55081 41.38638 lineto stroke - 0 1 0 setrgbcolor 0.65842 - 0 dtransform exch truncate exch idtransform pop setlinewidth -newpath 111.55081 41.38638 moveto -111.55081 71.99925 lineto stroke -newpath 106.66019 44.44786 moveto -106.66019 68.93777 lineto stroke - 0 0 0 setrgbcolor 0 0.65842 dtransform truncate idtransform setlinewidth pop -newpath 111.55081 71.99925 moveto -91.53891 83.55305 lineto stroke -newpath 78.5395 83.55315 moveto -58.52762 71.99925 lineto stroke -newpath 80.98482 79.31773 moveto -63.62425 69.29457 lineto stroke - 0.65842 0 dtransform exch truncate exch idtransform pop setlinewidth -newpath 58.52762 71.99925 moveto -58.52762 41.38638 lineto stroke - 1 0 0 setrgbcolor -newpath 79.7213 20.76202 moveto -80.70894 20.76202 lineto -80.70894 31.39784 lineto -79.7213 31.39784 lineto - closepath fill -newpath 89.36948 20.76202 moveto -90.35712 20.76202 lineto -90.35712 31.39784 lineto -89.36948 31.39784 lineto - closepath fill -newpath 81.10399 31.39784 moveto -79.7213 31.39784 lineto -88.97443 20.76202 lineto -90.35712 20.76202 lineto - closepath fill - 0 0 1 setrgbcolor -newpath 79.7213 81.98778 moveto -80.70894 81.98778 lineto -80.70894 92.6236 lineto -79.7213 92.6236 lineto - closepath fill -newpath 89.36948 81.98778 moveto -90.35712 81.98778 lineto -90.35712 92.6236 lineto -89.36948 92.6236 lineto - closepath fill -newpath 81.10399 92.6236 moveto -79.7213 92.6236 lineto -88.97443 81.98778 lineto -90.35712 81.98778 lineto - closepath fill - 0 0 0 setrgbcolor -newpath 55.69298 40.25252 moveto -55.69298 42.52025 lineto -47.18906 42.52025 lineto -47.18906 40.25252 lineto - closepath fill -newpath 52.85834 38.55174 moveto -58.52762 41.38638 lineto -52.85834 44.22102 lineto - closepath fill -showpage -%%EOF diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc-042.eps b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc-042.eps new file mode 100644 index 00000000000..8e619518cfa --- /dev/null +++ b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc-042.eps @@ -0,0 +1,90 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%BoundingBox: 47 20 112 93 +%%HiResBoundingBox: 47.18906 20.76202 111.88002 92.6236 +%%Creator: MetaPost 1.9991 +%%CreationDate: 2016.08.06:0835 +%%Pages: 1 +%%DocumentResources: procset mpost-minimal +%%DocumentSuppliedResources: procset mpost-minimal +%%EndComments +%%BeginProlog +%%BeginResource: procset mpost-minimal +/bd{bind def}bind def/fshow {exch findfont exch scalefont setfont show}bd +/fcp{findfont dup length dict begin{1 index/FID ne{def}{pop pop}ifelse}forall}bd +/fmc{FontMatrix dup length array copy dup dup}bd/fmd{/FontMatrix exch def}bd +/Amul{4 -1 roll exch mul 1000 div}bd/ExtendFont{fmc 0 get Amul 0 exch put fmd}bd +/ScaleFont{dup fmc 0 get Amul 0 exch put dup dup 3 get Amul 3 exch put fmd}bd +/SlantFont{fmc 2 get dup 0 eq{pop 1}if Amul FontMatrix 0 get mul 2 exch put fmd}bd +%%EndResource +%%EndProlog +%%BeginSetup +%%EndSetup +%%Page: 1 1 + 0 0 0 setrgbcolor 0 0.65842 dtransform truncate idtransform setlinewidth pop + [] 0 setdash 1 setlinecap 1 setlinejoin 10 setmiterlimit +newpath 58.52762 41.38638 moveto +78.5395 29.83258 lineto stroke +newpath 63.62425 44.09106 moveto +80.98482 34.068 lineto stroke +newpath 91.53891 29.83247 moveto +111.55081 41.38638 lineto stroke + 0 1 0 setrgbcolor 0.65842 + 0 dtransform exch truncate exch idtransform pop setlinewidth +newpath 111.55081 41.38638 moveto +111.55081 71.99925 lineto stroke +newpath 106.66019 44.44786 moveto +106.66019 68.93777 lineto stroke + 0 0 0 setrgbcolor 0 0.65842 dtransform truncate idtransform setlinewidth pop +newpath 111.55081 71.99925 moveto +91.53891 83.55305 lineto stroke +newpath 78.5395 83.55315 moveto +58.52762 71.99925 lineto stroke +newpath 80.98482 79.31773 moveto +63.62425 69.29457 lineto stroke + 0.65842 0 dtransform exch truncate exch idtransform pop setlinewidth +newpath 58.52762 71.99925 moveto +58.52762 41.38638 lineto stroke + 1 0 0 setrgbcolor +newpath 79.7213 20.76202 moveto +80.70894 20.76202 lineto +80.70894 31.39784 lineto +79.7213 31.39784 lineto + closepath fill +newpath 89.36948 20.76202 moveto +90.35712 20.76202 lineto +90.35712 31.39784 lineto +89.36948 31.39784 lineto + closepath fill +newpath 81.10399 31.39784 moveto +79.7213 31.39784 lineto +88.97443 20.76202 lineto +90.35712 20.76202 lineto + closepath fill + 0 0 1 setrgbcolor +newpath 79.7213 81.98778 moveto +80.70894 81.98778 lineto +80.70894 92.6236 lineto +79.7213 92.6236 lineto + closepath fill +newpath 89.36948 81.98778 moveto +90.35712 81.98778 lineto +90.35712 92.6236 lineto +89.36948 92.6236 lineto + closepath fill +newpath 81.10399 92.6236 moveto +79.7213 92.6236 lineto +88.97443 81.98778 lineto +90.35712 81.98778 lineto + closepath fill + 0 0 0 setrgbcolor +newpath 55.69298 40.25252 moveto +55.69298 42.52025 lineto +47.18906 42.52025 lineto +47.18906 40.25252 lineto + closepath fill +newpath 52.85834 38.55174 moveto +58.52762 41.38638 lineto +52.85834 44.22102 lineto + closepath fill +showpage +%%EOF 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 e36123c5a99..8dcf33c778e 100644 --- a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc.mf +++ b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc.mf @@ -1,5 +1,5 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Molecular Coding Format file for mcf_manual.tex by Akira.Yamaji 2016.07.10 +% Molecular Coding Format file for mcf_manual.tex by Akira.Yamaji 2016.08.06 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% input mcf2graph.mf; %------------------------------------------------------------------------ @@ -33,6 +33,13 @@ beginfont("EN:Chain 2") ) endfont %*********************************************************************** +beginfont("EN:Jump and Branch") + sw_numberA:=1; + max_bond_width:=0.20; + ratio_chain_ring:=1; + MCf(<30,!6,3*,0,!,5*,-30) +endfont +%*********************************************************************** beginfont("EN:Jump and Branch") sw_numberA:=1; max_bond_width:=0.20; @@ -60,17 +67,27 @@ endfont %*********************************************************************** beginfont("EN:change bond 1") ratio_chain_ring:=1; - MCf(<30,!~dm,!~dl,!~dr,!~wf,!~wb,!~zf,!~zb) + MCf(<30,!~dm,!~dl,!~dr,!~tm) endfont %*********************************************************************** beginfont("EN:change bond 2") ratio_chain_ring:=1; - MCf(<30,!5,1=vf,2=vb,3=tm,4=dt,5=wv) + MCf(<30,!~wf,!~wb,!~zf,!~zb) endfont %*********************************************************************** beginfont("EN:change bond 3") ratio_chain_ring:=1; - MCf(<30,!3,!`2,!,$(2,4)dr,@(3~bd`2^-30,5~ov^85`3,3~bz`3^-70)/Me) + MCf(<30,!4,1=vf,2=vb,3=dt,4=wv) +endfont +%*********************************************************************** +beginfont("EN:change bond 4") + ratio_chain_ring:=1; + MCf(<30,!3,!`2,!,@(3~bd`2^-30,5~ov^85`3,3~bz`3^-70)/Me) +endfont +%*********************************************************************** +beginfont("EN:change bond 4") + ratio_chain_ring:=1; + MCf(<30,!7,$(2,4,6)dr) endfont %*********************************************************************** beginfont("EN:change bond length1") @@ -85,6 +102,12 @@ beginfont("EN:change bond length2") MCf(<30,!2,``1.2,!4) endfont %*********************************************************************** +beginfont("EN:Make brock") + sw_start_vector:=1; + sw_numberB:=1; + MCf(<30,!2,{,``1.2,!2,},!2) +endfont +%*********************************************************************** beginfont("EN:change ring length") sw_start_vector:=1; MCf(?6,4\,?6`1.2,5=?6,11=?6) @@ -107,8 +130,14 @@ beginfont("EN:change atom 3") MCd(.7,1)(.5,0)(?6,4\,?6) endfont %*********************************************************************** -beginfont("EN:change atom brock address") - MCd(.7,1)(.5,1)(?6,4\,|,?6,2:O,||,2:N) +beginfont("EN:change atom brock address 1") + MCd(.7,1)(.5,1)(?6,4\,|,?6,2:O) + sw_numberA:=1; + MCd(.7,.5)(.5,0)(?6,4\,?6) +endfont +%*********************************************************************** +beginfont("EN:change atom brock address 2") + MCd(.7,1)(.5,1)(?6,4\,|,?6,||,2:N) sw_numberA:=1; MCd(.7,.5)(.5,0)(?6,4\,?6) endfont @@ -125,10 +154,14 @@ beginfont("EN:change atom relative adress") MCd(.7,1)(.5,0)(?6,4\,?6) endfont %*********************************************************************** -beginfont("EN:fused ring 1") - sw_start_vector:=1; +beginfont("EN:fused ring") sw_numberB:=1; - MCf(<30,?6,3=?5,$(3)dt,$(7,8,9,10)bd) + MCf(<30,?6,3=?6,$(3)dt,$(7,8,9,10,11)bd) +endfont +%*********************************************************************** +beginfont("EN:fused large 6 ring") + sw_numberB:=1; + MCf(<30,?6,3=?6[13],$(3)dt,$(7,8,9,10,11)bd) endfont %*********************************************************************** beginfont("EN:fused ring 1") @@ -146,9 +179,14 @@ endfont %*********************************************************************** beginfont("EN:fused ring 3") sw_numberB:=1; - MCd(1,.55)(0 ,0)(?6,$(3,10)?6,(16,4)=?6[3],$(16,4)dt,$(17,18,19)bd) - MCd(1,.5)(.5,1)(?6,$(3,10)?6,(16,4)=?5[2],$(16,4)dt,$(17,18)bd) - MCd(1,.60)(1 ,0)(?6,$(3,10,15)?6,(21,4)=?6[2],$(21,4)dt,$(22,23)bd) + MCd(1,.6)(0,1)(?6,$(3,10)?6,(16,4)=?6[3],$(16,4)dt,$(17,18,19)bd) + MCd(1,.6)(1,0)(?6,$(3,10)?6,(16,4)=?5[2],$(16,4)dt,$(17,18)bd) +endfont +%*********************************************************************** +beginfont("EN:fused ring 4") + max_bond_width:=0.15; + sw_numberB:=1; + MCf(<-30,?6,$(3,10,15)?6,(21,4)=?6[2],$(21,4)dt,$(22,23)bd) endfont %*********************************************************************** beginfont("EN:Spiro ring ") @@ -498,10 +536,6 @@ MCf(<30,Ph,3=?6,7:O,@(1,2,5)/Me,8:/*Me^60,6:/OH,8\,|,!12,@(4,8)/*Me,12:/Me) endfont %*********************************************************************** %% Change infomation separater -beginfont("EN:Warfarin","CAS:81-81-2","FM:C19H16O4","MW:308.33") -MCf(<30,Ph,3=?6,8=dl,10:O,7:/OH,9://O,8\,/Ph`1,60,!,//O,!) -endfont -%*********************************************************************** beginfont("EN:Ampicillin","CAS:69-53-4","FM:C16H19N3O4S","MW:349.40") MCf(<45, ?4,2:N,2=?5,-1:S, @@ -518,6 +552,24 @@ beginfont("EN:Cholesterol","CAS:57-88-5","FM:C27H46O","MW:386.65") -1\^17,/*Me,!4,/Me,!, ) endfont +%*********************************************************************** +beginfont("EN:Warfarin","CAS:81-81-2","FM:C19H16O4","MW:308.33") + MCf( + <30,Ph,3=?6,8=dl,10:O,7:/OH,9://O,8\,/Ph`1,60,!,//O,! + ) +endfont +%*************************************************************************** +beginfont("EN:Limonin") + 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)/Me,@(1^60,5^180,16^60)/*H, + 14\*,|,?5,$(1,4)dl,3:O) +endfont +%*************************************************************************** +beginfont("EN:Sesamine") + 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") MCf(<30,Ph,@(1,2,6)/OMe,|,-4=?7, @@ -533,12 +585,9 @@ beginfont("EN:Lycorine","CAS:476-28-8","FM:C16H17NO4","MW:287.31") endfont %*********************************************************************** beginfont("EN:Gibberellin A3","CAS:77-06-5","FM:C19H22O6","MW:346.37"); - MCf( - <12,?6`1.3,3=?5,9=?7,12\^160`1.6,&8, - 4\^155~zf`1.2,O,55,//O^180`1,&2~zb, - 5=dl,11=wf,13=wb,7:/COOH,11://Me,1:*/OH,12:/*OH,2:*/Me, - @(3^-60,9^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://Me,13:*/OH,8:/*OH,14:*/Me,@(1^60,4^60)*/H) endfont %*************************************************************************** beginfont("EN:Quinine","CAS:130-95-0","FM:C20H24N2O2","MW:324.42") @@ -551,6 +600,12 @@ beginfont("EN:Atoropin","CAS:51-55-8","FM:C17H23NO3","MW:289.37") #1\~zb^-120,|,?7`1.1,6*\^190`1.25,N,/Me,&3~wb,#3\~wv,!,OH) endfont %*************************************************************************** +beginfont("EN:Validamycin") + MCf(<30,?6,@(5,6)/OH,3\,-60,OH, + #4\,O,-60,|,?6,2:O,@(3,4,5,6)/OH, + #1\,NH,!,|,?6,2=d,@(4,5,6)/OH,-4\,!,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,}, ,-4=?6,-4=?4,-1=wb,-3=wf,-1:O,||, diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.pdf b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.pdf index dbb8d181986..9eb75f91201 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 567ca20244c..fbcf34b1d9e 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 2016.07.10 +% Molecular Coding Format manual by Akira Yamaji 2016.08.06 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \documentclass[a4paper]{article} \usepackage{graphicx} @@ -96,7 +96,7 @@ 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)/Me, > - 4\^75,NH,!,//O,!,NH,!,Ph) > end MCF + 4\^75,NH,!,//O,!,/*NH,!,Ph) > end MCF endfont > end font %------------------------------------------------------------------------ beginfont("NO:2","EN:Cholesterol") > begin font(information) @@ -111,8 +111,8 @@ bye \end{verbatim} %------------------------------------------------------------------------ {\bf (Molecular structure output)}\vspace{5mm}\\ -\INFO{F:mcf_man_soc,C:84,NO:1,cMW:349.40462,cFM:C16H19N3O4S,EN:Ampicillin}% -\INFO{F:mcf_man_soc,C:85,NO:2,cMW:386.6532,cFM:C27H46O,EN:Cholesterol}% +\INFO{F:mcf_man_soc,C:90,NO:1,cMW:349.40462,cFM:C16H19N3O4S,EN:Ampicillin}% +\INFO{F:mcf_man_soc,C:91,NO:2,cMW:386.6532,cFM:C27H46O,EN:Cholesterol}% \newpage %------------------------------------------------------------------------ \noindent% @@ -121,15 +121,15 @@ bye char number, molecular information,etc. \begin{verbatim} (sw_auxfix=0) -F:mcf_man_soc;C:85;cMW:349.40462;cFM:C16H19N3O4S;EN:Ampicillin -F:mcf_man_soc;C:86;cMW:386.6532;cFM:C27H46O;EN:Cholesterol +F:mcf_man_soc;C:90;cMW:349.40462;cFM:C16H19N3O4S;EN:Ampicillin +F:mcf_man_soc;C:91;cMW:386.6532;cFM:C27H46O;EN:Cholesterol ..................................................... ..................................................... (sw_auxfix=1) F;C;cMW;cFM;EN -mcf_man_soc;85;349.40462;C16H19N3O4S;Ampicillin -mcf_man_soc;86;386.6532;C27H46O;Cholesterol +mcf_man_soc;90;349.40462;C16H19N3O4S;Ampicillin +mcf_man_soc;91;386.6532;C27H46O;Cholesterol ...................................... ...................................... @@ -173,8 +173,8 @@ MW : molecular weight from literature data %-------------------------------------------------------------------- \begin{document} \unitlength=1mm% -\INFO{F:mcf_man_soc,C:85,NO:1,cMW:349.40462,cFM:C16H19N3O4S,EN:Ampicillin}% -\INFO{F:mcf_man_soc,C:86,NO:2,cMW:386.6532,cFM:C27H46O,EN:Cholesterol}% +\INFO{F:mcf_man_soc,C:90,NO:1,cMW:349.40462,cFM:C16H19N3O4S,EN:Ampicillin}% +\INFO{F:mcf_man_soc,C:91,NO:2,cMW:386.6532,cFM:C27H46O,EN:Cholesterol}% \end{document} %-------------------------------------------------------------------- \end{verbatim}\vspace{5mm}% @@ -213,13 +213,23 @@ real number minus(-): clockwize \begin{minipage}[t][\htman]{90mm} \MCFtitle{Jump to atom and branch bond} \begin{verbatim} -3* : Jump to A3 -3\ : 3*,0 +n* : Jump to An - <30,!6,3*,0,! - <30,!6,3\, ! + <30,!6,3*,0,!,5*,-30 ** An(-999<=n<=4095): atom number +\end{verbatim} +\end{minipage} +\MCFstructure +\vspace{\gpman}\\ +%----------------------------------------------------------------------------- +\begin{minipage}[t][\htman]{90mm} +\MCFtitle{Jump to atom and branch bond} +\begin{verbatim} +3\ : 3*,0 + + <30,!6,3\,! + \end{verbatim} \end{minipage} \MCFstructure @@ -267,12 +277,27 @@ real number minus(-): clockwize \MCFtitle{Change bond type (1)} \begin{verbatim} a~type : ~~type,a -dm:double middle, -dl:double left side, dr:double right side, -wf:wedge forward, wb:wedge backward, -zf:wedge dotted, zb:wedge dotted backward +dm : double middle +dl : double left side +dr : double right side +tm : triple + + <30,!~dm,!~dl,!~dr,!~tm +\end{verbatim} +\end{minipage} +\MCFstructure +\vspace{\gpman}\\ +%----------------------------------------------------------------------------- +\begin{minipage}[t][\htman]{90mm} +\MCFtitle{Change bond type (1)} +\begin{verbatim} +a~type : ~~type,a +wf : wedge forward +wb : wedge backward +zf : wedge dotted +zb : wedge dotted backward - <30,!~dm,!~dl,!~dr,!~wf,!~wb,!~zf,!~zb + <30,!~wf,!~wb,!~zf,!~zb \end{verbatim} \end{minipage} \MCFstructure @@ -284,11 +309,10 @@ zf:wedge dotted, zb:wedge dotted backward Bn=bond type : change bond type at Bn vf : vector forward vb : vector backward -tm : triple dt : dotted wv : wave - <30,!6,1=vf,2=vb,3=tm,4=dt,5=bz,5=wv + <30,!4,1=vf,2=vb,3=dt,4=wv \end{verbatim} \end{minipage} \MCFstructure @@ -300,12 +324,23 @@ wv : wave bd : broad single bz : broad dotted ov : over line -$(2,4)dr : 2=dr,4=dr -<30,!3,!`2,!,$(2,4)dr, +<30,!3,!`2,!, @(3~bd`2^-30,5~ov`3^85,3~bz`3^-70)/Me ** 3~bd^-45`2 : ~~bd,^^-45,'`2,3 +\end{verbatim} +\end{minipage} +\MCFstructure +\vspace{\gpman}\\ +%----------------------------------------------------------------------------- +\begin{minipage}[t][\htman]{90mm} +\MCFtitle{Change bond type (4)} +\begin{verbatim} +$(2,4,6)dr : 2=dr,4=dr,6=dr + +<30,!7,$(2,4,6)dr + \end{verbatim} \end{minipage} \MCFstructure @@ -314,7 +349,7 @@ $(2,4)dr : 2=dr,4=dr \begin{minipage}[t][\htman]{90mm} \MCFtitle{Change bond length (1)} \begin{verbatim} -(!,!n,?n)`length : change length of !,!n,?n +(!,!n)`length : change length of !,!n <30,!2,!2`1.2,!2 @@ -336,6 +371,18 @@ $(2,4)dr : 2=dr,4=dr \vspace{\gpman}\\ %----------------------------------------------------------------------------- \begin{minipage}[t][\htman]{90mm} +\MCFtitle{Make block} +\begin{verbatim} +{ : start brock +} : end brock + + <30,!2,{,``1.2,!2,},!2 +\end{verbatim} +\end{minipage} +\MCFstructure +\vspace{\gpman}\\ +%----------------------------------------------------------------------------- +\begin{minipage}[t][\htman]{90mm} \MCFtitle{Change ring length} \begin{verbatim} ?n`length : change ring length @@ -385,12 +432,22 @@ Insert hetero atom \vspace{\gpman}\\ %----------------------------------------------------------------------------- \begin{minipage}[t][\htman]{90mm} -\MCFtitle{Change atom (brock address)} +\MCFtitle{Change atom (brock address 1)} \begin{verbatim} | : divide brock + +?6,4\,|,?6,2:O +\end{verbatim} +\end{minipage} +\MCFstructure +\vspace{\gpman}\\ +%----------------------------------------------------------------------------- +\begin{minipage}[t][\htman]{90mm} +\MCFtitle{Change atom (brock address 2)} +\begin{verbatim} || : reset brock adress -?6,4\,|,?6,2:O,||,2:N +?6,4\,|,?6,||,2:N \end{verbatim} \end{minipage} \MCFstructure @@ -425,9 +482,9 @@ Insert hetero atom \begin{minipage}[t][\htman]{90mm} \MCFtitle{Fuse ring (attached 1 bond)} \begin{verbatim} -?6,3=?5 : fuse ?5 at B3 +?6,3=?6 : fuse ?6 at B3 - ?6,3=?5 + ?6,3=?6 ** Bn(n:-999<=n<=4095): bond number \end{verbatim} @@ -436,6 +493,20 @@ Insert hetero atom \vspace{\gpman}\\ %----------------------------------------------------------------------------- \begin{minipage}[t][\htman]{90mm} +\MCFtitle{Fuse large ring (attached 1 bond)} +\begin{verbatim} +?6,3=?6[13] : fuse ?6[13] at B3 +?6[13]: 6 membered ring scaled 13/10 + + ?6,3=?6[13] + +** ?m[n] (5<=m<=8,11<=n<=15) +\end{verbatim} +\end{minipage} +\MCFstructure +\vspace{\gpman}\\ +%----------------------------------------------------------------------------- +\begin{minipage}[t][\htman]{90mm} \MCFtitle{Fuse multi ring (attached 1 bond)} \begin{verbatim} @@ -457,21 +528,36 @@ Insert hetero atom MCd(1,.7)( 0,0)(<30,?6,3=?6,(11,4)=?6[4]) MCd(1,.6)(.54,1)(<30,?6,3=?6,(11,4)=?5[3]) MCd(1,.6)( 1,0)(<30,?6,3=?6,(11,4)=?4[2]) + +** ?m[n] (4<=m<=6,n=m-2) \end{verbatim} \end{minipage} \MCFstructure \vspace{\gpman}\\ %----------------------------------------------------------------------------- \begin{minipage}[t][\htman]{90mm} -\MCFtitle{Fuse ring (attached 3,4 bond)} +\MCFtitle{Fuse ring (attached 3 bond)} \begin{verbatim} (16,4)=?6[3] : fuse 3/6 ring to B16..B4 (16,4)=?5[2] : fuse 2/5 ring to B16..B4 + +MCd(1,.55)(0,0)(?6,$(3,10)?6,(16,4)=?6[3]) +MCd(1,.55)(1,0)(?6,$(3,10)?6,(16,4)=?5[2]) + +** ?m[n] (5<=m<=6,n=m-3) +\end{verbatim} +\end{minipage} +\MCFstructure +\vspace{\gpman}\\ +%----------------------------------------------------------------------------- +\begin{minipage}[t][\htman]{90mm} +\MCFtitle{Fuse ring (attached 4 bond)} +\begin{verbatim} (21,4)=?6[2] : fuse 2/6 ring to B21..B4 -MCd(1,.55)( 0,0)(?6,$(3,10)?6,(16,4)=?6[3]) -MCd(1,.55)(.5,1)(?6,$(3,10)?6,(16,4)=?5[2]) -MCd(1,.68)(1, 0)(?6,$(3,10,15)?6,(21,4)=?6[2]) +MCf(<-30,?6,$(3,10,15)?6,(21,4)=?6[2]) + +** ?m[n] (m=6,n=2) \end{verbatim} \end{minipage} \MCFstructure @@ -672,8 +758,8 @@ $(3)red : change color of B3 red \end{minipage} %%%%\MCFstructure % for Metafont \makebox(72,3.5)[t]{\frame{\makebox(68,42.3)% -{\includegraphics{mcf_man_soc-035.eps}}}}% for dvipdfmx -%%%%{\includegraphics[width=30mm]{mcf_man_soc-035.png}}}}% for pdfLaTeX +{\includegraphics{mcf_man_soc-042.eps}}}}% for dvipdfmx +%%%%{\includegraphics[width=30mm]{mcf_man_soc-042.png}}}}% for pdfLaTeX \advance\fontnum\@ne\relax\advance\tempnum\@ne\relax% \vspace{\gpman}\\ %----------------------------------------------------------------------------- @@ -1203,11 +1289,11 @@ CAS:CAS number *:default output \MCFtitle{Change aux information delimiter} \begin{verbatim} aux_delimiter:="/"; -beginfont("EN:Warfarin","CAS:81-81-2") +beginfont("EN:Ampicillin","CAS:69-53-4") MCf(...) endfont %% Output to mcf_man_soc-info.aux %% -F:mcf_man_soc/C:87/EN:Warfarin/CAS:81-81-2 +F:mcf_man_soc/C:90/EN:Ampicillin/CAS:69-53-4 **default aux_delimiter=";" @@ -1222,31 +1308,54 @@ F:mcf_man_soc/C:87/EN:Warfarin/CAS:81-81-2 tag3:="NO"; var3:="inf_NO"; tag4:="EN"; var4:="inf_EN"; sw_auxfix:=1; auxtag_out; -beginfont("EN:Ampicillin","NO:1") ... endfont +beginfont("EN:Cholesterol","NO:1") ... endfont %% Output to mcf_man_soc-info.aux %% F;C;NO;EN -mcf_man_soc;88;1;Ampicillin +mcf_man_soc;91;1;Ampicillin \end{verbatim} \end{minipage} \MCFstructure \vspace{\gpman}\\ %----------------------------------------------------------------------------- \begin{minipage}[t][\htman]{90mm} -\MCFtitle{Example(1) Cholesterol} +\MCFtitle{Example(1) Warfarin} \begin{verbatim} - - <30,?6,$(-4,-2)?6,-4=?5,7=dl, - 1:*/OH,@(4,12)*/Me^60,9:*/H^60, - 10:/*H^180,@(11,-1)/*H^-60, - -1\^17,/*Me,!4,/Me,!, + <30,Ph,3=?6,8=dl, + 10:O,7:/OH,9://O, + 8\,/Ph`1,60,!,//O,! +\end{verbatim} +\end{minipage} +\MCFstructure +\vspace{\gpman}\\ +%----------------------------------------------------------------------------- +\begin{minipage}[t][\htman]{90mm} +\MCFtitle{Example(2) Limonin} +\begin{verbatim} + <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)/Me, + @(1^60,5^180,16^60)/*H, + 14\*,|,?5,$(1,4)dl,3:O \end{verbatim} \end{minipage} \MCFstructure \vspace{\gpman}\\ %----------------------------------------------------------------------------- \begin{minipage}[t][\htman]{90mm} -\MCFtitle{Example(2) Colchicine} +\MCFtitle{Example(3) 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 +\end{verbatim} +\end{minipage} +\MCFstructure +\vspace{\gpman}\\ +%----------------------------------------------------------------------------- +\begin{minipage}[t][\htman]{90mm} +\MCFtitle{Example(4) Colchicine} \begin{verbatim} <30,Ph,@(1,2,6)/OMe,-4=?7,-5=?7, $(-1,-4,-6)dl,-2://O,-3:/OH, @@ -1257,32 +1366,35 @@ mcf_man_soc;88;1;Ampicillin \vspace{\gpman}\\ %----------------------------------------------------------------------------- \begin{minipage}[t][\htman]{90mm} -\MCFtitle{Example(3) Lycorine} +\MCFtitle{Example(5) Lycorine} \begin{verbatim} - - <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 + <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 \end{verbatim} \end{minipage} \MCFstructure \vspace{\gpman}\\ %----------------------------------------------------------------------------- \begin{minipage}[t][\htman]{90mm} -\MCFtitle{Example(4) Gibberellin} +\MCFtitle{Example(6) Gibberellin} \begin{verbatim} - <12,?6`1.3,3=?5,9=?7,12\^160`1.6,&8, - 4\^155~zf`1.2,O,55,//O^180`1,&2~zb, - 5=dl,11=wf,13=wb, - 7:/COOH,11://Me,1:*/OH,12:/*OH,2:*/Me, - @(3^-60,9^60)*/H + <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://Me,13:*/OH,8:/*OH, + 14:*/Me,@(1^60,4^60)*/H \end{verbatim} \end{minipage} \MCFstructure \vspace{\gpman}\\ %----------------------------------------------------------------------------- \begin{minipage}[t][\htman]{90mm} -\MCFtitle{Example(5) Quinine} +\MCFtitle{Example(7) Quinine} \begin{verbatim} <30,Ph,3=Ph,7:N,6:/OMe, 10\,*/OH,/H~zf^-60,!, @@ -1295,7 +1407,7 @@ mcf_man_soc;88;1;Ampicillin \vspace{\gpman}\\ %----------------------------------------------------------------------------- \begin{minipage}[t][\htman]{90mm} -\MCFtitle{Example(6) Atoropin} +\MCFtitle{Example(8) Atoropin} \begin{verbatim} <-30,O,!,//O,!,!,Ph, #1\~zb^-120, @@ -1307,7 +1419,18 @@ mcf_man_soc;88;1;Ampicillin \vspace{\gpman}\\ %----------------------------------------------------------------------------- \begin{minipage}[t][\htman]{90mm} -\MCFtitle{Example(7) Paclitaxel} +\MCFtitle{Example(9) Validamycin} +\begin{verbatim} + <30,?6,@(5,6)/OH,3\,-60,OH, + #4\,O,-60,|,?6,2:O,@(3,4,5,6)/OH, + #1\,NH,!,|,?6,2=d,@(4,5,6)/OH,-4\,!,OH +\end{verbatim} +\end{minipage} +\MCFstructure +\vspace{\gpman}\\ +%----------------------------------------------------------------------------- +\begin{minipage}[t][\htman]{90mm} +\MCFtitle{Example(10) Paclitaxel} \begin{verbatim} ?6,5=d,3*,{,``1,36,45,45,45,45,},, -4=?6,-4=?4,-1=wb,-3=wf,-1:O,||, 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 39f0f2fe7ec..0e60edde594 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 78ecaeecb20..9d0f1b99042 100644 --- a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.tex +++ b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.tex @@ -1,5 +1,5 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Example of MCF typest with LuaLaTeX(luamplib) by A.Yamaji 2016.4.27 +% Example of MCF typest with LuaLaTeX(luamplib) by A.Yamaji 2016.8.06 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \documentclass{article} %------------------------------------------------------------------------------ @@ -133,12 +133,9 @@ \begin{mplibcode} font_wd:=50mm; font_ht:=40mm; beginfont("NO:4","EN:Gibberellin A3","MW:346.37"); - MCf(<12, - ?6`1.3,3=?5,9=?7,12\^160`1.6,&8, - 4\^155~zf`1.2,O,55,//O^180`1,&2~zb, - 5=dl,11=wf,13=wb,7:/COOH,11://Me,1:*/OH,12:/*OH,2:*/Me, - @(3^-60,9^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://Me,13:*/OH,8:/*OH,14:*/Me,@(1^60,4^60)*/H) endfont; \end{mplibcode} \inputINFO{temp-info.aux}% diff --git a/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf b/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf index 06e221df212..a778a1da880 100644 --- a/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf +++ b/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf @@ -1,5 +1,5 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% mcf2graph ver 3.95 Copyright (c) 2013-2016 Akira Yamaji +% mcf2graph ver 3.96 Copyright (c) 2013-2016 Akira Yamaji % % Permission is hereby granted, free of charge, to any person obtaining a copy of this software % and associated documentation files (the "Software"), to deal in the Software without restriction, @@ -30,7 +30,7 @@ % Set output checklist : mpost -s ahlength=2 FILENAME %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% tracingstats:=1; -message " This is mcf2graph ver 3.9 2016.7"; +message " This is mcf2graph ver 3.9 2016.8"; %------------------------------------------------------------------------------------------------- pair posB[],posA[],pairT,Ls,Le,pairA; numeric angB[],angA[],br_ang[],sB[],eB[],f_FON[],atom_w[],atom_h[],atom_d[],strA[],stkB[],stkA[], @@ -252,6 +252,29 @@ def !!?(expr a)(expr b)(expr c) = PB(_pop,0) if ypart(a)<=0:: PB(_cyc_eB,ypart(a)-c+1) else:: PB(_cyc_eB,ypart(a)) fi enddef; %------------------------------------------------------------------------------------------------- +def fuse_large(expr a)(expr b)(expr c) = + if b==5:: + PB(_jp_bond,a) PB(_push,0) PB(_chg_len,c DIV 10) PB(_mk_bond,72-((c-9) MUL 1.5)) + PB(_mk_bond,72+(c-9)) PB(_mk_bond,72+(c-9)) PB(_pop,0) + if a>=1:: PB(_cyc_eB,0) else:: PB(_cyc_eB,list) fi + elseif b==6:: + PB(_jp_bond,a) PB(_push,0) PB(_chg_len,c DIV 10) PB(_mk_bond,60-(c-8)) + PB(_mk_bond,60+((c-8) DIV 2)) PB(_mk_bond,60+((c-8) DIV 2)) PB(_mk_bond,60+((c-8) DIV 2)) + PB(_pop,0) if a>=1:: PB(_cyc_eB,0) else:: PB(_cyc_eB,list) fi + elseif b==7:: + PB(_jp_bond,a) PB(_push,0) PB(_chg_len,c DIV 10) PB(_mk_bond,(360 DIV 7)-(c-8)) + PB(_mk_bond,360 DIV 7+((c-8) DIV 2.5)) PB(_mk_bond,360 DIV 7+((c-8) DIV 2.5)) + PB(_mk_bond,360 DIV 7+((c-8) DIV 2.5)) PB(_mk_bond,360 DIV 7+((c-8) DIV 2.5)) + PB(_pop,0) if a>=1:: PB(_cyc_eB,0) else:: PB(_cyc_eB,list) fi + elseif b==8:: + PB(_jp_bond,a) PB(_push,0) PB(_chg_len,c DIV 10) PB(_mk_bond,(360 DIV 8)-(c-8)) + PB(_mk_bond,(360 DIV 8)+((c-8) DIV 3)) PB(_mk_bond,(360 DIV 8)+((c-8) DIV 3)) + PB(_mk_bond,(360 DIV 8)+((c-8) DIV 3)) PB(_mk_bond,(360 DIV 8)+((c-8) DIV 3)) + PB(_mk_bond,(360 DIV 8)+((c-8) DIV 3)) + PB(_pop,0) if a>=1:: PB(_cyc_eB,0) else:: PB(_cyc_eB,list) fi + fi +enddef; +%------------------------------------------------------------------------------------------------- def PB(expr a,b)= cntBS:=cntBS+1; comMC[ab_num][cntBS]:=a; parMC[ab_num][cntBS]:=b; enddef; def $$(text t)(expr e) = begingroup save cntBS; cntBS:=0; ab_num:=ab_num+1; @@ -261,7 +284,12 @@ def $$(text t)(expr e) = elseif (e>=?3)and(e<=?20):: for list==t:: !?(list)(e-?3+3) endfor elseif e==Ph1:: !?(t)(6) PB(_dl,-2) PB(_dl,-4) elseif e==Ph2:: !?(t)(6) PB(_dl,-1) PB(_dl,-3) PB(_dl,-5) - elseif comMC[e][1]==_fuse:: for list==t:: !!?(list)(parMC[e][1])(comMC[e][2]) endfor fi + elseif comMC[e][1]==_fuse:: + if comMC[e][2]<=6:: for list==t:: !!?(list)(parMC[e][1])(comMC[e][2]) endfor + elseif (comMC[e][2]>=11)and(comMC[e][2]<=15):: + for list==t:: fuse_large(list)(parMC[e][1])(comMC[e][2]) endfor + fi + fi elseif color e:: color_list[incr cntC]:=e; for list==t:: PB(_set_adr,list) PB(_set_colorB,cntC) endfor fi fi cntMC[ab_num]:=cntBS; @@ -614,6 +642,7 @@ Ph:=Ph1:='(?6,(_dl,-2),(_dl,-4),(_dl,-6)); Ph2:='(?6,(_dl,-1),(_dl,-3),(_dl,-5)) for i=1 upto 20: ![i]:='({{,(_get_len,0),! for j==2 upto i::,! endfor,}}); endfor Me:='(); Et:=!; Pr:='(!2); Bu:='(!3); for i=4,5,6: for j=2 upto i-2: ?[i][j]:='((_fuse,i),(j,0)); endfor endfor +for i=5,6,7,8: for j=11 upto 15: ?[i][j]:='((_fuse,i),(j,0)); endfor endfor %------------------------------------------------------------------------------------------------- H :='("H");C:='("C");N:='("N");O:='("O");F:='("F");S:='("S");P:='("P");I:='("I"); Si:='("{Si}");Al:='("{Al}");Mg:='("{Mg}");Zn:='("{Zn}");As:='("{As}");Cu:='("{Cu}"); -- cgit v1.2.3