📄 ebigop.mf
字号:
% The Computer Modern Math-Extension family (by D. E. Knuth, 1979--1985)% Special version for characters redesigned to blend with Euler% This is the driver file for EUEX fonts, before AMS screwed it upfont_coding_scheme:="euler substitutions only";mode_setup; font_setup;def t_ = transformed currenttransform enddef; def bulb(suffix $,$$,$$$) = z$$$r=z$$r;pair trueup; (z5+trueup)t_=z5+(0,y$$r-y$r); path_.l:=z$l{x$$r-x$r,0}...{trueup}z$$l;{{less_tense; filldraw path_.l--z$$r{-trueup}...{x$r-x$$r,0}z$r--cycle}}; % link path_.r:=z$$$l{-trueup}..z$$$r{trueup}; % near-circle filldraw subpath(0,xpart(path_.r intersectiontimes path_.l)) of path_.r --z$$r{trueup}..cycle; % bulb enddef;% characters modified from BIGOPcharlist oct"110": oct"111"; % contour integral signscharlist oct"122": oct"132"; % integral signscharlist oct"120": oct"130"; % summation signscharlist oct"121": oct"131"; % product signscharlist oct"140": oct"141"; % coproduct signs% characters modified from BIGDEL (braces in different positions)charlist oct"010": oct"012": oct"014": oct"016": oct"070"; % left bracescharlist oct"011": oct"013": oct"015": oct"017": oct"071"; % right bracesextensible oct"070": oct"070",oct"074",oct"072",oct"076"; % left braceextensible oct"071": oct"071",oct"075",oct"073",oct"076"; % right braceextensible oct"072": oct"070",0,oct"072",oct"076"; % sharp left parenthesisextensible oct"073": oct"071",0,oct"073",oct"076"; % sharp right parenthesisextensible oct"076": 0,0,0,oct"076"; % brace extension modules onlyextensible oct"100": oct"070",0,oct"073",oct"076"; % left moustacheextensible oct"101": oct"071",0,oct"072",oct"076"; % right moustache% the horizontal braces are included tooheavy_rule_thickness:=bold+dw; % this is the main change: big braces not so darkheavy_rule_thickness#:=curve#+(curve#-stem#);% arrows (taken from SYMBOL, SYM, and ROMSS, with longer and thicker arrowheads)bar:=rule_thickness; % this makes the arrowheads thicker% the half arrows from ROMSS are moved to different font positions% infinity (taken from SYMBOL, made heavier)cmchar "\textstyle integral sign";beginchar(oct"122",12u#,0,100/54dh#);italcorr 0.5u#; % \TeX\ kerning between upper limit and lower limitadjust_fit(-1u#,-1u#-ic#); pickup fine.nib;pos1(dot_size,0); pos2(.75[hair,stem],0); pos3(vair,90); pos4(stem,180);pos5(.4[stem,curve],180); pos5'(.4[stem,curve],0); z5'=z5; pos6(stem,0);pos7(vair,-90); pos8(.75[hair,stem],-180); pos9(dot_size,-180);rt x1r=hround(w-u); x9=w-x1; x7=w-x3=3u;x5=.5[x4,x6]; x4-x6=1.2u; lft x5r=hround(.5w-.5stem);top y3r=0; bot y7r=-d; y9-.5(.4[stem,curve])=vround(top y7l+.25(.4[stem,curve]));y3-y1=y9-y7; y5=.5[y3,y7]=.5[y4,y6]; y4-y6=.6(y3-y7);transform skewit; z5 transformed skewit=z5; (z5+right) transformed skewit = z5+right; z3 transformed skewit=z3-u*right;skewit:=skewit transformed currenttransform;save currenttransform; transform currenttransform; currenttransform:=skewit;bulb(3,2,1); bulb(7,8,9); % bulbsfilldraw stroke z3e{left}...z4e{(z5e-z4e)xscaled 1.1} ..tension atleast 1 and atleast .8..{z5-z4}z5e; % upper stemfilldraw stroke z5'e{z6-z5}..tension atleast.8 and atleast 1 ..{(z6e-z5'e)xscaled 1.1}z6e...{left}z7e; % lower stempenlabels(1,2,3,4,5,6,7,8,9); endchar;cmchar "\displaystyle integral sign";beginchar(oct"132",18u#,0,200/54dh#);italcorr 2u#; % \TeX\ kerning between upper limit and lower limitadjust_fit(-4u#,-4u#-ic#); pickup fine.nib;numeric bulb_size, max_size;bulb_size=hround(.8[stem,curve]); max_size=hround(bold+.2dw);pos1(bulb_size,0); pos2(.75[hair,stem],0); pos3(vair,90); pos4(.4[stem,curve],180);pos5(max_size,180); pos5'(max_size,0); z5'=z5; pos6(.4[stem,curve],0);pos7(vair,-90); pos8(.75[hair,stem],-180); pos9(bulb_size,-180);rt x1r=hround(w-u); x9=w-x1; x7=w-x3=3u;x5=.5[x4,x6]; x4-x6=4.8u; lft x5r=hround(.5w-.5stem);top y3r=0; bot y7r=-d;y9-.5bulb_size=vround(top y7l+.25bulb_size); y3-y1=y9-y7;y5=.5[y3,y7]=.5[y4,y6]; y4-y6=.6(y3-y7);transform skewit; z5 transformed skewit=z5; (z5+right) transformed skewit = z5+right; z3 transformed skewit=z3-4u*right;skewit:=skewit transformed currenttransform;save currenttransform; transform currenttransform; currenttransform:=skewit;bulb(3,2,1); bulb(7,8,9); % bulbsfilldraw stroke z3e{left}...z4e{(z5e-z4e)xscaled 1.1} ..tension atleast 1 and atleast .8..{z5-z4}z5e; % upper stemfilldraw stroke z5'e{z6-z5}..tension atleast.8 and atleast 1 ..{(z6e-z5'e)xscaled 1.1}z6e...{left}z7e; % lower stempenlabels(1,2,3,4,5,6,7,8,9); endchar;cmchar "\textstyle contour integral sign";beginchar(oct"110",12u#,0,100/54dh#);italcorr 0.5u#; % \TeX\ kerning between upper limit and lower limitadjust_fit(-u#,-u#-ic#); pickup fine.nib;begingrouppos1(dot_size,0); pos2(.75[hair,stem],0); pos3(vair,90); pos4(stem,180);pos5(.4[stem,curve],180); pos5'(.4[stem,curve],0); z5'=z5; pos6(stem,0);pos7(vair,-90); pos8(.75[hair,stem],-180); pos9(dot_size,-180);rt x1r=hround(w-u); x9=w-x1; x7=w-x3=3u;x5=.5[x4,x6]; x4-x6=1.2u; lft x5r=hround(.5w-.5stem);top y3r=0; bot y7r=-d; y9-.5(.4[stem,curve])=vround(top y7l+.25(.4[stem,curve]));y3-y1=y9-y7; y5=.5[y3,y7]=.5[y4,y6]; y4-y6=.6(y3-y7);transform skewit; z5 transformed skewit=z5; (z5+right) transformed skewit = z5+right; z3 transformed skewit=z3-u*right;skewit:=skewit transformed currenttransform;save currenttransform; transform currenttransform; currenttransform:=skewit;bulb(3,2,1); bulb(7,8,9); % bulbsfilldraw stroke z3e{left}...z4e{(z5e-z4e)xscaled 1.1} ..tension atleast 1 and atleast .8..{z5-z4}z5e; % upper stemfilldraw stroke z5'e{z6-z5}..tension atleast.8 and atleast 1 ..{(z6e-z5'e)xscaled 1.1}z6e...{left}z7e; % lower stemendgroup;pickup rule.nib; autorounded;draw fullcircle scaled .5w shifted z5; % contourpenlabels(1,2,3,4,5,6,7,8,9); endchar;cmchar "\displaystyle contour integral sign";beginchar(oct"111",18u#,0,200/54dh#);italcorr 2u#; % \TeX\ kerning between upper limit and lower limitadjust_fit(-4u#,-4u#-ic#); pickup fine.nib;begingroupnumeric bulb_size, max_size;bulb_size=hround(.8[stem,curve]); max_size=hround(bold+.2dw);pos1(bulb_size,0); pos2(.75[hair,stem],0); pos3(vair,90); pos4(.4[stem,curve],180);pos5(max_size,180); pos5'(max_size,0); z5'=z5; pos6(.4[stem,curve],0);pos7(vair,-90); pos8(.75[hair,stem],-180); pos9(bulb_size,-180);rt x1r=hround(w-u); x9=w-x1; x7=w-x3=3u;x5=.5[x4,x6]; x4-x6=4.8u; lft x5r=hround(.5w-.5stem);top y3r=0; bot y7r=-d;y9-.5bulb_size=vround(top y7l+.25bulb_size); y3-y1=y9-y7;y5=.5[y3,y7]=.5[y4,y6]; y4-y6=.6(y3-y7);transform skewit; z5 transformed skewit=z5; (z5+right) transformed skewit = z5+right; z3 transformed skewit=z3-4u*right;skewit:=skewit transformed currenttransform;save currenttransform; transform currenttransform; currenttransform:=skewit;bulb(3,2,1); bulb(7,8,9); % bulbsfilldraw stroke z3e{left}...z4e{(z5e-z4e)xscaled 1.1} ..tension atleast 1 and atleast .8..{z5-z4}z5e; % upper stemfilldraw stroke z5'e{z6-z5}..tension atleast.8 and atleast 1 ..{(z6e-z5'e)xscaled 1.1}z6e...{left}z7e; % lower stemendgroup;pickup rule.nib; autorounded;draw fullcircle scaled .5w shifted z5; % contourpenlabels(1,2,3,4,5,6,7,8,9); endchar;cmchar "\textstyle summation sign";beginchar(oct"120",19u#,0,10/6dh#);adjust_fit(0,0); pickup tiny.nib;numeric top_arm_thickness, bot_arm_thickness;top_arm_thickness=Vround(.7[rule_thickness,bold]);bot_arm_thickness=Vround(bold+dw);lft x1l=hround 2.2u; x1l=x2l; lft x4l=hround u; x3l-x1l=4/11(w-2u)-1.2u;top y1=0; bot y2=-top_arm_thickness-eps; bot y4=-d; y3=-.48d;numeric alpha[]; alpha1=((x3l-x1l)++(y2-y3))/(y2-y3);penpos1(alpha1*(curve-tiny),0); penpos2(alpha1*(curve-tiny),0);penpos3(alpha1*(curve-tiny),0);alpha2=diag_ratio(1,rule_thickness+dw-tiny,y3-y4,x3r-x4l);penpos4(alpha2*(rule_thickness+dw-tiny),0);z0=whatever[z2l,z3l]=z4l+whatever*(z3r-z4r);filldraw z1l--z2l--z0--z4l--z4r--z3r--z2r--z1r--cycle; % diagonalspickup crisp.nib; pos5(top_arm_thickness,90); pos6(hair,0);top y5r=0; x5=x1; rt x6r=hround(w-3u); y6=good.y(y5l)-eps;{{save serifs; boolean serifs; serifs:=false;arm(5,6,a,.45,-.25u); % upper arm and beakpos7(bot_arm_thickness,-90); pos8(hair,0);bot y7r=-d; z7l=whatever[z4,z3]; x7r:=x4; x8=x6+1.5u; y8=good.y(y7l)+eps;arm(7,8,b,.45,.25u);}}; % lower arm and beakpenlabels(0,1,2,3,4,5,6,7,8); endchar;cmchar "\displaystyle summation sign";beginchar(oct"130",26u#,0,14/6dh#); padded 1/6dh#;adjust_fit(0,0); pickup tiny.nib;numeric top_arm_thickness, bot_arm_thickness, thick_stem, thin_stem;thick_stem=bold+4dw; thin_stem=rule_thickness+2dw;top_arm_thickness=Vround(bold-.5dw);bot_arm_thickness=Vround(bold+2.5dw);lft x1l=hround 3u; x1l=x2l; lft x4l=hround u; x3l-x1l=4/11(w-2u)-2u;top y1=0; bot y2=-top_arm_thickness-eps; bot y4=-d; y3=-.48d;numeric alpha[]; alpha1=((x3l-x1l)++(y2-y3))/(y2-y3);penpos1(alpha1*(thick_stem-tiny),0); penpos2(alpha1*(thick_stem-tiny),0);penpos3(alpha1*(thick_stem-tiny),0);alpha2=diag_ratio(1,thin_stem-tiny,y3-y4,x3r-x4l);penpos4(alpha2*(thin_stem-tiny),0);z0=whatever[z2l,z3l]=z4l+whatever*(z3r-z4r);filldraw z1l--z2l--z0--z4l--z4r--z3r--z2r--z1r--cycle; % diagonalspickup crisp.nib; pos5(top_arm_thickness,90); pos6(hair,0);top y5r=0; x5=x1; rt x6r=hround(w-4u); y6=good.y(y5l)-eps;{{save serifs; boolean serifs; serifs:=false;arm(5,6,a,.45,-.25u); % upper arm and beakpos7(bot_arm_thickness,-90); pos8(hair,0);bot y7r=-d; z7l=whatever[z4,z3]; x7r:=x4; x8=x6+2.5u; y8=good.y(y7l)+eps;arm(7,8,b,.45,.25u);}}; % lower arm and beakpenlabels(0,1,2,3,4,5,6,7,8); endchar;cmchar "\textstyle product sign";beginchar(oct"121",18.5u#,0,10/6dh#);adjust_fit(.25u#,.25u#); pickup crisp.nib;numeric heavy_stem,light_stem;heavy_stem=hround(bold+dw); light_stem=rule_thickness;pos1(heavy_stem,0);pos2(heavy_stem,0); pos1'(heavy_stem,0);pos2'(heavy_stem,0);pos11(light_stem,90); pos12(light_stem,90); pos22(light_stem,90);lft x11=hround u; x1l-x11=x2l-x12=x22-x2r=hround cap_jut;x1=x1'=x2=x2';top y1=0; bot y2=-d; y11r=y1; y12l=y22l=y2;y11l-y1'=y2'-y12r=1.2bracket;filldraw z1r--z11r--serif_arc(11l,1'l)--reverse serif_arc(12r,2'l) --z12l--z22l--serif_arc(22r,2'r)--cycle; % left stem and serifspos3(heavy_stem,0);pos4(heavy_stem,0); pos3'(heavy_stem,0);pos4'(heavy_stem,0);pos13(light_stem,90); pos14(light_stem,90); pos24(light_stem,90);x3=x3'=x4=x4'=w-x1; x13=x14=w-x11; x24=w-x22;y3=y13r=y1; y3'=y1'; y4'=y2'; y4=y14l=y24l=y2;filldraw z3l--z13r--serif_arc(13l,3'r)--reverse serif_arc(14r,4'r) --z14l--z24l--serif_arc(24r,4'l)--cycle; % right stem and serifsfilldraw stroke z11e--z13e; % barpenlabels(1,1',2,2',3,3',4,4',11,12,13,14,22,24); endchar;cmchar "\displaystyle product sign";beginchar(oct"131",25.4u#,0,14/6dh#); padded 1/6dh#;adjust_fit(0,0); pickup crisp.nib;numeric heavy_stem,light_stem;heavy_stem=hround(bold+5dw); light_stem=Vround(rule_thickness+dw);pos1(heavy_stem,0);pos2(heavy_stem,0); pos1'(heavy_stem,0);pos2'(heavy_stem,0);pos11(light_stem,90); pos12(light_stem,90); pos22(light_stem,90);lft x11=hround u; x1l-x11=x2l-x12=x22-x2r=hround 1.6cap_jut;x1=x1'=x2=x2';top y1=0; bot y2=-d; y11r=y1; y12l=y22l=y2;y11l-y1'=y2'-y12r=1.8bracket;filldraw z1r--z11r--serif_arc(11l,1'l)--reverse serif_arc(12r,2'l) --z12l--z22l--serif_arc(22r,2'r)--cycle; % left stem and serifspos3(heavy_stem,0);pos4(heavy_stem,0); pos3'(heavy_stem,0);pos4'(heavy_stem,0);pos13(light_stem,90); pos14(light_stem,90); pos24(light_stem,90);x3=x3'=x4=x4'=w-x1; x13=x14=w-x11; x24=w-x22;y3=y13r=y1; y3'=y1'; y4'=y2'; y4=y14l=y24l=y2;filldraw z3l--z13r--serif_arc(13l,3'r)--reverse serif_arc(14r,4'r) --z14l--z24l--serif_arc(24r,4'l)--cycle; % right stem and serifsfilldraw stroke z11e--z13e; % barpenlabels(1,1',2,2',3,3',4,4',11,12,13,14,22,24); endchar;cmchar "\textstyle coproduct sign";beginchar(oct"140",18.5u#,0,10/6dh#);adjust_fit(.25u#,.25u#); pickup crisp.nib;numeric heavy_stem,light_stem;heavy_stem=hround(bold+dw); light_stem=rule_thickness;pos1(heavy_stem,0);pos2(heavy_stem,0); pos1'(heavy_stem,0);pos2'(heavy_stem,0);pos11(light_stem,-90); pos12(light_stem,-90); pos22(light_stem,-90);lft x11=hround u; x1l-x11=x2l-x12=x22-x2r=hround cap_jut;x1=x1'=x2=x2';bot y1=-d; top y2=0; y11r=y1; y12l=y22l=y2;y1'-y11l=y12r-y2'=1.2bracket;filldraw z1r--z11r--serif_arc(11l,1'l)--reverse serif_arc(12r,2'l) --z12l--z22l--serif_arc(22r,2'r)--cycle; % left stem and serifspos3(heavy_stem,0);pos4(heavy_stem,0); pos3'(heavy_stem,0);pos4'(heavy_stem,0);pos13(light_stem,-90); pos14(light_stem,-90); pos24(light_stem,-90);x3=x3'=x4=x4'=w-x1; x13=x14=w-x11; x24=w-x22;y3=y13r=y1; y3'=y1'; y4'=y2'; y4=y14l=y24l=y2;filldraw z3l--z13r--serif_arc(13l,3'r)--reverse serif_arc(14r,4'r) --z14l--z24l--serif_arc(24r,4'l)--cycle; % right stem and serifsfilldraw stroke z11e--z13e; % barpenlabels(1,1',2,2',3,3',4,4',11,12,13,14,22,24); endchar;cmchar "\displaystyle coproduct sign";beginchar(oct"141",25.4u#,0,14/6dh#); padded 1/6dh#;adjust_fit(0,0); pickup crisp.nib;numeric heavy_stem,light_stem;heavy_stem=hround(bold+5dw); light_stem=Vround(rule_thickness+dw);pos1(heavy_stem,0);pos2(heavy_stem,0); pos1'(heavy_stem,0);pos2'(heavy_stem,0);pos11(light_stem,-90); pos12(light_stem,-90); pos22(light_stem,-90);lft x11=hround u; x1l-x11=x2l-x12=x22-x2r=hround 1.6cap_jut;x1=x1'=x2=x2';bot y1=-d; top y2=0; y11r=y1; y12l=y22l=y2;y1'-y11l=y12r-y2'=1.8bracket;filldraw z1r--z11r--serif_arc(11l,1'l)--reverse serif_arc(12r,2'l) --z12l--z22l--serif_arc(22r,2'r)--cycle; % left stem and serifspos3(heavy_stem,0);pos4(heavy_stem,0); pos3'(heavy_stem,0);pos4'(heavy_stem,0);pos13(light_stem,-90); pos14(light_stem,-90); pos24(light_stem,-90);x3=x3'=x4=x4'=w-x1; x13=x14=w-x11; x24=w-x22;y3=y13r=y1; y3'=y1'; y4'=y2'; y4=y14l=y24l=y2;filldraw z3l--z13r--serif_arc(13l,3'r)--reverse serif_arc(14r,4'r) --z14l--z24l--serif_arc(24r,4'l)--cycle; % right stem and serifsfilldraw stroke z11e--z13e; % barpenlabels(1,1',2,2',3,3',4,4',11,12,13,14,22,24); endchar;cmchar "\big left curly brace";beginchar(oct"010",9u#,rule_thickness#,2dh#-rule_thickness#);adjust_fit(.75u#,.75u#); left_curly(hair,stem); endchar;cmchar "\Big left curly brace";beginchar(oct"012",10u#,rule_thickness#,3dh#-rule_thickness#);adjust_fit(u#,u#); left_curly(rule_thickness,.3[stem,bold]); endchar;cmchar "\bigg left curly brace";beginchar(oct"014",11u#,rule_thickness#,4dh#-rule_thickness#);adjust_fit(1.25u#,1.25u#); left_curly(rule_thickness+.2dw,.7[stem,bold]); endchar;cmchar "\Bigg left curly brace";beginchar(oct"016",11.5u#,rule_thickness#,5dh#-rule_thickness#);adjust_fit(1.5u#,1.5u#); left_curly(rule_thickness+.4dw,bold); endchar;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -