texlive[57310] Master/texmf-dist: mcf2graph (3jan21)

commits+karl at tug.org commits+karl at tug.org
Sun Jan 3 23:29:20 CET 2021


Revision: 57310
          http://tug.org/svn/texlive?view=revision&revision=57310
Author:   karl
Date:     2021-01-03 23:29:20 +0100 (Sun, 03 Jan 2021)
Log Message:
-----------
mcf2graph (3jan21)

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	2021-01-03 22:28:55 UTC (rev 57309)
+++ trunk/Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG	2021-01-03 22:29:20 UTC (rev 57310)
@@ -1,7 +1,19 @@
 *******************************************************************************
- Changelog of mcf2graph software package          by Akira Yamaji 2020-12-12
+ Changelog of mcf2graph software package          by Akira Yamaji 2021-01-03
 *******************************************************************************
-[ver. 4.54  / 2022-12-12]
+[ver. 4.55  / 2021-01-03]
+  -fix bug in molecular weight calculation
+  -fix bug in charged atom calculation
+  -add commands
+     ?!   : /_,!
+     ??   : /_^35,/_-35
+     /?!  : isopropyl
+     /??! : tert-butyl
+  -change syntax
+     /N!_ => /N?! : dimethylamino
+  -update MCF manual,example
+
+[ver. 4.54  / 2020-12-12]
   -fix bug in report output
   -update MCF manual,example
 

Modified: trunk/Master/texmf-dist/doc/metapost/mcf2graph/README
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/mcf2graph/README	2021-01-03 22:28:55 UTC (rev 57309)
+++ trunk/Master/texmf-dist/doc/metapost/mcf2graph/README	2021-01-03 22:29:20 UTC (rev 57310)
@@ -1,7 +1,7 @@
 ********************************************************************************
  mcf2graph  : Convert Molecular Coding Format to graphics with METAFONT/METAPOST
  Author     : Akira Yamaji
- version    : 4.54 2020-12-12
+ version    : 4.55 2021-01-03
  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	2021-01-03 22:28:55 UTC (rev 57309)
+++ trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_exa_soc.mf	2021-01-03 22:29:20 UTC (rev 57310)
@@ -1,15 +1,15 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Molecular Coding Format for mcf_example.tex   by Akira Yamaji  2020.12.12
+% Molecular Coding Format for mcf_example.tex   by Akira Yamaji  2021.01.03
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-input mcf2graph.mf;   %%% it must be version 4.54 or later
-message "mcf_exa_soc 2020.12.12";
+input mcf2graph.mf;   %%% it must be version 4.55 or later
+message "mcf_exa_soc 2021.01.03";
 message "";
 %-------------------------------------------------------------------------
-fsize:=(33mm,24mm);
+fsize:=(35mm,24mm);
 max_blength:=4.5mm;
 %-------------------------------------------------------------------------
 %%%%sw_aux_out:=1;
-%%%%sw_fframe:=4;
+%%%%sw_fframe:=1;
 %%%%sw_aframe:=1;
 %%%%sw_mframe:=1;
 %%%%sw_expand:=1;
@@ -28,16 +28,328 @@
 %%%%     draw(0,0)--(w,0)--(w,h)--(0,h)--cycle;
 %%%%     for i=nA step nA until w: draw(i,0)--(i,h); endfor
 %%%%     for i=nA step nA until h: draw(0,i)--(w,i); endfor );
