texlive[42970] Master/texmf-dist: mcf2graph (15jan17)

commits+karl at tug.org commits+karl at tug.org
Tue Jan 17 00:11:36 CET 2017


Revision: 42970
          http://tug.org/svn/texlive?view=revision&revision=42970
Author:   karl
Date:     2017-01-17 00:11:36 +0100 (Tue, 17 Jan 2017)
Log Message:
-----------
mcf2graph (15jan17)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG
    trunk/Master/texmf-dist/doc/metapost/mcf2graph/README
    trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_exa_soc.mf
    trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.pdf
    trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.tex
    trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc.mf
    trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.pdf
    trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.tex
    trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.pdf
    trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.tex
    trunk/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf

Modified: trunk/Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG	2017-01-16 23:10:31 UTC (rev 42969)
+++ trunk/Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG	2017-01-16 23:11:36 UTC (rev 42970)
@@ -1,6 +1,10 @@
 *******************************************************************************
- Changelog of mcf2graph software package         by Akira Yamaji 2017-01-09
+ Changelog of mcf2graph software package         by Akira Yamaji 2017-01-15
 *******************************************************************************
+[ver. 4.08  / 2017-01-15]
+  -add monoisotopic mass calculation
+  -update MCF syntax manual
+
 [ver. 4.07  / 2017-01-09]
   -add new command '!!'  : '!~db'
   -add new command '!!!' : '!~tm'

Modified: trunk/Master/texmf-dist/doc/metapost/mcf2graph/README
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/mcf2graph/README	2017-01-16 23:10:31 UTC (rev 42969)
+++ trunk/Master/texmf-dist/doc/metapost/mcf2graph/README	2017-01-16 23:11:36 UTC (rev 42970)
@@ -1,7 +1,7 @@
 ********************************************************************************
  mcf2graph  : Convert Molecular Coding Format to graphics with METAFONT/METAPOST
  Author     : Akira Yamaji
- version    : 4.07 2017-01-09
+ version    : 4.08 2017-01-15
  E-mail     : mcf2graph at gmail.com
  Located at : http://www.ctan.org/pkg/mcf2graph
 ********************************************************************************
@@ -30,6 +30,7 @@
  (12) mcf_example.pdf        PDF of (11) typeset with LuaTeX(LuaLaTeX)
 
 3. How to use mcf2graph with Metapost
+ Minimum requirement to run mcf2graph : mpost.exe,mpost.dll,mpost.mp,plain.mp
  ( 1) >mpost -s ahangle=0  FILENAME  => output no graphic file.
  ( 2) >mpost -s ahangle=1  FILENAME  => output PNG file. (default:eps)
  ( 3) >mpost -s ahangle=2  FILENAME  => output SVG file. 

Modified: trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_exa_soc.mf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_exa_soc.mf	2017-01-16 23:10:31 UTC (rev 42969)
+++ trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_exa_soc.mf	2017-01-16 23:11:36 UTC (rev 42970)
@@ -1,7 +1,7 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Molecular Coding Format for mcf_example.tex  by Akira Yamaji  2017.01.09
+% Molecular Coding Format for mcf_example.tex  by Akira Yamaji  2017.01.13
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-input mcf2graph.mf;   %%% it must be version 4.07 or later
+input mcf2graph.mf;   %%% it must be version 4.08 or later
 %-------------------------------------------------------------------------
 font_wd#:=33mm#;
 font_ht#:=24mm#;
@@ -18,15 +18,15 @@
 %%%% var3:="mol_wd";  tag3:="mWD";
 %%%% var4:="mol_ht";  tag4:="mHT";
 %%%% var5:="cal_MW";  tag5:="cMW";
