From f5cd2c11a5f8e60d8ba81823546e7aac93472baa Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sun, 3 Sep 2017 23:00:53 +0000 Subject: mcf2graph (3sep17) git-svn-id: svn://tug.org/texlive/trunk@45206 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG | 6 +- Master/texmf-dist/doc/metapost/mcf2graph/README | 2 +- .../doc/metapost/mcf2graph/mcf_exa_soc.mf | 14 +- .../doc/metapost/mcf2graph/mcf_example.pdf | Bin 236265 -> 236396 bytes .../doc/metapost/mcf2graph/mcf_man_soc-064.eps | 2 +- .../doc/metapost/mcf2graph/mcf_man_soc.mf | 34 +-- .../doc/metapost/mcf2graph/mcf_manual.pdf | Bin 474997 -> 475018 bytes .../doc/metapost/mcf2graph/mcf_manual.tex | 20 +- .../doc/metapost/mcf2graph/mcf_mplib_exa.pdf | Bin 224755 -> 221626 bytes .../doc/metapost/mcf2graph/mcf_mplib_exa.tex | 314 ++++++++++++++------- Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf | 35 ++- 11 files changed, 263 insertions(+), 164 deletions(-) (limited to 'Master') diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG b/Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG index 96703fe9372..7119b0a188f 100644 --- a/Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG +++ b/Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG @@ -1,6 +1,10 @@ ******************************************************************************* - Changelog of mcf2graph software package by Akira Yamaji 2017-08-13 + Changelog of mcf2graph software package by Akira Yamaji 2017-09-03 ******************************************************************************* +[ver. 4.27 / 2017-09-03] + -improve function ext(),EXT() + -update MCF syntax manual + [ver. 4.26 / 2017-08-13] -improve label emulation -update MCF syntax manual diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/README b/Master/texmf-dist/doc/metapost/mcf2graph/README index aedd529e659..f629134d8f5 100644 --- a/Master/texmf-dist/doc/metapost/mcf2graph/README +++ b/Master/texmf-dist/doc/metapost/mcf2graph/README @@ -1,7 +1,7 @@ ******************************************************************************** mcf2graph : Convert Molecular Coding Format to graphics with METAFONT/METAPOST Author : Akira Yamaji - version : 4.26 2017-08-13 + version : 4.27 2017-09-03 E-mail : mcf2graph@gmail.com Located at : http://www.ctan.org/pkg/mcf2graph ******************************************************************************** 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 ae5e2c82868..5e257c33944 100644 --- a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_exa_soc.mf +++ b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_exa_soc.mf @@ -1,7 +1,7 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Molecular Coding Format for mcf_example.tex by Akira Yamaji 2017.08.13 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -input mcf2graph.mf; %%% it must be version 4.26 or later +input mcf2graph.mf; %%% it must be version 4.27 or later %------------------------------------------------------------------------- font_wd:=33mm; font_ht:=24mm; @@ -391,15 +391,3 @@ beginfont("EN:Atoropin","MW:289.375") endfont %*************************************************************************** bye -************************************************************************** -beginfont("EN:Atoropin","MW:289.375") - MCf(<-30,O,!,//O,!,!,Ph, - #1:\~zb^-120,|,?7`1.1,6:*\^190`1.25,N,/_,&3~wb,#3:/!OH~wv) -endfont -%*************************************************************************** -bye -**** -bye - -bye - diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.pdf b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.pdf index 3d176a0cc4e..28f02965196 100644 Binary files a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.pdf and b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.pdf differ diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc-064.eps b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc-064.eps index 916aa5041ea..1aee7834309 100644 --- a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc-064.eps +++ b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc-064.eps @@ -2,7 +2,7 @@ %%BoundingBox: -1 -1 212 60 %%HiResBoundingBox: -0.09962 -0.09962 211.90288 59.64348 %%Creator: MetaPost 2.000 -%%CreationDate: 2017.08.12:2126 +%%CreationDate: 2017.08.27:1449 %%Pages: 1 %%DocumentResources: procset mpost-minimal %%+ font NJFVSO-NimbusSanL-Regu ICXWUR-CMR8 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 89bcbc7be84..fe9b4b3eebd 100644 --- a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc.mf +++ b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc.mf @@ -1,7 +1,7 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Molecular Coding Format file for mcf_manual.tex by Akira.Yamaji 2017.08.13 +% Molecular Coding Format file for mcf_manual.tex by Akira.Yamaji 2017.09.03 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -input mcf2graph.mf; %% it must be version 4.26 or later +input mcf2graph.mf; %% it must be version 4.27 or later %------------------------------------------------------------------------ sw_auxout:=0; sw_mol_frame:=0; @@ -523,11 +523,11 @@ beginfont("EN:Change color,font") atomfontsize:=8bp; margin_left_right:=3mm; MCa(0,0.5)(<30,Ph,{1,5}:N,3:/COOH,4:/NO2,1:red,5:blue,3=green) - ext(label.urt("(draw)",p0+(0,ht));) + ext(label.urt("(draw)",p0+(0,h));) atomfont:="cmr8"; atomfontsize:=8bp; MCa(1,0.5)(<30,Ph,{1,5}:N,3:/COOH,4:/NO2) - ext(label.urt("(cmr8)",p0+(0,ht));) + ext(label.urt("(cmr8)",p0+(0,h));) endfont %*********************************************************************** beginfont("EN:Make brock") @@ -956,12 +956,12 @@ beginfont("EN:EXT()") MCa(0.1,0.5)(<-210,60`1,60`1,60`1,{1,3}=dl,1:/R1,4:/R2^-60) ext( defaultscale:=0.6; - label.bot("Diene",p0+(0.5wd,0)); + label.bot("Diene",p0+(0.5w,0)); ) MCa(0.4,0.5)(<-30,-60`1,1=dl,1:/R3,2:/R4^60) ext( defaultscale:=0.6; - label.bot("Dienophile",p0+(0.5wd,0)); + label.bot("Dienophile",p0+(0.5w,0)); ) MCa(0.9,0.5)(<30,?6,6=dl,2:/R2,3:/R4,4:/R3,5:/R1) EXT( @@ -1114,24 +1114,4 @@ beginfont("EN:Cholesterol","CAS:57-88-5","FM:C27H46O","MW:386.65") endfont %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% bye -%%%%%%%%%%%%%%%%%%%%%%% -bye -ye -%%%%%%%%%% -bye -%%%% -bye -ye -%%%%%%%%%% -bye -%%%%%%%%%%%%%%%%%%%%%%% -bye -ye -%%%%%%%%%% -bye -%%%% -bye -ye - -ye - +e diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.pdf b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.pdf index 8e876384a48..7b878350834 100644 Binary files a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.pdf and b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.pdf differ diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.tex b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.tex index fc91c42fec3..0c509f089e7 100644 --- a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.tex +++ b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.tex @@ -1,5 +1,5 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Molecular Coding Format manual by Akira Yamaji 2017.07.23 +% Molecular Coding Format manual by Akira Yamaji 2017.09.03 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \documentclass[a4paper]{article} %%%%\documentclass[a4paper,twoside]{article} @@ -547,11 +547,11 @@ pk font,PNG,SVG,EPS or MDL MOL file(V2000).\\ defaultsize:=8bp; MCa(0,0.5)(<30,Ph,{1,5}:N,3:/COOH,4:/NO2, 1:red,5:blue,3=green) - ext(label.urt("(draw)",p0+(0,ht));) + ext(label.urt("(draw)",p0+(0,h));) atomfont:="cmr8"; % default:"draw" atomfontsize:=8bp; % default:8bp MCa(1,0.5)(<30,Ph,{1,5}:N,3:/COOH,4:/NO2) - ext(label.urt("(cmr8)",p0+(0,ht));) + ext(label.urt("(cmr8)",p0+(0,h));) \end{verbatim} \hspace{5mm}\includegraphics{mcf_man_soc-064.eps}% for dvipdfmx %%%%\MCFstructure % for Metafont @@ -1036,14 +1036,16 @@ pk font,PNG,SVG,EPS or MDL MOL file(V2000).\\ w: font width h: font height - wd: font width-margin_left_right*2 - ht: font height-margin_top_bottom*2 + w0: font width-margin_left_right*2 + h0: font height-margin_top_bottom*2 aw: atom font size em: label font size p0: x=margin_left_right y=margin_top_bottom n: molecular number p[m]: molecular origin position + w[m]: molecular width + h[m]: molecular height %---------------------------------------- beginfont() @@ -1057,14 +1059,14 @@ beginfont() 1:/R1,4:/R2^-60) ext( defaultscale:=0.6; - label.bot("Diene",p0+(0.5wd,0)); + label.bot("Diene",p0+(0.5w,0)); ) %--------------------------------------- MCd(1,1)(0.4,0.5) (<-30,-60`1,1=dl,1:/R3,2:/R4^60) ext( defaultscale:=0.6; - label.bot("Dienophile",p0+(0.5wd,0)); + label.bot("Dienophile",p0+(0.5w,0)); ) %--------------------------------------- MCd(1,1)(0.9,0.5) @@ -1087,8 +1089,8 @@ endfont \begin{verbatim} (Add extra graphic to molecule) - wd: molecular width - ht: molecular height + w: molecular width + h: molecular height aw: atom font size em: label font size p0: origin of molecular structure diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.pdf b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.pdf index 14df919bc0a..3739288f0be 100644 Binary files a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.pdf and b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.pdf 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 index 621c6342c08..fb0af3f7b5f 100644 --- a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.tex +++ b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.tex @@ -1,7 +1,7 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Example of MCF typest with LuaLaTeX(luamplib) by A.Yamaji 2017.08.13 +% Example of MCF typest with LuaLaTeX(luamplib) by A.Yamaji 2017.09.03 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%% mcf2graph.mf it must be version 4.26 or later +%%% mcf2graph.mf it must be version 4.27 or later \documentclass{article} %------------------------------------------------------------------------------ \usepackage{luamplib}% @@ -41,7 +41,7 @@ \begin{mplibcode} font_wd:=80mm; font_ht:=40mm; beginfont("NO:1","EN:Chlorophyll a","MW:893.49") - MCa(1,0.5)(<54, + MCd(.9,.9)(0,0.5)(<54, |<,``1,?5,{2,5}=dl,4:N,3:\,54~dl,|,?5,{2,4}=dl,5:N, -2:\,54~dl,|,?5,2=dl,5:N,-2:\~dl,54,|,?5,5=dl,5:N,-2:\~dl,, -1:@,24,/*COO!^15,72,//O,,>|, @@ -52,8 +52,8 @@ EXT( label.lrt("("&inf_EN&")",(0,h)); label.lrt("FM(C): "&cal_FM,(0,h-4mm)); - label.lrt("FM(C): "&cal_MW,(0,h-8mm)); - label.lrt("FM(D): "&inf_MW,(0,h-12mm)); + label.lrt("MW(C): "&cal_MW,(0,h-8mm)); + label.lrt("MW(D): "&inf_MW,(0,h-12mm)); ) endfont \end{mplibcode} @@ -71,7 +71,34 @@ \end{verbatim} \end{minipage} -\vspace{0mm}\\ +\vspace{7mm}\\ +%---------------------------------------------------------------------------- +\begin{mplibcode} +font_wd:=80mm; font_ht:=20mm; +beginfont("EN:beta-Carotene","MW:536.888") + MCd(.65,1)(.9,.5)( + <30,?6,3=dl,{3,5^35,5^-35}:/_, + 4:\,|,!18,{1,3,5,7,9,11,13,15,17}=dr,{3,7,12,16}:/_, + |,?6,6=dl,{6,2^35,2^-35}:/_ + ) + EXT( + label.lrt("("&inf_EN&")",(0,h)); + label.lrt("FM(C): "&cal_FM,(0,h-4mm)); + label.lrt("MW(C): "&cal_MW,(0,h-8mm)); + label.lrt("MW(D): "&inf_MW,(0,h-12mm)); + ) +endfont +\end{mplibcode} +\begin{minipage}[b]{85mm} +\begin{verbatim} +<30,?6,3=dl,{3,5^35,5^-35}:/_, +4:\,|,!18, +{1,3,5,7,9,11,13,15,17}=dr, +{3,7,12,16}:/_, +|,?6,6=dl,{6,2^35,2^-35}:/_ +\end{verbatim} +\end{minipage} +\vspace{7mm}\\ %---------------------------------------------------------------------------- \begin{mplibcode} font_wd:=80mm; font_ht:=30mm; @@ -85,8 +112,8 @@ EXT( label.lrt("("&inf_EN&")",(0,h)); label.lrt("FM(C): "&cal_FM,(0,h-4mm)); - label.lrt("FM(C): "&cal_MW,(0,h-8mm)); - label.lrt("FM(D): "&inf_MW,(0,h-12mm)); + label.lrt("MW(C): "&cal_MW,(0,h-8mm)); + label.lrt("MW(D): "&inf_MW,(0,h-12mm)); ) endfont \end{mplibcode} @@ -101,7 +128,7 @@ \end{verbatim} \end{minipage} -\vspace{5mm}\\% +\vspace{7mm}\\% %---------------------------------------------------------------------------- \begin{mplibcode} font_wd:=80mm; font_ht:=20mm; @@ -113,8 +140,8 @@ beginfont("NO:4","EN:Gibberellin A3","MW:346.37"); EXT( label.lrt("("&inf_EN&")",(0,h)); label.lrt("FM(C): "&cal_FM,(0,h-4mm)); - label.lrt("FM(C): "&cal_MW,(0,h-8mm)); - label.lrt("FM(D): "&inf_MW,(0,h-12mm)); + label.lrt("MW(C): "&cal_MW,(0,h-8mm)); + label.lrt("MW(D): "&inf_MW,(0,h-12mm)); ) endfont; \end{mplibcode} @@ -127,7 +154,35 @@ endfont; 14:*/_,{1^60,4^60}:*/H) \end{verbatim} \end{minipage} -\vspace{6mm}\\ +\vspace{7mm}\\ +%---------------------------------------------------------------------------- +\begin{mplibcode} +font_wd:=80mm; font_ht:=25mm; +beginfont("EN:Morphine","MW:285.343") + MCf( + <30,Ph,2=?6,-4=?6,(1,12)=?5[2],-1:O,-1=zb, + 7:@,60~wf`0.75,70~si_`1.3,45,N,/_,&9~wb, + 15=d,6:/OH,8^180:*/H,12:/*OH + ) + EXT( + label.lrt("("&inf_EN&")",(0,h)); + label.lrt("FM(C): "&cal_FM,(0,h-4mm)); + label.lrt("MW(C): "&cal_MW,(0,h-8mm)); + label.lrt("MW(D): "&inf_MW,(0,h-12mm)); + ) +endfont +\end{mplibcode} +\begin{minipage}[b]{85mm} +\begin{verbatim} +<30,Ph,2=?6,-4=?6,(1,12)=?5[2], +-1:O,-1=zb, +7:@,60~wf`0.75,70~si_`1.3, +45,N,/_,&9~wb, +15=dl, +6:/OH,8^180:*/H,12:/*OH +\end{verbatim} +\end{minipage} +\vspace{7mm}\\ %---------------------------------------------------------------------------- \begin{mplibcode} font_wd:=80mm; font_ht:=35mm; @@ -142,8 +197,8 @@ beginfont("NO:5","EN:Erythromycin","MW:733.93"); EXT( label.lrt("("&inf_EN&")",(0,h)); label.lrt("FM(C): "&cal_FM,(0,h-4mm)); - label.lrt("FM(C): "&cal_MW,(0,h-8mm)); - label.lrt("FM(D): "&inf_MW,(0,h-12mm)); + label.lrt("MW(C): "&cal_MW,(0,h-8mm)); + label.lrt("MW(D): "&inf_MW,(0,h-12mm)); ) endfont; \end{mplibcode} @@ -160,9 +215,39 @@ beginfont("NO:5","EN:Erythromycin","MW:733.93"); 5:/_,2:/OH,3:/NMeMe \end{verbatim} \end{minipage} -\vspace{5mm}\\ +\vspace{7mm}\\ %---------------------------------------------------------------------------- \begin{mplibcode} +font_wd:=80mm; font_ht:=35mm; +beginfont("EN:Paclitaxel","MW:853.918") + MCf(?6,5=d,3:@,|<,``1,36,45,45,45,45,>|,,-4=?6,-4=?4,||,-1=wb,-3=wf,-1:O, + {4^35,4^-35,6}:/_,{3^-60,15}:*/OH,8:/*H^-60,9:*/_^60,10://O, + #1:\,O,!,//O,!,*/OH,!,/Ph,60~wf,NH,-60,//O,60,Ph, + #7:\*,O,-45,//O,60,Ph,#11:*\,O,-60,//O,60,#12:\*^-15,O,60,//O,-60 + ) + EXT( + label.lrt("("&inf_EN&")",(0,h)); + label.lrt("FM(C): "&cal_FM,(0,h-4mm)); + label.lrt("MW(C): "&cal_MW,(0,h-8mm)); + label.lrt("MW(D): "&inf_MW,(0,h-12mm)); + ) +endfont +\end{mplibcode} +\begin{minipage}[b]{85mm} +\begin{verbatim} +?6,5=d,3:@,|<,``1,36,45,45,45,45,>|,, +-4=?6,-4=?4,||,-1=wb,-3=wf,-1:O, +{4^35,4^-35,6}:/_,{3^-60,15}:*/OH, +8:/*H^-60,9:*/_^60,10://O, +#1:\,O,!,//O,!,*/OH,!,/Ph,60~wf,NH,-60,//O,60,Ph, +#7:\*,O,-45,//O,60,Ph,#11:*\,O,-60,//O,60, +#12:\*^-15,O,60,//O,-60) +\end{verbatim} +\end{minipage} +\vspace{7mm}\\ +%---------------------------------------------------------------------------- +\noindent +\begin{mplibcode} font_wd:=80mm; font_ht:=65mm; beginfont("NO:6","EN:Vancomycin","MW:1449.25"); MCa(0.5,0)( @@ -181,8 +266,8 @@ beginfont("NO:6","EN:Vancomycin","MW:1449.25"); EXT( label.lrt("("&inf_EN&")",(0,h)); label.lrt("FM(C): "&cal_FM,(0,h-4mm)); - label.lrt("FM(C): "&cal_MW,(0,h-8mm)); - label.lrt("FM(D): "&inf_MW,(0,h-12mm)); + label.lrt("MW(C): "&cal_MW,(0,h-8mm)); + label.lrt("MW(D): "&inf_MW,(0,h-12mm)); ) endfont; \end{mplibcode} @@ -205,15 +290,14 @@ Ph,{-2,-4}:/OH,-1:\,Ph,-5:/OH,-2:@,,>|, {3^35,5}:/_,3^-35:/NH2,4:/OH \end{verbatim} \end{minipage} -\vspace{0mm}\\% +\vspace{10mm}\\% %---------------------------------------------------------------------------- \begin{mplibcode} - font_wd:=170mm; font_ht:=80mm; + font_wd:=170mm; font_ht:=70mm; beginfont("NO:7","EN:Maitotoxin","MW:3425.86") MCf( - <55.8,?6,-4=?7 ,{-4,-3,-3,-3}=?6,-3:\,!3,?6,{-4,-3,-3,-3}=?6, - -3:\,?6,-3=?6,-3:\,!3,60,<-30,?6,-3=?6, - -3:@,30,<30,?6,{-3,-3}=?6,-3=?7,{-4,-3,-3}=?6, + <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, @@ -232,14 +316,14 @@ Ph,{-2,-4}:/OH,-1:\,Ph,-5:/OH,-2:@,,>|, EXT( label.lrt("("&inf_EN&")",(0,.8h)); label.lrt("FM(C): "&cal_FM,(0,.8h-4mm)); - label.lrt("FM(C): "&cal_MW,(0,.8h-8mm)); - label.lrt("FM(D): "&inf_MW,(0,.8h-12mm)); + label.lrt("MW(C): "&cal_MW,(0,.8h-8mm)); + label.lrt("MW(D): "&inf_MW,(0,.8h-12mm)); ) endfont \end{mplibcode} \begin{verbatim} - <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, + <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, @@ -256,81 +340,111 @@ Ph,{-2,-4}:/OH,-1:\,Ph,-5:/OH,-2:@,,>|, \end{verbatim} \vspace{8mm}% %---------------------------------------------------------------------------- -{\LARGE\bf TCA-cycle}\\ +\newpage \begin{mplibcode} - beginfont("EN:TCA cycle") - save a; - %------------------------------------------------------------------------ - font_wd:=100mm; - font_ht:=100mm; - max_bond_length:=5mm; - %------------------------------------------------------------------------ - sw_label_emu:=1; - defaultscale:=0.75; - %------------------------------------------------------------------------ - a:=12mm; - Om:='("{O^-^}"); - MCa(0.5,1)(<30,Om,!0,//O,!,//O,!2,//O,!,Om) - MCa(1, 1)(<30,Om,!0,//O,!,!,!,!,//O,!,Om,-4`1:\,//O,!,Om,4:/OH^-165) - MCa(1,.66)(<30,Om,!0,//O,!,!,!~dr,!,//O,!,Om,-4`1:\,//O,!,Om) - MCa(1,.35)(<30,Om,!0,//O,!,!,!,!,//O,!,Om,-4:\`1,//O,!,Om) - MCa(1, 0)(<30,Om,!0,//O,!,!,!,//O,!,//O,!,Om,-4:\`1,//O,!,Om) - MCa(0.5,0)(<30,Om,!0,//O,!,!,!,//O,!,//O,!,Om) - MCa(0, 0)(<30,Om,!0,//O,!,!,!,//O,!,"{S-CoA}") - MCa(0,0.4)(<30,Om,!0,//O,!,!,!,//O,!,Om) - MCa(0,0.7)(<30,Om,!0,//O,!,!~dr,!,//O,!,Om) - MCa(0, 1)(<30,Om,!0,//O,!,!,!,//O,!,Om,3:/OH) - %------------------------------------------------------------------------ - EXT( - p10:=(.58w,.9h); - drawarrow p10..p10+(a,0); - drawarrow p10+(.2a,-.8a){dir90}..{dir 0}(p10+(.5a,0)){dir0}..{dir-90}p10+(.8a,-.5a); - label.bot("Acetyl-CoA",p10+(.2a,-.8a)); - label.bot("CoA-SH",p10+(.8a,-.5a)+(em,0)); - p10:=(.9w,.83h); - drawdblarrow p10..p10+(0,-a); - draw p10+(0,-0.5a){dir -90}..{dir 180}p10+(-0.5a,-.8a); - label.lft("H_2_O",p10+(-0.5a,-.8a)); - p10:=(.9w,.56h); - drawdblarrow p10..p10+(0,-a); - draw p10+(-0.5a,-0.2a){dir 0}..{dir -90}p10+(0,-.5a); - label.lft("H_2_O",p10+(-0.5a,-.2a)); - p10:=(.9w,.30h); - drawdblarrow p10..p10+(0,-a); - drawarrow p10+(-.5a,-.2a){dir 0}..{dir-90}p10+(0,-.5a){dir-90}..{dir180}p10+(-.5a,-.8a); - label.lft("NAD^+",p10+(-0.5a,-.2a)); - label.lft("NADH2^+",p10+(-0.5a,-.8a)); - p10:=(.73w,0.1h); - drawarrow p10..p10+(-a,0); - drawarrow p10+(-0.05w,0){dir -180}..{dir 90}p10+(-0.08w,0.05h); - label.top("CO_2_",p10+(-0.8a,0.53a)); - p10:=(.40w,.1h); - drawarrow p10..p10+(-a,0); - drawarrow p10+(-.2a,0.8a){dir -90}..p10+(-0.5a,0){dir -180}.. - {dir 90}p10+(-0.8a,0.5a); - label.top("NAD^+^,CoA-SH",p10+(em,0.8a)); - label.top("NADH2^+^,CO_2_",p10+(-0.8a-em,0.5a)); - p10:=(.10w,.22h); - drawdblarrow p10..p10+(0,a); - drawdblarrow p10+(.5a,.2a){dir-180}..{dir90}p10+(0,.5a){dir90}..{dir0}p10+(.5a,.8a); - label.rt("GDP,Pi",p10+(0.5a,0.2a)); - label.rt("GTP,CoA-SH",p10+(0.5a,0.8a)); - p10:=(.10w,.5h); - drawdblarrow p10..p10+(0,a); - drawdblarrow p10+(.5a,.2a){dir-180}..{dir 90}p10+(0,.5a){dir90}..{dir0}p10+(.5a,.8a); - label.rt("FAD",p10+(0.5a,0.2a)); - label.rt("FADH2",p10+(0.5a,0.8a)); - p10:=(.10w,.74h); - drawdblarrow p10..p10+(0,a); - draw p10+(0.05w,0.2a){dir -180}..{dir 90}p10+(0,.5a); - label.rt("H_2_O",p10+(0.5a,0.2a)); - p10:=(.25w,.9h); - drawdblarrow p10..p10+(a,0); - drawdblarrow p10+(.2a,-.5a){dir90}..{dir0}p10+(.5a,0){dir0}..{dir-90}p10+(.8a,-.8a); - label.bot("NAD^+",p10+(.2a,-.5a)); - label.bot("NADH2^+",p10+(.8a,-.8a)); - ) - endfont +beginfont("EN:TCA cycle") +font_wd:=160mm; +font_ht:=75mm; +max_bond_length:=5mm; +%------------------------------------------------------------------------ +Om:='("{O^-^}"); +MCa(0.33, 1)(<30,Om,!0,//O,!,//O,!2,//O,!,Om) +MCa(0.66, 1)(<30,Om,!0,//O,!4,//O,!,Om,-4`1:\,//O,!,Om,4:/OH^-165) +MCa(1, 1)(<30,Om,!0,//O,!2,!~dr,!,//O,!,Om,-4`1:\,//O,!,Om) +MCa(1, 0.55)(<30,Om,!0,//O,!4,//O,!,Om,-4:\`1,//O,!,Om) +MCa(1, 0.05)(<30,Om,!0,//O,!3,//O,!,//O,!,Om,-4:\`1,//O,!,Om) +MCa(0.66,0.05)(<30,Om,!0,//O,!3,//O,!,//O,!,Om) +MCa(0.33,0.05)(<30,Om,!0,//O,!3,//O,!,"{S-CoA}") +MCa(0, 0.05)(<30,Om,!0,//O,!3,//O,!,Om) +MCa(0, 0.55)(<30,Om,!0,//O,!,!~dr,!,//O,!,Om) +MCa(0, 1)(<30,Om,!0,//O,!3,//O,!,Om,3:/OH) +%------------------------------------------------------------------------- +EXT( +defaultfont:="uhvr8r"; +defaultscale:=0.75; +ext_setup; +def sel_dir(expr rot)= + save tx; nA:=rot; if nA>=360: nA:=nA-360; fi + if (nA<30)or(nA>330): def tx=top enddef; elseif (nA>=30)and(nA<=150): def tx=lft enddef; + elseif (nA>150)and(nA<210): def tx=bot enddef; elseif (nA>=210)and(nA<=330): def tx=rt enddef; fi +enddef; +def r_arrow(expr a)(expr r)(expr p)(expr sa,la)(expr sb,lb)(expr sc,lc)(expr sd,ld)= + drawarrow ((0,0)..(a,0)) rotated r shifted p; + if sa<>"": draw ((0.5a,0){dir 180}..{dir 90}(0,.5a*la)) rotated r shifted p; + sel_dir(r); label.tx(sa,p+((0,0.5a*la) rotated r)); fi + if sb<>"": draw ((0.5a,0){dir 0}..{dir 90}(a,.5a*lb)) rotated r shifted p; + sel_dir(r); label.tx(sb,p+((a,0.5a*lb) rotated r)); fi + if sc<>"": draw ((0.5a,0){dir 180}..{dir -90}(0,-.5a*lc)) rotated r shifted p; + sel_dir(r+180); label.tx(sc,p+((0,-0.5a*lc) rotated r)); fi + if sd<>"": draw ((0.5a,0){dir 0}..{dir -90}(a,-.5a*ld)) rotated r shifted p; + sel_dir(r+180); label.tx(sd,p+((a,-0.5a*ld) rotated r)); fi +enddef; +%------------------------------------------------------------------------ +save dx; pair dx; dx:=(12mm,0); +label.bot("Oxaloacetate",p1+dx); label.bot("Citrate",p2+dx); +label.bot("cis-Aconitate",p3+dx); label.bot("Isocitrate",p4+dx); +label.bot("Oxalosuccinate",p5+dx); label.bot("alfa-Ketoglutarate",p6+dx); +label.bot("Succinyl-CoA",p7+dx); label.bot("Succinate",p8+dx); +label.bot("Fumarate",p9+dx); label.bot("L-Malate",p10+dx); +sw_label_emu:=1; +ext_setup; +r_arrow(10mm)( 0)(p1+(1.1w1,.3h1))("",0)("",0)("Acetyl-CoA",1.5)(" CoA-SH",1); +r_arrow(10mm)( 0)(p2+(1.1w2,.4h2))("",0)("",0)("",0)("H_2_O",1); +r_arrow( 8mm)(270)(p3+(.5w3,-.4h3))("",0)("",0)("H_2_O",1)("",0); +r_arrow( 8mm)(270)(p4+(.5w4,-.4h4))("",0)("",0)("NAD^+",1)("NADH2^+",1); +r_arrow(10mm)(180)(p5+(-.1w5,.4h5))("",0)("",0)("",0)("CO_2_",1); +r_arrow(10mm)(180)(p6+(-.1w6,.5h6))("",0)("",0)("NAD^+^,CoA-SH",1.7)("NADH2^+^,CO_2",1); +r_arrow(10mm)(180)(p7+(-.1w7,.5h7))("",0)("",0)("GDP,Pi",1.7)("GTP,CoA-SH",1); +r_arrow( 8mm)( 90)(p8+(.4w8,1.2h8))("",0)("",0)("FAD",1)("FADH2",1); +r_arrow( 8mm)( 90)(p9+(.4w9,1.2h9))("",0)("",0)("H_2_O",1)("",0); +r_arrow(10mm)( 0)(p10+(1.1w10,.3h10))("",0)("",0)("NAD^+",1)("NADH2^+",1.5); +defaultscale:=1.5; +label("TCA-cycle",(0.5w,0.5h)); +) +endfont \end{mplibcode} +\begin{verbatim} +beginfont("EN:TCA cycle") +font_wd:=160mm; +font_ht:=75mm; +max_bond_length:=5mm; +Om:='("{O^-^}"); +MCa(0.33, 1)(<30,Om,!0,//O,!,//O,!2,//O,!,Om) +MCa(0.66, 1)(<30,Om,!0,//O,!4,//O,!,Om,-4`1:\,//O,!,Om,4:/OH^-165) +MCa(1, 1)(<30,Om,!0,//O,!2,!~dr,!,//O,!,Om,-4`1:\,//O,!,Om) +MCa(1, 0.55)(<30,Om,!0,//O,!4,//O,!,Om,-4:\`1,//O,!,Om) +MCa(1, 0.05)(<30,Om,!0,//O,!3,//O,!,//O,!,Om,-4:\`1,//O,!,Om) +MCa(0.66,0.05)(<30,Om,!0,//O,!3,//O,!,//O,!,Om) +MCa(0.33,0.05)(<30,Om,!0,//O,!3,//O,!,"{S-CoA}") +MCa(0, 0.05)(<30,Om,!0,//O,!3,//O,!,Om) +MCa(0, 0.55)(<30,Om,!0,//O,!,!~dr,!,//O,!,Om) +MCa(0, 1)(<30,Om,!0,//O,!3,//O,!,Om,3:/OH) +EXT( +defaultfont:="uhvr8r"; +defaultscale:=0.75; +ext_setup; +save dx; pair dx; dx:=(12mm,0); +label.bot("Oxaloacetate",p1+dx); label.bot("Citrate",p2+dx); +label.bot("cis-Aconitate",p3+dx); label.bot("Isocitrate",p4+dx); +label.bot("Oxalosuccinate",p5+dx); label.bot("alfa-Ketoglutarate",p6+dx); +label.bot("Succinyl-CoA",p7+dx); label.bot("Succinate",p8+dx); +label.bot("Fumarate",p9+dx); label.bot("L-Malate",p10+dx); +sw_label_emu:=1; +ext_setup; +r_arrow(10mm)( 0)(p1+(1.1w1,.3h1))("",0)("",0)("Acetyl-CoA",1.5)(" CoA-SH",1); +r_arrow(10mm)( 0)(p2+(1.1w2,.4h2))("",0)("",0)("",0)("H_2_O",1); +r_arrow( 8mm)(270)(p3+(.5w3,-.4h3))("",0)("",0)("H_2_O",1)("",0); +r_arrow( 8mm)(270)(p4+(.5w4,-.4h4))("",0)("",0)("NAD^+",1)("NADH2^+",1); +r_arrow(10mm)(180)(p5+(-.1w5,.4h5))("",0)("",0)("",0)("CO_2_",1); +r_arrow(10mm)(180)(p6+(-.1w6,.5h6))("",0)("",0)("NAD^+^,CoA-SH",1.7)("NADH2^+^,CO_2",1); +r_arrow(10mm)(180)(p7+(-.1w7,.5h7))("",0)("",0)("GDP,Pi",1.7)("GTP,CoA-SH",1); +r_arrow( 8mm)( 90)(p8+(.4w8,1.2h8))("",0)("",0)("FAD",1)("FADH2",1); +r_arrow( 8mm)( 90)(p9+(.4w9,1.2h9))("",0)("",0)("H_2_O",1)("",0); +r_arrow(10mm)( 0)(p10+(1.1w10,.3h10))("",0)("",0)("NAD^+",1)("NADH2^+",1.5); +defaultscale:=1.5; +label("TCA-cycle",(0.5w,0.5h)); +) +endfont +\end{verbatim} %---------------------------------------------------------------------------- \end{document} diff --git a/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf b/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf index eee9dfa0525..7f8b1d6cfc7 100644 --- a/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf +++ b/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf @@ -1,5 +1,5 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% mcf2graph ver 4.26 Copyright (c) 2013-2017 Akira Yamaji +% mcf2graph ver 4.27 Copyright (c) 2013-2017 Akira Yamaji % % Permission is hereby granted, free of charge, to any person obtaining a copy of this software % and associated documentation files (the "Software"), to deal in the Software without restriction, @@ -31,7 +31,7 @@ % Set to use plain.mp label,arrow : mpost -s ahlength=3 FILENAME %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% tracingstats:=1; -message " This is mcf2graph ver 4.2 2017.8"; +message " This is mcf2graph ver 4.2 2017.9"; %------------------------------------------------------------------------------------------------- newinternal nA,nB,nC,nD,nE,nF,char_num,str_cnt,sub_usr,sub_int,tbl_cnt; numeric save_para[],comD[][],parD[][],cntD[],tbl_str_wd[],tbl_atom[],tbl_subst[][],tbl_atom_wt[], @@ -146,10 +146,10 @@ def beginfont(text s)= save_defaultfont:=defaultfont; begingroup save cntA,cntB,cntM,minX,minY,f_beginchar,numS,sftX,sftY,f_ext, - cal_FM,cal_MW,cal_MW_str,cal_MI,cal_MI_str, + cal_FM,cal_MW,cal_MW_str,cal_MI,cal_MI_str,wdM,htM, inf_NO,inf_EN,inf_JN,inf_FM,inf_CAS,inf_USE,inf_EXA,inf_EXB,inf_MW, posBs,posBe,posA,posM,lineB,sB,eB,angB,angA,lenB,ang_br,info,pT; - numeric lineB[],sB[],eB[],angB[],angA[],lenB[],ang_br[],numS[]; + numeric lineB[],sB[],eB[],angB[],angA[],lenB[],ang_br[],numS[],wdM[],htM[]; pair posA[],posM[][],pT,posBs,posBe; string info[],cal_FM,cal_MW,cal_MW_str,cal_MI,cal_MI_str, inf_NO,inf_EN,inf_JN,inf_FM,inf_CAS,inf_USE,inf_EXA,inf_EXB,inf_MW; @@ -331,6 +331,7 @@ def ext_setup= pickup pencircle scaled ext_defaultline; dotlabeldiam:=3bp; labeloffset:=3bp; + save em; em=defaultscale*defaultsize; if (defaultfont="draw")or(f_MP=0)or(sw_label_emu=1): save label,dotlabel; @@ -346,26 +347,28 @@ enddef; %-------------------------------------------------------------------------------------------------- def EXT(text TXT)= begingroup - save w,h,wd,ht,n,p,am,em,aw; + save w,h,wd,ht,n,p,am,aw; pair p[]; ext_setup; - w:=font_wd; h:=font_ht; - wd:=w-2margin_left_right; ht:=h-2margin_top_bottom; + w:=font_wd; + h:=font_ht; + w0:=w-2margin_left_right; + h0:=h-2margin_top_bottom; p0:=(margin_left_right,margin_top_bottom); aw:=atom_wd; n:=cntM; - for i=1 upto n: p[i]:=posM[1][i]; endfor + for i=1 upto n: p[i]:=posM[1][i]; w[i]:=wdM[i]; h[i]:=htM[i]; endfor TXT addto mol_stru[0] also currentpicture; clearit; f_ext:=1; endgroup; enddef; %-------------------------------------------------------------------------------------------------- def ext(text TXT)= begingroup - save wd,ht,n,l,p,am,em,aw,A,B; + save w,h,n,l,p,am,aw,A,B; numeric A[]dir,B[]dir; pair p[],A[],B[],B[]s,B[]e; ext_setup; - wd:=mol_wd; ht:=mol_ht; l:=bond_len; aw:=atom_wd; + w:=mol_wd; h:=mol_ht; l:=bond_len; aw:=atom_wd; p0:=(minX,minY); An:=cntA; Bn:=cntB; for i=1 upto An: A[i]:=posA[i]; A[i]dir:=ang_br[i]; endfor for i=1 upto Bn: @@ -409,14 +412,20 @@ def ext_puts(expr PA)(expr STR)= enddef; %-------------------------------------------------------------------------------------------------- vardef label_emu@#(expr STR,POS) = %% modified 'thelabel@#(expr s,z)' of plain.mp - save oft,fx,fy,wds,sC; + save oft,fx,fy,wds,sC,pC; pair oft,oft.lft,oft.rt,oft.top,oft.bot,oft.ulft,oft.llft,oft.urt,oft.lrt; string sC; + picture pC; wds:=0; for i=0 upto length(STR)-1: sC:=pic_c(i,STR); if not((sw_label_emu=1)and((sC="_")or(sC="^"))): - wds:=wds+defaultscale*defaultsize*tbl_char_wd[ASCII(sC)]; + if (defaultfont="draw")or(f_MP=0): + wds:=wds+defaultscale*defaultsize*tbl_char_wd[ASCII(sC)]; + else: + pC:=sC infont defaultfont scaled defaultscale; + wds:=wds+xpart(lrcorner pC-llcorner pC); + fi fi endfor oft:= ( 0, 0); fx:=0.5; fy:=0.5; @@ -547,6 +556,8 @@ def MCd(expr RW,RH)(expr FW,FH)(text TX)= posM[0][incr cntM]:=(sftX,sftY); posM[1][cntM]:=(minX+sftX,minY+sftY); posM[2][cntM]:=(max_x+sftX,max_y+sftY); + wdM[cntM]:=mol_wd; + htM[cntM]:=mol_ht; if sw_mol_frame=1: draw_frame((minX,minY),mol_wd,mol_ht,thickness_font_frame) fi addto mol_stru[cntM] also currentpicture; clearit; -- cgit v1.2.3