texlive[42515] Master/texmf-dist: mcf2graph (15nov16)

commits+karl at tug.org commits+karl at tug.org
Tue Nov 15 23:46:47 CET 2016


Revision: 42515
          http://tug.org/svn/texlive?view=revision&revision=42515
Author:   karl
Date:     2016-11-15 23:46:47 +0100 (Tue, 15 Nov 2016)
Log Message:
-----------
mcf2graph (15nov16)

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_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/metapost/mcf2graph/mcf2graph.mf

Modified: trunk/Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG	2016-11-15 08:23:46 UTC (rev 42514)
+++ trunk/Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG	2016-11-15 22:46:47 UTC (rev 42515)
@@ -1,6 +1,10 @@
 *******************************************************************************
- Changelog of mcf2graph software package         by Akira Yamaji 2016-11-05
+ Changelog of mcf2graph software package         by Akira Yamaji 2016-11-15
 *******************************************************************************
+[ver. 4.05  / 2016-11-15]
+  -improve molecular checklist
+  -update MCF syntax manual
+
 [ver. 4.04  / 2016-11-05]
   -improve clipping mode
   -update MCF syntax manual

Modified: trunk/Master/texmf-dist/doc/metapost/mcf2graph/README
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/mcf2graph/README	2016-11-15 08:23:46 UTC (rev 42514)
+++ trunk/Master/texmf-dist/doc/metapost/mcf2graph/README	2016-11-15 22:46:47 UTC (rev 42515)
@@ -1,7 +1,7 @@
 ********************************************************************************
  mcf2graph  : Convert Molecular Coding Format to graphics with METAFONT/METAPOST
  Author     : Akira Yamaji
- version    : 4.04 2016-11-05
+ version    : 4.05 2016-11-15
  E-mail     : mcf2graph at gmail.com
  Located at : http://www.ctan.org/pkg/mcf2graph
 ********************************************************************************

Modified: trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_exa_soc.mf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_exa_soc.mf	2016-11-15 08:23:46 UTC (rev 42514)
+++ trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_exa_soc.mf	2016-11-15 22:46:47 UTC (rev 42515)
@@ -1,10 +1,11 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Molecular Coding Format for mcf_example.tex  by Akira Yamaji  2016.10.19
+% Molecular Coding Format for mcf_example.tex  by Akira Yamaji  2016.11.15
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 input mcf2graph.mf;   %%% it must be version 4.02 or later
 %-------------------------------------------------------------------------
 font_wd#:=33mm#;
 font_ht#:=24mm#;
+max_bond_length#:=5mm#;
 %-------------------------------------------------------------------------
 sw_auxout:=1;
 sw_font_frame:=0;
@@ -26,152 +27,152 @@
 %%%% sw_MOLout:=1;
 %%%% outputformat:="png"; hppp:=vppp:=0.1; outputtemplate:="%j-%3c.png";
 %**************************************************************************
-beginfont("EN:Acetamiprid")
-  MCf(<30,Ph,4\,!,NH,!,!~dr,N,!,CN)
+beginfont("EN:Acetamiprid","MW:222.676")
+  MCf(<30,Ph,2:N,1:/Cl,4\,!,N,/Me,!,/Me,!~dr,N,!,CN)
 endfont
 %***************************************************************************
-beginfont("EN:Imidacloprid")
-  MCf(<30,Ph,1:N,6:/Cl,3\,!,|,?5,1:N,3:NH,2\\,!,NO2)
+beginfont("EN:Imidacloprid","MW:255.662")
+  MCf(<30,Ph,1:N,6:/Cl,3\,!,|,?5,2=dl,1:N,3:N,2\,NH,!,NO2)
 endfont
 %***************************************************************************
-beginfont("EN:Thiamethoxam")
-  MCf(<30,?6,@(4,6)N,2:O,6:/Me,5\\,!,NO2,4\,!,|,?5,$(1,3)dl,3:N,5:S,4:/Cl)
+beginfont("EN:Thiamethoxam","MW:291.71")
+  MCf(<30,?6,@(4,6)N,2:O,6:/Me,5\\,N,!,NO2,4\,!,|,?5,$(1,3)dl,3:N,5:S,4:/Cl)
 endfont
 %***************************************************************************
