texlive[43081] Master/texmf-dist: mcf2graph (29jan17)

commits+karl at tug.org commits+karl at tug.org
Sun Jan 29 23:31:39 CET 2017


Revision: 43081
          http://tug.org/svn/texlive?view=revision&revision=43081
Author:   karl
Date:     2017-01-29 23:31:38 +0100 (Sun, 29 Jan 2017)
Log Message:
-----------
mcf2graph (29jan17)

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-064.eps

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

Modified: trunk/Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG	2017-01-29 01:35:19 UTC (rev 43080)
+++ trunk/Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG	2017-01-29 22:31:38 UTC (rev 43081)
@@ -1,6 +1,15 @@
 *******************************************************************************
- Changelog of mcf2graph software package         by Akira Yamaji 2017-01-15
+ Changelog of mcf2graph software package         by Akira Yamaji 2017-01-29
 *******************************************************************************
+[ver. 4.09  / 2017-01-29]
+  -add new function puts()
+     put string in EXT(),ext()
+  -add new function use_font()
+     make font for puts()
+  -change option parameter name
+     sw_checklist => sw_report
+  -update MCF syntax manual
+
 [ver. 4.08  / 2017-01-15]
   -add monoisotopic mass calculation
   -update MCF syntax manual

Modified: trunk/Master/texmf-dist/doc/metapost/mcf2graph/README
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/mcf2graph/README	2017-01-29 01:35:19 UTC (rev 43080)
+++ trunk/Master/texmf-dist/doc/metapost/mcf2graph/README	2017-01-29 22:31:38 UTC (rev 43081)
@@ -1,7 +1,7 @@
 ********************************************************************************
  mcf2graph  : Convert Molecular Coding Format to graphics with METAFONT/METAPOST
  Author     : Akira Yamaji
- version    : 4.08 2017-01-15
+ version    : 4.09 2017-01-29
  E-mail     : mcf2graph at gmail.com
  Located at : http://www.ctan.org/pkg/mcf2graph
 ********************************************************************************
@@ -19,7 +19,7 @@
  ( 3) mcf2graph.mf           Macro of Metafont / Metapost
  ( 4) mcf_manual.tex         MCF syntax manual(LaTeX file)
  ( 5) mcf_man_soc.mf         Molecular difinition file for mcf_manual.tex
- ( 6) mcf_man_soc-060.eps    No.60 EPS(with color) file of (4)
+ ( 6) mcf_man_soc-064.eps    No.64 EPS(with color) file of (4)
  ( 7) mcf_manual.pdf         PDF of (4) (used LaTeX,dvipdfmx)
  ( 8) mcf_example.tex        LaTeX example,
                                Make file 'mcf_exa_soc-info.aux' before typeset
@@ -36,7 +36,7 @@
  ( 3) >mpost -s ahangle=2  FILENAME  => output SVG file. 
  ( 4) >mpost -s ahangle=3  FILENAME  => output MDL Molfile(V2000)
  ( 5) >mpost -s ahlength=1 FILENAME  => output first definition only (for test)
- ( 6) >mpost -s ahlength=2 FILENAME  => output checklist.
+ ( 6) >mpost -s ahlength=2 FILENAME  => output report.
 
 4. License
  Permission is hereby granted, free of charge, to any person obtaining a copy

Modified: trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_exa_soc.mf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_exa_soc.mf	2017-01-29 01:35:19 UTC (rev 43080)
+++ trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_exa_soc.mf	2017-01-29 22:31:38 UTC (rev 43081)
@@ -1,12 +1,13 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Molecular Coding Format for mcf_example.tex  by Akira Yamaji  2017.01.13
+% Molecular Coding Format for mcf_example.tex  by Akira Yamaji  2017.01.29
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-input mcf2graph.mf;   %%% it must be version 4.08 or later
+input mcf2graph.mf;   %%% it must be version 4.09 or later
 %-------------------------------------------------------------------------
 font_wd#:=33mm#;
 font_ht#:=24mm#;
 max_bond_length#:=4.5mm#;
 %-------------------------------------------------------------------------
+sw_select:=1;
 sw_auxout:=1;
 sw_font_frame:=0;
 sw_atom_frame:=0;
@@ -23,7 +24,7 @@
 %%%% var8:="inf_USE"; tag8:="USE";
 %%%% var9:="inf_EXA"; tag9:="EXA";
 %%%% auxtag_out;
-%%%% sw_checklist:=1;
+%%%% sw_report:=1;
 %%%% sw_MOLout:=1;
 %%%% outputformat:="png"; hppp:=vppp:=0.1; outputtemplate:="%j-%3c.png";
 %***************************************************************************

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	2017-01-29 01:35:19 UTC (rev 43080)
+++ trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.tex	2017-01-29 22:31:38 UTC (rev 43081)
@@ -1,5 +1,5 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Example of MCF typeset by LaTeX   mcf_examples.tex   by A.Yamaji  2017.01.15
+% Example of MCF typeset by LaTeX   mcf_examples.tex   by A.Yamaji  2017.01.29
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \documentclass[a4paper]{article}
 \usepackage{graphicx}

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

