texlive[42248] Master/texmf-dist: mcf2graph (10oct16)

commits+karl at tug.org commits+karl at tug.org
Mon Oct 10 23:14:37 CEST 2016


Revision: 42248
          http://tug.org/svn/texlive?view=revision&revision=42248
Author:   karl
Date:     2016-10-10 23:14:36 +0200 (Mon, 10 Oct 2016)
Log Message:
-----------
mcf2graph (10oct16)

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

Added Paths:
-----------
    trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc-060.eps

Removed Paths:
-------------
    trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc-042.eps

Modified: trunk/Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG	2016-10-10 21:13:18 UTC (rev 42247)
+++ trunk/Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG	2016-10-10 21:14:36 UTC (rev 42248)
@@ -1,6 +1,11 @@
 *******************************************************************************
- Changelog of mcf2graph software package        by Akira Yamaji 2016-08-21
+ Changelog of mcf2graph software package        by Akira Yamaji 2016-10-10
 *******************************************************************************
+[ver. 3.98  / 2016-10-10]
+  -add option parameter sw_clip (clipping font)
+  -add max_bond_length , delete max_bond_width
+  -update MCF syntax manual
+
 [ver. 3.97  / 2016-08-21]
   -change bond type name 'ov' to 'si_'
   -add bond type 'wf_','wb_','bd_'

Modified: trunk/Master/texmf-dist/doc/metapost/mcf2graph/README
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/mcf2graph/README	2016-10-10 21:13:18 UTC (rev 42247)
+++ trunk/Master/texmf-dist/doc/metapost/mcf2graph/README	2016-10-10 21:14:36 UTC (rev 42248)
@@ -1,7 +1,7 @@
 ********************************************************************************
  mcf2graph  : Convert Molecular Coding Format to graphics with METAFONT/METAPOST
  Author     : Akira Yamaji
- version    : 3.97 2016-08-21
+ version    : 3.98 2016-10-10
  E-mail     : mcf2graph at gmail.com
  Located at : http://www.ctan.org/pkg/mcf2graph
 ********************************************************************************

Modified: trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_exa_soc.mf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_exa_soc.mf	2016-10-10 21:13:18 UTC (rev 42247)
+++ trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_exa_soc.mf	2016-10-10 21:14:36 UTC (rev 42248)
@@ -1,11 +1,10 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Molecular Coding Format for mcf_example.tex  by Akira Yamaji  2016.08.21
+% Molecular Coding Format for mcf_example.tex  by Akira Yamaji  2016.10.10
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-input mcf2graph.mf;   %%% it must be version 3.97 or later
+input mcf2graph.mf;   %%% it must be version 3.98 or later
 %-------------------------------------------------------------------------
 font_wd#:=33mm#;
 font_ht#:=24mm#;
-max_bond_width:=0.15;
 %-------------------------------------------------------------------------
 sw_auxout:=1;
 sw_font_frame:=0;

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

Modified: trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.tex
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.tex	2016-10-10 21:13:18 UTC (rev 42247)
+++ trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.tex	2016-10-10 21:14:36 UTC (rev 42248)
@@ -68,7 +68,7 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \begin{document}
 \begin{center}
- {\LARGE\bf Molecular Coding Format examples}\vspace{5mm}\\
+ {\Huge\sf Molecular Coding Format examples}\vspace{5mm}\\
  Author : Akira Yamaji \quad Date : \today\\
  Located at : http://www.ctan.org/pkg/mcf2graph\vspace{3mm}\\
 \end{center}

Deleted: trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc-042.eps
===================================================================
(Binary files differ)

Added: trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc-060.eps
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc-060.eps
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc-060.eps	2016-10-10 21:13:18 UTC (rev 42247)
+++ trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc-060.eps	2016-10-10 21:14:36 UTC (rev 42248)

Property changes on: trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc-060.eps
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/postscript
\ No newline at end of property
Modified: trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc.mf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc.mf	2016-10-10 21:13:18 UTC (rev 42247)
+++ trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc.mf	2016-10-10 21:14:36 UTC (rev 42248)
@@ -1,12 +1,8 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Molecular Coding Format file for mcf_manual.tex  by Akira.Yamaji 2016.08.21
+% Molecular Coding Format file for mcf_manual.tex  by Akira.Yamaji 2016.10.10
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-input mcf2graph.mf;   %% it must be version 3.97 or later
+input mcf2graph.mf;   %% it must be version 3.98 or later
 %------------------------------------------------------------------------
-font_wd#:=60mm#;%                       font width
-font_ht#:=40mm#;%                       font height
-max_bond_width:=0.18;
-%------------------------------------------------------------------------
 sw_auxout:=0;
 sw_mol_frame:=0;
 sw_expand:=0;
@@ -13,21 +9,118 @@
 sw_start_vector:=0;
 %%%%%sw_checklist:=1;
 %***********************************************************************
+font_wd#:=35mm#;
+font_ht#:=25mm#;
+margin_left_right:=2mm;
+\max_bond_length#:=10mm#;
+ratio_thickness_bond:=0.04;
+ratio_atom_bond:=0.5;
+%***********************************************************************
+beginfont("EN:Glycine")
+  MCf(<30,NH2,!0,!,COOH)
+endfont
+%***********************************************************************
+beginfont("EN:Alanine")
+  MCf(<30,NH2,!0,/Me,!,COOH)
+endfont
+%***********************************************************************
+beginfont("EN:Valine")
+  MCf(<30,NH2,!0,!,COOH,2\,/Me,!)
+endfont
+%***********************************************************************
+beginfont("EN:Leucine")
+  MCf(<30,NH2,!0,!,COOH,2\,!,/Me,!)
+endfont
+%***********************************************************************
+beginfont("EN:Isoleucine")
+  MCf(<30,NH2,!0,!,COOH,2\,/Me,!2)
+endfont
+%***********************************************************************
+beginfont("EN:Serine")
+  MCf(<30,NH2,!0,!,COOH,2\,!,OH)
+endfont
+%***********************************************************************
+beginfont("EN:Threonine")
+  MCf(<30,NH2,!0,!,COOH,2\,/Me,!,OH)
+endfont
+%***********************************************************************
+beginfont("EN:Cysteine")
+  MCf(<30,NH2,!0,!,COOH,2\,!,SH)
+endfont
+%***********************************************************************
+beginfont("EN:Methionine")
+  MCf(<30,NH2,!0,!,COOH,2\,!2,SMe)
+endfont
+%***********************************************************************
+beginfont("EN:Phenylalanine")
+  MCf(<30,NH2,!0,!,COOH,2\,!,Ph)
+endfont
+%***********************************************************************
+beginfont("EN:Tyrosine")
+  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)
+endfont
+%***********************************************************************
+beginfont("EN:Prorine")
+  MCf(<18,?5,3:NH,4:/COOH)
+endfont
+%***********************************************************************
+beginfont("EN:Glutamine")
+  MCf(<30,NH2,!0,!,COOH,2\`1,-45,-45,//O,!,NH2)
+endfont
+%***********************************************************************
+beginfont("EN:Asparagine")
+  MCf(<30,NH2,!0,!,COOH,2\,!,//O,!,NH2)
+endfont
+%***********************************************************************
+beginfont("EN:Aspartic acid")
+  MCf(<30,NH2,!0,!,COOH,2\,!,COOH)
+endfont
+%***********************************************************************
+beginfont("EN:Glutamic acid")
+  MCf(<30,NH2,!0,!,COOH,2\,!2,COOH)
+endfont
+%***********************************************************************
+beginfont("EN:Lysine")
+  MCf(<30,NH2,!0,!,COOH,2\,!4,NH2)
+endfont
+%***********************************************************************
+beginfont("EN:Arginine")
+  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)
+endfont
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+font_wd#:=60mm#;
+font_ht#:=35mm#;
+ratio_thickness_bond:=0.015;
+ratio_atom_bond:=0.36;
+sw_font_frame:=1;
+margin_left_right:=2mm;
+margin_top_bottom:=1mm;
+%***********************************************************************
 beginfont("EN:Chain 1")
+  font_ht#:=20mm#;
   sw_numberB:=1;
   numberB_end:=6;
-  max_bond_width:=0.20;
   ratio_chain_ring:=1;
+%----------------------------------------------------------------------
   MCf(<30,-60,60,-90,120,-90,60,
-       @(1^-60,2^60,3^-45,4^30,5^-45,6^60)/Me~dt`.6
+       @(1^-60,2^60,3^-45,4^30,5^-45,6^60)/Me~dt`.4
      )
 endfont
 %***********************************************************************
 beginfont("EN:Chain 2")
+  font_ht#:=20mm#;
   sw_numberB:=1;
   numberB_end:=6;
-  max_bond_width:=0.20;
   ratio_chain_ring:=1;
+%----------------------------------------------------------------------
   MCf(<30,!6,
        @(1^-60,2^60,3^-60,4^60,5^-60,6^60)/Me~dt`.6
      )
@@ -34,166 +127,239 @@
 endfont
 %***********************************************************************
 beginfont("EN:Jump and Branch")
+  font_ht#:=20mm#;
+  margin_top_bottom:=2mm;
+  sw_clip:=1;
   sw_numberA:=1;
-  max_bond_width:=0.20;
   ratio_chain_ring:=1;
+%----------------------------------------------------------------------
   MCf(<30,!6,3*,0,!,5*,-30)
 endfont
 %***********************************************************************
 beginfont("EN:Jump and Branch")
+  font_ht#:=20mm#;
+  margin_top_bottom:=2mm;
   sw_numberA:=1;
-  max_bond_width:=0.20;
+  sw_clip:=1;
   ratio_chain_ring:=1;
+%----------------------------------------------------------------------
   MCf(<30,!6,3\,!)
 endfont
 %***********************************************************************
+beginfont("EN:branch1")
+  font_ht#:=20mm#;
+  margin_top_bottom:=2mm;
+  sw_numberA:=1;
+  sw_clip:=1;
+  numberA_end:=9;
+  ratio_chain_ring:=1;
+%----------------------------------------------------------------------
+  MCf(<-30,!8,2\,!,4*\,!,6\*,!,8\\,!)
+endfont
+%***********************************************************************
+beginfont("EN:branch2")
+  font_ht#:=23mm#;
+  margin_top_bottom:=2mm;
+  sw_clip:=1;
+  sw_numberA:=1;
+  numberA_end:=7;
+  ratio_chain_ring:=1;
+%----------------------------------------------------------------------
+  MCf(<-30,!6,2\~dr,!,4\`1.5,!,6\^15,-60)
+endfont
+%***********************************************************************
 beginfont("EN:Connect atom")
+  font_ht#:=20mm#;
+  margin_top_bottom:=2mm;
+  sw_clip:=1;
   sw_numberA:=1;
-  max_bond_width:=0.20;
   ratio_chain_ring:=1;
+%----------------------------------------------------------------------
   MCf(<30,!6,3\,!,&5)
 endfont
 %***********************************************************************
 beginfont("EN:ring")
-  max_bond_width:=0.25;
+  font_ht#:=20mm#;
+  sw_clip:=1;
+  margin_top_bottom:=3mm;
   sw_numberB:=1;
-  sw_start_vector:=1;
+%----------------------------------------------------------------------
   MCf(?6)
 endfont
 %***********************************************************************
 beginfont("EN:rotate 1")
-  max_bond_width:=0.25;
+  font_ht#:=20mm#;
+  margin_top_bottom:=3mm;
+  sw_clip:=1;
   sw_numberB:=1;
-  sw_start_vector:=1;
-  MCf(``1,0~vf,0~vf,<90,0~vf,<-90,0~vf)
+  numberB_end:=5;
+  MCf(``1,0,0,<90,0,<-90,0,0,$(1,2,3,4,5)vf,@(3,4^180)/Me~dt`.5)
 endfont
 %***********************************************************************
 beginfont("EN:change bond 1")
+  font_wd#:=70mm#;
+  font_ht#:=15mm#;
+  sw_clip:=1;
   ratio_chain_ring:=1;
-  MCf(<30,!~dm,!~dl,!~dr,!~tm)
+  margin_top_bottom:=3mm;
+  MCf(<30,!~dm,!,!~dl,!,!~dr,!,!~tm)
 endfont
 %***********************************************************************
 beginfont("EN:change bond 2")
+  font_wd#:=70mm#;
+  font_ht#:=15mm#;
+  margin_top_bottom:=3mm;
+  sw_clip:=1;
   ratio_chain_ring:=1;
-  MCf(<30,!~wf,!~wb,!~zf,!~zb,!~vf)
+  MCf(<30,!~wf,!,!~wb,!,!~zf,!,!~zb)
 endfont
 %***********************************************************************
 beginfont("EN:change bond 3")
+  font_ht#:=12mm#;
+  margin_top_bottom:=3mm;
+  sw_clip:=1;
   ratio_chain_ring:=1;
-  MCf(<30,!5,1=vb,2=dt,3=wv,4=bd,5=bz)
+  MCf(<30,!~vf,!,!~vb)
 endfont
 %***********************************************************************
+beginfont("EN:change bond 3")
+  font_wd#:=70mm#;
+  sw_clip:=1;
+  ratio_chain_ring:=1;
+  margin_top_bottom:=3mm;
+  MCf(<30,!7,1=dt,3=wv,5=bd,7=bz)
+endfont
+%***********************************************************************
 beginfont("EN:change bond 4")
+  margin_top_bottom:=3mm;
+  sw_clip:=1;
   ratio_chain_ring:=1;
   MCf(<30,!7,$(2,4,6)dr)
 endfont
 %***********************************************************************
 beginfont("EN:over line")
+  sw_clip:=1;
+  font_ht#:=20mm#;
   ratio_chain_ring:=1;
-  max_bond_width:=0.25;
-  MCf(<-30,!8`.4,!`.2,60`.6,90`3,@(2~si_,4~wf_,6~wb_,8~bd_)/Me`1)
+  MCf(<-30,!8,!,60,90`8,@(2~si_,4~wf_,6~wb_,8~bd_)/Me`2)
 endfont
 %***********************************************************************
 beginfont("EN:change bond length1")
-  sw_start_vector:=1;
+  font_ht#:=15mm#;
   sw_numberB:=1;
   MCf(<30,!2,!2`1.2,!2)
 endfont
 %***********************************************************************
 beginfont("EN:change bond length2")
-  sw_start_vector:=1;
+  font_ht#:=15mm#;
   sw_numberB:=1;
   MCf(<30,!2,``1.2,!4)
 endfont
 %***********************************************************************
-beginfont("EN:Make brock")
-  sw_start_vector:=1;
-  sw_numberB:=1;
-  MCf(<30,!2,{,``1.2,!2,},!2)
-endfont
-%***********************************************************************
 beginfont("EN:change ring length")
-  sw_start_vector:=1;
+  font_ht#:=25mm#;
+  sw_clip:=1;
   MCf(?6,4\,?6`1.2,5=?6,11=?6)
 endfont
 %***********************************************************************
-beginfont("EN:change atom 1")
-  sw_start_vector:=1;
+beginfont("EN:Insert atom")
+  sw_clip:=1;
+  font_ht#:=10mm#;
   MCf(<30,!2,O,!2,N,!2)
 endfont
 %***********************************************************************
-beginfont("EN:change atom 2")
-  MCd(1,1)(.5,.8)(<30,!6,2:O,@(3,5)N)
+beginfont("EN:change atom")
+  font_ht#:=18mm#;
+  MCd(1,1)(.5,1)(<30,!6,2:O,@(3,5)N)
   sw_numberA:=1;
-  MCd(1,1)(.5,.2)(<30,!6,2:O,@(3,5)N)
+  MCd(1,1)(.5,.05)(<30,!6,2:O,@(3,5)N)
 endfont
 %***********************************************************************
-beginfont("EN:change atom 3")
-  MCd(.7,1)(.5,1)(?6,4\,?6,2:N)
-  sw_numberA:=1;
-  MCd(.7,1)(.5,0)(?6,4\,?6)
-endfont
-%***********************************************************************
 beginfont("EN:change atom brock address 1")
-  MCd(.7,1)(.5,1)(?6,4\,|,?6,2:O)
+  font_wd#:=70mm#;
+  font_ht#:=15mm#;
+  MCd(1,1)(0,.5)(?6,4\,|,?6,2:O)
   sw_numberA:=1;
-  MCd(.7,.5)(.5,0)(?6,4\,?6)
+  MCd(1,.88)(1,.5)(?6,4\,?6)
 endfont
 %***********************************************************************
 beginfont("EN:change atom brock address 2")
-  MCd(.7,1)(.5,1)(?6,4\,|,?6,||,2:N)
+  font_wd#:=70mm#;
+  font_ht#:=15mm#;
+  MCd(1,1)(0,.5)(?6,4\,|,?6,||,2:N)
   sw_numberA:=1;
-  MCd(.7,.5)(.5,0)(?6,4\,?6)
+  MCd(1,.88)(1,.5)(?6,4\,?6)
 endfont
 %***********************************************************************
 beginfont("EN:change atom absolute address")
-  MCd(.7,1)(.5,1)(?6,4\,?6,#2:N)
+  font_wd#:=70mm#;
+  font_ht#:=15mm#;
+  MCd(1,1)(0,.5)(?6,4\,?6,#2:N)
   sw_numberA:=1;
-  MCd(.7,1)(.5,0)(?6,4\,?6)
+  MCd(1,.88)(1,.5)(?6,4\,?6)
 endfont
 %***********************************************************************
 beginfont("EN:change atom relative adress")
-  MCd(.7,1)(.5,1)(?6,4\,?6,-2:N)
+  font_wd#:=70mm#;
+  font_ht#:=15mm#;
+  MCd(1,1)(0,.5)(?6,4\,?6,-2:N)
   sw_numberA:=3;
-  MCd(.7,1)(.5,0)(?6,4\,?6)
+  MCd(1,.88)(1,.5)(?6,4\,?6)
 endfont
 %***********************************************************************
 beginfont("EN:fused ring")
+  font_ht#:=18mm#;
+  margin_top_bottom:=1.5mm;
+  sw_clip:=1;
   sw_numberB:=1;
   MCf(<30,?6,3=?6,$(3)dt,$(7,8,9,10,11)bd)
 endfont
-%***********************************************************************
+%-----------------------------------------------------------------------
 beginfont("EN:fused large 6 ring")
+  font_ht#:=18mm#;
+  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)
 endfont
-%***********************************************************************
-beginfont("EN:fused ring 1")
-  sw_start_vector:=1;
+%-----------------------------------------------------------------------
+beginfont("EN:fuse multi ring")
+  font_wd#:=70mm#;
+  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)
 endfont
 %***********************************************************************
 beginfont("EN:fused ring 2")
- sw_numberB:=1;
- MCd(1,.62)( 0,0)(<30,?6,3=?6,(11,4)=?6[4],$(11,4)dt,$(12,13,14,15)bd)
- MCd(1,.52)(.54,1)(<30,?6,3=?6,(11,4)=?5[3],$(11,4)dt,$(12,13,14)bd)
- MCd(1,.52)(1, 0)(<30,?6,3=?6,(11,4)=?4[2],$(11,4)dt,$(12,13)bd)
+  font_wd#:=75mm#;
+  font_ht#:=20mm#;
+  sw_numberB:=1;
+  MCd(1,1)( 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")
+  font_ht#:=20mm#;
+  margin_top_bottom:=2mm;
   sw_numberB:=1;
-  MCd(1,.6)(0,1)(?6,$(3,10)?6,(16,4)=?6[3],$(16,4)dt,$(17,18,19)bd)
-  MCd(1,.6)(1,0)(?6,$(3,10)?6,(16,4)=?5[2],$(16,4)dt,$(17,18)bd)
+  MCd(1,1)(0,1)(?6,$(3,10)?6,(16,4)=?6[3],$(16,4)dt,$(17,18,19)bd)
+  MCd(1,1)(1,0)(?6,$(3,10)?6,(16,4)=?5[2],$(16,4)dt,$(17,18)bd)
 endfont
 %***********************************************************************
 beginfont("EN:fused ring 4")
-  max_bond_width:=0.15;
+  sw_clip:=1;
+  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)
 endfont
 %***********************************************************************
 beginfont("EN:Spiro ring ")
+  sw_clip:=1;
+  font_ht#:=18mm#;
+  margin_top_bottom:=3mm;
   sw_numberA:=1;
   numberA_end:=7;
   ratio_chain_ring:=1;
@@ -200,61 +366,63 @@
   MCf(<30,!6,4*,?5)
 endfont
 %***********************************************************************
-beginfont("EN:branch1")
-  sw_numberA:=1;
-  numberA_end:=9;
-  max_bond_width:=0.30;
-  ratio_chain_ring:=1;
-  MCf(<-30,!8,2\,!,4*\,!,6\*,!,8\\,!)
-endfont
-%***********************************************************************
-beginfont("EN:branch2")
-  sw_numberA:=1;
-  numberA_end:=7;
-  max_bond_width:=0.30;
-  ratio_chain_ring:=1;
-  MCf(<-30,!6,2\~dr,!,4\`1.5,!,6\^15,-60)
-endfont
-%***********************************************************************
 beginfont("EN:substituent 1")
+  font_ht#:=25mm#;
+  sw_clip:=1;
   MCf(<30,!,/Me,!,/Et,!3,/Pr,!,/iPr,!3,/tBu,!,/Ph^-30,!)
 endfont
 %***********************************************************************
 beginfont("EN:substituent 2")
-  sw_start_vector:=1;
-  MCf(<30,!,//O,!,/*H,!,*/H,!,/?3,!,**?3,!)
+  font_ht#:=20mm#;
+  sw_clip:=1;
+  MCf(<30,!,//O,!,/*H,!,*/H,!,**?3,!)
 endfont
 %***********************************************************************
 beginfont("EN:substituent 3")
-  sw_start_vector:=1;
-  MCf(<30,``1,!,/Me~zf`2^30,!,/Me~zf`2^30,!2,*/Pr>lr,!2,*/Pr>rl,!)
+  font_ht#:=18mm#;
+  sw_clip:=1;
+  MCf(<30,``1,!2,/Me~zf`2^30,!2,*/Pr>lr,!2,*/Pr>rl,!)
 endfont
 %***********************************************************************
 beginfont("EN:substituent 3")