-beginfont("EN:Tebufenozide")
+beginfont("EN:Tebufenozide","MW:352.478")
   MCf(<30,Ph,6:/Et,3\,//O,!,NH,!,N,/tBu,!,//O,!,|,Ph,@(3,5)/Me)
 endfont
 %***************************************************************************
-beginfont("EN:Pyridaphenthion")
+beginfont("EN:Pyridaphenthion","MW:340.334")
   MCf(<-30,!2,O,!,P,//S,/OEt^160>rl,!,O,!,|,?6,$(1,5)dl,@(2,3)N,4://O,3:/Ph)
 endfont
 %***************************************************************************
-beginfont("EN:Fenitrothion")
+beginfont("EN:Fenitrothion","MW:277.231")
   MCf(<30,!,O,!,P,//S,/OMe^160,!,O,!,|,Ph,3:/Me,4:/NO2)
 endfont
 %***************************************************************************
-beginfont("EN:Permethrin")
+beginfont("EN:Permethrin","MW:391.288")
   MCf(<-30,?3,2^-35:*/Me,2^35:/*Me,1\,!~dl,/Cl,!,Cl,
      3\,//O,!,O,!2,|,Ph,3\,O,-60,Ph)
 endfont
 %***************************************************************************
-beginfont("EN:Bensultap")
+beginfont("EN:Bensultap","MW:431.598")
   MCf(<30,Ph,4\,SOO,!,S,!2,N,/Me,!2,S,!,SOO,!,Ph)
 endfont
 %***************************************************************************
-beginfont("EN:Azoxystorbin")
+beginfont("EN:Azoxystorbin","MW:403.394")
   MCf(<30,Ph,2:/OH,3\,O,!,|,Ph,@(4,6)N,3\,O,!,|,Ph,2\,/OMe,!,//O,!,O,!)
 endfont
 %***************************************************************************
-beginfont("EN:Isoprothiolane")
+beginfont("EN:Isoprothiolane","MW:290.392")
   MCf(<30,!,/Me,!,O,!,//O,|,!2,//O,!,O,!,/Me,!,2\\,|,?5,@(2,5)S)
 endfont
 %***************************************************************************
-beginfont("EN:Etridiazole")
+beginfont("EN:Etridiazole","MW:247.518")
   MCf(<18,?5,$(1,3)dl,@(2,4)N,5:S,1:/OEt,3:/CCl3)
 endfont
 %***************************************************************************
-beginfont("EN:Oxine-Copper")
+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)
 endfont
 %***************************************************************************
-beginfont("EN:Captan")
-  MCf(<12,?6,6=dl,3=?5,2:N,@(7,9)//O,8\,S,!,CCl3)
+beginfont("EN:Captan","MW:300.578")
+  MCf(<12,?6,6=dl,3=?5,8:N,@(7,9)//O,8\,S,!,CCl3)
 endfont
 %***************************************************************************
-beginfont("EN:Chlorothalonil")
+beginfont("EN:Chlorothalonil","MW:265.902")
   MCf(<30,Ph,@(1,2,4,6)/Cl,@(3,5)/CN)
 endfont
 %***************************************************************************
-beginfont("EN:Tetraconazole")
+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)
 endfont
 %***************************************************************************
-beginfont("EN:Endosulfan");
+beginfont("EN:Endosulfan","MW:406.904");
   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")
+beginfont("EN:Flutolanil","MW:323.315")
   MCf(<30,Ph,2:/CF3,3\,//O,!,NH,!,|,Ph,6:/OiPr)
 endfont
 %***************************************************************************
-beginfont("EN:Propiconazole")
-  MCf(<-6,?5,$(2,5)d,@(1,3,4)N,4\,!2,|,Ph,@(4,6)/Cl,#7\,|,?5,@(2,5)O,3:/Bu^24)
+beginfont("EN:Propiconazole","MW:342.22")
+  MCf(<-6,?5,$(2,5)d,@(1,3,4)N,4\,!2,|,Ph,@(4,6)/Cl,#7*,|,?5,@(2,5)O,3:/Bu^24)
 endfont
 %***************************************************************************
-beginfont("EN:Pencycuron")
+beginfont("EN:Pencycuron","MW:328.84")
   MCf(<30,Ph,6:/Cl,3\,!,N,/?6,!,//O,!,NH,!,Ph)
 endfont
 %***************************************************************************
-beginfont("EN:Asulam")
+beginfont("EN:Asulam","MW:230.238")
   MCf(<30,Ph,6:/NH2,3\,SOO,!,NH,!,//O,!,O,!)
 endfont
 %***************************************************************************
-beginfont("EN:Oxadixyl")
+beginfont("EN:Oxadiargyl","MW:341.19")
   MCf(<30,Ph,@(1,3)/Cl,4\,|,?5,2=dl,@(1,2)N,4:O,5://O,-3:/tBu,#6\,O,!2,!~tm)
 endfont
 %***************************************************************************
-beginfont("EN:Oxaziclomefone")
+beginfont("EN:Oxaziclomefone","MW:376.277")
   MCf(<30,?6,4:N,2:O,1:/Me,5://O,6:/Ph,4\,/Me^35,/Me^-35,!,|,Ph,@(3,5)/Cl)
 endfont
 %***************************************************************************
-beginfont("EN:Cafenstrole")
+beginfont("EN:Cafenstrole","MW:350.437")
   MCf(<30,Ph,@(2,4,6)/Me,3\,SOO,!,|,?5,$(2,5)d,@(2,4,5)N,4\,!,N,/Me,!2)
 endfont
 %***************************************************************************
-beginfont("EN:Cyclosulfamuron")
+beginfont("EN:Cyclosulfamuron","MW:421.428")
   MCf(<30,
     Ph,5\,//O,!,?3,4\,NH,!,SOO,!,NH,!,//O,!,NH,!,|,Ph,@(2,6)N,@(3,5)/OMe)
 endfont
 %***************************************************************************
-beginfont("EN:Napropamide")
+beginfont("EN:Napropamide","MW:271.36")
   MCf(<-30,Ph,3=Ph,10\,O,!,/Me^35,/Me^-35,!,//O,!,N,/Et,!)
 endfont
 %***************************************************************************
-beginfont("EN:Pyributicarb")
+beginfont("EN:Pyributicarb","MW:330.446")
   MCf(<30,Ph,5:/tBu,3\,//O,!,S,!,N,/Me,!,|,Ph,@(5,6)/Me,3:/OMe)
 endfont
 %***************************************************************************
-beginfont("EN:Propyzamide")
+beginfont("EN:Propyzamide","MW:256.126")
   MCf(<30,Ph,@(1,5)/Cl,3\,//O,!,NH,!,/Me^35,/Me^-35,!,!~tm)
 endfont
 %***************************************************************************
-beginfont("EN:Pendimethalin")
+beginfont("EN:Pendimethalin","MW:281.312")
   MCf(<30,Ph,@(1,2)/Me,6:/Cl,@(3,5)/NO2,4\,NH,!,/Et,!2)
 endfont
 %***************************************************************************
-beginfont("EN:Benfluralin")
+beginfont("EN:Benfluralin","MW:335.283")
   MCf(<30,Ph,@(1,3)/NO2,5:/CF3,2\,N,/Et,!4)
 endfont
 %***************************************************************************
-beginfont("EN:Trinexapac-ethyl")
+beginfont("EN:Trinexapac-ethyl","MW:252.266")
   MCf(<30,?6,@(2,4)//O,6:/COOEt,3\\,/OH,!,?3)
 endfont
 %***************************************************************************
-beginfont("EN:Buprofezin")
+beginfont("EN:Buprofezin","MW:305.44")
   MCf(<-30,?6,@(1,5)N,3:S,6://O,5:/tBu,4\\,N,!,tBu,1:/Ph)
 endfont
 %***************************************************************************
-beginfont("EN:Tricyclazole")
+beginfont("EN:Tricyclazole","MW:189.236")
   MCf(<30,Ph,2:/Me,|,-4=?5,1:N,3:S,|,-3=?5,$(2,4)dl,@(2,3)N)
 endfont
 %***************************************************************************
-beginfont("EN:Phthalide")
+beginfont("EN:Phthalide","MW:134.134")
   MCf(<30,Ph,@(1,2,5,6)/Cl,|,-4=?5,2:O,3://O)
 endfont
 %***************************************************************************
-beginfont("EN:Probenazole")
+beginfont("EN:Probenazole","MW:223.246")
   MCf(<12,Ph,|,-4=?5,1:SOO,2:N,3\,O,!2,!~dr)
 endfont
 %***************************************************************************
-beginfont("EN:Simetryn")
+beginfont("EN:Simetryn","MW:213.303")
   MCf(<30,Ph,@(2,4,6)N,5:/SMe,@(1,3)/NHEt)
 endfont
 %***************************************************************************
-beginfont("EN:Rifampicin")
+beginfont("EN:Rifampicin","MW:822.953")
   MCf(<30,
      Ph,6:/Me^30,5:/OH,|,-6=?5,1:O,3://O,2:/*Me^60,|,-8=?6,@(2,4)d,@(1,4)/OH,
      {,``1,-2\,NH,60,//O,-60,/Me,60~dl,60,60~dl,-60,
@@ -187,19 +188,19 @@
      #5\*,60,O,!,#14\*^-25,//O,!,O,!)
 endfont
 %***************************************************************************
-beginfont("EN:Ampicillin")
+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)/Me,
    ,4*\^75,NH,!,//O,!,/*NH2,!,Ph)
 endfont
 %***************************************************************************
-beginfont("EN:Validamycin")
+beginfont("EN:Validamycin","MW:497.494")
   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:Oceltamivir")
+beginfont("EN:Oceltamivir","MW:312.41")
   MCf(<30,?6,3=dl,1:/NH2,3:/COOEt,6:/NHCOMe,5\~zf,O,!,/Et,!2)
 endfont
 %***************************************************************************
@@ -208,7 +209,7 @@
     #3*\^6,!~dl,!3,O,0,Ph,#8*,|,?5,@(1,4)O,#4\*^-6,!,30~dl,30,!3,COOH)
 endfont
 %***************************************************************************
-beginfont("EN:Chlorophyll a")
+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,&#5,
    -1*,24,/*COOMe^15,72,//O,&#1,},
@@ -217,36 +218,36 @@
    #21*,-6~wf,!2,//O,!,O,!2,!~dl,|,!13,@(1,5,9,13)/Me)
 endfont
 %**************************************************************************
-beginfont("EN:Gibberellin A3");
+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://Me,13:*/OH,8:/*OH,14:*/Me,@(1^60,4^60)*/H)
 endfont;
 %**************************************************************************
-beginfont("EN:Cholesterol")
+beginfont("EN:Cholesterol","MW:386.664")
   MCf(<30,?6,$(-4,-2)?6,-4=?5,7=dl,
      1:*/OH,@(4,12)*/Me^60,
      10:/*H^180,@(11,-1)/*H^-60,9:*/H^60,-1\^17,/*Me,!4,/Me,!)
 endfont
 %***************************************************************************
-beginfont("EN:Lycorine")
+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,
     9:/*H^180,10:*/H^60,13:*/OH,14:/*OH)
 endfont
 %**************************************************************************
-beginfont("EN:Tetrodotoxine")
+beginfont("EN:Tetrodotoxine","MW:319.27")
   MCf({,``1,<60,-90,60,-30`1.15,150,60,&#1,#3*,-135,60,-30`1.15,150,&#4,
      #10\,O,60`1.33,60,&#3~si_,#8*,-15~si_,O,&#12,},#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")
+beginfont("EN:beta-Carotene","MW:536.888")
   MCf(<30,?6,3=dl,@(3,5^35,5^-35)/Me,
      4\,|,!18,$(1,3,5,7,9,11,13,15,17)dr,@(3,7,12,16)/Me,
      |,?6,6=dl,@(6,2^35,2^-35)/Me)
 endfont
 %**************************************************************************
-beginfont("EN:alfa-Tocopherol")
+beginfont("EN:alfa-Tocopherol","MW:430.717")
   MCf(<30,Ph,3=?6,7:O,@(1,2,5)/Me,8:/*Me^60,6:/OH,8\,|,!12,@(4,8)/*Me,12:/Me)
 endfont
 %**************************************************************************
@@ -254,7 +255,7 @@
   MCf(<30,Ph,3=?6,9\,Ph,9=dl,10:O,7://O,@(2,6,8,13,14)/OH)
 endfont
 %***************************************************************************
-beginfont("EN:Limonin")
+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)/Me,@(1^60,5^180,16^60)/*H,
@@ -261,43 +262,43 @@
       14\*,|,?5,$(1,4)dl,3:O)
 endfont
 %**************************************************************************
-beginfont("EN:Cromolyn")
+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)
 endfont
 %**************************************************************************
-beginfont("EN:Emetine")
+beginfont("EN:Emetine","MW:480.649")
   MCf(<30,Ph,$(-4,-4)?6,8:N,@(1,6)/OMe,-2:/*Et,@(7^-60,12^-60)/*H,
      -3\,!~zb,<-60,|,?6,5=d,2:NH,-6^-60:*/H,|,-2=?6,$(2,4)dl)
 endfont
 %***************************************************************************
-beginfont("EN:Colchicine")
+beginfont("EN:Colchicine","MW:399.443")
   MCf(<30,Ph,@(1,2,6)/OMe,-4=?7,-5=?7,$(-1,-4,-6)dl,-2://O,-3:/OH,
      9\,NH,!,//O,!)
 endfont
 %***************************************************************************
-beginfont("EN:Caffeine")
+beginfont("EN:Caffeine","MW:194.194")
   MCf(<30,?6,3=d,@(2,6)N,@(2,6)/Me,@(1,5)//O,|,-4=?5,2=dl,@(1,3)N,3:/Me)
 endfont
 %**************************************************************************
-beginfont("EN:Acronycine")
+beginfont("EN:Acronycine","MW:321.376")
   MCf(<30,Ph,|,-4=?6,1:N,4://O,,1:/Me,-3=Ph2,-1:/OMe,
       |,-4=?6,2=d,4:O,-2^-35:/Me,-2^35:/Me)
 endfont
 %***************************************************************************
-beginfont("EN:Ibotenic acid")
+beginfont("EN:Ibotenic acid","MW:158.113")
   MCf(<18,?5,4=d,3:O,2:NH,1://O,4\^-24,/NH2,!,COOH)
 endfont
 %**************************************************************************
-beginfont("EN:Piperine")
+beginfont("EN:Piperine","MW:285.343")
   MCf(<30,Ph,|,-1=?5,@(1,3)O,#4\,!~dr,!,!~dr,!,//O,!,|,?6,1:N)
 endfont
 %***************************************************************************
-beginfont("EN:Febrifugine")
+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)
 endfont
 %***************************************************************************
-beginfont("EN:Mitomycine C")
+beginfont("EN:Mitomycine C","MW:334.332")
   MCf(<30,?6,$(3,6)dl,@(2,5)//O,1:/Me,|,-4=?5,1:N,
      #6:/NH2,|,-3=?5,|,-2=?3,-1=wb,-2=wf,-1:NH,
      #8:/*OMe^35,#9\`1^17.9,!,O,!,//O,!,NH2)
@@ -308,15 +309,15 @@
     10\*,Ph,@(-2,-3,-4)/OMe,#13:/*OH,@(#11~wf^-60,#12~zf^60)/H)
 endfont;
 %***************************************************************************
-beginfont("EN:Warfarin");
+beginfont("EN:Warfarin","MW:308.333");
   MCf(<30,Ph,3=?6,8=dl,10:O,7:/OH,9://O,8\,/Ph`1,60,!,//O,!)
 endfont;
 %***************************************************************************
-beginfont("EN:Genistein");
+beginfont("EN:Genistein","MW:270.24");
   MCf(<30,Ph,3=?6,10:O,@(2,6)/OH,9://O,8\,Ph,-3:/OH)
 endfont;
 %***************************************************************************
-beginfont("EN:Baicalein");
+beginfont("EN:Baicalein","MW:270.24");
   MCf(<30,Ph,3=?6,10:O,@(1,2,6)/OH,9://O,8\,Ph)
 endfont;
 %***************************************************************************
@@ -324,7 +325,7 @@
   MCf(<30,Ph,3=?6,9=d,10:O,@(1,2,6)/OH,7://O,-2\,Ph)
 endfont;
 %***************************************************************************
-beginfont("EN:Reserpine");
+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)/OMe,@(#1,#19~zf>rl)/OMe,
@@ -331,17 +332,17 @@
     #18*\,//O,!,O,!)
 endfont;
 %***************************************************************************
-beginfont("EN:Rotenone");
+beginfont("EN:Rotenone","MW:394.423");
   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)/OMe,1*\,/Me,!~dl)
 endfont;
 %***************************************************************************
-beginfont("EN:Pyrethrin I");
+beginfont("EN:Pyrethrin I","MW:328.452");
   MCf(<30,?3,@(3^35~wf,3^-35~zf)/Me,1*\,!~dl,iPr,
      2\*,//O,!,O,-36~zb,|,?5,-2=d,-1:/Me,-3://O,-2\,!4,$(-1,-3)dl)
 endfont;
 %***************************************************************************
-beginfont("EN:Erythromycin");
+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)*/Me,@(4,6^-35,8,12^35)/*Me,
     @(6^35,11,12^-35)*/OH,
@@ -349,7 +350,7 @@
     #5\*^30`1.7,O,!,|,?6`.7,6:O,5:/Me,2:/OH,3:/NMeMe)
 endfont;
 %**************************************************************************
-beginfont("EN:Paclitaxel")
+beginfont("EN:Paclitaxel","MW:853.918")
   MCf(?6,5=d,3*,{,``1,36,45,45,45,45,},&#5,-4=?6,-4=?4,||,-1=wb,-3=wf,-1:O,
     @(4^35,4^-35,6)/Me,@(3^-60,15)*/OH,8:/*H^-60,9:*/Me^60,10://O,
     #1\,O,!,//O,!,*/OH,!,/Ph,60~wf,NH,-60,//O,60,Ph,
@@ -356,32 +357,32 @@
     #7\*,O,-45,//O,60,Ph,#11*\,O,-60,//O,60,#12\*^-15,O,60,//O,-60)
 endfont
 %**************************************************************************
-beginfont("EN:Mevastatin")
+beginfont("EN:Mevastatin","MW:390.52")
   MCf(<30,?6,2=d,4:*/H^60,|,-4=?6,2=dl,9:*/Me,
      #10*\,!,60~wb,|,?6,6:O,-2://O,-4:/*OH,#5\*,O,60,//O,!,*/Me,!2)
 endfont
 %***************************************************************************
-beginfont("EN:Sesamine")
+beginfont("EN:Sesamine","MW:330.336")
   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")
+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,/Me,&9~wb,
     15=dl,6:/OH,8^180:*/H,12:/*OH)
 endfont
 %**************************************************************************
-beginfont("EN:Capsaicin")
+beginfont("EN:Capsaicin","MW:305.418")
   MCf(<30,Ph,1:/OH,6:/OMe,4\,!,NH,!,//O,|,!8,-3=dr,-1:/Me)
 endfont
 %***************************************************************************
-beginfont("EN:Quinine")
+beginfont("EN:Quinine","MW:324.424")
   MCf(<30,Ph,3=Ph,7:N,6:/OMe,
     10\,*/OH,/H~zf^-60,!,|,?6,2:N,1:*/H^60,4*\,!~dr,2*,165~zf,60,&5~zb)
 endfont
 %***************************************************************************
-beginfont("EN:Atoropin")
+beginfont("EN:Atoropin","MW:289.375")
   MCf(<-30,O,!,//O,!,!,Ph,
      #1\~zb^-120,|,?7`1.1,6*\^190`1.25,N,/Me,&3~wb,#3\~wv,!,OH)
 endfont

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	2016-11-15 08:23:46 UTC (rev 42514)
+++ trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.tex	2016-11-15 22:46:47 UTC (rev 42515)
@@ -1,5 +1,5 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Example of MCF typeset by LaTeX   mcf_examples.tex   by A.Yamaji  2016.8.06
+% Example of MCF typeset by LaTeX   mcf_examples.tex   by A.Yamaji  2016.11.15
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \documentclass[a4paper]{article}
 \usepackage{graphicx}

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	2016-11-15 08:23:46 UTC (rev 42514)
+++ trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.tex	2016-11-15 22:46:47 UTC (rev 42515)
@@ -1,5 +1,5 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%  Molecular Coding Format manual          by  Akira Yamaji 2016.11.05
+%  Molecular Coding Format manual          by  Akira Yamaji 2016.11.15
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \documentclass[a4paper]{article}
 %%%%\usepackage{graphicx}
@@ -1198,45 +1198,47 @@
 \end{verbatim}
 \paragraph{(Output)}
 \begin{verbatim}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Molecular name = Caffeine
-%  There were   0 warnings / Expanded command count= 75
-%  width * height = 39.54677 * 36.84769
-%  Shift width * height  = -9.33592 * -12.77518
-%  Bond length = 9.23628   Atom size   = 4.12209
-%  Atom count= 14 Bond count= 15 Ring count=  2 Hide H = 10
-%-----------------------------------< atom >< bond >-------
-%    1  (         0 ) (         0 )  C           4
-%    2  (   0.86603 ) (      -0.5 )  N           3
-%    3  (   1.73206 ) (         0 )  C           4
-%    4  (   1.73206 ) (         1 )  C           4
-%    5  (   0.86603 ) (       1.5 )  C           4
-%    6  (         0 ) (         1 )  N           3
-%    7  (    2.6831 ) (  -0.30902 )  N           3
-%    8  (   3.27089 ) (       0.5 )  C           3
-%    9  (    2.6831 ) (   1.30902 )  N           3
-%   10  (   0.86603 ) (  -1.38315 )  C           1
-%   11  (  -0.78764 ) (   1.45474 )  C           1
-%   12  (   2.95923 ) (   2.15886 )  C           1
-%   13  (  -0.78764 ) (  -0.45474 )  O           2
-%   14  (   0.86603 ) (   2.38315 )  O           2
-%Bond list---------------------------------------------------------
-%   1   1 ->   2 (  1)
-%   2   2 ->   3 (  1)
-%   3   3 ->   4 (  2)
-%   4   4 ->   5 (  1)
-%   5   5 ->   6 (  1)
-%   6   6 ->   1 (  1)
-%   7   3 ->   7 (  1)
-%   8   7 ->   8 (  2)
-%   9   8 ->   9 (  1)
-%  10   9 ->   4 (  1)
-%  11   2 ->  10 (  1)
-%  12   6 ->  11 (  1)
-%  13   9 ->  12 (  1)
-%  14   1 ->  13 (  2)
-%  15   5 ->  14 (  2)
-%Fomula / Molecular weight ---------------------------------------
+%------------------------------------------------------------------
+%  Molecular name = Caffeine
+%  Warnings =   0 / Expanded command = 75
+%  Width * Height =  39.5496 * 36.85023
+%  Shift width * height  = -9.33653 * -12.77606
+%  Bond length = 9.23695   Atom size   = 4.12231
+%  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.383 )  C           1       3
+%  A11   ( -0.788 ,   1.455 )  C           1       3
+%  A12   (  2.959 ,   2.159 )  C           1       3
+%  A13   ( -0.788 ,  -0.455 )  O           2
+%  A14   (  0.866 ,   2.383 )  O           2
+%------------------------------------------------------------------
+%< NO.  ><  bond   (sdt)><angle + (  +-  )><length (   pt   )>
+%  B1     1 ->   2 (  1)      330 (   -30)       1 (    9.24)
+%  B2     2 ->   3 (  1)       30 (    30)       1 (    9.24)
+%  B3     3 ->   4 (  2)       90 (    90)       1 (    9.24)
+%  B4     4 ->   5 (  1)      150 (   150)       1 (    9.24)
+%  B5     5 ->   6 (  1)      210 (  -150)       1 (    9.24)
+%  B6     6 ->   1 (  1)      270 (   -90)       1 (    9.24)
+%  B7     3 ->   7 (  1)      342 (   -18)       1 (    9.24)
+%  B8     7 ->   8 (  2)       54 (    54)       1 (    9.24)
+%  B9     8 ->   9 (  1)      126 (   126)       1 (    9.24)
+%  B10    9 ->   4 (  1)      198 (  -162)    0.66 (     6.1)
+%  B11    2 ->  10 (  1)      270 (   -90)    0.66 (     6.1)
+%  B12    6 ->  11 (  1)      150 (   150)    0.66 (     6.1)
+%  B13    9 ->  12 (  1)       72 (    72)    0.66 (     6.1)
+%  B14    1 ->  13 (  2)      210 (  -150)    0.66 (     6.1)
+%  B15    5 ->  14 (  2)       90 (    90)    0.66 (     6.1)
+%------------------------------------------------------------------
 % C   (  12.0107) *      8 =     96.08557
 % H   (  1.00793) *     10 =     10.07935
 % N   (  14.0067) *      4 =      56.0268
@@ -1243,7 +1245,7 @@
 % O   (  15.9994) *      2 =     31.99881
 % Weight  Calc:  194.19052 / Input: 194.19 / weight gap= 0.00052
 % Fomula  Calc: C8H10N4O2 / Input: C8H10N4O2 / MACTCH
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%==================================================================
 \end{verbatim}%
 \newpage
 %------------------------------------------------------------------------

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

Modified: trunk/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf
===================================================================
--- trunk/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf	2016-11-15 08:23:46 UTC (rev 42514)
+++ trunk/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf	2016-11-15 22:46:47 UTC (rev 42515)
@@ -1,5 +1,5 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% mcf2graph ver 4.04     Copyright (c) 2013-2016   Akira Yamaji
+% mcf2graph ver 4.05     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,
@@ -32,7 +32,7 @@
 tracingstats:=1;
 message " This is mcf2graph ver 4.0  2016.11";
 %-------------------------------------------------------------------------------------------------
-newinternal nA,nB,nC,nD,nE,nF,def_num,def_int,tbl_cnt;
+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[];
 string  tbl_atom_str[],strD[],var[],tag[],mp_log_name,aux_delimiter;
@@ -88,11 +88,10 @@
 %--------------------------------------------------------------------------------------------------
 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,_N,_O,_S,_H,_tmp_line,_chg_len,_get_len,_ring_len,_tmp_len,_rot_ang,_set_ang,_adj_ang,
-  _chg_env,_tmp_env,_set_colorA,_set_colorB,_postA,_postB,_postC,_postD,_postE,_postF,_set_psA,
-  _stack_reset,_set_clr,_set_adr,_mk_bond,_set_atom,_arg_ang,_chg_atom,_tmp_rot,_fuse,_push,
-  _pop,_size_a);
-def_com(1)(si,dl,dr,dm,tm,wf,wb,bd,bz,zf,zb,dt,no,ar,vf,vb,wv,nl,si_,wf_,wb_,bd_);
+  _dl,_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);
+def_com(1)(si,dl,dr,dm,tm,wf,wb,bd,bz,zf,zb,dt,wv,nl,vf,vb,si_,wf_,wb_,bd_);
 %--------------------------------------------------------------------------------------------------
 def parameter_list=
   sw_checklist,sw_numberA,sw_numberB,sw_mol_frame,sw_auxout,sw_solid,sw_expand,sw_MOLout,
@@ -115,17 +114,16 @@
 def beginfont(text s)=
   store_par(parameter_list);
   begingroup
-  save cntA,cntB,cntM,minX,minY,f_beginchar,numS,sftX,sftY,
-       posB,posA,posM,lineB,sB,eB,angB,angA,lenB,ang_br,info,pT;
+  save cntA,cntB,cntM,minX,minY,f_beginchar,numS,sftX,sftY,f_ext,
+       posBs,posBe,posA,posM,lineB,sB,eB,angB,angA,lenB,ang_br,info,pT;
   numeric lineB[],sB[],eB[],angB[],angA[],lenB[],ang_br[],numS[];
-  pair posB[],posA[],posM[][],pT;
+  pair posA[],posM[][],pT,posBs,posBe;
   string info[];
   %------------------------------------------------------------------------------------------------
   for i:=1 upto max_inf_num: info[i]:=":"; endfor
-  f_beginchar:=inf_num:=cntM:=0;
+  f_ext:=inf_num:=cntM:=0;
   for list=s: info[incr inf_num]:=list; endfor
   char_num:=char_num+1;
-  posM[0][0]:=(0,0);
 enddef;
 %==================================================================================================
 def endfont=
@@ -151,9 +149,10 @@
     draw_frame(pT,nA,nB,thickness_font_frame);  fi
   if sw_font_frame=4: draw_corner(w,h,thickness_font_frame); fi
   if (sw_auxout=1)or(sw_checklist=1)or(sw_MOLout=1): proc_calc_out; fi
-  for i=0 upto cntM:
+  for i=1 upto cntM:
     addto currentpicture also mol_stru[i] shifted posM[0][i]; mol_stru[i]:=nullpicture;
   endfor
+  if f_ext=1: addto currentpicture also mol_stru[0]; mol_stru[0]:=nullpicture; fi
   endchar;
   clearit;
   endgroup;
@@ -180,9 +179,9 @@
   def {  == (_push,1) enddef; def }  == (_pop,1)  enddef;
   def {{ == (_push,0) enddef; def }} == (_pop,0)  enddef;
   def | == {,} enddef; def || == (_stack_reset,0) 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;
+  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;
@@ -274,7 +273,7 @@
        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),~~no,'`_size_a,(_H,list))
+    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
@@ -287,7 +286,8 @@
       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(~~no) fi
+        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
@@ -302,8 +302,9 @@
   begingroup
   save w,h,wd,ht,n,p; pair p[];
   w:=font_wd; h:=font_ht; wd:=w-2margin_left_right; ht:=h-2margin_top_bottom;
-  p0:=(margin_left_right,margin_top_bottom);  n:=cntM; for i=1 upto n: p[i]:=posM[1][i]; endfor
-  s addto mol_stru[0] also currentpicture; clearit;
+  p0:=(margin_left_right,margin_top_bottom);  n:=cntM;
+  for i=1 upto n: p[i]:=posM[1][i]; endfor
+  s addto mol_stru[0] also currentpicture; clearit; f_ext:=1;
   endgroup;
 enddef;
 %--------------------------------------------------------------------------------------------------
@@ -319,10 +320,10 @@
 %-------------------------------------------------------------------------------------------------
 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,str_len,max_x,max_y,par_s,par_e,score_u,hat,f_char,lenB,
-       ps_adr,ps_com,op_com,op_par,op_cnt,crR,colorA,colorB;
+  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,
+       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;
   %-----------------------------------------------------------------------------------------------
   save PA,PAs,PP,PG;
   def PA(expr a,b)= comD[def_int][incr nA]:=a; parD[def_int][nA]:=b; enddef;
@@ -386,11 +387,16 @@
 %-------------------------------------------------------------------------------------------------
 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(_tmp_len,0) elseif lineT=no: PP(_adj_ang,0) fi PP(_mk_bond,0)
-  if f_lineT=0: lineT:=si; fi  if f_lenT=0: lenT:=crR; fi 
-  if f_rotT=0:  rotT:=0;   fi  if f_envT=0: envT:=hz;  fi
+  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 f_lineT=0: lineT:=si; fi
+  if f_lenT=0:  lenT:=crR; fi 
+  if f_rotT=0:  rotT:=0;   fi
+  if f_envT=0:  envT:=hz;  fi
 enddef;
 %-------------------------------------------------------------------------------------------------
 def ps_get(expr n)=
@@ -472,14 +478,16 @@
     elseif par=0: temp_len:=bondL; fi
   elseif com=_pop: if par=1: adrA:=stkA[decr adrS]; adrB:=stkB[adrS]; bondL:=stkL[adrS];
                    elseif par=0: bondL:=temp_len; fi
-  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)and(com<=_postF):
-    if     com=_postA: elseif com=_postB: lineT:=dm; elseif com=_postC: lineT:=wf;
-    elseif com=_postD: lineT:=zf; elseif com=_postE: lineT:=nl;
-    elseif com=_postF: lineT:=no; lenT:=_size_a; fi  ps_put(cntA+1,par);
+  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=_jp_atom_abs: sB[cntB+1]:=par; f_bra:=1; temp_cntB:=cntB;
@@ -525,28 +533,28 @@
 def proc_skeleton=
   adrA:=adrB:=cntA:=cntB:=angT:=adrS:=f_end:=f_bra:=rotT:=f_term:=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]:=posB[0]:=posB[1]:=(0,0);
+  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
   %----------------------------------------------------------------------------------------------
   for i=1 upto cntD[0]:
   com:=comD[0][i]; par:=parD[0][i];
-  if com=_push: if par=1: stkM[adrS]:=envB; adrS:=adrS+1; stkA[adrS]:=adrA:=cntA;
+  if com=_push: if     par=1: stkM[adrS]:=envB; adrS:=adrS+1; stkA[adrS]:=adrA:=cntA;
                           stkB[adrS]:=adrB:=cntB;
                 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); posB[cntB+1]:=posA[sB[tempB]];
-                           angT:=angB[tempB]-180; f_bra:=1; rotT:=0;
-  elseif com=0or_jp_atom:  termB; adrT:=getA(par); posB[cntB+1]:=posA[adrT];
+  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];
                            angT:=ang_br[adrT]; f_bra:=1; rotT:=0;
-  elseif com=_jp_atom_abs: adrT:=par; posB[cntB+1]:=posA[adrT];
+  elseif com=_jp_atom_abs: adrT:=par; posBs:=posA[adrT];
                            angT:=ang_br[adrT]; f_bra:=1; rotT:=0; temp_cntB:=cntB;
-  elseif com=_adj_ang:     if (angT<40)or(angT>320): angT:=0; elseif angT<140: angT:=90;
-                           elseif angT<220: angT:=180; else: angT:=270; fi
-  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<=_postF): rotT:=0;
+  elseif com=_adj_ang:  if (angT<40)or(angT>320): angT:=0; elseif angT<140: angT:=90;
+                        elseif angT<220: angT:=180; else: angT:=270; fi
+  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=_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
@@ -560,16 +568,24 @@
 enddef;
 %-------------------------------------------------------------------------------------------------
 def add_bond(expr m)=
-  cntB:=cntB+1; if m=_arg_ang: nA:=proc_env(angT,envB,60,-60); else: nA:=m; fi
-  if f_bra=0: adrT:=cntA:=cntA+1; posA[cntA]:=posB[cntB]; angA[cntA]:=angT;
-               if nA>=0: ang_br[cntA]:=angT+nA/2-90; else: ang_br[cntA]:=angT+nA/2+90; fi
-  else: f_bra:=0; fi
-  angB[cntB]:=angT:=(angT+nA) mod 360;
-  if f_end=0: if lenB[cntB]=_size_a: posB[cntB+1]:=sfB(posB[cntB],atom_wd,angT);
-             else: nA:=lenB[cntB];glu:=0; if nA<0: nA:=-nA; glu_c(adrT);glu_c(cntA+1); fi
-             posB[cntB+1]:=sfB(posB[cntB],nA*bond_len+glu,angT); fi
-             posA[cntA+1]:=posB[cntB+1]; f_term:=0;
-  else: f_end:=0; f_term:=1; fi
+  if m=_arg_ang: nA:=proc_env(angT,envB,60,-60); else: nA:=m; fi
+  if f_bra=0:
+    adrT:=cntA:=cntA+1; posA[cntA]:=posBs; angA[cntA]:=angT;
+    if nA>=0: ang_br[cntA]:=angT+nA/2-90; else: ang_br[cntA]:=angT+nA/2+90; fi
+  else: f_bra:=0;
+  fi
+  angB[cntB+1]:=angT:=(angT+nA) mod 360;
+  if f_end=0:
+    if lenB[cntB+1]=_size_a: posBe:=sfB(posBs,atom_wd,angT);
+    else:
+      nA:=lenB[cntB+1];glu:=0; if nA<0: nA:=-nA; glu_c(adrT); glu_c(cntA+1); fi
+      posBe:=sfB(posBs,nA*bond_len+glu,angT);
+    fi
+    posA[cntA+1]:=posBe; f_term:=0;
+  else:
+    f_end:=0; f_term:=1;
+  fi
+  cntB:=cntB+1; posBs:=posBe;
 enddef;
 %==================================================================================================
 vardef getA(expr n)=
@@ -581,41 +597,41 @@
            if f_MP=1: colorA[cntA]:=0; fi else: f_bra:=0; fi f_term:=1; fi enddef;
 def termB=
   if f_term=0: if f_bra=0: ang_br[incr cntA]:=angT; else: f_bra:=0; fi f_term:=1; fi enddef;
-def proc_cyc(expr n)= add_bond(angle(posA[n]-posB[cntB+1])-angT);  enddef;
+def proc_cyc(expr n)= add_bond(angle(posA[n]-posBs)-angT);  enddef;
 def glu_c(expr n)=  if numS[n]<>0: nB:=angT mod 180; nC:=.5tbl_str_wd[numS[n]]*atom_wd;
                     if (nB<45)or(nB>135):glu:=glu+((sind(nB)*nC)++nC);
                     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-1] else:
+  if m>=def_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
 enddef;
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-def draw_atom(expr n,p,r,s,WD)=
+def draw_atom(expr NUM,POS,ANG,STR,WD)=
   begingroup
   save pA,pT,dx;
   pair pA,pT;
   %----------------------------------------------------------------------------------------------
-  if ((r mod 360)<=90+1)or((r mod 360)>=270-1): dx:=1; else: dx:=-1; fi
-  pT:=p-(.5atom_wd*dx*WD,.5atom_wd);
+  if ((ANG mod 360)<=90+1)or((ANG mod 360)>=270-1): dx:=1; else: dx:=-1; fi
+  pT:=POS-(0.5atom_wd*dx*WD,0.5atom_wd);
   nE:=nC:=0;
-  for i=0 upto length(s)-1:
-    nB:=ASCII(pic_c(i,s));
-    if dx<0: if nB=par_s:k:=i+1; nC:=1; forever:exitif pic_c(i+(incr nC),s)="}";endfor fi
-             if nC>0: nB:=ASCII(pic_c(k+(decr nC),s)); fi
+  for i=0 upto length(STR)-1:
+    nB:=ASCII(pic_c(i,STR));
+    if dx<0: if nB=par_s:k:=i+1; nC:=1; forever:exitif pic_c(i+(incr nC),STR)="}";endfor fi
+             if nC>0: nB:=ASCII(pic_c(k+(decr nC),STR)); fi
     fi
     if     nB=score_u: if nE=0: nE:=-.5; else: nE:=0; fi;
     elseif nB=hat:     if nE=0: nE:= .5; else: nE:=0; fi;
     elseif (nB<>par_s)and(nB<>par_e):
       nA:=atom_wd*tbl_char_wd[nB];
-      pA:=pT+(.5*((dx-1)*nA),nE*atom_wd);
+      pA:=pT+(0.5*((dx-1)*nA),nE*atom_wd);
       if sw_atom_frame=1: draw_frame(pA,nA,atom_wd,0.1pt); fi
       if (sw_numberA>=1)or(sw_numberB>=1):
         erase fill unitsquare xscaled nA yscaled atom_wd shifted pA wpcs 0.01pt; fi
       addto currentpicture also atom_font[nB]
-         shifted (pA-(0,atom_wd*tbl_char_dp[nB])) Cp(colorA[n]);
+         shifted (pA-(0,atom_wd*tbl_char_dp[nB])) Cp(colorA[NUM]);
       pT:=pT+(nA*dx,0);
     fi
   endfor
@@ -874,10 +890,13 @@
 vardef fixed_r(expr n)(expr s)= (substring(0,n-length(s)) of blank_str)&s enddef;
 vardef fixed_l(expr n)(expr s)= s&(substring(0,n-length(s)) of blank_str) enddef;
 vardef fdr(expr n)(expr s)=fixed_r(n)(decimal(s)) enddef;
-def warning(expr s)= message "% "&decimal(char_num)&fdr(3)(incr warning_cnt)&")"&s&" !!!"; enddef;
-def B_check(expr s)(expr t)(expr n)=
-  if strD[numS[s]]=t: if bond_cnt>n:
-    warning(fdr(4)(s)&" ["&strD[numS[s]]&"] has "&fdr(3)(bond_cnt)&" bonds"); fi fi
+vardef fdl(expr n)(expr s)=fixed_l(n)(decimal(s)) enddef;
+def warning(expr s)= message "% "&decimal(char_num)&fdr(3)(incr warning_cnt)&")"&s; enddef;
+def bond_check(expr a)(text s)=
+  nF:=0; for list=s: if list=bond_cnt: nF:=1; fi endfor
+  if nF=0:
+    warning("A"&decimal(a)&" ( "&fixed_l(8)(strD[numS[a]])&") has"&fdr(2)(bond_cnt)&" bonds");
+  fi
 enddef;
 vardef stripP(expr a)=if length(a)=4: substring (1,3) of a else: a fi enddef;
 %==================================================================================================
@@ -895,12 +914,13 @@
 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);  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);
 %--------------------------------------------------------------------------------------------------
 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");
