texlive[46199] Master/texmf-dist: mcf2graph (3jan18)

commits+karl at tug.org commits+karl at tug.org
Wed Jan 3 22:58:43 CET 2018


Revision: 46199
          http://tug.org/svn/texlive?view=revision&revision=46199
Author:   karl
Date:     2018-01-03 22:58:43 +0100 (Wed, 03 Jan 2018)
Log Message:
-----------
mcf2graph (3jan18)

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

Modified: trunk/Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG	2018-01-03 21:58:26 UTC (rev 46198)
+++ trunk/Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG	2018-01-03 21:58:43 UTC (rev 46199)
@@ -1,6 +1,13 @@
 *******************************************************************************
- Changelog of mcf2graph software package          by Akira Yamaji 2017-10-29
+ Changelog of mcf2graph software package          by Akira Yamaji 2017-01-03
 *******************************************************************************
+[ver. 4.30  / 2018-01-03]
+  -change syntax &n
+     &n => n:&
+  -improve address error detection
+  -improve exand mode
+  -update MCF manual and examples
+
 [ver. 4.29  / 2017-10-29]
   -miner update mcf2graph.mf
 

Modified: trunk/Master/texmf-dist/doc/metapost/mcf2graph/README
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/mcf2graph/README	2018-01-03 21:58:26 UTC (rev 46198)
+++ trunk/Master/texmf-dist/doc/metapost/mcf2graph/README	2018-01-03 21:58:43 UTC (rev 46199)
@@ -1,7 +1,7 @@
 ********************************************************************************
  mcf2graph  : Convert Molecular Coding Format to graphics with METAFONT/METAPOST
  Author     : Akira Yamaji
- version    : 4.29 2017-10-29
+ version    : 4.30 2018-01-03
  E-mail     : mcf2graph at gmail.com
  Located at : http://www.ctan.org/pkg/mcf2graph
 ********************************************************************************

Modified: trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_exa_soc.mf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_exa_soc.mf	2018-01-03 21:58:26 UTC (rev 46198)
+++ trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_exa_soc.mf	2018-01-03 21:58:43 UTC (rev 46199)
@@ -1,7 +1,7 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Molecular Coding Format for mcf_example.tex   by Akira Yamaji  2017.10.29
+% Molecular Coding Format for mcf_example.tex   by Akira Yamaji  2018.01.03
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-input mcf2graph.mf;   %%% it must be version 4.29 or later
+input mcf2graph.mf;   %%% it must be version 4.30 or later
 %-------------------------------------------------------------------------
 font_wd:=33mm;
 font_ht:=24mm;
@@ -74,7 +74,7 @@
 %***************************************************************************
 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)
+     ||,4:@,12~vf:&,23:@,12~vf:&)
 endfont
 %***************************************************************************
 beginfont("EN:Captan","MW:300.578")
@@ -92,7 +92,7 @@
 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,
+  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;
 %***************************************************************************
@@ -179,7 +179,7 @@
       |,-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,