+  font_wd#:=70mm#;
+  font_ht#:=22mm#;
+  margin_top_bottom:=2mm;
   sw_numberA:=1;
-  numberA_end:=12;
-  MCf(<30,!11,2:/Me,3:/Et,6:/Pr,7:/iPr,10:/tBu,11:/Ph^-30)
+  sw_clip:=1;
+  numberA_end:=18;
+  MCf(<-30,!17,2:/Me,4:/Et,6:/Pr,10:/iPr,14:/tBu,16:/Ph^-30)
 endfont
 %***********************************************************************
 beginfont("EN:substituent 4")
-  sw_numberA:=1; numberA_end:=6;
-  MCf(<30,?6,@(3`2^30,3~wf,4~zf,6~wf^-30,6~zf^30)/H)
+  font_ht#:=15mm#;
+  sw_clip:=1;
+  margin_top_bottom:=2mm;
+  sw_numberA:=1; numberA_end:=9;
+  MCf(<-30,!6,@(2~wf,4~zf,6^-30)/H)
 endfont
 %***********************************************************************
 beginfont("EN:substituent 5")
+  font_ht#:=18mm#;
+  margin_top_bottom:=2mm;
+  sw_clip:=1;
   sw_numberA:=1; numberA_end:=8;
-  MCf(<30,!7`1,@(2,3)/*Me`2^30,5:*/Pr>lr,7:*/Pr>rl)
+  MCf(<30,!7`1,@(3)/*Me`2^30,5:*/Pr>lr,7:*/Pr>rl)
 endfont
 %***********************************************************************
 beginfont("EN:chain strech direction mode 1")
+  font_ht#:=27mm#;
+  sw_clip:=1;
   ratio_chain_ring:=1;
   MCf(
   ?4,@(3^-90,3^-30,3^90)/'(!3,"{hz}")>hz,
-     @(1^-60,1`2,1^60)/'(!2,"{vt}")>vt
+     @(1^-60,1`1.5,1^60)/'(!2,"{vt}")>vt
   )
 endfont
 %***********************************************************************
 beginfont("EN:chain strech direction mode 2")
+  font_ht#:=23mm#;
+  sw_clip:=1;
   ratio_chain_ring:=1;
   MCf(
   <30,!6,@(3^-30,3,3^30)/'(!,!,!,"{lr}")>lr,
@@ -263,8 +431,9 @@
 endfont
 %***********************************************************************
 beginfont("EN:chain strech direction mode 3")
+  font_ht#:=25mm#;
+  sw_clip:=1;
   ratio_chain_ring:=1;
-  sw_start_vector:=1;
   MCf(<-30,!6,@(6>45)/'(!3,"{45}"),
                @(3>'(90,-90,90))/'(!3,"{'(90,-90,90)}")
   )
@@ -271,29 +440,41 @@
 endfont
 %***********************************************************************
 beginfont("EN:change atom and substituent")
-  sw_start_vector:=1;
-  MCf(<30,!2,NH,!,SO,!,SOO,!3)
+  sw_clip:=1;
+  font_ht#:=15mm#;
+  MCf(<30,!2,NH,!2,SO,!2,SOO,!)
 endfont
 %***********************************************************************
 beginfont("EN:Change color")
-  sw_start_vector:=1;
+  font_ht#:=20mm#;
+  sw_clip:=1;
+  margin_left_right:=5mm;
   MCf(<30,Ph,@(2,5)N,2:red,5:blue,3=green)
 endfont
 %***********************************************************************
-beginfont("EN:Chain start multi characters")
-%  sw_start_vector:=1;
-  MCd(1,1)(0,.9)(<30,COOH,!0,!3,COOH)
-  MCd(.8,1)(.3,.1)(<30,COOH,!4,COOH)
+beginfont("EN:Make brock")
+  font_ht#:=20mm#;
+  sw_clip:=1;
+  sw_numberB:=1;
+  MCf(<30,!2,{,``1.2,!2,},!2)
 endfont
 %***********************************************************************
+beginfont("EN:Chain start multi characters")
+  font_ht#:=20mm#;
+  MCd(1,1)( 0,1)(<30,COOH,!0,!5,COOH)
+  MCd(.8,1)(.3,0)(<30,COOH,!6,COOH)
+endfont;
+%***********************************************************************
 beginfont("EN:User definition")
-  sw_start_vector:=1;
+  font_ht#:=18mm#;
   iBuOH:='(!,/Me,!,OH);
   MCf(<30,?6,@(4,6)/iBuOH)
 endfont
 %***********************************************************************
 beginfont("EN:Inline definition")
-  sw_start_vector:=1;
+  font_ht#:=18mm#;
+  margin_left_right:=5mm;
+  sw_clip:=1;
   MCf(<30,!3,/'(!,/Me,!,OH),!3)
 endfont
 %***********************************************************************
@@ -306,136 +487,160 @@
      @(2,6,9)/Me,@(1,5)//O)
 endfont
 %***********************************************************************
-beginfont("EN:max_bond_width")
+beginfont("EN:margin_left_right")
+  font_ht#:=20mm#;
+  sw_font_frame:=sw_mol_frame:=1;
+  margin_left_right:=0mm;
+  margin_top_bottom:=1mm;
+  MCd(1,1)(0.5, 1)(<30,CH3,!0,!17,CH3)
+  margin_left_right:=0.4mm;
+  MCd(1,1)(0.5,.5)(<30,CH3,!0,!17,CH3)
+  margin_left_right:=5mm;
+  MCd(1,1)(0.5, 0)(<30,CH3,!0,!17,CH3)
+endfont
+%***********************************************************************
+beginfont("EN:margin_top_bottom")
+  font_ht#:=20mm#;
+  sw_font_frame:=sw_mol_frame:=1;
+  margin_left_right:=5mm;
+  margin_top_bottom:=0mm;
+  MCd(1,1)(0.0, .5)(<30,Ph,5:/NH2)
+  margin_top_bottom:=0.4mm;
+  MCd(1,1)(0.5, .5)(<30,Ph,5:/NH2)
+  margin_top_bottom:=5mm;
+  MCd(1,1)(0.95, .5)(<30,Ph,5:/NH2)
+endfont
+%***********************************************************************
+beginfont("EN:offset_thickness") 
+  font_ht#:=12mm#;
+  offset_thickness#:=0.0pt#; MCd(1,1)(0.08,0.5)(<30,Ph)
+  offset_thickness#:=0.2pt#; MCd(1,1)(.5,0.5)(<30,Ph)
+  offset_thickness#:=0.5pt#; MCd(1,1)(0.92,0.5)(<30,Ph) endfont
+%***********************************************************************
+beginfont("EN:offset_bond_gap")
+  font_ht#:=12mm#;
+  offset_bond_gap#:=0.0pt#;
+  MCd(1,1)(0.08, .5)(<30,Ph)
+  offset_bond_gap#:=0.3pt#;   %<<== default
+  MCd(1,1)(.50, .5)(<30,Ph)
+  offset_bond_gap#:=1.0pt#;
+  MCd(1,1)(0.92, .5)(<30,Ph)
+endfont
+%***********************************************************************
+beginfont("EN:offset_atom")
+  font_ht#:=14mm#;
+  offset_atom#:=0.0pt#;
+  MCd(1,1)(0.08, .5)(<30,?6,@(3)O)
+  offset_atom#:=0.8pt#;   %<<== default
+  MCd(1,1)(.5, .5)(<30,?6,@(3)O)
+  offset_atom#:=2.0pt#;
+  MCd(1,1)(0.92, .5)(<30,?6,@(3)O)
+endfont
+%***********************************************************************
+beginfont("EN:offset_wedge") offset_wedge#:=0.0pt#;
+  font_ht#:=14mm#;
+  MCd(1,1)(0.08, .5)(<30,?6,5:*/Me)
+  offset_wedge#:=0.4pt#;   %<<== default
+  MCd(1,1)(.5, .5)(<30,?6,5:*/Me)
+  offset_wedge#:=1.0pt#;
+  MCd(1,1)(0.92, .5)(<30,?6,5:*/Me)
+endfont
+%***********************************************************************
+beginfont("EN:max_bond_length")
+  font_ht#:=25mm#;
   sw_mol_frame:=1;
-  max_bond_width:=0.10;
+  max_bond_length#:=6mm#;
   MCd(1,1)(0, .5)(<30,Ph)
-  max_bond_width:=0.15;
-  MCd(1,1)(.33, .5)(<30,Ph)
-  max_bond_width:=0.25;
+  max_bond_length#:=8mm#;
+  MCd(1,1)(.4, .5)(<30,Ph)
+  max_bond_length#:=20mm#;   %<<== default
   MCd(1,1)(1, .5)(<30,Ph)
 endfont
 %***********************************************************************
 beginfont("EN:ratio_thickness_bond")
+  font_ht#:=12mm#;
   ratio_thickness_bond:=0.005;
-  MCd(1,.6)(0, .5)(<30,Ph)
-  ratio_thickness_bond:=0.015;
-  MCd(1,.6)(.5, .5)(<30,Ph)
+  MCd(1,1)(0.08, .5)(<30,Ph)
+  ratio_thickness_bond:=0.015;    %<<== default
+  MCd(1,1)(.5, .5)(<30,Ph)
   ratio_thickness_bond:=0.03;
-  MCd(1,.6)(1, .5)(<30,Ph)
+  MCd(1,1)(0.92, .5)(<30,Ph)
 endfont
 %***********************************************************************
-beginfont("EN:offset_thickness") 
-            offset_thickness#:=0.0pt#; MCd(1,.3)(.1,0.5)(<30,Ph) endfont
-beginfont() offset_thickness#:=0.2pt#; MCd(1,.3)(.5,0.5)(<30,Ph) endfont
-beginfont() offset_thickness#:=0.5pt#; MCd(1,.3)(.9,0.5)(<30,Ph) endfont
-%***********************************************************************
 beginfont("EN:ratio_char_bond")
+  font_ht#:=15mm#;
   ratio_char_bond:=1.0;
-  MCd(1,.6)(0, .5)(<30,?6,5:O,2:NH)
-  ratio_char_bond:=1.5;
-  MCd(1,.6)(.5, .5)(<30,?6,5:O,2:NH)
+  MCd(1,1)( 0, .5)(<30,?6,6:O,3:NH)
+  ratio_char_bond:=1.5;   %<<== default
+  MCd(1,1)(.5, .5)(<30,?6,6:O,3:NH)
   ratio_char_bond:=2.0;
-  MCd(1,.6)(1, .5)(<30,?6,5:O,2:NH)
+  MCd(1,1)( 1, .5)(<30,?6,6:O,3:NH)
 endfont
 %***********************************************************************
 beginfont("EN:ratio_bondgap_bond")
+  font_ht#:=12mm#;
   ratio_bondgap_bond:=0.10;
-  MCd(1,.6)(0, .5)(<30,Ph)
-  ratio_bondgap_bond:=0.15;
-  MCd(1,.6)(.5, .5)(<30,Ph)
+  MCd(1,1)(0.08, .5)(<30,Ph)
+  ratio_bondgap_bond:=0.15;   %<<== default
+  MCd(1,1)(.5, .5)(<30,Ph)
   ratio_bondgap_bond:=0.20;
-  MCd(1,.6)(1, .5)(<30,Ph)
+  MCd(1,1)(0.92, .5)(<30,Ph)
 endfont
 %***********************************************************************
-beginfont("EN:offset_bond_gap") offset_bond_gap#:=0.0pt#;
-MCd(1,.3)(.1, .5)(<30,Ph) endfont
-beginfont() offset_bond_gap#:=0.3pt#;   %<<== default
-MCd(1,.3)(.5, .5)(<30,Ph) endfont
-beginfont() offset_bond_gap#:=1.0pt#;
-MCd(1,.3)(.9, .5)(<30,Ph) endfont
-%***********************************************************************
 beginfont("EN:ratio_atom_bond")
+  font_ht#:=15mm#;
   ratio_atom_bond:=0.25;
-  MCd(1,.6)(0, .5)(<30,?6,@(2,5)O)
-  ratio_atom_bond:=0.33;
-  MCd(1,.6)(.5, .5)(<30,?6,@(2,5)O)
+  MCd(1,1)(0.08, .5)(<30,?6,@(3)O)
+  ratio_atom_bond:=0.33;   %<<== default
+  MCd(1,1)(.5, .5)(<30,?6,@(3)O)
   ratio_atom_bond:=0.45;
-  MCd(1,.6)(1, .5)(<30,?6,@(2,5)O)
+  MCd(1,1)(0.92, .5)(<30,?6,@(3)O)
 endfont
 %***********************************************************************
-beginfont("EN:offset_atom") offset_atom#:=0.0pt#;
-MCd(1,.3)(.1, .5)(<30,?6,@(2,5)O) endfont
-beginfont() offset_atom#:=0.8pt#; %<<== default
-MCd(1,.3)(.5, .5)(<30,?6,@(2,5)O) endfont
-beginfont() offset_atom#:=2.0pt#;
-MCd(1,.3)(.9, .5)(<30,?6,@(2,5)O) endfont
-%***********************************************************************
 beginfont("EN:ratio_wedge_bond")
+  font_ht#:=15mm#;
   ratio_wedge_bond:=0.1;
-  MCd(1,.6)(0, .5)(<30,?6,5:*/Me)
-  ratio_wedge_bond:=0.12;
-  MCd(1,.6)(.5, .5)(<30,?6,5:*/Me)
+  MCd(1,1)(0.08, .5)(<30,?6,5:*/Me)
+  ratio_wedge_bond:=0.12;   %<<== default
+  MCd(1,1)(.5, .5)(<30,?6,5:*/Me)
   ratio_wedge_bond:=0.2;;
-  MCd(1,.6)(1, .5)(<30,?6,5:*/Me)
+  MCd(1,1)(0.92, .5)(<30,?6,5:*/Me)
 endfont
 %***********************************************************************
-beginfont("EN:offset_wedge") offset_wedge#:=0.0pt#;
-MCd(1,.3)(.1, .5)(<30,?6,5:*/Me) endfont
-beginfont() offset_wedge#:=0.4pt#; %<<== default
-MCd(1,.3)(.5, .5)(<30,?6,5:*/Me) endfont
-beginfont() offset_wedge#:=1.0pt#;
-MCd(1,.3)(.9, .5)(<30,?6,5:*/Me) endfont
-%***********************************************************************
 beginfont("EN:ratio_atomgap_atom")
+  font_ht#:=8mm#;
   sw_atom_frame:=1;
   ratio_atomgap_atom:=0.00;
-  MCd(1,.6)(0, .5)(<30,?6,@(2,5)O)
-  ratio_atomgap_atom:=0.050;
-  MCd(1,.6)(.5, .5)(<30,?6,@(2,5)O)
+  MCd(1,1)(0, .5)(<-30,!2,@(2)O)
+  ratio_atomgap_atom:=0.050;    %<<== default
+  MCd(1,1)(.5, .5)(<-30,!2,@(2)O)
   ratio_atomgap_atom:=0.12;
-  MCd(1,.6)(1, .5)(<30,?6,@(2,5)O)
+  MCd(1,1)(1, .5)(<-30,!2,@(2)O)
 endfont
 %***********************************************************************
 beginfont("EN:ratio_chain_ring")
+  font_wd#:=70mm#;
+  font_ht#:=15mm#;
   ratio_chain_ring:= 0.4;
-  MCd(1,.6)(0, .5)(<30,?6,5:/Et)
-  ratio_chain_ring:= 0.66;
-  MCd(1,.6)(.5, .5)(<30,?6,5:/Et)
+  MCd(1,1)(0, .5)(<30,?6,4:/Et)
+  ratio_chain_ring:= 0.66;   %<<== default
+  MCd(1,1)(.45, .5)(<30,?6,4:/Et)
   ratio_chain_ring:= 1;
-  MCd(1,.6)(1, .5)(<30,?6,5:/Et)
+  MCd(1,1)(1, .5)(<30,?6,4:/Et)
 endfont
 %***********************************************************************
 beginfont("EN:ratio_zebragap_bond")
+  font_ht#:=15mm#;
   ratio_zebragap_bond:=0.06;
-  MCd(1,.6)(0, .5)(<30,Ph,5:/*Me`1)
-  ratio_zebragap_bond:=0.12;
-  MCd(1,.6)(.5, .5)(<30,Ph,5:/*Me`1)
+  MCd(1,1)(0.08, .5)(<-30,!2,2:/*Me`1)
+  ratio_zebragap_bond:=0.12;   %<<== default
+  MCd(1,1)( .5,  .5)(<-30,!2,2:/*Me`1)
   ratio_zebragap_bond:=0.20;
-  MCd(1,.6)(1, .5)(<30,Ph,5:/*Me`1)
+  MCd(1,1)(0.92, .5)(<-30,!2,2:/*Me`1)
 endfont
 %***********************************************************************
-beginfont("EN:margin_left_right")
-  sw_font_frame:=sw_mol_frame:=1;
-  margin_left_right:=0mm;
-  MCd(1,1)(0.5, .9)(<30,CH3,!0,!17,CH3)
-  margin_left_right:=0.4mm;
-  MCd(1,1)(0.5, .5)(<30,CH3,!0,!17,CH3)
-  margin_left_right:=5mm;
-  MCd(1,1)(0.5, .1)(<30,CH3,!0,!17,CH3)
-endfont
-%***********************************************************************
-beginfont("EN:margin_top_bottom")
-  sw_font_frame:=sw_mol_frame:=1;
-  margin_top_bottom:=0mm;
-  MCd(1,1)(0.0, .5)(<30,Ph,2:/OH,5:/NH2)
-  margin_top_bottom:=0.4mm;
-  MCd(1,1)(0.5, .5)(<30,Ph,2:/OH,5:/NH2)
-  margin_top_bottom:=5mm;
-  MCd(1,1)(1.0, .5)(<30,Ph,2:/OH,5:/NH2)
-endfont
-%***********************************************************************
 beginfont("EN:Switwch numberingA")
+  font_ht#:=20mm#;
   ratio_chain_ring:=1;
   numberA_start:=3;  numberA_end:=8;
   sw_numberA:=1;   MCd(1,1)(.5,.9)(<30,!9)
@@ -444,6 +649,7 @@
 endfont
 %***********************************************************************
 beginfont("EN:Switwch numberingB")
+  font_ht#:=20mm#;
   ratio_chain_ring:=1;
   numberB_start:=3;  numberB_end:=8;
   sw_numberB:=1;  MCd(1,1)(.5,.9)(<30,!9)
@@ -451,24 +657,45 @@
   sw_numberB:=3;  MCd(1,1)(.5,.1)(<30,!9)
 endfont
 %***********************************************************************
+beginfont("EN:Switwch Solid ratio")
+  font_ht#:=20mm#;
+  bond_len#:=8mm#;
+  MCd(1,1)(0,.5)(Ph,4:/Me)
+  sw_solid:=1;
+  bond_len#:=6mm#;
+  MCd(1,1)(1,.5)(Ph,4:/Me)
+endfont
+%***********************************************************************
+beginfont("EN:Switwch Expand")
+  font_ht#:=20mm#;
+  MCd(1,1)(0, .5)(<30,Ph,4:/COOH,3:/NH2)
+  sw_expand:=1;
+  MCd(1,1)(1, .5)(<30,Ph,4:/COOH,3:/NH2)
+endfont
+%***********************************************************************
 beginfont("EN:Switwch substituent off")
-  MCd(1,.5)( 0, .5)(<30,Ph,4:/Cl,3:/F)
+  font_ht#:=15mm#;
+  MCd(1,1)(.15, .5)(<30,Ph,4:/Cl,3:/F)
   sw_subst_off:=1;
-  MCd(1,.5)( 1, .5)(<30,Ph,4:/Cl,3:/F)
+  MCd(1,1)(.85, .5)(<30,Ph,4:/Cl,3:/F)
 endfont
 %***********************************************************************
 beginfont("EN:Switwch bondtype off")
-  MCd(1,.5)( 0, .5)(<30,Ph,4:/Cl,3:/F)
+  font_ht#:=15mm#;
+  MCd(1,1)(.15, .5)(<30,Ph,4:/Cl,3:/F)
   sw_bond_single:=1;
-  MCd(1,.5)( 1, .5)(<30,Ph,4:/Cl,3:/F)
+  MCd(1,1)(.85, .5)(<30,Ph,4:/Cl,3:/F)
 endfont
 %***********************************************************************
 beginfont("EN:Switwch start vector")
+  font_ht#:=15mm#;
+  MCd(1,1)(.1, .5)(<30,Ph,4:/Cl,3:/F)
   sw_start_vector:=1;
-  MCf(<30,Ph,4:/Cl,3:/F)
+  MCd(1,1)(.9, .5)(<30,Ph,4:/Cl,3:/F)
 endfont
 %***********************************************************************
 beginfont("EN:Switwch font frame")
+  font_ht#:=15mm#;
   margin_left_right:=5mm;
   margin_top_bottom:=2mm;
   sw_font_frame:=3;
@@ -476,71 +703,81 @@
 endfont
 %***********************************************************************
 beginfont("EN:Switwch molecular frame")
-  MCd(1,.5)( 0, .5)(<30,Ph,4:/Cl,3:/F)
+  font_ht#:=15mm#;
   sw_mol_frame:=1;
-  MCd(1,.5)( 1, .5)(<30,Ph,4:/Cl,3:/F)
+  MCf(<30,Ph,4:/Cl,3:/F)
 endfont
 %***********************************************************************
 beginfont("EN:Switwch atom frame")
+  font_ht#:=15mm#;
   sw_atom_frame:=1;
   MCf(<30,Ph,4:/COOH,3:/OH)
 endfont
 %***********************************************************************
-beginfont("EN:Switwch Solid ratio")
-  MCd(1,.7)( 0, .5)(<30,Ph,4:/Cl,3:/F)
-  sw_solid:=1;
-  ratio_bond_width:=0.08;
-  MCd(1,.7)( 1, .5)(<30,Ph,4:/Cl,3:/F)
+beginfont("EN:Switwch clipping")
+  font_ht#:=15mm#;
+  sw_mol_frame:=1;
+  MCf(<30,Ph,4:/Cl,3:/F)
 endfont
-%***********************************************************************
-beginfont("EN:Switwch Expand")
-  MCd(.5,.5)(0, .5)(<30,Ph,4:/COOH,3:/NH2)
-  sw_expand:=1;
-  MCd(.6,.6)(1, .5)(<30,Ph,4:/COOH,3:/NH2)
+beginfont("EN:Switwch clipping")
+  font_ht#:=15mm#;
+  sw_mol_frame:=1;
+  sw_clip:=1;
+  MCf(<30,Ph,4:/Cl,3:/F)
 endfont
 %***********************************************************************
 beginfont("EN:MCd()")
+  font_ht#:=20mm#;
   sw_font_frame:=1;
   sw_mol_frame:=1;
-  MCd(1,.8)(0.2,0.9)(<30,Ph,2:/OH,5:/NH2)
+  MCd(1,0.8)(0.1,1)(<30,Ph,4:/Cl,3:/F)
   sw_mol_frame:=1;
-  MCd(1,.8)(0.8,0.1)(<30,Ph,2:/OH,5:/NH2)
+  MCd(1,0.8)(0.9,0)(<30,Ph,4:/Cl,3:/F)
 endfont
 %***********************************************************************
 beginfont("EN:MCf()")
+  font_ht#:=20mm#;
   sw_font_frame:=1;
   sw_mol_frame:=1;
-  MCf(<30,Ph,2:/OH,5:/NH2)
+  MCf(<30,Ph,4:/Cl,3:/F)
 endfont
 %***********************************************************************
 beginfont("EN:Local setting")
-  sw_mol_frame:=1;
-  MCd(1,.4)(0.0,0.5)(Ph)
+  font_ht#:=15mm#;
+  MCd(1,1)(0.0,0.5)(Ph)
+  ratio_thickness_bond:=0.05;
+  MCd(1,1)(0.5,0.5)(Ph)
+  ratio_thickness_bond:=0.015;
+  MCd(1,1)(1.0,0.5)(Ph)
 endfont
-beginfont()  MCd(1,.4)(0.5,0.5)(Ph) endfont
-beginfont()  MCd(1,.4)(1.0,0.5)(Ph) endfont
 %***********************************************************************
-sw_mol_frame:=1;
 beginfont("EN:Global setting")
-             MCd(1,.4)(0.0,0.5)(Ph)  endfont
-beginfont()  MCd(1,.4)(0.5,0.5)(Ph) endfont
-beginfont()  MCd(1,.4)(1.0,0.5)(Ph) endfont
-sw_mol_frame:=0;
+  font_ht#:=15mm#;
+  ratio_thickness_bond:=0.05;
+  MCd(1,1)(0.0,0.5)(Ph)
+  MCd(1,1)(0.5,0.5)(Ph)
+  MCd(1,1)(1.0,0.5)(Ph)
+endfont
 %***********************************************************************
+sw_clip:=1;
 %% Output molecular infomation
 beginfont()
-sw_logout:=sw_info_weight:=sw_info_formula:=1;
-MCf(<30,?6,-4=?5,$(3,8)dl,@(2,6,7,9)N,@(2,6,9)/Me,@(1,5)//O)
+  font_ht#:=15mm#;
+  sw_logout:=sw_info_weight:=sw_info_formula:=1;
+  MCf(<30,?6,-4=?5,$(3,8)dl,
+       @(2,6,7,9)N,@(2,6,9)/Me,@(1,5)//O)
 endfont
 %***********************************************************************
 %% Output additional infomation
 beginfont("EN:Tocopherol","CAS:59-02-9","FM:C29H50O2","MW:430.71")
-sw_logout:=1;
-MCf(<30,Ph,3=?6,7:O,@(1,2,5)/Me,8:/*Me^60,6:/OH,8\,|,!12,@(4,8)/*Me,12:/Me)
+  font_ht#:=15mm#;
+  sw_logout:=1;
+  MCf(<30,Ph,3=?6,7:O,@(1,2,5)/Me,8:/*Me^60,6:/OH,8\,|,!12,@(4,8)/*Me,12:/Me)
 endfont
 %***********************************************************************
 %% Change infomation separater
 beginfont("EN:Ampicillin","CAS:69-53-4","FM:C16H19N3O4S","MW:349.40")
+  font_ht#:=15mm#;
   MCf(<45,
     ?4,2:N,2=?5,-1:S,
     @(3^45,4^-45)/*H,1://O^15,5:/*COOH^-18,@(6^35,6^-35)/Me,
@@ -549,15 +786,17 @@
 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)*/Me^60,9:*/H^60,
-      10:/*H^180,@(11,-1)/*H^-60,
-      -1\^17,/*Me,!4,/Me,!,
+      10:/*H^180,11:/*H^-60,17:/*H^-54,
+      -1\^18,/*Me,-60,!3,/Me,!,
      )
 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,!
    )
@@ -564,6 +803,7 @@
 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)/Me,@(1^60,5^180,16^60)/*H,
@@ -571,11 +811,13 @@
 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)
 endfont
 %***************************************************************************
 beginfont("EN:Colchicine","CAS:477-27-0","FM:C21H23NO6","MW:385.41")
+  font_ht#:=25mm#;
   MCf(<30,Ph,@(1,2,6)/OMe,|,-4=?7,
      |,-5=?7,$(-1,-4,-6)dl,-2://O,-3:/OH,
      #9\,NH,!,//O,!)
@@ -582,6 +824,7 @@
 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,
     9:/*H^180,10:*/H^60,13:*/OH,14:/*OH
@@ -589,6 +832,7 @@
 endfont
 %***********************************************************************
 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://Me,13:*/OH,8:/*OH,14:*/Me,@(1^60,4^60)*/H)
@@ -595,16 +839,30 @@
 endfont
 %***************************************************************************
 beginfont("EN:Quinine","CAS:130-95-0","FM:C20H24N2O2","MW:324.42")
+  font_ht#:=25mm#;
   MCf(<30,Ph,3=Ph,7:N,6:/OMe,
     10\,*/OH,/H~zf^-60,!,|,?6,2:N,1:*/H^60,4*\,!~dr,2*,165~zf,60,&5~zb)
 endfont
 %***************************************************************************
 beginfont("EN:Atoropin","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,/Me,&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)/OMe,1*\,/Me,!~dl)
+endfont;
+%***************************************************************************
+beginfont("EN:Pyrethrin I");
+  MCf(<30,?3,@(3^35~wf,3^-35~zf)/Me,1*\,!~dl,iPr,
+     2\*,//O,!,O,-36~zb,|,?5,-2=d,-1:/Me,-3://O,-2\,!4,$(-1,-3)dl)
+endfont;
+%***************************************************************************
 beginfont("EN:Validamycin")
+  font_ht#:=20mm#;
   MCf(<30,?6,@(5,6)/OH,3\,-60,OH,
     #4\,O,-60,|,?6,2:O,@(3,4,5,6)/OH,
     #1\,NH,!,|,?6,2=d,@(4,5,6)/OH,-4\,!,OH)

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

Modified: trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.tex
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.tex	2016-10-10 21:13:18 UTC (rev 42247)
+++ trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.tex	2016-10-10 21:14:36 UTC (rev 42248)
@@ -1,11 +1,14 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%  Molecular Coding Format manual          by  Akira Yamaji 2016.08.21
+%  Molecular Coding Format manual          by  Akira Yamaji 2016.10.10
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \documentclass[a4paper]{article}
-\usepackage{graphicx}
-%%%%\usepackage[dvipdfmx]{graphicx}
+%%%%\usepackage{graphicx}
+\usepackage[dvipdfm]{graphicx}
 %%%%\usepackage[pdftex]{graphicx}
 %%%%\usepackage{epstopdf}
+\usepackage[dvipdfmx]{hyperref}
+%%%%\usepackage[pdftex]{hyperref}
+\hypersetup{colorlinks=true,linkcolor=blue}
 \topmargin=-18mm
 \textheight=254mm
 \textwidth=168mm
@@ -16,23 +19,17 @@
 \newcount \fontnum%
 \newcount \tempnum%
 \newdimen \htman%
-\newdimen \gpman%
-\htman=47mm%
-\gpman=4mm%
-\fontnum=0%
+\newdimen \wdman%
+\newdimen \htmans%
+\htman=45mm%
+\wdman=94mm%
+\htmans=42mm%
+\fontnum=20%
 \tempnum=1%
 %----------------------------------------------------------------------------
 \font\@strufont=mcf_man_soc\relax%
 %----------------------------------------------------------------------------
-\def\MCFtitle#1{\framebox{\sf No.\the\tempnum}\hspace{2mm}\bf #1}
-%----------------------------------------------------------------------------
-\def\MCFstru{%
- \rlap{\makebox(72,4)[t]{\makebox(68,48){\@strufont\char\fontnum}}}%
- \advance\fontnum\@ne\relax}%
-\def\MCFstructure{%
- \makebox(72,4)[t]{\frame{\
- \makebox(68,48){\@strufont\char\fontnum}}}%
- \advance\fontnum\@ne\relax\advance\tempnum\@ne\relax}%
+\def\MCFstructure{\hspace{5mm}{\@strufont\char\fontnum}\advance\fontnum\@ne\relax}%
 %--------------------------------------------------------------------
 \def\@F{F}\def\@C{C}\def\@EN{EN}\def\@NO{NO}\def\@cMW{cMW}\def\@cFM{cFM}%
 \def\@fst#1:#2;{#1}\def\@sec#1:#2;{#2}%
@@ -48,10 +45,10 @@
   \ifx\@tag\@cFM\edef\CALfm{\@var}\fi
 \fi}%
 \def\put at char{%
-  \begin{picture}(84,50)%
-     \put(0,45){\bf [\MOLnum]\MOLnameE}%
-     \put(5,40){\small\tt FM:\CALfm{ }MW:\CALmw}%
-     \put(10,0){\font\@strufont=\MOLfile\relax%
+  \begin{picture}(84,30)%
+     \put(0,25){\bf [\MOLnum]\MOLnameE}%
+     \put(5,20){\small\tt FM:\CALfm{ }MW:\CALmw}%
+     \put(5,0){\font\@strufont=\MOLfile\relax%
                \hbox{\@strufont\char\MOLchar}}%
   \end{picture}%
 }
@@ -58,1154 +55,753 @@
 %----------------------------------------------------------------------------
 \def\INFO#1{\@for\@temp:=#1\do{\mol at sel\@temp}\put at char}%
 %----------------------------------------------------------------------------
+\def\figex#1#2#3#4{%
+\makebox[5mm]{}%%
+\makebox[#1]{\tt #2}%
+\makebox[#1]{\tt #3}%
+\makebox[#1]{\tt #4}}%
+%----------------------------------------------------------------------------
 \begin{document}
-\begin{center}
- {\LARGE\bf Molecular Coding Format manual}\vspace{3mm}\\
- Author : Akira Yamaji \quad Date : \today\\
- Located at : http://www.ctan.org/pkg/mcf2graph\vspace{3mm}\\
-\begin{minipage}{148mm}
-\quad Molecular Coding Format(MCF) is new linear notation represent chemical 
- structure diagrams. This 'Coding' is named from coding(programing) technique
- like adressing,grouping,macro,etc. There are no Meta language commands in MCF.
- mcf2graph.mf(metapost/metafont macro) convert MCF file to graphics file
- pk font,PNG,SVG,EPS or MDL MOL file(V2000). \\
-\end{minipage}\\
-\end{center}
+\title{\Huge\sf Molecular Coding Format manual}
+\author{Akira Yamaji}
+\date{\today}
+\maketitle
+\begin{center} Located at http://www.ctan.org/pkg/mcf2graph \end{center}
+%-----------------------------------------------------------------------------
+\vspace{10mm}
+{\@strufont%
+\makebox[10mm]{}\char0\raisebox{10mm}{\char1}\char2\raisebox{10mm}{\char3}\\
+\makebox[10mm]{}\char4\raisebox{10mm}{\char5}\char6\raisebox{10mm}{\char7}\\
+\makebox[10mm]{}\char8\raisebox{10mm}{\char9}\char10\raisebox{10mm}{\char11}\\
+\makebox[10mm]{}\char12\raisebox{10mm}{\char13}\char14\raisebox{10mm}{\char15}\\
+\makebox[10mm]{}\char16\raisebox{10mm}{\char17}\char18\raisebox{10mm}{\char19}\\}
+%-----------------------------------------------------------------------------
+\twocolumn
+\tableofcontents
+%-----------------------------------------------------------------------------
 \linethickness{0.08mm}%
-\noindent%
 %----------------------------------------------------------------------------
-{\bf (Molecular definition file)}
-\begin{verbatim}
-%-------------------------------------------------------------------------
-input mcf2graph.mf;                               % input macro
-%-------------------------------------------------------------------------
-sw_auxout:=1;         % aux(information) file output on > Gloval setting
-sw_numberA:=0;        % numbering atom off              >
-sw_numberB:=0;        % numbering bond off              >
-sw_expand:=0;         % substituent expand mode off     >
-sw_start_vector:=0;   % start vector output off         >
-sw_font_frame:=0;     % font frame off                  >
-font_wd#:=60mm#;      % font width                      > 
-font_ht#:=40mm#;      % font height                     >
-var3:="cal_MW"; tag3:="cMW";                            > AUX file table
-var4:="cal_FM"; tag4:="cFM";                            >
-outputformat:="png"; hppp:=vppp:=0.1;                   > PNG output
-outputtemplate:="%j-%3c.png";                           >
-%-------------------------------------------------------------------------
-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)/Me,                                  >
-     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)*/Me^60,9:*/H^60,                   >
-      10:/*H^180,@(11,-1)/*H^-60,                       >
-      -1\^17,/*Me,!4,/Me,!)                             > end MCF
-endfont                                                 > end font
-%------------------------------------------------------------------------
-bye
-
-\end{verbatim}
-%------------------------------------------------------------------------
-{\bf (Molecular structure output)}\vspace{5mm}\\
-\INFO{F:mcf_man_soc,C:90,NO:1,cMW:349.40462,cFM:C16H19N3O4S,EN:Ampicillin}%
-\INFO{F:mcf_man_soc,C:91,NO:2,cMW:386.6532,cFM:C27H46O,EN:Cholesterol}%
 \newpage
-%------------------------------------------------------------------------
-\noindent%
-{\bf (Molecular information output)}\vspace{2mm}\\
-'filename'-info.aux : for use in \TeX, it takes over filename,
-char number, molecular information,etc.
-\begin{verbatim}
-(sw_auxfix=0)
-F:mcf_man_soc;C:90;cMW:349.40462;cFM:C16H19N3O4S;EN:Ampicillin
-F:mcf_man_soc;C:91;cMW:386.6532;cFM:C27H46O;EN:Cholesterol
-  .....................................................
-  .....................................................
-
-(sw_auxfix=1)
-F;C;cMW;cFM;EN
-mcf_man_soc;90;349.40462;C16H19N3O4S;Ampicillin
-mcf_man_soc;91;386.6532;C27H46O;Cholesterol
-  ......................................
-  ......................................
-
-( tag : variable )
-F : filename   C : char number   NO : serial number   EN : english name
-cMW : molecular weight calculated   cFM : molecular formula calculated
-MW  : molecular weight from literature data
-
-\end{verbatim}
-%----------------------------------------------------------------------------
-{\bf (LaTeX file example)}
-%############################################################################
-\begin{verbatim}
-%----------------------------------------------------------------------------
-\documentclass[a4paper]{article}
-\usepackage{graphicx}
-\pagestyle{empty}
-\makeatletter%
-%--------------------------------------------------------------------
-\def\@F{F}\def\@C{C}\def\@EN{EN}\def\@NO{NO}\def\@MW{MW}\def\@FMc{FMc}%
-\def\@fst at param#1:#2;{#1}\def\@sec at param#1:#2;{#2}%
-\def\mol at sel#1{%
-\if#1\empty\relax\else%
-  \edef\@tag{\expandafter\@fst at param#1;}%
-  \edef\@var{\expandafter\@sec at param#1;}%
-  \ifx\@tag\@F\edef\MOLfile{\@var}\fi%
-  \ifx\@tag\@C\edef\MOLchar{\@var}\fi%
-  \ifx\@tag\@EN\edef\MOLnameE{\@var}\fi%
-  \ifx\@tag\@NO\edef\MOLnum{\@var}\fi
-  \ifx\@tag\@MW\edef\CALmw{\@var}\fi
-  \ifx\@tag\@FMc\edef\CALfm{\@var}\fi
-\fi}%
-\def\put at char{%
-  \begin{picture}(84,42)%
-     \put(0,38){\bf [\MOLnum]\MOLnameE{ }\small\tt/FM:\CALfm/MW:\CALmw}%
-     \put(10,0){\font\@strufont=\MOLfile\relax%
-               \hbox{\@strufont\char\MOLchar}}%
-  \end{picture}%
-\def\INFO#1{\@for\@temp:=#1\do{\mol at sel\@temp}\put at char}%
-\makeatother
-%--------------------------------------------------------------------
-\begin{document}
-\unitlength=1mm%
-\INFO{F:mcf_man_soc,C:90,NO:1,cMW:349.40462,cFM:C16H19N3O4S,EN:Ampicillin}%
-\INFO{F:mcf_man_soc,C:91,NO:2,cMW:386.6532,cFM:C27H46O,EN:Cholesterol}%
-\end{document}
-%--------------------------------------------------------------------
-\end{verbatim}\vspace{5mm}%
-%############################################################################
-%----------------------------------------------------------------------------
-\noindent
+\section{Introduction}
+Molecular Coding Format(MCF) is new linear notation
+ represent chemical structure diagrams. 
+This 'Coding' is named from coding(programing) technique
+like adressing,grouping,macro,etc. 
+There are no Meta language commands in MCF.
+mcf2graph.m convert MCF file to graphics file
+pk font,PNG,SVG,EPS or MDL MOL file(V2000).\\
 %-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Chain(1)}
+\section{MCF syntax}
+\subsection{Make bond}
+\subsubsection{Chain}
 \begin{verbatim}
-real number plus (+): anticlockwize 
-real number minus(-): clockwize
+  real number plus (+): anticlockwize 
+  real number minus(-): clockwize
 
-<30,-60,60,-90,120,-90,60
-
+  <30,-60,60,-90,120,-90,60
 \end{verbatim}
-\end{minipage}
 \MCFstructure
-\vspace{\gpman}\\
 %-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Chain(2)}
 \begin{verbatim}
-!  : take value 60 or -60 depend on
+  ! : take value 60 or -60 depend on
         current angle and enviroment
-!6 : !,!,!,!,!,!
+  !6 : !,!,!,!,!,!
 
   <30,!,!,!,!,!,!
   <30,!6
-
 \end{verbatim}
-\end{minipage}
 \MCFstructure
-\vspace{\gpman}\\
 %-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Jump to atom and branch bond}
+\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
+\end{verbatim}
+\MCFstructure
+%------------------------------------
+\begin{verbatim}
+  3\ : 3*,0
 
-** An(-999<=n<=4095): atom number
+  <30,!6,3\,!
 \end{verbatim}
-\end{minipage}
 \MCFstructure
-\vspace{\gpman}\\
 %-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Jump to atom and branch bond}
+\subsubsection{Branch bond}
 \begin{verbatim}
-3\ : 3*,0
+  2\  : 2*,0
+  4*\ : 4*,0~wf
+  6\* : 6*,0~zf
+  8\\ : 8*,0~dm
 
-  <30,!6,3\,!
+  <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
 
+  <-30,!6,
+  2\~dr,!,
+  4\`1.5,!,
+  6\^15,-60
 \end{verbatim}
-\end{minipage}
 \MCFstructure
-\vspace{\gpman}\\
 %-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Connect atom}
+\subsubsection{Connect atom}
 \begin{verbatim}
-&n : Connect to An
+  &n : Connect to An
 
   <30,!6,3\,!,&5
-
 \end{verbatim}
-\end{minipage}
 \MCFstructure
-\vspace{\gpman}\\
 %-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Ring}
+\subsubsection{Ring}
 \begin{verbatim}
-?n : n membered ring
-
-  ?6
-
-  ** ?6 : <-120,60,60,60,60,60,&1
-  ** ?n(3<=n<=20) 
-  ** bold arrow is default angle and position
+  ?n : n membered ring(3<=n<=20)
+  ?6 : <-120,60,60,60,60,60,&1
+   ?6
 \end{verbatim}
-\end{minipage}
 \MCFstructure
-\vspace{\gpman}\\
 %-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Rotate current angle}
+\subsubsection{Rotate current angle}
 \begin{verbatim}
-<angle : rotate current angle
+  <angle : rotate current angle
 
- ``1,
- 0~vf,0~vf,<90,0~vf,<-90,0~vf
+  0,0,<90,0,<-90,0,0,$(1,2,3,4,5)vf 
 \end{verbatim}
-\end{minipage}
 \MCFstructure
-\vspace{\gpman}\\
 %-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Change bond type (1)}
+\subsection{Change bond type}
+\subsubsection{Double,triple}
 \begin{verbatim}
-a~type : ~~type,a
-dm : double middle
-dl : double left side
-dr : double right side
-tm : triple
+  a~type : ~~type,a
+  dm : double middle
+  dl : double left side
+  dr : double right side
+  tm : triple
 
   <30,!~dm,!~dl,!~dr,!~tm
 \end{verbatim}
-\end{minipage}
 \MCFstructure
-\vspace{\gpman}\\
 %-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Change bond type (2)}
+\subsubsection{Wedge}
 \begin{verbatim}
-a~type : ~~type,a
-wf : wedge forward
-wb : wedge backward
-zf : wedge dotted
-zb : wedge dotted backward
-vf : vector forward
+  wf : wedge forward
+  wb : wedge backward
+  zf : wedge dotted
+  zb : wedge dotted backward
 
-  <30,!~wf,!~wb,!~zf,!~zb,!~vf,!~vb
+  <30,!~wf,!,!~wb,!,!~zf,!,!~zb
 \end{verbatim}
-\end{minipage}
 \MCFstructure
-\vspace{\gpman}\\
 %-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Change bond type (3)}
+\subsubsection{Vector}
 \begin{verbatim}
-Bn=bond type : change bond type at Bn
-vb : vector backward
-dt : dotted
-wv : wave
-bd : broad
-bz : broad dotted 
+  vf : vector forward
+  vb : vector backward
 
-  <30,!5,1=vb,2=dt,3=wv,4=bd,5=bz
+  <30,!~vf,!,!~vb
 \end{verbatim}
-\end{minipage}
 \MCFstructure
-\vspace{\gpman}\\
 %-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Change bond type (4)}
+\subsubsection{Dotted,wave,broad}
 \begin{verbatim}
-$(2,4,6)dr : 2=dr,4=dr,6=dr
+  Bn=bond type : change bond type at Bn
+  dt : dotted
+  wv : wave
+  bd : broad
+  bz : broad dotted 
 
-<30,!7,$(2,4,6)dr
+  <30,!7,1=dt,3=wv,5=bd,7=bz
+\end{verbatim}
+\MCFstructure
+%-----------------------------------------------------------------------------
+\subsubsection{Change multi bond type}
+\begin{verbatim}
+  $(2,4,6)dr : 2=dr,4=dr,6=dr
 
-** <30,!7,2=dr,4=dr,6=dr
+  <30,!7,$(2,4,6)dr
 
+  ** <30,!7,2=dr,4=dr,6=dr
 \end{verbatim}
-\end{minipage}
 \MCFstructure
-\vspace{\gpman}\\
 %-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Over line}
+\subsubsection{Over line}
 \begin{verbatim}
-si_ : single over line 
-wf_ : wedge forward over line 
-wb_ : wedge backward over line 
-bd_ : broad over line 
+  si_ : single over line 
+  wf_ : wedge forward over line 
+  wb_ : wedge backward over line 
+  bd_ : broad over line 
 
-<-30,!8`.4,!`.2,60`.6,90`3,
-@(2~si_,4~wf_,6~wb_,8~bd_)/Me`1
-
+  <-30,!8,!,60,90`8,
+  @(2~si_,4~wf_,6~wb_,8~bd_)/Me`2
 \end{verbatim}
-\end{minipage}
 \MCFstructure
-\vspace{\gpman}\\
 %-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Change bond length (1)}
+\subsection{Change bond length}
+\subsubsection{Chain length}
 \begin{verbatim}
-(!,!n)`length : change length of !,!n
+  (!,!n)`length : change length of !,!n
 
   <30,!2,!2`1.2,!2
 
-** !2`1.2 : '`1.2,!2
+  ** !2`1.2 : '`1.2,!2
 \end{verbatim}
-\end{minipage}
 \MCFstructure
-\vspace{\gpman}\\
 %-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Change bond length (2)}
 \begin{verbatim}
 ``length : change all bond length after
 
   <30,!2,``1.2,!4
 \end{verbatim}
-\end{minipage}
 \MCFstructure
-\vspace{\gpman}\\
 %-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Make block}
+\subsubsection{Ring length}
 \begin{verbatim}
-{ : start brock
-} : end brock
+  ?n`length : change ring length
 
-  <30,!2,{,``1.2,!2,},!2
-\end{verbatim}
-\end{minipage}
-\MCFstructure
-\vspace{\gpman}\\
-%-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Change ring length}
-\begin{verbatim}
-?n`length : change ring length
-
   ?6,4\,?6`1.2,5=?6,11=?6
 
-** fused ring size depend on 
+  ** fused ring size depend on 
    attached bond length
 \end{verbatim}
-\end{minipage}
 \MCFstructure
-\vspace{\gpman}\\
 %-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Change atom (1)}
+\newpage
+\subsection{Change atom}
+\subsubsection{Insert atom}
 \begin{verbatim}
-Insert hetero atom
+  Insert hetero atom
 
   <30,!2,O,!2,N,!2
 \end{verbatim}
-\end{minipage}
 \MCFstructure
-\vspace{\gpman}\\
 %-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Change atom (2)}
+\subsubsection{Addressed atom}
 \begin{verbatim}
-2:O : change A2 C to O
-@(3,5)N : change  A3,A5 C to N
+  2:O : change A2 C to O
+  @(3,5)N : change  A3,A5 C to N
 
   <30,!6,2:O,@(3,5)N
-
 \end{verbatim}
-\end{minipage}
 \MCFstructure
-\vspace{\gpman}\\
 %-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Change atom (3)}
+\subsubsection{Brock address}
 \begin{verbatim}
-2:N : change A2 C to N
+  | : divide brock
 
-  ?6,4\,?6,2:N
+  ?6,4\,|,?6,2:O
 \end{verbatim}
-\end{minipage}
 \MCFstructure
-\vspace{\gpman}\\
 %-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Change atom (brock address 1)}
 \begin{verbatim}
-|  : divide brock
+  || : reset brock adress
 
-?6,4\,|,?6,2:O
+  ?6,4\,|,?6,||,2:N
 \end{verbatim}
-\end{minipage}
 \MCFstructure
-\vspace{\gpman}\\
 %-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Change atom (brock address 2)}
+\subsubsection{Absolute address}
 \begin{verbatim}
-|| : reset brock adress
+  #2:N : change A#2 C to N
+  ** #n : (1<=n<=3095)
 
-?6,4\,|,?6,||,2:N
-\end{verbatim}
-\end{minipage}
-\MCFstructure
-\vspace{\gpman}\\
-%-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Change atom (absolute address)}
-\begin{verbatim}
-#2:N : change A#2 C to N
-
   ?6,4\,|,?6,#2:N
-
-** #n : (1<=n<=3095)
 \end{verbatim}
-\end{minipage}
 \MCFstructure
-\vspace{\gpman}\\
 %-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Change atom (relative address)}
+\subsubsection{Relative address}
 \begin{verbatim}
--2:N : change A(-2) C to N
+  -2:N : change A(-2) C to N
+  ** -n : (1<=n<=999)
 
   ?6,4\,?6,-2:N
-
-** -n : (1<=n<=999)
 \end{verbatim}
-\end{minipage}
 \MCFstructure
-\vspace{\gpman}\\
 %-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Fuse ring (attached 1 bond)}
+\subsection{Fuse ring}
+\subsubsection{Attached 1 bond}
 \begin{verbatim}
-?6,3=?6 : fuse ?6 at B3
+  ?6,3=?6 : fuse ?6 at B3
+  ** Bn(n:-999<=n<=4095): bond number
 
   ?6,3=?6
-
-** Bn(n:-999<=n<=4095): bond number
 \end{verbatim}
-\end{minipage}
 \MCFstructure
-\vspace{\gpman}\\
 %-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Fuse large ring (attached 1 bond)}
 \begin{verbatim}
-?6,3=?6[13] : fuse ?6[13] at B3
-?6[13]: 6 membered ring scaled 13/10
+  ?6,3=?6[13] : fuse ?6[13] at B3
+  ?6[13]: 6 membered ring scaled 13/10
+  ** ?m[n] (5<=m<=8,11<=n<=15)
 
   ?6,3=?6[13]
-
-** ?m[n] (5<=m<=8,11<=n<=15)
 \end{verbatim}
-\end{minipage}
 \MCFstructure
-\vspace{\gpman}\\
 %-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Fuse multi ring (attached 1 bond)}
 \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}
-\end{minipage}
 \MCFstructure
-\vspace{\gpman}\\
 %-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Fuse ring (attached 2 bond)}
+\subsubsection{Attached 2 bond}
 \begin{verbatim}
-(4,11)=?6[4]  : fuse 4/6 ring to B11..B4
-(4,11)=?5[3]  : fuse 3/5 ring to B11..B4
-(4,11)=?4[2]  : fuse 2/4 ring to B11..B4
+  (4,11)=?6[4]  : fuse 4/6 ring to B11..B4
+  (4,11)=?5[3]  : fuse 3/5 ring to B11..B4
+  (4,11)=?4[2]  : fuse 2/4 ring to B11..B4
+  ** ?m[n] (4<=m<=6,n=m-2)
 
-MCd(1,.7)(  0,0)(<30,?6,3=?6,(11,4)=?6[4])
-MCd(1,.6)(.54,1)(<30,?6,3=?6,(11,4)=?5[3])
-MCd(1,.6)(  1,0)(<30,?6,3=?6,(11,4)=?4[2])
-
-** ?m[n] (4<=m<=6,n=m-2)
+  MCd(1,.7)(  0,0)(<30,?6,3=?6,(11,4)=?6[4])
+  MCd(1,.6)(.54,1)(<30,?6,3=?6,(11,4)=?5[3])
+  MCd(1,.6)(  1,0)(<30,?6,3=?6,(11,4)=?4[2])
 \end{verbatim}
-\end{minipage}
 \MCFstructure
-\vspace{\gpman}\\
 %-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Fuse ring (attached 3 bond)}
+\subsubsection{Attached 3 bond}
 \begin{verbatim}
-(16,4)=?6[3] : fuse 3/6 ring to B16..B4
-(16,4)=?5[2] : fuse 2/5 ring to B16..B4
+  (16,4)=?6[3] : fuse 3/6 ring to B16..B4
+  (16,4)=?5[2] : fuse 2/5 ring to B16..B4
+  ** ?m[n] (5<=m<=6,n=m-3)
 
-MCd(1,.55)(0,0)(?6,$(3,10)?6,(16,4)=?6[3])
-MCd(1,.55)(1,0)(?6,$(3,10)?6,(16,4)=?5[2])
-
-** ?m[n] (5<=m<=6,n=m-3)
+  MCd(1,.55)(0,0)(?6,$(3,10)?6,(16,4)=?6[3])
+  MCd(1,.55)(1,0)(?6,$(3,10)?6,(16,4)=?5[2])
 \end{verbatim}
-\end{minipage}
 \MCFstructure
-\vspace{\gpman}\\
 %-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Fuse ring (attached 4 bond)}
+\subsubsection{Attached 4 bond}
 \begin{verbatim}
-(21,4)=?6[2] : fuse 2/6 ring to B21..B4
+  (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)
+  ** ?m[n] (m=6,n=2)
 \end{verbatim}
-\end{minipage}
 \MCFstructure
-\vspace{\gpman}\\
 %-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Spiro ring}
+\subsubsection{Spiro ring}
 \begin{verbatim}
-4*,?5 : add ?5(5 membered ring) at A4
+  4*,?5 : add ?5(5 membered ring) at A4
 
-<30,!6,4*,?5
+  <30,!6,4*,?5
 
-An* : jump to An
+  An* : jump to An
 \end{verbatim}
-\end{minipage}
 \MCFstructure
-\vspace{\gpman}\\
 %-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Branch bond (1)}
+\subsection{Substituent}
+\subsubsection{Insert substituent}
 \begin{verbatim}
-2\  : 2*,0
-4*\ : 4*,0~wf
-6\* : 6*,0~zf
-8\\ : 8*,0~dm
+  <30,!,/Me,!,/Et,!3,/Pr,!,/iPr,
+      !3,/tBu,!,/Ph^-30,!
 
-MCf(<30,!8,2\,!,4*\,!,6\*,!,8\\,!)
+  ** Me:methyl Et:ethyl
+     Pr:propyl iPr:isopropyl
+     tBu:tertial buthyl Ph:phenyl
 \end{verbatim}
-\end{minipage}
 \MCFstructure
-\vspace{\gpman}\\
 %-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Branch bond (2)}
+\subsubsection{Insert modified substituent}
 \begin{verbatim}
-2\~dr  : 2*,0~dr
-4\`1.5 : 4*,0`1.5
-6\^15  : 6*,0^15
+  /  : single
+  // : double
+  */ : wedge forward
+  /* : wedge dotted forward
+  ** : direct
 
-MCf(<-30,
-    !6,2\~dr,!,4\`1.5,!,6\^15,-60)
-
+  <30,!,//O,!,/*H,!,*/H,!,/?3,!,**?3,!
 \end{verbatim}
-\end{minipage}
 \MCFstructure
-\vspace{\gpman}\\
 %-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Insert substituent(1)}
 \begin{verbatim}
-MCf(<30,
-!,/Me,!,/Et,!3,/Pr,!,/iPr,!3,/tBu,!,/Ph^-30,!)
+  ~ : change type
+  ^ : change angle
+  ` : change length
+  > : change enviroment
 
-** Me:methyl Et:ethyl
-   Pr:propyl iPr:isopropyl
-   tBu:tertial buthyl Ph:phenyl
+  <30,``1,!,/Me~zf`2^30,!,/Me~zf`2^30,
+   !2,*/Pr>lr,!2,*/Pr>rl,!)
 \end{verbatim}
-\end{minipage}
 \MCFstructure
-\vspace{\gpman}\\
 %-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Insert substituent(2)}
+\subsubsection{Add substituent}
 \begin{verbatim}
-/  : single
-// : double
-*/ : wedge forward
-/* : wedge dotted forward
-** : direct
-
-MCf(<30,!,//O,!,/*H,!,*/H,!,/?3,!,**?3,!)
+  <-30,!17,2:/Me,4:/Et,6:/Pr,
+   10:/iPr,14:/tBu,16:/Ph^-30
 \end{verbatim}
-\end{minipage}
 \MCFstructure
-\vspace{\gpman}\\
 %-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Insert substituent(3)}
+\subsubsection{Add modified substituent}
 \begin{verbatim}
-~ : change type
-^ : change angle
-` : change length
-> : change enviroment
+  ~,^,` : change type,angle,length
 
-MCf(<30,``1,
-    !,/Me~zf`2^30,!,/Me~zf`2^30,
-    !2,*/Pr>lr,!2,*/Pr>rl,!)
+  <-30,!6,@(2~wf,4~zf,6^-30)/H
 \end{verbatim}
-\end{minipage}
 \MCFstructure
-\vspace{\gpman}\\
 %-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Add substituent(1)}
 \begin{verbatim}
-sw_numberA:=1; numberA_end:=12;
-MCf(<30,!11,
-  2:/Me,3:/Et,6:/Pr,7:/iPr,
-  10:/tBu,11:/Ph^-30)
-\end{verbatim}
-\end{minipage}
-\MCFstructure
-\vspace{\gpman}\\
-%-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Add substituent(2)}
-\begin{verbatim}
-~,^,` : change type,angle,length
-        of substituent
+  ^,`,> : change angle,length,environment
 
-MCf(<30,?6,
-    @(3`2^30,3~wf,4~zf,6~wf^-30,6~zf^30)/H)
+  <30,!7`1,@(3)/*Me`2^30,5:*/Pr>lr,7:*/Pr>rl
 \end{verbatim}
-\end{minipage}
 \MCFstructure
-\vspace{\gpman}\\
 %-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Add substituent(3)}
+\subsection{Chain environment}
+\subsubsection{Horizontal,vertical}
 \begin{verbatim}
-~,^,`,> : change type,angle,length,
-          environment of substituent
+  >hz : horizontal enviroment (default)
+  >vt : vertical enviroment
 
-MCF(<30,!7`1,
-@(2,3)/*Me`2^30,5:*/Pr>lr,7:*/Pr>rl)
+  ?4,@(3^-90,3^-30,3^90)/'(!3,"{hz}")>hz,
+     @(1^-60,1`2,1^60)/'(!2,"{vt}")>vt
 \end{verbatim}
-\end{minipage}
 \MCFstructure
-\vspace{\gpman}\\
 %-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Chain strech direction environment (1)}
+\subsubsection{Left-right,right-left}
 \begin{verbatim}
->hz : horizontal enviroment (default)
->vt : vertical enviroment
+  >lr : left-right enviroment
+  >rl : right-left enviroment
 
-  ?4,
-  @(3^-90,3^-30,3^90)/'(!3,"{hz}")>hz,
-  @(1^-60,1`2,1^60)/'(!2,"{vt}")>vt
-
-\end{verbatim}
-\end{minipage}
-\MCFstructure
-\vspace{\gpman}\\
-%-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Chain strech direction environment (2)}
-\begin{verbatim}
->lr : left-right enviroment
->rl : right-left enviroment
-
   <30,!6,
   @(3^-30,3,3^30)/'(!3,"{lr}")>lr,
   @(5^-30,5,5^30)/'(!3,"{rl}")>rl
-
 \end{verbatim}
-\end{minipage}
 \MCFstructure
-\vspace{\gpman}\\
 %-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Chain strech direction environment (3)}
+\subsubsection{Fixed angle,multi angle}
 \begin{verbatim}
- >45 : fixed angle enviroment
- >'(-90,90,-90) : multi angle enviroment
+  >45 : fixed angle enviroment
+  >'(-90,90,-90) : multi angle enviroment
 
   <-30,!6,@(2>45)/'(!3,"{45}"),
   @(6>'(-90,90,-90))/'(!3,"{(-90,90,-90)}")
 \end{verbatim}
-\end{minipage}
 \MCFstructure
-\vspace{\gpman}\\
 %-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Change atom and Substituent}
+\subsection{Miscellaneous}
+%-----------------------------------------------------------------------------
+\subsubsection{Change atom and Substituent}
 \begin{verbatim}
-NH,SO,SOO : inset hetero atom and substituent
-            simultaneously
+  NH,SO,SOO :
+   inset hetero atom and substituent
+   simultaneously
 
   <30,!2,NH,!,SO,!,SOO,!3
-
 \end{verbatim}
-\end{minipage}
 \MCFstructure
-\vspace{\gpman}\\
 %-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Change color}