@@ -921,26 +941,45 @@
 %==================================================================================================
 def proc_calc_out=
   begingroup
-  save warning_cnt,cal_MW,cal_MWp,knownA,cal_FM,bondC,tmp_wtp,bond_cnt,hide_H,
+  save warning_cnt,cal_MW,cal_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[];
+  numeric sumA[],bondC[],hideH[];
   string cal_FM,cal_MW_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_str:=cal_FM:=""; hide_H:=warning_cnt:=cal_MW:=cal_MWp:=0;
+  cal_MW_str:=cal_FM:=""; cnt_hide_H:=warning_cnt:=cal_MW:=cal_MWp:=0;
   %------------------------------------------------------------------------------------------
   proc_get_info;
   for i=1 upto tbl_cnt: sumA[i]:=0; endfor
-  for i=1 upto cntA: knownA:=bond_cnt:=0;
-    for j=1 upto cntB: if     (lineB[j]=dl)or(lineB[j]=dr)or(lineB[j]=dm): bondC[j]:=2;
-                       elseif (lineB[j]=tm): bondC[j]:=3; elseif lineB[j]=nl: bondC[j]:=0;
-                       elseif lineB[j]=0: bondC[j]:=0; else: bondC[j]:=1; fi
-                       if (sB[j]=i)or(eB[j]=i): bond_cnt:=bond_cnt+bondC[j]; fi endfor
+  for i=1 upto cntA:
+    knownA:=bond_cnt:=0;
+    for j=1 upto cntB:
+      if     (lineB[j]=dl)or(lineB[j]=dr)or(lineB[j]=dm): bondC[j]:=2;
+      elseif lineB[j]=tm: bondC[j]:=3;
+      elseif (lineB[j]=vf)or(lineB[j]=vb): bondC[j]:=0;
+      else: bondC[j]:=1;
+      fi
+      if (sB[j]=i)or(eB[j]=i): bond_cnt:=bond_cnt+bondC[j]; fi
+    endfor
     Bcnt[i]:=bond_cnt;
     if strD[numS[i]]="": strD[numS[i]]:="C"; fi