+      60,/*_^30,-53,66,-53~dl,66`1.2,O,>|,$8:&,
       -4:/*O!,-6:@,-30,O,!,//O,!,$11:\,!!,N,!,|,?6,{1,4}:N,4:/_)
 endfont
 %***************************************************************************
@@ -212,16 +212,16 @@
 %***************************************************************************
 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:\,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,
+   $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,
+  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;
 %**************************************************************************
@@ -237,8 +237,8 @@
 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,>|,
+  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
@@ -346,7 +346,7 @@
 endfont;
 %***************************************************************************
 beginfont("EN:Erythromycin","MW:733.937");
-MCf(<30,|<,``1,<-120,60,60,60,-60,60,60,-60,60,60,60,-60,60,60,>|,&1,
+MCf(<30,|<,``1,<-120,60,60,60,-60,60,60,-60,60,60,60,-60,60,60,>|,1:&,
     14:O,13:/*!,{1,9}://O,{2,10}:*/_,{4,6^-35,8,12^35}:/*_,
     {6^35,11,12^-35}:*/OH,
     $3:\*,O,30,|,?6`.7,2:O,{3,5^35}:/_,4:/OH,5^-35:/O!,
@@ -354,7 +354,7 @@
 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,
+  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)
@@ -361,7 +361,7 @@
 endfont
 %**************************************************************************
 beginfont("EN:Mevastatin","MW:390.52")
-  MCf(<30,?6,2=d,4:*/H^60,|,-4=?6,2=d,9:*/_,
+  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)
 endfont
 %***************************************************************************
@@ -372,7 +372,7 @@
 %**************************************************************************
 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
 %**************************************************************************
@@ -382,12 +382,12 @@
 %***************************************************************************
 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_example.tex
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.tex	2018-01-03 21:58:26 UTC (rev 46198)
+++ trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.tex	2018-01-03 21:58:43 UTC (rev 46199)
@@ -1,5 +1,5 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Example of MCF typeset by LaTeX   mcf_examples.tex   by A.Yamaji  2017.01.29
+% Example of MCF typeset by LaTeX   mcf_examples.tex   by A.Yamaji  2018.01.03
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \documentclass[a4paper]{article}
 \usepackage{graphicx}
@@ -42,7 +42,7 @@
   \unitlength=0.01mm\relax \@tempcnta=3300\relax \@tempcntb=3750\relax%
   \begin{picture}(\@tempcntb,\@tempcnta)%
      \advance\@tempcnta -300\relax%
-     \put(20,\@tempcnta){\tiny\bf [\the\fontnum] \MOLnameE}%
+     \put(20,\@tempcnta){\footnotesize\bf [\the\fontnum] \MOLnameE}%
      \advance\@tempcnta -250\relax%
      \put(20,\@tempcnta){\tiny\tt MW:\CALmw { / }FM:\CALfm}%
      \advance\@tempcnta -220\relax%
@@ -74,7 +74,7 @@
  Author : Akira Yamaji \quad Date : \today\\
  Located at : http://www.ctan.org/pkg/mcf2graph\vspace{3mm}\\
 \end{center}
-{\footnotesize ** FM:Molecular formula calculated by mcf2graph \quad
+{\small ** FM:Molecular formula calculated by mcf2graph \quad
  ** MW:Molecular weight calculated by mcf2graph}\vspace{3mm}\\
 \fontnum=1%
 \noindent%

Modified: trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc.mf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc.mf	2018-01-03 21:58:26 UTC (rev 46198)
+++ trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc.mf	2018-01-03 21:58:43 UTC (rev 46199)
@@ -1,7 +1,7 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Molecular Coding Format file for mcf_manual.tex  by Akira.Yamaji 2017.10.29
+% Molecular Coding Format file for mcf_manual.tex  by Akira.Yamaji 2018.01.03
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-input mcf2graph.mf;   %% it must be version 4.29 or later
+input mcf2graph.mf;   %% it must be version 4.30 or later
 %------------------------------------------------------------------------
 sw_auxout:=0;
 sw_mol_frame:=0;
@@ -208,7 +208,7 @@
   sw_numberA:=1;
   ratio_chain_ring:=1;
 %----------------------------------------------------------------------
-  MCf(<30,!6,3:\,!,&5~bd)
+  MCf(<30,!6,3:\,!,5~bd:&)
 endfont
 %***********************************************************************
 beginfont("EN:ring")
@@ -1008,7 +1008,7 @@
 %***************************************************************************
 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,
+  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;
 %***************************************************************************
@@ -1053,8 +1053,8 @@
 %***********************************************************************
 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,
+  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
 %***************************************************************************
@@ -1061,13 +1061,13 @@
 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:@,-120~zb,|,?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");
@@ -1090,7 +1090,7 @@
 %***************************************************************************
 beginfont("EN:Paclitaxel","CAS:33069-62-4","FM:C47H51NO14","MW:853.91")
   MCf(?6,5=dl,3:@,|<,``1,36,45,45,45,45,>|,
-    &$5,-4=?6,-4=?4,-1=wb,-3=wf,-1:O,||,
+    $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)
@@ -1114,4 +1114,3 @@
 endfont
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 bye
-e

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	2018-01-03 21:58:26 UTC (rev 46198)
+++ trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.tex	2018-01-03 21:58:43 UTC (rev 46199)
@@ -1,5 +1,5 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%  Molecular Coding Format manual           by  Akira Yamaji 2017.09.15
+%  Molecular Coding Format manual           by  Akira Yamaji 2018.01.03
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \documentclass[a4paper]{article}
 %%%%\documentclass[a4paper,twoside]{article}
@@ -64,15 +64,19 @@
 \date{\today}
 \maketitle
 \begin{center} Located at http://www.ctan.org/pkg/mcf2graph \end{center}
+\begin{center} Suggestion or request mail to: mcf2graph at gmail.com \end{center}
 %-----------------------------------------------------------------------------
 \thispagestyle{empty}
-\vspace{10mm}
+\vspace{3mm}%
+\begin{center}
 {\@strufont%
-\makebox[10mm]{}\char1 \raisebox{10mm}{\char2 }\char3 \raisebox{10mm}{\char4}\\
-\makebox[10mm]{}\char5 \raisebox{10mm}{\char6 }\char7 \raisebox{10mm}{\char8}\\
-\makebox[10mm]{}\char9 \raisebox{10mm}{\char10}\char11\raisebox{10mm}{\char12}\\
-\makebox[10mm]{}\char13\raisebox{10mm}{\char14}\char15\raisebox{10mm}{\char16}\\
-\makebox[10mm]{}\char17\raisebox{10mm}{\char18}\char19\raisebox{10mm}{\char20}\\}
+\char1 \raisebox{10mm}{\char2 }\char3 \raisebox{10mm}{\char4}\\
+\char5 \raisebox{10mm}{\char6 }\char7 \raisebox{10mm}{\char8}\\
+\char9 \raisebox{10mm}{\char10}\char11\raisebox{10mm}{\char12}\\
+\char13\raisebox{10mm}{\char14}\char15\raisebox{10mm}{\char16}\\
+\char17\raisebox{10mm}{\char18}\char19\raisebox{10mm}{\char20}\\
+}%
+\end{center}
 %-----------------------------------------------------------------------------
 \twocolumn
 \thispagestyle{empty}
@@ -95,8 +99,8 @@
 \subsection{Make bond}
 \subsubsection{Chain}
 \begin{verbatim}
-  real number plus (+): anticlockwize 
-  real number minus(-): clockwize
+  real number plus (+): Counterclockwize 
+  real number minus(-): Clockwize
 
   <15,-30,45,-45,30,-30,60
 \end{verbatim}
@@ -153,9 +157,9 @@
 %-----------------------------------------------------------------------------
 \subsubsection{Connect atom}
 \begin{verbatim}
-  &n : Connect to An
+  n:& : Connect to An
 
-  <30,!6,3:\,!,&5~bd
+  <30,!6,3:\,!,5~bd:&
 \end{verbatim}
 \MCFstructure
 %-----------------------------------------------------------------------------
@@ -162,7 +166,7 @@
 \subsubsection{Ring}
 \begin{verbatim}
   ?n : n membered ring(3<=n<=20)
-  ?6 : <-120,60,60,60,60,60,&1
+  ?6 : <-120,60,60,60,60,60,1:&
    ?6
 \end{verbatim}
 \MCFstructure
@@ -1170,7 +1174,7 @@
 %-----------------------------------------------------------------------------
 \subsection{Endosulfan}
 \begin{verbatim}
-  <26,?7,7=?6[13],11:@,208~wf`1.45,&8~wb,
+  <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}
@@ -1235,9 +1239,9 @@
 \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
 \end{verbatim}
@@ -1249,7 +1253,7 @@
    10:\,*/OH,/H~zf^-60,!,
    |,?6,2:N,1:*/H^60,
    4:*\,!!,
-   2:@,165~zf,60,&5~zb
+   2:@,165~zf,60,5~zb:&
 \end{verbatim}
 \MCFstructure
 %-----------------------------------------------------------------------------
@@ -1257,7 +1261,7 @@
 \begin{verbatim}
   <-30,O,!,//O,!,!,Ph,
   $1:@,-120~zb,