+\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
 
-  <30,Ph,@(2,5)N,
-          2:red,5:blue,3=green
+  <30,Ph,@(2,5)N,2:red,5:blue,3=green
 
-**  METAFONT ignore color command
+  **  METAFONT ignore color command
 \end{verbatim}
-\end{minipage}
 %%%%\MCFstructure   % for Metafont
-\makebox(72,3.5)[t]{\frame{\makebox(68,42.3)%
-{\includegraphics{mcf_man_soc-042.eps}}}}%  for dvipdfmx
-%%%%{\includegraphics[width=30mm]{mcf_man_soc-042.png}}}}%   for pdfLaTeX
+\includegraphics{mcf_man_soc-060.eps}%  for dvipdfmx
 \advance\fontnum\@ne\relax\advance\tempnum\@ne\relax%
-\vspace{\gpman}\\
 %-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Chain start multiple characters}
+\subsubsection{Make block}
 \begin{verbatim}
-if chain start multi charactor string,
-use !0 instead of !
+  { : start brock
+  } : end brock
 
+  <30,!2,{,``1.2,!2,},!2
+\end{verbatim}
+\MCFstructure
+%-----------------------------------------------------------------------------
+\subsubsection{Chain start multiple characters}
+\begin{verbatim}
+  if chain start multi charactor string,
+  use !0 instead of !
+
   MCd( 1,1)(0  ,0.9)(<30,COOH,!0,!3,COOH)
 
   MCd(.8,1)(0.3,0.1)(<30,COOH,!4,COOH)
 \end{verbatim}
