summaryrefslogtreecommitdiff
path: root/graphics/mcf2graph
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2021-03-07 03:00:48 +0000
committerNorbert Preining <norbert@preining.info>2021-03-07 03:00:48 +0000
commit6c0a4c9f40ab21e9b7d888d6a13b76b9af2f6c5b (patch)
tree453bc82829acc33af744623f45af7997121a365f /graphics/mcf2graph
parentd3666774005482ce055e7a76081973af60b670e8 (diff)
CTAN sync 202103070300
Diffstat (limited to 'graphics/mcf2graph')
-rw-r--r--graphics/mcf2graph/CHANGELOG11
-rw-r--r--graphics/mcf2graph/README8
-rw-r--r--graphics/mcf2graph/mcf2graph.mf130
-rw-r--r--graphics/mcf2graph/mcf_exa_soc.mf6
-rw-r--r--graphics/mcf2graph/mcf_example.pdfbin1119097 -> 324217 bytes
-rw-r--r--graphics/mcf2graph/mcf_example.tex2
-rw-r--r--graphics/mcf2graph/mcf_man_soc.mf69
-rw-r--r--graphics/mcf2graph/mcf_manual.pdfbin618298 -> 350539 bytes
-rw-r--r--graphics/mcf2graph/mcf_manual.tex803
-rw-r--r--graphics/mcf2graph/mcf_mplib_exa.pdfbin202662 -> 202590 bytes
-rw-r--r--graphics/mcf2graph/mcf_mplib_exa.tex4
11 files changed, 519 insertions, 514 deletions
diff --git a/graphics/mcf2graph/CHANGELOG b/graphics/mcf2graph/CHANGELOG
index c2864f051f..8bfc7deb2b 100644
--- a/graphics/mcf2graph/CHANGELOG
+++ b/graphics/mcf2graph/CHANGELOG
@@ -1,6 +1,15 @@
*******************************************************************************
- Changelog of mcf2graph software package by Akira Yamaji 2021-02-28
+ Changelog of mcf2graph software package by Akira Yamaji 2021-03-07
*******************************************************************************
+[ver. 4.60 / 2021-03-07]
+ -$n (0<=n<360) can use as absolute angle
+ -change option parameter name
+ ratio_zebragap_bond => ratio_hashgap_bond
+ offset_zebra_gap => offset_hash_gap
+ -improve function check_mc()
+ -update MCF manual,example
+ pk font => eps(mps) file
+
[ver. 4.59 / 2021-02-28]
-add command @(x,y) : move to (x,y)
-improve function check_mc()
diff --git a/graphics/mcf2graph/README b/graphics/mcf2graph/README
index 72cb7303d8..b5a428c088 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.59 2021-02-28
+ version : 4.60 2021-03-07
E-mail : mcf2graph@gmail.com
Located at : http://www.ctan.org/pkg/mcf2graph
********************************************************************************
@@ -23,12 +23,12 @@
( 6) mcf_man_soc.mf Molecular difinition file for mcf_manual.tex
( 7) mcf_manual.pdf PDF of (4) (used pdftex(LaTeX),makeindex)
( 8) mcf_example.tex LaTeX example,
- Make file 'mcf_exa_soc-info.aux' before typeset
+ make file 'mcf_exa_soc-info.aux' before typeset
>mpost -s ahlength=1 mcf_exa_soc.mf
( 9) mcf_exa_soc.mf Molecular difinition file for mcf_example.tex
- (10) mcf_example.pdf PDF of (8) (used pdftex(LaTeX))
+ (10) mcf_example.pdf PDF of (8) typeset with pdftex(LaTeX)
(11) mcf_mplib_exa.tex luamplib(LuaLaTeX) example
- (12) mcf_example.pdf PDF of (11) typeset with LuaTeX(LuaLaTeX)
+ (12) mcf_mplib_exa.pdf PDF of (11) typeset with LuaTeX(LaTeX)
3. How to use mcf2graph with Metapost
Minimum requirement to run mcf2graph : mpost.exe,mpost.dll,mpost.mp,plain.mp
diff --git a/graphics/mcf2graph/mcf2graph.mf b/graphics/mcf2graph/mcf2graph.mf
index 9c68e1d84c..cdffa5932c 100644
--- a/graphics/mcf2graph/mcf2graph.mf
+++ b/graphics/mcf2graph/mcf2graph.mf
@@ -1,5 +1,5 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% mcf2graph ver 4.59 Copyright (c) 2013-2021 Akira Yamaji
+% mcf2graph ver 4.60 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,14 +37,15 @@
% Set to use plain.mp (label,arrow,atom) : mpost -s labeloffset=2 FILENAME
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
tracingstats:=1;
-message "* This is mcf2graph ver 4.59 2021.02.28";
+message "* This is mcf2graph ver 4.60 2021.03.07";
%-------------------------------------------------------------------------------------------------
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;
numeric save_num[],comD[][],parD[][],adrD[][],cntD[],tbl_atom[],tbl_group[][],f_char[],
tbl_atom_wt[],tbl_atom_mi[],tbl_char_wd[],tbl_char_ht[],addA[],add_rot[],chargeA[],
com_group[][],par_group[][],cnt_group[],colorA[],colorB[],sumA[],bondC[],hideH[],
- lineB[],sB[],eB[],angB[],angA[],lenB[],angX[],numS[],wdM[],htM[],wdA[],dxA[],mc_indent[];
+ lineB[],sB[],eB[],angB[],angA[],lenB[],angX[],numS[],wdM[],htM[],wdA[],dxA[],
+ mc_indent[],cmm_adr[];
string save_str[],tbl_atom_str[],strD[],tag[],out_file_name,out_file_aux,
out_file_rep,out_file_mpc,aux_delimiter,atomfont,mpfont,s_tag,s_var,cal_FM,cal_MW,cal_MI,
inf_NO,inf_EN,inf_JN,inf_FM,inf_CAS,inf_USE,inf_EXA,inf_EXB,inf_MW,blank_str;
@@ -186,9 +187,9 @@ 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_zebragap_bond:=0.12; 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;
+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;
max_blength:=10mm; blength:=mangle:=0; max_labelsize:=20mm; dottedline_gap:=1.5bp;
@@ -214,15 +215,15 @@ 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,_zero_ang,
+ _group_s,_group_e,_rest,_charge,
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_rep_out,sw_numberA,sw_numberB,sw_mframe,sw_aux_out,sw_expand,sw_mol_out,sw_calc,
sw_single,sw_ext_all,sw_aframe,sw_fframe,sw_group_off,sw_trimming,sw_arrow_emu,
ratio_atom_bond,ratio_thickness_bond,ratio_char_bond,ratio_chain_ring,ratio_bondgap_bond,
- ratio_zebra_black,ratio_zebragap_bond,ratio_thickness_char,ratio_wedge_bond,ratio_atomgap_atom,
- lonepairdiam,lonepairspace,blength,offset_atom,offset_wedge,max_blength,offset_zebra_gap,
+ 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,
fsize,fmargin,msize,mposition,defaultfont,atomfont,dottedline_gap,
@@ -323,10 +324,12 @@ 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
+ 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);
fi
- if (sw_fframe=1)or(sw_fframe=3): ext(draw_frame((0,0),w,h,thickness_fframe);) fi
- if (sw_fframe=2)or(sw_fframe=3): ext(draw_frame(p0,w0,h0,thickness_fframe);) fi
- if sw_fframe=4: ext(draw_corner((0,0),w,h,0.2bp);) 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
@@ -379,8 +382,7 @@ tertiarydef a op_bq b = if known b:: (_tmp_len,b),a else:: _nop,a fi enddef;
def rot_angle primary n = (_rot_ang,n) enddef;
def cyc_atom primary n = (_cyc,n) enddef;
def jump_atom primary a =
- if numeric a:: (_jp_atom,a)
- elseif pair a:: (_jp_atom,$1),(_com,_zero_ang),angle(a)~0`length(a),(_com,_zero_ang) fi
+ if numeric a:: (_jp_atom,a) elseif pair a:: (_jp_atom,$1),<$0,angle(a)~0`length(a),<$0 fi
enddef;
def chg_length primary n = (_com,_len_s),(_chg_len,n) enddef;
def group_si secondary n == if known n:: (_group_si,n) else:: _nop fi enddef;
@@ -934,7 +936,7 @@ def proc_size_setup=
atom_wd:=.8blen; ratio_chain_ring:= .5;
fi
wedge_wd:= blen*ratio_wedge_bond+offset_wedge;
- zebra_gap:= blen*ratio_zebragap_bond+offset_zebra_gap;
+ hash_gap:= blen*ratio_hashgap_bond+offset_hash_gap;
bondgap:= blen*ratio_bondgap_bond+offset_bond_gap;
bond_pen_wd:= blen*ratio_thickness_bond+offset_thickness;
enddef;
@@ -1051,14 +1053,13 @@ def proc_skeleton(expr a)=
ef com=_com: if par=_mark: saveA:=markA; saveB:=markB; markA:=cntA; markB:=cntB;
ef par=_rest: markA:=saveA; markB:=saveB;
ef par=_moff: markA:=markB:=0; ef par=_term: termB;
- ef par=_zero_ang: angT:=0;
ef par=_group_e: lineT:=si; lenT:=crR; rotT:=envT:=0; fi
ef com=_jp_bond: termB; nA:=getB(par); posBs:=posA[sB[nA]]; angT:=angB[nA]; f_bra:=1; rotT:=0;
ef com=_jp_atom: termB; adrT:=getA(par); posBs:=posA[adrT]; angT:=angX[adrT]; f_bra:=1; rotT:=0;
ef com=_jp_absA: adrT:=par; posBs:=posA[adrT];
angT:=angX[adrT]; f_bra:=1; rotT:=0; temp_cntB:=cntB;
ef com=_adj_ang: angT:=adjust_ang(angT);
- ef com=_rot_ang: angT:=(angT+par) mod 360;
+ ef com=_rot_ang: if par>-3700: angT:=(angT+par) mod 360; else: angT:=(par+4095) mod 360; fi
ef com=_tmp_rot: rotT:=par;
ef com=_group_si: rotT:=0;
ef com=_chg_env: envB:=par;
@@ -1078,7 +1079,8 @@ def add_bond(expr ROT,FLG)=
angX[cntA]:=(angT+nA/2+iif(nA>=0,-90,90)) mod 360;
else: f_bra:=0;
fi
- cntB:=cntB+1; angB[cntB]:=angT:=(angT+nA) mod 360;
+ cntB:=cntB+1;
+ if nA>-3700: angB[cntB]:=angT:=(angT+nA) mod 360; else: angB[cntB]:=angT:=nA+4095; fi
if FLG=1:
if lenB[cntB]=_size_atom: posBe:=sfrt(posBs,atom_wd,angT);
else:
@@ -1209,7 +1211,7 @@ def draw_bond(expr NUM)=
ef nL=bz: bz_put(sfrt(Ls,ww,ap),sfrt(Le,ww,ap),sfrt(Ls,ww,am),sfrt(Le,ww,am));
ef nL=zf: wz_put(Ls,sfrt(Le,ww,ap),sfrt(Le,ww,am));
ef nL=zb: wz_put(Le,sfrt(Ls,ww,am),sfrt(Ls,ww,ap));
- ef nL=dt: for i=0 step .75zebra_gap/len until 1: drawdot i[Ls,Le] Cp(col); endfor
+ ef nL=dt: for i=0 step .75hash_gap/len until 1: drawdot i[Ls,Le] Cp(col); endfor
ef nL=wv: nA:=3bond_pen_wd; nB:=len/nA;
draw Le for i=1 upto nB:
..controls(((i-.5)/nB)[sfrt(Le,nA,iif(odd(i),ap,am)),sfrt(Ls,nA,iif(odd(i),ap,am))])
@@ -1245,16 +1247,16 @@ def draw_bond(expr NUM)=
enddef;
%------------------------------------------------------------------------------------------------
def wz_put(expr PA,PB,PD)=
- for i=0 upto len/zebra_gap:
- nA:=zebra_gap*i/len; nD:=(zebra_gap*i+ratio_zebra_black*zebra_gap)/len;
- if nD>((len-zebra_gap)/len): nD:=1; fi
+ for i=0 upto len/hash_gap:
+ nA:=hash_gap*i/len; nD:=(hash_gap*i+ratio_hash_black*hash_gap)/len;
+ if nD>((len-hash_gap)/len): nD:=1; fi
fill nA[PB,PA]--nA[PD,PA]--nD[PD,PA]--nD[PB,PA]--cycle Cp(col);
endfor
enddef;
%------------------------------------------------------------------------------------------------
def bz_put(expr PA,PB,PC,PD)=
- for i=0 upto len/zebra_gap:
- nA:=zebra_gap*i/len; nD:=(zebra_gap*i+ratio_zebra_black*zebra_gap)/len;
+ for i=0 upto len/hash_gap:
+ nA:=hash_gap*i/len; nD:=(hash_gap*i+ratio_hash_black*hash_gap)/len;
fill nA[PB,PA]--nA[PD,PC]--nD[PD,PC]--nD[PB,PA]--cycle Cp(col);
endfor
enddef;
@@ -1582,7 +1584,8 @@ def proc_report_out=
printf (substring(0,mc_indent[i]) of blank_str)&mc[i];
endfor
printf "---------------------------------------------------------------------------";
- printf " mc length="&fdr(4)(length(mc))&" / mc low="&fdr(3)(mc_low);
+ printf " mc-length="&fdr(4)(length(mc))&" / mc-low="&fdr(3)(mc_low)&
+ " / mc-commands="&fdr(3)(cmm_cnt);
fi
printf "---------------------------------------------------------------------------";
printf " Warnings = "&fdr(3)(warning_cnt)&" / Command count= "&decimal(cntD[0]);
@@ -1797,46 +1800,46 @@ def expand_set=
enddef;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
vardef check_mc(expr s)=
- save mc_char,mc_char,temp_c,err_cnt,char_cnt;
+ save mc_char,mc_char,temp_c,err_cnt,char_cnt,f_depth,
+ a_prn_s_cnt,a_prn_e_cnt,a_brc_s_cnt,a_brc_e_cnt,a_brk_s_cnt,a_brk_e_cnt;
+ f_depth:=cmm_cnt:=0;;
string temp_c,err_str[],err_type[];
numeric mc_char[],err_adr[],err_code[];
err_cnt:=char_cnt:=code_cnt:=0;
- err_type[1]:=" '(' > ')' ";
- err_type[2]:=" '(' < ')' ";
- err_type[3]:=" '{' > '}' ";
- err_type[4]:=" '{' < '}' ";
- err_type[5]:=" '[' > ']' ";
- err_type[6]:=" '[' < ']' ";
- err_type[7]:="missing arg";
- err_type[8]:="extra arg ";
+ err_type[1]:=" '(' > ')' "; err_type[2]:=" '(' < ')' ";
+ err_type[3]:=" '{' > '}' "; err_type[4]:=" '{' < '}' ";
+ err_type[5]:=" '[' > ']' "; err_type[6]:=" '[' < ']' ";
+ err_type[7]:="missing arg"; err_type[8]:="extra arg ";
%-----------------------------------------------------------------------------------------------
for i=1 upto length(s):
temp_c:=subc(i,s); if temp_c<>" ": char_cnt:=char_cnt+1; mc_char[char_cnt]:=ASCII(temp_c); fi
endfor
mc_char[0]:=mc_char[char_cnt+1]:=mc_char[char_cnt+2]:=a_cmm;
%-- argument missing chkeck --------------------------------------------------------------------
- nA:=1;
+ a_prn_s_cnt:=a_prn_e_cnt:=a_brc_s_cnt:=a_brc_e_cnt:=a_brk_s_cnt:=a_brk_e_cnt:=0;
+ nA:=f_depth:=cmm_cnt:=0;
forever:
- nB:=mc_char[nA-1]; nC:=mc_char[nA]; nD:=mc_char[nA+1]; nE:=mc_char[nA+2]; nF:=mc_char[nA+3];
+ nA:=nA+1; nB:=mc_char[nA-1]; nC:=mc_char[nA]; nD:=mc_char[nA+1];
%---------------------------------------------------------------------------------------------
- if nC=a_cmm:
- ef (nC=a_ast)and(nD=a_sls)and(nE=a_ast)and(nF=a_cmm): proc_error(7,nA) nA:=nA+3; % */* x
- ef (nC=a_sls)and(nD=a_sls)and(nE=a_cmm): proc_error(7,nA) nA:=nA+2; % // x
- ef (nC=a_sls)and(nD=a_ast)and(nE=a_cmm): proc_error(7,nA) nA:=nA+2; % /* x
- ef (nC=a_ast)and(nD=a_sls)and(nE=a_cmm): proc_error(7,nA) nA:=nA+2; % */ x
- ef (nC=a_ast)and(nD=a_ast)and(nE=a_cmm): proc_error(7,nA) nA:=nA+2; % ** x
- ef (nC=a_hsh)and(nD=a_hsh): nA:=nA+2; % ##
- ef (nC=a_sls)and(nD=a_cmm): proc_error(7,nA) % / x
- ef (nC=a_dol)and(nD=a_cmm): proc_error(7,nA) % $ x
- %--------------------------------------------------------------------------------------------
+ if nC=a_cmm: if f_depth=0: cmm_cnt:=cmm_cnt+1; cmm_adr[cmm_cnt]:=nA; fi
+ ef nC=a_ast:
+ if nD=a_sls:
+ if mc_char[nA+2]=a_ast: if mc_char[nA+3]=a_cmm: proc_error(7,nA) nA:=nA+2; fi % */* x
+ ef mc_char[nA+2]=a_cmm: proc_error(7,nA) nA:=nA+1; fi % */ x
+ ef nD=a_ast: if mc_char[nA+2]=a_cmm: proc_error(7,nA) nA:=nA+1; fi fi % ** x
+ ef nC=a_sls: if nD=a_sls: if mc_char[nA+2]=a_cmm: proc_error(7,nA) nA:=nA+1; fi % // x
+ ef nD=a_ast: if mc_char[nA+2]=a_cmm: proc_error(7,nA) nA:=nA+1; fi % /* x
+ ef nD=a_cmm: proc_error(7,nA) fi % / x
+ ef nC=a_hsh: if nD=a_hsh: nA:=nA+1; % ##
+ ef nD=a_cmm: proc_error(7,nA) fi % # x
+ if nB<>a_cmm: proc_error(8,nA) fi % a #
+ ef nC=a_dol: if nD=a_cmm: proc_error(7,nA) fi % $ x
ef nC=a_equ: if nD= a_cmm: proc_error(7,nA) fi % = x
if nB= a_cmm: proc_error(7,nA) fi % x =
ef nC=a_cln: if nD= a_cmm: proc_error(7,nA) fi % : x
if nB= a_cmm: proc_error(7,nA) fi % x :
ef nC=a_amk: if nD= a_cmm: proc_error(7,nA) fi % @ x
if nB<>a_cmm: proc_error(8,nA) fi % a @
- ef nC=a_hsh: if nD= a_cmm: proc_error(7,nA) fi % # x
- if nB<>a_cmm: proc_error(8,nA) fi % a #
ef nC=a_and: if nD= a_cmm: proc_error(7,nA) fi % & x
if nB<>a_cmm: proc_error(8,nA) fi % a &
ef nC=a_gtn: if nD= a_cmm: proc_error(7,nA) fi % < x
@@ -1850,32 +1853,33 @@ vardef check_mc(expr s)=
ef nC=a_bqt: if nD= a_cmm: proc_error(7,nA) fi % ` x
if nB= a_cmm: proc_error(7,nA) fi % x `
%---------------------------------------------------------------------------------
+ ef nC=a_prn_s: a_prn_s_cnt:=a_prn_s_cnt+1; f_depth:=1;
+ ef nC=a_prn_e: a_prn_e_cnt:=a_prn_e_cnt+1; f_depth:=0;
+ ef nC=a_brc_s: a_brc_s_cnt:=a_brc_s_cnt+1; f_depth:=1;
+ ef nC=a_brc_e: a_brc_e_cnt:=a_brc_e_cnt+1; f_depth:=0;
+ ef nC=a_brk_s: a_brk_s_cnt:=a_brk_s_cnt+1; f_depth:=1;
+ ef nC=a_brk_e: a_brk_e_cnt:=a_brk_e_cnt+1; f_depth:=0;
+ %---------------------------------------------------------------------------------
fi
- nA:=nA+1;
- exitif nA>=char_cnt;
- endfor
- %-- check brackets -----------------------------------------------------------------------------
- nA:=nB:=nC:=nD:=nE:=nF:=0;
- for i=1 upto char_cnt:
- if mc_char[i]=a_prn_s: nA:=nA+1; ef mc_char[i]=a_prn_e: nB:=nB+1;
- ef mc_char[i]=a_brc_s: nC:=nC+1; ef mc_char[i]=a_brc_e: nD:=nD+1;
- ef mc_char[i]=a_brk_s: nE:=nE+1; ef mc_char[i]=a_brk_e: nF:=nF+1;
- fi
+ exitif nA>=char_cnt+1;
endfor
- if nA>nB: proc_error(1,0) ef nA<nB: proc_error(2,0) fi
- if nC>nD: proc_error(3,0) ef nC<nD: proc_error(4,0) fi
- if nE>nF: proc_error(5,0) ef nE<nF: proc_error(6,0) fi
+ %-- brackets balance check ---------------------------------------------------------------------
+ if a_prn_s_cnt>a_prn_e_cnt: proc_error(1,0) ef a_prn_s_cnt<a_prn_e_cnt: proc_error(2,0) fi
+ if a_brc_s_cnt>a_brc_e_cnt: proc_error(3,0) ef a_brc_s_cnt<a_brc_e_cnt: proc_error(4,0) fi
+ if a_brk_s_cnt>a_brk_e_cnt: proc_error(5,0) ef a_brk_s_cnt<a_brk_e_cnt: proc_error(6,0) fi
%-----------------------------------------------------------------------------------------------
for i=1 upto err_cnt:
message "*"&fdr(3)(i)&" "&err_type[err_code[i]]&fdr(4)(err_adr[i])&" '"&err_str[i]&"'";
endfor
-%%%% readstring;
+%%%%%% readstring;
err_cnt
enddef;
%-------------------------------------------------------------------------------------------------
def proc_error(expr ERR_CODE,ADR)=
err_cnt:=err_cnt+1; err_adr[err_cnt]:=ADR;
err_code[err_cnt]:=ERR_CODE;
- if ADR=0: err_str[err_cnt]:=" "; else: err_str[err_cnt]:=substring (ADR-3,ADR+2) of mc; fi
+ if ERR_CODE<=6: err_str[err_cnt]:=" ";
+ else: err_str[err_cnt]:=substring (ADR-3,ADR+2) of mc;
+ fi
enddef;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff --git a/graphics/mcf2graph/mcf_exa_soc.mf b/graphics/mcf2graph/mcf_exa_soc.mf
index 29b95a2ecd..1d60bc062f 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.02.28
+% Molecular Coding Format for mcf_example.tex by Akira Yamaji 2021.03.07
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-input mcf2graph.mf; %%% it must be version 4.59
-message "* mcf_exa_soc 2021.02.28";
+input mcf2graph.mf; %%% it must be version 4.60
+message "* mcf_exa_soc 2021.03.07";
message "";
%------------------------------------------------------------------------------
fsize:=(35mm,24mm);
diff --git a/graphics/mcf2graph/mcf_example.pdf b/graphics/mcf2graph/mcf_example.pdf
index c5d423a2a9..a4a5a3ba7f 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 8620e9576d..155d6139e9 100644
--- a/graphics/mcf2graph/mcf_example.tex
+++ b/graphics/mcf2graph/mcf_example.tex
@@ -5,7 +5,7 @@
\usepackage{graphicx}
%---------------------
\usepackage{mcf_setup}
-\pdfpkresolution=1200
+%%%%\pdfpkresolution=1200
%---------------------
\pagestyle{empty}
\topmargin=-24mm
diff --git a/graphics/mcf2graph/mcf_man_soc.mf b/graphics/mcf2graph/mcf_man_soc.mf
index 7a4e76408e..04ed57fe0c 100644
--- a/graphics/mcf2graph/mcf_man_soc.mf
+++ b/graphics/mcf2graph/mcf_man_soc.mf
@@ -1,8 +1,8 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Molecular Coding Format file for mcf_manual.tex by Akira.Yamaji 2021.02.28
+% Molecular Coding Format file for mcf_manual.tex by Akira.Yamaji 2021.03.07
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-input mcf2graph.mf; %% it must be version 4.578
-message "mcf_man_soc 2021.02.21"; message "";
+input mcf2graph.mf; %% it must be version 4.60
+message "mcf_man_soc 2021.03.07"; message "";
%------------------------------------------------------------------------
sw_mframe:=0;
sw_expand:=0;
@@ -141,13 +141,13 @@ sw_fframe:=1;
fmargin:=(2mm,1mm);
%***********************************************************************
beginfont("EN:Chain 1")
- fsize:=(60mm,18mm);
+ fsize:=(60mm,17mm);
sw_numberB:=1;
numberB_end:=6;
ratio_chain_ring:=1;
%----------------------------------------------------------------------
- MC(<10,-30,45,-45,30,-30,60,
- {1^-75,2^67.5,3^-60,4^75,5^-75,6^60}:/_~dt
+ MC(<15,-30,45,-45,60,$300,$0,
+ {1^$15,2^$345,3^$30,4^$345}:/_~dt,{5,6}=vf,
)
add(
defaultscale:=0.5;
@@ -155,14 +155,12 @@ beginfont("EN:Chain 1")
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);
+ drawarrow B10/*.7{B10left}..{B4left}B4/*.7; label.llft("60",B10/*.7);
)
endfont
%***********************************************************************
beginfont("EN:Chain 2")
- fsize:=(60mm,18mm);
+ fsize:=(60mm,17mm);
sw_numberB:=1;
numberB_end:=6;
ratio_chain_ring:=1;
@@ -183,7 +181,7 @@ beginfont("EN:Chain 2")
endfont
%***********************************************************************
beginfont("EN:Jump and Branch")
- fsize:=(60mm,18mm);
+ fsize:=(60mm,16mm);
fmargin:=(2mm,2mm);
sw_trimming:=1;
sw_numberA:=1;
@@ -193,7 +191,7 @@ beginfont("EN:Jump and Branch")
endfont
%***********************************************************************
beginfont("EN:Jump and Branch")
- fsize:=(60mm,18mm);
+ fsize:=(60mm,16mm);
fmargin:=(2mm,2mm);
sw_numberA:=1;
sw_trimming:=1;
@@ -203,7 +201,7 @@ beginfont("EN:Jump and Branch")
endfont
%***********************************************************************
beginfont("EN:branch1")
- fsize:=(60mm,18mm);
+ fsize:=(60mm,16mm);
fmargin:=(2mm,2mm);
sw_numberA:=1;
sw_trimming:=1;
@@ -249,14 +247,14 @@ beginfont("EN:rotate 1")
sw_trimming:=1;
sw_numberB:=1;
ratio_chain_ring:=1;
- numberB_end:=5;
+ numberB_end:=7;
defaultscale:=0.5;
labeloffset:=2bp;
- MC(#1,0,0,<90,0,<-90,0,0,{1,2,3,4,5}=vf,
+ MC(#1,0,0,<90,0,<-90,0,<$315,0,<$90,0,<$0,0,{1,2,3,4,5,6,7}=vf,
{3,4^180}:/_~dt)
add(
- drawarrow B6/*.7{B6left}..{B3left}B3/*.7; label.urt("90",B6/*.7);
- drawarrow B7/*.7{B7right}..{B4right}B4/*.7; label.urt("-90",B7/*.7);
+ drawarrow B8/*.7{B8left}..{B3left}B3/*.7; label.urt("90",B8/*.7);
+ drawarrow B9/*.7{B9right}..{B4right}B4/*.7; label.urt("-90",B9/*.7);
)
endfont
%***********************************************************************
@@ -307,7 +305,7 @@ endfont
%***********************************************************************
beginfont("EN:over line")
sw_trimming:=1;
- fsize:=(75mm,20mm);
+ fsize:=(80mm,20mm);
ratio_chain_ring:=1;
MC(<30,!18,!,60,90`17,
{2~si_,4~wf_,6~wb_,8~zf_,10~zb_,
@@ -421,9 +419,15 @@ endfont
beginfont("EN:fused ring 2")
fsize:=(75mm,20mm);
sw_numberB:=1;
+ msize:=(1,.9);
MCat( 0,.5)(<30,?6,3=?6,(11,4)=?6[4],{11,4}=dt,{12,13,14,15}=bd)
- msize:=(1,.9); MCat(.5,.5)(<30,?6,3=?6,(11,4)=?5[3],{11,4}=dt,{12,13,14}=bd)
- msize:=(1,.9); MCat( 1,.5)(<30,?6,3=?6,(11,4)=?4[2],{11,4}=dt,{12,13}=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)
+ 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)
+ add(defaultscale:=0.4; label("(3)",p0);)
endfont
%***********************************************************************
beginfont("EN:fused ring 3")
@@ -431,7 +435,9 @@ beginfont("EN:fused ring 3")
fmargin:=(2mm,2mm);
sw_numberB:=1;
MCat(0,1)(?6,{3,10}=?6,(16,4)=?6[3],{16,4}=dt,{17,18,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);)
endfont
%***********************************************************************
beginfont("EN:fused ring 4")
@@ -459,7 +465,7 @@ beginfont("EN:group 1")
endfont
%***********************************************************************
beginfont("EN:group 2")
- fsize:=(70mm,15mm);
+ fsize:=(80mm,15mm);
sw_trimming:=1;
MC(<30,!`1,//O,!2`1,/*H,!2`1,*/H,!2`1,*/*H,!2`1,**?3,!`1)
endfont
@@ -471,7 +477,7 @@ beginfont("EN:group 3")
endfont
%***********************************************************************
beginfont("EN:group 3")
- fsize:=(70mm,18mm);
+ fsize:=(80mm,18mm);
fmargin:=(2mm,2mm);
sw_numberA:=1;
sw_trimming:=1;
@@ -483,8 +489,8 @@ beginfont("EN:group 4")
fsize:=(60mm,18mm);
sw_trimming:=1;
fmargin:=(2mm,2mm);
- sw_numberA:=1; numberA_end:=7;
- MC(<30,!6`1,{2~wf,4~zf,6^-30}:/_)
+ sw_numberA:=1; numberA_end:=9;
+ MC(<30,!8`1,{2~wf,4~zf,6^-30,8^$120}:/_)
endfont
%***********************************************************************
beginfont("EN:group 5")
@@ -836,13 +842,13 @@ beginfont("EN:ratio_chain_ring")
MCat(1, .5)(<30,?6,4:/!)
endfont
%***********************************************************************
-beginfont("EN:ratio_zebragap_bond")
+beginfont("EN:ratio_hashgap_bond")
fsize:=(60mm,15mm);
- ratio_zebragap_bond:=0.06;
+ ratio_hashgap_bond:=0.06;
MCat(0.08, .5)(<30,!2,2:/*_`1)
- ratio_zebragap_bond:=0.12; %<<== default
+ ratio_hashgap_bond:=0.12; %<<== default
MCat( .5, .5)(<30,!2,2:/*_`1)
- ratio_zebragap_bond:=0.20;
+ ratio_hashgap_bond:=0.20;
MCat(0.92, .5)(<30,!2,2:/*_`1)
endfont
%***********************************************************************
@@ -921,13 +927,6 @@ beginfont("EN:Switwch font frame 3")
sw_fframe:=3;
MC(<30,Ph)
endfont
-beginfont("EN:Switwch font frame 4")
- fsize:=(30mm,10mm);
- fmargin:=(5mm,1.5mm);
- sw_fframe:=4;
- MC(<30,Ph)
- ext(drawdot(0,0);drawdot(w,0);drawdot(w,h);drawdot(0,h);)
-endfont
%***********************************************************************
beginfont("EN:Switwch molecular frame")
sw_fframe:=1;
diff --git a/graphics/mcf2graph/mcf_manual.pdf b/graphics/mcf2graph/mcf_manual.pdf
index 8740660b74..f6ca1937e8 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 037b855bf0..357a853c5a 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.02.28
+% Molecular Coding Format manual by Akira Yamaji 2021.03.07
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\documentclass[a4paper]{article}
\usepackage[pdftex]{graphicx}
@@ -29,7 +29,7 @@
\htman=45mm%
\wdman=94mm%
\htmans=42mm%
-\fnum=29%
+\fnum=1%
%----------------------------------------------------------------------------
\edef\MCFjobname{mcf_man_soc}%
%----------------------------------------------------------------------------
@@ -42,11 +42,12 @@
\font\@strufont=\MCFjobname\relax%
%----------------------------------------------------------------------------
\def\MCFgraph{%
-\ifx\fext\@pk{\hspace{5mm}\@strufont\char\fnum}%
+\ifx\fext\@pk{\@strufont\char\fnum}%
\else%
\edef\file@name{\MCFjobname-\z@num\fnum.\fext}%
+%%%%%%%\includegraphics{\file@name}%
\setbox\fbox=\hbox{\@strufont\char\fnum}%
-\hspace{5mm}\includegraphics[width=\wd\fbox,height=\ht\fbox]{\file@name}%
+\includegraphics[width=\wd\fbox,height=\ht\fbox]{\file@name}%
\fi%
\global\advance\fnum\@ne\relax%
}%
@@ -55,8 +56,7 @@
\begin{picture}(75,130)%
\put(0,120){\bf [\NO]\EN}%
\put(5,115){\small\tt FM:\fm{ }MW:\mw}%
- \put(5,0){\font\@strufont=\File\relax%
- \hbox{\@strufont\char\Char}}%
+ \put(5,0){\MCFgraph}%
\end{picture}%
}%
%----------------------------------------------------------------------------
@@ -72,15 +72,13 @@
%-----------------------------------------------------------------------------
\thispagestyle{empty}
\vspace{5mm}%
-{\@strufont%
-\char1 \char2 \char3 \char4\\
-\char5 \char6 \char7 \char8\\
-\char9 \char10\char11\char12\\
-\char13\char14\char15\char16\\
-\char17\char18\char19\char20\\
-\char21\char22\char23\char24\\
-\char25\char26\char27\char28
-}%
+\MCFgraph\MCFgraph\MCFgraph\MCFgraph\\
+\MCFgraph\MCFgraph\MCFgraph\MCFgraph\\
+\MCFgraph\MCFgraph\MCFgraph\MCFgraph\\
+\MCFgraph\MCFgraph\MCFgraph\MCFgraph\\
+\MCFgraph\MCFgraph\MCFgraph\MCFgraph\\
+\MCFgraph\MCFgraph\MCFgraph\MCFgraph\\
+\MCFgraph\MCFgraph\MCFgraph\MCFgraph
%-----------------------------------------------------------------------------
\twocolumn
\thispagestyle{empty}
@@ -102,41 +100,41 @@ exact mass, molecular formula.
\subsection{Make bond}
\subsubsection{Chain}
\begin{verbatim}
- real number plus (+): Counterclockwize
- real number minus(-): Clockwize
+real number plus (+): counterclockwize
+real number minus(-): clockwize
+$n (0<=n<360): absolute angle
- <-10,-30,45,-45,30,-30,60
+<10,-30,45,-45,60,$300,$0
\end{verbatim}
\MCFgraph
%-----------------------------------------------------------------------------
\subsubsection{Chain use !,!n}
\index{"!}%
\begin{verbatim}
- ! : take value 60 or -60 depend on
- current angle and environment
- !6 : !,!,!,!,!,!
+! : take value 60 or -60 depend on
+ current angle and environment
+!6 : !,!,!,!,!,!
- <-30,!,!,!,!,!,!
- <-30,!6
+<-30,!6
\end{verbatim}
\MCFgraph
%-----------------------------------------------------------------------------
\subsubsection{Jump to atom}
\index{"@}%
\begin{verbatim}
- @n : Jump to An
- ** An: atom number(-999<=n<=4095)
-
- <-30,!6,@3,0,!,@5,-30
+@n : Jump to An
+** An: atom number(-999<=n<=4095)
+
+<-30,!6,@3,0,!,@5,-30
\end{verbatim}
\MCFgraph
%------------------------------------
\subsubsection{Branch bond}
\index{\textbackslash}%
\begin{verbatim}
- \ : 0
+\ : 0
- <-30,!6,@3,\,!
+<-30,!6,@3,\,!
\end{verbatim}
\MCFgraph
%-----------------------------------------------------------------------------
@@ -146,14 +144,14 @@ exact mass, molecular formula.
\index{\textbackslash\textbackslash}%
\index{*\textbackslash*}%
\begin{verbatim}
- \ : 0
- *\ : 0~wf
- \* : 0~zf
- \\ : 0~dm
- *\* : 0~wv
+\ : 0
+*\ : 0~wf
+\* : 0~zf
+\\ : 0~dm
+*\* : 0~wv
- <30,!8,
- @2,\,!,@4,*\,!,@6,\*,!,@8,\\,!,@10,*\*,!
+<30,!8,
+@2,\,!,@4,*\,!,@6,\*,!,@8,\\,!,@10,*\*,!
\end{verbatim}
\MCFgraph
%-----------------------------------------------------------------------------
@@ -161,37 +159,37 @@ exact mass, molecular formula.
\index{\textasciitilde}% ~
\index{`}%
\begin{verbatim}
- <30,!6,
- \~dr,!, : 0~dr,!
- \`1.5,-90 : 0`1.5,-90
- \^15,-60 : 0^15,-60
+<30,!6,
+\~dr,!, : 0~dr,!
+\`1.5,-90 : 0`1.5,-90
+\^15,-60 : 0^15,-60
\end{verbatim}
\MCFgraph
%-----------------------------------------------------------------------------
\subsubsection{Connect atom}
\index{\&}%
\begin{verbatim}
- &n : Connect to An
+&n : Connect to An
- <-30,!6,@3,\,!3,&6~bd,@9,&4~bz
+<-30,!6,@3,\,!3,&6~bd,@9,&4~bz
\end{verbatim}
\MCFgraph
%-----------------------------------------------------------------------------
\subsubsection{Ring}
\index{?}%
\begin{verbatim}
- ?n : n membered ring(3<=n<=20)
- ?6 : <-120,60,60,60,60,60,&1
- ?6
+?n : n membered ring(3<=n<=20)
+?6 : <-120,60,60,60,60,60,&1
+?6
\end{verbatim}
\MCFgraph
%-----------------------------------------------------------------------------
\subsubsection{Rotate current angle}
\index{\textgreater}%
\begin{verbatim}
- <angle : rotate current angle
+<angle : rotate current angle
- 0,0,<90,0,<-90,0,0,{1,2,3,4,5}=vf
+0,0,<90,0,<-90,0,<$315,0,<$90,0,<$0,0
\end{verbatim}
\MCFgraph
%-----------------------------------------------------------------------------
@@ -207,21 +205,21 @@ exact mass, molecular formula.
\index{db}%
\index{tm}%
\begin{verbatim}
- a~type : ~~type,a
- dm : double middle
- dl : double left side
- dr : double right side
- db : double left or right side
- tm : triple
- !! : !~db / !!! : !~tm
+a~type : ~~type,a
+dm : double middle
+dl : double left side
+dr : double right side
+db : double left or right side
+tm : triple
+!! : !~db / !!! : !~tm
- <-30,!~dm,!,!~dl,!,!~dr,!~db,!~db,!,!~tm
- <-30,!~dm,!,!~dl,!,!~dr,!! ,!! ,!,!!!
+<-30,!~dm,!,!~dl,!,!~dr,!~db,!~db,!,!~tm
+<-30,!~dm,!,!~dl,!,!~dr,!! ,!! ,!,!!!
\end{verbatim}
\MCFgraph
\vspace{-3mm}%
\begin{verbatim}
- dm dl dr db db tm
+ dm dl dr db db tm
\end{verbatim}
%-----------------------------------------------------------------------------
\subsubsection{Wedge}
@@ -230,30 +228,30 @@ exact mass, molecular formula.
\index{zf}%
\index{zb}%
\begin{verbatim}
- wf : wedge forward / wb : wedge backward
- zf : wedge dotted
- zb : wedge dotted backward
+wf : wedge forward / wb : wedge backward
+zf : hashed wedge foward
+zb : hashed wedge backward
- <-30,!~wf,!,!~wb,!,!~zf,!,!~zb
+<-30,!~wf,!,!~wb,!,!~zf,!,!~zb
\end{verbatim}
\MCFgraph
\vspace{-3mm}%
\begin{verbatim}
- wf wb zf zb
+ wf wb zf zb
\end{verbatim}
%-----------------------------------------------------------------------------
\subsubsection{Vector}
\index{vf}%
\index{vb}%
\begin{verbatim}
- vf:vector forward / vb:vector backward
+vf:vector forward / vb:vector backward
- <-30,!~vf,!,!~vb
+<-30,!~vf,!,!~vb
\end{verbatim}
\MCFgraph
\vspace{-3mm}%
\begin{verbatim}
- vf vb
+ vf vb
\end{verbatim}
%-----------------------------------------------------------------------------
\subsubsection{Dotted,wave}
@@ -262,24 +260,24 @@ exact mass, molecular formula.
\index{bd}%
\index{bz}%
\begin{verbatim}
- Bn=bond type : change bond type at Bn
- dt : dotted / wv : wave
- bd : broad / bz : broad dotted
+Bn=bond type : change bond type at Bn
+dt : dotted / wv : wave
+bd : broad / bz : broad dotted
- <-30,!7,1=dt,3=wv,5=bd,7=bz
+<-30,!7,1=dt,3=wv,5=bd,7=bz
\end{verbatim}
\MCFgraph
\vspace{-3mm}%
\begin{verbatim}
- dt wv bd bz
+ dt wv bd bz
\end{verbatim}
%-----------------------------------------------------------------------------
\subsubsection{Change multiple bond type}
\index{vf}%
\begin{verbatim}
- {2,4,6}=dr : 2=dr,4=dr,6=dr
+{2,4,6}=dr : 2=dr,4=dr,6=dr
- <30,!7,{2,4,6}=dr
+<30,!7,{2,4,6}=dr
\end{verbatim}
\MCFgraph
%-----------------------------------------------------------------------------
@@ -294,19 +292,19 @@ exact mass, molecular formula.
\index{dr\_}%
\index{dm\_}%
\begin{verbatim}
- si_ : single over line
- wf_ : wedge forward over line
- wb_ : wedge backward over line
- zf_ : wedge dotted forward over line
- zb_ : wedge dotted backward over line
- bd_ : broad over line
- dl_ : duble left over line
- dr_ : duble right over line
- dm_ : duble over line
+si_ : single over line
+wf_ : wedge forward over line
+wb_ : wedge backward over line
+zf_ : hashed wedge forward over line
+zb_ : hashed wedge backward over line
+bd_ : broad over line
+dl_ : duble left over line
+dr_ : duble right over line
+dm_ : duble over line
- <30,!8,!,60,90`18,
- {2~si_,4~wf_,6~wb_,8~zf_,10~zb_,
- 12~bd_,14~dl_,16~dr_,18~dm_}:/_`2
+<30,!8,!,60,90`18,
+{2~si_,4~wf_,6~wb_,8~zf_,10~zb_,
+ 12~bd_,14~dl_,16~dr_,18~dm_}:/_`2
\end{verbatim}
\MCFgraph
%-----------------------------------------------------------------------------
@@ -314,87 +312,87 @@ exact mass, molecular formula.
\subsubsection{Chain length}
\index{`}%
\begin{verbatim}
- (!,!n)`length : change length of !,!n
+(!,!n)`length : change length of !,!n
- <-30,!2,!4`1.2,!2
+<-30,!2,!4`1.2,!2
\end{verbatim}
\MCFgraph
%-----------------------------------------------------------------------------
\index{\#}%
\index{\#\#}%
\begin{verbatim}
- #n : bond length=n
- ## : reset bond length
+#n : bond length=n
+## : reset bond length
- <-30,!2,#1.2,!4,##,!2
+<-30,!2,#1.2,!4,##,!2
\end{verbatim}
\MCFgraph
%-----------------------------------------------------------------------------
\subsubsection{Ring length}
\begin{verbatim}
- ?n`length : change ring length
+?n`length : change ring length
- ?6,@4,\,?6`1.2
+?6,@4,\,?6`1.2
\end{verbatim}
\MCFgraph
%-----------------------------------------------------------------------------
\subsection{Change atom}
\subsubsection{Insert atom}
\begin{verbatim}
- Insert hetero atom
+Insert hetero atom
- <-30,!2,O,!2,N,!2
+<-30,!2,O,!2,N,!2
\end{verbatim}
\MCFgraph
%-----------------------------------------------------------------------------
\subsubsection{Addressed atom}
\index{:}%
\begin{verbatim}
- 2:O : change A2 C to O
- {3,4}:N : change A3,A4 C to N
+2:O : change A2 C to O
+{3,4}:N : change A3,A4 C to N
- <30,!4,2:O,{3,4}:N
+<30,!4,2:O,{3,4}:N
\end{verbatim}
\MCFgraph
%-----------------------------------------------------------------------------
\subsubsection{Brock address}
\index{\textbar}% |
\begin{verbatim}
- | : divide brock
+| : divide brock
- ?6,@4,\,|,?6,2:O
+?6,@4,\,|,?6,2:O
\end{verbatim}
\MCFgraph
%-----------------------------------------------------------------------------
\subsubsection{Reset brock address}
\index{\textbar\textbar}% ||
\begin{verbatim}
- || : reset brock adress
+|| : reset brock adress
- ?6,@4,\,|,?6,||,2:N
+?6,@4,\,|,?6,||,2:N
\end{verbatim}
\MCFgraph
%-----------------------------------------------------------------------------
\subsubsection{Absolute address}
\index{\$}% $
\begin{verbatim}
- $2:N : change A$2 C to N **1<=n<=3095
+$2:N : change A$2 C to N **1<=n<=3095
- ?6,@4,\,|,?6,$2:N
+?6,@4,\,|,?6,$2:N
\end{verbatim}
\MCFgraph
%-----------------------------------------------------------------------------
\subsubsection{Relative address}
\begin{verbatim}
- -2:N : change A(-2) C to N **-999<=n<=-1
+-2:N : change A(-2) C to N **-999<=n<=-1
- ?6,@4,\,?6,-2:N
+?6,@4,\,?6,-2:N
\end{verbatim}
\MCFgraph
%-----------------------------------------------------------------------------
\subsubsection{Charged atom}
\begin{verbatim}
- p_ : positive / n_ : negative
+p_ : positive / n_ : negative
<-30,!2,N,??,p_,!2,S,n_^180,
!6,7:N,7:??,9:S,7:n_,9:n_^180
@@ -404,42 +402,42 @@ exact mass, molecular formula.
\subsection{Fuse ring}
\subsubsection{Attached 1 bond}
\begin{verbatim}
- ?6,3=?6 : fuse ?6 at B3
- ** Bn(n:-999<=n<=4095): bond number
+?6,3=?6 : fuse ?6 at B3
+** Bn(n:-999<=n<=4095): bond number
- ?6,3=?6
+?6,3=?6
\end{verbatim}
\MCFgraph
%-----------------------------------------------------------------------------
\begin{verbatim}
- ** fused ring size depend on
- attached bond length
+** fused ring size depend on
+attached bond length
- ?6,@4,\,?6`1.2,5=?6,11=?6
+?6,@4,\,?6`1.2,5=?6,11=?6
\end{verbatim}
\MCFgraph
%-----------------------------------------------------------------------------
\begin{verbatim}
- ?6,3=?6[13] : fuse ?6[13] at B3
- ?6[13]: 6 membered ring scaled 13/10
- ** ?m[n] (5<=m<=8,11<=n<=15)
+?6,3=?6[13] : fuse ?6[13] at B3
+?6[13]: 6 membered ring scaled 13/10
+** ?m[n] (5<=m<=8,11<=n<=15)
- ?6,3=?6[13]
+?6,3=?6[13]
\end{verbatim}
\MCFgraph
%-----------------------------------------------------------------------------
\begin{verbatim}
- ?6,{-3,-4,-4,-2,-2,-4,-4}=?6
- ?6,{4,8,13,20,25,28,33}=?6
+?6,{-3,-4,-4,-2,-2,-4,-4}=?6
+?6,{4,8,13,20,25,28,33}=?6
\end{verbatim}
\MCFgraph
%-----------------------------------------------------------------------------
\subsubsection{Attached 2 bond}
\begin{verbatim}
- (4,11)=?6[4] : fuse 4/6 ring to B11..B4
- (4,11)=?5[3] : fuse 3/5 ring to B11..B4
- (4,11)=?4[2] : fuse 2/4 ring to B11..B4
- ** ?m[n] (4<=m<=6,n=m-2)
+(4,11)=?6[4] : fuse 4/6 ring to B11..B4
+(4,11)=?5[3] : fuse 3/5 ring to B11..B4
+(4,11)=?4[2] : fuse 2/4 ring to B11..B4
+** ?m[n] (4<=m<=6,n=m-2)
1:<30,?6,3=?6,(11,4)=?6[4]
2:<30,?6,3=?6,(11,4)=?5[3]
@@ -448,14 +446,13 @@ exact mass, molecular formula.
\MCFgraph
\vspace{-3mm}%
\begin{verbatim}
- 1 2 3
\end{verbatim}
%-----------------------------------------------------------------------------
\subsubsection{Attached 2 bond}
\begin{verbatim}
- (16,4)=?6[3] : fuse 3/6 ring to B16..B4
- (16,4)=?5[2] : fuse 2/5 ring to B16..B4
- ** ?m[n] (5<=m<=6,n=m-3)
+(16,4)=?6[3] : fuse 3/6 ring to B16..B4
+(16,4)=?5[2] : fuse 2/5 ring to B16..B4
+** ?m[n] (5<=m<=6,n=m-3)
1:?6,{3,10}=?6,(16,4)=?6[3]
2:?6,{3,10}=?6,(16,4)=?5[2]
@@ -463,26 +460,25 @@ exact mass, molecular formula.
\MCFgraph
\vspace{-3mm}%
\begin{verbatim}
- 1 2
\end{verbatim}
%-----------------------------------------------------------------------------
\subsubsection{Attached 4 bond}
\begin{verbatim}
- (21,4)=?6[2] : fuse 2/6 ring to B21..B4
+(21,4)=?6[2] : fuse 2/6 ring to B21..B4
- MC(<-30,?6,{3,10,15}=?6,(21,4)=?6[2])
+MC(<-30,?6,{3,10,15}=?6,(21,4)=?6[2])
- ** ?m[n] (m=6,n=2)
+** ?m[n] (m=6,n=2)
\end{verbatim}
\MCFgraph
%-----------------------------------------------------------------------------
\subsubsection{Spiro ring}
\begin{verbatim}
- @4,?5 : add ?5 at A4
+@4,?5 : add ?5 at A4
- <30,!6,@4,?5
+<30,!6,@4,?5
- @An : jump to An
+@An : jump to An
\end{verbatim}
\MCFgraph
%-----------------------------------------------------------------------------
@@ -491,13 +487,13 @@ exact mass, molecular formula.
\index{/}%
\index{Ph}%
\begin{verbatim}
- / : single
- <-30,!,/_,!,/!,!3,/!2,!,/?!,
- !3,/??!,!,/Ph^-30,!
+/ : single
+<-30,!,/_,!,/!,!3,/!2,!,/?!,
+ !3,/??!,!,/Ph^-30,!
- ** /_ : methyl /! : ethyl
- /!2 : propyl /?! : isopropyl
- /??! : tert-butyl /Ph : phenyl
+** /_ : methyl /! : ethyl
+ /!2 : propyl /?! : isopropyl
+ /??! : tert-butyl /Ph : phenyl
\end{verbatim}
\MCFgraph
%-----------------------------------------------------------------------------
@@ -508,18 +504,18 @@ exact mass, molecular formula.
\index{*/*}%
\index{**}%
\begin{verbatim}
- // : double (double middle)
- */ : wedge forward
- /* : wedge dotted forward
- */* : wave
- ** : direct
+// : double (double middle)
+*/ : wedge forward
+/* : hashed wedge forward
+*/* : wave
+** : direct
- <30,!,//O,!2,/*H,!2,*/H,!2,*/*H,!2,**?3,!
+<30,!,//O,!2,/*H,!2,*/H,!2,*/*H,!2,**?3,!
\end{verbatim}
\MCFgraph
\vspace{-3mm}%
\begin{verbatim}
- // /* */ */* **
+ // /* */ */* **
\end{verbatim}
%-----------------------------------------------------------------------------
\index{\textasciicircum}% ^
@@ -527,38 +523,36 @@ exact mass, molecular formula.
\index{`}%
\index{\textless}%
\begin{verbatim}
- ~ : change type
- ^ : change angle
- ` : change length
- > : change environment
+~ : change type
+^ : change angle
+` : change length
+> : change environment
- <-30,``1,!,
- /_`2^30,!2,/!2>lr,!2,/!2>rl,!)
+<-30,``1,!,
+ /_`2^30,!2,/!2>lr,!2,/!2>rl,!)
\end{verbatim}
\MCFgraph
%-----------------------------------------------------------------------------
\subsubsection{Add group}
\begin{verbatim}
- <30,!17,2:/_,4:/!,6:/!2,
- 10:/?!,14:/??!,16:/Ph^-60
+<30,!17,2:/_,4:/!,6:/!2,
+10:/?!,14:/??!,16:/Ph^-60
\end{verbatim}
\MCFgraph
%-----------------------------------------------------------------------------
\subsubsection{Add modified group}
\begin{verbatim}
- ~,^,` : change type,angle,length
+~,^,` : change type,angle,length
- <30,!6,
- {2~wf,4~zf,6^-30}:/_
+<30,!6,{2~wf,4~zf,6^-30,8^$120}:/_
\end{verbatim}
\MCFgraph
%-----------------------------------------------------------------------------
\begin{verbatim}
- ^,`,> : change angle,length,environment
+^,`,> : change angle,length,environment
- <-30,!7`1,
- 3:/_`2^30,5:/!2>lr,7:/!2>rl
+<-30,!7`1,3:/_`2^30,5:/!2>lr,7:/!2>rl
\end{verbatim}
\MCFgraph
%-----------------------------------------------------------------------------
@@ -568,12 +562,12 @@ exact mass, molecular formula.
\index{vt}%
\index{"'}%
\begin{verbatim}
- >hz : horizontal environment (default)
- >vt : vertical environment
+>hz : horizontal environment (default)
+>vt : vertical environment
- ?4,
- {3^-90,3^-30,3^90}:/'(!3,"{hz}")>hz,
- {1^-60,1,1^60}:/'(!3,"{vt}")>vt
+?4,
+{3^-90,3^-30,3^90}:/'(!3,"{hz}")>hz,
+{1^-60,1,1^60}:/'(!3,"{vt}")>vt
\end{verbatim}
\MCFgraph
%-----------------------------------------------------------------------------
@@ -581,32 +575,32 @@ exact mass, molecular formula.
\index{lr}%
\index{rl}%
\begin{verbatim}
- >lr : left-right environment
- >rl : right-left environment
+>lr : left-right environment
+>rl : right-left environment
- <-30,!6,
- {3^-30,3,3^30}:/'(!3,"{lr}")>lr,
- {5^-30,5,5^30}:/'(!3,"{rl}")>rl
+<-30,!6,
+{3^-30,3,3^30}:/'(!3,"{lr}")>lr,
+{5^-30,5,5^30}:/'(!3,"{rl}")>rl
\end{verbatim}
\MCFgraph
%-----------------------------------------------------------------------------
\subsubsection{Fixed rotate angle}
\index{\textgreater}%
\begin{verbatim}
- >n : rotate n
+>n : rotate n
- <30,!4,
- 2:/!6>30, % 2:\,30,30,30,30,30,30
- 4:/!4>-45 % 4:\,-45,-45,-45,-45
+<30,!4,
+2:/!6>30, % 2:\,30,30,30,30,30,30
+4:/!4>-45 % 4:\,-45,-45,-45,-45
\end{verbatim}
\MCFgraph
%-----------------------------------------------------------------------------
\subsubsection{Multi rotate angle}
\begin{verbatim}
- >'(90,-90,...) : rotate 90,-90,...
+>'(90,-90,...) : rotate 90,-90,...
- <30,!6,6>'(90,-90,90,-90,90):/!5
+<30,!6,6>'(90,-90,90,-90,90):/!5
\end{verbatim}
\MCFgraph
%-----------------------------------------------------------------------------
@@ -619,13 +613,13 @@ exact mass, molecular formula.
\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,!
+<-30,!2,NH,!2,N!,!2,N!2,SO,!2,SOO,!
\end{verbatim}
\MCFgraph
\index{?"!}%
@@ -633,41 +627,41 @@ exact mass, molecular formula.
\index{??"!}%
\index{N?"!}%
\begin{verbatim}
- ?! : /_,!
- ?? : /_^35,/_-35
- /?! : isopropyl
- /??! : tert-butyl
- /N?! : dimethylamino
+?! : /_,!
+?? : /_^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
%-----------------------------------------------------------------------------
\subsubsection{Parts definition}
\begin{verbatim}
- '(..) : user defined parts
+'(..) : user defined parts
- iBuOH:='(!,/_,!,OH);
- MC(<30,?6,{4,6}:/iBuOH)
+iBuOH:='(!,/_,!,OH);
+MC(<30,?6,{4,6}:/iBuOH)
\end{verbatim}
\MCFgraph
%-----------------------------------------------------------------------------
\subsubsection{Parts inline definition}
\begin{verbatim}
- <30,!, /'(!,/_,!,OH),!
+<30,!, /'(!,/_,!,OH),!
- <30,!8,{2,6}:/'(!,/_,!,OH)
+<30,!8,{2,6}:/'(!,/_,!,OH)
\end{verbatim}
\MCFgraph
%-----------------------------------------------------------------------------
\subsubsection{Move position}
\index{"@()}%
\begin{verbatim}
- @(x,y) : Move to (l*x,l*y) from origin
- ** l=bond length of ring
+@(x,y) : Move to (l*x,l*y) from origin
+ ** l=bond length of ring
- <30,?6,@3,!4,//O,!,O,n_^60,@(6,1),H,p_^15
+<30,?6,@3,!4,//O,!,O,n_^60,@(6,1),H,p_^15
\end{verbatim}
\MCFgraph
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -677,11 +671,11 @@ exact mass, molecular formula.
\subsection{Angle parameter}
\index{mangle}%
\begin{verbatim}
- mangle=0 ** default
+mangle=0 ** default
- MCat(0.2,0.5)(Ph)
- mangle:=30;
- MCat(0.8,0.5)(Ph)
+MCat(0.2,0.5)(Ph)
+mangle:=30;
+MCat(0.8,0.5)(Ph)
\end{verbatim}
\MCFgraph
%------------------------------------------------------------------------------
@@ -690,57 +684,57 @@ exact mass, molecular formula.
\subsubsection{Bond length}
\index{blength}%
\begin{verbatim}
- (fit to font size)
- blength=0 ** default
+(fit to font size)
+blength=0 ** default
\end{verbatim}
\MCFgraph
%-----------------------------------------
\begin{verbatim}
- (ratio bond/font width)
- blength=0.1 ** (0<blength<=1)
- blength=60mm(width)*0.1=6mm
+(ratio bond/font width)
+blength=0.1 ** (0<blength<=1)
+blength=60mm(width)*0.1=6mm
\end{verbatim}
\MCFgraph
%-----------------------------------------
\begin{verbatim}
- (bond length)
- blength=9mm
- ** (blength>1) ignore msize(w,h)
+(bond length)
+blength=9mm
+** (blength>1) ignore msize(w,h)
\end{verbatim}
\MCFgraph
%------------------------------------------------------------------------------
\subsubsection{Molecular size}
\index{msize}%
\begin{verbatim}
- msize=(1,1) ** default
+msize=(1,1) ** default
\end{verbatim}
\MCFgraph
%-----------------------------------------------------------
\begin{verbatim}
- msize=(0.25,1)
- msize=40mm-4mm*0.25=9mm
+msize=(0.25,1)
+msize=40mm-4mm*0.25=9mm
\end{verbatim}
\MCFgraph
%-----------------------------------------------------------
\begin{verbatim}
- msize=(11mm,11mm)
+msize=(11mm,11mm)
\end{verbatim}
\MCFgraph
%------------------------------------------------------------------------------
\subsubsection{Molecular position}
\index{mposition}%
\begin{verbatim}
- mposition=(0.5,0.5) ** default
+mposition=(0.5,0.5) ** default
\end{verbatim}
\MCFgraph
%--------------------------------------------------------------
\begin{verbatim}
- mposition=(1,0)
+mposition=(1,0)
\end{verbatim}
\MCFgraph
%--------------------------------------------------------------
\begin{verbatim}
- mposition=(10mm,4mm)
+mposition=(10mm,4mm)
\end{verbatim}
\MCFgraph
%------------------------------------------------------------------------------
@@ -749,76 +743,76 @@ exact mass, molecular formula.
\subsubsection{Font size}
\index{fsize}%
\begin{verbatim}
- fsize=(font width,font height)
- ** default: (30mm,20mm)
+fsize=(font width,font height)
+** default: (30mm,20mm)
- fsize=(40mm,15mm)
+fsize=(40mm,15mm)
\end{verbatim}
\MCFgraph
%-----------------------------------------------------------------------------
\subsubsection{Font margin}
\index{fmargin}%
\begin{verbatim}
- fmargin=(margin left rigth,top bottom)
- ** default: (0.4mm,0.4mm)
+fmargin=(margin left rigth,top bottom)
+** default: (0.4mm,0.4mm)
- fmargin=(10mm,2mm)
+fmargin=(10mm,2mm)
\end{verbatim}
\MCFgraph
%-----------------------------------------------------------------------------
\subsubsection{Offset thickness of bond}
\index{offset\_thickness}%
\begin{verbatim}
- default: offset_thickness=0.2pt
+default: offset_thickness=0.2pt
\end{verbatim}
\MCFgraph
\vspace{-3mm}%
\begin{verbatim}
- 0pt 0.2pt 0.5pt
+ 0pt 0.2pt 0.5pt
\end{verbatim}
%-----------------------------------------------------------------------------
\subsubsection{Offset of double bond gap}
\index{offset\_bond\_gap}%
\begin{verbatim}
- default: offset_bond_gap=0.3pt
+default: offset_bond_gap=0.3pt
\end{verbatim}
\MCFgraph
\vspace{-3mm}%
\begin{verbatim}
- 0.0pt 0.3pt 1.0pt
+ 0.0pt 0.3pt 1.0pt
\end{verbatim}
%-----------------------------------------------------------------------------
\subsubsection{Offset of atom width}
\index{offset\_atom}%
\begin{verbatim}
- default: offset_atom=0.8pt
+default: offset_atom=0.8pt
\end{verbatim}
\MCFgraph
\vspace{-3mm}%
\begin{verbatim}
- 0.0pt 0.8pt 2.0pt
+ 0.0pt 0.8pt 2.0pt
\end{verbatim}
%-----------------------------------------------------------------------------
\subsubsection{Offset of wedge width}
\index{offset\_wedge}%
\begin{verbatim}
- default: offset_wedge=0.4pt
+default: offset_wedge=0.4pt
\end{verbatim}
\MCFgraph
\vspace{-3mm}%
\begin{verbatim}
- 0.0pt 0.4pt 1.0pt
+ 0.0pt 0.4pt 1.0pt
\end{verbatim}
%-----------------------------------------------------------------------------
\subsubsection{Max bond length}
\index{max\_blength}%
\begin{verbatim}
- default: max_blength=10mm
+default: max_blength=10mm
\end{verbatim}
\MCFgraph
\vspace{-3mm}%
\begin{verbatim}
- 6mm 8mm 20mm
+ 6mm 8mm 20mm
\end{verbatim}
%-----------------------------------------------------------------------------
\subsection{Ratio parameter}
@@ -826,92 +820,92 @@ exact mass, molecular formula.
\subsubsection{Thickness/bond length}
\index{ratio\_thickness\_bond}%
\begin{verbatim}
- default: ratio_thickness_bond=0.015
+default: ratio_thickness_bond=0.015
\end{verbatim}
\MCFgraph
\vspace{-3mm}%
\begin{verbatim}
- 0.005 0.015 0.030
+ 0.005 0.015 0.030
\end{verbatim}
%-----------------------------------------------------------------------------
\subsubsection{Char/bond thickness}
\index{ratio\_char\_bond}%
\begin{verbatim}
- default: ratio_char_bond=1.5
+default: ratio_char_bond=1.5
\end{verbatim}
\MCFgraph
\vspace{-3mm}%
\begin{verbatim}
- 1.0 1.5 2.0
+ 1.0 1.5 2.0
\end{verbatim}
%-----------------------------------------------------------------------------
\subsubsection{Bond gap/bond length}
\index{ratio\_bondgap\_bond}%
\begin{verbatim}
- default: ratio_bondgap_bond= 0.15
+default: ratio_bondgap_bond= 0.15
\end{verbatim}
\MCFgraph
\vspace{-3mm}%
\begin{verbatim}
- 0.10 0.15 0.20
+ 0.10 0.15 0.20
\end{verbatim}
%-----------------------------------------------------------------------------
\subsubsection{Atom/bond length}
\index{ratio\_atom\_bond}%
\begin{verbatim}
- default: ratio_atom_bond= 0.36
+default: ratio_atom_bond= 0.36
\end{verbatim}
\MCFgraph
\vspace{-3mm}%
\begin{verbatim}
- 0.25 0.36 0.46
+ 0.25 0.36 0.46
\end{verbatim}
%-----------------------------------------------------------------------------
\subsubsection{Wedge/bond length}
\index{ratio\_wedge\_bond}%
\begin{verbatim}
- default: ratio_wedge_bond=0.12
+default: ratio_wedge_bond=0.12
\end{verbatim}
\MCFgraph
\vspace{-3mm}%
\begin{verbatim}
- 0.10 0.12 0.20
+ 0.10 0.12 0.20
\end{verbatim}
%-----------------------------------------------------------------------------
\subsubsection{Font atom gap/atom length}
\index{ratio\_atomgap\_atom}%
\begin{verbatim}
- default: ratio_atomgap_atom= 0.050
+default: ratio_atomgap_atom= 0.050
\end{verbatim}
\MCFgraph
\vspace{-3mm}%
\begin{verbatim}
- 0.0 0.050 0.12
+ 0.0 0.050 0.12
\end{verbatim}
%-----------------------------------------------------------------------------
\subsubsection{Chain/ring length}
\index{ratio\_chain\_ring}%
\begin{verbatim}
- default: ratio_chain_ring= 0.66
+default: ratio_chain_ring= 0.66
\end{verbatim}
\MCFgraph
\vspace{-3mm}%
\begin{verbatim}
- 0.4 0.65 1.0
+ 0.4 0.65 1.0
\end{verbatim}
%-----------------------------------------------------------------------------
-\subsubsection{Zebra gap/bond length}
-\index{ratio\_zebragap\_bond}%
+\subsubsection{Hash gap/bond length}
+\index{ratio\_hashgap\_bond}%
\begin{verbatim}
- default: ratio_zebragap_bond=0.12
+default: ratio_hashgap_bond=0.12
\end{verbatim}
\MCFgraph
\vspace{-3mm}%
\begin{verbatim}
- 0.06 0.12 0.20
+ 0.06 0.12 0.20
\end{verbatim}
%-----------------------------------------------------------------------------
-%%\newpage
+\newpage
%-----------------------------------------------------------------------------
\subsection{Drawing mode}
%-----------------------------------------------------------------------------
@@ -920,9 +914,9 @@ exact mass, molecular formula.
\index{numberA\_start}%
\index{numberA\_end}%
\begin{verbatim}
- numberA_start:=3; numberA_end:=8;
- default: sw_numberA=0 :
- numberA_start=1 numberA_end=4095
+numberA_start:=3; numberA_end:=8;
+default: sw_numberA=0 :
+ numberA_start=1 numberA_end=4095
\end{verbatim}
\MCFgraph
\begin{picture}(5,20)
@@ -936,9 +930,9 @@ exact mass, molecular formula.
\index{numberB\_start}%
\index{numberB\_end}%
\begin{verbatim}
- numberB_start:=3; numberB_end:=8;
- default: sw_numberB=0 :
- numberB_start=1 numberB_end=4095
+numberB_start:=3; numberB_end:=8;
+default: sw_numberB=0 :
+ numberB_start=1 numberB_end=4095
\end{verbatim}
\MCFgraph
\begin{picture}(5,20)
@@ -950,16 +944,16 @@ exact mass, molecular formula.
\subsubsection{Trimming mode}
\index{sw\_trimming}%
\begin{verbatim}
- sw_trimming:=0; ** default
- msize:=(1,0.7);
- MCat(0.2,0.3)(Ph)
- MCat(0.8,0.7)(Ph)
+sw_trimming:=0; ** default
+msize:=(1,0.7);
+MCat(0.2,0.3)(Ph)
+MCat(0.8,0.7)(Ph)
\end{verbatim}
\MCFgraph
\begin{verbatim}
- sw_trimming:=1;
- MCat(0.2,0.3)(Ph)
- MCat(0.8,0.7)(Ph)
+sw_trimming:=1;
+MCat(0.2,0.3)(Ph)
+MCat(0.8,0.7)(Ph)
\end{verbatim}
\MCFgraph
%-----------------------------------------------------------------------------
@@ -976,14 +970,14 @@ MCat(1, .5)(<30,Ph,4:/COOH,3:/NH2)
\subsubsection{Group off mode}
\index{sw\_group\_off}%
\begin{verbatim}
- ** default: sw_group_off=0
+** default: sw_group_off=0
\end{verbatim}
\MCFgraph
%-----------------------------------------------------------------------------
\subsubsection{Single bond mode}
\index{sw\_single}%
\begin{verbatim}
- ** default: sw_single=0
+** default: sw_single=0
\end{verbatim}
\MCFgraph
%-----------------------------------------------------------------------------
@@ -992,39 +986,38 @@ MCat(1, .5)(<30,Ph,4:/COOH,3:/NH2)
\subsubsection{Font frame}
\index{sw\_fframe}%
\begin{verbatim}
- (Draw font frame)
- fmargin:=(5mm,2mm);
- sw_fframe=1
+** default:sw_fframe=0
+(Draw font frame)
+fmargin:=(5mm,2mm);
+sw_fframe=1
\end{verbatim}
\MCFgraph
\begin{verbatim}
- (Frame inside margin)
- sw_fframe=2
+(Frame inside margin)
+sw_fframe=2
\end{verbatim}
\MCFgraph
\begin{verbatim}
- (Draw both frame)
- sw_fframe=3
-\end{verbatim}
-\MCFgraph
-\begin{verbatim}
- (Small dot at corner)
- sw_fframe=4
+(Draw both frame)
+sw_fframe=3
\end{verbatim}
\MCFgraph
%-----------------------------------------------------------------------------
\subsubsection{Molecular frame}
\index{sw\_mframe}%
\begin{verbatim}
- sw_mframe=1 ** default:sw_mframe=0
+sw_mframe=1
+** default:sw_mframe=0
\end{verbatim}
\MCFgraph
%-----------------------------------------------------------------------------
\subsubsection{Atom frame}
\index{sw\_aframe}%
\begin{verbatim}
- sw_aframe=1 ** default: sw_aframe=0
- MC(<30,COOH,!,COOH)
+sw_aframe=1
+** default: sw_aframe=0
+
+MC(<30,COOH,!,COOH)
\end{verbatim}
\MCFgraph
%-----------------------------------------------------------------------------
@@ -1035,35 +1028,35 @@ MCat(1, .5)(<30,Ph,4:/COOH,3:/NH2)
\index{beginfont()}%
\index{endfont}%
\begin{verbatim}
- beginfont()
- MC(Ph)
- endfont
- beginfont()
- %--------------------------
- ratio_thickness_bond:=0.05;
- %--------------------------
- MC(Ph)
- endfont
- beginfont()
- MC(Ph)
- endfont
+beginfont()
+ MC(Ph)
+endfont
+beginfont()
+ %--------------------------
+ ratio_thickness_bond:=0.05;
+ %--------------------------
+ MC(Ph)
+endfont
+beginfont()
+ MC(Ph)
+endfont
\end{verbatim}
\MCFgraph\MCFgraph\MCFgraph
%-----------------------------------------------------------------------------
\subsubsection{Global parameter setting}
\begin{verbatim}
- beginfont()
- MC(Ph)
- endfont
- %--------------------------
- ratio_thickness_bond:=0.05;
- %--------------------------
- beginfont()
- MC(Ph)
- endfont
- beginfont()
- MC(Ph)
- endfont
+beginfont()
+ MC(Ph)
+endfont
+%--------------------------
+ratio_thickness_bond:=0.05;
+%--------------------------
+beginfont()
+ MC(Ph)
+endfont
+beginfont()
+ MC(Ph)
+endfont
\end{verbatim}
\MCFgraph\MCFgraph\MCFgraph
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -1072,47 +1065,47 @@ MCat(1, .5)(<30,Ph,4:/COOH,3:/NH2)
\subsection{Function MC()}
\index{MC()}%
\begin{verbatim}
- (Draw molecule)
+(Draw molecule)
- msize=(a,b) **default (1,1)
- mposition=(c,d) **default (0.5,0.5)
+msize=(a,b) **default (1,1)
+mposition=(c,d) **default (0.5,0.5)
- a: ratio molecular width/font width
- b: ratio molecular hight/font hight
- c: x axis position
- d: y axis position
+a: ratio molecular width/font width
+b: ratio molecular hight/font hight
+c: x axis position
+d: y axis position
- beginfont()
- MC(<30,Ph,3:/F,4:/Cl)
- endfont
+beginfont()
+ MC(<30,Ph,3:/F,4:/Cl)
+endfont
\end{verbatim}
\MCFgraph
%-----------------------------------------------------------------------------
\subsection{Function MCat()}
\index{MCat()}%
\begin{verbatim}
- (Draw molecule at mposition)
+(Draw molecule at mposition)
- MCat(c,d)(....) :
+MCat(c,d)(....) :
- mposition:=(c,d); MC(....)
+mposition:=(c,d); MC(....)
- c: x axis position d: y axis position
+c: x axis position d: y axis position
- defaultsize:=5bp;
- fsize:=(40mm,40mm); fmargin:=(3mm,3mm);
- blength:=0.1; sw_fframe:=1;
- mangle:=0;
- for i=1 step -0.5 until 0:
- for j=0 step 0.5 until 1:
- MCat(j,i)(Ph,4:N)
- add(drawarrow((A1+A1up**aw)..A1);
- label(decimal(mangle),
- p0+(0.5w,0.5h));
- )
- mangle:=mangle+30;
- endfor
+defaultsize:=5bp;
+fsize:=(40mm,40mm); fmargin:=(3mm,3mm);
+blength:=0.1; sw_fframe:=1;
+mangle:=0;
+for i=1 step -0.5 until 0:
+ for j=0 step 0.5 until 1:
+ MCat(j,i)(Ph,4:N)
+ add(drawarrow((A1+A1up**aw)..A1);
+ label(decimal(mangle),
+ p0+(0.5w,0.5h));
+ )
+ mangle:=mangle+30;
endfor
+endfor
\end{verbatim}
\MCFgraph
@@ -1120,27 +1113,27 @@ MCat(1, .5)(<30,Ph,4:/COOH,3:/NH2)
\subsection{Function check\_mc()}
\index{check\_mc()}%
\begin{verbatim}
- (immediately compile)
+(immediately compile)
- beginfont("EN:Pyridine")
- MC(Ph,<30,2:N)
- endfont
+beginfont("EN:Pyridine")
+ MC(Ph,<30,2:N)
+endfont
- (check mcf and compile)
+(check mcf and compile)
- beginfont("EN:Pyridine",":<30,Ph,2:N")
- if check_mc(mc)=0: MC(scantokens(mc)) fi
- endfont
+beginfont("EN:Pyridine",":<30,Ph,2:N")
+ if check_mc(mc)=0: MC(scantokens(mc)) fi
+endfont
- ** error in mcf check_mc(mc)=1
- beginfont("EN:Pyridine",":<30,Ph,2):N")
- if check_mc(mc)=0: MC(scantokens(mc)) fi
- endfont
+** error in mcf check_mc(mc)>=1
+beginfont("EN:Pyridine",":<30,Ph,2):N")
+ if check_mc(mc)=0: MC(scantokens(mc)) fi
+endfont
\end{verbatim}
-\MCFgraph\hspace{15mm}\MCFgraph
+\MCFgraph\hspace{22mm}\MCFgraph
\begin{verbatim}
- check_mc(mc)=0 check_mc(mc)>=1
+check_mc(mc)=0 check_mc(mc)>=1
\end{verbatim}
%===============================================================================
\newpage
@@ -1184,44 +1177,44 @@ MCat(1, .5)(<30,Ph,4:/COOH,3:/NH2)
\begin{verbatim}
(Add graphic to molecule)
- w: molecular width
- h: molecular height
- aw: atom font size
- em: label font size
- p0: origin of molecular structure
- l: bond length
-
- An: atom number
- A[m]: atom position
- A[m]ang: branch angle of A[m]
- A[m]up: dir A[m]ang
- A[m]left: dir A[m]ang+90
- A[m]right: dir A[m]ang-90
- A[m]down: dir A[m]ang+180
-
- Bn: bond number
- B[m]: bond(path)
- B[m]s: bond start position
- B[m]m: bond middle position
- B[m]e: bond end position
- B[m]ang: bond angle
- B[m]up: dir B[m]ang
- B[m]left: dir B[m]ang+90
- B[m]right: dir B[m]ang-90
- B[m]down: dir B[m]ang+180
-
- plus : '+' circled
- minus : '-' circled
- circlediam = 0.6aw (default)
- circlepen = 0.2bp (default)
-
- lonepair r: ':' rotated r
- lonepairdiam = 0.3aw (default)
- lonepairspace = 0.7aw (default)
-
- ** : scaled
- << : rotated
- a /* b : point b of a
+w: molecular width
+h: molecular height
+aw: atom font size
+em: label font size
+p0: origin of molecular structure
+l: bond length
+
+An: atom number
+A[m]: atom position
+A[m]ang: branch angle of A[m]
+A[m]up: dir A[m]ang
+A[m]left: dir A[m]ang+90
+A[m]right: dir A[m]ang-90
+A[m]down: dir A[m]ang+180
+
+Bn: bond number
+B[m]: bond(path)
+B[m]s: bond start position
+B[m]m: bond middle position
+B[m]e: bond end position
+B[m]ang: bond angle
+B[m]up: dir B[m]ang
+B[m]left: dir B[m]ang+90
+B[m]right: dir B[m]ang-90
+B[m]down: dir B[m]ang+180
+
+plus : '+' circled
+minus : '-' circled
+ circlediam = 0.6aw (default)
+ circlepen = 0.2bp (default)
+
+lonepair r: ':' rotated r
+ lonepairdiam = 0.3aw (default)
+ lonepairspace = 0.7aw (default)
+
+** : scaled
+<< : rotated
+a /* b : point b of a
beginfont("EN:add() 1")
fsize:=(70mm,40mm);
@@ -1300,21 +1293,21 @@ endfont
\begin{verbatim}
(Extra graphic to font)
- w: font width
- h: font height
- w0: font width-2xpart(fmargin)
- h0: font height-2ypart(fmargin)
- aw: atom font size
- em: label font size
- p0: fmargin
-
- n: molecular number
- p[m]: molecular origin position
- w[m]: molecular width
- h[m]: molecular height
-
- ratio_thickness_char:
- pen thickness / char width
+w: font width
+h: font height
+w0: font width-2xpart(fmargin)
+h0: font height-2ypart(fmargin)
+aw: atom font size
+em: label font size
+p0: fmargin
+
+n: molecular number
+p[m]: molecular origin position
+w[m]: molecular width
+h[m]: molecular height
+
+ratio_thickness_char:
+pen thickness / char width
%----------------------------------------
beginfont()
fsize:=(70mm,30mm;);
@@ -1459,7 +1452,7 @@ endfont
%-----------------------------------------------------------------------------
\subsection{Lycorine}
\begin{verbatim}
-beginfont("EN:Lycorine","MW:287.31")
+beginfont("EN:Lycorine","MW:287.31",
%--------------------------------------
": Ph,-4=?6,-2=?6,6=?5,(9,12)=?5[3], ",
": 13=dl,8:N,{15,17}:O, ",
@@ -1474,7 +1467,7 @@ endfont
%-----------------------------------------------------------------------------
\subsection{Gibberellin}
\begin{verbatim}
-beginfont("EN:Gibberellin A3","MW:346.37");
+beginfont("EN:Gibberellin A3","MW:346.37",
%----------------------------------------
": <18,?5,3=?7,5=?6[12],@8,160`1.3,&3, ",
": 13=dl,6=wf,8=wb, ",
@@ -1490,7 +1483,7 @@ endfont
%-----------------------------------------------------------------------------
\subsection{Quinine}
\begin{verbatim}
-beginfont("EN:Quinine","MW:324.42")
+beginfont("EN:Quinine","MW:324.42",
%-------------------------------
": <30,Ph,3=Ph,7:N,6:/O!, ",
": @10,\,*/OH,/H~zf^-60,!, ",
@@ -1859,15 +1852,15 @@ endfont;
%--------------------------------------------------------------------
\begin{document}
\unitlength=1mm%
-\INFO{F:mcf_man_soc,C:142,NO:1,mw:349.40462,fm:C16H19N3O4S,EN:Ampicillin}%
-\INFO{F:mcf_man_soc,C:143,NO:2,mw:386.6532,fm:C27H46O,EN:Cholesterol}%
+\INFO{F:mcf_man_soc,C:141,NO:1,mw:349.40462,fm:C16H19N3O4S,EN:Ampicillin}%
+\INFO{F:mcf_man_soc,C:142,NO:2,mw:386.6532,fm:C27H46O,EN:Cholesterol}%
\end{document}
%--------------------------------------------------------------------
\end{verbatim}%
%############################################################################
%------------------------------------------------------------------------
-\INFO{F:mcf_man_soc,C:142,NO:1,mw:349.40462,fm:C16H19N3O4S,EN:Ampicillin}%
-\INFO{F:mcf_man_soc,C:143,NO:2,mw:386.6532,fm:C27H46O,EN:Cholesterol}%
+\INFO{F:mcf_man_soc,C:141,NO:1,mw:349.40462,fm:C16H19N3O4S,EN:Ampicillin}%
+\INFO{F:mcf_man_soc,C:142,NO:2,mw:386.6532,fm:C27H46O,EN:Cholesterol}%
%------------------------------------------------------------------------
\texttt{\printindex}
%------------------------------------------------------------------------
diff --git a/graphics/mcf2graph/mcf_mplib_exa.pdf b/graphics/mcf2graph/mcf_mplib_exa.pdf
index 8e78324427..a643ea23d5 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 f96c632033..d063f98ab8 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.02.28
+% Example of MCF typest with LuaLaTeX(luamplib) by A.Yamaji 2021.03.07
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%% mcf2graph.mf must be version 4.59
+%%% mcf2graph.mf must be version 4.60
\documentclass{article}
%------------------------------------------------------------------------------
\usepackage{luamplib}%