From a39480453d5a8a29aab5e8bf7967851df1d3b22d Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Wed, 3 May 2017 21:17:47 +0000 Subject: mcf2graph (3may17) git-svn-id: svn://tug.org/texlive/trunk@44168 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG | 8 +- Master/texmf-dist/doc/metapost/mcf2graph/README | 4 +- .../doc/metapost/mcf2graph/mcf_exa_soc.mf | 20 ++-- .../doc/metapost/mcf2graph/mcf_example.pdf | Bin 235811 -> 235957 bytes .../doc/metapost/mcf2graph/mcf_man_soc.mf | 8 +- .../doc/metapost/mcf2graph/mcf_manual.pdf | Bin 468770 -> 468850 bytes .../doc/metapost/mcf2graph/mcf_manual.tex | 109 ++++++++++----------- .../doc/metapost/mcf2graph/mcf_mplib_exa.pdf | Bin 174200 -> 174415 bytes .../doc/metapost/mcf2graph/mcf_mplib_exa.tex | 14 +-- Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf | 83 +++++++++------- 10 files changed, 132 insertions(+), 114 deletions(-) diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG b/Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG index c0c9b264748..acba0eedcf9 100644 --- a/Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG +++ b/Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG @@ -1,6 +1,12 @@ ******************************************************************************* - Changelog of mcf2graph software package by Akira Yamaji 2017-03-26 + Changelog of mcf2graph software package by Akira Yamaji 2017-05-03 ******************************************************************************* +[ver. 4.21 / 2017-05-03] + -change brock making commands + '{','}' => '|<','>|' + -improve report output + -update MCF syntax manual + [ver. 4.20 / 2017-03-26] -change length expression length# => length diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/README b/Master/texmf-dist/doc/metapost/mcf2graph/README index 8350956b822..3e300302f68 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.20 2017-03-26 + version : 4.21 2017-05-03 E-mail : mcf2graph@gmail.com Located at : http://www.ctan.org/pkg/mcf2graph ******************************************************************************** @@ -37,7 +37,7 @@ ( 4) >mpost -s ahangle=3 FILENAME => output MDL Molfile(V2000) ( 5) >mpost -s ahlength=1 FILENAME => output first definition only (for test) ( 6) >mpost -s ahlength=2 FILENAME => output report - ( 7) >mpost -s ahlength=3 FILENAME => use metapost 'label','drawarrow' + ( 7) >mpost -s ahlength=3 FILENAME => use plain.mp 'label','drawarrow' 4. License Permission is hereby granted, free of charge, to any person obtaining a copy 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 fcc157f6902..253117e3d1e 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.03.26 +% Molecular Coding Format for mcf_example.tex by Akira Yamaji 2017.05.03 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -input mcf2graph.mf; %%% it must be version 4.20 or later +input mcf2graph.mf; %%% it must be version 4.21 or later %------------------------------------------------------------------------- font_wd:=33mm; font_ht:=24mm; @@ -177,9 +177,9 @@ 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, + |<,``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,},, + 60,/*_^30,-53,66,-53~dl,66`1.2,O,>|,, -4:/*O!,-6*,-30,O,!,//O,!,#11\,!!,N,!,|,?6,@(1,4)N,4:/_) endfont %*************************************************************************** @@ -211,9 +211,9 @@ beginfont("EN:Luciferin","MW:280.33") 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, +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,,}, + -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)/_) @@ -237,8 +237,8 @@ beginfont("EN:Lycorine","MW:287.315") 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, + 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 %*************************************************************************** @@ -344,7 +344,7 @@ beginfont("EN:Pyrethrin I","MW:328.452"); 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, +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!, @@ -352,7 +352,7 @@ MCf(<30,{,``1,<-120,60,60,60,-60,60,60,-60,60,60,60,-60,60,60,},&1, 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, + 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) diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.pdf b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.pdf index 40e2e009df5..753b09765a1 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 778404e8594..793bc5f3bb8 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.03.26 +% Molecular Coding Format file for mcf_manual.tex by Akira.Yamaji 2017.05.03 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -input mcf2graph.mf; %% it must be version 4.20 or later +input mcf2graph.mf; %% it must be version 4.21 or later %------------------------------------------------------------------------ sw_auxout:=0; sw_mol_frame:=0; @@ -481,7 +481,7 @@ beginfont("EN:Make brock") font_ht:=8mm; sw_clip:=1; sw_numberB:=1; - MCf(<30,!2,{,``1.2,!2,},!2) + MCf(<30,!2,|<,``1.2,!2,>|,!2) endfont %*********************************************************************** beginfont("EN:Chain start multi characters") @@ -1035,7 +1035,7 @@ beginfont("EN:Validamycin") 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=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, diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.pdf b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.pdf index 341b2fd9b2c..18573240fd8 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 db265456303..8c50cf9dc56 100644 --- a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.tex +++ b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.tex @@ -530,7 +530,7 @@ pk font,PNG,SVG,EPS or MDL MOL file(V2000).\\ inset hetero atom and substituent simultaneously - <30,!2,NH,!,SO,!,SOO,!3 + <30,!2,NH,!,SO,!,SOO,! \end{verbatim} \MCFstructure %----------------------------------------------------------------------------- @@ -548,10 +548,10 @@ pk font,PNG,SVG,EPS or MDL MOL file(V2000).\\ %----------------------------------------------------------------------------- \subsubsection{Make block} \begin{verbatim} - { : start brock - } : end brock + |< : start brock + >| : end brock - <30,!2,{,``1.2,!2,},!2 + <30,!2,|<,``1.2,!2,>|,!2 \end{verbatim} \MCFstructure %----------------------------------------------------------------------------- @@ -1120,12 +1120,12 @@ endfont \begin{verbatim} label: sw_label=0: emulation mode - sw_label=1: metapost mode + sw_label=1: plain.mp mode **default sw_label=0 drawarrow & drawdblarrow: sw_arrow=0: emulation mode - sw_arrow=1: metapost mode + sw_arrow=1: plain.mp mode **default sw_arrow=0 \end{verbatim} %----------------------------------------------------------------------------- @@ -1276,7 +1276,7 @@ drawarrow & drawdblarrow: %----------------------------------------------------------------------------- \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, 8:/*H^-60,9:*/_^60,10://O, @@ -1425,55 +1425,52 @@ cFM : molecular formula calculated \end{verbatim} \paragraph{(Output)} \begin{verbatim} -%------------------------------------------------------------------ -% Molecular name = Caffeine -% Warnings = 0 / Expanded command = 80 -% Width * Height = 54.31772 * 50.43338 -% Shift width * height = -12.59462 * -17.49146 -% Bond length = 12.75589 Atom size = 5.38914 -% Atom count= 14 Bond count= 15 Ring count= 2 Hide H count= 10 -%------------------------------------------------------------------ -%< NO. >( x axis , y axis )< atom >< bond >< hide_H > -% A1 ( 0 , 0 ) C 4 -% A2 ( 0.866 , -0.5 ) N 3 -% A3 ( 1.732 , 0 ) C 4 -% A4 ( 1.732 , 1 ) C 4 -% A5 ( 0.866 , 1.5 ) C 4 -% A6 ( 0 , 1 ) N 3 -% A7 ( 2.683 , -0.309 ) N 3 -% A8 ( 3.271 , 0.5 ) C 3 1 -% A9 ( 2.683 , 1.309 ) N 3 -% A10 ( 0.866 , -1.371 ) C 1 3 -% A11 ( -0.776 , 1.448 ) C 1 3 -% A12 ( -0.776 , -0.448 ) O 2 -% A13 ( 0.866 , 2.371 ) O 2 -% A14 ( 2.955 , 2.147 ) C 1 3 -%------------------------------------------------------------------ -%< NO. >< bond (sdt)> -% B1 1 -> 2 ( 1) 330 ( -30) 1 ( 12.76) -% B2 2 -> 3 ( 1) 30 ( 30) 1 ( 12.76) -% B3 3 -> 4 ( 2) 90 ( 90) 1 ( 12.76) -% B4 4 -> 5 ( 1) 150 ( 150) 1 ( 12.76) -% B5 5 -> 6 ( 1) 210 ( -150) 1 ( 12.76) -% B6 6 -> 1 ( 1) 270 ( -90) 1 ( 12.76) -% B7 3 -> 7 ( 1) 342 ( -18) 1 ( 12.76) -% B8 7 -> 8 ( 2) 54 ( 54) 1 ( 12.76) -% B9 8 -> 9 ( 1) 126 ( 126) 1 ( 12.76) -% B10 9 -> 4 ( 1) 198 ( -162) 0.66 ( 8.42) -% B11 2 -> 10 ( 1) 270 ( -90) 0.66 ( 8.42) -% B12 6 -> 11 ( 1) 150 ( 150) 0.66 ( 8.42) -% B13 1 -> 12 ( 2) 210 ( -150) 0.66 ( 8.42) -% B14 5 -> 13 ( 2) 90 ( 90) 0.66 ( 8.42) -% B15 9 -> 14 ( 1) 72 ( 72) 0.66 ( 8.42) -%------------------------------------------------------------------ -% C ( 12.0107) * 8 = 96.08557 -% H ( 1.00793) * 10 = 10.07935 -% N ( 14.0067) * 4 = 56.0268 -% O ( 15.9994) * 2 = 31.99881 -% Monoisotopic mass: 194.08038 -% Weight Calc: 194.1905 / Input: 194.194 / weight gap= -0.00348 -% Fomula Calc: C8H10N4O2 / Input: -%================================================================== +------------------------------------------------------------------ + Molecular name = Nicotine + Warnings = 0 / Expanded command = 40 + Width * Height = 49.57332 * 41.37605 + Shift width * height = 0 * -9.07253 + Bond length = 12.75589 Atom size = 5.38914 + Atom count= 12 Bond count= 13 Ring count= 2 Hide H count= 14 +------------------------------------------------------------------ +< NO. >( x axis , y axis )< atom >< bond >< hide_H > + A1 ( 0 , 0 ) C 3 1 + A2 ( 0.866 , -0.5 ) N 3 + A3 ( 1.732 , 0 ) C 3 1 + A4 ( 1.732 , 1 ) C 4 + A5 ( 0.866 , 1.5 ) C 3 1 + A6 ( 0 , 1 ) C 3 1 + A7 ( 2.304 , 1.33 ) C 3 1 + A8 ( 3.217 , 0.923 ) N 3 + A9 ( 3.886 , 1.666 ) C 2 2 + A10 ( 3.386 , 2.532 ) C 2 2 + A11 ( 2.408 , 2.325 ) C 2 2 + A12 ( 3.399 , 0.067 ) C 1 3 +------------------------------------------------------------------ +< NO. >< bond (sdt)> + B1 1 -> 2 ( 2) 330 ( -30) 1 ( 12.76) + B2 2 -> 3 ( 1) 30 ( 30) 1 ( 12.76) + B3 3 -> 4 ( 2) 90 ( 90) 1 ( 12.76) + B4 4 -> 5 ( 1) 150 ( 150) 1 ( 12.76) + B5 5 -> 6 ( 2) 210 ( -150) 1 ( 12.76) + B6 6 -> 1 ( 1) 270 ( -90) 1 ( 12.76) + B7 4 -> 7 ( 1) 30 ( 30) 0.66 ( 8.42) + B8 7 -> 8 ( 1) 336 ( -24) 1 ( 12.76) + B9 8 -> 9 ( 1) 48 ( 48) 1 ( 12.76) + B10 9 -> 10 ( 1) 120 ( 120) 1 ( 12.76) + B11 10 -> 11 ( 1) 192 ( -168) 1 ( 12.76) + B12 11 -> 7 ( 1) 264 ( -96) 1 ( 12.76) + B13 8 -> 12 ( 1) 282 ( -78) 0.66 ( 8.42) +------------------------------------------------------------------ +( atom wt )[ mi wt ] < cnt > < sum wt >[ sum mi wt ] + C ( 12.0107)[ 12] * 10 = 120.10696[ 120] + H ( 1.00793)[ 1.00783] * 14 = 14.11108[ 14.10959] + N ( 14.0067)[ 14.00307] * 2 = 28.0134[ 28.00613] + Molecular Weight [Mono Isotopic] = 162.2314[ 162.11572] +------------------------------------------------------------------ + Weight Calc: 162.2314 / Input: 162.23 / weight gap= 0.00145 + Fomula Calc: C10H14N2 / Input: +================================================================== \end{verbatim}% \newpage %------------------------------------------------------------------------ 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 0e7c39b25e2..29c2f30dbd8 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 0fc11629046..d0ec2e29ec6 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.03.26 +% Example of MCF typest with LuaLaTeX(luamplib) by A.Yamaji 2017.05.03 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%% mcf2graph.mf it must be version 4.20 or later +%%% mcf2graph.mf it must be version 4.21 or later \documentclass{article} %------------------------------------------------------------------------------ \usepackage{luamplib}% @@ -96,9 +96,9 @@ 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, + |<,``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,,}, + -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)/_, @@ -150,7 +150,7 @@ endfont; 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, + |<,``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!, @@ -165,10 +165,10 @@ 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, + |<,``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*,,}, + 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, diff --git a/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf b/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf index 3228dc57951..1dff2e0bc02 100644 --- a/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf +++ b/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf @@ -1,5 +1,5 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% mcf2graph ver 4.20 Copyright (c) 2013-2017 Akira Yamaji +% mcf2graph ver 4.21 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, @@ -28,10 +28,10 @@ % Set outputformat to MDL Molfile : mpost -s ahangle=3 FILENAME % Set make first font only : mpost -s ahlength=1 FILENAME % Set output report : mpost -s ahlength=2 FILENAME -% Set to use metapost label,arrow : mpost -s ahlength=3 FILENAME +% Set to use plain.mp label,arrow : mpost -s ahlength=3 FILENAME %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% tracingstats:=1; -message " This is mcf2graph ver 4.2 2017.3"; +message " This is mcf2graph ver 4.2 2017.5"; %------------------------------------------------------------------------------------------------- newinternal nA,nB,nC,nD,nE,nF,char_num,str_cnt,def_num,def_int,tbl_cnt; numeric save_para[],comD[][],parD[][],cntD[],tbl_str_wd[],tbl_atom[],tbl_subst[][],tbl_atom_wt[], @@ -186,8 +186,8 @@ def endfont= enddef; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% def set_def_MC= - save /,*,//,/*,*/,**,~,~~,^,^^,`,'`,{,},<,>,>>,:>,&,&#,:,=,\,\\,*\,\*,@,$,#,|,||,_, - d,w,z,inside_def_MC; + 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; @@ -201,9 +201,9 @@ def set_def_MC= tertiarydef a~b == ~~b,a enddef; tertiarydef a>b == :>b,a enddef; def * == (0,1) enddef; def \ == *,0 enddef; def \\ == *,0~dm enddef; def *\ == *,0~wf enddef; def \* == *,0~zf enddef; - def { == (_push,1) enddef; def } == (_pop,1) enddef; - def {{ == (_push,0) enddef; def }} == (_pop,0) enddef; - def | == {,} enddef; def || == (_stack_reset,0) 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; @@ -876,12 +876,12 @@ def_num:=def_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), for i==2 upto n:: ,(360 DIV n) endfor,(_cyc_sB,1-n) enddef; -for i=3 upto 20: ?[i]:='({{,ring i,}}); endfor +for i=3 upto 20: ?[i]:='(|:,ring i,:|); endfor Ph:=Ph1:='(?6,(_dl,-2),(_dl,-4),(_dl,-6)); Ph2:='(?6,(_dl,-1),(_dl,-3),(_dl,-5)); !:=!1:='((_mk_bond,_arg_ang)); for i=2 upto 20: - ![i]:='({{,(_get_len,0),! for j==2 upto i::,! endfor,}}); + ![i]:='(|:,(_get_len,0),! for j==2 upto i::,! endfor,:|); endfor !!:='(!,(_mb,db)); !!!:='(!,(_mb,tm)); @@ -1203,50 +1203,66 @@ vardef round_auto(expr n)= enddef; %-------------------------------------------------------------------------------------------------- def proc_report_out= - message "%------------------------------------------------------------------"; - message "% Molecular name = "& inf_EN; - message "% Warnings = "&fdr(3)(warning_cnt)&" / Expanded command = "&decimal(cntD[0]); - message "% Width * Height = " & fdr(10)(mol_wd)&" * "&fdr(10)(mol_ht); - message "% Shift width * height = "& fdr(10)(minX)&" * "&fdr(10)(minY); - message "% Bond length = "&fdr(3)(bond_len)&" Atom size = "&fdr(3)(atom_wd); - message "% Atom count="&fdr(3)(cntA)&" Bond count="&fdr(3)(cntB)& + message "------------------------------------------------------------------"; + message " Molecular name = "& inf_EN; + message " Warnings = "&fdr(3)(warning_cnt)&" / Expanded command = "&decimal(cntD[0]); + message " Width * Height = " & fdr(10)(mol_wd)&" * "&fdr(10)(mol_ht); + message " Shift width * height = "& fdr(10)(minX)&" * "&fdr(10)(minY); + message " Bond length = "&fdr(3)(bond_len)&" Atom size = "&fdr(3)(atom_wd); + message " Atom count="&fdr(3)(cntA)&" Bond count="&fdr(3)(cntB)& " Ring count="&fdr(3)(cntB-cntA+1)&" Hide H count="&fdr(3)(cnt_hide_H); - message "%------------------------------------------------------------------"; - message "%< NO. >( x axis , y axis )< atom >< bond >< hide_H >"; + message "------------------------------------------------------------------"; + message "< NO. >( x axis , y axis )< atom >< bond >< hide_H >"; for i=1 upto cntA: - message "% A"&fdl(4)(i)&" ("&fdr(10)(round_auto(xpart(posA[i])/bond_len))&" , "& + message " A"&fdl(4)(i)&" ("&fdr(10)(round_auto(xpart(posA[i])/bond_len))&" , "& fdr(10)(round_auto(ypart(posA[i])/bond_len))&" ) "&fixed_l(8)(strD[numS[i]])& " "&fdr(3)(Bcnt[i]) if hideH[i]>0: &fdr(8)(hideH[i]) fi; endfor - message "%------------------------------------------------------------------"; - message "%< NO. >< bond (sdt)>"; + message "------------------------------------------------------------------"; + message "< NO. >< bond (sdt)>"; for i=1 upto cntB: nC:=lenB[i]; if nC=_size_a: nC:=ratio_atom_bond; elseif nC<0: nC:=-nC; fi if lineB[i]<>0: nB:=angB[i]; if nB>180: nB:=nB-360; fi - message "% B"&fdl(4)(i)&fdr(3)(sB[i])&" -> "&fdr(3)(eB[i])& + message " B"&fdl(4)(i)&fdr(3)(sB[i])&" -> "&fdr(3)(eB[i])& " ("&fdr(3)(bondC[i]-si+1)&")"&fdr(9)(round_auto(angB[i]))& " ("&fdr(6)(round_auto(nB))&")"&fdr(8)(nC)&" ("&fdr(8)(round_auto(nC*bond_len))&")"; fi endfor - message "%------------------------------------------------------------------"; - if MWp<=40: cal_MW_str:=cal_MW; cal_MI_str:=cal_MI; - else: cal_MW_str:=fdr(10)(MWp)&" * 100"; cal_MI_str:=fdr(10)(MIp)&" * 100"; + message "------------------------------------------------------------------"; + message "( atom wt )[ mi wt ] < cnt > < sum wt >[ sum mi wt ]"; + if MWp<=40: + cal_MW_str:=cal_MW; + cal_MI_str:=cal_MI; + else: + cal_MW_str:=fdr(10)(MWp)&" * 100"; + cal_MI_str:=fdr(10)(MIp)&" * 100"; fi for i=1 upto tbl_cnt: if sumA[i]>=1: nA:=tbl_atom_wt[i]/100*sumA[i]; - message "% "&fixed_l(4)(stripP(tbl_atom_str[i]))&"("&fdr(9)(tbl_atom_wt[i])& - ") * "&fdr(6)(sumA[i])&" = " - if nA<40: &fdr(12)(tbl_atom_wt[i]*sumA[i]); else: &fdr(12)(nA)&" * 100"; fi + nB:=tbl_atom_mi[i]/100*sumA[i]; + message " "& + fixed_l(5)(stripP(tbl_atom_str[i]))& + "("&fdr(9)(tbl_atom_wt[i])&")"& + "["&fdr(9)(tbl_atom_mi[i])&"]"& + " * "&fdr(4)(sumA[i])&" = " + if nA<40: + &fdr(12)(tbl_atom_wt[i]*sumA[i]) + &"["&fdr(12)(tbl_atom_mi[i]*sumA[i])&"]"; + else: + &fdr(12)(nA)&" * 100"&"["&fdr(12)(nA)&" * 100"&"]"; + fi fi endfor - message "% Monoisotopic mass: "&cal_MI_str; - message "% Weight Calc: " &cal_MW_str &" / Input: " + message " Molecular Weight [Mono Isotopic] = "& + fixed_r(12)(cal_MW_str)&"["&fixed_r(12)(cal_MI_str)&"]"; + message "------------------------------------------------------------------"; + message " Weight Calc: " &cal_MW_str &" / Input: " if inf_MW<>"": &inf_MW &" / weight gap= " &decimal(MW_num-scantokens(inf_MW)) fi; - message "% Fomula Calc: "&cal_FM&" / Input: " + message " Fomula Calc: "&cal_FM&" / Input: " if inf_FM<>"": &inf_FM&" / "& if inf_FM=cal_FM: "MACTCH" else: "NOT MACTCH" fi fi; - message "%=================================================================="; + message "=================================================================="; enddef; %================================================================================================== def proc_MOLfile_out= @@ -1267,4 +1283,3 @@ enddef; %------------------------------------------------------------------------------------------------- vardef fit_zero(expr n)=if n<=9: "00" elseif n<=99: "0" fi enddef; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% -- cgit v1.2.3