+%---------------------------------------------------------------------------
+%%%%sw_calc:=1;
+%%%%ext(defaultfont:="uhvr8r"; defaultscale:=.3;
+%%%%  label.lrt(decimal(char_num)&":"&inf_EN&" MW="&cal_MW
+%%%%      if inf_MW<>"-": &"("& decimal(num_MW-scantokens(inf_MW))&")"
+%%%%      else: &"(-)" fi ,(-2bp,1.5bp));)
+%***********************************************************************
+beginfont("EN:Adenine","MW:135.13")
+  MC(<30,?6,3=?5,{1,3,5,9}=dl,{2,6,9}:N,5:/NH2,7:NH)
+endfont
+%***********************************************************************
+beginfont("EN:Guanine","MW:151.13")
+  MC(<30,?6,3=?5,{1,3,9}=dl,{2,9}:N,{6,7}:NH,5://O,1:/NH2)
+endfont
+%***********************************************************************
+beginfont("EN:Cytosine","MW:111.10")
+  MC(<30,?6,{4,6}=dl,4:N,3://O,2:NH,5:/NH2)
+endfont
+%***********************************************************************
+beginfont("EN:Thymine","MW:126.11")
+  MC(<30,?6,3=dl,{2,6}:NH,{1,5}://O,4:/_)
+endfont
 %***************************************************************************
+beginfont("EN:Uracil","MW:112.09")
+  MC(<30,?6,6=dl,{3,5}://O,{2,4}:NH)
+endfont
+%***************************************************************************
+beginfont("EN:Geraniol","MW:154.25")
+  MC(<30,!8,OH,{2,6}=dr,{2,6}:/_)
+endfont
+%***************************************************************************
+beginfont("EN:Limonene","MW:136.24")
+  MC(<30,?6,2=dl,2:/_,5:*\,/_,!!)
+endfont
+%***************************************************************************
+beginfont("EN:l-Menthol","MW:156.27")
+  MC(<30,?6,2:/*?!,5:*/_,3:*/OH)
+endfont
+%***************************************************************************
+beginfont("EN:Vanillin","MW:152.15")
+  MC(<30,Ph,2:/OH,3:/O!,5:/CHO)
+endfont
+%***************************************************************************
+beginfont("EN:Allicin","MW:162.28")
+  MC(<-30,!!,!2,SO,!,S,!2,!!)
+endfont
+%***************************************************************************
+beginfont("EN:Stearic acid","MW:284.48")
+  MC(<30,!17,COOH)
+endfont
+%***************************************************************************
+beginfont("EN:Linoleic acid","MW:280.45")
+  MC(<30,!5,-30,-30,!,-30,-30,!7,COOH,{6,9}=dr)
+endfont
+%***************************************************************************
+beginfont("EN:Sphingosine","MW:299.50")
+  MC(<30,!18,OH,14=dr,-3:*/OH,-2:/*NH2)
+endfont
+%**************************************************************************
+beginfont("EN:Tocopherol","MW:430.717")
+  MC(<30,Ph,3=?6,7:O,{1,2,5}:/_,8:/*_^60,6:/OH,8:\,|,!12,{4,8}:/*_,12:/_)
+endfont
+%***************************************************************************
+beginfont("EN:Carotene","MW:536.8726")
+  MC(<30,?6,4=dl,3:??,5:/_,
+     4:\,|,!18,{1,3,5,7,9,11,13,15,17}=dr,{3,7,12,16}:/_,
+     ?6,-6=dl,-5:/_,-1:??)
+endfont
+%***************************************************************************
+beginfont("EN:Adrenalin","MW:183.21")
+  MC(<30,Ph,{1,6}:/OH,4:\,*/OH,!2,NH,!)
+endfont
+%***************************************************************************
+beginfont("EN:Caffeine","MW:194.194")
+  MC(<30,?6,3=dl,{1,5}://O,-4=?5,-3=dl,7:N,{2,6,9}:N!)
+endfont
+%***************************************************************************
+beginfont("EN:Nicotine","MW:162.23");
+  MC(<30,Ph,2:N,4:\,?5,8:N!)
+endfont;
+%**************************************************************************
+beginfont("EN:Capsaicin","MW:305.418")
+  MC(<30,Ph,1:/OH,6:/O!,4:\,!,NH,!,//O,!7,?!,-3=d)
+endfont
+%***************************************************************************
+beginfont("EN:Thiamine","MW:300.81")
+  MC(<30,Ph,4:/NH2,3:\`1,!,<-12,?5,{-1,-4}=dl,{1,5,8}:N,11:S,{6,9}:/_,
+      -3:\,!2,OH,8:&"+"^72,11:@,-48~0`2.4,Cl[-1])
+endfont
+%**************************************************************************
+beginfont("EN:Gibberellin A3","MW:346.379");
+  MC(<18,?5,3=?7,5=?6[12],8:@,160`1.3,3:#,13=dl,6=wf,8=wb,
+     5:@,40~zf`1,O,50,//O^180,14~zb:#,
+     2:/COOH,7://_,13:*/OH,8:/*OH,14:*/_,{1,4}:*/H^60)
+endfont;
+%**************************************************************************
+beginfont("EN:Cholesterol","MW:386.664")
+  MC(<30,?6,{-4,-2}=?6,-4=?5,7=dl,
+     1:*/OH,{4,12}:*/_^60,
+     10:/*H^180,{11,-1}:/*H^-60,9:*/H^60,-1:@,17,/*_,!4,?!)
+endfont
+%***************************************************************************
+beginfont("EN:Riboflavin","MW:376.37")
+  MC(<30,Ph,3=?6,9=?6,{8,16}=dl,{7,10,14}:N,12:NH,{11,13}://O,{1,6}:/_,
+     10:\`1.2,!,*/OH,!,/*OH,!,*/OH,!2,OH)
+endfont
+%***************************************************************************
+beginfont("EN:Resveratrol","MW:228.24")
+  MC(<30,Ph,4:\,!!,!,Ph,{2,6,-3}:/OH)
+endfont
+%***************************************************************************
+beginfont("EN:Glutathione","MW:307.33")
+  MC(<-30,COOH,!,/*NH2,!3,//O,!,NH,!,*/!SH,!,//O,!,NH,!2,COOH)
+endfont
+%***************************************************************************
+beginfont("EN:Hexaphenylbenzene","MW:534.6876")
+  MC(<30,Ph,{1,2,3,4,5,6}:/Ph)
+endfont
+%***************************************************************************
+beginfont("EN:Kekulene","MW:600.7")
+  MC(<30,?6,{2,-3,-2,-3,-2,-3,-2,-3,-2,-3}=?6,|=1,4:\,-1:#,-3:\,5:#,=|,
+     {2,15,55}=dr,
+     {6,8,10,13,18,20,23,27,29,31,33,37,39,41,43,47,49,51,53,57,60}=dl)
+endfont
+%***************************************************************************
+beginfont("EN:18-Crown-6","MW:264.32")
+  MC(<-180,O,60,60,60,O,-60,60,60,O,-60,60,60,
+     O,-60,60,60,O,-60,60,60,O,-60,60,1:#)
+endfont
+%***************************************************************************
+beginfont("EN:Melamine","MW:126.12")
+  MC(<30,Ph,{2,4,6}:N,{1,3,5}:/NH2)
+endfont
+%***************************************************************************
+beginfont("EN:Sudan red 1","MW:248.28")
+  MC(<30,Ph,1=Ph,4:/OH,3:\,N,!!,N,!,Ph)
+endfont
+%***************************************************************************
+beginfont("EN:Basic blue 1","MW:319.86")
+  MC(<30,Ph,3=Ph,6=Ph,2:S,5:N,{8,13}:/N?!,2:&"+",9:@,0~0`1,Cl[-1])
+endfont
+%***************************************************************************
+beginfont("EN:Disperse violet 1","MW:238.25")
+  MC(<30,Ph,3=?6,-3=dr,9=Ph,{7,10}://O,{-1,-4}:/NH2)
+endfont
+%***************************************************************************
+beginfont("EN:Vat blue 1","MW:262.27")
+  MC(<30,Ph,3=?5,8:\\,?5,-3=dr,-3=Ph,{7,14}:NH,{9,11}://O)
+endfont
+%***************************************************************************
+beginfont("EN:Mordant red 11","MW:240.22")
+  MC(<30,Ph,3=?6,-3=dr,9=Ph,{7,10}://O,{-1,-2}:/OH)
+endfont
+%***************************************************************************
+beginfont("EN:Atrazine","MW:215.7")
+  MC(<30,Ph,{2,4,6}:N,5:/Cl,1:/NH!2,3:/NH!?!)
+endfont
+%***************************************************************************
+beginfont("EN:BHC","MW:290.83")
+  MC(<30,?6`1.2,{1,3,4,6}:*/Cl,{2,5}:/*Cl)
+endfont
+%***************************************************************************
+beginfont("EN:pp-DDT","MW:354.49")
+  MC(<30,Ph,6:/Cl,3:\,/CCl3,!,Ph,-3:/Cl)
+endfont
+%***************************************************************************
+beginfont("EN:Endrin","MW:380.91")
+MC(<30,?6`1.3,3=?6,6=dl,9=?3,-1:O,
+    2:@,210~wf`1.5,5:#~wb,7:@,210~zf`1.5,10:#~zb,
+      {1,2,5,6,12^-210,12^-150}:/Cl)
+endfont
+%***************************************************************************
+beginfont("EN:Bromacil","MW:261.119")
+MC(<30,?6,6=dl,3:N,1:/Br,{2,4}://O,5:NH,6:/_,3:\,/_,!2)
+endfont
+%***************************************************************************
+beginfont("EN:Acrinathrin","MW:541.45")
+MC(<-30,?3,2^-35:*/_,2^35:/*Me,
+   1:\,!~dl,!,//O,!,O,!,/CF3,!,CF3,3:\,//O,!,O,!,/CN,!,Ph,-4:\,O,-60,Ph)
+endfont
+%***************************************************************************
+beginfont("EN:Cafenstrole","MW:350.4")
+MC(<30,Ph,{2,4,6}:/_,3:\,SOO,!,|,?5,{2,5}=dl,{2,4,5}:N,-2:\,//O,!,N,/!,!2)
+endfont
+%***************************************************************************
+beginfont("EN:Carfentrazone-ethyl","MW:412.19")
+  MC(<30,Ph,4:/F,6:/Cl,1:\,!,/Cl,!,//O,!,O,!2,
+    3:\,|,?5,4=dl,{1,3,5}:N,-4://O,-3:/CF2,-2:/_)
+endfont
+%***************************************************************************
+beginfont("EN:Carboxin","MW:235.301")
+MC(<30,?6,3=dl,2:S,5:O,4:/_,3:\,//O,!,NH,!,Ph)
+endfont
+%***************************************************************************
+beginfont("EN:Clomazone","MW:239.7")
+  MC(<30,Ph,2:/Cl,3:\,!,|,?5,1:N,2:O,-2^-35:/_,-2^35:/_,-1://O)
+endfont
+%***************************************************************************
+beginfont("EN:Ethofenprox","MW:376.5")
+MC(<30,Ph,5:\,O,!,Ph,10:\,O,!3,??,!,Ph,-3:/O!2)
+endfont
+%***************************************************************************
+beginfont("EN:Halfenprox","MW:477.4")
+  MC(<30,Ph,6:\,O,!,/F^35,/F^-35,!,Br,3:\,!,??,!,O,!,!,Ph,-2:\,O,60,Ph)
+endfont
+%***************************************************************************
+beginfont("EN:Paraquat","MW:257.16")
+  MC(Ph,4:\,Ph,{1,10}:N!,1:&"+"^-90,10:&"+"^90,
+     10:@,0`1.5~0,Cl[-1],90~0`.6,Cl[-1])
+endfont
+%***************************************************************************
+beginfont("EN:Picolinafen","MW:376.331")
+  MC(<30,Ph,5:/CF3,3:\,O,!,|,Ph,2:N,3:\,//O,!,NH,!,|,Ph,4:/F)
+endfont
+%***********************************************************************
+beginfont("EN:Quinoxyfen","MW:308.13")
+  MC(<30,Ph,4=Ph,10:N,{2,6}:/Cl,7:\,O,!,|,Ph,4:/F)
+endfont
+%***********************************************************************
+beginfont("EN:Quitozene","MW:295.3")
+  MC(<30,Ph,{1,2,3,4,6}:/Cl,5:/NO2)
+endfont
+%***************************************************************************
+beginfont("EN:Bitertanol","MW:337.4")
+  MC(<30,Ph,3:\,Ph,-3:\,O,!2,/OH,!,??!,14:\,|,?5,{2,4}=dl,{1,2,4}:N)
+endfont
+%***************************************************************************
+beginfont("EN:Bifenox","MW:342.14")
+  MC(<30,Ph,{4,6}:/Cl,3:\,O,!,Ph,-4:/COO!,-3:/NO2)
+endfont
+%***************************************************************************
+beginfont("EN:Simeconazole","MW:293.417")
+  MC(<36,?5,{1,3,5}:N,{1,4}=dl,
+    3:@,30,!,/OH^30,!2,Si,/_,/_^60,!,7:@,-30,Ph,-3:/F)
+endfont
+%***************************************************************************
+beginfont("EN:Fenamidone","MW:311.403")
+  MC(<18,?5,4=dl,{3,5}:N,2://O,3:\,NH,!,Ph,4:/S!,1^52:*/_,1^-48~zf:/Ph)
+endfont
+%***************************************************************************
+beginfont("EN:Fenpyroximate","MW:421.49")
+  MC(<-6,?5,{3,5}=db,{1,2}:N,{2,5}:/Me,3:\^-15,O,!,Ph,
+      4:\,!~dr,N,!,O,!2,|,Ph,4:\,//O,-60,O,!4)
+endfont
+%***************************************************************************
+beginfont("EN:Chlorsulron","MW:380.648")
+  MC(<30,Ph,6:/NH2,1:\,SOO,!,NH2,3:\,SOO,!,NH2,4:\,/Cl,60~dl,/Cl,!,Cl)
+endfont
+%***************************************************************************
+beginfont("EN:Enrofloxacin","MW:359.401")
+  MC(<30,Ph,-4=?6,9=dl,7:N,6:/F,7:/?3,9:/COOH,10://O,1:\,|,?6,1:N,4:N,4:/!)
+endfont
+%***************************************************************************
+beginfont("EN:Fenitrothion","MW:277.23")
+  MC(<-30,!,O,!,P,//S,/O!^160,!,O,!,|,Ph,3:/_,2:/NO2)
+endfont
+%***************************************************************************
+beginfont("EN:Fipronil","MW:437.2")
+MC(<30, Ph,{2,4}:/Cl,6:/CF3,3:\,|,?5,{2,4}=dl,{1,2}:N,3:/CN,5:/NH2,
+    -2:\,S,//O,!,CF3)
+endfont
+%***************************************************************************
+beginfont("EN:Flumequine","MW:261.225")
+  MC(<30,Ph,3=?6,(2,7)=?6[4],9=dl,7:N,6:/F,9:/COOH,10://O,13:/_)
+endfont
+%***************************************************************************
+beginfont("EN:Imazalil","MW:297.2")
+  MC(<-30,!2,O,!2,!~dr,1:@,60,|,?5,{2,4}=dl,{1,3}:N,$2:\,|,Ph,{4,6}:/Cl)
+endfont
+%***************************************************************************
 beginfont("EN:Imidacloprid","MW:255.662")
   MC(<30,Ph,1:N,6:/Cl,3:\,!,|,?5,2=dl,1:N,3:N,2:/'(NH,!,NO2))
 endfont
+%***********************************************************************
+beginfont("EN:Kresoxim-Methyl","MW:313.348")
+  MC(<30,Ph,3:\,/COO!,!~dr,N,!,O,!,4:\,!,O,!,Ph,-1:/_)
+endfont
 %***************************************************************************
+beginfont("EN:Nalidixic acid","MW:232.239")
+  MC(<30,Ph,3=?6,9=dl,5:N,6:/_,7://O,8:/COOH,10:N!2)
+endfont
+%***********************************************************************
+beginfont("EN:Oryzalin","MW:346.4")
+  MC(<30,Ph,{1,3}:/NO2,5:\,SOO,!,NH2,2:\,/!2,N,!3)
+endfont
+%***********************************************************************
+beginfont("EN:Oxadiazon","MW:345.2")
+MC(<30,Ph,{4,6}:/Cl,1:/O!?!,3:\,|,?5,2=dl,{1,2}:N,4:O,5://O,3:/??!)
+endfont
+%***********************************************************************
+beginfont("EN:Oxadixyl","MW:278.3")
+  MC(<30,Ph,{2,4}:/_,3:\,N,!1,//O,!2,O,!,7:\,|,?5,1:N,2:O,5://O)
+endfont
+%***********************************************************************
+beginfont("EN:Oxyfluorfen","MW:361.701")
+MC(<30,Ph,6:/CF3,4:/Cl,3:\,O,!,Ph,-3:/NO2,-4:\,O,!2)
+endfont
+%***************************************************************************
+beginfont("EN:Sulfadimidine","MW:278.33")
+  MC(<30,Ph,1:/NH2,4:\,SOO,!,NH,!,|,Ph,{2,4}:N,{3,5}:/_)
+endfont
+%***************************************************************************
+beginfont("EN:Sulfamerazine","MW:264.303")
+  MC(<30,Ph,1:/NH2,4:\,SOO,!,NH,!,|,Ph,{2,6}:N,3:/_)
+endfont
+%***************************************************************************
+beginfont("EN:Sulfadoxine","MW:310.328")
+  MC(<30,Ph,1:/NH2,4:\,SOO,!,NH,!,|,Ph,{4,6}:N,{2,3}:/O!)
+endfont
+%***************************************************************************
+beginfont("EN:Sulfamethoxazole","MW:253.276")
+  MC(<30,Ph,1:/NH2,4:\,SOO,!,NH,!,|,?5,{2,5}=dl,4:O,5:N,3:/_)
+endfont
+%***************************************************************************
 beginfont("EN:Thiamethoxam","MW:291.71")
-  MC(<30,?6,{4,6}:N,2:O,6:/_,5://'(N,!,NO2),
-     4:\,!,|,?5,{1,3}=dl,3:N,5:S,4:/Cl)
+  MC(<30,?6,4:N,2:O,6:N!,5://'(N,!,NO2),4:\,!,|,?5,{1,3}=dl,3:N,5:S,4:/Cl)
 endfont
 %***************************************************************************
+beginfont("EN:Thiamphenicol","MW:355")
+  MC(<30,Ph,1:\,SOO,!,4:\,/OH,!,/!OH,!`1.1,NH,!`1.1,//O,!,/Cl,!,Cl)
+endfont
+%***************************************************************************
 beginfont("EN:Pyridaphenthion","MW:340.334")
   MC(<30,!2,O,!,P,//S,/O!2^160>rl,!,O,!,|,?6,{1,5}=dl,{2,3}:N,4://O,3:/Ph)
 endfont
@@ -48,12 +360,11 @@
 endfont
 %***************************************************************************
 beginfont("EN:Isoprothiolane","MW:290.392")
-  MC(<-30,!,/_,!,O,!,//O,!,//'(?5,2:S,5:S),!,//O,!,O,!,/_,!)
+  MC(<-30,!,?!,O,!,//O,!,//'(?5,2:S,5:S),!,//O,!,O,!,?!)
 endfont
 %***************************************************************************
 beginfont("EN:Oxine-Copper","MW:351.852")
-  MC(Ph,4:N,5=Ph,-4:\,O,-60,<90,Cu,-90,O,60,
-       |,Ph,5=Ph,10:N,||,
+  MC(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
 %***************************************************************************
@@ -63,51 +374,84 @@
 endfont
 %***************************************************************************
 beginfont("EN:Endosulfan","MW:406.904");
-  MC(<26,?7,7=?6[13],11:@,208~wf`1.45,8~wb:#,10=d,{3,5}:O,4:S,4://O,
+  MC(<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:Uniconazole-P","MW:291.779")
+  MC(<30,Ph,6:/Cl,3:\,!~dl,!,/OH,!,??!,8:\,|,?5,{2,4}=dl,{1,2,4}:N)
+endfont
 %***************************************************************************
 beginfont("EN:Oxadiargyl","MW:341.19")
-  MC(<30,Ph,{1,3}:/Cl,6:/'(O,!2,!!!),4:\,|,?5,2=d,{1,2}:N,4:O,5://O,-3:/tBu)
+  MC(<30,Ph,{1,3}:/Cl,6:/'(O,!2,!!!),4:\,|,?5,2=dl,{1,2}:N,4:O,5://O,-3:/??!)
 endfont
 %***************************************************************************
 beginfont("EN:Oxaziclomefone","MW:376.277")
-  MC(<30,?6,6=dl,4:N,2:O,1:/_,5://O,6:/Ph,4:\,/_^35,/_^-35,!,|,Ph,{3,5}:/Cl)
+  MC(<30,?6,6=dl,4:N,2:O,1:/_,5://O,6:/Ph,4:\,??,!,|,Ph,{3,5}:/Cl)
 endfont
 %***************************************************************************
+beginfont("EN:Trimetoprim","MW:290.323")
+  MC(<30,Ph,{1,5}:N,{2,6}:/NH2,3:\,!,|,Ph,{3,4,5}:/O!)
+endfont
+%***************************************************************************
+beginfont("EN:Ciprofloxacin","MW:331.347")
+  MC(<30,Ph,-4=?6,9=dl,7:N,
+     6:/F,7:/?3,9:/COOH,10://O,1:\,|,?6,1:N,4:NH)
+endfont
+%***************************************************************************
+beginfont("EN:Danofloxacin","MW:357.385")
+  MC(<30,Ph,-4=?6,9=dl,7:N,
+     6:/F,7:/?3,9:/COOH,10://O,
+     1:\,|,?6,2:@,-200`1.1,5:#,{1,4}:N,4:*/_)
+endfont
+%***************************************************************************
+beginfont("EN:Marbofloxacin","MW:362.361")
+  MC(<30,Ph,3=?6,9=dl,(2,7)=?6[4],6:/F,7:N,11:O,9:/COOH,10://O,13:N!,
+     1:\,|,?6,1:N,4:N!)
+endfont
+%***************************************************************************
+beginfont("EN:Ofloxacin","MW:361.373")
+  MC(<30,Ph,3=?6,(2,7)=?6[4],9=dl,7:N,11:O,6:/F,9:/COOH,10://O,13:/_,
+     1:\,|,?6,{1,4}:N,4:/_)
+endfont
+%***************************************************************************
+beginfont("EN:Ormetoprim","MW:274.324")
+  MC(<30,Ph,{1,5}:N,{2,6}:/NH2,3:\,!,|,Ph,2:/_,{4,5}:/O!)
+endfont
+%***************************************************************************
 beginfont("EN:Amoxicillin","MW:365.4042")
   MC(<45,?4,-3=?5,2:N,7:S,
-    3^45:/*H,1://O^15,5:/*COOH^-18,{6^35,6^-35}:/_,
+    3^45:/*H,1://O^15,5:/*COOH^-18,6:??,
     4:*\^15,NH,!,//O,!,*/NH2,!,Ph,-3:/OH)
 endfont
 %***************************************************************************
 beginfont("EN:Ampicillin","MW:349.405")
   MC(<45,?4,-3=?5,2:N,7:S,
-    3^45:/*H,1://O^15,5:/*COOH^-18,{6^35,6^-35}:/_,
+    3^45:/*H,1://O^15,5:/*COOH^-18,6:??,
     4:*\^15,NH,!,//O,!,/*NH2,!,Ph)
 endfont
 %***************************************************************************
 beginfont("EN:Benzyl-Penicillin","MW:334.4")
   MC(<45,?4,-3=?5,2:N,7:S,
-    3^45:/*H,1://O^15,5:/*COOH^-18,{6^35,6^-35}:/_,
+    3^45:/*H,1://O^15,5:/*COOH^-18,6:??,
     4:*\^15,NH,!,//O,!,!,Ph)
 endfont
 %***************************************************************************
 beginfont("EN:Mecillinam","MW:325.4264")
   MC(<45,?4,-3=?5,2:N,7:S,
-    3^45:/*H,1://O^15,5:/*COOH^-18,{6^35,6^-35}:/_,
+    3^45:/*H,1://O^15,5:/*COOH^-18,6:??,
     4:*\^15,N,!!,!,?7,-7:N)
 endfont
 %***************************************************************************
 beginfont("EN:Nafcillin","MW:414.4748")
   MC(<45,?4,-3=?5,2:N,7:S,
-    3^45:/*H,1://O^15,5:/*COOH^-18,{6^35,6^-35}:/_,
+    3^45:/*H,1://O^15,5:/*COOH^-18,6:??,
     4:*\^15,NH,!,//O,!,Ph,-2=Ph,-9:/O!2)
 endfont
 %***************************************************************************
 beginfont("EN:Oxacillin","MW:401.4363")
   MC(<45,?4,-3=?5,2:N,7:S,
-    3^45:/*H,1://O^15,5:/*COOH^-18,{6^35,6^-35}:/_,
+    3^45:/*H,1://O^15,5:/*COOH^-18,6:??,
     4:*\^15,NH,!,//O,!,<-24,?5,{-2,-5}=dl,-2:N,-3:O,-4:/_,
     -1:\^-24,Ph)
 endfont
@@ -114,7 +458,7 @@
 %***************************************************************************
 beginfont("EN:Cloxacillin","MW:435.8813")
   MC(<45,?4,-3=?5,2:N,7:S,
-    3^45:/*H,1://O^15,5:/*COOH^-18,{6^35,6^-35}:/_,
+    3^45:/*H,1://O^15,5:/*COOH^-18,6:??,
     4:*\^15,NH,!,//O,!,<-24,?5,{-2,-5}=dl,-2:N,-3:O,-4:/_,
     -1:\^-24,Ph,-5:/Cl)
 endfont
@@ -121,7 +465,7 @@
 %***************************************************************************
 beginfont("EN:Dicloxacillin","MW:470.3264")
   MC(<45,?4,-3=?5,2:N,7:S,
-    3^45:/*H,1://O^15,5:/*COOH^-18,{6^35,6^-35}:/_,
+    3^45:/*H,1://O^15,5:/*COOH^-18,6:??,
     4:*\^15,NH,!,//O,!,<-24,?5,{-2,-5}=dl,-2:N,-3:O,-4:/_,
     -1:\^-24,Ph,{-1,-5}:/Cl)
 endfont
@@ -132,11 +476,11 @@
     4:*\^15,NH,!,//O,!,*/NH2,!,Ph)
 endfont
 %***************************************************************************
-beginfont("EN:Cefalonium","MW:459.5107")
+beginfont("EN:Cefalonium","MW:458.5107")
   MC(<45,?4,-3=?6,-4=dl,2:N,8:S,
-    3^45:/*H,1://O^15,5:/*COOH,
+    3^45:/*H,1://O^15,5:/*COO[-1],
     4:*\^15,NH,!,//O,!2,?5,{-1,-3}=dl,-4:S,
-    6:\,!,|,Ph,1:N,4:\,//O,!,NH2)
+    6:\,!,|,Ph,1:N,1:&"+"^180,4:\,//O,!,NH2)
 endfont
 %***************************************************************************
 beginfont("EN:Cefazorin","MW:454.51")
@@ -146,11 +490,11 @@
     6:\,!,S,!,?5,{-3,-5}=dl,-1:S,-2:/_,{-3,-4}:N)
 endfont
 %***************************************************************************
-beginfont("EN:Cefquinome","MW:529.6")
+beginfont("EN:Cefquinome","MW:528.6")
   MC(<45,?4,-3=?6,-4=dl,2:N,8:S,
-    3^45:/*H,1://O^15,5:/*COOH,
+    3^45:/*H,1://O^15,5:/*COO[-1],
     4:*\^15,NH,!,//O,!,//'(N,!,O,!),!,?5,{-2,-5}=dl,-3:S,-1:N,-2:/NH2,
-    6:\,!,Ph,-2=?6,-10:N)
+    6:\,!,Ph,-2=?6,-10:N,-10:&"+"^180)
 endfont
 %***************************************************************************
 beginfont("EN:Ceftiofur","MW:523.5626")
@@ -205,14 +549,6 @@
      -2:\*^-24,O,-60~zb,?6,-5:O,-1:/*NH2,-2:*/OH,-3:/*OH,-4:/*!NH2>60)
 endfont
 %***************************************************************************
-beginfont("EN:Neospiramycin","MW:698.9")
-  MC(<-90,|=1,60,60,-60,60,60,-60,60,60,-60,60,60,60,-60,60,-60,1:#,=|,
-    {12,14}=dl,2:O,1:/*_,5:/*OH,3://O,10:/*_,6:/*O!>vt,
-    -6:\*,O,!~wb,?6`.7,-5:O,-3:/*N!_,-4:*/_,
-    7:\*,O,0~wb,?6`.7,-5:O,-2:*/N!_,-1:/*OH,-4:*/_,-3:/*OH,
-    8:\*,!,!!,O)
-endfont
-%***************************************************************************
 beginfont("EN:Streptmycin","MW:581.574")
   MC(<54,?5,3:O,4:/*_,5:/OH^35,
      1:\*,O,-24~wb,?6,-5:O,
@@ -222,20 +558,54 @@
      19:*\,NH,!,//NH,!,NH2)
 endfont
 %***************************************************************************
+beginfont("EN:Neospiramycin","MW:698.9")
+  MC(<-90,|=1,60,60,-60,60,60,-60,60,60,-60,60,60,60,-60,60,-60,1:#,=|,
+    {12,14}=dl,2:O,1:/*_,5:/*OH,3://O,10:/*_,6:/*O!>vt,
+    -6:\*,O,!~wb,?6`.7,-5:O,-3:/*N?!,-4:*/_,
+    7:\*,O,0~wb,?6`.7,-5:O,-2:*/N?!,-1:/*OH,-4:*/_,-3:/*OH,
+    8:\*,!,!!,O)
+endfont
+%***************************************************************************
+beginfont("EN:Emamectine","MW:886.133")
+  MC(<24,?6,6=?5,3=dl,9:O,2:*/OH,3:/_,6:/*OH^-60,
+     5:@,|=1.04,6,//O,-60,O,60~wb,60,-60,60~wf,60,-60,60,60,60,-60,60,=|,7:#,
+    {-1,-3,-7}=dl,(-11,-10)=?6[4],-2:@,?6,-6=wf,-1=zb,-5=dl,
+    {-1,-6}:O,-3:*/_,-2:\,*/_,!2,
+    17:/_,19:/*_,18:\,O,!,?6`.8,-1:O,-2:*/_,-4:*/O!,
+    -3:\,O,60,?6`.8,-5:O,-4:*/_,-3:/*NH!,-2:*/O!)
+endfont
+%***************************************************************************
+beginfont("EN:Spinosad","MW:731.968")
+  MC(<30,|=1,<-120,60,60,-60,60,60,60,-60,60,60,60,-60,1:#,=|,
+    5=?5,-1=dl,{-2^60,-3^-35}:/*H,-3=?6,-4=dl,{-1^35}:*/H,{-2^-60}:/*H,-2=?5,
+    2:O,{3^25,7^-25}://O,1:/!,
+     -2:\~zf,O,66,?6`.8,-1:O,-2:/_,{-3,-4,-5}:/O!,
+     8~wf:/Me,5^-65~wf:/H,
+     9:\~zf,O,!,|,?6`.8,2:O,3:/_,-3:/N?!)
+endfont
+%***************************************************************************
 beginfont("EN:Spiramycin","MW:843.1")
   MC(<-90,|=1,60,60,-60,60,60,-60,60,60,-60,60,60,60,-60,60,-60,1:#,=|,
     {12,14}=dl,2:O,{1,10^-30}:/*_,5:/*OH,3://O,6:/*O!>vt,
-    -6:\*^-30,O,!~wb,?6`.7,-5:O,-3:/*N!_,-4:*/_,
-    7:\*,O,0~wb,?6`.7,-5:O,-2:*/N!_,-1:/*OH,-4:*/_,
+    -6:\*^-30,O,!~wb,?6`.7,-5:O,-3:/*N?!,-4:*/_,
+    7:\*,O,0~wb,?6`.7,-5:O,-2:*/N?!,-1:/*OH,-4:*/_,
       -3:\*`1,O,60~wb`1.5,?6`.7,-5:O,{-2^35,-3}:*/OH,{-2^-35,-4}:/*_,
     8:\*,!,!!,O)
 endfont
 %***************************************************************************
+beginfont("EN:Natamycin","MW:665.733")
+  MC(<-90,|=1,60,60,-60,60,-60,60,-60,60,-60,60,60,60,O,-60,
+     60,60,-60,60,-60,60,-60,60,60,-60,1:#,(12,13)=?6[4],=|,
+     {2,4,6,8,20}=dl,11=zb,23:O,-2:/*OH,-3:*/COOH,
+     18=?3,-1=wb,-2=wf,-1:O,22://O,24:*/_,{14^60,16}:*/OH,
+     10:*\,O,90,?6`.8,-3:*/OH,-5:/*OH,-4:/*NH2,-1:O,-2:/*_)
+endfont
+%***************************************************************************
 beginfont("EN:Tylocin","MW:916.10")
   MC(<-90,|=1,60,60,-60,60,60,-60,60,60,-60,60,60,60,-60,60,-60,1:#,=|,
     {12,14}=dl,2:O,1:/*!,5:/*OH,3://O,10:/*_,6:/*_,-6://O,-3:/_,
     -1:*\,-60,O,0~wb,?6`.7,-5:O,-3:/*OH,-4:*/_,{-1,-2}:/*O!,
-    7:\*,O,0~wb,?6`.7,-5:O,-2:*/N!_,-1:/*OH,-4:*/_,
+    7:\*,O,0~wb,?6`.7,-5:O,-2:*/N?!,-1:/*OH,-4:*/_,
       -3:\*`1,O,60~wb`1.5,?6`.7,-5:O,{-2^35,-3}:*/OH,{-2^-35,-4}:/*_,
     8:\*,!,!!,O)
 endfont
@@ -244,38 +614,35 @@
   MC(<-90,|=1,60,60,-60,60,60,-60,60,60,-60,60,60,60,-60,60,-60,1:#,=|,
     {12,14}=dl,2:O,1:/*!,5:/*OH,{3,11}://O,{6,10}:/*_,14:/_,
     -1:*\,-60,O,0~zb,?6`.7,-5:O,{-1,-2}:*/O!,-3:*/OH,-4:/*_,
-    7:\*,O,0,?6`.7,-5:O,-2:*/N!_,{-1,-3}:/*OH,-4:*/_,
+    7:\*,O,0,?6`.7,-5:O,-2:*/N?!,{-1,-3}:/*OH,-4:*/_,
     8:\*,!2,?6`.7,-6:N,{-2,-4}:*/_)
 endfont
 %***************************************************************************
-beginfont("EN:Chlortracyclin","MW:478.88")
+beginfont("EN:Chlortetracyclin","MW:478.88")
   MC(<30,Ph,{-4,-3,-3}=?6,{16,19}=dl,{10,18}://O,7:*/_^-35,2:/Cl,
-     {5,7~zf^35,13~wf^60,14,16}:/OH,15:*/N!_,17:\,//O,!,NH2
+     {5,7~zf^35,13~wf^60,14,16}:/OH,15:*/N?!,17:/CONH2
     )
 endfont
 %***************************************************************************
 beginfont("EN:Oxytetracyclin","MW:460.434")
   MC(<30,Ph,{-4,-3,-3}=?6,{16,19}=dl,{10,18}://O,7:*/_^-35,11:*/OH,
-     {5,7~zf^35,13~wf^60,14,16}:/OH,15:*/N!_,17:\,//O,!,NH2
-    )
+     {5,7~zf^35,13~wf^60,14,16}:/OH,15:*/N?!,17:/CONH2)
 endfont
 %***************************************************************************
 beginfont("EN:Tetracyclin","MW:444.435")
   MC(<30,Ph,{-4,-3,-3}=?6,{16,19}=dl,{10,18}://O,7:*/_^-35,
-     {5,7~zf^35,13~wf^60,14,16}:/OH,15:*/N!_,17:\,//O,!,NH2
-    )
+     {5,7~zf^35,13~wf^60,14,16}:/OH,15:*/N?!,17:/CONH2)
 endfont
 %***************************************************************************
 beginfont("EN:Doxycyclin","MW:444.43")
   MC(<30,Ph,{-4,-3,-3}=?6,{16,19}=dl,{10,18}://O,7:*/_,
-     {5,13~wf^60,11~wf,14,16}:/OH,15:*/N!_,17:\,//O,!,NH2
-    )
+     {5,13~wf^60,11~wf,14,16}:/OH,15:*/N?!,17:\,//O,!,NH2)
 endfont
 %***************************************************************************
 beginfont("EN:Tiamulin","MW:493.74")
   MC(<-45.5,?8,-3=?5,8:@,|=.8,-210~zf,/_^60,45,56,=|,6:#~zb,
-     {3^-45,5,8}:*/_,3:\*^30,!~dl,4:/*OH,11://O,7:*/H^60,||,
-    1:\^15,O,!,//O,!2,S,60,60,-60,N,/!,60,-60)
+     {3^-45,5,8}:*/_,3:\*^30,!~dl,4:/*OH,11://O,7:*/H^60,
+    1:\^15,O,!,//O,!2,S,60,60,-60,N!2,60,-60)
 endfont
 %***************************************************************************
 beginfont("EN:Rifampicin","MW:822.94")
@@ -284,9 +651,14 @@
       |=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,=|,$8:#,
-      -4:/*O!,-6:@,-30,O,!,//O,!,$11:\,!!,N,!,|,?6,{1,4}:N,4:/_)
+      -4:/*O!,-6:@,-30,O,!,//O,!,$11:\,!!,N,!,|,?6,1:N,4:N!)
 endfont
 %***************************************************************************
+beginfont("EN:Trenbolone","MW:270.37")
+  MC(<30,?6,{3,10}=?6,13=?5,{2,11,15}=dl,
+     1://O,12:*/_^60,-1:/*OH,9:*/H^60,11:/*H^-60)
+endfont
+%***************************************************************************
 beginfont("EN:Luciferin","MW:280.33")
   MC(<30,Ph,3=?5,8:\,?5,{9,16}=dl,{9,14}:N,{7,11}:S,1:/OH,-2:*/COOH)
 endfont
@@ -293,48 +665,13 @@
 %***************************************************************************
 beginfont("EN:Chlorophyll a","MW:893.509")
 MC(<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:#,
+   -2:\,54~dl,|,?5,2=dl,5:N,-2:\~dl,54,|,?5,5=dl,5:N,-2:\~dl,$5:#,
    -1:@,24,/*COO!^15,72,//O,$1:#,=|,||,
    {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}:/_
-  )
+   21:@,-6~wf,!2,//O,!,O,!2,!!,|,!13,{1,5,9,13}:/_)
 endfont
 %**************************************************************************
-beginfont("EN:Gibberellin A3","MW:346.379");
-  MC(<18,?5,3=?7,5=?6[12],8:@,160`1.3,3:#,13=dl,6=wf,8=wb,
-     5:@,40~zf`1,O,50,//O^180,14~zb:#,
-     2:/COOH,7://_,13:*/OH,8:/*OH,14:*/_,{1,4}:*/H^60)
-endfont;
-%**************************************************************************
-beginfont("EN:Cholesterol","MW:386.664")
-  MC(<30,?6,{-4,-2}=?6,-4=?5,7=dl,
-     1:*/OH,{4,12}:*/_^60,
-     10:/*H^180,{11,-1}:/*H^-60,9:*/H^60,-1:@,17,/*_,!4,/_,!)
-endfont
-%***************************************************************************
-beginfont("EN:Lycorine","MW:287.315")
-  MC(<30,Ph,-4=?6,-2=?6,6=?5,(9,12)=?5[3],13=dl,8:N,{15,17}:O,
-    9:/*H^180,10:*/H^60,13:*/OH,14:/*OH)
-endfont
-%**************************************************************************
-beginfont("EN:Tetrodotoxine","MW:319.27")
-  MC(|=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","MW:536.888")
-  MC(<30,?6,3=dl,{3,5^35,5^-35}:/_,
-     4:\,|,!18,{1,3,5,7,9,11,13,15,17}=dr,{3,7,12,16}:/_,
-     |,?6,6=dl,{6,2^35,2^-35}:/_)
-endfont
-%**************************************************************************
-beginfont("EN:alfa-Tocopherol","MW:430.717")
-  MC(<30,Ph,3=?6,7:O,{1,2,5}:/_,8:/*_^60,6:/OH,8:\,|,!12,{4,8}:/*_,12:/_)
-endfont
-%**************************************************************************
 beginfont("EN:Quercetin","MW:302.24")
   MC(<30,Ph,3=?6,9:\,Ph,9=dl,10:O,7://O,{2,6,8,13,14}:/OH)
 endfont
@@ -342,7 +679,7 @@
 beginfont("EN:Limonin","MW:470.518")
   MC(<30,?6,{-3,-4}=?6,-5=?3,-2=wf,-1=wb,6=?5,-4=?6,-5=wf,
      {13,15,17,20}:O,{3,12,21}://O,
-      {4~wf^60,8~zf^60,18^35,18^-35}:/_,{1^60,5^180,16^60}:/*H,
+      {4~wf^60,8~zf^60}:/_,18:??,{1^60,5^180,16^60}:/*H,
       14:\*,|,?5,{1,4}=dl,3:O)
 endfont
 %**************************************************************************
@@ -352,28 +689,13 @@
 endfont
 %**************************************************************************
 beginfont("EN:Emetine","MW:480.649")
-  MC(<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!)
+  MC(<30,Ph,{-4,-4}=?6,8:N,{1,6}:/O!,-2:/*!,{7^-60,12^-60}:/*H,
+     -3:\,!~zb,<-60,|,?6,5=dl,2:NH,-6^-60:*/H,|,-2=?6,{2,4}=dl,{-2,-3}:/O!)
 endfont
-%***************************************************************************
-beginfont("EN:Colchicine","MW:399.443")
-  MC(<30,Ph,{1,2,6}:/O!,-4=?7,-5=?7,{-1,-4,-6}=dl,-2://O,-3:/O!,
-     9:\,NH,!,//O,!)
-endfont
-%***************************************************************************
-beginfont("EN:Caffeine","MW:194.194")
-  MC(<30,?6,3=d,{2,6}:N,{2,6}:/_,{1,5}://O,|,-4=?5,2=dl,{1,3}:N,3:/_)
-endfont
 %**************************************************************************
 beginfont("EN:Acronycine","MW:321.376")
-  MC(<30,Ph,|,-4=?6,1:N,4://O,,1:/_,-3=Ph2,-1:/O!,
-      |,-4=?6,2=d,4:O,-2^-35:/_,-2^35:/_)
+  MC(<30,Ph,|,-4=?6,1:N!,4://O,-3=Ph2,-1:/O!,|,-4=?6,2=dl,4:O,3:??)
 endfont
-%***************************************************************************
-beginfont("EN:Ibotenic acid","MW:158.113")
-  MC(<18,?5,4=d,3:O,2:NH,1://O,4:@,-24,/NH2,!,COOH)
-endfont
 %**************************************************************************
 beginfont("EN:Piperine","MW:285.343")
   MC(<30,Ph,|,-1=?5,{1,3}:O,$4:\,!!,!,!!,!,//O,!,|,?6,1:N)
@@ -380,18 +702,18 @@
 endfont
 %***************************************************************************
 beginfont("EN:Febrifugine","MW:301.346")
-  MC(<30,Ph,|,-4=?6,2=d,{1,3}:N,4://O,$9:\,!,//O,!,!~zf,|,?6,2:NH,-1:*/OH)
+  MC(<30,Ph,|,-4=?6,2=dl,{1,3}:N,4://O,$9:\,!,//O,!,!~zf,|,?6,2:NH,-1:*/OH)
 endfont
 %***************************************************************************
 beginfont("EN:Mitomycine C","MW:334.332")
-  MC(<30,?6,{3,6}=dl,{2,5}://O,1:/_,|,-4=?5,1:N,
-     $6:/NH2,|,-3=?5,|,-2=?3,-1=wb,-2=wf,-1:NH,
-     $8:/*O!^35,$9:@,17.9`1,!,O,!,//O,!,NH2)
+  MC(<30,?6,{3,6}=dl,{2,5}://O,1:/_,-4=?5,-3:N,
+     6:/NH2,,-3=?5,-2=?3,-1=wb,-2=wf,-1:NH,
+     8:/*O!^35,$9:\,!,O,60,//O,!,NH2)
 endfont
 %***************************************************************************
 beginfont("EN:Podophyllotoxin","MW:414.41");
   MC(<0,?5,{2,5}:O,-3=Ph2,-3=?6,-3=?5,-2:O,-1=wb,-3://O,
-    10:\*,Ph,{-2,-3,-4}:/O!,$13:/*OH,{$11~wf^-60,$12~zf^60}:/H)
+    10:\*,Ph,{-2,-3,-4}:/O!,13:/*OH,{11~wf^-60,12~zf^60}:/H)
 endfont;
 %***************************************************************************
 beginfont("EN:Warfarin","MW:308.333");
@@ -409,14 +731,9 @@
 beginfont("EN:Reserpine","MW:608.688");
   MC(<54,Ph,-4=?5,-2=?6,-4=?6,-3=?6,9=dl,11:N,7:NH,10:*/H^-60,
     {15^-60,16^60}:/*H,
-    $20:*\,O,!,//O,!,|,Ph,{-2,-3,-4}:/O!,{$1,$19~zf>rl}:/O!,
-    $18:*\,//O,!,O,!)
+    20:*\,O,!,//O,!,Ph,{-2,-3,-4}:/O!,{1,19~zf>rl}:/O!,18:*/COO!>lr)
 endfont;
 %***************************************************************************
-beginfont("EN:Nicotine","MW:162.23");
-  MC(<30,Ph,2:N,4:\,|,?5,2:N,2:/_)
-endfont;
-%***************************************************************************
 beginfont("EN:Rotenone","MW:394.423");
   MC(<-60,?5,{-3,-2,-3,-4}=?6,{7,9,-2,-4}=dl,{3,17}=dr,
    {2,13,16}:O,10://O,{11^-60,12^60}:*/H,{-2,-3}:/O!,1:*\,/_,!!)
@@ -423,28 +740,24 @@
 endfont;
 %***************************************************************************
 beginfont("EN:Pyrethrin I","MW:328.452");
-  MC(<30,?3,{3^35~wf,3^-35~zf}:/_,1:*\,!!,iPr,
-     2:\*,//O,!,O,-36~zb,|,?5,-2=d,-1:/_,-3://O,-2:\,!4,{-1,-3}=dl)
+  MC(<30,?3,{3^35~wf,3^-35~zf}:/_,1:*\,!!,?!,
+     2:\*,//O,!,O,-36~zb,|,?5,-2=dl,-1:/_,-3://O,-2:\,!4,{-1,-3}=dl)
 endfont;
-%***************************************************************************
-beginfont("EN:Erythromycin","MW:733.937");
-MC(<30,|=1,<-120,60,60,60,-60,60,60,-60,60,60,60,-60,60,60,=|,1:#,
-    14:O,13:/*!,{1,9}://O,{2,10}:*/_,{4,6^-35,8,12^35}:/*_,
-    {6^35,11,12^-35}:*/OH,
-    $3:\*,O,30,|,?6`.7,2:O,{3,5^35}:/_,4:/OH,5^-35:/O!,
-    $5:\*^30`1.7,O,!,|,?6`.7,6:O,5:/_,2:/OH,3:/N!_)
-endfont;
+%***********************************************************************
+beginfont("EN:Oseltamivir","MW:312.40")
+  MC(<30,?6,3=dl,6:*/NH2,1:\*,NH,!,//O,!,2:*\,!,/!,!2,4:\,//O,!,O,!2)
+endfont
 %**************************************************************************
 beginfont("EN:Paclitaxel","MW:853.918")
-  MC(?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}:/_,{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)
+  MC(?6,5=dl,3:@,|=1,36,45,45,45,45,=|,5:#,-4=?6,-4=?4,-1=wb,-3=wf,-1:O,
+    4:??,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:*/OCO!>rl,12:/*OCO!^-15>lr)
 endfont
 %**************************************************************************
 beginfont("EN:Mevastatin","MW:390.52")
-  MC(<30,?6,2=d,4:*/H^60,|,-4=?6,2=d,$9:*/_,
-     $10:*\,!,60~wb,|,?6,6:O,-2://O,-4:/*OH,$5:\*,O,60,//O,!,*/_,!2)
+  MC(<30,?6,2=dl,4:*/H^60,-4=?6,-4=dl,9:*/_,
+     10:*\,!,60~wb,?6,6:O,-2://O,-4:/*OH,5:\*,O,60,//O,!,*/_,!2)
 endfont
 %***************************************************************************
 beginfont("EN:Sesamine","MW:354.35")
@@ -453,13 +766,9 @@
 %**************************************************************************
 beginfont("EN:Morphine","MW:285.343")
   MC(<30,Ph,2=?6,-4=?6,(1,12)=?5[2],-1:O,-1=zb,
-    7:@,60~wf`0.75,70~si_`1.3,45,N,/_,9~wb:#,
-    15=d,6:/OH,8^180:*/H,12:/*OH)
+    7:@,60~wf`0.75,70~si_`1.3,45,N!,9~wb:#,
+    15=dl,6:/OH,8^180:*/H,12:/*OH)
 endfont
-%**************************************************************************
-beginfont("EN:Capsaicin","MW:305.418")
-  MC(<30,Ph,1:/OH,6:/O!,4:\,!,NH,!,//O,|,!8,-3=d,-1:/_)
-endfont
 %***************************************************************************
 beginfont("EN:Quinine","MW:324.424")
   MC(<30,Ph,3=Ph,7:N,6:/O!,
@@ -468,7 +777,46 @@
 %***************************************************************************
 beginfont("EN:Atoropin","MW:289.375")
   MC(<30,O,!,//O,!,!,Ph,
-     $1:\~zb^-60,|,?7`1.1,6:*\^190`1.25,N,/_,3~wb:#,$3:/!OH~wv)
+     $1:\~zb^-60,|,?7`1.1,6:*\^190`1.25,N!,3~wb:#,$3:/!OH~wv)
 endfont
 %***************************************************************************
+beginfont("EN:Colchicine","MW:399.443")
+  MC(<30,Ph,{1,2,6}:/O!,-4=?7,-5=?7,{-1,-4,-6}=dl,-2://O,-3:/O!,9:/NHCO!)
+endfont
+%***************************************************************************
+beginfont("EN:Lycorine","MW:287.315")
+  MC(<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:Ibotenic acid","MW:158.113")
+  MC(<18,?5,4=dl,3:O,2:NH,1://O,4:@,-24,/NH2,!,COOH)
+endfont
+%***************************************************************************
+beginfont("EN:illudin S","MW:264.3")
+  MC(<30,?6,3=?5,6:**?3,{4,7}=dl,2://O,5:/_,
+     {1^35,8^35}:*/_,1:/*OH^-35,9:*/OH,8:/*!OH^-35)
+endfont
+%***************************************************************************
+beginfont("EN:Muscarine","MW:174.26")
+  MC(<18,?5,2:O,1:*/_,5:/*OH,3:*\,48,N,??,!,-1:&"+"^180)
+endfont
+%***************************************************************************
+beginfont("EN:Psilocybin","MW:284.248")
+  MC(<30,Ph,3=?5,8=dl,9:NH,2:\,O,-60,P,|||,-1://O^-90,-1:/OH,-1:/OH^90,
+     7:\,!,-60,N?!)
+endfont
+%***************************************************************************
+beginfont("EN:Tetrodotoxine","MW:319.27")
+  MC(|=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:Aflatoxin B1","MW:312.27")
+  MC(<30,Ph,6=?6,-2=?5,4=?5,-2=?5,{-2,10}=dl,{7,14,17}:O,
+     2:/O!,{8,11}://O,{15^-54,16^54}:*/H)
+endfont
+%***************************************************************************
 bye

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	2021-01-03 22:28:55 UTC (rev 57309)
+++ trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.tex	2021-01-03 22:29:20 UTC (rev 57310)
@@ -75,10 +75,3 @@
 %------------------------------------------------------------------------
 \end{document}
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-tnum=5 \\ \tnum=0 \fi%
-\fi%
-\ifCONT@ \repeat%
-\closein\@auxf%
-%------------------------------------------------------------------------
-\end{document}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Modified: trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc.mf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc.mf	2021-01-03 22:28:55 UTC (rev 57309)
+++ trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc.mf	2021-01-03 22:29:20 UTC (rev 57310)
@@ -1,8 +1,8 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Molecular Coding Format file for mcf_manual.tex  by Akira.Yamaji 2020.12.12
+% Molecular Coding Format file for mcf_manual.tex  by Akira.Yamaji 2021.01.03
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-input mcf2graph.mf;   %% it must be version 4.54 or later
-message "mcf_man_soc 2020.12.12"; message "";
+input mcf2graph.mf;   %% it must be version 4.55 or later
+message "mcf_man_soc 2021.01.03"; message "";
 %------------------------------------------------------------------------
 sw_mframe:=0;
 sw_expand:=0;
@@ -22,11 +22,11 @@
 endfont
 %***********************************************************************
 beginfont("EN:L-Valine")
-  MC(<30,NH2,!~wb,/iPr,!,COOH)
+  MC(<30,NH2,!~wb,/!?!,!,COOH)
 endfont
 %***********************************************************************
 beginfont("EN:L-Leucine")
-  MC(<30,NH2,!~wb,/!iPr,!,COOH)
+  MC(<30,NH2,!~wb,/!?!,!,COOH)
 endfont
 %***********************************************************************
 beginfont("EN:L-Isoleucine")
@@ -46,7 +46,7 @@
 endfont
 %***********************************************************************
 beginfont("EN:L-Methionine")
-  MC(<30,NH2,!~wb,/'(!2,SMe),!,COOH)
+  MC(<30,NH2,!~wb,/'(!2,S,!),!,COOH)
 endfont
 %***********************************************************************
 beginfont("EN:L-Phenylalanine")
@@ -487,7 +487,7 @@
 endfont
 %***********************************************************************
 beginfont("EN:chain strech direction mode 1")
-  fsize:=(60mm,45mm);
+  fsize:=(50mm,35mm);
   sw_trimming:=1;
   ratio_chain_ring:=1;
   MC(
@@ -507,27 +507,31 @@
 endfont
 %***********************************************************************
 beginfont("EN:chain strech direction mode 3")
-  fsize:=(40mm,25mm);
+  fsize:=(40mm,20mm);
   sw_trimming:=1;
-  ratio_chain_ring:=1;
-  MC(<30,!6,6>45:/!3)
+  MC(<30,!4,2:/!6>30,4:/!4>-45)
 endfont
 %***********************************************************************
 beginfont("EN:chain strech direction mode 4")
-  fsize:=(60mm,25mm);
+  fsize:=(60mm,22mm);
   sw_trimming:=1;
-  ratio_chain_ring:=1;
   MC(<30,!6,6>'(90,-90,90,-90,90):/!5)
 endfont
 %***********************************************************************
 beginfont("EN:change atom and group")
+  fsize:=(60mm,12mm);
+  sw_trimming:=1;
+  MC(<-30,!2,NH,!2,N!,!2,N!2,!2,SO,!2,SOO,!)
+endfont
+%***********************************************************************
+beginfont("EN:methyl*2,isopropyl,tert-butyl")
   fsize:=(60mm,15mm);
   sw_trimming:=1;
-  MC(<-30,!2,NH,!2,SO,!2,SOO,!)
+  MC(<30,!9`1,?!,!,??,!,2:??,4:/?!,6:/??!,8:/N?!)
 endfont
 %***********************************************************************
 beginfont("EN:Make brock")
-  fsize:=(60mm,15mm);
+  fsize:=(60mm,10mm);
 %  sw_trimming:=1;
   sw_numberB:=1;
   MC(<-30,!2,|=1.2,!4,=|,!2)
@@ -534,7 +538,7 @@
 endfont
 %***********************************************************************
 beginfont("EN:User definition")
-  fsize:=(60mm,20mm);
+  fsize:=(60mm,15mm);
   sw_trimming:=1;
   iBuOH:='(!,/_,!,OH);
   MC(<30,?6,{4,6}:/iBuOH)
@@ -541,7 +545,7 @@
 endfont
 %***********************************************************************
 beginfont("EN:Inline definition")
-  fsize:=(60mm,20mm);
+  fsize:=(60mm,15mm);
   fmargin:=(2mm,1mm);
   sw_trimming:=1;
   MC(<30,!8,{2,6}:/'(!,/_,!,OH))
@@ -1118,7 +1122,7 @@
   MC(
     ?6,5=dl,3:@,|=1,36,45,45,45,45,=|,
     $5:#,-4=?6,-4=?4,-1=wb,-3=wf,-1:O,||,
-    {4^35,4^-35,6}:/_,{3^-60,15}:*/OH,8:/*H^-60,
+    4:??,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,
@@ -1151,15 +1155,15 @@
   MC(
     <30,Ph,3=Ph,7:N,6:/O!,
     10:\,*/OH,/H~zf^-60,!,
-    |,?6,2:N,1:*/H^60,4:*\,!!,
+    |,?6,2:N,1:*/H^60,4:*/!!,
     2:@,165~zf,60,5~zb:#
   )
 endfont
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%***************************************************************************
 beginfont("EN:Ampicillin","MW:349.405")
   fsize:=(60mm,15mm);
   MC(<45,?4,-3=?5,2:N,7:S,
-    {3^45,4^-45}:/*H,1://O^15,5:/*COOH^-18,{6^35,6^-35}:/_,
+    {3^45,4^-45}:/*H,1://O^15,5:/*COOH^-18,6:??,
      4:*\^75,NH,!,//O,!,/*NH2,!,Ph)
 endfont
 %***************************************************************************
@@ -1169,7 +1173,7 @@
   <30,?6,{-4,-2}=?6,-4=?5,7=dl,
     1:*/OH,{4,12}:*/_^60,9:*/H^60,
     10:/*H^180,11:/*H^-60,17:/*H^-54,
-    -1:@,18,/*_,-60,!3,/_,!
+    -1:@,18,/*_,-60,!3,?!
   )
 endfont
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

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	2021-01-03 22:28:55 UTC (rev 57309)
+++ trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.tex	2021-01-03 22:29:20 UTC (rev 57310)
@@ -1,5 +1,5 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%  Molecular Coding Format manual                by  Akira Yamaji 2020.12.12
+%  Molecular Coding Format manual                by  Akira Yamaji 2021.01.03
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \documentclass[a4paper]{article}
 %%%%\documentclass[a4paper,twoside]{article}
@@ -485,12 +485,12 @@
 \subsubsection{Insert group}
 \begin{verbatim}
   /  : single
-  <-30,!,/Me,!,/Et,!3,/Pr,!,/iPr,
-      !3,/tBu,!,/Ph^-30,!
+  <-30,!,/_,!,/!,!3,/!2,!,/?!,
+      !3,/??!,!,/Ph^-30,!
 
-  ** Me:methyl(/_)  Et:ethyl(/!)
-     Pr:propyl(/!2) iPr:isopropyl
-     tBu:tertial buthyl Ph:phenyl
+  ** /_   : methyl      /!  : ethyl
+     /!2  : propyl      /?! : isopropyl
+     /??! : tert-butyl  /Ph : phenyl
 \end{verbatim}
 \MCFgraph
 %-----------------------------------------------------------------------------
@@ -533,7 +533,7 @@
 \subsubsection{Add group}
 \begin{verbatim}
   <30,!17,2:/_,4:/!,6:/!2,
-   10:/iPr,14:/tBu,16:/Ph^-60
+   10:/?!,14:/??!,16:/Ph^-60
 \end{verbatim}
 \MCFgraph
 %-----------------------------------------------------------------------------
@@ -585,9 +585,12 @@
 \subsubsection{Fixed rotate angle}
 \index{\textgreater}%
 \begin{verbatim}
-  >45 : rotate 45
+  >n : rotate n
 
-  <30,!6,6>45:/!3
+  <30,!4,
+  2:/!6>30,  % 2:\,30,30,30,30,30,30
+  4:/!4>-45  % 4:\,-45,-45,-45,-45
+
 \end{verbatim}
 \MCFgraph
 %-----------------------------------------------------------------------------
@@ -601,28 +604,38 @@
 %-----------------------------------------------------------------------------
 \subsection{Miscellaneous}
 %-----------------------------------------------------------------------------
-\subsubsection{}
+\subsubsection{Abbreviated parts}
+\index{N!}%
 \begin{verbatim}
-  NH,SO,SOO :
-   insert hetero atom and group
-   simultaneously
+  NH  : N,/H~nl
+  N!  : N,/_
+  N!2 : N,/!
+  SO  : S,//O
+  SOO : S,//O^35,//^-35
 
-  <-30,!2,NH,!,SO,!,SOO,!
-  <-30,!4,3:NH,5:SO,7:SOO
+  <-30,!2,NH,!2,N!,!2,N!2,SO,!2,SOO,!
 \end{verbatim}
 \MCFgraph
+\index{?!}%
+\index{??}%
+\begin{verbatim}
+  ?!   : /_,!
+  ??   : /_^35,/_-35
+  /?!  : isopropyl
+  /??! : tert-butyl
+  /N?! : dimethylamino
+
+  <30,!9`1,?!,!,??,!,
+  2:??,4:/??,6:/??!,8:/N?!
+\end{verbatim}
+\MCFgraph
 %-----------------------------------------------------------------------------
 \subsubsection{Make block}
-\index{\textbar\textless \textgreater\textbar}%   |<
 \index{\textbar= =\textbar}%    |=
 \begin{verbatim}
- |< : start brock
- >| : end brock
-
  |= : start brock / bond length=n
  =| : end brock
 
-  <-30,!2,|<,``1.2,!4,>|,!2
   <-30,!2,|=1.2,!4,=|,!2
 \end{verbatim}
 \MCFgraph
@@ -641,8 +654,7 @@
    <30,!, /'(!,/_,!,OH),
        !4,/'(!,/_,!,OH),!3
 
-   <30,!8,
-   {2,6}:/'(!,/_,!,OH)
+   <30,!8,{2,6}:/'(!,/_,!,OH)
 \end{verbatim}
 \MCFgraph
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -1366,8 +1378,7 @@
     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
+    11:*/OCO!>rl,12:/*OCO!^-15>lr
   )
 endfont
 \end{verbatim}
@@ -1408,13 +1419,13 @@
   MC(
     <30,Ph,3=Ph,7:N,6:/O!,
     10:\,*/OH,/H~zf^-60,!,
-    |,?6,2:N,1:*/H^60,4:*\,!!,
+    |,?6,2:N,1:*/H^60,4:*/!!,
     2:@,165~zf,60,5~zb:#
   )
 endfont
 \end{verbatim}
 \MCFgraph
-%-----------------------------------------------------------------------------
+%------------------------------------------------------------------------
 \onecolumn
 \section{Example to use mcf2graph}
 \subsection{Molecular definition file}
@@ -1436,8 +1447,7 @@
 %-------------------------------------------------------------------------
 beginfont("N:1","EN:Ampicillin")                 > begin font(information)
   MC(<45,?4,2:N,2=?5,-1:S,                              > begin MCF (1)
-     {3^45,4^-45}:/*H,1://O^15,5:/*COOH^-18,            >
-     {6^35,6^-35}:/_,                                   >
+     {3^45,4^-45}:/*H,1://O^15,5:/*COOH^-18,6:??,       >
      4:@,75,NH,!,//O,!,/*NH,!,Ph)                       > end MCF 
 endfont                                                 > end font
 %------------------------------------------------------------------------
@@ -1445,7 +1455,7 @@
   MC(<30,?6,{-4,-2}=?6,-4=?5,7=dl,                      > begin MCF (2)
       1:*/OH,{4,12}:*/_^60,9:*/H^60,                    >
       10:/*H^180,{11,-1}:/*H^-60,                       >
-      -1:@,17,/*_,!4,/_,!)                              > end MCF
+      -1:@,17,/*_,!4,?!)                                > end MCF
 endfont                                                 > end font
 %------------------------------------------------------------------------
 beginfont("N:3","EN:Limonin")                    > begin font(information)
@@ -1461,7 +1471,7 @@
   MC(<30,?6,3=dl,{3,5^35,5^-35}:/_,                     > begin MCF (4)
       4:\,|,!18,{1,3,5,7,9,11,13,15,17}=dr,             >
       {3,7,12,16}:/_,                                   >
-      |,?6,6=dl,{6,2^35,2^-35}:/_)                      > end MCF
+      |,?6,6=dl,2:??,6:/_)                              > end MCF
 endfont                                                 > end font
 %------------------------------------------------------------------------
 bye
@@ -1735,15 +1745,15 @@
 %--------------------------------------------------------------------
 \begin{document}
 \unitlength=1mm%
-\INFO{F:mcf_man_soc,C:139,NO:1,mw:349.40462,fm:C16H19N3O4S,EN:Ampicillin}%
-\INFO{F:mcf_man_soc,C:140,NO:2,mw:386.6532,fm:C27H46O,EN:Cholesterol}%
+\INFO{F:mcf_man_soc,C:140,NO:1,mw:349.40462,fm:C16H19N3O4S,EN:Ampicillin}%
+\INFO{F:mcf_man_soc,C:141,NO:2,mw:386.6532,fm:C27H46O,EN:Cholesterol}%
 \end{document}
 %--------------------------------------------------------------------
 \end{verbatim}%
 %############################################################################
 %------------------------------------------------------------------------
-\INFO{F:mcf_man_soc,C:139,NO:1,mw:349.40462,fm:C16H19N3O4S,EN:Ampicillin}%
-\INFO{F:mcf_man_soc,C:140,NO:2,mw:386.6532,fm:C27H46O,EN:Cholesterol}%
+\INFO{F:mcf_man_soc,C:140,NO:1,mw:349.40462,fm:C16H19N3O4S,EN:Ampicillin}%
+\INFO{F:mcf_man_soc,C:141,NO:2,mw:386.6532,fm:C27H46O,EN:Cholesterol}%
 %------------------------------------------------------------------------
 \printindex
 %------------------------------------------------------------------------

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	2021-01-03 22:28:55 UTC (rev 57309)
+++ trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.tex	2021-01-03 22:29:20 UTC (rev 57310)
@@ -1,7 +1,7 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Example of  MCF typest with LuaLaTeX(luamplib)     by A.Yamaji    2020.12.12
+% Example of  MCF typest with LuaLaTeX(luamplib)     by A.Yamaji    2021.01.03
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%% mcf2graph.mf it must be version 4.54 or later
+%%% mcf2graph.mf it must be version 4.55 or later
 \documentclass{article}
 %------------------------------------------------------------------------------
 \usepackage{luamplib}%
@@ -174,7 +174,7 @@
      14:O,13:/*Et,{1,9}://O,{2,10}:*/_,{4,6^-35,8,12^35}:/*_,
      {6^35,11,12^-35}:*/OH,
      $3:\*,O,30,|,?6`.7,2:O,{3,5^35}:/_,4:/OH,5^-35:/O!,
-     $5:\*^30`1.7,O,!,|,?6`.7,6:O,5:/_,2:/OH,3:/N!_
+     $5:\*^30`1.7,O,!,|,?6`.7,6:O,5:/_,2:/OH,3:/N?!
      )
 endfont;
 \end{verbatim}
@@ -187,7 +187,7 @@
      14:O,13:/*Et,{1,9}://O,{2,10}:*/_,{4,6^-35,8,12^35}:/*_,
      {6^35,11,12^-35}:*/OH,
      $3:\*,O,30,|,?6`.7,2:O,{3,5^35}:/_,4:/OH,5^-35:/O!,
-     $5:\*^30`1.7,O,!,|,?6`.7,6:O,5:/_,2:/OH,3:/N!_
+     $5:\*^30`1.7,O,!,|,?6`.7,6:O,5:/_,2:/OH,3:/N?!
      )
     ext(
       defaultscale:=0.8;
@@ -204,10 +204,10 @@
 beginfont("EN:Paclitaxel","MW:853.918")
   fsize:=(120mm,35mm);
   MC(
-    ?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}:/_,{3^-60,15}:*/OH,8:/*H^-60,9:*/_^60,10://O,
+    ?6,5=d,3:@,|=1,36,45,45,45,45,=|,5:#,-4=?6,-4=?4,-1=wb,-3=wf,-1:O,
+    4:??,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
+    7:\*,O,-45,//O,60,Ph,11:*/OCO!>rl,12:/*OCO!^-15>lr
   )
 endfont
 \end{verbatim}
@@ -216,10 +216,10 @@
 beginfont("EN:Paclitaxel","MW:853.918")
   fsize:=(120mm,35mm);
   MC(
-    ?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}:/_,{3^-60,15}:*/OH,8:/*H^-60,9:*/_^60,10://O,
+    ?6,5=d,3:@,|=1,36,45,45,45,45,=|,5:#,-4=?6,-4=?4,-1=wb,-3=wf,-1:O,
+    4:??,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
+    7:\*,O,-45,//O,60,Ph,11:*/OCO!>rl,12:/*OCO!^-15>lr
   )
   ext(
     defaultscale:=0.8;
@@ -239,11 +239,11 @@
 beginfont("NO:6","EN:Vancomycin","MW:1449.25");
 fsize:=(150mm,50mm);
 MC(<-30,|=1,!12,{1,3,12}=zf,7=wf,/H^-60,60,*/OH,60,
-  Ph,-4:/Cl,-3:\,O,!,Ph,-4:\,O,!,Ph,-1^15:/Cl,-3:\,/*OH,*/H^-60,$1:#,
-  $7:@,$26:#,$1:@,60,//O,60,NH,60,/*H,*/COOH^180,-60,
-  Ph,{-2,-4}:/OH,-1:\,Ph,-5:/OH,-2:@,$4:#,=|,
-  {3^40,6,9,12}://O,{2,5,8,11}:NH,{1,4^180}:*/H,{7^-60,10^60,14^60}:/*H,||,
-  10:*\^-60,60,//O,!,NH2,13:*\,NH,!,//O,!,/!iPr^-35>60,*/H^60,!~zf,NH,!,
+  Ph,-4:/Cl,-3:\,O,!,Ph,-4:\,O,!,Ph,-1^15:/Cl,-3:\,/*OH,*/H^-60,1:#,
+  7:@,26:#,$1:@,60,//O,60,NH,60,/*H,*/COOH^180,-60,
+  Ph,{-2,-4}:/OH,-1:\,Ph,-5:/OH,-2:@,4:#,=|,
+  {3^40,6,9,12}://O,{2,5,8,11}:NH,{1,4^180}:*/H,{7^-60,10^60,14^60}:/*H,
+  10:*\^-60,60,//O,!,NH2,13:*\,NH,!,//O,!,/??!,*/H^60,!~zf,NH,!,
   23:\,O,!,|,?6`.7,2:O,3^10:/!OH,{4,5}:/OH,
   -1:\,O,!,|,?6`.7,6:O,{3^35,5}:/_,3^-35:/NH2,4:/OH)
 endfont;
@@ -253,11 +253,11 @@
 beginfont("NO:6","EN:Vancomycin","MW:1449.25");
 fsize:=(150mm,45mm);
 MC(<-30,|=1,!12,{1,3,12}=zf,7=wf,/H^-60,60,*/OH,60,
-  Ph,-4:/Cl,-3:\,O,!,Ph,-4:\,O,!,Ph,-1^15:/Cl,-3:\,/*OH,*/H^-60,$1:#,
-  $7:@,$26:#,$1:@,60,//O,60,NH,60,/*H,*/COOH^180,-60,
-  Ph,{-2,-4}:/OH,-1:\,Ph,-5:/OH,-2:@,$4:#,=|,
-  {3^40,6,9,12}://O,{2,5,8,11}:NH,{1,4^180}:*/H,{7^-60,10^60,14^60}:/*H,||,
-  10:*\^-60,60,//O,!,NH2,13:*\,NH,!,//O,!,/!iPr^-35>60,*/H^60,!~zf,NH,!,
+  Ph,-4:/Cl,-3:\,O,!,Ph,-4:\,O,!,Ph,-1^15:/Cl,-3:\,/*OH,*/H^-60,1:#,
+  7:@,26:#,$1:@,60,//O,60,NH,60,/*H,*/COOH^180,-60,
+  Ph,{-2,-4}:/OH,-1:\,Ph,-5:/OH,-2:@,4:#,=|,
+  {3^40,6,9,12}://O,{2,5,8,11}:NH,{1,4^180}:*/H,{7^-60,10^60,14^60}:/*H,
+  10:*\^-60,60,//O,!,NH2,13:*\,NH,!,//O,!,/??!,*/H^60,!~zf,NH,!,
   23:\,O,!,|,?6`.7,2:O,3^10:/!OH,{4,5}:/OH,
   -1:\,O,!,|,?6`.7,6:O,{3^35,5}:/_,3^-35:/NH2,4:/OH)
   ext(

Modified: trunk/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf
===================================================================
--- trunk/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf	2021-01-03 22:28:55 UTC (rev 57309)
+++ trunk/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf	2021-01-03 22:29:20 UTC (rev 57310)
@@ -1,5 +1,5 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% mcf2graph ver 4.54     Copyright (c) 2013-2020   Akira Yamaji
+% mcf2graph ver 4.55     Copyright (c) 2013-2021   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,
@@ -38,11 +38,11 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 tracingstats:=1;
 message "---------------------------------------------";
-message "This is mcf2graph ver 4.54  2020.12";
+message "This is mcf2graph ver 4.55  2021.01";
 message "---------------------------------------------";
 %-------------------------------------------------------------------------------------------------
-newinternal cntA,cntB,cntM,minX,minY,sftX,sftY,com,par,nA,nB,nC,nD,nE,nF,nN,nP,nU,nP,nL,nR,nS,nW,
-            xpos,ypos;
+newinternal cntA,cntB,cntM,minX,minY,maxX,maxY,sftX,sftY,com,par,envT,envB,lenT,lineT,angT,rotT,
+            crR,nA,nB,nC,nD,nE,nF,nN,nP,nU,nP,nL,nR,nS,nW,xpos,ypos,markA,markB,saveA,saveB,bondL;
 numeric save_num[],comD[][],parD[][],adrD[][],cntD[],tbl_atom[],tbl_group[][],f_char[],
         tbl_atom_wt[],tbl_atom_mi[],tbl_char_wd[],tbl_char_ht[],andA[],and_rot[],chargeA[],
         com_group[][],par_group[][],cnt_group[],colorA[],colorB[],sumA[],bondC[],hideH[],
@@ -207,8 +207,8 @@
   offset_bond_gap,thickness_fframe,thickness_mframe,thickness_aframe,offset_thickness,
   numberA_start,numberA_end,numberB_start,numberB_end,defaultsize,defaultscale,labeloffset,mangle,
   fsize,fmargin,msize,mposition,defaultfont,atomfont,dottedline_gap,
-  Me,Et,Pr,Bu,iPr,tBu,CF3,CCl3,CBr3,CH3,NH,NH2,NO2,OH,CHO,COOH,CN,SH,OMe,OEt,SMe,SEt,
-  !CH3,!NH2,!NO2,!OH,!CHO,!COOH,!CN,!SH,!2CH3,!2NH2,!2NO2,!2OH,!2CHO,!2COOH,!2CN,!2SH
+  Me,Et,Pr,Bu,iPr,tBu,CH3,NH,NH2,NO2,OH,CHO,COOH,CN,SH,
+  !CH3,!NH2,!NO2,!OH,!CHO,!COOH,!CN,!SH
 enddef;
 %--------------------------------------------------------------------------------------------------
 def ]]]=] ] ] enddef;
@@ -338,13 +338,12 @@
   tertiarydef a~b == if known b:: (_tmp_line,b),a else:: _nop,a fi enddef;
   tertiarydef a>b == if known b:: (_tmp_env,b),a  else:: _nop,a fi enddef;
   def #  == _connect_at enddef; def @  == _jump_at enddef; primarydef a@#b == a:@,b:# enddef;
-  def \  ==  @,0 enddef;           def \\ ==  \~dm enddef;
-  def *\ ==  \~wf enddef;          def \* ==  \~zf enddef;        def *\* == \~wv enddef;
+  def \  ==  @,0 enddef; def \\ == \~dm enddef; def *\ == \~wf enddef; def \* == \~zf enddef;
+  def *\* == \~wv enddef;
   def |  == (_com,_mark) enddef;   def || == (_com,_moff) enddef; def ||| == (_com,_term) enddef;
   def |< == (_com,_len_s) enddef;  def >| == (_com,_len_e) enddef;
   def |<< == (_com,_len_ss) enddef; def >>| == (_com,_len_ee) enddef;
-  def |=primary n == |<,(_chg_len,n) enddef;    def =| == >| enddef;
-  def :| == (_com,_rest) enddef;
+  def |=primary n == |<,(_chg_len,n) enddef; def =| == >| enddef; def :| == (_com,_rest) enddef;
   def /secondary n  == if known n:: (_group_si,n) else:: _nop fi enddef;
   def //secondary n == /n~dm enddef;  def */secondary n  == /n~wf enddef;
   def /*secondary n == /n~zf enddef;  def */*secondary n == /n~wv enddef;
@@ -412,7 +411,7 @@
 %-------------------------------------------------------------------------------------------------
 def fuse_ring_bonds(expr a,b,c) =
   CP(_jp_bond,xpart(a)) CP(_rot_ang,180) CP(_com,_len_s)
-  if     b==6:: CP(_chg_len,_ring_len) for i==1 upto c-1:: CP(_mk_bond,60) endfor
+  if     b==6:: CP(_chg_len,1) for i==1 upto c-1:: CP(_mk_bond,60) endfor
   elseif b==5:: if     c==2:: CP(_chg_len,1.25) CP(_mk_bond,80)
                 elseif c==3:: CP(_chg_len,1.1)  CP(_mk_bond,78) CP(_mk_bond,72) fi
   elseif b==4:: CP(_chg_len,1.225) CP(_mk_bond,105) fi
@@ -464,9 +463,18 @@
   parts_int:=parts_int+1;
   nCP:=0;
   if numeric b::
-    if (b>=H)and(b<=U):: CPe(a)(_chg_atom,b)
-    ef b==NH:: CPe(a)(_chg_atom,N) CP(_tmp_line,nl)
-               CP(_com,_group_s) CPx(a)(_group_si,H) CP(_com,_group_e)
+    if (b GT parts_emb_start)and(b<=parts_atom_end):: CPe(a)(_chg_atom,b)
+    ef b==NH::  CPe(a)(_chg_atom,N) CP(_tmp_line,nl)
+                CP(_com,_group_s) CPx(a)(_group_si,H) CP(_com,_group_e)
+    ef b==N!::  CPe(a)(_chg_atom,N) CP(_com,_group_s) CPx(a)(_group_si,_) CP(_com,_group_e)
+    ef b==N!2:: CPe(a)(_chg_atom,N) CP(_com,_group_s) CPx(a)(_group_si,!) CP(_com,_group_e)
+    ef b==??::  CP(_com,_group_s) CP(_tmp_rot,35)  CPx(a)(_group_si,_)
+                CP(_tmp_rot,-35) CPx(a)(_group_si,_) CP(_com,_group_e)
+    ef b==SOO:: CPe(a)(_chg_atom,S) CP(_com,_group_s)
+                CP(_tmp_line,dm) CP(_tmp_rot,35)  CPx(a)(_group_si,O)
+                CP(_tmp_line,dm) CP(_tmp_rot,-35) CPx(a)(_group_si,O) CP(_com,_group_e)
+    ef b==SO::  CPe(a)(_chg_atom,S) CP(_com,_group_s) CP(_tmp_line,dm) 
+                CPx(a)(_group_si,O) CP(_com,_group_e)
     ef b==_jump_at:: CP(_jp_atom,a)
     ef b==_connect_at:: CP(_cyc,a)
     fi
@@ -739,9 +747,8 @@
 %-------------------------------------------------------------------------------------------------
 def MC(text TXT)=
   begingroup
-  save markA,markB,saveA,saveB,f_bra,envT,envB,lenT,lineT,strAT,cnt_group,bondL,temp_lenE,
-       temp_lenF,temp_cntB,f_end,f_term,rotT,f_at,f_lineT,f_rotT,f_lenT,f_envT,angT,
-       maxX,maxY,sA,sC,factor,m_wd,m_ht,crR,defaultsize,defaultscale;
+  save f_bra,strAT,cnt_group,temp_lenE,temp_lenF,temp_cntB,f_end,f_term,f_at,f_lineT,f_rotT,
+       f_lenT,f_envT,sA,sC,factor,m_wd,m_ht,defaultsize,defaultscale;
   %-----------------------------------------------------------------------------------------------
   string sA,sC;
   %-----------------------------------------------------------------------------------------------
@@ -1251,7 +1258,7 @@
 %=================================================================================================
 parts_int:=parts_emi_start;
 parts_cnt:=parts_emb_start;
-%=================================================================================================
+%-------------------------------------------------------------------------------------------------
 C:= STa("C"   ,12.0107,   12.0000000);       H:= STa("H"  , 1.00794,   1.00782503223);
 Al:=STa("{Al}",26.9815,   26.98153853);      As:=STa("{As}",74.9216,   74.92159457);
 B:= STa("B"   ,10.811,    11.00930536);      Br:=STa("{Br}",79.904,    78.9183376);
@@ -1271,54 +1278,54 @@
 tbl_atom_end:=tbl_cnt;
 %-------------------------------------------------------------------------------------------------
 CH3:=STb("C{H_3_}")(C,H,H,H); CH2:=STb("C{H_3_}")(C,H,H); CN:=STb("CN")(C,N); OH:=STb("OH")(O,H);
-CF3:=STb("C{F_3_}")(C,F,F,F); COOH:=STb("COOH")(C,O,O,H); SH:= STb("SH")(S,H);
-CHO:= STb("CHO")(C,H,O);      NO2:=STb("N{O_2_}")(N,O,O); NH2:=STb("N{H_2_}")(N,H,H);
-H2:=  STb("{H_2_}")(H,H);     ONa:=STb("O{Na}")(O,Na);    SO3:= STb("S{O_3_}")(S,O,O,O);
+COOH:=STb("COOH")(C,O,O,H); SH:= STb("SH")(S,H); CHO:=STb("CHO")(C,H,O);
+NO2:=STb("N{O_2_}")(N,O,O); NH2:=STb("N{H_2_}")(N,H,H);
+ONa:=STb("O{Na}")(O,Na); SO3Na:=STb("S{O_3_}{Na}")(S,O,O,O,Na);
 %-------------------------------------------------------------------------------------------------
-Br[-1]:=STb("{Br^-^}")(Br); Cl[-1]:=STb("{Cl^-^}")(Cl);
-N[1]:=  STb("{N^+^}")(N);   N[-1]:= STb("{N^-^}")(N);
-O[1]:=  STb("{O^p^}")(O);   O[-1]:= STb("{O^-^}")(O);
-S[1]:=  STb("{S^p^}")(S);   S[-1]:= STb("{S^m^}")(S);
+str_plus:=str_cnt;
+N[1]:=STb("{N^+^}")(N); H[1]:=STb("{H^+^}")(H); Na[1]:=STb("{Na^+^}")(Na); K[1]:=STb("{K^+^}")(K);
+NH3[1]:= STb("{N^+^}{H_3_}")(N,H,H,H); NH4[1]:= STb("{N^+^}{H_4_}")(N,H,H,H,H);
+S[1]:= STb("{S^+^}")(S);
+str_minus:=str_cnt;
+O[-1]:=STb("{O^-^}")(O); COO[-1]:=STb("COO^-^")(C,O,O); SO3[-1]:=STb("S{O_3_}^-^")(S,O,O,O);
+Cl[-1]:=STb("{Cl^-^}")(Cl); Br[-1]:=STb("{Br^-^}")(Br); I[-1]:=STb("{I^-^}")(I);
+%-------------------------------------------------------------------------------------------------
+str_minus_end:=str_cnt;
 tbl_group_end:=tbl_cnt;
+parts_atom_end:=parts_cnt;
 %=================================================================================================
-lr:='(60 for i==1 upto 10:: ,-60,60 endfor); rl:='(-60,lr);
 for i==3 upto 20: ?[i]:='(|<<,(_get_len,_ring_len),<((-180 DIV i)-90)
   for j==2 upto i:: ,(360 DIV i) endfor,(_cyc_sB,1-i),>>|); endfor
 Ph:=Ph1:='(?6,-2=dl,-4=dl,-6=dl); Ph2:='(?6,-1=dl,-3=dl,-5=dl);
 !:=!1:='((_mk_bond,_arg_ang)); !!:='(!~db); !!!:='(!~tm);
 for i==2  upto 20: ![i]:='(|<<,(_get_len,_tmp_len),! for j==2 upto i::,! endfor ,>>|); endfor
-Me:='(); Et:='(!); Pr:='(!,!); Bu:='(!,!,!);
-for i=4,5,6:   for j=2 upto i-2: ?[i][j]:='((_fuse,i),(j,0)); endfor endfor
-for i=5,6,7,8: for j=11 upto 15: ?[i][j]:='((_fuse,i),(j,0)); endfor endfor
+Me:='(); Et:='(!); Pr:='(!,!); Bu:='(!,!,!); iPr:=?!:='(/_,!); tBu:=??!:='(/_,/_^60,60);
 %-------------------------------------------------------------------------------------------------
-NH:='(N,/H~nl); NMe:=N!:='(N,/_); iPr:=Me!:='(/_,60); tBu:='(/_,/_^60,60);
-SO:='(S,//O); SOO:='(S,//O^-35,//O^35);
-OMe:=O!:='(O,!); OEt:=O!2:='(O,!,!); OPr:=O!3:='(O,!,!,!); OiPr:=OMe!:='(O,!,iPr);
-SMe:=S!:='(S,!); SEt:=S!2:='(S,!,!); SPr:=S!3:='(S,!,!,!); SiPr:=SMe!:='(S,!,iPr);
+NH:='(N,/H~nl); N!:='(N,/_); N!2:='(N,/!); SO:='(S,//O); SOO:='(S,//O^-35,//O^35);
+O!:='(O,!); O!2:='(O,!,!); O!3:='(O,!,!,!); O!?!:='(O,!,?!); O!??!:='(O,!,??!);
+S!:='(S,!); S!2:='(S,!,!); S!3:='(S,!,!,!); S!?!:='(S,!,?!); S!??!:='(S,!,??!);
 %-------------------------------------------------------------------------------------------------
-COO:='(//O,!,O); COOMe:=COO!:='(COO,!); COOEt:=COO!2:='(COO,!,!); COOiPr:=COOMe!:='(COO,!,iPr);
-COOPr:=COO!3:='(COO,!,!,!); COOtBu:='(COO,!,tBu);
-COMe:=CO!:='(//O,!); COEt:=CO!2:='(//O,!,!); COPr:=CO!3:='(//O,!,!,!);
-OCOMe:=OCO!:='(O,!,//O,!); NMeMe:=NMe!:=N!_:='(N!,!); NMeEt:=NMe!2:=N!2_:='(N!,!,!);
-NHMe:=NH!:='(NH,!); NHEt:=NH!2:='(NH,!,!); NHPr:=NH!3:='(NH,!,!,!);
+COO:='(//O,!,O); COO!:='(COO,!); COO!2:='(COO,!,!); COO!??:='(COO,!,?!); COO!3:='(COO,!,!,!);
+CO!:='(//O,!); CO!2:='(//O,!,!); CO!3:='(//O,!,!,!); OCO!:='(O,!,//O,!);
+N?!:='(N!,!); N?!2:='(N!,!,!); NH!:='(NH,!); NH!2:='(NH,!,!); NH!3:='(NH,!,!,!);
+NH!?!:='(NH,!,?!); NHCO!:='(NH,!,//O,!); CONH2:='(//O,!,NH2); ??:='(/_^35,/_^-35);
 %-------------------------------------------------------------------------------------------------
-!OH:='(!,OH); !SH:='(!,SH); !NH2:='(!,NH2);
-!COMe:=!CO!:='(!,//O,!); !COEt:=!CO!2:='(!,CO!2); !COPr:=!CO!3:='(!,CO!3);
-!OMe:=!O!:='(!,O!); !OEt:=!O!2:='(!,O!2); !OPr:=!O!3:='(!,O!3); !OiPr:=!OMe!:='(!,OMe!);
-!SMe:=!S!:='(!,S!); !SEt:=!S!2:='(!,S!2); !SPr:=!S!3:='(!,S!3); !SiPr:=!SMe!:='(!,SMe!);
-!NHMe:=!NH!:='(!,NH!); !NHEt:=!NH!2:='(!,NH!2); !NHPr:=!NH!3:='(!,NH!3);
-!COOH:='(!,COOH); !COOMe:=!COO!:='(!,COO!); !COOEt:=!COO!2:='(!,COO!2);
-!CH3:='(!,CH3); !CN:='(!,CN); !iPr:=!Me!:='(!,iPr); !tBu:='(!,tBu);
+!OH:='(!,OH); !SH:='(!,SH); !NH2:='(!,NH2); !CO!:='(!,//O,!); !CO!2:='(!,CO!2); !CO!3:='(!,CO!3);
+!O!:='(!,O!); !O!2:='(!,O!2); !O!3:='(!,O!3);
+!S!:='(!,S!); !S!2:='(!,S!2); !S!3:='(!,S!3);
+!NH!:='(!,NH!); !NH!2:='(!,NH!2); !NH!3:='(!,NH!3);
+!COOH:='(!,COOH); !COO!:='(!,COO!); !COO!2:='(!,COO!2);
+!CH3:='(!,CH3); !CN:='(!,CN); !?!:='(!,?!); !??!:='(!,??!);
 !CHO:='(!,CHO); !NO2:='(!,NO2); !Cl:='(!,Cl); !Br:='(!,Br); !F:='(!,F);
 !?3:='(!,?3); !?4:='(!,?4); !?5:='(!,?5); !?6:='(!,?6); !?7:='(!,?7); !?8:='(!,?8); !Ph:='(!,Ph);
 %-------------------------------------------------------------------------------------------------
-!2OH:='(!,!,OH); !2COOH:='(!,!,COOH); !2NH2:='(!,!,NH2); !2CN:='(!,!,CN); !2NO2:='(!,!,NO2);
-!2CH3:='(!,!,CH3); !2CHO:='(!,!,CHO); !2SH:='(!,!SH); !2tBu:='(!,!,tBu); !2Cl:='(!,!,Cl);
-!2?5:='(!,!,?5); !2?6:='(!,!,?6); !2Ph:='(!,!,Ph);
-%-------------------------------------------------------------------------------------------------
 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);
 %-------------------------------------------------------------------------------------------------
+lr:='(60 for i==1 upto 10:: ,-60,60 endfor); rl:='(-60,lr);
+for i=4,5,6:   for j=2  upto i-2: ?[i][j]:='((_fuse,i),(j,0)); endfor endfor
+for i=5,6,7,8: for j=11 upto 15:  ?[i][j]:='((_fuse,i),(j,0)); endfor endfor
+%-------------------------------------------------------------------------------------------------
 R:='("R");   R1:='("{R^1^}"); R2:='("{R^2^}"); R3:='("{R^3^}"); R4:='("R^4^"); R5:='("{R^5^}");
 R6:='("R6"); R7:='("{R^7^}"); R8:='("{R^8^}"); R9:='("{R^9^}"); R10:='("R^10^"); R11:='("{R^11^}");
 %-------------------------------------------------------------------------------------------------
@@ -1327,14 +1334,13 @@
 %=================================================================================================
 init_par(parameter_list);
 %-------------------------------------------------------------------------------------------------
-%%message "parts_emb =" & decimal(parts_emb_start) &" => " & decimal(parts_cnt);
-%%message "parts_emi =" & decimal(parts_emi_start) &" => " & decimal(parts_int);
+%%%%message "parts_emb =" & decimal(parts_emb_start) &" => " & decimal(parts_cnt);
+%%%%message "parts_emi =" & decimal(parts_emi_start) &" => " & decimal(parts_int);
 %-------------------------------------------------------------------------------------------------
 def expand_set=
   CH3:=xCH3; NH:=xNH; NH2:=xNH2; NO2:=xNO2; OH:=xOH; CHO:=xCHO; COOH:=xCOOH; CN:=xCN; SH:=xSH;
   !CH3:='(!,CH3); !OH:='(!,OH); !NH2:='(!,NH2); !CHO:='(!,CHO); !COOH:='(!,COOH); !CN:='(!,CN);
-  !SH:='(!,SH); !NO2:='(!,NO2); !2CH3:='(!,!CH3); !2OH:='(!,!OH); !2NH2:='(!,!NH2);
-  !2CHO:='(!,!CHO); !2COOH:='(!,!COOH); !2CN:='(!,!CN); !2SH:='(!,!SH); !2NO2:='(!,!NO2);
+  !SH:='(!,SH); !NO2:='(!,NO2);
 enddef;
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 def char_size_set(expr WD)(expr HT)(expr STR)=
@@ -1503,7 +1509,9 @@
 def warning(expr s)= message "% "&decimal(char_num)&fdr(3)(incr warning_cnt)&")"&s; enddef;
 %-------------------------------------------------------------------------------------------------
 def warning_bond(expr a)=
-  warning("A"&decimal(a)&" ( "&fixed_l(8)(strD[numS[a]])&") has"&fdr(2)(bond_cnt)&" bonds");
+  if andA[a]=0:
+    warning("A"&decimal(a)&" ( "&fixed_l(8)(strD[numS[a]])&") has"&fdr(2)(bond_cnt)&" bonds");
+  fi
 enddef;
 %-------------------------------------------------------------------------------------------------
 vardef cut_paren(expr ATOM)=
@@ -1515,11 +1523,14 @@
 %=================================================================================================
 def proc_calc=
   begingroup
-  save warning_cnt,MWp,knownA,bondC,tmp_wtp,bond_cnt,cnt_hide_H;
-  cnt_hide_H:=warning_cnt:=num_MW:=num_MI:=MWp:=tbl_atom_max:=0;
+  save warning_cnt,MWp,knownA,bondC,tmp_wtp,bond_cnt,hideH_cnt;
+  hideH_cnt:=warning_cnt:=num_MW:=num_MI:=MWp:=tbl_atom_max:=0;
   nE:=parts_emb_start;
   for i=1 upto tbl_atom_end: sumA[i]:=0; endfor
   for i=1 upto cntA:
+    if     (numS[i]>str_plus)and(numS[i]<=str_minus):      chargeA[i]:=1;
+    elseif (numS[i]>str_minus)and(numS[i]<=str_minus_end): chargeA[i]:=-1;
+    fi
     knownA:=bond_cnt:=0;
     nS:=numS[i];
     for j=1 upto cntB:
@@ -1526,6 +1537,7 @@
       if (lineB[j]>=dl)and(lineB[j]<=dm): bondC[j]:=2;
       ef lineB[j]=tm:                     bondC[j]:=3;
       ef (lineB[j]=vf)or(lineB[j]=vb):    bondC[j]:=0;
+      ef 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
@@ -1532,7 +1544,7 @@
     endfor
     Bcnt[i]:=bond_cnt;
     if ((nS=0)or(nS=(C-nE)))and(bond_cnt<4):
-      hideH[i]:=4-bond_cnt; cnt_hide_H:=cnt_hide_H+hideH[i]; else: hideH[i]:=0;
+      hideH[i]:=4-bond_cnt; hideH_cnt:=hideH_cnt+hideH[i]; else: hideH[i]:=0;
     fi
     if nS=0:         if bond_cnt>4:  warning_bond(i) fi
     ef nS=(O-nE):    if bond_cnt<>2: warning_bond(i) fi
@@ -1565,7 +1577,8 @@
     if knownA=0: warning(" Unknown Str("&strD[numS[i]]&") is used "&decimal(i)); fi
   endfor
   %-------------------------------------------------------------------------------------
-  sumA[2]:=sumA[2]+cnt_hide_H;
+  sumA[2]:=sumA[2]+hideH_cnt;
+  if (tbl_atom_max=1)and(sumA[2]>0): tbl_atom_max:=2; fi
   for i=1 upto tbl_atom_max:
     if sumA[i]>=1:
       nA:=tbl_atom_wt[i]/100*sumA[i];
@@ -1640,15 +1653,15 @@
   printf " Shift width * height  = "& fdr(10)(minX)&" * "&fdr(10)(minY);
   printf " Bond length = "&fdr(3)(blen)&"   Atom size   = "&fdr(3)(atom_wd);
   printf " 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);
+          " Ring count="&fdr(3)(cntB-cntA+1)&" Hide H count="&fdr(3)(hideH_cnt);
   printf "------------------------------------------------------------------";
-  printf "< NO. >(  x axis   ,   y axis   )< atom  >< bond >< hideH >< chg >";
+  printf "< NO. >(  x axis   ,   y axis   )<  atom(s)    ><bond><hideH><chg>";
   for i=1 upto cntA:
     printf " A"&fdl(4)(i)&" ("&fdr(10)(round_auto(xpart(posA[i])/blen))&" , "&
-            fdr(10)(round_auto(ypart(posA[i])/blen))&" )  "&fixed_l(8)(strD[numS[i]])&
-            "  "&fdr(3)(Bcnt[i])
-            &iif(hideH[i]>0,fdr(8)(hideH[i]),"        ")
-            if chargeA[i]<>0: &fdr(8)(chargeA[i]) fi;
+            fdr(10)(round_auto(ypart(posA[i])/blen))&" )  "&
+            fixed_l(12)(strD[numS[i]])&"  "&fdr(3)(Bcnt[i])
+            &iif(hideH[i]>0,fdr(6)(hideH[i]),"        ")
+            if chargeA[i]<>0: &fdr(4)(chargeA[i]) fi;
   endfor
   printf "------------------------------------------------------------------";
   printf "< NO. ><  bond   (sdt)><angle + (  +-  )><length (   pt   )>";



More information about the tex-live-commits mailing list.