1 %!PS-Adobe-3.0 EPSF-3.0
2 %%BoundingBox: 15 702 300 767
3 %%Title: cons-cell-diagram2a
4 %%CreationDate: Tue Mar 14 15:09:30 1995
5 %%Creator: Tgif-2.16-p4 by William Chia-Wei Cheng (william@cs.UCLA.edu)
7 % Copyright (C) 1995, 1997, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
8 % 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
10 % This file is part of GNU Emacs.
12 % GNU Emacs is free software: you can redistribute it and/or modify
13 % it under the terms of the GNU General Public License as published by
14 % the Free Software Foundation, either version 3 of the License, or
15 % (at your option) any later version.
17 % GNU Emacs is distributed in the hope that it will be useful,
18 % but WITHOUT ANY WARRANTY; without even the implied warranty of
19 % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 % GNU General Public License for more details.
22 % You should have received a copy of the GNU General Public License
23 % along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
25 /tgifdict 132 dict def
29 % Using a zero value radius for an ellipse or an arc would result
30 % in a non-invertible CTM matrix which causes problem when this
31 % when this PostScript is wrapped inside other routines, such as
32 % the multi.ps package from
33 % ftp.ucc.su.oz.au:/pub/ps_printing/multi. You can overcome such
34 % error by uncommenting the sole line of the procedure below:
38 % dup 0.01 lt { pop 0.01 } if
41 /tgifellipsedict 6 dict def
42 tgifellipsedict /mtrx matrix put
45 { tgifellipsedict begin
50 /savematrix mtrx currentmatrix def
58 /tgifarrowtipdict 8 dict def
59 tgifarrowtipdict /mtrx matrix put
62 { tgifarrowtipdict begin
69 /savematrix mtrx currentmatrix def
79 /tgifarcdict 8 dict def
80 tgifarcdict /mtrx matrix put
90 /savematrix mtrx currentmatrix def
93 0 0 1 startangle endangle arc
106 /savematrix mtrx currentmatrix def
109 0 0 1 startangle endangle arcn
114 /tgifsetuserscreendict 22 dict def
115 tgifsetuserscreendict begin
118 /tempscale matrix def
121 { /proc2 exch cvlit def
122 /proc1 exch cvlit def
123 /newproc proc1 length proc2 length add array def
124 newproc 0 proc1 putinterval
125 newproc proc1 length proc2 putinterval
128 /resmatrix matrix def
130 { 72 0 resmatrix defaultmatrix dtransform
131 /yres exch def /xres exch def
132 xres dup mul yres dup mul add sqrt
137 { tgifsetuserscreendict begin
138 /spotfunction exch def
139 /screenangle exch def
142 /m tempctm currentmatrix def
143 /rm screenangle temprot rotate def
144 /sm cellsize dup tempscale scale def
146 sm rm m m concatmatrix m concatmatrix pop
148 1 0 m dtransform /y1 exch def /x1 exch def
150 /veclength x1 dup mul y1 dup mul add sqrt def
151 /frequency findresolution veclength div def
153 /newscreenangle y1 x1 atan def
155 m 2 get m 1 get mul m 0 get m 3 get mul sub 0 gt
157 {{neg} /spotfunction load concatprocs
158 /spotfunction exch def
161 frequency newscreenangle /spotfunction load setscreen
165 /tgifsetpatterndict 18 dict def
166 tgifsetpatterndict begin
168 { /ybit exch def /xbit exch def
169 /bytevalue bstring ybit bwidth mul xbit 8 idiv add get def
171 /mask 1 7 xbit 8 mod sub bitshift def
172 bytevalue mask and 0 ne
176 /tgifbitpatternspotfunction
177 { tgifsetpatterndict begin
178 /y exch def /x exch def
180 /xindex x 1 add 2 div bpside mul cvi def
181 /yindex y 1 add 2 div bpside mul cvi def
183 xindex yindex bitison
184 { /onbits onbits 1 add def 1 }
185 { /offbits offbits 1 add def 0 }
191 { tgifsetpatterndict begin
198 /onbits 0 def /offbits 0 def
199 cellsz angle /tgifbitpatternspotfunction load tgifsetuserscreen
201 offbits offbits onbits add div setgray
205 /tgifxpmdict 4 dict def
206 /tgifbwpicstr 1 string def
207 /tgifcolorpicstr 3 string def
209 /tgifsetpixels { tgifxpmdict begin /pixels exch def end } def
211 /tgifsetpix { tgifxpmdict begin pixels 3 1 roll putinterval end } def
217 pixels index 3 mul 3 getinterval aload pop
218 255 mul .114 mul exch 255 mul .587 mul add exch 255 mul .299 mul add
227 pixels index 3 mul 3 getinterval aload pop
228 255 mul cvi tgifcolorpicstr 2 3 -1 roll put
229 255 mul cvi tgifcolorpicstr 1 3 -1 roll put
230 255 mul cvi tgifcolorpicstr 0 3 -1 roll put
238 pixels index 3 mul 3 getinterval aload pop setrgbcolor
242 /tgifcolordict 4 dict def
247 { tgifcolordict begin
256 tgifbwpicstr readhexstring pop 0 get tgifnewcolorspot
257 x y moveto 1 0 rlineto 0 1 rlineto -1 0 rlineto
268 /tgifpatdict 10 dict def
271 { currentdict /retstr get exch
272 pat i cellsz mod get put
276 { 0 1 widthlim {tgifpatbyte} for retstr
289 /widthlim w cellsz div cvi 1 sub def
290 /retstr widthlim 1 add string def
294 w h true [1 0 0 1 0 0] {tgifpatproc} imagemask
295 ltx neg lty neg translate
299 /pat1 <ffffffffffffffff> def
300 /pat2 <0000000000000000> def
301 /pat3 <8000000008000000> def
302 /pat4 <8800000022000000> def
303 /pat5 <8800220088002200> def
304 /pat6 <8822882288228822> def
305 /pat7 <aa55aa55aa55aa55> def
306 /pat8 <77dd77dd77dd77dd> def
307 /pat9 <77ffddff77ffddff> def
308 /pat10 <77ffffff77ffffff> def
309 /pat11 <7fffffff7fffffff> def
310 /pat12 <8040200002040800> def
311 /pat13 <40a00000040a0000> def
312 /pat14 <ff888888ff888888> def
313 /pat15 <ff808080ff080808> def
314 /pat16 <f87422478f172271> def
315 /pat17 <038448300c020101> def
316 /pat18 <081c22c180010204> def
317 /pat19 <8080413e080814e3> def
318 /pat20 <8040201008040201> def
319 /pat21 <8844221188442211> def
320 /pat22 <77bbddee77bbddee> def
321 /pat23 <c1e070381c0e0783> def
322 /pat24 <7fbfdfeff7fbfdfe> def
323 /pat25 <3e1f8fc7e3f1f87c> def
324 /pat26 <0102040810204080> def
325 /pat27 <1122448811224488> def
326 /pat28 <eeddbb77eeddbb77> def
327 /pat29 <83070e1c3870e0c1> def
328 /pat30 <fefdfbf7efdfbf7f> def
329 /pat31 <7cf8f1e3c78f1f3e> def
331 /tgifcentertext { dup stringwidth pop 2 div neg 0 rmoveto } def
333 /tgifrighttext { dup stringwidth pop neg 0 rmoveto } def
335 /tgifreencsmalldict 12 dict def
337 { tgifreencsmalldict begin
338 /newcodesandnames exch def
339 /newfontname exch def
340 /basefontname exch def
342 /basefontdict basefontname findfont def
343 /newfont basefontdict maxlength dict def
348 { exch dup length array copy newfont 3 1 roll put }
349 { exch newfont 3 1 roll put }
357 newfont /FontName newfontname put
358 newcodesandnames aload pop
360 newcodesandnames length 2 idiv
361 { newfont /Encoding get 3 1 roll put}
364 newfontname newfont definefont pop
368 /tgifgray { 8 1 0 72 300 32 div div tgifsetpattern } bind def
370 /tgifboxdict 6 dict def
373 /pat def /w def /y2 exch def /x2 exch def /y1 exch def /x1 exch def
375 w 1 eq { w setlinewidth } if
376 pat pat1 ne pat pat2 ne and { gsave pat tgifgray } if
377 newpath x1 y1 moveto x2 y1 lineto x2 y2 lineto x1 y2 lineto closepath
378 pat pat2 eq { 1 setgray stroke 0 setgray } { stroke } ifelse
379 pat pat1 ne pat pat2 ne and { grestore } if
380 w 1 eq { 1 setlinewidth } if
386 /pat def /y2 exch def /x2 exch def /y1 exch def /x1 exch def
387 pat pat1 ne pat pat2 ne and { gsave pat tgifgray } if
388 newpath x1 y1 moveto x2 y1 lineto x2 y2 lineto x1 y2 lineto closepath
389 pat pat2 eq { 1 setgray fill 0 setgray } { fill } ifelse
390 pat pat1 ne pat pat2 ne and { grestore } if
396 %%PageBoundingBox: 15 702 300 767
398 /tgifsavedpage save def
405 72 0 mul 72 11.00 mul translate
406 72 128 div 100 mul 100 div dup neg scale
412 /Courier findfont [17 0 0 -17 0 0] makefont setfont
414 32 62 moveto (bouquet) show
422 0 49 atan dup cos 8 mul 113 exch sub
423 exch sin 8 mul 120 exch sub lineto
428 113 120 8 3 49 0 tgifarrowtip
434 /Courier findfont [17 0 0 -17 0 0] makefont setfont
436 128 110 moveto (car) show
441 /Courier findfont [17 0 0 -17 0 0] makefont setfont
443 128 142 moveto (rose) show
448 /Courier findfont [17 0 0 -17 0 0] makefont setfont
450 192 110 moveto (cdr) show
455 newpath 207 124 4 4 tgifellipse stroke
462 0 38 atan dup cos 8 mul 255 exch sub
463 exch sin 8 mul 123 exch sub lineto
468 255 123 8 3 38 0 tgifarrowtip
474 /Courier findfont [17 0 0 -17 0 0] makefont setfont
476 268 111 moveto (car) show
481 /Courier findfont [17 0 0 -17 0 0] makefont setfont
483 264 143 moveto (violet) show
488 /Courier findfont [17 0 0 -17 0 0] makefont setfont
490 332 111 moveto (cdr) show
495 newpath 347 125 4 4 tgifellipse stroke
502 0 38 atan dup cos 8 mul 395 exch sub
503 exch sin 8 mul 124 exch sub lineto
508 395 124 8 3 38 0 tgifarrowtip
514 /Courier findfont [17 0 0 -17 0 0] makefont setfont
516 408 112 moveto (car) show
521 /Courier findfont [17 0 0 -17 0 0] makefont setfont
523 408 136 moveto (butter-) show
524 408 153 moveto (cup) show
529 /Courier findfont [17 0 0 -17 0 0] makefont setfont
531 496 113 moveto (cdr) show
536 /Courier findfont [17 0 0 -17 0 0] makefont setfont
538 495 137 moveto (nil) show
569 120 86 moveto 234 86 lineto 234 157 lineto 120 157 lineto
578 257 85 moveto 371 85 lineto 371 157 lineto 257 157 lineto
587 397 84 moveto 531 84 lineto 531 157 lineto 397 157 lineto
593 tgifsavedpage restore
595 %MatchingCreationDate: Tue Mar 14 15:09:30 1995