texlive[44468] Master/texmf-dist: mcf2graph (5jun17)

commits+karl at tug.org commits+karl at tug.org
Tue Jun 6 01:09:24 CEST 2017


Revision: 44468
          http://tug.org/svn/texlive?view=revision&revision=44468
Author:   karl
Date:     2017-06-06 01:09:24 +0200 (Tue, 06 Jun 2017)
Log Message:
-----------
mcf2graph (5jun17)

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_man_soc.mf
    trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.pdf
    trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.tex
    trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.pdf
    trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.tex
    trunk/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf

Modified: trunk/Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG	2017-06-05 23:09:09 UTC (rev 44467)
+++ trunk/Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG	2017-06-05 23:09:24 UTC (rev 44468)
@@ -1,6 +1,20 @@
 *******************************************************************************
- Changelog of mcf2graph software package          by Akira Yamaji 2017-05-03
+ Changelog of mcf2graph software package          by Akira Yamaji 2017-06-04
 *******************************************************************************
+[ver. 4.23  / 2017-06-04]
+  -change syntax n*,n\
+     n* => n:@
+     n\ => n:\
+  -update MCF syntax manual
+
+[ver. 4.22  / 2017-05-27]
+  -change syntax @(),$()
+     @(a,b,...)c => {a,b,...}:c
+     $(a,b,...)c => {a,b,...}=c
+  -improve function ext()
+     add variable Bs[],Be[]
+  -update MCF syntax manual
+
 [ver. 4.21  / 2017-05-03]
   -change brock making commands
      '{','}' => '|<','>|'

Modified: trunk/Master/texmf-dist/doc/metapost/mcf2graph/README
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/mcf2graph/README	2017-06-05 23:09:09 UTC (rev 44467)
+++ trunk/Master/texmf-dist/doc/metapost/mcf2graph/README	2017-06-05 23:09:24 UTC (rev 44468)
@@ -1,7 +1,7 @@
 ********************************************************************************
  mcf2graph  : Convert Molecular Coding Format to graphics with METAFONT/METAPOST
  Author     : Akira Yamaji
- version    : 4.21 2017-05-03
+ version    : 4.23 2017-06-04
  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	2017-06-05 23:09:09 UTC (rev 44467)
+++ trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_exa_soc.mf	2017-06-05 23:09:24 UTC (rev 44468)
@@ -1,7 +1,7 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Molecular Coding Format for mcf_example.tex   by Akira Yamaji  2017.05.03
+% Molecular Coding Format for mcf_example.tex   by Akira Yamaji  2017.06.04
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-input mcf2graph.mf;   %%% it must be version 4.21 or later
+input mcf2graph.mf;   %%% it must be version 4.23 or later
 %-------------------------------------------------------------------------
 font_wd:=33mm;
 font_ht:=24mm;
@@ -29,23 +29,23 @@
 %%%% outputformat:="png"; hppp:=vppp:=0.1; outputtemplate:="%j-%3c.png";
 %***************************************************************************
 beginfont("EN:Acetamiprid","MW:222.676")
-  MCf(<30,Ph,2:N,1:/Cl,4\,!,N,/_,!,/_,!!,N,!,CN)
+  MCf(<30,Ph,2:N,1:/Cl,4:\,!,N,/_,!,/_,!!,N,!,CN)
 endfont
 %***************************************************************************
 beginfont("EN:Imidacloprid","MW:255.662")
-  MCf(<30,Ph,1:N,6:/Cl,3\,!,|,?5,2=dl,1:N,3:N,2\,NH,!,NO2)
+  MCf(<30,Ph,1:N,6:/Cl,3:\,!,|,?5,2=dl,1:N,3:N,2:\,NH,!,NO2)
 endfont
 %***************************************************************************
 beginfont("EN:Thiamethoxam","MW:291.71")
-  MCf(<30,?6,@(4,6)N,2:O,6:/_,5\\,N,!,NO2,4\,!,|,?5,$(1,3)d,3:N,5:S,4:/Cl)
+  MCf(<30,?6,{4,6}:N,2:O,6:/_,5:\\,N,!,NO2,4:\,!,|,?5,{1,3}=dl,3:N,5:S,4:/Cl)
 endfont
 %***************************************************************************
 beginfont("EN:Tebufenozide","MW:352.478")