-  |,?7,6:*\^190`1.02,N,/_,&3~wb,
+  |,?7,6:*\^190`1.02,N,/_,3~wb:&,
   $3:\~wv,!,OH
 \end{verbatim}
 \MCFstructure
@@ -1289,7 +1293,7 @@
 %-----------------------------------------------------------------------------
 \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,
   8:/*H^-60,9:*/_^60,10://O,
@@ -1349,8 +1353,8 @@
 %------------------------------------------------------------------------
 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
 endfont;                                                > end font
@@ -1585,8 +1589,8 @@
   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
   )

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	2018-01-03 21:58:26 UTC (rev 46198)
+++ trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.tex	2018-01-03 21:58:43 UTC (rev 46199)
@@ -1,7 +1,7 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Example of  MCF typest with LuaLaTeX(luamplib)     by A.Yamaji    2017.10.29
+% Example of  MCF typest with LuaLaTeX(luamplib)     by A.Yamaji    2018.01.03
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%% mcf2graph.mf it must be version 4.29 or later
+%%% mcf2graph.mf it must be version 4.30 or later
 \documentclass{article}
 %------------------------------------------------------------------------------
 \usepackage{luamplib}%
@@ -9,16 +9,15 @@
 \usepackage{textcomp}%
 \mplibcodeinherit{enable}%
 \mplibverbatim{enable}%
-\everymplib{if unknown Ph1:
-              input mcf2graph.mf;
-              sw_auxout:=1;
-              sw_label_emu:=1;
-              sw_font_frame:=4;
-              max_bond_length:=4.5mm;
-              defaultfont:="uhvr8r";
-              defaultsize:=8bp;
-              defaultscale:=0.7;
-            fi}%
+\everymplib{if unknown Ph1: input mcf2graph.mf; fi
+            sw_auxout:=1;
+            sw_label_emu:=1;
+            sw_font_frame:=4;
+            max_bond_length:=4.5mm;
+            defaultfont:="uhvr8r";
+            defaultsize:=8bp;
+            defaultscale:=1;
+           }%
 %------------------------------------------------------------------------------
 \pagestyle{empty}
 \topmargin=-20mm
@@ -35,25 +34,26 @@
 \end{center}
 \noindent%
 %------------------------------------------------------------------------------------