-    if strD[numS[i]]="C": if bond_cnt<4: hide_H:=hide_H+(4-bond_cnt); fi fi
-    B_check(i)("C")(4); B_check(i)("H")(1);    B_check(i)("O")(2);
-    B_check(i)("F")(1); B_check(i)("{Cl}")(1); B_check(i)("Br}")(1);
+    if (strD[numS[i]]="C")and(bond_cnt<4):
+      hideH[i]:=4-bond_cnt; cnt_hide_H:=cnt_hide_H+hideH[i]; else: hideH[i]:=0;
+    fi
+    if     strD[numS[i]]="C":       bond_check(i)(1,2,3,4);
+    elseif strD[numS[i]]="N":       bond_check(i)(3,5);
+    elseif strD[numS[i]]="H":       bond_check(i)(1);
+    elseif strD[numS[i]]="O":       bond_check(i)(2);
+    elseif strD[numS[i]]="S":       bond_check(i)(2,4,6);
+    elseif strD[numS[i]]="P":       bond_check(i)(5);
+    elseif strD[numS[i]]="OH":      bond_check(i)(1);
+    elseif strD[numS[i]]="COOH":    bond_check(i)(1);
+    elseif strD[numS[i]]="CN":      bond_check(i)(1);
+    elseif strD[numS[i]]="N{H_2_}": bond_check(i)(1);
+    elseif strD[numS[i]]="F":       bond_check(i)(1);
+    elseif strD[numS[i]]="{Cl}":    bond_check(i)(1);
+    elseif strD[numS[i]]="{Br}":    bond_check(i)(1);
+    fi
     for j=1 upto tbl_cnt:
       if strD[numS[i]]=tbl_atom_str[j]:
         if tbl_atom[j]=0: sumA[j]:=sumA[j]+1;
