From 947e533d6de8e459df04fdcf60d65bbc735b3b12 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Fri, 12 Feb 2016 00:20:07 +0000 Subject: mcf2graph (11feb16) git-svn-id: svn://tug.org/texlive/trunk@39672 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG | 10 +- Master/texmf-dist/doc/metapost/mcf2graph/README | 51 ++- .../doc/metapost/mcf2graph/mcf_exa_soc.mf | 2 +- .../doc/metapost/mcf2graph/mcf_example.pdf | Bin 248205 -> 248202 bytes .../doc/metapost/mcf2graph/mcf_man_soc.mf | 224 ++++++++---- .../doc/metapost/mcf2graph/mcf_manual.pdf | Bin 344950 -> 399538 bytes .../doc/metapost/mcf2graph/mcf_manual.tex | 395 ++++++++++++++------- .../doc/metapost/mcf2graph/mcf_mplib_exa.pdf | Bin 123803 -> 123803 bytes Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf | 19 +- 9 files changed, 477 insertions(+), 224 deletions(-) diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG b/Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG index 1c83bd84c19..4438f54eeae 100644 --- a/Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG +++ b/Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG @@ -1,8 +1,14 @@ ******************************************************************************* - Changelog of mcf2graph + Changelog of mcf2graph software package by Akira Yamaji 2016-02-11 ******************************************************************************* +[ver. 3.81 / 2016-02-11] + add parameter sw_subst_off,sw_bond_single + delete constant _skeltonA_end + update MCF syntax manual + [ver. 3.80 / 2016-02-06] - add new command || , divide CHANGELOG from README and change e-mail address + add new command || , divide CHANGELOG from README + change e-mail address [ver. 3.78 / 2016-01-16] update MCF syntax manual and MCF luamplib example diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/README b/Master/texmf-dist/doc/metapost/mcf2graph/README index 3755cb4e70c..2c4e2da7d64 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 : 3.80 2016-02-06 + version : 3.81 2016-02-11 E-mail : mcf2graph@gmail.com Located at : http://www.ctan.org/pkg/mcf2graph ******************************************************************************** @@ -12,7 +12,6 @@ like adressing,grouping,macro,etc. There are no Meta language commands in MCF. mcf2graph.mf(metapost/metafont macro) convert MCF file to graphics file (pk font/PNG/SVG/EPS) or MDL MOL file(V2000). - The software,MCF manual,TeX example can get from authors web site. 2. The distribution of software ( 1) README This file @@ -23,29 +22,36 @@ ( 6) mcf_man_soc-031.eps No.31 EPS(with color) file of (4) ( 7) mcf_manual.pdf PDF of (4) (used LaTeX,dvipdfmx) ( 8) mcf_example.tex LaTeX example, - Make 'mcf_exa_soc-info.aux' before typeset - mpost -s ahangle=0 mcf_exa_soc.mf + Make file 'mcf_exa_soc-info.aux' before typeset + >mpost -s ahangle=0 mcf_exa_soc.mf ( 9) mcf_exa_soc.mf Molecular difinition file for mcf_example.tex (10) mcf_example.pdf PDF of (8) (used LaTeX,dvipdfmx) (11) mcf_mplib_exa.tex luamplib v2.11(LuaLaTeX) example (12) mcf_example.pdf PDF of (11) typeset with LuaTeX(LuaLaTeX) 3. How to use mcf2graph with Metapost - ( 1) mpost -s ahangle=0 FILENAME output no graphic file. - ( 2) mpost -s ahangle=1 FILENAME output PNG file. (default value is eps) - ( 3) mpost -s ahangle=2 FILENAME output SVG file. - ( 4) mpost -s ahangle=3 FILENAME output MDL Molfile(V2000) - ( 5) mpost -s ahlength=1 FILENAME output first definition only (for test) - ( 6) mpost -s ahlength=2 FILENAME output checklist. + ( 1) >mpost -s ahangle=0 FILENAME output no graphic file. + ( 2) >mpost -s ahangle=1 FILENAME output PNG file. (default value is eps) + ( 3) >mpost -s ahangle=2 FILENAME output SVG file. + ( 4) >mpost -s ahangle=3 FILENAME output MDL Molfile(V2000) + ( 5) >mpost -s ahlength=1 FILENAME output first definition only (for test) + ( 6) >mpost -s ahlength=2 FILENAME output checklist. 4. Molecular definition file example - input mcf2graph.mf; % input main system - font_wd#:=30mm#; font_ht#:=20mm#; % font width,font height - max_bond_width:=0.2; % max fond length/font width %----------------------------------------------------------------------- - beginfont("EN:Acetamiprid") % Molecular name 1 - MCf(<30,Ph,4\,!,NH,!,!~dr,N,!,CN)% % Molecular Coding Format + input mcf2graph.mf; % input main system + %-- preamble ----------------------------------------------------------- + font_wd#:=30mm#; % font width + font_ht#:=20mm#; % font height + max_bond_width:=0.2; % max fond length/font width + %-- molecular definition ----------------------------------------------- + beginfont("EN:Acetamiprid") % Molecular name 1 + MCf(<30,Ph,4\,!,NH,!,!~dr,N,!,CN) % Molecular Coding Format + endfont + beginfont("EN:Imidacloprid") % Molecular name 2 + MCf(<30,Ph,1:N,6:/Cl,3\,!, % Molecular Coding Format + |,?5,1:N,3:NH,2\\,!,NO2) endfont %----------------------------------------------------------------------- bye @@ -65,7 +71,7 @@ \input mcf_exa_soc-info.aux % filename of souce file : mcf_exa_soc.mf 6. How to use mcf2graph with luamplib(LuaLaTeX) - It is possible to write MCF in LaTeX text with luamplib(ver.2.11). + It is possible to write MCF in LaTeX text with luamplib. mcf_mplib_exa.tex is example of using luamplib(LuaLaTeX). \documentclass{article} @@ -76,10 +82,17 @@ %------------------------------------------------------------------------------- ********************************************************** \begin{mplibcode} - font_wd:=100mm; font_ht:=50mm; - beginfont("EN:Acetamiprid") % Molecular name 1 - MCf(<30,Ph,4\,!,NH,!,!~dr,N,!,CN)% % Molecular Coding Format + %------------------------------------------------------------------- + font_wd:=100mm; font_ht:=50mm; % preamble + %------------------------------------------------------------------- + beginfont("EN:Acetamiprid") % Molecular name 1 + MCf(<30,Ph,4\,!,NH,!,!~dr,N,!,CN)% % Molecular Coding Format + endfont + beginfont("EN:Imidacloprid") % Molecular name 2 + MCf(<30,Ph,1:N,6:/Cl,3\,!, % Molecular Coding Format + |,?5,1:N,3:NH,2\\,!,NO2) endfont + %------------------------------------------------------------------- \end{mplibcode} %---------------------------------------------------------------------------- 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 d0e05dea883..3432440a3f3 100644 --- a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_exa_soc.mf +++ b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_exa_soc.mf @@ -343,7 +343,7 @@ MCf(<30,{,``1,<-120,60,60,60,-60,60,60,-60,60,60,60,-60,60,60,},&1, endfont; %************************************************************************** beginfont("EN:Paclitaxel") - MCf({,?6,5=d,3*,{,``1,36,45,45,45,45,},,-4=?6,-4=?4,},-1=wb,-3=wf,-1:O, + MCf(?6,5=d,3*,{,``1,36,45,45,45,45,},,-4=?6,-4=?4,||,-1=wb,-3=wf,-1:O, @(4^35,4^-35,6)/Me,@(3^-60,15)*/OH,8:/*H^-60,9:*/Me^60,10://O, #1\,O,!,//O,!,*/OH,!,/Ph,60~wf,NH,-60,//O,60,Ph, #7\*,O,-45,//O,60,Ph,#11*\,O,-60,//O,60,#12\*^-15,O,60,//O,-60) diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.pdf b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.pdf index 686e34edde9..2c35bab4ff4 100644 Binary files a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.pdf and b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.pdf differ diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc.mf b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc.mf index 67f9a314c70..f8c5c68f772 100644 --- a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc.mf +++ b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc.mf @@ -1,5 +1,5 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Molecular Coding Format file for mcf_manual.tex by Akira.Yamaji 2016.01.16 +% Molecular Coding Format file for mcf_manual.tex by Akira.Yamaji 2016.02.11 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% input mcf2graph.mf; %------------------------------------------------------------------------ @@ -21,6 +21,46 @@ beginfont("EN:Chain") MCf(<30,-60,60,-60,60,-60,60) endfont %*********************************************************************** +beginfont("EN:Chain") + sw_numberB:=1; + max_bond_width:=0.20; + ratio_chain_ring:=1; + sw_start_vector:=1; + MCf(<30,!,!,!,!,!,!) +endfont +%*********************************************************************** +beginfont("EN:Chain") + sw_numberB:=1; + max_bond_width:=0.20; + ratio_chain_ring:=1; + sw_start_vector:=1; + MCf(<30,!6) +endfont +%*********************************************************************** +beginfont("EN:Jump") + sw_numberA:=1; + max_bond_width:=0.20; + ratio_chain_ring:=1; + sw_start_vector:=1; + MCf(<30,!6,3*,0,!) +endfont +%*********************************************************************** +beginfont("EN:Branch") + sw_numberA:=1; + max_bond_width:=0.20; + ratio_chain_ring:=1; + sw_start_vector:=1; + MCf(<30,!6,3\,!) +endfont +%*********************************************************************** +beginfont("EN:Connect") + sw_numberA:=1; + max_bond_width:=0.20; + ratio_chain_ring:=1; + sw_start_vector:=1; + MCf(<30,!6,3*,0,!,&5) +endfont +%*********************************************************************** beginfont("EN:ring") sw_numberB:=1; sw_start_vector:=1; @@ -77,7 +117,13 @@ beginfont("EN:change atom 3") endfont %*********************************************************************** beginfont("EN:change atom 4") - MCd(.5,.5)(.5,.9)(?6,4\,|,?6,2:N,||,@(2,6)O) + MCd(.5,.5)(.5,.9)(?6,4\,|,?6,2:N) + sw_numberA:=1; + MCd(.5,.5)(.5,.1)(?6,4\,?6) +endfont +%*********************************************************************** +beginfont("EN:change atom 4") + MCd(.5,.5)(.5,.9)(?6,4\,|,?6,||,2:N) sw_numberA:=1; MCd(.5,.5)(.5,.1)(?6,4\,?6) endfont @@ -131,15 +177,17 @@ beginfont("EN:Spiro ring ") MCf(<30,!6,4*,?5) endfont %*********************************************************************** -beginfont("EN:branch") +beginfont("EN:branch1") sw_numberA:=1; + numberA_end:=9; max_bond_width:=0.30; ratio_chain_ring:=1; MCf(<-30,!8,2\,!,4*\,!,6\*,!,8\\,!) endfont %*********************************************************************** -beginfont("EN:branch3") +beginfont("EN:branch2") sw_numberA:=1; + numberA_end:=7; max_bond_width:=0.30; ratio_chain_ring:=1; MCf(<-30,!6,2\~dr,!,4\`1.5,!,6\^15,-60) @@ -161,41 +209,41 @@ endfont %*********************************************************************** beginfont("EN:substituent 3") sw_numberA:=1; - numberA_end:=_skeletonA_end; + numberA_end:=12; MCf(<30,!11,2:/Me,3:/Et,6:/Pr,7:/iPr,10:/tBu,11:/Ph^-30) endfont %*********************************************************************** beginfont("EN:substituent 4") - sw_numberA:=1; numberA_end:=_skeletonA_end; + sw_numberA:=1; numberA_end:=6; MCf(<30,?6,@(3`2^30,3~wf,4~zf,6~wf^-30,6~zf^30)/H) endfont %*********************************************************************** beginfont("EN:substituent 5") - sw_numberA:=1; numberA_end:=_skeletonA_end; + sw_numberA:=1; numberA_end:=8; MCf(<30,!7`1,@(2,3)/*Me`2^30,5:*/Pr>lr,7:*/Pr>rl) endfont %*********************************************************************** beginfont("EN:chain strech direction mode 1") ratio_chain_ring:=1; MCf( - ?4,@(3^-90,3^-30,3^90)/'(!3,"{>hz}")>hz, - @(1^-60,1`2,1^60)/'(!2,"{>vt}")>vt + ?4,@(3^-90,3^-30,3^90)/'(!3,"{hz}")>hz, + @(1^-60,1`2,1^60)/'(!2,"{vt}")>vt ) endfont %*********************************************************************** beginfont("EN:chain strech direction mode 2") ratio_chain_ring:=1; MCf( - <30,!6,@(3^-30,3,3^30)/'(!,!,!,"{>lr}")>lr, - @(5^-30,5,5^30)/'(!,!,!,"{>rl}")>rl + <30,!6,@(3^-30,3,3^30)/'(!,!,!,"{lr}")>lr, + @(5^-30,5,5^30)/'(!,!,!,"{rl}")>rl ) endfont %*********************************************************************** beginfont("EN:chain strech direction mode 3") ratio_chain_ring:=1; sw_start_vector:=1; - MCf(<-30,!6,@(6>45)/'(!3,"{>45}"), - @(3>'(90,-90,90))/'(!3,"{>'(90,-90,90)}") + MCf(<-30,!6,@(6>45)/'(!3,"{45}"), + @(3>'(90,-90,90))/'(!3,"{'(90,-90,90)}") ) endfont %*********************************************************************** @@ -226,52 +274,6 @@ beginfont("EN:Inline definition") MCf(<30,!3,/'(!,/Me,!,OH),!3) endfont %*********************************************************************** -beginfont("EN:Ampicillin") - MCf(<45, - ?4,2:N,2=?5,-1:S, - @(3^45,4^-45)/*H,1://O^15,5:/*COOH^-18,@(6^35,6^-35)/Me, - 4\^75,NH,!,//O,!,NH,!,Ph - ) -endfont -%*********************************************************************** -beginfont("EN:Cholesterol") - MCf( - <30,?6,$(-4,-2)?6,-4=?5,7=dl, - 1:*/OH,@(4,12)*/Me^60,9:*/H^60, - 10:/*H^180,@(11,-1)/*H^-60, - -1\^17,/*Me,!4,/Me,!, - ) -endfont -%*********************************************************************** -beginfont("EN:alfa-Tocopherol") - MCf(<30, - Ph,3=?6,7:O,@(1,2,5)/Me,8:/*Me^60,6:/OH, - 8\,|,!12,@(4,8)/*Me,12:/Me - ) -endfont -%*********************************************************************** -beginfont("EN:Caffeine") - MCf(<30, - ?6,-4=?5,$(3,8)dl,@(2,6,7,9)N,@(2,6,9)/Me,@(1,5)//O - ) -endfont -%*********************************************************************** -beginfont("EN:Lycorine") - MCf(<30, - Ph,-4=?6,-2=?6,6=?5,(9,12)=?5[3],13=dl,8:N,@(15,17)O, - 9:/*H^180,10:*/H^60,13:*/OH,14:/*OH - ) -endfont -%*********************************************************************** -beginfont("EN:Gibberellin A3"); - MCf( - <12,?6`1.3,3=?5,9=?7,12\^160`1.6,&8, - 4\^155~zf`1.2,O,55,//O^180`1,&2~zb, - 5=dl,11=wf,13=wb,7:/COOH,11://Me,1:*/OH,12:/*OH,2:*/Me, - @(3^-60,9^60)*/H - ) -endfont -%*********************************************************************** beginfont("EN:Font size") font_wd#:=30mm#;% font_ht#:=20mm#;% @@ -410,13 +412,6 @@ beginfont("EN:margin_top_bottom") MCd(1,1)(0.9, .5)(<30,Ph,2:/OH,5:/NH2) endfont %*********************************************************************** -beginfont("EN:Switwch start vector") - sw_start_vector:=0; - MCd(1,.6)( 0, .5)(<30,Ph,4:/Cl,3:/F) - sw_start_vector:=1; - MCd(1,.6)( 1, .5)(<30,Ph,4:/Cl,3:/F) -endfont -%*********************************************************************** beginfont("EN:Switwch numberingA") ratio_chain_ring:=1; numberA_start:=3; numberA_end:=8; @@ -433,6 +428,23 @@ beginfont("EN:Switwch numberingB") sw_numberB:=3; MCd(1,1)(.5,.1)(<30,!9) endfont %*********************************************************************** +beginfont("EN:Switwch substituent off") + MCd(1,.6)( 0, .5)(<30,Ph,4:/Cl,3:/F) + sw_subst_off:=1; + MCd(1,.6)( 1, .5)(<30,Ph,4:/Cl,3:/F) +endfont +%*********************************************************************** +beginfont("EN:Switwch bondtype off") + MCd(1,.6)( 0, .5)(<30,Ph,4:/Cl,3:/F) + sw_bond_single:=1; + MCd(1,.6)( 1, .5)(<30,Ph,4:/Cl,3:/F) +endfont +%*********************************************************************** +beginfont("EN:Switwch start vector") + sw_start_vector:=1; + MCf(<30,Ph,4:/Cl,3:/F) +endfont +%*********************************************************************** beginfont("EN:Switwch font frame") sw_font_frame:=1; MCf(<30,Ph,4:/Cl,3:/F) @@ -477,15 +489,15 @@ endfont %*********************************************************************** beginfont("EN:Local setting") sw_mol_frame:=1; - MCd(1,.5)(0.0,0.5)(<30,Ph,@(2)N) endfont -beginfont() MCd(1,.5)(0.5,0.5)(<30,Ph,@(2,4)N) endfont -beginfont() MCd(1,.5)(1.0,0.5)(<30,Ph,@(2,4,6)N) endfont + MCd(1,.5)(0.0,0.5)(<30,Ph) endfont +beginfont() MCd(1,.5)(0.5,0.5)(<30,Ph) endfont +beginfont() MCd(1,.5)(1.0,0.5)(<30,Ph) endfont %*********************************************************************** sw_mol_frame:=1; beginfont("EN:Global setting") - MCd(1,.5)(0.0,0.5)(<30,Ph,@(2)N) endfont -beginfont() MCd(1,.5)(0.5,0.5)(<30,Ph,@(2,4)N) endfont -beginfont() MCd(1,.5)(1.0,0.5)(<30,Ph,@(2,4,6)N) endfont + MCd(1,.5)(0.0,0.5)(<30,Ph) endfont +beginfont() MCd(1,.5)(0.5,0.5)(<30,Ph) endfont +beginfont() MCd(1,.5)(1.0,0.5)(<30,Ph) endfont sw_mol_frame:=0; %*********************************************************************** %% Output molecular infomation @@ -500,4 +512,72 @@ sw_logout:=1; MCf(<30,?6,-4=?5,$(3,8)dl,@(2,6,7,9)N,@(2,6,9)/Me,@(1,5)//O) endfont %*********************************************************************** +beginfont("EN:Ampicillin") + MCf(<45, + ?4,2:N,2=?5,-1:S, + @(3^45,4^-45)/*H,1://O^15,5:/*COOH^-18,@(6^35,6^-35)/Me, + 4\^75,NH,!,//O,!,NH,!,Ph + ) +endfont +%*********************************************************************** +beginfont("EN:Cholesterol") + MCf( + <30,?6,$(-4,-2)?6,-4=?5,7=dl, + 1:*/OH,@(4,12)*/Me^60,9:*/H^60, + 10:/*H^180,@(11,-1)/*H^-60, + -1\^17,/*Me,!4,/Me,!, + ) +endfont +%*********************************************************************** +beginfont("EN:alfa-Tocopherol") + MCf(<30, + Ph,3=?6,7:O,@(1,2,5)/Me,8:/*Me^60,6:/OH, + 8\,|,!12,@(4,8)/*Me,12:/Me + ) +endfont +%*************************************************************************** +beginfont("EN:Colchicine") + MCf(<30,Ph,@(1,2,6)/OMe,|,-4=?7, + |,-5=?7,$(-1,-4,-6)dl,-2://O,-3:/OMe, + #9\,NH,!,//O,!) +endfont +%*************************************************************************** +beginfont("EN:Lycorine") + MCf(<30, + Ph,-4=?6,-2=?6,6=?5,(9,12)=?5[3],13=dl,8:N,@(15,17)O, + 9:/*H^180,10:*/H^60,13:*/OH,14:/*OH + ) +endfont +%*********************************************************************** +beginfont("EN:Gibberellin A3"); + MCf( + <12,?6`1.3,3=?5,9=?7,12\^160`1.6,&8, + 4\^155~zf`1.2,O,55,//O^180`1,&2~zb, + 5=dl,11=wf,13=wb,7:/COOH,11://Me,1:*/OH,12:/*OH,2:*/Me, + @(3^-60,9^60)*/H + ) +endfont +%************************************************************************** +beginfont("EN:Capsaicin") + MCf(<30,Ph,1:/OH,6:/OMe,4\,!,NH,!,//O,|,!8,-3=dr,-1:/Me) +endfont +%*************************************************************************** +beginfont("EN:Quinine") + MCf(<30,Ph,3=Ph,7:N,6:/OMe, + 10\,*/OH,/H~zf^-60,!,|,?6,2:N,1:*/H^60,4*\,!~dr,2*,165~zf,60,&5~zb) +endfont +%*************************************************************************** +beginfont("EN:Atoropin") + MCf(<-30,O,!,//O,!,!,Ph, + #1\~zb^-120,|,?7`1.1,6*\^190`1.25,N,/Me,&3~wb,#3\~wv,!,OH) +endfont +%*************************************************************************** +beginfont("EN:Paclitaxel") + MCf(?6,5=d,3*,{,``1,36,45,45,45,45,}, + ,-4=?6,-4=?4,-1=wb,-3=wf,-1:O,||, + @(4^35,4^-35,6)/Me,@(3^-60,15)*/OH,8:/*H^-60,9:*/Me^60,10://O, + 1\,O,!,//O,!,*/OH,!,/Ph,60~wf,NH,-60,//O,60,Ph, + 7\*,O,-45,//O,60,Ph,11*\,O,-60,//O,60,12\*^-15,O,60,//O,-60) +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 7035e8d2219..da4094c8854 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 d48fed43a5b..3500652d6c7 100644 --- a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.tex +++ b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.tex @@ -1,5 +1,5 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Molecular Coding Format manual by Akira Yamaji 2016.02.06 +% Molecular Coding Format manual by Akira Yamaji 2016.02.11 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \documentclass[a4paper]{article} \usepackage[dvipdfmx]{graphicx} @@ -43,18 +43,77 @@ pk font,PNG,SVG,EPS or MDL MOL file(V2000). \\ \end{minipage}\vspace{3mm}\\ \linethickness{0.08mm}% -%---------------------------------------------------------------------------- \noindent% +%---------------------------------------------------------------------------- \begin{minipage}[t][38mm]{90mm} -\MCFtitle{Chain} +\MCFtitle{Chain(1)} \begin{verbatim} plus(+):anticlockwize,minus(-):clockwize -! : take value depend on - current angle and enviroment <30,-60,60,-60,60,-60,60 + + ** bold arrow is default angle and position +\end{verbatim} +\end{minipage} +\MCFstructure +\vspace{5mm}\\ +%---------------------------------------------------------------------------- +\begin{minipage}[t][38mm]{90mm} +\MCFtitle{Chain(2)} +\begin{verbatim} +! : take value(60 or -60) depend on + current angle and enviroment + <30,!,!,!,!,!,! +\end{verbatim} +\end{minipage} +\MCFstructure +\vspace{5mm}\\ +%----------------------------------------------------------------------------- +\begin{minipage}[t][38mm]{90mm} +\MCFtitle{Chain(3)} +\begin{verbatim} +!6 : !,!,!,!, !,! + + <30,!6 + +\end{verbatim} +\end{minipage} +\MCFstructure +\vspace{5mm}\\ +%----------------------------------------------------------------------------- +\begin{minipage}[t][38mm]{90mm} +\MCFtitle{Jump to atom} +\begin{verbatim} +3* : Jump to A3 + + <30,!6,3*,0,! + +\end{verbatim} +\end{minipage} +\MCFstructure +\vspace{5mm}\\ +%----------------------------------------------------------------------------- +\begin{minipage}[t][38mm]{90mm} +\MCFtitle{Jump to atom and branch bond} +\begin{verbatim} +3\ : 3*,0 + + <30,!6,3\,! + +\end{verbatim} +\end{minipage} +\MCFstructure +\vspace{5mm}\\ +%----------------------------------------------------------------------------- +\begin{minipage}[t][38mm]{90mm} +\MCFtitle{Connect bond} +\begin{verbatim} +&5 : Connect to A5 + + <30,!6,3\,!,&5 + \end{verbatim} \end{minipage} \MCFstructure @@ -68,7 +127,6 @@ six membered ring ?6 ** ?6 : <-120,60,60,60,60,60,&1 - ** &1 : make bond connect to A1 \end{verbatim} \end{minipage} \MCFstructure @@ -81,8 +139,6 @@ six membered ring <30,!4,<30,?6 - ** !4: !,!,!,! - ** bold arrow is default angle and position \end{verbatim} \end{minipage} \MCFstructure @@ -140,7 +196,7 @@ Bn`length : change bond length at Bn \vspace{5mm}\\ %----------------------------------------------------------------------------- \begin{minipage}[t][38mm]{90mm} -\MCFtitle{Change chain length (3)} +\MCFtitle{Change ring length} \begin{verbatim} ?n`length : change ring length @@ -169,7 +225,7 @@ Insert hetero atom <30,!6,2:O,@(3,5)N -An(-999<=n<=4095): atom number +** An(-999<=n<=4095): atom number \end{verbatim} \end{minipage} \MCFstructure @@ -187,27 +243,35 @@ An(-999<=n<=4095): atom number \vspace{5mm}\\ %----------------------------------------------------------------------------- \begin{minipage}[t][38mm]{90mm} -\MCFtitle{Change atom (brock address)} +\MCFtitle{Change atom (brock address 1)} \begin{verbatim} -2:N : change A2(brock address) C to N - -?6,4\,|,?6,2:N,||,@(2,6)O - | : divide brock + +?6,4\,|,?6,2:N, +\end{verbatim} +\end{minipage} +\MCFstructure +\vspace{5mm}\\ +%----------------------------------------------------------------------------- +\begin{minipage}[t][38mm]{90mm} +\MCFtitle{Change atom (brock address 2)} +\begin{verbatim} || : reset brock adress + +?6,4\,|,?6,||,2:N \end{verbatim} \end{minipage} \MCFstructure \vspace{5mm}\\ %----------------------------------------------------------------------------- \begin{minipage}[t][38mm]{90mm} -\MCFtitle{Change atoma (absolute address)} +\MCFtitle{Change atom (absolute address)} \begin{verbatim} #2:N : change A#2 C to N ?6,4\,|,?6,#2:N -#n : (1<=n<=3095) +** #n : (1<=n<=3095) \end{verbatim} \end{minipage} \MCFstructure @@ -220,7 +284,7 @@ An(-999<=n<=4095): atom number ?6,4\,?6,-2:N --n : (1<=n<=999) +** -n : (1<=n<=999) \end{verbatim} \end{minipage} \MCFstructure @@ -233,7 +297,7 @@ An(-999<=n<=4095): atom number ?6,3=?5 -Bn(n:-999<=n<=4095): bond number +** Bn(n:-999<=n<=4095): bond number \end{verbatim} \end{minipage} \MCFstructure @@ -363,12 +427,10 @@ MCf(<30,!`1,/Me~zf`2^30,!`1,/Me~zf`2^30, \begin{minipage}[t][38mm]{90mm} \MCFtitle{Add substituent(1)} \begin{verbatim} -sw_numberA:=1; numberA_end:=_skeletonA_end; +sw_numberA:=1; numberA_end:=12; MCf(<30,!11, 2:/Me,3:/Et,6:/Pr,7:/iPr,10:/tBu,11:/Ph^-30) -** _skeletonA_end : - end number of molecular skeleton atom \end{verbatim} \end{minipage} \MCFstructure @@ -407,8 +469,8 @@ MCF(<30,!7`1, >vt : vertical enviroment ?4, - @(3^-90,3^-30,3^90)/'(!3,"{>hz}")>hz, - @(1^-60,1`2,1^60)/'(!2,"{>vt}")>vt + @(3^-90,3^-30,3^90)/'(!3,"{hz}")>hz, + @(1^-60,1`2,1^60)/'(!2,"{vt}")>vt \end{verbatim} \end{minipage} @@ -422,8 +484,8 @@ MCF(<30,!7`1, >rl : right-left enviroment <30,!6, - @(3^-30,3,3^30)/'(!3,"{>lr}")>lr, - @(5^-30,5,5^30)/'(!3,"{>rl}")>rl + @(3^-30,3,3^30)/'(!3,"{lr}")>lr, + @(5^-30,5,5^30)/'(!3,"{rl}")>rl \end{verbatim} \end{minipage} @@ -436,8 +498,8 @@ MCF(<30,!7`1, >45 : fixed angle enviroment >'(-90,90,-90) : multi angle enviroment - <-30,!6,@(2>45)/'(!3,"{>45}"), - @(6>'(-90,90,-90))/'(!3,"{>(-90,90,-90)}") + <-30,!6,@(2>45)/'(!3,"{45}"), + @(6>'(-90,90,-90))/'(!3,"{(-90,90,-90)}") \end{verbatim} \end{minipage} \MCFstructure @@ -465,6 +527,7 @@ $(3)red : change color of B3 red <30,Ph,@(2,5)N, 2:red,5:blue,3=green +** METAFONT ignore color command \end{verbatim} \end{minipage} %%%%\MCFstructure % for Metafont @@ -514,81 +577,6 @@ Insert user defined substructure \vspace{5mm}\\ %----------------------------------------------------------------------------- \begin{minipage}[t][38mm]{90mm} -\MCFtitle{Example(1) Ampicillin} -\begin{verbatim} - - <45,?4,2:N,2=?5,-1:S, - @(3^45,4^-45)/*H,1://O^15, - 5:/*COOH^-18,@(6^35,6^-35)/Me, - 4\^75,NH,!,//O,!,NH,!,Ph -\end{verbatim} -\end{minipage} -\MCFstructure -\vspace{5mm}\\ -%----------------------------------------------------------------------------- -\begin{minipage}[t][38mm]{90mm} -\MCFtitle{Example(2) Cholesterol} -\begin{verbatim} - - <30,?6,$(-4,-2)?6,-4=?5,7=dl, - 1:*/OH,@(4,12)*/Me^60,9:*/H^60, - 10:/*H^180,@(11,-1)/*H^-60, - -1\^17,/*Me,!4,/Me,!, -\end{verbatim} -\end{minipage} -\MCFstructure -\vspace{5mm}\\ -%----------------------------------------------------------------------------- -\begin{minipage}[t][38mm]{90mm} -\MCFtitle{Example(3) alfa-Tocopherol} -\begin{verbatim} - - <30,Ph,3=?6, - 7:O,@(1,2,5)/Me,8:/*Me^60,6:/OH, - 8\,|,!12,@(4,8)/*Me,12:/Me -\end{verbatim} -\end{minipage} -\MCFstructure -\vspace{5mm}\\ -%----------------------------------------------------------------------------- -\begin{minipage}[t][38mm]{90mm} -\MCFtitle{Example(4) Caffeine} -\begin{verbatim} - - <30,?6,-4=?5,$(3,8)dl, - @(2,6,7,9)N,@(2,6,9)/Me, - @(1,5)//O -\end{verbatim} -\end{minipage} -\MCFstructure -\vspace{5mm}\\ -%----------------------------------------------------------------------------- -\begin{minipage}[t][38mm]{90mm} -\MCFtitle{Example(5) Lycorine} -\begin{verbatim} - - <30,Ph,-4=?6,-2=?6,6=?5,(9,12)=?5[3], - 13=dl,8:N,@(15,17)O, - 9:/*H^180,10:*/H^60,13:*/OH,14:/*OH -\end{verbatim} -\end{minipage} -\MCFstructure -\vspace{5mm}\\ -%----------------------------------------------------------------------------- -\begin{minipage}[t][38mm]{90mm} -\MCFtitle{Example(6) Gibberellin} -\begin{verbatim} - - <12,?6`1.3,3=?5,9=?7,12\^160`1.6,&8, - 4\^155~zf`1.2,O,55,//O^180`1,&2~zb, - 5=dl,11=wf,13=wb,7:/COOH,11://Me,1:*/OH, - 12:/*OH,2:*/Me,@(3^-60,9^60)*/H -\end{verbatim} -\end{minipage} -\MCFstructure -\vspace{5mm}\\ -%----------------------------------------------------------------------------- -\begin{minipage}[t][38mm]{90mm} \MCFtitle{Font size} \begin{verbatim} beginfont("EN:Caffeine") @@ -815,18 +803,6 @@ MCd(1,1)(0.9,0.5)(<30,Ph,2:/OH,5:/NH2) \vspace{5mm}\\ %----------------------------------------------------------------------------- \begin{minipage}[t][38mm]{90mm} -\MCFtitle{Switch Start Vector} -\begin{verbatim} - - MCd(1,.6)( 0,0.5)(<30,Ph,4:/Cl,3:/F) - sw_start_vector:=1; - MCd(1,.6)( 1,0.5)(<30,Ph,4:/Cl,3:/F) -\end{verbatim} -\end{minipage} -\MCFstructure -\vspace{5mm}\\ -%----------------------------------------------------------------------------- -\begin{minipage}[t][38mm]{90mm} \MCFtitle{Switch Numbering atom} \begin{verbatim} numberA_start:=3; numberA_end:=8; @@ -857,11 +833,54 @@ MCd(1,1)(0.9,0.5)(<30,Ph,2:/OH,5:/NH2) \vspace{5mm}\\ %----------------------------------------------------------------------------- \begin{minipage}[t][38mm]{90mm} +\MCFtitle{Switch substituent off} +\begin{verbatim} + + MCd(1,.6)( 0,0.5)(<30,Ph,4:/Cl,3:/F) + sw_subst_off:=1; + MCd(1,.6)( 1,0.5)(<30,Ph,4:/Cl,3:/F) + + ** default: sw_subst_off=0 +\end{verbatim} +\end{minipage} +\MCFstructure +\vspace{5mm}\\ +%----------------------------------------------------------------------------- +\begin{minipage}[t][38mm]{90mm} +\MCFtitle{Switch all bond single} +\begin{verbatim} + + MCd(1,.6)( 0,0.5)(<30,Ph,4:/Cl,3:/F) + sw_bond_single:=1; + MCd(1,.6)( 1,0.5)(<30,Ph,4:/Cl,3:/F) + + ** default: sw_bond_single=0 +\end{verbatim} +\end{minipage} +\MCFstructure +\vspace{5mm}\\ +%----------------------------------------------------------------------------- +\begin{minipage}[t][38mm]{90mm} +\MCFtitle{Switch start vector} +\begin{verbatim} + sw_start_vector:=1; + + MCf(<30,Ph,4:/Cl,3:/F) + + ** default: sw_start_vector=0 +\end{verbatim} +\end{minipage} +\MCFstructure +\vspace{5mm}\\ +%----------------------------------------------------------------------------- +\begin{minipage}[t][38mm]{90mm} \MCFtitle{Switch font frame} \begin{verbatim} sw_font_frame:=1; MCf(<30,Ph,4:/Cl,3:/F) + + ** default: sw_font_frame=0 \end{verbatim} \end{minipage} \MCFstructure @@ -874,6 +893,8 @@ MCd(1,1)(0.9,0.5)(<30,Ph,2:/OH,5:/NH2) MCd(1,.6)(0,0.5)(<30,Ph,4:/Cl,3:/F) sw_mol_frame:=1; MCd(1,.6)(1,0.5)(<30,Ph,4:/Cl,3:/F) + + ** default: sw_mol_frame=0 \end{verbatim} \end{minipage} \MCFstructure @@ -886,6 +907,8 @@ MCd(1,1)(0.9,0.5)(<30,Ph,2:/OH,5:/NH2) sw_atom_frame:=1; MCf(<30,Ph,4:/COOH,3:/OH) + + ** default: sw_atom_frame=0 \end{verbatim} \end{minipage} \MCFstructure @@ -898,6 +921,8 @@ MCd(1,1)(0.9,0.5)(<30,Ph,2:/OH,5:/NH2) MCd(1,.8)( 0,0.5)(<30,Ph,4:/Cl,3:/F) sw_solid:=1; ratio_bond_width:=0.08; MCd(1,.8)( 1,0.5)(<30,Ph,4:/Cl,3:/F) + + ** default: sw_solid=0 \end{verbatim} \end{minipage} \MCFstructure @@ -910,6 +935,8 @@ MCd(1,1)(0.9,0.5)(<30,Ph,2:/OH,5:/NH2) MCd(1,.6)(0,0.5)(<30,Ph,4:/COOH,3:/NH2) sw_expand:=1; MCd(1,.6)(1,0.5)(<30,Ph,4:/COOH,3:/NH2) + + ** default: sw_expand=0 \end{verbatim} \end{minipage} \MCFstructure @@ -948,11 +975,11 @@ MCd(1,1)(0.9,0.5)(<30,Ph,2:/OH,5:/NH2) \begin{verbatim} beginfont("NO:1") sw_mol_frame:=1; % <<== Local setting - MCd(1,.5)(0.0,0.5)(<30,Ph,@(2)N) endfont + MCd(1,.5)(0.0,0.5)(<30,Ph) endfont beginfont("NO:2") - MCd(1,.5)(0.5,0.5)(<30,Ph,@(2,4)N) endfont + MCd(1,.5)(0.5,0.5)(<30,Ph) endfont beginfont("NO:3") - MCd(1,.5)(1.0,0.5)(<30,Ph,@(2,4,6)N) endfont + MCd(1,.5)(1.0,0.5)(<30,Ph) endfont \end{verbatim} \end{minipage} \MCFstru\MCFstru\MCFstructure% @@ -963,11 +990,11 @@ beginfont("NO:3") \begin{verbatim} sw_mol_frame:=1; % <<== Global setting beginfont("NO:1") - MCd(1,.5)(0.0,0.5)(<30,Ph,@(2)N) endfont + MCd(1,.5)(0.0,0.5)(<30,Ph) endfont beginfont("NO:2") - MCd(1,.5)(0.5,0.5)(<30,Ph,@(2,4)N) endfont + MCd(1,.5)(0.5,0.5)(<30,Ph) endfont beginfont("NO:3") - MCd(1,.5)(1.0,0.5)(<30,Ph,@(2,4,6)N) endfont + MCd(1,.5)(1.0,0.5)(<30,Ph) endfont \end{verbatim} \end{minipage} \MCFstru\MCFstru\MCFstructure% @@ -1001,5 +1028,131 @@ CAS:CAS number *:default output \end{verbatim} \end{minipage} \MCFstructure +\vspace{5mm}\\ +%----------------------------------------------------------------------------- +\begin{minipage}[t][38mm]{90mm} +\MCFtitle{Example(1) Ampicillin} +\begin{verbatim} + + <45,?4,2:N,2=?5,-1:S, + @(3^45,4^-45)/*H,1://O^15, + 5:/*COOH^-18,@(6^35,6^-35)/Me, + 4\^75,NH,!,//O,!,NH,!,Ph +\end{verbatim} +\end{minipage} +\MCFstructure +\vspace{5mm}\\ +%----------------------------------------------------------------------------- +\begin{minipage}[t][38mm]{90mm} +\MCFtitle{Example(2) Cholesterol} +\begin{verbatim} + + <30,?6,$(-4,-2)?6,-4=?5,7=dl, + 1:*/OH,@(4,12)*/Me^60,9:*/H^60, + 10:/*H^180,@(11,-1)/*H^-60, + -1\^17,/*Me,!4,/Me,!, +\end{verbatim} +\end{minipage} +\MCFstructure +\vspace{5mm}\\ +%----------------------------------------------------------------------------- +\begin{minipage}[t][38mm]{90mm} +\MCFtitle{Example(3) alfa-Tocopherol} +\begin{verbatim} + + <30,Ph,3=?6, + 7:O,@(1,2,5)/Me,8:/*Me^60,6:/OH, + 8\,|,!12,@(4,8)/*Me,12:/Me +\end{verbatim} +\end{minipage} +\MCFstructure +\vspace{5mm}\\ +%----------------------------------------------------------------------------- +\begin{minipage}[t][38mm]{90mm} +\MCFtitle{Example(4) Colchicine} +\begin{verbatim} + <30,Ph,@(1,2,6)/OMe,|,-4=?7, + |,-5=?7,$(-1,-4,-6)dl,-2://O,-3:/OMe, + #9\,NH,!,//O,! +\end{verbatim} +\end{minipage} +\MCFstructure +\vspace{5mm}\\ +%----------------------------------------------------------------------------- +\begin{minipage}[t][38mm]{90mm} +\MCFtitle{Example(5) Lycorine} +\begin{verbatim} + + <30,Ph,-4=?6,-2=?6,6=?5,(9,12)=?5[3], + 13=dl,8:N,@(15,17)O, + 9:/*H^180,10:*/H^60,13:*/OH,14:/*OH +\end{verbatim} +\end{minipage} +\MCFstructure +\vspace{5mm}\\ +%----------------------------------------------------------------------------- +\begin{minipage}[t][38mm]{90mm} +\MCFtitle{Example(6) Gibberellin} +\begin{verbatim} + <12,?6`1.3,3=?5,9=?7,12\^160`1.6,&8, + 4\^155~zf`1.2,O,55,//O^180`1,&2~zb, + 5=dl,11=wf,13=wb, + 7:/COOH,11://Me,1:*/OH,12:/*OH,2:*/Me, + @(3^-60,9^60)*/H +\end{verbatim} +\end{minipage} +\MCFstructure +\vspace{5mm}\\ +%----------------------------------------------------------------------------- +\begin{minipage}[t][38mm]{90mm} +\MCFtitle{Example(7) Capsaicin} +\begin{verbatim} + <30,Ph, + 1:/OH,6:/OMe,4\,!,NH,!,//O, + |,!8,-3=dr,-1:/Me +\end{verbatim} +\end{minipage} +\MCFstructure +\vspace{5mm}\\ +%----------------------------------------------------------------------------- +\begin{minipage}[t][38mm]{90mm} +\MCFtitle{Example(8) Quinine} +\begin{verbatim} + <30,Ph,3=Ph,7:N,6:/OMe, + 10\,*/OH,/H~zf^-60,!, + |,?6,2:N,1:*/H^60, + 4*\,!~dr, + 2*,165~zf,60,&5~zb +\end{verbatim} +\end{minipage} +\MCFstructure +\vspace{5mm}\\ +%----------------------------------------------------------------------------- +\begin{minipage}[t][38mm]{90mm} +\MCFtitle{Example(9) Atoropin} +\begin{verbatim} + <-30,O,!,//O,!,!,Ph, + #1\~zb^-120, + |,?7`1.1,6*\^190`1.25,N,/Me,&3~wb, + #3\~wv,!,OH +\end{verbatim} +\end{minipage} +\MCFstructure +\vspace{5mm}\\ +%----------------------------------------------------------------------------- +\begin{minipage}[t][38mm]{90mm} +\MCFtitle{Example(10) Paclitaxel} +\begin{verbatim} + ?6,5=d,3*,{,``1,36,45,45,45,45,},, + -4=?6,-4=?4,-1=wb,-3=wf,-1:O,||, + @(4^35,4^-35,6)/Me,@(3^-60,15)*/OH, + 8:/*H^-60,9:*/Me^60,10://O, + 1\,O,!,//O,!,*/OH,!,/Ph, + 60~wf,NH,-60,//O,60,Ph, + 7\*,O,-45,//O,60,Ph,11*\,O,-60,//O,60, + 12\*^-15,O,60,//O,-60 +\end{verbatim} +\end{minipage} +\MCFstructure %----------------------------------------------------------------------------- \end{document} diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.pdf b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.pdf index cd25913dea7..47acb726a25 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/metapost/mcf2graph/mcf2graph.mf b/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf index 59907975a36..03125f9e88d 100644 --- a/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf +++ b/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf @@ -1,5 +1,5 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% mcf2graph ver 3.80 Copyright (c) 2013-2016 Akira Yamaji +% mcf2graph ver 3.81 Copyright (c) 2013-2016 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, @@ -43,7 +43,8 @@ picture atom_font[],chem_structure,temp_picture; %------------------------------------------------------------------------------------------------- sw_numberA:=sw_numberB:=sw_mol_frame:=sw_logout:=sw_solid:=sw_expand:=sw_start_vector:=0; char_num:=str_cnt:=proc_end:=sw_font_frame:=sw_atom_frame:=sw_checklist:=sw_MOLfile:=0; -sw_info_file:=sw_info_char:=1; sw_info_lenx:=sw_info_leny:=sw_info_weight:=sw_info_formula:=0; +sw_info_lenx:=sw_info_leny:=sw_info_weight:=sw_info_formula:=sw_subst_off:=sw_bond_single:=0; +sw_info_file:=sw_info_char:=1; numberA_start:=numberB_start:=1; numberA_end:=numberB_end:=4095; %------------------------------------------------------------------------------------------------- if known green: f_MP:=1; @@ -82,14 +83,13 @@ max_info_num:=12; for i:=1 upto max_info_num: info[i]:=":"; endfor def def_com(expr n)(text tx)= nA:=n; forsuffixes list=tx:: list:=nA; nA:=nA+1; endfor enddef; def_com(-4000)(_term,_jp_atom,_jp_atom_abs,_jp_bond,_cyc,_cyc_sB,_cyc_eB,_set_line,_chg_line, _dl,_tmp_line,_chg_len,_get_len,_ring_len,_tmp_len,_rot_ang,_set_ang,_adj_ang,_chg_env, - _tmp_env,_set_colorA,_set_colorB,_postA,_postB,_postC,_postD,_postE,_postF,_set_psA, - _skeletonA_end,_skeletonB_end,_stack_reset, + _tmp_env,_set_colorA,_set_colorB,_postA,_postB,_postC,_postD,_postE,_postF,_set_psA,_stack_reset, _set_clr,_set_adr,_mk_bond,_set_atom,_arg_ang,_chg_atom,_tmp_rot,_fuse,_push,_pop,_size_a); def_com(1)(si,dl,dr,dm,tm,wf,wb,bd,zf,zb,ov,dt,no,ar,vf,vb,wv,nl); %------------------------------------------------------------------------------------------------- def parameter_list= sw_checklist,sw_numberA,sw_numberB,sw_mol_frame,sw_logout,sw_solid,sw_expand,sw_MOLfile, - sw_start_vector,sw_atom_frame,sw_font_frame, + sw_start_vector,sw_atom_frame,sw_font_frame,sw_subst_off,sw_bond_single, margin_left_right,margin_top_bottom,ratio_atom_bond,ratio_thickness_bond,ratio_char_bond, ratio_chain_ring,offset_atom,offset_atom#,max_bond_width,ratio_bondgap_bond,ratio_zebra_black, ratio_zebragap_bond,ratio_wedge_bond,ratio_atomgap_atom,offset_wedge,offset_wedge#, @@ -308,7 +308,7 @@ def MCd(expr RW,RH)(expr FW,FH)(text s)= eB[0]:=1; com_str[0]:=""; lineT:=si; str_cnt:=2000; posA[0]:=posB[0]:=posB[1]:=(0,0); if (sw_numberA>=1)or(sw_numberB>=1): ratio_atom_bond:=0.25; fi if (sw_expand=1)or(sw_MOLfile=1): expand_set; fi - ''(0)(s,(_term,0)); proc_bond_atom(1); cntA_skeleton:=cntA; cntA_skeleton:=cntB; + ''(0)(s,(_term,0)); proc_bond_atom(1); cntA_skeleton:=cntA; cntB_skeleton:=cntB; if cntP>0: ps_get(1); fi font_use_check; if sw_solid=1: size_setup; proc_skeleton; scaling; @@ -317,9 +317,9 @@ def MCd(expr RW,RH)(expr FW,FH)(text s)= ratio_bond_width:=max_bond_width; size_setup; proc_skeleton; scaling; else: for i=1 upto 4: proc_skeleton; scaling; resize(RW,RH); size_setup; endfor fi fi font_setup; + if sw_subst_off=1: cntA:=cntA_skeleton; cntB:=cntB_skeleton; fi for i=1 upto cntB: draw_bond(i,sB[i],eB[i],angB[i],lineB[i]); endfor for i=1 upto cntA: - if numberA_end=_skeletonA_end: numberA_end:=cntA_skeleton; fi if (sw_numberA>=1)and(i>=numberA_start)and(i<=numberA_end): if sw_numberA=2: nA:=i-numberA_start+1; elseif sw_numberA=3: if numberA_end0)and(LN<>0): else: clipping(strA[BP],strA[EP],posA[BP],posA[EP],nC); fi pickup pencircle scaled bond_pen_wd; if known colorB[n]: nB:=colorB[n]; fi - if LN=si:draw pA Cp(nB); + if (LN=si)or(sw_bond_single=1): draw pA Cp(nB); elseif LN=dl:draw pA Cp(nB); draw sfB(pC,gap,ap) Cp(nB); elseif LN=dr:draw pA Cp(nB); draw sfB(pC,gap,am) Cp(nB); elseif LN=dm:draw sfB(pB,gap/1.75,ap) Cp(nB); draw sfB(pB,gap/1.75,am) Cp(nB); @@ -767,7 +767,8 @@ enddef; def checklist_out= nA:=0; calc_weight_str:=""; message "% Molecular name = "& mol_name; - message "% There were "&fdr(3)(warning_cnt)&" warnings / Expanded command count= "&decimal(cntMC[0]); + message "% There were "&fdr(3)(warning_cnt)& + " warnings / Expanded command count= "&decimal(cntMC[0]); message "% width * height = " & fdr(8)(max_x-min_x)&" * "&fdr(8)(max_y-min_y); message "% Shift width * height = "& fdr(8)(min_x)&" * "&fdr(8)(min_y); message "% Bond length = "&fdr(3)(BL)&" Atom size = "&fdr(3)(AL); -- cgit v1.2.3