📄 ebigop.mf
字号:
y3-y0=y0-y4=.36asc_height+eps; x3=x4=x0+3u+eps;pos5(bar,angle(z4-z0)); z5l=z0; pos6(bar,angle(z3-z0)); z6l=z0;numeric t; path p; p=z4r..{2(x0-x4),y0-y4}z6r;t=xpart(p intersectiontimes((0,y2l)--(w,y2l))); x2=xpart point t of p;filldraw z0{2(x4-x0),y4-y0}..z4l --subpath (0,t) of\\(z4r..{2(x0-x4),y0-y4}z6r) ..z2l---z1l..z1r---(x0,y2r)--cycle; % arrowhead and stempenlabels(0,1,2,3,4,5,6); endchar;cmchar "Rightward top half arrow";compute_spread(.45x_height#,.55x_height#);beginchar(oct"032",18u#,v_center(spread#+rule_thickness#));adjust_fit(0,0); pickup crisp.nib;pos1(rule_thickness,90); pos2(rule_thickness,90); pos3(bar,0); pos4(bar,0);y0=y1=y2=math_axis; x1-.5rule_thickness=hround u; rt x0=hround(w-u);y3-y0=y0-y4=.36asc_height+eps; x3=x4=x0-3u-eps;pos5(bar,angle(z4-z0)); z5l=z0; pos6(bar,angle(z3-z0)); z6l=z0;numeric t; path p; p=z4l..{2(x0-x4),y0-y4}z6r;t=xpart(p intersectiontimes((0,y2l)--(w,y2l))); x2=xpart point t of p;filldraw z0--(x0,y2l)---z1l..z1r---z2r ..subpath (t,0) of\\(z3l..{2(x0-x3),y0-y3}z5r) --z3r..{2(x0-x3),y0-y3}cycle; % arrowhead and stempenlabels(0,1,2,3,4,5,6); endchar;cmchar "Rightward bottom half arrow";compute_spread(.45x_height#,.55x_height#);beginchar(oct"033",18u#,v_center(spread#+rule_thickness#));adjust_fit(0,0); pickup crisp.nib;pos1(rule_thickness,90); pos2(rule_thickness,90); pos3(bar,0); pos4(bar,0);y0=y1=y2=math_axis; x1-.5rule_thickness=hround u; rt x0=hround(w-u);y3-y0=y0-y4=.36asc_height+eps; x3=x4=x0-3u-eps;pos5(bar,angle(z4-z0)); z5l=z0; pos6(bar,angle(z3-z0)); z6l=z0;numeric t; path p; p=z4l..{2(x0-x4),y0-y4}z6r;t=xpart(p intersectiontimes((0,y2l)--(w,y2l))); x2=xpart point t of p;filldraw z0{2(x4-x0),y4-y0}..z4r --subpath (0,t) of\\(z4l..{2(x0-x4),y0-y4}z6r) ..z2l---z1l..z1r---(x0,y2r)--cycle; % arrowhead and stempenlabels(0,1,2,3,4,5,6); endchar;cmchar "Northeast arrow";beginchar(oct"045",18u#,asc_height#,asc_depth#);adjust_fit(0,0); pickup crisp.nib;x1-.5rule_thickness=hround u; rt x0=hround(w-u);y1-.5rule_thickness=-d; top y0=h;numeric theta,delta; theta=angle(z0-z1); delta=3u++.24asc_height;if abs(theta-45)<2.5: theta:=45; y1:=y0+x1-x0; fi % near-45$^\circ$ anglepos1(rule_thickness,90+theta); pos2(rule_thickness,90+theta);pos3(bar,theta); pos4(bar,theta);z3-z0=(-3u,.36asc_height) rotated theta;z4-z0=(-3u,-.36asc_height) rotated theta;pos5(bar,-90); z5l=z0; pos6(bar,-180); z6l=z0;z9=.381966[.5[z3,z4],z0];numeric t; path p; p=z4l{z9-z4}..z6r;t=xpart(p intersectiontimes (z1l--(z1l+2(z0-z1)))); z2l=point t of p;filldraw z0..{z4-z9}z4r--subpath (0,t) of\\(z4l{z9-z4}..z6r) --z2l---z1l..z1r---z2r--subpath (t,0) of\\(z3l{z9-z3}..z5r) --z3r{z9-z3}..z0 & cycle; % arrowhead and stempenlabels(0,1,2,3,4,5,6,9); endchar;cmchar "Southeast arrow";beginchar(oct"046",18u#,asc_height#,asc_depth#);adjust_fit(0,0); pickup crisp.nib;x1-.5rule_thickness=hround u; rt x0=hround(w-u);y1+.5rule_thickness=h; bot y0=-d;numeric theta,delta; theta=angle(z0-z1); delta=3u++.24asc_height;if abs(theta+45)<2.5: theta:=-45; y1:=y0+x0-x1; fi % near-45$^\circ$ anglepos1(rule_thickness,90+theta); pos2(rule_thickness,90+theta);pos3(bar,theta); pos4(bar,theta);z3-z0=(-3u,.36asc_height) rotated theta;z4-z0=(-3u,-.36asc_height) rotated theta;pos5(bar,180); z5l=z0; pos6(bar,90); z6l=z0;z9=.381966[.5[z3,z4],z0];numeric t; path p; p=z4l{z9-z4}..z6r;t=xpart(p intersectiontimes (z1l--(z1l+2(z0-z1)))); z2l=point t of p;filldraw z0..{z4-z9}z4r --subpath (0,t) of\\(z4l{z9-z4}..z6r) --z2l---z1l..z1r---z2r --subpath (t,0) of\\(z3l{z9-z3}..z5r) --z3r{z9-z3}..z0 & cycle; % arrowhead and stempenlabels(0,1,2,3,4,5,6,9); endchar;cmchar "Northwest arrow";beginchar(oct"055",18u#,asc_height#,asc_depth#);adjust_fit(0,0); pickup crisp.nib;x1+.5rule_thickness=hround(w-u); lft x0=hround u;y1-.5rule_thickness=-d; top y0=h;numeric theta,delta; theta=angle(z1-z0); delta=3u++.24asc_height;if abs(theta+45)<2.5: theta:=-45; y1:=y0+x0-x1; fi % near-45$^\circ$ anglepos1(rule_thickness,-90+theta); pos2(rule_thickness,-90+theta);pos3(bar,-180+theta); pos4(bar,-180+theta);z4-z0=(3u,.36asc_height) rotated theta;z3-z0=(3u,-.36asc_height) rotated theta;pos5(bar,0); z5l=z0; pos6(bar,-90); z6l=z0;z9=.381966[.5[z3,z4],z0];numeric t; path p; p=z4l{z9-z4}..z6r;t=xpart(p intersectiontimes (z1l--(z1l+2(z0-z1)))); z2l=point t of p;filldraw z0..{z4-z9}z4r--subpath (0,t) of\\(z4l{z9-z4}..z6r) --z2l---z1l..z1r---z2r--subpath (t,0) of\\(z3l{z9-z3}..z5r) --z3r{z9-z3}..z0 & cycle; % arrowhead and stempenlabels(0,1,2,3,4,5,6,9); endchar;cmchar "Southwest arrow";beginchar(oct"056",18u#,asc_height#,asc_depth#);adjust_fit(0,0); pickup crisp.nib;x1+.5rule_thickness=hround(w-u); lft x0=hround u;y1+.5rule_thickness=h; bot y0=-d;numeric theta,delta; theta=angle(z1-z0); delta=3u++.24asc_height;if abs(theta-45)<2.5: theta:=45; y1:=y0+x1-x0; fi % near-45$^\circ$ anglepos1(rule_thickness,-90+theta); pos2(rule_thickness,-90+theta);pos3(bar,-180+theta); pos4(bar,-180+theta);z4-z0=(3u,.36asc_height) rotated theta;z3-z0=(3u,-.36asc_height) rotated theta;pos5(bar,90); z5l=z0; pos6(bar,0); z6l=z0;z9=.381966[.5[z3,z4],z0];numeric t; path p; p=z4l{z9-z4}..z6r;t=xpart(p intersectiontimes (z1l--(z1l+2(z0-z1)))); z2l=point t of p;filldraw z0..{z4-z9}z4r --subpath (0,t) of\\(z4l{z9-z4}..z6r) --z2l---z1l..z1r---z2r --subpath (t,0) of\\(z3l{z9-z3}..z5r) --z3r{z9-z3}..z0 & cycle; % arrowhead and stempenlabels(0,1,2,3,4,5,6,9); endchar;cmchar "Double leftward arrow";compute_spread(.45x_height#,.55x_height#);beginchar(oct"050",18u#,v_center(spread#+rule_thickness#));adjust_fit(0,0); pickup rule.nib;lft x7=hround u-eps; x8=x7; x1=x2=w-x7;y1=y7; y2=y8; y1-y2=spread; .5[y1,y2]=math_axis;draw z1--z7; draw z2--z8; % barspickup crisp.nib; lft x0=hround u-eps; y0=good.y math_axis;pos3(rule_thickness,0); pos4(rule_thickness,0);y3-y1=y2-y4=.36asc_height+eps; x3=x4=x0+6u+eps;pos5(rule_thickness,angle(z4-z0)); z5l=z0;pos6(rule_thickness,angle(z3-z0)); z6l=z0;z9=.381966[.5[z3,z4],z0];erase filldraw z0..{z3-z9}z3--(0,y3) --(0,y4)--z4{z9-z4}..z0 & cycle; % erase excessnumeric t; path p; p=z4r{z9-z4}..z6r;t=xpart(p intersectiontimes((0,y0)--(w,y0)));filldraw z0..{z4-z9}z4l--subpath (0,t) of\\(z4r{z9-z4}..z6r) --subpath (t,0) of\\(z3r{z9-z3}..z5r)--z3l{z9-z3}..z0 & cycle; % arrowheadpenlabels(0,1,2,3,4,5,6,7,8,9); endchar;cmchar "Double rightward arrow";compute_spread(.45x_height#,.55x_height#);beginchar(oct"051",18u#,v_center(spread#+rule_thickness#));adjust_fit(0,0); pickup rule.nib;lft x1=hround u-eps; x2=x1; x7=x8=w-x1;y1=y7; y2=y8; y1-y2=spread; .5[y1,y2]=math_axis;draw z1--z7; draw z2--z8; % barspickup crisp.nib; rt x0=hround(w-u)+eps; y0=good.y math_axis;pos3(rule_thickness,0); pos4(rule_thickness,0);y3-y1=y2-y4=.36asc_height+eps; x3=x4=x0-6u-eps;pos5(rule_thickness,angle(z4-z0)); z5l=z0;pos6(rule_thickness,angle(z3-z0)); z6l=z0;z9=.381966[.5[z3,z4],z0];erase filldraw z0..{z3-z9}z3--(w,y3) --(w,y4)--z4{z9-z4}..z0 & cycle; % erase excessnumeric t; path p; p=z4l{z9-z4}..z6r;t=xpart(p intersectiontimes((0,y0)--(w,y0)));filldraw z0..{z4-z9}z4r--subpath (0,t) of\\(z4l{z9-z4}..z6r) --subpath (t,0) of\\(z3l{z9-z3}..z5r)--z3r{z9-z3}..z0 & cycle; % arrowheadpenlabels(0,1,2,3,4,5,6,7,8,9); endchar;cmchar "Double upward arrow";beginchar(oct"052",12u#,asc_height#,asc_depth#);adjust_fit(0,0); pickup rule.nib;compute_spread(.45x_height#,.55x_height#);bot y1=bot y2=-d-eps; top y7=h; y8=y7;x1=x7; x2=x8; x1-x2=spread; .5[x1,x2]=crisp.lft hround(crisp.rt .5w);draw z1--z7; draw z2--z8; % barspickup crisp.nib; top y0=h+eps; x0=good.x .5w;pos3(rule_thickness,90); pos4(rule_thickness,90);x2-x3=x4-x1=4u+eps; y3=y4=y0-.48asc_height-eps;pos5(rule_thickness,angle(z4-z0)); z5l=z0;pos6(rule_thickness,angle(z3-z0)); z6l=z0;z9=.381966[.5[z3,z4],z0];erase filldraw z0..{z3-z9}z3--(x3,h) --(x4,h)--z4{z9-z4}..z0 & cycle; % erase excessnumeric t; path p; p=z4l{z9-z4}..z6r;t=xpart(p intersectiontimes((x0,-d)--(x0,h)));filldraw z0..{z4-z9}z4r--subpath (0,t) of\\(z4l{z9-z4}..z6r) --subpath (t,0) of\\(z3l{z9-z3}..z5r)--z3r{z9-z3}..z0 & cycle; % arrowheadpenlabels(0,1,2,3,4,5,6,7,8,9); endchar;cmchar "Double downward arrow";beginchar(oct"053",12u#,asc_height#,asc_depth#);adjust_fit(0,0); pickup rule.nib;compute_spread(.45x_height#,.55x_height#);top y1=top y2=h+eps; bot y7=-d; y8=y7;x1=x7; x2=x8; x1-x2=spread; .5[x1,x2]=crisp.lft hround(crisp.rt .5w);draw z1--z7; draw z2--z8; % barspickup crisp.nib; bot y0=-d-eps; x0=good.x .5w;pos3(rule_thickness,90); pos4(rule_thickness,90);x2-x3=x4-x1=4u+eps; y3=y4=y0+.48asc_height-eps;pos5(rule_thickness,angle(z4-z0)); z5l=z0;pos6(rule_thickness,angle(z3-z0)); z6l=z0;z9=.381966[.5[z3,z4],z0];erase filldraw z0..{z3-z9}z3--(x3,-d) --(x4,-d)--z4{z9-z4}..z0 & cycle; % erase excessnumeric t; path p; p=z4r{z9-z4}..z6r;t=xpart(p intersectiontimes((x0,-d)--(x0,h)));filldraw z0..{z4-z9}z4l--subpath (0,t) of\\(z4r{z9-z4}..z6r) --subpath (t,0) of\\(z3r{z9-z3}..z5r)--z3l{z9-z3}..z0 & cycle; % arrowheadpenlabels(0,1,2,3,4,5,6,7,8,9); endchar;cmchar "Double left-and-right arrow";compute_spread(.45x_height#,.55x_height#);beginchar(oct"054",18u#,v_center(spread#+rule_thickness#));adjust_fit(if monospace: -u#,-u# else: 0,0 fi); pickup rule.nib;lft x7=hround u-eps; x8=x7; x1=x2=w-x7;y1=y7; y2=y8; y1-y2=spread; .5[y1,y2]=math_axis;draw z1--z7; draw z2--z8; % barspickup crisp.nib; lft x0=hround u-o; y0=good.y math_axis;pos3(rule_thickness,0); pos4(rule_thickness,0);y3-y1=y2-y4=.36asc_height+eps; x3=x4=x0+5u+eps;pos5(rule_thickness,angle(z4-z0)); z5l=z0;pos6(rule_thickness,angle(z3-z0)); z6l=z0;z9=.381966[.5[z3,z4],z0];erase filldraw z0..{z3-z9}z3--(0,y3) --(0,y4)--z4{z9-z4}..z0 & cycle; % erase excess at leftnumeric t; path p; p=z4r{z9-z4}..z6r;t=xpart(p intersectiontimes((0,y0)--(w,y0)));filldraw z0..{z4-z9}z4l--subpath (0,t) of\\(z4r{z9-z4}..z6r) --subpath (t,0) of\\(z3r{z9-z3}..z5r) --z3l{z9-z3}..z0 & cycle; % left arrowheadrt x10=hround(w-u)+o; y10=good.y math_axis;pos13(rule_thickness,0); pos14(rule_thickness,0);y13=y3; y14=y4; x13=x14=x10-5u-eps;pos15(rule_thickness,angle(z14-z10)); z15l=z10;pos16(rule_thickness,angle(z13-z10)); z16l=z10;z19=.381966[.5[z13,z14],z10];erase filldraw z10..{z13-z19}z13--(w,y13) --(w,y14)--z14{z19-z14}..z10 & cycle; % erase excess at rightnumeric t; path p; p=z14l{z19-z14}..z16r;t=xpart(p intersectiontimes((0,y10)--(w,y10)));filldraw z10..{z14-z19}z14r--subpath (0,t) of\\(z14l{z19-z14}..z16r) --subpath (t,0) of\\(z13l{z19-z13}..z15r) --z13r{z19-z13}..z10 & cycle; % right arrowheadpenlabels(0,1,2,3,4,5,6,7,8,9,10,13,14,15,16,19); endchar;cmchar "Double up-and-down arrow";beginchar(oct"155",12u#,body_height#,paren_depth#);adjust_fit(0,0); pickup rule.nib;compute_spread(.45x_height#,.55x_height#);bot y1=bot y2=-d-eps; top y7=h; y8=y7;x1=x7; x2=x8; x1-x2=spread; .5[x1,x2]=crisp.lft hround(crisp.rt .5w);draw z1--z7; draw z2--z8; % barspickup crisp.nib; top y0=h+o; x0=good.x .5w;pos3(rule_thickness,90); pos4(rule_thickness,90);x2-x3=x4-x1=4u+eps; y3=y4=y0-.4asc_height-eps;pos5(rule_thickness,angle(z4-z0)); z5l=z0;pos6(rule_thickness,angle(z3-z0)); z6l=z0;z9=.381966[.5[z3,z4],z0];erase filldraw z0..{z3-z9}z3--(x3,h) --(x4,h)--z4{z9-z4}..z0 & cycle; % erase excess at topnumeric t; path p; p=z4l{z9-z4}..z6r;t=xpart(p intersectiontimes((x0,-d)--(x0,h)));filldraw z0..{z4-z9}z4r--subpath (0,t) of\\(z4l{z9-z4}..z6r) --subpath (t,0) of\\(z3l{z9-z3}..z5r) --z3r{z9-z3}..z0 & cycle; % top arrowheadbot y10=-d-o; x10=good.x .5w;pos13(rule_thickness,90); pos14(rule_thickness,90);x13=x3; x14=x4; y13=y14=y10+.4asc_height-eps;pos15(rule_thickness,angle(z14-z10)); z15l=z10;pos16(rule_thickness,angle(z13-z10)); z16l=z10;z19=.381966[.5[z13,z14],z10];erase filldraw z10..{z13-z19}z13--(x13,-d) --(x14,-d)--z14{z19-z14}..z10 & cycle; % erase excess at bottomnumeric t; path p; p=z14r{z19-z14}..z16r;t=xpart(p intersectiontimes((x10,-d)--(x10,h)));filldraw z10..{z14-z19}z14l--subpath (0,t) of\\(z14r{z19-z14}..z16r) --subpath (t,0) of\\(z13r{z19-z13}..z15r) --z13l{z19-z13}..z10 & cycle; % bottom arrowheadpenlabels(0,1,2,3,4,5,6,7,8,9,13,14,15,16,19); endchar;cmchar "Infinity";beginchar(oct"061",18u#,x_height#,0);italcorr .7x_height#*slant-.5u#;adjust_fit(0,0); pickup fine.nib;numeric theta,phi;if monospace: phi=-theta=90;else: phi=angle(4u,h); theta=angle(6u,-h); fipos1(.2[vair,curve],180); pos2(.6[vair,curve],90+.5theta); pos3(curve,90+theta);pos4(curve,90+theta); pos5(.6[vair,curve],90+.5theta);pos6(.2[vair,curve],180); pos7(.3[vair,curve],270+.5phi);pos8(.35[vair,curve],270+phi); pos9(.3[vair,curve],270+.5phi);lft x1r=w-rt x6l=hround u; x2=x9=.4[x1,x8]; x5=x7=.6[x8,x6];if monospace: x2l:=x2r; x5r:=x5l; x7r:=x7l; x9l:=x9r; fiy1=y6=.5h; top y2r=top y7l=h+oo; bot y5l=bot y9r=-oo;x8=.5[x3,x4]=.5w; y8=.5[y3,y4]=.5h;y3-y4=h/3; z3-z4=whatever*dir theta;filldraw stroke z1e{up}...z2e{right}...z3e---z4e...z5e{right} ...z6e{up}...z7e{left}...{-dir phi}z8e...{left}z9e...z1e{up}; % bowlspenlabels(1,2,3,4,5,6,7,8,9); endchar;font_x_height x_height#;font_quad 18u#+4letter_fit#;% (The calling file should give the other math extension font parameters.)bye.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -