From 983dd69049554cf96f81034d9b68e065052c40de Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sun, 23 Jun 2019 21:00:08 +0000 Subject: mcf2graph (23jun19) git-svn-id: svn://tug.org/texlive/trunk@51434 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG | 8 +- Master/texmf-dist/doc/metapost/mcf2graph/README | 2 +- .../doc/metapost/mcf2graph/mcf_exa_soc.mf | 34 ++---- .../doc/metapost/mcf2graph/mcf_example.pdf | Bin 281216 -> 282227 bytes .../doc/metapost/mcf2graph/mcf_man_soc-064.mps | 131 +++++++++++---------- .../doc/metapost/mcf2graph/mcf_man_soc.mf | 80 ++----------- .../doc/metapost/mcf2graph/mcf_manual.pdf | Bin 590835 -> 594241 bytes .../doc/metapost/mcf2graph/mcf_manual.tex | 15 +-- .../doc/metapost/mcf2graph/mcf_mplib_exa.pdf | Bin 172266 -> 172135 bytes .../doc/metapost/mcf2graph/mcf_mplib_exa.tex | 4 +- Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf | 104 +++++++++------- 11 files changed, 164 insertions(+), 214 deletions(-) diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG b/Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG index 51a235a68b6..57e699c7965 100644 --- a/Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG +++ b/Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG @@ -1,6 +1,12 @@ ******************************************************************************* - Changelog of mcf2graph software package by Akira Yamaji 2019-05-26 + Changelog of mcf2graph software package by Akira Yamaji 2019-06-23 ******************************************************************************* +[ver. 4.43 / 2019-06-23] + -add binop for add() + a << b : a rotated b + -improve embedded font + -update MCF manual + [ver. 4.42 / 2019-05-26] -add function for add() plus : circled plus diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/README b/Master/texmf-dist/doc/metapost/mcf2graph/README index eb58b0df7a7..ccb4b68c70f 100644 --- a/Master/texmf-dist/doc/metapost/mcf2graph/README +++ b/Master/texmf-dist/doc/metapost/mcf2graph/README @@ -1,7 +1,7 @@ ******************************************************************************** mcf2graph : Convert Molecular Coding Format to graphics with METAFONT/METAPOST Author : Akira Yamaji - version : 4.42 2019-05-26 + version : 4.43 2019-06-23 E-mail : mcf2graph@gmail.com Located at : http://www.ctan.org/pkg/mcf2graph ******************************************************************************** diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_exa_soc.mf b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_exa_soc.mf index 67bb2b2aad6..e7602063f29 100644 --- a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_exa_soc.mf +++ b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_exa_soc.mf @@ -1,16 +1,15 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Molecular Coding Format for mcf_example.tex by Akira Yamaji 2019.05.26 +% Molecular Coding Format for mcf_example.tex by Akira Yamaji 2019.06.23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -input mcf2graph.mf; %%% it must be version 4.42 or later +input mcf2graph.mf; %%% it must be version 4.43 or later %------------------------------------------------------------------------- fsize:=(33mm,24mm); max_blength:=4.5mm; %------------------------------------------------------------------------- -sw_select:=1; -%%%sw_aux_out:=1; -%%%%sw_font_frame:=1; -%%%%sw_atom_frame:=1; -%%%%sw_mol_frame:=1; +%%%%sw_aux_out:=1; +%%%%sw_fframe:=1; +%%%%sw_aframe:=1; +%%%%sw_mframe:=1; %%%% sw_expand:=1; var3:="cal_FM"; tag3:="cFM"; var4:="cal_MW"; tag4:="cMW"; @@ -26,6 +25,9 @@ var4:="cal_MW"; tag4:="cMW"; %%%% auxtag_out; %%%% sw_rep_out:=1; %%%% sw_mol_out:=1; +%%%% atomfont:="uhvb8r"; +%%%% atomfont:="cmtt8"; +%%%% atomfont:="cmvtt10"; %%%% outputformat:="png"; hppp:=vppp:=0.1; outputtemplate:="%j-%3c.png"; %*************************************************************************** beginfont("EN:Acetamiprid","MW:222.676","FM:C10H11ClN4") @@ -393,21 +395,3 @@ beginfont("EN:Atoropin","MW:289.375") endfont %*************************************************************************** bye -wb:#,$3:/!OH~wv) -endfont -%*************************************************************************** -bye -****************** -bye -wb:#,$3:/!OH~wv) -endfont -%*************************************************************************** -bye -e -*********************************** -bye -e -e -******************************** -bye -e diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.pdf b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.pdf index 128d46905f3..574beea3a3d 100644 Binary files a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.pdf and b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.pdf differ diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc-064.mps b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc-064.mps index 70e27e77c68..ff262231486 100644 --- a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc-064.mps +++ b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc-064.mps @@ -2,7 +2,7 @@ %%BoundingBox: -1 -1 213 57 %%HiResBoundingBox: -0.1 -0.1 212.69804 56.79282 %%Creator: MetaPost 2.00 -%%CreationDate: 2019.05.11:0740 +%%CreationDate: 2019.06.19:0623 %%Pages: 1 %%DocumentResources: procset mpost-minimal %%+ font JIZCCV-NimbusSanL-Regu IXTKJB-CMR8 @@ -436,76 +436,77 @@ cleartomark %%EndSetup %%Page: 1 1 1 0 0 setrgbcolor -newpath 54.2302 6.07826 moveto -54.98193 6.07826 lineto -54.98193 13.30063 lineto -54.2302 13.30063 lineto +newpath 54.14986 5.99792 moveto +54.9016 5.99792 lineto +54.9016 13.38094 lineto +54.14986 13.38094 lineto closepath fill -newpath 60.70082 6.07826 moveto -61.45256 6.07826 lineto -61.45256 13.30063 lineto -60.70082 13.30063 lineto +newpath 60.78113 5.99792 moveto +61.53287 5.99792 lineto +61.53287 13.38094 lineto +60.78113 13.38094 lineto closepath fill -newpath 55.28262 13.30063 moveto -54.2302 13.30063 lineto -60.40013 6.07826 lineto -61.45256 6.07826 lineto +newpath 55.20229 13.38094 moveto +54.14986 13.38094 lineto +60.48044 5.99792 lineto +61.53287 5.99792 lineto closepath fill 0 0 1 setrgbcolor -newpath 54.2302 46.23317 moveto -54.98193 46.23317 lineto -54.98193 53.45554 lineto -54.2302 53.45554 lineto +newpath 54.14986 46.15283 moveto +54.9016 46.15283 lineto +54.9016 53.53584 lineto +54.14986 53.53584 lineto closepath fill -newpath 60.70082 46.23317 moveto -61.45256 46.23317 lineto -61.45256 53.45554 lineto -60.70082 53.45554 lineto +newpath 60.78113 46.15283 moveto +61.53287 46.15283 lineto +61.53287 53.53584 lineto +60.78113 53.53584 lineto closepath fill -newpath 55.28262 53.45554 moveto -54.2302 53.45554 lineto -60.40013 46.23317 lineto -61.45256 46.23317 lineto +newpath 55.20229 53.53584 moveto +54.14986 53.53584 lineto +60.48044 46.15283 lineto +61.53287 46.15283 lineto closepath fill 0 0 0 setrgbcolor -newpath 86.97878 7.24837 moveto -87.73051 7.24837 lineto -87.73051 14.47073 lineto -86.97878 14.47073 lineto +newpath 86.89844 7.16803 moveto +87.65018 7.16803 lineto +87.65018 14.55104 lineto +86.89844 14.55104 lineto closepath fill -newpath 93.4494 7.24837 moveto -94.20114 7.24837 lineto -94.20114 14.47073 lineto -93.4494 14.47073 lineto +newpath 93.52971 7.16803 moveto +94.28145 7.16803 lineto +94.28145 14.55104 lineto +93.52971 14.55104 lineto closepath fill -newpath 88.0312 14.47073 moveto -86.97878 14.47073 lineto -93.14871 7.24837 lineto -94.20114 7.24837 lineto +newpath 87.95087 14.55104 moveto +86.89844 14.55104 lineto +93.22902 7.16803 lineto +94.28145 7.16803 lineto closepath fill -newpath 95.00368 7.24837 moveto -95.75542 7.24837 lineto -95.75542 14.47073 lineto -95.00368 14.47073 lineto +newpath 94.92334 7.16803 moveto +95.67508 7.16803 lineto +95.67508 14.55104 lineto +94.92334 14.55104 lineto closepath fill 0 0.75172 dtransform truncate idtransform setlinewidth pop [] 0 setdash 1 setlinecap 1 setlinejoin 10 setmiterlimit -newpath 95.37955 10.85956 moveto -101.85017 10.85956 lineto stroke -newpath 101.4743 7.24837 moveto -102.22604 7.24837 lineto -102.22604 14.47073 lineto -101.4743 14.47073 lineto +newpath 95.29921 10.85954 moveto +101.93048 10.85954 lineto stroke +newpath 101.55461 7.16803 moveto +102.30635 7.16803 lineto +102.30635 14.55104 lineto +101.55461 14.55104 lineto closepath fill 0 setlinecap -newpath 103.40445 3.72455 moveto -107.70834 7.20824 lineto -108.16013 8.64967 107.06673 10.11005 105.5564 10.08241 curveto -104.21153 10.0578 103.24103 8.89792 103.27287 7.59808 curveto stroke -newpath 108.08421 3.23592 moveto -108.08421 3.98766 lineto -103.02858 3.98766 lineto -103.02858 3.23592 lineto +newpath 103.32411 3.64421 moveto +103.60684 4.45103 104.14868 5.14159 104.8651 5.60812 curveto +105.96042 6.32141 107.49776 6.64987 107.74046 7.95448 curveto +107.96924 9.18422 106.85799 10.2441 105.53229 10.16272 curveto +104.34424 10.0898 103.397 9.14253 103.32411 7.95448 curveto stroke +newpath 108.11633 3.15558 moveto +108.11633 3.90732 lineto +102.94824 3.90732 lineto +102.94824 3.15558 lineto closepath fill 0 0.50114 dtransform truncate idtransform setlinewidth pop 1 setlinecap newpath 40.45374 19.72816 moveto @@ -535,16 +536,16 @@ newpath 75.229 19.72816 moveto 86.09601 13.45413 lineto stroke 9.22984 46.03944 moveto (\(draw\)) uhvr8r 9.96265 fshow -150.14568 6.07826 moveto -(N) cmr8 10.56937 fshow -150.14568 46.23317 moveto -(N) cmr8 10.56937 fshow -182.89426 7.24837 moveto -(N) cmr8 10.56937 fshow -192.2405 7.24837 moveto -(H) cmr8 10.56937 fshow -201.43135 3.21307 moveto -(2) cmr8 10.56937 fshow +150.05211 5.99792 moveto +(N) cmr8 10.80444 fshow +150.05211 46.15283 moveto +(N) cmr8 10.80444 fshow +182.80069 7.16803 moveto +(N) cmr8 10.80444 fshow +192.14693 7.16803 moveto +(H) cmr8 10.80444 fshow +201.3689 3.13731 moveto +(2) cmr8 10.80444 fshow newpath 136.30315 19.72816 moveto 149.19687 12.28403 lineto stroke newpath 139.89285 21.47943 moveto diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc.mf b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc.mf index 65e65761a6d..31afd36f966 100644 --- a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc.mf +++ b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc.mf @@ -1,7 +1,7 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Molecular Coding Format file for mcf_manual.tex by Akira.Yamaji 2019.05.26 +% Molecular Coding Format file for mcf_manual.tex by Akira.Yamaji 2019.06.23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -input mcf2graph.mf; %% it must be version 4.42 or later +input mcf2graph.mf; %% it must be version 4.43 or later %------------------------------------------------------------------------ sw_mframe:=0; sw_expand:=0; @@ -114,10 +114,10 @@ beginfont("EN:Chain 1") 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("30",B10/*.7); + 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("30",B10/*.7); drawarrow B11/*.7{B11right}..{B5right}B5/*.7; label.ulft("-30",B11/*.7); drawarrow B12/*.7{B12left}..{B6left}B6/*.7; label.llft("60",B12/*.7); ) @@ -967,7 +967,7 @@ beginfont("EN:add()") add(labeloffset:=.7aw; label.top(lonepair 90,A7); drawarrow (A7+up**1.2aw){A7left}..{B7right}B7/*0.3; - drawarrow B3m{B3right}..A3+(1.5aw,.5aw)..{A3down}A3; + drawarrow B3m..A3+B2up**1.5aw..{A3down}A3; ) MCat(1,0)(<30,?6,{1,5}=dl,4://NH2) add(labeloffset:=.7aw; @@ -1129,69 +1129,3 @@ beginfont("EN:Cholesterol","CAS:57-88-5","FM:C27H46O","MW:386.65") endfont %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% bye -%%%%%%%%%%%%%%%%%%% -bye -bye -5}:/_, - 4:*\^75,NH,!,//O,!,/*NH2,!,Ph) -endfont -%*************************************************************************** -beginfont("EN:Cholesterol","CAS:57-88-5","FM:C27H46O","MW:386.65") - fsize:=(60mm,15mm); - MC( - <30,?6,{-4,-2}=?6,-4=?5,7=dl, - 1:*/OH,{4,12}:*/_^60,9:*/H^60, - 10:/*H^180,11:/*H^-60,17:/*H^-54, - -1:@,18,/*_,-60,!3,/_,!, - ) -endfont -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -bye -%%%%%%%%%%%%%%%%%%% -bye -bye -12:\*^-15,O,60,//O,-60) -endfont -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -beginfont("EN:Ampicillin","MW:349.405") - fsize:=(60mm,15mm); - MC(<45,?4,-3=?5,2:N,7:S, - {3^45,4^-45}:/*H,1://O^15,5:/*COOH^-18,{6^35,6^-35}:/_, - 4:*\^75,NH,!,//O,!,/*NH2,!,Ph) -endfont -%*************************************************************************** -beginfont("EN:Cholesterol","CAS:57-88-5","FM:C27H46O","MW:386.65") - fsize:=(60mm,15mm); - MC( - <30,?6,{-4,-2}=?6,-4=?5,7=dl, - 1:*/OH,{4,12}:*/_^60,9:*/H^60, - 10:/*H^180,11:/*H^-60,17:/*H^-54, - -1:@,18,/*_,-60,!3,/_,!, - ) -endfont -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -bye -%%%%%%%%%%%%%%%%%%% -bye -bye - -bye -bye -bye -%%% -bye -bye -%%%%%%%%%%%%%%% -bye -bye -:@,18,/*_,-60,!3,/_,!, - ) -endfont -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -bye -%%%%%%%%%%%%%%%%%%% -bye -bye -%%%%%%% -bye -bye diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.pdf b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.pdf index 1b6a29efdef..55094d64389 100644 Binary files a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.pdf and b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.pdf differ diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.tex b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.tex index a17dfb80d72..7dea8b88f28 100644 --- a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.tex +++ b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.tex @@ -1,5 +1,5 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Molecular Coding Format manual by Akira Yamaji 2019.05.26 +% Molecular Coding Format manual by Akira Yamaji 2019.06.23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \documentclass[a4paper]{article} %%%%\documentclass[a4paper,twoside]{article} @@ -37,7 +37,7 @@ %---------------------------------------------------------------------------- \MCFformat=-1% use pkfont %%\MCFformat=0% \includegraphics{jobname-nnn.mps} -%%\MCFformat=1% \includegraphics[width=wd{jobname-nnn.png} +%%\MCFformat=1% \includegraphics[width=wd{jobname-nnn.png}} %%\MCFformat=2% \includegraphics{jobname-nnn.svg} %%\MCFformat=3% \includegraphics{jobname-nnn.eps} %---------------------------------------------------------------------------- @@ -599,10 +599,10 @@ pk font,PNG,SVG,EPS or MDL MOL file. \begin{verbatim} |< : start brock >| : end brock - |<=n : |<,``n + |=n, bond length=n ,=| <30,!2,|<,``1.2,!2,>|,!2 - <30,!2,|<=1.2,!2,>|,!2 + <30,!2,|=1.2,!2,=|,!2 \end{verbatim} \MCFgraph %----------------------------------------------------------------------------- @@ -1087,7 +1087,8 @@ MCat(1, .5)(<30,Ph,4:/COOH,3:/NH2) lonepair r: ':' rotated r lonepairdiam = 0.3aw (default) lonepairspace = 0.7aw (default) - a ** b : a scaled b + ** : scaled + << : rotated a /* b : point b of a %---------------------------------------- beginfont() @@ -1099,8 +1100,8 @@ beginfont() label.top(lone_pair 90,A7); drawarrow (A7+up**1.2aw){A7left} ..{B7right}B7/*0.3; - drawarrow B3m{B3right}.. - A3+(1.5aw,.5aw)..{A3down}A3; + drawarrow B3m..A3+B2up**1.5aw + ..{A3down}A3; ) MCat(1,0)(<30,?6,{1,5}=dl,4://NH2) add( diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.pdf b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.pdf index 46bae635603..01beb82d74d 100644 Binary files a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.pdf and b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.pdf differ diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.tex b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.tex index cbc52714123..1c5d30bf9f4 100644 --- a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.tex +++ b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.tex @@ -1,7 +1,7 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Example of MCF typest with LuaLaTeX(luamplib) by A.Yamaji 2019.05.26 +% Example of MCF typest with LuaLaTeX(luamplib) by A.Yamaji 2019.06.23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%% mcf2graph.mf it must be version 4.42 or later +%%% mcf2graph.mf it must be version 4.43 or later \documentclass{article} %------------------------------------------------------------------------------ \usepackage{luamplib}% diff --git a/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf b/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf index 364e83f1a5f..289739d439b 100644 --- a/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf +++ b/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf @@ -1,5 +1,5 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% mcf2graph ver 4.42 Copyright (c) 2013-2019 Akira Yamaji +% mcf2graph ver 4.43 Copyright (c) 2013-2019 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, @@ -36,7 +36,7 @@ % Set to use plain.mp (label,arrow,atom) : mpost -s labeloffset=2 FILENAME %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% tracingstats:=1; -message " This is mcf2graph ver 4.42 2019.05"; +message " This is mcf2graph ver 4.43 2019.06"; %------------------------------------------------------------------------------------------------- newinternal char_num,str_cnt,sub_usr,sub_int,tbl_cnt,sharp_char; numeric save_num[],comD[][],parD[][],cntD[],tbl_atom[],tbl_subst[][], @@ -131,7 +131,7 @@ def fat(expr a,b)= mposition:=b; a enddef; ratio_chain_ring:= 0.66; ratio_atom_bond:=0.36; ratio_thickness_bond:=0.015; ratio_thickness_char:=0.1; ratio_char_bond:=1.5; ratio_bondgap_bond:=0.15; ratio_zebragap_bond:=0.12; -ratio_zebra_black:=0.4; ratio_wedge_bond:=0.12; ratio_atomgap_atom:=0.050; +ratio_zebra_black:=0.4; ratio_wedge_bond:=0.12; ratio_atomgap_atom:=0.040; offset_thickness:=0.2bp; offset_bond_gap:=0.3bp; offset_zebra_gap:=0.1bp; offset_atom:=0.8pt; offset_wedge:=0.4bp; max_labelsize:=20mm; thickness_fframe:=0.2bp; thickness_mframe:=0.2bp; thickness_aframe:=0.1bp; @@ -488,16 +488,17 @@ enddef; %-------------------------------------------------------------------------------------------------- def add_mole(text TXT)= begingroup - save w,h,n,l,p,am,aw,A,B,plus,minus,lonepair,**,/*; + save w,h,n,l,p,am,aw,A,B,plus,minus,lonepair,**,<<,/*; numeric A[]dir,B[]up,A[]ang,B[]ang; pair p[],A[],B[],B[]s,B[]e,B[]m,A[]up,A[]left,A[]right,A[]down, B[]up,B[]left,B[]right,B[]down; path B[]; ext_setup; - def plus=circled_plus_add enddef; - def minus=circled_minus_add enddef; - def lonepair=lone_pair_add enddef; - let **=scaled; + def plus = circled_plus_add enddef; + def minus = circled_minus_add enddef; + def lonepair = lone_pair_add enddef; + let ** = scaled; + let << = rotated; primarydef a /* b = point b of a enddef; w:=mol_wd; h:=mol_ht; l:=blength; aw:=atom_wd; p0:=(minX,minY); @@ -1320,21 +1321,26 @@ def char_size_set(expr WD)(expr HT)(expr STR)= endfor enddef; %------------------------------------------------------------------------------------------------- -char_size_set( 1)( 1)("CGHMNOQ"); -char_size_set( .9)( 1)("ABDEFIJKLPRSTUVWXYZ/><#\%@"); +char_size_set( .8)( 1)("ELZ&"); +char_size_set( .7)( 1)(" ()[]0123456789nh=tfg?~"); +char_size_set( .7)( .9)("$"); char_size_set( .7)( .7)("-+*"); char_size_set(.45)(.95)("l"); -char_size_set(.75)( .8)("o"); +char_size_set(.75)( .8)("opq"); char_size_set( .8)( .8)("e"); -char_size_set( .7)( .8)("abdcksuvxzwry"); +char_size_set( .9)( .8)("wm"); +char_size_set( .7)( .8)("abdcksuvrxyz"); char_size_set(.35)( .9)("i"); +char_size_set( .5)( .9)("j"); +char_size_set(.35)( 1)("!|"); char_size_set( .4)( 1)(".,:;'`^"); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% def draw_char(expr CHR,POS,WD,PEN,NUM)= begingroup save Z,aW,aH,fW,fH,hW,hW,hH,fP,hP,zO,zOh,pos,dw,dwh,dwv,cdw,ppcs,sbp,sC; -path zO,zOh; +path zO,zOh,zOa; string sC; pair Z[],pos; %------------------------------------------------------------------------------------------------- @@ -1355,8 +1361,11 @@ fW:=aW-hP; hW:=.5aW; fH:=aH-hP; hH:=.5aH; Z01:=( 0,hP); Z02:=(hP, 0); Z03:=(hP,hP); Z04:=(aW,hP); Z05:=(fW, 0); Z06:=(hW,aH); Z07:=(hW, 0); Z08:=( 0,hH); Z09:=(hP,hH); Z10:=(fW,hH); Z11:=(hW,aW); Z12:=( 0,fH); Z13:=(hP,fH); Z14:=(hW,fH); Z15:=(fW,aH); Z16:=(aW,fH); Z17:=(aW,hH); Z18:=(hP,aH); Z19:=(hW,hP); Z20:=(hW,hH); Z21:=(fW,hP); -zO:=Z10..(.8aW,fH)..tension 1.5..(.2aW,fH)..Z09..(.2aW,hP)..tension 1.5..(.8aW,hP)..cycle; +Z22:=(fW,fH); Z23:=(hW,fW); +zO:=Z10..(.8aW,fH-.5hP)..tension 1.5..(.2aW,fH-.5hP)..Z09.. + (.2aW,1.5hP)..tension 1.5..(.8aW,1.5hP)..cycle; zOh:=(hP,.25aH)..Z19..(fW,.25aH)..Z20..cycle; +zOa:=(hP,.35aH)..(hW,hP)..(fW,.35aH)..(hW,.7aH)..cycle; %------------------------------------------------------------------------------------------------- ppcs fP; if sC="A": dwvs(1.14) Z02--Z06--Z05; dw .33[Z02,Z06]--.33[Z05,Z06]; @@ -1364,24 +1373,25 @@ ef sC="B": dw Z13--Z14{right}..(.9fH,.75aH)..{left}Z20--Z09--Z20{right}..(.9fH,. {left}Z19--Z03; dwv Z02--Z18; ef sC="C": cdw sbp(.05,.95)zO; ef sC="D": dw Z13--Z14..Z10..Z19--Z03; dwv Z02--Z18; -ef sC="E": pickup pensquare scaled fP; dw Z21--Z03--Z13--(fW,fH); dw Z09--Z10; +ef sC="E": pickup pensquare scaled fP; dw Z21--Z03--Z13--Z22; dw Z09--Z10; ef sC="F": dwh Z12--Z16; dwh (0,.45aH)--(fW,.45aH); dw Z02--Z13; ef sC="G": cdw sbp(.06,.97)zO; dwh bot Z20-- bot Z17; ef sC="H": dwv Z02--Z18; dw Z09--Z10; dwv Z05--Z15; ef sC="I": dwv Z19--Z14; dwh (hW-fP,hP)--(hW+fP,hP); dwh (hW-fP,fH)--(hW+fP,fH); ef sC="J": cdw Z09..(hP,.4aH){down}..{right}Z19{right}..{up}(fW,.4aH)..Z15; -ef sC="K": cdw Z02--Z18; cdw .5[.45[Z02,Z18],Z16]--Z05; cdw .45[Z02,Z18]--Z16; +ef sC="K": cdw Z02--Z18; cdw .35[.45[Z02,Z18],Z16]--Z05; cdw .35[Z02,Z18]--Z16; ef sC="L": dwh Z04--Z01; dwv Z02--Z18; ef sC="M": dwv Z02--Z18; dwvs(1.14) Z18--Z19--Z15; dwv Z15--Z05; ef sC="N": dwv Z02--Z18; dwv Z05--Z15; dwvs(1.4) (1.4hP,aH)--(aW-1.4hP,0); ef sC="O": dw zO; -ef sC="P": dwv Z02--Z18; dw Z13--(.3aW,fH){right}..(fW,.7aH)..{left}(.3aW,.44aH)..(hP,.44aH); +ef sC="P": dwv Z02--Z18; dw Z13--(.65aW,fH){right}..(fW,.7aH)..{left}(.65aW,.44aH)..(hP,.44aH); ef sC="Q": dw zO; dw (.6aW,.4aH)--Z05; -ef sC="R": dwv Z02--Z18; dw Z13--(.3aW,fH){right}..(fW,.7aH)..{left}(.3aW,.44aH)..(hP,.44aH); +ef sC="R": dwv Z02--Z18; dw Z13--(.65aW,fH){right}..(fW,.7aH)..{left}(.65aW,.44aH)..(hP,.44aH); cdw Z05{up}..{left}(hW,.44aH); ef sC="S": cdw sbp(.05,.45)zO; cdw sbp(.55,.95)zO; dw (fW,.3aH){up}..{up}(hP,.7aH); ef sC="T": dwh Z12--Z16; dwv .5[Z12,Z16]--Z07; ef sC="U": cdw Z18..Z09{down}..{right}Z19{right}..{up}Z10..Z15; +ef sC="U": cdw Z18..(hP,.4fH){down}..{right}Z19{right}..{up}(fW,.4fH)..Z15; ef sC="V": dwvs(1.2) Z18--Z07--Z15; ef sC="W": dwvs(1.08) Z18--(.25aW,0)--Z06--(.75aW,0)--Z15; ef sC="X": dwvs(1.4) Z18..Z05; dwvs(1.4) Z02..Z15; @@ -1392,20 +1402,20 @@ ef sC="b": dw Z19..Z10..Z11..Z09..cycle; dwv Z02--(hP,1.3aH) ef sC="c": cdw sbp(.06,.94)Z10..Z14..Z09..Z19..cycle; ef sC="d": dw Z19..Z10..Z11..Z09..cycle; dwv Z05--(fW,1.3aH); ef sC="e": cdw sbp(0,.92)Z10..Z14..Z09..Z19..cycle; dw Z10--Z09; -ef sC="f": cdw (hW,0)--(hW,.75aH){up}..(.75aW,fH)..{down}(fW,.8aH); dwh Z08--Z17; -ef sC="g": dw Z19..Z10..Z11..Z09..cycle; cdw (Z15--Z21..(hW,0)..(.1aW,fP)) shifted (0,-.3aH); +ef sC="f": cdw (.4fW,0)--(.4fW,.75aH){up}..(.75aW,fH)..{down}(fW,.8aH); dwh Z08--Z17; +ef sC="g": dw zOa; dw sbp(0,.5)zOh shifted (0,-.5fH); cdw (aW-hP,.7aH)--(aW-hP,-.25aH); ef sC="h": cdw Z02..(hP,.3aH){up}..(hW,.7fH)..{down}(fW,.3aH)..Z05; dwv (hP,.3aH)--Z18; ef sC="i": dwv Z07--(hW,.7aH); ppcs 1.4fP; dw Z14; -ef sC="j": dwv Z19--(hW,.63aH); dw Z19..(.25aW,-hP)..Z01; ppcs 1.4fP; dw Z14; -ef sC="k": dwv Z02--Z18; cdw .5[.45[Z02,Z18],Z16]--Z05; cdw .45[Z02,Z18]--Z16; +ef sC="j": cdw (fW,.7aH)--Z21..(.25aW,-.66fP)..Z03; ppcs 1.4fP; dw Z22; +ef sC="k": dwv Z02--(hP,1.3fH); cdw .5[Z02,Z18]--Z05; cdw .5[Z02,Z18]--Z16; ef sC="l": dwv Z07--Z06; dwh Z14--Z13; dwh Z19--Z21; -ef sC="m": cdw Z02..(hP,.3aH){up}..(.28aW,.7fH)..{down}(hW,.3aH)..Z07; - cdw (hW,.3aH){up}..(.7aW,.7aH-hP)..{down}(fW,.3aH)..Z05; dwv (hP,.3aH)--(hP,.7aH); -ef sC="n": cdw Z02{up}..(hW,.8fH)..{down}(fW,.5aH)..Z05; dwv (hP,.4aH)--(hP,.8aH); +ef sC="m": cdw Z02..(hP,.3aH){up}..(.28aW,fH)..{down}(hW,.3aH)..Z07; + cdw (hW,.6aH){up}..(.7aW,aH-hP)..{down}(fW,.6aH)..Z05; dwv (hP,.3aH)--(hP,aH); +ef sC="n": cdw Z02{up}..(hW,.8fH)..{down}(fW,.5aH)..Z05; dwv (hP,0)--(hP,.8aH); ef sC="o": dw Z19..Z10..Z14..Z09..cycle; -ef sC="p": dw Z19..Z10..Z11..Z09..cycle; dwv (hP,.7aH)--(hP,-.3aH); -ef sC="q": dw Z19..Z10..Z11..Z09..cycle; dwv (fW,.7aH)--(fW,-.3aH); -ef sC="r": cdw (sbp(.35,.72)Z19..Z10..Z14..Z09..cycle) shifted(0,-fP); dwv Z02--Z18; +ef sC="p": dw Z19..Z10..Z14..Z09..cycle; dwv (hP,aH)--(hP,-.3aH); +ef sC="q": dw Z19..Z10..Z14..Z09..cycle; dwv (fW,aH)--(fW,-.3aH); +ef sC="r": cdw (sbp(.33,.72)Z19..Z10..Z14..Z09..cycle) shifted(0,-hP); dwv Z02--Z18; ef sC="s": cdw sbp(.05,.45)zO; cdw sbp(.55,.95)zO; dw (fW,.3aH){up}..{up}(hP,.7aH); ef sC="t": dwv Z07--Z06; dwh (0,.66aH)--(aW,.66aH); ef sC="u": cdw Z18..(hP,.55aH){down}..Z19..(fW,.55aH){up}..Z15; dwv Z15--Z05; @@ -1415,16 +1425,17 @@ ef sC="x": dwvs(1.4) Z18--Z05; dwvs(1.4) Z15--Z02; ef sC="y": dwvs(1.4) (Z18--Z20) shifted (0,-.3aH); dwvs(1.4) (Z15--Z02) shifted (0,-.3aH); ef sC="z": dwh Z12--Z16; dwvs(1.4) (1.4hP,fP)--(aW-1.4hP,aH-fP); dwh Z01--Z04; ef sC="0": dw Z09...Z14...Z10...Z19...cycle; -ef sC="1": dwv Z07--Z06--(hW-hP,fH)--(hW-hP,aH-2.5hP); -ef sC="2": cdw sbp(0,.71)(hP,1.3hP)--(fW,.55aH)..Z14..(hP,.5aH)..(hW,.27aH); dwh Z04--Z01; -ef sC="3": cdw sbp(0,.77)zOh; cdw sbp(.23,.95)zOh shifted (0,.5aH-hP); dwh (.3aW,hH)--Z20; -ef sC="4": dwh (0,.3aH)--(aW,.3aH); dwv (.7aW,0)--(.7aW,aH)--(1.2hP,.3aH+hP); -ef sC="5": dwh Z12--Z16; dwv Z13--(hP,.49aH); cdw (.5hP,.15aH)..(.65aW,1.3hP)..(fW,.3aH).. - (hW,.6aH)..(.6hP,.53aH); -ef sC="6": dw Z19..(fW,.5fW)..(hW,fW)..(hP,.5fW)..cycle; cdw (hP,.4aH)--Z06; +ef sC="1": dwv Z07--(hW,aH-.3hP)--(hW-fP,aH-fP)--(hW-fP,aH-1.5fP); +ef sC="2": cdw (hP,1.3hP)..(.4fW,.35fH)..(fW,.65aH)..Z14..(hP,.65aH); dwh Z04--Z01; +ef sC="3": cdw sbp(0,.75)zOh; cdw sbp(.25,.98)zOh shifted (0,hH-hP); dwh (.3aW,hH)--Z20; +ef sC="4": dwh (0,.25aH)--(aW,.25aH); dwv (.75aW,0)--(.75aW,aH)--(1.2hP,.25aH+hP); + dwv (.75aW+.5hP,aH)--(1.7hP,.25aH+hP); +ef sC="5": dwh Z12--Z16; dwv Z13--(hP,.55fH); + cdw (.5hP,.18aH)..(.65aW,1.3hP)..(fW,.4aH)..(hW,.63aH)..(.7hP,.56aH); +ef sC="6": dw Z19..(fW,.5fW)..Z23..(hP,.5fW)..cycle; cdw (.8fP,hH)--Z06; ef sC="7": dwh (0,.fH)--Z16; dwvs(1.2) (aW-1.2hP,aH-fP)--(.4aW,0); ef sC="8": dw zOh; dw (hP,.75aH)...Z14...(fW,.75aH)...Z20...cycle; -ef sC="9": dw (Z19..(fW,.5fW)..(hW,fW)..(hP,.5fW)..cycle) shifted (0,.32aH); cdw (fW,.6aH)--Z07; +ef sC="9": dw (Z19..(fW,.5fW)..Z23..(hP,.5fW)..cycle) shifted (0,.32aH); cdw (fW-.45fP,hH)--Z07; ef sC=" ": ef sC=".": ppcs 1.4fP; dw Z19; ef sC=",": dw (hW+.5fP,hP)..(hW+.3fP,-fP)..(hW-.5fP,hP-2fP); ppcs 1.4fP; dw Z19; @@ -1434,16 +1445,29 @@ ef sC=":": ppcs 1.4fP; dw (hW,.2aH); dw (hW,.8aH); ef sC=";": dw (hW+hP,.2aH)..(hW-hP,.2aH-2fP); ppcs 1.4fP; dw (hW,.2aH); dw (hW,.8aH); ef sC="(": dw Z19...Z09...Z14; ef sC=")": dw Z19...Z10...Z14; -ef sC="[": dwv Z07--Z06; dwh Z14--(fW,fH); dwh Z19--Z21; +ef sC="[": dwv Z07--Z06; dwh Z14--Z22; dwh Z19--Z21; ef sC="]": dwv Z07--Z06; dwh Z14--Z13; dwh Z03--Z19; ef sC="<": cdw Z01--Z17--Z12; ef sC=">": cdw Z16--Z08--Z04; ef sC="-": dwh Z09--Z10; -ef sC="_": dwh Z03--Z21; ef sC="=": dwh (hP,.3aH)--(fW,.3aH); dwh (hP,.6aH)--(fW,.6aH); -ef sC="/": dw (fW,fH)..Z01; +ef sC="/": dw Z22..Z01; ef sC="+": dwv Z19--Z14; dwh Z09--Z10; ef sC="*": dw Z19--Z14; dw Z09--Z10; dw (.2aW,.2aH)--(.8aW,.8aH); dw (.2aW,.8aH)--(.8aW,.2aH); +ef sC="$": cdw sbp(.05,.45)zO; cdw sbp(.55,.95)zO; dw (fW,.3aH){up}..{up}(hP,.7aH); + dwv (hW,-fP)--(hW,fH+1.5fP); +ef sC="#": dwv (.3aW,0)--(.3aW,aH); dwv (.7aW,0)--(.7aW,aH); + dwh (0,.3aH)--(aW,.3aH); dwh (0,.7aH)--(aW,.7aH); +ef sC="!": dwv Z06--(hW,.25aH); ppcs 1.4fP; dw Z07; +ef sC="?": cdw (hP,.75fH)..(hW,aH)..(fW,.75fH)..(hW,.4fH)--(hW,.2fH); ppcs 1.4fP; dw Z07; +ef sC="|": dwv Z07--Z06; +ef sC="\": dw Z13--Z21; +ef sC="%": dw Z22..Z01; dw fullcircle scaled 2.7fP shifted (.2fH,.9fH); + dw fullcircle scaled 2.7fP shifted (.73fH,.20fH); +ef sC="~": dw (hP,.8aH)..(.3aW,.9aH)..(.6aW,.7aH)..(fW,.8aH); +ef sC="&": cdw Z21..(hW,.35aH)..(.25aW,.75aH)..(hW,.fH)..(.75aW,.75fH)..(hP,.3aH)..(hW,.hP)..Z10; +ef sC="@": cdw sbp(0,.7)zO; dwv (fW,hH)--(fW,0); + dw (fW,.45aH)..(.7aW,.75aH)..(.3aW,.45aH)..(.7aW,.15aH)..cycle; else: fi endgroup -- cgit v1.2.3