📄 manfnt.mf
字号:
% Special font for the TeX and METAFONT manuals% This file was prepared "hastily" and hasn't been "polished".% In particular, some characters won't work when aspect_ratio<>1.font_size 10pt#;em#:=10pt#; ht#:=250/36pt#;mode_setup;font_identifier "MANFNT";font_coding_scheme "PI";message "Hex symbols";width1#=.4pt#*(ht#/(100/36pt#));width2#=.6pt#*(ht#/(100/36pt#));define_blacker_pixels(width1,width2);beginchar(1,2ht#,ht#,0); "Original hex"; % \hexapickup pencircle scaled width1;w:=2good.x .5w;x1=x4=good.x 0; x2=x5=.5w; x3=x6=good.x w;y1=y2=y3=good.y h; y4=y5=y6=good.y 0;draw z1..z6; draw z2..z5; draw z3..z4;for k=1 upto 6: drawdot z[k]; endforlabels (1,2,3,4,5,6); endchar;beginchar(2,2ht#,ht#,0); "Top/bot adjusted hex"; % \hexbpickup pencircle scaled width1;w:=2good.x .5w;x1=x4=good.x 0; x2=x5=.5w; x3=x6=good.x w;top y1=h; y1=y2=y3; bot y4=0; y4=y5=y6;draw z1..z6; draw z2..z5; draw z3..z4;for k=1 upto 6: drawdot z[k]; endforlabels (1,2,3,4,5,6); endchar;beginchar(3,2ht#,ht#,0); "Bold top/bot adjusted hex"; % \hexcpickup pencircle scaled width2;w:=2good.x .5w;x1=x4=good.x 0; x2=x5=.5w; x3=x6=good.x w;top y1=h; y1=y2=y3; bot y4=0; y4=y5=y6;draw z1..z6; draw z2..z5; draw z3..z4;for k=1 upto 6: drawdot z[k]; endforlabels (1,2,3,4,5,6); endchar;beginchar(4,2ht#,ht#,0); "Bold top/bot/lft/rt adjusted hex"; % \hexdpickup pencircle scaled width2;w:=2good.x .5w;lft x1=0; x1=x4; x2=x5=.5w; rt x3=w-1; x3=x6;top y1=h; y1=y2=y3; bot y4=0; y4=y5=y6;draw z1..z6; draw z2..z5; draw z3..z4;for k=1 upto 6: drawdot z[k]; endforlabels (1,2,3,4,5,6); endchar;beginchar(5,2ht#,ht#,0); "Hex corrected for darkness in the center"; % \hexepickup pencircle scaled width1;w:=2good.x .5w;top z1=(0,h); top z2=(.5w,h); top z3=(w,h);bot z4=(0,0); bot z5=(.5w,0); bot z6=(w,0);for k=1 upto 6: drawdot z[k]; endforz1'=.25[z1,z6]; z6'=.75[z1,z6]; theta1:=angle(z6-z1)+90;z3'=.25[z3,z4]; z4'=.75[z3,z4]; theta3:=angle(z4-z3)+90;z7=z8=.5[z1,z6];penpos1'(width1,theta1); penpos6'(width1,theta1); penpos7(.6width1,theta1);penpos3'(width1,theta3); penpos4'(width1,theta3); penpos8(.6width1,theta3);draw z1..z1'; penstroke z1'e{z6'-z1'}..z7e..{z6'-z1'}z6'e; draw z6'..z6;draw z2..z5;draw z3..z3'; penstroke z3'e{z4'-z3'}..z8e..{z4'-z3'}z4'e; draw z4'..z4;penlabels(1,1',7,2,3,3',8,4,4',5,6,6'); endchar;message "Stick A's";b#:=250/36pt#; a#:=150/36pt#; s#:=30/36pt#;standardwidth#:=.4pt#;darkwidth#:=.8pt#; lightwidth#:=.2pt#;define_blacker_pixels(standardwidth,darkwidth,lightwidth);define_pixels(b,a,s);def stick_A(expr alpha)(text pentype)=beginchar (incr(charcode),s#+a#+s#,b#,0);pickup pentype;bot z1=(good.x s,0); z5=z1+(a,0);z3=(1/2[x1,x5],good.y b);z2=alpha[z1,z3]; z4=alpha[z5,z3];draw z1..z3; draw z3..z5; draw z2..z4;drawdot z1; drawdot z5; drawdot z3;labels(1,2,3,4,5); endchar; enddef;charcode:=5; % the first A will be number 6stick_A((3-sqrt5)/2, % (area above bar / area below) = golden ratio % \Aa pencircle scaled standardwidth);for alpha=.2 step .05 until .5+10epsilon: stick_A(alpha,pencircle scaled standardwidth); endfor % chars 7..13beginchar(14,s#+a#+s#,b#,0);pickup pencircle scaled standardwidth;bot z1=(good.x s,0); z5=z1+(a,0);z3=(1/2[x1,x5],good.y b);z4-z2=whatever*dir20; 1/2[y2,y4]=2/3[y3,y1];z2=whatever[z1,z3]; z4=whatever[z3,z5];draw z1..z3; draw z3..z5; draw z2..z4;drawdot z1; drawdot z5; drawdot z3;labels(1,2,3,4,5); endchar;stick_A((3-sqrt5)/2,pencircle xscaled darkwidth yscaled lightwidth); % \Ab=15stick_A((3-sqrt5)/2, pencircle xscaled darkwidth yscaled lightwidth rotated 30); % \Ac=16message "Kidney beans";standardwidth#:=.4pt#;darkwidth#:=.8pt#; lightwidth#:=.2pt#;define_blacker_pixels(standardwidth,darkwidth,lightwidth);b#:=100/36pt#;define_pixels(b);def bean(text pentype)=beginchar (incr(charcode),2b#,1.5b#,0);pickup pentype;z1=(0,b); z2=(b,b); z3=(2b,b);z4=(0,0); z5=(b,0); z6=(2b,0);draw z5..z4..z1..z3..z6..cycle;labels(1,2,3,4,5,6); endchar; enddef;charcode:=16; % the first bean will be number 17bean(pencircle scaled standardwidth); % \beana=17bean(pencircle scaled darkwidth); % \beanb=18bean(pencircle xscaled darkwidth yscaled lightwidth); % \beanc=19bean(pencircle xscaled darkwidth yscaled lightwidth rotated 30); % \beand=20message "Pen nibs";bigthickwidth#:=8pt#; littlethickwidth#:=2pt#;define_blacker_pixels(bigthickwidth,littlethickwidth);beginchar(21,bigthickwidth#,0,0); % \nibapickup pencircle xscaled bigthickwidth yscaled littlethickwidth;lft z1=(0,good.y 0);drawdot z1;labels(1); endchar;beginchar(22,bigthickwidth#,0,0); % \nibbpickup pencircle xscaled bigthickwidth yscaled littlethickwidth rotated 30;lft z1=(0,good.y 0);drawdot z1;labels(1); endchar;beginchar(23,littlethickwidth#,0,0); % \nibcpickup pencircle yscaled bigthickwidth xscaled littlethickwidth;lft z1=(0,good.y 0);drawdot z1;labels(1); endchar;message "Ionian letters";em#:=10pt#; cap#:=7pt#;thin#:=1/3pt#; thick#:=5/6pt#;slab#:=.8pt#;stem#:=.9pt#;o#:=1/5pt#;define_pixels(em,cap);define_blacker_pixels(thin,thick,slab,stem);define_corrected_pixels(o);curve_sidebar=round 1/18em;%vardef pentaper@#(expr lt,rt) = % dropped from PLAIN% x@#l:=lt[x@#l,x@#]; x@#r:=rt[x@#r,x@#];% y@#l:=lt[y@#l,y@#]; y@#r:=rt[y@#r,y@#] enddef;% ill-fated example wasn't attractive enough by itself:%bar:=slab;%beginchar(24,0.6em#,cap#,0); % "The letter T"; \IOT=24%penpos1(bar,70);%penpos2(bar,35);%penpos4(bar,35);%penpos5(bar,55);%x1=0; y1r=h; y2r=y4r=.2[y1r,y1]; y5l=.3[y1l,y1];%x2l=1/3[x1l,x5l]; x4l=2/3[x1l,x5l]; x5=w;%penpos6(stem,20); pentaper6(.1,0);%penpos3(x6r-x6l,0);%penpos7(stem,10);%y3=y2; x3=.5w;%x6r=x3r; y6=2/3h;%x7=x6; y7=0;%penstroke z1e{curl infinity}..z2e..z4e..{curl infinity}z5e;%penstroke z3e..z6e{down}..z7e;%labels.top(1r,2l,2,2r,4l,4,4r,6);%labels.lft(1,1l,6l);%labels.rt(5,5r,5l,6r);%labels.bot(3l,3,3r,7,7r,7l);%endchar;beginchar(25,5/9em#,cap#,0); % "The letter S"; /IOS=25penpos1(slab,70);penpos2(.5slab,80);penpos3(.5[slab,thick],200);penpos5(.5[slab,thick],210);penpos6(.7slab,80);penpos7(.25[slab,thick],72);x1=x5; y1r=.94h+o;x2=x4=x6=.5w; y2r=h+o; y4=.54h; y6l=-o;x3r=.04em; y3=.5[y4,y2];x5l=w-.03em; y5=.5[y4,y6];.5[x7l,x7]=.04em; y7l=.12h-o;path trial; trial=z3{down}..z4..{down}z5;pair dz; dz=direction 1 of trial;penpos4(thick,angle dz-90);penstroke z1e..z2e{left}..z3e{down}..z4e{dz}..z5e{down}..z6e{left}..z7e;labels.lft(2,3r,5r,6,7);labels.rt(1,3l,4,5l);labels.top(1r,2r,3,4l,5,6r,7r);labels.bot(1l,2l,4r,6l,7l);endchar;beginchar(26,0.8em#,cap#,0); % "The letter O"; \IOO=26 penpos1(thick,10); penpos2(.1[thin,thick],90-10); penpos3(thick,180+10); penpos4(thin,270-10); x1l=w-x3l=curve_sidebar; x2=x4=.5w; y1=.49h; y2l=-o; y3=.51h; y4l=h+o; penstroke z1e{down}..z2e{right}..z3e{up}..z4e{left}..cycle; penlabels(1,2,3,4); endchar;beginchar(27,.35em#,cap#,0); % "The letter I"; \IOI=27 penpos1(stem,15); penpos2(.9stem,12); penpos3(stem,10); x1=x2=x3=.5w; y1=h; y2=.55h; y3=0; x2l:=1/6[x2l,x2]; penstroke z1e..z2e{down}..z3e; penlabels(1,2,3); endchar;%ligtable 24: 24 kern .05em#, 26 kern -.05em#; % TT and TO are adjustedmessage "Cubes and such";s#:=5pt#; define_pixels(s); % side of the squarebeginchar(28,5/3s#,4/3s#,0); % "Possible cube"; \cubea=28z1=(-epsilon,-epsilon); z2=(s+epsilon,-epsilon); z3=(-epsilon,s+epsilon); z4=(s+epsilon,s+epsilon);for k=1 upto 4: z[k+4]=z[k]+(2/3s,1/3s); endforpickup pencircle scaled .4pt;draw z5--z6--z8--z7--cycle;pickup pencircle scaled 1.6pt;erase draw z2--z4--z3;pickup pencircle scaled .4pt;draw z1--z2--z4--z3--cycle;for k=1 upto 4: draw z[k]--z[k+4]; endforlabels.top(1,2,5,6);labels.bot(3,4,7,8);endchar;beginchar(29,5/3s#,4/3s#,0); % "Impossible cube"; \cubeb=29z1=(-epsilon,-epsilon); z2=(s+epsilon,-epsilon); z3=(-epsilon,s+epsilon); z4=(s+epsilon,s+epsilon);for k=1 upto 4: z[k+4]=z[k]+(2/3s,1/3s); endforpickup pencircle scaled .4pt;draw z3--z4; draw z5--z6;cullit; pickup pencircle scaled 1.6pt;undraw z7--1/2[z7,z5]; undraw z2--1/2[z2,z4];cullit; pickup pencircle scaled .4pt;draw z3--z1--z2--z4; draw z5--z7--z8--z6;for k=1 upto 4: draw z[k]--z[k+4]; endforlabels.top(1,2,5,6);labels.bot(3,4,7,8);endchar;beginchar(30,10pt#,7pt#,2pt#); % bicentennial starpair center; center=(.5w,2pt);numeric radius; radius=5pt;for k=0 upto 4: z[k]=center+(radius,0) rotated(90+360/5k); endfordef :: = ..tension 5.. enddef;path star; star=z0::z2::z4::z1::z3::cycle;pickup pencircle scaled .4pt; draw star;cullit; pickup pencircle scaled 1.6pt;for k=0 upto 4: undraw subpath(k+.55,k+.7) of star; endforcullit; pickup pencircle scaled .4pt;for k=0 upto 4: draw subpath(k+.47,k+.8) of star; endforlabels(0,1,2,3,4); endchar;beginchar(31,2/3*11pt#,.5*11pt#,0); % \oneu=31pickup pencircle scaled 3/4pt yscaled 1/3 rotated 30;save ww; ww=3/2w;save t; transform t;t=identity rotatedaround((.5ww,h),-90);x2=.35ww; x3=good.x .6ww;y2=good.y .2h; top y3=round .8h+eps;save p; path p; p=z2{right}...{up}z3;top z1=point .5 of p transformed t;draw (z1...p);labels(1,2,3); endchar;beginchar(38,11pt#,11pt#,0); % \fouru=38pickup pencircle scaled 3/4pt yscaled 1/3 rotated 30;save t; transform t;t=identity rotatedaround((.5w,.5h),-90);x2=.35w; x3=good.x .6w;y2=good.y .1h; top y3=round .4h+eps;save p; path p; p=z2{right}...{up}z3;top z1=point .5 of p transformed t;draw (z1...p);addto currentpicture also currentpicture transformed t;addto currentpicture also currentpicture transformed(t transformed t);labels.bot(1,3); labels.rt(2); endchar;beginchar(39,11pt#,11pt#,0); % \fourc=39pickup pencircle scaled 3/4pt yscaled 1/3 rotated 30;save t; transform t;t=identity rotatedaround((.5w,.5h),-90);x2=.35w; x3=good.x .6w;y2=good.y .1h; top y3=round .4h+eps;save p; path p; p=z2{right}...{up}z3;top z1=point .5 of p transformed t;draw (z1...p) rotatedaround((.5w,.5h),-45) withpen pencircle scaled 3/4pt yscaled 1/3 rotated-15;addto currentpicture also currentpicture transformed t;addto currentpicture also currentpicture transformed(t transformed t);labels.bot(1,3); labels.rt(2); endchar;message "Circle variations";beginchar(32,5pt#,5pt#,0); "Quarter circle"; % \circapickup pencircle scaled (.4pt+blacker);draw quartercircle scaled 10pt; endchar;beginchar(33,5pt#,5pt#,0); "Filled quarter circle"; % \circbfill ((0,0)--quartercircle--cycle) scaled 10pt; endchar;beginchar(34,5pt#,5pt#,0); "Rotated quarter circle"; % \circcpickup pencircle scaled (.4pt+blacker);draw quartercircle rotated 90 scaled 10pt shifted (5pt,0); endchar;beginchar(35,5pt#*sqrt2,5pt#,0); "Cone"; % \circdpickup pencircle scaled (.4pt+blacker);draw ((0,0)--quartercircle--cycle) rotated 45 scaled 10pt shifted (.5w,0); endchar;beginchar(36,10pt#,7.5pt#,2.5pt#); "Concentric circles"; % \circepickup pencircle scaled (.4pt+blacker);for D=.2w,.6w,w: draw fullcircle scaled D shifted (.5w,.5[-d,h]); endfor endchar;beginchar(37,10pt#,7.5pt#,2.5pt#); "Concentric diamonds"; % \circfpickup pencircle scaled (.4pt+blacker);for D=.2w,.6w,w: draw unitsquare shifted -(.5,.5) rotated 45 scaled (D/sqrt2) shifted (.5w,.5[-d,h]); endfor endchar;message "Miscellaneous symbols"; % mostly from the old manfntbeginchar(oct"171",15pt#,7.5pt#,2.5pt#); % arrow for errata listscurve#:=30/36pt#; dcurve#:=60/36pt#; bar#:=25/36pt#;define_whole_blacker_pixels(curve,dcurve,bar);penpos1(curve,90); penpos2(curve,90); penpos3(dcurve,90);penpos4(dcurve,90); penpos5(curve,90); penpos6(curve,90);y1r=vround(y1r-(y1-.5[-d,h])); y2=y5=y6=y1=y0; y4l=-d; y3r=h;x1=0; x2=.1w; x3=.2w; x4=.55w; x5=.65w;x2l:=x2l+.25curve; x5r:=x5r-.25curve;penstroke z1e--z2e--z3e--z4e--z5e; % crooked arrowpenpos13(bar,0); penpos14(bar,0); x0=w;y13-y0=y0-y14=.24h+eps; x13=x14=7/8w-eps;penpos15(.5bar,angle(z14-z0)); z15l=z0; penpos16(.5bar,angle(z13-z0)); z16l=z0;z19=.381966[.5[z13,z14],z0];numeric t; path p; p=z14l{z19-z14}..z16r;t=xpart(p intersectiontimes((0,y6l)--(w,y6l))); x6=xpart point t of p;filldraw z0..{z14-z19}z14r--subpath (0,t) of\\(z14l{z19-z14}..z16r) --z6l--z5l--z5r--z6r--subpath (t,0) of\\(z13l{z19-z13}..z15r) --z13r{z19-z13}..z0 & cycle; % arrowhead and linkpenlabels(range 1 thru 19); endchar;beginchar(oct"170", 5pt#, 6.25pt#, 0); "Triangle for exercises";x1=x2=w-x3=round .43pt; y3=.5+floor.5h;z1-z2=(z3-z2) rotated 60;y1:=.5sqrt3+round(y1-.5sqrt3); y2:=h-y1;fill z1--z2--z3--cycle;labels(1,2,3); endchar;beginchar("6",256/36pt#,250/36pt#,0); % upper triangle for Addison-Wesley logox1=round 5/36pt; x2=round .5w; x2-x1=x3-x2=(y2-y1)/(sqrt 3);y1=y3=0; fill z1--z2--z3--cycle; labels(1,2,3); endchar;beginchar("7",256/36pt#,250/36pt#,0); % lower triangle for Addison-Wesley logox1=round 5/36pt; x2=round .5w; x2-x1=x3-x2=(y1-y2)/(sqrt 3);y1=y3; y2=0; fill z1--z2--z3--cycle; labels(1,2,3); endchar;def font_setup=define_pixels(u,tiny,axis,hheight,border);define_blacker_pixels(hair,thin,thick,rulethickness);pickup if tiny<.5: nullpen else: pencircle scaled tiny fi;tinypen:=savepen;currenttransform:=identity yscaled aspect_ratio slanted slant;enddef;% typical cmr10 parametersu#:=20/36pt#;tiny#:=0;axis#:=90/36pt#;hheight#:=250/36pt#;border#:=20/36pt#;hair#:=8/36pt#;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -