From 9f9c648e7f96cc9f9e5e80e65dce48b60a335f44 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sun, 21 Mar 2021 21:39:27 +0000 Subject: mcf2graph (21mar21) (branch) git-svn-id: svn://tug.org/texlive/branches/branch2020.0@58587 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG | 11 +- Master/texmf-dist/doc/metapost/mcf2graph/README | 38 ++- .../doc/metapost/mcf2graph/mcf_exa_soc.mf | 314 ++++++++++---------- .../doc/metapost/mcf2graph/mcf_example.pdf | Bin 324217 -> 324068 bytes .../doc/metapost/mcf2graph/mcf_example.tex | 28 +- .../doc/metapost/mcf2graph/mcf_man_soc.mf | 316 ++++++++++++++------- .../doc/metapost/mcf2graph/mcf_manual.pdf | Bin 350539 -> 373233 bytes .../doc/metapost/mcf2graph/mcf_manual.tex | 288 +++++++++---------- .../doc/metapost/mcf2graph/mcf_mplib_exa.pdf | Bin 202590 -> 193908 bytes .../doc/metapost/mcf2graph/mcf_mplib_exa.tex | 136 ++++----- Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf | 167 ++++++----- 11 files changed, 700 insertions(+), 598 deletions(-) diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG b/Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG index 8bfc7deb2b0..00fd0afbf10 100644 --- a/Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG +++ b/Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG @@ -1,6 +1,15 @@ ******************************************************************************* - Changelog of mcf2graph software package by Akira Yamaji 2021-03-07 + Changelog of mcf2graph software package by Akira Yamaji 2021-03-21 ******************************************************************************* +[ver. 4.61 / 2021-03-21] + -change syntax + @.$n => @$n + &.$n => &$n + -change function name + check_mc() => check() + -improve function check() + -update MCF manual,example + [ver. 4.60 / 2021-03-07] -$n (0<=n<360) can use as absolute angle -change option parameter name diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/README b/Master/texmf-dist/doc/metapost/mcf2graph/README index b5a428c088e..e819003b602 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.60 2021-03-07 + version : 4.61 2021-03-21 E-mail : mcf2graph@gmail.com Located at : http://www.ctan.org/pkg/mcf2graph ******************************************************************************** @@ -15,20 +15,28 @@ It is also able to calculate molecular weight, exact mass, molecular formula. 2. The distribution of software - ( 1) README This file - ( 2) CHANGELOG Changelog file of mcf2graph - ( 3) mcf2graph.mf Macro of Metafont / Metapost - ( 4) mcf_setup.sty Style file for aux file input - ( 5) mcf_manual.tex MCF syntax manual(LaTeX file) - ( 6) mcf_man_soc.mf Molecular difinition file for mcf_manual.tex - ( 7) mcf_manual.pdf PDF of (4) (used pdftex(LaTeX),makeindex) - ( 8) mcf_example.tex LaTeX example, - make file 'mcf_exa_soc-info.aux' before typeset - >mpost -s ahlength=1 mcf_exa_soc.mf - ( 9) mcf_exa_soc.mf Molecular difinition file for mcf_example.tex - (10) mcf_example.pdf PDF of (8) typeset with pdftex(LaTeX) - (11) mcf_mplib_exa.tex luamplib(LuaLaTeX) example - (12) mcf_mplib_exa.pdf PDF of (11) typeset with LuaTeX(LaTeX) + ( 1) README This file + ( 2) CHANGELOG Changelog file of mcf2graph + ( 3) mcf2graph.mf Macro of Metafont / Metapost + ( 4) mcf_setup.sty Style file for aux file input + ( 5) mcf_manual.tex MCF syntax manual(LaTeX file) + use pk font for proof print + use mps file for final print + make file 'mcf_man_soc-***.mps' before typeset + >mpost -s mcf_man_soc.mf + ( 6) mcf_man_soc.mf Molecular difinition file for mcf_manual.tex + ( 7) mcf_manual.pdf PDF of (4) (used pdftex(LaTeX),makeindex) + ( 8) mcf_example.tex LaTeX example, + make file 'mcf_exa_soc-info.aux' before typeset + >mpost -s ahlength=1 mcf_exa_soc.mf + use pk font for proof print + use mps file for final print + make file 'mcf_exa_soc-***.mps' before typeset + >mpost -s mcf_exa_soc.mf + ( 9) mcf_exa_soc.mf Molecular difinition file for mcf_example.tex + (10) mcf_example.pdf PDF of (8) typeset with pdftex(LaTeX) + (11) mcf_mplib_exa.tex luamplib(LuaLaTeX) example + (12) mcf_mplib_exa.pdf PDF of (11) typeset with LuaTeX(LaTeX) 3. How to use mcf2graph with Metapost Minimum requirement to run mcf2graph : mpost.exe,mpost.dll,mpost.mp,plain.mp 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 1d60bc062f0..428c86c6ed2 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.03.07 +% Molecular Coding Format for mcf_example.tex by Akira Yamaji 2021.03.21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -input mcf2graph.mf; %%% it must be version 4.60 -message "* mcf_exa_soc 2021.03.07"; +input mcf2graph.mf; %%% it must be version 4.61 +message "* mcf_exa_soc 2021.03.21"; message ""; %------------------------------------------------------------------------------ fsize:=(35mm,24mm); @@ -31,515 +31,515 @@ tag1:="F"; tag2:="C"; tag3:="fm"; tag4:="mw"; tag5:="EN"; tag6:="MW"; %------------------------------------------------------------------------------ %%%% ext(defaultfont:="uhvr8r"; defaultscale:=.3; label.lrt(mc,(-2bp,1.5bp));) %****************************************************************************** -beginfont("EN:Adenine","MW:135.13", +beginfont("EN:Adenine","MW:135.13","FM:C5H5N5", ": <30,?6,3=?5,{1,3,5,9}=dl,{2,6,9}:N,5:/NH2,7:NH") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Guanine","MW:151.13", ": <30,?6,3=?5,{1,3,9}=dl,{2,9}:N,{6,7}:NH,5://O,1:/NH2") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Cytosine","MW:111.10", ": <30,?6,{4,6}=dl,4:N,3://O,2:NH,5:/NH2") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Thymine","MW:126.11", ": <30,?6,3=dl,{2,6}:NH,{1,5}://O,4:/_") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Uracil","MW:112.09", ": <30,?6,6=dl,{3,5}://O,{2,4}:NH") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Geraniol","MW:154.25", ": <30,!8,OH,{2,6}=dr,{2,6}:/_") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Limonene","MW:136.24", ": <30,?6,2=dl,2:/_,@5,*\,/_,!!") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:l-Menthol","MW:156.27", ": <30,?6,2:/*?!,5:*/_,3:*/OH") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Vanillin","MW:152.15", ": <30,Ph,2:/OH,3:/O!,5:/CHO") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Allicin","MW:162.28", ": <-30,!!,!2,SO,!,S,!2,!!") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Stearic acid","MW:284.48", ": <30,!17,COOH") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Linoleic acid","MW:280.45", ": <30,!5,-30,-30,!,-30,-30,!7,COOH,{6,9}=dr") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Sphingosine","MW:299.50", ": <30,!18,OH,14=dr,-3:*/OH,-2:/*NH2") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Tocopherol","MW:430.717", ": <30,Ph,3=?6,7:O,{1,2,5}:/_,8:/*_^60,6:/OH,@8,\,|,!12,{4,8}:/*_,12:/_") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Carotene","MW:536.8726", ": <30,?6,4=dl,3:??,5:/_, ", ": @4,\,|,!18,{1,3,5,7,9,11,13,15,17}=dr,{3,7,12,16}:/_, ", ": ?6,-6=dl,-5:/_,-1:?? ") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Adrenalin","MW:183.21", ": <30,Ph,{1,6}:/OH,@4,\,*/OH,!2,NH,!") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Caffeine","MW:194.194", ": <30,?6,3=dl,{1,5}://O,-4=?5,-3=dl,7:N,{2,6,9}:N!") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Nicotine","MW:162.23", ": <30,Ph,2:N,@4,\,?5,8:N!") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont; %****************************************************************************** beginfont("EN:Capsaicin","MW:305.418", ": <30,Ph,1:/OH,6:/O!,@4,\,!,NH,!,//O,!7,?!,-3=dl") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Thiamine","MW:300.81", ": <30,Ph,4:/NH2,@3,\`1,!,<-12,?5,{-1,-4}=dl,{1,5,8}:N,11:S,{6,9}:/_, ", ": @-3,\,!2,OH,8:p_^72,@(6.7,1.5),Cl,n_^15 ") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Gibberellin A3","MW:346.379", ": <18,?5,3=?7,5=?6[12],@8,160`1.3,&3,13=dl,6=wf,8=wb, ", ": @5,40~zf`1,O,50,//O^180,&14~zb, ", ": 2:/COOH,7://_,13:*/OH,8:/*OH,14:*/_,{1,4}:*/H^60 ") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont; %****************************************************************************** beginfont("EN:Cholesterol","MW:386.664", ": <30,?6,{-4,-2}=?6,-4=?5,7=dl, ", ": 1:*/OH,{4,12}:*/_^60, ", ": 10:/*H^180,{11,-1}:/*H^-60,9:*/H^60,@-1,17,/*_,!4,?! ") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Riboflavin","MW:376.37", ": <30,Ph,3=?6,9=?6,{8,16}=dl,{7,10,14}:N,12:NH,{11,13}://O,{1,6}:/_, ", ": @10,\`1.2,!,*/OH,!,/*OH,!,*/OH,!2,OH ") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Resveratrol","MW:228.24", ": <30,Ph,@4,\,!!,!,Ph,{2,6,-3}:/OH") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Glutathione","MW:307.33", ": <-30,COOH,!,/*NH2,!3,//O,!,NH,!,*/!SH,!,//O,!,NH,!2,COOH") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Hexaphenylbenzene","MW:534.6876", ": <30,Ph,{1,2,3,4,5,6}:/Ph") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** 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") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:18-Crown-6","MW:264.32", ": <-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 ") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Porphyrin","MW:310.4", ": <9,#1,?5,@3,\,54,?5,@-2,\,54,?5,@-2,\,54,?5,@-2,\,&5,##, ", ": {1,4,6,8,10,14,16,18,21,23,27}=dl,{4,17}:N,{11,23}:NH ") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Sulflower","MW:448.69", ": <67.5,?8,{1,3,5,7}=?5,@11,30`1.15,&12,@14,30`1.15,&15, ", ": @17,30`1.15,&18,@20,30`1.15,&9,{9,12,13,16,17,20,21,24}=dl, ", ": {10,13,16,19,21,22,23,24}:S ") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Arsphenamine x5","MW:915.2", ": <18,?5,{1,2,3,4,5}:As,{1,2,3,4,5}:/'(Ph,3:/NH2,4:/OH)") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Melamine","MW:126.12", ": <30,Ph,{2,4,6}:N,{1,3,5}:/NH2") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Sudan red 1","MW:248.28", ": <30,Ph,1=Ph,4:/OH,@3,\,N,!!,N,!,Ph") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Basic blue 1","MW:319.86", ": <30,Ph,3=Ph,6=Ph,2:S,5:N,{8,13}:/N?!,2:p_, ", ": @(4.2,1.5),Cl,n_^15 ") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Disperse violet 1","MW:238.25", ": <30,Ph,3=?6,-3=dr,9=Ph,{7,10}://O,{-1,-4}:/NH2") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Vat blue 1","MW:262.27", ": <30,Ph,3=?5,@8,\\,?5,-3=dr,-3=Ph,{7,14}:NH,{9,11}://O") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Atrazine","MW:215.7", ": <30,Ph,{2,4,6}:N,5:/Cl,1:/NH!2,3:/NH!?!") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:BHC","MW:290.83", ": <30,?6`1.2,{1,3,4,6}:*/Cl,{2,5}:/*Cl") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:pp-DDT","MW:354.49", ": <30,Ph,6:/Cl,@3,\,/CCl3,!,Ph,-3:/Cl") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Endrin","MW:380.91", ": <30,?6`1.3,3=?6,6=dl,9=?3,-1:O, ", ": @2,210~wf`1.5,&5~wb,@7,210~zf`1.5,&10~zb, ", ": {1,2,5,6,12^-210,12^-150}:/Cl ") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Acrinathrin","MW:541.45", ": <-30,?3,2^-35:*/_,2^35:/*_, ", ": @1,\,!~dl,!,//O,!,O,!,/CF3,!,CF3,@3,\,//O,!,O,!,/CN,!,Ph, ", ": @-4,\,O,-60,Ph ") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Cafenstrole","MW:350.4", ": <30,Ph,{2,4,6}:/_,@3,\,SOO,!,|,?5,{2,5}=dl,{2,4,5}:N,@-2,\,//O,!,N,/!,!2 ") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Carfentrazone-ethyl","MW:412.19", ": <30,Ph,4:/F,6:/Cl,@1,\,!,/Cl,!,//O,!,O,!2, ", ": @3,\,|,?5,4=dl,{1,3,5}:N,-4://O,-3:/CF2,-2:/_ ") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Carboxin","MW:235.301", ": <30,?6,3=dl,2:S,5:O,4:/_,@3,\,//O,!,NH,!,Ph") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Clomazone","MW:239.7", ": <30,Ph,2:/Cl,@3,\,!,|,?5,1:N,2:O,-2^-35:/_,-2^35:/_,-1://O") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Halfenprox","MW:477.4", ": <30,Ph,@6,\,O,!,/F^35,/F^-35,!,Br,@3,\,!,??,!,O,!,!,Ph,@-2,\,O,60,Ph") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Paraquat","MW:257.16", ": Ph,@4,\,Ph,{1,10}:N!,1:p_^-90,10:p_^90, ", ": @(5,1),Cl,n_^15,@(-0.5,1),Cl,n_^15 ") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Picolinafen","MW:376.331", ": <30,Ph,5:/CF3,@3,\,O,!,|,Ph,2:N,@3,\,//O,!,NH,!,|,Ph,4:/F") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Quinoxyfen","MW:308.13", ": <30,Ph,4=Ph,10:N,{2,6}:/Cl,@7,\,O,!,|,Ph,4:/F") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Quitozene","MW:295.3", ": <30,Ph,{1,2,3,4,6}:/Cl,5:/NO2") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Bitertanol","MW:337.4", ": <30,Ph,@3,\,Ph,@-3,\,O,!2,/OH,!,??!,@14,\,|,?5,{2,4}=dl,{1,2,4}:N") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Bifenox","MW:342.14", ": <30,Ph,{4,6}:/Cl,@3,\,O,!,Ph,-4:/COO!,-3:/NO2") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Simeconazole","MW:293.417", ": <36,?5,{1,3,5}:N,{1,4}=dl, ", ": @3,30,!,/OH^30,!2,Si,/_,/_^60,!,@7,-30,Ph,-3:/F ") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Fenamidone","MW:311.403", ": <18,?5,4=dl,{3,5}:N,2://O,@3,\,NH,!,Ph,4:/S!,1^52:*/_,1^-48~zf:/Ph") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Fenpyroximate","MW:421.49", ": <-6,?5,{3,5}=db,{1,2}:N,{2,5}:/Me,@3,\^-15,O,!,Ph, ", ": @4,\,!~dr,N,!,O,!2,|,Ph,@4,\,//O,-60,O,!4 ") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Chlorsulron","MW:380.648", ": <30,Ph,6:/NH2,@1,\,SOO,!,NH2,@3,\,SOO,!,NH2,@4,\,/Cl,60~dl,/Cl,!,Cl") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Enrofloxacin","MW:359.401", ": <30,Ph,-4=?6,9=dl,7:N,6:/F,7:/?3,9:/COOH,10://O,@1,\,|,?6,1:N,4:N,4:/!") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Fenitrothion","MW:277.23", ": <-30,!,O,!,P,//S,/O!^160,!,O,!,|,Ph,3:/_,2:/NO2") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Fipronil","MW:437.2", ": <30, Ph,{2,4}:/Cl,6:/CF3,@3,\,|,?5,{2,4}=dl,{1,2}:N,3:/CN,5:/NH2, ", ": @-2,\,S,//O,!,CF3 ") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Flumequine","MW:261.225", ": <30,Ph,3=?6,(2,7)=?6[4],9=dl,7:N,6:/F,9:/COOH,10://O,13:/_") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Imazalil","MW:297.2", - ": <-30,!2,O,!2,!~dr,@1,60,|,?5,{2,4}=dl,{1,3}:N,@.$2,\,|,Ph,{4,6}:/Cl") - if check_mc(mc)=0: MC(scantokens(mc)) fi + ": <-30,!2,O,!2,!~dr,@1,60,|,?5,{2,4}=dl,{1,3}:N,@$2,\,|,Ph,{4,6}:/Cl") + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Imidacloprid","MW:255.662", ": <30,Ph,1:N,6:/Cl,@3,\,!,|,?5,2=dl,1:N,3:N,2:/'(NH,!,NO2)") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Kresoxim-Methyl","MW:313.348", ": <30,Ph,@3,\,/COO!,!~dr,N,!,O,!,@4,\,!,O,!,Ph,-1:/_") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Nalidixic acid","MW:232.239", ": <30,Ph,3=?6,9=dl,5:N,6:/_,7://O,8:/COOH,10:N!2") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Oryzalin","MW:346.4", ": <30,Ph,{1,3}:/NO2,@5,\,SOO,!,NH2,@2,\,/!2,N,!3") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Oxadiazon","MW:345.2", ": <30,Ph,{4,6}:/Cl,1:/O!?!,@3,\,|,?5,2=dl,{1,2}:N,4:O,5://O,3:/??!") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Oxadixyl","MW:278.3", ": <30,Ph,{2,4}:/_,@3,\,N,!1,//O,!2,O,!,@7,\,|,?5,1:N,2:O,5://O") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Oxyfluorfen","MW:361.701", ": <30,Ph,6:/CF3,4:/Cl,@3,\,O,!,Ph,-3:/NO2,@-4,\,O,!2") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Sulfadimidine","MW:278.33", ": <30,Ph,1:/NH2,@4,\,SOO,!,NH,!,|,Ph,{2,4}:N,{3,5}:/_") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Sulfamerazine","MW:264.303", ": <30,Ph,1:/NH2,@4,\,SOO,!,NH,!,|,Ph,{2,6}:N,3:/_") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Sulfadoxine","MW:310.328", ": <30,Ph,1:/NH2,@4,\,SOO,!,NH,!,|,Ph,{4,6}:N,{2,3}:/O!") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Sulfamethoxazole","MW:253.276", ": <30,Ph,1:/NH2,@4,\,SOO,!,NH,!,|,?5,{2,5}=dl,4:O,5:N,3:/_") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Thiamethoxam","MW:291.71", ": <30,?6,4:N,2:O,6:N!,5://'(N,!,NO2),@4,\,!,|,?5,{1,3}=dl,3:N,5:S,4:/Cl") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Thiamphenicol","MW:355", ": <30,Ph,@1,\,SOO,!,@4,\,/OH,!,/!OH,!`1.1,NH,!`1.1,//O,!,/Cl,!,Cl") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Pyridaphenthion","MW:340.334", ": <30,!2,O,!,P,//S,/O!2^160>rl,!,O,!,|,?6,{1,5}=dl,{2,3}:N,4://O,3:/Ph") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Permethrin","MW:391.288", ": <-30,?3,2^-35:*/_,2^35:/*_,1:/'(!!,/Cl,!,Cl), ", ": @3,\,//O,!,O,!2,|,Ph,@3,\,O,-60,Ph ") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Isoprothiolane","MW:290.392", ": <-30,!,?!,O,!,//O,!,//'(?5,2:S,5:S),!,//O,!,O,!,?!") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Oxine-Copper","MW:351.852", ": Ph,4:N,5=Ph,@-4,\,O,-60,<90,Cu,-90,O,60,|,Ph,5=Ph,10:N,||, ", ": @4,&12~vf,@23,&12~vf ") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Tetraconazole","MW:372.145", ": <-6,?5,{2,5}=dl, ", ": {1,2,4}:N,@4,\,!3,O,!,/F^35,/F^-35,!,CF2,@7,\,|,Ph,{4,6}:/Cl ") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Endosulfan","MW:406.904", ": <26,?7,7=?6[13],@11,208~wf`1.45,&8~wb,10=dl,{3,5}:O,4:S,4://O, ", ": {8,9,10,11,12^-210,12^-150}:/Cl ") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont; %****************************************************************************** beginfont("EN:Uniconazole-P","MW:291.779", ": <30,Ph,6:/Cl,@3,\,!~dl,!,/OH,!,??!,@8,\,|,?5,{2,4}=dl,{1,2,4}:N") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Oxadiargyl","MW:341.19", ": <30,Ph,{1,3}:/Cl,6:/'(O,!2,!!!),@4,\,|,?5,2=dl,{1,2}:N,4:O,5://O,3:/??!") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Oxaziclomefone","MW:376.277", ": <30,?6,6=dl,4:N,2:O,1:/_,5://O,6:/Ph,@4,\,??,!,|,Ph,{3,5}:/Cl") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Trimetoprim","MW:290.323", ": <30,Ph,{1,5}:N,{2,6}:/NH2,@3,\,!,|,Ph,{3,4,5}:/O!") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Ciprofloxacin","MW:331.347", ": <30,Ph,-4=?6,9=dl,7:N,6:/F,7:/?3,9:/COOH,10://O,@1,\,|,?6,1:N,4:NH") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Danofloxacin","MW:357.385", ": <30,Ph,-4=?6,9=dl,7:N, ", ": 6:/F,7:/?3,9:/COOH,10://O, ", ": @1,\,|,?6,@2,-200`1.1,&5,{1,4}:N,4:*/_ ") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Marbofloxacin","MW:362.361", ": <30,Ph,3=?6,9=dl,(2,7)=?6[4],6:/F,7:N,11:O,9:/COOH,10://O,13:N!, ", ": @1,\,|,?6,1:N,4:N! ") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Ofloxacin","MW:361.373", ": <30,Ph,3=?6,(2,7)=?6[4],9=dl,7:N,11:O,6:/F,9:/COOH,10://O,13:/_, ", ": @1,\,|,?6,{1,4}:N,4:/_ ") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Ormetoprim","MW:274.324", ": <30,Ph,{1,5}:N,{2,6}:/NH2,@3,\,!,|,Ph,2:/_,{4,5}:/O!") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Amoxicillin","MW:365.4042", ": <45,?4,-3=?5,2:N,7:S, ", ": 3^45:/*H,1://O^15,5:/*COOH^-18,6:??, ", ": @4,*\^15,NH,!,//O,!,*/NH2,!,Ph,-3:/OH ") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Ampicillin","MW:349.405", ": <45,?4,-3=?5,2:N,7:S, ", ": 3^45:/*H,1://O^15,5:/*COOH^-18,6:??, ", ": @4,*\^15,NH,!,//O,!,/*NH2,!,Ph ") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Benzyl-Penicillin","MW:334.4", ": <45,?4,-3=?5,2:N,7:S, ", ": 3^45:/*H,1://O^15,5:/*COOH^-18,6:??, ", ": @4,*\^15,NH,!,//O,!,!,Ph ") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Mecillinam","MW:325.4264", ": <45,?4,-3=?5,2:N,7:S, ", ": 3^45:/*H,1://O^15,5:/*COOH^-18,6:??, ", ": @4,*\^15,N,!!,!,?7,-7:N ") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Nafcillin","MW:414.4748", ": <45,?4,-3=?5,2:N,7:S, ", ": 3^45:/*H,1://O^15,5:/*COOH^-18,6:??, ", ": @4,*\^15,NH,!,//O,!,Ph,-2=Ph,-9:/O!2 ") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Oxacillin","MW:401.4363", @@ -547,7 +547,7 @@ beginfont("EN:Oxacillin","MW:401.4363", ": 3^45:/*H,1://O^15,5:/*COOH^-18,6:??, ", ": @4,*\^15,NH,!,//O,!,<-24,?5,{-2,-5}=dl,-2:N,-3:O,-4:/_, ", ": @-1,\^-24,Ph ") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Cloxacillin","MW:435.8813", @@ -555,7 +555,7 @@ beginfont("EN:Cloxacillin","MW:435.8813", ": 3^45:/*H,1://O^15,5:/*COOH^-18,6:??, ", ": @4,*\^15,NH,!,//O,!,<-24,?5,{-2,-5}=dl,-2:N,-3:O,-4:/_, ", ": @-1,\^-24,Ph,-5:/Cl ") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Dicloxacillin","MW:470.3264", @@ -563,14 +563,14 @@ beginfont("EN:Dicloxacillin","MW:470.3264", ": 3^45:/*H,1://O^15,5:/*COOH^-18,6:??, ", ": @4,*\^15,NH,!,//O,!,<-24,?5,{-2,-5}=dl,-2:N,-3:O,-4:/_, ", ": @-1,\^-24,Ph,{-1,-5}:/Cl ") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Cefalexin","MW:347.3889", ": <45,?4,-3=?6,-4=dl,2:N,8:S, ", ": 3^45:/*H,1://O^15,5:/*COOH,6:/_, ", ": @4,*\^15,NH,!,//O,!,*/NH2,!,Ph ") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Cefalonium","MW:458.5107", @@ -578,7 +578,7 @@ beginfont("EN:Cefalonium","MW:458.5107", ": 3^45:/*H,1://O^15,@5,\*,//O,!,O,n_^40, ", ": @4,*\^15,NH,!,//O,!2,?5,{-1,-3}=dl,-4:S, ", ": @6,\,!,|,Ph,1:N,1:p_^180,@4,\,//O,!,NH2 ") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Cefazorin","MW:454.51", @@ -586,7 +586,7 @@ beginfont("EN:Cefazorin","MW:454.51", ": 3^45:/*H,1://O^15,5:/*COOH, ", ": @4,*\^15,NH,!,//O,!2,?5,{-2,-4}=dl,{-1,-2,-3,-5}:N, ", ": @6,\,!,S,!,?5,{-3,-5}=dl,-1:S,-2:/_,{-3,-4}:N ") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Cefquinome","MW:528.6", @@ -594,7 +594,7 @@ beginfont("EN:Cefquinome","MW:528.6", ": 3^45:/*H,1://O^15,@5,\*,//O,!,O,n_^40, ", ": @4,*\^15,NH,!,//O,!,//'(N,!,O,!),!,?5,{-2,-5}=dl,-3:S,-1:N,-2:/NH2, ", ": @6,\,!,Ph,-2=?6,-10:N,-10:p_^180 ") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Ceftiofur","MW:523.5626", @@ -602,7 +602,7 @@ beginfont("EN:Ceftiofur","MW:523.5626", ": 3^45:/*H,1://O^15,5:/*COOH, ", ": @4,*\^15,NH,!,//O,!,//'(N,!,O,!),!,?5,{-2,-5}=dl,-3:S,-1:N,-2:/NH2, ", ": @6,\,!,S,!,//O,!,?5,{-1,-3}=dl,-4:O ") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Cefuroxime","MW:424.3852") @@ -684,7 +684,7 @@ beginfont("EN:Spinosad","MW:731.968", ": @-2,\~zf,O,66,?6`.8,-1:O,-2:/_,{-3,-4,-5}:/O!, ", ": 8~wf:/Me,5^-65~wf:/H, ", ": @9,\~zf,O,!,|,?6`.8,2:O,3:/_,-3:/N?! ") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Spiramycin","MW:843.1", @@ -694,7 +694,7 @@ beginfont("EN:Spiramycin","MW:843.1", ": @7,\*,O,0~wb,?6`.7,-5:O,-2:*/N?!,-1:/*OH,-4:*/_, ", ": @-3,\*`1,O,60~wb`1.5,?6`.7,-5:O,{-2^35,-3}:*/OH,{-2^-35,-4}:/*_, ", ": @8,\*,!,!!,O ") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Natamycin","MW:665.733", @@ -703,7 +703,7 @@ beginfont("EN:Natamycin","MW:665.733", ": {2,4,6,8,20}=dl,11=zb,23:O,-2:/*OH,-3:*/COOH, ", ": 18=?3,-1=wb,-2=wf,-1:O,22://O,24:*/_,{14^60,16}:*/OH, ", ": @10,*\,O,90,?6`.8,-3:*/OH,-5:/*OH,-4:/*NH2,-1:O,-2:/*_ ") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Tylocin","MW:916.10", @@ -713,7 +713,7 @@ beginfont("EN:Tylocin","MW:916.10", ": @7,\*,O,0~wb,?6`.7,-5:O,-2:*/N?!,-1:/*OH,-4:*/_, ", ": @-3,\*`1,O,60~wb`1.5,?6`.7,-5:O,{-2^35,-3}:*/OH,{-2^-35,-4}:/*_, ", ": @8,\*,!,!!,O ") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Tilmicosin","MW:869.133", @@ -722,38 +722,38 @@ beginfont("EN:Tilmicosin","MW:869.133", ": @-1,*\,-60,O,0~zb,?6`.7,-5:O,{-1,-2}:*/O!,-3:*/OH,-4:/*_, ", ": @7,\*,O,0,?6`.7,-5:O,-2:*/N?!,{-1,-3}:/*OH,-4:*/_, ", ": @8,\*,!2,?6`.7,-6:N,{-2,-4}:*/_ ") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Chlortetracyclin","MW:478.88", ": <30,Ph,{-4,-3,-3}=?6,{16,19}=dl,{10,18}://O,7:*/_^-35,2:/Cl, ", ": {5,7~zf^35,13~wf^60,14,16}:/OH,15:*/N?!,17:/CONH2 ") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Oxytetracyclin","MW:460.434", ": <30,Ph,{-4,-3,-3}=?6,{16,19}=dl,{10,18}://O,7:*/_^-35,11:*/OH, ", ": {5,7~zf^35,13~wf^60,14,16}:/OH,15:*/N?!,17:/CONH2 ") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Tetracyclin","MW:444.435", ": <30,Ph,{-4,-3,-3}=?6,{16,19}=dl,{10,18}://O,7:*/_^-35, ", ": {5,7~zf^35,13~wf^60,14,16}:/OH,15:*/N?!,17:/CONH2 ") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Doxycyclin","MW:444.43", ": <30,Ph,{-4,-3,-3}=?6,{16,19}=dl,{10,18}://O,7:*/_, ", ": {5,13~wf^60,11~wf,14,16}:/OH,15:*/N?!,@17,\,//O,!,NH2 ") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Tiamulin","MW:493.74", ": <-45.5,?8,-3=?5,@8,#.8,-210~zf,/_^60,45,56,##,&6~zb, ", ": {3^-45,5,8}:*/_,@3,\*^30,!~dl,4:/*OH,11://O,7:*/H^60, ", ": @1,\^15,O,!,//O,!2,S,60,60,-60,N!2,60,-60 ") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Rifampicin","MW:822.94", @@ -762,19 +762,19 @@ beginfont("EN:Rifampicin","MW:822.94", ": #1,@-2,\,NH,60,//O,-60,/_,60~dl,60,60~dl,-60, ", ": */_,60,/*OH,-60,/*_,60,/*OH,60,*/_^30,-60, ", ": 60,/*_^30,-53,66,-53~dl,66`1.2,O,##,&($8), ", - ": -4:/*O!,@-6,-30,O,!,//O,!,@.$11,\,!!,N,!,|,?6,1:N,4:N! ") - if check_mc(mc)=0: MC(scantokens(mc)) fi + ": -4:/*O!,@-6,-30,O,!,//O,!,@$11,\,!!,N,!,|,?6,1:N,4:N! ") + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Trenbolone","MW:270.37", ": <30,?6,{3,10}=?6,13=?5,{2,11,15}=dl, ", ": 1://O,12:*/_^60,-1:/*OH,9:*/H^60,11:/*H^-60 ") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Luciferin","MW:280.33", ": <30,Ph,3=?5,@8,\,?5,{9,16}=dl,{9,14}:N,{7,11}:S,1:/OH,-2:*/COOH") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Chlorophyll a","MW:893.509", @@ -782,12 +782,12 @@ beginfont("EN:Chlorophyll a","MW:893.509", ": {4,6,8,10,14,16,18,21,23,27}=dl,@4,\`1.48~vf,Mg,&17~vb,@11,&27,@27,&23, ", ": {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}:/_ ") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Quercetin","MW:302.24", ": <30,Ph,3=?6,@9,\,Ph,9=dl,10:O,7://O,{2,6,8,13,14}:/OH") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Limonin","MW:470.518", @@ -795,86 +795,86 @@ beginfont("EN:Limonin","MW:470.518", ": {13,15,17,20}:O,{3,12,21}://O, ", ": {4~wf^60,8~zf^60}:/_,18:??,{1^60,5^180,16^60}:/*H, ", ": @14,\*,|,?5,{1,4}=dl,3:O ") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Cromolyn","MW:468.37", ": <30,Ph,|,-1=?6,3=dl,1:O,4://O,2:/COOH, ", - ": @.$2,\,O,!2,/OH,!2,O,60,Ph,|,-5=?6,3=dl,4:O,1://O,3:/COOH ") - if check_mc(mc)=0: MC(scantokens(mc)) fi + ": @$2,\,O,!2,/OH,!2,O,60,Ph,|,-5=?6,3=dl,4:O,1://O,3:/COOH ") + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Emetine","MW:480.649", ": <30,Ph,{-4,-4}=?6,8:N,{1,6}:/O!,-2:/*!,{7^-60,12^-60}:/*H, ", ": @-3,\,!~zb,<-60,|,?6,5=dl,2:NH,-6^-60:*/H,|,-2=?6,{2,4}=dl,{-2,-3}:/O! ") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Acronycine","MW:321.376", ": <30,Ph,|,-4=?6,1:N!,4://O,-3=Ph2,-1:/O!,|,-4=?6,2=dl,4:O,3:??") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Piperine","MW:285.343", - ": <30,Ph,|,-1=?5,{1,3}:O,@.$4,\,!!,!,!!,!,//O,!,|,?6,1:N") - if check_mc(mc)=0: MC(scantokens(mc)) fi + ": <30,Ph,|,-1=?5,{1,3}:O,@$4,\,!!,!,!!,!,//O,!,|,?6,1:N") + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Febrifugine","MW:301.346", - ": <30,Ph,|,-4=?6,2=dl,{1,3}:N,4://O,@.$9,\,!,//O,!,!~zf,|,?6,2:NH,-1:*/OH") - if check_mc(mc)=0: MC(scantokens(mc)) fi + ": <30,Ph,|,-4=?6,2=dl,{1,3}:N,4://O,@$9,\,!,//O,!,!~zf,|,?6,2:NH,-1:*/OH") + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Mitomycine C","MW:334.332", ": <30,?6,{3,6}=dl,{2,5}://O,1:/_,-4=?5,-3:N, ", ": 6:/NH2,,-3=?5,-2=?3,-1=wb,-2=wf,-1:NH, ", - ": 8:/*O!^35,@.$9,\,!,O,60,//O,!,NH2 ") - if check_mc(mc)=0: MC(scantokens(mc)) fi + ": 8:/*O!^35,@$9,\,!,O,60,//O,!,NH2 ") + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Podophyllotoxin","MW:414.41", ": <0,?5,{2,5}:O,-3=Ph2,-3=?6,-3=?5,-2:O,-1=wb,-3://O, ", ": @10,\*,Ph,{-2,-3,-4}:/O!,13:/*OH,{11~wf^-60,12~zf^60}:/H ") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont; %****************************************************************************** beginfont("EN:Warfarin","MW:308.333", ": <30,Ph,3=?6,8=dl,10:O,7:/OH,9://O,@8,\,/Ph`1,60,!,//O,!") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont; %****************************************************************************** beginfont("EN:Genistein","MW:270.24", ": <30,Ph,3=?6,9=dl,10:O,{2,6}:/OH,7://O,@8,\,Ph,-3:/OH") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont; %****************************************************************************** beginfont("EN:Baicalein","MW:270.24", ": <30,Ph,3=?6,9=dl,10:O,{1,2,6}:/OH,7://O,@8,\,Ph") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont; %****************************************************************************** beginfont("EN:Reserpine","MW:608.688", ": <54,Ph,-4=?5,-2=?6,-4=?6,-3=?6,9=dl,11:N,7:NH,10:*/H^-60, ", ": {15^-60,16^60}:/*H, ", ": @20,*\,O,!,//O,!,Ph,{-2,-3,-4}:/O!,{1,19~zf>rl}:/O!,18:*/COO!>lr ") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont; %****************************************************************************** beginfont("EN:Rotenone","MW:394.423", ": <-60,?5,{-3,-2,-3,-4}=?6,{7,9,-2,-4}=dl,{3,17}=dr, ", ": {2,13,16}:O,10://O,{11^-60,12^60}:*/H,{-2,-3}:/O!,@1,*\,/_,!! ") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont; %****************************************************************************** beginfont("EN:Pyrethrin I","MW:328.452", ": <30,?3,{3^35~wf,3^-35~zf}:/_,@1,*\,!!,?!, ", ": @2,\*,//O,!,O,-36~zb,|,?5,-2=dl,-1:/_,-3://O,@-2,\,!4,{-1,-3}=dl ") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont; %****************************************************************************** beginfont("EN:Oseltamivir","MW:312.40", ": <30,?6,3=dl,6:*/NH2,@1,\*,NH,!,//O,!,@2,*\,O,!,/!,!2,@4,\,//O,!,O,!2") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Paclitaxel","MW:853.918", @@ -882,69 +882,69 @@ beginfont("EN:Paclitaxel","MW:853.918", ": 4:??,6:/_,{3^-60,15}:*/OH,8:/*H^-60,9:*/_^60,10://O, ", ": @1,\,O,!,//O,!,*/OH,!,/Ph,60~wf,NH,-60,//O,60,Ph, ", ": @7,\*,O,-45,//O,60,Ph,11:*/OCO!>rl,12:/*OCO!^-15>lr ") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Mevastatin","MW:390.52", ": <30,?6,2=dl,4:*/H^60,-4=?6,-4=dl,9:*/_, ", ": @10,*\,!,60~wb,?6,6:O,-2://O,-4:/*OH,@5,\*,O,60,//O,!,*/_,!2 ") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Sesamine","MW:354.35", ": <54,?5,1=?5,{4,7}:O,{1^-54,2^54}:*/H,{5,8}:*/'(Ph,4=?5,7:O,9:O)^-12") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Morphine","MW:285.343", ": <30,Ph,2=?6,-4=?6,(1,12)=?5[2],-1:O,-1=zb, ", ": @7,60~wf`0.75,70~si_`1.3,45,N!,&9~wb, ", ": 15=dl,6:/OH,8^180:*/H,12:/*OH ") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Quinine","MW:324.424", ": <30,Ph,3=Ph,7:N,6:/O!, ", ": @10,\,*/OH,/H~zf^-60,!,|,?6,2:N,1:*/H^60,@4,*\,!!,@2,165~zf,60,&5~zb ") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Atoropin","MW:289.375", ": <30,O,!,//O,!,!,Ph, ", - ": @.$1,\~zb^-60,|,?7`1.1,@6,*\^190`1.25,N!,&3~wb,$3:/!OH~wv ") - if check_mc(mc)=0: MC(scantokens(mc)) fi + ": @$1,\~zb^-60,|,?7`1.1,@6,*\^190`1.25,N!,&3~wb,$3:/!OH~wv ") + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Colchicine","MW:399.443", ": <30,Ph,{1,2,6}:/O!,-4=?7,-5=?7,{-1,-4,-6}=dl,-2://O,-3:/O!,9:/NHCO!") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Lycorine","MW:287.315", ": <30,Ph,-4=?6,-2=?6,6=?5,(9,12)=?5[3],13=dl,8:N,{15,17}:O, ", ": 9:/*H^180,10:*/H^60,13:*/OH,14:/*OH ") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Ibotenic acid","MW:158.113", ": <18,?5,4=dl,3:O,2:NH,1://O,@4,-24,/NH2,!,COOH") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:illudin S","MW:264.3", ": <30,?6,3=?5,6:**?3,{4,7}=dl,2://O,5:/_, ", ": {1^35,8^35}:*/_,1:/*OH^-35,9:*/OH,8:/*!OH^-35 ") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Muscarine","MW:174.26", ": <18,?5,2:O,1:*/_,5:/*OH,@3,*\,48,N,??,p_^180,!") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Psilocybin","MW:284.248", ": <30,Ph,3=?5,8=dl,9:NH,@2,\,O,-60,P,//O^-45,/OH^45,90,OH,@7,\,!,-60,N?!") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Tetrodotoxine","MW:319.27", @@ -952,13 +952,13 @@ beginfont("EN:Tetrodotoxine","MW:319.27", ": @10,\,O,60`1.33,60,&($3)~si_,@8,-15~si_,O,&12,##, ", ": @9,45,-60,OH,1^120://NH, ", ": {5~zf^-15,7,9^-75,12,13~zf}:/OH,{2,6^180}:NH ") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** beginfont("EN:Aflatoxin B1","MW:312.27", ": <30,Ph,6=?6,-2=?5,4=?5,-2=?5,{-2,10}=dl,{7,14,17}:O, ", ": 2:/O!,{8,11}://O,{15^-54,16^54}:*/H ") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %****************************************************************************** bye diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.pdf b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.pdf index a4a5a3ba7f6..a0c768a271a 100644 Binary files a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.pdf and b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.pdf differ diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.tex b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.tex index 155d6139e99..bd8347527ab 100644 --- a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.tex +++ b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.tex @@ -1,12 +1,22 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Example of MCF typeset by LaTeX mcf_examples.tex by A.Yamaji 2021.02.28 +% Example of MCF typeset by LaTeX mcf_examples.tex by A.Yamaji 2021.03.21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \documentclass[a4paper]{article} \usepackage{graphicx} -%--------------------- +\makeatletter% +%-------------------------------- +\edef\jobname{mcf_exa_soc}% \usepackage{mcf_setup} +%-------------------------------- %%%%\pdfpkresolution=1200 -%--------------------- +%-------------------------------- +\edef\f@ext{pk}% **** for proof print (fast) +%%%%\edef\f@ext{mps}% **** for final print (it takes long time) +%-------------------------------- +%%%%\edef\fext{png}% +%%%%\edef\fext{svg}% +%%%%\edef\fext{eps}% +%-------------------------------- \pagestyle{empty} \topmargin=-24mm \oddsidemargin=-12mm @@ -14,24 +24,18 @@ \textheight=280mm \parindent=0mm \setlength\columnsep{8mm} -%----------------------------------------------------------------------------- -\makeatletter% +%-------------------------------- \newbox \f@box% \newcount \f@num% \newcount \tnum% \tnum=0% \font\labelM=cmtt8 at 6pt\relax% -%----------------------------------------------------------------------------- +%-------------------------------- \newif\ifCONT@% \newread\@auxf% -%------------------------------------------------------------------------ +%-------------------------------- \f@num=1% \unitlength=0.01mm% -%------------------------------------------------------------------------ -\edef\jobname{mcf_exa_soc}% -\edef\f@ext{pk}% -%%%%\edef\f@ext{mps}% -%%%%\edef\f@ext{png}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \begin{document} \begin{center} 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 04ed57fe0c2..74652a2e7b4 100644 --- a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc.mf +++ b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc.mf @@ -1,8 +1,8 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Molecular Coding Format file for mcf_manual.tex by Akira.Yamaji 2021.03.07 +% Molecular Coding Format file for mcf_manual.tex by Akira.Yamaji 2021.03.21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -input mcf2graph.mf; %% it must be version 4.60 -message "mcf_man_soc 2021.03.07"; message ""; +input mcf2graph.mf; %% it must be version 4.61 +message "mcf_man_soc 2021.03.21"; message ""; %------------------------------------------------------------------------ sw_mframe:=0; sw_expand:=0; @@ -15,120 +15,120 @@ fsize:=(40mm,25mm); blength:=6mm; %*********************************************************************** beginfont("EN:Glycine",":<30,NH2,!2,COOH") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %*********************************************************************** beginfont("EN:L-Alanine",":<30,NH2,!~wb,/_,!,COOH") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %*********************************************************************** beginfont("EN:L-Valine",":<30,NH2,!~wb,/!?!,!,COOH") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %*********************************************************************** beginfont("EN:L-Leucine",":<30,NH2,!~wb,/!?!,!,COOH") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %*********************************************************************** beginfont("EN:L-Isoleucine",":<30,NH2,!~wb,/'(/*_,!2),!,COOH") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %*********************************************************************** beginfont("EN:L-Serine",":<30,NH2,!~wb,/!OH,!,COOH") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %*********************************************************************** beginfont("EN:L-Threonine",":<30,NH2,!~wb,/'(/_,!~wf,OH),!,COOH") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %*********************************************************************** beginfont("EN:L-Cysteine",":<30,NH2,!~wb,/!SH,!,COOH") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %*********************************************************************** beginfont("EN:L-Methionine",":<30,NH2,!~wb,/'(!2,S,!),!,COOH") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %*********************************************************************** beginfont("EN:L-Phenylalanine",":<30,NH2,!~wb,/!Ph,!,COOH") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %*********************************************************************** beginfont("EN:L-Tyrosine",":<30,NH2,!~wb,/'(!Ph,-3:/OH),!,COOH") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %*********************************************************************** beginfont("EN:L-Triptophan", ":<30,NH2,!~wb,!,COOH,@2,\,!,<24,|,?5,-4=Ph,2=dr,5=dl,4:NH") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %*********************************************************************** beginfont("EN:L-Prorine",":<18,?5,3:NH,4:*/COOH") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %*********************************************************************** beginfont("EN:L-Glutamine", ":<30,NH2,!~wb,!,COOH,@2,\`1,!`1,!,//O,!,NH2") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %*********************************************************************** beginfont("EN:L-Asparagine",":<30,NH2,!~wb,/'(!,//O,!,NH2),!,COOH") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %*********************************************************************** beginfont("EN:L-Aspartic acid",":<30,NH2,!~wb,/!COOH,!,COOH") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %*********************************************************************** beginfont("EN:L-Glutamic acid",":<30,NH2,!~wb,/'(!2,COOH),!,COOH") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %*********************************************************************** beginfont("EN:L-Lysine",":<30,NH2,!~wb,/'(!4,NH2),!,COOH") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %*********************************************************************** beginfont("EN:L-Arginine", ":<30,NH2,!~wb,!,COOH,@2,\`1,!`1,!2,NH,!,//NH,!,NH2") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %*********************************************************************** beginfont("EN:L-Hystidine", ":<30,NH2,!~wb,!,COOH,@2,\,!,|,?5,{1,3}=dl,3:N,5:NH") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %*********************************************************************** beginfont("EN:L-DOPA",":<30,NH2,!~wb,!,COOH,@2,\,!,Ph,{-3,-4}:/OH") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %*********************************************************************** beginfont("EN:Ornithine",":<30,NH2,!~wb,/'(!3,NH2),!,COOH") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %*********************************************************************** beginfont("EN:Citrulline",":<30,NH2,!~wb,/'(!3,NH,!,//O,!,NH2),!,COOH") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %*********************************************************************** beginfont("EN:GABA",":<30,NH2,!4,COOH") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %*********************************************************************** beginfont("EN:amino Levulinic acid",":<30,NH2,!2,//O,!3,COOH") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %*********************************************************************** beginfont("EN:4-amino benzoic acid",":<30,Ph,1:/NH2,4:/COOH") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %*********************************************************************** beginfont("EN:L-Carboxyl glutamic acid", ":<30,NH2,!~wb,/'(!,/COOH,!,COOH),!,COOH") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %*********************************************************************** beginfont("EN:L-Hydroxy Prorine",":<18,?5,1:/OH,3:NH,4:*/COOH") - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %*********************************************************************** %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -261,10 +261,17 @@ endfont beginfont("EN:change bond 1") fsize:=(70mm,12mm); fmargin:=(2mm,3mm); - blength:=8mm; - sw_trimming:=1; + sw_trimming:=0; ratio_chain_ring:=1; MC(<-30,!~dm,!,!~dl,!,!~dr,!~db,!~db,!,!~tm) + add(defaultscale:=0.6; labeloffset:=0; + label.rt("(dm)",A1+(0,-0.8l)); + label.rt("(dl)",A3+(0,-0.8l)); + label.rt("(dr)",A5+(0,-0.8l)); + label.rt("(db)",A6+(0,-0.3l)); + label.rt("(db)",A7+(0,-0.8l)); + label.rt("(tm)",A9+(0,-0.8l)); + ) endfont %*********************************************************************** beginfont("EN:change bond 2") @@ -274,6 +281,12 @@ beginfont("EN:change bond 2") sw_trimming:=1; ratio_chain_ring:=1; MC(<-30,!~wf,!,!~wb,!,!~zf,!,!~zb) + add(defaultscale:=0.6; labeloffset:=0; + label.rt("(wf)",A1+(0,-0.7l)); + label.rt("(wb)",A3+(0,-0.7l)); + label.rt("(zf)",A5+(0,-0.7l)); + label.rt("(zb)",A7+(0,-0.7l)); + ) endfont %*********************************************************************** beginfont("EN:change bond 3") @@ -283,6 +296,10 @@ beginfont("EN:change bond 3") sw_trimming:=1; ratio_chain_ring:=1; MC(<-30,!~vf,!,!~vb) + add(defaultscale:=0.6; labeloffset:=0; + label.rt("(vf)",A1+(0,-0.7l)); + label.rt("(vb)",A3+(0,-0.7l)); + ) endfont %*********************************************************************** beginfont("EN:change bond 3") @@ -292,6 +309,12 @@ beginfont("EN:change bond 3") sw_trimming:=1; ratio_chain_ring:=1; MC(<-30,!7,1=dt,3=wv,5=bd,7=bz) + add(defaultscale:=0.6; labeloffset:=0; + label.rt("(dt)",A1+(0,-0.7l)); + label.rt("(wv)",A3+(0,-0.7l)); + label.rt("(bd)",A5+(0,-0.7l)); + label.rt("(bz)",A7+(0,-0.7l)); + ) endfont %*********************************************************************** beginfont("EN:change bond 4") @@ -347,6 +370,7 @@ 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; msize:=(1,.88); @@ -355,6 +379,7 @@ endfont %*********************************************************************** 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; msize:=(1,.88); @@ -363,6 +388,7 @@ endfont %*********************************************************************** beginfont("EN:change atom absolute address") fsize:=(70mm,15mm); + fmargin:=(3mm,1.5mm); MCat(0,.5)(?6,@4,\,?6,$2:N) sw_numberA:=1; msize:=(1,.88); @@ -371,6 +397,7 @@ endfont %*********************************************************************** beginfont("EN:change atom relative adress") fsize:=(70mm,15mm); + fmargin:=(3mm,1.5mm); MCat(0,.5)(?6,@4,\,?6,-2:N) sw_numberA:=3; msize:=(1,.88); @@ -411,6 +438,7 @@ endfont %----------------------------------------------------------------------- beginfont("EN:fuse multi ring") fsize:=(70mm,20mm); + fmargin:=(2mm,2mm); sw_numberB:=1; sw_trimming:=1; MC(<30,?6,{-3,-4,-4,-2,-2,-4,-4}=?6,{4,8,13,20,25,28,33}=dt) @@ -418,6 +446,7 @@ endfont %*********************************************************************** beginfont("EN:fused ring 2") fsize:=(75mm,20mm); + fmargin:=(2mm,2mm); sw_numberB:=1; msize:=(1,.9); MCat( 0,.5)(<30,?6,3=?6,(11,4)=?6[4],{11,4}=dt,{12,13,14,15}=bd) @@ -467,7 +496,14 @@ endfont beginfont("EN:group 2") fsize:=(80mm,15mm); sw_trimming:=1; - MC(<30,!`1,//O,!2`1,/*H,!2`1,*/H,!2`1,*/*H,!2`1,**?3,!`1) + MC(<30,!`1,//O,!2`1,*/H,!2`1,/*H,!2`1,*/*H,!2`1,**?3,!`1) + add(defaultscale:=0.75; + label("//",A2-(0,0.45l)); + label("*/",A4-(0,0.45l)); + label("/*",A6-(0,0.45l)); + label("*/*",A8-(0,0.45l)); + label("**",A10-(0,0.45l)); + ) endfont %*********************************************************************** beginfont("EN:group 3") @@ -545,34 +581,50 @@ beginfont("EN:methyl*2,isopropyl,tert-butyl") endfont %*********************************************************************** beginfont("EN:User definition") - fsize:=(60mm,15mm); + fsize:=(60mm,13mm); sw_trimming:=1; iBuOH:='(!,/_,!,OH); MC(<30,?6,{4,6}:/iBuOH) endfont %*********************************************************************** beginfont("EN:Inline definition") - fsize:=(60mm,15mm); + fsize:=(60mm,13mm); fmargin:=(2mm,1mm); sw_trimming:=1; MC(<30,!8,{2,6}:/'(!,/_,!,OH)) endfont %*********************************************************************** beginfont("EN:Move position") - fsize:=(60mm,12mm); + fsize:=(70mm,16mm); fmargin:=(2mm,1mm); sw_trimming:=1; MC(<30,?6,@3,\,!3,//O,!,O,n_^60,@(6,1),H,p_^15) add(drawdot A1 withpen pencircle scaled 2bp; pickup pencircle scaled 0.1bp; for i=0 upto 6: - draw (A1+(l*i,l-2bp))--(l*i,l+2bp); + draw (A1+(l*i,l-3bp))--(l*i,l+3bp); endfor draw A1--(A1+(0,1l))--A1+(6l,1l); - draw (A1+(0,1l))--(A1+(-2bp,1l)); + draw (A1+(0,1l))--(A1+(-3bp,1l)); ) endfont %*********************************************************************** +beginfont("EN:Change color") + fsize:=(50mm,20mm); + max_blength:=8mm; + MC( + <30,Ph,{2,5}:N,3:/NH2,4:/COOH, + 2:red,5:blue,3=green + ) +endfont +%*********************************************************************** +beginfont("EN:Change font") + fsize:=(50mm,20mm); + max_blength:=8mm; + atomfont:="cmr8"; + MC(<30,Ph,{2,5}:N,3:/NH2,4:/COOH) +endfont +%*********************************************************************** beginfont("EN:mangle") fsize:=(50mm,15mm); blength:=6mm; @@ -698,7 +750,7 @@ beginfont("EN:mposition") endfont %*********************************************************************** beginfont("EN:Font size") - fsize:=(40mm,15mm); + fsize:=(40mm,12mm); sw_fframe:=1; MC(<30,Ph) ext(pickup pencircle scaled 0.2pt; @@ -710,10 +762,10 @@ beginfont("EN:Font size") endfont %*********************************************************************** beginfont("EN:fmargin") - fsize:=(40mm,15mm); + fsize:=(40mm,12mm); sw_fframe:=3; sw_mframe:=1; - fmargin:=(10mm,3mm); + fmargin:=(10mm,1mm); MC(<30,Ph) ext(pickup pencircle scaled 0.2pt; for i=0 upto w/mm: draw (i*mm,0)--(i*mm,-.5mm); endfor @@ -725,39 +777,60 @@ beginfont("EN:fmargin") endfont %*********************************************************************** beginfont("EN:offset_thickness") - fsize:=(60mm,15mm); - offset_thickness:=0.0pt; MCat(0.08,0.5)(<30,Ph) - offset_thickness:=0.2pt; MCat(.5,0.5)(<30,Ph) - offset_thickness:=0.5pt; MCat(0.92,0.5)(<30,Ph) endfont + fsize:=(60mm,12mm); + offset_thickness:=0.0pt; MCat(0.1,0.5)(<30,Ph) + offset_thickness:=0.2pt; MCat(0.55,0.5)(<30,Ph) + offset_thickness:=0.5pt; MCat(1,0.5)(<30,Ph) + ext(defaultscale:=0.6; labeloffset:=1bp; + label.urt("0.0pt",(0,1bp)); + label.urt("0.2pt",(0.36w,1bp)); + label.urt("0.5pt",(0.7w,1bp)); + ) +endfont %*********************************************************************** beginfont("EN:offset_bond_gap") - fsize:=(60mm,15mm); + fsize:=(60mm,12mm); offset_bond_gap:=0.0pt; - MCat(0.08, .5)(<30,Ph) + MCat(0.1, .5)(<30,Ph) offset_bond_gap:=0.3pt; %<<== default - MCat(.50, .5)(<30,Ph) + MCat(.55, .5)(<30,Ph) offset_bond_gap:=1.0pt; - MCat(0.92, .5)(<30,Ph) + MCat(1, .5)(<30,Ph) + ext(defaultscale:=0.6; labeloffset:=1bp; + label.urt("0.0pt",(0,1bp)); + label.urt("0.3pt",(0.36w,1bp)); + label.urt("1.0pt",(0.7w,1bp)); + ) endfont %*********************************************************************** beginfont("EN:offset_atom") - fsize:=(60mm,15mm); + fsize:=(60mm,12mm); offset_atom:=0.0pt; - MCat(0.08, .5)(<30,?6,3:O) + MCat(0.1, .5)(<30,?6,3:O) offset_atom:=0.8pt; %<<== default - MCat(.5, .5)(<30,?6,3:O) + MCat(.55, .5)(<30,?6,3:O) offset_atom:=2.0pt; - MCat(0.92, .5)(<30,?6,3:O) + MCat(1, .5)(<30,?6,3:O) + ext(defaultscale:=0.6; labeloffset:=1bp; + label.urt("0.0pt",(0,1bp)); + label.urt("0.8pt",(0.36w,1bp)); + label.urt("2.0pt",(0.7w,1bp)); + ) endfont %*********************************************************************** beginfont("EN:offset_wedge") - fsize:=(60mm,15mm); + fsize:=(60mm,12mm); offset_wedge:=0.0pt; - MCat(0.08, .5)(<30,?6,5:*/_) + MCat(0.1,0.5)(<30,?6,5:*/_) offset_wedge:=0.4pt; %<<== default - MCat( .5, .5)(<30,?6,5:*/_) + MCat(0.55,0.5)(<30,?6,5:*/_) offset_wedge:=1.0pt; - MCat(0.92, .5)(<30,?6,5:*/_) + MCat(1, 0.5)(<30,?6,5:*/_) + ext(defaultscale:=0.6; labeloffset:=1bp; + label.urt("0.0pt",(0,1bp)); + label.urt("0.4pt",(0.36w,1bp)); + label.urt("1.0pt",(0.7w,1bp)); + ) endfont %*********************************************************************** beginfont("EN:max_blength") @@ -769,87 +842,132 @@ beginfont("EN:max_blength") MCat(.4,.5)(<30,Ph) max_blength:=20mm; %<<== default MCat(1, .5)(<30,Ph) + ext(defaultscale:=0.6; labeloffset:=1bp; + label.urt("6mm", (0.08w,2bp)); + label.urt("8mm", (0.40w,2bp)); + label.urt("20mm",(0.75w,0.45h)); + ) endfont %*********************************************************************** beginfont("EN:ratio_thickness_bond") - fsize:=(60mm,15mm); + fsize:=(60mm,12mm); ratio_thickness_bond:=0.005; - MCat(0.08, .5)(<30,Ph) + MCat(0.1,0.5)(<30,Ph) ratio_thickness_bond:=0.015; %<<== default - MCat(.5, .5)(<30,Ph) + MCat(.55,0.5)(<30,Ph) ratio_thickness_bond:=0.03; - MCat(0.92, .5)(<30,Ph) + MCat(1, 0.5)(<30,Ph) + ext(defaultscale:=0.6; labeloffset:=1bp; + label.urt("0.005",(0,1bp)); + label.urt("0.015",(0.36w,1bp)); + label.urt("0.030",(0.7w,1bp)); + ) endfont %*********************************************************************** beginfont("EN:ratio_char_bond") - fsize:=(60mm,15mm); + fsize:=(60mm,12mm); ratio_char_bond:=1.0; - MCat( 0, .5)(<30,?6,6:O,3:NH) + MCat(0, .5)(<30,?6,6:O,3:NH) ratio_char_bond:=1.5; %<<== default MCat(.5, .5)(<30,?6,6:O,3:NH) ratio_char_bond:=2.0; MCat( 1, .5)(<30,?6,6:O,3:NH) + ext(defaultscale:=0.6; labeloffset:=1bp; + label.urt("1.0",(0,1bp)); + label.urt("1.5",(0.36w,1bp)); + label.urt("2.0",(0.7w,1bp)); + ) endfont %*********************************************************************** beginfont("EN:ratio_bondgap_bond") - fsize:=(60mm,15mm); + fsize:=(60mm,12mm); ratio_bondgap_bond:=0.10; - MCat(0.08, .5)(<30,Ph) + MCat(0.1, .5)(<30,Ph) ratio_bondgap_bond:=0.15; %<<== default - MCat(.5, .5)(<30,Ph) + MCat(.55, .5)(<30,Ph) ratio_bondgap_bond:=0.20; - MCat(0.92, .5)(<30,Ph) + MCat(1 , .5)(<30,Ph) + ext(defaultscale:=0.6; labeloffset:=1bp; + label.urt("0.10",(0,1bp)); + label.urt("0.15",(0.36w,1bp)); + label.urt("0.20",(0.7w,1bp)); + ) endfont %*********************************************************************** beginfont("EN:ratio_atom_bond") - fsize:=(60mm,15mm); + fsize:=(60mm,12mm); ratio_atom_bond:=0.25; - MCat(0.08, .5)(<30,?6,3:O) + MCat(0.1, .5)(<30,?6,3:O) ratio_atom_bond:=0.33; %<<== default - MCat(.5, .5)(<30,?6,3:O) + MCat(.55, .5)(<30,?6,3:O) ratio_atom_bond:=0.45; - MCat(0.92, .5)(<30,?6,3:O) + MCat(1, .5)(<30,?6,3:O) + ext(defaultscale:=0.6; labeloffset:=1bp; + label.urt("0.25",(0,1bp)); + label.urt("0.33",(0.36w,1bp)); + label.urt("0.45",(0.7w,1bp)); + ) endfont %*********************************************************************** beginfont("EN:ratio_wedge_bond") - fsize:=(60mm,15mm); + fsize:=(70mm,12mm); ratio_wedge_bond:=0.1; - MCat(0.08, .5)(<30,?6,5:*/_) + MCat(0.05, .5)(?6,4:*/_) ratio_wedge_bond:=0.12; %<<== default - MCat(.5, .5)(<30,?6,5:*/_) + MCat(.55, .5)(?6,4:*/_) ratio_wedge_bond:=0.2;; - MCat(0.92, .5)(<30,?6,5:*/_) + MCat(1 , .5)(?6,4:*/_) + ext(defaultscale:=0.6; labeloffset:=1bp; + label.urt("0.10",(0,1bp)); + label.urt("0.12",(0.36w,1bp)); + label.urt("0.20",(0.7w,1bp)); + ) endfont %*********************************************************************** beginfont("EN:ratio_atomgap_atom") - fsize:=(60mm,15mm); + fsize:=(70mm,12mm); sw_aframe:=1; ratio_atomgap_atom:=0.00; - MCat(0, .5)(<30,!2,2:O) + MCat(0, .5)(<30,!2`0.5,2:O) ratio_atomgap_atom:=0.050; %<<== default - MCat(.5,.5)(<30,!2,2:O) + MCat(.5,.5)(<30,!2`0.5,2:O) ratio_atomgap_atom:=0.12; - MCat(1, .5)(<30,!2,2:O) + MCat(1, .5)(<30,!2`0.5,2:O) + ext(defaultscale:=0.75; labeloffset:=1bp; + label.urt("0.00",(0.05w,1bp)); + label.urt("0.05",(0.45w,1bp)); + label.urt("0.12",(0.85w,1bp)); + ) endfont %*********************************************************************** beginfont("EN:ratio_chain_ring") - fsize:=(70mm,15mm); + fsize:=(70mm,12mm); ratio_chain_ring:= 0.4; - MCat(0, .5)(<30,?6,4:/!) + MCat(0.05, .5)(<30,?6,4:/!) ratio_chain_ring:= 0.66; %<<== default MCat(.45, .5)(<30,?6,4:/!) ratio_chain_ring:= 1; MCat(1, .5)(<30,?6,4:/!) + ext(defaultscale:=0.6; labeloffset:=1bp; + label.urt("0.40",(0,1bp)); + label.urt("0.66",(0.3w,1bp)); + label.urt("1.0" ,(0.62w,1bp)); + ) endfont %*********************************************************************** beginfont("EN:ratio_hashgap_bond") - fsize:=(60mm,15mm); + fsize:=(70mm,15mm); ratio_hashgap_bond:=0.06; - MCat(0.08, .5)(<30,!2,2:/*_`1) + MCat(0.08, .5)(<30,!2,2:/*_`1.5) ratio_hashgap_bond:=0.12; %<<== default - MCat( .5, .5)(<30,!2,2:/*_`1) + MCat( .55, .5)(<30,!2,2:/*_`1.5) ratio_hashgap_bond:=0.20; - MCat(0.92, .5)(<30,!2,2:/*_`1) + MCat(1, .5)(<30,!2,2:/*_`1.5) + ext(defaultscale:=0.6; labeloffset:=1bp; + label.urt("0.06",(0,1bp)); + label.urt("0.12",(0.4w,1bp)); + label.urt("0.20",(0.77w,1bp)); + ) endfont %*********************************************************************** beginfont("EN:Switwch numberingA") @@ -982,13 +1100,13 @@ endfont %----------------------------------------------------------------------- beginfont("EN:MCat()") defaultsize:=5bp; - fsize:=(40mm,40mm); + fsize:=(60mm,40mm); fmargin:=(3mm,3mm); - blength:=0.1; + blength:=0.07; sw_fframe:=1; mangle:=0; for i=1 step -0.5 until 0: - for j=0 step 0.5 until 1: + for j=0 step 0.33 until 1: MCat(j,i)(Ph,4:N) add( drawarrow((A1+A1up**aw)..A1); @@ -1002,13 +1120,13 @@ endfont beginfont("EN:Pyridine",":<30,Ph,2:N") sw_trimming:=0; fsize:=(12mm,12mm); - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %----------------------------------------------------------------------- beginfont("EN:Pyridine",":<30,Ph,2):N") sw_trimming:=0; fsize:=(12mm,12mm); - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %*********************************************************************** beginfont("EN:add() 1") @@ -1137,7 +1255,7 @@ beginfont("EN:Luciferin","MW:280.33", ": {9,14}:N,{7,11}:S,1:/OH,-2:*/COOH ") %--------------------------------------- fsize:=(50mm,15mm); - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %*************************************************************************** beginfont("EN:Colchicine","MW:385.41", @@ -1147,7 +1265,7 @@ beginfont("EN:Colchicine","MW:385.41", ": @9,\,NH,!,//O,! ") %--------------------------------------- fsize:=(50mm,20mm); - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %*************************************************************************** beginfont("EN:Paclitaxel","MW:853.91", @@ -1161,7 +1279,7 @@ beginfont("EN:Paclitaxel","MW:853.91", ": @12,\*^-15,O,60,//O,-60 ") %------------------------------------------------------ fsize:=(50mm,25mm); - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %*************************************************************************** beginfont("EN:Lycorine","MW:287.31", @@ -1171,7 +1289,7 @@ beginfont("EN:Lycorine","MW:287.31", ": 9:/*H^180,10:*/H^60,13:*/OH,14:/*OH ") %----------------------------------------- fsize:=(50mm,20mm); - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %*********************************************************************** beginfont("EN:Gibberellin A3","MW:346.37", @@ -1183,7 +1301,7 @@ beginfont("EN:Gibberellin A3","MW:346.37", ": 14:*/_,{1,4}:*/H^60 ") %---------------------------------------- fsize:=(50mm,18mm); - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %*************************************************************************** beginfont("EN:Quinine","MW:324.42", @@ -1194,7 +1312,7 @@ beginfont("EN:Quinine","MW:324.42", ": @2,165~zf,60,&5~zb ") %---------------------------------------- fsize:=(50mm,20mm); - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont %*************************************************************************** sw_calc:=1; @@ -1230,7 +1348,7 @@ beginfont("EN:Ampicillin","MW:349.405", ) fsize:=(72mm,110mm); blength:=7mm; - if check_mc(mc)=0: MCat(0.5,0.95)(scantokens(mc)) fi + if check(mc)=0: MCat(0.5,0.95)(scantokens(mc)) fi endfont %*************************************************************************** beginfont("EN:Cholesterol","MW:386.65", @@ -1239,7 +1357,7 @@ beginfont("EN:Cholesterol","MW:386.65", ": 1:*/OH,{4,12}:*/_^60,@-1,18,/*_,-60,!3,?!") fsize:=(72mm,110mm); blength:=7mm; - if check_mc(mc)=0: MCat(0.5,0.95)(scantokens(mc)) fi + if check(mc)=0: MCat(0.5,0.95)(scantokens(mc)) fi endfont %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% bye diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.pdf b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.pdf index f6ca1937e83..d6af77d6254 100644 Binary files a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.pdf and b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.pdf differ diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.tex b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.tex index 357a853c5a9..e41355ff48b 100644 --- a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.tex +++ b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.tex @@ -1,16 +1,24 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Molecular Coding Format manual by Akira Yamaji 2021.03.07 +% Molecular Coding Format manual by Akira Yamaji 2021.03.21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \documentclass[a4paper]{article} \usepackage[pdftex]{graphicx} \usepackage[pdftex]{hyperref} \usepackage{makeidx} \makeindex -%--------------------- +\hypersetup{colorlinks=true,linkcolor=blue} +\makeatletter \usepackage{mcf_setup} +%---------------------------------------------------------------------------- %%%%\pdfpkresolution=1200 -%--------------------- -\hypersetup{colorlinks=true,linkcolor=blue} +%---------------------------------------------------------------------------- +%%%%\edef\fext{pk}% **** for proof print (fast) +\edef\fext{mps}% **** for final print (it takes long time) +%---------------------------------------------------------------------------- +%%%%\edef\fext{png}% +%%%%\edef\fext{svg}% +%%%%\edef\fext{eps}% +%---------------------------------------------------------------------------- \topmargin=-18mm \textheight=254mm \textwidth=168mm @@ -18,7 +26,6 @@ %%%%\oddsidemargin=7mm %%%%\evensidemargin=-7mm \unitlength=1mm% -\makeatletter %---------------------------------------------------------------------------- \newcount \fnum% \newdimen \htman% @@ -33,21 +40,15 @@ %---------------------------------------------------------------------------- \edef\MCFjobname{mcf_man_soc}% %---------------------------------------------------------------------------- -\edef\fext{pk}% -%%\edef\fext{mps}% -%%\edef\fext{png}% -%%\edef\fext{svg}% -%%\edef\fext{eps}% -%---------------------------------------------------------------------------- \font\@strufont=\MCFjobname\relax% %---------------------------------------------------------------------------- \def\MCFgraph{% \ifx\fext\@pk{\@strufont\char\fnum}% \else% \edef\file@name{\MCFjobname-\z@num\fnum.\fext}% -%%%%%%%\includegraphics{\file@name}% \setbox\fbox=\hbox{\@strufont\char\fnum}% \includegraphics[width=\wd\fbox,height=\ht\fbox]{\file@name}% +%%%%%%%\includegraphics{\file@name}% \fi% \global\advance\fnum\@ne\relax% }% @@ -87,6 +88,7 @@ \linethickness{0.08mm}% %---------------------------------------------------------------------------- \newpage +\twocolumn \section{Introduction} Molecular Coding Format(MCF) is new linear notation represent chemical structure diagrams. @@ -194,7 +196,7 @@ $n (0<=n<360): absolute angle \MCFgraph %----------------------------------------------------------------------------- \subsection{Change bond type} -\subsubsection{Double,triple} +\subsubsection{Double,triple,wedge,vector} \index{\textasciitilde}% \index{\textasciitilde\textasciitilde}% \index{"!"!}% @@ -205,6 +207,8 @@ $n (0<=n<360): absolute angle \index{db}% \index{tm}% \begin{verbatim} + +(Double,triple) a~type : ~~type,a dm : double middle dl : double left side @@ -218,59 +222,57 @@ tm : triple \end{verbatim} \MCFgraph \vspace{-3mm}% -\begin{verbatim} - dm dl dr db db tm -\end{verbatim} %----------------------------------------------------------------------------- -\subsubsection{Wedge} +%%\subsubsection{Wedge} \index{wf}% \index{wb}% \index{zf}% \index{zb}% \begin{verbatim} -wf : wedge forward / wb : wedge backward -zf : hashed wedge foward -zb : hashed wedge backward + +(Wedge) +wf: wedge forward +wb: wedge backward +zf: hashed(zebra stripe) wedge foward +zb: hashed(zebra stripe) wedge backward <-30,!~wf,!,!~wb,!,!~zf,!,!~zb \end{verbatim} \MCFgraph \vspace{-3mm}% -\begin{verbatim} - wf wb zf zb -\end{verbatim} %----------------------------------------------------------------------------- -\subsubsection{Vector} +%%\subsubsection{Vector} \index{vf}% \index{vb}% \begin{verbatim} -vf:vector forward / vb:vector backward + +(Vector) +vf:vector forward +vb:vector backward <-30,!~vf,!,!~vb \end{verbatim} \MCFgraph \vspace{-3mm}% -\begin{verbatim} - vf vb -\end{verbatim} %----------------------------------------------------------------------------- -\subsubsection{Dotted,wave} +%%\subsubsection{Dotted,wave} \index{dt}% \index{wv}% \index{bd}% \index{bz}% \begin{verbatim} + +(Dotted,wave) Bn=bond type : change bond type at Bn -dt : dotted / wv : wave -bd : broad / bz : broad dotted +dt : dotted +wv : wave +bd : broad +bz : broad dotted <-30,!7,1=dt,3=wv,5=bd,7=bz \end{verbatim} \MCFgraph \vspace{-3mm}% -\begin{verbatim} - dt wv bd bz -\end{verbatim} %----------------------------------------------------------------------------- \subsubsection{Change multiple bond type} \index{vf}% @@ -448,7 +450,7 @@ attached bond length \begin{verbatim} \end{verbatim} %----------------------------------------------------------------------------- -\subsubsection{Attached 2 bond} +\subsubsection{Attached 3 bond} \begin{verbatim} (16,4)=?6[3] : fuse 3/6 ring to B16..B4 (16,4)=?5[2] : fuse 2/5 ring to B16..B4 @@ -477,8 +479,6 @@ MC(<-30,?6,{3,10,15}=?6,(21,4)=?6[2]) @4,?5 : add ?5 at A4 <30,!6,@4,?5 - -@An : jump to An \end{verbatim} \MCFgraph %----------------------------------------------------------------------------- @@ -510,13 +510,9 @@ MC(<-30,?6,{3,10,15}=?6,(21,4)=?6[2]) */* : wave ** : direct -<30,!,//O,!2,/*H,!2,*/H,!2,*/*H,!2,**?3,! +<30,!,//O,!2,*/H,!2,/*H,!2,*/*H,!2,**?3,! \end{verbatim} \MCFgraph -\vspace{-3mm}% -\begin{verbatim} - // /* */ */* ** -\end{verbatim} %----------------------------------------------------------------------------- \index{\textasciicircum}% ^ \index{\textasciitilde}% ~ @@ -664,8 +660,38 @@ MC(<30,?6,{4,6}:/iBuOH) <30,?6,@3,!4,//O,!,O,n_^60,@(6,1),H,p_^15 \end{verbatim} \MCFgraph +%----------------------------------------------------------------------------- +\subsubsection{Change color} +\index{red}% +\index{blue}% +\index{green}% +\begin{verbatim} +(use with metapost only) +beginfont() + MC(<30,Ph,{2,5}:N,3:/NH2,4:/COOH, + %--------------------- + 2:red, % red A2 + 5:blue, % blue A5 + 3=green % green B3 + %--------------------- + ) +endfont +\end{verbatim} +\MCFgraph +%----------------------------------------------------------------------------- +\subsubsection{Change font} +\index{atomfont}% +\begin{verbatim} +(use with metapost only) +beginfont() + %---------------- + atomfont:="cmr8"; + %---------------- + MC(<30,Ph,{2,5}:N,3:/NH2,4:/COOH) +endfont +\end{verbatim} +\MCFgraph %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\newpage \section{Option parameter} %------------------------------------------------------------------------------ \subsection{Angle parameter} @@ -766,10 +792,6 @@ fmargin=(10mm,2mm) default: offset_thickness=0.2pt \end{verbatim} \MCFgraph -\vspace{-3mm}% -\begin{verbatim} - 0pt 0.2pt 0.5pt -\end{verbatim} %----------------------------------------------------------------------------- \subsubsection{Offset of double bond gap} \index{offset\_bond\_gap}% @@ -777,10 +799,6 @@ default: offset_thickness=0.2pt default: offset_bond_gap=0.3pt \end{verbatim} \MCFgraph -\vspace{-3mm}% -\begin{verbatim} - 0.0pt 0.3pt 1.0pt -\end{verbatim} %----------------------------------------------------------------------------- \subsubsection{Offset of atom width} \index{offset\_atom}% @@ -788,10 +806,6 @@ default: offset_bond_gap=0.3pt default: offset_atom=0.8pt \end{verbatim} \MCFgraph -\vspace{-3mm}% -\begin{verbatim} - 0.0pt 0.8pt 2.0pt -\end{verbatim} %----------------------------------------------------------------------------- \subsubsection{Offset of wedge width} \index{offset\_wedge}% @@ -799,10 +813,6 @@ default: offset_atom=0.8pt default: offset_wedge=0.4pt \end{verbatim} \MCFgraph -\vspace{-3mm}% -\begin{verbatim} - 0.0pt 0.4pt 1.0pt -\end{verbatim} %----------------------------------------------------------------------------- \subsubsection{Max bond length} \index{max\_blength}% @@ -810,10 +820,6 @@ default: offset_wedge=0.4pt default: max_blength=10mm \end{verbatim} \MCFgraph -\vspace{-3mm}% -\begin{verbatim} - 6mm 8mm 20mm -\end{verbatim} %----------------------------------------------------------------------------- \subsection{Ratio parameter} %----------------------------------------------------------------------------- @@ -823,10 +829,6 @@ default: max_blength=10mm default: ratio_thickness_bond=0.015 \end{verbatim} \MCFgraph -\vspace{-3mm}% -\begin{verbatim} - 0.005 0.015 0.030 -\end{verbatim} %----------------------------------------------------------------------------- \subsubsection{Char/bond thickness} \index{ratio\_char\_bond}% @@ -834,10 +836,6 @@ default: ratio_thickness_bond=0.015 default: ratio_char_bond=1.5 \end{verbatim} \MCFgraph -\vspace{-3mm}% -\begin{verbatim} - 1.0 1.5 2.0 -\end{verbatim} %----------------------------------------------------------------------------- \subsubsection{Bond gap/bond length} \index{ratio\_bondgap\_bond}% @@ -845,10 +843,6 @@ default: ratio_char_bond=1.5 default: ratio_bondgap_bond= 0.15 \end{verbatim} \MCFgraph -\vspace{-3mm}% -\begin{verbatim} - 0.10 0.15 0.20 -\end{verbatim} %----------------------------------------------------------------------------- \subsubsection{Atom/bond length} \index{ratio\_atom\_bond}% @@ -856,10 +850,6 @@ default: ratio_bondgap_bond= 0.15 default: ratio_atom_bond= 0.36 \end{verbatim} \MCFgraph -\vspace{-3mm}% -\begin{verbatim} - 0.25 0.36 0.46 -\end{verbatim} %----------------------------------------------------------------------------- \subsubsection{Wedge/bond length} \index{ratio\_wedge\_bond}% @@ -867,10 +857,6 @@ default: ratio_atom_bond= 0.36 default: ratio_wedge_bond=0.12 \end{verbatim} \MCFgraph -\vspace{-3mm}% -\begin{verbatim} - 0.10 0.12 0.20 -\end{verbatim} %----------------------------------------------------------------------------- \subsubsection{Font atom gap/atom length} \index{ratio\_atomgap\_atom}% @@ -878,10 +864,6 @@ default: ratio_wedge_bond=0.12 default: ratio_atomgap_atom= 0.050 \end{verbatim} \MCFgraph -\vspace{-3mm}% -\begin{verbatim} - 0.0 0.050 0.12 -\end{verbatim} %----------------------------------------------------------------------------- \subsubsection{Chain/ring length} \index{ratio\_chain\_ring}% @@ -889,10 +871,6 @@ default: ratio_atomgap_atom= 0.050 default: ratio_chain_ring= 0.66 \end{verbatim} \MCFgraph -\vspace{-3mm}% -\begin{verbatim} - 0.4 0.65 1.0 -\end{verbatim} %----------------------------------------------------------------------------- \subsubsection{Hash gap/bond length} \index{ratio\_hashgap\_bond}% @@ -900,12 +878,8 @@ default: ratio_chain_ring= 0.66 default: ratio_hashgap_bond=0.12 \end{verbatim} \MCFgraph -\vspace{-3mm}% -\begin{verbatim} - 0.06 0.12 0.20 -\end{verbatim} %----------------------------------------------------------------------------- -\newpage +%%%%\newpage %----------------------------------------------------------------------------- \subsection{Drawing mode} %----------------------------------------------------------------------------- @@ -1021,8 +995,6 @@ MC(<30,COOH,!,COOH) \end{verbatim} \MCFgraph %----------------------------------------------------------------------------- -\newpage -%----------------------------------------------------------------------------- \subsection{Parameter setting} \subsubsection{Local parameter setting} \index{beginfont()}% @@ -1090,14 +1062,15 @@ MCat(c,d)(....) : mposition:=(c,d); MC(....) -c: x axis position d: y axis position +c: x axis position +d: y axis position defaultsize:=5bp; -fsize:=(40mm,40mm); fmargin:=(3mm,3mm); -blength:=0.1; sw_fframe:=1; +fsize:=(60mm,40mm); fmargin:=(3mm,3mm); +blength:=0.07; sw_fframe:=1; mangle:=0; for i=1 step -0.5 until 0: - for j=0 step 0.5 until 1: + for j=0 step 0.33 until 1: MCat(j,i)(Ph,4:N) add(drawarrow((A1+A1up**aw)..A1); label(decimal(mangle), @@ -1110,30 +1083,28 @@ endfor \end{verbatim} \MCFgraph %----------------------------------------------------------------------------- -\subsection{Function check\_mc()} -\index{check\_mc()}% +\subsection{Function check()} +\index{check()}% \begin{verbatim} (immediately compile) beginfont("EN:Pyridine") - MC(Ph,<30,2:N) + MC(<30,Ph,2:N) endfont (check mcf and compile) -beginfont("EN:Pyridine",":<30,Ph,2:N") - if check_mc(mc)=0: MC(scantokens(mc)) fi -endfont +** check(mc) : error count -** error in mcf check_mc(mc)>=1 -beginfont("EN:Pyridine",":<30,Ph,2):N") - if check_mc(mc)=0: MC(scantokens(mc)) fi +beginfont("EN:Pyridine", + ":<30,Ph,}2:N") % ** extra '}' + if check(mc)=0: MC(scantokens(mc)) fi endfont \end{verbatim} \MCFgraph\hspace{22mm}\MCFgraph \begin{verbatim} -check_mc(mc)=0 check_mc(mc)>=1 +check(mc)=0 check(mc)>=1 \end{verbatim} %=============================================================================== \newpage @@ -1175,7 +1146,7 @@ check_mc(mc)=0 check_mc(mc)>=1 \index{defaultscale}% \index{labeloffset}% \begin{verbatim} -(Add graphic to molecule) +(Add label to molecule) w: molecular width h: molecular height @@ -1291,7 +1262,7 @@ endfont \index{ratio\_thickness\_char}% \index{defaultscale}% \begin{verbatim} -(Extra graphic to font) +(Extra label to font) w: font width h: font height @@ -1401,7 +1372,7 @@ endfont \section{MCF example} %----------------------------------------------------------------------------- \subsection{Luciferin} -\index{check\_mc()}% +\index{check()}% \begin{verbatim} beginfont("EN:Luciferin","MW:280.33", %------------------------------------- @@ -1409,7 +1380,7 @@ beginfont("EN:Luciferin","MW:280.33", ": {9,14}:N,{7,11}:S,1:/OH,-2:*/COOH ") %------------------------------------- fsize:=(50mm,20mm); - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont \end{verbatim} \MCFgraph @@ -1423,7 +1394,7 @@ beginfont("EN:Colchicine","MW:385.41", ": @9,\,NH,!,//O,! ") %------------------------------------- fsize:=(50mm,20mm); - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont \end{verbatim} \MCFgraph @@ -1433,7 +1404,7 @@ endfont beginfont("EN:Paclitaxel","MW:853.91", %------------------------------------ ": ?6,5=dl,@3,#1,36,45,45,45,45,##, ", - ": &.$5", ", + ": &5", ", ": -4=?6,-4=?4,-1=wb,-3=wf,-1:O,||, ", ": 4:??,6:/_,{3^-60,15}:*/OH, ", ": 8:/*H^-60,", ", @@ -1445,7 +1416,7 @@ beginfont("EN:Paclitaxel","MW:853.91", ": @12,\*^-15,O,60,//O,-60 ") %------------------------------------ fsize:=(50mm,25mm); - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont \end{verbatim} \MCFgraph @@ -1460,7 +1431,7 @@ beginfont("EN:Lycorine","MW:287.31", ": 13:*/OH,14:/*OH ") %-------------------------------------- fsize:=(50mm,20mm); - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont \end{verbatim} \MCFgraph @@ -1476,7 +1447,7 @@ beginfont("EN:Gibberellin A3","MW:346.37", ": 14:*/_,{1,4}:*/H^60 ") %---------------------------------------- fsize:=(50mm,18mm); - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont \end{verbatim} \MCFgraph @@ -1491,7 +1462,7 @@ beginfont("EN:Quinine","MW:324.42", ": @2,165~zf,60,&5~zb ") %------------------------------- fsize:=(50mm,20mm); - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont \end{verbatim} \MCFgraph @@ -1524,7 +1495,7 @@ beginfont("EN:Ampicillin","MW:349.405", > information ": 3^45:/*H,1://O^15,5:/*COOH^-18,6:??, ", > mc2 ": @4,*\^15,NH,!,//O,!,/*NH2,!,Ph ") > mc3 %---------------------------------------- > - if check_mc(mc)=0: MC(scantokens(mc)) fi > mc=mc1&mc2&mc3 + if check(mc)=0: MC(scantokens(mc)) fi > mc=mc1&mc2&mc3 endfont > end font %------------------------------------------------------------------------ beginfont("EN:Cholesterol","MW:386.65", >information @@ -1534,7 +1505,7 @@ beginfont("EN:Cholesterol","MW:386.65", >information ": {4,12}:*/_^60, ", > mc3 ": @-1,18,/*_,-60,!3,?! ") > mc4 %---------------------------------------- > - if check_mc(mc)=0: MC(scantokens(mc)) fi > mc=mc1 - mc4 + if check(mc)=0: MC(scantokens(mc)) fi > mc=mc1 - mc4 endfont > end font %------------------------------------------------------------------------ beginfont("EN:Limonin", > information @@ -1546,7 +1517,7 @@ beginfont("EN:Limonin", > information ": {1^60,5^180,16^60}:/*H, ", > mc5 ": @14,\*,|,?5,{1,4}=dl,3:O) ") > mc6 %----------------------------------------- > - if check_mc(mc)=0: MC(scantokens(mc)) fi > mc=mc1 - mc6 + if check(mc)=0: MC(scantokens(mc)) fi > mc=mc1 - mc6 endfont > end font %------------------------------------------------------------------------ beginfont("EN:beta-carotene", > information @@ -1556,7 +1527,7 @@ beginfont("EN:beta-carotene", > information ": {3,7,12,16}:/_, ", > mc3 ": |,?6,6=dl,2:??,6:/_) ") > mc4 %------------------------------------------ > - if check_mc(mc)=0: MC(scantokens(mc)) fi > mc=mc1 - mc4 + if check(mc)=0: MC(scantokens(mc)) fi > mc=mc1 - mc4 endfont > end font %------------------------------------------------------------------------ bye @@ -1657,53 +1628,50 @@ h : font height \paragraph{(Output)} \begin{verbatim} =========================================================================== - No. 1 / Name = Adenine + No. 3 / Name = Cytosine --------------------------------------------------------------------------- - <30,?6,3=?5,{1,3,5,9}=dl,{2,6,9}:N,5:/NH2,7:NH + <30,?6,{4,6}=dl,4:N,3://O,2:NH,5:/NH2 --------------------------------------------------------------------------- - mc length= 46 / mc low= 1 + row= 1 / length= 37 / commands= 7 + {}=X = 1 / {}:X = 0 / '() = 0 / @ = 0 / & = 0 / < = 1 --------------------------------------------------------------------------- - Warnings = 0 / Command count= 65 - Width * Height = 44.41766 * 44.96748 - Shift width * height = -2.69456 * -12.02556 + Warnings = 0 / Code= 60 + Width * Height = 34.68852 * 47.4036 + Shift width * height = 0 * -14.46167 Bond length = 12.75589 Atom size = 5.38914 - Atom count= 11 Bond count= 12 Ring count= 2 Hide H count= 2 + Atom count= 9 Bond count= 9 Ring count= 1 Hide H count= 2 --------------------------------------------------------------------------- < NO. >( x axis , y axis ) A1 C ( 0 , 0 ) 3 1 A2 N ( 0.866 , -0.5 ) 3 A3 C ( 1.732 , 0 ) 4 - A4 C ( 1.732 , 1 ) 4 + A4 N ( 1.732 , 1 ) 3 A5 C ( 0.866 , 1.5 ) 4 - A6 N ( 0 , 1 ) 3 - A7 N ( 2.683 , -0.309 ) 3 - A8 C ( 3.271 , 0.5 ) 3 1 - A9 N ( 2.683 , 1.309 ) 3 - A10 NH2 ( 0.866 , 2.371 ) 1 - A11 H ( 2.683 , -0.732 ) 1 + A6 C ( 0 , 1 ) 3 1 + A7 O ( 2.508 , -0.448 ) 2 + A8 H ( 0.866 , -0.922 ) 1 + A9 NH2 ( 0.866 , 2.371 ) 1 --------------------------------------------------------------------------- < NO. >< bond (sdt)> - B1 1 -> 2 ( 2) 330 ( -30) 1 ( 12.76) + B1 1 -> 2 ( 1) 330 ( -30) 1 ( 12.76) B2 2 -> 3 ( 1) 30 ( 30) 1 ( 12.76) - B3 3 -> 4 ( 2) 90 ( 90) 1 ( 12.76) - B4 4 -> 5 ( 1) 150 ( 150) 1 ( 12.76) - B5 5 -> 6 ( 2) 210 ( -150) 1 ( 12.76) - B6 6 -> 1 ( 1) 270 ( -90) 1 ( 12.76) - B7 3 -> 7 ( 1) 342 ( -18) 1 ( 12.76) - B8 7 -> 8 ( 1) 54 ( 54) 1 ( 12.76) - B9 8 -> 9 ( 2) 126 ( 126) 1 ( 12.76) - B10 9 -> 4 ( 1) 198 ( -162) 0.66 ( 8.42) - B11 5 -> 10 ( 1) 90 ( 90) 0.66 ( 8.42) - B12 7 -> 11 ( 1) 270 ( -90) 0.36 ( 4.59) + B3 3 -> 4 ( 1) 90 ( 90) 1 ( 12.76) + B4 4 -> 5 ( 2) 150 ( 150) 1 ( 12.76) + B5 5 -> 6 ( 1) 210 ( -150) 1 ( 12.76) + B6 6 -> 1 ( 2) 270 ( -90) 1 ( 12.76) + B7 3 -> 7 ( 2) 330 ( -30) 0.66 ( 8.42) + B8 2 -> 8 ( 1) 270 ( -90) 0.36 ( 4.59) + B9 5 -> 9 ( 1) 90 ( 90) 0.66 ( 8.42) --------------------------------------------------------------------------- ( atom wt )[ mi wt ] < cnt > < sum wt >[ sum mi wt ] - C ( 12.0107)[ 12] * 5 60.05348[ 60] + C ( 12.0107)[ 12] * 4 48.04279[ 48] H ( 1.00793)[ 1.00783] * 5 5.03967[ 5.03914] - N ( 14.0067)[ 14.00307] * 5 70.0335[ 70.01534] - Molecular Weight [Mono Isotopic] = 135.1266[ 135.05447] + N ( 14.0067)[ 14.00307] * 3 42.0201[ 42.0092] + O ( 15.9994)[ 15.99492] * 1 15.9994[ 15.99492] + Molecular Weight [Mono Isotopic] = 111.1019[ 111.04326] --------------------------------------------------------------------------- - Weight Calc: 135.1266 / Input: 135.13 / weight gap= -0.00336 - Fomula Calc: C5H5N5 / Input: + Weight Calc: 111.1019 / Input: 111.10 / weight gap= 0.00195 + Fomula Calc: C4H5N3O / Input: =========================================================================== \end{verbatim}% \newpage @@ -1791,7 +1759,7 @@ M END ": {1^60,5^180,16^60}:/*H, ", ": @14,\*,|,?5,{1,4}=dl,3:O ") %---------------------------------------- - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont \end{mplibcode}\\ %-------------------------------------------------------------------- @@ -1804,7 +1772,7 @@ M END ": {3,7,12,16}:/_, ", ": |,?6,6=dl,{6,2^35,2^-35}:/_ ") %------------------------------------------ - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont \end{mplibcode}\\ %-------------------------------------------------------------------- @@ -1818,7 +1786,7 @@ M END ": 2:/COOH,7://_,13:*/OH,8:/*OH, ", ": 14:*/_,{1^60,4^60}:*/H ") %------------------------------------ - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont; %-------------------------------------------------------------------- \end{mplibcode}\\ @@ -1834,11 +1802,11 @@ endfont; %-------------------------------------------------------------------- \documentclass[a4paper]{article} \usepackage{graphicx} +\makeatletter% %--------------------- \usepackage{mcf_setup} %--------------------- \pagestyle{empty} -\makeatletter% %-------------------------------------------------------------------- \def\put@char{% \begin{picture}(84,42)% diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.pdf b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.pdf index a643ea23d5e..d0d5f833b6a 100644 Binary files a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.pdf and b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.pdf differ diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.tex b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.tex index d063f98ab81..3d31e5f4ed1 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.03.07 +% Example of MCF typest with LuaLaTeX(luamplib) by A.Yamaji 2021.03.21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%% mcf2graph.mf must be version 4.60 +%%% mcf2graph.mf must be version 4.61 \documentclass{article} %------------------------------------------------------------------------------ \usepackage{luamplib}% @@ -33,63 +33,6 @@ Author : Akira Yamaji \quad Date : \today\\ Located at : http://www.ctan.org/pkg/mcf2graph\vspace{2mm}\\ \end{center} -%---------------------------------------------------------------------------- -\section{Change color} -\noindent% -\begin{minipage}[b]{60mm} -\begin{verbatim} -(use with metapost only) -MC( - <30,Ph,{2,5}:N,3:/NH2,4:/COOH, - %--------------------- - 2:red, % red A2 - 5:blue, % blue A5 - 3=green % green B3 - %--------------------- - ) -\end{verbatim} -%---------------------------------------------------------------------------- -\end{minipage} -\begin{mplibcode} - fsize:=(70mm,25mm); - beginfont("EN:Change color") - max_blength:=8mm; - sw_label:=1; - defaultfont:="cmtt10"; - defaultsize:=10bp; - MC( - <30,Ph,{2,5}:N,3:/NH2,4:/COOH, - 2:red,5:blue,3=green - ) - endfont -\end{mplibcode} -%---------------------------------------------------------------------------- -\section{Change font} -\noindent% -\begin{minipage}[b]{60mm} -\begin{verbatim} -(use with metapost only) -%---------------- -atomfont:="cmr8"; -%---------------- -MC( - <30,Ph,{2,5}:N,3:/NH2,4:/COOH -) - -\end{verbatim} -%---------------------------------------------------------------------------- -\end{minipage} -\begin{mplibcode} - fsize:=(70mm,25mm); - beginfont("EN:Change font") - max_blength:=8mm; - sw_label:=1; - defaultfont:="cmtt10"; - defaultsize:=10bp; - atomfont:="cmr8"; - MC(<30,Ph,{2,5}:N,3:/NH2,4:/COOH) - endfont -\end{mplibcode} %------------------------------------------------------------------------------------ \section{MCF example} \noindent% @@ -104,14 +47,14 @@ MC( beginfont("NO:1","EN:Chlorophyll a","MW:893.49", %----------------------------------------------------------------------- ": <54,#1,?5,{2,5}=dl,4:N,@3,\,54~dl,|,?5,{2,4}=dl,5:N, ", - ": @-2,\,54~dl,|,?5,2=dl,5:N,@-2,\~dl,54,|,?5,5=dl,5:N,@-2,\~dl,&.$5, ", - ": @-1,24,/*COO!^15,72,//O,&.$1,##,||, ", + ": @-2,\,54~dl,|,?5,2=dl,5:N,@-2,\~dl,54,|,?5,5=dl,5:N,@-2,\~dl,&$5, ", + ": @-1,24,/*COO!^15,72,//O,&$1,##,||, ", ": {2,9,15,20~zf}:/_,8:/!,14:/!!, ", ": @4,\`1.45,Mg,&17,@-1,&11~vb,@-1,&23~vb, ", ": @21,-6~wf,!2,//O,!,O,!2,!!,|,!13,{1,5,9,13}:/_ ") %----------------------------------------------------------------------- fsize:=(100mm,50mm); - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont \end{verbatim} %------------------------------------------------------------------------------------ @@ -119,14 +62,14 @@ endfont beginfont("NO:1","EN:Chlorophyll a","MW:893.49", %----------------------------------------------------------------------- ": <54,#1,?5,{2,5}=dl,4:N,@3,\,54~dl,|,?5,{2,4}=dl,5:N, ", - ": @-2,\,54~dl,|,?5,2=dl,5:N,@-2,\~dl,54,|,?5,5=dl,5:N,@-2,\~dl,&.$5, ", - ": @-1,24,/*COO!^15,72,//O,&.$1,##,||, ", + ": @-2,\,54~dl,|,?5,2=dl,5:N,@-2,\~dl,54,|,?5,5=dl,5:N,@-2,\~dl,&$5, ", + ": @-1,24,/*COO!^15,72,//O,&$1,##,||, ", ": {2,9,15,20~zf}:/_,8:/!,14:/!!, ", ": @4,\`1.45,Mg,&17,@-1,&11~vb,@-1,&23~vb, ", ": @21,-6~wf,!2,//O,!,O,!2,!!,|,!13,{1,5,9,13}:/_ ") %----------------------------------------------------------------------- fsize:=(100mm,50mm); - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi ext( defaultscale:=0.8; label.lrt("FM(C): "&cal_FM,(0,h-5mm)); @@ -145,8 +88,8 @@ beginfont("NO:4","EN:Gibberellin A3","MW:346.37", ": @5,40~zf`1,O,60,//O^180,&14~zb, ", ": 2:/COOH,7://_,13:*/OH,8:/*OH,14:*/_,{1,4}:*/H^60 ") %-------------------------------------------------------- - fsize:=(120mm,20mm); - if check_mc(mc)=0: MC(scantokens(mc)) fi + fsize:=(120mm,30mm); + if check(mc)=0: MC(scantokens(mc)) fi endfont; \end{verbatim} %---------------------------------------------------------------------------- @@ -157,8 +100,8 @@ beginfont("NO:4","EN:Gibberellin A3","MW:346.37", ": @5,40~zf`1,O,60,//O^180,&14~zb, ", ": 2:/COOH,7://_,13:*/OH,8:/*OH,14:*/_,{1,4}:*/H^60 ") %-------------------------------------------------------- - fsize:=(120mm,20mm); - if check_mc(mc)=0: MC(scantokens(mc)) fi + fsize:=(120mm,30mm); + if check(mc)=0: MC(scantokens(mc)) fi ext( defaultscale:=0.8; label.lrt("FM(C): "&cal_FM,(0,h-5mm)); @@ -168,6 +111,7 @@ beginfont("NO:4","EN:Gibberellin A3","MW:346.37", endfont; \end{mplibcode} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newpage \subsection{Erythromycin} \noindent% %---------------------------------------------------------------------------- @@ -177,11 +121,11 @@ beginfont("NO:5","EN:Erythromycin","MW:733.93", ": <30,#1,<-120,60,60,60,-60,60,60,-60,60,60,60,-60,60,60,##,&1, ", ": 14:O,13:/*Et,{1,9}://O,{2,10}:*/_,{4,6^-35,8,12^35}:/*_, ", ": {6^35,11,12^-35}:*/OH, ", - ": @.$3,\*,O,30,|,?6`.7,2:O,{3,5^35}:/_,4:/OH,5^-35:/O!, ", - ": @.$5,\*^30`1.7,O,!,|,?6`.7,6:O,5:/_,2:/OH,3:/N?! ") + ": @$3,\*,O,30,|,?6`.7,2:O,{3,5^35}:/_,4:/OH,5^-35:/O!, ", + ": @$5,\*^30`1.7,O,!,|,?6`.7,6:O,5:/_,2:/OH,3:/N?! ") %------------------------------------------------------------------ fsize:=(120mm,35mm); - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont; \end{verbatim} %---------------------------------------------------------------------------- @@ -191,11 +135,11 @@ beginfont("NO:5","EN:Erythromycin","MW:733.93", ": <30,#1,<-120,60,60,60,-60,60,60,-60,60,60,60,-60,60,60,##,&1, ", ": 14:O,13:/*Et,{1,9}://O,{2,10}:*/_,{4,6^-35,8,12^35}:/*_, ", ": {6^35,11,12^-35}:*/OH, ", - ": @.$3,\*,O,30,|,?6`.7,2:O,{3,5^35}:/_,4:/OH,5^-35:/O!, ", - ": @.$5,\*^30`1.7,O,!,|,?6`.7,6:O,5:/_,2:/OH,3:/N?! ") + ": @$3,\*,O,30,|,?6`.7,2:O,{3,5^35}:/_,4:/OH,5^-35:/O!, ", + ": @$5,\*^30`1.7,O,!,|,?6`.7,6:O,5:/_,2:/OH,3:/N?! ") %------------------------------------------------------------------ fsize:=(120mm,35mm); - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi ext( defaultscale:=0.8; label.lrt("FM(C): "&cal_FM,(0,h-5mm)); @@ -216,7 +160,7 @@ beginfont("EN:Paclitaxel","MW:853.918", ": @7,\*,O,-45,//O,60,Ph,11:*/OCO!>rl,12:/*OCO!^-15>lr ") %--------------------------------------------------------------------- fsize:=(120mm,35mm); - if check_mc(mc)=0: MC(scantokens(mc)) fi + if check(mc)=0: MC(scantokens(mc)) fi endfont \end{verbatim} %---------------------------------------------------------------------------- @@ -229,7 +173,35 @@ beginfont("EN:Paclitaxel","MW:853.918", ": @7,\*,O,-45,//O,60,Ph,11:*/OCO!>rl,12:/*OCO!^-15>lr ") %--------------------------------------------------------------------- fsize:=(120mm,35mm); - if check_mc(mc)=0: MC(scantokens(mc)) fi + 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)); + ) +endfont +\end{mplibcode} +%---------------------------------------------------------------------------- +\subsection{Kekulene} +\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 ") + %----------------------------------------------------------------------- + fsize:=(120mm,25mm); + if check(mc)=0: MC(scantokens(mc)) fi +endfont +\end{verbatim} +%---------------------------------------------------------------------------- +\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 ") + fsize:=(120mm,25mm); + if check(mc)=0: MC(scantokens(mc)) fi ext( defaultscale:=0.8; label.lrt("FM(C): "&cal_FM,(0,h-5mm)); @@ -249,7 +221,7 @@ beginfont("NO:6","EN:Vancomycin","MW:1449.25"); fsize:=(150mm,50mm); MC(<-30,#1,!12,{1,3,12}=zf,7=wf,/H^-60,60,*/OH,60, Ph,-4:/Cl,@-3,\,O,!,Ph,@-4,\,O,!,Ph,-1^15:/Cl,@-3,\,/*OH,*/H^-60,&1, - @7,&26,@.$1,60,//O,60,NH,60,/*H,*/COOH^180,-60, + @7,&26,@$1,60,//O,60,NH,60,/*H,*/COOH^180,-60, Ph,{-2,-4}:/OH,@-1,\,Ph,-5:/OH,@-2,&4,##, {3^40,6,9,12}://O,{2,5,8,11}:NH,{1,4^180}:*/H,{7^-60,10^60,14^60}:/*H, @10,*\^-60,60,//O,!,NH2,@13,*\,NH,!,//O,!,/??!,*/H^60,!~zf,NH,!, @@ -263,7 +235,7 @@ beginfont("NO:6","EN:Vancomycin","MW:1449.25"); fsize:=(150mm,45mm); MC(<-30,#1,!12,{1,3,12}=zf,7=wf,/H^-60,60,*/OH,60, Ph,-4:/Cl,@-3,\,O,!,Ph,@-4,\,O,!,Ph,-1^15:/Cl,@-3,\,/*OH,*/H^-60,&1, - @7,&26,@.$1,60,//O,60,NH,60,/*H,*/COOH^180,-60, + @7,&26,@$1,60,//O,60,NH,60,/*H,*/COOH^180,-60, Ph,{-2,-4}:/OH,@-1,\,Ph,-5:/OH,@-2,&4,##, {3^40,6,9,12}://O,{2,5,8,11}:NH,{1,4^180}:*/H,{7^-60,10^60,14^60}:/*H, @10,*\^-60,60,//O,!,NH2,@13,*\,NH,!,//O,!,/??!,*/H^60,!~zf,NH,!, @@ -318,10 +290,10 @@ MC(<55.8,?6,-4=?7 ,{-4,-3,-3,-3}=?6,@-3,\,!3,?6,{-4,-3,-3,-3}=?6,@-3,\,?6,-3=?6, {6,46,50,53,60,67,74}:*/H^-60, {9,18,85,93,112,139,143,147}:*/_`1^60, {80,88,97,115,120,124}:/*_`1^-60,108:*/_`1^-60, - @.$6,\,|,!11,60~dr,-60,60,OH,2:/*OH,{7,10}:*/OH,{1,3}:*/_,{8~zf,11~dm,12}:/_, + @$6,\,|,!11,60~dr,-60,60,OH,2:/*OH,{7,10}:*/OH,{1,3}:*/_,{8~zf,11~dm,12}:/_, @6,\,O,30,SOO,30,"O{Na}", - @.$36,-45~zf,O,30,SOO,30,"O{Na}", - @.$150,\,|,!7,{1,2}:/*OH,4:*/_,5:/*_,7=dl + @$36,-45~zf,O,30,SOO,30,"O{Na}", + @$150,\,|,!7,{1,2}:/*OH,4:*/_,5:/*_,7=dl ) ext( defaultscale:=0.8; diff --git a/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf b/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf index cdffa5932cc..350a3e973c5 100644 --- a/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf +++ b/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf @@ -1,5 +1,5 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% mcf2graph ver 4.60 Copyright (c) 2013-2021 Akira Yamaji +% mcf2graph ver 4.61 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.60 2021.03.07"; +message "* This is mcf2graph ver 4.61 2021.03.21"; %------------------------------------------------------------------------------------------------- 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; @@ -68,7 +68,8 @@ 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("="); a_ast:=ASCII("*"); a_sls:=ASCII("/"); a_gtn:=ASCII("<"); a_ltn:=ASCII(">"); a_and:=ASCII("&"); a_dol:=ASCII("$"); a_hsh:=ASCII("#"); a_hat:=ASCII("^"); a_tld:=ASCII("~"); a_bqt:=ASCII("`"); -a_cln:=ASCII(":"); a_amk:=ASCII("@"); a_zero:=ASCII("0"); a_nine:=ASCII("9"); +a_cln:=ASCII(":"); a_amk:=ASCII("@"); a_zero:=ASCII("0"); a_nine:=ASCII("9"); a_qut:=ASCII("'"); +a_bar:=ASCII("|"); %-------------------------------------------------------------------------------------------------- let DIV= /; let MUL= *; let LT= <; let GT= >; let AND= &; let :: = : ; let == = =; let ef=elseif; def ]]]=] ] ] enddef; @@ -277,7 +278,7 @@ def beginfont(text s)= %------------------------------------------------------------------------------------------------ char_num:=char_num+1; store_par(parameter_list); - f_ext:=cntM:=mc_low:=inf_num:=0; + f_ext:=cntM:=mc_row:=inf_num:=0; for list=s: inf_num:=inf_num+1; info[inf_num]:=list; mc[inf_num]:=""; endfor %------------------------------------------------------------------------------------------------ for j=1 upto inf_num: @@ -287,10 +288,10 @@ def beginfont(text s)= if at_colon=1: s_fw:=0; for k=2 upto s_len: if subc(k,info[j])<>" ": s_fw:=k; fi exitif s_fw>0; endfor s_bw:=0; for k=s_len downto 2: if subc(k,info[j])<>" ": s_bw:=k; fi exitif s_bw>0; endfor - mc_low:=mc_low+1; - mc_indent[mc_low]:=s_fw-2; - mc[mc_low]:=substring (s_fw-1,s_bw) of info[j]; - mc:=mc&mc[mc_low]; + mc_row:=mc_row+1; + mc_indent[mc_row]:=s_fw-2; + mc[mc_row]:=substring (s_fw-1,s_bw) of info[j]; + mc:=mc&mc[mc_row]; ef at_colon>=1: s_tag:=substring (0,at_colon-1) of info[j]; s_var:=substring (at_colon,s_len) of info[j]; @@ -356,15 +357,15 @@ def endfont= enddef; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% def set_def_MC= - save /,//,/*,*/,**,*/*,~,^,',`,<,>,&,:,=,\,\\,*\,\*,*\*,@,@@,$,&,#,##,{,},|,||,_,inside_def_MC; + save /,//,/*,*/,**,*/*,~,^,',`,<,>,:,=,\,\\,*\,\*,*\*,@,@$,$,&,&$,#,##,{,},|,||,_,inside_def_MC; inside_def_MC:=1; pair |,||,##; | :=(_com,_mark); || := (_com,_moff); ##:=(_com,_len_e); _:=Me; \:=0; \\:=zero_dm; *\:=zero_wf; \*:=zero_zf; *\*:=zero_wv; let = ==op_equ; let : ==op_col; let ^ ==op_hat; let ~ ==op_til; let > ==op_lt; let ` ==op_bq; - def { == read_number( enddef; let } == ); def '==read_id enddef; + def @$ == @.$ enddef; def { == read_number( enddef; let } == ); def '==read_id enddef; def < == rot_angle enddef; def @ == jump_atom enddef; def & == cyc_atom enddef; - def # == chg_length enddef; def $ == abs_adress enddef; + def # == chg_length enddef; def $ == abs_adress enddef; def &$ == &.$ enddef; def / == group_si enddef; def // == group_dm enddef; def */ == group_wf enddef; def /* == group_zf enddef; def */* == group_wv enddef; def ** == group_nb enddef; enddef; @@ -1578,17 +1579,20 @@ def proc_report_out= out_file_name:=out_file_rep; printf "==========================================================================="; printf " No."&fdr(4)(char_num)&" / Name = "& inf_EN; - if mc_low>=1: + if mc_row>=1: printf "---------------------------------------------------------------------------"; - for i=1 upto mc_low: + for i=1 upto mc_row: printf (substring(0,mc_indent[i]) of blank_str)&mc[i]; endfor printf "---------------------------------------------------------------------------"; - printf " mc-length="&fdr(4)(length(mc))&" / mc-low="&fdr(3)(mc_low)& - " / mc-commands="&fdr(3)(cmm_cnt); + printf " row="&fdr(3)(mc_row)&" / length="&fdr(4)(length(mc))& + " / commands="&fdr(3)(cnt_cmm); + printf " {}=X ="&fdr(3)(cnt_chg_bonds)&" / {}:X ="&fdr(3)(cnt_chg_atoms)& + " / '() ="&fdr(3)(cnt_inline_def)&" / @ ="&fdr(3)(cnt_at)& + " / & ="&fdr(3)(cnt_and)&" / < ="&fdr(3)(cnt_gtn); fi printf "---------------------------------------------------------------------------"; - printf " Warnings = "&fdr(3)(warning_cnt)&" / Command count= "&decimal(cntD[0]); + printf " Warnings = "&fdr(3)(warning_cnt)&" / Code= "&decimal(cntD[0]); printf " Width * Height = " & fdr(10)(mol_wd)&" * "&fdr(10)(mol_ht); printf " Shift width * height = "& fdr(10)(minX)&" * "&fdr(10)(minY); printf " Bond length = "&fdr(3)(blen)&" Atom size = "&fdr(3)(atom_wd); @@ -1799,87 +1803,106 @@ def expand_set= !SH:='(!,SH); !NO2:='(!,NO2); enddef; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -vardef check_mc(expr s)= +vardef check(expr s)= save mc_char,mc_char,temp_c,err_cnt,char_cnt,f_depth, - a_prn_s_cnt,a_prn_e_cnt,a_brc_s_cnt,a_brc_e_cnt,a_brk_s_cnt,a_brk_e_cnt; - f_depth:=cmm_cnt:=0;; + cnt_prn_s,cnt_prn_e,cnt_brc_s,cnt_brc_e,cnt_brk_s,cnt_brk_e; string temp_c,err_str[],err_type[]; numeric mc_char[],err_adr[],err_code[]; - err_cnt:=char_cnt:=code_cnt:=0; + err_cnt:=char_cnt:=code_cnt:=f_depth:=cnt_cmm:=cnt_chg_atoms:=cnt_chg_bonds:=0; + err_type[0]:="no mc-row "; err_type[1]:=" '(' > ')' "; err_type[2]:=" '(' < ')' "; err_type[3]:=" '{' > '}' "; err_type[4]:=" '{' < '}' "; err_type[5]:=" '[' > ']' "; err_type[6]:=" '[' < ']' "; err_type[7]:="missing arg"; err_type[8]:="extra arg "; - %----------------------------------------------------------------------------------------------- + %--------------------------------------------------------------------------------------------- + if mc_row>=1: + %--------------------------------------------------------------------------------------------- for i=1 upto length(s): temp_c:=subc(i,s); if temp_c<>" ": char_cnt:=char_cnt+1; mc_char[char_cnt]:=ASCII(temp_c); fi endfor mc_char[0]:=mc_char[char_cnt+1]:=mc_char[char_cnt+2]:=a_cmm; - %-- argument missing chkeck -------------------------------------------------------------------- - a_prn_s_cnt:=a_prn_e_cnt:=a_brc_s_cnt:=a_brc_e_cnt:=a_brk_s_cnt:=a_brk_e_cnt:=0; - nA:=f_depth:=cmm_cnt:=0; + %-- argument missing chkeck ---------------------------------------------------------------- + cnt_prn_s:=cnt_prn_e:=cnt_brc_s:=cnt_brc_e:=cnt_brk_s:=cnt_brk_e:=cnt_inline_def:=cnt_at:=0; + cnt_cmm:=cnt_and:=cnt_gtn:=cnt_gtn:=0; + nA:=f_depth:=0; forever: nA:=nA+1; nB:=mc_char[nA-1]; nC:=mc_char[nA]; nD:=mc_char[nA+1]; - %--------------------------------------------------------------------------------------------- - if nC=a_cmm: if f_depth=0: cmm_cnt:=cmm_cnt+1; cmm_adr[cmm_cnt]:=nA; fi + %----------------------------------------------------------------------------------------- + if nC=a_cmm: if f_depth=0: cnt_cmm:=cnt_cmm+1; cmm_adr[cnt_cmm]:=nA; fi ef nC=a_ast: if nD=a_sls: - if mc_char[nA+2]=a_ast: if mc_char[nA+3]=a_cmm: proc_error(7,nA) nA:=nA+2; fi % */* x - ef mc_char[nA+2]=a_cmm: proc_error(7,nA) nA:=nA+1; fi % */ x - ef nD=a_ast: if mc_char[nA+2]=a_cmm: proc_error(7,nA) nA:=nA+1; fi fi % ** x - ef nC=a_sls: if nD=a_sls: if mc_char[nA+2]=a_cmm: proc_error(7,nA) nA:=nA+1; fi % // x - ef nD=a_ast: if mc_char[nA+2]=a_cmm: proc_error(7,nA) nA:=nA+1; fi % /* x - ef nD=a_cmm: proc_error(7,nA) fi % / x - ef nC=a_hsh: if nD=a_hsh: nA:=nA+1; % ## - ef nD=a_cmm: proc_error(7,nA) fi % # x - if nB<>a_cmm: proc_error(8,nA) fi % a # - ef nC=a_dol: if nD=a_cmm: proc_error(7,nA) fi % $ x - ef nC=a_equ: if nD= a_cmm: proc_error(7,nA) fi % = x - if nB= a_cmm: proc_error(7,nA) fi % x = - ef nC=a_cln: if nD= a_cmm: proc_error(7,nA) fi % : x - if nB= a_cmm: proc_error(7,nA) fi % x : - ef nC=a_amk: if nD= a_cmm: proc_error(7,nA) fi % @ x - if nB<>a_cmm: proc_error(8,nA) fi % a @ - ef nC=a_and: if nD= a_cmm: proc_error(7,nA) fi % & x - if nB<>a_cmm: proc_error(8,nA) fi % a & - ef nC=a_gtn: if nD= a_cmm: proc_error(7,nA) fi % < x - if nB<>a_cmm: proc_error(8,nA) fi % a < - ef nC=a_ltn: if nD= a_cmm: proc_error(7,nA) fi % > x - if nB= a_cmm: proc_error(7,nA) fi % x > - ef nC=a_tld: if nD= a_cmm: proc_error(7,nA) fi % ~ x - if nB= a_cmm: proc_error(7,nA) fi % x ~ - ef nC=a_hat: if nD= a_cmm: proc_error(7,nA) fi % ^ x - if nB= a_cmm: proc_error(7,nA) fi % x ^ - ef nC=a_bqt: if nD= a_cmm: proc_error(7,nA) fi % ` x - if nB= a_cmm: proc_error(7,nA) fi % x ` - %--------------------------------------------------------------------------------- - ef nC=a_prn_s: a_prn_s_cnt:=a_prn_s_cnt+1; f_depth:=1; - ef nC=a_prn_e: a_prn_e_cnt:=a_prn_e_cnt+1; f_depth:=0; - ef nC=a_brc_s: a_brc_s_cnt:=a_brc_s_cnt+1; f_depth:=1; - ef nC=a_brc_e: a_brc_e_cnt:=a_brc_e_cnt+1; f_depth:=0; - ef nC=a_brk_s: a_brk_s_cnt:=a_brk_s_cnt+1; f_depth:=1; - ef nC=a_brk_e: a_brk_e_cnt:=a_brk_e_cnt+1; f_depth:=0; - %--------------------------------------------------------------------------------- + if mc_char[nA+2]=a_ast: if mc_char[nA+3]=a_cmm: proc_err(7,nA) nA:=nA+2; fi % */* x + ef mc_char[nA+2]=a_cmm: proc_err(7,nA) nA:=nA+1; fi % */ x + ef nD=a_ast: if mc_char[nA+2]=a_cmm: proc_err(7,nA) nA:=nA+1; fi fi % ** x + ef nC=a_sls: if nD=a_sls: if mc_char[nA+2]=a_cmm: proc_err(7,nA) nA:=nA+1; fi % // x + ef nD=a_ast: if mc_char[nA+2]=a_cmm: proc_err(7,nA) nA:=nA+1; fi % /* x + ef nD=a_cmm: proc_err(7,nA) fi % / x + ef nC=a_hsh: if nD=a_hsh: nA:=nA+1; % ## + ef nD=a_cmm: proc_err(7,nA) fi % # x + if nB<>a_cmm: proc_err(8,nA) fi % a # + ef nC=a_dol: if nD=a_cmm: proc_err(7,nA) fi % $ x + ef nC=a_equ: if nD= a_cmm: proc_err(7,nA) fi % = x + if nB= a_cmm: proc_err(7,nA) fi % x = + ef nC=a_cln: if nD= a_cmm: proc_err(7,nA) fi % : x + if nB= a_cmm: proc_err(7,nA) fi % x : + ef nC=a_amk: cnt_at:=cnt_at+1; + if nD= a_cmm: proc_err(7,nA) fi % @ x + if nB<>a_cmm: proc_err(8,nA) fi % a @ + ef nC=a_and: cnt_and:=cnt_and+1; + 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 + if nB= a_cmm: proc_err(7,nA) fi % x ~ + ef nC=a_hat: if nD= a_cmm: proc_err(7,nA) fi % ^ x + if nB= a_cmm: proc_err(7,nA) fi % x ^ + ef nC=a_bqt: if nD= a_cmm: proc_err(7,nA) fi % ` x + if nB= a_cmm: proc_err(7,nA) fi % x ` + ef nC=a_bar: if nD= a_bar: + if mc_char[nA+2]=a_bar: nA:=nA+1; % || + ef mc_char[nA+2]<>a_cmm: proc_err(8,nA) % | a + fi + if nB<>a_cmm: proc_err(8,nA) fi % a | + fi + %------------------------------------------------------------------------------------------ + ef nC=a_prn_s: cnt_prn_s:=cnt_prn_s+1; f_depth:=1; + if nB=a_qut: cnt_inline_def:=cnt_inline_def+1; fi + ef nC=a_prn_e: cnt_prn_e:=cnt_prn_e+1; f_depth:=0; + ef nC=a_brc_s: cnt_brc_s:=cnt_brc_s+1; f_depth:=1; + ef nC=a_brc_e: cnt_brc_e:=cnt_brc_e+1; f_depth:=0; + if nD=a_cln: cnt_chg_atoms:=cnt_chg_atoms+1; + ef nD=a_equ: cnt_chg_bonds:=cnt_chg_bonds+1; + fi + ef nC=a_brk_s: cnt_brk_s:=cnt_brk_s+1; f_depth:=1; + ef nC=a_brk_e: cnt_brk_e:=cnt_brk_e+1; f_depth:=0; + %------------------------------------------------------------------------------------------- fi exitif nA>=char_cnt+1; endfor - %-- brackets balance check --------------------------------------------------------------------- - if a_prn_s_cnt>a_prn_e_cnt: proc_error(1,0) ef a_prn_s_cnta_brc_e_cnt: proc_error(3,0) ef a_brc_s_cnta_brk_e_cnt: proc_error(5,0) ef a_brk_s_cntcnt_prn_e: proc_err(1,0) ef cnt_prn_scnt_brc_e: proc_err(3,0) ef cnt_brc_scnt_brk_e: proc_err(5,0) ef cnt_brk_s0): readstring; fi err_cnt enddef; %------------------------------------------------------------------------------------------------- -def proc_error(expr ERR_CODE,ADR)= - err_cnt:=err_cnt+1; err_adr[err_cnt]:=ADR; - err_code[err_cnt]:=ERR_CODE; +def proc_err(expr ERR_CODE,ADR)= + err_cnt:=err_cnt+1; err_adr[err_cnt]:=ADR; err_code[err_cnt]:=ERR_CODE; if ERR_CODE<=6: err_str[err_cnt]:=" "; - else: err_str[err_cnt]:=substring (ADR-3,ADR+2) of mc; + else: err_str[err_cnt]:=substring (ADR-3,ADR+2) of mc; fi enddef; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -- cgit v1.2.3