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