-\end{minipage}
 \MCFstructure
-\vspace{\gpman}\\
 %-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{User definition}
+\subsubsection{User definition}
 \begin{verbatim}
-iBuOH : user defined substructure
+  iBuOH : user defined substructure
 
  iBuOH:='(!,/Me,!,OH)
  MCf(<30,?6,@(4,6)/iBuOH)
-
 \end{verbatim}
-\end{minipage}
 \MCFstructure
-\vspace{\gpman}\\
 %-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Inline definition}
+\subsubsection{Inline definition}
 \begin{verbatim}
-Insert user defined substructure
+  Insert user defined substructure
  
   <30,!3,/'(!,/Me,!,OH),!3
-
 \end{verbatim}
-\end{minipage}
 \MCFstructure
-\vspace{\gpman}\\
-%-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Font size}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\newpage
+\section{Option parameter}
+%------------------------------------------------------------------------------
+\subsection{Size parameter}
+\subsubsection{Font size}
 \begin{verbatim}
   beginfont("EN:Caffeine")
     font_wd#:=30mm#;  %<==font width
     font_ht#:=20mm#;  %<==font height
-    sw_font_frame:=1;
     MCf(<30,?6,-4=?5,$(3,8)dl,@(2,6,7,9)N,
-       @(2,6,9)/Me,@(1,5)//O)
-  endfont
+       @(2,6,9)/Me,@(1,5)//O)  endfont
 \end{verbatim}
-\end{minipage}
 \MCFstructure
-\vspace{\gpman}\\
 %-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Max ratio bond/width length}