@@ -948,12 +987,11 @@
         knownA:=1; fi  endfor
     if knownA=0: warning(" Unknown Str("&strD[numS[i]]&") is used "&decimal(i)); fi
   endfor
-  sumA[2]:=sumA[2]+hide_H;
+  sumA[2]:=sumA[2]+cnt_hide_H;
   for i=1 upto tbl_cnt:
     if sumA[i]>=1:
-      tmp_wtp:=(tbl_atom_wt[i]/100)*sumA[i];
-      if (tmp_wtp<=40)and(cal_MWp<=40): cal_MW:=cal_MW+(tbl_atom_wt[i]*sumA[i]);
-      else: cal_MWp:=cal_MWp+tmp_wtp; fi
+      nA:=tbl_atom_wt[i]/100*sumA[i]; cal_MWp:=cal_MWp+nA;
+      if (cal_MWp<40)and(nA<40):  cal_MW:= cal_MW +tbl_atom_wt[i]*sumA[i]; fi
       cal_FM:=cal_FM&stripP(tbl_atom_str[i]) if sumA[i]>=2: &decimal(sumA[i]) fi;
     fi
   endfor
@@ -969,6 +1007,7 @@
 enddef;
 %==================================================================================================
 def proc_auxfile_out=
+  message "%["&decimal(char_num)&"]:"&inf_EN;
   for i=1 upto aux_max:  exitif tag[i]="";
     if i=1: printf "" else: &aux_delimiter fi if sw_auxfix=0: &tag[i]&":" fi &
     if     string  scantokens(var[i]): scantokens(var[i])
