summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Master/texmf-dist/doc/metapost/mcf2graph/README57
-rw-r--r--Master/texmf-dist/doc/metapost/mcf2graph/mcf_exa_soc.mf14
-rw-r--r--Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.pdfbin255197 -> 255216 bytes
-rw-r--r--Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.tex6
-rw-r--r--Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc-032.eps (renamed from Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc-030.eps)2
-rw-r--r--Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc.mf53
-rw-r--r--Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.pdfbin188181 -> 218677 bytes
-rw-r--r--Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.tex130
-rw-r--r--Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.pdfbin0 -> 91079 bytes
-rw-r--r--Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.tex149
-rw-r--r--Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf47
11 files changed, 356 insertions, 102 deletions
diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/README b/Master/texmf-dist/doc/metapost/mcf2graph/README
index def4b21389e..c7ed270341e 100644
--- a/Master/texmf-dist/doc/metapost/mcf2graph/README
+++ b/Master/texmf-dist/doc/metapost/mcf2graph/README
@@ -1,40 +1,42 @@
*******************************************************************************
- mcf2graph : Convert Molecular Coding Format to graphic with Metafont/Metapost
- Author : Akira Yamaji
- version : 3.52 / 2015-07-20
- E-mail : akira.yamaji5@gmail.com
- Web site : http://molecoding.cocolog-nifty.com/blog/
+ mcf2graph : Convert Molecular Coding Format to graphic with Metafont/Metapost
+ Author : Akira Yamaji
+ version : 3.53 / 2015-07-30
+ E-mail : akira.yamaji5@gmail.com
+ Located at : http://mirror.ctan.org/pkg/graphics/mcf2graph
+ Home page : http://molecoding.cocolog-nifty.com/blog/
*******************************************************************************
1. Introduction
Molecular Coding Format(MCF) is new linear notation represent chmical
- structure diagram.This 'Coding' is from coding(programing) technique like
- adressing,grouping,macro. There are no commands of Meta language in MCF.
- mcf2graph.mf(metapost/metafont macro) convert MCF file to
- graphic file(pk font/PNG/SVG/EPS) or MDL MOL file(V2000).
+ structure diagram. This 'Coding' is named from coding(programing) technique
+ like adressing,grouping,macro. There are no commands of Meta language in MCF.
+ mcf2graph.mf(metapost/metafont macro) convert MCF file to graphic file
+ (pk font/PNG/SVG/EPS) or MDL MOL file(V2000).
The software,MCF manual,TeX example can get from authors web site.
-
2. The distribution of software
- (1) README This file
- (2) mcf_graph.mf Macro of Metafont / Metapost
- (3) mcf_manual.tex MCF syntax manual(LaTeX file)
- (4) mcf_man_soc.mf Molecular difinition file for mcf_manual.tex
- (5) mcf_man_soc-030.eps No.30 EPS(with color) file of (4)
- (6) mcf_manual.pdf PDF of (3) (used LaTeX,dvipdfmx)
- (7) mcf_example.tex LaTeX example,
- Make 'mcf_exa_soc-info.log' before typeset
- mpost -s ahangle=0 mcf_exa_soc.mf
- (8) mcf_exa_soc.mf Molecular difinition file for mcf_example.tex
- (9) mcf_example.pdf PDF of (7) (used LaTeX,dvipdfmx)
+ ( 1) README This file
+ ( 2) mcf_graph.mf Macro of Metafont / Metapost
+ ( 3) mcf_manual.tex MCF syntax manual(LaTeX file)
+ ( 4) mcf_man_soc.mf Molecular difinition file for mcf_manual.tex
+ ( 5) mcf_man_soc-032.eps No.32 EPS(with color) file of (4)
+ ( 6) mcf_manual.pdf PDF of (3) (used LaTeX,dvipdfmx)
+ ( 7) mcf_example.tex LaTeX example,
+ Make 'mcf_exa_soc-info.log' before typeset
+ mpost -s ahangle=0 mcf_exa_soc.mf
+ ( 8) mcf_exa_soc.mf Molecular difinition file for mcf_example.tex
+ ( 9) mcf_example.pdf PDF of (7) (used LaTeX,dvipdfmx)
+ (10) mcf_mplib_exa.tex LuaLaTeX example, use package luamplib.sty,fancyvrv.sty
+ (11) mcf_example.pdf PDF of (10) (used LuaLaTeX)
3. How to use mcf2graph with Metapost
- (1) mpost -s ahangle=1 FILENAME output PNG file. (default value is eps)
- (2) mpost -s ahangle=2 FILENAME output SVG file.
- (3) mpost -s ahangle=3 FILENAME output MDL Molfile(V2000)
- (4) mpost -s ahangle=0 FILENAME output no graphic file.
- (5) mpost -s ahlength=1 FILENAME output first definition only (for test)
- (6) mpost -s ahlength=2 FILENAME output checklist.
+ ( 1) mpost -s ahangle=1 FILENAME output PNG file. (default value is eps)
+ ( 2) mpost -s ahangle=2 FILENAME output SVG file.
+ ( 3) mpost -s ahangle=3 FILENAME output MDL Molfile(V2000)
+ ( 4) mpost -s ahangle=0 FILENAME output no graphic file.
+ ( 5) mpost -s ahlength=1 FILENAME output first definition only (for test)
+ ( 6) mpost -s ahlength=2 FILENAME output checklist.
4. Molecular definition file example
input mcf2graph.mf; % input main system
@@ -89,3 +91,4 @@
ver. 3.50 / 2015-07-11 first version uploaded to ctan.
ver. 3.51 / 2015-07-19 '?6`2' can use as '{,``2,?6,}'
ver. 3.52 / 2015-07-20 '!4`2' can use as '{,``2,!4,}'
+ ver. 3.53 / 2015-07-29 support LuaLaTeX(MPlib)
diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_exa_soc.mf b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_exa_soc.mf
index fafa3585a76..4adf8d9f1bc 100644
--- a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_exa_soc.mf
+++ b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_exa_soc.mf
@@ -1,5 +1,5 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Molecular Coding Format for mcf_example.tex by Akira Yamaji 2015.7.19
+% Molecular Coding Format for mcf_example.tex by Akira Yamaji 2015.7.24
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
input mcf2graph.mf;
%-------------------------------------------------------------------------
@@ -533,7 +533,7 @@ endfont
%**********************************************************************
beginfont("EN:Morphine")
MCf(^^30,
- {,Ph,2=?6,-4=?6,(#1,#12)=?5[2],1:O,},-1=zb,
+ Ph,2=??6,-4=??6,(#1,#12)=??5[2],-1:O,-1=zb,
7*,60~wf`0.75,70~ov`1.3,45,N,/Me,&9~wb,
15=d,6:/OH,8^180:*/H,12:/*OH
)
@@ -554,11 +554,11 @@ beginfont("EN:Quinine")
endfont
%***********************************************************************
beginfont("EN:Atoropin")
- MCf(^^-30,
- O,!,//O,!,!,Ph,
- #1\~zb^-120,?7,-2*\^-170`1.2,N,/Me,&-5~wb,
- #3\~wv,!,OH
- )
+ MCf(^^-30,
+ O,!,//O,!,!,Ph,
+ #1\~zb^-120,?7,-2*\^-170`1.2,N,/Me,&-5~wb,
+ #3\~wv,!,OH
+ )
endfont
%***********************************************************************
bye
diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.pdf b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.pdf
index fc33cf1613d..19041dde5f8 100644
--- a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.pdf
+++ b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.tex b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.tex
index dc4ef24a7aa..b16fe054707 100644
--- a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.tex
+++ b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.tex
@@ -1,5 +1,5 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Molecular Coding Format file for mcf_examples.tex by A.Yamaji 2015.7
+% Molecular Coding Format file for mcf_examples.tex by A.Yamaji 2015.7.25
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\documentclass[a4paper]{article}
\usepackage{graphicx}
@@ -65,8 +65,8 @@
}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
-{\hspace{20mm} \LARGE\bf Molecular Coding Format examples \hspace{20mm} }%
-{\footnotesize\bf by Akira Yamaji 2015.7} \vspace{5mm}\\
+{\hspace{20mm} \LARGE\bf Molecular Coding Format examples \hspace{10mm} }%
+{\footnotesize\bf by Akira Yamaji 2015.7.25} \vspace{5mm}\\
\fontnum=1%
\noindent%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc-030.eps b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc-032.eps
index a8c40f49460..5e2cd1b6539 100644
--- a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc-030.eps
+++ b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc-032.eps
@@ -2,7 +2,7 @@
%%BoundingBox: 47 7 112 78
%%HiResBoundingBox: 47.18906 7.2196 111.88002 77.81963
%%Creator: MetaPost 1.999
-%%CreationDate: 2015.07.20:0717
+%%CreationDate: 2015.07.25:0953
%%Pages: 1
%%BeginProlog
%%EndProlog
diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc.mf b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc.mf
index 209747c69cc..df008deb152 100644
--- a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc.mf
+++ b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc.mf
@@ -1,5 +1,5 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Molecular Coding Format file for mcf_manual.tex by Akira.Yamaji 2015.7
+% Molecular Coding Format file for mcf_manual.tex by Akira.Yamaji 2015.7.25
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
input mcf2graph.mf;
%-----------------------------------------------------------------------
@@ -48,16 +48,22 @@ beginfont("EN:change bond 2")
MCf(^^30,!9,1=vf,2=vb,3=tm,4=dt,5=wv,@(7~bd^-45`2,9~ov^45`2)/Me)
endfont
%***********************************************************************
-beginfont("EN:change bond length")
+beginfont("EN:change bond length1")
sw_start_vector:=1;
sw_numberB:=1;
- MCf(^^30,!3,!`1.2,!2)
+ MCf(^^30,!2,!2`1.2,!)
endfont
%***********************************************************************
-beginfont("EN:change bond length")
+beginfont("EN:change bond length2")
sw_start_vector:=1;
sw_numberB:=1;
- MCf(^^30,!3,``1.2,!3)
+ MCf(^^30,!2,``1.2,!2,!)
+endfont
+%***********************************************************************
+beginfont("EN:change bond length3")
+ sw_start_vector:=1;
+ sw_numberB:=1;
+ MCf(^^30,?6,3\,?6`1.2,4=??6)
endfont
%***********************************************************************
beginfont("EN:change atom 1")
@@ -93,6 +99,12 @@ endfont
beginfont("EN:fused ring 1")
sw_start_vector:=1;
sw_numberB:=1;
+ MCf(^^30,?6,3=?5)
+endfont
+%***********************************************************************
+beginfont("EN:fused ring 1")
+ sw_start_vector:=1;
+ sw_numberB:=1;
MCf(^^30,?6,$(3,3,3)?6)
endfont
%***********************************************************************
@@ -250,7 +262,7 @@ beginfont("EN:Ampicillin")
)
endfont
%***********************************************************************
-beginfont("EN:Cholesterol","MW:386.65")
+beginfont("EN:Cholesterol")
MCf(
^^30,?6,$(-4,-2)??6,-4=??5,7=dl,
1:*/OH,@(4,12)*/Me^60,9:*/H^60,
@@ -259,4 +271,33 @@ beginfont("EN:Cholesterol","MW:386.65")
)
endfont
%***********************************************************************
+beginfont("EN:alfa-Tocopherol")
+ MCf(^^30,
+ Ph,3=??6,7:O,@(1,2,5)/Me,8:/*Me^60,6:/OH,
+ 8\,!12,@(4,8)/*Me,12:/Me
+ )
+endfont
+%***********************************************************************
+beginfont("EN:Caffeine")
+ MCf(^^30,
+ ?6,-4=??5,$(3,8)dl,@(2,6,7,9)N,@(2,6,9)/Me,@(1,5)//O
+ )
+endfont
+%***********************************************************************
+beginfont("EN:Lycorine")
+ MCf(^^30,
+ Ph,-4=??6,-2=??6,6=??5,(9,12)=??5[3],13=dl,8:N,@(15,17)O,
+ 9:/*H^180,10:*/H^60,13:*/OH,14:/*OH
+ )
+endfont
+%***********************************************************************
+beginfont("EN:Gibberellin");
+ MCf(
+ ^^12,?6`1.3,3=??5,9=??7,12\^160`1.6,&8,
+ 4\^155~zf`-1.2,O,55,//O^180`1,&2~zb,
+ 3=dr,11=wf,13=wb,7:/COOH,11://Me,1:*/OH,12:/*OH,2:*/Me,
+ @(3^-60,9^60)*/H
+ )
+endfont;
+%***********************************************************************
bye
diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.pdf b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.pdf
index c8c472981a1..c7c575c6835 100644
--- a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.pdf
+++ b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.tex b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.tex
index 04aa16a1dc5..e1cd21a844e 100644
--- a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.tex
+++ b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.tex
@@ -1,9 +1,10 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Molecular Coding Format manual by Akira Yamaji 2015.7
+% Molecular Coding Format manual by Akira Yamaji 2015.7.25
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\documentclass[a4paper]{article}
\usepackage[dvipdfmx]{graphicx}
-%%%%%\usepackage[pdftex]{graphicx}
+%%%%\usepackage[pdftex]{graphicx}
+%%%%\usepackage{epstopdf}
\pagestyle{empty}
\topmargin=-17mm
\textheight=27.5cm
@@ -27,19 +28,11 @@
\advance\fontnum\@ne\relax\advance\tempnum\@ne\relax%
}%
%----------------------------------------------------------------------------
-%%%\def\MCFstructure{%
-%%% \makebox(75,0)[t]%
-%%% {\frame{\makebox(70,35){%
-%%% \ifnum\fontnum<10\includegraphics{mcf_man_soc-00\the\fontnum}%
-%%% \else\ifnum\fontnum<100\includegraphics{mcf_man_soc-0\the\fontnum}\fi\fi}}}%
-%%% \advance\fontnum\@ne\relax\advance\tempnum\@ne\relax%
-%%%}%
-%----------------------------------------------------------------------------
\begin{document}
\noindent%
\begin{picture}(180,0)
- \put(45,12){{\LARGE Molecular Coding Format manual}\hspace{10mm}
- by Akira Yamaji 2015.7}
+ \put(35,12){{\LARGE Molecular Coding Format manual}\hspace{10mm}
+ by Akira Yamaji 2015.7.25}
\end{picture}\vspace{-6mm}\\
%----------------------------------------------------------------------------
\begin{minipage}[t][38mm]{100mm}
@@ -113,9 +106,9 @@ six membered ring
\MCFtitle{Change bond (2)}
\begin{verbatim}
Bn=bond : change bond
- dm:double,dl:double(left),dr:double(right),
- wf:wedge forward,wb:wedge backward,
- zf:wedge dotted,zb:wedge dotted backward
+ vf:vector forward, vb:vector backward,
+ tm:triple, wv:waved, bd:broad single,
+ ov:over line
^^30,!9,1=vf,2=vb,3=tm,4=dt,5=wv,
@(7~bd^-45`2,9~ov^45`2)/Me
@@ -129,7 +122,7 @@ six membered ring
\begin{verbatim}
B`length : change bond length of B
- ^^30,!3,!`1.2,!2
+ ^^30,!2,!2`1.2,!
\end{verbatim}
\end{minipage}
\MCFstructure
@@ -140,7 +133,18 @@ B`length : change bond length of B
\begin{verbatim}
``length : change all bond length after
- ^^30,!3,``1.2,!3
+ ^^30,!2,``1.2,!2,!
+\end{verbatim}
+\end{minipage}
+\MCFstructure
+\vspace{6mm}\\
+%-----------------------------------------------------------------------------
+\begin{minipage}[t][38mm]{100mm}
+\MCFtitle{Change chain length (3)}
+\begin{verbatim}
+?n`length : change ring length
+
+ ^^30,?6,3\,?6`1.2,4=??6
\end{verbatim}
\end{minipage}
\MCFstructure
@@ -217,6 +221,18 @@ Insert hetero atom
\begin{minipage}[t][38mm]{100mm}
\MCFtitle{Fused ring (1)}
\begin{verbatim}
+?6,3=?6 : fuse ?6 at B3
+
+ ?6,3=?6
+
+\end{verbatim}
+\end{minipage}
+\MCFstructure
+\vspace{6mm}\\
+%-----------------------------------------------------------------------------
+\begin{minipage}[t][38mm]{100mm}
+\MCFtitle{Fused ring (2)}
+\begin{verbatim}
?6,$(3,3,3)??6 NG
?6,$(3,9,14)??6 OK
@@ -229,7 +245,7 @@ Insert hetero atom
\vspace{6mm}\\
%-----------------------------------------------------------------------------
\begin{minipage}[t][38mm]{100mm}
-\MCFtitle{Fused ring (2)}
+\MCFtitle{Fused ring (3)}
\begin{verbatim}
?6,$(3,3,3)?6 OK
@@ -243,7 +259,7 @@ Insert hetero atom
\vspace{6mm}\\
%-----------------------------------------------------------------------------
\begin{minipage}[t][38mm]{100mm}
-\MCFtitle{Fused ring (3)}
+\MCFtitle{Fused ring (4)}
\begin{verbatim}
(4,11)=??6[4] : fuse 4/6 ring to B4 ..B11
(16,17)=??6[3] : fuse 3/6 ring to B16..B17
@@ -258,7 +274,7 @@ Insert hetero atom
\vspace{6mm}\\
%-----------------------------------------------------------------------------
\begin{minipage}[t][38mm]{100mm}
-\MCFtitle{Fused ring (4)}
+\MCFtitle{Fused ring (5)}
\begin{verbatim}
(20,5)=??5[3] : fuse 3/5 ring to B20..B5
(16,17)=??5[2] : fuse 2/5 ring to B16..B17
@@ -436,7 +452,7 @@ $(3)red : change color of B3 red
\end{minipage}
%%%%\MCFstructure % for Metafont
\makebox(75,0)[t]{\frame{\makebox(70,35)%
-{\includegraphics{mcf_man_soc-030.eps}}}}% for dvipdfmx
+{\includegraphics{mcf_man_soc-032.eps}}}}% for dvipdfmx
%%%%{\includegraphics[width=30mm]{mcf_man_soc-030.png}}}}% for pdfLaTeX
\advance\fontnum\@ne\relax\advance\tempnum\@ne\relax%
\vspace{6mm}\\
@@ -553,10 +569,12 @@ Insert user defined substructure
\begin{minipage}[t][38mm]{100mm}
\MCFtitle{Example(1) Ampicillin}
\begin{verbatim}
- ^^45,?4,2:N,2=??5,-1:S,
- @(3^45,4^-45)/*H,1://O^15,
- 5:/*COOH^-18,@(6^35,6^-35)/Me,
- 4\^75,NH,!,//O,!,NH,!,Ph
+
+ ^^45,
+ ?4,2:N,2=??5,-1:S,
+ @(3^45,4^-45)/*H,1://O^15,
+ 5:/*COOH^-18,@(6^35,6^-35)/Me,
+ 4\^75,NH,!,//O,!,NH,!,Ph
\end{verbatim}
\end{minipage}
\MCFstructure
@@ -565,10 +583,64 @@ Insert user defined substructure
\begin{minipage}[t][38mm]{100mm}
\MCFtitle{Example(2) Cholesterol}
\begin{verbatim}
- ^^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,!,
+
+ ^^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,!,
+\end{verbatim}
+\end{minipage}
+\MCFstructure
+\vspace{6mm}\\
+%-----------------------------------------------------------------------------
+\begin{minipage}[t][38mm]{100mm}
+\MCFtitle{Example(3) alfa-Tocopherol}
+\begin{verbatim}
+
+ ^^30,
+ Ph,3=??6,
+ 7:O,@(1,2,5)/Me,8:/*Me^60,6:/OH,
+ 8\,!12,@(4,8)/*Me,12:/Me
+\end{verbatim}
+\end{minipage}
+\MCFstructure
+\vspace{6mm}\\
+%-----------------------------------------------------------------------------
+\begin{minipage}[t][38mm]{100mm}
+\MCFtitle{Example(4) Caffeine}
+\begin{verbatim}
+
+ ^^30,
+ ?6,-4=??5,$(3,8)dl,@(2,6,7,9)N,
+ @(2,6,9)/Me,@(1,5)//O
+\end{verbatim}
+\end{minipage}
+\MCFstructure
+\vspace{6mm}\\
+%-----------------------------------------------------------------------------
+\begin{minipage}[t][38mm]{100mm}
+\MCFtitle{Example(5) Lycorine}
+\begin{verbatim}
+
+ ^^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
+\end{verbatim}
+\end{minipage}
+\MCFstructure
+\vspace{6mm}\\
+%-----------------------------------------------------------------------------
+\begin{minipage}[t][38mm]{100mm}
+\MCFtitle{Example(6) Gibberellin}
+\begin{verbatim}
+
+ ^^12,
+ ?6`1.3,3=??5,9=??7,12\^160`1.6,&8,
+ 4\^155~zf`-1.2,O,55,//O^180`1,&2~zb,
+ 3=dr,11=wf,13=wb,7:/COOH,11://Me,1:*/OH,
+ 12:/*OH,2:*/Me,@(3^-60,9^60)*/H
\end{verbatim}
\end{minipage}
\MCFstructure
diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.pdf b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.pdf
new file mode 100644
index 00000000000..2c32d0ac78c
--- /dev/null
+++ b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.tex b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.tex
new file mode 100644
index 00000000000..ba0d89e3ad9
--- /dev/null
+++ b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.tex
@@ -0,0 +1,149 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% MCF Lualatex(luamplib) Example by A.Yamaji 2015.7.30
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\documentclass{article}
+\usepackage{luamplib}
+\usepackage{fancyvrb}
+\pagestyle{empty}
+\topmargin=-25mm
+\oddsidemargin=0mm
+\textwidth=180mm
+\textheight=280mm
+\unitlength=1mm
+%------------------------------------------------------------------------------------
+\begin{document}
+%
+{\LARGE MCF example for LuaLaTeX(luamplib) }%
+ \hspace{20mm}by Akira Yamaji 2015.7.30\vspace{8mm}\\
+%
+\everymplib{verbatimtex \leavevmode etex; input mcf2graph.mf; input temp_file.aux;}%
+%------------------------------------------------------------------------------------
+\rlap{\raisebox{35mm}{No.1 Chlorophyll a}}%
+\begin{VerbatimOut}{temp_file.aux}
+ font_wd:=100mm;
+ font_ht:=50mm;
+ beginfont("NO:1","EN:Chlorophyll a","MW:893.49")
+ MCf(^^54,
+ {,``1,?5,$(2,5)d,4:N,3\,54~dl,?5,$(2,4)d,5:N,
+ -2\,54~dl,?5,2=d,5:N,-2\~dl,54,?5,5=d,5:N,-2\~dl,&(#5),
+ -1*,24,/*COOMe^15,72,//O,&(#1),},
+ 4\`1.45,Mg,&17,-1*,&11~vb,-1*,&23~vb,
+ @(2,9,15,20~zf)/Me,8:/Et,14\,!~dr,
+ 21*,-6~wf,!2,//O,!,O,!2,!~dl,!13,@(1,5,9,13)/Me,
+ )
+ endfont
+\end{VerbatimOut}
+\begin{mplibcode}\end{mplibcode}%
+\hspace{8mm}%
+%----------------------------------------------------------------------------
+\rlap{\raisebox{38mm}{No.2 Limonin}}%
+\begin{VerbatimOut}{temp_file.aux}
+ font_wd:=60mm;
+ font_ht:=40mm;
+ beginfont("NO:2","EN:Limonin")
+ MCf(^^30,
+ ?6,$(-3,-4)??6,-5=??3,-2=wf,-1=wb,6=??5,-4=??6,-5=wf,
+ @(13,15,17,20,25)O,@(3,12,21)//O,
+ @(4~wf^60,8~zf^60,18^35,18^-35)/Me,@(1^60,5^180,16^60)/*H,
+ 14\*,?5,$(1,4)d
+ )
+ endfont
+\end{VerbatimOut}
+\begin{mplibcode}\end{mplibcode}\vspace{8mm}\\%
+%----------------------------------------------------------------------------
+\rlap{\raisebox{25mm}{No.3 beta-Carotene}}%
+\begin{VerbatimOut}{temp_file.aux}
+ font_wd:=90mm;
+ font_ht:=30mm;
+ beginfont("NO:3","EN:beta-Carotene")
+ MCf(^^30,
+ ?6,3:d,@(3,5^35,5^-35)/Me,
+ 4\,!18,$(1,3,5,7,9,11,13,15,17)dr,@(3,7,12,16)/Me,
+ ?6,6:d,@(6,2^35,2^-35)/Me
+ )
+ endfont
+\end{VerbatimOut}
+\begin{mplibcode}\end{mplibcode}\hspace{8mm}%
+%----------------------------------------------------------------------------
+\rlap{\raisebox{25mm}{No.4 Gibberellin}}%
+\begin{VerbatimOut}{temp_file.aux}
+font_wd:=50mm;
+font_ht:=40mm;
+beginfont("NO:4","EN:Gibberellin");
+ MCf(
+ ^^12,?6`1.3,3=??5,9=??7,12\^160`1.6,&8,
+ 4\^155~zf`-1.2,O,55,//O^180`1,&2~zb,
+ 3=dr,11=wf,13=wb,7:/COOH,11://Me,1:*/OH,12:/*OH,2:*/Me,
+ @(3^-60,9^60)*/H
+ )
+endfont;
+\end{VerbatimOut}
+\begin{mplibcode}\end{mplibcode}\vspace{10mm}\\%
+%----------------------------------------------------------------------------
+\rlap{\raisebox{55mm}{No.5 Erythromycin}}%
+\begin{VerbatimOut}{temp_file.aux}
+font_wd:=60mm;
+font_ht:=70mm;
+beginfont("NO:5","EN:Erythromycin");
+MCf(^^30,
+ {,``1,^^-120,60,60,60,-60,60,60,-60,60,60,60,-60,60,60,},&1,
+ 14:O,13:/*Et,@(1,9)//O,@(2,10)*/Me,@(4,6^-35,8,12^35)/*Me,
+ @(6^35,11,12^-35)*/OH,
+ #3\*,O,30,?6`.7,2:O,@(3,5^35)/Me,4:/OH,5^-35:/OMe,
+ #5\*^30`1.7,O,!,?6`.7,6:O,5:/Me,2:/OH,3:/NMeMe
+)
+endfont;
+\end{VerbatimOut}
+\begin{mplibcode}\end{mplibcode}\hspace{8mm}%
+%----------------------------------------------------------------------------
+\rlap{\raisebox{70mm}{No.6 Vancomycin}}%
+\begin{VerbatimOut}{temp_file.aux}
+font_wd:=100mm;
+font_ht:=70mm;
+beginfont("NO:6","EN:Vancomycin");
+ MCf(^^30,
+ {,``1,!12,$(1,3,12)zf,7=wf,/H^-60,60,*/OH,60,
+ Ph,-4:/Cl,-3\,O,!,Ph,-4\,O,!,Ph,-1^15:/Cl,-3\,/*OH,*/H^-60,&(#1),
+ #7*,&(#26),#1\^120,//O,60,NH,60,/*H,*/COOH^180,-60,
+ Ph,@(-2,-4)/OH,-1\,Ph,-5:/OH,-2*,&(#4),},
+ @(3^40,6,9,12)//O,@(2,5,8,11)NH,
+ @(1^180,4^180)*/H,@(7^-60,10^60,14^60)/*H,
+ #10*\^-60,60,//O,!,NH2,
+ #13*\,NH,!,//O,!,/'(!,iPr)^-35>60,*/H^60,!~zf,NH,!,
+ #23\,O,!,{,``.7,?6,2:O,3^10:/'(!,OH),@(4,5)/OH,},
+ -1\,O,!,{,``.7,?6,6:O,@(3^35,5)/Me,3^-35:/NH2,4:/OH,}
+ )
+endfont;
+\end{VerbatimOut}
+\begin{mplibcode}\end{mplibcode}\vspace{8mm}\\%
+%----------------------------------------------------------------------------
+\rlap{\raisebox{50mm}{No.7 Maitotoxin}}%
+\begin{VerbatimOut}{temp_file.aux}
+ font_wd:=160mm;
+ font_ht:=90mm;
+ beginfont("NO:7","EN:Maitotoxin")
+ MCf(^^55.8,
+ ?6,-4=??7 ,$(-4,-3,-3,-3)??6,-3\,!!3,??6,$(-4,-3,-3,-3)??6,
+ -3\,??6,-3=??6,-3\,!!3,60,^^-30,??6,-3=??6,
+ -3\^30,^^30,??6,$(-3,-3)??6,-3=??7,$(-4,-3,-3)??6,
+ -2\,??6,-3=??6,-3=??7,$(-3,-3)??6,-3=??8,-3=dl,$(-5,-3,-3,-3)??6,
+ @(5,7,15,16,23,24,32,40,41,48,49,58,59,72,73,82,83,90,91,99,
+ 100,107,113,114,122,123,130,131,140,141,148,149)O,
+ @(1^60,2,26,28,29,51,54,61,63,68,75^60,78,109)*/OH,
+ @(11,20,35,45,52,55,65,69,86)/*OH,@(^^60,47,57,71)/*H,
+ @(3,8,13,17,21,33,38,42,56,70,84,92,101,106,111,128,138,142,146,150)/*H^-60,
+ @(4,14,22,34,39,43,81,89,98,102,116,121,125,129,133)*/H^60,
+ @(6,46,50,53,60,67,74)*/H^-60,
+ @(9,18,85,93,112,139,143,147)*/Me`1^60,
+ @(80,88,97,115,120,124)/*Me`1^-60,108:*/Me`1^-60,
+ @(36~zf^-45>30)/'(O,!,SOO,!,"O{Na}"),
+ #6\,!11,60~dr,-60,60,OH,2:/*OH,@(7,10)*/OH,@(1,3)*/Me,@(8~zf,11~dm,12)/Me,
+ @(6>30)/'(O,!,SOO,!,"O{Na}"),
+ #150\,!7,@(1,2)/*OH,4:*/Me,5:/*Me,7=dl
+ )
+ endfont
+\end{VerbatimOut}
+\begin{mplibcode}\end{mplibcode}\\%
+%----------------------------------------------------------------------------
+%
+\end{document}
diff --git a/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf b/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf
index 05f69ae860b..03890a729b2 100644
--- a/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf
+++ b/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf
@@ -1,5 +1,5 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% mcf2graph ver 3.52 Copyright (c) 2013-2015 Akira Yamaji
+% mcf2graph ver 3.53 Copyright (c) 2013-2015 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,
@@ -19,8 +19,8 @@
% mcf2graph is METAFONT/METAPOST macro package convert
% Molecular Coding Format(MCF) to font/eps/sgv/png/mdl molfile(V2000)
%----------------------------------------------------------------------------------------------
-% Web page of author: http://molecoding.cocolog-nifty.com/blog/
-% Suggestion or request mail to: akira.yamaji5@gmail.com
+% This package is located at : http://mirror.ctan.org/pkg/graphics/mcf2graph
+% Suggestion or request mail to : akira.yamaji5@gmail.com
%----------------------------------------------------------------------------------------------
% Set outputformat to "png" : mpost -s ahangle=1 FILENAME
% Set outputformat to "svg" : mpost -s ahangle=2 FILENAME
@@ -44,30 +44,25 @@ picture atom_font[],chem_structure,temp_picture;
%-------------------------------------------------------------------------------------------------
sw_numberA:=sw_numberB:=sw_frame:=sw_logout:=sw_solid:=sw_expand:=sw_start_vector:=0;
sw_atom_frame:=sw_checklist:=sw_MOLfile:=char_num:=str_cnt:=size_changed:=proc_end:=0;
-if known outputtemplate:
- f_MP:=1;
- if known SAVfile: % for MePoTeX
- mp_log_name:="@MCF_INFO.log"; outputtemplate:="%j.%c.";
- def beginchar(text s)= enddef; def endchar = enddef; sw_logout:=1;
- else: % for METAPOST
- mp_log_name:=jobname&"-info.log";
- if ahlength=1: proc_end:=1; fi % first molecular only
- if ahlength=2: sw_checklist:=1; def shipit = enddef; fi % checklist 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
- elseif ahangle=3: sw_MOLfile:=1; def shipit = enddef; % MDL Molefile on
- fi
- outputtemplate:="%j-%3c."&outputformat;
- def beginchar(text s)= beginfig(char_num) enddef; def endchar = endfig enddef;
+if known green: f_MP:=1;
+ mp_log_name:=jobname&"-info.log";
+ if ahlength=1: proc_end:=1; fi % first molecular only
+ if ahlength=2: sw_checklist:=1; def shipit = enddef; fi % checklist 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
+ elseif ahangle=3: sw_MOLfile:=1; def shipit = enddef; % MDL Molefile on
fi
+ outputtemplate:="%j-%3c."&outputformat;
+ def beginchar(text s)= beginfig(char_num) enddef; def endchar = endfig enddef;
vardef mp_filename = jobname&"-"&fit_zero(char_num)&decimal(char_num)&"."&outputformat enddef;
def printf expr s= write s to mp_log_name enddef;
ahangle:=45; ahlength:=4; def # = enddef; color color_list[];
def Cp(expr s) = if known s: if s<>0: withcolor color_list[s] fi fi enddef;
def define_pixels(text s) = enddef;
-else: f_MP:=0; def Cp(expr s) = enddef; def color = transform enddef;
- mode_setup; def printf expr s= message s enddef; def mp_filename= "" enddef; fi
+else: f_MP:=0;
+ def Cp(expr s) = enddef; def color = transform enddef;
+ mode_setup; def printf expr s= message s enddef; def mp_filename= "" enddef; fi
clearit; chem_structure:=currentpicture;
%-------------------------------------------------------------------------------------------------
let DIV= /; let MUL= *; let LT= <; let GT= >; let AND= &; let :: = : ; let == = =;
@@ -104,12 +99,6 @@ def beginfont(text s)= mol_name:=""; len_x:=len_y:=cntA:=0;
for list=s: cntA:=cntA+1; info[cntA]:=list;
if substring (0,2) of list="EN":
mol_name:=substring (3,length(list)) of list; fi exitif cntA=11; endfor
- ratio_hw:=font_ht#/font_wd#;
- if f_MP=0:
- if mode=proof:
- if font_wd#>=font_ht#:
- if font_wd#>35mm#:font_wd#:=35mm#;font_ht#:=ratio_hw*35mm#; fi
- else: if font_ht#>35mm#:font_ht#:=35mm#;font_wd#:=35mm#/ratio_hw; fi fi fi fi
beginchar(char_num,font_wd#,font_ht#,0); clearit;
enddef;
%-------------------------------------------------------------------------------------------------
@@ -157,8 +146,8 @@ for i=1 upto cntA: xpos:=xpart(posA[i]); ypos:=ypart(posA[i]);
enddef;
%-------------------------------------------------------------------------------------------------
def resize(expr WD,HT)=
- if (len_y/len_x)>ratio_hw: factor:=(font_ht*HT-2tb_margin)/len_y;
- else: factor:=(font_wd*WD-2lr_margin)/len_x; fi
+ if (len_y/len_x)>(font_ht/font_wd): factor:=(font_ht*HT-2tb_margin)/len_y;
+ else: factor:=(font_wd*WD-2lr_margin)/len_x; fi
ratio_bond_width:=ratio_bond_width*factor; len_x:=len_x*factor; len_y:=len_y*factor;
enddef;
%-------------------------------------------------------------------------------------------------