+\subsubsection{Margin left and right}
 \begin{verbatim}
-  max_bond_width:=0.10;
-  MCd(1,1)( 0, .5)(<30,Ph)
-  max_bond_width:=0.15;
-  MCd(1,1)(.33,.5)(<30,Ph)
-  max_bond_width:=0.25;
-  MCd(1,1)( 1, .5)(<30,Ph)
-
-** default: max_bond_width=0.15
+ default: margin_left_right=0.4mm
 \end{verbatim}
-\end{minipage}
 \MCFstructure
-\vspace{\gpman}\\
+\begin{picture}(12,20)
+\put(1,14){\makebox(10,6)[r]{\tt 0mm}}
+\put(1, 7){\makebox(10,6)[r]{\tt 0.4mm}}
+\put(1, 0){\makebox(10,6)[r]{\tt 5mm}}
+\end{picture}
 %-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Ratio thickness/bond length}
+\subsubsection{Margin top and bottom}
 \begin{verbatim}
-ratio_thickness_bond:= 0.005;
-MCd(1,.6)(0, .5)(<30,Ph)
-ratio_thickness_bond:= 0.015;
-MCd(1,.6)(.5,.5)(<30,Ph)
-ratio_thickness_bond:= 0.030;
-MCd(1,.6)(1, .5)(<30,Ph)
-
-** default: ratio_thickness_bond=0.015
+ default: margin_top_bottom=0.4mm
 \end{verbatim}
-\end{minipage}
-\MCFstructure
-\vspace{\gpman}\\
+\MCFstructure\\
+\figex{20mm}{0mm}{0.4mm}{5mm}
 %-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Offset thickness of bond}
+\subsubsection{Offset thickness of bond}
 \begin{verbatim}
-beginfont() offset_thickness#:=0pt#;
-MCd(1,.3)(0, .5)(<30,Ph) endfont
-beginfont() offset_thickness#:=0.2pt#;
-MCd(1,.3)(.5,.5)(<30,Ph) endfont
-beginfont() offset_thickness#:=0.5pt#;
-MCd(1,.3)(1, .5)(<30,Ph) endfont
-
-** default: offset_thickness#=0.2pt#
+  default: offset_thickness#=0.2pt#
 \end{verbatim}
-\end{minipage}
-\MCFstru\MCFstru\MCFstructure%
-\vspace{\gpman}\\
+\MCFstructure\\
+\figex{20mm}{0pt}{0.2pt}{0.5pt}
 %-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Ratio char/bond thickness}
+\subsubsection{Offset of doublebond gap}
 \begin{verbatim}
-ratio_char_bond:=1.0;
-MCd(1,.6)(0, .5)(<30,?6,5:O,2:NH)
-ratio_char_bond:=1.5;
-MCd(1,.6)(.5,.5)(<30,?6,5:O,2:NH)
-ratio_char_bond:=2.0;
-MCd(1,.6)(1, .5)(<30,?6,5:O,2:NH)
-
-** default: ratio_char_bond=1.5
+  default: offset_bond_gap#=0.3pt#
 \end{verbatim}
-\end{minipage}
-\MCFstructure
-\vspace{\gpman}\\
+\MCFstructure\\
+\figex{20mm}{0.0pt}{0.3pt}{1.0pt}
 %-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Ratio bondgap/bond length}
+\subsubsection{Offset of atom width}
 \begin{verbatim}
-ratio_bondgap_bond:= 0.10;
-MCd(1,.6)(0, .5)(<30,Ph)
-ratio_bondgap_bond:= 0.15;
-MCd(1,.6)(.5,.5)(<30,Ph)
-ratio_bondgap_bond:= 0.20;
-MCd(1,.6)(1, .5)(<30,Ph)
-
-** default: ratio_bondgap_bond=0.15
+  default: offset_atom#=0.8pt#
 \end{verbatim}
-\end{minipage}
-\MCFstructure
-\vspace{\gpman}\\
+\MCFstructure\\
+\figex{20mm}{0.0pt}{0.8pt}{2.0pt}
 %-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Offset of doublebond gap}
+\subsubsection{Offset of wedge width}
 \begin{verbatim}
-beginfont() offset_bond_gap#:=0.0pt#;
-MCd(1,.3)(0, .5)(<30,Ph) endfont
-beginfont() offset_bond_gap#:=0.3pt#;
-MCd(1,.3)(.5,.5)(<30,Ph) endfont
-beginfont() offset_bond_gap#:=1.0pt#;
-MCd(1,.3)(1, .5)(<30,Ph) endfont
-
-** default: offset_bond_gap#=0.3pt#
+  default:  offset_wedge#=0.4pt#
 \end{verbatim}
-\end{minipage}
-\MCFstru\MCFstru\MCFstructure%
-\vspace{\gpman}\\
+\MCFstructure\\
+\figex{20mm}{0.0pt}{0.4pt}{1.0pt}
 %-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Ratio atom/bond length}
+\subsubsection{Max bond length}
 \begin{verbatim}
-ratio_atom_bond:= 0.25;
-MCd(1,.6)(0, .5)(<30,?6,@(2,5)O)
-ratio_atom_bond:= 0.36;
-MCd(1,.6)(.5,.5)(<30,?6,@(2,5)O)
-ratio_atom_bond:= 0.45;
-MCd(1,.6)(1, .5)(<30,?6,@(2,5)O)
-
-** default: ratio_atom_bond=0.36
+  default:  max_bond_length#=10mm#
 \end{verbatim}
-\end{minipage}
-\MCFstructure
-\vspace{\gpman}\\
+\MCFstructure\\
+\figex{18mm}{6mm}{8mm}{20mm}
 %-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Offset of atom width}
+\subsection{Ratio parameter}
+%-----------------------------------------------------------------------------
+\subsubsection{Thickness/bond length}
 \begin{verbatim}
-beginfont() offset_atom#:=0.0pt#;
-MCd(1,.3)(0, .5)(<30,Ph,@(2,4,6)N) endfont
-beginfont() offset_atom#:=0.8pt#;
-MCd(1,.3)(.5,.5)(<30,Ph,@(2,4,6)N) endfont
-beginfont() offset_atom#:=2.0pt#;
-MCd(1,.3)(1, .5)(<30,Ph,@(2,4,6)N) endfont
-
-** default: offset_atom#=0.8pt#
+  default:  ratio_thickness_bond=0.015
 \end{verbatim}
-\end{minipage}
-\MCFstru\MCFstru\MCFstructure%
-\vspace{\gpman}\\
+\MCFstructure\\
+\figex{20mm}{0.005}{0.015}{0.030}
 %-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Ratio wedge/bond length}
+\subsubsection{Char/bond thickness}
 \begin{verbatim}
-ratio_wedge_bond:=0.10;
-MCd(1,.6)(0, .5)(<30,?6,5:*/Me)
-ratio_wedge_bond:=0.12;
-MCd(1,.6)(.5,.5)(<30,?6,5:*/Me)
-ratio_wedge_bond:=0.20;;
-MCd(1,.6)(1, .5)(<30,?6,5:*/Me)
-
-** default: ratio_wedge_bond=0.12
+  default:  ratio_char_bond=1.5
 \end{verbatim}
-\end{minipage}
-\MCFstructure
-\vspace{\gpman}\\
+\MCFstructure\\
+\figex{20mm}{1.0}{1.5}{2.0}
 %-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Offset of wedge width}
+\subsubsection{Bondgap/bond length}
 \begin{verbatim}
-beginfont() offset_wedge#:=0.0pt#;
-MCd(1,.3)(0, .5)(<30,?6,5:*/Me) endfont
-beginfont() offset_wedge#:=0.4pt#;
-MCd(1,.3)(.5,.5)(<30,?6,5:*/Me) endfont
-beginfont() offset_wedge#:=1.0pt#;
-MCd(1,.3)(1, .5)(<30,?6,5:*/Me) endfont
-
-** default: offset_wedge#=0.4pt#
+  default:  ratio_bondgap_bond= 0.15
 \end{verbatim}
-\end{minipage}
-\MCFstru\MCFstru\MCFstructure%
-\vspace{\gpman}\\
+\MCFstructure\\
+\figex{20mm}{0.10}{0.15}{0.20}
 %-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Ratio font atom gap/atom length}
+\subsubsection{Atom/bond length}
 \begin{verbatim}
-ratio_atomgap_atom:=0.0;
-MCd(1,.6)(0, .5)(<30,?6,@(2,5)O)
-ratio_atomgap_atom:=0.050;
-MCd(1,.6)(.5,.5)(<30,?6,@(2,5)O)
-ratio_atomgap_atom:=0.12;
-MCd(1,.6)(1, .5)(<30,?6,@(2,5)O)
-
-** default: ratio_atomgap_atom=0.050
+  default:  ratio_atom_bond= 0.36
 \end{verbatim}
-\end{minipage}
-\MCFstructure
-\vspace{\gpman}\\
+\MCFstructure\\
+\figex{20mm}{0.25}{0.36}{0.46}
 %-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Ratio chain/ring length}
+\subsubsection{Wedge/bond length}
 \begin{verbatim}
-ratio_chain_ring:= 0.4;
-MCd(1,.6)(0, .5)(<30,?6,5:/Et)
-ratio_chain_ring:= 0.66;
-MCd(1,.6)(.5,.5)(<30,?6,5:/Et)
-ratio_chain_ring:= 1.0;
-MCd(1,.6)(1, .5)(<30,?6,5:/Et)
-
-** default: ratio_chain_ring=0.66
+  default:  ratio_wedge_bond=0.12
 \end{verbatim}
-\end{minipage}
-\MCFstructure
-\vspace{\gpman}\\
+\MCFstructure\\
+\figex{20mm}{0.10}{0.12}{0.20}
 %-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Ratio zebra gap/bond length}
+\subsubsection{Font atom gap/atom length}
 \begin{verbatim}