Added: trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc-064.eps
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc-064.eps	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc-064.eps	2017-01-29 22:31:38 UTC (rev 43081)
@@ -0,0 +1,100 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%BoundingBox: -1 -1 66 57 
+%%HiResBoundingBox: -0.09962 -0.09962 65.06522 56.58049 
+%%Creator: MetaPost 1.9991
+%%CreationDate: 2017.01.29:2040
+%%Pages: 1
+%%DocumentResources: procset mpost-minimal
+%%DocumentSuppliedResources: procset mpost-minimal
+%%EndComments
+%%BeginProlog
+%%BeginResource: procset mpost-minimal
+/bd{bind def}bind def/fshow {exch findfont exch scalefont setfont show}bd
+/fcp{findfont dup length dict begin{1 index/FID ne{def}{pop pop}ifelse}forall}bd
+/fmc{FontMatrix dup length array copy dup dup}bd/fmd{/FontMatrix exch def}bd
+/Amul{4 -1 roll exch mul 1000 div}bd/ExtendFont{fmc 0 get Amul 0 exch put fmd}bd
+/ScaleFont{dup fmc 0 get Amul 0 exch put dup dup 3 get Amul 3 exch put fmd}bd
+/SlantFont{fmc 2 get dup 0 eq{pop 1}if Amul FontMatrix 0 get mul 2 exch put fmd}bd
+%%EndResource
+%%EndProlog
+%%BeginSetup
+%%EndSetup
+%%Page: 1 1
+ 0 0 0 setrgbcolor
+newpath -0.09962 0.09962 moveto
+-0.09962 -0.09962 lineto
+0.09962 -0.09962 lineto
+65.06522 -0.09962 lineto
+65.06522 0.09962 lineto
+65.06522 56.58049 lineto
+64.86597 56.58049 lineto
+-0.09962 56.58049 lineto
+-0.09962 56.38124 lineto
+-0.09962 -0.09962 lineto
+0.09962 -0.09962 lineto
+0.09962 0.09962 lineto
+0.09962 56.58049 lineto
+0.09962 56.38124 lineto
+65.06522 56.38124 lineto
+64.86597 56.38124 lineto
+64.86597 -0.09962 lineto
+64.86597 0.09962 lineto
+ closepath fill
+ 0 0.51848 dtransform truncate idtransform setlinewidth pop [] 0 setdash
+ 1 setlinecap 1 setlinejoin 10 setmiterlimit
+newpath 14.1732 17.70528 moveto
+27.95216 9.75003 lineto stroke
+newpath 17.762 19.66449 moveto
+29.69772 12.77344 lineto stroke
+newpath 37.25676 9.74995 moveto
+51.03572 17.70528 lineto stroke
+ 0 1 0 setrgbcolor 0.51848
+ 0 dtransform exch truncate exch idtransform pop setlinewidth
+newpath 51.03572 17.70528 moveto
+51.03572 38.98781 lineto stroke
+newpath 47.5446 19.83366 moveto
+47.5446 36.85942 lineto stroke
+ 0 0 0 setrgbcolor 0 0.51848 dtransform truncate idtransform setlinewidth pop
+newpath 51.03572 38.98781 moveto
+37.25676 46.94304 lineto stroke
+newpath 27.95216 46.94312 moveto
+14.1732 38.98781 lineto stroke
+newpath 29.69772 43.91971 moveto
+17.762 37.0286 lineto stroke
+ 0.51848 0 dtransform exch truncate exch idtransform pop setlinewidth
+newpath 14.1732 38.98781 moveto
+14.1732 17.70528 lineto stroke
+ 1 0 0 setrgbcolor
+newpath 28.79805 3.2576 moveto
+29.57579 3.2576 lineto
+29.57579 10.8704 lineto
+28.79805 10.8704 lineto
+ closepath fill
+newpath 35.63312 3.2576 moveto
+36.41086 3.2576 lineto
+36.41086 10.8704 lineto
+35.63312 10.8704 lineto
+ closepath fill
+newpath 29.88689 10.8704 moveto
+28.79805 10.8704 lineto
+35.32202 3.2576 lineto
+36.41086 3.2576 lineto
+ closepath fill
+ 0 0 1 setrgbcolor
+newpath 28.79805 45.82266 moveto
+29.57579 45.82266 lineto
+29.57579 53.43547 lineto
+28.79805 53.43547 lineto
+ closepath fill
+newpath 35.63312 45.82266 moveto
+36.41086 45.82266 lineto
+36.41086 53.43547 lineto
+35.63312 53.43547 lineto
+ closepath fill
+newpath 29.88689 53.43547 moveto
+28.79805 53.43547 lineto
+35.32202 45.82266 lineto
+36.41086 45.82266 lineto
+ closepath fill
+showpage
+%%EOF

Modified: trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc.mf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc.mf	2017-01-29 01:35:19 UTC (rev 43080)
+++ trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc.mf	2017-01-29 22:31:38 UTC (rev 43081)
@@ -1,13 +1,13 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Molecular Coding Format file for mcf_manual.tex  by Akira.Yamaji 2017.01.15
+% Molecular Coding Format file for mcf_manual.tex  by Akira.Yamaji 2017.01.29
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-input mcf2graph.mf;   %% it must be version 4.08 or later
+input mcf2graph.mf;   %% it must be version 4.09 or later
 %------------------------------------------------------------------------
 sw_auxout:=0;
 sw_mol_frame:=0;
 sw_expand:=0;
 sw_solid:=2;
-%%%%%sw_checklist:=1;
+%%%%%sw_report:=1;
 %***********************************************************************
 font_wd#:=35mm#;
 font_ht#:=25mm#;
@@ -786,9 +786,9 @@
 endfont
 %***********************************************************************
 beginfont("EN:Switwch atom frame")
-  font_ht#:=15mm#;
+  font_ht#:=12mm#;
   sw_atom_frame:=1;
-  MCf(<30,Ph,1:/Cl,4:/COOH,3:/OH)
+  MCf(<30,COOH,!0,COOH)
 endfont
 %***********************************************************************
 beginfont("EN:MCd()")
@@ -818,26 +818,41 @@
 endfont
 %***********************************************************************
 beginfont("EN:EXT()")
-  font_ht#:=26mm#;
+  margin_left_right:=margin_top_bottom:=3mm;
+  font_wd#:=70mm#;
+  font_ht#:=35mm#;
   bond_len#:=8mm#;
   sw_font_frame:=3;