-{{\small {\tt FM(C) :} molecular formula calculated by mcf2graph}\\
-{{\small {\tt MW(C) :} molecular weight calculated by mcf2graph}\\
-{{\small {\tt MW(D) :} molecular weight from literature data}\vspace{5mm}\\
+{{\tt FM(C) :} molecular formula calculated by mcf2graph\\
+{{\tt MW(C) :} molecular weight calculated by mcf2graph\\
+{{\tt MW(D) :} molecular weight from literature data\vspace{5mm}\\
 \begin{mplibcode}
   font_wd:=80mm; font_ht:=40mm;
   beginfont("NO:1","EN:Chlorophyll a","MW:893.49")
     MCd(.9,.9)(0,0.5)(<54,
      |<,``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:\,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}:/_,
     )
     EXT(
       label.lrt("("&inf_EN&")",(0,h));
-      label.lrt("FM(C): "&cal_FM,(0,h-4mm));
-      label.lrt("MW(C): "&cal_MW,(0,h-8mm));
-      label.lrt("MW(D): "&inf_MW,(0,h-12mm));
+      defaultscale:=0.8;
+      label.lrt("FM(C): "&cal_FM,(0,h-5mm));
+      label.lrt("MW(C): "&cal_MW,(0,h-9mm));
+      label.lrt("MW(D): "&inf_MW,(0,h-13mm));
     )
   endfont
 \end{mplibcode}
@@ -62,9 +62,9 @@
 |<,``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:\~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}:/_,
@@ -83,9 +83,10 @@
   )
   EXT(
     label.lrt("("&inf_EN&")",(0,h));
-    label.lrt("FM(C): "&cal_FM,(0,h-4mm));
-    label.lrt("MW(C): "&cal_MW,(0,h-8mm));
-    label.lrt("MW(D): "&inf_MW,(0,h-12mm));
+    defaultscale:=0.8;
+    label.lrt("FM(C): "&cal_FM,(0,h-5mm));
+    label.lrt("MW(C): "&cal_MW,(0,h-9mm));
+    label.lrt("MW(D): "&inf_MW,(0,h-13mm));
   )
 endfont
 \end{mplibcode}
@@ -103,7 +104,7 @@
 \begin{mplibcode}
   font_wd:=80mm; font_ht:=30mm;
   beginfont("NO:2","EN:Limonin","MW:470.51")
-  MCa(.6,0.5)(<30,
+  MCa(0.7,0.5)(<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,
@@ -111,9 +112,10 @@
      )
     EXT(
       label.lrt("("&inf_EN&")",(0,h));
-      label.lrt("FM(C): "&cal_FM,(0,h-4mm));
-      label.lrt("MW(C): "&cal_MW,(0,h-8mm));
-      label.lrt("MW(D): "&inf_MW,(0,h-12mm));
+      defaultscale:=0.8;
+      label.lrt("FM(C): "&cal_FM,(0,h-5mm));
+      label.lrt("MW(C): "&cal_MW,(0,h-9mm));
+      label.lrt("MW(D): "&inf_MW,(0,h-13mm));
     )
   endfont
 \end{mplibcode}
@@ -133,23 +135,24 @@
 \begin{mplibcode}
 font_wd:=80mm; font_ht:=20mm;
 beginfont("NO:4","EN:Gibberellin A3","MW:346.37");
-  MCa(.6,0.5)(
-   <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,
+  MCa(0.8,0.5)(
+   <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)
     EXT(
       label.lrt("("&inf_EN&")",(0,h));
-      label.lrt("FM(C): "&cal_FM,(0,h-4mm));
-      label.lrt("MW(C): "&cal_MW,(0,h-8mm));
-      label.lrt("MW(D): "&inf_MW,(0,h-12mm));
+      defaultscale:=0.8;
+      label.lrt("FM(C): "&cal_FM,(0,h-5mm));
+      label.lrt("MW(C): "&cal_MW,(0,h-9mm));
+      label.lrt("MW(D): "&inf_MW,(0,h-13mm));
     )
 endfont;
 \end{mplibcode}
 \begin{minipage}[b]{85mm}
 \begin{verbatim}
-<18,?5,3=?7,5=?6[12],8:@,160`1.3,&3,
+<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,
+5:@,40~zf`1,O,60,//O^180,14~zb:&,
 2:/COOH,7://_,13:*/OH,8:/*OH,
 14:*/_,{1^60,4^60}:*/H)
 \end{verbatim}
@@ -159,16 +162,17 @@
 \begin{mplibcode}
 font_wd:=80mm; font_ht:=25mm;
 beginfont("EN:Morphine","MW:285.343")
-  MCf(
+  MCa(0.7,0.5)(
    <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
   )
   EXT(
     label.lrt("("&inf_EN&")",(0,h));
-    label.lrt("FM(C): "&cal_FM,(0,h-4mm));
-    label.lrt("MW(C): "&cal_MW,(0,h-8mm));
-    label.lrt("MW(D): "&inf_MW,(0,h-12mm));
+    defaultscale:=0.8;
+    label.lrt("FM(C): "&cal_FM,(0,h-5mm));
+    label.lrt("MW(C): "&cal_MW,(0,h-9mm));
+    label.lrt("MW(D): "&inf_MW,(0,h-13mm));
   )
 endfont
 \end{mplibcode}
@@ -177,7 +181,7 @@
 <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,
+45,N,/_,9~wb:&,
 15=dl,
 6:/OH,8^180:*/H,12:/*OH
 \end{verbatim}
@@ -187,8 +191,8 @@
 \begin{mplibcode}
 font_wd:=80mm; font_ht:=35mm;
 beginfont("NO:5","EN:Erythromycin","MW:733.93");
-  MCa(.6,0.5)(
-    <30,|<,``1,<-120,60,60,60,-60,60,60,-60,60,60,60,-60,60,60,>|,&1,
+  MCa(0.8,0.5)(
+    <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!,
@@ -196,9 +200,10 @@
      )
     EXT(
       label.lrt("("&inf_EN&")",(0,h));
-      label.lrt("FM(C): "&cal_FM,(0,h-4mm));
-      label.lrt("MW(C): "&cal_MW,(0,h-8mm));
-      label.lrt("MW(D): "&inf_MW,(0,h-12mm));
+      defaultscale:=0.8;
+      label.lrt("FM(C): "&cal_FM,(0,h-5mm));
+      label.lrt("MW(C): "&cal_MW,(0,h-9mm));
+      label.lrt("MW(D): "&inf_MW,(0,h-13mm));
     )
   endfont;
 \end{mplibcode}
@@ -205,7 +210,7 @@
 \begin{minipage}[b]{85mm}
 \begin{verbatim}
 <30,|<,``1,<-120,60,60,60,-60,60,
-60,-60,60,60,60,-60,60,60,>|,&1,
+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,
@@ -220,7 +225,8 @@
 \begin{mplibcode}
 font_wd:=80mm; font_ht:=35mm;
 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,
+  MCa(0.8,0.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,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
@@ -227,19 +233,21 @@
   )
   EXT(
     label.lrt("("&inf_EN&")",(0,h));
-    label.lrt("FM(C): "&cal_FM,(0,h-4mm));
-    label.lrt("MW(C): "&cal_MW,(0,h-8mm));
-    label.lrt("MW(D): "&inf_MW,(0,h-12mm));
+    defaultscale:=0.8;
+    label.lrt("FM(C): "&cal_FM,(0,h-5mm));
+    label.lrt("MW(C): "&cal_MW,(0,h-9mm));
+    label.lrt("MW(D): "&inf_MW,(0,h-13mm));
   )
 endfont
 \end{mplibcode}
 \begin{minipage}[b]{85mm}
 \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,
 8:/*H^-60,9:*/_^60,10://O,
-$1:\,O,!,//O,!,*/OH,!,/Ph,60~wf,NH,-60,//O,60,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)
 \end{verbatim}
@@ -250,12 +258,12 @@
 \begin{mplibcode}
 font_wd:=80mm; font_ht:=65mm;
 beginfont("NO:6","EN:Vancomycin","MW:1449.25");
-  MCa(0.5,0)(
+  MCa(0.9,0)(
     <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,>|,
+    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,
@@ -265,9 +273,10 @@
     )
     EXT(
       label.lrt("("&inf_EN&")",(0,h));
-      label.lrt("FM(C): "&cal_FM,(0,h-4mm));
-      label.lrt("MW(C): "&cal_MW,(0,h-8mm));
-      label.lrt("MW(D): "&inf_MW,(0,h-12mm));
+      defaultscale:=0.8;
+      label.lrt("FM(C): "&cal_FM,(0,h-5mm));
+      label.lrt("MW(C): "&cal_MW,(0,h-9mm));
+      label.lrt("MW(D): "&inf_MW,(0,h-13mm));
     )
 endfont;
 \end{mplibcode}
@@ -276,10 +285,10 @@
 <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,
+-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,>|,
+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,
@@ -315,9 +324,10 @@
     )
     EXT(
       label.lrt("("&inf_EN&")",(0,.8h));
-      label.lrt("FM(C): "&cal_FM,(0,.8h-4mm));
-      label.lrt("MW(C): "&cal_MW,(0,.8h-8mm));
-      label.lrt("MW(D): "&inf_MW,(0,.8h-12mm));
+      defaultscale:=0.8;
+      label.lrt("FM(C): "&cal_FM,(0,.8h-5mm));
+      label.lrt("MW(C): "&cal_MW,(0,.8h-9mm));
+      label.lrt("MW(D): "&inf_MW,(0,.8h-13mm));
     )
   endfont
 \end{mplibcode}

Modified: trunk/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf
===================================================================
--- trunk/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf	2018-01-03 21:58:26 UTC (rev 46198)
+++ trunk/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf	2018-01-03 21:58:43 UTC (rev 46199)
@@ -1,5 +1,5 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% mcf2graph ver 4.29     Copyright (c) 2013-2017   Akira Yamaji
+% mcf2graph ver 4.30     Copyright (c) 2013-2018   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,7 +31,7 @@
 % Set to use plain.mp label,arrow : mpost -s ahlength=3 FILENAME
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 tracingstats:=1;
-message " This is mcf2graph ver 4.2  2017.10";
+message " This is mcf2graph ver 4.3  2018.01";
 %-------------------------------------------------------------------------------------------------
 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[],
@@ -114,10 +114,10 @@
 %--------------------------------------------------------------------------------------------------
 def def_com(expr n)(text tx)= nA:=n; forsuffixes list=tx:: list:=nA; nA:=nA+1; endfor enddef;
 def_com(-4000)(_term,_jp_atom,_jp_atom_abs,_jp_bond,_cyc,_cyc_sB,_cyc_eB,_set_line,_chg_line,
-  _dl,_mb,_N,_O,_S,_H,_tmp_line,_chg_len,_get_len,_ring_len,_tmp_len,_rot_ang,_adj_ang,_chg_env,
+  _dl,_mb,_N,_O,_S,_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,_postH,_stack_reset,
   _set_clr,_set_adr,_mk_bond,_set_atom,_arg_ang,_chg_atom,_tmp_rot,_fuse,_push,_pop,
-  _size_a,_numeric);
+  _size_a,_numeric,_jump_at,_connect_at);
 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=
@@ -128,12 +128,13 @@
   ratio_wedge_bond,ratio_atomgap_atom,ratio_bond_width,font_wd,font_ht,
   bond_len,offset_atom,offset_wedge,max_bond_length,offset_zebra_gap,offset_bond_gap,
   thickness_font_frame,offset_thickness,numberA_start,numberA_end,numberB_start,numberB_end,
-  atomfontsize,defaultsize,defaultscale,labeloffset
+  atomfontsize,defaultsize,defaultscale,labeloffset,
+  Me,Et,Pr,Bu,iPr,tBu,CH3,CF3,CCl3,CBr3,NH,NH2,NO2,OH,CHO,COOH,CN,SH,OMe,OEt,SMe,SEt,
+  !CH3,!NH2,!OH,!CHO,!COOH,!CN,!SH,!NO2
 enddef;
 %--------------------------------------------------------------------------------------------------
 vardef pic_c(expr i,s)= substring(i,i+1) of s enddef;
 %--------------------------------------------------------------------------------------------------
-nA:=0; for list=parameter_list: save_para[incr nA]:=list; endfor
 def store_par(text t)=
   nA:=0; for list=t: if save_para[incr nA]<>list: save_para[nA]:=list; fi endfor enddef;
 def restore_par(text t)=  nA:=0;
@@ -196,16 +197,14 @@
 enddef;
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 def set_def_MC=
-  save /,//,/*,*/,**,~,~~,^,^^,`,'`,<,>,>>,:>,&,&$,:,=,\,\\,*\,\*,@,$,{,},
+  save /,//,/*,*/,**,~,~~,^,^^,`,'`,<,>,>>,:>,&,:,=,\,\\,*\,\*,@,$,{,},
        |,||,|<,>|,|:,:|,_,d,w,z,inside_def_MC;
   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;
+  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;
   def >>primary n == (_chg_env,n) enddef; def ``primary n == (_chg_len,n) enddef;
@@ -212,7 +211,8 @@
   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 @ == JP_AT enddef; def \ == @,0 enddef;
+  def & == _connect_at enddef;
+  def @ == _jump_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;
@@ -234,9 +234,10 @@
       elseif numeric list::
         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 
-        else:: comD[k][incr cntD[k]]:=_mk_bond; parD[k][cntD[k]]:=list; fi
+            comD[k][incr cntD[k]]:=comD[list][i]; parD[k][cntD[k]]:=parD[list][i];
+          endfor 
+        else:: comD[k][incr cntD[k]]:=_mk_bond; parD[k][cntD[k]]:=list;
+        fi
       elseif string list:: strD[incr str_cnt]:=list;
         comD[k][incr cntD[k]]:=_set_atom; parD[k][cntD[k]]:=str_cnt;
         if pic_c(0,list)=="{":: tbl_str_wd[str_cnt]:=1.6; else:: tbl_str_wd[str_cnt]:=1; fi
@@ -259,13 +260,13 @@
   sub_int    %------- Retern value -------
 enddef;
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-def FR(expr a)(expr b) =
+def FR(expr a,b) =
   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) =
+def FFR(expr a,b,c) =
   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)
@@ -274,7 +275,7 @@
   PA(_pop,0) if ypart(a)<=0:: PA(_cyc_eB,ypart(a)-c+1) else:: PA(_cyc_eB,ypart(a)) fi
 enddef;
 %-------------------------------------------------------------------------------------------------
-def FRR(expr a)(expr b)(expr c) =
+def FRR(expr a,b,c) =
   PA(_jp_bond,a) PA(_rot_ang,180) PA(_push,0) PA(_chg_len,c DIV 10)
   if     b==5:: 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(_mk_bond,60-(c-8)) for i==1 upto 3:: PA(_mk_bond,60+((c-8) DIV 2)) endfor
@@ -285,40 +286,42 @@
   PA(_pop,0) if a>=1:: PA(_cyc_eB,0) else:: PA(_cyc_eB,list) fi
 enddef;
 %==================================================================================================
-vardef change_bond(expr a)(expr e) =
+vardef change_bond(expr a,b) =
   sub_int:=sub_int+1;
   cntD[sub_int]:=0;
-  if known e:: if numeric e::
-    if (e>=si)and(e<=bd_):: if e==dl:: PP(a)(_dl) else:: PX(a)(_set_line,e) fi
-    elseif (e>=?3)and(e<=?20)::
-        if a>=sub_int_start:: for i==1 upto cntD[a]:: FR(parD[a][i])(e-?3+3) endfor
-        else::                FR(a)(e-?3+3)
-        fi
-    elseif e==Ph1:: FR(a)(6) PA(_dl,-2) PA(_dl,-4)
-    elseif e==Ph2:: FR(a)(6) PA(_dl,-1) PA(_dl,-3) PA(_dl,-5)
-    elseif e==JP_AT:: PA(_jp_bond,a)
-    elseif comD[e][1]==_fuse::
-      if      comD[e][2]<=6::                      FFR(a)(parD[e][1])(comD[e][2])
-      elseif (comD[e][2]>=11)and(comD[e][2]<=15):: FRR(a)(parD[e][1])(comD[e][2])
+  if known b:: if numeric b::
+    if (b>=si)and(b<=bd_):: if b==dl:: PP(a,_dl) else:: PX(a)(_set_line,b) fi
+    elseif (b>=?3)and(b<=?20)::
+      if a>=sub_int_start:: for i==1 upto cntD[a]:: FR(parD[a][i],b-?3+3) endfor
+      else::                FR(a,b-?3+3)
       fi
+    elseif b==Ph1:: FR(a,6) PA(_dl,-2) PA(_dl,-4)
+    elseif b==Ph2:: FR(a,6) PA(_dl,-1) PA(_dl,-3) PA(_dl,-5)
+    elseif b==_jump_at:: PA(_jp_bond,a)
+    elseif b==_connect_at:: PA(_cyc_sB,a)
+    elseif comD[b][1]==_fuse::
+      if      comD[b][2]<=6::                      FFR(a,parD[b][1],comD[b][2])
+      elseif (comD[b][2]>=11)and(comD[b][2]<=15):: FRR(a,parD[b][1],comD[b][2])
+      fi
     fi
-  elseif color e:: color_list[incr cntC]:=e; PX(a)(_set_colorB,cntC)
+  elseif color b:: color_list[incr cntC]:=b; PX(a)(_set_colorB,cntC)
   fi fi
   sub_int    %------- Retern value -------
 enddef;
 %-------------------------------------------------------------------------------------------------
-vardef change_atom(expr a)(expr e)=
+vardef change_atom(expr a,b)=
   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(a)(_N) elseif e==O:: PP(a)(_O) elseif e==S:: PP(a)(_S)
-                         else::    PX(a)(_chg_atom,e)
+  if known b:: if numeric b::
+    if (b>=H)and(b<=U):: if b==N:: PP(a,_N) elseif b==O:: PP(a,_O) elseif b==S:: PP(a,_S)
+                         else::    PX(a)(_chg_atom,b)
                          fi
-    elseif e==NH::    PA(_set_clr,1) PP(a)(_N) PX(a)(_postH,H) PA(_set_clr,0)
-    elseif e==JP_AT:: PA(_jp_atom,a)
+    elseif b==NH::    PA(_set_clr,1) PP(a,_N) PX(a)(_postH,H) PA(_set_clr,0)
+    elseif b==_jump_at:: PA(_jp_atom,a)
+    elseif b==_connect_at:: PA(_cyc,a)
     fi
-  elseif pair e::  PA(_set_clr,1) PX(a)(xpart(e),ypart(e)) PA(_set_clr,0)
-  elseif color e:: color_list[incr cntC]:=e; PX(a)(_set_colorA,cntC)
+  elseif pair b::  PA(_set_clr,1) PX(a)(xpart(b),ypart(b)) PA(_set_clr,0)
+  elseif color b:: color_list[incr cntC]:=b; PX(a)(_set_colorA,cntC)
   fi fi
   sub_int  %------- Retern value -------
 enddef;
@@ -473,18 +476,18 @@
   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(expr c)(expr a)=
-  if c>=sub_int_start:: for i==1 upto cntD[c]:: sub_add(a,parD[c][i]) endfor
-  else:: sub_add(a,c) fi
+def sub_pro(expr a,b)=
+  if a>=sub_int_start:: for i==1 upto cntD[a]:: sub_add(b,parD[a][i]) endfor else:: sub_add(b,a) fi
 enddef;
 %-------------------------------------------------------------------------------------------------
 def sub_ext(expr c)(expr a,b)=
   if c>=sub_int_start::
     for i==1 upto cntD[c]::
-      if comD[c][i]<>_numeric:: sub_add(comD[c][i],parD[c][i])
-      else:: sub_add(_set_adr,parD[c][i]) sub_add(a,b) fi
+      if comD[c][i]==_numeric:: sub_add(_set_adr,parD[c][i]) sub_add(a,b)
+      else:: sub_add(comD[c][i],parD[c][i]) fi
     endfor
-  else:: sub_add(_set_adr,c) sub_add(a,b) fi
+  else:: sub_add(_set_adr,c) sub_add(a,b)
+  fi
 enddef;
 %=================================================================================================
 def MCa(expr FW,FH)(text s)= MCd(1,1)(FW,FH)(s) enddef;
@@ -494,9 +497,9 @@
 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_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,PA,PO,PP,PX;
+       temp_cntB,f_end,f_term,rotT,adrS,f_at,f_lineT,f_rotT,f_lenT,f_envT,angT,tempB,tempA,
+       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,PA,PO,PP,PX;
   %-----------------------------------------------------------------------------------------------
   def PA= sub_add enddef;
   def PO= sub_add_op enddef;
@@ -564,8 +567,9 @@
   %-----------------------------------------------------------------------------------------------
 enddef;
 %-------------------------------------------------------------------------------------------------
-def ps_put(expr n,p)=
-  ps_adr[incr cntP]:=n; ps_com[cntP]:=p; op_cnt[cntP]:=0;
+def ps_put=
+  if f_at=1: An:=getA(adrT); check_adrA(An); else: An:=cntA+1; fi
+  ps_adr[incr cntP]:=An; ps_com[cntP]:=par; op_cnt[cntP]:=0;
   if lineT<>0:  PO(_tmp_line,lineT) fi
   if rotT<>0:   PO(_rot_ang,rotT) fi
   if lenT<>crR: PO(_chg_len,lenT) fi
@@ -580,9 +584,7 @@
 %-------------------------------------------------------------------------------------------------
 def ps_get(expr n)=
   save sub_int;
-  sub_int:=0;
-  nA:=cntP;
-  nB:=cntD[0];
+  sub_int:=0; nA:=cntP; nB:=cntD[0];
   for i=n upto cntP:
     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
@@ -654,8 +656,7 @@
   for i=0 upto 5: stkA[i]:=stkB[i]:=0; endfor
   %-----------------------------------------------------------------------------------------------
   for i=n upto cntD[0]:
-  com:=comD[0][i];
-  par:=parD[0][i];
+  com:=comD[0][i]; par:=parD[0][i];
   if     com=_push: 
     if par=1: stkL[adrS]:=bondL; stkA[incr adrS]:=adrA:=cntA; stkB[adrS]:=adrB:=cntB;
     elseif par=0: temp_len:=bondL; fi
@@ -664,21 +665,20 @@
   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=_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=_postA:            ps_put;
+  elseif com=_postB: lineT:=dm; ps_put;
+  elseif com=_postC: lineT:=wf; ps_put;
+  elseif com=_postD: lineT:=zf; ps_put;
+  elseif com=_postE: lineT:=nl; ps_put;
+  elseif com=_postF: lineT:=0;  ps_put;
+  elseif com=_postH: lineT:=nl; lenT:=_size_a; ps_put;
+  elseif com=_jp_bond: termA; tempB:=getB(par); check_adrB(tempB); sB[cntB+1]:=sB[tempB]; f_bra:=1;
+  elseif com=_jp_atom: termA; tempA:=getA(par); check_adrA(tempA); sB[cntB+1]:=tempA; 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];
   elseif com=_O:          numS[getA(par)]:=parD[O][1];
   elseif com=_S:          numS[getA(par)]:=parD[S][1];
-  elseif com=_H:          ps_put(getA(par),H);
   elseif com=_chg_len: if par=_ring_len: bondL:=ringL;
                        elseif par=0: if lenT<>crR: bondL:=lenT; else: if bondL<0: bondL:=1; fi fi
                        else: bondL:=par; fi
@@ -689,7 +689,7 @@
   elseif com=_mb:       lineB[getB(-1)]:=par;
   elseif (com=_chg_line)or(com=_tmp_line): lineT:=par;
   elseif com=_tmp_rot:    rotT:=par;
-  elseif com=_cyc:        f_end:=getA(par); add_atom;
+  elseif com=_cyc:     f_end:=getA(par); check_adrA(f_end); add_atom;
   elseif com=_cyc_eB:  f_end:=eB[getB(par)]; add_atom;
   elseif com=_cyc_sB:  f_end:=sB[getB(par)]; add_atom;
   elseif com=_chg_env: envB:=par;
@@ -716,6 +716,11 @@
               if f_MP=1: colorA[cntA]:=colorB[cntA]:=0; fi  else: f_bra:=0; fi
   if f_end=0: eB[cntB]:=cntA+1; f_term:=0; else: eB[cntB]:=f_end; f_end:=0; f_term:=1; fi
 enddef;
+%-------------------------------------------------------------------------------------------------
+def check_adrA(expr n)=
+  if (if f_term=0: n>(cntA+1) else: n>cntA fi)or(n<=0): errmessage("adrA=[ "&decimal(n)&" ]"); fi
+enddef;
+def check_adrB(expr n)= if (n>cntB)or(n<=0): errmessage("adrB=[ "&decimal(n)&" ]"); fi enddef;
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 def proc_skeleton=
   adrA:=adrB:=cntA:=cntB:=angT:=adrS:=f_end:=f_bra:=rotT:=f_term:=f_at:=0;
@@ -776,19 +781,23 @@
 enddef;
 %==================================================================================================
 vardef getA(expr n)=
- if n>=0: stkA[adrS+1]+n elseif n>=-999: cntA+n+1 else: stkA[adrS]+n+4095 fi enddef;
+ if n>=0: stkA[adrS+1]+n elseif n>=-999: cntA+n+1 else: stkA[adrS]+n+4095 fi
+enddef;
+%--------------------------------------------------------------------------------------------------
 vardef getB(expr n)=
  if n>=1: stkB[adrS+1]+n elseif n=0: tempB elseif n>=-999: cntB+n+1 else: stkB[adrS]+n+4095 fi
 enddef;
+%--------------------------------------------------------------------------------------------------
 def termA= if f_term=0: if f_bra=0: numS[incr cntA]:=strAT; strAT:=0;
            if f_MP=1: colorA[cntA]:=0; fi else: f_bra:=0; fi f_term:=1; fi enddef;
-def termB=
-  if f_term=0: if f_bra=0: ang_br[incr cntA]:=angT; else: f_bra:=0; fi f_term:=1; fi enddef;
+def termB= if f_term=0: if f_bra=0:ang_br[incr cntA]:=angT; else:f_bra:=0; fi f_term:=1; fi enddef;
+%--------------------------------------------------------------------------------------------------
 def proc_cyc(expr n)= add_bond(angle(posA[n]-posBs)-angT);  enddef;
-def glu_c(expr n)=  if numS[n]<>0: nB:=angT mod 180; nC:=.5tbl_str_wd[numS[n]]*atom_wd;
-                    if (nB<45)or(nB>135):glu:=glu+((sind(nB)*nC)++nC);
-                    else                :glu:=glu+((cosd(nB)*.5atom_wd)++.5atom_wd) fi fi
-enddef;
+%--------------------------------------------------------------------------------------------------
+def glu_c(expr n)= if numS[n]<>0: nB:=angT mod 180; nC:=.5tbl_str_wd[numS[n]]*atom_wd;
+                   if (nB<45)or(nB>135):glu:=glu+((sind(nB)*nC)++nC);
+                   else                :glu:=glu+((cosd(nB)*.5atom_wd)++.5atom_wd) fi fi  enddef;
+%--------------------------------------------------------------------------------------------------
 vardef proc_env(expr n,m,a,b)=  r:=(n mod 360);
   if m>=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
@@ -924,16 +933,17 @@
         pB:=nA[PA,PB]--nA[PB,PA]; pC:=pA:=Ls--Le; fi
 enddef;
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+def ring expr n= <((-180 DIV n)-90),(_chg_len,0),
+                 for i==2 upto n:: ,(360 DIV n) endfor,(_cyc_sB,1-n) enddef;
+%-------------------------------------------------------------------------------------------------
 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),