-%%%% var6:="cal_FM";  tag6:="cFM";
-%%%% var7:="inf_USE"; tag7:="USE";
-%%%% var8:="inf_EXA"; tag8:="EXA";
-%%%% var9:="inf_EXB"; tag9:="EXB";
+%%%% var6:="cal_MI";  tag6:="cMI";
+%%%% var7:="cal_FM";  tag7:="cFM";
+%%%% var8:="inf_USE"; tag8:="USE";
+%%%% var9:="inf_EXA"; tag9:="EXA";
 %%%% auxtag_out;
 %%%% sw_checklist:=1;
 %%%% sw_MOLout:=1;
 %%%% 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)
 endfont
@@ -40,7 +40,7 @@
 endfont
 %***************************************************************************
 beginfont("EN:Tebufenozide","MW:352.478")
-  MCf(<30,Ph,6:/Et,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")
@@ -87,7 +87,7 @@
 %***************************************************************************
 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)d,@(1,2,4)N,4\,!3,O,!,/F^35,/F^-35,!,CF2,7\,|,Ph,@(4,6)/Cl)
 endfont
 %***************************************************************************
 beginfont("EN:Endosulfan","MW:406.904");
@@ -100,7 +100,8 @@
 endfont
 %***************************************************************************
 beginfont("EN:Propiconazole","MW:342.22")