-ratio_zebragap_bond:=0.06;
-MCd(1,.6)(0, .5)(<30,Ph,5:/*Me`1)
-ratio_zebragap_bond:=0.12;
-MCd(1,.6)(.5,.5)(<30,Ph,5:/*Me`1)
-ratio_zebragap_bond:=0.20;
-MCd(1,.6)(1, .5)(<30,Ph,5:/*Me`1)
-
-** default: ratio_zebragap_bond=0.12
+  default:  ratio_atomgap_atom= 0.050
 \end{verbatim}
-\end{minipage}
-\MCFstructure
-\vspace{\gpman}\\
+\MCFstructure\\
+\figex{20mm}{0.0}{0.050}{0.12}
 %-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Margin left and right}
+\subsubsection{Chain/ring length}
 \begin{verbatim}
-margin_left_right:=0mm;
-MCd(1,1)(0.5,0.9)(<30,CH3,!0,!17,CH3)
-margin_left_right:=0.4mm;
-MCd(1,1)(0.5,0.5)(<30,CH3,!0,!17,CH3)
-margin_left_right:=5mm;
-MCd(1,1)(0.5,0.1)(<30,CH3,!0,!17,CH3)
-
-** default: margin_left_right=0.4mm
+  default:  ratio_chain_ring= 0.66
 \end{verbatim}
-\end{minipage}
-\MCFstructure
-\vspace{\gpman}\\
+\MCFstructure\\
+\figex{20mm}{0.4}{0.65}{1.0}
 %-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Margin top and bottom}
+\subsubsection{Zebra gap/bond length}
 \begin{verbatim}
-margin_top_bottom:=0mm;
-MCd(1,1)(0.1,0.5)(<30,Ph,2:/OH,5:/NH2)
-margin_top_bottom:=0.4mm;
-MCd(1,1)(0.5,0.5)(<30,Ph,2:/OH,5:/NH2)
-margin_top_bottom:=5mm;
-MCd(1,1)(0.9,0.5)(<30,Ph,2:/OH,5:/NH2)
-
-** default: margin_top_bottom=0.4mm
+  default:  ratio_zebragap_bond=0.12
 \end{verbatim}
-\end{minipage}
-\MCFstructure
-\vspace{\gpman}\\
+\MCFstructure\\
+\figex{20mm}{0.06}{0.12}{0.20}
 %-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Switch numbering atom}
+\subsection{Drawing mode}
+%-----------------------------------------------------------------------------
+\subsubsection{Numbering atom}
 \begin{verbatim}
   numberA_start:=3; numberA_end:=8;
-
-  sw_numberA:=1; MCd(1,1)(.5,.9)(<30,!9)
-  sw_numberA:=2; MCd(1,1)(.5,.5)(<30,!9)
-  sw_numberA:=3; MCd(1,1)(.5,.1)(<30,!9)
-
- ** default: numberA_start=1 numberA_end=4095
+  default: sw_numberA=0 :
+    numberA_start=1 numberA_end=4095
 \end{verbatim}
-\end{minipage}
 \MCFstructure
-\vspace{\gpman}\\
+\begin{picture}(5,20)
+\put(0,14){\makebox[5mm]{\tt 1}}
+\put(0, 8){\makebox[5mm]{\tt 2}}
+\put(0, 2){\makebox[5mm]{\tt 3}}
+\end{picture}
 %-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Switch numbering bond}
+\subsubsection{Numbering bond}
 \begin{verbatim}
   numberB_start:=3; numberB_end:=8;
-
-  sw_numberB:=1; MCd(1,1)(.5,.9)(<30,!9)
-  sw_numberB:=2; MCd(1,1)(.5,.5)(<30,!9)
-  sw_numberB:=3; MCd(1,1)(.5,.1)(<30,!9)
-
- ** default: numberB_start=1 numberB_end=4095
+  default: sw_numberB=0 :
+    numberB_start=1 numberB_end=4095
 \end{verbatim}
-\end{minipage}
 \MCFstructure
-\vspace{\gpman}\\
+\begin{picture}(5,20)
+\put(0,14){\makebox[5mm]{\tt 1}}
+\put(0, 8){\makebox[5mm]{\tt 2}}
+\put(0, 2){\makebox[5mm]{\tt 3}}
+\end{picture}
 %-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Switch substituent off}
+\subsubsection{Solid mode}
 \begin{verbatim}
+  MCd(1,1)(0,.5)(Ph,4:/Me)
+  sw_solid:=1;
+  bond_len#:=6mm#;
+  MCd(1,1)(1,.5)(Ph,4:/Me)
+\end{verbatim}
+\MCFstructure\\
+\makebox[5mm]{}%
+\makebox[30mm]{\tt 0 :default}%
+\makebox[30mm]{\tt 1}%
+%-----------------------------------------------------------------------------
+\subsubsection{Expand mode}
+\begin{verbatim}
+  MCd(1,.5)(0,0.5)(<30,Ph,4:/COOH,3:/NH2)
+  sw_expand:=1;
+  MCd(1,.5)(1,0.5)(<30,Ph,4:/COOH,3:/NH2)
+\end{verbatim}
+\MCFstructure\\
+\makebox[5mm]{}%
+\makebox[30mm]{\tt 0 :default}%
+\makebox[30mm]{\tt 1}%
+%-----------------------------------------------------------------------------
+\subsubsection{Substituent off mode}
+\begin{verbatim}
   MCd(1,.5)( 0,0.5)(<30,Ph,4:/Cl,3:/F)
-
   sw_subst_off:=1;
   MCd(1,.5)( 1,0.5)(<30,Ph,4:/Cl,3:/F)
-
- ** default: sw_subst_off=0
 \end{verbatim}
-\end{minipage}
-\MCFstructure
-\vspace{\gpman}\\
+\MCFstructure\\
+\makebox[5mm]{}%
+\makebox[30mm]{\tt 0 :default}%
+\makebox[30mm]{\tt 1}%
 %-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Switch all bond single}
+\subsubsection{Single bond mode}
 \begin{verbatim}
   MCd(1,.5)( 0,0.5)(<30,Ph,4:/Cl,3:/F)
-
   sw_bond_single:=1;
   MCd(1,.5)( 1,0.5)(<30,Ph,4:/Cl,3:/F)
-
- ** default: sw_bond_single=0
 \end{verbatim}
-\end{minipage}
-\MCFstructure
-\vspace{\gpman}\\
+\MCFstructure\\
+\makebox[5mm]{}%
+\makebox[30mm]{\tt 0 :default}%
+\makebox[30mm]{\tt 1}%
 %-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Switch start vector}
+\subsection{Frame,vector}
+%-----------------------------------------------------------------------------
+\subsubsection{Start vector}
 \begin{verbatim}
+  MCf(<30,Ph,4:/Cl,3:/F)
   sw_start_vector:=1;
   MCf(<30,Ph,4:/Cl,3:/F)
-
- ** default: sw_start_vector=0
 \end{verbatim}
-\end{minipage}
-\MCFstructure
-\vspace{\gpman}\\
+\MCFstructure\\
+\makebox[5mm]{}%
+\makebox[30mm]{\tt 0 :default}%
+\makebox[30mm]{\tt 1}%
 %-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Switch font frame}
+\subsubsection{Font frame}
 \begin{verbatim}
-sw_font_frame=0 : no frame  **default
-sw_font_frame=1 : draw frame of font
-sw_font_frame=2 : draw frame inside margin
-sw_font_frame=3 : draw both
+  sw_font_frame=0 : no frame  **default
+  sw_font_frame=1 : draw frame of font
+  sw_font_frame=2 : draw frame inside margin
+  sw_font_frame=3 : draw both
 
-sw_font_frame:=3;
-margin_left_right:=5mm; margin_top_bottom:=2mm;
-MCf(<30,Ph,4:/Cl,3:/F)
+  sw_font_frame:=3;
+  margin_left_right:=5mm;
+  margin_top_bottom:=2mm;
+  MCf(<30,Ph,4:/Cl,3:/F)
 \end{verbatim}
-\end{minipage}
 \MCFstructure
-\vspace{\gpman}\\
 %-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Switch molecular frame}
+\subsubsection{Molecular frame}
 \begin{verbatim}
-  MCd(1,.5)(0,0.5)(<30,Ph,4:/Cl,3:/F)
-
   sw_mol_frame:=1;
   MCd(1,.5)(1,0.5)(<30,Ph,4:/Cl,3:/F)
-
- ** default: sw_mol_frame=0
+  ** default: sw_mol_frame=0
 \end{verbatim}
-\end{minipage}
 \MCFstructure
-\vspace{\gpman}\\
 %-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Switch atom frame}
+\subsubsection{Atom frame}
 \begin{verbatim}
-
   sw_atom_frame:=1;
   MCf(<30,Ph,4:/COOH,3:/OH)
-
- ** default: sw_atom_frame=0
+  ** default: sw_atom_frame=0
 \end{verbatim}
-\end{minipage}
 \MCFstructure
-\vspace{\gpman}\\
 %-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Switch solid mode}
+\subsection{Clipping font}
 \begin{verbatim}
-  MCd(1,.8)( 0,0.5)(<30,Ph,4:/Cl,3:/F)
-
-  sw_solid:=1;
-  ratio_bond_width:=0.08;
-  MCd(1,.8)( 1,0.5)(<30,Ph,4:/Cl,3:/F)
-
- ** default: sw_solid=0
+  beginfont()
+  sw_clip:=0;
+  MCf(<30,Ph,4:/Cl,3:/F) endfont
+  ** default: sw_clip=0
 \end{verbatim}
-\end{minipage}
 \MCFstructure
-\vspace{\gpman}\\
-%-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Switch Expand}
 \begin{verbatim}
-  MCd(1,.5)(0,0.5)(<30,Ph,4:/COOH,3:/NH2)
-
-  sw_expand:=1;
-  MCd(1,.5)(1,0.5)(<30,Ph,4:/COOH,3:/NH2)
-
- ** default: sw_expand=0
+  beginfont()
+  sw_clip:=1;
+  MCf(<30,Ph,4:/Cl,3:/F) endfont
 \end{verbatim}
-\end{minipage}
 \MCFstructure
-\vspace{\gpman}\\
-%-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Function MCd (draw)}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\newpage
+\section{MCF draw function}
+\subsection{Function MCd (draw)}
 \begin{verbatim}
   MCd(a,b)(c,d)(...)
     a: ratio molecular width/font width
@@ -1213,72 +809,57 @@
     c: x axis position
     d: y axis position
 
-  MCd(1,0.8)(0.2,0.9)(<30,Ph,2:/OH,5:/NH2)
-  MCd(1,0.8)(0.8,0.1)(<30,Ph,2:/OH,5:/NH2)
+  MCd(1,0.8)(0.2,0.9)(<30,Ph,3:/F,4:/Cl)
+  MCd(1,0.8)(0.8,0.1)(<30,Ph,3:/F,4:/Cl)
 \end{verbatim}
-\end{minipage}
 \MCFstructure
-\vspace{\gpman}\\
 %-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Function MCf (fit draw)}
+\subsection{Function MCf (fit draw)}
 \begin{verbatim}
   MCf(...) : MCd(1,1)(0.5,0.5)(...)
 
   sw_font_frame:=1;
   sw_mol_frame:=1;
-  MCf(<30,Ph,2:/OH,5:/NH2)
+  MCf(<30,Ph,3:/F,4:/Cl)
 \end{verbatim}
-\end{minipage}
 \MCFstructure
-\vspace{\gpman}\\
 %-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Local setting}
+\subsection{Local setting}
 \begin{verbatim}
-beginfont()
-  sw_mol_frame:=1; % <<== Local setting
-  MCd(1,.4)( 0,.5)(Ph)
-endfont
-beginfont() MCd(1,.4)(.5,.5)(Ph) endfont
-beginfont() MCd(1,.4)( 1,.5)(Ph) endfont
+  beginfont() MCd(1,.4)(0,.5)(Ph) endfont
+  beginfont()
+    ratio_thickness_bond:=0.05;
+    MCd(1,.4)(0.5,.5)(Ph)
+  endfont
+  beginfont() MCd(1,.4)(1,.5)(Ph) endfont
 \end{verbatim}
-\end{minipage}
-\MCFstru\MCFstru\MCFstructure%
-\vspace{\gpman}\\
+\MCFstructure
 %-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Global setting}
+\subsection{Global setting}
 \begin{verbatim}
-sw_mol_frame:=1; % <<== Global setting
-beginfont() MCd(1,.4)( 0,.5)(Ph) endfont
-beginfont() MCd(1,.4)(.5,.5)(Ph) endfont
-beginfont() MCd(1,.4)( 1,.5)(Ph) endfont
+  ratio_thickness_bond:=0.05;
+  beginfont() MCd(1,.4)( 0,.5)(Ph) endfont
+  beginfont() MCd(1,.4)(.5,.5)(Ph) endfont
+  beginfont() MCd(1,.4)( 1,.5)(Ph) endfont
 \end{verbatim}
-\end{minipage}
-\MCFstru\MCFstru\MCFstructure%
-\vspace{\gpman}\\
+\MCFstructure
 %-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Output molecular information}
+\subsection{Output molecular information}
 \begin{verbatim}
 var3:="calc_weight";  tag3:="cMW";
 var4:="calc_formula"; tag4:="cFM";
 %% Output to mcf_man_soc-info.aux %%
-F:mcf_man_soc;C:85;cMW:194.19174;cFM:C8H10N4O2
+..... ;C:85;cMW:194.19174;cFM:C8H10N4O2
 
 cMW:calculated molecular weight
 cFM:calculated molecular formula
 \end{verbatim}
-\end{minipage}
 \MCFstructure
-\vspace{\gpman}\\
 %-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Output additional information}
+\subsection{Output additional information}
 \begin{verbatim}
 beginfont("EN:Tocopherol","CAS:59-02-9")
-MCf(...) endfont
+  MCf(...) endfont
 
 %% Output to mcf_man_soc-info.aux %%
 F:mcf_man_soc;C:86;EN:Tocopherol;CAS:59-02-9
@@ -1286,56 +867,46 @@
 *F:filename *C:char number EN:molecular name
 CAS:CAS number *:default output
 \end{verbatim}
-\end{minipage}
 \MCFstructure
-\vspace{\gpman}\\
 %-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Change aux information delimiter}
+\subsection{Change aux information delimiter}
 \begin{verbatim}
 aux_delimiter:="/";
 beginfont("EN:Ampicillin","CAS:69-53-4")
-MCf(...) endfont
+  MCf(...) endfont
 
 %% Output to mcf_man_soc-info.aux %%
 F:mcf_man_soc/C:90/EN:Ampicillin/CAS:69-53-4
 
-**default  aux_delimiter=";"
-
+  **default  aux_delimiter=";"
 \end{verbatim}
-\end{minipage}
 \MCFstructure
-\vspace{\gpman}\\
 %-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Fixed aux information}
+\subsection{Fixed aux information}
 \begin{verbatim}
-tag3:="NO"; var3:="inf_NO";
-tag4:="EN"; var4:="inf_EN";
-sw_auxfix:=1; auxtag_out;
-beginfont("EN:Cholesterol","NO:1") ... endfont
+  tag3:="NO"; var3:="inf_NO";
+  tag4:="EN"; var4:="inf_EN";
+  sw_auxfix:=1; auxtag_out;
+  beginfont("EN:Cholesterol","NO:1")
+  ..... endfont
 
-%% Output to mcf_man_soc-info.aux %%
-F;C;NO;EN
-mcf_man_soc;91;1;Ampicillin
+  %% Output to mcf_man_soc-info.aux %%
+  F;C;NO;EN
+  mcf_man_soc;91;1;Ampicillin
 \end{verbatim}
-\end{minipage}
 \MCFstructure
-\vspace{\gpman}\\
 %-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Example(1) Warfarin}
+\newpage
+\section{MCF example}
+\subsection{Warfarin}
 \begin{verbatim}
   <30,Ph,3=?6,8=dl,
   10:O,7:/OH,9://O,
   8\,/Ph`1,60,!,//O,!
 \end{verbatim}
-\end{minipage}
 \MCFstructure
-\vspace{\gpman}\\
 %-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Example(2) Limonin}
+\subsection{Limonin}
 \begin{verbatim}
  <30,?6,$(-3,-4)?6,-5=?3,
   -2=wf,-1=wb,6=?5,-4=?6,-5=wf,
@@ -1344,34 +915,27 @@
   @(1^60,5^180,16^60)/*H,
   14\*,|,?5,$(1,4)dl,3:O
 \end{verbatim}
-\end{minipage}
 \MCFstructure
-\vspace{\gpman}\\
 %-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Example(3) Sesamine}
+\subsection{Sesamine}
 \begin{verbatim}
- <54,?5,1=?5,@(4,7)O,@(1^-54,2^54)*/H,
+ <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
 \end{verbatim}
-\end{minipage}
 \MCFstructure
-\vspace{\gpman}\\
 %-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Example(4) Colchicine}
+\subsection{Colchicine}
 \begin{verbatim}
-  <30,Ph,@(1,2,6)/OMe,-4=?7,-5=?7,
+  <30,Ph,@(1,2,6)/OMe,
+  -4=?7,-5=?7,
   $(-1,-4,-6)dl,-2://O,-3:/OH,
   9\,NH,!,//O,!
 \end{verbatim}
-\end{minipage}
 \MCFstructure
-\vspace{\gpman}\\
 %-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Example(5) Lycorine}
+\subsection{Lycorine}
 \begin{verbatim}
   <30,Ph,
   -4=?6,-2=?6,6=?5,(9,12)=?5[3],
@@ -1380,12 +944,9 @@
   9:/*H^180,10:*/H^60,
   13:*/OH,14:/*OH
 \end{verbatim}
-\end{minipage}
 \MCFstructure
-\vspace{\gpman}\\
 %-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Example(6) Gibberellin}
+\subsection{Gibberellin}
 \begin{verbatim}
   <18,?5,3=?7,5=?6[12],
   8*,160`1.3,&3,
@@ -1394,12 +955,9 @@
   2:/COOH,7://Me,13:*/OH,8:/*OH,
   14:*/Me,@(1^60,4^60)*/H
 \end{verbatim}
-\end{minipage}
 \MCFstructure
-\vspace{\gpman}\\
 %-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Example(7) Quinine}
+\subsection{Quinine}
 \begin{verbatim}
   <30,Ph,3=Ph,7:N,6:/OMe,
    10\,*/OH,/H~zf^-60,!,
@@ -1407,12 +965,9 @@
    4*\,!~dr,
    2*,165~zf,60,&5~zb
 \end{verbatim}
-\end{minipage}
 \MCFstructure
-\vspace{\gpman}\\
 %-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Example(8) Atoropin}
+\subsection{Atoropin}
 \begin{verbatim}
   <-30,O,!,//O,!,!,Ph,
   #1\~zb^-120,
