diff options
author | Norbert Preining <norbert@preining.info> | 2023-01-10 03:01:21 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2023-01-10 03:01:21 +0000 |
commit | decba0e4470fd7bfe288f98ee709553fc13014b8 (patch) | |
tree | 781f266fc727864e1c9bb62f07c1069dc926fbec /graphics | |
parent | 61f8490e549cb7af263b9d903bc20d61ea37a2d7 (diff) |
CTAN sync 202301100301
Diffstat (limited to 'graphics')
30 files changed, 2033 insertions, 1896 deletions
diff --git a/graphics/mcf2graph/CHANGELOG b/graphics/mcf2graph/CHANGELOG index a166130976..04139ae9ce 100644 --- a/graphics/mcf2graph/CHANGELOG +++ b/graphics/mcf2graph/CHANGELOG @@ -1,6 +1,14 @@ ******************************************************************************* - Changelog of mcf2graph software package by Akira Yamaji 2022-11-12 + Changelog of mcf2graph software package by Akira Yamaji 2023-01-09 ******************************************************************************* +[ver. 4.91 / 2023-01-09] + -update MCF manual + from this version typeset with LuaTeX + include mcf_man_soc.mp,mcf_mplib_exa.tex + -delete mcf_man_soc.mp + -delete mcf_mplib_exa.tex + -delete mcf_mplib_exa.pdf + [ver. 4.90 / 2022-11-12] -change syntax of fused ring {a--b}=?n => a--b=?n (n:4,5,6) diff --git a/graphics/mcf2graph/README b/graphics/mcf2graph/README index 617ece4e82..c896fb17aa 100644 --- a/graphics/mcf2graph/README +++ b/graphics/mcf2graph/README @@ -1,7 +1,7 @@ ******************************************************************************** mcf2graph : Convert Molecular Coding Format to graphics with MetaPost Author : Akira Yamaji - version : 4.90 2022-11-12 + version : 4.91 2023-01-09 E-mail : mcf2graph@gmail.com Located at : http://www.ctan.org/pkg/mcf2graph ******************************************************************************** @@ -20,17 +20,12 @@ ( 3) mcf2graph.mp Main macro of Metapost ( 4) mcf_library.mcf Molecular data library ( 5) mcf_exa_soc.mp Molecular difinition file example - ( 6) mcf_manual.tex MCF syntax manual(LaTeX file) - make files 'mcf_man_soc-***.mps' before typeset - >mpost mcf_man_soc.mf - ( 7) mcf_man_soc.mp Molecular definition file for mcf_manual.tex - ( 8) mcf_manual.pdf PDF of (6) (typeset with pdftex(LaTeX),makeindex) - ( 9) mcf_example.tex MCF example - (10) mcf_example.pdf PDF of (9) typeset with LuaLaTeX - (11) mcf_exa_code.tex MCF example include code - (12) mcf_exa_code.pdf PDF of (11) typeset with LuaLaTeX - (13) mcf_mplib_exa.tex luamplib(LuaLaTeX) example - (14) mcf_mplib_exa.pdf PDF of (13) typeset with LuaLaTeX + ( 6) mcf_manual.tex MCF syntax manual + ( 7) mcf_manual.pdf PDF of ( 6) typeset with LuaLaTeX,makeindex + ( 8) mcf_example.tex MCF example + ( 9) mcf_example.pdf PDF of ( 8) typeset with LuaLaTeX + (10) mcf_exa_code.tex MCF example include code + (11) mcf_exa_code.pdf PDF of (10) typeset with LuaLaTeX 3. How to use mcf2graph with MetaPost Minimum requirement to use mcf2graph : mpost.exe,mpost.dll,mpost.mp,plain.mp @@ -48,7 +43,7 @@ (11) >mpost -s ahlength=7 filename => output report file 4. License - mcf2graph ver 4.88 Copyright (c) 2013-2022 Akira Yamaji + mcf2graph ver 4.91 Copyright (c) 2013-2023 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 diff --git a/graphics/mcf2graph/mcf2graph.mp b/graphics/mcf2graph/mcf2graph.mp index 53db36ab09..87238a2132 100644 --- a/graphics/mcf2graph/mcf2graph.mp +++ b/graphics/mcf2graph/mcf2graph.mp @@ -1,5 +1,5 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% mcf2graph ver 4.90 Copyright (c) 2013-2022 Akira Yamaji +% mcf2graph ver 4.91 Copyright (c) 2013-2023 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, @@ -33,7 +33,7 @@ % Set output MOL file (V3000) : mpost -s ahlength=6 FILENAME % Set output report : mpost -s ahlength=7 FILENAME %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -message "* This is mcf2graph ver 4.90 2022.11.12"; +message "* This is mcf2graph ver 4.91 2023.01.09"; tracingstats:=1; prologues:=3; warningcheck:=0; %------------------------------------------------------------------------------------------------- newinternal string EN_; diff --git a/graphics/mcf2graph/mcf_exa_code.pdf b/graphics/mcf2graph/mcf_exa_code.pdf Binary files differindex 585eb015d1..46afc3a048 100644 --- a/graphics/mcf2graph/mcf_exa_code.pdf +++ b/graphics/mcf2graph/mcf_exa_code.pdf diff --git a/graphics/mcf2graph/mcf_exa_code.tex b/graphics/mcf2graph/mcf_exa_code.tex index 31b8ac14c8..d55a0e5e79 100644 --- a/graphics/mcf2graph/mcf_exa_code.tex +++ b/graphics/mcf2graph/mcf_exa_code.tex @@ -1,7 +1,7 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Print out mcf data list by A.Yamaji 2022.11.12 +% Print out mcf data list by A.Yamaji 2023.01.09 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% ** mcf2graph.mf must be version 4.90 +% ** mcf2graph.mf must be version 4.91 % ** use mcf_library.mcf % ** typeset by LuaLaTeX(luamplib) \documentclass{article} diff --git a/graphics/mcf2graph/mcf_exa_soc.mp b/graphics/mcf2graph/mcf_exa_soc.mp index bb049b6b6f..f983c24ec6 100644 --- a/graphics/mcf2graph/mcf_exa_soc.mp +++ b/graphics/mcf2graph/mcf_exa_soc.mp @@ -1,8 +1,8 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Molecular Coding Format by Akira Yamaji 2022.11.12 +% Molecular Coding Format by Akira Yamaji 2023.01.09 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -input mcf2graph; %%% it must be version 4.90 -message "* mcf_exa_soc 2022.11.12"; +if unknown Ph1: input mcf2graph; fi %%% it must be version 4.91 +message "* mcf_exa_soc 2023.01.09"; message ""; %------------------------------------------------------------------------------ %%%%sw_frame:=Outside; diff --git a/graphics/mcf2graph/mcf_example.pdf b/graphics/mcf2graph/mcf_example.pdf Binary files differindex f510fc9ec2..3fe7e90c23 100644 --- a/graphics/mcf2graph/mcf_example.pdf +++ b/graphics/mcf2graph/mcf_example.pdf diff --git a/graphics/mcf2graph/mcf_example.tex b/graphics/mcf2graph/mcf_example.tex index e2c8fcae1e..aedff395a3 100644 --- a/graphics/mcf2graph/mcf_example.tex +++ b/graphics/mcf2graph/mcf_example.tex @@ -1,7 +1,7 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Example of MCF Typeset with LuaLaTeX(luamplib) by A.Yamaji 2022.11.12 +% Example of MCF Typeset with LuaLaTeX(luamplib) by A.Yamaji 2023.01.09 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% ** mcf2graph.mf must be version 4.90 +% ** mcf2graph.mf must be version 4.91 % ** use mcf_library.mcf % ** typeset by LuaLaTeX(luamplib) \documentclass{article} diff --git a/graphics/mcf2graph/mcf_man_soc.mp b/graphics/mcf2graph/mcf_man_soc.mp deleted file mode 100644 index edb7d19b9f..0000000000 --- a/graphics/mcf2graph/mcf_man_soc.mp +++ /dev/null @@ -1,1270 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% MCF file for mcf_manual.tex by Akira.Yamaji 2022.11.12 -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -input mcf2graph; %% it must be version 4.90 -% ** use library file 'mcf_library.mcf' -message "mcf_man_soc 2022.11.12"; message ""; -%------------------------------------------------------------------------ -sw_mframe:=0; -sw_expand:=0; -%%ext(defaultscale:=.5; label.bot(decimal(fig_num)&":"&inf_EN,(.5w,0));) -%*********************************************************************** -fsize:=(40mm,25mm); -blength:=6mm; -%*********************************************************************** -beginfigm("EN:Glycine",":<30,NH2,!2,COOH") - if mc_check(mc)=0: MC(scantokens(mc)) fi -endfigm -%*********************************************************************** -beginfigm("EN:L-Alanine",":<30,NH2,!~wb,/_,!,COOH") - if mc_check(mc)=0: MC(scantokens(mc)) fi -endfigm -%*********************************************************************** -beginfigm("EN:L-Valine",":<30,NH2,!~wb,/?!,!,COOH") - if mc_check(mc)=0: MC(scantokens(mc)) fi -endfigm -%*********************************************************************** -beginfigm("EN:L-Leucine",":<30,NH2,!~wb,/'(!,?!),!,COOH") - if mc_check(mc)=0: MC(scantokens(mc)) fi -endfigm -%*********************************************************************** -beginfigm("EN:L-Isoleucine",":<30,NH2,!~wb,/'(/*_,!2),!,COOH") - if mc_check(mc)=0: MC(scantokens(mc)) fi -endfigm -%*********************************************************************** -beginfigm("EN:L-Serine",":<30,NH2,!~wb,/!OH,!,COOH") - if mc_check(mc)=0: MC(scantokens(mc)) fi -endfigm -%*********************************************************************** -beginfigm("EN:L-Threonine",":<30,NH2,!~wb,/'(/_,!~wf,OH),!,COOH") - if mc_check(mc)=0: MC(scantokens(mc)) fi -endfigm -%*********************************************************************** -beginfigm("EN:L-Cysteine",":<30,NH2,!~wb,/!SH,!,COOH") - if mc_check(mc)=0: MC(scantokens(mc)) fi -endfigm -%*********************************************************************** -beginfigm("EN:L-Methionine",":<30,NH2,!~wb,/'(!2,S,!),!,COOH") - if mc_check(mc)=0: MC(scantokens(mc)) fi -endfigm -%*********************************************************************** -beginfigm("EN:L-Phenylalanine",":<30,NH2,!~wb,/!Ph,!,COOH") - if mc_check(mc)=0: MC(scantokens(mc)) fi -endfigm -%*********************************************************************** -beginfigm("EN:L-Tyrosine",":<30,NH2,!~wb,/'(!Ph,-3:/OH),!,COOH") - if mc_check(mc)=0: MC(scantokens(mc)) fi -endfigm -%*********************************************************************** -beginfigm("EN:L-Triptophan", - ":<30,NH2,!~wb,!,COOH,@2,\,!,<24,|,?5,-4=Ph,2=dr,5=dl,4:NH") - if mc_check(mc)=0: MC(scantokens(mc)) fi -endfigm -%*********************************************************************** -beginfigm("EN:L-Prorine",":<18,?5,3:NH,4:*/COOH") - if mc_check(mc)=0: MC(scantokens(mc)) fi -endfigm -%*********************************************************************** -beginfigm("EN:L-Glutamine", - ":<30,NH2,!~wb,!,COOH,@2,\`1,!`1,!,//O,!,NH2") - if mc_check(mc)=0: MC(scantokens(mc)) fi -endfigm -%*********************************************************************** -beginfigm("EN:L-Asparagine",":<30,NH2,!~wb,/'(!,//O,!,NH2),!,COOH") - if mc_check(mc)=0: MC(scantokens(mc)) fi -endfigm -%*********************************************************************** -beginfigm("EN:L-Aspartic acid",":<30,NH2,!~wb,/!COOH,!,COOH") - if mc_check(mc)=0: MC(scantokens(mc)) fi -endfigm -%*********************************************************************** -beginfigm("EN:L-Glutamic acid",":<30,NH2,!~wb,/'(!2,COOH),!,COOH") - if mc_check(mc)=0: MC(scantokens(mc)) fi -endfigm -%*********************************************************************** -beginfigm("EN:L-Lysine",":<30,NH2,!~wb,/'(!4,NH2),!,COOH") - if mc_check(mc)=0: MC(scantokens(mc)) fi -endfigm -%*********************************************************************** -beginfigm("EN:L-Arginine", - ":<30,NH2,!~wb,!,COOH,@2,\`1,!`1,!2,NH,!,//NH,!,NH2") - if mc_check(mc)=0: MC(scantokens(mc)) fi -endfigm -%*********************************************************************** -beginfigm("EN:L-Hystidine", - ":<30,NH2,!~wb,!,COOH,@2,\,!,|,?5,{1,3}=dl,3:N,5:NH") - if mc_check(mc)=0: MC(scantokens(mc)) fi -endfigm -%*********************************************************************** -beginfigm("EN:L-DOPA",":<30,NH2,!~wb,!,COOH,@2,\,!,Ph,{-3,-4}:/OH") - if mc_check(mc)=0: MC(scantokens(mc)) fi -endfigm -%*********************************************************************** -beginfigm("EN:Ornithine",":<30,NH2,!~wb,/'(!3,NH2),!,COOH") - if mc_check(mc)=0: MC(scantokens(mc)) fi -endfigm -%*********************************************************************** -beginfigm("EN:Citrulline",":<30,NH2,!~wb,/'(!3,NH,!,//O,!,NH2),!,COOH") - if mc_check(mc)=0: MC(scantokens(mc)) fi -endfigm -%*********************************************************************** -beginfigm("EN:GABA",":<30,NH2,!4,COOH") - if mc_check(mc)=0: MC(scantokens(mc)) fi -endfigm -%*********************************************************************** -beginfigm("EN:amino Levulinic acid",":<30,NH2,!2,//O,!3,COOH") - if mc_check(mc)=0: MC(scantokens(mc)) fi -endfigm -%*********************************************************************** -beginfigm("EN:4-amino benzoic acid",":<30,Ph,1:/NH2,4:/COOH") - if mc_check(mc)=0: MC(scantokens(mc)) fi -endfigm -%*********************************************************************** -beginfigm("EN:L-Carboxyl glutamic acid", - ":<30,NH2,!~wb,/'(!,/COOH,!,COOH),!,COOH") - if mc_check(mc)=0: MC(scantokens(mc)) fi -endfigm -%*********************************************************************** -beginfigm("EN:L-Hydroxy Prorine",":<18,?5,1:/OH,3:NH,4:*/COOH") - if mc_check(mc)=0: MC(scantokens(mc)) fi -endfigm -%*********************************************************************** -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -fsize:=(60mm,35mm); -blength:=0mm; -max_blength:=10mm; -ratio_thickness_bond:=0.015; -ratio_atom_bond:=0.36; -sw_frame:=Outside; -fmargin:=(2mm,1mm); -%*********************************************************************** -beginfigm("EN:Chain 1") - fsize:=(60mm,17mm); - sw_numbering:=Bond; - numbering_end:=6; - ratio_chain_ring:=1; -%---------------------------------------------------------------------- - MC(<15,-30,45,-45,60,$300,$0, - {1^$15,2^$345,3^$30,4^$345}:/_~dt,{5,6}=vf, - ) - add( - defaultscale:=0.5; - labeloffset:=2bp; - drawarrow B7/*.7{B7right}..{B1right}B1/*.7; label.ulft("-30",B7/*.7); - drawarrow B8/*.7{B8left}..{B2left}B2/*.7; label.llft("45",B8/*.7); - drawarrow B9/*.7{B9right}..{B3right}B3/*.7; label.ulft("-45",B9/*.7); - drawarrow B10/*.7{B10left}..{B4left}B4/*.7; label.llft("60",B10/*.7); - ) -endfigm -%*********************************************************************** -beginfigm("EN:Chain 2") - fsize:=(60mm,17mm); - sw_numbering:=Bond; - numbering_end:=6; - ratio_chain_ring:=1; -%---------------------------------------------------------------------- - MC(<-30,!6, - {1^-120,2^60,3^-60,4^60,5^-60,6^60}:/_~dt - ) - add( - defaultscale:=0.5; - labeloffset:=2bp; - drawarrow B7/*.7{B7right}..{B1right}B1/*.7; label.ulft("-60",B7/*.7); - drawarrow B8/*.7{B8left}..{B2left}B2/*.7; label.llft("60",B8/*.7); - drawarrow B9/*.7{B7right}..{B3right}B3/*.7; label.ulft("-60",B9/*.7); - drawarrow B10/*.7{B10left}..{B4left}B4/*.7; label.llft("60",B10/*.7); - drawarrow B11/*.7{B11right}..{B5right}B5/*.7; label.ulft("-60",B11/*.7); - drawarrow B12/*.7{B12left}..{B6left}B6/*.7; label.llft("60",B12/*.7); - ) -endfigm -%*********************************************************************** -beginfigm("EN:Jump and Branch") - fsize:=(60mm,16mm); - fmargin:=(2mm,2mm); - sw_trimming:=1; - sw_numbering:=Atom; - ratio_chain_ring:=1; -%---------------------------------------------------------------------- - MC(<-30,!6,@3,0,!,@5,-30) -endfigm -%*********************************************************************** -beginfigm("EN:Jump and Branch") - fsize:=(60mm,16mm); - fmargin:=(2mm,2mm); - sw_numbering:=Atom; - sw_trimming:=1; - ratio_chain_ring:=1; -%---------------------------------------------------------------------- - MC(<-30,!6,@3,\,!) -endfigm -%*********************************************************************** -beginfigm("EN:branch1") - fsize:=(60mm,16mm); - fmargin:=(2mm,2mm); - sw_numbering:=Atom; - sw_trimming:=1; - numbering_end:=10; - ratio_chain_ring:=1; -%---------------------------------------------------------------------- - MC(<30,!10,@2,\,!,@4,*\,!,@6,\*,!,@8,\\,!,@10,*\*,!) -endfigm -%*********************************************************************** -beginfigm("EN:branch2") - fsize:=(60mm,20mm); - fmargin:=(2mm,2mm); - sw_trimming:=1; - sw_numbering:=Atom; - numbering_end:=7; - ratio_chain_ring:=1; -%---------------------------------------------------------------------- - MC(<30,!6,@2,\~dr,!,@4,\`1.5,-90,@6,15,-60) -endfigm -%*********************************************************************** -beginfigm("EN:Connect atom") - fsize:=(60mm,20mm); - fmargin:=(2mm,2mm); - sw_trimming:=1; - sw_numbering:=Atom; - ratio_chain_ring:=1; -%---------------------------------------------------------------------- - MC(<-30,!6,@3,\,!3,&6~bd,@9,&4~bz) -endfigm -%*********************************************************************** -beginfigm("EN:ring") - fsize:=(60mm,20mm); - sw_trimming:=1; - fmargin:=(2mm,3mm); - sw_numbering:=Bond; -%---------------------------------------------------------------------- - MC(?6) -endfigm -%*********************************************************************** -beginfigm("EN:rotate 1") - fsize:=(60mm,20mm); - fmargin:=(2mm,3mm); - sw_trimming:=1; - sw_numbering:=Bond; - ratio_chain_ring:=1; - numbering_end:=7; - defaultscale:=0.5; - labeloffset:=2bp; - MC(#1,0,0,<90,0,<-90,0,<$315,0,<$90,0,<$0,0,{1:7}=vf, - {3,4^180}:/_~dt) - add( - drawarrow B8/*.7{B8left}..{B3left}B3/*.7; label.urt("90",B8/*.7); - drawarrow B9/*.7{B9right}..{B4right}B4/*.7; label.urt("-90",B9/*.7); - ) -endfigm -%*********************************************************************** -beginfigm("EN:change bond 1") - fsize:=(70mm,10mm); - fmargin:=(2mm,2mm); - 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.7l)); - label.rt("(dl)",A3+(0,-0.7l)); - label.rt("(dr)",A5+(0,-0.7l)); - label.rt("(db)",A6+(0,-0.2l)); - label.rt("(db)",A7+(0,-0.7l)); - label.rt("(tm)",A9+(0,-0.7l)); - ) -endfigm -%*********************************************************************** -beginfigm("EN:change bond 2") - fsize:=(70mm,10mm); - fmargin:=(2mm,2mm); - sw_trimming:=0; - ratio_chain_ring:=1; - MC(<-30,!~wf,!,!~wb,!,!~zf,!,!~zb,!,!~vf,!,!~vb) - 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)); - label.rt("(vf)",A9+(0,-0.7l)); - label.rt("(vb)",A11+(0,-0.7l)); - ) -endfigm -%*********************************************************************** -beginfigm("EN:change bond 3") - fsize:=(70mm,10mm); - fmargin:=(2mm,2mm); - blength:=9mm; - 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.6l)); - label.rt("(wv)",A3+(0,-0.6l)); - label.rt("(bd)",A5+(0,-0.6l)); - label.rt("(bz)",A7+(0,-0.6l)); - ) -endfigm -%*********************************************************************** -beginfigm("EN:over line") - sw_trimming:=1; - fsize:=(75mm,20mm); - ratio_chain_ring:=1; - MC(<30,!18,$90`1.5,90`15.5, - {2~si_,4~wf_,6~wb_,8~zf_,10~zb_, - 12~bd_,14~dl_,16~dr_,18~dm_}:/_`2) -endfigm -%*********************************************************************** -beginfigm("EN:Steric ring") - fsize:=(75mm,16mm); - MCat(0.05,0.5)(#1.25,-30~wf_r,30~bd_r`1,30~wb_r,120,O,30,&1,##, - #.5,{1^$-90,2^$90,3^$-90,4^$90}:/OH,6^$90:/!OH) - defaultscale:=0.6; - MCat(0.5,0.7)(0~wf_r) add(label.lft("wf_r:",A1);) - MCat(0.5,0.2)(0~wf) add(label.lft("wf:",A1);) - MCat(0.75,0.7)(0~bd_r) add(label.lft("bd_r:",A1);) - MCat(0.75,0.2)(0~bd) add(label.lft("bd:",A1);) - MCat(1,0.7)(0~wb_r) add(label.lft("wb_r:",A1);) - MCat(1,0.2)(0~wb) add(label.lft("wb:",A1);) -endfigm -%*********************************************************************** -beginfigm("EN:change multi bond") - fsize:=(60mm,8mm); - fmargin:=(2mm,3mm); - ratio_chain_ring:=1; - MC(<30,!9,{2,4,6,8'}=dl) -endfigm -%*********************************************************************** -beginfigm("EN:change bond length1") - fsize:=(55mm,8mm); - sw_numbering:=Bond; - MC(<-30,!2,!4`1.2,!2) -endfigm -%*********************************************************************** -beginfigm("EN:change bond length2") - fsize:=(55mm,8mm); - sw_numbering:=Bond; - MC(<-30,!2,#1.2,!4,##,!2) -endfigm -%*********************************************************************** -beginfigm("EN:change ring length") - fsize:=(60mm,16mm); - fmargin:=(2mm,2mm); - sw_trimming:=1; - sw_numbering:=Bond; - MC(?6,@4,\,?6`1.2) -endfigm -%*********************************************************************** -beginfigm("EN:Insert atom") - sw_trimming:=1; - fsize:=(50mm,7mm); - MC(<-30,!2,O,!2,N,!2) -endfigm -%*********************************************************************** -beginfigm("EN:change atom",":<30,!5,2:O,{3:5}:N") - fsize:=(70mm,10mm); - msize:=(0.48,1); - MCat(0,0.5)(scantokens(mc)) - sw_numbering:=Atom; - MCat(1,0.5)(scantokens(mc)) -endfigm -%*********************************************************************** -beginfigm("EN:change atom brock address 1",":?6,@4,\,|,?6,2:O") - fsize:=(70mm,14mm); - fmargin:=(3mm,1.5mm); - MCat(0,.5)(scantokens(mc)) - sw_numbering:=Atom; - msize:=(1,.88); - MCat(1,.5)(scantokens(mc)) -endfigm -%*********************************************************************** -beginfigm("EN:change atom brock address 2",":?6,@4,\,|,?6,||,2:N") - fsize:=(70mm,14mm); - fmargin:=(3mm,1.5mm); - MCat(0,.5)(scantokens(mc)) - sw_numbering:=Atom; - msize:=(1,.88); - MCat(1,.5)(scantokens(mc)) -endfigm -%*********************************************************************** -beginfigm("EN:change atom absolute address",":?6,@4,\,?6,$2:N") - fsize:=(70mm,14mm); - fmargin:=(3mm,1.5mm); - MCat(0,.5)(scantokens(mc)) - sw_numbering:=Atom; - msize:=(1,.88); - MCat(1,.5)(scantokens(mc)) -endfigm -%*********************************************************************** -beginfigm("EN:change atom relative adress",":?6,@4,\,?6,-2:N") - fsize:=(70mm,14mm); - fmargin:=(3mm,1.5mm); - MCat(0,.5)(scantokens(mc)) - sw_numbering:=Atom; - msize:=(1,.88); - MCat(1,.5)(scantokens(mc)) -endfigm -%*********************************************************************** -beginfigm("EN:Charged atom") - sw_trimming:=1; - fsize:=(60mm,12mm); - MC(<-30,!2,N,??,p_,!2,S,n_^180,!6,7:N,7:??,9:S,7:p_,9:n_^180) -endfigm -%*********************************************************************** -beginfigm("EN:fused ring") - fsize:=(60mm,18mm); - fmargin:=(2mm,1.5mm); - sw_trimming:=1; - sw_numbering:=Bond; - MC(<30,?6,3=?6,3=dt,{7:11}=bd_r) -endfigm -%----------------------------------------------------------------------- -beginfigm("EN:change ring length") - fsize:=(60mm,25mm); - fmargin:=(2mm,2mm); - sw_trimming:=1; - sw_numbering:=Bond; - MC(?6,@4,\,?6`1.2,5=?6,11=?6, - {14:23}=bd_r,{5,11}=dt) -endfigm -%----------------------------------------------------------------------- -beginfigm("EN:fused large 6 ring") - fsize:=(60mm,18mm); - fmargin:=(2mm,1.5mm); - margin_top_bottom:=1.5mm; - sw_numbering:=Bond; - sw_trimming:=1; - MC(<30,?6,3=?6[13],3=dt,{7:11}=bd_r) -endfigm -%----------------------------------------------------------------------- -beginfigm("EN:fuse multi ring") - fsize:=(70mm,20mm); - fmargin:=(2mm,2mm); - sw_numbering:=Bond; - sw_trimming:=1; - MC(<30,?6,{-3,-4,-4,-2,-2,-4,-4}=?6,{4,8,13,20,25,28,33}=dt) -endfigm -%*********************************************************************** -beginfigm("EN:fused ring 2") - fsize:=(75mm,20mm); - fmargin:=(2mm,2mm); - sw_numbering:=Bond; - msize:=(1,.9); - MCat( 0,.5)(<30,?6,{3,11--4}=?6,{11,4}=dt,{12:15}=bd_r) - add(defaultscale:=0.4; label("(1)",p0);) - msize:=(1,.9); - MCat(.5,.5)(<30,?6,3=?6,{11--4}=?5,{11,4}=dt,{12:14}=bd_r) - add(defaultscale:=0.4; label("(2)",p0);) - msize:=(1,.9); - MCat( 1,.5)(<30,?6,3=?6,{11--4}=?4,{11,4}=dt,{12,13}=bd_r) - add(defaultscale:=0.4; label("(3)",p0);) -endfigm -%*********************************************************************** -beginfigm("EN:fused ring 3") - fsize:=(60mm,20mm); - fmargin:=(2mm,2mm); - sw_numbering:=Bond; - MCat(0,1)(?6,{3,10}=?6,16---4=?6,{16,4}=dt,{17:19}=bd_r) - add(defaultscale:=0.4; label("(1)",p0);) - MCat(1,0)(?6,{3,10}=?6,16---4=?5,{16,4}=dt,{17,18}=bd_r) - add(defaultscale:=0.4; label("(2)",p0);) -endfigm -%*********************************************************************** -beginfigm("EN:fused ring 4") - fsize:=(60mm,20mm); - fmargin:=(2mm,2mm); - sw_numbering:=Bond; - MC(<-30,?6,{3,10,15}=?6,21----4=?6,{21,4}=dt,{22,23}=bd_r) -endfigm -%*********************************************************************** -beginfigm("EN:Spiro ring ") - fsize:=(40mm,15mm); - sw_numbering:=Atom; - numbering_end:=7; - ratio_chain_ring:=1; - MC(<30,!6,@4,?5) -endfigm -%*********************************************************************** -beginfigm("EN:group 1") - fsize:=(75mm,18mm); - MC(<30,!,/_,!2,/!,!2,/!,!4,/?!,!4,/??!,!2,/'(Ph`0.8)^-60,!) -endfigm -%*********************************************************************** -beginfigm("EN:group 2") - fsize:=(70mm,14mm); - 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)); - ) -endfigm -%*********************************************************************** -beginfigm("EN:group 3") - fsize:=(60mm,16mm); - sw_trimming:=1; - MC(<-30,#1,!2,/_`2^30,!2,/!2>lr,!2,/!2>rl,!) -endfigm -%*********************************************************************** -beginfigm("EN:group 3") - fsize:=(75mm,25mm); - fmargin:=(2mm,2mm); - sw_numbering:=Atom; - numbering_end:=17; - MC(<30,!17,2:/_,3:/!,4:/!2,7:/iPr,8:/tBu,10:/'(Ph`0.6)^-15, - {11,12,13'}:*/_,{15,16,17'}:/*_) -endfigm -%*********************************************************************** -beginfigm("EN:group 4") - fsize:=(60mm,18mm); - sw_trimming:=1; - fmargin:=(2mm,2mm); - sw_numbering:=Atom; numbering_end:=9; - MC(<30,!8`1,{2~wf,4~zf,6^-30,8^$120}:/_) -endfigm -%*********************************************************************** -beginfigm("EN:group 5") - fsize:=(60mm,16mm); - sw_trimming:=1; - sw_numbering:=Atom; numbering_end:=8; - MC(<-30,!7`1,3:/_`2^30,5:/!2>lr,7:/!2>rl) -endfigm -%*********************************************************************** -beginfigm("EN:chain strech direction mode 1") - fsize:=(50mm,25mm); - sw_trimming:=1; - ratio_chain_ring:=1; - MC(?4,{3^-90,3^-30,3^90}:/!3>hz, - {1^-60,1,1^60}:/!3>vt - ) - add(defaultscale:=0.5; labeloffset:=2bp; - label.rt(">hz",A8); - label.top(">hz",A12); - label.top(">hz",A16); - label.rt(">vt",A20); - label.top(">vt",A24); - label.rt(">vt",A28); - ) -endfigm -%*********************************************************************** -beginfigm("EN:chain strech direction mode 2") - fsize:=(60mm,20mm); - sw_trimming:=1; - ratio_chain_ring:=1; - MC(<-30,!6,{3^-30,3,3^30}:/!3>lr, - {5^-30,5,5^30}:/!3>rl - ) - add(defaultscale:=0.6; labeloffset:=2bp; - label.lft(">lr",A11); - label.lft(">lr",A15); - label.top(">lr",A19); - label.top(">rl",A23); - label.rt(">rl",A27); - label.rt(">rl",A31); - ) -endfigm -%*********************************************************************** -beginfigm("EN:chain strech direction mode 3") - fsize:=(40mm,20mm); - sw_trimming:=1; - MC(<30,!4,2:/!6>30,4:/!4>-45) -endfigm -%*********************************************************************** -beginfigm("EN:chain strech direction mode 4") - fsize:=(60mm,20mm); - sw_trimming:=1; - MC(<30,!6,6>'(90,-90,90,-90,90):/!5) -endfigm -%*********************************************************************** -beginfigm("EN:change atom and group") - fsize:=(60mm,12mm); - sw_trimming:=1; - MC(<-30,!2,NH,!2,N!,!2,N!2,!2,SO,!2,SOO,!) -endfigm -%*********************************************************************** -beginfigm("EN:methyl*2,isopropyl,tert-butyl") - fsize:=(60mm,12mm); - sw_trimming:=1; - MC(<30,!9`1,?!,!,??,!,2:??,4:/?!,6:/??!,8:/N?!) -endfigm -%*********************************************************************** -beginfigm("EN:User definition") - fsize:=(60mm,13mm); - sw_trimming:=1; - iBuOH:='(!,/_,!,OH); - MC(<30,?6,{4,6}:/iBuOH) -endfigm -%*********************************************************************** -beginfigm("EN:Inline definition") - fsize:=(60mm,13mm); - fmargin:=(2mm,1mm); - sw_trimming:=1; - MC(<30,!8,{2,6}:/'(!,/_,!,OH)) -endfigm -%*********************************************************************** -beginfigm("EN:Move position") - 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-3bp))--(l*i,l+3bp); - endfor - draw A1--(A1+(0,1l))--A1+(6l,1l); - draw (A1+(0,1l))--(A1+(-3bp,1l)); - ) -endfigm -%*********************************************************************** -beginfigm("EN:Serial number") - fsize:=(75mm,14mm); - max_blength:=8mm; - sw_numbering:=Atom; numbering_end:=15; - MC(<30,!14,{2,6:10,14}:/_~bd_r`0.5) -endfigm -%*********************************************************************** -beginfigm("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 - ) -endfigm -%*********************************************************************** -beginfigm("EN:Change font") - fsize:=(50mm,20mm); - max_blength:=8mm; - atomfont:="cmr8"; - MC(<30,Ph,{2,5}:N,3:/NH2,4:/COOH) -endfigm -%*********************************************************************** -beginfigm("EN:mangle") - fsize:=(50mm,15mm); - blength:=6mm; - mangle:=0; - MCat(0.2,0.5)(Ph) - add(drawarrow((A1 shifted (aw,0)) rotated A1ang..A1);) - mangle:=30; - MCat(0.8,0.5)(Ph) - add(drawarrow((A1 shifted (aw,0)) rotated A1ang..A1);) -endfigm -%*********************************************************************** -beginfigm("EN:blength=0") - sw_frame:=Bothside; - fsize:=(40mm,15mm); - MC(<30,Ph) - ext(pickup pencircle scaled 0.2pt; - for i=0 upto w/mm: draw (i*mm,0)--(i*mm,-.5mm); endfor - for i=0 upto h/mm: draw (0,i*mm)--(-.5mm,i*mm); endfor - for i=0 upto w/cm: draw (i*cm,0)--(i*cm,-.8mm); endfor - for i=0 upto h/cm: draw (0,i*cm)--(-.8mm,i*cm); endfor - ) -endfigm -%----------------------------------------------------------------------- -beginfigm("EN:0<blength=<1") - sw_frame:=Bothside; - fsize:=(40mm,15mm); - blength:=0.1; - MC(<30,Ph) - ext(pickup pencircle scaled 0.2pt; - for i=0 upto w/mm: draw (i*mm,0)--(i*mm,-.5mm); endfor - for i=0 upto h/mm: draw (0,i*mm)--(-.5mm,i*mm); endfor - for i=0 upto w/cm: draw (i*cm,0)--(i*cm,-.8mm); endfor - for i=0 upto h/cm: draw (0,i*cm)--(-.8mm,i*cm); endfor - ) -endfigm -%----------------------------------------------------------------------- -beginfigm("EN:blength>1") - sw_frame:=Bothside; - fsize:=(40mm,15mm); - blength:=8mm; - MC(<30,Ph) - ext(pickup pencircle scaled 0.2pt; - for i=0 upto w/mm: draw (i*mm,0)--(i*mm,-.5mm); endfor - for i=0 upto h/mm: draw (0,i*mm)--(-.5mm,i*mm); endfor - for i=0 upto w/cm: draw (i*cm,0)--(i*cm,-.8mm); endfor - for i=0 upto h/cm: draw (0,i*cm)--(-.8mm,i*cm); endfor - ) -endfigm -%*********************************************************************** -beginfigm("EN:msize=(1)") - sw_frame:=Bothside+Mol; - fsize:=(40mm,15mm); - msize:=(1,1); - MC(<30,Ph) - ext(pickup pencircle scaled 0.2pt; - for i=0 upto w/mm: draw (i*mm,0)--(i*mm,-.5mm); endfor - for i=0 upto h/mm: draw (0,i*mm)--(-.5mm,i*mm); endfor - for i=0 upto w/cm: draw (i*cm,0)--(i*cm,-.8mm); endfor - for i=0 upto h/cm: draw (0,i*cm)--(-.8mm,i*cm); endfor - ) -endfigm -%------------------------------------------------------ -beginfigm("EN:msize=(0.25,1)") - sw_frame:=Bothside+Mol; - fsize:=(40mm,15mm); - msize:=(0.25,1); - MC(<30,Ph) - ext(pickup pencircle scaled 0.2pt; - for i=0 upto w/mm: draw (i*mm,0)--(i*mm,-.5mm); endfor - for i=0 upto h/mm: draw (0,i*mm)--(-.5mm,i*mm); endfor - for i=0 upto w/cm: draw (i*cm,0)--(i*cm,-.8mm); endfor - for i=0 upto h/cm: draw (0,i*cm)--(-.8mm,i*cm); endfor - ) -endfigm -%------------------------------------------------------ -beginfigm("EN:msize=(11mm,11mm)") - sw_frame:=Bothside+Mol; - fsize:=(40mm,15mm); - msize:=(11mm,11mm); - MC(<30,Ph) - ext(pickup pencircle scaled 0.2pt; - for i=0 upto w/mm: draw (i*mm,0)--(i*mm,-.5mm); endfor - for i=0 upto h/mm: draw (0,i*mm)--(-.5mm,i*mm); endfor - for i=0 upto w/cm: draw (i*cm,0)--(i*cm,-.8mm); endfor - for i=0 upto h/cm: draw (0,i*cm)--(-.8mm,i*cm); endfor - ) -endfigm -%*********************************************************************** -beginfigm("EN:mposition") - sw_frame:=Bothside+Mol; - fsize:=(40mm,15mm); - msize:=(1,0.8); - mposition:=(0.5,0.5); - MC(<30,Ph) -endfigm -%----------------------------------------------------- -beginfigm("EN:mposition") - sw_frame:=Bothside+Mol; - fsize:=(40mm,15mm); - msize:=(1,0.8); - mposition:=(1,0); - MC(<30,Ph) -endfigm -%----------------------------------------------------- -beginfigm("EN:mposition") - sw_frame:=sw_frame+Mol; - fsize:=(40mm,15mm); - msize:=(1,0.8); - mposition:=(10mm,4mm); - MC(<30,Ph) - ext(drawdot p1 withpen pencircle scaled 3pt; - pickup pencircle scaled 0.2pt; - for i=0 upto w/mm: draw (i*mm,0)--(i*mm,-.5mm); endfor - for i=0 upto h/mm: draw (0,i*mm)--(-.5mm,i*mm); endfor - for i=0 upto w/cm: draw (i*cm,0)--(i*cm,-.8mm); endfor - for i=0 upto h/cm: draw (0,i*cm)--(-.8mm,i*cm); endfor - ) -endfigm -%*********************************************************************** -beginfigm("EN:Figure size") - fsize:=(40mm,12mm); - sw_frame:=Outside; - MC(<30,Ph) - ext(pickup pencircle scaled 0.2pt; - for i=0 upto w/mm: draw (i*mm,0)--(i*mm,-.5mm); endfor - for i=0 upto h/mm: draw (0,i*mm)--(-.5mm,i*mm); endfor - for i=0 upto w/cm: draw (i*cm,0)--(i*cm,-.8mm); endfor - for i=0 upto h/cm: draw (0,i*cm)--(-.8mm,i*cm); endfor - ) -endfigm -%*********************************************************************** -beginfigm("EN:fmargin") - fsize:=(40mm,12mm); - sw_frame:=Bothside+Mol; - 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 - for i=0 upto h/mm: draw (0,i*mm)--(-.5mm,i*mm); endfor - for i=0 upto w/cm: draw (i*cm,0)--(i*cm,-.8mm); endfor - for i=0 upto h/cm: draw (0,i*cm)--(-.8mm,i*cm); endfor - drawdot p0 withpen pencircle scaled 3pt; - ) -endfigm -%*********************************************************************** -beginfigm("EN:offset_thickness",":<30,Ph") - fsize:=(60mm,12mm); - offset_thickness:=0.0pt; MCat(0.1,0.5)(scantokens(mc)) - offset_thickness:=0.2pt; MCat(0.55,0.5)(scantokens(mc)) - offset_thickness:=0.5pt; MCat(1,0.5)(scantokens(mc)) - 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)); - ) -endfigm -%*********************************************************************** -beginfigm("EN:offset_bond_gap",":<30,Ph") - fsize:=(60mm,12mm); - offset_bond_gap:=0.0pt; MCat(0.1, 0.5)(scantokens(mc)) - offset_bond_gap:=0.3pt; MCat(0.55,0.5)(scantokens(mc)) %<<== default - offset_bond_gap:=1.0pt; MCat(1, 0.5)(scantokens(mc)) - 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)); - ) -endfigm -%*********************************************************************** -beginfigm("EN:offset_atom") - fsize:=(60mm,12mm); - offset_atom:=0.0pt; MCat(0.1, .5)(<30,?6,3:O) - offset_atom:=0.8pt; MCat(.55, .5)(<30,?6,3:O) %<<== default - offset_atom:=2.0pt; 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)); - ) -endfigm -%*********************************************************************** -beginfigm("EN:offset_wedge") - fsize:=(60mm,12mm); - offset_wedge:=0.0pt; MCat(0.1,0.5)(<30,?6,5:*/_) - offset_wedge:=0.4pt; MCat(0.55,0.5)(<30,?6,5:*/_) %<<== default - offset_wedge:=1.0pt; 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)); - ) -endfigm -%*********************************************************************** -beginfigm("EN:max_blength") - fsize:=(60mm,20mm); - sw_frame:=sw_frame+Mol; - max_blength:=5mm; MCat(0, .5)(<30,Ph) - max_blength:=8mm; MCat(.4,.5)(<30,Ph) - max_blength:=10mm; MCat(1, .5)(<30,Ph) %<<== default - ext(defaultscale:=0.6; labeloffset:=1bp; - label("5mm", (0.1w,0.5h)); - label("8mm", (0.42w,0.5h)); - label("10mm",(0.82w,0.5h)); - ) -endfigm -%*********************************************************************** -beginfigm("EN:ratio_thickness_bond") - fsize:=(60mm,12mm); - ratio_thickness_bond:=0.005; MCat(0.1,0.5)(<30,Ph) - ratio_thickness_bond:=0.015; MCat(.55,0.5)(<30,Ph) %<<== default - ratio_thickness_bond:=0.03; 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)); - ) -endfigm -%*********************************************************************** -beginfigm("EN:ratio_char_bond") - fsize:=(60mm,12mm); - ratio_char_bond:=1.0; MCat(0, .5)(<30,?6,6:O,3:NH) - ratio_char_bond:=1.5; MCat(.5, .5)(<30,?6,6:O,3:NH) %<<== default - 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)); - ) -endfigm -%*********************************************************************** -beginfigm("EN:ratio_bondgap_bond") - fsize:=(60mm,12mm); - ratio_bondgap_bond:=0.10; MCat(0.1, .5)(<30,Ph) - ratio_bondgap_bond:=0.15; MCat(.55, .5)(<30,Ph) %<<== default - ratio_bondgap_bond:=0.20; 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)); - ) -endfigm -%*********************************************************************** -beginfigm("EN:ratio_atom_bond") - fsize:=(60mm,12mm); - ratio_atom_bond:=0.25; MCat(0.1, .5)(<30,?6,3:O) - ratio_atom_bond:=0.33; MCat(.55, .5)(<30,?6,3:O) %<<== default - ratio_atom_bond:=0.45; 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)); - ) -endfigm -%*********************************************************************** -beginfigm("EN:ratio_wedge_bond") - fsize:=(70mm,12mm); - ratio_wedge_bond:=0.1; MCat(0.05,.5)(?6,4:*/_) - ratio_wedge_bond:=0.12; MCat(.55, .5)(?6,4:*/_) %<<== default - ratio_wedge_bond:=0.2; 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)); - ) -endfigm -%*********************************************************************** -beginfigm("EN:ratio_atomgap_atom",":<30,!2`0.5,2:O") - fsize:=(70mm,12mm); - sw_frame:=sw_frame+Atom; - ratio_atomgap_atom:=0.00; MCat(0, .5)(scantokens(mc)) - ratio_atomgap_atom:=0.050; MCat(.5,.5)(scantokens(mc)) %<<== default - ratio_atomgap_atom:=0.12; MCat(1, .5)(scantokens(mc)) - 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)); - ) -endfigm -%*********************************************************************** -beginfigm("EN:ratio_chain_ring") - fsize:=(70mm,12mm); - ratio_chain_ring:= 0.4; MCat(0.05,.5)(<30,?6,4:/!) - ratio_chain_ring:= 0.66; MCat(.45, .5)(<30,?6,4:/!) %<<== default - 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)); - ) -endfigm -%*********************************************************************** -beginfigm("EN:ratio_hashgap_bond",":<30,!2,2:/*_`1.5") - fsize:=(70mm,15mm); - ratio_hashgap_bond:=0.06; MCat(0.08,.5)(scantokens(mc)) - ratio_hashgap_bond:=0.12; MCat( .55,.5)(scantokens(mc)) %<<== default - ratio_hashgap_bond:=0.20; MCat(1, .5)(scantokens(mc)) - 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)); - ) -endfigm -%*********************************************************************** -beginfigm("EN:Switwch numbering atom") - fsize:=(60mm,10mm); - ratio_chain_ring:=1; - numbering_start:=3; numbering_end:=8; - sw_numbering:=Atom; MC(<-30,!9) -endfigm -%*********************************************************************** -beginfigm("EN:Switwch numbering bond") - fsize:=(60mm,10mm); - ratio_chain_ring:=1; - numbering_start:=3; numbering_end:=8; - sw_numbering:=Bond; MC(<-30,!9) -endfigm -%*********************************************************************** -beginfigm("EN:Switwch trimming") - fsize:=(60mm,20mm); - sw_frame:=Bothside+Mol; - msize:=(1,.7); MCat(.2,.3)(Ph) - MCat(.8,.7)(Ph) -endfigm -%----------------------------------------------------------------------- -beginfigm("EN:Switwch trimming") - fsize:=(60mm,20mm); - sw_frame:=Bothside+Mol; - sw_trimming:=1; - msize:=(1,.7); - MCat(.2,.3)(Ph) - MCat(.8,.7)(Ph) -endfigm -%*********************************************************************** -beginfigm("EN:Switwch Expand",":<30,Ph,4:/COOH,3:/NH2") - fsize:=(60mm,20mm); - MCat(0, .5)(scantokens(mc)) - sw_expand:=1; - MCat(1, .5)(scantokens(mc)) -endfigm -%*********************************************************************** -beginfigm("EN:Switwch abbreviate group",":<30,Ph,4:/Cl,3:/F") - fsize:=(60mm,12mm); - MCat(.15, .5)(scantokens(mc)) - sw_abbreviate:=Group; - MCat(.85, .5)(scantokens(mc)) -endfigm -%*********************************************************************** -beginfigm("EN:Switwch abbreviate bondtype",":<30,Ph,4:/Cl,3:/F") - fsize:=(60mm,12mm); - MCat(.15, .5)(scantokens(mc)) - sw_abbreviate:=Bond; - MCat(.85, .5)(scantokens(mc)) -endfigm -%*********************************************************************** -beginfigm("EN:Switwch font frame 1") - fsize:=(30mm,10mm); - fmargin:=(5mm,1.5mm); - sw_frame:=Outside; - MC(<30,Ph) -endfigm -beginfigm("EN:Switwch font frame 2") - fsize:=(30mm,10mm); - fmargin:=(5mm,1.5mm); - sw_frame:=Inside; - MC(<30,Ph) -endfigm -beginfigm("EN:Switwch font frame 3") - fsize:=(30mm,10mm); - fmargin:=(5mm,1.5mm); - sw_frame:=Bothside; - MC(<30,Ph) -endfigm -%*********************************************************************** -beginfigm("EN:Switwch molecular frame") - sw_frame:=Outside; - fsize:=(40mm,11mm); - msize:=(1,1); - sw_frame:=sw_frame+Mol; - MC(<30,Ph) -endfigm -%*********************************************************************** -beginfigm("EN:Switwch atom frame") - fsize:=(60mm,10mm); - sw_frame:=sw_frame+Atom; - MC(<30,COOH,!,COOH) -endfigm -%*********************************************************************** -beginfigm("EN:Local setting 1") - fsize:=(15mm,12mm); - MC(Ph) -endfigm -beginfigm("EN:Local setting 2") - fsize:=(15mm,12mm); - ratio_thickness_bond:=0.05; - MC(Ph) -endfigm -beginfigm("EN:Local setting 3") - fsize:=(15mm,12mm); - MC(Ph) -endfigm -%*********************************************************************** -save_ratio:=ratio_thickness_bond; -beginfigm("EN:Global setting 1") - fsize:=(15mm,12mm); - MC(Ph) -endfigm -ratio_thickness_bond:=0.05; -beginfigm("EN:Global setting 2") - fsize:=(15mm,12mm); - MC(Ph) -endfigm -beginfigm("EN:Global setting 3") - fsize:=(15mm,12mm); - MC(Ph) -endfigm -ratio_thickness_bond:=save_ratio; -%*********************************************************************** -beginfigm("EN:MC() ") - fmargin:=(0.5mm,0.5mm); - fsize:=(40mm,15mm); - sw_frame:=Outside+Mol; - MC(<30,Ph,4:/Cl,3:/F) -endfigm -%----------------------------------------------------------------------- -beginfigm("EN:MCat()") - defaultscale:=0.6; - fsize:=(60mm,40mm); - fmargin:=(3mm,3mm); - blength:=0.07; - sw_frame:=Outside; - mangle:=0; - for i=1 step -0.5 until 0: - for j=0 step 0.33 until 1: - MCat(j,i)(Ph,4:N) - add( - drawarrow((A1+A1up**aw)..A1); - label(decimal(mangle),p0+(0.5w,0.5h)); - ) - mangle:=mangle+30; - endfor - endfor -endfigm -%*********************************************************************** -beginfigm("EN:Pyridine",":<30,Ph,2:N") - sw_trimming:=0; - fsize:=(12mm,12mm); - if mc_check(mc)=0: MC(scantokens(mc)) fi -endfigm -%----------------------------------------------------------------------- -beginfigm("EN:Pyridine",":<30,Ph,2):N") - sw_trimming:=0; - fsize:=(12mm,12mm); - if mc_check(mc)=0: MC(scantokens(mc)) fi -endfigm -%*********************************************************************** -beginfigm("EN:add() 1") - fsize:=(70mm,40mm); - sw_frame:=sw_frame+Atom+Mol; - max_blength:=10mm; - msize:=(.91,.9); - MCat(.5,.85)(<30,?6,{2,5}:O) - add( - defaultscale:=.8; - labeloffset:=.3aw; - dotlabel.lft("p0",p0); - dotlabel.rt( "p0+(w,h)",p0+(w,h)); - dotlabel.ulft("A1",A1); - drawarrow A1..A1+__*l<<A1ang; - dotlabel.lrt( "B3s",B3s); - dotlabel.rt("B3m",B3m); - drawarrow B3m..B3m+__*l<<(B3ang+90); - dotlabel.ulft("A6",A6); - drawarrow A1{A1down}..A6; - dotlabel.urt( "B3e",B3e); - label.rt( "An="&decimal(An)& - " Bn="&decimal(Bn)& - " aw="&decimal(aw)& - " em="&decimal(em), - p0+(-9em,-1.5em)); - label.rt( "w="&decimal(w)& - " h="&decimal(h)& - " l="&decimal(l), - p0+(-9em,-3em)); - ) -endfigm -%*********************************************************************** -beginfigm("EN:add() 2") - fsize:=(70mm,20mm); - msize:=(1,0.85); MCat(0,0)(<30,Ph,3=dl,4:/NH2) - add(labeloffset:=.7aw; - label.top(lonepair 90,A7); - drawarrow (A7+up**1.2aw){A7left}..{B7right}B7/*0.3; - drawarrow B3m..A3+B2up**1.5aw..{A3down}A3; - ) - MCat(1,0)(<30,?6,{1,5}=dl,4://NH2) - add(labeloffset:=.7aw; - label.top(plus,A7); - label.urt(minus,A3); - label(lonepair A3ang,A3+A3up**.7aw); - ) - ext(drawdblarrow (0.4w,0.4h)..(0.55w,0.4h);) -endfigm -%*********************************************************************** -beginfigm("EN:ext()") - fsize:=(70mm,30mm); - blength:=0.065; - sw_label_emu:=1; - % - MCat(0.1,0.5)(<-210,60`1,60`1,60`1,{1,3}=dl,1:/R1,4:/R2^-60) - add( - defaultscale:=0.6; - label.bot("Diene",p0+(0.5w,0)); - ) - MCat(0.4,0.5)(<-30,-60`1,1=dl,1:/R3,2:/R4^60) - add( - defaultscale:=0.6; - label.bot("Dienophile",p0+(0.5w,0)); - ) - MCat(0.9,0.5)(<30,?6,6=dl,2:/R2,3:/R4,4:/R3,5:/R1) - ext( - drawarrow (0.52w,0.5h)..(0.6w,0.5h); - defaultscale:=0.7; - label("+",(0.25w,0.5h)); - ratio_thickness_char:=0.125; - label.bot("Diels-Alder Reaction",(0.5w,h)); - ) -endfigm -%*********************************************************************** -% Global ext() setting 1 -save_defaultsize:=defaultsize; -defaultsize:=5bp; -beginfigm("EN:?3") - fsize:=(12mm,15mm); - MCat(0.5,1)(<30,?3) -endfigm -beginfigm("EN:?4") - fsize:=(12mm,15mm); - MCat(0.5,1)(?4) - %------------------------------- - ext(label.top(inf_EN,(0.5w,0));) - %------------------------------- -endfigm -beginfigm("EN:?5") - fsize:=(12mm,15mm); - MCat(0.5,1)(?5) -endfigm -beginfigm("EN:?5") - fsize:=(12mm,15mm); - MCat(0.5,1)(?6) -endfigm -%----------------------------------------------------------------------- -beginfigm("EN:?3") - fsize:=(12mm,15mm); - MCat(0.5,1)(<30,?3) -endfigm -%------------------------------- -ext(label.top(inf_EN,(0.5w,0));) -%------------------------------- -beginfigm("EN:?4") - fsize:=(12mm,15mm); - MCat(0.5,1)(?4) -endfigm -beginfigm("EN:?5") - fsize:=(12mm,15mm); - MCat(0.5,1)(?5) -endfigm -%--------- -ext_clear; -%--------- -beginfigm("EN:?6") - fsize:=(12mm,15mm); - MCat(0.5,1)(?6) -endfigm -defaultsize:=save_defaultsize; -%*************************************************************************** -beginfigm("t:EN","v:Luciferin") - fsize:=(50mm,15mm); - if mc_check(mc)=0: MC(scantokens(mc)) fi -endfigm -%*************************************************************************** -beginfigm("EN:Colchicine","MW:385.41", - %--------------------------------------- - ": <30,Ph,{1,2,6}:/O!,{-4,-5}=?7, ", - ": {-1,-4,-6}=dl,-2://O,-3:/O!, ", - ": @9,\,NH,!,//O,! ") - %--------------------------------------- - fsize:=(50mm,20mm); - if mc_check(mc)=0: MC(scantokens(mc)) fi -endfigm -%*************************************************************************** -beginfigm("EN:Paclitaxel","MW:853.91", - %------------------------------------------------------ - ": ?6,5=dl,@3,#1,36,45,45,45,45,##, ", - ": &($5),-4=?6,-4=?4,-1=wb,-3=wf,-1:O,||, ", - ": 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,*\,O,-60,//O,60, ", - ": @12,\*^-15,O,60,//O,-60 ") - %------------------------------------------------------ - fsize:=(50mm,25mm); - if mc_check(mc)=0: MC(scantokens(mc)) fi -endfigm -%*************************************************************************** -beginfigm("EN:Maltose","MW:342.3", - %------------------------------------------------------ - ": #1.25,-30~wf_r,30~bd_r`1,30~wb_r,120,O,30,&1,##, ", - ": #.5,{1^$-90,2^$90,3^$-90}:/OH,6^$90:/!OH,##, ", - ": @4,$-50~arc_lb`1,O,$50~arc_br`1,<$0, ", - ": |,#1.25,-30~wf_r,30~bd_r`1,30~wb_r,120,O,30,&1,##,", - ": #.5,{2^$90,3^$-90,4^$-90}:/OH,6^$90:/!OH ") - %------------------------------------------------------ - fsize:=(50mm,20mm); - if mc_check(mc)=0: MC(scantokens(mc)) fi -endfigm -%*********************************************************************** -beginfigm("EN:Cellobiose","MW:342.3", - %------------------------------------------------------ - ": #1.25,-30~wf_r,30~bd_r`1,30~wb_r,120,O,30,&1,##, ", - ": #.5,{1^$-90,2^$90,3^$-90}:/OH,6^$90:/!OH,##, ", - ": @4,$0~arc_ltr,O,$0~arc_lbr, ", - ": |,#1.25,-30~wf_r,30~bd_r`1,30~wb_r,120,O,30,&1,##,", - ": #.5,{2^$90,3^$-90,4^$-90}:/OH,6^$90:/!OH ") - %------------------------------------------------------ - fsize:=(50mm,20mm); - if mc_check(mc)=0: MC(scantokens(mc)) fi -endfigm -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -bye diff --git a/graphics/mcf2graph/mcf_manual.pdf b/graphics/mcf2graph/mcf_manual.pdf Binary files differindex 7d27863ba0..c304a18391 100644 --- a/graphics/mcf2graph/mcf_manual.pdf +++ b/graphics/mcf2graph/mcf_manual.pdf diff --git a/graphics/mcf2graph/mcf_manual.tex b/graphics/mcf2graph/mcf_manual.tex index 514236f5b2..18ccd9827f 100644 --- a/graphics/mcf2graph/mcf_manual.tex +++ b/graphics/mcf2graph/mcf_manual.tex @@ -1,18 +1,36 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Molecular Coding Format manual by Akira Yamaji 2022.11.12 +% Molecular Coding Format manual by Akira Yamaji 2023.01.09 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% ** mcf2graph.mf must be version 4.91 +% ** use mcf_library.mcf +% ** typeset by LuaLaTeX(luamplib) +%---------------------------------------------------------------------------- \documentclass[a4paper]{article} -%%%\usepackage{graphicx} -%%%\usepackage{hyperref} -\usepackage[pdftex]{graphicx} -\usepackage[pdftex]{hyperref} -%%%\usepackage[dvipdfmx]{graphicx} -%%%\usepackage[dvipdfmx]{hyperref} +\usepackage{textcomp,verbatim}% +\usepackage[luatex]{graphicx} +\usepackage[luatex]{hyperref} \usepackage{makeidx} +\usepackage{luamplib} +\mplibnumbersystem{double} \makeindex \hypersetup{colorlinks=true,linkcolor=blue} -\usepackage{mcf_setup} -\edef\MCFjobname{mcf_man_soc}% +%---------------------------------------------------------------------------- +\mplibcodeinherit{enable}% +\mplibverbatim{enable}% +\mpliblegacybehavior{disabled}% +\everymplib{% + if unknown Ph1: input mcf2graph; fi + sw_output:=Fig+Calc; + tag1:="J"; tag2:="C"; tag3:="fm"; tag4:="mw"; tag5:="EN"; tag6:="MW"; + outputformat:="eps"; + fsize:=(60mm,35mm); + blength:=0mm; + max_blength:=10mm; + ratio_thickness_bond:=0.015; + ratio_atom_bond:=0.36; + sw_frame:=Outside; + fmargin:=(2mm,1mm); +}% %---------------------------------------------------------------------------- \edef\fext{mps}% \topmargin=-18mm @@ -23,33 +41,6 @@ %%%%\evensidemargin=-7mm \unitlength=1mm% %---------------------------------------------------------------------------- -\newcount \fnum% -\newdimen \htman% -\newdimen \wdman% -\newdimen \htmans% -\newbox \fbox% -%---------------------------------------------------------------------------- -\htman=45mm% -\wdman=94mm% -\htmans=42mm% -\fnum=1% -%---------------------------------------------------------------------------- -\makeatletter -%---------------------------------------------------------------------------- -\def\MCFgraph{% -\edef\file@name{\MCFjobname-\z@num\fnum.\fext}% -\includegraphics{\file@name}% -\global\advance\fnum\@ne\relax% -}% -%---------------------------------------------------------------------------- -\def\put@char{% - \begin{picture}(75,100)% - \put(0,95){\bf [\NO]\EN}% - \put(5,90){\small\tt FM:\fm{ }MW:\mw}% - \put(5,0){\MCFgraph}% - \end{picture}% -}% -%---------------------------------------------------------------------------- \begin{document} \title{\Huge\sf Molecular Coding Format manual} \author{Akira Yamaji} @@ -60,13 +51,123 @@ %----------------------------------------------------------------------------- \thispagestyle{empty} \vspace{5mm}% -\MCFgraph\MCFgraph\MCFgraph\MCFgraph\\ -\MCFgraph\MCFgraph\MCFgraph\MCFgraph\\ -\MCFgraph\MCFgraph\MCFgraph\MCFgraph\\ -\MCFgraph\MCFgraph\MCFgraph\MCFgraph\\ -\MCFgraph\MCFgraph\MCFgraph\MCFgraph\\ -\MCFgraph\MCFgraph\MCFgraph\MCFgraph\\ -\MCFgraph\MCFgraph\MCFgraph\MCFgraph +\quad +\begin{mplibcode} +fsize:=(40mm,25mm); blength:=6mm; sw_frame:=0; +beginfigm("EN:Glycine",":<30,NH2,!2,COOH") + if mc_check(mc)=0: MC(scantokens(mc)) fi +endfigm +beginfigm("EN:L-Alanine",":<30,NH2,!~wb,/_,!,COOH") + if mc_check(mc)=0: MC(scantokens(mc)) fi +endfigm +beginfigm("EN:L-Valine",":<30,NH2,!~wb,/?!,!,COOH") + if mc_check(mc)=0: MC(scantokens(mc)) fi +endfigm +beginfigm("EN:L-Leucine",":<30,NH2,!~wb,/'(!,?!),!,COOH") + if mc_check(mc)=0: MC(scantokens(mc)) fi +endfigm +\end{mplibcode} +\\ +\begin{mplibcode} +fsize:=(40mm,25mm); blength:=6mm; sw_frame:=0; +beginfigm("EN:L-Isoleucine",":<30,NH2,!~wb,/'(/*_,!2),!,COOH") + if mc_check(mc)=0: MC(scantokens(mc)) fi +endfigm +beginfigm("EN:L-Serine",":<30,NH2,!~wb,/!OH,!,COOH") + if mc_check(mc)=0: MC(scantokens(mc)) fi +endfigm +beginfigm("EN:L-Threonine",":<30,NH2,!~wb,/'(/_,!~wf,OH),!,COOH") + if mc_check(mc)=0: MC(scantokens(mc)) fi +endfigm +beginfigm("EN:L-Cysteine",":<30,NH2,!~wb,/!SH,!,COOH") + if mc_check(mc)=0: MC(scantokens(mc)) fi +endfigm +\end{mplibcode} +\\ +\begin{mplibcode} +fsize:=(40mm,25mm); blength:=6mm; sw_frame:=0; +beginfigm("EN:L-Methionine",":<30,NH2,!~wb,/'(!2,S,!),!,COOH") + if mc_check(mc)=0: MC(scantokens(mc)) fi +endfigm +beginfigm("EN:L-Phenylalanine",":<30,NH2,!~wb,/!Ph,!,COOH") + if mc_check(mc)=0: MC(scantokens(mc)) fi +endfigm +beginfigm("EN:L-Tyrosine",":<30,NH2,!~wb,/'(!Ph,-3:/OH),!,COOH") + if mc_check(mc)=0: MC(scantokens(mc)) fi +endfigm +beginfigm("EN:L-Triptophan", + ":<30,NH2,!~wb,!,COOH,@2,\,!,<24,|,?5,-4=Ph,2=dr,5=dl,4:NH") + if mc_check(mc)=0: MC(scantokens(mc)) fi +endfigm +\end{mplibcode} +\\ +\begin{mplibcode} +fsize:=(40mm,25mm); blength:=6mm; sw_frame:=0; +beginfigm("EN:L-Prorine",":<18,?5,3:NH,4:*/COOH") + if mc_check(mc)=0: MC(scantokens(mc)) fi +endfigm +beginfigm("EN:L-Glutamine", + ":<30,NH2,!~wb,!,COOH,@2,\`1,!`1,!,//O,!,NH2") + if mc_check(mc)=0: MC(scantokens(mc)) fi +endfigm +beginfigm("EN:L-Asparagine",":<30,NH2,!~wb,/'(!,//O,!,NH2),!,COOH") + if mc_check(mc)=0: MC(scantokens(mc)) fi +endfigm +beginfigm("EN:L-Aspartic acid",":<30,NH2,!~wb,/!COOH,!,COOH") + if mc_check(mc)=0: MC(scantokens(mc)) fi +endfigm +\end{mplibcode} +\\ +\begin{mplibcode} +fsize:=(40mm,25mm); blength:=6mm; sw_frame:=0; +beginfigm("EN:L-Glutamic acid",":<30,NH2,!~wb,/'(!2,COOH),!,COOH") + if mc_check(mc)=0: MC(scantokens(mc)) fi +endfigm +beginfigm("EN:L-Lysine",":<30,NH2,!~wb,/'(!4,NH2),!,COOH") + if mc_check(mc)=0: MC(scantokens(mc)) fi +endfigm +beginfigm("EN:L-Arginine", + ":<30,NH2,!~wb,!,COOH,@2,\`1,!`1,!2,NH,!,//NH,!,NH2") + if mc_check(mc)=0: MC(scantokens(mc)) fi +endfigm +beginfigm("EN:L-Hystidine", + ":<30,NH2,!~wb,!,COOH,@2,\,!,|,?5,{1,3}=dl,3:N,5:NH") + if mc_check(mc)=0: MC(scantokens(mc)) fi +endfigm +\end{mplibcode} +\\ +\begin{mplibcode} +fsize:=(40mm,25mm); blength:=6mm; sw_frame:=0; +beginfigm("EN:L-DOPA",":<30,NH2,!~wb,!,COOH,@2,\,!,Ph,{-3,-4}:/OH") + if mc_check(mc)=0: MC(scantokens(mc)) fi +endfigm +beginfigm("EN:Ornithine",":<30,NH2,!~wb,/'(!3,NH2),!,COOH") + if mc_check(mc)=0: MC(scantokens(mc)) fi +endfigm +beginfigm("EN:Citrulline",":<30,NH2,!~wb,/'(!3,NH,!,//O,!,NH2),!,COOH") + if mc_check(mc)=0: MC(scantokens(mc)) fi +endfigm +beginfigm("EN:GABA",":<30,NH2,!4,COOH") + if mc_check(mc)=0: MC(scantokens(mc)) fi +endfigm +\end{mplibcode} +\\ +\begin{mplibcode} +fsize:=(40mm,25mm); blength:=6mm; sw_frame:=0; +beginfigm("EN:amino Levulinic acid",":<30,NH2,!2,//O,!3,COOH") + if mc_check(mc)=0: MC(scantokens(mc)) fi +endfigm +beginfigm("EN:4-amino benzoic acid",":<30,Ph,1:/NH2,4:/COOH") + if mc_check(mc)=0: MC(scantokens(mc)) fi +endfigm +beginfigm("EN:L-Carboxyl glutamic acid", + ":<30,NH2,!~wb,/'(!,/COOH,!,COOH),!,COOH") + if mc_check(mc)=0: MC(scantokens(mc)) fi +endfigm +beginfigm("EN:L-Hydroxy Prorine",":<18,?5,1:/OH,3:NH,4:*/COOH") + if mc_check(mc)=0: MC(scantokens(mc)) fi +endfigm +\end{mplibcode} %----------------------------------------------------------------------------- \twocolumn \thispagestyle{empty} @@ -95,9 +196,29 @@ $n (0<=n<360): absolute angle <10,-30,45,-45,60,$300,$0 \end{verbatim} -\MCFgraph +%----------------------------------------- +\begin{mplibcode} +beginfigm("EN:Chain 1") + fsize:=(60mm,17mm); + sw_numbering:=Bond; + numbering_end:=6; + ratio_chain_ring:=1; +%---------------------------------------------------------------------- + MC(<15,-30,45,-45,60,$300,$0, + {1^$15,2^$345,3^$30,4^$345}:/_~dt,{5,6}=vf, + ) + add( + defaultscale:=0.5; + labeloffset:=2bp; + drawarrow B7/*.7{B7right}..{B1right}B1/*.7; label.ulft("-30",B7/*.7); + drawarrow B8/*.7{B8left}..{B2left}B2/*.7; label.llft("45",B8/*.7); + drawarrow B9/*.7{B9right}..{B3right}B3/*.7; label.ulft("-45",B9/*.7); + drawarrow B10/*.7{B10left}..{B4left}B4/*.7; label.llft("60",B10/*.7); + ) +endfigm +\end{mplibcode} %----------------------------------------------------------------------------- -\subsubsection{Chain use !,!n} +\subsubsection{Chain with !,!n} \index{"!}% \begin{verbatim} ! : take value 60 or -60 depend on @@ -106,7 +227,29 @@ $n (0<=n<360): absolute angle <-30,!6 \end{verbatim} -\MCFgraph +%----------------------------------------- +\begin{mplibcode} +beginfigm("EN:Chain 2") + fsize:=(60mm,17mm); + sw_numbering:=Bond; + numbering_end:=6; + ratio_chain_ring:=1; +%---------------------------------------------------------------------- + MC(<-30,!6, + {1^-120,2^60,3^-60,4^60,5^-60,6^60}:/_~dt + ) + add( + defaultscale:=0.5; + labeloffset:=2bp; + drawarrow B7/*.7{B7right}..{B1right}B1/*.7; label.ulft("-60",B7/*.7); + drawarrow B8/*.7{B8left}..{B2left}B2/*.7; label.llft("60",B8/*.7); + drawarrow B9/*.7{B7right}..{B3right}B3/*.7; label.ulft("-60",B9/*.7); + drawarrow B10/*.7{B10left}..{B4left}B4/*.7; label.llft("60",B10/*.7); + drawarrow B11/*.7{B11right}..{B5right}B5/*.7; label.ulft("-60",B11/*.7); + drawarrow B12/*.7{B12left}..{B6left}B6/*.7; label.llft("60",B12/*.7); + ) +endfigm +\end{mplibcode} %----------------------------------------------------------------------------- \subsubsection{Jump to atom} \index{"@}% @@ -116,8 +259,18 @@ $n (0<=n<360): absolute angle <-30,!6,@3,0,!,@5,-30 \end{verbatim} -\MCFgraph -%------------------------------------ +%----------------------------------------- +\begin{mplibcode} +beginfigm("EN:Jump and Branch") + fsize:=(60mm,16mm); + fmargin:=(2mm,2mm); + sw_trimming:=1; + sw_numbering:=Atom; + ratio_chain_ring:=1; + MC(<-30,!6,@3,0,!,@5,-30) +endfigm +\end{mplibcode} +%----------------------------------------------------------------------------- \subsubsection{Branch bond} \index{\textbackslash}% \begin{verbatim} @@ -125,7 +278,17 @@ $n (0<=n<360): absolute angle <-30,!6,@3,\,! \end{verbatim} -\MCFgraph +%----------------------------------------- +\begin{mplibcode} +beginfigm("EN:Jump and Branch") + fsize:=(60mm,16mm); + fmargin:=(2mm,2mm); + sw_numbering:=Atom; + sw_trimming:=1; + ratio_chain_ring:=1; + MC(<-30,!6,@3,\,!) +endfigm +\end{mplibcode} %----------------------------------------------------------------------------- \subsubsection{Branch modified bond} \index{*\textbackslash}% @@ -142,7 +305,18 @@ $n (0<=n<360): absolute angle <30,!8, @2,\,!,@4,*\,!,@6,\*,!,@8,\\,!,@10,*\*,! \end{verbatim} -\MCFgraph +%----------------------------------------- +\begin{mplibcode} +beginfigm("EN:branch1") + fsize:=(60mm,16mm); + fmargin:=(2mm,2mm); + sw_numbering:=Atom; + sw_trimming:=1; + numbering_end:=10; + ratio_chain_ring:=1; + MC(<30,!10,@2,\,!,@4,*\,!,@6,\*,!,@8,\\,!,@10,*\*,!) +endfigm +\end{mplibcode} %----------------------------------------------------------------------------- \index{\textasciicircum}% ^ \index{\textasciitilde}% ~ @@ -153,7 +327,19 @@ $n (0<=n<360): absolute angle \`1.5,-90 : 0`1.5,-90 \^15,-60 : 0^15,-60 \end{verbatim} -\MCFgraph +%----------------------------------------- +\begin{mplibcode} +beginfigm("EN:branch2") + fsize:=(60mm,20mm); + fmargin:=(2mm,2mm); + sw_trimming:=1; + sw_numbering:=Atom; + numbering_end:=7; + ratio_chain_ring:=1; + %------------------------- + MC(<30,!6,@2,\~dr,!,@4,\`1.5,-90,@6,15,-60) +endfigm +\end{mplibcode} %----------------------------------------------------------------------------- \subsubsection{Connect atom} \index{\&}% @@ -162,7 +348,18 @@ $n (0<=n<360): absolute angle <-30,!6,@3,\,!3,&6~bd,@9,&4~bz \end{verbatim} -\MCFgraph +%----------------------------------------- +\begin{mplibcode} +beginfigm("EN:Connect atom") + fsize:=(60mm,20mm); + fmargin:=(2mm,2mm); + sw_trimming:=1; + sw_numbering:=Atom; + ratio_chain_ring:=1; + %---------------------------------- + MC(<-30,!6,@3,\,!3,&6~bd,@9,&4~bz) +endfigm +\end{mplibcode} %----------------------------------------------------------------------------- \subsubsection{Ring} \index{?}% @@ -171,7 +368,17 @@ $n (0<=n<360): absolute angle ?6 : <-120,60,60,60,60,60,&1 ?6 \end{verbatim} -\MCFgraph +%----------------------------------------- +\begin{mplibcode} +beginfigm("EN:ring") + fsize:=(60mm,20mm); + sw_trimming:=1; + fmargin:=(2mm,3mm); + sw_numbering:=Bond; + %--------------------------- + MC(?6) +endfigm +\end{mplibcode} %----------------------------------------------------------------------------- \subsubsection{Rotate current angle} \index{\textgreater}% @@ -180,7 +387,25 @@ $n (0<=n<360): absolute angle 0,0,<90,0,<-90,0,<$315,0,<$90,0,<$0,0 \end{verbatim} -\MCFgraph +%----------------------------------------- +\begin{mplibcode} +beginfigm("EN:rotate 1") + fsize:=(60mm,20mm); + fmargin:=(2mm,3mm); + sw_trimming:=1; + sw_numbering:=Bond; + ratio_chain_ring:=1; + numbering_end:=7; + defaultscale:=0.5; + labeloffset:=2bp; + MC(#1,0,0,<90,0,<-90,0,<$315,0,<$90,0,<$0,0,{1:7}=vf, + {3,4^180}:/_~dt) + add( + drawarrow B8/*.7{B8left}..{B3left}B3/*.7; label.urt("90",B8/*.7); + drawarrow B9/*.7{B9right}..{B4right}B4/*.7; label.urt("-90",B9/*.7); + ) +endfigm +\end{mplibcode} %----------------------------------------------------------------------------- \subsection{Change bond type} \subsubsection{Double,triple,wedge,vector} @@ -206,7 +431,24 @@ tm : triple <-30,!~dm,!,!~dl,!,!~dr,!~db,!~db,!,!~tm <-30,!~dm,!,!~dl,!,!~dr,!! ,!! ,!,!!! \end{verbatim} -\MCFgraph +%----------------------------------------- +\begin{mplibcode} +beginfigm("EN:change bond 1") + fsize:=(70mm,10mm); + fmargin:=(2mm,2mm); + 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.7l)); + label.rt("(dl)",A3+(0,-0.7l)); + label.rt("(dr)",A5+(0,-0.7l)); + label.rt("(db)",A6+(0,-0.2l)); + label.rt("(db)",A7+(0,-0.7l)); + label.rt("(tm)",A9+(0,-0.7l)); + ) +endfigm +\end{mplibcode} \vspace{-3mm}% %----------------------------------------------------------------------------- %%\subsubsection{Wedge} @@ -229,7 +471,24 @@ vb:vector backward <-30, !~wf,!,!~wb,!,!~zf,!,!~zb,!,!~vf,!~vb \end{verbatim} -\MCFgraph +%----------------------------------------- +\begin{mplibcode} +beginfigm("EN:change bond 2") + fsize:=(70mm,10mm); + fmargin:=(2mm,2mm); + sw_trimming:=0; + ratio_chain_ring:=1; + MC(<-30,!~wf,!,!~wb,!,!~zf,!,!~zb,!,!~vf,!,!~vb) + 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)); + label.rt("(vf)",A9+(0,-0.7l)); + label.rt("(vb)",A11+(0,-0.7l)); + ) +endfigm +\end{mplibcode} \vspace{-3mm}% %----------------------------------------------------------------------------- %%\subsubsection{Dotted,wave} @@ -246,7 +505,23 @@ bd : broad / bz : broad dotted <-30,!7,1=dt,3=wv,5=bd,7=bz \end{verbatim} -\MCFgraph +%----------------------------------------- +\begin{mplibcode} +beginfigm("EN:change bond 3") + fsize:=(70mm,10mm); + fmargin:=(2mm,2mm); + blength:=9mm; + 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.6l)); + label.rt("(wv)",A3+(0,-0.6l)); + label.rt("(bd)",A5+(0,-0.6l)); + label.rt("(bz)",A7+(0,-0.6l)); + ) +endfigm +\end{mplibcode} \vspace{-3mm}% %----------------------------------------------------------------------------- \subsubsection{Over line} @@ -274,7 +549,17 @@ dm_ : duble over line {2~si_,4~wf_,6~wb_,8~zf_,10~zb_, 12~bd_,14~dl_,16~dr_,18~dm_}:/_`2 \end{verbatim} -\MCFgraph +%----------------------------------------- +\begin{mplibcode} +beginfigm("EN:over line") + sw_trimming:=1; + fsize:=(75mm,20mm); + ratio_chain_ring:=1; + MC(<30,!18,$90`1.5,90`15.5, + {2~si_,4~wf_,6~wb_,8~zf_,10~zb_, + 12~bd_,14~dl_,16~dr_,18~dm_}:/_`2) +endfigm +\end{mplibcode} %----------------------------------------------------------------------------- \subsubsection{Steric ring} \index{wf\_r}% @@ -289,7 +574,21 @@ wb_r : wedge backward (half width) 120,O,30,&1,##,#.5,6^$90:/!OH, {1^$-90,2^$90,3^$-90,4^$90}:/OH, \end{verbatim} -\MCFgraph +%----------------------------------------- +\begin{mplibcode} +beginfigm("EN:Steric ring") + fsize:=(75mm,16mm); + MCat(0.05,0.5)(#1.25,-30~wf_r,30~bd_r`1,30~wb_r,120,O,30,&1,##, + #.5,{1^$-90,2^$90,3^$-90,4^$90}:/OH,6^$90:/!OH) + defaultscale:=0.6; + MCat(0.5,0.7)(0~wf_r) add(label.lft("wf_r:",A1);) + MCat(0.5,0.2)(0~wf) add(label.lft("wf:",A1);) + MCat(0.75,0.7)(0~bd_r) add(label.lft("bd_r:",A1);) + MCat(0.75,0.2)(0~bd) add(label.lft("bd:",A1);) + MCat(1,0.7)(0~wb_r) add(label.lft("wb_r:",A1);) + MCat(1,0.2)(0~wb) add(label.lft("wb:",A1);) +endfigm +\end{mplibcode} %----------------------------------------------------------------------------- \subsubsection{Change multiple bond type} \index{vf}% @@ -298,7 +597,15 @@ wb_r : wedge backward (half width) <30,!7,{2,4,6,8'}=dl \end{verbatim} -\MCFgraph +%----------------------------------------- +\begin{mplibcode} +beginfigm("EN:change multi bond") + fsize:=(60mm,8mm); + fmargin:=(2mm,3mm); + ratio_chain_ring:=1; + MC(<30,!9,{2,4,6,8'}=dl) +endfigm +\end{mplibcode} %----------------------------------------------------------------------------- \subsection{Change bond length} \subsubsection{Chain length} @@ -308,7 +615,14 @@ wb_r : wedge backward (half width) <-30,!2,!4`1.2,!2 \end{verbatim} -\MCFgraph +%----------------------------------------- +\begin{mplibcode} +beginfigm("EN:change bond length1") + fsize:=(55mm,8mm); + sw_numbering:=Bond; + MC(<-30,!2,!4`1.2,!2) +endfigm +\end{mplibcode} %----------------------------------------------------------------------------- \index{\#}% \index{\#\#}% @@ -318,7 +632,14 @@ wb_r : wedge backward (half width) <-30,!2,#1.2,!4,##,!2 \end{verbatim} -\MCFgraph +%----------------------------------------- +\begin{mplibcode} +beginfigm("EN:change bond length2") + fsize:=(55mm,8mm); + sw_numbering:=Bond; + MC(<-30,!2,#1.2,!4,##,!2) +endfigm +\end{mplibcode} %----------------------------------------------------------------------------- \subsubsection{Ring length} \begin{verbatim} @@ -326,7 +647,16 @@ wb_r : wedge backward (half width) ?6,@4,\,?6`1.2 \end{verbatim} -\MCFgraph +%----------------------------------------- +\begin{mplibcode} +beginfigm("EN:change ring length") + fsize:=(60mm,16mm); + fmargin:=(2mm,2mm); + sw_trimming:=1; + sw_numbering:=Bond; + MC(?6,@4,\,?6`1.2) +endfigm +\end{mplibcode} %----------------------------------------------------------------------------- \subsection{Change atom} \subsubsection{Insert atom} @@ -335,7 +665,14 @@ Insert hetero atom <-30,!2,O,!2,N,!2 \end{verbatim} -\MCFgraph +%----------------------------------------- +\begin{mplibcode} +beginfigm("EN:Insert atom") + sw_trimming:=1; + fsize:=(50mm,7mm); + MC(<-30,!2,O,!2,N,!2) +endfigm +\end{mplibcode} %----------------------------------------------------------------------------- \subsubsection{Addressed atom} \index{:}% @@ -345,7 +682,16 @@ Insert hetero atom <30,!4,2:O,{3,4}:N \end{verbatim} -\MCFgraph +%----------------------------------------- +\begin{mplibcode} +beginfigm("EN:change atom",":<30,!5,2:O,{3,4}:N") + fsize:=(70mm,10mm); + msize:=(0.48,1); + MCat(0,0.5)(scantokens(mc)) + sw_numbering:=Atom; + MCat(1,0.5)(scantokens(mc)) +endfigm +\end{mplibcode} %----------------------------------------------------------------------------- \subsubsection{Brock address} \index{\textbar}% | @@ -354,7 +700,17 @@ Insert hetero atom ?6,@4,\,|,?6,2:O \end{verbatim} -\MCFgraph +%----------------------------------------- +\begin{mplibcode} +beginfigm("EN:change atom brock address 1",":?6,@4,\,|,?6,2:O") + fsize:=(70mm,14mm); + fmargin:=(3mm,1.5mm); + MCat(0,.5)(scantokens(mc)) + sw_numbering:=Atom; + msize:=(1,.88); + MCat(1,.5)(scantokens(mc)) +endfigm +\end{mplibcode} %----------------------------------------------------------------------------- \subsubsection{Reset brock address} \index{\textbar\textbar}% || @@ -363,7 +719,17 @@ Insert hetero atom ?6,@4,\,|,?6,||,2:N \end{verbatim} -\MCFgraph +%----------------------------------------- +\begin{mplibcode} +beginfigm("EN:change atom brock address 2",":?6,@4,\,|,?6,||,2:N") + fsize:=(70mm,14mm); + fmargin:=(3mm,1.5mm); + MCat(0,.5)(scantokens(mc)) + sw_numbering:=Atom; + msize:=(1,.88); + MCat(1,.5)(scantokens(mc)) +endfigm +\end{mplibcode} %----------------------------------------------------------------------------- \subsubsection{Absolute address} \index{\$}% $ @@ -372,7 +738,17 @@ $2:N : change A$2 C to N **1<=n<=3095 ?6,@4,\,|,?6,$2:N \end{verbatim} -\MCFgraph +%----------------------------------------- +\begin{mplibcode} +beginfigm("EN:change atom absolute address",":?6,@4,\,?6,$2:N") + fsize:=(70mm,14mm); + fmargin:=(3mm,1.5mm); + MCat(0,.5)(scantokens(mc)) + sw_numbering:=Atom; + msize:=(1,.88); + MCat(1,.5)(scantokens(mc)) +endfigm +\end{mplibcode} %----------------------------------------------------------------------------- \subsubsection{Relative address} \begin{verbatim} @@ -380,7 +756,17 @@ $2:N : change A$2 C to N **1<=n<=3095 ?6,@4,\,?6,-2:N \end{verbatim} -\MCFgraph +%----------------------------------------- +\begin{mplibcode} +beginfigm("EN:change atom relative adress",":?6,@4,\,?6,-2:N") + fsize:=(70mm,14mm); + fmargin:=(3mm,1.5mm); + MCat(0,.5)(scantokens(mc)) + sw_numbering:=Atom; + msize:=(1,.88); + MCat(1,.5)(scantokens(mc)) +endfigm +\end{mplibcode} %----------------------------------------------------------------------------- \subsubsection{Charged atom} \begin{verbatim} @@ -389,7 +775,14 @@ p_ : positive / n_ : negative <-30,!2,N,??,p_,!2,S,n_^180, !6,7:N,7:??,9:S,7:n_,9:n_^180 \end{verbatim} -\MCFgraph +%----------------------------------------- +\begin{mplibcode} +beginfigm("EN:Charged atom") + sw_trimming:=1; + fsize:=(60mm,12mm); + MC(<-30,!2,N,??,p_,!2,S,n_^180,!6,7:N,7:??,9:S,7:p_,9:n_^180) +endfigm +\end{mplibcode} %----------------------------------------------------------------------------- \newpage %----------------------------------------------------------------------------- @@ -403,7 +796,16 @@ p_ : positive / n_ : negative ?6,3=?6 \end{verbatim} -\MCFgraph +%----------------------------------------- +\begin{mplibcode} +beginfigm("EN:fused ring") + fsize:=(60mm,18mm); + fmargin:=(2mm,1.5mm); + sw_trimming:=1; + sw_numbering:=Bond; + MC(<30,?6,3=?6,3=dt,{7:11}=bd_r) +endfigm +\end{mplibcode} %----------------------------------------------------------------------------- \begin{verbatim} ** fused ring size depend on @@ -411,7 +813,17 @@ attached bond length ?6,@4,\,?6`1.2,5=?6,11=?6 \end{verbatim} -\MCFgraph +%----------------------------------------- +\begin{mplibcode} +beginfigm("EN:change ring length") + fsize:=(60mm,25mm); + fmargin:=(2mm,2mm); + sw_trimming:=1; + sw_numbering:=Bond; + MC(?6,@4,\,?6`1.2,5=?6,11=?6, + {14:23}=bd_r,{5,11}=dt) +endfigm +\end{mplibcode} %----------------------------------------------------------------------------- \begin{verbatim} ?6,3=?6[13] : fuse ?6[13] at B3 @@ -420,15 +832,33 @@ attached bond length ?6,3=?6[13] \end{verbatim} -\MCFgraph +%----------------------------------------- +\begin{mplibcode} +beginfigm("EN:fused large 6 ring") + fsize:=(60mm,18mm); + fmargin:=(2mm,1.5mm); + margin_top_bottom:=1.5mm; + sw_numbering:=Bond; + sw_trimming:=1; + MC(<30,?6,3=?6[13],3=dt,{7:11}=bd_r) +endfigm +\end{mplibcode} %----------------------------------------------------------------------------- \begin{verbatim} ?6,{-3,-4,-4,-2,-2,-4,-4}=?6 ?6,{4,8,13,20,25,28,33}=?6 \end{verbatim} -\MCFgraph +%----------------------------------------- +\begin{mplibcode} +beginfigm("EN:fuse multi ring") + fsize:=(70mm,20mm); + fmargin:=(2mm,2mm); + sw_numbering:=Bond; + sw_trimming:=1; + MC(<30,?6,{-3,-4,-4,-2,-2,-4,-4}=?6,{4,8,13,20,25,28,33}=dt) +endfigm +\end{mplibcode} %----------------------------------------------------------------------------- -%%%\subsubsection{Attached 2 bond} \index{--}% \begin{verbatim} (Attached 2 bond) @@ -441,12 +871,25 @@ attached bond length 2:<30,?6,3=?6,11--4=?5 3:<30,?6,3=?6,11--4=?4 \end{verbatim} -\MCFgraph -\vspace{-3mm}% -\begin{verbatim} -\end{verbatim} +%----------------------------------------- +\begin{mplibcode} +beginfigm("EN:fused ring 2") + fsize:=(75mm,20mm); + fmargin:=(2mm,2mm); + sw_numbering:=Bond; + msize:=(1,.9); + MCat( 0,.5)(<30,?6,{3,11--4}=?6,{11,4}=dt,{12:15}=bd_r) + add(defaultscale:=0.4; label("(1)",p0);) + msize:=(1,.9); + MCat(.5,.5)(<30,?6,3=?6,{11--4}=?5,{11,4}=dt,{12:14}=bd_r) + add(defaultscale:=0.4; label("(2)",p0);) + msize:=(1,.9); + MCat( 1,.5)(<30,?6,3=?6,{11--4}=?4,{11,4}=dt,{12,13}=bd_r) + add(defaultscale:=0.4; label("(3)",p0);) +endfigm +\end{mplibcode} +%%%%%%%\vspace{-3mm}% %----------------------------------------------------------------------------- -%%%\subsubsection{Attached 3 bond} \index{---}% \begin{verbatim} (Attached 3 bond) @@ -458,12 +901,20 @@ attached bond length 2:?6,{3,10}=?6,16---4=?5 \end{verbatim} -\MCFgraph -\vspace{-3mm}% -\begin{verbatim} -\end{verbatim} +%----------------------------------------- +\begin{mplibcode} +beginfigm("EN:fused ring 3") + fsize:=(60mm,20mm); + fmargin:=(2mm,2mm); + sw_numbering:=Bond; + MCat(0,1)(?6,{3,10}=?6,16---4=?6,{16,4}=dt,{17:19}=bd_r) + add(defaultscale:=0.4; label("(1)",p0);) + MCat(1,0)(?6,{3,10}=?6,16---4=?5,{16,4}=dt,{17,18}=bd_r) + add(defaultscale:=0.4; label("(2)",p0);) +endfigm +\end{mplibcode} +%%%%%%%%\vspace{-3mm}% %----------------------------------------------------------------------------- -%%%%\subsubsection{Attached 4 bond} \index{----}% \begin{verbatim} (Attached 4 bond) @@ -473,7 +924,15 @@ attached bond length <-30,?6,{3,10,15,21----4}=?6 \end{verbatim} -\MCFgraph +%----------------------------------------- +\begin{mplibcode} +beginfigm("EN:fused ring 4") + fsize:=(60mm,20mm); + fmargin:=(2mm,2mm); + sw_numbering:=Bond; + MC(<-30,?6,{3,10,15}=?6,21----4=?6,{21,4}=dt,{22,23}=bd_r) +endfigm +\end{mplibcode} %----------------------------------------------------------------------------- \subsection{Spiro ring} \begin{verbatim} @@ -481,7 +940,16 @@ attached bond length <30,!6,@4,?5 \end{verbatim} -\MCFgraph +%----------------------------------------- +\begin{mplibcode} +beginfigm("EN:Spiro ring ") + fsize:=(40mm,15mm); + sw_numbering:=Atom; + numbering_end:=7; + ratio_chain_ring:=1; + MC(<30,!6,@4,?5) +endfigm +\end{mplibcode} %----------------------------------------------------------------------------- \subsection{Group} \subsubsection{Insert group} @@ -490,14 +958,23 @@ attached bond length \begin{verbatim} / : group start single bond -/_ : methyl /! : ethyl -/!2 : propyl /?! : isopropyl -/??! : tert-butyl /Ph : phenyl +/_ : methyl +/! : ethyl +/!2 : propyl +/?! : isopropyl +/??! : tert-butyl +/Ph : phenyl <30,!,/_,!2,/!,!2,/!2,!4,/?!, !4,/??!,!2,/Ph^-60,! \end{verbatim} -\MCFgraph +%----------------------------------------- +\begin{mplibcode} +beginfigm("EN:group 1") + fsize:=(75mm,18mm); + MC(<30,!,/_,!2,/!,!2,/!,!4,/?!,!4,/??!,!2,/'(Ph`0.8)^-60,!) +endfigm +\end{mplibcode} %----------------------------------------------------------------------------- \subsubsection{Insert modified group} \index{//}% @@ -514,7 +991,20 @@ attached bond length <30,!,//O,!2,*/H,!2,/*H,!2,*/*H,!2,**?3,! \end{verbatim} -\MCFgraph +%----------------------------------------- +\begin{mplibcode} +beginfigm("EN:group 2") + fsize:=(70mm,14mm); + 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)); + ) +endfigm +\end{mplibcode} %----------------------------------------------------------------------------- \index{\textasciicircum}% ^ \index{\textasciitilde}% ~ @@ -529,7 +1019,14 @@ attached bond length <-30,``1,!, /_`2^30,!2,/!2>lr,!2,/!2>rl,!) \end{verbatim} -\MCFgraph +%----------------------------------------- +\begin{mplibcode} +beginfigm("EN:group 3") + fsize:=(60mm,16mm); + sw_trimming:=1; + MC(<-30,#1,!2,/_`2^30,!2,/!2>lr,!2,/!2>rl,!) +endfigm +\end{mplibcode} %----------------------------------------------------------------------------- \subsubsection{Add group} \begin{verbatim} @@ -537,7 +1034,17 @@ attached bond length 8:/tBu,10:/'(Ph`0.6)^-15, {11,12,13'}:*/_,{15,16,17'}:/*_ \end{verbatim} -\MCFgraph +%----------------------------------------- +\begin{mplibcode} +beginfigm("EN:group 3") + fsize:=(75mm,25mm); + fmargin:=(2mm,2mm); + sw_numbering:=Atom; + numbering_end:=17; + MC(<30,!17,2:/_,3:/!,4:/!2,7:/iPr,8:/tBu,10:/'(Ph`0.6)^-15, + {11,12,13'}:*/_,{15,16,17'}:/*_) +endfigm +\end{mplibcode} %----------------------------------------------------------------------------- \subsubsection{Add modified group} \begin{verbatim} @@ -545,7 +1052,16 @@ attached bond length <30,!6,{2~wf,4~zf,6^-30,8^$120}:/_ \end{verbatim} -\MCFgraph +%----------------------------------------- +\begin{mplibcode} +beginfigm("EN:group 4") + fsize:=(60mm,18mm); + sw_trimming:=1; + fmargin:=(2mm,2mm); + sw_numbering:=Atom; numbering_end:=9; + MC(<30,!8`1,{2~wf,4~zf,6^-30,8^$120}:/_) +endfigm +\end{mplibcode} %----------------------------------------------------------------------------- \begin{verbatim} @@ -553,7 +1069,16 @@ attached bond length <-30,!7`1,3:/_`2^30,5:/!2>lr,7:/!2>rl \end{verbatim} -\MCFgraph +%----------------------------------------- +\begin{mplibcode} +beginfigm("EN:group 5") + fsize:=(60mm,16mm); + sw_trimming:=1; + sw_numbering:=Atom; + numbering_end:=8; + MC(<-30,!7`1,3:/_`2^30,5:/!2>lr,7:/!2>rl) +endfigm +\end{mplibcode} %----------------------------------------------------------------------------- \newpage %----------------------------------------------------------------------------- @@ -570,7 +1095,25 @@ attached bond length {3^-90,3^-30,3^90}:/!3>hz, {1^-60,1,1^60}:/!3>vt \end{verbatim} -\MCFgraph +%----------------------------------------- +\begin{mplibcode} +beginfigm("EN:chain strech direction mode 1") + fsize:=(50mm,25mm); + sw_trimming:=1; + ratio_chain_ring:=1; + MC(?4,{3^-90,3^-30,3^90}:/!3>hz, + {1^-60,1,1^60}:/!3>vt + ) + add(defaultscale:=0.5; labeloffset:=2bp; + label.rt(">hz",A8); + label.top(">hz",A12); + label.top(">hz",A16); + label.rt(">vt",A20); + label.top(">vt",A24); + label.rt(">vt",A28); + ) +endfigm +\end{mplibcode} %----------------------------------------------------------------------------- \subsubsection{Left-right,right-left} \index{lr}% @@ -583,7 +1126,14 @@ attached bond length {3^-30,3,3^30}:/!3>lr, {5^-30,5,5^30}:/!3>rl \end{verbatim} -\MCFgraph +%----------------------------------------- +\begin{mplibcode} +beginfigm("EN:Left-right_right-left") + fsize:=(40mm,20mm); + sw_trimming:=1; + MC(<30,!4,2:/!6>30,4:/!4>-45) +endfigm +\end{mplibcode} %----------------------------------------------------------------------------- \subsubsection{Fixed rotate angle} \index{\textgreater}% @@ -595,7 +1145,14 @@ attached bond length 4:/!4>-45 % 4:\,-45,-45,-45,-45 \end{verbatim} -\MCFgraph +%----------------------------------------- +\begin{mplibcode} +beginfigm("EN:Fixed rotate angle") + fsize:=(40mm,20mm); + sw_trimming:=1; + MC(<30,!4,2:/!6>30,4:/!4>-45) +endfigm +\end{mplibcode} %----------------------------------------------------------------------------- \subsubsection{Multiple rotate angle} \begin{verbatim} @@ -603,7 +1160,14 @@ attached bond length <30,!6,6>'(90,-90,90,-90,90):/!5 \end{verbatim} -\MCFgraph +%----------------------------------------- +\begin{mplibcode} +beginfigm("EN:Multiple rotate angle") + fsize:=(60mm,20mm); + sw_trimming:=1; + MC(<30,!6,6>'(90,-90,90,-90,90):/!5) +endfigm +\end{mplibcode} %----------------------------------------------------------------------------- \newpage \subsection{Miscellaneous} @@ -620,7 +1184,15 @@ SO : S,//O SOO : S,//O^35,//^-35 <-30,!2,NH,!2,N!,!2,N!2,SO,!2,SOO,! \end{verbatim} -\MCFgraph +%----------------------------------------- +\begin{mplibcode} +beginfigm("EN:change atom and group") + fsize:=(60mm,12mm); + sw_trimming:=1; + MC(<-30,!2,NH,!2,N!,!2,N!2,!2,SO,!2,SOO,!) +endfigm +\end{mplibcode} +%----------------------------------------------------------------------------- \index{?"!}% \index{??}% \index{??"!}% @@ -632,7 +1204,14 @@ SO : S,//O SOO : S,//O^35,//^-35 <30,!9`1,?!,!,??,!,2:??,4:/??,6:/??!,8:/N?! \end{verbatim} -\MCFgraph +%----------------------------------------- +\begin{mplibcode} +beginfigm("EN:methyl*2,isopropyl,tert-butyl") + fsize:=(60mm,12mm); + sw_trimming:=1; + MC(<30,!9`1,?!,!,??,!,2:??,4:/?!,6:/??!,8:/N?!) +endfigm +\end{mplibcode} %----------------------------------------------------------------------------- \subsubsection{Parts definition} \begin{verbatim} @@ -641,13 +1220,29 @@ SO : S,//O SOO : S,//O^35,//^-35 iBuOH:='(!,/_,!,OH); MC(<30,?6,{4,6}:/iBuOH) \end{verbatim} -\MCFgraph +%----------------------------------------- +\begin{mplibcode} +beginfigm("EN:User definition") + fsize:=(60mm,13mm); + sw_trimming:=1; + iBuOH:='(!,/_,!,OH); + MC(<30,?6,{4,6}:/iBuOH) +endfigm +\end{mplibcode} %----------------------------------------------------------------------------- \subsubsection{Parts inline definition} \begin{verbatim} <30,!8,{2,6}:/'(!,/_,!,OH) \end{verbatim} -\MCFgraph +%----------------------------------------- +\begin{mplibcode} +beginfigm("EN:Inline definition") + fsize:=(60mm,13mm); + fmargin:=(2mm,1mm); + sw_trimming:=1; + MC(<30,!8,{2,6}:/'(!,/_,!,OH)) +endfigm +\end{mplibcode} %----------------------------------------------------------------------------- \subsubsection{Move position} \index{"@()}% @@ -658,7 +1253,23 @@ MC(<30,?6,{4,6}:/iBuOH) <30,?6,@3,!4,//O,!,O,n_^60,@$(6,1),H,p_^15 \end{verbatim} -\MCFgraph +%----------------------------------------- +\begin{mplibcode} +beginfigm("EN:Move position") + 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-3bp))--(l*i,l+3bp); + endfor + draw A1--(A1+(0,1l))--A1+(6l,1l); + draw (A1+(0,1l))--(A1+(-3bp,1l)); + ) +endfigm +\end{mplibcode} %----------------------------------------------------------------------------- \subsubsection{Serial number} \index{\-\-}% @@ -666,9 +1277,17 @@ MC(<30,?6,{4,6}:/iBuOH) 6:10 : 6,7,8,9,10 <30,!14,{2,6:10,14}:/_~bd_r`0.5 \end{verbatim} -\MCFgraph -\newpage +%----------------------------------------- +\begin{mplibcode} +beginfigm("EN:Serial number") + fsize:=(75mm,14mm); + max_blength:=8mm; + sw_numbering:=Atom; numbering_end:=15; + MC(<30,!14,{2,6:10,14}:/_~bd_r`0.5) +endfigm +\end{mplibcode} %----------------------------------------------------------------------------- +\newpage \subsubsection{Change color} \index{red}% \index{blue}% @@ -685,7 +1304,17 @@ beginfigm() ) endfigm \end{verbatim} -\MCFgraph +%----------------------------------------- +\begin{mplibcode} +beginfigm("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 + ) +endfigm +\end{mplibcode} %----------------------------------------------------------------------------- \subsubsection{Change font} \index{atomfont}% @@ -697,7 +1326,15 @@ beginfigm() MC(<30,Ph,{2,5}:N,3:/NH2,4:/COOH) endfigm \end{verbatim} -\MCFgraph +%----------------------------------------- +\begin{mplibcode} +beginfigm("EN:Change font") + fsize:=(50mm,20mm); + max_blength:=8mm; + atomfont:="cmr8"; + MC(<30,Ph,{2,5}:N,3:/NH2,4:/COOH) +endfigm +\end{mplibcode} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Option parameter} %------------------------------------------------------------------------------ @@ -710,7 +1347,19 @@ MCat(0.2,0.5)(Ph) mangle:=30; MCat(0.8,0.5)(Ph) \end{verbatim} -\MCFgraph +%----------------------------------------- +\begin{mplibcode} +beginfigm("EN:mangle") + fsize:=(50mm,15mm); + blength:=6mm; + mangle:=0; + MCat(0.2,0.5)(Ph) + add(drawarrow((A1 shifted (aw,0)) rotated A1ang..A1);) + mangle:=30; + MCat(0.8,0.5)(Ph) + add(drawarrow((A1 shifted (aw,0)) rotated A1ang..A1);) +endfigm +\end{mplibcode} %------------------------------------------------------------------------------ \subsection{Size/Ratio parameter} %----------------------------------------------------------------------------- @@ -720,56 +1369,173 @@ MCat(0.8,0.5)(Ph) (fit to figure size) blength=0 ** default \end{verbatim} -\MCFgraph +%----------------------------------------- +\begin{mplibcode} +beginfigm("EN:blength=0") + sw_frame:=Bothside; + fsize:=(40mm,15mm); + MC(<30,Ph) + ext(pickup pencircle scaled 0.2pt; + for i=0 upto w/mm: draw (i*mm,0)--(i*mm,-.5mm); endfor + for i=0 upto h/mm: draw (0,i*mm)--(-.5mm,i*mm); endfor + for i=0 upto w/cm: draw (i*cm,0)--(i*cm,-.8mm); endfor + for i=0 upto h/cm: draw (0,i*cm)--(-.8mm,i*cm); endfor + ) +endfigm +\end{mplibcode} %----------------------------------------- \begin{verbatim} (ratio bond/figure width) blength=0.1 ** (0<blength<=1) blength=60mm(width)*0.1=6mm \end{verbatim} -\MCFgraph +%--------------------------------------------- +\begin{mplibcode} +beginfigm("EN:0<blength=<1") + sw_frame:=Bothside; + fsize:=(40mm,15mm); + blength:=0.1; + MC(<30,Ph) + ext(pickup pencircle scaled 0.2pt; + for i=0 upto w/mm: draw (i*mm,0)--(i*mm,-.5mm); endfor + for i=0 upto h/mm: draw (0,i*mm)--(-.5mm,i*mm); endfor + for i=0 upto w/cm: draw (i*cm,0)--(i*cm,-.8mm); endfor + for i=0 upto h/cm: draw (0,i*cm)--(-.8mm,i*cm); endfor + ) +endfigm +\end{mplibcode} %----------------------------------------- \begin{verbatim} (bond length) blength=9mm ** (blength>1) ignore msize(w,h) \end{verbatim} -\MCFgraph +%--------------------------------------------- +\begin{mplibcode} +beginfigm("EN:blength>1") + sw_frame:=Bothside; + fsize:=(40mm,15mm); + blength:=8mm; + MC(<30,Ph) + ext(pickup pencircle scaled 0.2pt; + for i=0 upto w/mm: draw (i*mm,0)--(i*mm,-.5mm); endfor + for i=0 upto h/mm: draw (0,i*mm)--(-.5mm,i*mm); endfor + for i=0 upto w/cm: draw (i*cm,0)--(i*cm,-.8mm); endfor + for i=0 upto h/cm: draw (0,i*cm)--(-.8mm,i*cm); endfor + ) +endfigm +\end{mplibcode} %------------------------------------------------------------------------------ \subsubsection{Molecular size} \index{msize}% \begin{verbatim} msize=(1,1) ** default \end{verbatim} -\MCFgraph +%--------------------------------------------- +\begin{mplibcode} +beginfigm("EN:msize=(1)") + sw_frame:=Bothside+Mol; + fsize:=(40mm,15mm); + msize:=(1,1); + MC(<30,Ph) + ext(pickup pencircle scaled 0.2pt; + for i=0 upto w/mm: draw (i*mm,0)--(i*mm,-.5mm); endfor + for i=0 upto h/mm: draw (0,i*mm)--(-.5mm,i*mm); endfor + for i=0 upto w/cm: draw (i*cm,0)--(i*cm,-.8mm); endfor + for i=0 upto h/cm: draw (0,i*cm)--(-.8mm,i*cm); endfor + ) +endfigm +\end{mplibcode} %----------------------------------------------------------- \begin{verbatim} msize=(0.25,1) msize=40mm-4mm*0.25=9mm \end{verbatim} -\MCFgraph +%--------------------------------------------- +\begin{mplibcode} +beginfigm("EN:msize=(0.25,1)") + sw_frame:=Bothside+Mol; + fsize:=(40mm,15mm); + msize:=(0.25,1); + MC(<30,Ph) + ext(pickup pencircle scaled 0.2pt; + for i=0 upto w/mm: draw (i*mm,0)--(i*mm,-.5mm); endfor + for i=0 upto h/mm: draw (0,i*mm)--(-.5mm,i*mm); endfor + for i=0 upto w/cm: draw (i*cm,0)--(i*cm,-.8mm); endfor + for i=0 upto h/cm: draw (0,i*cm)--(-.8mm,i*cm); endfor + ) +endfigm +\end{mplibcode} %----------------------------------------------------------- \begin{verbatim} msize=(11mm,11mm) \end{verbatim} -\MCFgraph +%--------------------------------------------- +\begin{mplibcode} +beginfigm("EN:msize=(11mm,11mm)") + sw_frame:=Bothside+Mol; + fsize:=(40mm,15mm); + msize:=(11mm,11mm); + MC(<30,Ph) + ext(pickup pencircle scaled 0.2pt; + for i=0 upto w/mm: draw (i*mm,0)--(i*mm,-.5mm); endfor + for i=0 upto h/mm: draw (0,i*mm)--(-.5mm,i*mm); endfor + for i=0 upto w/cm: draw (i*cm,0)--(i*cm,-.8mm); endfor + for i=0 upto h/cm: draw (0,i*cm)--(-.8mm,i*cm); endfor + ) +endfigm +\end{mplibcode} %------------------------------------------------------------------------------ \subsubsection{Molecular position} \index{mposition}% \begin{verbatim} mposition=(0.5,0.5) ** default \end{verbatim} -\MCFgraph +%--------------------------------------------- +\begin{mplibcode} +beginfigm("EN:mposition") + sw_frame:=Bothside+Mol; + fsize:=(40mm,15mm); + msize:=(1,0.8); + mposition:=(0.5,0.5); + MC(<30,Ph) +endfigm +\end{mplibcode} %-------------------------------------------------------------- \begin{verbatim} mposition=(1,0) \end{verbatim} -\MCFgraph +%--------------------------------------------- +\begin{mplibcode} +beginfigm("EN:mposition") + sw_frame:=Bothside+Mol; + fsize:=(40mm,15mm); + msize:=(1,0.8); + mposition:=(1,0); + MC(<30,Ph) +endfigm +\end{mplibcode} %-------------------------------------------------------------- \begin{verbatim} mposition=(10mm,4mm) \end{verbatim} -\MCFgraph +%--------------------------------------------- +\begin{mplibcode} +beginfigm("EN:mposition") + sw_frame:=sw_frame+Mol; + fsize:=(40mm,15mm); + msize:=(1,0.8); + mposition:=(10mm,4mm); + MC(<30,Ph) + ext(drawdot p1 withpen pencircle scaled 3pt; + pickup pencircle scaled 0.2pt; + for i=0 upto w/mm: draw (i*mm,0)--(i*mm,-.5mm); endfor + for i=0 upto h/mm: draw (0,i*mm)--(-.5mm,i*mm); endfor + for i=0 upto w/cm: draw (i*cm,0)--(i*cm,-.8mm); endfor + for i=0 upto h/cm: draw (0,i*cm)--(-.8mm,i*cm); endfor + ) +endfigm +\end{mplibcode} %------------------------------------------------------------------------------ \subsection{Size parameter} %----------------------------------------------------------------------------- @@ -781,7 +1547,20 @@ fsize=(figure width,figure height) fsize=(40mm,15mm) \end{verbatim} -\MCFgraph +%--------------------------------------------- +\begin{mplibcode} +beginfigm("EN:Figure size") + fsize:=(40mm,12mm); + sw_frame:=Outside; + MC(<30,Ph) + ext(pickup pencircle scaled 0.2pt; + for i=0 upto w/mm: draw (i*mm,0)--(i*mm,-.5mm); endfor + for i=0 upto h/mm: draw (0,i*mm)--(-.5mm,i*mm); endfor + for i=0 upto w/cm: draw (i*cm,0)--(i*cm,-.8mm); endfor + for i=0 upto h/cm: draw (0,i*cm)--(-.8mm,i*cm); endfor + ) +endfigm +\end{mplibcode} %----------------------------------------------------------------------------- \subsubsection{Figure margin} \index{fmargin}% @@ -791,42 +1570,123 @@ fmargin=(margin left rigth,top bottom) fmargin=(10mm,2mm) \end{verbatim} -\MCFgraph +%--------------------------------------------- +\begin{mplibcode} +beginfigm("EN:fmargin") + fsize:=(40mm,12mm); + sw_frame:=Bothside+Mol; + 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 + for i=0 upto h/mm: draw (0,i*mm)--(-.5mm,i*mm); endfor + for i=0 upto w/cm: draw (i*cm,0)--(i*cm,-.8mm); endfor + for i=0 upto h/cm: draw (0,i*cm)--(-.8mm,i*cm); endfor + drawdot p0 withpen pencircle scaled 3pt; + ) +endfigm +\end{mplibcode} %----------------------------------------------------------------------------- \subsubsection{Offset thickness of bond} \index{offset\_thickness}% \begin{verbatim} default: offset_thickness=0.2pt \end{verbatim} -\MCFgraph +%--------------------------------------------- +\begin{mplibcode} +beginfigm("EN:offset_thickness",":<30,Ph") + fsize:=(60mm,12mm); + offset_thickness:=0.0pt; MCat(0.1,0.5)(scantokens(mc)) + offset_thickness:=0.2pt; MCat(0.55,0.5)(scantokens(mc)) + offset_thickness:=0.5pt; MCat(1,0.5)(scantokens(mc)) + 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)); + ) +endfigm +\end{mplibcode} %----------------------------------------------------------------------------- \subsubsection{Offset of double bond gap} \index{offset\_bond\_gap}% \begin{verbatim} default: offset_bond_gap=0.3pt \end{verbatim} -\MCFgraph +%--------------------------------------------- +\begin{mplibcode} +beginfigm("EN:offset_bond_gap",":<30,Ph") + fsize:=(60mm,12mm); + offset_bond_gap:=0.0pt; MCat(0.1, 0.5)(scantokens(mc)) + offset_bond_gap:=0.3pt; MCat(0.55,0.5)(scantokens(mc)) %<<== default + offset_bond_gap:=1.0pt; MCat(1, 0.5)(scantokens(mc)) + 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)); + ) +endfigm +\end{mplibcode} %----------------------------------------------------------------------------- \subsubsection{Offset of atom width} \index{offset\_atom}% \begin{verbatim} default: offset_atom=0.8pt \end{verbatim} -\MCFgraph +%--------------------------------------------- +\begin{mplibcode} +beginfigm("EN:offset_atom") + fsize:=(60mm,12mm); + offset_atom:=0.0pt; MCat(0.1, .5)(<30,?6,3:O) + offset_atom:=0.8pt; MCat(.55, .5)(<30,?6,3:O) %<<== default + offset_atom:=2.0pt; 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)); + ) +endfigm +\end{mplibcode} %----------------------------------------------------------------------------- \subsubsection{Offset of wedge width} \index{offset\_wedge}% \begin{verbatim} default: offset_wedge=0.4pt \end{verbatim} -\MCFgraph +%--------------------------------------------- +\begin{mplibcode} +beginfigm("EN:offset_wedge") + fsize:=(60mm,12mm); + offset_wedge:=0.0pt; MCat(0.1,0.5)(<30,?6,5:*/_) + offset_wedge:=0.4pt; MCat(0.55,0.5)(<30,?6,5:*/_) %<<== default + offset_wedge:=1.0pt; 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)); + ) +endfigm +\end{mplibcode} %----------------------------------------------------------------------------- \subsubsection{Max bond length} \index{max\_blength}% \begin{verbatim} default: max_blength=10mm \end{verbatim} -\MCFgraph +%--------------------------------------------- +\begin{mplibcode} +beginfigm("EN:max_blength") + fsize:=(60mm,20mm); + sw_frame:=sw_frame+Mol; + max_blength:=5mm; MCat(0, .5)(<30,Ph) + max_blength:=8mm; MCat(.4,.5)(<30,Ph) + max_blength:=10mm; MCat(1, .5)(<30,Ph) %<<== default + ext(defaultscale:=0.6; labeloffset:=1bp; + label("5mm", (0.1w,0.5h)); + label("8mm", (0.42w,0.5h)); + label("10mm",(0.82w,0.5h)); + ) +endfigm +\end{mplibcode} %----------------------------------------------------------------------------- \subsection{Ratio parameter} %----------------------------------------------------------------------------- @@ -835,56 +1695,161 @@ default: max_blength=10mm \begin{verbatim} default: ratio_thickness_bond=0.015 \end{verbatim} -\MCFgraph +%--------------------------------------------- +\begin{mplibcode} +beginfigm("EN:ratio_thickness_bond") + fsize:=(60mm,12mm); + ratio_thickness_bond:=0.005; MCat(0.1,0.5)(<30,Ph) + ratio_thickness_bond:=0.015; MCat(.55,0.5)(<30,Ph) %<<== default + ratio_thickness_bond:=0.03; 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)); + ) +endfigm +\end{mplibcode} %----------------------------------------------------------------------------- \subsubsection{Char/bond thickness} \index{ratio\_char\_bond}% \begin{verbatim} default: ratio_char_bond=1.5 \end{verbatim} -\MCFgraph +%--------------------------------------------- +\begin{mplibcode} +beginfigm("EN:ratio_char_bond") + fsize:=(60mm,12mm); + ratio_char_bond:=1.0; MCat(0, .5)(<30,?6,6:O,3:NH) + ratio_char_bond:=1.5; MCat(.5, .5)(<30,?6,6:O,3:NH) %<<== default + 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)); + ) +endfigm +\end{mplibcode} %----------------------------------------------------------------------------- \subsubsection{Bond gap/bond length} \index{ratio\_bondgap\_bond}% \begin{verbatim} default: ratio_bondgap_bond= 0.15 \end{verbatim} -\MCFgraph +%--------------------------------------------- +\begin{mplibcode} +beginfigm("EN:ratio_bondgap_bond") + fsize:=(60mm,12mm); + ratio_bondgap_bond:=0.10; MCat(0.1, .5)(<30,Ph) + ratio_bondgap_bond:=0.15; MCat(.55, .5)(<30,Ph) %<<== default + ratio_bondgap_bond:=0.20; 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)); + ) +endfigm +\end{mplibcode} %----------------------------------------------------------------------------- \subsubsection{Atom/bond length} \index{ratio\_atom\_bond}% \begin{verbatim} default: ratio_atom_bond= 0.36 \end{verbatim} -\MCFgraph +%--------------------------------------------- +\begin{mplibcode} +beginfigm("EN:ratio_atom_bond") + fsize:=(60mm,12mm); + ratio_atom_bond:=0.25; MCat(0.1, .5)(<30,?6,3:O) + ratio_atom_bond:=0.33; MCat(.55, .5)(<30,?6,3:O) %<<== default + ratio_atom_bond:=0.45; 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)); + ) +endfigm +\end{mplibcode} %----------------------------------------------------------------------------- \subsubsection{Wedge/bond length} \index{ratio\_wedge\_bond}% \begin{verbatim} default: ratio_wedge_bond=0.12 \end{verbatim} -\MCFgraph +%------------------------------------------------------ +\begin{mplibcode} +beginfigm("EN:ratio_wedge_bond") + fsize:=(70mm,12mm); + ratio_wedge_bond:=0.1; MCat(0.05,.5)(?6,4:*/_) + ratio_wedge_bond:=0.12; MCat(.55, .5)(?6,4:*/_) %<<== default + ratio_wedge_bond:=0.2; 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)); + ) +endfigm +\end{mplibcode} %----------------------------------------------------------------------------- \subsubsection{Figure atom gap/atom length} \index{ratio\_atomgap\_atom}% \begin{verbatim} default: ratio_atomgap_atom= 0.050 \end{verbatim} -\MCFgraph +%------------------------------------------------------ +\begin{mplibcode} +beginfigm("EN:ratio_atomgap_atom",":<30,!2`0.5,2:O") + fsize:=(70mm,12mm); + sw_frame:=sw_frame+Atom; + ratio_atomgap_atom:=0.00; MCat(0, .5)(scantokens(mc)) + ratio_atomgap_atom:=0.050; MCat(.5,.5)(scantokens(mc)) %<<== default + ratio_atomgap_atom:=0.12; MCat(1, .5)(scantokens(mc)) + 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)); + ) +endfigm +\end{mplibcode} %----------------------------------------------------------------------------- \subsubsection{Chain/ring length} \index{ratio\_chain\_ring}% \begin{verbatim} default: ratio_chain_ring= 0.66 \end{verbatim} -\MCFgraph +%------------------------------------------------------ +\begin{mplibcode} +beginfigm("EN:ratio_chain_ring") + fsize:=(70mm,12mm); + ratio_chain_ring:= 0.4; MCat(0.05,.5)(<30,?6,4:/!) + ratio_chain_ring:= 0.66; MCat(.45, .5)(<30,?6,4:/!) %<<== default + 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)); + ) +endfigm +\end{mplibcode} %----------------------------------------------------------------------------- \subsubsection{Hash gap/bond length} \index{ratio\_hashgap\_bond}% \begin{verbatim} default: ratio_hashgap_bond=0.12 \end{verbatim} -\MCFgraph +%------------------------------------------------------ +\begin{mplibcode} +beginfigm("EN:ratio_hashgap_bond",":<30,!2,2:/*_`1.5") + fsize:=(70mm,15mm); + ratio_hashgap_bond:=0.06; MCat(0.08,.5)(scantokens(mc)) + ratio_hashgap_bond:=0.12; MCat( .55,.5)(scantokens(mc)) %<<== default + ratio_hashgap_bond:=0.20; MCat(1, .5)(scantokens(mc)) + 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)); + ) +endfigm +\end{mplibcode} %----------------------------------------------------------------------------- %%%%\newpage %----------------------------------------------------------------------------- @@ -904,7 +1869,15 @@ default: sw_numbering=0 sw_numbering:=Atom; MC(<-30,!9) \end{verbatim} -\MCFgraph +%------------------------------------------------------ +\begin{mplibcode} +beginfigm("EN:Switwch numbering atom") + fsize:=(60mm,10mm); + ratio_chain_ring:=1; + numbering_start:=3; numbering_end:=8; + sw_numbering:=Atom; MC(<-30,!9) +endfigm +\end{mplibcode} %----------------------------------------------------------------------------- \subsubsection{Numbering bond} \index{numbering\_start}% @@ -919,7 +1892,15 @@ default: sw_numbering=0 sw_numbering:=Bond; MC(<-30,!9) \end{verbatim} -\MCFgraph +%------------------------------------------------------ +\begin{mplibcode} +beginfigm("EN:Switwch numbering bond") + fsize:=(60mm,10mm); + ratio_chain_ring:=1; + numbering_start:=3; numbering_end:=8; + sw_numbering:=Bond; MC(<-30,!9) +endfigm +\end{mplibcode} %----------------------------------------------------------------------------- \subsubsection{Trimming mode} \index{sw\_trimming}% @@ -929,13 +1910,32 @@ msize:=(1,0.7); MCat(0.2,0.3)(Ph) MCat(0.8,0.7)(Ph) \end{verbatim} -\MCFgraph +%------------------------------------------------------ +\begin{mplibcode} +beginfigm("EN:Switwch trimming") + fsize:=(60mm,20mm); + sw_frame:=Bothside+Mol; + msize:=(1,.7); MCat(.2,.3)(Ph) + MCat(.8,.7)(Ph) +endfigm +\end{mplibcode} +%------------------------------------------------------ \begin{verbatim} sw_trimming:=1; MCat(0.2,0.3)(Ph) MCat(0.8,0.7)(Ph) \end{verbatim} -\MCFgraph +%------------------------------------------------------ +\begin{mplibcode} +beginfigm("EN:Switwch trimming") + fsize:=(60mm,20mm); + sw_frame:=Bothside+Mol; + sw_trimming:=1; + msize:=(1,.7); + MCat(.2,.3)(Ph) + MCat(.8,.7)(Ph) +endfigm +\end{mplibcode} %----------------------------------------------------------------------------- \subsubsection{Expand mode} \index{sw\_expand}% @@ -945,7 +1945,15 @@ sw_expand:=1; MCat(1, .5)(<30,Ph,4:/COOH,3:/NH2) ** default: sw_expand=0 \end{verbatim} -\MCFgraph +%------------------------------------------------------ +\begin{mplibcode} +beginfigm("EN:Switwch Expand",":<30,Ph,4:/COOH,3:/NH2") + fsize:=(60mm,20mm); + MCat(0, .5)(scantokens(mc)) + sw_expand:=1; + MCat(1, .5)(scantokens(mc)) +endfigm +\end{mplibcode} %----------------------------------------------------------------------------- \subsubsection{Abbreviate group} \index{Group}% @@ -953,7 +1961,15 @@ MCat(1, .5)(<30,Ph,4:/COOH,3:/NH2) \begin{verbatim} ** default: sw_abbreviate=Group \end{verbatim} -\MCFgraph +%------------------------------------------------------ +\begin{mplibcode} +beginfigm("EN:Switwch abbreviate group",":<30,Ph,4:/Cl,3:/F") + fsize:=(60mm,12mm); + MCat(.15, .5)(scantokens(mc)) + sw_abbreviate:=Group; + MCat(.85, .5)(scantokens(mc)) +endfigm +\end{mplibcode} %----------------------------------------------------------------------------- \subsubsection{Abbreviate bond type} \index{Bond}% @@ -961,7 +1977,15 @@ MCat(1, .5)(<30,Ph,4:/COOH,3:/NH2) \begin{verbatim} ** default: sw_abbreviate=Bond \end{verbatim} -\MCFgraph +%------------------------------------------------------ +\begin{mplibcode} +beginfigm("EN:Switwch abbreviate bondtype",":<30,Ph,4:/Cl,3:/F") + fsize:=(60mm,12mm); + MCat(.15, .5)(scantokens(mc)) + sw_abbreviate:=Bond; + MCat(.85, .5)(scantokens(mc)) +endfigm +\end{mplibcode} %----------------------------------------------------------------------------- \subsection{Frame} %----------------------------------------------------------------------------- @@ -976,17 +2000,43 @@ MCat(1, .5)(<30,Ph,4:/COOH,3:/NH2) fmargin:=(5mm,2mm); sw_frame=Outside \end{verbatim} -\MCFgraph +%------------------------------------------------------ +\begin{mplibcode} +beginfigm("EN:Switwch font frame 1") + fsize:=(30mm,10mm); + fmargin:=(5mm,1.5mm); + sw_frame:=Outside; + MC(<30,Ph) +endfigm +\end{mplibcode} +%------------------------------------------------------ \begin{verbatim} (Frame inside margin) sw_frame=Inside \end{verbatim} -\MCFgraph +%------------------------------------------------------ +\begin{mplibcode} +beginfigm("EN:Switwch font frame 2") + fsize:=(30mm,10mm); + fmargin:=(5mm,1.5mm); + sw_frame:=Inside; + MC(<30,Ph) +endfigm +\end{mplibcode} +%------------------------------------------------------ \begin{verbatim} (Draw both frame) sw_frame=Bothside=Inside+Outside \end{verbatim} -\MCFgraph +%------------------------------------------------------ +\begin{mplibcode} +beginfigm("EN:Switwch font frame 3") + fsize:=(30mm,10mm); + fmargin:=(5mm,1.5mm); + sw_frame:=Bothside; + MC(<30,Ph) +endfigm +\end{mplibcode} %----------------------------------------------------------------------------- \subsubsection{Molecular frame} \index{Mol}% @@ -994,7 +2044,16 @@ sw_frame=Bothside=Inside+Outside sw_frame=Mol ** default:sw_frame=0 \end{verbatim} -\MCFgraph +%------------------------------------------------------ +\begin{mplibcode} +beginfigm("EN:Switwch molecular frame") + sw_frame:=Outside; + fsize:=(40mm,11mm); + msize:=(1,1); + sw_frame:=sw_frame+Mol; + MC(<30,Ph) +endfigm +\end{mplibcode} %----------------------------------------------------------------------------- \subsubsection{Atom frame} \index{Atom}% @@ -1004,7 +2063,14 @@ sw_frame=Atom MC(<30,COOH,!,COOH) \end{verbatim} -\MCFgraph +%--------------------------------------------- +\begin{mplibcode} +beginfigm("EN:Switwch atom frame") + fsize:=(60mm,10mm); + sw_frame:=sw_frame+Atom; + MC(<30,COOH,!,COOH) +endfigm +\end{mplibcode} %----------------------------------------------------------------------------- \subsection{Parameter setting} \subsubsection{Local parameter setting} @@ -1024,7 +2090,21 @@ beginfigm() MC(Ph) endfigm \end{verbatim} -\MCFgraph\MCFgraph\MCFgraph +%------------------------------------------------------ +\quad +\begin{mplibcode} +fsize:=(15mm,12mm); +beginfigm("EN:Local setting 1") + MC(Ph) +endfigm +beginfigm("EN:Local setting 2") + ratio_thickness_bond:=0.05; + MC(Ph) +endfigm +beginfigm("EN:Local setting 3") + MC(Ph) +endfigm +\end{mplibcode} %----------------------------------------------------------------------------- \subsubsection{Global parameter setting} \begin{verbatim} @@ -1041,7 +2121,23 @@ beginfigm() MC(Ph) endfigm \end{verbatim} -\MCFgraph\MCFgraph\MCFgraph +%---------------------------------------------------- +\quad +\begin{mplibcode} +save_ratio:=ratio_thickness_bond; +fsize:=(15mm,12mm); +beginfigm("EN:Global setting 1") + MC(Ph) +endfigm +ratio_thickness_bond:=0.05; +beginfigm("EN:Global setting 2") + MC(Ph) +endfigm +beginfigm("EN:Global setting 3") + MC(Ph) +endfigm +ratio_thickness_bond:=save_ratio; +\end{mplibcode} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Function} %----------------------------------------------------------------------------- @@ -1062,7 +2158,15 @@ beginfigm() MC(<30,Ph,3:/F,4:/Cl) endfigm \end{verbatim} -\MCFgraph +%------------------------------------------------ +\begin{mplibcode} +beginfigm("EN:MC() ") + fmargin:=(0.5mm,0.5mm); + fsize:=(40mm,15mm); + sw_frame:=Outside+Mol; + MC(<30,Ph,4:/Cl,3:/F) +endfigm +\end{mplibcode} %----------------------------------------------------------------------------- \subsection{Function MCat()} \index{MCat()}% @@ -1092,7 +2196,27 @@ for i=1 step -0.5 until 0: endfor \end{verbatim} -\MCFgraph +%--------------------------------------------- +\begin{mplibcode} +beginfigm("EN:MCat()") + defaultscale:=0.6; + fsize:=(60mm,40mm); + fmargin:=(3mm,3mm); + blength:=0.07; + sw_frame:=Outside; + mangle:=0; + for i=1 step -0.5 until 0: + for j=0 step 0.33 until 1: + MCat(j,i)(Ph,4:N) + add( + drawarrow((A1+A1up**aw)..A1); + label(decimal(mangle),p0+(0.5w,0.5h)); + ) + mangle:=mangle+30; + endfor + endfor +endfigm +\end{mplibcode} %----------------------------------------------------------------------------- \subsection{Function mc\_check()} \index{mc\_check()}% @@ -1113,7 +2237,21 @@ beginfigm("EN:Pyridine", endfigm \end{verbatim} -\MCFgraph\hspace{22mm}\MCFgraph +%----------------------------------------------------- +\quad +\begin{mplibcode} +beginfigm("EN:Pyridine",":<30,Ph,2:N") + sw_trimming:=0; + fsize:=(12mm,12mm); + if mc_check(mc)=0: MC(scantokens(mc)) fi +endfigm +beginfigm("EN:Pyridine",":<30,Ph,2):N") + sw_trimming:=0; + fsize:=(12mm,12mm); + if mc_check(mc)=0: MC(scantokens(mc)) fi +endfigm +\end{mplibcode} +%----------------------------------------------------- \begin{verbatim} mc_check(mc)=0 mc_check(mc)>=1 \end{verbatim} @@ -1200,7 +2338,7 @@ a /* b : point b of a beginfigm("EN:add() 1") fsize:=(70mm,40mm); - sw_frame:=Bothside; + sw_frame:=sw_frame+Atom+Mol; max_blength:=10mm; msize:=(.91,.9); MCat(.5,.85)(<30,?6,{2,5}:O) @@ -1223,13 +2361,46 @@ beginfigm("EN:add() 1") " em="&decimal(em), p0+(-9em,-1.5em)); label.rt( "w="&decimal(w)& - " h="&decimal(h)& - " l="&decimal(l), + " h="&substring (0,6)of decimal(h)& + " l="&substring (0,6)of decimal(l), p0+(-9em,-3em)); ) endfigm \end{verbatim} -\MCFgraph +%------------------------------------------------------------------------------ +\begin{mplibcode} +beginfigm("EN:add() 1") + fsize:=(70mm,40mm); + sw_frame:=sw_frame+Atom+Mol; + max_blength:=10mm; + msize:=(.91,.9); + MCat(.5,.85)(<30,?6,{2,5}:O) + add( + defaultscale:=.8; + labeloffset:=.3aw; + dotlabel.lft("p0",p0); + dotlabel.rt( "p0+(w,h)",p0+(w,h)); + dotlabel.ulft("A1",A1); + drawarrow A1..A1+__*l<<A1ang; + dotlabel.lrt( "B3s",B3s); + dotlabel.rt("B3m",B3m); + drawarrow B3m..B3m+__*l<<(B3ang+90); + dotlabel.ulft("A6",A6); + drawarrow A1{A1down}..A6; + dotlabel.urt( "B3e",B3e); + label.rt( "An="&decimal(An)& + " Bn="&decimal(Bn)& + " aw="&decimal(aw)& + " em="&decimal(em), + p0+(-9em,-1.5em)); + label.rt( "w="&substring (0,6)of decimal(w)& + " h="&substring (0,6)of decimal(h)& + " l="&substring (0,6)of decimal(l), + p0+(-9em,-3em)); + ) +endfigm +\end{mplibcode} +%------------------------------------------------------------------------------ \begin{verbatim} beginfigm("EN:add() 2") fsize:=(60mm,20mm); @@ -1260,7 +2431,30 @@ beginfigm("EN:add() 2") %--------------------------------------- endfigm \end{verbatim} -\MCFgraph +%------------------------------------------------------- +\begin{mplibcode} +beginfigm("EN:add() 2") + fsize:=(70mm,20mm); + msize:=(1,0.85); + %------------------------------------------- + MCat(0,0)(<30,Ph,3=dl,4:/NH2) + %------------------------------------------- + add(labeloffset:=.7aw; + label.top(lonepair 90,A7); + drawarrow (A7+up**1.2aw){A7left}..{B7right}B7/*0.3; + drawarrow B3m..A3+B2up**1.5aw..{A3down}A3; + ) + %------------------------------------------- + MCat(1,0)(<30,?6,{1,5}=dl,4://NH2) + %------------------------------------------- + add(labeloffset:=.7aw; + label.top(plus,A7); + label.urt(minus,A3); + label(lonepair A3ang,A3+A3up**.7aw); + ) + ext(drawdblarrow (0.4w,0.4h)..(0.55w,0.4h);) +endfigm +\end{mplibcode} %----------------------------------------------------------------------------- \newpage \subsection{Function ext()} @@ -1299,15 +2493,15 @@ beginfigm() <-210,60`1,60`1,60`1,{1,3}=dl, 1:/R1,4:/R2^-60 ) - add( + add( defaultscale:=0.6; label.bot("Diene",p0+(0.5w,0)); - ) + ) MCat(0.4,0.5)( <-30,-60`1,1=dl,1:/R3,2:/R4^60) add(defaultscale:=0.6; label.bot("Dienophile",p0+(.5w,0)); - ) + ) MCat(0.9,0.5)( <30,?6,6=dl,2:/R2,3:/R4,4:/R3,5:/R1 ) @@ -1323,7 +2517,40 @@ beginfigm() %--------------------------------------- endfigm \end{verbatim} -\MCFgraph +%------------------------------------------------------------------------------ +\begin{mplibcode} +beginfigm() + fsize:=(70mm,30mm); + blength:=0.065; + %--------------------------------------- + MCat(0.1,0.5)( + <-210,60`1,60`1,60`1,{1,3}=dl, + 1:/R1,4:/R2^-60 + ) + add( + defaultscale:=0.6; + label.bot("Diene",p0+(0.5w,0)); + ) + MCat(0.4,0.5)( + <-30,-60`1,1=dl,1:/R3,2:/R4^60) + add(defaultscale:=0.6; + label.bot("Dienophile",p0+(.5w,0)); + ) + MCat(0.9,0.5)( + <30,?6,6=dl,2:/R2,3:/R4,4:/R3,5:/R1 + ) + %--------------------------------------- + ext( + drawarrow (.52w,.5h)..(.6w,.5h); + defaultscale:=0.7; + label("+",(0.25w,0.5h)); + ratio_thickness_char:=0.125; + label.bot("Diels-Alder Reaction", + (.5w,h)); + ) + %--------------------------------------- +endfigm +\end{mplibcode} %----------------------------------------------------------------------------- \subsubsection{Local ext() setting} \begin{verbatim} @@ -1347,7 +2574,30 @@ beginfigm("EN:?5") MCat(0.5,1)(?6) endfigm \end{verbatim} -\MCFgraph\MCFgraph\MCFgraph\MCFgraph +%---------------------------------------------------- +\quad +\begin{mplibcode} +beginfigm("EN:?3") + fsize:=(12mm,15mm); + MCat(0.5,1)(<30,?3) +endfigm +beginfigm("EN:?4") + fsize:=(12mm,15mm); + MCat(0.5,1)(?4) + %------------------------------- + ext(label.top(inf_EN,(0.5w,0));) + %------------------------------- +endfigm +beginfigm("EN:?5") + fsize:=(12mm,15mm); + MCat(0.5,1)(?5) +endfigm +beginfigm("EN:?5") + fsize:=(12mm,15mm); + MCat(0.5,1)(?6) +endfigm +\end{mplibcode} +%----------------------------------------------------------------------------- \subsubsection{Global ext() setting} \index{ext\_clear}% \begin{verbatim} @@ -1376,10 +2626,36 @@ beginfigm("EN:?6") MCat(0.5,1)(?6) endfigm \end{verbatim} -\MCFgraph\MCFgraph\MCFgraph\MCFgraph +%------------------------------------- +\quad +\begin{mplibcode} +beginfigm("EN:?3") + fsize:=(12mm,15mm); + MCat(0.5,1)(<30,?3) +endfigm +%------------------------------- +ext(label.top(inf_EN,(0.5w,0));) +%------------------------------- +beginfigm("EN:?4") + fsize:=(12mm,15mm); + MCat(0.5,1)(?4) +endfigm +beginfigm("EN:?5") + fsize:=(12mm,15mm); + MCat(0.5,1)(?5) +endfigm +%--------- +ext_clear; +%--------- +beginfigm("EN:?6") + fsize:=(12mm,15mm); + MCat(0.5,1)(?6) +endfigm +\end{mplibcode} %----------------------------------------------------------------------------- \newpage %----------------------------------------------------------------------------- +\onecolumn \section{MCF example} %----------------------------------------------------------------------------- \subsection{Luciferin} @@ -1392,7 +2668,13 @@ beginfigm("f:mcf_library", if mc_check(mc)=0: MC(scantokens(mc)) fi endfigm \end{verbatim} -\MCFgraph +%------------------------------------------- +\begin{mplibcode} +beginfigm("t:EN","v:Luciferin") + fsize:=(50mm,15mm); + if mc_check(mc)=0: MC(scantokens(mc)) fi +endfigm +\end{mplibcode} %----------------------------------------------------------------------------- \subsection{Colchicine} \begin{verbatim} @@ -1406,29 +2688,18 @@ beginfigm("EN:Colchicine","MW:385.41", if mc_check(mc)=0: MC(scantokens(mc)) fi endfigm \end{verbatim} -\MCFgraph -%----------------------------------------------------------------------------- -\subsection{Paclitaxel} -\begin{verbatim} -beginfigm("EN:Paclitaxel","MW:853.91", - %------------------------------------ - ": ?6,5=dl,@3,#1,36,45,45,45,45,##, ", - ": &5", ", - ": -4=?6,-4=?4,-1=wb,-3=wf,-1:O,||, ", - ": 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,*\,O,-60,//O,60, ", - ": @12,\*^-15,O,60,//O,-60 ") - %------------------------------------ - fsize:=(50mm,25mm); +%--------------------------------------- +\begin{mplibcode} +beginfigm("EN:Colchicine","MW:385.41", + %------------------------------------- + ": <30,Ph,{1,2,6}:/O!,{-4,-5}=?7, ", + ": {-1,-4,-6}=dl,-2://O,-3:/O!, ", + ": @9,\,NH,!,//O,! ") + %------------------------------------- + fsize:=(50mm,20mm); if mc_check(mc)=0: MC(scantokens(mc)) fi endfigm -\end{verbatim} -\MCFgraph +\end{mplibcode} %----------------------------------------------------------------------------- \subsection{Maltose} \index{arc\_lb} @@ -1439,50 +2710,323 @@ arc_lb : arc left > bottom arc_br : arc bottom right beginfigm("EN:Maltose","MW:342.3", - %----------------------------------------- - ": #1.25,-30~wf_r,30~bd_r`1,30~wb_r, ", - ": 120,O,30,&1,##, ", - ": #.5,{1^$-90,2^$90,3^$-90}:/OH, ", - ": 6^$90:/!OH, ", - ": @4,$-50~arc_lb`1,O,$50~arc_br`1,<$0, ", - ": |,#1.25,-30~wf_r,30~bd_r`1,30~wb_r, ", - ": 120,O,30,&1,##, ", - ": #.5,{2^$90,3^$-90,4^$-90}:/OH, ", - ": 6^$90:/!OH ") - %----------------------------------------- + %------------------------------------------------------- + ": #1.25,-30~wf_r,30~bd_r`1,30~wb_r,120,O,30,&1,##, ", + ": #.5,{1^$-90,2^$90,3^$-90}:/OH,6^$90:/!OH, ", + ": @4,$-50~arc_lb`1,O,$50~arc_br`1,<$0, ", + ": |,#1.25,-30~wf_r,30~bd_r`1,30~wb_r,120,O,30,&1,##, ", + ": #.5,{2^$90,3^$-90,4^$-90}:/OH,6^$90:/!OH ") + %------------------------------------------------------- fsize:=(50mm,20mm); if mc_check(mc)=0: MC(scantokens(mc)) fi endfigm \end{verbatim} -\MCFgraph -%----------------------------------------------------------------------------- -\subsection{Cellobiose} -\index{arc\_lbr} -\index{arc\_ltr} -\begin{verbatim} -(bond type for glycan) -arc_lbr : arc left > bottom > right -arc_ltr : arc left > top > right - -beginfigm("EN:Cellobiose","MW:342.3", - %----------------------------------------- - ": #1.25,-30~wf_r,30~bd_r`1,30~wb_r, ", - ": 120,O,30,&1,##, ", - ": #.5,{1^$-90,2^$90,3^$-90}:/OH, ", - ": 6^$90:/!OH, ", - ": @4,$0~arc_ltr,O,$0~arc_lbr, ", - ": |,#1.25,-30~wf_r,30~bd_r`1,30~wb_r, ", - ": 120,O,30,&1,##, ", - ": #.5,{2^$90,3^$-90,4^$-90}:/OH, ", - ": 6^$90:/!OH ") - %----------------------------------------- +%------------------------------------------------- +\begin{mplibcode} +beginfigm("EN:Maltose","MW:342.3", + %------------------------------------------------------- + ": #1.25,-30~wf_r,30~bd_r`1,30~wb_r,120,O,30,&1,##, ", + ": #.5,{1^$-90,2^$90,3^$-90}:/OH,6^$90:/!OH, ", + ": @4,$-50~arc_lb`1,O,$50~arc_br`1,<$0, ", + ": |,#1.25,-30~wf_r,30~bd_r`1,30~wb_r,120,O,30,&1,##, ", + ": #.5,{2^$90,3^$-90,4^$-90}:/OH,6^$90:/!OH ") + %------------------------------------------------------- fsize:=(50mm,20mm); if mc_check(mc)=0: MC(scantokens(mc)) fi endfigm +\end{mplibcode} +%----------------------------------------------------------------------------- +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newpage +\subsection{Erythromycin} +\noindent% +%---------------------------------------------------------------------------- +\begin{verbatim} +beginfigm("EN:Erythromycin","MW:733.93") + fsize:=(120mm,30mm); + MC(<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',4,6^-35,8,10',12^35}:/*_, + {6^35,11,12^-35}:*/OH, + @$3,\*,O,30~zb,|,?6`.7,6:O,#.5,{5~wf,3^35}:/_,4:/*OH,3^-35:/*O!,##, + @$5,\*^30`1.7,O,!~zb,|,?6`.7,6:O,#.5,5:/*_,2:*/OH,3:/*N?! + ) + ext(defaultscale:=0.8; + label.lrt("fm: "&cal_FM,(0,h-5mm)); + label.lrt("mw: "&cal_MW,(0,h-9mm)); + label.lrt("MW: "&inf_MW,(0,h-13mm)); + ) +endfigm; +\end{verbatim} +%---------------------------------------------------------------------------- +\begin{mplibcode} +beginfigm("EN:Erythromycin","MW:733.93") + fsize:=(120mm,30mm); + MC(<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',4,6^-35,8,10',12^35}:/*_, + {6^35,11,12^-35}:*/OH, + @$3,\*,O,30~zb,|,?6`.7,6:O,#.5,{5~wf,3^35}:/_,4:/*OH,3^-35:/*O!,##, + @$5,\*^30`1.7,O,!~zb,|,?6`.7,6:O,#.5,5:/*_,2:*/OH,3:/*N?!) + ext(defaultscale:=0.8; + label.lrt("fm: "&cal_FM,(0,h-5mm)); + label.lrt("mw: "&cal_MW,(0,h-9mm)); + label.lrt("MW: "&inf_MW,(0,h-13mm));) +endfigm; +\end{mplibcode} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\subsection{Paclitaxel} +\noindent% +\begin{verbatim} +beginfigm("EN:Paclitaxel","MW:853.918", + %--------------------------------------------------------------------- + ": ?6,5=dl,@3,#1,36,45,45,45,45,##,&5,-4=?6,-4=?4,-1=wb,-3=wf,-1:O, ", + ": 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 ") + %--------------------------------------------------------------------- + fsize:=(140mm,30mm); + if mc_check(mc)=0: + MCat(0,0.5)(scantokens(mc)) + sw_numbering:=Atom; + MCat(0.6,0.5)(scantokens(mc)) + sw_numbering:=Bond; + MCat(1,0.5)(scantokens(mc)) + fi +endfigm +\end{verbatim} +%---------------------------------------------------------------------------- +\begin{mplibcode} +beginfigm("EN:Paclitaxel","MW:853.918", + %--------------------------------------------------------------------- + ": ?6,5=dl,@3,#1,36,45,45,45,45,##,&5,-4=?6,-4=?4,-1=wb,-3=wf,-1:O, ", + ": 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 ") + %--------------------------------------------------------------------- + fsize:=(160mm,40mm); + if mc_check(mc)=0: MCat(0,0.5)(scantokens(mc)) + sw_numbering:=Atom; MCat(0.5,0.5)(scantokens(mc)) + sw_numbering:=Bond; MCat(1,0.5)(scantokens(mc)) + fi +endfigm +\end{mplibcode} +%---------------------------------------------------------------------------- +\newpage +\subsection{Chlorophyll a} +\noindent% +\begin{verbatim} +beginfigm("f:mcf_library.mcf","t:EN","v:Chlorophyll a","NO:-", + "= sw_output:=Fig+Calc+Mcode;", + "= fsize:=(100mm,30mm);") + if op_row>=1: scantokens(op) fi + if mc_check(mc)=0: + MC(scantokens(mc)) + VerbatimTeX("\gdef\EN{"&inf_EN&"}\gdef\MW{"&inf_MW&"}"); + VerbatimTeX("\gdef\mw{"&cal_MW&"}\gdef\fm{"&cal_FM&"}"); + fi +endfigm +\end{mplibcode} +\verbatiminput{temp-mc.aux} %%%% input temp-mc.aux %%%% +{\tt ** EN:\EN \quad mw:\MW \quad MW:\mw \quad fm:\fm}% +\end{verbatim} +%------------------------------------------------------------------------------------ +\begin{mplibcode} +beginfigm("f:mcf_library.mcf","t:EN","v:Chlorophyll a","NO:-", + "= sw_output:=Fig+Calc+Mcode;", + "= fsize:=(100mm,30mm);") + if op_row>=1: scantokens(op) fi + if mc_check(mc)=0: + MC(scantokens(mc)) + VerbatimTeX("\gdef\EN{"&inf_EN&"}\gdef\MW{"&inf_MW&"}"); + VerbatimTeX("\gdef\mw{"&cal_MW&"}\gdef\fm{"&cal_FM&"}"); + fi +endfigm +\end{mplibcode} +\verbatiminput{temp-mc.aux} %%%% input temp-mc.aux %%%% +{\tt ** EN:\EN \quad mw:\MW \quad MW:\mw \quad fm:\fm}% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\subsection{Dinophysistoxin-1} +\noindent% +\begin{verbatim} +beginfigm("t:EN","v:Okadaic acid","EN:Dinophysistoxin-1", + "MW:819",":,38:*/_,65=red") %%%% add methyl group (color red) %%%% + sw_output:=Fig+Calc+Mcode; %%%% output temp-mc.aux %%%% + fsize:=(120mm,20mm); + if mc_check(mc)=0: MC(scantokens(mc)) + VerbatimTeX("\gdef\EN{"&inf_EN&"}\gdef\MW{"&inf_MW&"}"); + VerbatimTeX("\gdef\mw{"&cal_MW&"}\gdef\fm{"&cal_FM&"}"); + fi +endfigm; +\end{mplibcode} +\verbatiminput{temp-mc.aux} %%%% input temp-mc.aux %%%% +{\tt ** EN:\EN \quad mw:\MW \quad MW:\mw \quad fm:\fm}% +\end{verbatim} +%---------------------------------------------------------------------------- +\begin{mplibcode} +beginfigm("t:EN","v:Okadaic acid","EN:Dinophysistoxin-1", + "MW:819",":,38:*/_,65=red") %%%% add methyl group (color red) %%%% + sw_output:=Fig+Calc+Mcode; %%%% output temp-mc.aux %%%% + fsize:=(120mm,20mm); + if mc_check(mc)=0: MC(scantokens(mc)) + VerbatimTeX("\gdef\EN{"&inf_EN&"}\gdef\MW{"&inf_MW&"}"); + VerbatimTeX("\gdef\mw{"&cal_MW&"}\gdef\fm{"&cal_FM&"}"); + fi +endfigm; +\end{mplibcode} +\verbatiminput{temp-mc.aux} %%%% input temp-mc.aux %%%% +{\tt ** EN:\EN \quad mw:\MW \quad MW:\mw \quad fm:\fm}% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newpage +%---------------------------------------------------------------------------- +\subsection{Maitotoxin} +\noindent% +%-------------------------------------------------------------------------------- +\begin{verbatim} +%-------------------------------------------------------------------------------- +\begin{mplibcode} + beginfigm("t:EN","v:Maitotoxin") + sw_output:=Fig+Calc+Mcode; %%%% output temp-mc.aux %%%% + fsize:=(150mm,80mm); + fmargin:=(3mm,3mm); + sw_frame:=Outside; + if mc_check(mc)=0: MC(scantokens(mc)) + VerbatimTeX("\gdef\EN{"&inf_EN&"}\gdef\MW{"&inf_MW&"}"); + VerbatimTeX("\gdef\mw{"&cal_MW&"}\gdef\fm{"&cal_FM&"}"); + fi + endfigm +\end{mplibcode} +\verbatiminput{temp-mc.aux} %%%% input temp-mc.aux %%%% +{\tt ** EN:\EN \quad mw:\MW \quad MW:\mw \quad fm:\fm}% +%-------------------------------------------------------------------------------- +\end{verbatim} +%-------------------------------------------------------------------------------- +\begin{mplibcode} + beginfigm("t:EN","v:Maitotoxin") + sw_output:=Fig+Calc+Mcode; + fsize:=(150mm,80mm); fmargin:=(3mm,3mm); sw_frame:=Outside; %% mc_length:=40; + if mc_check(mc)=0: MC(scantokens(mc)) + VerbatimTeX("\gdef\EN{"&inf_EN&"}\gdef\MW{"&inf_MW&"}"); + VerbatimTeX("\gdef\mw{"&cal_MW&"}\gdef\fm{"&cal_FM&"}"); + fi + endfigm +\end{mplibcode} +\verbatiminput{temp-mc.aux} +{\tt ** EN:\EN \quad mw:\MW \quad MW:\mw \quad fm:\fm}% +%-------------------------------------------------------------------------------- +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newpage +\subsection{TCA cycle} +\noindent% +\begin{mplibcode} +beginfigm("EN:TCA cycle") +fsize:=(160mm,75mm); +max_blength:=5mm; +%-------------------------------------------------------------------------------- +COOH:='(//O,!,OH); +HOCO:='(OH,!,//O,); +MCat(0.33, 1)(<30,HOCO,!,//O,!2,COOH) % Oxaloacetate +MCat(0.66, 1)(<30,HOCO,!4,COOH,@-4`1,\,COOH,4:/OH^-165) % Citrate +MCat(1, 1)(<30,HOCO,!2,!~dr,!,COOH,@-4`1,\,COOH) % cis-Aconitate +MCat(1, 0.58)(<30,HOCO,!4,COOH,@-4,\`1,COOH,5:/OH) % Isocitrate +MCat(1, 0.05)(<30,HOCO,!3,//O,!,COOH,@-4,\`1,COOH) % Oxalosuccinate +MCat(0.66,0.05)(<30,HOCO,!3,//O,!,COOH) % alfa-Ketoglutarate +MCat(0.33,0.05)(<30,HOCO,!3,//O,!,"{S-CoA}") % Succinyl-CoA +MCat(0, 0.05)(<30,HOCO,!3,COOH) % Succinate +MCat(0, 0.55)(<30,HOCO,!,!~dr,!,COOH) % Fumarate +MCat(0, 1)(<30,HOCO,!3,COOH,3:/OH) % L-Malate +%-------------------------------------------------------------------------------- +ext( +defaultfont:="uhvr8r"; +defaultscale:=0.75; +ext_setup; +def sel_dir(expr rot)= + save tx; nA:=rot; if nA>=360: nA:=nA-360; fi + if (nA<30)or(nA>330): def tx=top enddef; elseif (nA>=30)and(nA<=150): def tx=lft enddef; + elseif (nA>150)and(nA<210): def tx=bot enddef; elseif (nA>=210)and(nA<=330): def tx=rt enddef; fi +enddef; +def reaction_arrow(expr a)(expr r)(expr p)(expr sa,la)(expr sb,lb)(expr sc,lc)(expr sd,ld)= + drawarrow ((0,0)..(a,0)) rotated r shifted p; + if sa<>"": draw ((0.5a,0){dir 180}..{dir 90}(0,.5a*la)) rotated r shifted p; + sel_dir(r); label.tx(sa,p+((0,0.5a*la) rotated r)); fi + if sb<>"": draw ((0.5a,0){dir 0}..{dir 90}(a,.5a*lb)) rotated r shifted p; + sel_dir(r); label.tx(sb,p+((a,0.5a*lb) rotated r)); fi + if sc<>"": draw ((0.5a,0){dir 180}..{dir -90}(0,-.5a*lc)) rotated r shifted p; + sel_dir(r+180); label.tx(sc,p+((0,-0.5a*lc) rotated r)); fi + if sd<>"": draw ((0.5a,0){dir 0}..{dir -90}(a,-.5a*ld)) rotated r shifted p; + sel_dir(r+180); label.tx(sd,p+((a,-0.5a*ld) rotated r)); fi +enddef; +def r_arrow(expr a)(expr r)(expr p)(expr sc,lc)(expr sd,ld)= + reaction_arrow(a)(r)(p)("",0)("",0)(sc,lc)(sd,ld) +enddef; +%------------------------------------------------------------------------ +save dx; pair dx; dx:=(12mm,0); +label.bot("Oxaloacetate",p1+dx); label.bot("Citrate",p2+dx); +label.bot("cis-Aconitate",p3+dx); label.bot("Isocitrate",p4+dx); +label.bot("Oxalosuccinate",p5+dx); label.bot("alfa-Ketoglutarate",p6+dx); +label.bot("Succinyl-CoA",p7+dx); label.bot("Succinate",p8+dx); +label.bot("Fumarate",p9+dx); label.bot("L-Malate",p10+dx); +sw_label_emu:=1; +ext_setup; +r_arrow(10mm)( 0)(p1+ ( 1.1w1, 0.3h1))("Acetyl-CoA",1.5)(" CoA-SH",1); +r_arrow(10mm)( 0)(p2+ ( 1.1w2, 0.4h2))("",0)("H2O",1); +r_arrow( 8mm)(270)(p3+ ( 0.5w3,-0.4h3))("H2O",1)("",0); +r_arrow( 8mm)(270)(p4+ ( 0.5w4,-0.4h4))("NAD+",1)("NADH2+",1); +r_arrow(10mm)(180)(p5+ (-0.1w5, 0.4h5))("",0)("CO2",1); +r_arrow(10mm)(180)(p6+ (-0.1w6, 0.5h6))("NAD+,CoA-SH",1.7)("NADH2+,CO2",1); +r_arrow(10mm)(180)(p7+ (-0.1w7, 0.5h7))("GDP,Pi",1.7)("GTP,CoA-SH",1); +r_arrow( 8mm)( 90)(p8+ ( 0.4w8, 1.2h8))("FAD",1)("FADH2",1); +r_arrow( 8mm)( 90)(p9+ ( 0.4w9, 1.2h9))("H2O",1)("",0); +r_arrow(10mm)( 0)(p10+( 1.1w10,0.3h10))("NAD+",1)("NADH2+",1.5); +defaultscale:=1.5; +label("TCA-cycle",(0.5w,0.5h)); +) +endfigm +\end{mplibcode} +%------------------------------------------------------------------------ +\begin{verbatim} +beginfigmy"EN:TCA cycle") +fsize:=(160mm,75mm); +max_blength:=5mm; +COOH:='(//O,!,OH); HOCO:='(OH,!,//O,); +MCat(0.33, 1)(<30,HOCO,!,//O,!2,COOH) % Oxaloacetate +MCat(0.66, 1)(<30,HOCO,!4,COOH,@-4`1,\,COOH,4:/OH^-165) % Citrate +MCat(1, 1)(<30,HOCO,!2,!~dr,!,COOH,@-4`1,\,COOH) % cis-Aconitate +MCat(1, 0.58)(<30,HOCO,!4,COOH,@-4,\`1,COOH,5:/OH) % Isocitrate +MCat(1, 0.05)(<30,HOCO,!3,//O,!,COOH,@-4,\`1,COOH) % Oxalosuccinate +MCat(0.66,0.05)(<30,HOCO,!3,//O,!,COOH) % alfa-Ketoglutarate +MCat(0.33,0.05)(<30,HOCO,!3,//O,!,"{S-CoA}") % Succinyl-CoA +MCat(0, 0.05)(<30,HOCO,!3,COOH) % Succinate +MCat(0, 0.55)(<30,HOCO,!,!~dr,!,COOH) % Fumarate +MCat(0, 1)(<30,HOCO,!3,COOH,3:/OH) % L-Malate +ext( +defaultfont:="uhvr8r"; +defaultscale:=0.75; +ext_setup; +save dx; pair dx; dx:=(12mm,0); +label.bot("Oxaloacetate",p1+dx); label.bot("Citrate",p2+dx); +label.bot("cis-Aconitate",p3+dx); label.bot("Isocitrate",p4+dx); +label.bot("Oxalosuccinate",p5+dx); label.bot("alfa-Ketoglutarate",p6+dx); +label.bot("Succinyl-CoA",p7+dx); label.bot("Succinate",p8+dx); +label.bot("Fumarate",p9+dx); label.bot("L-Malate",p10+dx); +sw_label_emu:=1; +ext_setup; +r_arrow(10mm)( 0)(p1+ ( 1.1w1, 0.3h1))("Acetyl-CoA",1.5)(" CoA-SH",1); +r_arrow(10mm)( 0)(p2+ ( 1.1w2, 0.4h2))("",0)("H2O",1); +r_arrow( 8mm)(270)(p3+ ( 0.5w3,-0.4h3))("H2O",1)("",0); +r_arrow( 8mm)(270)(p4+ ( 0.5w4,-0.4h4))("NAD+",1)("NADH2+",1); +r_arrow(10mm)(180)(p5+ (-0.1w5, 0.4h5))("",0)("CO_2_",1); +r_arrow(10mm)(180)(p6+ (-0.1w6, 0.5h6))("NAD+,CoA-SH",1.7)("NADH2+,CO2",1); +r_arrow(10mm)(180)(p7+ (-0.1w7, 0.5h7))("GDP,Pi",1.7)("GTP,CoA-SH",1); +r_arrow( 8mm)( 90)(p8+ ( 0.4w8, 1.2h8))("FAD",1)("FADH2",1); +r_arrow( 8mm)( 90)(p9+ ( 0.4w9, 1.2h9))("H2O",1)("",0); +r_arrow(10mm)( 0)(p10+( 1.1w10,0.3h10))("NAD+",1)("NADH2+",1.5); +defaultscale:=1.5; +label("TCA-cycle",(0.5w,0.5h)); +) +endfigm \end{verbatim} -\MCFgraph %------------------------------------------------------------------------ -\onecolumn \section{Example to use mcf2graph} \subsection{MetaPost souce file} \index{mcf2graph.mp}% @@ -1869,7 +3413,7 @@ file name = 'temp-mc.aux' Weight Calc: 111.1019 / Input: 111.10 / weight gap= 0.00195 Fomula Calc: C4H5N3O / Input: =========================================================================== -\end{verbatim}% +\end{verbatim} \newpage %------------------------------------------------------------------------ \noindent% @@ -1924,7 +3468,7 @@ file name = 'temp-mc.aux' 9 14 1 0 0 0 M END %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\end{verbatim}% +\end{verbatim} %---------------------------------------------------------------------------- \newpage \subsection{LuaTeX file example} @@ -1989,7 +3533,7 @@ endfigm; %-------------------------------------------------------------------- \end{mplibcode}\\ \end{document} -\end{verbatim}% +\end{verbatim} %############################################################################ %------------------------------------------------------------------------ \texttt{\printindex} diff --git a/graphics/mcf2graph/mcf_mplib_exa.pdf b/graphics/mcf2graph/mcf_mplib_exa.pdf Binary files differdeleted file mode 100644 index 806e6b55ed..0000000000 --- a/graphics/mcf2graph/mcf_mplib_exa.pdf +++ /dev/null diff --git a/graphics/mcf2graph/mcf_mplib_exa.tex b/graphics/mcf2graph/mcf_mplib_exa.tex deleted file mode 100644 index ed512ddabb..0000000000 --- a/graphics/mcf2graph/mcf_mplib_exa.tex +++ /dev/null @@ -1,328 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Example of MCF typest with LuaLaTeX(luamplib) by A.Yamaji 2022.11.12 -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% ** mcf2graph.mp must be version 4.90 -% ** use mcf_library.mcf -\documentclass{article} -%------------------------------------------------------------------------------ -\usepackage{luamplib}% -\usepackage[T1]{fontenc}% -\usepackage{textcomp,verbatim}% -\mplibcodeinherit{enable}% -\mplibverbatim{enable}% -\mplibnumbersystem{double}% -\mpliblegacybehavior{disabled}% -\everymplib{% - if unknown Ph1: input mcf2graph; fi - outputformat:="eps"; - sw_output:=Fig+Calc; - tag1:="J"; tag2:="C"; tag3:="fm"; tag4:="mw"; tag5:="EN"; tag6:="MW"; - max_blength:=4.5mm; - defaultsize:=8; - defaultscale:=1; -}% -%------------------------------------------------------------------------------ -\pagestyle{empty} -\topmargin=-20mm -\oddsidemargin=0mm -\textwidth=170mm -\textheight=280mm -\unitlength=1mm -%------------------------------------------------------------------------------------ -\begin{document} -\begin{center} - {\Huge\sf MCF example for luamplib(Lua\LaTeX)}\vspace{5mm}\\ - Author : Akira Yamaji \quad Date : \today\\ - Located at : http://www.ctan.org/pkg/mcf2graph\vspace{2mm}\\ -\end{center} -%------------------------------------------------------------------------------------ -\section{MCF example} -\noindent% -%------------------------------------------------------------------------------------ - use molecular library file 'mcf\_library.mcf' \\ -{{\tt FM(fm) :} molecular formula (calculated) \\ -{{\tt MW(mw) :} molecular weight (calculated) -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\subsection{Erythromycin} -\noindent% -%---------------------------------------------------------------------------- -( pass mcf to MC() ) -\begin{verbatim} -beginfigm("EN:Erythromycin","MW:733.93") - fsize:=(120mm,30mm); - MC(<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',4,6^-35,8,10',12^35}:/*_, - {6^35,11,12^-35}:*/OH, - @$3,\*,O,30~zb,|,?6`.7,6:O,#.5,{5~wf,3^35}:/_,4:/*OH,3^-35:/*O!,##, - @$5,\*^30`1.7,O,!~zb,|,?6`.7,6:O,#.5,5:/*_,2:*/OH,3:/*N?!) - ext(defaultscale:=0.8; label.lrt("fm: "&cal_FM,(0,h-5mm)); - label.lrt("mw: "&cal_MW,(0,h-9mm)); label.lrt("MW: "&inf_MW,(0,h-13mm));) -endfigm; -\end{verbatim} -%---------------------------------------------------------------------------- -\begin{mplibcode} -beginfigm("EN:Erythromycin","MW:733.93") - fsize:=(120mm,30mm); - MC(<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',4,6^-35,8,10',12^35}:/*_, - {6^35,11,12^-35}:*/OH, - @$3,\*,O,30~zb,|,?6`.7,6:O,#.5,{5~wf,3^35}:/_,4:/*OH,3^-35:/*O!,##, - @$5,\*^30`1.7,O,!~zb,|,?6`.7,6:O,#.5,5:/*_,2:*/OH,3:/*N?!) - ext(defaultscale:=0.8; label.lrt("fm: "&cal_FM,(0,h-5mm)); - label.lrt("mw: "&cal_MW,(0,h-9mm)); label.lrt("MW: "&inf_MW,(0,h-13mm));) -endfigm; -\end{mplibcode} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\subsection{Paclitaxel} -\noindent% -( pass mcf to beginfigm() ) -\begin{verbatim} -beginfigm("EN:Paclitaxel","MW:853.918", - %--------------------------------------------------------------------- - ": ?6,5=dl,@3,#1,36,45,45,45,45,##,&5,-4=?6,-4=?4,-1=wb,-3=wf,-1:O, ", - ": 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 ") - %--------------------------------------------------------------------- - fsize:=(140mm,30mm); - if mc_check(mc)=0: MCat(0,0.5)(scantokens(mc)) - sw_numbering:=Atom; MCat(0.6,0.5)(scantokens(mc)) - sw_numbering:=Bond; MCat(1,0.5)(scantokens(mc)) - fi -endfigm -\end{verbatim} -%---------------------------------------------------------------------------- -\begin{mplibcode} -beginfigm("EN:Paclitaxel","MW:853.918", - %--------------------------------------------------------------------- - ": ?6,5=dl,@3,#1,36,45,45,45,45,##,&5,-4=?6,-4=?4,-1=wb,-3=wf,-1:O, ", - ": 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 ") - %--------------------------------------------------------------------- - fsize:=(140mm,30mm); - if mc_check(mc)=0: MCat(0,0.5)(scantokens(mc)) - sw_numbering:=Atom; MCat(0.6,0.5)(scantokens(mc)) - sw_numbering:=Bond; MCat(1,0.5)(scantokens(mc)) - fi -endfigm -\end{mplibcode} -%---------------------------------------------------------------------------- -\newpage -\subsection{Chlorophyll a} -\noindent% -( read library file ) -\begin{verbatim} -beginfigm("f:mcf_library.mcf","t:EN","v:Chlorophyll a","NO:-", - "= sw_output:=Fig+Calc+Mcode;", - "= fsize:=(100mm,30mm);") - if op_row>=1: scantokens(op) fi - if mc_check(mc)=0: - MC(scantokens(mc)) - VerbatimTeX("\gdef\EN{"&inf_EN&"}\gdef\MW{"&inf_MW&"}"); - VerbatimTeX("\gdef\mw{"&cal_MW&"}\gdef\fm{"&cal_FM&"}"); - fi -endfigm -\end{mplibcode} -\verbatiminput{temp-mc.aux} %%%% input temp-mc.aux %%%% -{\tt ** EN:\EN \quad mw:\MW \quad MW:\mw \quad fm:\fm}% -\end{verbatim} -%------------------------------------------------------------------------------------ -\begin{mplibcode} -beginfigm("f:mcf_library.mcf","t:EN","v:Chlorophyll a","NO:-", - "= sw_output:=Fig+Calc+Mcode;", - "= fsize:=(100mm,30mm);") - if op_row>=1: scantokens(op) fi - if mc_check(mc)=0: - MC(scantokens(mc)) - VerbatimTeX("\gdef\EN{"&inf_EN&"}\gdef\MW{"&inf_MW&"}"); - VerbatimTeX("\gdef\mw{"&cal_MW&"}\gdef\fm{"&cal_FM&"}"); - fi -endfigm -\end{mplibcode} -\verbatiminput{temp-mc.aux} %%%% input temp-mc.aux %%%% -{\tt ** EN:\EN \quad mw:\MW \quad MW:\mw \quad fm:\fm}% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\subsection{Dinophysistoxin-1} -\noindent% -( read library file + pass mcf to beginfigm() ) -\begin{verbatim} -beginfigm("t:EN","v:Okadaic acid","EN:Dinophysistoxin-1", - "MW:819",":,38:*/_,65=red") %%%% add methyl group (color red) %%%% - sw_output:=Fig+Calc+Mcode; %%%% output temp-mc.aux %%%% - fsize:=(120mm,20mm); - if mc_check(mc)=0: MC(scantokens(mc)) - VerbatimTeX("\gdef\EN{"&inf_EN&"}\gdef\MW{"&inf_MW&"}"); - VerbatimTeX("\gdef\mw{"&cal_MW&"}\gdef\fm{"&cal_FM&"}"); - fi -endfigm; -\end{mplibcode} -\verbatiminput{temp-mc.aux} %%%% input temp-mc.aux %%%% -{\tt ** EN:\EN \quad mw:\MW \quad MW:\mw \quad fm:\fm}% -\end{verbatim} -%---------------------------------------------------------------------------- -\begin{mplibcode} -beginfigm("t:EN","v:Okadaic acid","EN:Dinophysistoxin-1", - "MW:819",":,38:*/_,65=red") %%%% add methyl group (color red) %%%% - sw_output:=Fig+Calc+Mcode; %%%% output temp-mc.aux %%%% - fsize:=(120mm,20mm); - if mc_check(mc)=0: MC(scantokens(mc)) - VerbatimTeX("\gdef\EN{"&inf_EN&"}\gdef\MW{"&inf_MW&"}"); - VerbatimTeX("\gdef\mw{"&cal_MW&"}\gdef\fm{"&cal_FM&"}"); - fi -endfigm; -\end{mplibcode} -\verbatiminput{temp-mc.aux} %%%% input temp-mc.aux %%%% -{\tt ** EN:\EN \quad mw:\MW \quad MW:\mw \quad fm:\fm}% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\newpage -%---------------------------------------------------------------------------- -\subsection{Maitotoxin} -\noindent% -( read library file ) -%-------------------------------------------------------------------------------- -\begin{verbatim} -%-------------------------------------------------------------------------------- -\begin{mplibcode} - beginfigm("t:EN","v:Maitotoxin") - sw_output:=Fig+Calc+Mcode; %%%% output temp-mc.aux %%%% - fsize:=(120mm,60mm); fmargin:=(0,3mm); sw_frame:=Outside; - if mc_check(mc)=0: MC(scantokens(mc)) - VerbatimTeX("\gdef\EN{"&inf_EN&"}\gdef\MW{"&inf_MW&"}"); - VerbatimTeX("\gdef\mw{"&cal_MW&"}\gdef\fm{"&cal_FM&"}"); - fi - endfigm -\end{mplibcode} -\verbatiminput{temp-mc.aux} %%%% input temp-mc.aux %%%% -{\tt ** EN:\EN \quad mw:\MW \quad MW:\mw \quad fm:\fm}% -%-------------------------------------------------------------------------------- -\end{verbatim} -%-------------------------------------------------------------------------------- -\begin{mplibcode} - beginfigm("t:EN","v:Maitotoxin") - sw_output:=Fig+Calc+Mcode; - fsize:=(120mm,60mm); fmargin:=(0,3mm); sw_frame:=Outside; %% mc_length:=40; - if mc_check(mc)=0: MC(scantokens(mc)) - VerbatimTeX("\gdef\EN{"&inf_EN&"}\gdef\MW{"&inf_MW&"}"); - VerbatimTeX("\gdef\mw{"&cal_MW&"}\gdef\fm{"&cal_FM&"}"); - fi - endfigm -\end{mplibcode} -\verbatiminput{temp-mc.aux} -{\tt ** EN:\EN \quad mw:\MW \quad MW:\mw \quad fm:\fm}% -%-------------------------------------------------------------------------------- -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\newpage -\subsection{TCA cycle} -\noindent% -\begin{mplibcode} -beginfigm("EN:TCA cycle") -fsize:=(160mm,75mm); -max_blength:=5mm; -%-------------------------------------------------------------------------------- -COOH:='(//O,!,OH); -HOCO:='(OH,!,//O,); -MCat(0.33, 1)(<30,HOCO,!,//O,!2,COOH) % Oxaloacetate -MCat(0.66, 1)(<30,HOCO,!4,COOH,@-4`1,\,COOH,4:/OH^-165) % Citrate -MCat(1, 1)(<30,HOCO,!2,!~dr,!,COOH,@-4`1,\,COOH) % cis-Aconitate -MCat(1, 0.58)(<30,HOCO,!4,COOH,@-4,\`1,COOH,5:/OH) % Isocitrate -MCat(1, 0.05)(<30,HOCO,!3,//O,!,COOH,@-4,\`1,COOH) % Oxalosuccinate -MCat(0.66,0.05)(<30,HOCO,!3,//O,!,COOH) % alfa-Ketoglutarate -MCat(0.33,0.05)(<30,HOCO,!3,//O,!,"{S-CoA}") % Succinyl-CoA -MCat(0, 0.05)(<30,HOCO,!3,COOH) % Succinate -MCat(0, 0.55)(<30,HOCO,!,!~dr,!,COOH) % Fumarate -MCat(0, 1)(<30,HOCO,!3,COOH,3:/OH) % L-Malate -%-------------------------------------------------------------------------------- -ext( -defaultfont:="uhvr8r"; -defaultscale:=0.75; -ext_setup; -def sel_dir(expr rot)= - save tx; nA:=rot; if nA>=360: nA:=nA-360; fi - if (nA<30)or(nA>330): def tx=top enddef; elseif (nA>=30)and(nA<=150): def tx=lft enddef; - elseif (nA>150)and(nA<210): def tx=bot enddef; elseif (nA>=210)and(nA<=330): def tx=rt enddef; fi -enddef; -def reaction_arrow(expr a)(expr r)(expr p)(expr sa,la)(expr sb,lb)(expr sc,lc)(expr sd,ld)= - drawarrow ((0,0)..(a,0)) rotated r shifted p; - if sa<>"": draw ((0.5a,0){dir 180}..{dir 90}(0,.5a*la)) rotated r shifted p; - sel_dir(r); label.tx(sa,p+((0,0.5a*la) rotated r)); fi - if sb<>"": draw ((0.5a,0){dir 0}..{dir 90}(a,.5a*lb)) rotated r shifted p; - sel_dir(r); label.tx(sb,p+((a,0.5a*lb) rotated r)); fi - if sc<>"": draw ((0.5a,0){dir 180}..{dir -90}(0,-.5a*lc)) rotated r shifted p; - sel_dir(r+180); label.tx(sc,p+((0,-0.5a*lc) rotated r)); fi - if sd<>"": draw ((0.5a,0){dir 0}..{dir -90}(a,-.5a*ld)) rotated r shifted p; - sel_dir(r+180); label.tx(sd,p+((a,-0.5a*ld) rotated r)); fi -enddef; -def r_arrow(expr a)(expr r)(expr p)(expr sc,lc)(expr sd,ld)= - reaction_arrow(a)(r)(p)("",0)("",0)(sc,lc)(sd,ld) -enddef; -%------------------------------------------------------------------------ -save dx; pair dx; dx:=(12mm,0); -label.bot("Oxaloacetate",p1+dx); label.bot("Citrate",p2+dx); -label.bot("cis-Aconitate",p3+dx); label.bot("Isocitrate",p4+dx); -label.bot("Oxalosuccinate",p5+dx); label.bot("alfa-Ketoglutarate",p6+dx); -label.bot("Succinyl-CoA",p7+dx); label.bot("Succinate",p8+dx); -label.bot("Fumarate",p9+dx); label.bot("L-Malate",p10+dx); -sw_label_emu:=1; -ext_setup; -r_arrow(10mm)( 0)(p1+ ( 1.1w1, 0.3h1))("Acetyl-CoA",1.5)(" CoA-SH",1); -r_arrow(10mm)( 0)(p2+ ( 1.1w2, 0.4h2))("",0)("H2O",1); -r_arrow( 8mm)(270)(p3+ ( 0.5w3,-0.4h3))("H2O",1)("",0); -r_arrow( 8mm)(270)(p4+ ( 0.5w4,-0.4h4))("NAD+",1)("NADH2+",1); -r_arrow(10mm)(180)(p5+ (-0.1w5, 0.4h5))("",0)("CO2",1); -r_arrow(10mm)(180)(p6+ (-0.1w6, 0.5h6))("NAD+,CoA-SH",1.7)("NADH2+,CO2",1); -r_arrow(10mm)(180)(p7+ (-0.1w7, 0.5h7))("GDP,Pi",1.7)("GTP,CoA-SH",1); -r_arrow( 8mm)( 90)(p8+ ( 0.4w8, 1.2h8))("FAD",1)("FADH2",1); -r_arrow( 8mm)( 90)(p9+ ( 0.4w9, 1.2h9))("H2O",1)("",0); -r_arrow(10mm)( 0)(p10+( 1.1w10,0.3h10))("NAD+",1)("NADH2+",1.5); -defaultscale:=1.5; -label("TCA-cycle",(0.5w,0.5h)); -) -endfigm -\end{mplibcode} -%------------------------------------------------------------------------ -\begin{verbatim} -beginfigmy"EN:TCA cycle") -fsize:=(160mm,75mm); -max_blength:=5mm; -COOH:='(//O,!,OH); -HOCO:='(OH,!,//O,); -MCat(0.33, 1)(<30,HOCO,!,//O,!2,COOH) % Oxaloacetate -MCat(0.66, 1)(<30,HOCO,!4,COOH,@-4`1,\,COOH,4:/OH^-165) % Citrate -MCat(1, 1)(<30,HOCO,!2,!~dr,!,COOH,@-4`1,\,COOH) % cis-Aconitate -MCat(1, 0.58)(<30,HOCO,!4,COOH,@-4,\`1,COOH,5:/OH) % Isocitrate -MCat(1, 0.05)(<30,HOCO,!3,//O,!,COOH,@-4,\`1,COOH) % Oxalosuccinate -MCat(0.66,0.05)(<30,HOCO,!3,//O,!,COOH) % alfa-Ketoglutarate -MCat(0.33,0.05)(<30,HOCO,!3,//O,!,"{S-CoA}") % Succinyl-CoA -MCat(0, 0.05)(<30,HOCO,!3,COOH) % Succinate -MCat(0, 0.55)(<30,HOCO,!,!~dr,!,COOH) % Fumarate -MCat(0, 1)(<30,HOCO,!3,COOH,3:/OH) % L-Malate -ext( -defaultfont:="uhvr8r"; -defaultscale:=0.75; -ext_setup; -save dx; pair dx; dx:=(12mm,0); -label.bot("Oxaloacetate",p1+dx); label.bot("Citrate",p2+dx); -label.bot("cis-Aconitate",p3+dx); label.bot("Isocitrate",p4+dx); -label.bot("Oxalosuccinate",p5+dx); label.bot("alfa-Ketoglutarate",p6+dx); -label.bot("Succinyl-CoA",p7+dx); label.bot("Succinate",p8+dx); -label.bot("Fumarate",p9+dx); label.bot("L-Malate",p10+dx); -sw_label_emu:=1; -ext_setup; -r_arrow(10mm)( 0)(p1+ ( 1.1w1, 0.3h1))("Acetyl-CoA",1.5)(" CoA-SH",1); -r_arrow(10mm)( 0)(p2+ ( 1.1w2, 0.4h2))("",0)("H2O",1); -r_arrow( 8mm)(270)(p3+ ( 0.5w3,-0.4h3))("H2O",1)("",0); -r_arrow( 8mm)(270)(p4+ ( 0.5w4,-0.4h4))("NAD+",1)("NADH2+",1); -r_arrow(10mm)(180)(p5+ (-0.1w5, 0.4h5))("",0)("CO_2_",1); -r_arrow(10mm)(180)(p6+ (-0.1w6, 0.5h6))("NAD+,CoA-SH",1.7)("NADH2+,CO2",1); -r_arrow(10mm)(180)(p7+ (-0.1w7, 0.5h7))("GDP,Pi",1.7)("GTP,CoA-SH",1); -r_arrow( 8mm)( 90)(p8+ ( 0.4w8, 1.2h8))("FAD",1)("FADH2",1); -r_arrow( 8mm)( 90)(p9+ ( 0.4w9, 1.2h9))("H2O",1)("",0); -r_arrow(10mm)( 0)(p10+( 1.1w10,0.3h10))("NAD+",1)("NADH2+",1.5); -defaultscale:=1.5; -label("TCA-cycle",(0.5w,0.5h)); -) -endfigm -\end{verbatim} -%---------------------------------------------------------------------------- -\end{document} diff --git a/graphics/pgf/contrib/tikz-mirror-lens/README.md b/graphics/pgf/contrib/tikz-mirror-lens/README.md index 76f190c84c..94b018c57c 100644 --- a/graphics/pgf/contrib/tikz-mirror-lens/README.md +++ b/graphics/pgf/contrib/tikz-mirror-lens/README.md @@ -1,7 +1,7 @@ -%% The LaTeX package tikz-mirror-lens - version 1.0.0 (2022-12-24) +%% The LaTeX package tikz-mirror-lens - version 1.0.2 (2023-01-08) %% %% ------------------------------------------------------------------------------------------- -%% Copyright (c) 2022 by FHZ +%% Copyright (c) 2023 by FHZ %% ------------------------------------------------------------------------------------------- %% %% This work may be distributed and/or modified under the @@ -22,13 +22,17 @@ of the light rays reflected in mirror or through lenses. Contents of the package ======================= - 'README' this file + 'README' this file 'tikz-mirror-lens.cwl' Completion Word List for some editors - 'tikz-mirror-lens.pdf' Documentation for tikz-mirror-lens - 'tikz-mirror-lens-PT.pdf' Documentation for tikz-mirror-lens in Portuguese - 'tikz-mirror-lens.sty' LaTeX package file (style file) - 'tikz-mirror-lens.tex' Source code of the documentation (main file) - 'tikz-mirror-lens-PT.tex' Source code of the documentation (main file) in Portuguese + 'tikz-mirror-lens.pdf' Documentation for tikz-mirror-lens + 'tikz-mirror-lens-PT.pdf' Documentation for tikz-mirror-lens in Portuguese + 'tikz-mirror-lens.sty' LaTeX package file (style file) + 'tikz-mirror-lens.tex' Source code of the documentation (main file) + 'tikz-mirror-lens-PT.tex' Source code of the documentation (main file) in Portuguese + 'input_pacotes' Packages and commands used to compile + 'input_tab_configuracoes_espelhos' Table data with mirrors's configurations + 'input_tab_configuracoes_lentes' Table data with lens' configurations + 'input_tab_configuracoes_lentesL' Table data with lens' configurations on the left Installation ============ @@ -39,8 +43,10 @@ No .ins/.dtx preinstalation is required. Version ============ 1.0.0 (2022-12-24): Publication of the package. +1.0.1 (2022-12-27): Small corrections on function argument input order in \mirrorRays and in \lensRays. +1.0.2 (2023-01-08): Revised the English version and removed unnecessary semicolons (suggested by Denis Bitouzé). Contact info ============ -Please, user the following email adress to contact the package maintainer: +Please, use the following email adress to contact the package maintainer: fernandozucatelli@yahoo.com.br diff --git a/graphics/pgf/contrib/tikz-mirror-lens/doc/input_pacotes.tex b/graphics/pgf/contrib/tikz-mirror-lens/doc/input_pacotes.tex new file mode 100644 index 0000000000..59f36f37c3 --- /dev/null +++ b/graphics/pgf/contrib/tikz-mirror-lens/doc/input_pacotes.tex @@ -0,0 +1,86 @@ +% !TeX spellcheck = en_US +% !TeX encoding = UTF-8 +% ============================= + +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\usepackage[margin=2.5cm]{geometry} +\usepackage{amsmath,adjustbox} +\usepackage{animate} +\usepackage[section]{placeins} +\usepackage{tikz-mirror-lens} +\usepackage{multicol} +\usepackage{multirow} +\usepackage{abstract} +\usepackage{enumitem} +\usepackage{csquotes} +\usepackage{indentfirst} + +\usepackage[toc]{multitoc} + +% ========== FHZ packages +%\usepackage{FHZ-listings-showexpl-style} +%\usepackage{FHZ-tcolorbox} +\usepackage[skins,listings,breakable,raster]{tcolorbox} +% ---------------------------------------------------------- +%\usepackage{FHZ-textos} +\newcommand{\TikZ}{Ti\textit{k}Z} +% ---------------------------------------------------------- + +% ---------------------------------------------------------- +% \usepackage{FHZ-formatacao-hf-headings_h_R_thepage} +\usepackage{fancyhdr} +\pagestyle{headings} % fancy, myheadings +%\fancypagestyle{plain}{ % alteração de estilo pré-definido. +% \fancyhf{} % clear all header and footer fields +% \fancyhead[R]{\thepage} % except the right top corner +% \renewcommand{\headrulewidth}{0pt} % remove line between header and main text +%} +% ---------------------------------------------------------- + +% ---------------------------------------------------------- +% \usepackage{FHZ-formatacao-subcaption} +\usepackage{graphicx} +\usepackage{caption} +\usepackage{subcaption} +\usepackage{adjustbox} +%\captionsetup{font=small,labelsep=period,textfont=bf,labelfont=bf,textformat=period} +\captionsetup{font=small,textformat=period} % ,labelfont=bf,labelsep=period,textfont=bf +\captionsetup[table]{position=top} +\captionsetup[figure]{position=below} +\captionsetup[subtable]{textfont={}, font=footnotesize} +\captionsetup[subfigure]{textfont={}, font=footnotesize} +% ========== + +% ---------------------------------------------------------- +%\usepackage{FHZ-capa-article} +\newcommand{\FHZCapaArticleCabecalho}[3]{ + \begin{center} + \Large{#1} + + {#2} + \end{center} + \begin{center} + \Large + {#3} + \end{center} +} +% ---------------------------------------------------------- + +\usepackage[colorlinks]{hyperref} + +\newtcolorbox{FHZmirroLensTcolorbox}{ + enhanced, breakable, + colback=cyan!10!white, + colframe=blue!90!black, +} + +% ========== Dados capa folha rosto ========== Igual entre versões PT e EN. +\newcommand{\edicao}{1} +\newcommand{\versao}{1.0.2} + +\newcommand{\Cidade}{\textbf{tikz-mirror-lens package}\\} %{Cidade --} +\newcommand{\Estado}{\url{https://www.ctan.org/pkg/tikZ-mirror-lens}\\} %{Estado --} +% ====================== +\newcommand{\AutorA}{\textbf{FHZ}} +% ====================== Input_Folha_Rosto_Livro_Versao
\ No newline at end of file diff --git a/graphics/pgf/contrib/tikz-mirror-lens/doc/input_tab_configuracoes_espelhos.tex b/graphics/pgf/contrib/tikz-mirror-lens/doc/input_tab_configuracoes_espelhos.tex new file mode 100644 index 0000000000..90a2d364c3 --- /dev/null +++ b/graphics/pgf/contrib/tikz-mirror-lens/doc/input_tab_configuracoes_espelhos.tex @@ -0,0 +1,20 @@ +% !TeX spellcheck = pt_BR +% !TeX encoding = UTF-8 +% ============================= + +\begin{tabular}{r cc|c} + & \multicolumn{3}{c}{coord} \\ + & & No & Yes \\ + \cline{2-4} + & {No} & & \\ + \multirow{4}{*}{\rotatebox{90}{fixed mirror size}} & & \adjustbox{height=3cm}{\mirrorSphGauss[50]{2}{5.5}{2}{0.4}} \quad\quad\quad & \quad\quad \adjustbox{height=3cm}{\mirrorSphGaussCoord[50]{-2}{3.5}{2}{0.4}} \\ + & & {\tiny \verb|\mirrorSphGauss[seta]{f}{p}{o}{epsilon}|} & {\tiny \verb|\mirrorSphGaussCoord[seta]{f}{p}{o}{epsilon}|} \\ + \cline{2-4} + & {Yes} & & \\ + & & \adjustbox{height=3cm}{\mirrorSphGaussFixed[50]{-2}{5.5}{2}{0.4}{4}{-3}{4.8}} & \adjustbox{height=3cm}{\mirrorSphGaussFixedCoord[50]{2}{3.5}{2}{0.4}{4}{0}{4.5}{(4.8,-1)}} \\ + & & {\tiny \verb|\mirrorSphGaussFixed[seta]{f}{p}{o}{epsilon}{yM}{xL}{xR}|} & {\tiny \verb|\mirrorSphGaussFixedCoord[seta]{f}{p}{o}{epsilon}{yM}{xL}{xR}{Co}|} +\end{tabular} + + + + diff --git a/graphics/pgf/contrib/tikz-mirror-lens/doc/input_tab_configuracoes_lentes.tex b/graphics/pgf/contrib/tikz-mirror-lens/doc/input_tab_configuracoes_lentes.tex new file mode 100644 index 0000000000..b5aa1247c1 --- /dev/null +++ b/graphics/pgf/contrib/tikz-mirror-lens/doc/input_tab_configuracoes_lentes.tex @@ -0,0 +1,16 @@ +% !TeX spellcheck = pt_BR +% !TeX encoding = UTF-8 +% ============================= + +\begin{tabular}{r cc|c} + & \multicolumn{3}{c}{coord} \\ + & & No & Yes \\ + \cline{2-4} + & {No} & & \\ + \multirow{4}{*}{\rotatebox{90}{fixed mirror size}} & & \adjustbox{height=2.5cm}{\lensSphGauss[50]{2}{5.5}{2}{0.4}} \quad\quad\quad & \quad\quad \adjustbox{height=2.5cm}{\lensSphGaussCoord[50]{-2}{3.5}{2}{0.4}} \\ + & & {\tiny \verb|\lensSphGauss[seta]{f}{p}{o}{epsilon}|} & {\tiny \verb|\lensSphGaussCoord[seta]{f}{p}{o}{epsilon}|} \\ + \cline{2-4} + & {Yes} & & \\ + & & \adjustbox{height=2.5cm}{\lensSphGaussFixed[50]{-2}{5.5}{2}{0.4}{2.5}{-2.5}{4.5}}\quad\quad\quad & \adjustbox{height=2.5cm}{\lensSphGaussFixedCoord[50]{2}{3.5}{2}{0.4}{3}{-3.5}{4.5}{(2,-1.7)}} \\ + & & {\tiny \verb|\lensSphGaussFixed[seta]{f}{p}{o}{epsilon}{yM}{xL}{xR}|} & {\tiny \verb|\lensSphGaussFixedCoord[seta]{f}{p}{o}{epsilon}{yM}{xL}{xR}{Co}|} +\end{tabular} diff --git a/graphics/pgf/contrib/tikz-mirror-lens/doc/input_tab_configuracoes_lentesL.tex b/graphics/pgf/contrib/tikz-mirror-lens/doc/input_tab_configuracoes_lentesL.tex new file mode 100644 index 0000000000..cad4ffa135 --- /dev/null +++ b/graphics/pgf/contrib/tikz-mirror-lens/doc/input_tab_configuracoes_lentesL.tex @@ -0,0 +1,16 @@ +% !TeX spellcheck = pt_BR +% !TeX encoding = UTF-8 +% ============================= + +\begin{tabular}{r cc|c} + & \multicolumn{3}{c}{coord} \\ + & & No & Yes \\ + \cline{2-4} + & {No} & & \\ + \multirow{4}{*}{\rotatebox{90}{fixed mirror size}} & & \adjustbox{height=2.5cm}{\lensSphGaussL[50]{2}{-5.5}{2}{0.4}} \quad\quad\quad & \quad\quad \adjustbox{height=2.5cm}{\lensSphGaussLCoord[50]{-2}{-3.5}{2}{0.4}} \\ + & & {\tiny \verb|\lensSphGaussL[seta]{f}{p}{o}{epsilon}|} & {\tiny \verb|\lensSphGaussLCoord[seta]{f}{p}{o}{epsilon}|} \\ + \cline{2-4} + & {Yes} & & \\ + & & \adjustbox{height=2.5cm}{\lensSphGaussLFixed[50]{-2}{-5.5}{2}{0.4}{2.5}{-4}{3}} & \adjustbox{height=2.5cm}{\lensSphGaussLFixedCoord[50]{2}{-3.5}{2}{0.4}{2.8}{-3}{4.5}{(-5,-1.5)}} \\ + & & {\tiny \verb|\lensSphGaussLFixed[seta]{f}{p}{o}{epsilon}{yM}{xL}{xR}|} & {\tiny \verb|\lensSphGaussLFixedCoord[seta]{f}{p}{o}\right epsilon}{yM}{xL}{xR}{Co}|} +\end{tabular} diff --git a/graphics/pgf/contrib/tikz-mirror-lens/doc/tikz-mirror-lens-PT.pdf b/graphics/pgf/contrib/tikz-mirror-lens/doc/tikz-mirror-lens-PT.pdf Binary files differindex cacfb83c97..7cb4c44a4d 100644 --- a/graphics/pgf/contrib/tikz-mirror-lens/doc/tikz-mirror-lens-PT.pdf +++ b/graphics/pgf/contrib/tikz-mirror-lens/doc/tikz-mirror-lens-PT.pdf diff --git a/graphics/pgf/contrib/tikz-mirror-lens/doc/tikz-mirror-lens-PT.tex b/graphics/pgf/contrib/tikz-mirror-lens/doc/tikz-mirror-lens-PT.tex index 12a6066898..34931f3e6d 100644 --- a/graphics/pgf/contrib/tikz-mirror-lens/doc/tikz-mirror-lens-PT.tex +++ b/graphics/pgf/contrib/tikz-mirror-lens/doc/tikz-mirror-lens-PT.tex @@ -15,7 +15,7 @@ \begin{document} % ========== Capas -{\FHZCapaArticleCabecalho} +\FHZCapaArticleCabecalho{\AutorA}{\Titulo}{{\Cidade} {\Estado} {\Pais}} % ========== \begin{abstract} @@ -232,6 +232,20 @@ A \autoref{fig:covx} apresenta duas posições distintas do único caso de posic \subsection{Animação} +A sintaxe básica para inserir um objeto animado é +\begin{FHZmirroLensTcolorbox} +\begin{verbatim} +%\usepackage{animate} +\begin{animateinline}[poster=first, controls, palindrome, bb=-5 -5 50 50]{10} + \multiframe{100}{rx=0.5+0.05}{ + \mirrorSphGaussFixed[50]{2}{6-\rx}{2}{0.4}{11}{-8.5}{12} + } +\end{animateinline} +\end{verbatim} +\end{FHZmirroLensTcolorbox} + +Para mais detalhes, por favor, verifique o pacote \href{https://ctan.org/pkg/animate}{animate}. + \subsubsection{Côncavo} A \autoref{fig:anim_mirror_conc} apresenta uma animação contendo o movimento de um objeto próximo de um espelho côncavo. @@ -510,6 +524,8 @@ A \autoref{fig:equiv_dive} apresenta a equivalência entre os comandos que calcu \subsection{Animação} +A sintaxe básica é a mesma usada para o espelho trocando o comando de espelho pelo comando de lente. + \subsubsection{Convergente} A \autoref{fig:anim_len_conv} apresenta uma animação contendo o movimento de um objeto próximo de uma lente convergente. @@ -556,7 +572,7 @@ A seguir, encontram-se \textit{links} interessantes para outros pacotes com impl \item \href{https://ctan.org/pkg/pst-mirror}{\textbf{CTAN} -- pst-mirror} \item \href{https://ctan.org/pkg/simpleoptics}{\textbf{CTAN} -- simpleoptics} - \item \href{https://youtu.be/efPZ5uSDeuI}{{\YouTube} -- The Organic Chemistry Tutor -- Spherical Mirrors \& The Mirror Equation - Geometric Optics} + \item \href{https://youtu.be/efPZ5uSDeuI}{\textbf{YouTube} -- The Organic Chemistry Tutor -- Spherical Mirrors \& The Mirror Equation - Geometric Optics} \item \href{http://hyperphysics.phy-astr.gsu.edu/hbase/geoopt/mireq.html}{hyperphysics -- Spherical Mirror Equation} \item \href{http://hyperphysics.phy-astr.gsu.edu/hbase/geoopt/lenseq.html}{hyperphysics -- lenseq} @@ -571,6 +587,7 @@ A seguir, encontram-se \textit{links} interessantes para outros pacotes com impl \begin{enumerate}[leftmargin=3.5cm] \item[1.0.0 (2022-12-24):] Criação do pacote. \item[1.0.1 (2022-12-27):] Pequenas correção na entrada dos argumentos das funções em \verb|\mirrorRays| e em \verb|\lensRays|. + \item[1.0.2 (2023-01-08):] Revisão da versão em inglês e remoção de ponto-e-vírgula desnecessário (sugerido por Denis Bitouzé). \end{enumerate} \end{FHZmirroLensTcolorbox} diff --git a/graphics/pgf/contrib/tikz-mirror-lens/doc/tikz-mirror-lens.pdf b/graphics/pgf/contrib/tikz-mirror-lens/doc/tikz-mirror-lens.pdf Binary files differindex 2aa9748b0f..62e2d97e69 100644 --- a/graphics/pgf/contrib/tikz-mirror-lens/doc/tikz-mirror-lens.pdf +++ b/graphics/pgf/contrib/tikz-mirror-lens/doc/tikz-mirror-lens.pdf diff --git a/graphics/pgf/contrib/tikz-mirror-lens/doc/tikz-mirror-lens.tex b/graphics/pgf/contrib/tikz-mirror-lens/doc/tikz-mirror-lens.tex index 94d9d0a505..b0bd20b2e6 100644 --- a/graphics/pgf/contrib/tikz-mirror-lens/doc/tikz-mirror-lens.tex +++ b/graphics/pgf/contrib/tikz-mirror-lens/doc/tikz-mirror-lens.tex @@ -14,7 +14,7 @@ \begin{document} % ========== Capas -{\FHZCapaArticleCabecalho} +\FHZCapaArticleCabecalho{\AutorA}{\Titulo}{{\Cidade} {\Estado} {\Pais}} % ========== \begin{abstract} @@ -48,17 +48,17 @@ The main commands that create the mirror or lens diagrams based on the object's \begin{itemize} \item Mirrors \begin{itemize} - \item \verb|\mirrorSphGauss[setas]{f}{p}{o}{epsilon}|; - \item \verb|\mirrorSphGaussCoord[setas]{f}{p}{o}{epsilon}|; - \item \verb|\mirrorSphGaussFixed[setas]{f}{p}{o}{epsilon}{yM}{xL}{xR}|; - \item \verb|\mirrorSphGaussFixedCoord[setas]{f}{p}{o}{epsilon}{yM}{xL}{xR}{(x_C,y_C)}|; + \item \verb|\mirrorSphGauss[arrows]{f}{p}{o}{epsilon}|; + \item \verb|\mirrorSphGaussCoord[arrows]{f}{p}{o}{epsilon}|; + \item \verb|\mirrorSphGaussFixed[arrows]{f}{p}{o}{epsilon}{yM}{xL}{xR}|; + \item \verb|\mirrorSphGaussFixedCoord[arrows]{f}{p}{o}{epsilon}{yM}{xL}{xR}{(x_C,y_C)}|; \end{itemize} \item Lenses \begin{itemize} - \item \verb|\lensSphGauss[setas]{f}{p}{o}{epsilon}|; - \item \verb|\lensSphGaussCoord[setas]{f}{p}{o}{epsilon}|; - \item \verb|\lensSphGaussFixed[setas]{f}{p}{o}{epsilon}{yM}{xL}{xR}|; - \item \verb|\lensSphGaussFixedCoord[setas]{f}{p}{o}{epsilon}{yM}{xL}{xR}{(x_C,y_C)}|; + \item \verb|\lensSphGauss[arrows]{f}{p}{o}{epsilon}|; + \item \verb|\lensSphGaussCoord[arrows]{f}{p}{o}{epsilon}|; + \item \verb|\lensSphGaussFixed[arrows]{f}{p}{o}{epsilon}{yM}{xL}{xR}|; + \item \verb|\lensSphGaussFixedCoord[arrows]{f}{p}{o}{epsilon}{yM}{xL}{xR}{(x_C,y_C)}|; \end{itemize} \item Lenses with object on the left \begin{itemize} @@ -228,6 +228,20 @@ Figures from \ref{fig:conc01} to \ref{fig:conc05} present the 5 possible cases o \subsection{Animation} +The basic syntax to insert an animated object is +\begin{FHZmirroLensTcolorbox} +\begin{verbatim} +%\usepackage{animate} +\begin{animateinline}[poster=first, controls, palindrome, bb=-5 -5 50 50]{10} + \multiframe{100}{rx=0.5+0.05}{ + \mirrorSphGaussFixed[50]{2}{6-\rx}{2}{0.4}{11}{-8.5}{12} + } +\end{animateinline} +\end{verbatim} +\end{FHZmirroLensTcolorbox} + +For more details, please, check the \href{https://ctan.org/pkg/animate}{animate} package. + \subsubsection{Concave} \autoref{fig:anim_mirror_conc} presents an animation containing the movement of an object close to a concave mirror. @@ -338,9 +352,9 @@ The equations for the position $p^{\prime}$ and the height $i$ of the image from \end{split} \end{equation} -\subsubsection{Objeto à esquerda} +\subsubsection{Object on the left} -Para o objeto à esquerda, a expressão de $p^{\prime}$ e $i$ são dadas por: +For the object on the left, the expression for $p^{\prime}$ and $i$ are given by: \begin{equation} \begin{split} \dfrac{1}{p^{\prime}} & = \dfrac{1}{p} + \dfrac{1}{f} \Rightarrow p^{\prime} = \dfrac{f p}{f + p}, \quad p \neq -f, \\ @@ -504,6 +518,8 @@ Figures from \ref{fig:conv01} to \ref{fig:conv05} present the 5 possible cases o \subsection{Animation} +The basic syntax is the same as that used for mirror by replacing the mirror command with the lens command. + \subsubsection{Convergent} \autoref{fig:anim_len_conv} presents an animation containing the movement of an object close to a converging lens. @@ -550,7 +566,7 @@ Below are interesting \textit{links} to other packages with optics implementatio \item \href{https://ctan.org/pkg/pst-mirror}{\textbf{CTAN} -- pst-mirror} \item \href{https://ctan.org/pkg/simpleoptics}{\textbf{CTAN} -- simpleoptics} - \item \href{https://youtu.be/efPZ5uSDeuI}{{\YouTube} -- The Organic Chemistry Tutor -- Spherical Mirrors \& The Mirror Equation - Geometric Optics} + \item \href{https://youtu.be/efPZ5uSDeuI}{\textbf{YouTube} -- The Organic Chemistry Tutor -- Spherical Mirrors \& The Mirror Equation - Geometric Optics} \item \href{http://hyperphysics.phy-astr.gsu.edu/hbase/geoopt/mireq.html}{hyperphysics -- Spherical Mirror Equation} \item \href{http://hyperphysics.phy-astr.gsu.edu/hbase/geoopt/lenseq.html}{hyperphysics -- lenseq} @@ -565,6 +581,7 @@ Below are interesting \textit{links} to other packages with optics implementatio \begin{enumerate}[leftmargin=3.5cm] \item[1.0.0 (2022-12-24):] Package creation. \item[1.0.1 (2022-12-27):] Small corrections on function argument input order in \verb|\mirrorRays| and in \verb|\lensRays|. + \item[1.0.2 (2023-01-08):] Revised the English version and removed unnecessary semicolons (suggested by Denis Bitouzé). \end{enumerate} \end{FHZmirroLensTcolorbox} diff --git a/graphics/pgf/contrib/tikz-mirror-lens/tex/tikz-mirror-lens.sty b/graphics/pgf/contrib/tikz-mirror-lens/tex/tikz-mirror-lens.sty index 00301f6f8f..88afa44b63 100644 --- a/graphics/pgf/contrib/tikz-mirror-lens/tex/tikz-mirror-lens.sty +++ b/graphics/pgf/contrib/tikz-mirror-lens/tex/tikz-mirror-lens.sty @@ -3,7 +3,7 @@ % ============================= \NeedsTeXFormat{LaTeX2e}[1994/06/01] -\ProvidesPackage{tikz-mirror-lens}[2022-12-25 Custom Package for drawing spherical mirrors and lens -- FHZ -- Version 1.0.0] +\ProvidesPackage{tikz-mirror-lens}[2023-01-08 Custom Package for drawing spherical mirrors and lens -- FHZ -- Version 1.0.2] \RequirePackage{amsmath} \RequirePackage{tikz} @@ -65,9 +65,9 @@ \pp = 0; \i = 0; }; - }; + } % Mirror size, math as parameter - \tikzmath{\ymirror = #5;}; + \tikzmath{\ymirror = #5;} } \newcommand{\lensMath}[5]{ % f > 0 convergente, f < 0 divergente @@ -83,9 +83,9 @@ \pp = 0; \i = 0; }; - }; + } % Lens size, math as parameter - \tikzmath{\ymirror = #5;}; + \tikzmath{\ymirror = #5;} } \newcommand{\lensMathL}[5]{ % f > 0 convergente, f < 0 divergente @@ -101,9 +101,9 @@ \pp = 0; \i = 0; }; - }; + } % Lens size, math as parameter - \tikzmath{\ymirror = #5;}; + \tikzmath{\ymirror = #5;} } % ******************************************************* @@ -123,7 +123,7 @@ \draw[green] (#2,0) node[below left]{$p^{\prime}$} -- ++(0,#4) node[below left]{$i$}; }; }; - }; + } \end{scope} } \newcommand{\mirrorLensCoord}[6]{ @@ -182,7 +182,7 @@ \draw[arrDec={#1-10},violet,dotted] (O) -- (V) -- (#2,-#4); }; }; - }; + } \end{scope} } % ******************************************************* @@ -230,7 +230,7 @@ \draw[arrDec={#1-10},violet,dotted] (O) -- (V) -- (-#2,-#4); }; }; - }; + } \end{scope} } % ******************************************************* @@ -520,4 +520,4 @@ } % ******************************************************* -\endinput
\ No newline at end of file +\endinput diff --git a/graphics/pstricks/contrib/pst-flags/README.md b/graphics/pstricks/contrib/pst-flags/README.md index 52ce2f315c..1c46a32419 100644 --- a/graphics/pstricks/contrib/pst-flags/README.md +++ b/graphics/pstricks/contrib/pst-flags/README.md @@ -5,7 +5,7 @@ LaTeX package for drawing flags of countries using PSTricks This package and its user manual are available at [ctan archive](https://ctan.org/tex-archive/graphics/pstricks/contrib/pst-flags). ### About pst-flags -This package provides a number of macros for rendering flags of countries and their associated artefacts drawn using LaTeX PSTricks package. This package further contributes towards a complete implementation of the vector drawing capabilities provided by PSTricks. Formatting of the resulting drawings is entirely controlled by the TeX macros. A good working knowledge of LaTeX should be sufficient to design flags of sovereign countries and adapt them to create new designs. Features such as color or shape customisation and dynamic modifications are possible by cleverly adjusting the options supplied to the TeX macros. +This package provides a number of macros for rendering flags of world countries and their associated artefacts drawn using LaTeX PSTricks package that allow the inclusion of PostScript drawings directly inside TeX or LaTeX source code. This package further contributes towards a complete implementation of the vector drawing capabilities provided by PSTricks. Formatting of the resulting drawings is entirely controlled by the TeX macros. A good working knowledge of LaTeX should be sufficient to design flags of sovereign countries and adapt them to create new designs. Features such as color or shape customisation and dynamic modifications are possible by cleverly adjusting the options supplied to the TeX macros. ### License Copyright © 2022 Amit M. Manthanwar. Permission is granted to @@ -20,8 +20,7 @@ This package would not have been possible without the base \texttt{PSTricks} and ## Installation and usage of **pst-flags** ### Installation As prerequisites for *pst-flags*, you need working -versions of LaTeX and *pstricks*. The style file `pst-flags.sty` and all corresponding **.tex** and **.eps** assets must be somewhere -in your TeX-input path, where *dvips* can find it. +versions of LaTeX and *pstricks*. The style file `pst-flags.sty` and all corresponding **.tex** and **.eps** assets must be somewhere in your TeX-input path, where *dvips* can find it. Download the zip file from the \texttt{pst-flags} [project page on GitHub](ttps://github.com/manthanwar/pst-flags) and unzip it in the same location as your tex file. Try to complile using the classic `latex -> dvips -> ps2pdf` toolchain. ### Dependencies This packages requires expl3, fp, xfp, pstricks and pst-all. @@ -31,14 +30,11 @@ Load the packages **pstricks** and **pst-flags** in that order via the `\usepackage` macro. Now you are ready to use the `\usepackage{pst-flags}` macros within your document body. This macro is described in the next section with all its options. With the help of the following simple LaTeX-source code you can test whether you have correctly installed the package: ``` -\begin{verbatim} \documentclass{article} -\usepackage{pstricks} \usepackage{pst-flags} \begin{document} Flag of US: \rput(0,0){\flagUS[2]} \end{document} -\end{verbatim} ``` ### Colors @@ -48,4 +44,10 @@ Flag colors are defined using country code appended with color name which can be \usepackage{pst-flags-colors-html} \pscircle[linecolor=usRed](0,0){2} -```
\ No newline at end of file +``` + +## Support +If you run into any issue then please raise it at out [project page on GitHub](ttps://github.com/manthanwar/pst-flags). + +## Collaboration +For all collaboration related queries please contact the author via email provided in the style file. diff --git a/graphics/pstricks/contrib/pst-flags/doc/amm-pst-doc.cls b/graphics/pstricks/contrib/pst-flags/doc/amm-pst-doc.cls index 6bd4456285..1bea4edce4 100644 --- a/graphics/pstricks/contrib/pst-flags/doc/amm-pst-doc.cls +++ b/graphics/pstricks/contrib/pst-flags/doc/amm-pst-doc.cls @@ -5,7 +5,7 @@ % Mailer: manthanwar@hotmail.com % WebURL: https://manthanwar.github.io % GitHub: https://github.com/manthanwar/PST-Flags -% Rights: Copyright (c)2022 Amit Manohar Manthanwar +% Rights: Copyright (c)2022-23 Amit Manohar Manthanwar %------------------------------------------------------------------------------- % This program can be redistributed and/or modified under the terms % of the LaTeX Project Public License Distributed from CTAN archives @@ -19,11 +19,13 @@ %---------------+---------+---------------------------------------------------- % 25-Dec-2022 | AMM | CTAN Review Updates %---------------+---------+---------------------------------------------------- +% 09-Jan-2023 | AMM | Removed xcolor from pst-flags.sty +%---------------+---------+---------------------------------------------------- %---------------+---------+---------------------------------------------------- %---------------+---------+---------------------------------------------------- %=============================================================================== \NeedsTeXFormat{LaTeX2e} -\ProvidesClass{amm-pst-doc}[2022/12/25 Amit M. Manthanwar LaTeX Document Class] +\ProvidesClass{amm-pst-doc}[2022/01/09 Amit M. Manthanwar LaTeX Document Class] %------------------------------------------------------------------------------- \LoadClass[oneside,10pt,a4paper]{article} %------------------------------------------------------------------------------- diff --git a/graphics/pstricks/contrib/pst-flags/doc/pst-flags-doc.pdf b/graphics/pstricks/contrib/pst-flags/doc/pst-flags-doc.pdf Binary files differindex 4b9d9267fa..1868452da8 100644 --- a/graphics/pstricks/contrib/pst-flags/doc/pst-flags-doc.pdf +++ b/graphics/pstricks/contrib/pst-flags/doc/pst-flags-doc.pdf diff --git a/graphics/pstricks/contrib/pst-flags/doc/pst-flags-doc.tex b/graphics/pstricks/contrib/pst-flags/doc/pst-flags-doc.tex index 94e82755c5..e6959e3e7e 100644 --- a/graphics/pstricks/contrib/pst-flags/doc/pst-flags-doc.tex +++ b/graphics/pstricks/contrib/pst-flags/doc/pst-flags-doc.tex @@ -5,7 +5,7 @@ % Mailer: manthanwar@hotmail.com % WebURL: https://manthanwar.github.io % GitHub: https://github.com/manthanwar/PST-Flags -% Rights: Copyright (c)2022 Amit Manohar Manthanwar +% Rights: Copyright (c)2022-2023 Amit Manohar Manthanwar %------------------------------------------------------------------------------- % This program can be redistributed and/or modified under the terms % of the LaTeX Project Public License Distributed from CTAN archives @@ -19,6 +19,8 @@ %---------------+---------+---------------------------------------------------- % 25-Dec-2022 | AMM | CTAN Review Updates %---------------+---------+---------------------------------------------------- +% 09-Jan-2023 | AMM | Removed xcolor +%---------------+---------+---------------------------------------------------- %---------------+---------+---------------------------------------------------- %---------------+---------+---------------------------------------------------- %=============================================================================== @@ -26,7 +28,7 @@ \usepackage{pst-flags} \title{\vspace*{-10mm} \texttt{pst-flags}: A PSTricks Package for Drawing Flags of Countries\\[2mm] -\Large{Version 2022/12/25}} +\Large{Version 2022/01/09}} \author{Amit M. Manthanwar} \date{} @@ -66,7 +68,6 @@ in that order via the \texttt{usepackage} macro. Now you are ready to use the \t \begin{verbatim} \documentclass{article} -\usepackage{pstricks} \usepackage{pst-flags} \begin{document} Flag of US: \rput(0,0){\flagUS[2]} diff --git a/graphics/pstricks/contrib/pst-flags/doc/pst-flags-examples.tex b/graphics/pstricks/contrib/pst-flags/doc/pst-flags-examples.tex index 58be080315..12652b856c 100644 --- a/graphics/pstricks/contrib/pst-flags/doc/pst-flags-examples.tex +++ b/graphics/pstricks/contrib/pst-flags/doc/pst-flags-examples.tex @@ -5,7 +5,7 @@ % Mailer: manthanwar@hotmail.com % WebURL: https://manthanwar.github.io % GitHub: https://github.com/manthanwar/PST-Flags -% Rights: Copyright (c)2022 Amit Manohar Manthanwar +% Rights: Copyright (c)2022-2023 Amit Manohar Manthanwar %------------------------------------------------------------------------------- % This program can be redistributed and/or modified under the terms % of the LaTeX Project Public License Distributed from CTAN archives @@ -19,6 +19,8 @@ %---------------+---------+---------------------------------------------------- % 25-Dec-2022 | AMM | CTAN Review Updates %---------------+---------+---------------------------------------------------- +% 09-Jan-2023 | AMM | Removed xcolor +%---------------+---------+---------------------------------------------------- %---------------+---------+---------------------------------------------------- %---------------+---------+---------------------------------------------------- %=============================================================================== diff --git a/graphics/pstricks/contrib/pst-flags/tex/pst-flags-colors-html.sty b/graphics/pstricks/contrib/pst-flags/tex/pst-flags-colors-html.sty index 81c5e0f893..f33e81f086 100644 --- a/graphics/pstricks/contrib/pst-flags/tex/pst-flags-colors-html.sty +++ b/graphics/pstricks/contrib/pst-flags/tex/pst-flags-colors-html.sty @@ -19,13 +19,15 @@ %---------------+---------+---------------------------------------------------- % 25-Dec-2022 | AMM | CTAN Review Updates %---------------+---------+---------------------------------------------------- +% 09-Jan-2023 | AMM | Removed xcolor options +%---------------+---------+---------------------------------------------------- %---------------+---------+---------------------------------------------------- %---------------+---------+---------------------------------------------------- %=============================================================================== \NeedsTeXFormat{LaTeX2e}[2022/12/25] \ProvidesPackage{pst-flags-colors-html}[2022/12/25 Colors of country flags] %------------------------------------------------------------------------------- -\RequirePackage[dvipsnames,svgnames]{xcolor} +\RequirePackage{xcolor} %=============================================================================== \definecolor{adBeige}{HTML}{C6AA76} \definecolor{adBlue}{HTML}{10069F} diff --git a/graphics/pstricks/contrib/pst-flags/tex/pst-flags.sty b/graphics/pstricks/contrib/pst-flags/tex/pst-flags.sty index 95cba4aa02..572492d116 100644 --- a/graphics/pstricks/contrib/pst-flags/tex/pst-flags.sty +++ b/graphics/pstricks/contrib/pst-flags/tex/pst-flags.sty @@ -6,7 +6,7 @@ % Mailer: manthanwar@hotmail.com % WebURL: https://manthanwar.github.io % GitHub: https://github.com/manthanwar/PST-Flags -% Rights: Copyright ©2022 Amit Manohar Manthanwar +% Rights: Copyright ©2022-2023 Amit Manohar Manthanwar %------------------------------------------------------------------------------- %% This program can be redistributed and/or modified under the terms %% of the LaTeX Project Public License Distributed from CTAN archives @@ -19,12 +19,13 @@ %---------------+---------+---------------------------------------------------- % 25-Dec-2022 | AMM | CTAN Review Updates %---------------+---------+---------------------------------------------------- +% 09-Jan-2023 | AMM | Removed xcolor +%---------------+---------+---------------------------------------------------- %---------------+---------+---------------------------------------------------- %---------------+---------+---------------------------------------------------- %=============================================================================== -\NeedsTeXFormat{LaTeX2e}[2022/12/25] -\ProvidesPackage{pst-flags}[2022/12/25 LaTeX package for country flags] -\RequirePackage[dvipsnames,svgnames]{xcolor} +\NeedsTeXFormat{LaTeX2e}[2022/01/09] +\ProvidesPackage{pst-flags}[2022/01/09 LaTeX package for country flags] \RequirePackage{fp} \RequirePackage{xfp} \RequirePackage{expl3} @@ -5105,7 +5106,7 @@ linestyle=solid,linecolor=black,linewidth=0.04}% \newcommand{\flagHK}[1][4]{% \FPeval{\wide}{round(#1/9:3)}\psscalebox{\wide}{% \psset{dimen=middle, fillstyle=solid, linestyle=none}% -\psframe[fillcolor=Red](0,0)(9,6)% +\psframe[fillcolor=hkRed](0,0)(9,6)% %\psset{fillstyle=none,linestyle=solid,linewidth=0.02}% %\pscircle(4.5,3){1.8}% \rput(4.5,3){\multido{\nA=-103.48+72}{5}{% |