diff options
author | Karl Berry <karl@freefriends.org> | 2021-06-06 20:49:41 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2021-06-06 20:49:41 +0000 |
commit | 10e09e01b238ad80b81ecddc9b0f915eb23b79fc (patch) | |
tree | 987e8e205072b1b1c9cb95bbd9967a51a57cb307 | |
parent | 4e7a73c7031356564ce61384191340000a6ad7f6 (diff) |
mcf2graph (6jun21)
git-svn-id: svn://tug.org/texlive/trunk@59490 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r-- | Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG | 39 | ||||
-rw-r--r-- | Master/texmf-dist/doc/metapost/mcf2graph/README | 2 | ||||
-rw-r--r-- | Master/texmf-dist/doc/metapost/mcf2graph/mcf_data_base.mcf | 158 | ||||
-rw-r--r-- | Master/texmf-dist/doc/metapost/mcf2graph/mcf_exa_soc.mf | 10 | ||||
-rw-r--r-- | Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.pdf | bin | 320314 -> 319961 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 | 194 | ||||
-rw-r--r-- | Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.pdf | bin | 377862 -> 381183 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.tex | 170 | ||||
-rw-r--r-- | Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.pdf | bin | 184054 -> 184323 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.tex | 31 | ||||
-rw-r--r-- | Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf | 155 |
12 files changed, 470 insertions, 291 deletions
diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG b/Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG index 73646738ae5..174d21ad00f 100644 --- a/Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG +++ b/Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG @@ -1,6 +1,39 @@ ******************************************************************************* - Changelog of mcf2graph software package by Akira Yamaji 2021-05-23 + Changelog of mcf2graph software package by Akira Yamaji 2021-06-06 ******************************************************************************* +[ver. 4.66 / 2021-06-06] + -add binary operator in {...} + { a -- b , ...} : { a,a+1,...,b , ...} (a<b) + -change option parameters + sw_numberA=1 => sw_numbering=Atom + sw_numberA=2 => sw_numbering=Atom+Brock + sw_numberA=3 => sw_numbering=Atom+Inverse + sw_numberB=1 => sw_numbering=Bond + sw_numberB=2 => sw_numbering=Bond+Brock + sw_numberB=3 => sw_numbering=Bond+Inverse + sw_fframe=1 => sw_frame=Outside + sw_fframe=2 => sw_frame=Inside + sw_fframe=3 => sw_frame=Outside+Inside=Bothside + sw_aframe=1 => sw_frame=sw_frame+Atom + sw_mframe=1 => sw_frame=sw_frame+Mol + numberA_start,numberB_start => numbering_start + numberA_end,numberB_end => numbering_end + Info1 => Info + Info2 => Info+Table + Info_t => Info+Temp + Mcode_t => Mcode+Temp + Report_t => Report+Temp + None_Info_t => Font+Info+Temp + None_Mcode_t => Font+Mcode+Temp + None_Report_t => Font+Report+Temp + None_Info_Mcode_t => Font+Info+Mcode+Temp + -delete option parameters + sw_numberA,sw_numberB,numberA_start,numberA_end, + numberB_start,numberB_end, + sw_fframe,sw_aframe,sw_mframe + -update mcf_data_base.mcf + -update MCF manual,example + [ver. 4.65 / 2021-05-23] -add parameter for sw_output None_Info_t : output font,'temp-info.aux' @@ -164,7 +197,7 @@ -improve to ignore unknown command [ver. 4.43 / 2019-06-23] - -add binop for add() + -add binary operator for add() a << b : a rotated b -improve embedded font -update MCF manual @@ -174,7 +207,7 @@ plus : circled plus minus : circled minus lonepair : lonepair - -add binop for add() + -add binary operator for add() a ** b : a scaled b a /* b : point of b scaled a -add variable for add() diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/README b/Master/texmf-dist/doc/metapost/mcf2graph/README index 36b7057f9f6..8a3a382c155 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.65 2021-05-23 + version : 4.66 2021-06-06 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 0f34dabeea5..129239e46d0 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.05.23 +% molecular data base file mcf_data_base.mcf by Akira Yamaji 2021.06.06 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % tag1:var1;tag2:var2;tag3:var3 ..... % first character of line '%' comment out @@ -111,6 +111,43 @@ Cat:biological;EN:L-Hystidine;MW:155.16;EXA:- <30,NH2,!~wb,!,COOH,@2,\,!,|,?5,{1,3}=dl,3:N,5:NH +------------------------------------------------------------------------------ %============================================================================== +Cat:biological;EN:Citrate;MW:192.12;EXA:3 ++ +<30,COOH,!,!2`1.2,!,COOH,@-4`1,\,COOH,4:/OH ++------------------------------------------------------------------------------ +Cat:biological;EN:cis-Aconitate;MW:174.11;EXA:3 ++ +<30,COOH,!2,!~dr,!,COOH,@-4`1,\,COOH ++------------------------------------------------------------------------------ +Cat:biological;EN:Isocitrate;MW:192.12;EXA:3 ++ +<30,COOH,!4,COOH,@-3,\`1,COOH,4:/OH ++------------------------------------------------------------------------------ +Cat:biological;EN:Oxalosuccinate;MW:190.11;EXA:3 ++ +<30,COOH,!,!2`1.2,//O,!,COOH,@-4,\`1,COOH ++------------------------------------------------------------------------------ +Cat:biological;EN:alfa-Ketoglutarate;MW:146.1;EXA:3 ++ +<30,COOH,!3,//O,!,COOH ++------------------------------------------------------------------------------ +Cat:biological;EN:Succinate;MW:118.09;EXA:3 ++ +<30,COOH,!3,COOH ++------------------------------------------------------------------------------ +Cat:biological;EN:Fumarate;MW:116.07;EXA:3 ++ +<30,COOH,!,!~dr,!,COOH ++------------------------------------------------------------------------------ +Cat:biological;EN:L-Malate;MW:132.07;EXA:3 ++ +<30,COOH,!3,COOH,3:/OH ++------------------------------------------------------------------------------ +Cat:biological;EN:Oxaloacetate;MW:132.07;EXA:3 ++ +<30,COOH,!,//O,!2,COOH ++------------------------------------------------------------------------------ +%============================================================================== Cat:biological;EN:Geraniol;MW:154.25;EXA:1 + <30,!8,OH,{2,6}=dr,{2,6}:/_ @@ -123,14 +160,56 @@ Cat:biological;EN:l-Menthol;MW:156.27;EXA:1 + <30,?6,2:/*?!,5:*/_,3:*/OH +------------------------------------------------------------------------------ -Cat:biological;EN:Vanillin;MW:152.15;EXA:1 -+ -<30,Ph,2:/OH,3:/O!,5:/CHO -+------------------------------------------------------------------------------ Cat:biological;EN:Allicin;MW:162.28;EXA:1 + <-30,!!,!2,SO,!,S,!2,!! +------------------------------------------------------------------------------ +%============================================================================== +Cat:synthetic;EN:Benzene;MW:78.11;EXA:3 ++ +<30,Ph ++------------------------------------------------------------------------------ +Cat:synthetic;EN:Phenol;MW:94.11;EXA:3 ++ +<30,Ph,3:/OH ++------------------------------------------------------------------------------ +Cat:synthetic;EN:Aniline;MW:93.13;EXA:3 ++ +<30,Ph,3:/NH2 ++------------------------------------------------------------------------------ +Cat:synthetic;EN:Picric acid;MW:229.10;EXA:3 ++ +<30,Ph,{1,3,5}:/NO2,2:/OH ++------------------------------------------------------------------------------ +Cat:biological;EN:Benzoic acid;MW:122.12;EXA:3 ++ +<30,Ph,3:/COOH ++------------------------------------------------------------------------------ +Cat:biological;EN:Gallic acid;MW:170.12;EXA:3 ++ +<30,Ph,3:/COOH,{1,5,6}:/OH ++------------------------------------------------------------------------------ +Cat:biological;EN:Salicylic acid;MW:138.12;EXA:3 ++ +<30,Ph,3:/COOH,4:/OH ++------------------------------------------------------------------------------ +Cat:biological;EN:Cinnamic acid;MW:148.16;EXA:3 ++ +<30,Ph,@3,\,!!,!,COOH ++------------------------------------------------------------------------------ +Cat:biological;EN:Cinnamaldehyde;MW:132.16;EXA:3 ++ +<30,Ph,@3,\,!!,!,CHO ++------------------------------------------------------------------------------ +Cat:biological;EN:Caffeic acid;MW:180.16;EXA:3 ++ +<30,Ph,{1,6}:/OH,@3,\,!!,!,COOH ++------------------------------------------------------------------------------ +Cat:biological;EN:Vanillin;MW:152.15;EXA:1 ++ +<30,Ph,2:/OH,3:/O!,5:/CHO ++------------------------------------------------------------------------------ +%============================================================================== Cat:biological;EN:Stearic acid;MW:284.48;EXA:1 + <30,!17,COOH @@ -143,6 +222,7 @@ Cat:biological;EN:Sphingosine;MW:299.50;EXA:1 + <30,!18,OH,14=dr,-3:*/OH,-2:/*NH2 +------------------------------------------------------------------------------ +%============================================================================== Cat:biological;EN:Tocopherol;MW:430.717;EXA:1 + <30,Ph,3=?6,7:O,{1,2,5}:/_,8:/*_^60,6:/OH,@8,\,|,!12,{4,8}:/*_,12:/_ @@ -197,19 +277,54 @@ Cat:biological;EN:Glutathione;MW:307.33;EXA:1 + <-30,COOH,!,/*NH2,!3,//O,!,NH,!,*/!SH,!,//O,!,NH,!2,COOH +------------------------------------------------------------------------------ +%============================================================================== 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:3 ++ +<30,Ph,3=Ph1 ++------------------------------------------------------------------------------ +Cat:synthetic;EN:Anthracene;MW:178.23;EXA:3 ++ +<30,Ph,3=Ph1,6=Ph1 ++------------------------------------------------------------------------------ +Cat:synthetic;EN:Phenanthrene;MW:178.23;EXA:3 ++ +<30,Ph,4=Ph1,6=Ph1 ++------------------------------------------------------------------------------ +Cat:synthetic;EN:Naphthacene;MW:228.3;EXA:3 ++ +<30,Ph,6=Ph1,3=Ph1,-3=Ph1 ++------------------------------------------------------------------------------ +Cat:synthetic;EN:Chrysene;MW:228.3;EXA:3 ++ +<30,Ph2,6=Ph1,4=Ph1,-4=Ph1 ++------------------------------------------------------------------------------ +Cat:synthetic;EN:Pyrene;MW:202.25;EXA:3 ++ +<30,Ph2,6=Ph1,4=Ph1,(16,7)=?6[3],-2=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 +------------------------------------------------------------------------------ +%============================================================================== +Cat:synthetic;EN:12-Crown-4;MW:176.21;EXA:3 ++ +<-180,O,30,60,60,O,-30,60,60,O,-30,60,60,O,-30,60,&1 ++------------------------------------------------------------------------------ +Cat:synthetic;EN:15-Crown-5;MW:220.26;EXA:3 ++ +<-180,O,48,60,60,O,-48,60,60,O,-48,60,60,O,-48,60,60,O,-48,60,&1 ++------------------------------------------------------------------------------ Cat:synthetic;EN:18-Crown-6;MW:264.32;EXA:1 + <-180,O,60,60,60,O,-60,60,60,O,-60,60,60,O,-60,60,60,O,-60,60,60,O,-60,60,&1 +------------------------------------------------------------------------------ +%============================================================================== Cat:synthetic;EN:Porphyrin;MW:310.4;EXA:1 + <9,#1,?5,@3,\,54,?5,@-2,\,54,?5,@-2,\,54,?5,@-2,\,&5,##, @@ -229,6 +344,7 @@ Cat:synthetic;EN:Melamine;MW:126.12;EXA:1 + <30,Ph,{2,4,6}:N,{1,3,5}:/NH2 +------------------------------------------------------------------------------ +%============================================================================== Cat:synthetic;EN:Sudan red 1;MW:248.28;EXA:1 + <30,Ph,1=Ph,4:/OH,@3,\,N,!!,N,!,Ph @@ -245,6 +361,7 @@ Cat:synthetic;EN:Vat blue 1;MW:262.27;EXA:1 + <30,Ph,3=?5,@8,\\,?5,-3=dr,-3=Ph,{7,14}:NH,{9,11}://O +------------------------------------------------------------------------------ +%============================================================================== Cat:pesticide;EN:Atrazine;MW:215.7;EXA:1 + <30,Ph,{2,4,6}:N,5:/Cl,1:/NH!2,3:/NH!?! @@ -431,6 +548,7 @@ Cat:pesticide;EN:Uniconazole-P;MW:291.779;EXA:1 + <30,Ph,6:/Cl,@3,\,!~dl,!,/OH,!,??!,@8,\,|,?5,{2,4}=dl,{1,2,4}:N +------------------------------------------------------------------------------ +%============================================================================== Cat:antibacterial;EN:Oxadiargyl;MW:341.19;EXA:1 + <30,Ph,{1,3}:/Cl,6:/'(O,!2,!!!),@4,\,|,?5,2=dl,{1,2}:N,4:O,5://O,3:/??! @@ -441,7 +559,7 @@ Cat:antibacterial;EN:Oxaziclomefone;MW:376.277;EXA:1 +------------------------------------------------------------------------------ Cat:antibacterial;EN:Trimetoprim;MW:290.323;EXA:1 + -<30,Ph,{1,5}:N,{2,6}:/NH2,@3,\,!,|,Ph,{3,4,5}:/O! +<30,Ph,{1,5}:N,{2,6}:/NH2,@3,\,!,|,Ph,{3--5}:/O! +------------------------------------------------------------------------------ Cat:antibacterial;EN:Ciprofloxacin;MW:331.347;EXA:1 + @@ -466,6 +584,7 @@ Cat:antibacterial;EN:Ormetoprim;MW:274.324;EXA:1 + <30,Ph,{1,5}:N,{2,6}:/NH2,@3,\,!,|,Ph,2:/_,{4,5}:/O! +------------------------------------------------------------------------------ +%============================================================================== Cat:antibiotics;EN:Amoxicillin;MW:365.4042;EXA:1 + <45,?4,-3=?5,2:N,7:S,3^45:/*H,1://O^15,5:/*COOH^-18,6:??, @@ -668,6 +787,7 @@ Cat:antibiotics;EN:Rifampicin;MW:822.94;EXA:1 60,/*_^30,-53,66,-53~dl,66`1.2,O,##,&$8, -4:/*O!,@-6,-30,O,!,//O,!,@$11,\,!!,N,!,|,?6,1:N,4:N! +------------------------------------------------------------------------------ +%============================================================================== Cat:biological;EN:Trenbolone;MW:270.37;EXA:1 + <30,?6,{3,10}=?6,13=?5,{2,11,15}=dl,1://O,12:*/_^60,-1:/*OH,9:*/H^60,11:/*H^-60 @@ -683,10 +803,32 @@ Cat:biological;EN:Chlorophyll a;MW:893.509;EXA:1 {4,11,17,23}:N,{1~zf,9,15,21}:/_,14:/!,20:/!!,25:/*COO!,26://O, @2,*\^-6,!2,//O,!,O,!2,!!,|,!13,{1,5,9,13}:/_ +------------------------------------------------------------------------------ +%============================================================================== +Cat:biological;EN:Flavone;MW:222.24;EXA:3 ++ +<30,Ph,3=?6,9=dl,10:O,7://O,9:/Ph, ++------------------------------------------------------------------------------ +Cat:biological;EN:Isoflavone;MW:222.24;EXA:3 ++ +<30,Ph,3=?6,9=dl,10:O,7://O,8:/Ph, ++------------------------------------------------------------------------------ +Cat:biological;EN:Flavanone;MW:224.25;EXA:3 ++ +<30,Ph,3=?6,10:O,7://O,8:/OH,9:/Ph, ++------------------------------------------------------------------------------ +Cat:biological;EN:Flavonol;MW:238.24;EXA:3 ++ +<30,Ph,3=?6,9=dl,10:O,7://O,8:/OH,9:/Ph, ++------------------------------------------------------------------------------ +Cat:biological;EN:Cianidanol;MW:290.27;EXA:3 ++ +<30,Ph,3=?6,@8,*\,Ph,7:O,{1,5,13,14}:/OH,9:/*OH ++------------------------------------------------------------------------------ Cat:biological;EN:Quercetin;MW:302.24;EXA:1 + <30,Ph,3=?6,@9,\,Ph,9=dl,10:O,7://O,{2,6,8,13,14}:/OH +------------------------------------------------------------------------------ +%============================================================================== Cat:biological;EN:Limonin;MW:470.518;EXA:1 + <30,?6,{-3,-4}=?6,-5=?3,-2=wf,-1=wb,6=?5,-4=?6,-5=wf,{13,15,17,20}:O, @@ -1262,7 +1404,7 @@ Cat:pesticide;EN:Pyriminobac-Methyl;MW:361.354;EXA:- +------------------------------------------------------------------------------ Cat:pesticide;EN:Pirimiphos-methyl;MW:305.333;EXA:- + -<30,!,O,!,P,//S,/O!^160,!,O,!,|,Ph,{2,4}:N,5:/_,@-4,\,N,/!,!2 +<-30,!,O,!,P,//S,/O!^160,!,O,!,|,Ph,{2,4}:N,5:/_,@-4,\,N,/!,!2 +------------------------------------------------------------------------------ Cat:pesticide;EN:Pyrimethanil;MW:199.257;EXA:- + @@ -1541,7 +1683,7 @@ Cat:pesticide;EN:Lenacil;MW:234.3;EXA:- %****************************************************************************** Cat:pesticide;EN:Azinphos-methyl;MW:317.318;EXA:- + -<-30,!,O,!,P,//S,/O!^160,!,S,!2,|,?6,-3=?6,{2,4,8,10}=dl,{1,2,3}:N,6://O +<-30,!,O,!,P,//S,/O!^160,!,S,!2,|,?6,-3=?6,{2,4,8,10}=dl,{1--3}:N,6://O +------------------------------------------------------------------------------ Cat:pesticide;EN:Azoxystorbin;MW:403.394;EXA:- + 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 2356e3194e7..a6f4446129b 100644 --- a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_exa_soc.mf +++ b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_exa_soc.mf @@ -1,8 +1,8 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Molecular Coding Format for mcf_example.tex by Akira Yamaji 2021.05.23 +% Molecular Coding Format for mcf_example.tex by Akira Yamaji 2021.06.06 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -input mcf2graph.mf; %%% it must be version 4.65 -message "* mcf_exa_soc 2021.05.23"; +input mcf2graph.mf; %%% it must be version 4.66 +message "* mcf_exa_soc 2021.06.06"; message ""; %------------------------------------------------------------------------------ fsize:=(35mm,24mm); @@ -11,7 +11,7 @@ tag1:="J"; tag2:="C"; tag3:="fm"; tag4:="mw"; tag5:="EN"; tag6:="MW"; %------------------------------------------------------------------------------ %%%%sw_fframe:=1; %%%% outputformat:="png"; hppp:=vppp:=0.1; outputtemplate:="%j-%3c.png"; -%%ext(defaultfont:="uhvr8r"; defaultscale:=.6; label.lrt(inf_EN,(-2bp,1.5bp));) +%ext(defaultfont:="uhvr8r"; defaultscale:=.6; label.lrt(inf_EN,(-2bp,1.5bp));) %------------------------------------------------------------------------------ if f_MP=0: input mcf_exa_soc-mf.aux; % (metafont) make aux file before typeset else: % mpost -s ahlength=7 mcf_exa_soc.mf @@ -37,8 +37,8 @@ beginfont("f+:mcf_data_base","t:n","v:5") % 'f+'=keep file open endfont %****************************************************************************** forever: -%%%%%%%% beginfont("f+:mcf_data_base","v:*") % select all beginfont("f+:mcf_data_base","t:EXA","v:1") % 'f+'=keep file open +%%%%%%%%%% beginfont("f+:mcf_data_base","v:*") % select all if f_EOF=0: if check(mc)=0: MC(scantokens(mc)) fi fi % 'v:1' select EXA=1 endfont % exitif f_EOF=1; % exit if file end 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 62767a62162..2a1fe6b1ba5 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 5515b890b0e..c60790d138d 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.05.23 +% Example of MCF typeset by LaTeX mcf_examples.tex by A.Yamaji 2021.06.06 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \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 afefa48dcf0..16100feb75c 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.05.23 +% Molecular Coding Format file for mcf_manual.tex by Akira.Yamaji 2021.06.06 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -input mcf2graph.mf; %% it must be version 4.65 +input mcf2graph.mf; %% it must be version 4.66 % ** use data base file 'mcf_data_base.mcf' -message "mcf_man_soc 2021.05.23"; message ""; +message "mcf_man_soc 2021.06.06"; message ""; %------------------------------------------------------------------------ sw_mframe:=0; sw_expand:=0; @@ -135,13 +135,13 @@ blength:=0mm; max_blength:=10mm; ratio_thickness_bond:=0.015; ratio_atom_bond:=0.36; -sw_fframe:=1; +sw_frame:=Outside; fmargin:=(2mm,1mm); %*********************************************************************** beginfont("EN:Chain 1") fsize:=(60mm,17mm); - sw_numberB:=1; - numberB_end:=6; + sw_numbering:=Bond; + numbering_end:=6; ratio_chain_ring:=1; %---------------------------------------------------------------------- MC(<15,-30,45,-45,60,$300,$0, @@ -159,8 +159,8 @@ endfont %*********************************************************************** beginfont("EN:Chain 2") fsize:=(60mm,17mm); - sw_numberB:=1; - numberB_end:=6; + sw_numbering:=Bond; + numbering_end:=6; ratio_chain_ring:=1; %---------------------------------------------------------------------- MC(<-30,!6, @@ -182,7 +182,7 @@ beginfont("EN:Jump and Branch") fsize:=(60mm,16mm); fmargin:=(2mm,2mm); sw_trimming:=1; - sw_numberA:=1; + sw_numbering:=Atom; ratio_chain_ring:=1; %---------------------------------------------------------------------- MC(<-30,!6,@3,0,!,@5,-30) @@ -191,7 +191,7 @@ endfont beginfont("EN:Jump and Branch") fsize:=(60mm,16mm); fmargin:=(2mm,2mm); - sw_numberA:=1; + sw_numbering:=Atom; sw_trimming:=1; ratio_chain_ring:=1; %---------------------------------------------------------------------- @@ -201,9 +201,9 @@ endfont beginfont("EN:branch1") fsize:=(60mm,16mm); fmargin:=(2mm,2mm); - sw_numberA:=1; + sw_numbering:=Atom; sw_trimming:=1; - numberA_end:=10; + numbering_end:=10; ratio_chain_ring:=1; %---------------------------------------------------------------------- MC(<30,!10,@2,\,!,@4,*\,!,@6,\*,!,@8,\\,!,@10,*\*,!) @@ -213,8 +213,8 @@ beginfont("EN:branch2") fsize:=(60mm,20mm); fmargin:=(2mm,2mm); sw_trimming:=1; - sw_numberA:=1; - numberA_end:=7; + sw_numbering:=Atom; + numbering_end:=7; ratio_chain_ring:=1; %---------------------------------------------------------------------- MC(<30,!6,@2,\~dr,!,@4,\`1.5,-90,@6,15,-60) @@ -224,7 +224,7 @@ beginfont("EN:Connect atom") fsize:=(60mm,20mm); fmargin:=(2mm,2mm); sw_trimming:=1; - sw_numberA:=1; + sw_numbering:=Atom; ratio_chain_ring:=1; %---------------------------------------------------------------------- MC(<-30,!6,@3,\,!3,&6~bd,@9,&4~bz) @@ -234,7 +234,7 @@ beginfont("EN:ring") fsize:=(60mm,20mm); sw_trimming:=1; fmargin:=(2mm,3mm); - sw_numberB:=1; + sw_numbering:=Bond; %---------------------------------------------------------------------- MC(?6) endfont @@ -243,12 +243,12 @@ beginfont("EN:rotate 1") fsize:=(60mm,20mm); fmargin:=(2mm,3mm); sw_trimming:=1; - sw_numberB:=1; + sw_numbering:=Bond; ratio_chain_ring:=1; - numberB_end:=7; + numbering_end:=7; defaultscale:=0.5; labeloffset:=2bp; - MC(#1,0,0,<90,0,<-90,0,<$315,0,<$90,0,<$0,0,{1,2,3,4,5,6,7}=vf, + MC(#1,0,0,<90,0,<-90,0,<$315,0,<$90,0,<$0,0,{1--7}=vf, {3,4^180}:/_~dt) add( drawarrow B8/*.7{B8left}..{B3left}B3/*.7; label.urt("90",B8/*.7); @@ -335,13 +335,13 @@ endfont %*********************************************************************** beginfont("EN:change bond length1") fsize:=(75mm,10mm); - sw_numberB:=1; + sw_numbering:=Bond; MC(<-30,!2,!4`1.2,!2) endfont %*********************************************************************** beginfont("EN:change bond length2") fsize:=(75mm,10mm); - sw_numberB:=1; + sw_numbering:=Bond; MC(<-30,!2,#1.2,!4,##,!2) endfont %*********************************************************************** @@ -349,7 +349,7 @@ beginfont("EN:change ring length") fsize:=(60mm,20mm); fmargin:=(2mm,2mm); sw_trimming:=1; - sw_numberB:=1; + sw_numbering:=Bond; MC(?6,@4,\,?6`1.2) endfont %*********************************************************************** @@ -361,16 +361,17 @@ endfont %*********************************************************************** beginfont("EN:change atom") fsize:=(70mm,10mm); - MCat(0,0.5)(<30,!4,2:O,{3,4}:N) - sw_numberA:=1; - MCat(1,0.5)(<30,!4,2:O,{3,4}:N) + msize:=(0.48,1); + MCat(0,0.5)(<30,!5,2:O,{3--5}:N) + sw_numbering:=Atom; + MCat(1,0.5)(<30,!5,2:O,{3--5}:N) endfont %*********************************************************************** beginfont("EN:change atom brock address 1") fsize:=(70mm,15mm); fmargin:=(3mm,1.5mm); MCat(0,.5)(?6,@4,\,|,?6,2:O) - sw_numberA:=1; + sw_numbering:=Atom; msize:=(1,.88); MCat(1,.5)(?6,@4,\,?6) endfont @@ -379,7 +380,7 @@ beginfont("EN:change atom brock address 2") fsize:=(70mm,15mm); fmargin:=(3mm,1.5mm); MCat(0,.5)(?6,@4,\,|,?6,||,2:N) - sw_numberA:=1; + sw_numbering:=Atom; msize:=(1,.88); MCat(1,.5)(?6,@4,\,?6) endfont @@ -388,7 +389,7 @@ beginfont("EN:change atom absolute address") fsize:=(70mm,15mm); fmargin:=(3mm,1.5mm); MCat(0,.5)(?6,@4,\,?6,$2:N) - sw_numberA:=1; + sw_numbering:=Atom; msize:=(1,.88); MCat(1,.5)(?6,@4,\,?6) endfont @@ -397,7 +398,7 @@ beginfont("EN:change atom relative adress") fsize:=(70mm,15mm); fmargin:=(3mm,1.5mm); MCat(0,.5)(?6,@4,\,?6,-2:N) - sw_numberA:=3; + sw_numbering:=Atom+Inverse; msize:=(1,.88); MCat(1,.5)(?6,@4,\,?6) endfont @@ -412,32 +413,32 @@ beginfont("EN:fused ring") fsize:=(60mm,18mm); fmargin:=(2mm,1.5mm); sw_trimming:=1; - sw_numberB:=1; - MC(<30,?6,3=?6,3=dt,{7,8,9,10,11}=bd) + sw_numbering:=Bond; + MC(<30,?6,3=?6,3=dt,{7--11}=bd) endfont %----------------------------------------------------------------------- beginfont("EN:change ring length") fsize:=(60mm,25mm); fmargin:=(2mm,2mm); sw_trimming:=1; - sw_numberB:=1; + sw_numbering:=Bond; MC(?6,@4,\,?6`1.2,5=?6,11=?6, - {14,15,16,17,18,19,20,21,22,23}=bd,{5,11}=dt) + {14--23}=bd,{5,11}=dt) endfont %----------------------------------------------------------------------- beginfont("EN:fused large 6 ring") fsize:=(60mm,18mm); fmargin:=(2mm,1.5mm); margin_top_bottom:=1.5mm; - sw_numberB:=1; + sw_numbering:=Bond; sw_trimming:=1; - MC(<30,?6,3=?6[13],3=dt,{7,8,9,10,11}=bd) + MC(<30,?6,3=?6[13],3=dt,{7--11}=bd) endfont %----------------------------------------------------------------------- beginfont("EN:fuse multi ring") fsize:=(70mm,20mm); fmargin:=(2mm,2mm); - sw_numberB:=1; + sw_numbering:=Bond; sw_trimming:=1; MC(<30,?6,{-3,-4,-4,-2,-2,-4,-4}=?6,{4,8,13,20,25,28,33}=dt) endfont @@ -445,12 +446,12 @@ endfont beginfont("EN:fused ring 2") fsize:=(75mm,20mm); fmargin:=(2mm,2mm); - sw_numberB:=1; + sw_numbering:=Bond; msize:=(1,.9); - MCat( 0,.5)(<30,?6,3=?6,(11,4)=?6[4],{11,4}=dt,{12,13,14,15}=bd) + MCat( 0,.5)(<30,?6,3=?6,(11,4)=?6[4],{11,4}=dt,{12--15}=bd) add(defaultscale:=0.4; label("(1)",p0);) msize:=(1,.9); - MCat(.5,.5)(<30,?6,3=?6,(11,4)=?5[3],{11,4}=dt,{12,13,14}=bd) + MCat(.5,.5)(<30,?6,3=?6,(11,4)=?5[3],{11,4}=dt,{12--14}=bd) add(defaultscale:=0.4; label("(2)",p0);) msize:=(1,.9); MCat( 1,.5)(<30,?6,3=?6,(11,4)=?4[2],{11,4}=dt,{12,13}=bd) @@ -460,8 +461,8 @@ endfont beginfont("EN:fused ring 3") fsize:=(60mm,20mm); fmargin:=(2mm,2mm); - sw_numberB:=1; - MCat(0,1)(?6,{3,10}=?6,(16,4)=?6[3],{16,4}=dt,{17,18,19}=bd) + sw_numbering:=Bond; + MCat(0,1)(?6,{3,10}=?6,(16,4)=?6[3],{16,4}=dt,{17--19}=bd) add(defaultscale:=0.4; label("(1)",p0);) MCat(1,0)(?6,{3,10}=?6,(16,4)=?5[2],{16,4}=dt,{17,18}=bd) add(defaultscale:=0.4; label("(2)",p0);) @@ -471,7 +472,7 @@ beginfont("EN:fused ring 4") fsize:=(60mm,22mm); fmargin:=(2mm,2mm); sw_trimming:=1; - sw_numberB:=1; + sw_numbering:=Bond; MC(<-30,?6,{3,10,15}=?6,(21,4)=?6[2],{21,4}=dt,{22,23}=bd) endfont %*********************************************************************** @@ -479,8 +480,8 @@ beginfont("EN:Spiro ring ") sw_trimming:=1; fsize:=(60mm,18mm); fmargin:=(2mm,3mm); - sw_numberA:=1; - numberA_end:=7; + sw_numbering:=Atom; + numbering_end:=7; ratio_chain_ring:=1; MC(<30,!6,@4,?5) endfont @@ -513,9 +514,9 @@ endfont beginfont("EN:group 3") fsize:=(80mm,18mm); fmargin:=(2mm,2mm); - sw_numberA:=1; + sw_numbering:=Atom; sw_trimming:=1; - numberA_end:=17; + numbering_end:=17; MC(<30,!16,2:/_,4:/!,6:/!2,10:/iPr,14:/tBu,16:/Ph^-60) endfont %*********************************************************************** @@ -523,14 +524,14 @@ beginfont("EN:group 4") fsize:=(60mm,18mm); sw_trimming:=1; fmargin:=(2mm,2mm); - sw_numberA:=1; numberA_end:=9; + sw_numbering:=Atom; numbering_end:=9; MC(<30,!8`1,{2~wf,4~zf,6^-30,8^$120}:/_) endfont %*********************************************************************** beginfont("EN:group 5") fsize:=(60mm,18mm); sw_trimming:=1; - sw_numberA:=1; numberA_end:=8; + sw_numbering:=Atom; numbering_end:=8; MC(<-30,!7`1,3:/_`2^30,5:/!2>lr,7:/!2>rl) endfont %*********************************************************************** @@ -607,6 +608,13 @@ beginfont("EN:Move position") ) endfont %*********************************************************************** +beginfont("EN:Serial number") + fsize:=(75mm,14mm); + max_blength:=8mm; + sw_numbering:=Atom; numbering_end:=15; + MC(<30,!14,{2,6--10,14}:/_~bd`0.5) +endfont +%*********************************************************************** beginfont("EN:Change color") fsize:=(50mm,20mm); max_blength:=8mm; @@ -635,7 +643,7 @@ beginfont("EN:mangle") endfont %*********************************************************************** beginfont("EN:blength=0") - sw_fframe:=3; + sw_frame:=Bothside; fsize:=(40mm,15mm); MC(<30,Ph) ext(pickup pencircle scaled 0.2pt; @@ -647,7 +655,7 @@ beginfont("EN:blength=0") endfont %----------------------------------------------------------------------- beginfont("EN:0<blength=<1") - sw_fframe:=3; + sw_frame:=Bothside; fsize:=(40mm,15mm); blength:=0.1; MC(<30,Ph) @@ -660,7 +668,7 @@ beginfont("EN:0<blength=<1") endfont %----------------------------------------------------------------------- beginfont("EN:blength>1") - sw_fframe:=3; + sw_frame:=Bothside; fsize:=(40mm,15mm); blength:=8mm; MC(<30,Ph) @@ -673,8 +681,7 @@ beginfont("EN:blength>1") endfont %*********************************************************************** beginfont("EN:msize=(1)") - sw_fframe:=3; - sw_mframe:=1; + sw_frame:=Bothside+Mol; fsize:=(40mm,15mm); msize:=(1,1); MC(<30,Ph) @@ -687,8 +694,7 @@ beginfont("EN:msize=(1)") endfont %------------------------------------------------------ beginfont("EN:msize=(0.25,1)") - sw_fframe:=3; - sw_mframe:=1; + sw_frame:=Bothside+Mol; fsize:=(40mm,15mm); msize:=(0.25,1); MC(<30,Ph) @@ -701,8 +707,7 @@ beginfont("EN:msize=(0.25,1)") endfont %------------------------------------------------------ beginfont("EN:msize=(11mm,11mm)") - sw_fframe:=3; - sw_mframe:=1; + sw_frame:=Bothside+Mol; fsize:=(40mm,15mm); msize:=(11mm,11mm); MC(<30,Ph) @@ -715,8 +720,7 @@ beginfont("EN:msize=(11mm,11mm)") endfont %*********************************************************************** beginfont("EN:mposition") - sw_fframe:=3; - sw_mframe:=1; + sw_frame:=Bothside+Mol; fsize:=(40mm,15mm); msize:=(1,0.8); mposition:=(0.5,0.5); @@ -724,8 +728,7 @@ beginfont("EN:mposition") endfont %----------------------------------------------------- beginfont("EN:mposition") - sw_fframe:=3; - sw_mframe:=1; + sw_frame:=Bothside+Mol; fsize:=(40mm,15mm); msize:=(1,0.8); mposition:=(1,0); @@ -733,7 +736,7 @@ beginfont("EN:mposition") endfont %----------------------------------------------------- beginfont("EN:mposition") - sw_mframe:=1; + sw_frame:=sw_frame+Mol; fsize:=(40mm,15mm); msize:=(1,0.8); mposition:=(10mm,4mm); @@ -749,7 +752,7 @@ endfont %*********************************************************************** beginfont("EN:Font size") fsize:=(40mm,12mm); - sw_fframe:=1; + sw_frame:=Outside; MC(<30,Ph) ext(pickup pencircle scaled 0.2pt; for i=0 upto w/mm: draw (i*mm,0)--(i*mm,-.5mm); endfor @@ -761,8 +764,7 @@ endfont %*********************************************************************** beginfont("EN:fmargin") fsize:=(40mm,12mm); - sw_fframe:=3; - sw_mframe:=1; + sw_frame:=Bothside+Mol; fmargin:=(10mm,1mm); MC(<30,Ph) ext(pickup pencircle scaled 0.2pt; @@ -833,7 +835,7 @@ endfont %*********************************************************************** beginfont("EN:max_blength") fsize:=(60mm,25mm); - sw_mframe:=1; + sw_frame:=sw_frame+Mol; max_blength:=6mm; MCat(0, .5)(<30,Ph) max_blength:=8mm; @@ -924,7 +926,7 @@ endfont %*********************************************************************** beginfont("EN:ratio_atomgap_atom") fsize:=(70mm,12mm); - sw_aframe:=1; + sw_frame:=sw_frame+Atom; ratio_atomgap_atom:=0.00; MCat(0, .5)(<30,!2`0.5,2:O) ratio_atomgap_atom:=0.050; %<<== default @@ -968,36 +970,34 @@ beginfont("EN:ratio_hashgap_bond") ) endfont %*********************************************************************** -beginfont("EN:Switwch numberingA") +beginfont("EN:Switwch numbering atom") fsize:=(60mm,20mm); ratio_chain_ring:=1; - numberA_start:=3; numberA_end:=8; - sw_numberA:=1; MCat(.5,.9)(<-30,!9) - sw_numberA:=2; MCat(.5,.5)(<-30,!9) - sw_numberA:=3; MCat(.5,.1)(<-30,!9) + numbering_start:=3; numbering_end:=8; + sw_numbering:=Atom; MCat(.5,.9)(<-30,!9) + sw_numbering:=Atom+Brock; MCat(.5,.5)(<-30,!9) + sw_numbering:=Atom+Inverse; MCat(.5,.1)(<-30,!9) endfont %*********************************************************************** -beginfont("EN:Switwch numberingB") +beginfont("EN:Switwch numbering bond") fsize:=(60mm,20mm); ratio_chain_ring:=1; - numberB_start:=3; numberB_end:=8; - sw_numberB:=1; MCat(.5,.9)(<-30,!9) - sw_numberB:=2; MCat(.5,.5)(<-30,!9) - sw_numberB:=3; MCat(.5,.1)(<-30,!9) + numbering_start:=3; numbering_end:=8; + sw_numbering:=Bond; MCat(.5,.9)(<-30,!9) + sw_numbering:=Bond+Brock; MCat(.5,.5)(<-30,!9) + sw_numbering:=Bond+Inverse; MCat(.5,.1)(<-30,!9) endfont %*********************************************************************** beginfont("EN:Switwch trimming") fsize:=(60mm,20mm); - sw_fframe:=3; - sw_mframe:=1; + sw_frame:=Bothside+Mol; msize:=(1,.7); MCat(.2,.3)(Ph) MCat(.8,.7)(Ph) endfont %----------------------------------------------------------------------- beginfont("EN:Switwch trimming") fsize:=(60mm,20mm); - sw_fframe:=3; - sw_mframe:=1; + sw_frame:=Bothside+Mol; sw_trimming:=1; msize:=(1,.7); MCat(.2,.3)(Ph) @@ -1011,50 +1011,50 @@ beginfont("EN:Switwch Expand") MCat(1, .5)(<30,Ph,4:/COOH,3:/NH2) endfont %*********************************************************************** -beginfont("EN:Switwch group off") +beginfont("EN:Switwch abbreviate group") fsize:=(60mm,12mm); MCat(.15, .5)(<30,Ph,4:/Cl,3:/F) - sw_group_off:=1; + sw_abbreviate:=Group; MCat(.85, .5)(<30,Ph,4:/Cl,3:/F) endfont %*********************************************************************** -beginfont("EN:Switwch bondtype off") +beginfont("EN:Switwch abbreviate bondtype") fsize:=(60mm,12mm); MCat(.15, .5)(<30,Ph,4:/Cl,3:/F) - sw_single:=1; + sw_abbreviate:=Bond; MCat(.85, .5)(<30,Ph,4:/Cl,3:/F) endfont %*********************************************************************** beginfont("EN:Switwch font frame 1") fsize:=(30mm,10mm); fmargin:=(5mm,1.5mm); - sw_fframe:=1; + sw_frame:=Outside; MC(<30,Ph) endfont beginfont("EN:Switwch font frame 2") fsize:=(30mm,10mm); fmargin:=(5mm,1.5mm); - sw_fframe:=2; + sw_frame:=Inside; MC(<30,Ph) endfont beginfont("EN:Switwch font frame 3") fsize:=(30mm,10mm); fmargin:=(5mm,1.5mm); - sw_fframe:=3; + sw_frame:=Bothside; MC(<30,Ph) endfont %*********************************************************************** beginfont("EN:Switwch molecular frame") - sw_fframe:=1; + sw_frame:=Outside; fsize:=(40mm,11mm); msize:=(1,1); - sw_mframe:=1; + sw_frame:=sw_frame+Mol; MC(<30,Ph) endfont %*********************************************************************** beginfont("EN:Switwch atom frame") fsize:=(60mm,10mm); - sw_aframe:=1; + sw_frame:=sw_frame+Atom; MC(<30,COOH,!,COOH) endfont %*********************************************************************** @@ -1091,8 +1091,7 @@ ratio_thickness_bond:=save_ratio; beginfont("EN:MC() ") fmargin:=(0.5mm,0.5mm); fsize:=(40mm,15mm); - sw_fframe:=1; - sw_mframe:=1; + sw_frame:=Outside+Mol; MC(<30,Ph,4:/Cl,3:/F) endfont %----------------------------------------------------------------------- @@ -1101,7 +1100,7 @@ beginfont("EN:MCat()") fsize:=(60mm,40mm); fmargin:=(3mm,3mm); blength:=0.07; - sw_fframe:=1; + sw_frame:=Outside; mangle:=0; for i=1 step -0.5 until 0: for j=0 step 0.33 until 1: @@ -1129,7 +1128,7 @@ endfont %*********************************************************************** beginfont("EN:add() 1") fsize:=(70mm,40mm); - sw_aframe:=sw_mframe:=1; + sw_frame:=sw_frame+Atom+Mol; max_blength:=10mm; msize:=(.91,.9); MCat(.5,.85)(<30,?6,{2,5}:O) @@ -1309,7 +1308,6 @@ beginfont("EN:Quinine","MW:324.42", if check(mc)=0: MC(scantokens(mc)) fi endfont %*************************************************************************** -sw_calc:=1; ext(defaultfont:="uhvr8r"; defaultscale:=.75; label.urt("NO = "&decimal(char_num),(0.01w,0.55h)); label.urt("EN = "&inf_EN ,(0.01w,0.52h)); @@ -1327,8 +1325,6 @@ ext(defaultfont:="uhvr8r"; defaultscale:=.75; (0.01w,0.25h)); label.urt("ratio_chain_ring = "&decimal(ratio_chain_ring), (0.01w,0.22h)); - label.urt("sw_fframe = "&decimal(sw_fframe),(0.01w,0.19h)); - label.urt("sw_aframe = "&decimal(sw_aframe),(0.01w,0.16h)); label.urt("sw_trimming = "&decimal(sw_trimming),(0.01w,0.13h)); label.urt("mc1= "&mc1,(0.01w,0.09h)); label.urt("mc2= "&mc2,(0.01w,0.06h)); @@ -1340,7 +1336,6 @@ beginfont("EN:Ampicillin","MW:349.405", ": 3^45:/*H,1://O^15,5:/*COOH^-18,6:??,", ": @4,*\^15,NH,!,//O,!,/*NH2,!,Ph" ) - sw_output:=None; fsize:=(72mm,85mm); blength:=6mm; if check(mc)=0: MCat(0.5,0.95)(scantokens(mc)) fi @@ -1350,7 +1345,6 @@ beginfont("EN:Cholesterol","MW:386.65", ": <30,?6,{-4,-2}=?6,-4=?5,7=dl, ", ": 10:/*H^180,11:/*H^-60,17:/*H^-54, ", ": 1:*/OH,{4,12}:*/_^60,@-1,18,/*_,-60,!3,?!") - sw_output:=None; fsize:=(72mm,85mm); blength:=5.5mm; if check(mc)=0: MCat(0.5,0.95)(scantokens(mc)) fi 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 abe6a2b494b..77141eb4dcf 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 c1c525a118f..005dbfe129e 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.05.23 +% Molecular Coding Format manual by Akira Yamaji 2021.06.06 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \documentclass[a4paper]{article} \usepackage[pdftex]{graphicx} @@ -12,7 +12,7 @@ %---------------------------------------------------------------------------- %%%%\pdfpkresolution=1200 %---------------------------------------------------------------------------- -%%%%\edef\fext{pk}% **** for proof print (fast) +%%%%\edef\fext{pk}% **** for proof print (fast, not complete output) \edef\fext{mps}% **** for final print (it takes long time) %---------------------------------------------------------------------------- %%%%\edef\fext{png}% @@ -609,11 +609,8 @@ MC(<-30,?6,{3,10,15}=?6,(21,4)=?6[2]) \index{SO}% \index{SOO}% \begin{verbatim} -NH : N,/H~nl -N! : N,/_ -N!2 : N,/! -SO : S,//O -SOO : S,//O^35,//^-35 +NH : N,/H~nl N! : N,/_ N!2 : N,/! +SO : S,//O SOO : S,//O^35,//^-35 <-30,!2,NH,!2,N!,!2,N!2,SO,!2,SOO,! \end{verbatim} @@ -623,14 +620,11 @@ SOO : S,//O^35,//^-35 \index{??"!}% \index{N?"!}% \begin{verbatim} -?! : /_,! -?? : /_^35,/_-35 -/?! : isopropyl -/??! : tert-butyl +?! : /_,! ?? : /_^35,/_-35 +/?! : isopropyl /??! : tert-butyl /N?! : dimethylamino -<30,!9`1,?!,!,??,!, -2:??,4:/??,6:/??!,8:/N?! +<30,!9`1,?!,!,??,!,2:??,4:/??,6:/??!,8:/N?! \end{verbatim} \MCFgraph %----------------------------------------------------------------------------- @@ -645,8 +639,6 @@ MC(<30,?6,{4,6}:/iBuOH) %----------------------------------------------------------------------------- \subsubsection{Parts inline definition} \begin{verbatim} -<30,!, /'(!,/_,!,OH),! - <30,!8,{2,6}:/'(!,/_,!,OH) \end{verbatim} \MCFgraph @@ -661,6 +653,15 @@ MC(<30,?6,{4,6}:/iBuOH) \end{verbatim} \MCFgraph %----------------------------------------------------------------------------- +\subsubsection{Serial number} +\index{--}% +\begin{verbatim} +6--10 : 6,7,8,9,10 +<30,!14,{2,6--10,14}:/_~bd`0.5 +\end{verbatim} +\MCFgraph +\newpage +%----------------------------------------------------------------------------- \subsubsection{Change color} \index{red}% \index{blue}% @@ -884,35 +885,40 @@ default: ratio_hashgap_bond=0.12 \subsection{Drawing mode} %----------------------------------------------------------------------------- \subsubsection{Numbering atom} -\index{numberA}% -\index{numberA\_start}% -\index{numberA\_end}% +\index{sw\_numbering}% +\index{Atom}% +\index{Brock}% +\index{Inverse}% +\index{numbering\_start}% +\index{numbering\_end}% \begin{verbatim} -numberA_start:=3; numberA_end:=8; -default: sw_numberA=0 : - numberA_start=1 numberA_end=4095 +sw_numbering=Atom +numbering_start:=3; numbering_end:=8; +default: sw_numbering=0 : \end{verbatim} \MCFgraph \begin{picture}(5,20) -\put(0,14){\makebox[5mm]{\tt 1}} -\put(0, 8){\makebox[5mm]{\tt 2}} -\put(0, 2){\makebox[5mm]{\tt 3}} +\put(0,14){\makebox[9mm]{\tt Atom}} +\put(0, 8){\makebox[12mm]{\tt +Brock}} +\put(0, 2){\makebox[16mm]{\tt +Inverse}} \end{picture} %----------------------------------------------------------------------------- \subsubsection{Numbering bond} -\index{numberB}% -\index{numberB\_start}% -\index{numberB\_end}% +\index{numbering\_start}% +\index{numbering\_end}% +\index{Bond}% +\index{Brock}% +\index{Inverse}% \begin{verbatim} -numberB_start:=3; numberB_end:=8; -default: sw_numberB=0 : - numberB_start=1 numberB_end=4095 +sw_numbering=Bond +numbering_start:=3; numbering_end:=8; +default: sw_numbering=0 : \end{verbatim} \MCFgraph \begin{picture}(5,20) -\put(0,14){\makebox[5mm]{\tt 1}} -\put(0, 8){\makebox[5mm]{\tt 2}} -\put(0, 2){\makebox[5mm]{\tt 3}} +\put(0,14){\makebox[9mm]{\tt Bond}} +\put(0, 8){\makebox[12mm]{\tt +Brock}} +\put(0, 2){\makebox[16mm]{\tt +Inverse}} \end{picture} %----------------------------------------------------------------------------- \subsubsection{Trimming mode} @@ -941,55 +947,60 @@ MCat(1, .5)(<30,Ph,4:/COOH,3:/NH2) \end{verbatim} \MCFgraph %----------------------------------------------------------------------------- -\subsubsection{Group off mode} -\index{sw\_group\_off}% +\subsubsection{Abbreviate group} +\index{Group}% +\index{sw\_abbreviate}% \begin{verbatim} -** default: sw_group_off=0 +** default: sw_abbreviate=Group \end{verbatim} \MCFgraph %----------------------------------------------------------------------------- -\subsubsection{Single bond mode} -\index{sw\_single}% +\subsubsection{Abbreviate bond type} +\index{Bond}% +\index{sw\_abbreviate}% \begin{verbatim} -** default: sw_single=0 +** default: sw_abbreviate=Bond \end{verbatim} \MCFgraph %----------------------------------------------------------------------------- \subsection{Frame} %----------------------------------------------------------------------------- \subsubsection{Font frame} -\index{sw\_fframe}% +\index{sw\_frame}% +\index{Bothside}% +\index{Inside}% +\index{Outside}% \begin{verbatim} -** default:sw_fframe=0 +** default:sw_frame=0 (Draw font frame) fmargin:=(5mm,2mm); -sw_fframe=1 +sw_frame=Outside \end{verbatim} \MCFgraph \begin{verbatim} (Frame inside margin) -sw_fframe=2 +sw_frame=Inside \end{verbatim} \MCFgraph \begin{verbatim} (Draw both frame) -sw_fframe=3 +sw_frame=Bothside=Inside+Outside \end{verbatim} \MCFgraph %----------------------------------------------------------------------------- \subsubsection{Molecular frame} -\index{sw\_mframe}% +\index{Mol}% \begin{verbatim} -sw_mframe=1 -** default:sw_mframe=0 +sw_frame=Mol +** default:sw_frame=0 \end{verbatim} \MCFgraph %----------------------------------------------------------------------------- \subsubsection{Atom frame} -\index{sw\_aframe}% +\index{Atom}% \begin{verbatim} -sw_aframe=1 -** default: sw_aframe=0 +sw_frame=Atom +** default: sw_frame=0 MC(<30,COOH,!,COOH) \end{verbatim} @@ -1067,7 +1078,7 @@ d: y axis position defaultsize:=5bp; fsize:=(60mm,40mm); fmargin:=(3mm,3mm); -blength:=0.07; sw_fframe:=1; +blength:=0.07; sw_frame:=Outside; mangle:=0; for i=1 step -0.5 until 0: for j=0 step 0.33 until 1: @@ -1189,7 +1200,7 @@ a /* b : point b of a beginfont("EN:add() 1") fsize:=(70mm,40mm); - sw_aframe:=sw_mframe:=1; + sw_frame:=Bothside; max_blength:=10mm; msize:=(.91,.9); MCat(.5,.85)(<30,?6,{2,5}:O) @@ -1476,7 +1487,7 @@ endfont %------------------------------------------------------------------------- input mcf2graph.mf; > input main macro %------------------------------------------------------------------------- -sw_output:=Info1; % aux(information) file output on > global setting +sw_output:=Info; % aux(information) file output on > global setting %%%% sw_output:=Report; > report output %%%% sw_output:=MOL2k; > MOL file output fsize:=(60mm,40mm); % (font width,font height) > @@ -1607,20 +1618,20 @@ Cat:biological;EN:Linoleic acid;MW:280.45 \index{mi}% \index{w}% \index{h}% -\index{Info1}% -\index{Info2}% -\index{Info\_t}% +\index{Info}% +\index{Table}% +\index{Temp}% \begin{verbatim} - sw_output:=Info1; %% tag1:var1;tag2:var2 - sw_output:=Info2; %% tag1;tag2 var1;var2 - sw_output:=Info_t; %% tag1:var1;tag2:var2 / output 'temp-info.aux' - sw_output:=Info_Mcode_t; %% output 'temp-info.aux','temp-mc.aux' - sw_output:=None_Info_t; %% output font,'temp-mc.aux' + sw_output:=Info; %% tag1:var1;tag2:var2 + sw_output:=Info+Table; %% tag1;tag2 var1;var2 + sw_output:=Info+Temp; %% tag1:var1;tag2:var2 / output 'temp-info.aux' + sw_output:=Info+Mcode+Temp; %% output 'temp-info.aux','temp-mc.aux' + sw_output:=Font+Info+Temp; %% output font,'temp-info.aux','temp-mc.aux' \end{verbatim} \paragraph{(Command line)} \begin{verbatim} - >mpost -s ahlength=1 FILENAME (sw_output=Info1) - >mpost -s ahlength=2 FILENAME (sw_output=Info2) + >mpost -s ahlength=1 FILENAME (sw_output=Info) + >mpost -s ahlength=2 FILENAME (sw_output=Info+Table) \end{verbatim} \paragraph{(Sourse)} \begin{verbatim} @@ -1636,13 +1647,13 @@ tag1:="J"; tag2:="C"; tag3:="mw"; tag4:="fm"; tag5:="EN"; \paragraph{(Output)} \index{aux\_delimiter}% \begin{verbatim} -(sw_output=Info1) +(sw_output=Info) F:mcf_man_soc;C:1;mw:349.40462;fm:C16H19N3O4S;EN:Ampicillin F:mcf_man_soc;C:2;mw:386.6532;fm:C27H46O;EN:Cholesterol F:mcf_exa_soc;C:3;mw:470.5113;fm:C26H30O8;EN:Limonin F:mcf_exa_soc;C:4;mw:536.8722;fm:C40H56;EN:beta-Carotene -(sw_output=Info2) +(sw_output=Info+Table) F;C;mw;fm mcf_man_soc;1;349.40462;C16H19N3O4S;Ampicillin mcf_man_soc;2;386.6532;C27H46O;Cholesterol @@ -1742,26 +1753,22 @@ endfont \subsection{MCF aux file output} \paragraph{(Insert option parameter setting)} \index{Mcode}% +\index{Temp}% \begin{verbatim} sw_output:=Mcode; -sw_output:=Mcode_t; %% output 'temp-mc.aux' -sw_output:=Info_Mcode_t; %% output 'temp-info.aux','temp-mc.aux' -sw_output:=None_Mcode_t; %% output font,'temp-mc.aux' -sw_output:=None_Info_Mcode_t; %% output font,'temp-info.aux','temp-mc.aux' +sw_output:=Mcode+Temp; %% output 'temp-mc.aux' +sw_output:=Info+Mcode+Temp; %% output 'temp-info.aux','temp-mc.aux' +sw_output:=Font+Mcode+Temp; %% output font,'temp-mc.aux' +sw_output:=Font+Info+Mcode+Temp; %% output font,'temp-info.aux','temp-mc.aux' \end{verbatim} \paragraph{(Command line)} -\index{Mcode\_t}% \begin{verbatim} >mpost -s ahlength=8 FILENAME (sw_output=Mcode) \end{verbatim} \paragraph{(file name)} \begin{verbatim} -sw_output=Mcode -file name = 'mcf_exa_soc-001-Adenine-mc.aux' - 'jobname -nnn-EN -mc.auc' - -sw_output=Mcode_t -file name = 'temp-mc.aux' +sw_output=Mcode ** file name = 'jobname-nnn-EN-mc.aux' +sw_output=Mcode+Temp ** file name = 'temp-mc.aux' (result) <30,?6,3=?5,{1,3,5,9}=dl,{2,6,9}:N,5:/NH2,7:NH @@ -1771,7 +1778,7 @@ file name = 'temp-mc.aux' %----------------------------------------------------------------------- \begin{verbatim} beginfont("f:mcf_data_base","t:EN","v:Adenine") - sw_output:=Mcode_t; + sw_output:=Mcode+Temp; endfont \end{verbatim} %----------------------------------------------------------------------- @@ -1779,7 +1786,7 @@ endfont %----------------------------------------------------------------------- \begin{mplibcode} beginfont("f:mcf_data_base","t:EN","v:Vancomycin") - sw_output:=Mcode_t; %%%% output temp-mc.aux %%%% + sw_output:=Mcode+Temp; %%%% output temp-mc.aux %%%% endfont; \end{mplibcode} %----------------------------------------------------------------------- @@ -1809,7 +1816,8 @@ file name = 'temp-mc.aux' \index{sw\_output}% \index{Report}% \begin{verbatim} - sw_output:=Report; + sw_output:=Report; ** file name = 'jobname-report.aux' + sw_output:=Report+Temp; ** file name = 'temp-report.aux' \end{verbatim} \paragraph{(Command line)} \begin{verbatim} @@ -1922,7 +1930,7 @@ M END %---------------------------------------------------------------------------- \newpage \subsection{LuaTeX file example} -\index{None}% +\index{Font}% %############################################################################ \begin{verbatim} \documentclass{article} @@ -1934,7 +1942,7 @@ M END \mplibnumbersystem{double}% \everymplib{% if unknown Ph1: input mcf2graph.mf; fi - sw_output:=None; sw_fframe:=4; max_blength:=4.5mm; + sw_output:=Font; max_blength:=4.5mm; defaultfont:="uhvr8r"; defaultsize:=8bp; defaultscale:=1; }% \begin{document} 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 686b14f6d7c..ace65bc7e62 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 17a66be1445..caf7e504923 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.05.23 +% Example of MCF typest with LuaLaTeX(luamplib) by A.Yamaji 2021.06.06 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% ** mcf2graph.mf must be version 4.65 +% ** mcf2graph.mf must be version 4.66 % ** use mcf_data_base.mcf \documentclass{article} %------------------------------------------------------------------------------ @@ -15,8 +15,7 @@ if unknown Ph1: input mcf2graph.mf; fi outputformat:="eps"; tag1:="J"; tag2:="C"; tag3:="fm"; tag4:="mw"; tag5:="EN"; tag6:="MW"; - sw_output:=None; - sw_fframe:=4; + sw_output:=Font; max_blength:=4.5mm; defaultfont:="uhvr8r"; defaultsize:=8bp; @@ -75,7 +74,7 @@ endfont \noindent% \begin{verbatim} beginfont("f:mcf_data_base","t:EN","v:Okadaic acid","EN:Dinophysistoxin-1", - "MW:819",":,@38,*\,-1=red") %%%% add methyl group (color red) %%%% + "MW:819",":,38:*/_,65=red") %%%% add methyl group (color red) %%%% fsize:=(150mm,35mm); if check(mc)=0: MC(scantokens(mc)) fi ext(defaultscale:=0.8; @@ -87,7 +86,7 @@ endfont; %---------------------------------------------------------------------------- \begin{mplibcode} beginfont("f:mcf_data_base","t:EN","v:Okadaic acid","EN:Dinophysistoxin-1", - "MW:819",":,@38,*\,-1=red") %%%% add methyl group (color red) %%%% + "MW:819",":,38:*/_,65=red") %%%% add methyl group (color red) %%%% fsize:=(150mm,35mm); if check(mc)=0: MC(scantokens(mc)) fi ext(defaultscale:=0.8; @@ -200,17 +199,13 @@ endfont %-------------------------------------------------------------------------------- \begin{mplibcode} beginfont("f:mcf_data_base","t:EN","v:Maitotoxin") - sw_output:=Mcode_t; %%%% output temp-mc.aux %%%% + sw_output:=Info+Mcode+Temp; %%%% output temp-info,temp-mc.aux %%%% endfont; - beginfont("f:mcf_data_base","t:EN","v:Maitotoxin") - sw_output:=Info_t; %%%% output temp-info.aux %%%% - if check(mc)=0: MC(scantokens(mc)) fi - endfont \end{mplibcode} \verbatiminput{temp-mc.aux} %%%% input temp-mc.aux %%%% \begin{mplibcode} beginfont("f:mcf_data_base","t:EN","v:Maitotoxin") - fsize:=(120mm,60mm); fmargin:=(0,3mm); sw_fframe:=1; + fsize:=(120mm,60mm); fmargin:=(0,3mm); sw_frame:=Outside; if check(mc)=0: MC(scantokens(mc)) fi %%%% output font %%%% endfont \end{mplibcode} @@ -226,17 +221,13 @@ endfont %-------------------------------------------------------------------------------- \begin{mplibcode} beginfont("f:mcf_data_base","t:EN","v:Maitotoxin") - sw_output:=Mcode_t; %%%% output temp-mc.aux %%%% + sw_output:=Info+Mcode+Temp; %%%% output temp-info,temp-mc.aux %%%% endfont; - beginfont("f:mcf_data_base","t:EN","v:Maitotoxin") - sw_output:=Info_t; %%%% output temp-info.aux %%%% - if check(mc)=0: MC(scantokens(mc)) fi - endfont \end{mplibcode} \verbatiminput{temp-mc.aux} %%%% input temp-mc.aux %%%% \begin{mplibcode} beginfont("f:mcf_data_base","t:EN","v:Maitotoxin") - fsize:=(120mm,60mm); fmargin:=(0,3mm); sw_fframe:=1; + fsize:=(120mm,60mm); fmargin:=(0,3mm); sw_frame:=Outside; if check(mc)=0: MC(scantokens(mc)) fi %%%% output font %%%% endfont \end{mplibcode} @@ -262,7 +253,7 @@ HOCO:='(OH,!,//O,); MCat(0.33, 1)(<30,HOCO,!,//O,!2,COOH) % Oxaloacetate MCat(0.66, 1)(<30,HOCO,!4,COOH,@-4`1,\,COOH,4:/OH^-165) % Citrate MCat(1, 1)(<30,HOCO,!2,!~dr,!,COOH,@-4`1,\,COOH) % cis-Aconitate -MCat(1, 0.55)(<30,HOCO,!4,COOH,@-4,\`1,COOH) % Isocitrate +MCat(1, 0.58)(<30,HOCO,!4,COOH,@-4,\`1,COOH,5:/OH) % Isocitrate MCat(1, 0.05)(<30,HOCO,!3,//O,!,COOH,@-4,\`1,COOH) % Oxalosuccinate MCat(0.66,0.05)(<30,HOCO,!3,//O,!,COOH) % alfa-Ketoglutarate MCat(0.33,0.05)(<30,HOCO,!3,//O,!,"{S-CoA}") % Succinyl-CoA @@ -327,7 +318,7 @@ HOCO:='(OH,!,//O,); MCat(0.33, 1)(<30,HOCO,!,//O,!2,COOH) % Oxaloacetate MCat(0.66, 1)(<30,HOCO,!4,COOH,@-4`1,\,COOH,4:/OH^-165) % Citrate MCat(1, 1)(<30,HOCO,!2,!~dr,!,COOH,@-4`1,\,COOH) % cis-Aconitate -MCat(1, 0.55)(<30,HOCO,!4,COOH,@-4,\`1,COOH) % Isocitrate +MCat(1, 0.58)(<30,HOCO,!4,COOH,@-4,\`1,COOH,5:/OH) % Isocitrate MCat(1, 0.05)(<30,HOCO,!3,//O,!,COOH,@-4,\`1,COOH) % Oxalosuccinate MCat(0.66,0.05)(<30,HOCO,!3,//O,!,COOH) % alfa-Ketoglutarate MCat(0.33,0.05)(<30,HOCO,!3,//O,!,"{S-CoA}") % Succinyl-CoA diff --git a/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf b/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf index 9cf47d31f87..5bbd4639dc9 100644 --- a/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf +++ b/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf @@ -1,5 +1,5 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% mcf2graph ver 4.65 Copyright (c) 2013-2021 Akira Yamaji +% mcf2graph ver 4.66 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, @@ -37,7 +37,7 @@ % Set to use plain.mp (label,arrow,atom) : mpost -s labeloffset=2 FILENAME %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% tracingstats:=1; -message "* This is mcf2graph ver 4.65 2021.05.23"; +message "* This is mcf2graph ver 4.66 2021.06.06"; %------------------------------------------------------------------------------------------------- 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; @@ -53,16 +53,14 @@ pair save_pair[],posA[],posM[][],msize,mposition,fsize,fmargin,save_mposition picture mol_stru[],atom_picture,save_picture,temp_picture; path arrow_path,dottedline_path,line_path,arrow_head; %------------------------------------------------------------------------------------------------- -char_num:=str_cnt:=tbl_cnt:=proc_end:=mangle:=0; -sw_numberA:=sw_numberB:=sw_expand:=sw_fframe:=sw_mframe:=sw_aframe:=sw_trimming:=sw_ext_all:=0; -sw_group_off:=sw_single:=sw_arrow_emu:=sw_output:=0; -numberA_start:=numberB_start:=1; numberA_end:=numberB_end:=4095; +char_num:=str_cnt:=tbl_cnt:=proc_end:=mangle:=sw_expand:=sw_frame:=sw_trimming:=sw_ext_all:=0; +sw_abbreviate:=sw_arrow_emu:=sw_output:=sw_numbering:=0; numbering_start:=1; numbering_end:=4095; %------------------------------------------------------------------------------------------------- aux_max:=max_inf_num:=20; aux_delimiter:=";"; blank_str:= " "; dum:=(-4091,0); for i=1 upto aux_max: tag[i]:=""; endfor -None:=11; None_Info_t:=12; None_Mcode_t:=13; None_Info_Mcode_t:=14; None_Report_t:=15; -Info1:=21; Info2:=22; Info_t:=23; Report:=31; Report_t:=32; MOL2k:=41; MOL3k:=42; -Mfont:=51; Mcode:=61; Mcode_t:=62; Info_Mcode_t:=63; +Font:=1; Temp:=2; Info:=4; Table:=8; Report:=16; MOL2k:=32; MOL3k:=64; Mfont:=128; Mcode:=256; +Atom:=8; Bond:=16; Brock:=32; Inverse:=64; Group:=32; Mol:=64; +Outside:=1; Inside:=2; Bothside:=Outside+Inside; %------------------------------------------------------------------------------------------------- a_prn_s:=ASCII("("); a_prn_e:=ASCII(")"); a_brc_s:=ASCII("{"); a_brc_e:=ASCII("}"); a_brk_s:=ASCII("["); a_brk_e:=ASCII("]"); a_cmm:=ASCII(","); a_equ:=ASCII("="); @@ -108,8 +106,8 @@ if (known green)and(known ahlength): elseif ahangle=45: outputformat:="eps"; % eps format(.mps) *default fi %--default ahlength=4--------------------------------------------------------------------- - if ahlength=1: sw_output:=Info1; % output aux file - elseif ahlength=2: sw_output:=Info2; % output aux file(fixed mode) + if ahlength=1: sw_output:=Info; % output aux file + elseif ahlength=2: sw_output:=Info+Table; % output aux file(Table mode) elseif ahlength=3: sw_output:=Report; % output report elseif ahlength=4: sw_output:=0; % *default elseif ahlength=5: sw_output:=MOL2k; % output MOL(V2000) @@ -179,13 +177,12 @@ if f_MP=1: fi %-------------------------------------------------------------------------------------------------- ?3:=?20:=Ph:=Ph1:=Ph2:=hz:=0; vt:=1; -ratio_chain_ring:=0.66; ratio_atom_bond:=0.36; ratio_thickness_bond:=0.015; -ratio_thickness_char:=0.1; ratio_char_bond:=1.5; ratio_bondgap_bond:=0.15; -ratio_hashgap_bond:=0.12; ratio_hash_black:=0.4; ratio_wedge_bond:=0.12; +ratio_chain_ring:=0.66; ratio_atom_bond:=0.36; ratio_thickness_bond:=0.015; +ratio_thickness_char:=0.1; ratio_char_bond:=1.5; ratio_bondgap_bond:=0.15; +ratio_hashgap_bond:=0.12; ratio_hash_black:=0.4; ratio_wedge_bond:=0.12; ratio_atomgap_atom:=0.04; -offset_thickness:=0.2bp; offset_bond_gap:=0.3bp; offset_hash_gap:=0.1bp; -offset_atom:=0.8pt; offset_wedge:=0.4bp; -thickness_fframe:=0.2bp; thickness_mframe:=0.2bp; thickness_aframe:=0.1bp; +offset_thickness:=0.2bp; offset_bond_gap:=0.3bp; offset_hash_gap:=0.1bp; +offset_atom:=0.8pt; offset_wedge:=0.4bp; thickness_frame:=0.2bp; max_blength:=10mm; blength:=mangle:=0; max_labelsize:=20mm; dottedline_gap:=1.5bp; %-------------------------------------------------------------------------------------------------- fsize:=(30mm,20mm); fmargin:=(0.4mm,0.4mm); msize:=(1,1); mposition:=(0.5,0.5); @@ -209,17 +206,16 @@ def_com(-4090)(_com,_jp_atom,_jp_absA,_jp_bond,_cyc,_cyc_sB,_cyc_eB,_set_line,_t _chg_len,_get_len,_ring_len,_tmp_len,_rot_ang,_adj_ang,_chg_env,_tmp_env,_set_colorA,_set_colorB, _group_si,_set_adr,_mk_bond,_set_atom,_arrange_ang,_chg_atom,_tmp_rot,_fuse,_size_atom,_numeric, _jump_at,_set_add,_chg_add,_nop,_mark,_moff,_term,_len_s,_len_e,_len_ss,_len_ee, - _group_s,_group_e,_rest,_charge, + _group_s,_group_e,_rest,_charge,_from,_until, si,dl,dl_,dr,dr_,db,dm,dm_,tm,wf,wb,bd,bz,zf,zb,dt,wv,nl,vf,vb,nb,si_,wf_,wb_,zf_,zb_,wv_,bd_); %-------------------------------------------------------------------------------------------------- def parameter_list= - sw_numberA,sw_numberB,sw_mframe,sw_expand,sw_output, - sw_single,sw_ext_all,sw_aframe,sw_fframe,sw_group_off,sw_trimming,sw_arrow_emu, + sw_numbering,sw_expand,sw_output,sw_ext_all,sw_frame,sw_trimming,sw_arrow_emu,sw_abbreviate, ratio_atom_bond,ratio_thickness_bond,ratio_char_bond,ratio_chain_ring,ratio_bondgap_bond, ratio_hash_black,ratio_hashgap_bond,ratio_thickness_char,ratio_wedge_bond,ratio_atomgap_atom, - lonepairdiam,lonepairspace,blength,offset_atom,offset_wedge,max_blength,offset_hash_gap, - offset_bond_gap,thickness_fframe,thickness_mframe,thickness_aframe,offset_thickness, - numberA_start,numberA_end,numberB_start,numberB_end,defaultsize,defaultscale,labeloffset,mangle, + lonepairdiam,lonepairspace,offset_atom,offset_wedge,max_blength,offset_hash_gap, + offset_bond_gap,thickness_frame,offset_thickness, + numbering_start,numbering_end,defaultsize,defaultscale,labeloffset,mangle,blength, fsize,fmargin,msize,mposition,defaultfont,atomfont,dottedline_gap, Me,Et,CH3,NH,NH2,NO,NO2,OH,CHO,COOH,CN,SH,!CH3,!NH2,!NO2,!OH,!CHO,!COOH,!CN,!SH enddef; @@ -227,7 +223,7 @@ enddef; def init_par(text t)= nA:=nB:=nC:=0; for list=t: - if numeric list: nA:=nA+1; save_num[nA]:=list; + if numeric list: nA:=nA+1; save_num[nA]:=list; elseif pair list: nB:=nB+1; save_pair[nB]:=list; elseif string list: nC:=nC+1; save_str[nC]:=list; fi @@ -237,7 +233,7 @@ enddef; def store_par(text t)= nA:=nB:=nC:=0; for list=t: - if numeric list: nA:=nA+1; if save_num[nA]<>list: save_num[nA]:=list; fi + if numeric list: nA:=nA+1; if save_num[nA]<>list: save_num[nA]:=list; fi elseif pair list: nB:=nB+1; if save_pair[nB]<>list: save_pair[nB]:=list; fi elseif string list: nC:=nC+1; if save_str[nC]<>list: save_str[nC]:=list; fi fi @@ -304,7 +300,7 @@ def endfont= %-------------------------------------------------------------------------------------------- if f_EOF=0: %-------------------------------------------------------------------------------------------- - if sw_output<=None_Report_t: + if (sw_output=0)or(scan_bit(sw_output,Font)): if cntM>=1: if sw_ext_all=1: ext_to_font(EXT_ALL); fi if sw_trimming>=1: @@ -326,15 +322,15 @@ def endfont= %---------------------------------------------------------------------------------------- if f_MP=0: beginchar(char_num,font_wd/bp*bp#,font_ht/bp*bp#,0) else: beginfig(char_num) w:=charwd:=font_wd; h:=charht:=font_ht; chardp:=0; - if (sw_fframe<>1)and(sw_fframe<>3): draw_corner((0,0),w,h,0.05bp); fi + if scan_bit(sw_frame,Outside): else: draw_corner((0,0),w,h,0.05bp); fi fi - if (sw_fframe=1)or(sw_fframe=3): draw_frame((0,0),w,h,thickness_fframe); fi - if (sw_fframe=2)or(sw_fframe=3): - draw_frame((margin_lr,margin_tb),w-2margin_lr,h-2margin_tb,thickness_fframe); + if scan_bit(sw_frame,Outside): draw_frame((0,0),w,h,thickness_frame); fi + if scan_bit(sw_frame,Inside): + draw_frame((margin_lr,margin_tb),w-2margin_lr,h-2margin_tb,thickness_frame); fi for i=1 upto cntM: addto currentpicture also mol_stru[i] shifted posM[0][i]; mol_stru[i]:=nullpicture; - if sw_mframe=1: ext(draw_frame(p[i],w[i],h[i],thickness_mframe)) fi + if scan_bit(sw_frame,Mol): ext(draw_frame(p[i],w[i],h[i],thickness_frame)) fi endfor if f_ext=1: addto currentpicture also mol_stru[0]; mol_stru[0]:=nullpicture; fi %----------------------------------------------------------------------------------------- @@ -343,29 +339,29 @@ def endfont= if f_MP=0: beginchar(char_num,font_wd/bp*bp#,font_ht/bp*bp#,0) else: beginfig(char_num) w:=charwd:=font_wd; h:=charht:=font_ht; fi - draw (0,h)--(0,0)--(w,0)--(w,h)--(0,h)--(w,0) wpcs thickness_fframe; + draw (0,h)--(0,0)--(w,0)--(w,h)--(0,h)--(w,0) wpcs thickness_frame; fi %----------------------------------------------------------------------------------------- endchar; clearit; %----------------------------------------------------------------------------------------- - if sw_output=None_Info_t: proc_info_out(3); - ef sw_output=None_Mcode_t: proc_mc_out(2); - ef sw_output=None_Info_Mcode_t: proc_info_out(3); proc_mc_out(2); - ef sw_output=None_Report_t: proc_report_out(2); + if sw_output=(Font+Info+Temp): proc_info_out(3); + ef sw_output=(Font+Mcode+Temp): proc_mc_out(2); + ef sw_output=(Font+Info+Mcode+Temp): proc_info_out(3); proc_mc_out(2); + ef sw_output=(Font+Report+Temp): proc_report_out(2); fi %----------------------------------------------------------------------------------------- - ef sw_output=Info1: proc_info_out(1); - ef sw_output=Info2: proc_info_out(2); - ef sw_output=Info_t: proc_info_out(3); - ef sw_output=Mcode: proc_mc_out(1); - ef sw_output=Mcode_t: proc_mc_out(2); - ef sw_output=Mfont: proc_mf_out(0); - ef sw_output=Report: proc_report_out(1); - ef sw_output=Report_t: proc_report_out(2); - ef sw_output=MOL2k: proc_mol_out(1); - ef sw_output=MOL3k: proc_mol_out(2); - ef sw_output=Info_Mcode_t: proc_info_out(3); proc_mc_out(2); + ef sw_output=Info: proc_info_out(1); + ef sw_output=(Info+Table): proc_info_out(2); + ef sw_output=(Info+Temp): proc_info_out(3); + ef sw_output=Mcode: proc_mc_out(1); + ef sw_output=(Mcode+Temp): proc_mc_out(2); + ef sw_output=Mfont: proc_mf_out(0); + ef sw_output=Report: proc_report_out(1); + ef sw_output=(Report+Temp): proc_report_out(2); + ef sw_output=MOL2k: proc_mol_out(1); + ef sw_output=MOL3k: proc_mol_out(2); + ef sw_output=(Info+Mcode+Temp): proc_info_out(3); proc_mc_out(2); fi %----------------------------------------------------------------------------------------------- %% message "* parts_cnt (0)="& decimal(parts_cnt) &" "& decimal(parts_usr-parts_usr_start); @@ -400,11 +396,13 @@ def pickup_data_unit(expr t,v)= if temps=EOF: f_EOF:=1; fi exitif temps=EOF; exitif subc(1,temps)="+"; - mc_row:=mc_row+1; - n_fw:=scan_char(" ",temps,1,1); - mc_indent[mc_row]:=n_fw-1; - mc[mc_row]:=substring (n_fw-1,length(temps)) of temps; - mc:=mc&mc[mc_row]; + if subc(1,temps)<>"%": + mc_row:=mc_row+1; + n_fw:=scan_char(" ",temps,1,1); + mc_indent[mc_row]:=n_fw-1; + mc[mc_row]:=substring (n_fw-1,length(temps)) of temps; + mc:=mc&mc[mc_row]; + fi endfor f_end:=1; else: @@ -437,6 +435,8 @@ def pickup_data_unit(expr t,v)= endgroup; enddef; %-------------------------------------------------------------------------------------------------- +vardef scan_bit(expr n,b)= if b=0: false else: odd(floor(n/b)) fi enddef; +%-------------------------------------------------------------------------------------------------- vardef scan_char(expr c,s,d,n)= save k,n_s; n_s:=0; @@ -465,6 +465,7 @@ vardef '(text TXT)= parts_cnt:=parts_cnt+1; read_mcf(parts_cnt)(TXT); parts_cnt vardef read_id(text TXT)=read_mcf(incr parts_cnt)(|,#crR,TXT,##,(_com,_rest)); parts_cnt enddef; vardef read_ud(text TXT)=read_mcf(incr parts_cnt)(dum,dum,|,TXT,(_com,_rest)); parts_cnt enddef; vardef abs_adress primary n == n-4095 enddef; +primarydef a from_until b == (_from,a),(_until,b) enddef; tertiarydef a op_equ b = if (known a)and(known b):: change_bond(a,b) else:: _nop fi enddef; tertiarydef a op_col b = if (known a)and(known b):: change_atom(a,b) else:: _nop fi enddef; tertiarydef a op_hat b = if known b:: (_tmp_rot,b),a else:: _nop,a fi enddef; @@ -513,6 +514,8 @@ def read_mcf(expr n)(text TXT)= enddef; %------------------------------------------------------------------------------------------------- vardef read_number(text TXT)= + save --,-+,nA,nB,nC; + let -- == from_until; parts_int:=parts_int+1; nA:=0; for list==TXT:: @@ -522,7 +525,13 @@ vardef read_number(text TXT)= else:: nA:=nA+1; comD[parts_int][nA]:=_numeric; parD[parts_int][nA]:=list; fi elseif pair list:: - nA:=nA+1; comD[parts_int][nA]:=xpart(list); parD[parts_int][nA]:=ypart(list); + if xpart(list)==_from:: nB:=ypart(list); + ef xpart(list)==_until:: nC:=ypart(list); + for i==nB upto nC:: + nA:=nA+1; comD[parts_int][nA]:=_numeric; parD[parts_int][nA]:=i; + endfor + else:: nA:=nA+1; comD[parts_int][nA]:=xpart(list); parD[parts_int][nA]:=ypart(list); + fi fi else:: message "unknown command in "AND decimal(parts_int); fi @@ -871,7 +880,7 @@ def MC(text TXT)= string temp_c; pair temp_p; %----------------------------------------------------------------------------------------------- - if (sw_numberA>=1)or(sw_numberB>=1): ratio_atom_bond:=0.25; fi + if sw_numbering>=1: ratio_atom_bond:=0.25; fi if (sw_expand=1)or(sw_output=MOL2k)or(sw_output=MOL3k): expand_set; crR:=1; else: crR:=-ratio_chain_ring; fi @@ -884,7 +893,7 @@ def MC(text TXT)= %=============================================================================================== read_mcf(0)(TXT,(_com,_term)); proc_bond_atom(0)(1); - if (cnt_group>0)and(sw_group_off=0): read_group(0)(1); fi + if (cnt_group>0)and(not scan_bit(sw_abbreviate,Group)): read_group(0)(1); fi char_use_check; %-scaling--------------------------------------------------------------------------------------- if blength>1: blen:=blength; proc_size_setup; proc_skeleton(0); proc_scaling; @@ -910,7 +919,7 @@ def MC(text TXT)= if blen>max_blength: blen:=max_blength; proc_size_setup; proc_skeleton(0); proc_scaling; fi fi %-draw atom------------------------------------------------------------------------------------- - if (sw_numberA=0)and(sw_numberB=0): for i=1 upto cntA: draw_atom(i); endfor fi + if sw_numbering=0: for i=1 upto cntA: draw_atom(i); endfor fi %-draw add to atom------------------------------------------------------------------------------ for i=1 upto cntA: if addA[i]<>0: @@ -928,12 +937,13 @@ def MC(text TXT)= for i=1 upto cntB: if lineB[i]<si_ : draw_bond(i); fi endfor for i=1 upto cntB: if lineB[i]>=si_: draw_bond(i); fi endfor %-atom numbering-------------------------------------------------------------------------------- - if sw_numberA>=1: + if scan_bit(sw_numbering,Atom): for i=1 upto cntA: - if (i>=numberA_start)and(i<=numberA_end): - if sw_numberA=2: nA:=i-numberA_start+1; - elseif sw_numberA=3: nA:=iif(numberA_end<cntA,numberA_end-i+1,cntA-i+1); - else: nA:=i; + if (i>=numbering_start)and(i<=numbering_end): + if scan_bit(sw_numbering,Brock): nA:=i-numbering_start+1; + elseif scan_bit(sw_numbering,Inverse): + nA:=iif(numbering_end<cntA,numbering_end-i+1,cntA-i+1); + else: nA:=i; fi erase fill unitsquare xscaled (.8atom_wd*length(decimal(nA))) yscaled atom_wd shifted (posA[i]-(.5atom_wd,.5atom_wd)); @@ -943,12 +953,13 @@ def MC(text TXT)= endfor fi %-bond numbering-------------------------------------------------------------------------------- - if sw_numberB>=1: + if scan_bit(sw_numbering,Bond): for i=1 upto cntB: - if (i>=numberB_start)and(i<=numberB_end): - if sw_numberB=2: nB:=i-numberB_start+1; - elseif sw_numberB=3: nB:=iif(numberB_end<cntB,numberB_end-i+1,cntB-i+1); - else: nB:=i; + if (i>=numbering_start)and(i<=numbering_end): + if scan_bit(sw_numbering,Brock): nB:=i-numbering_start+1; + elseif scan_bit(sw_numbering,Inverse): + nB:=iif(numbering_end<cntB,numbering_end-i+1,cntB-i+1); + else: nB:=i; fi erase fill unitsquare yscaled atom_wd xscaled (.8atom_wd*length(decimal(nB))) shifted (.5[posA[sB[i]],posA[eB[i]]]-(.5atom_wd,.5atom_wd)); @@ -1070,7 +1081,7 @@ enddef; %------------------------------------------------------------------------------------------------- def char_use_check= for i=1 upto 128: f_char[i]:=0; endfor - if (sw_numberA<>0)or(sw_numberB<>0): for j=a_zero upto a_nine: f_char[j]:=1; endfor + if sw_numbering>=1: for j=a_zero upto a_nine: f_char[j]:=1; endfor else: for i=1 upto cntA: if numS[i]<>0: @@ -1258,7 +1269,7 @@ def draw_atom(expr NUM)= f_wd:=atom_wd*tbl_char_wd[ASCII(temp_c)]; if dir_str=-1: pos_a:=pos_a-(f_wd,0); fi draw_char(temp_c,pos_a+pos_c,atom_wd,bond_pen_wd*ratio_char_bond,NUM); - if sw_aframe=1: draw_frame(pos_a+pos_c,f_wd,atom_wd,thickness_aframe); fi + if scan_bit(sw_frame,Atom): draw_frame(pos_a+pos_c,f_wd,atom_wd,thickness_frame); fi if dir_str=1: pos_a:=pos_a+(f_wd,0); fi else: atom_picture:=temp_c infont atomfont; @@ -1268,7 +1279,7 @@ def draw_atom(expr NUM)= addto currentpicture also atom_picture scaled (r_ff*(1-2ratio_atomgap_atom)) shifted (pos_a+pos_c+(f_wd*ratio_atomgap_atom,f_ht*ratio_atomgap_atom)) Cp(colorA[NUM]); - if sw_aframe=1: draw_frame(pos_a+pos_c,f_wd,f_ht,thickness_aframe); fi + if scan_bit(sw_frame,Atom): draw_frame(pos_a+pos_c,f_wd,f_ht,thickness_frame); fi if dir_str=1: pos_a:=pos_a+(f_wd,0); fi fi wdA[NUM]:=wdA[NUM]+f_wd; @@ -1287,7 +1298,7 @@ def draw_bond(expr NUM)= nL:=lineB[NUM]; ang:=angB[NUM]; nS:=sB[NUM]; nE:=eB[NUM]; col:=colorB[NUM]; zL:=posA[nS]--posA[nE]; ww:=wedge_wd; ap:=ang+90; am:=ang-90; %----------------------------------------------------------------------------------------------- - if (numS[nS]=0)and(numS[nE]=0)or(sw_numberA=1)or(sw_numberB=1): + if (numS[nS]=0)and(numS[nE]=0)or(sw_numbering>=1): Ls:=posA[nS]; Le:=posA[nE]; pA:=(.1,.9); ef numS[nS]=0: Le:=zL intersectionpoint frame_str(nE); Ls:=posA[nS]; pA:=(.15,1); ef numS[nE]=0: Ls:=zL intersectionpoint frame_str(nS); Le:=posA[nE]; pA:=(0,.85); @@ -1296,7 +1307,7 @@ def draw_bond(expr NUM)= zA:=Ls--Le; len:=length(Le-Ls); %----------------------------------------------------------------------------------------------- pickup pencircle scaled bond_pen_wd; - if (nL=si)or(sw_single=1): draw zA Cp(col); + if (nL=si)or(scan_bit(sw_abbreviate,Bond)): draw zA Cp(col); ef nL=dl: draw zA Cp(col); draw sfrt(subpath pA of zA,bondgap,ap) Cp(col); ef nL=dr: draw zA Cp(col); draw sfrt(subpath pA of zA,bondgap,am) Cp(col); ef nL=dm: draw sfrt(zA,bondgap/1.75,ap) Cp(col); draw sfrt(zA,bondgap/1.75,am) Cp(col); @@ -1642,7 +1653,7 @@ def proc_info_out(expr n)= fi %-------------------------------------------------------------------------------------- if (char_num=1)and(n=2): - printf tag[1] for i=2 upto aux_max: exitif tag[i]=""; &aux_delimiter&tag[i] endfor% ; + printf tag[1] for i=2 upto aux_max: exitif tag[i]=""; &aux_delimiter&tag[i] endfor ; fi %-------------------------------------------------------------------------------------- for i=1 upto aux_max: exitif tag[i]=""; |