@@ -1419,23 +974,34 @@
   |,?7,6*\^190`1.02,N,/Me,&3~wb,
   #3\~wv,!,OH
 \end{verbatim}
-\end{minipage}
 \MCFstructure
-\vspace{\gpman}\\
 %-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Example(9) Validamycin}
+\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)/OMe,1*\,/Me,!~dl
+\end{verbatim}
+\MCFstructure
+%-----------------------------------------------------------------------------
+\subsection{Pyrethrin I}
+\begin{verbatim}
+  <30,?3,@(3^35~wf,3^-35~zf)/Me,
+  1*\,!~dl,iPr,2\*,//O,!,O,-36~zb,|,
+  ?5,-2=d,-1:/Me,-3://O,-2\,!4,$(-1,-3)dl
+\end{verbatim}
+\MCFstructure
+%-----------------------------------------------------------------------------
+\subsection{Validamycin}
+\begin{verbatim}
   <30,?6,@(5,6)/OH,3\,-60,OH,
   #4\,O,-60,|,?6,2:O,@(3,4,5,6)/OH,
   #1\,NH,!,|,?6,2=d,@(4,5,6)/OH,-4\,!,OH
 \end{verbatim}
-\end{minipage}
 \MCFstructure
-\vspace{\gpman}\\
 %-----------------------------------------------------------------------------
-\begin{minipage}[t][\htman]{90mm}
-\MCFtitle{Example(10) Paclitaxel}
+\subsection{Paclitaxel}
 \begin{verbatim}
   ?6,5=d,3*,{,``1,36,45,45,45,45,},&#5,
   -4=?6,-4=?4,-1=wb,-3=wf,-1:O,||,
@@ -1446,7 +1012,114 @@
   7\*,O,-45,//O,60,Ph,11*\,O,-60,//O,60,
   12\*^-15,O,60,//O,-60
 \end{verbatim}
-\end{minipage}
 \MCFstructure
 %-----------------------------------------------------------------------------
+\onecolumn%
+\section{Example to use mcf2graph}
+\subsection{Molecular definition file example}
+\begin{verbatim}
+%-------------------------------------------------------------------------
+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                     >
+var3:="cal_MW"; tag3:="cMW";                            > AUX file table
+var4:="cal_FM"; tag4:="cFM";                            >
+%%%% var5:="cal_MW";  tag5:="cMW";                      >
+%%%% var6:="cal_FM";  tag6:="cFM";                      >
+%%%% var7:="inf_USE"; tag7:="USE";                      >
+%%%% var8:="inf_EXA"; tag8:="EXA";                      >
+%%%% var9:="inf_EXB"; tag9:="EXB";                      >
+%%%% auxtag_out;                                        >
+%%%% sw_checklist:=1;                                   >
+%%%% sw_MOLout:=1;                                      >
+outputformat:="png"; hppp:=vppp:=0.1;                   > PNG output
+outputtemplate:="%j-%3c.png";                           >
+%-------------------------------------------------------------------------
+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)/Me,                                  >
+     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)*/Me^60,9:*/H^60,                   >
+      10:/*H^180,@(11,-1)/*H^-60,                       >
+      -1\^17,/*Me,!4,/Me,!)                             > end MCF
+endfont                                                 > end font
+%------------------------------------------------------------------------
+bye
+\end{verbatim}
+%------------------------------------------------------------------------
+\subsection{Molecular structure output example}
+\INFO{F:mcf_man_soc,C:100,NO:1,cMW:349.40462,cFM:C16H19N3O4S,EN:Ampicillin}%
+\INFO{F:mcf_man_soc,C:101,NO:2,cMW:386.6532,cFM:C27H46O,EN:Cholesterol}%
+\newpage
+%------------------------------------------------------------------------
+\noindent%
+\subsection{Molecular information output example}
+'filename'-info.aux : for use in \TeX, it takes over filename,
+char number, molecular information,etc.
+\begin{verbatim}
+(sw_auxfix=0)
+F:mcf_man_soc;C:109;cMW:349.40462;cFM:C16H19N3O4S;EN:Ampicillin
+F:mcf_man_soc;C:110;cMW:386.6532;cFM:C27H46O;EN:Cholesterol
+  .....................................................
+  .....................................................
+
+(sw_auxfix=1)
+F;C;cMW;cFM;EN
+mcf_man_soc;90;349.40462;C16H19N3O4S;Ampicillin
+mcf_man_soc;91;386.6532;C27H46O;Cholesterol
+  ......................................
+  ......................................
+
+( tag : variable )
+F : filename   C : char number   NO : serial number   EN : english name
+cMW : molecular weight calculated   cFM : molecular formula calculated
+MW  : molecular weight from literature data
+\end{verbatim}
+%----------------------------------------------------------------------------
+\subsection{LaTeX file example}
+%############################################################################
+\begin{verbatim}
+%--------------------------------------------------------------------
+\documentclass[a4paper]{article}
+\usepackage{graphicx}
+\pagestyle{empty}
+\makeatletter%
+%--------------------------------------------------------------------
+\def\@F{F}\def\@C{C}\def\@EN{EN}\def\@NO{NO}\def\@MW{MW}\def\@FMc{FMc}%
+\def\@fst at param#1:#2;{#1}\def\@sec at param#1:#2;{#2}%
+\def\mol at sel#1{%
+\if#1\empty\relax\else%
+  \edef\@tag{\expandafter\@fst at param#1;}%
+  \edef\@var{\expandafter\@sec at param#1;}%
+  \ifx\@tag\@F\edef\MOLfile{\@var}\fi%
+  \ifx\@tag\@C\edef\MOLchar{\@var}\fi%
+  \ifx\@tag\@EN\edef\MOLnameE{\@var}\fi%
+  \ifx\@tag\@NO\edef\MOLnum{\@var}\fi
+  \ifx\@tag\@MW\edef\CALmw{\@var}\fi
+  \ifx\@tag\@FMc\edef\CALfm{\@var}\fi
+\fi}%
+\def\put at char{%
+  \begin{picture}(84,42)%
+     \put(0,38){\bf [\MOLnum]\MOLnameE{ }\small\tt/FM:\CALfm/MW:\CALmw}%
+     \put(10,0){\font\@strufont=\MOLfile\relax%
+               \hbox{\@strufont\char\MOLchar}}%
+  \end{picture}%
+\def\INFO#1{\@for\@temp:=#1\do{\mol at sel\@temp}\put at char}%
+\makeatother
+%--------------------------------------------------------------------
+\begin{document}
+\unitlength=1mm%
+\INFO{F:mcf_man_soc,C:100,NO:1,cMW:349.40462,cFM:C16H19N3O4S,EN:Ampicillin}%
+\INFO{F:mcf_man_soc,C:101,NO:2,cMW:386.6532,cFM:C27H46O,EN:Cholesterol}%
 \end{document}
+%--------------------------------------------------------------------
+\end{verbatim}%
+%############################################################################
+\end{document}

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	2016-10-10 21:13:18 UTC (rev 42247)
+++ trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.tex	2016-10-10 21:14:36 UTC (rev 42248)
@@ -1,7 +1,7 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Example of  MCF typest with LuaLaTeX(luamplib)       by A.Yamaji   2016.8.21
+% Example of  MCF typest with LuaLaTeX(luamplib)     by A.Yamaji   2016.10.10
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%% mcf2graph.mf it must be version 3.97 or later
+%%% mcf2graph.mf it must be version 3.98 or later
 \documentclass{article}
 %------------------------------------------------------------------------------
 \usepackage{luamplib}%
@@ -79,7 +79,7 @@
 %------------------------------------------------------------------------------------
 \begin{document}
 \begin{center}
- {\LARGE\bf MCF example for luamplib(Lua\LaTeX)}\vspace{5mm}\\
+ {\Huge\sf MCF example for luamplib(Lua\LaTeX)}\vspace{5mm}\\
  Author : Akira Yamaji \quad Date : \today\\
  Located at : http://www.ctan.org/pkg/mcf2graph\vspace{2mm}\\
 \end{center}

Modified: trunk/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf
===================================================================
--- trunk/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf	2016-10-10 21:13:18 UTC (rev 42247)
+++ trunk/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf	2016-10-10 21:14:36 UTC (rev 42248)
@@ -1,5 +1,5 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% mcf2graph ver 3.97     Copyright (c) 2013-2016   Akira Yamaji
+% mcf2graph ver 3.98     Copyright (c) 2013-2016   Akira Yamaji
 %
 % Permission is hereby granted, free of charge, to any person obtaining a copy of this software
 % and associated documentation files (the "Software"), to deal in the Software without restriction,
@@ -30,7 +30,7 @@
 % Set output checklist            : mpost -s ahlength=2 FILENAME
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 tracingstats:=1;
-message " This is mcf2graph ver 3.9  2016.8";
+message " This is mcf2graph ver 4.0  2016.10";
 %-------------------------------------------------------------------------------------------------
 pair    posB[],posA[],pairT,Ls,Le,pairA;
 numeric angB[],angA[],br_ang[],sB[],eB[],f_FON[],atom_w[],atom_h[],atom_d[],strA[],stkB[],stkA[],
@@ -38,13 +38,13 @@
         comMC[][],parMC[][],stock_p[],cntMC[],colorA[],colorB[],tblN[],tblB[][],wtA[],sumA[],
         CH[],NH[],NO[],SO[],CCl[],CF[],CBr[],?[],![],Ph[];
 path    pA,pB,pC,pT;
-string  info[],tblA[],com_str[],var[],tag[],cal_FM,mp_log_name,inf_EN,inf_JN,inf_FM,
-        inf_CAS,inf_USE,inf_EXA,inf_EXB,inf_str,cal_MW_str,aux_delimiter;
+string  info[],tblA[],com_str[],var[],tag[],cal_FM,mp_log_name,inf_NO,inf_MW,inf_EN,inf_JN,inf_FM,
+        inf_CAS,inf_USE,inf_EXA,inf_EXB,inf_str,cal_MW_str,aux_delimiter,s_tag,s_var;
 picture atom_font[],chem_structure,temp_picture;
 %-------------------------------------------------------------------------------------------------
 sw_numberA:=sw_numberB:=sw_mol_frame:=sw_auxout:=sw_solid:=sw_expand:=sw_start_vector:=0;
-char_num:=str_cnt:=proc_end:=sw_font_frame:=sw_atom_frame:=sw_checklist:=sw_MOLout:=0;
-sw_subst_off:=sw_bond_single:=sw_auxfix:=0;
+char_num:=str_cnt:=proc_end:=sw_font_frame:=sw_atom_frame:=sw_checklist:=0;
+sw_MOLout:=sw_subst_off:=sw_bond_single:=sw_auxfix:=sw_clip:=0;
 numberA_start:=numberB_start:=1; numberA_end:=numberB_end:=4095; aux_max:=20;
 aux_delimiter:=";";  var1:="jobname";  tag1:="F";  var2:="char_num"; tag2:="C";
 for i=3 upto aux_max: var[i]:=tag[i]:=""; endfor
@@ -78,11 +78,12 @@
 ?3:=?20:=Ph:=Ph1:=Ph2:=hz:=0; vt:=1;
 first_def_number:=500; user_def_number:=2500; ab_def_number:=3000;
 margin_left_right:=margin_top_bottom:=0.4mm;  ratio_chain_ring:= 0.66;   ratio_atom_bond:=0.36;
-ratio_thickness_bond:=0.015;  offset_atom#:=0.8pt#;      max_bond_width:=0.25;
-ratio_char_bond:=1.5;         ratio_bondgap_bond:=0.15;  ratio_zebragap_bond:=0.12;
-ratio_zebra_black:=0.4;       ratio_wedge_bond:=0.12;    ratio_atomgap_atom:=.050;
-offset_thickness#:=0.2pt#;    offset_bond_gap#:=0.3pt#;  offset_zebra_gap#:=0.1pt#;
-offset_wedge#:=0.4pt#;
+ratio_thickness_bond:=0.015;  offset_atom#:=0.8pt#;
+ratio_char_bond:=1.5;         ratio_bondgap_bond:=0.15;      ratio_zebragap_bond:=0.12;
+ratio_zebra_black:=0.4;       ratio_wedge_bond:=0.12;        ratio_atomgap_atom:=.050;
+offset_thickness#:=0.2pt#;    offset_bond_gap#:=0.3pt#;      offset_zebra_gap#:=0.1pt#;
+offset_wedge#:=0.4pt#;        thickness_font_frame#:=0.2pt#;
+max_bond_length#:=10mm;       bond_len#:=8mm#;
 par_s=ASCII("{"); par_e=ASCII("}"); score_u=ASCII("_"); hat=ASCII("^");
 max_inf_num:=12; for i:=1 upto max_inf_num: info[i]:=":"; endfor
 def def_com(expr n)(text tx)= nA:=n; forsuffixes list=tx:: list:=nA; nA:=nA+1; endfor enddef;
@@ -94,12 +95,12 @@
 %-------------------------------------------------------------------------------------------------
 def parameter_list=
   sw_checklist,sw_numberA,sw_numberB,sw_mol_frame,sw_auxout,sw_solid,sw_expand,sw_MOLout,
-  sw_start_vector,sw_atom_frame,sw_font_frame,sw_subst_off,sw_bond_single,
+  sw_start_vector,sw_atom_frame,sw_font_frame,sw_subst_off,sw_bond_single,sw_clip,
   margin_left_right,margin_top_bottom,ratio_atom_bond,ratio_thickness_bond,ratio_char_bond,
-  ratio_chain_ring,offset_atom,offset_atom#,max_bond_width,ratio_bondgap_bond,ratio_zebra_black,
-  ratio_zebragap_bond,ratio_wedge_bond,ratio_atomgap_atom,offset_wedge,offset_wedge#,
-  offset_zebra_gap,offset_zebra_gap#,offset_bond_gap,offset_bond_gap#,
-  offset_thickness,offset_thickness#,numberA_start,numberA_end,numberB_start,numberB_end
+  ratio_chain_ring,offset_atom#,max_bond_width,ratio_bondgap_bond,ratio_zebra_black,
+  ratio_zebragap_bond,ratio_wedge_bond,ratio_atomgap_atom,bond_len#,
+  offset_wedge#,max_bond_length#,offset_zebra_gap#,offset_bond_gap#,thickness_font_frame#,
+  offset_thickness#,numberA_start,numberA_end,numberB_start,numberB_end
 enddef;
 %-------------------------------------------------------------------------------------------------
 nA:=0; for list=parameter_list: stock_p[incr nA]:=list; endfor
@@ -110,29 +111,33 @@
 enddef;
 %-------------------------------------------------------------------------------------------------
 def beginfont(text s)=
-  inf_EN:=inf_JN:=inf_FM:=inf_CAS:=inf_USE:=inf_EXA:=inf_EXB:="";
-  len_x:=len_y:=cntA:=inf_num:=inf_MW:=f_beginchar:=0;
-  store_par(parameter_list); stock_wd#:=font_wd#; stock_ht#:=font_ht#;
-  ratio_bond_width:=1/30;
-  for list=s: inf_num:=inf_num+1; info[inf_num]:=list;
-    if     substring (0,2) of list="NO":  inf_NO:=scantokens(substring (3,length(list)) of list);
-    elseif substring (0,2) of list="MW":  inf_MW:=scantokens(substring (3,length(list)) of list);
-    elseif substring (0,2) of list="EN":  inf_EN:=substring (3,length(list)) of list;
-    elseif substring (0,2) of list="JN":  inf_JN:=substring (3,length(list)) of list;
-    elseif substring (0,2) of list="FM":  inf_FM:=substring (3,length(list)) of list;
-    elseif substring (0,3) of list="CAS": inf_CAS:=substring (4,length(list)) of list;
-    elseif substring (0,3) of list="USE": inf_USE:=substring (4,length(list)) of list;
-    elseif substring (0,3) of list="EXA": inf_EXA:=substring (4,length(list)) of list;
-    elseif substring (0,3) of list="EXB": inf_EXB:=substring (4,length(list)) of list; fi
+  inf_EN:=inf_JN:=inf_FM:=inf_CAS:=inf_USE:=inf_EXA:=inf_EXB:=""; inf_MW:="0";
+  len_x:=len_y:=cntA:=inf_num:=f_beginchar:=0;
+  store_par(parameter_list); save_wd#:=font_wd#; save_ht#:=font_ht#;
+  ratio_bond_width:=0.025;
+  clearit;
+  for list=s:
+    inf_num:=inf_num+1; info[inf_num]:=list;
+    nA:=0; for i=0 upto length(list): if pic_c(i,list)=":": nA:=i; fi exitif nA>0; endfor
+    if nA>0:
+      s_tag:=substring (0,nA) of list; s_var:=substring (nA+1,length(list)) of list;
+      if     s_tag="NO": inf_NO:=s_var;    elseif s_tag="MW": inf_MW:=s_var;
+      elseif s_tag="EN": inf_EN:=s_var;    elseif s_tag="JN": inf_JN:=s_var;
+      elseif s_tag="FM": inf_FM:=s_var;    elseif s_tag="CAS": inf_CAS:=s_var;
+      elseif s_tag="USE": inf_USE:=s_var;  elseif s_tag="EXA": inf_EXA:=s_var;
+      elseif s_tag="EXB": inf_EXB:=s_var;
+      fi
+    fi
   endfor
 enddef;
 %-------------------------------------------------------------------------------------------------
 def endfont=
   if     (sw_font_frame=1)or(sw_font_frame=3):
-     AUX(0,0)(draw_frame(font_wd,font_ht,(0,0),0.2pt);) fi
+     AUX(0,0)(draw_frame(font_wd,font_ht,(0,0),thickness_font_frame);) fi
   if (sw_font_frame=2)or(sw_font_frame=3):
      AUX(0,0)(draw_frame(font_wd-2margin_left_right,font_ht-2margin_top_bottom,
-             (margin_left_right,margin_top_bottom),0.2pt);)  fi
+             (margin_left_right,margin_top_bottom),thickness_font_frame);)  fi
+  if sw_font_frame=4: AUX(0,0)(draw_corner(font_wd,font_ht,thickness_font_frame);) fi
   if (sw_auxout=1)or(sw_checklist=1)or(sw_MOLout=1): mol_check; fi
   if sw_auxout=1:    auxfile_out; fi
   if sw_checklist=1: checklist_out; fi
@@ -140,38 +145,44 @@
   if f_beginchar=1:
      char_num:=char_num+1; currentpicture:=chem_structure; chem_structure:=nullpicture;
      endchar; fi
-  restore_par(parameter_list); font_wd#:=stock_wd#; font_ht#:=stock_ht#;
+  restore_par(parameter_list); font_wd#:=save_wd#; font_ht#:=save_ht#;
   if proc_end=1: scantokens("bye"); fi
 enddef;
 %-------------------------------------------------------------------------------------------------
 def size_setup=
-  BL#        := font_wd#*ratio_bond_width;
-  wedge_wd#  := ratio_wedge_bond*BL#+offset_wedge#;
-  zebra_gap# := ratio_zebragap_bond*BL#+offset_zebra_gap#;
-  if (ratio_atom_bond*BL#+offset_atom#)<.8BL#:
-    AL#:=ratio_atom_bond*BL#+offset_atom#; else: AL#:=.8BL#; ratio_chain_ring:= .5; fi
-  gap#       := ratio_bondgap_bond*BL#+offset_bond_gap#;
-  bond_pen_wd#   := ratio_thickness_bond*BL#+offset_thickness#;
-  char_pen_wd#   := ratio_char_bond*bond_pen_wd#;
-  define_pixels(BL,zebra_gap,wedge_wd,AL,gap,bond_pen_wd,char_pen_wd,font_wd,font_ht);
+  if sw_solid=0: bond_len#:=font_wd#*ratio_bond_width; fi
+  wedge_wd#  := ratio_wedge_bond*bond_len#+offset_wedge#;
+  zebra_gap# := ratio_zebragap_bond*bond_len#+offset_zebra_gap#;
+  if (ratio_atom_bond*bond_len#+offset_atom#)<.8bond_len#:
+    atom_wd#:=ratio_atom_bond*bond_len#+offset_atom#;
+  else:
+    atom_wd#:=.8bond_len#; ratio_chain_ring:= .5;
+  fi
+  gap#:= ratio_bondgap_bond*bond_len#+offset_bond_gap#;
+  bond_pen_wd# := ratio_thickness_bond*bond_len#+offset_thickness#;
+  char_pen_wd# := ratio_char_bond*bond_pen_wd#;
+  define_pixels(bond_len,zebra_gap,wedge_wd,atom_wd,gap,bond_pen_wd,char_pen_wd,
+                font_wd,font_ht,thickness_font_frame);
   font_size_setup;
 enddef;
 %-------------------------------------------------------------------------------------------------
-def scaling=  min_x:=min_y:= 4095.999; max_x:=max_y:=-4095.999;
+def scaling=
+min_x:=min_y:= 4095.999; max_x:=max_y:=-4095.999;
 for i=1 upto cntA: xpos:=xpart(posA[i]); ypos:=ypart(posA[i]);
   if strA[i]<>0: str_len:=nC:=num_d:=0;
-    for j=0 upto length(com_str[strA[i]])-1: nA:=ASCII(pic_c(j,com_str[strA[i]]));
+    for j=0 upto length(com_str[strA[i]])-1:
+      nA:=ASCII(pic_c(j,com_str[strA[i]]));
       if (nA=score_u)or(nA=hat)or(nA=par_s)or(nA=par_e):
-        if (nA=hat)and(nC<.5AL): nC:=.5AL; fi;
-        if (nA=score_u)and(num_d<.5AL): num_d:=.5AL; fi;
+        if (nA=hat)and(nC<.5atom_wd): nC:=.5atom_wd; fi;
+        if (nA=score_u)and(num_d<.5atom_wd): num_d:=.5atom_wd; fi;
       else: str_len:=str_len+atom_w[nA]; fi  
     endfor
     str_ang:=(br_ang[i] mod 360); num_f:=str_len;
     if     (str_ang<=91)or(str_ang>=269): num_f:=0; else: str_len:=0; fi
-    if     (xpos-num_f+.5AL)<min_x: min_x:=xpos-num_f+.5AL;
-    elseif (xpos+str_len-.5AL)>max_x: max_x:=xpos+str_len-.5AL; fi
-    if     (ypos-num_d-.5AL)<min_y: min_y:=ypos-num_d-.5AL;
-    elseif (ypos+nC+.5AL)>max_y: max_y:=ypos+nC+.5AL; fi
+    if     (xpos-num_f+.5atom_wd)<min_x: min_x:=xpos-num_f+.5atom_wd;
+    elseif (xpos+str_len-.5atom_wd)>max_x: max_x:=xpos+str_len-.5atom_wd; fi
+    if     (ypos-num_d-.5atom_wd)<min_y: min_y:=ypos-num_d-.5atom_wd;
+    elseif (ypos+nC+.5atom_wd)>max_y: max_y:=ypos+nC+.5atom_wd; fi
     else: if xpos<min_x: min_x:=xpos; elseif xpos>max_x: max_x:=xpos; fi
           if ypos<min_y: min_y:=ypos; elseif ypos>max_y: max_y:=ypos; fi fi
  endfor
@@ -365,7 +376,6 @@
 def MCf(text s)= MCd(1,1)(.5,.5)(s); enddef;  % MC fill draw
 %-------------------------------------------------------------------------------------------------
 def MCd(expr RW,RH)(expr FW,FH)(text s)=
-  if f_beginchar=0: beginchar(char_num,font_wd#,font_ht#,0); clearit; f_beginchar:=1; fi
   mc_num:=user_def_number; ab_num:=ab_def_number; crR:=-ratio_chain_ring;
   adrA:=adrB:=cntA:=cntB:=adrS:=cntPS:=angA[0]:=angB[0]:=br_ang[0]:=sB[0]:=cntC:=cntP:=0;
   stkA[0]:=stkB[0]:=stkL[0]:=stkM[0]:=strAT:=f_lineT:=f_lenT:=f_envT:=f_rotT:=0;
@@ -375,13 +385,31 @@
   ''(0)(s,(_term,0));  proc_bond_atom(1); cntA_skeleton:=cntA; cntB_skeleton:=cntB;
   if cntP>0: ps_get(1); fi
   font_use_check;
-  if sw_solid=1: size_setup; proc_skeleton; scaling;
-  else: size_setup; proc_skeleton; scaling; resize(RW,RH); size_setup;
-        if ratio_bond_width>max_bond_width:
-          ratio_bond_width:=max_bond_width; size_setup; proc_skeleton; scaling;
-        else: for i=1 upto 4: proc_skeleton; scaling; resize(RW,RH); size_setup; endfor fi fi
+  if sw_solid>=1:
+    size_setup; proc_skeleton; scaling;
+  else:
+    size_setup; proc_skeleton; scaling; resize(RW,RH); size_setup;
+    if bond_len#>max_bond_length#:
+      sw_solid:=1; bond_len#:=max_bond_length#;
+      size_setup; proc_skeleton; scaling; sw_solid:=0;
+    else:
+      for i=1 upto 4: proc_skeleton; scaling; resize(RW,RH); size_setup; endfor
+    fi
+  fi
   font_setup;
   if sw_subst_off=1: cntA:=cntA_skeleton; cntB:=cntB_skeleton; fi
+  %----------------------------------------------------------------------------------------
+  if f_beginchar=0:
+     if sw_clip=1:
+       f_wd#:=font_wd#*((len_x+2margin_left_right)/font_wd);
+       f_ht#:=font_ht#*((len_y+2margin_top_bottom)/font_ht);
+       font_wd:=len_x+2margin_left_right; font_ht:=len_y+2margin_top_bottom;
+     else:
+       f_wd#:=font_wd#; f_ht#:=font_ht#;
+     fi
+     beginchar(char_num,f_wd#,f_ht#,0);
+     f_beginchar:=1;
+  fi
   for i=1 upto cntB: if lineB[i]<si_ : draw_bond(i,sB[i],eB[i],angB[i],lineB[i]); fi endfor
   for i=1 upto cntB: if lineB[i]>=si_: draw_bond(i,sB[i],eB[i],angB[i],lineB[i]); fi endfor
   for i=1 upto cntA:
@@ -389,12 +417,15 @@
        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
-       draw_atom(i,posA[i],0,decimal(nA),1);
+       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:
     else:  draw_atom(i,posA[i],br_ang[i],com_str[strA[i]],strW[strA[i]]);
     fi
   endfor
-  sft_X:=-min_x+(font_wd-len_x)*FW; sft_Y:=-min_y+(font_ht-len_y)*FH;
+  sft_X:=margin_left_right-min_x+(font_wd-len_x-2margin_left_right)*FW;
+  sft_Y:=margin_top_bottom-min_y+(font_ht-len_y-2margin_top_bottom)*FH;
   if sw_mol_frame=1:    AUX(sft_X,sft_Y)(draw_frame(len_x,len_y,(min_x,min_y),0.2pt);) fi
   if sw_start_vector=1: AUX(sft_X,sft_Y)(start_vector) fi
   addto chem_structure also currentpicture shifted (sft_X,sft_Y);
@@ -401,8 +432,13 @@
   clearit;
 enddef;
 %------------------------------------------------------------------------------------------------
-def draw_frame(expr LX,LY,PS,PN)= draw unitsquare xscaled LX yscaled LY shifted PS wpcs PN;
+def draw_frame(expr LX,LY,PS,PN)=
+  draw ((PN/2,PN/2)--(LX-PN/2,PN/2)--(LX-PN/2,LY-PN/2)--(PN/2,LY-PN/2)--cycle) shifted PS wpss PN;
 enddef;
+def draw_corner(expr LX,LY,PN)=
+  drawdot (PN/2,PN/2) wpss PN;       drawdot (LX-PN/2,PN/2) wpss PN;
+  drawdot (LX-PN/2,LY-PN/2) wpss PN; drawdot (PN/2,LY-PN/2) wpss PN;
+enddef;
 def start_vector= draw (posA[1] shifted (-1mm,0))--(posA[1] shifted (-4mm,0))
                    withpen penrazor rotated 90 scaled .8mm;
   fill (posA[1] shifted (-2mm,-1mm))--posA[1]--(posA[1] shifted (-2mm,1mm))--cycle;
@@ -510,9 +546,9 @@
 def termB=
   if f_term=0: if f_bra=0: br_ang[incr cntA]:=angT; else: f_bra:=0; fi f_term:=1; fi enddef;
 def proc_cyc(expr n)= add_bond(angle(posA[n]-posB[cntB+1])-angT);  enddef;
-def glu_c(expr n)=  if strA[n]<>0: nB:=angT mod 180; nC:=.5strW[strA[n]]*AL;
+def glu_c(expr n)=  if strA[n]<>0: nB:=angT mod 180; nC:=.5strW[strA[n]]*atom_wd;
                     if (nB<45)or(nB>135):glu:=glu+((sind(nB)*nC)++nC);
-                    else                :glu:=glu+((cosd(nB)*.5AL)++.5AL) fi fi
+                    else                :glu:=glu+((cosd(nB)*.5atom_wd)++.5atom_wd) fi fi
 enddef;
 %-------------------------------------------------------------------------------------------------
 def add_bond(expr m)=
@@ -521,9 +557,9 @@
                if tn>=0: br_ang[cntA]:=angT+tn/2-90; else: br_ang[cntA]:=angT+tn/2+90; fi
   else: f_bra:=0; fi
   angB[cntB]:=angT:=(angT+tn) mod 360;
-  if f_end=0: if lenB[cntB]=_size_a: posB[cntB+1]:=sfB(posB[cntB],AL,angT);
+  if f_end=0: if lenB[cntB]=_size_a: posB[cntB+1]:=sfB(posB[cntB],atom_wd,angT);
              else: nA:=lenB[cntB];glu:=0; if nA<0: nA:=-nA; glu_c(adrT);glu_c(cntA+1); fi
-             posB[cntB+1]:=sfB(posB[cntB],nA*BL+glu,angT); fi
+             posB[cntB+1]:=sfB(posB[cntB],nA*bond_len+glu,angT); fi
              posA[cntA+1]:=posB[cntB+1]; f_term:=0;
   else: f_end:=0; f_term:=1; fi
 enddef;
@@ -539,21 +575,23 @@
 def pic_c(expr i,s)= substring(i,i+1) of s enddef;
 def draw_atom(expr n,p,r,s,w)=
   if ((r mod 360)<=90+1)or((r mod 360)>=270-1): dx:=1; else: dx:=-1; fi
-  pairT:=p-(.5AL*w*dx,.5AL); u:=j:=0;
+  pairT:=p-(.5atom_wd*w*dx,.5atom_wd); u:=j:=0;
   for i=0 upto length(s)-1: nB:=ASCII(pic_c(i,s));
     if dx<0: if nB=par_s:k:=i+1;j:=1;forever:exitif pic_c(i+(incr j),s)="}";endfor fi
              if j>0: nB:=ASCII(pic_c(k+(decr j),s)); fi fi
     if     nB=score_u: if u=0: u:=-.5; else:u:=0; fi;
     elseif nB=hat:     if u=0: u:= .5; else:u:=0; fi;
-    elseif (nB<>par_s)and(nB<>par_e): nA:=atom_w[nB]; pairA:=pairT+(.5*((dx-1)*nA),u*AL);
-      if sw_atom_frame=1: draw_frame(nA,AL,pairA,0.01pt); fi
+    elseif (nB<>par_s)and(nB<>par_e):
+      nA:=atom_w[nB]; pairA:=pairT+(.5*((dx-1)*nA),u*atom_wd);
+      if sw_atom_frame=1: draw_frame(nA,atom_wd,pairA,0.1pt); fi
       if (sw_numberA>=1)or(sw_numberB>=1):
-        erase fill unitsquare xscaled nA yscaled AL shifted pairA wpcs 0.01pt; fi
+        erase fill unitsquare xscaled nA yscaled atom_wd shifted pairA wpcs 0.01pt; fi
       addto currentpicture also atom_font[nB] shifted (pairA-(0,atom_d[nB])) Cp(colorA[n]);
       pairT:=pairT+(nA*dx,0); fi endfor
 enddef;
 %-------------------------------------------------------------------------------------------------
 def wpcs expr n= withpen pencircle scaled n enddef;
+def wpss expr n= withpen pensquare scaled n enddef;
 def sqr(expr WD,HT)= ((0,0)--(WD,0)--(WD,HT)--(0,HT)--cycle) enddef;
 def sfB(expr p,l,r)= p shifted ((l,0) rotated r) enddef;
 def wz_put(expr PA,PB,PD,CL)= save nA,nC,nD; nC:=length(Le-Ls);
@@ -568,13 +606,13 @@
 def cut_off(expr p,w,h,s)=
   p intersectionpoint sqr(1.1w,1.1h) shifted (s-(.5(1.1w),.5(1.1h))); enddef;
 def clipping(expr SA,SB,PA,PB,LEN)=
-  pT:=PA--PB; tn:=0.6AL/LEN;
+  pT:=PA--PB; tn:=0.6atom_wd/LEN;
   if (SA=0)and(SB=0): Ls:=PA; Le:=PB; pA:=pB:=pT; pC:=0.1[PA,PB]--0.1[PB,PA];
-  elseif SA=0: Ls:=PA; Le:=cut_off(pT,AL*strW[SB],AL,PB); 
+  elseif SA=0: Ls:=PA; Le:=cut_off(pT,atom_wd*strW[SB],atom_wd,PB); 
      pA:=Ls--Le; pB:=Ls--tn[PB,PA]; pC:=0.1[PA,PB]--Le;
-  elseif SB=0: Ls:= cut_off(pT,AL*strW[SA],AL,PA); Le:=PB;
+  elseif SB=0: Ls:= cut_off(pT,atom_wd*strW[SA],atom_wd,PA); Le:=PB;
      pA:=Ls--Le; pB:=tn[PA,PB]--Le; pC:=Ls--(0.1)[PB,PA];
-  else: Ls:=cut_off(pT,AL*strW[SA],AL,PA); Le:=cut_off(pT,AL*strW[SB],AL,PB);
+  else: Ls:=cut_off(pT,atom_wd*strW[SA],atom_wd,PA); Le:=cut_off(pT,atom_wd*strW[SB],atom_wd,PB);
         pB:=tn[PA,PB]--tn[PB,PA]; pC:=pA:=Ls--Le; fi
 enddef;
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -679,7 +717,7 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 def font_size_set(expr m)(expr n)(expr o)(expr s)=
   for j=0 upto length(s)-1: num_a:=ASCII(pic_c(j,s));
-    if f_FON[num_a]=1: atom_w[num_a]:=m*AL; atom_h[num_a]:=n*AL; atom_d[num_a]:=o*AL; fi
+    if f_FON[num_a]=1: atom_w[num_a]:=m*atom_wd; atom_h[num_a]:=n*atom_wd; atom_d[num_a]:=o*atom_wd; fi
   endfor
 enddef;
 def font_size_setup=  font_size_set(  1)(  1)(0)("CGHMNOQ");
@@ -703,7 +741,7 @@
   z01=( 0,hP); z02=(hP, 0); z03=(hP,hP); z05=(aW,hP); z07=(fW, 0); z08=( 0,hH); z09=(hP,hH);
   z10=(fW,hH); z12=( 0,fH); z13=(hP,fH); z14=(hW,fH); z16=(aW,fH); z18=(hP,aH); z19=(hW,hP);
   s;
-  atom_font[ASCII(c)]:=currentpicture shifted (ratio_atomgap_atom*AL,ratio_atomgap_atom*AL);
+  atom_font[ASCII(c)]:=currentpicture shifted (ratio_atomgap_atom*atom_wd,ratio_atomgap_atom*atom_wd);
   clearxy; save x,y; clearit; fi
 enddef;
 %-------------------------------------------------------------------------------------------------
@@ -860,15 +898,17 @@
           " warnings / Expanded command count= "&decimal(cntMC[0]);
   message "%  width * height = " & fdr(8)(max_x-min_x)&" * "&fdr(8)(max_y-min_y);
   message "%  Shift width * height  = "& fdr(8)(min_x)&" * "&fdr(8)(min_y);
-  message "%  Bond length = "&fdr(3)(BL)&"   Atom size   = "&fdr(3)(AL);
+  message "%  Bond length = "&fdr(3)(bond_len)&"   Atom size   = "&fdr(3)(atom_wd);
   message "%  Atom count="&fdr(3)(cntA)&" Bond count="&fdr(3)(cntB)&
           " Ring count="&fdr(3)(cntB-cntA+1)&" Hide H ="&fdr(3)(hide_H);
   message "%-----------------------------------< atom >< bond >-------";
-  for i=1 upto cntA: message "%  "&fdr(3)(i)&"  ("&fdr(10)(xpart(posA[i])/BL)&" ) ("&
-     fdr(10)(ypart(posA[i])/BL)&" )  "&fixed_l(8)(com_str[strA[i]])&"  "&fdr(3)(Bcnt[i]); endfor
+  for i=1 upto cntA: message "%  "&fdr(3)(i)&"  ("&fdr(10)(xpart(posA[i])/bond_len)&" ) ("&
+     fdr(10)(ypart(posA[i])/bond_len)&" )  "&fixed_l(8)(com_str[strA[i]])&"  "&fdr(3)(Bcnt[i]);
+  endfor
   message "%Bond list---------------------------------------------------------";
   for i=1 upto cntB: if lineB[i]<>0: message "% "&fdr(3)(incr nA)&" "&fdr(3)(sB[i])&
-                     " -> "&fdr(3)(eB[i])&" ("&fdr(3)(bondC[i]-si+1)&")"; fi endfor
+                     " -> "&fdr(3)(eB[i])&" ("&fdr(3)(bondC[i]-si+1)&")"; fi
+  endfor
   message "%Fomula / Molecular weight ---------------------------------------";
   if    cal_MWp<=40: cal_MW_str:=fdr(10)(cal_MW); 
   else: cal_MW_str:=fdr(10)(cal_MWp)&" * 100"; fi
@@ -875,12 +915,12 @@
   for i=1 upto tbl_max:
     if sumA[i]>=1:
        message "% "&fixed_l(4)(stripP(tblA[i]))&"("&fdr(9)(wtA[i])&") * "&fdr(6)(sumA[i])&" = "
-       if tmp_wtp<=40: &fdr(12)(wtA[i]*sumA[i]); else: &fdr(12)(tmp_wtp)&" * 100"; fi fi  endfor
+       if tmp_wtp<=40: &fdr(12)(wtA[i]*sumA[i]); else: &fdr(12)(tmp_wtp)&" * 100"; fi fi
+  endfor
   message "% Weight  Calc: " &cal_MW_str &" / Input: "
-    if inf_MW>0: &decimal(inf_MW) &" / weight gap= " &decimal(cal_MW-inf_MW) fi;
+    if scantokens(inf_MW)>0: &inf_MW &" / weight gap= " &decimal(cal_MW-scantokens(inf_MW)) fi;
   message "% Fomula  Calc: "&cal_FM&" / Input: "
-    if inf_FM<>"":&inf_FM&" / "& 
-      if inf_FM=cal_FM: "MACTCH" else: "NOT MACTCH" fi fi;
+    if inf_FM<>"":&inf_FM&" / "&  if inf_FM=cal_FM: "MACTCH" else: "NOT MACTCH" fi fi;
   message "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%";
 enddef;
 %------------------------------------------------------------------------------------------------
@@ -888,7 +928,7 @@
   mp_log_name:=jobname&"-"&fit_zero(char_num)&decimal(char_num)&"-"&inf_EN&".mol";
   printf ""; printf "  -MCFtoMOL- "&fixed_l(20)(info[1]); printf "";
   printf fdr(3)(cntA)&fdr(3)(cntB)&"  0  0  0  0  0  0  0  0999 V2000";
-  for i=1 upto cntA: printf fdr(10)(xpart(posA[i])/BL)& fdr(10)(ypart(posA[i])/BL)&
+  for i=1 upto cntA: printf fdr(10)(xpart(posA[i])/bond_len)& fdr(10)(ypart(posA[i])/bond_len)&
            fdr(10)(0)&" "&fixed_l(2)(stripP(com_str[strA[i]]))&"  0  0  0  0"; endfor
   for i=1 upto cntB: if lineB[i]<>0:
     if     (lineB[i]=dl)or(lineB[i]=dr)or(lineB[i]=dm): nA:=2;



More information about the tex-live-commits mailing list