-  sw_mol_frame:=1;
   MCd(1,0.8)(0.1,0.5)(<30,Ph,2:/OH,5:/OH)
   MCd(1,0.8)(0.9,0.5)(<30,?6,$(3,6)dl,@(2,5)//O)
-  EXT(draw ((0,0)--(25mm,0)--(21mm,2mm)) shifted (0.3w,0.5h);
-      drawdot p0 withpen pencircle scaled 2mm;
-      drawdot p1 withpen pensquare scaled 2mm;
-      drawdot p2 withpen pensquare scaled 2mm;)
+  EXT(
+      draw ((0,0)--(25mm,0)--(21mm,2mm)) shifted (0.3w,0.52h);
+      draw ((4mm,-2mm)--(0,0)--(25mm,0)) shifted (0.3w,0.48h);
+      draw fullcircle scaled 3mm shifted p0;
+      drawdot p1 withpen pencircle scaled 2mm;
+      drawdot p2 withpen pensquare scaled 2mm;
+      use_font(5pt#);
+      puts((0.4w,0.6h))("Oxidation");
+      puts((0.4w,0.35h))("Reduction");
+  )
 endfont
 %***********************************************************************
 beginfont("EN:ext()")
-  font_wd#:=60mm#;
-  font_ht#:=20mm#;
-  bond_len#:=10mm#;
-  MCf(<30,Ph,4:/Cl,3:/F)
-  ext(draw p0--(p0+(wd,0))--(p0+(wd,ht));
-      draw_vector(p6,a6-180,l);
+  margin_left_right:=margin_top_bottom:=3mm;
+  font_wd#:=70mm#;
+  font_ht#:=25mm#;
+  sw_solid:=0;
+  MCd(1,0.9)(0.1,0.5)(<30,Ph,3:/F,4:/Cl)
+  ext(
+    drawdot p0 withpen pencircle scaled 2mm;
+    draw p0--(p0+(wd,0))--(p0+(wd,ht));
   )
+  MCd(1,0.9)(0.9,0.5)(<30,Ph,3:/F,4:/Cl)
+  ext(
+    draw_vector(p6,a6-180,l);
+    drawdot p0 withpen pensquare scaled 2mm;
+    draw p0--(p0+(wd,0))--(p0+(wd,ht));
+  )
 endfont
 %***********************************************************************
 beginfont("EN:Local setting 1")
@@ -911,7 +926,35 @@
       -1\^18,/*_,-60,!3,/_,!,
      )
 endfont
-%***********************************************************************
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%***************************************************************************
+beginfont("EN:Acetamiprid","MW:222.676")
+  font_ht#:=20mm#;
+  MCf(<30,Ph,2:N,1:/Cl,4\,!,N,/_,!,/_,!!,N,!,CN)
+endfont
+%***************************************************************************
+beginfont("EN:Fenitrothion","MW:277.231")
+  font_ht#:=20mm#;
+  MCf(<30,!,O,!,P,//S,/O!^160,!,O,!,|,Ph,3:/_,4:/NO2)
+endfont
+%***************************************************************************
+beginfont("EN:Permethrin","MW:391.288")
+  font_ht#:=25mm#;
+  MCf(<-30,?3,2^-35:*/_,2^35:/*_,1\,!!,/Cl,!,Cl,
+     3\,//O,!,O,!2,|,Ph,3\,O,-60,Ph)
+endfont
+%***************************************************************************
+beginfont("EN:Endosulfan","MW:406.904");
+  font_ht#:=25mm#;
+  MCf(<26,?7,7=?6[13],11*,208~wf`1.45,&8~wb,10=d,@(3,5)O,4:S,4://O,
+      @(8,9,10,11,12^-210,12^-150)/Cl)
+endfont;
+%***************************************************************************
+beginfont("EN:Luciferin","MW:280.33")
+  MCf(<30,Ph,3=?5,8\,?5,$(9,16)d,
+   @(9,14)N,@(7,11)S,1:/OH,-2:*/COOH)
+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,!)

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

Modified: trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.tex
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.tex	2017-01-29 01:35:19 UTC (rev 43080)
+++ trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.tex	2017-01-29 22:31:38 UTC (rev 43081)
@@ -1,5 +1,5 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%  Molecular Coding Format manual          by  Akira Yamaji 2017.01.15
+%  Molecular Coding Format manual          by  Akira Yamaji 2017.01.29
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \documentclass[a4paper]{article}
 %%%%\usepackage{graphicx}
@@ -62,6 +62,7 @@
 \maketitle
 \begin{center} Located at http://www.ctan.org/pkg/mcf2graph \end{center}
 %-----------------------------------------------------------------------------
+\thispagestyle{empty}
 \vspace{10mm}
 {\@strufont%
 \makebox[10mm]{}\char1 \raisebox{10mm}{\char2 }\char3 \raisebox{10mm}{\char4}\\
@@ -71,11 +72,13 @@
 \makebox[10mm]{}\char17\raisebox{10mm}{\char18}\char19\raisebox{10mm}{\char20}\\}
 %-----------------------------------------------------------------------------
 \twocolumn
+\thispagestyle{empty}
 \tableofcontents
 %-----------------------------------------------------------------------------
 \linethickness{0.08mm}%
 %----------------------------------------------------------------------------
 \newpage
+\setcounter{page}{1}
 \section{Introduction}
 Molecular Coding Format(MCF) is new linear notation
 represent chemical structure diagrams.
@@ -540,7 +543,7 @@
   <30,Ph,@(2,5)N,2:red,5:blue,3=green
 \end{verbatim}
 %%%%\MCFstructure   % for Metafont
-\includegraphics{mcf_man_soc-060.eps}%  for dvipdfmx
+\includegraphics{mcf_man_soc-064.eps}%  for dvipdfmx
 \advance\fontnum\@ne\relax\advance\tempnum\@ne\relax%
 %-----------------------------------------------------------------------------
 \subsubsection{Make block}
@@ -885,7 +888,7 @@
 \subsubsection{Atom frame}
 \begin{verbatim}
   sw_atom_frame:=1;
-  MCf(<30,Ph,1:/Cl,4:/COOH,3:/OH)
+  MCf(<30,COOH,!0,COOH)
   ** default: sw_atom_frame=0
 \end{verbatim}
 \MCFstructure
@@ -935,22 +938,46 @@
   p[m]: molecular origin position
         (1<=m<=molecular count)
 
+(Function)
+  puts(pos)(string):
+    put string at pos
+  use_font(wd#):
+    make string font for puts()
+    (font width = wd#)
+  draw_vector(pos,angle,length):
+    draw vector at pos
+
+  %----------------------------------
   beginfont()
-  sw_mol_frame:=1;
-  MCd(1,0.8)(0.1,0.5)(<30,Ph,2:/OH,5:/OH)
+  sw_font_frame:=3;
+  %----------------------------------
+  MCd(1,0.8)(0.1,0.5)
+    (<30,Ph,2:/OH,5:/OH)
   MCd(1,0.8)(0.9,0.5)
     (<30,?6,$(3,6)dl,@(2,5)//O)
+  %----------------------------------
   EXT(
-  draw ((0,0)--(25mm,0)--(21mm,2mm))
-        shifted (0.3w,0.5h);
-  drawdot p0 withpen pencircle scaled 2mm;
-  drawdot p1 withpen pensquare scaled 2mm;
-  drawdot p2 withpen pensquare scaled 2mm;
+   draw ((0,0)--(25mm,0)--(21mm,2mm))
+         shifted (0.3w,0.52h);
+   draw ((4mm,-2mm)--(0,0)--(25mm,0))
+         shifted (0.3w,0.48h)
+   draw fullcircle scaled 3mm
+     shifted p0;
+   drawdot p1
+     withpen pencircle scaled 2mm;
+   drawdot p2
+     withpen pensquare scaled 2mm;
+  %----------------------------------
+   use_font(5pt#);
+   puts((0.4w,0.6h))("Oxidation");
+   puts((0.4w,0.35h))("Reduction");
   )
+  %----------------------------------
   endfont
 \end{verbatim}
-\MCFstructure
+\MCFstructure\\
 %-----------------------------------------------------------------------------
+\newpage
 \subsection{Function ext()}
 \begin{verbatim}
 (Extra graphic to molecule)
@@ -962,14 +989,22 @@
   p[m]: atom position of A[m]
   a[m]: branch angle of A[m]
         (1<=m<=atom count)
-  draw_vector(position,angle,length)
 
   beginfont()
-    MCf(<30,Ph,3:/F,4:/Cl)
-    ext(draw p0--(p0+(wd,0))
-             --(p0+(wd,ht);
-        draw_vector(p6,a6-180,l);
-    )
+    %-------------------------------
+  MCd(1,0.9)(0.1,0.5)(<30,Ph,3:/F,4:/Cl)
+  ext(
+    drawdot p0 withpen pencircle scaled 2mm;
+    draw p0--(p0+(wd,0))--(p0+(wd,ht));
+  )
+  %-------------------------------
+  MCd(1,0.9)(0.9,0.5)(<30,Ph,3:/F,4:/Cl)
+  ext(
+    draw_vector(p6,a6-180,l);
+    drawdot p0 withpen pensquare scaled 2mm;
+    draw p0--(p0+(wd,0))--(p0+(wd,ht));
+  )
+  %-------------------------------
   endfont
 \end{verbatim}
 \MCFstructure
@@ -994,15 +1029,28 @@
 \end{verbatim}
 \MCFstructure\MCFstructure\MCFstructure
 %-----------------------------------------------------------------------------
+\newpage
 \section{Output information}
 %-----------------------------------------------------------------------------
 \subsection{Output molecular information}
 \begin{verbatim}
-var3:="calc_weight";  tag3:="cMW";
-var4:="calc_formula"; tag4:="cFM";
+tag3:="cMW"; var3:="calc_weight";
+tag4:="cFM"; var4:="calc_formula";
+%-----------------------------------------
+beginfont()
+  MCf(<30,?6,3=d,
+       @(2,6)N,@(2,6)/_,@(1,5)//O,
+      |,-4=?5,2=dl,@(1,3)N,3:/_)
+endfont
+%-----------------------------------------
+
 %% Output to mcf_man_soc-info.aux %%
 ..... ;C:85;cMW:194.19174;cFM:C8H10N4O2
 
+** default value
+  tag1:="F"; var1:="jobname";
+  tag2:="C"; var2:="char_num";
+
 cMW:calculated molecular weight
 cFM:calculated molecular formula
 \end{verbatim}
@@ -1051,16 +1099,22 @@
 \begin{verbatim}
   tag3:="NO"; var3:="inf_NO";
   tag4:="EN"; var4:="inf_EN";
-  sw_auxfix:=1; auxtag_out;
+  sw_auxfix:=1;
+  auxtag_out;    % output tag list
+  %--------------------------------------
   beginfont("EN:Cholesterol","NO:1")
-  MCf(<30,?6,$(-4,-2)?6,-4=?5,7=dl,
+    MCf(
+      <30,?6,$(-4,-2)?6,-4=?5,7=dl,
       1:*/OH,@(4,12)*/_^60,9:*/H^60,
       10:/*H^180,11:/*H^-60,17:/*H^-54,
-      -1\^18,/*_,-60,!3,/_,!)
+      -1\^18,/*_,-60,!3,/_,!
+    )
   endfont
+  %--------------------------------------
   beginfont(......)
     ...........
   endfont
+  %--------------------------------------
   ..............
 
   %% Output to mcf_man_soc-info.aux %%
@@ -1067,14 +1121,56 @@
   F;C;NO;EN
   mcf_man_soc;91;1;Ampicillin
   ...........................
+  ...........................
 
+  **  default sw_auxfix=0
 \end{verbatim}
 \MCFstructure
 %-----------------------------------------------------------------------------
 \newpage
 \section{MCF example}
-\subsection{Warfarin}
+%-----------------------------------------------------------------------------
+\subsection*{Acetamiprid}
 \begin{verbatim}
+  <30,Ph,2:N,1:/Cl,
+     4\,!,N,/_,!,/_,!!,N,!,CN
+\end{verbatim}
+\MCFstructure
+%-----------------------------------------------------------------------------
+\subsection*{Fenitrothion}
+\begin{verbatim}
+  <30,!,O,!,P,//S,/O!^160,!,O,!,
+      |,Ph,3:/_,4:/NO2
+\end{verbatim}
+\MCFstructure
+%-----------------------------------------------------------------------------
+\subsection*{Permethrin}
+\begin{verbatim}
+  <-30,?3,2^-35:*/_,2^35:/*_,
+     1\,!!,/Cl,!,Cl,
+     3\,//O,!,O,!2,|,Ph,
+     3\,O,-60,Ph
+\end{verbatim}
+\MCFstructure
+%-----------------------------------------------------------------------------
+\subsection*{Endosulfan}
+\begin{verbatim}
+  <26,?7,7=?6[13],11*,208~wf`1.45,&8~wb,
+      10=d,@(3,5)O,4:S,4://O,
+      @(8,9,10,11,12^-210,12^-150)/Cl
+\end{verbatim}
+\MCFstructure
+%-----------------------------------------------------------------------------
+\subsection*{Luciferin}
+\begin{verbatim}
+  <30,Ph,3=?5,8\,?5,$(9,16)d,
+     @(9,14)N,@(7,11)S,
+     1:/OH,-2:*/COOH
+\end{verbatim}
+\MCFstructure
+%-----------------------------------------------------------------------------
+\subsection*{Warfarin}
+\begin{verbatim}
   <30,Ph,3=?6,8=dl,
   10:O,7:/OH,9://O,
   8\,/Ph`1,60,!,//O,!
@@ -1081,7 +1177,7 @@
 \end{verbatim}
 \MCFstructure
 %-----------------------------------------------------------------------------
-\subsection{Limonin}
+\subsection*{Limonin}
 \begin{verbatim}
  <30,?6,$(-3,-4)?6,-5=?3,
   -2=wf,-1=wb,6=?5,-4=?6,-5=wf,
@@ -1092,7 +1188,7 @@
 \end{verbatim}
 \MCFstructure
 %-----------------------------------------------------------------------------
-\subsection{Sesamine}
+\subsection*{Sesamine}
 \begin{verbatim}
  <54,?5,1=?5,
  @(4,7)O,@(1^-54,2^54)*/H,
@@ -1101,7 +1197,7 @@
 \end{verbatim}
 \MCFstructure
 %-----------------------------------------------------------------------------
-\subsection{Colchicine}
+\subsection*{Colchicine}
 \begin{verbatim}
   <30,Ph,@(1,2,6)/O!,
   -4=?7,-5=?7,
@@ -1110,7 +1206,7 @@
 \end{verbatim}
 \MCFstructure
 %-----------------------------------------------------------------------------
-\subsection{Lycorine}
+\subsection*{Lycorine}
 \begin{verbatim}
   <30,Ph,
   -4=?6,-2=?6,6=?5,(9,12)=?5[3],
@@ -1121,7 +1217,7 @@
 \end{verbatim}
 \MCFstructure
 %-----------------------------------------------------------------------------
-\subsection{Gibberellin}
+\subsection*{Gibberellin}
 \begin{verbatim}
   <18,?5,3=?7,5=?6[12],
   8*,160`1.3,&3,
@@ -1132,7 +1228,7 @@
 \end{verbatim}
 \MCFstructure
 %-----------------------------------------------------------------------------
-\subsection{Quinine}
+\subsection*{Quinine}
 \begin{verbatim}
   <30,Ph,3=Ph,7:N,6:/O!,
    10\,*/OH,/H~zf^-60,!,
@@ -1142,7 +1238,7 @@
 \end{verbatim}
 \MCFstructure
 %-----------------------------------------------------------------------------
-\subsection{Atoropin}
+\subsection*{Atoropin}
 \begin{verbatim}
   <-30,O,!,//O,!,!,Ph,
   #1\~zb^-120,
@@ -1151,7 +1247,7 @@
 \end{verbatim}
 \MCFstructure
 %-----------------------------------------------------------------------------
-\subsection{Rotenone}
+\subsection*{Rotenone}
 \begin{verbatim}
   <-60,?5,$(-3,-2,-3,-4)?6,
   $(7,9,-2,-4)dl,$(3,17)dr,
@@ -1160,7 +1256,7 @@
 \end{verbatim}
 \MCFstructure
 %-----------------------------------------------------------------------------
-\subsection{Pyrethrin I}
+\subsection*{Pyrethrin I}
 \begin{verbatim}
   <30,?3,@(3^35~wf,3^-35~zf)/_,
   1*\,!!,iPr,2\*,//O,!,O,-36~zb,|,
@@ -1168,7 +1264,7 @@
 \end{verbatim}
 \MCFstructure
 %-----------------------------------------------------------------------------
-\subsection{Validamycin}
+\subsection*{Validamycin}
 \begin{verbatim}
   <30,?6,@(5,6)/OH,3:/!OH>rl,
   #4\,O,-60,|,?6,2:O,@(3,4,5)/OH,6:/!OH,
@@ -1176,7 +1272,7 @@
 \end{verbatim}
 \MCFstructure
 %-----------------------------------------------------------------------------
-\subsection{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,||,
@@ -1201,6 +1297,8 @@
 font_ht#:=40mm#;      % font height                     >
 var3:="cal_MW"; tag3:="cMW";                            > AUX file table
 var4:="cal_FM"; tag4:="cFM";                            >
+%%%% sw_report:=1;                                      > Report output
+%%%% sw_MOLout:=1;                                      > MOL file output
 outputformat:="png"; hppp:=vppp:=0.1;                   > PNG output
 outputtemplate:="%j-%3c.png";                           >
 %-------------------------------------------------------------------------
@@ -1218,10 +1316,35 @@
       -1\^17,/*_,!4,/_,!)                               > end MCF
 endfont                                                 > end font
 %------------------------------------------------------------------------
+beginfont("NO:3","EN:Limonin")                    > begin font(information)
+  MCf(<30,?6,$(-3,-4)?6,                                > begin MCF (3)
+      -5=?3,-2=wf,-1=wb,6=?5,-4=?6,-5=wf,               >
+      @(13,15,17,20)O,@(3,12,21)//O,                    >
+      @(4~wf^60,8~zf^60,18^35,18^-35)/_,                >
+      @(1^60,5^180,16^60)/*H,                           >
+      14\*,|,?5,$(1,4)dl,3:O)                           > end MCF
+endfont                                                 > end font
+%------------------------------------------------------------------------
+beginfont("NO:4","EN:beta-carotene)               > begin font(information)
+  MCf(<30,?6,3=dl,@(3,5^35,5^-35)/_,                    > begin MCF (4)
+      4\,|,!18,$(1,3,5,7,9,11,13,15,17)dr,              >
+      @(3,7,12,16)/_,                                   >
+      |,?6,6=dl,@(6,2^35,2^-35)/_)                      > end MCF
+endfont                                                 > end font
+%------------------------------------------------------------------------
+beginfont("NO:5","EN:Gibberellin A3");            > begin font(information)
+  MCf(<18,?5,3=?7,5=?6[12],                             > begin MCF (5)
+     8*,160`1.3,&3,13=dl,6=wf,8=wb,                     >
+     5*,40~zf`1,O,60,//O^180,&14~zb,                    >
+     2:/COOH,7://_,13:*/OH,8:/*OH,                      >
+     14:*/_,@(1^60,4^60)*/H)                            > end MCF
+endfont;                                                > end font
+%------------------------------------------------------------------------
 bye
 \end{verbatim}
 %------------------------------------------------------------------------
 \noindent%
+\newpage
 \subsection{Information auxfile output}
 \paragraph{(Insert option parameter setting)}
 \begin{verbatim}
@@ -1235,31 +1358,45 @@
 \paragraph{(Output)}
 \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
+F:mcf_man_soc;C:1;cMW:349.40462;cFM:C16H19N3O4S;EN:Ampicillin
+F:mcf_man_soc;C:2;cMW:386.6532;cFM:C27H46O;EN:Cholesterol
+F:mcf_exa_soc;C:3;cMW:470.5113;cFM:C26H30O8;EN:Limonin
+F:mcf_exa_soc;C:4;cMW:536.8722;cFM:C40H56;EN:beta-Carotene
+F:mcf_exa_soc;C:5;cMW:346.3742;cFM:C19H22O6;EN:Gibberellin A3
   .....................................................
   .....................................................
 
 (sw_auxfix=1)
 F;C;cMW;cFM;EN
-mcf_man_soc;90;349.40462;C16H19N3O4S;Ampicillin
-mcf_man_soc;91;386.6532;C27H46O;Cholesterol
+mcf_man_soc;1;349.40462;C16H19N3O4S;Ampicillin
+mcf_man_soc;2;386.6532;C27H46O;Cholesterol
+mcf_exa_soc;3;470.5113;C26H30O8;Limonin
+mcf_exa_soc;4;536.8722;C40H56;beta-Carotene
+mcf_exa_soc;5;346.3742;C19H22O6;Gibberellin A3
   ......................................
   ......................................
 
-( tag : variable )
-F : filename   C : char number   NO : serial number   EN : english name
-cMW : molecular weight calculated   cFM : molecular formula calculated
+( Tag )
+F   : filename
+C   : char number
+NO  : serial number
+EN  : english name
+JN  : japanese name
+FM  : formula from literature data
 MW  : molecular weight from literature data
+USE : the use
+cMW : molecular weight calculated
+cMI : monoisotopic mass calculated
+cFM : molecular formula calculated
 \end{verbatim}
 %------------------------------------------------------------------------
 \newpage
 \noindent%
-\subsection{Checklist output}
+\subsection{Report output}
 \paragraph{(Insert option parameter setting)}
 \begin{verbatim}
-  sw_checklist:=1;
-  ** default : sw_checklist=0
+  sw_report:=1;
+  ** default : sw_report=0
 \end{verbatim}
 \paragraph{(Command line)}
 \begin{verbatim}
@@ -1269,51 +1406,52 @@
 \begin{verbatim}
 %------------------------------------------------------------------
 %  Molecular name = Caffeine
-%  Warnings =   0 / Expanded command = 75
-%  Width * Height =  39.5496 * 36.85023
-%  Shift width * height  = -9.33653 * -12.77606
-%  Bond length = 9.23695   Atom size   = 4.12231
+%  Warnings =   0 / Expanded command = 80
+%  Width * Height =   54.31772 *   50.43338
+%  Shift width * height  =  -12.59462 *  -17.49146
+%  Bond length = 12.75589   Atom size   = 5.38914
 %  Atom count= 14 Bond count= 15 Ring count=  2 Hide H count= 10
 %------------------------------------------------------------------
-%< NO.  >< x axis  , y axis >< atom  >< bond >< hide_H >
-%  A1    (      0 ,       0 )  C           4
-%  A2    (  0.866 ,    -0.5 )  N           3
-%  A3    (  1.732 ,       0 )  C           4
-%  A4    (  1.732 ,       1 )  C           4
-%  A5    (  0.866 ,     1.5 )  C           4
-%  A6    (      0 ,       1 )  N           3
-%  A7    (  2.683 ,  -0.309 )  N           3
-%  A8    (  3.271 ,     0.5 )  C           3       1
-%  A9    (  2.683 ,   1.309 )  N           3
-%  A10   (  0.866 ,  -1.383 )  C           1       3
-%  A11   ( -0.788 ,   1.455 )  C           1       3
-%  A12   (  2.959 ,   2.159 )  C           1       3
-%  A13   ( -0.788 ,  -0.455 )  O           2
-%  A14   (  0.866 ,   2.383 )  O           2
+%< NO.  >(  x axis   ,   y axis   )< atom  >< bond >< hide_H >
+%  A1    (         0 ,          0 )  C           4
+%  A2    (     0.866 ,       -0.5 )  N           3
+%  A3    (     1.732 ,          0 )  C           4
+%  A4    (     1.732 ,          1 )  C           4
+%  A5    (     0.866 ,        1.5 )  C           4
+%  A6    (         0 ,          1 )  N           3
+%  A7    (     2.683 ,     -0.309 )  N           3
+%  A8    (     3.271 ,        0.5 )  C           3       1
+%  A9    (     2.683 ,      1.309 )  N           3
+%  A10   (     0.866 ,     -1.371 )  C           1       3
+%  A11   (    -0.776 ,      1.448 )  C           1       3
+%  A12   (    -0.776 ,     -0.448 )  O           2
+%  A13   (     0.866 ,      2.371 )  O           2
+%  A14   (     2.955 ,      2.147 )  C           1       3
 %------------------------------------------------------------------
 %< NO.  ><  bond   (sdt)><angle + (  +-  )><length (   pt   )>
-%  B1     1 ->   2 (  1)      330 (   -30)       1 (    9.24)
-%  B2     2 ->   3 (  1)       30 (    30)       1 (    9.24)
-%  B3     3 ->   4 (  2)       90 (    90)       1 (    9.24)
-%  B4     4 ->   5 (  1)      150 (   150)       1 (    9.24)
-%  B5     5 ->   6 (  1)      210 (  -150)       1 (    9.24)
-%  B6     6 ->   1 (  1)      270 (   -90)       1 (    9.24)
-%  B7     3 ->   7 (  1)      342 (   -18)       1 (    9.24)
-%  B8     7 ->   8 (  2)       54 (    54)       1 (    9.24)
-%  B9     8 ->   9 (  1)      126 (   126)       1 (    9.24)
-%  B10    9 ->   4 (  1)      198 (  -162)    0.66 (     6.1)
-%  B11    2 ->  10 (  1)      270 (   -90)    0.66 (     6.1)
-%  B12    6 ->  11 (  1)      150 (   150)    0.66 (     6.1)
-%  B13    9 ->  12 (  1)       72 (    72)    0.66 (     6.1)
-%  B14    1 ->  13 (  2)      210 (  -150)    0.66 (     6.1)
-%  B15    5 ->  14 (  2)       90 (    90)    0.66 (     6.1)
+%  B1     1 ->   2 (  1)      330 (   -30)       1 (   12.76)
+%  B2     2 ->   3 (  1)       30 (    30)       1 (   12.76)
+%  B3     3 ->   4 (  2)       90 (    90)       1 (   12.76)
+%  B4     4 ->   5 (  1)      150 (   150)       1 (   12.76)
+%  B5     5 ->   6 (  1)      210 (  -150)       1 (   12.76)
+%  B6     6 ->   1 (  1)      270 (   -90)       1 (   12.76)
+%  B7     3 ->   7 (  1)      342 (   -18)       1 (   12.76)
+%  B8     7 ->   8 (  2)       54 (    54)       1 (   12.76)
+%  B9     8 ->   9 (  1)      126 (   126)       1 (   12.76)
+%  B10    9 ->   4 (  1)      198 (  -162)    0.66 (    8.42)
+%  B11    2 ->  10 (  1)      270 (   -90)    0.66 (    8.42)
+%  B12    6 ->  11 (  1)      150 (   150)    0.66 (    8.42)
+%  B13    1 ->  12 (  2)      210 (  -150)    0.66 (    8.42)
+%  B14    5 ->  13 (  2)       90 (    90)    0.66 (    8.42)
+%  B15    9 ->  14 (  1)       72 (    72)    0.66 (    8.42)
 %------------------------------------------------------------------
 % C   (  12.0107) *      8 =     96.08557
 % H   (  1.00793) *     10 =     10.07935
 % N   (  14.0067) *      4 =      56.0268
 % O   (  15.9994) *      2 =     31.99881
-% Weight  Calc:  194.19052 / Input: 194.19 / weight gap= 0.00052
-% Fomula  Calc: C8H10N4O2 / Input: C8H10N4O2 / MACTCH
+% Monoisotopic mass: 194.08038
+% Weight  Calc: 194.1905 / Input: 194.194 / weight gap= -0.00348
+% Fomula  Calc: C8H10N4O2 / Input: 
 %==================================================================
 \end{verbatim}%
 \newpage

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

Modified: trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.tex
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.tex	2017-01-29 01:35:19 UTC (rev 43080)
+++ trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.tex	2017-01-29 22:31:38 UTC (rev 43081)
@@ -1,7 +1,7 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Example of  MCF typest with LuaLaTeX(luamplib)     by A.Yamaji   2017.01.15
+% Example of  MCF typest with LuaLaTeX(luamplib)     by A.Yamaji   2017.01.29
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%% mcf2graph.mf it must be version 4.08 or later
+%%% mcf2graph.mf it must be version 4.09 or later
 \documentclass{article}
 %------------------------------------------------------------------------------
 \usepackage{luamplib}%

Modified: trunk/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf
===================================================================
--- trunk/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf	2017-01-29 01:35:19 UTC (rev 43080)
+++ trunk/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf	2017-01-29 22:31:38 UTC (rev 43081)
@@ -1,5 +1,5 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% mcf2graph ver 4.08     Copyright (c) 2013-2017   Akira Yamaji
+% mcf2graph ver 4.09     Copyright (c) 2013-2017   Akira Yamaji
 %
 % Permission is hereby granted, free of charge, to any person obtaining a copy of this software
 % and associated documentation files (the "Software"), to deal in the Software without restriction,
@@ -27,7 +27,7 @@
 % Set outputformat to "svg"       : mpost -s ahangle=2  FILENAME
 % Set outputformat to MDL Molfile : mpost -s ahangle=3  FILENAME
 % Set first font only (for test)  : mpost -s ahlength=1 FILENAME
-% Set output checklist            : mpost -s ahlength=2 FILENAME
+% Set output report               : mpost -s ahlength=2 FILENAME
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 tracingstats:=1;
 message " This is mcf2graph ver 4.0  2017.1";
@@ -36,11 +36,11 @@
 numeric save_para[],comD[][],parD[][],cntD[],tbl_str_wd[],tbl_atom[],tbl_subst[][],tbl_atom_wt[],
         tbl_atom_mi[],tbl_char_wd[],tbl_char_ht[],tbl_char_dp[];
 string  tbl_atom_str[],strD[],var[],tag[],mp_log_name,aux_delimiter;
-picture atom_font[],mol_stru[];
+picture atom_font[],str_font[],mol_stru[],save_pict;
 %-------------------------------------------------------------------------------------------------
 char_num:=str_cnt:=proc_end:=0;
 sw_numberA:=sw_numberB:=sw_mol_frame:=sw_auxout:=sw_solid:=sw_expand:=sw_font_frame:=0;
-sw_atom_frame:=sw_checklist:=sw_MOLout:=sw_subst_off:=sw_bond_single:=sw_auxfix:=sw_clip:=0;
+sw_atom_frame:=sw_report:=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:=max_inf_num:=20;
 aux_delimiter:=";";  var1:="jobname";  tag1:="F";  var2:="char_num"; tag2:="C";
 for i=3 upto aux_max: var[i]:=tag[i]:=""; endfor
@@ -50,7 +50,7 @@
   color color_list[];
   mp_log_name:=jobname&"-info.aux";
   if     ahlength=1: proc_end:=1;  fi                          % first molecular only
-  if     ahlength=2: sw_checklist:=1; def shipit = enddef; fi  % checklist on
+  if     ahlength=2: sw_report:=1; def shipit = enddef; fi     % report on
   if     ahangle=0: def shipit = enddef;                       % No image file
   elseif ahangle=1: outputformat:="png"; hppp:=vppp:=0.1;      % PNG format
   elseif ahangle=2: outputformat:="svg";                       % SVG format
@@ -94,7 +94,7 @@
 def_com(1)(si,dl,dr,db,dm,tm,wf,wb,bd,bz,zf,zb,dt,wv,nl,vf,vb,si_,wf_,wb_,bd_);
 %--------------------------------------------------------------------------------------------------
 def parameter_list=
-  sw_checklist,sw_numberA,sw_numberB,sw_mol_frame,sw_auxout,sw_solid,sw_expand,sw_MOLout,
+  sw_report,sw_numberA,sw_numberB,sw_mol_frame,sw_auxout,sw_solid,sw_expand,sw_MOLout,
   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,max_bond_width,ratio_bondgap_bond,ratio_zebra_black,ratio_zebragap_bond,
@@ -112,6 +112,7 @@
   forsuffixes list=t: if list<>save_para[incr nA]: list:=save_para[nA]; fi endfor enddef;
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 def beginfont(text s)=
+  char_num:=char_num+1;
   store_par(parameter_list);
   begingroup
   save cntA,cntB,cntM,minX,minY,f_beginchar,numS,sftX,sftY,f_ext,
@@ -123,7 +124,6 @@
   for i:=1 upto max_inf_num: info[i]:=":"; endfor
   f_ext:=inf_num:=cntM:=0;
   for list=s: info[incr inf_num]:=list; endfor
-  char_num:=char_num+1;
 enddef;
 %==================================================================================================
 def endfont=
@@ -145,10 +145,11 @@
   beginchar(char_num,font_wd#,font_ht#,0)
   if (sw_font_frame=1)or(sw_font_frame=3): draw_frame((0,0),w,h,thickness_font_frame); fi
   if (sw_font_frame=2)or(sw_font_frame=3):
-    nA:=w-2margin_left_right; nB:=h-2margin_top_bottom; pT:=(margin_left_right,margin_top_bottom);
+    nA:=w-2margin_left_right; nB:=h-2margin_top_bottom;
+    pT:=(margin_left_right,margin_top_bottom);
     draw_frame(pT,nA,nB,thickness_font_frame);  fi
   if sw_font_frame=4: draw_corner(w,h,thickness_font_frame); fi
-  if (sw_auxout=1)or(sw_checklist=1)or(sw_MOLout=1): proc_calc_out; fi
+  if (sw_auxout=1)or(sw_report=1)or(sw_MOLout=1): proc_calc_out; fi
   for i=1 upto cntM:
     addto currentpicture also mol_stru[i] shifted posM[0][i]; mol_stru[i]:=nullpicture;
   endfor
@@ -316,6 +317,27 @@
   s addto mol_stru[cntM] also currentpicture; clearit;
   endgroup;
 enddef;
+%--------------------------------------------------------------------------------------------------
+def use_font(expr WD)=
+  save_pict:=currentpicture;
+  for i=1 upto 128: f_char[i]:=1; endfor
+  proc_char_setup(str_font)(WD);
+  str_wd#:=WD;
+  define_pixels(str_wd);
+  currentpicture:=save_pict;
+enddef;
+%--------------------------------------------------------------------------------------------------
+def puts(expr PA)(expr STR)=
+  begingroup
+  save cp; pair cp;
+  cp:=PA;
+  for i=0 upto length(STR)-1:
+    nA:=ASCII(pic_c(i,STR));
+    addto currentpicture also str_font[nA] shifted (cp-(0,str_wd*tbl_char_dp[nA]));
+    cp:=cp+(str_wd*tbl_char_wd[nA],0);
+  endfor
+  endgroup;
+enddef;
 %=================================================================================================
 def MCf(text s)= MCd(1,1)(.5,.5)(s) enddef;  % MC fill draw
 %-------------------------------------------------------------------------------------------------
@@ -359,7 +381,7 @@
     if bond_len#>max_bond_length#:
        bond_len#:=max_bond_length#; proc_size_setup; proc_skeleton; proc_scaling;  fi
   fi
-  proc_char_setup;
+  proc_char_setup(atom_font)(atom_wd#);
   %-----------------------------------------------------------------------------------------------
   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
@@ -462,9 +484,15 @@
 %-------------------------------------------------------------------------------------------------
 def char_use_check=
   for i=1 upto 128: f_char[i]:=0; endfor
-  if (sw_numberA>0)or(sw_numberB>0): for j=ASCII("0") upto ASCII("9"): f_char[j]:=1; endfor
-  else: for i=1 upto cntA: if numS[i]<>0: for j=0 upto length(strD[numS[i]])-1:
-    f_char[ASCII(pic_c(j,strD[numS[i]]))]:=1; endfor fi endfor fi
+  if (sw_numberA<>0)or(sw_numberB<>0):
+    for j=ASCII("0") upto ASCII("9"): f_char[j]:=1; endfor
+  else:
+    for i=1 upto cntA:
+      if numS[i]<>0:
+        for j=0 upto length(strD[numS[i]])-1: f_char[ASCII(pic_c(j,strD[numS[i]]))]:=1; endfor
+      fi
+    endfor
+  fi
 enddef;
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 def proc_bond_atom(expr n)=
@@ -747,7 +775,7 @@
 SO3:='("S{O_3_}"); NMe:=N!:='(N,/Me); iPr:=Me!:='(60,-2\); tBu:='(60,-2\,-3*,60);
 OMe:=O!:='(O,!); OEt:=O!2:='(O,!2); OPr:=O!3:='(O,!3); OiPr:=OMe!:='(O,!,iPr); 
 SMe:=S!:='(S,!); SEt:=S!2:='(S,!2); SPr:=S!3:='(S,!3); SiPr:=SMe!:='(S,!,iPr);
-COOMe:=COO!:='(//O,!,O,!); COMe:=CO!:='(//O,!);
+COOMe:=COO!:='(//O,!,O,!); COMe:=CO!:='(//O,!); COEt:=CO!2:='(//O,!2);
 OCOMe:=OCO!:='(O,!,//O,!); COOEt:=COO!2:='(//O,!,O,!2);
 COOiPr:=COOMe!:='(//O,!,O,!,iPr); COOPr:=COO!3:='(//O,!,O,!3);
 COOtBu:='(//O,!,O,!,tBu); NMeMe:=NMe!:='(N,/Me,!); NHCOMe:=NHCO!:='(NH,!,//O,!);
@@ -780,7 +808,7 @@
 char_size_set(.7)(.8)(  0)("acekosuvxzwry");
 char_size_set(.4)( 1)(  0)(".,:;'`");
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-def proc_char_setup=
+def proc_char_setup(suffix FONT)(expr SIZE)=
 begingroup
 save Z,aW,aH,fW,hW,hW,hH,fP,hP,vL,hL,PO,POh,sH,FD;
 pair Z[];
@@ -787,8 +815,8 @@
 %---------------------------------------------------------------
 def FD(expr c)(text s)=
   if f_char[ASCII(c)]=1:
-    aW#:=atom_wd#*tbl_char_wd[ASCII(c)]*(1-ratio_atomgap_atom*2);
-    aH#:=atom_wd#*tbl_char_ht[ASCII(c)]*(1-ratio_atomgap_atom*2);
+    aW#:=SIZE*tbl_char_wd[ASCII(c)]*(1-ratio_atomgap_atom*2);
+    aH#:=SIZE*tbl_char_ht[ASCII(c)]*(1-ratio_atomgap_atom*2);
     define_pixels(aW,aH);
     fW:=aW-hP; hW:=.5aW; fH:=aH-hP; hH:=.5aH;
     Z01:=( 0,hP); Z02:=(hP, 0); Z03:=(hP,hP); Z04:=(aW,hP); Z05:=(fW, 0); Z08:=( 0,hH);
@@ -796,7 +824,7 @@
     Z18:=(hP,aH); Z19:=(hW,hP); Z20:=(hW,hH); Z06:=(hW,aH); Z07:=(hW, 0); Z11:=(hW,aW);
     Z15:=(fW,aH); Z17:=(aW,hH);
     s;
-    atom_font[ASCII(c)]:=
+    FONT[ASCII(c)]:=
     currentpicture shifted (ratio_atomgap_atom*atom_wd,ratio_atomgap_atom*atom_wd);
     clearit;
   fi
@@ -926,21 +954,21 @@
 enddef;
 %==================================================================================================
 tbl_cnt:=0;
-STa("C"   ,12.0107,   12.0000000);      STa("H"   , 1.00794,    1.00782503223);
-STa("{Al}",26.9815,   26.98153853);     STa("{As}",74.9216,    74.92159457);
-STa("B"   ,10.811,    11.00930536);     STa("{Br}",79.904,     78.9183376);
-STa("{Ca}",40.078,    39.962590863);    STa("{Cl}",35.453,     34.968852);
-STa("{Co}",58.933194, 58.93319429);     STa("{Cr}",51.9961,    51.94050623);
-STa("{Cu}",63.546,    62.92959772);     STa("D"   ,2.012,       2.01410177812);
-STa("F"   ,18.9984,   18.99840316273);  STa("{Fe}",55.845,     55.93493633);
-STa("{Hg}",200.59,   201.97064340);     STa("I"   ,126.90447, 126.9044719);
-STa("K"   ,39.0983,   38.9637064864);   STa("{Li}",6.941,       7.0160034366);
-STa("{Mg}",24.305,    23.985041697);    STa("{Mn}",54.938044,  54.93804391);
-STa("N"   ,14.0067,    14.00307400443); STa("{Na}",22.98977,  22.9897692820);
-STa("{Ni}",58.693,     57.93534241);    STa("O"   ,15.9994,   15.99491461957);
-STa("P"   ,30.973762,  30.97376199842); STa("S"   ,32.065,    31.9720711744);
-STa("{Se}",78.971,     79.9165218);     STa("{Si}",28.0855,   27.97692653465);
-STa("{Sn}",118.71,   119.90220163);     STa("{Ti}",47.867,     47.94794198);
+STa("C"   ,12.0107,   12.0000000);      STa("H"   , 1.00794,   1.00782503223);
+STa("{Al}",26.9815,   26.98153853);     STa("{As}",74.9216,   74.92159457);
+STa("B"   ,10.811,    11.00930536);     STa("{Br}",79.904,    78.9183376);
+STa("{Ca}",40.078,    39.962590863);    STa("{Cl}",35.453,    34.968852);
+STa("{Co}",58.933194, 58.93319429);     STa("{Cr}",51.9961,   51.94050623);
+STa("{Cu}",63.546,    62.92959772);     STa("D"   ,2.012,      2.01410177812);
+STa("F"   ,18.9984,   18.99840316273);  STa("{Fe}",55.845,    55.93493633);
+STa("{Hg}",200.59,   201.97064340);     STa("I"   ,126.90447,126.9044719);
+STa("K"   ,39.0983,   38.9637064864);   STa("{Li}",6.941,      7.0160034366);
+STa("{Mg}",24.305,    23.985041697);    STa("{Mn}",54.938044, 54.93804391);
+STa("N"   ,14.0067,   14.00307400443); STa("{Na}",22.98977,   22.9897692820);
+STa("{Ni}",58.693,    57.93534241);    STa("O"   ,15.9994,    15.99491461957);
+STa("P"   ,30.973762, 30.97376199842); STa("S"   ,32.065,     31.9720711744);
+STa("{Se}",78.971,    79.9165218);     STa("{Si}",28.0855,    27.97692653465);
+STa("{Sn}",118.71,   119.90220163);     STa("{Ti}",47.867,    47.94794198);
 STa("{Zn}",65.409,    63.92914201);
 %--------------------------------------------------------------------------------------------------
 STb("{H_2_}")("H","H"); STb("OH")("O","H"); STb("O{Na}")("O","{Na}"); STb("CN")("C","N");
@@ -1020,7 +1048,7 @@
   cal_MI:=substring (0,10) of decimal(MI_num);
   cal_MW:=substring (0,8)  of decimal(MW_num);
   if sw_auxout=1:    proc_auxfile_out;   fi
-  if sw_checklist=1: proc_checklist_out; fi
+  if sw_report=1:    proc_report_out; fi
   if sw_MOLout=1:    proc_MOLfile_out;    fi
   endgroup
 enddef;
@@ -1045,20 +1073,20 @@
   elseif (n<400)and(n>-400): round(n*10)/10      else: round(n) fi
 enddef;
 %--------------------------------------------------------------------------------------------------
-def proc_checklist_out=
+def proc_report_out=
   message "%------------------------------------------------------------------";
   message "%  Molecular name = "& inf_EN;
   message "%  Warnings = "&fdr(3)(warning_cnt)&" / Expanded command = "&decimal(cntD[0]);
-  message "%  Width * Height = " & fdr(8)(mol_wd)&" * "&fdr(8)(mol_ht);
-  message "%  Shift width * height  = "& fdr(8)(minX)&" * "&fdr(8)(minY);
+  message "%  Width * Height = " & fdr(10)(mol_wd)&" * "&fdr(10)(mol_ht);
+  message "%  Shift width * height  = "& fdr(10)(minX)&" * "&fdr(10)(minY);
   message "%  Bond length = "&fdr(3)(bond_len)&"   Atom size   = "&fdr(3)(atom_wd);
   message "%  Atom count="&fdr(3)(cntA)&" Bond count="&fdr(3)(cntB)&
           " Ring count="&fdr(3)(cntB-cntA+1)&" Hide H count="&fdr(3)(cnt_hide_H);
   message "%------------------------------------------------------------------";
-  message "%< NO.  >< x axis  , y axis >< atom  >< bond >< hide_H >";
+  message "%< NO.  >(  x axis   ,   y axis   )< atom  >< bond >< hide_H >";
   for i=1 upto cntA:
-    message "%  A"&fdl(4)(i)&" ("&fdr(7)(round_auto(xpart(posA[i])/bond_len))&" , "&
-            fdr(7)(round_auto(ypart(posA[i])/bond_len))&" )  "&fixed_l(8)(strD[numS[i]])&
+    message "%  A"&fdl(4)(i)&" ("&fdr(10)(round_auto(xpart(posA[i])/bond_len))&" , "&
+            fdr(10)(round_auto(ypart(posA[i])/bond_len))&" )  "&fixed_l(8)(strD[numS[i]])&
             "  "&fdr(3)(Bcnt[i]) if hideH[i]>0: &fdr(8)(hideH[i]) fi;
   endfor
   message "%------------------------------------------------------------------";
@@ -1084,7 +1112,7 @@
        if nA<40: &fdr(12)(tbl_atom_wt[i]*sumA[i]); else: &fdr(12)(nA)&" * 100"; fi
      fi
   endfor
-  message "% Mono isotopic:" &cal_MI_str;
+  message "% Monoisotopic mass: "&cal_MI_str;
   message "% Weight  Calc: " &cal_MW_str &" / Input: "
     if inf_MW<>"": &inf_MW &" / weight gap= " &decimal(MW_num-scantokens(inf_MW)) fi;
   message "% Fomula  Calc: "&cal_FM&" / Input: "



More information about the tex-live-commits mailing list