-  for i==2 upto n:: ,(360 DIV n) endfor,(_cyc_sB,1-n) enddef;
 for i=3 upto 20: ?[i]:='(|:,ring i,:|); endfor
 Ph:=Ph1:='(?6,(_dl,-2),(_dl,-4),(_dl,-6)); Ph2:='(?6,(_dl,-1),(_dl,-3),(_dl,-5));
-!:=!1:='((_mk_bond,_arg_ang)); !!:='(!,(_mb,db)); !!!:='(!,(_mb,tm));  !0:='(<180,180);
+!:=!1:='((_mk_bond,_arg_ang)); !!:='(!,(_mb,db)); !!!:='(!,(_mb,tm)); !0:='(<180,180);
 for i=2  upto 20: ![i]:='(|:,(_get_len,0),! for j==2 upto i::,! endfor,:|); endfor
-Me:='(); Et:=!; Pr:=!2; Bu:=!3;
+Me:='(); Et:='(!); Pr:=!x2:='(!,!); Bu:=!x3:='(!,!,!);
 for i=4,5,6:   for j=2 upto i-2: ?[i][j]:='((_fuse,i),(j,0)); endfor endfor
 for i=5,6,7,8: for j=11 upto 15: ?[i][j]:='((_fuse,i),(j,0)); endfor endfor
 %=================================================================================================