@@ -977,35 +1016,53 @@
   if sw_auxfix=0: for i=1 upto inf_num: &aux_delimiter&info[i] endfor; fi
 enddef;
 %==================================================================================================
-def proc_checklist_out=  nA:=0;
-  message "% Molecular name = "& inf_EN;
-  message "%  warnings = "&fdr(3)(warning_cnt)&" / Expanded command = "&decimal(cntD[0]);
-  message "%  width * height = " & fdr(8)(mol_wd)&" * "&fdr(8)(mol_ht);
+vardef round_auto(expr n)=
+  if     (n<4)  and(n>-4):   round(n*1000)/1000  elseif (n<40) and(n>-40): round(n*100)/100
+  elseif (n<400)and(n>-400): round(n*10)/10      else: round(n) fi
+enddef;
+%--------------------------------------------------------------------------------------------------
+def proc_checklist_out=
+  message "%------------------------------------------------------------------";
+  message "%  Molecular name = "& inf_EN;
+  message "%  Warnings = "&fdr(3)(warning_cnt)&" / Expanded command = "&decimal(cntD[0]);
+  message "%  Width * Height = " & fdr(8)(mol_wd)&" * "&fdr(8)(mol_ht);
   message "%  Shift width * height  = "& fdr(8)(minX)&" * "&fdr(8)(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 ="&fdr(3)(hide_H);
-  message "%-----------------------------------< atom >< bond >-------";
-  for i=1 upto cntA: message "%  "&fdr(3)(i)&"  ("&fdr(10)(xpart(posA[i])/bond_len)&" ) ("&
-     fdr(10)(ypart(posA[i])/bond_len)&" )  "&fixed_l(8)(strD[numS[i]])&"  "&fdr(3)(Bcnt[i]);
+          " 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 >";
+  for i=1 upto cntA:
+    message "%  A"&fdl(4)(i)&" ("&fdr(7)(round_auto(xpart(posA[i])/bond_len))&" , "&
+            fdr(7)(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 "%Bond list---------------------------------------------------------";
-  for i=1 upto cntB: if lineB[i]<>0: message "% "&fdr(3)(incr nA)&" "&fdr(3)(sB[i])&
-                     " -> "&fdr(3)(eB[i])&" ("&fdr(3)(bondC[i]-si+1)&")"; fi
+  message "%------------------------------------------------------------------";
+  message "%< NO.  ><  bond   (sdt)><angle + (  +-  )><length (   pt   )>";
+  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])&
+              " ("&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 "%Fomula / Molecular weight ---------------------------------------";
+  message "%------------------------------------------------------------------";
   if cal_MWp<=40: cal_MW_str:=fdr(10)(cal_MW); else: cal_MW_str:=fdr(10)(cal_MWp)&" * 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 tmp_wtp<=40: &fdr(12)(tbl_atom_wt[i]*sumA[i]); else: &fdr(12)(tmp_wtp)&" * 100"; fi fi
+       if nA<40: &fdr(12)(tbl_atom_wt[i]*sumA[i]); else: &fdr(12)(nA)&" * 100"; fi
+     fi
   endfor
   message "% Weight  Calc: " &cal_MW_str &" / Input: "
     if inf_MW<>"": &inf_MW &" / weight gap= " &decimal(cal_MW-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 "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%";
+  message "%==================================================================";
 enddef;
 %==================================================================================================
 def proc_MOLfile_out=



More information about the tex-live-commits mailing list