home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 7 / FreshFishVol7.bin / bbs / text / pastex-1.3-2of8.lha / PasTeX / mf / inputs / ebigop.mf < prev    next >
Text File  |  1991-07-03  |  44KB  |  960 lines

  1. %% @metafontfile{
  2. %%     filename="ebigop.mf",
  3. %%     version="2.1",
  4. %%     date="30-MAY-1991",
  5. %%     filetype="Metafont: driver",
  6. %%     copyright="Copyright (C) American Mathematical Society,
  7. %%            all rights reserved.  Copying of this file is
  8. %%            authorized only if either:
  9. %%            (1) you make absolutely no changes to your copy
  10. %%                including name; OR
  11. %%            (2) if you do make changes, you first rename it to some
  12. %%                other name.",
  13. %%     author="American Mathematical Society",
  14. %%     address="American Mathematical Society,
  15. %%            Technical Support Group,
  16. %%            P. O. Box 6248,
  17. %%            Providence, RI 02940,
  18. %%            USA",
  19. %%     telephone="401-455-4080 or (in the USA) 800-321-4AMS",
  20. %%     email="Internet: Tech-Support@Math.AMS.com",
  21. %%     codetable="ISO/ASCII",
  22. %%     checksumtype="line count",
  23. %%     checksum="960",
  24. %%     keywords="amsfonts, tex, metafont , euler ",
  25. %%     abstract="This is the driver file for use with 
  26. %%            the euler extension font in AMSFonts 2.1."
  27. %%     }
  28. %
  29. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  30. % The Computer Modern Math-Extension family (by D. E. Knuth, 1979--1985)
  31. % Special version for characters redesigned to blend with Euler
  32.  
  33. % This is the driver file for EUEX fonts
  34. font_coding_scheme:="euler substitutions only";
  35. mode_setup; font_setup;
  36.  
  37. %def t_ = transformed currenttransform enddef; 
  38. transform skewit; skewit=identity;  % 5/24/91 NGB
  39.  
  40. def bulb(suffix $,$$,$$$) =
  41.  z$$$r=z$$r;
  42. %pair trueup; (z5+trueup)t_=z5+(0,y$$r-y$r);
  43. pair trueup; (z5+trueup) transformed skewit=z5+(0,y$$r-y$r); %5/24/91 NGB
  44.  path_.l:=z$l{x$$r-x$r,0}...{trueup}z$$l;
  45. {{less_tense;
  46.  filldraw path_.l--z$$r{-trueup}...{x$r-x$$r,0}z$r--cycle}}; % link
  47.  path_.r:=z$$$l{-trueup}..z$$$r{trueup}; % near-circle
  48.  filldraw subpath(0,xpart(path_.r intersectiontimes path_.l)) of path_.r
  49.   --z$$r{trueup}..cycle; % bulb
  50.  enddef;
  51.  
  52. % characters modified from BIGOP
  53. charlist oct"110": oct"111";  % contour integral signs
  54. charlist oct"122": oct"132";  % integral signs
  55. charlist oct"120": oct"130";  % summation signs
  56. charlist oct"121": oct"131";  % product signs
  57. charlist oct"140": oct"141";  % coproduct signs
  58.  
  59. % characters modified from BIGDEL (braces in different positions)
  60. charlist oct"010": oct"012": oct"014": oct"016": oct"070";  % left braces
  61. charlist oct"011": oct"013": oct"015": oct"017": oct"071";  % right braces
  62. extensible oct"070": oct"070",oct"074",oct"072",oct"076";  % left brace
  63. extensible oct"071": oct"071",oct"075",oct"073",oct"076";  % right brace
  64. extensible oct"072": oct"070",0,oct"072",oct"076";  % sharp left parenthesis
  65. extensible oct"073": oct"071",0,oct"073",oct"076";  % sharp right parenthesis
  66. extensible oct"076": 0,0,0,oct"076";  % brace extension modules only
  67. extensible oct"100": oct"070",0,oct"073",oct"076";  % left moustache
  68. extensible oct"101": oct"071",0,oct"072",oct"076";  % right moustache
  69. % the horizontal braces are included too
  70. heavy_rule_thickness:=bold+dw; % this is the main change: big braces not so dark
  71. heavy_rule_thickness#:=curve#+(curve#-stem#);
  72.  
  73. % arrows (taken from SYMBOL, SYM, and ROMSS, with longer and thicker arrowheads)
  74. bar:=rule_thickness;  % this makes the arrowheads thicker
  75. % the half arrows from ROMSS are moved to different font positions
  76. % infinity (taken from SYMBOL, made heavier)
  77.  
  78. cmchar "\textstyle integral sign";
  79. beginchar(oct"122",12u#,0,100/54dh#);
  80. italcorr 0.5u#; % \TeX\ kerning between upper limit and lower limit
  81. adjust_fit(-1u#,-1u#-ic#); pickup fine.nib;
  82. pos1(dot_size,0); pos2(.75[hair,stem],0); pos3(vair,90); pos4(stem,180);
  83. pos5(.4[stem,curve],180); pos5'(.4[stem,curve],0); z5'=z5; pos6(stem,0);
  84. pos7(vair,-90); pos8(.75[hair,stem],-180); pos9(dot_size,-180);
  85. rt x1r=hround(w-u); x9=w-x1; x7=w-x3=3u;
  86. x5=.5[x4,x6]; x4-x6=1.2u; lft x5r=hround(.5w-.5stem);
  87. top y3r=0; bot y7r=-d; y9-.5(.4[stem,curve])=vround(top y7l+.25(.4[stem,curve]));
  88. y3-y1=y9-y7; y5=.5[y3,y7]=.5[y4,y6]; y4-y6=.6(y3-y7);
  89. transform skewit;
  90.  z5 transformed skewit=z5; (z5+right) transformed skewit = z5+right;
  91.  z3 transformed skewit=z3-u*right;
  92. %% code changed for Version 2.1 to allow for odd aspect ratio. 5/24/91 NGB
  93. %skewit:=skewit transformed currenttransform;
  94. %save currenttransform; transform currenttransform; currenttransform:=skewit;
  95. transform newskew; newskew:=skewit transformed currenttransform;
  96. save currenttransform; transform currenttransform; currenttransform:=newskew;
  97. %%%%%%%end of change
  98. bulb(3,2,1); bulb(7,8,9);  % bulbs
  99. filldraw stroke z3e{left}...z4e{(z5e-z4e)xscaled 1.1}
  100.  ..tension atleast 1 and atleast .8..{z5-z4}z5e;  % upper stem
  101. filldraw stroke z5'e{z6-z5}..tension atleast.8 and atleast 1
  102.  ..{(z6e-z5'e)xscaled 1.1}z6e...{left}z7e;  % lower stem
  103. penlabels(1,2,3,4,5,6,7,8,9); endchar;
  104.  
  105. cmchar "\displaystyle integral sign";
  106. beginchar(oct"132",18u#,0,200/54dh#);
  107. italcorr 2u#; % \TeX\ kerning between upper limit and lower limit
  108. adjust_fit(-4u#,-4u#-ic#); pickup fine.nib;
  109. numeric bulb_size, max_size;
  110. bulb_size=hround(.8[stem,curve]); max_size=hround(bold+.2dw);
  111. pos1(bulb_size,0); pos2(.75[hair,stem],0); pos3(vair,90); pos4(.4[stem,curve],180);
  112. pos5(max_size,180); pos5'(max_size,0); z5'=z5; pos6(.4[stem,curve],0);
  113. pos7(vair,-90); pos8(.75[hair,stem],-180); pos9(bulb_size,-180);
  114. rt x1r=hround(w-u); x9=w-x1; x7=w-x3=3u;
  115. x5=.5[x4,x6]; x4-x6=4.8u; lft x5r=hround(.5w-.5stem);
  116. top y3r=0; bot y7r=-d;
  117. y9-.5bulb_size=vround(top y7l+.25bulb_size); y3-y1=y9-y7;
  118. y5=.5[y3,y7]=.5[y4,y6]; y4-y6=.6(y3-y7);
  119. transform skewit;
  120.  z5 transformed skewit=z5; (z5+right) transformed skewit = z5+right;
  121.  z3 transformed skewit=z3-4u*right;
  122. %% code changed for Version 2.1 to allow for odd aspect ratio. 5/24/91 NGB
  123. %skewit:=skewit transformed currenttransform;
  124. %save currenttransform; transform currenttransform; currenttransform:=skewit;
  125. transform newskew; newskew:=skewit transformed currenttransform;
  126. save currenttransform; transform currenttransform; currenttransform:=newskew;
  127. %%%%%%%end of change
  128. bulb(3,2,1); bulb(7,8,9);  % bulbs
  129. filldraw stroke z3e{left}...z4e{(z5e-z4e)xscaled 1.1}
  130.  ..tension atleast 1 and atleast .8..{z5-z4}z5e;  % upper stem
  131. filldraw stroke z5'e{z6-z5}..tension atleast.8 and atleast 1
  132.  ..{(z6e-z5'e)xscaled 1.1}z6e...{left}z7e;  % lower stem
  133. penlabels(1,2,3,4,5,6,7,8,9); endchar;
  134.  
  135. cmchar "\textstyle contour integral sign";
  136. beginchar(oct"110",12u#,0,100/54dh#);
  137. italcorr 0.5u#; % \TeX\ kerning between upper limit and lower limit
  138. adjust_fit(-u#,-u#-ic#); pickup fine.nib;
  139. begingroup
  140. pos1(dot_size,0); pos2(.75[hair,stem],0); pos3(vair,90); pos4(stem,180);
  141. pos5(.4[stem,curve],180); pos5'(.4[stem,curve],0); z5'=z5; pos6(stem,0);
  142. pos7(vair,-90); pos8(.75[hair,stem],-180); pos9(dot_size,-180);
  143. rt x1r=hround(w-u); x9=w-x1; x7=w-x3=3u;
  144. x5=.5[x4,x6]; x4-x6=1.2u; lft x5r=hround(.5w-.5stem);
  145. top y3r=0; bot y7r=-d; y9-.5(.4[stem,curve])=vround(top y7l+.25(.4[stem,curve]));
  146. y3-y1=y9-y7; y5=.5[y3,y7]=.5[y4,y6]; y4-y6=.6(y3-y7);
  147. transform skewit;
  148.  z5 transformed skewit=z5; (z5+right) transformed skewit = z5+right;
  149.  z3 transformed skewit=z3-u*right;
  150. %% code changed for Version 2.1 to allow for odd aspect ratio. 5/24/91 NGB
  151. %skewit:=skewit transformed currenttransform;
  152. %save currenttransform; transform currenttransform; currenttransform:=skewit;
  153. transform newskew; newskew:=skewit transformed currenttransform;
  154. save currenttransform; transform currenttransform; currenttransform:=newskew;
  155. %%%%%%%end of change
  156. bulb(3,2,1); bulb(7,8,9);  % bulbs
  157. filldraw stroke z3e{left}...z4e{(z5e-z4e)xscaled 1.1}
  158.  ..tension atleast 1 and atleast .8..{z5-z4}z5e;  % upper stem
  159. filldraw stroke z5'e{z6-z5}..tension atleast.8 and atleast 1
  160.  ..{(z6e-z5'e)xscaled 1.1}z6e...{left}z7e;  % lower stem
  161. endgroup;
  162. pickup rule.nib; autorounded;
  163. draw fullcircle scaled .5w shifted z5;  % contour
  164. penlabels(1,2,3,4,5,6,7,8,9); endchar;
  165.  
  166. cmchar "\displaystyle contour integral sign";
  167. beginchar(oct"111",18u#,0,200/54dh#);
  168. italcorr 2u#; % \TeX\ kerning between upper limit and lower limit
  169. adjust_fit(-4u#,-4u#-ic#); pickup fine.nib;
  170. begingroup
  171. numeric bulb_size, max_size;
  172. bulb_size=hround(.8[stem,curve]); max_size=hround(bold+.2dw);
  173. pos1(bulb_size,0); pos2(.75[hair,stem],0);