-  MCf(<30,Ph,6:/!,3\,//O,!,NH,!,N,/tBu,!,//O,!,|,Ph,@(3,5)/_)
+  MCf(<30,Ph,6:/!,3:\,//O,!,NH,!,N,/tBu,!,//O,!,|,Ph,{3,5}:/_)
 endfont
 %***************************************************************************
 beginfont("EN:Pyridaphenthion","MW:340.334")
-  MCf(<-30,!2,O,!,P,//S,/O!2^160>rl,!,O,!,|,?6,$(1,5)dl,@(2,3)N,4://O,3:/Ph)
+  MCf(<-30,!2,O,!,P,//S,/O!2^160>rl,!,O,!,|,?6,{1,5}=dl,{2,3}:N,4://O,3:/Ph)
 endfont
 %***************************************************************************
 beginfont("EN:Fenitrothion","MW:277.231")
@@ -53,233 +53,235 @@
 endfont
 %***************************************************************************
 beginfont("EN:Permethrin","MW:391.288")
-  MCf(<-30,?3,2^-35:*/_,2^35:/*_,1\,!!,/Cl,!,Cl,
-     3\,//O,!,O,!2,|,Ph,3\,O,-60,Ph)
+  MCf(<-30,?3,2^-35:*/_,2^35:/*_,1:\,!!,/Cl,!,Cl,
+     3:\,//O,!,O,!2,|,Ph,3:\,O,-60,Ph)
 endfont
 %***************************************************************************
 beginfont("EN:Bensultap","MW:431.598")
-  MCf(<30,Ph,4\,SOO,!,S,!2,N,/iPr,!2,S,!,SOO,!,Ph)
+  MCf(<30,Ph,4:\,SOO,!,S,!2,N,/iPr,!2,S,!,SOO,!,Ph)
 endfont
 %***************************************************************************
 beginfont("EN:Azoxystorbin","MW:403.394")
-  MCf(<30,Ph,2:/CN,3\,O,!,|,Ph,@(4,6)N,3\,O,!,|,Ph,2\,/COO!,!!,!,O,!)
+  MCf(<30,Ph,2:/CN,3:\,O,!,|,Ph,{4,6}:N,3:\,O,!,|,Ph,2:\,/COO!,!!,!,O,!)
 endfont
 %***************************************************************************
 beginfont("EN:Isoprothiolane","MW:290.392")
-  MCf(<30,!,/_,!,O,!,//O,|,!2,//O,!,O,!,/_,!,2\\,|,?5,@(2,5)S)
-endfont
-%***************************************************************************
+  MCf(<30,!,/_,!,O,!,//O,|,!2,//O,!,O,!,/_,!,2:\\,|,?5,{2,5}:S)
+endfont%***************************************************************************
 beginfont("EN:Etridiazole","MW:247.518")
-  MCf(<18,?5,$(1,3)d,@(2,4)N,5:S,1:/O!2,3:/CCl3)
+  MCf(<18,?5,{1,3}=dl,{2,4}:N,5:S,1:/O!2,3:/CCl3)
 endfont
 %***************************************************************************
 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)
+  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","MW:300.578")
-  MCf(<12,?6,6=d,3=?5,8:N,@(7,9)//O,8\,S,!,CCl3)
+  MCf(<12,?6,6=dl,3=?5,8:N,{7,9}://O,8:\,S,!,CCl3)
 endfont
 %***************************************************************************
 beginfont("EN:Chlorothalonil","MW:265.902")
-  MCf(<30,Ph,@(1,2,4,6)/Cl,@(3,5)/CN)
+  MCf(<30,Ph,{1,2,4,6}:/Cl,{3,5}:/CN)
 endfont
 %***************************************************************************
 beginfont("EN:Tetraconazole","MW:372.145")
   MCf(<-6,
-    ?5,$(2,5)d,@(1,2,4)N,4\,!3,O,!,/F^35,/F^-35,!,CF2,7\,|,Ph,@(4,6)/Cl)
+    ?5,{2,5}=dl,{1,2,4}:N,4:\,!3,O,!,/F^35,/F^-35,!,CF2,
+      7:\,|,Ph,{4,6}:/Cl)
 endfont
 %***************************************************************************
 beginfont("EN:Endosulfan","MW:406.904");
-  MCf(<26,?7,7=?6[13],11*,208~wf`1.45,&8~wb,10=d,@(3,5)O,4:S,4://O,
-      @(8,9,10,11,12^-210,12^-150)/Cl)
+  MCf(<26,?7,7=?6[13],11:@,208~wf`1.45,&8~wb,10=d,{3,5}:O,4:S,4://O,
+      {8,9,10,11,12^-210,12^-150}:/Cl)
 endfont;
 %***************************************************************************
 beginfont("EN:Flutolanil","MW:323.315")
-  MCf(<30,Ph,2:/CF3,3\,//O,!,NH,!,|,Ph,6:/OiPr)
+  MCf(<30,Ph,2:/CF3,3:\,//O,!,NH,!,|,Ph,6:/OiPr)
 endfont
 %***************************************************************************
 beginfont("EN:Propiconazole","MW:342.22")
-  MCf(<-6,?5,$(2,5)d,@(1,3,4)N,
-      4\,!2,Ph,@(-1,-3)/Cl,7*,|,?5,@(1,4)O,3:/!2^24)
+  MCf(<-6,?5,{2,5}=dl,{1,3,4}:N,
+      4:\,!2,Ph,{-1,-3}:/Cl,7:@,|,?5,{1,4}:O,3:/!2^24)
 endfont
 %***************************************************************************
 beginfont("EN:Pencycuron","MW:328.84")
-  MCf(<30,Ph,6:/Cl,3\,!,N,/?5,!,//O,!,NH,!,Ph)
+  MCf(<30,Ph,6:/Cl,3:\,!,N,/?5,!,//O,!,NH,!,Ph)
 endfont
 %***************************************************************************
 beginfont("EN:Asulam","MW:230.238")
-  MCf(<30,Ph,6:/NH2,3\,SOO,!,NH,!,//O,!,O,!)
+  MCf(<30,Ph,6:/NH2,3:\,SOO,!,NH,!,//O,!,O,!)
 endfont
 %***************************************************************************
 beginfont("EN:Oxadiargyl","MW:341.19")
-  MCf(<30,Ph,@(1,3)/Cl,4\,|,?5,2=d,@(1,2)N,4:O,5://O,-3:/tBu,#6\,O,!2,!!!)
+  MCf(<30,Ph,{1,3}:/Cl,4:\,|,?5,2=d,{1,2}:N,4:O,5://O,-3:/tBu,#6:\,O,!2,!!!)
 endfont
 %***************************************************************************
 beginfont("EN:Oxaziclomefone","MW:376.277")
-  MCf(<30,?6,6=dl,4:N,2:O,1:/_,5://O,6:/Ph,4\,/_^35,/_^-35,!,|,Ph,@(3,5)/Cl)
+  MCf(<30,?6,6=dl,4:N,2:O,1:/_,5://O,6:/Ph,4:\,/_^35,/_^-35,!,|,Ph,{3,5}:/Cl)
 endfont
 %***************************************************************************
 beginfont("EN:Cafenstrole","MW:350.437")
-  MCf(<30,Ph,@(2,4,6)/_,3\,SOO,!,|,?5,$(2,5)d,@(2,4,5)N,4\,//O,!,N,/!,!2)
+  MCf(<30,Ph,{2,4,6}:/_,3:\,SOO,!,|,?5,{2,5}=dl,{2,4,5}:N,4:\,//O,!,N,/!,!2)
 endfont
 %***************************************************************************
 beginfont("EN:Cyclosulfamuron","MW:421.428")
   MCf(<30,
-    Ph,5\,//O,!,?3,4\,NH,!,SOO,!,NH,!,//O,!,NH,!,|,Ph,@(2,6)N,@(3,5)/O!)
+    Ph,5:\,//O,!,?3,4:\,NH,!,SOO,!,NH,!,//O,!,NH,!,|,Ph,{2,6}:N,{3,5}:/O!)
 endfont
 %***************************************************************************
 beginfont("EN:Napropamide","MW:271.36")
-  MCf(<-30,Ph,3=Ph,10\,O,!,/_^35,/_^-35,!,//O,!,N,/!,!)
+  MCf(<-30,Ph,3=Ph,10:\,O,!,/_^35,/_^-35,!,//O,!,N,/!,!)
 endfont
 %***************************************************************************
 beginfont("EN:Pyributicarb","MW:330.446")
-  MCf(<30,Ph,5:/tBu,3\,O,!,//S,!,N,/_,!,|,Ph,3:/O!)
+  MCf(<30,Ph,5:/tBu,3:\,O,!,//S,!,N,/_,!,|,Ph,2:N,3:/O!)
 endfont
 %***************************************************************************
 beginfont("EN:Propyzamide","MW:256.126")
-  MCf(<30,Ph,@(1,5)/Cl,3\,//O,!,NH,!,/_^35,/_^-35,!,!!!)
+  MCf(<30,Ph,{1,5}:/Cl,3:\,//O,!,NH,!,/_^35,/_^-35,!,!!!)
 endfont
 %***************************************************************************
 beginfont("EN:Pendimethalin","MW:281.312")
-  MCf(<30,Ph,@(1,2)/_,@(3,5)/NO2,4\,NH,!,/!,!2)
+  MCf(<30,Ph,{1,2}:/_,{3,5}:/NO2,4:\,NH,!,/!,!2)
 endfont
 %***************************************************************************
 beginfont("EN:Benfluralin","MW:335.283")
-  MCf(<30,Ph,@(1,3)/NO2,5:/CF3,2\,N,/!,!4)
+  MCf(<30,Ph,{1,3}:/NO2,5:/CF3,2:\,N,/!,!4)
 endfont
 %***************************************************************************
 beginfont("EN:Trinexapac-ethyl","MW:252.266")
-  MCf(<30,?6,@(2,4)//O,6:/COO!2,3\\,/OH,!,?3)
+  MCf(<30,?6,{2,4}://O,6:/COO!2,3:\\,/OH,!,?3)
 endfont
 %***************************************************************************
 beginfont("EN:Buprofezin","MW:305.44")
-  MCf(<-30,?6,@(1,5)N,3:S,6://O,5:/iPr,4\\,N,!,tBu,1:/Ph)
+  MCf(<-30,?6,{1,5}:N,3:S,6://O,5:/iPr,4:\\,N,!,tBu,1:/Ph)
 endfont
 %***************************************************************************
 beginfont("EN:Tricyclazole","MW:189.236")
-  MCf(<30,Ph,2:/_,|,-4=?5,1:N,3:S,|,-3=?5,$(2,4)d,@(2,3)N)
+  MCf(<30,Ph,2:/_,|,-4=?5,1:N,3:S,|,-3=?5,{2,4}=dl,{2,3}:N)
 endfont
 %***************************************************************************
 beginfont("EN:Phthalide","MW:271.91")
-  MCf(<30,Ph,@(1,2,5,6)/Cl,|,-4=?5,2:O,3://O)
+  MCf(<30,Ph,{1,2,5,6}:/Cl,|,-4=?5,2:O,3://O)
 endfont
 %***************************************************************************
 beginfont("EN:Probenazole","MW:223.246")
-  MCf(<12,Ph,|,-4=?5,-2=dl,1:SOO,2:N,3\,O,!2,!!)
+  MCf(<12,Ph,|,-4=?5,-2=dl,1:S,{1^35,1^-35}://O,2:N,3:\,O,!2,!!)
 endfont
 %***************************************************************************
 beginfont("EN:Simetryn","MW:213.303")
-  MCf(<30,Ph,@(2,4,6)N,5:/S!,@(1,3)/NH!2)
+  MCf(<30,Ph,{2,4,6}:N,5:/S!,{1,3}:/NH!2)
 endfont
 %***************************************************************************
 beginfont("EN:Rifampicin","MW:822.94")
   MCf(<30,Ph,6:/_^30,5:/OH,|,-6=?5,1:O,3://O,2:/*_^60,
-      |,-8=?6,$(2,4)dl,@(1,4)/OH,
-      |<,``1,-2\,NH,60,//O,-60,/_,60~dl,60,60~dl,-60,
+      |,-8=?6,{2,4}=dl,{1,4}:/OH,
+      |<,``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,4}:N,4:/_)
 endfont
 %***************************************************************************
 beginfont("EN:Wortmannin","MW:428.43")
-  MCf(<30,?6,$(-4,-2)?6,-4=?5,(2,7)=?5[3],
-     6:O,1://O,$(7,10)d,8://O,17://O,-3=d,-1:O,
-     @(4,12)*/_^60,11:/*H^-60,
-     #5\*,60,O,!,#14\*^-25,//O,!,O,!)
+  MCf(<30,?6,{-4,-2}=?6,-4=?5,(2,7)=?5[3],
+     6:O,1://O,{7,10}=dl,8://O,17://O,-3=d,-1:O,
+     {4,12}:*/_^60,11:/*H^-60,
+     #5:\*,60,O,!,#14:\*^-25,//O,!,O,!)
 endfont
 %***************************************************************************
 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)/_,
-   ,4*\^75,NH,!,//O,!,/*NH2,!,Ph)
+    {3^45,4^-45}:/*H,1://O^15,5:/*COOH^-18,{6^35,6^-35}:/_,
+   ,4:*\^75,NH,!,//O,!,/*NH2,!,Ph)
 endfont
 %***************************************************************************
 beginfont("EN:Validamycin","MW:497.494")
-  MCf(<30,?6,@(5,6)/OH,3\,-60,OH,
-    #4\,O,-60,|,?6,2:O,@(3,4,5)/OH,6:/!OH,
-    #1\,NH,!,|,?6,2=dl,@(4,5,6)/OH,3:/!OH)
+  MCf(<30,?6,{5,6}:/OH,3:\,-60,OH,
+    #4:\,O,-60,|,?6,2:O,{3,4,5}:/OH,6:/!OH,
+    #1:\,NH,!,|,?6,2=dl,{4,5,6}:/OH,3:/!OH)
 endfont
 %**************************************************************************
 beginfont("EN:Oceltamivir","MW:312.41")
-  MCf(<30,?6,3=d,1:/NH2,3:/COO!2,6:/NHCO!,5\~zf,O,!,/!,!2)
+  MCf(<30,?6,3=d,1:/NH2,3:/COO!2,6:/NHCO!,5:\*,O,!,/!,!2)
 endfont
 %***************************************************************************
 beginfont("EN:Luciferin","MW:280.33")
-  MCf(<30,Ph,3=?5,8\,?5,$(9,16)d,@(9,14)N,@(7,11)S,1:/OH,-2:*/COOH)
+  MCf(<30,Ph,3=?5,8:\,?5,{9,16}=dl,{9,14}:N,{7,11}:S,1:/OH,-2:*/COOH)
 endfont
 %***************************************************************************
 beginfont("EN:Chlorophyll a","MW:893.509")
-MCf(<54,|<,``1,?5,$(2,5)dl,4:N,3\,54~dl,|,?5,$(2,4)dl,5:N,
-   -2\,54~dl,|,?5,2=d,5:N,-2\~dl,54,|,?5,5=d,5:N,-2\~dl,&#5,
-   -1*,24,/*COO!^15,72,//O,&#1,>|,
-   @(2,9,15,20~zf)/_,8:/!,14\,!!,
-   #4\`1.45,Mg,&17,-1*,&11~vb,-1*,&23~vb,
-   #21*,-6~wf,!2,//O,!,O,!2,!!,|,!13,@(1,5,9,13)/_)
+MCf(<54,|<,``1,?5,{2,5}=dl,4:N,3:\,54~dl,|,?5,{2,4}=dl,5:N,
+   -2:\,54~dl,|,?5,2=d,5:N,-2:\~dl,54,|,?5,5=d,5:N,-2:\~dl,&#5,
+   -1:@,24,/*COO!^15,72,//O,&#1,>|,
+   {2,9,15,20~zf}:/_,8:/!,14:\,!!,
+   #4:\`1.45,Mg,&17,-1:@,&11~vb,-1:@,&23~vb,
+   #21:@,-6~wf,!2,//O,!,O,!2,!!,|,!13,{1,5,9,13}:/_)
 endfont
 %**************************************************************************
 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://_,13:*/OH,8:/*OH,14:*/_,@(1^60,4^60)*/H)
+  MCf(<18,?5,3=?7,5=?6[12],8:@,160`1.3,&3,13=dl,6=wf,8=wb,
+     5:@,40~zf`1,O,50,//O^180,&14~zb,
+     2:/COOH,7://_,13:*/OH,8:/*OH,14:*/_,{1^60,4^60}:*/H)
 endfont;
 %**************************************************************************
 beginfont("EN:Cholesterol","MW:386.664")
-  MCf(<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,/_,!)
+  MCf(<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")
-  MCf(<30,Ph,-4=?6,-2=?6,6=?5,(9,12)=?5[3],13=dl,8:N,@(15,17)O,
+  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","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)
+  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","MW:536.888")
-  MCf(<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=d,@(6,2^35,2^-35)/_)
+  MCf(<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")
-  MCf(<30,Ph,3=?6,7:O,@(1,2,5)/_,8:/*_^60,6:/OH,8\,|,!12,@(4,8)/*_,12:/_)
+  MCf(<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")
-  MCf(<30,Ph,3=?6,9\,Ph,9=dl,10:O,7://O,@(2,6,8,13,14)/OH)
+  MCf(<30,Ph,3=?6,9:\,Ph,9=dl,10:O,7://O,{2,6,8,13,14}:/OH)
 endfont
 %***************************************************************************
 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)/_,@(1^60,5^180,16^60)/*H,
-      14\*,|,?5,$(1,4)dl,3:O)
+  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}:/_,{1^60,5^180,16^60}:/*H,
+      14:\*,|,?5,{1,4}=dl,3:O)
 endfont
 %**************************************************************************
 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)
+    #2:\,O,!2,/OH,!2,O,60,Ph,|,-5=?6,3=dl,4:O,1://O,3:/COOH)
 endfont
 %**************************************************************************
 beginfont("EN:Emetine","MW:480.649")
-  MCf(<30,Ph,$(-4,-4)?6,8:N,@(1,6)/O!,-2:/*!,@(7^-60,12^-60)/*H,
-     -3\,!~zb,<-60,|,?6,5=d,2:NH,-6^-60:*/H,|,-2=?6,$(2,4)dl,@(-2,-3)/O!)
+  MCf(<30,Ph,{-4,-4}=?6,
+      8:N,{1,6}:/O!,-2:/*!,{7^-60,12^-60}:/*H,
+     -3:\,!~zb,<-60,|,?6,5=d,2:NH,-6^-60:*/H,|,-2=?6,{2,4}=dl,{-2,-3}:/O!)
 endfont
 %***************************************************************************
 beginfont("EN:Colchicine","MW:399.443")
-  MCf(<30,Ph,@(1,2,6)/O!,-4=?7,-5=?7,$(-1,-4,-6)dl,-2://O,-3:/O!,
-     9\,NH,!,//O,!)
+  MCf(<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")
-  MCf(<30,?6,3=d,@(2,6)N,@(2,6)/_,@(1,5)//O,|,-4=?5,2=dl,@(1,3)N,3:/_)
+  MCf(<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")
@@ -288,104 +290,104 @@
 endfont
 %***************************************************************************
 beginfont("EN:Ibotenic acid","MW:158.113")
-  MCf(<18,?5,4=d,3:O,2:NH,1://O,4\^-24,/NH2,!,COOH)
+  MCf(<18,?5,4=d,3:O,2:NH,1://O,4:@,-24,/NH2,!,COOH)
 endfont
 %**************************************************************************
 beginfont("EN:Piperine","MW:285.343")
-  MCf(<30,Ph,|,-1=?5,@(1,3)O,#4\,!!,!,!!,!,//O,!,|,?6,1:N)
+  MCf(<30,Ph,|,-1=?5,{1,3}:O,#4:\,!!,!,!!,!,//O,!,|,?6,1:N)
 endfont
 %***************************************************************************
 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)
+  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","MW:334.332")
-  MCf(<30,?6,$(3,6)dl,@(2,5)//O,1:/_,|,-4=?5,1:N,
+  MCf(<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\`1^17.9,!,O,!,//O,!,NH2)
+     #8:/*O!^35,#9:@,17.9`1,!,O,!,//O,!,NH2)
 endfont
 %***************************************************************************
 beginfont("EN:Podophyllotoxin","MW:414.41");
-  MCf(<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)
+  MCf(<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)
 endfont;
 %***************************************************************************
 beginfont("EN:Warfarin","MW:308.333");
-  MCf(<30,Ph,3=?6,8=dl,10:O,7:/OH,9://O,8\,/Ph`1,60,!,//O,!)
+  MCf(<30,Ph,3=?6,8=dl,10:O,7:/OH,9://O,8:\,/Ph`1,60,!,//O,!)
 endfont;
 %***************************************************************************
 beginfont("EN:Genistein","MW:270.24");
-  MCf(<30,Ph,3=?6,9=dl,10:O,@(2,6)/OH,7://O,8\,Ph,-3:/OH)
+  MCf(<30,Ph,3=?6,9=dl,10:O,{2,6}:/OH,7://O,8:\,Ph,-3:/OH)
 endfont;
 %***************************************************************************
 beginfont("EN:Baicalein","MW:270.24");
-  MCf(<30,Ph,3=?6,9=dl,10:O,@(1,2,6)/OH,7://O,8\,Ph)
+  MCf(<30,Ph,3=?6,9=dl,10:O,{1,2,6}:/OH,7://O,8:\,Ph)
 endfont;
 %***************************************************************************
 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)/O!,@(#1,#19~zf>rl)/O!,
-    #18*\,//O,!,O,!)
+    {15^-60,16^60}:/*H,
+    #20:*\,O,!,//O,!,|,Ph,{-2,-3,-4}:/O!,{#1,#19~zf>rl}:/O!,
+    #18:*\,//O,!,O,!)
 endfont;
 %***************************************************************************
 beginfont("EN:Nicotine","MW:162.23");
-  MCf(<30,Ph,2:N,4\,|,?5,2:N,2:/_)
+  MCf(<30,Ph,2:N,4:\,|,?5,2:N,2:/_)
 endfont;
 %***************************************************************************
 beginfont("EN:Rotenone","MW:394.423");
-  MCf(<-60,?5,$(-3,-2,-3,-4)?6,$(7,9,-2,-4)d,$(3,17)dr,
-   @(2,13,16)O,10://O,@(11^-60,12^60)*/H,@(-2,-3)/O!,1*\,/_,!!)
+  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}:/O!,1:*\,/_,!!)
 endfont;
 %***************************************************************************
 beginfont("EN:Pyrethrin I","MW:328.452");
-  MCf(<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)d)
+  MCf(<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)
 endfont;
 %***************************************************************************
 beginfont("EN:Erythromycin","MW:733.937");
 MCf(<30,|<,``1,<-120,60,60,60,-60,60,60,-60,60,60,60,-60,60,60,>|,&1,
-    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:/NMe!)
+    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:/NMe!)
 endfont;
 %**************************************************************************
 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)/_,@(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)
+  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}:/_,{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)
 endfont
 %**************************************************************************
 beginfont("EN:Mevastatin","MW:390.52")
   MCf(<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)
+     #10:*\,!,60~wb,|,?6,6:O,-2://O,-4:/*OH,#5:\*,O,60,//O,!,*/_,!2)
 endfont
 %***************************************************************************
 beginfont("EN:Sesamine","MW:354.35")
-  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)
+  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","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,/_,&9~wb,
+    7:@,60~wf`0.75,70~si_`1.3,45,N,/_,&9~wb,
     15=d,6:/OH,8^180:*/H,12:/*OH)
 endfont
 %**************************************************************************
 beginfont("EN:Capsaicin","MW:305.418")
-  MCf(<30,Ph,1:/OH,6:/O!,4\,!,NH,!,//O,|,!8,-3=d,-1:/_)
+  MCf(<30,Ph,1:/OH,6:/O!,4:\,!,NH,!,//O,|,!8,-3=d,-1:/_)
 endfont
 %***************************************************************************
 beginfont("EN:Quinine","MW:324.424")
   MCf(<30,Ph,3=Ph,7:N,6:/O!,
-    10\,*/OH,/H~zf^-60,!,|,?6,2:N,1:*/H^60,4*\,!!,2*,165~zf,60,&5~zb)
+    10:\,*/OH,/H~zf^-60,!,|,?6,2:N,1:*/H^60,4:*\,!!,2:@,165~zf,60,&5~zb)
 endfont
 %***************************************************************************
 beginfont("EN:Atoropin","MW:289.375")
   MCf(<-30,O,!,//O,!,!,Ph,
-     #1\~zb^-120,|,?7`1.1,6*\^190`1.25,N,/_,&3~wb,#3:/!OH~wv)
+     #1:\~zb^-120,|,?7`1.1,6:*\^190`1.25,N,/_,&3~wb,#3:/!OH~wv)
 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_man_soc.mf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc.mf	2017-06-05 23:09:09 UTC (rev 44467)
+++ trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc.mf	2017-06-05 23:09:24 UTC (rev 44468)
@@ -1,7 +1,7 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Molecular Coding Format file for mcf_manual.tex  by Akira.Yamaji 2017.05.03
+% Molecular Coding Format file for mcf_manual.tex  by Akira.Yamaji 2017.05.24
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-input mcf2graph.mf;   %% it must be version 4.21 or later
+input mcf2graph.mf;   %% it must be version 4.23 or later
 %------------------------------------------------------------------------
 sw_auxout:=0;
 sw_mol_frame:=0;
@@ -27,11 +27,11 @@
 endfont
 %***********************************************************************
 beginfont("EN:Leucine")
-  MCf(<30,NH2,!0,!,COOH,2\,!,/_,!)
+  MCf(<30,NH2,!0,!,COOH,2:\,!,/_,!)
 endfont
 %***********************************************************************
 beginfont("EN:Isoleucine")
-  MCf(<30,NH2,!0,!,COOH,2\,/_,!2)
+  MCf(<30,NH2,!0,!,COOH,2:\,/_,!2)
 endfont
 %***********************************************************************
 beginfont("EN:Serine")
@@ -39,7 +39,7 @@
 endfont
 %***********************************************************************
 beginfont("EN:Threonine")
-  MCf(<30,NH2,!0,!,COOH,2\,/_,!,OH)
+  MCf(<30,NH2,!0,!,COOH,2:\,/_,!,OH)
 endfont
 %***********************************************************************
 beginfont("EN:Cysteine")
@@ -47,7 +47,7 @@
 endfont
 %***********************************************************************
 beginfont("EN:Methionine")
-  MCf(<30,NH2,!0,!,COOH,2\,!2,SMe)
+  MCf(<30,NH2,!0,!,COOH,2:\,!2,SMe)
 endfont
 %***********************************************************************
 beginfont("EN:Phenylalanine")
@@ -55,11 +55,11 @@
 endfont
 %***********************************************************************
 beginfont("EN:Tyrosine")
-  MCf(<30,NH2,!0,!,COOH,2\,!,Ph,-3:/OH)
+  MCf(<30,NH2,!0,!,COOH,2:\,!,Ph,-3:/OH)
 endfont
 %***********************************************************************
 beginfont("EN:Triptophan")
-  MCf(<30,NH2,!0,!,COOH,2\,!,<24,|,?5,-4=Ph,2=dr,5=dl,4:NH)
+  MCf(<30,NH2,!0,!,COOH,2:\,!,<24,|,?5,-4=Ph,2=dr,5=dl,4:NH)
 endfont
 %***********************************************************************
 beginfont("EN:Prorine")
@@ -67,11 +67,11 @@
 endfont
 %***********************************************************************
 beginfont("EN:Glutamine")
-  MCf(<30,NH2,!0,!,COOH,2\`1,-45,-45,//O,!,NH2)
+  MCf(<30,NH2,!0,!,COOH,2:\`1,-45,-45,//O,!,NH2)
 endfont
 %***********************************************************************
 beginfont("EN:Asparagine")
-  MCf(<30,NH2,!0,!,COOH,2\,!,//O,!,NH2)
+  MCf(<30,NH2,!0,!,COOH,2:\,!,//O,!,NH2)
 endfont
 %***********************************************************************
 beginfont("EN:Aspartic acid")
@@ -79,19 +79,19 @@
 endfont
 %***********************************************************************
 beginfont("EN:Glutamic acid")
-  MCf(<30,NH2,!0,!,COOH,2\,!2,COOH)
+  MCf(<30,NH2,!0,!,COOH,2:\,!2,COOH)
 endfont
 %***********************************************************************
 beginfont("EN:Lysine")
-  MCf(<30,NH2,!0,!,COOH,2\,!4,NH2)
+  MCf(<30,NH2,!0,!,COOH,2:\,!4,NH2)
 endfont
 %***********************************************************************
 beginfont("EN:Arginine")
-  MCf(<30,NH2,!0,!,COOH,2\,-45,-45,60,NH,!,//NH,!,NH2)
+  MCf(<30,NH2,!0,!,COOH,2:\,-45,-45,60,NH,!,//NH,!,NH2)
 endfont
 %***********************************************************************
 beginfont("EN:Hystidine")
-  MCf(<30,NH2,!0,!,COOH,2\,!,|,?5,$(1,3)dl,3:N,5:NH)
+  MCf(<30,NH2,!0,!,COOH,2:\,!,|,?5,{1,3}=dl,3:N,5:NH)
 endfont
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 font_wd:=60mm;
@@ -112,7 +112,7 @@
   ratio_chain_ring:=1;
 %----------------------------------------------------------------------
   MCf(<30,-60,60,-90,120,-90,60,
-       @(1^-60,2^60,3^-45,4^30,5^-45,6^60)/_~dt`.4
+       {1^-60,2^60,3^-45,4^30,5^-45,6^60}:/_~dt`.4
      )
 endfont
 %***********************************************************************
@@ -123,7 +123,7 @@
   ratio_chain_ring:=1;
 %----------------------------------------------------------------------
   MCf(<30,!6,
-       @(1^-60,2^60,3^-60,4^60,5^-60,6^60)/_~dt`.6
+       {1^-60,2^60,3^-60,4^60,5^-60,6^60}:/_~dt`.6
      )
 endfont
 %***********************************************************************
@@ -134,7 +134,7 @@
   sw_numberA:=1;
   ratio_chain_ring:=1;
 %----------------------------------------------------------------------
-  MCf(<30,!6,3*,0,!,5*,-30)
+  MCf(<30,!6,3:@,0,!,5:@,-30)
 endfont
 %***********************************************************************
 beginfont("EN:Jump and Branch")
@@ -144,7 +144,7 @@
   sw_clip:=1;
   ratio_chain_ring:=1;
 %----------------------------------------------------------------------
-  MCf(<30,!6,3\,!)
+  MCf(<30,!6,3:\,!)
 endfont
 %***********************************************************************
 beginfont("EN:branch1")
@@ -155,7 +155,7 @@
   numberA_end:=9;
   ratio_chain_ring:=1;
 %----------------------------------------------------------------------
-  MCf(<-30,!8,2\,!,4*\,!,6\*,!,8\\,!)
+  MCf(<-30,!8,2:\,!,4:*\,!,6:\*,!,8:\\,!)
 endfont
 %***********************************************************************
 beginfont("EN:branch2")
@@ -166,7 +166,7 @@
   numberA_end:=7;
   ratio_chain_ring:=1;
 %----------------------------------------------------------------------
-  MCf(<-30,!6,2\~dr,!,4\`1.5,-90,6\^15,-60)
+  MCf(<-30,!6,2:\~dr,!,4:\`1.5,-90,6:@,15,-60)
 endfont
 %***********************************************************************
 beginfont("EN:Connect atom")
@@ -176,7 +176,7 @@
   sw_numberA:=1;
   ratio_chain_ring:=1;
 %----------------------------------------------------------------------
-  MCf(<30,!6,3\,!,&5)
+  MCf(<30,!6,3:\,!,&5)
 endfont
 %***********************************************************************
 beginfont("EN:ring")
@@ -194,7 +194,7 @@
   sw_clip:=1;
   sw_numberB:=1;
   numberB_end:=5;
-  MCf(``1,0,0,<90,0,<-90,0,0,$(1,2,3,4,5)vf,@(3,4^180)/_~dt`.5)
+  MCf(``1,0,0,<90,0,<-90,0,0,{1,2,3,4,5}=vf,{3,4^180}:/_~dt`.5)
 endfont
 %***********************************************************************
 beginfont("EN:change bond 1")
@@ -249,7 +249,7 @@
   margin_top_bottom:=3mm;
   sw_clip:=1;
   ratio_chain_ring:=1;
-  MCf(<30,!7,$(2,4,6)dr)
+  MCf(<30,!7,{2,4,6}=dr)
 endfont
 %***********************************************************************
 beginfont("EN:over line")
@@ -256,7 +256,7 @@
   sw_clip:=1;
   font_ht:=20mm;
   ratio_chain_ring:=1;
-  MCf(<-30,!8,!,60,90`8,@(2~si_,4~wf_,6~wb_,8~bd_)/_`2)
+  MCf(<-30,!8,!,60,90`8,{2~si_,4~wf_,6~wb_,8~bd_}:/_`2)
 endfont
 %***********************************************************************
 beginfont("EN:change bond length1")
@@ -276,7 +276,7 @@
   font_ht:=20mm;
   sw_clip:=1;
   sw_numberB:=1;
-  MCf(?6,4\,?6`1.2)
+  MCf(?6,4:\,?6`1.2)
 endfont
 %***********************************************************************
 beginfont("EN:Insert atom")
@@ -287,41 +287,41 @@
 %***********************************************************************
 beginfont("EN:change atom")
   font_ht:=18mm;
-  MCa(.5,1)(<30,!6,2:O,@(3,5)N)
+  MCa(.5,1)(<30,!6,2:O,{3,5}:N)
   sw_numberA:=1;
-  MCa(.5,.05)(<30,!6,2:O,@(3,5)N)
+  MCa(.5,.05)(<30,!6,2:O,{3,5}:N)
 endfont
 %***********************************************************************
 beginfont("EN:change atom brock address 1")
   font_wd:=70mm;
   font_ht:=15mm;
-  MCa(0,.5)(?6,4\,|,?6,2:O)
+  MCa(0,.5)(?6,4:\,|,?6,2:O)
   sw_numberA:=1;
-  MCd(1,.88)(1,.5)(?6,4\,?6)
+  MCd(1,.88)(1,.5)(?6,4:\,?6)
 endfont
 %***********************************************************************
 beginfont("EN:change atom brock address 2")
   font_wd:=70mm;
   font_ht:=15mm;
-  MCa(0,.5)(?6,4\,|,?6,||,2:N)
+  MCa(0,.5)(?6,4:\,|,?6,||,2:N)
   sw_numberA:=1;
-  MCd(1,.88)(1,.5)(?6,4\,?6)
+  MCd(1,.88)(1,.5)(?6,4:\,?6)
 endfont
 %***********************************************************************
 beginfont("EN:change atom absolute address")
   font_wd:=70mm;
   font_ht:=15mm;
-  MCa(0,.5)(?6,4\,?6,#2:N)
+  MCa(0,.5)(?6,4:\,?6,#2:N)
   sw_numberA:=1;
-  MCd(1,.88)(1,.5)(?6,4\,?6)
+  MCd(1,.88)(1,.5)(?6,4:\,?6)
 endfont
 %***********************************************************************
 beginfont("EN:change atom relative adress")
   font_wd:=70mm;
   font_ht:=15mm;
-  MCa(0,.5)(?6,4\,?6,-2:N)
+  MCa(0,.5)(?6,4:\,?6,-2:N)
   sw_numberA:=3;
-  MCd(1,.88)(1,.5)(?6,4\,?6)
+  MCd(1,.88)(1,.5)(?6,4:\,?6)
 endfont
 %***********************************************************************
 beginfont("EN:fused ring")
@@ -329,7 +329,7 @@
   margin_top_bottom:=1.5mm;
   sw_clip:=1;
   sw_numberB:=1;
-  MCf(<30,?6,3=?6,$(3)dt,$(7,8,9,10,11)bd)
+  MCf(<30,?6,3=?6,3=dt,{7,8,9,10,11}=bd)
 endfont
 %-----------------------------------------------------------------------
 beginfont("EN:change ring length")
@@ -337,7 +337,8 @@
   font_ht:=25mm;
   sw_clip:=1;
   sw_numberB:=1;
-  MCf(?6,4\,?6`1.2,5=?6,11=?6,$(14,15,16,17,18,19,20,21,22,23)bd,$(5,11)dt)
+  MCf(?6,4:\,?6`1.2,5=?6,11=?6,
+      {14,15,16,17,18,19,20,21,22,23}=bd,{5,11}=dt)
 endfont
 %-----------------------------------------------------------------------
 beginfont("EN:fused large 6 ring")
@@ -345,7 +346,7 @@
   margin_top_bottom:=1.5mm;
   sw_numberB:=1;
   sw_clip:=1;
-  MCf(<30,?6,3=?6[13],$(3)dt,$(7,8,9,10,11)bd)
+  MCf(<30,?6,3=?6[13],3=dt,{7,8,9,10,11}=bd)
 endfont
 %-----------------------------------------------------------------------
 beginfont("EN:fuse multi ring")
@@ -353,7 +354,7 @@
   font_ht:=20mm;
   sw_numberB:=1;
   sw_clip:=1;
-  MCf(<30,?6,$(-3,-4,-4,-2,-2,-4,-4)?6,$(4,8,13,20,25,28,33)dt)
+  MCf(<30,?6,{-3,-4,-4,-2,-2,-4,-4}=?6,{4,8,13,20,25,28,33}=dt)
 endfont
 %***********************************************************************
 beginfont("EN:fused ring 2")
@@ -360,9 +361,9 @@
   font_wd:=75mm;
   font_ht:=20mm;
   sw_numberB:=1;
-  MCa( 0,.5)(<30,?6,3=?6,(11,4)=?6[4],$(11,4)dt,$(12,13,14,15)bd)
-  MCd(1,.9)(.5,.5)(<30,?6,3=?6,(11,4)=?5[3],$(11,4)dt,$(12,13,14)bd)
-  MCd(1,.9)( 1,.5)(<30,?6,3=?6,(11,4)=?4[2],$(11,4)dt,$(12,13)bd)
+  MCa( 0,.5)(<30,?6,3=?6,(11,4)=?6[4],{11,4}=dt,{12,13,14,15}=bd)
+  MCd(1,.9)(.5,.5)(<30,?6,3=?6,(11,4)=?5[3],{11,4}=dt,{12,13,14}=bd)
+  MCd(1,.9)( 1,.5)(<30,?6,3=?6,(11,4)=?4[2],{11,4}=dt,{12,13}=bd)
 endfont
 %***********************************************************************
 beginfont("EN:fused ring 3")
@@ -369,8 +370,8 @@
   font_ht:=20mm;
   margin_top_bottom:=2mm;
   sw_numberB:=1;
-  MCa(0,1)(?6,$(3,10)?6,(16,4)=?6[3],$(16,4)dt,$(17,18,19)bd)
-  MCa(1,0)(?6,$(3,10)?6,(16,4)=?5[2],$(16,4)dt,$(17,18)bd)
+  MCa(0,1)(?6,{3,10}=?6,(16,4)=?6[3],{16,4}=dt,{17,18,19}=bd)
+  MCa(1,0)(?6,{3,10}=?6,(16,4)=?5[2],{16,4}=dt,{17,18}=bd)
 endfont
 %***********************************************************************
 beginfont("EN:fused ring 4")
@@ -378,7 +379,7 @@
   font_ht:=22mm;
   margin_top_bottom:=2mm;
   sw_numberB:=1;
-  MCf(<-30,?6,$(3,10,15)?6,(21,4)=?6[2],$(21,4)dt,$(22,23)bd)
+  MCf(<-30,?6,{3,10,15}=?6,(21,4)=?6[2],{21,4}=dt,{22,23}=bd)
 endfont
 %***********************************************************************
 beginfont("EN:Spiro ring ")
@@ -388,7 +389,7 @@
   sw_numberA:=1;
   numberA_end:=7;
   ratio_chain_ring:=1;
-  MCf(<30,!6,4*,?5)
+  MCf(<30,!6,4:@,?5)
 endfont
 %***********************************************************************
 beginfont("EN:substituent 1")
@@ -424,7 +425,7 @@
   sw_clip:=1;
   margin_top_bottom:=2mm;
   sw_numberA:=1; numberA_end:=7;
-  MCf(<-30,!6`1,@(2~wf,4~zf,6^-30)/_)
+  MCf(<-30,!6`1,{2~wf,4~zf,6^-30}:/_)
 endfont
 %***********************************************************************
 beginfont("EN:substituent 5")
@@ -432,7 +433,7 @@
   margin_top_bottom:=2mm;
   sw_clip:=1;
   sw_numberA:=1; numberA_end:=8;
-  MCf(<30,!7`1,@(3)/*_`2^30,5:*/!2>lr,7:*/!2>rl)
+  MCf(<30,!7`1,3:/*_`2^30,5:*/!2>lr,7:*/!2>rl)
 endfont
 %***********************************************************************
 beginfont("EN:chain strech direction mode 1")
@@ -440,8 +441,8 @@
   sw_clip:=1;
   ratio_chain_ring:=1;
   MCf(
-  ?4,@(3^-90,3^-30,3^90)/'(!3,"{hz}")>hz,
-     @(1^-60,1`1.5,1^60)/'(!2,"{vt}")>vt
+  ?4,{3^-90,3^-30,3^90}:/'(!3,"{hz}")>hz,
+     {1^-60,1`1.5,1^60}:/'(!2,"{vt}")>vt
   )
 endfont
 %***********************************************************************
@@ -450,8 +451,8 @@
   sw_clip:=1;
   ratio_chain_ring:=1;
   MCf(
-  <30,!6,@(3^-30,3,3^30)/'(!,!,!,"{lr}")>lr,
-          @(5^-30,5,5^30)/'(!,!,!,"{rl}")>rl
+  <30,!6,{3^-30,3,3^30}:/'(!,!,!,"{lr}")>lr,
+         {5^-30,5,5^30}:/'(!,!,!,"{rl}")>rl
   )
 endfont
 %***********************************************************************
@@ -459,8 +460,8 @@
   font_ht:=25mm;
   sw_clip:=1;
   ratio_chain_ring:=1;
-  MCf(<-30,!6,@(6>45)/'(!3,"{45}"),
-               @(3>'(90,-90,90))/'(!3,"{'(90,-90,90)}")
+  MCf(<-30,!6,{6>45}:/'(!3,"{45}"),
+              {3>'(90,-90,90)}:/'(!3,"{'(90,-90,90)}")
   )
 endfont
 %***********************************************************************
@@ -474,7 +475,7 @@
   font_ht:=20mm;
   sw_clip:=1;
   margin_left_right:=5mm;
-  MCf(<30,Ph,@(2,5)N,2:red,5:blue,3=green)
+  MCf(<30,Ph,{2,5}:N,2:red,5:blue,3=green)
 endfont
 %***********************************************************************
 beginfont("EN:Make brock")
@@ -502,7 +503,7 @@
   font_ht:=15mm;
   sw_clip:=1;
   iBuOH:='(!,/_,!,OH);
-  MCf(<30,?6,@(4,6)/iBuOH)
+  MCf(<30,?6,{4,6}:/iBuOH)
 endfont
 %***********************************************************************
 beginfont("EN:Inline definition")
@@ -517,8 +518,8 @@
   font_ht:=20mm;%
   sw_font_frame:=1;
   MCf(<30,
-   ?6,-4=?5,$(3,8)dl,@(2,6,7,9)N,
-     @(2,6,9)/_,@(1,5)//O)
+   ?6,-4=?5,{3,8}=dl,{2,6,7,9}:N,
+     {2,6,9}:/_,{1,5}://O)
 endfont
 %***********************************************************************
 beginfont("EN:margin_left_right")
@@ -564,11 +565,11 @@
 beginfont("EN:offset_atom")
   font_ht:=14mm;
   offset_atom:=0.0pt;
-  MCa(0.08, .5)(<30,?6,@(3)O)
+  MCa(0.08, .5)(<30,?6,3:O)
   offset_atom:=0.8pt;   %<<== default
-  MCa(.5, .5)(<30,?6,@(3)O)
+  MCa(.5, .5)(<30,?6,3:O)
   offset_atom:=2.0pt;
-  MCa(0.92, .5)(<30,?6,@(3)O)
+  MCa(0.92, .5)(<30,?6,3:O)
 endfont
 %***********************************************************************
 beginfont("EN:offset_wedge") 
@@ -576,7 +577,7 @@
   font_ht:=14mm;
   MCa(0.08, .5)(<30,?6,5:*/_)
   offset_wedge:=0.4pt;       %<<== default
-  MCa(.5, .5)(<30,?6,5:*/_)
+  MCa(  .5, .5)(<30,?6,5:*/_)
   offset_wedge:=1.0pt;
   MCa(0.92, .5)(<30,?6,5:*/_)
 endfont
@@ -587,7 +588,7 @@
   max_bond_length:=6mm;
   MCa(0, .5)(<30,Ph)
   max_bond_length:=8mm;
-  MCa(.4, .5)(<30,Ph)
+  MCa(.4,.5)(<30,Ph)
   max_bond_length:=20mm;   %<<== default
   MCa(1, .5)(<30,Ph)
 endfont
@@ -625,11 +626,11 @@
 beginfont("EN:ratio_atom_bond")
   font_ht:=15mm;
   ratio_atom_bond:=0.25;
-  MCa(0.08, .5)(<30,?6,@(3)O)
+  MCa(0.08, .5)(<30,?6,3:O)
   ratio_atom_bond:=0.33;   %<<== default
-  MCa(.5, .5)(<30,?6,@(3)O)
+  MCa(.5, .5)(<30,?6,3:O)
   ratio_atom_bond:=0.45;
-  MCa(0.92, .5)(<30,?6,@(3)O)
+  MCa(0.92, .5)(<30,?6,3:O)
 endfont
 %***********************************************************************
 beginfont("EN:ratio_wedge_bond")
@@ -646,11 +647,11 @@
   font_ht:=8mm;
   sw_atom_frame:=1;
   ratio_atomgap_atom:=0.00;
-  MCa(0, .5)(<-30,!2,@(2)O)
+  MCa(0, .5)(<-30,!2,2:O)
   ratio_atomgap_atom:=0.050;    %<<== default
-  MCa(.5, .5)(<-30,!2,@(2)O)
+  MCa(.5, .5)(<-30,!2,2:O)
   ratio_atomgap_atom:=0.12;
-  MCa(1, .5)(<-30,!2,@(2)O)
+  MCa(1, .5)(<-30,!2,2:O)
 endfont
 %***********************************************************************
 beginfont("EN:ratio_chain_ring")
@@ -900,7 +901,7 @@
   font_ht:=30mm;
   ratio_bond_width:=0.065;
   sw_solid:=1;
-  MCa(0.1,0.5)(<-210,60`1,60`1,60`1,$(1,3)dl,1:/R1,4:/R2^-60)
+  MCa(0.1,0.5)(<-210,60`1,60`1,60`1,{1,3}=dl,1:/R1,4:/R2^-60)
   ext(
    defaultscale:=0.6;
    label.bot("Diene",p0+(0.5wd,0));
@@ -924,8 +925,9 @@
   font_ht:=20mm;
   MCd(1,0.7)(0,0.5)(<30,?6,3=dl,4:/CH3)
   ext(
+    B7:=0.37[Bs7,Be7];
     label.top("+",A7);
-    drawarrow B3..((B7-B3) scaled 0.7 rotated -45 shifted B3)..B7;
+    drawarrow B3..((B7-B3) scaled 0.6 rotated -45 shifted B3)..B7;
   )
   MCd(1,0.7)(1,0.5)(<30,?6,4://CH3)
   ext(
@@ -938,7 +940,7 @@
 %***************************************************************************
 beginfont("EN:Acetamiprid","MW:222.676")
   font_ht:=20mm;
-  MCf(<30,Ph,2:N,1:/Cl,4\,!,N,/_,!,/_,!!,N,!,CN)
+  MCf(<30,Ph,2:N,1:/Cl,4:\,!,N,/_,!,/_,!!,N,!,CN)
 endfont
 %***************************************************************************
 beginfont("EN:Fenitrothion","MW:277.231")
@@ -948,51 +950,51 @@
 %***************************************************************************
 beginfont("EN:Permethrin","MW:391.288")
   font_ht:=25mm;
-  MCf(<-30,?3,2^-35:*/_,2^35:/*_,1\,!!,/Cl,!,Cl,
-     3\,//O,!,O,!2,|,Ph,3\,O,-60,Ph)
+  MCf(<-30,?3,2^-35:*/_,2^35:/*_,1:\,!!,/Cl,!,Cl,
+     3:\,//O,!,O,!2,Ph,-4:\,O,-60,Ph)
 endfont
 %***************************************************************************
 beginfont("EN:Endosulfan","MW:406.904");
   font_ht:=25mm;
-  MCf(<26,?7,7=?6[13],11*,208~wf`1.45,&8~wb,10=d,@(3,5)O,4:S,4://O,
-      @(8,9,10,11,12^-210,12^-150)/Cl)
+  MCf(<26,?7,7=?6[13],11:@,208~wf`1.45,&8~wb,10=d,{3,5}:O,4:S,4://O,
+      {8,9,10,11,12^-210,12^-150}:/Cl)
 endfont;
 %***************************************************************************
 beginfont("EN:Luciferin","MW:280.33")
-  MCf(<30,Ph,3=?5,8\,?5,$(9,16)d,
-   @(9,14)N,@(7,11)S,1:/OH,-2:*/COOH)
+  MCf(<30,Ph,3=?5,8:\,?5,{9,16}=dl,
+   {9,14}:N,{7,11}:S,1:/OH,-2:*/COOH)
 endfont
 %***************************************************************************
 beginfont("EN:Warfarin","CAS:81-81-2","FM:C19H16O4","MW:308.33")
   font_ht:=25mm;
-   MCf(<30,Ph,3=?6,8=dl,10:O,7:/OH,9://O,8\,/Ph`1,60,!,//O,!)
+   MCf(<30,Ph,3=?6,8=dl,10:O,7:/OH,9://O,8:\,/Ph`1,60,!,//O,!)
 endfont
 %***************************************************************************
 beginfont("EN:Limonin")
   font_ht:=30mm;
-  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)/_,@(1^60,5^180,16^60)/*H,
-      14\*,|,?5,$(1,4)dl,3:O)
+  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}:/_,{1^60,5^180,16^60}:/*H,
+      14:\*,|,?5,{1,4}=dl,3:O)
 endfont
 %***************************************************************************
 beginfont("EN:Sesamine")
   font_ht:=25mm;
-  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)
+  MCf(<54,?5,1=?5,{4,7}:O,{1^-54,2^54}:*/H,
+   #5:*\^-12,Ph,-3=?5,{-1,-3}:O,8:*\^-12,Ph,-3=?5,{-1,-3}:O)
 endfont
 %***************************************************************************
 beginfont("EN:Colchicine","CAS:477-27-0","FM:C21H23NO6","MW:385.41")
   font_ht:=25mm;
-  MCf(<30,Ph,@(1,2,6)/O!,|,-4=?7,
-     |,-5=?7,$(-1,-4,-6)dl,-2://O,-3:/O!,
-     #9\,NH,!,//O,!)
+  MCf(<30,Ph,{1,2,6}:/O!,|,-4=?7,
+     |,-5=?7,{-1,-4,-6}=dl,-2://O,-3:/O!,
+     #9:\,NH,!,//O,!)
 endfont
 %***************************************************************************
 beginfont("EN:Lycorine","CAS:476-28-8","FM:C16H17NO4","MW:287.31")
   font_ht:=25mm;
   MCf(<30,
-    Ph,-4=?6,-2=?6,6=?5,(9,12)=?5[3],13=dl,8:N,@(15,17)O,
+    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
@@ -999,65 +1001,64 @@
 %***********************************************************************
 beginfont("EN:Gibberellin A3","CAS:77-06-5","FM:C19H22O6","MW:346.37");
   font_ht:=20mm;
-  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://_,13:*/OH,8:/*OH,14:*/_,@(1^60,4^60)*/H)
+  MCf(<18,?5,3=?7,5=?6[12],8:@,160`1.3,&3,13=dl,6=wf,8=wb,
+     5:@,40~zf`1,O,50,//O^180,&14~zb,
+     2:/COOH,7://_,13:*/OH,8:/*OH,14:*/_,{1^60,4^60}:*/H)
 endfont
 %***************************************************************************
 beginfont("EN:Quinine","CAS:130-95-0","FM:C20H24N2O2","MW:324.42")
   font_ht:=25mm;
   MCf(<30,Ph,3=Ph,7:N,6:/O!,
-    10\,*/OH,/H~zf^-60,!,|,?6,2:N,1:*/H^60,4*\,!!,2*,165~zf,60,&5~zb)
+      10:\,*/OH,/H~zf^-60,!,|,?6,2:N,1:*/H^60,4:*\,!!,2:@,165~zf,60,&5~zb)
 endfont
 %***************************************************************************
 beginfont("EN:Atoropin","CAS:51-55-8","FM:C17H23NO3","MW:289.37")
   font_ht:=25mm;
   MCf(<-30,O,!,//O,!,!,Ph,
-     #1\~zb^-120,|,?7,6*\^190`1.12,N,/_,&3~wb,#3\~wv,!,OH)
+     #1:@,-120~zb,|,?7,6:*\^190`1.12,N,/_,&3~wb,#3:\~wv,!,OH)
 endfont
 %***************************************************************************
 beginfont("EN:Rotenone");
   font_ht:=30mm;
-  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)/O!,1*\,/_,!!)
+  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}:/O!,1:*\,/_,!!)
 endfont;
 %***************************************************************************
 beginfont("EN:Pyrethrin I");
-  MCf(<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)
+  MCf(<30,?3,{3^35~wf,3^-35~zf}:/_,1:*\,!!,iPr,
+     2:\*,//O,!,O,-36~zb,|,?5,-2=dl,-1:/_,-3://O,-2:\,!4,{-1,-3}=dl)
 endfont;
 %***************************************************************************
 beginfont("EN:Validamycin")
   font_ht:=20mm;
-  MCf(<30,?6,@(5,6)/OH,3:/!OH>rl,
-    #4\,O,-60,|,?6,2:O,@(3,4,5)/OH,6:/!OH,
-    #1\,NH,!,|,?6,2=dl,@(4,5,6)/OH,3:/!OH)
+  MCf(<30,?6,{5,6}:/OH,3:/!OH>rl,
+    #4:\,O,-60,|,?6,2:O,{3,4,5}:/OH,6:/!OH,
+    #1:\,NH,!,|,?6,2=dl,{4,5,6}:/OH,3:/!OH)
 endfont
 %***************************************************************************
 beginfont("EN:Paclitaxel","CAS:33069-62-4","FM:C47H51NO14","MW:853.91")
-  MCf(?6,5=d,3*,|<,``1,36,45,45,45,45,>|,
+  MCf(?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,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)
+    {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)
 endfont
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 beginfont("EN:Ampicillin","MW:349.405")
   font_ht:=15mm;
   MCf(<45,?4,-3=?5,2:N,7:S,
-    @(3^45,4^-45)/*H,1://O^15,5:/*COOH^-18,@(6^35,6^-35)/_,
-   ,4*\^75,NH,!,//O,!,/*NH2,!,Ph)
+    {3^45,4^-45}:/*H,1://O^15,5:/*COOH^-18,{6^35,6^-35}:/_,
+     4:*\^75,NH,!,//O,!,/*NH2,!,Ph)
 endfont
 %***************************************************************************
 beginfont("EN:Cholesterol","CAS:57-88-5","FM:C27H46O","MW:386.65")
   font_ht:=15mm;
   MCf(
-    <30,?6,$(-4,-2)?6,-4=?5,7=dl,
-      1:*/OH,@(4,12)*/_^60,9:*/H^60,
+    <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
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 bye
-ye

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

Modified: trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.tex
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.tex	2017-06-05 23:09:09 UTC (rev 44467)
+++ trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.tex	2017-06-05 23:09:24 UTC (rev 44468)
@@ -1,5 +1,5 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%  Molecular Coding Format manual          by  Akira Yamaji 2017.03.26
+%  Molecular Coding Format manual           by  Akira Yamaji 2017.06.04
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \documentclass[a4paper]{article}
 %%%%\usepackage{graphicx}
@@ -111,40 +111,40 @@
 %-----------------------------------------------------------------------------
 \subsubsection{Jump and branch bond}
 \begin{verbatim}
-  n* : Jump to An
+  n:@ : Jump to An
   ** An: atom number(-999<=n<=4095)
        
-  <30,!6,3*,0,!,5*,-30
+  <30,!6,3:@,0,!,5:@,-30
 \end{verbatim}
 \MCFstructure
 %------------------------------------
 \begin{verbatim}
-  3\ : 3*,0
+  3:\ : 3:@,0
 
-  <30,!6,3\,!
+  <30,!6,3:\,!
 \end{verbatim}
 \MCFstructure
 %-----------------------------------------------------------------------------
 \subsubsection{Branch bond}
 \begin{verbatim}
-  2\  : 2*,0
-  4*\ : 4*,0~wf
-  6\* : 6*,0~zf
-  8\\ : 8*,0~dm
+  2:\  : 2:@,0
+  4:*\ : 4:@,0~wf
+  6:\* : 6:@,0~zf
+  8:\\ : 8:@,0~dm
 
-  <30,!8,2\,!,4*\,!,6\*,!,8\\,!
+  <30,!8,2:\,!,4:*\,!,6:\*,!,8:\\,!
 \end{verbatim}
 \MCFstructure
 %-----------------------------------------------------------------------------
 \begin{verbatim}
-  2\~dr  : 2*,0~dr
-  4\`1.5 : 4*,0`1.5
-  6\^15  : 6*,0^15
+  2:\~dr  : 2:@,0~dr
+  4:\`1.5 : 4:@,0`1.5
+  6:\^15  : 6:@,0^15
 
   <-30,!6,
-  2\~dr,!,
-  4\`1.5,-90,
-  6\^15,-60
+  2:\~dr,!,
+  4:\`1.5,-90,
+  6:\^15,-60
 \end{verbatim}
 \MCFstructure
 %-----------------------------------------------------------------------------
@@ -152,7 +152,7 @@
 \begin{verbatim}
   &n : Connect to An
 
-  <30,!6,3\,!,&5
+  <30,!6,3:\,!,&5
 \end{verbatim}
 \MCFstructure
 %-----------------------------------------------------------------------------
@@ -168,7 +168,7 @@
 \begin{verbatim}
   <angle : rotate current angle
 
-  0,0,<90,0,<-90,0,0,$(1,2,3,4,5)vf 
+  0,0,<90,0,<-90,0,0,{1,2,3,4,5}=vf 
 \end{verbatim}
 \MCFstructure
 %-----------------------------------------------------------------------------
@@ -245,9 +245,9 @@
 %-----------------------------------------------------------------------------
 \subsubsection{Change multi bond type}
 \begin{verbatim}
-  $(2,4,6)dr : 2=dr,4=dr,6=dr
+  {2,4,6}=dr : 2=dr,4=dr,6=dr
 
-  <30,!7,$(2,4,6)dr
+  <30,!7,{2,4,6}=dr
 \end{verbatim}
 \MCFstructure
 %-----------------------------------------------------------------------------
@@ -259,7 +259,7 @@
   bd_ : broad over line 
 
   <-30,!8,!,60,90`8,
-  @(2~si_,4~wf_,6~wb_,8~bd_)/_`2
+  {2~si_,4~wf_,6~wb_,8~bd_}:/_`2
 \end{verbatim}
 \MCFstructure
 %-----------------------------------------------------------------------------
@@ -285,7 +285,7 @@
 \begin{verbatim}
   ?n`length : change ring length
 
-  ?6,4\,?6`1.2
+  ?6,4:\,?6`1.2
 \end{verbatim}
 \MCFstructure
 %-----------------------------------------------------------------------------
@@ -302,9 +302,9 @@
 \subsubsection{Addressed atom}
 \begin{verbatim}
   2:O : change A2 C to O
-  @(3,5)N : change  A3,A5 C to N
+  {3,5}:N : change  A3,A5 C to N
 
-  <30,!6,2:O,@(3,5)N
+  <30,!6,2:O,{3,5}:N
 \end{verbatim}
 \MCFstructure
 %-----------------------------------------------------------------------------
@@ -312,7 +312,7 @@
 \begin{verbatim}
   | : divide brock
 
-  ?6,4\,|,?6,2:O
+  ?6,4:\,|,?6,2:O
 \end{verbatim}
 \MCFstructure
 %-----------------------------------------------------------------------------
@@ -319,7 +319,7 @@
 \begin{verbatim}
   || : reset brock adress
 
-  ?6,4\,|,?6,||,2:N
+  ?6,4:\,|,?6,||,2:N
 \end{verbatim}
 \MCFstructure
 %-----------------------------------------------------------------------------
@@ -328,7 +328,7 @@
   #2:N : change A#2 C to N
   ** #n : (1<=n<=3095)
 
-  ?6,4\,|,?6,#2:N
+  ?6,4:\,|,?6,#2:N
 \end{verbatim}
 \MCFstructure
 %-----------------------------------------------------------------------------
@@ -337,7 +337,7 @@
   -2:N : change A(-2) C to N
   ** -n : (1<=n<=999)
 
-  ?6,4\,?6,-2:N
+  ?6,4:\,?6,-2:N
 \end{verbatim}
 \MCFstructure
 %-----------------------------------------------------------------------------
@@ -355,7 +355,7 @@
   ** fused ring size depend on 
   attached bond length
 
-  ?6,4\,?6`1.2,5=?6,11=?6
+  ?6,4:\,?6`1.2,5=?6,11=?6
 \end{verbatim}
 \MCFstructure
 %-----------------------------------------------------------------------------
@@ -369,8 +369,8 @@
 \MCFstructure
 %-----------------------------------------------------------------------------
 \begin{verbatim}
-  ?6,$(-3,-4,-4,-2,-2,-4,-4)?6
-  ?6,$(4,8,13,20,25,28,33)?6
+  ?6,{-3,-4,-4,-2,-2,-4,-4}=?6
+  ?6,{4,8,13,20,25,28,33}=?6
 \end{verbatim}
 \MCFstructure
 %-----------------------------------------------------------------------------
@@ -397,8 +397,8 @@
   (16,4)=?5[2] : fuse 2/5 ring to B16..B4
   ** ?m[n] (5<=m<=6,n=m-3)
 
-1:MCd(1,.55)(0,0)(?6,$(3,10)?6,(16,4)=?6[3])
-2:MCd(1,.55)(1,0)(?6,$(3,10)?6,(16,4)=?5[2])
+1:MCd(1,.55)(0,0)(?6,{3,10}=?6,(16,4)=?6[3])
+2:MCd(1,.55)(1,0)(?6,{3,10}=?6,(16,4)=?5[2])
 \end{verbatim}
 \MCFstructure
 \vspace{-3mm}%
@@ -410,7 +410,7 @@
 \begin{verbatim}
   (21,4)=?6[2] : fuse 2/6 ring to B21..B4
 
-  MCf(<-30,?6,$(3,10,15)?6,(21,4)=?6[2])
+  MCf(<-30,?6,{3,10,15}=?6,(21,4)=?6[2])
 
   ** ?m[n] (m=6,n=2)
 \end{verbatim}
@@ -418,11 +418,11 @@
 %-----------------------------------------------------------------------------
 \subsubsection{Spiro ring}
 \begin{verbatim}
-  4*,?5 : add ?5(5 membered ring) at A4
+  4:@,?5 : add ?5 at A4
 
-  <30,!6,4*,?5
+  <30,!6,4:@,?5
 
-  An* : jump to An
+  An:@ : jump to An
 \end{verbatim}
 \MCFstructure
 %-----------------------------------------------------------------------------
@@ -477,7 +477,7 @@
   ~,^,` : change type,angle,length
 
   <-30,!6,
-  @(2~wf,4~zf,6^-30)/_
+  {2~wf,4~zf,6^-30}:/_
 \end{verbatim}
 \MCFstructure
 %-----------------------------------------------------------------------------
@@ -496,8 +496,8 @@
   >hz : horizontal enviroment (default)
   >vt : vertical enviroment
 
-  ?4,@(3^-90,3^-30,3^90)/'(!3,"{hz}")>hz,
-     @(1^-60,1`2,1^60)/'(!2,"{vt}")>vt
+  ?4,{3^-90,3^-30,3^90}:/'(!3,"{hz}")>hz,
+     {1^-60,1`2,1^60}:/'(!2,"{vt}")>vt
 \end{verbatim}
 \MCFstructure
 %-----------------------------------------------------------------------------
@@ -507,8 +507,8 @@
   >rl : right-left enviroment
 
   <30,!6,
-  @(3^-30,3,3^30)/'(!3,"{lr}")>lr,
-  @(5^-30,5,5^30)/'(!3,"{rl}")>rl
+  {3^-30,3,3^30}:/'(!3,"{lr}")>lr,
+  {5^-30,5,5^30}:/'(!3,"{rl}")>rl
 \end{verbatim}
 \MCFstructure
 %-----------------------------------------------------------------------------
@@ -517,8 +517,8 @@
   >45 : fixed angle enviroment
   >'(-90,90,-90) : multi angle enviroment
 
-  <-30,!6,@(2>45)/'(!3,"{45}"),
-  @(6>'(-90,90,-90))/'(!3,"{(-90,90,-90)}")
+  <-30,!6,2>45:/'(!3,"{45}"),
+  {6>'(-90,90,-90)}:/'(!3,"{(-90,90,-90)}")
 \end{verbatim}
 \MCFstructure
 %-----------------------------------------------------------------------------
@@ -536,11 +536,11 @@
 %-----------------------------------------------------------------------------
 \subsubsection{Change color}
 \begin{verbatim}
-  @(5)green : change color of A5 green
-  $(3)red :   change color of B3 red
+  5:green : change color of A5 green
+  3=red :   change color of B3 red
   **  METAFONT ignore color command
 
-  <30,Ph,@(2,5)N,2:red,5:blue,3=green
+  <30,Ph,{2,5}:N,2:red,5:blue,3=green
 \end{verbatim}
 %%%%\MCFstructure   % for Metafont
 \includegraphics{mcf_man_soc-064.eps}%  for dvipdfmx
@@ -573,7 +573,7 @@
   iBuOH : user defined substructure
 
  iBuOH:='(!,/_,!,OH)
- MCf(<30,?6,@(4,6)/iBuOH)
+ MCf(<30,?6,{4,6}:/iBuOH)
 \end{verbatim}
 \MCFstructure
 %-----------------------------------------------------------------------------
@@ -594,8 +594,8 @@
   beginfont("EN:Caffeine")
     font_wd:=30mm;  %<==font width
     font_ht:=20mm;  %<==font height
-    MCf(<30,?6,-4=?5,$(3,8)dl,@(2,6,7,9)N,
-       @(2,6,9)/_,@(1,5)//O)  endfont
+    MCf(<30,?6,-4=?5,{3,8}=dl,{2,6,7,9}:N,
+       {2,6,9}:/_,{1,5}://O)  endfont
 \end{verbatim}
 \MCFstructure
 %-----------------------------------------------------------------------------
@@ -1045,7 +1045,7 @@
  sw_solid:=1;
  %---------------------------------------
  MCd(1,1)(0.1,0.5)
-  (<-210,60`1,60`1,60`1,$(1,3)dl,
+  (<-210,60`1,60`1,60`1,{1,3}=dl,
    1:/R1,4:/R2^-60)
  ext(
    defaultscale:=0.6;
@@ -1089,7 +1089,9 @@
  A[m]:    atom position
  A[m]bra: branch angle of A[m]
  Bn:      bond number
- B[m]:    bond position
+ B[m]:    bond position(0.5[Bs[m],Be[m]])
+ Bs[m]:   bond start position
+ Be[m]:   bond end position
  B[m]ang: bond angle
 
 %----------------------------------------
@@ -1100,7 +1102,8 @@
   MCd(1,0.7)(0,0.5)(<30,?6,3=dl,4:/CH3)
   ext(
     label.top("+",A7);
-    drawarrow B3..((B7-B3) scaled 0.7
+    B7:=0.37[Bs7,Be7];
+    drawarrow B3..((B7-B3) scaled 0.6
               rotated -45 shifted B3)..B7;
     )
  %---------------------------------------
@@ -1135,7 +1138,7 @@
 \subsection{Acetamiprid}
 \begin{verbatim}
   <30,Ph,2:N,1:/Cl,
-     4\,!,N,/_,!,/_,!!,N,!,CN
+     4:\,!,N,/_,!,/_,!!,N,!,CN
 \end{verbatim}
 \MCFstructure
 %-----------------------------------------------------------------------------
@@ -1149,24 +1152,24 @@
 \subsection{Permethrin}
 \begin{verbatim}
   <-30,?3,2^-35:*/_,2^35:/*_,
-     1\,!!,/Cl,!,Cl,
-     3\,//O,!,O,!2,|,Ph,
-     3\,O,-60,Ph
+     1:\,!!,/Cl,!,Cl,
+     3:\,//O,!,O,!2,Ph,
+    -4:\,O,-60,Ph
 \end{verbatim}
 \MCFstructure
 %-----------------------------------------------------------------------------
 \subsection{Endosulfan}
 \begin{verbatim}
-  <26,?7,7=?6[13],11*,208~wf`1.45,&8~wb,
-      10=d,@(3,5)O,4:S,4://O,
-      @(8,9,10,11,12^-210,12^-150)/Cl
+  <26,?7,7=?6[13],11:@,208~wf`1.45,&8~wb,
+      10=d,{3,5}:O,4:S,4://O,
+      {8,9,10,11,12^-210,12^-150}:/Cl
 \end{verbatim}
 \MCFstructure
 %-----------------------------------------------------------------------------
 \subsection{Luciferin}
 \begin{verbatim}
-  <30,Ph,3=?5,8\,?5,$(9,16)d,
-     @(9,14)N,@(7,11)S,
+  <30,Ph,3=?5,8:\,?5,{9,16}=dl,
+     {9,14}:N,{7,11}:S,
      1:/OH,-2:*/COOH
 \end{verbatim}
 \MCFstructure
@@ -1175,18 +1178,18 @@
 \begin{verbatim}
   <30,Ph,3=?6,8=dl,
   10:O,7:/OH,9://O,
-  8\,/Ph`1,60,!,//O,!
+  8:\,/Ph`1,60,!,//O,!
 \end{verbatim}
 \MCFstructure
 %-----------------------------------------------------------------------------
 \subsection{Limonin}
 \begin{verbatim}
- <30,?6,$(-3,-4)?6,-5=?3,
+ <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,
-  14\*,|,?5,$(1,4)dl,3:O
+  {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,
+  14:\*,|,?5,{1,4}=dl,3:O
 \end{verbatim}
 \MCFstructure
 %-----------------------------------------------------------------------------
@@ -1193,18 +1196,18 @@
 \subsection{Sesamine}
 \begin{verbatim}
  <54,?5,1=?5,
- @(4,7)O,@(1^-54,2^54)*/H,
- #5*\^-12,Ph,|,-3=?5,@(-1,-3)O,
- #8*\^-12,Ph,|,-3=?5,@(-1,-3)O
+ {4,7}:O,{1^-54,2^54}:*/H,
+ 5:*\^-12,Ph,-3=?5,{-1,-3}:O,
+ 8:*\^-12,Ph,-3=?5,{-1,-3}:O
 \end{verbatim}
 \MCFstructure
 %-----------------------------------------------------------------------------
 \subsection{Colchicine}
 \begin{verbatim}
-  <30,Ph,@(1,2,6)/O!,
+  <30,Ph,{1,2,6}:/O!,
   -4=?7,-5=?7,
-  $(-1,-4,-6)dl,-2://O,-3:/O!,
-  9\,NH,!,//O,!
+  {-1,-4,-6}=dl,-2://O,-3:/O!,
+  9:\,NH,!,//O,!
 \end{verbatim}
 \MCFstructure
 %-----------------------------------------------------------------------------
@@ -1213,7 +1216,7 @@
   <30,Ph,
   -4=?6,-2=?6,6=?5,(9,12)=?5[3],
   13=dl,
-  8:N,@(15,17)O,
+  8:N,{15,17}:O,
   9:/*H^180,10:*/H^60,
   13:*/OH,14:/*OMe
 \end{verbatim}
@@ -1222,11 +1225,11 @@
 \subsection{Gibberellin}
 \begin{verbatim}
   <18,?5,3=?7,5=?6[12],
-  8*,160`1.3,&3,
+  8:@,160`1.3,&3,
   13=dl,6=wf,8=wb,
-  5*,40~zf`1,O,60,//O^180,&14~zb,
+  5:@,40~zf`1,O,60,//O^180,&14~zb,
   2:/COOH,7://_,13:*/OH,8:/*OH,
-  14:*/_,@(1^60,4^60)*/H
+  14:*/_,{1^60,4^60}:*/H
 \end{verbatim}
 \MCFstructure
 %-----------------------------------------------------------------------------
@@ -1233,10 +1236,10 @@
 \subsection{Quinine}
 \begin{verbatim}
   <30,Ph,3=Ph,7:N,6:/O!,
-   10\,*/OH,/H~zf^-60,!,
+   10:\,*/OH,/H~zf^-60,!,
    |,?6,2:N,1:*/H^60,
-   4*\,!!,
-   2*,165~zf,60,&5~zb
+   4:*\,!!,
+   2:@,165~zf,60,&5~zb
 \end{verbatim}
 \MCFstructure
 %-----------------------------------------------------------------------------
@@ -1243,47 +1246,47 @@
 \subsection{Atoropin}
 \begin{verbatim}
   <-30,O,!,//O,!,!,Ph,
-  #1\~zb^-120,
-  |,?7,6*\^190`1.02,N,/_,&3~wb,
-  #3\~wv,!,OH
+  #1:@,-120~zb,
+  |,?7,6:*\^190`1.02,N,/_,&3~wb,
+  #3:\~wv,!,OH
 \end{verbatim}
 \MCFstructure
 %-----------------------------------------------------------------------------
 \subsection{Rotenone}
 \begin{verbatim}
-  <-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*\,/_,!!
+  <-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:*\,/_,!!
 \end{verbatim}
 \MCFstructure
 %-----------------------------------------------------------------------------
 \subsection{Pyrethrin I}
 \begin{verbatim}
-  <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
+  <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
 \end{verbatim}
 \MCFstructure
 %-----------------------------------------------------------------------------
 \subsection{Validamycin}
 \begin{verbatim}
-  <30,?6,@(5,6)/OH,3:/!OH>rl,
-  #4\,O,-60,|,?6,2:O,@(3,4,5)/OH,6:/!OH,
-  #1\,NH,!,|,?6,2=dl,@(4,5,6)/OH,3:/!OH
+  <30,?6,{5,6}:/OH,3:/!OH>rl,
+  #4:\,O,-60,|,?6,2:O,{3,4,5}:/OH,6:/!OH,
+  #1:\,NH,!,|,?6,2=dl,{4,5,6}:/OH,3:/!OH
 \end{verbatim}
 \MCFstructure
 %-----------------------------------------------------------------------------
 \subsection{Paclitaxel}
 \begin{verbatim}
-  ?6,5=d,3*,|<,``1,36,45,45,45,45,>|,&#5,
+  ?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,
+  {4^35,4^-35,6}:/_,{3^-60,15}:*/OH,
   8:/*H^-60,9:*/_^60,10://O,
-  1\,O,!,//O,!,*/OH,!,/Ph,
+  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:*\,O,-60,//O,60,
+ 12:\*^-15,O,60,//O,-60
 \end{verbatim}
 \MCFstructure
 %-----------------------------------------------------------------------------
@@ -1295,8 +1298,8 @@
 input mcf2graph.mf;                               % input macro
 %-------------------------------------------------------------------------
 sw_auxout:=1;         % aux(information) file output on > Gloval setting
-font_wd:=60mm;      % font width                      > 
-font_ht:=40mm;      % font height                     >
+font_wd:=60mm;        % font width                      > 
+font_ht:=40mm;        % font height                     >
 var3:="cal_MW"; tag3:="cMW";                            > AUX file table
 var4:="cal_FM"; tag4:="cFM";                            >
 %%%% sw_report:=1;                                      > Report output
@@ -1306,40 +1309,40 @@
 %-------------------------------------------------------------------------
 beginfont("NO:1","EN:Ampicillin")                 > begin font(information)
   MCf(<45,?4,2:N,2=?5,-1:S,                             > begin MCF (1)
-     @(3^45,4^-45)/*H,1://O^15,5:/*COOH^-18,            >
-     @(6^35,6^-35)/_,                                   >
-     4\^75,NH,!,//O,!,/*NH,!,Ph)                        > end MCF 
+     {3^45,4^-45}:/*H,1://O^15,5:/*COOH^-18,            >
+     {6^35,6^-35}:/_,                                   >
+     4:@,75,NH,!,//O,!,/*NH,!,Ph)                        > end MCF 
 endfont                                                 > end font
 %------------------------------------------------------------------------
 beginfont("NO:2","EN:Cholesterol")                > begin font(information)
-  MCf(<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
+  MCf(<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
 endfont                                                 > end font
 %------------------------------------------------------------------------
 beginfont("NO:3","EN:Limonin")                    > begin font(information)
-  MCf(<30,?6,$(-3,-4)?6,                                > begin MCF (3)
+  MCf(<30,?6,{-3,-4}=?6,                                > begin MCF (3)
       -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,                           >
-      14\*,|,?5,$(1,4)dl,3:O)                           > end MCF
+      {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,                           >
+      14:\*,|,?5,{1,4}=dl,3:O)                         > end MCF
 endfont                                                 > end font
 %------------------------------------------------------------------------
 beginfont("NO:4","EN:beta-carotene)               > begin font(information)
-  MCf(<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
+  MCf(<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
 endfont                                                 > end font
 %------------------------------------------------------------------------
 beginfont("NO:5","EN:Gibberellin A3");            > begin font(information)
   MCf(<18,?5,3=?7,5=?6[12],                             > begin MCF (5)
-     8*,160`1.3,&3,13=dl,6=wf,8=wb,                     >
-     5*,40~zf`1,O,60,//O^180,&14~zb,                    >
+     8:@,160`1.3,&3,13=dl,6=wf,8=wb,                     >
+     5:@,40~zf`1,O,60,//O^180,&14~zb,                    >
      2:/COOH,7://_,13:*/OH,8:/*OH,                      >
-     14:*/_,@(1^60,4^60)*/H)                            > end MCF
+     14:*/_,{1^60,4^60}:*/H)                            > end MCF
 endfont;                                                > end font
 %------------------------------------------------------------------------
 bye
@@ -1546,12 +1549,12 @@
   font_wd:=50mm; font_ht:=50mm;
   beginfont("NO:2","EN:Limonin","MW:470.51")
   MCf(<30,
-    ?6,$(-3,-4)?6,
+    ?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,
-      14\*,|,?5,$(1,4)dl,3:O
+      {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,
+      14:\*,|,?5,{1,4}=dl,3:O
   )
   endfont
 \end{mplibcode}\\
@@ -1560,10 +1563,10 @@
   font_wd:=80mm; font_ht:=50mm;
   beginfont("NO:3","EN:beta-carotene","MW:536.87")
     MCf(<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)/_
+      ?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
 \end{mplibcode}\\
@@ -1572,10 +1575,10 @@
   font_wd:=50mm; font_ht:=50mm;
   beginfont("NO:4","EN:Gibberellin A3","MW:346.37");
   MCf(<18,?5,3=?7,5=?6[12],
-     8*,160`1.3,&3,13=dl,6=wf,8=wb,
-     5*,40~zf`1,O,60,//O^180,&14~zb,
+     8:@,160`1.3,&3,13=dl,6=wf,8=wb,
+     5:@,40~zf`1,O,60,//O^180,&14~zb,
      2:/COOH,7://_,13:*/OH,8:/*OH,
-     14:*/_,@(1^60,4^60)*/H
+     14:*/_,{1^60,4^60}:*/H
   )
 endfont;
 \end{mplibcode}\\

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

Modified: trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.tex
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.tex	2017-06-05 23:09:09 UTC (rev 44467)
+++ trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.tex	2017-06-05 23:09:24 UTC (rev 44468)
@@ -1,7 +1,7 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Example of  MCF typest with LuaLaTeX(luamplib)     by A.Yamaji    2017.05.03
+% Example of  MCF typest with LuaLaTeX(luamplib)     by A.Yamaji    2017.06.04
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%% mcf2graph.mf it must be version 4.21 or later
+%%% mcf2graph.mf it must be version 4.23 or later
 \documentclass{article}
 %------------------------------------------------------------------------------
 \usepackage{luamplib}%
@@ -96,12 +96,12 @@
   font_wd:=90mm; font_ht:=45mm;
   beginfont("NO:1","EN:Chlorophyll a","MW:893.49")
     MCf(<54,
-     |<,``1,?5,$(2,5)d,4:N,3\,54~dl,|,?5,$(2,4)d,5:N,
-     -2\,54~dl,|,?5,2=d,5:N,-2\~dl,54,|,?5,5=d,5:N,-2\~dl,&#5,
-     -1*,24,/*COO!^15,72,//O,&#1,>|,
-     4\`1.45,Mg,&17,-1*,&11~vb,-1*,&23~vb,
-     @(2,9,15,20~zf)/_,8:/!,14\,!!,
-     21*,-6~wf,!2,//O,!,O,!2,!!,|,!13,@(1,5,9,13)/_,
+     |<,``1,?5,{2,5}=dl,4:N,3:\,54~dl,|,?5,{2,4}=dl,5:N,
+     -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,>|,
+     4:\`1.45,Mg,&17,-1:@,&11~vb,-1:@,&23~vb,
+     {2,9,15,20~zf}:/_,8:/!,14:\,!!,
+     21:@,-6~wf,!2,//O,!,O,!2,!!,|,!13,{1,5,9,13}:/_,
    )
   endfont
 \end{mplibcode}
@@ -112,10 +112,10 @@
   font_wd:=40mm; font_ht:=35mm;
   beginfont("NO:2","EN:Limonin","MW:470.51")
   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)/_,@(1^60,5^180,16^60)/*H,
-      14\*,|,?5,$(1,4)dl,3:O
+    ?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,
+      14:\*,|,?5,{1,4}=dl,3:O
      )
   endfont
 \end{mplibcode}
@@ -126,9 +126,9 @@
   font_wd:=80mm; font_ht:=28mm;
   beginfont("NO:3","EN:beta-carotene","MW:536.87")
     MCf(<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)/_
+      ?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
 \end{mplibcode}
@@ -138,9 +138,9 @@
 \begin{mplibcode}
 font_wd:=50mm; font_ht:=40mm;
 beginfont("NO:4","EN:Gibberellin A3","MW:346.37");
-  MCf(<18,?5,3=?7,5=?6[12],8*,160`1.3,&3,13=dl,6=wf,8=wb,
-     5*,40~zf`1,O,60,//O^180,&14~zb,
-     2:/COOH,7://_,13:*/OH,8:/*OH,14:*/_,@(1^60,4^60)*/H)
+  MCf(<18,?5,3=?7,5=?6[12],8:@,160`1.3,&3,13=dl,6=wf,8=wb,
+     5:@,40~zf`1,O,60,//O^180,&14~zb,
+     2:/COOH,7://_,13:*/OH,8:/*OH,14:*/_,{1^60,4^60}:*/H)
 endfont;
 \end{mplibcode}
 \inputINFO{temp-info.aux}%
@@ -151,10 +151,10 @@
 beginfont("NO:5","EN:Erythromycin","MW:733.93");
   MCf(<30,
     |<,``1,<-120,60,60,60,-60,60,60,-60,60,60,60,-60,60,60,>|,&1,
-     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:/NMeMe
+     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:/NMeMe
      )
   endfont;
 \end{mplibcode}
@@ -165,16 +165,16 @@
 font_wd:=90mm; font_ht:=55mm;
 beginfont("NO:6","EN:Vancomycin","MW:1449.25");
   MCf(<30,
-    |<,``1,!12,$(1,3,12)zf,7=wf,/H^-60,60,*/OH,60,
-    Ph,-4:/Cl,-3\,O,!,Ph,-4\,O,!,Ph,-1^15:/Cl,-3\,/*OH,*/H^-60,&#1,
-    #7*,&#26,#1\^120,//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^180,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,!,
-    #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
+    |<,``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:@,120,//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^180,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,!,
+    #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;
 \end{mplibcode}
@@ -184,27 +184,28 @@
 \begin{mplibcode}
   font_wd:=150mm; font_ht:=70mm;
   beginfont("NO:7","EN:Maitotoxin","MW:3425.86")
-  MCf(<55.8,?6,-4=?7 ,$(-4,-3,-3,-3)?6,-3\,!3,?6,$(-4,-3,-3,-3)?6,
-    -3\,?6,-3=?6,-3\,!3,60,<-30,?6,-3=?6,
-    -3\^30,<30,?6,$(-3,-3)?6,-3=?7,$(-4,-3,-3)?6,
-    -2\,?6,-3=?6,-3=?7,$(-3,-3)?6,-3=?8,-3=dl,$(-5,-3,-3,-3)?6,
-    @(5,7,15,16,23,24,32,40,41,48,49,58,59,72,73,82,83,90,91,99,
-      100,107,113,114,122,123,130,131,140,141,148,149)O,
-    @(1^60,2,26,28,29,51,54,61,63,68,75^60,78,109)*/OH,
-    @(11,20,35,45,52,55,65,69,86)/*OH,@(47,57,71)/*H^60,
-    @(3,8,13,17,21,33,38,42,56,70,84,92,101,106,111,128,138,142,146,150)/*H^-60,
-    @(4,14,22,34,39,43,81,89,98,102,116,121,125,129,133)*/H^60,
-    @(6,46,50,53,60,67,74)*/H^-60,
-    @(9,18,85,93,112,139,143,147)*/_`1^60,
-    @(80,88,97,115,120,124)/*_`1^-60,108:*/_`1^-60,
-    #6\,|,!11,60~dr,-60,60,OH,2:/*OH,@(7,10)*/OH,@(1,3)*/_,@(8~zf,11~dm,12)/_,
-              6\,O,30,SOO,30,"O{Na}",
-    #36\~zf^-45,O,30,SOO,30,"O{Na}",
-    #150\,|,!7,@(1,2)/*OH,4:*/_,5:/*_,7=dl
+  MCf(<55.8,?6,-4=?7 ,{-4,-3,-3,-3}=?6,-3:\,!3,?6,{-4,-3,-3,-3}=?6,
+    -3:\,?6,-3=?6,-3:\,!3,60,<-30,?6,-3=?6,
+    -3:@,30,<30,?6,{-3,-3}=?6,-3=?7,{-4,-3,-3}=?6,
+    -2:\,?6,-3=?6,-3=?7,{-3,-3}=?6,-3=?8,-3=dl,{-5,-3,-3,-3}=?6,
+    {5,7,15,16,23,24,32,40,41,48,49,58,59,72,73,82,83,90,91,99,
+      100,107,113,114,122,123,130,131,140,141,148,149}:O,
+    {1^60,2,26,28,29,51,54,61,63,68,75^60,78,109}:*/OH,
+    {11,20,35,45,52,55,65,69,86}:/*OH,{47,57,71}:/*H^60,
+    {3,8,13,17,21,33,38,42,56,70,84,92,101,106,111,128,138,142,146,150}:/*H^-60,
+    {4,14,22,34,39,43,81,89,98,102,116,121,125,129,133}:*/H^60,
+    {6,46,50,53,60,67,74}:*/H^-60,
+    {9,18,85,93,112,139,143,147}:*/_`1^60,
+    {80,88,97,115,120,124}:/*_`1^-60,108:*/_`1^-60,
+    #6:\,|,!11,60~dr,-60,60,OH,2:/*OH,{7,10}:*/OH,{1,3}:*/_,{8~zf,11~dm,12}:/_,
+              6:\,O,30,SOO,30,"O{Na}",
+    #36:@,-45~zf,O,30,SOO,30,"O{Na}",
+    #150:\,|,!7,{1,2}:/*OH,4:*/_,5:/*_,7=dl
     )
   endfont
 \end{mplibcode}
 \inputINFO{temp-info.aux}%
 \MOLcaption{110mm}{70mm}\\%
+\end{document}
 %----------------------------------------------------------------------------
 \end{document}

Modified: trunk/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf
===================================================================
--- trunk/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf	2017-06-05 23:09:09 UTC (rev 44467)
+++ trunk/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf	2017-06-05 23:09:24 UTC (rev 44468)
@@ -1,5 +1,5 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% mcf2graph ver 4.21     Copyright (c) 2013-2017   Akira Yamaji
+% mcf2graph ver 4.23     Copyright (c) 2013-2017   Akira Yamaji
 %
 % Permission is hereby granted, free of charge, to any person obtaining a copy of this software
 % and associated documentation files (the "Software"), to deal in the Software without restriction,
@@ -31,9 +31,9 @@
 % Set to use plain.mp label,arrow : mpost -s ahlength=3 FILENAME
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 tracingstats:=1;
-message " This is mcf2graph ver 4.2  2017.5";
+message " This is mcf2graph ver 4.2  2017.6";
 %-------------------------------------------------------------------------------------------------
-newinternal nA,nB,nC,nD,nE,nF,char_num,str_cnt,def_num,def_int,tbl_cnt;
+newinternal nA,nB,nC,nD,nE,nF,char_num,str_cnt,sub_usr,sub_int,tbl_cnt;
 numeric save_para[],comD[][],parD[][],cntD[],tbl_str_wd[],tbl_atom[],tbl_subst[][],tbl_atom_wt[],
         tbl_atom_mi[],tbl_char_wd[],tbl_char_ht[],tbl_char_dp[];
 string  tbl_atom_str[],strD[],var[],tag[],mp_log_name,aux_delimiter;
@@ -106,15 +106,16 @@
 ext_defaultscale:=defaultscale:=1;
 labeloffset:=3bp;
 %==================================================================================================
-def_emb_start:=500;      % 500  => 2499   for embedded definition    (max 2000)
-def_usr_start:=2500;     % 2500 => 2999   for user     definition    (max 500)
-def_int_start:=3000;     % 3000 => 4000   for internal definition    (max 1000)
+sub_emb_start:=500;      % 500  => 2499   for embedded sub structure (max 2000)
+sub_usr_start:=2500;     % 2500 => 2999   for user     sub structure (max 500)
+sub_int_start:=3000;     % 3000 => 4000   for internal sub structure (max 1000)
 %--------------------------------------------------------------------------------------------------
 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,_mb,_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);
+  _tmp_env,_set_colorA,_set_colorB,_postA,_postB,_postC,_postD,_postE,_postF,_postH,_stack_reset,
+  _set_clr,_set_adr,_mk_bond,_set_atom,_arg_ang,_chg_atom,_tmp_rot,_fuse,_push,_pop,
+  _size_a,_numeric);
 def_com(1)(si,dl,dr,db,dm,tm,wf,wb,bd,bz,zf,zb,dt,wv,nl,vf,vb,si_,wf_,wb_,bd_);
 %--------------------------------------------------------------------------------------------------
 def parameter_list=
@@ -186,12 +187,14 @@
 enddef;
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 def set_def_MC=
-  save /,*,//,/*,*/,**,~,~~,^,^^,`,'`,<,>,>>,:>,&,&#,:,=,\,\\,*\,\*,@,$,#,
+  save /,//,/*,*/,**,~,~~,^,^^,`,'`,<,>,>>,:>,&,&#,:,=,\,\\,*\,\*,@,#,{,},
        |,||,|<,>|,|:,:|,_,d,w,z,inside_def_MC;
-  inside_def_MC:=1; d:=db; w:=wf; z:=zf;
-  vardef $(text a)tertiary b == $$(a)(b) enddef; tertiarydef a=b == $$(a)(b) enddef; 
-  vardef @(text a)tertiary b == @@(a)(b) enddef; tertiarydef a:b == @@(a)(b) enddef;
-  vardef #primary a == if numeric a:: a-4095 elseif pair a:: a+(0,-4095) fi enddef;
+  inside_def_MC:=1;
+  _:=Me; d:=db; w:=wf; z:=zf;
+  tertiarydef a=b == change_bond(a)(b) enddef; 
+  tertiarydef a:b == change_atom(a)(b) enddef;
+  def { == '''( enddef;  let } == );
+  vardef #primary a == a-4095 enddef;
   def &primary n ==(_cyc,n) enddef; def &# == & # enddef;
   def ^^primary n == (_tmp_rot,n) enddef; def ~~primary n == (_tmp_line,n) enddef;
   def '`primary n == (_tmp_len,n) enddef; def :>primary n == (_tmp_env,n) enddef;
@@ -199,18 +202,17 @@
   def <primary n  == (_rot_ang,n) enddef;
   tertiarydef a^b == ^^b,a enddef;  tertiarydef a`b == '`b,a enddef;
   tertiarydef a~b == ~~b,a enddef;  tertiarydef a>b == :>b,a enddef;
-  def * == (0,1) enddef;  def \ == *,0 enddef;  def \\ == *,0~dm enddef;
-  def *\ == *,0~wf enddef;  def \* == *,0~zf enddef;
+  def @ == JP_AT enddef; def \ == @,0 enddef;
+  def \\ == \~dm enddef; def *\ == \~wf enddef; def \* == \~zf enddef;
   def |< == (_push,1) enddef; def >| == (_pop,1)  enddef;
   def | == |<,>| enddef;      def || == (_stack_reset,0) enddef;
   def |: == (_push,0) enddef; def :| == (_pop,0)  enddef;
-  def _ == Me enddef;
   def /secondary n ==   (_postA,n) enddef;  def //secondary n == (_postB,n) enddef;
   def */secondary n ==  (_postC,n) enddef;  def /*secondary n == (_postD,n) enddef;
   def */*secondary n == (_postE,n) enddef;  def **secondary n == (_postF,n) enddef;
 enddef;
 %=================================================================================================
-vardef '(text s)= ''(incr def_num)(s); def_num enddef;
+vardef '(text s)= ''(incr sub_usr)(s); sub_usr enddef;
 %-------------------------------------------------------------------------------------------------
 def ''(expr k)(text s)=
   begingroup
@@ -220,7 +222,7 @@
     if known list::
       if pair list:: comD[k][incr cntD[k]]:=xpart(list); parD[k][cntD[k]]:=ypart(list);
       elseif numeric list::
-        if list>=def_emb_start::
+        if list>=sub_emb_start::
           for i==1 upto cntD[list]::
              comD[k][incr cntD[k]]:=comD[list][i]; parD[k][cntD[k]]:=parD[list][i];
             endfor 
@@ -233,15 +235,31 @@
   endfor
   endgroup
 enddef;
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%-------------------------------------------------------------------------------------------------
+vardef '''(text s)=
+  sub_int:=sub_int+1;
+  cntD[sub_int]:=0;
+  for list==s::
+    cntD[sub_int]:=cntD[sub_int]+1;
+    if     numeric list::
+      comD[sub_int][cntD[sub_int]]:=_numeric;
+      parD[sub_int][cntD[sub_int]]:=list;
+    elseif pair list::
+      comD[sub_int][cntD[sub_int]]:=xpart(list);
+      parD[sub_int][cntD[sub_int]]:=ypart(list);
+    fi
+  endfor
+  sub_int    %------- Retern value -------
+enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 def FR(expr a)(expr b) =
-  PA(_jp_bond,a) PA(_get_len,a) PA(_push,0)
+  PA(_jp_bond,a) PA(_rot_ang,180) PA(_get_len,a) PA(_push,0)
   PA(_chg_len,_ring_len) for i==1 upto b-2:: PA(_mk_bond,360 DIV b) endfor  PA(_pop,0)
   if a>=1:: PA(_cyc_eB,0) elseif a>=-999:: PA(_cyc_eB,a-b+2) else:: PA(_cyc_eB,a) fi
 enddef;
 %-------------------------------------------------------------------------------------------------
 def FFR(expr a)(expr b)(expr c) =
-  PA(_jp_bond,xpart(a)) PA(_push,0)
+  PA(_jp_bond,xpart(a)) PA(_rot_ang,180) PA(_push,0)
   if     b==6:: PA(_chg_len,0) for i==1 upto c-1:: PA(_mk_bond,60) endfor
   elseif b==5:: if     c==2:: PA(_chg_len,1.25) PA(_mk_bond,80)
                 elseif c==3:: PA(_chg_len,1.1)  PA(_mk_bond,78) PA(_mk_bond,72) fi
@@ -250,36 +268,36 @@
 enddef;
 %-------------------------------------------------------------------------------------------------
 def FRR(expr a)(expr b)(expr c) =
+  PA(_jp_bond,a) PA(_rot_ang,180) PA(_push,0) PA(_chg_len,c DIV 10)
   if      b==5::
-    PA(_jp_bond,a) PA(_push,0) PA(_chg_len,c DIV 10) PA(_mk_bond,72-((c-9) MUL 1.5))
-    PA(_mk_bond,72+(c-9)) PA(_mk_bond,72+(c-9)) PA(_pop,0)
-    if a>=1:: PA(_cyc_eB,0) else:: PA(_cyc_eB,list) fi
+    PA(_mk_bond,72-((c-9) MUL 1.5)) PA(_mk_bond,72+(c-9)) PA(_mk_bond,72+(c-9))
   elseif b==6::
-    PA(_jp_bond,a) PA(_push,0) PA(_chg_len,c DIV 10) PA(_mk_bond,60-(c-8))
+    PA(_mk_bond,60-(c-8))
     PA(_mk_bond,60+((c-8) DIV 2)) PA(_mk_bond,60+((c-8) DIV 2)) PA(_mk_bond,60+((c-8) DIV 2))
-    PA(_pop,0) if a>=1:: PA(_cyc_eB,0) else:: PA(_cyc_eB,list) fi
   elseif b==7::
-    PA(_jp_bond,a) PA(_push,0) PA(_chg_len,c DIV 10) PA(_mk_bond,(360 DIV 7)-(c-8))
+    PA(_mk_bond,(360 DIV 7)-(c-8))
     PA(_mk_bond,360 DIV 7+((c-8) DIV 2.5)) PA(_mk_bond,360 DIV 7+((c-8) DIV 2.5))
     PA(_mk_bond,360 DIV 7+((c-8) DIV 2.5)) PA(_mk_bond,360 DIV 7+((c-8) DIV 2.5))
-    PA(_pop,0) if a>=1:: PA(_cyc_eB,0) else:: PA(_cyc_eB,list) fi
   elseif b==8::
-    PA(_jp_bond,a) PA(_push,0) PA(_chg_len,c DIV 10) PA(_mk_bond,45-(c-8))
+    PA(_mk_bond,45-(c-8)) PA(_mk_bond,45+((c-8) DIV 3)) PA(_mk_bond,45+((c-8) DIV 3))
     PA(_mk_bond,45+((c-8) DIV 3)) PA(_mk_bond,45+((c-8) DIV 3)) PA(_mk_bond,45+((c-8) DIV 3))
-    PA(_mk_bond,45+((c-8) DIV 3)) PA(_mk_bond,45+((c-8) DIV 3))
-    PA(_pop,0) if a>=1:: PA(_cyc_eB,0) else:: PA(_cyc_eB,list) fi
   fi
+  PA(_pop,0) if a>=1:: PA(_cyc_eB,0) else:: PA(_cyc_eB,list) fi
 enddef;
 %==================================================================================================
-vardef $$(text t)(expr e) =
-  nA:=0;
-  def_int:=def_int+1;
+vardef change_bond(text t)(expr e) =
+  sub_int:=sub_int+1;
+  cntD[sub_int]:=0;
   if known e:: if numeric e::
-    if (e>=si)and(e<=bd_):: if e==dl:: for list==t:: PA(_dl,list) endfor
-                            else:: for list==t:: PA(_set_adr,list) PA(_set_line,e) endfor fi
-    elseif (e>=?3)and(e<=?20):: for list==t:: FR(list)(e-?3+3) endfor
+    if (e>=si)and(e<=bd_):: if e==dl:: PP(t)(_dl) else:: PX(t)(_set_line,e) fi
+    elseif (e>=?3)and(e<=?20)::
+      for list==t::
+        if list>=sub_int_start:: for i==1 upto cntD[list]:: FR(parD[list][i])(e-?3+3) endfor
+        else::                   FR(list)(e-?3+3) fi
+      endfor
     elseif e==Ph1:: FR(t)(6) PA(_dl,-2) PA(_dl,-4)
     elseif e==Ph2:: FR(t)(6) PA(_dl,-1) PA(_dl,-3) PA(_dl,-5)
+    elseif e==JP_AT:: PA(_jp_bond,t)
     elseif comD[e][1]==_fuse::
       if comD[e][2]<=6:: for list==t:: FFR(list)(parD[e][1])(comD[e][2]) endfor
       elseif (comD[e][2]>=11)and(comD[e][2]<=15)::
@@ -286,44 +304,28 @@
         for list==t:: FRR(list)(parD[e][1])(comD[e][2]) endfor
       fi
     fi
-  elseif color e:: color_list[incr cntC]:=e;
-    for list==t:: PA(_set_adr,list) PA(_set_colorB,cntC) endfor
+  elseif color e:: color_list[incr cntC]:=e; PX(t)(_set_colorB,cntC)
   fi fi
-  cntD[def_int]:=nA;
-  def_int    %------- Retern value -------
+  sub_int    %------- Retern value -------
 enddef;
 %-------------------------------------------------------------------------------------------------
-vardef @@(text t)(expr s)=
-  nA:=0;
-  def_int:=def_int+1;
-  if known s:: if numeric s::
-    if (s>=H)and(s<=U)::
-       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),~~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
-    elseif s==SO::  for list==t::
-                      if  numeric list:: PAs((_S,list),(_set_adr,list),~~dm,(_set_psA,O))
-                      elseif pair list:: PAs(list) fi  endfor
+vardef change_atom(text t)(expr e)=
+  sub_int:=sub_int+1;
+  cntD[sub_int]:=0;
+  if known e:: if numeric e::
+    if (e>=H)and(e<=U)::
+       if     e==N:: PP(t)(_N)
+       elseif e==O:: PP(t)(_O)
+       elseif e==S:: PP(t)(_S)
+       else::        PX(t)(_chg_atom,e)
+       fi
+    elseif e==NH::   PA(_set_clr,1) PP(t)(_N) PX(t)(_postH,H) PA(_set_clr,0)
+    elseif e==JP_AT:: PA(_jp_atom,t)
     fi
-  elseif pair s::  nE:=xpart(s); nF:=ypart(s); PA(_set_clr,1)
-    for list==t::
-      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(~~0)
-        fi
-        PA(_set_adr,list)  PA(_set_psA,nF)
-      elseif pair list:: PAs(list) fi
-    endfor
-    PA(_set_clr,0)
-    elseif color s:: color_list[incr cntC]:=s;
-      for list==t:: PA(_set_adr,list) PA(_set_colorA,cntC) endfor fi fi
-  cntD[def_int]:=nA;
-  def_int  %------- Retern value -------
+  elseif pair e::  PA(_set_clr,1) PX(t)(xpart(e),ypart(e)) PA(_set_clr,0)
+  elseif color e:: color_list[incr cntC]:=e; PX(t)(_set_colorA,cntC)
+  fi fi
+  sub_int  %------- Retern value -------
 enddef;
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 def ext_setup=
@@ -362,9 +364,9 @@
 %--------------------------------------------------------------------------------------------------
 def ext(text s)=
   begingroup
-  save wd,ht,n,l,p,sp,ep,am,em,aw,A,B,currentscale;
+  save wd,ht,n,l,p,am,em,aw,A,B,Bs,Be,currentscale;
   numeric A[]bra,B[]ang;
-  pair p[],A[],B[],sp,ep;
+  pair p[],A[],B[],Bs[],Be[];
   ext_setup;
   wd:=mol_wd;
   ht:=mol_ht;
@@ -374,7 +376,11 @@
   An:=cntA;
   Bn:=cntB;
   for i=1 upto An: A[i]:=posA[i]; A[i]bra:=ang_br[i]; endfor
-  for i=1 upto Bn: sp:=posA[sB[i]]; ep:=posA[eB[i]]; B[i]:=0.5[sp,ep]; B[i]ang:=angB[i]; endfor
+  for i=1 upto Bn:
+    Bs[i]:=posA[sB[i]]; Be[i]:=posA[eB[i]];
+    B[i]:=0.5[Bs[i],Be[i]];
+    B[i]ang:=angB[i];
+  endfor
   s addto mol_stru[cntM] also currentpicture; clearit;
   endgroup;
 enddef;
@@ -460,6 +466,29 @@
   angle direction .5ahlength/length(point 1 of p - point 0 of p)  of p
 enddef;
 %=================================================================================================
+def sub_add(expr a,b)=
+  cntD[sub_int]:=cntD[sub_int]+1; comD[sub_int][cntD[sub_int]]:=a; parD[sub_int][cntD[sub_int]]:=b;
+enddef;
+def sub_add_op(expr a,b)=
+  op_cnt[cntP]:=op_cnt[cntP]+1; op_com[cntP][op_cnt[cntP]]:=a; op_par[cntP][op_cnt[cntP]]:=b;
+enddef;
+def sub_pro(text t)(expr a)=
+  for list==t::
+    if list>=sub_int_start:: for i==1 upto cntD[list]:: sub_add(a,parD[list][i]) endfor
+    else:: sub_add(a,list) fi
+  endfor
+enddef;
+def sub_ext(text t)(expr a,b)=
+  for list==t::
+    if list>=sub_int_start::
+      for i==1 upto cntD[list]::
+        if comD[list][i]<>_numeric:: sub_add(comD[list][i],parD[list][i])
+        else:: sub_add(_set_adr,parD[list][i]) sub_add(a,b) fi
+      endfor
+    else:: sub_add(_set_adr,list) sub_add(a,b) fi
+  endfor
+enddef;
+%-------------------------------------------------------------------------------------------------
 def MCa(expr FW,FH)(text s)= MCd(1,1)(FW,FH)(s) enddef;
 def MCc(expr RW,RH)(text s)= MCd(RW,RH)(0.5,0.5)(s) enddef;
 def MCf(text s)=             MCd(1,1)(0.5,0.5)(s) enddef;
@@ -467,15 +496,14 @@
 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,
+       temp_cntB,f_end,f_term,rotT,adrS,f_at,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;
+       colorA,colorB,PA,PO,PP,PX;
   %-----------------------------------------------------------------------------------------------
-  save PA,PAs,PP,PG;
-  def PA(expr a,b)= comD[def_int][incr nA]:=a; parD[def_int][nA]:=b; enddef;
-  def PAs(text t)= for list==t:: PA(xpart(list),ypart(list)) endfor enddef;
-  def PP(expr a,b)= op_com[cntP][incr op_cnt[cntP]]:=a; op_par[cntP][op_cnt[cntP]]:=b; enddef;
-  def PG(expr a,b)= comD[0][incr cntD[0]]:=a; parD[0][cntD[0]]:=b; enddef;
+  def PA= sub_add enddef;
+  def PO= sub_add_op enddef;
+  def PP= sub_pro enddef;
+  def PX= sub_ext enddef;
   %-----------------------------------------------------------------------------------------------
   numeric stkB[],stkA[],stkL[],stkM[],f_char[],ps_adr[],ps_com[],colorA[],colorB[],
           op_com[][],op_par[][],op_cnt[];
@@ -482,8 +510,8 @@
   %-----------------------------------------------------------------------------------------------
   if (sw_numberA>=1)or(sw_numberB>=1): ratio_atom_bond:=0.25; fi
   if (sw_expand=1)or(sw_MOLout=1): expand_set; fi
-  def_num:=def_usr_start;
-  def_int:=def_int_start;
+  sub_usr:=sub_usr_start;
+  sub_int:=sub_int_start;
   par_s:=ASCII("{"); par_e:=ASCII("}"); score_u:=ASCII("_"); hat:=ASCII("^");
   cntA:=cntB:=cntP:=cntC:=0; strD[0]:=""; str_cnt:=2000; crR:=-ratio_chain_ring;
   %===============================================================================================
@@ -514,7 +542,7 @@
     if (sw_numberA>=1)and(i>=numberA_start)and(i<=numberA_end):
        if     sw_numberA=2: nA:=i-numberA_start+1;
        elseif sw_numberA=3: if numberA_end<cntA: nA:=numberA_end-i+1; else: nA:=cntA-i+1; fi
-       else:                nA:=i; fi
+       else:  nA:=i; fi
        if     i<10:  draw_atom(i,posA[i],0,decimal(nA),1);
        else:         draw_atom(i,posA[i]+(-.2atom_wd,0),0,decimal(nA),1);  fi
     elseif sw_numberB>=1:
@@ -530,16 +558,20 @@
   addto mol_stru[cntM] also currentpicture;
   clearit;
   endgroup;
+  %--------------------------------------------------------------------------------------------------
+%%%%  message "count of usr ="& decimal(sub_usr) &" "& decimal(sub_usr-sub_usr_start);
+%%%%  message "count of int ="& decimal(sub_int) &" "& decimal(sub_int-sub_int_start);
+  %--------------------------------------------------------------------------------------------------
 enddef;
 %-------------------------------------------------------------------------------------------------
 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(_chg_len,_size_a) PP(_adj_ang,0) fi
-  if lineT<>0:  PP(_mk_bond,0) fi
+  if lineT<>0:  PO(_tmp_line,lineT) fi
+  if rotT<>0:   PO(_rot_ang,rotT) fi
+  if lenT<>crR: PO(_chg_len,lenT) fi
+  if envT<>hz:  PO(_chg_env,envT) fi
+  if lineT=nl:  PO(_chg_len,_size_a) PO(_adj_ang,0) fi
+  if lineT<>0:  PO(_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
@@ -547,13 +579,15 @@
 enddef;
 %-------------------------------------------------------------------------------------------------
 def ps_get(expr n)=
+  save sub_int;
+  sub_int:=0;
   nA:=cntP;
   nB:=cntD[0];
   for i=n upto cntP:
-    PG(_jp_atom_abs,ps_adr[i]) PG(_push,1)
-    for j=1 upto op_cnt[i]: PG(op_com[i][j],op_par[i][j]) endfor
-    for j=1 upto cntD[ps_com[i]]: PG(comD[ps_com[i]][j],parD[ps_com[i]][j]) endfor 
-    PG(_pop,1) PG(_term,0)
+    PA(_jp_atom_abs,ps_adr[i]) PA(_push,1)
+    for j=1 upto op_cnt[i]: PA(op_com[i][j],op_par[i][j]) endfor
+    for j=1 upto cntD[ps_com[i]]: PA(comD[ps_com[i]][j],parD[ps_com[i]][j]) endfor 
+    PA(_pop,1) PA(_term,0)
   endfor
   proc_bond_atom(nB+1); if cntP>nA: ps_get(nA+1); fi
 enddef;
@@ -615,7 +649,7 @@
 enddef;
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 def proc_bond_atom(expr n)=
-  f_bra:=f_end:=f_term:=rotT:=adrS:=f_lineT:=f_rotT:=f_lenT:=f_envT:=envT:=envB:=strAT:=0;
+  f_bra:=f_end:=f_term:=rotT:=adrS:=f_lineT:=f_rotT:=f_lenT:=f_envT:=envT:=envB:=strAT:=f_at:=0;
   stkL[0]:=bondL:=crR; lenT:=crR; sB[0]:=0; eB[0]:=1; lineT:=si;
   for i=0 upto 5: stkA[i]:=stkB[i]:=0; endfor
   %-----------------------------------------------------------------------------------------------
@@ -630,15 +664,15 @@
   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=_postA:            if f_at=1: ps_put(getA(adrT),par); else: ps_put(cntA+1,par); fi
+  elseif com=_postB: lineT:=dm; if f_at=1: ps_put(getA(adrT),par); else: ps_put(cntA+1,par); fi
+  elseif com=_postC: lineT:=wf; if f_at=1: ps_put(getA(adrT),par); else: ps_put(cntA+1,par); fi
+  elseif com=_postD: lineT:=zf; if f_at=1: ps_put(getA(adrT),par); else: ps_put(cntA+1,par); fi
+  elseif com=_postE: lineT:=nl; if f_at=1: ps_put(getA(adrT),par); else: ps_put(cntA+1,par); fi
+  elseif com=_postF: lineT:=0;  if f_at=1: ps_put(getA(adrT),par); else: ps_put(cntA+1,par); fi
+  elseif com=_postH: lineT:=nl; lenT:=_size_a; ps_put(getA(adrT),par);
+  elseif com=_jp_bond:     termA; tempB:=getB(par); sB[cntB+1]:=sB[tempB]; f_bra:=1;
+  elseif com=_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;
   elseif com=_chg_atom:   numS[getA(adrT)]:=parD[par][1];
   elseif com=_N:          numS[getA(par)]:=parD[N][1];
@@ -661,9 +695,11 @@
   elseif com=_chg_env: envB:=par;
   elseif com=_tmp_env: envT:=par;
   elseif com=_set_clr:
-     if par=1: if lineT<>si: f_lineT:=1; fi if rotT<>0:  f_rotT:=1; fi
-               if lenT<>crR: f_lenT:=1;  fi if envT<>hz: f_envT:=1; fi fi
-     if par=0: f_lineT:=f_rotT:=f_lenT:=f_envT:=rotT:=envT:=0; lineT:=si; lenT:=crR; fi
+     f_at:=par;
+     if     par=1: if lineT<>si: f_lineT:=1; fi if rotT<>0:  f_rotT:=1; fi
+                   if lenT<>crR: f_lenT:=1;  fi if envT<>hz: f_envT:=1; fi
+     elseif par=0: f_lineT:=f_rotT:=f_lenT:=f_envT:=rotT:=envT:=0; lineT:=si; lenT:=crR;
+     fi
   elseif com=_stack_reset: stkA[adrS+1]:=0;
   elseif com=_term:       termA;
   elseif com=_set_colorA: colorA[getA(adrT)]:=par;
@@ -682,7 +718,7 @@
 enddef;
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 def proc_skeleton=
-  adrA:=adrB:=cntA:=cntB:=angT:=adrS:=f_end:=f_bra:=rotT:=f_term:=0;
+  adrA:=adrB:=cntA:=cntB:=angT:=adrS:=f_end:=f_bra:=rotT:=f_term:=f_at:=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]:=posBs:=posBe:=(0,0);
   for i=0 upto 5: stkA[i]:=stkB[i]:=0; endfor
@@ -694,9 +730,9 @@
                 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); 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];
+  elseif com=_jp_bond:  termB; tempB:=getB(par); posBs:=posA[sB[tempB]];
+                        angT:=angB[tempB]; f_bra:=1; rotT:=0;
+  elseif com=_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; posBs:=posA[adrT];
                            angT:=ang_br[adrT]; f_bra:=1; rotT:=0; temp_cntB:=cntB;
@@ -705,10 +741,10 @@
   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>=_postA)and(com<=_postH): 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
+  elseif com=_set_clr: f_at:=par; if par=0: lineT:=si; lenT:=crR; rotT:=envT:=0; fi
   elseif com=_cyc:     f_end:=1; proc_cyc(getA(par));
   elseif com=_cyc_sB:  f_end:=1; proc_cyc(sB[getB(par)]);
   elseif com=_cyc_eB:  f_end:=1; proc_cyc(eB[getB(par)]);
@@ -754,7 +790,7 @@
                     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] else:
+  if m>=sub_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
@@ -871,7 +907,7 @@
         pB:=nA[PA,PB]--nA[PB,PA]; pC:=pA:=Ls--Le; fi
 enddef;
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-def_num:=def_emb_start;
+sub_usr:=sub_emb_start;
 %-------------------------------------------------------------------------------------------------
 lr:='(60 for i==1 upto 10:: ,-60,60 endfor); rl:='(-60,lr);
 def ring expr n= <((-180 DIV n)-90),(_chg_len,0),
@@ -896,11 +932,12 @@
 Na:='("{Na}");Ca:='("{Ca}");Hg:='("{Hg}");Ni:='("{Ni}");Ti:='("{Ti}");U:='("U");
 %-------------------------------------------------------------------------------------------------
 R:='("R"); R1:='("{R^1^}"); R2:='("{R^2^}"); R3:='("{R^3^}"); R4:='("R^4^"); R5:='("{R^5^}");
+JP_AT:='();
 %-------------------------------------------------------------------------------------------------
 plus:='("+"); minus:='("-"); HH:='("H{_2_}"); NH:='(N,*/*H); NnoH:='(); SO:='(S,//O);
 SOO :='(S,//O^-35,//O^35); CHO:='("CHO"); OH:='("OH"); COOH:='("COOH"); CH2:='("C{H_2_}");
 CH3:='("C{H_3_}"); CN:='("CN"); NH2:='("N{H_2_}"); NO2:='("N{O_2_}"); SH:='("SH");
-SO3:='("S{O_3_}"); NMe:=N!:='(N,/Me); iPr:=Me!:='(60,-2\); tBu:='(60,-2\,-3*,60);
+SO3:='("S{O_3_}"); NMe:=N!:='(N,/Me); iPr:=Me!:='(/Me,60); tBu:='(/Me,/Me^60,60);
 OMe:=O!:='(O,!); OEt:=O!2:='(O,!2); OPr:=O!3:='(O,!3); OiPr:=OMe!:='(O,!,iPr); 
 SMe:=S!:='(S,!); SEt:=S!2:='(S,!2); SPr:=S!3:='(S,!3); SiPr:=SMe!:='(S,!,iPr);
 COOMe:=COO!:='(//O,!,O,!); COMe:=CO!:='(//O,!); COEt:=CO!2:='(//O,!2);
@@ -918,6 +955,8 @@
 CO_OH:='(//O,!,O,!,H); C_N:='(!~tm,N); N_HH:='(N,/H,60,H); N_OO:='(N,//O,60~dm,O);
 S_H:='(S,!,H); N_H:='(N,/H); C_HHH:='(/H,/H^60,60,H);
 %--------------------------------------------------------------------------------------------------
+%%%%%%message "count of sub_usr =" & decimal(sub_usr);
+%--------------------------------------------------------------------------------------------------
 def expand_set=
   save CH,NH,NO,OH,CHO,COOH,CN,SH;
   CH3:=C_HHH; NH:=N_H; NH2:=N_HH; NO2:=N_OO; OH:=O_H; CHO:=CO_H; COOH:=CO_OH; CN:=C_N; SH:=S_H;



More information about the tex-live-commits mailing list