-  MCf(<-6,?5,$(2,5)d,@(1,3,4)N,4\,!2,|,Ph,@(4,6)/Cl,#7*,|,?5,@(1,4)O,3:/Pr^24)
+  MCf(<-6,?5,$(2,5)d,@(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")
@@ -120,7 +121,7 @@
 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,/Et,!2)
+  MCf(<30,Ph,@(2,4,6)/_,3\,SOO,!,|,?5,$(2,5)d,@(2,4,5)N,4\,//O,!,N,/!,!2)
 endfont
 %***************************************************************************
 beginfont("EN:Cyclosulfamuron","MW:421.428")
@@ -129,7 +130,7 @@
 endfont
 %***************************************************************************
 beginfont("EN:Napropamide","MW:271.36")
-  MCf(<-30,Ph,3=Ph,10\,O,!,/_^35,/_^-35,!,//O,!,N,/Et,!)
+  MCf(<-30,Ph,3=Ph,10\,O,!,/_^35,/_^-35,!,//O,!,N,/!,!)
 endfont
 %***************************************************************************
 beginfont("EN:Pyributicarb","MW:330.446")
@@ -141,11 +142,11 @@
 endfont
 %***************************************************************************
 beginfont("EN:Pendimethalin","MW:281.312")
-  MCf(<30,Ph,@(1,2)/_,@(3,5)/NO2,4\,NH,!,/Et,!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,/Et,!4)
+  MCf(<30,Ph,@(1,3)/NO2,5:/CF3,2\,N,/!,!4)
 endfont
 %***************************************************************************
 beginfont("EN:Trinexapac-ethyl","MW:252.266")
@@ -201,7 +202,7 @@
 endfont
 %**************************************************************************
 beginfont("EN:Oceltamivir","MW:312.41")
-  MCf(<30,?6,3=d,1:/NH2,3:/COO!2,6:/NHCO!,5\~zf,O,!,/Et,!2)
+  MCf(<30,?6,3=d,1:/NH2,3:/COO!2,6:/NHCO!,5\~zf,O,!,/!,!2)
 endfont
 %***************************************************************************
 beginfont("EN:Luciferin","MW:280.33")
@@ -212,7 +213,7 @@
 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,&#5,
    -1*,24,/*COO!^15,72,//O,&#1,},
-   @(2,9,15,20~zf)/_,8:/Et,14\,!!,
+   @(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
@@ -267,7 +268,7 @@
 endfont
 %**************************************************************************
 beginfont("EN:Emetine","MW:480.649")
-  MCf(<30,Ph,$(-4,-4)?6,8:N,@(1,6)/O!,-2:/*Et,@(7^-60,12^-60)/*H,
+  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
 %***************************************************************************
@@ -343,10 +344,10 @@
 %***************************************************************************
 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:/*Et,@(1,9)//O,@(2,10)*/_,@(4,6^-35,8,12^35)/*_,
+    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:/NMeMe)
+    #5\*^30`1.7,O,!,|,?6`.7,6:O,5:/_,2:/OH,3:/NMe!)
 endfont;
 %**************************************************************************
 beginfont("EN:Paclitaxel","MW:853.918")

Modified: trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.tex
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.tex	2017-01-16 23:10:31 UTC (rev 42969)
+++ trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.tex	2017-01-16 23:11:36 UTC (rev 42970)
@@ -1,5 +1,5 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Example of MCF typeset by LaTeX   mcf_examples.tex   by A.Yamaji  2017.01.09
+% Example of MCF typeset by LaTeX   mcf_examples.tex   by A.Yamaji  2017.01.15
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \documentclass[a4paper]{article}
 \usepackage{graphicx}

Modified: trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc.mf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc.mf	2017-01-16 23:10:31 UTC (rev 42969)
+++ trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc.mf	2017-01-16 23:11:36 UTC (rev 42970)
@@ -1,7 +1,7 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Molecular Coding Format file for mcf_manual.tex  by Akira.Yamaji 2017.01.03
+% Molecular Coding Format file for mcf_manual.tex  by Akira.Yamaji 2017.01.15
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-input mcf2graph.mf;   %% it must be version 4.06 or later
+input mcf2graph.mf;   %% it must be version 4.08 or later
 %------------------------------------------------------------------------
 sw_auxout:=0;
 sw_mol_frame:=0;
@@ -415,7 +415,7 @@
   sw_numberA:=1;
   sw_clip:=1;
   numberA_end:=17;
-  MCf(<-30,!16,2:/_,4:/Et,6:/Pr,10:/iPr,14:/tBu,16:/Ph^-60)
+  MCf(<-30,!16,2:/_,4:/!,6:/!2,10:/iPr,14:/tBu,16:/Ph^-60)
 endfont
 %***********************************************************************
 beginfont("EN:substituent 4")
@@ -655,11 +655,11 @@
   font_wd#:=70mm#;
   font_ht#:=15mm#;
   ratio_chain_ring:= 0.4;
-  MCd(1,1)(0, .5)(<30,?6,4:/Et)
+  MCd(1,1)(0, .5)(<30,?6,4:/!)
   ratio_chain_ring:= 0.66;   %<<== default
-  MCd(1,1)(.45, .5)(<30,?6,4:/Et)
+  MCd(1,1)(.45, .5)(<30,?6,4:/!)
   ratio_chain_ring:= 1;
-  MCd(1,1)(1, .5)(<30,?6,4:/Et)
+  MCd(1,1)(1, .5)(<30,?6,4:/!)
 endfont
 %***********************************************************************
 beginfont("EN:ratio_zebragap_bond")

Modified: trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.tex
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.tex	2017-01-16 23:10:31 UTC (rev 42969)
+++ trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.tex	2017-01-16 23:11:36 UTC (rev 42970)
@@ -1,5 +1,5 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%  Molecular Coding Format manual          by  Akira Yamaji 2017.01.09
+%  Molecular Coding Format manual          by  Akira Yamaji 2017.01.15
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \documentclass[a4paper]{article}
 %%%%\usepackage{graphicx}

Modified: trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.tex
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.tex	2017-01-16 23:10:31 UTC (rev 42969)
+++ trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.tex	2017-01-16 23:11:36 UTC (rev 42970)
@@ -1,7 +1,7 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Example of  MCF typest with LuaLaTeX(luamplib)     by A.Yamaji   2017.01.09
+% Example of  MCF typest with LuaLaTeX(luamplib)     by A.Yamaji   2017.01.15
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%% mcf2graph.mf it must be version 4.07 or later
+%%% mcf2graph.mf it must be version 4.08 or later
 \documentclass{article}
 %------------------------------------------------------------------------------
 \usepackage{luamplib}%
@@ -96,7 +96,7 @@
    -2\,54~dl,|,?5,2=d,5:N,-2\~dl,54,|,?5,5=d,5:N,-2\~dl,&#5,
    -1*,24,/*COO!^15,72,//O,&#1,},
    4\`1.45,Mg,&17,-1*,&11~vb,-1*,&23~vb,
-   @(2,9,15,20~zf)/_,8:/Et,14\,!!,
+   @(2,9,15,20~zf)/_,8:/!,14\,!!,
    21*,-6~wf,!2,//O,!,O,!2,!!,|,!13,@(1,5,9,13)/_,
   )
   endfont

Modified: trunk/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf
===================================================================
--- trunk/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf	2017-01-16 23:10:31 UTC (rev 42969)
+++ trunk/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf	2017-01-16 23:11:36 UTC (rev 42970)
@@ -1,5 +1,5 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% mcf2graph ver 4.07     Copyright (c) 2013-2017   Akira Yamaji
+% mcf2graph ver 4.08     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,
@@ -34,7 +34,7 @@
 %-------------------------------------------------------------------------------------------------
 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[],
-        tbl_char_wd[],tbl_char_ht[],tbl_char_dp[];
+        tbl_atom_mi[],tbl_char_wd[],tbl_char_ht[],tbl_char_dp[];
 string  tbl_atom_str[],strD[],var[],tag[],mp_log_name,aux_delimiter;
 picture atom_font[],mol_stru[];
 %-------------------------------------------------------------------------------------------------
@@ -744,17 +744,17 @@
 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); tBu:='(60,-2\,-3*,60); iPr:='(60,-2\);
-OMe:=O!:='(O,!); OEt:=O!2:='(O,!2); OPr:=O!3:='(O,!3); OiPr:='(O,!,iPr); 
-SMe:=S!:='(S,!); SEt:=S!2:='(S,!2); SPr:=S!3:='(S,!3); SiPr:='(S,!,iPr);
+SO3:='("S{O_3_}"); NMe:=N!:='(N,/Me); iPr:=Me!:='(60,-2\); tBu:='(60,-2\,-3*,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,!);
 OCOMe:=OCO!:='(O,!,//O,!); COOEt:=COO!2:='(//O,!,O,!2);
-COOiPr:='(//O,!,O,!,iPr);  COOPr:=COO!3:='(//O,!,O,!3);
-COOtBu:='(//O,!,O,!,tBu); NMeMe:='(N,/Me,!); NHCOMe:=NHCO!:='(NH,!,//O,!);
-NHiPr:='(NH,!,iPr); NHtBu:='(NH,!,tBu); NHH:='(N,/H,!,H);
+COOiPr:=COOMe!:='(//O,!,O,!,iPr); COOPr:=COO!3:='(//O,!,O,!3);
+COOtBu:='(//O,!,O,!,tBu); NMeMe:=NMe!:='(N,/Me,!); NHCOMe:=NHCO!:='(NH,!,//O,!);
+NHiPr:=NHMe!:='(NH,!,iPr); NHtBu:='(NH,!,tBu); NHH:='(N,/H,!,H);
 NHMe:=NH!:='(NH,!); NHEt:=NH!2:='(NH,!2); !NH!:='(!,NH,!); !CO!:='(!,//O,!);
 !OH:='(!,OH); !SH:='(!,SH); !NH2:='(!,NH2); !OMe:=!O!:='(!,OMe); !COOH:='(!,COOH);
-!CH3:='(!,"C{H_3_}"); !CN:='(!,CN); !iPr:='(!,iPr); !tBu:='(!,tBu); !Ph:='(!,Ph);
+!CH3:='(!,"C{H_3_}"); !CN:='(!,CN); !iPr:=!Me!:='(!,iPr); !tBu:='(!,tBu); !Ph:='(!,Ph);
 !?3:='(!,?3); !?4:='(!,?4); !?5:='(!,?5); !?6:='(!,?6);
 CF2:='(/F,60,F); CCl2:='(/Cl,60,Cl); CBr2:='(/Br,60,Br); CF3:='(/F,/F^60,60,F);
 CCl3:='(/Cl,/Cl^60,60,Cl);CBr3:='(/Br,/Br^60,60,Br);O_H:='(O,!,H);CO_H:='(//O,!,H);
@@ -911,8 +911,9 @@
 enddef;
 vardef stripP(expr a)=if length(a)=4: substring (1,3) of a else: a fi enddef;
 %==================================================================================================
-def STa(expr a,b)=
-  tbl_atom_str[incr tbl_cnt]:=a; tbl_atom[tbl_cnt]:=0; tbl_atom_wt[tbl_cnt]:=b;
+def STa(expr a,b,c)=
+  tbl_atom_str[incr tbl_cnt]:=a; tbl_atom[tbl_cnt]:=0;
+  tbl_atom_wt[tbl_cnt]:=b; tbl_atom_mi[tbl_cnt]:=c;
 enddef;
 %----------------------------------------------------------------------------------
 def STb(expr a)(text s)=
@@ -925,13 +926,22 @@
 enddef;
 %==================================================================================================
 tbl_cnt:=0;
-STa("C"   ,12.0107);  STa("H"   ,1.00794);    STa("{Al}",26.9815);   STa("{As}",74.9236);
-STa("B"   ,10.811);   STa("{Br}",79.904);     STa("{Ca}",40.078);    STa("{Cl}",35.453);
-STa("{Cu}",63.546);   STa("D"   ,2.012);      STa("F"   ,18.9984);   STa("{Fe}",55.845);
-STa("{Hg}",200.59);   STa("I"   ,126.90447);  STa("K"   ,39.0983);   STa("{Li}",6.941);
-STa("{Mg}",24.305);   STa("N"   ,14.0067);    STa("{Na}",22.98977);  STa("{Ni}",58.693);
-STa("O"   ,15.9994);  STa("P"   ,30.973761);  STa("S"   ,32.065);    STa("{Si}",28.0855);
-STa("{Sn}",118.71);   STa("{Ti}",47.867);     STa("{Zn}",65.409);
+STa("C"   ,12.0107,   12.0000000);      STa("H"   , 1.00794,    1.00782503223);
+STa("{Al}",26.9815,   26.98153853);     STa("{As}",74.9216,    74.92159457);
+STa("B"   ,10.811,    11.00930536);     STa("{Br}",79.904,     78.9183376);
+STa("{Ca}",40.078,    39.962590863);    STa("{Cl}",35.453,     34.968852);
+STa("{Co}",58.933194, 58.93319429);     STa("{Cr}",51.9961,    51.94050623);
+STa("{Cu}",63.546,    62.92959772);     STa("D"   ,2.012,       2.01410177812);
+STa("F"   ,18.9984,   18.99840316273);  STa("{Fe}",55.845,     55.93493633);
+STa("{Hg}",200.59,   201.97064340);     STa("I"   ,126.90447, 126.9044719);
+STa("K"   ,39.0983,   38.9637064864);   STa("{Li}",6.941,       7.0160034366);
+STa("{Mg}",24.305,    23.985041697);    STa("{Mn}",54.938044,  54.93804391);
+STa("N"   ,14.0067,    14.00307400443); STa("{Na}",22.98977,  22.9897692820);
+STa("{Ni}",58.693,     57.93534241);    STa("O"   ,15.9994,   15.99491461957);
+STa("P"   ,30.973762,  30.97376199842); STa("S"   ,32.065,    31.9720711744);
+STa("{Se}",78.971,     79.9165218);     STa("{Si}",28.0855,   27.97692653465);
+STa("{Sn}",118.71,   119.90220163);     STa("{Ti}",47.867,     47.94794198);
+STa("{Zn}",65.409,    63.92914201);
 %--------------------------------------------------------------------------------------------------
 STb("{H_2_}")("H","H"); STb("OH")("O","H"); STb("O{Na}")("O","{Na}"); STb("CN")("C","N");
 STb("SH")("S","H"); STb("CHO")("C","H","O");  STb("N{O_2_}")("N","O","O");
@@ -952,13 +962,13 @@
 %==================================================================================================
 def proc_calc_out=
   begingroup
-  save warning_cnt,cal_MW,cal_MWp,knownA,cal_FM,bondC,tmp_wtp,bond_cnt,cnt_hide_H,
+  save warning_cnt,cal_MW,MWp,knownA,cal_FM,bondC,tmp_wtp,bond_cnt,cnt_hide_H,
        inf_NO,inf_EN,inf_JN,inf_FM,inf_CAS,inf_USE,inf_EXA,inf_EXB,inf_MW;
   numeric sumA[],bondC[],hideH[];
-  string cal_FM,cal_MW,cal_MW_str,sumA,s_tag,s_var,
+  string cal_FM,cal_MW,cal_MW_str,cal_MI,cal_MI_str,sumA,s_tag,s_var,
          inf_NO,inf_EN,inf_JN,inf_FM,inf_CAS,inf_USE,inf_EXA,inf_EXB,inf_MW;
   inf_NO:=inf_EN:=inf_JN:=inf_FM:=inf_CAS:=inf_USE:=inf_EXA:=inf_EXB:=inf_MW:="";
-  cal_MW:=cal_MW_str:=cal_FM:=""; cnt_hide_H:=warning_cnt:=cal_MW_num:=cal_MWp:=0;
+  cal_MW:=cal_MW_str:=cal_FM:=""; cnt_hide_H:=warning_cnt:=MW_num:=MI_num:=MWp:=0;
   %------------------------------------------------------------------------------------------
   proc_get_info;
   for i=1 upto tbl_cnt: sumA[i]:=0; endfor
@@ -1001,12 +1011,14 @@
   sumA[2]:=sumA[2]+cnt_hide_H;
   for i=1 upto tbl_cnt:
     if sumA[i]>=1:
-      nA:=tbl_atom_wt[i]/100*sumA[i]; cal_MWp:=cal_MWp+nA;
-      if (cal_MWp<40)and(nA<40):  cal_MW_num:= cal_MW_num+tbl_atom_wt[i]*sumA[i]; fi
+      nA:=tbl_atom_wt[i]/100*sumA[i]; MWp:=MWp+nA;
+      if (MWp<40)and(nA<40): MW_num:= MW_num+tbl_atom_wt[i]*sumA[i];
+                             MI_num:= MI_num+tbl_atom_mi[i]*sumA[i]; fi
       cal_FM:=cal_FM&stripP(tbl_atom_str[i]) if sumA[i]>=2: &decimal(sumA[i]) fi;
     fi
   endfor
-  cal_MW:=substring (0,8) of decimal(cal_MW_num);
+  cal_MI:=substring (0,10) of decimal(MI_num);
+  cal_MW:=substring (0,8)  of decimal(MW_num);
   if sw_auxout=1:    proc_auxfile_out;   fi
   if sw_checklist=1: proc_checklist_out; fi
   if sw_MOLout=1:    proc_MOLfile_out;    fi
@@ -1061,7 +1073,9 @@
     fi
   endfor
   message "%------------------------------------------------------------------";
-  if cal_MWp<=40: cal_MW_str:=cal_MW; else: cal_MW_str:=fdr(10)(cal_MWp)&" * 100"; fi
+  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];
@@ -1070,8 +1084,9 @@
        if nA<40: &fdr(12)(tbl_atom_wt[i]*sumA[i]); else: &fdr(12)(nA)&" * 100"; fi
      fi
   endfor
+  message "% Mono isotopic:" &cal_MI_str;
   message "% Weight  Calc: " &cal_MW_str &" / Input: "
-    if inf_MW<>"": &inf_MW &" / weight gap= " &decimal(cal_MW_num-scantokens(inf_MW)) fi;
+    if inf_MW<>"": &inf_MW &" / weight gap= " &decimal(MW_num-scantokens(inf_MW)) fi;
   message "% Fomula  Calc: "&cal_FM&" / Input: "
     if inf_FM<>"": &inf_FM&" / "&  if inf_FM=cal_FM: "MACTCH" else: "NOT MACTCH" fi fi;
   message "%==================================================================";



More information about the tex-live-commits mailing list