% two special symbols for angle sign used in Czech Math texts % are generated (kh 28.x.1993) non_acute_angle=0; acute_angle=1; font_coding_scheme:="TeX math symbols"; mode_setup; font_setup; autorounding:=0; font_slant slant; font_x_height x_height#; font_quad 18u# if not monospace:+4letter_fit# fi; % (The spacing is zero so that \TeX\ will always add the italic correction.) % (The calling file should give the other math symbol font parameters.) slant:=mono_charic#:=0; % the remaining characters will not be slanted currenttransform:=identity yscaled aspect_ratio scaled granularity; compute_spread(5/4x_height#,3/2x_height#); cmchar "Much less sign"; compute_spread(5/4x_height#,3/2x_height#); beginchar(oct"034",14u#,v_center(spread#+rule_thickness#)); adjust_fit(if monospace:-u#,-u# else: 0,0 fi); pickup rule.nib; lft x2=hround u-epsilon; x1=x3=hround 8.5u-x2; y1-y3=ceiling 1.1spread; y2=.5[y1,y3]=math_axis; z4-z1=z5-z2=z6-z3; x4=w-x2; y4=y1; x7=x8=x4; z7-z5=whatever*(z4-z2); z8-z5=whatever*(z6-z2); draw z4--z2--z6; % left diagonals draw z7--z5--z8; % right diagonals labels(1,2,3,4,5,6,7,8); endchar; cmchar "Much greater sign"; compute_spread(5/4x_height#,3/2x_height#); beginchar(oct"035",14u#,v_center(spread#+rule_thickness#)); adjust_fit(if monospace:-u#,-u# else: 0,0 fi); pickup rule.nib; lft x1=hround u-epsilon; x2=hround 8.5u-x1; x3=x1; y1-y3=ceiling 1.1spread; y2=.5[y1,y3]=math_axis; z4-z1=z5-z2=z6-z3; x4=w-x2; y4=y1; x7=x8=x1; z7-z2=whatever*(z1-z5); z8-z2=whatever*(z3-z5); draw z1--z5--z3; % left diagonals draw z7--z2--z8; % right diagonals labels(1,2,3,4,5,6,7,8); endchar; cmchar "Reflected proportionality sign"; beginchar(oct"057",16.5u#,x_height#,0); italcorr x_height#*slant-.5u#; % adjust_fit(0,-2.5u#); pickup fine.nib; adjust_fit(0,0u#); pickup fine.nib; numeric theta,phi; phi=angle(3u,h); theta=angle(5u,-h); pos1(vair,180); pos2(.5[vair,stem],90+.5theta); pos3(stem,90+theta); pos4(stem,90+theta); pos5(.5[vair,stem],90+.5theta); pos6(vair,180); pos7(.2[vair,stem],270+.5phi); pos8(.3[vair,stem],270+phi); pos9(.2[vair,stem],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; fi y1=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}; % `infinity' bowls erase fill (w-3.5u,h+o)--(w,h+o) --(w,-o)--(w-3.5u,-o)--cycle; % erase excess currentpicture:=currentpicture reflectedabout(.5w*right,.5w*right+up); penlabels(1,2,3,4,5,6,7,8,9); endchar; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% beginchar(non_acute_angle,12u#+1/2spread#,v_center(spread#+rule_thickness#)); italcorr h#*slant-u#; adjust_fit(0,0); pickup rule.nib; lft x12=1/2spread+hround-1u-eps; x11=x13=w+1/2spread-x12; y11-y13=spread; y12=.5[y11,y13]=math_axis; lft x6=hround 0u-eps; x2=x6+spread; bot y8-top y4=spread; y2=math_axis; circle_points; draw_circle; erase fill z13--z12--z11--cycle; draw z11--z12--z13; % diagonals labels(11,12,13); endchar; beginchar(acute_angle,12u#,v_center(spread#+rule_thickness#)); italcorr h#*slant-u#; adjust_fit(0,0); pickup fine.nib; pos1(vair,0); pos2(.75[hair,stem],0); pos3(vair,0); lft x1l=lft x3l=hround 5.5u; rt x2r=hround(x1+4u); top y1=h+1.5u; y2=.5[y1,y3]=math_axis; filldraw stroke z1e{3(x2e-x1e),y2-y1}...z2e ...{3(x3e-x2e),y3-y2}z3e; % arc pickup rule.nib; lft x12=hround-.5u; x11=x13=w-x12; y11-y13=spread; y12=.5[y11,y13]=math_axis; draw z11--z12--z13; % diagonals labels(1,2,3,11,12,13); endchar; bye.