@@ -943,34 +953,31 @@
 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!:='(/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);
-OCOMe:=OCO!:='(O,!,//O,!); COOEt:=COO!2:='(//O,!,O,!2);
-COOiPr:=COOMe!:='(//O,!,O,!,iPr); COOPr:=COO!3:='(//O,!,O,!3);
-COOtBu:='(//O,!,O,!,tBu); NMeMe:=NMe!:='(N,/Me,!); NHCOMe:=NHCO!:='(NH,!,//O,!);
-NHiPr:=NHMe!:='(NH,!,iPr); NHtBu:='(NH,!,tBu); NHH:='(N,/H,!,H);
-NHMe:=NH!:='(NH,!); NHEt:=NH!2:='(NH,!2); !NH!:='(!,NH,!); !CO!:='(!,//O,!);
-!OH:='(!,OH); !SH:='(!,SH); !NH2:='(!,NH2); !OMe:=!O!:='(!,OMe); !COOH:='(!,COOH);
-!CH3:='(!,"C{H_3_}"); !CN:='(!,CN); !iPr:=!Me!:='(!,iPr); !tBu:='(!,tBu); !Ph:='(!,Ph);
-!?3:='(!,?3); !?4:='(!,?4); !?5:='(!,?5); !?6:='(!,?6);
-CF2:='(/F,60,F); CCl2:='(/Cl,60,Cl); CBr2:='(/Br,60,Br); CF3:='(/F,/F^60,60,F);
-CCl3:='(/Cl,/Cl^60,60,Cl);CBr3:='(/Br,/Br^60,60,Br);O_H:='(O,!,H);CO_H:='(//O,!,H);
+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_}"); NH:='(N,*/*H);
+NMe:=N!:='(N,/Me); iPr:=Me!:='(/Me,60); tBu:='(/Me,/Me^60,60); SO:='(S,//O);
+SOO :='(S,//O^-35,//O^35);
+OMe:=O!:='(O,!); OEt:=O!2:='(O,!x2); OPr:=O!3:='(O,!x3); OiPr:=OMe!:='(O,!,iPr); 
+SMe:=S!:='(S,!); SEt:=S!2:='(S,!x2); SPr:=S!3:='(S,!x3); SiPr:=SMe!:='(S,!,iPr);
+COO:='(//O,!,O); COOMe:=COO!:='(COO,!); COOEt:=COO!2:='(COO,!x2); COOiPr:=COOMe!:='(COO,!,iPr);
+COOPr:=COO!3:='(COO,!x3); COOtBu:='(COO,!,tBu); COMe:=CO!:='(//O,!); COEt:=CO!2:='(//O,!x2);
+OCOMe:=OCO!:='(O,!,//O,!); NMeMe:=NMe!:='(N!,!); NHCOMe:=NHCO!:='(NH,!,//O,!);
+NHiPr:=NHMe!:='(NH,!,iPr); NHtBu:='(NH,!,tBu); NHMe:=NH!:='(NH,!); NHEt:=NH!2:='(NH,!x2);
+!NH!:='(!,NH,!); !CO!:='(!,//O,!); !OH:='(!,OH); !SH:='(!,SH); !NH2:='(!,NH2); !OMe:=!O!:='(!,OMe);
+!COOH:='(!,COOH); !CH3:='(!,CH3); !CN:='(!,CN); !iPr:=!Me!:='(!,iPr); !tBu:='(!,tBu); !Ph:='(!,Ph);
+!CHO:='(!,CHO); !NO2:='(!,NO2);
+!?3:='(!,?3); !?4:='(!,?4); !?5:='(!,?5); !?6:='(!,?6); CF2:='(/F,60,F); CCl2:='(/Cl,60,Cl);
+CBr2:='(/Br,60,Br); CF3:='(/F,/F^60,60,F); CCl3:='(/Cl,/Cl^60,60,Cl); CBr3:='(/Br,/Br^60,60,Br);
 %==================================================================================================
-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);
+nA:=0; for list=parameter_list: save_para[incr nA]:=list; endfor
 %--------------------------------------------------------------------------------------------------
 %%%%%%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;
+  CH3:='(/H,/H^60,60,H); NH:='(N,/H); NH2:='(N,/H,60,H); NO2:='(N,//O,60~dm,O); OH:='(O,!,H);
+  CHO:='(//O,!,H); COOH:='(//O,!,O,!,H); CN:='(!~tm,N); SH:='(S,!,H); !CH3:='(!,CH3); !OH:='(!,OH);
+  !NH2:='(!,NH2); !CHO:='(!,CHO); !COOH:='(!,COOH); !CN:='(!,CN); !SH:='(!,SH); !NO2:='(!,NO2);
 enddef;
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 def char_size_set(expr a)(expr b)(expr s)=



More information about the tex-live-commits mailing list