 %% These are from tex.lproO /TeXDict 250 dict def   % define a working dictionary ( IBM: color - 200->250 ) ) TeXDict begin           % start using it.  /N {def} def /B {bind def} N  /S {exch} N  /X { S N } B /TR {translate} N 
 end % TeXDict   F %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%& %%     header for the \special commandF %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%F %   The structure of the PostScript produced by dvips for \special is: %         @beginspecial E %           - any number of @hsize, @hoffset, @hscale, etc., commands  %         @setspecial 4 %           - the user's file of PostScript commands %         @endspecial   
 TeXDict begin  /SDict 200 dict N  SDict begin    /@SpecialDefaults 
   { /hs 612 N 
     /vs 792 N      /ho 0 N      /vo 0 N      /hsc 1 N     /vsc 1 N     /ang 0 N
     /CLIP 0 N      /rwiSeen false N     /rhiSeen false N0     /letter {} N /note {} N /a4 {} N /legal {} N   } B    % I %   The following definition sets up the units that hscale/vscale are in. : %   For certain sites this might require change, but it is< %   recommended instead that any macro packages that require1 %   hscale/vscale set the units appropriately via  % " %   \special{! /@scaleunit 1 def } %  %   if global, or  % " %   \special{" /@scaleunit 1 def } % 8 %   before each instance if multiple macro packages with* %   different requirements are being used. %  /@scaleunit 100 N ( %       s @hscale  -    set scale factor" /@hscale {@scaleunit div /hsc X} B" /@vscale {@scaleunit div /vsc X} B  ? %       d @hsize   -    specify a horizontal clipping dimension  /@hsize {/hs X /CLIP 1 N} B  /@vsize {/vs X /CLIP 1 N} B    /@clip {/CLIP 2 N} B  6 %       d @hoffset -    specify a shift for the figure /@hoffset {/ho X} B  /@voffset {/vo X} B   * %       a @angle   -    set rotation angle /@angle {/ang X} B   % ; %   Here we handle bounding box calculations, if necessary.  % P /@rwi { 10 div /rwi X /rwiSeen true N } B % rwi will be real width after scalingQ /@rhi { 10 div /rhi X /rhiSeen true N } B % rhi will be real height after scaling  /@llx { /llx X } B /@lly { /lly X } B /@urx { /urx X } B /@ury { /ury X } B   /magscale true def   end % of SDict  
 /@MacSetUp*   { userdict /md known  % if md is definedK       { userdict /md get type /dicttype eq      % and if it is a dictionary  	{E         userdict begin                       % expand it if necessary +            md length 10 add md maxlength ge 5            {/md md dup length 20 add dict copy def}if          end @ 	md begin                             % then redefine some stuff
 	/letter {} N  	/note {} N  	/legal {} N 	/od{txpose 1 	    1 0 mtx defaultmatrix dtransform S atan/pa X  	    newpath clippath mark# 	    {transform{itransform moveto}} # 	    {transform{itransform lineto}}  	    { 6 -2 roll transform 	      6 -2 roll transform 	      6 -2 roll transform 	      { itransform 6 2 roll 		itransform 6 2 roll  		itransform 6 2 roll 	 		curveto  	      } 	    } 	    {{closepath}}8 	    pathforall newpath counttomark array astore /gc xdf 	    pop ct 39 0 put? 	    10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack}if  	}N 	 	/txpose{   	    pxs pys scale ppr aload pop
 	    por { 		noflips { # 		    pop S neg S TR pop 1 -1 scale  		}if  		xflip yflip and { * 		    pop S neg S TR 180 rotate 1 -1 scale/ 		    ppr 3 get ppr 1 get neg sub neg ppr 2 get  		    ppr 0 get neg sub neg TR 		}if  		xflip yflip not and { # 		    pop S neg S TR pop 180 rotate * 		    ppr 3 get ppr 1 get neg sub neg 0 TR 		}if  		yflip xflip not and { $ 		    ppr 1 get neg ppr 0 get neg TR 		}if  	    } 	    { 		noflips { & 		    TR pop pop 270 rotate 1 -1 scale 		}if  		xflip yflip and { % 		    TR pop pop 90 rotate 1 -1 scale / 		    ppr 3 get ppr 1 get neg sub neg ppr 2 get  		    ppr 0 get neg sub neg TR 		}if  		xflip yflip not and { $ 		    TR pop pop 90 rotate ppr 3 get  		    ppr 1 get neg sub neg 0 TR 		}if  		yflip xflip not and { % 		    TR pop pop 270 rotate ppr 2 get " 		    ppr 0 get neg sub neg 0 S TR 		}if  	    }ifelse 	    scaleby96 {= 		ppr aload pop 4 -1 roll add 2 div 3 1 roll add 2 div 2 copy ! 		TR .96 dup scale neg S neg S TR  	    }if 	}N # 	/cp {pop pop showpage pm restore}N          end 	       }if      } if   } N    % H %   The following procedure brings us back to PostScript size.  It takesB %   into account the current global dvi magnification, so graphics %   scale with the document. %  /normalscale {2     Resolution 72 div VResolution 72 div neg scale$     magscale { DVImag dup scale } if
     0 setgray  } N  %  %   We need the psfig macros.  % H % All software, documentation, and related files in this distribution of4 % psfig/tex are Copyright (c) 1987 Trevor J. Darrell % H % Permission is granted for use and non-profit distribution of psfig/texD % providing that this notice be clearly maintained, but the right toM % distribute any portion of psfig/tex for profit or as part of any commercial 2 % product is specifically reserved for the author. %  %  % psfigTeX PostScript Prologa % $Header: /usr/local/src/TeX/Dvips-5.0.2/RCS/special.lpro,v 1.1 90/03/10 20:32:57 grunwald Exp $  %  /psfts { S 65781.76 div N } N   0 %  x y bb-llx bb-lly bb-urx bb-ury startTexFig - /startTexFig { 	/psf$SavedState save N  	userdict maxlength dict begin   	/magscale true def  	normalscaleF         currentpoint TR    %set the current point as the user's origin   	/psf$ury psfts  	/psf$urx psfts  	/psf$lly psfts  	/psf$llx psfts 
 	/psf$y psfts 
 	/psf$x psfts   8 	/psf$sx psf$x psf$urx psf$llx sub div N	% scaling for x8 	/psf$sy psf$y psf$ury psf$lly sub div N	% scaling for y  ) 	psf$sx psf$sy scale			% scale by (sx,sy)    	psf$llx neg psf$ury neg TR    	/showpage { 	} N
 	/erasepage {  	} N 	/copypage { 	} NE         /p 3 def % necessary to get around a bug in Adobe Illustrator 
 	@MacSetUp } N   7 % llx lly urx ury doclip -	(args in figure coordinates) 	 /doclip { '         psf$llx psf$lly psf$urx psf$ury  	currentpoint 6 2 roll 	newpath 4 copy  	4 2 roll moveto 	6 -1 roll S lineto 	 	S lineto 	 	S lineto  	closepath clip  	newpath 	moveto  } N  % - endTexFig - + /endTexFig { end psf$SavedState restore } N   C % this will be invoked as the result of a \special command (for the E % inclusion of PostScript graphics).  The basic idea is to change all @ % scaling and graphics back to defaults, but to shift the origin& % to the current position on the page.  E /@beginspecial          % - @beginspecial -     -- enter special mode    { SDict begin      /SpecialSave save N 	     gsave      normalscale B     currentpoint TR    %set the current point as the user's originI     @SpecialDefaults    % setup default offsets, scales, sizes, and angle ,     count /ocount X /dcount countdictstack N   } N   O /@setspecial    % to setup user specified offsets, scales, sizes (for clipping)    { 
     CLIP 1 eq E       { newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs neg 0 rlineto          closepath clip }     if     ho vo TR     hsc vsc scale      ang rotate
     rwiSeen {         rwi urx llx sub div5        rhiSeen { rhi ury lly sub div } { dup } ifelse         scale llx neg lly neg TR      } { F        rhiSeen { rhi ury lly sub div dup scale llx neg lly neg TR } if     } ifelse
     CLIP 2 eq I     { newpath llx lly moveto urx lly lineto urx ury lineto llx ury lineto        closepath clip }     if     /showpage {} N     /erasepage {} N      /copypage {} N     newpath    } N   E /@endspecial            % - @endspecial -       -- leave special mode !   { count ocount sub {pop} repeat *     countdictstack dcount sub {end} repeat      grestore SpecialSave restore     end    } N  /@defspecial   {      SDict begin    } N  /@fedspecial   {      end    } B 7 end                     % revert to previous dictionary 