diff options
author | Karl Berry <karl@freefriends.org> | 2021-12-12 22:29:25 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2021-12-12 22:29:25 +0000 |
commit | 44348e1db56f09b2409c6372d5b8f53b0b9f1962 (patch) | |
tree | 7d4fd9c9e5893db7425579f6160e1ebeeb017061 /Master | |
parent | 693851fcb2698450b53dce0962991f803c52bc61 (diff) |
mcf2graph (12dec21)
git-svn-id: svn://tug.org/texlive/trunk@61284 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rw-r--r-- | Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG | 13 | ||||
-rw-r--r-- | Master/texmf-dist/doc/metapost/mcf2graph/README | 2 | ||||
-rw-r--r-- | Master/texmf-dist/doc/metapost/mcf2graph/mcf_data_base.mcf | 24 | ||||
-rw-r--r-- | Master/texmf-dist/doc/metapost/mcf2graph/mcf_exa_soc.mf | 8 | ||||
-rw-r--r-- | Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.pdf | bin | 318151 -> 312162 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.tex | 2 | ||||
-rw-r--r-- | Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc.mf | 10 | ||||
-rw-r--r-- | Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.pdf | bin | 383617 -> 383180 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.tex | 29 | ||||
-rw-r--r-- | Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.pdf | bin | 184407 -> 183635 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.tex | 67 | ||||
-rw-r--r-- | Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf | 109 |
12 files changed, 157 insertions, 107 deletions
diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG b/Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG index 12b0f95163c..6f0b66f6866 100644 --- a/Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG +++ b/Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG @@ -1,6 +1,17 @@ ******************************************************************************* - Changelog of mcf2graph software package by Akira Yamaji 2021-11-23 + Changelog of mcf2graph software package by Akira Yamaji 2022-12-12 ******************************************************************************* +[ver. 4.75 / 2022-12-12] + -change syntax of bond type + {a<}=dl : {a}=dr + {a<}=dr : {a}=dl + -change syntax of fused ring + {(a<,b)}=?6 : (a,b)=?6[3] + {(a<,b)}=?5 : (a,b)=?5[2] + {(a<,b<)}=?6 : (a,b)=?6[2] + -update mcf_data_base.mcf + -update MCF manual,example + [ver. 4.74 / 2021-11-23] -change syntax of fused ring (a,b)=?6[4] => (a,b)=?6 diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/README b/Master/texmf-dist/doc/metapost/mcf2graph/README index 73f14b5ee41..348026d4fb8 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.74 2021-11-23 + version : 4.75 2021-12-12 E-mail : mcf2graph@gmail.com Located at : http://www.ctan.org/pkg/mcf2graph ******************************************************************************** diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_data_base.mcf b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_data_base.mcf index cdcc6425238..2fd8222db10 100644 --- a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_data_base.mcf +++ b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_data_base.mcf @@ -1,5 +1,5 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% molecular data base file mcf_data_base.mcf by Akira Yamaji 2021.11.23 +% molecular data base file mcf_data_base.mcf by Akira Yamaji 2021.12.12 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % tag1:var1;tag2:var2;tag3:var3 ..... % first character of line "%" comment out @@ -440,9 +440,9 @@ Cat:biological;EN:Febrifugine;MW:301.34;EXA:1 +------------------------------------------------------------------------------ Cat:biological;EN:Hypericin;MW:504.44;EXA:1 + -<30,Ph,{-4,(11,4),(10,12),(9,-4),(19,13),(27,14),(18,24)}=?6, - {12,20,22,29,31,33,35}=dl,{16,18,27}=dr, - {7,21}://O,{2,6,17,23,25,28}:/OH,{19,26}:/_ +<30,Ph,{-4,-3,(11,4),(16<,17),19,(23<,24),(22,29)}=?6, + {12,14,16,17,22<,24,26,28,33,35}=dl, + {7,25}://O,{13,26}:/_, {2,6,11,21,23,28}:/OH +------------------------------------------------------------------------------ Cat:biological;EN:Camphor;MW:152.23;EXA:1 + @@ -481,7 +481,7 @@ Cat:biological;EN:Reserpine;MW:608.688;EXA:1 +------------------------------------------------------------------------------ Cat:biological;EN:Rotenone;MW:394.423;EXA:1 + -<-60,?5,{-3,-2,-3,-4}=?6,{7,9,-2,-4}=dl,{3,17}=dr, +<-60,?5,{-3,-2,-3,-4}=?6,{3<,7,9,17<,-2,-4}=dl, {2,13,16}:O,10://O,{11^-60,12^60}:*/H,{-2,-3}:/O!,@1,*\,/_,!! +------------------------------------------------------------------------------ Cat:biological;EN:Pyrethrin I;MW:328.452;EXA:1 @@ -525,7 +525,7 @@ Cat:biological;EN:Atoropin;MW:289.375;EXA:1 +------------------------------------------------------------------------------ Cat:biological;EN:Colchicine;MW:399.443;EXA:1 + -<30,Ph,{1,2,6}:/O!,-4=?7,-5=?7,{-1,-4,-6}=dl,-2://O,-3:/O!,9:/NHCO! +<30,Ph,{1,2,6}:/O!,{-4,-5}=?7,{-1,-4,-6}=dl,-2://O,-3:/O!,9:/NHCO! +------------------------------------------------------------------------------ Cat:biological;EN:Lycorine;MW:287.315;EXA:1 + @@ -581,6 +581,7 @@ Cat:synthetic;EN:Hexaphenylbenzene;MW:534.6876;EXA:1 + <30,Ph,{1,2,3,4,5,6}:/Ph +------------------------------------------------------------------------------ +%============================================================================== Cat:synthetic;EN:Naphthalene;MW:128.17;EXA:- + <30,Ph,3=Ph @@ -605,10 +606,15 @@ Cat:synthetic;EN:Pyrene;MW:202.25;EXA:- + <30,Ph2,{6,4}=Ph,(16,7)=?6[3],-2=dl +------------------------------------------------------------------------------ +Cat:synthetic;EN:Coronene;MW:300.35;EXA:1 ++ +<30,Ph,{1,(11,2),(15,3),(19,4),(23,5),(27<,7)}=?6, + {9,12,14,17,20,22,25,28,30}=dl ++------------------------------------------------------------------------------ Cat:synthetic;EN:Kekulene;MW:600.7;EXA:1 + -<30,Ph,{3,-2,-3,-2,-3,-2,-3,-2,-3,-2}=?6,(-3,6)=?6[3],@-4,&6, - {8,12,14,16,18,22,24,26,28,32,34,36,38,42,44,46,48,52,54,56,58}=dl +<30,?6,{3,-3,-2,-3,-2,-3,-2,-3,-2,-3,(-2<,5<),(5<,-4<)}=?6, + {1,5<,7,9,11,13,17,19,21,23,27,29,31,33,37,39,41,43,47,49,51,53,57,60}=dl +------------------------------------------------------------------------------ %============================================================================== Cat:synthetic;EN:12-Crown-4;MW:176.21;EXA:- @@ -2039,7 +2045,7 @@ Cat:antibacterial;EN:Difloxacin;MW:399.398;EXA:1 <30,Ph,-4=?6,9=dl,7:N,6:/F,9:/COOH,10://O,@1,\,|,?6,{1,4}:N,4:/_, ||,@7,\,Ph,-3:/F +------------------------------------------------------------------------------ -Cat:antibacterial;EN:Sulfamonomethoxine;MW:280.302;EXA:1 +Cat:antibacterial;EN:Sulfamonomethoxine;MW:280.302;EXA:- + <30,Ph,1:/NH2,@4,\,SOO,!,NH,!,|,Ph,{2,4}:N,3:/O! +------------------------------------------------------------------------------ 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 ae52c16ef57..9dd7c5ee311 100644 --- a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_exa_soc.mf +++ b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_exa_soc.mf @@ -1,13 +1,15 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Molecular Coding Format for mcf_example.tex by Akira Yamaji 2021.11.23 +% Molecular Coding Format for mcf_example.tex by Akira Yamaji 2021.12.12 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -input mcf2graph.mf; %%% it must be version 4.74 -message "* mcf_exa_soc 2021.11.23"; +input mcf2graph.mf; %%% it must be version 4.75 +message "* mcf_exa_soc 2021.12.12"; message ""; %------------------------------------------------------------------------------ fsize:=(35mm,24mm); max_blength:=4mm; %%%%sw_frame:=Outside; +%%%%sw_numbering:=Bond; +%%%%sw_numbering:=Atom; tag1:="J"; tag2:="C"; tag3:="fm"; tag4:="mw"; tag5:="EN"; tag6:="MW"; %------------------------------------------------------------------------------ %% outputformat:="png"; hppp:=vppp:=0.1; outputtemplate:="%j-%3c.png"; diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.pdf b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.pdf Binary files differindex 3b8a2197f14..2d5e9c832eb 100644 --- a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.pdf +++ b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.pdf diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.tex b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.tex index 784cc689162..70da8707d50 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 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Example of MCF typeset by LaTeX mcf_examples.tex by A.Yamaji 2021.11.23 +% Example of MCF typeset by LaTeX mcf_examples.tex by A.Yamaji 2021.12.12 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \documentclass[a4paper]{article} \usepackage{graphicx} 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 a4aff9747a5..bed8e2420a8 100644 --- a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc.mf +++ b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc.mf @@ -1,9 +1,9 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Molecular Coding Format file for mcf_manual.tex by Akira.Yamaji 2021.11.23 +% Molecular Coding Format file for mcf_manual.tex by Akira.Yamaji 2021.12.12 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -input mcf2graph.mf; %% it must be version 4.74 +input mcf2graph.mf; %% it must be version 4.75 % ** use data base file 'mcf_data_base.mcf' -message "mcf_man_soc 2021.11.23"; message ""; +message "mcf_man_soc 2021.12.12"; message ""; %------------------------------------------------------------------------ sw_mframe:=0; sw_expand:=0; @@ -326,10 +326,10 @@ beginfont("EN:Steric ring") endfont %*********************************************************************** beginfont("EN:change multi bond") - fsize:=(40mm,8mm); + fsize:=(60mm,8mm); fmargin:=(2mm,3mm); ratio_chain_ring:=1; - MC(<30,!7,{2,4,6}=dr) + MC(<30,!9,{2,4,6,8<}=dl) endfont %*********************************************************************** beginfont("EN:change bond length1") diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.pdf b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.pdf Binary files differindex 84b200b252b..3bb7a0d98c4 100644 --- a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.pdf +++ b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.pdf diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.tex b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.tex index da90e22f983..22111988277 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 2021.11.23 +% Molecular Coding Format manual by Akira Yamaji 2021.12.12 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \documentclass[a4paper]{article} \usepackage[pdftex]{graphicx} @@ -294,9 +294,9 @@ wb_r : wedge backward (half width) \subsubsection{Change multiple bond type} \index{vf}% \begin{verbatim} -{2,4,6}=dr : 2=dr,4=dr,6=dr +{2,4,6,8<}=dl : 2=dl,4=dl,6=dl,8=dr -<30,!7,{2,4,6}=dr +<30,!7,{2,4,6,8<}=dl \end{verbatim} \MCFgraph %----------------------------------------------------------------------------- @@ -435,7 +435,6 @@ attached bond length (4,11)=?6 : fuse 4/6 ring to B11..B4 (4,11)=?5 : fuse 3/5 ring to B11..B4 (4,11)=?4 : fuse 2/4 ring to B11..B4 -** ?m[n] (4<=m<=6,n=m-2) 1:<30,?6,3=?6,(11,4)=?6 2:<30,?6,3=?6,(11,4)=?5 @@ -450,11 +449,13 @@ attached bond length \begin{verbatim} (Attached 3 bond) -(16,4)=?6[3] : fuse 3/6 ring to B16..B4 -(16,4)=?5[2] : fuse 2/5 ring to B16..B4 +(16,4)=?6[3] or {(16<,4)}=?6 + : fuse 3/6 ring to B16..B4 +(16,4)=?5[2] or {(16<,4)}=?5 + : fuse 2/5 ring to B16..B4 ** ?m[n] (5<=m<=6,n=m-3) -1:?6,{3,10}=?6,(16,4)=?6[3] +1:?6,{3,10,(16<,4)}=?6 2:?6,{3,10}=?6,(16,4)=?5[2] \end{verbatim} \MCFgraph @@ -466,9 +467,10 @@ attached bond length \begin{verbatim} (Attached 4 bond) -(21,4)=?6[2] : fuse 2/6 ring to B21..B4 +(21,4)=?6[2] or {(21<,4<)}=?6 + : fuse 2/6 ring to B21..B4 -MC(<-30,?6,{3,10,15}=?6,(21,4)=?6[2]) +<-30,?6,{3,10,15,(21<,4<)}=?6 ** ?m[n] (m=6,n=2) \end{verbatim} @@ -489,12 +491,9 @@ MC(<-30,?6,{3,10,15}=?6,(21,4)=?6[2]) \begin{verbatim} / : group start single bond -/_ : methyl -/! : ethyl -/!2 : propyl -/?! : isopropyl -/??! : tert-butyl -/Ph : phenyl +/_ : methyl /! : ethyl +/!2 : propyl /?! : isopropyl +/??! : tert-butyl /Ph : phenyl <30,!,/_,!2,/!,!2,/!2,!4,/?!, !4,/??!,!2,/Ph^-60,! diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.pdf b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.pdf Binary files differindex 9c6692579e9..f0bb0acc09f 100644 --- a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.pdf +++ b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.pdf 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 872571ec989..b2bdbe8ff17 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 2021.11.23 +% Example of MCF typest with LuaLaTeX(luamplib) by A.Yamaji 2021.12.12 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% ** mcf2graph.mf must be version 4.74 +% ** mcf2graph.mf must be version 4.75 % ** use mcf_data_base.mcf \documentclass{article} %------------------------------------------------------------------------------ @@ -40,9 +40,8 @@ \noindent% %------------------------------------------------------------------------------------ use molecular data base file 'mcf\_exa\_data.mcf'\\ -{{\tt FM(C) :} molecular formula calculated by mcf2graph\\ -{{\tt MW(C) :} molecular weight calculated by mcf2graph\\ -{{\tt MW(D) :} molecular weight from literature data +{{\tt FM(fm) :} molecular formula (calculated)\\ +{{\tt MW(mw) :} molecular weight (calculated)\\ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{Chlorophyll a} \noindent% @@ -52,9 +51,9 @@ beginfont("f:mcf_data_base.mcf","t:EN","v:Chlorophyll a","NO:-", fsize:=(100mm,45mm); if check(mc)=0: MC(scantokens(mc)) fi ext(defaultscale:=0.8; - label.lrt("FM(C): "&cal_FM,(0,h-5mm)); - label.lrt("MW(C): "&cal_MW,(0,h-9mm)); - label.lrt("MW(D): "&inf_MW,(0,h-13mm));) + label.lrt("fm: "&cal_FM,(0,h-5mm)); + label.lrt("mw: "&cal_MW,(0,h-9mm)); + label.lrt("MW: "&inf_MW,(0,h-13mm));) endfont \end{verbatim} %------------------------------------------------------------------------------------ @@ -64,9 +63,9 @@ beginfont("f:mcf_data_base.mcf","t:EN","v:Chlorophyll a","NO:-", fsize:=(100mm,45mm); if check(mc)=0: MC(scantokens(mc)) fi ext(defaultscale:=0.8; - label.lrt("FM(C): "&cal_FM,(0,h-5mm)); - label.lrt("MW(C): "&cal_MW,(0,h-9mm)); - label.lrt("MW(D): "&inf_MW,(0,h-13mm));) + label.lrt("fm: "&cal_FM,(0,h-5mm)); + label.lrt("mw: "&cal_MW,(0,h-9mm)); + label.lrt("MW: "&inf_MW,(0,h-13mm));) endfont \end{mplibcode} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -78,9 +77,9 @@ beginfont("t:EN","v:Okadaic acid","EN:Dinophysistoxin-1", fsize:=(150mm,35mm); if check(mc)=0: MC(scantokens(mc)) fi ext(defaultscale:=0.8; - label.lrt("FM(C): "&cal_FM,(0,h-5mm)); - label.lrt("MW(C): "&cal_MW,(0,h-9mm)); - label.lrt("MW(D): "&inf_MW,(0,h-13mm));) + label.lrt("fm: "&cal_FM,(0,h-5mm)); + label.lrt("mw: "&cal_MW,(0,h-9mm)); + label.lrt("MW: "&inf_MW,(0,h-13mm));) endfont; \end{verbatim} %---------------------------------------------------------------------------- @@ -90,9 +89,9 @@ beginfont("t:EN","v:Okadaic acid","EN:Dinophysistoxin-1", fsize:=(150mm,35mm); if check(mc)=0: MC(scantokens(mc)) fi ext(defaultscale:=0.8; - label.lrt("FM(C): "&cal_FM,(0,h-5mm)); - label.lrt("MW(C): "&cal_MW,(0,h-9mm)); - label.lrt("MW(D): "&inf_MW,(0,h-13mm));) + label.lrt("fm: "&cal_FM,(0,h-5mm)); + label.lrt("mw: "&cal_MW,(0,h-9mm)); + label.lrt("MW: "&inf_MW,(0,h-13mm));) endfont; \end{mplibcode} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -126,9 +125,9 @@ beginfont("EN:Erythromycin","MW:733.93", fsize:=(120mm,30mm); if check(mc)=0: MC(scantokens(mc)) fi ext(defaultscale:=0.8; - label.lrt("FM(C): "&cal_FM,(0,h-5mm)); - label.lrt("MW(C): "&cal_MW,(0,h-9mm)); - label.lrt("MW(D): "&inf_MW,(0,h-13mm));) + label.lrt("fm: "&cal_FM,(0,h-5mm)); + label.lrt("mw: "&cal_MW,(0,h-9mm)); + label.lrt("MW: "&inf_MW,(0,h-13mm));) endfont; \end{mplibcode} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -158,9 +157,9 @@ beginfont("EN:Paclitaxel","MW:853.918", fsize:=(120mm,30mm); if check(mc)=0: MC(scantokens(mc)) fi ext(defaultscale:=0.8; - label.lrt("FM(C): "&cal_FM,(0,h-5mm)); - label.lrt("MW(C): "&cal_MW,(0,h-9mm)); - label.lrt("MW(D): "&inf_MW,(0,h-13mm));) + label.lrt("fm: "&cal_FM,(0,h-5mm)); + label.lrt("mw: "&cal_MW,(0,h-9mm)); + label.lrt("MW: "&inf_MW,(0,h-13mm));) endfont \end{mplibcode} %---------------------------------------------------------------------------- @@ -168,10 +167,10 @@ endfont \noindent% \begin{verbatim} beginfont("EN:Kekulene","MW:600.7", - %----------------------------------------------------------------------- - ": <30,Ph,{3,-2,-3,-2,-3,-2,-3,-2,-3,-2}=?6,(-3,6)=?6[3],@-4,&6, ", - ": {8,12,14,16,18,22,24,26,28,32,34,36,38,42,44,46,48,52,54,56,58}=dl ") - %----------------------------------------------------------------------- + %------------------------------------------------------------------------------ + ": <30,?6,{3,-3,-2,-3,-2,-3,-2,-3,-2,-3,(-2<,5<),(5<,-4<)}=?6, ", + ": {1,5<,7,9,11,13,17,19,21,23,27,29,31,33,37,39,41,43,47,49,51,53,57,60}=dl ") + %------------------------------------------------------------------------------ fsize:=(120mm,25mm); if check(mc)=0: MC(scantokens(mc)) fi endfont @@ -179,14 +178,14 @@ endfont %---------------------------------------------------------------------------- \begin{mplibcode} beginfont("EN:Kekulene","MW:600.7", - ": <30,Ph,{3,-2,-3,-2,-3,-2,-3,-2,-3,-2}=?6,(-3,6)=?6[3],@-4,&6, ", - ": {8,12,14,16,18,22,24,26,28,32,34,36,38,42,44,46,48,52,54,56,58}=dl ") + ": <30,?6,{3,-3,-2,-3,-2,-3,-2,-3,-2,-3,(-2<,5<),(5<,-4<)}=?6, ", + ": {1,5<,7,9,11,13,17,19,21,23,27,29,31,33,37,39,41,43,47,49,51,53,57,60}=dl ") fsize:=(120mm,25mm); if check(mc)=0: MC(scantokens(mc)) fi ext(defaultscale:=0.8; - label.lrt("FM(C): "&cal_FM,(0,h-5mm)); - label.lrt("MW(C): "&cal_MW,(0,h-9mm)); - label.lrt("MW(D): "&inf_MW,(0,h-13mm));) + label.lrt("fm: "&cal_FM,(0,h-5mm)); + label.lrt("mw: "&cal_MW,(0,h-9mm)); + label.lrt("MW: "&inf_MW,(0,h-13mm));) endfont \end{mplibcode} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -215,7 +214,7 @@ endfont \read\auxfile to \info% \infotovar{\info} %%%% info to variables %%%% \closein\auxfile% -{\tt ** EN:\EN \quad MW(C):\MW \quad MW(D):\mw \quad FM(C):\fm}% +{\tt ** EN:\EN \quad mw:\MW \quad MW:\mw \quad fm:\fm}% %-------------------------------------------------------------------------------- \end{verbatim} %-------------------------------------------------------------------------------- @@ -238,7 +237,7 @@ endfont \infotovar{\info} %%%% info to variables %%%% \closein\auxfile% \verbatiminput{temp-mc.aux} %%%% input temp-mc.aux %%%% -{\tt ** EN:\EN \quad MW(C):\MW \quad MW(D):\mw \quad FM(C):\fm}% +{\tt ** EN:\EN \quad mw:\MW \quad MW:\mw \quad fm:\fm}% %-------------------------------------------------------------------------------- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \newpage diff --git a/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf b/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf index d4d60da3c42..f6aa34ab01b 100644 --- a/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf +++ b/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf @@ -1,5 +1,5 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% mcf2graph ver 4.74 Copyright (c) 2013-2021 Akira Yamaji +% mcf2graph ver 4.75 Copyright (c) 2013-2021 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, @@ -38,7 +38,7 @@ % Set to use plain.mp (label,arrow,atom) : mpost -s labeloffset=2 FILENAME %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% tracingstats:=1; -message "* This is mcf2graph ver 4.74 2021.11.23"; +message "* This is mcf2graph ver 4.75 2021.12.12"; %------------------------------------------------------------------------------------------------- newinternal cntA,cntB,cntM,minX,minY,maxX,maxY,sftX,sftY,com,par,envT,envB,lenT,lineT,angT,rotT, crR,nA,nB,nC,nD,nE,nF,nS,nL,nR,nU,nP,xpos,ypos,markA,markB,saveA,saveB,bondL; @@ -533,8 +533,9 @@ def read_mcf(expr n)(text TXT)= enddef; %------------------------------------------------------------------------------------------------- vardef read_number(text TXT)= - save --,-+,nA,nB,nC; + save --,-+,<,nA,nB,nC; let -- == from_until; + def < == -3000 enddef; parts_int:=parts_int+1; nA:=0; for list==TXT:: @@ -590,55 +591,88 @@ vardef change_bond(expr a,b) = parts_int:=parts_int+1; nCP:=0; if numeric b:: - if (b>=si)and(b<=bd_):: CPe(a)(_set_line,b) - elseif ((b>=?3)and(b<=?20))or(b==Ph1)or(b==Ph2):: + if (b>=si)and(b<=bd_):: + if a>=parts_int_start:: + for i==1 upto cntD[a]:: + if comD[a][i]==_numeric:: + if parD[a][i]>=-999:: com_par(_set_adr,parD[a][i]) com_par(_set_line,b) + ef b==dl:: com_par(_set_adr,parD[a][i]+3000) com_par(_set_line,dr) + ef b==dr:: com_par(_set_adr,parD[a][i]+3000) com_par(_set_line,dl) + else:: com_par(_set_adr,parD[a][i]+3000) com_par(_set_line,b) + fi + fi + endfor + else:: com_par(_set_adr,a) com_par(_set_line,b) + fi + elseif (b>=?3)and(b<=?8[15]):: if numeric a:: if a>=parts_int_start:: for i==1 upto cntD[a]:: if comD[a][i]==_numeric:: - if b==Ph1:: - fuse_ring(parD[a][i],6) + if b==Ph1:: fuse_ring(parD[a][i],6) CP(_set_adr,-2) CP(_set_line,dl) CP(_set_adr,-4) CP(_set_line,dl) - ef b==Ph2:: - fuse_ring(parD[a][i],6) + ef b==Ph2:: fuse_ring(parD[a][i],6) CP(_set_adr,-1) CP(_set_line,dl) CP(_set_adr,-3) CP(_set_line,dl) CP(_set_adr,-5) CP(_set_line,dl) - else:: - fuse_ring(parD[a][i],b-?3+3) + ef (b>=?5[11])and(b<=?5[15]):: fuse_ring_size(a,5,b-?5[11]+11) + ef (b>=?6[11])and(b<=?6[15]):: fuse_ring_size(a,6,b-?6[11]+11) + ef (b>=?7[11])and(b<=?7[15]):: fuse_ring_size(a,7,b-?7[11]+11) + ef (b>=?8[11])and(b<=?8[15]):: fuse_ring_size(a,8,b-?8[11]+11) + else:: fuse_ring(parD[a][i],b-?3+3) fi else:: - if b==?6:: fuse_ring_bonds((comD[a][i],parD[a][i]),parD[?6[4]][1],comD[?6[4]][2]) - ef b==?5:: fuse_ring_bonds((comD[a][i],parD[a][i]),parD[?5[3]][1],comD[?5[3]][2]) - ef b==?4:: fuse_ring_bonds((comD[a][i],parD[a][i]),parD[?4[2]][1],comD[?4[2]][2]) + if b==?6:: if (comD[a][i]>=-999)and(parD[a][i]>=-999):: + fuse_ring_bonds((comD[a][i],parD[a][i]),6,4) + ef comD[a][i]>=-999:: + fuse_ring_bonds((comD[a][i],parD[a][i]+3000),6,3) + ef parD[a][i]>=-999:: + fuse_ring_bonds((comD[a][i]+3000,parD[a][i]),6,3) + else:: + fuse_ring_bonds((comD[a][i]+3000,parD[a][i]+3000),6,2) + fi + ef b==?5:: if (comD[a][i]>=-999)and(parD[a][i]>=-999):: + fuse_ring_bonds((comD[a][i],parD[a][i]),5,3) + ef comD[a][i]>=-999:: + fuse_ring_bonds((comD[a][i],parD[a][i]+3000),5,2) + ef parD[a][i]>=-999:: + fuse_ring_bonds((comD[a][i]+3000,parD[a][i]),5,2) + fi + ef b==?4:: fuse_ring_bonds((comD[a][i],parD[a][i]),4,2) + ef b==?6[3]:: fuse_ring_bonds((comD[a][i],parD[a][i]),6,3) + ef b==?6[2]:: fuse_ring_bonds((comD[a][i],parD[a][i]),6,2) + ef b==?5[2]:: fuse_ring_bonds((comD[a][i],parD[a][i]),5,2) + ef b==Ph1:: fuse_ring_bonds((comD[a][i],parD[a][i]),6,4) + CP(_set_adr,-1) CP(_set_line,dl) CP(_set_adr,-3) CP(_set_line,dl) + ef b==Ph2:: fuse_ring_bonds((comD[a][i],parD[a][i]),6,4) + CP(_set_adr,-2) CP(_set_line,dl) CP(_set_adr,-4) CP(_set_line,dl) fi fi endfor else:: - if b==Ph1:: - fuse_ring(a,6) CP(_set_adr,-2) CP(_set_line,dl) CP(_set_adr,-4) CP(_set_line,dl) - ef b==Ph2:: - fuse_ring(a,6) CP(_set_adr,-1) CP(_set_line,dl) CP(_set_adr,-3) CP(_set_line,dl) - CP(_set_adr,-5) CP(_set_line,dl) - else:: - fuse_ring(a,b-?3+3) + if b==Ph1:: fuse_ring(a,6) CP(_set_adr,-2) CP(_set_line,dl) + CP(_set_adr,-4) CP(_set_line,dl) + ef b==Ph2:: fuse_ring(a,6) CP(_set_adr,-1) CP(_set_line,dl) + CP(_set_adr,-3) CP(_set_line,dl) CP(_set_adr,-5) CP(_set_line,dl) + ef (b>=?5[11])and(b<=?5[15]):: fuse_ring_size(a,5,b-?5[11]+11) + ef (b>=?6[11])and(b<=?6[15]):: fuse_ring_size(a,6,b-?6[11]+11) + ef (b>=?7[11])and(b<=?7[15]):: fuse_ring_size(a,7,b-?7[11]+11) + ef (b>=?8[11])and(b<=?8[15]):: fuse_ring_size(a,8,b-?8[11]+11) + else:: fuse_ring(a,b-?3+3) fi fi ef pair a:: - if b==?6:: fuse_ring_bonds(a,parD[?6[4]][1],comD[?6[4]][2]) - ef b==?5:: fuse_ring_bonds(a,parD[?5[3]][1],comD[?5[3]][2]) - ef b==?4:: fuse_ring_bonds(a,parD[?4[2]][1],comD[?4[2]][2]) - ef b==Ph1:: - fuse_ring_bonds(a,parD[?6[4]][1],comD[?6[4]][2]) - CP(_set_adr,-1) CP(_set_line,dl) CP(_set_adr,-3) CP(_set_line,dl) - ef b==Ph2:: - fuse_ring_bonds(a,parD[?6[4]][1],comD[?6[4]][2]) - CP(_set_adr,-2) CP(_set_line,dl) CP(_set_adr,-4) CP(_set_line,dl) + if b==?6:: fuse_ring_bonds(a,6,4) + ef b==?5:: fuse_ring_bonds(a,5,3) + ef b==?4:: fuse_ring_bonds(a,4,2) + ef b==?6[3]:: fuse_ring_bonds(a,6,3) + ef b==?6[2]:: fuse_ring_bonds(a,6,2) + ef b==?5[2]:: fuse_ring_bonds(a,5,2) + ef b==Ph1:: fuse_ring_bonds(a,6,4) + CP(_set_adr,-1) CP(_set_line,dl) CP(_set_adr,-3) CP(_set_line,dl) + ef b==Ph2:: fuse_ring_bonds(a,6,4) + CP(_set_adr,-2) CP(_set_line,dl) CP(_set_adr,-4) CP(_set_line,dl) fi fi - ef comD[b][1]==_fuse:: - if comD[b][2]<=6:: fuse_ring_bonds(a,parD[b][1],comD[b][2]) - elseif (comD[b][2]>=11)and(comD[b][2]<=15):: fuse_ring_size(a,parD[b][1],comD[b][2]) - fi fi elseif color b:: color_list[incr cntC]:=b; CPe(a)(_set_colorB,cntC) fi @@ -1974,6 +2008,9 @@ parts_atom_end:=parts_cnt; for i==3 upto 20: ?[i]:='((_com,_len_ss),(_get_len,_ring_len),<((-180 DIV i)-90) for j==2 upto i:: ,(360 DIV i) endfor,(_cyc_sB,1-i),(_com,_len_ee)); endfor Ph:=Ph1:='(?6,-2=dl,-4=dl,-6=dl); Ph2:='(?6,-1=dl,-3=dl,-5=dl); +for i=4,5,6: for j=2 upto i-2: ?[i][j]:='(); endfor endfor +for i=5,6,7,8: for j=11 upto 15: ?[i][j]:='(); endfor endfor +%------------------------------------------------------------------------------------------------- !:=!1:='((_mk_bond,_arrange_ang)); !!:='(!~db); !!!:='(!~tm); for i==2 upto 20: ![i]:='((_com,_len_ss),(_get_len,_tmp_len),! for j==2 upto i::,! endfor ,(_com,_len_ee)); @@ -2003,8 +2040,6 @@ CF3:='(/F,/F^60,60,F); CCl3:='(/Cl,/Cl^60,60,Cl); CBr3:='(/Br,/Br^60,60,Br); %------------------------------------------------------------------------------------------------- lr:='(0,0,0,60 for i==1 upto 10:: ,-60,60 endfor); rl:='(0,0,0,-60 for i==1 upto 10:: ,60,-60 endfor); -for i=4,5,6: for j=2 upto i-2: ?[i][j]:='((_fuse,i),(j,0)); endfor endfor -for i=5,6,7,8: for j=11 upto 15: ?[i][j]:='((_fuse,i),(j,0)); endfor endfor %------------------------------------------------------------------------------------------------- R:='("R"); R1:='("{R^1^}"); R2:='("{R^2^}"); R3:='("{R^3^}"); R4:='("R^4^"); R5:='("{R^5^}"); R6:='("R6"); R7:='("{R^7^}"); R8:='("{R^8^}"); R9:='("{R^9^}"); R10:='("R^10^"); R11:='("{R^11^}"); @@ -2078,8 +2113,6 @@ vardef check(expr s)= if nD= a_cmm: proc_err(7,nA) fi % & x if nB<>a_cmm: proc_err(8,nA) fi % a & ef nC=a_gtn: cnt_gtn:=cnt_gtn+1; - if nD= a_cmm: proc_err(7,nA) fi % < x - if nB<>a_cmm: proc_err(8,nA) fi % a < ef nC=a_ltn: if nD= a_cmm: proc_err(7,nA) fi % > x if nB= a_cmm: proc_err(7,nA) fi % x > ef nC=a_tld: if nD= a_cmm: proc_err(7,nA) fi % ~ x |